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