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