1 /**********************************************************************
2 unicode.c - Oniguruma (regular expression library)
3 **********************************************************************/
4 /*-
5 * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30 #include "regint.h"
31
32 #define ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code,ctype) \
33 ((EncUNICODE_ISO_8859_1_CtypeTable[code] & CTYPE_TO_BIT(ctype)) != 0)
34 #if 0
35 #define ONIGENC_IS_UNICODE_ISO_8859_1_BIT_CTYPE(code,cbit) \
36 ((EncUNICODE_ISO_8859_1_CtypeTable[code] & (cbit)) != 0)
37 #endif
38
39 static const unsigned short EncUNICODE_ISO_8859_1_CtypeTable[256] = {
40 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
41 0x4008, 0x428c, 0x4289, 0x4288, 0x4288, 0x4288, 0x4008, 0x4008,
42 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
43 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008, 0x4008,
44 0x4284, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
45 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
46 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0, 0x78b0,
47 0x78b0, 0x78b0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x41a0,
48 0x41a0, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x7ca2, 0x74a2,
49 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
50 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2, 0x74a2,
51 0x74a2, 0x74a2, 0x74a2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x51a0,
52 0x41a0, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x78e2, 0x70e2,
53 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
54 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2, 0x70e2,
55 0x70e2, 0x70e2, 0x70e2, 0x41a0, 0x41a0, 0x41a0, 0x41a0, 0x4008,
56 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0288, 0x0008, 0x0008,
57 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
58 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
59 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
60 0x0284, 0x01a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0,
61 0x00a0, 0x00a0, 0x30e2, 0x01a0, 0x00a0, 0x00a8, 0x00a0, 0x00a0,
62 0x00a0, 0x00a0, 0x10a0, 0x10a0, 0x00a0, 0x30e2, 0x00a0, 0x01a0,
63 0x00a0, 0x10a0, 0x30e2, 0x01a0, 0x10a0, 0x10a0, 0x10a0, 0x01a0,
64 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2,
65 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2,
66 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x00a0,
67 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x34a2, 0x30e2,
68 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2,
69 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2,
70 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x00a0,
71 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2, 0x30e2
72 };
73
74 /* 'NEWLINE' */
75 static const OnigCodePoint CR_NEWLINE[] = {
76 1,
77 0x000a, 0x000a
78 }; /* CR_NEWLINE */
79
80 /* 'Alpha': [[:Alpha:]] */
81 static const OnigCodePoint CR_Alpha[] = {
82 418,
83 0x0041, 0x005a,
84 0x0061, 0x007a,
85 0x00aa, 0x00aa,
86 0x00b5, 0x00b5,
87 0x00ba, 0x00ba,
88 0x00c0, 0x00d6,
89 0x00d8, 0x00f6,
90 0x00f8, 0x0241,
91 0x0250, 0x02c1,
92 0x02c6, 0x02d1,
93 0x02e0, 0x02e4,
94 0x02ee, 0x02ee,
95 0x0300, 0x036f,
96 0x037a, 0x037a,
97 0x0386, 0x0386,
98 0x0388, 0x038a,
99 0x038c, 0x038c,
100 0x038e, 0x03a1,
101 0x03a3, 0x03ce,
102 0x03d0, 0x03f5,
103 0x03f7, 0x0481,
104 0x0483, 0x0486,
105 0x0488, 0x04ce,
106 0x04d0, 0x04f9,
107 0x0500, 0x050f,
108 0x0531, 0x0556,
109 0x0559, 0x0559,
110 0x0561, 0x0587,
111 0x0591, 0x05b9,
112 0x05bb, 0x05bd,
113 0x05bf, 0x05bf,
114 0x05c1, 0x05c2,
115 0x05c4, 0x05c5,
116 0x05c7, 0x05c7,
117 0x05d0, 0x05ea,
118 0x05f0, 0x05f2,
119 0x0610, 0x0615,
120 0x0621, 0x063a,
121 0x0640, 0x065e,
122 0x066e, 0x06d3,
123 0x06d5, 0x06dc,
124 0x06de, 0x06e8,
125 0x06ea, 0x06ef,
126 0x06fa, 0x06fc,
127 0x06ff, 0x06ff,
128 0x0710, 0x074a,
129 0x074d, 0x076d,
130 0x0780, 0x07b1,
131 0x0901, 0x0939,
132 0x093c, 0x094d,
133 0x0950, 0x0954,
134 0x0958, 0x0963,
135 0x097d, 0x097d,
136 0x0981, 0x0983,
137 0x0985, 0x098c,
138 0x098f, 0x0990,
139 0x0993, 0x09a8,
140 0x09aa, 0x09b0,
141 0x09b2, 0x09b2,
142 0x09b6, 0x09b9,
143 0x09bc, 0x09c4,
144 0x09c7, 0x09c8,
145 0x09cb, 0x09ce,
146 0x09d7, 0x09d7,
147 0x09dc, 0x09dd,
148 0x09df, 0x09e3,
149 0x09f0, 0x09f1,
150 0x0a01, 0x0a03,
151 0x0a05, 0x0a0a,
152 0x0a0f, 0x0a10,
153 0x0a13, 0x0a28,
154 0x0a2a, 0x0a30,
155 0x0a32, 0x0a33,
156 0x0a35, 0x0a36,
157 0x0a38, 0x0a39,
158 0x0a3c, 0x0a3c,
159 0x0a3e, 0x0a42,
160 0x0a47, 0x0a48,
161 0x0a4b, 0x0a4d,
162 0x0a59, 0x0a5c,
163 0x0a5e, 0x0a5e,
164 0x0a70, 0x0a74,
165 0x0a81, 0x0a83,
166 0x0a85, 0x0a8d,
167 0x0a8f, 0x0a91,
168 0x0a93, 0x0aa8,
169 0x0aaa, 0x0ab0,
170 0x0ab2, 0x0ab3,
171 0x0ab5, 0x0ab9,
172 0x0abc, 0x0ac5,
173 0x0ac7, 0x0ac9,
174 0x0acb, 0x0acd,
175 0x0ad0, 0x0ad0,
176 0x0ae0, 0x0ae3,
177 0x0b01, 0x0b03,
178 0x0b05, 0x0b0c,
179 0x0b0f, 0x0b10,
180 0x0b13, 0x0b28,
181 0x0b2a, 0x0b30,
182 0x0b32, 0x0b33,
183 0x0b35, 0x0b39,
184 0x0b3c, 0x0b43,
185 0x0b47, 0x0b48,
186 0x0b4b, 0x0b4d,
187 0x0b56, 0x0b57,
188 0x0b5c, 0x0b5d,
189 0x0b5f, 0x0b61,
190 0x0b71, 0x0b71,
191 0x0b82, 0x0b83,
192 0x0b85, 0x0b8a,
193 0x0b8e, 0x0b90,
194 0x0b92, 0x0b95,
195 0x0b99, 0x0b9a,
196 0x0b9c, 0x0b9c,
197 0x0b9e, 0x0b9f,
198 0x0ba3, 0x0ba4,
199 0x0ba8, 0x0baa,
200 0x0bae, 0x0bb9,
201 0x0bbe, 0x0bc2,
202 0x0bc6, 0x0bc8,
203 0x0bca, 0x0bcd,
204 0x0bd7, 0x0bd7,
205 0x0c01, 0x0c03,
206 0x0c05, 0x0c0c,
207 0x0c0e, 0x0c10,
208 0x0c12, 0x0c28,
209 0x0c2a, 0x0c33,
210 0x0c35, 0x0c39,
211 0x0c3e, 0x0c44,
212 0x0c46, 0x0c48,
213 0x0c4a, 0x0c4d,
214 0x0c55, 0x0c56,
215 0x0c60, 0x0c61,
216 0x0c82, 0x0c83,
217 0x0c85, 0x0c8c,
218 0x0c8e, 0x0c90,
219 0x0c92, 0x0ca8,
220 0x0caa, 0x0cb3,
221 0x0cb5, 0x0cb9,
222 0x0cbc, 0x0cc4,
223 0x0cc6, 0x0cc8,
224 0x0cca, 0x0ccd,
225 0x0cd5, 0x0cd6,
226 0x0cde, 0x0cde,
227 0x0ce0, 0x0ce1,
228 0x0d02, 0x0d03,
229 0x0d05, 0x0d0c,
230 0x0d0e, 0x0d10,
231 0x0d12, 0x0d28,
232 0x0d2a, 0x0d39,
233 0x0d3e, 0x0d43,
234 0x0d46, 0x0d48,
235 0x0d4a, 0x0d4d,
236 0x0d57, 0x0d57,
237 0x0d60, 0x0d61,
238 0x0d82, 0x0d83,
239 0x0d85, 0x0d96,
240 0x0d9a, 0x0db1,
241 0x0db3, 0x0dbb,
242 0x0dbd, 0x0dbd,
243 0x0dc0, 0x0dc6,
244 0x0dca, 0x0dca,
245 0x0dcf, 0x0dd4,
246 0x0dd6, 0x0dd6,
247 0x0dd8, 0x0ddf,
248 0x0df2, 0x0df3,
249 0x0e01, 0x0e3a,
250 0x0e40, 0x0e4e,
251 0x0e81, 0x0e82,
252 0x0e84, 0x0e84,
253 0x0e87, 0x0e88,
254 0x0e8a, 0x0e8a,
255 0x0e8d, 0x0e8d,
256 0x0e94, 0x0e97,
257 0x0e99, 0x0e9f,
258 0x0ea1, 0x0ea3,
259 0x0ea5, 0x0ea5,
260 0x0ea7, 0x0ea7,
261 0x0eaa, 0x0eab,
262 0x0ead, 0x0eb9,
263 0x0ebb, 0x0ebd,
264 0x0ec0, 0x0ec4,
265 0x0ec6, 0x0ec6,
266 0x0ec8, 0x0ecd,
267 0x0edc, 0x0edd,
268 0x0f00, 0x0f00,
269 0x0f18, 0x0f19,
270 0x0f35, 0x0f35,
271 0x0f37, 0x0f37,
272 0x0f39, 0x0f39,
273 0x0f3e, 0x0f47,
274 0x0f49, 0x0f6a,
275 0x0f71, 0x0f84,
276 0x0f86, 0x0f8b,
277 0x0f90, 0x0f97,
278 0x0f99, 0x0fbc,
279 0x0fc6, 0x0fc6,
280 0x1000, 0x1021,
281 0x1023, 0x1027,
282 0x1029, 0x102a,
283 0x102c, 0x1032,
284 0x1036, 0x1039,
285 0x1050, 0x1059,
286 0x10a0, 0x10c5,
287 0x10d0, 0x10fa,
288 0x10fc, 0x10fc,
289 0x1100, 0x1159,
290 0x115f, 0x11a2,
291 0x11a8, 0x11f9,
292 0x1200, 0x1248,
293 0x124a, 0x124d,
294 0x1250, 0x1256,
295 0x1258, 0x1258,
296 0x125a, 0x125d,
297 0x1260, 0x1288,
298 0x128a, 0x128d,
299 0x1290, 0x12b0,
300 0x12b2, 0x12b5,
301 0x12b8, 0x12be,
302 0x12c0, 0x12c0,
303 0x12c2, 0x12c5,
304 0x12c8, 0x12d6,
305 0x12d8, 0x1310,
306 0x1312, 0x1315,
307 0x1318, 0x135a,
308 0x135f, 0x135f,
309 0x1380, 0x138f,
310 0x13a0, 0x13f4,
311 0x1401, 0x166c,
312 0x166f, 0x1676,
313 0x1681, 0x169a,
314 0x16a0, 0x16ea,
315 0x1700, 0x170c,
316 0x170e, 0x1714,
317 0x1720, 0x1734,
318 0x1740, 0x1753,
319 0x1760, 0x176c,
320 0x176e, 0x1770,
321 0x1772, 0x1773,
322 0x1780, 0x17b3,
323 0x17b6, 0x17d3,
324 0x17d7, 0x17d7,
325 0x17dc, 0x17dd,
326 0x180b, 0x180d,
327 0x1820, 0x1877,
328 0x1880, 0x18a9,
329 0x1900, 0x191c,
330 0x1920, 0x192b,
331 0x1930, 0x193b,
332 0x1950, 0x196d,
333 0x1970, 0x1974,
334 0x1980, 0x19a9,
335 0x19b0, 0x19c9,
336 0x1a00, 0x1a1b,
337 0x1d00, 0x1dc3,
338 0x1e00, 0x1e9b,
339 0x1ea0, 0x1ef9,
340 0x1f00, 0x1f15,
341 0x1f18, 0x1f1d,
342 0x1f20, 0x1f45,
343 0x1f48, 0x1f4d,
344 0x1f50, 0x1f57,
345 0x1f59, 0x1f59,
346 0x1f5b, 0x1f5b,
347 0x1f5d, 0x1f5d,
348 0x1f5f, 0x1f7d,
349 0x1f80, 0x1fb4,
350 0x1fb6, 0x1fbc,
351 0x1fbe, 0x1fbe,
352 0x1fc2, 0x1fc4,
353 0x1fc6, 0x1fcc,
354 0x1fd0, 0x1fd3,
355 0x1fd6, 0x1fdb,
356 0x1fe0, 0x1fec,
357 0x1ff2, 0x1ff4,
358 0x1ff6, 0x1ffc,
359 0x2071, 0x2071,
360 0x207f, 0x207f,
361 0x2090, 0x2094,
362 0x20d0, 0x20eb,
363 0x2102, 0x2102,
364 0x2107, 0x2107,
365 0x210a, 0x2113,
366 0x2115, 0x2115,
367 0x2119, 0x211d,
368 0x2124, 0x2124,
369 0x2126, 0x2126,
370 0x2128, 0x2128,
371 0x212a, 0x212d,
372 0x212f, 0x2131,
373 0x2133, 0x2139,
374 0x213c, 0x213f,
375 0x2145, 0x2149,
376 0x2c00, 0x2c2e,
377 0x2c30, 0x2c5e,
378 0x2c80, 0x2ce4,
379 0x2d00, 0x2d25,
380 0x2d30, 0x2d65,
381 0x2d6f, 0x2d6f,
382 0x2d80, 0x2d96,
383 0x2da0, 0x2da6,
384 0x2da8, 0x2dae,
385 0x2db0, 0x2db6,
386 0x2db8, 0x2dbe,
387 0x2dc0, 0x2dc6,
388 0x2dc8, 0x2dce,
389 0x2dd0, 0x2dd6,
390 0x2dd8, 0x2dde,
391 0x3005, 0x3006,
392 0x302a, 0x302f,
393 0x3031, 0x3035,
394 0x303b, 0x303c,
395 0x3041, 0x3096,
396 0x3099, 0x309a,
397 0x309d, 0x309f,
398 0x30a1, 0x30fa,
399 0x30fc, 0x30ff,
400 0x3105, 0x312c,
401 0x3131, 0x318e,
402 0x31a0, 0x31b7,
403 0x31f0, 0x31ff,
404 0x3400, 0x4db5,
405 0x4e00, 0x9fbb,
406 0xa000, 0xa48c,
407 0xa800, 0xa827,
408 0xac00, 0xd7a3,
409 0xf900, 0xfa2d,
410 0xfa30, 0xfa6a,
411 0xfa70, 0xfad9,
412 0xfb00, 0xfb06,
413 0xfb13, 0xfb17,
414 0xfb1d, 0xfb28,
415 0xfb2a, 0xfb36,
416 0xfb38, 0xfb3c,
417 0xfb3e, 0xfb3e,
418 0xfb40, 0xfb41,
419 0xfb43, 0xfb44,
420 0xfb46, 0xfbb1,
421 0xfbd3, 0xfd3d,
422 0xfd50, 0xfd8f,
423 0xfd92, 0xfdc7,
424 0xfdf0, 0xfdfb,
425 0xfe00, 0xfe0f,
426 0xfe20, 0xfe23,
427 0xfe70, 0xfe74,
428 0xfe76, 0xfefc,
429 0xff21, 0xff3a,
430 0xff41, 0xff5a,
431 0xff66, 0xffbe,
432 0xffc2, 0xffc7,
433 0xffca, 0xffcf,
434 0xffd2, 0xffd7,
435 0xffda, 0xffdc,
436 0x10000, 0x1000b,
437 0x1000d, 0x10026,
438 0x10028, 0x1003a,
439 0x1003c, 0x1003d,
440 0x1003f, 0x1004d,
441 0x10050, 0x1005d,
442 0x10080, 0x100fa,
443 0x10300, 0x1031e,
444 0x10330, 0x10349,
445 0x10380, 0x1039d,
446 0x103a0, 0x103c3,
447 0x103c8, 0x103cf,
448 0x10400, 0x1049d,
449 0x10800, 0x10805,
450 0x10808, 0x10808,
451 0x1080a, 0x10835,
452 0x10837, 0x10838,
453 0x1083c, 0x1083c,
454 0x1083f, 0x1083f,
455 0x10a00, 0x10a03,
456 0x10a05, 0x10a06,
457 0x10a0c, 0x10a13,
458 0x10a15, 0x10a17,
459 0x10a19, 0x10a33,
460 0x10a38, 0x10a3a,
461 0x10a3f, 0x10a3f,
462 0x1d165, 0x1d169,
463 0x1d16d, 0x1d172,
464 0x1d17b, 0x1d182,
465 0x1d185, 0x1d18b,
466 0x1d1aa, 0x1d1ad,
467 0x1d242, 0x1d244,
468 0x1d400, 0x1d454,
469 0x1d456, 0x1d49c,
470 0x1d49e, 0x1d49f,
471 0x1d4a2, 0x1d4a2,
472 0x1d4a5, 0x1d4a6,
473 0x1d4a9, 0x1d4ac,
474 0x1d4ae, 0x1d4b9,
475 0x1d4bb, 0x1d4bb,
476 0x1d4bd, 0x1d4c3,
477 0x1d4c5, 0x1d505,
478 0x1d507, 0x1d50a,
479 0x1d50d, 0x1d514,
480 0x1d516, 0x1d51c,
481 0x1d51e, 0x1d539,
482 0x1d53b, 0x1d53e,
483 0x1d540, 0x1d544,
484 0x1d546, 0x1d546,
485 0x1d54a, 0x1d550,
486 0x1d552, 0x1d6a5,
487 0x1d6a8, 0x1d6c0,
488 0x1d6c2, 0x1d6da,
489 0x1d6dc, 0x1d6fa,
490 0x1d6fc, 0x1d714,
491 0x1d716, 0x1d734,
492 0x1d736, 0x1d74e,
493 0x1d750, 0x1d76e,
494 0x1d770, 0x1d788,
495 0x1d78a, 0x1d7a8,
496 0x1d7aa, 0x1d7c2,
497 0x1d7c4, 0x1d7c9,
498 0x20000, 0x2a6d6,
499 0x2f800, 0x2fa1d,
500 0xe0100, 0xe01ef
501 }; /* CR_Alpha */
502
503 /* 'Blank': [[:Blank:]] */
504 static const OnigCodePoint CR_Blank[] = {
505 9,
506 0x0009, 0x0009,
507 0x0020, 0x0020,
508 0x00a0, 0x00a0,
509 0x1680, 0x1680,
510 0x180e, 0x180e,
511 0x2000, 0x200a,
512 0x202f, 0x202f,
513 0x205f, 0x205f,
514 0x3000, 0x3000
515 }; /* CR_Blank */
516
517 /* 'Cntrl': [[:Cntrl:]] */
518 static const OnigCodePoint CR_Cntrl[] = {
519 19,
520 0x0000, 0x001f,
521 0x007f, 0x009f,
522 0x00ad, 0x00ad,
523 0x0600, 0x0603,
524 0x06dd, 0x06dd,
525 0x070f, 0x070f,
526 0x17b4, 0x17b5,
527 0x200b, 0x200f,
528 0x202a, 0x202e,
529 0x2060, 0x2063,
530 0x206a, 0x206f,
531 0xd800, 0xf8ff,
532 0xfeff, 0xfeff,
533 0xfff9, 0xfffb,
534 0x1d173, 0x1d17a,
535 0xe0001, 0xe0001,
536 0xe0020, 0xe007f,
537 0xf0000, 0xffffd,
538 0x100000, 0x10fffd
539 }; /* CR_Cntrl */
540
541 /* 'Digit': [[:Digit:]] */
542 static const OnigCodePoint CR_Digit[] = {
543 23,
544 0x0030, 0x0039,
545 0x0660, 0x0669,
546 0x06f0, 0x06f9,
547 0x0966, 0x096f,
548 0x09e6, 0x09ef,
549 0x0a66, 0x0a6f,
550 0x0ae6, 0x0aef,
551 0x0b66, 0x0b6f,
552 0x0be6, 0x0bef,
553 0x0c66, 0x0c6f,
554 0x0ce6, 0x0cef,
555 0x0d66, 0x0d6f,
556 0x0e50, 0x0e59,
557 0x0ed0, 0x0ed9,
558 0x0f20, 0x0f29,
559 0x1040, 0x1049,
560 0x17e0, 0x17e9,
561 0x1810, 0x1819,
562 0x1946, 0x194f,
563 0x19d0, 0x19d9,
564 0xff10, 0xff19,
565 0x104a0, 0x104a9,
566 0x1d7ce, 0x1d7ff
567 }; /* CR_Digit */
568
569 /* 'Graph': [[:Graph:]] */
570 static const OnigCodePoint CR_Graph[] = {
571 424,
572 0x0021, 0x007e,
573 0x00a1, 0x0241,
574 0x0250, 0x036f,
575 0x0374, 0x0375,
576 0x037a, 0x037a,
577 0x037e, 0x037e,
578 0x0384, 0x038a,
579 0x038c, 0x038c,
580 0x038e, 0x03a1,
581 0x03a3, 0x03ce,
582 0x03d0, 0x0486,
583 0x0488, 0x04ce,
584 0x04d0, 0x04f9,
585 0x0500, 0x050f,
586 0x0531, 0x0556,
587 0x0559, 0x055f,
588 0x0561, 0x0587,
589 0x0589, 0x058a,
590 0x0591, 0x05b9,
591 0x05bb, 0x05c7,
592 0x05d0, 0x05ea,
593 0x05f0, 0x05f4,
594 0x0600, 0x0603,
595 0x060b, 0x0615,
596 0x061b, 0x061b,
597 0x061e, 0x061f,
598 0x0621, 0x063a,
599 0x0640, 0x065e,
600 0x0660, 0x070d,
601 0x070f, 0x074a,
602 0x074d, 0x076d,
603 0x0780, 0x07b1,
604 0x0901, 0x0939,
605 0x093c, 0x094d,
606 0x0950, 0x0954,
607 0x0958, 0x0970,
608 0x097d, 0x097d,
609 0x0981, 0x0983,
610 0x0985, 0x098c,
611 0x098f, 0x0990,
612 0x0993, 0x09a8,
613 0x09aa, 0x09b0,
614 0x09b2, 0x09b2,
615 0x09b6, 0x09b9,
616 0x09bc, 0x09c4,
617 0x09c7, 0x09c8,
618 0x09cb, 0x09ce,
619 0x09d7, 0x09d7,
620 0x09dc, 0x09dd,
621 0x09df, 0x09e3,
622 0x09e6, 0x09fa,
623 0x0a01, 0x0a03,
624 0x0a05, 0x0a0a,
625 0x0a0f, 0x0a10,
626 0x0a13, 0x0a28,
627 0x0a2a, 0x0a30,
628 0x0a32, 0x0a33,
629 0x0a35, 0x0a36,
630 0x0a38, 0x0a39,
631 0x0a3c, 0x0a3c,
632 0x0a3e, 0x0a42,
633 0x0a47, 0x0a48,
634 0x0a4b, 0x0a4d,
635 0x0a59, 0x0a5c,
636 0x0a5e, 0x0a5e,
637 0x0a66, 0x0a74,
638 0x0a81, 0x0a83,
639 0x0a85, 0x0a8d,
640 0x0a8f, 0x0a91,
641 0x0a93, 0x0aa8,
642 0x0aaa, 0x0ab0,
643 0x0ab2, 0x0ab3,
644 0x0ab5, 0x0ab9,
645 0x0abc, 0x0ac5,
646 0x0ac7, 0x0ac9,
647 0x0acb, 0x0acd,
648 0x0ad0, 0x0ad0,
649 0x0ae0, 0x0ae3,
650 0x0ae6, 0x0aef,
651 0x0af1, 0x0af1,
652 0x0b01, 0x0b03,
653 0x0b05, 0x0b0c,
654 0x0b0f, 0x0b10,
655 0x0b13, 0x0b28,
656 0x0b2a, 0x0b30,
657 0x0b32, 0x0b33,
658 0x0b35, 0x0b39,
659 0x0b3c, 0x0b43,
660 0x0b47, 0x0b48,
661 0x0b4b, 0x0b4d,
662 0x0b56, 0x0b57,
663 0x0b5c, 0x0b5d,
664 0x0b5f, 0x0b61,
665 0x0b66, 0x0b71,
666 0x0b82, 0x0b83,
667 0x0b85, 0x0b8a,
668 0x0b8e, 0x0b90,
669 0x0b92, 0x0b95,
670 0x0b99, 0x0b9a,
671 0x0b9c, 0x0b9c,
672 0x0b9e, 0x0b9f,
673 0x0ba3, 0x0ba4,
674 0x0ba8, 0x0baa,
675 0x0bae, 0x0bb9,
676 0x0bbe, 0x0bc2,
677 0x0bc6, 0x0bc8,
678 0x0bca, 0x0bcd,
679 0x0bd7, 0x0bd7,
680 0x0be6, 0x0bfa,
681 0x0c01, 0x0c03,
682 0x0c05, 0x0c0c,
683 0x0c0e, 0x0c10,
684 0x0c12, 0x0c28,
685 0x0c2a, 0x0c33,
686 0x0c35, 0x0c39,
687 0x0c3e, 0x0c44,
688 0x0c46, 0x0c48,
689 0x0c4a, 0x0c4d,
690 0x0c55, 0x0c56,
691 0x0c60, 0x0c61,
692 0x0c66, 0x0c6f,
693 0x0c82, 0x0c83,
694 0x0c85, 0x0c8c,
695 0x0c8e, 0x0c90,
696 0x0c92, 0x0ca8,
697 0x0caa, 0x0cb3,
698 0x0cb5, 0x0cb9,
699 0x0cbc, 0x0cc4,
700 0x0cc6, 0x0cc8,
701 0x0cca, 0x0ccd,
702 0x0cd5, 0x0cd6,
703 0x0cde, 0x0cde,
704 0x0ce0, 0x0ce1,
705 0x0ce6, 0x0cef,
706 0x0d02, 0x0d03,
707 0x0d05, 0x0d0c,
708 0x0d0e, 0x0d10,
709 0x0d12, 0x0d28,
710 0x0d2a, 0x0d39,
711 0x0d3e, 0x0d43,
712 0x0d46, 0x0d48,
713 0x0d4a, 0x0d4d,
714 0x0d57, 0x0d57,
715 0x0d60, 0x0d61,
716 0x0d66, 0x0d6f,
717 0x0d82, 0x0d83,
718 0x0d85, 0x0d96,
719 0x0d9a, 0x0db1,
720 0x0db3, 0x0dbb,
721 0x0dbd, 0x0dbd,
722 0x0dc0, 0x0dc6,
723 0x0dca, 0x0dca,
724 0x0dcf, 0x0dd4,
725 0x0dd6, 0x0dd6,
726 0x0dd8, 0x0ddf,
727 0x0df2, 0x0df4,
728 0x0e01, 0x0e3a,
729 0x0e3f, 0x0e5b,
730 0x0e81, 0x0e82,
731 0x0e84, 0x0e84,
732 0x0e87, 0x0e88,
733 0x0e8a, 0x0e8a,
734 0x0e8d, 0x0e8d,
735 0x0e94, 0x0e97,
736 0x0e99, 0x0e9f,
737 0x0ea1, 0x0ea3,
738 0x0ea5, 0x0ea5,
739 0x0ea7, 0x0ea7,
740 0x0eaa, 0x0eab,
741 0x0ead, 0x0eb9,
742 0x0ebb, 0x0ebd,
743 0x0ec0, 0x0ec4,
744 0x0ec6, 0x0ec6,
745 0x0ec8, 0x0ecd,
746 0x0ed0, 0x0ed9,
747 0x0edc, 0x0edd,
748 0x0f00, 0x0f47,
749 0x0f49, 0x0f6a,
750 0x0f71, 0x0f8b,
751 0x0f90, 0x0f97,
752 0x0f99, 0x0fbc,
753 0x0fbe, 0x0fcc,
754 0x0fcf, 0x0fd1,
755 0x1000, 0x1021,
756 0x1023, 0x1027,
757 0x1029, 0x102a,
758 0x102c, 0x1032,
759 0x1036, 0x1039,
760 0x1040, 0x1059,
761 0x10a0, 0x10c5,
762 0x10d0, 0x10fc,
763 0x1100, 0x1159,
764 0x115f, 0x11a2,
765 0x11a8, 0x11f9,
766 0x1200, 0x1248,
767 0x124a, 0x124d,
768 0x1250, 0x1256,
769 0x1258, 0x1258,
770 0x125a, 0x125d,
771 0x1260, 0x1288,
772 0x128a, 0x128d,
773 0x1290, 0x12b0,
774 0x12b2, 0x12b5,
775 0x12b8, 0x12be,
776 0x12c0, 0x12c0,
777 0x12c2, 0x12c5,
778 0x12c8, 0x12d6,
779 0x12d8, 0x1310,
780 0x1312, 0x1315,
781 0x1318, 0x135a,
782 0x135f, 0x137c,
783 0x1380, 0x1399,
784 0x13a0, 0x13f4,
785 0x1401, 0x1676,
786 0x1681, 0x169c,
787 0x16a0, 0x16f0,
788 0x1700, 0x170c,
789 0x170e, 0x1714,
790 0x1720, 0x1736,
791 0x1740, 0x1753,
792 0x1760, 0x176c,
793 0x176e, 0x1770,
794 0x1772, 0x1773,
795 0x1780, 0x17dd,
796 0x17e0, 0x17e9,
797 0x17f0, 0x17f9,
798 0x1800, 0x180d,
799 0x1810, 0x1819,
800 0x1820, 0x1877,
801 0x1880, 0x18a9,
802 0x1900, 0x191c,
803 0x1920, 0x192b,
804 0x1930, 0x193b,
805 0x1940, 0x1940,
806 0x1944, 0x196d,
807 0x1970, 0x1974,
808 0x1980, 0x19a9,
809 0x19b0, 0x19c9,
810 0x19d0, 0x19d9,
811 0x19de, 0x1a1b,
812 0x1a1e, 0x1a1f,
813 0x1d00, 0x1dc3,
814 0x1e00, 0x1e9b,
815 0x1ea0, 0x1ef9,
816 0x1f00, 0x1f15,
817 0x1f18, 0x1f1d,
818 0x1f20, 0x1f45,
819 0x1f48, 0x1f4d,
820 0x1f50, 0x1f57,
821 0x1f59, 0x1f59,
822 0x1f5b, 0x1f5b,
823 0x1f5d, 0x1f5d,
824 0x1f5f, 0x1f7d,
825 0x1f80, 0x1fb4,
826 0x1fb6, 0x1fc4,
827 0x1fc6, 0x1fd3,
828 0x1fd6, 0x1fdb,
829 0x1fdd, 0x1fef,
830 0x1ff2, 0x1ff4,
831 0x1ff6, 0x1ffe,
832 0x200b, 0x2027,
833 0x202a, 0x202e,
834 0x2030, 0x205e,
835 0x2060, 0x2063,
836 0x206a, 0x2071,
837 0x2074, 0x208e,
838 0x2090, 0x2094,
839 0x20a0, 0x20b5,
840 0x20d0, 0x20eb,
841 0x2100, 0x214c,
842 0x2153, 0x2183,
843 0x2190, 0x23db,
844 0x2400, 0x2426,
845 0x2440, 0x244a,
846 0x2460, 0x269c,
847 0x26a0, 0x26b1,
848 0x2701, 0x2704,
849 0x2706, 0x2709,
850 0x270c, 0x2727,
851 0x2729, 0x274b,
852 0x274d, 0x274d,
853 0x274f, 0x2752,
854 0x2756, 0x2756,
855 0x2758, 0x275e,
856 0x2761, 0x2794,
857 0x2798, 0x27af,
858 0x27b1, 0x27be,
859 0x27c0, 0x27c6,
860 0x27d0, 0x27eb,
861 0x27f0, 0x2b13,
862 0x2c00, 0x2c2e,
863 0x2c30, 0x2c5e,
864 0x2c80, 0x2cea,
865 0x2cf9, 0x2d25,
866 0x2d30, 0x2d65,
867 0x2d6f, 0x2d6f,
868 0x2d80, 0x2d96,
869 0x2da0, 0x2da6,
870 0x2da8, 0x2dae,
871 0x2db0, 0x2db6,
872 0x2db8, 0x2dbe,
873 0x2dc0, 0x2dc6,
874 0x2dc8, 0x2dce,
875 0x2dd0, 0x2dd6,
876 0x2dd8, 0x2dde,
877 0x2e00, 0x2e17,
878 0x2e1c, 0x2e1d,
879 0x2e80, 0x2e99,
880 0x2e9b, 0x2ef3,
881 0x2f00, 0x2fd5,
882 0x2ff0, 0x2ffb,
883 0x3001, 0x303f,
884 0x3041, 0x3096,
885 0x3099, 0x30ff,
886 0x3105, 0x312c,
887 0x3131, 0x318e,
888 0x3190, 0x31b7,
889 0x31c0, 0x31cf,
890 0x31f0, 0x321e,
891 0x3220, 0x3243,
892 0x3250, 0x32fe,
893 0x3300, 0x4db5,
894 0x4dc0, 0x9fbb,
895 0xa000, 0xa48c,
896 0xa490, 0xa4c6,
897 0xa700, 0xa716,
898 0xa800, 0xa82b,
899 0xac00, 0xd7a3,
900 0xe000, 0xfa2d,
901 0xfa30, 0xfa6a,
902 0xfa70, 0xfad9,
903 0xfb00, 0xfb06,
904 0xfb13, 0xfb17,
905 0xfb1d, 0xfb36,
906 0xfb38, 0xfb3c,
907 0xfb3e, 0xfb3e,
908 0xfb40, 0xfb41,
909 0xfb43, 0xfb44,
910 0xfb46, 0xfbb1,
911 0xfbd3, 0xfd3f,
912 0xfd50, 0xfd8f,
913 0xfd92, 0xfdc7,
914 0xfdf0, 0xfdfd,
915 0xfe00, 0xfe19,
916 0xfe20, 0xfe23,
917 0xfe30, 0xfe52,
918 0xfe54, 0xfe66,
919 0xfe68, 0xfe6b,
920 0xfe70, 0xfe74,
921 0xfe76, 0xfefc,
922 0xfeff, 0xfeff,
923 0xff01, 0xffbe,
924 0xffc2, 0xffc7,
925 0xffca, 0xffcf,
926 0xffd2, 0xffd7,
927 0xffda, 0xffdc,
928 0xffe0, 0xffe6,
929 0xffe8, 0xffee,
930 0xfff9, 0xfffd,
931 0x10000, 0x1000b,
932 0x1000d, 0x10026,
933 0x10028, 0x1003a,
934 0x1003c, 0x1003d,
935 0x1003f, 0x1004d,
936 0x10050, 0x1005d,
937 0x10080, 0x100fa,
938 0x10100, 0x10102,
939 0x10107, 0x10133,
940 0x10137, 0x1018a,
941 0x10300, 0x1031e,
942 0x10320, 0x10323,
943 0x10330, 0x1034a,
944 0x10380, 0x1039d,
945 0x1039f, 0x103c3,
946 0x103c8, 0x103d5,
947 0x10400, 0x1049d,
948 0x104a0, 0x104a9,
949 0x10800, 0x10805,
950 0x10808, 0x10808,
951 0x1080a, 0x10835,
952 0x10837, 0x10838,
953 0x1083c, 0x1083c,
954 0x1083f, 0x1083f,
955 0x10a00, 0x10a03,
956 0x10a05, 0x10a06,
957 0x10a0c, 0x10a13,
958 0x10a15, 0x10a17,
959 0x10a19, 0x10a33,
960 0x10a38, 0x10a3a,
961 0x10a3f, 0x10a47,
962 0x10a50, 0x10a58,
963 0x1d000, 0x1d0f5,
964 0x1d100, 0x1d126,
965 0x1d12a, 0x1d1dd,
966 0x1d200, 0x1d245,
967 0x1d300, 0x1d356,
968 0x1d400, 0x1d454,
969 0x1d456, 0x1d49c,
970 0x1d49e, 0x1d49f,
971 0x1d4a2, 0x1d4a2,
972 0x1d4a5, 0x1d4a6,
973 0x1d4a9, 0x1d4ac,
974 0x1d4ae, 0x1d4b9,
975 0x1d4bb, 0x1d4bb,
976 0x1d4bd, 0x1d4c3,
977 0x1d4c5, 0x1d505,
978 0x1d507, 0x1d50a,
979 0x1d50d, 0x1d514,
980 0x1d516, 0x1d51c,
981 0x1d51e, 0x1d539,
982 0x1d53b, 0x1d53e,
983 0x1d540, 0x1d544,
984 0x1d546, 0x1d546,
985 0x1d54a, 0x1d550,
986 0x1d552, 0x1d6a5,
987 0x1d6a8, 0x1d7c9,
988 0x1d7ce, 0x1d7ff,
989 0x20000, 0x2a6d6,
990 0x2f800, 0x2fa1d,
991 0xe0001, 0xe0001,
992 0xe0020, 0xe007f,
993 0xe0100, 0xe01ef,
994 0xf0000, 0xffffd,
995 0x100000, 0x10fffd
996 }; /* CR_Graph */
997
998 /* 'Lower': [[:Lower:]] */
999 static const OnigCodePoint CR_Lower[] = {
1000 480,
1001 0x0061, 0x007a,
1002 0x00aa, 0x00aa,
1003 0x00b5, 0x00b5,
1004 0x00ba, 0x00ba,
1005 0x00df, 0x00f6,
1006 0x00f8, 0x00ff,
1007 0x0101, 0x0101,
1008 0x0103, 0x0103,
1009 0x0105, 0x0105,
1010 0x0107, 0x0107,
1011 0x0109, 0x0109,
1012 0x010b, 0x010b,
1013 0x010d, 0x010d,
1014 0x010f, 0x010f,
1015 0x0111, 0x0111,
1016 0x0113, 0x0113,
1017 0x0115, 0x0115,
1018 0x0117, 0x0117,
1019 0x0119, 0x0119,
1020 0x011b, 0x011b,
1021 0x011d, 0x011d,
1022 0x011f, 0x011f,
1023 0x0121, 0x0121,
1024 0x0123, 0x0123,
1025 0x0125, 0x0125,
1026 0x0127, 0x0127,
1027 0x0129, 0x0129,
1028 0x012b, 0x012b,
1029 0x012d, 0x012d,
1030 0x012f, 0x012f,
1031 0x0131, 0x0131,
1032 0x0133, 0x0133,
1033 0x0135, 0x0135,
1034 0x0137, 0x0138,
1035 0x013a, 0x013a,
1036 0x013c, 0x013c,
1037 0x013e, 0x013e,
1038 0x0140, 0x0140,
1039 0x0142, 0x0142,
1040 0x0144, 0x0144,
1041 0x0146, 0x0146,
1042 0x0148, 0x0149,
1043 0x014b, 0x014b,
1044 0x014d, 0x014d,
1045 0x014f, 0x014f,
1046 0x0151, 0x0151,
1047 0x0153, 0x0153,
1048 0x0155, 0x0155,
1049 0x0157, 0x0157,
1050 0x0159, 0x0159,
1051 0x015b, 0x015b,
1052 0x015d, 0x015d,
1053 0x015f, 0x015f,
1054 0x0161, 0x0161,
1055 0x0163, 0x0163,
1056 0x0165, 0x0165,
1057 0x0167, 0x0167,
1058 0x0169, 0x0169,
1059 0x016b, 0x016b,
1060 0x016d, 0x016d,
1061 0x016f, 0x016f,
1062 0x0171, 0x0171,
1063 0x0173, 0x0173,
1064 0x0175, 0x0175,
1065 0x0177, 0x0177,
1066 0x017a, 0x017a,
1067 0x017c, 0x017c,
1068 0x017e, 0x0180,
1069 0x0183, 0x0183,
1070 0x0185, 0x0185,
1071 0x0188, 0x0188,
1072 0x018c, 0x018d,
1073 0x0192, 0x0192,
1074 0x0195, 0x0195,
1075 0x0199, 0x019b,
1076 0x019e, 0x019e,
1077 0x01a1, 0x01a1,
1078 0x01a3, 0x01a3,
1079 0x01a5, 0x01a5,
1080 0x01a8, 0x01a8,
1081 0x01aa, 0x01ab,
1082 0x01ad, 0x01ad,
1083 0x01b0, 0x01b0,
1084 0x01b4, 0x01b4,
1085 0x01b6, 0x01b6,
1086 0x01b9, 0x01ba,
1087 0x01bd, 0x01bf,
1088 0x01c6, 0x01c6,
1089 0x01c9, 0x01c9,
1090 0x01cc, 0x01cc,
1091 0x01ce, 0x01ce,
1092 0x01d0, 0x01d0,
1093 0x01d2, 0x01d2,
1094 0x01d4, 0x01d4,
1095 0x01d6, 0x01d6,
1096 0x01d8, 0x01d8,
1097 0x01da, 0x01da,
1098 0x01dc, 0x01dd,
1099 0x01df, 0x01df,
1100 0x01e1, 0x01e1,
1101 0x01e3, 0x01e3,
1102 0x01e5, 0x01e5,
1103 0x01e7, 0x01e7,
1104 0x01e9, 0x01e9,
1105 0x01eb, 0x01eb,
1106 0x01ed, 0x01ed,
1107 0x01ef, 0x01f0,
1108 0x01f3, 0x01f3,
1109 0x01f5, 0x01f5,
1110 0x01f9, 0x01f9,
1111 0x01fb, 0x01fb,
1112 0x01fd, 0x01fd,
1113 0x01ff, 0x01ff,
1114 0x0201, 0x0201,
1115 0x0203, 0x0203,
1116 0x0205, 0x0205,
1117 0x0207, 0x0207,
1118 0x0209, 0x0209,
1119 0x020b, 0x020b,
1120 0x020d, 0x020d,
1121 0x020f, 0x020f,
1122 0x0211, 0x0211,
1123 0x0213, 0x0213,
1124 0x0215, 0x0215,
1125 0x0217, 0x0217,
1126 0x0219, 0x0219,
1127 0x021b, 0x021b,
1128 0x021d, 0x021d,
1129 0x021f, 0x021f,
1130 0x0221, 0x0221,
1131 0x0223, 0x0223,
1132 0x0225, 0x0225,
1133 0x0227, 0x0227,
1134 0x0229, 0x0229,
1135 0x022b, 0x022b,
1136 0x022d, 0x022d,
1137 0x022f, 0x022f,
1138 0x0231, 0x0231,
1139 0x0233, 0x0239,
1140 0x023c, 0x023c,
1141 0x023f, 0x0240,
1142 0x0250, 0x02af,
1143 0x0390, 0x0390,
1144 0x03ac, 0x03ce,
1145 0x03d0, 0x03d1,
1146 0x03d5, 0x03d7,
1147 0x03d9, 0x03d9,
1148 0x03db, 0x03db,
1149 0x03dd, 0x03dd,
1150 0x03df, 0x03df,
1151 0x03e1, 0x03e1,
1152 0x03e3, 0x03e3,
1153 0x03e5, 0x03e5,
1154 0x03e7, 0x03e7,
1155 0x03e9, 0x03e9,
1156 0x03eb, 0x03eb,
1157 0x03ed, 0x03ed,
1158 0x03ef, 0x03f3,
1159 0x03f5, 0x03f5,
1160 0x03f8, 0x03f8,
1161 0x03fb, 0x03fc,
1162 0x0430, 0x045f,
1163 0x0461, 0x0461,
1164 0x0463, 0x0463,
1165 0x0465, 0x0465,
1166 0x0467, 0x0467,
1167 0x0469, 0x0469,
1168 0x046b, 0x046b,
1169 0x046d, 0x046d,
1170 0x046f, 0x046f,
1171 0x0471, 0x0471,
1172 0x0473, 0x0473,
1173 0x0475, 0x0475,
1174 0x0477, 0x0477,
1175 0x0479, 0x0479,
1176 0x047b, 0x047b,
1177 0x047d, 0x047d,
1178 0x047f, 0x047f,
1179 0x0481, 0x0481,
1180 0x048b, 0x048b,
1181 0x048d, 0x048d,
1182 0x048f, 0x048f,
1183 0x0491, 0x0491,
1184 0x0493, 0x0493,
1185 0x0495, 0x0495,
1186 0x0497, 0x0497,
1187 0x0499, 0x0499,
1188 0x049b, 0x049b,
1189 0x049d, 0x049d,
1190 0x049f, 0x049f,
1191 0x04a1, 0x04a1,
1192 0x04a3, 0x04a3,
1193 0x04a5, 0x04a5,
1194 0x04a7, 0x04a7,
1195 0x04a9, 0x04a9,
1196 0x04ab, 0x04ab,
1197 0x04ad, 0x04ad,
1198 0x04af, 0x04af,
1199 0x04b1, 0x04b1,
1200 0x04b3, 0x04b3,
1201 0x04b5, 0x04b5,
1202 0x04b7, 0x04b7,
1203 0x04b9, 0x04b9,
1204 0x04bb, 0x04bb,
1205 0x04bd, 0x04bd,
1206 0x04bf, 0x04bf,
1207 0x04c2, 0x04c2,
1208 0x04c4, 0x04c4,
1209 0x04c6, 0x04c6,
1210 0x04c8, 0x04c8,
1211 0x04ca, 0x04ca,
1212 0x04cc, 0x04cc,
1213 0x04ce, 0x04ce,
1214 0x04d1, 0x04d1,
1215 0x04d3, 0x04d3,
1216 0x04d5, 0x04d5,
1217 0x04d7, 0x04d7,
1218 0x04d9, 0x04d9,
1219 0x04db, 0x04db,
1220 0x04dd, 0x04dd,
1221 0x04df, 0x04df,
1222 0x04e1, 0x04e1,
1223 0x04e3, 0x04e3,
1224 0x04e5, 0x04e5,
1225 0x04e7, 0x04e7,
1226 0x04e9, 0x04e9,
1227 0x04eb, 0x04eb,
1228 0x04ed, 0x04ed,
1229 0x04ef, 0x04ef,
1230 0x04f1, 0x04f1,
1231 0x04f3, 0x04f3,
1232 0x04f5, 0x04f5,
1233 0x04f7, 0x04f7,
1234 0x04f9, 0x04f9,
1235 0x0501, 0x0501,
1236 0x0503, 0x0503,
1237 0x0505, 0x0505,
1238 0x0507, 0x0507,
1239 0x0509, 0x0509,
1240 0x050b, 0x050b,
1241 0x050d, 0x050d,
1242 0x050f, 0x050f,
1243 0x0561, 0x0587,
1244 0x1d00, 0x1d2b,
1245 0x1d62, 0x1d77,
1246 0x1d79, 0x1d9a,
1247 0x1e01, 0x1e01,
1248 0x1e03, 0x1e03,
1249 0x1e05, 0x1e05,
1250 0x1e07, 0x1e07,
1251 0x1e09, 0x1e09,
1252 0x1e0b, 0x1e0b,
1253 0x1e0d, 0x1e0d,
1254 0x1e0f, 0x1e0f,
1255 0x1e11, 0x1e11,
1256 0x1e13, 0x1e13,
1257 0x1e15, 0x1e15,
1258 0x1e17, 0x1e17,
1259 0x1e19, 0x1e19,
1260 0x1e1b, 0x1e1b,
1261 0x1e1d, 0x1e1d,
1262 0x1e1f, 0x1e1f,
1263 0x1e21, 0x1e21,
1264 0x1e23, 0x1e23,
1265 0x1e25, 0x1e25,
1266 0x1e27, 0x1e27,
1267 0x1e29, 0x1e29,
1268 0x1e2b, 0x1e2b,
1269 0x1e2d, 0x1e2d,
1270 0x1e2f, 0x1e2f,
1271 0x1e31, 0x1e31,
1272 0x1e33, 0x1e33,
1273 0x1e35, 0x1e35,
1274 0x1e37, 0x1e37,
1275 0x1e39, 0x1e39,
1276 0x1e3b, 0x1e3b,
1277 0x1e3d, 0x1e3d,
1278 0x1e3f, 0x1e3f,
1279 0x1e41, 0x1e41,
1280 0x1e43, 0x1e43,
1281 0x1e45, 0x1e45,
1282 0x1e47, 0x1e47,
1283 0x1e49, 0x1e49,
1284 0x1e4b, 0x1e4b,
1285 0x1e4d, 0x1e4d,
1286 0x1e4f, 0x1e4f,
1287 0x1e51, 0x1e51,
1288 0x1e53, 0x1e53,
1289 0x1e55, 0x1e55,
1290 0x1e57, 0x1e57,
1291 0x1e59, 0x1e59,
1292 0x1e5b, 0x1e5b,
1293 0x1e5d, 0x1e5d,
1294 0x1e5f, 0x1e5f,
1295 0x1e61, 0x1e61,
1296 0x1e63, 0x1e63,
1297 0x1e65, 0x1e65,
1298 0x1e67, 0x1e67,
1299 0x1e69, 0x1e69,
1300 0x1e6b, 0x1e6b,
1301 0x1e6d, 0x1e6d,
1302 0x1e6f, 0x1e6f,
1303 0x1e71, 0x1e71,
1304 0x1e73, 0x1e73,
1305 0x1e75, 0x1e75,
1306 0x1e77, 0x1e77,
1307 0x1e79, 0x1e79,
1308 0x1e7b, 0x1e7b,
1309 0x1e7d, 0x1e7d,
1310 0x1e7f, 0x1e7f,
1311 0x1e81, 0x1e81,
1312 0x1e83, 0x1e83,
1313 0x1e85, 0x1e85,
1314 0x1e87, 0x1e87,
1315 0x1e89, 0x1e89,
1316 0x1e8b, 0x1e8b,
1317 0x1e8d, 0x1e8d,
1318 0x1e8f, 0x1e8f,
1319 0x1e91, 0x1e91,
1320 0x1e93, 0x1e93,
1321 0x1e95, 0x1e9b,
1322 0x1ea1, 0x1ea1,
1323 0x1ea3, 0x1ea3,
1324 0x1ea5, 0x1ea5,
1325 0x1ea7, 0x1ea7,
1326 0x1ea9, 0x1ea9,
1327 0x1eab, 0x1eab,
1328 0x1ead, 0x1ead,
1329 0x1eaf, 0x1eaf,
1330 0x1eb1, 0x1eb1,
1331 0x1eb3, 0x1eb3,
1332 0x1eb5, 0x1eb5,
1333 0x1eb7, 0x1eb7,
1334 0x1eb9, 0x1eb9,
1335 0x1ebb, 0x1ebb,
1336 0x1ebd, 0x1ebd,
1337 0x1ebf, 0x1ebf,
1338 0x1ec1, 0x1ec1,
1339 0x1ec3, 0x1ec3,
1340 0x1ec5, 0x1ec5,
1341 0x1ec7, 0x1ec7,
1342 0x1ec9, 0x1ec9,
1343 0x1ecb, 0x1ecb,
1344 0x1ecd, 0x1ecd,
1345 0x1ecf, 0x1ecf,
1346 0x1ed1, 0x1ed1,
1347 0x1ed3, 0x1ed3,
1348 0x1ed5, 0x1ed5,
1349 0x1ed7, 0x1ed7,
1350 0x1ed9, 0x1ed9,
1351 0x1edb, 0x1edb,
1352 0x1edd, 0x1edd,
1353 0x1edf, 0x1edf,
1354 0x1ee1, 0x1ee1,
1355 0x1ee3, 0x1ee3,
1356 0x1ee5, 0x1ee5,
1357 0x1ee7, 0x1ee7,
1358 0x1ee9, 0x1ee9,
1359 0x1eeb, 0x1eeb,
1360 0x1eed, 0x1eed,
1361 0x1eef, 0x1eef,
1362 0x1ef1, 0x1ef1,
1363 0x1ef3, 0x1ef3,
1364 0x1ef5, 0x1ef5,
1365 0x1ef7, 0x1ef7,
1366 0x1ef9, 0x1ef9,
1367 0x1f00, 0x1f07,
1368 0x1f10, 0x1f15,
1369 0x1f20, 0x1f27,
1370 0x1f30, 0x1f37,
1371 0x1f40, 0x1f45,
1372 0x1f50, 0x1f57,
1373 0x1f60, 0x1f67,
1374 0x1f70, 0x1f7d,
1375 0x1f80, 0x1f87,
1376 0x1f90, 0x1f97,
1377 0x1fa0, 0x1fa7,
1378 0x1fb0, 0x1fb4,
1379 0x1fb6, 0x1fb7,
1380 0x1fbe, 0x1fbe,
1381 0x1fc2, 0x1fc4,
1382 0x1fc6, 0x1fc7,
1383 0x1fd0, 0x1fd3,
1384 0x1fd6, 0x1fd7,
1385 0x1fe0, 0x1fe7,
1386 0x1ff2, 0x1ff4,
1387 0x1ff6, 0x1ff7,
1388 0x2071, 0x2071,
1389 0x207f, 0x207f,
1390 0x210a, 0x210a,
1391 0x210e, 0x210f,
1392 0x2113, 0x2113,
1393 0x212f, 0x212f,
1394 0x2134, 0x2134,
1395 0x2139, 0x2139,
1396 0x213c, 0x213d,
1397 0x2146, 0x2149,
1398 0x2c30, 0x2c5e,
1399 0x2c81, 0x2c81,
1400 0x2c83, 0x2c83,
1401 0x2c85, 0x2c85,
1402 0x2c87, 0x2c87,
1403 0x2c89, 0x2c89,
1404 0x2c8b, 0x2c8b,
1405 0x2c8d, 0x2c8d,
1406 0x2c8f, 0x2c8f,
1407 0x2c91, 0x2c91,
1408 0x2c93, 0x2c93,
1409 0x2c95, 0x2c95,
1410 0x2c97, 0x2c97,
1411 0x2c99, 0x2c99,
1412 0x2c9b, 0x2c9b,
1413 0x2c9d, 0x2c9d,
1414 0x2c9f, 0x2c9f,
1415 0x2ca1, 0x2ca1,
1416 0x2ca3, 0x2ca3,
1417 0x2ca5, 0x2ca5,
1418 0x2ca7, 0x2ca7,
1419 0x2ca9, 0x2ca9,
1420 0x2cab, 0x2cab,
1421 0x2cad, 0x2cad,
1422 0x2caf, 0x2caf,
1423 0x2cb1, 0x2cb1,
1424 0x2cb3, 0x2cb3,
1425 0x2cb5, 0x2cb5,
1426 0x2cb7, 0x2cb7,
1427 0x2cb9, 0x2cb9,
1428 0x2cbb, 0x2cbb,
1429 0x2cbd, 0x2cbd,
1430 0x2cbf, 0x2cbf,
1431 0x2cc1, 0x2cc1,
1432 0x2cc3, 0x2cc3,
1433 0x2cc5, 0x2cc5,
1434 0x2cc7, 0x2cc7,
1435 0x2cc9, 0x2cc9,
1436 0x2ccb, 0x2ccb,
1437 0x2ccd, 0x2ccd,
1438 0x2ccf, 0x2ccf,
1439 0x2cd1, 0x2cd1,
1440 0x2cd3, 0x2cd3,
1441 0x2cd5, 0x2cd5,
1442 0x2cd7, 0x2cd7,
1443 0x2cd9, 0x2cd9,
1444 0x2cdb, 0x2cdb,
1445 0x2cdd, 0x2cdd,
1446 0x2cdf, 0x2cdf,
1447 0x2ce1, 0x2ce1,
1448 0x2ce3, 0x2ce4,
1449 0x2d00, 0x2d25,
1450 0xfb00, 0xfb06,
1451 0xfb13, 0xfb17,
1452 0xff41, 0xff5a,
1453 0x10428, 0x1044f,
1454 0x1d41a, 0x1d433,
1455 0x1d44e, 0x1d454,
1456 0x1d456, 0x1d467,
1457 0x1d482, 0x1d49b,
1458 0x1d4b6, 0x1d4b9,
1459 0x1d4bb, 0x1d4bb,
1460 0x1d4bd, 0x1d4c3,
1461 0x1d4c5, 0x1d4cf,
1462 0x1d4ea, 0x1d503,
1463 0x1d51e, 0x1d537,
1464 0x1d552, 0x1d56b,
1465 0x1d586, 0x1d59f,
1466 0x1d5ba, 0x1d5d3,
1467 0x1d5ee, 0x1d607,
1468 0x1d622, 0x1d63b,
1469 0x1d656, 0x1d66f,
1470 0x1d68a, 0x1d6a5,
1471 0x1d6c2, 0x1d6da,
1472 0x1d6dc, 0x1d6e1,
1473 0x1d6fc, 0x1d714,
1474 0x1d716, 0x1d71b,
1475 0x1d736, 0x1d74e,
1476 0x1d750, 0x1d755,
1477 0x1d770, 0x1d788,
1478 0x1d78a, 0x1d78f,
1479 0x1d7aa, 0x1d7c2,
1480 0x1d7c4, 0x1d7c9
1481 }; /* CR_Lower */
1482
1483 /* 'Print': [[:Print:]] */
1484 static const OnigCodePoint CR_Print[] = {
1485 423,
1486 0x0009, 0x000d,
1487 0x0020, 0x007e,
1488 0x0085, 0x0085,
1489 0x00a0, 0x0241,
1490 0x0250, 0x036f,
1491 0x0374, 0x0375,
1492 0x037a, 0x037a,
1493 0x037e, 0x037e,
1494 0x0384, 0x038a,
1495 0x038c, 0x038c,
1496 0x038e, 0x03a1,
1497 0x03a3, 0x03ce,
1498 0x03d0, 0x0486,
1499 0x0488, 0x04ce,
1500 0x04d0, 0x04f9,
1501 0x0500, 0x050f,
1502 0x0531, 0x0556,
1503 0x0559, 0x055f,
1504 0x0561, 0x0587,
1505 0x0589, 0x058a,
1506 0x0591, 0x05b9,
1507 0x05bb, 0x05c7,
1508 0x05d0, 0x05ea,
1509 0x05f0, 0x05f4,
1510 0x0600, 0x0603,
1511 0x060b, 0x0615,
1512 0x061b, 0x061b,
1513 0x061e, 0x061f,
1514 0x0621, 0x063a,
1515 0x0640, 0x065e,
1516 0x0660, 0x070d,
1517 0x070f, 0x074a,
1518 0x074d, 0x076d,
1519 0x0780, 0x07b1,
1520 0x0901, 0x0939,
1521 0x093c, 0x094d,
1522 0x0950, 0x0954,
1523 0x0958, 0x0970,
1524 0x097d, 0x097d,
1525 0x0981, 0x0983,
1526 0x0985, 0x098c,
1527 0x098f, 0x0990,
1528 0x0993, 0x09a8,
1529 0x09aa, 0x09b0,
1530 0x09b2, 0x09b2,
1531 0x09b6, 0x09b9,
1532 0x09bc, 0x09c4,
1533 0x09c7, 0x09c8,
1534 0x09cb, 0x09ce,
1535 0x09d7, 0x09d7,
1536 0x09dc, 0x09dd,
1537 0x09df, 0x09e3,
1538 0x09e6, 0x09fa,
1539 0x0a01, 0x0a03,
1540 0x0a05, 0x0a0a,
1541 0x0a0f, 0x0a10,
1542 0x0a13, 0x0a28,
1543 0x0a2a, 0x0a30,
1544 0x0a32, 0x0a33,
1545 0x0a35, 0x0a36,
1546 0x0a38, 0x0a39,
1547 0x0a3c, 0x0a3c,
1548 0x0a3e, 0x0a42,
1549 0x0a47, 0x0a48,
1550 0x0a4b, 0x0a4d,
1551 0x0a59, 0x0a5c,
1552 0x0a5e, 0x0a5e,
1553 0x0a66, 0x0a74,
1554 0x0a81, 0x0a83,
1555 0x0a85, 0x0a8d,
1556 0x0a8f, 0x0a91,
1557 0x0a93, 0x0aa8,
1558 0x0aaa, 0x0ab0,
1559 0x0ab2, 0x0ab3,
1560 0x0ab5, 0x0ab9,
1561 0x0abc, 0x0ac5,
1562 0x0ac7, 0x0ac9,
1563 0x0acb, 0x0acd,
1564 0x0ad0, 0x0ad0,
1565 0x0ae0, 0x0ae3,
1566 0x0ae6, 0x0aef,
1567 0x0af1, 0x0af1,
1568 0x0b01, 0x0b03,
1569 0x0b05, 0x0b0c,
1570 0x0b0f, 0x0b10,
1571 0x0b13, 0x0b28,
1572 0x0b2a, 0x0b30,
1573 0x0b32, 0x0b33,
1574 0x0b35, 0x0b39,
1575 0x0b3c, 0x0b43,
1576 0x0b47, 0x0b48,
1577 0x0b4b, 0x0b4d,
1578 0x0b56, 0x0b57,
1579 0x0b5c, 0x0b5d,
1580 0x0b5f, 0x0b61,
1581 0x0b66, 0x0b71,
1582 0x0b82, 0x0b83,
1583 0x0b85, 0x0b8a,
1584 0x0b8e, 0x0b90,
1585 0x0b92, 0x0b95,
1586 0x0b99, 0x0b9a,
1587 0x0b9c, 0x0b9c,
1588 0x0b9e, 0x0b9f,
1589 0x0ba3, 0x0ba4,
1590 0x0ba8, 0x0baa,
1591 0x0bae, 0x0bb9,
1592 0x0bbe, 0x0bc2,
1593 0x0bc6, 0x0bc8,
1594 0x0bca, 0x0bcd,
1595 0x0bd7, 0x0bd7,
1596 0x0be6, 0x0bfa,
1597 0x0c01, 0x0c03,
1598 0x0c05, 0x0c0c,
1599 0x0c0e, 0x0c10,
1600 0x0c12, 0x0c28,
1601 0x0c2a, 0x0c33,
1602 0x0c35, 0x0c39,
1603 0x0c3e, 0x0c44,
1604 0x0c46, 0x0c48,
1605 0x0c4a, 0x0c4d,
1606 0x0c55, 0x0c56,
1607 0x0c60, 0x0c61,
1608 0x0c66, 0x0c6f,
1609 0x0c82, 0x0c83,
1610 0x0c85, 0x0c8c,
1611 0x0c8e, 0x0c90,
1612 0x0c92, 0x0ca8,
1613 0x0caa, 0x0cb3,
1614 0x0cb5, 0x0cb9,
1615 0x0cbc, 0x0cc4,
1616 0x0cc6, 0x0cc8,
1617 0x0cca, 0x0ccd,
1618 0x0cd5, 0x0cd6,
1619 0x0cde, 0x0cde,
1620 0x0ce0, 0x0ce1,
1621 0x0ce6, 0x0cef,
1622 0x0d02, 0x0d03,
1623 0x0d05, 0x0d0c,
1624 0x0d0e, 0x0d10,
1625 0x0d12, 0x0d28,
1626 0x0d2a, 0x0d39,
1627 0x0d3e, 0x0d43,
1628 0x0d46, 0x0d48,
1629 0x0d4a, 0x0d4d,
1630 0x0d57, 0x0d57,
1631 0x0d60, 0x0d61,
1632 0x0d66, 0x0d6f,
1633 0x0d82, 0x0d83,
1634 0x0d85, 0x0d96,
1635 0x0d9a, 0x0db1,
1636 0x0db3, 0x0dbb,
1637 0x0dbd, 0x0dbd,
1638 0x0dc0, 0x0dc6,
1639 0x0dca, 0x0dca,
1640 0x0dcf, 0x0dd4,
1641 0x0dd6, 0x0dd6,
1642 0x0dd8, 0x0ddf,
1643 0x0df2, 0x0df4,
1644 0x0e01, 0x0e3a,
1645 0x0e3f, 0x0e5b,
1646 0x0e81, 0x0e82,
1647 0x0e84, 0x0e84,
1648 0x0e87, 0x0e88,
1649 0x0e8a, 0x0e8a,
1650 0x0e8d, 0x0e8d,
1651 0x0e94, 0x0e97,
1652 0x0e99, 0x0e9f,
1653 0x0ea1, 0x0ea3,
1654 0x0ea5, 0x0ea5,
1655 0x0ea7, 0x0ea7,
1656 0x0eaa, 0x0eab,
1657 0x0ead, 0x0eb9,
1658 0x0ebb, 0x0ebd,
1659 0x0ec0, 0x0ec4,
1660 0x0ec6, 0x0ec6,
1661 0x0ec8, 0x0ecd,
1662 0x0ed0, 0x0ed9,
1663 0x0edc, 0x0edd,
1664 0x0f00, 0x0f47,
1665 0x0f49, 0x0f6a,
1666 0x0f71, 0x0f8b,
1667 0x0f90, 0x0f97,
1668 0x0f99, 0x0fbc,
1669 0x0fbe, 0x0fcc,
1670 0x0fcf, 0x0fd1,
1671 0x1000, 0x1021,
1672 0x1023, 0x1027,
1673 0x1029, 0x102a,
1674 0x102c, 0x1032,
1675 0x1036, 0x1039,
1676 0x1040, 0x1059,
1677 0x10a0, 0x10c5,
1678 0x10d0, 0x10fc,
1679 0x1100, 0x1159,
1680 0x115f, 0x11a2,
1681 0x11a8, 0x11f9,
1682 0x1200, 0x1248,
1683 0x124a, 0x124d,
1684 0x1250, 0x1256,
1685 0x1258, 0x1258,
1686 0x125a, 0x125d,
1687 0x1260, 0x1288,
1688 0x128a, 0x128d,
1689 0x1290, 0x12b0,
1690 0x12b2, 0x12b5,
1691 0x12b8, 0x12be,
1692 0x12c0, 0x12c0,
1693 0x12c2, 0x12c5,
1694 0x12c8, 0x12d6,
1695 0x12d8, 0x1310,
1696 0x1312, 0x1315,
1697 0x1318, 0x135a,
1698 0x135f, 0x137c,
1699 0x1380, 0x1399,
1700 0x13a0, 0x13f4,
1701 0x1401, 0x1676,
1702 0x1680, 0x169c,
1703 0x16a0, 0x16f0,
1704 0x1700, 0x170c,
1705 0x170e, 0x1714,
1706 0x1720, 0x1736,
1707 0x1740, 0x1753,
1708 0x1760, 0x176c,
1709 0x176e, 0x1770,
1710 0x1772, 0x1773,
1711 0x1780, 0x17dd,
1712 0x17e0, 0x17e9,
1713 0x17f0, 0x17f9,
1714 0x1800, 0x180e,
1715 0x1810, 0x1819,
1716 0x1820, 0x1877,
1717 0x1880, 0x18a9,
1718 0x1900, 0x191c,
1719 0x1920, 0x192b,
1720 0x1930, 0x193b,
1721 0x1940, 0x1940,
1722 0x1944, 0x196d,
1723 0x1970, 0x1974,
1724 0x1980, 0x19a9,
1725 0x19b0, 0x19c9,
1726 0x19d0, 0x19d9,
1727 0x19de, 0x1a1b,
1728 0x1a1e, 0x1a1f,
1729 0x1d00, 0x1dc3,
1730 0x1e00, 0x1e9b,
1731 0x1ea0, 0x1ef9,
1732 0x1f00, 0x1f15,
1733 0x1f18, 0x1f1d,
1734 0x1f20, 0x1f45,
1735 0x1f48, 0x1f4d,
1736 0x1f50, 0x1f57,
1737 0x1f59, 0x1f59,
1738 0x1f5b, 0x1f5b,
1739 0x1f5d, 0x1f5d,
1740 0x1f5f, 0x1f7d,
1741 0x1f80, 0x1fb4,
1742 0x1fb6, 0x1fc4,
1743 0x1fc6, 0x1fd3,
1744 0x1fd6, 0x1fdb,
1745 0x1fdd, 0x1fef,
1746 0x1ff2, 0x1ff4,
1747 0x1ff6, 0x1ffe,
1748 0x2000, 0x2063,
1749 0x206a, 0x2071,
1750 0x2074, 0x208e,
1751 0x2090, 0x2094,
1752 0x20a0, 0x20b5,
1753 0x20d0, 0x20eb,
1754 0x2100, 0x214c,
1755 0x2153, 0x2183,
1756 0x2190, 0x23db,
1757 0x2400, 0x2426,
1758 0x2440, 0x244a,
1759 0x2460, 0x269c,
1760 0x26a0, 0x26b1,
1761 0x2701, 0x2704,
1762 0x2706, 0x2709,
1763 0x270c, 0x2727,
1764 0x2729, 0x274b,
1765 0x274d, 0x274d,
1766 0x274f, 0x2752,
1767 0x2756, 0x2756,
1768 0x2758, 0x275e,
1769 0x2761, 0x2794,
1770 0x2798, 0x27af,
1771 0x27b1, 0x27be,
1772 0x27c0, 0x27c6,
1773 0x27d0, 0x27eb,
1774 0x27f0, 0x2b13,
1775 0x2c00, 0x2c2e,
1776 0x2c30, 0x2c5e,
1777 0x2c80, 0x2cea,
1778 0x2cf9, 0x2d25,
1779 0x2d30, 0x2d65,
1780 0x2d6f, 0x2d6f,
1781 0x2d80, 0x2d96,
1782 0x2da0, 0x2da6,
1783 0x2da8, 0x2dae,
1784 0x2db0, 0x2db6,
1785 0x2db8, 0x2dbe,
1786 0x2dc0, 0x2dc6,
1787 0x2dc8, 0x2dce,
1788 0x2dd0, 0x2dd6,
1789 0x2dd8, 0x2dde,
1790 0x2e00, 0x2e17,
1791 0x2e1c, 0x2e1d,
1792 0x2e80, 0x2e99,
1793 0x2e9b, 0x2ef3,
1794 0x2f00, 0x2fd5,
1795 0x2ff0, 0x2ffb,
1796 0x3000, 0x303f,
1797 0x3041, 0x3096,
1798 0x3099, 0x30ff,
1799 0x3105, 0x312c,
1800 0x3131, 0x318e,
1801 0x3190, 0x31b7,
1802 0x31c0, 0x31cf,
1803 0x31f0, 0x321e,
1804 0x3220, 0x3243,
1805 0x3250, 0x32fe,
1806 0x3300, 0x4db5,
1807 0x4dc0, 0x9fbb,
1808 0xa000, 0xa48c,
1809 0xa490, 0xa4c6,
1810 0xa700, 0xa716,
1811 0xa800, 0xa82b,
1812 0xac00, 0xd7a3,
1813 0xe000, 0xfa2d,
1814 0xfa30, 0xfa6a,
1815 0xfa70, 0xfad9,
1816 0xfb00, 0xfb06,
1817 0xfb13, 0xfb17,
1818 0xfb1d, 0xfb36,
1819 0xfb38, 0xfb3c,
1820 0xfb3e, 0xfb3e,
1821 0xfb40, 0xfb41,
1822 0xfb43, 0xfb44,
1823 0xfb46, 0xfbb1,
1824 0xfbd3, 0xfd3f,
1825 0xfd50, 0xfd8f,
1826 0xfd92, 0xfdc7,
1827 0xfdf0, 0xfdfd,
1828 0xfe00, 0xfe19,
1829 0xfe20, 0xfe23,
1830 0xfe30, 0xfe52,
1831 0xfe54, 0xfe66,
1832 0xfe68, 0xfe6b,
1833 0xfe70, 0xfe74,
1834 0xfe76, 0xfefc,
1835 0xfeff, 0xfeff,
1836 0xff01, 0xffbe,
1837 0xffc2, 0xffc7,
1838 0xffca, 0xffcf,
1839 0xffd2, 0xffd7,
1840 0xffda, 0xffdc,
1841 0xffe0, 0xffe6,
1842 0xffe8, 0xffee,
1843 0xfff9, 0xfffd,
1844 0x10000, 0x1000b,
1845 0x1000d, 0x10026,
1846 0x10028, 0x1003a,
1847 0x1003c, 0x1003d,
1848 0x1003f, 0x1004d,
1849 0x10050, 0x1005d,
1850 0x10080, 0x100fa,
1851 0x10100, 0x10102,
1852 0x10107, 0x10133,
1853 0x10137, 0x1018a,
1854 0x10300, 0x1031e,
1855 0x10320, 0x10323,
1856 0x10330, 0x1034a,
1857 0x10380, 0x1039d,
1858 0x1039f, 0x103c3,
1859 0x103c8, 0x103d5,
1860 0x10400, 0x1049d,
1861 0x104a0, 0x104a9,
1862 0x10800, 0x10805,
1863 0x10808, 0x10808,
1864 0x1080a, 0x10835,
1865 0x10837, 0x10838,
1866 0x1083c, 0x1083c,
1867 0x1083f, 0x1083f,
1868 0x10a00, 0x10a03,
1869 0x10a05, 0x10a06,
1870 0x10a0c, 0x10a13,
1871 0x10a15, 0x10a17,
1872 0x10a19, 0x10a33,
1873 0x10a38, 0x10a3a,
1874 0x10a3f, 0x10a47,
1875 0x10a50, 0x10a58,
1876 0x1d000, 0x1d0f5,
1877 0x1d100, 0x1d126,
1878 0x1d12a, 0x1d1dd,
1879 0x1d200, 0x1d245,
1880 0x1d300, 0x1d356,
1881 0x1d400, 0x1d454,
1882 0x1d456, 0x1d49c,
1883 0x1d49e, 0x1d49f,
1884 0x1d4a2, 0x1d4a2,
1885 0x1d4a5, 0x1d4a6,
1886 0x1d4a9, 0x1d4ac,
1887 0x1d4ae, 0x1d4b9,
1888 0x1d4bb, 0x1d4bb,
1889 0x1d4bd, 0x1d4c3,
1890 0x1d4c5, 0x1d505,
1891 0x1d507, 0x1d50a,
1892 0x1d50d, 0x1d514,
1893 0x1d516, 0x1d51c,
1894 0x1d51e, 0x1d539,
1895 0x1d53b, 0x1d53e,
1896 0x1d540, 0x1d544,
1897 0x1d546, 0x1d546,
1898 0x1d54a, 0x1d550,
1899 0x1d552, 0x1d6a5,
1900 0x1d6a8, 0x1d7c9,
1901 0x1d7ce, 0x1d7ff,
1902 0x20000, 0x2a6d6,
1903 0x2f800, 0x2fa1d,
1904 0xe0001, 0xe0001,
1905 0xe0020, 0xe007f,
1906 0xe0100, 0xe01ef,
1907 0xf0000, 0xffffd,
1908 0x100000, 0x10fffd
1909 }; /* CR_Print */
1910
1911 /* 'Punct': [[:Punct:]] */
1912 static const OnigCodePoint CR_Punct[] = {
1913 96,
1914 0x0021, 0x0023,
1915 0x0025, 0x002a,
1916 0x002c, 0x002f,
1917 0x003a, 0x003b,
1918 0x003f, 0x0040,
1919 0x005b, 0x005d,
1920 0x005f, 0x005f,
1921 0x007b, 0x007b,
1922 0x007d, 0x007d,
1923 0x00a1, 0x00a1,
1924 0x00ab, 0x00ab,
1925 0x00b7, 0x00b7,
1926 0x00bb, 0x00bb,
1927 0x00bf, 0x00bf,
1928 0x037e, 0x037e,
1929 0x0387, 0x0387,
1930 0x055a, 0x055f,
1931 0x0589, 0x058a,
1932 0x05be, 0x05be,
1933 0x05c0, 0x05c0,
1934 0x05c3, 0x05c3,
1935 0x05c6, 0x05c6,
1936 0x05f3, 0x05f4,
1937 0x060c, 0x060d,
1938 0x061b, 0x061b,
1939 0x061e, 0x061f,
1940 0x066a, 0x066d,
1941 0x06d4, 0x06d4,
1942 0x0700, 0x070d,
1943 0x0964, 0x0965,
1944 0x0970, 0x0970,
1945 0x0df4, 0x0df4,
1946 0x0e4f, 0x0e4f,
1947 0x0e5a, 0x0e5b,
1948 0x0f04, 0x0f12,
1949 0x0f3a, 0x0f3d,
1950 0x0f85, 0x0f85,
1951 0x0fd0, 0x0fd1,
1952 0x104a, 0x104f,
1953 0x10fb, 0x10fb,
1954 0x1361, 0x1368,
1955 0x166d, 0x166e,
1956 0x169b, 0x169c,
1957 0x16eb, 0x16ed,
1958 0x1735, 0x1736,
1959 0x17d4, 0x17d6,
1960 0x17d8, 0x17da,
1961 0x1800, 0x180a,
1962 0x1944, 0x1945,
1963 0x19de, 0x19df,
1964 0x1a1e, 0x1a1f,
1965 0x2010, 0x2027,
1966 0x2030, 0x2043,
1967 0x2045, 0x2051,
1968 0x2053, 0x205e,
1969 0x207d, 0x207e,
1970 0x208d, 0x208e,
1971 0x2329, 0x232a,
1972 0x23b4, 0x23b6,
1973 0x2768, 0x2775,
1974 0x27c5, 0x27c6,
1975 0x27e6, 0x27eb,
1976 0x2983, 0x2998,
1977 0x29d8, 0x29db,
1978 0x29fc, 0x29fd,
1979 0x2cf9, 0x2cfc,
1980 0x2cfe, 0x2cff,
1981 0x2e00, 0x2e17,
1982 0x2e1c, 0x2e1d,
1983 0x3001, 0x3003,
1984 0x3008, 0x3011,
1985 0x3014, 0x301f,
1986 0x3030, 0x3030,
1987 0x303d, 0x303d,
1988 0x30a0, 0x30a0,
1989 0x30fb, 0x30fb,
1990 0xfd3e, 0xfd3f,
1991 0xfe10, 0xfe19,
1992 0xfe30, 0xfe52,
1993 0xfe54, 0xfe61,
1994 0xfe63, 0xfe63,
1995 0xfe68, 0xfe68,
1996 0xfe6a, 0xfe6b,
1997 0xff01, 0xff03,
1998 0xff05, 0xff0a,
1999 0xff0c, 0xff0f,
2000 0xff1a, 0xff1b,
2001 0xff1f, 0xff20,
2002 0xff3b, 0xff3d,
2003 0xff3f, 0xff3f,
2004 0xff5b, 0xff5b,
2005 0xff5d, 0xff5d,
2006 0xff5f, 0xff65,
2007 0x10100, 0x10101,
2008 0x1039f, 0x1039f,
2009 0x10a50, 0x10a58
2010 }; /* CR_Punct */
2011
2012 /* 'Space': [[:Space:]] */
2013 static const OnigCodePoint CR_Space[] = {
2014 11,
2015 0x0009, 0x000d,
2016 0x0020, 0x0020,
2017 0x0085, 0x0085,
2018 0x00a0, 0x00a0,
2019 0x1680, 0x1680,
2020 0x180e, 0x180e,
2021 0x2000, 0x200a,
2022 0x2028, 0x2029,
2023 0x202f, 0x202f,
2024 0x205f, 0x205f,
2025 0x3000, 0x3000
2026 }; /* CR_Space */
2027
2028 /* 'Upper': [[:Upper:]] */
2029 static const OnigCodePoint CR_Upper[] = {
2030 476,
2031 0x0041, 0x005a,
2032 0x00c0, 0x00d6,
2033 0x00d8, 0x00de,
2034 0x0100, 0x0100,
2035 0x0102, 0x0102,
2036 0x0104, 0x0104,
2037 0x0106, 0x0106,
2038 0x0108, 0x0108,
2039 0x010a, 0x010a,
2040 0x010c, 0x010c,
2041 0x010e, 0x010e,
2042 0x0110, 0x0110,
2043 0x0112, 0x0112,
2044 0x0114, 0x0114,
2045 0x0116, 0x0116,
2046 0x0118, 0x0118,
2047 0x011a, 0x011a,
2048 0x011c, 0x011c,
2049 0x011e, 0x011e,
2050 0x0120, 0x0120,
2051 0x0122, 0x0122,
2052 0x0124, 0x0124,
2053 0x0126, 0x0126,
2054 0x0128, 0x0128,
2055 0x012a, 0x012a,
2056 0x012c, 0x012c,
2057 0x012e, 0x012e,
2058 0x0130, 0x0130,
2059 0x0132, 0x0132,
2060 0x0134, 0x0134,
2061 0x0136, 0x0136,
2062 0x0139, 0x0139,
2063 0x013b, 0x013b,
2064 0x013d, 0x013d,
2065 0x013f, 0x013f,
2066 0x0141, 0x0141,
2067 0x0143, 0x0143,
2068 0x0145, 0x0145,
2069 0x0147, 0x0147,
2070 0x014a, 0x014a,
2071 0x014c, 0x014c,
2072 0x014e, 0x014e,
2073 0x0150, 0x0150,
2074 0x0152, 0x0152,
2075 0x0154, 0x0154,
2076 0x0156, 0x0156,
2077 0x0158, 0x0158,
2078 0x015a, 0x015a,
2079 0x015c, 0x015c,
2080 0x015e, 0x015e,
2081 0x0160, 0x0160,
2082 0x0162, 0x0162,
2083 0x0164, 0x0164,
2084 0x0166, 0x0166,
2085 0x0168, 0x0168,
2086 0x016a, 0x016a,
2087 0x016c, 0x016c,
2088 0x016e, 0x016e,
2089 0x0170, 0x0170,
2090 0x0172, 0x0172,
2091 0x0174, 0x0174,
2092 0x0176, 0x0176,
2093 0x0178, 0x0179,
2094 0x017b, 0x017b,
2095 0x017d, 0x017d,
2096 0x0181, 0x0182,
2097 0x0184, 0x0184,
2098 0x0186, 0x0187,
2099 0x0189, 0x018b,
2100 0x018e, 0x0191,
2101 0x0193, 0x0194,
2102 0x0196, 0x0198,
2103 0x019c, 0x019d,
2104 0x019f, 0x01a0,
2105 0x01a2, 0x01a2,
2106 0x01a4, 0x01a4,
2107 0x01a6, 0x01a7,
2108 0x01a9, 0x01a9,
2109 0x01ac, 0x01ac,
2110 0x01ae, 0x01af,
2111 0x01b1, 0x01b3,
2112 0x01b5, 0x01b5,
2113 0x01b7, 0x01b8,
2114 0x01bc, 0x01bc,
2115 0x01c4, 0x01c4,
2116 0x01c7, 0x01c7,
2117 0x01ca, 0x01ca,
2118 0x01cd, 0x01cd,
2119 0x01cf, 0x01cf,
2120 0x01d1, 0x01d1,
2121 0x01d3, 0x01d3,
2122 0x01d5, 0x01d5,
2123 0x01d7, 0x01d7,
2124 0x01d9, 0x01d9,
2125 0x01db, 0x01db,
2126 0x01de, 0x01de,
2127 0x01e0, 0x01e0,
2128 0x01e2, 0x01e2,
2129 0x01e4, 0x01e4,
2130 0x01e6, 0x01e6,
2131 0x01e8, 0x01e8,
2132 0x01ea, 0x01ea,
2133 0x01ec, 0x01ec,
2134 0x01ee, 0x01ee,
2135 0x01f1, 0x01f1,
2136 0x01f4, 0x01f4,
2137 0x01f6, 0x01f8,
2138 0x01fa, 0x01fa,
2139 0x01fc, 0x01fc,
2140 0x01fe, 0x01fe,
2141 0x0200, 0x0200,
2142 0x0202, 0x0202,
2143 0x0204, 0x0204,
2144 0x0206, 0x0206,
2145 0x0208, 0x0208,
2146 0x020a, 0x020a,
2147 0x020c, 0x020c,
2148 0x020e, 0x020e,
2149 0x0210, 0x0210,
2150 0x0212, 0x0212,
2151 0x0214, 0x0214,
2152 0x0216, 0x0216,
2153 0x0218, 0x0218,
2154 0x021a, 0x021a,
2155 0x021c, 0x021c,
2156 0x021e, 0x021e,
2157 0x0220, 0x0220,
2158 0x0222, 0x0222,
2159 0x0224, 0x0224,
2160 0x0226, 0x0226,
2161 0x0228, 0x0228,
2162 0x022a, 0x022a,
2163 0x022c, 0x022c,
2164 0x022e, 0x022e,
2165 0x0230, 0x0230,
2166 0x0232, 0x0232,
2167 0x023a, 0x023b,
2168 0x023d, 0x023e,
2169 0x0241, 0x0241,
2170 0x0386, 0x0386,
2171 0x0388, 0x038a,
2172 0x038c, 0x038c,
2173 0x038e, 0x038f,
2174 0x0391, 0x03a1,
2175 0x03a3, 0x03ab,
2176 0x03d2, 0x03d4,
2177 0x03d8, 0x03d8,
2178 0x03da, 0x03da,
2179 0x03dc, 0x03dc,
2180 0x03de, 0x03de,
2181 0x03e0, 0x03e0,
2182 0x03e2, 0x03e2,
2183 0x03e4, 0x03e4,
2184 0x03e6, 0x03e6,
2185 0x03e8, 0x03e8,
2186 0x03ea, 0x03ea,
2187 0x03ec, 0x03ec,
2188 0x03ee, 0x03ee,
2189 0x03f4, 0x03f4,
2190 0x03f7, 0x03f7,
2191 0x03f9, 0x03fa,
2192 0x03fd, 0x042f,
2193 0x0460, 0x0460,
2194 0x0462, 0x0462,
2195 0x0464, 0x0464,
2196 0x0466, 0x0466,
2197 0x0468, 0x0468,
2198 0x046a, 0x046a,
2199 0x046c, 0x046c,
2200 0x046e, 0x046e,
2201 0x0470, 0x0470,
2202 0x0472, 0x0472,
2203 0x0474, 0x0474,
2204 0x0476, 0x0476,
2205 0x0478, 0x0478,
2206 0x047a, 0x047a,
2207 0x047c, 0x047c,
2208 0x047e, 0x047e,
2209 0x0480, 0x0480,
2210 0x048a, 0x048a,
2211 0x048c, 0x048c,
2212 0x048e, 0x048e,
2213 0x0490, 0x0490,
2214 0x0492, 0x0492,
2215 0x0494, 0x0494,
2216 0x0496, 0x0496,
2217 0x0498, 0x0498,
2218 0x049a, 0x049a,
2219 0x049c, 0x049c,
2220 0x049e, 0x049e,
2221 0x04a0, 0x04a0,
2222 0x04a2, 0x04a2,
2223 0x04a4, 0x04a4,
2224 0x04a6, 0x04a6,
2225 0x04a8, 0x04a8,
2226 0x04aa, 0x04aa,
2227 0x04ac, 0x04ac,
2228 0x04ae, 0x04ae,
2229 0x04b0, 0x04b0,
2230 0x04b2, 0x04b2,
2231 0x04b4, 0x04b4,
2232 0x04b6, 0x04b6,
2233 0x04b8, 0x04b8,
2234 0x04ba, 0x04ba,
2235 0x04bc, 0x04bc,
2236 0x04be, 0x04be,
2237 0x04c0, 0x04c1,
2238 0x04c3, 0x04c3,
2239 0x04c5, 0x04c5,
2240 0x04c7, 0x04c7,
2241 0x04c9, 0x04c9,
2242 0x04cb, 0x04cb,
2243 0x04cd, 0x04cd,
2244 0x04d0, 0x04d0,
2245 0x04d2, 0x04d2,
2246 0x04d4, 0x04d4,
2247 0x04d6, 0x04d6,
2248 0x04d8, 0x04d8,
2249 0x04da, 0x04da,
2250 0x04dc, 0x04dc,
2251 0x04de, 0x04de,
2252 0x04e0, 0x04e0,
2253 0x04e2, 0x04e2,
2254 0x04e4, 0x04e4,
2255 0x04e6, 0x04e6,
2256 0x04e8, 0x04e8,
2257 0x04ea, 0x04ea,
2258 0x04ec, 0x04ec,
2259 0x04ee, 0x04ee,
2260 0x04f0, 0x04f0,
2261 0x04f2, 0x04f2,
2262 0x04f4, 0x04f4,
2263 0x04f6, 0x04f6,
2264 0x04f8, 0x04f8,
2265 0x0500, 0x0500,
2266 0x0502, 0x0502,
2267 0x0504, 0x0504,
2268 0x0506, 0x0506,
2269 0x0508, 0x0508,
2270 0x050a, 0x050a,
2271 0x050c, 0x050c,
2272 0x050e, 0x050e,
2273 0x0531, 0x0556,
2274 0x10a0, 0x10c5,
2275 0x1e00, 0x1e00,
2276 0x1e02, 0x1e02,
2277 0x1e04, 0x1e04,
2278 0x1e06, 0x1e06,
2279 0x1e08, 0x1e08,
2280 0x1e0a, 0x1e0a,
2281 0x1e0c, 0x1e0c,
2282 0x1e0e, 0x1e0e,
2283 0x1e10, 0x1e10,
2284 0x1e12, 0x1e12,
2285 0x1e14, 0x1e14,
2286 0x1e16, 0x1e16,
2287 0x1e18, 0x1e18,
2288 0x1e1a, 0x1e1a,
2289 0x1e1c, 0x1e1c,
2290 0x1e1e, 0x1e1e,
2291 0x1e20, 0x1e20,
2292 0x1e22, 0x1e22,
2293 0x1e24, 0x1e24,
2294 0x1e26, 0x1e26,
2295 0x1e28, 0x1e28,
2296 0x1e2a, 0x1e2a,
2297 0x1e2c, 0x1e2c,
2298 0x1e2e, 0x1e2e,
2299 0x1e30, 0x1e30,
2300 0x1e32, 0x1e32,
2301 0x1e34, 0x1e34,
2302 0x1e36, 0x1e36,
2303 0x1e38, 0x1e38,
2304 0x1e3a, 0x1e3a,
2305 0x1e3c, 0x1e3c,
2306 0x1e3e, 0x1e3e,
2307 0x1e40, 0x1e40,
2308 0x1e42, 0x1e42,
2309 0x1e44, 0x1e44,
2310 0x1e46, 0x1e46,
2311 0x1e48, 0x1e48,
2312 0x1e4a, 0x1e4a,
2313 0x1e4c, 0x1e4c,
2314 0x1e4e, 0x1e4e,
2315 0x1e50, 0x1e50,
2316 0x1e52, 0x1e52,
2317 0x1e54, 0x1e54,
2318 0x1e56, 0x1e56,
2319 0x1e58, 0x1e58,
2320 0x1e5a, 0x1e5a,
2321 0x1e5c, 0x1e5c,
2322 0x1e5e, 0x1e5e,
2323 0x1e60, 0x1e60,
2324 0x1e62, 0x1e62,
2325 0x1e64, 0x1e64,
2326 0x1e66, 0x1e66,
2327 0x1e68, 0x1e68,
2328 0x1e6a, 0x1e6a,
2329 0x1e6c, 0x1e6c,
2330 0x1e6e, 0x1e6e,
2331 0x1e70, 0x1e70,
2332 0x1e72, 0x1e72,
2333 0x1e74, 0x1e74,
2334 0x1e76, 0x1e76,
2335 0x1e78, 0x1e78,
2336 0x1e7a, 0x1e7a,
2337 0x1e7c, 0x1e7c,
2338 0x1e7e, 0x1e7e,
2339 0x1e80, 0x1e80,
2340 0x1e82, 0x1e82,
2341 0x1e84, 0x1e84,
2342 0x1e86, 0x1e86,
2343 0x1e88, 0x1e88,
2344 0x1e8a, 0x1e8a,
2345 0x1e8c, 0x1e8c,
2346 0x1e8e, 0x1e8e,
2347 0x1e90, 0x1e90,
2348 0x1e92, 0x1e92,
2349 0x1e94, 0x1e94,
2350 0x1ea0, 0x1ea0,
2351 0x1ea2, 0x1ea2,
2352 0x1ea4, 0x1ea4,
2353 0x1ea6, 0x1ea6,
2354 0x1ea8, 0x1ea8,
2355 0x1eaa, 0x1eaa,
2356 0x1eac, 0x1eac,
2357 0x1eae, 0x1eae,
2358 0x1eb0, 0x1eb0,
2359 0x1eb2, 0x1eb2,
2360 0x1eb4, 0x1eb4,
2361 0x1eb6, 0x1eb6,
2362 0x1eb8, 0x1eb8,
2363 0x1eba, 0x1eba,
2364 0x1ebc, 0x1ebc,
2365 0x1ebe, 0x1ebe,
2366 0x1ec0, 0x1ec0,
2367 0x1ec2, 0x1ec2,
2368 0x1ec4, 0x1ec4,
2369 0x1ec6, 0x1ec6,
2370 0x1ec8, 0x1ec8,
2371 0x1eca, 0x1eca,
2372 0x1ecc, 0x1ecc,
2373 0x1ece, 0x1ece,
2374 0x1ed0, 0x1ed0,
2375 0x1ed2, 0x1ed2,
2376 0x1ed4, 0x1ed4,
2377 0x1ed6, 0x1ed6,
2378 0x1ed8, 0x1ed8,
2379 0x1eda, 0x1eda,
2380 0x1edc, 0x1edc,
2381 0x1ede, 0x1ede,
2382 0x1ee0, 0x1ee0,
2383 0x1ee2, 0x1ee2,
2384 0x1ee4, 0x1ee4,
2385 0x1ee6, 0x1ee6,
2386 0x1ee8, 0x1ee8,
2387 0x1eea, 0x1eea,
2388 0x1eec, 0x1eec,
2389 0x1eee, 0x1eee,
2390 0x1ef0, 0x1ef0,
2391 0x1ef2, 0x1ef2,
2392 0x1ef4, 0x1ef4,
2393 0x1ef6, 0x1ef6,
2394 0x1ef8, 0x1ef8,
2395 0x1f08, 0x1f0f,
2396 0x1f18, 0x1f1d,
2397 0x1f28, 0x1f2f,
2398 0x1f38, 0x1f3f,
2399 0x1f48, 0x1f4d,
2400 0x1f59, 0x1f59,
2401 0x1f5b, 0x1f5b,
2402 0x1f5d, 0x1f5d,
2403 0x1f5f, 0x1f5f,
2404 0x1f68, 0x1f6f,
2405 0x1fb8, 0x1fbb,
2406 0x1fc8, 0x1fcb,
2407 0x1fd8, 0x1fdb,
2408 0x1fe8, 0x1fec,
2409 0x1ff8, 0x1ffb,
2410 0x2102, 0x2102,
2411 0x2107, 0x2107,
2412 0x210b, 0x210d,
2413 0x2110, 0x2112,
2414 0x2115, 0x2115,
2415 0x2119, 0x211d,
2416 0x2124, 0x2124,
2417 0x2126, 0x2126,
2418 0x2128, 0x2128,
2419 0x212a, 0x212d,
2420 0x2130, 0x2131,
2421 0x2133, 0x2133,
2422 0x213e, 0x213f,
2423 0x2145, 0x2145,
2424 0x2c00, 0x2c2e,
2425 0x2c80, 0x2c80,
2426 0x2c82, 0x2c82,
2427 0x2c84, 0x2c84,
2428 0x2c86, 0x2c86,
2429 0x2c88, 0x2c88,
2430 0x2c8a, 0x2c8a,
2431 0x2c8c, 0x2c8c,
2432 0x2c8e, 0x2c8e,
2433 0x2c90, 0x2c90,
2434 0x2c92, 0x2c92,
2435 0x2c94, 0x2c94,
2436 0x2c96, 0x2c96,
2437 0x2c98, 0x2c98,
2438 0x2c9a, 0x2c9a,
2439 0x2c9c, 0x2c9c,
2440 0x2c9e, 0x2c9e,
2441 0x2ca0, 0x2ca0,
2442 0x2ca2, 0x2ca2,
2443 0x2ca4, 0x2ca4,
2444 0x2ca6, 0x2ca6,
2445 0x2ca8, 0x2ca8,
2446 0x2caa, 0x2caa,
2447 0x2cac, 0x2cac,
2448 0x2cae, 0x2cae,
2449 0x2cb0, 0x2cb0,
2450 0x2cb2, 0x2cb2,
2451 0x2cb4, 0x2cb4,
2452 0x2cb6, 0x2cb6,
2453 0x2cb8, 0x2cb8,
2454 0x2cba, 0x2cba,
2455 0x2cbc, 0x2cbc,
2456 0x2cbe, 0x2cbe,
2457 0x2cc0, 0x2cc0,
2458 0x2cc2, 0x2cc2,
2459 0x2cc4, 0x2cc4,
2460 0x2cc6, 0x2cc6,
2461 0x2cc8, 0x2cc8,
2462 0x2cca, 0x2cca,
2463 0x2ccc, 0x2ccc,
2464 0x2cce, 0x2cce,
2465 0x2cd0, 0x2cd0,
2466 0x2cd2, 0x2cd2,
2467 0x2cd4, 0x2cd4,
2468 0x2cd6, 0x2cd6,
2469 0x2cd8, 0x2cd8,
2470 0x2cda, 0x2cda,
2471 0x2cdc, 0x2cdc,
2472 0x2cde, 0x2cde,
2473 0x2ce0, 0x2ce0,
2474 0x2ce2, 0x2ce2,
2475 0xff21, 0xff3a,
2476 0x10400, 0x10427,
2477 0x1d400, 0x1d419,
2478 0x1d434, 0x1d44d,
2479 0x1d468, 0x1d481,
2480 0x1d49c, 0x1d49c,
2481 0x1d49e, 0x1d49f,
2482 0x1d4a2, 0x1d4a2,
2483 0x1d4a5, 0x1d4a6,
2484 0x1d4a9, 0x1d4ac,
2485 0x1d4ae, 0x1d4b5,
2486 0x1d4d0, 0x1d4e9,
2487 0x1d504, 0x1d505,
2488 0x1d507, 0x1d50a,
2489 0x1d50d, 0x1d514,
2490 0x1d516, 0x1d51c,
2491 0x1d538, 0x1d539,
2492 0x1d53b, 0x1d53e,
2493 0x1d540, 0x1d544,
2494 0x1d546, 0x1d546,
2495 0x1d54a, 0x1d550,
2496 0x1d56c, 0x1d585,
2497 0x1d5a0, 0x1d5b9,
2498 0x1d5d4, 0x1d5ed,
2499 0x1d608, 0x1d621,
2500 0x1d63c, 0x1d655,
2501 0x1d670, 0x1d689,
2502 0x1d6a8, 0x1d6c0,
2503 0x1d6e2, 0x1d6fa,
2504 0x1d71c, 0x1d734,
2505 0x1d756, 0x1d76e,
2506 0x1d790, 0x1d7a8
2507 }; /* CR_Upper */
2508
2509 /* 'XDigit': [[:XDigit:]] */
2510 static const OnigCodePoint CR_XDigit[] = {
2511 3,
2512 0x0030, 0x0039,
2513 0x0041, 0x0046,
2514 0x0061, 0x0066
2515 }; /* CR_XDigit */
2516
2517 /* 'Word': [[:Word:]] */
2518 static const OnigCodePoint CR_Word[] = {
2519 464,
2520 0x0030, 0x0039,
2521 0x0041, 0x005a,
2522 0x005f, 0x005f,
2523 0x0061, 0x007a,
2524 0x00aa, 0x00aa,
2525 0x00b2, 0x00b3,
2526 0x00b5, 0x00b5,
2527 0x00b9, 0x00ba,
2528 0x00bc, 0x00be,
2529 0x00c0, 0x00d6,
2530 0x00d8, 0x00f6,
2531 0x00f8, 0x0241,
2532 0x0250, 0x02c1,
2533 0x02c6, 0x02d1,
2534 0x02e0, 0x02e4,
2535 0x02ee, 0x02ee,
2536 0x0300, 0x036f,
2537 0x037a, 0x037a,
2538 0x0386, 0x0386,
2539 0x0388, 0x038a,
2540 0x038c, 0x038c,
2541 0x038e, 0x03a1,
2542 0x03a3, 0x03ce,
2543 0x03d0, 0x03f5,
2544 0x03f7, 0x0481,
2545 0x0483, 0x0486,
2546 0x0488, 0x04ce,
2547 0x04d0, 0x04f9,
2548 0x0500, 0x050f,
2549 0x0531, 0x0556,
2550 0x0559, 0x0559,
2551 0x0561, 0x0587,
2552 0x0591, 0x05b9,
2553 0x05bb, 0x05bd,
2554 0x05bf, 0x05bf,
2555 0x05c1, 0x05c2,
2556 0x05c4, 0x05c5,
2557 0x05c7, 0x05c7,
2558 0x05d0, 0x05ea,
2559 0x05f0, 0x05f2,
2560 0x0610, 0x0615,
2561 0x0621, 0x063a,
2562 0x0640, 0x065e,
2563 0x0660, 0x0669,
2564 0x066e, 0x06d3,
2565 0x06d5, 0x06dc,
2566 0x06de, 0x06e8,
2567 0x06ea, 0x06fc,
2568 0x06ff, 0x06ff,
2569 0x0710, 0x074a,
2570 0x074d, 0x076d,
2571 0x0780, 0x07b1,
2572 0x0901, 0x0939,
2573 0x093c, 0x094d,
2574 0x0950, 0x0954,
2575 0x0958, 0x0963,
2576 0x0966, 0x096f,
2577 0x097d, 0x097d,
2578 0x0981, 0x0983,
2579 0x0985, 0x098c,
2580 0x098f, 0x0990,
2581 0x0993, 0x09a8,
2582 0x09aa, 0x09b0,
2583 0x09b2, 0x09b2,
2584 0x09b6, 0x09b9,
2585 0x09bc, 0x09c4,
2586 0x09c7, 0x09c8,
2587 0x09cb, 0x09ce,
2588 0x09d7, 0x09d7,
2589 0x09dc, 0x09dd,
2590 0x09df, 0x09e3,
2591 0x09e6, 0x09f1,
2592 0x09f4, 0x09f9,
2593 0x0a01, 0x0a03,
2594 0x0a05, 0x0a0a,
2595 0x0a0f, 0x0a10,
2596 0x0a13, 0x0a28,
2597 0x0a2a, 0x0a30,
2598 0x0a32, 0x0a33,
2599 0x0a35, 0x0a36,
2600 0x0a38, 0x0a39,
2601 0x0a3c, 0x0a3c,
2602 0x0a3e, 0x0a42,
2603 0x0a47, 0x0a48,
2604 0x0a4b, 0x0a4d,
2605 0x0a59, 0x0a5c,
2606 0x0a5e, 0x0a5e,
2607 0x0a66, 0x0a74,
2608 0x0a81, 0x0a83,
2609 0x0a85, 0x0a8d,
2610 0x0a8f, 0x0a91,
2611 0x0a93, 0x0aa8,
2612 0x0aaa, 0x0ab0,
2613 0x0ab2, 0x0ab3,
2614 0x0ab5, 0x0ab9,
2615 0x0abc, 0x0ac5,
2616 0x0ac7, 0x0ac9,
2617 0x0acb, 0x0acd,
2618 0x0ad0, 0x0ad0,
2619 0x0ae0, 0x0ae3,
2620 0x0ae6, 0x0aef,
2621 0x0b01, 0x0b03,
2622 0x0b05, 0x0b0c,
2623 0x0b0f, 0x0b10,
2624 0x0b13, 0x0b28,
2625 0x0b2a, 0x0b30,
2626 0x0b32, 0x0b33,
2627 0x0b35, 0x0b39,
2628 0x0b3c, 0x0b43,
2629 0x0b47, 0x0b48,
2630 0x0b4b, 0x0b4d,
2631 0x0b56, 0x0b57,
2632 0x0b5c, 0x0b5d,
2633 0x0b5f, 0x0b61,
2634 0x0b66, 0x0b6f,
2635 0x0b71, 0x0b71,
2636 0x0b82, 0x0b83,
2637 0x0b85, 0x0b8a,
2638 0x0b8e, 0x0b90,
2639 0x0b92, 0x0b95,
2640 0x0b99, 0x0b9a,
2641 0x0b9c, 0x0b9c,
2642 0x0b9e, 0x0b9f,
2643 0x0ba3, 0x0ba4,
2644 0x0ba8, 0x0baa,
2645 0x0bae, 0x0bb9,
2646 0x0bbe, 0x0bc2,
2647 0x0bc6, 0x0bc8,
2648 0x0bca, 0x0bcd,
2649 0x0bd7, 0x0bd7,
2650 0x0be6, 0x0bf2,
2651 0x0c01, 0x0c03,
2652 0x0c05, 0x0c0c,
2653 0x0c0e, 0x0c10,
2654 0x0c12, 0x0c28,
2655 0x0c2a, 0x0c33,
2656 0x0c35, 0x0c39,
2657 0x0c3e, 0x0c44,
2658 0x0c46, 0x0c48,
2659 0x0c4a, 0x0c4d,
2660 0x0c55, 0x0c56,
2661 0x0c60, 0x0c61,
2662 0x0c66, 0x0c6f,
2663 0x0c82, 0x0c83,
2664 0x0c85, 0x0c8c,
2665 0x0c8e, 0x0c90,
2666 0x0c92, 0x0ca8,
2667 0x0caa, 0x0cb3,
2668 0x0cb5, 0x0cb9,
2669 0x0cbc, 0x0cc4,
2670 0x0cc6, 0x0cc8,
2671 0x0cca, 0x0ccd,
2672 0x0cd5, 0x0cd6,
2673 0x0cde, 0x0cde,
2674 0x0ce0, 0x0ce1,
2675 0x0ce6, 0x0cef,
2676 0x0d02, 0x0d03,
2677 0x0d05, 0x0d0c,
2678 0x0d0e, 0x0d10,
2679 0x0d12, 0x0d28,
2680 0x0d2a, 0x0d39,
2681 0x0d3e, 0x0d43,
2682 0x0d46, 0x0d48,
2683 0x0d4a, 0x0d4d,
2684 0x0d57, 0x0d57,
2685 0x0d60, 0x0d61,
2686 0x0d66, 0x0d6f,
2687 0x0d82, 0x0d83,
2688 0x0d85, 0x0d96,
2689 0x0d9a, 0x0db1,
2690 0x0db3, 0x0dbb,
2691 0x0dbd, 0x0dbd,
2692 0x0dc0, 0x0dc6,
2693 0x0dca, 0x0dca,
2694 0x0dcf, 0x0dd4,
2695 0x0dd6, 0x0dd6,
2696 0x0dd8, 0x0ddf,
2697 0x0df2, 0x0df3,
2698 0x0e01, 0x0e3a,
2699 0x0e40, 0x0e4e,
2700 0x0e50, 0x0e59,
2701 0x0e81, 0x0e82,
2702 0x0e84, 0x0e84,
2703 0x0e87, 0x0e88,
2704 0x0e8a, 0x0e8a,
2705 0x0e8d, 0x0e8d,
2706 0x0e94, 0x0e97,
2707 0x0e99, 0x0e9f,
2708 0x0ea1, 0x0ea3,
2709 0x0ea5, 0x0ea5,
2710 0x0ea7, 0x0ea7,
2711 0x0eaa, 0x0eab,
2712 0x0ead, 0x0eb9,
2713 0x0ebb, 0x0ebd,
2714 0x0ec0, 0x0ec4,
2715 0x0ec6, 0x0ec6,
2716 0x0ec8, 0x0ecd,
2717 0x0ed0, 0x0ed9,
2718 0x0edc, 0x0edd,
2719 0x0f00, 0x0f00,
2720 0x0f18, 0x0f19,
2721 0x0f20, 0x0f33,
2722 0x0f35, 0x0f35,
2723 0x0f37, 0x0f37,
2724 0x0f39, 0x0f39,
2725 0x0f3e, 0x0f47,
2726 0x0f49, 0x0f6a,
2727 0x0f71, 0x0f84,
2728 0x0f86, 0x0f8b,
2729 0x0f90, 0x0f97,
2730 0x0f99, 0x0fbc,
2731 0x0fc6, 0x0fc6,
2732 0x1000, 0x1021,
2733 0x1023, 0x1027,
2734 0x1029, 0x102a,
2735 0x102c, 0x1032,
2736 0x1036, 0x1039,
2737 0x1040, 0x1049,
2738 0x1050, 0x1059,
2739 0x10a0, 0x10c5,
2740 0x10d0, 0x10fa,
2741 0x10fc, 0x10fc,
2742 0x1100, 0x1159,
2743 0x115f, 0x11a2,
2744 0x11a8, 0x11f9,
2745 0x1200, 0x1248,
2746 0x124a, 0x124d,
2747 0x1250, 0x1256,
2748 0x1258, 0x1258,
2749 0x125a, 0x125d,
2750 0x1260, 0x1288,
2751 0x128a, 0x128d,
2752 0x1290, 0x12b0,
2753 0x12b2, 0x12b5,
2754 0x12b8, 0x12be,
2755 0x12c0, 0x12c0,
2756 0x12c2, 0x12c5,
2757 0x12c8, 0x12d6,
2758 0x12d8, 0x1310,
2759 0x1312, 0x1315,
2760 0x1318, 0x135a,
2761 0x135f, 0x135f,
2762 0x1369, 0x137c,
2763 0x1380, 0x138f,
2764 0x13a0, 0x13f4,
2765 0x1401, 0x166c,
2766 0x166f, 0x1676,
2767 0x1681, 0x169a,
2768 0x16a0, 0x16ea,
2769 0x16ee, 0x16f0,
2770 0x1700, 0x170c,
2771 0x170e, 0x1714,
2772 0x1720, 0x1734,
2773 0x1740, 0x1753,
2774 0x1760, 0x176c,
2775 0x176e, 0x1770,
2776 0x1772, 0x1773,
2777 0x1780, 0x17b3,
2778 0x17b6, 0x17d3,
2779 0x17d7, 0x17d7,
2780 0x17dc, 0x17dd,
2781 0x17e0, 0x17e9,
2782 0x17f0, 0x17f9,
2783 0x180b, 0x180d,
2784 0x1810, 0x1819,
2785 0x1820, 0x1877,
2786 0x1880, 0x18a9,
2787 0x1900, 0x191c,
2788 0x1920, 0x192b,
2789 0x1930, 0x193b,
2790 0x1946, 0x196d,
2791 0x1970, 0x1974,
2792 0x1980, 0x19a9,
2793 0x19b0, 0x19c9,
2794 0x19d0, 0x19d9,
2795 0x1a00, 0x1a1b,
2796 0x1d00, 0x1dc3,
2797 0x1e00, 0x1e9b,
2798 0x1ea0, 0x1ef9,
2799 0x1f00, 0x1f15,
2800 0x1f18, 0x1f1d,
2801 0x1f20, 0x1f45,
2802 0x1f48, 0x1f4d,
2803 0x1f50, 0x1f57,
2804 0x1f59, 0x1f59,
2805 0x1f5b, 0x1f5b,
2806 0x1f5d, 0x1f5d,
2807 0x1f5f, 0x1f7d,
2808 0x1f80, 0x1fb4,
2809 0x1fb6, 0x1fbc,
2810 0x1fbe, 0x1fbe,
2811 0x1fc2, 0x1fc4,
2812 0x1fc6, 0x1fcc,
2813 0x1fd0, 0x1fd3,
2814 0x1fd6, 0x1fdb,
2815 0x1fe0, 0x1fec,
2816 0x1ff2, 0x1ff4,
2817 0x1ff6, 0x1ffc,
2818 0x203f, 0x2040,
2819 0x2054, 0x2054,
2820 0x2070, 0x2071,
2821 0x2074, 0x2079,
2822 0x207f, 0x2089,
2823 0x2090, 0x2094,
2824 0x20d0, 0x20eb,
2825 0x2102, 0x2102,
2826 0x2107, 0x2107,
2827 0x210a, 0x2113,
2828 0x2115, 0x2115,
2829 0x2119, 0x211d,
2830 0x2124, 0x2124,
2831 0x2126, 0x2126,
2832 0x2128, 0x2128,
2833 0x212a, 0x212d,
2834 0x212f, 0x2131,
2835 0x2133, 0x2139,
2836 0x213c, 0x213f,
2837 0x2145, 0x2149,
2838 0x2153, 0x2183,
2839 0x2460, 0x249b,
2840 0x24ea, 0x24ff,
2841 0x2776, 0x2793,
2842 0x2c00, 0x2c2e,
2843 0x2c30, 0x2c5e,
2844 0x2c80, 0x2ce4,
2845 0x2cfd, 0x2cfd,
2846 0x2d00, 0x2d25,
2847 0x2d30, 0x2d65,
2848 0x2d6f, 0x2d6f,
2849 0x2d80, 0x2d96,
2850 0x2da0, 0x2da6,
2851 0x2da8, 0x2dae,
2852 0x2db0, 0x2db6,
2853 0x2db8, 0x2dbe,
2854 0x2dc0, 0x2dc6,
2855 0x2dc8, 0x2dce,
2856 0x2dd0, 0x2dd6,
2857 0x2dd8, 0x2dde,
2858 0x3005, 0x3007,
2859 0x3021, 0x302f,
2860 0x3031, 0x3035,
2861 0x3038, 0x303c,
2862 0x3041, 0x3096,
2863 0x3099, 0x309a,
2864 0x309d, 0x309f,
2865 0x30a1, 0x30fa,
2866 0x30fc, 0x30ff,
2867 0x3105, 0x312c,
2868 0x3131, 0x318e,
2869 0x3192, 0x3195,
2870 0x31a0, 0x31b7,
2871 0x31f0, 0x31ff,
2872 0x3220, 0x3229,
2873 0x3251, 0x325f,
2874 0x3280, 0x3289,
2875 0x32b1, 0x32bf,
2876 0x3400, 0x4db5,
2877 0x4e00, 0x9fbb,
2878 0xa000, 0xa48c,
2879 0xa800, 0xa827,
2880 0xac00, 0xd7a3,
2881 0xf900, 0xfa2d,
2882 0xfa30, 0xfa6a,
2883 0xfa70, 0xfad9,
2884 0xfb00, 0xfb06,
2885 0xfb13, 0xfb17,
2886 0xfb1d, 0xfb28,
2887 0xfb2a, 0xfb36,
2888 0xfb38, 0xfb3c,
2889 0xfb3e, 0xfb3e,
2890 0xfb40, 0xfb41,
2891 0xfb43, 0xfb44,
2892 0xfb46, 0xfbb1,
2893 0xfbd3, 0xfd3d,
2894 0xfd50, 0xfd8f,
2895 0xfd92, 0xfdc7,
2896 0xfdf0, 0xfdfb,
2897 0xfe00, 0xfe0f,
2898 0xfe20, 0xfe23,
2899 0xfe33, 0xfe34,
2900 0xfe4d, 0xfe4f,
2901 0xfe70, 0xfe74,
2902 0xfe76, 0xfefc,
2903 0xff10, 0xff19,
2904 0xff21, 0xff3a,
2905 0xff3f, 0xff3f,
2906 0xff41, 0xff5a,
2907 0xff66, 0xffbe,
2908 0xffc2, 0xffc7,
2909 0xffca, 0xffcf,
2910 0xffd2, 0xffd7,
2911 0xffda, 0xffdc,
2912 0x10000, 0x1000b,
2913 0x1000d, 0x10026,
2914 0x10028, 0x1003a,
2915 0x1003c, 0x1003d,
2916 0x1003f, 0x1004d,
2917 0x10050, 0x1005d,
2918 0x10080, 0x100fa,
2919 0x10107, 0x10133,
2920 0x10140, 0x10178,
2921 0x1018a, 0x1018a,
2922 0x10300, 0x1031e,
2923 0x10320, 0x10323,
2924 0x10330, 0x1034a,
2925 0x10380, 0x1039d,
2926 0x103a0, 0x103c3,
2927 0x103c8, 0x103cf,
2928 0x103d1, 0x103d5,
2929 0x10400, 0x1049d,
2930 0x104a0, 0x104a9,
2931 0x10800, 0x10805,
2932 0x10808, 0x10808,
2933 0x1080a, 0x10835,
2934 0x10837, 0x10838,
2935 0x1083c, 0x1083c,
2936 0x1083f, 0x1083f,
2937 0x10a00, 0x10a03,
2938 0x10a05, 0x10a06,
2939 0x10a0c, 0x10a13,
2940 0x10a15, 0x10a17,
2941 0x10a19, 0x10a33,
2942 0x10a38, 0x10a3a,
2943 0x10a3f, 0x10a47,
2944 0x1d165, 0x1d169,
2945 0x1d16d, 0x1d172,
2946 0x1d17b, 0x1d182,
2947 0x1d185, 0x1d18b,
2948 0x1d1aa, 0x1d1ad,
2949 0x1d242, 0x1d244,
2950 0x1d400, 0x1d454,
2951 0x1d456, 0x1d49c,
2952 0x1d49e, 0x1d49f,
2953 0x1d4a2, 0x1d4a2,
2954 0x1d4a5, 0x1d4a6,
2955 0x1d4a9, 0x1d4ac,
2956 0x1d4ae, 0x1d4b9,
2957 0x1d4bb, 0x1d4bb,
2958 0x1d4bd, 0x1d4c3,
2959 0x1d4c5, 0x1d505,
2960 0x1d507, 0x1d50a,
2961 0x1d50d, 0x1d514,
2962 0x1d516, 0x1d51c,
2963 0x1d51e, 0x1d539,
2964 0x1d53b, 0x1d53e,
2965 0x1d540, 0x1d544,
2966 0x1d546, 0x1d546,
2967 0x1d54a, 0x1d550,
2968 0x1d552, 0x1d6a5,
2969 0x1d6a8, 0x1d6c0,
2970 0x1d6c2, 0x1d6da,
2971 0x1d6dc, 0x1d6fa,
2972 0x1d6fc, 0x1d714,
2973 0x1d716, 0x1d734,
2974 0x1d736, 0x1d74e,
2975 0x1d750, 0x1d76e,
2976 0x1d770, 0x1d788,
2977 0x1d78a, 0x1d7a8,
2978 0x1d7aa, 0x1d7c2,
2979 0x1d7c4, 0x1d7c9,
2980 0x1d7ce, 0x1d7ff,
2981 0x20000, 0x2a6d6,
2982 0x2f800, 0x2fa1d,
2983 0xe0100, 0xe01ef
2984 }; /* CR_Word */
2985
2986 /* 'Alnum': [[:Alnum:]] */
2987 static const OnigCodePoint CR_Alnum[] = {
2988 436,
2989 0x0030, 0x0039,
2990 0x0041, 0x005a,
2991 0x0061, 0x007a,
2992 0x00aa, 0x00aa,
2993 0x00b5, 0x00b5,
2994 0x00ba, 0x00ba,
2995 0x00c0, 0x00d6,
2996 0x00d8, 0x00f6,
2997 0x00f8, 0x0241,
2998 0x0250, 0x02c1,
2999 0x02c6, 0x02d1,
3000 0x02e0, 0x02e4,
3001 0x02ee, 0x02ee,
3002 0x0300, 0x036f,
3003 0x037a, 0x037a,
3004 0x0386, 0x0386,
3005 0x0388, 0x038a,
3006 0x038c, 0x038c,
3007 0x038e, 0x03a1,
3008 0x03a3, 0x03ce,
3009 0x03d0, 0x03f5,
3010 0x03f7, 0x0481,
3011 0x0483, 0x0486,
3012 0x0488, 0x04ce,
3013 0x04d0, 0x04f9,
3014 0x0500, 0x050f,
3015 0x0531, 0x0556,
3016 0x0559, 0x0559,
3017 0x0561, 0x0587,
3018 0x0591, 0x05b9,
3019 0x05bb, 0x05bd,
3020 0x05bf, 0x05bf,
3021 0x05c1, 0x05c2,
3022 0x05c4, 0x05c5,
3023 0x05c7, 0x05c7,
3024 0x05d0, 0x05ea,
3025 0x05f0, 0x05f2,
3026 0x0610, 0x0615,
3027 0x0621, 0x063a,
3028 0x0640, 0x065e,
3029 0x0660, 0x0669,
3030 0x066e, 0x06d3,
3031 0x06d5, 0x06dc,
3032 0x06de, 0x06e8,
3033 0x06ea, 0x06fc,
3034 0x06ff, 0x06ff,
3035 0x0710, 0x074a,
3036 0x074d, 0x076d,
3037 0x0780, 0x07b1,
3038 0x0901, 0x0939,
3039 0x093c, 0x094d,
3040 0x0950, 0x0954,
3041 0x0958, 0x0963,
3042 0x0966, 0x096f,
3043 0x097d, 0x097d,
3044 0x0981, 0x0983,
3045 0x0985, 0x098c,
3046 0x098f, 0x0990,
3047 0x0993, 0x09a8,
3048 0x09aa, 0x09b0,
3049 0x09b2, 0x09b2,
3050 0x09b6, 0x09b9,
3051 0x09bc, 0x09c4,
3052 0x09c7, 0x09c8,
3053 0x09cb, 0x09ce,
3054 0x09d7, 0x09d7,
3055 0x09dc, 0x09dd,
3056 0x09df, 0x09e3,
3057 0x09e6, 0x09f1,
3058 0x0a01, 0x0a03,
3059 0x0a05, 0x0a0a,
3060 0x0a0f, 0x0a10,
3061 0x0a13, 0x0a28,
3062 0x0a2a, 0x0a30,
3063 0x0a32, 0x0a33,
3064 0x0a35, 0x0a36,
3065 0x0a38, 0x0a39,
3066 0x0a3c, 0x0a3c,
3067 0x0a3e, 0x0a42,
3068 0x0a47, 0x0a48,
3069 0x0a4b, 0x0a4d,
3070 0x0a59, 0x0a5c,
3071 0x0a5e, 0x0a5e,
3072 0x0a66, 0x0a74,
3073 0x0a81, 0x0a83,
3074 0x0a85, 0x0a8d,
3075 0x0a8f, 0x0a91,
3076 0x0a93, 0x0aa8,
3077 0x0aaa, 0x0ab0,
3078 0x0ab2, 0x0ab3,
3079 0x0ab5, 0x0ab9,
3080 0x0abc, 0x0ac5,
3081 0x0ac7, 0x0ac9,
3082 0x0acb, 0x0acd,
3083 0x0ad0, 0x0ad0,
3084 0x0ae0, 0x0ae3,
3085 0x0ae6, 0x0aef,
3086 0x0b01, 0x0b03,
3087 0x0b05, 0x0b0c,
3088 0x0b0f, 0x0b10,
3089 0x0b13, 0x0b28,
3090 0x0b2a, 0x0b30,
3091 0x0b32, 0x0b33,
3092 0x0b35, 0x0b39,
3093 0x0b3c, 0x0b43,
3094 0x0b47, 0x0b48,
3095 0x0b4b, 0x0b4d,
3096 0x0b56, 0x0b57,
3097 0x0b5c, 0x0b5d,
3098 0x0b5f, 0x0b61,
3099 0x0b66, 0x0b6f,
3100 0x0b71, 0x0b71,
3101 0x0b82, 0x0b83,
3102 0x0b85, 0x0b8a,
3103 0x0b8e, 0x0b90,
3104 0x0b92, 0x0b95,
3105 0x0b99, 0x0b9a,
3106 0x0b9c, 0x0b9c,
3107 0x0b9e, 0x0b9f,
3108 0x0ba3, 0x0ba4,
3109 0x0ba8, 0x0baa,
3110 0x0bae, 0x0bb9,
3111 0x0bbe, 0x0bc2,
3112 0x0bc6, 0x0bc8,
3113 0x0bca, 0x0bcd,
3114 0x0bd7, 0x0bd7,
3115 0x0be6, 0x0bef,
3116 0x0c01, 0x0c03,
3117 0x0c05, 0x0c0c,
3118 0x0c0e, 0x0c10,
3119 0x0c12, 0x0c28,
3120 0x0c2a, 0x0c33,
3121 0x0c35, 0x0c39,
3122 0x0c3e, 0x0c44,
3123 0x0c46, 0x0c48,
3124 0x0c4a, 0x0c4d,
3125 0x0c55, 0x0c56,
3126 0x0c60, 0x0c61,
3127 0x0c66, 0x0c6f,
3128 0x0c82, 0x0c83,
3129 0x0c85, 0x0c8c,
3130 0x0c8e, 0x0c90,
3131 0x0c92, 0x0ca8,
3132 0x0caa, 0x0cb3,
3133 0x0cb5, 0x0cb9,
3134 0x0cbc, 0x0cc4,
3135 0x0cc6, 0x0cc8,
3136 0x0cca, 0x0ccd,
3137 0x0cd5, 0x0cd6,
3138 0x0cde, 0x0cde,
3139 0x0ce0, 0x0ce1,
3140 0x0ce6, 0x0cef,
3141 0x0d02, 0x0d03,
3142 0x0d05, 0x0d0c,
3143 0x0d0e, 0x0d10,
3144 0x0d12, 0x0d28,
3145 0x0d2a, 0x0d39,
3146 0x0d3e, 0x0d43,
3147 0x0d46, 0x0d48,
3148 0x0d4a, 0x0d4d,
3149 0x0d57, 0x0d57,
3150 0x0d60, 0x0d61,
3151 0x0d66, 0x0d6f,
3152 0x0d82, 0x0d83,
3153 0x0d85, 0x0d96,
3154 0x0d9a, 0x0db1,
3155 0x0db3, 0x0dbb,
3156 0x0dbd, 0x0dbd,
3157 0x0dc0, 0x0dc6,
3158 0x0dca, 0x0dca,
3159 0x0dcf, 0x0dd4,
3160 0x0dd6, 0x0dd6,
3161 0x0dd8, 0x0ddf,
3162 0x0df2, 0x0df3,
3163 0x0e01, 0x0e3a,
3164 0x0e40, 0x0e4e,
3165 0x0e50, 0x0e59,
3166 0x0e81, 0x0e82,
3167 0x0e84, 0x0e84,
3168 0x0e87, 0x0e88,
3169 0x0e8a, 0x0e8a,
3170 0x0e8d, 0x0e8d,
3171 0x0e94, 0x0e97,
3172 0x0e99, 0x0e9f,
3173 0x0ea1, 0x0ea3,
3174 0x0ea5, 0x0ea5,
3175 0x0ea7, 0x0ea7,
3176 0x0eaa, 0x0eab,
3177 0x0ead, 0x0eb9,
3178 0x0ebb, 0x0ebd,
3179 0x0ec0, 0x0ec4,
3180 0x0ec6, 0x0ec6,
3181 0x0ec8, 0x0ecd,
3182 0x0ed0, 0x0ed9,
3183 0x0edc, 0x0edd,
3184 0x0f00, 0x0f00,
3185 0x0f18, 0x0f19,
3186 0x0f20, 0x0f29,
3187 0x0f35, 0x0f35,
3188 0x0f37, 0x0f37,
3189 0x0f39, 0x0f39,
3190 0x0f3e, 0x0f47,
3191 0x0f49, 0x0f6a,
3192 0x0f71, 0x0f84,
3193 0x0f86, 0x0f8b,
3194 0x0f90, 0x0f97,
3195 0x0f99, 0x0fbc,
3196 0x0fc6, 0x0fc6,
3197 0x1000, 0x1021,
3198 0x1023, 0x1027,
3199 0x1029, 0x102a,
3200 0x102c, 0x1032,
3201 0x1036, 0x1039,
3202 0x1040, 0x1049,
3203 0x1050, 0x1059,
3204 0x10a0, 0x10c5,
3205 0x10d0, 0x10fa,
3206 0x10fc, 0x10fc,
3207 0x1100, 0x1159,
3208 0x115f, 0x11a2,
3209 0x11a8, 0x11f9,
3210 0x1200, 0x1248,
3211 0x124a, 0x124d,
3212 0x1250, 0x1256,
3213 0x1258, 0x1258,
3214 0x125a, 0x125d,
3215 0x1260, 0x1288,
3216 0x128a, 0x128d,
3217 0x1290, 0x12b0,
3218 0x12b2, 0x12b5,
3219 0x12b8, 0x12be,
3220 0x12c0, 0x12c0,
3221 0x12c2, 0x12c5,
3222 0x12c8, 0x12d6,
3223 0x12d8, 0x1310,
3224 0x1312, 0x1315,
3225 0x1318, 0x135a,
3226 0x135f, 0x135f,
3227 0x1380, 0x138f,
3228 0x13a0, 0x13f4,
3229 0x1401, 0x166c,
3230 0x166f, 0x1676,
3231 0x1681, 0x169a,
3232 0x16a0, 0x16ea,
3233 0x1700, 0x170c,
3234 0x170e, 0x1714,
3235 0x1720, 0x1734,
3236 0x1740, 0x1753,
3237 0x1760, 0x176c,
3238 0x176e, 0x1770,
3239 0x1772, 0x1773,
3240 0x1780, 0x17b3,
3241 0x17b6, 0x17d3,
3242 0x17d7, 0x17d7,
3243 0x17dc, 0x17dd,
3244 0x17e0, 0x17e9,
3245 0x180b, 0x180d,
3246 0x1810, 0x1819,
3247 0x1820, 0x1877,
3248 0x1880, 0x18a9,
3249 0x1900, 0x191c,
3250 0x1920, 0x192b,
3251 0x1930, 0x193b,
3252 0x1946, 0x196d,
3253 0x1970, 0x1974,
3254 0x1980, 0x19a9,
3255 0x19b0, 0x19c9,
3256 0x19d0, 0x19d9,
3257 0x1a00, 0x1a1b,
3258 0x1d00, 0x1dc3,
3259 0x1e00, 0x1e9b,
3260 0x1ea0, 0x1ef9,
3261 0x1f00, 0x1f15,
3262 0x1f18, 0x1f1d,
3263 0x1f20, 0x1f45,
3264 0x1f48, 0x1f4d,
3265 0x1f50, 0x1f57,
3266 0x1f59, 0x1f59,
3267 0x1f5b, 0x1f5b,
3268 0x1f5d, 0x1f5d,
3269 0x1f5f, 0x1f7d,
3270 0x1f80, 0x1fb4,
3271 0x1fb6, 0x1fbc,
3272 0x1fbe, 0x1fbe,
3273 0x1fc2, 0x1fc4,
3274 0x1fc6, 0x1fcc,
3275 0x1fd0, 0x1fd3,
3276 0x1fd6, 0x1fdb,
3277 0x1fe0, 0x1fec,
3278 0x1ff2, 0x1ff4,
3279 0x1ff6, 0x1ffc,
3280 0x2071, 0x2071,
3281 0x207f, 0x207f,
3282 0x2090, 0x2094,
3283 0x20d0, 0x20eb,
3284 0x2102, 0x2102,
3285 0x2107, 0x2107,
3286 0x210a, 0x2113,
3287 0x2115, 0x2115,
3288 0x2119, 0x211d,
3289 0x2124, 0x2124,
3290 0x2126, 0x2126,
3291 0x2128, 0x2128,
3292 0x212a, 0x212d,
3293 0x212f, 0x2131,
3294 0x2133, 0x2139,
3295 0x213c, 0x213f,
3296 0x2145, 0x2149,
3297 0x2c00, 0x2c2e,
3298 0x2c30, 0x2c5e,
3299 0x2c80, 0x2ce4,
3300 0x2d00, 0x2d25,
3301 0x2d30, 0x2d65,
3302 0x2d6f, 0x2d6f,
3303 0x2d80, 0x2d96,
3304 0x2da0, 0x2da6,
3305 0x2da8, 0x2dae,
3306 0x2db0, 0x2db6,
3307 0x2db8, 0x2dbe,
3308 0x2dc0, 0x2dc6,
3309 0x2dc8, 0x2dce,
3310 0x2dd0, 0x2dd6,
3311 0x2dd8, 0x2dde,
3312 0x3005, 0x3006,
3313 0x302a, 0x302f,
3314 0x3031, 0x3035,
3315 0x303b, 0x303c,
3316 0x3041, 0x3096,
3317 0x3099, 0x309a,
3318 0x309d, 0x309f,
3319 0x30a1, 0x30fa,
3320 0x30fc, 0x30ff,
3321 0x3105, 0x312c,
3322 0x3131, 0x318e,
3323 0x31a0, 0x31b7,
3324 0x31f0, 0x31ff,
3325 0x3400, 0x4db5,
3326 0x4e00, 0x9fbb,
3327 0xa000, 0xa48c,
3328 0xa800, 0xa827,
3329 0xac00, 0xd7a3,
3330 0xf900, 0xfa2d,
3331 0xfa30, 0xfa6a,
3332 0xfa70, 0xfad9,
3333 0xfb00, 0xfb06,
3334 0xfb13, 0xfb17,
3335 0xfb1d, 0xfb28,
3336 0xfb2a, 0xfb36,
3337 0xfb38, 0xfb3c,
3338 0xfb3e, 0xfb3e,
3339 0xfb40, 0xfb41,
3340 0xfb43, 0xfb44,
3341 0xfb46, 0xfbb1,
3342 0xfbd3, 0xfd3d,
3343 0xfd50, 0xfd8f,
3344 0xfd92, 0xfdc7,
3345 0xfdf0, 0xfdfb,
3346 0xfe00, 0xfe0f,
3347 0xfe20, 0xfe23,
3348 0xfe70, 0xfe74,
3349 0xfe76, 0xfefc,
3350 0xff10, 0xff19,
3351 0xff21, 0xff3a,
3352 0xff41, 0xff5a,
3353 0xff66, 0xffbe,
3354 0xffc2, 0xffc7,
3355 0xffca, 0xffcf,
3356 0xffd2, 0xffd7,
3357 0xffda, 0xffdc,
3358 0x10000, 0x1000b,
3359 0x1000d, 0x10026,
3360 0x10028, 0x1003a,
3361 0x1003c, 0x1003d,
3362 0x1003f, 0x1004d,
3363 0x10050, 0x1005d,
3364 0x10080, 0x100fa,
3365 0x10300, 0x1031e,
3366 0x10330, 0x10349,
3367 0x10380, 0x1039d,
3368 0x103a0, 0x103c3,
3369 0x103c8, 0x103cf,
3370 0x10400, 0x1049d,
3371 0x104a0, 0x104a9,
3372 0x10800, 0x10805,
3373 0x10808, 0x10808,
3374 0x1080a, 0x10835,
3375 0x10837, 0x10838,
3376 0x1083c, 0x1083c,
3377 0x1083f, 0x1083f,
3378 0x10a00, 0x10a03,
3379 0x10a05, 0x10a06,
3380 0x10a0c, 0x10a13,
3381 0x10a15, 0x10a17,
3382 0x10a19, 0x10a33,
3383 0x10a38, 0x10a3a,
3384 0x10a3f, 0x10a3f,
3385 0x1d165, 0x1d169,
3386 0x1d16d, 0x1d172,
3387 0x1d17b, 0x1d182,
3388 0x1d185, 0x1d18b,
3389 0x1d1aa, 0x1d1ad,
3390 0x1d242, 0x1d244,
3391 0x1d400, 0x1d454,
3392 0x1d456, 0x1d49c,
3393 0x1d49e, 0x1d49f,
3394 0x1d4a2, 0x1d4a2,
3395 0x1d4a5, 0x1d4a6,
3396 0x1d4a9, 0x1d4ac,
3397 0x1d4ae, 0x1d4b9,
3398 0x1d4bb, 0x1d4bb,
3399 0x1d4bd, 0x1d4c3,
3400 0x1d4c5, 0x1d505,
3401 0x1d507, 0x1d50a,
3402 0x1d50d, 0x1d514,
3403 0x1d516, 0x1d51c,
3404 0x1d51e, 0x1d539,
3405 0x1d53b, 0x1d53e,
3406 0x1d540, 0x1d544,
3407 0x1d546, 0x1d546,
3408 0x1d54a, 0x1d550,
3409 0x1d552, 0x1d6a5,
3410 0x1d6a8, 0x1d6c0,
3411 0x1d6c2, 0x1d6da,
3412 0x1d6dc, 0x1d6fa,
3413 0x1d6fc, 0x1d714,
3414 0x1d716, 0x1d734,
3415 0x1d736, 0x1d74e,
3416 0x1d750, 0x1d76e,
3417 0x1d770, 0x1d788,
3418 0x1d78a, 0x1d7a8,
3419 0x1d7aa, 0x1d7c2,
3420 0x1d7c4, 0x1d7c9,
3421 0x1d7ce, 0x1d7ff,
3422 0x20000, 0x2a6d6,
3423 0x2f800, 0x2fa1d,
3424 0xe0100, 0xe01ef
3425 }; /* CR_Alnum */
3426
3427 /* 'ASCII': [[:ASCII:]] */
3428 static const OnigCodePoint CR_ASCII[] = {
3429 1,
3430 0x0000, 0x007f
3431 }; /* CR_ASCII */
3432
3433 #ifdef USE_UNICODE_PROPERTIES
3434
3435 /* 'Any': - */
3436 static const OnigCodePoint CR_Any[] = {
3437 1,
3438 0x0000, 0x10ffff
3439 }; /* CR_Any */
3440
3441 /* 'Assigned': - */
3442 static const OnigCodePoint CR_Assigned[] = {
3443 420,
3444 0x0000, 0x0241,
3445 0x0250, 0x036f,
3446 0x0374, 0x0375,
3447 0x037a, 0x037a,
3448 0x037e, 0x037e,
3449 0x0384, 0x038a,
3450 0x038c, 0x038c,
3451 0x038e, 0x03a1,
3452 0x03a3, 0x03ce,
3453 0x03d0, 0x0486,
3454 0x0488, 0x04ce,
3455 0x04d0, 0x04f9,
3456 0x0500, 0x050f,
3457 0x0531, 0x0556,
3458 0x0559, 0x055f,
3459 0x0561, 0x0587,
3460 0x0589, 0x058a,
3461 0x0591, 0x05b9,
3462 0x05bb, 0x05c7,
3463 0x05d0, 0x05ea,
3464 0x05f0, 0x05f4,
3465 0x0600, 0x0603,
3466 0x060b, 0x0615,
3467 0x061b, 0x061b,
3468 0x061e, 0x061f,
3469 0x0621, 0x063a,
3470 0x0640, 0x065e,
3471 0x0660, 0x070d,
3472 0x070f, 0x074a,
3473 0x074d, 0x076d,
3474 0x0780, 0x07b1,
3475 0x0901, 0x0939,
3476 0x093c, 0x094d,
3477 0x0950, 0x0954,
3478 0x0958, 0x0970,
3479 0x097d, 0x097d,
3480 0x0981, 0x0983,
3481 0x0985, 0x098c,
3482 0x098f, 0x0990,
3483 0x0993, 0x09a8,
3484 0x09aa, 0x09b0,
3485 0x09b2, 0x09b2,
3486 0x09b6, 0x09b9,
3487 0x09bc, 0x09c4,
3488 0x09c7, 0x09c8,
3489 0x09cb, 0x09ce,
3490 0x09d7, 0x09d7,
3491 0x09dc, 0x09dd,
3492 0x09df, 0x09e3,
3493 0x09e6, 0x09fa,
3494 0x0a01, 0x0a03,
3495 0x0a05, 0x0a0a,
3496 0x0a0f, 0x0a10,
3497 0x0a13, 0x0a28,
3498 0x0a2a, 0x0a30,
3499 0x0a32, 0x0a33,
3500 0x0a35, 0x0a36,
3501 0x0a38, 0x0a39,
3502 0x0a3c, 0x0a3c,
3503 0x0a3e, 0x0a42,
3504 0x0a47, 0x0a48,
3505 0x0a4b, 0x0a4d,
3506 0x0a59, 0x0a5c,
3507 0x0a5e, 0x0a5e,
3508 0x0a66, 0x0a74,
3509 0x0a81, 0x0a83,
3510 0x0a85, 0x0a8d,
3511 0x0a8f, 0x0a91,
3512 0x0a93, 0x0aa8,
3513 0x0aaa, 0x0ab0,
3514 0x0ab2, 0x0ab3,
3515 0x0ab5, 0x0ab9,
3516 0x0abc, 0x0ac5,
3517 0x0ac7, 0x0ac9,
3518 0x0acb, 0x0acd,
3519 0x0ad0, 0x0ad0,
3520 0x0ae0, 0x0ae3,
3521 0x0ae6, 0x0aef,
3522 0x0af1, 0x0af1,
3523 0x0b01, 0x0b03,
3524 0x0b05, 0x0b0c,
3525 0x0b0f, 0x0b10,
3526 0x0b13, 0x0b28,
3527 0x0b2a, 0x0b30,
3528 0x0b32, 0x0b33,
3529 0x0b35, 0x0b39,
3530 0x0b3c, 0x0b43,
3531 0x0b47, 0x0b48,
3532 0x0b4b, 0x0b4d,
3533 0x0b56, 0x0b57,
3534 0x0b5c, 0x0b5d,
3535 0x0b5f, 0x0b61,
3536 0x0b66, 0x0b71,
3537 0x0b82, 0x0b83,
3538 0x0b85, 0x0b8a,
3539 0x0b8e, 0x0b90,
3540 0x0b92, 0x0b95,
3541 0x0b99, 0x0b9a,
3542 0x0b9c, 0x0b9c,
3543 0x0b9e, 0x0b9f,
3544 0x0ba3, 0x0ba4,
3545 0x0ba8, 0x0baa,
3546 0x0bae, 0x0bb9,
3547 0x0bbe, 0x0bc2,
3548 0x0bc6, 0x0bc8,
3549 0x0bca, 0x0bcd,
3550 0x0bd7, 0x0bd7,
3551 0x0be6, 0x0bfa,
3552 0x0c01, 0x0c03,
3553 0x0c05, 0x0c0c,
3554 0x0c0e, 0x0c10,
3555 0x0c12, 0x0c28,
3556 0x0c2a, 0x0c33,
3557 0x0c35, 0x0c39,
3558 0x0c3e, 0x0c44,
3559 0x0c46, 0x0c48,
3560 0x0c4a, 0x0c4d,
3561 0x0c55, 0x0c56,
3562 0x0c60, 0x0c61,
3563 0x0c66, 0x0c6f,
3564 0x0c82, 0x0c83,
3565 0x0c85, 0x0c8c,
3566 0x0c8e, 0x0c90,
3567 0x0c92, 0x0ca8,
3568 0x0caa, 0x0cb3,
3569 0x0cb5, 0x0cb9,
3570 0x0cbc, 0x0cc4,
3571 0x0cc6, 0x0cc8,
3572 0x0cca, 0x0ccd,
3573 0x0cd5, 0x0cd6,
3574 0x0cde, 0x0cde,
3575 0x0ce0, 0x0ce1,
3576 0x0ce6, 0x0cef,
3577 0x0d02, 0x0d03,
3578 0x0d05, 0x0d0c,
3579 0x0d0e, 0x0d10,
3580 0x0d12, 0x0d28,
3581 0x0d2a, 0x0d39,
3582 0x0d3e, 0x0d43,
3583 0x0d46, 0x0d48,
3584 0x0d4a, 0x0d4d,
3585 0x0d57, 0x0d57,
3586 0x0d60, 0x0d61,
3587 0x0d66, 0x0d6f,
3588 0x0d82, 0x0d83,
3589 0x0d85, 0x0d96,
3590 0x0d9a, 0x0db1,
3591 0x0db3, 0x0dbb,
3592 0x0dbd, 0x0dbd,
3593 0x0dc0, 0x0dc6,
3594 0x0dca, 0x0dca,
3595 0x0dcf, 0x0dd4,
3596 0x0dd6, 0x0dd6,
3597 0x0dd8, 0x0ddf,
3598 0x0df2, 0x0df4,
3599 0x0e01, 0x0e3a,
3600 0x0e3f, 0x0e5b,
3601 0x0e81, 0x0e82,
3602 0x0e84, 0x0e84,
3603 0x0e87, 0x0e88,
3604 0x0e8a, 0x0e8a,
3605 0x0e8d, 0x0e8d,
3606 0x0e94, 0x0e97,
3607 0x0e99, 0x0e9f,
3608 0x0ea1, 0x0ea3,
3609 0x0ea5, 0x0ea5,
3610 0x0ea7, 0x0ea7,
3611 0x0eaa, 0x0eab,
3612 0x0ead, 0x0eb9,
3613 0x0ebb, 0x0ebd,
3614 0x0ec0, 0x0ec4,
3615 0x0ec6, 0x0ec6,
3616 0x0ec8, 0x0ecd,
3617 0x0ed0, 0x0ed9,
3618 0x0edc, 0x0edd,
3619 0x0f00, 0x0f47,
3620 0x0f49, 0x0f6a,
3621 0x0f71, 0x0f8b,
3622 0x0f90, 0x0f97,
3623 0x0f99, 0x0fbc,
3624 0x0fbe, 0x0fcc,
3625 0x0fcf, 0x0fd1,
3626 0x1000, 0x1021,
3627 0x1023, 0x1027,
3628 0x1029, 0x102a,
3629 0x102c, 0x1032,
3630 0x1036, 0x1039,
3631 0x1040, 0x1059,
3632 0x10a0, 0x10c5,
3633 0x10d0, 0x10fc,
3634 0x1100, 0x1159,
3635 0x115f, 0x11a2,
3636 0x11a8, 0x11f9,
3637 0x1200, 0x1248,
3638 0x124a, 0x124d,
3639 0x1250, 0x1256,
3640 0x1258, 0x1258,
3641 0x125a, 0x125d,
3642 0x1260, 0x1288,
3643 0x128a, 0x128d,
3644 0x1290, 0x12b0,
3645 0x12b2, 0x12b5,
3646 0x12b8, 0x12be,
3647 0x12c0, 0x12c0,
3648 0x12c2, 0x12c5,
3649 0x12c8, 0x12d6,
3650 0x12d8, 0x1310,
3651 0x1312, 0x1315,
3652 0x1318, 0x135a,
3653 0x135f, 0x137c,
3654 0x1380, 0x1399,
3655 0x13a0, 0x13f4,
3656 0x1401, 0x1676,
3657 0x1680, 0x169c,
3658 0x16a0, 0x16f0,
3659 0x1700, 0x170c,
3660 0x170e, 0x1714,
3661 0x1720, 0x1736,
3662 0x1740, 0x1753,
3663 0x1760, 0x176c,
3664 0x176e, 0x1770,
3665 0x1772, 0x1773,
3666 0x1780, 0x17dd,
3667 0x17e0, 0x17e9,
3668 0x17f0, 0x17f9,
3669 0x1800, 0x180e,
3670 0x1810, 0x1819,
3671 0x1820, 0x1877,
3672 0x1880, 0x18a9,
3673 0x1900, 0x191c,
3674 0x1920, 0x192b,
3675 0x1930, 0x193b,
3676 0x1940, 0x1940,
3677 0x1944, 0x196d,
3678 0x1970, 0x1974,
3679 0x1980, 0x19a9,
3680 0x19b0, 0x19c9,
3681 0x19d0, 0x19d9,
3682 0x19de, 0x1a1b,
3683 0x1a1e, 0x1a1f,
3684 0x1d00, 0x1dc3,
3685 0x1e00, 0x1e9b,
3686 0x1ea0, 0x1ef9,
3687 0x1f00, 0x1f15,
3688 0x1f18, 0x1f1d,
3689 0x1f20, 0x1f45,
3690 0x1f48, 0x1f4d,
3691 0x1f50, 0x1f57,
3692 0x1f59, 0x1f59,
3693 0x1f5b, 0x1f5b,
3694 0x1f5d, 0x1f5d,
3695 0x1f5f, 0x1f7d,
3696 0x1f80, 0x1fb4,
3697 0x1fb6, 0x1fc4,
3698 0x1fc6, 0x1fd3,
3699 0x1fd6, 0x1fdb,
3700 0x1fdd, 0x1fef,
3701 0x1ff2, 0x1ff4,
3702 0x1ff6, 0x1ffe,
3703 0x2000, 0x2063,
3704 0x206a, 0x2071,
3705 0x2074, 0x208e,
3706 0x2090, 0x2094,
3707 0x20a0, 0x20b5,
3708 0x20d0, 0x20eb,
3709 0x2100, 0x214c,
3710 0x2153, 0x2183,
3711 0x2190, 0x23db,
3712 0x2400, 0x2426,
3713 0x2440, 0x244a,
3714 0x2460, 0x269c,
3715 0x26a0, 0x26b1,
3716 0x2701, 0x2704,
3717 0x2706, 0x2709,
3718 0x270c, 0x2727,
3719 0x2729, 0x274b,
3720 0x274d, 0x274d,
3721 0x274f, 0x2752,
3722 0x2756, 0x2756,
3723 0x2758, 0x275e,
3724 0x2761, 0x2794,
3725 0x2798, 0x27af,
3726 0x27b1, 0x27be,
3727 0x27c0, 0x27c6,
3728 0x27d0, 0x27eb,
3729 0x27f0, 0x2b13,
3730 0x2c00, 0x2c2e,
3731 0x2c30, 0x2c5e,
3732 0x2c80, 0x2cea,
3733 0x2cf9, 0x2d25,
3734 0x2d30, 0x2d65,
3735 0x2d6f, 0x2d6f,
3736 0x2d80, 0x2d96,
3737 0x2da0, 0x2da6,
3738 0x2da8, 0x2dae,
3739 0x2db0, 0x2db6,
3740 0x2db8, 0x2dbe,
3741 0x2dc0, 0x2dc6,
3742 0x2dc8, 0x2dce,
3743 0x2dd0, 0x2dd6,
3744 0x2dd8, 0x2dde,
3745 0x2e00, 0x2e17,
3746 0x2e1c, 0x2e1d,
3747 0x2e80, 0x2e99,
3748 0x2e9b, 0x2ef3,
3749 0x2f00, 0x2fd5,
3750 0x2ff0, 0x2ffb,
3751 0x3000, 0x303f,
3752 0x3041, 0x3096,
3753 0x3099, 0x30ff,
3754 0x3105, 0x312c,
3755 0x3131, 0x318e,
3756 0x3190, 0x31b7,
3757 0x31c0, 0x31cf,
3758 0x31f0, 0x321e,
3759 0x3220, 0x3243,
3760 0x3250, 0x32fe,
3761 0x3300, 0x4db5,
3762 0x4dc0, 0x9fbb,
3763 0xa000, 0xa48c,
3764 0xa490, 0xa4c6,
3765 0xa700, 0xa716,
3766 0xa800, 0xa82b,
3767 0xac00, 0xd7a3,
3768 0xd800, 0xfa2d,
3769 0xfa30, 0xfa6a,
3770 0xfa70, 0xfad9,
3771 0xfb00, 0xfb06,
3772 0xfb13, 0xfb17,
3773 0xfb1d, 0xfb36,
3774 0xfb38, 0xfb3c,
3775 0xfb3e, 0xfb3e,
3776 0xfb40, 0xfb41,
3777 0xfb43, 0xfb44,
3778 0xfb46, 0xfbb1,
3779 0xfbd3, 0xfd3f,
3780 0xfd50, 0xfd8f,
3781 0xfd92, 0xfdc7,
3782 0xfdf0, 0xfdfd,
3783 0xfe00, 0xfe19,
3784 0xfe20, 0xfe23,
3785 0xfe30, 0xfe52,
3786 0xfe54, 0xfe66,
3787 0xfe68, 0xfe6b,
3788 0xfe70, 0xfe74,
3789 0xfe76, 0xfefc,
3790 0xfeff, 0xfeff,
3791 0xff01, 0xffbe,
3792 0xffc2, 0xffc7,
3793 0xffca, 0xffcf,
3794 0xffd2, 0xffd7,
3795 0xffda, 0xffdc,
3796 0xffe0, 0xffe6,
3797 0xffe8, 0xffee,
3798 0xfff9, 0xfffd,
3799 0x10000, 0x1000b,
3800 0x1000d, 0x10026,
3801 0x10028, 0x1003a,
3802 0x1003c, 0x1003d,
3803 0x1003f, 0x1004d,
3804 0x10050, 0x1005d,
3805 0x10080, 0x100fa,
3806 0x10100, 0x10102,
3807 0x10107, 0x10133,
3808 0x10137, 0x1018a,
3809 0x10300, 0x1031e,
3810 0x10320, 0x10323,
3811 0x10330, 0x1034a,
3812 0x10380, 0x1039d,
3813 0x1039f, 0x103c3,
3814 0x103c8, 0x103d5,
3815 0x10400, 0x1049d,
3816 0x104a0, 0x104a9,
3817 0x10800, 0x10805,
3818 0x10808, 0x10808,
3819 0x1080a, 0x10835,
3820 0x10837, 0x10838,
3821 0x1083c, 0x1083c,
3822 0x1083f, 0x1083f,
3823 0x10a00, 0x10a03,
3824 0x10a05, 0x10a06,
3825 0x10a0c, 0x10a13,
3826 0x10a15, 0x10a17,
3827 0x10a19, 0x10a33,
3828 0x10a38, 0x10a3a,
3829 0x10a3f, 0x10a47,
3830 0x10a50, 0x10a58,
3831 0x1d000, 0x1d0f5,
3832 0x1d100, 0x1d126,
3833 0x1d12a, 0x1d1dd,
3834 0x1d200, 0x1d245,
3835 0x1d300, 0x1d356,
3836 0x1d400, 0x1d454,
3837 0x1d456, 0x1d49c,
3838 0x1d49e, 0x1d49f,
3839 0x1d4a2, 0x1d4a2,
3840 0x1d4a5, 0x1d4a6,
3841 0x1d4a9, 0x1d4ac,
3842 0x1d4ae, 0x1d4b9,
3843 0x1d4bb, 0x1d4bb,
3844 0x1d4bd, 0x1d4c3,
3845 0x1d4c5, 0x1d505,
3846 0x1d507, 0x1d50a,
3847 0x1d50d, 0x1d514,
3848 0x1d516, 0x1d51c,
3849 0x1d51e, 0x1d539,
3850 0x1d53b, 0x1d53e,
3851 0x1d540, 0x1d544,
3852 0x1d546, 0x1d546,
3853 0x1d54a, 0x1d550,
3854 0x1d552, 0x1d6a5,
3855 0x1d6a8, 0x1d7c9,
3856 0x1d7ce, 0x1d7ff,
3857 0x20000, 0x2a6d6,
3858 0x2f800, 0x2fa1d,
3859 0xe0001, 0xe0001,
3860 0xe0020, 0xe007f,
3861 0xe0100, 0xe01ef,
3862 0xf0000, 0xffffd,
3863 0x100000, 0x10fffd
3864 }; /* CR_Assigned */
3865
3866 /* 'C': Major Category */
3867 static const OnigCodePoint CR_C[] = {
3868 422,
3869 0x0000, 0x001f,
3870 0x007f, 0x009f,
3871 0x00ad, 0x00ad,
3872 0x0242, 0x024f,
3873 0x0370, 0x0373,
3874 0x0376, 0x0379,
3875 0x037b, 0x037d,
3876 0x037f, 0x0383,
3877 0x038b, 0x038b,
3878 0x038d, 0x038d,
3879 0x03a2, 0x03a2,
3880 0x03cf, 0x03cf,
3881 0x0487, 0x0487,
3882 0x04cf, 0x04cf,
3883 0x04fa, 0x04ff,
3884 0x0510, 0x0530,
3885 0x0557, 0x0558,
3886 0x0560, 0x0560,
3887 0x0588, 0x0588,
3888 0x058b, 0x0590,
3889 0x05ba, 0x05ba,
3890 0x05c8, 0x05cf,
3891 0x05eb, 0x05ef,
3892 0x05f5, 0x060a,
3893 0x0616, 0x061a,
3894 0x061c, 0x061d,
3895 0x0620, 0x0620,
3896 0x063b, 0x063f,
3897 0x065f, 0x065f,
3898 0x06dd, 0x06dd,
3899 0x070e, 0x070f,
3900 0x074b, 0x074c,
3901 0x076e, 0x077f,
3902 0x07b2, 0x0900,
3903 0x093a, 0x093b,
3904 0x094e, 0x094f,
3905 0x0955, 0x0957,
3906 0x0971, 0x097c,
3907 0x097e, 0x0980,
3908 0x0984, 0x0984,
3909 0x098d, 0x098e,
3910 0x0991, 0x0992,
3911 0x09a9, 0x09a9,
3912 0x09b1, 0x09b1,
3913 0x09b3, 0x09b5,
3914 0x09ba, 0x09bb,
3915 0x09c5, 0x09c6,
3916 0x09c9, 0x09ca,
3917 0x09cf, 0x09d6,
3918 0x09d8, 0x09db,
3919 0x09de, 0x09de,
3920 0x09e4, 0x09e5,
3921 0x09fb, 0x0a00,
3922 0x0a04, 0x0a04,
3923 0x0a0b, 0x0a0e,
3924 0x0a11, 0x0a12,
3925 0x0a29, 0x0a29,
3926 0x0a31, 0x0a31,
3927 0x0a34, 0x0a34,
3928 0x0a37, 0x0a37,
3929 0x0a3a, 0x0a3b,
3930 0x0a3d, 0x0a3d,
3931 0x0a43, 0x0a46,
3932 0x0a49, 0x0a4a,
3933 0x0a4e, 0x0a58,
3934 0x0a5d, 0x0a5d,
3935 0x0a5f, 0x0a65,
3936 0x0a75, 0x0a80,
3937 0x0a84, 0x0a84,
3938 0x0a8e, 0x0a8e,
3939 0x0a92, 0x0a92,
3940 0x0aa9, 0x0aa9,
3941 0x0ab1, 0x0ab1,
3942 0x0ab4, 0x0ab4,
3943 0x0aba, 0x0abb,
3944 0x0ac6, 0x0ac6,
3945 0x0aca, 0x0aca,
3946 0x0ace, 0x0acf,
3947 0x0ad1, 0x0adf,
3948 0x0ae4, 0x0ae5,
3949 0x0af0, 0x0af0,
3950 0x0af2, 0x0b00,
3951 0x0b04, 0x0b04,
3952 0x0b0d, 0x0b0e,
3953 0x0b11, 0x0b12,
3954 0x0b29, 0x0b29,
3955 0x0b31, 0x0b31,
3956 0x0b34, 0x0b34,
3957 0x0b3a, 0x0b3b,
3958 0x0b44, 0x0b46,
3959 0x0b49, 0x0b4a,
3960 0x0b4e, 0x0b55,
3961 0x0b58, 0x0b5b,
3962 0x0b5e, 0x0b5e,
3963 0x0b62, 0x0b65,
3964 0x0b72, 0x0b81,
3965 0x0b84, 0x0b84,
3966 0x0b8b, 0x0b8d,
3967 0x0b91, 0x0b91,
3968 0x0b96, 0x0b98,
3969 0x0b9b, 0x0b9b,
3970 0x0b9d, 0x0b9d,
3971 0x0ba0, 0x0ba2,
3972 0x0ba5, 0x0ba7,
3973 0x0bab, 0x0bad,
3974 0x0bba, 0x0bbd,
3975 0x0bc3, 0x0bc5,
3976 0x0bc9, 0x0bc9,
3977 0x0bce, 0x0bd6,
3978 0x0bd8, 0x0be5,
3979 0x0bfb, 0x0c00,
3980 0x0c04, 0x0c04,
3981 0x0c0d, 0x0c0d,
3982 0x0c11, 0x0c11,
3983 0x0c29, 0x0c29,
3984 0x0c34, 0x0c34,
3985 0x0c3a, 0x0c3d,
3986 0x0c45, 0x0c45,
3987 0x0c49, 0x0c49,
3988 0x0c4e, 0x0c54,
3989 0x0c57, 0x0c5f,
3990 0x0c62, 0x0c65,
3991 0x0c70, 0x0c81,
3992 0x0c84, 0x0c84,
3993 0x0c8d, 0x0c8d,
3994 0x0c91, 0x0c91,
3995 0x0ca9, 0x0ca9,
3996 0x0cb4, 0x0cb4,
3997 0x0cba, 0x0cbb,
3998 0x0cc5, 0x0cc5,
3999 0x0cc9, 0x0cc9,
4000 0x0cce, 0x0cd4,
4001 0x0cd7, 0x0cdd,
4002 0x0cdf, 0x0cdf,
4003 0x0ce2, 0x0ce5,
4004 0x0cf0, 0x0d01,
4005 0x0d04, 0x0d04,
4006 0x0d0d, 0x0d0d,
4007 0x0d11, 0x0d11,
4008 0x0d29, 0x0d29,
4009 0x0d3a, 0x0d3d,
4010 0x0d44, 0x0d45,
4011 0x0d49, 0x0d49,
4012 0x0d4e, 0x0d56,
4013 0x0d58, 0x0d5f,
4014 0x0d62, 0x0d65,
4015 0x0d70, 0x0d81,
4016 0x0d84, 0x0d84,
4017 0x0d97, 0x0d99,
4018 0x0db2, 0x0db2,
4019 0x0dbc, 0x0dbc,
4020 0x0dbe, 0x0dbf,
4021 0x0dc7, 0x0dc9,
4022 0x0dcb, 0x0dce,
4023 0x0dd5, 0x0dd5,
4024 0x0dd7, 0x0dd7,
4025 0x0de0, 0x0df1,
4026 0x0df5, 0x0e00,
4027 0x0e3b, 0x0e3e,
4028 0x0e5c, 0x0e80,
4029 0x0e83, 0x0e83,
4030 0x0e85, 0x0e86,
4031 0x0e89, 0x0e89,
4032 0x0e8b, 0x0e8c,
4033 0x0e8e, 0x0e93,
4034 0x0e98, 0x0e98,
4035 0x0ea0, 0x0ea0,
4036 0x0ea4, 0x0ea4,
4037 0x0ea6, 0x0ea6,
4038 0x0ea8, 0x0ea9,
4039 0x0eac, 0x0eac,
4040 0x0eba, 0x0eba,
4041 0x0ebe, 0x0ebf,
4042 0x0ec5, 0x0ec5,
4043 0x0ec7, 0x0ec7,
4044 0x0ece, 0x0ecf,
4045 0x0eda, 0x0edb,
4046 0x0ede, 0x0eff,
4047 0x0f48, 0x0f48,
4048 0x0f6b, 0x0f70,
4049 0x0f8c, 0x0f8f,
4050 0x0f98, 0x0f98,
4051 0x0fbd, 0x0fbd,
4052 0x0fcd, 0x0fce,
4053 0x0fd2, 0x0fff,
4054 0x1022, 0x1022,
4055 0x1028, 0x1028,
4056 0x102b, 0x102b,
4057 0x1033, 0x1035,
4058 0x103a, 0x103f,
4059 0x105a, 0x109f,
4060 0x10c6, 0x10cf,
4061 0x10fd, 0x10ff,
4062 0x115a, 0x115e,
4063 0x11a3, 0x11a7,
4064 0x11fa, 0x11ff,
4065 0x1249, 0x1249,
4066 0x124e, 0x124f,
4067 0x1257, 0x1257,
4068 0x1259, 0x1259,
4069 0x125e, 0x125f,
4070 0x1289, 0x1289,
4071 0x128e, 0x128f,
4072 0x12b1, 0x12b1,
4073 0x12b6, 0x12b7,
4074 0x12bf, 0x12bf,
4075 0x12c1, 0x12c1,
4076 0x12c6, 0x12c7,
4077 0x12d7, 0x12d7,
4078 0x1311, 0x1311,
4079 0x1316, 0x1317,
4080 0x135b, 0x135e,
4081 0x137d, 0x137f,
4082 0x139a, 0x139f,
4083 0x13f5, 0x1400,
4084 0x1677, 0x167f,
4085 0x169d, 0x169f,
4086 0x16f1, 0x16ff,
4087 0x170d, 0x170d,
4088 0x1715, 0x171f,
4089 0x1737, 0x173f,
4090 0x1754, 0x175f,
4091 0x176d, 0x176d,
4092 0x1771, 0x1771,
4093 0x1774, 0x177f,
4094 0x17b4, 0x17b5,
4095 0x17de, 0x17df,
4096 0x17ea, 0x17ef,
4097 0x17fa, 0x17ff,
4098 0x180f, 0x180f,
4099 0x181a, 0x181f,
4100 0x1878, 0x187f,
4101 0x18aa, 0x18ff,
4102 0x191d, 0x191f,
4103 0x192c, 0x192f,
4104 0x193c, 0x193f,
4105 0x1941, 0x1943,
4106 0x196e, 0x196f,
4107 0x1975, 0x197f,
4108 0x19aa, 0x19af,
4109 0x19ca, 0x19cf,
4110 0x19da, 0x19dd,
4111 0x1a1c, 0x1a1d,
4112 0x1a20, 0x1cff,
4113 0x1dc4, 0x1dff,
4114 0x1e9c, 0x1e9f,
4115 0x1efa, 0x1eff,
4116 0x1f16, 0x1f17,
4117 0x1f1e, 0x1f1f,
4118 0x1f46, 0x1f47,
4119 0x1f4e, 0x1f4f,
4120 0x1f58, 0x1f58,
4121 0x1f5a, 0x1f5a,
4122 0x1f5c, 0x1f5c,
4123 0x1f5e, 0x1f5e,
4124 0x1f7e, 0x1f7f,
4125 0x1fb5, 0x1fb5,
4126 0x1fc5, 0x1fc5,
4127 0x1fd4, 0x1fd5,
4128 0x1fdc, 0x1fdc,
4129 0x1ff0, 0x1ff1,
4130 0x1ff5, 0x1ff5,
4131 0x1fff, 0x1fff,
4132 0x200b, 0x200f,
4133 0x202a, 0x202e,
4134 0x2060, 0x206f,
4135 0x2072, 0x2073,
4136 0x208f, 0x208f,
4137 0x2095, 0x209f,
4138 0x20b6, 0x20cf,
4139 0x20ec, 0x20ff,
4140 0x214d, 0x2152,
4141 0x2184, 0x218f,
4142 0x23dc, 0x23ff,
4143 0x2427, 0x243f,
4144 0x244b, 0x245f,
4145 0x269d, 0x269f,
4146 0x26b2, 0x2700,
4147 0x2705, 0x2705,
4148 0x270a, 0x270b,
4149 0x2728, 0x2728,
4150 0x274c, 0x274c,
4151 0x274e, 0x274e,
4152 0x2753, 0x2755,
4153 0x2757, 0x2757,
4154 0x275f, 0x2760,
4155 0x2795, 0x2797,
4156 0x27b0, 0x27b0,
4157 0x27bf, 0x27bf,
4158 0x27c7, 0x27cf,
4159 0x27ec, 0x27ef,
4160 0x2b14, 0x2bff,
4161 0x2c2f, 0x2c2f,
4162 0x2c5f, 0x2c7f,
4163 0x2ceb, 0x2cf8,
4164 0x2d26, 0x2d2f,
4165 0x2d66, 0x2d6e,
4166 0x2d70, 0x2d7f,
4167 0x2d97, 0x2d9f,
4168 0x2da7, 0x2da7,
4169 0x2daf, 0x2daf,
4170 0x2db7, 0x2db7,
4171 0x2dbf, 0x2dbf,
4172 0x2dc7, 0x2dc7,
4173 0x2dcf, 0x2dcf,
4174 0x2dd7, 0x2dd7,
4175 0x2ddf, 0x2dff,
4176 0x2e18, 0x2e1b,
4177 0x2e1e, 0x2e7f,
4178 0x2e9a, 0x2e9a,
4179 0x2ef4, 0x2eff,
4180 0x2fd6, 0x2fef,
4181 0x2ffc, 0x2fff,
4182 0x3040, 0x3040,
4183 0x3097, 0x3098,
4184 0x3100, 0x3104,
4185 0x312d, 0x3130,
4186 0x318f, 0x318f,
4187 0x31b8, 0x31bf,
4188 0x31d0, 0x31ef,
4189 0x321f, 0x321f,
4190 0x3244, 0x324f,
4191 0x32ff, 0x32ff,
4192 0x4db6, 0x4dbf,
4193 0x9fbc, 0x9fff,
4194 0xa48d, 0xa48f,
4195 0xa4c7, 0xa6ff,
4196 0xa717, 0xa7ff,
4197 0xa82c, 0xabff,
4198 0xd7a4, 0xf8ff,
4199 0xfa2e, 0xfa2f,
4200 0xfa6b, 0xfa6f,
4201 0xfada, 0xfaff,
4202 0xfb07, 0xfb12,
4203 0xfb18, 0xfb1c,
4204 0xfb37, 0xfb37,
4205 0xfb3d, 0xfb3d,
4206 0xfb3f, 0xfb3f,
4207 0xfb42, 0xfb42,
4208 0xfb45, 0xfb45,
4209 0xfbb2, 0xfbd2,
4210 0xfd40, 0xfd4f,
4211 0xfd90, 0xfd91,
4212 0xfdc8, 0xfdef,
4213 0xfdfe, 0xfdff,
4214 0xfe1a, 0xfe1f,
4215 0xfe24, 0xfe2f,
4216 0xfe53, 0xfe53,
4217 0xfe67, 0xfe67,
4218 0xfe6c, 0xfe6f,
4219 0xfe75, 0xfe75,
4220 0xfefd, 0xff00,
4221 0xffbf, 0xffc1,
4222 0xffc8, 0xffc9,
4223 0xffd0, 0xffd1,
4224 0xffd8, 0xffd9,
4225 0xffdd, 0xffdf,
4226 0xffe7, 0xffe7,
4227 0xffef, 0xfffb,
4228 0xfffe, 0xffff,
4229 0x1000c, 0x1000c,
4230 0x10027, 0x10027,
4231 0x1003b, 0x1003b,
4232 0x1003e, 0x1003e,
4233 0x1004e, 0x1004f,
4234 0x1005e, 0x1007f,
4235 0x100fb, 0x100ff,
4236 0x10103, 0x10106,
4237 0x10134, 0x10136,
4238 0x1018b, 0x102ff,
4239 0x1031f, 0x1031f,
4240 0x10324, 0x1032f,
4241 0x1034b, 0x1037f,
4242 0x1039e, 0x1039e,
4243 0x103c4, 0x103c7,
4244 0x103d6, 0x103ff,
4245 0x1049e, 0x1049f,
4246 0x104aa, 0x107ff,
4247 0x10806, 0x10807,
4248 0x10809, 0x10809,
4249 0x10836, 0x10836,
4250 0x10839, 0x1083b,
4251 0x1083d, 0x1083e,
4252 0x10840, 0x109ff,
4253 0x10a04, 0x10a04,
4254 0x10a07, 0x10a0b,
4255 0x10a14, 0x10a14,
4256 0x10a18, 0x10a18,
4257 0x10a34, 0x10a37,
4258 0x10a3b, 0x10a3e,
4259 0x10a48, 0x10a4f,
4260 0x10a59, 0x1cfff,
4261 0x1d0f6, 0x1d0ff,
4262 0x1d127, 0x1d129,
4263 0x1d173, 0x1d17a,
4264 0x1d1de, 0x1d1ff,
4265 0x1d246, 0x1d2ff,
4266 0x1d357, 0x1d3ff,
4267 0x1d455, 0x1d455,
4268 0x1d49d, 0x1d49d,
4269 0x1d4a0, 0x1d4a1,
4270 0x1d4a3, 0x1d4a4,
4271 0x1d4a7, 0x1d4a8,
4272 0x1d4ad, 0x1d4ad,
4273 0x1d4ba, 0x1d4ba,
4274 0x1d4bc, 0x1d4bc,
4275 0x1d4c4, 0x1d4c4,
4276 0x1d506, 0x1d506,
4277 0x1d50b, 0x1d50c,
4278 0x1d515, 0x1d515,
4279 0x1d51d, 0x1d51d,
4280 0x1d53a, 0x1d53a,
4281 0x1d53f, 0x1d53f,
4282 0x1d545, 0x1d545,
4283 0x1d547, 0x1d549,
4284 0x1d551, 0x1d551,
4285 0x1d6a6, 0x1d6a7,
4286 0x1d7ca, 0x1d7cd,
4287 0x1d800, 0x1ffff,
4288 0x2a6d7, 0x2f7ff,
4289 0x2fa1e, 0xe00ff,
4290 0xe01f0, 0x10ffff
4291 }; /* CR_C */
4292
4293 /* 'Cc': General Category */
4294 static const OnigCodePoint CR_Cc[] = {
4295 2,
4296 0x0000, 0x001f,
4297 0x007f, 0x009f
4298 }; /* CR_Cc */
4299
4300 /* 'Cf': General Category */
4301 static const OnigCodePoint CR_Cf[] = {
4302 14,
4303 0x00ad, 0x00ad,
4304 0x0600, 0x0603,
4305 0x06dd, 0x06dd,
4306 0x070f, 0x070f,
4307 0x17b4, 0x17b5,
4308 0x200b, 0x200f,
4309 0x202a, 0x202e,
4310 0x2060, 0x2063,
4311 0x206a, 0x206f,
4312 0xfeff, 0xfeff,
4313 0xfff9, 0xfffb,
4314 0x1d173, 0x1d17a,
4315 0xe0001, 0xe0001,
4316 0xe0020, 0xe007f
4317 }; /* CR_Cf */
4318
4319 /* 'Cn': General Category */
4320 static const OnigCodePoint CR_Cn[] = {
4321 420,
4322 0x0242, 0x024f,
4323 0x0370, 0x0373,
4324 0x0376, 0x0379,
4325 0x037b, 0x037d,
4326 0x037f, 0x0383,
4327 0x038b, 0x038b,
4328 0x038d, 0x038d,
4329 0x03a2, 0x03a2,
4330 0x03cf, 0x03cf,
4331 0x0487, 0x0487,
4332 0x04cf, 0x04cf,
4333 0x04fa, 0x04ff,
4334 0x0510, 0x0530,
4335 0x0557, 0x0558,
4336 0x0560, 0x0560,
4337 0x0588, 0x0588,
4338 0x058b, 0x0590,
4339 0x05ba, 0x05ba,
4340 0x05c8, 0x05cf,
4341 0x05eb, 0x05ef,
4342 0x05f5, 0x05ff,
4343 0x0604, 0x060a,
4344 0x0616, 0x061a,
4345 0x061c, 0x061d,
4346 0x0620, 0x0620,
4347 0x063b, 0x063f,
4348 0x065f, 0x065f,
4349 0x070e, 0x070e,
4350 0x074b, 0x074c,
4351 0x076e, 0x077f,
4352 0x07b2, 0x0900,
4353 0x093a, 0x093b,
4354 0x094e, 0x094f,
4355 0x0955, 0x0957,
4356 0x0971, 0x097c,
4357 0x097e, 0x0980,
4358 0x0984, 0x0984,
4359 0x098d, 0x098e,
4360 0x0991, 0x0992,
4361 0x09a9, 0x09a9,
4362 0x09b1, 0x09b1,
4363 0x09b3, 0x09b5,
4364 0x09ba, 0x09bb,
4365 0x09c5, 0x09c6,
4366 0x09c9, 0x09ca,
4367 0x09cf, 0x09d6,
4368 0x09d8, 0x09db,
4369 0x09de, 0x09de,
4370 0x09e4, 0x09e5,
4371 0x09fb, 0x0a00,
4372 0x0a04, 0x0a04,
4373 0x0a0b, 0x0a0e,
4374 0x0a11, 0x0a12,
4375 0x0a29, 0x0a29,
4376 0x0a31, 0x0a31,
4377 0x0a34, 0x0a34,
4378 0x0a37, 0x0a37,
4379 0x0a3a, 0x0a3b,
4380 0x0a3d, 0x0a3d,
4381 0x0a43, 0x0a46,
4382 0x0a49, 0x0a4a,
4383 0x0a4e, 0x0a58,
4384 0x0a5d, 0x0a5d,
4385 0x0a5f, 0x0a65,
4386 0x0a75, 0x0a80,
4387 0x0a84, 0x0a84,
4388 0x0a8e, 0x0a8e,
4389 0x0a92, 0x0a92,
4390 0x0aa9, 0x0aa9,
4391 0x0ab1, 0x0ab1,
4392 0x0ab4, 0x0ab4,
4393 0x0aba, 0x0abb,
4394 0x0ac6, 0x0ac6,
4395 0x0aca, 0x0aca,
4396 0x0ace, 0x0acf,
4397 0x0ad1, 0x0adf,
4398 0x0ae4, 0x0ae5,
4399 0x0af0, 0x0af0,
4400 0x0af2, 0x0b00,
4401 0x0b04, 0x0b04,
4402 0x0b0d, 0x0b0e,
4403 0x0b11, 0x0b12,
4404 0x0b29, 0x0b29,
4405 0x0b31, 0x0b31,
4406 0x0b34, 0x0b34,
4407 0x0b3a, 0x0b3b,
4408 0x0b44, 0x0b46,
4409 0x0b49, 0x0b4a,
4410 0x0b4e, 0x0b55,
4411 0x0b58, 0x0b5b,
4412 0x0b5e, 0x0b5e,
4413 0x0b62, 0x0b65,
4414 0x0b72, 0x0b81,
4415 0x0b84, 0x0b84,
4416 0x0b8b, 0x0b8d,
4417 0x0b91, 0x0b91,
4418 0x0b96, 0x0b98,
4419 0x0b9b, 0x0b9b,
4420 0x0b9d, 0x0b9d,
4421 0x0ba0, 0x0ba2,
4422 0x0ba5, 0x0ba7,
4423 0x0bab, 0x0bad,
4424 0x0bba, 0x0bbd,
4425 0x0bc3, 0x0bc5,
4426 0x0bc9, 0x0bc9,
4427 0x0bce, 0x0bd6,
4428 0x0bd8, 0x0be5,
4429 0x0bfb, 0x0c00,
4430 0x0c04, 0x0c04,
4431 0x0c0d, 0x0c0d,
4432 0x0c11, 0x0c11,
4433 0x0c29, 0x0c29,
4434 0x0c34, 0x0c34,
4435 0x0c3a, 0x0c3d,
4436 0x0c45, 0x0c45,
4437 0x0c49, 0x0c49,
4438 0x0c4e, 0x0c54,
4439 0x0c57, 0x0c5f,
4440 0x0c62, 0x0c65,
4441 0x0c70, 0x0c81,
4442 0x0c84, 0x0c84,
4443 0x0c8d, 0x0c8d,
4444 0x0c91, 0x0c91,
4445 0x0ca9, 0x0ca9,
4446 0x0cb4, 0x0cb4,
4447 0x0cba, 0x0cbb,
4448 0x0cc5, 0x0cc5,
4449 0x0cc9, 0x0cc9,
4450 0x0cce, 0x0cd4,
4451 0x0cd7, 0x0cdd,
4452 0x0cdf, 0x0cdf,
4453 0x0ce2, 0x0ce5,
4454 0x0cf0, 0x0d01,
4455 0x0d04, 0x0d04,
4456 0x0d0d, 0x0d0d,
4457 0x0d11, 0x0d11,
4458 0x0d29, 0x0d29,
4459 0x0d3a, 0x0d3d,
4460 0x0d44, 0x0d45,
4461 0x0d49, 0x0d49,
4462 0x0d4e, 0x0d56,
4463 0x0d58, 0x0d5f,
4464 0x0d62, 0x0d65,
4465 0x0d70, 0x0d81,
4466 0x0d84, 0x0d84,
4467 0x0d97, 0x0d99,
4468 0x0db2, 0x0db2,
4469 0x0dbc, 0x0dbc,
4470 0x0dbe, 0x0dbf,
4471 0x0dc7, 0x0dc9,
4472 0x0dcb, 0x0dce,
4473 0x0dd5, 0x0dd5,
4474 0x0dd7, 0x0dd7,
4475 0x0de0, 0x0df1,
4476 0x0df5, 0x0e00,
4477 0x0e3b, 0x0e3e,
4478 0x0e5c, 0x0e80,
4479 0x0e83, 0x0e83,
4480 0x0e85, 0x0e86,
4481 0x0e89, 0x0e89,
4482 0x0e8b, 0x0e8c,
4483 0x0e8e, 0x0e93,
4484 0x0e98, 0x0e98,
4485 0x0ea0, 0x0ea0,
4486 0x0ea4, 0x0ea4,
4487 0x0ea6, 0x0ea6,
4488 0x0ea8, 0x0ea9,
4489 0x0eac, 0x0eac,
4490 0x0eba, 0x0eba,
4491 0x0ebe, 0x0ebf,
4492 0x0ec5, 0x0ec5,
4493 0x0ec7, 0x0ec7,
4494 0x0ece, 0x0ecf,
4495 0x0eda, 0x0edb,
4496 0x0ede, 0x0eff,
4497 0x0f48, 0x0f48,
4498 0x0f6b, 0x0f70,
4499 0x0f8c, 0x0f8f,
4500 0x0f98, 0x0f98,
4501 0x0fbd, 0x0fbd,
4502 0x0fcd, 0x0fce,
4503 0x0fd2, 0x0fff,
4504 0x1022, 0x1022,
4505 0x1028, 0x1028,
4506 0x102b, 0x102b,
4507 0x1033, 0x1035,
4508 0x103a, 0x103f,
4509 0x105a, 0x109f,
4510 0x10c6, 0x10cf,
4511 0x10fd, 0x10ff,
4512 0x115a, 0x115e,
4513 0x11a3, 0x11a7,
4514 0x11fa, 0x11ff,
4515 0x1249, 0x1249,
4516 0x124e, 0x124f,
4517 0x1257, 0x1257,
4518 0x1259, 0x1259,
4519 0x125e, 0x125f,
4520 0x1289, 0x1289,
4521 0x128e, 0x128f,
4522 0x12b1, 0x12b1,
4523 0x12b6, 0x12b7,
4524 0x12bf, 0x12bf,
4525 0x12c1, 0x12c1,
4526 0x12c6, 0x12c7,
4527 0x12d7, 0x12d7,
4528 0x1311, 0x1311,
4529 0x1316, 0x1317,
4530 0x135b, 0x135e,
4531 0x137d, 0x137f,
4532 0x139a, 0x139f,
4533 0x13f5, 0x1400,
4534 0x1677, 0x167f,
4535 0x169d, 0x169f,
4536 0x16f1, 0x16ff,
4537 0x170d, 0x170d,
4538 0x1715, 0x171f,
4539 0x1737, 0x173f,
4540 0x1754, 0x175f,
4541 0x176d, 0x176d,
4542 0x1771, 0x1771,
4543 0x1774, 0x177f,
4544 0x17de, 0x17df,
4545 0x17ea, 0x17ef,
4546 0x17fa, 0x17ff,
4547 0x180f, 0x180f,
4548 0x181a, 0x181f,
4549 0x1878, 0x187f,
4550 0x18aa, 0x18ff,
4551 0x191d, 0x191f,
4552 0x192c, 0x192f,
4553 0x193c, 0x193f,
4554 0x1941, 0x1943,
4555 0x196e, 0x196f,
4556 0x1975, 0x197f,
4557 0x19aa, 0x19af,
4558 0x19ca, 0x19cf,
4559 0x19da, 0x19dd,
4560 0x1a1c, 0x1a1d,
4561 0x1a20, 0x1cff,
4562 0x1dc4, 0x1dff,
4563 0x1e9c, 0x1e9f,
4564 0x1efa, 0x1eff,
4565 0x1f16, 0x1f17,
4566 0x1f1e, 0x1f1f,
4567 0x1f46, 0x1f47,
4568 0x1f4e, 0x1f4f,
4569 0x1f58, 0x1f58,
4570 0x1f5a, 0x1f5a,
4571 0x1f5c, 0x1f5c,
4572 0x1f5e, 0x1f5e,
4573 0x1f7e, 0x1f7f,
4574 0x1fb5, 0x1fb5,
4575 0x1fc5, 0x1fc5,
4576 0x1fd4, 0x1fd5,
4577 0x1fdc, 0x1fdc,
4578 0x1ff0, 0x1ff1,
4579 0x1ff5, 0x1ff5,
4580 0x1fff, 0x1fff,
4581 0x2064, 0x2069,
4582 0x2072, 0x2073,
4583 0x208f, 0x208f,
4584 0x2095, 0x209f,
4585 0x20b6, 0x20cf,
4586 0x20ec, 0x20ff,
4587 0x214d, 0x2152,
4588 0x2184, 0x218f,
4589 0x23dc, 0x23ff,
4590 0x2427, 0x243f,
4591 0x244b, 0x245f,
4592 0x269d, 0x269f,
4593 0x26b2, 0x2700,
4594 0x2705, 0x2705,
4595 0x270a, 0x270b,
4596 0x2728, 0x2728,
4597 0x274c, 0x274c,
4598 0x274e, 0x274e,
4599 0x2753, 0x2755,
4600 0x2757, 0x2757,
4601 0x275f, 0x2760,
4602 0x2795, 0x2797,
4603 0x27b0, 0x27b0,
4604 0x27bf, 0x27bf,
4605 0x27c7, 0x27cf,
4606 0x27ec, 0x27ef,
4607 0x2b14, 0x2bff,
4608 0x2c2f, 0x2c2f,
4609 0x2c5f, 0x2c7f,
4610 0x2ceb, 0x2cf8,
4611 0x2d26, 0x2d2f,
4612 0x2d66, 0x2d6e,
4613 0x2d70, 0x2d7f,
4614 0x2d97, 0x2d9f,
4615 0x2da7, 0x2da7,
4616 0x2daf, 0x2daf,
4617 0x2db7, 0x2db7,
4618 0x2dbf, 0x2dbf,
4619 0x2dc7, 0x2dc7,
4620 0x2dcf, 0x2dcf,
4621 0x2dd7, 0x2dd7,
4622 0x2ddf, 0x2dff,
4623 0x2e18, 0x2e1b,
4624 0x2e1e, 0x2e7f,
4625 0x2e9a, 0x2e9a,
4626 0x2ef4, 0x2eff,
4627 0x2fd6, 0x2fef,
4628 0x2ffc, 0x2fff,
4629 0x3040, 0x3040,
4630 0x3097, 0x3098,
4631 0x3100, 0x3104,
4632 0x312d, 0x3130,
4633 0x318f, 0x318f,
4634 0x31b8, 0x31bf,
4635 0x31d0, 0x31ef,
4636 0x321f, 0x321f,
4637 0x3244, 0x324f,
4638 0x32ff, 0x32ff,
4639 0x4db6, 0x4dbf,
4640 0x9fbc, 0x9fff,
4641 0xa48d, 0xa48f,
4642 0xa4c7, 0xa6ff,
4643 0xa717, 0xa7ff,
4644 0xa82c, 0xabff,
4645 0xd7a4, 0xd7ff,
4646 0xfa2e, 0xfa2f,
4647 0xfa6b, 0xfa6f,
4648 0xfada, 0xfaff,
4649 0xfb07, 0xfb12,
4650 0xfb18, 0xfb1c,
4651 0xfb37, 0xfb37,
4652 0xfb3d, 0xfb3d,
4653 0xfb3f, 0xfb3f,
4654 0xfb42, 0xfb42,
4655 0xfb45, 0xfb45,
4656 0xfbb2, 0xfbd2,
4657 0xfd40, 0xfd4f,
4658 0xfd90, 0xfd91,
4659 0xfdc8, 0xfdef,
4660 0xfdfe, 0xfdff,
4661 0xfe1a, 0xfe1f,
4662 0xfe24, 0xfe2f,
4663 0xfe53, 0xfe53,
4664 0xfe67, 0xfe67,
4665 0xfe6c, 0xfe6f,
4666 0xfe75, 0xfe75,
4667 0xfefd, 0xfefe,
4668 0xff00, 0xff00,
4669 0xffbf, 0xffc1,
4670 0xffc8, 0xffc9,
4671 0xffd0, 0xffd1,
4672 0xffd8, 0xffd9,
4673 0xffdd, 0xffdf,
4674 0xffe7, 0xffe7,
4675 0xffef, 0xfff8,
4676 0xfffe, 0xffff,
4677 0x1000c, 0x1000c,
4678 0x10027, 0x10027,
4679 0x1003b, 0x1003b,
4680 0x1003e, 0x1003e,
4681 0x1004e, 0x1004f,
4682 0x1005e, 0x1007f,
4683 0x100fb, 0x100ff,
4684 0x10103, 0x10106,
4685 0x10134, 0x10136,
4686 0x1018b, 0x102ff,
4687 0x1031f, 0x1031f,
4688 0x10324, 0x1032f,
4689 0x1034b, 0x1037f,
4690 0x1039e, 0x1039e,
4691 0x103c4, 0x103c7,
4692 0x103d6, 0x103ff,
4693 0x1049e, 0x1049f,
4694 0x104aa, 0x107ff,
4695 0x10806, 0x10807,
4696 0x10809, 0x10809,
4697 0x10836, 0x10836,
4698 0x10839, 0x1083b,
4699 0x1083d, 0x1083e,
4700 0x10840, 0x109ff,
4701 0x10a04, 0x10a04,
4702 0x10a07, 0x10a0b,
4703 0x10a14, 0x10a14,
4704 0x10a18, 0x10a18,
4705 0x10a34, 0x10a37,
4706 0x10a3b, 0x10a3e,
4707 0x10a48, 0x10a4f,
4708 0x10a59, 0x1cfff,
4709 0x1d0f6, 0x1d0ff,
4710 0x1d127, 0x1d129,
4711 0x1d1de, 0x1d1ff,
4712 0x1d246, 0x1d2ff,
4713 0x1d357, 0x1d3ff,
4714 0x1d455, 0x1d455,
4715 0x1d49d, 0x1d49d,
4716 0x1d4a0, 0x1d4a1,
4717 0x1d4a3, 0x1d4a4,
4718 0x1d4a7, 0x1d4a8,
4719 0x1d4ad, 0x1d4ad,
4720 0x1d4ba, 0x1d4ba,
4721 0x1d4bc, 0x1d4bc,
4722 0x1d4c4, 0x1d4c4,
4723 0x1d506, 0x1d506,
4724 0x1d50b, 0x1d50c,
4725 0x1d515, 0x1d515,
4726 0x1d51d, 0x1d51d,
4727 0x1d53a, 0x1d53a,
4728 0x1d53f, 0x1d53f,
4729 0x1d545, 0x1d545,
4730 0x1d547, 0x1d549,
4731 0x1d551, 0x1d551,
4732 0x1d6a6, 0x1d6a7,
4733 0x1d7ca, 0x1d7cd,
4734 0x1d800, 0x1ffff,
4735 0x2a6d7, 0x2f7ff,
4736 0x2fa1e, 0xe0000,
4737 0xe0002, 0xe001f,
4738 0xe0080, 0xe00ff,
4739 0xe01f0, 0xeffff,
4740 0xffffe, 0xfffff,
4741 0x10fffe, 0x10ffff
4742 }; /* CR_Cn */
4743
4744 /* 'Co': General Category */
4745 static const OnigCodePoint CR_Co[] = {
4746 3,
4747 0xe000, 0xf8ff,
4748 0xf0000, 0xffffd,
4749 0x100000, 0x10fffd
4750 }; /* CR_Co */
4751
4752 /* 'Cs': General Category */
4753 static const OnigCodePoint CR_Cs[] = {
4754 1,
4755 0xd800, 0xdfff
4756 }; /* CR_Cs */
4757
4758 /* 'L': Major Category */
4759 static const OnigCodePoint CR_L[] = {
4760 347,
4761 0x0041, 0x005a,
4762 0x0061, 0x007a,
4763 0x00aa, 0x00aa,
4764 0x00b5, 0x00b5,
4765 0x00ba, 0x00ba,
4766 0x00c0, 0x00d6,
4767 0x00d8, 0x00f6,
4768 0x00f8, 0x0241,
4769 0x0250, 0x02c1,
4770 0x02c6, 0x02d1,
4771 0x02e0, 0x02e4,
4772 0x02ee, 0x02ee,
4773 0x037a, 0x037a,
4774 0x0386, 0x0386,
4775 0x0388, 0x038a,
4776 0x038c, 0x038c,
4777 0x038e, 0x03a1,
4778 0x03a3, 0x03ce,
4779 0x03d0, 0x03f5,
4780 0x03f7, 0x0481,
4781 0x048a, 0x04ce,
4782 0x04d0, 0x04f9,
4783 0x0500, 0x050f,
4784 0x0531, 0x0556,
4785 0x0559, 0x0559,
4786 0x0561, 0x0587,
4787 0x05d0, 0x05ea,
4788 0x05f0, 0x05f2,
4789 0x0621, 0x063a,
4790 0x0640, 0x064a,
4791 0x066e, 0x066f,
4792 0x0671, 0x06d3,
4793 0x06d5, 0x06d5,
4794 0x06e5, 0x06e6,
4795 0x06ee, 0x06ef,
4796 0x06fa, 0x06fc,
4797 0x06ff, 0x06ff,
4798 0x0710, 0x0710,
4799 0x0712, 0x072f,
4800 0x074d, 0x076d,
4801 0x0780, 0x07a5,
4802 0x07b1, 0x07b1,
4803 0x0904, 0x0939,
4804 0x093d, 0x093d,
4805 0x0950, 0x0950,
4806 0x0958, 0x0961,
4807 0x097d, 0x097d,
4808 0x0985, 0x098c,
4809 0x098f, 0x0990,
4810 0x0993, 0x09a8,
4811 0x09aa, 0x09b0,
4812 0x09b2, 0x09b2,
4813 0x09b6, 0x09b9,
4814 0x09bd, 0x09bd,
4815 0x09ce, 0x09ce,
4816 0x09dc, 0x09dd,
4817 0x09df, 0x09e1,
4818 0x09f0, 0x09f1,
4819 0x0a05, 0x0a0a,
4820 0x0a0f, 0x0a10,
4821 0x0a13, 0x0a28,
4822 0x0a2a, 0x0a30,
4823 0x0a32, 0x0a33,
4824 0x0a35, 0x0a36,
4825 0x0a38, 0x0a39,
4826 0x0a59, 0x0a5c,
4827 0x0a5e, 0x0a5e,
4828 0x0a72, 0x0a74,
4829 0x0a85, 0x0a8d,
4830 0x0a8f, 0x0a91,
4831 0x0a93, 0x0aa8,
4832 0x0aaa, 0x0ab0,
4833 0x0ab2, 0x0ab3,
4834 0x0ab5, 0x0ab9,
4835 0x0abd, 0x0abd,
4836 0x0ad0, 0x0ad0,
4837 0x0ae0, 0x0ae1,
4838 0x0b05, 0x0b0c,
4839 0x0b0f, 0x0b10,
4840 0x0b13, 0x0b28,
4841 0x0b2a, 0x0b30,
4842 0x0b32, 0x0b33,
4843 0x0b35, 0x0b39,
4844 0x0b3d, 0x0b3d,
4845 0x0b5c, 0x0b5d,
4846 0x0b5f, 0x0b61,
4847 0x0b71, 0x0b71,
4848 0x0b83, 0x0b83,
4849 0x0b85, 0x0b8a,
4850 0x0b8e, 0x0b90,
4851 0x0b92, 0x0b95,
4852 0x0b99, 0x0b9a,
4853 0x0b9c, 0x0b9c,
4854 0x0b9e, 0x0b9f,
4855 0x0ba3, 0x0ba4,
4856 0x0ba8, 0x0baa,
4857 0x0bae, 0x0bb9,
4858 0x0c05, 0x0c0c,
4859 0x0c0e, 0x0c10,
4860 0x0c12, 0x0c28,
4861 0x0c2a, 0x0c33,
4862 0x0c35, 0x0c39,
4863 0x0c60, 0x0c61,
4864 0x0c85, 0x0c8c,
4865 0x0c8e, 0x0c90,
4866 0x0c92, 0x0ca8,
4867 0x0caa, 0x0cb3,
4868 0x0cb5, 0x0cb9,
4869 0x0cbd, 0x0cbd,
4870 0x0cde, 0x0cde,
4871 0x0ce0, 0x0ce1,
4872 0x0d05, 0x0d0c,
4873 0x0d0e, 0x0d10,
4874 0x0d12, 0x0d28,
4875 0x0d2a, 0x0d39,
4876 0x0d60, 0x0d61,
4877 0x0d85, 0x0d96,
4878 0x0d9a, 0x0db1,
4879 0x0db3, 0x0dbb,
4880 0x0dbd, 0x0dbd,
4881 0x0dc0, 0x0dc6,
4882 0x0e01, 0x0e30,
4883 0x0e32, 0x0e33,
4884 0x0e40, 0x0e46,
4885 0x0e81, 0x0e82,
4886 0x0e84, 0x0e84,
4887 0x0e87, 0x0e88,
4888 0x0e8a, 0x0e8a,
4889 0x0e8d, 0x0e8d,
4890 0x0e94, 0x0e97,
4891 0x0e99, 0x0e9f,
4892 0x0ea1, 0x0ea3,
4893 0x0ea5, 0x0ea5,
4894 0x0ea7, 0x0ea7,
4895 0x0eaa, 0x0eab,
4896 0x0ead, 0x0eb0,
4897 0x0eb2, 0x0eb3,
4898 0x0ebd, 0x0ebd,
4899 0x0ec0, 0x0ec4,
4900 0x0ec6, 0x0ec6,
4901 0x0edc, 0x0edd,
4902 0x0f00, 0x0f00,
4903 0x0f40, 0x0f47,
4904 0x0f49, 0x0f6a,
4905 0x0f88, 0x0f8b,
4906 0x1000, 0x1021,
4907 0x1023, 0x1027,
4908 0x1029, 0x102a,
4909 0x1050, 0x1055,
4910 0x10a0, 0x10c5,
4911 0x10d0, 0x10fa,
4912 0x10fc, 0x10fc,
4913 0x1100, 0x1159,
4914 0x115f, 0x11a2,
4915 0x11a8, 0x11f9,
4916 0x1200, 0x1248,
4917 0x124a, 0x124d,
4918 0x1250, 0x1256,
4919 0x1258, 0x1258,
4920 0x125a, 0x125d,
4921 0x1260, 0x1288,
4922 0x128a, 0x128d,
4923 0x1290, 0x12b0,
4924 0x12b2, 0x12b5,
4925 0x12b8, 0x12be,
4926 0x12c0, 0x12c0,
4927 0x12c2, 0x12c5,
4928 0x12c8, 0x12d6,
4929 0x12d8, 0x1310,
4930 0x1312, 0x1315,
4931 0x1318, 0x135a,
4932 0x1380, 0x138f,
4933 0x13a0, 0x13f4,
4934 0x1401, 0x166c,
4935 0x166f, 0x1676,
4936 0x1681, 0x169a,
4937 0x16a0, 0x16ea,
4938 0x1700, 0x170c,
4939 0x170e, 0x1711,
4940 0x1720, 0x1731,
4941 0x1740, 0x1751,
4942 0x1760, 0x176c,
4943 0x176e, 0x1770,
4944 0x1780, 0x17b3,
4945 0x17d7, 0x17d7,
4946 0x17dc, 0x17dc,
4947 0x1820, 0x1877,
4948 0x1880, 0x18a8,
4949 0x1900, 0x191c,
4950 0x1950, 0x196d,
4951 0x1970, 0x1974,
4952 0x1980, 0x19a9,
4953 0x19c1, 0x19c7,
4954 0x1a00, 0x1a16,
4955 0x1d00, 0x1dbf,
4956 0x1e00, 0x1e9b,
4957 0x1ea0, 0x1ef9,
4958 0x1f00, 0x1f15,
4959 0x1f18, 0x1f1d,
4960 0x1f20, 0x1f45,
4961 0x1f48, 0x1f4d,
4962 0x1f50, 0x1f57,
4963 0x1f59, 0x1f59,
4964 0x1f5b, 0x1f5b,
4965 0x1f5d, 0x1f5d,
4966 0x1f5f, 0x1f7d,
4967 0x1f80, 0x1fb4,
4968 0x1fb6, 0x1fbc,
4969 0x1fbe, 0x1fbe,
4970 0x1fc2, 0x1fc4,
4971 0x1fc6, 0x1fcc,
4972 0x1fd0, 0x1fd3,
4973 0x1fd6, 0x1fdb,
4974 0x1fe0, 0x1fec,
4975 0x1ff2, 0x1ff4,
4976 0x1ff6, 0x1ffc,
4977 0x2071, 0x2071,
4978 0x207f, 0x207f,
4979 0x2090, 0x2094,
4980 0x2102, 0x2102,
4981 0x2107, 0x2107,
4982 0x210a, 0x2113,
4983 0x2115, 0x2115,
4984 0x2119, 0x211d,
4985 0x2124, 0x2124,
4986 0x2126, 0x2126,
4987 0x2128, 0x2128,
4988 0x212a, 0x212d,
4989 0x212f, 0x2131,
4990 0x2133, 0x2139,
4991 0x213c, 0x213f,
4992 0x2145, 0x2149,
4993 0x2c00, 0x2c2e,
4994 0x2c30, 0x2c5e,
4995 0x2c80, 0x2ce4,
4996 0x2d00, 0x2d25,
4997 0x2d30, 0x2d65,
4998 0x2d6f, 0x2d6f,
4999 0x2d80, 0x2d96,
5000 0x2da0, 0x2da6,
5001 0x2da8, 0x2dae,
5002 0x2db0, 0x2db6,
5003 0x2db8, 0x2dbe,
5004 0x2dc0, 0x2dc6,
5005 0x2dc8, 0x2dce,
5006 0x2dd0, 0x2dd6,
5007 0x2dd8, 0x2dde,
5008 0x3005, 0x3006,
5009 0x3031, 0x3035,
5010 0x303b, 0x303c,
5011 0x3041, 0x3096,
5012 0x309d, 0x309f,
5013 0x30a1, 0x30fa,
5014 0x30fc, 0x30ff,
5015 0x3105, 0x312c,
5016 0x3131, 0x318e,
5017 0x31a0, 0x31b7,
5018 0x31f0, 0x31ff,
5019 0x3400, 0x4db5,
5020 0x4e00, 0x9fbb,
5021 0xa000, 0xa48c,
5022 0xa800, 0xa801,
5023 0xa803, 0xa805,
5024 0xa807, 0xa80a,
5025 0xa80c, 0xa822,
5026 0xac00, 0xd7a3,
5027 0xf900, 0xfa2d,
5028 0xfa30, 0xfa6a,
5029 0xfa70, 0xfad9,
5030 0xfb00, 0xfb06,
5031 0xfb13, 0xfb17,
5032 0xfb1d, 0xfb1d,
5033 0xfb1f, 0xfb28,
5034 0xfb2a, 0xfb36,
5035 0xfb38, 0xfb3c,
5036 0xfb3e, 0xfb3e,
5037 0xfb40, 0xfb41,
5038 0xfb43, 0xfb44,
5039 0xfb46, 0xfbb1,
5040 0xfbd3, 0xfd3d,
5041 0xfd50, 0xfd8f,
5042 0xfd92, 0xfdc7,
5043 0xfdf0, 0xfdfb,
5044 0xfe70, 0xfe74,
5045 0xfe76, 0xfefc,
5046 0xff21, 0xff3a,
5047 0xff41, 0xff5a,
5048 0xff66, 0xffbe,
5049 0xffc2, 0xffc7,
5050 0xffca, 0xffcf,
5051 0xffd2, 0xffd7,
5052 0xffda, 0xffdc,
5053 0x10000, 0x1000b,
5054 0x1000d, 0x10026,
5055 0x10028, 0x1003a,
5056 0x1003c, 0x1003d,
5057 0x1003f, 0x1004d,
5058 0x10050, 0x1005d,
5059 0x10080, 0x100fa,
5060 0x10300, 0x1031e,
5061 0x10330, 0x10349,
5062 0x10380, 0x1039d,
5063 0x103a0, 0x103c3,
5064 0x103c8, 0x103cf,
5065 0x10400, 0x1049d,
5066 0x10800, 0x10805,
5067 0x10808, 0x10808,
5068 0x1080a, 0x10835,
5069 0x10837, 0x10838,
5070 0x1083c, 0x1083c,
5071 0x1083f, 0x1083f,
5072 0x10a00, 0x10a00,
5073 0x10a10, 0x10a13,
5074 0x10a15, 0x10a17,
5075 0x10a19, 0x10a33,
5076 0x1d400, 0x1d454,
5077 0x1d456, 0x1d49c,
5078 0x1d49e, 0x1d49f,
5079 0x1d4a2, 0x1d4a2,
5080 0x1d4a5, 0x1d4a6,
5081 0x1d4a9, 0x1d4ac,
5082 0x1d4ae, 0x1d4b9,
5083 0x1d4bb, 0x1d4bb,
5084 0x1d4bd, 0x1d4c3,
5085 0x1d4c5, 0x1d505,
5086 0x1d507, 0x1d50a,
5087 0x1d50d, 0x1d514,
5088 0x1d516, 0x1d51c,
5089 0x1d51e, 0x1d539,
5090 0x1d53b, 0x1d53e,
5091 0x1d540, 0x1d544,
5092 0x1d546, 0x1d546,
5093 0x1d54a, 0x1d550,
5094 0x1d552, 0x1d6a5,
5095 0x1d6a8, 0x1d6c0,
5096 0x1d6c2, 0x1d6da,
5097 0x1d6dc, 0x1d6fa,
5098 0x1d6fc, 0x1d714,
5099 0x1d716, 0x1d734,
5100 0x1d736, 0x1d74e,
5101 0x1d750, 0x1d76e,
5102 0x1d770, 0x1d788,
5103 0x1d78a, 0x1d7a8,
5104 0x1d7aa, 0x1d7c2,
5105 0x1d7c4, 0x1d7c9,
5106 0x20000, 0x2a6d6,
5107 0x2f800, 0x2fa1d
5108 }; /* CR_L */
5109
5110 /* 'Ll': General Category */
5111 static const OnigCodePoint CR_Ll[] = {
5112 480,
5113 0x0061, 0x007a,
5114 0x00aa, 0x00aa,
5115 0x00b5, 0x00b5,
5116 0x00ba, 0x00ba,
5117 0x00df, 0x00f6,
5118 0x00f8, 0x00ff,
5119 0x0101, 0x0101,
5120 0x0103, 0x0103,
5121 0x0105, 0x0105,
5122 0x0107, 0x0107,
5123 0x0109, 0x0109,
5124 0x010b, 0x010b,
5125 0x010d, 0x010d,
5126 0x010f, 0x010f,
5127 0x0111, 0x0111,
5128 0x0113, 0x0113,
5129 0x0115, 0x0115,
5130 0x0117, 0x0117,
5131 0x0119, 0x0119,
5132 0x011b, 0x011b,
5133 0x011d, 0x011d,
5134 0x011f, 0x011f,
5135 0x0121, 0x0121,
5136 0x0123, 0x0123,
5137 0x0125, 0x0125,
5138 0x0127, 0x0127,
5139 0x0129, 0x0129,
5140 0x012b, 0x012b,
5141 0x012d, 0x012d,
5142 0x012f, 0x012f,
5143 0x0131, 0x0131,
5144 0x0133, 0x0133,
5145 0x0135, 0x0135,
5146 0x0137, 0x0138,
5147 0x013a, 0x013a,
5148 0x013c, 0x013c,
5149 0x013e, 0x013e,
5150 0x0140, 0x0140,
5151 0x0142, 0x0142,
5152 0x0144, 0x0144,
5153 0x0146, 0x0146,
5154 0x0148, 0x0149,
5155 0x014b, 0x014b,
5156 0x014d, 0x014d,
5157 0x014f, 0x014f,
5158 0x0151, 0x0151,
5159 0x0153, 0x0153,
5160 0x0155, 0x0155,
5161 0x0157, 0x0157,
5162 0x0159, 0x0159,
5163 0x015b, 0x015b,
5164 0x015d, 0x015d,
5165 0x015f, 0x015f,
5166 0x0161, 0x0161,
5167 0x0163, 0x0163,
5168 0x0165, 0x0165,
5169 0x0167, 0x0167,
5170 0x0169, 0x0169,
5171 0x016b, 0x016b,
5172 0x016d, 0x016d,
5173 0x016f, 0x016f,
5174 0x0171, 0x0171,
5175 0x0173, 0x0173,
5176 0x0175, 0x0175,
5177 0x0177, 0x0177,
5178 0x017a, 0x017a,
5179 0x017c, 0x017c,
5180 0x017e, 0x0180,
5181 0x0183, 0x0183,
5182 0x0185, 0x0185,
5183 0x0188, 0x0188,
5184 0x018c, 0x018d,
5185 0x0192, 0x0192,
5186 0x0195, 0x0195,
5187 0x0199, 0x019b,
5188 0x019e, 0x019e,
5189 0x01a1, 0x01a1,
5190 0x01a3, 0x01a3,
5191 0x01a5, 0x01a5,
5192 0x01a8, 0x01a8,
5193 0x01aa, 0x01ab,
5194 0x01ad, 0x01ad,
5195 0x01b0, 0x01b0,
5196 0x01b4, 0x01b4,
5197 0x01b6, 0x01b6,
5198 0x01b9, 0x01ba,
5199 0x01bd, 0x01bf,
5200 0x01c6, 0x01c6,
5201 0x01c9, 0x01c9,
5202 0x01cc, 0x01cc,
5203 0x01ce, 0x01ce,
5204 0x01d0, 0x01d0,
5205 0x01d2, 0x01d2,
5206 0x01d4, 0x01d4,
5207 0x01d6, 0x01d6,
5208 0x01d8, 0x01d8,
5209 0x01da, 0x01da,
5210 0x01dc, 0x01dd,
5211 0x01df, 0x01df,
5212 0x01e1, 0x01e1,
5213 0x01e3, 0x01e3,
5214 0x01e5, 0x01e5,
5215 0x01e7, 0x01e7,
5216 0x01e9, 0x01e9,
5217 0x01eb, 0x01eb,
5218 0x01ed, 0x01ed,
5219 0x01ef, 0x01f0,
5220 0x01f3, 0x01f3,
5221 0x01f5, 0x01f5,
5222 0x01f9, 0x01f9,
5223 0x01fb, 0x01fb,
5224 0x01fd, 0x01fd,
5225 0x01ff, 0x01ff,
5226 0x0201, 0x0201,
5227 0x0203, 0x0203,
5228 0x0205, 0x0205,
5229 0x0207, 0x0207,
5230 0x0209, 0x0209,
5231 0x020b, 0x020b,
5232 0x020d, 0x020d,
5233 0x020f, 0x020f,
5234 0x0211, 0x0211,
5235 0x0213, 0x0213,
5236 0x0215, 0x0215,
5237 0x0217, 0x0217,
5238 0x0219, 0x0219,
5239 0x021b, 0x021b,
5240 0x021d, 0x021d,
5241 0x021f, 0x021f,
5242 0x0221, 0x0221,
5243 0x0223, 0x0223,
5244 0x0225, 0x0225,
5245 0x0227, 0x0227,
5246 0x0229, 0x0229,
5247 0x022b, 0x022b,
5248 0x022d, 0x022d,
5249 0x022f, 0x022f,
5250 0x0231, 0x0231,
5251 0x0233, 0x0239,
5252 0x023c, 0x023c,
5253 0x023f, 0x0240,
5254 0x0250, 0x02af,
5255 0x0390, 0x0390,
5256 0x03ac, 0x03ce,
5257 0x03d0, 0x03d1,
5258 0x03d5, 0x03d7,
5259 0x03d9, 0x03d9,
5260 0x03db, 0x03db,
5261 0x03dd, 0x03dd,
5262 0x03df, 0x03df,
5263 0x03e1, 0x03e1,
5264 0x03e3, 0x03e3,
5265 0x03e5, 0x03e5,
5266 0x03e7, 0x03e7,
5267 0x03e9, 0x03e9,
5268 0x03eb, 0x03eb,
5269 0x03ed, 0x03ed,
5270 0x03ef, 0x03f3,
5271 0x03f5, 0x03f5,
5272 0x03f8, 0x03f8,
5273 0x03fb, 0x03fc,
5274 0x0430, 0x045f,
5275 0x0461, 0x0461,
5276 0x0463, 0x0463,
5277 0x0465, 0x0465,
5278 0x0467, 0x0467,
5279 0x0469, 0x0469,
5280 0x046b, 0x046b,
5281 0x046d, 0x046d,
5282 0x046f, 0x046f,
5283 0x0471, 0x0471,
5284 0x0473, 0x0473,
5285 0x0475, 0x0475,
5286 0x0477, 0x0477,
5287 0x0479, 0x0479,
5288 0x047b, 0x047b,
5289 0x047d, 0x047d,
5290 0x047f, 0x047f,
5291 0x0481, 0x0481,
5292 0x048b, 0x048b,
5293 0x048d, 0x048d,
5294 0x048f, 0x048f,
5295 0x0491, 0x0491,
5296 0x0493, 0x0493,
5297 0x0495, 0x0495,
5298 0x0497, 0x0497,
5299 0x0499, 0x0499,
5300 0x049b, 0x049b,
5301 0x049d, 0x049d,
5302 0x049f, 0x049f,
5303 0x04a1, 0x04a1,
5304 0x04a3, 0x04a3,
5305 0x04a5, 0x04a5,
5306 0x04a7, 0x04a7,
5307 0x04a9, 0x04a9,
5308 0x04ab, 0x04ab,
5309 0x04ad, 0x04ad,
5310 0x04af, 0x04af,
5311 0x04b1, 0x04b1,
5312 0x04b3, 0x04b3,
5313 0x04b5, 0x04b5,
5314 0x04b7, 0x04b7,
5315 0x04b9, 0x04b9,
5316 0x04bb, 0x04bb,
5317 0x04bd, 0x04bd,
5318 0x04bf, 0x04bf,
5319 0x04c2, 0x04c2,
5320 0x04c4, 0x04c4,
5321 0x04c6, 0x04c6,
5322 0x04c8, 0x04c8,
5323 0x04ca, 0x04ca,
5324 0x04cc, 0x04cc,
5325 0x04ce, 0x04ce,
5326 0x04d1, 0x04d1,
5327 0x04d3, 0x04d3,
5328 0x04d5, 0x04d5,
5329 0x04d7, 0x04d7,
5330 0x04d9, 0x04d9,
5331 0x04db, 0x04db,
5332 0x04dd, 0x04dd,
5333 0x04df, 0x04df,
5334 0x04e1, 0x04e1,
5335 0x04e3, 0x04e3,
5336 0x04e5, 0x04e5,
5337 0x04e7, 0x04e7,
5338 0x04e9, 0x04e9,
5339 0x04eb, 0x04eb,
5340 0x04ed, 0x04ed,
5341 0x04ef, 0x04ef,
5342 0x04f1, 0x04f1,
5343 0x04f3, 0x04f3,
5344 0x04f5, 0x04f5,
5345 0x04f7, 0x04f7,
5346 0x04f9, 0x04f9,
5347 0x0501, 0x0501,
5348 0x0503, 0x0503,
5349 0x0505, 0x0505,
5350 0x0507, 0x0507,
5351 0x0509, 0x0509,
5352 0x050b, 0x050b,
5353 0x050d, 0x050d,
5354 0x050f, 0x050f,
5355 0x0561, 0x0587,
5356 0x1d00, 0x1d2b,
5357 0x1d62, 0x1d77,
5358 0x1d79, 0x1d9a,
5359 0x1e01, 0x1e01,
5360 0x1e03, 0x1e03,
5361 0x1e05, 0x1e05,
5362 0x1e07, 0x1e07,
5363 0x1e09, 0x1e09,
5364 0x1e0b, 0x1e0b,
5365 0x1e0d, 0x1e0d,
5366 0x1e0f, 0x1e0f,
5367 0x1e11, 0x1e11,
5368 0x1e13, 0x1e13,
5369 0x1e15, 0x1e15,
5370 0x1e17, 0x1e17,
5371 0x1e19, 0x1e19,
5372 0x1e1b, 0x1e1b,
5373 0x1e1d, 0x1e1d,
5374 0x1e1f, 0x1e1f,
5375 0x1e21, 0x1e21,
5376 0x1e23, 0x1e23,
5377 0x1e25, 0x1e25,
5378 0x1e27, 0x1e27,
5379 0x1e29, 0x1e29,
5380 0x1e2b, 0x1e2b,
5381 0x1e2d, 0x1e2d,
5382 0x1e2f, 0x1e2f,
5383 0x1e31, 0x1e31,
5384 0x1e33, 0x1e33,
5385 0x1e35, 0x1e35,
5386 0x1e37, 0x1e37,
5387 0x1e39, 0x1e39,
5388 0x1e3b, 0x1e3b,
5389 0x1e3d, 0x1e3d,
5390 0x1e3f, 0x1e3f,
5391 0x1e41, 0x1e41,
5392 0x1e43, 0x1e43,
5393 0x1e45, 0x1e45,
5394 0x1e47, 0x1e47,
5395 0x1e49, 0x1e49,
5396 0x1e4b, 0x1e4b,
5397 0x1e4d, 0x1e4d,
5398 0x1e4f, 0x1e4f,
5399 0x1e51, 0x1e51,
5400 0x1e53, 0x1e53,
5401 0x1e55, 0x1e55,
5402 0x1e57, 0x1e57,
5403 0x1e59, 0x1e59,
5404 0x1e5b, 0x1e5b,
5405 0x1e5d, 0x1e5d,
5406 0x1e5f, 0x1e5f,
5407 0x1e61, 0x1e61,
5408 0x1e63, 0x1e63,
5409 0x1e65, 0x1e65,
5410 0x1e67, 0x1e67,
5411 0x1e69, 0x1e69,
5412 0x1e6b, 0x1e6b,
5413 0x1e6d, 0x1e6d,
5414 0x1e6f, 0x1e6f,
5415 0x1e71, 0x1e71,
5416 0x1e73, 0x1e73,
5417 0x1e75, 0x1e75,
5418 0x1e77, 0x1e77,
5419 0x1e79, 0x1e79,
5420 0x1e7b, 0x1e7b,
5421 0x1e7d, 0x1e7d,
5422 0x1e7f, 0x1e7f,
5423 0x1e81, 0x1e81,
5424 0x1e83, 0x1e83,
5425 0x1e85, 0x1e85,
5426 0x1e87, 0x1e87,
5427 0x1e89, 0x1e89,
5428 0x1e8b, 0x1e8b,
5429 0x1e8d, 0x1e8d,
5430 0x1e8f, 0x1e8f,
5431 0x1e91, 0x1e91,
5432 0x1e93, 0x1e93,
5433 0x1e95, 0x1e9b,
5434 0x1ea1, 0x1ea1,
5435 0x1ea3, 0x1ea3,
5436 0x1ea5, 0x1ea5,
5437 0x1ea7, 0x1ea7,
5438 0x1ea9, 0x1ea9,
5439 0x1eab, 0x1eab,
5440 0x1ead, 0x1ead,
5441 0x1eaf, 0x1eaf,
5442 0x1eb1, 0x1eb1,
5443 0x1eb3, 0x1eb3,
5444 0x1eb5, 0x1eb5,
5445 0x1eb7, 0x1eb7,
5446 0x1eb9, 0x1eb9,
5447 0x1ebb, 0x1ebb,
5448 0x1ebd, 0x1ebd,
5449 0x1ebf, 0x1ebf,
5450 0x1ec1, 0x1ec1,
5451 0x1ec3, 0x1ec3,
5452 0x1ec5, 0x1ec5,
5453 0x1ec7, 0x1ec7,
5454 0x1ec9, 0x1ec9,
5455 0x1ecb, 0x1ecb,
5456 0x1ecd, 0x1ecd,
5457 0x1ecf, 0x1ecf,
5458 0x1ed1, 0x1ed1,
5459 0x1ed3, 0x1ed3,
5460 0x1ed5, 0x1ed5,
5461 0x1ed7, 0x1ed7,
5462 0x1ed9, 0x1ed9,
5463 0x1edb, 0x1edb,
5464 0x1edd, 0x1edd,
5465 0x1edf, 0x1edf,
5466 0x1ee1, 0x1ee1,
5467 0x1ee3, 0x1ee3,
5468 0x1ee5, 0x1ee5,
5469 0x1ee7, 0x1ee7,
5470 0x1ee9, 0x1ee9,
5471 0x1eeb, 0x1eeb,
5472 0x1eed, 0x1eed,
5473 0x1eef, 0x1eef,
5474 0x1ef1, 0x1ef1,
5475 0x1ef3, 0x1ef3,
5476 0x1ef5, 0x1ef5,
5477 0x1ef7, 0x1ef7,
5478 0x1ef9, 0x1ef9,
5479 0x1f00, 0x1f07,
5480 0x1f10, 0x1f15,
5481 0x1f20, 0x1f27,
5482 0x1f30, 0x1f37,
5483 0x1f40, 0x1f45,
5484 0x1f50, 0x1f57,
5485 0x1f60, 0x1f67,
5486 0x1f70, 0x1f7d,
5487 0x1f80, 0x1f87,
5488 0x1f90, 0x1f97,
5489 0x1fa0, 0x1fa7,
5490 0x1fb0, 0x1fb4,
5491 0x1fb6, 0x1fb7,
5492 0x1fbe, 0x1fbe,
5493 0x1fc2, 0x1fc4,
5494 0x1fc6, 0x1fc7,
5495 0x1fd0, 0x1fd3,
5496 0x1fd6, 0x1fd7,
5497 0x1fe0, 0x1fe7,
5498 0x1ff2, 0x1ff4,
5499 0x1ff6, 0x1ff7,
5500 0x2071, 0x2071,
5501 0x207f, 0x207f,
5502 0x210a, 0x210a,
5503 0x210e, 0x210f,
5504 0x2113, 0x2113,
5505 0x212f, 0x212f,
5506 0x2134, 0x2134,
5507 0x2139, 0x2139,
5508 0x213c, 0x213d,
5509 0x2146, 0x2149,
5510 0x2c30, 0x2c5e,
5511 0x2c81, 0x2c81,
5512 0x2c83, 0x2c83,
5513 0x2c85, 0x2c85,
5514 0x2c87, 0x2c87,
5515 0x2c89, 0x2c89,
5516 0x2c8b, 0x2c8b,
5517 0x2c8d, 0x2c8d,
5518 0x2c8f, 0x2c8f,
5519 0x2c91, 0x2c91,
5520 0x2c93, 0x2c93,
5521 0x2c95, 0x2c95,
5522 0x2c97, 0x2c97,
5523 0x2c99, 0x2c99,
5524 0x2c9b, 0x2c9b,
5525 0x2c9d, 0x2c9d,
5526 0x2c9f, 0x2c9f,
5527 0x2ca1, 0x2ca1,
5528 0x2ca3, 0x2ca3,
5529 0x2ca5, 0x2ca5,
5530 0x2ca7, 0x2ca7,
5531 0x2ca9, 0x2ca9,
5532 0x2cab, 0x2cab,
5533 0x2cad, 0x2cad,
5534 0x2caf, 0x2caf,
5535 0x2cb1, 0x2cb1,
5536 0x2cb3, 0x2cb3,
5537 0x2cb5, 0x2cb5,
5538 0x2cb7, 0x2cb7,
5539 0x2cb9, 0x2cb9,
5540 0x2cbb, 0x2cbb,
5541 0x2cbd, 0x2cbd,
5542 0x2cbf, 0x2cbf,
5543 0x2cc1, 0x2cc1,
5544 0x2cc3, 0x2cc3,
5545 0x2cc5, 0x2cc5,
5546 0x2cc7, 0x2cc7,
5547 0x2cc9, 0x2cc9,
5548 0x2ccb, 0x2ccb,
5549 0x2ccd, 0x2ccd,
5550 0x2ccf, 0x2ccf,
5551 0x2cd1, 0x2cd1,
5552 0x2cd3, 0x2cd3,
5553 0x2cd5, 0x2cd5,
5554 0x2cd7, 0x2cd7,
5555 0x2cd9, 0x2cd9,
5556 0x2cdb, 0x2cdb,
5557 0x2cdd, 0x2cdd,
5558 0x2cdf, 0x2cdf,
5559 0x2ce1, 0x2ce1,
5560 0x2ce3, 0x2ce4,
5561 0x2d00, 0x2d25,
5562 0xfb00, 0xfb06,
5563 0xfb13, 0xfb17,
5564 0xff41, 0xff5a,
5565 0x10428, 0x1044f,
5566 0x1d41a, 0x1d433,
5567 0x1d44e, 0x1d454,
5568 0x1d456, 0x1d467,
5569 0x1d482, 0x1d49b,
5570 0x1d4b6, 0x1d4b9,
5571 0x1d4bb, 0x1d4bb,
5572 0x1d4bd, 0x1d4c3,
5573 0x1d4c5, 0x1d4cf,
5574 0x1d4ea, 0x1d503,
5575 0x1d51e, 0x1d537,
5576 0x1d552, 0x1d56b,
5577 0x1d586, 0x1d59f,
5578 0x1d5ba, 0x1d5d3,
5579 0x1d5ee, 0x1d607,
5580 0x1d622, 0x1d63b,
5581 0x1d656, 0x1d66f,
5582 0x1d68a, 0x1d6a5,
5583 0x1d6c2, 0x1d6da,
5584 0x1d6dc, 0x1d6e1,
5585 0x1d6fc, 0x1d714,
5586 0x1d716, 0x1d71b,
5587 0x1d736, 0x1d74e,
5588 0x1d750, 0x1d755,
5589 0x1d770, 0x1d788,
5590 0x1d78a, 0x1d78f,
5591 0x1d7aa, 0x1d7c2,
5592 0x1d7c4, 0x1d7c9
5593 }; /* CR_Ll */
5594
5595 /* 'Lm': General Category */
5596 static const OnigCodePoint CR_Lm[] = {
5597 26,
5598 0x02b0, 0x02c1,
5599 0x02c6, 0x02d1,
5600 0x02e0, 0x02e4,
5601 0x02ee, 0x02ee,
5602 0x037a, 0x037a,
5603 0x0559, 0x0559,
5604 0x0640, 0x0640,
5605 0x06e5, 0x06e6,
5606 0x0e46, 0x0e46,
5607 0x0ec6, 0x0ec6,
5608 0x10fc, 0x10fc,
5609 0x17d7, 0x17d7,
5610 0x1843, 0x1843,
5611 0x1d2c, 0x1d61,
5612 0x1d78, 0x1d78,
5613 0x1d9b, 0x1dbf,
5614 0x2090, 0x2094,
5615 0x2d6f, 0x2d6f,
5616 0x3005, 0x3005,
5617 0x3031, 0x3035,
5618 0x303b, 0x303b,
5619 0x309d, 0x309e,
5620 0x30fc, 0x30fe,
5621 0xa015, 0xa015,
5622 0xff70, 0xff70,
5623 0xff9e, 0xff9f
5624 }; /* CR_Lm */
5625
5626 /* 'Lo': General Category */
5627 static const OnigCodePoint CR_Lo[] = {
5628 245,
5629 0x01bb, 0x01bb,
5630 0x01c0, 0x01c3,
5631 0x05d0, 0x05ea,
5632 0x05f0, 0x05f2,
5633 0x0621, 0x063a,
5634 0x0641, 0x064a,
5635 0x066e, 0x066f,
5636 0x0671, 0x06d3,
5637 0x06d5, 0x06d5,
5638 0x06ee, 0x06ef,
5639 0x06fa, 0x06fc,
5640 0x06ff, 0x06ff,
5641 0x0710, 0x0710,
5642 0x0712, 0x072f,
5643 0x074d, 0x076d,
5644 0x0780, 0x07a5,
5645 0x07b1, 0x07b1,
5646 0x0904, 0x0939,
5647 0x093d, 0x093d,
5648 0x0950, 0x0950,
5649 0x0958, 0x0961,
5650 0x097d, 0x097d,
5651 0x0985, 0x098c,
5652 0x098f, 0x0990,
5653 0x0993, 0x09a8,
5654 0x09aa, 0x09b0,
5655 0x09b2, 0x09b2,
5656 0x09b6, 0x09b9,
5657 0x09bd, 0x09bd,
5658 0x09ce, 0x09ce,
5659 0x09dc, 0x09dd,
5660 0x09df, 0x09e1,
5661 0x09f0, 0x09f1,
5662 0x0a05, 0x0a0a,
5663 0x0a0f, 0x0a10,
5664 0x0a13, 0x0a28,
5665 0x0a2a, 0x0a30,
5666 0x0a32, 0x0a33,
5667 0x0a35, 0x0a36,
5668 0x0a38, 0x0a39,
5669 0x0a59, 0x0a5c,
5670 0x0a5e, 0x0a5e,
5671 0x0a72, 0x0a74,
5672 0x0a85, 0x0a8d,
5673 0x0a8f, 0x0a91,
5674 0x0a93, 0x0aa8,
5675 0x0aaa, 0x0ab0,
5676 0x0ab2, 0x0ab3,
5677 0x0ab5, 0x0ab9,
5678 0x0abd, 0x0abd,
5679 0x0ad0, 0x0ad0,
5680 0x0ae0, 0x0ae1,
5681 0x0b05, 0x0b0c,
5682 0x0b0f, 0x0b10,
5683 0x0b13, 0x0b28,
5684 0x0b2a, 0x0b30,
5685 0x0b32, 0x0b33,
5686 0x0b35, 0x0b39,
5687 0x0b3d, 0x0b3d,
5688 0x0b5c, 0x0b5d,
5689 0x0b5f, 0x0b61,
5690 0x0b71, 0x0b71,
5691 0x0b83, 0x0b83,
5692 0x0b85, 0x0b8a,
5693 0x0b8e, 0x0b90,
5694 0x0b92, 0x0b95,
5695 0x0b99, 0x0b9a,
5696 0x0b9c, 0x0b9c,
5697 0x0b9e, 0x0b9f,
5698 0x0ba3, 0x0ba4,
5699 0x0ba8, 0x0baa,
5700 0x0bae, 0x0bb9,
5701 0x0c05, 0x0c0c,
5702 0x0c0e, 0x0c10,
5703 0x0c12, 0x0c28,
5704 0x0c2a, 0x0c33,
5705 0x0c35, 0x0c39,
5706 0x0c60, 0x0c61,
5707 0x0c85, 0x0c8c,
5708 0x0c8e, 0x0c90,
5709 0x0c92, 0x0ca8,
5710 0x0caa, 0x0cb3,
5711 0x0cb5, 0x0cb9,
5712 0x0cbd, 0x0cbd,
5713 0x0cde, 0x0cde,
5714 0x0ce0, 0x0ce1,
5715 0x0d05, 0x0d0c,
5716 0x0d0e, 0x0d10,
5717 0x0d12, 0x0d28,
5718 0x0d2a, 0x0d39,
5719 0x0d60, 0x0d61,
5720 0x0d85, 0x0d96,
5721 0x0d9a, 0x0db1,
5722 0x0db3, 0x0dbb,
5723 0x0dbd, 0x0dbd,
5724 0x0dc0, 0x0dc6,
5725 0x0e01, 0x0e30,
5726 0x0e32, 0x0e33,
5727 0x0e40, 0x0e45,
5728 0x0e81, 0x0e82,
5729 0x0e84, 0x0e84,
5730 0x0e87, 0x0e88,
5731 0x0e8a, 0x0e8a,
5732 0x0e8d, 0x0e8d,
5733 0x0e94, 0x0e97,
5734 0x0e99, 0x0e9f,
5735 0x0ea1, 0x0ea3,
5736 0x0ea5, 0x0ea5,
5737 0x0ea7, 0x0ea7,
5738 0x0eaa, 0x0eab,
5739 0x0ead, 0x0eb0,
5740 0x0eb2, 0x0eb3,
5741 0x0ebd, 0x0ebd,
5742 0x0ec0, 0x0ec4,
5743 0x0edc, 0x0edd,
5744 0x0f00, 0x0f00,
5745 0x0f40, 0x0f47,
5746 0x0f49, 0x0f6a,
5747 0x0f88, 0x0f8b,
5748 0x1000, 0x1021,
5749 0x1023, 0x1027,
5750 0x1029, 0x102a,
5751 0x1050, 0x1055,
5752 0x10d0, 0x10fa,
5753 0x1100, 0x1159,
5754 0x115f, 0x11a2,
5755 0x11a8, 0x11f9,
5756 0x1200, 0x1248,
5757 0x124a, 0x124d,
5758 0x1250, 0x1256,
5759 0x1258, 0x1258,
5760 0x125a, 0x125d,
5761 0x1260, 0x1288,
5762 0x128a, 0x128d,
5763 0x1290, 0x12b0,
5764 0x12b2, 0x12b5,
5765 0x12b8, 0x12be,
5766 0x12c0, 0x12c0,
5767 0x12c2, 0x12c5,
5768 0x12c8, 0x12d6,
5769 0x12d8, 0x1310,
5770 0x1312, 0x1315,
5771 0x1318, 0x135a,
5772 0x1380, 0x138f,
5773 0x13a0, 0x13f4,
5774 0x1401, 0x166c,
5775 0x166f, 0x1676,
5776 0x1681, 0x169a,
5777 0x16a0, 0x16ea,
5778 0x1700, 0x170c,
5779 0x170e, 0x1711,
5780 0x1720, 0x1731,
5781 0x1740, 0x1751,
5782 0x1760, 0x176c,
5783 0x176e, 0x1770,
5784 0x1780, 0x17b3,
5785 0x17dc, 0x17dc,
5786 0x1820, 0x1842,
5787 0x1844, 0x1877,
5788 0x1880, 0x18a8,
5789 0x1900, 0x191c,
5790 0x1950, 0x196d,
5791 0x1970, 0x1974,
5792 0x1980, 0x19a9,
5793 0x19c1, 0x19c7,
5794 0x1a00, 0x1a16,
5795 0x2135, 0x2138,
5796 0x2d30, 0x2d65,
5797 0x2d80, 0x2d96,
5798 0x2da0, 0x2da6,
5799 0x2da8, 0x2dae,
5800 0x2db0, 0x2db6,
5801 0x2db8, 0x2dbe,
5802 0x2dc0, 0x2dc6,
5803 0x2dc8, 0x2dce,
5804 0x2dd0, 0x2dd6,
5805 0x2dd8, 0x2dde,
5806 0x3006, 0x3006,
5807 0x303c, 0x303c,
5808 0x3041, 0x3096,
5809 0x309f, 0x309f,
5810 0x30a1, 0x30fa,
5811 0x30ff, 0x30ff,
5812 0x3105, 0x312c,
5813 0x3131, 0x318e,
5814 0x31a0, 0x31b7,
5815 0x31f0, 0x31ff,
5816 0x3400, 0x4db5,
5817 0x4e00, 0x9fbb,
5818 0xa000, 0xa014,
5819 0xa016, 0xa48c,
5820 0xa800, 0xa801,
5821 0xa803, 0xa805,
5822 0xa807, 0xa80a,
5823 0xa80c, 0xa822,
5824 0xac00, 0xd7a3,
5825 0xf900, 0xfa2d,
5826 0xfa30, 0xfa6a,
5827 0xfa70, 0xfad9,
5828 0xfb1d, 0xfb1d,
5829 0xfb1f, 0xfb28,
5830 0xfb2a, 0xfb36,
5831 0xfb38, 0xfb3c,
5832 0xfb3e, 0xfb3e,
5833 0xfb40, 0xfb41,
5834 0xfb43, 0xfb44,
5835 0xfb46, 0xfbb1,
5836 0xfbd3, 0xfd3d,
5837 0xfd50, 0xfd8f,
5838 0xfd92, 0xfdc7,
5839 0xfdf0, 0xfdfb,
5840 0xfe70, 0xfe74,
5841 0xfe76, 0xfefc,
5842 0xff66, 0xff6f,
5843 0xff71, 0xff9d,
5844 0xffa0, 0xffbe,
5845 0xffc2, 0xffc7,
5846 0xffca, 0xffcf,
5847 0xffd2, 0xffd7,
5848 0xffda, 0xffdc,
5849 0x10000, 0x1000b,
5850 0x1000d, 0x10026,
5851 0x10028, 0x1003a,
5852 0x1003c, 0x1003d,
5853 0x1003f, 0x1004d,
5854 0x10050, 0x1005d,
5855 0x10080, 0x100fa,
5856 0x10300, 0x1031e,
5857 0x10330, 0x10349,
5858 0x10380, 0x1039d,
5859 0x103a0, 0x103c3,
5860 0x103c8, 0x103cf,
5861 0x10450, 0x1049d,
5862 0x10800, 0x10805,
5863 0x10808, 0x10808,
5864 0x1080a, 0x10835,
5865 0x10837, 0x10838,
5866 0x1083c, 0x1083c,
5867 0x1083f, 0x1083f,
5868 0x10a00, 0x10a00,
5869 0x10a10, 0x10a13,
5870 0x10a15, 0x10a17,
5871 0x10a19, 0x10a33,
5872 0x20000, 0x2a6d6,
5873 0x2f800, 0x2fa1d
5874 }; /* CR_Lo */
5875
5876 /* 'Lt': General Category */
5877 static const OnigCodePoint CR_Lt[] = {
5878 10,
5879 0x01c5, 0x01c5,
5880 0x01c8, 0x01c8,
5881 0x01cb, 0x01cb,
5882 0x01f2, 0x01f2,
5883 0x1f88, 0x1f8f,
5884 0x1f98, 0x1f9f,
5885 0x1fa8, 0x1faf,
5886 0x1fbc, 0x1fbc,
5887 0x1fcc, 0x1fcc,
5888 0x1ffc, 0x1ffc
5889 }; /* CR_Lt */
5890
5891 /* 'Lu': General Category */
5892 static const OnigCodePoint CR_Lu[] = {
5893 476,
5894 0x0041, 0x005a,
5895 0x00c0, 0x00d6,
5896 0x00d8, 0x00de,
5897 0x0100, 0x0100,
5898 0x0102, 0x0102,
5899 0x0104, 0x0104,
5900 0x0106, 0x0106,
5901 0x0108, 0x0108,
5902 0x010a, 0x010a,
5903 0x010c, 0x010c,
5904 0x010e, 0x010e,
5905 0x0110, 0x0110,
5906 0x0112, 0x0112,
5907 0x0114, 0x0114,
5908 0x0116, 0x0116,
5909 0x0118, 0x0118,
5910 0x011a, 0x011a,
5911 0x011c, 0x011c,
5912 0x011e, 0x011e,
5913 0x0120, 0x0120,
5914 0x0122, 0x0122,
5915 0x0124, 0x0124,
5916 0x0126, 0x0126,
5917 0x0128, 0x0128,
5918 0x012a, 0x012a,
5919 0x012c, 0x012c,
5920 0x012e, 0x012e,
5921 0x0130, 0x0130,
5922 0x0132, 0x0132,
5923 0x0134, 0x0134,
5924 0x0136, 0x0136,
5925 0x0139, 0x0139,
5926 0x013b, 0x013b,
5927 0x013d, 0x013d,
5928 0x013f, 0x013f,
5929 0x0141, 0x0141,
5930 0x0143, 0x0143,
5931 0x0145, 0x0145,
5932 0x0147, 0x0147,
5933 0x014a, 0x014a,
5934 0x014c, 0x014c,
5935 0x014e, 0x014e,
5936 0x0150, 0x0150,
5937 0x0152, 0x0152,
5938 0x0154, 0x0154,
5939 0x0156, 0x0156,
5940 0x0158, 0x0158,
5941 0x015a, 0x015a,
5942 0x015c, 0x015c,
5943 0x015e, 0x015e,
5944 0x0160, 0x0160,
5945 0x0162, 0x0162,
5946 0x0164, 0x0164,
5947 0x0166, 0x0166,
5948 0x0168, 0x0168,
5949 0x016a, 0x016a,
5950 0x016c, 0x016c,
5951 0x016e, 0x016e,
5952 0x0170, 0x0170,
5953 0x0172, 0x0172,
5954 0x0174, 0x0174,
5955 0x0176, 0x0176,
5956 0x0178, 0x0179,
5957 0x017b, 0x017b,
5958 0x017d, 0x017d,
5959 0x0181, 0x0182,
5960 0x0184, 0x0184,
5961 0x0186, 0x0187,
5962 0x0189, 0x018b,
5963 0x018e, 0x0191,
5964 0x0193, 0x0194,
5965 0x0196, 0x0198,
5966 0x019c, 0x019d,
5967 0x019f, 0x01a0,
5968 0x01a2, 0x01a2,
5969 0x01a4, 0x01a4,
5970 0x01a6, 0x01a7,
5971 0x01a9, 0x01a9,
5972 0x01ac, 0x01ac,
5973 0x01ae, 0x01af,
5974 0x01b1, 0x01b3,
5975 0x01b5, 0x01b5,
5976 0x01b7, 0x01b8,
5977 0x01bc, 0x01bc,
5978 0x01c4, 0x01c4,
5979 0x01c7, 0x01c7,
5980 0x01ca, 0x01ca,
5981 0x01cd, 0x01cd,
5982 0x01cf, 0x01cf,
5983 0x01d1, 0x01d1,
5984 0x01d3, 0x01d3,
5985 0x01d5, 0x01d5,
5986 0x01d7, 0x01d7,
5987 0x01d9, 0x01d9,
5988 0x01db, 0x01db,
5989 0x01de, 0x01de,
5990 0x01e0, 0x01e0,
5991 0x01e2, 0x01e2,
5992 0x01e4, 0x01e4,
5993 0x01e6, 0x01e6,
5994 0x01e8, 0x01e8,
5995 0x01ea, 0x01ea,
5996 0x01ec, 0x01ec,
5997 0x01ee, 0x01ee,
5998 0x01f1, 0x01f1,
5999 0x01f4, 0x01f4,
6000 0x01f6, 0x01f8,
6001 0x01fa, 0x01fa,
6002 0x01fc, 0x01fc,
6003 0x01fe, 0x01fe,
6004 0x0200, 0x0200,
6005 0x0202, 0x0202,
6006 0x0204, 0x0204,
6007 0x0206, 0x0206,
6008 0x0208, 0x0208,
6009 0x020a, 0x020a,
6010 0x020c, 0x020c,
6011 0x020e, 0x020e,
6012 0x0210, 0x0210,
6013 0x0212, 0x0212,
6014 0x0214, 0x0214,
6015 0x0216, 0x0216,
6016 0x0218, 0x0218,
6017 0x021a, 0x021a,
6018 0x021c, 0x021c,
6019 0x021e, 0x021e,
6020 0x0220, 0x0220,
6021 0x0222, 0x0222,
6022 0x0224, 0x0224,
6023 0x0226, 0x0226,
6024 0x0228, 0x0228,
6025 0x022a, 0x022a,
6026 0x022c, 0x022c,
6027 0x022e, 0x022e,
6028 0x0230, 0x0230,
6029 0x0232, 0x0232,
6030 0x023a, 0x023b,
6031 0x023d, 0x023e,
6032 0x0241, 0x0241,
6033 0x0386, 0x0386,
6034 0x0388, 0x038a,
6035 0x038c, 0x038c,
6036 0x038e, 0x038f,
6037 0x0391, 0x03a1,
6038 0x03a3, 0x03ab,
6039 0x03d2, 0x03d4,
6040 0x03d8, 0x03d8,
6041 0x03da, 0x03da,
6042 0x03dc, 0x03dc,
6043 0x03de, 0x03de,
6044 0x03e0, 0x03e0,
6045 0x03e2, 0x03e2,
6046 0x03e4, 0x03e4,
6047 0x03e6, 0x03e6,
6048 0x03e8, 0x03e8,
6049 0x03ea, 0x03ea,
6050 0x03ec, 0x03ec,
6051 0x03ee, 0x03ee,
6052 0x03f4, 0x03f4,
6053 0x03f7, 0x03f7,
6054 0x03f9, 0x03fa,
6055 0x03fd, 0x042f,
6056 0x0460, 0x0460,
6057 0x0462, 0x0462,
6058 0x0464, 0x0464,
6059 0x0466, 0x0466,
6060 0x0468, 0x0468,
6061 0x046a, 0x046a,
6062 0x046c, 0x046c,
6063 0x046e, 0x046e,
6064 0x0470, 0x0470,
6065 0x0472, 0x0472,
6066 0x0474, 0x0474,
6067 0x0476, 0x0476,
6068 0x0478, 0x0478,
6069 0x047a, 0x047a,
6070 0x047c, 0x047c,
6071 0x047e, 0x047e,
6072 0x0480, 0x0480,
6073 0x048a, 0x048a,
6074 0x048c, 0x048c,
6075 0x048e, 0x048e,
6076 0x0490, 0x0490,
6077 0x0492, 0x0492,
6078 0x0494, 0x0494,
6079 0x0496, 0x0496,
6080 0x0498, 0x0498,
6081 0x049a, 0x049a,
6082 0x049c, 0x049c,
6083 0x049e, 0x049e,
6084 0x04a0, 0x04a0,
6085 0x04a2, 0x04a2,
6086 0x04a4, 0x04a4,
6087 0x04a6, 0x04a6,
6088 0x04a8, 0x04a8,
6089 0x04aa, 0x04aa,
6090 0x04ac, 0x04ac,
6091 0x04ae, 0x04ae,
6092 0x04b0, 0x04b0,
6093 0x04b2, 0x04b2,
6094 0x04b4, 0x04b4,
6095 0x04b6, 0x04b6,
6096 0x04b8, 0x04b8,
6097 0x04ba, 0x04ba,
6098 0x04bc, 0x04bc,
6099 0x04be, 0x04be,
6100 0x04c0, 0x04c1,
6101 0x04c3, 0x04c3,
6102 0x04c5, 0x04c5,
6103 0x04c7, 0x04c7,
6104 0x04c9, 0x04c9,
6105 0x04cb, 0x04cb,
6106 0x04cd, 0x04cd,
6107 0x04d0, 0x04d0,
6108 0x04d2, 0x04d2,
6109 0x04d4, 0x04d4,
6110 0x04d6, 0x04d6,
6111 0x04d8, 0x04d8,
6112 0x04da, 0x04da,
6113 0x04dc, 0x04dc,
6114 0x04de, 0x04de,
6115 0x04e0, 0x04e0,
6116 0x04e2, 0x04e2,
6117 0x04e4, 0x04e4,
6118 0x04e6, 0x04e6,
6119 0x04e8, 0x04e8,
6120 0x04ea, 0x04ea,
6121 0x04ec, 0x04ec,
6122 0x04ee, 0x04ee,
6123 0x04f0, 0x04f0,
6124 0x04f2, 0x04f2,
6125 0x04f4, 0x04f4,
6126 0x04f6, 0x04f6,
6127 0x04f8, 0x04f8,
6128 0x0500, 0x0500,
6129 0x0502, 0x0502,
6130 0x0504, 0x0504,
6131 0x0506, 0x0506,
6132 0x0508, 0x0508,
6133 0x050a, 0x050a,
6134 0x050c, 0x050c,
6135 0x050e, 0x050e,
6136 0x0531, 0x0556,
6137 0x10a0, 0x10c5,
6138 0x1e00, 0x1e00,
6139 0x1e02, 0x1e02,
6140 0x1e04, 0x1e04,
6141 0x1e06, 0x1e06,
6142 0x1e08, 0x1e08,
6143 0x1e0a, 0x1e0a,
6144 0x1e0c, 0x1e0c,
6145 0x1e0e, 0x1e0e,
6146 0x1e10, 0x1e10,
6147 0x1e12, 0x1e12,
6148 0x1e14, 0x1e14,
6149 0x1e16, 0x1e16,
6150 0x1e18, 0x1e18,
6151 0x1e1a, 0x1e1a,
6152 0x1e1c, 0x1e1c,
6153 0x1e1e, 0x1e1e,
6154 0x1e20, 0x1e20,
6155 0x1e22, 0x1e22,
6156 0x1e24, 0x1e24,
6157 0x1e26, 0x1e26,
6158 0x1e28, 0x1e28,
6159 0x1e2a, 0x1e2a,
6160 0x1e2c, 0x1e2c,
6161 0x1e2e, 0x1e2e,
6162 0x1e30, 0x1e30,
6163 0x1e32, 0x1e32,
6164 0x1e34, 0x1e34,
6165 0x1e36, 0x1e36,
6166 0x1e38, 0x1e38,
6167 0x1e3a, 0x1e3a,
6168 0x1e3c, 0x1e3c,
6169 0x1e3e, 0x1e3e,
6170 0x1e40, 0x1e40,
6171 0x1e42, 0x1e42,
6172 0x1e44, 0x1e44,
6173 0x1e46, 0x1e46,
6174 0x1e48, 0x1e48,
6175 0x1e4a, 0x1e4a,
6176 0x1e4c, 0x1e4c,
6177 0x1e4e, 0x1e4e,
6178 0x1e50, 0x1e50,
6179 0x1e52, 0x1e52,
6180 0x1e54, 0x1e54,
6181 0x1e56, 0x1e56,
6182 0x1e58, 0x1e58,
6183 0x1e5a, 0x1e5a,
6184 0x1e5c, 0x1e5c,
6185 0x1e5e, 0x1e5e,
6186 0x1e60, 0x1e60,
6187 0x1e62, 0x1e62,
6188 0x1e64, 0x1e64,
6189 0x1e66, 0x1e66,
6190 0x1e68, 0x1e68,
6191 0x1e6a, 0x1e6a,
6192 0x1e6c, 0x1e6c,
6193 0x1e6e, 0x1e6e,
6194 0x1e70, 0x1e70,
6195 0x1e72, 0x1e72,
6196 0x1e74, 0x1e74,
6197 0x1e76, 0x1e76,
6198 0x1e78, 0x1e78,
6199 0x1e7a, 0x1e7a,
6200 0x1e7c, 0x1e7c,
6201 0x1e7e, 0x1e7e,
6202 0x1e80, 0x1e80,
6203 0x1e82, 0x1e82,
6204 0x1e84, 0x1e84,
6205 0x1e86, 0x1e86,
6206 0x1e88, 0x1e88,
6207 0x1e8a, 0x1e8a,
6208 0x1e8c, 0x1e8c,
6209 0x1e8e, 0x1e8e,
6210 0x1e90, 0x1e90,
6211 0x1e92, 0x1e92,
6212 0x1e94, 0x1e94,
6213 0x1ea0, 0x1ea0,
6214 0x1ea2, 0x1ea2,
6215 0x1ea4, 0x1ea4,
6216 0x1ea6, 0x1ea6,
6217 0x1ea8, 0x1ea8,
6218 0x1eaa, 0x1eaa,
6219 0x1eac, 0x1eac,
6220 0x1eae, 0x1eae,
6221 0x1eb0, 0x1eb0,
6222 0x1eb2, 0x1eb2,
6223 0x1eb4, 0x1eb4,
6224 0x1eb6, 0x1eb6,
6225 0x1eb8, 0x1eb8,
6226 0x1eba, 0x1eba,
6227 0x1ebc, 0x1ebc,
6228 0x1ebe, 0x1ebe,
6229 0x1ec0, 0x1ec0,
6230 0x1ec2, 0x1ec2,
6231 0x1ec4, 0x1ec4,
6232 0x1ec6, 0x1ec6,
6233 0x1ec8, 0x1ec8,
6234 0x1eca, 0x1eca,
6235 0x1ecc, 0x1ecc,
6236 0x1ece, 0x1ece,
6237 0x1ed0, 0x1ed0,
6238 0x1ed2, 0x1ed2,
6239 0x1ed4, 0x1ed4,
6240 0x1ed6, 0x1ed6,
6241 0x1ed8, 0x1ed8,
6242 0x1eda, 0x1eda,
6243 0x1edc, 0x1edc,
6244 0x1ede, 0x1ede,
6245 0x1ee0, 0x1ee0,
6246 0x1ee2, 0x1ee2,
6247 0x1ee4, 0x1ee4,
6248 0x1ee6, 0x1ee6,
6249 0x1ee8, 0x1ee8,
6250 0x1eea, 0x1eea,
6251 0x1eec, 0x1eec,
6252 0x1eee, 0x1eee,
6253 0x1ef0, 0x1ef0,
6254 0x1ef2, 0x1ef2,
6255 0x1ef4, 0x1ef4,
6256 0x1ef6, 0x1ef6,
6257 0x1ef8, 0x1ef8,
6258 0x1f08, 0x1f0f,
6259 0x1f18, 0x1f1d,
6260 0x1f28, 0x1f2f,
6261 0x1f38, 0x1f3f,
6262 0x1f48, 0x1f4d,
6263 0x1f59, 0x1f59,
6264 0x1f5b, 0x1f5b,
6265 0x1f5d, 0x1f5d,
6266 0x1f5f, 0x1f5f,
6267 0x1f68, 0x1f6f,
6268 0x1fb8, 0x1fbb,
6269 0x1fc8, 0x1fcb,
6270 0x1fd8, 0x1fdb,
6271 0x1fe8, 0x1fec,
6272 0x1ff8, 0x1ffb,
6273 0x2102, 0x2102,
6274 0x2107, 0x2107,
6275 0x210b, 0x210d,
6276 0x2110, 0x2112,
6277 0x2115, 0x2115,
6278 0x2119, 0x211d,
6279 0x2124, 0x2124,
6280 0x2126, 0x2126,
6281 0x2128, 0x2128,
6282 0x212a, 0x212d,
6283 0x2130, 0x2131,
6284 0x2133, 0x2133,
6285 0x213e, 0x213f,
6286 0x2145, 0x2145,
6287 0x2c00, 0x2c2e,
6288 0x2c80, 0x2c80,
6289 0x2c82, 0x2c82,
6290 0x2c84, 0x2c84,
6291 0x2c86, 0x2c86,
6292 0x2c88, 0x2c88,
6293 0x2c8a, 0x2c8a,
6294 0x2c8c, 0x2c8c,
6295 0x2c8e, 0x2c8e,
6296 0x2c90, 0x2c90,
6297 0x2c92, 0x2c92,
6298 0x2c94, 0x2c94,
6299 0x2c96, 0x2c96,
6300 0x2c98, 0x2c98,
6301 0x2c9a, 0x2c9a,
6302 0x2c9c, 0x2c9c,
6303 0x2c9e, 0x2c9e,
6304 0x2ca0, 0x2ca0,
6305 0x2ca2, 0x2ca2,
6306 0x2ca4, 0x2ca4,
6307 0x2ca6, 0x2ca6,
6308 0x2ca8, 0x2ca8,
6309 0x2caa, 0x2caa,
6310 0x2cac, 0x2cac,
6311 0x2cae, 0x2cae,
6312 0x2cb0, 0x2cb0,
6313 0x2cb2, 0x2cb2,
6314 0x2cb4, 0x2cb4,
6315 0x2cb6, 0x2cb6,
6316 0x2cb8, 0x2cb8,
6317 0x2cba, 0x2cba,
6318 0x2cbc, 0x2cbc,
6319 0x2cbe, 0x2cbe,
6320 0x2cc0, 0x2cc0,
6321 0x2cc2, 0x2cc2,
6322 0x2cc4, 0x2cc4,
6323 0x2cc6, 0x2cc6,
6324 0x2cc8, 0x2cc8,
6325 0x2cca, 0x2cca,
6326 0x2ccc, 0x2ccc,
6327 0x2cce, 0x2cce,
6328 0x2cd0, 0x2cd0,
6329 0x2cd2, 0x2cd2,
6330 0x2cd4, 0x2cd4,
6331 0x2cd6, 0x2cd6,
6332 0x2cd8, 0x2cd8,
6333 0x2cda, 0x2cda,
6334 0x2cdc, 0x2cdc,
6335 0x2cde, 0x2cde,
6336 0x2ce0, 0x2ce0,
6337 0x2ce2, 0x2ce2,
6338 0xff21, 0xff3a,
6339 0x10400, 0x10427,
6340 0x1d400, 0x1d419,
6341 0x1d434, 0x1d44d,
6342 0x1d468, 0x1d481,
6343 0x1d49c, 0x1d49c,
6344 0x1d49e, 0x1d49f,
6345 0x1d4a2, 0x1d4a2,
6346 0x1d4a5, 0x1d4a6,
6347 0x1d4a9, 0x1d4ac,
6348 0x1d4ae, 0x1d4b5,
6349 0x1d4d0, 0x1d4e9,
6350 0x1d504, 0x1d505,
6351 0x1d507, 0x1d50a,
6352 0x1d50d, 0x1d514,
6353 0x1d516, 0x1d51c,
6354 0x1d538, 0x1d539,
6355 0x1d53b, 0x1d53e,
6356 0x1d540, 0x1d544,
6357 0x1d546, 0x1d546,
6358 0x1d54a, 0x1d550,
6359 0x1d56c, 0x1d585,
6360 0x1d5a0, 0x1d5b9,
6361 0x1d5d4, 0x1d5ed,
6362 0x1d608, 0x1d621,
6363 0x1d63c, 0x1d655,
6364 0x1d670, 0x1d689,
6365 0x1d6a8, 0x1d6c0,
6366 0x1d6e2, 0x1d6fa,
6367 0x1d71c, 0x1d734,
6368 0x1d756, 0x1d76e,
6369 0x1d790, 0x1d7a8
6370 }; /* CR_Lu */
6371
6372 /* 'M': Major Category */
6373 static const OnigCodePoint CR_M[] = {
6374 133,
6375 0x0300, 0x036f,
6376 0x0483, 0x0486,
6377 0x0488, 0x0489,
6378 0x0591, 0x05b9,
6379 0x05bb, 0x05bd,
6380 0x05bf, 0x05bf,
6381 0x05c1, 0x05c2,
6382 0x05c4, 0x05c5,
6383 0x05c7, 0x05c7,
6384 0x0610, 0x0615,
6385 0x064b, 0x065e,
6386 0x0670, 0x0670,
6387 0x06d6, 0x06dc,
6388 0x06de, 0x06e4,
6389 0x06e7, 0x06e8,
6390 0x06ea, 0x06ed,
6391 0x0711, 0x0711,
6392 0x0730, 0x074a,
6393 0x07a6, 0x07b0,
6394 0x0901, 0x0903,
6395 0x093c, 0x093c,
6396 0x093e, 0x094d,
6397 0x0951, 0x0954,
6398 0x0962, 0x0963,
6399 0x0981, 0x0983,
6400 0x09bc, 0x09bc,
6401 0x09be, 0x09c4,
6402 0x09c7, 0x09c8,
6403 0x09cb, 0x09cd,
6404 0x09d7, 0x09d7,
6405 0x09e2, 0x09e3,
6406 0x0a01, 0x0a03,
6407 0x0a3c, 0x0a3c,
6408 0x0a3e, 0x0a42,
6409 0x0a47, 0x0a48,
6410 0x0a4b, 0x0a4d,
6411 0x0a70, 0x0a71,
6412 0x0a81, 0x0a83,
6413 0x0abc, 0x0abc,
6414 0x0abe, 0x0ac5,
6415 0x0ac7, 0x0ac9,
6416 0x0acb, 0x0acd,
6417 0x0ae2, 0x0ae3,
6418 0x0b01, 0x0b03,
6419 0x0b3c, 0x0b3c,
6420 0x0b3e, 0x0b43,
6421 0x0b47, 0x0b48,
6422 0x0b4b, 0x0b4d,
6423 0x0b56, 0x0b57,
6424 0x0b82, 0x0b82,
6425 0x0bbe, 0x0bc2,
6426 0x0bc6, 0x0bc8,
6427 0x0bca, 0x0bcd,
6428 0x0bd7, 0x0bd7,
6429 0x0c01, 0x0c03,
6430 0x0c3e, 0x0c44,
6431 0x0c46, 0x0c48,
6432 0x0c4a, 0x0c4d,
6433 0x0c55, 0x0c56,
6434 0x0c82, 0x0c83,
6435 0x0cbc, 0x0cbc,
6436 0x0cbe, 0x0cc4,
6437 0x0cc6, 0x0cc8,
6438 0x0cca, 0x0ccd,
6439 0x0cd5, 0x0cd6,
6440 0x0d02, 0x0d03,
6441 0x0d3e, 0x0d43,
6442 0x0d46, 0x0d48,
6443 0x0d4a, 0x0d4d,
6444 0x0d57, 0x0d57,
6445 0x0d82, 0x0d83,
6446 0x0dca, 0x0dca,
6447 0x0dcf, 0x0dd4,
6448 0x0dd6, 0x0dd6,
6449 0x0dd8, 0x0ddf,
6450 0x0df2, 0x0df3,
6451 0x0e31, 0x0e31,
6452 0x0e34, 0x0e3a,
6453 0x0e47, 0x0e4e,
6454 0x0eb1, 0x0eb1,
6455 0x0eb4, 0x0eb9,
6456 0x0ebb, 0x0ebc,
6457 0x0ec8, 0x0ecd,
6458 0x0f18, 0x0f19,
6459 0x0f35, 0x0f35,
6460 0x0f37, 0x0f37,
6461 0x0f39, 0x0f39,
6462 0x0f3e, 0x0f3f,
6463 0x0f71, 0x0f84,
6464 0x0f86, 0x0f87,
6465 0x0f90, 0x0f97,
6466 0x0f99, 0x0fbc,
6467 0x0fc6, 0x0fc6,
6468 0x102c, 0x1032,
6469 0x1036, 0x1039,
6470 0x1056, 0x1059,
6471 0x135f, 0x135f,
6472 0x1712, 0x1714,
6473 0x1732, 0x1734,
6474 0x1752, 0x1753,
6475 0x1772, 0x1773,
6476 0x17b6, 0x17d3,
6477 0x17dd, 0x17dd,
6478 0x180b, 0x180d,
6479 0x18a9, 0x18a9,
6480 0x1920, 0x192b,
6481 0x1930, 0x193b,
6482 0x19b0, 0x19c0,
6483 0x19c8, 0x19c9,
6484 0x1a17, 0x1a1b,
6485 0x1dc0, 0x1dc3,
6486 0x20d0, 0x20eb,
6487 0x302a, 0x302f,
6488 0x3099, 0x309a,
6489 0xa802, 0xa802,
6490 0xa806, 0xa806,
6491 0xa80b, 0xa80b,
6492 0xa823, 0xa827,
6493 0xfb1e, 0xfb1e,
6494 0xfe00, 0xfe0f,
6495 0xfe20, 0xfe23,
6496 0x10a01, 0x10a03,
6497 0x10a05, 0x10a06,
6498 0x10a0c, 0x10a0f,
6499 0x10a38, 0x10a3a,
6500 0x10a3f, 0x10a3f,
6501 0x1d165, 0x1d169,
6502 0x1d16d, 0x1d172,
6503 0x1d17b, 0x1d182,
6504 0x1d185, 0x1d18b,
6505 0x1d1aa, 0x1d1ad,
6506 0x1d242, 0x1d244,
6507 0xe0100, 0xe01ef
6508 }; /* CR_M */
6509
6510 /* 'Mc': General Category */
6511 static const OnigCodePoint CR_Mc[] = {
6512 63,
6513 0x0903, 0x0903,
6514 0x093e, 0x0940,
6515 0x0949, 0x094c,
6516 0x0982, 0x0983,
6517 0x09be, 0x09c0,
6518 0x09c7, 0x09c8,
6519 0x09cb, 0x09cc,
6520 0x09d7, 0x09d7,
6521 0x0a03, 0x0a03,
6522 0x0a3e, 0x0a40,
6523 0x0a83, 0x0a83,
6524 0x0abe, 0x0ac0,
6525 0x0ac9, 0x0ac9,
6526 0x0acb, 0x0acc,
6527 0x0b02, 0x0b03,
6528 0x0b3e, 0x0b3e,
6529 0x0b40, 0x0b40,
6530 0x0b47, 0x0b48,
6531 0x0b4b, 0x0b4c,
6532 0x0b57, 0x0b57,
6533 0x0bbe, 0x0bbf,
6534 0x0bc1, 0x0bc2,
6535 0x0bc6, 0x0bc8,
6536 0x0bca, 0x0bcc,
6537 0x0bd7, 0x0bd7,
6538 0x0c01, 0x0c03,
6539 0x0c41, 0x0c44,
6540 0x0c82, 0x0c83,
6541 0x0cbe, 0x0cbe,
6542 0x0cc0, 0x0cc4,
6543 0x0cc7, 0x0cc8,
6544 0x0cca, 0x0ccb,
6545 0x0cd5, 0x0cd6,
6546 0x0d02, 0x0d03,
6547 0x0d3e, 0x0d40,
6548 0x0d46, 0x0d48,
6549 0x0d4a, 0x0d4c,
6550 0x0d57, 0x0d57,
6551 0x0d82, 0x0d83,
6552 0x0dcf, 0x0dd1,
6553 0x0dd8, 0x0ddf,
6554 0x0df2, 0x0df3,
6555 0x0f3e, 0x0f3f,
6556 0x0f7f, 0x0f7f,
6557 0x102c, 0x102c,
6558 0x1031, 0x1031,
6559 0x1038, 0x1038,
6560 0x1056, 0x1057,
6561 0x17b6, 0x17b6,
6562 0x17be, 0x17c5,
6563 0x17c7, 0x17c8,
6564 0x1923, 0x1926,
6565 0x1929, 0x192b,
6566 0x1930, 0x1931,
6567 0x1933, 0x1938,
6568 0x19b0, 0x19c0,
6569 0x19c8, 0x19c9,
6570 0x1a19, 0x1a1b,
6571 0xa802, 0xa802,
6572 0xa823, 0xa824,
6573 0xa827, 0xa827,
6574 0x1d165, 0x1d166,
6575 0x1d16d, 0x1d172
6576 }; /* CR_Mc */
6577
6578 /* 'Me': General Category */
6579 static const OnigCodePoint CR_Me[] = {
6580 4,
6581 0x0488, 0x0489,
6582 0x06de, 0x06de,
6583 0x20dd, 0x20e0,
6584 0x20e2, 0x20e4
6585 }; /* CR_Me */
6586
6587 /* 'Mn': General Category */
6588 static const OnigCodePoint CR_Mn[] = {
6589 124,
6590 0x0300, 0x036f,
6591 0x0483, 0x0486,
6592 0x0591, 0x05b9,
6593 0x05bb, 0x05bd,
6594 0x05bf, 0x05bf,
6595 0x05c1, 0x05c2,
6596 0x05c4, 0x05c5,
6597 0x05c7, 0x05c7,
6598 0x0610, 0x0615,
6599 0x064b, 0x065e,
6600 0x0670, 0x0670,
6601 0x06d6, 0x06dc,
6602 0x06df, 0x06e4,
6603 0x06e7, 0x06e8,
6604 0x06ea, 0x06ed,
6605 0x0711, 0x0711,
6606 0x0730, 0x074a,
6607 0x07a6, 0x07b0,
6608 0x0901, 0x0902,
6609 0x093c, 0x093c,
6610 0x0941, 0x0948,
6611 0x094d, 0x094d,
6612 0x0951, 0x0954,
6613 0x0962, 0x0963,
6614 0x0981, 0x0981,
6615 0x09bc, 0x09bc,
6616 0x09c1, 0x09c4,
6617 0x09cd, 0x09cd,
6618 0x09e2, 0x09e3,
6619 0x0a01, 0x0a02,
6620 0x0a3c, 0x0a3c,
6621 0x0a41, 0x0a42,
6622 0x0a47, 0x0a48,
6623 0x0a4b, 0x0a4d,
6624 0x0a70, 0x0a71,
6625 0x0a81, 0x0a82,
6626 0x0abc, 0x0abc,
6627 0x0ac1, 0x0ac5,
6628 0x0ac7, 0x0ac8,
6629 0x0acd, 0x0acd,
6630 0x0ae2, 0x0ae3,
6631 0x0b01, 0x0b01,
6632 0x0b3c, 0x0b3c,
6633 0x0b3f, 0x0b3f,
6634 0x0b41, 0x0b43,
6635 0x0b4d, 0x0b4d,
6636 0x0b56, 0x0b56,
6637 0x0b82, 0x0b82,
6638 0x0bc0, 0x0bc0,
6639 0x0bcd, 0x0bcd,
6640 0x0c3e, 0x0c40,
6641 0x0c46, 0x0c48,
6642 0x0c4a, 0x0c4d,
6643 0x0c55, 0x0c56,
6644 0x0cbc, 0x0cbc,
6645 0x0cbf, 0x0cbf,
6646 0x0cc6, 0x0cc6,
6647 0x0ccc, 0x0ccd,
6648 0x0d41, 0x0d43,
6649 0x0d4d, 0x0d4d,
6650 0x0dca, 0x0dca,
6651 0x0dd2, 0x0dd4,
6652 0x0dd6, 0x0dd6,
6653 0x0e31, 0x0e31,
6654 0x0e34, 0x0e3a,
6655 0x0e47, 0x0e4e,
6656 0x0eb1, 0x0eb1,
6657 0x0eb4, 0x0eb9,
6658 0x0ebb, 0x0ebc,
6659 0x0ec8, 0x0ecd,
6660 0x0f18, 0x0f19,
6661 0x0f35, 0x0f35,
6662 0x0f37, 0x0f37,
6663 0x0f39, 0x0f39,
6664 0x0f71, 0x0f7e,
6665 0x0f80, 0x0f84,
6666 0x0f86, 0x0f87,
6667 0x0f90, 0x0f97,
6668 0x0f99, 0x0fbc,
6669 0x0fc6, 0x0fc6,
6670 0x102d, 0x1030,
6671 0x1032, 0x1032,
6672 0x1036, 0x1037,
6673 0x1039, 0x1039,
6674 0x1058, 0x1059,
6675 0x135f, 0x135f,
6676 0x1712, 0x1714,
6677 0x1732, 0x1734,
6678 0x1752, 0x1753,
6679 0x1772, 0x1773,
6680 0x17b7, 0x17bd,
6681 0x17c6, 0x17c6,
6682 0x17c9, 0x17d3,
6683 0x17dd, 0x17dd,
6684 0x180b, 0x180d,
6685 0x18a9, 0x18a9,
6686 0x1920, 0x1922,
6687 0x1927, 0x1928,
6688 0x1932, 0x1932,
6689 0x1939, 0x193b,
6690 0x1a17, 0x1a18,
6691 0x1dc0, 0x1dc3,
6692 0x20d0, 0x20dc,
6693 0x20e1, 0x20e1,
6694 0x20e5, 0x20eb,
6695 0x302a, 0x302f,
6696 0x3099, 0x309a,
6697 0xa806, 0xa806,
6698 0xa80b, 0xa80b,
6699 0xa825, 0xa826,
6700 0xfb1e, 0xfb1e,
6701 0xfe00, 0xfe0f,
6702 0xfe20, 0xfe23,
6703 0x10a01, 0x10a03,
6704 0x10a05, 0x10a06,
6705 0x10a0c, 0x10a0f,
6706 0x10a38, 0x10a3a,
6707 0x10a3f, 0x10a3f,
6708 0x1d167, 0x1d169,
6709 0x1d17b, 0x1d182,
6710 0x1d185, 0x1d18b,
6711 0x1d1aa, 0x1d1ad,
6712 0x1d242, 0x1d244,
6713 0xe0100, 0xe01ef
6714 }; /* CR_Mn */
6715
6716 /* 'N': Major Category */
6717 static const OnigCodePoint CR_N[] = {
6718 53,
6719 0x0030, 0x0039,
6720 0x00b2, 0x00b3,
6721 0x00b9, 0x00b9,
6722 0x00bc, 0x00be,
6723 0x0660, 0x0669,
6724 0x06f0, 0x06f9,
6725 0x0966, 0x096f,
6726 0x09e6, 0x09ef,
6727 0x09f4, 0x09f9,
6728 0x0a66, 0x0a6f,
6729 0x0ae6, 0x0aef,
6730 0x0b66, 0x0b6f,
6731 0x0be6, 0x0bf2,
6732 0x0c66, 0x0c6f,
6733 0x0ce6, 0x0cef,
6734 0x0d66, 0x0d6f,
6735 0x0e50, 0x0e59,
6736 0x0ed0, 0x0ed9,
6737 0x0f20, 0x0f33,
6738 0x1040, 0x1049,
6739 0x1369, 0x137c,
6740 0x16ee, 0x16f0,
6741 0x17e0, 0x17e9,
6742 0x17f0, 0x17f9,
6743 0x1810, 0x1819,
6744 0x1946, 0x194f,
6745 0x19d0, 0x19d9,
6746 0x2070, 0x2070,
6747 0x2074, 0x2079,
6748 0x2080, 0x2089,
6749 0x2153, 0x2183,
6750 0x2460, 0x249b,
6751 0x24ea, 0x24ff,
6752 0x2776, 0x2793,
6753 0x2cfd, 0x2cfd,
6754 0x3007, 0x3007,
6755 0x3021, 0x3029,
6756 0x3038, 0x303a,
6757 0x3192, 0x3195,
6758 0x3220, 0x3229,
6759 0x3251, 0x325f,
6760 0x3280, 0x3289,
6761 0x32b1, 0x32bf,
6762 0xff10, 0xff19,
6763 0x10107, 0x10133,
6764 0x10140, 0x10178,
6765 0x1018a, 0x1018a,
6766 0x10320, 0x10323,
6767 0x1034a, 0x1034a,
6768 0x103d1, 0x103d5,
6769 0x104a0, 0x104a9,
6770 0x10a40, 0x10a47,
6771 0x1d7ce, 0x1d7ff
6772 }; /* CR_N */
6773
6774 /* 'Nd': General Category */
6775 static const OnigCodePoint CR_Nd[] = {
6776 23,
6777 0x0030, 0x0039,
6778 0x0660, 0x0669,
6779 0x06f0, 0x06f9,
6780 0x0966, 0x096f,
6781 0x09e6, 0x09ef,
6782 0x0a66, 0x0a6f,
6783 0x0ae6, 0x0aef,
6784 0x0b66, 0x0b6f,
6785 0x0be6, 0x0bef,
6786 0x0c66, 0x0c6f,
6787 0x0ce6, 0x0cef,
6788 0x0d66, 0x0d6f,
6789 0x0e50, 0x0e59,
6790 0x0ed0, 0x0ed9,
6791 0x0f20, 0x0f29,
6792 0x1040, 0x1049,
6793 0x17e0, 0x17e9,
6794 0x1810, 0x1819,
6795 0x1946, 0x194f,
6796 0x19d0, 0x19d9,
6797 0xff10, 0xff19,
6798 0x104a0, 0x104a9,
6799 0x1d7ce, 0x1d7ff
6800 }; /* CR_Nd */
6801
6802 /* 'Nl': General Category */
6803 static const OnigCodePoint CR_Nl[] = {
6804 8,
6805 0x16ee, 0x16f0,
6806 0x2160, 0x2183,
6807 0x3007, 0x3007,
6808 0x3021, 0x3029,
6809 0x3038, 0x303a,
6810 0x10140, 0x10174,
6811 0x1034a, 0x1034a,
6812 0x103d1, 0x103d5
6813 }; /* CR_Nl */
6814
6815 /* 'No': General Category */
6816 static const OnigCodePoint CR_No[] = {
6817 26,
6818 0x00b2, 0x00b3,
6819 0x00b9, 0x00b9,
6820 0x00bc, 0x00be,
6821 0x09f4, 0x09f9,
6822 0x0bf0, 0x0bf2,
6823 0x0f2a, 0x0f33,
6824 0x1369, 0x137c,
6825 0x17f0, 0x17f9,
6826 0x2070, 0x2070,
6827 0x2074, 0x2079,
6828 0x2080, 0x2089,
6829 0x2153, 0x215f,
6830 0x2460, 0x249b,
6831 0x24ea, 0x24ff,
6832 0x2776, 0x2793,
6833 0x2cfd, 0x2cfd,
6834 0x3192, 0x3195,
6835 0x3220, 0x3229,
6836 0x3251, 0x325f,
6837 0x3280, 0x3289,
6838 0x32b1, 0x32bf,
6839 0x10107, 0x10133,
6840 0x10175, 0x10178,
6841 0x1018a, 0x1018a,
6842 0x10320, 0x10323,
6843 0x10a40, 0x10a47
6844 }; /* CR_No */
6845
6846 /* 'P': Major Category */
6847 static const OnigCodePoint CR_P[] = {
6848 96,
6849 0x0021, 0x0023,
6850 0x0025, 0x002a,
6851 0x002c, 0x002f,
6852 0x003a, 0x003b,
6853 0x003f, 0x0040,
6854 0x005b, 0x005d,
6855 0x005f, 0x005f,
6856 0x007b, 0x007b,
6857 0x007d, 0x007d,
6858 0x00a1, 0x00a1,
6859 0x00ab, 0x00ab,
6860 0x00b7, 0x00b7,
6861 0x00bb, 0x00bb,
6862 0x00bf, 0x00bf,
6863 0x037e, 0x037e,
6864 0x0387, 0x0387,
6865 0x055a, 0x055f,
6866 0x0589, 0x058a,
6867 0x05be, 0x05be,
6868 0x05c0, 0x05c0,
6869 0x05c3, 0x05c3,
6870 0x05c6, 0x05c6,
6871 0x05f3, 0x05f4,
6872 0x060c, 0x060d,
6873 0x061b, 0x061b,
6874 0x061e, 0x061f,
6875 0x066a, 0x066d,
6876 0x06d4, 0x06d4,
6877 0x0700, 0x070d,
6878 0x0964, 0x0965,
6879 0x0970, 0x0970,
6880 0x0df4, 0x0df4,
6881 0x0e4f, 0x0e4f,
6882 0x0e5a, 0x0e5b,
6883 0x0f04, 0x0f12,
6884 0x0f3a, 0x0f3d,
6885 0x0f85, 0x0f85,
6886 0x0fd0, 0x0fd1,
6887 0x104a, 0x104f,
6888 0x10fb, 0x10fb,
6889 0x1361, 0x1368,
6890 0x166d, 0x166e,
6891 0x169b, 0x169c,
6892 0x16eb, 0x16ed,
6893 0x1735, 0x1736,
6894 0x17d4, 0x17d6,
6895 0x17d8, 0x17da,
6896 0x1800, 0x180a,
6897 0x1944, 0x1945,
6898 0x19de, 0x19df,
6899 0x1a1e, 0x1a1f,
6900 0x2010, 0x2027,
6901 0x2030, 0x2043,
6902 0x2045, 0x2051,
6903 0x2053, 0x205e,
6904 0x207d, 0x207e,
6905 0x208d, 0x208e,
6906 0x2329, 0x232a,
6907 0x23b4, 0x23b6,
6908 0x2768, 0x2775,
6909 0x27c5, 0x27c6,
6910 0x27e6, 0x27eb,
6911 0x2983, 0x2998,
6912 0x29d8, 0x29db,
6913 0x29fc, 0x29fd,
6914 0x2cf9, 0x2cfc,
6915 0x2cfe, 0x2cff,
6916 0x2e00, 0x2e17,
6917 0x2e1c, 0x2e1d,
6918 0x3001, 0x3003,
6919 0x3008, 0x3011,
6920 0x3014, 0x301f,
6921 0x3030, 0x3030,
6922 0x303d, 0x303d,
6923 0x30a0, 0x30a0,
6924 0x30fb, 0x30fb,
6925 0xfd3e, 0xfd3f,
6926 0xfe10, 0xfe19,
6927 0xfe30, 0xfe52,
6928 0xfe54, 0xfe61,
6929 0xfe63, 0xfe63,
6930 0xfe68, 0xfe68,
6931 0xfe6a, 0xfe6b,
6932 0xff01, 0xff03,
6933 0xff05, 0xff0a,
6934 0xff0c, 0xff0f,
6935 0xff1a, 0xff1b,
6936 0xff1f, 0xff20,
6937 0xff3b, 0xff3d,
6938 0xff3f, 0xff3f,
6939 0xff5b, 0xff5b,
6940 0xff5d, 0xff5d,
6941 0xff5f, 0xff65,
6942 0x10100, 0x10101,
6943 0x1039f, 0x1039f,
6944 0x10a50, 0x10a58
6945 }; /* CR_P */
6946
6947 /* 'Pc': General Category */
6948 static const OnigCodePoint CR_Pc[] = {
6949 6,
6950 0x005f, 0x005f,
6951 0x203f, 0x2040,
6952 0x2054, 0x2054,
6953 0xfe33, 0xfe34,
6954 0xfe4d, 0xfe4f,
6955 0xff3f, 0xff3f
6956 }; /* CR_Pc */
6957
6958 /* 'Pd': General Category */
6959 static const OnigCodePoint CR_Pd[] = {
6960 12,
6961 0x002d, 0x002d,
6962 0x058a, 0x058a,
6963 0x1806, 0x1806,
6964 0x2010, 0x2015,
6965 0x2e17, 0x2e17,
6966 0x301c, 0x301c,
6967 0x3030, 0x3030,
6968 0x30a0, 0x30a0,
6969 0xfe31, 0xfe32,
6970 0xfe58, 0xfe58,
6971 0xfe63, 0xfe63,
6972 0xff0d, 0xff0d
6973 }; /* CR_Pd */
6974
6975 /* 'Pe': General Category */
6976 static const OnigCodePoint CR_Pe[] = {
6977 65,
6978 0x0029, 0x0029,
6979 0x005d, 0x005d,
6980 0x007d, 0x007d,
6981 0x0f3b, 0x0f3b,
6982 0x0f3d, 0x0f3d,
6983 0x169c, 0x169c,
6984 0x2046, 0x2046,
6985 0x207e, 0x207e,
6986 0x208e, 0x208e,
6987 0x232a, 0x232a,
6988 0x23b5, 0x23b5,
6989 0x2769, 0x2769,
6990 0x276b, 0x276b,
6991 0x276d, 0x276d,
6992 0x276f, 0x276f,
6993 0x2771, 0x2771,
6994 0x2773, 0x2773,
6995 0x2775, 0x2775,
6996 0x27c6, 0x27c6,
6997 0x27e7, 0x27e7,
6998 0x27e9, 0x27e9,
6999 0x27eb, 0x27eb,
7000 0x2984, 0x2984,
7001 0x2986, 0x2986,
7002 0x2988, 0x2988,
7003 0x298a, 0x298a,
7004 0x298c, 0x298c,
7005 0x298e, 0x298e,
7006 0x2990, 0x2990,
7007 0x2992, 0x2992,
7008 0x2994, 0x2994,
7009 0x2996, 0x2996,
7010 0x2998, 0x2998,
7011 0x29d9, 0x29d9,
7012 0x29db, 0x29db,
7013 0x29fd, 0x29fd,
7014 0x3009, 0x3009,
7015 0x300b, 0x300b,
7016 0x300d, 0x300d,
7017 0x300f, 0x300f,
7018 0x3011, 0x3011,
7019 0x3015, 0x3015,
7020 0x3017, 0x3017,
7021 0x3019, 0x3019,
7022 0x301b, 0x301b,
7023 0x301e, 0x301f,
7024 0xfd3f, 0xfd3f,
7025 0xfe18, 0xfe18,
7026 0xfe36, 0xfe36,
7027 0xfe38, 0xfe38,
7028 0xfe3a, 0xfe3a,
7029 0xfe3c, 0xfe3c,
7030 0xfe3e, 0xfe3e,
7031 0xfe40, 0xfe40,
7032 0xfe42, 0xfe42,
7033 0xfe44, 0xfe44,
7034 0xfe48, 0xfe48,
7035 0xfe5a, 0xfe5a,
7036 0xfe5c, 0xfe5c,
7037 0xfe5e, 0xfe5e,
7038 0xff09, 0xff09,
7039 0xff3d, 0xff3d,
7040 0xff5d, 0xff5d,
7041 0xff60, 0xff60,
7042 0xff63, 0xff63
7043 }; /* CR_Pe */
7044
7045 /* 'Pf': General Category */
7046 static const OnigCodePoint CR_Pf[] = {
7047 9,
7048 0x00bb, 0x00bb,
7049 0x2019, 0x2019,
7050 0x201d, 0x201d,
7051 0x203a, 0x203a,
7052 0x2e03, 0x2e03,
7053 0x2e05, 0x2e05,
7054 0x2e0a, 0x2e0a,
7055 0x2e0d, 0x2e0d,
7056 0x2e1d, 0x2e1d
7057 }; /* CR_Pf */
7058
7059 /* 'Pi': General Category */
7060 static const OnigCodePoint CR_Pi[] = {
7061 10,
7062 0x00ab, 0x00ab,
7063 0x2018, 0x2018,
7064 0x201b, 0x201c,
7065 0x201f, 0x201f,
7066 0x2039, 0x2039,
7067 0x2e02, 0x2e02,
7068 0x2e04, 0x2e04,
7069 0x2e09, 0x2e09,
7070 0x2e0c, 0x2e0c,
7071 0x2e1c, 0x2e1c
7072 }; /* CR_Pi */
7073
7074 /* 'Po': General Category */
7075 static const OnigCodePoint CR_Po[] = {
7076 88,
7077 0x0021, 0x0023,
7078 0x0025, 0x0027,
7079 0x002a, 0x002a,
7080 0x002c, 0x002c,
7081 0x002e, 0x002f,
7082 0x003a, 0x003b,
7083 0x003f, 0x0040,
7084 0x005c, 0x005c,
7085 0x00a1, 0x00a1,
7086 0x00b7, 0x00b7,
7087 0x00bf, 0x00bf,
7088 0x037e, 0x037e,
7089 0x0387, 0x0387,
7090 0x055a, 0x055f,
7091 0x0589, 0x0589,
7092 0x05be, 0x05be,
7093 0x05c0, 0x05c0,
7094 0x05c3, 0x05c3,
7095 0x05c6, 0x05c6,
7096 0x05f3, 0x05f4,
7097 0x060c, 0x060d,
7098 0x061b, 0x061b,
7099 0x061e, 0x061f,
7100 0x066a, 0x066d,
7101 0x06d4, 0x06d4,
7102 0x0700, 0x070d,
7103 0x0964, 0x0965,
7104 0x0970, 0x0970,
7105 0x0df4, 0x0df4,
7106 0x0e4f, 0x0e4f,
7107 0x0e5a, 0x0e5b,
7108 0x0f04, 0x0f12,
7109 0x0f85, 0x0f85,
7110 0x0fd0, 0x0fd1,
7111 0x104a, 0x104f,
7112 0x10fb, 0x10fb,
7113 0x1361, 0x1368,
7114 0x166d, 0x166e,
7115 0x16eb, 0x16ed,
7116 0x1735, 0x1736,
7117 0x17d4, 0x17d6,
7118 0x17d8, 0x17da,
7119 0x1800, 0x1805,
7120 0x1807, 0x180a,
7121 0x1944, 0x1945,
7122 0x19de, 0x19df,
7123 0x1a1e, 0x1a1f,
7124 0x2016, 0x2017,
7125 0x2020, 0x2027,
7126 0x2030, 0x2038,
7127 0x203b, 0x203e,
7128 0x2041, 0x2043,
7129 0x2047, 0x2051,
7130 0x2053, 0x2053,
7131 0x2055, 0x205e,
7132 0x23b6, 0x23b6,
7133 0x2cf9, 0x2cfc,
7134 0x2cfe, 0x2cff,
7135 0x2e00, 0x2e01,
7136 0x2e06, 0x2e08,
7137 0x2e0b, 0x2e0b,
7138 0x2e0e, 0x2e16,
7139 0x3001, 0x3003,
7140 0x303d, 0x303d,
7141 0x30fb, 0x30fb,
7142 0xfe10, 0xfe16,
7143 0xfe19, 0xfe19,
7144 0xfe30, 0xfe30,
7145 0xfe45, 0xfe46,
7146 0xfe49, 0xfe4c,
7147 0xfe50, 0xfe52,
7148 0xfe54, 0xfe57,
7149 0xfe5f, 0xfe61,
7150 0xfe68, 0xfe68,
7151 0xfe6a, 0xfe6b,
7152 0xff01, 0xff03,
7153 0xff05, 0xff07,
7154 0xff0a, 0xff0a,
7155 0xff0c, 0xff0c,
7156 0xff0e, 0xff0f,
7157 0xff1a, 0xff1b,
7158 0xff1f, 0xff20,
7159 0xff3c, 0xff3c,
7160 0xff61, 0xff61,
7161 0xff64, 0xff65,
7162 0x10100, 0x10101,
7163 0x1039f, 0x1039f,
7164 0x10a50, 0x10a58
7165 }; /* CR_Po */
7166
7167 /* 'Ps': General Category */
7168 static const OnigCodePoint CR_Ps[] = {
7169 67,
7170 0x0028, 0x0028,
7171 0x005b, 0x005b,
7172 0x007b, 0x007b,
7173 0x0f3a, 0x0f3a,
7174 0x0f3c, 0x0f3c,
7175 0x169b, 0x169b,
7176 0x201a, 0x201a,
7177 0x201e, 0x201e,
7178 0x2045, 0x2045,
7179 0x207d, 0x207d,
7180 0x208d, 0x208d,
7181 0x2329, 0x2329,
7182 0x23b4, 0x23b4,
7183 0x2768, 0x2768,
7184 0x276a, 0x276a,
7185 0x276c, 0x276c,
7186 0x276e, 0x276e,
7187 0x2770, 0x2770,
7188 0x2772, 0x2772,
7189 0x2774, 0x2774,
7190 0x27c5, 0x27c5,
7191 0x27e6, 0x27e6,
7192 0x27e8, 0x27e8,
7193 0x27ea, 0x27ea,
7194 0x2983, 0x2983,
7195 0x2985, 0x2985,
7196 0x2987, 0x2987,
7197 0x2989, 0x2989,
7198 0x298b, 0x298b,
7199 0x298d, 0x298d,
7200 0x298f, 0x298f,
7201 0x2991, 0x2991,
7202 0x2993, 0x2993,
7203 0x2995, 0x2995,
7204 0x2997, 0x2997,
7205 0x29d8, 0x29d8,
7206 0x29da, 0x29da,
7207 0x29fc, 0x29fc,
7208 0x3008, 0x3008,
7209 0x300a, 0x300a,
7210 0x300c, 0x300c,
7211 0x300e, 0x300e,
7212 0x3010, 0x3010,
7213 0x3014, 0x3014,
7214 0x3016, 0x3016,
7215 0x3018, 0x3018,
7216 0x301a, 0x301a,
7217 0x301d, 0x301d,
7218 0xfd3e, 0xfd3e,
7219 0xfe17, 0xfe17,
7220 0xfe35, 0xfe35,
7221 0xfe37, 0xfe37,
7222 0xfe39, 0xfe39,
7223 0xfe3b, 0xfe3b,
7224 0xfe3d, 0xfe3d,
7225 0xfe3f, 0xfe3f,
7226 0xfe41, 0xfe41,
7227 0xfe43, 0xfe43,
7228 0xfe47, 0xfe47,
7229 0xfe59, 0xfe59,
7230 0xfe5b, 0xfe5b,
7231 0xfe5d, 0xfe5d,
7232 0xff08, 0xff08,
7233 0xff3b, 0xff3b,
7234 0xff5b, 0xff5b,
7235 0xff5f, 0xff5f,
7236 0xff62, 0xff62
7237 }; /* CR_Ps */
7238
7239 /* 'S': Major Category */
7240 static const OnigCodePoint CR_S[] = {
7241 162,
7242 0x0024, 0x0024,
7243 0x002b, 0x002b,
7244 0x003c, 0x003e,
7245 0x005e, 0x005e,
7246 0x0060, 0x0060,
7247 0x007c, 0x007c,
7248 0x007e, 0x007e,
7249 0x00a2, 0x00a9,
7250 0x00ac, 0x00ac,
7251 0x00ae, 0x00b1,
7252 0x00b4, 0x00b4,
7253 0x00b6, 0x00b6,
7254 0x00b8, 0x00b8,
7255 0x00d7, 0x00d7,
7256 0x00f7, 0x00f7,
7257 0x02c2, 0x02c5,
7258 0x02d2, 0x02df,
7259 0x02e5, 0x02ed,
7260 0x02ef, 0x02ff,
7261 0x0374, 0x0375,
7262 0x0384, 0x0385,
7263 0x03f6, 0x03f6,
7264 0x0482, 0x0482,
7265 0x060b, 0x060b,
7266 0x060e, 0x060f,
7267 0x06e9, 0x06e9,
7268 0x06fd, 0x06fe,
7269 0x09f2, 0x09f3,
7270 0x09fa, 0x09fa,
7271 0x0af1, 0x0af1,
7272 0x0b70, 0x0b70,
7273 0x0bf3, 0x0bfa,
7274 0x0e3f, 0x0e3f,
7275 0x0f01, 0x0f03,
7276 0x0f13, 0x0f17,
7277 0x0f1a, 0x0f1f,
7278 0x0f34, 0x0f34,
7279 0x0f36, 0x0f36,
7280 0x0f38, 0x0f38,
7281 0x0fbe, 0x0fc5,
7282 0x0fc7, 0x0fcc,
7283 0x0fcf, 0x0fcf,
7284 0x1360, 0x1360,
7285 0x1390, 0x1399,
7286 0x17db, 0x17db,
7287 0x1940, 0x1940,
7288 0x19e0, 0x19ff,
7289 0x1fbd, 0x1fbd,
7290 0x1fbf, 0x1fc1,
7291 0x1fcd, 0x1fcf,
7292 0x1fdd, 0x1fdf,
7293 0x1fed, 0x1fef,
7294 0x1ffd, 0x1ffe,
7295 0x2044, 0x2044,
7296 0x2052, 0x2052,
7297 0x207a, 0x207c,
7298 0x208a, 0x208c,
7299 0x20a0, 0x20b5,
7300 0x2100, 0x2101,
7301 0x2103, 0x2106,
7302 0x2108, 0x2109,
7303 0x2114, 0x2114,
7304 0x2116, 0x2118,
7305 0x211e, 0x2123,
7306 0x2125, 0x2125,
7307 0x2127, 0x2127,
7308 0x2129, 0x2129,
7309 0x212e, 0x212e,
7310 0x2132, 0x2132,
7311 0x213a, 0x213b,
7312 0x2140, 0x2144,
7313 0x214a, 0x214c,
7314 0x2190, 0x2328,
7315 0x232b, 0x23b3,
7316 0x23b7, 0x23db,
7317 0x2400, 0x2426,
7318 0x2440, 0x244a,
7319 0x249c, 0x24e9,
7320 0x2500, 0x269c,
7321 0x26a0, 0x26b1,
7322 0x2701, 0x2704,
7323 0x2706, 0x2709,
7324 0x270c, 0x2727,
7325 0x2729, 0x274b,
7326 0x274d, 0x274d,
7327 0x274f, 0x2752,
7328 0x2756, 0x2756,
7329 0x2758, 0x275e,
7330 0x2761, 0x2767,
7331 0x2794, 0x2794,
7332 0x2798, 0x27af,
7333 0x27b1, 0x27be,
7334 0x27c0, 0x27c4,
7335 0x27d0, 0x27e5,
7336 0x27f0, 0x2982,
7337 0x2999, 0x29d7,
7338 0x29dc, 0x29fb,
7339 0x29fe, 0x2b13,
7340 0x2ce5, 0x2cea,
7341 0x2e80, 0x2e99,
7342 0x2e9b, 0x2ef3,
7343 0x2f00, 0x2fd5,
7344 0x2ff0, 0x2ffb,
7345 0x3004, 0x3004,
7346 0x3012, 0x3013,
7347 0x3020, 0x3020,
7348 0x3036, 0x3037,
7349 0x303e, 0x303f,
7350 0x309b, 0x309c,
7351 0x3190, 0x3191,
7352 0x3196, 0x319f,
7353 0x31c0, 0x31cf,
7354 0x3200, 0x321e,
7355 0x322a, 0x3243,
7356 0x3250, 0x3250,
7357 0x3260, 0x327f,
7358 0x328a, 0x32b0,
7359 0x32c0, 0x32fe,
7360 0x3300, 0x33ff,
7361 0x4dc0, 0x4dff,
7362 0xa490, 0xa4c6,
7363 0xa700, 0xa716,
7364 0xa828, 0xa82b,
7365 0xfb29, 0xfb29,
7366 0xfdfc, 0xfdfd,
7367 0xfe62, 0xfe62,
7368 0xfe64, 0xfe66,
7369 0xfe69, 0xfe69,
7370 0xff04, 0xff04,
7371 0xff0b, 0xff0b,
7372 0xff1c, 0xff1e,
7373 0xff3e, 0xff3e,
7374 0xff40, 0xff40,
7375 0xff5c, 0xff5c,
7376 0xff5e, 0xff5e,
7377 0xffe0, 0xffe6,
7378 0xffe8, 0xffee,
7379 0xfffc, 0xfffd,
7380 0x10102, 0x10102,
7381 0x10137, 0x1013f,
7382 0x10179, 0x10189,
7383 0x103d0, 0x103d0,
7384 0x1d000, 0x1d0f5,
7385 0x1d100, 0x1d126,
7386 0x1d12a, 0x1d164,
7387 0x1d16a, 0x1d16c,
7388 0x1d183, 0x1d184,
7389 0x1d18c, 0x1d1a9,
7390 0x1d1ae, 0x1d1dd,
7391 0x1d200, 0x1d241,
7392 0x1d245, 0x1d245,
7393 0x1d300, 0x1d356,
7394 0x1d6c1, 0x1d6c1,
7395 0x1d6db, 0x1d6db,
7396 0x1d6fb, 0x1d6fb,
7397 0x1d715, 0x1d715,
7398 0x1d735, 0x1d735,
7399 0x1d74f, 0x1d74f,
7400 0x1d76f, 0x1d76f,
7401 0x1d789, 0x1d789,
7402 0x1d7a9, 0x1d7a9,
7403 0x1d7c3, 0x1d7c3
7404 }; /* CR_S */
7405
7406 /* 'Sc': General Category */
7407 static const OnigCodePoint CR_Sc[] = {
7408 14,
7409 0x0024, 0x0024,
7410 0x00a2, 0x00a5,
7411 0x060b, 0x060b,
7412 0x09f2, 0x09f3,
7413 0x0af1, 0x0af1,
7414 0x0bf9, 0x0bf9,
7415 0x0e3f, 0x0e3f,
7416 0x17db, 0x17db,
7417 0x20a0, 0x20b5,
7418 0xfdfc, 0xfdfc,
7419 0xfe69, 0xfe69,
7420 0xff04, 0xff04,
7421 0xffe0, 0xffe1,
7422 0xffe5, 0xffe6
7423 }; /* CR_Sc */
7424
7425 /* 'Sk': General Category */
7426 static const OnigCodePoint CR_Sk[] = {
7427 23,
7428 0x005e, 0x005e,
7429 0x0060, 0x0060,
7430 0x00a8, 0x00a8,
7431 0x00af, 0x00af,
7432 0x00b4, 0x00b4,
7433 0x00b8, 0x00b8,
7434 0x02c2, 0x02c5,
7435 0x02d2, 0x02df,
7436 0x02e5, 0x02ed,
7437 0x02ef, 0x02ff,
7438 0x0374, 0x0375,
7439 0x0384, 0x0385,
7440 0x1fbd, 0x1fbd,
7441 0x1fbf, 0x1fc1,
7442 0x1fcd, 0x1fcf,
7443 0x1fdd, 0x1fdf,
7444 0x1fed, 0x1fef,
7445 0x1ffd, 0x1ffe,
7446 0x309b, 0x309c,
7447 0xa700, 0xa716,
7448 0xff3e, 0xff3e,
7449 0xff40, 0xff40,
7450 0xffe3, 0xffe3
7451 }; /* CR_Sk */
7452
7453 /* 'Sm': General Category */
7454 static const OnigCodePoint CR_Sm[] = {
7455 59,
7456 0x002b, 0x002b,
7457 0x003c, 0x003e,
7458 0x007c, 0x007c,
7459 0x007e, 0x007e,
7460 0x00ac, 0x00ac,
7461 0x00b1, 0x00b1,
7462 0x00d7, 0x00d7,
7463 0x00f7, 0x00f7,
7464 0x03f6, 0x03f6,
7465 0x2044, 0x2044,
7466 0x2052, 0x2052,
7467 0x207a, 0x207c,
7468 0x208a, 0x208c,
7469 0x2140, 0x2144,
7470 0x214b, 0x214b,
7471 0x2190, 0x2194,
7472 0x219a, 0x219b,
7473 0x21a0, 0x21a0,
7474 0x21a3, 0x21a3,
7475 0x21a6, 0x21a6,
7476 0x21ae, 0x21ae,
7477 0x21ce, 0x21cf,
7478 0x21d2, 0x21d2,
7479 0x21d4, 0x21d4,
7480 0x21f4, 0x22ff,
7481 0x2308, 0x230b,
7482 0x2320, 0x2321,
7483 0x237c, 0x237c,
7484 0x239b, 0x23b3,
7485 0x25b7, 0x25b7,
7486 0x25c1, 0x25c1,
7487 0x25f8, 0x25ff,
7488 0x266f, 0x266f,
7489 0x27c0, 0x27c4,
7490 0x27d0, 0x27e5,
7491 0x27f0, 0x27ff,
7492 0x2900, 0x2982,
7493 0x2999, 0x29d7,
7494 0x29dc, 0x29fb,
7495 0x29fe, 0x2aff,
7496 0xfb29, 0xfb29,
7497 0xfe62, 0xfe62,
7498 0xfe64, 0xfe66,
7499 0xff0b, 0xff0b,
7500 0xff1c, 0xff1e,
7501 0xff5c, 0xff5c,
7502 0xff5e, 0xff5e,
7503 0xffe2, 0xffe2,
7504 0xffe9, 0xffec,
7505 0x1d6c1, 0x1d6c1,
7506 0x1d6db, 0x1d6db,
7507 0x1d6fb, 0x1d6fb,
7508 0x1d715, 0x1d715,
7509 0x1d735, 0x1d735,
7510 0x1d74f, 0x1d74f,
7511 0x1d76f, 0x1d76f,
7512 0x1d789, 0x1d789,
7513 0x1d7a9, 0x1d7a9,
7514 0x1d7c3, 0x1d7c3
7515 }; /* CR_Sm */
7516
7517 /* 'So': General Category */
7518 static const OnigCodePoint CR_So[] = {
7519 120,
7520 0x00a6, 0x00a7,
7521 0x00a9, 0x00a9,
7522 0x00ae, 0x00ae,
7523 0x00b0, 0x00b0,
7524 0x00b6, 0x00b6,
7525 0x0482, 0x0482,
7526 0x060e, 0x060f,
7527 0x06e9, 0x06e9,
7528 0x06fd, 0x06fe,
7529 0x09fa, 0x09fa,
7530 0x0b70, 0x0b70,
7531 0x0bf3, 0x0bf8,
7532 0x0bfa, 0x0bfa,
7533 0x0f01, 0x0f03,
7534 0x0f13, 0x0f17,
7535 0x0f1a, 0x0f1f,
7536 0x0f34, 0x0f34,
7537 0x0f36, 0x0f36,
7538 0x0f38, 0x0f38,
7539 0x0fbe, 0x0fc5,
7540 0x0fc7, 0x0fcc,
7541 0x0fcf, 0x0fcf,
7542 0x1360, 0x1360,
7543 0x1390, 0x1399,
7544 0x1940, 0x1940,
7545 0x19e0, 0x19ff,
7546 0x2100, 0x2101,
7547 0x2103, 0x2106,
7548 0x2108, 0x2109,
7549 0x2114, 0x2114,
7550 0x2116, 0x2118,
7551 0x211e, 0x2123,
7552 0x2125, 0x2125,
7553 0x2127, 0x2127,
7554 0x2129, 0x2129,
7555 0x212e, 0x212e,
7556 0x2132, 0x2132,
7557 0x213a, 0x213b,
7558 0x214a, 0x214a,
7559 0x214c, 0x214c,
7560 0x2195, 0x2199,
7561 0x219c, 0x219f,
7562 0x21a1, 0x21a2,
7563 0x21a4, 0x21a5,
7564 0x21a7, 0x21ad,
7565 0x21af, 0x21cd,
7566 0x21d0, 0x21d1,
7567 0x21d3, 0x21d3,
7568 0x21d5, 0x21f3,
7569 0x2300, 0x2307,
7570 0x230c, 0x231f,
7571 0x2322, 0x2328,
7572 0x232b, 0x237b,
7573 0x237d, 0x239a,
7574 0x23b7, 0x23db,
7575 0x2400, 0x2426,
7576 0x2440, 0x244a,
7577 0x249c, 0x24e9,
7578 0x2500, 0x25b6,
7579 0x25b8, 0x25c0,
7580 0x25c2, 0x25f7,
7581 0x2600, 0x266e,
7582 0x2670, 0x269c,
7583 0x26a0, 0x26b1,
7584 0x2701, 0x2704,
7585 0x2706, 0x2709,
7586 0x270c, 0x2727,
7587 0x2729, 0x274b,
7588 0x274d, 0x274d,
7589 0x274f, 0x2752,
7590 0x2756, 0x2756,
7591 0x2758, 0x275e,
7592 0x2761, 0x2767,
7593 0x2794, 0x2794,
7594 0x2798, 0x27af,
7595 0x27b1, 0x27be,
7596 0x2800, 0x28ff,
7597 0x2b00, 0x2b13,
7598 0x2ce5, 0x2cea,
7599 0x2e80, 0x2e99,
7600 0x2e9b, 0x2ef3,
7601 0x2f00, 0x2fd5,
7602 0x2ff0, 0x2ffb,
7603 0x3004, 0x3004,
7604 0x3012, 0x3013,
7605 0x3020, 0x3020,
7606 0x3036, 0x3037,
7607 0x303e, 0x303f,
7608 0x3190, 0x3191,
7609 0x3196, 0x319f,
7610 0x31c0, 0x31cf,
7611 0x3200, 0x321e,
7612 0x322a, 0x3243,
7613 0x3250, 0x3250,
7614 0x3260, 0x327f,
7615 0x328a, 0x32b0,
7616 0x32c0, 0x32fe,
7617 0x3300, 0x33ff,
7618 0x4dc0, 0x4dff,
7619 0xa490, 0xa4c6,
7620 0xa828, 0xa82b,
7621 0xfdfd, 0xfdfd,
7622 0xffe4, 0xffe4,
7623 0xffe8, 0xffe8,
7624 0xffed, 0xffee,
7625 0xfffc, 0xfffd,
7626 0x10102, 0x10102,
7627 0x10137, 0x1013f,
7628 0x10179, 0x10189,
7629 0x103d0, 0x103d0,
7630 0x1d000, 0x1d0f5,
7631 0x1d100, 0x1d126,
7632 0x1d12a, 0x1d164,
7633 0x1d16a, 0x1d16c,
7634 0x1d183, 0x1d184,
7635 0x1d18c, 0x1d1a9,
7636 0x1d1ae, 0x1d1dd,
7637 0x1d200, 0x1d241,
7638 0x1d245, 0x1d245,
7639 0x1d300, 0x1d356
7640 }; /* CR_So */
7641
7642 /* 'Z': Major Category */
7643 static const OnigCodePoint CR_Z[] = {
7644 9,
7645 0x0020, 0x0020,
7646 0x00a0, 0x00a0,
7647 0x1680, 0x1680,
7648 0x180e, 0x180e,
7649 0x2000, 0x200a,
7650 0x2028, 0x2029,
7651 0x202f, 0x202f,
7652 0x205f, 0x205f,
7653 0x3000, 0x3000
7654 }; /* CR_Z */
7655
7656 /* 'Zl': General Category */
7657 static const OnigCodePoint CR_Zl[] = {
7658 1,
7659 0x2028, 0x2028
7660 }; /* CR_Zl */
7661
7662 /* 'Zp': General Category */
7663 static const OnigCodePoint CR_Zp[] = {
7664 1,
7665 0x2029, 0x2029
7666 }; /* CR_Zp */
7667
7668 /* 'Zs': General Category */
7669 static const OnigCodePoint CR_Zs[] = {
7670 8,
7671 0x0020, 0x0020,
7672 0x00a0, 0x00a0,
7673 0x1680, 0x1680,
7674 0x180e, 0x180e,
7675 0x2000, 0x200a,
7676 0x202f, 0x202f,
7677 0x205f, 0x205f,
7678 0x3000, 0x3000
7679 }; /* CR_Zs */
7680
7681 /* 'Arabic': Script */
7682 static const OnigCodePoint CR_Arabic[] = {
7683 17,
7684 0x060b, 0x060b,
7685 0x060d, 0x0615,
7686 0x061e, 0x061e,
7687 0x0621, 0x063a,
7688 0x0641, 0x064a,
7689 0x0656, 0x065e,
7690 0x066a, 0x066f,
7691 0x0671, 0x06dc,
7692 0x06de, 0x06ff,
7693 0x0750, 0x076d,
7694 0xfb50, 0xfbb1,
7695 0xfbd3, 0xfd3d,
7696 0xfd50, 0xfd8f,
7697 0xfd92, 0xfdc7,
7698 0xfdf0, 0xfdfc,
7699 0xfe70, 0xfe74,
7700 0xfe76, 0xfefc
7701 }; /* CR_Arabic */
7702
7703 /* 'Armenian': Script */
7704 static const OnigCodePoint CR_Armenian[] = {
7705 5,
7706 0x0531, 0x0556,
7707 0x0559, 0x055f,
7708 0x0561, 0x0587,
7709 0x058a, 0x058a,
7710 0xfb13, 0xfb17
7711 }; /* CR_Armenian */
7712
7713 /* 'Bengali': Script */
7714 static const OnigCodePoint CR_Bengali[] = {
7715 14,
7716 0x0981, 0x0983,
7717 0x0985, 0x098c,
7718 0x098f, 0x0990,
7719 0x0993, 0x09a8,
7720 0x09aa, 0x09b0,
7721 0x09b2, 0x09b2,
7722 0x09b6, 0x09b9,
7723 0x09bc, 0x09c4,
7724 0x09c7, 0x09c8,
7725 0x09cb, 0x09ce,
7726 0x09d7, 0x09d7,
7727 0x09dc, 0x09dd,
7728 0x09df, 0x09e3,
7729 0x09e6, 0x09fa
7730 }; /* CR_Bengali */
7731
7732 /* 'Bopomofo': Script */
7733 static const OnigCodePoint CR_Bopomofo[] = {
7734 2,
7735 0x3105, 0x312c,
7736 0x31a0, 0x31b7
7737 }; /* CR_Bopomofo */
7738
7739 /* 'Braille': Script */
7740 static const OnigCodePoint CR_Braille[] = {
7741 1,
7742 0x2800, 0x28ff
7743 }; /* CR_Braille */
7744
7745 /* 'Buginese': Script */
7746 static const OnigCodePoint CR_Buginese[] = {
7747 2,
7748 0x1a00, 0x1a1b,
7749 0x1a1e, 0x1a1f
7750 }; /* CR_Buginese */
7751
7752 /* 'Buhid': Script */
7753 static const OnigCodePoint CR_Buhid[] = {
7754 1,
7755 0x1740, 0x1753
7756 }; /* CR_Buhid */
7757
7758 /* 'Canadian_Aboriginal': Script */
7759 static const OnigCodePoint CR_Canadian_Aboriginal[] = {
7760 1,
7761 0x1401, 0x1676
7762 }; /* CR_Canadian_Aboriginal */
7763
7764 /* 'Cherokee': Script */
7765 static const OnigCodePoint CR_Cherokee[] = {
7766 1,
7767 0x13a0, 0x13f4
7768 }; /* CR_Cherokee */
7769
7770 /* 'Common': Script */
7771 static const OnigCodePoint CR_Common[] = {
7772 126,
7773 0x0000, 0x0040,
7774 0x005b, 0x0060,
7775 0x007b, 0x00a9,
7776 0x00ab, 0x00b9,
7777 0x00bb, 0x00bf,
7778 0x00d7, 0x00d7,
7779 0x00f7, 0x00f7,
7780 0x02b9, 0x02df,
7781 0x02e5, 0x02ff,
7782 0x037e, 0x037e,
7783 0x0387, 0x0387,
7784 0x0589, 0x0589,
7785 0x0600, 0x0603,
7786 0x060c, 0x060c,
7787 0x061b, 0x061b,
7788 0x061f, 0x061f,
7789 0x0640, 0x0640,
7790 0x0660, 0x0669,
7791 0x06dd, 0x06dd,
7792 0x0964, 0x0965,
7793 0x0970, 0x0970,
7794 0x0e3f, 0x0e3f,
7795 0x10fb, 0x10fb,
7796 0x16eb, 0x16ed,
7797 0x1735, 0x1736,
7798 0x2000, 0x200b,
7799 0x200e, 0x2063,
7800 0x206a, 0x2070,
7801 0x2074, 0x207e,
7802 0x2080, 0x208e,
7803 0x20a0, 0x20b5,
7804 0x2100, 0x2125,
7805 0x2127, 0x2129,
7806 0x212c, 0x214c,
7807 0x2153, 0x2183,
7808 0x2190, 0x23db,
7809 0x2400, 0x2426,
7810 0x2440, 0x244a,
7811 0x2460, 0x269c,
7812 0x26a0, 0x26b1,
7813 0x2701, 0x2704,
7814 0x2706, 0x2709,
7815 0x270c, 0x2727,
7816 0x2729, 0x274b,
7817 0x274d, 0x274d,
7818 0x274f, 0x2752,
7819 0x2756, 0x2756,
7820 0x2758, 0x275e,
7821 0x2761, 0x2794,
7822 0x2798, 0x27af,
7823 0x27b1, 0x27be,
7824 0x27c0, 0x27c6,
7825 0x27d0, 0x27eb,
7826 0x27f0, 0x27ff,
7827 0x2900, 0x2b13,
7828 0x2e00, 0x2e17,
7829 0x2e1c, 0x2e1d,
7830 0x2ff0, 0x2ffb,
7831 0x3000, 0x3004,
7832 0x3006, 0x3006,
7833 0x3008, 0x3020,
7834 0x3030, 0x3037,
7835 0x303c, 0x303f,
7836 0x309b, 0x309c,
7837 0x30a0, 0x30a0,
7838 0x30fb, 0x30fc,
7839 0x3190, 0x319f,
7840 0x31c0, 0x31cf,
7841 0x3220, 0x3243,
7842 0x3250, 0x325f,
7843 0x327e, 0x32fe,
7844 0x3300, 0x33ff,
7845 0x4dc0, 0x4dff,
7846 0xa700, 0xa716,
7847 0xe000, 0xf8ff,
7848 0xfd3e, 0xfd3f,
7849 0xfdfd, 0xfdfd,
7850 0xfe10, 0xfe19,
7851 0xfe30, 0xfe52,
7852 0xfe54, 0xfe66,
7853 0xfe68, 0xfe6b,
7854 0xfeff, 0xfeff,
7855 0xff01, 0xff20,
7856 0xff3b, 0xff40,
7857 0xff5b, 0xff65,
7858 0xff70, 0xff70,
7859 0xff9e, 0xff9f,
7860 0xffe0, 0xffe6,
7861 0xffe8, 0xffee,
7862 0xfff9, 0xfffd,
7863 0x10100, 0x10102,
7864 0x10107, 0x10133,
7865 0x10137, 0x1013f,
7866 0x1d000, 0x1d0f5,
7867 0x1d100, 0x1d126,
7868 0x1d12a, 0x1d166,
7869 0x1d16a, 0x1d17a,
7870 0x1d183, 0x1d184,
7871 0x1d18c, 0x1d1a9,
7872 0x1d1ae, 0x1d1dd,
7873 0x1d300, 0x1d356,
7874 0x1d400, 0x1d454,
7875 0x1d456, 0x1d49c,
7876 0x1d49e, 0x1d49f,
7877 0x1d4a2, 0x1d4a2,
7878 0x1d4a5, 0x1d4a6,
7879 0x1d4a9, 0x1d4ac,
7880 0x1d4ae, 0x1d4b9,
7881 0x1d4bb, 0x1d4bb,
7882 0x1d4bd, 0x1d4c3,
7883 0x1d4c5, 0x1d505,
7884 0x1d507, 0x1d50a,
7885 0x1d50d, 0x1d514,
7886 0x1d516, 0x1d51c,
7887 0x1d51e, 0x1d539,
7888 0x1d53b, 0x1d53e,
7889 0x1d540, 0x1d544,
7890 0x1d546, 0x1d546,
7891 0x1d54a, 0x1d550,
7892 0x1d552, 0x1d6a5,
7893 0x1d6a8, 0x1d7c9,
7894 0x1d7ce, 0x1d7ff,
7895 0xe0001, 0xe0001,
7896 0xe0020, 0xe007f,
7897 0xf0000, 0xffffd,
7898 0x100000, 0x10fffd
7899 }; /* CR_Common */
7900
7901 /* 'Coptic': Script */
7902 static const OnigCodePoint CR_Coptic[] = {
7903 3,
7904 0x03e2, 0x03ef,
7905 0x2c80, 0x2cea,
7906 0x2cf9, 0x2cff
7907 }; /* CR_Coptic */
7908
7909 /* 'Cypriot': Script */
7910 static const OnigCodePoint CR_Cypriot[] = {
7911 6,
7912 0x10800, 0x10805,
7913 0x10808, 0x10808,
7914 0x1080a, 0x10835,
7915 0x10837, 0x10838,
7916 0x1083c, 0x1083c,
7917 0x1083f, 0x1083f
7918 }; /* CR_Cypriot */
7919
7920 /* 'Cyrillic': Script */
7921 static const OnigCodePoint CR_Cyrillic[] = {
7922 6,
7923 0x0400, 0x0486,
7924 0x0488, 0x04ce,
7925 0x04d0, 0x04f9,
7926 0x0500, 0x050f,
7927 0x1d2b, 0x1d2b,
7928 0x1d78, 0x1d78
7929 }; /* CR_Cyrillic */
7930
7931 /* 'Deseret': Script */
7932 static const OnigCodePoint CR_Deseret[] = {
7933 1,
7934 0x10400, 0x1044f
7935 }; /* CR_Deseret */
7936
7937 /* 'Devanagari': Script */
7938 static const OnigCodePoint CR_Devanagari[] = {
7939 6,
7940 0x0901, 0x0939,
7941 0x093c, 0x094d,
7942 0x0950, 0x0954,
7943 0x0958, 0x0963,
7944 0x0966, 0x096f,
7945 0x097d, 0x097d
7946 }; /* CR_Devanagari */
7947
7948 /* 'Ethiopic': Script */
7949 static const OnigCodePoint CR_Ethiopic[] = {
7950 27,
7951 0x1200, 0x1248,
7952 0x124a, 0x124d,
7953 0x1250, 0x1256,
7954 0x1258, 0x1258,
7955 0x125a, 0x125d,
7956 0x1260, 0x1288,
7957 0x128a, 0x128d,
7958 0x1290, 0x12b0,
7959 0x12b2, 0x12b5,
7960 0x12b8, 0x12be,
7961 0x12c0, 0x12c0,
7962 0x12c2, 0x12c5,
7963 0x12c8, 0x12d6,
7964 0x12d8, 0x1310,
7965 0x1312, 0x1315,
7966 0x1318, 0x135a,
7967 0x135f, 0x137c,
7968 0x1380, 0x1399,
7969 0x2d80, 0x2d96,
7970 0x2da0, 0x2da6,
7971 0x2da8, 0x2dae,
7972 0x2db0, 0x2db6,
7973 0x2db8, 0x2dbe,
7974 0x2dc0, 0x2dc6,
7975 0x2dc8, 0x2dce,
7976 0x2dd0, 0x2dd6,
7977 0x2dd8, 0x2dde
7978 }; /* CR_Ethiopic */
7979
7980 /* 'Georgian': Script */
7981 static const OnigCodePoint CR_Georgian[] = {
7982 4,
7983 0x10a0, 0x10c5,
7984 0x10d0, 0x10fa,
7985 0x10fc, 0x10fc,
7986 0x2d00, 0x2d25
7987 }; /* CR_Georgian */
7988
7989 /* 'Glagolitic': Script */
7990 static const OnigCodePoint CR_Glagolitic[] = {
7991 2,
7992 0x2c00, 0x2c2e,
7993 0x2c30, 0x2c5e
7994 }; /* CR_Glagolitic */
7995
7996 /* 'Gothic': Script */
7997 static const OnigCodePoint CR_Gothic[] = {
7998 1,
7999 0x10330, 0x1034a
8000 }; /* CR_Gothic */
8001
8002 /* 'Greek': Script */
8003 static const OnigCodePoint CR_Greek[] = {
8004 31,
8005 0x0374, 0x0375,
8006 0x037a, 0x037a,
8007 0x0384, 0x0386,
8008 0x0388, 0x038a,
8009 0x038c, 0x038c,
8010 0x038e, 0x03a1,
8011 0x03a3, 0x03ce,
8012 0x03d0, 0x03e1,
8013 0x03f0, 0x03ff,
8014 0x1d26, 0x1d2a,
8015 0x1d5d, 0x1d61,
8016 0x1d66, 0x1d6a,
8017 0x1f00, 0x1f15,
8018 0x1f18, 0x1f1d,
8019 0x1f20, 0x1f45,
8020 0x1f48, 0x1f4d,
8021 0x1f50, 0x1f57,
8022 0x1f59, 0x1f59,
8023 0x1f5b, 0x1f5b,
8024 0x1f5d, 0x1f5d,
8025 0x1f5f, 0x1f7d,
8026 0x1f80, 0x1fb4,
8027 0x1fb6, 0x1fc4,
8028 0x1fc6, 0x1fd3,
8029 0x1fd6, 0x1fdb,
8030 0x1fdd, 0x1fef,
8031 0x1ff2, 0x1ff4,
8032 0x1ff6, 0x1ffe,
8033 0x2126, 0x2126,
8034 0x10140, 0x1018a,
8035 0x1d200, 0x1d245
8036 }; /* CR_Greek */
8037
8038 /* 'Gujarati': Script */
8039 static const OnigCodePoint CR_Gujarati[] = {
8040 14,
8041 0x0a81, 0x0a83,
8042 0x0a85, 0x0a8d,
8043 0x0a8f, 0x0a91,
8044 0x0a93, 0x0aa8,
8045 0x0aaa, 0x0ab0,
8046 0x0ab2, 0x0ab3,
8047 0x0ab5, 0x0ab9,
8048 0x0abc, 0x0ac5,
8049 0x0ac7, 0x0ac9,
8050 0x0acb, 0x0acd,
8051 0x0ad0, 0x0ad0,
8052 0x0ae0, 0x0ae3,
8053 0x0ae6, 0x0aef,
8054 0x0af1, 0x0af1
8055 }; /* CR_Gujarati */
8056
8057 /* 'Gurmukhi': Script */
8058 static const OnigCodePoint CR_Gurmukhi[] = {
8059 15,
8060 0x0a01, 0x0a03,
8061 0x0a05, 0x0a0a,
8062 0x0a0f, 0x0a10,
8063 0x0a13, 0x0a28,
8064 0x0a2a, 0x0a30,
8065 0x0a32, 0x0a33,
8066 0x0a35, 0x0a36,
8067 0x0a38, 0x0a39,
8068 0x0a3c, 0x0a3c,
8069 0x0a3e, 0x0a42,
8070 0x0a47, 0x0a48,
8071 0x0a4b, 0x0a4d,
8072 0x0a59, 0x0a5c,
8073 0x0a5e, 0x0a5e,
8074 0x0a66, 0x0a74
8075 }; /* CR_Gurmukhi */
8076
8077 /* 'Han': Script */
8078 static const OnigCodePoint CR_Han[] = {
8079 14,
8080 0x2e80, 0x2e99,
8081 0x2e9b, 0x2ef3,
8082 0x2f00, 0x2fd5,
8083 0x3005, 0x3005,
8084 0x3007, 0x3007,
8085 0x3021, 0x3029,
8086 0x3038, 0x303b,
8087 0x3400, 0x4db5,
8088 0x4e00, 0x9fbb,
8089 0xf900, 0xfa2d,
8090 0xfa30, 0xfa6a,
8091 0xfa70, 0xfad9,
8092 0x20000, 0x2a6d6,
8093 0x2f800, 0x2fa1d
8094 }; /* CR_Han */
8095
8096 /* 'Hangul': Script */
8097 static const OnigCodePoint CR_Hangul[] = {
8098 12,
8099 0x1100, 0x1159,
8100 0x115f, 0x11a2,
8101 0x11a8, 0x11f9,
8102 0x3131, 0x318e,
8103 0x3200, 0x321e,
8104 0x3260, 0x327d,
8105 0xac00, 0xd7a3,
8106 0xffa0, 0xffbe,
8107 0xffc2, 0xffc7,
8108 0xffca, 0xffcf,
8109 0xffd2, 0xffd7,
8110 0xffda, 0xffdc
8111 }; /* CR_Hangul */
8112
8113 /* 'Hanunoo': Script */
8114 static const OnigCodePoint CR_Hanunoo[] = {
8115 1,
8116 0x1720, 0x1734
8117 }; /* CR_Hanunoo */
8118
8119 /* 'Hebrew': Script */
8120 static const OnigCodePoint CR_Hebrew[] = {
8121 10,
8122 0x0591, 0x05b9,
8123 0x05bb, 0x05c7,
8124 0x05d0, 0x05ea,
8125 0x05f0, 0x05f4,
8126 0xfb1d, 0xfb36,
8127 0xfb38, 0xfb3c,
8128 0xfb3e, 0xfb3e,
8129 0xfb40, 0xfb41,
8130 0xfb43, 0xfb44,
8131 0xfb46, 0xfb4f
8132 }; /* CR_Hebrew */
8133
8134 /* 'Hiragana': Script */
8135 static const OnigCodePoint CR_Hiragana[] = {
8136 2,
8137 0x3041, 0x3096,
8138 0x309d, 0x309f
8139 }; /* CR_Hiragana */
8140
8141 /* 'Inherited': Script */
8142 static const OnigCodePoint CR_Inherited[] = {
8143 15,
8144 0x0300, 0x036f,
8145 0x064b, 0x0655,
8146 0x0670, 0x0670,
8147 0x1dc0, 0x1dc3,
8148 0x200c, 0x200d,
8149 0x20d0, 0x20eb,
8150 0x302a, 0x302f,
8151 0x3099, 0x309a,
8152 0xfe00, 0xfe0f,
8153 0xfe20, 0xfe23,
8154 0x1d167, 0x1d169,
8155 0x1d17b, 0x1d182,
8156 0x1d185, 0x1d18b,
8157 0x1d1aa, 0x1d1ad,
8158 0xe0100, 0xe01ef
8159 }; /* CR_Inherited */
8160
8161 /* 'Kannada': Script */
8162 static const OnigCodePoint CR_Kannada[] = {
8163 13,
8164 0x0c82, 0x0c83,
8165 0x0c85, 0x0c8c,
8166 0x0c8e, 0x0c90,
8167 0x0c92, 0x0ca8,
8168 0x0caa, 0x0cb3,
8169 0x0cb5, 0x0cb9,
8170 0x0cbc, 0x0cc4,
8171 0x0cc6, 0x0cc8,
8172 0x0cca, 0x0ccd,
8173 0x0cd5, 0x0cd6,
8174 0x0cde, 0x0cde,
8175 0x0ce0, 0x0ce1,
8176 0x0ce6, 0x0cef
8177 }; /* CR_Kannada */
8178
8179 /* 'Katakana': Script */
8180 static const OnigCodePoint CR_Katakana[] = {
8181 5,
8182 0x30a1, 0x30fa,
8183 0x30fd, 0x30ff,
8184 0x31f0, 0x31ff,
8185 0xff66, 0xff6f,
8186 0xff71, 0xff9d
8187 }; /* CR_Katakana */
8188
8189 /* 'Kharoshthi': Script */
8190 static const OnigCodePoint CR_Kharoshthi[] = {
8191 8,
8192 0x10a00, 0x10a03,
8193 0x10a05, 0x10a06,
8194 0x10a0c, 0x10a13,
8195 0x10a15, 0x10a17,
8196 0x10a19, 0x10a33,
8197 0x10a38, 0x10a3a,
8198 0x10a3f, 0x10a47,
8199 0x10a50, 0x10a58
8200 }; /* CR_Kharoshthi */
8201
8202 /* 'Khmer': Script */
8203 static const OnigCodePoint CR_Khmer[] = {
8204 4,
8205 0x1780, 0x17dd,
8206 0x17e0, 0x17e9,
8207 0x17f0, 0x17f9,
8208 0x19e0, 0x19ff
8209 }; /* CR_Khmer */
8210
8211 /* 'Lao': Script */
8212 static const OnigCodePoint CR_Lao[] = {
8213 18,
8214 0x0e81, 0x0e82,
8215 0x0e84, 0x0e84,
8216 0x0e87, 0x0e88,
8217 0x0e8a, 0x0e8a,
8218 0x0e8d, 0x0e8d,
8219 0x0e94, 0x0e97,
8220 0x0e99, 0x0e9f,
8221 0x0ea1, 0x0ea3,
8222 0x0ea5, 0x0ea5,
8223 0x0ea7, 0x0ea7,
8224 0x0eaa, 0x0eab,
8225 0x0ead, 0x0eb9,
8226 0x0ebb, 0x0ebd,
8227 0x0ec0, 0x0ec4,
8228 0x0ec6, 0x0ec6,
8229 0x0ec8, 0x0ecd,
8230 0x0ed0, 0x0ed9,
8231 0x0edc, 0x0edd
8232 }; /* CR_Lao */
8233
8234 /* 'Latin': Script */
8235 static const OnigCodePoint CR_Latin[] = {
8236 23,
8237 0x0041, 0x005a,
8238 0x0061, 0x007a,
8239 0x00aa, 0x00aa,
8240 0x00ba, 0x00ba,
8241 0x00c0, 0x00d6,
8242 0x00d8, 0x00f6,
8243 0x00f8, 0x0241,
8244 0x0250, 0x02b8,
8245 0x02e0, 0x02e4,
8246 0x1d00, 0x1d25,
8247 0x1d2c, 0x1d5c,
8248 0x1d62, 0x1d65,
8249 0x1d6b, 0x1d77,
8250 0x1d79, 0x1dbf,
8251 0x1e00, 0x1e9b,
8252 0x1ea0, 0x1ef9,
8253 0x2071, 0x2071,
8254 0x207f, 0x207f,
8255 0x2090, 0x2094,
8256 0x212a, 0x212b,
8257 0xfb00, 0xfb06,
8258 0xff21, 0xff3a,
8259 0xff41, 0xff5a
8260 }; /* CR_Latin */
8261
8262 /* 'Limbu': Script */
8263 static const OnigCodePoint CR_Limbu[] = {
8264 5,
8265 0x1900, 0x191c,
8266 0x1920, 0x192b,
8267 0x1930, 0x193b,
8268 0x1940, 0x1940,
8269 0x1944, 0x194f
8270 }; /* CR_Limbu */
8271
8272 /* 'Linear_B': Script */
8273 static const OnigCodePoint CR_Linear_B[] = {
8274 7,
8275 0x10000, 0x1000b,
8276 0x1000d, 0x10026,
8277 0x10028, 0x1003a,
8278 0x1003c, 0x1003d,
8279 0x1003f, 0x1004d,
8280 0x10050, 0x1005d,
8281 0x10080, 0x100fa
8282 }; /* CR_Linear_B */
8283
8284 /* 'Malayalam': Script */
8285 static const OnigCodePoint CR_Malayalam[] = {
8286 11,
8287 0x0d02, 0x0d03,
8288 0x0d05, 0x0d0c,
8289 0x0d0e, 0x0d10,
8290 0x0d12, 0x0d28,
8291 0x0d2a, 0x0d39,
8292 0x0d3e, 0x0d43,
8293 0x0d46, 0x0d48,
8294 0x0d4a, 0x0d4d,
8295 0x0d57, 0x0d57,
8296 0x0d60, 0x0d61,
8297 0x0d66, 0x0d6f
8298 }; /* CR_Malayalam */
8299
8300 /* 'Mongolian': Script */
8301 static const OnigCodePoint CR_Mongolian[] = {
8302 4,
8303 0x1800, 0x180e,
8304 0x1810, 0x1819,
8305 0x1820, 0x1877,
8306 0x1880, 0x18a9
8307 }; /* CR_Mongolian */
8308
8309 /* 'Myanmar': Script */
8310 static const OnigCodePoint CR_Myanmar[] = {
8311 6,
8312 0x1000, 0x1021,
8313 0x1023, 0x1027,
8314 0x1029, 0x102a,
8315 0x102c, 0x1032,
8316 0x1036, 0x1039,
8317 0x1040, 0x1059
8318 }; /* CR_Myanmar */
8319
8320 /* 'New_Tai_Lue': Script */
8321 static const OnigCodePoint CR_New_Tai_Lue[] = {
8322 4,
8323 0x1980, 0x19a9,
8324 0x19b0, 0x19c9,
8325 0x19d0, 0x19d9,
8326 0x19de, 0x19df
8327 }; /* CR_New_Tai_Lue */
8328
8329 /* 'Ogham': Script */
8330 static const OnigCodePoint CR_Ogham[] = {
8331 1,
8332 0x1680, 0x169c
8333 }; /* CR_Ogham */
8334
8335 /* 'Old_Italic': Script */
8336 static const OnigCodePoint CR_Old_Italic[] = {
8337 2,
8338 0x10300, 0x1031e,
8339 0x10320, 0x10323
8340 }; /* CR_Old_Italic */
8341
8342 /* 'Old_Persian': Script */
8343 static const OnigCodePoint CR_Old_Persian[] = {
8344 2,
8345 0x103a0, 0x103c3,
8346 0x103c8, 0x103d5
8347 }; /* CR_Old_Persian */
8348
8349 /* 'Oriya': Script */
8350 static const OnigCodePoint CR_Oriya[] = {
8351 14,
8352 0x0b01, 0x0b03,
8353 0x0b05, 0x0b0c,
8354 0x0b0f, 0x0b10,
8355 0x0b13, 0x0b28,
8356 0x0b2a, 0x0b30,
8357 0x0b32, 0x0b33,
8358 0x0b35, 0x0b39,
8359 0x0b3c, 0x0b43,
8360 0x0b47, 0x0b48,
8361 0x0b4b, 0x0b4d,
8362 0x0b56, 0x0b57,
8363 0x0b5c, 0x0b5d,
8364 0x0b5f, 0x0b61,
8365 0x0b66, 0x0b71
8366 }; /* CR_Oriya */
8367
8368 /* 'Osmanya': Script */
8369 static const OnigCodePoint CR_Osmanya[] = {
8370 2,
8371 0x10480, 0x1049d,
8372 0x104a0, 0x104a9
8373 }; /* CR_Osmanya */
8374
8375 /* 'Runic': Script */
8376 static const OnigCodePoint CR_Runic[] = {
8377 2,
8378 0x16a0, 0x16ea,
8379 0x16ee, 0x16f0
8380 }; /* CR_Runic */
8381
8382 /* 'Shavian': Script */
8383 static const OnigCodePoint CR_Shavian[] = {
8384 1,
8385 0x10450, 0x1047f
8386 }; /* CR_Shavian */
8387
8388 /* 'Sinhala': Script */
8389 static const OnigCodePoint CR_Sinhala[] = {
8390 11,
8391 0x0d82, 0x0d83,
8392 0x0d85, 0x0d96,
8393 0x0d9a, 0x0db1,
8394 0x0db3, 0x0dbb,
8395 0x0dbd, 0x0dbd,
8396 0x0dc0, 0x0dc6,
8397 0x0dca, 0x0dca,
8398 0x0dcf, 0x0dd4,
8399 0x0dd6, 0x0dd6,
8400 0x0dd8, 0x0ddf,
8401 0x0df2, 0x0df4
8402 }; /* CR_Sinhala */
8403
8404 /* 'Syloti_Nagri': Script */
8405 static const OnigCodePoint CR_Syloti_Nagri[] = {
8406 1,
8407 0xa800, 0xa82b
8408 }; /* CR_Syloti_Nagri */
8409
8410 /* 'Syriac': Script */
8411 static const OnigCodePoint CR_Syriac[] = {
8412 3,
8413 0x0700, 0x070d,
8414 0x070f, 0x074a,
8415 0x074d, 0x074f
8416 }; /* CR_Syriac */
8417
8418 /* 'Tagalog': Script */
8419 static const OnigCodePoint CR_Tagalog[] = {
8420 2,
8421 0x1700, 0x170c,
8422 0x170e, 0x1714
8423 }; /* CR_Tagalog */
8424
8425 /* 'Tagbanwa': Script */
8426 static const OnigCodePoint CR_Tagbanwa[] = {
8427 3,
8428 0x1760, 0x176c,
8429 0x176e, 0x1770,
8430 0x1772, 0x1773
8431 }; /* CR_Tagbanwa */
8432
8433 /* 'Tai_Le': Script */
8434 static const OnigCodePoint CR_Tai_Le[] = {
8435 2,
8436 0x1950, 0x196d,
8437 0x1970, 0x1974
8438 }; /* CR_Tai_Le */
8439
8440 /* 'Tamil': Script */
8441 static const OnigCodePoint CR_Tamil[] = {
8442 15,
8443 0x0b82, 0x0b83,
8444 0x0b85, 0x0b8a,
8445 0x0b8e, 0x0b90,
8446 0x0b92, 0x0b95,
8447 0x0b99, 0x0b9a,
8448 0x0b9c, 0x0b9c,
8449 0x0b9e, 0x0b9f,
8450 0x0ba3, 0x0ba4,
8451 0x0ba8, 0x0baa,
8452 0x0bae, 0x0bb9,
8453 0x0bbe, 0x0bc2,
8454 0x0bc6, 0x0bc8,
8455 0x0bca, 0x0bcd,
8456 0x0bd7, 0x0bd7,
8457 0x0be6, 0x0bfa
8458 }; /* CR_Tamil */
8459
8460 /* 'Telugu': Script */
8461 static const OnigCodePoint CR_Telugu[] = {
8462 12,
8463 0x0c01, 0x0c03,
8464 0x0c05, 0x0c0c,
8465 0x0c0e, 0x0c10,
8466 0x0c12, 0x0c28,
8467 0x0c2a, 0x0c33,
8468 0x0c35, 0x0c39,
8469 0x0c3e, 0x0c44,
8470 0x0c46, 0x0c48,
8471 0x0c4a, 0x0c4d,
8472 0x0c55, 0x0c56,
8473 0x0c60, 0x0c61,
8474 0x0c66, 0x0c6f
8475 }; /* CR_Telugu */
8476
8477 /* 'Thaana': Script */
8478 static const OnigCodePoint CR_Thaana[] = {
8479 1,
8480 0x0780, 0x07b1
8481 }; /* CR_Thaana */
8482
8483 /* 'Thai': Script */
8484 static const OnigCodePoint CR_Thai[] = {
8485 2,
8486 0x0e01, 0x0e3a,
8487 0x0e40, 0x0e5b
8488 }; /* CR_Thai */
8489
8490 /* 'Tibetan': Script */
8491 static const OnigCodePoint CR_Tibetan[] = {
8492 7,
8493 0x0f00, 0x0f47,
8494 0x0f49, 0x0f6a,
8495 0x0f71, 0x0f8b,
8496 0x0f90, 0x0f97,
8497 0x0f99, 0x0fbc,
8498 0x0fbe, 0x0fcc,
8499 0x0fcf, 0x0fd1
8500 }; /* CR_Tibetan */
8501
8502 /* 'Tifinagh': Script */
8503 static const OnigCodePoint CR_Tifinagh[] = {
8504 2,
8505 0x2d30, 0x2d65,
8506 0x2d6f, 0x2d6f
8507 }; /* CR_Tifinagh */
8508
8509 /* 'Ugaritic': Script */
8510 static const OnigCodePoint CR_Ugaritic[] = {
8511 2,
8512 0x10380, 0x1039d,
8513 0x1039f, 0x1039f
8514 }; /* CR_Ugaritic */
8515
8516 /* 'Yi': Script */
8517 static const OnigCodePoint CR_Yi[] = {
8518 2,
8519 0xa000, 0xa48c,
8520 0xa490, 0xa4c6
8521 }; /* CR_Yi */
8522
8523
8524 #endif /* USE_UNICODE_PROPERTIES */
8525
8526
8527 typedef struct {
8528 int n;
8529 OnigCodePoint code[3];
8530 } CodePointList3;
8531
8532 typedef struct {
8533 OnigCodePoint from;
8534 CodePointList3 to;
8535 } CaseFold_11_Type;
8536
8537 typedef struct {
8538 OnigCodePoint from;
8539 CodePointList3 to;
8540 } CaseUnfold_11_Type;
8541
8542 typedef struct {
8543 int n;
8544 OnigCodePoint code[2];
8545 } CodePointList2;
8546
8547 typedef struct {
8548 OnigCodePoint from[2];
8549 CodePointList2 to;
8550 } CaseUnfold_12_Type;
8551
8552 typedef struct {
8553 OnigCodePoint from[3];
8554 CodePointList2 to;
8555 } CaseUnfold_13_Type;
8556
8557 static const CaseFold_11_Type CaseFold[] = {
8558 { 0x0041, {1, {0x0061}}},
8559 { 0x0042, {1, {0x0062}}},
8560 { 0x0043, {1, {0x0063}}},
8561 { 0x0044, {1, {0x0064}}},
8562 { 0x0045, {1, {0x0065}}},
8563 { 0x0046, {1, {0x0066}}},
8564 { 0x0047, {1, {0x0067}}},
8565 { 0x0048, {1, {0x0068}}},
8566 { 0x004a, {1, {0x006a}}},
8567 { 0x004b, {1, {0x006b}}},
8568 { 0x004c, {1, {0x006c}}},
8569 { 0x004d, {1, {0x006d}}},
8570 { 0x004e, {1, {0x006e}}},
8571 { 0x004f, {1, {0x006f}}},
8572 { 0x0050, {1, {0x0070}}},
8573 { 0x0051, {1, {0x0071}}},
8574 { 0x0052, {1, {0x0072}}},
8575 { 0x0053, {1, {0x0073}}},
8576 { 0x0054, {1, {0x0074}}},
8577 { 0x0055, {1, {0x0075}}},
8578 { 0x0056, {1, {0x0076}}},
8579 { 0x0057, {1, {0x0077}}},
8580 { 0x0058, {1, {0x0078}}},
8581 { 0x0059, {1, {0x0079}}},
8582 { 0x005a, {1, {0x007a}}},
8583 { 0x00b5, {1, {0x03bc}}},
8584 { 0x00c0, {1, {0x00e0}}},
8585 { 0x00c1, {1, {0x00e1}}},
8586 { 0x00c2, {1, {0x00e2}}},
8587 { 0x00c3, {1, {0x00e3}}},
8588 { 0x00c4, {1, {0x00e4}}},
8589 { 0x00c5, {1, {0x00e5}}},
8590 { 0x00c6, {1, {0x00e6}}},
8591 { 0x00c7, {1, {0x00e7}}},
8592 { 0x00c8, {1, {0x00e8}}},
8593 { 0x00c9, {1, {0x00e9}}},
8594 { 0x00ca, {1, {0x00ea}}},
8595 { 0x00cb, {1, {0x00eb}}},
8596 { 0x00cc, {1, {0x00ec}}},
8597 { 0x00cd, {1, {0x00ed}}},
8598 { 0x00ce, {1, {0x00ee}}},
8599 { 0x00cf, {1, {0x00ef}}},
8600 { 0x00d0, {1, {0x00f0}}},
8601 { 0x00d1, {1, {0x00f1}}},
8602 { 0x00d2, {1, {0x00f2}}},
8603 { 0x00d3, {1, {0x00f3}}},
8604 { 0x00d4, {1, {0x00f4}}},
8605 { 0x00d5, {1, {0x00f5}}},
8606 { 0x00d6, {1, {0x00f6}}},
8607 { 0x00d8, {1, {0x00f8}}},
8608 { 0x00d9, {1, {0x00f9}}},
8609 { 0x00da, {1, {0x00fa}}},
8610 { 0x00db, {1, {0x00fb}}},
8611 { 0x00dc, {1, {0x00fc}}},
8612 { 0x00dd, {1, {0x00fd}}},
8613 { 0x00de, {1, {0x00fe}}},
8614 { 0x00df, {2, {0x0073, 0x0073}}},
8615 { 0x0100, {1, {0x0101}}},
8616 { 0x0102, {1, {0x0103}}},
8617 { 0x0104, {1, {0x0105}}},
8618 { 0x0106, {1, {0x0107}}},
8619 { 0x0108, {1, {0x0109}}},
8620 { 0x010a, {1, {0x010b}}},
8621 { 0x010c, {1, {0x010d}}},
8622 { 0x010e, {1, {0x010f}}},
8623 { 0x0110, {1, {0x0111}}},
8624 { 0x0112, {1, {0x0113}}},
8625 { 0x0114, {1, {0x0115}}},
8626 { 0x0116, {1, {0x0117}}},
8627 { 0x0118, {1, {0x0119}}},
8628 { 0x011a, {1, {0x011b}}},
8629 { 0x011c, {1, {0x011d}}},
8630 { 0x011e, {1, {0x011f}}},
8631 { 0x0120, {1, {0x0121}}},
8632 { 0x0122, {1, {0x0123}}},
8633 { 0x0124, {1, {0x0125}}},
8634 { 0x0126, {1, {0x0127}}},
8635 { 0x0128, {1, {0x0129}}},
8636 { 0x012a, {1, {0x012b}}},
8637 { 0x012c, {1, {0x012d}}},
8638 { 0x012e, {1, {0x012f}}},
8639 { 0x0132, {1, {0x0133}}},
8640 { 0x0134, {1, {0x0135}}},
8641 { 0x0136, {1, {0x0137}}},
8642 { 0x0139, {1, {0x013a}}},
8643 { 0x013b, {1, {0x013c}}},
8644 { 0x013d, {1, {0x013e}}},
8645 { 0x013f, {1, {0x0140}}},
8646 { 0x0141, {1, {0x0142}}},
8647 { 0x0143, {1, {0x0144}}},
8648 { 0x0145, {1, {0x0146}}},
8649 { 0x0147, {1, {0x0148}}},
8650 { 0x0149, {2, {0x02bc, 0x006e}}},
8651 { 0x014a, {1, {0x014b}}},
8652 { 0x014c, {1, {0x014d}}},
8653 { 0x014e, {1, {0x014f}}},
8654 { 0x0150, {1, {0x0151}}},
8655 { 0x0152, {1, {0x0153}}},
8656 { 0x0154, {1, {0x0155}}},
8657 { 0x0156, {1, {0x0157}}},
8658 { 0x0158, {1, {0x0159}}},
8659 { 0x015a, {1, {0x015b}}},
8660 { 0x015c, {1, {0x015d}}},
8661 { 0x015e, {1, {0x015f}}},
8662 { 0x0160, {1, {0x0161}}},
8663 { 0x0162, {1, {0x0163}}},
8664 { 0x0164, {1, {0x0165}}},
8665 { 0x0166, {1, {0x0167}}},
8666 { 0x0168, {1, {0x0169}}},
8667 { 0x016a, {1, {0x016b}}},
8668 { 0x016c, {1, {0x016d}}},
8669 { 0x016e, {1, {0x016f}}},
8670 { 0x0170, {1, {0x0171}}},
8671 { 0x0172, {1, {0x0173}}},
8672 { 0x0174, {1, {0x0175}}},
8673 { 0x0176, {1, {0x0177}}},
8674 { 0x0178, {1, {0x00ff}}},
8675 { 0x0179, {1, {0x017a}}},
8676 { 0x017b, {1, {0x017c}}},
8677 { 0x017d, {1, {0x017e}}},
8678 { 0x017f, {1, {0x0073}}},
8679 { 0x0181, {1, {0x0253}}},
8680 { 0x0182, {1, {0x0183}}},
8681 { 0x0184, {1, {0x0185}}},
8682 { 0x0186, {1, {0x0254}}},
8683 { 0x0187, {1, {0x0188}}},
8684 { 0x0189, {1, {0x0256}}},
8685 { 0x018a, {1, {0x0257}}},
8686 { 0x018b, {1, {0x018c}}},
8687 { 0x018e, {1, {0x01dd}}},
8688 { 0x018f, {1, {0x0259}}},
8689 { 0x0190, {1, {0x025b}}},
8690 { 0x0191, {1, {0x0192}}},
8691 { 0x0193, {1, {0x0260}}},
8692 { 0x0194, {1, {0x0263}}},
8693 { 0x0196, {1, {0x0269}}},
8694 { 0x0197, {1, {0x0268}}},
8695 { 0x0198, {1, {0x0199}}},
8696 { 0x019c, {1, {0x026f}}},
8697 { 0x019d, {1, {0x0272}}},
8698 { 0x019f, {1, {0x0275}}},
8699 { 0x01a0, {1, {0x01a1}}},
8700 { 0x01a2, {1, {0x01a3}}},
8701 { 0x01a4, {1, {0x01a5}}},
8702 { 0x01a6, {1, {0x0280}}},
8703 { 0x01a7, {1, {0x01a8}}},
8704 { 0x01a9, {1, {0x0283}}},
8705 { 0x01ac, {1, {0x01ad}}},
8706 { 0x01ae, {1, {0x0288}}},
8707 { 0x01af, {1, {0x01b0}}},
8708 { 0x01b1, {1, {0x028a}}},
8709 { 0x01b2, {1, {0x028b}}},
8710 { 0x01b3, {1, {0x01b4}}},
8711 { 0x01b5, {1, {0x01b6}}},
8712 { 0x01b7, {1, {0x0292}}},
8713 { 0x01b8, {1, {0x01b9}}},
8714 { 0x01bc, {1, {0x01bd}}},
8715 { 0x01c4, {1, {0x01c6}}},
8716 { 0x01c5, {1, {0x01c6}}},
8717 { 0x01c7, {1, {0x01c9}}},
8718 { 0x01c8, {1, {0x01c9}}},
8719 { 0x01ca, {1, {0x01cc}}},
8720 { 0x01cb, {1, {0x01cc}}},
8721 { 0x01cd, {1, {0x01ce}}},
8722 { 0x01cf, {1, {0x01d0}}},
8723 { 0x01d1, {1, {0x01d2}}},
8724 { 0x01d3, {1, {0x01d4}}},
8725 { 0x01d5, {1, {0x01d6}}},
8726 { 0x01d7, {1, {0x01d8}}},
8727 { 0x01d9, {1, {0x01da}}},
8728 { 0x01db, {1, {0x01dc}}},
8729 { 0x01de, {1, {0x01df}}},
8730 { 0x01e0, {1, {0x01e1}}},
8731 { 0x01e2, {1, {0x01e3}}},
8732 { 0x01e4, {1, {0x01e5}}},
8733 { 0x01e6, {1, {0x01e7}}},
8734 { 0x01e8, {1, {0x01e9}}},
8735 { 0x01ea, {1, {0x01eb}}},
8736 { 0x01ec, {1, {0x01ed}}},
8737 { 0x01ee, {1, {0x01ef}}},
8738 { 0x01f0, {2, {0x006a, 0x030c}}},
8739 { 0x01f1, {1, {0x01f3}}},
8740 { 0x01f2, {1, {0x01f3}}},
8741 { 0x01f4, {1, {0x01f5}}},
8742 { 0x01f6, {1, {0x0195}}},
8743 { 0x01f7, {1, {0x01bf}}},
8744 { 0x01f8, {1, {0x01f9}}},
8745 { 0x01fa, {1, {0x01fb}}},
8746 { 0x01fc, {1, {0x01fd}}},
8747 { 0x01fe, {1, {0x01ff}}},
8748 { 0x0200, {1, {0x0201}}},
8749 { 0x0202, {1, {0x0203}}},
8750 { 0x0204, {1, {0x0205}}},
8751 { 0x0206, {1, {0x0207}}},
8752 { 0x0208, {1, {0x0209}}},
8753 { 0x020a, {1, {0x020b}}},
8754 { 0x020c, {1, {0x020d}}},
8755 { 0x020e, {1, {0x020f}}},
8756 { 0x0210, {1, {0x0211}}},
8757 { 0x0212, {1, {0x0213}}},
8758 { 0x0214, {1, {0x0215}}},
8759 { 0x0216, {1, {0x0217}}},
8760 { 0x0218, {1, {0x0219}}},
8761 { 0x021a, {1, {0x021b}}},
8762 { 0x021c, {1, {0x021d}}},
8763 { 0x021e, {1, {0x021f}}},
8764 { 0x0220, {1, {0x019e}}},
8765 { 0x0222, {1, {0x0223}}},
8766 { 0x0224, {1, {0x0225}}},
8767 { 0x0226, {1, {0x0227}}},
8768 { 0x0228, {1, {0x0229}}},
8769 { 0x022a, {1, {0x022b}}},
8770 { 0x022c, {1, {0x022d}}},
8771 { 0x022e, {1, {0x022f}}},
8772 { 0x0230, {1, {0x0231}}},
8773 { 0x0232, {1, {0x0233}}},
8774 { 0x023b, {1, {0x023c}}},
8775 { 0x023d, {1, {0x019a}}},
8776 { 0x0241, {1, {0x0294}}},
8777 { 0x0345, {1, {0x03b9}}},
8778 { 0x0386, {1, {0x03ac}}},
8779 { 0x0388, {1, {0x03ad}}},
8780 { 0x0389, {1, {0x03ae}}},
8781 { 0x038a, {1, {0x03af}}},
8782 { 0x038c, {1, {0x03cc}}},
8783 { 0x038e, {1, {0x03cd}}},
8784 { 0x038f, {1, {0x03ce}}},
8785 { 0x0390, {3, {0x03b9, 0x0308, 0x0301}}},
8786 { 0x0391, {1, {0x03b1}}},
8787 { 0x0392, {1, {0x03b2}}},
8788 { 0x0393, {1, {0x03b3}}},
8789 { 0x0394, {1, {0x03b4}}},
8790 { 0x0395, {1, {0x03b5}}},
8791 { 0x0396, {1, {0x03b6}}},
8792 { 0x0397, {1, {0x03b7}}},
8793 { 0x0398, {1, {0x03b8}}},
8794 { 0x0399, {1, {0x03b9}}},
8795 { 0x039a, {1, {0x03ba}}},
8796 { 0x039b, {1, {0x03bb}}},
8797 { 0x039c, {1, {0x03bc}}},
8798 { 0x039d, {1, {0x03bd}}},
8799 { 0x039e, {1, {0x03be}}},
8800 { 0x039f, {1, {0x03bf}}},
8801 { 0x03a0, {1, {0x03c0}}},
8802 { 0x03a1, {1, {0x03c1}}},
8803 { 0x03a3, {1, {0x03c3}}},
8804 { 0x03a4, {1, {0x03c4}}},
8805 { 0x03a5, {1, {0x03c5}}},
8806 { 0x03a6, {1, {0x03c6}}},
8807 { 0x03a7, {1, {0x03c7}}},
8808 { 0x03a8, {1, {0x03c8}}},
8809 { 0x03a9, {1, {0x03c9}}},
8810 { 0x03aa, {1, {0x03ca}}},
8811 { 0x03ab, {1, {0x03cb}}},
8812 { 0x03b0, {3, {0x03c5, 0x0308, 0x0301}}},
8813 { 0x03c2, {1, {0x03c3}}},
8814 { 0x03d0, {1, {0x03b2}}},
8815 { 0x03d1, {1, {0x03b8}}},
8816 { 0x03d5, {1, {0x03c6}}},
8817 { 0x03d6, {1, {0x03c0}}},
8818 { 0x03d8, {1, {0x03d9}}},
8819 { 0x03da, {1, {0x03db}}},
8820 { 0x03dc, {1, {0x03dd}}},
8821 { 0x03de, {1, {0x03df}}},
8822 { 0x03e0, {1, {0x03e1}}},
8823 { 0x03e2, {1, {0x03e3}}},
8824 { 0x03e4, {1, {0x03e5}}},
8825 { 0x03e6, {1, {0x03e7}}},
8826 { 0x03e8, {1, {0x03e9}}},
8827 { 0x03ea, {1, {0x03eb}}},
8828 { 0x03ec, {1, {0x03ed}}},
8829 { 0x03ee, {1, {0x03ef}}},
8830 { 0x03f0, {1, {0x03ba}}},
8831 { 0x03f1, {1, {0x03c1}}},
8832 { 0x03f4, {1, {0x03b8}}},
8833 { 0x03f5, {1, {0x03b5}}},
8834 { 0x03f7, {1, {0x03f8}}},
8835 { 0x03f9, {1, {0x03f2}}},
8836 { 0x03fa, {1, {0x03fb}}},
8837 { 0x0400, {1, {0x0450}}},
8838 { 0x0401, {1, {0x0451}}},
8839 { 0x0402, {1, {0x0452}}},
8840 { 0x0403, {1, {0x0453}}},
8841 { 0x0404, {1, {0x0454}}},
8842 { 0x0405, {1, {0x0455}}},
8843 { 0x0406, {1, {0x0456}}},
8844 { 0x0407, {1, {0x0457}}},
8845 { 0x0408, {1, {0x0458}}},
8846 { 0x0409, {1, {0x0459}}},
8847 { 0x040a, {1, {0x045a}}},
8848 { 0x040b, {1, {0x045b}}},
8849 { 0x040c, {1, {0x045c}}},
8850 { 0x040d, {1, {0x045d}}},
8851 { 0x040e, {1, {0x045e}}},
8852 { 0x040f, {1, {0x045f}}},
8853 { 0x0410, {1, {0x0430}}},
8854 { 0x0411, {1, {0x0431}}},
8855 { 0x0412, {1, {0x0432}}},
8856 { 0x0413, {1, {0x0433}}},
8857 { 0x0414, {1, {0x0434}}},
8858 { 0x0415, {1, {0x0435}}},
8859 { 0x0416, {1, {0x0436}}},
8860 { 0x0417, {1, {0x0437}}},
8861 { 0x0418, {1, {0x0438}}},
8862 { 0x0419, {1, {0x0439}}},
8863 { 0x041a, {1, {0x043a}}},
8864 { 0x041b, {1, {0x043b}}},
8865 { 0x041c, {1, {0x043c}}},
8866 { 0x041d, {1, {0x043d}}},
8867 { 0x041e, {1, {0x043e}}},
8868 { 0x041f, {1, {0x043f}}},
8869 { 0x0420, {1, {0x0440}}},
8870 { 0x0421, {1, {0x0441}}},
8871 { 0x0422, {1, {0x0442}}},
8872 { 0x0423, {1, {0x0443}}},
8873 { 0x0424, {1, {0x0444}}},
8874 { 0x0425, {1, {0x0445}}},
8875 { 0x0426, {1, {0x0446}}},
8876 { 0x0427, {1, {0x0447}}},
8877 { 0x0428, {1, {0x0448}}},
8878 { 0x0429, {1, {0x0449}}},
8879 { 0x042a, {1, {0x044a}}},
8880 { 0x042b, {1, {0x044b}}},
8881 { 0x042c, {1, {0x044c}}},
8882 { 0x042d, {1, {0x044d}}},
8883 { 0x042e, {1, {0x044e}}},
8884 { 0x042f, {1, {0x044f}}},
8885 { 0x0460, {1, {0x0461}}},
8886 { 0x0462, {1, {0x0463}}},
8887 { 0x0464, {1, {0x0465}}},
8888 { 0x0466, {1, {0x0467}}},
8889 { 0x0468, {1, {0x0469}}},
8890 { 0x046a, {1, {0x046b}}},
8891 { 0x046c, {1, {0x046d}}},
8892 { 0x046e, {1, {0x046f}}},
8893 { 0x0470, {1, {0x0471}}},
8894 { 0x0472, {1, {0x0473}}},
8895 { 0x0474, {1, {0x0475}}},
8896 { 0x0476, {1, {0x0477}}},
8897 { 0x0478, {1, {0x0479}}},
8898 { 0x047a, {1, {0x047b}}},
8899 { 0x047c, {1, {0x047d}}},
8900 { 0x047e, {1, {0x047f}}},
8901 { 0x0480, {1, {0x0481}}},
8902 { 0x048a, {1, {0x048b}}},
8903 { 0x048c, {1, {0x048d}}},
8904 { 0x048e, {1, {0x048f}}},
8905 { 0x0490, {1, {0x0491}}},
8906 { 0x0492, {1, {0x0493}}},
8907 { 0x0494, {1, {0x0495}}},
8908 { 0x0496, {1, {0x0497}}},
8909 { 0x0498, {1, {0x0499}}},
8910 { 0x049a, {1, {0x049b}}},
8911 { 0x049c, {1, {0x049d}}},
8912 { 0x049e, {1, {0x049f}}},
8913 { 0x04a0, {1, {0x04a1}}},
8914 { 0x04a2, {1, {0x04a3}}},
8915 { 0x04a4, {1, {0x04a5}}},
8916 { 0x04a6, {1, {0x04a7}}},
8917 { 0x04a8, {1, {0x04a9}}},
8918 { 0x04aa, {1, {0x04ab}}},
8919 { 0x04ac, {1, {0x04ad}}},
8920 { 0x04ae, {1, {0x04af}}},
8921 { 0x04b0, {1, {0x04b1}}},
8922 { 0x04b2, {1, {0x04b3}}},
8923 { 0x04b4, {1, {0x04b5}}},
8924 { 0x04b6, {1, {0x04b7}}},
8925 { 0x04b8, {1, {0x04b9}}},
8926 { 0x04ba, {1, {0x04bb}}},
8927 { 0x04bc, {1, {0x04bd}}},
8928 { 0x04be, {1, {0x04bf}}},
8929 { 0x04c1, {1, {0x04c2}}},
8930 { 0x04c3, {1, {0x04c4}}},
8931 { 0x04c5, {1, {0x04c6}}},
8932 { 0x04c7, {1, {0x04c8}}},
8933 { 0x04c9, {1, {0x04ca}}},
8934 { 0x04cb, {1, {0x04cc}}},
8935 { 0x04cd, {1, {0x04ce}}},
8936 { 0x04d0, {1, {0x04d1}}},
8937 { 0x04d2, {1, {0x04d3}}},
8938 { 0x04d4, {1, {0x04d5}}},
8939 { 0x04d6, {1, {0x04d7}}},
8940 { 0x04d8, {1, {0x04d9}}},
8941 { 0x04da, {1, {0x04db}}},
8942 { 0x04dc, {1, {0x04dd}}},
8943 { 0x04de, {1, {0x04df}}},
8944 { 0x04e0, {1, {0x04e1}}},
8945 { 0x04e2, {1, {0x04e3}}},
8946 { 0x04e4, {1, {0x04e5}}},
8947 { 0x04e6, {1, {0x04e7}}},
8948 { 0x04e8, {1, {0x04e9}}},
8949 { 0x04ea, {1, {0x04eb}}},
8950 { 0x04ec, {1, {0x04ed}}},
8951 { 0x04ee, {1, {0x04ef}}},
8952 { 0x04f0, {1, {0x04f1}}},
8953 { 0x04f2, {1, {0x04f3}}},
8954 { 0x04f4, {1, {0x04f5}}},
8955 { 0x04f6, {1, {0x04f7}}},
8956 { 0x04f8, {1, {0x04f9}}},
8957 { 0x0500, {1, {0x0501}}},
8958 { 0x0502, {1, {0x0503}}},
8959 { 0x0504, {1, {0x0505}}},
8960 { 0x0506, {1, {0x0507}}},
8961 { 0x0508, {1, {0x0509}}},
8962 { 0x050a, {1, {0x050b}}},
8963 { 0x050c, {1, {0x050d}}},
8964 { 0x050e, {1, {0x050f}}},
8965 { 0x0531, {1, {0x0561}}},
8966 { 0x0532, {1, {0x0562}}},
8967 { 0x0533, {1, {0x0563}}},
8968 { 0x0534, {1, {0x0564}}},
8969 { 0x0535, {1, {0x0565}}},
8970 { 0x0536, {1, {0x0566}}},
8971 { 0x0537, {1, {0x0567}}},
8972 { 0x0538, {1, {0x0568}}},
8973 { 0x0539, {1, {0x0569}}},
8974 { 0x053a, {1, {0x056a}}},
8975 { 0x053b, {1, {0x056b}}},
8976 { 0x053c, {1, {0x056c}}},
8977 { 0x053d, {1, {0x056d}}},
8978 { 0x053e, {1, {0x056e}}},
8979 { 0x053f, {1, {0x056f}}},
8980 { 0x0540, {1, {0x0570}}},
8981 { 0x0541, {1, {0x0571}}},
8982 { 0x0542, {1, {0x0572}}},
8983 { 0x0543, {1, {0x0573}}},
8984 { 0x0544, {1, {0x0574}}},
8985 { 0x0545, {1, {0x0575}}},
8986 { 0x0546, {1, {0x0576}}},
8987 { 0x0547, {1, {0x0577}}},
8988 { 0x0548, {1, {0x0578}}},
8989 { 0x0549, {1, {0x0579}}},
8990 { 0x054a, {1, {0x057a}}},
8991 { 0x054b, {1, {0x057b}}},
8992 { 0x054c, {1, {0x057c}}},
8993 { 0x054d, {1, {0x057d}}},
8994 { 0x054e, {1, {0x057e}}},
8995 { 0x054f, {1, {0x057f}}},
8996 { 0x0550, {1, {0x0580}}},
8997 { 0x0551, {1, {0x0581}}},
8998 { 0x0552, {1, {0x0582}}},
8999 { 0x0553, {1, {0x0583}}},
9000 { 0x0554, {1, {0x0584}}},
9001 { 0x0555, {1, {0x0585}}},
9002 { 0x0556, {1, {0x0586}}},
9003 { 0x0587, {2, {0x0565, 0x0582}}},
9004 { 0x10a0, {1, {0x2d00}}},
9005 { 0x10a1, {1, {0x2d01}}},
9006 { 0x10a2, {1, {0x2d02}}},
9007 { 0x10a3, {1, {0x2d03}}},
9008 { 0x10a4, {1, {0x2d04}}},
9009 { 0x10a5, {1, {0x2d05}}},
9010 { 0x10a6, {1, {0x2d06}}},
9011 { 0x10a7, {1, {0x2d07}}},
9012 { 0x10a8, {1, {0x2d08}}},
9013 { 0x10a9, {1, {0x2d09}}},
9014 { 0x10aa, {1, {0x2d0a}}},
9015 { 0x10ab, {1, {0x2d0b}}},
9016 { 0x10ac, {1, {0x2d0c}}},
9017 { 0x10ad, {1, {0x2d0d}}},
9018 { 0x10ae, {1, {0x2d0e}}},
9019 { 0x10af, {1, {0x2d0f}}},
9020 { 0x10b0, {1, {0x2d10}}},
9021 { 0x10b1, {1, {0x2d11}}},
9022 { 0x10b2, {1, {0x2d12}}},
9023 { 0x10b3, {1, {0x2d13}}},
9024 { 0x10b4, {1, {0x2d14}}},
9025 { 0x10b5, {1, {0x2d15}}},
9026 { 0x10b6, {1, {0x2d16}}},
9027 { 0x10b7, {1, {0x2d17}}},
9028 { 0x10b8, {1, {0x2d18}}},
9029 { 0x10b9, {1, {0x2d19}}},
9030 { 0x10ba, {1, {0x2d1a}}},
9031 { 0x10bb, {1, {0x2d1b}}},
9032 { 0x10bc, {1, {0x2d1c}}},
9033 { 0x10bd, {1, {0x2d1d}}},
9034 { 0x10be, {1, {0x2d1e}}},
9035 { 0x10bf, {1, {0x2d1f}}},
9036 { 0x10c0, {1, {0x2d20}}},
9037 { 0x10c1, {1, {0x2d21}}},
9038 { 0x10c2, {1, {0x2d22}}},
9039 { 0x10c3, {1, {0x2d23}}},
9040 { 0x10c4, {1, {0x2d24}}},
9041 { 0x10c5, {1, {0x2d25}}},
9042 { 0x1e00, {1, {0x1e01}}},
9043 { 0x1e02, {1, {0x1e03}}},
9044 { 0x1e04, {1, {0x1e05}}},
9045 { 0x1e06, {1, {0x1e07}}},
9046 { 0x1e08, {1, {0x1e09}}},
9047 { 0x1e0a, {1, {0x1e0b}}},
9048 { 0x1e0c, {1, {0x1e0d}}},
9049 { 0x1e0e, {1, {0x1e0f}}},
9050 { 0x1e10, {1, {0x1e11}}},
9051 { 0x1e12, {1, {0x1e13}}},
9052 { 0x1e14, {1, {0x1e15}}},
9053 { 0x1e16, {1, {0x1e17}}},
9054 { 0x1e18, {1, {0x1e19}}},
9055 { 0x1e1a, {1, {0x1e1b}}},
9056 { 0x1e1c, {1, {0x1e1d}}},
9057 { 0x1e1e, {1, {0x1e1f}}},
9058 { 0x1e20, {1, {0x1e21}}},
9059 { 0x1e22, {1, {0x1e23}}},
9060 { 0x1e24, {1, {0x1e25}}},
9061 { 0x1e26, {1, {0x1e27}}},
9062 { 0x1e28, {1, {0x1e29}}},
9063 { 0x1e2a, {1, {0x1e2b}}},
9064 { 0x1e2c, {1, {0x1e2d}}},
9065 { 0x1e2e, {1, {0x1e2f}}},
9066 { 0x1e30, {1, {0x1e31}}},
9067 { 0x1e32, {1, {0x1e33}}},
9068 { 0x1e34, {1, {0x1e35}}},
9069 { 0x1e36, {1, {0x1e37}}},
9070 { 0x1e38, {1, {0x1e39}}},
9071 { 0x1e3a, {1, {0x1e3b}}},
9072 { 0x1e3c, {1, {0x1e3d}}},
9073 { 0x1e3e, {1, {0x1e3f}}},
9074 { 0x1e40, {1, {0x1e41}}},
9075 { 0x1e42, {1, {0x1e43}}},
9076 { 0x1e44, {1, {0x1e45}}},
9077 { 0x1e46, {1, {0x1e47}}},
9078 { 0x1e48, {1, {0x1e49}}},
9079 { 0x1e4a, {1, {0x1e4b}}},
9080 { 0x1e4c, {1, {0x1e4d}}},
9081 { 0x1e4e, {1, {0x1e4f}}},
9082 { 0x1e50, {1, {0x1e51}}},
9083 { 0x1e52, {1, {0x1e53}}},
9084 { 0x1e54, {1, {0x1e55}}},
9085 { 0x1e56, {1, {0x1e57}}},
9086 { 0x1e58, {1, {0x1e59}}},
9087 { 0x1e5a, {1, {0x1e5b}}},
9088 { 0x1e5c, {1, {0x1e5d}}},
9089 { 0x1e5e, {1, {0x1e5f}}},
9090 { 0x1e60, {1, {0x1e61}}},
9091 { 0x1e62, {1, {0x1e63}}},
9092 { 0x1e64, {1, {0x1e65}}},
9093 { 0x1e66, {1, {0x1e67}}},
9094 { 0x1e68, {1, {0x1e69}}},
9095 { 0x1e6a, {1, {0x1e6b}}},
9096 { 0x1e6c, {1, {0x1e6d}}},
9097 { 0x1e6e, {1, {0x1e6f}}},
9098 { 0x1e70, {1, {0x1e71}}},
9099 { 0x1e72, {1, {0x1e73}}},
9100 { 0x1e74, {1, {0x1e75}}},
9101 { 0x1e76, {1, {0x1e77}}},
9102 { 0x1e78, {1, {0x1e79}}},
9103 { 0x1e7a, {1, {0x1e7b}}},
9104 { 0x1e7c, {1, {0x1e7d}}},
9105 { 0x1e7e, {1, {0x1e7f}}},
9106 { 0x1e80, {1, {0x1e81}}},
9107 { 0x1e82, {1, {0x1e83}}},
9108 { 0x1e84, {1, {0x1e85}}},
9109 { 0x1e86, {1, {0x1e87}}},
9110 { 0x1e88, {1, {0x1e89}}},
9111 { 0x1e8a, {1, {0x1e8b}}},
9112 { 0x1e8c, {1, {0x1e8d}}},
9113 { 0x1e8e, {1, {0x1e8f}}},
9114 { 0x1e90, {1, {0x1e91}}},
9115 { 0x1e92, {1, {0x1e93}}},
9116 { 0x1e94, {1, {0x1e95}}},
9117 { 0x1e96, {2, {0x0068, 0x0331}}},
9118 { 0x1e97, {2, {0x0074, 0x0308}}},
9119 { 0x1e98, {2, {0x0077, 0x030a}}},
9120 { 0x1e99, {2, {0x0079, 0x030a}}},
9121 { 0x1e9a, {2, {0x0061, 0x02be}}},
9122 { 0x1e9b, {1, {0x1e61}}},
9123 { 0x1ea0, {1, {0x1ea1}}},
9124 { 0x1ea2, {1, {0x1ea3}}},
9125 { 0x1ea4, {1, {0x1ea5}}},
9126 { 0x1ea6, {1, {0x1ea7}}},
9127 { 0x1ea8, {1, {0x1ea9}}},
9128 { 0x1eaa, {1, {0x1eab}}},
9129 { 0x1eac, {1, {0x1ead}}},
9130 { 0x1eae, {1, {0x1eaf}}},
9131 { 0x1eb0, {1, {0x1eb1}}},
9132 { 0x1eb2, {1, {0x1eb3}}},
9133 { 0x1eb4, {1, {0x1eb5}}},
9134 { 0x1eb6, {1, {0x1eb7}}},
9135 { 0x1eb8, {1, {0x1eb9}}},
9136 { 0x1eba, {1, {0x1ebb}}},
9137 { 0x1ebc, {1, {0x1ebd}}},
9138 { 0x1ebe, {1, {0x1ebf}}},
9139 { 0x1ec0, {1, {0x1ec1}}},
9140 { 0x1ec2, {1, {0x1ec3}}},
9141 { 0x1ec4, {1, {0x1ec5}}},
9142 { 0x1ec6, {1, {0x1ec7}}},
9143 { 0x1ec8, {1, {0x1ec9}}},
9144 { 0x1eca, {1, {0x1ecb}}},
9145 { 0x1ecc, {1, {0x1ecd}}},
9146 { 0x1ece, {1, {0x1ecf}}},
9147 { 0x1ed0, {1, {0x1ed1}}},
9148 { 0x1ed2, {1, {0x1ed3}}},
9149 { 0x1ed4, {1, {0x1ed5}}},
9150 { 0x1ed6, {1, {0x1ed7}}},
9151 { 0x1ed8, {1, {0x1ed9}}},
9152 { 0x1eda, {1, {0x1edb}}},
9153 { 0x1edc, {1, {0x1edd}}},
9154 { 0x1ede, {1, {0x1edf}}},
9155 { 0x1ee0, {1, {0x1ee1}}},
9156 { 0x1ee2, {1, {0x1ee3}}},
9157 { 0x1ee4, {1, {0x1ee5}}},
9158 { 0x1ee6, {1, {0x1ee7}}},
9159 { 0x1ee8, {1, {0x1ee9}}},
9160 { 0x1eea, {1, {0x1eeb}}},
9161 { 0x1eec, {1, {0x1eed}}},
9162 { 0x1eee, {1, {0x1eef}}},
9163 { 0x1ef0, {1, {0x1ef1}}},
9164 { 0x1ef2, {1, {0x1ef3}}},
9165 { 0x1ef4, {1, {0x1ef5}}},
9166 { 0x1ef6, {1, {0x1ef7}}},
9167 { 0x1ef8, {1, {0x1ef9}}},
9168 { 0x1f08, {1, {0x1f00}}},
9169 { 0x1f09, {1, {0x1f01}}},
9170 { 0x1f0a, {1, {0x1f02}}},
9171 { 0x1f0b, {1, {0x1f03}}},
9172 { 0x1f0c, {1, {0x1f04}}},
9173 { 0x1f0d, {1, {0x1f05}}},
9174 { 0x1f0e, {1, {0x1f06}}},
9175 { 0x1f0f, {1, {0x1f07}}},
9176 { 0x1f18, {1, {0x1f10}}},
9177 { 0x1f19, {1, {0x1f11}}},
9178 { 0x1f1a, {1, {0x1f12}}},
9179 { 0x1f1b, {1, {0x1f13}}},
9180 { 0x1f1c, {1, {0x1f14}}},
9181 { 0x1f1d, {1, {0x1f15}}},
9182 { 0x1f28, {1, {0x1f20}}},
9183 { 0x1f29, {1, {0x1f21}}},
9184 { 0x1f2a, {1, {0x1f22}}},
9185 { 0x1f2b, {1, {0x1f23}}},
9186 { 0x1f2c, {1, {0x1f24}}},
9187 { 0x1f2d, {1, {0x1f25}}},
9188 { 0x1f2e, {1, {0x1f26}}},
9189 { 0x1f2f, {1, {0x1f27}}},
9190 { 0x1f38, {1, {0x1f30}}},
9191 { 0x1f39, {1, {0x1f31}}},
9192 { 0x1f3a, {1, {0x1f32}}},
9193 { 0x1f3b, {1, {0x1f33}}},
9194 { 0x1f3c, {1, {0x1f34}}},
9195 { 0x1f3d, {1, {0x1f35}}},
9196 { 0x1f3e, {1, {0x1f36}}},
9197 { 0x1f3f, {1, {0x1f37}}},
9198 { 0x1f48, {1, {0x1f40}}},
9199 { 0x1f49, {1, {0x1f41}}},
9200 { 0x1f4a, {1, {0x1f42}}},
9201 { 0x1f4b, {1, {0x1f43}}},
9202 { 0x1f4c, {1, {0x1f44}}},
9203 { 0x1f4d, {1, {0x1f45}}},
9204 { 0x1f50, {2, {0x03c5, 0x0313}}},
9205 { 0x1f52, {3, {0x03c5, 0x0313, 0x0300}}},
9206 { 0x1f54, {3, {0x03c5, 0x0313, 0x0301}}},
9207 { 0x1f56, {3, {0x03c5, 0x0313, 0x0342}}},
9208 { 0x1f59, {1, {0x1f51}}},
9209 { 0x1f5b, {1, {0x1f53}}},
9210 { 0x1f5d, {1, {0x1f55}}},
9211 { 0x1f5f, {1, {0x1f57}}},
9212 { 0x1f68, {1, {0x1f60}}},
9213 { 0x1f69, {1, {0x1f61}}},
9214 { 0x1f6a, {1, {0x1f62}}},
9215 { 0x1f6b, {1, {0x1f63}}},
9216 { 0x1f6c, {1, {0x1f64}}},
9217 { 0x1f6d, {1, {0x1f65}}},
9218 { 0x1f6e, {1, {0x1f66}}},
9219 { 0x1f6f, {1, {0x1f67}}},
9220 { 0x1f80, {2, {0x1f00, 0x03b9}}},
9221 { 0x1f81, {2, {0x1f01, 0x03b9}}},
9222 { 0x1f82, {2, {0x1f02, 0x03b9}}},
9223 { 0x1f83, {2, {0x1f03, 0x03b9}}},
9224 { 0x1f84, {2, {0x1f04, 0x03b9}}},
9225 { 0x1f85, {2, {0x1f05, 0x03b9}}},
9226 { 0x1f86, {2, {0x1f06, 0x03b9}}},
9227 { 0x1f87, {2, {0x1f07, 0x03b9}}},
9228 { 0x1f88, {2, {0x1f00, 0x03b9}}},
9229 { 0x1f89, {2, {0x1f01, 0x03b9}}},
9230 { 0x1f8a, {2, {0x1f02, 0x03b9}}},
9231 { 0x1f8b, {2, {0x1f03, 0x03b9}}},
9232 { 0x1f8c, {2, {0x1f04, 0x03b9}}},
9233 { 0x1f8d, {2, {0x1f05, 0x03b9}}},
9234 { 0x1f8e, {2, {0x1f06, 0x03b9}}},
9235 { 0x1f8f, {2, {0x1f07, 0x03b9}}},
9236 { 0x1f90, {2, {0x1f20, 0x03b9}}},
9237 { 0x1f91, {2, {0x1f21, 0x03b9}}},
9238 { 0x1f92, {2, {0x1f22, 0x03b9}}},
9239 { 0x1f93, {2, {0x1f23, 0x03b9}}},
9240 { 0x1f94, {2, {0x1f24, 0x03b9}}},
9241 { 0x1f95, {2, {0x1f25, 0x03b9}}},
9242 { 0x1f96, {2, {0x1f26, 0x03b9}}},
9243 { 0x1f97, {2, {0x1f27, 0x03b9}}},
9244 { 0x1f98, {2, {0x1f20, 0x03b9}}},
9245 { 0x1f99, {2, {0x1f21, 0x03b9}}},
9246 { 0x1f9a, {2, {0x1f22, 0x03b9}}},
9247 { 0x1f9b, {2, {0x1f23, 0x03b9}}},
9248 { 0x1f9c, {2, {0x1f24, 0x03b9}}},
9249 { 0x1f9d, {2, {0x1f25, 0x03b9}}},
9250 { 0x1f9e, {2, {0x1f26, 0x03b9}}},
9251 { 0x1f9f, {2, {0x1f27, 0x03b9}}},
9252 { 0x1fa0, {2, {0x1f60, 0x03b9}}},
9253 { 0x1fa1, {2, {0x1f61, 0x03b9}}},
9254 { 0x1fa2, {2, {0x1f62, 0x03b9}}},
9255 { 0x1fa3, {2, {0x1f63, 0x03b9}}},
9256 { 0x1fa4, {2, {0x1f64, 0x03b9}}},
9257 { 0x1fa5, {2, {0x1f65, 0x03b9}}},
9258 { 0x1fa6, {2, {0x1f66, 0x03b9}}},
9259 { 0x1fa7, {2, {0x1f67, 0x03b9}}},
9260 { 0x1fa8, {2, {0x1f60, 0x03b9}}},
9261 { 0x1fa9, {2, {0x1f61, 0x03b9}}},
9262 { 0x1faa, {2, {0x1f62, 0x03b9}}},
9263 { 0x1fab, {2, {0x1f63, 0x03b9}}},
9264 { 0x1fac, {2, {0x1f64, 0x03b9}}},
9265 { 0x1fad, {2, {0x1f65, 0x03b9}}},
9266 { 0x1fae, {2, {0x1f66, 0x03b9}}},
9267 { 0x1faf, {2, {0x1f67, 0x03b9}}},
9268 { 0x1fb2, {2, {0x1f70, 0x03b9}}},
9269 { 0x1fb3, {2, {0x03b1, 0x03b9}}},
9270 { 0x1fb4, {2, {0x03ac, 0x03b9}}},
9271 { 0x1fb6, {2, {0x03b1, 0x0342}}},
9272 { 0x1fb7, {3, {0x03b1, 0x0342, 0x03b9}}},
9273 { 0x1fb8, {1, {0x1fb0}}},
9274 { 0x1fb9, {1, {0x1fb1}}},
9275 { 0x1fba, {1, {0x1f70}}},
9276 { 0x1fbb, {1, {0x1f71}}},
9277 { 0x1fbc, {2, {0x03b1, 0x03b9}}},
9278 { 0x1fbe, {1, {0x03b9}}},
9279 { 0x1fc2, {2, {0x1f74, 0x03b9}}},
9280 { 0x1fc3, {2, {0x03b7, 0x03b9}}},
9281 { 0x1fc4, {2, {0x03ae, 0x03b9}}},
9282 { 0x1fc6, {2, {0x03b7, 0x0342}}},
9283 { 0x1fc7, {3, {0x03b7, 0x0342, 0x03b9}}},
9284 { 0x1fc8, {1, {0x1f72}}},
9285 { 0x1fc9, {1, {0x1f73}}},
9286 { 0x1fca, {1, {0x1f74}}},
9287 { 0x1fcb, {1, {0x1f75}}},
9288 { 0x1fcc, {2, {0x03b7, 0x03b9}}},
9289 { 0x1fd2, {3, {0x03b9, 0x0308, 0x0300}}},
9290 { 0x1fd3, {3, {0x03b9, 0x0308, 0x0301}}},
9291 { 0x1fd6, {2, {0x03b9, 0x0342}}},
9292 { 0x1fd7, {3, {0x03b9, 0x0308, 0x0342}}},
9293 { 0x1fd8, {1, {0x1fd0}}},
9294 { 0x1fd9, {1, {0x1fd1}}},
9295 { 0x1fda, {1, {0x1f76}}},
9296 { 0x1fdb, {1, {0x1f77}}},
9297 { 0x1fe2, {3, {0x03c5, 0x0308, 0x0300}}},
9298 { 0x1fe3, {3, {0x03c5, 0x0308, 0x0301}}},
9299 { 0x1fe4, {2, {0x03c1, 0x0313}}},
9300 { 0x1fe6, {2, {0x03c5, 0x0342}}},
9301 { 0x1fe7, {3, {0x03c5, 0x0308, 0x0342}}},
9302 { 0x1fe8, {1, {0x1fe0}}},
9303 { 0x1fe9, {1, {0x1fe1}}},
9304 { 0x1fea, {1, {0x1f7a}}},
9305 { 0x1feb, {1, {0x1f7b}}},
9306 { 0x1fec, {1, {0x1fe5}}},
9307 { 0x1ff2, {2, {0x1f7c, 0x03b9}}},
9308 { 0x1ff3, {2, {0x03c9, 0x03b9}}},
9309 { 0x1ff4, {2, {0x03ce, 0x03b9}}},
9310 { 0x1ff6, {2, {0x03c9, 0x0342}}},
9311 { 0x1ff7, {3, {0x03c9, 0x0342, 0x03b9}}},
9312 { 0x1ff8, {1, {0x1f78}}},
9313 { 0x1ff9, {1, {0x1f79}}},
9314 { 0x1ffa, {1, {0x1f7c}}},
9315 { 0x1ffb, {1, {0x1f7d}}},
9316 { 0x1ffc, {2, {0x03c9, 0x03b9}}},
9317 { 0x2126, {1, {0x03c9}}},
9318 { 0x212a, {1, {0x006b}}},
9319 { 0x212b, {1, {0x00e5}}},
9320 { 0x2160, {1, {0x2170}}},
9321 { 0x2161, {1, {0x2171}}},
9322 { 0x2162, {1, {0x2172}}},
9323 { 0x2163, {1, {0x2173}}},
9324 { 0x2164, {1, {0x2174}}},
9325 { 0x2165, {1, {0x2175}}},
9326 { 0x2166, {1, {0x2176}}},
9327 { 0x2167, {1, {0x2177}}},
9328 { 0x2168, {1, {0x2178}}},
9329 { 0x2169, {1, {0x2179}}},
9330 { 0x216a, {1, {0x217a}}},
9331 { 0x216b, {1, {0x217b}}},
9332 { 0x216c, {1, {0x217c}}},
9333 { 0x216d, {1, {0x217d}}},
9334 { 0x216e, {1, {0x217e}}},
9335 { 0x216f, {1, {0x217f}}},
9336 { 0x24b6, {1, {0x24d0}}},
9337 { 0x24b7, {1, {0x24d1}}},
9338 { 0x24b8, {1, {0x24d2}}},
9339 { 0x24b9, {1, {0x24d3}}},
9340 { 0x24ba, {1, {0x24d4}}},
9341 { 0x24bb, {1, {0x24d5}}},
9342 { 0x24bc, {1, {0x24d6}}},
9343 { 0x24bd, {1, {0x24d7}}},
9344 { 0x24be, {1, {0x24d8}}},
9345 { 0x24bf, {1, {0x24d9}}},
9346 { 0x24c0, {1, {0x24da}}},
9347 { 0x24c1, {1, {0x24db}}},
9348 { 0x24c2, {1, {0x24dc}}},
9349 { 0x24c3, {1, {0x24dd}}},
9350 { 0x24c4, {1, {0x24de}}},
9351 { 0x24c5, {1, {0x24df}}},
9352 { 0x24c6, {1, {0x24e0}}},
9353 { 0x24c7, {1, {0x24e1}}},
9354 { 0x24c8, {1, {0x24e2}}},
9355 { 0x24c9, {1, {0x24e3}}},
9356 { 0x24ca, {1, {0x24e4}}},
9357 { 0x24cb, {1, {0x24e5}}},
9358 { 0x24cc, {1, {0x24e6}}},
9359 { 0x24cd, {1, {0x24e7}}},
9360 { 0x24ce, {1, {0x24e8}}},
9361 { 0x24cf, {1, {0x24e9}}},
9362 { 0x2c00, {1, {0x2c30}}},
9363 { 0x2c01, {1, {0x2c31}}},
9364 { 0x2c02, {1, {0x2c32}}},
9365 { 0x2c03, {1, {0x2c33}}},
9366 { 0x2c04, {1, {0x2c34}}},
9367 { 0x2c05, {1, {0x2c35}}},
9368 { 0x2c06, {1, {0x2c36}}},
9369 { 0x2c07, {1, {0x2c37}}},
9370 { 0x2c08, {1, {0x2c38}}},
9371 { 0x2c09, {1, {0x2c39}}},
9372 { 0x2c0a, {1, {0x2c3a}}},
9373 { 0x2c0b, {1, {0x2c3b}}},
9374 { 0x2c0c, {1, {0x2c3c}}},
9375 { 0x2c0d, {1, {0x2c3d}}},
9376 { 0x2c0e, {1, {0x2c3e}}},
9377 { 0x2c0f, {1, {0x2c3f}}},
9378 { 0x2c10, {1, {0x2c40}}},
9379 { 0x2c11, {1, {0x2c41}}},
9380 { 0x2c12, {1, {0x2c42}}},
9381 { 0x2c13, {1, {0x2c43}}},
9382 { 0x2c14, {1, {0x2c44}}},
9383 { 0x2c15, {1, {0x2c45}}},
9384 { 0x2c16, {1, {0x2c46}}},
9385 { 0x2c17, {1, {0x2c47}}},
9386 { 0x2c18, {1, {0x2c48}}},
9387 { 0x2c19, {1, {0x2c49}}},
9388 { 0x2c1a, {1, {0x2c4a}}},
9389 { 0x2c1b, {1, {0x2c4b}}},
9390 { 0x2c1c, {1, {0x2c4c}}},
9391 { 0x2c1d, {1, {0x2c4d}}},
9392 { 0x2c1e, {1, {0x2c4e}}},
9393 { 0x2c1f, {1, {0x2c4f}}},
9394 { 0x2c20, {1, {0x2c50}}},
9395 { 0x2c21, {1, {0x2c51}}},
9396 { 0x2c22, {1, {0x2c52}}},
9397 { 0x2c23, {1, {0x2c53}}},
9398 { 0x2c24, {1, {0x2c54}}},
9399 { 0x2c25, {1, {0x2c55}}},
9400 { 0x2c26, {1, {0x2c56}}},
9401 { 0x2c27, {1, {0x2c57}}},
9402 { 0x2c28, {1, {0x2c58}}},
9403 { 0x2c29, {1, {0x2c59}}},
9404 { 0x2c2a, {1, {0x2c5a}}},
9405 { 0x2c2b, {1, {0x2c5b}}},
9406 { 0x2c2c, {1, {0x2c5c}}},
9407 { 0x2c2d, {1, {0x2c5d}}},
9408 { 0x2c2e, {1, {0x2c5e}}},
9409 { 0x2c80, {1, {0x2c81}}},
9410 { 0x2c82, {1, {0x2c83}}},
9411 { 0x2c84, {1, {0x2c85}}},
9412 { 0x2c86, {1, {0x2c87}}},
9413 { 0x2c88, {1, {0x2c89}}},
9414 { 0x2c8a, {1, {0x2c8b}}},
9415 { 0x2c8c, {1, {0x2c8d}}},
9416 { 0x2c8e, {1, {0x2c8f}}},
9417 { 0x2c90, {1, {0x2c91}}},
9418 { 0x2c92, {1, {0x2c93}}},
9419 { 0x2c94, {1, {0x2c95}}},
9420 { 0x2c96, {1, {0x2c97}}},
9421 { 0x2c98, {1, {0x2c99}}},
9422 { 0x2c9a, {1, {0x2c9b}}},
9423 { 0x2c9c, {1, {0x2c9d}}},
9424 { 0x2c9e, {1, {0x2c9f}}},
9425 { 0x2ca0, {1, {0x2ca1}}},
9426 { 0x2ca2, {1, {0x2ca3}}},
9427 { 0x2ca4, {1, {0x2ca5}}},
9428 { 0x2ca6, {1, {0x2ca7}}},
9429 { 0x2ca8, {1, {0x2ca9}}},
9430 { 0x2caa, {1, {0x2cab}}},
9431 { 0x2cac, {1, {0x2cad}}},
9432 { 0x2cae, {1, {0x2caf}}},
9433 { 0x2cb0, {1, {0x2cb1}}},
9434 { 0x2cb2, {1, {0x2cb3}}},
9435 { 0x2cb4, {1, {0x2cb5}}},
9436 { 0x2cb6, {1, {0x2cb7}}},
9437 { 0x2cb8, {1, {0x2cb9}}},
9438 { 0x2cba, {1, {0x2cbb}}},
9439 { 0x2cbc, {1, {0x2cbd}}},
9440 { 0x2cbe, {1, {0x2cbf}}},
9441 { 0x2cc0, {1, {0x2cc1}}},
9442 { 0x2cc2, {1, {0x2cc3}}},
9443 { 0x2cc4, {1, {0x2cc5}}},
9444 { 0x2cc6, {1, {0x2cc7}}},
9445 { 0x2cc8, {1, {0x2cc9}}},
9446 { 0x2cca, {1, {0x2ccb}}},
9447 { 0x2ccc, {1, {0x2ccd}}},
9448 { 0x2cce, {1, {0x2ccf}}},
9449 { 0x2cd0, {1, {0x2cd1}}},
9450 { 0x2cd2, {1, {0x2cd3}}},
9451 { 0x2cd4, {1, {0x2cd5}}},
9452 { 0x2cd6, {1, {0x2cd7}}},
9453 { 0x2cd8, {1, {0x2cd9}}},
9454 { 0x2cda, {1, {0x2cdb}}},
9455 { 0x2cdc, {1, {0x2cdd}}},
9456 { 0x2cde, {1, {0x2cdf}}},
9457 { 0x2ce0, {1, {0x2ce1}}},
9458 { 0x2ce2, {1, {0x2ce3}}},
9459 { 0xfb00, {2, {0x0066, 0x0066}}},
9460 { 0xfb01, {2, {0x0066, 0x0069}}},
9461 { 0xfb02, {2, {0x0066, 0x006c}}},
9462 { 0xfb03, {3, {0x0066, 0x0066, 0x0069}}},
9463 { 0xfb04, {3, {0x0066, 0x0066, 0x006c}}},
9464 { 0xfb05, {2, {0x0073, 0x0074}}},
9465 { 0xfb06, {2, {0x0073, 0x0074}}},
9466 { 0xfb13, {2, {0x0574, 0x0576}}},
9467 { 0xfb14, {2, {0x0574, 0x0565}}},
9468 { 0xfb15, {2, {0x0574, 0x056b}}},
9469 { 0xfb16, {2, {0x057e, 0x0576}}},
9470 { 0xfb17, {2, {0x0574, 0x056d}}},
9471 { 0xff21, {1, {0xff41}}},
9472 { 0xff22, {1, {0xff42}}},
9473 { 0xff23, {1, {0xff43}}},
9474 { 0xff24, {1, {0xff44}}},
9475 { 0xff25, {1, {0xff45}}},
9476 { 0xff26, {1, {0xff46}}},
9477 { 0xff27, {1, {0xff47}}},
9478 { 0xff28, {1, {0xff48}}},
9479 { 0xff29, {1, {0xff49}}},
9480 { 0xff2a, {1, {0xff4a}}},
9481 { 0xff2b, {1, {0xff4b}}},
9482 { 0xff2c, {1, {0xff4c}}},
9483 { 0xff2d, {1, {0xff4d}}},
9484 { 0xff2e, {1, {0xff4e}}},
9485 { 0xff2f, {1, {0xff4f}}},
9486 { 0xff30, {1, {0xff50}}},
9487 { 0xff31, {1, {0xff51}}},
9488 { 0xff32, {1, {0xff52}}},
9489 { 0xff33, {1, {0xff53}}},
9490 { 0xff34, {1, {0xff54}}},
9491 { 0xff35, {1, {0xff55}}},
9492 { 0xff36, {1, {0xff56}}},
9493 { 0xff37, {1, {0xff57}}},
9494 { 0xff38, {1, {0xff58}}},
9495 { 0xff39, {1, {0xff59}}},
9496 { 0xff3a, {1, {0xff5a}}},
9497 { 0x10400, {1, {0x10428}}},
9498 { 0x10401, {1, {0x10429}}},
9499 { 0x10402, {1, {0x1042a}}},
9500 { 0x10403, {1, {0x1042b}}},
9501 { 0x10404, {1, {0x1042c}}},
9502 { 0x10405, {1, {0x1042d}}},
9503 { 0x10406, {1, {0x1042e}}},
9504 { 0x10407, {1, {0x1042f}}},
9505 { 0x10408, {1, {0x10430}}},
9506 { 0x10409, {1, {0x10431}}},
9507 { 0x1040a, {1, {0x10432}}},
9508 { 0x1040b, {1, {0x10433}}},
9509 { 0x1040c, {1, {0x10434}}},
9510 { 0x1040d, {1, {0x10435}}},
9511 { 0x1040e, {1, {0x10436}}},
9512 { 0x1040f, {1, {0x10437}}},
9513 { 0x10410, {1, {0x10438}}},
9514 { 0x10411, {1, {0x10439}}},
9515 { 0x10412, {1, {0x1043a}}},
9516 { 0x10413, {1, {0x1043b}}},
9517 { 0x10414, {1, {0x1043c}}},
9518 { 0x10415, {1, {0x1043d}}},
9519 { 0x10416, {1, {0x1043e}}},
9520 { 0x10417, {1, {0x1043f}}},
9521 { 0x10418, {1, {0x10440}}},
9522 { 0x10419, {1, {0x10441}}},
9523 { 0x1041a, {1, {0x10442}}},
9524 { 0x1041b, {1, {0x10443}}},
9525 { 0x1041c, {1, {0x10444}}},
9526 { 0x1041d, {1, {0x10445}}},
9527 { 0x1041e, {1, {0x10446}}},
9528 { 0x1041f, {1, {0x10447}}},
9529 { 0x10420, {1, {0x10448}}},
9530 { 0x10421, {1, {0x10449}}},
9531 { 0x10422, {1, {0x1044a}}},
9532 { 0x10423, {1, {0x1044b}}},
9533 { 0x10424, {1, {0x1044c}}},
9534 { 0x10425, {1, {0x1044d}}},
9535 { 0x10426, {1, {0x1044e}}},
9536 { 0x10427, {1, {0x1044f}}}
9537 };
9538
9539 static const CaseFold_11_Type CaseFold_Locale[] = {
9540 { 0x0049, {1, {0x0069}}},
9541 { 0x0130, {2, {0x0069, 0x0307}}}
9542 };
9543
9544 static const CaseUnfold_11_Type CaseUnfold_11[] = {
9545 { 0x0061, {1, {0x0041 }}},
9546 { 0x0062, {1, {0x0042 }}},
9547 { 0x0063, {1, {0x0043 }}},
9548 { 0x0064, {1, {0x0044 }}},
9549 { 0x0065, {1, {0x0045 }}},
9550 { 0x0066, {1, {0x0046 }}},
9551 { 0x0067, {1, {0x0047 }}},
9552 { 0x0068, {1, {0x0048 }}},
9553 { 0x006a, {1, {0x004a }}},
9554 { 0x006b, {2, {0x212a, 0x004b }}},
9555 { 0x006c, {1, {0x004c }}},
9556 { 0x006d, {1, {0x004d }}},
9557 { 0x006e, {1, {0x004e }}},
9558 { 0x006f, {1, {0x004f }}},
9559 { 0x0070, {1, {0x0050 }}},
9560 { 0x0071, {1, {0x0051 }}},
9561 { 0x0072, {1, {0x0052 }}},
9562 { 0x0073, {2, {0x0053, 0x017f }}},
9563 { 0x0074, {1, {0x0054 }}},
9564 { 0x0075, {1, {0x0055 }}},
9565 { 0x0076, {1, {0x0056 }}},
9566 { 0x0077, {1, {0x0057 }}},
9567 { 0x0078, {1, {0x0058 }}},
9568 { 0x0079, {1, {0x0059 }}},
9569 { 0x007a, {1, {0x005a }}},
9570 { 0x00e0, {1, {0x00c0 }}},
9571 { 0x00e1, {1, {0x00c1 }}},
9572 { 0x00e2, {1, {0x00c2 }}},
9573 { 0x00e3, {1, {0x00c3 }}},
9574 { 0x00e4, {1, {0x00c4 }}},
9575 { 0x00e5, {2, {0x212b, 0x00c5 }}},
9576 { 0x00e6, {1, {0x00c6 }}},
9577 { 0x00e7, {1, {0x00c7 }}},
9578 { 0x00e8, {1, {0x00c8 }}},
9579 { 0x00e9, {1, {0x00c9 }}},
9580 { 0x00ea, {1, {0x00ca }}},
9581 { 0x00eb, {1, {0x00cb }}},
9582 { 0x00ec, {1, {0x00cc }}},
9583 { 0x00ed, {1, {0x00cd }}},
9584 { 0x00ee, {1, {0x00ce }}},
9585 { 0x00ef, {1, {0x00cf }}},
9586 { 0x00f0, {1, {0x00d0 }}},
9587 { 0x00f1, {1, {0x00d1 }}},
9588 { 0x00f2, {1, {0x00d2 }}},
9589 { 0x00f3, {1, {0x00d3 }}},
9590 { 0x00f4, {1, {0x00d4 }}},
9591 { 0x00f5, {1, {0x00d5 }}},
9592 { 0x00f6, {1, {0x00d6 }}},
9593 { 0x00f8, {1, {0x00d8 }}},
9594 { 0x00f9, {1, {0x00d9 }}},
9595 { 0x00fa, {1, {0x00da }}},
9596 { 0x00fb, {1, {0x00db }}},
9597 { 0x00fc, {1, {0x00dc }}},
9598 { 0x00fd, {1, {0x00dd }}},
9599 { 0x00fe, {1, {0x00de }}},
9600 { 0x00ff, {1, {0x0178 }}},
9601 { 0x0101, {1, {0x0100 }}},
9602 { 0x0103, {1, {0x0102 }}},
9603 { 0x0105, {1, {0x0104 }}},
9604 { 0x0107, {1, {0x0106 }}},
9605 { 0x0109, {1, {0x0108 }}},
9606 { 0x010b, {1, {0x010a }}},
9607 { 0x010d, {1, {0x010c }}},
9608 { 0x010f, {1, {0x010e }}},
9609 { 0x0111, {1, {0x0110 }}},
9610 { 0x0113, {1, {0x0112 }}},
9611 { 0x0115, {1, {0x0114 }}},
9612 { 0x0117, {1, {0x0116 }}},
9613 { 0x0119, {1, {0x0118 }}},
9614 { 0x011b, {1, {0x011a }}},
9615 { 0x011d, {1, {0x011c }}},
9616 { 0x011f, {1, {0x011e }}},
9617 { 0x0121, {1, {0x0120 }}},
9618 { 0x0123, {1, {0x0122 }}},
9619 { 0x0125, {1, {0x0124 }}},
9620 { 0x0127, {1, {0x0126 }}},
9621 { 0x0129, {1, {0x0128 }}},
9622 { 0x012b, {1, {0x012a }}},
9623 { 0x012d, {1, {0x012c }}},
9624 { 0x012f, {1, {0x012e }}},
9625 { 0x0133, {1, {0x0132 }}},
9626 { 0x0135, {1, {0x0134 }}},
9627 { 0x0137, {1, {0x0136 }}},
9628 { 0x013a, {1, {0x0139 }}},
9629 { 0x013c, {1, {0x013b }}},
9630 { 0x013e, {1, {0x013d }}},
9631 { 0x0140, {1, {0x013f }}},
9632 { 0x0142, {1, {0x0141 }}},
9633 { 0x0144, {1, {0x0143 }}},
9634 { 0x0146, {1, {0x0145 }}},
9635 { 0x0148, {1, {0x0147 }}},
9636 { 0x014b, {1, {0x014a }}},
9637 { 0x014d, {1, {0x014c }}},
9638 { 0x014f, {1, {0x014e }}},
9639 { 0x0151, {1, {0x0150 }}},
9640 { 0x0153, {1, {0x0152 }}},
9641 { 0x0155, {1, {0x0154 }}},
9642 { 0x0157, {1, {0x0156 }}},
9643 { 0x0159, {1, {0x0158 }}},
9644 { 0x015b, {1, {0x015a }}},
9645 { 0x015d, {1, {0x015c }}},
9646 { 0x015f, {1, {0x015e }}},
9647 { 0x0161, {1, {0x0160 }}},
9648 { 0x0163, {1, {0x0162 }}},
9649 { 0x0165, {1, {0x0164 }}},
9650 { 0x0167, {1, {0x0166 }}},
9651 { 0x0169, {1, {0x0168 }}},
9652 { 0x016b, {1, {0x016a }}},
9653 { 0x016d, {1, {0x016c }}},
9654 { 0x016f, {1, {0x016e }}},
9655 { 0x0171, {1, {0x0170 }}},
9656 { 0x0173, {1, {0x0172 }}},
9657 { 0x0175, {1, {0x0174 }}},
9658 { 0x0177, {1, {0x0176 }}},
9659 { 0x017a, {1, {0x0179 }}},
9660 { 0x017c, {1, {0x017b }}},
9661 { 0x017e, {1, {0x017d }}},
9662 { 0x0183, {1, {0x0182 }}},
9663 { 0x0185, {1, {0x0184 }}},
9664 { 0x0188, {1, {0x0187 }}},
9665 { 0x018c, {1, {0x018b }}},
9666 { 0x0192, {1, {0x0191 }}},
9667 { 0x0195, {1, {0x01f6 }}},
9668 { 0x0199, {1, {0x0198 }}},
9669 { 0x019a, {1, {0x023d }}},
9670 { 0x019e, {1, {0x0220 }}},
9671 { 0x01a1, {1, {0x01a0 }}},
9672 { 0x01a3, {1, {0x01a2 }}},
9673 { 0x01a5, {1, {0x01a4 }}},
9674 { 0x01a8, {1, {0x01a7 }}},
9675 { 0x01ad, {1, {0x01ac }}},
9676 { 0x01b0, {1, {0x01af }}},
9677 { 0x01b4, {1, {0x01b3 }}},
9678 { 0x01b6, {1, {0x01b5 }}},
9679 { 0x01b9, {1, {0x01b8 }}},
9680 { 0x01bd, {1, {0x01bc }}},
9681 { 0x01bf, {1, {0x01f7 }}},
9682 { 0x01c6, {2, {0x01c4, 0x01c5 }}},
9683 { 0x01c9, {2, {0x01c7, 0x01c8 }}},
9684 { 0x01cc, {2, {0x01ca, 0x01cb }}},
9685 { 0x01ce, {1, {0x01cd }}},
9686 { 0x01d0, {1, {0x01cf }}},
9687 { 0x01d2, {1, {0x01d1 }}},
9688 { 0x01d4, {1, {0x01d3 }}},
9689 { 0x01d6, {1, {0x01d5 }}},
9690 { 0x01d8, {1, {0x01d7 }}},
9691 { 0x01da, {1, {0x01d9 }}},
9692 { 0x01dc, {1, {0x01db }}},
9693 { 0x01dd, {1, {0x018e }}},
9694 { 0x01df, {1, {0x01de }}},
9695 { 0x01e1, {1, {0x01e0 }}},
9696 { 0x01e3, {1, {0x01e2 }}},
9697 { 0x01e5, {1, {0x01e4 }}},
9698 { 0x01e7, {1, {0x01e6 }}},
9699 { 0x01e9, {1, {0x01e8 }}},
9700 { 0x01eb, {1, {0x01ea }}},
9701 { 0x01ed, {1, {0x01ec }}},
9702 { 0x01ef, {1, {0x01ee }}},
9703 { 0x01f3, {2, {0x01f1, 0x01f2 }}},
9704 { 0x01f5, {1, {0x01f4 }}},
9705 { 0x01f9, {1, {0x01f8 }}},
9706 { 0x01fb, {1, {0x01fa }}},
9707 { 0x01fd, {1, {0x01fc }}},
9708 { 0x01ff, {1, {0x01fe }}},
9709 { 0x0201, {1, {0x0200 }}},
9710 { 0x0203, {1, {0x0202 }}},
9711 { 0x0205, {1, {0x0204 }}},
9712 { 0x0207, {1, {0x0206 }}},
9713 { 0x0209, {1, {0x0208 }}},
9714 { 0x020b, {1, {0x020a }}},
9715 { 0x020d, {1, {0x020c }}},
9716 { 0x020f, {1, {0x020e }}},
9717 { 0x0211, {1, {0x0210 }}},
9718 { 0x0213, {1, {0x0212 }}},
9719 { 0x0215, {1, {0x0214 }}},
9720 { 0x0217, {1, {0x0216 }}},
9721 { 0x0219, {1, {0x0218 }}},
9722 { 0x021b, {1, {0x021a }}},
9723 { 0x021d, {1, {0x021c }}},
9724 { 0x021f, {1, {0x021e }}},
9725 { 0x0223, {1, {0x0222 }}},
9726 { 0x0225, {1, {0x0224 }}},
9727 { 0x0227, {1, {0x0226 }}},
9728 { 0x0229, {1, {0x0228 }}},
9729 { 0x022b, {1, {0x022a }}},
9730 { 0x022d, {1, {0x022c }}},
9731 { 0x022f, {1, {0x022e }}},
9732 { 0x0231, {1, {0x0230 }}},
9733 { 0x0233, {1, {0x0232 }}},
9734 { 0x023c, {1, {0x023b }}},
9735 { 0x0253, {1, {0x0181 }}},
9736 { 0x0254, {1, {0x0186 }}},
9737 { 0x0256, {1, {0x0189 }}},
9738 { 0x0257, {1, {0x018a }}},
9739 { 0x0259, {1, {0x018f }}},
9740 { 0x025b, {1, {0x0190 }}},
9741 { 0x0260, {1, {0x0193 }}},
9742 { 0x0263, {1, {0x0194 }}},
9743 { 0x0268, {1, {0x0197 }}},
9744 { 0x0269, {1, {0x0196 }}},
9745 { 0x026f, {1, {0x019c }}},
9746 { 0x0272, {1, {0x019d }}},
9747 { 0x0275, {1, {0x019f }}},
9748 { 0x0280, {1, {0x01a6 }}},
9749 { 0x0283, {1, {0x01a9 }}},
9750 { 0x0288, {1, {0x01ae }}},
9751 { 0x028a, {1, {0x01b1 }}},
9752 { 0x028b, {1, {0x01b2 }}},
9753 { 0x0292, {1, {0x01b7 }}},
9754 { 0x0294, {1, {0x0241 }}},
9755 { 0x03ac, {1, {0x0386 }}},
9756 { 0x03ad, {1, {0x0388 }}},
9757 { 0x03ae, {1, {0x0389 }}},
9758 { 0x03af, {1, {0x038a }}},
9759 { 0x03b1, {1, {0x0391 }}},
9760 { 0x03b2, {2, {0x0392, 0x03d0 }}},
9761 { 0x03b3, {1, {0x0393 }}},
9762 { 0x03b4, {1, {0x0394 }}},
9763 { 0x03b5, {2, {0x03f5, 0x0395 }}},
9764 { 0x03b6, {1, {0x0396 }}},
9765 { 0x03b7, {1, {0x0397 }}},
9766 { 0x03b8, {3, {0x03f4, 0x0398, 0x03d1 }}},
9767 { 0x03b9, {3, {0x1fbe, 0x0399, 0x0345 }}},
9768 { 0x03ba, {2, {0x03f0, 0x039a }}},
9769 { 0x03bb, {1, {0x039b }}},
9770 { 0x03bc, {2, {0x00b5, 0x039c }}},
9771 { 0x03bd, {1, {0x039d }}},
9772 { 0x03be, {1, {0x039e }}},
9773 { 0x03bf, {1, {0x039f }}},
9774 { 0x03c0, {2, {0x03a0, 0x03d6 }}},
9775 { 0x03c1, {2, {0x03f1, 0x03a1 }}},
9776 { 0x03c3, {2, {0x03a3, 0x03c2 }}},
9777 { 0x03c4, {1, {0x03a4 }}},
9778 { 0x03c5, {1, {0x03a5 }}},
9779 { 0x03c6, {2, {0x03a6, 0x03d5 }}},
9780 { 0x03c7, {1, {0x03a7 }}},
9781 { 0x03c8, {1, {0x03a8 }}},
9782 { 0x03c9, {2, {0x03a9, 0x2126 }}},
9783 { 0x03ca, {1, {0x03aa }}},
9784 { 0x03cb, {1, {0x03ab }}},
9785 { 0x03cc, {1, {0x038c }}},
9786 { 0x03cd, {1, {0x038e }}},
9787 { 0x03ce, {1, {0x038f }}},
9788 { 0x03d9, {1, {0x03d8 }}},
9789 { 0x03db, {1, {0x03da }}},
9790 { 0x03dd, {1, {0x03dc }}},
9791 { 0x03df, {1, {0x03de }}},
9792 { 0x03e1, {1, {0x03e0 }}},
9793 { 0x03e3, {1, {0x03e2 }}},
9794 { 0x03e5, {1, {0x03e4 }}},
9795 { 0x03e7, {1, {0x03e6 }}},
9796 { 0x03e9, {1, {0x03e8 }}},
9797 { 0x03eb, {1, {0x03ea }}},
9798 { 0x03ed, {1, {0x03ec }}},
9799 { 0x03ef, {1, {0x03ee }}},
9800 { 0x03f2, {1, {0x03f9 }}},
9801 { 0x03f8, {1, {0x03f7 }}},
9802 { 0x03fb, {1, {0x03fa }}},
9803 { 0x0430, {1, {0x0410 }}},
9804 { 0x0431, {1, {0x0411 }}},
9805 { 0x0432, {1, {0x0412 }}},
9806 { 0x0433, {1, {0x0413 }}},
9807 { 0x0434, {1, {0x0414 }}},
9808 { 0x0435, {1, {0x0415 }}},
9809 { 0x0436, {1, {0x0416 }}},
9810 { 0x0437, {1, {0x0417 }}},
9811 { 0x0438, {1, {0x0418 }}},
9812 { 0x0439, {1, {0x0419 }}},
9813 { 0x043a, {1, {0x041a }}},
9814 { 0x043b, {1, {0x041b }}},
9815 { 0x043c, {1, {0x041c }}},
9816 { 0x043d, {1, {0x041d }}},
9817 { 0x043e, {1, {0x041e }}},
9818 { 0x043f, {1, {0x041f }}},
9819 { 0x0440, {1, {0x0420 }}},
9820 { 0x0441, {1, {0x0421 }}},
9821 { 0x0442, {1, {0x0422 }}},
9822 { 0x0443, {1, {0x0423 }}},
9823 { 0x0444, {1, {0x0424 }}},
9824 { 0x0445, {1, {0x0425 }}},
9825 { 0x0446, {1, {0x0426 }}},
9826 { 0x0447, {1, {0x0427 }}},
9827 { 0x0448, {1, {0x0428 }}},
9828 { 0x0449, {1, {0x0429 }}},
9829 { 0x044a, {1, {0x042a }}},
9830 { 0x044b, {1, {0x042b }}},
9831 { 0x044c, {1, {0x042c }}},
9832 { 0x044d, {1, {0x042d }}},
9833 { 0x044e, {1, {0x042e }}},
9834 { 0x044f, {1, {0x042f }}},
9835 { 0x0450, {1, {0x0400 }}},
9836 { 0x0451, {1, {0x0401 }}},
9837 { 0x0452, {1, {0x0402 }}},
9838 { 0x0453, {1, {0x0403 }}},
9839 { 0x0454, {1, {0x0404 }}},
9840 { 0x0455, {1, {0x0405 }}},
9841 { 0x0456, {1, {0x0406 }}},
9842 { 0x0457, {1, {0x0407 }}},
9843 { 0x0458, {1, {0x0408 }}},
9844 { 0x0459, {1, {0x0409 }}},
9845 { 0x045a, {1, {0x040a }}},
9846 { 0x045b, {1, {0x040b }}},
9847 { 0x045c, {1, {0x040c }}},
9848 { 0x045d, {1, {0x040d }}},
9849 { 0x045e, {1, {0x040e }}},
9850 { 0x045f, {1, {0x040f }}},
9851 { 0x0461, {1, {0x0460 }}},
9852 { 0x0463, {1, {0x0462 }}},
9853 { 0x0465, {1, {0x0464 }}},
9854 { 0x0467, {1, {0x0466 }}},
9855 { 0x0469, {1, {0x0468 }}},
9856 { 0x046b, {1, {0x046a }}},
9857 { 0x046d, {1, {0x046c }}},
9858 { 0x046f, {1, {0x046e }}},
9859 { 0x0471, {1, {0x0470 }}},
9860 { 0x0473, {1, {0x0472 }}},
9861 { 0x0475, {1, {0x0474 }}},
9862 { 0x0477, {1, {0x0476 }}},
9863 { 0x0479, {1, {0x0478 }}},
9864 { 0x047b, {1, {0x047a }}},
9865 { 0x047d, {1, {0x047c }}},
9866 { 0x047f, {1, {0x047e }}},
9867 { 0x0481, {1, {0x0480 }}},
9868 { 0x048b, {1, {0x048a }}},
9869 { 0x048d, {1, {0x048c }}},
9870 { 0x048f, {1, {0x048e }}},
9871 { 0x0491, {1, {0x0490 }}},
9872 { 0x0493, {1, {0x0492 }}},
9873 { 0x0495, {1, {0x0494 }}},
9874 { 0x0497, {1, {0x0496 }}},
9875 { 0x0499, {1, {0x0498 }}},
9876 { 0x049b, {1, {0x049a }}},
9877 { 0x049d, {1, {0x049c }}},
9878 { 0x049f, {1, {0x049e }}},
9879 { 0x04a1, {1, {0x04a0 }}},
9880 { 0x04a3, {1, {0x04a2 }}},
9881 { 0x04a5, {1, {0x04a4 }}},
9882 { 0x04a7, {1, {0x04a6 }}},
9883 { 0x04a9, {1, {0x04a8 }}},
9884 { 0x04ab, {1, {0x04aa }}},
9885 { 0x04ad, {1, {0x04ac }}},
9886 { 0x04af, {1, {0x04ae }}},
9887 { 0x04b1, {1, {0x04b0 }}},
9888 { 0x04b3, {1, {0x04b2 }}},
9889 { 0x04b5, {1, {0x04b4 }}},
9890 { 0x04b7, {1, {0x04b6 }}},
9891 { 0x04b9, {1, {0x04b8 }}},
9892 { 0x04bb, {1, {0x04ba }}},
9893 { 0x04bd, {1, {0x04bc }}},
9894 { 0x04bf, {1, {0x04be }}},
9895 { 0x04c2, {1, {0x04c1 }}},
9896 { 0x04c4, {1, {0x04c3 }}},
9897 { 0x04c6, {1, {0x04c5 }}},
9898 { 0x04c8, {1, {0x04c7 }}},
9899 { 0x04ca, {1, {0x04c9 }}},
9900 { 0x04cc, {1, {0x04cb }}},
9901 { 0x04ce, {1, {0x04cd }}},
9902 { 0x04d1, {1, {0x04d0 }}},
9903 { 0x04d3, {1, {0x04d2 }}},
9904 { 0x04d5, {1, {0x04d4 }}},
9905 { 0x04d7, {1, {0x04d6 }}},
9906 { 0x04d9, {1, {0x04d8 }}},
9907 { 0x04db, {1, {0x04da }}},
9908 { 0x04dd, {1, {0x04dc }}},
9909 { 0x04df, {1, {0x04de }}},
9910 { 0x04e1, {1, {0x04e0 }}},
9911 { 0x04e3, {1, {0x04e2 }}},
9912 { 0x04e5, {1, {0x04e4 }}},
9913 { 0x04e7, {1, {0x04e6 }}},
9914 { 0x04e9, {1, {0x04e8 }}},
9915 { 0x04eb, {1, {0x04ea }}},
9916 { 0x04ed, {1, {0x04ec }}},
9917 { 0x04ef, {1, {0x04ee }}},
9918 { 0x04f1, {1, {0x04f0 }}},
9919 { 0x04f3, {1, {0x04f2 }}},
9920 { 0x04f5, {1, {0x04f4 }}},
9921 { 0x04f7, {1, {0x04f6 }}},
9922 { 0x04f9, {1, {0x04f8 }}},
9923 { 0x0501, {1, {0x0500 }}},
9924 { 0x0503, {1, {0x0502 }}},
9925 { 0x0505, {1, {0x0504 }}},
9926 { 0x0507, {1, {0x0506 }}},
9927 { 0x0509, {1, {0x0508 }}},
9928 { 0x050b, {1, {0x050a }}},
9929 { 0x050d, {1, {0x050c }}},
9930 { 0x050f, {1, {0x050e }}},
9931 { 0x0561, {1, {0x0531 }}},
9932 { 0x0562, {1, {0x0532 }}},
9933 { 0x0563, {1, {0x0533 }}},
9934 { 0x0564, {1, {0x0534 }}},
9935 { 0x0565, {1, {0x0535 }}},
9936 { 0x0566, {1, {0x0536 }}},
9937 { 0x0567, {1, {0x0537 }}},
9938 { 0x0568, {1, {0x0538 }}},
9939 { 0x0569, {1, {0x0539 }}},
9940 { 0x056a, {1, {0x053a }}},
9941 { 0x056b, {1, {0x053b }}},
9942 { 0x056c, {1, {0x053c }}},
9943 { 0x056d, {1, {0x053d }}},
9944 { 0x056e, {1, {0x053e }}},
9945 { 0x056f, {1, {0x053f }}},
9946 { 0x0570, {1, {0x0540 }}},
9947 { 0x0571, {1, {0x0541 }}},
9948 { 0x0572, {1, {0x0542 }}},
9949 { 0x0573, {1, {0x0543 }}},
9950 { 0x0574, {1, {0x0544 }}},
9951 { 0x0575, {1, {0x0545 }}},
9952 { 0x0576, {1, {0x0546 }}},
9953 { 0x0577, {1, {0x0547 }}},
9954 { 0x0578, {1, {0x0548 }}},
9955 { 0x0579, {1, {0x0549 }}},
9956 { 0x057a, {1, {0x054a }}},
9957 { 0x057b, {1, {0x054b }}},
9958 { 0x057c, {1, {0x054c }}},
9959 { 0x057d, {1, {0x054d }}},
9960 { 0x057e, {1, {0x054e }}},
9961 { 0x057f, {1, {0x054f }}},
9962 { 0x0580, {1, {0x0550 }}},
9963 { 0x0581, {1, {0x0551 }}},
9964 { 0x0582, {1, {0x0552 }}},
9965 { 0x0583, {1, {0x0553 }}},
9966 { 0x0584, {1, {0x0554 }}},
9967 { 0x0585, {1, {0x0555 }}},
9968 { 0x0586, {1, {0x0556 }}},
9969 { 0x1e01, {1, {0x1e00 }}},
9970 { 0x1e03, {1, {0x1e02 }}},
9971 { 0x1e05, {1, {0x1e04 }}},
9972 { 0x1e07, {1, {0x1e06 }}},
9973 { 0x1e09, {1, {0x1e08 }}},
9974 { 0x1e0b, {1, {0x1e0a }}},
9975 { 0x1e0d, {1, {0x1e0c }}},
9976 { 0x1e0f, {1, {0x1e0e }}},
9977 { 0x1e11, {1, {0x1e10 }}},
9978 { 0x1e13, {1, {0x1e12 }}},
9979 { 0x1e15, {1, {0x1e14 }}},
9980 { 0x1e17, {1, {0x1e16 }}},
9981 { 0x1e19, {1, {0x1e18 }}},
9982 { 0x1e1b, {1, {0x1e1a }}},
9983 { 0x1e1d, {1, {0x1e1c }}},
9984 { 0x1e1f, {1, {0x1e1e }}},
9985 { 0x1e21, {1, {0x1e20 }}},
9986 { 0x1e23, {1, {0x1e22 }}},
9987 { 0x1e25, {1, {0x1e24 }}},
9988 { 0x1e27, {1, {0x1e26 }}},
9989 { 0x1e29, {1, {0x1e28 }}},
9990 { 0x1e2b, {1, {0x1e2a }}},
9991 { 0x1e2d, {1, {0x1e2c }}},
9992 { 0x1e2f, {1, {0x1e2e }}},
9993 { 0x1e31, {1, {0x1e30 }}},
9994 { 0x1e33, {1, {0x1e32 }}},
9995 { 0x1e35, {1, {0x1e34 }}},
9996 { 0x1e37, {1, {0x1e36 }}},
9997 { 0x1e39, {1, {0x1e38 }}},
9998 { 0x1e3b, {1, {0x1e3a }}},
9999 { 0x1e3d, {1, {0x1e3c }}},
10000 { 0x1e3f, {1, {0x1e3e }}},
10001 { 0x1e41, {1, {0x1e40 }}},
10002 { 0x1e43, {1, {0x1e42 }}},
10003 { 0x1e45, {1, {0x1e44 }}},
10004 { 0x1e47, {1, {0x1e46 }}},
10005 { 0x1e49, {1, {0x1e48 }}},
10006 { 0x1e4b, {1, {0x1e4a }}},
10007 { 0x1e4d, {1, {0x1e4c }}},
10008 { 0x1e4f, {1, {0x1e4e }}},
10009 { 0x1e51, {1, {0x1e50 }}},
10010 { 0x1e53, {1, {0x1e52 }}},
10011 { 0x1e55, {1, {0x1e54 }}},
10012 { 0x1e57, {1, {0x1e56 }}},
10013 { 0x1e59, {1, {0x1e58 }}},
10014 { 0x1e5b, {1, {0x1e5a }}},
10015 { 0x1e5d, {1, {0x1e5c }}},
10016 { 0x1e5f, {1, {0x1e5e }}},
10017 { 0x1e61, {2, {0x1e9b, 0x1e60 }}},
10018 { 0x1e63, {1, {0x1e62 }}},
10019 { 0x1e65, {1, {0x1e64 }}},
10020 { 0x1e67, {1, {0x1e66 }}},
10021 { 0x1e69, {1, {0x1e68 }}},
10022 { 0x1e6b, {1, {0x1e6a }}},
10023 { 0x1e6d, {1, {0x1e6c }}},
10024 { 0x1e6f, {1, {0x1e6e }}},
10025 { 0x1e71, {1, {0x1e70 }}},
10026 { 0x1e73, {1, {0x1e72 }}},
10027 { 0x1e75, {1, {0x1e74 }}},
10028 { 0x1e77, {1, {0x1e76 }}},
10029 { 0x1e79, {1, {0x1e78 }}},
10030 { 0x1e7b, {1, {0x1e7a }}},
10031 { 0x1e7d, {1, {0x1e7c }}},
10032 { 0x1e7f, {1, {0x1e7e }}},
10033 { 0x1e81, {1, {0x1e80 }}},
10034 { 0x1e83, {1, {0x1e82 }}},
10035 { 0x1e85, {1, {0x1e84 }}},
10036 { 0x1e87, {1, {0x1e86 }}},
10037 { 0x1e89, {1, {0x1e88 }}},
10038 { 0x1e8b, {1, {0x1e8a }}},
10039 { 0x1e8d, {1, {0x1e8c }}},
10040 { 0x1e8f, {1, {0x1e8e }}},
10041 { 0x1e91, {1, {0x1e90 }}},
10042 { 0x1e93, {1, {0x1e92 }}},
10043 { 0x1e95, {1, {0x1e94 }}},
10044 { 0x1ea1, {1, {0x1ea0 }}},
10045 { 0x1ea3, {1, {0x1ea2 }}},
10046 { 0x1ea5, {1, {0x1ea4 }}},
10047 { 0x1ea7, {1, {0x1ea6 }}},
10048 { 0x1ea9, {1, {0x1ea8 }}},
10049 { 0x1eab, {1, {0x1eaa }}},
10050 { 0x1ead, {1, {0x1eac }}},
10051 { 0x1eaf, {1, {0x1eae }}},
10052 { 0x1eb1, {1, {0x1eb0 }}},
10053 { 0x1eb3, {1, {0x1eb2 }}},
10054 { 0x1eb5, {1, {0x1eb4 }}},
10055 { 0x1eb7, {1, {0x1eb6 }}},
10056 { 0x1eb9, {1, {0x1eb8 }}},
10057 { 0x1ebb, {1, {0x1eba }}},
10058 { 0x1ebd, {1, {0x1ebc }}},
10059 { 0x1ebf, {1, {0x1ebe }}},
10060 { 0x1ec1, {1, {0x1ec0 }}},
10061 { 0x1ec3, {1, {0x1ec2 }}},
10062 { 0x1ec5, {1, {0x1ec4 }}},
10063 { 0x1ec7, {1, {0x1ec6 }}},
10064 { 0x1ec9, {1, {0x1ec8 }}},
10065 { 0x1ecb, {1, {0x1eca }}},
10066 { 0x1ecd, {1, {0x1ecc }}},
10067 { 0x1ecf, {1, {0x1ece }}},
10068 { 0x1ed1, {1, {0x1ed0 }}},
10069 { 0x1ed3, {1, {0x1ed2 }}},
10070 { 0x1ed5, {1, {0x1ed4 }}},
10071 { 0x1ed7, {1, {0x1ed6 }}},
10072 { 0x1ed9, {1, {0x1ed8 }}},
10073 { 0x1edb, {1, {0x1eda }}},
10074 { 0x1edd, {1, {0x1edc }}},
10075 { 0x1edf, {1, {0x1ede }}},
10076 { 0x1ee1, {1, {0x1ee0 }}},
10077 { 0x1ee3, {1, {0x1ee2 }}},
10078 { 0x1ee5, {1, {0x1ee4 }}},
10079 { 0x1ee7, {1, {0x1ee6 }}},
10080 { 0x1ee9, {1, {0x1ee8 }}},
10081 { 0x1eeb, {1, {0x1eea }}},
10082 { 0x1eed, {1, {0x1eec }}},
10083 { 0x1eef, {1, {0x1eee }}},
10084 { 0x1ef1, {1, {0x1ef0 }}},
10085 { 0x1ef3, {1, {0x1ef2 }}},
10086 { 0x1ef5, {1, {0x1ef4 }}},
10087 { 0x1ef7, {1, {0x1ef6 }}},
10088 { 0x1ef9, {1, {0x1ef8 }}},
10089 { 0x1f00, {1, {0x1f08 }}},
10090 { 0x1f01, {1, {0x1f09 }}},
10091 { 0x1f02, {1, {0x1f0a }}},
10092 { 0x1f03, {1, {0x1f0b }}},
10093 { 0x1f04, {1, {0x1f0c }}},
10094 { 0x1f05, {1, {0x1f0d }}},
10095 { 0x1f06, {1, {0x1f0e }}},
10096 { 0x1f07, {1, {0x1f0f }}},
10097 { 0x1f10, {1, {0x1f18 }}},
10098 { 0x1f11, {1, {0x1f19 }}},
10099 { 0x1f12, {1, {0x1f1a }}},
10100 { 0x1f13, {1, {0x1f1b }}},
10101 { 0x1f14, {1, {0x1f1c }}},
10102 { 0x1f15, {1, {0x1f1d }}},
10103 { 0x1f20, {1, {0x1f28 }}},
10104 { 0x1f21, {1, {0x1f29 }}},
10105 { 0x1f22, {1, {0x1f2a }}},
10106 { 0x1f23, {1, {0x1f2b }}},
10107 { 0x1f24, {1, {0x1f2c }}},
10108 { 0x1f25, {1, {0x1f2d }}},
10109 { 0x1f26, {1, {0x1f2e }}},
10110 { 0x1f27, {1, {0x1f2f }}},
10111 { 0x1f30, {1, {0x1f38 }}},
10112 { 0x1f31, {1, {0x1f39 }}},
10113 { 0x1f32, {1, {0x1f3a }}},
10114 { 0x1f33, {1, {0x1f3b }}},
10115 { 0x1f34, {1, {0x1f3c }}},
10116 { 0x1f35, {1, {0x1f3d }}},
10117 { 0x1f36, {1, {0x1f3e }}},
10118 { 0x1f37, {1, {0x1f3f }}},
10119 { 0x1f40, {1, {0x1f48 }}},
10120 { 0x1f41, {1, {0x1f49 }}},
10121 { 0x1f42, {1, {0x1f4a }}},
10122 { 0x1f43, {1, {0x1f4b }}},
10123 { 0x1f44, {1, {0x1f4c }}},
10124 { 0x1f45, {1, {0x1f4d }}},
10125 { 0x1f51, {1, {0x1f59 }}},
10126 { 0x1f53, {1, {0x1f5b }}},
10127 { 0x1f55, {1, {0x1f5d }}},
10128 { 0x1f57, {1, {0x1f5f }}},
10129 { 0x1f60, {1, {0x1f68 }}},
10130 { 0x1f61, {1, {0x1f69 }}},
10131 { 0x1f62, {1, {0x1f6a }}},
10132 { 0x1f63, {1, {0x1f6b }}},
10133 { 0x1f64, {1, {0x1f6c }}},
10134 { 0x1f65, {1, {0x1f6d }}},
10135 { 0x1f66, {1, {0x1f6e }}},
10136 { 0x1f67, {1, {0x1f6f }}},
10137 { 0x1f70, {1, {0x1fba }}},
10138 { 0x1f71, {1, {0x1fbb }}},
10139 { 0x1f72, {1, {0x1fc8 }}},
10140 { 0x1f73, {1, {0x1fc9 }}},
10141 { 0x1f74, {1, {0x1fca }}},
10142 { 0x1f75, {1, {0x1fcb }}},
10143 { 0x1f76, {1, {0x1fda }}},
10144 { 0x1f77, {1, {0x1fdb }}},
10145 { 0x1f78, {1, {0x1ff8 }}},
10146 { 0x1f79, {1, {0x1ff9 }}},
10147 { 0x1f7a, {1, {0x1fea }}},
10148 { 0x1f7b, {1, {0x1feb }}},
10149 { 0x1f7c, {1, {0x1ffa }}},
10150 { 0x1f7d, {1, {0x1ffb }}},
10151 { 0x1fb0, {1, {0x1fb8 }}},
10152 { 0x1fb1, {1, {0x1fb9 }}},
10153 { 0x1fd0, {1, {0x1fd8 }}},
10154 { 0x1fd1, {1, {0x1fd9 }}},
10155 { 0x1fe0, {1, {0x1fe8 }}},
10156 { 0x1fe1, {1, {0x1fe9 }}},
10157 { 0x1fe5, {1, {0x1fec }}},
10158 { 0x2170, {1, {0x2160 }}},
10159 { 0x2171, {1, {0x2161 }}},
10160 { 0x2172, {1, {0x2162 }}},
10161 { 0x2173, {1, {0x2163 }}},
10162 { 0x2174, {1, {0x2164 }}},
10163 { 0x2175, {1, {0x2165 }}},
10164 { 0x2176, {1, {0x2166 }}},
10165 { 0x2177, {1, {0x2167 }}},
10166 { 0x2178, {1, {0x2168 }}},
10167 { 0x2179, {1, {0x2169 }}},
10168 { 0x217a, {1, {0x216a }}},
10169 { 0x217b, {1, {0x216b }}},
10170 { 0x217c, {1, {0x216c }}},
10171 { 0x217d, {1, {0x216d }}},
10172 { 0x217e, {1, {0x216e }}},
10173 { 0x217f, {1, {0x216f }}},
10174 { 0x24d0, {1, {0x24b6 }}},
10175 { 0x24d1, {1, {0x24b7 }}},
10176 { 0x24d2, {1, {0x24b8 }}},
10177 { 0x24d3, {1, {0x24b9 }}},
10178 { 0x24d4, {1, {0x24ba }}},
10179 { 0x24d5, {1, {0x24bb }}},
10180 { 0x24d6, {1, {0x24bc }}},
10181 { 0x24d7, {1, {0x24bd }}},
10182 { 0x24d8, {1, {0x24be }}},
10183 { 0x24d9, {1, {0x24bf }}},
10184 { 0x24da, {1, {0x24c0 }}},
10185 { 0x24db, {1, {0x24c1 }}},
10186 { 0x24dc, {1, {0x24c2 }}},
10187 { 0x24dd, {1, {0x24c3 }}},
10188 { 0x24de, {1, {0x24c4 }}},
10189 { 0x24df, {1, {0x24c5 }}},
10190 { 0x24e0, {1, {0x24c6 }}},
10191 { 0x24e1, {1, {0x24c7 }}},
10192 { 0x24e2, {1, {0x24c8 }}},
10193 { 0x24e3, {1, {0x24c9 }}},
10194 { 0x24e4, {1, {0x24ca }}},
10195 { 0x24e5, {1, {0x24cb }}},
10196 { 0x24e6, {1, {0x24cc }}},
10197 { 0x24e7, {1, {0x24cd }}},
10198 { 0x24e8, {1, {0x24ce }}},
10199 { 0x24e9, {1, {0x24cf }}},
10200 { 0x2c30, {1, {0x2c00 }}},
10201 { 0x2c31, {1, {0x2c01 }}},
10202 { 0x2c32, {1, {0x2c02 }}},
10203 { 0x2c33, {1, {0x2c03 }}},
10204 { 0x2c34, {1, {0x2c04 }}},
10205 { 0x2c35, {1, {0x2c05 }}},
10206 { 0x2c36, {1, {0x2c06 }}},
10207 { 0x2c37, {1, {0x2c07 }}},
10208 { 0x2c38, {1, {0x2c08 }}},
10209 { 0x2c39, {1, {0x2c09 }}},
10210 { 0x2c3a, {1, {0x2c0a }}},
10211 { 0x2c3b, {1, {0x2c0b }}},
10212 { 0x2c3c, {1, {0x2c0c }}},
10213 { 0x2c3d, {1, {0x2c0d }}},
10214 { 0x2c3e, {1, {0x2c0e }}},
10215 { 0x2c3f, {1, {0x2c0f }}},
10216 { 0x2c40, {1, {0x2c10 }}},
10217 { 0x2c41, {1, {0x2c11 }}},
10218 { 0x2c42, {1, {0x2c12 }}},
10219 { 0x2c43, {1, {0x2c13 }}},
10220 { 0x2c44, {1, {0x2c14 }}},
10221 { 0x2c45, {1, {0x2c15 }}},
10222 { 0x2c46, {1, {0x2c16 }}},
10223 { 0x2c47, {1, {0x2c17 }}},
10224 { 0x2c48, {1, {0x2c18 }}},
10225 { 0x2c49, {1, {0x2c19 }}},
10226 { 0x2c4a, {1, {0x2c1a }}},
10227 { 0x2c4b, {1, {0x2c1b }}},
10228 { 0x2c4c, {1, {0x2c1c }}},
10229 { 0x2c4d, {1, {0x2c1d }}},
10230 { 0x2c4e, {1, {0x2c1e }}},
10231 { 0x2c4f, {1, {0x2c1f }}},
10232 { 0x2c50, {1, {0x2c20 }}},
10233 { 0x2c51, {1, {0x2c21 }}},
10234 { 0x2c52, {1, {0x2c22 }}},
10235 { 0x2c53, {1, {0x2c23 }}},
10236 { 0x2c54, {1, {0x2c24 }}},
10237 { 0x2c55, {1, {0x2c25 }}},
10238 { 0x2c56, {1, {0x2c26 }}},
10239 { 0x2c57, {1, {0x2c27 }}},
10240 { 0x2c58, {1, {0x2c28 }}},
10241 { 0x2c59, {1, {0x2c29 }}},
10242 { 0x2c5a, {1, {0x2c2a }}},
10243 { 0x2c5b, {1, {0x2c2b }}},
10244 { 0x2c5c, {1, {0x2c2c }}},
10245 { 0x2c5d, {1, {0x2c2d }}},
10246 { 0x2c5e, {1, {0x2c2e }}},
10247 { 0x2c81, {1, {0x2c80 }}},
10248 { 0x2c83, {1, {0x2c82 }}},
10249 { 0x2c85, {1, {0x2c84 }}},
10250 { 0x2c87, {1, {0x2c86 }}},
10251 { 0x2c89, {1, {0x2c88 }}},
10252 { 0x2c8b, {1, {0x2c8a }}},
10253 { 0x2c8d, {1, {0x2c8c }}},
10254 { 0x2c8f, {1, {0x2c8e }}},
10255 { 0x2c91, {1, {0x2c90 }}},
10256 { 0x2c93, {1, {0x2c92 }}},
10257 { 0x2c95, {1, {0x2c94 }}},
10258 { 0x2c97, {1, {0x2c96 }}},
10259 { 0x2c99, {1, {0x2c98 }}},
10260 { 0x2c9b, {1, {0x2c9a }}},
10261 { 0x2c9d, {1, {0x2c9c }}},
10262 { 0x2c9f, {1, {0x2c9e }}},
10263 { 0x2ca1, {1, {0x2ca0 }}},
10264 { 0x2ca3, {1, {0x2ca2 }}},
10265 { 0x2ca5, {1, {0x2ca4 }}},
10266 { 0x2ca7, {1, {0x2ca6 }}},
10267 { 0x2ca9, {1, {0x2ca8 }}},
10268 { 0x2cab, {1, {0x2caa }}},
10269 { 0x2cad, {1, {0x2cac }}},
10270 { 0x2caf, {1, {0x2cae }}},
10271 { 0x2cb1, {1, {0x2cb0 }}},
10272 { 0x2cb3, {1, {0x2cb2 }}},
10273 { 0x2cb5, {1, {0x2cb4 }}},
10274 { 0x2cb7, {1, {0x2cb6 }}},
10275 { 0x2cb9, {1, {0x2cb8 }}},
10276 { 0x2cbb, {1, {0x2cba }}},
10277 { 0x2cbd, {1, {0x2cbc }}},
10278 { 0x2cbf, {1, {0x2cbe }}},
10279 { 0x2cc1, {1, {0x2cc0 }}},
10280 { 0x2cc3, {1, {0x2cc2 }}},
10281 { 0x2cc5, {1, {0x2cc4 }}},
10282 { 0x2cc7, {1, {0x2cc6 }}},
10283 { 0x2cc9, {1, {0x2cc8 }}},
10284 { 0x2ccb, {1, {0x2cca }}},
10285 { 0x2ccd, {1, {0x2ccc }}},
10286 { 0x2ccf, {1, {0x2cce }}},
10287 { 0x2cd1, {1, {0x2cd0 }}},
10288 { 0x2cd3, {1, {0x2cd2 }}},
10289 { 0x2cd5, {1, {0x2cd4 }}},
10290 { 0x2cd7, {1, {0x2cd6 }}},
10291 { 0x2cd9, {1, {0x2cd8 }}},
10292 { 0x2cdb, {1, {0x2cda }}},
10293 { 0x2cdd, {1, {0x2cdc }}},
10294 { 0x2cdf, {1, {0x2cde }}},
10295 { 0x2ce1, {1, {0x2ce0 }}},
10296 { 0x2ce3, {1, {0x2ce2 }}},
10297 { 0x2d00, {1, {0x10a0 }}},
10298 { 0x2d01, {1, {0x10a1 }}},
10299 { 0x2d02, {1, {0x10a2 }}},
10300 { 0x2d03, {1, {0x10a3 }}},
10301 { 0x2d04, {1, {0x10a4 }}},
10302 { 0x2d05, {1, {0x10a5 }}},
10303 { 0x2d06, {1, {0x10a6 }}},
10304 { 0x2d07, {1, {0x10a7 }}},
10305 { 0x2d08, {1, {0x10a8 }}},
10306 { 0x2d09, {1, {0x10a9 }}},
10307 { 0x2d0a, {1, {0x10aa }}},
10308 { 0x2d0b, {1, {0x10ab }}},
10309 { 0x2d0c, {1, {0x10ac }}},
10310 { 0x2d0d, {1, {0x10ad }}},
10311 { 0x2d0e, {1, {0x10ae }}},
10312 { 0x2d0f, {1, {0x10af }}},
10313 { 0x2d10, {1, {0x10b0 }}},
10314 { 0x2d11, {1, {0x10b1 }}},
10315 { 0x2d12, {1, {0x10b2 }}},
10316 { 0x2d13, {1, {0x10b3 }}},
10317 { 0x2d14, {1, {0x10b4 }}},
10318 { 0x2d15, {1, {0x10b5 }}},
10319 { 0x2d16, {1, {0x10b6 }}},
10320 { 0x2d17, {1, {0x10b7 }}},
10321 { 0x2d18, {1, {0x10b8 }}},
10322 { 0x2d19, {1, {0x10b9 }}},
10323 { 0x2d1a, {1, {0x10ba }}},
10324 { 0x2d1b, {1, {0x10bb }}},
10325 { 0x2d1c, {1, {0x10bc }}},
10326 { 0x2d1d, {1, {0x10bd }}},
10327 { 0x2d1e, {1, {0x10be }}},
10328 { 0x2d1f, {1, {0x10bf }}},
10329 { 0x2d20, {1, {0x10c0 }}},
10330 { 0x2d21, {1, {0x10c1 }}},
10331 { 0x2d22, {1, {0x10c2 }}},
10332 { 0x2d23, {1, {0x10c3 }}},
10333 { 0x2d24, {1, {0x10c4 }}},
10334 { 0x2d25, {1, {0x10c5 }}},
10335 { 0xff41, {1, {0xff21 }}},
10336 { 0xff42, {1, {0xff22 }}},
10337 { 0xff43, {1, {0xff23 }}},
10338 { 0xff44, {1, {0xff24 }}},
10339 { 0xff45, {1, {0xff25 }}},
10340 { 0xff46, {1, {0xff26 }}},
10341 { 0xff47, {1, {0xff27 }}},
10342 { 0xff48, {1, {0xff28 }}},
10343 { 0xff49, {1, {0xff29 }}},
10344 { 0xff4a, {1, {0xff2a }}},
10345 { 0xff4b, {1, {0xff2b }}},
10346 { 0xff4c, {1, {0xff2c }}},
10347 { 0xff4d, {1, {0xff2d }}},
10348 { 0xff4e, {1, {0xff2e }}},
10349 { 0xff4f, {1, {0xff2f }}},
10350 { 0xff50, {1, {0xff30 }}},
10351 { 0xff51, {1, {0xff31 }}},
10352 { 0xff52, {1, {0xff32 }}},
10353 { 0xff53, {1, {0xff33 }}},
10354 { 0xff54, {1, {0xff34 }}},
10355 { 0xff55, {1, {0xff35 }}},
10356 { 0xff56, {1, {0xff36 }}},
10357 { 0xff57, {1, {0xff37 }}},
10358 { 0xff58, {1, {0xff38 }}},
10359 { 0xff59, {1, {0xff39 }}},
10360 { 0xff5a, {1, {0xff3a }}},
10361 { 0x10428, {1, {0x10400 }}},
10362 { 0x10429, {1, {0x10401 }}},
10363 { 0x1042a, {1, {0x10402 }}},
10364 { 0x1042b, {1, {0x10403 }}},
10365 { 0x1042c, {1, {0x10404 }}},
10366 { 0x1042d, {1, {0x10405 }}},
10367 { 0x1042e, {1, {0x10406 }}},
10368 { 0x1042f, {1, {0x10407 }}},
10369 { 0x10430, {1, {0x10408 }}},
10370 { 0x10431, {1, {0x10409 }}},
10371 { 0x10432, {1, {0x1040a }}},
10372 { 0x10433, {1, {0x1040b }}},
10373 { 0x10434, {1, {0x1040c }}},
10374 { 0x10435, {1, {0x1040d }}},
10375 { 0x10436, {1, {0x1040e }}},
10376 { 0x10437, {1, {0x1040f }}},
10377 { 0x10438, {1, {0x10410 }}},
10378 { 0x10439, {1, {0x10411 }}},
10379 { 0x1043a, {1, {0x10412 }}},
10380 { 0x1043b, {1, {0x10413 }}},
10381 { 0x1043c, {1, {0x10414 }}},
10382 { 0x1043d, {1, {0x10415 }}},
10383 { 0x1043e, {1, {0x10416 }}},
10384 { 0x1043f, {1, {0x10417 }}},
10385 { 0x10440, {1, {0x10418 }}},
10386 { 0x10441, {1, {0x10419 }}},
10387 { 0x10442, {1, {0x1041a }}},
10388 { 0x10443, {1, {0x1041b }}},
10389 { 0x10444, {1, {0x1041c }}},
10390 { 0x10445, {1, {0x1041d }}},
10391 { 0x10446, {1, {0x1041e }}},
10392 { 0x10447, {1, {0x1041f }}},
10393 { 0x10448, {1, {0x10420 }}},
10394 { 0x10449, {1, {0x10421 }}},
10395 { 0x1044a, {1, {0x10422 }}},
10396 { 0x1044b, {1, {0x10423 }}},
10397 { 0x1044c, {1, {0x10424 }}},
10398 { 0x1044d, {1, {0x10425 }}},
10399 { 0x1044e, {1, {0x10426 }}},
10400 { 0x1044f, {1, {0x10427 }}}
10401 };
10402
10403 static const CaseUnfold_11_Type CaseUnfold_11_Locale[] = {
10404 { 0x0069, {1, {0x0049 }}}
10405 };
10406
10407 static const CaseUnfold_12_Type CaseUnfold_12[] = {
10408 { {0x0061, 0x02be}, {1, {0x1e9a }}},
10409 { {0x0066, 0x0066}, {1, {0xfb00 }}},
10410 { {0x0066, 0x0069}, {1, {0xfb01 }}},
10411 { {0x0066, 0x006c}, {1, {0xfb02 }}},
10412 { {0x0068, 0x0331}, {1, {0x1e96 }}},
10413 { {0x006a, 0x030c}, {1, {0x01f0 }}},
10414 { {0x0073, 0x0073}, {1, {0x00df }}},
10415 { {0x0073, 0x0074}, {2, {0xfb05, 0xfb06 }}},
10416 { {0x0074, 0x0308}, {1, {0x1e97 }}},
10417 { {0x0077, 0x030a}, {1, {0x1e98 }}},
10418 { {0x0079, 0x030a}, {1, {0x1e99 }}},
10419 { {0x02bc, 0x006e}, {1, {0x0149 }}},
10420 { {0x03ac, 0x03b9}, {1, {0x1fb4 }}},
10421 { {0x03ae, 0x03b9}, {1, {0x1fc4 }}},
10422 { {0x03b1, 0x0342}, {1, {0x1fb6 }}},
10423 { {0x03b1, 0x03b9}, {2, {0x1fb3, 0x1fbc }}},
10424 { {0x03b7, 0x0342}, {1, {0x1fc6 }}},
10425 { {0x03b7, 0x03b9}, {2, {0x1fc3, 0x1fcc }}},
10426 { {0x03b9, 0x0342}, {1, {0x1fd6 }}},
10427 { {0x03c1, 0x0313}, {1, {0x1fe4 }}},
10428 { {0x03c5, 0x0313}, {1, {0x1f50 }}},
10429 { {0x03c5, 0x0342}, {1, {0x1fe6 }}},
10430 { {0x03c9, 0x0342}, {1, {0x1ff6 }}},
10431 { {0x03c9, 0x03b9}, {2, {0x1ff3, 0x1ffc }}},
10432 { {0x03ce, 0x03b9}, {1, {0x1ff4 }}},
10433 { {0x0565, 0x0582}, {1, {0x0587 }}},
10434 { {0x0574, 0x0565}, {1, {0xfb14 }}},
10435 { {0x0574, 0x056b}, {1, {0xfb15 }}},
10436 { {0x0574, 0x056d}, {1, {0xfb17 }}},
10437 { {0x0574, 0x0576}, {1, {0xfb13 }}},
10438 { {0x057e, 0x0576}, {1, {0xfb16 }}},
10439 { {0x1f00, 0x03b9}, {2, {0x1f88, 0x1f80 }}},
10440 { {0x1f01, 0x03b9}, {2, {0x1f81, 0x1f89 }}},
10441 { {0x1f02, 0x03b9}, {2, {0x1f82, 0x1f8a }}},
10442 { {0x1f03, 0x03b9}, {2, {0x1f83, 0x1f8b }}},
10443 { {0x1f04, 0x03b9}, {2, {0x1f84, 0x1f8c }}},
10444 { {0x1f05, 0x03b9}, {2, {0x1f85, 0x1f8d }}},
10445 { {0x1f06, 0x03b9}, {2, {0x1f86, 0x1f8e }}},
10446 { {0x1f07, 0x03b9}, {2, {0x1f87, 0x1f8f }}},
10447 { {0x1f20, 0x03b9}, {2, {0x1f90, 0x1f98 }}},
10448 { {0x1f21, 0x03b9}, {2, {0x1f91, 0x1f99 }}},
10449 { {0x1f22, 0x03b9}, {2, {0x1f92, 0x1f9a }}},
10450 { {0x1f23, 0x03b9}, {2, {0x1f93, 0x1f9b }}},
10451 { {0x1f24, 0x03b9}, {2, {0x1f94, 0x1f9c }}},
10452 { {0x1f25, 0x03b9}, {2, {0x1f95, 0x1f9d }}},
10453 { {0x1f26, 0x03b9}, {2, {0x1f96, 0x1f9e }}},
10454 { {0x1f27, 0x03b9}, {2, {0x1f97, 0x1f9f }}},
10455 { {0x1f60, 0x03b9}, {2, {0x1fa0, 0x1fa8 }}},
10456 { {0x1f61, 0x03b9}, {2, {0x1fa1, 0x1fa9 }}},
10457 { {0x1f62, 0x03b9}, {2, {0x1fa2, 0x1faa }}},
10458 { {0x1f63, 0x03b9}, {2, {0x1fa3, 0x1fab }}},
10459 { {0x1f64, 0x03b9}, {2, {0x1fa4, 0x1fac }}},
10460 { {0x1f65, 0x03b9}, {2, {0x1fa5, 0x1fad }}},
10461 { {0x1f66, 0x03b9}, {2, {0x1fa6, 0x1fae }}},
10462 { {0x1f67, 0x03b9}, {2, {0x1fa7, 0x1faf }}},
10463 { {0x1f70, 0x03b9}, {1, {0x1fb2 }}},
10464 { {0x1f74, 0x03b9}, {1, {0x1fc2 }}},
10465 { {0x1f7c, 0x03b9}, {1, {0x1ff2 }}}
10466 };
10467
10468 static const CaseUnfold_12_Type CaseUnfold_12_Locale[] = {
10469 { {0x0069, 0x0307}, {1, {0x0130 }}}
10470 };
10471
10472 static const CaseUnfold_13_Type CaseUnfold_13[] = {
10473 { {0x0066, 0x0066, 0x0069}, {1, {0xfb03 }}},
10474 { {0x0066, 0x0066, 0x006c}, {1, {0xfb04 }}},
10475 { {0x03b1, 0x0342, 0x03b9}, {1, {0x1fb7 }}},
10476 { {0x03b7, 0x0342, 0x03b9}, {1, {0x1fc7 }}},
10477 { {0x03b9, 0x0308, 0x0300}, {1, {0x1fd2 }}},
10478 { {0x03b9, 0x0308, 0x0301}, {2, {0x0390, 0x1fd3 }}},
10479 { {0x03b9, 0x0308, 0x0342}, {1, {0x1fd7 }}},
10480 { {0x03c5, 0x0308, 0x0300}, {1, {0x1fe2 }}},
10481 { {0x03c5, 0x0308, 0x0301}, {2, {0x03b0, 0x1fe3 }}},
10482 { {0x03c5, 0x0308, 0x0342}, {1, {0x1fe7 }}},
10483 { {0x03c5, 0x0313, 0x0300}, {1, {0x1f52 }}},
10484 { {0x03c5, 0x0313, 0x0301}, {1, {0x1f54 }}},
10485 { {0x03c5, 0x0313, 0x0342}, {1, {0x1f56 }}},
10486 { {0x03c9, 0x0342, 0x03b9}, {1, {0x1ff7 }}}
10487 };
10488
10489
10490 static PosixBracketEntryType HashEntryData[] = {
10491 { (UChar* )"NEWLINE", 0, 7 },
10492 { (UChar* )"Alpha", 1, 5 },
10493 { (UChar* )"Blank", 2, 5 },
10494 { (UChar* )"Cntrl", 3, 5 },
10495 { (UChar* )"Digit", 4, 5 },
10496 { (UChar* )"Graph", 5, 5 },
10497 { (UChar* )"Lower", 6, 5 },
10498 { (UChar* )"Print", 7, 5 },
10499 { (UChar* )"Punct", 8, 5 },
10500 { (UChar* )"Space", 9, 5 },
10501 { (UChar* )"Upper", 10, 5 },
10502 { (UChar* )"XDigit", 11, 6 },
10503 { (UChar* )"Word", 12, 4 },
10504 { (UChar* )"Alnum", 13, 5 },
10505 { (UChar* )"ASCII", 14, 5 },
10506
10507 #ifdef USE_UNICODE_PROPERTIES
10508 { (UChar* )"Any", 15, 3 },
10509 { (UChar* )"Assigned", 16, 8 },
10510 { (UChar* )"C", 17, 1 },
10511 { (UChar* )"Cc", 18, 2 },
10512 { (UChar* )"Cf", 19, 2 },
10513 { (UChar* )"Cn", 20, 2 },
10514 { (UChar* )"Co", 21, 2 },
10515 { (UChar* )"Cs", 22, 2 },
10516 { (UChar* )"L", 23, 1 },
10517 { (UChar* )"Ll", 24, 2 },
10518 { (UChar* )"Lm", 25, 2 },
10519 { (UChar* )"Lo", 26, 2 },
10520 { (UChar* )"Lt", 27, 2 },
10521 { (UChar* )"Lu", 28, 2 },
10522 { (UChar* )"M", 29, 1 },
10523 { (UChar* )"Mc", 30, 2 },
10524 { (UChar* )"Me", 31, 2 },
10525 { (UChar* )"Mn", 32, 2 },
10526 { (UChar* )"N", 33, 1 },
10527 { (UChar* )"Nd", 34, 2 },
10528 { (UChar* )"Nl", 35, 2 },
10529 { (UChar* )"No", 36, 2 },
10530 { (UChar* )"P", 37, 1 },
10531 { (UChar* )"Pc", 38, 2 },
10532 { (UChar* )"Pd", 39, 2 },
10533 { (UChar* )"Pe", 40, 2 },
10534 { (UChar* )"Pf", 41, 2 },
10535 { (UChar* )"Pi", 42, 2 },
10536 { (UChar* )"Po", 43, 2 },
10537 { (UChar* )"Ps", 44, 2 },
10538 { (UChar* )"S", 45, 1 },
10539 { (UChar* )"Sc", 46, 2 },
10540 { (UChar* )"Sk", 47, 2 },
10541 { (UChar* )"Sm", 48, 2 },
10542 { (UChar* )"So", 49, 2 },
10543 { (UChar* )"Z", 50, 1 },
10544 { (UChar* )"Zl", 51, 2 },
10545 { (UChar* )"Zp", 52, 2 },
10546 { (UChar* )"Zs", 53, 2 },
10547 { (UChar* )"Arabic", 54, 6 },
10548 { (UChar* )"Armenian", 55, 8 },
10549 { (UChar* )"Bengali", 56, 7 },
10550 { (UChar* )"Bopomofo", 57, 8 },
10551 { (UChar* )"Braille", 58, 7 },
10552 { (UChar* )"Buginese", 59, 8 },
10553 { (UChar* )"Buhid", 60, 5 },
10554 { (UChar* )"Canadian_Aboriginal", 61, 19 },
10555 { (UChar* )"Cherokee", 62, 8 },
10556 { (UChar* )"Common", 63, 6 },
10557 { (UChar* )"Coptic", 64, 6 },
10558 { (UChar* )"Cypriot", 65, 7 },
10559 { (UChar* )"Cyrillic", 66, 8 },
10560 { (UChar* )"Deseret", 67, 7 },
10561 { (UChar* )"Devanagari", 68, 10 },
10562 { (UChar* )"Ethiopic", 69, 8 },
10563 { (UChar* )"Georgian", 70, 8 },
10564 { (UChar* )"Glagolitic", 71, 10 },
10565 { (UChar* )"Gothic", 72, 6 },
10566 { (UChar* )"Greek", 73, 5 },
10567 { (UChar* )"Gujarati", 74, 8 },
10568 { (UChar* )"Gurmukhi", 75, 8 },
10569 { (UChar* )"Han", 76, 3 },
10570 { (UChar* )"Hangul", 77, 6 },
10571 { (UChar* )"Hanunoo", 78, 7 },
10572 { (UChar* )"Hebrew", 79, 6 },
10573 { (UChar* )"Hiragana", 80, 8 },
10574 { (UChar* )"Inherited", 81, 9 },
10575 { (UChar* )"Kannada", 82, 7 },
10576 { (UChar* )"Katakana", 83, 8 },
10577 { (UChar* )"Kharoshthi", 84, 10 },
10578 { (UChar* )"Khmer", 85, 5 },
10579 { (UChar* )"Lao", 86, 3 },
10580 { (UChar* )"Latin", 87, 5 },
10581 { (UChar* )"Limbu", 88, 5 },
10582 { (UChar* )"Linear_B", 89, 8 },
10583 { (UChar* )"Malayalam", 90, 9 },
10584 { (UChar* )"Mongolian", 91, 9 },
10585 { (UChar* )"Myanmar", 92, 7 },
10586 { (UChar* )"New_Tai_Lue", 93, 11 },
10587 { (UChar* )"Ogham", 94, 5 },
10588 { (UChar* )"Old_Italic", 95, 10 },
10589 { (UChar* )"Old_Persian", 96, 11 },
10590 { (UChar* )"Oriya", 97, 5 },
10591 { (UChar* )"Osmanya", 98, 7 },
10592 { (UChar* )"Runic", 99, 5 },
10593 { (UChar* )"Shavian", 100, 7 },
10594 { (UChar* )"Sinhala", 101, 7 },
10595 { (UChar* )"Syloti_Nagri", 102, 12 },
10596 { (UChar* )"Syriac", 103, 6 },
10597 { (UChar* )"Tagalog", 104, 7 },
10598 { (UChar* )"Tagbanwa", 105, 8 },
10599 { (UChar* )"Tai_Le", 106, 6 },
10600 { (UChar* )"Tamil", 107, 5 },
10601 { (UChar* )"Telugu", 108, 6 },
10602 { (UChar* )"Thaana", 109, 6 },
10603 { (UChar* )"Thai", 110, 4 },
10604 { (UChar* )"Tibetan", 111, 7 },
10605 { (UChar* )"Tifinagh", 112, 8 },
10606 { (UChar* )"Ugaritic", 113, 8 },
10607 { (UChar* )"Yi", 114, 2 },
10608 #endif /* USE_UNICODE_PROPERTIES */
10609 { (UChar* )NULL, -1, 0 }
10610 };
10611
10612 #ifdef USE_UNICODE_PROPERTIES
10613 #define CODE_RANGES_NUM 115
10614 #else
10615 #define CODE_RANGES_NUM 15
10616 #endif
10617
10618 static const OnigCodePoint* CodeRanges[CODE_RANGES_NUM];
10619 static int CodeRangeTableInited = 0;
10620
init_code_range_array(void)10621 static void init_code_range_array(void) {
10622 THREAD_ATOMIC_START;
10623
10624 CodeRanges[0] = CR_NEWLINE;
10625 CodeRanges[1] = CR_Alpha;
10626 CodeRanges[2] = CR_Blank;
10627 CodeRanges[3] = CR_Cntrl;
10628 CodeRanges[4] = CR_Digit;
10629 CodeRanges[5] = CR_Graph;
10630 CodeRanges[6] = CR_Lower;
10631 CodeRanges[7] = CR_Print;
10632 CodeRanges[8] = CR_Punct;
10633 CodeRanges[9] = CR_Space;
10634 CodeRanges[10] = CR_Upper;
10635 CodeRanges[11] = CR_XDigit;
10636 CodeRanges[12] = CR_Word;
10637 CodeRanges[13] = CR_Alnum;
10638 CodeRanges[14] = CR_ASCII;
10639
10640 #ifdef USE_UNICODE_PROPERTIES
10641 CodeRanges[15] = CR_Any;
10642 CodeRanges[16] = CR_Assigned;
10643 CodeRanges[17] = CR_C;
10644 CodeRanges[18] = CR_Cc;
10645 CodeRanges[19] = CR_Cf;
10646 CodeRanges[20] = CR_Cn;
10647 CodeRanges[21] = CR_Co;
10648 CodeRanges[22] = CR_Cs;
10649 CodeRanges[23] = CR_L;
10650 CodeRanges[24] = CR_Ll;
10651 CodeRanges[25] = CR_Lm;
10652 CodeRanges[26] = CR_Lo;
10653 CodeRanges[27] = CR_Lt;
10654 CodeRanges[28] = CR_Lu;
10655 CodeRanges[29] = CR_M;
10656 CodeRanges[30] = CR_Mc;
10657 CodeRanges[31] = CR_Me;
10658 CodeRanges[32] = CR_Mn;
10659 CodeRanges[33] = CR_N;
10660 CodeRanges[34] = CR_Nd;
10661 CodeRanges[35] = CR_Nl;
10662 CodeRanges[36] = CR_No;
10663 CodeRanges[37] = CR_P;
10664 CodeRanges[38] = CR_Pc;
10665 CodeRanges[39] = CR_Pd;
10666 CodeRanges[40] = CR_Pe;
10667 CodeRanges[41] = CR_Pf;
10668 CodeRanges[42] = CR_Pi;
10669 CodeRanges[43] = CR_Po;
10670 CodeRanges[44] = CR_Ps;
10671 CodeRanges[45] = CR_S;
10672 CodeRanges[46] = CR_Sc;
10673 CodeRanges[47] = CR_Sk;
10674 CodeRanges[48] = CR_Sm;
10675 CodeRanges[49] = CR_So;
10676 CodeRanges[50] = CR_Z;
10677 CodeRanges[51] = CR_Zl;
10678 CodeRanges[52] = CR_Zp;
10679 CodeRanges[53] = CR_Zs;
10680 CodeRanges[54] = CR_Arabic;
10681 CodeRanges[55] = CR_Armenian;
10682 CodeRanges[56] = CR_Bengali;
10683 CodeRanges[57] = CR_Bopomofo;
10684 CodeRanges[58] = CR_Braille;
10685 CodeRanges[59] = CR_Buginese;
10686 CodeRanges[60] = CR_Buhid;
10687 CodeRanges[61] = CR_Canadian_Aboriginal;
10688 CodeRanges[62] = CR_Cherokee;
10689 CodeRanges[63] = CR_Common;
10690 CodeRanges[64] = CR_Coptic;
10691 CodeRanges[65] = CR_Cypriot;
10692 CodeRanges[66] = CR_Cyrillic;
10693 CodeRanges[67] = CR_Deseret;
10694 CodeRanges[68] = CR_Devanagari;
10695 CodeRanges[69] = CR_Ethiopic;
10696 CodeRanges[70] = CR_Georgian;
10697 CodeRanges[71] = CR_Glagolitic;
10698 CodeRanges[72] = CR_Gothic;
10699 CodeRanges[73] = CR_Greek;
10700 CodeRanges[74] = CR_Gujarati;
10701 CodeRanges[75] = CR_Gurmukhi;
10702 CodeRanges[76] = CR_Han;
10703 CodeRanges[77] = CR_Hangul;
10704 CodeRanges[78] = CR_Hanunoo;
10705 CodeRanges[79] = CR_Hebrew;
10706 CodeRanges[80] = CR_Hiragana;
10707 CodeRanges[81] = CR_Inherited;
10708 CodeRanges[82] = CR_Kannada;
10709 CodeRanges[83] = CR_Katakana;
10710 CodeRanges[84] = CR_Kharoshthi;
10711 CodeRanges[85] = CR_Khmer;
10712 CodeRanges[86] = CR_Lao;
10713 CodeRanges[87] = CR_Latin;
10714 CodeRanges[88] = CR_Limbu;
10715 CodeRanges[89] = CR_Linear_B;
10716 CodeRanges[90] = CR_Malayalam;
10717 CodeRanges[91] = CR_Mongolian;
10718 CodeRanges[92] = CR_Myanmar;
10719 CodeRanges[93] = CR_New_Tai_Lue;
10720 CodeRanges[94] = CR_Ogham;
10721 CodeRanges[95] = CR_Old_Italic;
10722 CodeRanges[96] = CR_Old_Persian;
10723 CodeRanges[97] = CR_Oriya;
10724 CodeRanges[98] = CR_Osmanya;
10725 CodeRanges[99] = CR_Runic;
10726 CodeRanges[100] = CR_Shavian;
10727 CodeRanges[101] = CR_Sinhala;
10728 CodeRanges[102] = CR_Syloti_Nagri;
10729 CodeRanges[103] = CR_Syriac;
10730 CodeRanges[104] = CR_Tagalog;
10731 CodeRanges[105] = CR_Tagbanwa;
10732 CodeRanges[106] = CR_Tai_Le;
10733 CodeRanges[107] = CR_Tamil;
10734 CodeRanges[108] = CR_Telugu;
10735 CodeRanges[109] = CR_Thaana;
10736 CodeRanges[110] = CR_Thai;
10737 CodeRanges[111] = CR_Tibetan;
10738 CodeRanges[112] = CR_Tifinagh;
10739 CodeRanges[113] = CR_Ugaritic;
10740 CodeRanges[114] = CR_Yi;
10741 #endif /* USE_UNICODE_PROPERTIES */
10742
10743 CodeRangeTableInited = 1;
10744 THREAD_ATOMIC_END;
10745 }
10746
10747 extern int
onigenc_unicode_is_code_ctype(OnigCodePoint code,unsigned int ctype)10748 onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype)
10749 {
10750 if (
10751 #ifdef USE_UNICODE_PROPERTIES
10752 ctype <= ONIGENC_MAX_STD_CTYPE &&
10753 #endif
10754 code < 256) {
10755 return ONIGENC_IS_UNICODE_ISO_8859_1_CTYPE(code, ctype);
10756 }
10757
10758 if (ctype >= CODE_RANGES_NUM) {
10759 return ONIGERR_TYPE_BUG;
10760 }
10761
10762 if (CodeRangeTableInited == 0) init_code_range_array();
10763
10764 return onig_is_in_code_range((UChar* )CodeRanges[ctype], code);
10765 }
10766
10767
10768 extern int
onigenc_unicode_ctype_code_range(int ctype,const OnigCodePoint * ranges[])10769 onigenc_unicode_ctype_code_range(int ctype, const OnigCodePoint* ranges[])
10770 {
10771 if (ctype >= CODE_RANGES_NUM) {
10772 return ONIGERR_TYPE_BUG;
10773 }
10774
10775 if (CodeRangeTableInited == 0) init_code_range_array();
10776
10777 *ranges = CodeRanges[ctype];
10778
10779 return 0;
10780 }
10781
10782 extern int
onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype,OnigCodePoint * sb_out,const OnigCodePoint * ranges[])10783 onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out,
10784 const OnigCodePoint* ranges[])
10785 {
10786 *sb_out = 0x00;
10787 return onigenc_unicode_ctype_code_range(ctype, ranges);
10788 }
10789
10790 #include "st.h"
10791
10792 #define PROPERTY_NAME_MAX_SIZE 20
10793
10794 static st_table* NameCtypeTable;
10795 static int NameTableInited = 0;
10796
init_name_ctype_table(void)10797 static int init_name_ctype_table(void)
10798 {
10799 PosixBracketEntryType *pb;
10800
10801 THREAD_ATOMIC_START;
10802
10803 NameCtypeTable = onig_st_init_strend_table_with_size(100);
10804 if (ONIG_IS_NULL(NameCtypeTable)) return ONIGERR_MEMORY;
10805
10806 for (pb = HashEntryData; ONIG_IS_NOT_NULL(pb->name); pb++) {
10807 onig_st_insert_strend(NameCtypeTable, pb->name, pb->name + pb->len,
10808 (st_data_t )pb->ctype);
10809 }
10810
10811 NameTableInited = 1;
10812 THREAD_ATOMIC_END;
10813 return 0;
10814 }
10815
10816 extern int
onigenc_unicode_property_name_to_ctype(OnigEncoding enc,UChar * name,UChar * end)10817 onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar* name, UChar* end)
10818 {
10819 int len;
10820 hash_data_type ctype;
10821 UChar buf[PROPERTY_NAME_MAX_SIZE];
10822 UChar *p;
10823 OnigCodePoint code;
10824
10825 p = name;
10826 len = 0;
10827 while (p < end) {
10828 code = ONIGENC_MBC_TO_CODE(enc, p, end);
10829 if (code >= 0x80)
10830 return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
10831
10832 buf[len++] = (UChar )code;
10833 if (len >= PROPERTY_NAME_MAX_SIZE)
10834 return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
10835
10836 p += enclen(enc, p);
10837 }
10838
10839 buf[len] = 0;
10840
10841 if (NameTableInited == 0) init_name_ctype_table();
10842
10843 if (onig_st_lookup_strend(NameCtypeTable, buf, buf + len, &ctype) == 0) {
10844 return ONIGERR_INVALID_CHAR_PROPERTY_NAME;
10845 }
10846
10847 return (int )ctype;
10848 }
10849
10850
10851 static int
code2_cmp(OnigCodePoint * x,OnigCodePoint * y)10852 code2_cmp(OnigCodePoint* x, OnigCodePoint* y)
10853 {
10854 if (x[0] == y[0] && x[1] == y[1]) return 0;
10855 return 1;
10856 }
10857
10858 static int
code2_hash(OnigCodePoint * x)10859 code2_hash(OnigCodePoint* x)
10860 {
10861 return (int )(x[0] + x[1]);
10862 }
10863
10864 static struct st_hash_type type_code2_hash = {
10865 code2_cmp,
10866 code2_hash,
10867 };
10868
10869 static int
code3_cmp(OnigCodePoint * x,OnigCodePoint * y)10870 code3_cmp(OnigCodePoint* x, OnigCodePoint* y)
10871 {
10872 if (x[0] == y[0] && x[1] == y[1] && x[2] == y[2]) return 0;
10873 return 1;
10874 }
10875
10876 static int
code3_hash(OnigCodePoint * x)10877 code3_hash(OnigCodePoint* x)
10878 {
10879 return (int )(x[0] + x[1] + x[2]);
10880 }
10881
10882 static struct st_hash_type type_code3_hash = {
10883 code3_cmp,
10884 code3_hash,
10885 };
10886
10887
10888 static st_table* FoldTable; /* fold-1, fold-2, fold-3 */
10889 static st_table* Unfold1Table;
10890 static st_table* Unfold2Table;
10891 static st_table* Unfold3Table;
10892 static int CaseFoldInited = 0;
10893
10894
onigenc_end_unicode(void)10895 extern void onigenc_end_unicode(void)
10896 {
10897 THREAD_ATOMIC_START;
10898
10899 if (FoldTable != 0) st_free_table(FoldTable);
10900 if (Unfold1Table != 0) st_free_table(Unfold1Table);
10901 if (Unfold2Table != 0) st_free_table(Unfold2Table);
10902 if (Unfold3Table != 0) st_free_table(Unfold3Table);
10903
10904 CaseFoldInited = 0;
10905
10906 THREAD_ATOMIC_END;
10907 }
10908
init_case_fold_table(void)10909 static int init_case_fold_table(void)
10910 {
10911 const CaseFold_11_Type *p;
10912 const CaseUnfold_11_Type *p1;
10913 const CaseUnfold_12_Type *p2;
10914 const CaseUnfold_13_Type *p3;
10915 int i;
10916
10917 THREAD_ATOMIC_START;
10918
10919 FoldTable = st_init_numtable_with_size(1200);
10920 if (ONIG_IS_NULL(FoldTable)) return ONIGERR_MEMORY;
10921 for (i = 0; i < (int )(sizeof(CaseFold)/sizeof(CaseFold_11_Type)); i++) {
10922 p = &CaseFold[i];
10923 st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to));
10924 }
10925 for (i = 0; i < (int )(sizeof(CaseFold_Locale)/sizeof(CaseFold_11_Type));
10926 i++) {
10927 p = &CaseFold_Locale[i];
10928 st_add_direct(FoldTable, (st_data_t )p->from, (st_data_t )&(p->to));
10929 }
10930
10931 Unfold1Table = st_init_numtable_with_size(1000);
10932 if (ONIG_IS_NULL(Unfold1Table)) return ONIGERR_MEMORY;
10933
10934 for (i = 0; i < (int )(sizeof(CaseUnfold_11)/sizeof(CaseUnfold_11_Type));
10935 i++) {
10936 p1 = &CaseUnfold_11[i];
10937 st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to));
10938 }
10939 for (i = 0;
10940 i < (int )(sizeof(CaseUnfold_11_Locale)/sizeof(CaseUnfold_11_Type));
10941 i++) {
10942 p1 = &CaseUnfold_11_Locale[i];
10943 st_add_direct(Unfold1Table, (st_data_t )p1->from, (st_data_t )&(p1->to));
10944 }
10945
10946 Unfold2Table = st_init_table_with_size(&type_code2_hash, 200);
10947 if (ONIG_IS_NULL(Unfold2Table)) return ONIGERR_MEMORY;
10948
10949 for (i = 0; i < (int )(sizeof(CaseUnfold_12)/sizeof(CaseUnfold_12_Type));
10950 i++) {
10951 p2 = &CaseUnfold_12[i];
10952 st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to));
10953 }
10954 for (i = 0;
10955 i < (int )(sizeof(CaseUnfold_12_Locale)/sizeof(CaseUnfold_12_Type));
10956 i++) {
10957 p2 = &CaseUnfold_12_Locale[i];
10958 st_add_direct(Unfold2Table, (st_data_t )p2->from, (st_data_t )(&p2->to));
10959 }
10960
10961 Unfold3Table = st_init_table_with_size(&type_code3_hash, 30);
10962 if (ONIG_IS_NULL(Unfold3Table)) return ONIGERR_MEMORY;
10963
10964 for (i = 0; i < (int )(sizeof(CaseUnfold_13)/sizeof(CaseUnfold_13_Type));
10965 i++) {
10966 p3 = &CaseUnfold_13[i];
10967 st_add_direct(Unfold3Table, (st_data_t )p3->from, (st_data_t )(&p3->to));
10968 }
10969
10970
10971 onig_add_end_call(onigenc_end_unicode);
10972
10973 CaseFoldInited = 1;
10974 THREAD_ATOMIC_END;
10975 return 0;
10976 }
10977
10978 extern int
onigenc_unicode_mbc_case_fold(OnigEncoding enc,OnigCaseFoldType flag ARG_UNUSED,const UChar ** pp,const UChar * end,UChar * fold)10979 onigenc_unicode_mbc_case_fold(OnigEncoding enc,
10980 OnigCaseFoldType flag ARG_UNUSED, const UChar** pp, const UChar* end,
10981 UChar* fold)
10982 {
10983 CodePointList3 *to;
10984 OnigCodePoint code;
10985 int i, len, rlen;
10986 const UChar *p = *pp;
10987
10988 if (CaseFoldInited == 0) init_case_fold_table();
10989
10990 code = ONIGENC_MBC_TO_CODE(enc, p, end);
10991 len = enclen(enc, p);
10992 *pp += len;
10993
10994 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
10995 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
10996 if (code == 0x0049) {
10997 return ONIGENC_CODE_TO_MBC(enc, 0x0131, fold);
10998 }
10999 else if (code == 0x0130) {
11000 return ONIGENC_CODE_TO_MBC(enc, 0x0069, fold);
11001 }
11002 }
11003 #endif
11004
11005 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0) {
11006 if (to->n == 1) {
11007 return ONIGENC_CODE_TO_MBC(enc, to->code[0], fold);
11008 }
11009 #if 0
11010 /* NO NEEDS TO CHECK */
11011 else if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
11012 #else
11013 else {
11014 #endif
11015 rlen = 0;
11016 for (i = 0; i < to->n; i++) {
11017 len = ONIGENC_CODE_TO_MBC(enc, to->code[i], fold);
11018 fold += len;
11019 rlen += len;
11020 }
11021 return rlen;
11022 }
11023 }
11024
11025 for (i = 0; i < len; i++) {
11026 *fold++ = *p++;
11027 }
11028 return len;
11029 }
11030
11031 extern int
11032 onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag,
11033 OnigApplyAllCaseFoldFunc f, void* arg)
11034 {
11035 const CaseUnfold_11_Type* p11;
11036 OnigCodePoint code;
11037 int i, j, k, r;
11038
11039 /* if (CaseFoldInited == 0) init_case_fold_table(); */
11040
11041 for (i = 0; i < (int )(sizeof(CaseUnfold_11)/sizeof(CaseUnfold_11_Type));
11042 i++) {
11043 p11 = &CaseUnfold_11[i];
11044 for (j = 0; j < p11->to.n; j++) {
11045 code = p11->from;
11046 r = (*f)(p11->to.code[j], &code, 1, arg);
11047 if (r != 0) return r;
11048
11049 code = p11->to.code[j];
11050 r = (*f)(p11->from, &code, 1, arg);
11051 if (r != 0) return r;
11052
11053 for (k = 0; k < j; k++) {
11054 r = (*f)(p11->to.code[j], (OnigCodePoint* )(&p11->to.code[k]), 1, arg);
11055 if (r != 0) return r;
11056
11057 r = (*f)(p11->to.code[k], (OnigCodePoint* )(&p11->to.code[j]), 1, arg);
11058 if (r != 0) return r;
11059 }
11060 }
11061 }
11062
11063 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
11064 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
11065 code = 0x0131;
11066 r = (*f)(0x0049, &code, 1, arg);
11067 if (r != 0) return r;
11068 code = 0x0049;
11069 r = (*f)(0x0131, &code, 1, arg);
11070 if (r != 0) return r;
11071
11072 code = 0x0130;
11073 r = (*f)(0x0069, &code, 1, arg);
11074 if (r != 0) return r;
11075 code = 0x0069;
11076 r = (*f)(0x0130, &code, 1, arg);
11077 if (r != 0) return r;
11078 }
11079 else {
11080 #endif
11081 for (i = 0;
11082 i < (int )(sizeof(CaseUnfold_11_Locale)/sizeof(CaseUnfold_11_Type));
11083 i++) {
11084 p11 = &CaseUnfold_11_Locale[i];
11085 for (j = 0; j < p11->to.n; j++) {
11086 code = p11->from;
11087 r = (*f)(p11->to.code[j], &code, 1, arg);
11088 if (r != 0) return r;
11089
11090 code = p11->to.code[j];
11091 r = (*f)(p11->from, &code, 1, arg);
11092 if (r != 0) return r;
11093
11094 for (k = 0; k < j; k++) {
11095 r = (*f)(p11->to.code[j], (OnigCodePoint* )(&p11->to.code[k]),
11096 1, arg);
11097 if (r != 0) return r;
11098
11099 r = (*f)(p11->to.code[k], (OnigCodePoint* )(&p11->to.code[j]),
11100 1, arg);
11101 if (r != 0) return r;
11102 }
11103 }
11104 }
11105 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
11106 }
11107 #endif
11108
11109 if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
11110 for (i = 0; i < (int )(sizeof(CaseUnfold_12)/sizeof(CaseUnfold_12_Type));
11111 i++) {
11112 for (j = 0; j < CaseUnfold_12[i].to.n; j++) {
11113 r = (*f)(CaseUnfold_12[i].to.code[j],
11114 (OnigCodePoint* )CaseUnfold_12[i].from, 2, arg);
11115 if (r != 0) return r;
11116
11117 for (k = 0; k < CaseUnfold_12[i].to.n; k++) {
11118 if (k == j) continue;
11119
11120 r = (*f)(CaseUnfold_12[i].to.code[j],
11121 (OnigCodePoint* )(&CaseUnfold_12[i].to.code[k]), 1, arg);
11122 if (r != 0) return r;
11123 }
11124 }
11125 }
11126
11127 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
11128 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) == 0) {
11129 #endif
11130 for (i = 0;
11131 i < (int )(sizeof(CaseUnfold_12_Locale)/sizeof(CaseUnfold_12_Type));
11132 i++) {
11133 for (j = 0; j < CaseUnfold_12_Locale[i].to.n; j++) {
11134 r = (*f)(CaseUnfold_12_Locale[i].to.code[j],
11135 (OnigCodePoint* )CaseUnfold_12_Locale[i].from, 2, arg);
11136 if (r != 0) return r;
11137
11138 for (k = 0; k < CaseUnfold_12_Locale[i].to.n; k++) {
11139 if (k == j) continue;
11140
11141 r = (*f)(CaseUnfold_12_Locale[i].to.code[j],
11142 (OnigCodePoint* )(&CaseUnfold_12_Locale[i].to.code[k]),
11143 1, arg);
11144 if (r != 0) return r;
11145 }
11146 }
11147 }
11148 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
11149 }
11150 #endif
11151
11152 for (i = 0; i < (int )(sizeof(CaseUnfold_13)/sizeof(CaseUnfold_13_Type));
11153 i++) {
11154 for (j = 0; j < CaseUnfold_13[i].to.n; j++) {
11155 r = (*f)(CaseUnfold_13[i].to.code[j],
11156 (OnigCodePoint* )CaseUnfold_13[i].from, 3, arg);
11157 if (r != 0) return r;
11158
11159 for (k = 0; k < CaseUnfold_13[i].to.n; k++) {
11160 if (k == j) continue;
11161
11162 r = (*f)(CaseUnfold_13[i].to.code[j],
11163 (OnigCodePoint* )(&CaseUnfold_13[i].to.code[k]), 1, arg);
11164 if (r != 0) return r;
11165 }
11166 }
11167 }
11168 }
11169
11170 return 0;
11171 }
11172
11173 extern int
11174 onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc,
11175 OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end,
11176 OnigCaseFoldCodeItem items[])
11177 {
11178 int n, i, j, k, len;
11179 OnigCodePoint code, codes[3];
11180 CodePointList3 *to, *z3;
11181 CodePointList2 *z2;
11182
11183 if (CaseFoldInited == 0) init_case_fold_table();
11184
11185 n = 0;
11186
11187 code = ONIGENC_MBC_TO_CODE(enc, p, end);
11188 len = enclen(enc, p);
11189
11190 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI
11191 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) {
11192 if (code == 0x0049) {
11193 items[0].byte_len = len;
11194 items[0].code_len = 1;
11195 items[0].code[0] = 0x0131;
11196 return 1;
11197 }
11198 else if (code == 0x0130) {
11199 items[0].byte_len = len;
11200 items[0].code_len = 1;
11201 items[0].code[0] = 0x0069;
11202 return 1;
11203 }
11204 else if (code == 0x0131) {
11205 items[0].byte_len = len;
11206 items[0].code_len = 1;
11207 items[0].code[0] = 0x0049;
11208 return 1;
11209 }
11210 else if (code == 0x0069) {
11211 items[0].byte_len = len;
11212 items[0].code_len = 1;
11213 items[0].code[0] = 0x0130;
11214 return 1;
11215 }
11216 }
11217 #endif
11218
11219 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0) {
11220 if (to->n == 1) {
11221 OnigCodePoint orig_code = code;
11222
11223 items[0].byte_len = len;
11224 items[0].code_len = 1;
11225 items[0].code[0] = to->code[0];
11226 n++;
11227
11228 code = to->code[0];
11229 if (onig_st_lookup(Unfold1Table, (st_data_t )code, (void* )&to) != 0) {
11230 for (i = 0; i < to->n; i++) {
11231 if (to->code[i] != orig_code) {
11232 items[n].byte_len = len;
11233 items[n].code_len = 1;
11234 items[n].code[0] = to->code[i];
11235 n++;
11236 }
11237 }
11238 }
11239 }
11240 else if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
11241 OnigCodePoint cs[3][4];
11242 int fn, ncs[3];
11243
11244 for (fn = 0; fn < to->n; fn++) {
11245 cs[fn][0] = to->code[fn];
11246 if (onig_st_lookup(Unfold1Table, (st_data_t )cs[fn][0],
11247 (void* )&z3) != 0) {
11248 for (i = 0; i < z3->n; i++) {
11249 cs[fn][i+1] = z3->code[i];
11250 }
11251 ncs[fn] = z3->n + 1;
11252 }
11253 else
11254 ncs[fn] = 1;
11255 }
11256
11257 if (fn == 2) {
11258 for (i = 0; i < ncs[0]; i++) {
11259 for (j = 0; j < ncs[1]; j++) {
11260 items[n].byte_len = len;
11261 items[n].code_len = 2;
11262 items[n].code[0] = cs[0][i];
11263 items[n].code[1] = cs[1][j];
11264 n++;
11265 }
11266 }
11267
11268 if (onig_st_lookup(Unfold2Table, (st_data_t )to->code,
11269 (void* )&z2) != 0) {
11270 for (i = 0; i < z2->n; i++) {
11271 if (z2->code[i] == code) continue;
11272
11273 items[n].byte_len = len;
11274 items[n].code_len = 1;
11275 items[n].code[0] = z2->code[i];
11276 n++;
11277 }
11278 }
11279 }
11280 else {
11281 for (i = 0; i < ncs[0]; i++) {
11282 for (j = 0; j < ncs[1]; j++) {
11283 for (k = 0; k < ncs[2]; k++) {
11284 items[n].byte_len = len;
11285 items[n].code_len = 3;
11286 items[n].code[0] = cs[0][i];
11287 items[n].code[1] = cs[1][j];
11288 items[n].code[2] = cs[2][k];
11289 n++;
11290 }
11291 }
11292 }
11293
11294 if (onig_st_lookup(Unfold3Table, (st_data_t )to->code,
11295 (void* )&z2) != 0) {
11296 for (i = 0; i < z2->n; i++) {
11297 if (z2->code[i] == code) continue;
11298
11299 items[n].byte_len = len;
11300 items[n].code_len = 1;
11301 items[n].code[0] = z2->code[i];
11302 n++;
11303 }
11304 }
11305 }
11306
11307 /* multi char folded code is not head of another folded multi char */
11308 flag = 0; /* DISABLE_CASE_FOLD_MULTI_CHAR(flag); */
11309 }
11310 }
11311 else {
11312 if (onig_st_lookup(Unfold1Table, (st_data_t )code, (void* )&to) != 0) {
11313 for (i = 0; i < to->n; i++) {
11314 items[n].byte_len = len;
11315 items[n].code_len = 1;
11316 items[n].code[0] = to->code[i];
11317 n++;
11318 }
11319 }
11320 }
11321
11322
11323 if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) {
11324 p += len;
11325 if (p < end) {
11326 int clen;
11327
11328 codes[0] = code;
11329 code = ONIGENC_MBC_TO_CODE(enc, p, end);
11330 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0
11331 && to->n == 1) {
11332 codes[1] = to->code[0];
11333 }
11334 else
11335 codes[1] = code;
11336
11337 clen = enclen(enc, p);
11338 len += clen;
11339 if (onig_st_lookup(Unfold2Table, (st_data_t )codes, (void* )&z2) != 0) {
11340 for (i = 0; i < z2->n; i++) {
11341 items[n].byte_len = len;
11342 items[n].code_len = 1;
11343 items[n].code[0] = z2->code[i];
11344 n++;
11345 }
11346 }
11347
11348 p += clen;
11349 if (p < end) {
11350 code = ONIGENC_MBC_TO_CODE(enc, p, end);
11351 if (onig_st_lookup(FoldTable, (st_data_t )code, (void* )&to) != 0
11352 && to->n == 1) {
11353 codes[2] = to->code[0];
11354 }
11355 else
11356 codes[2] = code;
11357
11358 clen = enclen(enc, p);
11359 len += clen;
11360 if (onig_st_lookup(Unfold3Table, (st_data_t )codes,
11361 (void* )&z2) != 0) {
11362 for (i = 0; i < z2->n; i++) {
11363 items[n].byte_len = len;
11364 items[n].code_len = 1;
11365 items[n].code[0] = z2->code[i];
11366 n++;
11367 }
11368 }
11369 }
11370 }
11371 }
11372
11373 return n;
11374 }
11375