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 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.
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.