home *** CD-ROM | disk | FTP | other *** search
- ADVANCED RTF FONT AND STYLE TRANSFER
- ------------------------------------
-
- You can more accurately control the way that fonts and style names
- are transferred in RTF by using an RTF map file, which is a plain
- text file, with the name 'rtfmap.txt', in any \WDR subdirectory of
- the root directory of a local drive (the drive search order is
- M:, A:, B:).
-
- The contents of a typical map file could be:
-
- :STYLES
- BT 9 Normal;
- HA 1 heading 1;
- HB 2 heading 2;
- :FONTS
- 00 fmodern; pica;
- 24 froman; Times New Roman;
-
- The keywords :STYLES and :FONTS introduce style and font mappings
- respectively. They may occur in any order and may be repeated.
-
- Whitespace before an item is generally ignored, as is any text
- following the final semicolon (;). Long labels are truncated to 15
- (style labels) or 19 (font names) characters, not counting the
- terminating semicolon. Illegal entries are ignored, without
- generating any error notification.
-
- Style mapping
-
- Each line represents the correspondence between the shortcode,
- outline level and a style label. The style labels should correspond
- with those used by Microsoft Word (or any other word processor that
- understands the RTF format). You can determine these names from the
- stylesheet section of an RTF file generated by the word processor
- (see the later 'RTF files' section).
-
- There is no checking for duplicate shortcodes or labels, so be
- warned. Total duplicates are wasteful of memory but otherwise
- harmless. Pairs of entries that match in either their shortcode or
- their label, but not both, should be avoided.
-
- To prevent any possibility of error in bi-directional mapping, one-
- or two-character labels (particularly if they start with X, Y or Z)
- should be avoided.
-
- Font mapping
-
- Each line represents the correspondence between a font ID, the RTF
- font class and a font name.
-
- The font IDs should be unique and must lie in the range 0 to 63
- inclusive. The font IDs used by the Psion word processor vary from
- printer to printer. You can find which font IDs are used in a
- particular printer driver by examining the font table in an RTF file
- that was saved from the Psion word processor with that printer driver
- installed, and with no font mapping (see the later 'RTF files'
- section).
-
- There is no harm in mapping a font to an ID that is not supported by
- a particular printer driver, but it will be displayed and printed in
- the printer's default (monospaced) font. The following table
- indicates the preferred general allocation scheme for font IDs used
- in Psion printer drivers:
-
- 0 COURIER 22 OPTIONAL_SB 44 RUSSIAN
- 1 PICA 23 OPTIONAL_SC 45 OPTIONAL_B
- 2 ELITE 24 TIMES_ROMAN 46 OPTIONAL_C
- 3 PRESTIGE 25 CENTURY 47 OPTIONAL_D
- 4 LETTER_GOTHIC 26 PALATINO 48 NARRATOR
- 5 GOTHIC 27 SOUVENIR 49 EMPHASIS
- 6 CUBIC 28 GARAMOND 50 ZAPF_CHANCERY
- 7 LINEPRINTER 29 CALEDONIA 51 OPTIONAL_DA
- 8 HELVETICA 30 BODONI 52 OLD_ENGLISH
- 9 AVANT_GARDE 31 UNIVERSITY 53 OPTIONAL_DB
- 10 SPARTAN 32 SCRIPT 54 OPTIONAL_DC
- 11 METRO 33 SCRIPT_PS 55 COOPER_BLACK
- 12 PRESENTATION 34 OPTIONAL_SCA 56 SYMBOL
- 13 APL 35 OPTIONAL_SCB 57 LINE_DRAW
- 14 OCR_A 36 COMMERCIAL_SCRIPT 58 MATH_7
- 15 OCR_B 37 PARK_AVENUE 59 MATH_8
- 16 STANDARD_ROMAN 38 CORONET 60 DINGBATS
- 17 EMPEROR 39 OPTIONAL_SCC 61 EAN
- 18 MADELEINE 40 GREEK 62 PC_LINE
- 19 ZAPF_HUMANIST 41 KANA 63 OPTIONAL_SYA
- 20 CLASSIC 42 HEBREW
- 21 OPTIONAL_SA 43 OPTIONAL_A
-
- The RTF font class must be one of:
- fnil Unknown or default
- froman Roman; proportional serif
- fswiss Swiss; proportional sans serif
- fmodern Monospaced serif and sans serif
- fscript Script
- fdecor Decorative
- ftech Technical, symbol and mathematical
-
- The font names should be those present in the font table of a
- Microsoft Word (or other word processor) RTF file and do not need to
- match the names of Psion printer driver fonts.
-
- Open (RTF)
-
- If a map file is located, and contains valid style entries, the list
- is scanned for a match with an incoming label and, if found, the
- style is given the corresponding shortcode and outline level. This
- style will overwrite any existing style with the same shortcode.
-
- Styles with non-matching labels have their style labels preserved.
- They are given an outline level of 9 and a shortcode consisting of
- the first two letters of the label (a preceding X is added if the
- label contains only one character). If this shortcode is illegal or
- matches an existing style, a unique shortcode is generated. These
- styles, therefore, never overwrite existing styles.
-
- If there are no valid style map entries, incoming style labels
- "Normal" and "heading n" (1 <= n <= 8) are handled explicitly,
- generating shortcodes of BT, and HA to HH, with outline levels of 9
- for BT and 1 to 8 for the headings. These styles always overwrite any
- existing style of the same shortcode.
-
-
- All incoming fonts whose names match an entry in the map file are
- allocated the corresponding ID, regardless of whether this is
- supported by the current printer driver.
-
- Non-matching incoming fonts are converted to those supported by the
- current printer driver. Fonts are preserved only if they are an exact
- match, by both name and RTF font family (the Psion word processor
- currently only supports fonts in the fmodern, fswiss and froman
- families - see above). Otherwise an attempt is made to convert the
- font to a supported font in the same family. If this is not possible,
- the font is converted to the current default (monospaced) font.
-
- Save as (RTF)
-
- If a map file is located, and contains valid entries, the list is
- scanned for a match with an outgoing shortcode and, if found, the
- style is given the corresponding label. Styles with non-matching
- shortcodes are given labels equal to their shortcodes, irrespective
- of the text of their current labels.
-
- If there are no style map entries, the first style of outline level 9
- to be saved (usually BT) is saved with the label "Normal". Similarly,
- the first styles of outline level 1 to 5 (usually HA etc.) are saved
- with labels from "heading 1" to "heading 5". All other styles are
- saved with labels consisting of their shortcodes, irrespective of the
- text of their current labels.
-
- The font table includes all fonts listed in the map file, together
- with any additional fonts supported by the current printer driver
- (provided their font IDs do not match with IDs present in the map
- file).
-
- In the absence of any font mappings, only those fonts supported by
- the current printer driver are included in the RTF file.
-
- RTF files
-
- An RTF file is a plain text file containing the text of a document,
- together with plain text encoding of style and formatting
- information.
-
- A Psion map file affects the content of the RTF file font table and
- stylesheet sections which can be found near the beginning of the RTF
- file.
-
- The font table contains a list of font entries, enclosed by:
-
- { \fonttbl }
-
- Each font entry consists of a font number (ID), a font family and a
- font name, for example:
-
- { \f0 \fmodern pica; }
-
- The stylesheet section contains a list of stylesheet entries,
- enclosed by:
-
- { \stylesheet }
-
- Each stylesheet entry consists of a variety of style instructions,
- terminated by the style label, for example:
-
- { \s244 \li270 \f3 \fs20 \ul heading 4; }
-
- In this example the label is "heading 4".
-