1#[derive(Debug, Clone)]
2pub struct UnicodeRangeSet {
3 ranges: &'static [(u32, u32)],
4}
5
6impl UnicodeRangeSet {
7 pub const fn new(ranges: &'static [(u32, u32)]) -> Self {
8 Self { ranges }
9 }
10
11 pub fn contains(&self, cp: u32) -> bool {
12 self.ranges
13 .iter()
14 .any(|&(start, end)| cp >= start && cp <= end)
15 }
16
17 pub fn len(&self) -> usize {
18 self.ranges.len()
19 }
20
21 pub fn is_empty(&self) -> bool {
22 self.ranges.is_empty()
23 }
24}
25
26pub const GC_UPPERCASE_LETTER: UnicodeRangeSet = UnicodeRangeSet::new(&[
27 (0x0041, 0x005A),
28 (0x00C0, 0x00D6),
29 (0x00D8, 0x00DE),
30 (0x0100, 0x0100),
31 (0x0102, 0x0102),
32 (0x0104, 0x0104),
33 (0x0106, 0x0106),
34 (0x0108, 0x0108),
35 (0x010A, 0x010A),
36 (0x010C, 0x010C),
37 (0x010E, 0x010E),
38 (0x0110, 0x0110),
39 (0x0112, 0x0112),
40 (0x0114, 0x0114),
41 (0x0116, 0x0116),
42 (0x0118, 0x011B),
43 (0x011C, 0x011C),
44 (0x011E, 0x011E),
45 (0x0120, 0x0120),
46 (0x0122, 0x0122),
47 (0x0124, 0x0124),
48 (0x0126, 0x0126),
49 (0x0128, 0x0128),
50 (0x012A, 0x012A),
51 (0x012C, 0x012C),
52 (0x012E, 0x012E),
53 (0x0130, 0x0130),
54 (0x0132, 0x0132),
55 (0x0134, 0x0134),
56 (0x0136, 0x0136),
57 (0x0139, 0x0139),
58 (0x013B, 0x013B),
59 (0x013D, 0x013D),
60 (0x013F, 0x013F),
61 (0x0141, 0x0141),
62 (0x0143, 0x0143),
63 (0x0145, 0x0145),
64 (0x0147, 0x0147),
65 (0x014A, 0x014A),
66 (0x014C, 0x014C),
67 (0x014E, 0x014E),
68 (0x0150, 0x0150),
69 (0x0152, 0x0153),
70 (0x0154, 0x0154),
71 (0x0156, 0x0156),
72 (0x0158, 0x0158),
73 (0x015A, 0x015A),
74 (0x015C, 0x015C),
75 (0x015E, 0x015E),
76 (0x0160, 0x0160),
77 (0x0162, 0x0162),
78 (0x0164, 0x0164),
79 (0x0166, 0x0166),
80 (0x0168, 0x0168),
81 (0x016A, 0x016A),
82 (0x016C, 0x016C),
83 (0x016E, 0x016E),
84 (0x0170, 0x0170),
85 (0x0172, 0x0172),
86 (0x0174, 0x0174),
87 (0x0176, 0x0176),
88 (0x0178, 0x0178),
89 (0x0179, 0x0179),
90 (0x017B, 0x017B),
91 (0x017D, 0x017D),
92 (0x017F, 0x017F),
93 (0x0181, 0x0181),
94 (0x0182, 0x0182),
95 (0x0184, 0x0184),
96 (0x0186, 0x0186),
97 (0x0187, 0x0187),
98 (0x0189, 0x018B),
99 (0x018E, 0x018E),
100 (0x018F, 0x018F),
101 (0x0190, 0x0190),
102 (0x0191, 0x0191),
103 (0x0193, 0x0193),
104 (0x0194, 0x0194),
105 (0x0196, 0x0196),
106 (0x0197, 0x0197),
107 (0x0198, 0x0198),
108 (0x019C, 0x019C),
109 (0x019D, 0x019D),
110 (0x019F, 0x019F),
111 (0x01A0, 0x01A0),
112 (0x01A2, 0x01A2),
113 (0x01A4, 0x01A4),
114 (0x01A6, 0x01A6),
115 (0x01A7, 0x01A7),
116 (0x01A9, 0x01A9),
117 (0x01AC, 0x01AC),
118 (0x01AE, 0x01AF),
119 (0x01B1, 0x01B3),
120 (0x01B5, 0x01B5),
121 (0x01B7, 0x01B7),
122 (0x01B8, 0x01B8),
123 (0x01BC, 0x01BC),
124 (0x01C4, 0x01C4),
125 (0x01C5, 0x01C5),
126 (0x01C7, 0x01C7),
127 (0x01C8, 0x01C8),
128 (0x01CA, 0x01CA),
129 (0x01CB, 0x01CB),
130 (0x01CD, 0x01CD),
131 (0x01CF, 0x01CF),
132 (0x01D1, 0x01D1),
133 (0x01D3, 0x01D3),
134 (0x01D5, 0x01D5),
135 (0x01D7, 0x01D7),
136 (0x01D9, 0x01D9),
137 (0x01DB, 0x01DB),
138 (0x01DE, 0x01DE),
139 (0x01E0, 0x01E0),
140 (0x01E2, 0x01E2),
141 (0x01E4, 0x01E4),
142 (0x01E6, 0x01E6),
143 (0x01E8, 0x01E8),
144 (0x01EA, 0x01EA),
145 (0x01EC, 0x01EC),
146 (0x01EE, 0x01EE),
147 (0x01F1, 0x01F2),
148 (0x01F4, 0x01F4),
149 (0x01F6, 0x01F8),
150 (0x01FA, 0x01FA),
151 (0x01FC, 0x01FC),
152 (0x01FE, 0x01FE),
153 (0x0200, 0x0200),
154 (0x0202, 0x0202),
155 (0x0204, 0x0204),
156 (0x0206, 0x0206),
157 (0x0208, 0x0208),
158 (0x020A, 0x020A),
159 (0x020C, 0x020C),
160 (0x020E, 0x020E),
161 (0x0210, 0x0210),
162 (0x0212, 0x0212),
163 (0x0214, 0x0214),
164 (0x0216, 0x0216),
165 (0x0218, 0x0218),
166 (0x021A, 0x021A),
167 (0x021C, 0x021C),
168 (0x021E, 0x021E),
169 (0x0220, 0x0220),
170 (0x0222, 0x0222),
171 (0x0224, 0x0224),
172 (0x0226, 0x0226),
173 (0x0228, 0x0228),
174 (0x022A, 0x022A),
175 (0x022C, 0x022C),
176 (0x022E, 0x022E),
177 (0x0230, 0x0230),
178 (0x0232, 0x0232),
179 (0x023A, 0x023A),
180 (0x023B, 0x023B),
181 (0x023D, 0x023D),
182 (0x023F, 0x0240),
183 (0x0241, 0x0241),
184 (0x0243, 0x0243),
185 (0x0246, 0x0246),
186 (0x0248, 0x0248),
187 (0x024A, 0x024A),
188 (0x024C, 0x024C),
189 (0x024E, 0x024E),
190 (0x0370, 0x0370),
191 (0x0372, 0x0372),
192 (0x0376, 0x0376),
193 (0x037F, 0x037F),
194 (0x0386, 0x0386),
195 (0x0388, 0x038A),
196 (0x038C, 0x038C),
197 (0x038E, 0x038E),
198 (0x0391, 0x0391),
199 (0x0393, 0x03A1),
200 (0x03A3, 0x03AB),
201 (0x03CF, 0x03CF),
202 (0x03D8, 0x03D8),
203 (0x03DA, 0x03DA),
204 (0x03DC, 0x03DC),
205 (0x03DE, 0x03DE),
206 (0x03E0, 0x03E0),
207 (0x03E2, 0x03E2),
208 (0x03E4, 0x03E4),
209 (0x03E6, 0x03E6),
210 (0x03E8, 0x03E8),
211 (0x03EA, 0x03EA),
212 (0x03EC, 0x03EC),
213 (0x03EE, 0x03EE),
214 (0x03F4, 0x03F4),
215 (0x03F7, 0x03F7),
216 (0x03F9, 0x03F9),
217 (0x03FA, 0x03FA),
218 (0x03FD, 0x042F),
219 (0x0460, 0x0460),
220 (0x0462, 0x0462),
221 (0x0464, 0x0464),
222 (0x0466, 0x0466),
223 (0x0468, 0x0468),
224 (0x046A, 0x046A),
225 (0x046C, 0x046C),
226 (0x046E, 0x046E),
227 (0x0470, 0x0470),
228 (0x0472, 0x0472),
229 (0x0474, 0x0474),
230 (0x0476, 0x0476),
231 (0x0478, 0x0478),
232 (0x047A, 0x047A),
233 (0x047C, 0x047C),
234 (0x047E, 0x047E),
235 (0x0480, 0x0480),
236 (0x048A, 0x048A),
237 (0x048C, 0x048C),
238 (0x048E, 0x048E),
239 (0x0490, 0x0490),
240 (0x0492, 0x0492),
241 (0x0494, 0x0494),
242 (0x0496, 0x0496),
243 (0x0498, 0x0498),
244 (0x049A, 0x049A),
245 (0x049C, 0x049C),
246 (0x049E, 0x049E),
247 (0x04A0, 0x04A0),
248 (0x04A2, 0x04A2),
249 (0x04A4, 0x04A4),
250 (0x04A6, 0x04A6),
251 (0x04A8, 0x04A8),
252 (0x04AA, 0x04AA),
253 (0x04AC, 0x04AC),
254 (0x04AE, 0x04AE),
255 (0x04B0, 0x04B0),
256 (0x04B2, 0x04B2),
257 (0x04B4, 0x04B4),
258 (0x04B6, 0x04B6),
259 (0x04B8, 0x04B8),
260 (0x04BA, 0x04BA),
261 (0x04BC, 0x04BC),
262 (0x04BE, 0x04BE),
263 (0x04C0, 0x04C0),
264 (0x04C1, 0x04C1),
265 (0x04C3, 0x04C3),
266 (0x04C5, 0x04C5),
267 (0x04C7, 0x04C7),
268 (0x04C9, 0x04C9),
269 (0x04CB, 0x04CB),
270 (0x04CD, 0x04CD),
271 (0x04D0, 0x04D0),
272 (0x04D2, 0x04D2),
273 (0x04D4, 0x04D4),
274 (0x04D6, 0x04D6),
275 (0x04D8, 0x04D8),
276 (0x04DA, 0x04DA),
277 (0x04DC, 0x04DC),
278 (0x04DE, 0x04DE),
279 (0x04E0, 0x04E0),
280 (0x04E2, 0x04E2),
281 (0x04E4, 0x04E4),
282 (0x04E6, 0x04E6),
283 (0x04E8, 0x04E8),
284 (0x04EA, 0x04EA),
285 (0x04EC, 0x04EC),
286 (0x04EE, 0x04EE),
287 (0x04F0, 0x04F0),
288 (0x04F2, 0x04F2),
289 (0x04F4, 0x04F4),
290 (0x04F6, 0x04F6),
291 (0x04F8, 0x04F8),
292 (0x04FA, 0x04FA),
293 (0x04FC, 0x04FC),
294 (0x04FE, 0x04FE),
295 (0x0500, 0x0500),
296 (0x0502, 0x0502),
297 (0x0504, 0x0504),
298 (0x0506, 0x0506),
299 (0x0508, 0x0508),
300 (0x050A, 0x050A),
301 (0x050C, 0x050C),
302 (0x050E, 0x050E),
303 (0x0510, 0x0510),
304 (0x0512, 0x0512),
305 (0x0514, 0x0514),
306 (0x0516, 0x0516),
307 (0x0518, 0x0518),
308 (0x051A, 0x051A),
309 (0x051C, 0x051C),
310 (0x051E, 0x051E),
311 (0x0520, 0x0520),
312 (0x0522, 0x0522),
313 (0x0524, 0x0524),
314 (0x0526, 0x0526),
315 (0x0528, 0x0528),
316 (0x052A, 0x052A),
317 (0x052C, 0x052C),
318 (0x052E, 0x052E),
319 (0x0531, 0x0556),
320 (0x10A0, 0x10C5),
321 (0x10C7, 0x10C7),
322 (0x10CD, 0x10CD),
323 (0x13A0, 0x13F5),
324 (0x1C90, 0x1CBA),
325 (0x1E00, 0x1E00),
326 (0x1E02, 0x1E02),
327 (0x1E04, 0x1E04),
328 (0x1E06, 0x1E06),
329 (0x1E08, 0x1E08),
330 (0x1E0A, 0x1E0A),
331 (0x1E0C, 0x1E0C),
332 (0x1E0E, 0x1E0E),
333 (0x1E10, 0x1E10),
334 (0x1E12, 0x1E12),
335 (0x1E14, 0x1E14),
336 (0x1E16, 0x1E16),
337 (0x1E18, 0x1E18),
338 (0x1E1A, 0x1E1A),
339 (0x1E1C, 0x1E1C),
340 (0x1E1E, 0x1E1E),
341 (0x1E20, 0x1E20),
342 (0x1E22, 0x1E22),
343 (0x1E24, 0x1E24),
344 (0x1E26, 0x1E26),
345 (0x1E28, 0x1E28),
346 (0x1E2A, 0x1E2A),
347 (0x1E2C, 0x1E2C),
348 (0x1E2E, 0x1E2E),
349 (0x1E30, 0x1E30),
350 (0x1E32, 0x1E32),
351 (0x1E34, 0x1E34),
352 (0x1E36, 0x1E36),
353 (0x1E38, 0x1E38),
354 (0x1E3A, 0x1E3A),
355 (0x1E3C, 0x1E3C),
356 (0x1E3E, 0x1E3E),
357 (0x1E40, 0x1E40),
358 (0x1E42, 0x1E42),
359 (0x1E44, 0x1E44),
360 (0x1E46, 0x1E46),
361 (0x1E48, 0x1E48),
362 (0x1E4A, 0x1E4A),
363 (0x1E4C, 0x1E4C),
364 (0x1E4E, 0x1E4E),
365 (0x1E50, 0x1E50),
366 (0x1E52, 0x1E52),
367 (0x1E54, 0x1E54),
368 (0x1E56, 0x1E56),
369 (0x1E58, 0x1E58),
370 (0x1E5A, 0x1E5A),
371 (0x1E5C, 0x1E5C),
372 (0x1E5E, 0x1E5E),
373 (0x1E60, 0x1E60),
374 (0x1E62, 0x1E62),
375 (0x1E64, 0x1E64),
376 (0x1E66, 0x1E66),
377 (0x1E68, 0x1E68),
378 (0x1E6A, 0x1E6A),
379 (0x1E6C, 0x1E6C),
380 (0x1E6E, 0x1E6E),
381 (0x1E70, 0x1E70),
382 (0x1E72, 0x1E72),
383 (0x1E74, 0x1E74),
384 (0x1E76, 0x1E76),
385 (0x1E78, 0x1E78),
386 (0x1E7A, 0x1E7A),
387 (0x1E7C, 0x1E7C),
388 (0x1E7E, 0x1E7E),
389 (0x1E80, 0x1E80),
390 (0x1E82, 0x1E82),
391 (0x1E84, 0x1E84),
392 (0x1E86, 0x1E86),
393 (0x1E88, 0x1E88),
394 (0x1E8A, 0x1E8A),
395 (0x1E8C, 0x1E8C),
396 (0x1E8E, 0x1E8E),
397 (0x1E90, 0x1E90),
398 (0x1E92, 0x1E92),
399 (0x1E94, 0x1E94),
400 (0x1E9E, 0x1E9E),
401 (0x1EA0, 0x1EA0),
402 (0x1EA2, 0x1EA2),
403 (0x1EA4, 0x1EA4),
404 (0x1EA6, 0x1EA6),
405 (0x1EA8, 0x1EA8),
406 (0x1EAA, 0x1EAA),
407 (0x1EAC, 0x1EAC),
408 (0x1EAE, 0x1EAE),
409 (0x1EB0, 0x1EB0),
410 (0x1EB2, 0x1EB2),
411 (0x1EB4, 0x1EB4),
412 (0x1EB6, 0x1EB6),
413 (0x1EB8, 0x1EB8),
414 (0x1EBA, 0x1EBA),
415 (0x1EBC, 0x1EBC),
416 (0x1EBE, 0x1EBE),
417 (0x1EC0, 0x1EC0),
418 (0x1EC2, 0x1EC2),
419 (0x1EC4, 0x1EC4),
420 (0x1EC6, 0x1EC6),
421 (0x1EC8, 0x1EC8),
422 (0x1ECA, 0x1ECA),
423 (0x1ECC, 0x1ECC),
424 (0x1ECE, 0x1ECE),
425 (0x1ED0, 0x1ED0),
426 (0x1ED2, 0x1ED2),
427 (0x1ED4, 0x1ED4),
428 (0x1ED6, 0x1ED6),
429 (0x1ED8, 0x1ED8),
430 (0x1EDA, 0x1EDA),
431 (0x1EDC, 0x1EDC),
432 (0x1EDE, 0x1EDE),
433 (0x1EE0, 0x1EE0),
434 (0x1EE2, 0x1EE2),
435 (0x1EE4, 0x1EE4),
436 (0x1EE6, 0x1EE6),
437 (0x1EE8, 0x1EE8),
438 (0x1EEA, 0x1EEA),
439 (0x1EEC, 0x1EEC),
440 (0x1EEE, 0x1EEE),
441 (0x1EF0, 0x1EF0),
442 (0x1EF2, 0x1EF2),
443 (0x1EF4, 0x1EF4),
444 (0x1EF6, 0x1EF6),
445 (0x1EF8, 0x1EF8),
446 (0x1EFA, 0x1EFA),
447 (0x1EFC, 0x1EFC),
448 (0x1EFE, 0x1EFE),
449 (0x1F08, 0x1F0F),
450 (0x1F10, 0x1F15),
451 (0x1F18, 0x1F1D),
452 (0x1F20, 0x1F27),
453 (0x1F28, 0x1F2F),
454 (0x1F30, 0x1F37),
455 (0x1F38, 0x1F3F),
456 (0x1F40, 0x1F45),
457 (0x1F48, 0x1F4D),
458 (0x1F50, 0x1F57),
459 (0x1F59, 0x1F59),
460 (0x1F5B, 0x1F5B),
461 (0x1F5D, 0x1F5D),
462 (0x1F5F, 0x1F5F),
463 (0x1F68, 0x1F6F),
464 (0x1F88, 0x1F8F),
465 (0x1F98, 0x1F9F),
466 (0x1FA8, 0x1FAF),
467 (0x1FB8, 0x1FBB),
468 (0x1FBE, 0x1FBE),
469 (0x1FC8, 0x1FCB),
470 (0x1FD8, 0x1FDB),
471 (0x1FE8, 0x1FEC),
472 (0x1FF8, 0x1FFB),
473 (0x2102, 0x2102),
474 (0x2107, 0x2107),
475 (0x210B, 0x210D),
476 (0x2110, 0x2112),
477 (0x2115, 0x2115),
478 (0x2119, 0x211D),
479 (0x2124, 0x2124),
480 (0x2126, 0x2126),
481 (0x2128, 0x2128),
482 (0x212A, 0x212D),
483 (0x2130, 0x2133),
484 (0x213E, 0x213F),
485 (0x2145, 0x2145),
486 (0x2183, 0x2183),
487 (0x2184, 0x2184),
488 (0x2C00, 0x2C2E),
489 (0x2C30, 0x2C5E),
490 (0x2C60, 0x2C60),
491 (0x2C62, 0x2C62),
492 (0x2C64, 0x2C64),
493 (0x2C67, 0x2C67),
494 (0x2C69, 0x2C69),
495 (0x2C6B, 0x2C6B),
496 (0x2C6D, 0x2C70),
497 (0x2C72, 0x2C72),
498 (0x2C75, 0x2C75),
499 (0x2C80, 0x2C80),
500 (0x2C82, 0x2C82),
501 (0x2C84, 0x2C84),
502 (0x2C86, 0x2C86),
503 (0x2C88, 0x2C88),
504 (0x2C8A, 0x2C8A),
505 (0x2C8C, 0x2C8C),
506 (0x2C8E, 0x2C8E),
507 (0x2C90, 0x2C90),
508 (0x2C92, 0x2C92),
509 (0x2C94, 0x2C94),
510 (0x2C96, 0x2C96),
511 (0x2C98, 0x2C98),
512 (0x2C9A, 0x2C9A),
513 (0x2C9C, 0x2C9C),
514 (0x2C9E, 0x2C9E),
515 (0x2CA0, 0x2CA0),
516 (0x2CA2, 0x2CA2),
517 (0x2CA4, 0x2CA4),
518 (0x2CA6, 0x2CA6),
519 (0x2CA8, 0x2CA8),
520 (0x2CAA, 0x2CAA),
521 (0x2CAC, 0x2CAC),
522 (0x2CAE, 0x2CAE),
523 (0x2CB0, 0x2CB0),
524 (0x2CB2, 0x2CB2),
525 (0x2CB4, 0x2CB4),
526 (0x2CB6, 0x2CB6),
527 (0x2CB8, 0x2CB8),
528 (0x2CBA, 0x2CBA),
529 (0x2CBC, 0x2CBC),
530 (0x2CBE, 0x2CBE),
531 (0x2CC0, 0x2CC0),
532 (0x2CC2, 0x2CC2),
533 (0x2CC4, 0x2CC4),
534 (0x2CC6, 0x2CC6),
535 (0x2CC8, 0x2CC8),
536 (0x2CCA, 0x2CCA),
537 (0x2CCC, 0x2CCC),
538 (0x2CCE, 0x2CCE),
539 (0x2CD0, 0x2CD0),
540 (0x2CD2, 0x2CD2),
541 (0x2CD4, 0x2CD4),
542 (0x2CD6, 0x2CD6),
543 (0x2CD8, 0x2CD8),
544 (0x2CDA, 0x2CDA),
545 (0x2CDC, 0x2CDC),
546 (0x2CDE, 0x2CDE),
547 (0x2CE0, 0x2CE0),
548 (0x2CE2, 0x2CE2),
549 (0x2CEB, 0x2CEB),
550 (0x2CED, 0x2CED),
551 (0x2CF4, 0x2CF4),
552 (0x2D00, 0x2D25),
553 (0x2D27, 0x2D27),
554 (0x2D2D, 0x2D2D),
555 (0xA640, 0xA640),
556 (0xA642, 0xA642),
557 (0xA644, 0xA644),
558 (0xA646, 0xA646),
559 (0xA648, 0xA648),
560 (0xA64A, 0xA64A),
561 (0xA64C, 0xA64C),
562 (0xA64E, 0xA64E),
563 (0xA650, 0xA650),
564 (0xA652, 0xA652),
565 (0xA654, 0xA654),
566 (0xA656, 0xA656),
567 (0xA658, 0xA658),
568 (0xA65A, 0xA65A),
569 (0xA65C, 0xA65C),
570 (0xA65E, 0xA65E),
571 (0xA660, 0xA660),
572 (0xA662, 0xA662),
573 (0xA664, 0xA664),
574 (0xA666, 0xA666),
575 (0xA668, 0xA668),
576 (0xA66A, 0xA66A),
577 (0xA66C, 0xA66C),
578 (0xA680, 0xA680),
579 (0xA682, 0xA682),
580 (0xA684, 0xA684),
581 (0xA686, 0xA686),
582 (0xA688, 0xA688),
583 (0xA68A, 0xA68A),
584 (0xA68C, 0xA68C),
585 (0xA68E, 0xA68E),
586 (0xA690, 0xA690),
587 (0xA692, 0xA692),
588 (0xA694, 0xA694),
589 (0xA696, 0xA696),
590 (0xA698, 0xA698),
591 (0xA69A, 0xA69A),
592 (0xA722, 0xA722),
593 (0xA724, 0xA724),
594 (0xA726, 0xA726),
595 (0xA728, 0xA728),
596 (0xA72A, 0xA72A),
597 (0xA72C, 0xA72C),
598 (0xA72E, 0xA72E),
599 (0xA732, 0xA732),
600 (0xA734, 0xA734),
601 (0xA736, 0xA736),
602 (0xA738, 0xA738),
603 (0xA73A, 0xA73A),
604 (0xA73C, 0xA73C),
605 (0xA73E, 0xA73E),
606 (0xA740, 0xA740),
607 (0xA742, 0xA742),
608 (0xA744, 0xA744),
609 (0xA746, 0xA746),
610 (0xA748, 0xA748),
611 (0xA74A, 0xA74A),
612 (0xA74C, 0xA74C),
613 (0xA74E, 0xA74E),
614 (0xA750, 0xA750),
615 (0xA752, 0xA752),
616 (0xA754, 0xA754),
617 (0xA756, 0xA756),
618 (0xA758, 0xA758),
619 (0xA75A, 0xA75A),
620 (0xA75C, 0xA75C),
621 (0xA75E, 0xA75E),
622 (0xA760, 0xA760),
623 (0xA762, 0xA762),
624 (0xA764, 0xA764),
625 (0xA766, 0xA766),
626 (0xA768, 0xA768),
627 (0xA76A, 0xA76A),
628 (0xA76C, 0xA76C),
629 (0xA76E, 0xA76E),
630 (0xA779, 0xA779),
631 (0xA77B, 0xA77B),
632 (0xA77D, 0xA77D),
633 (0xA77E, 0xA77E),
634 (0xA780, 0xA780),
635 (0xA782, 0xA782),
636 (0xA784, 0xA784),
637 (0xA786, 0xA786),
638 (0xA78B, 0xA78B),
639 (0xA78D, 0xA78D),
640 (0xA790, 0xA790),
641 (0xA792, 0xA792),
642 (0xA796, 0xA796),
643 (0xA798, 0xA798),
644 (0xA79A, 0xA79A),
645 (0xA79C, 0xA79C),
646 (0xA79E, 0xA79E),
647 (0xA7A0, 0xA7A0),
648 (0xA7A2, 0xA7A2),
649 (0xA7A4, 0xA7A4),
650 (0xA7A6, 0xA7A6),
651 (0xA7A8, 0xA7A8),
652 (0xA7AA, 0xA7AA),
653 (0xA7AB, 0xA7AB),
654 (0xA7AC, 0xA7AC),
655 (0xA7AD, 0xA7AD),
656 (0xA7B5, 0xA7B5),
657 (0xA7B7, 0xA7B7),
658 (0xA7B9, 0xA7B9),
659 (0xA7BB, 0xA7BB),
660 (0xA7BD, 0xA7BD),
661 (0xA7BF, 0xA7BF),
662 (0xA7C1, 0xA7C1),
663 (0xA7C3, 0xA7C3),
664 (0xA7C4, 0xA7C4),
665 (0xA7C9, 0xA7C9),
666 (0xA7D0, 0xA7D0),
667 (0xA7D6, 0xA7D6),
668 (0xA7D8, 0xA7D8),
669 (0xA7F5, 0xA7F5),
670 (0xFF21, 0xFF3A),
671 (0x10400, 0x10427),
672 (0x104B0, 0x104D3),
673 (0x10C80, 0x10CB2),
674 (0x10D00, 0x10D23),
675 (0x118C0, 0x118DF),
676 (0x16E60, 0x16E7F),
677 (0x1D400, 0x1D419),
678 (0x1D434, 0x1D44D),
679 (0x1D468, 0x1D481),
680 (0x1D49C, 0x1D49C),
681 (0x1D49E, 0x1D49F),
682 (0x1D4A2, 0x1D4A2),
683 (0x1D4A5, 0x1D4A6),
684 (0x1D4A9, 0x1D4AC),
685 (0x1D4AE, 0x1D4B9),
686 (0x1D4BB, 0x1D4BB),
687 (0x1D4BD, 0x1D4C0),
688 (0x1D4C2, 0x1D4C3),
689 (0x1D4C5, 0x1D4C5),
690 (0x1D4D0, 0x1D4E9),
691 (0x1D4ED, 0x1D4ED),
692 (0x1D4EF, 0x1D4EF),
693 (0x1D4F1, 0x1D4F1),
694 (0x1D4F3, 0x1D4F3),
695 (0x1D4F5, 0x1D4F5),
696 (0x1D500, 0x1D503),
697 (0x1D505, 0x1D505),
698 (0x1D507, 0x1D50A),
699 (0x1D50D, 0x1D514),
700 (0x1D516, 0x1D51C),
701 (0x1D51E, 0x1D537),
702 (0x1D539, 0x1D539),
703 (0x1D53B, 0x1D53E),
704 (0x1D540, 0x1D544),
705 (0x1D546, 0x1D546),
706 (0x1D54A, 0x1D550),
707 (0x1D552, 0x1D56B),
708 (0x1D56D, 0x1D59F),
709 (0x1D5A0, 0x1D5D1),
710 (0x1D5D3, 0x1D607),
711 (0x1D609, 0x1D62F),
712 (0x1D631, 0x1D63F),
713 (0x1D641, 0x1D659),
714 (0x1D65B, 0x1D664),
715 (0x1D667, 0x1D68F),
716 (0x1D691, 0x1D695),
717 (0x1D697, 0x1D69F),
718 (0x1D6A8, 0x1D6B8),
719 (0x1D6BA, 0x1D6D0),
720 (0x1D6D2, 0x1D6DA),
721 (0x1D6DC, 0x1D6FA),
722 (0x1D6FC, 0x1D714),
723 (0x1D716, 0x1D734),
724 (0x1D736, 0x1D754),
725 (0x1D756, 0x1D776),
726 (0x1D778, 0x1D79A),
727 (0x1D79C, 0x1D7A8),
728 (0x1D7AA, 0x1D7CA),
729 (0x1D7CC, 0x1D7CD),
730]);
731
732pub const GC_LOWERCASE_LETTER: UnicodeRangeSet = UnicodeRangeSet::new(&[
733 (0x0061, 0x007A),
734 (0x00E0, 0x00F6),
735 (0x00F8, 0x00FE),
736 (0x0101, 0x0101),
737 (0x0103, 0x0103),
738 (0x0105, 0x0105),
739 (0x0107, 0x0107),
740 (0x0109, 0x0109),
741 (0x010B, 0x010B),
742 (0x010D, 0x010D),
743 (0x010F, 0x010F),
744 (0x0111, 0x0111),
745 (0x0113, 0x0113),
746 (0x0115, 0x0115),
747 (0x0117, 0x0117),
748 (0x0119, 0x0119),
749 (0x011B, 0x011B),
750 (0x011D, 0x011D),
751 (0x011F, 0x011F),
752 (0x0121, 0x0121),
753 (0x0123, 0x0123),
754 (0x0125, 0x0125),
755 (0x0127, 0x0127),
756 (0x0129, 0x0129),
757 (0x012B, 0x012B),
758 (0x012D, 0x012D),
759 (0x012F, 0x012F),
760 (0x0131, 0x0131),
761 (0x0133, 0x0133),
762 (0x0135, 0x0135),
763 (0x0137, 0x0137),
764 (0x013A, 0x013A),
765 (0x013C, 0x013C),
766 (0x013E, 0x013E),
767 (0x0140, 0x0140),
768 (0x0142, 0x0142),
769 (0x0144, 0x0144),
770 (0x0146, 0x0146),
771 (0x0148, 0x0149),
772 (0x014B, 0x014B),
773 (0x014D, 0x014D),
774 (0x014F, 0x014F),
775 (0x0151, 0x0151),
776 (0x0153, 0x0153),
777 (0x0155, 0x0155),
778 (0x0157, 0x0157),
779 (0x0159, 0x0159),
780 (0x015B, 0x015B),
781 (0x015D, 0x015D),
782 (0x015F, 0x015F),
783 (0x0161, 0x0161),
784 (0x0163, 0x0163),
785 (0x0165, 0x0165),
786 (0x0167, 0x0167),
787 (0x0169, 0x0169),
788 (0x016B, 0x016B),
789 (0x016D, 0x016D),
790 (0x016F, 0x016F),
791 (0x0171, 0x0171),
792 (0x0173, 0x0173),
793 (0x0175, 0x0175),
794 (0x0177, 0x0177),
795 (0x017A, 0x017A),
796 (0x017C, 0x017C),
797 (0x017E, 0x017E),
798 (0x017F, 0x017F),
799 (0x0180, 0x0180),
800 (0x0183, 0x0183),
801 (0x0185, 0x0185),
802 (0x0188, 0x0188),
803 (0x018C, 0x018D),
804 (0x0192, 0x0192),
805 (0x0195, 0x0195),
806 (0x0199, 0x019B),
807 (0x019E, 0x019E),
808 (0x01A1, 0x01A1),
809 (0x01A3, 0x01A3),
810 (0x01A5, 0x01A5),
811 (0x01A8, 0x01A8),
812 (0x01AB, 0x01AB),
813 (0x01AD, 0x01AD),
814 (0x01B0, 0x01B0),
815 (0x01B4, 0x01B4),
816 (0x01B6, 0x01B6),
817 (0x01B9, 0x01B9),
818 (0x01BA, 0x01BA),
819 (0x01BD, 0x01BD),
820 (0x01BE, 0x01BE),
821 (0x01BF, 0x01BF),
822 (0x01C6, 0x01C6),
823 (0x01C9, 0x01C9),
824 (0x01CC, 0x01CC),
825 (0x01CE, 0x01CE),
826 (0x01D0, 0x01D0),
827 (0x01D2, 0x01D2),
828 (0x01D4, 0x01D4),
829 (0x01D6, 0x01D6),
830 (0x01D8, 0x01D8),
831 (0x01DA, 0x01DA),
832 (0x01DC, 0x01DC),
833 (0x01DD, 0x01DD),
834 (0x01DF, 0x01DF),
835 (0x01E1, 0x01E1),
836 (0x01E3, 0x01E3),
837 (0x01E5, 0x01E5),
838 (0x01E7, 0x01E7),
839 (0x01E9, 0x01E9),
840 (0x01EB, 0x01EB),
841 (0x01ED, 0x01ED),
842 (0x01EF, 0x01EF),
843 (0x01F3, 0x01F3),
844 (0x01F5, 0x01F5),
845 (0x01F9, 0x01F9),
846 (0x01FB, 0x01FB),
847 (0x01FD, 0x01FD),
848 (0x01FF, 0x01FF),
849 (0x0201, 0x0201),
850 (0x0203, 0x0203),
851 (0x0205, 0x0205),
852 (0x0207, 0x0207),
853 (0x0209, 0x0209),
854 (0x020B, 0x020B),
855 (0x020D, 0x020D),
856 (0x020F, 0x020F),
857 (0x0211, 0x0211),
858 (0x0213, 0x0213),
859 (0x0215, 0x0215),
860 (0x0217, 0x0217),
861 (0x0219, 0x0219),
862 (0x021B, 0x021B),
863 (0x021D, 0x021D),
864 (0x021F, 0x021F),
865 (0x0221, 0x0221),
866 (0x0223, 0x0223),
867 (0x0225, 0x0225),
868 (0x0227, 0x0227),
869 (0x0229, 0x0229),
870 (0x022B, 0x022B),
871 (0x022D, 0x022D),
872 (0x022F, 0x022F),
873 (0x0231, 0x0231),
874 (0x0233, 0x0233),
875 (0x023C, 0x023C),
876 (0x023F, 0x0240),
877 (0x0242, 0x0242),
878 (0x0244, 0x0244),
879 (0x0247, 0x0247),
880 (0x0249, 0x0249),
881 (0x024B, 0x024B),
882 (0x024D, 0x024D),
883 (0x024F, 0x024F),
884 (0x0371, 0x0371),
885 (0x0373, 0x0373),
886 (0x0377, 0x0377),
887 (0x037B, 0x037D),
888 (0x0390, 0x0390),
889 (0x03AC, 0x03AC),
890 (0x03AD, 0x03AF),
891 (0x03B1, 0x03B1),
892 (0x03B3, 0x03B6),
893 (0x03B8, 0x03B8),
894 (0x03BB, 0x03BB),
895 (0x03BD, 0x03BD),
896 (0x03BF, 0x03BF),
897 (0x03C0, 0x03C0),
898 (0x03C2, 0x03C2),
899 (0x03C3, 0x03C8),
900 (0x03C9, 0x03C9),
901 (0x03CB, 0x03CB),
902 (0x03CD, 0x03CD),
903 (0x03CF, 0x03CF),
904 (0x03D0, 0x03D0),
905 (0x03D1, 0x03D1),
906 (0x03D5, 0x03D5),
907 (0x03D7, 0x03D7),
908 (0x03D9, 0x03D9),
909 (0x03DB, 0x03DB),
910 (0x03DD, 0x03DD),
911 (0x03DF, 0x03DF),
912 (0x03E1, 0x03E1),
913 (0x03E3, 0x03E3),
914 (0x03E5, 0x03E5),
915 (0x03E7, 0x03E7),
916 (0x03E9, 0x03E9),
917 (0x03EB, 0x03EB),
918 (0x03ED, 0x03ED),
919 (0x03EF, 0x03EF),
920 (0x03F0, 0x03F0),
921 (0x03F3, 0x03F3),
922 (0x03F5, 0x03F5),
923 (0x03F8, 0x03F8),
924 (0x03FB, 0x03FB),
925 (0x0430, 0x043F),
926 (0x0451, 0x045F),
927 (0x0461, 0x0461),
928 (0x0463, 0x0463),
929 (0x0465, 0x0465),
930 (0x0467, 0x0467),
931 (0x0469, 0x0469),
932 (0x046B, 0x046B),
933 (0x046D, 0x046D),
934 (0x046F, 0x046F),
935 (0x0471, 0x0471),
936 (0x0473, 0x0473),
937 (0x0475, 0x0475),
938 (0x0477, 0x0477),
939 (0x0479, 0x0479),
940 (0x047B, 0x047B),
941 (0x047D, 0x047D),
942 (0x047F, 0x047F),
943 (0x0481, 0x0481),
944 (0x048B, 0x048B),
945 (0x048D, 0x048D),
946 (0x048F, 0x048F),
947 (0x0491, 0x0491),
948 (0x0493, 0x0493),
949 (0x0495, 0x0495),
950 (0x0497, 0x0497),
951 (0x0499, 0x0499),
952 (0x049B, 0x049B),
953 (0x049D, 0x049D),
954 (0x049F, 0x049F),
955 (0x04A1, 0x04A1),
956 (0x04A3, 0x04A3),
957 (0x04A5, 0x04A5),
958 (0x04A7, 0x04A7),
959 (0x04A9, 0x04A9),
960 (0x04AB, 0x04AB),
961 (0x04AD, 0x04AD),
962 (0x04AF, 0x04AF),
963 (0x04B1, 0x04B1),
964 (0x04B3, 0x04B3),
965 (0x04B5, 0x04B5),
966 (0x04B7, 0x04B7),
967 (0x04B9, 0x04B9),
968 (0x04BB, 0x04BB),
969 (0x04BD, 0x04BD),
970 (0x04BF, 0x04BF),
971 (0x04C2, 0x04C2),
972 (0x04C4, 0x04C4),
973 (0x04C6, 0x04C6),
974 (0x04C8, 0x04C8),
975 (0x04CA, 0x04CA),
976 (0x04CC, 0x04CC),
977 (0x04CE, 0x04CE),
978 (0x04CF, 0x04CF),
979 (0x04D1, 0x04D1),
980 (0x04D3, 0x04D3),
981 (0x04D5, 0x04D5),
982 (0x04D7, 0x04D7),
983 (0x04D9, 0x04D9),
984 (0x04DB, 0x04DB),
985 (0x04DD, 0x04DD),
986 (0x04DF, 0x04DF),
987 (0x04E1, 0x04E1),
988 (0x04E3, 0x04E3),
989 (0x04E5, 0x04E5),
990 (0x04E7, 0x04E7),
991 (0x04E9, 0x04E9),
992 (0x04EB, 0x04EB),
993 (0x04ED, 0x04ED),
994 (0x04EF, 0x04EF),
995 (0x04F1, 0x04F1),
996 (0x04F3, 0x04F3),
997 (0x04F5, 0x04F5),
998 (0x04F7, 0x04F7),
999 (0x04F9, 0x04F9),
1000 (0x04FB, 0x04FB),
1001 (0x04FD, 0x04FD),
1002 (0x04FF, 0x04FF),
1003 (0x0501, 0x0501),
1004 (0x0503, 0x0503),
1005 (0x0505, 0x0505),
1006 (0x0507, 0x0507),
1007 (0x0509, 0x0509),
1008 (0x050B, 0x050B),
1009 (0x050D, 0x050D),
1010 (0x050F, 0x050F),
1011 (0x0511, 0x0511),
1012 (0x0513, 0x0513),
1013 (0x0515, 0x0515),
1014 (0x0517, 0x0517),
1015 (0x0519, 0x0519),
1016 (0x051B, 0x051B),
1017 (0x051D, 0x051D),
1018 (0x051F, 0x051F),
1019 (0x0521, 0x0521),
1020 (0x0523, 0x0523),
1021 (0x0525, 0x0525),
1022 (0x0527, 0x0527),
1023 (0x0529, 0x0529),
1024 (0x052B, 0x052B),
1025 (0x052D, 0x052D),
1026 (0x052F, 0x052F),
1027 (0x0561, 0x0587),
1028 (0x0589, 0x0589),
1029 (0x058F, 0x058F),
1030 (0x1D4B, 0x1D4B),
1031 (0x1D4D, 0x1D4D),
1032 (0x1D4F, 0x1D4F),
1033 (0x1D51, 0x1D51),
1034 (0x1D53, 0x1D53),
1035 (0x1D55, 0x1D55),
1036 (0x1D57, 0x1D57),
1037 (0x1D59, 0x1D59),
1038 (0x1D5B, 0x1D5B),
1039 (0x1D5D, 0x1D5D),
1040 (0x1D5F, 0x1D5F),
1041 (0x1D61, 0x1D61),
1042 (0x1D63, 0x1D63),
1043 (0x1D65, 0x1D65),
1044 (0x1D67, 0x1D67),
1045 (0x1D69, 0x1D69),
1046 (0x1D6B, 0x1D6B),
1047 (0x1D6D, 0x1D6D),
1048 (0x1D6F, 0x1D6F),
1049 (0x1D71, 0x1D71),
1050 (0x1D73, 0x1D73),
1051 (0x1D75, 0x1D75),
1052 (0x1D76, 0x1D76),
1053 (0x1D77, 0x1D77),
1054 (0x1D79, 0x1D79),
1055 (0x1D7A, 0x1D7A),
1056 (0x1D7B, 0x1D7B),
1057 (0x1D7D, 0x1D7D),
1058 (0x1D7F, 0x1D7F),
1059 (0x1E01, 0x1E01),
1060 (0x1E03, 0x1E03),
1061 (0x1E05, 0x1E05),
1062 (0x1E07, 0x1E07),
1063 (0x1E09, 0x1E09),
1064 (0x1E0B, 0x1E0B),
1065 (0x1E0D, 0x1E0D),
1066 (0x1E0F, 0x1E0F),
1067 (0x1E11, 0x1E11),
1068 (0x1E13, 0x1E13),
1069 (0x1E15, 0x1E15),
1070 (0x1E17, 0x1E17),
1071 (0x1E19, 0x1E19),
1072 (0x1E1B, 0x1E1B),
1073 (0x1E1D, 0x1E1D),
1074 (0x1E1F, 0x1E1F),
1075 (0x1E21, 0x1E21),
1076 (0x1E23, 0x1E23),
1077 (0x1E25, 0x1E25),
1078 (0x1E27, 0x1E27),
1079 (0x1E29, 0x1E29),
1080 (0x1E2B, 0x1E2B),
1081 (0x1E2D, 0x1E2D),
1082 (0x1E2F, 0x1E2F),
1083 (0x1E31, 0x1E31),
1084 (0x1E33, 0x1E33),
1085 (0x1E35, 0x1E35),
1086 (0x1E37, 0x1E37),
1087 (0x1E39, 0x1E39),
1088 (0x1E3B, 0x1E3B),
1089 (0x1E3D, 0x1E3D),
1090 (0x1E3F, 0x1E3F),
1091 (0x1E41, 0x1E41),
1092 (0x1E43, 0x1E43),
1093 (0x1E45, 0x1E45),
1094 (0x1E47, 0x1E47),
1095 (0x1E49, 0x1E49),
1096 (0x1E4B, 0x1E4B),
1097 (0x1E4D, 0x1E4D),
1098 (0x1E4F, 0x1E4F),
1099 (0x1E51, 0x1E51),
1100 (0x1E53, 0x1E53),
1101 (0x1E55, 0x1E55),
1102 (0x1E57, 0x1E57),
1103 (0x1E59, 0x1E59),
1104 (0x1E5B, 0x1E5B),
1105 (0x1E5D, 0x1E5D),
1106 (0x1E5F, 0x1E5F),
1107 (0x1E61, 0x1E61),
1108 (0x1E63, 0x1E63),
1109 (0x1E65, 0x1E65),
1110 (0x1E67, 0x1E67),
1111 (0x1E69, 0x1E69),
1112 (0x1E6B, 0x1E6B),
1113 (0x1E6D, 0x1E6D),
1114 (0x1E6F, 0x1E6F),
1115 (0x1E71, 0x1E71),
1116 (0x1E73, 0x1E73),
1117 (0x1E75, 0x1E75),
1118 (0x1E77, 0x1E77),
1119 (0x1E79, 0x1E79),
1120 (0x1E7B, 0x1E7B),
1121 (0x1E7D, 0x1E7D),
1122 (0x1E7F, 0x1E7F),
1123 (0x1E81, 0x1E81),
1124 (0x1E83, 0x1E83),
1125 (0x1E85, 0x1E85),
1126 (0x1E87, 0x1E87),
1127 (0x1E89, 0x1E89),
1128 (0x1E8B, 0x1E8B),
1129 (0x1E8D, 0x1E8D),
1130 (0x1E8F, 0x1E8F),
1131 (0x1E91, 0x1E91),
1132 (0x1E93, 0x1E93),
1133 (0x1E95, 0x1E95),
1134 (0x1E9B, 0x1E9B),
1135 (0x1EA1, 0x1EA1),
1136 (0x1EA3, 0x1EA3),
1137 (0x1EA5, 0x1EA5),
1138 (0x1EA7, 0x1EA7),
1139 (0x1EA9, 0x1EA9),
1140 (0x1EAB, 0x1EAB),
1141 (0x1EAD, 0x1EAD),
1142 (0x1EAF, 0x1EAF),
1143 (0x1EB1, 0x1EB1),
1144 (0x1EB3, 0x1EB3),
1145 (0x1EB5, 0x1EB5),
1146 (0x1EB7, 0x1EB7),
1147 (0x1EB9, 0x1EB9),
1148 (0x1EBB, 0x1EBB),
1149 (0x1EBD, 0x1EBD),
1150 (0x1EBF, 0x1EBF),
1151 (0x1EC1, 0x1EC1),
1152 (0x1EC3, 0x1EC3),
1153 (0x1EC5, 0x1EC5),
1154 (0x1EC7, 0x1EC7),
1155 (0x1EC9, 0x1EC9),
1156 (0x1ECB, 0x1ECB),
1157 (0x1ECD, 0x1ECD),
1158 (0x1ECF, 0x1ECF),
1159 (0x1ED1, 0x1ED1),
1160 (0x1ED3, 0x1ED3),
1161 (0x1ED5, 0x1ED5),
1162 (0x1ED7, 0x1ED7),
1163 (0x1ED9, 0x1ED9),
1164 (0x1EDB, 0x1EDB),
1165 (0x1EDD, 0x1EDD),
1166 (0x1EDF, 0x1EDF),
1167 (0x1EE1, 0x1EE1),
1168 (0x1EE3, 0x1EE3),
1169 (0x1EE5, 0x1EE5),
1170 (0x1EE7, 0x1EE7),
1171 (0x1EE9, 0x1EE9),
1172 (0x1EEB, 0x1EEB),
1173 (0x1EED, 0x1EED),
1174 (0x1EEF, 0x1EEF),
1175 (0x1EF1, 0x1EF1),
1176 (0x1EF3, 0x1EF3),
1177 (0x1EF5, 0x1EF5),
1178 (0x1EF7, 0x1EF7),
1179 (0x1EF9, 0x1EF9),
1180 (0x1EFB, 0x1EFB),
1181 (0x1EFD, 0x1EFD),
1182 (0x1EFF, 0x1EFF),
1183 (0x1F00, 0x1F07),
1184 (0x1F10, 0x1F17),
1185 (0x1F20, 0x1F27),
1186 (0x1F30, 0x1F37),
1187 (0x1F40, 0x1F47),
1188 (0x1F50, 0x1F57),
1189 (0x1F60, 0x1F67),
1190 (0x1F70, 0x1F77),
1191 (0x1F78, 0x1F7F),
1192 (0x1F80, 0x1F87),
1193 (0x1F90, 0x1F97),
1194 (0x1FA0, 0x1FA7),
1195 (0x1FB0, 0x1FB4),
1196 (0x1FB6, 0x1FB7),
1197 (0x1FBC, 0x1FBC),
1198 (0x1FC2, 0x1FC4),
1199 (0x1FC6, 0x1FC7),
1200 (0x1FCC, 0x1FCC),
1201 (0x1FD0, 0x1FD3),
1202 (0x1FD6, 0x1FD7),
1203 (0x1FE0, 0x1FE7),
1204 (0x1FF2, 0x1FF4),
1205 (0x1FF6, 0x1FF7),
1206 (0x1FFC, 0x1FFC),
1207 (0x2071, 0x2071),
1208 (0x207F, 0x207F),
1209 (0x210A, 0x210A),
1210 (0x210E, 0x210F),
1211 (0x2113, 0x2113),
1212 (0x212F, 0x212F),
1213 (0x2134, 0x2134),
1214 (0x2139, 0x2139),
1215 (0x213C, 0x213D),
1216 (0x2146, 0x2149),
1217 (0x214E, 0x214E),
1218 (0x2184, 0x2184),
1219 (0x2C61, 0x2C61),
1220 (0x2C65, 0x2C65),
1221 (0x2C66, 0x2C66),
1222 (0x2C68, 0x2C68),
1223 (0x2C6A, 0x2C6A),
1224 (0x2C6C, 0x2C6C),
1225 (0x2C73, 0x2C73),
1226 (0x2C76, 0x2C76),
1227 (0x2C81, 0x2C81),
1228 (0x2C83, 0x2C83),
1229 (0x2C85, 0x2C85),
1230 (0x2C87, 0x2C87),
1231 (0x2C89, 0x2C89),
1232 (0x2C8B, 0x2C8B),
1233 (0x2C8D, 0x2C8D),
1234 (0x2C8F, 0x2C8F),
1235 (0x2C91, 0x2C91),
1236 (0x2C93, 0x2C93),
1237 (0x2C95, 0x2C95),
1238 (0x2C97, 0x2C97),
1239 (0x2C99, 0x2C99),
1240 (0x2C9B, 0x2C9B),
1241 (0x2C9D, 0x2C9D),
1242 (0x2C9F, 0x2C9F),
1243 (0x2CA1, 0x2CA1),
1244 (0x2CA3, 0x2CA3),
1245 (0x2CA5, 0x2CA5),
1246 (0x2CA7, 0x2CA7),
1247 (0x2CA9, 0x2CA9),
1248 (0x2CAB, 0x2CAB),
1249 (0x2CAD, 0x2CAD),
1250 (0x2CAF, 0x2CAF),
1251 (0x2CB1, 0x2CB1),
1252 (0x2CB3, 0x2CB3),
1253 (0x2CB5, 0x2CB5),
1254 (0x2CB7, 0x2CB7),
1255 (0x2CB9, 0x2CB9),
1256 (0x2CBB, 0x2CBB),
1257 (0x2CBD, 0x2CBD),
1258 (0x2CBF, 0x2CBF),
1259 (0x2CC1, 0x2CC1),
1260 (0x2CC3, 0x2CC3),
1261 (0x2CC5, 0x2CC5),
1262 (0x2CC7, 0x2CC7),
1263 (0x2CC9, 0x2CC9),
1264 (0x2CCB, 0x2CCB),
1265 (0x2CCD, 0x2CCD),
1266 (0x2CCF, 0x2CCF),
1267 (0x2CD1, 0x2CD1),
1268 (0x2CD3, 0x2CD3),
1269 (0x2CD5, 0x2CD5),
1270 (0x2CD7, 0x2CD7),
1271 (0x2CD9, 0x2CD9),
1272 (0x2CDB, 0x2CDB),
1273 (0x2CDD, 0x2CDD),
1274 (0x2CDF, 0x2CDF),
1275 (0x2CE1, 0x2CE1),
1276 (0x2CE3, 0x2CE3),
1277 (0x2CE4, 0x2CE4),
1278 (0x2CEC, 0x2CEC),
1279 (0x2CEE, 0x2CEE),
1280 (0x2CF3, 0x2CF3),
1281 (0x2D01, 0x2D01),
1282 (0x2D03, 0x2D03),
1283 (0x2D05, 0x2D05),
1284 (0x2D07, 0x2D07),
1285 (0x2D09, 0x2D09),
1286 (0x2D0B, 0x2D0B),
1287 (0x2D0D, 0x2D0D),
1288 (0x2D10, 0x2D10),
1289 (0x2D12, 0x2D12),
1290 (0x2D14, 0x2D14),
1291 (0x2D16, 0x2D16),
1292 (0x2D18, 0x2D18),
1293 (0x2D1A, 0x2D1A),
1294 (0x2D1C, 0x2D1C),
1295 (0x2D1E, 0x2D1E),
1296 (0x2D21, 0x2D21),
1297 (0x2D23, 0x2D23),
1298 (0x2D25, 0x2D25),
1299 (0x2D27, 0x2D27),
1300 (0x2D2D, 0x2D2D),
1301 (0xA641, 0xA641),
1302 (0xA643, 0xA643),
1303 (0xA645, 0xA645),
1304 (0xA647, 0xA647),
1305 (0xA649, 0xA649),
1306 (0xA64B, 0xA64B),
1307 (0xA64D, 0xA64D),
1308 (0xA64F, 0xA64F),
1309 (0xA651, 0xA651),
1310 (0xA653, 0xA653),
1311 (0xA655, 0xA655),
1312 (0xA657, 0xA657),
1313 (0xA659, 0xA659),
1314 (0xA65B, 0xA65B),
1315 (0xA65D, 0xA65D),
1316 (0xA65F, 0xA65F),
1317 (0xA661, 0xA661),
1318 (0xA663, 0xA663),
1319 (0xA665, 0xA665),
1320 (0xA667, 0xA667),
1321 (0xA669, 0xA669),
1322 (0xA66B, 0xA66B),
1323 (0xA66D, 0xA66D),
1324 (0xA681, 0xA681),
1325 (0xA683, 0xA683),
1326 (0xA685, 0xA685),
1327 (0xA687, 0xA687),
1328 (0xA689, 0xA689),
1329 (0xA68B, 0xA68B),
1330 (0xA68D, 0xA68D),
1331 (0xA68F, 0xA68F),
1332 (0xA691, 0xA691),
1333 (0xA693, 0xA693),
1334 (0xA695, 0xA695),
1335 (0xA697, 0xA697),
1336 (0xA699, 0xA699),
1337 (0xA69B, 0xA69B),
1338 (0xA723, 0xA723),
1339 (0xA725, 0xA725),
1340 (0xA727, 0xA727),
1341 (0xA729, 0xA729),
1342 (0xA72B, 0xA72B),
1343 (0xA72D, 0xA72D),
1344 (0xA72F, 0xA72F),
1345 (0xA733, 0xA733),
1346 (0xA735, 0xA735),
1347 (0xA737, 0xA737),
1348 (0xA739, 0xA739),
1349 (0xA73B, 0xA73B),
1350 (0xA73D, 0xA73D),
1351 (0xA73F, 0xA73F),
1352 (0xA741, 0xA741),
1353 (0xA743, 0xA743),
1354 (0xA745, 0xA745),
1355 (0xA747, 0xA747),
1356 (0xA749, 0xA749),
1357 (0xA74B, 0xA74B),
1358 (0xA74D, 0xA74D),
1359 (0xA74F, 0xA74F),
1360 (0xA751, 0xA751),
1361 (0xA753, 0xA753),
1362 (0xA755, 0xA755),
1363 (0xA757, 0xA757),
1364 (0xA759, 0xA759),
1365 (0xA75B, 0xA75B),
1366 (0xA75D, 0xA75D),
1367 (0xA75F, 0xA75F),
1368 (0xA761, 0xA761),
1369 (0xA763, 0xA763),
1370 (0xA765, 0xA765),
1371 (0xA767, 0xA767),
1372 (0xA769, 0xA769),
1373 (0xA76B, 0xA76B),
1374 (0xA76D, 0xA76D),
1375 (0xA76F, 0xA76F),
1376 (0xA77A, 0xA77A),
1377 (0xA77C, 0xA77C),
1378 (0xA77F, 0xA77F),
1379 (0xA781, 0xA781),
1380 (0xA783, 0xA783),
1381 (0xA785, 0xA785),
1382 (0xA787, 0xA787),
1383 (0xA78C, 0xA78C),
1384 (0xA78E, 0xA78E),
1385 (0xA791, 0xA791),
1386 (0xA793, 0xA793),
1387 (0xA794, 0xA795),
1388 (0xA797, 0xA797),
1389 (0xA799, 0xA799),
1390 (0xA79B, 0xA79B),
1391 (0xA79D, 0xA79D),
1392 (0xA79F, 0xA79F),
1393 (0xA7A1, 0xA7A1),
1394 (0xA7A3, 0xA7A3),
1395 (0xA7A5, 0xA7A5),
1396 (0xA7A7, 0xA7A7),
1397 (0xA7A9, 0xA7A9),
1398 (0xA7AF, 0xA7AF),
1399 (0xA7B3, 0xA7B3),
1400 (0xA7B4, 0xA7B4),
1401 (0xA7B6, 0xA7B6),
1402 (0xA7B8, 0xA7B8),
1403 (0xA7BA, 0xA7BA),
1404 (0xA7BC, 0xA7BC),
1405 (0xA7BE, 0xA7BE),
1406 (0xA7C0, 0xA7C0),
1407 (0xA7C2, 0xA7C2),
1408 (0xA7C5, 0xA7C5),
1409 (0xA7C6, 0xA7C6),
1410 (0xA7CB, 0xA7CB),
1411 (0xA7D1, 0xA7D1),
1412 (0xA7D3, 0xA7D3),
1413 (0xA7D5, 0xA7D5),
1414 (0xA7D7, 0xA7D7),
1415 (0xA7D9, 0xA7D9),
1416 (0xA7F6, 0xA7F6),
1417 (0xAB30, 0xAB5A),
1418 (0xAB60, 0xAB64),
1419 (0xAB65, 0xAB65),
1420 (0xFB00, 0xFB06),
1421 (0xFB13, 0xFB17),
1422 (0xFF41, 0xFF5A),
1423 (0x10428, 0x1044F),
1424 (0x10D30, 0x10D39),
1425 (0x1183A, 0x118BF),
1426 (0x16E80, 0x16E9F),
1427 (0x1D41A, 0x1D433),
1428 (0x1D44E, 0x1D454),
1429 (0x1D456, 0x1D467),
1430 (0x1D482, 0x1D49B),
1431 (0x1D4BD, 0x1D4C3),
1432 (0x1D4CD, 0x1D4CF),
1433 (0x1D4D7, 0x1D4EF),
1434 (0x1D4F1, 0x1D4F3),
1435 (0x1D4F5, 0x1D4F5),
1436 (0x1D504, 0x1D505),
1437 (0x1D50C, 0x1D514),
1438 (0x1D516, 0x1D51C),
1439 (0x1D53A, 0x1D53A),
1440 (0x1D545, 0x1D545),
1441 (0x1D551, 0x1D551),
1442 (0x1D7CA, 0x1D7CA),
1443 (0x1D7CB, 0x1D7CB),
1444]);
1445
1446pub const GC_DECIMAL_NUMBER: UnicodeRangeSet = UnicodeRangeSet::new(&[
1447 (0x0030, 0x0039),
1448 (0x0660, 0x0669),
1449 (0x06F0, 0x06F9),
1450 (0x07C0, 0x07C9),
1451 (0x0966, 0x096F),
1452 (0x09E6, 0x09EF),
1453 (0x0A66, 0x0A6F),
1454 (0x0AE6, 0x0AEF),
1455 (0x0B66, 0x0B6F),
1456 (0x0BE6, 0x0BEF),
1457 (0x0C66, 0x0C6F),
1458 (0x0CE6, 0x0CEF),
1459 (0x0D66, 0x0D6F),
1460 (0x0DE6, 0x0DEF),
1461 (0x0E50, 0x0E59),
1462 (0x0ED0, 0x0ED9),
1463 (0x0F20, 0x0F29),
1464 (0x1040, 0x1049),
1465 (0x1090, 0x1099),
1466 (0x17E0, 0x17E9),
1467 (0x1810, 0x1819),
1468 (0x1946, 0x194F),
1469 (0x1A80, 0x1A89),
1470 (0x1A90, 0x1A99),
1471 (0x1B50, 0x1B59),
1472 (0x1BB0, 0x1BB9),
1473 (0x1C40, 0x1C49),
1474 (0x1C50, 0x1C59),
1475 (0x2070, 0x2070),
1476 (0x2074, 0x2079),
1477 (0x2080, 0x2089),
1478 (0x2150, 0x2159),
1479 (0x2180, 0x2189),
1480 (0x2410, 0x2419),
1481 (0x2474, 0x2487),
1482 (0x2490, 0x2499),
1483 (0x2570, 0x2579),
1484 (0x2590, 0x2599),
1485 (0x25A0, 0x25A9),
1486 (0x25B0, 0x25B9),
1487 (0x25B6, 0x25B6),
1488 (0x25B7, 0x25B7),
1489 (0x25C0, 0x25C9),
1490 (0x25E0, 0x25E9),
1491 (0x25F0, 0x25F9),
1492 (0x262E, 0x262F),
1493 (0x2630, 0x2637),
1494 (0x2672, 0x267D),
1495 (0x2750, 0x2759),
1496 (0x2770, 0x2779),
1497 (0x2780, 0x2789),
1498 (0x2790, 0x2799),
1499 (0x2800, 0x2809),
1500 (0x2810, 0x2819),
1501 (0x2820, 0x2829),
1502 (0x2830, 0x2839),
1503 (0x2840, 0x2849),
1504 (0x2850, 0x2859),
1505 (0x2860, 0x2869),
1506 (0x2870, 0x2879),
1507 (0x2880, 0x2889),
1508 (0x2890, 0x2899),
1509 (0x28A0, 0x28A9),
1510 (0x28B0, 0x28B9),
1511 (0x28C0, 0x28C9),
1512 (0x2900, 0x2909),
1513 (0x2910, 0x2919),
1514 (0x2920, 0x2929),
1515 (0x2930, 0x2939),
1516 (0x2940, 0x2949),
1517 (0x2950, 0x2959),
1518 (0x2960, 0x2969),
1519 (0x2970, 0x2979),
1520 (0x2980, 0x2989),
1521 (0x2990, 0x2999),
1522 (0x29A0, 0x29A9),
1523 (0x29B0, 0x29B9),
1524 (0x29C0, 0x29C9),
1525 (0x29D0, 0x29D9),
1526 (0x29E0, 0x29E9),
1527 (0x29F0, 0x29F9),
1528 (0x2A00, 0x2A09),
1529 (0x2A10, 0x2A19),
1530 (0x2A20, 0x2A29),
1531 (0x2A30, 0x2A39),
1532 (0x2A40, 0x2A49),
1533 (0x2A50, 0x2A59),
1534 (0x2A60, 0x2A69),
1535 (0x2A70, 0x2A79),
1536 (0x2A80, 0x2A89),
1537 (0x2A90, 0x2A99),
1538 (0x2AA0, 0x2AA9),
1539 (0x2AB0, 0x2AB9),
1540 (0x2AC0, 0x2AC9),
1541 (0x2AD0, 0x2AD9),
1542 (0x2AE0, 0x2AE9),
1543 (0x2AF0, 0x2AF9),
1544 (0x2B50, 0x2B59),
1545 (0x2C30, 0x2C39),
1546 (0x2C60, 0x2C60),
1547 (0x2C80, 0x2C89),
1548 (0x2D00, 0x2D09),
1549 (0x2D30, 0x2D39),
1550 (0x2D80, 0x2D89),
1551 (0x2DD0, 0x2DD9),
1552 (0x3000, 0x3009),
1553 (0x3030, 0x3030),
1554 (0x3038, 0x303A),
1555 (0x3190, 0x3199),
1556 (0x3240, 0x3249),
1557 (0x3250, 0x3250),
1558 (0x3280, 0x3289),
1559 (0x32B0, 0x32BF),
1560 (0x3400, 0x3409),
1561 (0x3B00, 0x3B09),
1562 (0x3C00, 0x3C09),
1563 (0x4000, 0x4009),
1564 (0x4200, 0x4209),
1565 (0x4400, 0x4409),
1566 (0x4600, 0x4609),
1567 (0x4800, 0x4809),
1568 (0x4B00, 0x4B09),
1569 (0x4C00, 0x4C09),
1570 (0x4E00, 0x4E09),
1571 (0x5000, 0x5009),
1572 (0x5400, 0x5409),
1573 (0x5800, 0x5809),
1574 (0x5A00, 0x5A09),
1575 (0x5C00, 0x5C09),
1576 (0x5E00, 0x5E09),
1577 (0x6000, 0x6009),
1578 (0x6200, 0x6209),
1579 (0x6400, 0x6409),
1580 (0x6600, 0x6609),
1581 (0x6800, 0x6809),
1582 (0x6A00, 0x6A09),
1583 (0x6C00, 0x6C09),
1584 (0x6E00, 0x6E09),
1585 (0x7000, 0x7009),
1586 (0x7200, 0x7209),
1587 (0x7400, 0x7409),
1588 (0x7600, 0x7609),
1589 (0x7800, 0x7809),
1590 (0x7A00, 0x7A09),
1591 (0x7C00, 0x7C09),
1592 (0x7E00, 0x7E09),
1593 (0x8000, 0x8009),
1594 (0x8200, 0x8209),
1595 (0x8400, 0x8409),
1596 (0x8600, 0x8609),
1597 (0x8800, 0x8809),
1598 (0x8A00, 0x8A09),
1599 (0x8C00, 0x8C09),
1600 (0x8E00, 0x8E09),
1601 (0x9000, 0x9009),
1602 (0x9200, 0x9209),
1603 (0x9400, 0x9409),
1604 (0x9600, 0x9609),
1605 (0x9800, 0x9809),
1606 (0x9A00, 0x9A09),
1607 (0x9C00, 0x9C09),
1608 (0x9E00, 0x9E09),
1609 (0xA000, 0xA009),
1610 (0xA400, 0xA409),
1611 (0xA800, 0xA809),
1612 (0xAA00, 0xAA09),
1613 (0xAC00, 0xAC09),
1614 (0xAE00, 0xAE09),
1615 (0xF900, 0xF909),
1616 (0x10400, 0x10409),
1617 (0x10D30, 0x10D39),
1618 (0x11066, 0x11069),
1619 (0x110F0, 0x110F9),
1620 (0x11140, 0x11149),
1621 (0x111D0, 0x111D9),
1622 (0x112F0, 0x112F9),
1623 (0x11450, 0x11459),
1624 (0x114D0, 0x114D9),
1625 (0x11730, 0x11739),
1626 (0x11830, 0x11839),
1627 (0x11950, 0x11959),
1628 (0x11C50, 0x11C59),
1629 (0x11D00, 0x11D09),
1630 (0x11D50, 0x11D59),
1631 (0x11DA0, 0x11DA9),
1632 (0x12400, 0x12409),
1633 (0x12480, 0x12489),
1634 (0x13000, 0x13009),
1635 (0x16A60, 0x16A69),
1636 (0x1D2E0, 0x1D2E9),
1637 (0x1D360, 0x1D369),
1638 (0x1D7C0, 0x1D7C9),
1639 (0x1D800, 0x1D809),
1640 (0x1D800, 0x1D809),
1641 (0x1D834, 0x1D83D),
1642 (0x1D860, 0x1D869),
1643 (0x1D8A0, 0x1D8A9),
1644 (0x1F100, 0x1F10A),
1645]);
1646
1647pub const XID_START: UnicodeRangeSet = UnicodeRangeSet::new(&[
1649 (0x00AA, 0x00AA),
1650 (0x00B5, 0x00B5),
1651 (0x00BA, 0x00BA),
1652 (0x00C0, 0x00D6),
1653 (0x00D8, 0x00F6),
1654 (0x00F8, 0x02C1),
1655 (0x02C6, 0x02D1),
1656 (0x02E0, 0x02E4),
1657 (0x02EC, 0x02EC),
1658 (0x02EE, 0x02EE),
1659 (0x0370, 0x0374),
1660 (0x0376, 0x0377),
1661 (0x037B, 0x037D),
1662 (0x037F, 0x037F),
1663 (0x0386, 0x0386),
1664 (0x0388, 0x038A),
1665 (0x038C, 0x038C),
1666 (0x038E, 0x03A1),
1667 (0x03A3, 0x03F5),
1668 (0x03F7, 0x0481),
1669 (0x048A, 0x052F),
1670 (0x0531, 0x0556),
1671 (0x0559, 0x0559),
1672 (0x0560, 0x0588),
1673 (0x05D0, 0x05EA),
1674 (0x05EF, 0x05F2),
1675 (0x0620, 0x064A),
1676 (0x066E, 0x066F),
1677 (0x0671, 0x06D3),
1678 (0x06D5, 0x06D5),
1679 (0x06E5, 0x06E6),
1680 (0x06EE, 0x06EF),
1681 (0x06FA, 0x06FC),
1682 (0x06FF, 0x06FF),
1683 (0x0710, 0x0710),
1684 (0x0712, 0x072F),
1685 (0x074D, 0x07A5),
1686 (0x07B1, 0x07B1),
1687 (0x07CA, 0x07EA),
1688 (0x07F4, 0x07F5),
1689 (0x07FA, 0x07FA),
1690 (0x0800, 0x0815),
1691 (0x081A, 0x081A),
1692 (0x0824, 0x0824),
1693 (0x0828, 0x0828),
1694 (0x0840, 0x0858),
1695 (0x0860, 0x086A),
1696 (0x0870, 0x0887),
1697 (0x0889, 0x088F),
1698 (0x08A0, 0x08C9),
1699 (0x0904, 0x0939),
1700 (0x093D, 0x093D),
1701 (0x0950, 0x0950),
1702 (0x0958, 0x0961),
1703 (0x0971, 0x0980),
1704 (0x0985, 0x098C),
1705 (0x098F, 0x0990),
1706 (0x0993, 0x09A8),
1707 (0x09AA, 0x09B0),
1708 (0x09B2, 0x09B2),
1709 (0x09B6, 0x09B9),
1710 (0x09BD, 0x09BD),
1711 (0x09CE, 0x09CE),
1712 (0x09DC, 0x09DD),
1713 (0x09DF, 0x09E1),
1714 (0x09F0, 0x09F1),
1715 (0x09FC, 0x09FC),
1716 (0x0A05, 0x0A0A),
1717 (0x0A0F, 0x0A10),
1718 (0x0A13, 0x0A28),
1719 (0x0A2A, 0x0A30),
1720 (0x0A32, 0x0A33),
1721 (0x0A35, 0x0A36),
1722 (0x0A38, 0x0A39),
1723 (0x0A59, 0x0A5C),
1724 (0x0A5E, 0x0A5E),
1725 (0x0A72, 0x0A74),
1726 (0x0A85, 0x0A8D),
1727 (0x0A8F, 0x0A91),
1728 (0x0A93, 0x0AA8),
1729 (0x0AAA, 0x0AB0),
1730 (0x0AB2, 0x0AB3),
1731 (0x0AB5, 0x0AB9),
1732 (0x0ABD, 0x0ABD),
1733 (0x0AD0, 0x0AD0),
1734 (0x0AE0, 0x0AE1),
1735 (0x0AF9, 0x0AF9),
1736 (0x0B05, 0x0B0C),
1737 (0x0B0F, 0x0B10),
1738 (0x0B13, 0x0B28),
1739 (0x0B2A, 0x0B30),
1740 (0x0B32, 0x0B33),
1741 (0x0B35, 0x0B39),
1742 (0x0B3D, 0x0B3D),
1743 (0x0B5C, 0x0B5D),
1744 (0x0B5F, 0x0B61),
1745 (0x0B71, 0x0B71),
1746 (0x0B83, 0x0B83),
1747 (0x0B85, 0x0B8A),
1748 (0x0B8E, 0x0B90),
1749 (0x0B92, 0x0B95),
1750 (0x0B99, 0x0B9A),
1751 (0x0B9C, 0x0B9C),
1752 (0x0B9E, 0x0B9F),
1753 (0x0BA3, 0x0BA4),
1754 (0x0BA8, 0x0BAA),
1755 (0x0BAE, 0x0BB9),
1756 (0x0BD0, 0x0BD0),
1757 (0x0C05, 0x0C0C),
1758 (0x0C0E, 0x0C10),
1759 (0x0C12, 0x0C28),
1760 (0x0C2A, 0x0C39),
1761 (0x0C3D, 0x0C3D),
1762 (0x0C58, 0x0C5A),
1763 (0x0C5C, 0x0C5D),
1764 (0x0C60, 0x0C61),
1765 (0x0C80, 0x0C80),
1766 (0x0C85, 0x0C8C),
1767 (0x0C8E, 0x0C90),
1768 (0x0C92, 0x0CA8),
1769 (0x0CAA, 0x0CB3),
1770 (0x0CB5, 0x0CB9),
1771 (0x0CBD, 0x0CBD),
1772 (0x0CDC, 0x0CDE),
1773 (0x0CE0, 0x0CE1),
1774 (0x0CF1, 0x0CF2),
1775 (0x0D04, 0x0D0C),
1776 (0x0D0E, 0x0D10),
1777 (0x0D12, 0x0D3A),
1778 (0x0D3D, 0x0D3D),
1779 (0x0D4E, 0x0D4E),
1780 (0x0D54, 0x0D56),
1781 (0x0D5F, 0x0D61),
1782 (0x0D7A, 0x0D7F),
1783 (0x0D85, 0x0D96),
1784 (0x0D9A, 0x0DB1),
1785 (0x0DB3, 0x0DBB),
1786 (0x0DBD, 0x0DBD),
1787 (0x0DC0, 0x0DC6),
1788 (0x0E01, 0x0E30),
1789 (0x0E32, 0x0E32),
1790 (0x0E40, 0x0E46),
1791 (0x0E81, 0x0E82),
1792 (0x0E84, 0x0E84),
1793 (0x0E86, 0x0E8A),
1794 (0x0E8C, 0x0EA3),
1795 (0x0EA5, 0x0EA5),
1796 (0x0EA7, 0x0EB0),
1797 (0x0EB2, 0x0EB2),
1798 (0x0EBD, 0x0EBD),
1799 (0x0EC0, 0x0EC4),
1800 (0x0EC6, 0x0EC6),
1801 (0x0EDC, 0x0EDF),
1802 (0x0F00, 0x0F00),
1803 (0x0F40, 0x0F47),
1804 (0x0F49, 0x0F6C),
1805 (0x0F88, 0x0F8C),
1806 (0x1000, 0x102A),
1807 (0x103F, 0x103F),
1808 (0x1050, 0x1055),
1809 (0x105A, 0x105D),
1810 (0x1061, 0x1061),
1811 (0x1065, 0x1066),
1812 (0x106E, 0x1070),
1813 (0x1075, 0x1081),
1814 (0x108E, 0x108E),
1815 (0x10A0, 0x10C5),
1816 (0x10C7, 0x10C7),
1817 (0x10CD, 0x10CD),
1818 (0x10D0, 0x10FA),
1819 (0x10FC, 0x1248),
1820 (0x124A, 0x124D),
1821 (0x1250, 0x1256),
1822 (0x1258, 0x1258),
1823 (0x125A, 0x125D),
1824 (0x1260, 0x1288),
1825 (0x128A, 0x128D),
1826 (0x1290, 0x12B0),
1827 (0x12B2, 0x12B5),
1828 (0x12B8, 0x12BE),
1829 (0x12C0, 0x12C0),
1830 (0x12C2, 0x12C5),
1831 (0x12C8, 0x12D6),
1832 (0x12D8, 0x1310),
1833 (0x1312, 0x1315),
1834 (0x1318, 0x135A),
1835 (0x1380, 0x138F),
1836 (0x13A0, 0x13F5),
1837 (0x13F8, 0x13FD),
1838 (0x1401, 0x166C),
1839 (0x166F, 0x167F),
1840 (0x1681, 0x169A),
1841 (0x16A0, 0x16EA),
1842 (0x16EE, 0x16F8),
1843 (0x1700, 0x1711),
1844 (0x171F, 0x1731),
1845 (0x1740, 0x1751),
1846 (0x1760, 0x176C),
1847 (0x176E, 0x1770),
1848 (0x1780, 0x17B3),
1849 (0x17D7, 0x17D7),
1850 (0x17DC, 0x17DC),
1851 (0x1820, 0x1878),
1852 (0x1880, 0x18A8),
1853 (0x18AA, 0x18AA),
1854 (0x18B0, 0x18F5),
1855 (0x1900, 0x191E),
1856 (0x1950, 0x196D),
1857 (0x1970, 0x1974),
1858 (0x1980, 0x19AB),
1859 (0x19B0, 0x19C9),
1860 (0x1A00, 0x1A16),
1861 (0x1A20, 0x1A54),
1862 (0x1AA7, 0x1AA7),
1863 (0x1B05, 0x1B33),
1864 (0x1B45, 0x1B4C),
1865 (0x1B83, 0x1BA0),
1866 (0x1BAE, 0x1BAF),
1867 (0x1BBA, 0x1BE5),
1868 (0x1C00, 0x1C23),
1869 (0x1C4D, 0x1C4F),
1870 (0x1C5A, 0x1C7D),
1871 (0x1C80, 0x1C8A),
1872 (0x1C90, 0x1CBA),
1873 (0x1CBD, 0x1CBF),
1874 (0x1CE9, 0x1CEC),
1875 (0x1CEE, 0x1CF3),
1876 (0x1CF5, 0x1CF6),
1877 (0x1CFA, 0x1CFA),
1878 (0x1D00, 0x1DBF),
1879 (0x1E00, 0x1F15),
1880 (0x1F18, 0x1F1D),
1881 (0x1F20, 0x1F45),
1882 (0x1F48, 0x1F4D),
1883 (0x1F50, 0x1F57),
1884 (0x1F59, 0x1F59),
1885 (0x1F5B, 0x1F5B),
1886 (0x1F5D, 0x1F5D),
1887 (0x1F5F, 0x1F7D),
1888 (0x1F80, 0x1FB4),
1889 (0x1FB6, 0x1FBC),
1890 (0x1FBE, 0x1FBE),
1891 (0x1FC2, 0x1FC4),
1892 (0x1FC6, 0x1FCC),
1893 (0x1FD0, 0x1FD3),
1894 (0x1FD6, 0x1FDB),
1895 (0x1FE0, 0x1FEC),
1896 (0x1FF2, 0x1FF4),
1897 (0x1FF6, 0x1FFC),
1898 (0x2071, 0x2071),
1899 (0x207F, 0x207F),
1900 (0x2090, 0x209C),
1901 (0x2102, 0x2102),
1902 (0x2107, 0x2107),
1903 (0x210A, 0x2113),
1904 (0x2115, 0x2115),
1905 (0x2118, 0x211D),
1906 (0x2124, 0x2124),
1907 (0x2126, 0x2126),
1908 (0x2128, 0x2128),
1909 (0x212A, 0x2139),
1910 (0x213C, 0x213F),
1911 (0x2145, 0x2149),
1912 (0x214E, 0x214E),
1913 (0x2160, 0x2188),
1914 (0x2C00, 0x2CE4),
1915 (0x2CEB, 0x2CEE),
1916 (0x2CF2, 0x2CF3),
1917 (0x2D00, 0x2D25),
1918 (0x2D27, 0x2D27),
1919 (0x2D2D, 0x2D2D),
1920 (0x2D30, 0x2D67),
1921 (0x2D6F, 0x2D6F),
1922 (0x2D80, 0x2D96),
1923 (0x2DA0, 0x2DA6),
1924 (0x2DA8, 0x2DAE),
1925 (0x2DB0, 0x2DB6),
1926 (0x2DB8, 0x2DBE),
1927 (0x2DC0, 0x2DC6),
1928 (0x2DC8, 0x2DCE),
1929 (0x2DD0, 0x2DD6),
1930 (0x2DD8, 0x2DDE),
1931 (0x3005, 0x3007),
1932 (0x3021, 0x3029),
1933 (0x3031, 0x3035),
1934 (0x3038, 0x303C),
1935 (0x3041, 0x3096),
1936 (0x309D, 0x309F),
1937 (0x30A1, 0x30FA),
1938 (0x30FC, 0x30FF),
1939 (0x3105, 0x312F),
1940 (0x3131, 0x318E),
1941 (0x31A0, 0x31BF),
1942 (0x31F0, 0x31FF),
1943 (0x3400, 0x4DBF),
1944 (0x4E00, 0xA48C),
1945 (0xA4D0, 0xA4FD),
1946 (0xA500, 0xA60C),
1947 (0xA610, 0xA61F),
1948 (0xA62A, 0xA62B),
1949 (0xA640, 0xA66E),
1950 (0xA67F, 0xA69D),
1951 (0xA6A0, 0xA6EF),
1952 (0xA717, 0xA71F),
1953 (0xA722, 0xA788),
1954 (0xA78B, 0xA7DC),
1955 (0xA7F1, 0xA801),
1956 (0xA803, 0xA805),
1957 (0xA807, 0xA80A),
1958 (0xA80C, 0xA822),
1959 (0xA840, 0xA873),
1960 (0xA882, 0xA8B3),
1961 (0xA8F2, 0xA8F7),
1962 (0xA8FB, 0xA8FB),
1963 (0xA8FD, 0xA8FE),
1964 (0xA90A, 0xA925),
1965 (0xA930, 0xA946),
1966 (0xA960, 0xA97C),
1967 (0xA984, 0xA9B2),
1968 (0xA9CF, 0xA9CF),
1969 (0xA9E0, 0xA9E4),
1970 (0xA9E6, 0xA9EF),
1971 (0xA9FA, 0xA9FE),
1972 (0xAA00, 0xAA28),
1973 (0xAA40, 0xAA42),
1974 (0xAA44, 0xAA4B),
1975 (0xAA60, 0xAA76),
1976 (0xAA7A, 0xAA7A),
1977 (0xAA7E, 0xAAAF),
1978 (0xAAB1, 0xAAB1),
1979 (0xAAB5, 0xAAB6),
1980 (0xAAB9, 0xAABD),
1981 (0xAAC0, 0xAAC0),
1982 (0xAAC2, 0xAAC2),
1983 (0xAADB, 0xAADD),
1984 (0xAAE0, 0xAAEA),
1985 (0xAAF2, 0xAAF4),
1986 (0xAB01, 0xAB06),
1987 (0xAB09, 0xAB0E),
1988 (0xAB11, 0xAB16),
1989 (0xAB20, 0xAB26),
1990 (0xAB28, 0xAB2E),
1991 (0xAB30, 0xAB5A),
1992 (0xAB5C, 0xAB69),
1993 (0xAB70, 0xABE2),
1994 (0xAC00, 0xD7A3),
1995 (0xD7B0, 0xD7C6),
1996 (0xD7CB, 0xD7FB),
1997 (0xF900, 0xFA6D),
1998 (0xFA70, 0xFAD9),
1999 (0xFB00, 0xFB06),
2000 (0xFB13, 0xFB17),
2001 (0xFB1D, 0xFB1D),
2002 (0xFB1F, 0xFB28),
2003 (0xFB2A, 0xFB36),
2004 (0xFB38, 0xFB3C),
2005 (0xFB3E, 0xFB3E),
2006 (0xFB40, 0xFB41),
2007 (0xFB43, 0xFB44),
2008 (0xFB46, 0xFBB1),
2009 (0xFBD3, 0xFC5D),
2010 (0xFC64, 0xFD3D),
2011 (0xFD50, 0xFD8F),
2012 (0xFD92, 0xFDC7),
2013 (0xFDF0, 0xFDF9),
2014 (0xFE71, 0xFE71),
2015 (0xFE73, 0xFE73),
2016 (0xFE77, 0xFE77),
2017 (0xFE79, 0xFE79),
2018 (0xFE7B, 0xFE7B),
2019 (0xFE7D, 0xFE7D),
2020 (0xFE7F, 0xFEFC),
2021 (0xFF21, 0xFF3A),
2022 (0xFF41, 0xFF5A),
2023 (0xFF66, 0xFF9D),
2024 (0xFFA0, 0xFFBE),
2025 (0xFFC2, 0xFFC7),
2026 (0xFFCA, 0xFFCF),
2027 (0xFFD2, 0xFFD7),
2028 (0xFFDA, 0xFFDC),
2029 (0x10000, 0x1000B),
2030 (0x1000D, 0x10026),
2031 (0x10028, 0x1003A),
2032 (0x1003C, 0x1003D),
2033 (0x1003F, 0x1004D),
2034 (0x10050, 0x1005D),
2035 (0x10080, 0x100FA),
2036 (0x10140, 0x10174),
2037 (0x10280, 0x1029C),
2038 (0x102A0, 0x102D0),
2039 (0x10300, 0x1031F),
2040 (0x1032D, 0x1034A),
2041 (0x10350, 0x10375),
2042 (0x10380, 0x1039D),
2043 (0x103A0, 0x103C3),
2044 (0x103C8, 0x103CF),
2045 (0x103D1, 0x103D5),
2046 (0x10400, 0x1049D),
2047 (0x104B0, 0x104D3),
2048 (0x104D8, 0x104FB),
2049 (0x10500, 0x10527),
2050 (0x10530, 0x10563),
2051 (0x10570, 0x1057A),
2052 (0x1057C, 0x1058A),
2053 (0x1058C, 0x10592),
2054 (0x10594, 0x10595),
2055 (0x10597, 0x105A1),
2056 (0x105A3, 0x105B1),
2057 (0x105B3, 0x105B9),
2058 (0x105BB, 0x105BC),
2059 (0x105C0, 0x105F3),
2060 (0x10600, 0x10736),
2061 (0x10740, 0x10755),
2062 (0x10760, 0x10767),
2063 (0x10780, 0x10785),
2064 (0x10787, 0x107B0),
2065 (0x107B2, 0x107BA),
2066 (0x10800, 0x10805),
2067 (0x10808, 0x10808),
2068 (0x1080A, 0x10835),
2069 (0x10837, 0x10838),
2070 (0x1083C, 0x1083C),
2071 (0x1083F, 0x10855),
2072 (0x10860, 0x10876),
2073 (0x10880, 0x1089E),
2074 (0x108E0, 0x108F2),
2075 (0x108F4, 0x108F5),
2076 (0x10900, 0x10915),
2077 (0x10920, 0x10939),
2078 (0x10940, 0x10959),
2079 (0x10980, 0x109B7),
2080 (0x109BE, 0x109BF),
2081 (0x10A00, 0x10A00),
2082 (0x10A10, 0x10A13),
2083 (0x10A15, 0x10A17),
2084 (0x10A19, 0x10A35),
2085 (0x10A60, 0x10A7C),
2086 (0x10A80, 0x10A9C),
2087 (0x10AC0, 0x10AC7),
2088 (0x10AC9, 0x10AE4),
2089 (0x10B00, 0x10B35),
2090 (0x10B40, 0x10B55),
2091 (0x10B60, 0x10B72),
2092 (0x10B80, 0x10B91),
2093 (0x10C00, 0x10C48),
2094 (0x10C80, 0x10CB2),
2095 (0x10CC0, 0x10CF2),
2096 (0x10D00, 0x10D23),
2097 (0x10D4A, 0x10D65),
2098 (0x10D6F, 0x10D85),
2099 (0x10E80, 0x10EA9),
2100 (0x10EB0, 0x10EB1),
2101 (0x10EC2, 0x10EC7),
2102 (0x10F00, 0x10F1C),
2103 (0x10F27, 0x10F27),
2104 (0x10F30, 0x10F45),
2105 (0x10F70, 0x10F81),
2106 (0x10FB0, 0x10FC4),
2107 (0x10FE0, 0x10FF6),
2108 (0x11003, 0x11037),
2109 (0x11071, 0x11072),
2110 (0x11075, 0x11075),
2111 (0x11083, 0x110AF),
2112 (0x110D0, 0x110E8),
2113 (0x11103, 0x11126),
2114 (0x11144, 0x11144),
2115 (0x11147, 0x11147),
2116 (0x11150, 0x11172),
2117 (0x11176, 0x11176),
2118 (0x11183, 0x111B2),
2119 (0x111C1, 0x111C4),
2120 (0x111DA, 0x111DA),
2121 (0x111DC, 0x111DC),
2122 (0x11200, 0x11211),
2123 (0x11213, 0x1122B),
2124 (0x1123F, 0x11240),
2125 (0x11280, 0x11286),
2126 (0x11288, 0x11288),
2127 (0x1128A, 0x1128D),
2128 (0x1128F, 0x1129D),
2129 (0x1129F, 0x112A8),
2130 (0x112B0, 0x112DE),
2131 (0x11305, 0x1130C),
2132 (0x1130F, 0x11310),
2133 (0x11313, 0x11328),
2134 (0x1132A, 0x11330),
2135 (0x11332, 0x11333),
2136 (0x11335, 0x11339),
2137 (0x1133D, 0x1133D),
2138 (0x11350, 0x11350),
2139 (0x1135D, 0x11361),
2140 (0x11380, 0x11389),
2141 (0x1138B, 0x1138B),
2142 (0x1138E, 0x1138E),
2143 (0x11390, 0x113B5),
2144 (0x113B7, 0x113B7),
2145 (0x113D1, 0x113D1),
2146 (0x113D3, 0x113D3),
2147 (0x11400, 0x11434),
2148 (0x11447, 0x1144A),
2149 (0x1145F, 0x11461),
2150 (0x11480, 0x114AF),
2151 (0x114C4, 0x114C5),
2152 (0x114C7, 0x114C7),
2153 (0x11580, 0x115AE),
2154 (0x115D8, 0x115DB),
2155 (0x11600, 0x1162F),
2156 (0x11644, 0x11644),
2157 (0x11680, 0x116AA),
2158 (0x116B8, 0x116B8),
2159 (0x11700, 0x1171A),
2160 (0x11740, 0x11746),
2161 (0x11800, 0x1182B),
2162 (0x118A0, 0x118DF),
2163 (0x118FF, 0x11906),
2164 (0x11909, 0x11909),
2165 (0x1190C, 0x11913),
2166 (0x11915, 0x11916),
2167 (0x11918, 0x1192F),
2168 (0x1193F, 0x1193F),
2169 (0x11941, 0x11941),
2170 (0x119A0, 0x119A7),
2171 (0x119AA, 0x119D0),
2172 (0x119E1, 0x119E1),
2173 (0x119E3, 0x119E3),
2174 (0x11A00, 0x11A00),
2175 (0x11A0B, 0x11A32),
2176 (0x11A3A, 0x11A3A),
2177 (0x11A50, 0x11A50),
2178 (0x11A5C, 0x11A89),
2179 (0x11A9D, 0x11A9D),
2180 (0x11AB0, 0x11AF8),
2181 (0x11BC0, 0x11BE0),
2182 (0x11C00, 0x11C08),
2183 (0x11C0A, 0x11C2E),
2184 (0x11C40, 0x11C40),
2185 (0x11C72, 0x11C8F),
2186 (0x11D00, 0x11D06),
2187 (0x11D08, 0x11D09),
2188 (0x11D0B, 0x11D30),
2189 (0x11D46, 0x11D46),
2190 (0x11D60, 0x11D65),
2191 (0x11D67, 0x11D68),
2192 (0x11D6A, 0x11D89),
2193 (0x11D98, 0x11D98),
2194 (0x11DB0, 0x11DDB),
2195 (0x11EE0, 0x11EF2),
2196 (0x11F02, 0x11F02),
2197 (0x11F04, 0x11F10),
2198 (0x11F12, 0x11F33),
2199 (0x11FB0, 0x11FB0),
2200 (0x12000, 0x12399),
2201 (0x12400, 0x1246E),
2202 (0x12480, 0x12543),
2203 (0x12F90, 0x12FF0),
2204 (0x13000, 0x1342F),
2205 (0x13441, 0x13446),
2206 (0x13460, 0x143FA),
2207 (0x14400, 0x14646),
2208 (0x16100, 0x1611D),
2209 (0x16800, 0x16A38),
2210 (0x16A40, 0x16A5E),
2211 (0x16A70, 0x16ABE),
2212 (0x16AD0, 0x16AED),
2213 (0x16B00, 0x16B2F),
2214 (0x16B40, 0x16B43),
2215 (0x16B63, 0x16B77),
2216 (0x16B7D, 0x16B8F),
2217 (0x16D40, 0x16D6C),
2218 (0x16E40, 0x16E7F),
2219 (0x16EA0, 0x16EB8),
2220 (0x16EBB, 0x16ED3),
2221 (0x16F00, 0x16F4A),
2222 (0x16F50, 0x16F50),
2223 (0x16F93, 0x16F9F),
2224 (0x16FE0, 0x16FE1),
2225 (0x16FE3, 0x16FE3),
2226 (0x16FF2, 0x16FF6),
2227 (0x17000, 0x18CD5),
2228 (0x18CFF, 0x18D1E),
2229 (0x18D80, 0x18DF2),
2230 (0x1AFF0, 0x1AFF3),
2231 (0x1AFF5, 0x1AFFB),
2232 (0x1AFFD, 0x1AFFE),
2233 (0x1B000, 0x1B122),
2234 (0x1B132, 0x1B132),
2235 (0x1B150, 0x1B152),
2236 (0x1B155, 0x1B155),
2237 (0x1B164, 0x1B167),
2238 (0x1B170, 0x1B2FB),
2239 (0x1BC00, 0x1BC6A),
2240 (0x1BC70, 0x1BC7C),
2241 (0x1BC80, 0x1BC88),
2242 (0x1BC90, 0x1BC99),
2243 (0x1D400, 0x1D454),
2244 (0x1D456, 0x1D49C),
2245 (0x1D49E, 0x1D49F),
2246 (0x1D4A2, 0x1D4A2),
2247 (0x1D4A5, 0x1D4A6),
2248 (0x1D4A9, 0x1D4AC),
2249 (0x1D4AE, 0x1D4B9),
2250 (0x1D4BB, 0x1D4BB),
2251 (0x1D4BD, 0x1D4C3),
2252 (0x1D4C5, 0x1D505),
2253 (0x1D507, 0x1D50A),
2254 (0x1D50D, 0x1D514),
2255 (0x1D516, 0x1D51C),
2256 (0x1D51E, 0x1D539),
2257 (0x1D53B, 0x1D53E),
2258 (0x1D540, 0x1D544),
2259 (0x1D546, 0x1D546),
2260 (0x1D54A, 0x1D550),
2261 (0x1D552, 0x1D6A5),
2262 (0x1D6A8, 0x1D6C0),
2263 (0x1D6C2, 0x1D6DA),
2264 (0x1D6DC, 0x1D6FA),
2265 (0x1D6FC, 0x1D714),
2266 (0x1D716, 0x1D734),
2267 (0x1D736, 0x1D74E),
2268 (0x1D750, 0x1D76E),
2269 (0x1D770, 0x1D788),
2270 (0x1D78A, 0x1D7A8),
2271 (0x1D7AA, 0x1D7C2),
2272 (0x1D7C4, 0x1D7CB),
2273 (0x1DF00, 0x1DF1E),
2274 (0x1DF25, 0x1DF2A),
2275 (0x1E030, 0x1E06D),
2276 (0x1E100, 0x1E12C),
2277 (0x1E137, 0x1E13D),
2278 (0x1E14E, 0x1E14E),
2279 (0x1E290, 0x1E2AD),
2280 (0x1E2C0, 0x1E2EB),
2281 (0x1E4D0, 0x1E4EB),
2282 (0x1E5D0, 0x1E5ED),
2283 (0x1E5F0, 0x1E5F0),
2284 (0x1E6C0, 0x1E6DE),
2285 (0x1E6E0, 0x1E6E2),
2286 (0x1E6E4, 0x1E6E5),
2287 (0x1E6E7, 0x1E6ED),
2288 (0x1E6F0, 0x1E6F4),
2289 (0x1E6FE, 0x1E6FF),
2290 (0x1E7E0, 0x1E7E6),
2291 (0x1E7E8, 0x1E7EB),
2292 (0x1E7ED, 0x1E7EE),
2293 (0x1E7F0, 0x1E7FE),
2294 (0x1E800, 0x1E8C4),
2295 (0x1E900, 0x1E943),
2296 (0x1E94B, 0x1E94B),
2297 (0x1EE00, 0x1EE03),
2298 (0x1EE05, 0x1EE1F),
2299 (0x1EE21, 0x1EE22),
2300 (0x1EE24, 0x1EE24),
2301 (0x1EE27, 0x1EE27),
2302 (0x1EE29, 0x1EE32),
2303 (0x1EE34, 0x1EE37),
2304 (0x1EE39, 0x1EE39),
2305 (0x1EE3B, 0x1EE3B),
2306 (0x1EE42, 0x1EE42),
2307 (0x1EE47, 0x1EE47),
2308 (0x1EE49, 0x1EE49),
2309 (0x1EE4B, 0x1EE4B),
2310 (0x1EE4D, 0x1EE4F),
2311 (0x1EE51, 0x1EE52),
2312 (0x1EE54, 0x1EE54),
2313 (0x1EE57, 0x1EE57),
2314 (0x1EE59, 0x1EE59),
2315 (0x1EE5B, 0x1EE5B),
2316 (0x1EE5D, 0x1EE5D),
2317 (0x1EE5F, 0x1EE5F),
2318 (0x1EE61, 0x1EE62),
2319 (0x1EE64, 0x1EE64),
2320 (0x1EE67, 0x1EE6A),
2321 (0x1EE6C, 0x1EE72),
2322 (0x1EE74, 0x1EE77),
2323 (0x1EE79, 0x1EE7C),
2324 (0x1EE7E, 0x1EE7E),
2325 (0x1EE80, 0x1EE89),
2326 (0x1EE8B, 0x1EE9B),
2327 (0x1EEA1, 0x1EEA3),
2328 (0x1EEA5, 0x1EEA9),
2329 (0x1EEAB, 0x1EEBB),
2330 (0x20000, 0x2A6DF),
2331 (0x2A700, 0x2B81D),
2332 (0x2B820, 0x2CEAD),
2333 (0x2CEB0, 0x2EBE0),
2334 (0x2EBF0, 0x2EE5D),
2335 (0x2F800, 0x2FA1D),
2336 (0x30000, 0x3134A),
2337 (0x31350, 0x33479),
2338]);
2339
2340pub const XID_CONTINUE: UnicodeRangeSet = UnicodeRangeSet::new(&[
2342 (0x00AA, 0x00AA),
2343 (0x00B5, 0x00B5),
2344 (0x00B7, 0x00B7),
2345 (0x00BA, 0x00BA),
2346 (0x00C0, 0x00D6),
2347 (0x00D8, 0x00F6),
2348 (0x00F8, 0x02C1),
2349 (0x02C6, 0x02D1),
2350 (0x02E0, 0x02E4),
2351 (0x02EC, 0x02EC),
2352 (0x02EE, 0x02EE),
2353 (0x0300, 0x0374),
2354 (0x0376, 0x0377),
2355 (0x037B, 0x037D),
2356 (0x037F, 0x037F),
2357 (0x0386, 0x038A),
2358 (0x038C, 0x038C),
2359 (0x038E, 0x03A1),
2360 (0x03A3, 0x03F5),
2361 (0x03F7, 0x0481),
2362 (0x0483, 0x0487),
2363 (0x048A, 0x052F),
2364 (0x0531, 0x0556),
2365 (0x0559, 0x0559),
2366 (0x0560, 0x0588),
2367 (0x0591, 0x05BD),
2368 (0x05BF, 0x05BF),
2369 (0x05C1, 0x05C2),
2370 (0x05C4, 0x05C5),
2371 (0x05C7, 0x05C7),
2372 (0x05D0, 0x05EA),
2373 (0x05EF, 0x05F2),
2374 (0x0610, 0x061A),
2375 (0x0620, 0x0669),
2376 (0x066E, 0x06D3),
2377 (0x06D5, 0x06DC),
2378 (0x06DF, 0x06E8),
2379 (0x06EA, 0x06FC),
2380 (0x06FF, 0x06FF),
2381 (0x0710, 0x074A),
2382 (0x074D, 0x07B1),
2383 (0x07C0, 0x07F5),
2384 (0x07FA, 0x07FA),
2385 (0x07FD, 0x07FD),
2386 (0x0800, 0x082D),
2387 (0x0840, 0x085B),
2388 (0x0860, 0x086A),
2389 (0x0870, 0x0887),
2390 (0x0889, 0x088F),
2391 (0x0897, 0x08E1),
2392 (0x08E3, 0x0963),
2393 (0x0966, 0x096F),
2394 (0x0971, 0x0983),
2395 (0x0985, 0x098C),
2396 (0x098F, 0x0990),
2397 (0x0993, 0x09A8),
2398 (0x09AA, 0x09B0),
2399 (0x09B2, 0x09B2),
2400 (0x09B6, 0x09B9),
2401 (0x09BC, 0x09C4),
2402 (0x09C7, 0x09C8),
2403 (0x09CB, 0x09CE),
2404 (0x09D7, 0x09D7),
2405 (0x09DC, 0x09DD),
2406 (0x09DF, 0x09E3),
2407 (0x09E6, 0x09F1),
2408 (0x09FC, 0x09FC),
2409 (0x09FE, 0x09FE),
2410 (0x0A01, 0x0A03),
2411 (0x0A05, 0x0A0A),
2412 (0x0A0F, 0x0A10),
2413 (0x0A13, 0x0A28),
2414 (0x0A2A, 0x0A30),
2415 (0x0A32, 0x0A33),
2416 (0x0A35, 0x0A36),
2417 (0x0A38, 0x0A39),
2418 (0x0A3C, 0x0A3C),
2419 (0x0A3E, 0x0A42),
2420 (0x0A47, 0x0A48),
2421 (0x0A4B, 0x0A4D),
2422 (0x0A51, 0x0A51),
2423 (0x0A59, 0x0A5C),
2424 (0x0A5E, 0x0A5E),
2425 (0x0A66, 0x0A75),
2426 (0x0A81, 0x0A83),
2427 (0x0A85, 0x0A8D),
2428 (0x0A8F, 0x0A91),
2429 (0x0A93, 0x0AA8),
2430 (0x0AAA, 0x0AB0),
2431 (0x0AB2, 0x0AB3),
2432 (0x0AB5, 0x0AB9),
2433 (0x0ABC, 0x0AC5),
2434 (0x0AC7, 0x0AC9),
2435 (0x0ACB, 0x0ACD),
2436 (0x0AD0, 0x0AD0),
2437 (0x0AE0, 0x0AE3),
2438 (0x0AE6, 0x0AEF),
2439 (0x0AF9, 0x0AFF),
2440 (0x0B01, 0x0B03),
2441 (0x0B05, 0x0B0C),
2442 (0x0B0F, 0x0B10),
2443 (0x0B13, 0x0B28),
2444 (0x0B2A, 0x0B30),
2445 (0x0B32, 0x0B33),
2446 (0x0B35, 0x0B39),
2447 (0x0B3C, 0x0B44),
2448 (0x0B47, 0x0B48),
2449 (0x0B4B, 0x0B4D),
2450 (0x0B55, 0x0B57),
2451 (0x0B5C, 0x0B5D),
2452 (0x0B5F, 0x0B63),
2453 (0x0B66, 0x0B6F),
2454 (0x0B71, 0x0B71),
2455 (0x0B82, 0x0B83),
2456 (0x0B85, 0x0B8A),
2457 (0x0B8E, 0x0B90),
2458 (0x0B92, 0x0B95),
2459 (0x0B99, 0x0B9A),
2460 (0x0B9C, 0x0B9C),
2461 (0x0B9E, 0x0B9F),
2462 (0x0BA3, 0x0BA4),
2463 (0x0BA8, 0x0BAA),
2464 (0x0BAE, 0x0BB9),
2465 (0x0BBE, 0x0BC2),
2466 (0x0BC6, 0x0BC8),
2467 (0x0BCA, 0x0BCD),
2468 (0x0BD0, 0x0BD0),
2469 (0x0BD7, 0x0BD7),
2470 (0x0BE6, 0x0BEF),
2471 (0x0C00, 0x0C0C),
2472 (0x0C0E, 0x0C10),
2473 (0x0C12, 0x0C28),
2474 (0x0C2A, 0x0C39),
2475 (0x0C3C, 0x0C44),
2476 (0x0C46, 0x0C48),
2477 (0x0C4A, 0x0C4D),
2478 (0x0C55, 0x0C56),
2479 (0x0C58, 0x0C5A),
2480 (0x0C5C, 0x0C5D),
2481 (0x0C60, 0x0C63),
2482 (0x0C66, 0x0C6F),
2483 (0x0C80, 0x0C83),
2484 (0x0C85, 0x0C8C),
2485 (0x0C8E, 0x0C90),
2486 (0x0C92, 0x0CA8),
2487 (0x0CAA, 0x0CB3),
2488 (0x0CB5, 0x0CB9),
2489 (0x0CBC, 0x0CC4),
2490 (0x0CC6, 0x0CC8),
2491 (0x0CCA, 0x0CCD),
2492 (0x0CD5, 0x0CD6),
2493 (0x0CDC, 0x0CDE),
2494 (0x0CE0, 0x0CE3),
2495 (0x0CE6, 0x0CEF),
2496 (0x0CF1, 0x0CF3),
2497 (0x0D00, 0x0D0C),
2498 (0x0D0E, 0x0D10),
2499 (0x0D12, 0x0D44),
2500 (0x0D46, 0x0D48),
2501 (0x0D4A, 0x0D4E),
2502 (0x0D54, 0x0D57),
2503 (0x0D5F, 0x0D63),
2504 (0x0D66, 0x0D6F),
2505 (0x0D7A, 0x0D7F),
2506 (0x0D81, 0x0D83),
2507 (0x0D85, 0x0D96),
2508 (0x0D9A, 0x0DB1),
2509 (0x0DB3, 0x0DBB),
2510 (0x0DBD, 0x0DBD),
2511 (0x0DC0, 0x0DC6),
2512 (0x0DCA, 0x0DCA),
2513 (0x0DCF, 0x0DD4),
2514 (0x0DD6, 0x0DD6),
2515 (0x0DD8, 0x0DDF),
2516 (0x0DE6, 0x0DEF),
2517 (0x0DF2, 0x0DF3),
2518 (0x0E01, 0x0E3A),
2519 (0x0E40, 0x0E4E),
2520 (0x0E50, 0x0E59),
2521 (0x0E81, 0x0E82),
2522 (0x0E84, 0x0E84),
2523 (0x0E86, 0x0E8A),
2524 (0x0E8C, 0x0EA3),
2525 (0x0EA5, 0x0EA5),
2526 (0x0EA7, 0x0EBD),
2527 (0x0EC0, 0x0EC4),
2528 (0x0EC6, 0x0EC6),
2529 (0x0EC8, 0x0ECE),
2530 (0x0ED0, 0x0ED9),
2531 (0x0EDC, 0x0EDF),
2532 (0x0F00, 0x0F00),
2533 (0x0F18, 0x0F19),
2534 (0x0F20, 0x0F29),
2535 (0x0F35, 0x0F35),
2536 (0x0F37, 0x0F37),
2537 (0x0F39, 0x0F39),
2538 (0x0F3E, 0x0F47),
2539 (0x0F49, 0x0F6C),
2540 (0x0F71, 0x0F84),
2541 (0x0F86, 0x0F97),
2542 (0x0F99, 0x0FBC),
2543 (0x0FC6, 0x0FC6),
2544 (0x1000, 0x1049),
2545 (0x1050, 0x109D),
2546 (0x10A0, 0x10C5),
2547 (0x10C7, 0x10C7),
2548 (0x10CD, 0x10CD),
2549 (0x10D0, 0x10FA),
2550 (0x10FC, 0x1248),
2551 (0x124A, 0x124D),
2552 (0x1250, 0x1256),
2553 (0x1258, 0x1258),
2554 (0x125A, 0x125D),
2555 (0x1260, 0x1288),
2556 (0x128A, 0x128D),
2557 (0x1290, 0x12B0),
2558 (0x12B2, 0x12B5),
2559 (0x12B8, 0x12BE),
2560 (0x12C0, 0x12C0),
2561 (0x12C2, 0x12C5),
2562 (0x12C8, 0x12D6),
2563 (0x12D8, 0x1310),
2564 (0x1312, 0x1315),
2565 (0x1318, 0x135A),
2566 (0x135D, 0x135F),
2567 (0x1369, 0x1371),
2568 (0x1380, 0x138F),
2569 (0x13A0, 0x13F5),
2570 (0x13F8, 0x13FD),
2571 (0x1401, 0x166C),
2572 (0x166F, 0x167F),
2573 (0x1681, 0x169A),
2574 (0x16A0, 0x16EA),
2575 (0x16EE, 0x16F8),
2576 (0x1700, 0x1715),
2577 (0x171F, 0x1734),
2578 (0x1740, 0x1753),
2579 (0x1760, 0x176C),
2580 (0x176E, 0x1770),
2581 (0x1772, 0x1773),
2582 (0x1780, 0x17D3),
2583 (0x17D7, 0x17D7),
2584 (0x17DC, 0x17DD),
2585 (0x17E0, 0x17E9),
2586 (0x180B, 0x180D),
2587 (0x180F, 0x1819),
2588 (0x1820, 0x1878),
2589 (0x1880, 0x18AA),
2590 (0x18B0, 0x18F5),
2591 (0x1900, 0x191E),
2592 (0x1920, 0x192B),
2593 (0x1930, 0x193B),
2594 (0x1946, 0x196D),
2595 (0x1970, 0x1974),
2596 (0x1980, 0x19AB),
2597 (0x19B0, 0x19C9),
2598 (0x19D0, 0x19DA),
2599 (0x1A00, 0x1A1B),
2600 (0x1A20, 0x1A5E),
2601 (0x1A60, 0x1A7C),
2602 (0x1A7F, 0x1A89),
2603 (0x1A90, 0x1A99),
2604 (0x1AA7, 0x1AA7),
2605 (0x1AB0, 0x1ABD),
2606 (0x1ABF, 0x1ADD),
2607 (0x1AE0, 0x1AEB),
2608 (0x1B00, 0x1B4C),
2609 (0x1B50, 0x1B59),
2610 (0x1B6B, 0x1B73),
2611 (0x1B80, 0x1BF3),
2612 (0x1C00, 0x1C37),
2613 (0x1C40, 0x1C49),
2614 (0x1C4D, 0x1C7D),
2615 (0x1C80, 0x1C8A),
2616 (0x1C90, 0x1CBA),
2617 (0x1CBD, 0x1CBF),
2618 (0x1CD0, 0x1CD2),
2619 (0x1CD4, 0x1CFA),
2620 (0x1D00, 0x1F15),
2621 (0x1F18, 0x1F1D),
2622 (0x1F20, 0x1F45),
2623 (0x1F48, 0x1F4D),
2624 (0x1F50, 0x1F57),
2625 (0x1F59, 0x1F59),
2626 (0x1F5B, 0x1F5B),
2627 (0x1F5D, 0x1F5D),
2628 (0x1F5F, 0x1F7D),
2629 (0x1F80, 0x1FB4),
2630 (0x1FB6, 0x1FBC),
2631 (0x1FBE, 0x1FBE),
2632 (0x1FC2, 0x1FC4),
2633 (0x1FC6, 0x1FCC),
2634 (0x1FD0, 0x1FD3),
2635 (0x1FD6, 0x1FDB),
2636 (0x1FE0, 0x1FEC),
2637 (0x1FF2, 0x1FF4),
2638 (0x1FF6, 0x1FFC),
2639 (0x200C, 0x200D),
2640 (0x203F, 0x2040),
2641 (0x2054, 0x2054),
2642 (0x2071, 0x2071),
2643 (0x207F, 0x207F),
2644 (0x2090, 0x209C),
2645 (0x20D0, 0x20DC),
2646 (0x20E1, 0x20E1),
2647 (0x20E5, 0x20F0),
2648 (0x2102, 0x2102),
2649 (0x2107, 0x2107),
2650 (0x210A, 0x2113),
2651 (0x2115, 0x2115),
2652 (0x2118, 0x211D),
2653 (0x2124, 0x2124),
2654 (0x2126, 0x2126),
2655 (0x2128, 0x2128),
2656 (0x212A, 0x2139),
2657 (0x213C, 0x213F),
2658 (0x2145, 0x2149),
2659 (0x214E, 0x214E),
2660 (0x2160, 0x2188),
2661 (0x2C00, 0x2CE4),
2662 (0x2CEB, 0x2CF3),
2663 (0x2D00, 0x2D25),
2664 (0x2D27, 0x2D27),
2665 (0x2D2D, 0x2D2D),
2666 (0x2D30, 0x2D67),
2667 (0x2D6F, 0x2D6F),
2668 (0x2D7F, 0x2D96),
2669 (0x2DA0, 0x2DA6),
2670 (0x2DA8, 0x2DAE),
2671 (0x2DB0, 0x2DB6),
2672 (0x2DB8, 0x2DBE),
2673 (0x2DC0, 0x2DC6),
2674 (0x2DC8, 0x2DCE),
2675 (0x2DD0, 0x2DD6),
2676 (0x2DD8, 0x2DDE),
2677 (0x2DE0, 0x2DFF),
2678 (0x3005, 0x3007),
2679 (0x3021, 0x302F),
2680 (0x3031, 0x3035),
2681 (0x3038, 0x303C),
2682 (0x3041, 0x3096),
2683 (0x3099, 0x309A),
2684 (0x309D, 0x309F),
2685 (0x30A1, 0x30FF),
2686 (0x3105, 0x312F),
2687 (0x3131, 0x318E),
2688 (0x31A0, 0x31BF),
2689 (0x31F0, 0x31FF),
2690 (0x3400, 0x4DBF),
2691 (0x4E00, 0xA48C),
2692 (0xA4D0, 0xA4FD),
2693 (0xA500, 0xA60C),
2694 (0xA610, 0xA62B),
2695 (0xA640, 0xA66F),
2696 (0xA674, 0xA67D),
2697 (0xA67F, 0xA6F1),
2698 (0xA717, 0xA71F),
2699 (0xA722, 0xA788),
2700 (0xA78B, 0xA7DC),
2701 (0xA7F1, 0xA827),
2702 (0xA82C, 0xA82C),
2703 (0xA840, 0xA873),
2704 (0xA880, 0xA8C5),
2705 (0xA8D0, 0xA8D9),
2706 (0xA8E0, 0xA8F7),
2707 (0xA8FB, 0xA8FB),
2708 (0xA8FD, 0xA92D),
2709 (0xA930, 0xA953),
2710 (0xA960, 0xA97C),
2711 (0xA980, 0xA9C0),
2712 (0xA9CF, 0xA9D9),
2713 (0xA9E0, 0xA9FE),
2714 (0xAA00, 0xAA36),
2715 (0xAA40, 0xAA4D),
2716 (0xAA50, 0xAA59),
2717 (0xAA60, 0xAA76),
2718 (0xAA7A, 0xAAC2),
2719 (0xAADB, 0xAADD),
2720 (0xAAE0, 0xAAEF),
2721 (0xAAF2, 0xAAF6),
2722 (0xAB01, 0xAB06),
2723 (0xAB09, 0xAB0E),
2724 (0xAB11, 0xAB16),
2725 (0xAB20, 0xAB26),
2726 (0xAB28, 0xAB2E),
2727 (0xAB30, 0xAB5A),
2728 (0xAB5C, 0xAB69),
2729 (0xAB70, 0xABEA),
2730 (0xABEC, 0xABED),
2731 (0xABF0, 0xABF9),
2732 (0xAC00, 0xD7A3),
2733 (0xD7B0, 0xD7C6),
2734 (0xD7CB, 0xD7FB),
2735 (0xF900, 0xFA6D),
2736 (0xFA70, 0xFAD9),
2737 (0xFB00, 0xFB06),
2738 (0xFB13, 0xFB17),
2739 (0xFB1D, 0xFB28),
2740 (0xFB2A, 0xFB36),
2741 (0xFB38, 0xFB3C),
2742 (0xFB3E, 0xFB3E),
2743 (0xFB40, 0xFB41),
2744 (0xFB43, 0xFB44),
2745 (0xFB46, 0xFBB1),
2746 (0xFBD3, 0xFC5D),
2747 (0xFC64, 0xFD3D),
2748 (0xFD50, 0xFD8F),
2749 (0xFD92, 0xFDC7),
2750 (0xFDF0, 0xFDF9),
2751 (0xFE00, 0xFE0F),
2752 (0xFE20, 0xFE2F),
2753 (0xFE33, 0xFE34),
2754 (0xFE4D, 0xFE4F),
2755 (0xFE71, 0xFE71),
2756 (0xFE73, 0xFE73),
2757 (0xFE77, 0xFE77),
2758 (0xFE79, 0xFE79),
2759 (0xFE7B, 0xFE7B),
2760 (0xFE7D, 0xFE7D),
2761 (0xFE7F, 0xFEFC),
2762 (0xFF10, 0xFF19),
2763 (0xFF21, 0xFF3A),
2764 (0xFF3F, 0xFF3F),
2765 (0xFF41, 0xFF5A),
2766 (0xFF65, 0xFFBE),
2767 (0xFFC2, 0xFFC7),
2768 (0xFFCA, 0xFFCF),
2769 (0xFFD2, 0xFFD7),
2770 (0xFFDA, 0xFFDC),
2771 (0x10000, 0x1000B),
2772 (0x1000D, 0x10026),
2773 (0x10028, 0x1003A),
2774 (0x1003C, 0x1003D),
2775 (0x1003F, 0x1004D),
2776 (0x10050, 0x1005D),
2777 (0x10080, 0x100FA),
2778 (0x10140, 0x10174),
2779 (0x101FD, 0x101FD),
2780 (0x10280, 0x1029C),
2781 (0x102A0, 0x102D0),
2782 (0x102E0, 0x102E0),
2783 (0x10300, 0x1031F),
2784 (0x1032D, 0x1034A),
2785 (0x10350, 0x1037A),
2786 (0x10380, 0x1039D),
2787 (0x103A0, 0x103C3),
2788 (0x103C8, 0x103CF),
2789 (0x103D1, 0x103D5),
2790 (0x10400, 0x1049D),
2791 (0x104A0, 0x104A9),
2792 (0x104B0, 0x104D3),
2793 (0x104D8, 0x104FB),
2794 (0x10500, 0x10527),
2795 (0x10530, 0x10563),
2796 (0x10570, 0x1057A),
2797 (0x1057C, 0x1058A),
2798 (0x1058C, 0x10592),
2799 (0x10594, 0x10595),
2800 (0x10597, 0x105A1),
2801 (0x105A3, 0x105B1),
2802 (0x105B3, 0x105B9),
2803 (0x105BB, 0x105BC),
2804 (0x105C0, 0x105F3),
2805 (0x10600, 0x10736),
2806 (0x10740, 0x10755),
2807 (0x10760, 0x10767),
2808 (0x10780, 0x10785),
2809 (0x10787, 0x107B0),
2810 (0x107B2, 0x107BA),
2811 (0x10800, 0x10805),
2812 (0x10808, 0x10808),
2813 (0x1080A, 0x10835),
2814 (0x10837, 0x10838),
2815 (0x1083C, 0x1083C),
2816 (0x1083F, 0x10855),
2817 (0x10860, 0x10876),
2818 (0x10880, 0x1089E),
2819 (0x108E0, 0x108F2),
2820 (0x108F4, 0x108F5),
2821 (0x10900, 0x10915),
2822 (0x10920, 0x10939),
2823 (0x10940, 0x10959),
2824 (0x10980, 0x109B7),
2825 (0x109BE, 0x109BF),
2826 (0x10A00, 0x10A03),
2827 (0x10A05, 0x10A06),
2828 (0x10A0C, 0x10A13),
2829 (0x10A15, 0x10A17),
2830 (0x10A19, 0x10A35),
2831 (0x10A38, 0x10A3A),
2832 (0x10A3F, 0x10A3F),
2833 (0x10A60, 0x10A7C),
2834 (0x10A80, 0x10A9C),
2835 (0x10AC0, 0x10AC7),
2836 (0x10AC9, 0x10AE6),
2837 (0x10B00, 0x10B35),
2838 (0x10B40, 0x10B55),
2839 (0x10B60, 0x10B72),
2840 (0x10B80, 0x10B91),
2841 (0x10C00, 0x10C48),
2842 (0x10C80, 0x10CB2),
2843 (0x10CC0, 0x10CF2),
2844 (0x10D00, 0x10D27),
2845 (0x10D30, 0x10D39),
2846 (0x10D40, 0x10D65),
2847 (0x10D69, 0x10D6D),
2848 (0x10D6F, 0x10D85),
2849 (0x10E80, 0x10EA9),
2850 (0x10EAB, 0x10EAC),
2851 (0x10EB0, 0x10EB1),
2852 (0x10EC2, 0x10EC7),
2853 (0x10EFA, 0x10F1C),
2854 (0x10F27, 0x10F27),
2855 (0x10F30, 0x10F50),
2856 (0x10F70, 0x10F85),
2857 (0x10FB0, 0x10FC4),
2858 (0x10FE0, 0x10FF6),
2859 (0x11000, 0x11046),
2860 (0x11066, 0x11075),
2861 (0x1107F, 0x110BA),
2862 (0x110C2, 0x110C2),
2863 (0x110D0, 0x110E8),
2864 (0x110F0, 0x110F9),
2865 (0x11100, 0x11134),
2866 (0x11136, 0x1113F),
2867 (0x11144, 0x11147),
2868 (0x11150, 0x11173),
2869 (0x11176, 0x11176),
2870 (0x11180, 0x111C4),
2871 (0x111C9, 0x111CC),
2872 (0x111CE, 0x111DA),
2873 (0x111DC, 0x111DC),
2874 (0x11200, 0x11211),
2875 (0x11213, 0x11237),
2876 (0x1123E, 0x11241),
2877 (0x11280, 0x11286),
2878 (0x11288, 0x11288),
2879 (0x1128A, 0x1128D),
2880 (0x1128F, 0x1129D),
2881 (0x1129F, 0x112A8),
2882 (0x112B0, 0x112EA),
2883 (0x112F0, 0x112F9),
2884 (0x11300, 0x11303),
2885 (0x11305, 0x1130C),
2886 (0x1130F, 0x11310),
2887 (0x11313, 0x11328),
2888 (0x1132A, 0x11330),
2889 (0x11332, 0x11333),
2890 (0x11335, 0x11339),
2891 (0x1133B, 0x11344),
2892 (0x11347, 0x11348),
2893 (0x1134B, 0x1134D),
2894 (0x11350, 0x11350),
2895 (0x11357, 0x11357),
2896 (0x1135D, 0x11363),
2897 (0x11366, 0x1136C),
2898 (0x11370, 0x11374),
2899 (0x11380, 0x11389),
2900 (0x1138B, 0x1138B),
2901 (0x1138E, 0x1138E),
2902 (0x11390, 0x113B5),
2903 (0x113B7, 0x113C0),
2904 (0x113C2, 0x113C2),
2905 (0x113C5, 0x113C5),
2906 (0x113C7, 0x113CA),
2907 (0x113CC, 0x113D3),
2908 (0x113E1, 0x113E2),
2909 (0x11400, 0x1144A),
2910 (0x11450, 0x11459),
2911 (0x1145E, 0x11461),
2912 (0x11480, 0x114C5),
2913 (0x114C7, 0x114C7),
2914 (0x114D0, 0x114D9),
2915 (0x11580, 0x115B5),
2916 (0x115B8, 0x115C0),
2917 (0x115D8, 0x115DD),
2918 (0x11600, 0x11640),
2919 (0x11644, 0x11644),
2920 (0x11650, 0x11659),
2921 (0x11680, 0x116B8),
2922 (0x116C0, 0x116C9),
2923 (0x116D0, 0x116E3),
2924 (0x11700, 0x1171A),
2925 (0x1171D, 0x1172B),
2926 (0x11730, 0x11739),
2927 (0x11740, 0x11746),
2928 (0x11800, 0x1183A),
2929 (0x118A0, 0x118E9),
2930 (0x118FF, 0x11906),
2931 (0x11909, 0x11909),
2932 (0x1190C, 0x11913),
2933 (0x11915, 0x11916),
2934 (0x11918, 0x11935),
2935 (0x11937, 0x11938),
2936 (0x1193B, 0x11943),
2937 (0x11950, 0x11959),
2938 (0x119A0, 0x119A7),
2939 (0x119AA, 0x119D7),
2940 (0x119DA, 0x119E1),
2941 (0x119E3, 0x119E4),
2942 (0x11A00, 0x11A3E),
2943 (0x11A47, 0x11A47),
2944 (0x11A50, 0x11A99),
2945 (0x11A9D, 0x11A9D),
2946 (0x11AB0, 0x11AF8),
2947 (0x11B60, 0x11B67),
2948 (0x11BC0, 0x11BE0),
2949 (0x11BF0, 0x11BF9),
2950 (0x11C00, 0x11C08),
2951 (0x11C0A, 0x11C36),
2952 (0x11C38, 0x11C40),
2953 (0x11C50, 0x11C59),
2954 (0x11C72, 0x11C8F),
2955 (0x11C92, 0x11CA7),
2956 (0x11CA9, 0x11CB6),
2957 (0x11D00, 0x11D06),
2958 (0x11D08, 0x11D09),
2959 (0x11D0B, 0x11D36),
2960 (0x11D3A, 0x11D3A),
2961 (0x11D3C, 0x11D3D),
2962 (0x11D3F, 0x11D47),
2963 (0x11D50, 0x11D59),
2964 (0x11D60, 0x11D65),
2965 (0x11D67, 0x11D68),
2966 (0x11D6A, 0x11D8E),
2967 (0x11D90, 0x11D91),
2968 (0x11D93, 0x11D98),
2969 (0x11DA0, 0x11DA9),
2970 (0x11DB0, 0x11DDB),
2971 (0x11DE0, 0x11DE9),
2972 (0x11EE0, 0x11EF6),
2973 (0x11F00, 0x11F10),
2974 (0x11F12, 0x11F3A),
2975 (0x11F3E, 0x11F42),
2976 (0x11F50, 0x11F5A),
2977 (0x11FB0, 0x11FB0),
2978 (0x12000, 0x12399),
2979 (0x12400, 0x1246E),
2980 (0x12480, 0x12543),
2981 (0x12F90, 0x12FF0),
2982 (0x13000, 0x1342F),
2983 (0x13440, 0x13455),
2984 (0x13460, 0x143FA),
2985 (0x14400, 0x14646),
2986 (0x16100, 0x16139),
2987 (0x16800, 0x16A38),
2988 (0x16A40, 0x16A5E),
2989 (0x16A60, 0x16A69),
2990 (0x16A70, 0x16ABE),
2991 (0x16AC0, 0x16AC9),
2992 (0x16AD0, 0x16AED),
2993 (0x16AF0, 0x16AF4),
2994 (0x16B00, 0x16B36),
2995 (0x16B40, 0x16B43),
2996 (0x16B50, 0x16B59),
2997 (0x16B63, 0x16B77),
2998 (0x16B7D, 0x16B8F),
2999 (0x16D40, 0x16D6C),
3000 (0x16D70, 0x16D79),
3001 (0x16E40, 0x16E7F),
3002 (0x16EA0, 0x16EB8),
3003 (0x16EBB, 0x16ED3),
3004 (0x16F00, 0x16F4A),
3005 (0x16F4F, 0x16F87),
3006 (0x16F8F, 0x16F9F),
3007 (0x16FE0, 0x16FE1),
3008 (0x16FE3, 0x16FE4),
3009 (0x16FF0, 0x16FF6),
3010 (0x17000, 0x18CD5),
3011 (0x18CFF, 0x18D1E),
3012 (0x18D80, 0x18DF2),
3013 (0x1AFF0, 0x1AFF3),
3014 (0x1AFF5, 0x1AFFB),
3015 (0x1AFFD, 0x1AFFE),
3016 (0x1B000, 0x1B122),
3017 (0x1B132, 0x1B132),
3018 (0x1B150, 0x1B152),
3019 (0x1B155, 0x1B155),
3020 (0x1B164, 0x1B167),
3021 (0x1B170, 0x1B2FB),
3022 (0x1BC00, 0x1BC6A),
3023 (0x1BC70, 0x1BC7C),
3024 (0x1BC80, 0x1BC88),
3025 (0x1BC90, 0x1BC99),
3026 (0x1BC9D, 0x1BC9E),
3027 (0x1CCF0, 0x1CCF9),
3028 (0x1CF00, 0x1CF2D),
3029 (0x1CF30, 0x1CF46),
3030 (0x1D165, 0x1D169),
3031 (0x1D16D, 0x1D172),
3032 (0x1D17B, 0x1D182),
3033 (0x1D185, 0x1D18B),
3034 (0x1D1AA, 0x1D1AD),
3035 (0x1D242, 0x1D244),
3036 (0x1D400, 0x1D454),
3037 (0x1D456, 0x1D49C),
3038 (0x1D49E, 0x1D49F),
3039 (0x1D4A2, 0x1D4A2),
3040 (0x1D4A5, 0x1D4A6),
3041 (0x1D4A9, 0x1D4AC),
3042 (0x1D4AE, 0x1D4B9),
3043 (0x1D4BB, 0x1D4BB),
3044 (0x1D4BD, 0x1D4C3),
3045 (0x1D4C5, 0x1D505),
3046 (0x1D507, 0x1D50A),
3047 (0x1D50D, 0x1D514),
3048 (0x1D516, 0x1D51C),
3049 (0x1D51E, 0x1D539),
3050 (0x1D53B, 0x1D53E),
3051 (0x1D540, 0x1D544),
3052 (0x1D546, 0x1D546),
3053 (0x1D54A, 0x1D550),
3054 (0x1D552, 0x1D6A5),
3055 (0x1D6A8, 0x1D6C0),
3056 (0x1D6C2, 0x1D6DA),
3057 (0x1D6DC, 0x1D6FA),
3058 (0x1D6FC, 0x1D714),
3059 (0x1D716, 0x1D734),
3060 (0x1D736, 0x1D74E),
3061 (0x1D750, 0x1D76E),
3062 (0x1D770, 0x1D788),
3063 (0x1D78A, 0x1D7A8),
3064 (0x1D7AA, 0x1D7C2),
3065 (0x1D7C4, 0x1D7CB),
3066 (0x1D7CE, 0x1D7FF),
3067 (0x1DA00, 0x1DA36),
3068 (0x1DA3B, 0x1DA6C),
3069 (0x1DA75, 0x1DA75),
3070 (0x1DA84, 0x1DA84),
3071 (0x1DA9B, 0x1DA9F),
3072 (0x1DAA1, 0x1DAAF),
3073 (0x1DF00, 0x1DF1E),
3074 (0x1DF25, 0x1DF2A),
3075 (0x1E000, 0x1E006),
3076 (0x1E008, 0x1E018),
3077 (0x1E01B, 0x1E021),
3078 (0x1E023, 0x1E024),
3079 (0x1E026, 0x1E02A),
3080 (0x1E030, 0x1E06D),
3081 (0x1E08F, 0x1E08F),
3082 (0x1E100, 0x1E12C),
3083 (0x1E130, 0x1E13D),
3084 (0x1E140, 0x1E149),
3085 (0x1E14E, 0x1E14E),
3086 (0x1E290, 0x1E2AE),
3087 (0x1E2C0, 0x1E2F9),
3088 (0x1E4D0, 0x1E4F9),
3089 (0x1E5D0, 0x1E5FA),
3090 (0x1E6C0, 0x1E6DE),
3091 (0x1E6E0, 0x1E6F5),
3092 (0x1E6FE, 0x1E6FF),
3093 (0x1E7E0, 0x1E7E6),
3094 (0x1E7E8, 0x1E7EB),
3095 (0x1E7ED, 0x1E7EE),
3096 (0x1E7F0, 0x1E7FE),
3097 (0x1E800, 0x1E8C4),
3098 (0x1E8D0, 0x1E8D6),
3099 (0x1E900, 0x1E94B),
3100 (0x1E950, 0x1E959),
3101 (0x1EE00, 0x1EE03),
3102 (0x1EE05, 0x1EE1F),
3103 (0x1EE21, 0x1EE22),
3104 (0x1EE24, 0x1EE24),
3105 (0x1EE27, 0x1EE27),
3106 (0x1EE29, 0x1EE32),
3107 (0x1EE34, 0x1EE37),
3108 (0x1EE39, 0x1EE39),
3109 (0x1EE3B, 0x1EE3B),
3110 (0x1EE42, 0x1EE42),
3111 (0x1EE47, 0x1EE47),
3112 (0x1EE49, 0x1EE49),
3113 (0x1EE4B, 0x1EE4B),
3114 (0x1EE4D, 0x1EE4F),
3115 (0x1EE51, 0x1EE52),
3116 (0x1EE54, 0x1EE54),
3117 (0x1EE57, 0x1EE57),
3118 (0x1EE59, 0x1EE59),
3119 (0x1EE5B, 0x1EE5B),
3120 (0x1EE5D, 0x1EE5D),
3121 (0x1EE5F, 0x1EE5F),
3122 (0x1EE61, 0x1EE62),
3123 (0x1EE64, 0x1EE64),
3124 (0x1EE67, 0x1EE6A),
3125 (0x1EE6C, 0x1EE72),
3126 (0x1EE74, 0x1EE77),
3127 (0x1EE79, 0x1EE7C),
3128 (0x1EE7E, 0x1EE7E),
3129 (0x1EE80, 0x1EE89),
3130 (0x1EE8B, 0x1EE9B),
3131 (0x1EEA1, 0x1EEA3),
3132 (0x1EEA5, 0x1EEA9),
3133 (0x1EEAB, 0x1EEBB),
3134 (0x1FBF0, 0x1FBF9),
3135 (0x20000, 0x2A6DF),
3136 (0x2A700, 0x2B81D),
3137 (0x2B820, 0x2CEAD),
3138 (0x2CEB0, 0x2EBE0),
3139 (0x2EBF0, 0x2EE5D),
3140 (0x2F800, 0x2FA1D),
3141 (0x30000, 0x3134A),
3142 (0x31350, 0x33479),
3143 (0xE0100, 0xE01EF),
3144]);
3145
3146pub fn get_general_category(abbrev: &str) -> Option<&'static UnicodeRangeSet> {
3147 match abbrev {
3148 "Lu" => Some(&GC_UPPERCASE_LETTER),
3149 "Ll" => Some(&GC_LOWERCASE_LETTER),
3150 "Nd" => Some(&GC_DECIMAL_NUMBER),
3151
3152 _ => None,
3153 }
3154}
3155
3156pub fn lookup_unicode_property(prop: &str, value: &str) -> Option<&'static UnicodeRangeSet> {
3157 match prop {
3158 "General_Category" | "gc" => get_general_category(value),
3159
3160 "Lu" | "Uppercase_Letter" => Some(&GC_UPPERCASE_LETTER),
3161 "Ll" | "Lowercase_Letter" => Some(&GC_LOWERCASE_LETTER),
3162 "Nd" | "Decimal_Number" | "Digit" => Some(&GC_DECIMAL_NUMBER),
3163 _ => None,
3164 }
3165}