APPLICATION NOTE #199 FOREIGN LANGUAGE SUPPORT Note: This application note refers to the accented characters o slash and O slash. Since the character set we are using to present this information does not include the O slash characters, we have had to substitute descriptive text where only the character should appear. Several of the features of XyWrite III Plus (version 3.53 or later) can be very helpful if you are producing documents in a foreign language; particularly if you are using a non-standard character set. This application note describes the procedures for defining uppercase/lowercase pairs and additional floating accents. It also explains how you can set up your hyphenation dictionary to recognize non-ASCII characters. UPPERCASE STRING The UC (Uppercase) string which you can add to your printer file(s) allows you to specify the uppercase/lowercase pairs that are recognized by the UC (Uppercase), LC (Lowercase), and CC (Change Case) commands, and by XyWrite's hyphenation algorithm. (To add strings to a printer file, see the "Basics of the Printer File" section of the XyWrite III Plus Reference Guide.) If you are using only the standard ASCII character set, you don't need to input the uppercase string because XyWrite incorporates the pairs as a built-in feature. However, if you are doing foreign language work, you can use the UC string to: * Define uppercase/lowercase pairs if you are using a non-standard character set. For example, if you are using a Scandinavian character set, you would want to define the character pair oO (with a slash through each). * Assign a screen display character to the uppercase version of an accented character. For example, the standard ASCII character set does not contain a screen display character for an uppercase E. You could set the upper- case display of e to be î by entering the pair eî. Then whenever you issue one of the case commands (UC, LC, or CC), XyWrite will change the screen display of e to be î and vice versa. (See Note #1). The format of the UC string is: UC 3. Search for the key assignment. Type: F5se /53=/ 4. Modify the key assignment so that it looks like this: Type: 53=xx,/ 5. Store and load the keyboard file. Result: When using the modified keyboard file, you will find that each time you type Ctrl/ the cursor will react to the next character that you type. If you type o or O, XyWrite will replace the slash with an o or O with a slash through it, as you specified in the AC: table of the printer file. If you type any other character, the / is treated as a regular text character. Note #4 Printer Output. The AC: table affects the screen display only. If the accented character is not part of the printer's standard character set, you must ensure that there is a character set within the printer which contains the foreign characters you wish to use. (Printers usually have a code which allows you to access foreign character tables.) You must create a substitution table in your printer file which links each non-standard character to the printer code which is required in order for the printer to produce that particular character. An example of such a substitution table sequence is: (Oslash)=EscR (memory position) Information on substitution tables can be found in the "Printer Settings" section of the XyWrite III Plus Reference Guide. FOREIGN HYPHENATION If you have created hyphenation tables that use characters other than those that are included in the standard ASCII character set, you must input the file label ;FO; at the beginning of the hyphen exception dictionary. See the "Modifying the Hyphen Dictionary" section of the XyWrite III Plus Reference Guide. When you use the LOAD command to load the dictionary into memory, the ;FO; label notifies XyWrite that it is a foreign language dictionary which is being loaded. Tip When XyWrite hyphenates a word, it searches file DICTION (the hyphen exception dictionary) until it finds a match. When two words have the same root but different hyphenation points (e.g., prod-uct and pro-duc-tion), you may get the wrong hyphenation. If you change the file label in the DICTION file from ;HY; to ;FO;, XyWrite checks the dictionary for the closest match, not simply the first match. Loading the dictionary with the ;FO; label will, however, require more memory.