XEROX PROOFREADER 2 4 1 Proofreader 1 4 By: Maxwell (Maxwell.pa) Use in conjunction with Analyzer, SpellingArray INTRODUCTION The Proofreader interactively looks for and corrects spelling errors in a given TEdit document. To use it, go to the TEdit menu and invoke the menu item labeled "Proofread". This will simultaneously attach a special menu to the side of the document and start proofreading from whereever the caret is. If an error is found, it is highlighted with a pending delete selection. At this point, you can either type the correct word in, ask for a menu of possible corrections (with the menu item labeled "Correct" on the attached menu), insert the word in the Proofreader's dictionary (with the menu item labeld "Insert"), or skip to the next misspelled word (with the menu item labeled "Proofread"). The cycle can then be repeated by invoking the "Proofread" menu item until you reach the end of the document. It at any point you close the attached menu, you can get a new one from the TEdit menu. PROOFREADER SUB-COMMANDS Under the TEdit Proofread menu item there are a number of sub-commands that the user can invoke. They are: SetProofreader Gives the user a menu of proofreaders to use for proofreading. If there is only one proofreader, this is a no-op. StoreWordList Allows the user to store the words added to the proofreader with "Insert" onto a remote file. The words from an existing version of the remote file will be read in first and then a new file will be generated consisting of the old file plus the new words. After the file is written, the list of newly inserted words is set to NIL. LoadWordList The inverse of StoreWordList. If you have a file that you want to load every time you use the proofreader, you can add it to Proofreader.AutoLoad, and it will be loaded when the proofreader is first opened. Proofreader.AutoLoad can be either a file or a list of files. AutoCorrect Sets the variable Proofreader.AutoCorrect so that the proofreader will automatically generate a list of corrections whenever it finds a misspelled word. ManualCorrect Sets the variable Proofreader.AutoCorrect so that the proofreader will not generate a list of corrections unless the user asks for it. PROOFREADER VARIABLES There are a couple of variables that the user can set in his init file to change how the proofreader works. They are: Proofreader.AutoLoad [Variable] A file or list of files to be loaded into the proofreader every time that the proofreader is initialized. Proofreader.AutoCorrect [Variable] A boolean that determines whether or not a list of corrections is automatically generated whenever the proofreader finds a misspelled word. NOTES f The proofreader uses a heuristic to determine whether or not a word is in its word list that will occasionally will produce false positives. This is most noticeable when the proofreader is generating corrections for a misspelled words. I don't know of any way to eliminate this problem except to use a different algorithm, the fastest of which is at least twice as slow. Hopefully people will find it more of a nuisance than a real problem. f There is no way to remove words once they have been inserted into the local dictionary. The only way to get rid of a bad word is to reload the dictionary. This can be done by reloading the SpellingArray file. If a bad word gets into one of the remote files, you can edit the file to get rid of it. (LIST ((PAGE NIL (FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(1 (8( (8D PAGEHEADING RUNNINGHEADMODERN TERMINAL  HELVETICA MODERN MODERN MODERN MODERNLOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN 1 ksL  b?* p^v j / cz