/src/ghostpdl/pcl/pl/plvocab.c
Line | Count | Source |
1 | | /* Copyright (C) 2001-2023 Artifex Software, Inc. |
2 | | All Rights Reserved. |
3 | | |
4 | | This software is provided AS-IS with no warranty, either express or |
5 | | implied. |
6 | | |
7 | | This software is distributed under license and may not be copied, |
8 | | modified or distributed except as expressly authorized under the terms |
9 | | of the license contained in the file LICENSE in this distribution. |
10 | | |
11 | | Refer to licensing information at http://www.artifex.com or contact |
12 | | Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, |
13 | | CA 94129, USA, for further information. |
14 | | */ |
15 | | |
16 | | |
17 | | /* plvocab.c */ |
18 | | /* Maps between glyph vocabularies */ |
19 | | #include "stdpre.h" |
20 | | #include "plvocab.h" |
21 | | |
22 | | /* Define an entry in a glyph mapping table. */ |
23 | | /* Glyph mapping tables are sorted by key. */ |
24 | | typedef struct pl_glyph_mapping_s |
25 | | { |
26 | | ushort key; |
27 | | ushort value; |
28 | | } pl_glyph_mapping_t; |
29 | | |
30 | | /* derived from: http://pcl.to/msl/mastermsl.txt */ |
31 | | static const pl_glyph_mapping_t pl_map_m2u[] = { |
32 | | {0, 0x0000}, |
33 | | {1, 0x0021}, /* exclamation mark *//* u */ |
34 | | {2, 0x0022}, /* Neutral Double Quote *//* u */ |
35 | | {3, 0x0023}, /* Number Sign *//* u */ |
36 | | {4, 0x0024}, /* dollar sign *//* u */ |
37 | | {5, 0x0025}, /* Per Cent Sign *//* u */ |
38 | | {6, 0x0026}, /* ampersand *//* u */ |
39 | | {7, 0xF4CF}, |
40 | | {8, 0x2019}, /* Single Close Quote (9) *//* u */ |
41 | | {9, 0x0028}, /* Left Parenthesis *//* u */ |
42 | | {10, 0x0029}, /* Right Parenthesis *//* u */ |
43 | | {11, 0x002A}, /* asterisk *//* u */ |
44 | | {12, 0x002B}, /* Plus Sign *//* u */ |
45 | | {13, 0x002C}, /* Comma, Decimal Separator *//* u */ |
46 | | {14, 0x002D}, /* Hyphen *//* u */ |
47 | | {15, 0x002E}, /* period *//* u */ |
48 | | {16, 0x002F}, /* Solidus, Slash *//* u */ |
49 | | {17, 0x0030}, /* Numeral Zero *//* u */ |
50 | | {18, 0x0031}, /* Numeral One *//* u */ |
51 | | {19, 0x0032}, /* Numeral Two *//* u */ |
52 | | {20, 0x0033}, /* Numeral Three *//* u */ |
53 | | {21, 0x0034}, /* Numeral Four *//* u */ |
54 | | {22, 0x0035}, /* Numeral Five *//* u */ |
55 | | {23, 0x0036}, /* Numeral Six *//* u */ |
56 | | {24, 0x0037}, /* Numeral Seven *//* u */ |
57 | | {25, 0x0038}, /* Numeral Eight *//* u */ |
58 | | {26, 0x0039}, /* Numeral Nine *//* u */ |
59 | | {27, 0x003A}, /* colon *//* u */ |
60 | | {28, 0x003B}, /* Semicolon *//* u */ |
61 | | {29, 0x003C}, /* Less Than Sign *//* u */ |
62 | | {30, 0x003D}, /* Equals Sign *//* u */ |
63 | | {31, 0x003E}, /* Greater Than Sign *//* u */ |
64 | | {32, 0x003F}, /* question mark *//* u */ |
65 | | {33, 0x0040}, /* Commercial At Sign *//* u */ |
66 | | {34, 0x0041}, /* Uppercase A *//* u */ |
67 | | {35, 0x0042}, /* Uppercase B *//* u */ |
68 | | {36, 0x0043}, /* Uppercase C *//* u */ |
69 | | {37, 0x0044}, /* Uppercase D *//* u */ |
70 | | {38, 0x0045}, /* Uppercase E *//* u */ |
71 | | {39, 0x0046}, /* Uppercase F *//* u */ |
72 | | {40, 0x0047}, /* Uppercase G *//* u */ |
73 | | {41, 0x0048}, /* Uppercase H *//* u */ |
74 | | {42, 0x0049}, /* Uppercase I *//* u */ |
75 | | {43, 0x004A}, /* Uppercase J *//* u */ |
76 | | {44, 0x004B}, /* Uppercase K *//* u */ |
77 | | {45, 0x004C}, /* Uppercase L *//* u */ |
78 | | {46, 0x004D}, /* Uppercase M *//* u */ |
79 | | {47, 0x004E}, /* Uppercase N *//* u */ |
80 | | {48, 0x004F}, /* Uppercase O *//* u */ |
81 | | {49, 0x0050}, /* Uppercase P *//* u */ |
82 | | {50, 0x0051}, /* Uppercase Q *//* u */ |
83 | | {51, 0x0052}, /* Uppercase R *//* u */ |
84 | | {52, 0x0053}, /* Uppercase S *//* u */ |
85 | | {53, 0x0054}, /* Uppercase T *//* u */ |
86 | | {54, 0x0055}, /* Uppercase U *//* u */ |
87 | | {55, 0x0056}, /* Uppercase V *//* u */ |
88 | | {56, 0x0057}, /* Uppercase W *//* u */ |
89 | | {57, 0x0058}, /* Uppercase X *//* u */ |
90 | | {58, 0x0059}, /* Uppercase Y *//* u */ |
91 | | {59, 0x005A}, /* Uppercase Z *//* u */ |
92 | | {60, 0x005B}, /* Left Bracket *//* u */ |
93 | | {61, 0x005C}, /* Rev Solidus, Backslash *//* u */ |
94 | | {62, 0x005D}, /* Right Bracket *//* u */ |
95 | | {63, 0x005E}, /* ASCII Circumflex *//* u */ |
96 | | {64, 0x005F}, /* Underline, Underscore *//* u */ |
97 | | {65, 0xEFA7}, |
98 | | {66, 0x2018}, /* Single Open Quote (6) *//* u */ |
99 | | {67, 0x0061}, /* Lowercase A *//* u */ |
100 | | {68, 0x0062}, /* Lowercase B *//* u */ |
101 | | {69, 0x0063}, /* Lowercase C *//* u */ |
102 | | {70, 0x0064}, /* Lowercase D *//* u */ |
103 | | {71, 0x0065}, /* Lowercase E *//* u */ |
104 | | {72, 0x0066}, /* Lowercase F *//* u */ |
105 | | {73, 0x0067}, /* Lowercase G *//* u */ |
106 | | {74, 0x0068}, /* Lowercase H *//* u */ |
107 | | {75, 0x0069}, /* Lowercase I *//* u */ |
108 | | {76, 0x006A}, /* Lowercase J *//* u */ |
109 | | {77, 0x006B}, /* Lowercase K *//* u */ |
110 | | {78, 0x006C}, /* Lowercase L *//* u */ |
111 | | {79, 0x006D}, /* Lowercase M *//* u */ |
112 | | {80, 0x006E}, /* Lowercase N *//* u */ |
113 | | {81, 0x006F}, /* Lowercase O *//* u */ |
114 | | {82, 0x0070}, /* Lowercase P *//* u */ |
115 | | {83, 0x0071}, /* Lowercase Q *//* u */ |
116 | | {84, 0x0072}, /* Lowercase R *//* u */ |
117 | | {85, 0x0073}, /* Lowercase S *//* u */ |
118 | | {86, 0x0074}, /* Lowercase T *//* u */ |
119 | | {87, 0x0075}, /* Lowercase U *//* u */ |
120 | | {88, 0x0076}, /* Lowercase V *//* u */ |
121 | | {89, 0x0077}, /* Lowercase W *//* u */ |
122 | | {90, 0x0078}, /* Lowercase X *//* u */ |
123 | | {91, 0x0079}, /* Lowercase Y *//* u */ |
124 | | {92, 0x007A}, /* Lowercase Z *//* u */ |
125 | | {93, 0x007B}, /* Left Brace *//* u */ |
126 | | {94, 0x007C}, /* Long Vertical Mark *//* u */ |
127 | | {95, 0x007D}, /* Right Brace *//* u */ |
128 | | {96, 0x007E}, /* 1 Wavy Line Approx *//* u */ |
129 | | {97, 0x2592}, /* Medium Shading *//* u */ |
130 | | {98, 0xF4C7}, |
131 | | {99, 0x00C0}, /* Uppercase A Grave *//* u */ |
132 | | {100, 0x00C2}, /* Uppercase A Circumflex *//* u */ |
133 | | {101, 0x00C8}, /* Uppercase E Grave *//* u */ |
134 | | {102, 0x00CA}, /* Uppercase E Circumflex *//* u */ |
135 | | {103, 0x00CB}, /* Uppercase E Dieresis *//* u */ |
136 | | {104, 0x00CE}, /* Uppercase I Circumflex *//* u */ |
137 | | {105, 0x00CF}, /* Uppercase I Dieresis *//* u */ |
138 | | {106, 0x00B4}, /* Lowercase Acute *//* u */ |
139 | | {107, 0x0060}, /* Lowercase Grave *//* u */ |
140 | | {108, 0x02C6}, /* Lowercase Circumflex *//* u *//* ? 5E ? */ |
141 | | {109, 0x00A8}, /* Lowercase Dieresis *//* u */ |
142 | | {110, 0x02DC}, /* Lowercase Tilde *//* u *//* ? 7E ? */ |
143 | | {111, 0x00D9}, /* Uppercase U Grave *//* u */ |
144 | | {112, 0x00DB}, /* Uppercase U Circumflex *//* u */ |
145 | | {113, 0x00AF}, /* Overline, Overscore *//* u */ |
146 | | {114, 0x00DD}, /* Uppercase Y Acute *//* u */ |
147 | | {115, 0x00FD}, /* Lowercase Y Acute *//* u */ |
148 | | {116, 0x00B0}, /* Degree Sign *//* u */ |
149 | | {117, 0x00C7}, /* Uppercase C Cedilla *//* u */ |
150 | | {118, 0x00E7}, /* Lowercase C Cedilla *//* u */ |
151 | | {119, 0x00D1}, /* Uppercase N tilde *//* u */ |
152 | | {120, 0x00F1}, /* Lowercase N tilde *//* u */ |
153 | | {121, 0x00A1}, /* Inverted Exclamation Mark *//* u */ |
154 | | {122, 0x00BF}, /* Inverted Question Mark *//* u */ |
155 | | {123, 0x00A4}, /* Currency Symbol *//* u */ |
156 | | {124, 0x00A3}, /* Pound Sterling Sign *//* u */ |
157 | | {125, 0x00A5}, /* Yen Sign *//* u */ |
158 | | {126, 0x00A7}, /* Section Mark *//* u */ |
159 | | {127, 0x0192}, /* Florin Sign *//* u */ |
160 | | {128, 0x00A2}, /* Cent Sign *//* u */ |
161 | | {129, 0x00E2}, /* Lowercase A Circumflex *//* u */ |
162 | | {130, 0x00EA}, /* Lowercase E Circumflex *//* u */ |
163 | | {131, 0x00F4}, /* Lowercase O Circumflex *//* u */ |
164 | | {132, 0x00FB}, /* Lowercase U Circumflex *//* u */ |
165 | | {133, 0x00E1}, /* Lowercase A Acute *//* u */ |
166 | | {134, 0x00E9}, /* Lowercase E Acute *//* u */ |
167 | | {135, 0x00F3}, /* Lowercase O Acute *//* u */ |
168 | | {136, 0x00FA}, /* Lowercase U Acute *//* u */ |
169 | | {137, 0x00E0}, /* Lowercase A Grave *//* u */ |
170 | | {138, 0x00E8}, /* Lowercase E Grave *//* u */ |
171 | | {139, 0x00F2}, /* Lowercase O Grave *//* u */ |
172 | | {140, 0x00F9}, /* Lowercase U Grave *//* u */ |
173 | | {141, 0x00E4}, /* Lowercase A Dieresis *//* u */ |
174 | | {142, 0x00EB}, /* Lowercase E Dieresis *//* u */ |
175 | | {143, 0x00F6}, /* Lowercase O Dieresis *//* u */ |
176 | | {144, 0x00FC}, /* Lowercase U Dieresis *//* u */ |
177 | | {145, 0x00C5}, /* Uppercase A Ring *//* u */ |
178 | | {146, 0x00EE}, /* Lowercase I Circumflex *//* u */ |
179 | | {147, 0x00D8}, /* Uppercase O Oblique *//* u */ |
180 | | {148, 0x00C6}, /* Uppercase AE Diphthong *//* u */ |
181 | | {149, 0x00E5}, /* Lowercase A Ring *//* u */ |
182 | | {150, 0x00ED}, /* Lowercase I Acute *//* u */ |
183 | | {151, 0x00F8}, /* Lowercase O Oblique *//* u */ |
184 | | {152, 0x00E6}, /* Lowercase AE Diphthong *//* u */ |
185 | | {153, 0x00C4}, /* Uppercase A Dieresis *//* u */ |
186 | | {154, 0x00EC}, /* Lowercase I Grave *//* u */ |
187 | | {155, 0x00D6}, /* Uppercase O Dieresis *//* u */ |
188 | | {156, 0x00DC}, /* Uppercase U Dieresis *//* u */ |
189 | | {157, 0x00C9}, /* Uppercase E Acute *//* u */ |
190 | | {158, 0x00EF}, /* Lowercase I Dieresis *//* u */ |
191 | | {159, 0x00DF}, /* Lowercase Es-zet Ligature *//* u */ |
192 | | {160, 0x00D4}, /* Uppercase O Circumflex *//* u */ |
193 | | {161, 0x00C1}, /* Uppercase A Acute *//* u */ |
194 | | {162, 0x00C3}, /* Uppercase A Tilde *//* u */ |
195 | | {163, 0x00E3}, /* Lowercase A Tilde *//* u */ |
196 | | {164, 0x00D0}, /* Uppercase Eth, D-stroke *//* u */ |
197 | | {165, 0x00F0}, /* Lowercase Eth *//* u */ |
198 | | {166, 0x00CD}, /* Uppercase I Acute *//* u */ |
199 | | {167, 0x00CC}, /* Uppercase I Grave *//* u */ |
200 | | {168, 0x00D3}, /* Uppercase O Acute *//* u */ |
201 | | {169, 0x00D2}, /* Uppercase O Grave *//* u */ |
202 | | {170, 0x00D5}, /* Uppercase O Tilde *//* u */ |
203 | | {171, 0x00F5}, /* Lowercase O Tilde *//* u */ |
204 | | {172, 0x0160}, /* Uppercase S Hacek *//* u */ |
205 | | {173, 0x0161}, /* Lowercase S Hacek *//* u */ |
206 | | {174, 0x00DA}, /* Uppercase U Acute *//* u */ |
207 | | {175, 0x0178}, /* Uppercase Y Dieresis *//* u */ |
208 | | {176, 0x00FF}, /* Lowercase Y Dieresis *//* u */ |
209 | | {177, 0x00DE}, /* Uppercase Thorn *//* u */ |
210 | | {178, 0x00FE}, /* Lowercase Thorn *//* u */ |
211 | | {179, 0x00B7}, /* Lowercase Middle Dot *//* u */ |
212 | | {180, 0x00B5}, /* Lowercase Mu, Micro *//* u */ |
213 | | {181, 0x00B6}, /* Pilcrow, Paragraph *//* u */ |
214 | | {182, 0x00BE}, /* Vulgar Fraction 3/4 *//* u */ |
215 | | {183, 0x2212}, /* Minus Sign *//* u */ |
216 | | {184, 0x00BC}, /* Vulgar Fraction 1/4 *//* u */ |
217 | | {185, 0x00BD}, /* Vulgar Fraction 1/2 *//* u */ |
218 | | {186, 0x00AA}, /* Female Ordinal *//* u */ |
219 | | {187, 0x00BA}, /* Mail Ordinal *//* u */ |
220 | | {188, 0x00AB}, /* Dbl lft point Ang Quote *//* u */ |
221 | | {189, 0x25A0}, /* Medium Solid Box */ |
222 | | {190, 0x00BB}, /* Dbl rt point Ang Quote *//* u */ |
223 | | {191, 0x00B1}, /* Plus Over Minus Sign *//* u */ |
224 | | {192, 0x00A6}, /* Broken Vertical Mark *//* u */ |
225 | | {193, 0x00A9}, /* Copyright Sign, Sup *//* u */ |
226 | | {194, 0x00AC}, /* Not Sign *//* u */ |
227 | | {195, 0x00AD}, /* Soft Hyphen *//* u */ |
228 | | {196, 0x00AE}, /* Registered Sign, Sup *//* u */ |
229 | | {197, 0x00B2}, /* Superior Numeral 2 *//* u */ |
230 | | {198, 0x00B3}, /* Superior Numeral 3 *//* u */ |
231 | | {199, 0x00B8}, /* Lowercase Cedilla *//* u */ |
232 | | {200, 0x00B9}, /* Superior Numeral 1 *//* u */ |
233 | | {201, 0x00D7}, /* Multiply Sign *//* u */ |
234 | | {202, 0x00F7}, /* Divide Sign *//* u */ |
235 | | {203, 0x263A}, /* Open Smiling Face */ |
236 | | {204, 0x263B}, /* Solid Smiling Face */ |
237 | | {205, 0x2665}, /* Solid Heart */ |
238 | | {206, 0x2666}, /* Solid Diamond */ |
239 | | {207, 0x2663}, /* Solid Club */ |
240 | | {208, 0x2660}, /* Solid Spade */ |
241 | | {209, 0x2022}, /* Medium Solid Bullet *//* (PC), 0x25CF (other) */ |
242 | | {210, 0x25D8}, /* Large Solid Sq/Open Dot */ |
243 | | {211, 0x25CB}, /* Large Open Bullet *//* (PC only) */ |
244 | | {212, 0x25D9}, /* Large Solid Sq/Open Ring */ |
245 | | {213, 0x2642}, /* Male Symbol */ |
246 | | {214, 0x2640}, /* Female Symbol */ |
247 | | {215, 0x266A}, /* Musical Note */ |
248 | | {216, 0x266B}, /* Pair of Musical Notes */ |
249 | | {217, 0x263C}, /* Compass, 8 Pointed Sun */ |
250 | | {218, 0x25BA}, /* Right Solid Arrowhead */ |
251 | | {219, 0x25C4}, /* Left Solid Arrowhead */ |
252 | | {220, 0x2195}, /* Up/Down Arrow */ |
253 | | {221, 0x203C}, /* Double Exclamation Mark *//* u */ |
254 | | {222, 0x25AC}, /* Thick Horizontal Mark */ |
255 | | {223, 0x21A8}, /* Up/Down Arrow Baseline */ |
256 | | {224, 0x2191}, /* Up Arrow */ |
257 | | {225, 0x2193}, /* Down Arrow */ |
258 | | {226, 0x2192}, /* Right Arrow */ |
259 | | {227, 0x2190}, /* Left Arrow */ |
260 | | {228, 0x221F}, /* Tick Up at Left */ |
261 | | {229, 0x2194}, /* Left/Right Arrow */ |
262 | | {230, 0x25B2}, /* Up Solid Arrowhead */ |
263 | | {231, 0x25BC}, /* Down Solid Arrowhead */ |
264 | | {232, 0x20A7}, /* Pesetas *//* u */ |
265 | | {233, 0x2310}, /* Tick Down at Left *//* u */ |
266 | | {234, 0x2591}, /* Light Shading */ |
267 | | {235, 0x2593}, /* Dark Shading */ |
268 | | {236, 0x2502}, /* Vertical 1 */ |
269 | | {237, 0x2524}, /* Left 1 Vertical 1 */ |
270 | | {238, 0x2561}, /* Left 2 Vertical 1 */ |
271 | | {239, 0x2562}, /* Left 1 Vertical 2 */ |
272 | | {240, 0x2556}, /* Left 1 Down 2 */ |
273 | | {241, 0x2555}, /* Left 2 Down 1 */ |
274 | | {242, 0x2563}, /* Left 2 Verical 2 */ |
275 | | {243, 0x2551}, /* Vertical 2 */ |
276 | | {244, 0x2557}, /* Left 2 Down 2 */ |
277 | | {245, 0x255d}, /* Left 2 Up 2 */ |
278 | | {246, 0x255c}, /* Left 1 Up 2 */ |
279 | | {247, 0x255b}, /* Left 2 Up 1 */ |
280 | | {248, 0x2510}, /* Left 1 Down 1 */ |
281 | | {249, 0x2514}, /* Right 1 Up 1 */ |
282 | | {250, 0x2534}, /* Horizontal 1 Up 1 */ |
283 | | {251, 0x252c}, /* Horizontal 1 Down 1 */ |
284 | | {252, 0x251c}, /* Right 1 Vertical 1 */ |
285 | | {253, 0x2500}, /* Horizontal 1 */ |
286 | | {254, 0x253c}, /* Horizontal 1 Vertical 1 */ |
287 | | {255, 0x255e}, /* Right 2 Vertical 1 */ |
288 | | {256, 0x255f}, /* Right 1 Vertical 2 */ |
289 | | {257, 0x255a}, /* Right 2 Up 2 */ |
290 | | {258, 0x2554}, /* Right 2 Down 2 */ |
291 | | {259, 0x2569}, /* Horizontal 2 Up 2 */ |
292 | | {260, 0x2566}, /* Horizontal 2 Down 2 */ |
293 | | {261, 0x2560}, /* Right 2 Vertical 2 */ |
294 | | {262, 0x2550}, /* Horizontal 2 */ |
295 | | {263, 0x256c}, /* Horizontal 2 Vertical 2 */ |
296 | | {264, 0x2567}, /* Horizontal 2 Up 1 */ |
297 | | {265, 0x2568}, /* Horizontal 1 Up 2 */ |
298 | | {266, 0x2564}, /* Horizontal 2 Down 1 */ |
299 | | {267, 0x2565}, /* Horizontal 1 Down 2 */ |
300 | | {268, 0x2559}, /* Right 1 Up 2 */ |
301 | | {269, 0x2558}, /* Right 2 Up 1 */ |
302 | | {270, 0x2552}, /* Right 2 Down 1 */ |
303 | | {271, 0x2553}, /* Right 1 Down 2 */ |
304 | | {272, 0x256b}, /* Horizontal 1 Vertical 2 */ |
305 | | {273, 0x256a}, /* Horizontal 2 Vertical 1 */ |
306 | | {274, 0x2518}, /* Left 1 Up 1 */ |
307 | | {275, 0x250c}, /* Right 1 Down 1 */ |
308 | | {276, 0x2588}, /* Solid Full Rectangle */ |
309 | | {277, 0x2584}, /* Bottom 1/2 Solid Rectangle */ |
310 | | {278, 0x258c}, /* Left 1/2 Solid Rectangle */ |
311 | | {279, 0x2590}, /* Right 1/2 Solid Rectangle */ |
312 | | {280, 0x2580}, /* Top 1/2 Solid Rectangle */ |
313 | | {281, 0x03B1}, /* Lowercase Greek Alpha *//* u */ |
314 | | {282, 0xEFA3}, |
315 | | {283, 0x0393}, /* Uppercase Greek Gamma *//* u */ |
316 | | {284, 0x03C0}, /* Lowercase Greek Pi *//* u */ |
317 | | {285, 0x03A3}, /* Uppercase Greek Sigma */ |
318 | | {286, 0x03C3}, /* Lowercase Greek Sigma *//* u */ |
319 | | {287, 0x03C4}, /* Lowercase Greek Tau *//* u */ |
320 | | {288, 0x03A6}, /* Uppercase Greek Phi *//* u */ |
321 | | {289, 0x0398}, /* Uppercase Greek Theta *//* u */ |
322 | | {290, 0x03A9}, /* Uppercase Omega, Ohms *//* u */ |
323 | | {291, 0x03B4}, /* Lowercase Greek Delta *//* u */ |
324 | | {292, 0x221E}, /* Infinity Sign *//* u */ |
325 | | {293, 0x03C6}, /* Lowercase Greek Phi *//* u */ |
326 | | {294, 0x03B5}, /* Lowercase Greek Epsilon *//* u */ |
327 | | {295, 0x2229}, /* Set Intersection *//* u */ |
328 | | {296, 0x2261}, /* Exactly Equals *//* u */ |
329 | | {297, 0x2265}, /* Greater Than/Equal To *//* u */ |
330 | | {298, 0x2264}, /* Less Than/Equal To *//* u */ |
331 | | {299, 0x2320}, /* Top Segment Integral */ |
332 | | {300, 0x2321}, /* Bottom Segment Integral */ |
333 | | {301, 0x2248}, /* 2 Wavy Line Approx *//* u */ |
334 | | {302, 0x2219}, /* Center Period *//* u */ |
335 | | {303, 0x221A}, /* Radical Symbol *//* u */ |
336 | | {305, 0x25AA}, /* Small Solid Box */ |
337 | | {306, 0x013F}, /* Uppercase L Dot *//* u */ |
338 | | {307, 0x0140}, /* Lowercase L-Dot *//* u */ |
339 | | {308, 0x2113}, /* Litre Symbol *//* u */ |
340 | | {309, 0x0149}, /* Lowercase Apostrophe-N *//* u */ |
341 | | {310, 0x2032}, /* Prime *//* u */ |
342 | | {311, 0x2033}, /* Double Prime *//* u */ |
343 | | {312, 0x2020}, /* Dagger Symbol *//* u */ |
344 | | {313, 0x2122}, /* Trademark Sign, Sup *//* u */ |
345 | | {314, 0x2017}, /* Double Underline */ |
346 | | {315, 0x02C7}, /* Lowercase Hacek *//* u */ |
347 | | {316, 0x02DA}, /* Lowercase Ring *//* u */ |
348 | | {317, 0x02CA}, /* Uppercase Acute */ |
349 | | {318, 0x02CB}, /* Uppercase Grave */ |
350 | | {319, 0x02C6}, /* Uppercase Circumflex */ |
351 | | {320, 0x00A8}, /* Uppercase Dieresis */ |
352 | | {321, 0x02DC}, /* Uppercase Tilde */ |
353 | | {322, 0x02C7}, /* Uppercase Hacek */ |
354 | | {323, 0x02DA}, /* Uppercase Ring */ |
355 | | {324, 0x2215}, /* Vulgar Fraction Bar *//* u */ |
356 | | {325, 0x2014}, /* Em Dash *//* u */ |
357 | | {326, 0x2013}, /* En Dash *//* u */ |
358 | | {327, 0x2021}, /* Double Dagger Symbol *//* u */ |
359 | | {328, 0x0131}, /* Lowercase Undotted I *//* u */ |
360 | | {329, 0x0027}, /* Neutral Single Quote *//* u */ |
361 | | {330, 0x00B8}, /* Uppercase Cedilla */ |
362 | | {331, 0x2022}, /* Small Solid Bullet *//* u */ |
363 | | {332, 0x207F}, /* Superior Lowercase N *//* u */ |
364 | | {333, 0x2302}, /* Home Plate */ |
365 | | {335, 0x0138}, /* Lowercase Greenlandic Kra *//* u */ |
366 | | {336, 0xEFA2}, |
367 | | {338, 0x0166}, /* Uppercase T-Stroke *//* u */ |
368 | | {339, 0x0167}, /* Lowercase T-Stroke *//* u */ |
369 | | {340, 0x014A}, /* Uppercase Eng *//* u */ |
370 | | {341, 0x014B}, /* Lowercase Eng *//* u */ |
371 | | {342, 0x0111}, /* Lowercase D-Stroke *//* u */ |
372 | | {371, 0xEFA4}, |
373 | | {372, 0xEFAA}, |
374 | | {373, 0xF4C8}, |
375 | | {400, 0x0102}, /* Uppercase A Breve *//* u */ |
376 | | {401, 0x0103}, /* Lowercase A Breve *//* u */ |
377 | | {402, 0x0100}, /* Uppercase A Macron *//* u */ |
378 | | {403, 0x0101}, /* Lowercase A Macron *//* u */ |
379 | | {404, 0x0104}, /* Uppercase A Ogonek *//* u */ |
380 | | {405, 0x0105}, /* Lowercase A Ogonek *//* u */ |
381 | | {406, 0x0106}, /* Uppercase C Acute *//* u */ |
382 | | {407, 0x0107}, /* Lowercase C Acute *//* u */ |
383 | | {408, 0xF4C4}, |
384 | | {409, 0xF4CE}, |
385 | | {410, 0x010C}, /* Uppercase C Hacek *//* u */ |
386 | | {411, 0x010D}, /* Lowercase C Hacek *//* u */ |
387 | | {414, 0x010E}, /* Uppercase D Hacek *//* u */ |
388 | | {415, 0x010F}, /* Lowercase D Hacek *//* u */ |
389 | | {416, 0x011A}, /* Uppercase E Hacek *//* u */ |
390 | | {417, 0x011B}, /* Lowercase E Hacek *//* u */ |
391 | | {418, 0x0116}, /* Uppercase E Overdot *//* u */ |
392 | | {419, 0x0117}, /* Lowercase E Overdot *//* u */ |
393 | | {420, 0x0112}, /* Uppercase E Macron *//* u */ |
394 | | {421, 0x0113}, /* Lowercase E Macron *//* u */ |
395 | | {422, 0x0118}, /* Uppercase E Ogonek *//* u */ |
396 | | {423, 0x0119}, /* Lowercase E Ogonek *//* u */ |
397 | | {428, 0x0122}, /* Uppercase G Cedilla *//* u */ |
398 | | {429, 0x0123}, /* Lowercase G Cedilla *//* u */ |
399 | | {432, 0x012E}, /* Uppercase I Ogonek *//* u */ |
400 | | {433, 0x012F}, /* Lowercase I Ogonek *//* u */ |
401 | | {434, 0x012A}, /* Uppercase I Macron *//* u */ |
402 | | {435, 0x012B}, /* Lowercase I Macron *//* u */ |
403 | | {438, 0x0136}, /* Uppercase K Cedilla *//* u */ |
404 | | {439, 0x0137}, /* Lowercase K Cedilla *//* u */ |
405 | | {440, 0x0139}, /* Uppercase L Acute *//* u */ |
406 | | {441, 0x013A}, /* Lowercase L Acute *//* u */ |
407 | | {442, 0x013D}, /* Uppercase L Hacek *//* u */ |
408 | | {443, 0x013E}, /* Lowercase L Hacek *//* u */ |
409 | | {444, 0x013B}, /* Uppercase L Cedilla *//* u */ |
410 | | {445, 0x013C}, /* Lowercase L Cedilla *//* u */ |
411 | | {446, 0x0143}, /* Uppercase N Acute *//* u */ |
412 | | {447, 0x0144}, /* Lowercase N Acute *//* u */ |
413 | | {448, 0x0147}, /* Uppercase N Hacek *//* u */ |
414 | | {449, 0x0148}, /* Lowercase N Hacek *//* u */ |
415 | | {450, 0x0145}, /* Uppercase N Cedilla *//* u */ |
416 | | {451, 0x0146}, /* Lowercase N Cedilla *//* u */ |
417 | | {452, 0x0150}, /* Uppercase O Dbl Acute *//* u */ |
418 | | {453, 0x0151}, /* Lowercase O Dbl Acute *//* u */ |
419 | | {454, 0x014C}, /* Uppercase O Macron *//* u */ |
420 | | {455, 0x014D}, /* Lowercase O Macron *//* u */ |
421 | | {456, 0x0154}, /* Uppercase R Acute *//* u */ |
422 | | {457, 0x0155}, /* Lowercase R Acute *//* u */ |
423 | | {458, 0x0158}, /* Uppercase R Hacek *//* u */ |
424 | | {459, 0x0159}, /* Lowercase R Hacek *//* u */ |
425 | | {460, 0x0156}, /* Uppercase R Cedilla *//* u */ |
426 | | {461, 0x0157}, /* Lowercase R Cedilla *//* u */ |
427 | | {462, 0x015A}, /* Uppercase S Acute *//* u */ |
428 | | {463, 0x015B}, /* Lowercase S Acute *//* u */ |
429 | | {466, 0x0164}, /* Uppercase T Hacek *//* u */ |
430 | | {467, 0x0165}, /* Lowercase T Hacek *//* u */ |
431 | | {468, 0x0162}, /* Uppercase T Cedilla *//* u */ |
432 | | {469, 0x0163}, /* Lowercase T Cedilla *//* u */ |
433 | | {470, 0x0168}, /* Uppercase U Tilde *//* u */ |
434 | | {471, 0x0169}, /* Lowercase U Tilde *//* u */ |
435 | | {474, 0x0170}, /* Uppercase U Double Acute *//* u */ |
436 | | {475, 0x0171}, /* Lowercase U Double Acute *//* u */ |
437 | | {476, 0x016E}, /* Uppercase U Ring *//* u */ |
438 | | {477, 0x016F}, /* Lowercase U Ring *//* u */ |
439 | | {478, 0x016A}, /* Uppercase U Macron *//* u */ |
440 | | {479, 0x016B}, /* Lowercase U Macron *//* u */ |
441 | | {480, 0x0172}, /* Uppercase U Ogonek *//* u */ |
442 | | {481, 0x0173}, /* Lowercase U Ogonek *//* u */ |
443 | | {482, 0x0179}, /* Uppercase Z Acute *//* u */ |
444 | | {483, 0x017A}, /* Lowercase Z Acute *//* u */ |
445 | | {484, 0x017B}, /* Uppercase Z Overdot *//* u */ |
446 | | {485, 0x017C}, /* Lowercase Z Overdot *//* u */ |
447 | | {486, 0x0128}, /* Uppercase I Tilde *//* u */ |
448 | | {487, 0x0129}, /* Lowercase I Tilde *//* u */ |
449 | | {500, 0xEFBF}, /* Radical Segment */ |
450 | | {501, 0x221D}, /* Proportional To Symbol */ |
451 | | {502, 0x212F}, /* Lowercase Italic E */ |
452 | | {503, 0xEFEC}, /* Alternate LC Epsilon */ |
453 | | {504, 0x2234}, /* Therefore */ |
454 | | {505, 0x0393}, /* Uppercase Greek Gamma */ |
455 | | {506, 0x0394}, /* Uppercase Greek Delta *//* u */ |
456 | | {507, 0x0398}, /* Uppercase Greek Theta */ |
457 | | {508, 0x039B}, /* Uppercase Greek Lambda */ |
458 | | {509, 0x039E}, /* Uppercase Greek Xi */ |
459 | | {510, 0x03A0}, /* Uppercase Greek Pi */ |
460 | | {511, 0x03A3}, /* Uppercase Greek Sigma */ |
461 | | {512, 0x03A5}, /* Uppercase Greek Upsilon */ |
462 | | {513, 0x03A6}, /* Uppercase Greek Phi */ |
463 | | {514, 0x03A8}, /* Uppercase Greek Psi */ |
464 | | {515, 0x03A9}, /* Uppercase Greek Omega */ |
465 | | {516, 0x2207}, /* Nabla Symbol */ |
466 | | {517, 0x2202}, /* Partial Diff Symbol *//* u */ |
467 | | {518, 0x03C2}, /* Terminal Symbol */ |
468 | | {519, 0x2260}, /* Not Equal To Symbol *//* u */ |
469 | | {520, 0xEFEB}, /* Underline, Composite */ |
470 | | {521, 0x2235}, /* Because */ |
471 | | {522, 0x03B1}, /* Lowercase Greek Alpha */ |
472 | | {523, 0x03B2}, /* Lowercase Greek Beta */ |
473 | | {524, 0x03B3}, /* Lowercase Greek Gamma */ |
474 | | {525, 0x03B4}, /* Lowercase Greek Delta */ |
475 | | {526, 0x03B5}, /* Lowercase Greek Epsilon */ |
476 | | {527, 0x03B6}, /* Lowercase Greek Zeta */ |
477 | | {528, 0x03B7}, /* Lowercase Greek Eta */ |
478 | | {529, 0x03B8}, /* Lowercase Greek Theta */ |
479 | | {530, 0x03B9}, /* Lowercase Greek Iota */ |
480 | | {531, 0x03BA}, /* Lowercase Greek Kappa */ |
481 | | {532, 0x03BB}, /* Lowercase Greek Lambda */ |
482 | | {533, 0x03BC}, /* Lowercase Greek Mu */ |
483 | | {534, 0x03BD}, /* Lowercase Greek Nu */ |
484 | | {535, 0x03BE}, /* Lowercase Greek Xi */ |
485 | | {536, 0x03BF}, /* Lowercase Greek Omicron */ |
486 | | {537, 0x03C0}, /* Lowercase Greek Pi *//* u */ |
487 | | {538, 0x03C1}, /* Lowercase Greek Rho */ |
488 | | {539, 0x03C3}, /* Lowercase Greek Sigma */ |
489 | | {540, 0x03C4}, /* Lowercase Greek Tau */ |
490 | | {541, 0x03C5}, /* Lowercase Greek Upsilon */ |
491 | | {542, 0x03C6}, /* Lowercase Greek Phi */ |
492 | | {543, 0x03C7}, /* Lowercase Greek Chi */ |
493 | | {544, 0x03C8}, /* Lowercase Greek Psi */ |
494 | | {545, 0x03C9}, /* Lowercase Greek Omega */ |
495 | | {546, 0x03D1}, /* Open LC Greek Theta */ |
496 | | {547, 0x03D5}, /* Open LC Greek Phi */ |
497 | | {548, 0x03D6}, /* Alternate LC Pi */ |
498 | | {549, 0x2243}, /* Wavy/Straight Approx */ |
499 | | {550, 0x2262}, /* Not Exactly Equal To */ |
500 | | {551, 0x21D1}, /* Up Arrow Dbl Stroke */ |
501 | | {552, 0x21D2}, /* Right Arrow Dbl Stroke */ |
502 | | {553, 0x21D3}, /* Down Arrow Dbl Stroke */ |
503 | | {554, 0x21D0}, /* Left Arrow Dbl Stroke */ |
504 | | {555, 0x21D5}, /* Up/Dn Arrow Dbl Stroke */ |
505 | | {556, 0x21D4}, /* Lft/Rt Arrow Dbl Stroke */ |
506 | | {557, 0x21C4}, /* Right Over Left Arrow */ |
507 | | {558, 0x21C6}, /* Left Over Right Arrow */ |
508 | | {559, 0xEFE9}, /* Vector Symbol */ |
509 | | {560, 0xEFEA}, /* Overline, Composite */ |
510 | | {561, 0x2200}, /* For All Symbol */ |
511 | | {562, 0x2203}, /* There Exists Symbol */ |
512 | | {563, 0x22A4}, /* Top Symbol */ |
513 | | {564, 0x22A5}, /* Bottom Symbol */ |
514 | | {565, 0x222A}, /* Set Union Symbol */ |
515 | | {566, 0x2208}, /* Element Of Symbol */ |
516 | | {567, 0x220B}, /* Contains Symbol */ |
517 | | {568, 0x2209}, /* Not Element Of Symbol */ |
518 | | {569, 0x2282}, /* Proper Subset Symbol */ |
519 | | {570, 0x2283}, /* Proper Superset Symbol */ |
520 | | {571, 0x2284}, /* Not Proper Subset Symbol */ |
521 | | {572, 0x2285}, /* Not Proper Superset Symbol */ |
522 | | {573, 0x2286}, /* Subset Symbol */ |
523 | | {574, 0x2287}, /* Superset Symbol */ |
524 | | {575, 0x2295}, /* Plus In Circle Symbol */ |
525 | | {576, 0x2299}, /* Dot In Circle */ |
526 | | {577, 0x2297}, /* Times In Circle */ |
527 | | {578, 0x2296}, /* Minus In Circle */ |
528 | | {579, 0x2298}, /* Slash In Circle */ |
529 | | {580, 0x2227}, /* Logical And Symbol */ |
530 | | {581, 0x2228}, /* Logical Or Symbol */ |
531 | | {582, 0x22BB}, /* Exclusive Or Symbol */ |
532 | | {583, 0x2218}, /* Funct. Composition Sym */ |
533 | | {584, 0x20DD}, /* Large Open Circle */ |
534 | | {585, 0x22A3}, /* Assertion Symbol */ |
535 | | {586, 0x22A2}, /* Backwards Assertion Symbol */ |
536 | | {587, 0x222B}, /* Integral Symbol *//* u */ |
537 | | {588, 0x222E}, /* Curvilinear Integral Sym */ |
538 | | {589, 0x2220}, /* Angle Symbol */ |
539 | | {590, 0x2205}, /* Empty Set Symbol */ |
540 | | {591, 0x2135}, /* Hebrew Aleph */ |
541 | | {592, 0x2136}, /* Hebrew Beth */ |
542 | | {593, 0x2137}, /* Hebrew Gimmel */ |
543 | | {594, 0x212D}, /* Fraktur C */ |
544 | | {595, 0x2111}, /* Fraktur I */ |
545 | | {596, 0x211C}, /* Fraktur R */ |
546 | | {597, 0x2128}, /* Fraktur Z */ |
547 | | {598, 0x250C}, /* Top Left Bracket */ |
548 | | {599, 0x2514}, /* Bottom Left Bracket */ |
549 | | {600, 0xEFE3}, /* Top Left Brace */ |
550 | | {601, 0xEFE2}, /* Middle Left Brace */ |
551 | | {602, 0xEFE1}, /* Bottom Left Brace */ |
552 | | {603, 0xEFD4}, /* Middle Curv. Integral */ |
553 | | {604, 0xEFD3}, /* Top Left Summation */ |
554 | | {605, 0x2225}, /* Dbl Verical Line, Comp */ |
555 | | {606, 0xEFD2}, /* Bottom Left Summation */ |
556 | | {607, 0xEFD1}, /* Bottom Diag. Summation */ |
557 | | {608, 0x2510}, /* Top Right Bracket */ |
558 | | {609, 0x2518}, /* Bottom Right Bracket */ |
559 | | {610, 0xEFE0}, /* Top Right Brace */ |
560 | | {611, 0xEFDF}, /* Middle Right Brace */ |
561 | | {612, 0xEFDE}, /* Bottom Right Brace */ |
562 | | {613, 0xEFDD}, /* Thick Vert Line, Comp */ |
563 | | {614, 0x2223}, /* Thin Vert Line, Comp */ |
564 | | {615, 0xEFDC}, /* Bottom Radical, Vert */ |
565 | | {616, 0xEFD0}, /* Top Right Summation */ |
566 | | {617, 0xEFCF}, /* Middle Summation */ |
567 | | {618, 0xEFCE}, /* Bottom Right Summation */ |
568 | | {619, 0xEFCD}, /* Top Diagonal Summation */ |
569 | | {620, 0x2213}, /* Minus Over Plus Sign */ |
570 | | {621, 0x2329}, /* Left Angle Bracket */ |
571 | | {622, 0x232A}, /* Right Angle Bracket */ |
572 | | {623, 0xEFFF}, /* Mask Symbol, Sup */ |
573 | | {624, 0x2245}, /* Wavy/2 Straight Approx */ |
574 | | {625, 0x2197}, /* 45 degree Arrow */ |
575 | | {626, 0x2198}, /* -45 degree Arrow */ |
576 | | {627, 0x2199}, /* -135 degree Arrow */ |
577 | | {628, 0x2196}, /* 135 degree Arrow */ |
578 | | {629, 0x25B5}, /* Up Open Triangle */ |
579 | | {630, 0x25B9}, /* Right Open Triangle */ |
580 | | {631, 0x25BF}, /* Down Open Triangle */ |
581 | | {632, 0x25C3}, /* Left Open Triangle */ |
582 | | {633, 0x226A}, /* Much Less Than Sign */ |
583 | | {634, 0x226B}, /* Much Greater Than Sign */ |
584 | | {635, 0x2237}, /* Proportional To Symbol */ |
585 | | {636, 0xEFCA}, /* Defined As Symbol */ |
586 | | {637, 0xEFD5}, /* LC Greek Digamma */ |
587 | | {638, 0x210F}, /* Plank's Constant/2 pi */ |
588 | | {639, 0x2112}, /* Laplace Transform Sym */ |
589 | | {640, 0xEFFE}, /* Power Set Symbol */ |
590 | | {641, 0x2118}, /* Weierstraussian Symbol */ |
591 | | {642, 0x2211}, /* Summation Symbol, Sigma *//* u */ |
592 | | {643, 0x301A}, /* Left Double Bracket */ |
593 | | {644, 0xEFC9}, /* Middle Dbl Bracket */ |
594 | | {645, 0x301B}, /* Right Double Bracket */ |
595 | | {646, 0x256D}, /* Lft Top Round Corner */ |
596 | | {647, 0x2570}, /* Lft Bottom Round Corner */ |
597 | | {648, 0xEFC8}, /* Ext Lrg Union/Product */ |
598 | | {649, 0xEFC7}, /* Bottom Lrg Union */ |
599 | | {650, 0xEFC6}, /* Top Large Intersection */ |
600 | | {651, 0xEFC5}, /* Top Lft Dbl Bracket */ |
601 | | {652, 0xEFC4}, /* Bottom Lft Dbl Bracket */ |
602 | | {653, 0xEFFC}, /* Large Open Box */ |
603 | | {654, 0x25C7}, /* Open Diamond */ |
604 | | {655, 0x256E}, /* Rt Top Round Corner */ |
605 | | {656, 0x256F}, /* Rt Bottom Round Corner */ |
606 | | {657, 0xEFC3}, /* Bottom Lrg Bott Product */ |
607 | | {658, 0xEFC2}, /* Top Large Top Product */ |
608 | | {659, 0xEFC1}, /* Top Rt Dbl Bracket */ |
609 | | {660, 0xEFC0}, /* Bottom Rt Dbl Bracket */ |
610 | | {661, 0xEFFB}, /* Large Solid Box */ |
611 | | {662, 0x25C6}, /* Solid Diamond */ |
612 | | {663, 0x220D}, /* Such That */ |
613 | | {664, 0x2217}, /* Math Asterisk Sign */ |
614 | | {665, 0xEFE8}, /* Horizontal Arrow Ext */ |
615 | | {666, 0xEFCB}, /* Dbl Horizontal Arrow Ext */ |
616 | | {667, 0xEFCC}, /* Complement of #617 */ |
617 | | {668, 0x221F}, /* Right Angle Symbol */ |
618 | | {669, 0x220F}, /* N-ary Product */ |
619 | | {683, 0x203E}, /* Triangular Bullet */ |
620 | | {684, 0x25CA}, /* Lozenge */ |
621 | | {685, 0xF4CB}, |
622 | | {1000, 0x2070}, /* Superior Numeral 0 */ |
623 | | {1001, 0x2074}, /* Superior Numeral 4 */ |
624 | | {1002, 0x2075}, /* Superior Numeral 5 */ |
625 | | {1003, 0x2076}, /* Superior Numeral 6 */ |
626 | | {1004, 0x2077}, /* Superior Numeral 7 */ |
627 | | {1005, 0x2078}, /* Superior Numeral 8 */ |
628 | | {1006, 0x2079}, /* Superior Numeral 9 */ |
629 | | {1009, 0xF4C1}, |
630 | | {1010, 0xF4C2}, |
631 | | {1011, 0xEFA5}, |
632 | | {1012, 0xEFAE}, |
633 | | {1013, 0xEFA6}, |
634 | | {1015, 0xEFAF}, |
635 | | {1017, 0x201C}, /* Double Open Quote (6) *//* u */ |
636 | | {1018, 0x201D}, /* Double Close Quote (9) *//* u */ |
637 | | {1019, 0x201E}, /* Dbl Baseline Quote (9) *//* u */ |
638 | | {1020, 0x2003}, /* Em Space */ |
639 | | {1021, 0x2002}, /* En Space */ |
640 | | {1023, 0x2009}, /* Thin Space */ |
641 | | {1028, 0x2026}, /* Ellipsis *//* u */ |
642 | | {1030, 0x02DB}, /* Uppercase Ogonek */ |
643 | | {1031, 0x017E}, /* Lowercase Z Hacek *//* u */ |
644 | | {1034, 0x2120}, /* Signature Mark, Sup */ |
645 | | {1036, 0x211E}, /* Prescription Sign */ |
646 | | {1040, 0xF001}, /* Lowercase FI Ligature *//* u */ |
647 | | {1041, 0xF002}, /* Lowercase FL Ligature *//* u */ |
648 | | {1042, 0xFB00}, /* Lowercase FF Ligature */ |
649 | | {1043, 0xFB03}, /* Lowercase FFI Ligature */ |
650 | | {1044, 0xFB04}, /* Lowercase ffl Ligature */ |
651 | | {1045, 0x02DD}, /* Uppercase Dbl Acute */ |
652 | | {1047, 0x0133}, /* Lowercase IJ Ligature *//* u */ |
653 | | {1060, 0x2105}, /* Care Of Symbol *//* u */ |
654 | | {1061, 0x011E}, /* Uppercase G Breve *//* u */ |
655 | | {1062, 0x011F}, /* Lowercase G Breve *//* u */ |
656 | | {1063, 0x015E}, /* Uppercase S Cedilla *//* u */ |
657 | | {1064, 0x015F}, /* Lowercase S Cedilla *//* u */ |
658 | | {1065, 0x0130}, /* Uppercase I Overdot *//* u */ |
659 | | {1066, 0x20A3}, /* French Franc *//* u */ |
660 | | {1067, 0x201A}, /* Sngl Baseline Quote (9) *//* u */ |
661 | | {1068, 0x2030}, /* Per Mill Sign *//* u */ |
662 | | {1069, 0x20AC}, /* Euro Sign */ |
663 | | {1084, 0x02C9}, /* Lowercase Macron *//* u */ |
664 | | {1085, 0xEFEF}, /* Uppercase Macron */ |
665 | | {1086, 0x02D8}, /* Lowercase Breve *//* u */ |
666 | | {1087, 0xEFEE}, /* Uppercase Breve */ |
667 | | {1088, 0x02D9}, /* Lowercase Overdot *//* u */ |
668 | | {1089, 0xEFED}, /* Uppercase Overdot */ |
669 | | {1090, 0x0153}, /* Lowercase OE Ligature *//* u */ |
670 | | {1091, 0x0152}, /* Uppercase OE Ligature *//* u */ |
671 | | {1092, 0x2039}, /* Sngl lft point Ang Quote *//* u */ |
672 | | {1093, 0x203A}, /* Sngl rt point Ang Quote *//* u */ |
673 | | {1094, 0x25A1}, /* Medium Open Box */ |
674 | | {1095, 0x0141}, /* Uppercase L-Stroke *//* u */ |
675 | | {1096, 0x0142}, /* Lowercase L-Stroke *//* u */ |
676 | | {1097, 0x02DD}, /* Lowercase Dbl Acute *//* u */ |
677 | | {1098, 0x02DB}, /* Lowercase Ogonek *//* u */ |
678 | | {1099, 0x21B5}, /* Carriage Return Symbol */ |
679 | | {1100, 0x00AE}, /* Registered, Full, Serif */ |
680 | | {1101, 0x00A9}, /* Copyright, Full, Serif */ |
681 | | {1102, 0x2122}, /* Trademark, Full, Serif */ |
682 | | {1103, 0x00AE}, /* Registered, Full, Sans */ |
683 | | {1104, 0x00A9}, /* Copyright, Full, Sans */ |
684 | | {1105, 0x2122}, /* Trademark, Full, Sans */ |
685 | | {1106, 0x017D}, /* Uppercase Z Hacek *//* u */ |
686 | | {1107, 0x0132}, /* Uppercase IJ Ligature *//* u */ |
687 | | {1108, 0x25AB}, /* Small Open Box */ |
688 | | {1109, 0x25E6}, /* Small Open Bullet */ |
689 | | {1110, 0x25CB}, /* Medium Open Bullet */ |
690 | | {1111, 0x25CF}, /* Large Solid Bullet */ |
691 | | {1112, 0x2182}, /* Visible Carriage Return */ |
692 | | {1113, 0x21E5}, /* Visible Tab */ |
693 | | {1114, 0x2423}, /* Visible Space */ |
694 | | {1115, 0x00AD}, /* Visible Soft Hyphen */ |
695 | | {1116, 0xFFFF}, /* Visible End-of-File */ |
696 | | {1409, 0x02D9}, /* Dot Above */ |
697 | | {1450, 0xEFA8}, |
698 | | {1451, 0xEFA9}, |
699 | | {1452, 0xF4CA}, |
700 | | {1453, 0xF4CC}, |
701 | | {1454, 0xEFAC}, |
702 | | {2000, 0x278A}, /* Dingbat, negative circled 1 */ |
703 | | {2001, 0x27A1}, /* Black rightwards arrow */ |
704 | | {2002, 0x278C}, /* Dingbat, negative circled 3 */ |
705 | | {2003, 0x278D}, /* Dingbat, negative circled 4 */ |
706 | | {2004, 0x278E}, /* Dingbat, negative circled 5 */ |
707 | | {2005, 0x2790}, /* Dingbat, negative circled 7 */ |
708 | | {2007, 0x2792}, /* Dingbat, negative circled 9 */ |
709 | | {2008, 0x2793}, /* Dingbat, negative circled 10 */ |
710 | | {2009, 0x2791}, /* Dingbat, negative circled 8 */ |
711 | | {2010, 0x2713}, /* Checkmark */ |
712 | | {2011, 0x2727}, /* White 4-pointed star */ |
713 | | {2013, 0x2708}, /* Airplane */ |
714 | | {2014, 0x2722}, /* Four teardrop-spoked asterisk */ |
715 | | {2015, 0x2789}, /* Dingbat, circled 10 */ |
716 | | {2016, 0x2780}, /* Dingbat, circled 1 */ |
717 | | {2017, 0x2781}, /* Dingbat, circled 2 */ |
718 | | {2018, 0x2782}, /* Dingbat, circled 3 */ |
719 | | {2019, 0x2783}, /* Dingbat, circled 4 */ |
720 | | {2020, 0x2784}, /* Dingbat, circled 5 */ |
721 | | {2021, 0x2785}, /* Dingbat, circled 6 */ |
722 | | {2022, 0x2786}, /* Dingbat, circled 7 */ |
723 | | {2023, 0x2787}, /* Dingbat, circled 8 */ |
724 | | {2024, 0x2788}, /* Dingbat, circled 9 */ |
725 | | {2027, 0x2717}, /* Ballot X */ |
726 | | {2030, 0x00A7}, /* Section Sign */ |
727 | | {2031, 0x278B}, /* Dingbat, negative circled 2 */ |
728 | | {2032, 0x272C}, /* Black center white star */ |
729 | | {2037, 0x279C}, /* Heavy round-tipped rightwards arrow */ |
730 | | {2041, 0x27A7}, |
731 | | {2044, 0x271D}, |
732 | | {2046, 0x2736}, |
733 | | {2047, 0x272B}, |
734 | | {2048, 0x25B2}, |
735 | | {2050, 0x2020}, |
736 | | {2052, 0x272A}, |
737 | | {2053, 0x279B}, |
738 | | {2055, 0x27A5}, |
739 | | {2058, 0x2730}, |
740 | | {2059, 0x25EF}, |
741 | | {2060, 0x272D}, |
742 | | {2061, 0x278F}, |
743 | | {2064, 0x2606}, |
744 | | {2070, 0x279D}, |
745 | | {2071, 0x279E}, |
746 | | {2072, 0x2749}, |
747 | | {2076, 0x271E}, |
748 | | {2077, 0x2718}, |
749 | | {2078, 0x272E}, |
750 | | {2080, 0x2533}, |
751 | | {2083, 0x2605}, |
752 | | {2087, 0x27A6}, |
753 | | {2088, 0x2729}, |
754 | | {2089, 0x2756}, |
755 | | {2090, 0x2737}, |
756 | | {2091, 0x25A0}, |
757 | | {2092, 0x272F}, |
758 | | {2096, 0x2702}, |
759 | | {2100, 0x275B}, |
760 | | {2104, 0x27BD}, |
761 | | {2105, 0x27B8}, |
762 | | {2108, 0x2709}, |
763 | | {2109, 0x2701}, |
764 | | {2113, 0x275C}, |
765 | | {2116, 0x274D}, |
766 | | {2120, 0x2703}, |
767 | | {2121, 0x2712}, |
768 | | {2200, 0x2776}, |
769 | | {2202, 0x2778}, |
770 | | {2203, 0x2779}, |
771 | | {2204, 0x277A}, |
772 | | {2205, 0x277C}, |
773 | | {2207, 0x277E}, |
774 | | {2208, 0x277F}, |
775 | | {2209, 0x277D}, |
776 | | {2210, 0x2714}, |
777 | | {2212, 0x27BE}, |
778 | | {2213, 0x2765}, |
779 | | {2215, 0x2469}, |
780 | | {2216, 0x2460}, |
781 | | {2217, 0x2461}, |
782 | | {2218, 0x2462}, |
783 | | {2219, 0x2463}, |
784 | | {2220, 0x2464}, |
785 | | {2221, 0x2465}, |
786 | | {2222, 0x2466}, |
787 | | {2223, 0x2467}, |
788 | | {2224, 0x2468}, |
789 | | {2227, 0xEFAB}, |
790 | | {2228, 0xEFA1}, |
791 | | {2229, 0xF4C0}, |
792 | | {2230, 0x2720}, |
793 | | {2231, 0x2777}, |
794 | | {2232, 0x274B}, |
795 | | {2233, 0x2798}, |
796 | | {2234, 0x27B3}, |
797 | | {2235, 0x27A4}, |
798 | | {2240, 0x2738}, |
799 | | {2242, 0x27BC}, |
800 | | {2245, 0x27B7}, |
801 | | {2248, 0x25BC}, |
802 | | {2249, 0x25D6}, |
803 | | {2250, 0x2751}, |
804 | | {2252, 0x2732}, |
805 | | {2253, 0x27BB}, |
806 | | {2254, 0x2716}, |
807 | | {2256, 0x2731}, |
808 | | {2258, 0x2743}, |
809 | | {2260, 0x2747}, |
810 | | {2261, 0x277B}, |
811 | | {2262, 0x27A8}, |
812 | | {2263, 0x00A9}, |
813 | | {2264, 0x274A}, |
814 | | {2265, 0x27B4}, |
815 | | {2267, 0x27A2}, |
816 | | {2272, 0x2739}, |
817 | | {2278, 0x273D}, |
818 | | {2279, 0x273B}, |
819 | | {2280, 0x25BD}, |
820 | | {2282, 0x274F}, |
821 | | {2283, 0x2733}, |
822 | | {2285, 0x27BA}, |
823 | | {2286, 0x2715}, |
824 | | {2287, 0x27B5}, |
825 | | {2288, 0x2741}, |
826 | | {2290, 0x273E}, |
827 | | {2292, 0x2748}, |
828 | | {2293, 0x00AE}, |
829 | | {2295, 0x261E}, |
830 | | {2300, 0x2767}, |
831 | | {2305, 0x2799}, |
832 | | {2306, 0x2794}, |
833 | | {2307, 0x270F}, |
834 | | {2308, 0x2752}, |
835 | | {2309, 0x27B9}, |
836 | | {2310, 0x279A}, |
837 | | {2312, 0x261B}, |
838 | | {2313, 0x270C}, |
839 | | {2315, 0x2706}, |
840 | | {2317, 0x2766}, |
841 | | {2324, 0x2711}, |
842 | | {2325, 0x2750}, |
843 | | {2326, 0x27A3}, |
844 | | {2327, 0x27B6}, |
845 | | {2410, 0x2763}, |
846 | | {2411, 0x2721}, |
847 | | {2412, 0x27B2}, |
848 | | {2414, 0x2764}, |
849 | | {2428, 0x2762}, |
850 | | {2432, 0x2746}, |
851 | | {2441, 0x27A9}, |
852 | | {2442, 0x27AB}, |
853 | | {2443, 0x27AD}, |
854 | | {2444, 0x2719}, |
855 | | {2447, 0x2734}, |
856 | | {2448, 0x2726}, |
857 | | {2451, 0x273F}, |
858 | | {2452, 0x273A}, |
859 | | {2454, 0x275A}, |
860 | | {2456, 0x271C}, |
861 | | {2458, 0x2707}, |
862 | | {2460, 0x2740}, |
863 | | {2464, 0x2744}, |
864 | | {2472, 0x2723}, |
865 | | {2475, 0x27AF}, |
866 | | {2476, 0x271F}, |
867 | | {2478, 0x2724}, |
868 | | {2479, 0x2735}, |
869 | | {2480, 0x2758}, |
870 | | {2483, 0x273C}, |
871 | | {2484, 0x2733}, |
872 | | {2486, 0x2759}, |
873 | | {2488, 0x271B}, |
874 | | {2490, 0x2742}, |
875 | | {2492, 0x2745}, |
876 | | {2493, 0x0040}, |
877 | | {2497, 0x2704}, |
878 | | {2498, 0x260E}, |
879 | | {2499, 0x270E}, |
880 | | {2500, 0x2761}, |
881 | | {2501, 0x275D}, |
882 | | {2502, 0x2725}, |
883 | | {2504, 0x27A0}, |
884 | | {2507, 0x27AC}, |
885 | | {2508, 0x27AE}, |
886 | | {2509, 0x2710}, |
887 | | {2513, 0x0023}, |
888 | | {2514, 0x260F}, |
889 | | {2515, 0x270D}, |
890 | | {2517, 0x275E}, |
891 | | {2520, 0x279F}, |
892 | | {2523, 0x27AA}, |
893 | | {2524, 0x27B1}, |
894 | | {2612, 0x0391}, |
895 | | {2613, 0x0392}, |
896 | | {2616, 0x0395}, |
897 | | {2617, 0x0396}, |
898 | | {2618, 0x0397}, |
899 | | {2620, 0x0399}, |
900 | | {2621, 0x039A}, |
901 | | {2623, 0x039C}, |
902 | | {2624, 0x039D}, |
903 | | {2626, 0x039F}, |
904 | | {2628, 0x03A1}, |
905 | | {2630, 0x03A4}, |
906 | | {2633, 0x03A7}, |
907 | | {2680, 0xEFAD}, |
908 | | {2681, 0xF4C3}, |
909 | | {2682, 0xF4C5}, |
910 | | {2726, 0x2726}, |
911 | | {3487, 0xEFA0}, |
912 | | {3488, 0xF4C9}, |
913 | | {3489, 0xF4CD}, |
914 | | {3490, 0xF4C6}, |
915 | | {3812, 0xF000} |
916 | | }; |
917 | 0 | #define pl_map_m2u_size countof(pl_map_m2u) |
918 | | |
919 | | /* inverse of previous map */ |
920 | | static const pl_glyph_mapping_t pl_map_u2m[] = { |
921 | | {0x0020, 0}, /* space */ |
922 | | {0x0021, 1}, /* exclam */ |
923 | | {0x0022, 2}, /* quotedbl */ |
924 | | {0x0023, 3}, /* numbersign */ |
925 | | {0x0024, 4}, /* dollar */ |
926 | | {0x0025, 5}, /* percent */ |
927 | | {0x0026, 6}, /* ampersand */ |
928 | | {0x0027, 329}, /* quotesingle or 8 */ |
929 | | {0x0028, 9}, /* parenleft */ |
930 | | {0x0029, 10}, /* parenright */ |
931 | | {0x002A, 11}, /* asterisk */ |
932 | | {0x002B, 12}, /* plus */ |
933 | | {0x002C, 13}, /* comma */ |
934 | | {0x002D, 14}, /* hyphen */ |
935 | | {0x002E, 15}, /* period */ |
936 | | {0x002F, 16}, /* slash */ |
937 | | {0x0030, 17}, /* zero */ |
938 | | {0x0031, 18}, /* one */ |
939 | | {0x0032, 19}, /* two */ |
940 | | {0x0033, 20}, /* three */ |
941 | | {0x0034, 21}, /* four */ |
942 | | {0x0035, 22}, /* five */ |
943 | | {0x0036, 23}, /* six */ |
944 | | {0x0037, 24}, /* seven */ |
945 | | {0x0038, 25}, /* eight */ |
946 | | {0x0039, 26}, /* nine */ |
947 | | {0x003A, 27}, /* colon */ |
948 | | {0x003B, 28}, /* semicolon */ |
949 | | {0x003C, 29}, /* less */ |
950 | | {0x003D, 30}, /* equal */ |
951 | | {0x003E, 31}, /* greater */ |
952 | | {0x003F, 32}, /* question */ |
953 | | {0x0040, 33}, /* at */ |
954 | | {0x0041, 34}, /* A */ |
955 | | {0x0042, 35}, /* B */ |
956 | | {0x0043, 36}, /* C */ |
957 | | {0x0044, 37}, /* D */ |
958 | | {0x0045, 38}, /* E */ |
959 | | {0x0046, 39}, /* F */ |
960 | | {0x0047, 40}, /* G */ |
961 | | {0x0048, 41}, /* H */ |
962 | | {0x0049, 42}, /* I */ |
963 | | {0x004A, 43}, /* J */ |
964 | | {0x004B, 44}, /* K */ |
965 | | {0x004C, 45}, /* L */ |
966 | | {0x004D, 46}, /* M */ |
967 | | {0x004E, 47}, /* N */ |
968 | | {0x004F, 48}, /* O */ |
969 | | {0x0050, 49}, /* P */ |
970 | | {0x0051, 50}, /* Q */ |
971 | | {0x0052, 51}, /* R */ |
972 | | {0x0053, 52}, /* S */ |
973 | | {0x0054, 53}, /* T */ |
974 | | {0x0055, 54}, /* U */ |
975 | | {0x0056, 55}, /* V */ |
976 | | {0x0057, 56}, /* W */ |
977 | | {0x0058, 57}, /* X */ |
978 | | {0x0059, 58}, /* Y */ |
979 | | {0x005A, 59}, /* Z */ |
980 | | {0x005B, 60}, /* bracketleft */ |
981 | | {0x005C, 61}, /* backslash */ |
982 | | {0x005D, 62}, /* bracketright */ |
983 | | {0x005E, 63}, /* asciicircum */ |
984 | | {0x005F, 64}, /* underscore */ |
985 | | {0x0060, 107}, /* grave */ |
986 | | {0x0061, 67}, /* a */ |
987 | | {0x0062, 68}, /* b */ |
988 | | {0x0063, 69}, /* c */ |
989 | | {0x0064, 70}, /* d */ |
990 | | {0x0065, 71}, /* e */ |
991 | | {0x0066, 72}, /* f */ |
992 | | {0x0067, 73}, /* g */ |
993 | | {0x0068, 74}, /* h */ |
994 | | {0x0069, 75}, /* i */ |
995 | | {0x006A, 76}, /* j */ |
996 | | {0x006B, 77}, /* k */ |
997 | | {0x006C, 78}, /* l */ |
998 | | {0x006D, 79}, /* m */ |
999 | | {0x006E, 80}, /* n */ |
1000 | | {0x006F, 81}, /* o */ |
1001 | | {0x0070, 82}, /* p */ |
1002 | | {0x0071, 83}, /* q */ |
1003 | | {0x0072, 84}, /* r */ |
1004 | | {0x0073, 85}, /* s */ |
1005 | | {0x0074, 86}, /* t */ |
1006 | | {0x0075, 87}, /* u */ |
1007 | | {0x0076, 88}, /* v */ |
1008 | | {0x0077, 89}, /* w */ |
1009 | | {0x0078, 90}, /* x */ |
1010 | | {0x0079, 91}, /* y */ |
1011 | | {0x007A, 92}, /* z */ |
1012 | | {0x007B, 93}, /* braceleft */ |
1013 | | {0x007C, 94}, /* bar */ |
1014 | | {0x007D, 95}, /* braceright */ |
1015 | | {0x007E, 96}, /* asciitilde */ |
1016 | | {0x00A0, 0}, /* No Break Space */ |
1017 | | {0x00A1, 121}, /* exclamdown */ |
1018 | | {0x00A2, 128}, /* cent */ |
1019 | | {0x00A3, 124}, /* sterling */ |
1020 | | {0x00A4, 123}, /* currency */ |
1021 | | {0x00A5, 125}, /* yen */ |
1022 | | {0x00A6, 192}, /* brokenbar */ |
1023 | | {0x00A7, 126}, /* section */ |
1024 | | {0x00A8, 109}, /* dieresis */ |
1025 | | {0x00A9, 193}, /* copyright... (various) */ |
1026 | | {0x00AA, 186}, /* */ |
1027 | | {0x00AB, 188}, /* guillemotleft */ |
1028 | | {0x00AC, 194}, /* logicalnot */ |
1029 | | {0x00AD, 195}, /* hyphen */ |
1030 | | {0x00AE, 196}, /* registered (also 1103 & 1100) */ |
1031 | | {0x00AF, 113}, /* overline, also matches 1084 lc macron */ |
1032 | | {0x00B0, 116}, /* degree */ |
1033 | | {0x00B1, 191}, /* plusminus */ |
1034 | | {0x00B2, 197}, /* twosuperior */ |
1035 | | {0x00B3, 198}, /* threesuperior */ |
1036 | | {0x00B4, 106}, /* acute */ |
1037 | | {0x00B5, 180}, /* mu & 533 mu3 */ |
1038 | | {0x00B6, 181}, /* paragraph */ |
1039 | | {0x00B7, 179}, /* periodcentered & 302 middot */ |
1040 | | {0x00B8, 199}, /* cedilla & 330 */ |
1041 | | {0x00B9, 200}, /* onesuperior */ |
1042 | | {0x00BA, 187}, /* */ |
1043 | | {0x00BB, 190}, /* guillemotright */ |
1044 | | {0x00BC, 184}, /* onequarter */ |
1045 | | {0x00BD, 185}, /* onehalf */ |
1046 | | {0x00BE, 182}, /* threequarters */ |
1047 | | {0x00BF, 122}, /* questiondown */ |
1048 | | {0x00C0, 99}, /* Agrave */ |
1049 | | {0x00C1, 161}, /* Aacute */ |
1050 | | {0x00C2, 100}, /* Acircumflex */ |
1051 | | {0x00C3, 162}, /* Atilde */ |
1052 | | {0x00C4, 153}, /* Adieresis */ |
1053 | | {0x00C5, 145}, /* Aring */ |
1054 | | {0x00C6, 148}, /* AE */ |
1055 | | {0x00C7, 117}, /* Ccedilla */ |
1056 | | {0x00C8, 101}, /* Egrave */ |
1057 | | {0x00C9, 157}, /* Eacute */ |
1058 | | {0x00CA, 102}, /* Ecircumflex */ |
1059 | | {0x00CB, 103}, /* Edieresis */ |
1060 | | {0x00CC, 167}, /* Igrave */ |
1061 | | {0x00CD, 166}, /* Iacute */ |
1062 | | {0x00CE, 104}, /* Icircumflex */ |
1063 | | {0x00CF, 105}, /* Idieresis */ |
1064 | | {0x00D0, 164}, /* Eth see also 0x0110 */ |
1065 | | {0x00D1, 119}, /* Ntilde */ |
1066 | | {0x00D2, 169}, /* Ograve */ |
1067 | | {0x00D3, 168}, /* Oacute */ |
1068 | | {0x00D4, 160}, /* Ocircumflex */ |
1069 | | {0x00D5, 170}, /* Otilde */ |
1070 | | {0x00D6, 155}, /* Odieresis */ |
1071 | | {0x00D7, 201}, /* multiply */ |
1072 | | {0x00D8, 147}, /* Oslash */ |
1073 | | {0x00D9, 111}, /* Ugrave */ |
1074 | | {0x00DA, 174}, /* Uacute */ |
1075 | | {0x00DB, 112}, /* Ucircumflex */ |
1076 | | {0x00DC, 156}, /* Udieresis */ |
1077 | | {0x00DD, 114}, /* Yacute */ |
1078 | | {0x00DE, 177}, /* Thorn */ |
1079 | | {0x00DF, 159}, /* germandbls */ |
1080 | | {0x00E0, 137}, /* agrave */ |
1081 | | {0x00E1, 133}, /* aacute */ |
1082 | | {0x00E2, 129}, /* acircumflex */ |
1083 | | {0x00E3, 163}, /* atilde */ |
1084 | | {0x00E4, 141}, /* adieresis */ |
1085 | | {0x00E5, 149}, /* aring */ |
1086 | | {0x00E6, 152}, /* ae */ |
1087 | | {0x00E7, 118}, /* ccedilla */ |
1088 | | {0x00E8, 138}, /* egrave */ |
1089 | | {0x00E9, 134}, /* eacute */ |
1090 | | {0x00EA, 130}, /* ecircumflex */ |
1091 | | {0x00EB, 142}, /* edieresis */ |
1092 | | {0x00EC, 154}, /* igrave */ |
1093 | | {0x00ED, 150}, /* iacute */ |
1094 | | {0x00EE, 146}, /* icircumflex */ |
1095 | | {0x00EF, 158}, /* idieresis */ |
1096 | | {0x00F0, 165}, /* eth */ |
1097 | | {0x00F1, 120}, /* ntilde */ |
1098 | | {0x00F2, 139}, /* ograve */ |
1099 | | {0x00F3, 135}, /* oacute */ |
1100 | | {0x00F4, 131}, /* ocircumflex */ |
1101 | | {0x00F5, 171}, /* otilde */ |
1102 | | {0x00F6, 143}, /* odieresis */ |
1103 | | {0x00F7, 202}, /* divide */ |
1104 | | {0x00F8, 151}, /* oslash */ |
1105 | | {0x00F9, 140}, /* ugrave */ |
1106 | | {0x00FA, 136}, /* uacute */ |
1107 | | {0x00FB, 132}, /* ucircumflex */ |
1108 | | {0x00FC, 144}, /* udieresis */ |
1109 | | {0x00FD, 115}, /* yacute */ |
1110 | | {0x00FE, 178}, /* thorn */ |
1111 | | {0x00FF, 176}, /* ydieresis */ |
1112 | | {0x0100, 402}, /* Amacron (NEW) */ |
1113 | | {0x0101, 403}, /* amacron (NEW) */ |
1114 | | {0x0102, 400}, /* Abreve */ |
1115 | | {0x0103, 401}, /* abreve */ |
1116 | | {0x0104, 404}, /* Aogonek */ |
1117 | | {0x0105, 405}, /* aogonek */ |
1118 | | {0x0106, 406}, /* Cacute */ |
1119 | | {0x0107, 407}, /* cacute */ |
1120 | | {0x010C, 410}, /* Ccaron */ |
1121 | | {0x010D, 411}, /* ccaron */ |
1122 | | {0x010E, 414}, /* Dcaron */ |
1123 | | {0x010F, 415}, /* dcaron */ |
1124 | | {0x0110, 164}, /* Eth see also 0x00D0 */ |
1125 | | {0x0111, 342}, /* dmacron */ |
1126 | | {0x0112, 420}, /* Emacron (NEW) */ |
1127 | | {0x0113, 421}, /* emacron (NEW) */ |
1128 | | {0x0116, 418}, /* Edot (NEW) */ |
1129 | | {0x0117, 419}, /* edot (NEW) */ |
1130 | | {0x0118, 422}, /* Eogonek */ |
1131 | | {0x0119, 423}, /* eogonek */ |
1132 | | {0x011A, 416}, /* Ecaron */ |
1133 | | {0x011B, 417}, /* ecaron */ |
1134 | | {0x011E, 1061}, /* Gbreve */ |
1135 | | {0x011F, 1062}, /* gbreve */ |
1136 | | {0x0122, 428}, /* Gcommaaccent (NEW) */ |
1137 | | {0x0123, 429}, /* gcommaaccent (NEW) */ |
1138 | | {0x0128, 486}, /* Itilde */ |
1139 | | {0x0129, 487}, /* itilde */ |
1140 | | {0x012A, 434}, /* Imacron (NEW) */ |
1141 | | {0x012B, 435}, /* imacron (NEW) */ |
1142 | | {0x012E, 432}, /* Iogonek (NEW) */ |
1143 | | {0x012F, 433}, /* iogonek (NEW) */ |
1144 | | {0x0130, 1065}, /* Idot */ |
1145 | | {0x0131, 328}, /* dotlessi */ |
1146 | | {0x0132, 1107}, /* IJ */ |
1147 | | {0x0133, 1047}, /* ij */ |
1148 | | {0x0136, 438}, /* Kcomma (NEW) */ |
1149 | | {0x0137, 439}, /* kcomma (NEW) */ |
1150 | | {0x0138, 335}, /* kra (NEW) */ |
1151 | | {0x0139, 440}, /* Lacute */ |
1152 | | {0x013A, 441}, /* lacute */ |
1153 | | {0x013B, 444}, /* Lcomma (NEW) */ |
1154 | | {0x013C, 445}, /* lcomma (NEW) */ |
1155 | | {0x013D, 442}, /* Lcaron */ |
1156 | | {0x013E, 443}, /* lcaron */ |
1157 | | {0x013F, 306}, /* Ldot */ |
1158 | | {0x0140, 307}, /* ldot */ |
1159 | | {0x0141, 1095}, /* Lslash */ |
1160 | | {0x0142, 1096}, /* lslash */ |
1161 | | {0x0143, 446}, /* Nacute */ |
1162 | | {0x0144, 447}, /* nacute */ |
1163 | | {0x0145, 450}, /* Ncomma (NEW) */ |
1164 | | {0x0146, 451}, /* ncomma (NEW) */ |
1165 | | {0x0147, 448}, /* Ncaron */ |
1166 | | {0x0148, 449}, /* ncaron */ |
1167 | | {0x0149, 309}, /* apostrophe_n */ |
1168 | | {0x014A, 340}, /* Eng (NEW) */ |
1169 | | {0x014B, 341}, /* eng (NEW) */ |
1170 | | {0x014C, 454}, /* Omacron (NEW) */ |
1171 | | {0x014D, 455}, /* omacron (NEW) */ |
1172 | | {0x0150, 452}, /* Odblacute */ |
1173 | | {0x0151, 453}, /* odblacute */ |
1174 | | {0x0152, 1091}, /* OE */ |
1175 | | {0x0153, 1090}, /* oe */ |
1176 | | {0x0154, 456}, /* Racute */ |
1177 | | {0x0155, 457}, /* racute */ |
1178 | | {0x0156, 460}, /* Rcomma (NEW) */ |
1179 | | {0x0157, 461}, /* rcomma (NEW) */ |
1180 | | {0x0158, 458}, /* Rcaron */ |
1181 | | {0x0159, 459}, /* rcaron */ |
1182 | | {0x015A, 462}, /* Sacute */ |
1183 | | {0x015B, 463}, /* sacute */ |
1184 | | {0x015E, 1063}, /* Scedilla */ |
1185 | | {0x015F, 1064}, /* scedilla */ |
1186 | | {0x0160, 172}, /* Scaron */ |
1187 | | {0x0161, 173}, /* scaron */ |
1188 | | {0x0162, 468}, /* Tcedilla */ |
1189 | | {0x0163, 469}, /* tcedilla */ |
1190 | | {0x0164, 466}, /* Tcaron */ |
1191 | | {0x0165, 467}, /* tcaron */ |
1192 | | {0x0166, 338}, /* Tbar (NEW) */ |
1193 | | {0x0167, 339}, /* tbar (NEW) */ |
1194 | | {0x0168, 470}, /* Utilde (NEW) */ |
1195 | | {0x0169, 471}, /* utilde (NEW) */ |
1196 | | {0x016A, 478}, /* Umacron (NEW) */ |
1197 | | {0x016B, 479}, /* umacron (NEW) */ |
1198 | | {0x016E, 476}, /* Uring */ |
1199 | | {0x016F, 477}, /* uring */ |
1200 | | {0x0170, 474}, /* Udblacute */ |
1201 | | {0x0171, 475}, /* udblacute */ |
1202 | | {0x0172, 480}, /* Uogonek (NEW) */ |
1203 | | {0x0173, 481}, /* uogonek (NEW) */ |
1204 | | {0x0178, 175}, /* Ydieresis */ |
1205 | | {0x0179, 482}, /* Zacute */ |
1206 | | {0x017A, 483}, /* zacute */ |
1207 | | {0x017B, 484}, /* Zoverdot */ |
1208 | | {0x017C, 485}, /* zoverdot */ |
1209 | | {0x017D, 1106}, /* Zcaron */ |
1210 | | {0x017E, 1031}, /* zcaron */ |
1211 | | {0x0192, 127}, /* florin */ |
1212 | | {0x02C6, 108}, /* circumflex */ |
1213 | | {0x02C7, 315}, /* caron */ |
1214 | | {0x02C9, 1084}, /* macron */ |
1215 | | {0x02D8, 1086}, /* breve */ |
1216 | | {0x02D9, 1088}, /* dotaccent */ |
1217 | | {0x02D9, 1409}, /* dotaccent */ |
1218 | | {0x02DA, 316}, /* ring */ |
1219 | | {0x02DB, 1098}, /* ogonek & 1425, 1412, 1030 */ |
1220 | | {0x02DC, 110}, /* tilde */ |
1221 | | {0x02DD, 1097}, /* hungarumlaut & was 1407 (NEW) */ |
1222 | | {0x0391, 2612}, /* Alpha *//* Prefer Math, use Greek if nec. */ |
1223 | | {0x0392, 2613}, /* Beta */ |
1224 | | {0x0393, 283}, /* Gamma or 505, or Greek */ |
1225 | | {0x0394, 506}, /* Delta */ |
1226 | | {0x0395, 2616}, /* Epsilon */ |
1227 | | {0x0396, 2617}, /* Zeta */ |
1228 | | {0x0397, 2618}, /* Eta */ |
1229 | | {0x0398, 507}, /* Theta or 507 or Greek */ |
1230 | | {0x0399, 2620}, /* Iota */ |
1231 | | {0x039A, 2621}, /* Kappa */ |
1232 | | {0x039B, 508}, /* Lambda */ |
1233 | | {0x039C, 2623}, /* Mu */ |
1234 | | {0x039D, 2624}, /* Nu */ |
1235 | | {0x039E, 509}, /* Xi */ |
1236 | | {0x039F, 2626}, /* Omicron */ |
1237 | | {0x03A0, 510}, /* Pi */ |
1238 | | {0x03A1, 2628}, /* Rho */ |
1239 | | {0x03A3, 511}, /* Sigma */ |
1240 | | {0x03A4, 2630}, /* Tau */ |
1241 | | {0x03A5, 512}, /* Upsilon */ |
1242 | | {0x03A6, 288}, /* Phi or 513 or Greek */ |
1243 | | {0x03A7, 2633}, /* Chi */ |
1244 | | {0x03A8, 514}, /* Psi */ |
1245 | | {0x03A9, 290}, /* Omega or 515 */ |
1246 | | {0x03B1, 281}, /* alpha or 522 */ |
1247 | | {0x03B2, 523}, /* beta */ |
1248 | | {0x03B3, 524}, /* gamma */ |
1249 | | {0x03B4, 291}, /* delta or 525 */ |
1250 | | {0x03B5, 294}, /* epsilon or 503 or 526 or Greek */ |
1251 | | {0x03B6, 527}, /* zeta */ |
1252 | | {0x03B7, 528}, /* eta */ |
1253 | | {0x03B8, 529}, /* theta */ |
1254 | | {0x03B9, 530}, /* iota */ |
1255 | | {0x03BA, 531}, /* kappa */ |
1256 | | {0x03BB, 532}, /* lambda */ |
1257 | | {0x03BC, 533}, /* mu */ |
1258 | | {0x03BD, 534}, /* nu */ |
1259 | | {0x03BE, 535}, /* xi (NEW) fix */ |
1260 | | {0x03BF, 536}, /* omicron */ |
1261 | | {0x03C0, 284}, /* pi or 537 */ |
1262 | | {0x03C1, 538}, /* rho */ |
1263 | | {0x03C2, 518}, /* sigma1 - term */ |
1264 | | {0x03C3, 286}, /* sigma or 539 */ |
1265 | | {0x03C4, 287}, /* tau or 540 */ |
1266 | | {0x03C5, 541}, /* upsilon */ |
1267 | | {0x03C6, 293}, /* phi or 542 */ |
1268 | | {0x03C7, 543}, /* chi */ |
1269 | | {0x03C8, 544}, /* psi */ |
1270 | | {0x03C9, 545}, /* omega */ |
1271 | | {0x03D1, 546}, /* theta1 */ |
1272 | | {0x03D2, 512}, /* Upsilon1 */ |
1273 | | {0x03D5, 547}, /* phi1 */ |
1274 | | {0x03D6, 548}, /* omega1 */ |
1275 | | {0x2002, 1021}, /* en space (NEW) */ |
1276 | | {0x2003, 1020}, /* em space (NEW) */ |
1277 | | {0x2009, 1023}, /* thin space (NEW) */ |
1278 | | {0x2013, 326}, /* endash */ |
1279 | | {0x2014, 325}, /* emdash */ |
1280 | | {0x2017, 314}, /* dbl underline */ |
1281 | | {0x2018, 66}, /* quoteleft */ |
1282 | | {0x2019, 8}, /* quoteright */ |
1283 | | {0x201A, 1067}, /* quotesinglbase */ |
1284 | | {0x201C, 1017}, /* quotedblleft */ |
1285 | | {0x201D, 1018}, /* quotedblright */ |
1286 | | {0x201E, 1019}, /* quotedblbase */ |
1287 | | {0x2020, 312}, /* dagger */ |
1288 | | {0x2021, 327}, /* daggerdbl */ |
1289 | | {0x2022, 331}, /* bullet */ |
1290 | | {0x2026, 1028}, /* ellipsis */ |
1291 | | {0x2030, 1068}, /* perthousand */ |
1292 | | {0x2032, 310}, /* minute */ |
1293 | | {0x2033, 311}, /* second */ |
1294 | | {0x2039, 1092}, /* guilsinglleft */ |
1295 | | {0x203A, 1093}, /* guilsinglright */ |
1296 | | {0x203C, 221}, /* dblexclam */ |
1297 | | {0x203E, 683}, /* radicalex */ |
1298 | | {0x2044, 324}, /* slash (NEW) */ |
1299 | | {0x2070, 1000}, /* superior0 (NEW) */ |
1300 | | {0x2074, 1001}, /* superior4 (NEW) */ |
1301 | | {0x2075, 1002}, /* superior5 (NEW) */ |
1302 | | {0x2076, 1003}, /* superior6 (NEW) */ |
1303 | | {0x2077, 1004}, /* superior7 (NEW) */ |
1304 | | {0x2078, 1005}, /* superior8 (NEW) */ |
1305 | | {0x2079, 1006}, /* superior9 (NEW) */ |
1306 | | {0x207F, 332}, /* nsuperior (NEW) */ |
1307 | | {0x20A3, 1066}, /* franc - NOT FOUND IN MSLs FOR LJ4 YET */ |
1308 | | {0x20A7, 232}, /* peseta */ |
1309 | | {0x20AC, 1069}, /* EUR symbol */ |
1310 | | {0x20DD, 584}, /* combiningcircle (NEW) */ |
1311 | | {0x2105, 1060}, /* careof */ |
1312 | | {0x210F, 638}, /* planckconstant (NEW) */ |
1313 | | {0x2111, 595}, /* Ifraktur */ |
1314 | | {0x2112, 639}, /* scriptL (NEW) */ |
1315 | | {0x2113, 308}, /* script l */ |
1316 | | {0x2118, 641}, /* scriptP (NEW) */ |
1317 | | {0x211C, 596}, /* Rfraktur */ |
1318 | | {0x211E, 1036}, /* prescription (NEW) */ |
1319 | | {0x2120, 1034}, /* servicemark (NEW) */ |
1320 | | {0x2122, 313}, /* trademark or 1102 or 1105 */ |
1321 | | {0x2126, 290}, /* Omega */ |
1322 | | {0x2128, 597}, /* blackletterZ (NEW) */ |
1323 | | {0x212D, 594}, /* blackletterC (NEW) */ |
1324 | | {0x212F, 502}, /* scripte (NEW) */ |
1325 | | {0x2135, 591}, /* aleph */ |
1326 | | {0x2136, 592}, /* betsymbol (NEW) */ |
1327 | | {0x2137, 593}, /* gimelsymbol (NEW) */ |
1328 | | {0x2182, 1112}, /* arrowleft */ |
1329 | | {0x2190, 227}, /* arrowleft */ |
1330 | | {0x2191, 224}, /* arrowup */ |
1331 | | /* {0x2192, 2042}, Why was this here ? *//* a161 <- indicates a dingbat, PostScript num? */ |
1332 | | {0x2192, 226}, /* arrowright */ |
1333 | | {0x2193, 225}, /* arrowdown */ |
1334 | | {0x2194, 229}, /* arrowboth */ |
1335 | | /* {0x2194, 2043}, *//* a163 */ |
1336 | | {0x2195, 220}, /* up_down_arrow */ |
1337 | | /* {0x2195, 2075}, *//* a164 */ |
1338 | | {0x2196, 628}, /* nw arrow (NEW) */ |
1339 | | {0x2197, 625}, /* ne arrow (NEW) */ |
1340 | | {0x2198, 626}, /* se arrow (NEW) */ |
1341 | | {0x2199, 627}, /* ww arrow (NEW) */ |
1342 | | {0x21A8, 223}, /* updownunderarrow */ |
1343 | | {0x21B5, 1099}, /* carriagereturn */ |
1344 | | {0x21C4, 557}, /* rightoverleftarrows (NEW) */ |
1345 | | {0x21C6, 558}, /* leftoverrightarrows (NEW) */ |
1346 | | {0x21D0, 554}, /* arrowdblleft */ |
1347 | | {0x21D1, 551}, /* arrowdblup */ |
1348 | | {0x21D2, 552}, /* arrowdblright */ |
1349 | | {0x21D3, 553}, /* arrowdbldown */ |
1350 | | {0x21D4, 556}, /* arrowdblboth */ |
1351 | | {0x21D5, 555}, /* arrowdblbvertboth (NEW) */ |
1352 | | {0x21E5, 1113}, /* arrowdblbvertboth (NEW) */ |
1353 | | {0x2200, 561}, /* universal */ |
1354 | | {0x2202, 517}, /* partialdiff */ |
1355 | | {0x2203, 562}, /* existential */ |
1356 | | {0x2205, 590}, /* emptyset */ |
1357 | | {0x2206, 506}, /* Delta or 98 */ |
1358 | | {0x2207, 516}, /* gradient */ |
1359 | | {0x2208, 566}, /* element */ |
1360 | | {0x2209, 568}, /* notelement */ |
1361 | | {0x220B, 567}, /* suchthat */ |
1362 | | {0x220D, 663}, /* small member (NEW) */ |
1363 | | /* {0x220F, 658}, *//* producttop */ |
1364 | | {0x220F, 669}, /* producttop (NEW) */ |
1365 | | /*{0x2211, 285}, *//* Sigma or 642 */ |
1366 | | {0x2211, 642}, /* Sigma or 642 (NEW) */ |
1367 | | {0x2212, 183}, /* minus */ |
1368 | | {0x2213, 620}, /* minusoverplus (NEW) */ |
1369 | | {0x2215, 324}, /* fraction */ |
1370 | | {0x2217, 664}, /* asteriskmath */ |
1371 | | /* {0x2218, 641}, *//* weierstrass */ |
1372 | | {0x2218, 583}, /* ringoperator (NEW) */ |
1373 | | {0x2219, 302}, /* middot or 1427 */ |
1374 | | {0x221A, 303}, /* radical */ |
1375 | | {0x221D, 501}, /* proportional */ |
1376 | | {0x221E, 292}, /* infinity */ |
1377 | | /* {0x221F, 228}, *//* Tick up left */ |
1378 | | {0x221F, 668}, /* rightangle (NEW) */ |
1379 | | {0x2220, 589}, /* angle */ |
1380 | | {0x2223, 614}, /* divides (NEW) */ |
1381 | | {0x2225, 605}, /* parallelto (NEW) */ |
1382 | | {0x2227, 580}, /* logicaland */ |
1383 | | {0x2228, 581}, /* logicalor */ |
1384 | | {0x2229, 295}, /* intersection */ |
1385 | | {0x222A, 565}, /* union */ |
1386 | | {0x222B, 587}, /* integral */ |
1387 | | {0x222E, 588}, /* contourintegral (NEW) */ |
1388 | | {0x2234, 504}, /* therefore */ |
1389 | | {0x2235, 521}, /* because (NEW) */ |
1390 | | {0x2237, 635}, /* proportion (NEW) */ |
1391 | | /* 0x223C, UNKNOWN, similar */ |
1392 | | {0x2243, 549}, /* asymptoticallyequalto (NEW) */ |
1393 | | {0x2245, 624}, /* congruent */ |
1394 | | {0x2248, 301}, /* approxequal */ |
1395 | | {0x2260, 519}, /* notequal */ |
1396 | | {0x2261, 296}, /* equivalence */ |
1397 | | {0x2262, 550}, /* notidenticalto (NEW) */ |
1398 | | {0x2264, 298}, /* lessequal */ |
1399 | | {0x2265, 297}, /* greaterequal */ |
1400 | | {0x226A, 633}, /* muchlessthan (NEW) */ |
1401 | | {0x226B, 634}, /* muchgreaterthan (NEW) */ |
1402 | | {0x2282, 569}, /* propersubset */ |
1403 | | {0x2283, 570}, /* propersuperset */ |
1404 | | {0x2284, 571}, /* notsubset */ |
1405 | | {0x2285, 572}, /* notasupersetof (NEW) */ |
1406 | | {0x2286, 573}, /* reflexsubset */ |
1407 | | {0x2287, 574}, /* reflexsuperset */ |
1408 | | {0x2295, 575}, /* circleplus */ |
1409 | | {0x2296, 578}, /* circleminus (NEW) */ |
1410 | | {0x2297, 577}, /* circlemultiply */ |
1411 | | {0x2298, 579}, /* circledivide (NEW) */ |
1412 | | {0x2299, 576}, /* circledot (NEW) */ |
1413 | | {0x22A2, 586}, /* righttack (NEW) */ |
1414 | | {0x22A3, 585}, /* lefttack (NEW) */ |
1415 | | {0x22A4, 563}, /* downtack (NEW) */ |
1416 | | {0x22A5, 564}, /* perpendicular */ |
1417 | | {0x22BB, 582}, /* XOR (NEW) */ |
1418 | | {0x22C5, 302}, /* dotmath */ |
1419 | | {0x2302, 333}, /* home_plate */ |
1420 | | {0x2310, 233}, /* tick down left */ |
1421 | | {0x2320, 299}, /* integraltp */ |
1422 | | {0x2321, 300}, /* integralbt */ |
1423 | | {0x2329, 621}, /* angleleft */ |
1424 | | {0x232A, 622}, /* angleright */ |
1425 | | {0x2423, 1114}, /* a120 */ |
1426 | | {0x2460, 2216}, /* a120 */ |
1427 | | {0x2461, 2217}, /* a121 */ |
1428 | | {0x2462, 2218}, /* a122 */ |
1429 | | {0x2463, 2219}, /* a123 */ |
1430 | | {0x2464, 2220}, /* a124 */ |
1431 | | {0x2465, 2221}, /* a125 */ |
1432 | | {0x2466, 2222}, /* a126 */ |
1433 | | {0x2467, 2223}, /* a127 */ |
1434 | | {0x2468, 2224}, /* a128 */ |
1435 | | {0x2469, 2215}, /* a129 */ |
1436 | | {0x2500, 253}, /* line-draw semi-graphics follow */ |
1437 | | {0x2502, 236}, /* names omitted */ |
1438 | | {0x250C, 275}, /* : */ |
1439 | | {0x2510, 248}, /* : */ |
1440 | | {0x2514, 249}, /* : */ |
1441 | | {0x2518, 274}, /* : */ |
1442 | | {0x251C, 252}, /* : */ |
1443 | | {0x2524, 237}, /* : */ |
1444 | | {0x252C, 251}, /* : */ |
1445 | | {0x2534, 250}, /* : */ |
1446 | | {0x253C, 254}, /* : */ |
1447 | | {0x2550, 262}, /* : */ |
1448 | | {0x2551, 243}, /* : */ |
1449 | | {0x2552, 270}, /* : */ |
1450 | | {0x2553, 271}, /* : */ |
1451 | | {0x2554, 258}, /* : */ |
1452 | | {0x2555, 241}, /* : */ |
1453 | | {0x2556, 240}, /* : */ |
1454 | | {0x2557, 244}, /* : */ |
1455 | | {0x2558, 269}, /* : */ |
1456 | | {0x2559, 268}, /* : */ |
1457 | | {0x255A, 257}, /* : */ |
1458 | | {0x255B, 247}, /* : */ |
1459 | | {0x255C, 246}, /* : */ |
1460 | | {0x255D, 245}, /* : */ |
1461 | | {0x255E, 255}, /* : */ |
1462 | | {0x255F, 256}, /* : */ |
1463 | | {0x2560, 261}, /* : */ |
1464 | | {0x2561, 238}, /* : */ |
1465 | | {0x2562, 239}, /* : */ |
1466 | | {0x2563, 242}, /* : */ |
1467 | | {0x2564, 266}, /* : */ |
1468 | | {0x2565, 267}, /* : */ |
1469 | | {0x2566, 260}, /* : */ |
1470 | | {0x2567, 264}, /* : */ |
1471 | | {0x2568, 265}, /* : */ |
1472 | | {0x2569, 259}, /* : */ |
1473 | | {0x256A, 273}, /* : */ |
1474 | | {0x256B, 272}, /* : */ |
1475 | | {0x256C, 263}, /* : */ |
1476 | | {0x256D, 646}, /* arcupperleft (NEW) */ |
1477 | | {0x256E, 655}, /* arcupperright (NEW) */ |
1478 | | {0x256F, 656}, /* arclowerright (NEW) */ |
1479 | | {0x2570, 647}, /* arclowerleft (NEW) */ |
1480 | | {0x2580, 280}, /* top_half_cell */ |
1481 | | {0x2584, 277}, /* bottom_half_cell */ |
1482 | | {0x2588, 276}, /* solid_cell */ |
1483 | | {0x258C, 278}, /* left_half_cell */ |
1484 | | {0x2590, 279}, /* right_half_cell */ |
1485 | | {0x2591, 234}, /* quarter_fill */ |
1486 | | {0x2592, 97}, /* half_fill */ |
1487 | | {0x2593, 235}, /* threeq_fill */ |
1488 | | {0x25A0, 189}, /* medium box */ |
1489 | | {0x25A1, 1094}, /* opensquare */ |
1490 | | {0x25AA, 305}, /* small box */ |
1491 | | {0x25AB, 1108}, /* enboxopen */ |
1492 | | {0x25AC, 222}, /* candybar */ |
1493 | | {0x25B2, 230}, /* up_triangle */ |
1494 | | {0x25B5, 629}, /* upopentriange (NEW) */ |
1495 | | {0x25B9, 630}, /* rightopentriangle (NEW) */ |
1496 | | {0x25BA, 218}, /* right_triangle */ |
1497 | | {0x25BC, 231}, /* down_triangle */ |
1498 | | {0x25BF, 631}, /* downopentriangle (NEW) */ |
1499 | | {0x25C3, 632}, /* leftopentriange (NEW) */ |
1500 | | {0x25C4, 219}, /* left_triangle */ |
1501 | | /*{0x25C6, 2491}, *//* a78 */ |
1502 | | {0x25C6, 662}, /* blackdiamond (NEW) */ |
1503 | | {0x25C7, 654}, /* opendiamond (NEW) */ |
1504 | | {0x25CA, 684}, /* lozenge (NEW) fixed */ |
1505 | | {0x25CB, 1110}, /* circle or 584 or 1110 */ |
1506 | | {0x25CF, 209}, /* ball */ |
1507 | | {0x25D8, 210}, /* reverse_ball */ |
1508 | | {0x25D9, 212}, /* reverse_circle */ |
1509 | | {0x25E6, 1109}, /* encircleopen */ |
1510 | | {0x2605, 2083}, /* a35 */ |
1511 | | {0x260E, 2498}, /* a4 */ |
1512 | | {0x261B, 2312}, /* a11 */ |
1513 | | {0x261E, 2295}, /* a12 */ |
1514 | | {0x263A, 203}, /* smiley_face */ |
1515 | | {0x263B, 204}, /* shiney_face */ |
1516 | | {0x263C, 217}, /* sphincter */ |
1517 | | {0x2640, 214}, /* female ordinal */ |
1518 | | {0x2642, 213}, /* male ordinal */ |
1519 | | {0x2660, 208}, /* spade */ |
1520 | | {0x2663, 207}, /* club */ |
1521 | | {0x2665, 205}, /* heart */ |
1522 | | {0x2666, 206}, /* diamond */ |
1523 | | {0x266A, 215}, /* eightnote */ |
1524 | | {0x266B, 216}, /* dblsixteenthnote */ |
1525 | | {0x2701, 2109}, /* a1 Scissors */ |
1526 | | {0x2702, 2096}, /* a2 */ |
1527 | | {0x2703, 2120}, /* a202 */ |
1528 | | {0x2704, 2497}, /* a3 */ |
1529 | | {0x2706, 2315}, /* a5 */ |
1530 | | {0x2707, 2458}, /* a119 */ |
1531 | | {0x2708, 2013}, /* a118 */ |
1532 | | {0x2709, 2108}, /* a117 */ |
1533 | | {0x270C, 2313}, /* a13 */ |
1534 | | {0x270D, 2515}, /* a14 */ |
1535 | | {0x270E, 2499}, /* a15 */ |
1536 | | {0x270F, 2307}, /* a16 */ |
1537 | | {0x2710, 2509}, /* a105 */ |
1538 | | {0x2711, 2324}, /* a17 */ |
1539 | | {0x2712, 2121}, /* a18 */ |
1540 | | {0x2713, 2010}, /* a19 */ |
1541 | | {0x2714, 2210}, /* a20 */ |
1542 | | {0x2715, 2286}, /* a21 */ |
1543 | | {0x2716, 2254}, /* a22 */ |
1544 | | {0x2717, 2027}, /* a23 */ |
1545 | | {0x2718, 2077}, /* a24 */ |
1546 | | {0x2719, 2444}, /* a25 */ |
1547 | | /* 0x271A, UNKNOWN, a26 Probably some sort of plus sign */ |
1548 | | {0x271B, 2488}, /* a27 */ |
1549 | | {0x271C, 2456}, /* a28 */ |
1550 | | {0x271D, 2044}, /* a6 */ |
1551 | | {0x271E, 2076}, /* a7 */ |
1552 | | {0x271F, 2476}, /* a8 */ |
1553 | | {0x2720, 2230}, /* a9 */ |
1554 | | {0x2721, 2411}, /* a10 */ |
1555 | | {0x2722, 2014}, /* a29 */ |
1556 | | {0x2723, 2472}, /* a30 */ |
1557 | | {0x2724, 2478}, /* a31 */ |
1558 | | {0x2725, 2502}, /* a32 */ |
1559 | | {0x2726, 2726}, /* a33 */ |
1560 | | {0x2727, 2011}, /* a34 */ |
1561 | | {0x2729, 2088}, /* a36 */ |
1562 | | {0x272A, 2052}, /* a37 */ |
1563 | | {0x272B, 2047}, /* a38 */ |
1564 | | {0x272C, 2032}, /* a39 */ |
1565 | | {0x272D, 2060}, /* a40 */ |
1566 | | {0x272E, 2078}, /* a41 */ |
1567 | | {0x272F, 2092}, /* a42 */ |
1568 | | {0x2730, 2058}, /* a43 */ |
1569 | | {0x2731, 2256}, /* a44 */ |
1570 | | {0x2732, 2252}, /* a45 */ |
1571 | | {0x2733, 2484}, /* a46 */ |
1572 | | {0x2734, 2447}, /* a47 */ |
1573 | | {0x2735, 2479}, /* a48 */ |
1574 | | {0x2736, 2046}, /* a49 */ |
1575 | | {0x2737, 2090}, /* a50 */ |
1576 | | {0x2738, 2240}, /* a51 */ |
1577 | | {0x2739, 2272}, /* a52 */ |
1578 | | {0x273A, 2452}, /* a53 */ |
1579 | | {0x273B, 2279}, /* a54 */ |
1580 | | {0x273C, 2483}, /* a55 */ |
1581 | | {0x273D, 2278}, /* a56 */ |
1582 | | {0x273E, 2290}, /* a57 */ |
1583 | | {0x273F, 2451}, /* a58 */ |
1584 | | {0x2740, 2460}, /* a59 */ |
1585 | | {0x2741, 2288}, /* a60 */ |
1586 | | {0x2742, 2490}, /* a61 */ |
1587 | | {0x2743, 2258}, /* a62 */ |
1588 | | {0x2744, 2464}, /* a63 */ |
1589 | | {0x2745, 2492}, /* a64 */ |
1590 | | {0x2746, 2432}, /* a65 */ |
1591 | | {0x2747, 2260}, /* a66 */ |
1592 | | {0x2748, 2292}, /* a67 */ |
1593 | | {0x2749, 2072}, /* a68 */ |
1594 | | {0x274A, 2264}, /* a69 */ |
1595 | | {0x274B, 2232}, /* a70 */ |
1596 | | {0x274D, 2116}, /* a72 */ |
1597 | | {0x274F, 2282}, /* a74 */ |
1598 | | {0x2750, 2325}, /* a203 */ |
1599 | | {0x2751, 2250}, /* a75 */ |
1600 | | {0x2752, 2308}, /* a204 */ |
1601 | | {0x2756, 2089}, /* a79 */ |
1602 | | {0x2758, 2480}, /* a82 */ |
1603 | | {0x2759, 2486}, /* a83 */ |
1604 | | {0x275A, 2454}, /* a84 */ |
1605 | | {0x275B, 2100}, /* a97 */ |
1606 | | {0x275C, 2113}, /* a98 */ |
1607 | | {0x275D, 2501}, /* a99 */ |
1608 | | {0x275E, 2517}, /* a100 */ |
1609 | | {0x2761, 2500}, /* a101 */ |
1610 | | {0x2762, 2428}, /* a102 */ |
1611 | | {0x2763, 2410}, /* a103 */ |
1612 | | {0x2764, 2414}, /* a104 */ |
1613 | | {0x2765, 2213}, /* a106 */ |
1614 | | {0x2766, 2317}, /* a107 */ |
1615 | | {0x2767, 2300}, /* a108 */ |
1616 | | {0x2776, 2200}, /* a130 */ |
1617 | | {0x2777, 2231}, /* a131 */ |
1618 | | {0x2778, 2202}, /* a132 */ |
1619 | | {0x2779, 2203}, /* a133 */ |
1620 | | {0x277A, 2204}, /* a134 */ |
1621 | | {0x277B, 2261}, /* a135 */ |
1622 | | {0x277C, 2205}, /* a136 */ |
1623 | | {0x277D, 2209}, /* a137 */ |
1624 | | {0x277E, 2207}, /* a138 */ |
1625 | | {0x277F, 2208}, /* a139 */ |
1626 | | {0x2780, 2016}, /* a140 */ |
1627 | | {0x2781, 2017}, /* a141 */ |
1628 | | {0x2782, 2018}, /* a142 */ |
1629 | | {0x2783, 2019}, /* a143 */ |
1630 | | {0x2784, 2020}, /* a144 */ |
1631 | | {0x2785, 2021}, /* a145 */ |
1632 | | {0x2786, 2022}, /* a146 */ |
1633 | | {0x2787, 2023}, /* a147 */ |
1634 | | {0x2788, 2024}, /* a148 */ |
1635 | | {0x2789, 2015}, /* a149 */ |
1636 | | {0x278A, 2000}, /* a150 */ |
1637 | | {0x278B, 2031}, /* a151 */ |
1638 | | {0x278C, 2002}, /* a152 */ |
1639 | | {0x278D, 2003}, /* a153 */ |
1640 | | {0x278E, 2004}, /* a154 */ |
1641 | | {0x278F, 2061}, /* a155 */ |
1642 | | {0x2790, 2005}, /* a156 */ |
1643 | | {0x2791, 2009}, /* a157 */ |
1644 | | {0x2792, 2007}, /* a158 */ |
1645 | | {0x2793, 2008}, /* a159 */ |
1646 | | {0x2794, 2306}, /* a160 */ |
1647 | | {0x2798, 2233}, /* a196 */ |
1648 | | {0x2799, 2305}, /* a165 */ |
1649 | | {0x279A, 2310}, /* a192 */ |
1650 | | {0x279B, 2053}, /* a166 */ |
1651 | | {0x279C, 2037}, /* a167 */ |
1652 | | {0x279D, 2070}, /* a168 */ |
1653 | | {0x279E, 2071}, /* a169 */ |
1654 | | {0x279F, 2520}, /* a170 */ |
1655 | | {0x27A0, 2504}, /* a171 */ |
1656 | | {0x27A1, 2001}, /* a172 */ |
1657 | | {0x27A2, 2267}, /* a173 */ |
1658 | | {0x27A3, 2326}, /* a162 */ |
1659 | | {0x27A4, 2235}, /* a174 */ |
1660 | | {0x27A5, 2055}, /* a175 */ |
1661 | | {0x27A6, 2087}, /* a176 */ |
1662 | | {0x27A7, 2041}, /* a177 */ |
1663 | | {0x27A8, 2262}, /* a178 */ |
1664 | | {0x27A9, 2441}, /* a179 */ |
1665 | | {0x27AA, 2523}, /* a193 */ |
1666 | | {0x27AB, 2442}, /* a180 */ |
1667 | | {0x27AC, 2507}, /* a199 */ |
1668 | | {0x27AD, 2443}, /* a181 */ |
1669 | | {0x27AE, 2508}, /* a200 */ |
1670 | | {0x27AF, 2475}, /* a182 */ |
1671 | | {0x27B1, 2524}, /* a201 */ |
1672 | | {0x27B2, 2412}, /* a183 */ |
1673 | | {0x27B3, 2234}, /* a184 */ |
1674 | | {0x27B4, 2265}, /* a197 */ |
1675 | | {0x27B5, 2287}, /* a185 */ |
1676 | | {0x27B6, 2327}, /* a194 */ |
1677 | | {0x27B7, 2245}, /* a198 */ |
1678 | | {0x27B8, 2105}, /* a186 */ |
1679 | | {0x27B9, 2309}, /* a195 */ |
1680 | | {0x27BA, 2285}, /* a187 */ |
1681 | | {0x27BB, 2253}, /* a188 */ |
1682 | | {0x27BC, 2242}, /* a189 */ |
1683 | | {0x27BD, 2104}, /* a190 */ |
1684 | | {0x27BE, 2212}, /* a191 */ |
1685 | | |
1686 | | {0x301A, 643}, /* (NEW) */ |
1687 | | {0x301B, 645}, /* (NEW) */ |
1688 | | |
1689 | | {0xEFA0, 3487}, /* (NEW) */ |
1690 | | {0xEFA1, 2228}, /* (NEW) */ |
1691 | | {0xEFA2, 336}, /* (NEW) */ |
1692 | | {0xEFA3, 282}, /* (NEW) */ |
1693 | | {0xEFA4, 371}, /* (NEW) */ |
1694 | | {0xEFA5, 1011}, /* (NEW) */ |
1695 | | {0xEFA6, 1013}, /* (NEW) */ |
1696 | | {0xEFA7, 65}, /* (NEW) */ |
1697 | | {0xEFA8, 1450}, /* (NEW) */ |
1698 | | {0xEFA9, 1451}, /* (NEW) */ |
1699 | | {0xEFAA, 372}, /* (NEW) */ |
1700 | | {0xEFAB, 2227}, /* (NEW) */ |
1701 | | {0xEFAC, 1454}, /* (NEW) */ |
1702 | | {0xEFAD, 2680}, /* (NEW) */ |
1703 | | {0xEFAE, 1012}, /* (NEW) */ |
1704 | | {0xEFAF, 1015}, /* (NEW) */ |
1705 | | |
1706 | | {0xEFBF, 500}, /* (NEW) */ |
1707 | | |
1708 | | {0xEFC0, 660}, /* (NEW) */ |
1709 | | {0xEFC1, 659}, /* (NEW) */ |
1710 | | {0xEFC2, 658}, /* (NEW) */ |
1711 | | {0xEFC3, 657}, /* (NEW) */ |
1712 | | {0xEFC4, 652}, /* (NEW) */ |
1713 | | {0xEFC5, 651}, /* (NEW) */ |
1714 | | {0xEFC6, 650}, /* (NEW) */ |
1715 | | {0xEFC7, 649}, /* (NEW) */ |
1716 | | {0xEFC8, 648}, /* (NEW) */ |
1717 | | {0xEFC9, 644}, /* (NEW) */ |
1718 | | {0xEFCA, 636}, /* (NEW) */ |
1719 | | {0xEFCB, 666}, /* (NEW) */ |
1720 | | {0xEFCC, 667}, /* (NEW) */ |
1721 | | {0xEFCD, 619}, /* (NEW) */ |
1722 | | {0xEFCE, 618}, /* (NEW) */ |
1723 | | {0xEFCF, 617}, /* (NEW) */ |
1724 | | |
1725 | | {0xEFD0, 616}, /* (NEW) */ |
1726 | | {0xEFD1, 607}, /* (NEW) */ |
1727 | | {0xEFD2, 606}, /* (NEW) */ |
1728 | | {0xEFD3, 604}, /* (NEW) */ |
1729 | | {0xEFD4, 603}, /* (NEW) */ |
1730 | | {0xEFD5, 637}, /* (NEW) */ |
1731 | | {0xEFD6, 1105}, /* (NEW) */ |
1732 | | {0xEFD7, 1104}, /* (NEW) */ |
1733 | | {0xEFD8, 1103}, /* (NEW) */ |
1734 | | {0xEFD9, 1102}, /* (NEW) */ |
1735 | | {0xEFDA, 1101}, /* (NEW) */ |
1736 | | {0xEFDB, 1100}, /* (NEW) */ |
1737 | | {0xEFDC, 615}, /* (NEW) */ |
1738 | | {0xEFDD, 613}, /* (NEW) */ |
1739 | | {0xEFDE, 612}, /* (NEW) */ |
1740 | | {0xEFDF, 611}, /* (NEW) */ |
1741 | | |
1742 | | {0xEFE0, 610}, /* (NEW) */ |
1743 | | {0xEFE1, 602}, /* (NEW) */ |
1744 | | {0xEFE2, 601}, /* (NEW) */ |
1745 | | {0xEFE3, 600}, /* (NEW) */ |
1746 | | {0xEFE4, 609}, /* (NEW) */ |
1747 | | {0xEFE5, 608}, /* (NEW) */ |
1748 | | {0xEFE6, 599}, /* (NEW) */ |
1749 | | {0xEFE7, 598}, /* (NEW) */ |
1750 | | {0xEFE8, 665}, /* (NEW) */ |
1751 | | {0xEFE9, 559}, /* (NEW) */ |
1752 | | {0xEFEA, 560}, /* (NEW) */ |
1753 | | {0xEFEB, 520}, /* (NEW) */ |
1754 | | {0xEFEC, 503}, /* (NEW) */ |
1755 | | {0xEFED, 1089}, /* (NEW) */ |
1756 | | {0xEFEE, 1087}, /* (NEW) */ |
1757 | | {0xEFEF, 1085}, /* (NEW) */ |
1758 | | |
1759 | | {0xEFF0, 1045}, /* (NEW) */ |
1760 | | {0xEFF1, 1030}, /* (NEW) */ |
1761 | | {0xEFF2, 330}, /* (NEW) */ |
1762 | | {0xEFF3, 323}, /* (NEW) */ |
1763 | | {0xEFF4, 322}, /* (NEW) */ |
1764 | | {0xEFF5, 321}, /* (NEW) */ |
1765 | | {0xEFF6, 320}, /* (NEW) */ |
1766 | | {0xEFF7, 319}, /* (NEW) */ |
1767 | | {0xEFF8, 318}, /* (NEW) */ |
1768 | | {0xEFF9, 317}, /* (NEW) */ |
1769 | | |
1770 | | {0xEFFA, 1111}, /* (NEW) */ |
1771 | | {0xEFFB, 661}, /* (NEW) */ |
1772 | | {0xEFFC, 653}, /* (NEW) */ |
1773 | | {0xEFFD, 211}, /* (NEW) */ |
1774 | | |
1775 | | {0xEFFE, 640}, /* (NEW) */ |
1776 | | {0xEFFF, 623}, /* (NEW) */ |
1777 | | |
1778 | | {0xF000, 3812}, /* apple */ |
1779 | | {0xF001, 1040}, /* fi */ |
1780 | | {0xF002, 1041}, /* fl */ |
1781 | | |
1782 | | {0xF4C0, 2229}, /* (NEW) */ |
1783 | | {0xF4C1, 1009}, /* (NEW) */ |
1784 | | {0xF4C2, 1010}, /* (NEW) */ |
1785 | | {0xF4C3, 2681}, /* (NEW) */ |
1786 | | {0xF4C4, 408}, /* (NEW) */ |
1787 | | {0xF4C5, 2682}, /* (NEW) */ |
1788 | | {0xF4C6, 3490}, /* (NEW) */ |
1789 | | {0xF4C7, 98}, /* (NEW) */ |
1790 | | {0xF4C8, 373}, /* (NEW) */ |
1791 | | {0xF4C9, 3488}, /* (NEW) */ |
1792 | | {0xF4CA, 1452}, /* (NEW) */ |
1793 | | {0xF4CB, 685}, /* (NEW) */ |
1794 | | {0xF4CC, 1453}, /* (NEW) */ |
1795 | | {0xF4CD, 3489}, /* (NEW) */ |
1796 | | {0xF4CE, 409}, /* (NEW) */ |
1797 | | {0xF4CF, 7}, /* (NEW) */ |
1798 | | |
1799 | | {0xFB00, 1042}, /* ff (NEW) */ |
1800 | | {0xFB01, 1040}, /* fi (NEW) */ |
1801 | | {0xFB02, 1041}, /* fl (NEW) */ |
1802 | | {0xFB03, 1043}, /* ffi (NEW) */ |
1803 | | {0xFB04, 1044} /* ffl (NEW) */ |
1804 | | }; |
1805 | | |
1806 | 0 | #define pl_map_u2m_size countof(pl_map_u2m) |
1807 | | /* Map a Unicode character code to a MSL glyph code similarly. */ |
1808 | | uint |
1809 | | pl_map_Unicode_to_MSL(uint uni, uint symbol_set) |
1810 | 0 | { |
1811 | 0 | uint low = 0; |
1812 | 0 | uint high = pl_map_u2m_size - 1; |
1813 | 0 | uint mid; |
1814 | | |
1815 | | /* A symbol map entry of 0xFFFF indicates that no printable |
1816 | | * symbol is associated with that character code. |
1817 | | * In this case, the LJ4 prints a blank space. |
1818 | | */ |
1819 | |
|
1820 | 0 | if (uni == 0xffff) |
1821 | 0 | return 0x0020; |
1822 | | |
1823 | 0 | if ((uni < pl_map_u2m[low].key) || (uni > pl_map_u2m[high].key)) |
1824 | 0 | return 0xffff; |
1825 | | |
1826 | | /* Binary search, right out of K&R */ |
1827 | 0 | while (low <= high) { |
1828 | 0 | mid = (low + high) / 2; |
1829 | 0 | if (uni < pl_map_u2m[mid].key) |
1830 | 0 | high = mid - 1; |
1831 | 0 | else if (uni > pl_map_u2m[mid].key) |
1832 | 0 | low = mid + 1; |
1833 | 0 | else |
1834 | 0 | return (uint) pl_map_u2m[mid].value; |
1835 | 0 | } |
1836 | 0 | return 0xffff; |
1837 | 0 | } |
1838 | | /* Map a MSL glyph code to a Unicode character code. */ |
1839 | | /* Note that the symbol set is required, because some characters map */ |
1840 | | /* differently in different symbol sets. */ |
1841 | | uint |
1842 | | pl_map_MSL_to_Unicode(uint msl, uint symbol_set) |
1843 | 0 | { |
1844 | 0 | uint low = 0; |
1845 | 0 | uint high = pl_map_m2u_size - 1; |
1846 | 0 | uint mid; |
1847 | | |
1848 | | /* Binary search, right out of K&R */ |
1849 | 0 | while (low <= high) { |
1850 | 0 | mid = (low + high) / 2; |
1851 | 0 | if (msl < pl_map_m2u[mid].key) |
1852 | 0 | high = mid - 1; |
1853 | 0 | else if (msl > pl_map_m2u[mid].key) |
1854 | 0 | low = mid + 1; |
1855 | 0 | else |
1856 | 0 | return (uint) pl_map_m2u[mid].value; |
1857 | 0 | } |
1858 | 0 | return 0xffff; |
1859 | 0 | } |