Sergey A. Babkin
<babkin@bellatlantic.net> or <sab123@hotmail.com>

The Translation Tables

These translation tables are used to translate the Type 1 fonts between different encodings of the same language.

The file names are supposed to have the suffix .tbl. Each file describes one encoding, and all the tables for a given language are stored in the same directory.

The file format is quite simple: just a sequence of rows in format

<name> <decimal code>

The names do not have to conform to any standard, just the same glyph must have the same name in all the files for a given language.

Not all the codes need to be described in the tables, the codes that are not mentioned in the tables are left untranslated. So a file of zero length may be used in case when no translation is neccessary.

The translation changes only the encoding table of the font and does not rename the glyphs in the font file.

The Alias File

If some encoding may have more than one name then it does not really need multiple translation tables. It's enough to have one translation table with one of the names and the rest of the names can be defines as aliases in the file `encodings.alias'. Using aliases allows to save the disk space and conversion time.

The file format is just as simple: a sequence of rows in format

<alias name> <table name>

Both names are without the suffix `.tbl'. The rows beginning with `#' are comments.

Examples

The directory `russian' contains the tables for some encodings of the Russian language: KOI-8, IBM CP-866, IBM CP-1251 and just for fun ISO-8859/5 (nobody uses it anyways). The tables describe both russian letters and table graphics characters (except for CP-1251 for which the table graphics is not defined, so the table graphics portion for it is just copied from KOI-8).

The file for ISO-8859/1 is defined as an alias of KOI-8. It is neccessary because Netscape has rather weird ideas about the documents in KOI-8 encoding. The common way to fool Netscape is to set the KOI-8 fonts for the ISO-8859/1 encoding and set the default encoding in Netscape to 8859/1.

The directory `latin1' contains an empty table for ISO-8859/1 because it does not need any translation.

The directory `bulgarian' for now is just a symbolic link to `russian'. But in future, say, the support for the MS-DOS encodings may appear and they are different for Russian and Bulgarian, so at this point they will split.