Skip to main content

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