[2000] | 1 | # this file is a sample Unicode map description. |
---|
| 2 | # It describes which glyphs are to be included in the font |
---|
| 3 | # and at which character position they are to be put. |
---|
| 4 | |
---|
| 5 | # If the character position is greater than 255, the glyph is included, but |
---|
| 6 | # does not appear in the encoding table (you must then use font reencoding |
---|
| 7 | # to use this glyph). |
---|
| 8 | # That makes it possible to have more than 256 glyphs in a font. |
---|
| 9 | # Currently the maximum supported number of glyphs is 1024. |
---|
| 10 | |
---|
| 11 | # Use this file as the argument to ttf2pt1's -L option. |
---|
| 12 | |
---|
| 13 | # 1999-11-24 Thomas.Henlich@mailbox.tu-dresden.de |
---|
| 14 | # 2000-03-01 Sergey Babkin: added 3rd format |
---|
| 15 | |
---|
| 16 | # comment lines start with '#' or '%' or '//' |
---|
| 17 | |
---|
| 18 | # The default source encoding table in the TTF file is Unicode (pid=3,eid=1). |
---|
| 19 | # However a map may specify another source encoding with the "id <pid> <eid>" |
---|
| 20 | # directive. If this directive is used at the beginning of the map file, |
---|
| 21 | # it applies to the whole file. If it is used after a "plane" directive, |
---|
| 22 | # then it sets the source encoding for this particular destination plane |
---|
| 23 | # (possibly overriding the file-wide id directive). The user can also |
---|
| 24 | # specify the source encoding explicitly at the comman line in the |
---|
| 25 | # argument to the option -L. This used-specified source encoding overrides |
---|
| 26 | # any id directives in the map file. |
---|
| 27 | |
---|
| 28 | # examples: |
---|
| 29 | |
---|
| 30 | # same as Unicode (default) |
---|
| 31 | id 3 1 |
---|
| 32 | |
---|
| 33 | # One file may contain multiple actual translation tables. Each particular |
---|
| 34 | # table within a file is named a plane. The primary use of planes is |
---|
| 35 | # for multi-plane Eastern fonts with over 256 glyphs: for them one TTF |
---|
| 36 | # file gets converted into multiple Type1 files, with each resulting file |
---|
| 37 | # containing one plane of the original font. But they may also be used |
---|
| 38 | # in other creative ways. Each plane may be specified in different format |
---|
| 39 | # although this is not recommended for aesthetical reasons. If a map file |
---|
| 40 | # contains any specifications of planes then the plane argument MUST |
---|
| 41 | # be specified to the converter with that map file. If a map file |
---|
| 42 | # contains no specifications of planes then the plane argument MUST NOT |
---|
| 43 | # be specified to the converter with that map file. |
---|
| 44 | # |
---|
| 45 | # The plane maps start from the plane directive and continue to the next |
---|
| 46 | # plane directive or end of file. The plane directive must be located |
---|
| 47 | # at the very beginning of a separate string and contain the word "plane" |
---|
| 48 | # followed by whitespace and the plane name. The whitespace characters |
---|
| 49 | # are not allowed in the plane names. Non-alphanumeric characters are |
---|
| 50 | # discouraged in the plane names as well. |
---|
| 51 | |
---|
| 52 | # examples: |
---|
| 53 | |
---|
| 54 | plane 81 |
---|
| 55 | =27 U+0027 APOSTROPHE |
---|
| 56 | |
---|
| 57 | plane otherplane |
---|
| 58 | 0, 1, 2 |
---|
| 59 | |
---|
| 60 | |
---|
| 61 | % There is one code assignment per line. |
---|
| 62 | // Three formats are recognized: |
---|
| 63 | # 1. optional whitespace, followed by '=', followed by a hex number |
---|
| 64 | # (character position), followed by optional whitespace, followed by |
---|
| 65 | # 'U+', followed by a four-digit hex number (the Unicode of the glyph we want |
---|
| 66 | # here), followed by any number of characters. |
---|
| 67 | |
---|
| 68 | // example: |
---|
| 69 | |
---|
| 70 | =20 U+0020 SPACE |
---|
| 71 | =48 U+0021 EXCLAMATION MARK |
---|
| 72 | =22 U+0022 QUOTATION MARK |
---|
| 73 | =23 U+0023 NUMBER SIGN |
---|
| 74 | =24 U+0024 DOLLAR SIGN |
---|
| 75 | =25 U+0025 PERCENT SIGN |
---|
| 76 | =26 U+0026 AMPERSAND |
---|
| 77 | =27 U+0027 APOSTROPHE |
---|
| 78 | |
---|
| 79 | =E0 U+042E CYRILLIC CAPITAL LETTER YU |
---|
| 80 | =E1 U+0410 CYRILLIC CAPITAL LETTER A |
---|
| 81 | =E2 U+0411 CYRILLIC CAPITAL LETTER BE |
---|
| 82 | =E3 U+0426 CYRILLIC CAPITAL LETTER TSE |
---|
| 83 | =E4 U+0414 CYRILLIC CAPITAL LETTER DE |
---|
| 84 | =E5 U+0415 CYRILLIC CAPITAL LETTER IE |
---|
| 85 | =E6 U+0424 CYRILLIC CAPITAL LETTER EF |
---|
| 86 | =E7 U+0413 CYRILLIC CAPITAL LETTER GHE |
---|
| 87 | |
---|
| 88 | % 2. optional whitespace, followed by '<', followed by one or more |
---|
| 89 | % non-whitespace characters, |
---|
| 90 | % followed by optional whitespace, followed by '/x', followed by |
---|
| 91 | % a hex number (character position), followed by optional |
---|
| 92 | % whitespace, followed by '<U', followed by a four-digit hex number |
---|
| 93 | % (the Unicode of the glyph we want here), followed by '>' and any number |
---|
| 94 | % of characters. |
---|
| 95 | |
---|
| 96 | # example: |
---|
| 97 | |
---|
| 98 | <I> /x40 <U0049> LATIN CAPITAL LETTER I |
---|
| 99 | <t> /x41 <U0074> LATIN SMALL LETTER T |
---|
| 100 | <r> /x43 <U0072> LATIN SMALL LETTER R |
---|
| 101 | <o> /x44 <U006F> LATIN SMALL LETTER O |
---|
| 102 | <c> /x45 <U0063> LATIN SMALL LETTER C |
---|
| 103 | <k> /x46 <U006B> LATIN SMALL LETTER K |
---|
| 104 | <s> /x47 <U0073> LATIN SMALL LETTER S |
---|
| 105 | |
---|
| 106 | <Eu> /xA4 <U20AC> EURO SIGN |
---|
| 107 | |
---|
| 108 | # 3. optional whitespace, followed by '!', followed by a hex number |
---|
| 109 | # (character position), followed by optional whitespace, followed by |
---|
| 110 | # 'U+', followed by a four-digit hex number (the Unicode of the glyph we want |
---|
| 111 | # here), followed by the name of the glyph that will be used in the |
---|
| 112 | # output file. |
---|
| 113 | |
---|
| 114 | # example: |
---|
| 115 | |
---|
| 116 | !20 U+0020 space |
---|
| 117 | !21 U+0021 exclam |
---|
| 118 | !22 U+0022 quotedbl |
---|
| 119 | !23 U+0023 numbersign |
---|
| 120 | !24 U+0024 dollar |
---|
| 121 | !25 U+0025 percent |
---|
| 122 | |
---|
| 123 | # 4. compact format: just list of unicodes separated by commas or ranges |
---|
| 124 | # denoted by a dash between unicodes. These unicodes are mapped to |
---|
| 125 | # the output codes starting from 0 and continuously increasing. |
---|
| 126 | # It is possible to reset the current code by using the "at" directive |
---|
| 127 | # which must start at beginning of the line and give the new current |
---|
| 128 | # output code (which will be assigned to the next occuring unicode) |
---|
| 129 | # as decimal, hexadecimal or octal in C notation. The "at directive must |
---|
| 130 | # take a separate line. The spaces around unicodes don't matter. |
---|
| 131 | |
---|
| 132 | # example: |
---|
| 133 | # map unicodes 0x40, 0x400, 0x4000 to the output codes 0, 1, 2 and unicodes |
---|
| 134 | # 0xf010 - 0xf020, 0xf030 to the output codes 0x11-0x22 |
---|
| 135 | |
---|
| 136 | 0, 1, 2 |
---|
| 137 | at 0x11 |
---|
| 138 | 0xf010- 0xf020, 0xf030 |
---|
| 139 | |
---|
| 140 | |
---|
| 141 | # the first format is used by Roman Czyborra on his fine WWW pages: |
---|
| 142 | # http://czyborra.com/charsets/iso8859.html |
---|
| 143 | |
---|
| 144 | # the second format is used in the Linux locale charmaps files: |
---|
| 145 | # /usr/share/i18n/charmaps/* |
---|
| 146 | |
---|
| 147 | # we don't need those glyphs in the encoding table |
---|
| 148 | =100 U+0030 DIGIT ZERO |
---|
| 149 | =101 U+0031 DIGIT ONE |
---|
| 150 | =102 U+0032 DIGIT TWO |
---|
| 151 | =103 U+0033 DIGIT THREE |
---|
| 152 | =104 U+0034 DIGIT FOUR |
---|
| 153 | =105 U+0035 DIGIT FIVE |
---|
| 154 | =106 U+0036 DIGIT SIX |
---|
| 155 | =107 U+0037 DIGIT SEVEN |
---|
| 156 | =108 U+0039 DIGIT NINE |
---|
| 157 | =109 U+0038 DIGIT EIGHT |
---|
| 158 | |
---|