# this file is a sample Unicode map description. # It describes which glyphs are to be included in the font # and at which character position they are to be put. # If the character position is greater than 255, the glyph is included, but # does not appear in the encoding table (you must then use font reencoding # to use this glyph). # That makes it possible to have more than 256 glyphs in a font. # Currently the maximum supported number of glyphs is 1024. # Use this file as the argument to ttf2pt1's -L option. # 1999-11-24 Thomas.Henlich@mailbox.tu-dresden.de # 2000-03-01 Sergey Babkin: added 3rd format # comment lines start with '#' or '%' or '//' # The default source encoding table in the TTF file is Unicode (pid=3,eid=1). # However a map may specify another source encoding with the "id " # directive. If this directive is used at the beginning of the map file, # it applies to the whole file. If it is used after a "plane" directive, # then it sets the source encoding for this particular destination plane # (possibly overriding the file-wide id directive). The user can also # specify the source encoding explicitly at the comman line in the # argument to the option -L. This used-specified source encoding overrides # any id directives in the map file. # examples: # same as Unicode (default) id 3 1 # One file may contain multiple actual translation tables. Each particular # table within a file is named a plane. The primary use of planes is # for multi-plane Eastern fonts with over 256 glyphs: for them one TTF # file gets converted into multiple Type1 files, with each resulting file # containing one plane of the original font. But they may also be used # in other creative ways. Each plane may be specified in different format # although this is not recommended for aesthetical reasons. If a map file # contains any specifications of planes then the plane argument MUST # be specified to the converter with that map file. If a map file # contains no specifications of planes then the plane argument MUST NOT # be specified to the converter with that map file. # # The plane maps start from the plane directive and continue to the next # plane directive or end of file. The plane directive must be located # at the very beginning of a separate string and contain the word "plane" # followed by whitespace and the plane name. The whitespace characters # are not allowed in the plane names. Non-alphanumeric characters are # discouraged in the plane names as well. # examples: plane 81 =27 U+0027 APOSTROPHE plane otherplane 0, 1, 2 % There is one code assignment per line. // Three formats are recognized: # 1. optional whitespace, followed by '=', followed by a hex number # (character position), followed by optional whitespace, followed by # 'U+', followed by a four-digit hex number (the Unicode of the glyph we want # here), followed by any number of characters. // example: =20 U+0020 SPACE =48 U+0021 EXCLAMATION MARK =22 U+0022 QUOTATION MARK =23 U+0023 NUMBER SIGN =24 U+0024 DOLLAR SIGN =25 U+0025 PERCENT SIGN =26 U+0026 AMPERSAND =27 U+0027 APOSTROPHE =E0 U+042E CYRILLIC CAPITAL LETTER YU =E1 U+0410 CYRILLIC CAPITAL LETTER A =E2 U+0411 CYRILLIC CAPITAL LETTER BE =E3 U+0426 CYRILLIC CAPITAL LETTER TSE =E4 U+0414 CYRILLIC CAPITAL LETTER DE =E5 U+0415 CYRILLIC CAPITAL LETTER IE =E6 U+0424 CYRILLIC CAPITAL LETTER EF =E7 U+0413 CYRILLIC CAPITAL LETTER GHE % 2. optional whitespace, followed by '<', followed by one or more % non-whitespace characters, % followed by optional whitespace, followed by '/x', followed by % a hex number (character position), followed by optional % whitespace, followed by '' and any number % of characters. # example: /x40 LATIN CAPITAL LETTER I /x41 LATIN SMALL LETTER T /x43 LATIN SMALL LETTER R /x44 LATIN SMALL LETTER O /x45 LATIN SMALL LETTER C /x46 LATIN SMALL LETTER K /x47 LATIN SMALL LETTER S /xA4 EURO SIGN # 3. optional whitespace, followed by '!', followed by a hex number # (character position), followed by optional whitespace, followed by # 'U+', followed by a four-digit hex number (the Unicode of the glyph we want # here), followed by the name of the glyph that will be used in the # output file. # example: !20 U+0020 space !21 U+0021 exclam !22 U+0022 quotedbl !23 U+0023 numbersign !24 U+0024 dollar !25 U+0025 percent # 4. compact format: just list of unicodes separated by commas or ranges # denoted by a dash between unicodes. These unicodes are mapped to # the output codes starting from 0 and continuously increasing. # It is possible to reset the current code by using the "at" directive # which must start at beginning of the line and give the new current # output code (which will be assigned to the next occuring unicode) # as decimal, hexadecimal or octal in C notation. The "at directive must # take a separate line. The spaces around unicodes don't matter. # example: # map unicodes 0x40, 0x400, 0x4000 to the output codes 0, 1, 2 and unicodes # 0xf010 - 0xf020, 0xf030 to the output codes 0x11-0x22 0, 1, 2 at 0x11 0xf010- 0xf020, 0xf030 # the first format is used by Roman Czyborra on his fine WWW pages: # http://czyborra.com/charsets/iso8859.html # the second format is used in the Linux locale charmaps files: # /usr/share/i18n/charmaps/* # we don't need those glyphs in the encoding table =100 U+0030 DIGIT ZERO =101 U+0031 DIGIT ONE =102 U+0032 DIGIT TWO =103 U+0033 DIGIT THREE =104 U+0034 DIGIT FOUR =105 U+0035 DIGIT FIVE =106 U+0036 DIGIT SIX =107 U+0037 DIGIT SEVEN =108 U+0039 DIGIT NINE =109 U+0038 DIGIT EIGHT