1if not modules then modules = { } end modules ['char-cjk'] = {
2 version = 1.001,
3 comment = "companion to char-ini.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files"
7}
8
9local setmetatable, next = setmetatable, next
10local insert = table.insert
11local floor = math.floor
12local formatters = string.formatters
13
14local setmetatableindex = table.setmetatableindex
15
16characters = characters or { }
17local ranges = characters.ranges
18local allocate = utilities.storage.allocate
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53local function decomposed(unicode)
54 local index = unicode - 0xAC00
55 if index >= 0 and index < 19 * 21 * 28 then
56 local lead_consonant = 0x1100 + floor( index / (21 * 28))
57 local medial_vowel = 0x1161 + floor((index % (21 * 28)) / 28)
58 local tail_consonant = 0x11A7 + index % 28
59 if tail_consonant ~= 0x11A7 then
60 return lead_consonant, medial_vowel, tail_consonant
61 else
62 return lead_consonant, medial_vowel
63 end
64 end
65end
66
67local lead_consonants = { [0] =
68 "G", "GG", "N", "D", "DD", "R", "M", "B", "BB",
69 "S", "SS", "", "J", "JJ", "C", "K", "T", "P", "H"
70}
71
72local medial_vowels = { [0] =
73 "A", "AE", "YA", "YAE", "EO", "E", "YEO", "YE", "O",
74 "WA", "WAE", "OE", "YO", "U", "WEO", "WE", "WI",
75 "YU", "EU", "YI", "I"
76}
77
78local tail_consonants = { [0] =
79 "", "G", "GG", "GS", "N", "NJ", "NH", "D", "L", "LG", "LM",
80 "LB", "LS", "LT", "LP", "LH", "M", "B", "BS",
81 "S", "SS", "NG", "J", "C", "K", "T", "P", "H"
82}
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98local function description(unicode)
99 local index = unicode - 0xAC00
100 if index >= 0 and index < 19 * 21 * 28 then
101 local lead_consonant = floor( index / (21 * 28))
102 local medial_vowel = floor((index % (21 * 28)) / 28)
103 local tail_consonant = index % 28
104 return formatters["HANGUL SYLLABLE %s%s%s"](
105 lead_consonants[lead_consonant],
106 medial_vowels [medial_vowel ],
107 tail_consonants[tail_consonant]
108 )
109 end
110end
111
112
113
114
115
116
117
118local function leadconsonant(unicode)
119 return
120
121
122 unicode >= 0xD558 and 0x314E or
123 unicode >= 0xD30C and 0x314D or
124 unicode >= 0xD0C0 and 0x314C or
125 unicode >= 0xCE74 and 0x314B or
126 unicode >= 0xCC28 and 0x314A or
127 unicode >= 0xC790 and 0x3148 or
128 unicode >= 0xC544 and 0x3147 or
129 unicode >= 0xC0AC and 0x3145 or
130 unicode >= 0xBC14 and 0x3142 or
131 unicode >= 0xB9C8 and 0x3141 or
132 unicode >= 0xB77C and 0x3139 or
133 unicode >= 0xB2E4 and 0x3137 or
134 unicode >= 0xB098 and 0x3134 or
135 unicode >= 0xAC00 and 0x3131 or
136 nil
137end
138
139local remapped = {
140 [0x1100] = 0x3131,
141 [0x1101] = 0x3132,
142 [0x1102] = 0x3134,
143 [0x1103] = 0x3137,
144 [0x1104] = 0x3138,
145 [0x1105] = 0x3139,
146
147 [0x1106] = 0x3141,
148 [0x1107] = 0x3142,
149 [0x1108] = 0x3143,
150
151 [0x1109] = 0x3145,
152 [0x110A] = 0x3146,
153 [0x110B] = 0x3147,
154 [0x110C] = 0x3148,
155 [0x110D] = 0x3149,
156 [0x110E] = 0x314A,
157 [0x110F] = 0x314B,
158 [0x1110] = 0x314C,
159 [0x1111] = 0x314D,
160 [0x1112] = 0x314E,
161
162 [0x1161] = 0x314F,
163 [0x1162] = 0x3150,
164 [0x1163] = 0x3151,
165 [0x1164] = 0x3152,
166 [0x1165] = 0x3153,
167 [0x1166] = 0x3154,
168 [0x1167] = 0x3155,
169 [0x1168] = 0x3156,
170 [0x1169] = 0x3157,
171 [0x116A] = 0x3158,
172 [0x116B] = 0x3159,
173 [0x116C] = 0x315A,
174 [0x116D] = 0x315B,
175 [0x116E] = 0x315C,
176 [0x116F] = 0x315D,
177 [0x1170] = 0x315E,
178 [0x1171] = 0x315F,
179 [0x1172] = 0x3160,
180 [0x1173] = 0x3161,
181 [0x1174] = 0x3162,
182 [0x1175] = 0x3163,
183
184 [0x11A8] = 0x3131,
185 [0x11A9] = 0x3132,
186 [0x11AA] = 0x3133,
187 [0x11AB] = 0x3134,
188 [0x11AC] = 0x3135,
189 [0x11AD] = 0x3136,
190 [0x11AE] = 0x3137,
191 [0x11AF] = 0x3139,
192 [0x11B0] = 0x313A,
193 [0x11B1] = 0x313B,
194 [0x11B2] = 0x313C,
195 [0x11B3] = 0x313D,
196 [0x11B4] = 0x313E,
197 [0x11B5] = 0x313F,
198 [0x11B6] = 0x3140,
199 [0x11B7] = 0x3141,
200 [0x11B8] = 0x3142,
201 [0x11B9] = 0x3144,
202 [0x11BA] = 0x3145,
203 [0x11BB] = 0x3146,
204 [0x11BC] = 0x3147,
205 [0x11BD] = 0x3148,
206 [0x11BE] = 0x314A,
207 [0x11BF] = 0x314B,
208 [0x11C0] = 0x314C,
209 [0x11C1] = 0x314D,
210 [0x11C2] = 0x314E,
211}
212
213characters.hangul = allocate {
214 decomposed = decomposed,
215 description = description,
216 leadconsonant = leadconsonant,
217 remapped = remapped,
218}
219
220
221
222local hangul_syllable_basetable = {
223 category = "lo",
224 cjkwd = "w",
225 description = "<Hangul Syllable>",
226 direction = "l",
227 linebreak = "h2",
228}
229
230local hangul_syllable_metatable = {
231 __index = function(t,k)
232 local u = t.unicodeslot
233 if k == "fscode" or k == "leadconsonant" then
234 return leadconsonant(u)
235 elseif k == "decomposed" then
236 return { decomposed(u) }
237 elseif k == "specials" then
238 return { "char", decomposed(u) }
239 elseif k == "description" then
240 return description(u)
241 else
242 return hangul_syllable_basetable[k]
243 end
244 end
245}
246
247function characters.remap_hangul_syllabe(t)
248 local tt = type(t)
249 if tt == "number" then
250 return remapped[t] or t
251 elseif tt == "table" then
252 local r = { }
253 for i=1,#t do
254 local ti = t[i]
255 r[i] = remapped[ti] or ti
256 end
257 return r
258 else
259 return t
260 end
261end
262
263local hangul_syllable_extender = function(k)
264 local t = {
265 unicodeslot = k,
266 }
267 setmetatable(t,hangul_syllable_metatable)
268 return t
269end
270
271local hangul_syllable_range = {
272 name = "hangul",
273 first = 0xAC00,
274 last = 0xD7A3,
275 extender = hangul_syllable_extender,
276}
277
278setmetatable(hangul_syllable_range, hangul_syllable_metatable)
279
280
281
282local knownvariants = {
283 [0x0349E] = { [0x0FE00] = 0x2F80C },
284 [0x034B9] = { [0x0FE00] = 0x2F813 },
285 [0x034BB] = { [0x0FE00] = 0x2F9CA },
286 [0x034DF] = { [0x0FE00] = 0x2F81F },
287 [0x03515] = { [0x0FE00] = 0x2F824 },
288 [0x036EE] = { [0x0FE00] = 0x2F867 },
289 [0x036FC] = { [0x0FE00] = 0x2F868 },
290 [0x03781] = { [0x0FE00] = 0x2F876 },
291 [0x0382F] = { [0x0FE00] = 0x2F883 },
292 [0x03862] = { [0x0FE00] = 0x2F888 },
293 [0x0387C] = { [0x0FE00] = 0x2F88A },
294 [0x038C7] = { [0x0FE00] = 0x2F896 },
295 [0x038E3] = { [0x0FE00] = 0x2F89B },
296 [0x0391C] = { [0x0FE00] = 0x2F8A2 },
297 [0x0393A] = { [0x0FE00] = 0x2F8A1 },
298 [0x03A2E] = { [0x0FE00] = 0x2F8C2 },
299 [0x03A6C] = { [0x0FE00] = 0x2F8C7 },
300 [0x03AE4] = { [0x0FE00] = 0x2F8D1 },
301 [0x03B08] = { [0x0FE00] = 0x2F8D0 },
302 [0x03B19] = { [0x0FE00] = 0x2F8CE },
303 [0x03B49] = { [0x0FE00] = 0x2F8DE },
304 [0x03B9D] = { [0x0FE00] = 0x0FAD2, [0x0FE01] = 0x2F8E7 },
305 [0x03C18] = { [0x0FE00] = 0x2F8EE },
306 [0x03C4E] = { [0x0FE00] = 0x2F8F2 },
307 [0x03D33] = { [0x0FE00] = 0x2F90A },
308 [0x03D96] = { [0x0FE00] = 0x2F916 },
309 [0x03EAC] = { [0x0FE00] = 0x2F92A },
310 [0x03EB8] = { [0x0FE00] = 0x2F92C, [0x0FE01] = 0x2F92D },
311 [0x03F1B] = { [0x0FE00] = 0x2F933 },
312 [0x03FFC] = { [0x0FE00] = 0x2F93E },
313 [0x04008] = { [0x0FE00] = 0x2F93F },
314 [0x04018] = { [0x0FE00] = 0x0FAD3 },
315 [0x04039] = { [0x0FE00] = 0x0FAD4, [0x0FE01] = 0x2F949 },
316 [0x04046] = { [0x0FE00] = 0x2F94B },
317 [0x04096] = { [0x0FE00] = 0x2F94C },
318 [0x040E3] = { [0x0FE00] = 0x2F951 },
319 [0x0412F] = { [0x0FE00] = 0x2F958 },
320 [0x04202] = { [0x0FE00] = 0x2F960 },
321 [0x04227] = { [0x0FE00] = 0x2F964 },
322 [0x042A0] = { [0x0FE00] = 0x2F967 },
323 [0x04301] = { [0x0FE00] = 0x2F96D },
324 [0x04334] = { [0x0FE00] = 0x2F971 },
325 [0x04359] = { [0x0FE00] = 0x2F974 },
326 [0x043D5] = { [0x0FE00] = 0x2F981 },
327 [0x043D9] = { [0x0FE00] = 0x2F8D7 },
328 [0x0440B] = { [0x0FE00] = 0x2F984 },
329 [0x0446B] = { [0x0FE00] = 0x2F98E },
330 [0x0452B] = { [0x0FE00] = 0x2F9A7 },
331 [0x0455D] = { [0x0FE00] = 0x2F9AE },
332 [0x04561] = { [0x0FE00] = 0x2F9AF },
333 [0x0456B] = { [0x0FE00] = 0x2F9B2 },
334 [0x045D7] = { [0x0FE00] = 0x2F9BF },
335 [0x045F9] = { [0x0FE00] = 0x2F9C2 },
336 [0x04635] = { [0x0FE00] = 0x2F9C8 },
337 [0x046BE] = { [0x0FE00] = 0x2F9CD },
338 [0x046C7] = { [0x0FE00] = 0x2F9CE },
339 [0x04995] = { [0x0FE00] = 0x2F9EF },
340 [0x049E6] = { [0x0FE00] = 0x2F9F2 },
341 [0x04A6E] = { [0x0FE00] = 0x2F9F8 },
342 [0x04A76] = { [0x0FE00] = 0x2F9F9 },
343 [0x04AB2] = { [0x0FE00] = 0x2F9FC },
344 [0x04B33] = { [0x0FE00] = 0x2FA03 },
345 [0x04BCE] = { [0x0FE00] = 0x2FA08 },
346 [0x04CCE] = { [0x0FE00] = 0x2FA0D },
347 [0x04CED] = { [0x0FE00] = 0x2FA0E },
348 [0x04CF8] = { [0x0FE00] = 0x2FA11 },
349 [0x04D56] = { [0x0FE00] = 0x2FA16 },
350 [0x04E0D] = { [0x0FE00] = 0x0F967 },
351 [0x04E26] = { [0x0FE00] = 0x0FA70 },
352 [0x04E32] = { [0x0FE00] = 0x0F905 },
353 [0x04E38] = { [0x0FE00] = 0x2F801 },
354 [0x04E39] = { [0x0FE00] = 0x0F95E },
355 [0x04E3D] = { [0x0FE00] = 0x2F800 },
356 [0x04E41] = { [0x0FE00] = 0x2F802 },
357 [0x04E82] = { [0x0FE00] = 0x0F91B },
358 [0x04E86] = { [0x0FE00] = 0x0F9BA },
359 [0x04EAE] = { [0x0FE00] = 0x0F977 },
360 [0x04EC0] = { [0x0FE00] = 0x0F9FD },
361 [0x04ECC] = { [0x0FE00] = 0x2F819 },
362 [0x04EE4] = { [0x0FE00] = 0x0F9A8 },
363 [0x04F60] = { [0x0FE00] = 0x2F804 },
364 [0x04F80] = { [0x0FE00] = 0x0FA73 },
365 [0x04F86] = { [0x0FE00] = 0x0F92D },
366 [0x04F8B] = { [0x0FE00] = 0x0F9B5 },
367 [0x04FAE] = { [0x0FE00] = 0x0FA30, [0x0FE01] = 0x2F805 },
368 [0x04FBB] = { [0x0FE00] = 0x2F806 },
369 [0x04FBF] = { [0x0FE00] = 0x0F965 },
370 [0x05002] = { [0x0FE00] = 0x2F807 },
371 [0x0502B] = { [0x0FE00] = 0x0F9D4 },
372 [0x0507A] = { [0x0FE00] = 0x2F808 },
373 [0x05099] = { [0x0FE00] = 0x2F809 },
374 [0x050CF] = { [0x0FE00] = 0x2F80B },
375 [0x050DA] = { [0x0FE00] = 0x0F9BB },
376 [0x050E7] = { [0x0FE00] = 0x0FA31, [0x0FE01] = 0x2F80A },
377 [0x05140] = { [0x0FE00] = 0x0FA0C },
378 [0x05145] = { [0x0FE00] = 0x0FA74 },
379 [0x0514D] = { [0x0FE00] = 0x0FA32, [0x0FE01] = 0x2F80E },
380 [0x05154] = { [0x0FE00] = 0x2F80F },
381 [0x05164] = { [0x0FE00] = 0x2F810 },
382 [0x05167] = { [0x0FE00] = 0x2F814 },
383 [0x05168] = { [0x0FE00] = 0x0FA72 },
384 [0x05169] = { [0x0FE00] = 0x0F978 },
385 [0x0516D] = { [0x0FE00] = 0x0F9D1 },
386 [0x05177] = { [0x0FE00] = 0x2F811 },
387 [0x05180] = { [0x0FE00] = 0x0FA75 },
388 [0x0518D] = { [0x0FE00] = 0x2F815 },
389 [0x05192] = { [0x0FE00] = 0x2F8D2 },
390 [0x05195] = { [0x0FE00] = 0x2F8D3 },
391 [0x05197] = { [0x0FE00] = 0x2F817 },
392 [0x051A4] = { [0x0FE00] = 0x2F818 },
393 [0x051AC] = { [0x0FE00] = 0x2F81A },
394 [0x051B5] = { [0x0FE00] = 0x0FA71, [0x0FE01] = 0x2F81B },
395 [0x051B7] = { [0x0FE00] = 0x0F92E },
396 [0x051C9] = { [0x0FE00] = 0x0F979 },
397 [0x051CC] = { [0x0FE00] = 0x0F955 },
398 [0x051DC] = { [0x0FE00] = 0x0F954 },
399 [0x051DE] = { [0x0FE00] = 0x0FA15 },
400 [0x051F5] = { [0x0FE00] = 0x2F81D },
401 [0x05203] = { [0x0FE00] = 0x2F81E },
402 [0x05207] = { [0x0FE00] = 0x0FA00, [0x0FE01] = 0x2F850 },
403 [0x05217] = { [0x0FE00] = 0x0F99C },
404 [0x05229] = { [0x0FE00] = 0x0F9DD },
405 [0x0523A] = { [0x0FE00] = 0x0F9FF },
406 [0x0523B] = { [0x0FE00] = 0x2F820 },
407 [0x05246] = { [0x0FE00] = 0x2F821 },
408 [0x05272] = { [0x0FE00] = 0x2F822 },
409 [0x05277] = { [0x0FE00] = 0x2F823 },
410 [0x05289] = { [0x0FE00] = 0x0F9C7 },
411 [0x0529B] = { [0x0FE00] = 0x0F98A },
412 [0x052A3] = { [0x0FE00] = 0x0F99D },
413 [0x052B3] = { [0x0FE00] = 0x2F992 },
414 [0x052C7] = { [0x0FE00] = 0x0FA76, [0x0FE01] = 0x2F825 },
415 [0x052C9] = { [0x0FE00] = 0x0FA33, [0x0FE01] = 0x2F826 },
416 [0x052D2] = { [0x0FE00] = 0x0F952 },
417 [0x052DE] = { [0x0FE00] = 0x0F92F },
418 [0x052E4] = { [0x0FE00] = 0x0FA34, [0x0FE01] = 0x2F827 },
419 [0x052F5] = { [0x0FE00] = 0x0F97F },
420 [0x052FA] = { [0x0FE00] = 0x0FA77, [0x0FE01] = 0x2F828 },
421 [0x05305] = { [0x0FE00] = 0x2F829 },
422 [0x05306] = { [0x0FE00] = 0x2F82A },
423 [0x05317] = { [0x0FE00] = 0x0F963, [0x0FE01] = 0x2F82B },
424 [0x0533F] = { [0x0FE00] = 0x0F9EB },
425 [0x05349] = { [0x0FE00] = 0x2F82C },
426 [0x05351] = { [0x0FE00] = 0x0FA35, [0x0FE01] = 0x2F82D },
427 [0x0535A] = { [0x0FE00] = 0x2F82E },
428 [0x05373] = { [0x0FE00] = 0x2F82F },
429 [0x05375] = { [0x0FE00] = 0x0F91C },
430 [0x0537D] = { [0x0FE00] = 0x2F830 },
431 [0x0537F] = { [0x0FE00] = 0x2F831, [0x0FE01] = 0x2F832, [0x0FE02] = 0x2F833 },
432 [0x053C3] = { [0x0FE00] = 0x0F96B },
433 [0x053CA] = { [0x0FE00] = 0x2F836 },
434 [0x053DF] = { [0x0FE00] = 0x2F837 },
435 [0x053E5] = { [0x0FE00] = 0x0F906 },
436 [0x053EB] = { [0x0FE00] = 0x2F839 },
437 [0x053F1] = { [0x0FE00] = 0x2F83A },
438 [0x05406] = { [0x0FE00] = 0x2F83B },
439 [0x0540F] = { [0x0FE00] = 0x0F9DE },
440 [0x0541D] = { [0x0FE00] = 0x0F9ED },
441 [0x05438] = { [0x0FE00] = 0x2F83D },
442 [0x05442] = { [0x0FE00] = 0x0F980 },
443 [0x05448] = { [0x0FE00] = 0x2F83E },
444 [0x05468] = { [0x0FE00] = 0x2F83F },
445 [0x0549E] = { [0x0FE00] = 0x2F83C },
446 [0x054A2] = { [0x0FE00] = 0x2F840 },
447 [0x054BD] = { [0x0FE00] = 0x0F99E },
448 [0x054F6] = { [0x0FE00] = 0x2F841 },
449 [0x05510] = { [0x0FE00] = 0x2F842 },
450 [0x05553] = { [0x0FE00] = 0x2F843 },
451 [0x05555] = { [0x0FE00] = 0x0FA79 },
452 [0x05563] = { [0x0FE00] = 0x2F844 },
453 [0x05584] = { [0x0FE00] = 0x2F845, [0x0FE01] = 0x2F846 },
454 [0x05587] = { [0x0FE00] = 0x0F90B },
455 [0x05599] = { [0x0FE00] = 0x0FA7A, [0x0FE01] = 0x2F847 },
456 [0x0559D] = { [0x0FE00] = 0x0FA36, [0x0FE01] = 0x0FA78 },
457 [0x055AB] = { [0x0FE00] = 0x2F848 },
458 [0x055B3] = { [0x0FE00] = 0x2F849 },
459 [0x055C0] = { [0x0FE00] = 0x0FA0D },
460 [0x055C2] = { [0x0FE00] = 0x2F84A },
461 [0x055E2] = { [0x0FE00] = 0x0FA7B },
462 [0x05606] = { [0x0FE00] = 0x0FA37, [0x0FE01] = 0x2F84C },
463 [0x05651] = { [0x0FE00] = 0x2F84E },
464 [0x05668] = { [0x0FE00] = 0x0FA38 },
465 [0x05674] = { [0x0FE00] = 0x2F84F },
466 [0x056F9] = { [0x0FE00] = 0x0F9A9 },
467 [0x05716] = { [0x0FE00] = 0x2F84B },
468 [0x05717] = { [0x0FE00] = 0x2F84D },
469 [0x0578B] = { [0x0FE00] = 0x2F855 },
470 [0x057CE] = { [0x0FE00] = 0x2F852 },
471 [0x057F4] = { [0x0FE00] = 0x2F853 },
472 [0x0580D] = { [0x0FE00] = 0x2F854 },
473 [0x05831] = { [0x0FE00] = 0x2F857 },
474 [0x05832] = { [0x0FE00] = 0x2F856 },
475 [0x05840] = { [0x0FE00] = 0x0FA39 },
476 [0x0585A] = { [0x0FE00] = 0x0FA10, [0x0FE01] = 0x0FA7C },
477 [0x0585E] = { [0x0FE00] = 0x0F96C },
478 [0x058A8] = { [0x0FE00] = 0x0FA3A },
479 [0x058AC] = { [0x0FE00] = 0x2F858 },
480 [0x058B3] = { [0x0FE00] = 0x0FA7D },
481 [0x058D8] = { [0x0FE00] = 0x0F94A },
482 [0x058DF] = { [0x0FE00] = 0x0F942 },
483 [0x058EE] = { [0x0FE00] = 0x2F851 },
484 [0x058F2] = { [0x0FE00] = 0x2F85A },
485 [0x058F7] = { [0x0FE00] = 0x2F85B },
486 [0x05906] = { [0x0FE00] = 0x2F85C },
487 [0x0591A] = { [0x0FE00] = 0x2F85D },
488 [0x05922] = { [0x0FE00] = 0x2F85E },
489 [0x05944] = { [0x0FE00] = 0x0FA7E },
490 [0x05948] = { [0x0FE00] = 0x0F90C },
491 [0x05951] = { [0x0FE00] = 0x0F909 },
492 [0x05954] = { [0x0FE00] = 0x0FA7F },
493 [0x05962] = { [0x0FE00] = 0x2F85F },
494 [0x05973] = { [0x0FE00] = 0x0F981 },
495 [0x059D8] = { [0x0FE00] = 0x2F865 },
496 [0x059EC] = { [0x0FE00] = 0x2F862 },
497 [0x05A1B] = { [0x0FE00] = 0x2F863 },
498 [0x05A27] = { [0x0FE00] = 0x2F864 },
499 [0x05A62] = { [0x0FE00] = 0x0FA80 },
500 [0x05A66] = { [0x0FE00] = 0x2F866 },
501 [0x05AB5] = { [0x0FE00] = 0x2F986 },
502 [0x05B08] = { [0x0FE00] = 0x2F869 },
503 [0x05B28] = { [0x0FE00] = 0x0FA81 },
504 [0x05B3E] = { [0x0FE00] = 0x2F86A, [0x0FE01] = 0x2F86B },
505 [0x05B85] = { [0x0FE00] = 0x0FA04 },
506 [0x05BC3] = { [0x0FE00] = 0x2F86D },
507 [0x05BD8] = { [0x0FE00] = 0x2F86E },
508 [0x05BE7] = { [0x0FE00] = 0x0F95F, [0x0FE01] = 0x0F9AA, [0x0FE02] = 0x2F86F },
509 [0x05BEE] = { [0x0FE00] = 0x0F9BC },
510 [0x05BF3] = { [0x0FE00] = 0x2F870 },
511 [0x05BFF] = { [0x0FE00] = 0x2F872 },
512 [0x05C06] = { [0x0FE00] = 0x2F873 },
513 [0x05C22] = { [0x0FE00] = 0x2F875 },
514 [0x05C3F] = { [0x0FE00] = 0x0F9BD },
515 [0x05C60] = { [0x0FE00] = 0x2F877 },
516 [0x05C62] = { [0x0FE00] = 0x0F94B },
517 [0x05C64] = { [0x0FE00] = 0x0FA3B },
518 [0x05C65] = { [0x0FE00] = 0x0F9DF },
519 [0x05C6E] = { [0x0FE00] = 0x0FA3C, [0x0FE01] = 0x2F878 },
520 [0x05C8D] = { [0x0FE00] = 0x2F87A },
521 [0x05CC0] = { [0x0FE00] = 0x2F879 },
522 [0x05D19] = { [0x0FE00] = 0x0F9D5 },
523 [0x05D43] = { [0x0FE00] = 0x2F87C },
524 [0x05D50] = { [0x0FE00] = 0x0F921 },
525 [0x05D6B] = { [0x0FE00] = 0x2F87F },
526 [0x05D6E] = { [0x0FE00] = 0x2F87E },
527 [0x05D7C] = { [0x0FE00] = 0x2F880 },
528 [0x05DB2] = { [0x0FE00] = 0x2F9F4 },
529 [0x05DBA] = { [0x0FE00] = 0x0F9AB },
530 [0x05DE1] = { [0x0FE00] = 0x2F881 },
531 [0x05DE2] = { [0x0FE00] = 0x2F882 },
532 [0x05DFD] = { [0x0FE00] = 0x2F884 },
533 [0x05E28] = { [0x0FE00] = 0x2F885 },
534 [0x05E3D] = { [0x0FE00] = 0x2F886 },
535 [0x05E69] = { [0x0FE00] = 0x2F887 },
536 [0x05E74] = { [0x0FE00] = 0x0F98E },
537 [0x05EA6] = { [0x0FE00] = 0x0FA01 },
538 [0x05EB0] = { [0x0FE00] = 0x2F88B },
539 [0x05EB3] = { [0x0FE00] = 0x2F88C },
540 [0x05EB6] = { [0x0FE00] = 0x2F88D },
541 [0x05EC9] = { [0x0FE00] = 0x0F9A2 },
542 [0x05ECA] = { [0x0FE00] = 0x0F928, [0x0FE01] = 0x2F88E },
543 [0x05ED2] = { [0x0FE00] = 0x0FA82 },
544 [0x05ED3] = { [0x0FE00] = 0x0FA0B },
545 [0x05ED9] = { [0x0FE00] = 0x0FA83 },
546 [0x05EEC] = { [0x0FE00] = 0x0F982 },
547 [0x05EFE] = { [0x0FE00] = 0x2F890 },
548 [0x05F04] = { [0x0FE00] = 0x0F943 },
549 [0x05F22] = { [0x0FE00] = 0x2F894, [0x0FE01] = 0x2F895 },
550 [0x05F53] = { [0x0FE00] = 0x2F874 },
551 [0x05F62] = { [0x0FE00] = 0x2F899 },
552 [0x05F69] = { [0x0FE00] = 0x0FA84 },
553 [0x05F6B] = { [0x0FE00] = 0x2F89A },
554 [0x05F8B] = { [0x0FE00] = 0x0F9D8 },
555 [0x05F9A] = { [0x0FE00] = 0x2F89C },
556 [0x05FA9] = { [0x0FE00] = 0x0F966 },
557 [0x05FAD] = { [0x0FE00] = 0x0FA85 },
558 [0x05FCD] = { [0x0FE00] = 0x2F89D },
559 [0x05FD7] = { [0x0FE00] = 0x2F89E },
560 [0x05FF5] = { [0x0FE00] = 0x0F9A3 },
561 [0x05FF9] = { [0x0FE00] = 0x2F89F },
562 [0x06012] = { [0x0FE00] = 0x0F960 },
563 [0x0601C] = { [0x0FE00] = 0x0F9AC },
564 [0x06075] = { [0x0FE00] = 0x0FA6B },
565 [0x06081] = { [0x0FE00] = 0x2F8A0 },
566 [0x06094] = { [0x0FE00] = 0x0FA3D, [0x0FE01] = 0x2F8A3 },
567 [0x060C7] = { [0x0FE00] = 0x2F8A5 },
568 [0x060D8] = { [0x0FE00] = 0x0FA86 },
569 [0x060E1] = { [0x0FE00] = 0x0F9B9 },
570 [0x06108] = { [0x0FE00] = 0x0FA88 },
571 [0x06144] = { [0x0FE00] = 0x0F9D9 },
572 [0x06148] = { [0x0FE00] = 0x2F8A6 },
573 [0x0614C] = { [0x0FE00] = 0x2F8A7, [0x0FE01] = 0x2F8A9 },
574 [0x0614E] = { [0x0FE00] = 0x0FA87, [0x0FE01] = 0x2F8A8 },
575 [0x06160] = { [0x0FE00] = 0x0FA8A },
576 [0x06168] = { [0x0FE00] = 0x0FA3E },
577 [0x0617A] = { [0x0FE00] = 0x2F8AA },
578 [0x0618E] = { [0x0FE00] = 0x0FA3F, [0x0FE01] = 0x0FA89, [0x0FE02] = 0x2F8AB },
579 [0x06190] = { [0x0FE00] = 0x0F98F },
580 [0x061A4] = { [0x0FE00] = 0x2F8AD },
581 [0x061AF] = { [0x0FE00] = 0x2F8AE },
582 [0x061B2] = { [0x0FE00] = 0x2F8AC },
583 [0x061DE] = { [0x0FE00] = 0x2F8AF },
584 [0x061F2] = { [0x0FE00] = 0x0FA40, [0x0FE01] = 0x0FA8B, [0x0FE02] = 0x2F8B0 },
585 [0x061F6] = { [0x0FE00] = 0x0F90D, [0x0FE01] = 0x2F8B1 },
586 [0x06200] = { [0x0FE00] = 0x0F990 },
587 [0x06210] = { [0x0FE00] = 0x2F8B2 },
588 [0x0621B] = { [0x0FE00] = 0x2F8B3 },
589 [0x0622E] = { [0x0FE00] = 0x0F9D2 },
590 [0x06234] = { [0x0FE00] = 0x0FA8C },
591 [0x0625D] = { [0x0FE00] = 0x2F8B4 },
592 [0x062B1] = { [0x0FE00] = 0x2F8B5 },
593 [0x062C9] = { [0x0FE00] = 0x0F925 },
594 [0x062CF] = { [0x0FE00] = 0x0F95B },
595 [0x062D3] = { [0x0FE00] = 0x0FA02 },
596 [0x062D4] = { [0x0FE00] = 0x2F8B6 },
597 [0x062FC] = { [0x0FE00] = 0x2F8BA },
598 [0x062FE] = { [0x0FE00] = 0x0F973 },
599 [0x0633D] = { [0x0FE00] = 0x2F8B9 },
600 [0x06350] = { [0x0FE00] = 0x2F8B7 },
601 [0x06368] = { [0x0FE00] = 0x2F8BB },
602 [0x0637B] = { [0x0FE00] = 0x0F9A4 },
603 [0x06383] = { [0x0FE00] = 0x2F8BC },
604 [0x063A0] = { [0x0FE00] = 0x0F975 },
605 [0x063A9] = { [0x0FE00] = 0x2F8C1 },
606 [0x063C4] = { [0x0FE00] = 0x0FA8D },
607 [0x063C5] = { [0x0FE00] = 0x2F8C0 },
608 [0x063E4] = { [0x0FE00] = 0x2F8BD },
609 [0x0641C] = { [0x0FE00] = 0x0FA8E },
610 [0x06422] = { [0x0FE00] = 0x2F8BF },
611 [0x06452] = { [0x0FE00] = 0x0FA8F },
612 [0x06469] = { [0x0FE00] = 0x2F8C3 },
613 [0x06477] = { [0x0FE00] = 0x2F8C6 },
614 [0x0647E] = { [0x0FE00] = 0x2F8C4 },
615 [0x0649A] = { [0x0FE00] = 0x0F991 },
616 [0x0649D] = { [0x0FE00] = 0x2F8C5 },
617 [0x064C4] = { [0x0FE00] = 0x0F930 },
618 [0x0654F] = { [0x0FE00] = 0x0FA41, [0x0FE01] = 0x2F8C8 },
619 [0x06556] = { [0x0FE00] = 0x0FA90 },
620 [0x0656C] = { [0x0FE00] = 0x2F8C9 },
621 [0x06578] = { [0x0FE00] = 0x0F969 },
622 [0x06599] = { [0x0FE00] = 0x0F9BE },
623 [0x065C5] = { [0x0FE00] = 0x0F983 },
624 [0x065E2] = { [0x0FE00] = 0x0FA42 },
625 [0x065E3] = { [0x0FE00] = 0x2F8CB },
626 [0x06613] = { [0x0FE00] = 0x0F9E0 },
627 [0x06649] = { [0x0FE00] = 0x2F8CD },
628 [0x06674] = { [0x0FE00] = 0x0FA12, [0x0FE01] = 0x0FA91 },
629 [0x06688] = { [0x0FE00] = 0x0F9C5 },
630 [0x06691] = { [0x0FE00] = 0x0FA43, [0x0FE01] = 0x2F8CF },
631 [0x0669C] = { [0x0FE00] = 0x2F8D5 },
632 [0x066B4] = { [0x0FE00] = 0x0FA06 },
633 [0x066C6] = { [0x0FE00] = 0x0F98B },
634 [0x066F4] = { [0x0FE00] = 0x0F901 },
635 [0x066F8] = { [0x0FE00] = 0x2F8CC },
636 [0x06700] = { [0x0FE00] = 0x2F8D4 },
637 [0x06717] = { [0x0FE00] = 0x0F929, [0x0FE01] = 0x0FA92, [0x0FE02] = 0x2F8D8 },
638 [0x0671B] = { [0x0FE00] = 0x0FA93, [0x0FE01] = 0x2F8D9 },
639 [0x06721] = { [0x0FE00] = 0x2F8DA },
640 [0x0674E] = { [0x0FE00] = 0x0F9E1 },
641 [0x06753] = { [0x0FE00] = 0x2F8DC },
642 [0x06756] = { [0x0FE00] = 0x0FA94 },
643 [0x0675E] = { [0x0FE00] = 0x2F8DB },
644 [0x0677B] = { [0x0FE00] = 0x0F9C8 },
645 [0x06785] = { [0x0FE00] = 0x2F8E0 },
646 [0x06797] = { [0x0FE00] = 0x0F9F4 },
647 [0x067F3] = { [0x0FE00] = 0x0F9C9 },
648 [0x067FA] = { [0x0FE00] = 0x2F8DF },
649 [0x06817] = { [0x0FE00] = 0x0F9DA },
650 [0x0681F] = { [0x0FE00] = 0x2F8E5 },
651 [0x06852] = { [0x0FE00] = 0x2F8E1 },
652 [0x06881] = { [0x0FE00] = 0x0F97A },
653 [0x06885] = { [0x0FE00] = 0x0FA44, [0x0FE01] = 0x2F8E2 },
654 [0x0688E] = { [0x0FE00] = 0x2F8E4 },
655 [0x068A8] = { [0x0FE00] = 0x0F9E2 },
656 [0x06914] = { [0x0FE00] = 0x2F8E6 },
657 [0x06942] = { [0x0FE00] = 0x2F8E8 },
658 [0x069A3] = { [0x0FE00] = 0x2F8E9 },
659 [0x069EA] = { [0x0FE00] = 0x2F8EA },
660 [0x06A02] = { [0x0FE00] = 0x0F914, [0x0FE01] = 0x0F95C, [0x0FE02] = 0x0F9BF },
661 [0x06A13] = { [0x0FE00] = 0x0F94C },
662 [0x06AA8] = { [0x0FE00] = 0x2F8EB },
663 [0x06AD3] = { [0x0FE00] = 0x0F931 },
664 [0x06ADB] = { [0x0FE00] = 0x2F8ED },
665 [0x06B04] = { [0x0FE00] = 0x0F91D },
666 [0x06B21] = { [0x0FE00] = 0x2F8EF },
667 [0x06B54] = { [0x0FE00] = 0x2F8F1 },
668 [0x06B72] = { [0x0FE00] = 0x2F8F3 },
669 [0x06B77] = { [0x0FE00] = 0x0F98C },
670 [0x06B79] = { [0x0FE00] = 0x0FA95 },
671 [0x06B9F] = { [0x0FE00] = 0x2F8F4 },
672 [0x06BAE] = { [0x0FE00] = 0x0F9A5 },
673 [0x06BBA] = { [0x0FE00] = 0x0F970, [0x0FE01] = 0x0FA96, [0x0FE02] = 0x2F8F5 },
674 [0x06BBB] = { [0x0FE00] = 0x2F8F6 },
675 [0x06C4E] = { [0x0FE00] = 0x2F8FA },
676 [0x06C67] = { [0x0FE00] = 0x2F8FE },
677 [0x06C88] = { [0x0FE00] = 0x0F972 },
678 [0x06CBF] = { [0x0FE00] = 0x2F8FC },
679 [0x06CCC] = { [0x0FE00] = 0x0F968 },
680 [0x06CCD] = { [0x0FE00] = 0x2F8FD },
681 [0x06CE5] = { [0x0FE00] = 0x0F9E3 },
682 [0x06D16] = { [0x0FE00] = 0x2F8FF },
683 [0x06D1B] = { [0x0FE00] = 0x0F915 },
684 [0x06D1E] = { [0x0FE00] = 0x0FA05 },
685 [0x06D34] = { [0x0FE00] = 0x2F907 },
686 [0x06D3E] = { [0x0FE00] = 0x2F900 },
687 [0x06D41] = { [0x0FE00] = 0x0F9CA, [0x0FE01] = 0x0FA97, [0x0FE02] = 0x2F902 },
688 [0x06D69] = { [0x0FE00] = 0x2F903 },
689 [0x06D6A] = { [0x0FE00] = 0x0F92A },
690 [0x06D77] = { [0x0FE00] = 0x0FA45, [0x0FE01] = 0x2F901 },
691 [0x06D78] = { [0x0FE00] = 0x2F904 },
692 [0x06D85] = { [0x0FE00] = 0x2F905 },
693 [0x06DCB] = { [0x0FE00] = 0x0F9F5 },
694 [0x06DDA] = { [0x0FE00] = 0x0F94D },
695 [0x06DEA] = { [0x0FE00] = 0x0F9D6 },
696 [0x06DF9] = { [0x0FE00] = 0x2F90E },
697 [0x06E1A] = { [0x0FE00] = 0x0FA46 },
698 [0x06E2F] = { [0x0FE00] = 0x2F908 },
699 [0x06E6E] = { [0x0FE00] = 0x2F909 },
700 [0x06E9C] = { [0x0FE00] = 0x0F9CB },
701 [0x06EBA] = { [0x0FE00] = 0x0F9EC },
702 [0x06EC7] = { [0x0FE00] = 0x2F90C },
703 [0x06ECB] = { [0x0FE00] = 0x0FA99, [0x0FE01] = 0x2F90B },
704 [0x06ED1] = { [0x0FE00] = 0x0F904 },
705 [0x06EDB] = { [0x0FE00] = 0x0FA98 },
706 [0x06F0F] = { [0x0FE00] = 0x0F94E },
707 [0x06F22] = { [0x0FE00] = 0x0FA47, [0x0FE01] = 0x0FA9A },
708 [0x06F23] = { [0x0FE00] = 0x0F992 },
709 [0x06F6E] = { [0x0FE00] = 0x2F90F },
710 [0x06FC6] = { [0x0FE00] = 0x2F912 },
711 [0x06FEB] = { [0x0FE00] = 0x0F922 },
712 [0x06FFE] = { [0x0FE00] = 0x0F984 },
713 [0x0701B] = { [0x0FE00] = 0x2F915 },
714 [0x0701E] = { [0x0FE00] = 0x0FA9B, [0x0FE01] = 0x2F914 },
715 [0x07039] = { [0x0FE00] = 0x2F913 },
716 [0x0704A] = { [0x0FE00] = 0x2F917 },
717 [0x07070] = { [0x0FE00] = 0x2F835 },
718 [0x07077] = { [0x0FE00] = 0x2F919 },
719 [0x0707D] = { [0x0FE00] = 0x2F918 },
720 [0x07099] = { [0x0FE00] = 0x0F9FB },
721 [0x070AD] = { [0x0FE00] = 0x2F91A },
722 [0x070C8] = { [0x0FE00] = 0x0F99F },
723 [0x070D9] = { [0x0FE00] = 0x0F916 },
724 [0x07145] = { [0x0FE00] = 0x2F91C },
725 [0x07149] = { [0x0FE00] = 0x0F993 },
726 [0x0716E] = { [0x0FE00] = 0x0FA48, [0x0FE01] = 0x0FA9C },
727 [0x0719C] = { [0x0FE00] = 0x2F91E },
728 [0x071CE] = { [0x0FE00] = 0x0F9C0 },
729 [0x071D0] = { [0x0FE00] = 0x0F9EE },
730 [0x07210] = { [0x0FE00] = 0x0F932 },
731 [0x0721B] = { [0x0FE00] = 0x0F91E },
732 [0x07228] = { [0x0FE00] = 0x2F920 },
733 [0x0722B] = { [0x0FE00] = 0x0FA49 },
734 [0x07235] = { [0x0FE00] = 0x0FA9E, [0x0FE01] = 0x2F921 },
735 [0x07250] = { [0x0FE00] = 0x2F922 },
736 [0x07262] = { [0x0FE00] = 0x0F946 },
737 [0x07280] = { [0x0FE00] = 0x2F924 },
738 [0x07295] = { [0x0FE00] = 0x2F925 },
739 [0x072AF] = { [0x0FE00] = 0x0FA9F },
740 [0x072C0] = { [0x0FE00] = 0x0F9FA },
741 [0x072FC] = { [0x0FE00] = 0x0F92B },
742 [0x0732A] = { [0x0FE00] = 0x0FA16, [0x0FE01] = 0x0FAA0 },
743 [0x07375] = { [0x0FE00] = 0x0F9A7 },
744 [0x0737A] = { [0x0FE00] = 0x2F928 },
745 [0x07387] = { [0x0FE00] = 0x0F961, [0x0FE01] = 0x0F9DB },
746 [0x0738B] = { [0x0FE00] = 0x2F929 },
747 [0x073A5] = { [0x0FE00] = 0x2F92B },
748 [0x073B2] = { [0x0FE00] = 0x0F9AD },
749 [0x073DE] = { [0x0FE00] = 0x0F917 },
750 [0x07406] = { [0x0FE00] = 0x0F9E4 },
751 [0x07409] = { [0x0FE00] = 0x0F9CC },
752 [0x07422] = { [0x0FE00] = 0x0FA4A },
753 [0x07447] = { [0x0FE00] = 0x2F92E },
754 [0x0745C] = { [0x0FE00] = 0x2F92F },
755 [0x07469] = { [0x0FE00] = 0x0F9AE },
756 [0x07471] = { [0x0FE00] = 0x0FAA1, [0x0FE01] = 0x2F930 },
757 [0x07485] = { [0x0FE00] = 0x2F931 },
758 [0x07489] = { [0x0FE00] = 0x0F994 },
759 [0x07498] = { [0x0FE00] = 0x0F9EF },
760 [0x074CA] = { [0x0FE00] = 0x2F932 },
761 [0x07506] = { [0x0FE00] = 0x0FAA2 },
762 [0x07524] = { [0x0FE00] = 0x2F934 },
763 [0x0753B] = { [0x0FE00] = 0x0FAA3 },
764 [0x0753E] = { [0x0FE00] = 0x2F936 },
765 [0x07559] = { [0x0FE00] = 0x0F9CD },
766 [0x07565] = { [0x0FE00] = 0x0F976 },
767 [0x07570] = { [0x0FE00] = 0x0F962, [0x0FE01] = 0x2F938 },
768 [0x075E2] = { [0x0FE00] = 0x0F9E5 },
769 [0x07610] = { [0x0FE00] = 0x2F93A },
770 [0x0761D] = { [0x0FE00] = 0x0FAA4 },
771 [0x0761F] = { [0x0FE00] = 0x0FAA5 },
772 [0x07642] = { [0x0FE00] = 0x0F9C1 },
773 [0x07669] = { [0x0FE00] = 0x0F90E },
774 [0x076CA] = { [0x0FE00] = 0x0FA17, [0x0FE01] = 0x0FAA6 },
775 [0x076DB] = { [0x0FE00] = 0x0FAA7 },
776 [0x076E7] = { [0x0FE00] = 0x0F933 },
777 [0x076F4] = { [0x0FE00] = 0x0FAA8, [0x0FE01] = 0x2F940 },
778 [0x07701] = { [0x0FE00] = 0x0F96D },
779 [0x0771E] = { [0x0FE00] = 0x2F945 },
780 [0x0771F] = { [0x0FE00] = 0x2F946, [0x0FE01] = 0x2F947 },
781 [0x07740] = { [0x0FE00] = 0x0FAAA },
782 [0x0774A] = { [0x0FE00] = 0x0FAA9, [0x0FE01] = 0x2F948 },
783 [0x0778B] = { [0x0FE00] = 0x2F94A },
784 [0x077A7] = { [0x0FE00] = 0x0FA9D },
785 [0x0784E] = { [0x0FE00] = 0x2F94E },
786 [0x0786B] = { [0x0FE00] = 0x0F9CE },
787 [0x0788C] = { [0x0FE00] = 0x0F93B, [0x0FE01] = 0x2F94F },
788 [0x07891] = { [0x0FE00] = 0x0FA4B },
789 [0x078CA] = { [0x0FE00] = 0x0F947 },
790 [0x078CC] = { [0x0FE00] = 0x0FAAB, [0x0FE01] = 0x2F950 },
791 [0x078FB] = { [0x0FE00] = 0x0F964 },
792 [0x0792A] = { [0x0FE00] = 0x0F985 },
793 [0x0793C] = { [0x0FE00] = 0x0FA18 },
794 [0x0793E] = { [0x0FE00] = 0x0FA4C },
795 [0x07948] = { [0x0FE00] = 0x0FA4E },
796 [0x07949] = { [0x0FE00] = 0x0FA4D },
797 [0x07950] = { [0x0FE00] = 0x0FA4F },
798 [0x07956] = { [0x0FE00] = 0x0FA50, [0x0FE01] = 0x2F953 },
799 [0x0795D] = { [0x0FE00] = 0x0FA51 },
800 [0x0795E] = { [0x0FE00] = 0x0FA19 },
801 [0x07965] = { [0x0FE00] = 0x0FA1A },
802 [0x0797F] = { [0x0FE00] = 0x0F93C },
803 [0x0798D] = { [0x0FE00] = 0x0FA52 },
804 [0x0798E] = { [0x0FE00] = 0x0FA53 },
805 [0x0798F] = { [0x0FE00] = 0x0FA1B, [0x0FE01] = 0x2F956 },
806 [0x079AE] = { [0x0FE00] = 0x0F9B6 },
807 [0x079CA] = { [0x0FE00] = 0x0F995 },
808 [0x079EB] = { [0x0FE00] = 0x2F957 },
809 [0x07A1C] = { [0x0FE00] = 0x0F956 },
810 [0x07A40] = { [0x0FE00] = 0x0FA54, [0x0FE01] = 0x2F959 },
811 [0x07A4A] = { [0x0FE00] = 0x2F95A },
812 [0x07A4F] = { [0x0FE00] = 0x2F95B },
813 [0x07A81] = { [0x0FE00] = 0x0FA55 },
814 [0x07AB1] = { [0x0FE00] = 0x0FAAC },
815 [0x07ACB] = { [0x0FE00] = 0x0F9F7 },
816 [0x07AEE] = { [0x0FE00] = 0x2F95F },
817 [0x07B20] = { [0x0FE00] = 0x0F9F8 },
818 [0x07BC0] = { [0x0FE00] = 0x0FA56, [0x0FE01] = 0x0FAAD },
819 [0x07BC6] = { [0x0FE00] = 0x2F962 },
820 [0x07BC9] = { [0x0FE00] = 0x2F963 },
821 [0x07C3E] = { [0x0FE00] = 0x0F9A6 },
822 [0x07C60] = { [0x0FE00] = 0x0F944 },
823 [0x07C7B] = { [0x0FE00] = 0x0FAAE },
824 [0x07C92] = { [0x0FE00] = 0x0F9F9 },
825 [0x07CBE] = { [0x0FE00] = 0x0FA1D },
826 [0x07CD2] = { [0x0FE00] = 0x2F966 },
827 [0x07CD6] = { [0x0FE00] = 0x0FA03 },
828 [0x07CE3] = { [0x0FE00] = 0x2F969 },
829 [0x07CE7] = { [0x0FE00] = 0x0F97B },
830 [0x07CE8] = { [0x0FE00] = 0x2F968 },
831 [0x07D00] = { [0x0FE00] = 0x2F96A },
832 [0x07D10] = { [0x0FE00] = 0x0F9CF },
833 [0x07D22] = { [0x0FE00] = 0x0F96A },
834 [0x07D2F] = { [0x0FE00] = 0x0F94F },
835 [0x07D5B] = { [0x0FE00] = 0x0FAAF },
836 [0x07D63] = { [0x0FE00] = 0x2F96C },
837 [0x07DA0] = { [0x0FE00] = 0x0F93D },
838 [0x07DBE] = { [0x0FE00] = 0x0F957 },
839 [0x07DC7] = { [0x0FE00] = 0x2F96E },
840 [0x07DF4] = { [0x0FE00] = 0x0F996, [0x0FE01] = 0x0FA57, [0x0FE02] = 0x0FAB0 },
841 [0x07E02] = { [0x0FE00] = 0x2F96F },
842 [0x07E09] = { [0x0FE00] = 0x0FA58 },
843 [0x07E37] = { [0x0FE00] = 0x0F950 },
844 [0x07E41] = { [0x0FE00] = 0x0FA59 },
845 [0x07E45] = { [0x0FE00] = 0x2F970 },
846 [0x07F3E] = { [0x0FE00] = 0x0FAB1 },
847 [0x07F72] = { [0x0FE00] = 0x0FA5A },
848 [0x07F79] = { [0x0FE00] = 0x0F9E6 },
849 [0x07F7A] = { [0x0FE00] = 0x2F976 },
850 [0x07F85] = { [0x0FE00] = 0x0F90F },
851 [0x07F95] = { [0x0FE00] = 0x2F978 },
852 [0x07F9A] = { [0x0FE00] = 0x0F9AF },
853 [0x07FBD] = { [0x0FE00] = 0x0FA1E },
854 [0x07FFA] = { [0x0FE00] = 0x2F979 },
855 [0x08001] = { [0x0FE00] = 0x0F934 },
856 [0x08005] = { [0x0FE00] = 0x0FA5B, [0x0FE01] = 0x0FAB2, [0x0FE02] = 0x2F97A },
857 [0x08046] = { [0x0FE00] = 0x0F9B0 },
858 [0x08060] = { [0x0FE00] = 0x2F97D },
859 [0x0806F] = { [0x0FE00] = 0x0F997 },
860 [0x08070] = { [0x0FE00] = 0x2F97F },
861 [0x0807E] = { [0x0FE00] = 0x0F945 },
862 [0x0808B] = { [0x0FE00] = 0x0F953 },
863 [0x080AD] = { [0x0FE00] = 0x2F8D6 },
864 [0x080B2] = { [0x0FE00] = 0x2F982 },
865 [0x08103] = { [0x0FE00] = 0x2F983 },
866 [0x0813E] = { [0x0FE00] = 0x2F985 },
867 [0x081D8] = { [0x0FE00] = 0x0F926 },
868 [0x081E8] = { [0x0FE00] = 0x0F9F6 },
869 [0x081ED] = { [0x0FE00] = 0x0FA5C },
870 [0x08201] = { [0x0FE00] = 0x2F893, [0x0FE01] = 0x2F98B },
871 [0x08204] = { [0x0FE00] = 0x2F98C },
872 [0x08218] = { [0x0FE00] = 0x0FA6D },
873 [0x0826F] = { [0x0FE00] = 0x0F97C },
874 [0x08279] = { [0x0FE00] = 0x0FA5D, [0x0FE01] = 0x0FA5E },
875 [0x0828B] = { [0x0FE00] = 0x2F990 },
876 [0x08291] = { [0x0FE00] = 0x2F98F },
877 [0x0829D] = { [0x0FE00] = 0x2F991 },
878 [0x082B1] = { [0x0FE00] = 0x2F993 },
879 [0x082B3] = { [0x0FE00] = 0x2F994 },
880 [0x082BD] = { [0x0FE00] = 0x2F995 },
881 [0x082E5] = { [0x0FE00] = 0x0F974, [0x0FE01] = 0x2F998 },
882 [0x082E6] = { [0x0FE00] = 0x2F996 },
883 [0x0831D] = { [0x0FE00] = 0x2F999 },
884 [0x08323] = { [0x0FE00] = 0x2F99C },
885 [0x08336] = { [0x0FE00] = 0x0F9FE },
886 [0x08352] = { [0x0FE00] = 0x0FAB3 },
887 [0x08353] = { [0x0FE00] = 0x2F9A0 },
888 [0x08363] = { [0x0FE00] = 0x2F99A },
889 [0x083AD] = { [0x0FE00] = 0x2F99B },
890 [0x083BD] = { [0x0FE00] = 0x2F99D },
891 [0x083C9] = { [0x0FE00] = 0x0F93E },
892 [0x083CA] = { [0x0FE00] = 0x2F9A1 },
893 [0x083CC] = { [0x0FE00] = 0x2F9A2 },
894 [0x083DC] = { [0x0FE00] = 0x2F9A3 },
895 [0x083E7] = { [0x0FE00] = 0x2F99E },
896 [0x083EF] = { [0x0FE00] = 0x0FAB4 },
897 [0x083F1] = { [0x0FE00] = 0x0F958 },
898 [0x0843D] = { [0x0FE00] = 0x0F918 },
899 [0x08449] = { [0x0FE00] = 0x0F96E },
900 [0x08457] = { [0x0FE00] = 0x0FA5F, [0x0FE01] = 0x2F99F },
901 [0x084EE] = { [0x0FE00] = 0x0F999 },
902 [0x084F1] = { [0x0FE00] = 0x2F9A8 },
903 [0x084F3] = { [0x0FE00] = 0x2F9A9 },
904 [0x084FC] = { [0x0FE00] = 0x0F9C2 },
905 [0x08516] = { [0x0FE00] = 0x2F9AA },
906 [0x08564] = { [0x0FE00] = 0x2F9AC },
907 [0x085CD] = { [0x0FE00] = 0x0F923 },
908 [0x085FA] = { [0x0FE00] = 0x0F9F0 },
909 [0x08606] = { [0x0FE00] = 0x0F935 },
910 [0x08612] = { [0x0FE00] = 0x0FA20 },
911 [0x0862D] = { [0x0FE00] = 0x0F91F },
912 [0x0863F] = { [0x0FE00] = 0x0F910 },
913 [0x08650] = { [0x0FE00] = 0x2F9B3 },
914 [0x0865C] = { [0x0FE00] = 0x0F936, [0x0FE01] = 0x2F9B4 },
915 [0x08667] = { [0x0FE00] = 0x2F9B5 },
916 [0x08669] = { [0x0FE00] = 0x2F9B6 },
917 [0x08688] = { [0x0FE00] = 0x2F9B8 },
918 [0x086A9] = { [0x0FE00] = 0x2F9B7 },
919 [0x086E2] = { [0x0FE00] = 0x2F9BA },
920 [0x0870E] = { [0x0FE00] = 0x2F9B9 },
921 [0x08728] = { [0x0FE00] = 0x2F9BC },
922 [0x0876B] = { [0x0FE00] = 0x2F9BD },
923 [0x08779] = { [0x0FE00] = 0x0FAB5, [0x0FE01] = 0x2F9BB },
924 [0x08786] = { [0x0FE00] = 0x2F9BE },
925 [0x087BA] = { [0x0FE00] = 0x0F911 },
926 [0x087E1] = { [0x0FE00] = 0x2F9C0 },
927 [0x08801] = { [0x0FE00] = 0x2F9C1 },
928 [0x0881F] = { [0x0FE00] = 0x0F927 },
929 [0x0884C] = { [0x0FE00] = 0x0FA08 },
930 [0x08860] = { [0x0FE00] = 0x2F9C3 },
931 [0x08863] = { [0x0FE00] = 0x2F9C4 },
932 [0x088C2] = { [0x0FE00] = 0x0F9A0 },
933 [0x088CF] = { [0x0FE00] = 0x0F9E7 },
934 [0x088D7] = { [0x0FE00] = 0x2F9C6 },
935 [0x088DE] = { [0x0FE00] = 0x2F9C7 },
936 [0x088E1] = { [0x0FE00] = 0x0F9E8 },
937 [0x088F8] = { [0x0FE00] = 0x0F912 },
938 [0x088FA] = { [0x0FE00] = 0x2F9C9 },
939 [0x08910] = { [0x0FE00] = 0x0FA60 },
940 [0x08941] = { [0x0FE00] = 0x0FAB6 },
941 [0x08964] = { [0x0FE00] = 0x0F924 },
942 [0x08986] = { [0x0FE00] = 0x0FAB7 },
943 [0x0898B] = { [0x0FE00] = 0x0FA0A },
944 [0x08996] = { [0x0FE00] = 0x0FA61, [0x0FE01] = 0x0FAB8 },
945 [0x08AA0] = { [0x0FE00] = 0x2F9CF },
946 [0x08AAA] = { [0x0FE00] = 0x0F96F, [0x0FE01] = 0x0F9A1 },
947 [0x08ABF] = { [0x0FE00] = 0x0FAB9 },
948 [0x08ACB] = { [0x0FE00] = 0x0FABB },
949 [0x08AD2] = { [0x0FE00] = 0x0F97D },
950 [0x08AD6] = { [0x0FE00] = 0x0F941 },
951 [0x08AED] = { [0x0FE00] = 0x0FABE, [0x0FE01] = 0x2F9D0 },
952 [0x08AF8] = { [0x0FE00] = 0x0FA22, [0x0FE01] = 0x0FABA },
953 [0x08AFE] = { [0x0FE00] = 0x0F95D, [0x0FE01] = 0x0FABD },
954 [0x08B01] = { [0x0FE00] = 0x0FA62, [0x0FE01] = 0x0FABC },
955 [0x08B39] = { [0x0FE00] = 0x0FA63, [0x0FE01] = 0x0FABF },
956 [0x08B58] = { [0x0FE00] = 0x0F9FC },
957 [0x08B80] = { [0x0FE00] = 0x0F95A },
958 [0x08B8A] = { [0x0FE00] = 0x0FAC0, [0x0FE01] = 0x2F9D1 },
959 [0x08C48] = { [0x0FE00] = 0x0F900 },
960 [0x08C55] = { [0x0FE00] = 0x2F9D2 },
961 [0x08CAB] = { [0x0FE00] = 0x2F9D4 },
962 [0x08CC1] = { [0x0FE00] = 0x2F9D5 },
963 [0x08CC2] = { [0x0FE00] = 0x0F948 },
964 [0x08CC8] = { [0x0FE00] = 0x0F903 },
965 [0x08CD3] = { [0x0FE00] = 0x0FA64 },
966 [0x08D08] = { [0x0FE00] = 0x0FA65, [0x0FE01] = 0x0FAC1 },
967 [0x08D1B] = { [0x0FE00] = 0x2F9D6 },
968 [0x08D77] = { [0x0FE00] = 0x2F9D7 },
969 [0x08DBC] = { [0x0FE00] = 0x2F9DB },
970 [0x08DCB] = { [0x0FE00] = 0x2F9DA },
971 [0x08DEF] = { [0x0FE00] = 0x0F937 },
972 [0x08DF0] = { [0x0FE00] = 0x2F9DC },
973 [0x08ECA] = { [0x0FE00] = 0x0F902 },
974 [0x08ED4] = { [0x0FE00] = 0x2F9DE },
975 [0x08F26] = { [0x0FE00] = 0x0F998 },
976 [0x08F2A] = { [0x0FE00] = 0x0F9D7 },
977 [0x08F38] = { [0x0FE00] = 0x0FAC2, [0x0FE01] = 0x2F9DF },
978 [0x08F3B] = { [0x0FE00] = 0x0FA07 },
979 [0x08F62] = { [0x0FE00] = 0x0F98D },
980 [0x08F9E] = { [0x0FE00] = 0x2F98D },
981 [0x08FB0] = { [0x0FE00] = 0x0F971 },
982 [0x08FB6] = { [0x0FE00] = 0x0FA66 },
983 [0x09023] = { [0x0FE00] = 0x0F99A },
984 [0x09038] = { [0x0FE00] = 0x0FA25, [0x0FE01] = 0x0FA67 },
985 [0x09072] = { [0x0FE00] = 0x0FAC3 },
986 [0x0907C] = { [0x0FE00] = 0x0F9C3 },
987 [0x0908F] = { [0x0FE00] = 0x0F913 },
988 [0x09094] = { [0x0FE00] = 0x2F9E2 },
989 [0x090CE] = { [0x0FE00] = 0x0F92C },
990 [0x090DE] = { [0x0FE00] = 0x0FA2E },
991 [0x090F1] = { [0x0FE00] = 0x2F9E3 },
992 [0x090FD] = { [0x0FE00] = 0x0FA26 },
993 [0x09111] = { [0x0FE00] = 0x2F9E4 },
994 [0x0911B] = { [0x0FE00] = 0x2F9E6 },
995 [0x0916A] = { [0x0FE00] = 0x0F919 },
996 [0x09199] = { [0x0FE00] = 0x0FAC4 },
997 [0x091B4] = { [0x0FE00] = 0x0F9B7 },
998 [0x091CC] = { [0x0FE00] = 0x0F9E9 },
999 [0x091CF] = { [0x0FE00] = 0x0F97E },
1000 [0x091D1] = { [0x0FE00] = 0x0F90A },
1001 [0x09234] = { [0x0FE00] = 0x0F9B1 },
1002 [0x09238] = { [0x0FE00] = 0x2F9E7 },
1003 [0x09276] = { [0x0FE00] = 0x0FAC5 },
1004 [0x0927C] = { [0x0FE00] = 0x2F9EA },
1005 [0x092D7] = { [0x0FE00] = 0x2F9E8 },
1006 [0x092D8] = { [0x0FE00] = 0x2F9E9 },
1007 [0x09304] = { [0x0FE00] = 0x0F93F },
1008 [0x0934A] = { [0x0FE00] = 0x0F99B },
1009 [0x093F9] = { [0x0FE00] = 0x2F9EB },
1010 [0x09415] = { [0x0FE00] = 0x2F9EC },
1011 [0x0958B] = { [0x0FE00] = 0x2F9EE },
1012 [0x095AD] = { [0x0FE00] = 0x0F986 },
1013 [0x095B7] = { [0x0FE00] = 0x2F9F0 },
1014 [0x0962E] = { [0x0FE00] = 0x0F9C6 },
1015 [0x0964B] = { [0x0FE00] = 0x0F951 },
1016 [0x0964D] = { [0x0FE00] = 0x0FA09 },
1017 [0x09675] = { [0x0FE00] = 0x0F959 },
1018 [0x09678] = { [0x0FE00] = 0x0F9D3 },
1019 [0x0967C] = { [0x0FE00] = 0x0FAC6 },
1020 [0x09686] = { [0x0FE00] = 0x0F9DC },
1021 [0x096A3] = { [0x0FE00] = 0x0F9F1 },
1022 [0x096B7] = { [0x0FE00] = 0x0FA2F },
1023 [0x096B8] = { [0x0FE00] = 0x0F9B8 },
1024 [0x096C3] = { [0x0FE00] = 0x2F9F3 },
1025 [0x096E2] = { [0x0FE00] = 0x0F9EA },
1026 [0x096E3] = { [0x0FE00] = 0x0FA68, [0x0FE01] = 0x0FAC7 },
1027 [0x096F6] = { [0x0FE00] = 0x0F9B2 },
1028 [0x096F7] = { [0x0FE00] = 0x0F949 },
1029 [0x09723] = { [0x0FE00] = 0x2F9F5 },
1030 [0x09732] = { [0x0FE00] = 0x0F938 },
1031 [0x09748] = { [0x0FE00] = 0x0F9B3 },
1032 [0x09756] = { [0x0FE00] = 0x0FA1C, [0x0FE01] = 0x0FAC8 },
1033 [0x097DB] = { [0x0FE00] = 0x0FAC9 },
1034 [0x097E0] = { [0x0FE00] = 0x2F9FA },
1035 [0x097FF] = { [0x0FE00] = 0x0FA69, [0x0FE01] = 0x0FACA },
1036 [0x0980B] = { [0x0FE00] = 0x0FACB, [0x0FE01] = 0x2F9FE, [0x0FE02] = 0x2F9FF },
1037 [0x09818] = { [0x0FE00] = 0x0F9B4 },
1038 [0x09829] = { [0x0FE00] = 0x2FA00 },
1039 [0x0983B] = { [0x0FE00] = 0x0FA6A, [0x0FE01] = 0x0FACC },
1040 [0x0985E] = { [0x0FE00] = 0x0F9D0 },
1041 [0x098E2] = { [0x0FE00] = 0x2FA02 },
1042 [0x098EF] = { [0x0FE00] = 0x0FA2A },
1043 [0x098FC] = { [0x0FE00] = 0x0FA2B },
1044 [0x09928] = { [0x0FE00] = 0x0FA2C },
1045 [0x09929] = { [0x0FE00] = 0x2FA04 },
1046 [0x099A7] = { [0x0FE00] = 0x2FA05 },
1047 [0x099C2] = { [0x0FE00] = 0x2FA06 },
1048 [0x099F1] = { [0x0FE00] = 0x0F91A },
1049 [0x099FE] = { [0x0FE00] = 0x2FA07 },
1050 [0x09A6A] = { [0x0FE00] = 0x0F987 },
1051 [0x09B12] = { [0x0FE00] = 0x0FACD, [0x0FE01] = 0x2FA0A },
1052 [0x09B6F] = { [0x0FE00] = 0x0F939 },
1053 [0x09C40] = { [0x0FE00] = 0x2FA0B },
1054 [0x09C57] = { [0x0FE00] = 0x0F9F2 },
1055 [0x09CFD] = { [0x0FE00] = 0x2FA0C },
1056 [0x09D67] = { [0x0FE00] = 0x2FA0F },
1057 [0x09DB4] = { [0x0FE00] = 0x0FA2D },
1058 [0x09DFA] = { [0x0FE00] = 0x0F93A },
1059 [0x09E1E] = { [0x0FE00] = 0x0F920 },
1060 [0x09E7F] = { [0x0FE00] = 0x0F940 },
1061 [0x09E97] = { [0x0FE00] = 0x0F988 },
1062 [0x09E9F] = { [0x0FE00] = 0x0F9F3 },
1063 [0x09EBB] = { [0x0FE00] = 0x2FA15 },
1064 [0x09ECE] = { [0x0FE00] = 0x0F989 },
1065 [0x09EF9] = { [0x0FE00] = 0x2FA17 },
1066 [0x09EFE] = { [0x0FE00] = 0x2FA18 },
1067 [0x09F05] = { [0x0FE00] = 0x2FA19 },
1068 [0x09F0F] = { [0x0FE00] = 0x2FA1A },
1069 [0x09F16] = { [0x0FE00] = 0x2FA1B },
1070 [0x09F3B] = { [0x0FE00] = 0x2FA1C },
1071 [0x09F43] = { [0x0FE00] = 0x0FAD8 },
1072 [0x09F8D] = { [0x0FE00] = 0x0F9C4 },
1073 [0x09F8E] = { [0x0FE00] = 0x0FAD9 },
1074 [0x09F9C] = { [0x0FE00] = 0x0F907, [0x0FE01] = 0x0F908, [0x0FE02] = 0x0FACE },
1075 [0x20122] = { [0x0FE00] = 0x2F803 },
1076 [0x2051C] = { [0x0FE00] = 0x2F812 },
1077 [0x20525] = { [0x0FE00] = 0x2F91B },
1078 [0x2054B] = { [0x0FE00] = 0x2F816 },
1079 [0x2063A] = { [0x0FE00] = 0x2F80D },
1080 [0x20804] = { [0x0FE00] = 0x2F9D9 },
1081 [0x208DE] = { [0x0FE00] = 0x2F9DD },
1082 [0x20A2C] = { [0x0FE00] = 0x2F834 },
1083 [0x20B63] = { [0x0FE00] = 0x2F838 },
1084 [0x214E4] = { [0x0FE00] = 0x2F859 },
1085 [0x216A8] = { [0x0FE00] = 0x2F860 },
1086 [0x216EA] = { [0x0FE00] = 0x2F861 },
1087 [0x219C8] = { [0x0FE00] = 0x2F86C },
1088 [0x21B18] = { [0x0FE00] = 0x2F871 },
1089 [0x21D0B] = { [0x0FE00] = 0x2F8F8 },
1090 [0x21DE4] = { [0x0FE00] = 0x2F87B },
1091 [0x21DE6] = { [0x0FE00] = 0x2F87D },
1092 [0x22183] = { [0x0FE00] = 0x2F889 },
1093 [0x2219F] = { [0x0FE00] = 0x2F939 },
1094 [0x22331] = { [0x0FE00] = 0x2F891, [0x0FE01] = 0x2F892 },
1095 [0x226D4] = { [0x0FE00] = 0x2F8A4 },
1096 [0x22844] = { [0x0FE00] = 0x0FAD0 },
1097 [0x2284A] = { [0x0FE00] = 0x0FACF },
1098 [0x22B0C] = { [0x0FE00] = 0x2F8B8 },
1099 [0x22BF1] = { [0x0FE00] = 0x2F8BE },
1100 [0x2300A] = { [0x0FE00] = 0x2F8CA },
1101 [0x232B8] = { [0x0FE00] = 0x2F897 },
1102 [0x2335F] = { [0x0FE00] = 0x2F980 },
1103 [0x23393] = { [0x0FE00] = 0x2F989 },
1104 [0x2339C] = { [0x0FE00] = 0x2F98A },
1105 [0x233C3] = { [0x0FE00] = 0x2F8DD },
1106 [0x233D5] = { [0x0FE00] = 0x0FAD1 },
1107 [0x2346D] = { [0x0FE00] = 0x2F8E3 },
1108 [0x236A3] = { [0x0FE00] = 0x2F8EC },
1109 [0x238A7] = { [0x0FE00] = 0x2F8F0 },
1110 [0x23A8D] = { [0x0FE00] = 0x2F8F7 },
1111 [0x23AFA] = { [0x0FE00] = 0x2F8F9 },
1112 [0x23CBC] = { [0x0FE00] = 0x2F8FB },
1113 [0x23D1E] = { [0x0FE00] = 0x2F906 },
1114 [0x23ED1] = { [0x0FE00] = 0x2F90D },
1115 [0x23F5E] = { [0x0FE00] = 0x2F910 },
1116 [0x23F8E] = { [0x0FE00] = 0x2F911 },
1117 [0x24263] = { [0x0FE00] = 0x2F91D },
1118 [0x242EE] = { [0x0FE00] = 0x0FA6C },
1119 [0x243AB] = { [0x0FE00] = 0x2F91F },
1120 [0x24608] = { [0x0FE00] = 0x2F923 },
1121 [0x24735] = { [0x0FE00] = 0x2F926 },
1122 [0x24814] = { [0x0FE00] = 0x2F927 },
1123 [0x24C36] = { [0x0FE00] = 0x2F935 },
1124 [0x24C92] = { [0x0FE00] = 0x2F937 },
1125 [0x24FA1] = { [0x0FE00] = 0x2F93B },
1126 [0x24FB8] = { [0x0FE00] = 0x2F93C },
1127 [0x25044] = { [0x0FE00] = 0x2F93D },
1128 [0x250F2] = { [0x0FE00] = 0x2F942 },
1129 [0x250F3] = { [0x0FE00] = 0x2F941 },
1130 [0x25119] = { [0x0FE00] = 0x2F943 },
1131 [0x25133] = { [0x0FE00] = 0x2F944 },
1132 [0x25249] = { [0x0FE00] = 0x0FAD5 },
1133 [0x2541D] = { [0x0FE00] = 0x2F94D },
1134 [0x25626] = { [0x0FE00] = 0x2F952 },
1135 [0x2569A] = { [0x0FE00] = 0x2F954 },
1136 [0x256C5] = { [0x0FE00] = 0x2F955 },
1137 [0x2597C] = { [0x0FE00] = 0x2F95C },
1138 [0x25AA7] = { [0x0FE00] = 0x2F95D, [0x0FE01] = 0x2F95E },
1139 [0x25BAB] = { [0x0FE00] = 0x2F961 },
1140 [0x25C80] = { [0x0FE00] = 0x2F965 },
1141 [0x25CD0] = { [0x0FE00] = 0x0FAD6 },
1142 [0x25F86] = { [0x0FE00] = 0x2F96B },
1143 [0x261DA] = { [0x0FE00] = 0x2F898 },
1144 [0x26228] = { [0x0FE00] = 0x2F972 },
1145 [0x26247] = { [0x0FE00] = 0x2F973 },
1146 [0x262D9] = { [0x0FE00] = 0x2F975 },
1147 [0x2633E] = { [0x0FE00] = 0x2F977 },
1148 [0x264DA] = { [0x0FE00] = 0x2F97B },
1149 [0x26523] = { [0x0FE00] = 0x2F97C },
1150 [0x265A8] = { [0x0FE00] = 0x2F97E },
1151 [0x267A7] = { [0x0FE00] = 0x2F987 },
1152 [0x267B5] = { [0x0FE00] = 0x2F988 },
1153 [0x26B3C] = { [0x0FE00] = 0x2F997 },
1154 [0x26C36] = { [0x0FE00] = 0x2F9A4 },
1155 [0x26CD5] = { [0x0FE00] = 0x2F9A6 },
1156 [0x26D6B] = { [0x0FE00] = 0x2F9A5 },
1157 [0x26F2C] = { [0x0FE00] = 0x2F9AD },
1158 [0x26FB1] = { [0x0FE00] = 0x2F9B0 },
1159 [0x270D2] = { [0x0FE00] = 0x2F9B1 },
1160 [0x273CA] = { [0x0FE00] = 0x2F9AB },
1161 [0x27667] = { [0x0FE00] = 0x2F9C5 },
1162 [0x278AE] = { [0x0FE00] = 0x2F9CB },
1163 [0x27966] = { [0x0FE00] = 0x2F9CC },
1164 [0x27CA8] = { [0x0FE00] = 0x2F9D3 },
1165 [0x27ED3] = { [0x0FE00] = 0x0FAD7 },
1166 [0x27F2F] = { [0x0FE00] = 0x2F9D8 },
1167 [0x285D2] = { [0x0FE00] = 0x2F9E0 },
1168 [0x285ED] = { [0x0FE00] = 0x2F9E1 },
1169 [0x2872E] = { [0x0FE00] = 0x2F9E5 },
1170 [0x28BFA] = { [0x0FE00] = 0x2F9ED },
1171 [0x28D77] = { [0x0FE00] = 0x2F9F1 },
1172 [0x29145] = { [0x0FE00] = 0x2F9F6 },
1173 [0x291DF] = { [0x0FE00] = 0x2F81C },
1174 [0x2921A] = { [0x0FE00] = 0x2F9F7 },
1175 [0x2940A] = { [0x0FE00] = 0x2F9FB },
1176 [0x29496] = { [0x0FE00] = 0x2F9FD },
1177 [0x295B6] = { [0x0FE00] = 0x2FA01 },
1178 [0x29B30] = { [0x0FE00] = 0x2FA09 },
1179 [0x2A0CE] = { [0x0FE00] = 0x2FA10 },
1180 [0x2A105] = { [0x0FE00] = 0x2FA12 },
1181 [0x2A20E] = { [0x0FE00] = 0x2FA13 },
1182 [0x2A291] = { [0x0FE00] = 0x2FA14 },
1183 [0x2A392] = { [0x0FE00] = 0x2F88F },
1184 [0x2A600] = { [0x0FE00] = 0x2FA1D },
1185}
1186
1187local cjk_ideograph_metatable = {
1188 __index = {
1189 category = "lo",
1190 cjkwd = "w",
1191 description = "<CJK Ideograph>",
1192 direction = "l",
1193 linebreak = "id",
1194 }
1195}
1196
1197local f_variant_name = formatters["CJK COMPATIBILITY IDEOGRAPH-%X"]
1198
1199local variants = setmetatableindex(function(t,k)
1200 local kv = knownvariants[k]
1201 if kv then
1202 for k, v in next, kv do
1203 kv[k] = f_variant_name(v)
1204 end
1205 end
1206 knownvariants[k] = nil
1207 return kv
1208end)
1209
1210local cjk_ideograph_extender = function(k)
1211 local t = {
1212
1213 unicodeslot = k,
1214 variants = variants[k],
1215 }
1216 setmetatable(t,cjk_ideograph_metatable)
1217 return t
1218end
1219
1220local cjk_ideograph_range = {
1221 name = "cjk ideograph",
1222 first = 0x4E00,
1223 last = 0x9FBB,
1224 extender = cjk_ideograph_extender,
1225}
1226
1227
1228
1229local cjk_ideograph_extension_a_metatable = {
1230 __index = {
1231 category = "lo",
1232 cjkwd = "w",
1233 description = "<CJK Ideograph Extension A>",
1234 direction = "l",
1235 linebreak = "id",
1236 }
1237}
1238
1239local cjk_ideograph_extension_a_extender = function(k)
1240 local t = {
1241
1242 unicodeslot = k,
1243 variants = variants[k],
1244 }
1245 setmetatable(t,cjk_ideograph_extension_a_metatable)
1246 return t
1247end
1248
1249local cjk_ideograph_extension_a_range = {
1250 name = "cjk ideograph extension a",
1251 first = 0x3400,
1252 last = 0x4DB5,
1253 extender = cjk_ideograph_extension_a_extender,
1254}
1255
1256
1257
1258local cjk_ideograph_extension_b_metatable = {
1259 __index = {
1260 category = "lo",
1261 cjkwd = "w",
1262 description = "<CJK Ideograph Extension B>",
1263 direction = "l",
1264 linebreak = "id",
1265 }
1266}
1267
1268local cjk_ideograph_extension_b_extender = function(k)
1269 local t = {
1270
1271 unicodeslot = k,
1272 variants = variants[k],
1273 }
1274 setmetatable(t,cjk_ideograph_extension_b_metatable)
1275 return t
1276end
1277
1278local cjk_ideograph_extension_b_range = {
1279 name = "cjk ideograph extension b",
1280 first = 0x20000,
1281 last = 0x2A6D6,
1282 extender = cjk_ideograph_extension_b_extender,
1283}
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317insert(ranges, hangul_syllable_range)
1318insert(ranges, cjk_ideograph_range)
1319insert(ranges, cjk_ideograph_extension_a_range)
1320insert(ranges, cjk_ideograph_extension_b_range)
1321
1322 |