1#define _notdef NULL
2
3const unsigned short fz_unicode_from_pdf_doc_encoding[256] =
4{
5 /* 0x0 to 0x17 except \t, \n and \r are really undefined */
6 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
7 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
8 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
9 0x02d8, 0x02c7, 0x02c6, 0x02d9, 0x02dd, 0x02db, 0x02da, 0x02dc,
10 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
11 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
12 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
13 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
14 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
15 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
16 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
17 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
18 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
19 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
20 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
21 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x0000,
22 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x0192, 0x2044,
23 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,
24 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x0141, 0x0152, 0x0160,
25 0x0178, 0x017d, 0x0131, 0x0142, 0x0153, 0x0161, 0x017e, 0x0000,
26 0x20ac, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
27 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x0000, 0x00ae, 0x00af,
28 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
29 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
30 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
31 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,
32 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
33 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,
34 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
35 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
36 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
37 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff
38};
39
40const char *fz_glyph_name_from_adobe_standard[256] = {
41 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
42 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
43 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
44 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
45 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent",
46 "ampersand", "quoteright", "parenleft", "parenright", "asterisk",
47 "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two",
48 "three", "four", "five", "six", "seven", "eight", "nine", "colon",
49 "semicolon", "less", "equal", "greater", "question", "at", "A", "B",
50 "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
51 "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft",
52 "backslash", "bracketright", "asciicircum", "underscore", "quoteleft",
53 "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
54 "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
55 "braceleft", "bar", "braceright", "asciitilde", _notdef, _notdef,
56 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
57 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
58 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
59 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
60 "exclamdown", "cent", "sterling", "fraction", "yen", "florin",
61 "section", "currency", "quotesingle", "quotedblleft", "guillemotleft",
62 "guilsinglleft", "guilsinglright", "fi", "fl", _notdef, "endash",
63 "dagger", "daggerdbl", "periodcentered", _notdef, "paragraph",
64 "bullet", "quotesinglbase", "quotedblbase", "quotedblright",
65 "guillemotright", "ellipsis", "perthousand", _notdef, "questiondown",
66 _notdef, "grave", "acute", "circumflex", "tilde", "macron", "breve",
67 "dotaccent", "dieresis", _notdef, "ring", "cedilla", _notdef,
68 "hungarumlaut", "ogonek", "caron", "emdash", _notdef, _notdef, _notdef,
69 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
70 _notdef, _notdef, _notdef, _notdef, _notdef, "AE", _notdef,
71 "ordfeminine", _notdef, _notdef, _notdef, _notdef, "Lslash", "Oslash",
72 "OE", "ordmasculine", _notdef, _notdef, _notdef, _notdef, _notdef,
73 "ae", _notdef, _notdef, _notdef, "dotlessi", _notdef, _notdef,
74 "lslash", "oslash", "oe", "germandbls", _notdef, _notdef, _notdef,
75 _notdef
76};
77
78const char *fz_glyph_name_from_mac_roman[256] = {
79 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
80 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
81 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
82 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
83 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent",
84 "ampersand", "quotesingle", "parenleft", "parenright", "asterisk",
85 "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two",
86 "three", "four", "five", "six", "seven", "eight", "nine", "colon",
87 "semicolon", "less", "equal", "greater", "question", "at", "A", "B",
88 "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
89 "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft",
90 "backslash", "bracketright", "asciicircum", "underscore", "grave", "a",
91 "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o",
92 "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft",
93 "bar", "braceright", "asciitilde", _notdef, "Adieresis", "Aring",
94 "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", "aacute",
95 "agrave", "acircumflex", "adieresis", "atilde", "aring", "ccedilla",
96 "eacute", "egrave", "ecircumflex", "edieresis", "iacute", "igrave",
97 "icircumflex", "idieresis", "ntilde", "oacute", "ograve",
98 "ocircumflex", "odieresis", "otilde", "uacute", "ugrave",
99 "ucircumflex", "udieresis", "dagger", "degree", "cent", "sterling",
100 "section", "bullet", "paragraph", "germandbls", "registered",
101 "copyright", "trademark", "acute", "dieresis", _notdef, "AE", "Oslash",
102 _notdef, "plusminus", _notdef, _notdef, "yen", "mu", _notdef, _notdef,
103 _notdef, _notdef, _notdef, "ordfeminine", "ordmasculine", _notdef,
104 "ae", "oslash", "questiondown", "exclamdown", "logicalnot", _notdef,
105 "florin", _notdef, _notdef, "guillemotleft", "guillemotright",
106 "ellipsis", "space", "Agrave", "Atilde", "Otilde", "OE", "oe",
107 "endash", "emdash", "quotedblleft", "quotedblright", "quoteleft",
108 "quoteright", "divide", _notdef, "ydieresis", "Ydieresis", "fraction",
109 "currency", "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl",
110 "periodcentered", "quotesinglbase", "quotedblbase", "perthousand",
111 "Acircumflex", "Ecircumflex", "Aacute", "Edieresis", "Egrave",
112 "Iacute", "Icircumflex", "Idieresis", "Igrave", "Oacute",
113 "Ocircumflex", _notdef, "Ograve", "Uacute", "Ucircumflex", "Ugrave",
114 "dotlessi", "circumflex", "tilde", "macron", "breve", "dotaccent",
115 "ring", "cedilla", "hungarumlaut", "ogonek", "caron"
116};
117
118const char *fz_glyph_name_from_mac_expert[256] = {
119 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
120 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
121 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
122 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
123 "space", "exclamsmall", "Hungarumlautsmall", "centoldstyle",
124 "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall",
125 "parenleftsuperior", "parenrightsuperior", "twodotenleader",
126 "onedotenleader", "comma", "hyphen", "period", "fraction",
127 "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle",
128 "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle",
129 "eightoldstyle", "nineoldstyle", "colon", "semicolon", _notdef,
130 "threequartersemdash", _notdef, "questionsmall", _notdef, _notdef,
131 _notdef, _notdef, "Ethsmall", _notdef, _notdef, "onequarter",
132 "onehalf", "threequarters", "oneeighth", "threeeighths", "fiveeighths",
133 "seveneighths", "onethird", "twothirds", _notdef, _notdef, _notdef,
134 _notdef, _notdef, _notdef, "ff", "fi", "fl", "ffi", "ffl",
135 "parenleftinferior", _notdef, "parenrightinferior", "Circumflexsmall",
136 "hypheninferior", "Gravesmall", "Asmall", "Bsmall", "Csmall", "Dsmall",
137 "Esmall", "Fsmall", "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall",
138 "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", "Qsmall", "Rsmall",
139 "Ssmall", "Tsmall", "Usmall", "Vsmall", "Wsmall", "Xsmall", "Ysmall",
140 "Zsmall", "colonmonetary", "onefitted", "rupiah", "Tildesmall",
141 _notdef, _notdef, "asuperior", "centsuperior", _notdef, _notdef,
142 _notdef, _notdef, "Aacutesmall", "Agravesmall", "Acircumflexsmall",
143 "Adieresissmall", "Atildesmall", "Aringsmall", "Ccedillasmall",
144 "Eacutesmall", "Egravesmall", "Ecircumflexsmall", "Edieresissmall",
145 "Iacutesmall", "Igravesmall", "Icircumflexsmall", "Idieresissmall",
146 "Ntildesmall", "Oacutesmall", "Ogravesmall", "Ocircumflexsmall",
147 "Odieresissmall", "Otildesmall", "Uacutesmall", "Ugravesmall",
148 "Ucircumflexsmall", "Udieresissmall", _notdef, "eightsuperior",
149 "fourinferior", "threeinferior", "sixinferior", "eightinferior",
150 "seveninferior", "Scaronsmall", _notdef, "centinferior", "twoinferior",
151 _notdef, "Dieresissmall", _notdef, "Caronsmall", "osuperior",
152 "fiveinferior", _notdef, "commainferior", "periodinferior",
153 "Yacutesmall", _notdef, "dollarinferior", _notdef, _notdef,
154 "Thornsmall", _notdef, "nineinferior", "zeroinferior", "Zcaronsmall",
155 "AEsmall", "Oslashsmall", "questiondownsmall", "oneinferior",
156 "Lslashsmall", _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
157 "Cedillasmall", _notdef, _notdef, _notdef, _notdef, _notdef, "OEsmall",
158 "figuredash", "hyphensuperior", _notdef, _notdef, _notdef, _notdef,
159 "exclamdownsmall", _notdef, "Ydieresissmall", _notdef, "onesuperior",
160 "twosuperior", "threesuperior", "foursuperior", "fivesuperior",
161 "sixsuperior", "sevensuperior", "ninesuperior", "zerosuperior",
162 _notdef, "esuperior", "rsuperior", "tsuperior", _notdef, _notdef,
163 "isuperior", "ssuperior", "dsuperior", _notdef, _notdef, _notdef,
164 _notdef, _notdef, "lsuperior", "Ogoneksmall", "Brevesmall",
165 "Macronsmall", "bsuperior", "nsuperior", "msuperior", "commasuperior",
166 "periodsuperior", "Dotaccentsmall", "Ringsmall", _notdef, _notdef,
167 _notdef, _notdef
168};
169
170/* All unused codes > 32 map to 'bullet' */
171const char *fz_glyph_name_from_win_ansi[256] = {
172 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
173 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
174 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
175 _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef,
176 "space", "exclam", "quotedbl", "numbersign", "dollar", "percent",
177 "ampersand", "quotesingle", "parenleft", "parenright", "asterisk",
178 "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two",
179 "three", "four", "five", "six", "seven", "eight", "nine", "colon",
180 "semicolon", "less", "equal", "greater", "question", "at", "A", "B",
181 "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
182 "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft",
183 "backslash", "bracketright", "asciicircum", "underscore", "grave", "a",
184 "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o",
185 "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft",
186 "bar", "braceright", "asciitilde", "bullet", "Euro", "bullet",
187 "quotesinglbase", "florin", "quotedblbase", "ellipsis", "dagger",
188 "daggerdbl", "circumflex", "perthousand", "Scaron", "guilsinglleft",
189 "OE", "bullet", "Zcaron", "bullet", "bullet", "quoteleft",
190 "quoteright", "quotedblleft", "quotedblright", "bullet", "endash",
191 "emdash", "tilde", "trademark", "scaron", "guilsinglright", "oe",
192 "bullet", "zcaron", "Ydieresis", "space", "exclamdown", "cent",
193 "sterling", "currency", "yen", "brokenbar", "section", "dieresis",
194 "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyphen",
195 "registered", "macron", "degree", "plusminus", "twosuperior",
196 "threesuperior", "acute", "mu", "paragraph", "periodcentered",
197 "cedilla", "onesuperior", "ordmasculine", "guillemotright",
198 "onequarter", "onehalf", "threequarters", "questiondown", "Agrave",
199 "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE",
200 "Ccedilla", "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave",
201 "Iacute", "Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve",
202 "Oacute", "Ocircumflex", "Otilde", "Odieresis", "multiply", "Oslash",
203 "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn",
204 "germandbls", "agrave", "aacute", "acircumflex", "atilde", "adieresis",
205 "aring", "ae", "ccedilla", "egrave", "eacute", "ecircumflex",
206 "edieresis", "igrave", "iacute", "icircumflex", "idieresis", "eth",
207 "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis",
208 "divide", "oslash", "ugrave", "uacute", "ucircumflex", "udieresis",
209 "yacute", "thorn", "ydieresis"
210};
211
212const unsigned short fz_unicode_from_iso8859_1[256] = {
213 0,
214 1,
215 2,
216 3,
217 4,
218 5,
219 6,
220 7,
221 8,
222 9,
223 10,
224 11,
225 12,
226 13,
227 14,
228 15,
229 16,
230 17,
231 18,
232 19,
233 20,
234 21,
235 22,
236 23,
237 24,
238 25,
239 26,
240 27,
241 28,
242 29,
243 30,
244 31,
245 32,
246 33,
247 34,
248 35,
249 36,
250 37,
251 38,
252 39,
253 40,
254 41,
255 42,
256 43,
257 44,
258 45,
259 46,
260 47,
261 48,
262 49,
263 50,
264 51,
265 52,
266 53,
267 54,
268 55,
269 56,
270 57,
271 58,
272 59,
273 60,
274 61,
275 62,
276 63,
277 64,
278 65,
279 66,
280 67,
281 68,
282 69,
283 70,
284 71,
285 72,
286 73,
287 74,
288 75,
289 76,
290 77,
291 78,
292 79,
293 80,
294 81,
295 82,
296 83,
297 84,
298 85,
299 86,
300 87,
301 88,
302 89,
303 90,
304 91,
305 92,
306 93,
307 94,
308 95,
309 96,
310 97,
311 98,
312 99,
313 100,
314 101,
315 102,
316 103,
317 104,
318 105,
319 106,
320 107,
321 108,
322 109,
323 110,
324 111,
325 112,
326 113,
327 114,
328 115,
329 116,
330 117,
331 118,
332 119,
333 120,
334 121,
335 122,
336 123,
337 124,
338 125,
339 126,
340 127,
341 128,
342 129,
343 130,
344 131,
345 132,
346 133,
347 134,
348 135,
349 136,
350 137,
351 138,
352 139,
353 140,
354 141,
355 142,
356 143,
357 144,
358 145,
359 146,
360 147,
361 148,
362 149,
363 150,
364 151,
365 152,
366 153,
367 154,
368 155,
369 156,
370 157,
371 158,
372 159,
373 160,
374 161,
375 162,
376 163,
377 164,
378 165,
379 166,
380 167,
381 168,
382 169,
383 170,
384 171,
385 172,
386 173,
387 174,
388 175,
389 176,
390 177,
391 178,
392 179,
393 180,
394 181,
395 182,
396 183,
397 184,
398 185,
399 186,
400 187,
401 188,
402 189,
403 190,
404 191,
405 192,
406 193,
407 194,
408 195,
409 196,
410 197,
411 198,
412 199,
413 200,
414 201,
415 202,
416 203,
417 204,
418 205,
419 206,
420 207,
421 208,
422 209,
423 210,
424 211,
425 212,
426 213,
427 214,
428 215,
429 216,
430 217,
431 218,
432 219,
433 220,
434 221,
435 222,
436 223,
437 224,
438 225,
439 226,
440 227,
441 228,
442 229,
443 230,
444 231,
445 232,
446 233,
447 234,
448 235,
449 236,
450 237,
451 238,
452 239,
453 240,
454 241,
455 242,
456 243,
457 244,
458 245,
459 246,
460 247,
461 248,
462 249,
463 250,
464 251,
465 252,
466 253,
467 254,
468 255,
469};
470
471const char *fz_glyph_name_from_iso8859_1[256] = {
472 _notdef,
473 _notdef,
474 _notdef,
475 _notdef,
476 _notdef,
477 _notdef,
478 _notdef,
479 _notdef,
480 _notdef,
481 _notdef,
482 _notdef,
483 _notdef,
484 _notdef,
485 _notdef,
486 _notdef,
487 _notdef,
488 _notdef,
489 _notdef,
490 _notdef,
491 _notdef,
492 _notdef,
493 _notdef,
494 _notdef,
495 _notdef,
496 _notdef,
497 _notdef,
498 _notdef,
499 _notdef,
500 _notdef,
501 _notdef,
502 _notdef,
503 _notdef,
504 "space",
505 "exclam",
506 "quotedbl",
507 "numbersign",
508 "dollar",
509 "percent",
510 "ampersand",
511 "quotesingle",
512 "parenleft",
513 "parenright",
514 "asterisk",
515 "plus",
516 "comma",
517 "hyphen",
518 "period",
519 "slash",
520 "zero",
521 "one",
522 "two",
523 "three",
524 "four",
525 "five",
526 "six",
527 "seven",
528 "eight",
529 "nine",
530 "colon",
531 "semicolon",
532 "less",
533 "equal",
534 "greater",
535 "question",
536 "at",
537 "A",
538 "B",
539 "C",
540 "D",
541 "E",
542 "F",
543 "G",
544 "H",
545 "I",
546 "J",
547 "K",
548 "L",
549 "M",
550 "N",
551 "O",
552 "P",
553 "Q",
554 "R",
555 "S",
556 "T",
557 "U",
558 "V",
559 "W",
560 "X",
561 "Y",
562 "Z",
563 "bracketleft",
564 "backslash",
565 "bracketright",
566 "asciicircum",
567 "underscore",
568 "grave",
569 "a",
570 "b",
571 "c",
572 "d",
573 "e",
574 "f",
575 "g",
576 "h",
577 "i",
578 "j",
579 "k",
580 "l",
581 "m",
582 "n",
583 "o",
584 "p",
585 "q",
586 "r",
587 "s",
588 "t",
589 "u",
590 "v",
591 "w",
592 "x",
593 "y",
594 "z",
595 "braceleft",
596 "bar",
597 "braceright",
598 "asciitilde",
599 "controlDEL",
600 _notdef,
601 _notdef,
602 _notdef,
603 _notdef,
604 _notdef,
605 _notdef,
606 _notdef,
607 _notdef,
608 _notdef,
609 _notdef,
610 _notdef,
611 _notdef,
612 _notdef,
613 _notdef,
614 _notdef,
615 _notdef,
616 _notdef,
617 _notdef,
618 _notdef,
619 _notdef,
620 _notdef,
621 _notdef,
622 _notdef,
623 _notdef,
624 _notdef,
625 _notdef,
626 _notdef,
627 _notdef,
628 _notdef,
629 _notdef,
630 _notdef,
631 _notdef,
632 "nbspace",
633 "exclamdown",
634 "cent",
635 "sterling",
636 "currency",
637 "yen",
638 "brokenbar",
639 "section",
640 "dieresis",
641 "copyright",
642 "ordfeminine",
643 "guillemotleft",
644 "logicalnot",
645 "sfthyphen",
646 "registered",
647 "macron",
648 "degree",
649 "plusminus",
650 "twosuperior",
651 "threesuperior",
652 "acute",
653 "mu",
654 "paragraph",
655 "periodcentered",
656 "cedilla",
657 "onesuperior",
658 "ordmasculine",
659 "guillemotright",
660 "onequarter",
661 "onehalf",
662 "threequarters",
663 "questiondown",
664 "Agrave",
665 "Aacute",
666 "Acircumflex",
667 "Atilde",
668 "Adieresis",
669 "Aring",
670 "AE",
671 "Ccedilla",
672 "Egrave",
673 "Eacute",
674 "Ecircumflex",
675 "Edieresis",
676 "Igrave",
677 "Iacute",
678 "Icircumflex",
679 "Idieresis",
680 "Eth",
681 "Ntilde",
682 "Ograve",
683 "Oacute",
684 "Ocircumflex",
685 "Otilde",
686 "Odieresis",
687 "multiply",
688 "Oslash",
689 "Ugrave",
690 "Uacute",
691 "Ucircumflex",
692 "Udieresis",
693 "Yacute",
694 "Thorn",
695 "germandbls",
696 "agrave",
697 "aacute",
698 "acircumflex",
699 "atilde",
700 "adieresis",
701 "aring",
702 "ae",
703 "ccedilla",
704 "egrave",
705 "eacute",
706 "ecircumflex",
707 "edieresis",
708 "igrave",
709 "iacute",
710 "icircumflex",
711 "idieresis",
712 "eth",
713 "ntilde",
714 "ograve",
715 "oacute",
716 "ocircumflex",
717 "otilde",
718 "odieresis",
719 "divide",
720 "oslash",
721 "ugrave",
722 "uacute",
723 "ucircumflex",
724 "udieresis",
725 "yacute",
726 "thorn",
727 "ydieresis",
728};
729
730static const struct { unsigned short u, c; } iso8859_1_from_unicode[] = {
731 {0x00a0,160},
732 {0x00a1,161},
733 {0x00a2,162},
734 {0x00a3,163},
735 {0x00a4,164},
736 {0x00a5,165},
737 {0x00a6,166},
738 {0x00a7,167},
739 {0x00a8,168},
740 {0x00a9,169},
741 {0x00aa,170},
742 {0x00ab,171},
743 {0x00ac,172},
744 {0x00ad,173},
745 {0x00ae,174},
746 {0x00af,175},
747 {0x00b0,176},
748 {0x00b1,177},
749 {0x00b2,178},
750 {0x00b3,179},
751 {0x00b4,180},
752 {0x00b5,181},
753 {0x00b6,182},
754 {0x00b7,183},
755 {0x00b8,184},
756 {0x00b9,185},
757 {0x00ba,186},
758 {0x00bb,187},
759 {0x00bc,188},
760 {0x00bd,189},
761 {0x00be,190},
762 {0x00bf,191},
763 {0x00c0,192},
764 {0x00c1,193},
765 {0x00c2,194},
766 {0x00c3,195},
767 {0x00c4,196},
768 {0x00c5,197},
769 {0x00c6,198},
770 {0x00c7,199},
771 {0x00c8,200},
772 {0x00c9,201},
773 {0x00ca,202},
774 {0x00cb,203},
775 {0x00cc,204},
776 {0x00cd,205},
777 {0x00ce,206},
778 {0x00cf,207},
779 {0x00d0,208},
780 {0x00d1,209},
781 {0x00d2,210},
782 {0x00d3,211},
783 {0x00d4,212},
784 {0x00d5,213},
785 {0x00d6,214},
786 {0x00d7,215},
787 {0x00d8,216},
788 {0x00d9,217},
789 {0x00da,218},
790 {0x00db,219},
791 {0x00dc,220},
792 {0x00dd,221},
793 {0x00de,222},
794 {0x00df,223},
795 {0x00e0,224},
796 {0x00e1,225},
797 {0x00e2,226},
798 {0x00e3,227},
799 {0x00e4,228},
800 {0x00e5,229},
801 {0x00e6,230},
802 {0x00e7,231},
803 {0x00e8,232},
804 {0x00e9,233},
805 {0x00ea,234},
806 {0x00eb,235},
807 {0x00ec,236},
808 {0x00ed,237},
809 {0x00ee,238},
810 {0x00ef,239},
811 {0x00f0,240},
812 {0x00f1,241},
813 {0x00f2,242},
814 {0x00f3,243},
815 {0x00f4,244},
816 {0x00f5,245},
817 {0x00f6,246},
818 {0x00f7,247},
819 {0x00f8,248},
820 {0x00f9,249},
821 {0x00fa,250},
822 {0x00fb,251},
823 {0x00fc,252},
824 {0x00fd,253},
825 {0x00fe,254},
826 {0x00ff,255},
827};
828
829const unsigned short fz_unicode_from_iso8859_7[256] = {
830 0,
831 1,
832 2,
833 3,
834 4,
835 5,
836 6,
837 7,
838 8,
839 9,
840 10,
841 11,
842 12,
843 13,
844 14,
845 15,
846 16,
847 17,
848 18,
849 19,
850 20,
851 21,
852 22,
853 23,
854 24,
855 25,
856 26,
857 27,
858 28,
859 29,
860 30,
861 31,
862 32,
863 33,
864 34,
865 35,
866 36,
867 37,
868 38,
869 39,
870 40,
871 41,
872 42,
873 43,
874 44,
875 45,
876 46,
877 47,
878 48,
879 49,
880 50,
881 51,
882 52,
883 53,
884 54,
885 55,
886 56,
887 57,
888 58,
889 59,
890 60,
891 61,
892 62,
893 63,
894 64,
895 65,
896 66,
897 67,
898 68,
899 69,
900 70,
901 71,
902 72,
903 73,
904 74,
905 75,
906 76,
907 77,
908 78,
909 79,
910 80,
911 81,
912 82,
913 83,
914 84,
915 85,
916 86,
917 87,
918 88,
919 89,
920 90,
921 91,
922 92,
923 93,
924 94,
925 95,
926 96,
927 97,
928 98,
929 99,
930 100,
931 101,
932 102,
933 103,
934 104,
935 105,
936 106,
937 107,
938 108,
939 109,
940 110,
941 111,
942 112,
943 113,
944 114,
945 115,
946 116,
947 117,
948 118,
949 119,
950 120,
951 121,
952 122,
953 123,
954 124,
955 125,
956 126,
957 127,
958 128,
959 129,
960 130,
961 131,
962 132,
963 133,
964 134,
965 135,
966 136,
967 137,
968 138,
969 139,
970 140,
971 141,
972 142,
973 143,
974 144,
975 145,
976 146,
977 147,
978 148,
979 149,
980 150,
981 151,
982 152,
983 153,
984 154,
985 155,
986 156,
987 157,
988 158,
989 159,
990 160,
991 8216,
992 8217,
993 163,
994 8364,
995 8367,
996 166,
997 167,
998 168,
999 169,
1000 890,
1001 171,
1002 172,
1003 173,
1004 0,
1005 8213,
1006 176,
1007 177,
1008 178,
1009 179,
1010 900,
1011 901,
1012 902,
1013 183,
1014 904,
1015 905,
1016 906,
1017 187,
1018 908,
1019 189,
1020 910,
1021 911,
1022 912,
1023 913,
1024 914,
1025 915,
1026 916,
1027 917,
1028 918,
1029 919,
1030 920,
1031 921,
1032 922,
1033 923,
1034 924,
1035 925,
1036 926,
1037 927,
1038 928,
1039 929,
1040 0,
1041 931,
1042 932,
1043 933,
1044 934,
1045 935,
1046 936,
1047 937,
1048 938,
1049 939,
1050 940,
1051 941,
1052 942,
1053 943,
1054 944,
1055 945,
1056 946,
1057 947,
1058 948,
1059 949,
1060 950,
1061 951,
1062 952,
1063 953,
1064 954,
1065 955,
1066 956,
1067 957,
1068 958,
1069 959,
1070 960,
1071 961,
1072 962,
1073 963,
1074 964,
1075 965,
1076 966,
1077 967,
1078 968,
1079 969,
1080 970,
1081 971,
1082 972,
1083 973,
1084 974,
1085 0,
1086};
1087
1088const char *fz_glyph_name_from_iso8859_7[256] = {
1089 _notdef,
1090 _notdef,
1091 _notdef,
1092 _notdef,
1093 _notdef,
1094 _notdef,
1095 _notdef,
1096 _notdef,
1097 _notdef,
1098 _notdef,
1099 _notdef,
1100 _notdef,
1101 _notdef,
1102 _notdef,
1103 _notdef,
1104 _notdef,
1105 _notdef,
1106 _notdef,
1107 _notdef,
1108 _notdef,
1109 _notdef,
1110 _notdef,
1111 _notdef,
1112 _notdef,
1113 _notdef,
1114 _notdef,
1115 _notdef,
1116 _notdef,
1117 _notdef,
1118 _notdef,
1119 _notdef,
1120 _notdef,
1121 "space",
1122 "exclam",
1123 "quotedbl",
1124 "numbersign",
1125 "dollar",
1126 "percent",
1127 "ampersand",
1128 "quotesingle",
1129 "parenleft",
1130 "parenright",
1131 "asterisk",
1132 "plus",
1133 "comma",
1134 "hyphen",
1135 "period",
1136 "slash",
1137 "zero",
1138 "one",
1139 "two",
1140 "three",
1141 "four",
1142 "five",
1143 "six",
1144 "seven",
1145 "eight",
1146 "nine",
1147 "colon",
1148 "semicolon",
1149 "less",
1150 "equal",
1151 "greater",
1152 "question",
1153 "at",
1154 "A",
1155 "B",
1156 "C",
1157 "D",
1158 "E",
1159 "F",
1160 "G",
1161 "H",
1162 "I",
1163 "J",
1164 "K",
1165 "L",
1166 "M",
1167 "N",
1168 "O",
1169 "P",
1170 "Q",
1171 "R",
1172 "S",
1173 "T",
1174 "U",
1175 "V",
1176 "W",
1177 "X",
1178 "Y",
1179 "Z",
1180 "bracketleft",
1181 "backslash",
1182 "bracketright",
1183 "asciicircum",
1184 "underscore",
1185 "grave",
1186 "a",
1187 "b",
1188 "c",
1189 "d",
1190 "e",
1191 "f",
1192 "g",
1193 "h",
1194 "i",
1195 "j",
1196 "k",
1197 "l",
1198 "m",
1199 "n",
1200 "o",
1201 "p",
1202 "q",
1203 "r",
1204 "s",
1205 "t",
1206 "u",
1207 "v",
1208 "w",
1209 "x",
1210 "y",
1211 "z",
1212 "braceleft",
1213 "bar",
1214 "braceright",
1215 "asciitilde",
1216 "controlDEL",
1217 _notdef,
1218 _notdef,
1219 _notdef,
1220 _notdef,
1221 _notdef,
1222 _notdef,
1223 _notdef,
1224 _notdef,
1225 _notdef,
1226 _notdef,
1227 _notdef,
1228 _notdef,
1229 _notdef,
1230 _notdef,
1231 _notdef,
1232 _notdef,
1233 _notdef,
1234 _notdef,
1235 _notdef,
1236 _notdef,
1237 _notdef,
1238 _notdef,
1239 _notdef,
1240 _notdef,
1241 _notdef,
1242 _notdef,
1243 _notdef,
1244 _notdef,
1245 _notdef,
1246 _notdef,
1247 _notdef,
1248 _notdef,
1249 "nbspace",
1250 "quoteleft",
1251 "quoteright",
1252 "sterling",
1253 "Euro",
1254 _notdef,
1255 "brokenbar",
1256 "section",
1257 "dieresis",
1258 "copyright",
1259 "ypogegrammeni",
1260 "guillemotleft",
1261 "logicalnot",
1262 "sfthyphen",
1263 _notdef,
1264 "afii00208",
1265 "degree",
1266 "plusminus",
1267 "twosuperior",
1268 "threesuperior",
1269 "tonos",
1270 "dialytikatonos",
1271 "Alphatonos",
1272 "periodcentered",
1273 "Epsilontonos",
1274 "Etatonos",
1275 "Iotatonos",
1276 "guillemotright",
1277 "Omicrontonos",
1278 "onehalf",
1279 "Upsilontonos",
1280 "Omegatonos",
1281 "iotadieresistonos",
1282 "Alpha",
1283 "Beta",
1284 "Gamma",
1285 "Deltagreek",
1286 "Epsilon",
1287 "Zeta",
1288 "Eta",
1289 "Theta",
1290 "Iota",
1291 "Kappa",
1292 "Lambda",
1293 "Mu",
1294 "Nu",
1295 "Xi",
1296 "Omicron",
1297 "Pi",
1298 "Rho",
1299 _notdef,
1300 "Sigma",
1301 "Tau",
1302 "Upsilon",
1303 "Phi",
1304 "Chi",
1305 "Psi",
1306 "Omegagreek",
1307 "Iotadieresis",
1308 "Upsilondieresis",
1309 "alphatonos",
1310 "epsilontonos",
1311 "etatonos",
1312 "iotatonos",
1313 "upsilondieresistonos",
1314 "alpha",
1315 "beta",
1316 "gamma",
1317 "delta",
1318 "epsilon",
1319 "zeta",
1320 "eta",
1321 "theta",
1322 "iota",
1323 "kappa",
1324 "lambda",
1325 "mugreek",
1326 "nu",
1327 "xi",
1328 "omicron",
1329 "pi",
1330 "rho",
1331 "sigma1",
1332 "sigma",
1333 "tau",
1334 "upsilon",
1335 "phi",
1336 "chi",
1337 "psi",
1338 "omega",
1339 "iotadieresis",
1340 "upsilondieresis",
1341 "omicrontonos",
1342 "upsilontonos",
1343 "omegatonos",
1344 _notdef,
1345};
1346
1347static const struct { unsigned short u, c; } iso8859_7_from_unicode[] = {
1348 {0x00a0,160},
1349 {0x00a3,163},
1350 {0x00a6,166},
1351 {0x00a7,167},
1352 {0x00a8,168},
1353 {0x00a9,169},
1354 {0x00ab,171},
1355 {0x00ac,172},
1356 {0x00ad,173},
1357 {0x00b0,176},
1358 {0x00b1,177},
1359 {0x00b2,178},
1360 {0x00b3,179},
1361 {0x00b7,183},
1362 {0x00bb,187},
1363 {0x00bd,189},
1364 {0x037a,170},
1365 {0x0384,180},
1366 {0x0385,181},
1367 {0x0386,182},
1368 {0x0388,184},
1369 {0x0389,185},
1370 {0x038a,186},
1371 {0x038c,188},
1372 {0x038e,190},
1373 {0x038f,191},
1374 {0x0390,192},
1375 {0x0391,193},
1376 {0x0392,194},
1377 {0x0393,195},
1378 {0x0394,196},
1379 {0x0395,197},
1380 {0x0396,198},
1381 {0x0397,199},
1382 {0x0398,200},
1383 {0x0399,201},
1384 {0x039a,202},
1385 {0x039b,203},
1386 {0x039c,204},
1387 {0x039d,205},
1388 {0x039e,206},
1389 {0x039f,207},
1390 {0x03a0,208},
1391 {0x03a1,209},
1392 {0x03a3,211},
1393 {0x03a4,212},
1394 {0x03a5,213},
1395 {0x03a6,214},
1396 {0x03a7,215},
1397 {0x03a8,216},
1398 {0x03a9,217},
1399 {0x03aa,218},
1400 {0x03ab,219},
1401 {0x03ac,220},
1402 {0x03ad,221},
1403 {0x03ae,222},
1404 {0x03af,223},
1405 {0x03b0,224},
1406 {0x03b1,225},
1407 {0x03b2,226},
1408 {0x03b3,227},
1409 {0x03b4,228},
1410 {0x03b5,229},
1411 {0x03b6,230},
1412 {0x03b7,231},
1413 {0x03b8,232},
1414 {0x03b9,233},
1415 {0x03ba,234},
1416 {0x03bb,235},
1417 {0x03bc,236},
1418 {0x03bd,237},
1419 {0x03be,238},
1420 {0x03bf,239},
1421 {0x03c0,240},
1422 {0x03c1,241},
1423 {0x03c2,242},
1424 {0x03c3,243},
1425 {0x03c4,244},
1426 {0x03c5,245},
1427 {0x03c6,246},
1428 {0x03c7,247},
1429 {0x03c8,248},
1430 {0x03c9,249},
1431 {0x03ca,250},
1432 {0x03cb,251},
1433 {0x03cc,252},
1434 {0x03cd,253},
1435 {0x03ce,254},
1436 {0x2015,175},
1437 {0x2018,161},
1438 {0x2019,162},
1439 {0x20ac,164},
1440};
1441
1442const unsigned short fz_unicode_from_koi8u[256] = {
1443 0,
1444 1,
1445 2,
1446 3,
1447 4,
1448 5,
1449 6,
1450 7,
1451 8,
1452 9,
1453 10,
1454 11,
1455 12,
1456 13,
1457 14,
1458 15,
1459 16,
1460 17,
1461 18,
1462 19,
1463 20,
1464 21,
1465 22,
1466 23,
1467 24,
1468 25,
1469 26,
1470 27,
1471 28,
1472 29,
1473 30,
1474 31,
1475 32,
1476 33,
1477 34,
1478 35,
1479 36,
1480 37,
1481 38,
1482 39,
1483 40,
1484 41,
1485 42,
1486 43,
1487 44,
1488 45,
1489 46,
1490 47,
1491 48,
1492 49,
1493 50,
1494 51,
1495 52,
1496 53,
1497 54,
1498 55,
1499 56,
1500 57,
1501 58,
1502 59,
1503 60,
1504 61,
1505 62,
1506 63,
1507 64,
1508 65,
1509 66,
1510 67,
1511 68,
1512 69,
1513 70,
1514 71,
1515 72,
1516 73,
1517 74,
1518 75,
1519 76,
1520 77,
1521 78,
1522 79,
1523 80,
1524 81,
1525 82,
1526 83,
1527 84,
1528 85,
1529 86,
1530 87,
1531 88,
1532 89,
1533 90,
1534 91,
1535 92,
1536 93,
1537 94,
1538 95,
1539 96,
1540 97,
1541 98,
1542 99,
1543 100,
1544 101,
1545 102,
1546 103,
1547 104,
1548 105,
1549 106,
1550 107,
1551 108,
1552 109,
1553 110,
1554 111,
1555 112,
1556 113,
1557 114,
1558 115,
1559 116,
1560 117,
1561 118,
1562 119,
1563 120,
1564 121,
1565 122,
1566 123,
1567 124,
1568 125,
1569 126,
1570 127,
1571 9472,
1572 9474,
1573 9484,
1574 9488,
1575 9492,
1576 9496,
1577 9500,
1578 9508,
1579 9516,
1580 9524,
1581 9532,
1582 9600,
1583 9604,
1584 9608,
1585 9612,
1586 9616,
1587 9617,
1588 9618,
1589 9619,
1590 8992,
1591 9632,
1592 8729,
1593 8730,
1594 8776,
1595 8804,
1596 8805,
1597 160,
1598 8993,
1599 176,
1600 178,
1601 183,
1602 247,
1603 9552,
1604 9553,
1605 9554,
1606 1105,
1607 1108,
1608 9556,
1609 1110,
1610 1111,
1611 9559,
1612 9560,
1613 9561,
1614 9562,
1615 9563,
1616 1169,
1617 9565,
1618 9566,
1619 9567,
1620 9568,
1621 9569,
1622 1025,
1623 1028,
1624 9571,
1625 1030,
1626 1031,
1627 9574,
1628 9575,
1629 9576,
1630 9577,
1631 9578,
1632 1168,
1633 9580,
1634 169,
1635 1102,
1636 1072,
1637 1073,
1638 1094,
1639 1076,
1640 1077,
1641 1092,
1642 1075,
1643 1093,
1644 1080,
1645 1081,
1646 1082,
1647 1083,
1648 1084,
1649 1085,
1650 1086,
1651 1087,
1652 1103,
1653 1088,
1654 1089,
1655 1090,
1656 1091,
1657 1078,
1658 1074,
1659 1100,
1660 1099,
1661 1079,
1662 1096,
1663 1101,
1664 1097,
1665 1095,
1666 1098,
1667 1070,
1668 1040,
1669 1041,
1670 1062,
1671 1044,
1672 1045,
1673 1060,
1674 1043,
1675 1061,
1676 1048,
1677 1049,
1678 1050,
1679 1051,
1680 1052,
1681 1053,
1682 1054,
1683 1055,
1684 1071,
1685 1056,
1686 1057,
1687 1058,
1688 1059,
1689 1046,
1690 1042,
1691 1068,
1692 1067,
1693 1047,
1694 1064,
1695 1069,
1696 1065,
1697 1063,
1698 1066,
1699};
1700
1701const char *fz_glyph_name_from_koi8u[256] = {
1702 _notdef,
1703 _notdef,
1704 _notdef,
1705 _notdef,
1706 _notdef,
1707 _notdef,
1708 _notdef,
1709 _notdef,
1710 _notdef,
1711 _notdef,
1712 _notdef,
1713 _notdef,
1714 _notdef,
1715 _notdef,
1716 _notdef,
1717 _notdef,
1718 _notdef,
1719 _notdef,
1720 _notdef,
1721 _notdef,
1722 _notdef,
1723 _notdef,
1724 _notdef,
1725 _notdef,
1726 _notdef,
1727 _notdef,
1728 _notdef,
1729 _notdef,
1730 _notdef,
1731 _notdef,
1732 _notdef,
1733 _notdef,
1734 "space",
1735 "exclam",
1736 "quotedbl",
1737 "numbersign",
1738 "dollar",
1739 "percent",
1740 "ampersand",
1741 "quotesingle",
1742 "parenleft",
1743 "parenright",
1744 "asterisk",
1745 "plus",
1746 "comma",
1747 "hyphen",
1748 "period",
1749 "slash",
1750 "zero",
1751 "one",
1752 "two",
1753 "three",
1754 "four",
1755 "five",
1756 "six",
1757 "seven",
1758 "eight",
1759 "nine",
1760 "colon",
1761 "semicolon",
1762 "less",
1763 "equal",
1764 "greater",
1765 "question",
1766 "at",
1767 "A",
1768 "B",
1769 "C",
1770 "D",
1771 "E",
1772 "F",
1773 "G",
1774 "H",
1775 "I",
1776 "J",
1777 "K",
1778 "L",
1779 "M",
1780 "N",
1781 "O",
1782 "P",
1783 "Q",
1784 "R",
1785 "S",
1786 "T",
1787 "U",
1788 "V",
1789 "W",
1790 "X",
1791 "Y",
1792 "Z",
1793 "bracketleft",
1794 "backslash",
1795 "bracketright",
1796 "asciicircum",
1797 "underscore",
1798 "grave",
1799 "a",
1800 "b",
1801 "c",
1802 "d",
1803 "e",
1804 "f",
1805 "g",
1806 "h",
1807 "i",
1808 "j",
1809 "k",
1810 "l",
1811 "m",
1812 "n",
1813 "o",
1814 "p",
1815 "q",
1816 "r",
1817 "s",
1818 "t",
1819 "u",
1820 "v",
1821 "w",
1822 "x",
1823 "y",
1824 "z",
1825 "braceleft",
1826 "bar",
1827 "braceright",
1828 "asciitilde",
1829 "controlDEL",
1830 _notdef,
1831 _notdef,
1832 _notdef,
1833 _notdef,
1834 _notdef,
1835 _notdef,
1836 _notdef,
1837 _notdef,
1838 _notdef,
1839 _notdef,
1840 _notdef,
1841 "upblock",
1842 "dnblock",
1843 "block",
1844 "lfblock",
1845 "rtblock",
1846 "ltshade",
1847 "shade",
1848 "dkshade",
1849 "integraltop",
1850 "blacksquare",
1851 "bulletoperator",
1852 "radical",
1853 "approxequal",
1854 "lessequal",
1855 "greaterequal",
1856 "nbspace",
1857 "integralbottom",
1858 "degree",
1859 "twosuperior",
1860 "periodcentered",
1861 "divide",
1862 _notdef,
1863 _notdef,
1864 _notdef,
1865 "afii10071",
1866 "afii10101",
1867 _notdef,
1868 "afii10103",
1869 "afii10104",
1870 _notdef,
1871 _notdef,
1872 _notdef,
1873 _notdef,
1874 _notdef,
1875 "afii10098",
1876 _notdef,
1877 _notdef,
1878 _notdef,
1879 _notdef,
1880 _notdef,
1881 "Iocyrillic",
1882 "Ecyrillic",
1883 _notdef,
1884 "Icyrillic",
1885 "Yicyrillic",
1886 _notdef,
1887 _notdef,
1888 _notdef,
1889 _notdef,
1890 _notdef,
1891 "Gheupturncyrillic",
1892 _notdef,
1893 "copyright",
1894 "afii10096",
1895 "acyrillic",
1896 "afii10066",
1897 "afii10088",
1898 "afii10069",
1899 "afii10070",
1900 "afii10086",
1901 "afii10068",
1902 "afii10087",
1903 "afii10074",
1904 "afii10075",
1905 "afii10076",
1906 "afii10077",
1907 "afii10078",
1908 "afii10079",
1909 "afii10080",
1910 "afii10081",
1911 "afii10097",
1912 "afii10082",
1913 "afii10083",
1914 "afii10084",
1915 "afii10085",
1916 "afii10072",
1917 "afii10067",
1918 "afii10094",
1919 "afii10093",
1920 "afii10073",
1921 "afii10090",
1922 "afii10095",
1923 "afii10091",
1924 "afii10089",
1925 "afii10092",
1926 "IUcyrillic",
1927 "Acyrillic",
1928 "Becyrillic",
1929 "Tsecyrillic",
1930 "Decyrillic",
1931 "Iecyrillic",
1932 "Efcyrillic",
1933 "Gecyrillic",
1934 "Khacyrillic",
1935 "Iicyrillic",
1936 "Iishortcyrillic",
1937 "Kacyrillic",
1938 "Elcyrillic",
1939 "Emcyrillic",
1940 "Encyrillic",
1941 "Ocyrillic",
1942 "Pecyrillic",
1943 "IAcyrillic",
1944 "Ercyrillic",
1945 "Escyrillic",
1946 "Tecyrillic",
1947 "Ucyrillic",
1948 "Zhecyrillic",
1949 "Vecyrillic",
1950 "Softsigncyrillic",
1951 "Yericyrillic",
1952 "Zecyrillic",
1953 "Shacyrillic",
1954 "Ereversedcyrillic",
1955 "Shchacyrillic",
1956 "Checyrillic",
1957 "Hardsigncyrillic",
1958};
1959
1960static const struct { unsigned short u, c; } koi8u_from_unicode[] = {
1961 {0x00a0,154},
1962 {0x00a9,191},
1963 {0x00b0,156},
1964 {0x00b2,157},
1965 {0x00b7,158},
1966 {0x00f7,159},
1967 {0x0401,179},
1968 {0x0404,180},
1969 {0x0406,182},
1970 {0x0407,183},
1971 {0x0410,225},
1972 {0x0411,226},
1973 {0x0412,247},
1974 {0x0413,231},
1975 {0x0414,228},
1976 {0x0415,229},
1977 {0x0416,246},
1978 {0x0417,250},
1979 {0x0418,233},
1980 {0x0419,234},
1981 {0x041a,235},
1982 {0x041b,236},
1983 {0x041c,237},
1984 {0x041d,238},
1985 {0x041e,239},
1986 {0x041f,240},
1987 {0x0420,242},
1988 {0x0421,243},
1989 {0x0422,244},
1990 {0x0423,245},
1991 {0x0424,230},
1992 {0x0425,232},
1993 {0x0426,227},
1994 {0x0427,254},
1995 {0x0428,251},
1996 {0x0429,253},
1997 {0x042a,255},
1998 {0x042b,249},
1999 {0x042c,248},
2000 {0x042d,252},
2001 {0x042e,224},
2002 {0x042f,241},
2003 {0x0430,193},
2004 {0x0431,194},
2005 {0x0432,215},
2006 {0x0433,199},
2007 {0x0434,196},
2008 {0x0435,197},
2009 {0x0436,214},
2010 {0x0437,218},
2011 {0x0438,201},
2012 {0x0439,202},
2013 {0x043a,203},
2014 {0x043b,204},
2015 {0x043c,205},
2016 {0x043d,206},
2017 {0x043e,207},
2018 {0x043f,208},
2019 {0x0440,210},
2020 {0x0441,211},
2021 {0x0442,212},
2022 {0x0443,213},
2023 {0x0444,198},
2024 {0x0445,200},
2025 {0x0446,195},
2026 {0x0447,222},
2027 {0x0448,219},
2028 {0x0449,221},
2029 {0x044a,223},
2030 {0x044b,217},
2031 {0x044c,216},
2032 {0x044d,220},
2033 {0x044e,192},
2034 {0x044f,209},
2035 {0x0451,163},
2036 {0x0454,164},
2037 {0x0456,166},
2038 {0x0457,167},
2039 {0x0490,189},
2040 {0x0491,173},
2041 {0x2219,149},
2042 {0x221a,150},
2043 {0x2248,151},
2044 {0x2264,152},
2045 {0x2265,153},
2046 {0x2320,147},
2047 {0x2321,155},
2048 {0x2580,139},
2049 {0x2584,140},
2050 {0x2588,141},
2051 {0x258c,142},
2052 {0x2590,143},
2053 {0x2591,144},
2054 {0x2592,145},
2055 {0x2593,146},
2056 {0x25a0,148},
2057};
2058
2059const unsigned short fz_unicode_from_windows_1250[256] = {
2060 0,
2061 1,
2062 2,
2063 3,
2064 4,
2065 5,
2066 6,
2067 7,
2068 8,
2069 9,
2070 10,
2071 11,
2072 12,
2073 13,
2074 14,
2075 15,
2076 16,
2077 17,
2078 18,
2079 19,
2080 20,
2081 21,
2082 22,
2083 23,
2084 24,
2085 25,
2086 26,
2087 27,
2088 28,
2089 29,
2090 30,
2091 31,
2092 32,
2093 33,
2094 34,
2095 35,
2096 36,
2097 37,
2098 38,
2099 39,
2100 40,
2101 41,
2102 42,
2103 43,
2104 44,
2105 45,
2106 46,
2107 47,
2108 48,
2109 49,
2110 50,
2111 51,
2112 52,
2113 53,
2114 54,
2115 55,
2116 56,
2117 57,
2118 58,
2119 59,
2120 60,
2121 61,
2122 62,
2123 63,
2124 64,
2125 65,
2126 66,
2127 67,
2128 68,
2129 69,
2130 70,
2131 71,
2132 72,
2133 73,
2134 74,
2135 75,
2136 76,
2137 77,
2138 78,
2139 79,
2140 80,
2141 81,
2142 82,
2143 83,
2144 84,
2145 85,
2146 86,
2147 87,
2148 88,
2149 89,
2150 90,
2151 91,
2152 92,
2153 93,
2154 94,
2155 95,
2156 96,
2157 97,
2158 98,
2159 99,
2160 100,
2161 101,
2162 102,
2163 103,
2164 104,
2165 105,
2166 106,
2167 107,
2168 108,
2169 109,
2170 110,
2171 111,
2172 112,
2173 113,
2174 114,
2175 115,
2176 116,
2177 117,
2178 118,
2179 119,
2180 120,
2181 121,
2182 122,
2183 123,
2184 124,
2185 125,
2186 126,
2187 127,
2188 8364,
2189 0,
2190 8218,
2191 0,
2192 8222,
2193 8230,
2194 8224,
2195 8225,
2196 0,
2197 8240,
2198 352,
2199 8249,
2200 346,
2201 356,
2202 381,
2203 377,
2204 0,
2205 8216,
2206 8217,
2207 8220,
2208 8221,
2209 8226,
2210 8211,
2211 8212,
2212 0,
2213 8482,
2214 353,
2215 8250,
2216 347,
2217 357,
2218 382,
2219 378,
2220 160,
2221 711,
2222 728,
2223 321,
2224 164,
2225 260,
2226 166,
2227 167,
2228 168,
2229 169,
2230 350,
2231 171,
2232 172,
2233 173,
2234 174,
2235 379,
2236 176,
2237 177,
2238 731,
2239 322,
2240 180,
2241 181,
2242 182,
2243 183,
2244 184,
2245 261,
2246 351,
2247 187,
2248 317,
2249 733,
2250 318,
2251 380,
2252 340,
2253 193,
2254 194,
2255 258,
2256 196,
2257 313,
2258 262,
2259 199,
2260 268,
2261 201,
2262 280,
2263 203,
2264 282,
2265 205,
2266 206,
2267 270,
2268 272,
2269 323,
2270 327,
2271 211,
2272 212,
2273 336,
2274 214,
2275 215,
2276 344,
2277 366,
2278 218,
2279 368,
2280 220,
2281 221,
2282 354,
2283 223,
2284 341,
2285 225,
2286 226,
2287 259,
2288 228,
2289 314,
2290 263,
2291 231,
2292 269,
2293 233,
2294 281,
2295 235,
2296 283,
2297 237,
2298 238,
2299 271,
2300 273,
2301 324,
2302 328,
2303 243,
2304 244,
2305 337,
2306 246,
2307 247,
2308 345,
2309 367,
2310 250,
2311 369,
2312 252,
2313 253,
2314 355,
2315 729,
2316};
2317
2318const char *fz_glyph_name_from_windows_1250[256] = {
2319 _notdef,
2320 _notdef,
2321 _notdef,
2322 _notdef,
2323 _notdef,
2324 _notdef,
2325 _notdef,
2326 _notdef,
2327 _notdef,
2328 _notdef,
2329 _notdef,
2330 _notdef,
2331 _notdef,
2332 _notdef,
2333 _notdef,
2334 _notdef,
2335 _notdef,
2336 _notdef,
2337 _notdef,
2338 _notdef,
2339 _notdef,
2340 _notdef,
2341 _notdef,
2342 _notdef,
2343 _notdef,
2344 _notdef,
2345 _notdef,
2346 _notdef,
2347 _notdef,
2348 _notdef,
2349 _notdef,
2350 _notdef,
2351 "space",
2352 "exclam",
2353 "quotedbl",
2354 "numbersign",
2355 "dollar",
2356 "percent",
2357 "ampersand",
2358 "quotesingle",
2359 "parenleft",
2360 "parenright",
2361 "asterisk",
2362 "plus",
2363 "comma",
2364 "hyphen",
2365 "period",
2366 "slash",
2367 "zero",
2368 "one",
2369 "two",
2370 "three",
2371 "four",
2372 "five",
2373 "six",
2374 "seven",
2375 "eight",
2376 "nine",
2377 "colon",
2378 "semicolon",
2379 "less",
2380 "equal",
2381 "greater",
2382 "question",
2383 "at",
2384 "A",
2385 "B",
2386 "C",
2387 "D",
2388 "E",
2389 "F",
2390 "G",
2391 "H",
2392 "I",
2393 "J",
2394 "K",
2395 "L",
2396 "M",
2397 "N",
2398 "O",
2399 "P",
2400 "Q",
2401 "R",
2402 "S",
2403 "T",
2404 "U",
2405 "V",
2406 "W",
2407 "X",
2408 "Y",
2409 "Z",
2410 "bracketleft",
2411 "backslash",
2412 "bracketright",
2413 "asciicircum",
2414 "underscore",
2415 "grave",
2416 "a",
2417 "b",
2418 "c",
2419 "d",
2420 "e",
2421 "f",
2422 "g",
2423 "h",
2424 "i",
2425 "j",
2426 "k",
2427 "l",
2428 "m",
2429 "n",
2430 "o",
2431 "p",
2432 "q",
2433 "r",
2434 "s",
2435 "t",
2436 "u",
2437 "v",
2438 "w",
2439 "x",
2440 "y",
2441 "z",
2442 "braceleft",
2443 "bar",
2444 "braceright",
2445 "asciitilde",
2446 "controlDEL",
2447 "Euro",
2448 _notdef,
2449 "quotesinglbase",
2450 _notdef,
2451 "quotedblbase",
2452 "ellipsis",
2453 "dagger",
2454 "daggerdbl",
2455 _notdef,
2456 "perthousand",
2457 "Scaron",
2458 "guilsinglleft",
2459 "Sacute",
2460 "Tcaron",
2461 "Zcaron",
2462 "Zacute",
2463 _notdef,
2464 "quoteleft",
2465 "quoteright",
2466 "quotedblleft",
2467 "quotedblright",
2468 "bullet",
2469 "endash",
2470 "emdash",
2471 _notdef,
2472 "trademark",
2473 "scaron",
2474 "guilsinglright",
2475 "sacute",
2476 "tcaron",
2477 "zcaron",
2478 "zacute",
2479 "nbspace",
2480 "caron",
2481 "breve",
2482 "Lslash",
2483 "currency",
2484 "Aogonek",
2485 "brokenbar",
2486 "section",
2487 "dieresis",
2488 "copyright",
2489 "Scedilla",
2490 "guillemotleft",
2491 "logicalnot",
2492 "sfthyphen",
2493 "registered",
2494 "Zdot",
2495 "degree",
2496 "plusminus",
2497 "ogonek",
2498 "lslash",
2499 "acute",
2500 "mu",
2501 "paragraph",
2502 "periodcentered",
2503 "cedilla",
2504 "aogonek",
2505 "scedilla",
2506 "guillemotright",
2507 "Lcaron",
2508 "hungarumlaut",
2509 "lcaron",
2510 "zdot",
2511 "Racute",
2512 "Aacute",
2513 "Acircumflex",
2514 "Abreve",
2515 "Adieresis",
2516 "Lacute",
2517 "Cacute",
2518 "Ccedilla",
2519 "Ccaron",
2520 "Eacute",
2521 "Eogonek",
2522 "Edieresis",
2523 "Ecaron",
2524 "Iacute",
2525 "Icircumflex",
2526 "Dcaron",
2527 "Dcroat",
2528 "Nacute",
2529 "Ncaron",
2530 "Oacute",
2531 "Ocircumflex",
2532 "Odblacute",
2533 "Odieresis",
2534 "multiply",
2535 "Rcaron",
2536 "Uring",
2537 "Uacute",
2538 "Udblacute",
2539 "Udieresis",
2540 "Yacute",
2541 "Tcedilla",
2542 "germandbls",
2543 "racute",
2544 "aacute",
2545 "acircumflex",
2546 "abreve",
2547 "adieresis",
2548 "lacute",
2549 "cacute",
2550 "ccedilla",
2551 "ccaron",
2552 "eacute",
2553 "eogonek",
2554 "edieresis",
2555 "ecaron",
2556 "iacute",
2557 "icircumflex",
2558 "dcaron",
2559 "dcroat",
2560 "nacute",
2561 "ncaron",
2562 "oacute",
2563 "ocircumflex",
2564 "odblacute",
2565 "odieresis",
2566 "divide",
2567 "rcaron",
2568 "uring",
2569 "uacute",
2570 "udblacute",
2571 "udieresis",
2572 "yacute",
2573 "tcedilla",
2574 "dotaccent",
2575};
2576
2577static const struct { unsigned short u, c; } windows_1250_from_unicode[] = {
2578 {0x00a0,160},
2579 {0x00a4,164},
2580 {0x00a6,166},
2581 {0x00a7,167},
2582 {0x00a8,168},
2583 {0x00a9,169},
2584 {0x00ab,171},
2585 {0x00ac,172},
2586 {0x00ad,173},
2587 {0x00ae,174},
2588 {0x00b0,176},
2589 {0x00b1,177},
2590 {0x00b4,180},
2591 {0x00b5,181},
2592 {0x00b6,182},
2593 {0x00b7,183},
2594 {0x00b8,184},
2595 {0x00bb,187},
2596 {0x00c1,193},
2597 {0x00c2,194},
2598 {0x00c4,196},
2599 {0x00c7,199},
2600 {0x00c9,201},
2601 {0x00cb,203},
2602 {0x00cd,205},
2603 {0x00ce,206},
2604 {0x00d3,211},
2605 {0x00d4,212},
2606 {0x00d6,214},
2607 {0x00d7,215},
2608 {0x00da,218},
2609 {0x00dc,220},
2610 {0x00dd,221},
2611 {0x00df,223},
2612 {0x00e1,225},
2613 {0x00e2,226},
2614 {0x00e4,228},
2615 {0x00e7,231},
2616 {0x00e9,233},
2617 {0x00eb,235},
2618 {0x00ed,237},
2619 {0x00ee,238},
2620 {0x00f3,243},
2621 {0x00f4,244},
2622 {0x00f6,246},
2623 {0x00f7,247},
2624 {0x00fa,250},
2625 {0x00fc,252},
2626 {0x00fd,253},
2627 {0x0102,195},
2628 {0x0103,227},
2629 {0x0104,165},
2630 {0x0105,185},
2631 {0x0106,198},
2632 {0x0107,230},
2633 {0x010c,200},
2634 {0x010d,232},
2635 {0x010e,207},
2636 {0x010f,239},
2637 {0x0110,208},
2638 {0x0111,240},
2639 {0x0118,202},
2640 {0x0119,234},
2641 {0x011a,204},
2642 {0x011b,236},
2643 {0x0139,197},
2644 {0x013a,229},
2645 {0x013d,188},
2646 {0x013e,190},
2647 {0x0141,163},
2648 {0x0142,179},
2649 {0x0143,209},
2650 {0x0144,241},
2651 {0x0147,210},
2652 {0x0148,242},
2653 {0x0150,213},
2654 {0x0151,245},
2655 {0x0154,192},
2656 {0x0155,224},
2657 {0x0158,216},
2658 {0x0159,248},
2659 {0x015a,140},
2660 {0x015b,156},
2661 {0x015e,170},
2662 {0x015f,186},
2663 {0x0160,138},
2664 {0x0161,154},
2665 {0x0162,222},
2666 {0x0163,254},
2667 {0x0164,141},
2668 {0x0165,157},
2669 {0x016e,217},
2670 {0x016f,249},
2671 {0x0170,219},
2672 {0x0171,251},
2673 {0x0179,143},
2674 {0x017a,159},
2675 {0x017b,175},
2676 {0x017c,191},
2677 {0x017d,142},
2678 {0x017e,158},
2679 {0x02c7,161},
2680 {0x02d8,162},
2681 {0x02d9,255},
2682 {0x02db,178},
2683 {0x02dd,189},
2684 {0x2013,150},
2685 {0x2014,151},
2686 {0x2018,145},
2687 {0x2019,146},
2688 {0x201a,130},
2689 {0x201c,147},
2690 {0x201d,148},
2691 {0x201e,132},
2692 {0x2020,134},
2693 {0x2021,135},
2694 {0x2022,149},
2695 {0x2026,133},
2696 {0x2030,137},
2697 {0x2039,139},
2698 {0x203a,155},
2699 {0x20ac,128},
2700 {0x2122,153},
2701};
2702
2703const unsigned short fz_unicode_from_windows_1251[256] = {
2704 0,
2705 1,
2706 2,
2707 3,
2708 4,
2709 5,
2710 6,
2711 7,
2712 8,
2713 9,
2714 10,
2715 11,
2716 12,
2717 13,
2718 14,
2719 15,
2720 16,
2721 17,
2722 18,
2723 19,
2724 20,
2725 21,
2726 22,
2727 23,
2728 24,
2729 25,
2730 26,
2731 27,
2732 28,
2733 29,
2734 30,
2735 31,
2736 32,
2737 33,
2738 34,
2739 35,
2740 36,
2741 37,
2742 38,
2743 39,
2744 40,
2745 41,
2746 42,
2747 43,
2748 44,
2749 45,
2750 46,
2751 47,
2752 48,
2753 49,
2754 50,
2755 51,
2756 52,
2757 53,
2758 54,
2759 55,
2760 56,
2761 57,
2762 58,
2763 59,
2764 60,
2765 61,
2766 62,
2767 63,
2768 64,
2769 65,
2770 66,
2771 67,
2772 68,
2773 69,
2774 70,
2775 71,
2776 72,
2777 73,
2778 74,
2779 75,
2780 76,
2781 77,
2782 78,
2783 79,
2784 80,
2785 81,
2786 82,
2787 83,
2788 84,
2789 85,
2790 86,
2791 87,
2792 88,
2793 89,
2794 90,
2795 91,
2796 92,
2797 93,
2798 94,
2799 95,
2800 96,
2801 97,
2802 98,
2803 99,
2804 100,
2805 101,
2806 102,
2807 103,
2808 104,
2809 105,
2810 106,
2811 107,
2812 108,
2813 109,
2814 110,
2815 111,
2816 112,
2817 113,
2818 114,
2819 115,
2820 116,
2821 117,
2822 118,
2823 119,
2824 120,
2825 121,
2826 122,
2827 123,
2828 124,
2829 125,
2830 126,
2831 127,
2832 1026,
2833 1027,
2834 8218,
2835 1107,
2836 8222,
2837 8230,
2838 8224,
2839 8225,
2840 8364,
2841 8240,
2842 1033,
2843 8249,
2844 1034,
2845 1036,
2846 1035,
2847 1039,
2848 1106,
2849 8216,
2850 8217,
2851 8220,
2852 8221,
2853 8226,
2854 8211,
2855 8212,
2856 0,
2857 8482,
2858 1113,
2859 8250,
2860 1114,
2861 1116,
2862 1115,
2863 1119,
2864 160,
2865 1038,
2866 1118,
2867 1032,
2868 164,
2869 1168,
2870 166,
2871 167,
2872 1025,
2873 169,
2874 1028,
2875 171,
2876 172,
2877 173,
2878 174,
2879 1031,
2880 176,
2881 177,
2882 1030,
2883 1110,
2884 1169,
2885 181,
2886 182,
2887 183,
2888 1105,
2889 8470,
2890 1108,
2891 187,
2892 1112,
2893 1029,
2894 1109,
2895 1111,
2896 1040,
2897 1041,
2898 1042,
2899 1043,
2900 1044,
2901 1045,
2902 1046,
2903 1047,
2904 1048,
2905 1049,
2906 1050,
2907 1051,
2908 1052,
2909 1053,
2910 1054,
2911 1055,
2912 1056,
2913 1057,
2914 1058,
2915 1059,
2916 1060,
2917 1061,
2918 1062,
2919 1063,
2920 1064,
2921 1065,
2922 1066,
2923 1067,
2924 1068,
2925 1069,
2926 1070,
2927 1071,
2928 1072,
2929 1073,
2930 1074,
2931 1075,
2932 1076,
2933 1077,
2934 1078,
2935 1079,
2936 1080,
2937 1081,
2938 1082,
2939 1083,
2940 1084,
2941 1085,
2942 1086,
2943 1087,
2944 1088,
2945 1089,
2946 1090,
2947 1091,
2948 1092,
2949 1093,
2950 1094,
2951 1095,
2952 1096,
2953 1097,
2954 1098,
2955 1099,
2956 1100,
2957 1101,
2958 1102,
2959 1103,
2960};
2961
2962const char *fz_glyph_name_from_windows_1251[256] = {
2963 _notdef,
2964 _notdef,
2965 _notdef,
2966 _notdef,
2967 _notdef,
2968 _notdef,
2969 _notdef,
2970 _notdef,
2971 _notdef,
2972 _notdef,
2973 _notdef,
2974 _notdef,
2975 _notdef,
2976 _notdef,
2977 _notdef,
2978 _notdef,
2979 _notdef,
2980 _notdef,
2981 _notdef,
2982 _notdef,
2983 _notdef,
2984 _notdef,
2985 _notdef,
2986 _notdef,
2987 _notdef,
2988 _notdef,
2989 _notdef,
2990 _notdef,
2991 _notdef,
2992 _notdef,
2993 _notdef,
2994 _notdef,
2995 "space",
2996 "exclam",
2997 "quotedbl",
2998 "numbersign",
2999 "dollar",
3000 "percent",
3001 "ampersand",
3002 "quotesingle",
3003 "parenleft",
3004 "parenright",
3005 "asterisk",
3006 "plus",
3007 "comma",
3008 "hyphen",
3009 "period",
3010 "slash",
3011 "zero",
3012 "one",
3013 "two",
3014 "three",
3015 "four",
3016 "five",
3017 "six",
3018 "seven",
3019 "eight",
3020 "nine",
3021 "colon",
3022 "semicolon",
3023 "less",
3024 "equal",
3025 "greater",
3026 "question",
3027 "at",
3028 "A",
3029 "B",
3030 "C",
3031 "D",
3032 "E",
3033 "F",
3034 "G",
3035 "H",
3036 "I",
3037 "J",
3038 "K",
3039 "L",
3040 "M",
3041 "N",
3042 "O",
3043 "P",
3044 "Q",
3045 "R",
3046 "S",
3047 "T",
3048 "U",
3049 "V",
3050 "W",
3051 "X",
3052 "Y",
3053 "Z",
3054 "bracketleft",
3055 "backslash",
3056 "bracketright",
3057 "asciicircum",
3058 "underscore",
3059 "grave",
3060 "a",
3061 "b",
3062 "c",
3063 "d",
3064 "e",
3065 "f",
3066 "g",
3067 "h",
3068 "i",
3069 "j",
3070 "k",
3071 "l",
3072 "m",
3073 "n",
3074 "o",
3075 "p",
3076 "q",
3077 "r",
3078 "s",
3079 "t",
3080 "u",
3081 "v",
3082 "w",
3083 "x",
3084 "y",
3085 "z",
3086 "braceleft",
3087 "bar",
3088 "braceright",
3089 "asciitilde",
3090 "controlDEL",
3091 "Djecyrillic",
3092 "Gjecyrillic",
3093 "quotesinglbase",
3094 "afii10100",
3095 "quotedblbase",
3096 "ellipsis",
3097 "dagger",
3098 "daggerdbl",
3099 "Euro",
3100 "perthousand",
3101 "Ljecyrillic",
3102 "guilsinglleft",
3103 "Njecyrillic",
3104 "Kjecyrillic",
3105 "Tshecyrillic",
3106 "Dzhecyrillic",
3107 "afii10099",
3108 "quoteleft",
3109 "quoteright",
3110 "quotedblleft",
3111 "quotedblright",
3112 "bullet",
3113 "endash",
3114 "emdash",
3115 _notdef,
3116 "trademark",
3117 "afii10106",
3118 "guilsinglright",
3119 "afii10107",
3120 "afii10109",
3121 "afii10108",
3122 "afii10193",
3123 "nbspace",
3124 "Ushortcyrillic",
3125 "afii10110",
3126 "Jecyrillic",
3127 "currency",
3128 "Gheupturncyrillic",
3129 "brokenbar",
3130 "section",
3131 "Iocyrillic",
3132 "copyright",
3133 "Ecyrillic",
3134 "guillemotleft",
3135 "logicalnot",
3136 "sfthyphen",
3137 "registered",
3138 "Yicyrillic",
3139 "degree",
3140 "plusminus",
3141 "Icyrillic",
3142 "afii10103",
3143 "afii10098",
3144 "mu",
3145 "paragraph",
3146 "periodcentered",
3147 "afii10071",
3148 "afii61352",
3149 "afii10101",
3150 "guillemotright",
3151 "afii10105",
3152 "Dzecyrillic",
3153 "afii10102",
3154 "afii10104",
3155 "Acyrillic",
3156 "Becyrillic",
3157 "Vecyrillic",
3158 "Gecyrillic",
3159 "Decyrillic",
3160 "Iecyrillic",
3161 "Zhecyrillic",
3162 "Zecyrillic",
3163 "Iicyrillic",
3164 "Iishortcyrillic",
3165 "Kacyrillic",
3166 "Elcyrillic",
3167 "Emcyrillic",
3168 "Encyrillic",
3169 "Ocyrillic",
3170 "Pecyrillic",
3171 "Ercyrillic",
3172 "Escyrillic",
3173 "Tecyrillic",
3174 "Ucyrillic",
3175 "Efcyrillic",
3176 "Khacyrillic",
3177 "Tsecyrillic",
3178 "Checyrillic",
3179 "Shacyrillic",
3180 "Shchacyrillic",
3181 "Hardsigncyrillic",
3182 "Yericyrillic",
3183 "Softsigncyrillic",
3184 "Ereversedcyrillic",
3185 "IUcyrillic",
3186 "IAcyrillic",
3187 "acyrillic",
3188 "afii10066",
3189 "afii10067",
3190 "afii10068",
3191 "afii10069",
3192 "afii10070",
3193 "afii10072",
3194 "afii10073",
3195 "afii10074",
3196 "afii10075",
3197 "afii10076",
3198 "afii10077",
3199 "afii10078",
3200 "afii10079",
3201 "afii10080",
3202 "afii10081",
3203 "afii10082",
3204 "afii10083",
3205 "afii10084",
3206 "afii10085",
3207 "afii10086",
3208 "afii10087",
3209 "afii10088",
3210 "afii10089",
3211 "afii10090",
3212 "afii10091",
3213 "afii10092",
3214 "afii10093",
3215 "afii10094",
3216 "afii10095",
3217 "afii10096",
3218 "afii10097",
3219};
3220
3221static const struct { unsigned short u, c; } windows_1251_from_unicode[] = {
3222 {0x00a0,160},
3223 {0x00a4,164},
3224 {0x00a6,166},
3225 {0x00a7,167},
3226 {0x00a9,169},
3227 {0x00ab,171},
3228 {0x00ac,172},
3229 {0x00ad,173},
3230 {0x00ae,174},
3231 {0x00b0,176},
3232 {0x00b1,177},
3233 {0x00b5,181},
3234 {0x00b6,182},
3235 {0x00b7,183},
3236 {0x00bb,187},
3237 {0x0401,168},
3238 {0x0402,128},
3239 {0x0403,129},
3240 {0x0404,170},
3241 {0x0405,189},
3242 {0x0406,178},
3243 {0x0407,175},
3244 {0x0408,163},
3245 {0x0409,138},
3246 {0x040a,140},
3247 {0x040b,142},
3248 {0x040c,141},
3249 {0x040e,161},
3250 {0x040f,143},
3251 {0x0410,192},
3252 {0x0411,193},
3253 {0x0412,194},
3254 {0x0413,195},
3255 {0x0414,196},
3256 {0x0415,197},
3257 {0x0416,198},
3258 {0x0417,199},
3259 {0x0418,200},
3260 {0x0419,201},
3261 {0x041a,202},
3262 {0x041b,203},
3263 {0x041c,204},
3264 {0x041d,205},
3265 {0x041e,206},
3266 {0x041f,207},
3267 {0x0420,208},
3268 {0x0421,209},
3269 {0x0422,210},
3270 {0x0423,211},
3271 {0x0424,212},
3272 {0x0425,213},
3273 {0x0426,214},
3274 {0x0427,215},
3275 {0x0428,216},
3276 {0x0429,217},
3277 {0x042a,218},
3278 {0x042b,219},
3279 {0x042c,220},
3280 {0x042d,221},
3281 {0x042e,222},
3282 {0x042f,223},
3283 {0x0430,224},
3284 {0x0431,225},
3285 {0x0432,226},
3286 {0x0433,227},
3287 {0x0434,228},
3288 {0x0435,229},
3289 {0x0436,230},
3290 {0x0437,231},
3291 {0x0438,232},
3292 {0x0439,233},
3293 {0x043a,234},
3294 {0x043b,235},
3295 {0x043c,236},
3296 {0x043d,237},
3297 {0x043e,238},
3298 {0x043f,239},
3299 {0x0440,240},
3300 {0x0441,241},
3301 {0x0442,242},
3302 {0x0443,243},
3303 {0x0444,244},
3304 {0x0445,245},
3305 {0x0446,246},
3306 {0x0447,247},
3307 {0x0448,248},
3308 {0x0449,249},
3309 {0x044a,250},
3310 {0x044b,251},
3311 {0x044c,252},
3312 {0x044d,253},
3313 {0x044e,254},
3314 {0x044f,255},
3315 {0x0451,184},
3316 {0x0452,144},
3317 {0x0453,131},
3318 {0x0454,186},
3319 {0x0455,190},
3320 {0x0456,179},
3321 {0x0457,191},
3322 {0x0458,188},
3323 {0x0459,154},
3324 {0x045a,156},
3325 {0x045b,158},
3326 {0x045c,157},
3327 {0x045e,162},
3328 {0x045f,159},
3329 {0x0490,165},
3330 {0x0491,180},
3331 {0x2013,150},
3332 {0x2014,151},
3333 {0x2018,145},
3334 {0x2019,146},
3335 {0x201a,130},
3336 {0x201c,147},
3337 {0x201d,148},
3338 {0x201e,132},
3339 {0x2020,134},
3340 {0x2021,135},
3341 {0x2022,149},
3342 {0x2026,133},
3343 {0x2030,137},
3344 {0x2039,139},
3345 {0x203a,155},
3346 {0x20ac,136},
3347 {0x2116,185},
3348 {0x2122,153},
3349};
3350
3351const unsigned short fz_unicode_from_windows_1252[256] = {
3352 0,
3353 1,
3354 2,
3355 3,
3356 4,
3357 5,
3358 6,
3359 7,
3360 8,
3361 9,
3362 10,
3363 11,
3364 12,
3365 13,
3366 14,
3367 15,
3368 16,
3369 17,
3370 18,
3371 19,
3372 20,
3373 21,
3374 22,
3375 23,
3376 24,
3377 25,
3378 26,
3379 27,
3380 28,
3381 29,
3382 30,
3383 31,
3384 32,
3385 33,
3386 34,
3387 35,
3388 36,
3389 37,
3390 38,
3391 39,
3392 40,
3393 41,
3394 42,
3395 43,
3396 44,
3397 45,
3398 46,
3399 47,
3400 48,
3401 49,
3402 50,
3403 51,
3404 52,
3405 53,
3406 54,
3407 55,
3408 56,
3409 57,
3410 58,
3411 59,
3412 60,
3413 61,
3414 62,
3415 63,
3416 64,
3417 65,
3418 66,
3419 67,
3420 68,
3421 69,
3422 70,
3423 71,
3424 72,
3425 73,
3426 74,
3427 75,
3428 76,
3429 77,
3430 78,
3431 79,
3432 80,
3433 81,
3434 82,
3435 83,
3436 84,
3437 85,
3438 86,
3439 87,
3440 88,
3441 89,
3442 90,
3443 91,
3444 92,
3445 93,
3446 94,
3447 95,
3448 96,
3449 97,
3450 98,
3451 99,
3452 100,
3453 101,
3454 102,
3455 103,
3456 104,
3457 105,
3458 106,
3459 107,
3460 108,
3461 109,
3462 110,
3463 111,
3464 112,
3465 113,
3466 114,
3467 115,
3468 116,
3469 117,
3470 118,
3471 119,
3472 120,
3473 121,
3474 122,
3475 123,
3476 124,
3477 125,
3478 126,
3479 127,
3480 8364,
3481 0,
3482 8218,
3483 402,
3484 8222,
3485 8230,
3486 8224,
3487 8225,
3488 710,
3489 8240,
3490 352,
3491 8249,
3492 338,
3493 0,
3494 381,
3495 0,
3496 0,
3497 8216,
3498 8217,
3499 8220,
3500 8221,
3501 8226,
3502 8211,
3503 8212,
3504 732,
3505 8482,
3506 353,
3507 8250,
3508 339,
3509 0,
3510 382,
3511 376,
3512 160,
3513 161,
3514 162,
3515 163,
3516 164,
3517 165,
3518 166,
3519 167,
3520 168,
3521 169,
3522 170,
3523 171,
3524 172,
3525 173,
3526 174,
3527 175,
3528 176,
3529 177,
3530 178,
3531 179,
3532 180,
3533 181,
3534 182,
3535 183,
3536 184,
3537 185,
3538 186,
3539 187,
3540 188,
3541 189,
3542 190,
3543 191,
3544 192,
3545 193,
3546 194,
3547 195,
3548 196,
3549 197,
3550 198,
3551 199,
3552 200,
3553 201,
3554 202,
3555 203,
3556 204,
3557 205,
3558 206,
3559 207,
3560 208,
3561 209,
3562 210,
3563 211,
3564 212,
3565 213,
3566 214,
3567 215,
3568 216,
3569 217,
3570 218,
3571 219,
3572 220,
3573 221,
3574 222,
3575 223,
3576 224,
3577 225,
3578 226,
3579 227,
3580 228,
3581 229,
3582 230,
3583 231,
3584 232,
3585 233,
3586 234,
3587 235,
3588 236,
3589 237,
3590 238,
3591 239,
3592 240,
3593 241,
3594 242,
3595 243,
3596 244,
3597 245,
3598 246,
3599 247,
3600 248,
3601 249,
3602 250,
3603 251,
3604 252,
3605 253,
3606 254,
3607 255,
3608};
3609
3610const char *fz_glyph_name_from_windows_1252[256] = {
3611 _notdef,
3612 _notdef,
3613 _notdef,
3614 _notdef,
3615 _notdef,
3616 _notdef,
3617 _notdef,
3618 _notdef,
3619 _notdef,
3620 _notdef,
3621 _notdef,
3622 _notdef,
3623 _notdef,
3624 _notdef,
3625 _notdef,
3626 _notdef,
3627 _notdef,
3628 _notdef,
3629 _notdef,
3630 _notdef,
3631 _notdef,
3632 _notdef,
3633 _notdef,
3634 _notdef,
3635 _notdef,
3636 _notdef,
3637 _notdef,
3638 _notdef,
3639 _notdef,
3640 _notdef,
3641 _notdef,
3642 _notdef,
3643 "space",
3644 "exclam",
3645 "quotedbl",
3646 "numbersign",
3647 "dollar",
3648 "percent",
3649 "ampersand",
3650 "quotesingle",
3651 "parenleft",
3652 "parenright",
3653 "asterisk",
3654 "plus",
3655 "comma",
3656 "hyphen",
3657 "period",
3658 "slash",
3659 "zero",
3660 "one",
3661 "two",
3662 "three",
3663 "four",
3664 "five",
3665 "six",
3666 "seven",
3667 "eight",
3668 "nine",
3669 "colon",
3670 "semicolon",
3671 "less",
3672 "equal",
3673 "greater",
3674 "question",
3675 "at",
3676 "A",
3677 "B",
3678 "C",
3679 "D",
3680 "E",
3681 "F",
3682 "G",
3683 "H",
3684 "I",
3685 "J",
3686 "K",
3687 "L",
3688 "M",
3689 "N",
3690 "O",
3691 "P",
3692 "Q",
3693 "R",
3694 "S",
3695 "T",
3696 "U",
3697 "V",
3698 "W",
3699 "X",
3700 "Y",
3701 "Z",
3702 "bracketleft",
3703 "backslash",
3704 "bracketright",
3705 "asciicircum",
3706 "underscore",
3707 "grave",
3708 "a",
3709 "b",
3710 "c",
3711 "d",
3712 "e",
3713 "f",
3714 "g",
3715 "h",
3716 "i",
3717 "j",
3718 "k",
3719 "l",
3720 "m",
3721 "n",
3722 "o",
3723 "p",
3724 "q",
3725 "r",
3726 "s",
3727 "t",
3728 "u",
3729 "v",
3730 "w",
3731 "x",
3732 "y",
3733 "z",
3734 "braceleft",
3735 "bar",
3736 "braceright",
3737 "asciitilde",
3738 "controlDEL",
3739 "Euro",
3740 _notdef,
3741 "quotesinglbase",
3742 "florin",
3743 "quotedblbase",
3744 "ellipsis",
3745 "dagger",
3746 "daggerdbl",
3747 "circumflex",
3748 "perthousand",
3749 "Scaron",
3750 "guilsinglleft",
3751 "OE",
3752 _notdef,
3753 "Zcaron",
3754 _notdef,
3755 _notdef,
3756 "quoteleft",
3757 "quoteright",
3758 "quotedblleft",
3759 "quotedblright",
3760 "bullet",
3761 "endash",
3762 "emdash",
3763 "tilde",
3764 "trademark",
3765 "scaron",
3766 "guilsinglright",
3767 "oe",
3768 _notdef,
3769 "zcaron",
3770 "Ydieresis",
3771 "nbspace",
3772 "exclamdown",
3773 "cent",
3774 "sterling",
3775 "currency",
3776 "yen",
3777 "brokenbar",
3778 "section",
3779 "dieresis",
3780 "copyright",
3781 "ordfeminine",
3782 "guillemotleft",
3783 "logicalnot",
3784 "sfthyphen",
3785 "registered",
3786 "macron",
3787 "degree",
3788 "plusminus",
3789 "twosuperior",
3790 "threesuperior",
3791 "acute",
3792 "mu",
3793 "paragraph",
3794 "periodcentered",
3795 "cedilla",
3796 "onesuperior",
3797 "ordmasculine",
3798 "guillemotright",
3799 "onequarter",
3800 "onehalf",
3801 "threequarters",
3802 "questiondown",
3803 "Agrave",
3804 "Aacute",
3805 "Acircumflex",
3806 "Atilde",
3807 "Adieresis",
3808 "Aring",
3809 "AE",
3810 "Ccedilla",
3811 "Egrave",
3812 "Eacute",
3813 "Ecircumflex",
3814 "Edieresis",
3815 "Igrave",
3816 "Iacute",
3817 "Icircumflex",
3818 "Idieresis",
3819 "Eth",
3820 "Ntilde",
3821 "Ograve",
3822 "Oacute",
3823 "Ocircumflex",
3824 "Otilde",
3825 "Odieresis",
3826 "multiply",
3827 "Oslash",
3828 "Ugrave",
3829 "Uacute",
3830 "Ucircumflex",
3831 "Udieresis",
3832 "Yacute",
3833 "Thorn",
3834 "germandbls",
3835 "agrave",
3836 "aacute",
3837 "acircumflex",
3838 "atilde",
3839 "adieresis",
3840 "aring",
3841 "ae",
3842 "ccedilla",
3843 "egrave",
3844 "eacute",
3845 "ecircumflex",
3846 "edieresis",
3847 "igrave",
3848 "iacute",
3849 "icircumflex",
3850 "idieresis",
3851 "eth",
3852 "ntilde",
3853 "ograve",
3854 "oacute",
3855 "ocircumflex",
3856 "otilde",
3857 "odieresis",
3858 "divide",
3859 "oslash",
3860 "ugrave",
3861 "uacute",
3862 "ucircumflex",
3863 "udieresis",
3864 "yacute",
3865 "thorn",
3866 "ydieresis",
3867};
3868
3869static const struct { unsigned short u, c; } windows_1252_from_unicode[] = {
3870 {0x00a0,160},
3871 {0x00a1,161},
3872 {0x00a2,162},
3873 {0x00a3,163},
3874 {0x00a4,164},
3875 {0x00a5,165},
3876 {0x00a6,166},
3877 {0x00a7,167},
3878 {0x00a8,168},
3879 {0x00a9,169},
3880 {0x00aa,170},
3881 {0x00ab,171},
3882 {0x00ac,172},
3883 {0x00ad,173},
3884 {0x00ae,174},
3885 {0x00af,175},
3886 {0x00b0,176},
3887 {0x00b1,177},
3888 {0x00b2,178},
3889 {0x00b3,179},
3890 {0x00b4,180},
3891 {0x00b5,181},
3892 {0x00b6,182},
3893 {0x00b7,183},
3894 {0x00b8,184},
3895 {0x00b9,185},
3896 {0x00ba,186},
3897 {0x00bb,187},
3898 {0x00bc,188},
3899 {0x00bd,189},
3900 {0x00be,190},
3901 {0x00bf,191},
3902 {0x00c0,192},
3903 {0x00c1,193},
3904 {0x00c2,194},
3905 {0x00c3,195},
3906 {0x00c4,196},
3907 {0x00c5,197},
3908 {0x00c6,198},
3909 {0x00c7,199},
3910 {0x00c8,200},
3911 {0x00c9,201},
3912 {0x00ca,202},
3913 {0x00cb,203},
3914 {0x00cc,204},
3915 {0x00cd,205},
3916 {0x00ce,206},
3917 {0x00cf,207},
3918 {0x00d0,208},
3919 {0x00d1,209},
3920 {0x00d2,210},
3921 {0x00d3,211},
3922 {0x00d4,212},
3923 {0x00d5,213},
3924 {0x00d6,214},
3925 {0x00d7,215},
3926 {0x00d8,216},
3927 {0x00d9,217},
3928 {0x00da,218},
3929 {0x00db,219},
3930 {0x00dc,220},
3931 {0x00dd,221},
3932 {0x00de,222},
3933 {0x00df,223},
3934 {0x00e0,224},
3935 {0x00e1,225},
3936 {0x00e2,226},
3937 {0x00e3,227},
3938 {0x00e4,228},
3939 {0x00e5,229},
3940 {0x00e6,230},
3941 {0x00e7,231},
3942 {0x00e8,232},
3943 {0x00e9,233},
3944 {0x00ea,234},
3945 {0x00eb,235},
3946 {0x00ec,236},
3947 {0x00ed,237},
3948 {0x00ee,238},
3949 {0x00ef,239},
3950 {0x00f0,240},
3951 {0x00f1,241},
3952 {0x00f2,242},
3953 {0x00f3,243},
3954 {0x00f4,244},
3955 {0x00f5,245},
3956 {0x00f6,246},
3957 {0x00f7,247},
3958 {0x00f8,248},
3959 {0x00f9,249},
3960 {0x00fa,250},
3961 {0x00fb,251},
3962 {0x00fc,252},
3963 {0x00fd,253},
3964 {0x00fe,254},
3965 {0x00ff,255},
3966 {0x0152,140},
3967 {0x0153,156},
3968 {0x0160,138},
3969 {0x0161,154},
3970 {0x0178,159},
3971 {0x017d,142},
3972 {0x017e,158},
3973 {0x0192,131},
3974 {0x02c6,136},
3975 {0x02dc,152},
3976 {0x2013,150},
3977 {0x2014,151},
3978 {0x2018,145},
3979 {0x2019,146},
3980 {0x201a,130},
3981 {0x201c,147},
3982 {0x201d,148},
3983 {0x201e,132},
3984 {0x2020,134},
3985 {0x2021,135},
3986 {0x2022,149},
3987 {0x2026,133},
3988 {0x2030,137},
3989 {0x2039,139},
3990 {0x203a,155},
3991 {0x20ac,128},
3992 {0x2122,153},
3993};
3994