unicode_script/
tables.rs

1// Copyright 2012-2018 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly
12
13#![allow(missing_docs, non_upper_case_globals, non_snake_case)]
14
15pub use tables_impl::*;
16
17#[rustfmt::skip]
18mod tables_impl {
19use crate::ScriptExtension;
20
21/// The version of [Unicode](http://www.unicode.org/)
22/// that this version of unicode-script is based on.
23pub const UNICODE_VERSION: (u64, u64, u64) = (17, 0, 0);
24
25#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)]
26#[non_exhaustive]
27#[allow(non_camel_case_types)]
28#[repr(u8)]
29/// A value of the `Script` property
30pub enum Script {
31    /// Unknown script
32    Unknown = 0xFF,
33    /// Zyyy
34    Common = 0xFE,
35    /// Zinh,
36    Inherited = 0xFD,
37    /// Adlm
38    Adlam = 0,
39    /// Aghb
40    Caucasian_Albanian = 1,
41    /// Ahom
42    Ahom = 2,
43    /// Arab
44    Arabic = 3,
45    /// Armi
46    Imperial_Aramaic = 4,
47    /// Armn
48    Armenian = 5,
49    /// Avst
50    Avestan = 6,
51    /// Bali
52    Balinese = 7,
53    /// Bamu
54    Bamum = 8,
55    /// Bass
56    Bassa_Vah = 9,
57    /// Batk
58    Batak = 10,
59    /// Beng
60    Bengali = 11,
61    /// Berf
62    Beria_Erfe = 12,
63    /// Bhks
64    Bhaiksuki = 13,
65    /// Bopo
66    Bopomofo = 14,
67    /// Brah
68    Brahmi = 15,
69    /// Brai
70    Braille = 16,
71    /// Bugi
72    Buginese = 17,
73    /// Buhd
74    Buhid = 18,
75    /// Cakm
76    Chakma = 19,
77    /// Cans
78    Canadian_Aboriginal = 20,
79    /// Cari
80    Carian = 21,
81    /// Cham
82    Cham = 22,
83    /// Cher
84    Cherokee = 23,
85    /// Chrs
86    Chorasmian = 24,
87    /// Copt
88    Coptic = 25,
89    /// Cpmn
90    Cypro_Minoan = 26,
91    /// Cprt
92    Cypriot = 27,
93    /// Cyrl
94    Cyrillic = 28,
95    /// Deva
96    Devanagari = 29,
97    /// Diak
98    Dives_Akuru = 30,
99    /// Dogr
100    Dogra = 31,
101    /// Dsrt
102    Deseret = 32,
103    /// Dupl
104    Duployan = 33,
105    /// Egyp
106    Egyptian_Hieroglyphs = 34,
107    /// Elba
108    Elbasan = 35,
109    /// Elym
110    Elymaic = 36,
111    /// Ethi
112    Ethiopic = 37,
113    /// Gara
114    Garay = 38,
115    /// Geor
116    Georgian = 39,
117    /// Glag
118    Glagolitic = 40,
119    /// Gong
120    Gunjala_Gondi = 41,
121    /// Gonm
122    Masaram_Gondi = 42,
123    /// Goth
124    Gothic = 43,
125    /// Gran
126    Grantha = 44,
127    /// Grek
128    Greek = 45,
129    /// Gujr
130    Gujarati = 46,
131    /// Gukh
132    Gurung_Khema = 47,
133    /// Guru
134    Gurmukhi = 48,
135    /// Hang
136    Hangul = 49,
137    /// Hani
138    Han = 50,
139    /// Hano
140    Hanunoo = 51,
141    /// Hatr
142    Hatran = 52,
143    /// Hebr
144    Hebrew = 53,
145    /// Hira
146    Hiragana = 54,
147    /// Hluw
148    Anatolian_Hieroglyphs = 55,
149    /// Hmng
150    Pahawh_Hmong = 56,
151    /// Hmnp
152    Nyiakeng_Puachue_Hmong = 57,
153    /// Hung
154    Old_Hungarian = 58,
155    /// Ital
156    Old_Italic = 59,
157    /// Java
158    Javanese = 60,
159    /// Kali
160    Kayah_Li = 61,
161    /// Kana
162    Katakana = 62,
163    /// Kawi
164    Kawi = 63,
165    /// Khar
166    Kharoshthi = 64,
167    /// Khmr
168    Khmer = 65,
169    /// Khoj
170    Khojki = 66,
171    /// Kits
172    Khitan_Small_Script = 67,
173    /// Knda
174    Kannada = 68,
175    /// Krai
176    Kirat_Rai = 69,
177    /// Kthi
178    Kaithi = 70,
179    /// Lana
180    Tai_Tham = 71,
181    /// Laoo
182    Lao = 72,
183    /// Latn
184    Latin = 73,
185    /// Lepc
186    Lepcha = 74,
187    /// Limb
188    Limbu = 75,
189    /// Lina
190    Linear_A = 76,
191    /// Linb
192    Linear_B = 77,
193    /// Lisu
194    Lisu = 78,
195    /// Lyci
196    Lycian = 79,
197    /// Lydi
198    Lydian = 80,
199    /// Mahj
200    Mahajani = 81,
201    /// Maka
202    Makasar = 82,
203    /// Mand
204    Mandaic = 83,
205    /// Mani
206    Manichaean = 84,
207    /// Marc
208    Marchen = 85,
209    /// Medf
210    Medefaidrin = 86,
211    /// Mend
212    Mende_Kikakui = 87,
213    /// Merc
214    Meroitic_Cursive = 88,
215    /// Mero
216    Meroitic_Hieroglyphs = 89,
217    /// Mlym
218    Malayalam = 90,
219    /// Modi
220    Modi = 91,
221    /// Mong
222    Mongolian = 92,
223    /// Mroo
224    Mro = 93,
225    /// Mtei
226    Meetei_Mayek = 94,
227    /// Mult
228    Multani = 95,
229    /// Mymr
230    Myanmar = 96,
231    /// Nagm
232    Nag_Mundari = 97,
233    /// Nand
234    Nandinagari = 98,
235    /// Narb
236    Old_North_Arabian = 99,
237    /// Nbat
238    Nabataean = 100,
239    /// Newa
240    Newa = 101,
241    /// Nkoo
242    Nko = 102,
243    /// Nshu
244    Nushu = 103,
245    /// Ogam
246    Ogham = 104,
247    /// Olck
248    Ol_Chiki = 105,
249    /// Onao
250    Ol_Onal = 106,
251    /// Orkh
252    Old_Turkic = 107,
253    /// Orya
254    Oriya = 108,
255    /// Osge
256    Osage = 109,
257    /// Osma
258    Osmanya = 110,
259    /// Ougr
260    Old_Uyghur = 111,
261    /// Palm
262    Palmyrene = 112,
263    /// Pauc
264    Pau_Cin_Hau = 113,
265    /// Perm
266    Old_Permic = 114,
267    /// Phag
268    Phags_Pa = 115,
269    /// Phli
270    Inscriptional_Pahlavi = 116,
271    /// Phlp
272    Psalter_Pahlavi = 117,
273    /// Phnx
274    Phoenician = 118,
275    /// Plrd
276    Miao = 119,
277    /// Prti
278    Inscriptional_Parthian = 120,
279    /// Rjng
280    Rejang = 121,
281    /// Rohg
282    Hanifi_Rohingya = 122,
283    /// Runr
284    Runic = 123,
285    /// Samr
286    Samaritan = 124,
287    /// Sarb
288    Old_South_Arabian = 125,
289    /// Saur
290    Saurashtra = 126,
291    /// Sgnw
292    SignWriting = 127,
293    /// Shaw
294    Shavian = 128,
295    /// Shrd
296    Sharada = 129,
297    /// Sidd
298    Siddham = 130,
299    /// Sidt
300    Sidetic = 131,
301    /// Sind
302    Khudawadi = 132,
303    /// Sinh
304    Sinhala = 133,
305    /// Sogd
306    Sogdian = 134,
307    /// Sogo
308    Old_Sogdian = 135,
309    /// Sora
310    Sora_Sompeng = 136,
311    /// Soyo
312    Soyombo = 137,
313    /// Sund
314    Sundanese = 138,
315    /// Sunu
316    Sunuwar = 139,
317    /// Sylo
318    Syloti_Nagri = 140,
319    /// Syrc
320    Syriac = 141,
321    /// Tagb
322    Tagbanwa = 142,
323    /// Takr
324    Takri = 143,
325    /// Tale
326    Tai_Le = 144,
327    /// Talu
328    New_Tai_Lue = 145,
329    /// Taml
330    Tamil = 146,
331    /// Tang
332    Tangut = 147,
333    /// Tavt
334    Tai_Viet = 148,
335    /// Tayo
336    Tai_Yo = 149,
337    /// Telu
338    Telugu = 150,
339    /// Tfng
340    Tifinagh = 151,
341    /// Tglg
342    Tagalog = 152,
343    /// Thaa
344    Thaana = 153,
345    /// Thai
346    Thai = 154,
347    /// Tibt
348    Tibetan = 155,
349    /// Tirh
350    Tirhuta = 156,
351    /// Tnsa
352    Tangsa = 157,
353    /// Todr
354    Todhri = 158,
355    /// Tols
356    Tolong_Siki = 159,
357    /// Toto
358    Toto = 160,
359    /// Tutg
360    Tulu_Tigalari = 161,
361    /// Ugar
362    Ugaritic = 162,
363    /// Vaii
364    Vai = 163,
365    /// Vith
366    Vithkuqi = 164,
367    /// Wara
368    Warang_Citi = 165,
369    /// Wcho
370    Wancho = 166,
371    /// Xpeo
372    Old_Persian = 167,
373    /// Xsux
374    Cuneiform = 168,
375    /// Yezi
376    Yezidi = 169,
377    /// Yiii
378    Yi = 170,
379    /// Zanb
380    Zanabazar_Square = 171,
381}
382pub const NEXT_SCRIPT: u8 = 172;
383
384pub mod script_extensions {
385    use crate::ScriptExtension;
386    pub const COMMON: ScriptExtension = ScriptExtension::new_common();
387    pub const INHERITED: ScriptExtension = ScriptExtension::new_inherited();
388    pub const UNKNOWN: ScriptExtension = ScriptExtension::new_unknown();
389    /// Adlam
390    pub const ADLAM: ScriptExtension = ScriptExtension::new(0x1, 0, 0);
391    /// Adlam
392    pub const ADLM: ScriptExtension = ADLAM;
393    /// Caucasian_Albanian
394    pub const CAUCASIAN_ALBANIAN: ScriptExtension = ScriptExtension::new(0x2, 0, 0);
395    /// Caucasian_Albanian
396    pub const AGHB: ScriptExtension = CAUCASIAN_ALBANIAN;
397    /// Ahom
398    pub const AHOM: ScriptExtension = ScriptExtension::new(0x4, 0, 0);
399    /// Arabic
400    pub const ARABIC: ScriptExtension = ScriptExtension::new(0x8, 0, 0);
401    /// Arabic
402    pub const ARAB: ScriptExtension = ARABIC;
403    /// Imperial_Aramaic
404    pub const IMPERIAL_ARAMAIC: ScriptExtension = ScriptExtension::new(0x10, 0, 0);
405    /// Imperial_Aramaic
406    pub const ARMI: ScriptExtension = IMPERIAL_ARAMAIC;
407    /// Armenian
408    pub const ARMENIAN: ScriptExtension = ScriptExtension::new(0x20, 0, 0);
409    /// Armenian
410    pub const ARMN: ScriptExtension = ARMENIAN;
411    /// Avestan
412    pub const AVESTAN: ScriptExtension = ScriptExtension::new(0x40, 0, 0);
413    /// Avestan
414    pub const AVST: ScriptExtension = AVESTAN;
415    /// Balinese
416    pub const BALINESE: ScriptExtension = ScriptExtension::new(0x80, 0, 0);
417    /// Balinese
418    pub const BALI: ScriptExtension = BALINESE;
419    /// Bamum
420    pub const BAMUM: ScriptExtension = ScriptExtension::new(0x100, 0, 0);
421    /// Bamum
422    pub const BAMU: ScriptExtension = BAMUM;
423    /// Bassa_Vah
424    pub const BASSA_VAH: ScriptExtension = ScriptExtension::new(0x200, 0, 0);
425    /// Bassa_Vah
426    pub const BASS: ScriptExtension = BASSA_VAH;
427    /// Batak
428    pub const BATAK: ScriptExtension = ScriptExtension::new(0x400, 0, 0);
429    /// Batak
430    pub const BATK: ScriptExtension = BATAK;
431    /// Bengali
432    pub const BENGALI: ScriptExtension = ScriptExtension::new(0x800, 0, 0);
433    /// Bengali
434    pub const BENG: ScriptExtension = BENGALI;
435    /// Beria_Erfe
436    pub const BERIA_ERFE: ScriptExtension = ScriptExtension::new(0x1000, 0, 0);
437    /// Beria_Erfe
438    pub const BERF: ScriptExtension = BERIA_ERFE;
439    /// Bhaiksuki
440    pub const BHAIKSUKI: ScriptExtension = ScriptExtension::new(0x2000, 0, 0);
441    /// Bhaiksuki
442    pub const BHKS: ScriptExtension = BHAIKSUKI;
443    /// Bopomofo
444    pub const BOPOMOFO: ScriptExtension = ScriptExtension::new(0x4000, 0, 0);
445    /// Bopomofo
446    pub const BOPO: ScriptExtension = BOPOMOFO;
447    /// Brahmi
448    pub const BRAHMI: ScriptExtension = ScriptExtension::new(0x8000, 0, 0);
449    /// Brahmi
450    pub const BRAH: ScriptExtension = BRAHMI;
451    /// Braille
452    pub const BRAILLE: ScriptExtension = ScriptExtension::new(0x10000, 0, 0);
453    /// Braille
454    pub const BRAI: ScriptExtension = BRAILLE;
455    /// Buginese
456    pub const BUGINESE: ScriptExtension = ScriptExtension::new(0x20000, 0, 0);
457    /// Buginese
458    pub const BUGI: ScriptExtension = BUGINESE;
459    /// Buhid
460    pub const BUHID: ScriptExtension = ScriptExtension::new(0x40000, 0, 0);
461    /// Buhid
462    pub const BUHD: ScriptExtension = BUHID;
463    /// Chakma
464    pub const CHAKMA: ScriptExtension = ScriptExtension::new(0x80000, 0, 0);
465    /// Chakma
466    pub const CAKM: ScriptExtension = CHAKMA;
467    /// Canadian_Aboriginal
468    pub const CANADIAN_ABORIGINAL: ScriptExtension = ScriptExtension::new(0x100000, 0, 0);
469    /// Canadian_Aboriginal
470    pub const CANS: ScriptExtension = CANADIAN_ABORIGINAL;
471    /// Carian
472    pub const CARIAN: ScriptExtension = ScriptExtension::new(0x200000, 0, 0);
473    /// Carian
474    pub const CARI: ScriptExtension = CARIAN;
475    /// Cham
476    pub const CHAM: ScriptExtension = ScriptExtension::new(0x400000, 0, 0);
477    /// Cherokee
478    pub const CHEROKEE: ScriptExtension = ScriptExtension::new(0x800000, 0, 0);
479    /// Cherokee
480    pub const CHER: ScriptExtension = CHEROKEE;
481    /// Chorasmian
482    pub const CHORASMIAN: ScriptExtension = ScriptExtension::new(0x1000000, 0, 0);
483    /// Chorasmian
484    pub const CHRS: ScriptExtension = CHORASMIAN;
485    /// Coptic
486    pub const COPTIC: ScriptExtension = ScriptExtension::new(0x2000000, 0, 0);
487    /// Coptic
488    pub const COPT: ScriptExtension = COPTIC;
489    /// Cypro_Minoan
490    pub const CYPRO_MINOAN: ScriptExtension = ScriptExtension::new(0x4000000, 0, 0);
491    /// Cypro_Minoan
492    pub const CPMN: ScriptExtension = CYPRO_MINOAN;
493    /// Cypriot
494    pub const CYPRIOT: ScriptExtension = ScriptExtension::new(0x8000000, 0, 0);
495    /// Cypriot
496    pub const CPRT: ScriptExtension = CYPRIOT;
497    /// Cyrillic
498    pub const CYRILLIC: ScriptExtension = ScriptExtension::new(0x10000000, 0, 0);
499    /// Cyrillic
500    pub const CYRL: ScriptExtension = CYRILLIC;
501    /// Devanagari
502    pub const DEVANAGARI: ScriptExtension = ScriptExtension::new(0x20000000, 0, 0);
503    /// Devanagari
504    pub const DEVA: ScriptExtension = DEVANAGARI;
505    /// Dives_Akuru
506    pub const DIVES_AKURU: ScriptExtension = ScriptExtension::new(0x40000000, 0, 0);
507    /// Dives_Akuru
508    pub const DIAK: ScriptExtension = DIVES_AKURU;
509    /// Dogra
510    pub const DOGRA: ScriptExtension = ScriptExtension::new(0x80000000, 0, 0);
511    /// Dogra
512    pub const DOGR: ScriptExtension = DOGRA;
513    /// Deseret
514    pub const DESERET: ScriptExtension = ScriptExtension::new(0x100000000, 0, 0);
515    /// Deseret
516    pub const DSRT: ScriptExtension = DESERET;
517    /// Duployan
518    pub const DUPLOYAN: ScriptExtension = ScriptExtension::new(0x200000000, 0, 0);
519    /// Duployan
520    pub const DUPL: ScriptExtension = DUPLOYAN;
521    /// Egyptian_Hieroglyphs
522    pub const EGYPTIAN_HIEROGLYPHS: ScriptExtension = ScriptExtension::new(0x400000000, 0, 0);
523    /// Egyptian_Hieroglyphs
524    pub const EGYP: ScriptExtension = EGYPTIAN_HIEROGLYPHS;
525    /// Elbasan
526    pub const ELBASAN: ScriptExtension = ScriptExtension::new(0x800000000, 0, 0);
527    /// Elbasan
528    pub const ELBA: ScriptExtension = ELBASAN;
529    /// Elymaic
530    pub const ELYMAIC: ScriptExtension = ScriptExtension::new(0x1000000000, 0, 0);
531    /// Elymaic
532    pub const ELYM: ScriptExtension = ELYMAIC;
533    /// Ethiopic
534    pub const ETHIOPIC: ScriptExtension = ScriptExtension::new(0x2000000000, 0, 0);
535    /// Ethiopic
536    pub const ETHI: ScriptExtension = ETHIOPIC;
537    /// Garay
538    pub const GARAY: ScriptExtension = ScriptExtension::new(0x4000000000, 0, 0);
539    /// Garay
540    pub const GARA: ScriptExtension = GARAY;
541    /// Georgian
542    pub const GEORGIAN: ScriptExtension = ScriptExtension::new(0x8000000000, 0, 0);
543    /// Georgian
544    pub const GEOR: ScriptExtension = GEORGIAN;
545    /// Glagolitic
546    pub const GLAGOLITIC: ScriptExtension = ScriptExtension::new(0x10000000000, 0, 0);
547    /// Glagolitic
548    pub const GLAG: ScriptExtension = GLAGOLITIC;
549    /// Gunjala_Gondi
550    pub const GUNJALA_GONDI: ScriptExtension = ScriptExtension::new(0x20000000000, 0, 0);
551    /// Gunjala_Gondi
552    pub const GONG: ScriptExtension = GUNJALA_GONDI;
553    /// Masaram_Gondi
554    pub const MASARAM_GONDI: ScriptExtension = ScriptExtension::new(0x40000000000, 0, 0);
555    /// Masaram_Gondi
556    pub const GONM: ScriptExtension = MASARAM_GONDI;
557    /// Gothic
558    pub const GOTHIC: ScriptExtension = ScriptExtension::new(0x80000000000, 0, 0);
559    /// Gothic
560    pub const GOTH: ScriptExtension = GOTHIC;
561    /// Grantha
562    pub const GRANTHA: ScriptExtension = ScriptExtension::new(0x100000000000, 0, 0);
563    /// Grantha
564    pub const GRAN: ScriptExtension = GRANTHA;
565    /// Greek
566    pub const GREEK: ScriptExtension = ScriptExtension::new(0x200000000000, 0, 0);
567    /// Greek
568    pub const GREK: ScriptExtension = GREEK;
569    /// Gujarati
570    pub const GUJARATI: ScriptExtension = ScriptExtension::new(0x400000000000, 0, 0);
571    /// Gujarati
572    pub const GUJR: ScriptExtension = GUJARATI;
573    /// Gurung_Khema
574    pub const GURUNG_KHEMA: ScriptExtension = ScriptExtension::new(0x800000000000, 0, 0);
575    /// Gurung_Khema
576    pub const GUKH: ScriptExtension = GURUNG_KHEMA;
577    /// Gurmukhi
578    pub const GURMUKHI: ScriptExtension = ScriptExtension::new(0x1000000000000, 0, 0);
579    /// Gurmukhi
580    pub const GURU: ScriptExtension = GURMUKHI;
581    /// Hangul
582    pub const HANGUL: ScriptExtension = ScriptExtension::new(0x2000000000000, 0, 0);
583    /// Hangul
584    pub const HANG: ScriptExtension = HANGUL;
585    /// Han
586    pub const HAN: ScriptExtension = ScriptExtension::new(0x4000000000000, 0, 0);
587    /// Han
588    pub const HANI: ScriptExtension = HAN;
589    /// Hanunoo
590    pub const HANUNOO: ScriptExtension = ScriptExtension::new(0x8000000000000, 0, 0);
591    /// Hanunoo
592    pub const HANO: ScriptExtension = HANUNOO;
593    /// Hatran
594    pub const HATRAN: ScriptExtension = ScriptExtension::new(0x10000000000000, 0, 0);
595    /// Hatran
596    pub const HATR: ScriptExtension = HATRAN;
597    /// Hebrew
598    pub const HEBREW: ScriptExtension = ScriptExtension::new(0x20000000000000, 0, 0);
599    /// Hebrew
600    pub const HEBR: ScriptExtension = HEBREW;
601    /// Hiragana
602    pub const HIRAGANA: ScriptExtension = ScriptExtension::new(0x40000000000000, 0, 0);
603    /// Hiragana
604    pub const HIRA: ScriptExtension = HIRAGANA;
605    /// Anatolian_Hieroglyphs
606    pub const ANATOLIAN_HIEROGLYPHS: ScriptExtension = ScriptExtension::new(0x80000000000000, 0, 0);
607    /// Anatolian_Hieroglyphs
608    pub const HLUW: ScriptExtension = ANATOLIAN_HIEROGLYPHS;
609    /// Pahawh_Hmong
610    pub const PAHAWH_HMONG: ScriptExtension = ScriptExtension::new(0x100000000000000, 0, 0);
611    /// Pahawh_Hmong
612    pub const HMNG: ScriptExtension = PAHAWH_HMONG;
613    /// Nyiakeng_Puachue_Hmong
614    pub const NYIAKENG_PUACHUE_HMONG: ScriptExtension = ScriptExtension::new(0x200000000000000, 0, 0);
615    /// Nyiakeng_Puachue_Hmong
616    pub const HMNP: ScriptExtension = NYIAKENG_PUACHUE_HMONG;
617    /// Old_Hungarian
618    pub const OLD_HUNGARIAN: ScriptExtension = ScriptExtension::new(0x400000000000000, 0, 0);
619    /// Old_Hungarian
620    pub const HUNG: ScriptExtension = OLD_HUNGARIAN;
621    /// Old_Italic
622    pub const OLD_ITALIC: ScriptExtension = ScriptExtension::new(0x800000000000000, 0, 0);
623    /// Old_Italic
624    pub const ITAL: ScriptExtension = OLD_ITALIC;
625    /// Javanese
626    pub const JAVANESE: ScriptExtension = ScriptExtension::new(0x1000000000000000, 0, 0);
627    /// Javanese
628    pub const JAVA: ScriptExtension = JAVANESE;
629    /// Kayah_Li
630    pub const KAYAH_LI: ScriptExtension = ScriptExtension::new(0x2000000000000000, 0, 0);
631    /// Kayah_Li
632    pub const KALI: ScriptExtension = KAYAH_LI;
633    /// Katakana
634    pub const KATAKANA: ScriptExtension = ScriptExtension::new(0x4000000000000000, 0, 0);
635    /// Katakana
636    pub const KANA: ScriptExtension = KATAKANA;
637    /// Kawi
638    pub const KAWI: ScriptExtension = ScriptExtension::new(0x8000000000000000, 0, 0);
639    /// Kharoshthi
640    pub const KHAROSHTHI: ScriptExtension = ScriptExtension::new(0, 0x1, 0);
641    /// Kharoshthi
642    pub const KHAR: ScriptExtension = KHAROSHTHI;
643    /// Khmer
644    pub const KHMER: ScriptExtension = ScriptExtension::new(0, 0x2, 0);
645    /// Khmer
646    pub const KHMR: ScriptExtension = KHMER;
647    /// Khojki
648    pub const KHOJKI: ScriptExtension = ScriptExtension::new(0, 0x4, 0);
649    /// Khojki
650    pub const KHOJ: ScriptExtension = KHOJKI;
651    /// Khitan_Small_Script
652    pub const KHITAN_SMALL_SCRIPT: ScriptExtension = ScriptExtension::new(0, 0x8, 0);
653    /// Khitan_Small_Script
654    pub const KITS: ScriptExtension = KHITAN_SMALL_SCRIPT;
655    /// Kannada
656    pub const KANNADA: ScriptExtension = ScriptExtension::new(0, 0x10, 0);
657    /// Kannada
658    pub const KNDA: ScriptExtension = KANNADA;
659    /// Kirat_Rai
660    pub const KIRAT_RAI: ScriptExtension = ScriptExtension::new(0, 0x20, 0);
661    /// Kirat_Rai
662    pub const KRAI: ScriptExtension = KIRAT_RAI;
663    /// Kaithi
664    pub const KAITHI: ScriptExtension = ScriptExtension::new(0, 0x40, 0);
665    /// Kaithi
666    pub const KTHI: ScriptExtension = KAITHI;
667    /// Tai_Tham
668    pub const TAI_THAM: ScriptExtension = ScriptExtension::new(0, 0x80, 0);
669    /// Tai_Tham
670    pub const LANA: ScriptExtension = TAI_THAM;
671    /// Lao
672    pub const LAO: ScriptExtension = ScriptExtension::new(0, 0x100, 0);
673    /// Lao
674    pub const LAOO: ScriptExtension = LAO;
675    /// Latin
676    pub const LATIN: ScriptExtension = ScriptExtension::new(0, 0x200, 0);
677    /// Latin
678    pub const LATN: ScriptExtension = LATIN;
679    /// Lepcha
680    pub const LEPCHA: ScriptExtension = ScriptExtension::new(0, 0x400, 0);
681    /// Lepcha
682    pub const LEPC: ScriptExtension = LEPCHA;
683    /// Limbu
684    pub const LIMBU: ScriptExtension = ScriptExtension::new(0, 0x800, 0);
685    /// Limbu
686    pub const LIMB: ScriptExtension = LIMBU;
687    /// Linear_A
688    pub const LINEAR_A: ScriptExtension = ScriptExtension::new(0, 0x1000, 0);
689    /// Linear_A
690    pub const LINA: ScriptExtension = LINEAR_A;
691    /// Linear_B
692    pub const LINEAR_B: ScriptExtension = ScriptExtension::new(0, 0x2000, 0);
693    /// Linear_B
694    pub const LINB: ScriptExtension = LINEAR_B;
695    /// Lisu
696    pub const LISU: ScriptExtension = ScriptExtension::new(0, 0x4000, 0);
697    /// Lycian
698    pub const LYCIAN: ScriptExtension = ScriptExtension::new(0, 0x8000, 0);
699    /// Lycian
700    pub const LYCI: ScriptExtension = LYCIAN;
701    /// Lydian
702    pub const LYDIAN: ScriptExtension = ScriptExtension::new(0, 0x10000, 0);
703    /// Lydian
704    pub const LYDI: ScriptExtension = LYDIAN;
705    /// Mahajani
706    pub const MAHAJANI: ScriptExtension = ScriptExtension::new(0, 0x20000, 0);
707    /// Mahajani
708    pub const MAHJ: ScriptExtension = MAHAJANI;
709    /// Makasar
710    pub const MAKASAR: ScriptExtension = ScriptExtension::new(0, 0x40000, 0);
711    /// Makasar
712    pub const MAKA: ScriptExtension = MAKASAR;
713    /// Mandaic
714    pub const MANDAIC: ScriptExtension = ScriptExtension::new(0, 0x80000, 0);
715    /// Mandaic
716    pub const MAND: ScriptExtension = MANDAIC;
717    /// Manichaean
718    pub const MANICHAEAN: ScriptExtension = ScriptExtension::new(0, 0x100000, 0);
719    /// Manichaean
720    pub const MANI: ScriptExtension = MANICHAEAN;
721    /// Marchen
722    pub const MARCHEN: ScriptExtension = ScriptExtension::new(0, 0x200000, 0);
723    /// Marchen
724    pub const MARC: ScriptExtension = MARCHEN;
725    /// Medefaidrin
726    pub const MEDEFAIDRIN: ScriptExtension = ScriptExtension::new(0, 0x400000, 0);
727    /// Medefaidrin
728    pub const MEDF: ScriptExtension = MEDEFAIDRIN;
729    /// Mende_Kikakui
730    pub const MENDE_KIKAKUI: ScriptExtension = ScriptExtension::new(0, 0x800000, 0);
731    /// Mende_Kikakui
732    pub const MEND: ScriptExtension = MENDE_KIKAKUI;
733    /// Meroitic_Cursive
734    pub const MEROITIC_CURSIVE: ScriptExtension = ScriptExtension::new(0, 0x1000000, 0);
735    /// Meroitic_Cursive
736    pub const MERC: ScriptExtension = MEROITIC_CURSIVE;
737    /// Meroitic_Hieroglyphs
738    pub const MEROITIC_HIEROGLYPHS: ScriptExtension = ScriptExtension::new(0, 0x2000000, 0);
739    /// Meroitic_Hieroglyphs
740    pub const MERO: ScriptExtension = MEROITIC_HIEROGLYPHS;
741    /// Malayalam
742    pub const MALAYALAM: ScriptExtension = ScriptExtension::new(0, 0x4000000, 0);
743    /// Malayalam
744    pub const MLYM: ScriptExtension = MALAYALAM;
745    /// Modi
746    pub const MODI: ScriptExtension = ScriptExtension::new(0, 0x8000000, 0);
747    /// Mongolian
748    pub const MONGOLIAN: ScriptExtension = ScriptExtension::new(0, 0x10000000, 0);
749    /// Mongolian
750    pub const MONG: ScriptExtension = MONGOLIAN;
751    /// Mro
752    pub const MRO: ScriptExtension = ScriptExtension::new(0, 0x20000000, 0);
753    /// Mro
754    pub const MROO: ScriptExtension = MRO;
755    /// Meetei_Mayek
756    pub const MEETEI_MAYEK: ScriptExtension = ScriptExtension::new(0, 0x40000000, 0);
757    /// Meetei_Mayek
758    pub const MTEI: ScriptExtension = MEETEI_MAYEK;
759    /// Multani
760    pub const MULTANI: ScriptExtension = ScriptExtension::new(0, 0x80000000, 0);
761    /// Multani
762    pub const MULT: ScriptExtension = MULTANI;
763    /// Myanmar
764    pub const MYANMAR: ScriptExtension = ScriptExtension::new(0, 0x100000000, 0);
765    /// Myanmar
766    pub const MYMR: ScriptExtension = MYANMAR;
767    /// Nag_Mundari
768    pub const NAG_MUNDARI: ScriptExtension = ScriptExtension::new(0, 0x200000000, 0);
769    /// Nag_Mundari
770    pub const NAGM: ScriptExtension = NAG_MUNDARI;
771    /// Nandinagari
772    pub const NANDINAGARI: ScriptExtension = ScriptExtension::new(0, 0x400000000, 0);
773    /// Nandinagari
774    pub const NAND: ScriptExtension = NANDINAGARI;
775    /// Old_North_Arabian
776    pub const OLD_NORTH_ARABIAN: ScriptExtension = ScriptExtension::new(0, 0x800000000, 0);
777    /// Old_North_Arabian
778    pub const NARB: ScriptExtension = OLD_NORTH_ARABIAN;
779    /// Nabataean
780    pub const NABATAEAN: ScriptExtension = ScriptExtension::new(0, 0x1000000000, 0);
781    /// Nabataean
782    pub const NBAT: ScriptExtension = NABATAEAN;
783    /// Newa
784    pub const NEWA: ScriptExtension = ScriptExtension::new(0, 0x2000000000, 0);
785    /// Nko
786    pub const NKO: ScriptExtension = ScriptExtension::new(0, 0x4000000000, 0);
787    /// Nko
788    pub const NKOO: ScriptExtension = NKO;
789    /// Nushu
790    pub const NUSHU: ScriptExtension = ScriptExtension::new(0, 0x8000000000, 0);
791    /// Nushu
792    pub const NSHU: ScriptExtension = NUSHU;
793    /// Ogham
794    pub const OGHAM: ScriptExtension = ScriptExtension::new(0, 0x10000000000, 0);
795    /// Ogham
796    pub const OGAM: ScriptExtension = OGHAM;
797    /// Ol_Chiki
798    pub const OL_CHIKI: ScriptExtension = ScriptExtension::new(0, 0x20000000000, 0);
799    /// Ol_Chiki
800    pub const OLCK: ScriptExtension = OL_CHIKI;
801    /// Ol_Onal
802    pub const OL_ONAL: ScriptExtension = ScriptExtension::new(0, 0x40000000000, 0);
803    /// Ol_Onal
804    pub const ONAO: ScriptExtension = OL_ONAL;
805    /// Old_Turkic
806    pub const OLD_TURKIC: ScriptExtension = ScriptExtension::new(0, 0x80000000000, 0);
807    /// Old_Turkic
808    pub const ORKH: ScriptExtension = OLD_TURKIC;
809    /// Oriya
810    pub const ORIYA: ScriptExtension = ScriptExtension::new(0, 0x100000000000, 0);
811    /// Oriya
812    pub const ORYA: ScriptExtension = ORIYA;
813    /// Osage
814    pub const OSAGE: ScriptExtension = ScriptExtension::new(0, 0x200000000000, 0);
815    /// Osage
816    pub const OSGE: ScriptExtension = OSAGE;
817    /// Osmanya
818    pub const OSMANYA: ScriptExtension = ScriptExtension::new(0, 0x400000000000, 0);
819    /// Osmanya
820    pub const OSMA: ScriptExtension = OSMANYA;
821    /// Old_Uyghur
822    pub const OLD_UYGHUR: ScriptExtension = ScriptExtension::new(0, 0x800000000000, 0);
823    /// Old_Uyghur
824    pub const OUGR: ScriptExtension = OLD_UYGHUR;
825    /// Palmyrene
826    pub const PALMYRENE: ScriptExtension = ScriptExtension::new(0, 0x1000000000000, 0);
827    /// Palmyrene
828    pub const PALM: ScriptExtension = PALMYRENE;
829    /// Pau_Cin_Hau
830    pub const PAU_CIN_HAU: ScriptExtension = ScriptExtension::new(0, 0x2000000000000, 0);
831    /// Pau_Cin_Hau
832    pub const PAUC: ScriptExtension = PAU_CIN_HAU;
833    /// Old_Permic
834    pub const OLD_PERMIC: ScriptExtension = ScriptExtension::new(0, 0x4000000000000, 0);
835    /// Old_Permic
836    pub const PERM: ScriptExtension = OLD_PERMIC;
837    /// Phags_Pa
838    pub const PHAGS_PA: ScriptExtension = ScriptExtension::new(0, 0x8000000000000, 0);
839    /// Phags_Pa
840    pub const PHAG: ScriptExtension = PHAGS_PA;
841    /// Inscriptional_Pahlavi
842    pub const INSCRIPTIONAL_PAHLAVI: ScriptExtension = ScriptExtension::new(0, 0x10000000000000, 0);
843    /// Inscriptional_Pahlavi
844    pub const PHLI: ScriptExtension = INSCRIPTIONAL_PAHLAVI;
845    /// Psalter_Pahlavi
846    pub const PSALTER_PAHLAVI: ScriptExtension = ScriptExtension::new(0, 0x20000000000000, 0);
847    /// Psalter_Pahlavi
848    pub const PHLP: ScriptExtension = PSALTER_PAHLAVI;
849    /// Phoenician
850    pub const PHOENICIAN: ScriptExtension = ScriptExtension::new(0, 0x40000000000000, 0);
851    /// Phoenician
852    pub const PHNX: ScriptExtension = PHOENICIAN;
853    /// Miao
854    pub const MIAO: ScriptExtension = ScriptExtension::new(0, 0x80000000000000, 0);
855    /// Miao
856    pub const PLRD: ScriptExtension = MIAO;
857    /// Inscriptional_Parthian
858    pub const INSCRIPTIONAL_PARTHIAN: ScriptExtension = ScriptExtension::new(0, 0x100000000000000, 0);
859    /// Inscriptional_Parthian
860    pub const PRTI: ScriptExtension = INSCRIPTIONAL_PARTHIAN;
861    /// Rejang
862    pub const REJANG: ScriptExtension = ScriptExtension::new(0, 0x200000000000000, 0);
863    /// Rejang
864    pub const RJNG: ScriptExtension = REJANG;
865    /// Hanifi_Rohingya
866    pub const HANIFI_ROHINGYA: ScriptExtension = ScriptExtension::new(0, 0x400000000000000, 0);
867    /// Hanifi_Rohingya
868    pub const ROHG: ScriptExtension = HANIFI_ROHINGYA;
869    /// Runic
870    pub const RUNIC: ScriptExtension = ScriptExtension::new(0, 0x800000000000000, 0);
871    /// Runic
872    pub const RUNR: ScriptExtension = RUNIC;
873    /// Samaritan
874    pub const SAMARITAN: ScriptExtension = ScriptExtension::new(0, 0x1000000000000000, 0);
875    /// Samaritan
876    pub const SAMR: ScriptExtension = SAMARITAN;
877    /// Old_South_Arabian
878    pub const OLD_SOUTH_ARABIAN: ScriptExtension = ScriptExtension::new(0, 0x2000000000000000, 0);
879    /// Old_South_Arabian
880    pub const SARB: ScriptExtension = OLD_SOUTH_ARABIAN;
881    /// Saurashtra
882    pub const SAURASHTRA: ScriptExtension = ScriptExtension::new(0, 0x4000000000000000, 0);
883    /// Saurashtra
884    pub const SAUR: ScriptExtension = SAURASHTRA;
885    /// SignWriting
886    pub const SIGNWRITING: ScriptExtension = ScriptExtension::new(0, 0x8000000000000000, 0);
887    /// SignWriting
888    pub const SGNW: ScriptExtension = SIGNWRITING;
889    /// Shavian
890    pub const SHAVIAN: ScriptExtension = ScriptExtension::new(0, 0, 0x1);
891    /// Shavian
892    pub const SHAW: ScriptExtension = SHAVIAN;
893    /// Sharada
894    pub const SHARADA: ScriptExtension = ScriptExtension::new(0, 0, 0x2);
895    /// Sharada
896    pub const SHRD: ScriptExtension = SHARADA;
897    /// Siddham
898    pub const SIDDHAM: ScriptExtension = ScriptExtension::new(0, 0, 0x4);
899    /// Siddham
900    pub const SIDD: ScriptExtension = SIDDHAM;
901    /// Sidetic
902    pub const SIDETIC: ScriptExtension = ScriptExtension::new(0, 0, 0x8);
903    /// Sidetic
904    pub const SIDT: ScriptExtension = SIDETIC;
905    /// Khudawadi
906    pub const KHUDAWADI: ScriptExtension = ScriptExtension::new(0, 0, 0x10);
907    /// Khudawadi
908    pub const SIND: ScriptExtension = KHUDAWADI;
909    /// Sinhala
910    pub const SINHALA: ScriptExtension = ScriptExtension::new(0, 0, 0x20);
911    /// Sinhala
912    pub const SINH: ScriptExtension = SINHALA;
913    /// Sogdian
914    pub const SOGDIAN: ScriptExtension = ScriptExtension::new(0, 0, 0x40);
915    /// Sogdian
916    pub const SOGD: ScriptExtension = SOGDIAN;
917    /// Old_Sogdian
918    pub const OLD_SOGDIAN: ScriptExtension = ScriptExtension::new(0, 0, 0x80);
919    /// Old_Sogdian
920    pub const SOGO: ScriptExtension = OLD_SOGDIAN;
921    /// Sora_Sompeng
922    pub const SORA_SOMPENG: ScriptExtension = ScriptExtension::new(0, 0, 0x100);
923    /// Sora_Sompeng
924    pub const SORA: ScriptExtension = SORA_SOMPENG;
925    /// Soyombo
926    pub const SOYOMBO: ScriptExtension = ScriptExtension::new(0, 0, 0x200);
927    /// Soyombo
928    pub const SOYO: ScriptExtension = SOYOMBO;
929    /// Sundanese
930    pub const SUNDANESE: ScriptExtension = ScriptExtension::new(0, 0, 0x400);
931    /// Sundanese
932    pub const SUND: ScriptExtension = SUNDANESE;
933    /// Sunuwar
934    pub const SUNUWAR: ScriptExtension = ScriptExtension::new(0, 0, 0x800);
935    /// Sunuwar
936    pub const SUNU: ScriptExtension = SUNUWAR;
937    /// Syloti_Nagri
938    pub const SYLOTI_NAGRI: ScriptExtension = ScriptExtension::new(0, 0, 0x1000);
939    /// Syloti_Nagri
940    pub const SYLO: ScriptExtension = SYLOTI_NAGRI;
941    /// Syriac
942    pub const SYRIAC: ScriptExtension = ScriptExtension::new(0, 0, 0x2000);
943    /// Syriac
944    pub const SYRC: ScriptExtension = SYRIAC;
945    /// Tagbanwa
946    pub const TAGBANWA: ScriptExtension = ScriptExtension::new(0, 0, 0x4000);
947    /// Tagbanwa
948    pub const TAGB: ScriptExtension = TAGBANWA;
949    /// Takri
950    pub const TAKRI: ScriptExtension = ScriptExtension::new(0, 0, 0x8000);
951    /// Takri
952    pub const TAKR: ScriptExtension = TAKRI;
953    /// Tai_Le
954    pub const TAI_LE: ScriptExtension = ScriptExtension::new(0, 0, 0x10000);
955    /// Tai_Le
956    pub const TALE: ScriptExtension = TAI_LE;
957    /// New_Tai_Lue
958    pub const NEW_TAI_LUE: ScriptExtension = ScriptExtension::new(0, 0, 0x20000);
959    /// New_Tai_Lue
960    pub const TALU: ScriptExtension = NEW_TAI_LUE;
961    /// Tamil
962    pub const TAMIL: ScriptExtension = ScriptExtension::new(0, 0, 0x40000);
963    /// Tamil
964    pub const TAML: ScriptExtension = TAMIL;
965    /// Tangut
966    pub const TANGUT: ScriptExtension = ScriptExtension::new(0, 0, 0x80000);
967    /// Tangut
968    pub const TANG: ScriptExtension = TANGUT;
969    /// Tai_Viet
970    pub const TAI_VIET: ScriptExtension = ScriptExtension::new(0, 0, 0x100000);
971    /// Tai_Viet
972    pub const TAVT: ScriptExtension = TAI_VIET;
973    /// Tai_Yo
974    pub const TAI_YO: ScriptExtension = ScriptExtension::new(0, 0, 0x200000);
975    /// Tai_Yo
976    pub const TAYO: ScriptExtension = TAI_YO;
977    /// Telugu
978    pub const TELUGU: ScriptExtension = ScriptExtension::new(0, 0, 0x400000);
979    /// Telugu
980    pub const TELU: ScriptExtension = TELUGU;
981    /// Tifinagh
982    pub const TIFINAGH: ScriptExtension = ScriptExtension::new(0, 0, 0x800000);
983    /// Tifinagh
984    pub const TFNG: ScriptExtension = TIFINAGH;
985    /// Tagalog
986    pub const TAGALOG: ScriptExtension = ScriptExtension::new(0, 0, 0x1000000);
987    /// Tagalog
988    pub const TGLG: ScriptExtension = TAGALOG;
989    /// Thaana
990    pub const THAANA: ScriptExtension = ScriptExtension::new(0, 0, 0x2000000);
991    /// Thaana
992    pub const THAA: ScriptExtension = THAANA;
993    /// Thai
994    pub const THAI: ScriptExtension = ScriptExtension::new(0, 0, 0x4000000);
995    /// Tibetan
996    pub const TIBETAN: ScriptExtension = ScriptExtension::new(0, 0, 0x8000000);
997    /// Tibetan
998    pub const TIBT: ScriptExtension = TIBETAN;
999    /// Tirhuta
1000    pub const TIRHUTA: ScriptExtension = ScriptExtension::new(0, 0, 0x10000000);
1001    /// Tirhuta
1002    pub const TIRH: ScriptExtension = TIRHUTA;
1003    /// Tangsa
1004    pub const TANGSA: ScriptExtension = ScriptExtension::new(0, 0, 0x20000000);
1005    /// Tangsa
1006    pub const TNSA: ScriptExtension = TANGSA;
1007    /// Todhri
1008    pub const TODHRI: ScriptExtension = ScriptExtension::new(0, 0, 0x40000000);
1009    /// Todhri
1010    pub const TODR: ScriptExtension = TODHRI;
1011    /// Tolong_Siki
1012    pub const TOLONG_SIKI: ScriptExtension = ScriptExtension::new(0, 0, 0x80000000);
1013    /// Tolong_Siki
1014    pub const TOLS: ScriptExtension = TOLONG_SIKI;
1015    /// Toto
1016    pub const TOTO: ScriptExtension = ScriptExtension::new(0, 0, 0x100000000);
1017    /// Tulu_Tigalari
1018    pub const TULU_TIGALARI: ScriptExtension = ScriptExtension::new(0, 0, 0x200000000);
1019    /// Tulu_Tigalari
1020    pub const TUTG: ScriptExtension = TULU_TIGALARI;
1021    /// Ugaritic
1022    pub const UGARITIC: ScriptExtension = ScriptExtension::new(0, 0, 0x400000000);
1023    /// Ugaritic
1024    pub const UGAR: ScriptExtension = UGARITIC;
1025    /// Vai
1026    pub const VAI: ScriptExtension = ScriptExtension::new(0, 0, 0x800000000);
1027    /// Vai
1028    pub const VAII: ScriptExtension = VAI;
1029    /// Vithkuqi
1030    pub const VITHKUQI: ScriptExtension = ScriptExtension::new(0, 0, 0x1000000000);
1031    /// Vithkuqi
1032    pub const VITH: ScriptExtension = VITHKUQI;
1033    /// Warang_Citi
1034    pub const WARANG_CITI: ScriptExtension = ScriptExtension::new(0, 0, 0x2000000000);
1035    /// Warang_Citi
1036    pub const WARA: ScriptExtension = WARANG_CITI;
1037    /// Wancho
1038    pub const WANCHO: ScriptExtension = ScriptExtension::new(0, 0, 0x4000000000);
1039    /// Wancho
1040    pub const WCHO: ScriptExtension = WANCHO;
1041    /// Old_Persian
1042    pub const OLD_PERSIAN: ScriptExtension = ScriptExtension::new(0, 0, 0x8000000000);
1043    /// Old_Persian
1044    pub const XPEO: ScriptExtension = OLD_PERSIAN;
1045    /// Cuneiform
1046    pub const CUNEIFORM: ScriptExtension = ScriptExtension::new(0, 0, 0x10000000000);
1047    /// Cuneiform
1048    pub const XSUX: ScriptExtension = CUNEIFORM;
1049    /// Yezidi
1050    pub const YEZIDI: ScriptExtension = ScriptExtension::new(0, 0, 0x20000000000);
1051    /// Yezidi
1052    pub const YEZI: ScriptExtension = YEZIDI;
1053    /// Yi
1054    pub const YI: ScriptExtension = ScriptExtension::new(0, 0, 0x40000000000);
1055    /// Yi
1056    pub const YIII: ScriptExtension = YI;
1057    /// Zanabazar_Square
1058    pub const ZANABAZAR_SQUARE: ScriptExtension = ScriptExtension::new(0, 0, 0x80000000000);
1059    /// Zanabazar_Square
1060    pub const ZANB: ScriptExtension = ZANABAZAR_SQUARE;
1061    /// Avestan, Carian, Coptic, Duployan, Elbasan, Georgian, Glagolitic, Gunjala_Gondi, Gothic, Greek, Han, Latin, Lydian, Mahajani, Old_Permic, Shavian
1062    pub const AVST_CARI_COPT_DUPL_ELBA_GEOR_GLAG_GONG_GOTH_GREK_HANI_LATN_LYDI_MAHJ_PERM_SHAW: ScriptExtension = AVST.union(CARI).union(COPT).union(DUPL).union(ELBA).union(GEOR).union(GLAG).union(GONG).union(GOTH).union(GREK).union(HANI).union(LATN).union(LYDI).union(MAHJ).union(PERM).union(SHAW);
1063    /// Bengali, Cyrillic, Devanagari, Latin, Lisu, Thai, Toto
1064    pub const BENG_CYRL_DEVA_LATN_LISU_THAI_TOTO: ScriptExtension = BENG.union(CYRL).union(DEVA).union(LATN).union(LISU).union(THAI).union(TOTO);
1065    /// Bopomofo, Latin
1066    pub const BOPO_LATN: ScriptExtension = BOPO.union(LATN);
1067    /// Latin, Lisu
1068    pub const LATN_LISU: ScriptExtension = LATN.union(LISU);
1069    /// Latin, Thai
1070    pub const LATN_THAI: ScriptExtension = LATN.union(THAI);
1071    /// Cherokee, Coptic, Cyrillic, Greek, Latin, Old_Permic, Sunuwar, Tai_Le
1072    pub const CHER_COPT_CYRL_GREK_LATN_PERM_SUNU_TALE: ScriptExtension = CHER.union(COPT).union(CYRL).union(GREK).union(LATN).union(PERM).union(SUNU).union(TALE);
1073    /// Cherokee, Cyrillic, Greek, Latin, Osage, Sunuwar, Tai_Le, Todhri
1074    pub const CHER_CYRL_GREK_LATN_OSGE_SUNU_TALE_TODR: ScriptExtension = CHER.union(CYRL).union(GREK).union(LATN).union(OSGE).union(SUNU).union(TALE).union(TODR);
1075    /// Cherokee, Cyrillic, Latin, Tifinagh
1076    pub const CHER_CYRL_LATN_TFNG: ScriptExtension = CHER.union(CYRL).union(LATN).union(TFNG);
1077    /// Glagolitic, Latin, Sunuwar, Syriac, Thai
1078    pub const GLAG_LATN_SUNU_SYRC_THAI: ScriptExtension = GLAG.union(LATN).union(SUNU).union(SYRC).union(THAI);
1079    /// Caucasian_Albanian, Cherokee, Coptic, Cyrillic, Gothic, Greek, Latin, Osage, Syriac, Tifinagh, Todhri
1080    pub const AGHB_CHER_COPT_CYRL_GOTH_GREK_LATN_OSGE_SYRC_TFNG_TODR: ScriptExtension = AGHB.union(CHER).union(COPT).union(CYRL).union(GOTH).union(GREK).union(LATN).union(OSGE).union(SYRC).union(TFNG).union(TODR);
1081    /// Coptic, Elbasan, Glagolitic, Gothic, Katakana, Latin
1082    pub const COPT_ELBA_GLAG_GOTH_KANA_LATN: ScriptExtension = COPT.union(ELBA).union(GLAG).union(GOTH).union(KANA).union(LATN);
1083    /// Cyrillic, Greek, Latin, Old_Permic, Tifinagh
1084    pub const CYRL_GREK_LATN_PERM_TFNG: ScriptExtension = CYRL.union(GREK).union(LATN).union(PERM).union(TFNG);
1085    /// Coptic, Duployan, Hebrew, Latin, Old_Permic, Syriac, Tai_Le, Tifinagh, Todhri
1086    pub const COPT_DUPL_HEBR_LATN_PERM_SYRC_TALE_TFNG_TODR: ScriptExtension = COPT.union(DUPL).union(HEBR).union(LATN).union(PERM).union(SYRC).union(TALE).union(TFNG).union(TODR);
1087    /// Armenian, Cyrillic, Duployan, Gothic, Greek, Hebrew, Latin, Old_Permic, Syriac, Tai_Le, Tifinagh
1088    pub const ARMN_CYRL_DUPL_GOTH_GREK_HEBR_LATN_PERM_SYRC_TALE_TFNG: ScriptExtension = ARMN.union(CYRL).union(DUPL).union(GOTH).union(GREK).union(HEBR).union(LATN).union(PERM).union(SYRC).union(TALE).union(TFNG);
1089    /// Latin, Tifinagh
1090    pub const LATN_TFNG: ScriptExtension = LATN.union(TFNG);
1091    /// Duployan, Latin, Syriac
1092    pub const DUPL_LATN_SYRC: ScriptExtension = DUPL.union(LATN).union(SYRC);
1093    /// Cherokee, Cyrillic, Latin, Osage
1094    pub const CHER_CYRL_LATN_OSGE: ScriptExtension = CHER.union(CYRL).union(LATN).union(OSGE);
1095    /// Cherokee, Latin, Tai_Le
1096    pub const CHER_LATN_TALE: ScriptExtension = CHER.union(LATN).union(TALE);
1097    /// Latin, Sunuwar
1098    pub const LATN_SUNU: ScriptExtension = LATN.union(SUNU);
1099    /// Ethiopic, Latin
1100    pub const ETHI_LATN: ScriptExtension = ETHI.union(LATN);
1101    /// Cyrillic, Latin, Todhri
1102    pub const CYRL_LATN_TODR: ScriptExtension = CYRL.union(LATN).union(TODR);
1103    /// Greek, Latin, Old_Permic, Todhri
1104    pub const GREK_LATN_PERM_TODR: ScriptExtension = GREK.union(LATN).union(PERM).union(TODR);
1105    /// Cherokee, Duployan, Katakana, Latin, Syriac, Tifinagh
1106    pub const CHER_DUPL_KANA_LATN_SYRC_TFNG: ScriptExtension = CHER.union(DUPL).union(KANA).union(LATN).union(SYRC).union(TFNG);
1107    /// Cherokee, Duployan, Latin, Syriac
1108    pub const CHER_DUPL_LATN_SYRC: ScriptExtension = CHER.union(DUPL).union(LATN).union(SYRC);
1109    /// Latin, Syriac
1110    pub const LATN_SYRC: ScriptExtension = LATN.union(SYRC);
1111    /// Latin, Sunuwar, Syriac
1112    pub const LATN_SUNU_SYRC: ScriptExtension = LATN.union(SUNU).union(SYRC);
1113    /// Cherokee, Latin, Syriac
1114    pub const CHER_LATN_SYRC: ScriptExtension = CHER.union(LATN).union(SYRC);
1115    /// Caucasian_Albanian, Cherokee, Gothic, Latin, Sunuwar, Syriac, Thai
1116    pub const AGHB_CHER_GOTH_LATN_SUNU_SYRC_THAI: ScriptExtension = AGHB.union(CHER).union(GOTH).union(LATN).union(SUNU).union(SYRC).union(THAI);
1117    /// Latin, Osage
1118    pub const LATN_OSGE: ScriptExtension = LATN.union(OSGE);
1119    /// Caucasian_Albanian, Latin, Todhri
1120    pub const AGHB_LATN_TODR: ScriptExtension = AGHB.union(LATN).union(TODR);
1121    /// Coptic, Greek
1122    pub const COPT_GREK: ScriptExtension = COPT.union(GREK);
1123    /// Cyrillic, Old_Permic
1124    pub const CYRL_PERM: ScriptExtension = CYRL.union(PERM);
1125    /// Cyrillic, Glagolitic
1126    pub const CYRL_GLAG: ScriptExtension = CYRL.union(GLAG);
1127    /// Cyrillic, Latin
1128    pub const CYRL_LATN: ScriptExtension = CYRL.union(LATN);
1129    /// Armenian, Georgian, Glagolitic
1130    pub const ARMN_GEOR_GLAG: ScriptExtension = ARMN.union(GEOR).union(GLAG);
1131    /// Arabic, Garay, Nko, Hanifi_Rohingya, Syriac, Thaana, Yezidi
1132    pub const ARAB_GARA_NKOO_ROHG_SYRC_THAA_YEZI: ScriptExtension = ARAB.union(GARA).union(NKOO).union(ROHG).union(SYRC).union(THAA).union(YEZI);
1133    /// Arabic, Syriac, Thaana
1134    pub const ARAB_SYRC_THAA: ScriptExtension = ARAB.union(SYRC).union(THAA);
1135    /// Adlam, Arabic, Garay, Nko, Hanifi_Rohingya, Syriac, Thaana, Yezidi
1136    pub const ADLM_ARAB_GARA_NKOO_ROHG_SYRC_THAA_YEZI: ScriptExtension = ADLM.union(ARAB).union(GARA).union(NKOO).union(ROHG).union(SYRC).union(THAA).union(YEZI);
1137    /// Adlam, Arabic, Mandaic, Manichaean, Old_Uyghur, Psalter_Pahlavi, Hanifi_Rohingya, Sogdian, Syriac
1138    pub const ADLM_ARAB_MAND_MANI_OUGR_PHLP_ROHG_SOGD_SYRC: ScriptExtension = ADLM.union(ARAB).union(MAND).union(MANI).union(OUGR).union(PHLP).union(ROHG).union(SOGD).union(SYRC);
1139    /// Arabic, Syriac
1140    pub const ARAB_SYRC: ScriptExtension = ARAB.union(SYRC);
1141    /// Arabic, Thaana, Yezidi
1142    pub const ARAB_THAA_YEZI: ScriptExtension = ARAB.union(THAA).union(YEZI);
1143    /// Arabic, Hanifi_Rohingya
1144    pub const ARAB_ROHG: ScriptExtension = ARAB.union(ROHG);
1145    /// Bengali, Devanagari, Grantha, Gujarati, Gurmukhi, Kannada, Latin, Malayalam, Nandinagari, Newa, Oriya, Sharada, Tamil, Telugu, Tirhuta
1146    pub const BENG_DEVA_GRAN_GUJR_GURU_KNDA_LATN_MLYM_NAND_NEWA_ORYA_SHRD_TAML_TELU_TIRH: ScriptExtension = BENG.union(DEVA).union(GRAN).union(GUJR).union(GURU).union(KNDA).union(LATN).union(MLYM).union(NAND).union(NEWA).union(ORYA).union(SHRD).union(TAML).union(TELU).union(TIRH);
1147    /// Bengali, Devanagari, Grantha, Gujarati, Gurmukhi, Kannada, Latin, Malayalam, Newa, Oriya, Tamil, Telugu, Tirhuta
1148    pub const BENG_DEVA_GRAN_GUJR_GURU_KNDA_LATN_MLYM_NEWA_ORYA_TAML_TELU_TIRH: ScriptExtension = BENG.union(DEVA).union(GRAN).union(GUJR).union(GURU).union(KNDA).union(LATN).union(MLYM).union(NEWA).union(ORYA).union(TAML).union(TELU).union(TIRH);
1149    /// Bengali, Devanagari, Dogra, Gunjala_Gondi, Masaram_Gondi, Grantha, Gujarati, Gurmukhi, Kannada, Mahajani, Malayalam, Nandinagari, Ol_Onal, Oriya, Khudawadi, Sinhala, Syloti_Nagri, Takri, Tamil, Telugu, Tirhuta
1150    pub const BENG_DEVA_DOGR_GONG_GONM_GRAN_GUJR_GURU_KNDA_MAHJ_MLYM_NAND_ONAO_ORYA_SIND_SINH_SYLO_TAKR_TAML_TELU_TIRH: ScriptExtension = BENG.union(DEVA).union(DOGR).union(GONG).union(GONM).union(GRAN).union(GUJR).union(GURU).union(KNDA).union(MAHJ).union(MLYM).union(NAND).union(ONAO).union(ORYA).union(SIND).union(SINH).union(SYLO).union(TAKR).union(TAML).union(TELU).union(TIRH);
1151    /// Bengali, Devanagari, Dogra, Gunjala_Gondi, Masaram_Gondi, Grantha, Gujarati, Gurung_Khema, Gurmukhi, Kannada, Limbu, Mahajani, Malayalam, Nandinagari, Ol_Onal, Oriya, Khudawadi, Sinhala, Syloti_Nagri, Takri, Tamil, Telugu, Tirhuta
1152    pub const BENG_DEVA_DOGR_GONG_GONM_GRAN_GUJR_GUKH_GURU_KNDA_LIMB_MAHJ_MLYM_NAND_ONAO_ORYA_SIND_SINH_SYLO_TAKR_TAML_TELU_TIRH: ScriptExtension = BENG.union(DEVA).union(DOGR).union(GONG).union(GONM).union(GRAN).union(GUJR).union(GUKH).union(GURU).union(KNDA).union(LIMB).union(MAHJ).union(MLYM).union(NAND).union(ONAO).union(ORYA).union(SIND).union(SINH).union(SYLO).union(TAKR).union(TAML).union(TELU).union(TIRH);
1153    /// Devanagari, Dogra, Kaithi, Mahajani
1154    pub const DEVA_DOGR_KTHI_MAHJ: ScriptExtension = DEVA.union(DOGR).union(KTHI).union(MAHJ);
1155    /// Bengali, Chakma, Syloti_Nagri
1156    pub const BENG_CAKM_SYLO: ScriptExtension = BENG.union(CAKM).union(SYLO);
1157    /// Gurmukhi, Multani
1158    pub const GURU_MULT: ScriptExtension = GURU.union(MULT);
1159    /// Gujarati, Khojki
1160    pub const GUJR_KHOJ: ScriptExtension = GUJR.union(KHOJ);
1161    /// Grantha, Tamil
1162    pub const GRAN_TAML: ScriptExtension = GRAN.union(TAML);
1163    /// Kannada, Nandinagari, Tulu_Tigalari
1164    pub const KNDA_NAND_TUTG: ScriptExtension = KNDA.union(NAND).union(TUTG);
1165    /// Chakma, Myanmar, Tai_Le
1166    pub const CAKM_MYMR_TALE: ScriptExtension = CAKM.union(MYMR).union(TALE);
1167    /// Georgian, Glagolitic, Latin
1168    pub const GEOR_GLAG_LATN: ScriptExtension = GEOR.union(GLAG).union(LATN);
1169    /// Buhid, Hanunoo, Tagbanwa, Tagalog
1170    pub const BUHD_HANO_TAGB_TGLG: ScriptExtension = BUHD.union(HANO).union(TAGB).union(TGLG);
1171    /// Mongolian, Phags_Pa
1172    pub const MONG_PHAG: ScriptExtension = MONG.union(PHAG);
1173    /// Bengali, Devanagari, Grantha, Kannada
1174    pub const BENG_DEVA_GRAN_KNDA: ScriptExtension = BENG.union(DEVA).union(GRAN).union(KNDA);
1175    /// Devanagari, Grantha, Kannada
1176    pub const DEVA_GRAN_KNDA: ScriptExtension = DEVA.union(GRAN).union(KNDA);
1177    /// Bengali, Devanagari, Newa, Telugu, Tirhuta
1178    pub const BENG_DEVA_NEWA_TELU_TIRH: ScriptExtension = BENG.union(DEVA).union(NEWA).union(TELU).union(TIRH);
1179    /// Bengali, Devanagari, Telugu
1180    pub const BENG_DEVA_TELU: ScriptExtension = BENG.union(DEVA).union(TELU);
1181    /// Devanagari, Newa, Sharada
1182    pub const DEVA_NEWA_SHRD: ScriptExtension = DEVA.union(NEWA).union(SHRD);
1183    /// Bengali, Devanagari, Newa, Telugu
1184    pub const BENG_DEVA_NEWA_TELU: ScriptExtension = BENG.union(DEVA).union(NEWA).union(TELU);
1185    /// Devanagari, Sharada
1186    pub const DEVA_SHRD: ScriptExtension = DEVA.union(SHRD);
1187    /// Devanagari, Kannada, Malayalam, Oriya, Tamil, Telugu
1188    pub const DEVA_KNDA_MLYM_ORYA_TAML_TELU: ScriptExtension = DEVA.union(KNDA).union(MLYM).union(ORYA).union(TAML).union(TELU);
1189    /// Bengali, Devanagari
1190    pub const BENG_DEVA: ScriptExtension = BENG.union(DEVA);
1191    /// Devanagari, Newa, Tirhuta
1192    pub const DEVA_NEWA_TIRH: ScriptExtension = DEVA.union(NEWA).union(TIRH);
1193    /// Devanagari, Nandinagari, Newa
1194    pub const DEVA_NAND_NEWA: ScriptExtension = DEVA.union(NAND).union(NEWA);
1195    /// Bengali, Devanagari, Sharada
1196    pub const BENG_DEVA_SHRD: ScriptExtension = BENG.union(DEVA).union(SHRD);
1197    /// Devanagari, Newa
1198    pub const DEVA_NEWA: ScriptExtension = DEVA.union(NEWA);
1199    /// Bengali, Devanagari, Newa, Sharada
1200    pub const BENG_DEVA_NEWA_SHRD: ScriptExtension = BENG.union(DEVA).union(NEWA).union(SHRD);
1201    /// Bengali, Devanagari, Grantha, Kannada, Malayalam, Nandinagari, Oriya, Sinhala, Telugu, Tirhuta, Tulu_Tigalari
1202    pub const BENG_DEVA_GRAN_KNDA_MLYM_NAND_ORYA_SINH_TELU_TIRH_TUTG: ScriptExtension = BENG.union(DEVA).union(GRAN).union(KNDA).union(MLYM).union(NAND).union(ORYA).union(SINH).union(TELU).union(TIRH).union(TUTG);
1203    /// Devanagari, Grantha
1204    pub const DEVA_GRAN: ScriptExtension = DEVA.union(GRAN);
1205    /// Devanagari, Grantha, Kannada, Tulu_Tigalari
1206    pub const DEVA_GRAN_KNDA_TUTG: ScriptExtension = DEVA.union(GRAN).union(KNDA).union(TUTG);
1207    /// Cyrillic, Latin, Syriac
1208    pub const CYRL_LATN_SYRC: ScriptExtension = CYRL.union(LATN).union(SYRC);
1209    /// Latin, Mongolian, Phags_Pa
1210    pub const LATN_MONG_PHAG: ScriptExtension = LATN.union(MONG).union(PHAG);
1211    /// Adlam, Arabic
1212    pub const ADLM_ARAB: ScriptExtension = ADLM.union(ARAB);
1213    /// Carian, Georgian, Glagolitic, Old_Hungarian, Lycian, Old_Turkic
1214    pub const CARI_GEOR_GLAG_HUNG_LYCI_ORKH: ScriptExtension = CARI.union(GEOR).union(GLAG).union(HUNG).union(LYCI).union(ORKH);
1215    /// Carian, Greek, Old_Hungarian, Meroitic_Hieroglyphs
1216    pub const CARI_GREK_HUNG_MERO: ScriptExtension = CARI.union(GREK).union(HUNG).union(MERO);
1217    /// Devanagari, Grantha, Latin
1218    pub const DEVA_GRAN_LATN: ScriptExtension = DEVA.union(GRAN).union(LATN);
1219    /// Coptic, Latin
1220    pub const COPT_LATN: ScriptExtension = COPT.union(LATN);
1221    /// Avestan, Old_Turkic
1222    pub const AVST_ORKH: ScriptExtension = AVST.union(ORKH);
1223    /// Avestan, Carian, Georgian, Old_Hungarian, Kaithi, Lydian, Samaritan
1224    pub const AVST_CARI_GEOR_HUNG_KTHI_LYDI_SAMR: ScriptExtension = AVST.union(CARI).union(GEOR).union(HUNG).union(KTHI).union(LYDI).union(SAMR);
1225    /// Adlam, Arabic, Old_Hungarian
1226    pub const ADLM_ARAB_HUNG: ScriptExtension = ADLM.union(ARAB).union(HUNG);
1227    /// Han, Tangut
1228    pub const HANI_TANG: ScriptExtension = HANI.union(TANG);
1229    /// Bopomofo, Hangul, Han, Hiragana, Katakana, Mongolian, Yi
1230    pub const BOPO_HANG_HANI_HIRA_KANA_MONG_YIII: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA).union(MONG).union(YIII);
1231    /// Bopomofo, Hangul, Han, Hiragana, Katakana, Mongolian, Phags_Pa, Yi
1232    pub const BOPO_HANG_HANI_HIRA_KANA_MONG_PHAG_YIII: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA).union(MONG).union(PHAG).union(YIII);
1233    /// Bopomofo, Hangul, Han, Hiragana, Katakana
1234    pub const BOPO_HANG_HANI_HIRA_KANA: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA);
1235    /// Bopomofo, Hangul, Han, Hiragana, Katakana, Mongolian, Tibetan, Yi
1236    pub const BOPO_HANG_HANI_HIRA_KANA_MONG_TIBT_YIII: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA).union(MONG).union(TIBT).union(YIII);
1237    /// Bopomofo, Hangul, Han, Hiragana, Katakana, Lisu, Mongolian, Tibetan, Yi
1238    pub const BOPO_HANG_HANI_HIRA_KANA_LISU_MONG_TIBT_YIII: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA).union(LISU).union(MONG).union(TIBT).union(YIII);
1239    /// Bopomofo, Hangul, Han, Hiragana, Katakana, Yi
1240    pub const BOPO_HANG_HANI_HIRA_KANA_YIII: ScriptExtension = BOPO.union(HANG).union(HANI).union(HIRA).union(KANA).union(YIII);
1241    /// Bopomofo, Han
1242    pub const BOPO_HANI: ScriptExtension = BOPO.union(HANI);
1243    /// Hiragana, Katakana
1244    pub const HIRA_KANA: ScriptExtension = HIRA.union(KANA);
1245    /// Han, Hiragana, Katakana
1246    pub const HANI_HIRA_KANA: ScriptExtension = HANI.union(HIRA).union(KANA);
1247    /// Han, Latin
1248    pub const HANI_LATN: ScriptExtension = HANI.union(LATN);
1249    /// Devanagari, Dogra, Gujarati, Gurmukhi, Khojki, Kannada, Kaithi, Mahajani, Malayalam, Modi, Nandinagari, Sharada, Khudawadi, Takri, Tirhuta, Tulu_Tigalari
1250    pub const DEVA_DOGR_GUJR_GURU_KHOJ_KNDA_KTHI_MAHJ_MLYM_MODI_NAND_SHRD_SIND_TAKR_TIRH_TUTG: ScriptExtension = DEVA.union(DOGR).union(GUJR).union(GURU).union(KHOJ).union(KNDA).union(KTHI).union(MAHJ).union(MLYM).union(MODI).union(NAND).union(SHRD).union(SIND).union(TAKR).union(TIRH).union(TUTG);
1251    /// Devanagari, Dogra, Gujarati, Gurmukhi, Khojki, Kannada, Kaithi, Mahajani, Modi, Nandinagari, Sharada, Khudawadi, Takri, Tirhuta, Tulu_Tigalari
1252    pub const DEVA_DOGR_GUJR_GURU_KHOJ_KNDA_KTHI_MAHJ_MODI_NAND_SHRD_SIND_TAKR_TIRH_TUTG: ScriptExtension = DEVA.union(DOGR).union(GUJR).union(GURU).union(KHOJ).union(KNDA).union(KTHI).union(MAHJ).union(MODI).union(NAND).union(SHRD).union(SIND).union(TAKR).union(TIRH).union(TUTG);
1253    /// Devanagari, Dogra, Gujarati, Gurmukhi, Khojki, Kaithi, Mahajani, Modi, Khudawadi, Takri, Tirhuta
1254    pub const DEVA_DOGR_GUJR_GURU_KHOJ_KTHI_MAHJ_MODI_SIND_TAKR_TIRH: ScriptExtension = DEVA.union(DOGR).union(GUJR).union(GURU).union(KHOJ).union(KTHI).union(MAHJ).union(MODI).union(SIND).union(TAKR).union(TIRH);
1255    /// Devanagari, Dogra, Gujarati, Gurmukhi, Khojki, Kaithi, Mahajani, Modi, Sharada, Khudawadi, Takri, Tirhuta
1256    pub const DEVA_DOGR_GUJR_GURU_KHOJ_KTHI_MAHJ_MODI_SHRD_SIND_TAKR_TIRH: ScriptExtension = DEVA.union(DOGR).union(GUJR).union(GURU).union(KHOJ).union(KTHI).union(MAHJ).union(MODI).union(SHRD).union(SIND).union(TAKR).union(TIRH);
1257    /// Bengali, Devanagari, Tulu_Tigalari
1258    pub const BENG_DEVA_TUTG: ScriptExtension = BENG.union(DEVA).union(TUTG);
1259    /// Devanagari, Tamil
1260    pub const DEVA_TAML: ScriptExtension = DEVA.union(TAML);
1261    /// Kayah_Li, Latin, Myanmar
1262    pub const KALI_LATN_MYMR: ScriptExtension = KALI.union(LATN).union(MYMR);
1263    /// Buginese, Javanese
1264    pub const BUGI_JAVA: ScriptExtension = BUGI.union(JAVA);
1265    /// Arabic, Nko
1266    pub const ARAB_NKOO: ScriptExtension = ARAB.union(NKOO);
1267    /// Arabic, Thaana
1268    pub const ARAB_THAA: ScriptExtension = ARAB.union(THAA);
1269    /// Cypro_Minoan, Cypriot, Linear_B
1270    pub const CPMN_CPRT_LINB: ScriptExtension = CPMN.union(CPRT).union(LINB);
1271    /// Cypriot, Linear_B
1272    pub const CPRT_LINB: ScriptExtension = CPRT.union(LINB);
1273    /// Cypriot, Linear_A, Linear_B
1274    pub const CPRT_LINA_LINB: ScriptExtension = CPRT.union(LINA).union(LINB);
1275    /// Arabic, Coptic
1276    pub const ARAB_COPT: ScriptExtension = ARAB.union(COPT);
1277    /// Manichaean, Old_Uyghur
1278    pub const MANI_OUGR: ScriptExtension = MANI.union(OUGR);
1279}
1280
1281impl Script {
1282
1283    #[inline]
1284    pub(crate) fn inner_full_name(self) -> &'static str {
1285        match self {
1286            Script::Unknown => "Unknown",
1287            Script::Common => "Common",
1288            Script::Inherited => "Inherited",
1289            Script::Adlam => "Adlam",
1290            Script::Caucasian_Albanian => "Caucasian_Albanian",
1291            Script::Ahom => "Ahom",
1292            Script::Arabic => "Arabic",
1293            Script::Imperial_Aramaic => "Imperial_Aramaic",
1294            Script::Armenian => "Armenian",
1295            Script::Avestan => "Avestan",
1296            Script::Balinese => "Balinese",
1297            Script::Bamum => "Bamum",
1298            Script::Bassa_Vah => "Bassa_Vah",
1299            Script::Batak => "Batak",
1300            Script::Bengali => "Bengali",
1301            Script::Beria_Erfe => "Beria_Erfe",
1302            Script::Bhaiksuki => "Bhaiksuki",
1303            Script::Bopomofo => "Bopomofo",
1304            Script::Brahmi => "Brahmi",
1305            Script::Braille => "Braille",
1306            Script::Buginese => "Buginese",
1307            Script::Buhid => "Buhid",
1308            Script::Chakma => "Chakma",
1309            Script::Canadian_Aboriginal => "Canadian_Aboriginal",
1310            Script::Carian => "Carian",
1311            Script::Cham => "Cham",
1312            Script::Cherokee => "Cherokee",
1313            Script::Chorasmian => "Chorasmian",
1314            Script::Coptic => "Coptic",
1315            Script::Cypro_Minoan => "Cypro_Minoan",
1316            Script::Cypriot => "Cypriot",
1317            Script::Cyrillic => "Cyrillic",
1318            Script::Devanagari => "Devanagari",
1319            Script::Dives_Akuru => "Dives_Akuru",
1320            Script::Dogra => "Dogra",
1321            Script::Deseret => "Deseret",
1322            Script::Duployan => "Duployan",
1323            Script::Egyptian_Hieroglyphs => "Egyptian_Hieroglyphs",
1324            Script::Elbasan => "Elbasan",
1325            Script::Elymaic => "Elymaic",
1326            Script::Ethiopic => "Ethiopic",
1327            Script::Garay => "Garay",
1328            Script::Georgian => "Georgian",
1329            Script::Glagolitic => "Glagolitic",
1330            Script::Gunjala_Gondi => "Gunjala_Gondi",
1331            Script::Masaram_Gondi => "Masaram_Gondi",
1332            Script::Gothic => "Gothic",
1333            Script::Grantha => "Grantha",
1334            Script::Greek => "Greek",
1335            Script::Gujarati => "Gujarati",
1336            Script::Gurung_Khema => "Gurung_Khema",
1337            Script::Gurmukhi => "Gurmukhi",
1338            Script::Hangul => "Hangul",
1339            Script::Han => "Han",
1340            Script::Hanunoo => "Hanunoo",
1341            Script::Hatran => "Hatran",
1342            Script::Hebrew => "Hebrew",
1343            Script::Hiragana => "Hiragana",
1344            Script::Anatolian_Hieroglyphs => "Anatolian_Hieroglyphs",
1345            Script::Pahawh_Hmong => "Pahawh_Hmong",
1346            Script::Nyiakeng_Puachue_Hmong => "Nyiakeng_Puachue_Hmong",
1347            Script::Old_Hungarian => "Old_Hungarian",
1348            Script::Old_Italic => "Old_Italic",
1349            Script::Javanese => "Javanese",
1350            Script::Kayah_Li => "Kayah_Li",
1351            Script::Katakana => "Katakana",
1352            Script::Kawi => "Kawi",
1353            Script::Kharoshthi => "Kharoshthi",
1354            Script::Khmer => "Khmer",
1355            Script::Khojki => "Khojki",
1356            Script::Khitan_Small_Script => "Khitan_Small_Script",
1357            Script::Kannada => "Kannada",
1358            Script::Kirat_Rai => "Kirat_Rai",
1359            Script::Kaithi => "Kaithi",
1360            Script::Tai_Tham => "Tai_Tham",
1361            Script::Lao => "Lao",
1362            Script::Latin => "Latin",
1363            Script::Lepcha => "Lepcha",
1364            Script::Limbu => "Limbu",
1365            Script::Linear_A => "Linear_A",
1366            Script::Linear_B => "Linear_B",
1367            Script::Lisu => "Lisu",
1368            Script::Lycian => "Lycian",
1369            Script::Lydian => "Lydian",
1370            Script::Mahajani => "Mahajani",
1371            Script::Makasar => "Makasar",
1372            Script::Mandaic => "Mandaic",
1373            Script::Manichaean => "Manichaean",
1374            Script::Marchen => "Marchen",
1375            Script::Medefaidrin => "Medefaidrin",
1376            Script::Mende_Kikakui => "Mende_Kikakui",
1377            Script::Meroitic_Cursive => "Meroitic_Cursive",
1378            Script::Meroitic_Hieroglyphs => "Meroitic_Hieroglyphs",
1379            Script::Malayalam => "Malayalam",
1380            Script::Modi => "Modi",
1381            Script::Mongolian => "Mongolian",
1382            Script::Mro => "Mro",
1383            Script::Meetei_Mayek => "Meetei_Mayek",
1384            Script::Multani => "Multani",
1385            Script::Myanmar => "Myanmar",
1386            Script::Nag_Mundari => "Nag_Mundari",
1387            Script::Nandinagari => "Nandinagari",
1388            Script::Old_North_Arabian => "Old_North_Arabian",
1389            Script::Nabataean => "Nabataean",
1390            Script::Newa => "Newa",
1391            Script::Nko => "Nko",
1392            Script::Nushu => "Nushu",
1393            Script::Ogham => "Ogham",
1394            Script::Ol_Chiki => "Ol_Chiki",
1395            Script::Ol_Onal => "Ol_Onal",
1396            Script::Old_Turkic => "Old_Turkic",
1397            Script::Oriya => "Oriya",
1398            Script::Osage => "Osage",
1399            Script::Osmanya => "Osmanya",
1400            Script::Old_Uyghur => "Old_Uyghur",
1401            Script::Palmyrene => "Palmyrene",
1402            Script::Pau_Cin_Hau => "Pau_Cin_Hau",
1403            Script::Old_Permic => "Old_Permic",
1404            Script::Phags_Pa => "Phags_Pa",
1405            Script::Inscriptional_Pahlavi => "Inscriptional_Pahlavi",
1406            Script::Psalter_Pahlavi => "Psalter_Pahlavi",
1407            Script::Phoenician => "Phoenician",
1408            Script::Miao => "Miao",
1409            Script::Inscriptional_Parthian => "Inscriptional_Parthian",
1410            Script::Rejang => "Rejang",
1411            Script::Hanifi_Rohingya => "Hanifi_Rohingya",
1412            Script::Runic => "Runic",
1413            Script::Samaritan => "Samaritan",
1414            Script::Old_South_Arabian => "Old_South_Arabian",
1415            Script::Saurashtra => "Saurashtra",
1416            Script::SignWriting => "SignWriting",
1417            Script::Shavian => "Shavian",
1418            Script::Sharada => "Sharada",
1419            Script::Siddham => "Siddham",
1420            Script::Sidetic => "Sidetic",
1421            Script::Khudawadi => "Khudawadi",
1422            Script::Sinhala => "Sinhala",
1423            Script::Sogdian => "Sogdian",
1424            Script::Old_Sogdian => "Old_Sogdian",
1425            Script::Sora_Sompeng => "Sora_Sompeng",
1426            Script::Soyombo => "Soyombo",
1427            Script::Sundanese => "Sundanese",
1428            Script::Sunuwar => "Sunuwar",
1429            Script::Syloti_Nagri => "Syloti_Nagri",
1430            Script::Syriac => "Syriac",
1431            Script::Tagbanwa => "Tagbanwa",
1432            Script::Takri => "Takri",
1433            Script::Tai_Le => "Tai_Le",
1434            Script::New_Tai_Lue => "New_Tai_Lue",
1435            Script::Tamil => "Tamil",
1436            Script::Tangut => "Tangut",
1437            Script::Tai_Viet => "Tai_Viet",
1438            Script::Tai_Yo => "Tai_Yo",
1439            Script::Telugu => "Telugu",
1440            Script::Tifinagh => "Tifinagh",
1441            Script::Tagalog => "Tagalog",
1442            Script::Thaana => "Thaana",
1443            Script::Thai => "Thai",
1444            Script::Tibetan => "Tibetan",
1445            Script::Tirhuta => "Tirhuta",
1446            Script::Tangsa => "Tangsa",
1447            Script::Todhri => "Todhri",
1448            Script::Tolong_Siki => "Tolong_Siki",
1449            Script::Toto => "Toto",
1450            Script::Tulu_Tigalari => "Tulu_Tigalari",
1451            Script::Ugaritic => "Ugaritic",
1452            Script::Vai => "Vai",
1453            Script::Vithkuqi => "Vithkuqi",
1454            Script::Warang_Citi => "Warang_Citi",
1455            Script::Wancho => "Wancho",
1456            Script::Old_Persian => "Old_Persian",
1457            Script::Cuneiform => "Cuneiform",
1458            Script::Yezidi => "Yezidi",
1459            Script::Yi => "Yi",
1460            Script::Zanabazar_Square => "Zanabazar_Square",
1461        }
1462    }
1463
1464    #[inline]
1465    pub(crate) fn inner_from_full_name(input: &str) -> Option<Self> {
1466        match input {
1467            "Unknown" => Some(Script::Unknown),
1468            "Common" => Some(Script::Common),
1469            "Inherited" => Some(Script::Inherited),
1470            "Adlam" => Some(Script::Adlam),
1471            "Caucasian_Albanian" => Some(Script::Caucasian_Albanian),
1472            "Ahom" => Some(Script::Ahom),
1473            "Arabic" => Some(Script::Arabic),
1474            "Imperial_Aramaic" => Some(Script::Imperial_Aramaic),
1475            "Armenian" => Some(Script::Armenian),
1476            "Avestan" => Some(Script::Avestan),
1477            "Balinese" => Some(Script::Balinese),
1478            "Bamum" => Some(Script::Bamum),
1479            "Bassa_Vah" => Some(Script::Bassa_Vah),
1480            "Batak" => Some(Script::Batak),
1481            "Bengali" => Some(Script::Bengali),
1482            "Beria_Erfe" => Some(Script::Beria_Erfe),
1483            "Bhaiksuki" => Some(Script::Bhaiksuki),
1484            "Bopomofo" => Some(Script::Bopomofo),
1485            "Brahmi" => Some(Script::Brahmi),
1486            "Braille" => Some(Script::Braille),
1487            "Buginese" => Some(Script::Buginese),
1488            "Buhid" => Some(Script::Buhid),
1489            "Chakma" => Some(Script::Chakma),
1490            "Canadian_Aboriginal" => Some(Script::Canadian_Aboriginal),
1491            "Carian" => Some(Script::Carian),
1492            "Cham" => Some(Script::Cham),
1493            "Cherokee" => Some(Script::Cherokee),
1494            "Chorasmian" => Some(Script::Chorasmian),
1495            "Coptic" => Some(Script::Coptic),
1496            "Cypro_Minoan" => Some(Script::Cypro_Minoan),
1497            "Cypriot" => Some(Script::Cypriot),
1498            "Cyrillic" => Some(Script::Cyrillic),
1499            "Devanagari" => Some(Script::Devanagari),
1500            "Dives_Akuru" => Some(Script::Dives_Akuru),
1501            "Dogra" => Some(Script::Dogra),
1502            "Deseret" => Some(Script::Deseret),
1503            "Duployan" => Some(Script::Duployan),
1504            "Egyptian_Hieroglyphs" => Some(Script::Egyptian_Hieroglyphs),
1505            "Elbasan" => Some(Script::Elbasan),
1506            "Elymaic" => Some(Script::Elymaic),
1507            "Ethiopic" => Some(Script::Ethiopic),
1508            "Garay" => Some(Script::Garay),
1509            "Georgian" => Some(Script::Georgian),
1510            "Glagolitic" => Some(Script::Glagolitic),
1511            "Gunjala_Gondi" => Some(Script::Gunjala_Gondi),
1512            "Masaram_Gondi" => Some(Script::Masaram_Gondi),
1513            "Gothic" => Some(Script::Gothic),
1514            "Grantha" => Some(Script::Grantha),
1515            "Greek" => Some(Script::Greek),
1516            "Gujarati" => Some(Script::Gujarati),
1517            "Gurung_Khema" => Some(Script::Gurung_Khema),
1518            "Gurmukhi" => Some(Script::Gurmukhi),
1519            "Hangul" => Some(Script::Hangul),
1520            "Han" => Some(Script::Han),
1521            "Hanunoo" => Some(Script::Hanunoo),
1522            "Hatran" => Some(Script::Hatran),
1523            "Hebrew" => Some(Script::Hebrew),
1524            "Hiragana" => Some(Script::Hiragana),
1525            "Anatolian_Hieroglyphs" => Some(Script::Anatolian_Hieroglyphs),
1526            "Pahawh_Hmong" => Some(Script::Pahawh_Hmong),
1527            "Nyiakeng_Puachue_Hmong" => Some(Script::Nyiakeng_Puachue_Hmong),
1528            "Old_Hungarian" => Some(Script::Old_Hungarian),
1529            "Old_Italic" => Some(Script::Old_Italic),
1530            "Javanese" => Some(Script::Javanese),
1531            "Kayah_Li" => Some(Script::Kayah_Li),
1532            "Katakana" => Some(Script::Katakana),
1533            "Kawi" => Some(Script::Kawi),
1534            "Kharoshthi" => Some(Script::Kharoshthi),
1535            "Khmer" => Some(Script::Khmer),
1536            "Khojki" => Some(Script::Khojki),
1537            "Khitan_Small_Script" => Some(Script::Khitan_Small_Script),
1538            "Kannada" => Some(Script::Kannada),
1539            "Kirat_Rai" => Some(Script::Kirat_Rai),
1540            "Kaithi" => Some(Script::Kaithi),
1541            "Tai_Tham" => Some(Script::Tai_Tham),
1542            "Lao" => Some(Script::Lao),
1543            "Latin" => Some(Script::Latin),
1544            "Lepcha" => Some(Script::Lepcha),
1545            "Limbu" => Some(Script::Limbu),
1546            "Linear_A" => Some(Script::Linear_A),
1547            "Linear_B" => Some(Script::Linear_B),
1548            "Lisu" => Some(Script::Lisu),
1549            "Lycian" => Some(Script::Lycian),
1550            "Lydian" => Some(Script::Lydian),
1551            "Mahajani" => Some(Script::Mahajani),
1552            "Makasar" => Some(Script::Makasar),
1553            "Mandaic" => Some(Script::Mandaic),
1554            "Manichaean" => Some(Script::Manichaean),
1555            "Marchen" => Some(Script::Marchen),
1556            "Medefaidrin" => Some(Script::Medefaidrin),
1557            "Mende_Kikakui" => Some(Script::Mende_Kikakui),
1558            "Meroitic_Cursive" => Some(Script::Meroitic_Cursive),
1559            "Meroitic_Hieroglyphs" => Some(Script::Meroitic_Hieroglyphs),
1560            "Malayalam" => Some(Script::Malayalam),
1561            "Modi" => Some(Script::Modi),
1562            "Mongolian" => Some(Script::Mongolian),
1563            "Mro" => Some(Script::Mro),
1564            "Meetei_Mayek" => Some(Script::Meetei_Mayek),
1565            "Multani" => Some(Script::Multani),
1566            "Myanmar" => Some(Script::Myanmar),
1567            "Nag_Mundari" => Some(Script::Nag_Mundari),
1568            "Nandinagari" => Some(Script::Nandinagari),
1569            "Old_North_Arabian" => Some(Script::Old_North_Arabian),
1570            "Nabataean" => Some(Script::Nabataean),
1571            "Newa" => Some(Script::Newa),
1572            "Nko" => Some(Script::Nko),
1573            "Nushu" => Some(Script::Nushu),
1574            "Ogham" => Some(Script::Ogham),
1575            "Ol_Chiki" => Some(Script::Ol_Chiki),
1576            "Ol_Onal" => Some(Script::Ol_Onal),
1577            "Old_Turkic" => Some(Script::Old_Turkic),
1578            "Oriya" => Some(Script::Oriya),
1579            "Osage" => Some(Script::Osage),
1580            "Osmanya" => Some(Script::Osmanya),
1581            "Old_Uyghur" => Some(Script::Old_Uyghur),
1582            "Palmyrene" => Some(Script::Palmyrene),
1583            "Pau_Cin_Hau" => Some(Script::Pau_Cin_Hau),
1584            "Old_Permic" => Some(Script::Old_Permic),
1585            "Phags_Pa" => Some(Script::Phags_Pa),
1586            "Inscriptional_Pahlavi" => Some(Script::Inscriptional_Pahlavi),
1587            "Psalter_Pahlavi" => Some(Script::Psalter_Pahlavi),
1588            "Phoenician" => Some(Script::Phoenician),
1589            "Miao" => Some(Script::Miao),
1590            "Inscriptional_Parthian" => Some(Script::Inscriptional_Parthian),
1591            "Rejang" => Some(Script::Rejang),
1592            "Hanifi_Rohingya" => Some(Script::Hanifi_Rohingya),
1593            "Runic" => Some(Script::Runic),
1594            "Samaritan" => Some(Script::Samaritan),
1595            "Old_South_Arabian" => Some(Script::Old_South_Arabian),
1596            "Saurashtra" => Some(Script::Saurashtra),
1597            "SignWriting" => Some(Script::SignWriting),
1598            "Shavian" => Some(Script::Shavian),
1599            "Sharada" => Some(Script::Sharada),
1600            "Siddham" => Some(Script::Siddham),
1601            "Sidetic" => Some(Script::Sidetic),
1602            "Khudawadi" => Some(Script::Khudawadi),
1603            "Sinhala" => Some(Script::Sinhala),
1604            "Sogdian" => Some(Script::Sogdian),
1605            "Old_Sogdian" => Some(Script::Old_Sogdian),
1606            "Sora_Sompeng" => Some(Script::Sora_Sompeng),
1607            "Soyombo" => Some(Script::Soyombo),
1608            "Sundanese" => Some(Script::Sundanese),
1609            "Sunuwar" => Some(Script::Sunuwar),
1610            "Syloti_Nagri" => Some(Script::Syloti_Nagri),
1611            "Syriac" => Some(Script::Syriac),
1612            "Tagbanwa" => Some(Script::Tagbanwa),
1613            "Takri" => Some(Script::Takri),
1614            "Tai_Le" => Some(Script::Tai_Le),
1615            "New_Tai_Lue" => Some(Script::New_Tai_Lue),
1616            "Tamil" => Some(Script::Tamil),
1617            "Tangut" => Some(Script::Tangut),
1618            "Tai_Viet" => Some(Script::Tai_Viet),
1619            "Tai_Yo" => Some(Script::Tai_Yo),
1620            "Telugu" => Some(Script::Telugu),
1621            "Tifinagh" => Some(Script::Tifinagh),
1622            "Tagalog" => Some(Script::Tagalog),
1623            "Thaana" => Some(Script::Thaana),
1624            "Thai" => Some(Script::Thai),
1625            "Tibetan" => Some(Script::Tibetan),
1626            "Tirhuta" => Some(Script::Tirhuta),
1627            "Tangsa" => Some(Script::Tangsa),
1628            "Todhri" => Some(Script::Todhri),
1629            "Tolong_Siki" => Some(Script::Tolong_Siki),
1630            "Toto" => Some(Script::Toto),
1631            "Tulu_Tigalari" => Some(Script::Tulu_Tigalari),
1632            "Ugaritic" => Some(Script::Ugaritic),
1633            "Vai" => Some(Script::Vai),
1634            "Vithkuqi" => Some(Script::Vithkuqi),
1635            "Warang_Citi" => Some(Script::Warang_Citi),
1636            "Wancho" => Some(Script::Wancho),
1637            "Old_Persian" => Some(Script::Old_Persian),
1638            "Cuneiform" => Some(Script::Cuneiform),
1639            "Yezidi" => Some(Script::Yezidi),
1640            "Yi" => Some(Script::Yi),
1641            "Zanabazar_Square" => Some(Script::Zanabazar_Square),
1642            _ => None,
1643        }
1644    }
1645
1646    #[inline]
1647    pub(crate) fn inner_short_name(self) -> &'static str {
1648        match self {
1649            Script::Unknown => "Zzzz",
1650            Script::Common => "Zyyy",
1651            Script::Inherited => "Zinh",
1652            Script::Adlam => "Adlm",
1653            Script::Caucasian_Albanian => "Aghb",
1654            Script::Ahom => "Ahom",
1655            Script::Arabic => "Arab",
1656            Script::Imperial_Aramaic => "Armi",
1657            Script::Armenian => "Armn",
1658            Script::Avestan => "Avst",
1659            Script::Balinese => "Bali",
1660            Script::Bamum => "Bamu",
1661            Script::Bassa_Vah => "Bass",
1662            Script::Batak => "Batk",
1663            Script::Bengali => "Beng",
1664            Script::Beria_Erfe => "Berf",
1665            Script::Bhaiksuki => "Bhks",
1666            Script::Bopomofo => "Bopo",
1667            Script::Brahmi => "Brah",
1668            Script::Braille => "Brai",
1669            Script::Buginese => "Bugi",
1670            Script::Buhid => "Buhd",
1671            Script::Chakma => "Cakm",
1672            Script::Canadian_Aboriginal => "Cans",
1673            Script::Carian => "Cari",
1674            Script::Cham => "Cham",
1675            Script::Cherokee => "Cher",
1676            Script::Chorasmian => "Chrs",
1677            Script::Coptic => "Copt",
1678            Script::Cypro_Minoan => "Cpmn",
1679            Script::Cypriot => "Cprt",
1680            Script::Cyrillic => "Cyrl",
1681            Script::Devanagari => "Deva",
1682            Script::Dives_Akuru => "Diak",
1683            Script::Dogra => "Dogr",
1684            Script::Deseret => "Dsrt",
1685            Script::Duployan => "Dupl",
1686            Script::Egyptian_Hieroglyphs => "Egyp",
1687            Script::Elbasan => "Elba",
1688            Script::Elymaic => "Elym",
1689            Script::Ethiopic => "Ethi",
1690            Script::Garay => "Gara",
1691            Script::Georgian => "Geor",
1692            Script::Glagolitic => "Glag",
1693            Script::Gunjala_Gondi => "Gong",
1694            Script::Masaram_Gondi => "Gonm",
1695            Script::Gothic => "Goth",
1696            Script::Grantha => "Gran",
1697            Script::Greek => "Grek",
1698            Script::Gujarati => "Gujr",
1699            Script::Gurung_Khema => "Gukh",
1700            Script::Gurmukhi => "Guru",
1701            Script::Hangul => "Hang",
1702            Script::Han => "Hani",
1703            Script::Hanunoo => "Hano",
1704            Script::Hatran => "Hatr",
1705            Script::Hebrew => "Hebr",
1706            Script::Hiragana => "Hira",
1707            Script::Anatolian_Hieroglyphs => "Hluw",
1708            Script::Pahawh_Hmong => "Hmng",
1709            Script::Nyiakeng_Puachue_Hmong => "Hmnp",
1710            Script::Old_Hungarian => "Hung",
1711            Script::Old_Italic => "Ital",
1712            Script::Javanese => "Java",
1713            Script::Kayah_Li => "Kali",
1714            Script::Katakana => "Kana",
1715            Script::Kawi => "Kawi",
1716            Script::Kharoshthi => "Khar",
1717            Script::Khmer => "Khmr",
1718            Script::Khojki => "Khoj",
1719            Script::Khitan_Small_Script => "Kits",
1720            Script::Kannada => "Knda",
1721            Script::Kirat_Rai => "Krai",
1722            Script::Kaithi => "Kthi",
1723            Script::Tai_Tham => "Lana",
1724            Script::Lao => "Laoo",
1725            Script::Latin => "Latn",
1726            Script::Lepcha => "Lepc",
1727            Script::Limbu => "Limb",
1728            Script::Linear_A => "Lina",
1729            Script::Linear_B => "Linb",
1730            Script::Lisu => "Lisu",
1731            Script::Lycian => "Lyci",
1732            Script::Lydian => "Lydi",
1733            Script::Mahajani => "Mahj",
1734            Script::Makasar => "Maka",
1735            Script::Mandaic => "Mand",
1736            Script::Manichaean => "Mani",
1737            Script::Marchen => "Marc",
1738            Script::Medefaidrin => "Medf",
1739            Script::Mende_Kikakui => "Mend",
1740            Script::Meroitic_Cursive => "Merc",
1741            Script::Meroitic_Hieroglyphs => "Mero",
1742            Script::Malayalam => "Mlym",
1743            Script::Modi => "Modi",
1744            Script::Mongolian => "Mong",
1745            Script::Mro => "Mroo",
1746            Script::Meetei_Mayek => "Mtei",
1747            Script::Multani => "Mult",
1748            Script::Myanmar => "Mymr",
1749            Script::Nag_Mundari => "Nagm",
1750            Script::Nandinagari => "Nand",
1751            Script::Old_North_Arabian => "Narb",
1752            Script::Nabataean => "Nbat",
1753            Script::Newa => "Newa",
1754            Script::Nko => "Nkoo",
1755            Script::Nushu => "Nshu",
1756            Script::Ogham => "Ogam",
1757            Script::Ol_Chiki => "Olck",
1758            Script::Ol_Onal => "Onao",
1759            Script::Old_Turkic => "Orkh",
1760            Script::Oriya => "Orya",
1761            Script::Osage => "Osge",
1762            Script::Osmanya => "Osma",
1763            Script::Old_Uyghur => "Ougr",
1764            Script::Palmyrene => "Palm",
1765            Script::Pau_Cin_Hau => "Pauc",
1766            Script::Old_Permic => "Perm",
1767            Script::Phags_Pa => "Phag",
1768            Script::Inscriptional_Pahlavi => "Phli",
1769            Script::Psalter_Pahlavi => "Phlp",
1770            Script::Phoenician => "Phnx",
1771            Script::Miao => "Plrd",
1772            Script::Inscriptional_Parthian => "Prti",
1773            Script::Rejang => "Rjng",
1774            Script::Hanifi_Rohingya => "Rohg",
1775            Script::Runic => "Runr",
1776            Script::Samaritan => "Samr",
1777            Script::Old_South_Arabian => "Sarb",
1778            Script::Saurashtra => "Saur",
1779            Script::SignWriting => "Sgnw",
1780            Script::Shavian => "Shaw",
1781            Script::Sharada => "Shrd",
1782            Script::Siddham => "Sidd",
1783            Script::Sidetic => "Sidt",
1784            Script::Khudawadi => "Sind",
1785            Script::Sinhala => "Sinh",
1786            Script::Sogdian => "Sogd",
1787            Script::Old_Sogdian => "Sogo",
1788            Script::Sora_Sompeng => "Sora",
1789            Script::Soyombo => "Soyo",
1790            Script::Sundanese => "Sund",
1791            Script::Sunuwar => "Sunu",
1792            Script::Syloti_Nagri => "Sylo",
1793            Script::Syriac => "Syrc",
1794            Script::Tagbanwa => "Tagb",
1795            Script::Takri => "Takr",
1796            Script::Tai_Le => "Tale",
1797            Script::New_Tai_Lue => "Talu",
1798            Script::Tamil => "Taml",
1799            Script::Tangut => "Tang",
1800            Script::Tai_Viet => "Tavt",
1801            Script::Tai_Yo => "Tayo",
1802            Script::Telugu => "Telu",
1803            Script::Tifinagh => "Tfng",
1804            Script::Tagalog => "Tglg",
1805            Script::Thaana => "Thaa",
1806            Script::Thai => "Thai",
1807            Script::Tibetan => "Tibt",
1808            Script::Tirhuta => "Tirh",
1809            Script::Tangsa => "Tnsa",
1810            Script::Todhri => "Todr",
1811            Script::Tolong_Siki => "Tols",
1812            Script::Toto => "Toto",
1813            Script::Tulu_Tigalari => "Tutg",
1814            Script::Ugaritic => "Ugar",
1815            Script::Vai => "Vaii",
1816            Script::Vithkuqi => "Vith",
1817            Script::Warang_Citi => "Wara",
1818            Script::Wancho => "Wcho",
1819            Script::Old_Persian => "Xpeo",
1820            Script::Cuneiform => "Xsux",
1821            Script::Yezidi => "Yezi",
1822            Script::Yi => "Yiii",
1823            Script::Zanabazar_Square => "Zanb",
1824        }
1825    }
1826
1827    #[inline]
1828    pub(crate) fn inner_from_short_name(input: &str) -> Option<Self> {
1829        match input {
1830            "Zzzz" => Some(Script::Unknown),
1831            "Zyyy" => Some(Script::Common),
1832            "Zinh" => Some(Script::Inherited),
1833            "Adlm" => Some(Script::Adlam),
1834            "Aghb" => Some(Script::Caucasian_Albanian),
1835            "Ahom" => Some(Script::Ahom),
1836            "Arab" => Some(Script::Arabic),
1837            "Armi" => Some(Script::Imperial_Aramaic),
1838            "Armn" => Some(Script::Armenian),
1839            "Avst" => Some(Script::Avestan),
1840            "Bali" => Some(Script::Balinese),
1841            "Bamu" => Some(Script::Bamum),
1842            "Bass" => Some(Script::Bassa_Vah),
1843            "Batk" => Some(Script::Batak),
1844            "Beng" => Some(Script::Bengali),
1845            "Berf" => Some(Script::Beria_Erfe),
1846            "Bhks" => Some(Script::Bhaiksuki),
1847            "Bopo" => Some(Script::Bopomofo),
1848            "Brah" => Some(Script::Brahmi),
1849            "Brai" => Some(Script::Braille),
1850            "Bugi" => Some(Script::Buginese),
1851            "Buhd" => Some(Script::Buhid),
1852            "Cakm" => Some(Script::Chakma),
1853            "Cans" => Some(Script::Canadian_Aboriginal),
1854            "Cari" => Some(Script::Carian),
1855            "Cham" => Some(Script::Cham),
1856            "Cher" => Some(Script::Cherokee),
1857            "Chrs" => Some(Script::Chorasmian),
1858            "Copt" => Some(Script::Coptic),
1859            "Cpmn" => Some(Script::Cypro_Minoan),
1860            "Cprt" => Some(Script::Cypriot),
1861            "Cyrl" => Some(Script::Cyrillic),
1862            "Deva" => Some(Script::Devanagari),
1863            "Diak" => Some(Script::Dives_Akuru),
1864            "Dogr" => Some(Script::Dogra),
1865            "Dsrt" => Some(Script::Deseret),
1866            "Dupl" => Some(Script::Duployan),
1867            "Egyp" => Some(Script::Egyptian_Hieroglyphs),
1868            "Elba" => Some(Script::Elbasan),
1869            "Elym" => Some(Script::Elymaic),
1870            "Ethi" => Some(Script::Ethiopic),
1871            "Gara" => Some(Script::Garay),
1872            "Geor" => Some(Script::Georgian),
1873            "Glag" => Some(Script::Glagolitic),
1874            "Gong" => Some(Script::Gunjala_Gondi),
1875            "Gonm" => Some(Script::Masaram_Gondi),
1876            "Goth" => Some(Script::Gothic),
1877            "Gran" => Some(Script::Grantha),
1878            "Grek" => Some(Script::Greek),
1879            "Gujr" => Some(Script::Gujarati),
1880            "Gukh" => Some(Script::Gurung_Khema),
1881            "Guru" => Some(Script::Gurmukhi),
1882            "Hang" => Some(Script::Hangul),
1883            "Hani" => Some(Script::Han),
1884            "Hano" => Some(Script::Hanunoo),
1885            "Hatr" => Some(Script::Hatran),
1886            "Hebr" => Some(Script::Hebrew),
1887            "Hira" => Some(Script::Hiragana),
1888            "Hluw" => Some(Script::Anatolian_Hieroglyphs),
1889            "Hmng" => Some(Script::Pahawh_Hmong),
1890            "Hmnp" => Some(Script::Nyiakeng_Puachue_Hmong),
1891            "Hung" => Some(Script::Old_Hungarian),
1892            "Ital" => Some(Script::Old_Italic),
1893            "Java" => Some(Script::Javanese),
1894            "Kali" => Some(Script::Kayah_Li),
1895            "Kana" => Some(Script::Katakana),
1896            "Kawi" => Some(Script::Kawi),
1897            "Khar" => Some(Script::Kharoshthi),
1898            "Khmr" => Some(Script::Khmer),
1899            "Khoj" => Some(Script::Khojki),
1900            "Kits" => Some(Script::Khitan_Small_Script),
1901            "Knda" => Some(Script::Kannada),
1902            "Krai" => Some(Script::Kirat_Rai),
1903            "Kthi" => Some(Script::Kaithi),
1904            "Lana" => Some(Script::Tai_Tham),
1905            "Laoo" => Some(Script::Lao),
1906            "Latn" => Some(Script::Latin),
1907            "Lepc" => Some(Script::Lepcha),
1908            "Limb" => Some(Script::Limbu),
1909            "Lina" => Some(Script::Linear_A),
1910            "Linb" => Some(Script::Linear_B),
1911            "Lisu" => Some(Script::Lisu),
1912            "Lyci" => Some(Script::Lycian),
1913            "Lydi" => Some(Script::Lydian),
1914            "Mahj" => Some(Script::Mahajani),
1915            "Maka" => Some(Script::Makasar),
1916            "Mand" => Some(Script::Mandaic),
1917            "Mani" => Some(Script::Manichaean),
1918            "Marc" => Some(Script::Marchen),
1919            "Medf" => Some(Script::Medefaidrin),
1920            "Mend" => Some(Script::Mende_Kikakui),
1921            "Merc" => Some(Script::Meroitic_Cursive),
1922            "Mero" => Some(Script::Meroitic_Hieroglyphs),
1923            "Mlym" => Some(Script::Malayalam),
1924            "Modi" => Some(Script::Modi),
1925            "Mong" => Some(Script::Mongolian),
1926            "Mroo" => Some(Script::Mro),
1927            "Mtei" => Some(Script::Meetei_Mayek),
1928            "Mult" => Some(Script::Multani),
1929            "Mymr" => Some(Script::Myanmar),
1930            "Nagm" => Some(Script::Nag_Mundari),
1931            "Nand" => Some(Script::Nandinagari),
1932            "Narb" => Some(Script::Old_North_Arabian),
1933            "Nbat" => Some(Script::Nabataean),
1934            "Newa" => Some(Script::Newa),
1935            "Nkoo" => Some(Script::Nko),
1936            "Nshu" => Some(Script::Nushu),
1937            "Ogam" => Some(Script::Ogham),
1938            "Olck" => Some(Script::Ol_Chiki),
1939            "Onao" => Some(Script::Ol_Onal),
1940            "Orkh" => Some(Script::Old_Turkic),
1941            "Orya" => Some(Script::Oriya),
1942            "Osge" => Some(Script::Osage),
1943            "Osma" => Some(Script::Osmanya),
1944            "Ougr" => Some(Script::Old_Uyghur),
1945            "Palm" => Some(Script::Palmyrene),
1946            "Pauc" => Some(Script::Pau_Cin_Hau),
1947            "Perm" => Some(Script::Old_Permic),
1948            "Phag" => Some(Script::Phags_Pa),
1949            "Phli" => Some(Script::Inscriptional_Pahlavi),
1950            "Phlp" => Some(Script::Psalter_Pahlavi),
1951            "Phnx" => Some(Script::Phoenician),
1952            "Plrd" => Some(Script::Miao),
1953            "Prti" => Some(Script::Inscriptional_Parthian),
1954            "Rjng" => Some(Script::Rejang),
1955            "Rohg" => Some(Script::Hanifi_Rohingya),
1956            "Runr" => Some(Script::Runic),
1957            "Samr" => Some(Script::Samaritan),
1958            "Sarb" => Some(Script::Old_South_Arabian),
1959            "Saur" => Some(Script::Saurashtra),
1960            "Sgnw" => Some(Script::SignWriting),
1961            "Shaw" => Some(Script::Shavian),
1962            "Shrd" => Some(Script::Sharada),
1963            "Sidd" => Some(Script::Siddham),
1964            "Sidt" => Some(Script::Sidetic),
1965            "Sind" => Some(Script::Khudawadi),
1966            "Sinh" => Some(Script::Sinhala),
1967            "Sogd" => Some(Script::Sogdian),
1968            "Sogo" => Some(Script::Old_Sogdian),
1969            "Sora" => Some(Script::Sora_Sompeng),
1970            "Soyo" => Some(Script::Soyombo),
1971            "Sund" => Some(Script::Sundanese),
1972            "Sunu" => Some(Script::Sunuwar),
1973            "Sylo" => Some(Script::Syloti_Nagri),
1974            "Syrc" => Some(Script::Syriac),
1975            "Tagb" => Some(Script::Tagbanwa),
1976            "Takr" => Some(Script::Takri),
1977            "Tale" => Some(Script::Tai_Le),
1978            "Talu" => Some(Script::New_Tai_Lue),
1979            "Taml" => Some(Script::Tamil),
1980            "Tang" => Some(Script::Tangut),
1981            "Tavt" => Some(Script::Tai_Viet),
1982            "Tayo" => Some(Script::Tai_Yo),
1983            "Telu" => Some(Script::Telugu),
1984            "Tfng" => Some(Script::Tifinagh),
1985            "Tglg" => Some(Script::Tagalog),
1986            "Thaa" => Some(Script::Thaana),
1987            "Thai" => Some(Script::Thai),
1988            "Tibt" => Some(Script::Tibetan),
1989            "Tirh" => Some(Script::Tirhuta),
1990            "Tnsa" => Some(Script::Tangsa),
1991            "Todr" => Some(Script::Todhri),
1992            "Tols" => Some(Script::Tolong_Siki),
1993            "Toto" => Some(Script::Toto),
1994            "Tutg" => Some(Script::Tulu_Tigalari),
1995            "Ugar" => Some(Script::Ugaritic),
1996            "Vaii" => Some(Script::Vai),
1997            "Vith" => Some(Script::Vithkuqi),
1998            "Wara" => Some(Script::Warang_Citi),
1999            "Wcho" => Some(Script::Wancho),
2000            "Xpeo" => Some(Script::Old_Persian),
2001            "Xsux" => Some(Script::Cuneiform),
2002            "Yezi" => Some(Script::Yezidi),
2003            "Yiii" => Some(Script::Yi),
2004            "Zanb" => Some(Script::Zanabazar_Square),
2005        _ => None,
2006        }
2007    }
2008
2009    #[inline]
2010    pub(crate) fn for_integer(value: u8) -> Self {
2011        match value {
2012            0 => Script::Adlam,
2013            1 => Script::Caucasian_Albanian,
2014            2 => Script::Ahom,
2015            3 => Script::Arabic,
2016            4 => Script::Imperial_Aramaic,
2017            5 => Script::Armenian,
2018            6 => Script::Avestan,
2019            7 => Script::Balinese,
2020            8 => Script::Bamum,
2021            9 => Script::Bassa_Vah,
2022            10 => Script::Batak,
2023            11 => Script::Bengali,
2024            12 => Script::Beria_Erfe,
2025            13 => Script::Bhaiksuki,
2026            14 => Script::Bopomofo,
2027            15 => Script::Brahmi,
2028            16 => Script::Braille,
2029            17 => Script::Buginese,
2030            18 => Script::Buhid,
2031            19 => Script::Chakma,
2032            20 => Script::Canadian_Aboriginal,
2033            21 => Script::Carian,
2034            22 => Script::Cham,
2035            23 => Script::Cherokee,
2036            24 => Script::Chorasmian,
2037            25 => Script::Coptic,
2038            26 => Script::Cypro_Minoan,
2039            27 => Script::Cypriot,
2040            28 => Script::Cyrillic,
2041            29 => Script::Devanagari,
2042            30 => Script::Dives_Akuru,
2043            31 => Script::Dogra,
2044            32 => Script::Deseret,
2045            33 => Script::Duployan,
2046            34 => Script::Egyptian_Hieroglyphs,
2047            35 => Script::Elbasan,
2048            36 => Script::Elymaic,
2049            37 => Script::Ethiopic,
2050            38 => Script::Garay,
2051            39 => Script::Georgian,
2052            40 => Script::Glagolitic,
2053            41 => Script::Gunjala_Gondi,
2054            42 => Script::Masaram_Gondi,
2055            43 => Script::Gothic,
2056            44 => Script::Grantha,
2057            45 => Script::Greek,
2058            46 => Script::Gujarati,
2059            47 => Script::Gurung_Khema,
2060            48 => Script::Gurmukhi,
2061            49 => Script::Hangul,
2062            50 => Script::Han,
2063            51 => Script::Hanunoo,
2064            52 => Script::Hatran,
2065            53 => Script::Hebrew,
2066            54 => Script::Hiragana,
2067            55 => Script::Anatolian_Hieroglyphs,
2068            56 => Script::Pahawh_Hmong,
2069            57 => Script::Nyiakeng_Puachue_Hmong,
2070            58 => Script::Old_Hungarian,
2071            59 => Script::Old_Italic,
2072            60 => Script::Javanese,
2073            61 => Script::Kayah_Li,
2074            62 => Script::Katakana,
2075            63 => Script::Kawi,
2076            64 => Script::Kharoshthi,
2077            65 => Script::Khmer,
2078            66 => Script::Khojki,
2079            67 => Script::Khitan_Small_Script,
2080            68 => Script::Kannada,
2081            69 => Script::Kirat_Rai,
2082            70 => Script::Kaithi,
2083            71 => Script::Tai_Tham,
2084            72 => Script::Lao,
2085            73 => Script::Latin,
2086            74 => Script::Lepcha,
2087            75 => Script::Limbu,
2088            76 => Script::Linear_A,
2089            77 => Script::Linear_B,
2090            78 => Script::Lisu,
2091            79 => Script::Lycian,
2092            80 => Script::Lydian,
2093            81 => Script::Mahajani,
2094            82 => Script::Makasar,
2095            83 => Script::Mandaic,
2096            84 => Script::Manichaean,
2097            85 => Script::Marchen,
2098            86 => Script::Medefaidrin,
2099            87 => Script::Mende_Kikakui,
2100            88 => Script::Meroitic_Cursive,
2101            89 => Script::Meroitic_Hieroglyphs,
2102            90 => Script::Malayalam,
2103            91 => Script::Modi,
2104            92 => Script::Mongolian,
2105            93 => Script::Mro,
2106            94 => Script::Meetei_Mayek,
2107            95 => Script::Multani,
2108            96 => Script::Myanmar,
2109            97 => Script::Nag_Mundari,
2110            98 => Script::Nandinagari,
2111            99 => Script::Old_North_Arabian,
2112            100 => Script::Nabataean,
2113            101 => Script::Newa,
2114            102 => Script::Nko,
2115            103 => Script::Nushu,
2116            104 => Script::Ogham,
2117            105 => Script::Ol_Chiki,
2118            106 => Script::Ol_Onal,
2119            107 => Script::Old_Turkic,
2120            108 => Script::Oriya,
2121            109 => Script::Osage,
2122            110 => Script::Osmanya,
2123            111 => Script::Old_Uyghur,
2124            112 => Script::Palmyrene,
2125            113 => Script::Pau_Cin_Hau,
2126            114 => Script::Old_Permic,
2127            115 => Script::Phags_Pa,
2128            116 => Script::Inscriptional_Pahlavi,
2129            117 => Script::Psalter_Pahlavi,
2130            118 => Script::Phoenician,
2131            119 => Script::Miao,
2132            120 => Script::Inscriptional_Parthian,
2133            121 => Script::Rejang,
2134            122 => Script::Hanifi_Rohingya,
2135            123 => Script::Runic,
2136            124 => Script::Samaritan,
2137            125 => Script::Old_South_Arabian,
2138            126 => Script::Saurashtra,
2139            127 => Script::SignWriting,
2140            128 => Script::Shavian,
2141            129 => Script::Sharada,
2142            130 => Script::Siddham,
2143            131 => Script::Sidetic,
2144            132 => Script::Khudawadi,
2145            133 => Script::Sinhala,
2146            134 => Script::Sogdian,
2147            135 => Script::Old_Sogdian,
2148            136 => Script::Sora_Sompeng,
2149            137 => Script::Soyombo,
2150            138 => Script::Sundanese,
2151            139 => Script::Sunuwar,
2152            140 => Script::Syloti_Nagri,
2153            141 => Script::Syriac,
2154            142 => Script::Tagbanwa,
2155            143 => Script::Takri,
2156            144 => Script::Tai_Le,
2157            145 => Script::New_Tai_Lue,
2158            146 => Script::Tamil,
2159            147 => Script::Tangut,
2160            148 => Script::Tai_Viet,
2161            149 => Script::Tai_Yo,
2162            150 => Script::Telugu,
2163            151 => Script::Tifinagh,
2164            152 => Script::Tagalog,
2165            153 => Script::Thaana,
2166            154 => Script::Thai,
2167            155 => Script::Tibetan,
2168            156 => Script::Tirhuta,
2169            157 => Script::Tangsa,
2170            158 => Script::Todhri,
2171            159 => Script::Tolong_Siki,
2172            160 => Script::Toto,
2173            161 => Script::Tulu_Tigalari,
2174            162 => Script::Ugaritic,
2175            163 => Script::Vai,
2176            164 => Script::Vithkuqi,
2177            165 => Script::Warang_Citi,
2178            166 => Script::Wancho,
2179            167 => Script::Old_Persian,
2180            168 => Script::Cuneiform,
2181            169 => Script::Yezidi,
2182            170 => Script::Yi,
2183            171 => Script::Zanabazar_Square,
2184            _ => unreachable!(),
2185        }
2186    }
2187
2188}
2189
2190pub fn bsearch_range_value_table<T: Copy>(c: char, r: &'static [(char, char, T)]) -> Option<T> {
2191    use core::cmp::Ordering::{Equal, Less, Greater};
2192    match r.binary_search_by(|&(lo, hi, _)| {
2193        if lo <= c && c <= hi { Equal }
2194        else if hi < c { Less }
2195        else { Greater }
2196    }) {
2197        Ok(idx) => {
2198            let (_, _, cat) = r[idx];
2199            Some(cat)
2200        }
2201        Err(_) => None
2202    }
2203}
2204
2205#[inline]
2206pub fn get_script(c: char) -> Option<Script> {
2207    bsearch_range_value_table(c, SCRIPTS)
2208}
2209
2210#[inline]
2211pub fn get_script_extension(c: char) -> Option<ScriptExtension> {
2212    bsearch_range_value_table(c, SCRIPT_EXTENSIONS)
2213}
2214    const SCRIPTS: &'static [(char, char, Script)] = &[
2215        ('\u{0}', '\u{1f}',  Script::Common), ('\u{20}', '\u{20}',  Script::Common), ('\u{21}',
2216        '\u{23}',  Script::Common), ('\u{24}', '\u{24}',  Script::Common), ('\u{25}', '\u{27}',
2217         Script::Common), ('\u{28}', '\u{28}',  Script::Common), ('\u{29}', '\u{29}',
2218         Script::Common), ('\u{2a}', '\u{2a}',  Script::Common), ('\u{2b}', '\u{2b}',
2219         Script::Common), ('\u{2c}', '\u{2c}',  Script::Common), ('\u{2d}', '\u{2d}',
2220         Script::Common), ('\u{2e}', '\u{2f}',  Script::Common), ('\u{30}', '\u{39}',
2221         Script::Common), ('\u{3a}', '\u{3b}',  Script::Common), ('\u{3c}', '\u{3e}',
2222         Script::Common), ('\u{3f}', '\u{40}',  Script::Common), ('\u{41}', '\u{5a}',
2223         Script::Latin), ('\u{5b}', '\u{5b}',  Script::Common), ('\u{5c}', '\u{5c}',
2224         Script::Common), ('\u{5d}', '\u{5d}',  Script::Common), ('\u{5e}', '\u{5e}',
2225         Script::Common), ('\u{5f}', '\u{5f}',  Script::Common), ('\u{60}', '\u{60}',
2226         Script::Common), ('\u{61}', '\u{7a}',  Script::Latin), ('\u{7b}', '\u{7b}',
2227         Script::Common), ('\u{7c}', '\u{7c}',  Script::Common), ('\u{7d}', '\u{7d}',
2228         Script::Common), ('\u{7e}', '\u{7e}',  Script::Common), ('\u{7f}', '\u{9f}',
2229         Script::Common), ('\u{a0}', '\u{a0}',  Script::Common), ('\u{a1}', '\u{a1}',
2230         Script::Common), ('\u{a2}', '\u{a5}',  Script::Common), ('\u{a6}', '\u{a6}',
2231         Script::Common), ('\u{a7}', '\u{a7}',  Script::Common), ('\u{a8}', '\u{a8}',
2232         Script::Common), ('\u{a9}', '\u{a9}',  Script::Common), ('\u{aa}', '\u{aa}',
2233         Script::Latin), ('\u{ab}', '\u{ab}',  Script::Common), ('\u{ac}', '\u{ac}',
2234         Script::Common), ('\u{ad}', '\u{ad}',  Script::Common), ('\u{ae}', '\u{ae}',
2235         Script::Common), ('\u{af}', '\u{af}',  Script::Common), ('\u{b0}', '\u{b0}',
2236         Script::Common), ('\u{b1}', '\u{b1}',  Script::Common), ('\u{b2}', '\u{b3}',
2237         Script::Common), ('\u{b4}', '\u{b4}',  Script::Common), ('\u{b5}', '\u{b5}',
2238         Script::Common), ('\u{b6}', '\u{b7}',  Script::Common), ('\u{b8}', '\u{b8}',
2239         Script::Common), ('\u{b9}', '\u{b9}',  Script::Common), ('\u{ba}', '\u{ba}',
2240         Script::Latin), ('\u{bb}', '\u{bb}',  Script::Common), ('\u{bc}', '\u{be}',
2241         Script::Common), ('\u{bf}', '\u{bf}',  Script::Common), ('\u{c0}', '\u{d6}',
2242         Script::Latin), ('\u{d7}', '\u{d7}',  Script::Common), ('\u{d8}', '\u{f6}',
2243         Script::Latin), ('\u{f7}', '\u{f7}',  Script::Common), ('\u{f8}', '\u{1ba}',
2244         Script::Latin), ('\u{1bb}', '\u{1bb}',  Script::Latin), ('\u{1bc}', '\u{1bf}',
2245         Script::Latin), ('\u{1c0}', '\u{1c3}',  Script::Latin), ('\u{1c4}', '\u{293}',
2246         Script::Latin), ('\u{294}', '\u{295}',  Script::Latin), ('\u{296}', '\u{2af}',
2247         Script::Latin), ('\u{2b0}', '\u{2b8}',  Script::Latin), ('\u{2b9}', '\u{2c1}',
2248         Script::Common), ('\u{2c2}', '\u{2c5}',  Script::Common), ('\u{2c6}', '\u{2d1}',
2249         Script::Common), ('\u{2d2}', '\u{2df}',  Script::Common), ('\u{2e0}', '\u{2e4}',
2250         Script::Latin), ('\u{2e5}', '\u{2e9}',  Script::Common), ('\u{2ea}', '\u{2eb}',
2251         Script::Bopomofo), ('\u{2ec}', '\u{2ec}',  Script::Common), ('\u{2ed}', '\u{2ed}',
2252         Script::Common), ('\u{2ee}', '\u{2ee}',  Script::Common), ('\u{2ef}', '\u{2ff}',
2253         Script::Common), ('\u{300}', '\u{36f}',  Script::Inherited), ('\u{370}', '\u{373}',
2254         Script::Greek), ('\u{374}', '\u{374}',  Script::Common), ('\u{375}', '\u{375}',
2255         Script::Greek), ('\u{376}', '\u{377}',  Script::Greek), ('\u{37a}', '\u{37a}',
2256         Script::Greek), ('\u{37b}', '\u{37d}',  Script::Greek), ('\u{37e}', '\u{37e}',
2257         Script::Common), ('\u{37f}', '\u{37f}',  Script::Greek), ('\u{384}', '\u{384}',
2258         Script::Greek), ('\u{385}', '\u{385}',  Script::Common), ('\u{386}', '\u{386}',
2259         Script::Greek), ('\u{387}', '\u{387}',  Script::Common), ('\u{388}', '\u{38a}',
2260         Script::Greek), ('\u{38c}', '\u{38c}',  Script::Greek), ('\u{38e}', '\u{3a1}',
2261         Script::Greek), ('\u{3a3}', '\u{3e1}',  Script::Greek), ('\u{3e2}', '\u{3ef}',
2262         Script::Coptic), ('\u{3f0}', '\u{3f5}',  Script::Greek), ('\u{3f6}', '\u{3f6}',
2263         Script::Greek), ('\u{3f7}', '\u{3ff}',  Script::Greek), ('\u{400}', '\u{481}',
2264         Script::Cyrillic), ('\u{482}', '\u{482}',  Script::Cyrillic), ('\u{483}', '\u{484}',
2265         Script::Cyrillic), ('\u{485}', '\u{486}',  Script::Inherited), ('\u{487}', '\u{487}',
2266         Script::Cyrillic), ('\u{488}', '\u{489}',  Script::Cyrillic), ('\u{48a}', '\u{52f}',
2267         Script::Cyrillic), ('\u{531}', '\u{556}',  Script::Armenian), ('\u{559}', '\u{559}',
2268         Script::Armenian), ('\u{55a}', '\u{55f}',  Script::Armenian), ('\u{560}', '\u{588}',
2269         Script::Armenian), ('\u{589}', '\u{589}',  Script::Armenian), ('\u{58a}', '\u{58a}',
2270         Script::Armenian), ('\u{58d}', '\u{58e}',  Script::Armenian), ('\u{58f}', '\u{58f}',
2271         Script::Armenian), ('\u{591}', '\u{5bd}',  Script::Hebrew), ('\u{5be}', '\u{5be}',
2272         Script::Hebrew), ('\u{5bf}', '\u{5bf}',  Script::Hebrew), ('\u{5c0}', '\u{5c0}',
2273         Script::Hebrew), ('\u{5c1}', '\u{5c2}',  Script::Hebrew), ('\u{5c3}', '\u{5c3}',
2274         Script::Hebrew), ('\u{5c4}', '\u{5c5}',  Script::Hebrew), ('\u{5c6}', '\u{5c6}',
2275         Script::Hebrew), ('\u{5c7}', '\u{5c7}',  Script::Hebrew), ('\u{5d0}', '\u{5ea}',
2276         Script::Hebrew), ('\u{5ef}', '\u{5f2}',  Script::Hebrew), ('\u{5f3}', '\u{5f4}',
2277         Script::Hebrew), ('\u{600}', '\u{604}',  Script::Arabic), ('\u{605}', '\u{605}',
2278         Script::Common), ('\u{606}', '\u{608}',  Script::Arabic), ('\u{609}', '\u{60a}',
2279         Script::Arabic), ('\u{60b}', '\u{60b}',  Script::Arabic), ('\u{60c}', '\u{60c}',
2280         Script::Common), ('\u{60d}', '\u{60d}',  Script::Arabic), ('\u{60e}', '\u{60f}',
2281         Script::Arabic), ('\u{610}', '\u{61a}',  Script::Arabic), ('\u{61b}', '\u{61b}',
2282         Script::Common), ('\u{61c}', '\u{61c}',  Script::Arabic), ('\u{61d}', '\u{61e}',
2283         Script::Arabic), ('\u{61f}', '\u{61f}',  Script::Common), ('\u{620}', '\u{63f}',
2284         Script::Arabic), ('\u{640}', '\u{640}',  Script::Common), ('\u{641}', '\u{64a}',
2285         Script::Arabic), ('\u{64b}', '\u{655}',  Script::Inherited), ('\u{656}', '\u{65f}',
2286         Script::Arabic), ('\u{660}', '\u{669}',  Script::Arabic), ('\u{66a}', '\u{66d}',
2287         Script::Arabic), ('\u{66e}', '\u{66f}',  Script::Arabic), ('\u{670}', '\u{670}',
2288         Script::Inherited), ('\u{671}', '\u{6d3}',  Script::Arabic), ('\u{6d4}', '\u{6d4}',
2289         Script::Arabic), ('\u{6d5}', '\u{6d5}',  Script::Arabic), ('\u{6d6}', '\u{6dc}',
2290         Script::Arabic), ('\u{6dd}', '\u{6dd}',  Script::Common), ('\u{6de}', '\u{6de}',
2291         Script::Arabic), ('\u{6df}', '\u{6e4}',  Script::Arabic), ('\u{6e5}', '\u{6e6}',
2292         Script::Arabic), ('\u{6e7}', '\u{6e8}',  Script::Arabic), ('\u{6e9}', '\u{6e9}',
2293         Script::Arabic), ('\u{6ea}', '\u{6ed}',  Script::Arabic), ('\u{6ee}', '\u{6ef}',
2294         Script::Arabic), ('\u{6f0}', '\u{6f9}',  Script::Arabic), ('\u{6fa}', '\u{6fc}',
2295         Script::Arabic), ('\u{6fd}', '\u{6fe}',  Script::Arabic), ('\u{6ff}', '\u{6ff}',
2296         Script::Arabic), ('\u{700}', '\u{70d}',  Script::Syriac), ('\u{70f}', '\u{70f}',
2297         Script::Syriac), ('\u{710}', '\u{710}',  Script::Syriac), ('\u{711}', '\u{711}',
2298         Script::Syriac), ('\u{712}', '\u{72f}',  Script::Syriac), ('\u{730}', '\u{74a}',
2299         Script::Syriac), ('\u{74d}', '\u{74f}',  Script::Syriac), ('\u{750}', '\u{77f}',
2300         Script::Arabic), ('\u{780}', '\u{7a5}',  Script::Thaana), ('\u{7a6}', '\u{7b0}',
2301         Script::Thaana), ('\u{7b1}', '\u{7b1}',  Script::Thaana), ('\u{7c0}', '\u{7c9}',
2302         Script::Nko), ('\u{7ca}', '\u{7ea}',  Script::Nko), ('\u{7eb}', '\u{7f3}',  Script::Nko),
2303        ('\u{7f4}', '\u{7f5}',  Script::Nko), ('\u{7f6}', '\u{7f6}',  Script::Nko), ('\u{7f7}',
2304        '\u{7f9}',  Script::Nko), ('\u{7fa}', '\u{7fa}',  Script::Nko), ('\u{7fd}', '\u{7fd}',
2305         Script::Nko), ('\u{7fe}', '\u{7ff}',  Script::Nko), ('\u{800}', '\u{815}',
2306         Script::Samaritan), ('\u{816}', '\u{819}',  Script::Samaritan), ('\u{81a}', '\u{81a}',
2307         Script::Samaritan), ('\u{81b}', '\u{823}',  Script::Samaritan), ('\u{824}', '\u{824}',
2308         Script::Samaritan), ('\u{825}', '\u{827}',  Script::Samaritan), ('\u{828}', '\u{828}',
2309         Script::Samaritan), ('\u{829}', '\u{82d}',  Script::Samaritan), ('\u{830}', '\u{83e}',
2310         Script::Samaritan), ('\u{840}', '\u{858}',  Script::Mandaic), ('\u{859}', '\u{85b}',
2311         Script::Mandaic), ('\u{85e}', '\u{85e}',  Script::Mandaic), ('\u{860}', '\u{86a}',
2312         Script::Syriac), ('\u{870}', '\u{887}',  Script::Arabic), ('\u{888}', '\u{888}',
2313         Script::Arabic), ('\u{889}', '\u{88f}',  Script::Arabic), ('\u{890}', '\u{891}',
2314         Script::Arabic), ('\u{897}', '\u{89f}',  Script::Arabic), ('\u{8a0}', '\u{8c8}',
2315         Script::Arabic), ('\u{8c9}', '\u{8c9}',  Script::Arabic), ('\u{8ca}', '\u{8e1}',
2316         Script::Arabic), ('\u{8e2}', '\u{8e2}',  Script::Common), ('\u{8e3}', '\u{8ff}',
2317         Script::Arabic), ('\u{900}', '\u{902}',  Script::Devanagari), ('\u{903}', '\u{903}',
2318         Script::Devanagari), ('\u{904}', '\u{939}',  Script::Devanagari), ('\u{93a}', '\u{93a}',
2319         Script::Devanagari), ('\u{93b}', '\u{93b}',  Script::Devanagari), ('\u{93c}', '\u{93c}',
2320         Script::Devanagari), ('\u{93d}', '\u{93d}',  Script::Devanagari), ('\u{93e}', '\u{940}',
2321         Script::Devanagari), ('\u{941}', '\u{948}',  Script::Devanagari), ('\u{949}', '\u{94c}',
2322         Script::Devanagari), ('\u{94d}', '\u{94d}',  Script::Devanagari), ('\u{94e}', '\u{94f}',
2323         Script::Devanagari), ('\u{950}', '\u{950}',  Script::Devanagari), ('\u{951}', '\u{954}',
2324         Script::Inherited), ('\u{955}', '\u{957}',  Script::Devanagari), ('\u{958}', '\u{961}',
2325         Script::Devanagari), ('\u{962}', '\u{963}',  Script::Devanagari), ('\u{964}', '\u{965}',
2326         Script::Common), ('\u{966}', '\u{96f}',  Script::Devanagari), ('\u{970}', '\u{970}',
2327         Script::Devanagari), ('\u{971}', '\u{971}',  Script::Devanagari), ('\u{972}', '\u{97f}',
2328         Script::Devanagari), ('\u{980}', '\u{980}',  Script::Bengali), ('\u{981}', '\u{981}',
2329         Script::Bengali), ('\u{982}', '\u{983}',  Script::Bengali), ('\u{985}', '\u{98c}',
2330         Script::Bengali), ('\u{98f}', '\u{990}',  Script::Bengali), ('\u{993}', '\u{9a8}',
2331         Script::Bengali), ('\u{9aa}', '\u{9b0}',  Script::Bengali), ('\u{9b2}', '\u{9b2}',
2332         Script::Bengali), ('\u{9b6}', '\u{9b9}',  Script::Bengali), ('\u{9bc}', '\u{9bc}',
2333         Script::Bengali), ('\u{9bd}', '\u{9bd}',  Script::Bengali), ('\u{9be}', '\u{9c0}',
2334         Script::Bengali), ('\u{9c1}', '\u{9c4}',  Script::Bengali), ('\u{9c7}', '\u{9c8}',
2335         Script::Bengali), ('\u{9cb}', '\u{9cc}',  Script::Bengali), ('\u{9cd}', '\u{9cd}',
2336         Script::Bengali), ('\u{9ce}', '\u{9ce}',  Script::Bengali), ('\u{9d7}', '\u{9d7}',
2337         Script::Bengali), ('\u{9dc}', '\u{9dd}',  Script::Bengali), ('\u{9df}', '\u{9e1}',
2338         Script::Bengali), ('\u{9e2}', '\u{9e3}',  Script::Bengali), ('\u{9e6}', '\u{9ef}',
2339         Script::Bengali), ('\u{9f0}', '\u{9f1}',  Script::Bengali), ('\u{9f2}', '\u{9f3}',
2340         Script::Bengali), ('\u{9f4}', '\u{9f9}',  Script::Bengali), ('\u{9fa}', '\u{9fa}',
2341         Script::Bengali), ('\u{9fb}', '\u{9fb}',  Script::Bengali), ('\u{9fc}', '\u{9fc}',
2342         Script::Bengali), ('\u{9fd}', '\u{9fd}',  Script::Bengali), ('\u{9fe}', '\u{9fe}',
2343         Script::Bengali), ('\u{a01}', '\u{a02}',  Script::Gurmukhi), ('\u{a03}', '\u{a03}',
2344         Script::Gurmukhi), ('\u{a05}', '\u{a0a}',  Script::Gurmukhi), ('\u{a0f}', '\u{a10}',
2345         Script::Gurmukhi), ('\u{a13}', '\u{a28}',  Script::Gurmukhi), ('\u{a2a}', '\u{a30}',
2346         Script::Gurmukhi), ('\u{a32}', '\u{a33}',  Script::Gurmukhi), ('\u{a35}', '\u{a36}',
2347         Script::Gurmukhi), ('\u{a38}', '\u{a39}',  Script::Gurmukhi), ('\u{a3c}', '\u{a3c}',
2348         Script::Gurmukhi), ('\u{a3e}', '\u{a40}',  Script::Gurmukhi), ('\u{a41}', '\u{a42}',
2349         Script::Gurmukhi), ('\u{a47}', '\u{a48}',  Script::Gurmukhi), ('\u{a4b}', '\u{a4d}',
2350         Script::Gurmukhi), ('\u{a51}', '\u{a51}',  Script::Gurmukhi), ('\u{a59}', '\u{a5c}',
2351         Script::Gurmukhi), ('\u{a5e}', '\u{a5e}',  Script::Gurmukhi), ('\u{a66}', '\u{a6f}',
2352         Script::Gurmukhi), ('\u{a70}', '\u{a71}',  Script::Gurmukhi), ('\u{a72}', '\u{a74}',
2353         Script::Gurmukhi), ('\u{a75}', '\u{a75}',  Script::Gurmukhi), ('\u{a76}', '\u{a76}',
2354         Script::Gurmukhi), ('\u{a81}', '\u{a82}',  Script::Gujarati), ('\u{a83}', '\u{a83}',
2355         Script::Gujarati), ('\u{a85}', '\u{a8d}',  Script::Gujarati), ('\u{a8f}', '\u{a91}',
2356         Script::Gujarati), ('\u{a93}', '\u{aa8}',  Script::Gujarati), ('\u{aaa}', '\u{ab0}',
2357         Script::Gujarati), ('\u{ab2}', '\u{ab3}',  Script::Gujarati), ('\u{ab5}', '\u{ab9}',
2358         Script::Gujarati), ('\u{abc}', '\u{abc}',  Script::Gujarati), ('\u{abd}', '\u{abd}',
2359         Script::Gujarati), ('\u{abe}', '\u{ac0}',  Script::Gujarati), ('\u{ac1}', '\u{ac5}',
2360         Script::Gujarati), ('\u{ac7}', '\u{ac8}',  Script::Gujarati), ('\u{ac9}', '\u{ac9}',
2361         Script::Gujarati), ('\u{acb}', '\u{acc}',  Script::Gujarati), ('\u{acd}', '\u{acd}',
2362         Script::Gujarati), ('\u{ad0}', '\u{ad0}',  Script::Gujarati), ('\u{ae0}', '\u{ae1}',
2363         Script::Gujarati), ('\u{ae2}', '\u{ae3}',  Script::Gujarati), ('\u{ae6}', '\u{aef}',
2364         Script::Gujarati), ('\u{af0}', '\u{af0}',  Script::Gujarati), ('\u{af1}', '\u{af1}',
2365         Script::Gujarati), ('\u{af9}', '\u{af9}',  Script::Gujarati), ('\u{afa}', '\u{aff}',
2366         Script::Gujarati), ('\u{b01}', '\u{b01}',  Script::Oriya), ('\u{b02}', '\u{b03}',
2367         Script::Oriya), ('\u{b05}', '\u{b0c}',  Script::Oriya), ('\u{b0f}', '\u{b10}',
2368         Script::Oriya), ('\u{b13}', '\u{b28}',  Script::Oriya), ('\u{b2a}', '\u{b30}',
2369         Script::Oriya), ('\u{b32}', '\u{b33}',  Script::Oriya), ('\u{b35}', '\u{b39}',
2370         Script::Oriya), ('\u{b3c}', '\u{b3c}',  Script::Oriya), ('\u{b3d}', '\u{b3d}',
2371         Script::Oriya), ('\u{b3e}', '\u{b3e}',  Script::Oriya), ('\u{b3f}', '\u{b3f}',
2372         Script::Oriya), ('\u{b40}', '\u{b40}',  Script::Oriya), ('\u{b41}', '\u{b44}',
2373         Script::Oriya), ('\u{b47}', '\u{b48}',  Script::Oriya), ('\u{b4b}', '\u{b4c}',
2374         Script::Oriya), ('\u{b4d}', '\u{b4d}',  Script::Oriya), ('\u{b55}', '\u{b56}',
2375         Script::Oriya), ('\u{b57}', '\u{b57}',  Script::Oriya), ('\u{b5c}', '\u{b5d}',
2376         Script::Oriya), ('\u{b5f}', '\u{b61}',  Script::Oriya), ('\u{b62}', '\u{b63}',
2377         Script::Oriya), ('\u{b66}', '\u{b6f}',  Script::Oriya), ('\u{b70}', '\u{b70}',
2378         Script::Oriya), ('\u{b71}', '\u{b71}',  Script::Oriya), ('\u{b72}', '\u{b77}',
2379         Script::Oriya), ('\u{b82}', '\u{b82}',  Script::Tamil), ('\u{b83}', '\u{b83}',
2380         Script::Tamil), ('\u{b85}', '\u{b8a}',  Script::Tamil), ('\u{b8e}', '\u{b90}',
2381         Script::Tamil), ('\u{b92}', '\u{b95}',  Script::Tamil), ('\u{b99}', '\u{b9a}',
2382         Script::Tamil), ('\u{b9c}', '\u{b9c}',  Script::Tamil), ('\u{b9e}', '\u{b9f}',
2383         Script::Tamil), ('\u{ba3}', '\u{ba4}',  Script::Tamil), ('\u{ba8}', '\u{baa}',
2384         Script::Tamil), ('\u{bae}', '\u{bb9}',  Script::Tamil), ('\u{bbe}', '\u{bbf}',
2385         Script::Tamil), ('\u{bc0}', '\u{bc0}',  Script::Tamil), ('\u{bc1}', '\u{bc2}',
2386         Script::Tamil), ('\u{bc6}', '\u{bc8}',  Script::Tamil), ('\u{bca}', '\u{bcc}',
2387         Script::Tamil), ('\u{bcd}', '\u{bcd}',  Script::Tamil), ('\u{bd0}', '\u{bd0}',
2388         Script::Tamil), ('\u{bd7}', '\u{bd7}',  Script::Tamil), ('\u{be6}', '\u{bef}',
2389         Script::Tamil), ('\u{bf0}', '\u{bf2}',  Script::Tamil), ('\u{bf3}', '\u{bf8}',
2390         Script::Tamil), ('\u{bf9}', '\u{bf9}',  Script::Tamil), ('\u{bfa}', '\u{bfa}',
2391         Script::Tamil), ('\u{c00}', '\u{c00}',  Script::Telugu), ('\u{c01}', '\u{c03}',
2392         Script::Telugu), ('\u{c04}', '\u{c04}',  Script::Telugu), ('\u{c05}', '\u{c0c}',
2393         Script::Telugu), ('\u{c0e}', '\u{c10}',  Script::Telugu), ('\u{c12}', '\u{c28}',
2394         Script::Telugu), ('\u{c2a}', '\u{c39}',  Script::Telugu), ('\u{c3c}', '\u{c3c}',
2395         Script::Telugu), ('\u{c3d}', '\u{c3d}',  Script::Telugu), ('\u{c3e}', '\u{c40}',
2396         Script::Telugu), ('\u{c41}', '\u{c44}',  Script::Telugu), ('\u{c46}', '\u{c48}',
2397         Script::Telugu), ('\u{c4a}', '\u{c4d}',  Script::Telugu), ('\u{c55}', '\u{c56}',
2398         Script::Telugu), ('\u{c58}', '\u{c5a}',  Script::Telugu), ('\u{c5c}', '\u{c5d}',
2399         Script::Telugu), ('\u{c60}', '\u{c61}',  Script::Telugu), ('\u{c62}', '\u{c63}',
2400         Script::Telugu), ('\u{c66}', '\u{c6f}',  Script::Telugu), ('\u{c77}', '\u{c77}',
2401         Script::Telugu), ('\u{c78}', '\u{c7e}',  Script::Telugu), ('\u{c7f}', '\u{c7f}',
2402         Script::Telugu), ('\u{c80}', '\u{c80}',  Script::Kannada), ('\u{c81}', '\u{c81}',
2403         Script::Kannada), ('\u{c82}', '\u{c83}',  Script::Kannada), ('\u{c84}', '\u{c84}',
2404         Script::Kannada), ('\u{c85}', '\u{c8c}',  Script::Kannada), ('\u{c8e}', '\u{c90}',
2405         Script::Kannada), ('\u{c92}', '\u{ca8}',  Script::Kannada), ('\u{caa}', '\u{cb3}',
2406         Script::Kannada), ('\u{cb5}', '\u{cb9}',  Script::Kannada), ('\u{cbc}', '\u{cbc}',
2407         Script::Kannada), ('\u{cbd}', '\u{cbd}',  Script::Kannada), ('\u{cbe}', '\u{cbe}',
2408         Script::Kannada), ('\u{cbf}', '\u{cbf}',  Script::Kannada), ('\u{cc0}', '\u{cc4}',
2409         Script::Kannada), ('\u{cc6}', '\u{cc6}',  Script::Kannada), ('\u{cc7}', '\u{cc8}',
2410         Script::Kannada), ('\u{cca}', '\u{ccb}',  Script::Kannada), ('\u{ccc}', '\u{ccd}',
2411         Script::Kannada), ('\u{cd5}', '\u{cd6}',  Script::Kannada), ('\u{cdc}', '\u{cde}',
2412         Script::Kannada), ('\u{ce0}', '\u{ce1}',  Script::Kannada), ('\u{ce2}', '\u{ce3}',
2413         Script::Kannada), ('\u{ce6}', '\u{cef}',  Script::Kannada), ('\u{cf1}', '\u{cf2}',
2414         Script::Kannada), ('\u{cf3}', '\u{cf3}',  Script::Kannada), ('\u{d00}', '\u{d01}',
2415         Script::Malayalam), ('\u{d02}', '\u{d03}',  Script::Malayalam), ('\u{d04}', '\u{d0c}',
2416         Script::Malayalam), ('\u{d0e}', '\u{d10}',  Script::Malayalam), ('\u{d12}', '\u{d3a}',
2417         Script::Malayalam), ('\u{d3b}', '\u{d3c}',  Script::Malayalam), ('\u{d3d}', '\u{d3d}',
2418         Script::Malayalam), ('\u{d3e}', '\u{d40}',  Script::Malayalam), ('\u{d41}', '\u{d44}',
2419         Script::Malayalam), ('\u{d46}', '\u{d48}',  Script::Malayalam), ('\u{d4a}', '\u{d4c}',
2420         Script::Malayalam), ('\u{d4d}', '\u{d4d}',  Script::Malayalam), ('\u{d4e}', '\u{d4e}',
2421         Script::Malayalam), ('\u{d4f}', '\u{d4f}',  Script::Malayalam), ('\u{d54}', '\u{d56}',
2422         Script::Malayalam), ('\u{d57}', '\u{d57}',  Script::Malayalam), ('\u{d58}', '\u{d5e}',
2423         Script::Malayalam), ('\u{d5f}', '\u{d61}',  Script::Malayalam), ('\u{d62}', '\u{d63}',
2424         Script::Malayalam), ('\u{d66}', '\u{d6f}',  Script::Malayalam), ('\u{d70}', '\u{d78}',
2425         Script::Malayalam), ('\u{d79}', '\u{d79}',  Script::Malayalam), ('\u{d7a}', '\u{d7f}',
2426         Script::Malayalam), ('\u{d81}', '\u{d81}',  Script::Sinhala), ('\u{d82}', '\u{d83}',
2427         Script::Sinhala), ('\u{d85}', '\u{d96}',  Script::Sinhala), ('\u{d9a}', '\u{db1}',
2428         Script::Sinhala), ('\u{db3}', '\u{dbb}',  Script::Sinhala), ('\u{dbd}', '\u{dbd}',
2429         Script::Sinhala), ('\u{dc0}', '\u{dc6}',  Script::Sinhala), ('\u{dca}', '\u{dca}',
2430         Script::Sinhala), ('\u{dcf}', '\u{dd1}',  Script::Sinhala), ('\u{dd2}', '\u{dd4}',
2431         Script::Sinhala), ('\u{dd6}', '\u{dd6}',  Script::Sinhala), ('\u{dd8}', '\u{ddf}',
2432         Script::Sinhala), ('\u{de6}', '\u{def}',  Script::Sinhala), ('\u{df2}', '\u{df3}',
2433         Script::Sinhala), ('\u{df4}', '\u{df4}',  Script::Sinhala), ('\u{e01}', '\u{e30}',
2434         Script::Thai), ('\u{e31}', '\u{e31}',  Script::Thai), ('\u{e32}', '\u{e33}',
2435         Script::Thai), ('\u{e34}', '\u{e3a}',  Script::Thai), ('\u{e3f}', '\u{e3f}',
2436         Script::Common), ('\u{e40}', '\u{e45}',  Script::Thai), ('\u{e46}', '\u{e46}',
2437         Script::Thai), ('\u{e47}', '\u{e4e}',  Script::Thai), ('\u{e4f}', '\u{e4f}',
2438         Script::Thai), ('\u{e50}', '\u{e59}',  Script::Thai), ('\u{e5a}', '\u{e5b}',
2439         Script::Thai), ('\u{e81}', '\u{e82}',  Script::Lao), ('\u{e84}', '\u{e84}',  Script::Lao),
2440        ('\u{e86}', '\u{e8a}',  Script::Lao), ('\u{e8c}', '\u{ea3}',  Script::Lao), ('\u{ea5}',
2441        '\u{ea5}',  Script::Lao), ('\u{ea7}', '\u{eb0}',  Script::Lao), ('\u{eb1}', '\u{eb1}',
2442         Script::Lao), ('\u{eb2}', '\u{eb3}',  Script::Lao), ('\u{eb4}', '\u{ebc}',  Script::Lao),
2443        ('\u{ebd}', '\u{ebd}',  Script::Lao), ('\u{ec0}', '\u{ec4}',  Script::Lao), ('\u{ec6}',
2444        '\u{ec6}',  Script::Lao), ('\u{ec8}', '\u{ece}',  Script::Lao), ('\u{ed0}', '\u{ed9}',
2445         Script::Lao), ('\u{edc}', '\u{edf}',  Script::Lao), ('\u{f00}', '\u{f00}',
2446         Script::Tibetan), ('\u{f01}', '\u{f03}',  Script::Tibetan), ('\u{f04}', '\u{f12}',
2447         Script::Tibetan), ('\u{f13}', '\u{f13}',  Script::Tibetan), ('\u{f14}', '\u{f14}',
2448         Script::Tibetan), ('\u{f15}', '\u{f17}',  Script::Tibetan), ('\u{f18}', '\u{f19}',
2449         Script::Tibetan), ('\u{f1a}', '\u{f1f}',  Script::Tibetan), ('\u{f20}', '\u{f29}',
2450         Script::Tibetan), ('\u{f2a}', '\u{f33}',  Script::Tibetan), ('\u{f34}', '\u{f34}',
2451         Script::Tibetan), ('\u{f35}', '\u{f35}',  Script::Tibetan), ('\u{f36}', '\u{f36}',
2452         Script::Tibetan), ('\u{f37}', '\u{f37}',  Script::Tibetan), ('\u{f38}', '\u{f38}',
2453         Script::Tibetan), ('\u{f39}', '\u{f39}',  Script::Tibetan), ('\u{f3a}', '\u{f3a}',
2454         Script::Tibetan), ('\u{f3b}', '\u{f3b}',  Script::Tibetan), ('\u{f3c}', '\u{f3c}',
2455         Script::Tibetan), ('\u{f3d}', '\u{f3d}',  Script::Tibetan), ('\u{f3e}', '\u{f3f}',
2456         Script::Tibetan), ('\u{f40}', '\u{f47}',  Script::Tibetan), ('\u{f49}', '\u{f6c}',
2457         Script::Tibetan), ('\u{f71}', '\u{f7e}',  Script::Tibetan), ('\u{f7f}', '\u{f7f}',
2458         Script::Tibetan), ('\u{f80}', '\u{f84}',  Script::Tibetan), ('\u{f85}', '\u{f85}',
2459         Script::Tibetan), ('\u{f86}', '\u{f87}',  Script::Tibetan), ('\u{f88}', '\u{f8c}',
2460         Script::Tibetan), ('\u{f8d}', '\u{f97}',  Script::Tibetan), ('\u{f99}', '\u{fbc}',
2461         Script::Tibetan), ('\u{fbe}', '\u{fc5}',  Script::Tibetan), ('\u{fc6}', '\u{fc6}',
2462         Script::Tibetan), ('\u{fc7}', '\u{fcc}',  Script::Tibetan), ('\u{fce}', '\u{fcf}',
2463         Script::Tibetan), ('\u{fd0}', '\u{fd4}',  Script::Tibetan), ('\u{fd5}', '\u{fd8}',
2464         Script::Common), ('\u{fd9}', '\u{fda}',  Script::Tibetan), ('\u{1000}', '\u{102a}',
2465         Script::Myanmar), ('\u{102b}', '\u{102c}',  Script::Myanmar), ('\u{102d}', '\u{1030}',
2466         Script::Myanmar), ('\u{1031}', '\u{1031}',  Script::Myanmar), ('\u{1032}', '\u{1037}',
2467         Script::Myanmar), ('\u{1038}', '\u{1038}',  Script::Myanmar), ('\u{1039}', '\u{103a}',
2468         Script::Myanmar), ('\u{103b}', '\u{103c}',  Script::Myanmar), ('\u{103d}', '\u{103e}',
2469         Script::Myanmar), ('\u{103f}', '\u{103f}',  Script::Myanmar), ('\u{1040}', '\u{1049}',
2470         Script::Myanmar), ('\u{104a}', '\u{104f}',  Script::Myanmar), ('\u{1050}', '\u{1055}',
2471         Script::Myanmar), ('\u{1056}', '\u{1057}',  Script::Myanmar), ('\u{1058}', '\u{1059}',
2472         Script::Myanmar), ('\u{105a}', '\u{105d}',  Script::Myanmar), ('\u{105e}', '\u{1060}',
2473         Script::Myanmar), ('\u{1061}', '\u{1061}',  Script::Myanmar), ('\u{1062}', '\u{1064}',
2474         Script::Myanmar), ('\u{1065}', '\u{1066}',  Script::Myanmar), ('\u{1067}', '\u{106d}',
2475         Script::Myanmar), ('\u{106e}', '\u{1070}',  Script::Myanmar), ('\u{1071}', '\u{1074}',
2476         Script::Myanmar), ('\u{1075}', '\u{1081}',  Script::Myanmar), ('\u{1082}', '\u{1082}',
2477         Script::Myanmar), ('\u{1083}', '\u{1084}',  Script::Myanmar), ('\u{1085}', '\u{1086}',
2478         Script::Myanmar), ('\u{1087}', '\u{108c}',  Script::Myanmar), ('\u{108d}', '\u{108d}',
2479         Script::Myanmar), ('\u{108e}', '\u{108e}',  Script::Myanmar), ('\u{108f}', '\u{108f}',
2480         Script::Myanmar), ('\u{1090}', '\u{1099}',  Script::Myanmar), ('\u{109a}', '\u{109c}',
2481         Script::Myanmar), ('\u{109d}', '\u{109d}',  Script::Myanmar), ('\u{109e}', '\u{109f}',
2482         Script::Myanmar), ('\u{10a0}', '\u{10c5}',  Script::Georgian), ('\u{10c7}', '\u{10c7}',
2483         Script::Georgian), ('\u{10cd}', '\u{10cd}',  Script::Georgian), ('\u{10d0}', '\u{10fa}',
2484         Script::Georgian), ('\u{10fb}', '\u{10fb}',  Script::Common), ('\u{10fc}', '\u{10fc}',
2485         Script::Georgian), ('\u{10fd}', '\u{10ff}',  Script::Georgian), ('\u{1100}', '\u{11ff}',
2486         Script::Hangul), ('\u{1200}', '\u{1248}',  Script::Ethiopic), ('\u{124a}', '\u{124d}',
2487         Script::Ethiopic), ('\u{1250}', '\u{1256}',  Script::Ethiopic), ('\u{1258}', '\u{1258}',
2488         Script::Ethiopic), ('\u{125a}', '\u{125d}',  Script::Ethiopic), ('\u{1260}', '\u{1288}',
2489         Script::Ethiopic), ('\u{128a}', '\u{128d}',  Script::Ethiopic), ('\u{1290}', '\u{12b0}',
2490         Script::Ethiopic), ('\u{12b2}', '\u{12b5}',  Script::Ethiopic), ('\u{12b8}', '\u{12be}',
2491         Script::Ethiopic), ('\u{12c0}', '\u{12c0}',  Script::Ethiopic), ('\u{12c2}', '\u{12c5}',
2492         Script::Ethiopic), ('\u{12c8}', '\u{12d6}',  Script::Ethiopic), ('\u{12d8}', '\u{1310}',
2493         Script::Ethiopic), ('\u{1312}', '\u{1315}',  Script::Ethiopic), ('\u{1318}', '\u{135a}',
2494         Script::Ethiopic), ('\u{135d}', '\u{135f}',  Script::Ethiopic), ('\u{1360}', '\u{1368}',
2495         Script::Ethiopic), ('\u{1369}', '\u{137c}',  Script::Ethiopic), ('\u{1380}', '\u{138f}',
2496         Script::Ethiopic), ('\u{1390}', '\u{1399}',  Script::Ethiopic), ('\u{13a0}', '\u{13f5}',
2497         Script::Cherokee), ('\u{13f8}', '\u{13fd}',  Script::Cherokee), ('\u{1400}', '\u{1400}',
2498         Script::Canadian_Aboriginal), ('\u{1401}', '\u{166c}',  Script::Canadian_Aboriginal),
2499        ('\u{166d}', '\u{166d}',  Script::Canadian_Aboriginal), ('\u{166e}', '\u{166e}',
2500         Script::Canadian_Aboriginal), ('\u{166f}', '\u{167f}',  Script::Canadian_Aboriginal),
2501        ('\u{1680}', '\u{1680}',  Script::Ogham), ('\u{1681}', '\u{169a}',  Script::Ogham),
2502        ('\u{169b}', '\u{169b}',  Script::Ogham), ('\u{169c}', '\u{169c}',  Script::Ogham),
2503        ('\u{16a0}', '\u{16ea}',  Script::Runic), ('\u{16eb}', '\u{16ed}',  Script::Common),
2504        ('\u{16ee}', '\u{16f0}',  Script::Runic), ('\u{16f1}', '\u{16f8}',  Script::Runic),
2505        ('\u{1700}', '\u{1711}',  Script::Tagalog), ('\u{1712}', '\u{1714}',  Script::Tagalog),
2506        ('\u{1715}', '\u{1715}',  Script::Tagalog), ('\u{171f}', '\u{171f}',  Script::Tagalog),
2507        ('\u{1720}', '\u{1731}',  Script::Hanunoo), ('\u{1732}', '\u{1733}',  Script::Hanunoo),
2508        ('\u{1734}', '\u{1734}',  Script::Hanunoo), ('\u{1735}', '\u{1736}',  Script::Common),
2509        ('\u{1740}', '\u{1751}',  Script::Buhid), ('\u{1752}', '\u{1753}',  Script::Buhid),
2510        ('\u{1760}', '\u{176c}',  Script::Tagbanwa), ('\u{176e}', '\u{1770}',  Script::Tagbanwa),
2511        ('\u{1772}', '\u{1773}',  Script::Tagbanwa), ('\u{1780}', '\u{17b3}',  Script::Khmer),
2512        ('\u{17b4}', '\u{17b5}',  Script::Khmer), ('\u{17b6}', '\u{17b6}',  Script::Khmer),
2513        ('\u{17b7}', '\u{17bd}',  Script::Khmer), ('\u{17be}', '\u{17c5}',  Script::Khmer),
2514        ('\u{17c6}', '\u{17c6}',  Script::Khmer), ('\u{17c7}', '\u{17c8}',  Script::Khmer),
2515        ('\u{17c9}', '\u{17d3}',  Script::Khmer), ('\u{17d4}', '\u{17d6}',  Script::Khmer),
2516        ('\u{17d7}', '\u{17d7}',  Script::Khmer), ('\u{17d8}', '\u{17da}',  Script::Khmer),
2517        ('\u{17db}', '\u{17db}',  Script::Khmer), ('\u{17dc}', '\u{17dc}',  Script::Khmer),
2518        ('\u{17dd}', '\u{17dd}',  Script::Khmer), ('\u{17e0}', '\u{17e9}',  Script::Khmer),
2519        ('\u{17f0}', '\u{17f9}',  Script::Khmer), ('\u{1800}', '\u{1801}',  Script::Mongolian),
2520        ('\u{1802}', '\u{1803}',  Script::Common), ('\u{1804}', '\u{1804}',  Script::Mongolian),
2521        ('\u{1805}', '\u{1805}',  Script::Common), ('\u{1806}', '\u{1806}',  Script::Mongolian),
2522        ('\u{1807}', '\u{180a}',  Script::Mongolian), ('\u{180b}', '\u{180d}',  Script::Mongolian),
2523        ('\u{180e}', '\u{180e}',  Script::Mongolian), ('\u{180f}', '\u{180f}',  Script::Mongolian),
2524        ('\u{1810}', '\u{1819}',  Script::Mongolian), ('\u{1820}', '\u{1842}',  Script::Mongolian),
2525        ('\u{1843}', '\u{1843}',  Script::Mongolian), ('\u{1844}', '\u{1878}',  Script::Mongolian),
2526        ('\u{1880}', '\u{1884}',  Script::Mongolian), ('\u{1885}', '\u{1886}',  Script::Mongolian),
2527        ('\u{1887}', '\u{18a8}',  Script::Mongolian), ('\u{18a9}', '\u{18a9}',  Script::Mongolian),
2528        ('\u{18aa}', '\u{18aa}',  Script::Mongolian), ('\u{18b0}', '\u{18f5}',
2529         Script::Canadian_Aboriginal), ('\u{1900}', '\u{191e}',  Script::Limbu), ('\u{1920}',
2530        '\u{1922}',  Script::Limbu), ('\u{1923}', '\u{1926}',  Script::Limbu), ('\u{1927}',
2531        '\u{1928}',  Script::Limbu), ('\u{1929}', '\u{192b}',  Script::Limbu), ('\u{1930}',
2532        '\u{1931}',  Script::Limbu), ('\u{1932}', '\u{1932}',  Script::Limbu), ('\u{1933}',
2533        '\u{1938}',  Script::Limbu), ('\u{1939}', '\u{193b}',  Script::Limbu), ('\u{1940}',
2534        '\u{1940}',  Script::Limbu), ('\u{1944}', '\u{1945}',  Script::Limbu), ('\u{1946}',
2535        '\u{194f}',  Script::Limbu), ('\u{1950}', '\u{196d}',  Script::Tai_Le), ('\u{1970}',
2536        '\u{1974}',  Script::Tai_Le), ('\u{1980}', '\u{19ab}',  Script::New_Tai_Lue), ('\u{19b0}',
2537        '\u{19c9}',  Script::New_Tai_Lue), ('\u{19d0}', '\u{19d9}',  Script::New_Tai_Lue),
2538        ('\u{19da}', '\u{19da}',  Script::New_Tai_Lue), ('\u{19de}', '\u{19df}',
2539         Script::New_Tai_Lue), ('\u{19e0}', '\u{19ff}',  Script::Khmer), ('\u{1a00}', '\u{1a16}',
2540         Script::Buginese), ('\u{1a17}', '\u{1a18}',  Script::Buginese), ('\u{1a19}', '\u{1a1a}',
2541         Script::Buginese), ('\u{1a1b}', '\u{1a1b}',  Script::Buginese), ('\u{1a1e}', '\u{1a1f}',
2542         Script::Buginese), ('\u{1a20}', '\u{1a54}',  Script::Tai_Tham), ('\u{1a55}', '\u{1a55}',
2543         Script::Tai_Tham), ('\u{1a56}', '\u{1a56}',  Script::Tai_Tham), ('\u{1a57}', '\u{1a57}',
2544         Script::Tai_Tham), ('\u{1a58}', '\u{1a5e}',  Script::Tai_Tham), ('\u{1a60}', '\u{1a60}',
2545         Script::Tai_Tham), ('\u{1a61}', '\u{1a61}',  Script::Tai_Tham), ('\u{1a62}', '\u{1a62}',
2546         Script::Tai_Tham), ('\u{1a63}', '\u{1a64}',  Script::Tai_Tham), ('\u{1a65}', '\u{1a6c}',
2547         Script::Tai_Tham), ('\u{1a6d}', '\u{1a72}',  Script::Tai_Tham), ('\u{1a73}', '\u{1a7c}',
2548         Script::Tai_Tham), ('\u{1a7f}', '\u{1a7f}',  Script::Tai_Tham), ('\u{1a80}', '\u{1a89}',
2549         Script::Tai_Tham), ('\u{1a90}', '\u{1a99}',  Script::Tai_Tham), ('\u{1aa0}', '\u{1aa6}',
2550         Script::Tai_Tham), ('\u{1aa7}', '\u{1aa7}',  Script::Tai_Tham), ('\u{1aa8}', '\u{1aad}',
2551         Script::Tai_Tham), ('\u{1ab0}', '\u{1abd}',  Script::Inherited), ('\u{1abe}', '\u{1abe}',
2552         Script::Inherited), ('\u{1abf}', '\u{1add}',  Script::Inherited), ('\u{1ae0}', '\u{1aeb}',
2553         Script::Inherited), ('\u{1b00}', '\u{1b03}',  Script::Balinese), ('\u{1b04}', '\u{1b04}',
2554         Script::Balinese), ('\u{1b05}', '\u{1b33}',  Script::Balinese), ('\u{1b34}', '\u{1b34}',
2555         Script::Balinese), ('\u{1b35}', '\u{1b35}',  Script::Balinese), ('\u{1b36}', '\u{1b3a}',
2556         Script::Balinese), ('\u{1b3b}', '\u{1b3b}',  Script::Balinese), ('\u{1b3c}', '\u{1b3c}',
2557         Script::Balinese), ('\u{1b3d}', '\u{1b41}',  Script::Balinese), ('\u{1b42}', '\u{1b42}',
2558         Script::Balinese), ('\u{1b43}', '\u{1b44}',  Script::Balinese), ('\u{1b45}', '\u{1b4c}',
2559         Script::Balinese), ('\u{1b4e}', '\u{1b4f}',  Script::Balinese), ('\u{1b50}', '\u{1b59}',
2560         Script::Balinese), ('\u{1b5a}', '\u{1b60}',  Script::Balinese), ('\u{1b61}', '\u{1b6a}',
2561         Script::Balinese), ('\u{1b6b}', '\u{1b73}',  Script::Balinese), ('\u{1b74}', '\u{1b7c}',
2562         Script::Balinese), ('\u{1b7d}', '\u{1b7f}',  Script::Balinese), ('\u{1b80}', '\u{1b81}',
2563         Script::Sundanese), ('\u{1b82}', '\u{1b82}',  Script::Sundanese), ('\u{1b83}', '\u{1ba0}',
2564         Script::Sundanese), ('\u{1ba1}', '\u{1ba1}',  Script::Sundanese), ('\u{1ba2}', '\u{1ba5}',
2565         Script::Sundanese), ('\u{1ba6}', '\u{1ba7}',  Script::Sundanese), ('\u{1ba8}', '\u{1ba9}',
2566         Script::Sundanese), ('\u{1baa}', '\u{1baa}',  Script::Sundanese), ('\u{1bab}', '\u{1bad}',
2567         Script::Sundanese), ('\u{1bae}', '\u{1baf}',  Script::Sundanese), ('\u{1bb0}', '\u{1bb9}',
2568         Script::Sundanese), ('\u{1bba}', '\u{1bbf}',  Script::Sundanese), ('\u{1bc0}', '\u{1be5}',
2569         Script::Batak), ('\u{1be6}', '\u{1be6}',  Script::Batak), ('\u{1be7}', '\u{1be7}',
2570         Script::Batak), ('\u{1be8}', '\u{1be9}',  Script::Batak), ('\u{1bea}', '\u{1bec}',
2571         Script::Batak), ('\u{1bed}', '\u{1bed}',  Script::Batak), ('\u{1bee}', '\u{1bee}',
2572         Script::Batak), ('\u{1bef}', '\u{1bf1}',  Script::Batak), ('\u{1bf2}', '\u{1bf3}',
2573         Script::Batak), ('\u{1bfc}', '\u{1bff}',  Script::Batak), ('\u{1c00}', '\u{1c23}',
2574         Script::Lepcha), ('\u{1c24}', '\u{1c2b}',  Script::Lepcha), ('\u{1c2c}', '\u{1c33}',
2575         Script::Lepcha), ('\u{1c34}', '\u{1c35}',  Script::Lepcha), ('\u{1c36}', '\u{1c37}',
2576         Script::Lepcha), ('\u{1c3b}', '\u{1c3f}',  Script::Lepcha), ('\u{1c40}', '\u{1c49}',
2577         Script::Lepcha), ('\u{1c4d}', '\u{1c4f}',  Script::Lepcha), ('\u{1c50}', '\u{1c59}',
2578         Script::Ol_Chiki), ('\u{1c5a}', '\u{1c77}',  Script::Ol_Chiki), ('\u{1c78}', '\u{1c7d}',
2579         Script::Ol_Chiki), ('\u{1c7e}', '\u{1c7f}',  Script::Ol_Chiki), ('\u{1c80}', '\u{1c8a}',
2580         Script::Cyrillic), ('\u{1c90}', '\u{1cba}',  Script::Georgian), ('\u{1cbd}', '\u{1cbf}',
2581         Script::Georgian), ('\u{1cc0}', '\u{1cc7}',  Script::Sundanese), ('\u{1cd0}', '\u{1cd2}',
2582         Script::Inherited), ('\u{1cd3}', '\u{1cd3}',  Script::Common), ('\u{1cd4}', '\u{1ce0}',
2583         Script::Inherited), ('\u{1ce1}', '\u{1ce1}',  Script::Common), ('\u{1ce2}', '\u{1ce8}',
2584         Script::Inherited), ('\u{1ce9}', '\u{1cec}',  Script::Common), ('\u{1ced}', '\u{1ced}',
2585         Script::Inherited), ('\u{1cee}', '\u{1cf3}',  Script::Common), ('\u{1cf4}', '\u{1cf4}',
2586         Script::Inherited), ('\u{1cf5}', '\u{1cf6}',  Script::Common), ('\u{1cf7}', '\u{1cf7}',
2587         Script::Common), ('\u{1cf8}', '\u{1cf9}',  Script::Inherited), ('\u{1cfa}', '\u{1cfa}',
2588         Script::Common), ('\u{1d00}', '\u{1d25}',  Script::Latin), ('\u{1d26}', '\u{1d2a}',
2589         Script::Greek), ('\u{1d2b}', '\u{1d2b}',  Script::Cyrillic), ('\u{1d2c}', '\u{1d5c}',
2590         Script::Latin), ('\u{1d5d}', '\u{1d61}',  Script::Greek), ('\u{1d62}', '\u{1d65}',
2591         Script::Latin), ('\u{1d66}', '\u{1d6a}',  Script::Greek), ('\u{1d6b}', '\u{1d77}',
2592         Script::Latin), ('\u{1d78}', '\u{1d78}',  Script::Cyrillic), ('\u{1d79}', '\u{1d9a}',
2593         Script::Latin), ('\u{1d9b}', '\u{1dbe}',  Script::Latin), ('\u{1dbf}', '\u{1dbf}',
2594         Script::Greek), ('\u{1dc0}', '\u{1dff}',  Script::Inherited), ('\u{1e00}', '\u{1eff}',
2595         Script::Latin), ('\u{1f00}', '\u{1f15}',  Script::Greek), ('\u{1f18}', '\u{1f1d}',
2596         Script::Greek), ('\u{1f20}', '\u{1f45}',  Script::Greek), ('\u{1f48}', '\u{1f4d}',
2597         Script::Greek), ('\u{1f50}', '\u{1f57}',  Script::Greek), ('\u{1f59}', '\u{1f59}',
2598         Script::Greek), ('\u{1f5b}', '\u{1f5b}',  Script::Greek), ('\u{1f5d}', '\u{1f5d}',
2599         Script::Greek), ('\u{1f5f}', '\u{1f7d}',  Script::Greek), ('\u{1f80}', '\u{1fb4}',
2600         Script::Greek), ('\u{1fb6}', '\u{1fbc}',  Script::Greek), ('\u{1fbd}', '\u{1fbd}',
2601         Script::Greek), ('\u{1fbe}', '\u{1fbe}',  Script::Greek), ('\u{1fbf}', '\u{1fc1}',
2602         Script::Greek), ('\u{1fc2}', '\u{1fc4}',  Script::Greek), ('\u{1fc6}', '\u{1fcc}',
2603         Script::Greek), ('\u{1fcd}', '\u{1fcf}',  Script::Greek), ('\u{1fd0}', '\u{1fd3}',
2604         Script::Greek), ('\u{1fd6}', '\u{1fdb}',  Script::Greek), ('\u{1fdd}', '\u{1fdf}',
2605         Script::Greek), ('\u{1fe0}', '\u{1fec}',  Script::Greek), ('\u{1fed}', '\u{1fef}',
2606         Script::Greek), ('\u{1ff2}', '\u{1ff4}',  Script::Greek), ('\u{1ff6}', '\u{1ffc}',
2607         Script::Greek), ('\u{1ffd}', '\u{1ffe}',  Script::Greek), ('\u{2000}', '\u{200a}',
2608         Script::Common), ('\u{200b}', '\u{200b}',  Script::Common), ('\u{200c}', '\u{200d}',
2609         Script::Inherited), ('\u{200e}', '\u{200f}',  Script::Common), ('\u{2010}', '\u{2015}',
2610         Script::Common), ('\u{2016}', '\u{2017}',  Script::Common), ('\u{2018}', '\u{2018}',
2611         Script::Common), ('\u{2019}', '\u{2019}',  Script::Common), ('\u{201a}', '\u{201a}',
2612         Script::Common), ('\u{201b}', '\u{201c}',  Script::Common), ('\u{201d}', '\u{201d}',
2613         Script::Common), ('\u{201e}', '\u{201e}',  Script::Common), ('\u{201f}', '\u{201f}',
2614         Script::Common), ('\u{2020}', '\u{2027}',  Script::Common), ('\u{2028}', '\u{2028}',
2615         Script::Common), ('\u{2029}', '\u{2029}',  Script::Common), ('\u{202a}', '\u{202e}',
2616         Script::Common), ('\u{202f}', '\u{202f}',  Script::Common), ('\u{2030}', '\u{2038}',
2617         Script::Common), ('\u{2039}', '\u{2039}',  Script::Common), ('\u{203a}', '\u{203a}',
2618         Script::Common), ('\u{203b}', '\u{203e}',  Script::Common), ('\u{203f}', '\u{2040}',
2619         Script::Common), ('\u{2041}', '\u{2043}',  Script::Common), ('\u{2044}', '\u{2044}',
2620         Script::Common), ('\u{2045}', '\u{2045}',  Script::Common), ('\u{2046}', '\u{2046}',
2621         Script::Common), ('\u{2047}', '\u{2051}',  Script::Common), ('\u{2052}', '\u{2052}',
2622         Script::Common), ('\u{2053}', '\u{2053}',  Script::Common), ('\u{2054}', '\u{2054}',
2623         Script::Common), ('\u{2055}', '\u{205e}',  Script::Common), ('\u{205f}', '\u{205f}',
2624         Script::Common), ('\u{2060}', '\u{2064}',  Script::Common), ('\u{2066}', '\u{206f}',
2625         Script::Common), ('\u{2070}', '\u{2070}',  Script::Common), ('\u{2071}', '\u{2071}',
2626         Script::Latin), ('\u{2074}', '\u{2079}',  Script::Common), ('\u{207a}', '\u{207c}',
2627         Script::Common), ('\u{207d}', '\u{207d}',  Script::Common), ('\u{207e}', '\u{207e}',
2628         Script::Common), ('\u{207f}', '\u{207f}',  Script::Latin), ('\u{2080}', '\u{2089}',
2629         Script::Common), ('\u{208a}', '\u{208c}',  Script::Common), ('\u{208d}', '\u{208d}',
2630         Script::Common), ('\u{208e}', '\u{208e}',  Script::Common), ('\u{2090}', '\u{209c}',
2631         Script::Latin), ('\u{20a0}', '\u{20c1}',  Script::Common), ('\u{20d0}', '\u{20dc}',
2632         Script::Inherited), ('\u{20dd}', '\u{20e0}',  Script::Inherited), ('\u{20e1}', '\u{20e1}',
2633         Script::Inherited), ('\u{20e2}', '\u{20e4}',  Script::Inherited), ('\u{20e5}', '\u{20f0}',
2634         Script::Inherited), ('\u{2100}', '\u{2101}',  Script::Common), ('\u{2102}', '\u{2102}',
2635         Script::Common), ('\u{2103}', '\u{2106}',  Script::Common), ('\u{2107}', '\u{2107}',
2636         Script::Common), ('\u{2108}', '\u{2109}',  Script::Common), ('\u{210a}', '\u{2113}',
2637         Script::Common), ('\u{2114}', '\u{2114}',  Script::Common), ('\u{2115}', '\u{2115}',
2638         Script::Common), ('\u{2116}', '\u{2117}',  Script::Common), ('\u{2118}', '\u{2118}',
2639         Script::Common), ('\u{2119}', '\u{211d}',  Script::Common), ('\u{211e}', '\u{2123}',
2640         Script::Common), ('\u{2124}', '\u{2124}',  Script::Common), ('\u{2125}', '\u{2125}',
2641         Script::Common), ('\u{2126}', '\u{2126}',  Script::Greek), ('\u{2127}', '\u{2127}',
2642         Script::Common), ('\u{2128}', '\u{2128}',  Script::Common), ('\u{2129}', '\u{2129}',
2643         Script::Common), ('\u{212a}', '\u{212b}',  Script::Latin), ('\u{212c}', '\u{212d}',
2644         Script::Common), ('\u{212e}', '\u{212e}',  Script::Common), ('\u{212f}', '\u{2131}',
2645         Script::Common), ('\u{2132}', '\u{2132}',  Script::Latin), ('\u{2133}', '\u{2134}',
2646         Script::Common), ('\u{2135}', '\u{2138}',  Script::Common), ('\u{2139}', '\u{2139}',
2647         Script::Common), ('\u{213a}', '\u{213b}',  Script::Common), ('\u{213c}', '\u{213f}',
2648         Script::Common), ('\u{2140}', '\u{2144}',  Script::Common), ('\u{2145}', '\u{2149}',
2649         Script::Common), ('\u{214a}', '\u{214a}',  Script::Common), ('\u{214b}', '\u{214b}',
2650         Script::Common), ('\u{214c}', '\u{214d}',  Script::Common), ('\u{214e}', '\u{214e}',
2651         Script::Latin), ('\u{214f}', '\u{214f}',  Script::Common), ('\u{2150}', '\u{215f}',
2652         Script::Common), ('\u{2160}', '\u{2182}',  Script::Latin), ('\u{2183}', '\u{2184}',
2653         Script::Latin), ('\u{2185}', '\u{2188}',  Script::Latin), ('\u{2189}', '\u{2189}',
2654         Script::Common), ('\u{218a}', '\u{218b}',  Script::Common), ('\u{2190}', '\u{2194}',
2655         Script::Common), ('\u{2195}', '\u{2199}',  Script::Common), ('\u{219a}', '\u{219b}',
2656         Script::Common), ('\u{219c}', '\u{219f}',  Script::Common), ('\u{21a0}', '\u{21a0}',
2657         Script::Common), ('\u{21a1}', '\u{21a2}',  Script::Common), ('\u{21a3}', '\u{21a3}',
2658         Script::Common), ('\u{21a4}', '\u{21a5}',  Script::Common), ('\u{21a6}', '\u{21a6}',
2659         Script::Common), ('\u{21a7}', '\u{21ad}',  Script::Common), ('\u{21ae}', '\u{21ae}',
2660         Script::Common), ('\u{21af}', '\u{21cd}',  Script::Common), ('\u{21ce}', '\u{21cf}',
2661         Script::Common), ('\u{21d0}', '\u{21d1}',  Script::Common), ('\u{21d2}', '\u{21d2}',
2662         Script::Common), ('\u{21d3}', '\u{21d3}',  Script::Common), ('\u{21d4}', '\u{21d4}',
2663         Script::Common), ('\u{21d5}', '\u{21f3}',  Script::Common), ('\u{21f4}', '\u{22ff}',
2664         Script::Common), ('\u{2300}', '\u{2307}',  Script::Common), ('\u{2308}', '\u{2308}',
2665         Script::Common), ('\u{2309}', '\u{2309}',  Script::Common), ('\u{230a}', '\u{230a}',
2666         Script::Common), ('\u{230b}', '\u{230b}',  Script::Common), ('\u{230c}', '\u{231f}',
2667         Script::Common), ('\u{2320}', '\u{2321}',  Script::Common), ('\u{2322}', '\u{2328}',
2668         Script::Common), ('\u{2329}', '\u{2329}',  Script::Common), ('\u{232a}', '\u{232a}',
2669         Script::Common), ('\u{232b}', '\u{237b}',  Script::Common), ('\u{237c}', '\u{237c}',
2670         Script::Common), ('\u{237d}', '\u{239a}',  Script::Common), ('\u{239b}', '\u{23b3}',
2671         Script::Common), ('\u{23b4}', '\u{23db}',  Script::Common), ('\u{23dc}', '\u{23e1}',
2672         Script::Common), ('\u{23e2}', '\u{2429}',  Script::Common), ('\u{2440}', '\u{244a}',
2673         Script::Common), ('\u{2460}', '\u{249b}',  Script::Common), ('\u{249c}', '\u{24e9}',
2674         Script::Common), ('\u{24ea}', '\u{24ff}',  Script::Common), ('\u{2500}', '\u{25b6}',
2675         Script::Common), ('\u{25b7}', '\u{25b7}',  Script::Common), ('\u{25b8}', '\u{25c0}',
2676         Script::Common), ('\u{25c1}', '\u{25c1}',  Script::Common), ('\u{25c2}', '\u{25f7}',
2677         Script::Common), ('\u{25f8}', '\u{25ff}',  Script::Common), ('\u{2600}', '\u{266e}',
2678         Script::Common), ('\u{266f}', '\u{266f}',  Script::Common), ('\u{2670}', '\u{2767}',
2679         Script::Common), ('\u{2768}', '\u{2768}',  Script::Common), ('\u{2769}', '\u{2769}',
2680         Script::Common), ('\u{276a}', '\u{276a}',  Script::Common), ('\u{276b}', '\u{276b}',
2681         Script::Common), ('\u{276c}', '\u{276c}',  Script::Common), ('\u{276d}', '\u{276d}',
2682         Script::Common), ('\u{276e}', '\u{276e}',  Script::Common), ('\u{276f}', '\u{276f}',
2683         Script::Common), ('\u{2770}', '\u{2770}',  Script::Common), ('\u{2771}', '\u{2771}',
2684         Script::Common), ('\u{2772}', '\u{2772}',  Script::Common), ('\u{2773}', '\u{2773}',
2685         Script::Common), ('\u{2774}', '\u{2774}',  Script::Common), ('\u{2775}', '\u{2775}',
2686         Script::Common), ('\u{2776}', '\u{2793}',  Script::Common), ('\u{2794}', '\u{27bf}',
2687         Script::Common), ('\u{27c0}', '\u{27c4}',  Script::Common), ('\u{27c5}', '\u{27c5}',
2688         Script::Common), ('\u{27c6}', '\u{27c6}',  Script::Common), ('\u{27c7}', '\u{27e5}',
2689         Script::Common), ('\u{27e6}', '\u{27e6}',  Script::Common), ('\u{27e7}', '\u{27e7}',
2690         Script::Common), ('\u{27e8}', '\u{27e8}',  Script::Common), ('\u{27e9}', '\u{27e9}',
2691         Script::Common), ('\u{27ea}', '\u{27ea}',  Script::Common), ('\u{27eb}', '\u{27eb}',
2692         Script::Common), ('\u{27ec}', '\u{27ec}',  Script::Common), ('\u{27ed}', '\u{27ed}',
2693         Script::Common), ('\u{27ee}', '\u{27ee}',  Script::Common), ('\u{27ef}', '\u{27ef}',
2694         Script::Common), ('\u{27f0}', '\u{27ff}',  Script::Common), ('\u{2800}', '\u{28ff}',
2695         Script::Braille), ('\u{2900}', '\u{2982}',  Script::Common), ('\u{2983}', '\u{2983}',
2696         Script::Common), ('\u{2984}', '\u{2984}',  Script::Common), ('\u{2985}', '\u{2985}',
2697         Script::Common), ('\u{2986}', '\u{2986}',  Script::Common), ('\u{2987}', '\u{2987}',
2698         Script::Common), ('\u{2988}', '\u{2988}',  Script::Common), ('\u{2989}', '\u{2989}',
2699         Script::Common), ('\u{298a}', '\u{298a}',  Script::Common), ('\u{298b}', '\u{298b}',
2700         Script::Common), ('\u{298c}', '\u{298c}',  Script::Common), ('\u{298d}', '\u{298d}',
2701         Script::Common), ('\u{298e}', '\u{298e}',  Script::Common), ('\u{298f}', '\u{298f}',
2702         Script::Common), ('\u{2990}', '\u{2990}',  Script::Common), ('\u{2991}', '\u{2991}',
2703         Script::Common), ('\u{2992}', '\u{2992}',  Script::Common), ('\u{2993}', '\u{2993}',
2704         Script::Common), ('\u{2994}', '\u{2994}',  Script::Common), ('\u{2995}', '\u{2995}',
2705         Script::Common), ('\u{2996}', '\u{2996}',  Script::Common), ('\u{2997}', '\u{2997}',
2706         Script::Common), ('\u{2998}', '\u{2998}',  Script::Common), ('\u{2999}', '\u{29d7}',
2707         Script::Common), ('\u{29d8}', '\u{29d8}',  Script::Common), ('\u{29d9}', '\u{29d9}',
2708         Script::Common), ('\u{29da}', '\u{29da}',  Script::Common), ('\u{29db}', '\u{29db}',
2709         Script::Common), ('\u{29dc}', '\u{29fb}',  Script::Common), ('\u{29fc}', '\u{29fc}',
2710         Script::Common), ('\u{29fd}', '\u{29fd}',  Script::Common), ('\u{29fe}', '\u{2aff}',
2711         Script::Common), ('\u{2b00}', '\u{2b2f}',  Script::Common), ('\u{2b30}', '\u{2b44}',
2712         Script::Common), ('\u{2b45}', '\u{2b46}',  Script::Common), ('\u{2b47}', '\u{2b4c}',
2713         Script::Common), ('\u{2b4d}', '\u{2b73}',  Script::Common), ('\u{2b76}', '\u{2bff}',
2714         Script::Common), ('\u{2c00}', '\u{2c5f}',  Script::Glagolitic), ('\u{2c60}', '\u{2c7b}',
2715         Script::Latin), ('\u{2c7c}', '\u{2c7d}',  Script::Latin), ('\u{2c7e}', '\u{2c7f}',
2716         Script::Latin), ('\u{2c80}', '\u{2ce4}',  Script::Coptic), ('\u{2ce5}', '\u{2cea}',
2717         Script::Coptic), ('\u{2ceb}', '\u{2cee}',  Script::Coptic), ('\u{2cef}', '\u{2cf1}',
2718         Script::Coptic), ('\u{2cf2}', '\u{2cf3}',  Script::Coptic), ('\u{2cf9}', '\u{2cfc}',
2719         Script::Coptic), ('\u{2cfd}', '\u{2cfd}',  Script::Coptic), ('\u{2cfe}', '\u{2cff}',
2720         Script::Coptic), ('\u{2d00}', '\u{2d25}',  Script::Georgian), ('\u{2d27}', '\u{2d27}',
2721         Script::Georgian), ('\u{2d2d}', '\u{2d2d}',  Script::Georgian), ('\u{2d30}', '\u{2d67}',
2722         Script::Tifinagh), ('\u{2d6f}', '\u{2d6f}',  Script::Tifinagh), ('\u{2d70}', '\u{2d70}',
2723         Script::Tifinagh), ('\u{2d7f}', '\u{2d7f}',  Script::Tifinagh), ('\u{2d80}', '\u{2d96}',
2724         Script::Ethiopic), ('\u{2da0}', '\u{2da6}',  Script::Ethiopic), ('\u{2da8}', '\u{2dae}',
2725         Script::Ethiopic), ('\u{2db0}', '\u{2db6}',  Script::Ethiopic), ('\u{2db8}', '\u{2dbe}',
2726         Script::Ethiopic), ('\u{2dc0}', '\u{2dc6}',  Script::Ethiopic), ('\u{2dc8}', '\u{2dce}',
2727         Script::Ethiopic), ('\u{2dd0}', '\u{2dd6}',  Script::Ethiopic), ('\u{2dd8}', '\u{2dde}',
2728         Script::Ethiopic), ('\u{2de0}', '\u{2dff}',  Script::Cyrillic), ('\u{2e00}', '\u{2e01}',
2729         Script::Common), ('\u{2e02}', '\u{2e02}',  Script::Common), ('\u{2e03}', '\u{2e03}',
2730         Script::Common), ('\u{2e04}', '\u{2e04}',  Script::Common), ('\u{2e05}', '\u{2e05}',
2731         Script::Common), ('\u{2e06}', '\u{2e08}',  Script::Common), ('\u{2e09}', '\u{2e09}',
2732         Script::Common), ('\u{2e0a}', '\u{2e0a}',  Script::Common), ('\u{2e0b}', '\u{2e0b}',
2733         Script::Common), ('\u{2e0c}', '\u{2e0c}',  Script::Common), ('\u{2e0d}', '\u{2e0d}',
2734         Script::Common), ('\u{2e0e}', '\u{2e16}',  Script::Common), ('\u{2e17}', '\u{2e17}',
2735         Script::Common), ('\u{2e18}', '\u{2e19}',  Script::Common), ('\u{2e1a}', '\u{2e1a}',
2736         Script::Common), ('\u{2e1b}', '\u{2e1b}',  Script::Common), ('\u{2e1c}', '\u{2e1c}',
2737         Script::Common), ('\u{2e1d}', '\u{2e1d}',  Script::Common), ('\u{2e1e}', '\u{2e1f}',
2738         Script::Common), ('\u{2e20}', '\u{2e20}',  Script::Common), ('\u{2e21}', '\u{2e21}',
2739         Script::Common), ('\u{2e22}', '\u{2e22}',  Script::Common), ('\u{2e23}', '\u{2e23}',
2740         Script::Common), ('\u{2e24}', '\u{2e24}',  Script::Common), ('\u{2e25}', '\u{2e25}',
2741         Script::Common), ('\u{2e26}', '\u{2e26}',  Script::Common), ('\u{2e27}', '\u{2e27}',
2742         Script::Common), ('\u{2e28}', '\u{2e28}',  Script::Common), ('\u{2e29}', '\u{2e29}',
2743         Script::Common), ('\u{2e2a}', '\u{2e2e}',  Script::Common), ('\u{2e2f}', '\u{2e2f}',
2744         Script::Common), ('\u{2e30}', '\u{2e39}',  Script::Common), ('\u{2e3a}', '\u{2e3b}',
2745         Script::Common), ('\u{2e3c}', '\u{2e3f}',  Script::Common), ('\u{2e40}', '\u{2e40}',
2746         Script::Common), ('\u{2e41}', '\u{2e41}',  Script::Common), ('\u{2e42}', '\u{2e42}',
2747         Script::Common), ('\u{2e43}', '\u{2e4f}',  Script::Common), ('\u{2e50}', '\u{2e51}',
2748         Script::Common), ('\u{2e52}', '\u{2e54}',  Script::Common), ('\u{2e55}', '\u{2e55}',
2749         Script::Common), ('\u{2e56}', '\u{2e56}',  Script::Common), ('\u{2e57}', '\u{2e57}',
2750         Script::Common), ('\u{2e58}', '\u{2e58}',  Script::Common), ('\u{2e59}', '\u{2e59}',
2751         Script::Common), ('\u{2e5a}', '\u{2e5a}',  Script::Common), ('\u{2e5b}', '\u{2e5b}',
2752         Script::Common), ('\u{2e5c}', '\u{2e5c}',  Script::Common), ('\u{2e5d}', '\u{2e5d}',
2753         Script::Common), ('\u{2e80}', '\u{2e99}',  Script::Han), ('\u{2e9b}', '\u{2ef3}',
2754         Script::Han), ('\u{2f00}', '\u{2fd5}',  Script::Han), ('\u{2ff0}', '\u{2fff}',
2755         Script::Common), ('\u{3000}', '\u{3000}',  Script::Common), ('\u{3001}', '\u{3003}',
2756         Script::Common), ('\u{3004}', '\u{3004}',  Script::Common), ('\u{3005}', '\u{3005}',
2757         Script::Han), ('\u{3006}', '\u{3006}',  Script::Common), ('\u{3007}', '\u{3007}',
2758         Script::Han), ('\u{3008}', '\u{3008}',  Script::Common), ('\u{3009}', '\u{3009}',
2759         Script::Common), ('\u{300a}', '\u{300a}',  Script::Common), ('\u{300b}', '\u{300b}',
2760         Script::Common), ('\u{300c}', '\u{300c}',  Script::Common), ('\u{300d}', '\u{300d}',
2761         Script::Common), ('\u{300e}', '\u{300e}',  Script::Common), ('\u{300f}', '\u{300f}',
2762         Script::Common), ('\u{3010}', '\u{3010}',  Script::Common), ('\u{3011}', '\u{3011}',
2763         Script::Common), ('\u{3012}', '\u{3013}',  Script::Common), ('\u{3014}', '\u{3014}',
2764         Script::Common), ('\u{3015}', '\u{3015}',  Script::Common), ('\u{3016}', '\u{3016}',
2765         Script::Common), ('\u{3017}', '\u{3017}',  Script::Common), ('\u{3018}', '\u{3018}',
2766         Script::Common), ('\u{3019}', '\u{3019}',  Script::Common), ('\u{301a}', '\u{301a}',
2767         Script::Common), ('\u{301b}', '\u{301b}',  Script::Common), ('\u{301c}', '\u{301c}',
2768         Script::Common), ('\u{301d}', '\u{301d}',  Script::Common), ('\u{301e}', '\u{301f}',
2769         Script::Common), ('\u{3020}', '\u{3020}',  Script::Common), ('\u{3021}', '\u{3029}',
2770         Script::Han), ('\u{302a}', '\u{302d}',  Script::Inherited), ('\u{302e}', '\u{302f}',
2771         Script::Hangul), ('\u{3030}', '\u{3030}',  Script::Common), ('\u{3031}', '\u{3035}',
2772         Script::Common), ('\u{3036}', '\u{3037}',  Script::Common), ('\u{3038}', '\u{303a}',
2773         Script::Han), ('\u{303b}', '\u{303b}',  Script::Han), ('\u{303c}', '\u{303c}',
2774         Script::Common), ('\u{303d}', '\u{303d}',  Script::Common), ('\u{303e}', '\u{303f}',
2775         Script::Common), ('\u{3041}', '\u{3096}',  Script::Hiragana), ('\u{3099}', '\u{309a}',
2776         Script::Inherited), ('\u{309b}', '\u{309c}',  Script::Common), ('\u{309d}', '\u{309e}',
2777         Script::Hiragana), ('\u{309f}', '\u{309f}',  Script::Hiragana), ('\u{30a0}', '\u{30a0}',
2778         Script::Common), ('\u{30a1}', '\u{30fa}',  Script::Katakana), ('\u{30fb}', '\u{30fb}',
2779         Script::Common), ('\u{30fc}', '\u{30fc}',  Script::Common), ('\u{30fd}', '\u{30fe}',
2780         Script::Katakana), ('\u{30ff}', '\u{30ff}',  Script::Katakana), ('\u{3105}', '\u{312f}',
2781         Script::Bopomofo), ('\u{3131}', '\u{318e}',  Script::Hangul), ('\u{3190}', '\u{3191}',
2782         Script::Common), ('\u{3192}', '\u{3195}',  Script::Common), ('\u{3196}', '\u{319f}',
2783         Script::Common), ('\u{31a0}', '\u{31bf}',  Script::Bopomofo), ('\u{31c0}', '\u{31e5}',
2784         Script::Common), ('\u{31ef}', '\u{31ef}',  Script::Common), ('\u{31f0}', '\u{31ff}',
2785         Script::Katakana), ('\u{3200}', '\u{321e}',  Script::Hangul), ('\u{3220}', '\u{3229}',
2786         Script::Common), ('\u{322a}', '\u{3247}',  Script::Common), ('\u{3248}', '\u{324f}',
2787         Script::Common), ('\u{3250}', '\u{3250}',  Script::Common), ('\u{3251}', '\u{325f}',
2788         Script::Common), ('\u{3260}', '\u{327e}',  Script::Hangul), ('\u{327f}', '\u{327f}',
2789         Script::Common), ('\u{3280}', '\u{3289}',  Script::Common), ('\u{328a}', '\u{32b0}',
2790         Script::Common), ('\u{32b1}', '\u{32bf}',  Script::Common), ('\u{32c0}', '\u{32cf}',
2791         Script::Common), ('\u{32d0}', '\u{32fe}',  Script::Katakana), ('\u{32ff}', '\u{32ff}',
2792         Script::Common), ('\u{3300}', '\u{3357}',  Script::Katakana), ('\u{3358}', '\u{33ff}',
2793         Script::Common), ('\u{3400}', '\u{4dbf}',  Script::Han), ('\u{4dc0}', '\u{4dff}',
2794         Script::Common), ('\u{4e00}', '\u{9fff}',  Script::Han), ('\u{a000}', '\u{a014}',
2795         Script::Yi), ('\u{a015}', '\u{a015}',  Script::Yi), ('\u{a016}', '\u{a48c}',  Script::Yi),
2796        ('\u{a490}', '\u{a4c6}',  Script::Yi), ('\u{a4d0}', '\u{a4f7}',  Script::Lisu), ('\u{a4f8}',
2797        '\u{a4fd}',  Script::Lisu), ('\u{a4fe}', '\u{a4ff}',  Script::Lisu), ('\u{a500}',
2798        '\u{a60b}',  Script::Vai), ('\u{a60c}', '\u{a60c}',  Script::Vai), ('\u{a60d}', '\u{a60f}',
2799         Script::Vai), ('\u{a610}', '\u{a61f}',  Script::Vai), ('\u{a620}', '\u{a629}',
2800         Script::Vai), ('\u{a62a}', '\u{a62b}',  Script::Vai), ('\u{a640}', '\u{a66d}',
2801         Script::Cyrillic), ('\u{a66e}', '\u{a66e}',  Script::Cyrillic), ('\u{a66f}', '\u{a66f}',
2802         Script::Cyrillic), ('\u{a670}', '\u{a672}',  Script::Cyrillic), ('\u{a673}', '\u{a673}',
2803         Script::Cyrillic), ('\u{a674}', '\u{a67d}',  Script::Cyrillic), ('\u{a67e}', '\u{a67e}',
2804         Script::Cyrillic), ('\u{a67f}', '\u{a67f}',  Script::Cyrillic), ('\u{a680}', '\u{a69b}',
2805         Script::Cyrillic), ('\u{a69c}', '\u{a69d}',  Script::Cyrillic), ('\u{a69e}', '\u{a69f}',
2806         Script::Cyrillic), ('\u{a6a0}', '\u{a6e5}',  Script::Bamum), ('\u{a6e6}', '\u{a6ef}',
2807         Script::Bamum), ('\u{a6f0}', '\u{a6f1}',  Script::Bamum), ('\u{a6f2}', '\u{a6f7}',
2808         Script::Bamum), ('\u{a700}', '\u{a716}',  Script::Common), ('\u{a717}', '\u{a71f}',
2809         Script::Common), ('\u{a720}', '\u{a721}',  Script::Common), ('\u{a722}', '\u{a76f}',
2810         Script::Latin), ('\u{a770}', '\u{a770}',  Script::Latin), ('\u{a771}', '\u{a787}',
2811         Script::Latin), ('\u{a788}', '\u{a788}',  Script::Common), ('\u{a789}', '\u{a78a}',
2812         Script::Common), ('\u{a78b}', '\u{a78e}',  Script::Latin), ('\u{a78f}', '\u{a78f}',
2813         Script::Latin), ('\u{a790}', '\u{a7dc}',  Script::Latin), ('\u{a7f1}', '\u{a7f4}',
2814         Script::Latin), ('\u{a7f5}', '\u{a7f6}',  Script::Latin), ('\u{a7f7}', '\u{a7f7}',
2815         Script::Latin), ('\u{a7f8}', '\u{a7f9}',  Script::Latin), ('\u{a7fa}', '\u{a7fa}',
2816         Script::Latin), ('\u{a7fb}', '\u{a7ff}',  Script::Latin), ('\u{a800}', '\u{a801}',
2817         Script::Syloti_Nagri), ('\u{a802}', '\u{a802}',  Script::Syloti_Nagri), ('\u{a803}',
2818        '\u{a805}',  Script::Syloti_Nagri), ('\u{a806}', '\u{a806}',  Script::Syloti_Nagri),
2819        ('\u{a807}', '\u{a80a}',  Script::Syloti_Nagri), ('\u{a80b}', '\u{a80b}',
2820         Script::Syloti_Nagri), ('\u{a80c}', '\u{a822}',  Script::Syloti_Nagri), ('\u{a823}',
2821        '\u{a824}',  Script::Syloti_Nagri), ('\u{a825}', '\u{a826}',  Script::Syloti_Nagri),
2822        ('\u{a827}', '\u{a827}',  Script::Syloti_Nagri), ('\u{a828}', '\u{a82b}',
2823         Script::Syloti_Nagri), ('\u{a82c}', '\u{a82c}',  Script::Syloti_Nagri), ('\u{a830}',
2824        '\u{a835}',  Script::Common), ('\u{a836}', '\u{a837}',  Script::Common), ('\u{a838}',
2825        '\u{a838}',  Script::Common), ('\u{a839}', '\u{a839}',  Script::Common), ('\u{a840}',
2826        '\u{a873}',  Script::Phags_Pa), ('\u{a874}', '\u{a877}',  Script::Phags_Pa), ('\u{a880}',
2827        '\u{a881}',  Script::Saurashtra), ('\u{a882}', '\u{a8b3}',  Script::Saurashtra),
2828        ('\u{a8b4}', '\u{a8c3}',  Script::Saurashtra), ('\u{a8c4}', '\u{a8c5}',
2829         Script::Saurashtra), ('\u{a8ce}', '\u{a8cf}',  Script::Saurashtra), ('\u{a8d0}',
2830        '\u{a8d9}',  Script::Saurashtra), ('\u{a8e0}', '\u{a8f1}',  Script::Devanagari),
2831        ('\u{a8f2}', '\u{a8f7}',  Script::Devanagari), ('\u{a8f8}', '\u{a8fa}',
2832         Script::Devanagari), ('\u{a8fb}', '\u{a8fb}',  Script::Devanagari), ('\u{a8fc}',
2833        '\u{a8fc}',  Script::Devanagari), ('\u{a8fd}', '\u{a8fe}',  Script::Devanagari),
2834        ('\u{a8ff}', '\u{a8ff}',  Script::Devanagari), ('\u{a900}', '\u{a909}',  Script::Kayah_Li),
2835        ('\u{a90a}', '\u{a925}',  Script::Kayah_Li), ('\u{a926}', '\u{a92d}',  Script::Kayah_Li),
2836        ('\u{a92e}', '\u{a92e}',  Script::Common), ('\u{a92f}', '\u{a92f}',  Script::Kayah_Li),
2837        ('\u{a930}', '\u{a946}',  Script::Rejang), ('\u{a947}', '\u{a951}',  Script::Rejang),
2838        ('\u{a952}', '\u{a953}',  Script::Rejang), ('\u{a95f}', '\u{a95f}',  Script::Rejang),
2839        ('\u{a960}', '\u{a97c}',  Script::Hangul), ('\u{a980}', '\u{a982}',  Script::Javanese),
2840        ('\u{a983}', '\u{a983}',  Script::Javanese), ('\u{a984}', '\u{a9b2}',  Script::Javanese),
2841        ('\u{a9b3}', '\u{a9b3}',  Script::Javanese), ('\u{a9b4}', '\u{a9b5}',  Script::Javanese),
2842        ('\u{a9b6}', '\u{a9b9}',  Script::Javanese), ('\u{a9ba}', '\u{a9bb}',  Script::Javanese),
2843        ('\u{a9bc}', '\u{a9bd}',  Script::Javanese), ('\u{a9be}', '\u{a9c0}',  Script::Javanese),
2844        ('\u{a9c1}', '\u{a9cd}',  Script::Javanese), ('\u{a9cf}', '\u{a9cf}',  Script::Common),
2845        ('\u{a9d0}', '\u{a9d9}',  Script::Javanese), ('\u{a9de}', '\u{a9df}',  Script::Javanese),
2846        ('\u{a9e0}', '\u{a9e4}',  Script::Myanmar), ('\u{a9e5}', '\u{a9e5}',  Script::Myanmar),
2847        ('\u{a9e6}', '\u{a9e6}',  Script::Myanmar), ('\u{a9e7}', '\u{a9ef}',  Script::Myanmar),
2848        ('\u{a9f0}', '\u{a9f9}',  Script::Myanmar), ('\u{a9fa}', '\u{a9fe}',  Script::Myanmar),
2849        ('\u{aa00}', '\u{aa28}',  Script::Cham), ('\u{aa29}', '\u{aa2e}',  Script::Cham),
2850        ('\u{aa2f}', '\u{aa30}',  Script::Cham), ('\u{aa31}', '\u{aa32}',  Script::Cham),
2851        ('\u{aa33}', '\u{aa34}',  Script::Cham), ('\u{aa35}', '\u{aa36}',  Script::Cham),
2852        ('\u{aa40}', '\u{aa42}',  Script::Cham), ('\u{aa43}', '\u{aa43}',  Script::Cham),
2853        ('\u{aa44}', '\u{aa4b}',  Script::Cham), ('\u{aa4c}', '\u{aa4c}',  Script::Cham),
2854        ('\u{aa4d}', '\u{aa4d}',  Script::Cham), ('\u{aa50}', '\u{aa59}',  Script::Cham),
2855        ('\u{aa5c}', '\u{aa5f}',  Script::Cham), ('\u{aa60}', '\u{aa6f}',  Script::Myanmar),
2856        ('\u{aa70}', '\u{aa70}',  Script::Myanmar), ('\u{aa71}', '\u{aa76}',  Script::Myanmar),
2857        ('\u{aa77}', '\u{aa79}',  Script::Myanmar), ('\u{aa7a}', '\u{aa7a}',  Script::Myanmar),
2858        ('\u{aa7b}', '\u{aa7b}',  Script::Myanmar), ('\u{aa7c}', '\u{aa7c}',  Script::Myanmar),
2859        ('\u{aa7d}', '\u{aa7d}',  Script::Myanmar), ('\u{aa7e}', '\u{aa7f}',  Script::Myanmar),
2860        ('\u{aa80}', '\u{aaaf}',  Script::Tai_Viet), ('\u{aab0}', '\u{aab0}',  Script::Tai_Viet),
2861        ('\u{aab1}', '\u{aab1}',  Script::Tai_Viet), ('\u{aab2}', '\u{aab4}',  Script::Tai_Viet),
2862        ('\u{aab5}', '\u{aab6}',  Script::Tai_Viet), ('\u{aab7}', '\u{aab8}',  Script::Tai_Viet),
2863        ('\u{aab9}', '\u{aabd}',  Script::Tai_Viet), ('\u{aabe}', '\u{aabf}',  Script::Tai_Viet),
2864        ('\u{aac0}', '\u{aac0}',  Script::Tai_Viet), ('\u{aac1}', '\u{aac1}',  Script::Tai_Viet),
2865        ('\u{aac2}', '\u{aac2}',  Script::Tai_Viet), ('\u{aadb}', '\u{aadc}',  Script::Tai_Viet),
2866        ('\u{aadd}', '\u{aadd}',  Script::Tai_Viet), ('\u{aade}', '\u{aadf}',  Script::Tai_Viet),
2867        ('\u{aae0}', '\u{aaea}',  Script::Meetei_Mayek), ('\u{aaeb}', '\u{aaeb}',
2868         Script::Meetei_Mayek), ('\u{aaec}', '\u{aaed}',  Script::Meetei_Mayek), ('\u{aaee}',
2869        '\u{aaef}',  Script::Meetei_Mayek), ('\u{aaf0}', '\u{aaf1}',  Script::Meetei_Mayek),
2870        ('\u{aaf2}', '\u{aaf2}',  Script::Meetei_Mayek), ('\u{aaf3}', '\u{aaf4}',
2871         Script::Meetei_Mayek), ('\u{aaf5}', '\u{aaf5}',  Script::Meetei_Mayek), ('\u{aaf6}',
2872        '\u{aaf6}',  Script::Meetei_Mayek), ('\u{ab01}', '\u{ab06}',  Script::Ethiopic),
2873        ('\u{ab09}', '\u{ab0e}',  Script::Ethiopic), ('\u{ab11}', '\u{ab16}',  Script::Ethiopic),
2874        ('\u{ab20}', '\u{ab26}',  Script::Ethiopic), ('\u{ab28}', '\u{ab2e}',  Script::Ethiopic),
2875        ('\u{ab30}', '\u{ab5a}',  Script::Latin), ('\u{ab5b}', '\u{ab5b}',  Script::Common),
2876        ('\u{ab5c}', '\u{ab5f}',  Script::Latin), ('\u{ab60}', '\u{ab64}',  Script::Latin),
2877        ('\u{ab65}', '\u{ab65}',  Script::Greek), ('\u{ab66}', '\u{ab68}',  Script::Latin),
2878        ('\u{ab69}', '\u{ab69}',  Script::Latin), ('\u{ab6a}', '\u{ab6b}',  Script::Common),
2879        ('\u{ab70}', '\u{abbf}',  Script::Cherokee), ('\u{abc0}', '\u{abe2}',
2880         Script::Meetei_Mayek), ('\u{abe3}', '\u{abe4}',  Script::Meetei_Mayek), ('\u{abe5}',
2881        '\u{abe5}',  Script::Meetei_Mayek), ('\u{abe6}', '\u{abe7}',  Script::Meetei_Mayek),
2882        ('\u{abe8}', '\u{abe8}',  Script::Meetei_Mayek), ('\u{abe9}', '\u{abea}',
2883         Script::Meetei_Mayek), ('\u{abeb}', '\u{abeb}',  Script::Meetei_Mayek), ('\u{abec}',
2884        '\u{abec}',  Script::Meetei_Mayek), ('\u{abed}', '\u{abed}',  Script::Meetei_Mayek),
2885        ('\u{abf0}', '\u{abf9}',  Script::Meetei_Mayek), ('\u{ac00}', '\u{d7a3}',  Script::Hangul),
2886        ('\u{d7b0}', '\u{d7c6}',  Script::Hangul), ('\u{d7cb}', '\u{d7fb}',  Script::Hangul),
2887        ('\u{f900}', '\u{fa6d}',  Script::Han), ('\u{fa70}', '\u{fad9}',  Script::Han), ('\u{fb00}',
2888        '\u{fb06}',  Script::Latin), ('\u{fb13}', '\u{fb17}',  Script::Armenian), ('\u{fb1d}',
2889        '\u{fb1d}',  Script::Hebrew), ('\u{fb1e}', '\u{fb1e}',  Script::Hebrew), ('\u{fb1f}',
2890        '\u{fb28}',  Script::Hebrew), ('\u{fb29}', '\u{fb29}',  Script::Hebrew), ('\u{fb2a}',
2891        '\u{fb36}',  Script::Hebrew), ('\u{fb38}', '\u{fb3c}',  Script::Hebrew), ('\u{fb3e}',
2892        '\u{fb3e}',  Script::Hebrew), ('\u{fb40}', '\u{fb41}',  Script::Hebrew), ('\u{fb43}',
2893        '\u{fb44}',  Script::Hebrew), ('\u{fb46}', '\u{fb4f}',  Script::Hebrew), ('\u{fb50}',
2894        '\u{fbb1}',  Script::Arabic), ('\u{fbb2}', '\u{fbc2}',  Script::Arabic), ('\u{fbc3}',
2895        '\u{fbd2}',  Script::Arabic), ('\u{fbd3}', '\u{fd3d}',  Script::Arabic), ('\u{fd3e}',
2896        '\u{fd3e}',  Script::Common), ('\u{fd3f}', '\u{fd3f}',  Script::Common), ('\u{fd40}',
2897        '\u{fd4f}',  Script::Arabic), ('\u{fd50}', '\u{fd8f}',  Script::Arabic), ('\u{fd90}',
2898        '\u{fd91}',  Script::Arabic), ('\u{fd92}', '\u{fdc7}',  Script::Arabic), ('\u{fdc8}',
2899        '\u{fdcf}',  Script::Arabic), ('\u{fdf0}', '\u{fdfb}',  Script::Arabic), ('\u{fdfc}',
2900        '\u{fdfc}',  Script::Arabic), ('\u{fdfd}', '\u{fdff}',  Script::Arabic), ('\u{fe00}',
2901        '\u{fe0f}',  Script::Inherited), ('\u{fe10}', '\u{fe16}',  Script::Common), ('\u{fe17}',
2902        '\u{fe17}',  Script::Common), ('\u{fe18}', '\u{fe18}',  Script::Common), ('\u{fe19}',
2903        '\u{fe19}',  Script::Common), ('\u{fe20}', '\u{fe2d}',  Script::Inherited), ('\u{fe2e}',
2904        '\u{fe2f}',  Script::Cyrillic), ('\u{fe30}', '\u{fe30}',  Script::Common), ('\u{fe31}',
2905        '\u{fe32}',  Script::Common), ('\u{fe33}', '\u{fe34}',  Script::Common), ('\u{fe35}',
2906        '\u{fe35}',  Script::Common), ('\u{fe36}', '\u{fe36}',  Script::Common), ('\u{fe37}',
2907        '\u{fe37}',  Script::Common), ('\u{fe38}', '\u{fe38}',  Script::Common), ('\u{fe39}',
2908        '\u{fe39}',  Script::Common), ('\u{fe3a}', '\u{fe3a}',  Script::Common), ('\u{fe3b}',
2909        '\u{fe3b}',  Script::Common), ('\u{fe3c}', '\u{fe3c}',  Script::Common), ('\u{fe3d}',
2910        '\u{fe3d}',  Script::Common), ('\u{fe3e}', '\u{fe3e}',  Script::Common), ('\u{fe3f}',
2911        '\u{fe3f}',  Script::Common), ('\u{fe40}', '\u{fe40}',  Script::Common), ('\u{fe41}',
2912        '\u{fe41}',  Script::Common), ('\u{fe42}', '\u{fe42}',  Script::Common), ('\u{fe43}',
2913        '\u{fe43}',  Script::Common), ('\u{fe44}', '\u{fe44}',  Script::Common), ('\u{fe45}',
2914        '\u{fe46}',  Script::Common), ('\u{fe47}', '\u{fe47}',  Script::Common), ('\u{fe48}',
2915        '\u{fe48}',  Script::Common), ('\u{fe49}', '\u{fe4c}',  Script::Common), ('\u{fe4d}',
2916        '\u{fe4f}',  Script::Common), ('\u{fe50}', '\u{fe52}',  Script::Common), ('\u{fe54}',
2917        '\u{fe57}',  Script::Common), ('\u{fe58}', '\u{fe58}',  Script::Common), ('\u{fe59}',
2918        '\u{fe59}',  Script::Common), ('\u{fe5a}', '\u{fe5a}',  Script::Common), ('\u{fe5b}',
2919        '\u{fe5b}',  Script::Common), ('\u{fe5c}', '\u{fe5c}',  Script::Common), ('\u{fe5d}',
2920        '\u{fe5d}',  Script::Common), ('\u{fe5e}', '\u{fe5e}',  Script::Common), ('\u{fe5f}',
2921        '\u{fe61}',  Script::Common), ('\u{fe62}', '\u{fe62}',  Script::Common), ('\u{fe63}',
2922        '\u{fe63}',  Script::Common), ('\u{fe64}', '\u{fe66}',  Script::Common), ('\u{fe68}',
2923        '\u{fe68}',  Script::Common), ('\u{fe69}', '\u{fe69}',  Script::Common), ('\u{fe6a}',
2924        '\u{fe6b}',  Script::Common), ('\u{fe70}', '\u{fe74}',  Script::Arabic), ('\u{fe76}',
2925        '\u{fefc}',  Script::Arabic), ('\u{feff}', '\u{feff}',  Script::Common), ('\u{ff01}',
2926        '\u{ff03}',  Script::Common), ('\u{ff04}', '\u{ff04}',  Script::Common), ('\u{ff05}',
2927        '\u{ff07}',  Script::Common), ('\u{ff08}', '\u{ff08}',  Script::Common), ('\u{ff09}',
2928        '\u{ff09}',  Script::Common), ('\u{ff0a}', '\u{ff0a}',  Script::Common), ('\u{ff0b}',
2929        '\u{ff0b}',  Script::Common), ('\u{ff0c}', '\u{ff0c}',  Script::Common), ('\u{ff0d}',
2930        '\u{ff0d}',  Script::Common), ('\u{ff0e}', '\u{ff0f}',  Script::Common), ('\u{ff10}',
2931        '\u{ff19}',  Script::Common), ('\u{ff1a}', '\u{ff1b}',  Script::Common), ('\u{ff1c}',
2932        '\u{ff1e}',  Script::Common), ('\u{ff1f}', '\u{ff20}',  Script::Common), ('\u{ff21}',
2933        '\u{ff3a}',  Script::Latin), ('\u{ff3b}', '\u{ff3b}',  Script::Common), ('\u{ff3c}',
2934        '\u{ff3c}',  Script::Common), ('\u{ff3d}', '\u{ff3d}',  Script::Common), ('\u{ff3e}',
2935        '\u{ff3e}',  Script::Common), ('\u{ff3f}', '\u{ff3f}',  Script::Common), ('\u{ff40}',
2936        '\u{ff40}',  Script::Common), ('\u{ff41}', '\u{ff5a}',  Script::Latin), ('\u{ff5b}',
2937        '\u{ff5b}',  Script::Common), ('\u{ff5c}', '\u{ff5c}',  Script::Common), ('\u{ff5d}',
2938        '\u{ff5d}',  Script::Common), ('\u{ff5e}', '\u{ff5e}',  Script::Common), ('\u{ff5f}',
2939        '\u{ff5f}',  Script::Common), ('\u{ff60}', '\u{ff60}',  Script::Common), ('\u{ff61}',
2940        '\u{ff61}',  Script::Common), ('\u{ff62}', '\u{ff62}',  Script::Common), ('\u{ff63}',
2941        '\u{ff63}',  Script::Common), ('\u{ff64}', '\u{ff65}',  Script::Common), ('\u{ff66}',
2942        '\u{ff6f}',  Script::Katakana), ('\u{ff70}', '\u{ff70}',  Script::Common), ('\u{ff71}',
2943        '\u{ff9d}',  Script::Katakana), ('\u{ff9e}', '\u{ff9f}',  Script::Common), ('\u{ffa0}',
2944        '\u{ffbe}',  Script::Hangul), ('\u{ffc2}', '\u{ffc7}',  Script::Hangul), ('\u{ffca}',
2945        '\u{ffcf}',  Script::Hangul), ('\u{ffd2}', '\u{ffd7}',  Script::Hangul), ('\u{ffda}',
2946        '\u{ffdc}',  Script::Hangul), ('\u{ffe0}', '\u{ffe1}',  Script::Common), ('\u{ffe2}',
2947        '\u{ffe2}',  Script::Common), ('\u{ffe3}', '\u{ffe3}',  Script::Common), ('\u{ffe4}',
2948        '\u{ffe4}',  Script::Common), ('\u{ffe5}', '\u{ffe6}',  Script::Common), ('\u{ffe8}',
2949        '\u{ffe8}',  Script::Common), ('\u{ffe9}', '\u{ffec}',  Script::Common), ('\u{ffed}',
2950        '\u{ffee}',  Script::Common), ('\u{fff9}', '\u{fffb}',  Script::Common), ('\u{fffc}',
2951        '\u{fffd}',  Script::Common), ('\u{10000}', '\u{1000b}',  Script::Linear_B), ('\u{1000d}',
2952        '\u{10026}',  Script::Linear_B), ('\u{10028}', '\u{1003a}',  Script::Linear_B),
2953        ('\u{1003c}', '\u{1003d}',  Script::Linear_B), ('\u{1003f}', '\u{1004d}',
2954         Script::Linear_B), ('\u{10050}', '\u{1005d}',  Script::Linear_B), ('\u{10080}',
2955        '\u{100fa}',  Script::Linear_B), ('\u{10100}', '\u{10102}',  Script::Common), ('\u{10107}',
2956        '\u{10133}',  Script::Common), ('\u{10137}', '\u{1013f}',  Script::Common), ('\u{10140}',
2957        '\u{10174}',  Script::Greek), ('\u{10175}', '\u{10178}',  Script::Greek), ('\u{10179}',
2958        '\u{10189}',  Script::Greek), ('\u{1018a}', '\u{1018b}',  Script::Greek), ('\u{1018c}',
2959        '\u{1018e}',  Script::Greek), ('\u{10190}', '\u{1019c}',  Script::Common), ('\u{101a0}',
2960        '\u{101a0}',  Script::Greek), ('\u{101d0}', '\u{101fc}',  Script::Common), ('\u{101fd}',
2961        '\u{101fd}',  Script::Inherited), ('\u{10280}', '\u{1029c}',  Script::Lycian), ('\u{102a0}',
2962        '\u{102d0}',  Script::Carian), ('\u{102e0}', '\u{102e0}',  Script::Inherited), ('\u{102e1}',
2963        '\u{102fb}',  Script::Common), ('\u{10300}', '\u{1031f}',  Script::Old_Italic),
2964        ('\u{10320}', '\u{10323}',  Script::Old_Italic), ('\u{1032d}', '\u{1032f}',
2965         Script::Old_Italic), ('\u{10330}', '\u{10340}',  Script::Gothic), ('\u{10341}',
2966        '\u{10341}',  Script::Gothic), ('\u{10342}', '\u{10349}',  Script::Gothic), ('\u{1034a}',
2967        '\u{1034a}',  Script::Gothic), ('\u{10350}', '\u{10375}',  Script::Old_Permic),
2968        ('\u{10376}', '\u{1037a}',  Script::Old_Permic), ('\u{10380}', '\u{1039d}',
2969         Script::Ugaritic), ('\u{1039f}', '\u{1039f}',  Script::Ugaritic), ('\u{103a0}',
2970        '\u{103c3}',  Script::Old_Persian), ('\u{103c8}', '\u{103cf}',  Script::Old_Persian),
2971        ('\u{103d0}', '\u{103d0}',  Script::Old_Persian), ('\u{103d1}', '\u{103d5}',
2972         Script::Old_Persian), ('\u{10400}', '\u{1044f}',  Script::Deseret), ('\u{10450}',
2973        '\u{1047f}',  Script::Shavian), ('\u{10480}', '\u{1049d}',  Script::Osmanya), ('\u{104a0}',
2974        '\u{104a9}',  Script::Osmanya), ('\u{104b0}', '\u{104d3}',  Script::Osage), ('\u{104d8}',
2975        '\u{104fb}',  Script::Osage), ('\u{10500}', '\u{10527}',  Script::Elbasan), ('\u{10530}',
2976        '\u{10563}',  Script::Caucasian_Albanian), ('\u{1056f}', '\u{1056f}',
2977         Script::Caucasian_Albanian), ('\u{10570}', '\u{1057a}',  Script::Vithkuqi), ('\u{1057c}',
2978        '\u{1058a}',  Script::Vithkuqi), ('\u{1058c}', '\u{10592}',  Script::Vithkuqi),
2979        ('\u{10594}', '\u{10595}',  Script::Vithkuqi), ('\u{10597}', '\u{105a1}',
2980         Script::Vithkuqi), ('\u{105a3}', '\u{105b1}',  Script::Vithkuqi), ('\u{105b3}',
2981        '\u{105b9}',  Script::Vithkuqi), ('\u{105bb}', '\u{105bc}',  Script::Vithkuqi),
2982        ('\u{105c0}', '\u{105f3}',  Script::Todhri), ('\u{10600}', '\u{10736}',  Script::Linear_A),
2983        ('\u{10740}', '\u{10755}',  Script::Linear_A), ('\u{10760}', '\u{10767}',
2984         Script::Linear_A), ('\u{10780}', '\u{10785}',  Script::Latin), ('\u{10787}', '\u{107b0}',
2985         Script::Latin), ('\u{107b2}', '\u{107ba}',  Script::Latin), ('\u{10800}', '\u{10805}',
2986         Script::Cypriot), ('\u{10808}', '\u{10808}',  Script::Cypriot), ('\u{1080a}', '\u{10835}',
2987         Script::Cypriot), ('\u{10837}', '\u{10838}',  Script::Cypriot), ('\u{1083c}', '\u{1083c}',
2988         Script::Cypriot), ('\u{1083f}', '\u{1083f}',  Script::Cypriot), ('\u{10840}', '\u{10855}',
2989         Script::Imperial_Aramaic), ('\u{10857}', '\u{10857}',  Script::Imperial_Aramaic),
2990        ('\u{10858}', '\u{1085f}',  Script::Imperial_Aramaic), ('\u{10860}', '\u{10876}',
2991         Script::Palmyrene), ('\u{10877}', '\u{10878}',  Script::Palmyrene), ('\u{10879}',
2992        '\u{1087f}',  Script::Palmyrene), ('\u{10880}', '\u{1089e}',  Script::Nabataean),
2993        ('\u{108a7}', '\u{108af}',  Script::Nabataean), ('\u{108e0}', '\u{108f2}',  Script::Hatran),
2994        ('\u{108f4}', '\u{108f5}',  Script::Hatran), ('\u{108fb}', '\u{108ff}',  Script::Hatran),
2995        ('\u{10900}', '\u{10915}',  Script::Phoenician), ('\u{10916}', '\u{1091b}',
2996         Script::Phoenician), ('\u{1091f}', '\u{1091f}',  Script::Phoenician), ('\u{10920}',
2997        '\u{10939}',  Script::Lydian), ('\u{1093f}', '\u{1093f}',  Script::Lydian), ('\u{10940}',
2998        '\u{10959}',  Script::Sidetic), ('\u{10980}', '\u{1099f}',  Script::Meroitic_Hieroglyphs),
2999        ('\u{109a0}', '\u{109b7}',  Script::Meroitic_Cursive), ('\u{109bc}', '\u{109bd}',
3000         Script::Meroitic_Cursive), ('\u{109be}', '\u{109bf}',  Script::Meroitic_Cursive),
3001        ('\u{109c0}', '\u{109cf}',  Script::Meroitic_Cursive), ('\u{109d2}', '\u{109ff}',
3002         Script::Meroitic_Cursive), ('\u{10a00}', '\u{10a00}',  Script::Kharoshthi), ('\u{10a01}',
3003        '\u{10a03}',  Script::Kharoshthi), ('\u{10a05}', '\u{10a06}',  Script::Kharoshthi),
3004        ('\u{10a0c}', '\u{10a0f}',  Script::Kharoshthi), ('\u{10a10}', '\u{10a13}',
3005         Script::Kharoshthi), ('\u{10a15}', '\u{10a17}',  Script::Kharoshthi), ('\u{10a19}',
3006        '\u{10a35}',  Script::Kharoshthi), ('\u{10a38}', '\u{10a3a}',  Script::Kharoshthi),
3007        ('\u{10a3f}', '\u{10a3f}',  Script::Kharoshthi), ('\u{10a40}', '\u{10a48}',
3008         Script::Kharoshthi), ('\u{10a50}', '\u{10a58}',  Script::Kharoshthi), ('\u{10a60}',
3009        '\u{10a7c}',  Script::Old_South_Arabian), ('\u{10a7d}', '\u{10a7e}',
3010         Script::Old_South_Arabian), ('\u{10a7f}', '\u{10a7f}',  Script::Old_South_Arabian),
3011        ('\u{10a80}', '\u{10a9c}',  Script::Old_North_Arabian), ('\u{10a9d}', '\u{10a9f}',
3012         Script::Old_North_Arabian), ('\u{10ac0}', '\u{10ac7}',  Script::Manichaean), ('\u{10ac8}',
3013        '\u{10ac8}',  Script::Manichaean), ('\u{10ac9}', '\u{10ae4}',  Script::Manichaean),
3014        ('\u{10ae5}', '\u{10ae6}',  Script::Manichaean), ('\u{10aeb}', '\u{10aef}',
3015         Script::Manichaean), ('\u{10af0}', '\u{10af6}',  Script::Manichaean), ('\u{10b00}',
3016        '\u{10b35}',  Script::Avestan), ('\u{10b39}', '\u{10b3f}',  Script::Avestan), ('\u{10b40}',
3017        '\u{10b55}',  Script::Inscriptional_Parthian), ('\u{10b58}', '\u{10b5f}',
3018         Script::Inscriptional_Parthian), ('\u{10b60}', '\u{10b72}',
3019         Script::Inscriptional_Pahlavi), ('\u{10b78}', '\u{10b7f}',  Script::Inscriptional_Pahlavi),
3020        ('\u{10b80}', '\u{10b91}',  Script::Psalter_Pahlavi), ('\u{10b99}', '\u{10b9c}',
3021         Script::Psalter_Pahlavi), ('\u{10ba9}', '\u{10baf}',  Script::Psalter_Pahlavi),
3022        ('\u{10c00}', '\u{10c48}',  Script::Old_Turkic), ('\u{10c80}', '\u{10cb2}',
3023         Script::Old_Hungarian), ('\u{10cc0}', '\u{10cf2}',  Script::Old_Hungarian), ('\u{10cfa}',
3024        '\u{10cff}',  Script::Old_Hungarian), ('\u{10d00}', '\u{10d23}',  Script::Hanifi_Rohingya),
3025        ('\u{10d24}', '\u{10d27}',  Script::Hanifi_Rohingya), ('\u{10d30}', '\u{10d39}',
3026         Script::Hanifi_Rohingya), ('\u{10d40}', '\u{10d49}',  Script::Garay), ('\u{10d4a}',
3027        '\u{10d4d}',  Script::Garay), ('\u{10d4e}', '\u{10d4e}',  Script::Garay), ('\u{10d4f}',
3028        '\u{10d4f}',  Script::Garay), ('\u{10d50}', '\u{10d65}',  Script::Garay), ('\u{10d69}',
3029        '\u{10d6d}',  Script::Garay), ('\u{10d6e}', '\u{10d6e}',  Script::Garay), ('\u{10d6f}',
3030        '\u{10d6f}',  Script::Garay), ('\u{10d70}', '\u{10d85}',  Script::Garay), ('\u{10d8e}',
3031        '\u{10d8f}',  Script::Garay), ('\u{10e60}', '\u{10e7e}',  Script::Arabic), ('\u{10e80}',
3032        '\u{10ea9}',  Script::Yezidi), ('\u{10eab}', '\u{10eac}',  Script::Yezidi), ('\u{10ead}',
3033        '\u{10ead}',  Script::Yezidi), ('\u{10eb0}', '\u{10eb1}',  Script::Yezidi), ('\u{10ec2}',
3034        '\u{10ec4}',  Script::Arabic), ('\u{10ec5}', '\u{10ec5}',  Script::Arabic), ('\u{10ec6}',
3035        '\u{10ec7}',  Script::Arabic), ('\u{10ed0}', '\u{10ed0}',  Script::Arabic), ('\u{10ed1}',
3036        '\u{10ed8}',  Script::Arabic), ('\u{10efa}', '\u{10eff}',  Script::Arabic), ('\u{10f00}',
3037        '\u{10f1c}',  Script::Old_Sogdian), ('\u{10f1d}', '\u{10f26}',  Script::Old_Sogdian),
3038        ('\u{10f27}', '\u{10f27}',  Script::Old_Sogdian), ('\u{10f30}', '\u{10f45}',
3039         Script::Sogdian), ('\u{10f46}', '\u{10f50}',  Script::Sogdian), ('\u{10f51}', '\u{10f54}',
3040         Script::Sogdian), ('\u{10f55}', '\u{10f59}',  Script::Sogdian), ('\u{10f70}', '\u{10f81}',
3041         Script::Old_Uyghur), ('\u{10f82}', '\u{10f85}',  Script::Old_Uyghur), ('\u{10f86}',
3042        '\u{10f89}',  Script::Old_Uyghur), ('\u{10fb0}', '\u{10fc4}',  Script::Chorasmian),
3043        ('\u{10fc5}', '\u{10fcb}',  Script::Chorasmian), ('\u{10fe0}', '\u{10ff6}',
3044         Script::Elymaic), ('\u{11000}', '\u{11000}',  Script::Brahmi), ('\u{11001}', '\u{11001}',
3045         Script::Brahmi), ('\u{11002}', '\u{11002}',  Script::Brahmi), ('\u{11003}', '\u{11037}',
3046         Script::Brahmi), ('\u{11038}', '\u{11046}',  Script::Brahmi), ('\u{11047}', '\u{1104d}',
3047         Script::Brahmi), ('\u{11052}', '\u{11065}',  Script::Brahmi), ('\u{11066}', '\u{1106f}',
3048         Script::Brahmi), ('\u{11070}', '\u{11070}',  Script::Brahmi), ('\u{11071}', '\u{11072}',
3049         Script::Brahmi), ('\u{11073}', '\u{11074}',  Script::Brahmi), ('\u{11075}', '\u{11075}',
3050         Script::Brahmi), ('\u{1107f}', '\u{1107f}',  Script::Brahmi), ('\u{11080}', '\u{11081}',
3051         Script::Kaithi), ('\u{11082}', '\u{11082}',  Script::Kaithi), ('\u{11083}', '\u{110af}',
3052         Script::Kaithi), ('\u{110b0}', '\u{110b2}',  Script::Kaithi), ('\u{110b3}', '\u{110b6}',
3053         Script::Kaithi), ('\u{110b7}', '\u{110b8}',  Script::Kaithi), ('\u{110b9}', '\u{110ba}',
3054         Script::Kaithi), ('\u{110bb}', '\u{110bc}',  Script::Kaithi), ('\u{110bd}', '\u{110bd}',
3055         Script::Kaithi), ('\u{110be}', '\u{110c1}',  Script::Kaithi), ('\u{110c2}', '\u{110c2}',
3056         Script::Kaithi), ('\u{110cd}', '\u{110cd}',  Script::Kaithi), ('\u{110d0}', '\u{110e8}',
3057         Script::Sora_Sompeng), ('\u{110f0}', '\u{110f9}',  Script::Sora_Sompeng), ('\u{11100}',
3058        '\u{11102}',  Script::Chakma), ('\u{11103}', '\u{11126}',  Script::Chakma), ('\u{11127}',
3059        '\u{1112b}',  Script::Chakma), ('\u{1112c}', '\u{1112c}',  Script::Chakma), ('\u{1112d}',
3060        '\u{11134}',  Script::Chakma), ('\u{11136}', '\u{1113f}',  Script::Chakma), ('\u{11140}',
3061        '\u{11143}',  Script::Chakma), ('\u{11144}', '\u{11144}',  Script::Chakma), ('\u{11145}',
3062        '\u{11146}',  Script::Chakma), ('\u{11147}', '\u{11147}',  Script::Chakma), ('\u{11150}',
3063        '\u{11172}',  Script::Mahajani), ('\u{11173}', '\u{11173}',  Script::Mahajani),
3064        ('\u{11174}', '\u{11175}',  Script::Mahajani), ('\u{11176}', '\u{11176}',
3065         Script::Mahajani), ('\u{11180}', '\u{11181}',  Script::Sharada), ('\u{11182}', '\u{11182}',
3066         Script::Sharada), ('\u{11183}', '\u{111b2}',  Script::Sharada), ('\u{111b3}', '\u{111b5}',
3067         Script::Sharada), ('\u{111b6}', '\u{111be}',  Script::Sharada), ('\u{111bf}', '\u{111c0}',
3068         Script::Sharada), ('\u{111c1}', '\u{111c4}',  Script::Sharada), ('\u{111c5}', '\u{111c8}',
3069         Script::Sharada), ('\u{111c9}', '\u{111cc}',  Script::Sharada), ('\u{111cd}', '\u{111cd}',
3070         Script::Sharada), ('\u{111ce}', '\u{111ce}',  Script::Sharada), ('\u{111cf}', '\u{111cf}',
3071         Script::Sharada), ('\u{111d0}', '\u{111d9}',  Script::Sharada), ('\u{111da}', '\u{111da}',
3072         Script::Sharada), ('\u{111db}', '\u{111db}',  Script::Sharada), ('\u{111dc}', '\u{111dc}',
3073         Script::Sharada), ('\u{111dd}', '\u{111df}',  Script::Sharada), ('\u{111e1}', '\u{111f4}',
3074         Script::Sinhala), ('\u{11200}', '\u{11211}',  Script::Khojki), ('\u{11213}', '\u{1122b}',
3075         Script::Khojki), ('\u{1122c}', '\u{1122e}',  Script::Khojki), ('\u{1122f}', '\u{11231}',
3076         Script::Khojki), ('\u{11232}', '\u{11233}',  Script::Khojki), ('\u{11234}', '\u{11234}',
3077         Script::Khojki), ('\u{11235}', '\u{11235}',  Script::Khojki), ('\u{11236}', '\u{11237}',
3078         Script::Khojki), ('\u{11238}', '\u{1123d}',  Script::Khojki), ('\u{1123e}', '\u{1123e}',
3079         Script::Khojki), ('\u{1123f}', '\u{11240}',  Script::Khojki), ('\u{11241}', '\u{11241}',
3080         Script::Khojki), ('\u{11280}', '\u{11286}',  Script::Multani), ('\u{11288}', '\u{11288}',
3081         Script::Multani), ('\u{1128a}', '\u{1128d}',  Script::Multani), ('\u{1128f}', '\u{1129d}',
3082         Script::Multani), ('\u{1129f}', '\u{112a8}',  Script::Multani), ('\u{112a9}', '\u{112a9}',
3083         Script::Multani), ('\u{112b0}', '\u{112de}',  Script::Khudawadi), ('\u{112df}',
3084        '\u{112df}',  Script::Khudawadi), ('\u{112e0}', '\u{112e2}',  Script::Khudawadi),
3085        ('\u{112e3}', '\u{112ea}',  Script::Khudawadi), ('\u{112f0}', '\u{112f9}',
3086         Script::Khudawadi), ('\u{11300}', '\u{11301}',  Script::Grantha), ('\u{11302}',
3087        '\u{11303}',  Script::Grantha), ('\u{11305}', '\u{1130c}',  Script::Grantha), ('\u{1130f}',
3088        '\u{11310}',  Script::Grantha), ('\u{11313}', '\u{11328}',  Script::Grantha), ('\u{1132a}',
3089        '\u{11330}',  Script::Grantha), ('\u{11332}', '\u{11333}',  Script::Grantha), ('\u{11335}',
3090        '\u{11339}',  Script::Grantha), ('\u{1133b}', '\u{1133b}',  Script::Inherited),
3091        ('\u{1133c}', '\u{1133c}',  Script::Grantha), ('\u{1133d}', '\u{1133d}',  Script::Grantha),
3092        ('\u{1133e}', '\u{1133f}',  Script::Grantha), ('\u{11340}', '\u{11340}',  Script::Grantha),
3093        ('\u{11341}', '\u{11344}',  Script::Grantha), ('\u{11347}', '\u{11348}',  Script::Grantha),
3094        ('\u{1134b}', '\u{1134d}',  Script::Grantha), ('\u{11350}', '\u{11350}',  Script::Grantha),
3095        ('\u{11357}', '\u{11357}',  Script::Grantha), ('\u{1135d}', '\u{11361}',  Script::Grantha),
3096        ('\u{11362}', '\u{11363}',  Script::Grantha), ('\u{11366}', '\u{1136c}',  Script::Grantha),
3097        ('\u{11370}', '\u{11374}',  Script::Grantha), ('\u{11380}', '\u{11389}',
3098         Script::Tulu_Tigalari), ('\u{1138b}', '\u{1138b}',  Script::Tulu_Tigalari), ('\u{1138e}',
3099        '\u{1138e}',  Script::Tulu_Tigalari), ('\u{11390}', '\u{113b5}',  Script::Tulu_Tigalari),
3100        ('\u{113b7}', '\u{113b7}',  Script::Tulu_Tigalari), ('\u{113b8}', '\u{113ba}',
3101         Script::Tulu_Tigalari), ('\u{113bb}', '\u{113c0}',  Script::Tulu_Tigalari), ('\u{113c2}',
3102        '\u{113c2}',  Script::Tulu_Tigalari), ('\u{113c5}', '\u{113c5}',  Script::Tulu_Tigalari),
3103        ('\u{113c7}', '\u{113ca}',  Script::Tulu_Tigalari), ('\u{113cc}', '\u{113cd}',
3104         Script::Tulu_Tigalari), ('\u{113ce}', '\u{113ce}',  Script::Tulu_Tigalari), ('\u{113cf}',
3105        '\u{113cf}',  Script::Tulu_Tigalari), ('\u{113d0}', '\u{113d0}',  Script::Tulu_Tigalari),
3106        ('\u{113d1}', '\u{113d1}',  Script::Tulu_Tigalari), ('\u{113d2}', '\u{113d2}',
3107         Script::Tulu_Tigalari), ('\u{113d3}', '\u{113d3}',  Script::Tulu_Tigalari), ('\u{113d4}',
3108        '\u{113d5}',  Script::Tulu_Tigalari), ('\u{113d7}', '\u{113d8}',  Script::Tulu_Tigalari),
3109        ('\u{113e1}', '\u{113e2}',  Script::Tulu_Tigalari), ('\u{11400}', '\u{11434}',
3110         Script::Newa), ('\u{11435}', '\u{11437}',  Script::Newa), ('\u{11438}', '\u{1143f}',
3111         Script::Newa), ('\u{11440}', '\u{11441}',  Script::Newa), ('\u{11442}', '\u{11444}',
3112         Script::Newa), ('\u{11445}', '\u{11445}',  Script::Newa), ('\u{11446}', '\u{11446}',
3113         Script::Newa), ('\u{11447}', '\u{1144a}',  Script::Newa), ('\u{1144b}', '\u{1144f}',
3114         Script::Newa), ('\u{11450}', '\u{11459}',  Script::Newa), ('\u{1145a}', '\u{1145b}',
3115         Script::Newa), ('\u{1145d}', '\u{1145d}',  Script::Newa), ('\u{1145e}', '\u{1145e}',
3116         Script::Newa), ('\u{1145f}', '\u{11461}',  Script::Newa), ('\u{11480}', '\u{114af}',
3117         Script::Tirhuta), ('\u{114b0}', '\u{114b2}',  Script::Tirhuta), ('\u{114b3}', '\u{114b8}',
3118         Script::Tirhuta), ('\u{114b9}', '\u{114b9}',  Script::Tirhuta), ('\u{114ba}', '\u{114ba}',
3119         Script::Tirhuta), ('\u{114bb}', '\u{114be}',  Script::Tirhuta), ('\u{114bf}', '\u{114c0}',
3120         Script::Tirhuta), ('\u{114c1}', '\u{114c1}',  Script::Tirhuta), ('\u{114c2}', '\u{114c3}',
3121         Script::Tirhuta), ('\u{114c4}', '\u{114c5}',  Script::Tirhuta), ('\u{114c6}', '\u{114c6}',
3122         Script::Tirhuta), ('\u{114c7}', '\u{114c7}',  Script::Tirhuta), ('\u{114d0}', '\u{114d9}',
3123         Script::Tirhuta), ('\u{11580}', '\u{115ae}',  Script::Siddham), ('\u{115af}', '\u{115b1}',
3124         Script::Siddham), ('\u{115b2}', '\u{115b5}',  Script::Siddham), ('\u{115b8}', '\u{115bb}',
3125         Script::Siddham), ('\u{115bc}', '\u{115bd}',  Script::Siddham), ('\u{115be}', '\u{115be}',
3126         Script::Siddham), ('\u{115bf}', '\u{115c0}',  Script::Siddham), ('\u{115c1}', '\u{115d7}',
3127         Script::Siddham), ('\u{115d8}', '\u{115db}',  Script::Siddham), ('\u{115dc}', '\u{115dd}',
3128         Script::Siddham), ('\u{11600}', '\u{1162f}',  Script::Modi), ('\u{11630}', '\u{11632}',
3129         Script::Modi), ('\u{11633}', '\u{1163a}',  Script::Modi), ('\u{1163b}', '\u{1163c}',
3130         Script::Modi), ('\u{1163d}', '\u{1163d}',  Script::Modi), ('\u{1163e}', '\u{1163e}',
3131         Script::Modi), ('\u{1163f}', '\u{11640}',  Script::Modi), ('\u{11641}', '\u{11643}',
3132         Script::Modi), ('\u{11644}', '\u{11644}',  Script::Modi), ('\u{11650}', '\u{11659}',
3133         Script::Modi), ('\u{11660}', '\u{1166c}',  Script::Mongolian), ('\u{11680}', '\u{116aa}',
3134         Script::Takri), ('\u{116ab}', '\u{116ab}',  Script::Takri), ('\u{116ac}', '\u{116ac}',
3135         Script::Takri), ('\u{116ad}', '\u{116ad}',  Script::Takri), ('\u{116ae}', '\u{116af}',
3136         Script::Takri), ('\u{116b0}', '\u{116b5}',  Script::Takri), ('\u{116b6}', '\u{116b6}',
3137         Script::Takri), ('\u{116b7}', '\u{116b7}',  Script::Takri), ('\u{116b8}', '\u{116b8}',
3138         Script::Takri), ('\u{116b9}', '\u{116b9}',  Script::Takri), ('\u{116c0}', '\u{116c9}',
3139         Script::Takri), ('\u{116d0}', '\u{116e3}',  Script::Myanmar), ('\u{11700}', '\u{1171a}',
3140         Script::Ahom), ('\u{1171d}', '\u{1171d}',  Script::Ahom), ('\u{1171e}', '\u{1171e}',
3141         Script::Ahom), ('\u{1171f}', '\u{1171f}',  Script::Ahom), ('\u{11720}', '\u{11721}',
3142         Script::Ahom), ('\u{11722}', '\u{11725}',  Script::Ahom), ('\u{11726}', '\u{11726}',
3143         Script::Ahom), ('\u{11727}', '\u{1172b}',  Script::Ahom), ('\u{11730}', '\u{11739}',
3144         Script::Ahom), ('\u{1173a}', '\u{1173b}',  Script::Ahom), ('\u{1173c}', '\u{1173e}',
3145         Script::Ahom), ('\u{1173f}', '\u{1173f}',  Script::Ahom), ('\u{11740}', '\u{11746}',
3146         Script::Ahom), ('\u{11800}', '\u{1182b}',  Script::Dogra), ('\u{1182c}', '\u{1182e}',
3147         Script::Dogra), ('\u{1182f}', '\u{11837}',  Script::Dogra), ('\u{11838}', '\u{11838}',
3148         Script::Dogra), ('\u{11839}', '\u{1183a}',  Script::Dogra), ('\u{1183b}', '\u{1183b}',
3149         Script::Dogra), ('\u{118a0}', '\u{118df}',  Script::Warang_Citi), ('\u{118e0}',
3150        '\u{118e9}',  Script::Warang_Citi), ('\u{118ea}', '\u{118f2}',  Script::Warang_Citi),
3151        ('\u{118ff}', '\u{118ff}',  Script::Warang_Citi), ('\u{11900}', '\u{11906}',
3152         Script::Dives_Akuru), ('\u{11909}', '\u{11909}',  Script::Dives_Akuru), ('\u{1190c}',
3153        '\u{11913}',  Script::Dives_Akuru), ('\u{11915}', '\u{11916}',  Script::Dives_Akuru),
3154        ('\u{11918}', '\u{1192f}',  Script::Dives_Akuru), ('\u{11930}', '\u{11935}',
3155         Script::Dives_Akuru), ('\u{11937}', '\u{11938}',  Script::Dives_Akuru), ('\u{1193b}',
3156        '\u{1193c}',  Script::Dives_Akuru), ('\u{1193d}', '\u{1193d}',  Script::Dives_Akuru),
3157        ('\u{1193e}', '\u{1193e}',  Script::Dives_Akuru), ('\u{1193f}', '\u{1193f}',
3158         Script::Dives_Akuru), ('\u{11940}', '\u{11940}',  Script::Dives_Akuru), ('\u{11941}',
3159        '\u{11941}',  Script::Dives_Akuru), ('\u{11942}', '\u{11942}',  Script::Dives_Akuru),
3160        ('\u{11943}', '\u{11943}',  Script::Dives_Akuru), ('\u{11944}', '\u{11946}',
3161         Script::Dives_Akuru), ('\u{11950}', '\u{11959}',  Script::Dives_Akuru), ('\u{119a0}',
3162        '\u{119a7}',  Script::Nandinagari), ('\u{119aa}', '\u{119d0}',  Script::Nandinagari),
3163        ('\u{119d1}', '\u{119d3}',  Script::Nandinagari), ('\u{119d4}', '\u{119d7}',
3164         Script::Nandinagari), ('\u{119da}', '\u{119db}',  Script::Nandinagari), ('\u{119dc}',
3165        '\u{119df}',  Script::Nandinagari), ('\u{119e0}', '\u{119e0}',  Script::Nandinagari),
3166        ('\u{119e1}', '\u{119e1}',  Script::Nandinagari), ('\u{119e2}', '\u{119e2}',
3167         Script::Nandinagari), ('\u{119e3}', '\u{119e3}',  Script::Nandinagari), ('\u{119e4}',
3168        '\u{119e4}',  Script::Nandinagari), ('\u{11a00}', '\u{11a00}',  Script::Zanabazar_Square),
3169        ('\u{11a01}', '\u{11a0a}',  Script::Zanabazar_Square), ('\u{11a0b}', '\u{11a32}',
3170         Script::Zanabazar_Square), ('\u{11a33}', '\u{11a38}',  Script::Zanabazar_Square),
3171        ('\u{11a39}', '\u{11a39}',  Script::Zanabazar_Square), ('\u{11a3a}', '\u{11a3a}',
3172         Script::Zanabazar_Square), ('\u{11a3b}', '\u{11a3e}',  Script::Zanabazar_Square),
3173        ('\u{11a3f}', '\u{11a46}',  Script::Zanabazar_Square), ('\u{11a47}', '\u{11a47}',
3174         Script::Zanabazar_Square), ('\u{11a50}', '\u{11a50}',  Script::Soyombo), ('\u{11a51}',
3175        '\u{11a56}',  Script::Soyombo), ('\u{11a57}', '\u{11a58}',  Script::Soyombo), ('\u{11a59}',
3176        '\u{11a5b}',  Script::Soyombo), ('\u{11a5c}', '\u{11a89}',  Script::Soyombo), ('\u{11a8a}',
3177        '\u{11a96}',  Script::Soyombo), ('\u{11a97}', '\u{11a97}',  Script::Soyombo), ('\u{11a98}',
3178        '\u{11a99}',  Script::Soyombo), ('\u{11a9a}', '\u{11a9c}',  Script::Soyombo), ('\u{11a9d}',
3179        '\u{11a9d}',  Script::Soyombo), ('\u{11a9e}', '\u{11aa2}',  Script::Soyombo), ('\u{11ab0}',
3180        '\u{11abf}',  Script::Canadian_Aboriginal), ('\u{11ac0}', '\u{11af8}',
3181         Script::Pau_Cin_Hau), ('\u{11b00}', '\u{11b09}',  Script::Devanagari), ('\u{11b60}',
3182        '\u{11b60}',  Script::Sharada), ('\u{11b61}', '\u{11b61}',  Script::Sharada), ('\u{11b62}',
3183        '\u{11b64}',  Script::Sharada), ('\u{11b65}', '\u{11b65}',  Script::Sharada), ('\u{11b66}',
3184        '\u{11b66}',  Script::Sharada), ('\u{11b67}', '\u{11b67}',  Script::Sharada), ('\u{11bc0}',
3185        '\u{11be0}',  Script::Sunuwar), ('\u{11be1}', '\u{11be1}',  Script::Sunuwar), ('\u{11bf0}',
3186        '\u{11bf9}',  Script::Sunuwar), ('\u{11c00}', '\u{11c08}',  Script::Bhaiksuki),
3187        ('\u{11c0a}', '\u{11c2e}',  Script::Bhaiksuki), ('\u{11c2f}', '\u{11c2f}',
3188         Script::Bhaiksuki), ('\u{11c30}', '\u{11c36}',  Script::Bhaiksuki), ('\u{11c38}',
3189        '\u{11c3d}',  Script::Bhaiksuki), ('\u{11c3e}', '\u{11c3e}',  Script::Bhaiksuki),
3190        ('\u{11c3f}', '\u{11c3f}',  Script::Bhaiksuki), ('\u{11c40}', '\u{11c40}',
3191         Script::Bhaiksuki), ('\u{11c41}', '\u{11c45}',  Script::Bhaiksuki), ('\u{11c50}',
3192        '\u{11c59}',  Script::Bhaiksuki), ('\u{11c5a}', '\u{11c6c}',  Script::Bhaiksuki),
3193        ('\u{11c70}', '\u{11c71}',  Script::Marchen), ('\u{11c72}', '\u{11c8f}',  Script::Marchen),
3194        ('\u{11c92}', '\u{11ca7}',  Script::Marchen), ('\u{11ca9}', '\u{11ca9}',  Script::Marchen),
3195        ('\u{11caa}', '\u{11cb0}',  Script::Marchen), ('\u{11cb1}', '\u{11cb1}',  Script::Marchen),
3196        ('\u{11cb2}', '\u{11cb3}',  Script::Marchen), ('\u{11cb4}', '\u{11cb4}',  Script::Marchen),
3197        ('\u{11cb5}', '\u{11cb6}',  Script::Marchen), ('\u{11d00}', '\u{11d06}',
3198         Script::Masaram_Gondi), ('\u{11d08}', '\u{11d09}',  Script::Masaram_Gondi), ('\u{11d0b}',
3199        '\u{11d30}',  Script::Masaram_Gondi), ('\u{11d31}', '\u{11d36}',  Script::Masaram_Gondi),
3200        ('\u{11d3a}', '\u{11d3a}',  Script::Masaram_Gondi), ('\u{11d3c}', '\u{11d3d}',
3201         Script::Masaram_Gondi), ('\u{11d3f}', '\u{11d45}',  Script::Masaram_Gondi), ('\u{11d46}',
3202        '\u{11d46}',  Script::Masaram_Gondi), ('\u{11d47}', '\u{11d47}',  Script::Masaram_Gondi),
3203        ('\u{11d50}', '\u{11d59}',  Script::Masaram_Gondi), ('\u{11d60}', '\u{11d65}',
3204         Script::Gunjala_Gondi), ('\u{11d67}', '\u{11d68}',  Script::Gunjala_Gondi), ('\u{11d6a}',
3205        '\u{11d89}',  Script::Gunjala_Gondi), ('\u{11d8a}', '\u{11d8e}',  Script::Gunjala_Gondi),
3206        ('\u{11d90}', '\u{11d91}',  Script::Gunjala_Gondi), ('\u{11d93}', '\u{11d94}',
3207         Script::Gunjala_Gondi), ('\u{11d95}', '\u{11d95}',  Script::Gunjala_Gondi), ('\u{11d96}',
3208        '\u{11d96}',  Script::Gunjala_Gondi), ('\u{11d97}', '\u{11d97}',  Script::Gunjala_Gondi),
3209        ('\u{11d98}', '\u{11d98}',  Script::Gunjala_Gondi), ('\u{11da0}', '\u{11da9}',
3210         Script::Gunjala_Gondi), ('\u{11db0}', '\u{11dd8}',  Script::Tolong_Siki), ('\u{11dd9}',
3211        '\u{11dd9}',  Script::Tolong_Siki), ('\u{11dda}', '\u{11ddb}',  Script::Tolong_Siki),
3212        ('\u{11de0}', '\u{11de9}',  Script::Tolong_Siki), ('\u{11ee0}', '\u{11ef2}',
3213         Script::Makasar), ('\u{11ef3}', '\u{11ef4}',  Script::Makasar), ('\u{11ef5}', '\u{11ef6}',
3214         Script::Makasar), ('\u{11ef7}', '\u{11ef8}',  Script::Makasar), ('\u{11f00}', '\u{11f01}',
3215         Script::Kawi), ('\u{11f02}', '\u{11f02}',  Script::Kawi), ('\u{11f03}', '\u{11f03}',
3216         Script::Kawi), ('\u{11f04}', '\u{11f10}',  Script::Kawi), ('\u{11f12}', '\u{11f33}',
3217         Script::Kawi), ('\u{11f34}', '\u{11f35}',  Script::Kawi), ('\u{11f36}', '\u{11f3a}',
3218         Script::Kawi), ('\u{11f3e}', '\u{11f3f}',  Script::Kawi), ('\u{11f40}', '\u{11f40}',
3219         Script::Kawi), ('\u{11f41}', '\u{11f41}',  Script::Kawi), ('\u{11f42}', '\u{11f42}',
3220         Script::Kawi), ('\u{11f43}', '\u{11f4f}',  Script::Kawi), ('\u{11f50}', '\u{11f59}',
3221         Script::Kawi), ('\u{11f5a}', '\u{11f5a}',  Script::Kawi), ('\u{11fb0}', '\u{11fb0}',
3222         Script::Lisu), ('\u{11fc0}', '\u{11fd4}',  Script::Tamil), ('\u{11fd5}', '\u{11fdc}',
3223         Script::Tamil), ('\u{11fdd}', '\u{11fe0}',  Script::Tamil), ('\u{11fe1}', '\u{11ff1}',
3224         Script::Tamil), ('\u{11fff}', '\u{11fff}',  Script::Tamil), ('\u{12000}', '\u{12399}',
3225         Script::Cuneiform), ('\u{12400}', '\u{1246e}',  Script::Cuneiform), ('\u{12470}',
3226        '\u{12474}',  Script::Cuneiform), ('\u{12480}', '\u{12543}',  Script::Cuneiform),
3227        ('\u{12f90}', '\u{12ff0}',  Script::Cypro_Minoan), ('\u{12ff1}', '\u{12ff2}',
3228         Script::Cypro_Minoan), ('\u{13000}', '\u{1342f}',  Script::Egyptian_Hieroglyphs),
3229        ('\u{13430}', '\u{1343f}',  Script::Egyptian_Hieroglyphs), ('\u{13440}', '\u{13440}',
3230         Script::Egyptian_Hieroglyphs), ('\u{13441}', '\u{13446}',  Script::Egyptian_Hieroglyphs),
3231        ('\u{13447}', '\u{13455}',  Script::Egyptian_Hieroglyphs), ('\u{13460}', '\u{143fa}',
3232         Script::Egyptian_Hieroglyphs), ('\u{14400}', '\u{14646}',  Script::Anatolian_Hieroglyphs),
3233        ('\u{16100}', '\u{1611d}',  Script::Gurung_Khema), ('\u{1611e}', '\u{16129}',
3234         Script::Gurung_Khema), ('\u{1612a}', '\u{1612c}',  Script::Gurung_Khema), ('\u{1612d}',
3235        '\u{1612f}',  Script::Gurung_Khema), ('\u{16130}', '\u{16139}',  Script::Gurung_Khema),
3236        ('\u{16800}', '\u{16a38}',  Script::Bamum), ('\u{16a40}', '\u{16a5e}',  Script::Mro),
3237        ('\u{16a60}', '\u{16a69}',  Script::Mro), ('\u{16a6e}', '\u{16a6f}',  Script::Mro),
3238        ('\u{16a70}', '\u{16abe}',  Script::Tangsa), ('\u{16ac0}', '\u{16ac9}',  Script::Tangsa),
3239        ('\u{16ad0}', '\u{16aed}',  Script::Bassa_Vah), ('\u{16af0}', '\u{16af4}',
3240         Script::Bassa_Vah), ('\u{16af5}', '\u{16af5}',  Script::Bassa_Vah), ('\u{16b00}',
3241        '\u{16b2f}',  Script::Pahawh_Hmong), ('\u{16b30}', '\u{16b36}',  Script::Pahawh_Hmong),
3242        ('\u{16b37}', '\u{16b3b}',  Script::Pahawh_Hmong), ('\u{16b3c}', '\u{16b3f}',
3243         Script::Pahawh_Hmong), ('\u{16b40}', '\u{16b43}',  Script::Pahawh_Hmong), ('\u{16b44}',
3244        '\u{16b44}',  Script::Pahawh_Hmong), ('\u{16b45}', '\u{16b45}',  Script::Pahawh_Hmong),
3245        ('\u{16b50}', '\u{16b59}',  Script::Pahawh_Hmong), ('\u{16b5b}', '\u{16b61}',
3246         Script::Pahawh_Hmong), ('\u{16b63}', '\u{16b77}',  Script::Pahawh_Hmong), ('\u{16b7d}',
3247        '\u{16b8f}',  Script::Pahawh_Hmong), ('\u{16d40}', '\u{16d42}',  Script::Kirat_Rai),
3248        ('\u{16d43}', '\u{16d6a}',  Script::Kirat_Rai), ('\u{16d6b}', '\u{16d6c}',
3249         Script::Kirat_Rai), ('\u{16d6d}', '\u{16d6f}',  Script::Kirat_Rai), ('\u{16d70}',
3250        '\u{16d79}',  Script::Kirat_Rai), ('\u{16e40}', '\u{16e7f}',  Script::Medefaidrin),
3251        ('\u{16e80}', '\u{16e96}',  Script::Medefaidrin), ('\u{16e97}', '\u{16e9a}',
3252         Script::Medefaidrin), ('\u{16ea0}', '\u{16eb8}',  Script::Beria_Erfe), ('\u{16ebb}',
3253        '\u{16ed3}',  Script::Beria_Erfe), ('\u{16f00}', '\u{16f4a}',  Script::Miao), ('\u{16f4f}',
3254        '\u{16f4f}',  Script::Miao), ('\u{16f50}', '\u{16f50}',  Script::Miao), ('\u{16f51}',
3255        '\u{16f87}',  Script::Miao), ('\u{16f8f}', '\u{16f92}',  Script::Miao), ('\u{16f93}',
3256        '\u{16f9f}',  Script::Miao), ('\u{16fe0}', '\u{16fe0}',  Script::Tangut), ('\u{16fe1}',
3257        '\u{16fe1}',  Script::Nushu), ('\u{16fe2}', '\u{16fe2}',  Script::Han), ('\u{16fe3}',
3258        '\u{16fe3}',  Script::Han), ('\u{16fe4}', '\u{16fe4}',  Script::Khitan_Small_Script),
3259        ('\u{16ff0}', '\u{16ff1}',  Script::Han), ('\u{16ff2}', '\u{16ff3}',  Script::Han),
3260        ('\u{16ff4}', '\u{16ff6}',  Script::Han), ('\u{17000}', '\u{18aff}',  Script::Tangut),
3261        ('\u{18b00}', '\u{18cd5}',  Script::Khitan_Small_Script), ('\u{18cff}', '\u{18cff}',
3262         Script::Khitan_Small_Script), ('\u{18d00}', '\u{18d1e}',  Script::Tangut), ('\u{18d80}',
3263        '\u{18df2}',  Script::Tangut), ('\u{1aff0}', '\u{1aff3}',  Script::Katakana), ('\u{1aff5}',
3264        '\u{1affb}',  Script::Katakana), ('\u{1affd}', '\u{1affe}',  Script::Katakana),
3265        ('\u{1b000}', '\u{1b000}',  Script::Katakana), ('\u{1b001}', '\u{1b11f}',
3266         Script::Hiragana), ('\u{1b120}', '\u{1b122}',  Script::Katakana), ('\u{1b132}',
3267        '\u{1b132}',  Script::Hiragana), ('\u{1b150}', '\u{1b152}',  Script::Hiragana),
3268        ('\u{1b155}', '\u{1b155}',  Script::Katakana), ('\u{1b164}', '\u{1b167}',
3269         Script::Katakana), ('\u{1b170}', '\u{1b2fb}',  Script::Nushu), ('\u{1bc00}', '\u{1bc6a}',
3270         Script::Duployan), ('\u{1bc70}', '\u{1bc7c}',  Script::Duployan), ('\u{1bc80}',
3271        '\u{1bc88}',  Script::Duployan), ('\u{1bc90}', '\u{1bc99}',  Script::Duployan),
3272        ('\u{1bc9c}', '\u{1bc9c}',  Script::Duployan), ('\u{1bc9d}', '\u{1bc9e}',
3273         Script::Duployan), ('\u{1bc9f}', '\u{1bc9f}',  Script::Duployan), ('\u{1bca0}',
3274        '\u{1bca3}',  Script::Common), ('\u{1cc00}', '\u{1ccef}',  Script::Common), ('\u{1ccf0}',
3275        '\u{1ccf9}',  Script::Common), ('\u{1ccfa}', '\u{1ccfc}',  Script::Common), ('\u{1cd00}',
3276        '\u{1ceb3}',  Script::Common), ('\u{1ceba}', '\u{1ced0}',  Script::Common), ('\u{1cee0}',
3277        '\u{1ceef}',  Script::Common), ('\u{1cef0}', '\u{1cef0}',  Script::Common), ('\u{1cf00}',
3278        '\u{1cf2d}',  Script::Inherited), ('\u{1cf30}', '\u{1cf46}',  Script::Inherited),
3279        ('\u{1cf50}', '\u{1cfc3}',  Script::Common), ('\u{1d000}', '\u{1d0f5}',  Script::Common),
3280        ('\u{1d100}', '\u{1d126}',  Script::Common), ('\u{1d129}', '\u{1d164}',  Script::Common),
3281        ('\u{1d165}', '\u{1d166}',  Script::Common), ('\u{1d167}', '\u{1d169}',  Script::Inherited),
3282        ('\u{1d16a}', '\u{1d16c}',  Script::Common), ('\u{1d16d}', '\u{1d172}',  Script::Common),
3283        ('\u{1d173}', '\u{1d17a}',  Script::Common), ('\u{1d17b}', '\u{1d182}',  Script::Inherited),
3284        ('\u{1d183}', '\u{1d184}',  Script::Common), ('\u{1d185}', '\u{1d18b}',  Script::Inherited),
3285        ('\u{1d18c}', '\u{1d1a9}',  Script::Common), ('\u{1d1aa}', '\u{1d1ad}',  Script::Inherited),
3286        ('\u{1d1ae}', '\u{1d1ea}',  Script::Common), ('\u{1d200}', '\u{1d241}',  Script::Greek),
3287        ('\u{1d242}', '\u{1d244}',  Script::Greek), ('\u{1d245}', '\u{1d245}',  Script::Greek),
3288        ('\u{1d2c0}', '\u{1d2d3}',  Script::Common), ('\u{1d2e0}', '\u{1d2f3}',  Script::Common),
3289        ('\u{1d300}', '\u{1d356}',  Script::Common), ('\u{1d360}', '\u{1d378}',  Script::Common),
3290        ('\u{1d400}', '\u{1d454}',  Script::Common), ('\u{1d456}', '\u{1d49c}',  Script::Common),
3291        ('\u{1d49e}', '\u{1d49f}',  Script::Common), ('\u{1d4a2}', '\u{1d4a2}',  Script::Common),
3292        ('\u{1d4a5}', '\u{1d4a6}',  Script::Common), ('\u{1d4a9}', '\u{1d4ac}',  Script::Common),
3293        ('\u{1d4ae}', '\u{1d4b9}',  Script::Common), ('\u{1d4bb}', '\u{1d4bb}',  Script::Common),
3294        ('\u{1d4bd}', '\u{1d4c3}',  Script::Common), ('\u{1d4c5}', '\u{1d505}',  Script::Common),
3295        ('\u{1d507}', '\u{1d50a}',  Script::Common), ('\u{1d50d}', '\u{1d514}',  Script::Common),
3296        ('\u{1d516}', '\u{1d51c}',  Script::Common), ('\u{1d51e}', '\u{1d539}',  Script::Common),
3297        ('\u{1d53b}', '\u{1d53e}',  Script::Common), ('\u{1d540}', '\u{1d544}',  Script::Common),
3298        ('\u{1d546}', '\u{1d546}',  Script::Common), ('\u{1d54a}', '\u{1d550}',  Script::Common),
3299        ('\u{1d552}', '\u{1d6a5}',  Script::Common), ('\u{1d6a8}', '\u{1d6c0}',  Script::Common),
3300        ('\u{1d6c1}', '\u{1d6c1}',  Script::Common), ('\u{1d6c2}', '\u{1d6da}',  Script::Common),
3301        ('\u{1d6db}', '\u{1d6db}',  Script::Common), ('\u{1d6dc}', '\u{1d6fa}',  Script::Common),
3302        ('\u{1d6fb}', '\u{1d6fb}',  Script::Common), ('\u{1d6fc}', '\u{1d714}',  Script::Common),
3303        ('\u{1d715}', '\u{1d715}',  Script::Common), ('\u{1d716}', '\u{1d734}',  Script::Common),
3304        ('\u{1d735}', '\u{1d735}',  Script::Common), ('\u{1d736}', '\u{1d74e}',  Script::Common),
3305        ('\u{1d74f}', '\u{1d74f}',  Script::Common), ('\u{1d750}', '\u{1d76e}',  Script::Common),
3306        ('\u{1d76f}', '\u{1d76f}',  Script::Common), ('\u{1d770}', '\u{1d788}',  Script::Common),
3307        ('\u{1d789}', '\u{1d789}',  Script::Common), ('\u{1d78a}', '\u{1d7a8}',  Script::Common),
3308        ('\u{1d7a9}', '\u{1d7a9}',  Script::Common), ('\u{1d7aa}', '\u{1d7c2}',  Script::Common),
3309        ('\u{1d7c3}', '\u{1d7c3}',  Script::Common), ('\u{1d7c4}', '\u{1d7cb}',  Script::Common),
3310        ('\u{1d7ce}', '\u{1d7ff}',  Script::Common), ('\u{1d800}', '\u{1d9ff}',
3311         Script::SignWriting), ('\u{1da00}', '\u{1da36}',  Script::SignWriting), ('\u{1da37}',
3312        '\u{1da3a}',  Script::SignWriting), ('\u{1da3b}', '\u{1da6c}',  Script::SignWriting),
3313        ('\u{1da6d}', '\u{1da74}',  Script::SignWriting), ('\u{1da75}', '\u{1da75}',
3314         Script::SignWriting), ('\u{1da76}', '\u{1da83}',  Script::SignWriting), ('\u{1da84}',
3315        '\u{1da84}',  Script::SignWriting), ('\u{1da85}', '\u{1da86}',  Script::SignWriting),
3316        ('\u{1da87}', '\u{1da8b}',  Script::SignWriting), ('\u{1da9b}', '\u{1da9f}',
3317         Script::SignWriting), ('\u{1daa1}', '\u{1daaf}',  Script::SignWriting), ('\u{1df00}',
3318        '\u{1df09}',  Script::Latin), ('\u{1df0a}', '\u{1df0a}',  Script::Latin), ('\u{1df0b}',
3319        '\u{1df1e}',  Script::Latin), ('\u{1df25}', '\u{1df2a}',  Script::Latin), ('\u{1e000}',
3320        '\u{1e006}',  Script::Glagolitic), ('\u{1e008}', '\u{1e018}',  Script::Glagolitic),
3321        ('\u{1e01b}', '\u{1e021}',  Script::Glagolitic), ('\u{1e023}', '\u{1e024}',
3322         Script::Glagolitic), ('\u{1e026}', '\u{1e02a}',  Script::Glagolitic), ('\u{1e030}',
3323        '\u{1e06d}',  Script::Cyrillic), ('\u{1e08f}', '\u{1e08f}',  Script::Cyrillic),
3324        ('\u{1e100}', '\u{1e12c}',  Script::Nyiakeng_Puachue_Hmong), ('\u{1e130}', '\u{1e136}',
3325         Script::Nyiakeng_Puachue_Hmong), ('\u{1e137}', '\u{1e13d}',
3326         Script::Nyiakeng_Puachue_Hmong), ('\u{1e140}', '\u{1e149}',
3327         Script::Nyiakeng_Puachue_Hmong), ('\u{1e14e}', '\u{1e14e}',
3328         Script::Nyiakeng_Puachue_Hmong), ('\u{1e14f}', '\u{1e14f}',
3329         Script::Nyiakeng_Puachue_Hmong), ('\u{1e290}', '\u{1e2ad}',  Script::Toto), ('\u{1e2ae}',
3330        '\u{1e2ae}',  Script::Toto), ('\u{1e2c0}', '\u{1e2eb}',  Script::Wancho), ('\u{1e2ec}',
3331        '\u{1e2ef}',  Script::Wancho), ('\u{1e2f0}', '\u{1e2f9}',  Script::Wancho), ('\u{1e2ff}',
3332        '\u{1e2ff}',  Script::Wancho), ('\u{1e4d0}', '\u{1e4ea}',  Script::Nag_Mundari),
3333        ('\u{1e4eb}', '\u{1e4eb}',  Script::Nag_Mundari), ('\u{1e4ec}', '\u{1e4ef}',
3334         Script::Nag_Mundari), ('\u{1e4f0}', '\u{1e4f9}',  Script::Nag_Mundari), ('\u{1e5d0}',
3335        '\u{1e5ed}',  Script::Ol_Onal), ('\u{1e5ee}', '\u{1e5ef}',  Script::Ol_Onal), ('\u{1e5f0}',
3336        '\u{1e5f0}',  Script::Ol_Onal), ('\u{1e5f1}', '\u{1e5fa}',  Script::Ol_Onal), ('\u{1e5ff}',
3337        '\u{1e5ff}',  Script::Ol_Onal), ('\u{1e6c0}', '\u{1e6de}',  Script::Tai_Yo), ('\u{1e6e0}',
3338        '\u{1e6e2}',  Script::Tai_Yo), ('\u{1e6e3}', '\u{1e6e3}',  Script::Tai_Yo), ('\u{1e6e4}',
3339        '\u{1e6e5}',  Script::Tai_Yo), ('\u{1e6e6}', '\u{1e6e6}',  Script::Tai_Yo), ('\u{1e6e7}',
3340        '\u{1e6ed}',  Script::Tai_Yo), ('\u{1e6ee}', '\u{1e6ef}',  Script::Tai_Yo), ('\u{1e6f0}',
3341        '\u{1e6f4}',  Script::Tai_Yo), ('\u{1e6f5}', '\u{1e6f5}',  Script::Tai_Yo), ('\u{1e6fe}',
3342        '\u{1e6fe}',  Script::Tai_Yo), ('\u{1e6ff}', '\u{1e6ff}',  Script::Tai_Yo), ('\u{1e7e0}',
3343        '\u{1e7e6}',  Script::Ethiopic), ('\u{1e7e8}', '\u{1e7eb}',  Script::Ethiopic),
3344        ('\u{1e7ed}', '\u{1e7ee}',  Script::Ethiopic), ('\u{1e7f0}', '\u{1e7fe}',
3345         Script::Ethiopic), ('\u{1e800}', '\u{1e8c4}',  Script::Mende_Kikakui), ('\u{1e8c7}',
3346        '\u{1e8cf}',  Script::Mende_Kikakui), ('\u{1e8d0}', '\u{1e8d6}',  Script::Mende_Kikakui),
3347        ('\u{1e900}', '\u{1e943}',  Script::Adlam), ('\u{1e944}', '\u{1e94a}',  Script::Adlam),
3348        ('\u{1e94b}', '\u{1e94b}',  Script::Adlam), ('\u{1e950}', '\u{1e959}',  Script::Adlam),
3349        ('\u{1e95e}', '\u{1e95f}',  Script::Adlam), ('\u{1ec71}', '\u{1ecab}',  Script::Common),
3350        ('\u{1ecac}', '\u{1ecac}',  Script::Common), ('\u{1ecad}', '\u{1ecaf}',  Script::Common),
3351        ('\u{1ecb0}', '\u{1ecb0}',  Script::Common), ('\u{1ecb1}', '\u{1ecb4}',  Script::Common),
3352        ('\u{1ed01}', '\u{1ed2d}',  Script::Common), ('\u{1ed2e}', '\u{1ed2e}',  Script::Common),
3353        ('\u{1ed2f}', '\u{1ed3d}',  Script::Common), ('\u{1ee00}', '\u{1ee03}',  Script::Arabic),
3354        ('\u{1ee05}', '\u{1ee1f}',  Script::Arabic), ('\u{1ee21}', '\u{1ee22}',  Script::Arabic),
3355        ('\u{1ee24}', '\u{1ee24}',  Script::Arabic), ('\u{1ee27}', '\u{1ee27}',  Script::Arabic),
3356        ('\u{1ee29}', '\u{1ee32}',  Script::Arabic), ('\u{1ee34}', '\u{1ee37}',  Script::Arabic),
3357        ('\u{1ee39}', '\u{1ee39}',  Script::Arabic), ('\u{1ee3b}', '\u{1ee3b}',  Script::Arabic),
3358        ('\u{1ee42}', '\u{1ee42}',  Script::Arabic), ('\u{1ee47}', '\u{1ee47}',  Script::Arabic),
3359        ('\u{1ee49}', '\u{1ee49}',  Script::Arabic), ('\u{1ee4b}', '\u{1ee4b}',  Script::Arabic),
3360        ('\u{1ee4d}', '\u{1ee4f}',  Script::Arabic), ('\u{1ee51}', '\u{1ee52}',  Script::Arabic),
3361        ('\u{1ee54}', '\u{1ee54}',  Script::Arabic), ('\u{1ee57}', '\u{1ee57}',  Script::Arabic),
3362        ('\u{1ee59}', '\u{1ee59}',  Script::Arabic), ('\u{1ee5b}', '\u{1ee5b}',  Script::Arabic),
3363        ('\u{1ee5d}', '\u{1ee5d}',  Script::Arabic), ('\u{1ee5f}', '\u{1ee5f}',  Script::Arabic),
3364        ('\u{1ee61}', '\u{1ee62}',  Script::Arabic), ('\u{1ee64}', '\u{1ee64}',  Script::Arabic),
3365        ('\u{1ee67}', '\u{1ee6a}',  Script::Arabic), ('\u{1ee6c}', '\u{1ee72}',  Script::Arabic),
3366        ('\u{1ee74}', '\u{1ee77}',  Script::Arabic), ('\u{1ee79}', '\u{1ee7c}',  Script::Arabic),
3367        ('\u{1ee7e}', '\u{1ee7e}',  Script::Arabic), ('\u{1ee80}', '\u{1ee89}',  Script::Arabic),
3368        ('\u{1ee8b}', '\u{1ee9b}',  Script::Arabic), ('\u{1eea1}', '\u{1eea3}',  Script::Arabic),
3369        ('\u{1eea5}', '\u{1eea9}',  Script::Arabic), ('\u{1eeab}', '\u{1eebb}',  Script::Arabic),
3370        ('\u{1eef0}', '\u{1eef1}',  Script::Arabic), ('\u{1f000}', '\u{1f02b}',  Script::Common),
3371        ('\u{1f030}', '\u{1f093}',  Script::Common), ('\u{1f0a0}', '\u{1f0ae}',  Script::Common),
3372        ('\u{1f0b1}', '\u{1f0bf}',  Script::Common), ('\u{1f0c1}', '\u{1f0cf}',  Script::Common),
3373        ('\u{1f0d1}', '\u{1f0f5}',  Script::Common), ('\u{1f100}', '\u{1f10c}',  Script::Common),
3374        ('\u{1f10d}', '\u{1f1ad}',  Script::Common), ('\u{1f1e6}', '\u{1f1ff}',  Script::Common),
3375        ('\u{1f200}', '\u{1f200}',  Script::Hiragana), ('\u{1f201}', '\u{1f202}',  Script::Common),
3376        ('\u{1f210}', '\u{1f23b}',  Script::Common), ('\u{1f240}', '\u{1f248}',  Script::Common),
3377        ('\u{1f250}', '\u{1f251}',  Script::Common), ('\u{1f260}', '\u{1f265}',  Script::Common),
3378        ('\u{1f300}', '\u{1f3fa}',  Script::Common), ('\u{1f3fb}', '\u{1f3ff}',  Script::Common),
3379        ('\u{1f400}', '\u{1f6d8}',  Script::Common), ('\u{1f6dc}', '\u{1f6ec}',  Script::Common),
3380        ('\u{1f6f0}', '\u{1f6fc}',  Script::Common), ('\u{1f700}', '\u{1f7d9}',  Script::Common),
3381        ('\u{1f7e0}', '\u{1f7eb}',  Script::Common), ('\u{1f7f0}', '\u{1f7f0}',  Script::Common),
3382        ('\u{1f800}', '\u{1f80b}',  Script::Common), ('\u{1f810}', '\u{1f847}',  Script::Common),
3383        ('\u{1f850}', '\u{1f859}',  Script::Common), ('\u{1f860}', '\u{1f887}',  Script::Common),
3384        ('\u{1f890}', '\u{1f8ad}',  Script::Common), ('\u{1f8b0}', '\u{1f8bb}',  Script::Common),
3385        ('\u{1f8c0}', '\u{1f8c1}',  Script::Common), ('\u{1f8d0}', '\u{1f8d8}',  Script::Common),
3386        ('\u{1f900}', '\u{1fa57}',  Script::Common), ('\u{1fa60}', '\u{1fa6d}',  Script::Common),
3387        ('\u{1fa70}', '\u{1fa7c}',  Script::Common), ('\u{1fa80}', '\u{1fa8a}',  Script::Common),
3388        ('\u{1fa8e}', '\u{1fac6}',  Script::Common), ('\u{1fac8}', '\u{1fac8}',  Script::Common),
3389        ('\u{1facd}', '\u{1fadc}',  Script::Common), ('\u{1fadf}', '\u{1faea}',  Script::Common),
3390        ('\u{1faef}', '\u{1faf8}',  Script::Common), ('\u{1fb00}', '\u{1fb92}',  Script::Common),
3391        ('\u{1fb94}', '\u{1fbef}',  Script::Common), ('\u{1fbf0}', '\u{1fbf9}',  Script::Common),
3392        ('\u{1fbfa}', '\u{1fbfa}',  Script::Common), ('\u{20000}', '\u{2a6df}',  Script::Han),
3393        ('\u{2a700}', '\u{2b81d}',  Script::Han), ('\u{2b820}', '\u{2cead}',  Script::Han),
3394        ('\u{2ceb0}', '\u{2ebe0}',  Script::Han), ('\u{2ebf0}', '\u{2ee5d}',  Script::Han),
3395        ('\u{2f800}', '\u{2fa1d}',  Script::Han), ('\u{30000}', '\u{3134a}',  Script::Han),
3396        ('\u{31350}', '\u{33479}',  Script::Han), ('\u{e0001}', '\u{e0001}',  Script::Common),
3397        ('\u{e0020}', '\u{e007f}',  Script::Common), ('\u{e0100}', '\u{e01ef}',  Script::Inherited)
3398    ];
3399
3400    const SCRIPT_EXTENSIONS: &'static [(char, char, ScriptExtension)] = &[
3401        ('\u{b7}', '\u{b7}',
3402        script_extensions::AVST_CARI_COPT_DUPL_ELBA_GEOR_GLAG_GONG_GOTH_GREK_HANI_LATN_LYDI_MAHJ_PERM_SHAW),
3403        ('\u{2bc}', '\u{2bc}', script_extensions::BENG_CYRL_DEVA_LATN_LISU_THAI_TOTO), ('\u{2c7}',
3404        '\u{2c7}', script_extensions::BOPO_LATN), ('\u{2c9}', '\u{2cb}',
3405        script_extensions::BOPO_LATN), ('\u{2cd}', '\u{2cd}', script_extensions::LATN_LISU),
3406        ('\u{2d7}', '\u{2d7}', script_extensions::LATN_THAI), ('\u{2d9}', '\u{2d9}',
3407        script_extensions::BOPO_LATN), ('\u{300}', '\u{300}',
3408        script_extensions::CHER_COPT_CYRL_GREK_LATN_PERM_SUNU_TALE), ('\u{301}', '\u{301}',
3409        script_extensions::CHER_CYRL_GREK_LATN_OSGE_SUNU_TALE_TODR), ('\u{302}', '\u{302}',
3410        script_extensions::CHER_CYRL_LATN_TFNG), ('\u{303}', '\u{303}',
3411        script_extensions::GLAG_LATN_SUNU_SYRC_THAI), ('\u{304}', '\u{304}',
3412        script_extensions::AGHB_CHER_COPT_CYRL_GOTH_GREK_LATN_OSGE_SYRC_TFNG_TODR), ('\u{305}',
3413        '\u{305}', script_extensions::COPT_ELBA_GLAG_GOTH_KANA_LATN), ('\u{306}', '\u{306}',
3414        script_extensions::CYRL_GREK_LATN_PERM_TFNG), ('\u{307}', '\u{307}',
3415        script_extensions::COPT_DUPL_HEBR_LATN_PERM_SYRC_TALE_TFNG_TODR), ('\u{308}', '\u{308}',
3416        script_extensions::ARMN_CYRL_DUPL_GOTH_GREK_HEBR_LATN_PERM_SYRC_TALE_TFNG), ('\u{309}',
3417        '\u{309}', script_extensions::LATN_TFNG), ('\u{30a}', '\u{30a}',
3418        script_extensions::DUPL_LATN_SYRC), ('\u{30b}', '\u{30b}',
3419        script_extensions::CHER_CYRL_LATN_OSGE), ('\u{30c}', '\u{30c}',
3420        script_extensions::CHER_LATN_TALE), ('\u{30d}', '\u{30d}', script_extensions::LATN_SUNU),
3421        ('\u{30e}', '\u{30e}', script_extensions::ETHI_LATN), ('\u{310}', '\u{310}',
3422        script_extensions::LATN_SUNU), ('\u{311}', '\u{311}', script_extensions::CYRL_LATN_TODR),
3423        ('\u{313}', '\u{313}', script_extensions::GREK_LATN_PERM_TODR), ('\u{323}', '\u{323}',
3424        script_extensions::CHER_DUPL_KANA_LATN_SYRC_TFNG), ('\u{324}', '\u{324}',
3425        script_extensions::CHER_DUPL_LATN_SYRC), ('\u{325}', '\u{325}',
3426        script_extensions::LATN_SYRC), ('\u{32d}', '\u{32d}', script_extensions::LATN_SUNU_SYRC),
3427        ('\u{32e}', '\u{32e}', script_extensions::LATN_SYRC), ('\u{330}', '\u{330}',
3428        script_extensions::CHER_LATN_SYRC), ('\u{331}', '\u{331}',
3429        script_extensions::AGHB_CHER_GOTH_LATN_SUNU_SYRC_THAI), ('\u{342}', '\u{342}',
3430        script_extensions::GREK), ('\u{345}', '\u{345}', script_extensions::GREK), ('\u{358}',
3431        '\u{358}', script_extensions::LATN_OSGE), ('\u{35e}', '\u{35e}',
3432        script_extensions::AGHB_LATN_TODR), ('\u{363}', '\u{36f}', script_extensions::LATN),
3433        ('\u{374}', '\u{374}', script_extensions::COPT_GREK), ('\u{375}', '\u{375}',
3434        script_extensions::COPT_GREK), ('\u{483}', '\u{483}', script_extensions::CYRL_PERM),
3435        ('\u{484}', '\u{484}', script_extensions::CYRL_GLAG), ('\u{485}', '\u{486}',
3436        script_extensions::CYRL_LATN), ('\u{487}', '\u{487}', script_extensions::CYRL_GLAG),
3437        ('\u{589}', '\u{589}', script_extensions::ARMN_GEOR_GLAG), ('\u{60c}', '\u{60c}',
3438        script_extensions::ARAB_GARA_NKOO_ROHG_SYRC_THAA_YEZI), ('\u{61b}', '\u{61b}',
3439        script_extensions::ARAB_GARA_NKOO_ROHG_SYRC_THAA_YEZI), ('\u{61c}', '\u{61c}',
3440        script_extensions::ARAB_SYRC_THAA), ('\u{61f}', '\u{61f}',
3441        script_extensions::ADLM_ARAB_GARA_NKOO_ROHG_SYRC_THAA_YEZI), ('\u{640}', '\u{640}',
3442        script_extensions::ADLM_ARAB_MAND_MANI_OUGR_PHLP_ROHG_SOGD_SYRC), ('\u{64b}', '\u{655}',
3443        script_extensions::ARAB_SYRC), ('\u{660}', '\u{669}', script_extensions::ARAB_THAA_YEZI),
3444        ('\u{670}', '\u{670}', script_extensions::ARAB_SYRC), ('\u{6d4}', '\u{6d4}',
3445        script_extensions::ARAB_ROHG), ('\u{951}', '\u{951}',
3446        script_extensions::BENG_DEVA_GRAN_GUJR_GURU_KNDA_LATN_MLYM_NAND_NEWA_ORYA_SHRD_TAML_TELU_TIRH),
3447        ('\u{952}', '\u{952}',
3448        script_extensions::BENG_DEVA_GRAN_GUJR_GURU_KNDA_LATN_MLYM_NEWA_ORYA_TAML_TELU_TIRH),
3449        ('\u{964}', '\u{964}',
3450        script_extensions::BENG_DEVA_DOGR_GONG_GONM_GRAN_GUJR_GURU_KNDA_MAHJ_MLYM_NAND_ONAO_ORYA_SIND_SINH_SYLO_TAKR_TAML_TELU_TIRH),
3451        ('\u{965}', '\u{965}',
3452        script_extensions::BENG_DEVA_DOGR_GONG_GONM_GRAN_GUJR_GUKH_GURU_KNDA_LIMB_MAHJ_MLYM_NAND_ONAO_ORYA_SIND_SINH_SYLO_TAKR_TAML_TELU_TIRH),
3453        ('\u{966}', '\u{96f}', script_extensions::DEVA_DOGR_KTHI_MAHJ), ('\u{9e6}', '\u{9ef}',
3454        script_extensions::BENG_CAKM_SYLO), ('\u{a66}', '\u{a6f}', script_extensions::GURU_MULT),
3455        ('\u{ae6}', '\u{aef}', script_extensions::GUJR_KHOJ), ('\u{be6}', '\u{bef}',
3456        script_extensions::GRAN_TAML), ('\u{bf0}', '\u{bf2}', script_extensions::GRAN_TAML),
3457        ('\u{bf3}', '\u{bf3}', script_extensions::GRAN_TAML), ('\u{ce6}', '\u{cef}',
3458        script_extensions::KNDA_NAND_TUTG), ('\u{1040}', '\u{1049}',
3459        script_extensions::CAKM_MYMR_TALE), ('\u{10fb}', '\u{10fb}',
3460        script_extensions::GEOR_GLAG_LATN), ('\u{16eb}', '\u{16ed}', script_extensions::RUNR),
3461        ('\u{1735}', '\u{1736}', script_extensions::BUHD_HANO_TAGB_TGLG), ('\u{1802}', '\u{1803}',
3462        script_extensions::MONG_PHAG), ('\u{1805}', '\u{1805}', script_extensions::MONG_PHAG),
3463        ('\u{1cd0}', '\u{1cd0}', script_extensions::BENG_DEVA_GRAN_KNDA), ('\u{1cd1}', '\u{1cd1}',
3464        script_extensions::DEVA), ('\u{1cd2}', '\u{1cd2}', script_extensions::BENG_DEVA_GRAN_KNDA),
3465        ('\u{1cd3}', '\u{1cd3}', script_extensions::DEVA_GRAN_KNDA), ('\u{1cd4}', '\u{1cd4}',
3466        script_extensions::DEVA), ('\u{1cd5}', '\u{1cd5}',
3467        script_extensions::BENG_DEVA_NEWA_TELU_TIRH), ('\u{1cd6}', '\u{1cd6}',
3468        script_extensions::BENG_DEVA_TELU), ('\u{1cd7}', '\u{1cd7}',
3469        script_extensions::DEVA_NEWA_SHRD), ('\u{1cd8}', '\u{1cd8}',
3470        script_extensions::BENG_DEVA_NEWA_TELU), ('\u{1cd9}', '\u{1cd9}',
3471        script_extensions::DEVA_SHRD), ('\u{1cda}', '\u{1cda}',
3472        script_extensions::DEVA_KNDA_MLYM_ORYA_TAML_TELU), ('\u{1cdb}', '\u{1cdb}',
3473        script_extensions::DEVA), ('\u{1cdc}', '\u{1cdd}', script_extensions::DEVA_SHRD),
3474        ('\u{1cde}', '\u{1cdf}', script_extensions::DEVA), ('\u{1ce0}', '\u{1ce0}',
3475        script_extensions::DEVA_SHRD), ('\u{1ce1}', '\u{1ce1}', script_extensions::BENG_DEVA),
3476        ('\u{1ce2}', '\u{1ce2}', script_extensions::DEVA_NEWA_TIRH), ('\u{1ce3}', '\u{1ce8}',
3477        script_extensions::DEVA), ('\u{1ce9}', '\u{1ce9}', script_extensions::DEVA_NAND_NEWA),
3478        ('\u{1cea}', '\u{1cea}', script_extensions::BENG_DEVA_SHRD), ('\u{1ceb}', '\u{1ceb}',
3479        script_extensions::DEVA_NEWA), ('\u{1cec}', '\u{1cec}', script_extensions::DEVA),
3480        ('\u{1ced}', '\u{1ced}', script_extensions::BENG_DEVA_NEWA_SHRD), ('\u{1cee}', '\u{1cf1}',
3481        script_extensions::DEVA), ('\u{1cf2}', '\u{1cf2}',
3482        script_extensions::BENG_DEVA_GRAN_KNDA_MLYM_NAND_ORYA_SINH_TELU_TIRH_TUTG), ('\u{1cf3}',
3483        '\u{1cf3}', script_extensions::DEVA_GRAN), ('\u{1cf4}', '\u{1cf4}',
3484        script_extensions::DEVA_GRAN_KNDA_TUTG), ('\u{1cf5}', '\u{1cf6}',
3485        script_extensions::BENG_DEVA), ('\u{1cf7}', '\u{1cf7}', script_extensions::BENG),
3486        ('\u{1cf8}', '\u{1cf9}', script_extensions::DEVA_GRAN), ('\u{1cfa}', '\u{1cfa}',
3487        script_extensions::NAND), ('\u{1dc0}', '\u{1dc1}', script_extensions::GREK), ('\u{1df8}',
3488        '\u{1df8}', script_extensions::CYRL_LATN_SYRC), ('\u{1dfa}', '\u{1dfa}',
3489        script_extensions::SYRC), ('\u{202f}', '\u{202f}', script_extensions::LATN_MONG_PHAG),
3490        ('\u{204f}', '\u{204f}', script_extensions::ADLM_ARAB), ('\u{205a}', '\u{205a}',
3491        script_extensions::CARI_GEOR_GLAG_HUNG_LYCI_ORKH), ('\u{205d}', '\u{205d}',
3492        script_extensions::CARI_GREK_HUNG_MERO), ('\u{20f0}', '\u{20f0}',
3493        script_extensions::DEVA_GRAN_LATN), ('\u{2e17}', '\u{2e17}', script_extensions::COPT_LATN),
3494        ('\u{2e30}', '\u{2e30}', script_extensions::AVST_ORKH), ('\u{2e31}', '\u{2e31}',
3495        script_extensions::AVST_CARI_GEOR_HUNG_KTHI_LYDI_SAMR), ('\u{2e3c}', '\u{2e3c}',
3496        script_extensions::DUPL), ('\u{2e41}', '\u{2e41}', script_extensions::ADLM_ARAB_HUNG),
3497        ('\u{2e43}', '\u{2e43}', script_extensions::CYRL_GLAG), ('\u{2ff0}', '\u{2fff}',
3498        script_extensions::HANI_TANG), ('\u{3001}', '\u{3001}',
3499        script_extensions::BOPO_HANG_HANI_HIRA_KANA_MONG_YIII), ('\u{3002}', '\u{3002}',
3500        script_extensions::BOPO_HANG_HANI_HIRA_KANA_MONG_PHAG_YIII), ('\u{3003}', '\u{3003}',
3501        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{3006}', '\u{3006}',
3502        script_extensions::HANI), ('\u{3008}', '\u{3008}',
3503        script_extensions::BOPO_HANG_HANI_HIRA_KANA_MONG_TIBT_YIII), ('\u{3009}', '\u{3009}',
3504        script_extensions::BOPO_HANG_HANI_HIRA_KANA_MONG_TIBT_YIII), ('\u{300a}', '\u{300a}',
3505        script_extensions::BOPO_HANG_HANI_HIRA_KANA_LISU_MONG_TIBT_YIII), ('\u{300b}', '\u{300b}',
3506        script_extensions::BOPO_HANG_HANI_HIRA_KANA_LISU_MONG_TIBT_YIII), ('\u{300c}', '\u{300c}',
3507        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{300d}', '\u{300d}',
3508        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{300e}', '\u{300e}',
3509        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{300f}', '\u{300f}',
3510        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3010}', '\u{3010}',
3511        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3011}', '\u{3011}',
3512        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3013}', '\u{3013}',
3513        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{3014}', '\u{3014}',
3514        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3015}', '\u{3015}',
3515        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3016}', '\u{3016}',
3516        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3017}', '\u{3017}',
3517        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3018}', '\u{3018}',
3518        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{3019}', '\u{3019}',
3519        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{301a}', '\u{301a}',
3520        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{301b}', '\u{301b}',
3521        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{301c}', '\u{301c}',
3522        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{301d}', '\u{301d}',
3523        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{301e}', '\u{301f}',
3524        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{302a}', '\u{302d}',
3525        script_extensions::BOPO_HANI), ('\u{3030}', '\u{3030}',
3526        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{3031}', '\u{3035}',
3527        script_extensions::HIRA_KANA), ('\u{3037}', '\u{3037}',
3528        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{303c}', '\u{303c}',
3529        script_extensions::HANI_HIRA_KANA), ('\u{303d}', '\u{303d}',
3530        script_extensions::HANI_HIRA_KANA), ('\u{303e}', '\u{303f}', script_extensions::HANI),
3531        ('\u{3099}', '\u{309a}', script_extensions::HIRA_KANA), ('\u{309b}', '\u{309c}',
3532        script_extensions::HIRA_KANA), ('\u{30a0}', '\u{30a0}', script_extensions::HIRA_KANA),
3533        ('\u{30fb}', '\u{30fb}', script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{30fc}',
3534        '\u{30fc}', script_extensions::HIRA_KANA), ('\u{3190}', '\u{3191}',
3535        script_extensions::HANI), ('\u{3192}', '\u{3195}', script_extensions::HANI), ('\u{3196}',
3536        '\u{319f}', script_extensions::HANI), ('\u{31c0}', '\u{31e5}', script_extensions::HANI),
3537        ('\u{31ef}', '\u{31ef}', script_extensions::HANI_TANG), ('\u{3220}', '\u{3229}',
3538        script_extensions::HANI), ('\u{322a}', '\u{3247}', script_extensions::HANI), ('\u{3280}',
3539        '\u{3289}', script_extensions::HANI), ('\u{328a}', '\u{32b0}', script_extensions::HANI),
3540        ('\u{32c0}', '\u{32cb}', script_extensions::HANI), ('\u{32ff}', '\u{32ff}',
3541        script_extensions::HANI), ('\u{3358}', '\u{3370}', script_extensions::HANI), ('\u{337b}',
3542        '\u{337f}', script_extensions::HANI), ('\u{33e0}', '\u{33fe}', script_extensions::HANI),
3543        ('\u{a66f}', '\u{a66f}', script_extensions::CYRL_GLAG), ('\u{a700}', '\u{a707}',
3544        script_extensions::HANI_LATN), ('\u{a830}', '\u{a832}',
3545        script_extensions::DEVA_DOGR_GUJR_GURU_KHOJ_KNDA_KTHI_MAHJ_MLYM_MODI_NAND_SHRD_SIND_TAKR_TIRH_TUTG),
3546        ('\u{a833}', '\u{a835}',
3547        script_extensions::DEVA_DOGR_GUJR_GURU_KHOJ_KNDA_KTHI_MAHJ_MODI_NAND_SHRD_SIND_TAKR_TIRH_TUTG),
3548        ('\u{a836}', '\u{a837}',
3549        script_extensions::DEVA_DOGR_GUJR_GURU_KHOJ_KTHI_MAHJ_MODI_SIND_TAKR_TIRH), ('\u{a838}',
3550        '\u{a838}', script_extensions::DEVA_DOGR_GUJR_GURU_KHOJ_KTHI_MAHJ_MODI_SHRD_SIND_TAKR_TIRH),
3551        ('\u{a839}', '\u{a839}',
3552        script_extensions::DEVA_DOGR_GUJR_GURU_KHOJ_KTHI_MAHJ_MODI_SIND_TAKR_TIRH), ('\u{a8f1}',
3553        '\u{a8f1}', script_extensions::BENG_DEVA_TUTG), ('\u{a8f3}', '\u{a8f3}',
3554        script_extensions::DEVA_TAML), ('\u{a92e}', '\u{a92e}', script_extensions::KALI_LATN_MYMR),
3555        ('\u{a9cf}', '\u{a9cf}', script_extensions::BUGI_JAVA), ('\u{fd3e}', '\u{fd3e}',
3556        script_extensions::ARAB_NKOO), ('\u{fd3f}', '\u{fd3f}', script_extensions::ARAB_NKOO),
3557        ('\u{fdf2}', '\u{fdf2}', script_extensions::ARAB_THAA), ('\u{fdfd}', '\u{fdfd}',
3558        script_extensions::ARAB_THAA), ('\u{fe45}', '\u{fe46}',
3559        script_extensions::BOPO_HANG_HANI_HIRA_KANA), ('\u{ff61}', '\u{ff61}',
3560        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{ff62}', '\u{ff62}',
3561        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{ff63}', '\u{ff63}',
3562        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{ff64}', '\u{ff65}',
3563        script_extensions::BOPO_HANG_HANI_HIRA_KANA_YIII), ('\u{ff70}', '\u{ff70}',
3564        script_extensions::HIRA_KANA), ('\u{ff9e}', '\u{ff9f}', script_extensions::HIRA_KANA),
3565        ('\u{10100}', '\u{10101}', script_extensions::CPMN_CPRT_LINB), ('\u{10102}', '\u{10102}',
3566        script_extensions::CPRT_LINB), ('\u{10107}', '\u{10133}',
3567        script_extensions::CPRT_LINA_LINB), ('\u{10137}', '\u{1013f}',
3568        script_extensions::CPRT_LINB), ('\u{102e0}', '\u{102e0}', script_extensions::ARAB_COPT),
3569        ('\u{102e1}', '\u{102fb}', script_extensions::ARAB_COPT), ('\u{10af2}', '\u{10af2}',
3570        script_extensions::MANI_OUGR), ('\u{11301}', '\u{11301}', script_extensions::GRAN_TAML),
3571        ('\u{11303}', '\u{11303}', script_extensions::GRAN_TAML), ('\u{1133b}', '\u{1133c}',
3572        script_extensions::GRAN_TAML), ('\u{11fd0}', '\u{11fd1}', script_extensions::GRAN_TAML),
3573        ('\u{11fd3}', '\u{11fd3}', script_extensions::GRAN_TAML), ('\u{1bca0}', '\u{1bca3}',
3574        script_extensions::DUPL), ('\u{1d360}', '\u{1d371}', script_extensions::HANI), ('\u{1f250}',
3575        '\u{1f251}', script_extensions::HANI)
3576    ];
3577
3578
3579}