
                             Redaktu.ps

This program is intended as an aid to the enhancement of Pro Page.  Its main
purpose is to allow Pro Page users to output characters for which there does
not exist any PostScript font or matrix file.  This is done by editing the
PostScript output file itself.  This program is itself written in PostScript
and therefor requires an interpreter program.  The author uses PixelScript
for this purpose.  PixelScript has a few minor bugs,  but Redaktu.ps has
been written to work around these.

At present this program is fully configured for use in producing diacritical
marks used in the international language Esperanto.  The necessary operators
for these marks are contained in three arrays...fadenArray, psArray and
txtArray.

Three empty arrays are also provided for any such operators as you may
choose to write.  Their names are...prologArray, postPrologArray, and
otherArray.  Comments in the PostScript code of Redaktu.ps will explain
what to put in each of these arrays.  Refer to comments at the bottom of
file for further guidance.


                          FOLLOW THESE STEPS

             TO PRODUCE ESPERANTO DIACRITICALS IN PRO PAGE.


1.  WORD PROCESSING STEPS

    a. Before calling up Pro Page,  edit your import file.  The missing
       characters should be substituted as follows.  The import file must
       be in plain ASCII.  No specific word processor file formats are
       supported in Redaktu.ps.

                      type   Q   for   C^

                             q   for   c^

                             W   for   U^

                             w   for   u^

                             Y   for   J^

                             y   for   j^

                             X   for   S^

                             x   for   s^

                             {   for   G^

                             [   for   g^

                             }   for   H^

                             ]   for   h^

       Notes:

       This substitution set was selected for rapid touch typing.  There is
         no other logic to it.  But this is the set which matches the
         entries found in the array txtArray.  Change them if you wish.

       But as an aid to those who prefer rapid touch typing,  I have
         included two bit map fonts,  Esperanta 17 and Angla 17.  Pull them
         out of the FONTS: directory of this disk.


    b. Save this as a simple ASCII file.  Make sure that it has a .txt
       suffix.  Otherwise Redaktu.ps won't recognize it.


       Note:
       Editing will go much faster if you put your file in the RAM DISK
         or ASDG-RAM disk.  Many files exceed PixelScript's string size
         limit, so Redaktu.ps reads line by line.  Heavy disk gronking
         will result from files being edited while on the disk.


    c. Get PixelScript running.  Type the name of your file in the command
       window.  Hit the return key.


    d. Using the mouse.  Select the select file gaget and find the program
       Redaktu.ps.  Select OK.


    e. When PixelScript says, "All done", note the name of your output file.
       This is the file which you will import into Pro Page.



2.  PRO PAGE STEPS

    a. Import your file (with the ".fmtd" suffix) into Pro Page.

       Note:
       Observe that some of the letters are elevated above the baseline.
         This is intentional,  do not try to fix it.  Redaktu.ps will fix it
         later.

    b. Save your Pro Page document using the OUTPUT menu,  selecting
       POSTSCRIPT from the sub menu.

    c. Enter RAM DISK (or preferably ASDG-RAM) as the output location.

    d. Enter a file name containing the suffix ".ps" and select OK.

       Note:
       Do not download fonts.  The superscript operators included in
         Redaktu.ps are sized for the Times-Roman font.  You will have to
         write your own for best results with another font.


3.  FINAL STEPS

    a. Get PixelScript going again.  Enter your PostScript file name in the
       command window and hit return.

    b. Using the select file gaget and file requester,  select Redaktu.ps
       and then select OK.

    c. Note the name of your output file.  It will have a ".Eo-ps" suffix.

    d. That is all.  You may either run your resulting .Eo-ps file with
       PixelScript immediately,  or transfer the file to the hard disk
       for use later.

       Note:
       As a quick check,  try running your new .Eo-ps file with PixelScript
          configured for the DPS screen file display program which is
          included with PixelScript.


That is all you need to know to make it work for Esperanto diacriticals.  To
modify it according to your specific needs,  read the following.


THEORY OF OPERATION

1.  The first part causes Pro Page to elevate certain substitution letters
    above the baseline.  This elevation serves as a marker for later steps
    which replace the elevated character.

2.  When these elevated letters are handled in the PostScript output they
    create a uniquely identifiable sequence of lines in the code beginning
    with  " -1.041 mvy "  followed by a second line containing a single-
    character string and the "show" operator,  followed by a third line
    showing "0.000 mvy".

3.  Redaktu.ps looks for this sequence.  Deletes the first and third lines
    containing the "mvy" operator.  This does away with the baseline
    elevation.  It then replaces part of the middle line,  adding in the
    appropriate custom PostScript operator from an array.

4.  Redaktu.ps also makes insertions into the prolog of the PostScript file
    so as to provide needed operators for the substitutions and insertions
    described in step three.


COMMENTS

If your need is for characters other than those provided,  you may learn how
to create them with any of the following books on PostScript.


  PostScript Language Tutorial and Cookbook,  Addison Wesley Pub. Co.
  PostScript Language Reference Manual,  Addison Wesley Pub. Co.
  PostScript Language Program Design,  Addison Wesley Pub Co.
  Thinking in PostScript,  Addison Wesley Pub Co.
  Understanding PostScript Programming,  Sybex
  Graphic Design with PostScript,  Scott, Forseman and Co.
  PostScript - A Visual Approach,  Peachpit Press


Although Redaktu.ps comes set up for character substitution,  there is no
reason whatsoever why you could not choose to modify it for some other type
of substitution or insertion.  You might,  for instance,  elect to use
Redaktu.ps to do automatic logo insertions,  or any other such operation
you may wish.


BUGS

PixelScript has a few trivial bugs.  You will notice,  after you have
edited your text file for Pro Page insertion,  that the edited file will
have strings of reverse @ symbols.  These are not ASCII characters.  I don't
know what they are.  But they do not affect Pro Page in any way.  When Pro
Page imports an ASCII file,  these characters are invisible to it.  They do
not show up in the imported text on the page,  and they do not show up in
the PostScript output either.  So just ignore them.  But for your
information this is how they are caused to appear...

  If a string is read from a file and modified before being written to the
  second file,  then the string written after it will put a string of the
  reverse @ symbols at its head which is proportional in length to the
  amount of modifying done to the string before it.

It only affects the editing of .txt files,  not .ps files.  This is because
Redaktu.ps edits PostScript files by deleting and substituting whole strings
and not by breaking up and re-assembling strings as it does with text files.
When editing PostScript files for inserted characters,  Redaktu.ps knows
that a mvy operator will preceed it.  Thus it can predict the comming
characters and be ready.  When editing .txt files,  Redaktu.ps has no such
warning and must be ready for anything.  Thus it must break up and
re-assemble the strings.  So it was not possible to get rid of these reverse
@'s from the process.

PixelScript also has a problem with its implementation of the PostScript
search operator.  That is it will return a false instead of a true when
seek is the terminal substring of string.  I have worked around this.  But
you need to be aware of it when you modify.

PixelScript has one other problem with its writestring operator.  It will
sometimes truncate a string which it is supposed to write.  This only
happens with strings over a certain length.  I have broken up strings which
are very long.  This is the purpose of fadenArray.  It is an array of
substrings which I would have rather sent as a single string.  You should
follow this example if you modify your copy of Redaktu.ps.


LIST OF FILES PROVIDED

      1.  ReadMe.txt   The file you are now reading.

      2.  ASCII.txt    A sample ASCII file,  without the suggested
          alphabetical substitutions,  such as you might wish to import into
          Pro Page.

      3.  ASCII.fmtd   The result of editing the above ASCII.txt file with
          Redaktu.ps.  This is what you would really import into Pro Page.
          Note the strange reverse @ symbols;  this is a PixelScript bug
          But it doesn't bother Pro Page in the least.  Refer to the text
          above which appears under the heading BUGS below.

      4.  PostScript.ps   This is what you get after importing ASCII.fmtd
          to Pro Page and saving the document as a PostScript file.  This
          is the file which you would pass through Redaktu.ps for the
          final result.

      5.  PostScript.Eo-ps   This is what you get when you edit the above
          file mentioned above through Redaktu.ps.  This is the file which
          you would run on PixelScript to get your final output.

      6.  Redaktu.ps   This is the editing program.  It is written all in
          PostScript and must be run on PixelScript.  It will probably work
          on any PostScript interpreter program,  but I haven't tried it.

      7.  FinalResult   This is the result of running the above file on
          the PixelScript interpreter which is set for a screen file.  Just
          double click on it to view a screen representation of the final
          result.  Bear in mind that the 72 dpi screen file in no way shows
          the smoothness you would bet by running PixelScript configured
          or output to a 300 dpi printer.  I use the OKI Laser 800 type LED
          page printer.  Results with it are excellent.

      8.  Alphabet   This is a screen print file of a PostScript program
          which shows the effects of scaling the Times-Roman font to
          different sizes.  This is a demo to show that Redaktu.ps does
          indeed handle font sizing for you in printing the diacritical
          marks.

      9.  ProPageFile  This is what it says.  It is the Pro Page file made
          by importing ASCII.fmtd into Pro Page and then saved in Pro Page
          format.  This is only for show.  Pro Page document files are not
          a part of the Redaktu.ps editing process.



RESTRICTIONS AND CONDITIONS

There aren't any.

This program is released into the public domain.  But I would like to ask,
should anyone make improvements upon it,  that I be sent a copy.  My
address is:


                       John Wesley Starling
                       224 Rose Place
                       Kalamazoo MI 49001-2617
                       USA