chiark / gitweb /
separate thread to add to heap
[disorder] / lib / casefold.h
1 struct cm {
2   uint32_t ch;
3   const char *tr;
4 } cm0[] = {
5   { 192, "\xC3\xA0" },
6   { 256, "\xC4\x81" },
7   { 512, "\xC8\x81" },
8   { 1024, "\xD1\x90" },
9   { 1152, "\xD2\x81" },
10   { 1280, "\xD4\x81" },
11   { 1344, "\xD5\xB0" },
12   { 7680, "\xE1\xB8\x81" },
13   { 7744, "\xE1\xB9\x81" },
14   { 7808, "\xE1\xBA\x81" },
15   { 7872, "\xE1\xBB\x81" },
16   { 8064, "\xE1\xBC\x80\xCE\xB9" },
17   { 9408, "\xE2\x93\x9A" },
18   { 64256, "ff" },
19   { 66560, "\xF0\x90\x90\xA8" },
20 }, cm1[] = {
21   { 65, "a" },
22   { 193, "\xC3\xA1" },
23   { 321, "\xC5\x82" },
24   { 385, "\xC9\x93" },
25   { 1025, "\xD1\x91" },
26   { 1217, "\xD3\x82" },
27   { 1345, "\xD5\xB1" },
28   { 8065, "\xE1\xBC\x81\xCE\xB9" },
29   { 9409, "\xE2\x93\x9B" },
30   { 64257, "fi" },
31   { 66561, "\xF0\x90\x90\xA9" },
32 }, cm2[] = {
33   { 66, "b" },
34   { 194, "\xC3\xA2" },
35   { 258, "\xC4\x83" },
36   { 386, "\xC6\x83" },
37   { 514, "\xC8\x83" },
38   { 962, "\xCF\x83" },
39   { 1026, "\xD1\x92" },
40   { 1282, "\xD4\x83" },
41   { 1346, "\xD5\xB2" },
42   { 7682, "\xE1\xB8\x83" },
43   { 7746, "\xE1\xB9\x83" },
44   { 7810, "\xE1\xBA\x83" },
45   { 7874, "\xE1\xBB\x83" },
46   { 8066, "\xE1\xBC\x82\xCE\xB9" },
47   { 8130, "\xE1\xBD\xB4\xCE\xB9" },
48   { 9410, "\xE2\x93\x9C" },
49   { 64258, "fl" },
50   { 66562, "\xF0\x90\x90\xAA" },
51 }, cm3[] = {
52   { 67, "c" },
53   { 195, "\xC3\xA3" },
54   { 323, "\xC5\x84" },
55   { 1027, "\xD1\x93" },
56   { 1219, "\xD3\x84" },
57   { 1347, "\xD5\xB3" },
58   { 8067, "\xE1\xBC\x83\xCE\xB9" },
59   { 8131, "\xCE\xB7\xCE\xB9" },
60   { 9411, "\xE2\x93\x9D" },
61   { 64259, "ffi" },
62   { 66563, "\xF0\x90\x90\xAB" },
63 }, cm4[] = {
64   { 68, "d" },
65   { 196, "\xC3\xA4" },
66   { 260, "\xC4\x85" },
67   { 388, "\xC6\x85" },
68   { 452, "\xC7\x86" },
69   { 516, "\xC8\x85" },
70   { 1028, "\xD1\x94" },
71   { 1284, "\xD4\x85" },
72   { 1348, "\xD5\xB4" },
73   { 7684, "\xE1\xB8\x85" },
74   { 7748, "\xE1\xB9\x85" },
75   { 7812, "\xE1\xBA\x85" },
76   { 7876, "\xE1\xBB\x85" },
77   { 8068, "\xE1\xBC\x84\xCE\xB9" },
78   { 8132, "\xCE\xAE\xCE\xB9" },
79   { 9412, "\xE2\x93\x9E" },
80   { 64260, "ffl" },
81   { 66564, "\xF0\x90\x90\xAC" },
82 }, cm5[] = {
83   { 69, "e" },
84   { 197, "\xC3\xA5" },
85   { 325, "\xC5\x86" },
86   { 453, "\xC7\x86" },
87   { 837, "\xCE\xB9" },
88   { 1029, "\xD1\x95" },
89   { 1221, "\xD3\x86" },
90   { 1349, "\xD5\xB5" },
91   { 8069, "\xE1\xBC\x85\xCE\xB9" },
92   { 9413, "\xE2\x93\x9F" },
93   { 64261, "st" },
94   { 66565, "\xF0\x90\x90\xAD" },
95 }, cm6[] = {
96   { 70, "f" },
97   { 198, "\xC3\xA6" },
98   { 262, "\xC4\x87" },
99   { 390, "\xC9\x94" },
100   { 518, "\xC8\x87" },
101   { 902, "\xCE\xAC" },
102   { 1030, "\xD1\x96" },
103   { 1286, "\xD4\x87" },
104   { 1350, "\xD5\xB6" },
105   { 7686, "\xE1\xB8\x87" },
106   { 7750, "\xE1\xB9\x87" },
107   { 7814, "\xE1\xBA\x87" },
108   { 7878, "\xE1\xBB\x87" },
109   { 8070, "\xE1\xBC\x86\xCE\xB9" },
110   { 8134, "\xCE\xB7\xCD\x82" },
111   { 9414, "\xE2\x93\xA0" },
112   { 64262, "st" },
113   { 66566, "\xF0\x90\x90\xAE" },
114 }, cm7[] = {
115   { 71, "g" },
116   { 199, "\xC3\xA7" },
117   { 327, "\xC5\x88" },
118   { 391, "\xC6\x88" },
119   { 455, "\xC7\x89" },
120   { 1031, "\xD1\x97" },
121   { 1223, "\xD3\x88" },
122   { 1351, "\xD5\xB7" },
123   { 1415, "\xD5\xA5\xD6\x82" },
124   { 8071, "\xE1\xBC\x87\xCE\xB9" },
125   { 8135, "\xCE\xB7\xCD\x82\xCE\xB9" },
126   { 9415, "\xE2\x93\xA1" },
127   { 66567, "\xF0\x90\x90\xAF" },
128 }, cm8[] = {
129   { 72, "h" },
130   { 200, "\xC3\xA8" },
131   { 264, "\xC4\x89" },
132   { 456, "\xC7\x89" },
133   { 520, "\xC8\x89" },
134   { 904, "\xCE\xAD" },
135   { 1032, "\xD1\x98" },
136   { 1288, "\xD4\x89" },
137   { 1352, "\xD5\xB8" },
138   { 7688, "\xE1\xB8\x89" },
139   { 7752, "\xE1\xB9\x89" },
140   { 7816, "\xE1\xBA\x89" },
141   { 7880, "\xE1\xBB\x89" },
142   { 7944, "\xE1\xBC\x80" },
143   { 8008, "\xE1\xBD\x80" },
144   { 8072, "\xE1\xBC\x80\xCE\xB9" },
145   { 8136, "\xE1\xBD\xB2" },
146   { 9416, "\xE2\x93\xA2" },
147   { 66568, "\xF0\x90\x90\xB0" },
148 }, cm9[] = {
149   { 73, "i" },
150   { 201, "\xC3\xA9" },
151   { 329, "\xCA\xBCn" },
152   { 393, "\xC9\x96" },
153   { 905, "\xCE\xAE" },
154   { 1033, "\xD1\x99" },
155   { 1225, "\xD3\x8A" },
156   { 1353, "\xD5\xB9" },
157   { 7945, "\xE1\xBC\x81" },
158   { 8009, "\xE1\xBD\x81" },
159   { 8073, "\xE1\xBC\x81\xCE\xB9" },
160   { 8137, "\xE1\xBD\xB3" },
161   { 9417, "\xE2\x93\xA3" },
162   { 66569, "\xF0\x90\x90\xB1" },
163 }, cm10[] = {
164   { 74, "j" },
165   { 202, "\xC3\xAA" },
166   { 266, "\xC4\x8B" },
167   { 330, "\xC5\x8B" },
168   { 394, "\xC9\x97" },
169   { 458, "\xC7\x8C" },
170   { 522, "\xC8\x8B" },
171   { 906, "\xCE\xAF" },
172   { 1034, "\xD1\x9A" },
173   { 1162, "\xD2\x8B" },
174   { 1290, "\xD4\x8B" },
175   { 1354, "\xD5\xBA" },
176   { 7690, "\xE1\xB8\x8B" },
177   { 7754, "\xE1\xB9\x8B" },
178   { 7818, "\xE1\xBA\x8B" },
179   { 7882, "\xE1\xBB\x8B" },
180   { 7946, "\xE1\xBC\x82" },
181   { 8010, "\xE1\xBD\x82" },
182   { 8074, "\xE1\xBC\x82\xCE\xB9" },
183   { 8138, "\xE1\xBD\xB4" },
184   { 9418, "\xE2\x93\xA4" },
185   { 66570, "\xF0\x90\x90\xB2" },
186 }, cm11[] = {
187   { 75, "k" },
188   { 203, "\xC3\xAB" },
189   { 395, "\xC6\x8C" },
190   { 459, "\xC7\x8C" },
191   { 1035, "\xD1\x9B" },
192   { 1227, "\xD3\x8C" },
193   { 1355, "\xD5\xBB" },
194   { 7947, "\xE1\xBC\x83" },
195   { 8011, "\xE1\xBD\x83" },
196   { 8075, "\xE1\xBC\x83\xCE\xB9" },
197   { 8139, "\xE1\xBD\xB5" },
198   { 9419, "\xE2\x93\xA5" },
199   { 66571, "\xF0\x90\x90\xB3" },
200 }, cm12[] = {
201   { 76, "l" },
202   { 204, "\xC3\xAC" },
203   { 268, "\xC4\x8D" },
204   { 332, "\xC5\x8D" },
205   { 524, "\xC8\x8D" },
206   { 908, "\xCF\x8C" },
207   { 1036, "\xD1\x9C" },
208   { 1164, "\xD2\x8D" },
209   { 1292, "\xD4\x8D" },
210   { 1356, "\xD5\xBC" },
211   { 7692, "\xE1\xB8\x8D" },
212   { 7756, "\xE1\xB9\x8D" },
213   { 7820, "\xE1\xBA\x8D" },
214   { 7884, "\xE1\xBB\x8D" },
215   { 7948, "\xE1\xBC\x84" },
216   { 8012, "\xE1\xBD\x84" },
217   { 8076, "\xE1\xBC\x84\xCE\xB9" },
218   { 8140, "\xCE\xB7\xCE\xB9" },
219   { 9420, "\xE2\x93\xA6" },
220   { 66572, "\xF0\x90\x90\xB4" },
221 }, cm13[] = {
222   { 77, "m" },
223   { 205, "\xC3\xAD" },
224   { 461, "\xC7\x8E" },
225   { 1037, "\xD1\x9D" },
226   { 1229, "\xD3\x8E" },
227   { 1357, "\xD5\xBD" },
228   { 7949, "\xE1\xBC\x85" },
229   { 8013, "\xE1\xBD\x85" },
230   { 8077, "\xE1\xBC\x85\xCE\xB9" },
231   { 9421, "\xE2\x93\xA7" },
232   { 66573, "\xF0\x90\x90\xB5" },
233 }, cm14[] = {
234   { 78, "n" },
235   { 206, "\xC3\xAE" },
236   { 270, "\xC4\x8F" },
237   { 334, "\xC5\x8F" },
238   { 398, "\xC7\x9D" },
239   { 526, "\xC8\x8F" },
240   { 910, "\xCF\x8D" },
241   { 1038, "\xD1\x9E" },
242   { 1166, "\xD2\x8F" },
243   { 1294, "\xD4\x8F" },
244   { 1358, "\xD5\xBE" },
245   { 7694, "\xE1\xB8\x8F" },
246   { 7758, "\xE1\xB9\x8F" },
247   { 7822, "\xE1\xBA\x8F" },
248   { 7886, "\xE1\xBB\x8F" },
249   { 7950, "\xE1\xBC\x86" },
250   { 8078, "\xE1\xBC\x86\xCE\xB9" },
251   { 9422, "\xE2\x93\xA8" },
252   { 66574, "\xF0\x90\x90\xB6" },
253 }, cm15[] = {
254   { 79, "o" },
255   { 207, "\xC3\xAF" },
256   { 399, "\xC9\x99" },
257   { 463, "\xC7\x90" },
258   { 911, "\xCF\x8E" },
259   { 1039, "\xD1\x9F" },
260   { 1359, "\xD5\xBF" },
261   { 7951, "\xE1\xBC\x87" },
262   { 8079, "\xE1\xBC\x87\xCE\xB9" },
263   { 9423, "\xE2\x93\xA9" },
264   { 66575, "\xF0\x90\x90\xB7" },
265 }, cm16[] = {
266   { 80, "p" },
267   { 208, "\xC3\xB0" },
268   { 272, "\xC4\x91" },
269   { 336, "\xC5\x91" },
270   { 400, "\xC9\x9B" },
271   { 528, "\xC8\x91" },
272   { 912, "\xCE\xB9\xCC\x88\xCC\x81" },
273   { 976, "\xCE\xB2" },
274   { 1040, "\xD0\xB0" },
275   { 1168, "\xD2\x91" },
276   { 1232, "\xD3\x91" },
277   { 1360, "\xD6\x80" },
278   { 7696, "\xE1\xB8\x91" },
279   { 7760, "\xE1\xB9\x91" },
280   { 7824, "\xE1\xBA\x91" },
281   { 7888, "\xE1\xBB\x91" },
282   { 8016, "\xCF\x85\xCC\x93" },
283   { 8080, "\xE1\xBC\xA0\xCE\xB9" },
284   { 66576, "\xF0\x90\x90\xB8" },
285 }, cm17[] = {
286   { 81, "q" },
287   { 209, "\xC3\xB1" },
288   { 401, "\xC6\x92" },
289   { 465, "\xC7\x92" },
290   { 913, "\xCE\xB1" },
291   { 977, "\xCE\xB8" },
292   { 1041, "\xD0\xB1" },
293   { 1361, "\xD6\x81" },
294   { 8081, "\xE1\xBC\xA1\xCE\xB9" },
295   { 66577, "\xF0\x90\x90\xB9" },
296 }, cm18[] = {
297   { 82, "r" },
298   { 210, "\xC3\xB2" },
299   { 274, "\xC4\x93" },
300   { 338, "\xC5\x93" },
301   { 530, "\xC8\x93" },
302   { 914, "\xCE\xB2" },
303   { 1042, "\xD0\xB2" },
304   { 1170, "\xD2\x93" },
305   { 1234, "\xD3\x93" },
306   { 1362, "\xD6\x82" },
307   { 7698, "\xE1\xB8\x93" },
308   { 7762, "\xE1\xB9\x93" },
309   { 7826, "\xE1\xBA\x93" },
310   { 7890, "\xE1\xBB\x93" },
311   { 8018, "\xCF\x85\xCC\x93\xCC\x80" },
312   { 8082, "\xE1\xBC\xA2\xCE\xB9" },
313   { 8146, "\xCE\xB9\xCC\x88\xCC\x80" },
314   { 66578, "\xF0\x90\x90\xBA" },
315 }, cm19[] = {
316   { 83, "s" },
317   { 211, "\xC3\xB3" },
318   { 403, "\xC9\xA0" },
319   { 467, "\xC7\x94" },
320   { 915, "\xCE\xB3" },
321   { 1043, "\xD0\xB3" },
322   { 1363, "\xD6\x83" },
323   { 8083, "\xE1\xBC\xA3\xCE\xB9" },
324   { 8147, "\xCE\xB9\xCC\x88\xCC\x81" },
325   { 64275, "\xD5\xB4\xD5\xB6" },
326   { 66579, "\xF0\x90\x90\xBB" },
327 }, cm20[] = {
328   { 84, "t" },
329   { 212, "\xC3\xB4" },
330   { 276, "\xC4\x95" },
331   { 340, "\xC5\x95" },
332   { 404, "\xC9\xA3" },
333   { 532, "\xC8\x95" },
334   { 916, "\xCE\xB4" },
335   { 1044, "\xD0\xB4" },
336   { 1172, "\xD2\x95" },
337   { 1236, "\xD3\x95" },
338   { 1364, "\xD6\x84" },
339   { 7700, "\xE1\xB8\x95" },
340   { 7764, "\xE1\xB9\x95" },
341   { 7828, "\xE1\xBA\x95" },
342   { 7892, "\xE1\xBB\x95" },
343   { 8020, "\xCF\x85\xCC\x93\xCC\x81" },
344   { 8084, "\xE1\xBC\xA4\xCE\xB9" },
345   { 64276, "\xD5\xB4\xD5\xA5" },
346   { 66580, "\xF0\x90\x90\xBC" },
347 }, cm21[] = {
348   { 85, "u" },
349   { 213, "\xC3\xB5" },
350   { 469, "\xC7\x96" },
351   { 917, "\xCE\xB5" },
352   { 981, "\xCF\x86" },
353   { 1045, "\xD0\xB5" },
354   { 1365, "\xD6\x85" },
355   { 8085, "\xE1\xBC\xA5\xCE\xB9" },
356   { 64277, "\xD5\xB4\xD5\xAB" },
357   { 66581, "\xF0\x90\x90\xBD" },
358 }, cm22[] = {
359   { 86, "v" },
360   { 214, "\xC3\xB6" },
361   { 278, "\xC4\x97" },
362   { 342, "\xC5\x97" },
363   { 406, "\xC9\xA9" },
364   { 534, "\xC8\x97" },
365   { 918, "\xCE\xB6" },
366   { 982, "\xCF\x80" },
367   { 1046, "\xD0\xB6" },
368   { 1174, "\xD2\x97" },
369   { 1238, "\xD3\x97" },
370   { 1366, "\xD6\x86" },
371   { 7702, "\xE1\xB8\x97" },
372   { 7766, "\xE1\xB9\x97" },
373   { 7830, "h\xCC\xB1" },
374   { 7894, "\xE1\xBB\x97" },
375   { 8022, "\xCF\x85\xCC\x93\xCD\x82" },
376   { 8086, "\xE1\xBC\xA6\xCE\xB9" },
377   { 8150, "\xCE\xB9\xCD\x82" },
378   { 64278, "\xD5\xBE\xD5\xB6" },
379   { 66582, "\xF0\x90\x90\xBE" },
380 }, cm23[] = {
381   { 87, "w" },
382   { 407, "\xC9\xA8" },
383   { 471, "\xC7\x98" },
384   { 919, "\xCE\xB7" },
385   { 1047, "\xD0\xB7" },
386   { 7831, "t\xCC\x88" },
387   { 8087, "\xE1\xBC\xA7\xCE\xB9" },
388   { 8151, "\xCE\xB9\xCC\x88\xCD\x82" },
389   { 64279, "\xD5\xB4\xD5\xAD" },
390   { 66583, "\xF0\x90\x90\xBF" },
391 }, cm24[] = {
392   { 88, "x" },
393   { 216, "\xC3\xB8" },
394   { 280, "\xC4\x99" },
395   { 344, "\xC5\x99" },
396   { 408, "\xC6\x99" },
397   { 536, "\xC8\x99" },
398   { 920, "\xCE\xB8" },
399   { 984, "\xCF\x99" },
400   { 1048, "\xD0\xB8" },
401   { 1176, "\xD2\x99" },
402   { 1240, "\xD3\x99" },
403   { 7704, "\xE1\xB8\x99" },
404   { 7768, "\xE1\xB9\x99" },
405   { 7832, "w\xCC\x8A" },
406   { 7896, "\xE1\xBB\x99" },
407   { 7960, "\xE1\xBC\x90" },
408   { 8088, "\xE1\xBC\xA0\xCE\xB9" },
409   { 8152, "\xE1\xBF\x90" },
410   { 66584, "\xF0\x90\x91\x80" },
411 }, cm25[] = {
412   { 89, "y" },
413   { 217, "\xC3\xB9" },
414   { 473, "\xC7\x9A" },
415   { 921, "\xCE\xB9" },
416   { 1049, "\xD0\xB9" },
417   { 7833, "y\xCC\x8A" },
418   { 7961, "\xE1\xBC\x91" },
419   { 8025, "\xE1\xBD\x91" },
420   { 8089, "\xE1\xBC\xA1\xCE\xB9" },
421   { 8153, "\xE1\xBF\x91" },
422   { 66585, "\xF0\x90\x91\x81" },
423 }, cm26[] = {
424   { 90, "z" },
425   { 218, "\xC3\xBA" },
426   { 282, "\xC4\x9B" },
427   { 346, "\xC5\x9B" },
428   { 538, "\xC8\x9B" },
429   { 922, "\xCE\xBA" },
430   { 986, "\xCF\x9B" },
431   { 1050, "\xD0\xBA" },
432   { 1178, "\xD2\x9B" },
433   { 1242, "\xD3\x9B" },
434   { 7706, "\xE1\xB8\x9B" },
435   { 7770, "\xE1\xB9\x9B" },
436   { 7834, "a\xCA\xBE" },
437   { 7898, "\xE1\xBB\x9B" },
438   { 7962, "\xE1\xBC\x92" },
439   { 8090, "\xE1\xBC\xA2\xCE\xB9" },
440   { 8154, "\xE1\xBD\xB6" },
441   { 66586, "\xF0\x90\x91\x82" },
442 }, cm27[] = {
443   { 219, "\xC3\xBB" },
444   { 475, "\xC7\x9C" },
445   { 923, "\xCE\xBB" },
446   { 1051, "\xD0\xBB" },
447   { 7835, "\xE1\xB9\xA1" },
448   { 7963, "\xE1\xBC\x93" },
449   { 8027, "\xE1\xBD\x93" },
450   { 8091, "\xE1\xBC\xA3\xCE\xB9" },
451   { 8155, "\xE1\xBD\xB7" },
452   { 66587, "\xF0\x90\x91\x83" },
453 }, cm28[] = {
454   { 220, "\xC3\xBC" },
455   { 284, "\xC4\x9D" },
456   { 348, "\xC5\x9D" },
457   { 412, "\xC9\xAF" },
458   { 540, "\xC8\x9D" },
459   { 924, "\xCE\xBC" },
460   { 988, "\xCF\x9D" },
461   { 1052, "\xD0\xBC" },
462   { 1180, "\xD2\x9D" },
463   { 1244, "\xD3\x9D" },
464   { 7708, "\xE1\xB8\x9D" },
465   { 7772, "\xE1\xB9\x9D" },
466   { 7900, "\xE1\xBB\x9D" },
467   { 7964, "\xE1\xBC\x94" },
468   { 8092, "\xE1\xBC\xA4\xCE\xB9" },
469   { 66588, "\xF0\x90\x91\x84" },
470 }, cm29[] = {
471   { 221, "\xC3\xBD" },
472   { 413, "\xC9\xB2" },
473   { 925, "\xCE\xBD" },
474   { 1053, "\xD0\xBD" },
475   { 7965, "\xE1\xBC\x95" },
476   { 8029, "\xE1\xBD\x95" },
477   { 8093, "\xE1\xBC\xA5\xCE\xB9" },
478   { 66589, "\xF0\x90\x91\x85" },
479 }, cm30[] = {
480   { 222, "\xC3\xBE" },
481   { 286, "\xC4\x9F" },
482   { 350, "\xC5\x9F" },
483   { 478, "\xC7\x9F" },
484   { 542, "\xC8\x9F" },
485   { 926, "\xCE\xBE" },
486   { 990, "\xCF\x9F" },
487   { 1054, "\xD0\xBE" },
488   { 1182, "\xD2\x9F" },
489   { 1246, "\xD3\x9F" },
490   { 7710, "\xE1\xB8\x9F" },
491   { 7774, "\xE1\xB9\x9F" },
492   { 7902, "\xE1\xBB\x9F" },
493   { 8094, "\xE1\xBC\xA6\xCE\xB9" },
494   { 66590, "\xF0\x90\x91\x86" },
495 }, cm31[] = {
496   { 223, "ss" },
497   { 415, "\xC9\xB5" },
498   { 927, "\xCE\xBF" },
499   { 1055, "\xD0\xBF" },
500   { 8031, "\xE1\xBD\x97" },
501   { 8095, "\xE1\xBC\xA7\xCE\xB9" },
502   { 66591, "\xF0\x90\x91\x87" },
503 }, cm32[] = {
504   { 288, "\xC4\xA1" },
505   { 352, "\xC5\xA1" },
506   { 416, "\xC6\xA1" },
507   { 480, "\xC7\xA1" },
508   { 544, "\xC6\x9E" },
509   { 928, "\xCF\x80" },
510   { 992, "\xCF\xA1" },
511   { 1056, "\xD1\x80" },
512   { 1120, "\xD1\xA1" },
513   { 1184, "\xD2\xA1" },
514   { 1248, "\xD3\xA1" },
515   { 7712, "\xE1\xB8\xA1" },
516   { 7776, "\xE1\xB9\xA1" },
517   { 7840, "\xE1\xBA\xA1" },
518   { 7904, "\xE1\xBB\xA1" },
519   { 8096, "\xE1\xBD\xA0\xCE\xB9" },
520   { 8544, "\xE2\x85\xB0" },
521   { 66592, "\xF0\x90\x91\x88" },
522 }, cm33[] = {
523   { 929, "\xCF\x81" },
524   { 1057, "\xD1\x81" },
525   { 8097, "\xE1\xBD\xA1\xCE\xB9" },
526   { 8545, "\xE2\x85\xB1" },
527   { 65313, "\xEF\xBD\x81" },
528   { 66593, "\xF0\x90\x91\x89" },
529 }, cm34[] = {
530   { 290, "\xC4\xA3" },
531   { 354, "\xC5\xA3" },
532   { 418, "\xC6\xA3" },
533   { 482, "\xC7\xA3" },
534   { 546, "\xC8\xA3" },
535   { 994, "\xCF\xA3" },
536   { 1058, "\xD1\x82" },
537   { 1122, "\xD1\xA3" },
538   { 1186, "\xD2\xA3" },
539   { 1250, "\xD3\xA3" },
540   { 7714, "\xE1\xB8\xA3" },
541   { 7778, "\xE1\xB9\xA3" },
542   { 7842, "\xE1\xBA\xA3" },
543   { 7906, "\xE1\xBB\xA3" },
544   { 8098, "\xE1\xBD\xA2\xCE\xB9" },
545   { 8162, "\xCF\x85\xCC\x88\xCC\x80" },
546   { 8546, "\xE2\x85\xB2" },
547   { 65314, "\xEF\xBD\x82" },
548   { 66594, "\xF0\x90\x91\x8A" },
549 }, cm35[] = {
550   { 931, "\xCF\x83" },
551   { 1059, "\xD1\x83" },
552   { 8099, "\xE1\xBD\xA3\xCE\xB9" },
553   { 8163, "\xCF\x85\xCC\x88\xCC\x81" },
554   { 8547, "\xE2\x85\xB3" },
555   { 65315, "\xEF\xBD\x83" },
556   { 66595, "\xF0\x90\x91\x8B" },
557 }, cm36[] = {
558   { 292, "\xC4\xA5" },
559   { 356, "\xC5\xA5" },
560   { 420, "\xC6\xA5" },
561   { 484, "\xC7\xA5" },
562   { 548, "\xC8\xA5" },
563   { 932, "\xCF\x84" },
564   { 996, "\xCF\xA5" },
565   { 1060, "\xD1\x84" },
566   { 1124, "\xD1\xA5" },
567   { 1188, "\xD2\xA5" },
568   { 1252, "\xD3\xA5" },
569   { 7716, "\xE1\xB8\xA5" },
570   { 7780, "\xE1\xB9\xA5" },
571   { 7844, "\xE1\xBA\xA5" },
572   { 7908, "\xE1\xBB\xA5" },
573   { 8100, "\xE1\xBD\xA4\xCE\xB9" },
574   { 8164, "\xCF\x81\xCC\x93" },
575   { 8548, "\xE2\x85\xB4" },
576   { 65316, "\xEF\xBD\x84" },
577   { 66596, "\xF0\x90\x91\x8C" },
578 }, cm37[] = {
579   { 933, "\xCF\x85" },
580   { 1061, "\xD1\x85" },
581   { 8101, "\xE1\xBD\xA5\xCE\xB9" },
582   { 8549, "\xE2\x85\xB5" },
583   { 65317, "\xEF\xBD\x85" },
584   { 66597, "\xF0\x90\x91\x8D" },
585 }, cm38[] = {
586   { 294, "\xC4\xA7" },
587   { 358, "\xC5\xA7" },
588   { 422, "\xCA\x80" },
589   { 486, "\xC7\xA7" },
590   { 550, "\xC8\xA7" },
591   { 934, "\xCF\x86" },
592   { 998, "\xCF\xA7" },
593   { 1062, "\xD1\x86" },
594   { 1126, "\xD1\xA7" },
595   { 1190, "\xD2\xA7" },
596   { 1254, "\xD3\xA7" },
597   { 7718, "\xE1\xB8\xA7" },
598   { 7782, "\xE1\xB9\xA7" },
599   { 7846, "\xE1\xBA\xA7" },
600   { 7910, "\xE1\xBB\xA7" },
601   { 8102, "\xE1\xBD\xA6\xCE\xB9" },
602   { 8166, "\xCF\x85\xCD\x82" },
603   { 8486, "\xCF\x89" },
604   { 8550, "\xE2\x85\xB6" },
605   { 65318, "\xEF\xBD\x86" },
606   { 66598, "\xF0\x90\x91\x8E" },
607 }, cm39[] = {
608   { 423, "\xC6\xA8" },
609   { 935, "\xCF\x87" },
610   { 1063, "\xD1\x87" },
611   { 8103, "\xE1\xBD\xA7\xCE\xB9" },
612   { 8167, "\xCF\x85\xCC\x88\xCD\x82" },
613   { 8551, "\xE2\x85\xB7" },
614   { 65319, "\xEF\xBD\x87" },
615   { 66599, "\xF0\x90\x91\x8F" },
616 }, cm40[] = {
617   { 296, "\xC4\xA9" },
618   { 360, "\xC5\xA9" },
619   { 488, "\xC7\xA9" },
620   { 552, "\xC8\xA9" },
621   { 936, "\xCF\x88" },
622   { 1000, "\xCF\xA9" },
623   { 1064, "\xD1\x88" },
624   { 1128, "\xD1\xA9" },
625   { 1192, "\xD2\xA9" },
626   { 1256, "\xD3\xA9" },
627   { 7720, "\xE1\xB8\xA9" },
628   { 7784, "\xE1\xB9\xA9" },
629   { 7848, "\xE1\xBA\xA9" },
630   { 7912, "\xE1\xBB\xA9" },
631   { 7976, "\xE1\xBC\xA0" },
632   { 8040, "\xE1\xBD\xA0" },
633   { 8104, "\xE1\xBD\xA0\xCE\xB9" },
634   { 8168, "\xE1\xBF\xA0" },
635   { 8552, "\xE2\x85\xB8" },
636   { 65320, "\xEF\xBD\x88" },
637 }, cm41[] = {
638   { 425, "\xCA\x83" },
639   { 937, "\xCF\x89" },
640   { 1065, "\xD1\x89" },
641   { 7977, "\xE1\xBC\xA1" },
642   { 8041, "\xE1\xBD\xA1" },
643   { 8105, "\xE1\xBD\xA1\xCE\xB9" },
644   { 8169, "\xE1\xBF\xA1" },
645   { 8553, "\xE2\x85\xB9" },
646   { 65321, "\xEF\xBD\x89" },
647 }, cm42[] = {
648   { 298, "\xC4\xAB" },
649   { 362, "\xC5\xAB" },
650   { 490, "\xC7\xAB" },
651   { 554, "\xC8\xAB" },
652   { 938, "\xCF\x8A" },
653   { 1002, "\xCF\xAB" },
654   { 1066, "\xD1\x8A" },
655   { 1130, "\xD1\xAB" },
656   { 1194, "\xD2\xAB" },
657   { 1258, "\xD3\xAB" },
658   { 7722, "\xE1\xB8\xAB" },
659   { 7786, "\xE1\xB9\xAB" },
660   { 7850, "\xE1\xBA\xAB" },
661   { 7914, "\xE1\xBB\xAB" },
662   { 7978, "\xE1\xBC\xA2" },
663   { 8042, "\xE1\xBD\xA2" },
664   { 8106, "\xE1\xBD\xA2\xCE\xB9" },
665   { 8170, "\xE1\xBD\xBA" },
666   { 8490, "k" },
667   { 8554, "\xE2\x85\xBA" },
668   { 65322, "\xEF\xBD\x8A" },
669 }, cm43[] = {
670   { 939, "\xCF\x8B" },
671   { 1067, "\xD1\x8B" },
672   { 7979, "\xE1\xBC\xA3" },
673   { 8043, "\xE1\xBD\xA3" },
674   { 8107, "\xE1\xBD\xA3\xCE\xB9" },
675   { 8171, "\xE1\xBD\xBB" },
676   { 8491, "\xC3\xA5" },
677   { 8555, "\xE2\x85\xBB" },
678   { 65323, "\xEF\xBD\x8B" },
679 }, cm44[] = {
680   { 300, "\xC4\xAD" },
681   { 364, "\xC5\xAD" },
682   { 428, "\xC6\xAD" },
683   { 492, "\xC7\xAD" },
684   { 556, "\xC8\xAD" },
685   { 1004, "\xCF\xAD" },
686   { 1068, "\xD1\x8C" },
687   { 1132, "\xD1\xAD" },
688   { 1196, "\xD2\xAD" },
689   { 1260, "\xD3\xAD" },
690   { 7724, "\xE1\xB8\xAD" },
691   { 7788, "\xE1\xB9\xAD" },
692   { 7852, "\xE1\xBA\xAD" },
693   { 7916, "\xE1\xBB\xAD" },
694   { 7980, "\xE1\xBC\xA4" },
695   { 8044, "\xE1\xBD\xA4" },
696   { 8108, "\xE1\xBD\xA4\xCE\xB9" },
697   { 8172, "\xE1\xBF\xA5" },
698   { 8556, "\xE2\x85\xBC" },
699   { 65324, "\xEF\xBD\x8C" },
700 }, cm45[] = {
701   { 1069, "\xD1\x8D" },
702   { 7981, "\xE1\xBC\xA5" },
703   { 8045, "\xE1\xBD\xA5" },
704   { 8109, "\xE1\xBD\xA5\xCE\xB9" },
705   { 8557, "\xE2\x85\xBD" },
706   { 65325, "\xEF\xBD\x8D" },
707 }, cm46[] = {
708   { 302, "\xC4\xAF" },
709   { 366, "\xC5\xAF" },
710   { 430, "\xCA\x88" },
711   { 494, "\xC7\xAF" },
712   { 558, "\xC8\xAF" },
713   { 1006, "\xCF\xAF" },
714   { 1070, "\xD1\x8E" },
715   { 1134, "\xD1\xAF" },
716   { 1198, "\xD2\xAF" },
717   { 1262, "\xD3\xAF" },
718   { 7726, "\xE1\xB8\xAF" },
719   { 7790, "\xE1\xB9\xAF" },
720   { 7854, "\xE1\xBA\xAF" },
721   { 7918, "\xE1\xBB\xAF" },
722   { 7982, "\xE1\xBC\xA6" },
723   { 8046, "\xE1\xBD\xA6" },
724   { 8110, "\xE1\xBD\xA6\xCE\xB9" },
725   { 8558, "\xE2\x85\xBE" },
726   { 65326, "\xEF\xBD\x8E" },
727 }, cm47[] = {
728   { 431, "\xC6\xB0" },
729   { 1071, "\xD1\x8F" },
730   { 7983, "\xE1\xBC\xA7" },
731   { 8047, "\xE1\xBD\xA7" },
732   { 8111, "\xE1\xBD\xA7\xCE\xB9" },
733   { 8559, "\xE2\x85\xBF" },
734   { 65327, "\xEF\xBD\x8F" },
735 }, cm48[] = {
736   { 304, "i\xCC\x87" },
737   { 368, "\xC5\xB1" },
738   { 496, "j\xCC\x8C" },
739   { 560, "\xC8\xB1" },
740   { 944, "\xCF\x85\xCC\x88\xCC\x81" },
741   { 1008, "\xCE\xBA" },
742   { 1136, "\xD1\xB1" },
743   { 1200, "\xD2\xB1" },
744   { 1264, "\xD3\xB1" },
745   { 7728, "\xE1\xB8\xB1" },
746   { 7792, "\xE1\xB9\xB1" },
747   { 7856, "\xE1\xBA\xB1" },
748   { 7920, "\xE1\xBB\xB1" },
749   { 65328, "\xEF\xBD\x90" },
750 }, cm49[] = {
751   { 433, "\xCA\x8A" },
752   { 497, "\xC7\xB3" },
753   { 1009, "\xCF\x81" },
754   { 1329, "\xD5\xA1" },
755   { 65329, "\xEF\xBD\x91" },
756 }, cm50[] = {
757   { 306, "\xC4\xB3" },
758   { 370, "\xC5\xB3" },
759   { 434, "\xCA\x8B" },
760   { 498, "\xC7\xB3" },
761   { 562, "\xC8\xB3" },
762   { 1138, "\xD1\xB3" },
763   { 1202, "\xD2\xB3" },
764   { 1266, "\xD3\xB3" },
765   { 1330, "\xD5\xA2" },
766   { 7730, "\xE1\xB8\xB3" },
767   { 7794, "\xE1\xB9\xB3" },
768   { 7858, "\xE1\xBA\xB3" },
769   { 7922, "\xE1\xBB\xB3" },
770   { 8114, "\xE1\xBD\xB0\xCE\xB9" },
771   { 8178, "\xE1\xBD\xBC\xCE\xB9" },
772   { 65330, "\xEF\xBD\x92" },
773 }, cm51[] = {
774   { 435, "\xC6\xB4" },
775   { 1331, "\xD5\xA3" },
776   { 8115, "\xCE\xB1\xCE\xB9" },
777   { 8179, "\xCF\x89\xCE\xB9" },
778   { 65331, "\xEF\xBD\x93" },
779 }, cm52[] = {
780   { 308, "\xC4\xB5" },
781   { 372, "\xC5\xB5" },
782   { 500, "\xC7\xB5" },
783   { 1012, "\xCE\xB8" },
784   { 1140, "\xD1\xB5" },
785   { 1204, "\xD2\xB5" },
786   { 1268, "\xD3\xB5" },
787   { 1332, "\xD5\xA4" },
788   { 7732, "\xE1\xB8\xB5" },
789   { 7796, "\xE1\xB9\xB5" },
790   { 7860, "\xE1\xBA\xB5" },
791   { 7924, "\xE1\xBB\xB5" },
792   { 8116, "\xCE\xAC\xCE\xB9" },
793   { 8180, "\xCF\x8E\xCE\xB9" },
794   { 65332, "\xEF\xBD\x94" },
795 }, cm53[] = {
796   { 181, "\xCE\xBC" },
797   { 437, "\xC6\xB6" },
798   { 1013, "\xCE\xB5" },
799   { 1333, "\xD5\xA5" },
800   { 65333, "\xEF\xBD\x95" },
801 }, cm54[] = {
802   { 310, "\xC4\xB7" },
803   { 374, "\xC5\xB7" },
804   { 502, "\xC6\x95" },
805   { 1142, "\xD1\xB7" },
806   { 1206, "\xD2\xB7" },
807   { 1334, "\xD5\xA6" },
808   { 7734, "\xE1\xB8\xB7" },
809   { 7798, "\xE1\xB9\xB7" },
810   { 7862, "\xE1\xBA\xB7" },
811   { 7926, "\xE1\xBB\xB7" },
812   { 8118, "\xCE\xB1\xCD\x82" },
813   { 8182, "\xCF\x89\xCD\x82" },
814   { 9398, "\xE2\x93\x90" },
815   { 65334, "\xEF\xBD\x96" },
816 }, cm55[] = {
817   { 439, "\xCA\x92" },
818   { 503, "\xC6\xBF" },
819   { 1015, "\xCF\xB8" },
820   { 1335, "\xD5\xA7" },
821   { 8119, "\xCE\xB1\xCD\x82\xCE\xB9" },
822   { 8183, "\xCF\x89\xCD\x82\xCE\xB9" },
823   { 9399, "\xE2\x93\x91" },
824   { 65335, "\xEF\xBD\x97" },
825 }, cm56[] = {
826   { 376, "\xC3\xBF" },
827   { 440, "\xC6\xB9" },
828   { 504, "\xC7\xB9" },
829   { 1144, "\xD1\xB9" },
830   { 1208, "\xD2\xB9" },
831   { 1272, "\xD3\xB9" },
832   { 1336, "\xD5\xA8" },
833   { 7736, "\xE1\xB8\xB9" },
834   { 7800, "\xE1\xB9\xB9" },
835   { 7864, "\xE1\xBA\xB9" },
836   { 7928, "\xE1\xBB\xB9" },
837   { 7992, "\xE1\xBC\xB0" },
838   { 8120, "\xE1\xBE\xB0" },
839   { 8184, "\xE1\xBD\xB8" },
840   { 9400, "\xE2\x93\x92" },
841   { 65336, "\xEF\xBD\x98" },
842 }, cm57[] = {
843   { 313, "\xC4\xBA" },
844   { 377, "\xC5\xBA" },
845   { 1017, "\xCF\xB2" },
846   { 1337, "\xD5\xA9" },
847   { 7993, "\xE1\xBC\xB1" },
848   { 8121, "\xE1\xBE\xB1" },
849   { 8185, "\xE1\xBD\xB9" },
850   { 9401, "\xE2\x93\x93" },
851   { 65337, "\xEF\xBD\x99" },
852 }, cm58[] = {
853   { 506, "\xC7\xBB" },
854   { 1018, "\xCF\xBB" },
855   { 1146, "\xD1\xBB" },
856   { 1210, "\xD2\xBB" },
857   { 1338, "\xD5\xAA" },
858   { 7738, "\xE1\xB8\xBB" },
859   { 7802, "\xE1\xB9\xBB" },
860   { 7866, "\xE1\xBA\xBB" },
861   { 7994, "\xE1\xBC\xB2" },
862   { 8122, "\xE1\xBD\xB0" },
863   { 8186, "\xE1\xBD\xBC" },
864   { 9402, "\xE2\x93\x94" },
865   { 65338, "\xEF\xBD\x9A" },
866 }, cm59[] = {
867   { 315, "\xC4\xBC" },
868   { 379, "\xC5\xBC" },
869   { 1339, "\xD5\xAB" },
870   { 7995, "\xE1\xBC\xB3" },
871   { 8123, "\xE1\xBD\xB1" },
872   { 8187, "\xE1\xBD\xBD" },
873   { 9403, "\xE2\x93\x95" },
874 }, cm60[] = {
875   { 444, "\xC6\xBD" },
876   { 508, "\xC7\xBD" },
877   { 1148, "\xD1\xBD" },
878   { 1212, "\xD2\xBD" },
879   { 1340, "\xD5\xAC" },
880   { 7740, "\xE1\xB8\xBD" },
881   { 7804, "\xE1\xB9\xBD" },
882   { 7868, "\xE1\xBA\xBD" },
883   { 7996, "\xE1\xBC\xB4" },
884   { 8124, "\xCE\xB1\xCE\xB9" },
885   { 8188, "\xCF\x89\xCE\xB9" },
886   { 9404, "\xE2\x93\x96" },
887 }, cm61[] = {
888   { 317, "\xC4\xBE" },
889   { 381, "\xC5\xBE" },
890   { 1341, "\xD5\xAD" },
891   { 7997, "\xE1\xBC\xB5" },
892   { 9405, "\xE2\x93\x97" },
893 }, cm62[] = {
894   { 510, "\xC7\xBF" },
895   { 1150, "\xD1\xBF" },
896   { 1214, "\xD2\xBF" },
897   { 1342, "\xD5\xAE" },
898   { 7742, "\xE1\xB8\xBF" },
899   { 7806, "\xE1\xB9\xBF" },
900   { 7870, "\xE1\xBA\xBF" },
901   { 7998, "\xE1\xBC\xB6" },
902   { 8126, "\xCE\xB9" },
903   { 9406, "\xE2\x93\x98" },
904 }, cm63[] = {
905   { 319, "\xC5\x80" },
906   { 383, "s" },
907   { 1343, "\xD5\xAF" },
908   { 7999, "\xE1\xBC\xB7" },
909   { 9407, "\xE2\x93\x99" },
910 };
911
912 static const struct cm *const cm[] = { cm0, cm1, cm2, cm3, cm4, cm5, cm6, cm7, cm8, cm9, cm10, cm11, cm12, cm13, cm14, cm15, cm16, cm17, cm18, cm19, cm20, cm21, cm22, cm23, cm24, cm25, cm26, cm27, cm28, cm29, cm30, cm31, cm32, cm33, cm34, cm35, cm36, cm37, cm38, cm39, cm40, cm41, cm42, cm43, cm44, cm45, cm46, cm47, cm48, cm49, cm50, cm51, cm52, cm53, cm54, cm55, cm56, cm57, cm58, cm59, cm60, cm61, cm62, cm63 };
913 static const size_t cmn[] = { 15, 11, 18, 11, 18, 12, 18, 13, 19, 14, 22, 13, 20, 11, 19, 11, 19, 10, 18, 11, 19, 10, 21, 10, 19, 11, 18, 10, 16, 8, 15, 7, 18, 6, 19, 7, 20, 6, 21, 8, 20, 9, 21, 9, 20, 6, 19, 7, 14, 5, 16, 5, 15, 5, 14, 8, 16, 9, 13, 7, 12, 5, 10, 5 };
914 #define CM_MASK 63