< prev index next >

src/java.base/share/classes/java/lang/Character.java

Print this page
rev 54996 : 8221431: Support for Unicode 12.1
Reviewed-by:


  37  * The {@code Character} class wraps a value of the primitive
  38  * type {@code char} in an object. An object of class
  39  * {@code Character} contains a single field whose type is
  40  * {@code char}.
  41  * <p>
  42  * In addition, this class provides a large number of static methods for
  43  * determining a character's category (lowercase letter, digit, etc.)
  44  * and for converting characters from uppercase to lowercase and vice
  45  * versa.
  46  *
  47  * <h2><a id="conformance">Unicode Conformance</a></h2>
  48  * <p>
  49  * The fields and methods of class {@code Character} are defined in terms
  50  * of character information from the Unicode Standard, specifically the
  51  * <i>UnicodeData</i> file that is part of the Unicode Character Database.
  52  * This file specifies properties including name and category for every
  53  * assigned Unicode code point or character range. The file is available
  54  * from the Unicode Consortium at
  55  * <a href="http://www.unicode.org">http://www.unicode.org</a>.
  56  * <p>
  57  * The Java SE 13 Platform uses character information from version 11.0
  58  * of the Unicode Standard, plus the Japanese Era code point,
  59  * {@code U+32FF}, from the first version of the Unicode Standard
  60  * after 11.0 that assigns the code point.
  61  *
  62  * <h2><a id="unicode">Unicode Character Representations</a></h2>
  63  *
  64  * <p>The {@code char} data type (and therefore the value that a
  65  * {@code Character} object encapsulates) are based on the
  66  * original Unicode specification, which defined characters as
  67  * fixed-width 16-bit entities. The Unicode Standard has since been
  68  * changed to allow for characters whose representation requires more
  69  * than 16 bits.  The range of legal <em>code point</em>s is now
  70  * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
  71  * (Refer to the <a
  72  * href="http://www.unicode.org/reports/tr27/#notation"><i>
  73  * definition</i></a> of the U+<i>n</i> notation in the Unicode
  74  * Standard.)
  75  *
  76  * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
  77  * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
  78  * <a id="supplementary">Characters</a> whose code points are greater
  79  * than U+FFFF are called <em>supplementary character</em>s.  The Java
  80  * platform uses the UTF-16 representation in {@code char} arrays and


 658          * Returns the name of this subset.
 659          */
 660         public final String toString() {
 661             return name;
 662         }
 663     }
 664 
 665     // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
 666     // for the latest specification of Unicode Blocks.
 667 
 668     /**
 669      * A family of character subsets representing the character blocks in the
 670      * Unicode specification. Character blocks generally define characters
 671      * used for a specific script or purpose. A character is contained by
 672      * at most one Unicode block.
 673      *
 674      * @since 1.2
 675      */
 676     public static final class UnicodeBlock extends Subset {
 677         /**
 678          * 667  - the expected number of entities
 679          * 0.75 - the default load factor of HashMap
 680          */
 681         private static final int NUM_ENTITIES = 667;
 682         private static Map<String, UnicodeBlock> map =
 683                 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
 684 
 685         /**
 686          * Creates a UnicodeBlock with the given identifier name.
 687          * This name must be the same as the block identifier.
 688          */
 689         private UnicodeBlock(String idName) {
 690             super(idName);
 691             map.put(idName, this);
 692         }
 693 
 694         /**
 695          * Creates a UnicodeBlock with the given identifier name and
 696          * alias name.
 697          */
 698         private UnicodeBlock(String idName, String alias) {
 699             this(idName);
 700             map.put(alias, this);
 701         }


3187        /**
3188          * Constant for the "Indic Siyaq Numbers" Unicode
3189          * character block.
3190          * @since 12
3191          */
3192         public static final UnicodeBlock INDIC_SIYAQ_NUMBERS =
3193             new UnicodeBlock("INDIC_SIYAQ_NUMBERS",
3194                              "INDIC SIYAQ NUMBERS",
3195                              "INDICSIYAQNUMBERS");
3196 
3197         /**
3198          * Constant for the "Chess Symbols" Unicode
3199          * character block.
3200          * @since 12
3201          */
3202         public static final UnicodeBlock CHESS_SYMBOLS =
3203             new UnicodeBlock("CHESS_SYMBOLS",
3204                              "CHESS SYMBOLS",
3205                              "CHESSSYMBOLS");
3206 



















































































3207 
3208         private static final int blockStarts[] = {
3209             0x0000,   // 0000..007F; Basic Latin
3210             0x0080,   // 0080..00FF; Latin-1 Supplement
3211             0x0100,   // 0100..017F; Latin Extended-A
3212             0x0180,   // 0180..024F; Latin Extended-B
3213             0x0250,   // 0250..02AF; IPA Extensions
3214             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
3215             0x0300,   // 0300..036F; Combining Diacritical Marks
3216             0x0370,   // 0370..03FF; Greek and Coptic
3217             0x0400,   // 0400..04FF; Cyrillic
3218             0x0500,   // 0500..052F; Cyrillic Supplement
3219             0x0530,   // 0530..058F; Armenian
3220             0x0590,   // 0590..05FF; Hebrew
3221             0x0600,   // 0600..06FF; Arabic
3222             0x0700,   // 0700..074F; Syriac
3223             0x0750,   // 0750..077F; Arabic Supplement
3224             0x0780,   // 0780..07BF; Thaana
3225             0x07C0,   // 07C0..07FF; NKo
3226             0x0800,   // 0800..083F; Samaritan


3410             0x10A00,  // 10A00..10A5F; Kharoshthi
3411             0x10A60,  // 10A60..10A7F; Old South Arabian
3412             0x10A80,  // 10A80..10A9F; Old North Arabian
3413             0x10AA0,  //               unassigned
3414             0x10AC0,  // 10AC0..10AFF; Manichaean
3415             0x10B00,  // 10B00..10B3F; Avestan
3416             0x10B40,  // 10B40..10B5F; Inscriptional Parthian
3417             0x10B60,  // 10B60..10B7F; Inscriptional Pahlavi
3418             0x10B80,  // 10B80..10BAF; Psalter Pahlavi
3419             0x10BB0,  //               unassigned
3420             0x10C00,  // 10C00..10C4F; Old Turkic
3421             0x10C50,  //               unassigned
3422             0x10C80,  // 10C80..10CFF; Old Hungarian
3423             0x10D00,  // 10D00..10D3F; Hanifi Rohingya
3424             0x10D40,  //               unassigned
3425             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3426             0x10E80,  //               unassigned
3427             0x10F00,  // 10F00..10F2F; Old Sogdian
3428             0x10F30,  // 10F30..10F6F; Sogdian
3429             0x10F70,  //               unassigned

3430             0x11000,  // 11000..1107F; Brahmi
3431             0x11080,  // 11080..110CF; Kaithi
3432             0x110D0,  // 110D0..110FF; Sora Sompeng
3433             0x11100,  // 11100..1114F; Chakma
3434             0x11150,  // 11150..1117F; Mahajani
3435             0x11180,  // 11180..111DF; Sharada
3436             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3437             0x11200,  // 11200..1124F; Khojki
3438             0x11250,  //               unassigned
3439             0x11280,  // 11280..112AF; Multani
3440             0x112B0,  // 112B0..112FF; Khudawadi
3441             0x11300,  // 11300..1137F; Grantha
3442             0x11380,  //               unassigned
3443             0x11400,  // 11400..1147F; Newa
3444             0x11480,  // 11480..114DF; Tirhuta
3445             0x114E0,  //               unassigned
3446             0x11580,  // 11580..115FF; Siddham
3447             0x11600,  // 11600..1165F; Modi
3448             0x11660, //  11660..1167F; Mongolian Supplement
3449             0x11680,  // 11680..116CF; Takri
3450             0x116D0,  //               unassigned
3451             0x11700,  // 11700..1173F; Ahom
3452             0x11740,  //               unassigned
3453             0x11800,  // 11800..1184F; Dogra
3454             0x11850,  //               unassigned
3455             0x118A0,  // 118A0..118FF; Warang Citi
3456             0x11900,  //               unassigned

3457             0x11A00,  // 11A00..11A4F; Zanabazar Square
3458             0x11A50,  // 11A50..11AAF; Soyombo
3459             0x11AB0,  //               unassigned
3460             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3461             0x11B00,  //               unassigned
3462             0x11C00,  // 11C00..11C6F; Bhaiksuki
3463             0x11C70,  // 11C70..11CBF; Marchen
3464             0x11CC0,  //               unassigned
3465             0x11D00,  // 11D00..11D5F; Masaram Gondi
3466             0x11D60,  // 11D60..11DAF; Gunjala Gondi
3467             0x11DB0,  //               unassigned
3468             0x11EE0,  // 11EE0..11EFF; Makasar
3469             0x11F00,  //               unassigned

3470             0x12000,  // 12000..123FF; Cuneiform
3471             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3472             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3473             0x12550,  //               unassigned
3474             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3475             0x13430,  //               unassigned

3476             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3477             0x14680,  //               unassigned
3478             0x16800,  // 16800..16A3F; Bamum Supplement
3479             0x16A40,  // 16A40..16A6F; Mro
3480             0x16A70,  //               unassigned
3481             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3482             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3483             0x16B90,  //               unassigned
3484             0x16E40,  // 16E40..16E9F; Medefaidrin
3485             0x16EA0,  //               unassigned
3486             0x16F00,  // 16F00..16F9F; Miao
3487             0x16FA0,  //               unassigned
3488             0x16FE0,  // 16FE0..16FFF; Ideographic Symbols and Punctuation
3489             0x17000,  // 17000..187FF; Tangut
3490             0x18800,  // 18800..18AFF; Tangut Components
3491             0x18B00,  //               unassigned
3492             0x1B000,  // 1B000..1B0FF; Kana Supplement
3493             0x1B100,  // 1B100..1B12F; Kana Extended-A
3494             0x1B130,  //               unassigned
3495             0x1B170,  // 1B170..1B2FF; Nushu
3496             0x1B300,  //               unassigned
3497             0x1BC00,  // 1BC00..1BC9F; Duployan
3498             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3499             0x1BCB0,  //               unassigned
3500             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3501             0x1D100,  // 1D100..1D1FF; Musical Symbols
3502             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3503             0x1D250,  //               unassigned
3504             0x1D2E0,  // 1D2E0..1D2FF; Mayan Numerals
3505             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3506             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3507             0x1D380,  //               unassigned
3508             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3509             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3510             0x1DAB0,  //               unassigned
3511             0x1E000,  // 1E000..1E02F; Glagolitic Supplement
3512             0x1E030,  //               unassigned




3513             0x1E800,  // 1E800..1E8DF; Mende Kikakui
3514             0x1E8E0,  //               unassigned
3515             0x1E900,  // 1E900..1E95F; Adlam
3516             0x1E960,  //               unassigned
3517             0x1EC70,  // 1EC70..1ECBF; Indic Siyaq Numbers
3518             0x1ECC0,  //               unassigned


3519             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3520             0x1EF00,  //               unassigned
3521             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3522             0x1F030,  // 1F030..1F09F; Domino Tiles
3523             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3524             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3525             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3526             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3527             0x1F600,  // 1F600..1F64F; Emoticons
3528             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3529             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3530             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3531             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3532             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3533             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3534             0x1FA00,  // 1FA00..1FA6F; Chess Symbols
3535             0x1FA70,  //               unassigned

3536             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3537             0x2A6E0,  //               unassigned
3538             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3539             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3540             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3541             0x2CEB0,  // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3542             0x2EBF0,  //               unassigned
3543             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3544             0x2FA20,  //               unassigned
3545             0xE0000,  // E0000..E007F; Tags
3546             0xE0080,  //               unassigned
3547             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3548             0xE01F0,  //               unassigned
3549             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3550             0x100000  // 100000..10FFFF; Supplementary Private Use Area-B
3551         };
3552 
3553         private static final UnicodeBlock[] blocks = {
3554             BASIC_LATIN,
3555             LATIN_1_SUPPLEMENT,
3556             LATIN_EXTENDED_A,
3557             LATIN_EXTENDED_B,
3558             IPA_EXTENSIONS,
3559             SPACING_MODIFIER_LETTERS,
3560             COMBINING_DIACRITICAL_MARKS,
3561             GREEK,
3562             CYRILLIC,
3563             CYRILLIC_SUPPLEMENTARY,
3564             ARMENIAN,
3565             HEBREW,
3566             ARABIC,
3567             SYRIAC,
3568             ARABIC_SUPPLEMENT,
3569             THAANA,
3570             NKO,


3755             KHAROSHTHI,
3756             OLD_SOUTH_ARABIAN,
3757             OLD_NORTH_ARABIAN,
3758             null,
3759             MANICHAEAN,
3760             AVESTAN,
3761             INSCRIPTIONAL_PARTHIAN,
3762             INSCRIPTIONAL_PAHLAVI,
3763             PSALTER_PAHLAVI,
3764             null,
3765             OLD_TURKIC,
3766             null,
3767             OLD_HUNGARIAN,
3768             HANIFI_ROHINGYA,
3769             null,
3770             RUMI_NUMERAL_SYMBOLS,
3771             null,
3772             OLD_SOGDIAN,
3773             SOGDIAN,
3774             null,

3775             BRAHMI,
3776             KAITHI,
3777             SORA_SOMPENG,
3778             CHAKMA,
3779             MAHAJANI,
3780             SHARADA,
3781             SINHALA_ARCHAIC_NUMBERS,
3782             KHOJKI,
3783             null,
3784             MULTANI,
3785             KHUDAWADI,
3786             GRANTHA,
3787             null,
3788             NEWA,
3789             TIRHUTA,
3790             null,
3791             SIDDHAM,
3792             MODI,
3793             MONGOLIAN_SUPPLEMENT,
3794             TAKRI,
3795             null,
3796             AHOM,
3797             null,
3798             DOGRA,
3799             null,
3800             WARANG_CITI,
3801             null,

3802             ZANABAZAR_SQUARE,
3803             SOYOMBO,
3804             null,
3805             PAU_CIN_HAU,
3806             null,
3807             BHAIKSUKI,
3808             MARCHEN,
3809             null,
3810             MASARAM_GONDI,
3811             GUNJALA_GONDI,
3812             null,
3813             MAKASAR,
3814             null,

3815             CUNEIFORM,
3816             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3817             EARLY_DYNASTIC_CUNEIFORM,
3818             null,
3819             EGYPTIAN_HIEROGLYPHS,

3820             null,
3821             ANATOLIAN_HIEROGLYPHS,
3822             null,
3823             BAMUM_SUPPLEMENT,
3824             MRO,
3825             null,
3826             BASSA_VAH,
3827             PAHAWH_HMONG,
3828             null,
3829             MEDEFAIDRIN,
3830             null,
3831             MIAO,
3832             null,
3833             IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3834             TANGUT,
3835             TANGUT_COMPONENTS,
3836             null,
3837             KANA_SUPPLEMENT,
3838             KANA_EXTENDED_A,
3839             null,
3840             NUSHU,
3841             null,
3842             DUPLOYAN,
3843             SHORTHAND_FORMAT_CONTROLS,
3844             null,
3845             BYZANTINE_MUSICAL_SYMBOLS,
3846             MUSICAL_SYMBOLS,
3847             ANCIENT_GREEK_MUSICAL_NOTATION,
3848             null,
3849             MAYAN_NUMERALS,
3850             TAI_XUAN_JING_SYMBOLS,
3851             COUNTING_ROD_NUMERALS,
3852             null,
3853             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3854             SUTTON_SIGNWRITING,
3855             null,
3856             GLAGOLITIC_SUPPLEMENT,
3857             null,




3858             MENDE_KIKAKUI,
3859             null,
3860             ADLAM,
3861             null,
3862             INDIC_SIYAQ_NUMBERS,
3863             null,


3864             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3865             null,
3866             MAHJONG_TILES,
3867             DOMINO_TILES,
3868             PLAYING_CARDS,
3869             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3870             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3871             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3872             EMOTICONS,
3873             ORNAMENTAL_DINGBATS,
3874             TRANSPORT_AND_MAP_SYMBOLS,
3875             ALCHEMICAL_SYMBOLS,
3876             GEOMETRIC_SHAPES_EXTENDED,
3877             SUPPLEMENTAL_ARROWS_C,
3878             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3879             CHESS_SYMBOLS,

3880             null,
3881             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3882             null,
3883             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3884             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3885             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
3886             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
3887             null,
3888             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3889             null,
3890             TAGS,
3891             null,
3892             VARIATION_SELECTORS_SUPPLEMENT,
3893             null,
3894             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3895             SUPPLEMENTARY_PRIVATE_USE_AREA_B
3896         };
3897 
3898 
3899         /**
3900          * Returns the object representing the Unicode block containing the
3901          * given character, or {@code null} if the character is not a
3902          * member of a defined block.
3903          *
3904          * <p><b>Note:</b> This method cannot handle
3905          * <a href="Character.html#supplementary"> supplementary
3906          * characters</a>.  To support all Unicode characters, including
3907          * supplementary characters, use the {@link #of(int)} method.
3908          *
3909          * @param   c  The character in question
3910          * @return  The {@code UnicodeBlock} instance representing the
3911          *          Unicode block of which this character is a member, or
3912          *          {@code null} if the character is not a member of any
3913          *          Unicode block
3914          */
3915         public static UnicodeBlock of(char c) {


4793 
4794         /**
4795           * Unicode script "Gunjala Gondi".
4796           * @since 12
4797           */
4798         GUNJALA_GONDI,
4799 
4800         /**
4801           * Unicode script "Makasar".
4802           * @since 12
4803           */
4804         MAKASAR,
4805 
4806         /**
4807           * Unicode script "Medefaidrin".
4808           * @since 12
4809           */
4810         MEDEFAIDRIN,
4811 
4812         /**
























4813          * Unicode script "Unknown".
4814          */
4815         UNKNOWN;
4816 
4817         private static final int[] scriptStarts = {
4818             0x0000,   // 0000..0040; COMMON
4819             0x0041,   // 0041..005A; LATIN
4820             0x005B,   // 005B..0060; COMMON
4821             0x0061,   // 0061..007A; LATIN
4822             0x007B,   // 007B..00A9; COMMON
4823             0x00AA,   // 00AA      ; LATIN
4824             0x00AB,   // 00AB..00B9; COMMON
4825             0x00BA,   // 00BA      ; LATIN
4826             0x00BB,   // 00BB..00BF; COMMON
4827             0x00C0,   // 00C0..00D6; LATIN
4828             0x00D7,   // 00D7      ; COMMON
4829             0x00D8,   // 00D8..00F6; LATIN
4830             0x00F7,   // 00F7      ; COMMON
4831             0x00F8,   // 00F8..02B8; LATIN
4832             0x02B9,   // 02B9..02DF; COMMON


4886             0x061F,   // 061F      ; COMMON
4887             0x0620,   // 0620..063F; ARABIC
4888             0x0640,   // 0640      ; COMMON
4889             0x0641,   // 0641..064A; ARABIC
4890             0x064B,   // 064B..0655; INHERITED
4891             0x0656,   // 0656..066F; ARABIC
4892             0x0670,   // 0670      ; INHERITED
4893             0x0671,   // 0671..06DC; ARABIC
4894             0x06DD,   // 06DD      ; COMMON
4895             0x06DE,   // 06DE..06FF; ARABIC
4896             0x0700,   // 0700..070D; SYRIAC
4897             0x070E,   // 070E      ; UNKNOWN
4898             0x070F,   // 070F..074A; SYRIAC
4899             0x074B,   // 074B..074C; UNKNOWN
4900             0x074D,   // 074D..074F; SYRIAC
4901             0x0750,   // 0750..077F; ARABIC
4902             0x0780,   // 0780..07B1; THAANA
4903             0x07B2,   // 07B2..07BF; UNKNOWN
4904             0x07C0,   // 07C0..07FA; NKO
4905             0x07FB,   // 07FB..07FC; UNKNOWN
4906             0X07FD,   // 07FD..07FF; NKO
4907             0x0800,   // 0800..082D; SAMARITAN
4908             0x082E,   // 082E..082F; UNKNOWN
4909             0x0830,   // 0830..083E; SAMARITAN
4910             0x083F,   // 083F      ; UNKNOWN
4911             0x0840,   // 0840..085B; MANDAIC
4912             0x085C,   // 085C..085D; UNKNOWN
4913             0x085E,   // 085E      ; MANDAIC
4914             0x085F,   // 085F      ; UNKNOWN
4915             0x0860,   // 0860..086A; SYRIAC
4916             0x086B,   // 086B..089F; UNKNOWN
4917             0x08A0,   // 08A0..08B4; ARABIC
4918             0x08B5,   // 08B5      ; UNKNOWN
4919             0x08B6,   // 08B6..08BD; ARABIC
4920             0x08BE,   // 08BE..08D2; UNKNOWN
4921             0x08D3,   // 08D3..08E1; ARABIC
4922             0x08E2,   // 08E2      ; COMMON
4923             0x08E3,   // 08E3..08FF; ARABIC
4924             0x0900,   // 0900..0950; DEVANAGARI
4925             0x0951,   // 0951..0952; INHERITED
4926             0x0953,   // 0953..0963; DEVANAGARI
4927             0x0964,   // 0964..0965; COMMON
4928             0x0966,   // 0966..097F; DEVANAGARI
4929             0x0980,   // 0980..0983; BENGALI
4930             0x0984,   // 0984      ; UNKNOWN
4931             0x0985,   // 0985..098C; BENGALI
4932             0x098D,   // 098D..098E; UNKNOWN
4933             0x098F,   // 098F..0990; BENGALI
4934             0x0991,   // 0991..0992; UNKNOWN
4935             0x0993,   // 0993..09A8; BENGALI
4936             0x09A9,   // 09A9      ; UNKNOWN
4937             0x09AA,   // 09AA..09B0; BENGALI
4938             0x09B1,   // 09B1      ; UNKNOWN
4939             0x09B2,   // 09B2      ; BENGALI
4940             0x09B3,   // 09B3..09B5; UNKNOWN
4941             0x09B6,   // 09B6..09B9; BENGALI
4942             0x09BA,   // 09BA..09BB; UNKNOWN
4943             0x09BC,   // 09BC..09C4; BENGALI
4944             0x09C5,   // 09C5..09C6; UNKNOWN
4945             0x09C7,   // 09C7..09C8; BENGALI
4946             0x09C9,   // 09C9..09CA; UNKNOWN


5078             0x0C0D,   // 0C0D      ; UNKNOWN
5079             0x0C0E,   // 0C0E..0C10; TELUGU
5080             0x0C11,   // 0C11      ; UNKNOWN
5081             0x0C12,   // 0C12..0C28; TELUGU
5082             0x0C29,   // 0C29      ; UNKNOWN
5083             0x0C2A,   // 0C2A..0C39; TELUGU
5084             0x0C3A,   // 0C3A..0C3C; UNKNOWN
5085             0x0C3D,   // 0C3D..0C44; TELUGU
5086             0x0C45,   // 0C45      ; UNKNOWN
5087             0x0C46,   // 0C46..0C48; TELUGU
5088             0x0C49,   // 0C49      ; UNKNOWN
5089             0x0C4A,   // 0C4A..0C4D; TELUGU
5090             0x0C4E,   // 0C4E..0C54; UNKNOWN
5091             0x0C55,   // 0C55..0C56; TELUGU
5092             0x0C57,   // 0C57      ; UNKNOWN
5093             0x0C58,   // 0C58..0C5A; TELUGU
5094             0x0C5B,   // 0C5B..0C5F; UNKNOWN
5095             0x0C60,   // 0C60..0C63; TELUGU
5096             0x0C64,   // 0C64..0C65; UNKNOWN
5097             0x0C66,   // 0C66..0C6F; TELUGU
5098             0x0C70,   // 0C70..0C77; UNKNOWN
5099             0x0C78,   // 0C78..0C7F; TELUGU
5100             0x0C80,   // 0C80..0C8C; KANNADA
5101             0x0C8D,   // 0C8D      ; UNKNOWN
5102             0x0C8E,   // 0C8E..0C90; KANNADA
5103             0x0C91,   // 0C91      ; UNKNOWN
5104             0x0C92,   // 0C92..0CA8; KANNADA
5105             0x0CA9,   // 0CA9      ; UNKNOWN
5106             0x0CAA,   // 0CAA..0CB3; KANNADA
5107             0x0CB4,   // 0CB4      ; UNKNOWN
5108             0x0CB5,   // 0CB5..0CB9; KANNADA
5109             0x0CBA,   // 0CBA..0CBB; UNKNOWN
5110             0x0CBC,   // 0CBC..0CC4; KANNADA
5111             0x0CC5,   // 0CC5      ; UNKNOWN
5112             0x0CC6,   // 0CC6..0CC8; KANNADA
5113             0x0CC9,   // 0CC9      ; UNKNOWN
5114             0x0CCA,   // 0CCA..0CCD; KANNADA
5115             0x0CCE,   // 0CCE..0CD4; UNKNOWN
5116             0x0CD5,   // 0CD5..0CD6; KANNADA
5117             0x0CD7,   // 0CD7..0CDD; UNKNOWN
5118             0x0CDE,   // 0CDE      ; KANNADA
5119             0x0CDF,   // 0CDF      ; UNKNOWN


5154             0x0DCA,   // 0DCA      ; SINHALA
5155             0x0DCB,   // 0DCB..0DCE; UNKNOWN
5156             0x0DCF,   // 0DCF..0DD4; SINHALA
5157             0x0DD5,   // 0DD5      ; UNKNOWN
5158             0x0DD6,   // 0DD6      ; SINHALA
5159             0x0DD7,   // 0DD7      ; UNKNOWN
5160             0x0DD8,   // 0DD8..0DDF; SINHALA
5161             0x0DE0,   // 0DE0..0DE5; UNKNOWN
5162             0x0DE6,   // 0DE6..0DEF; SINHALA
5163             0x0DF0,   // 0DF0..0DF1; UNKNOWN
5164             0x0DF2,   // 0DF2..0DF4; SINHALA
5165             0x0DF5,   // 0DF5..0E00; UNKNOWN
5166             0x0E01,   // 0E01..0E3A; THAI
5167             0x0E3B,   // 0E3B..0E3E; UNKNOWN
5168             0x0E3F,   // 0E3F      ; COMMON
5169             0x0E40,   // 0E40..0E5B; THAI
5170             0x0E5C,   // 0E5C..0E80; UNKNOWN
5171             0x0E81,   // 0E81..0E82; LAO
5172             0x0E83,   // 0E83      ; UNKNOWN
5173             0x0E84,   // 0E84      ; LAO
5174             0x0E85,   // 0E85..0E86; UNKNOWN
5175             0x0E87,   // 0E87..0E88; LAO
5176             0x0E89,   // 0E89      ; UNKNOWN
5177             0x0E8A,   // 0E8A      ; LAO
5178             0x0E8B,   // 0E8B..0E8C; UNKNOWN
5179             0x0E8D,   // 0E8D      ; LAO
5180             0x0E8E,   // 0E8E..0E93; UNKNOWN
5181             0x0E94,   // 0E94..0E97; LAO
5182             0x0E98,   // 0E98      ; UNKNOWN
5183             0x0E99,   // 0E99..0E9F; LAO
5184             0x0EA0,   // 0EA0      ; UNKNOWN
5185             0x0EA1,   // 0EA1..0EA3; LAO
5186             0x0EA4,   // 0EA4      ; UNKNOWN
5187             0x0EA5,   // 0EA5      ; LAO
5188             0x0EA6,   // 0EA6      ; UNKNOWN
5189             0x0EA7,   // 0EA7      ; LAO
5190             0x0EA8,   // 0EA8..0EA9; UNKNOWN
5191             0x0EAA,   // 0EAA..0EAB; LAO
5192             0x0EAC,   // 0EAC      ; UNKNOWN
5193             0x0EAD,   // 0EAD..0EB9; LAO
5194             0x0EBA,   // 0EBA      ; UNKNOWN
5195             0x0EBB,   // 0EBB..0EBD; LAO
5196             0x0EBE,   // 0EBE..0EBF; UNKNOWN
5197             0x0EC0,   // 0EC0..0EC4; LAO
5198             0x0EC5,   // 0EC5      ; UNKNOWN
5199             0x0EC6,   // 0EC6      ; LAO
5200             0x0EC7,   // 0EC7      ; UNKNOWN
5201             0x0EC8,   // 0EC8..0ECD; LAO
5202             0x0ECE,   // 0ECE..0ECF; UNKNOWN
5203             0x0ED0,   // 0ED0..0ED9; LAO
5204             0x0EDA,   // 0EDA..0EDB; UNKNOWN
5205             0x0EDC,   // 0EDC..0EDF; LAO
5206             0x0EE0,   // 0EE0..0EFF; UNKNOWN
5207             0x0F00,   // 0F00..0F47; TIBETAN
5208             0x0F48,   // 0F48      ; UNKNOWN
5209             0x0F49,   // 0F49..0F6C; TIBETAN
5210             0x0F6D,   // 0F6D..0F70; UNKNOWN
5211             0x0F71,   // 0F71..0F97; TIBETAN
5212             0x0F98,   // 0F98      ; UNKNOWN
5213             0x0F99,   // 0F99..0FBC; TIBETAN
5214             0x0FBD,   // 0FBD      ; UNKNOWN
5215             0x0FBE,   // 0FBE..0FCC; TIBETAN
5216             0x0FCD,   // 0FCD      ; UNKNOWN
5217             0x0FCE,   // 0FCE..0FD4; TIBETAN
5218             0x0FD5,   // 0FD5..0FD8; COMMON
5219             0x0FD9,   // 0FD9..0FDA; TIBETAN
5220             0x0FDB,   // 0FDB..FFF; UNKNOWN
5221             0x1000,   // 1000..109F; MYANMAR
5222             0x10A0,   // 10A0..10C5; GEORGIAN
5223             0x10C6,   // 10C6      ; UNKNOWN
5224             0x10C7,   // 10C7      ; GEORGIAN
5225             0x10C8,   // 10C8..10CC; UNKNOWN
5226             0x10CD,   // 10CD      ; GEORGIAN
5227             0x10CE,   // 10CE..10CF; UNKNOWN
5228             0x10D0,   // 10D0..10FA; GEORGIAN
5229             0x10FB,   // 10FB      ; COMMON
5230             0x10FC,   // 10FC..10FF; GEORGIAN
5231             0x1100,   // 1100..11FF; HANGUL
5232             0x1200,   // 1200..1248; ETHIOPIC
5233             0x1249,   // 1249      ; UNKNOWN
5234             0x124A,   // 124A..124D; ETHIOPIC
5235             0x124E,   // 124E..124F; UNKNOWN
5236             0x1250,   // 1250..1256; ETHIOPIC
5237             0x1257,   // 1257      ; UNKNOWN
5238             0x1258,   // 1258      ; ETHIOPIC
5239             0x1259,   // 1259      ; UNKNOWN
5240             0x125A,   // 125A..125D; ETHIOPIC


5345             0x1A9A,   // 1A9A..1A9F; UNKNOWN
5346             0x1AA0,   // 1AA0..1AAD; TAI_THAM
5347             0x1AAE,   // 1AAE..1AAF; UNKNOWN
5348             0x1AB0,   // 1AB0..1ABE; INHERITED
5349             0x1ABF,   // 1ABF..1AFF; UNKNOWN
5350             0x1B00,   // 1B00..1B4B; BALINESE
5351             0x1B4C,   // 1B4C..1B4F; UNKNOWN
5352             0x1B50,   // 1B50..1B7C; BALINESE
5353             0x1B7D,   // 1B7D..1B7F; UNKNOWN
5354             0x1B80,   // 1B80..1BBF; SUNDANESE
5355             0x1BC0,   // 1BC0..1BF3; BATAK
5356             0x1BF4,   // 1BF4..1BFB; UNKNOWN
5357             0x1BFC,   // 1BFC..1BFF; BATAK
5358             0x1C00,   // 1C00..1C37; LEPCHA
5359             0x1C38,   // 1C38..1C3A; UNKNOWN
5360             0x1C3B,   // 1C3B..1C49; LEPCHA
5361             0x1C4A,   // 1C4A..1C4C; UNKNOWN
5362             0x1C4D,   // 1C4D..1C4F; LEPCHA
5363             0x1C50,   // 1C50..1C7F; OL_CHIKI
5364             0x1C80,   // 1C80..1C88; CYRILLIC
5365             0x1C89,   // 1C89      ; UNKNOWN
5366             0x1C90,   // 1C90..1CBA; GEORGIAN
5367             0x1CBB,   // 1CBB..1CBC; UNKNOWN
5368             0x1CBD,   // 1CBD..1CBF; GEORGIAN
5369             0x1CC0,   // 1CC0..1CC7; SUNDANESE
5370             0x1CC8,   // 1CC8..1CCF; UNKNOWN
5371             0x1CD0,   // 1CD0..1CD2; INHERITED
5372             0x1CD3,   // 1CD3      ; COMMON
5373             0x1CD4,   // 1CD4..1CE0; INHERITED
5374             0x1CE1,   // 1CE1      ; COMMON
5375             0x1CE2,   // 1CE2..1CE8; INHERITED
5376             0x1CE9,   // 1CE9..1CEC; COMMON
5377             0x1CED,   // 1CED      ; INHERITED
5378             0x1CEE,   // 1CEE..1CF3; COMMON
5379             0x1CF4,   // 1CF4      ; INHERITED
5380             0x1CF5,   // 1CF5..1CF7; COMMON
5381             0x1CF8,   // 1CF8..1CF9; INHERITED
5382             0x1CFA,   // 1CFA..1CFF; UNKNOWN

5383             0x1D00,   // 1D00..1D25; LATIN
5384             0x1D26,   // 1D26..1D2A; GREEK
5385             0x1D2B,   // 1D2B      ; CYRILLIC
5386             0x1D2C,   // 1D2C..1D5C; LATIN
5387             0x1D5D,   // 1D5D..1D61; GREEK
5388             0x1D62,   // 1D62..1D65; LATIN
5389             0x1D66,   // 1D66..1D6A; GREEK
5390             0x1D6B,   // 1D6B..1D77; LATIN
5391             0x1D78,   // 1D78      ; CYRILLIC
5392             0x1D79,   // 1D79..1DBE; LATIN
5393             0x1DBF,   // 1DBF      ; GREEK
5394             0x1DC0,   // 1DC0..1DF9; INHERITED
5395             0x1DFA,   // 1DFA      ; UNKNOWN
5396             0x1DFB,   // 1DFB..1DFF; INHERITED
5397             0x1E00,   // 1E00..1EFF; LATIN
5398             0x1F00,   // 1F00..1F15; GREEK
5399             0x1F16,   // 1F16..1F17; UNKNOWN
5400             0x1F18,   // 1F18..1F1D; GREEK
5401             0x1F1E,   // 1F1E..1F1F; UNKNOWN
5402             0x1F20,   // 1F20..1F45; GREEK


5449             0x2127,   // 2127..2129; COMMON
5450             0x212A,   // 212A..212B; LATIN
5451             0x212C,   // 212C..2131; COMMON
5452             0x2132,   // 2132      ; LATIN
5453             0x2133,   // 2133..214D; COMMON
5454             0x214E,   // 214E      ; LATIN
5455             0x214F,   // 214F..215F; COMMON
5456             0x2160,   // 2160..2188; LATIN
5457             0x2189,   // 2189..218B; COMMON
5458             0x218C,   // 218C..218F; UNKNOWN
5459             0x2190,   // 2190..2426; COMMON
5460             0x2427,   // 2427..243F; UNKNOWN
5461             0x2440,   // 2440..244A; COMMON
5462             0x244B,   // 244B..245F; UNKNOWN
5463             0x2460,   // 2460..27FF; COMMON
5464             0x2800,   // 2800..28FF; BRAILLE
5465             0x2900,   // 2900..2B73; COMMON
5466             0x2B74,   // 2B74..2B75; UNKNOWN
5467             0x2B76,   // 2B76..2B95; COMMON
5468             0x2B96,   // 2B96..2B97; UNKNOWN
5469             0x2B98,   // 2B98..2BC8; COMMON
5470             0x2BC9,   // 2BC9      ; UNKNOWN
5471             0x2BCA,   // 2BCA..2BFE; COMMON
5472             0x2BFF,   // 2BFF;       UNKNOWN
5473             0x2C00,   // 2C00..2C2E; GLAGOLITIC
5474             0x2C2F,   // 2C2F      ; UNKNOWN
5475             0x2C30,   // 2C30..2C5E; GLAGOLITIC
5476             0x2C5F,   // 2C5F      ; UNKNOWN
5477             0x2C60,   // 2C60..2C7F; LATIN
5478             0x2C80,   // 2C80..2CF3; COPTIC
5479             0x2CF4,   // 2CF4..2CF8; UNKNOWN
5480             0x2CF9,   // 2CF9..2CFF; COPTIC
5481             0x2D00,   // 2D00..2D25; GEORGIAN
5482             0x2D26,   // 2D26      ; UNKNOWN
5483             0x2D27,   // 2D27      ; GEORGIAN
5484             0x2D28,   // 2D28..2D2C; UNKNOWN
5485             0x2D2D,   // 2D2D      ; GEORGIAN
5486             0x2D2E,   // 2D2E..2D2F; UNKNOWN
5487             0x2D30,   // 2D30..2D67; TIFINAGH
5488             0x2D68,   // 2D68..2D6E; UNKNOWN
5489             0x2D6F,   // 2D6F..2D70; TIFINAGH
5490             0x2D71,   // 2D71..2D7E; UNKNOWN
5491             0x2D7F,   // 2D7F      ; TIFINAGH
5492             0x2D80,   // 2D80..2D96; ETHIOPIC
5493             0x2D97,   // 2D97..2D9F; UNKNOWN
5494             0x2DA0,   // 2DA0..2DA6; ETHIOPIC
5495             0x2DA7,   // 2DA7      ; UNKNOWN
5496             0x2DA8,   // 2DA8..2DAE; ETHIOPIC
5497             0x2DAF,   // 2DAF      ; UNKNOWN
5498             0x2DB0,   // 2DB0..2DB6; ETHIOPIC
5499             0x2DB7,   // 2DB7      ; UNKNOWN
5500             0x2DB8,   // 2DB8..2DBE; ETHIOPIC
5501             0x2DBF,   // 2DBF      ; UNKNOWN
5502             0x2DC0,   // 2DC0..2DC6; ETHIOPIC
5503             0x2DC7,   // 2DC7      ; UNKNOWN
5504             0x2DC8,   // 2DC8..2DCE; ETHIOPIC
5505             0x2DCF,   // 2DCF      ; UNKNOWN
5506             0x2DD0,   // 2DD0..2DD6; ETHIOPIC
5507             0x2DD7,   // 2DD7      ; UNKNOWN
5508             0x2DD8,   // 2DD8..2DDE; ETHIOPIC
5509             0x2DDF,   // 2DDF      ; UNKNOWN
5510             0x2DE0,   // 2DE0..2DFF; CYRILLIC
5511             0x2E00,   // 2E00..2E4E; COMMON
5512             0x2E4F,   // 2E4F..2E7F; UNKNOWN
5513             0x2E80,   // 2E80..2E99; HAN
5514             0x2E9A,   // 2E9A      ; UNKNOWN
5515             0x2E9B,   // 2E9B..2EF3; HAN
5516             0x2EF4,   // 2EF4..2EFF; UNKNOWN
5517             0x2F00,   // 2F00..2FD5; HAN
5518             0x2FD6,   // 2FD6..2FEF; UNKNOWN
5519             0x2FF0,   // 2FF0..2FFB; COMMON
5520             0x2FFC,   // 2FFC..2FFF; UNKNOWN
5521             0x3000,   // 3000..3004; COMMON
5522             0x3005,   // 3005      ; HAN
5523             0x3006,   // 3006      ; COMMON
5524             0x3007,   // 3007      ; HAN
5525             0x3008,   // 3008..3020; COMMON
5526             0x3021,   // 3021..3029; HAN
5527             0x302A,   // 302A..302D; INHERITED
5528             0x302E,   // 302E..302F; HANGUL
5529             0x3030,   // 3030..3037; COMMON
5530             0x3038,   // 3038..303B; HAN
5531             0x303C,   // 303C..303F; COMMON
5532             0x3040,   // 3040      ; UNKNOWN
5533             0x3041,   // 3041..3096; HIRAGANA
5534             0x3097,   // 3097..3098; UNKNOWN
5535             0x3099,   // 3099..309A; INHERITED
5536             0x309B,   // 309B..309C; COMMON
5537             0x309D,   // 309D..309F; HIRAGANA
5538             0x30A0,   // 30A0      ; COMMON
5539             0x30A1,   // 30A1..30FA; KATAKANA
5540             0x30FB,   // 30FB..30FC; COMMON
5541             0x30FD,   // 30FD..30FF; KATAKANA
5542             0x3100,   // 3100..3104; UNKNOWN
5543             0x3105,   // 3105..312F; BOPOMOFO
5544             0x3130,   // 3130;       UNKNOWN
5545             0x3131,   // 3131..318E; HANGUL
5546             0x318F,   // 318F      ; UNKNOWN
5547             0x3190,   // 3190..319F; COMMON
5548             0x31A0,   // 31A0..31BA; BOPOMOFO
5549             0x31BB,   // 31BB..31BF; UNKNOWN
5550             0x31C0,   // 31C0..31E3; COMMON
5551             0x31E4,   // 31E4..31EF; UNKNOWN
5552             0x31F0,   // 31F0..31FF; KATAKANA
5553             0x3200,   // 3200..321E; HANGUL
5554             0x321F,   // 321F      ; UNKNOWN
5555             0x3220,   // 3220..325F; COMMON
5556             0x3260,   // 3260..327E; HANGUL
5557             0x327F,   // 327F..32CF; COMMON
5558             0x32D0,   // 32D0..32FE; KATAKANA
5559             0x32FF,   // 32FF      ; COMMON
5560             0x3300,   // 3300..3357; KATAKANA
5561             0x3358,   // 3358..33FF; COMMON
5562             0x3400,   // 3400..4DB5; HAN
5563             0x4DB6,   // 4DB6..4DBF; UNKNOWN
5564             0x4DC0,   // 4DC0..4DFF; COMMON
5565             0x4E00,   // 4E00..9FEF; HAN
5566             0x9FF0,   // 9FF0..9FFF; UNKNOWN
5567             0xA000,   // A000..A48C; YI
5568             0xA48D,   // A48D..A48F; UNKNOWN
5569             0xA490,   // A490..A4C6; YI
5570             0xA4C7,   // A4C7..A4CF; UNKNOWN
5571             0xA4D0,   // A4D0..A4FF; LISU
5572             0xA500,   // A500..A62B; VAI
5573             0xA62C,   // A62C..A63F; UNKNOWN
5574             0xA640,   // A640..A69F; CYRILLIC
5575             0xA6A0,   // A6A0..A6F7; BAMUM
5576             0xA6F8,   // A6F8..A6FF; UNKNOWN
5577             0xA700,   // A700..A721; COMMON
5578             0xA722,   // A722..A787; LATIN
5579             0xA788,   // A788..A78A; COMMON
5580             0xA78B,   // A78B..A7B9; LATIN
5581             0xA7C0,   // A7C0..A7F6; UNKNOWN


5582             0xA7F7,   // A7F7..A7FF; LATIN
5583             0xA800,   // A800..A82B; SYLOTI_NAGRI
5584             0xA82C,   // A82C..A82F; UNKNOWN
5585             0xA830,   // A830..A839; COMMON
5586             0xA83A,   // A83A..A83F; UNKNOWN
5587             0xA840,   // A840..A877; PHAGS_PA
5588             0xA878,   // A878..A87F; UNKNOWN
5589             0xA880,   // A880..A8C5; SAURASHTRA
5590             0xA8C6,   // A8C6..A8CD; UNKNOWN
5591             0xA8CE,   // A8CE..A8D9; SAURASHTRA
5592             0xA8DA,   // A8DA..A8DF; UNKNOWN
5593             0xA8E0,   // A8E0..A8FF; DEVANAGARI
5594             0xA900,   // A900..A92D; KAYAH_LI
5595             0xA92E,   // A92E      ; COMMON
5596             0xA92F,   // A92F      ; KAYAH_LI
5597             0xA930,   // A930..A953; REJANG
5598             0xA954,   // A954..A95E; UNKNOWN
5599             0xA95F,   // A95F      ; REJANG
5600             0xA960,   // A960..A97C; HANGUL
5601             0xA97D,   // A97D..A97F; UNKNOWN


5617             0xAA60,   // AA60..AA7F; MYANMAR
5618             0xAA80,   // AA80..AAC2; TAI_VIET
5619             0xAAC3,   // AAC3..AADA; UNKNOWN
5620             0xAADB,   // AADB..AADF; TAI_VIET
5621             0xAAE0,   // AAE0..AAF6; MEETEI_MAYEK
5622             0xAAF7,   // AAF7..AB00; UNKNOWN
5623             0xAB01,   // AB01..AB06; ETHIOPIC
5624             0xAB07,   // AB07..AB08; UNKNOWN
5625             0xAB09,   // AB09..AB0E; ETHIOPIC
5626             0xAB0F,   // AB0F..AB10; UNKNOWN
5627             0xAB11,   // AB11..AB16; ETHIOPIC
5628             0xAB17,   // AB17..AB1F; UNKNOWN
5629             0xAB20,   // AB20..AB26; ETHIOPIC
5630             0xAB27,   // AB27      ; UNKNOWN
5631             0xAB28,   // AB28..AB2E; ETHIOPIC
5632             0xAB2F,   // AB2F      ; UNKNOWN
5633             0xAB30,   // AB30..AB5A; LATIN
5634             0xAB5B,   // AB5B      ; COMMON
5635             0xAB5C,   // AB5C..AB64; LATIN
5636             0xAB65,   // AB65      ; GREEK
5637             0xAB66,   // AB66..AB6F; UNKNOWN

5638             0xAB70,   // AB70..ABBF; CHEROKEE
5639             0xABC0,   // ABC0..ABED; MEETEI_MAYEK
5640             0xABEE,   // ABEE..ABEF; UNKNOWN
5641             0xABF0,   // ABF0..ABF9; MEETEI_MAYEK
5642             0xABFA,   // ABFA..ABFF; UNKNOWN
5643             0xAC00,   // AC00..D7A3; HANGUL
5644             0xD7A4,   // D7A4..D7AF; UNKNOWN
5645             0xD7B0,   // D7B0..D7C6; HANGUL
5646             0xD7C7,   // D7C7..D7CA; UNKNOWN
5647             0xD7CB,   // D7CB..D7FB; HANGUL
5648             0xD7FC,   // D7FC..F8FF; UNKNOWN
5649             0xF900,   // F900..FA6D; HAN
5650             0xFA6E,   // FA6E..FA6F; UNKNOWN
5651             0xFA70,   // FA70..FAD9; HAN
5652             0xFADA,   // FADA..FAFF; UNKNOWN
5653             0xFB00,   // FB00..FB06; LATIN
5654             0xFB07,   // FB07..FB12; UNKNOWN
5655             0xFB13,   // FB13..FB17; ARMENIAN
5656             0xFB18,   // FB18..FB1C; UNKNOWN
5657             0xFB1D,   // FB1D..FB36; HEBREW


5854             0x10B39,  // 10B39..10B3F; AVESTAN
5855             0x10B40,  // 10B40..10B55; INSCRIPTIONAL_PARTHIAN
5856             0x10B56,  // 10B56..10B57; UNKNOWN
5857             0x10B58,  // 10B58..10B5F; INSCRIPTIONAL_PARTHIAN
5858             0x10B60,  // 10B60..10B72; INSCRIPTIONAL_PAHLAVI
5859             0x10B73,  // 10B73..10B77; UNKNOWN
5860             0x10B78,  // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5861             0x10B80,  // 10B80..10B91; PSALTER_PAHLAVI
5862             0x10B92,  // 10B92..10B98; UNKNOWN
5863             0x10B99,  // 10B99..10B9C; PSALTER_PAHLAVI
5864             0x10B9D,  // 10B9D..10BA8; UNKNOWN
5865             0x10BA9,  // 10BA9..10BAF; PSALTER_PAHLAVI
5866             0x10BB0,  // 10BB0..10BFF; UNKNOWN
5867             0x10C00,  // 10C00..10C48; OLD_TURKIC
5868             0x10C49,  // 10C49..10C7F; UNKNOWN
5869             0x10C80,  // 10C80..10CB2; OLD_HUNGARIAN
5870             0x10CB3,  // 10CB3..10CBF; UNKNOWN
5871             0x10CC0,  // 10CC0..10CF2; OLD_HUNGARIAN
5872             0x10CF3,  // 10CF3..10CF9; UNKNOWN
5873             0x10CFA,  // 10CFA..10CFF; OLD_HUNGARIAN
5874             0x10D00,  // 10D00..10D27; HANIFI ROHINGYA
5875             0x10D28,  // 10D28..10D29; UNKNOWN
5876             0x10D30,  // 10D30..10D39; HANIFI ROHINGYA
5877             0x10D3A,  // 10D3A..10E5F; UNKNOWN
5878             0x10E60,  // 10E60..10E7E; ARABIC
5879             0x10E7F,  // 10E7F..10EFF; UNKNOWN
5880             0x10F00,  // 10F00..10F27; OLD SOGDIAN
5881             0x10F28,  // 10F28..10F2F; UNKNOWN
5882             0x10F30,  // 10F30..10F59; SOGDIAN
5883             0x10F5A,  // 10F5A..10FFF; UNKNOWN


5884             0x11000,  // 11000..1104D; BRAHMI
5885             0x1104E,  // 1104E..11051; UNKNOWN
5886             0x11052,  // 11052..1106F; BRAHMI
5887             0x11070,  // 11070..1107E; UNKNOWN
5888             0x1107F,  // 1107F       ; BRAHMI
5889             0x11080,  // 11080..110C1; KAITHI
5890             0x110C2,  // 110C2..110CC; UNKNOWN
5891             0x110CD,  // 110CD       ; KAITHI
5892             0x110CE,  // 110CE..110CF; UNKNOWN
5893             0x110D0,  // 110D0..110E8; SORA_SOMPENG
5894             0x110E9,  // 110E9..110EF; UNKNOWN
5895             0x110F0,  // 110F0..110F9; SORA_SOMPENG
5896             0x110FA,  // 110FA..110FF; UNKNOWN
5897             0x11100,  // 11100..11134; CHAKMA
5898             0x11135,  // 11135       ; UNKNOWN
5899             0x11136,  // 11136..11146; CHAKMA
5900             0x11147,  // 11147..1114F; UNKNOWN
5901             0x11150,  // 11150..11176; MAHAJANI
5902             0x11177,  // 11177..1117F; UNKNOWN
5903             0x11180,  // 11180..111CD; SHARADA


5942             0x1133C,  // 1133C..11344; GRANTHA
5943             0x11345,  // 11345..11346; UNKNOWN
5944             0x11347,  // 11347..11348; GRANTHA
5945             0x11349,  // 11349..1134A; UNKNOWN
5946             0x1134B,  // 1134B..1134D; GRANTHA
5947             0x1134E,  // 1134E..1134F; UNKNOWN
5948             0x11350,  // 11350       ; GRANTHA
5949             0x11351,  // 11351..11356; UNKNOWN
5950             0x11357,  // 11357       ; GRANTHA
5951             0x11358,  // 11358..1135C; UNKNOWN
5952             0x1135D,  // 1135D..11363; GRANTHA
5953             0x11364,  // 11364..11365; UNKNOWN
5954             0x11366,  // 11366..1136C; GRANTHA
5955             0x1136D,  // 1136D..1136F; UNKNOWN
5956             0x11370,  // 11370..11374; GRANTHA
5957             0x11375,  // 11375..113FF; UNKNOWN
5958             0x11400,  // 11400..11459; NEWA
5959             0x1145A,  // 1145A       ; UNKNOWN
5960             0x1145B,  // 1145B       ; NEWA
5961             0x1145C,  // 1145C       ; UNKNOWN
5962             0x1145D,  // 1145D..1145E; NEWA
5963             0x1145F,  // 1145F..1147F; UNKNOWN
5964             0x11480,  // 11480..114C7; TIRHUTA
5965             0x114C8,  // 114C8..114CF; UNKNOWN
5966             0x114D0,  // 114D0..114D9; TIRHUTA
5967             0x114DA,  // 114DA..1157F; UNKNOWN
5968             0x11580,  // 11580..115B5; SIDDHAM
5969             0x115B6,  // 115B6..115B7; UNKNOWN
5970             0x115B8,  // 115B8..115DD; SIDDHAM
5971             0x115DE,  // 115DE..115FF; UNKNOWN
5972             0x11600,  // 11600..11644; MODI
5973             0x11645,  // 11645..1164F; UNKNOWN
5974             0x11650,  // 11650..11659; MODI
5975             0x1165A,  // 1165A..1165F; UNKNOWN
5976             0x11660,  // 11660..1166C; MONGOLIAN
5977             0X1166D,  // 1166D..1167F; UNKNOWN
5978             0x11680,  // 11680..116B7; TAKRI
5979             0x116B8,  // 116B8..116BF; UNKNOWN
5980             0x116C0,  // 116C0..116C9; TAKRI
5981             0x116CA,  // 116CA..116FF; UNKNOWN
5982             0x11700,  // 11700..1171A; AHOM
5983             0x1171B,  // 1171B..1171C; UNKNOWN
5984             0x1171D,  // 1171D..1172B; AHOM
5985             0x1172C,  // 1172C..1172F; UNKNOWN
5986             0x11730,  // 11730..1173F; AHOM
5987             0x11740,  // 11740..117FF; UNKNOWN
5988             0x11800,  // 11800..1183B; DOGRA
5989             0x1183C,  // 1183C..1189F; UNKNOWN
5990             0x118A0,  // 118A0..118F2; WARANG_CITI
5991             0x118F3,  // 118F3..118FE; UNKNOWN
5992             0x118FF,  // 118FF       ; WARANG_CITI
5993             0x11900,  // 11900..119FF; UNKNOWN






5994             0x11A00,  // 11A00..11A47; ZANABAZAR_SQUARE
5995             0X11A48,  // 11A48..11A4F; UNKNOWN
5996             0x11A50,  // 11A50..11A83; SOYOMBO
5997             0x11A84,  // 11A84..11A85; UNKNOWN
5998             0x11A86,  // 11A86..11AA2; SOYOMBO
5999             0x11AA3,  // 11AA3..11ABF; UNKNOWN
6000             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
6001             0x11AF9,  // 11AF9..11BFF; UNKNOWN
6002             0x11C00,  // 11C00..11C08; BHAIKSUKI
6003             0x11C09,  // 11C09       ; UNKNOWN
6004             0x11C0A,  // 11C0A..11C36; BHAIKSUKI
6005             0x11C37,  // 11C37       ; UNKNOWN
6006             0x11C38,  // 11C38..11C45; BHAIKSUKI
6007             0x11C46,  // 11C46..11C49; UNKNOWN
6008             0x11C50,  // 11C50..11C6C; BHAIKSUKI
6009             0x11C6D,  // 11C6D..11C6F; UNKNOWN
6010             0x11C70,  // 11C70..11C8F; MARCHEN
6011             0x11C90,  // 11C90..11C91; UNKNOWN
6012             0x11C92,  // 11C92..11CA7; MARCHEN
6013             0x11CA8,  // 11CA8       ; UNKNOWN
6014             0x11CA9,  // 11CA9..11CB6; MARCHEN
6015             0x11CB7,  // 11CB7..11CFF; UNKNOWN
6016             0x11D00,  // 11D00..11D06; MASARAM_GONDI
6017             0x11D07,  // 11D07       ; UNKNOWN
6018             0x11D08,  // 11D08..11D09; MASARAM_GONDI
6019             0x11D0A,  // 11D0A       ; UNKNOWN
6020             0x11D0B,  // 11D0B..11D36; MASARAM_GONDI
6021             0x11D37,  // 11D37..11D39; UNKNOWN
6022             0x11D3A,  // 11D3A       ; MASARAM_GONDI
6023             0x11D3B,  // 11D3B       ; UNKNOWN
6024             0x11D3C,  // 11D3C..11D3D; MASARAM_GONDI
6025             0x11D3E,  // 11D3E       ; UNKNOWN
6026             0x11D3F,  // 11D3F..11D47; MASARAM_GONDI
6027             0x11D48,  // 11D48..11D49, UNKNOWN
6028             0x11D50,  // 11D50..11D59; MASARAM_GONDI
6029             0x11D5A,  // 11D5A..11D5F; UNKNOWN
6030             0x11D60,  // 11D60..11D68; GUNJALA GONDI
6031             0x11D69,  //             ; UNKNOWN
6032             0x11D6A,  // 11D6A..11D8E; GUNJALA GONDI
6033             0x11D8F,  //             ; UNKNOWN
6034             0x11D90,  // 11D90..11D91; GUNJALA GONDI
6035             0x11D92,  //             ; UNKNOWN
6036             0x11D93,  // 11D93..11D98; GUNJALA GONDI
6037             0x11D99,  // 11D99       ; UNKNOWN
6038             0x11DA0,  // 11DA0..11DA9; GUNJALA GONDI
6039             0x11DAA,  // 11DAA..11DFF; UNKNOWN


6040             0x11EE0,  // 11EE0..11EF8; MAKASAR
6041             0x11EF9,  // 11EF9..11FFF; UNKNOWN



6042             0x12000,  // 12000..12399; CUNEIFORM
6043             0x1239A,  // 1239A..123FF; UNKNOWN
6044             0x12400,  // 12400..1246E; CUNEIFORM
6045             0x1246F,  // 1246F       ; UNKNOWN
6046             0x12470,  // 12470..12474; CUNEIFORM
6047             0x12475,  // 12475..1247F; UNKNOWN
6048             0x12480,  // 12480..12543; CUNEIFORM
6049             0x12544,  // 12544..12FFF; UNKNOWN
6050             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6051             0x1342F,  // 1342F..143FF; UNKNOWN


6052             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
6053             0x14647,  // 14647..167FF; UNKNOWN
6054             0x16800,  // 16800..16A38; BAMUM
6055             0x16A39,  // 16A39..16A3F; UNKNOWN
6056             0x16A40,  // 16A40..16A5E; MRO
6057             0x16A5F,  // 16A5F       ; UNKNOWN
6058             0x16A60,  // 16A60..16A69; MRO
6059             0x16A6A,  // 16A6A..16A6D; UNKNOWN
6060             0x16A6E,  // 16A6E..16A6F; MRO
6061             0x16A70,  // 16A70..16ACF; UNKNOWN
6062             0x16AD0,  // 16AD0..16AED; BASSA_VAH
6063             0x16AEE,  // 16AEE..16AEF; UNKNOWN
6064             0x16AF0,  // 16AF0..16AF5; BASSA_VAH
6065             0x16AF6,  // 16AF6..16AFF; UNKNOWN
6066             0x16B00,  // 16B00..16B45; PAHAWH_HMONG
6067             0x16B46,  // 16B46..16B4F; UNKNOWN
6068             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
6069             0x16B5A,  // 16B5A       ; UNKNOWN
6070             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
6071             0x16B62,  // 16B62       ; UNKNOWN
6072             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
6073             0x16B78,  // 16B78..16B7C; UNKNOWN
6074             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
6075             0x16B90,  // 16B90..16E3F; UNKNOWN
6076             0x16E40,  // 16E40..16E9A; MEDEFAIDRIN
6077             0x16E9B,  // 16E9B..16EFF; UNKNOWN
6078             0x16F00,  // 16F00..16F44; MIAO
6079             0x16F45,  // 16F45..16F4F; UNKNOWN
6080             0x16F50,  // 16F50..16F7E; MIAO
6081             0x16F7F,  // 16F7F..16F8E; UNKNOWN
6082             0x16F8F,  // 16F8F..16F9F; MIAO
6083             0x16FA0,  // 16FA0..16FDF; UNKNOWN
6084             0x16FE0,  // 16FE0       ; TANGUT
6085             0x16FE1,  // 16FE1       ; NUSHU
6086             0x16FE2,  // 16FE2..16FFF; UNKNOWN
6087             0x17000,  // 17000..187F1; TANGUT
6088             0x187F2,  // 187F2..187FF; UNKNOWN

6089             0x18800,  // 18800..18AF2; TANGUT
6090             0x18AF3,  // 18AF3..1AFFF; UNKNOWN
6091             0x1B000,  // 1B000       ; KATAKANA
6092             0x1B001,  // 1B001..1B11E; HIRAGANA
6093             0x1B11F,  // 1B11F..1B16F; UNKNOWN




6094             0x1B170,  // 1B170..1B2FB; NUSHU
6095             0x1B2FC,  // 1B2FC..1BBFF; UNKNOWN
6096             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
6097             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
6098             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
6099             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
6100             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
6101             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
6102             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
6103             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
6104             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
6105             0x1BCA0,  // 1BCA0..1BCA3; COMMON
6106             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN
6107             0x1D000,  // 1D000..1D0F5; COMMON
6108             0x1D0F6,  // 1D0F6..1D0FF; UNKNOWN
6109             0x1D100,  // 1D100..1D126; COMMON
6110             0x1D127,  // 1D127..1D128; UNKNOWN
6111             0x1D129,  // 1D129..1D166; COMMON
6112             0x1D167,  // 1D167..1D169; INHERITED
6113             0x1D16A,  // 1D16A..1D17A; COMMON


6165             0x1D552,  // 1D552..1D6A5; COMMON
6166             0x1D6A6,  // 1D6A6..1D6A7; UNKNOWN
6167             0x1D6A8,  // 1D6A8..1D7CB; COMMON
6168             0x1D7CC,  // 1D7CC..1D7CD; UNKNOWN
6169             0x1D7CE,  // 1D7CE..1D7FF; COMMON
6170             0x1D800,  // 1D800..1DA8B; SIGNWRITING
6171             0x1DA8C,  // 1DA8C..1DA9A; UNKNOWN
6172             0x1DA9B,  // 1DA9B..1DA9F; SIGNWRITING
6173             0x1DAA0,  // 1DAA0       ; UNKNOWN
6174             0x1DAA1,  // 1DAA1..1DAAF; SIGNWRITING
6175             0x1DAB0,  // 1DAB0..1DFFF; UNKNOWN
6176             0x1E000,  // 1E000..1E006; GLAGOLITIC
6177             0x1E007,  // 1E007       ; UNKNOWN
6178             0x1E008,  // 1E008..1E018; GLAGOLITIC
6179             0x1E019,  // 1E019..1E01A; UNKNOWN
6180             0x1E01B,  // 1E01B..1E021; GLAGOLITIC
6181             0x1E022,  // 1E022       ; UNKNOWN
6182             0x1E023,  // 1E023..1E024; GLAGOLITIC
6183             0x1E025,  // 1E025       ; UNKNOWN
6184             0x1E026,  // 1E026..1E02A; GLAGOLITIC
6185             0x1E02B,  // 1E02B..1E7FF; UNKNOWN












6186             0x1E800,  // 1E800..1E8C4; MENDE_KIKAKUI
6187             0x1E8C5,  // 1E8C5..1E8C6; UNKNOWN
6188             0x1E8C7,  // 1E8C7..1E8D6; MENDE_KIKAKUI
6189             0x1E8D7,  // 1E8D7..1E8FF; UNKNOWN
6190             0x1E900,  // 1E900..1E94A; ADLAM
6191             0x1E94B,  // 1E94B..1E94F; UNKNOWN
6192             0x1E950,  // 1E950..1E959; ADLAM
6193             0x1E95A,  // 1E95A..1E95D; UNKNOWN
6194             0x1E95E,  // 1E95E..1E95F; ADLAM
6195             0x1E960,  // 1E960..1EC70; UNKNOWN
6196             0x1EC71,  // 1EC71..1ECB4; COMMON
6197             0x1ECB5,  // 1ECB5..1EDFF; UNKNOWN


6198             0x1EE00,  // 1EE00..1EE03; ARABIC
6199             0x1EE04,  // 1EE04       ; UNKNOWN
6200             0x1EE05,  // 1EE05..1EE1F; ARABIC
6201             0x1EE20,  // 1EE20       ; UNKNOWN
6202             0x1EE21,  // 1EE21..1EE22; ARABIC
6203             0x1EE23,  // 1EE23       ; UNKNOWN
6204             0x1EE24,  // 1EE24       ; ARABIC
6205             0x1EE25,  // 1EE25..1EE26; UNKNOWN
6206             0x1EE27,  // 1EE27       ; ARABIC
6207             0x1EE28,  // 1EE28       ; UNKNOWN
6208             0x1EE29,  // 1EE29..1EE32; ARABIC
6209             0x1EE33,  // 1EE33       ; UNKNOWN
6210             0x1EE34,  // 1EE34..1EE37; ARABIC
6211             0x1EE38,  // 1EE38       ; UNKNOWN
6212             0x1EE39,  // 1EE39       ; ARABIC
6213             0x1EE3A,  // 1EE3A       ; UNKNOWN
6214             0x1EE3B,  // 1EE3B       ; ARABIC
6215             0x1EE3C,  // 1EE3C..1EE41; UNKNOWN
6216             0x1EE42,  // 1EE42       ; ARABIC
6217             0x1EE43,  // 1EE43..1EE46; UNKNOWN


6260             0x1EEA5,  // 1EEA5..1EEA9; ARABIC
6261             0x1EEAA,  // 1EEAA       ; UNKNOWN
6262             0x1EEAB,  // 1EEAB..1EEBB; ARABIC
6263             0x1EEBC,  // 1EEBC..1EEEF; UNKNOWN
6264             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
6265             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
6266             0x1F000,  // 1F000..1F02B; COMMON
6267             0x1F02C,  // 1F02C..1F02F; UNKNOWN
6268             0x1F030,  // 1F030..1F093; COMMON
6269             0x1F094,  // 1F094..1F09F; UNKNOWN
6270             0x1F0A0,  // 1F0A0..1F0AE; COMMON
6271             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
6272             0x1F0B1,  // 1F0B1..1F0BF; COMMON
6273             0x1F0C0,  // 1F0C0       ; UNKNOWN
6274             0x1F0C1,  // 1F0C1..1F0CF; COMMON
6275             0x1F0D0,  // 1F0D0       ; UNKNOWN
6276             0x1F0D1,  // 1F0D1..1F0F5; COMMON
6277             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
6278             0x1F100,  // 1F100..1F10C; COMMON
6279             0x1F10D,  // 1F10D..1F10F; UNKNOWN
6280             0x1F110,  // 1F110..1F16B; COMMON
6281             0x1F16C,  // 1F16C..1F16F; UNKNOWN
6282             0x1F170,  // 1F170..1F1AC; COMMON
6283             0x1F1AD,  // 1F1AD..1F1E5; UNKNOWN
6284             0x1F1E6,  // 1F1E6..1F1FF; COMMON
6285             0x1F200,  // 1F200       ; HIRAGANA
6286             0x1F201,  // 1F201..1F202; COMMON
6287             0x1F203,  // 1F203..1F20F; UNKNOWN
6288             0x1F210,  // 1F210..1F23B; COMMON
6289             0x1F23C,  // 1F23C..1F23F; UNKNOWN
6290             0x1F240,  // 1F240..1F248; COMMON
6291             0x1F249,  // 1F249..1F24F; UNKNOWN
6292             0x1F250,  // 1F250..1F251; COMMON
6293             0x1F252,  // 1F252..1F25F; UNKNOWN
6294             0x1F260,  // 1F260..1F265; COMMON
6295             0x1F266,  // 1F266..1F2FF; UNKNOWN
6296             0x1F300,  // 1F300..1F6D4; COMMON
6297             0x1F6D5,  // 1F6D5..1F6DF; UNKNOWN
6298             0x1F6E0,  // 1F6E0..1F6EC; COMMON
6299             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
6300             0x1F6F0,  // 1F6F0..1F6F9; COMMON
6301             0x1F6FA,  // 1F6FA..1F6FF; UNKNOWN
6302             0x1F700,  // 1F700..1F773; COMMON
6303             0x1F774,  // 1F774..1F77F; UNKNOWN
6304             0x1F780,  // 1F780..1F7D8; COMMON
6305             0x1F7D9,  // 1F7D9..1F7FF; UNKNOWN


6306             0x1F800,  // 1F800..1F80B; COMMON
6307             0x1F80C,  // 1F80C..1F80F; UNKNOWN
6308             0x1F810,  // 1F810..1F847; COMMON
6309             0x1F848,  // 1F848..1F84F; UNKNOWN
6310             0x1F850,  // 1F850..1F859; COMMON
6311             0x1F85A,  // 1F85A..1F85F; UNKNOWN
6312             0x1F860,  // 1F860..1F887; COMMON
6313             0x1F888,  // 1F888..1F88F; UNKNOWN
6314             0x1F890,  // 1F890..1F8AD; COMMON
6315             0x1F8AE,  // 1F8AE..1F8FF; UNKNOWN
6316             0x1F900,  // 1F900..1F90B; COMMON
6317             0x1F90C,  // 1F90C..1F90F; UNKNOWN
6318             0x1F910,  // 1F910..1F93E; COMMON
6319             0x1F93F,  // 1F93F       ; UNKNOWN
6320             0x1F940,  // 1F940..1F970; COMMON
6321             0x1F971,  // 1F971..1F972; UNKNOWN
6322             0x1F973,  // 1F973..1F976; COMMON
6323             0x1F977,  // 1F977..1F979; UNKNOWN
6324             0x1F97A,  // 1F97A       ; COMMON
6325             0x1F97B,  // 1F97B       ; UNKNOWN
6326             0x1F97C,  // 1F97C..1F9A2; COMMON
6327             0x1F9A3,  // 1F9A3..1F9AF; UNKNOWN
6328             0x1F9B0,  // 1F9B0..1F9B9; COMMON
6329             0x1F9BA,  // 1F9BA..1F9BF; UNKNOWN
6330             0x1F9C0,  // 1F9C0..1F9C2; COMMON
6331             0x1F9C3,  // 1F9C3..1F9CF; UNKNOWN
6332             0x1F9D0,  // 1F9D0..1F9FF; COMMON
6333             0x1FA00,  // 1FA00..1FA5F; UNKNOWN
6334             0x1FA60,  // 1FA60..1FA6D; COMMON
6335             0x1FA6E,  // 1FA6E..1FFFF; UNKNOWN








6336             0x20000,  // 20000..2A6D6; HAN
6337             0x2A6D7,  // 2A6D7..2A6FF; UNKNOWN
6338             0x2A700,  // 2A700..2B734; HAN
6339             0x2B735,  // 2B735..2B73F; UNKNOWN
6340             0x2B740,  // 2B740..2B81D; HAN
6341             0x2B81E,  // 2B81E..2B81F; UNKNOWN
6342             0x2B820,  // 2B820..2CEA1; HAN
6343             0x2CEA2,  // 2CEA2..2CEAF; UNKNOWN
6344             0x2CEB0,  // 2CEB0..2EBE0; HAN
6345             0x2EBE1,  // 2EBE1..2F7FF; UNKNOWN
6346             0x2F800,  // 2F800..2FA1D; HAN
6347             0x2FA1E,  // 2FA1E..E0000; UNKNOWN
6348             0xE0001,  // E0001       ; COMMON
6349             0xE0002,  // E0002..E001F; UNKNOWN
6350             0xE0020,  // E0020..E007F; COMMON
6351             0xE0080,  // E0080..E00FF; UNKNOWN
6352             0xE0100,  // E0100..E01EF; INHERITED
6353             0xE01F0   // E01F0..10FFFF; UNKNOWN
6354         };
6355 
6356         private static final UnicodeScript[] scripts = {
6357             COMMON,                   // 0000..0040
6358             LATIN,                    // 0041..005A
6359             COMMON,                   // 005B..0060
6360             LATIN,                    // 0061..007A
6361             COMMON,                   // 007B..00A9
6362             LATIN,                    // 00AA
6363             COMMON,                   // 00AB..00B9
6364             LATIN,                    // 00BA
6365             COMMON,                   // 00BB..00BF
6366             LATIN,                    // 00C0..00D6
6367             COMMON,                   // 00D7
6368             LATIN,                    // 00D8..00F6
6369             COMMON,                   // 00F7
6370             LATIN,                    // 00F8..02B8
6371             COMMON,                   // 02B9..02DF
6372             LATIN,                    // 02E0..02E4
6373             COMMON,                   // 02E5..02E9


6444             UNKNOWN,                  // 07FB..07FC
6445             NKO,                      // 07FD..07FF
6446             SAMARITAN,                // 0800..082D
6447             UNKNOWN,                  // 082E..082F
6448             SAMARITAN,                // 0830..083E
6449             UNKNOWN,                  // 083F
6450             MANDAIC,                  // 0840..085B
6451             UNKNOWN,                  // 085C..085D
6452             MANDAIC,                  // 085E
6453             UNKNOWN,                  // 085F
6454             SYRIAC,                   // 0860..086A
6455             UNKNOWN,                  // 086B..089F
6456             ARABIC,                   // 08A0..08B4
6457             UNKNOWN,                  // 08B5
6458             ARABIC,                   // 08B6..08BD
6459             UNKNOWN,                  // 08BE..08D2
6460             ARABIC,                   // 08D3..08E1
6461             COMMON,                   // 08E2
6462             ARABIC,                   // 08E3..08FF
6463             DEVANAGARI,               // 0900..0950
6464             INHERITED,                // 0951..0952
6465             DEVANAGARI,               // 0953..0963
6466             COMMON,                   // 0964..0965
6467             DEVANAGARI,               // 0966..097F
6468             BENGALI,                  // 0980..0983
6469             UNKNOWN,                  // 0984
6470             BENGALI,                  // 0985..098C
6471             UNKNOWN,                  // 098D..098E
6472             BENGALI,                  // 098F..0990
6473             UNKNOWN,                  // 0991..0992
6474             BENGALI,                  // 0993..09A8
6475             UNKNOWN,                  // 09A9
6476             BENGALI,                  // 09AA..09B0
6477             UNKNOWN,                  // 09B1
6478             BENGALI,                  // 09B2
6479             UNKNOWN,                  // 09B3..09B5
6480             BENGALI,                  // 09B6..09B9
6481             UNKNOWN,                  // 09BA..09BB
6482             BENGALI,                  // 09BC..09C4
6483             UNKNOWN,                  // 09C5..09C6
6484             BENGALI,                  // 09C7..09C8
6485             UNKNOWN,                  // 09C9..09CA


6617             UNKNOWN,                  // 0C0D
6618             TELUGU,                   // 0C0E..0C10
6619             UNKNOWN,                  // 0C11
6620             TELUGU,                   // 0C12..0C28
6621             UNKNOWN,                  // 0C29
6622             TELUGU,                   // 0C2A..0C39
6623             UNKNOWN,                  // 0C3A..0C3C
6624             TELUGU,                   // 0C3D..0C44
6625             UNKNOWN,                  // 0C45
6626             TELUGU,                   // 0C46..0C48
6627             UNKNOWN,                  // 0C49
6628             TELUGU,                   // 0C4A..0C4D
6629             UNKNOWN,                  // 0C4E..0C54
6630             TELUGU,                   // 0C55..0C56
6631             UNKNOWN,                  // 0C57
6632             TELUGU,                   // 0C58..0C5A
6633             UNKNOWN,                  // 0C5B..0C5F
6634             TELUGU,                   // 0C60..0C63
6635             UNKNOWN,                  // 0C64..0C65
6636             TELUGU,                   // 0C66..0C6F
6637             UNKNOWN,                  // 0C70..0C77
6638             TELUGU,                   // 0C78..0C7F
6639             KANNADA,                  // 0C80..0C8C
6640             UNKNOWN,                  // 0C8D
6641             KANNADA,                  // 0C8E..0C90
6642             UNKNOWN,                  // 0C91
6643             KANNADA,                  // 0C92..0CA8
6644             UNKNOWN,                  // 0CA9
6645             KANNADA,                  // 0CAA..0CB3
6646             UNKNOWN,                  // 0CB4
6647             KANNADA,                  // 0CB5..0CB9
6648             UNKNOWN,                  // 0CBA..0CBB
6649             KANNADA,                  // 0CBC..0CC4
6650             UNKNOWN,                  // 0CC5
6651             KANNADA,                  // 0CC6..0CC8
6652             UNKNOWN,                  // 0CC9
6653             KANNADA,                  // 0CCA..0CCD
6654             UNKNOWN,                  // 0CCE..0CD4
6655             KANNADA,                  // 0CD5..0CD6
6656             UNKNOWN,                  // 0CD7..0CDD
6657             KANNADA,                  // 0CDE
6658             UNKNOWN,                  // 0CDF


6693             SINHALA,                  // 0DCA
6694             UNKNOWN,                  // 0DCB..0DCE
6695             SINHALA,                  // 0DCF..0DD4
6696             UNKNOWN,                  // 0DD5
6697             SINHALA,                  // 0DD6
6698             UNKNOWN,                  // 0DD7
6699             SINHALA,                  // 0DD8..0DDF
6700             UNKNOWN,                  // 0DE0..0DE5
6701             SINHALA,                  // 0DE6..0DEF
6702             UNKNOWN,                  // 0DF0..0DF1
6703             SINHALA,                  // 0DF2..0DF4
6704             UNKNOWN,                  // 0DF5..0E00
6705             THAI,                     // 0E01..0E3A
6706             UNKNOWN,                  // 0E3B..0E3E
6707             COMMON,                   // 0E3F
6708             THAI,                     // 0E40..0E5B
6709             UNKNOWN,                  // 0E5C..0E80
6710             LAO,                      // 0E81..0E82
6711             UNKNOWN,                  // 0E83
6712             LAO,                      // 0E84
6713             UNKNOWN,                  // 0E85..0E86
6714             LAO,                      // 0E87..0E88
6715             UNKNOWN,                  // 0E89
6716             LAO,                      // 0E8A
6717             UNKNOWN,                  // 0E8B..0E8C
6718             LAO,                      // 0E8D
6719             UNKNOWN,                  // 0E8E..0E93
6720             LAO,                      // 0E94..0E97
6721             UNKNOWN,                  // 0E98
6722             LAO,                      // 0E99..0E9F
6723             UNKNOWN,                  // 0EA0
6724             LAO,                      // 0EA1..0EA3
6725             UNKNOWN,                  // 0EA4
6726             LAO,                      // 0EA5
6727             UNKNOWN,                  // 0EA6
6728             LAO,                      // 0EA7
6729             UNKNOWN,                  // 0EA8..0EA9
6730             LAO,                      // 0EAA..0EAB
6731             UNKNOWN,                  // 0EAC
6732             LAO,                      // 0EAD..0EB9
6733             UNKNOWN,                  // 0EBA
6734             LAO,                      // 0EBB..0EBD
6735             UNKNOWN,                  // 0EBE..0EBF
6736             LAO,                      // 0EC0..0EC4
6737             UNKNOWN,                  // 0EC5
6738             LAO,                      // 0EC6
6739             UNKNOWN,                  // 0EC7
6740             LAO,                      // 0EC8..0ECD
6741             UNKNOWN,                  // 0ECE..0ECF
6742             LAO,                      // 0ED0..0ED9
6743             UNKNOWN,                  // 0EDA..0EDB
6744             LAO,                      // 0EDC..0EDF
6745             UNKNOWN,                  // 0EE0..0EFF
6746             TIBETAN,                  // 0F00..0F47
6747             UNKNOWN,                  // 0F48
6748             TIBETAN,                  // 0F49..0F6C
6749             UNKNOWN,                  // 0F6D..0F70
6750             TIBETAN,                  // 0F71..0F97
6751             UNKNOWN,                  // 0F98
6752             TIBETAN,                  // 0F99..0FBC
6753             UNKNOWN,                  // 0FBD
6754             TIBETAN,                  // 0FBE..0FCC
6755             UNKNOWN,                  // 0FCD
6756             TIBETAN,                  // 0FCE..0FD4
6757             COMMON,                   // 0FD5..0FD8
6758             TIBETAN,                  // 0FD9..0FDA
6759             UNKNOWN,                  // 0FDB..FFF
6760             MYANMAR,                  // 1000..109F
6761             GEORGIAN,                 // 10A0..10C5
6762             UNKNOWN,                  // 10C6
6763             GEORGIAN,                 // 10C7
6764             UNKNOWN,                  // 10C8..10CC
6765             GEORGIAN,                 // 10CD
6766             UNKNOWN,                  // 10CE..10CF
6767             GEORGIAN,                 // 10D0..10FA
6768             COMMON,                   // 10FB
6769             GEORGIAN,                 // 10FC..10FF
6770             HANGUL,                   // 1100..11FF
6771             ETHIOPIC,                 // 1200..1248
6772             UNKNOWN,                  // 1249
6773             ETHIOPIC,                 // 124A..124D
6774             UNKNOWN,                  // 124E..124F
6775             ETHIOPIC,                 // 1250..1256
6776             UNKNOWN,                  // 1257
6777             ETHIOPIC,                 // 1258
6778             UNKNOWN,                  // 1259
6779             ETHIOPIC,                 // 125A..125D


6884             UNKNOWN,                  // 1A9A..1A9F
6885             TAI_THAM,                 // 1AA0..1AAD
6886             UNKNOWN,                  // 1AAE..1AAF
6887             INHERITED,                // 1AB0..1ABE
6888             UNKNOWN,                  // 1ABF..1AFF
6889             BALINESE,                 // 1B00..1B4B
6890             UNKNOWN,                  // 1B4C..1B4F
6891             BALINESE,                 // 1B50..1B7C
6892             UNKNOWN,                  // 1B7D..1B7F
6893             SUNDANESE,                // 1B80..1BBF
6894             BATAK,                    // 1BC0..1BF3
6895             UNKNOWN,                  // 1BF4..1BFB
6896             BATAK,                    // 1BFC..1BFF
6897             LEPCHA,                   // 1C00..1C37
6898             UNKNOWN,                  // 1C38..1C3A
6899             LEPCHA,                   // 1C3B..1C49
6900             UNKNOWN,                  // 1C4A..1C4C
6901             LEPCHA,                   // 1C4D..1C4F
6902             OL_CHIKI,                 // 1C50..1C7F
6903             CYRILLIC,                 // 1C80..1C88
6904             UNKNOWN,                  // 1C89
6905             GEORGIAN,                 // 1C90..1CBA
6906             UNKNOWN,                  // 1CBB..1CBC
6907             GEORGIAN,                 // 1CBD..1CBF
6908             SUNDANESE,                // 1CC0..1CC7
6909             UNKNOWN,                  // 1CC8..1CCF
6910             INHERITED,                // 1CD0..1CD2
6911             COMMON,                   // 1CD3
6912             INHERITED,                // 1CD4..1CE0
6913             COMMON,                   // 1CE1
6914             INHERITED,                // 1CE2..1CE8
6915             COMMON,                   // 1CE9..1CEC
6916             INHERITED,                // 1CED
6917             COMMON,                   // 1CEE..1CF3
6918             INHERITED,                // 1CF4
6919             COMMON,                   // 1CF5..1CF7
6920             INHERITED,                // 1CF8..1CF9
6921             UNKNOWN,                  // 1CFA..1CFF

6922             LATIN,                    // 1D00..1D25
6923             GREEK,                    // 1D26..1D2A
6924             CYRILLIC,                 // 1D2B
6925             LATIN,                    // 1D2C..1D5C
6926             GREEK,                    // 1D5D..1D61
6927             LATIN,                    // 1D62..1D65
6928             GREEK,                    // 1D66..1D6A
6929             LATIN,                    // 1D6B..1D77
6930             CYRILLIC,                 // 1D78
6931             LATIN,                    // 1D79..1DBE
6932             GREEK,                    // 1DBF
6933             INHERITED,                // 1DC0..1DF9
6934             UNKNOWN,                  // 1DFA
6935             INHERITED,                // 1DFB..1DFF
6936             LATIN,                    // 1E00..1EFF
6937             GREEK,                    // 1F00..1F15
6938             UNKNOWN,                  // 1F16..1F17
6939             GREEK,                    // 1F18..1F1D
6940             UNKNOWN,                  // 1F1E..1F1F
6941             GREEK,                    // 1F20..1F45


6988             COMMON,                   // 2127..2129
6989             LATIN,                    // 212A..212B
6990             COMMON,                   // 212C..2131
6991             LATIN,                    // 2132
6992             COMMON,                   // 2133..214D
6993             LATIN,                    // 214E
6994             COMMON,                   // 214F..215F
6995             LATIN,                    // 2160..2188
6996             COMMON,                   // 2189..218B
6997             UNKNOWN,                  // 218C..218F
6998             COMMON,                   // 2190..2426
6999             UNKNOWN,                  // 2427..243F
7000             COMMON,                   // 2440..244A
7001             UNKNOWN,                  // 244B..245F
7002             COMMON,                   // 2460..27FF
7003             BRAILLE,                  // 2800..28FF
7004             COMMON,                   // 2900..2B73
7005             UNKNOWN,                  // 2B74..2B75
7006             COMMON,                   // 2B76..2B95
7007             UNKNOWN,                  // 2B96..2B97
7008             COMMON,                   // 2B98..2BC8
7009             UNKNOWN,                  // 2BC9
7010             COMMON,                   // 2BCA..2BFE
7011             UNKNOWN,                  // 0x2BFF
7012             GLAGOLITIC,               // 2C00..2C2E
7013             UNKNOWN,                  // 2C2F
7014             GLAGOLITIC,               // 2C30..2C5E
7015             UNKNOWN,                  // 2C5F
7016             LATIN,                    // 2C60..2C7F
7017             COPTIC,                   // 2C80..2CF3
7018             UNKNOWN,                  // 2CF4..2CF8
7019             COPTIC,                   // 2CF9..2CFF
7020             GEORGIAN,                 // 2D00..2D25
7021             UNKNOWN,                  // 2D26
7022             GEORGIAN,                 // 2D27
7023             UNKNOWN,                  // 2D28..2D2C
7024             GEORGIAN,                 // 2D2D
7025             UNKNOWN,                  // 2D2E..2D2F
7026             TIFINAGH,                 // 2D30..2D67
7027             UNKNOWN,                  // 2D68..2D6E
7028             TIFINAGH,                 // 2D6F..2D70
7029             UNKNOWN,                  // 2D71..2D7E
7030             TIFINAGH,                 // 2D7F
7031             ETHIOPIC,                 // 2D80..2D96
7032             UNKNOWN,                  // 2D97..2D9F
7033             ETHIOPIC,                 // 2DA0..2DA6
7034             UNKNOWN,                  // 2DA7
7035             ETHIOPIC,                 // 2DA8..2DAE
7036             UNKNOWN,                  // 2DAF
7037             ETHIOPIC,                 // 2DB0..2DB6
7038             UNKNOWN,                  // 2DB7
7039             ETHIOPIC,                 // 2DB8..2DBE
7040             UNKNOWN,                  // 2DBF
7041             ETHIOPIC,                 // 2DC0..2DC6
7042             UNKNOWN,                  // 2DC7
7043             ETHIOPIC,                 // 2DC8..2DCE
7044             UNKNOWN,                  // 2DCF
7045             ETHIOPIC,                 // 2DD0..2DD6
7046             UNKNOWN,                  // 2DD7
7047             ETHIOPIC,                 // 2DD8..2DDE
7048             UNKNOWN,                  // 2DDF
7049             CYRILLIC,                 // 2DE0..2DFF
7050             COMMON,                   // 2E00..2E4E
7051             UNKNOWN,                  // 2E4F..2E7F
7052             HAN,                      // 2E80..2E99
7053             UNKNOWN,                  // 2E9A
7054             HAN,                      // 2E9B..2EF3
7055             UNKNOWN,                  // 2EF4..2EFF
7056             HAN,                      // 2F00..2FD5
7057             UNKNOWN,                  // 2FD6..2FEF
7058             COMMON,                   // 2FF0..2FFB
7059             UNKNOWN,                  // 2FFC..2FFF
7060             COMMON,                   // 3000..3004
7061             HAN,                      // 3005
7062             COMMON,                   // 3006
7063             HAN,                      // 3007
7064             COMMON,                   // 3008..3020
7065             HAN,                      // 3021..3029
7066             INHERITED,                // 302A..302D
7067             HANGUL,                   // 302E..302F
7068             COMMON,                   // 3030..3037
7069             HAN,                      // 3038..303B
7070             COMMON,                   // 303C..303F
7071             UNKNOWN,                  // 3040


7099             KATAKANA,                 // 3300..3357
7100             COMMON,                   // 3358..33FF
7101             HAN,                      // 3400..4DB5
7102             UNKNOWN,                  // 4DB6..4DBF
7103             COMMON,                   // 4DC0..4DFF
7104             HAN,                      // 4E00..9FEF
7105             UNKNOWN,                  // 9FF0..9FFF
7106             YI,                       // A000..A48C
7107             UNKNOWN,                  // A48D..A48F
7108             YI,                       // A490..A4C6
7109             UNKNOWN,                  // A4C7..A4CF
7110             LISU,                     // A4D0..A4FF
7111             VAI,                      // A500..A62B
7112             UNKNOWN,                  // A62C..A63F
7113             CYRILLIC,                 // A640..A69F
7114             BAMUM,                    // A6A0..A6F7
7115             UNKNOWN,                  // A6F8..A6FF
7116             COMMON,                   // A700..A721
7117             LATIN,                    // A722..A787
7118             COMMON,                   // A788..A78A
7119             LATIN,                    // A78B..A7B9
7120             UNKNOWN,                  // A7C0..A7F6


7121             LATIN,                    // A7F7..A7FF
7122             SYLOTI_NAGRI,             // A800..A82B
7123             UNKNOWN,                  // A82C..A82F
7124             COMMON,                   // A830..A839
7125             UNKNOWN,                  // A83A..A83F
7126             PHAGS_PA,                 // A840..A877
7127             UNKNOWN,                  // A878..A87F
7128             SAURASHTRA,               // A880..A8C5
7129             UNKNOWN,                  // A8C6..A8CD
7130             SAURASHTRA,               // A8CE..A8D9
7131             UNKNOWN,                  // A8DA..A8DF
7132             DEVANAGARI,               // A8E0..A8FF
7133             KAYAH_LI,                 // A900..A92D
7134             COMMON,                   // A92E
7135             KAYAH_LI,                 // A92F
7136             REJANG,                   // A930..A953
7137             UNKNOWN,                  // A954..A95E
7138             REJANG,                   // A95F
7139             HANGUL,                   // A960..A97C
7140             UNKNOWN,                  // A97D..A97F


7156             MYANMAR,                  // AA60..AA7F
7157             TAI_VIET,                 // AA80..AAC2
7158             UNKNOWN,                  // AAC3..AADA
7159             TAI_VIET,                 // AADB..AADF
7160             MEETEI_MAYEK,             // AAE0..AAF6
7161             UNKNOWN,                  // AAF7..AB00
7162             ETHIOPIC,                 // AB01..AB06
7163             UNKNOWN,                  // AB07..AB08
7164             ETHIOPIC,                 // AB09..AB0E
7165             UNKNOWN,                  // AB0F..AB10
7166             ETHIOPIC,                 // AB11..AB16
7167             UNKNOWN,                  // AB17..AB1F
7168             ETHIOPIC,                 // AB20..AB26
7169             UNKNOWN,                  // AB27
7170             ETHIOPIC,                 // AB28..AB2E
7171             UNKNOWN,                  // AB2F
7172             LATIN,                    // AB30..AB5A
7173             COMMON,                   // AB5B
7174             LATIN,                    // AB5C..AB64
7175             GREEK,                    // AB65
7176             UNKNOWN,                  // AB66..AB6F

7177             CHEROKEE,                 // AB70..ABBF
7178             MEETEI_MAYEK,             // ABC0..ABED
7179             UNKNOWN,                  // ABEE..ABEF
7180             MEETEI_MAYEK,             // ABF0..ABF9
7181             UNKNOWN,                  // ABFA..ABFF
7182             HANGUL,                   // AC00..D7A3
7183             UNKNOWN,                  // D7A4..D7AF
7184             HANGUL,                   // D7B0..D7C6
7185             UNKNOWN,                  // D7C7..D7CA
7186             HANGUL,                   // D7CB..D7FB
7187             UNKNOWN,                  // D7FC..F8FF
7188             HAN,                      // F900..FA6D
7189             UNKNOWN,                  // FA6E..FA6F
7190             HAN,                      // FA70..FAD9
7191             UNKNOWN,                  // FADA..FAFF
7192             LATIN,                    // FB00..FB06
7193             UNKNOWN,                  // FB07..FB12
7194             ARMENIAN,                 // FB13..FB17
7195             UNKNOWN,                  // FB18..FB1C
7196             HEBREW,                   // FB1D..FB36


7295             OLD_ITALIC,               // 10300..10323
7296             UNKNOWN,                  // 10324..1032C
7297             OLD_ITALIC,               // 1032D..1032F
7298             GOTHIC,                   // 10330..1034A
7299             UNKNOWN,                  // 1034B..1034F
7300             OLD_PERMIC,               // 10350..1037A
7301             UNKNOWN,                  // 1037B..1037F
7302             UGARITIC,                 // 10380..1039D
7303             UNKNOWN,                  // 1039E
7304             UGARITIC,                 // 1039F
7305             OLD_PERSIAN,              // 103A0..103C3
7306             UNKNOWN,                  // 103C4..103C7
7307             OLD_PERSIAN,              // 103C8..103D5
7308             UNKNOWN,                  // 103D6..103FF
7309             DESERET,                  // 10400..1044F
7310             SHAVIAN,                  // 10450..1047F
7311             OSMANYA,                  // 10480..1049D
7312             UNKNOWN,                  // 1049E..1049F
7313             OSMANYA,                  // 104A0..104A9
7314             UNKNOWN,                  // 104AA..104AF
7315             OSAGE,                    // 104B0..104D3;
7316             UNKNOWN,                  // 104D4..104D7;
7317             OSAGE,                    // 104D8..104FB;
7318             UNKNOWN,                  // 104FC..104FF;
7319             ELBASAN,                  // 10500..10527
7320             UNKNOWN,                  // 10528..1052F
7321             CAUCASIAN_ALBANIAN,       // 10530..10563
7322             UNKNOWN,                  // 10564..1056E
7323             CAUCASIAN_ALBANIAN,       // 1056F
7324             UNKNOWN,                  // 10570..105FF
7325             LINEAR_A,                 // 10600..10736
7326             UNKNOWN,                  // 10737..1073F
7327             LINEAR_A,                 // 10740..10755
7328             UNKNOWN,                  // 10756..1075F
7329             LINEAR_A,                 // 10760..10767
7330             UNKNOWN,                  // 10768..107FF
7331             CYPRIOT,                  // 10800..10805
7332             UNKNOWN,                  // 10806..10807
7333             CYPRIOT,                  // 10808
7334             UNKNOWN,                  // 10809
7335             CYPRIOT,                  // 1080A..10835
7336             UNKNOWN,                  // 10836
7337             CYPRIOT,                  // 10837..10838
7338             UNKNOWN,                  // 10839..1083B


7394             INSCRIPTIONAL_PARTHIAN,   // 10B40..10B55
7395             UNKNOWN,                  // 10B56..10B57
7396             INSCRIPTIONAL_PARTHIAN,   // 10B58..10B5F
7397             INSCRIPTIONAL_PAHLAVI,    // 10B60..10B72
7398             UNKNOWN,                  // 10B73..10B77
7399             INSCRIPTIONAL_PAHLAVI,    // 10B78..10B7F
7400             PSALTER_PAHLAVI,          // 10B80..10B91
7401             UNKNOWN,                  // 10B92..10B98
7402             PSALTER_PAHLAVI,          // 10B99..10B9C
7403             UNKNOWN,                  // 10B9D..10BA8
7404             PSALTER_PAHLAVI,          // 10BA9..10BAF
7405             UNKNOWN,                  // 10BB0..10BFF
7406             OLD_TURKIC,               // 10C00..10C48
7407             UNKNOWN,                  // 10C49..10C7F
7408             OLD_HUNGARIAN,            // 10C80..10CB2
7409             UNKNOWN,                  // 10CB3..10CBF
7410             OLD_HUNGARIAN,            // 10CC0..10CF2
7411             UNKNOWN,                  // 10CF3..10CF9
7412             OLD_HUNGARIAN,            // 10CFA..10CFF
7413             HANIFI_ROHINGYA,          // 10D00..10D27
7414             UNKNOWN,                  // 10D28..10D29
7415             HANIFI_ROHINGYA,          // 10D30..10D39
7416             UNKNOWN,                  // 10D3A..10E5F
7417             ARABIC,                   // 10E60..10E7E
7418             UNKNOWN,                  // 10E7F..10EFF
7419             OLD_SOGDIAN,              // 10F00..10F27
7420             UNKNOWN,                  // 10F28..10F2F
7421             SOGDIAN,                  // 10F30..10F59
7422             UNKNOWN,                  // 10F5A..10FFF


7423             BRAHMI,                   // 11000..1104D
7424             UNKNOWN,                  // 1104E..11051
7425             BRAHMI,                   // 11052..1106F
7426             UNKNOWN,                  // 11070..1107E
7427             BRAHMI,                   // 1107F
7428             KAITHI,                   // 11080..110C1
7429             UNKNOWN,                  // 110C2..110CC
7430             KAITHI,                   // 110CD
7431             UNKNOWN,                  // 110CE..110CF
7432             SORA_SOMPENG,             // 110D0..110E8
7433             UNKNOWN,                  // 110E9..110EF
7434             SORA_SOMPENG,             // 110F0..110F9
7435             UNKNOWN,                  // 110FA..110FF
7436             CHAKMA,                   // 11100..11134
7437             UNKNOWN,                  // 11135
7438             CHAKMA,                   // 11136..11146
7439             UNKNOWN,                  // 11147..1114F
7440             MAHAJANI,                 // 11150..11176
7441             UNKNOWN,                  // 11177..1117F
7442             SHARADA,                  // 11180..111CD


7481             GRANTHA,                  // 1133C..11344
7482             UNKNOWN,                  // 11345..11346
7483             GRANTHA,                  // 11347..11348
7484             UNKNOWN,                  // 11349..1134A
7485             GRANTHA,                  // 1134B..1134D
7486             UNKNOWN,                  // 1134E..1134F
7487             GRANTHA,                  // 11350
7488             UNKNOWN,                  // 11351..11356
7489             GRANTHA,                  // 11357
7490             UNKNOWN,                  // 11358..1135C
7491             GRANTHA,                  // 1135D..11363
7492             UNKNOWN,                  // 11364..11365
7493             GRANTHA,                  // 11366..1136C
7494             UNKNOWN,                  // 1136D..1136F
7495             GRANTHA,                  // 11370..11374
7496             UNKNOWN,                  // 11375..113FF
7497             NEWA,                     // 11400..11459
7498             UNKNOWN,                  // 1145A
7499             NEWA,                     // 1145B
7500             UNKNOWN,                  // 1145C
7501             NEWA,                     // 1145D..1145E
7502             UNKNOWN,                  // 1145F..1147F
7503             TIRHUTA,                  // 11480..114C7
7504             UNKNOWN,                  // 114C8..114CF
7505             TIRHUTA,                  // 114D0..114D9
7506             UNKNOWN,                  // 114DA..1157F
7507             SIDDHAM,                  // 11580..115B5
7508             UNKNOWN,                  // 115B6..115B7
7509             SIDDHAM,                  // 115B8..115DD
7510             UNKNOWN,                  // 115DE..115FF
7511             MODI,                     // 11600..11644
7512             UNKNOWN,                  // 11645..1164F
7513             MODI,                     // 11650..11659
7514             UNKNOWN,                  // 1165A..1165F
7515             MONGOLIAN,                // 11660..1166C
7516             UNKNOWN,                  // 1166D..1167F
7517             TAKRI,                    // 11680..116B7
7518             UNKNOWN,                  // 116B8..116BF
7519             TAKRI,                    // 116C0..116C9
7520             UNKNOWN,                  // 116CA..116FF
7521             AHOM,                     // 11700..1171A
7522             UNKNOWN,                  // 1171B..1171C
7523             AHOM,                     // 1171D..1172B
7524             UNKNOWN,                  // 1172C..1172F
7525             AHOM,                     // 11730..1173F
7526             UNKNOWN,                  // 11740..117FF
7527             DOGRA,                    // 11800..1183B
7528             UNKNOWN,                  // 1183C..1189F
7529             WARANG_CITI,              // 118A0..118F2
7530             UNKNOWN,                  // 118F3..118FE
7531             WARANG_CITI,              // 118FF
7532             UNKNOWN,                  // 11900..119FF






7533             ZANABAZAR_SQUARE,         // 11A00..11A47
7534             UNKNOWN,                  // 11A48..11A4F
7535             SOYOMBO,                  // 11A50..11A83
7536             UNKNOWN,                  // 11A84..11A85
7537             SOYOMBO,                  // 11A86..11AA2
7538             UNKNOWN,                  // 11AA3..11ABF
7539             PAU_CIN_HAU,              // 11AC0..11AF8
7540             UNKNOWN,                  // 11AF9..11BFF
7541             BHAIKSUKI,                // 11C00..11C08
7542             UNKNOWN,                  // 11C09
7543             BHAIKSUKI,                // 11C0A..11C36
7544             UNKNOWN,                  // 11C37
7545             BHAIKSUKI,                // 11C38..11C45
7546             UNKNOWN,                  // 11C46..11C49
7547             BHAIKSUKI,                // 11C50..11C6C
7548             UNKNOWN,                  // 11C6D..11C6F
7549             MARCHEN,                  // 11C70..11C8F
7550             UNKNOWN,                  // 11C90..11C91
7551             MARCHEN,                  // 11C92..11CA7
7552             UNKNOWN,                  // 11CA8
7553             MARCHEN,                  // 11CA9..11CB6
7554             UNKNOWN,                  // 11CB7..11CFF
7555             MASARAM_GONDI,            // 11D00..11D06
7556             UNKNOWN,                  // 11D07
7557             MASARAM_GONDI,            // 11D08..11D09
7558             UNKNOWN,                  // 11D0A
7559             MASARAM_GONDI,            // 11D0B..11D36
7560             UNKNOWN,                  // 11D37..11D39
7561             MASARAM_GONDI,            // 11D3A
7562             UNKNOWN,                  // 11D3B
7563             MASARAM_GONDI,            // 11D3C..11D3D
7564             UNKNOWN,                  // 11D3E
7565             MASARAM_GONDI,            // 11D3F..11D47
7566             UNKNOWN,                  // 11D48..11D49
7567             MASARAM_GONDI,            // 11D50..11D59
7568             UNKNOWN,                  // 11D5A..11D5F
7569             GUNJALA_GONDI,            // 11D60..11D68


7570             UNKNOWN,                  // 11D69
7571             GUNJALA_GONDI,            // 11D6A..11D8E
7572             UNKNOWN,                  // 11D8F
7573             GUNJALA_GONDI,            // 11D90..11D91
7574             UNKNOWN,                  // 11D92
7575             GUNJALA_GONDI,            // 11D93..11D98
7576             UNKNOWN,                  // 11D99
7577             GUNJALA_GONDI,            // 11DA0..11DA9
7578             UNKNOWN,                  // 11DAA..11DFF
7579             MAKASAR,                  // 11EE0..11EF8
7580             UNKNOWN,                  // 11EF9..11FFF



7581             CUNEIFORM,                // 12000..12399
7582             UNKNOWN,                  // 1239A..123FF
7583             CUNEIFORM,                // 12400..1246E
7584             UNKNOWN,                  // 1246F
7585             CUNEIFORM,                // 12470..12474
7586             UNKNOWN,                  // 12475..1247F
7587             CUNEIFORM,                // 12480..12543
7588             UNKNOWN,                  // 12544..12FFF
7589             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
7590             UNKNOWN,                  // 1342F..143FF


7591             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
7592             UNKNOWN,                  // 14647..167FF
7593             BAMUM,                    // 16800..16A38
7594             UNKNOWN,                  // 16A39..16A3F
7595             MRO,                      // 16A40..16A5E
7596             UNKNOWN,                  // 16A5F
7597             MRO,                      // 16A60..16A69
7598             UNKNOWN,                  // 16A6A..16A6D
7599             MRO,                      // 16A6E..16A6F
7600             UNKNOWN,                  // 16A70..16ACF
7601             BASSA_VAH,                // 16AD0..16AED
7602             UNKNOWN,                  // 16AEE..16AEF
7603             BASSA_VAH,                // 16AF0..16AF5
7604             UNKNOWN,                  // 16AF6..16AFF
7605             PAHAWH_HMONG,             // 16B00..16B45
7606             UNKNOWN,                  // 16B46..16B4F
7607             PAHAWH_HMONG,             // 16B50..16B59
7608             UNKNOWN,                  // 16B5A
7609             PAHAWH_HMONG,             // 16B5B..16B61
7610             UNKNOWN,                  // 16B62
7611             PAHAWH_HMONG,             // 16B63..16B77
7612             UNKNOWN,                  // 16B78..16B7C
7613             PAHAWH_HMONG,             // 16B7D..16B8F
7614             UNKNOWN,                  // 16B90..16E3F
7615             MEDEFAIDRIN,              // 16E40..16E9A
7616             UNKNOWN,                  // 16E9B..16EFF
7617             MIAO,                     // 16F00..16F44
7618             UNKNOWN,                  // 16F45..16F4F
7619             MIAO,                     // 16F50..16F7E
7620             UNKNOWN,                  // 16F7F..16F8E
7621             MIAO,                     // 16F8F..16F9F
7622             UNKNOWN,                  // 16FA0..16FDF
7623             TANGUT,                   // 16FE0
7624             NUSHU,                    // 16FE1
7625             UNKNOWN,                  // 16FE2..16FFF
7626             TANGUT,                   // 17000..187F1
7627             UNKNOWN,                  // 187F2..187FF

7628             TANGUT,                   // 18800..18AF2
7629             UNKNOWN,                  // 18AF3..1AFFF
7630             KATAKANA,                 // 1B000
7631             HIRAGANA,                 // 1B001..1B11E
7632             UNKNOWN,                  // 1B11F..1B16F




7633             NUSHU,                    // 1B170..1B2FB
7634             UNKNOWN,                  // 1B2FC..1BBFF
7635             DUPLOYAN,                 // 1BC00..1BC6A
7636             UNKNOWN,                  // 1BC6B..1BC6F
7637             DUPLOYAN,                 // 1BC70..1BC7C
7638             UNKNOWN,                  // 1BC7D..1BC7F
7639             DUPLOYAN,                 // 1BC80..1BC88
7640             UNKNOWN,                  // 1BC89..1BC8F
7641             DUPLOYAN,                 // 1BC90..1BC99
7642             UNKNOWN,                  // 1BC9A..1BC9B
7643             DUPLOYAN,                 // 1BC9C..1BC9F
7644             COMMON,                   // 1BCA0..1BCA3
7645             UNKNOWN,                  // 1BCA4..1CFFF
7646             COMMON,                   // 1D000..1D0F5
7647             UNKNOWN,                  // 1D0F6..1D0FF
7648             COMMON,                   // 1D100..1D126
7649             UNKNOWN,                  // 1D127..1D128
7650             COMMON,                   // 1D129..1D166
7651             INHERITED,                // 1D167..1D169
7652             COMMON,                   // 1D16A..1D17A


7704             COMMON,                   // 1D552..1D6A5
7705             UNKNOWN,                  // 1D6A6..1D6A7
7706             COMMON,                   // 1D6A8..1D7CB
7707             UNKNOWN,                  // 1D7CC..1D7CD
7708             COMMON,                   // 1D7CE..1D7FF
7709             SIGNWRITING,              // 1D800..1DA8B
7710             UNKNOWN,                  // 1DA8C..1DA9A
7711             SIGNWRITING,              // 1DA9B..1DA9F
7712             UNKNOWN,                  // 1DAA0
7713             SIGNWRITING,              // 1DAA1..1DAAF
7714             UNKNOWN,                  // 1DAB0..1DFFF
7715             GLAGOLITIC,               // 1E000..1E006
7716             UNKNOWN,                  // 1E007
7717             GLAGOLITIC,               // 1E008..1E018
7718             UNKNOWN,                  // 1E019..1E01A
7719             GLAGOLITIC,               // 1E01B..1E021
7720             UNKNOWN,                  // 1E022
7721             GLAGOLITIC,               // 1E023..1E024
7722             UNKNOWN,                  // 1E025
7723             GLAGOLITIC,               // 1E026..1E02A
7724             UNKNOWN,                  // 1E02B..1E7FF












7725             MENDE_KIKAKUI,            // 1E800..1E8C4
7726             UNKNOWN,                  // 1E8C5..1E8C6
7727             MENDE_KIKAKUI,            // 1E8C7..1E8D6
7728             UNKNOWN,                  // 1E8D7..1E8FF
7729             ADLAM,                    // 1E900..1E94A
7730             UNKNOWN,                  // 1E94B..1E94F
7731             ADLAM,                    // 1E950..1E959
7732             UNKNOWN,                  // 1E95A..1E95D
7733             ADLAM,                    // 1E95E..1E95F
7734             UNKNOWN,                  // 1E960..1EC70
7735             COMMON,                   // 1EC71..1ECB4
7736             UNKNOWN,                  // 1ECB5..1EDFF


7737             ARABIC,                   // 1EE00..1EE03
7738             UNKNOWN,                  // 1EE04
7739             ARABIC,                   // 1EE05..1EE1F
7740             UNKNOWN,                  // 1EE20
7741             ARABIC,                   // 1EE21..1EE22
7742             UNKNOWN,                  // 1EE23
7743             ARABIC,                   // 1EE24
7744             UNKNOWN,                  // 1EE25..1EE26
7745             ARABIC,                   // 1EE27
7746             UNKNOWN,                  // 1EE28
7747             ARABIC,                   // 1EE29..1EE32
7748             UNKNOWN,                  // 1EE33
7749             ARABIC,                   // 1EE34..1EE37
7750             UNKNOWN,                  // 1EE38
7751             ARABIC,                   // 1EE39
7752             UNKNOWN,                  // 1EE3A
7753             ARABIC,                   // 1EE3B
7754             UNKNOWN,                  // 1EE3C..1EE41
7755             ARABIC,                   // 1EE42
7756             UNKNOWN,                  // 1EE43..1EE46


7799             ARABIC,                   // 1EEA5..1EEA9
7800             UNKNOWN,                  // 1EEAA
7801             ARABIC,                   // 1EEAB..1EEBB
7802             UNKNOWN,                  // 1EEBC..1EEEF
7803             ARABIC,                   // 1EEF0..1EEF1
7804             UNKNOWN,                  // 1EEF2..1EFFF
7805             COMMON,                   // 1F000..1F02B
7806             UNKNOWN,                  // 1F02C..1F02F
7807             COMMON,                   // 1F030..1F093
7808             UNKNOWN,                  // 1F094..1F09F
7809             COMMON,                   // 1F0A0..1F0AE
7810             UNKNOWN,                  // 1F0AF..1F0B0
7811             COMMON,                   // 1F0B1..1F0BF
7812             UNKNOWN,                  // 1F0C0
7813             COMMON,                   // 1F0C1..1F0CF
7814             UNKNOWN,                  // 1F0D0
7815             COMMON,                   // 1F0D1..1F0F5
7816             UNKNOWN,                  // 1F0F6..1F0FF
7817             COMMON,                   // 1F100..1F10C
7818             UNKNOWN,                  // 1F10D..1F10F
7819             COMMON,                   // 1F110..1F16B
7820             UNKNOWN,                  // 1F16C..1F16F
7821             COMMON,                   // 1F170..1F1AC
7822             UNKNOWN,                  // 1F1AD..1F1E5
7823             COMMON,                   // 1F1E6..1F1FF
7824             HIRAGANA,                 // 1F200
7825             COMMON,                   // 1F201..1F202
7826             UNKNOWN,                  // 1F203..1F20F
7827             COMMON,                   // 1F210..1F23B
7828             UNKNOWN,                  // 1F23C..1F23F
7829             COMMON,                   // 1F240..1F248
7830             UNKNOWN,                  // 1F249..1F24F
7831             COMMON,                   // 1F250..1F251
7832             UNKNOWN,                  // 1F252..1F25F
7833             COMMON,                   // 1F260..1F265
7834             UNKNOWN,                  // 1F266..1F2FF
7835             COMMON,                   // 1F300..1F6D4
7836             UNKNOWN,                  // 1F6D5..1F6DF
7837             COMMON,                   // 1F6E0..1F6EC
7838             UNKNOWN,                  // 1F6ED..1F6EF
7839             COMMON,                   // 1F6F0..1F6F9
7840             UNKNOWN,                  // 1F6FA..1F6FF
7841             COMMON,                   // 1F700..1F773
7842             UNKNOWN,                  // 1F774..1F77F
7843             COMMON,                   // 1F780..1F7D8
7844             UNKNOWN,                  // 1F7D9..1F7FF


7845             COMMON,                   // 1F800..1F80B
7846             UNKNOWN,                  // 1F80C..1F80F
7847             COMMON,                   // 1F810..1F847
7848             UNKNOWN,                  // 1F848..1F84F
7849             COMMON,                   // 1F850..1F859
7850             UNKNOWN,                  // 1F85A..1F85F
7851             COMMON,                   // 1F860..1F887
7852             UNKNOWN,                  // 1F888..1F88F
7853             COMMON,                   // 1F890..1F8AD
7854             UNKNOWN,                  // 1F8AE..1F8FF
7855             COMMON,                   // 1F900..1F90B
7856             UNKNOWN,                  // 1F90C..1F90F
7857             COMMON,                   // 1F910..1F93E
7858             UNKNOWN,                  // 1F93F
7859             COMMON,                   // 1F940..1F970
7860             UNKNOWN,                  // 1F971..1F972
7861             COMMON,                   // 1F973..1F976
7862             UNKNOWN,                  // 1F977..1F979
7863             COMMON,                   // 1F97A
7864             UNKNOWN,                  // 1F97B
7865             COMMON,                   // 1F97C..1F9A2
7866             UNKNOWN,                  // 1F9A3..1F9AF
7867             COMMON,                   // 1F9B0..1F9B9
7868             UNKNOWN,                  // 1F9BA..1F9BF
7869             COMMON,                   // 1F9C0..1F9C2
7870             UNKNOWN,                  // 1F9C3..1F9CF
7871             COMMON,                   // 1F9D0..1F9FF
7872             UNKNOWN,                  // 1FA00..1FA5F
7873             COMMON,                   // 1FA60..1FA6D
7874             UNKNOWN,                  // 1FA6E..1FFFF








7875             HAN,                      // 20000..2A6D6
7876             UNKNOWN,                  // 2A6D7..2A6FF
7877             HAN,                      // 2A700..2B734
7878             UNKNOWN,                  // 2B735..2B73F
7879             HAN,                      // 2B740..2B81D
7880             UNKNOWN,                  // 2B81E..2B81F
7881             HAN,                      // 2B820..2CEA1
7882             UNKNOWN,                  // 2CEA2..2CEAF
7883             HAN,                      // 2CEB0..2EBE0
7884             UNKNOWN,                  // 2EBE1..2F7FF
7885             HAN,                      // 2F800..2FA1D
7886             UNKNOWN,                  // 2FA1E..E0000
7887             COMMON,                   // E0001
7888             UNKNOWN,                  // E0002..E001F
7889             COMMON,                   // E0020..E007F
7890             UNKNOWN,                  // E0080..E00FF
7891             INHERITED,                // E0100..E01EF
7892             UNKNOWN                   // E01F0..10FFFF
7893         };
7894 
7895         private static HashMap<String, Character.UnicodeScript> aliases;
7896         static {
7897             aliases = new HashMap<>((int)(149 / 0.75f + 1.0f));
7898             aliases.put("ADLM", ADLAM);
7899             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
7900             aliases.put("AHOM", AHOM);
7901             aliases.put("ARAB", ARABIC);
7902             aliases.put("ARMI", IMPERIAL_ARAMAIC);
7903             aliases.put("ARMN", ARMENIAN);
7904             aliases.put("AVST", AVESTAN);
7905             aliases.put("BALI", BALINESE);
7906             aliases.put("BAMU", BAMUM);
7907             aliases.put("BASS", BASSA_VAH);
7908             aliases.put("BATK", BATAK);
7909             aliases.put("BENG", BENGALI);
7910             aliases.put("BHKS", BHAIKSUKI);
7911             aliases.put("BOPO", BOPOMOFO);
7912             aliases.put("BRAH", BRAHMI);
7913             aliases.put("BRAI", BRAILLE);
7914             aliases.put("BUGI", BUGINESE);
7915             aliases.put("BUHD", BUHID);
7916             aliases.put("CAKM", CHAKMA);
7917             aliases.put("CANS", CANADIAN_ABORIGINAL);
7918             aliases.put("CARI", CARIAN);
7919             aliases.put("CHAM", CHAM);
7920             aliases.put("CHER", CHEROKEE);
7921             aliases.put("COPT", COPTIC);
7922             aliases.put("CPRT", CYPRIOT);
7923             aliases.put("CYRL", CYRILLIC);
7924             aliases.put("DEVA", DEVANAGARI);
7925             aliases.put("DOGR", DOGRA);
7926             aliases.put("DSRT", DESERET);
7927             aliases.put("DUPL", DUPLOYAN);
7928             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
7929             aliases.put("ELBA", ELBASAN);

7930             aliases.put("ETHI", ETHIOPIC);
7931             aliases.put("GEOR", GEORGIAN);
7932             aliases.put("GLAG", GLAGOLITIC);
7933             aliases.put("GONM", MASARAM_GONDI);
7934             aliases.put("GOTH", GOTHIC);
7935             aliases.put("GONG", GUNJALA_GONDI);
7936             aliases.put("GRAN", GRANTHA);
7937             aliases.put("GREK", GREEK);
7938             aliases.put("GUJR", GUJARATI);
7939             aliases.put("GURU", GURMUKHI);
7940             aliases.put("HANG", HANGUL);
7941             aliases.put("HANI", HAN);
7942             aliases.put("HANO", HANUNOO);
7943             aliases.put("HATR", HATRAN);
7944             aliases.put("HEBR", HEBREW);
7945             aliases.put("HIRA", HIRAGANA);
7946             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
7947             aliases.put("HMNG", PAHAWH_HMONG);

7948             // it appears we don't have the KATAKANA_OR_HIRAGANA
7949             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
7950             aliases.put("HUNG", OLD_HUNGARIAN);
7951             aliases.put("ITAL", OLD_ITALIC);
7952             aliases.put("JAVA", JAVANESE);
7953             aliases.put("KALI", KAYAH_LI);
7954             aliases.put("KANA", KATAKANA);
7955             aliases.put("KHAR", KHAROSHTHI);
7956             aliases.put("KHMR", KHMER);
7957             aliases.put("KHOJ", KHOJKI);
7958             aliases.put("KNDA", KANNADA);
7959             aliases.put("KTHI", KAITHI);
7960             aliases.put("LANA", TAI_THAM);
7961             aliases.put("LAOO", LAO);
7962             aliases.put("LATN", LATIN);
7963             aliases.put("LEPC", LEPCHA);
7964             aliases.put("LIMB", LIMBU);
7965             aliases.put("LINA", LINEAR_A);
7966             aliases.put("LINB", LINEAR_B);
7967             aliases.put("LISU", LISU);
7968             aliases.put("LYCI", LYCIAN);
7969             aliases.put("LYDI", LYDIAN);
7970             aliases.put("MAHJ", MAHAJANI);
7971             aliases.put("MAKA", MAKASAR);
7972             aliases.put("MARC", MARCHEN);
7973             aliases.put("MAND", MANDAIC);
7974             aliases.put("MANI", MANICHAEAN);
7975             aliases.put("MEDF", MEDEFAIDRIN);
7976             aliases.put("MEND", MENDE_KIKAKUI);
7977             aliases.put("MERC", MEROITIC_CURSIVE);
7978             aliases.put("MERO", MEROITIC_HIEROGLYPHS);
7979             aliases.put("MLYM", MALAYALAM);
7980             aliases.put("MODI", MODI);
7981             aliases.put("MONG", MONGOLIAN);
7982             aliases.put("MROO", MRO);
7983             aliases.put("MTEI", MEETEI_MAYEK);
7984             aliases.put("MULT", MULTANI);
7985             aliases.put("MYMR", MYANMAR);

7986             aliases.put("NARB", OLD_NORTH_ARABIAN);
7987             aliases.put("NBAT", NABATAEAN);
7988             aliases.put("NEWA", NEWA);
7989             aliases.put("NKOO", NKO);
7990             aliases.put("NSHU", NUSHU);
7991             aliases.put("OGAM", OGHAM);
7992             aliases.put("OLCK", OL_CHIKI);
7993             aliases.put("ORKH", OLD_TURKIC);
7994             aliases.put("ORYA", ORIYA);
7995             aliases.put("OSGE", OSAGE);
7996             aliases.put("OSMA", OSMANYA);
7997             aliases.put("PALM", PALMYRENE);
7998             aliases.put("PAUC", PAU_CIN_HAU);
7999             aliases.put("PERM", OLD_PERMIC);
8000             aliases.put("PHAG", PHAGS_PA);
8001             aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
8002             aliases.put("PHLP", PSALTER_PAHLAVI);
8003             aliases.put("PHNX", PHOENICIAN);
8004             aliases.put("PLRD", MIAO);
8005             aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);


8022             aliases.put("SUND", SUNDANESE);
8023             aliases.put("SYLO", SYLOTI_NAGRI);
8024             aliases.put("SYRC", SYRIAC);
8025             aliases.put("TAGB", TAGBANWA);
8026             aliases.put("TAKR", TAKRI);
8027             aliases.put("TALE", TAI_LE);
8028             aliases.put("TALU", NEW_TAI_LUE);
8029             aliases.put("TAML", TAMIL);
8030             aliases.put("TANG", TANGUT);
8031             aliases.put("TAVT", TAI_VIET);
8032             aliases.put("TELU", TELUGU);
8033             aliases.put("TFNG", TIFINAGH);
8034             aliases.put("TGLG", TAGALOG);
8035             aliases.put("THAA", THAANA);
8036             aliases.put("THAI", THAI);
8037             aliases.put("TIBT", TIBETAN);
8038             aliases.put("TIRH", TIRHUTA);
8039             aliases.put("UGAR", UGARITIC);
8040             aliases.put("VAII", VAI);
8041             aliases.put("WARA", WARANG_CITI);

8042             aliases.put("XPEO", OLD_PERSIAN);
8043             aliases.put("XSUX", CUNEIFORM);
8044             aliases.put("YIII", YI);
8045             aliases.put("ZANB", ZANABAZAR_SQUARE);
8046             aliases.put("ZINH", INHERITED);
8047             aliases.put("ZYYY", COMMON);
8048             aliases.put("ZZZZ", UNKNOWN);
8049         }
8050 
8051         /**
8052          * Returns the enum constant representing the Unicode script of which
8053          * the given character (Unicode code point) is assigned to.
8054          *
8055          * @param   codePoint the character (Unicode code point) in question.
8056          * @return  The {@code UnicodeScript} constant representing the
8057          *          Unicode script of which this character is assigned to.
8058          *
8059          * @throws  IllegalArgumentException if the specified
8060          * {@code codePoint} is an invalid Unicode code point.
8061          * @see Character#isValidCodePoint(int)




  37  * The {@code Character} class wraps a value of the primitive
  38  * type {@code char} in an object. An object of class
  39  * {@code Character} contains a single field whose type is
  40  * {@code char}.
  41  * <p>
  42  * In addition, this class provides a large number of static methods for
  43  * determining a character's category (lowercase letter, digit, etc.)
  44  * and for converting characters from uppercase to lowercase and vice
  45  * versa.
  46  *
  47  * <h2><a id="conformance">Unicode Conformance</a></h2>
  48  * <p>
  49  * The fields and methods of class {@code Character} are defined in terms
  50  * of character information from the Unicode Standard, specifically the
  51  * <i>UnicodeData</i> file that is part of the Unicode Character Database.
  52  * This file specifies properties including name and category for every
  53  * assigned Unicode code point or character range. The file is available
  54  * from the Unicode Consortium at
  55  * <a href="http://www.unicode.org">http://www.unicode.org</a>.
  56  * <p>
  57  * Character information is based on the Unicode Standard, version 12.1.



  58  *
  59  * <h2><a id="unicode">Unicode Character Representations</a></h2>
  60  *
  61  * <p>The {@code char} data type (and therefore the value that a
  62  * {@code Character} object encapsulates) are based on the
  63  * original Unicode specification, which defined characters as
  64  * fixed-width 16-bit entities. The Unicode Standard has since been
  65  * changed to allow for characters whose representation requires more
  66  * than 16 bits.  The range of legal <em>code point</em>s is now
  67  * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
  68  * (Refer to the <a
  69  * href="http://www.unicode.org/reports/tr27/#notation"><i>
  70  * definition</i></a> of the U+<i>n</i> notation in the Unicode
  71  * Standard.)
  72  *
  73  * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
  74  * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
  75  * <a id="supplementary">Characters</a> whose code points are greater
  76  * than U+FFFF are called <em>supplementary character</em>s.  The Java
  77  * platform uses the UTF-16 representation in {@code char} arrays and


 655          * Returns the name of this subset.
 656          */
 657         public final String toString() {
 658             return name;
 659         }
 660     }
 661 
 662     // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
 663     // for the latest specification of Unicode Blocks.
 664 
 665     /**
 666      * A family of character subsets representing the character blocks in the
 667      * Unicode specification. Character blocks generally define characters
 668      * used for a specific script or purpose. A character is contained by
 669      * at most one Unicode block.
 670      *
 671      * @since 1.2
 672      */
 673     public static final class UnicodeBlock extends Subset {
 674         /**
 675          * 676 - the expected number of entities
 676          * 0.75 - the default load factor of HashMap
 677          */
 678         private static final int NUM_ENTITIES = 676;
 679         private static Map<String, UnicodeBlock> map =
 680                 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
 681 
 682         /**
 683          * Creates a UnicodeBlock with the given identifier name.
 684          * This name must be the same as the block identifier.
 685          */
 686         private UnicodeBlock(String idName) {
 687             super(idName);
 688             map.put(idName, this);
 689         }
 690 
 691         /**
 692          * Creates a UnicodeBlock with the given identifier name and
 693          * alias name.
 694          */
 695         private UnicodeBlock(String idName, String alias) {
 696             this(idName);
 697             map.put(alias, this);
 698         }


3184        /**
3185          * Constant for the "Indic Siyaq Numbers" Unicode
3186          * character block.
3187          * @since 12
3188          */
3189         public static final UnicodeBlock INDIC_SIYAQ_NUMBERS =
3190             new UnicodeBlock("INDIC_SIYAQ_NUMBERS",
3191                              "INDIC SIYAQ NUMBERS",
3192                              "INDICSIYAQNUMBERS");
3193 
3194         /**
3195          * Constant for the "Chess Symbols" Unicode
3196          * character block.
3197          * @since 12
3198          */
3199         public static final UnicodeBlock CHESS_SYMBOLS =
3200             new UnicodeBlock("CHESS_SYMBOLS",
3201                              "CHESS SYMBOLS",
3202                              "CHESSSYMBOLS");
3203 
3204         /**
3205          * Constant for the "Elymaic" Unicode
3206          * character block.
3207          * @since 13
3208          */
3209         public static final UnicodeBlock ELYMAIC =
3210             new UnicodeBlock("ELYMAIC");
3211 
3212         /**
3213          * Constant for the "Nandinagari" Unicode
3214          * character block.
3215          * @since 13
3216          */
3217         public static final UnicodeBlock NANDINAGARI =
3218             new UnicodeBlock("NANDINAGARI");
3219 
3220         /**
3221          * Constant for the "Tamil Supplement" Unicode
3222          * character block.
3223          * @since 13
3224          */
3225         public static final UnicodeBlock TAMIL_SUPPLEMENT =
3226             new UnicodeBlock("TAMIL_SUPPLEMENT",
3227                              "TAMIL SUPPLEMENT",
3228                              "TAMILSUPPLEMENT");
3229 
3230         /**
3231          * Constant for the "Egyptian Hieroglyph Format Controls" Unicode
3232          * character block.
3233          * @since 13
3234          */
3235         public static final UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS =
3236             new UnicodeBlock("EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS",
3237                              "EGYPTIAN HIEROGLYPH FORMAT CONTROLS",
3238                              "EGYPTIANHIEROGLYPHFORMATCONTROLS");
3239 
3240         /**
3241          * Constant for the "Small Kana Extension" Unicode
3242          * character block.
3243          * @since 13
3244          */
3245         public static final UnicodeBlock SMALL_KANA_EXTENSION =
3246             new UnicodeBlock("SMALL_KANA_EXTENSION",
3247                              "SMALL KANA EXTENSION",
3248                              "SMALLKANAEXTENSION");
3249 
3250         /**
3251          * Constant for the "Nyiakeng Puachue Hmong" Unicode
3252          * character block.
3253          * @since 13
3254          */
3255         public static final UnicodeBlock NYIAKENG_PUACHUE_HMONG =
3256             new UnicodeBlock("NYIAKENG_PUACHUE_HMONG",
3257                              "NYIAKENG PUACHUE HMONG",
3258                              "NYIAKENGPUACHUEHMONG");
3259 
3260         /**
3261          * Constant for the "Wancho" Unicode
3262          * character block.
3263          * @since 13
3264          */
3265         public static final UnicodeBlock WANCHO =
3266             new UnicodeBlock("WANCHO");
3267 
3268         /**
3269          * Constant for the "Ottoman Siyaq Numbers" Unicode
3270          * character block.
3271          * @since 13
3272          */
3273         public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3274             new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3275                              "OTTOMAN SIYAQ NUMBERS",
3276                              "OTTOMANSIYAQNUMBERS");
3277 
3278         /**
3279          * Constant for the "Symbols and Pictographs Extended-A" Unicode
3280          * character block.
3281          * @since 13
3282          */
3283         public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3284             new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3285                              "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3286                              "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3287 
3288         private static final int blockStarts[] = {
3289             0x0000,   // 0000..007F; Basic Latin
3290             0x0080,   // 0080..00FF; Latin-1 Supplement
3291             0x0100,   // 0100..017F; Latin Extended-A
3292             0x0180,   // 0180..024F; Latin Extended-B
3293             0x0250,   // 0250..02AF; IPA Extensions
3294             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
3295             0x0300,   // 0300..036F; Combining Diacritical Marks
3296             0x0370,   // 0370..03FF; Greek and Coptic
3297             0x0400,   // 0400..04FF; Cyrillic
3298             0x0500,   // 0500..052F; Cyrillic Supplement
3299             0x0530,   // 0530..058F; Armenian
3300             0x0590,   // 0590..05FF; Hebrew
3301             0x0600,   // 0600..06FF; Arabic
3302             0x0700,   // 0700..074F; Syriac
3303             0x0750,   // 0750..077F; Arabic Supplement
3304             0x0780,   // 0780..07BF; Thaana
3305             0x07C0,   // 07C0..07FF; NKo
3306             0x0800,   // 0800..083F; Samaritan


3490             0x10A00,  // 10A00..10A5F; Kharoshthi
3491             0x10A60,  // 10A60..10A7F; Old South Arabian
3492             0x10A80,  // 10A80..10A9F; Old North Arabian
3493             0x10AA0,  //               unassigned
3494             0x10AC0,  // 10AC0..10AFF; Manichaean
3495             0x10B00,  // 10B00..10B3F; Avestan
3496             0x10B40,  // 10B40..10B5F; Inscriptional Parthian
3497             0x10B60,  // 10B60..10B7F; Inscriptional Pahlavi
3498             0x10B80,  // 10B80..10BAF; Psalter Pahlavi
3499             0x10BB0,  //               unassigned
3500             0x10C00,  // 10C00..10C4F; Old Turkic
3501             0x10C50,  //               unassigned
3502             0x10C80,  // 10C80..10CFF; Old Hungarian
3503             0x10D00,  // 10D00..10D3F; Hanifi Rohingya
3504             0x10D40,  //               unassigned
3505             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3506             0x10E80,  //               unassigned
3507             0x10F00,  // 10F00..10F2F; Old Sogdian
3508             0x10F30,  // 10F30..10F6F; Sogdian
3509             0x10F70,  //               unassigned
3510             0x10FE0,  // 10FE0..10FFF; Elymaic
3511             0x11000,  // 11000..1107F; Brahmi
3512             0x11080,  // 11080..110CF; Kaithi
3513             0x110D0,  // 110D0..110FF; Sora Sompeng
3514             0x11100,  // 11100..1114F; Chakma
3515             0x11150,  // 11150..1117F; Mahajani
3516             0x11180,  // 11180..111DF; Sharada
3517             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3518             0x11200,  // 11200..1124F; Khojki
3519             0x11250,  //               unassigned
3520             0x11280,  // 11280..112AF; Multani
3521             0x112B0,  // 112B0..112FF; Khudawadi
3522             0x11300,  // 11300..1137F; Grantha
3523             0x11380,  //               unassigned
3524             0x11400,  // 11400..1147F; Newa
3525             0x11480,  // 11480..114DF; Tirhuta
3526             0x114E0,  //               unassigned
3527             0x11580,  // 11580..115FF; Siddham
3528             0x11600,  // 11600..1165F; Modi
3529             0x11660,  // 11660..1167F; Mongolian Supplement
3530             0x11680,  // 11680..116CF; Takri
3531             0x116D0,  //               unassigned
3532             0x11700,  // 11700..1173F; Ahom
3533             0x11740,  //               unassigned
3534             0x11800,  // 11800..1184F; Dogra
3535             0x11850,  //               unassigned
3536             0x118A0,  // 118A0..118FF; Warang Citi
3537             0x11900,  //               unassigned
3538             0x119A0,  // 119A0..119FF; Nandinagari
3539             0x11A00,  // 11A00..11A4F; Zanabazar Square
3540             0x11A50,  // 11A50..11AAF; Soyombo
3541             0x11AB0,  //               unassigned
3542             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3543             0x11B00,  //               unassigned
3544             0x11C00,  // 11C00..11C6F; Bhaiksuki
3545             0x11C70,  // 11C70..11CBF; Marchen
3546             0x11CC0,  //               unassigned
3547             0x11D00,  // 11D00..11D5F; Masaram Gondi
3548             0x11D60,  // 11D60..11DAF; Gunjala Gondi
3549             0x11DB0,  //               unassigned
3550             0x11EE0,  // 11EE0..11EFF; Makasar
3551             0x11F00,  //               unassigned
3552             0x11FC0,  // 11FC0..11FFF; Tamil Supplement
3553             0x12000,  // 12000..123FF; Cuneiform
3554             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3555             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3556             0x12550,  //               unassigned
3557             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3558             0x13430,  // 13430..1343F; Egyptian Hieroglyph Format Controls
3559             0x13440,  //               unassigned
3560             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3561             0x14680,  //               unassigned
3562             0x16800,  // 16800..16A3F; Bamum Supplement
3563             0x16A40,  // 16A40..16A6F; Mro
3564             0x16A70,  //               unassigned
3565             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3566             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3567             0x16B90,  //               unassigned
3568             0x16E40,  // 16E40..16E9F; Medefaidrin
3569             0x16EA0,  //               unassigned
3570             0x16F00,  // 16F00..16F9F; Miao
3571             0x16FA0,  //               unassigned
3572             0x16FE0,  // 16FE0..16FFF; Ideographic Symbols and Punctuation
3573             0x17000,  // 17000..187FF; Tangut
3574             0x18800,  // 18800..18AFF; Tangut Components
3575             0x18B00,  //               unassigned
3576             0x1B000,  // 1B000..1B0FF; Kana Supplement
3577             0x1B100,  // 1B100..1B12F; Kana Extended-A
3578             0x1B130,  // 1B130..1B16F; Small Kana Extension
3579             0x1B170,  // 1B170..1B2FF; Nushu
3580             0x1B300,  //               unassigned
3581             0x1BC00,  // 1BC00..1BC9F; Duployan
3582             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3583             0x1BCB0,  //               unassigned
3584             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3585             0x1D100,  // 1D100..1D1FF; Musical Symbols
3586             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3587             0x1D250,  //               unassigned
3588             0x1D2E0,  // 1D2E0..1D2FF; Mayan Numerals
3589             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3590             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3591             0x1D380,  //               unassigned
3592             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3593             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3594             0x1DAB0,  //               unassigned
3595             0x1E000,  // 1E000..1E02F; Glagolitic Supplement
3596             0x1E030,  //               unassigned
3597             0x1E100,  // 1E100..1E14F; Nyiakeng Puachue Hmong
3598             0x1E150,  //               unassigned
3599             0x1E2C0,  // 1E2C0..1E2FF; Wancho
3600             0x1E300,  //               unassigned
3601             0x1E800,  // 1E800..1E8DF; Mende Kikakui
3602             0x1E8E0,  //               unassigned
3603             0x1E900,  // 1E900..1E95F; Adlam
3604             0x1E960,  //               unassigned
3605             0x1EC70,  // 1EC70..1ECBF; Indic Siyaq Numbers
3606             0x1ECC0,  //               unassigned
3607             0x1ED00,  // 1ED00..1ED4F; Ottoman Siyaq Numbers
3608             0x1ED50,  //               unassigned
3609             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3610             0x1EF00,  //               unassigned
3611             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3612             0x1F030,  // 1F030..1F09F; Domino Tiles
3613             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3614             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3615             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3616             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3617             0x1F600,  // 1F600..1F64F; Emoticons
3618             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3619             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3620             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3621             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3622             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3623             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3624             0x1FA00,  // 1FA00..1FA6F; Chess Symbols
3625             0x1FA70,  // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3626             0x1FB00,  //               unassigned
3627             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3628             0x2A6E0,  //               unassigned
3629             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3630             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3631             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3632             0x2CEB0,  // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3633             0x2EBF0,  //               unassigned
3634             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3635             0x2FA20,  //               unassigned
3636             0xE0000,  // E0000..E007F; Tags
3637             0xE0080,  //               unassigned
3638             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3639             0xE01F0,  //               unassigned
3640             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3641             0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3642         };
3643 
3644         private static final UnicodeBlock[] blocks = {
3645             BASIC_LATIN,
3646             LATIN_1_SUPPLEMENT,
3647             LATIN_EXTENDED_A,
3648             LATIN_EXTENDED_B,
3649             IPA_EXTENSIONS,
3650             SPACING_MODIFIER_LETTERS,
3651             COMBINING_DIACRITICAL_MARKS,
3652             GREEK,
3653             CYRILLIC,
3654             CYRILLIC_SUPPLEMENTARY,
3655             ARMENIAN,
3656             HEBREW,
3657             ARABIC,
3658             SYRIAC,
3659             ARABIC_SUPPLEMENT,
3660             THAANA,
3661             NKO,


3846             KHAROSHTHI,
3847             OLD_SOUTH_ARABIAN,
3848             OLD_NORTH_ARABIAN,
3849             null,
3850             MANICHAEAN,
3851             AVESTAN,
3852             INSCRIPTIONAL_PARTHIAN,
3853             INSCRIPTIONAL_PAHLAVI,
3854             PSALTER_PAHLAVI,
3855             null,
3856             OLD_TURKIC,
3857             null,
3858             OLD_HUNGARIAN,
3859             HANIFI_ROHINGYA,
3860             null,
3861             RUMI_NUMERAL_SYMBOLS,
3862             null,
3863             OLD_SOGDIAN,
3864             SOGDIAN,
3865             null,
3866             ELYMAIC,
3867             BRAHMI,
3868             KAITHI,
3869             SORA_SOMPENG,
3870             CHAKMA,
3871             MAHAJANI,
3872             SHARADA,
3873             SINHALA_ARCHAIC_NUMBERS,
3874             KHOJKI,
3875             null,
3876             MULTANI,
3877             KHUDAWADI,
3878             GRANTHA,
3879             null,
3880             NEWA,
3881             TIRHUTA,
3882             null,
3883             SIDDHAM,
3884             MODI,
3885             MONGOLIAN_SUPPLEMENT,
3886             TAKRI,
3887             null,
3888             AHOM,
3889             null,
3890             DOGRA,
3891             null,
3892             WARANG_CITI,
3893             null,
3894             NANDINAGARI,
3895             ZANABAZAR_SQUARE,
3896             SOYOMBO,
3897             null,
3898             PAU_CIN_HAU,
3899             null,
3900             BHAIKSUKI,
3901             MARCHEN,
3902             null,
3903             MASARAM_GONDI,
3904             GUNJALA_GONDI,
3905             null,
3906             MAKASAR,
3907             null,
3908             TAMIL_SUPPLEMENT,
3909             CUNEIFORM,
3910             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3911             EARLY_DYNASTIC_CUNEIFORM,
3912             null,
3913             EGYPTIAN_HIEROGLYPHS,
3914             EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
3915             null,
3916             ANATOLIAN_HIEROGLYPHS,
3917             null,
3918             BAMUM_SUPPLEMENT,
3919             MRO,
3920             null,
3921             BASSA_VAH,
3922             PAHAWH_HMONG,
3923             null,
3924             MEDEFAIDRIN,
3925             null,
3926             MIAO,
3927             null,
3928             IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3929             TANGUT,
3930             TANGUT_COMPONENTS,
3931             null,
3932             KANA_SUPPLEMENT,
3933             KANA_EXTENDED_A,
3934             SMALL_KANA_EXTENSION,
3935             NUSHU,
3936             null,
3937             DUPLOYAN,
3938             SHORTHAND_FORMAT_CONTROLS,
3939             null,
3940             BYZANTINE_MUSICAL_SYMBOLS,
3941             MUSICAL_SYMBOLS,
3942             ANCIENT_GREEK_MUSICAL_NOTATION,
3943             null,
3944             MAYAN_NUMERALS,
3945             TAI_XUAN_JING_SYMBOLS,
3946             COUNTING_ROD_NUMERALS,
3947             null,
3948             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3949             SUTTON_SIGNWRITING,
3950             null,
3951             GLAGOLITIC_SUPPLEMENT,
3952             null,
3953             NYIAKENG_PUACHUE_HMONG,
3954             null,
3955             WANCHO,
3956             null,
3957             MENDE_KIKAKUI,
3958             null,
3959             ADLAM,
3960             null,
3961             INDIC_SIYAQ_NUMBERS,
3962             null,
3963             OTTOMAN_SIYAQ_NUMBERS,
3964             null,
3965             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3966             null,
3967             MAHJONG_TILES,
3968             DOMINO_TILES,
3969             PLAYING_CARDS,
3970             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3971             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3972             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3973             EMOTICONS,
3974             ORNAMENTAL_DINGBATS,
3975             TRANSPORT_AND_MAP_SYMBOLS,
3976             ALCHEMICAL_SYMBOLS,
3977             GEOMETRIC_SHAPES_EXTENDED,
3978             SUPPLEMENTAL_ARROWS_C,
3979             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3980             CHESS_SYMBOLS,
3981             SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
3982             null,
3983             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3984             null,
3985             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3986             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3987             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
3988             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
3989             null,
3990             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3991             null,
3992             TAGS,
3993             null,
3994             VARIATION_SELECTORS_SUPPLEMENT,
3995             null,
3996             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3997             SUPPLEMENTARY_PRIVATE_USE_AREA_B,
3998         };
3999 
4000 
4001         /**
4002          * Returns the object representing the Unicode block containing the
4003          * given character, or {@code null} if the character is not a
4004          * member of a defined block.
4005          *
4006          * <p><b>Note:</b> This method cannot handle
4007          * <a href="Character.html#supplementary"> supplementary
4008          * characters</a>.  To support all Unicode characters, including
4009          * supplementary characters, use the {@link #of(int)} method.
4010          *
4011          * @param   c  The character in question
4012          * @return  The {@code UnicodeBlock} instance representing the
4013          *          Unicode block of which this character is a member, or
4014          *          {@code null} if the character is not a member of any
4015          *          Unicode block
4016          */
4017         public static UnicodeBlock of(char c) {


4895 
4896         /**
4897          * Unicode script "Gunjala Gondi".
4898          * @since 12
4899          */
4900         GUNJALA_GONDI,
4901 
4902         /**
4903          * Unicode script "Makasar".
4904          * @since 12
4905          */
4906         MAKASAR,
4907 
4908         /**
4909          * Unicode script "Medefaidrin".
4910          * @since 12
4911          */
4912         MEDEFAIDRIN,
4913 
4914         /**
4915          * Unicode script "Elymaic".
4916          * @since 13
4917          */
4918         ELYMAIC,
4919 
4920         /**
4921          * Unicode script "Nandinagari".
4922          * @since 13
4923          */
4924         NANDINAGARI,
4925 
4926         /**
4927          * Unicode script "Nyiakeng Puachue Hmong".
4928          * @since 13
4929          */
4930         NYIAKENG_PUACHUE_HMONG,
4931 
4932         /**
4933          * Unicode script "Wancho".
4934          * @since 13
4935          */
4936         WANCHO,
4937 
4938         /**
4939          * Unicode script "Unknown".
4940          */
4941         UNKNOWN;
4942 
4943         private static final int[] scriptStarts = {
4944             0x0000,   // 0000..0040; COMMON
4945             0x0041,   // 0041..005A; LATIN
4946             0x005B,   // 005B..0060; COMMON
4947             0x0061,   // 0061..007A; LATIN
4948             0x007B,   // 007B..00A9; COMMON
4949             0x00AA,   // 00AA      ; LATIN
4950             0x00AB,   // 00AB..00B9; COMMON
4951             0x00BA,   // 00BA      ; LATIN
4952             0x00BB,   // 00BB..00BF; COMMON
4953             0x00C0,   // 00C0..00D6; LATIN
4954             0x00D7,   // 00D7      ; COMMON
4955             0x00D8,   // 00D8..00F6; LATIN
4956             0x00F7,   // 00F7      ; COMMON
4957             0x00F8,   // 00F8..02B8; LATIN
4958             0x02B9,   // 02B9..02DF; COMMON


5012             0x061F,   // 061F      ; COMMON
5013             0x0620,   // 0620..063F; ARABIC
5014             0x0640,   // 0640      ; COMMON
5015             0x0641,   // 0641..064A; ARABIC
5016             0x064B,   // 064B..0655; INHERITED
5017             0x0656,   // 0656..066F; ARABIC
5018             0x0670,   // 0670      ; INHERITED
5019             0x0671,   // 0671..06DC; ARABIC
5020             0x06DD,   // 06DD      ; COMMON
5021             0x06DE,   // 06DE..06FF; ARABIC
5022             0x0700,   // 0700..070D; SYRIAC
5023             0x070E,   // 070E      ; UNKNOWN
5024             0x070F,   // 070F..074A; SYRIAC
5025             0x074B,   // 074B..074C; UNKNOWN
5026             0x074D,   // 074D..074F; SYRIAC
5027             0x0750,   // 0750..077F; ARABIC
5028             0x0780,   // 0780..07B1; THAANA
5029             0x07B2,   // 07B2..07BF; UNKNOWN
5030             0x07C0,   // 07C0..07FA; NKO
5031             0x07FB,   // 07FB..07FC; UNKNOWN
5032             0x07FD,   // 07FD..07FF; NKO
5033             0x0800,   // 0800..082D; SAMARITAN
5034             0x082E,   // 082E..082F; UNKNOWN
5035             0x0830,   // 0830..083E; SAMARITAN
5036             0x083F,   // 083F      ; UNKNOWN
5037             0x0840,   // 0840..085B; MANDAIC
5038             0x085C,   // 085C..085D; UNKNOWN
5039             0x085E,   // 085E      ; MANDAIC
5040             0x085F,   // 085F      ; UNKNOWN
5041             0x0860,   // 0860..086A; SYRIAC
5042             0x086B,   // 086B..089F; UNKNOWN
5043             0x08A0,   // 08A0..08B4; ARABIC
5044             0x08B5,   // 08B5      ; UNKNOWN
5045             0x08B6,   // 08B6..08BD; ARABIC
5046             0x08BE,   // 08BE..08D2; UNKNOWN
5047             0x08D3,   // 08D3..08E1; ARABIC
5048             0x08E2,   // 08E2      ; COMMON
5049             0x08E3,   // 08E3..08FF; ARABIC
5050             0x0900,   // 0900..0950; DEVANAGARI
5051             0x0951,   // 0951..0954; INHERITED
5052             0x0955,   // 0955..0963; DEVANAGARI
5053             0x0964,   // 0964..0965; COMMON
5054             0x0966,   // 0966..097F; DEVANAGARI
5055             0x0980,   // 0980..0983; BENGALI
5056             0x0984,   // 0984      ; UNKNOWN
5057             0x0985,   // 0985..098C; BENGALI
5058             0x098D,   // 098D..098E; UNKNOWN
5059             0x098F,   // 098F..0990; BENGALI
5060             0x0991,   // 0991..0992; UNKNOWN
5061             0x0993,   // 0993..09A8; BENGALI
5062             0x09A9,   // 09A9      ; UNKNOWN
5063             0x09AA,   // 09AA..09B0; BENGALI
5064             0x09B1,   // 09B1      ; UNKNOWN
5065             0x09B2,   // 09B2      ; BENGALI
5066             0x09B3,   // 09B3..09B5; UNKNOWN
5067             0x09B6,   // 09B6..09B9; BENGALI
5068             0x09BA,   // 09BA..09BB; UNKNOWN
5069             0x09BC,   // 09BC..09C4; BENGALI
5070             0x09C5,   // 09C5..09C6; UNKNOWN
5071             0x09C7,   // 09C7..09C8; BENGALI
5072             0x09C9,   // 09C9..09CA; UNKNOWN


5204             0x0C0D,   // 0C0D      ; UNKNOWN
5205             0x0C0E,   // 0C0E..0C10; TELUGU
5206             0x0C11,   // 0C11      ; UNKNOWN
5207             0x0C12,   // 0C12..0C28; TELUGU
5208             0x0C29,   // 0C29      ; UNKNOWN
5209             0x0C2A,   // 0C2A..0C39; TELUGU
5210             0x0C3A,   // 0C3A..0C3C; UNKNOWN
5211             0x0C3D,   // 0C3D..0C44; TELUGU
5212             0x0C45,   // 0C45      ; UNKNOWN
5213             0x0C46,   // 0C46..0C48; TELUGU
5214             0x0C49,   // 0C49      ; UNKNOWN
5215             0x0C4A,   // 0C4A..0C4D; TELUGU
5216             0x0C4E,   // 0C4E..0C54; UNKNOWN
5217             0x0C55,   // 0C55..0C56; TELUGU
5218             0x0C57,   // 0C57      ; UNKNOWN
5219             0x0C58,   // 0C58..0C5A; TELUGU
5220             0x0C5B,   // 0C5B..0C5F; UNKNOWN
5221             0x0C60,   // 0C60..0C63; TELUGU
5222             0x0C64,   // 0C64..0C65; UNKNOWN
5223             0x0C66,   // 0C66..0C6F; TELUGU
5224             0x0C70,   // 0C70..0C76; UNKNOWN
5225             0x0C77,   // 0C77..0C7F; TELUGU
5226             0x0C80,   // 0C80..0C8C; KANNADA
5227             0x0C8D,   // 0C8D      ; UNKNOWN
5228             0x0C8E,   // 0C8E..0C90; KANNADA
5229             0x0C91,   // 0C91      ; UNKNOWN
5230             0x0C92,   // 0C92..0CA8; KANNADA
5231             0x0CA9,   // 0CA9      ; UNKNOWN
5232             0x0CAA,   // 0CAA..0CB3; KANNADA
5233             0x0CB4,   // 0CB4      ; UNKNOWN
5234             0x0CB5,   // 0CB5..0CB9; KANNADA
5235             0x0CBA,   // 0CBA..0CBB; UNKNOWN
5236             0x0CBC,   // 0CBC..0CC4; KANNADA
5237             0x0CC5,   // 0CC5      ; UNKNOWN
5238             0x0CC6,   // 0CC6..0CC8; KANNADA
5239             0x0CC9,   // 0CC9      ; UNKNOWN
5240             0x0CCA,   // 0CCA..0CCD; KANNADA
5241             0x0CCE,   // 0CCE..0CD4; UNKNOWN
5242             0x0CD5,   // 0CD5..0CD6; KANNADA
5243             0x0CD7,   // 0CD7..0CDD; UNKNOWN
5244             0x0CDE,   // 0CDE      ; KANNADA
5245             0x0CDF,   // 0CDF      ; UNKNOWN


5280             0x0DCA,   // 0DCA      ; SINHALA
5281             0x0DCB,   // 0DCB..0DCE; UNKNOWN
5282             0x0DCF,   // 0DCF..0DD4; SINHALA
5283             0x0DD5,   // 0DD5      ; UNKNOWN
5284             0x0DD6,   // 0DD6      ; SINHALA
5285             0x0DD7,   // 0DD7      ; UNKNOWN
5286             0x0DD8,   // 0DD8..0DDF; SINHALA
5287             0x0DE0,   // 0DE0..0DE5; UNKNOWN
5288             0x0DE6,   // 0DE6..0DEF; SINHALA
5289             0x0DF0,   // 0DF0..0DF1; UNKNOWN
5290             0x0DF2,   // 0DF2..0DF4; SINHALA
5291             0x0DF5,   // 0DF5..0E00; UNKNOWN
5292             0x0E01,   // 0E01..0E3A; THAI
5293             0x0E3B,   // 0E3B..0E3E; UNKNOWN
5294             0x0E3F,   // 0E3F      ; COMMON
5295             0x0E40,   // 0E40..0E5B; THAI
5296             0x0E5C,   // 0E5C..0E80; UNKNOWN
5297             0x0E81,   // 0E81..0E82; LAO
5298             0x0E83,   // 0E83      ; UNKNOWN
5299             0x0E84,   // 0E84      ; LAO
5300             0x0E85,   // 0E85      ; UNKNOWN
5301             0x0E86,   // 0E86..0E8A; LAO
5302             0x0E8B,   // 0E8B      ; UNKNOWN
5303             0x0E8C,   // 0E8C..0EA3; LAO








5304             0x0EA4,   // 0EA4      ; UNKNOWN
5305             0x0EA5,   // 0EA5      ; LAO
5306             0x0EA6,   // 0EA6      ; UNKNOWN
5307             0x0EA7,   // 0EA7..0EBD; LAO






5308             0x0EBE,   // 0EBE..0EBF; UNKNOWN
5309             0x0EC0,   // 0EC0..0EC4; LAO
5310             0x0EC5,   // 0EC5      ; UNKNOWN
5311             0x0EC6,   // 0EC6      ; LAO
5312             0x0EC7,   // 0EC7      ; UNKNOWN
5313             0x0EC8,   // 0EC8..0ECD; LAO
5314             0x0ECE,   // 0ECE..0ECF; UNKNOWN
5315             0x0ED0,   // 0ED0..0ED9; LAO
5316             0x0EDA,   // 0EDA..0EDB; UNKNOWN
5317             0x0EDC,   // 0EDC..0EDF; LAO
5318             0x0EE0,   // 0EE0..0EFF; UNKNOWN
5319             0x0F00,   // 0F00..0F47; TIBETAN
5320             0x0F48,   // 0F48      ; UNKNOWN
5321             0x0F49,   // 0F49..0F6C; TIBETAN
5322             0x0F6D,   // 0F6D..0F70; UNKNOWN
5323             0x0F71,   // 0F71..0F97; TIBETAN
5324             0x0F98,   // 0F98      ; UNKNOWN
5325             0x0F99,   // 0F99..0FBC; TIBETAN
5326             0x0FBD,   // 0FBD      ; UNKNOWN
5327             0x0FBE,   // 0FBE..0FCC; TIBETAN
5328             0x0FCD,   // 0FCD      ; UNKNOWN
5329             0x0FCE,   // 0FCE..0FD4; TIBETAN
5330             0x0FD5,   // 0FD5..0FD8; COMMON
5331             0x0FD9,   // 0FD9..0FDA; TIBETAN
5332             0x0FDB,   // 0FDB..0FFF; UNKNOWN
5333             0x1000,   // 1000..109F; MYANMAR
5334             0x10A0,   // 10A0..10C5; GEORGIAN
5335             0x10C6,   // 10C6      ; UNKNOWN
5336             0x10C7,   // 10C7      ; GEORGIAN
5337             0x10C8,   // 10C8..10CC; UNKNOWN
5338             0x10CD,   // 10CD      ; GEORGIAN
5339             0x10CE,   // 10CE..10CF; UNKNOWN
5340             0x10D0,   // 10D0..10FA; GEORGIAN
5341             0x10FB,   // 10FB      ; COMMON
5342             0x10FC,   // 10FC..10FF; GEORGIAN
5343             0x1100,   // 1100..11FF; HANGUL
5344             0x1200,   // 1200..1248; ETHIOPIC
5345             0x1249,   // 1249      ; UNKNOWN
5346             0x124A,   // 124A..124D; ETHIOPIC
5347             0x124E,   // 124E..124F; UNKNOWN
5348             0x1250,   // 1250..1256; ETHIOPIC
5349             0x1257,   // 1257      ; UNKNOWN
5350             0x1258,   // 1258      ; ETHIOPIC
5351             0x1259,   // 1259      ; UNKNOWN
5352             0x125A,   // 125A..125D; ETHIOPIC


5457             0x1A9A,   // 1A9A..1A9F; UNKNOWN
5458             0x1AA0,   // 1AA0..1AAD; TAI_THAM
5459             0x1AAE,   // 1AAE..1AAF; UNKNOWN
5460             0x1AB0,   // 1AB0..1ABE; INHERITED
5461             0x1ABF,   // 1ABF..1AFF; UNKNOWN
5462             0x1B00,   // 1B00..1B4B; BALINESE
5463             0x1B4C,   // 1B4C..1B4F; UNKNOWN
5464             0x1B50,   // 1B50..1B7C; BALINESE
5465             0x1B7D,   // 1B7D..1B7F; UNKNOWN
5466             0x1B80,   // 1B80..1BBF; SUNDANESE
5467             0x1BC0,   // 1BC0..1BF3; BATAK
5468             0x1BF4,   // 1BF4..1BFB; UNKNOWN
5469             0x1BFC,   // 1BFC..1BFF; BATAK
5470             0x1C00,   // 1C00..1C37; LEPCHA
5471             0x1C38,   // 1C38..1C3A; UNKNOWN
5472             0x1C3B,   // 1C3B..1C49; LEPCHA
5473             0x1C4A,   // 1C4A..1C4C; UNKNOWN
5474             0x1C4D,   // 1C4D..1C4F; LEPCHA
5475             0x1C50,   // 1C50..1C7F; OL_CHIKI
5476             0x1C80,   // 1C80..1C88; CYRILLIC
5477             0x1C89,   // 1C89..1C8F; UNKNOWN
5478             0x1C90,   // 1C90..1CBA; GEORGIAN
5479             0x1CBB,   // 1CBB..1CBC; UNKNOWN
5480             0x1CBD,   // 1CBD..1CBF; GEORGIAN
5481             0x1CC0,   // 1CC0..1CC7; SUNDANESE
5482             0x1CC8,   // 1CC8..1CCF; UNKNOWN
5483             0x1CD0,   // 1CD0..1CD2; INHERITED
5484             0x1CD3,   // 1CD3      ; COMMON
5485             0x1CD4,   // 1CD4..1CE0; INHERITED
5486             0x1CE1,   // 1CE1      ; COMMON
5487             0x1CE2,   // 1CE2..1CE8; INHERITED
5488             0x1CE9,   // 1CE9..1CEC; COMMON
5489             0x1CED,   // 1CED      ; INHERITED
5490             0x1CEE,   // 1CEE..1CF3; COMMON
5491             0x1CF4,   // 1CF4      ; INHERITED
5492             0x1CF5,   // 1CF5..1CF7; COMMON
5493             0x1CF8,   // 1CF8..1CF9; INHERITED
5494             0x1CFA,   // 1CFA      ; COMMON
5495             0x1CFB,   // 1CFB..1CFF; UNKNOWN
5496             0x1D00,   // 1D00..1D25; LATIN
5497             0x1D26,   // 1D26..1D2A; GREEK
5498             0x1D2B,   // 1D2B      ; CYRILLIC
5499             0x1D2C,   // 1D2C..1D5C; LATIN
5500             0x1D5D,   // 1D5D..1D61; GREEK
5501             0x1D62,   // 1D62..1D65; LATIN
5502             0x1D66,   // 1D66..1D6A; GREEK
5503             0x1D6B,   // 1D6B..1D77; LATIN
5504             0x1D78,   // 1D78      ; CYRILLIC
5505             0x1D79,   // 1D79..1DBE; LATIN
5506             0x1DBF,   // 1DBF      ; GREEK
5507             0x1DC0,   // 1DC0..1DF9; INHERITED
5508             0x1DFA,   // 1DFA      ; UNKNOWN
5509             0x1DFB,   // 1DFB..1DFF; INHERITED
5510             0x1E00,   // 1E00..1EFF; LATIN
5511             0x1F00,   // 1F00..1F15; GREEK
5512             0x1F16,   // 1F16..1F17; UNKNOWN
5513             0x1F18,   // 1F18..1F1D; GREEK
5514             0x1F1E,   // 1F1E..1F1F; UNKNOWN
5515             0x1F20,   // 1F20..1F45; GREEK


5562             0x2127,   // 2127..2129; COMMON
5563             0x212A,   // 212A..212B; LATIN
5564             0x212C,   // 212C..2131; COMMON
5565             0x2132,   // 2132      ; LATIN
5566             0x2133,   // 2133..214D; COMMON
5567             0x214E,   // 214E      ; LATIN
5568             0x214F,   // 214F..215F; COMMON
5569             0x2160,   // 2160..2188; LATIN
5570             0x2189,   // 2189..218B; COMMON
5571             0x218C,   // 218C..218F; UNKNOWN
5572             0x2190,   // 2190..2426; COMMON
5573             0x2427,   // 2427..243F; UNKNOWN
5574             0x2440,   // 2440..244A; COMMON
5575             0x244B,   // 244B..245F; UNKNOWN
5576             0x2460,   // 2460..27FF; COMMON
5577             0x2800,   // 2800..28FF; BRAILLE
5578             0x2900,   // 2900..2B73; COMMON
5579             0x2B74,   // 2B74..2B75; UNKNOWN
5580             0x2B76,   // 2B76..2B95; COMMON
5581             0x2B96,   // 2B96..2B97; UNKNOWN
5582             0x2B98,   // 2B98..2BFF; COMMON



5583             0x2C00,   // 2C00..2C2E; GLAGOLITIC
5584             0x2C2F,   // 2C2F      ; UNKNOWN
5585             0x2C30,   // 2C30..2C5E; GLAGOLITIC
5586             0x2C5F,   // 2C5F      ; UNKNOWN
5587             0x2C60,   // 2C60..2C7F; LATIN
5588             0x2C80,   // 2C80..2CF3; COPTIC
5589             0x2CF4,   // 2CF4..2CF8; UNKNOWN
5590             0x2CF9,   // 2CF9..2CFF; COPTIC
5591             0x2D00,   // 2D00..2D25; GEORGIAN
5592             0x2D26,   // 2D26      ; UNKNOWN
5593             0x2D27,   // 2D27      ; GEORGIAN
5594             0x2D28,   // 2D28..2D2C; UNKNOWN
5595             0x2D2D,   // 2D2D      ; GEORGIAN
5596             0x2D2E,   // 2D2E..2D2F; UNKNOWN
5597             0x2D30,   // 2D30..2D67; TIFINAGH
5598             0x2D68,   // 2D68..2D6E; UNKNOWN
5599             0x2D6F,   // 2D6F..2D70; TIFINAGH
5600             0x2D71,   // 2D71..2D7E; UNKNOWN
5601             0x2D7F,   // 2D7F      ; TIFINAGH
5602             0x2D80,   // 2D80..2D96; ETHIOPIC
5603             0x2D97,   // 2D97..2D9F; UNKNOWN
5604             0x2DA0,   // 2DA0..2DA6; ETHIOPIC
5605             0x2DA7,   // 2DA7      ; UNKNOWN
5606             0x2DA8,   // 2DA8..2DAE; ETHIOPIC
5607             0x2DAF,   // 2DAF      ; UNKNOWN
5608             0x2DB0,   // 2DB0..2DB6; ETHIOPIC
5609             0x2DB7,   // 2DB7      ; UNKNOWN
5610             0x2DB8,   // 2DB8..2DBE; ETHIOPIC
5611             0x2DBF,   // 2DBF      ; UNKNOWN
5612             0x2DC0,   // 2DC0..2DC6; ETHIOPIC
5613             0x2DC7,   // 2DC7      ; UNKNOWN
5614             0x2DC8,   // 2DC8..2DCE; ETHIOPIC
5615             0x2DCF,   // 2DCF      ; UNKNOWN
5616             0x2DD0,   // 2DD0..2DD6; ETHIOPIC
5617             0x2DD7,   // 2DD7      ; UNKNOWN
5618             0x2DD8,   // 2DD8..2DDE; ETHIOPIC
5619             0x2DDF,   // 2DDF      ; UNKNOWN
5620             0x2DE0,   // 2DE0..2DFF; CYRILLIC
5621             0x2E00,   // 2E00..2E4F; COMMON
5622             0x2E50,   // 2E50..2E7F; UNKNOWN
5623             0x2E80,   // 2E80..2E99; HAN
5624             0x2E9A,   // 2E9A      ; UNKNOWN
5625             0x2E9B,   // 2E9B..2EF3; HAN
5626             0x2EF4,   // 2EF4..2EFF; UNKNOWN
5627             0x2F00,   // 2F00..2FD5; HAN
5628             0x2FD6,   // 2FD6..2FEF; UNKNOWN
5629             0x2FF0,   // 2FF0..2FFB; COMMON
5630             0x2FFC,   // 2FFC..2FFF; UNKNOWN
5631             0x3000,   // 3000..3004; COMMON
5632             0x3005,   // 3005      ; HAN
5633             0x3006,   // 3006      ; COMMON
5634             0x3007,   // 3007      ; HAN
5635             0x3008,   // 3008..3020; COMMON
5636             0x3021,   // 3021..3029; HAN
5637             0x302A,   // 302A..302D; INHERITED
5638             0x302E,   // 302E..302F; HANGUL
5639             0x3030,   // 3030..3037; COMMON
5640             0x3038,   // 3038..303B; HAN
5641             0x303C,   // 303C..303F; COMMON
5642             0x3040,   // 3040      ; UNKNOWN
5643             0x3041,   // 3041..3096; HIRAGANA
5644             0x3097,   // 3097..3098; UNKNOWN
5645             0x3099,   // 3099..309A; INHERITED
5646             0x309B,   // 309B..309C; COMMON
5647             0x309D,   // 309D..309F; HIRAGANA
5648             0x30A0,   // 30A0      ; COMMON
5649             0x30A1,   // 30A1..30FA; KATAKANA
5650             0x30FB,   // 30FB..30FC; COMMON
5651             0x30FD,   // 30FD..30FF; KATAKANA
5652             0x3100,   // 3100..3104; UNKNOWN
5653             0x3105,   // 3105..312F; BOPOMOFO
5654             0x3130,   // 3130      ; UNKNOWN
5655             0x3131,   // 3131..318E; HANGUL
5656             0x318F,   // 318F      ; UNKNOWN
5657             0x3190,   // 3190..319F; COMMON
5658             0x31A0,   // 31A0..31BA; BOPOMOFO
5659             0x31BB,   // 31BB..31BF; UNKNOWN
5660             0x31C0,   // 31C0..31E3; COMMON
5661             0x31E4,   // 31E4..31EF; UNKNOWN
5662             0x31F0,   // 31F0..31FF; KATAKANA
5663             0x3200,   // 3200..321E; HANGUL
5664             0x321F,   // 321F      ; UNKNOWN
5665             0x3220,   // 3220..325F; COMMON
5666             0x3260,   // 3260..327E; HANGUL
5667             0x327F,   // 327F..32CF; COMMON
5668             0x32D0,   // 32D0..32FE; KATAKANA
5669             0x32FF,   // 32FF      ; COMMON
5670             0x3300,   // 3300..3357; KATAKANA
5671             0x3358,   // 3358..33FF; COMMON
5672             0x3400,   // 3400..4DB5; HAN
5673             0x4DB6,   // 4DB6..4DBF; UNKNOWN
5674             0x4DC0,   // 4DC0..4DFF; COMMON
5675             0x4E00,   // 4E00..9FEF; HAN
5676             0x9FF0,   // 9FF0..9FFF; UNKNOWN
5677             0xA000,   // A000..A48C; YI
5678             0xA48D,   // A48D..A48F; UNKNOWN
5679             0xA490,   // A490..A4C6; YI
5680             0xA4C7,   // A4C7..A4CF; UNKNOWN
5681             0xA4D0,   // A4D0..A4FF; LISU
5682             0xA500,   // A500..A62B; VAI
5683             0xA62C,   // A62C..A63F; UNKNOWN
5684             0xA640,   // A640..A69F; CYRILLIC
5685             0xA6A0,   // A6A0..A6F7; BAMUM
5686             0xA6F8,   // A6F8..A6FF; UNKNOWN
5687             0xA700,   // A700..A721; COMMON
5688             0xA722,   // A722..A787; LATIN
5689             0xA788,   // A788..A78A; COMMON
5690             0xA78B,   // A78B..A7BF; LATIN
5691             0xA7C0,   // A7C0..A7C1; UNKNOWN
5692             0xA7C2,   // A7C2..A7C6; LATIN
5693             0xA7C7,   // A7C7..A7F6; UNKNOWN
5694             0xA7F7,   // A7F7..A7FF; LATIN
5695             0xA800,   // A800..A82B; SYLOTI_NAGRI
5696             0xA82C,   // A82C..A82F; UNKNOWN
5697             0xA830,   // A830..A839; COMMON
5698             0xA83A,   // A83A..A83F; UNKNOWN
5699             0xA840,   // A840..A877; PHAGS_PA
5700             0xA878,   // A878..A87F; UNKNOWN
5701             0xA880,   // A880..A8C5; SAURASHTRA
5702             0xA8C6,   // A8C6..A8CD; UNKNOWN
5703             0xA8CE,   // A8CE..A8D9; SAURASHTRA
5704             0xA8DA,   // A8DA..A8DF; UNKNOWN
5705             0xA8E0,   // A8E0..A8FF; DEVANAGARI
5706             0xA900,   // A900..A92D; KAYAH_LI
5707             0xA92E,   // A92E      ; COMMON
5708             0xA92F,   // A92F      ; KAYAH_LI
5709             0xA930,   // A930..A953; REJANG
5710             0xA954,   // A954..A95E; UNKNOWN
5711             0xA95F,   // A95F      ; REJANG
5712             0xA960,   // A960..A97C; HANGUL
5713             0xA97D,   // A97D..A97F; UNKNOWN


5729             0xAA60,   // AA60..AA7F; MYANMAR
5730             0xAA80,   // AA80..AAC2; TAI_VIET
5731             0xAAC3,   // AAC3..AADA; UNKNOWN
5732             0xAADB,   // AADB..AADF; TAI_VIET
5733             0xAAE0,   // AAE0..AAF6; MEETEI_MAYEK
5734             0xAAF7,   // AAF7..AB00; UNKNOWN
5735             0xAB01,   // AB01..AB06; ETHIOPIC
5736             0xAB07,   // AB07..AB08; UNKNOWN
5737             0xAB09,   // AB09..AB0E; ETHIOPIC
5738             0xAB0F,   // AB0F..AB10; UNKNOWN
5739             0xAB11,   // AB11..AB16; ETHIOPIC
5740             0xAB17,   // AB17..AB1F; UNKNOWN
5741             0xAB20,   // AB20..AB26; ETHIOPIC
5742             0xAB27,   // AB27      ; UNKNOWN
5743             0xAB28,   // AB28..AB2E; ETHIOPIC
5744             0xAB2F,   // AB2F      ; UNKNOWN
5745             0xAB30,   // AB30..AB5A; LATIN
5746             0xAB5B,   // AB5B      ; COMMON
5747             0xAB5C,   // AB5C..AB64; LATIN
5748             0xAB65,   // AB65      ; GREEK
5749             0xAB66,   // AB66..AB67; LATIN
5750             0xAB68,   // AB68..AB6F; UNKNOWN
5751             0xAB70,   // AB70..ABBF; CHEROKEE
5752             0xABC0,   // ABC0..ABED; MEETEI_MAYEK
5753             0xABEE,   // ABEE..ABEF; UNKNOWN
5754             0xABF0,   // ABF0..ABF9; MEETEI_MAYEK
5755             0xABFA,   // ABFA..ABFF; UNKNOWN
5756             0xAC00,   // AC00..D7A3; HANGUL
5757             0xD7A4,   // D7A4..D7AF; UNKNOWN
5758             0xD7B0,   // D7B0..D7C6; HANGUL
5759             0xD7C7,   // D7C7..D7CA; UNKNOWN
5760             0xD7CB,   // D7CB..D7FB; HANGUL
5761             0xD7FC,   // D7FC..F8FF; UNKNOWN
5762             0xF900,   // F900..FA6D; HAN
5763             0xFA6E,   // FA6E..FA6F; UNKNOWN
5764             0xFA70,   // FA70..FAD9; HAN
5765             0xFADA,   // FADA..FAFF; UNKNOWN
5766             0xFB00,   // FB00..FB06; LATIN
5767             0xFB07,   // FB07..FB12; UNKNOWN
5768             0xFB13,   // FB13..FB17; ARMENIAN
5769             0xFB18,   // FB18..FB1C; UNKNOWN
5770             0xFB1D,   // FB1D..FB36; HEBREW


5967             0x10B39,  // 10B39..10B3F; AVESTAN
5968             0x10B40,  // 10B40..10B55; INSCRIPTIONAL_PARTHIAN
5969             0x10B56,  // 10B56..10B57; UNKNOWN
5970             0x10B58,  // 10B58..10B5F; INSCRIPTIONAL_PARTHIAN
5971             0x10B60,  // 10B60..10B72; INSCRIPTIONAL_PAHLAVI
5972             0x10B73,  // 10B73..10B77; UNKNOWN
5973             0x10B78,  // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5974             0x10B80,  // 10B80..10B91; PSALTER_PAHLAVI
5975             0x10B92,  // 10B92..10B98; UNKNOWN
5976             0x10B99,  // 10B99..10B9C; PSALTER_PAHLAVI
5977             0x10B9D,  // 10B9D..10BA8; UNKNOWN
5978             0x10BA9,  // 10BA9..10BAF; PSALTER_PAHLAVI
5979             0x10BB0,  // 10BB0..10BFF; UNKNOWN
5980             0x10C00,  // 10C00..10C48; OLD_TURKIC
5981             0x10C49,  // 10C49..10C7F; UNKNOWN
5982             0x10C80,  // 10C80..10CB2; OLD_HUNGARIAN
5983             0x10CB3,  // 10CB3..10CBF; UNKNOWN
5984             0x10CC0,  // 10CC0..10CF2; OLD_HUNGARIAN
5985             0x10CF3,  // 10CF3..10CF9; UNKNOWN
5986             0x10CFA,  // 10CFA..10CFF; OLD_HUNGARIAN
5987             0x10D00,  // 10D00..10D27; HANIFI_ROHINGYA
5988             0x10D28,  // 10D28..10D2F; UNKNOWN
5989             0x10D30,  // 10D30..10D39; HANIFI_ROHINGYA
5990             0x10D3A,  // 10D3A..10E5F; UNKNOWN
5991             0x10E60,  // 10E60..10E7E; ARABIC
5992             0x10E7F,  // 10E7F..10EFF; UNKNOWN
5993             0x10F00,  // 10F00..10F27; OLD_SOGDIAN
5994             0x10F28,  // 10F28..10F2F; UNKNOWN
5995             0x10F30,  // 10F30..10F59; SOGDIAN
5996             0x10F5A,  // 10F5A..10FDF; UNKNOWN
5997             0x10FE0,  // 10FE0..10FF6; ELYMAIC
5998             0x10FF7,  // 10FF7..10FFF; UNKNOWN
5999             0x11000,  // 11000..1104D; BRAHMI
6000             0x1104E,  // 1104E..11051; UNKNOWN
6001             0x11052,  // 11052..1106F; BRAHMI
6002             0x11070,  // 11070..1107E; UNKNOWN
6003             0x1107F,  // 1107F       ; BRAHMI
6004             0x11080,  // 11080..110C1; KAITHI
6005             0x110C2,  // 110C2..110CC; UNKNOWN
6006             0x110CD,  // 110CD       ; KAITHI
6007             0x110CE,  // 110CE..110CF; UNKNOWN
6008             0x110D0,  // 110D0..110E8; SORA_SOMPENG
6009             0x110E9,  // 110E9..110EF; UNKNOWN
6010             0x110F0,  // 110F0..110F9; SORA_SOMPENG
6011             0x110FA,  // 110FA..110FF; UNKNOWN
6012             0x11100,  // 11100..11134; CHAKMA
6013             0x11135,  // 11135       ; UNKNOWN
6014             0x11136,  // 11136..11146; CHAKMA
6015             0x11147,  // 11147..1114F; UNKNOWN
6016             0x11150,  // 11150..11176; MAHAJANI
6017             0x11177,  // 11177..1117F; UNKNOWN
6018             0x11180,  // 11180..111CD; SHARADA


6057             0x1133C,  // 1133C..11344; GRANTHA
6058             0x11345,  // 11345..11346; UNKNOWN
6059             0x11347,  // 11347..11348; GRANTHA
6060             0x11349,  // 11349..1134A; UNKNOWN
6061             0x1134B,  // 1134B..1134D; GRANTHA
6062             0x1134E,  // 1134E..1134F; UNKNOWN
6063             0x11350,  // 11350       ; GRANTHA
6064             0x11351,  // 11351..11356; UNKNOWN
6065             0x11357,  // 11357       ; GRANTHA
6066             0x11358,  // 11358..1135C; UNKNOWN
6067             0x1135D,  // 1135D..11363; GRANTHA
6068             0x11364,  // 11364..11365; UNKNOWN
6069             0x11366,  // 11366..1136C; GRANTHA
6070             0x1136D,  // 1136D..1136F; UNKNOWN
6071             0x11370,  // 11370..11374; GRANTHA
6072             0x11375,  // 11375..113FF; UNKNOWN
6073             0x11400,  // 11400..11459; NEWA
6074             0x1145A,  // 1145A       ; UNKNOWN
6075             0x1145B,  // 1145B       ; NEWA
6076             0x1145C,  // 1145C       ; UNKNOWN
6077             0x1145D,  // 1145D..1145F; NEWA
6078             0x11460,  // 11460..1147F; UNKNOWN
6079             0x11480,  // 11480..114C7; TIRHUTA
6080             0x114C8,  // 114C8..114CF; UNKNOWN
6081             0x114D0,  // 114D0..114D9; TIRHUTA
6082             0x114DA,  // 114DA..1157F; UNKNOWN
6083             0x11580,  // 11580..115B5; SIDDHAM
6084             0x115B6,  // 115B6..115B7; UNKNOWN
6085             0x115B8,  // 115B8..115DD; SIDDHAM
6086             0x115DE,  // 115DE..115FF; UNKNOWN
6087             0x11600,  // 11600..11644; MODI
6088             0x11645,  // 11645..1164F; UNKNOWN
6089             0x11650,  // 11650..11659; MODI
6090             0x1165A,  // 1165A..1165F; UNKNOWN
6091             0x11660,  // 11660..1166C; MONGOLIAN
6092             0x1166D,  // 1166D..1167F; UNKNOWN
6093             0x11680,  // 11680..116B8; TAKRI
6094             0x116B9,  // 116B9..116BF; UNKNOWN
6095             0x116C0,  // 116C0..116C9; TAKRI
6096             0x116CA,  // 116CA..116FF; UNKNOWN
6097             0x11700,  // 11700..1171A; AHOM
6098             0x1171B,  // 1171B..1171C; UNKNOWN
6099             0x1171D,  // 1171D..1172B; AHOM
6100             0x1172C,  // 1172C..1172F; UNKNOWN
6101             0x11730,  // 11730..1173F; AHOM
6102             0x11740,  // 11740..117FF; UNKNOWN
6103             0x11800,  // 11800..1183B; DOGRA
6104             0x1183C,  // 1183C..1189F; UNKNOWN
6105             0x118A0,  // 118A0..118F2; WARANG_CITI
6106             0x118F3,  // 118F3..118FE; UNKNOWN
6107             0x118FF,  // 118FF       ; WARANG_CITI
6108             0x11900,  // 11900..1199F; UNKNOWN
6109             0x119A0,  // 119A0..119A7; NANDINAGARI
6110             0x119A8,  // 119A8..119A9; UNKNOWN
6111             0x119AA,  // 119AA..119D7; NANDINAGARI
6112             0x119D8,  // 119D8..119D9; UNKNOWN
6113             0x119DA,  // 119DA..119E4; NANDINAGARI
6114             0x119E5,  // 119E5..119FF; UNKNOWN
6115             0x11A00,  // 11A00..11A47; ZANABAZAR_SQUARE
6116             0x11A48,  // 11A48..11A4F; UNKNOWN
6117             0x11A50,  // 11A50..11AA2; SOYOMBO


6118             0x11AA3,  // 11AA3..11ABF; UNKNOWN
6119             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
6120             0x11AF9,  // 11AF9..11BFF; UNKNOWN
6121             0x11C00,  // 11C00..11C08; BHAIKSUKI
6122             0x11C09,  // 11C09       ; UNKNOWN
6123             0x11C0A,  // 11C0A..11C36; BHAIKSUKI
6124             0x11C37,  // 11C37       ; UNKNOWN
6125             0x11C38,  // 11C38..11C45; BHAIKSUKI
6126             0x11C46,  // 11C46..11C4F; UNKNOWN
6127             0x11C50,  // 11C50..11C6C; BHAIKSUKI
6128             0x11C6D,  // 11C6D..11C6F; UNKNOWN
6129             0x11C70,  // 11C70..11C8F; MARCHEN
6130             0x11C90,  // 11C90..11C91; UNKNOWN
6131             0x11C92,  // 11C92..11CA7; MARCHEN
6132             0x11CA8,  // 11CA8       ; UNKNOWN
6133             0x11CA9,  // 11CA9..11CB6; MARCHEN
6134             0x11CB7,  // 11CB7..11CFF; UNKNOWN
6135             0x11D00,  // 11D00..11D06; MASARAM_GONDI
6136             0x11D07,  // 11D07       ; UNKNOWN
6137             0x11D08,  // 11D08..11D09; MASARAM_GONDI
6138             0x11D0A,  // 11D0A       ; UNKNOWN
6139             0x11D0B,  // 11D0B..11D36; MASARAM_GONDI
6140             0x11D37,  // 11D37..11D39; UNKNOWN
6141             0x11D3A,  // 11D3A       ; MASARAM_GONDI
6142             0x11D3B,  // 11D3B       ; UNKNOWN
6143             0x11D3C,  // 11D3C..11D3D; MASARAM_GONDI
6144             0x11D3E,  // 11D3E       ; UNKNOWN
6145             0x11D3F,  // 11D3F..11D47; MASARAM_GONDI
6146             0x11D48,  // 11D48..11D4F; UNKNOWN
6147             0x11D50,  // 11D50..11D59; MASARAM_GONDI
6148             0x11D5A,  // 11D5A..11D5F; UNKNOWN
6149             0x11D60,  // 11D60..11D65; GUNJALA_GONDI
6150             0x11D66,  // 11D66       ; UNKNOWN
6151             0x11D67,  // 11D67..11D68; GUNJALA_GONDI
6152             0x11D69,  // 11D69       ; UNKNOWN
6153             0x11D6A,  // 11D6A..11D8E; GUNJALA_GONDI
6154             0x11D8F,  // 11D8F       ; UNKNOWN
6155             0x11D90,  // 11D90..11D91; GUNJALA_GONDI
6156             0x11D92,  // 11D92       ; UNKNOWN
6157             0x11D93,  // 11D93..11D98; GUNJALA_GONDI
6158             0x11D99,  // 11D99..11D9F; UNKNOWN
6159             0x11DA0,  // 11DA0..11DA9; GUNJALA_GONDI
6160             0x11DAA,  // 11DAA..11EDF; UNKNOWN
6161             0x11EE0,  // 11EE0..11EF8; MAKASAR
6162             0x11EF9,  // 11EF9..11FBF; UNKNOWN
6163             0x11FC0,  // 11FC0..11FF1; TAMIL
6164             0x11FF2,  // 11FF2..11FFE; UNKNOWN
6165             0x11FFF,  // 11FFF       ; TAMIL
6166             0x12000,  // 12000..12399; CUNEIFORM
6167             0x1239A,  // 1239A..123FF; UNKNOWN
6168             0x12400,  // 12400..1246E; CUNEIFORM
6169             0x1246F,  // 1246F       ; UNKNOWN
6170             0x12470,  // 12470..12474; CUNEIFORM
6171             0x12475,  // 12475..1247F; UNKNOWN
6172             0x12480,  // 12480..12543; CUNEIFORM
6173             0x12544,  // 12544..12FFF; UNKNOWN
6174             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6175             0x1342F,  // 1342F       ; UNKNOWN
6176             0x13430,  // 13430..13438; EGYPTIAN_HIEROGLYPHS
6177             0x13439,  // 13439..143FF; UNKNOWN
6178             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
6179             0x14647,  // 14647..167FF; UNKNOWN
6180             0x16800,  // 16800..16A38; BAMUM
6181             0x16A39,  // 16A39..16A3F; UNKNOWN
6182             0x16A40,  // 16A40..16A5E; MRO
6183             0x16A5F,  // 16A5F       ; UNKNOWN
6184             0x16A60,  // 16A60..16A69; MRO
6185             0x16A6A,  // 16A6A..16A6D; UNKNOWN
6186             0x16A6E,  // 16A6E..16A6F; MRO
6187             0x16A70,  // 16A70..16ACF; UNKNOWN
6188             0x16AD0,  // 16AD0..16AED; BASSA_VAH
6189             0x16AEE,  // 16AEE..16AEF; UNKNOWN
6190             0x16AF0,  // 16AF0..16AF5; BASSA_VAH
6191             0x16AF6,  // 16AF6..16AFF; UNKNOWN
6192             0x16B00,  // 16B00..16B45; PAHAWH_HMONG
6193             0x16B46,  // 16B46..16B4F; UNKNOWN
6194             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
6195             0x16B5A,  // 16B5A       ; UNKNOWN
6196             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
6197             0x16B62,  // 16B62       ; UNKNOWN
6198             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
6199             0x16B78,  // 16B78..16B7C; UNKNOWN
6200             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
6201             0x16B90,  // 16B90..16E3F; UNKNOWN
6202             0x16E40,  // 16E40..16E9A; MEDEFAIDRIN
6203             0x16E9B,  // 16E9B..16EFF; UNKNOWN
6204             0x16F00,  // 16F00..16F4A; MIAO
6205             0x16F4B,  // 16F4B..16F4E; UNKNOWN
6206             0x16F4F,  // 16F4F..16F87; MIAO
6207             0x16F88,  // 16F88..16F8E; UNKNOWN
6208             0x16F8F,  // 16F8F..16F9F; MIAO
6209             0x16FA0,  // 16FA0..16FDF; UNKNOWN
6210             0x16FE0,  // 16FE0       ; TANGUT
6211             0x16FE1,  // 16FE1       ; NUSHU
6212             0x16FE2,  // 16FE2..16FE3; COMMON
6213             0x16FE4,  // 16FE4..16FFF; UNKNOWN
6214             0x17000,  // 17000..187F7; TANGUT
6215             0x187F8,  // 187F8..187FF; UNKNOWN
6216             0x18800,  // 18800..18AF2; TANGUT
6217             0x18AF3,  // 18AF3..1AFFF; UNKNOWN
6218             0x1B000,  // 1B000       ; KATAKANA
6219             0x1B001,  // 1B001..1B11E; HIRAGANA
6220             0x1B11F,  // 1B11F..1B14F; UNKNOWN
6221             0x1B150,  // 1B150..1B152; HIRAGANA
6222             0x1B153,  // 1B153..1B163; UNKNOWN
6223             0x1B164,  // 1B164..1B167; KATAKANA
6224             0x1B168,  // 1B168..1B16F; UNKNOWN
6225             0x1B170,  // 1B170..1B2FB; NUSHU
6226             0x1B2FC,  // 1B2FC..1BBFF; UNKNOWN
6227             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
6228             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
6229             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
6230             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
6231             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
6232             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
6233             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
6234             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
6235             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
6236             0x1BCA0,  // 1BCA0..1BCA3; COMMON
6237             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN
6238             0x1D000,  // 1D000..1D0F5; COMMON
6239             0x1D0F6,  // 1D0F6..1D0FF; UNKNOWN
6240             0x1D100,  // 1D100..1D126; COMMON
6241             0x1D127,  // 1D127..1D128; UNKNOWN
6242             0x1D129,  // 1D129..1D166; COMMON
6243             0x1D167,  // 1D167..1D169; INHERITED
6244             0x1D16A,  // 1D16A..1D17A; COMMON


6296             0x1D552,  // 1D552..1D6A5; COMMON
6297             0x1D6A6,  // 1D6A6..1D6A7; UNKNOWN
6298             0x1D6A8,  // 1D6A8..1D7CB; COMMON
6299             0x1D7CC,  // 1D7CC..1D7CD; UNKNOWN
6300             0x1D7CE,  // 1D7CE..1D7FF; COMMON
6301             0x1D800,  // 1D800..1DA8B; SIGNWRITING
6302             0x1DA8C,  // 1DA8C..1DA9A; UNKNOWN
6303             0x1DA9B,  // 1DA9B..1DA9F; SIGNWRITING
6304             0x1DAA0,  // 1DAA0       ; UNKNOWN
6305             0x1DAA1,  // 1DAA1..1DAAF; SIGNWRITING
6306             0x1DAB0,  // 1DAB0..1DFFF; UNKNOWN
6307             0x1E000,  // 1E000..1E006; GLAGOLITIC
6308             0x1E007,  // 1E007       ; UNKNOWN
6309             0x1E008,  // 1E008..1E018; GLAGOLITIC
6310             0x1E019,  // 1E019..1E01A; UNKNOWN
6311             0x1E01B,  // 1E01B..1E021; GLAGOLITIC
6312             0x1E022,  // 1E022       ; UNKNOWN
6313             0x1E023,  // 1E023..1E024; GLAGOLITIC
6314             0x1E025,  // 1E025       ; UNKNOWN
6315             0x1E026,  // 1E026..1E02A; GLAGOLITIC
6316             0x1E02B,  // 1E02B..1E0FF; UNKNOWN
6317             0x1E100,  // 1E100..1E12C; NYIAKENG_PUACHUE_HMONG
6318             0x1E12D,  // 1E12D..1E12F; UNKNOWN
6319             0x1E130,  // 1E130..1E13D; NYIAKENG_PUACHUE_HMONG
6320             0x1E13E,  // 1E13E..1E13F; UNKNOWN
6321             0x1E140,  // 1E140..1E149; NYIAKENG_PUACHUE_HMONG
6322             0x1E14A,  // 1E14A..1E14D; UNKNOWN
6323             0x1E14E,  // 1E14E..1E14F; NYIAKENG_PUACHUE_HMONG
6324             0x1E150,  // 1E150..1E2BF; UNKNOWN
6325             0x1E2C0,  // 1E2C0..1E2F9; WANCHO
6326             0x1E2FA,  // 1E2FA..1E2FE; UNKNOWN
6327             0x1E2FF,  // 1E2FF       ; WANCHO
6328             0x1E300,  // 1E300..1E7FF; UNKNOWN
6329             0x1E800,  // 1E800..1E8C4; MENDE_KIKAKUI
6330             0x1E8C5,  // 1E8C5..1E8C6; UNKNOWN
6331             0x1E8C7,  // 1E8C7..1E8D6; MENDE_KIKAKUI
6332             0x1E8D7,  // 1E8D7..1E8FF; UNKNOWN
6333             0x1E900,  // 1E900..1E94B; ADLAM
6334             0x1E94C,  // 1E94C..1E94F; UNKNOWN
6335             0x1E950,  // 1E950..1E959; ADLAM
6336             0x1E95A,  // 1E95A..1E95D; UNKNOWN
6337             0x1E95E,  // 1E95E..1E95F; ADLAM
6338             0x1E960,  // 1E960..1EC70; UNKNOWN
6339             0x1EC71,  // 1EC71..1ECB4; COMMON
6340             0x1ECB5,  // 1ECB5..1ED00; UNKNOWN
6341             0x1ED01,  // 1ED01..1ED3D; COMMON
6342             0x1ED3E,  // 1ED3E..1EDFF; UNKNOWN
6343             0x1EE00,  // 1EE00..1EE03; ARABIC
6344             0x1EE04,  // 1EE04       ; UNKNOWN
6345             0x1EE05,  // 1EE05..1EE1F; ARABIC
6346             0x1EE20,  // 1EE20       ; UNKNOWN
6347             0x1EE21,  // 1EE21..1EE22; ARABIC
6348             0x1EE23,  // 1EE23       ; UNKNOWN
6349             0x1EE24,  // 1EE24       ; ARABIC
6350             0x1EE25,  // 1EE25..1EE26; UNKNOWN
6351             0x1EE27,  // 1EE27       ; ARABIC
6352             0x1EE28,  // 1EE28       ; UNKNOWN
6353             0x1EE29,  // 1EE29..1EE32; ARABIC
6354             0x1EE33,  // 1EE33       ; UNKNOWN
6355             0x1EE34,  // 1EE34..1EE37; ARABIC
6356             0x1EE38,  // 1EE38       ; UNKNOWN
6357             0x1EE39,  // 1EE39       ; ARABIC
6358             0x1EE3A,  // 1EE3A       ; UNKNOWN
6359             0x1EE3B,  // 1EE3B       ; ARABIC
6360             0x1EE3C,  // 1EE3C..1EE41; UNKNOWN
6361             0x1EE42,  // 1EE42       ; ARABIC
6362             0x1EE43,  // 1EE43..1EE46; UNKNOWN


6405             0x1EEA5,  // 1EEA5..1EEA9; ARABIC
6406             0x1EEAA,  // 1EEAA       ; UNKNOWN
6407             0x1EEAB,  // 1EEAB..1EEBB; ARABIC
6408             0x1EEBC,  // 1EEBC..1EEEF; UNKNOWN
6409             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
6410             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
6411             0x1F000,  // 1F000..1F02B; COMMON
6412             0x1F02C,  // 1F02C..1F02F; UNKNOWN
6413             0x1F030,  // 1F030..1F093; COMMON
6414             0x1F094,  // 1F094..1F09F; UNKNOWN
6415             0x1F0A0,  // 1F0A0..1F0AE; COMMON
6416             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
6417             0x1F0B1,  // 1F0B1..1F0BF; COMMON
6418             0x1F0C0,  // 1F0C0       ; UNKNOWN
6419             0x1F0C1,  // 1F0C1..1F0CF; COMMON
6420             0x1F0D0,  // 1F0D0       ; UNKNOWN
6421             0x1F0D1,  // 1F0D1..1F0F5; COMMON
6422             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
6423             0x1F100,  // 1F100..1F10C; COMMON
6424             0x1F10D,  // 1F10D..1F10F; UNKNOWN
6425             0x1F110,  // 1F110..1F16C; COMMON
6426             0x1F16D,  // 1F16D..1F16F; UNKNOWN
6427             0x1F170,  // 1F170..1F1AC; COMMON
6428             0x1F1AD,  // 1F1AD..1F1E5; UNKNOWN
6429             0x1F1E6,  // 1F1E6..1F1FF; COMMON
6430             0x1F200,  // 1F200       ; HIRAGANA
6431             0x1F201,  // 1F201..1F202; COMMON
6432             0x1F203,  // 1F203..1F20F; UNKNOWN
6433             0x1F210,  // 1F210..1F23B; COMMON
6434             0x1F23C,  // 1F23C..1F23F; UNKNOWN
6435             0x1F240,  // 1F240..1F248; COMMON
6436             0x1F249,  // 1F249..1F24F; UNKNOWN
6437             0x1F250,  // 1F250..1F251; COMMON
6438             0x1F252,  // 1F252..1F25F; UNKNOWN
6439             0x1F260,  // 1F260..1F265; COMMON
6440             0x1F266,  // 1F266..1F2FF; UNKNOWN
6441             0x1F300,  // 1F300..1F6D5; COMMON
6442             0x1F6D6,  // 1F6D6..1F6DF; UNKNOWN
6443             0x1F6E0,  // 1F6E0..1F6EC; COMMON
6444             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
6445             0x1F6F0,  // 1F6F0..1F6FA; COMMON
6446             0x1F6FB,  // 1F6FB..1F6FF; UNKNOWN
6447             0x1F700,  // 1F700..1F773; COMMON
6448             0x1F774,  // 1F774..1F77F; UNKNOWN
6449             0x1F780,  // 1F780..1F7D8; COMMON
6450             0x1F7D9,  // 1F7D9..1F7DF; UNKNOWN
6451             0x1F7E0,  // 1F7E0..1F7EB; COMMON
6452             0x1F7EC,  // 1F7EC..1F7FF; UNKNOWN
6453             0x1F800,  // 1F800..1F80B; COMMON
6454             0x1F80C,  // 1F80C..1F80F; UNKNOWN
6455             0x1F810,  // 1F810..1F847; COMMON
6456             0x1F848,  // 1F848..1F84F; UNKNOWN
6457             0x1F850,  // 1F850..1F859; COMMON
6458             0x1F85A,  // 1F85A..1F85F; UNKNOWN
6459             0x1F860,  // 1F860..1F887; COMMON
6460             0x1F888,  // 1F888..1F88F; UNKNOWN
6461             0x1F890,  // 1F890..1F8AD; COMMON
6462             0x1F8AE,  // 1F8AE..1F8FF; UNKNOWN
6463             0x1F900,  // 1F900..1F90B; COMMON
6464             0x1F90C,  // 1F90C       ; UNKNOWN
6465             0x1F90D,  // 1F90D..1F971; COMMON
6466             0x1F972,  // 1F972       ; UNKNOWN


6467             0x1F973,  // 1F973..1F976; COMMON
6468             0x1F977,  // 1F977..1F979; UNKNOWN
6469             0x1F97A,  // 1F97A..1F9A2; COMMON
6470             0x1F9A3,  // 1F9A3..1F9A4; UNKNOWN
6471             0x1F9A5,  // 1F9A5..1F9AA; COMMON
6472             0x1F9AB,  // 1F9AB..1F9AD; UNKNOWN
6473             0x1F9AE,  // 1F9AE..1F9CA; COMMON
6474             0x1F9CB,  // 1F9CB..1F9CC; UNKNOWN
6475             0x1F9CD,  // 1F9CD..1FA53; COMMON
6476             0x1FA54,  // 1FA54..1FA5F; UNKNOWN


6477             0x1FA60,  // 1FA60..1FA6D; COMMON
6478             0x1FA6E,  // 1FA6E..1FA6F; UNKNOWN
6479             0x1FA70,  // 1FA70..1FA73; COMMON
6480             0x1FA74,  // 1FA74..1FA77; UNKNOWN
6481             0x1FA78,  // 1FA78..1FA7A; COMMON
6482             0x1FA7B,  // 1FA7B..1FA7F; UNKNOWN
6483             0x1FA80,  // 1FA80..1FA82; COMMON
6484             0x1FA83,  // 1FA83..1FA8F; UNKNOWN
6485             0x1FA90,  // 1FA90..1FA95; COMMON
6486             0x1FA96,  // 1FA96..1FFFF; UNKNOWN
6487             0x20000,  // 20000..2A6D6; HAN
6488             0x2A6D7,  // 2A6D7..2A6FF; UNKNOWN
6489             0x2A700,  // 2A700..2B734; HAN
6490             0x2B735,  // 2B735..2B73F; UNKNOWN
6491             0x2B740,  // 2B740..2B81D; HAN
6492             0x2B81E,  // 2B81E..2B81F; UNKNOWN
6493             0x2B820,  // 2B820..2CEA1; HAN
6494             0x2CEA2,  // 2CEA2..2CEAF; UNKNOWN
6495             0x2CEB0,  // 2CEB0..2EBE0; HAN
6496             0x2EBE1,  // 2EBE1..2F7FF; UNKNOWN
6497             0x2F800,  // 2F800..2FA1D; HAN
6498             0x2FA1E,  // 2FA1E..E0000; UNKNOWN
6499             0xE0001,  // E0001       ; COMMON
6500             0xE0002,  // E0002..E001F; UNKNOWN
6501             0xE0020,  // E0020..E007F; COMMON
6502             0xE0080,  // E0080..E00FF; UNKNOWN
6503             0xE0100,  // E0100..E01EF; INHERITED
6504             0xE01F0,  // E01F0..10FFFF; UNKNOWN
6505         };
6506 
6507         private static final UnicodeScript[] scripts = {
6508             COMMON,                   // 0000..0040
6509             LATIN,                    // 0041..005A
6510             COMMON,                   // 005B..0060
6511             LATIN,                    // 0061..007A
6512             COMMON,                   // 007B..00A9
6513             LATIN,                    // 00AA
6514             COMMON,                   // 00AB..00B9
6515             LATIN,                    // 00BA
6516             COMMON,                   // 00BB..00BF
6517             LATIN,                    // 00C0..00D6
6518             COMMON,                   // 00D7
6519             LATIN,                    // 00D8..00F6
6520             COMMON,                   // 00F7
6521             LATIN,                    // 00F8..02B8
6522             COMMON,                   // 02B9..02DF
6523             LATIN,                    // 02E0..02E4
6524             COMMON,                   // 02E5..02E9


6595             UNKNOWN,                  // 07FB..07FC
6596             NKO,                      // 07FD..07FF
6597             SAMARITAN,                // 0800..082D
6598             UNKNOWN,                  // 082E..082F
6599             SAMARITAN,                // 0830..083E
6600             UNKNOWN,                  // 083F
6601             MANDAIC,                  // 0840..085B
6602             UNKNOWN,                  // 085C..085D
6603             MANDAIC,                  // 085E
6604             UNKNOWN,                  // 085F
6605             SYRIAC,                   // 0860..086A
6606             UNKNOWN,                  // 086B..089F
6607             ARABIC,                   // 08A0..08B4
6608             UNKNOWN,                  // 08B5
6609             ARABIC,                   // 08B6..08BD
6610             UNKNOWN,                  // 08BE..08D2
6611             ARABIC,                   // 08D3..08E1
6612             COMMON,                   // 08E2
6613             ARABIC,                   // 08E3..08FF
6614             DEVANAGARI,               // 0900..0950
6615             INHERITED,                // 0951..0954
6616             DEVANAGARI,               // 0955..0963
6617             COMMON,                   // 0964..0965
6618             DEVANAGARI,               // 0966..097F
6619             BENGALI,                  // 0980..0983
6620             UNKNOWN,                  // 0984
6621             BENGALI,                  // 0985..098C
6622             UNKNOWN,                  // 098D..098E
6623             BENGALI,                  // 098F..0990
6624             UNKNOWN,                  // 0991..0992
6625             BENGALI,                  // 0993..09A8
6626             UNKNOWN,                  // 09A9
6627             BENGALI,                  // 09AA..09B0
6628             UNKNOWN,                  // 09B1
6629             BENGALI,                  // 09B2
6630             UNKNOWN,                  // 09B3..09B5
6631             BENGALI,                  // 09B6..09B9
6632             UNKNOWN,                  // 09BA..09BB
6633             BENGALI,                  // 09BC..09C4
6634             UNKNOWN,                  // 09C5..09C6
6635             BENGALI,                  // 09C7..09C8
6636             UNKNOWN,                  // 09C9..09CA


6768             UNKNOWN,                  // 0C0D
6769             TELUGU,                   // 0C0E..0C10
6770             UNKNOWN,                  // 0C11
6771             TELUGU,                   // 0C12..0C28
6772             UNKNOWN,                  // 0C29
6773             TELUGU,                   // 0C2A..0C39
6774             UNKNOWN,                  // 0C3A..0C3C
6775             TELUGU,                   // 0C3D..0C44
6776             UNKNOWN,                  // 0C45
6777             TELUGU,                   // 0C46..0C48
6778             UNKNOWN,                  // 0C49
6779             TELUGU,                   // 0C4A..0C4D
6780             UNKNOWN,                  // 0C4E..0C54
6781             TELUGU,                   // 0C55..0C56
6782             UNKNOWN,                  // 0C57
6783             TELUGU,                   // 0C58..0C5A
6784             UNKNOWN,                  // 0C5B..0C5F
6785             TELUGU,                   // 0C60..0C63
6786             UNKNOWN,                  // 0C64..0C65
6787             TELUGU,                   // 0C66..0C6F
6788             UNKNOWN,                  // 0C70..0C76
6789             TELUGU,                   // 0C77..0C7F
6790             KANNADA,                  // 0C80..0C8C
6791             UNKNOWN,                  // 0C8D
6792             KANNADA,                  // 0C8E..0C90
6793             UNKNOWN,                  // 0C91
6794             KANNADA,                  // 0C92..0CA8
6795             UNKNOWN,                  // 0CA9
6796             KANNADA,                  // 0CAA..0CB3
6797             UNKNOWN,                  // 0CB4
6798             KANNADA,                  // 0CB5..0CB9
6799             UNKNOWN,                  // 0CBA..0CBB
6800             KANNADA,                  // 0CBC..0CC4
6801             UNKNOWN,                  // 0CC5
6802             KANNADA,                  // 0CC6..0CC8
6803             UNKNOWN,                  // 0CC9
6804             KANNADA,                  // 0CCA..0CCD
6805             UNKNOWN,                  // 0CCE..0CD4
6806             KANNADA,                  // 0CD5..0CD6
6807             UNKNOWN,                  // 0CD7..0CDD
6808             KANNADA,                  // 0CDE
6809             UNKNOWN,                  // 0CDF


6844             SINHALA,                  // 0DCA
6845             UNKNOWN,                  // 0DCB..0DCE
6846             SINHALA,                  // 0DCF..0DD4
6847             UNKNOWN,                  // 0DD5
6848             SINHALA,                  // 0DD6
6849             UNKNOWN,                  // 0DD7
6850             SINHALA,                  // 0DD8..0DDF
6851             UNKNOWN,                  // 0DE0..0DE5
6852             SINHALA,                  // 0DE6..0DEF
6853             UNKNOWN,                  // 0DF0..0DF1
6854             SINHALA,                  // 0DF2..0DF4
6855             UNKNOWN,                  // 0DF5..0E00
6856             THAI,                     // 0E01..0E3A
6857             UNKNOWN,                  // 0E3B..0E3E
6858             COMMON,                   // 0E3F
6859             THAI,                     // 0E40..0E5B
6860             UNKNOWN,                  // 0E5C..0E80
6861             LAO,                      // 0E81..0E82
6862             UNKNOWN,                  // 0E83
6863             LAO,                      // 0E84
6864             UNKNOWN,                  // 0E85
6865             LAO,                      // 0E86..0E8A
6866             UNKNOWN,                  // 0E8B
6867             LAO,                      // 0E8C..0EA3








6868             UNKNOWN,                  // 0EA4
6869             LAO,                      // 0EA5
6870             UNKNOWN,                  // 0EA6
6871             LAO,                      // 0EA7..0EBD






6872             UNKNOWN,                  // 0EBE..0EBF
6873             LAO,                      // 0EC0..0EC4
6874             UNKNOWN,                  // 0EC5
6875             LAO,                      // 0EC6
6876             UNKNOWN,                  // 0EC7
6877             LAO,                      // 0EC8..0ECD
6878             UNKNOWN,                  // 0ECE..0ECF
6879             LAO,                      // 0ED0..0ED9
6880             UNKNOWN,                  // 0EDA..0EDB
6881             LAO,                      // 0EDC..0EDF
6882             UNKNOWN,                  // 0EE0..0EFF
6883             TIBETAN,                  // 0F00..0F47
6884             UNKNOWN,                  // 0F48
6885             TIBETAN,                  // 0F49..0F6C
6886             UNKNOWN,                  // 0F6D..0F70
6887             TIBETAN,                  // 0F71..0F97
6888             UNKNOWN,                  // 0F98
6889             TIBETAN,                  // 0F99..0FBC
6890             UNKNOWN,                  // 0FBD
6891             TIBETAN,                  // 0FBE..0FCC
6892             UNKNOWN,                  // 0FCD
6893             TIBETAN,                  // 0FCE..0FD4
6894             COMMON,                   // 0FD5..0FD8
6895             TIBETAN,                  // 0FD9..0FDA
6896             UNKNOWN,                  // 0FDB..0FFF
6897             MYANMAR,                  // 1000..109F
6898             GEORGIAN,                 // 10A0..10C5
6899             UNKNOWN,                  // 10C6
6900             GEORGIAN,                 // 10C7
6901             UNKNOWN,                  // 10C8..10CC
6902             GEORGIAN,                 // 10CD
6903             UNKNOWN,                  // 10CE..10CF
6904             GEORGIAN,                 // 10D0..10FA
6905             COMMON,                   // 10FB
6906             GEORGIAN,                 // 10FC..10FF
6907             HANGUL,                   // 1100..11FF
6908             ETHIOPIC,                 // 1200..1248
6909             UNKNOWN,                  // 1249
6910             ETHIOPIC,                 // 124A..124D
6911             UNKNOWN,                  // 124E..124F
6912             ETHIOPIC,                 // 1250..1256
6913             UNKNOWN,                  // 1257
6914             ETHIOPIC,                 // 1258
6915             UNKNOWN,                  // 1259
6916             ETHIOPIC,                 // 125A..125D


7021             UNKNOWN,                  // 1A9A..1A9F
7022             TAI_THAM,                 // 1AA0..1AAD
7023             UNKNOWN,                  // 1AAE..1AAF
7024             INHERITED,                // 1AB0..1ABE
7025             UNKNOWN,                  // 1ABF..1AFF
7026             BALINESE,                 // 1B00..1B4B
7027             UNKNOWN,                  // 1B4C..1B4F
7028             BALINESE,                 // 1B50..1B7C
7029             UNKNOWN,                  // 1B7D..1B7F
7030             SUNDANESE,                // 1B80..1BBF
7031             BATAK,                    // 1BC0..1BF3
7032             UNKNOWN,                  // 1BF4..1BFB
7033             BATAK,                    // 1BFC..1BFF
7034             LEPCHA,                   // 1C00..1C37
7035             UNKNOWN,                  // 1C38..1C3A
7036             LEPCHA,                   // 1C3B..1C49
7037             UNKNOWN,                  // 1C4A..1C4C
7038             LEPCHA,                   // 1C4D..1C4F
7039             OL_CHIKI,                 // 1C50..1C7F
7040             CYRILLIC,                 // 1C80..1C88
7041             UNKNOWN,                  // 1C89..1C8F
7042             GEORGIAN,                 // 1C90..1CBA
7043             UNKNOWN,                  // 1CBB..1CBC
7044             GEORGIAN,                 // 1CBD..1CBF
7045             SUNDANESE,                // 1CC0..1CC7
7046             UNKNOWN,                  // 1CC8..1CCF
7047             INHERITED,                // 1CD0..1CD2
7048             COMMON,                   // 1CD3
7049             INHERITED,                // 1CD4..1CE0
7050             COMMON,                   // 1CE1
7051             INHERITED,                // 1CE2..1CE8
7052             COMMON,                   // 1CE9..1CEC
7053             INHERITED,                // 1CED
7054             COMMON,                   // 1CEE..1CF3
7055             INHERITED,                // 1CF4
7056             COMMON,                   // 1CF5..1CF7
7057             INHERITED,                // 1CF8..1CF9
7058             COMMON,                   // 1CFA
7059             UNKNOWN,                  // 1CFB..1CFF
7060             LATIN,                    // 1D00..1D25
7061             GREEK,                    // 1D26..1D2A
7062             CYRILLIC,                 // 1D2B
7063             LATIN,                    // 1D2C..1D5C
7064             GREEK,                    // 1D5D..1D61
7065             LATIN,                    // 1D62..1D65
7066             GREEK,                    // 1D66..1D6A
7067             LATIN,                    // 1D6B..1D77
7068             CYRILLIC,                 // 1D78
7069             LATIN,                    // 1D79..1DBE
7070             GREEK,                    // 1DBF
7071             INHERITED,                // 1DC0..1DF9
7072             UNKNOWN,                  // 1DFA
7073             INHERITED,                // 1DFB..1DFF
7074             LATIN,                    // 1E00..1EFF
7075             GREEK,                    // 1F00..1F15
7076             UNKNOWN,                  // 1F16..1F17
7077             GREEK,                    // 1F18..1F1D
7078             UNKNOWN,                  // 1F1E..1F1F
7079             GREEK,                    // 1F20..1F45


7126             COMMON,                   // 2127..2129
7127             LATIN,                    // 212A..212B
7128             COMMON,                   // 212C..2131
7129             LATIN,                    // 2132
7130             COMMON,                   // 2133..214D
7131             LATIN,                    // 214E
7132             COMMON,                   // 214F..215F
7133             LATIN,                    // 2160..2188
7134             COMMON,                   // 2189..218B
7135             UNKNOWN,                  // 218C..218F
7136             COMMON,                   // 2190..2426
7137             UNKNOWN,                  // 2427..243F
7138             COMMON,                   // 2440..244A
7139             UNKNOWN,                  // 244B..245F
7140             COMMON,                   // 2460..27FF
7141             BRAILLE,                  // 2800..28FF
7142             COMMON,                   // 2900..2B73
7143             UNKNOWN,                  // 2B74..2B75
7144             COMMON,                   // 2B76..2B95
7145             UNKNOWN,                  // 2B96..2B97
7146             COMMON,                   // 2B98..2BFF



7147             GLAGOLITIC,               // 2C00..2C2E
7148             UNKNOWN,                  // 2C2F
7149             GLAGOLITIC,               // 2C30..2C5E
7150             UNKNOWN,                  // 2C5F
7151             LATIN,                    // 2C60..2C7F
7152             COPTIC,                   // 2C80..2CF3
7153             UNKNOWN,                  // 2CF4..2CF8
7154             COPTIC,                   // 2CF9..2CFF
7155             GEORGIAN,                 // 2D00..2D25
7156             UNKNOWN,                  // 2D26
7157             GEORGIAN,                 // 2D27
7158             UNKNOWN,                  // 2D28..2D2C
7159             GEORGIAN,                 // 2D2D
7160             UNKNOWN,                  // 2D2E..2D2F
7161             TIFINAGH,                 // 2D30..2D67
7162             UNKNOWN,                  // 2D68..2D6E
7163             TIFINAGH,                 // 2D6F..2D70
7164             UNKNOWN,                  // 2D71..2D7E
7165             TIFINAGH,                 // 2D7F
7166             ETHIOPIC,                 // 2D80..2D96
7167             UNKNOWN,                  // 2D97..2D9F
7168             ETHIOPIC,                 // 2DA0..2DA6
7169             UNKNOWN,                  // 2DA7
7170             ETHIOPIC,                 // 2DA8..2DAE
7171             UNKNOWN,                  // 2DAF
7172             ETHIOPIC,                 // 2DB0..2DB6
7173             UNKNOWN,                  // 2DB7
7174             ETHIOPIC,                 // 2DB8..2DBE
7175             UNKNOWN,                  // 2DBF
7176             ETHIOPIC,                 // 2DC0..2DC6
7177             UNKNOWN,                  // 2DC7
7178             ETHIOPIC,                 // 2DC8..2DCE
7179             UNKNOWN,                  // 2DCF
7180             ETHIOPIC,                 // 2DD0..2DD6
7181             UNKNOWN,                  // 2DD7
7182             ETHIOPIC,                 // 2DD8..2DDE
7183             UNKNOWN,                  // 2DDF
7184             CYRILLIC,                 // 2DE0..2DFF
7185             COMMON,                   // 2E00..2E4F
7186             UNKNOWN,                  // 2E50..2E7F
7187             HAN,                      // 2E80..2E99
7188             UNKNOWN,                  // 2E9A
7189             HAN,                      // 2E9B..2EF3
7190             UNKNOWN,                  // 2EF4..2EFF
7191             HAN,                      // 2F00..2FD5
7192             UNKNOWN,                  // 2FD6..2FEF
7193             COMMON,                   // 2FF0..2FFB
7194             UNKNOWN,                  // 2FFC..2FFF
7195             COMMON,                   // 3000..3004
7196             HAN,                      // 3005
7197             COMMON,                   // 3006
7198             HAN,                      // 3007
7199             COMMON,                   // 3008..3020
7200             HAN,                      // 3021..3029
7201             INHERITED,                // 302A..302D
7202             HANGUL,                   // 302E..302F
7203             COMMON,                   // 3030..3037
7204             HAN,                      // 3038..303B
7205             COMMON,                   // 303C..303F
7206             UNKNOWN,                  // 3040


7234             KATAKANA,                 // 3300..3357
7235             COMMON,                   // 3358..33FF
7236             HAN,                      // 3400..4DB5
7237             UNKNOWN,                  // 4DB6..4DBF
7238             COMMON,                   // 4DC0..4DFF
7239             HAN,                      // 4E00..9FEF
7240             UNKNOWN,                  // 9FF0..9FFF
7241             YI,                       // A000..A48C
7242             UNKNOWN,                  // A48D..A48F
7243             YI,                       // A490..A4C6
7244             UNKNOWN,                  // A4C7..A4CF
7245             LISU,                     // A4D0..A4FF
7246             VAI,                      // A500..A62B
7247             UNKNOWN,                  // A62C..A63F
7248             CYRILLIC,                 // A640..A69F
7249             BAMUM,                    // A6A0..A6F7
7250             UNKNOWN,                  // A6F8..A6FF
7251             COMMON,                   // A700..A721
7252             LATIN,                    // A722..A787
7253             COMMON,                   // A788..A78A
7254             LATIN,                    // A78B..A7BF
7255             UNKNOWN,                  // A7C0..A7C1
7256             LATIN,                    // A7C2..A7C6
7257             UNKNOWN,                  // A7C7..A7F6
7258             LATIN,                    // A7F7..A7FF
7259             SYLOTI_NAGRI,             // A800..A82B
7260             UNKNOWN,                  // A82C..A82F
7261             COMMON,                   // A830..A839
7262             UNKNOWN,                  // A83A..A83F
7263             PHAGS_PA,                 // A840..A877
7264             UNKNOWN,                  // A878..A87F
7265             SAURASHTRA,               // A880..A8C5
7266             UNKNOWN,                  // A8C6..A8CD
7267             SAURASHTRA,               // A8CE..A8D9
7268             UNKNOWN,                  // A8DA..A8DF
7269             DEVANAGARI,               // A8E0..A8FF
7270             KAYAH_LI,                 // A900..A92D
7271             COMMON,                   // A92E
7272             KAYAH_LI,                 // A92F
7273             REJANG,                   // A930..A953
7274             UNKNOWN,                  // A954..A95E
7275             REJANG,                   // A95F
7276             HANGUL,                   // A960..A97C
7277             UNKNOWN,                  // A97D..A97F


7293             MYANMAR,                  // AA60..AA7F
7294             TAI_VIET,                 // AA80..AAC2
7295             UNKNOWN,                  // AAC3..AADA
7296             TAI_VIET,                 // AADB..AADF
7297             MEETEI_MAYEK,             // AAE0..AAF6
7298             UNKNOWN,                  // AAF7..AB00
7299             ETHIOPIC,                 // AB01..AB06
7300             UNKNOWN,                  // AB07..AB08
7301             ETHIOPIC,                 // AB09..AB0E
7302             UNKNOWN,                  // AB0F..AB10
7303             ETHIOPIC,                 // AB11..AB16
7304             UNKNOWN,                  // AB17..AB1F
7305             ETHIOPIC,                 // AB20..AB26
7306             UNKNOWN,                  // AB27
7307             ETHIOPIC,                 // AB28..AB2E
7308             UNKNOWN,                  // AB2F
7309             LATIN,                    // AB30..AB5A
7310             COMMON,                   // AB5B
7311             LATIN,                    // AB5C..AB64
7312             GREEK,                    // AB65
7313             LATIN,                    // AB66..AB67
7314             UNKNOWN,                  // AB68..AB6F
7315             CHEROKEE,                 // AB70..ABBF
7316             MEETEI_MAYEK,             // ABC0..ABED
7317             UNKNOWN,                  // ABEE..ABEF
7318             MEETEI_MAYEK,             // ABF0..ABF9
7319             UNKNOWN,                  // ABFA..ABFF
7320             HANGUL,                   // AC00..D7A3
7321             UNKNOWN,                  // D7A4..D7AF
7322             HANGUL,                   // D7B0..D7C6
7323             UNKNOWN,                  // D7C7..D7CA
7324             HANGUL,                   // D7CB..D7FB
7325             UNKNOWN,                  // D7FC..F8FF
7326             HAN,                      // F900..FA6D
7327             UNKNOWN,                  // FA6E..FA6F
7328             HAN,                      // FA70..FAD9
7329             UNKNOWN,                  // FADA..FAFF
7330             LATIN,                    // FB00..FB06
7331             UNKNOWN,                  // FB07..FB12
7332             ARMENIAN,                 // FB13..FB17
7333             UNKNOWN,                  // FB18..FB1C
7334             HEBREW,                   // FB1D..FB36


7433             OLD_ITALIC,               // 10300..10323
7434             UNKNOWN,                  // 10324..1032C
7435             OLD_ITALIC,               // 1032D..1032F
7436             GOTHIC,                   // 10330..1034A
7437             UNKNOWN,                  // 1034B..1034F
7438             OLD_PERMIC,               // 10350..1037A
7439             UNKNOWN,                  // 1037B..1037F
7440             UGARITIC,                 // 10380..1039D
7441             UNKNOWN,                  // 1039E
7442             UGARITIC,                 // 1039F
7443             OLD_PERSIAN,              // 103A0..103C3
7444             UNKNOWN,                  // 103C4..103C7
7445             OLD_PERSIAN,              // 103C8..103D5
7446             UNKNOWN,                  // 103D6..103FF
7447             DESERET,                  // 10400..1044F
7448             SHAVIAN,                  // 10450..1047F
7449             OSMANYA,                  // 10480..1049D
7450             UNKNOWN,                  // 1049E..1049F
7451             OSMANYA,                  // 104A0..104A9
7452             UNKNOWN,                  // 104AA..104AF
7453             OSAGE,                    // 104B0..104D3
7454             UNKNOWN,                  // 104D4..104D7
7455             OSAGE,                    // 104D8..104FB
7456             UNKNOWN,                  // 104FC..104FF
7457             ELBASAN,                  // 10500..10527
7458             UNKNOWN,                  // 10528..1052F
7459             CAUCASIAN_ALBANIAN,       // 10530..10563
7460             UNKNOWN,                  // 10564..1056E
7461             CAUCASIAN_ALBANIAN,       // 1056F
7462             UNKNOWN,                  // 10570..105FF
7463             LINEAR_A,                 // 10600..10736
7464             UNKNOWN,                  // 10737..1073F
7465             LINEAR_A,                 // 10740..10755
7466             UNKNOWN,                  // 10756..1075F
7467             LINEAR_A,                 // 10760..10767
7468             UNKNOWN,                  // 10768..107FF
7469             CYPRIOT,                  // 10800..10805
7470             UNKNOWN,                  // 10806..10807
7471             CYPRIOT,                  // 10808
7472             UNKNOWN,                  // 10809
7473             CYPRIOT,                  // 1080A..10835
7474             UNKNOWN,                  // 10836
7475             CYPRIOT,                  // 10837..10838
7476             UNKNOWN,                  // 10839..1083B


7532             INSCRIPTIONAL_PARTHIAN,   // 10B40..10B55
7533             UNKNOWN,                  // 10B56..10B57
7534             INSCRIPTIONAL_PARTHIAN,   // 10B58..10B5F
7535             INSCRIPTIONAL_PAHLAVI,    // 10B60..10B72
7536             UNKNOWN,                  // 10B73..10B77
7537             INSCRIPTIONAL_PAHLAVI,    // 10B78..10B7F
7538             PSALTER_PAHLAVI,          // 10B80..10B91
7539             UNKNOWN,                  // 10B92..10B98
7540             PSALTER_PAHLAVI,          // 10B99..10B9C
7541             UNKNOWN,                  // 10B9D..10BA8
7542             PSALTER_PAHLAVI,          // 10BA9..10BAF
7543             UNKNOWN,                  // 10BB0..10BFF
7544             OLD_TURKIC,               // 10C00..10C48
7545             UNKNOWN,                  // 10C49..10C7F
7546             OLD_HUNGARIAN,            // 10C80..10CB2
7547             UNKNOWN,                  // 10CB3..10CBF
7548             OLD_HUNGARIAN,            // 10CC0..10CF2
7549             UNKNOWN,                  // 10CF3..10CF9
7550             OLD_HUNGARIAN,            // 10CFA..10CFF
7551             HANIFI_ROHINGYA,          // 10D00..10D27
7552             UNKNOWN,                  // 10D28..10D2F
7553             HANIFI_ROHINGYA,          // 10D30..10D39
7554             UNKNOWN,                  // 10D3A..10E5F
7555             ARABIC,                   // 10E60..10E7E
7556             UNKNOWN,                  // 10E7F..10EFF
7557             OLD_SOGDIAN,              // 10F00..10F27
7558             UNKNOWN,                  // 10F28..10F2F
7559             SOGDIAN,                  // 10F30..10F59
7560             UNKNOWN,                  // 10F5A..10FDF
7561             ELYMAIC,                  // 10FE0..10FF6
7562             UNKNOWN,                  // 10FF7..10FFF
7563             BRAHMI,                   // 11000..1104D
7564             UNKNOWN,                  // 1104E..11051
7565             BRAHMI,                   // 11052..1106F
7566             UNKNOWN,                  // 11070..1107E
7567             BRAHMI,                   // 1107F
7568             KAITHI,                   // 11080..110C1
7569             UNKNOWN,                  // 110C2..110CC
7570             KAITHI,                   // 110CD
7571             UNKNOWN,                  // 110CE..110CF
7572             SORA_SOMPENG,             // 110D0..110E8
7573             UNKNOWN,                  // 110E9..110EF
7574             SORA_SOMPENG,             // 110F0..110F9
7575             UNKNOWN,                  // 110FA..110FF
7576             CHAKMA,                   // 11100..11134
7577             UNKNOWN,                  // 11135
7578             CHAKMA,                   // 11136..11146
7579             UNKNOWN,                  // 11147..1114F
7580             MAHAJANI,                 // 11150..11176
7581             UNKNOWN,                  // 11177..1117F
7582             SHARADA,                  // 11180..111CD


7621             GRANTHA,                  // 1133C..11344
7622             UNKNOWN,                  // 11345..11346
7623             GRANTHA,                  // 11347..11348
7624             UNKNOWN,                  // 11349..1134A
7625             GRANTHA,                  // 1134B..1134D
7626             UNKNOWN,                  // 1134E..1134F
7627             GRANTHA,                  // 11350
7628             UNKNOWN,                  // 11351..11356
7629             GRANTHA,                  // 11357
7630             UNKNOWN,                  // 11358..1135C
7631             GRANTHA,                  // 1135D..11363
7632             UNKNOWN,                  // 11364..11365
7633             GRANTHA,                  // 11366..1136C
7634             UNKNOWN,                  // 1136D..1136F
7635             GRANTHA,                  // 11370..11374
7636             UNKNOWN,                  // 11375..113FF
7637             NEWA,                     // 11400..11459
7638             UNKNOWN,                  // 1145A
7639             NEWA,                     // 1145B
7640             UNKNOWN,                  // 1145C
7641             NEWA,                     // 1145D..1145F
7642             UNKNOWN,                  // 11460..1147F
7643             TIRHUTA,                  // 11480..114C7
7644             UNKNOWN,                  // 114C8..114CF
7645             TIRHUTA,                  // 114D0..114D9
7646             UNKNOWN,                  // 114DA..1157F
7647             SIDDHAM,                  // 11580..115B5
7648             UNKNOWN,                  // 115B6..115B7
7649             SIDDHAM,                  // 115B8..115DD
7650             UNKNOWN,                  // 115DE..115FF
7651             MODI,                     // 11600..11644
7652             UNKNOWN,                  // 11645..1164F
7653             MODI,                     // 11650..11659
7654             UNKNOWN,                  // 1165A..1165F
7655             MONGOLIAN,                // 11660..1166C
7656             UNKNOWN,                  // 1166D..1167F
7657             TAKRI,                    // 11680..116B8
7658             UNKNOWN,                  // 116B9..116BF
7659             TAKRI,                    // 116C0..116C9
7660             UNKNOWN,                  // 116CA..116FF
7661             AHOM,                     // 11700..1171A
7662             UNKNOWN,                  // 1171B..1171C
7663             AHOM,                     // 1171D..1172B
7664             UNKNOWN,                  // 1172C..1172F
7665             AHOM,                     // 11730..1173F
7666             UNKNOWN,                  // 11740..117FF
7667             DOGRA,                    // 11800..1183B
7668             UNKNOWN,                  // 1183C..1189F
7669             WARANG_CITI,              // 118A0..118F2
7670             UNKNOWN,                  // 118F3..118FE
7671             WARANG_CITI,              // 118FF
7672             UNKNOWN,                  // 11900..1199F
7673             NANDINAGARI,              // 119A0..119A7
7674             UNKNOWN,                  // 119A8..119A9
7675             NANDINAGARI,              // 119AA..119D7
7676             UNKNOWN,                  // 119D8..119D9
7677             NANDINAGARI,              // 119DA..119E4
7678             UNKNOWN,                  // 119E5..119FF
7679             ZANABAZAR_SQUARE,         // 11A00..11A47
7680             UNKNOWN,                  // 11A48..11A4F
7681             SOYOMBO,                  // 11A50..11AA2


7682             UNKNOWN,                  // 11AA3..11ABF
7683             PAU_CIN_HAU,              // 11AC0..11AF8
7684             UNKNOWN,                  // 11AF9..11BFF
7685             BHAIKSUKI,                // 11C00..11C08
7686             UNKNOWN,                  // 11C09
7687             BHAIKSUKI,                // 11C0A..11C36
7688             UNKNOWN,                  // 11C37
7689             BHAIKSUKI,                // 11C38..11C45
7690             UNKNOWN,                  // 11C46..11C4F
7691             BHAIKSUKI,                // 11C50..11C6C
7692             UNKNOWN,                  // 11C6D..11C6F
7693             MARCHEN,                  // 11C70..11C8F
7694             UNKNOWN,                  // 11C90..11C91
7695             MARCHEN,                  // 11C92..11CA7
7696             UNKNOWN,                  // 11CA8
7697             MARCHEN,                  // 11CA9..11CB6
7698             UNKNOWN,                  // 11CB7..11CFF
7699             MASARAM_GONDI,            // 11D00..11D06
7700             UNKNOWN,                  // 11D07
7701             MASARAM_GONDI,            // 11D08..11D09
7702             UNKNOWN,                  // 11D0A
7703             MASARAM_GONDI,            // 11D0B..11D36
7704             UNKNOWN,                  // 11D37..11D39
7705             MASARAM_GONDI,            // 11D3A
7706             UNKNOWN,                  // 11D3B
7707             MASARAM_GONDI,            // 11D3C..11D3D
7708             UNKNOWN,                  // 11D3E
7709             MASARAM_GONDI,            // 11D3F..11D47
7710             UNKNOWN,                  // 11D48..11D4F
7711             MASARAM_GONDI,            // 11D50..11D59
7712             UNKNOWN,                  // 11D5A..11D5F
7713             GUNJALA_GONDI,            // 11D60..11D65
7714             UNKNOWN,                  // 11D66
7715             GUNJALA_GONDI,            // 11D67..11D68
7716             UNKNOWN,                  // 11D69
7717             GUNJALA_GONDI,            // 11D6A..11D8E
7718             UNKNOWN,                  // 11D8F
7719             GUNJALA_GONDI,            // 11D90..11D91
7720             UNKNOWN,                  // 11D92
7721             GUNJALA_GONDI,            // 11D93..11D98
7722             UNKNOWN,                  // 11D99..11D9F
7723             GUNJALA_GONDI,            // 11DA0..11DA9
7724             UNKNOWN,                  // 11DAA..11EDF
7725             MAKASAR,                  // 11EE0..11EF8
7726             UNKNOWN,                  // 11EF9..11FBF
7727             TAMIL,                    // 11FC0..11FF1
7728             UNKNOWN,                  // 11FF2..11FFE
7729             TAMIL,                    // 11FFF
7730             CUNEIFORM,                // 12000..12399
7731             UNKNOWN,                  // 1239A..123FF
7732             CUNEIFORM,                // 12400..1246E
7733             UNKNOWN,                  // 1246F
7734             CUNEIFORM,                // 12470..12474
7735             UNKNOWN,                  // 12475..1247F
7736             CUNEIFORM,                // 12480..12543
7737             UNKNOWN,                  // 12544..12FFF
7738             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
7739             UNKNOWN,                  // 1342F
7740             EGYPTIAN_HIEROGLYPHS,     // 13430..13438
7741             UNKNOWN,                  // 13439..143FF
7742             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
7743             UNKNOWN,                  // 14647..167FF
7744             BAMUM,                    // 16800..16A38
7745             UNKNOWN,                  // 16A39..16A3F
7746             MRO,                      // 16A40..16A5E
7747             UNKNOWN,                  // 16A5F
7748             MRO,                      // 16A60..16A69
7749             UNKNOWN,                  // 16A6A..16A6D
7750             MRO,                      // 16A6E..16A6F
7751             UNKNOWN,                  // 16A70..16ACF
7752             BASSA_VAH,                // 16AD0..16AED
7753             UNKNOWN,                  // 16AEE..16AEF
7754             BASSA_VAH,                // 16AF0..16AF5
7755             UNKNOWN,                  // 16AF6..16AFF
7756             PAHAWH_HMONG,             // 16B00..16B45
7757             UNKNOWN,                  // 16B46..16B4F
7758             PAHAWH_HMONG,             // 16B50..16B59
7759             UNKNOWN,                  // 16B5A
7760             PAHAWH_HMONG,             // 16B5B..16B61
7761             UNKNOWN,                  // 16B62
7762             PAHAWH_HMONG,             // 16B63..16B77
7763             UNKNOWN,                  // 16B78..16B7C
7764             PAHAWH_HMONG,             // 16B7D..16B8F
7765             UNKNOWN,                  // 16B90..16E3F
7766             MEDEFAIDRIN,              // 16E40..16E9A
7767             UNKNOWN,                  // 16E9B..16EFF
7768             MIAO,                     // 16F00..16F4A
7769             UNKNOWN,                  // 16F4B..16F4E
7770             MIAO,                     // 16F4F..16F87
7771             UNKNOWN,                  // 16F88..16F8E
7772             MIAO,                     // 16F8F..16F9F
7773             UNKNOWN,                  // 16FA0..16FDF
7774             TANGUT,                   // 16FE0
7775             NUSHU,                    // 16FE1
7776             COMMON,                   // 16FE2..16FE3
7777             UNKNOWN,                  // 16FE4..16FFF
7778             TANGUT,                   // 17000..187F7
7779             UNKNOWN,                  // 187F8..187FF
7780             TANGUT,                   // 18800..18AF2
7781             UNKNOWN,                  // 18AF3..1AFFF
7782             KATAKANA,                 // 1B000
7783             HIRAGANA,                 // 1B001..1B11E
7784             UNKNOWN,                  // 1B11F..1B14F
7785             HIRAGANA,                 // 1B150..1B152
7786             UNKNOWN,                  // 1B153..1B163
7787             KATAKANA,                 // 1B164..1B167
7788             UNKNOWN,                  // 1B168..1B16F
7789             NUSHU,                    // 1B170..1B2FB
7790             UNKNOWN,                  // 1B2FC..1BBFF
7791             DUPLOYAN,                 // 1BC00..1BC6A
7792             UNKNOWN,                  // 1BC6B..1BC6F
7793             DUPLOYAN,                 // 1BC70..1BC7C
7794             UNKNOWN,                  // 1BC7D..1BC7F
7795             DUPLOYAN,                 // 1BC80..1BC88
7796             UNKNOWN,                  // 1BC89..1BC8F
7797             DUPLOYAN,                 // 1BC90..1BC99
7798             UNKNOWN,                  // 1BC9A..1BC9B
7799             DUPLOYAN,                 // 1BC9C..1BC9F
7800             COMMON,                   // 1BCA0..1BCA3
7801             UNKNOWN,                  // 1BCA4..1CFFF
7802             COMMON,                   // 1D000..1D0F5
7803             UNKNOWN,                  // 1D0F6..1D0FF
7804             COMMON,                   // 1D100..1D126
7805             UNKNOWN,                  // 1D127..1D128
7806             COMMON,                   // 1D129..1D166
7807             INHERITED,                // 1D167..1D169
7808             COMMON,                   // 1D16A..1D17A


7860             COMMON,                   // 1D552..1D6A5
7861             UNKNOWN,                  // 1D6A6..1D6A7
7862             COMMON,                   // 1D6A8..1D7CB
7863             UNKNOWN,                  // 1D7CC..1D7CD
7864             COMMON,                   // 1D7CE..1D7FF
7865             SIGNWRITING,              // 1D800..1DA8B
7866             UNKNOWN,                  // 1DA8C..1DA9A
7867             SIGNWRITING,              // 1DA9B..1DA9F
7868             UNKNOWN,                  // 1DAA0
7869             SIGNWRITING,              // 1DAA1..1DAAF
7870             UNKNOWN,                  // 1DAB0..1DFFF
7871             GLAGOLITIC,               // 1E000..1E006
7872             UNKNOWN,                  // 1E007
7873             GLAGOLITIC,               // 1E008..1E018
7874             UNKNOWN,                  // 1E019..1E01A
7875             GLAGOLITIC,               // 1E01B..1E021
7876             UNKNOWN,                  // 1E022
7877             GLAGOLITIC,               // 1E023..1E024
7878             UNKNOWN,                  // 1E025
7879             GLAGOLITIC,               // 1E026..1E02A
7880             UNKNOWN,                  // 1E02B..1E0FF
7881             NYIAKENG_PUACHUE_HMONG,   // 1E100..1E12C
7882             UNKNOWN,                  // 1E12D..1E12F
7883             NYIAKENG_PUACHUE_HMONG,   // 1E130..1E13D
7884             UNKNOWN,                  // 1E13E..1E13F
7885             NYIAKENG_PUACHUE_HMONG,   // 1E140..1E149
7886             UNKNOWN,                  // 1E14A..1E14D
7887             NYIAKENG_PUACHUE_HMONG,   // 1E14E..1E14F
7888             UNKNOWN,                  // 1E150..1E2BF
7889             WANCHO,                   // 1E2C0..1E2F9
7890             UNKNOWN,                  // 1E2FA..1E2FE
7891             WANCHO,                   // 1E2FF
7892             UNKNOWN,                  // 1E300..1E7FF
7893             MENDE_KIKAKUI,            // 1E800..1E8C4
7894             UNKNOWN,                  // 1E8C5..1E8C6
7895             MENDE_KIKAKUI,            // 1E8C7..1E8D6
7896             UNKNOWN,                  // 1E8D7..1E8FF
7897             ADLAM,                    // 1E900..1E94B
7898             UNKNOWN,                  // 1E94C..1E94F
7899             ADLAM,                    // 1E950..1E959
7900             UNKNOWN,                  // 1E95A..1E95D
7901             ADLAM,                    // 1E95E..1E95F
7902             UNKNOWN,                  // 1E960..1EC70
7903             COMMON,                   // 1EC71..1ECB4
7904             UNKNOWN,                  // 1ECB5..1ED00
7905             COMMON,                   // 1ED01..1ED3D
7906             UNKNOWN,                  // 1ED3E..1EDFF
7907             ARABIC,                   // 1EE00..1EE03
7908             UNKNOWN,                  // 1EE04
7909             ARABIC,                   // 1EE05..1EE1F
7910             UNKNOWN,                  // 1EE20
7911             ARABIC,                   // 1EE21..1EE22
7912             UNKNOWN,                  // 1EE23
7913             ARABIC,                   // 1EE24
7914             UNKNOWN,                  // 1EE25..1EE26
7915             ARABIC,                   // 1EE27
7916             UNKNOWN,                  // 1EE28
7917             ARABIC,                   // 1EE29..1EE32
7918             UNKNOWN,                  // 1EE33
7919             ARABIC,                   // 1EE34..1EE37
7920             UNKNOWN,                  // 1EE38
7921             ARABIC,                   // 1EE39
7922             UNKNOWN,                  // 1EE3A
7923             ARABIC,                   // 1EE3B
7924             UNKNOWN,                  // 1EE3C..1EE41
7925             ARABIC,                   // 1EE42
7926             UNKNOWN,                  // 1EE43..1EE46


7969             ARABIC,                   // 1EEA5..1EEA9
7970             UNKNOWN,                  // 1EEAA
7971             ARABIC,                   // 1EEAB..1EEBB
7972             UNKNOWN,                  // 1EEBC..1EEEF
7973             ARABIC,                   // 1EEF0..1EEF1
7974             UNKNOWN,                  // 1EEF2..1EFFF
7975             COMMON,                   // 1F000..1F02B
7976             UNKNOWN,                  // 1F02C..1F02F
7977             COMMON,                   // 1F030..1F093
7978             UNKNOWN,                  // 1F094..1F09F
7979             COMMON,                   // 1F0A0..1F0AE
7980             UNKNOWN,                  // 1F0AF..1F0B0
7981             COMMON,                   // 1F0B1..1F0BF
7982             UNKNOWN,                  // 1F0C0
7983             COMMON,                   // 1F0C1..1F0CF
7984             UNKNOWN,                  // 1F0D0
7985             COMMON,                   // 1F0D1..1F0F5
7986             UNKNOWN,                  // 1F0F6..1F0FF
7987             COMMON,                   // 1F100..1F10C
7988             UNKNOWN,                  // 1F10D..1F10F
7989             COMMON,                   // 1F110..1F16C
7990             UNKNOWN,                  // 1F16D..1F16F
7991             COMMON,                   // 1F170..1F1AC
7992             UNKNOWN,                  // 1F1AD..1F1E5
7993             COMMON,                   // 1F1E6..1F1FF
7994             HIRAGANA,                 // 1F200
7995             COMMON,                   // 1F201..1F202
7996             UNKNOWN,                  // 1F203..1F20F
7997             COMMON,                   // 1F210..1F23B
7998             UNKNOWN,                  // 1F23C..1F23F
7999             COMMON,                   // 1F240..1F248
8000             UNKNOWN,                  // 1F249..1F24F
8001             COMMON,                   // 1F250..1F251
8002             UNKNOWN,                  // 1F252..1F25F
8003             COMMON,                   // 1F260..1F265
8004             UNKNOWN,                  // 1F266..1F2FF
8005             COMMON,                   // 1F300..1F6D5
8006             UNKNOWN,                  // 1F6D6..1F6DF
8007             COMMON,                   // 1F6E0..1F6EC
8008             UNKNOWN,                  // 1F6ED..1F6EF
8009             COMMON,                   // 1F6F0..1F6FA
8010             UNKNOWN,                  // 1F6FB..1F6FF
8011             COMMON,                   // 1F700..1F773
8012             UNKNOWN,                  // 1F774..1F77F
8013             COMMON,                   // 1F780..1F7D8
8014             UNKNOWN,                  // 1F7D9..1F7DF
8015             COMMON,                   // 1F7E0..1F7EB
8016             UNKNOWN,                  // 1F7EC..1F7FF
8017             COMMON,                   // 1F800..1F80B
8018             UNKNOWN,                  // 1F80C..1F80F
8019             COMMON,                   // 1F810..1F847
8020             UNKNOWN,                  // 1F848..1F84F
8021             COMMON,                   // 1F850..1F859
8022             UNKNOWN,                  // 1F85A..1F85F
8023             COMMON,                   // 1F860..1F887
8024             UNKNOWN,                  // 1F888..1F88F
8025             COMMON,                   // 1F890..1F8AD
8026             UNKNOWN,                  // 1F8AE..1F8FF
8027             COMMON,                   // 1F900..1F90B
8028             UNKNOWN,                  // 1F90C
8029             COMMON,                   // 1F90D..1F971
8030             UNKNOWN,                  // 1F972


8031             COMMON,                   // 1F973..1F976
8032             UNKNOWN,                  // 1F977..1F979
8033             COMMON,                   // 1F97A..1F9A2
8034             UNKNOWN,                  // 1F9A3..1F9A4
8035             COMMON,                   // 1F9A5..1F9AA
8036             UNKNOWN,                  // 1F9AB..1F9AD
8037             COMMON,                   // 1F9AE..1F9CA
8038             UNKNOWN,                  // 1F9CB..1F9CC
8039             COMMON,                   // 1F9CD..1FA53
8040             UNKNOWN,                  // 1FA54..1FA5F


8041             COMMON,                   // 1FA60..1FA6D
8042             UNKNOWN,                  // 1FA6E..1FA6F
8043             COMMON,                   // 1FA70..1FA73
8044             UNKNOWN,                  // 1FA74..1FA77
8045             COMMON,                   // 1FA78..1FA7A
8046             UNKNOWN,                  // 1FA7B..1FA7F
8047             COMMON,                   // 1FA80..1FA82
8048             UNKNOWN,                  // 1FA83..1FA8F
8049             COMMON,                   // 1FA90..1FA95
8050             UNKNOWN,                  // 1FA96..1FFFF
8051             HAN,                      // 20000..2A6D6
8052             UNKNOWN,                  // 2A6D7..2A6FF
8053             HAN,                      // 2A700..2B734
8054             UNKNOWN,                  // 2B735..2B73F
8055             HAN,                      // 2B740..2B81D
8056             UNKNOWN,                  // 2B81E..2B81F
8057             HAN,                      // 2B820..2CEA1
8058             UNKNOWN,                  // 2CEA2..2CEAF
8059             HAN,                      // 2CEB0..2EBE0
8060             UNKNOWN,                  // 2EBE1..2F7FF
8061             HAN,                      // 2F800..2FA1D
8062             UNKNOWN,                  // 2FA1E..E0000
8063             COMMON,                   // E0001
8064             UNKNOWN,                  // E0002..E001F
8065             COMMON,                   // E0020..E007F
8066             UNKNOWN,                  // E0080..E00FF
8067             INHERITED,                // E0100..E01EF
8068             UNKNOWN,                  // E01F0..10FFFF
8069         };
8070 
8071         private static HashMap<String, Character.UnicodeScript> aliases;
8072         static {
8073             aliases = new HashMap<>((int)(153 / 0.75f + 1.0f));
8074             aliases.put("ADLM", ADLAM);
8075             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8076             aliases.put("AHOM", AHOM);
8077             aliases.put("ARAB", ARABIC);
8078             aliases.put("ARMI", IMPERIAL_ARAMAIC);
8079             aliases.put("ARMN", ARMENIAN);
8080             aliases.put("AVST", AVESTAN);
8081             aliases.put("BALI", BALINESE);
8082             aliases.put("BAMU", BAMUM);
8083             aliases.put("BASS", BASSA_VAH);
8084             aliases.put("BATK", BATAK);
8085             aliases.put("BENG", BENGALI);
8086             aliases.put("BHKS", BHAIKSUKI);
8087             aliases.put("BOPO", BOPOMOFO);
8088             aliases.put("BRAH", BRAHMI);
8089             aliases.put("BRAI", BRAILLE);
8090             aliases.put("BUGI", BUGINESE);
8091             aliases.put("BUHD", BUHID);
8092             aliases.put("CAKM", CHAKMA);
8093             aliases.put("CANS", CANADIAN_ABORIGINAL);
8094             aliases.put("CARI", CARIAN);
8095             aliases.put("CHAM", CHAM);
8096             aliases.put("CHER", CHEROKEE);
8097             aliases.put("COPT", COPTIC);
8098             aliases.put("CPRT", CYPRIOT);
8099             aliases.put("CYRL", CYRILLIC);
8100             aliases.put("DEVA", DEVANAGARI);
8101             aliases.put("DOGR", DOGRA);
8102             aliases.put("DSRT", DESERET);
8103             aliases.put("DUPL", DUPLOYAN);
8104             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8105             aliases.put("ELBA", ELBASAN);
8106             aliases.put("ELYM", ELYMAIC);
8107             aliases.put("ETHI", ETHIOPIC);
8108             aliases.put("GEOR", GEORGIAN);
8109             aliases.put("GLAG", GLAGOLITIC);
8110             aliases.put("GONM", MASARAM_GONDI);
8111             aliases.put("GOTH", GOTHIC);
8112             aliases.put("GONG", GUNJALA_GONDI);
8113             aliases.put("GRAN", GRANTHA);
8114             aliases.put("GREK", GREEK);
8115             aliases.put("GUJR", GUJARATI);
8116             aliases.put("GURU", GURMUKHI);
8117             aliases.put("HANG", HANGUL);
8118             aliases.put("HANI", HAN);
8119             aliases.put("HANO", HANUNOO);
8120             aliases.put("HATR", HATRAN);
8121             aliases.put("HEBR", HEBREW);
8122             aliases.put("HIRA", HIRAGANA);
8123             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8124             aliases.put("HMNG", PAHAWH_HMONG);
8125             aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8126             // it appears we don't have the KATAKANA_OR_HIRAGANA
8127             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8128             aliases.put("HUNG", OLD_HUNGARIAN);
8129             aliases.put("ITAL", OLD_ITALIC);
8130             aliases.put("JAVA", JAVANESE);
8131             aliases.put("KALI", KAYAH_LI);
8132             aliases.put("KANA", KATAKANA);
8133             aliases.put("KHAR", KHAROSHTHI);
8134             aliases.put("KHMR", KHMER);
8135             aliases.put("KHOJ", KHOJKI);
8136             aliases.put("KNDA", KANNADA);
8137             aliases.put("KTHI", KAITHI);
8138             aliases.put("LANA", TAI_THAM);
8139             aliases.put("LAOO", LAO);
8140             aliases.put("LATN", LATIN);
8141             aliases.put("LEPC", LEPCHA);
8142             aliases.put("LIMB", LIMBU);
8143             aliases.put("LINA", LINEAR_A);
8144             aliases.put("LINB", LINEAR_B);
8145             aliases.put("LISU", LISU);
8146             aliases.put("LYCI", LYCIAN);
8147             aliases.put("LYDI", LYDIAN);
8148             aliases.put("MAHJ", MAHAJANI);
8149             aliases.put("MAKA", MAKASAR);
8150             aliases.put("MARC", MARCHEN);
8151             aliases.put("MAND", MANDAIC);
8152             aliases.put("MANI", MANICHAEAN);
8153             aliases.put("MEDF", MEDEFAIDRIN);
8154             aliases.put("MEND", MENDE_KIKAKUI);
8155             aliases.put("MERC", MEROITIC_CURSIVE);
8156             aliases.put("MERO", MEROITIC_HIEROGLYPHS);
8157             aliases.put("MLYM", MALAYALAM);
8158             aliases.put("MODI", MODI);
8159             aliases.put("MONG", MONGOLIAN);
8160             aliases.put("MROO", MRO);
8161             aliases.put("MTEI", MEETEI_MAYEK);
8162             aliases.put("MULT", MULTANI);
8163             aliases.put("MYMR", MYANMAR);
8164             aliases.put("NAND", NANDINAGARI);
8165             aliases.put("NARB", OLD_NORTH_ARABIAN);
8166             aliases.put("NBAT", NABATAEAN);
8167             aliases.put("NEWA", NEWA);
8168             aliases.put("NKOO", NKO);
8169             aliases.put("NSHU", NUSHU);
8170             aliases.put("OGAM", OGHAM);
8171             aliases.put("OLCK", OL_CHIKI);
8172             aliases.put("ORKH", OLD_TURKIC);
8173             aliases.put("ORYA", ORIYA);
8174             aliases.put("OSGE", OSAGE);
8175             aliases.put("OSMA", OSMANYA);
8176             aliases.put("PALM", PALMYRENE);
8177             aliases.put("PAUC", PAU_CIN_HAU);
8178             aliases.put("PERM", OLD_PERMIC);
8179             aliases.put("PHAG", PHAGS_PA);
8180             aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
8181             aliases.put("PHLP", PSALTER_PAHLAVI);
8182             aliases.put("PHNX", PHOENICIAN);
8183             aliases.put("PLRD", MIAO);
8184             aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);


8201             aliases.put("SUND", SUNDANESE);
8202             aliases.put("SYLO", SYLOTI_NAGRI);
8203             aliases.put("SYRC", SYRIAC);
8204             aliases.put("TAGB", TAGBANWA);
8205             aliases.put("TAKR", TAKRI);
8206             aliases.put("TALE", TAI_LE);
8207             aliases.put("TALU", NEW_TAI_LUE);
8208             aliases.put("TAML", TAMIL);
8209             aliases.put("TANG", TANGUT);
8210             aliases.put("TAVT", TAI_VIET);
8211             aliases.put("TELU", TELUGU);
8212             aliases.put("TFNG", TIFINAGH);
8213             aliases.put("TGLG", TAGALOG);
8214             aliases.put("THAA", THAANA);
8215             aliases.put("THAI", THAI);
8216             aliases.put("TIBT", TIBETAN);
8217             aliases.put("TIRH", TIRHUTA);
8218             aliases.put("UGAR", UGARITIC);
8219             aliases.put("VAII", VAI);
8220             aliases.put("WARA", WARANG_CITI);
8221             aliases.put("WCHO", WANCHO);
8222             aliases.put("XPEO", OLD_PERSIAN);
8223             aliases.put("XSUX", CUNEIFORM);
8224             aliases.put("YIII", YI);
8225             aliases.put("ZANB", ZANABAZAR_SQUARE);
8226             aliases.put("ZINH", INHERITED);
8227             aliases.put("ZYYY", COMMON);
8228             aliases.put("ZZZZ", UNKNOWN);
8229         }
8230 
8231         /**
8232          * Returns the enum constant representing the Unicode script of which
8233          * the given character (Unicode code point) is assigned to.
8234          *
8235          * @param   codePoint the character (Unicode code point) in question.
8236          * @return  The {@code UnicodeScript} constant representing the
8237          *          Unicode script of which this character is assigned to.
8238          *
8239          * @throws  IllegalArgumentException if the specified
8240          * {@code codePoint} is an invalid Unicode code point.
8241          * @see Character#isValidCodePoint(int)


< prev index next >