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