< prev index next >

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

Print this page
rev 59210 : imported patch 8239383


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


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


3287         /**
3288          * Constant for the "Ottoman Siyaq Numbers" Unicode
3289          * character block.
3290          * @since 13
3291          */
3292         public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3293             new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3294                              "OTTOMAN SIYAQ NUMBERS",
3295                              "OTTOMANSIYAQNUMBERS");
3296 
3297         /**
3298          * Constant for the "Symbols and Pictographs Extended-A" Unicode
3299          * character block.
3300          * @since 13
3301          */
3302         public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3303             new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3304                              "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3305                              "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3306 












































































3307         private static final int[] blockStarts = {
3308             0x0000,   // 0000..007F; Basic Latin
3309             0x0080,   // 0080..00FF; Latin-1 Supplement
3310             0x0100,   // 0100..017F; Latin Extended-A
3311             0x0180,   // 0180..024F; Latin Extended-B
3312             0x0250,   // 0250..02AF; IPA Extensions
3313             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
3314             0x0300,   // 0300..036F; Combining Diacritical Marks
3315             0x0370,   // 0370..03FF; Greek and Coptic
3316             0x0400,   // 0400..04FF; Cyrillic
3317             0x0500,   // 0500..052F; Cyrillic Supplement
3318             0x0530,   // 0530..058F; Armenian
3319             0x0590,   // 0590..05FF; Hebrew
3320             0x0600,   // 0600..06FF; Arabic
3321             0x0700,   // 0700..074F; Syriac
3322             0x0750,   // 0750..077F; Arabic Supplement
3323             0x0780,   // 0780..07BF; Thaana
3324             0x07C0,   // 07C0..07FF; NKo
3325             0x0800,   // 0800..083F; Samaritan
3326             0x0840,   // 0840..085F; Mandaic


3505             0x10920,  // 10920..1093F; Lydian
3506             0x10940,  //               unassigned
3507             0x10980,  // 10980..1099F; Meroitic Hieroglyphs
3508             0x109A0,  // 109A0..109FF; Meroitic Cursive
3509             0x10A00,  // 10A00..10A5F; Kharoshthi
3510             0x10A60,  // 10A60..10A7F; Old South Arabian
3511             0x10A80,  // 10A80..10A9F; Old North Arabian
3512             0x10AA0,  //               unassigned
3513             0x10AC0,  // 10AC0..10AFF; Manichaean
3514             0x10B00,  // 10B00..10B3F; Avestan
3515             0x10B40,  // 10B40..10B5F; Inscriptional Parthian
3516             0x10B60,  // 10B60..10B7F; Inscriptional Pahlavi
3517             0x10B80,  // 10B80..10BAF; Psalter Pahlavi
3518             0x10BB0,  //               unassigned
3519             0x10C00,  // 10C00..10C4F; Old Turkic
3520             0x10C50,  //               unassigned
3521             0x10C80,  // 10C80..10CFF; Old Hungarian
3522             0x10D00,  // 10D00..10D3F; Hanifi Rohingya
3523             0x10D40,  //               unassigned
3524             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3525             0x10E80,  //               unassigned

3526             0x10F00,  // 10F00..10F2F; Old Sogdian
3527             0x10F30,  // 10F30..10F6F; Sogdian
3528             0x10F70,  //               unassigned

3529             0x10FE0,  // 10FE0..10FFF; Elymaic
3530             0x11000,  // 11000..1107F; Brahmi
3531             0x11080,  // 11080..110CF; Kaithi
3532             0x110D0,  // 110D0..110FF; Sora Sompeng
3533             0x11100,  // 11100..1114F; Chakma
3534             0x11150,  // 11150..1117F; Mahajani
3535             0x11180,  // 11180..111DF; Sharada
3536             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3537             0x11200,  // 11200..1124F; Khojki
3538             0x11250,  //               unassigned
3539             0x11280,  // 11280..112AF; Multani
3540             0x112B0,  // 112B0..112FF; Khudawadi
3541             0x11300,  // 11300..1137F; Grantha
3542             0x11380,  //               unassigned
3543             0x11400,  // 11400..1147F; Newa
3544             0x11480,  // 11480..114DF; Tirhuta
3545             0x114E0,  //               unassigned
3546             0x11580,  // 11580..115FF; Siddham
3547             0x11600,  // 11600..1165F; Modi
3548             0x11660,  // 11660..1167F; Mongolian Supplement
3549             0x11680,  // 11680..116CF; Takri
3550             0x116D0,  //               unassigned
3551             0x11700,  // 11700..1173F; Ahom
3552             0x11740,  //               unassigned
3553             0x11800,  // 11800..1184F; Dogra
3554             0x11850,  //               unassigned
3555             0x118A0,  // 118A0..118FF; Warang Citi
3556             0x11900,  //               unassigned

3557             0x119A0,  // 119A0..119FF; Nandinagari
3558             0x11A00,  // 11A00..11A4F; Zanabazar Square
3559             0x11A50,  // 11A50..11AAF; Soyombo
3560             0x11AB0,  //               unassigned
3561             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3562             0x11B00,  //               unassigned
3563             0x11C00,  // 11C00..11C6F; Bhaiksuki
3564             0x11C70,  // 11C70..11CBF; Marchen
3565             0x11CC0,  //               unassigned
3566             0x11D00,  // 11D00..11D5F; Masaram Gondi
3567             0x11D60,  // 11D60..11DAF; Gunjala Gondi
3568             0x11DB0,  //               unassigned
3569             0x11EE0,  // 11EE0..11EFF; Makasar
3570             0x11F00,  //               unassigned

3571             0x11FC0,  // 11FC0..11FFF; Tamil Supplement
3572             0x12000,  // 12000..123FF; Cuneiform
3573             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3574             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3575             0x12550,  //               unassigned
3576             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3577             0x13430,  // 13430..1343F; Egyptian Hieroglyph Format Controls
3578             0x13440,  //               unassigned
3579             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3580             0x14680,  //               unassigned
3581             0x16800,  // 16800..16A3F; Bamum Supplement
3582             0x16A40,  // 16A40..16A6F; Mro
3583             0x16A70,  //               unassigned
3584             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3585             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3586             0x16B90,  //               unassigned
3587             0x16E40,  // 16E40..16E9F; Medefaidrin
3588             0x16EA0,  //               unassigned
3589             0x16F00,  // 16F00..16F9F; Miao
3590             0x16FA0,  //               unassigned
3591             0x16FE0,  // 16FE0..16FFF; Ideographic Symbols and Punctuation
3592             0x17000,  // 17000..187FF; Tangut
3593             0x18800,  // 18800..18AFF; Tangut Components
3594             0x18B00,  //               unassigned


3595             0x1B000,  // 1B000..1B0FF; Kana Supplement
3596             0x1B100,  // 1B100..1B12F; Kana Extended-A
3597             0x1B130,  // 1B130..1B16F; Small Kana Extension
3598             0x1B170,  // 1B170..1B2FF; Nushu
3599             0x1B300,  //               unassigned
3600             0x1BC00,  // 1BC00..1BC9F; Duployan
3601             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3602             0x1BCB0,  //               unassigned
3603             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3604             0x1D100,  // 1D100..1D1FF; Musical Symbols
3605             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3606             0x1D250,  //               unassigned
3607             0x1D2E0,  // 1D2E0..1D2FF; Mayan Numerals
3608             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3609             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3610             0x1D380,  //               unassigned
3611             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3612             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3613             0x1DAB0,  //               unassigned
3614             0x1E000,  // 1E000..1E02F; Glagolitic Supplement


3625             0x1ECC0,  //               unassigned
3626             0x1ED00,  // 1ED00..1ED4F; Ottoman Siyaq Numbers
3627             0x1ED50,  //               unassigned
3628             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3629             0x1EF00,  //               unassigned
3630             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3631             0x1F030,  // 1F030..1F09F; Domino Tiles
3632             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3633             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3634             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3635             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3636             0x1F600,  // 1F600..1F64F; Emoticons
3637             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3638             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3639             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3640             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3641             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3642             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3643             0x1FA00,  // 1FA00..1FA6F; Chess Symbols
3644             0x1FA70,  // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3645             0x1FB00,  //               unassigned

3646             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3647             0x2A6E0,  //               unassigned
3648             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3649             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3650             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3651             0x2CEB0,  // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3652             0x2EBF0,  //               unassigned
3653             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3654             0x2FA20,  //               unassigned


3655             0xE0000,  // E0000..E007F; Tags
3656             0xE0080,  //               unassigned
3657             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3658             0xE01F0,  //               unassigned
3659             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3660             0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3661         };
3662 
3663         private static final UnicodeBlock[] blocks = {
3664             BASIC_LATIN,
3665             LATIN_1_SUPPLEMENT,
3666             LATIN_EXTENDED_A,
3667             LATIN_EXTENDED_B,
3668             IPA_EXTENSIONS,
3669             SPACING_MODIFIER_LETTERS,
3670             COMBINING_DIACRITICAL_MARKS,
3671             GREEK,
3672             CYRILLIC,
3673             CYRILLIC_SUPPLEMENTARY,
3674             ARMENIAN,


3861             LYDIAN,
3862             null,
3863             MEROITIC_HIEROGLYPHS,
3864             MEROITIC_CURSIVE,
3865             KHAROSHTHI,
3866             OLD_SOUTH_ARABIAN,
3867             OLD_NORTH_ARABIAN,
3868             null,
3869             MANICHAEAN,
3870             AVESTAN,
3871             INSCRIPTIONAL_PARTHIAN,
3872             INSCRIPTIONAL_PAHLAVI,
3873             PSALTER_PAHLAVI,
3874             null,
3875             OLD_TURKIC,
3876             null,
3877             OLD_HUNGARIAN,
3878             HANIFI_ROHINGYA,
3879             null,
3880             RUMI_NUMERAL_SYMBOLS,

3881             null,
3882             OLD_SOGDIAN,
3883             SOGDIAN,
3884             null,

3885             ELYMAIC,
3886             BRAHMI,
3887             KAITHI,
3888             SORA_SOMPENG,
3889             CHAKMA,
3890             MAHAJANI,
3891             SHARADA,
3892             SINHALA_ARCHAIC_NUMBERS,
3893             KHOJKI,
3894             null,
3895             MULTANI,
3896             KHUDAWADI,
3897             GRANTHA,
3898             null,
3899             NEWA,
3900             TIRHUTA,
3901             null,
3902             SIDDHAM,
3903             MODI,
3904             MONGOLIAN_SUPPLEMENT,
3905             TAKRI,
3906             null,
3907             AHOM,
3908             null,
3909             DOGRA,
3910             null,
3911             WARANG_CITI,

3912             null,
3913             NANDINAGARI,
3914             ZANABAZAR_SQUARE,
3915             SOYOMBO,
3916             null,
3917             PAU_CIN_HAU,
3918             null,
3919             BHAIKSUKI,
3920             MARCHEN,
3921             null,
3922             MASARAM_GONDI,
3923             GUNJALA_GONDI,
3924             null,
3925             MAKASAR,
3926             null,

3927             TAMIL_SUPPLEMENT,
3928             CUNEIFORM,
3929             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3930             EARLY_DYNASTIC_CUNEIFORM,
3931             null,
3932             EGYPTIAN_HIEROGLYPHS,
3933             EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
3934             null,
3935             ANATOLIAN_HIEROGLYPHS,
3936             null,
3937             BAMUM_SUPPLEMENT,
3938             MRO,
3939             null,
3940             BASSA_VAH,
3941             PAHAWH_HMONG,
3942             null,
3943             MEDEFAIDRIN,
3944             null,
3945             MIAO,
3946             null,
3947             IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3948             TANGUT,
3949             TANGUT_COMPONENTS,


3950             null,
3951             KANA_SUPPLEMENT,
3952             KANA_EXTENDED_A,
3953             SMALL_KANA_EXTENSION,
3954             NUSHU,
3955             null,
3956             DUPLOYAN,
3957             SHORTHAND_FORMAT_CONTROLS,
3958             null,
3959             BYZANTINE_MUSICAL_SYMBOLS,
3960             MUSICAL_SYMBOLS,
3961             ANCIENT_GREEK_MUSICAL_NOTATION,
3962             null,
3963             MAYAN_NUMERALS,
3964             TAI_XUAN_JING_SYMBOLS,
3965             COUNTING_ROD_NUMERALS,
3966             null,
3967             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3968             SUTTON_SIGNWRITING,
3969             null,


3981             null,
3982             OTTOMAN_SIYAQ_NUMBERS,
3983             null,
3984             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3985             null,
3986             MAHJONG_TILES,
3987             DOMINO_TILES,
3988             PLAYING_CARDS,
3989             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3990             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3991             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3992             EMOTICONS,
3993             ORNAMENTAL_DINGBATS,
3994             TRANSPORT_AND_MAP_SYMBOLS,
3995             ALCHEMICAL_SYMBOLS,
3996             GEOMETRIC_SHAPES_EXTENDED,
3997             SUPPLEMENTAL_ARROWS_C,
3998             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3999             CHESS_SYMBOLS,
4000             SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,

4001             null,
4002             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
4003             null,
4004             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
4005             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
4006             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
4007             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
4008             null,
4009             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
4010             null,


4011             TAGS,
4012             null,
4013             VARIATION_SELECTORS_SUPPLEMENT,
4014             null,
4015             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
4016             SUPPLEMENTARY_PRIVATE_USE_AREA_B,
4017         };
4018 
4019 
4020         /**
4021          * Returns the object representing the Unicode block containing the
4022          * given character, or {@code null} if the character is not a
4023          * member of a defined block.
4024          *
4025          * <p><b>Note:</b> This method cannot handle
4026          * <a href="Character.html#supplementary"> supplementary
4027          * characters</a>.  To support all Unicode characters, including
4028          * supplementary characters, use the {@link #of(int)} method.
4029          *
4030          * @param   c  The character in question


4938 
4939         /**
4940          * Unicode script "Nandinagari".
4941          * @since 13
4942          */
4943         NANDINAGARI,
4944 
4945         /**
4946          * Unicode script "Nyiakeng Puachue Hmong".
4947          * @since 13
4948          */
4949         NYIAKENG_PUACHUE_HMONG,
4950 
4951         /**
4952          * Unicode script "Wancho".
4953          * @since 13
4954          */
4955         WANCHO,
4956 
4957         /**
























4958          * Unicode script "Unknown".
4959          */
4960         UNKNOWN;
4961 
4962         private static final int[] scriptStarts = {
4963             0x0000,   // 0000..0040; COMMON
4964             0x0041,   // 0041..005A; LATIN
4965             0x005B,   // 005B..0060; COMMON
4966             0x0061,   // 0061..007A; LATIN
4967             0x007B,   // 007B..00A9; COMMON
4968             0x00AA,   // 00AA      ; LATIN
4969             0x00AB,   // 00AB..00B9; COMMON
4970             0x00BA,   // 00BA      ; LATIN
4971             0x00BB,   // 00BB..00BF; COMMON
4972             0x00C0,   // 00C0..00D6; LATIN
4973             0x00D7,   // 00D7      ; COMMON
4974             0x00D8,   // 00D8..00F6; LATIN
4975             0x00F7,   // 00F7      ; COMMON
4976             0x00F8,   // 00F8..02B8; LATIN
4977             0x02B9,   // 02B9..02DF; COMMON


4990             0x0380,   // 0380..0383; UNKNOWN
4991             0x0384,   // 0384      ; GREEK
4992             0x0385,   // 0385      ; COMMON
4993             0x0386,   // 0386      ; GREEK
4994             0x0387,   // 0387      ; COMMON
4995             0x0388,   // 0388..038A; GREEK
4996             0x038B,   // 038B      ; UNKNOWN
4997             0x038C,   // 038C      ; GREEK
4998             0x038D,   // 038D      ; UNKNOWN
4999             0x038E,   // 038E..03A1; GREEK
5000             0x03A2,   // 03A2      ; UNKNOWN
5001             0x03A3,   // 03A3..03E1; GREEK
5002             0x03E2,   // 03E2..03EF; COPTIC
5003             0x03F0,   // 03F0..03FF; GREEK
5004             0x0400,   // 0400..0484; CYRILLIC
5005             0x0485,   // 0485..0486; INHERITED
5006             0x0487,   // 0487..052F; CYRILLIC
5007             0x0530,   // 0530      ; UNKNOWN
5008             0x0531,   // 0531..0556; ARMENIAN
5009             0x0557,   // 0557..0558; UNKNOWN
5010             0x0559,   // 0559..0588; ARMENIAN
5011             0x0589,   // 0589      ; COMMON
5012             0x058A,   // 058A      ; ARMENIAN
5013             0x058B,   // 058B..058C; UNKNOWN
5014             0x058D,   // 058D..058F; ARMENIAN
5015             0x0590,   // 0590      ; UNKNOWN
5016             0x0591,   // 0591..05C7; HEBREW
5017             0x05C8,   // 05C8..05CF; UNKNOWN
5018             0x05D0,   // 05D0..05EA; HEBREW
5019             0x05EB,   // 05EB..05EE; UNKNOWN
5020             0x05EF,   // 05EF..05F4; HEBREW
5021             0x05F5,   // 05F5..05FF; UNKNOWN
5022             0x0600,   // 0600..0604; ARABIC
5023             0x0605,   // 0605      ; COMMON
5024             0x0606,   // 0606..060B; ARABIC
5025             0x060C,   // 060C      ; COMMON
5026             0x060D,   // 060D..061A; ARABIC
5027             0x061B,   // 061B      ; COMMON
5028             0x061C,   // 061C      ; ARABIC
5029             0x061D,   // 061D      ; UNKNOWN
5030             0x061E,   // 061E      ; ARABIC
5031             0x061F,   // 061F      ; COMMON
5032             0x0620,   // 0620..063F; ARABIC


5044             0x074B,   // 074B..074C; UNKNOWN
5045             0x074D,   // 074D..074F; SYRIAC
5046             0x0750,   // 0750..077F; ARABIC
5047             0x0780,   // 0780..07B1; THAANA
5048             0x07B2,   // 07B2..07BF; UNKNOWN
5049             0x07C0,   // 07C0..07FA; NKO
5050             0x07FB,   // 07FB..07FC; UNKNOWN
5051             0x07FD,   // 07FD..07FF; NKO
5052             0x0800,   // 0800..082D; SAMARITAN
5053             0x082E,   // 082E..082F; UNKNOWN
5054             0x0830,   // 0830..083E; SAMARITAN
5055             0x083F,   // 083F      ; UNKNOWN
5056             0x0840,   // 0840..085B; MANDAIC
5057             0x085C,   // 085C..085D; UNKNOWN
5058             0x085E,   // 085E      ; MANDAIC
5059             0x085F,   // 085F      ; UNKNOWN
5060             0x0860,   // 0860..086A; SYRIAC
5061             0x086B,   // 086B..089F; UNKNOWN
5062             0x08A0,   // 08A0..08B4; ARABIC
5063             0x08B5,   // 08B5      ; UNKNOWN
5064             0x08B6,   // 08B6..08BD; ARABIC
5065             0x08BE,   // 08BE..08D2; UNKNOWN
5066             0x08D3,   // 08D3..08E1; ARABIC
5067             0x08E2,   // 08E2      ; COMMON
5068             0x08E3,   // 08E3..08FF; ARABIC
5069             0x0900,   // 0900..0950; DEVANAGARI
5070             0x0951,   // 0951..0954; INHERITED
5071             0x0955,   // 0955..0963; DEVANAGARI
5072             0x0964,   // 0964..0965; COMMON
5073             0x0966,   // 0966..097F; DEVANAGARI
5074             0x0980,   // 0980..0983; BENGALI
5075             0x0984,   // 0984      ; UNKNOWN
5076             0x0985,   // 0985..098C; BENGALI
5077             0x098D,   // 098D..098E; UNKNOWN
5078             0x098F,   // 098F..0990; BENGALI
5079             0x0991,   // 0991..0992; UNKNOWN
5080             0x0993,   // 0993..09A8; BENGALI
5081             0x09A9,   // 09A9      ; UNKNOWN
5082             0x09AA,   // 09AA..09B0; BENGALI
5083             0x09B1,   // 09B1      ; UNKNOWN
5084             0x09B2,   // 09B2      ; BENGALI
5085             0x09B3,   // 09B3..09B5; UNKNOWN


5161             0x0B00,   // 0B00      ; UNKNOWN
5162             0x0B01,   // 0B01..0B03; ORIYA
5163             0x0B04,   // 0B04      ; UNKNOWN
5164             0x0B05,   // 0B05..0B0C; ORIYA
5165             0x0B0D,   // 0B0D..0B0E; UNKNOWN
5166             0x0B0F,   // 0B0F..0B10; ORIYA
5167             0x0B11,   // 0B11..0B12; UNKNOWN
5168             0x0B13,   // 0B13..0B28; ORIYA
5169             0x0B29,   // 0B29      ; UNKNOWN
5170             0x0B2A,   // 0B2A..0B30; ORIYA
5171             0x0B31,   // 0B31      ; UNKNOWN
5172             0x0B32,   // 0B32..0B33; ORIYA
5173             0x0B34,   // 0B34      ; UNKNOWN
5174             0x0B35,   // 0B35..0B39; ORIYA
5175             0x0B3A,   // 0B3A..0B3B; UNKNOWN
5176             0x0B3C,   // 0B3C..0B44; ORIYA
5177             0x0B45,   // 0B45..0B46; UNKNOWN
5178             0x0B47,   // 0B47..0B48; ORIYA
5179             0x0B49,   // 0B49..0B4A; UNKNOWN
5180             0x0B4B,   // 0B4B..0B4D; ORIYA
5181             0x0B4E,   // 0B4E..0B55; UNKNOWN
5182             0x0B56,   // 0B56..0B57; ORIYA
5183             0x0B58,   // 0B58..0B5B; UNKNOWN
5184             0x0B5C,   // 0B5C..0B5D; ORIYA
5185             0x0B5E,   // 0B5E      ; UNKNOWN
5186             0x0B5F,   // 0B5F..0B63; ORIYA
5187             0x0B64,   // 0B64..0B65; UNKNOWN
5188             0x0B66,   // 0B66..0B77; ORIYA
5189             0x0B78,   // 0B78..0B81; UNKNOWN
5190             0x0B82,   // 0B82..0B83; TAMIL
5191             0x0B84,   // 0B84      ; UNKNOWN
5192             0x0B85,   // 0B85..0B8A; TAMIL
5193             0x0B8B,   // 0B8B..0B8D; UNKNOWN
5194             0x0B8E,   // 0B8E..0B90; TAMIL
5195             0x0B91,   // 0B91      ; UNKNOWN
5196             0x0B92,   // 0B92..0B95; TAMIL
5197             0x0B96,   // 0B96..0B98; UNKNOWN
5198             0x0B99,   // 0B99..0B9A; TAMIL
5199             0x0B9B,   // 0B9B      ; UNKNOWN
5200             0x0B9C,   // 0B9C      ; TAMIL
5201             0x0B9D,   // 0B9D      ; UNKNOWN
5202             0x0B9E,   // 0B9E..0B9F; TAMIL


5251             0x0CAA,   // 0CAA..0CB3; KANNADA
5252             0x0CB4,   // 0CB4      ; UNKNOWN
5253             0x0CB5,   // 0CB5..0CB9; KANNADA
5254             0x0CBA,   // 0CBA..0CBB; UNKNOWN
5255             0x0CBC,   // 0CBC..0CC4; KANNADA
5256             0x0CC5,   // 0CC5      ; UNKNOWN
5257             0x0CC6,   // 0CC6..0CC8; KANNADA
5258             0x0CC9,   // 0CC9      ; UNKNOWN
5259             0x0CCA,   // 0CCA..0CCD; KANNADA
5260             0x0CCE,   // 0CCE..0CD4; UNKNOWN
5261             0x0CD5,   // 0CD5..0CD6; KANNADA
5262             0x0CD7,   // 0CD7..0CDD; UNKNOWN
5263             0x0CDE,   // 0CDE      ; KANNADA
5264             0x0CDF,   // 0CDF      ; UNKNOWN
5265             0x0CE0,   // 0CE0..0CE3; KANNADA
5266             0x0CE4,   // 0CE4..0CE5; UNKNOWN
5267             0x0CE6,   // 0CE6..0CEF; KANNADA
5268             0x0CF0,   // 0CF0      ; UNKNOWN
5269             0x0CF1,   // 0CF1..0CF2; KANNADA
5270             0x0CF3,   // 0CF3..0CFF; UNKNOWN
5271             0x0D00,   // 0D00..0D03; MALAYALAM
5272             0x0D04,   // 0D04      ; UNKNOWN
5273             0x0D05,   // 0D05..0D0C; MALAYALAM
5274             0x0D0D,   // 0D0D      ; UNKNOWN
5275             0x0D0E,   // 0D0E..0D10; MALAYALAM
5276             0x0D11,   // 0D11      ; UNKNOWN
5277             0x0D12,   // 0D12..0D44; MALAYALAM
5278             0x0D45,   // 0D45      ; UNKNOWN
5279             0x0D46,   // 0D46..0D48; MALAYALAM
5280             0x0D49,   // 0D49      ; UNKNOWN
5281             0x0D4A,   // 0D4A..0D4F; MALAYALAM
5282             0x0D50,   // 0D50..0D53; UNKNOWN
5283             0x0D54,   // 0D54..0D63; MALAYALAM
5284             0x0D64,   // 0D64..0D65; UNKNOWN
5285             0x0D66,   // 0D66..0D7F; MALAYALAM
5286             0x0D80,   // 0D80..0D81; UNKNOWN
5287             0x0D82,   // 0D82..0D83; SINHALA
5288             0x0D84,   // 0D84      ; UNKNOWN
5289             0x0D85,   // 0D85..0D96; SINHALA
5290             0x0D97,   // 0D97..0D99; UNKNOWN
5291             0x0D9A,   // 0D9A..0DB1; SINHALA
5292             0x0DB2,   // 0DB2      ; UNKNOWN
5293             0x0DB3,   // 0DB3..0DBB; SINHALA
5294             0x0DBC,   // 0DBC      ; UNKNOWN
5295             0x0DBD,   // 0DBD      ; SINHALA
5296             0x0DBE,   // 0DBE..0DBF; UNKNOWN
5297             0x0DC0,   // 0DC0..0DC6; SINHALA
5298             0x0DC7,   // 0DC7..0DC9; UNKNOWN
5299             0x0DCA,   // 0DCA      ; SINHALA
5300             0x0DCB,   // 0DCB..0DCE; UNKNOWN
5301             0x0DCF,   // 0DCF..0DD4; SINHALA
5302             0x0DD5,   // 0DD5      ; UNKNOWN
5303             0x0DD6,   // 0DD6      ; SINHALA
5304             0x0DD7,   // 0DD7      ; UNKNOWN
5305             0x0DD8,   // 0DD8..0DDF; SINHALA
5306             0x0DE0,   // 0DE0..0DE5; UNKNOWN
5307             0x0DE6,   // 0DE6..0DEF; SINHALA


5459             0x19AC,   // 19AC..19AF; UNKNOWN
5460             0x19B0,   // 19B0..19C9; NEW_TAI_LUE
5461             0x19CA,   // 19CA..19CF; UNKNOWN
5462             0x19D0,   // 19D0..19DA; NEW_TAI_LUE
5463             0x19DB,   // 19DB..19DD; UNKNOWN
5464             0x19DE,   // 19DE..19DF; NEW_TAI_LUE
5465             0x19E0,   // 19E0..19FF; KHMER
5466             0x1A00,   // 1A00..1A1B; BUGINESE
5467             0x1A1C,   // 1A1C..1A1D; UNKNOWN
5468             0x1A1E,   // 1A1E..1A1F; BUGINESE
5469             0x1A20,   // 1A20..1A5E; TAI_THAM
5470             0x1A5F,   // 1A5F      ; UNKNOWN
5471             0x1A60,   // 1A60..1A7C; TAI_THAM
5472             0x1A7D,   // 1A7D..1A7E; UNKNOWN
5473             0x1A7F,   // 1A7F..1A89; TAI_THAM
5474             0x1A8A,   // 1A8A..1A8F; UNKNOWN
5475             0x1A90,   // 1A90..1A99; TAI_THAM
5476             0x1A9A,   // 1A9A..1A9F; UNKNOWN
5477             0x1AA0,   // 1AA0..1AAD; TAI_THAM
5478             0x1AAE,   // 1AAE..1AAF; UNKNOWN
5479             0x1AB0,   // 1AB0..1ABE; INHERITED
5480             0x1ABF,   // 1ABF..1AFF; UNKNOWN
5481             0x1B00,   // 1B00..1B4B; BALINESE
5482             0x1B4C,   // 1B4C..1B4F; UNKNOWN
5483             0x1B50,   // 1B50..1B7C; BALINESE
5484             0x1B7D,   // 1B7D..1B7F; UNKNOWN
5485             0x1B80,   // 1B80..1BBF; SUNDANESE
5486             0x1BC0,   // 1BC0..1BF3; BATAK
5487             0x1BF4,   // 1BF4..1BFB; UNKNOWN
5488             0x1BFC,   // 1BFC..1BFF; BATAK
5489             0x1C00,   // 1C00..1C37; LEPCHA
5490             0x1C38,   // 1C38..1C3A; UNKNOWN
5491             0x1C3B,   // 1C3B..1C49; LEPCHA
5492             0x1C4A,   // 1C4A..1C4C; UNKNOWN
5493             0x1C4D,   // 1C4D..1C4F; LEPCHA
5494             0x1C50,   // 1C50..1C7F; OL_CHIKI
5495             0x1C80,   // 1C80..1C88; CYRILLIC
5496             0x1C89,   // 1C89..1C8F; UNKNOWN
5497             0x1C90,   // 1C90..1CBA; GEORGIAN
5498             0x1CBB,   // 1CBB..1CBC; UNKNOWN
5499             0x1CBD,   // 1CBD..1CBF; GEORGIAN
5500             0x1CC0,   // 1CC0..1CC7; SUNDANESE


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


5748             0xAA60,   // AA60..AA7F; MYANMAR
5749             0xAA80,   // AA80..AAC2; TAI_VIET
5750             0xAAC3,   // AAC3..AADA; UNKNOWN
5751             0xAADB,   // AADB..AADF; TAI_VIET
5752             0xAAE0,   // AAE0..AAF6; MEETEI_MAYEK
5753             0xAAF7,   // AAF7..AB00; UNKNOWN
5754             0xAB01,   // AB01..AB06; ETHIOPIC
5755             0xAB07,   // AB07..AB08; UNKNOWN
5756             0xAB09,   // AB09..AB0E; ETHIOPIC
5757             0xAB0F,   // AB0F..AB10; UNKNOWN
5758             0xAB11,   // AB11..AB16; ETHIOPIC
5759             0xAB17,   // AB17..AB1F; UNKNOWN
5760             0xAB20,   // AB20..AB26; ETHIOPIC
5761             0xAB27,   // AB27      ; UNKNOWN
5762             0xAB28,   // AB28..AB2E; ETHIOPIC
5763             0xAB2F,   // AB2F      ; UNKNOWN
5764             0xAB30,   // AB30..AB5A; LATIN
5765             0xAB5B,   // AB5B      ; COMMON
5766             0xAB5C,   // AB5C..AB64; LATIN
5767             0xAB65,   // AB65      ; GREEK
5768             0xAB66,   // AB66..AB67; LATIN
5769             0xAB68,   // AB68..AB6F; UNKNOWN

5770             0xAB70,   // AB70..ABBF; CHEROKEE
5771             0xABC0,   // ABC0..ABED; MEETEI_MAYEK
5772             0xABEE,   // ABEE..ABEF; UNKNOWN
5773             0xABF0,   // ABF0..ABF9; MEETEI_MAYEK
5774             0xABFA,   // ABFA..ABFF; UNKNOWN
5775             0xAC00,   // AC00..D7A3; HANGUL
5776             0xD7A4,   // D7A4..D7AF; UNKNOWN
5777             0xD7B0,   // D7B0..D7C6; HANGUL
5778             0xD7C7,   // D7C7..D7CA; UNKNOWN
5779             0xD7CB,   // D7CB..D7FB; HANGUL
5780             0xD7FC,   // D7FC..F8FF; UNKNOWN
5781             0xF900,   // F900..FA6D; HAN
5782             0xFA6E,   // FA6E..FA6F; UNKNOWN
5783             0xFA70,   // FA70..FAD9; HAN
5784             0xFADA,   // FADA..FAFF; UNKNOWN
5785             0xFB00,   // FB00..FB06; LATIN
5786             0xFB07,   // FB07..FB12; UNKNOWN
5787             0xFB13,   // FB13..FB17; ARMENIAN
5788             0xFB18,   // FB18..FB1C; UNKNOWN
5789             0xFB1D,   // FB1D..FB36; HEBREW


5854             0x1000C,  // 1000C       ; UNKNOWN
5855             0x1000D,  // 1000D..10026; LINEAR_B
5856             0x10027,  // 10027       ; UNKNOWN
5857             0x10028,  // 10028..1003A; LINEAR_B
5858             0x1003B,  // 1003B       ; UNKNOWN
5859             0x1003C,  // 1003C..1003D; LINEAR_B
5860             0x1003E,  // 1003E       ; UNKNOWN
5861             0x1003F,  // 1003F..1004D; LINEAR_B
5862             0x1004E,  // 1004E..1004F; UNKNOWN
5863             0x10050,  // 10050..1005D; LINEAR_B
5864             0x1005E,  // 1005E..1007F; UNKNOWN
5865             0x10080,  // 10080..100FA; LINEAR_B
5866             0x100FB,  // 100FB..100FF; UNKNOWN
5867             0x10100,  // 10100..10102; COMMON
5868             0x10103,  // 10103..10106; UNKNOWN
5869             0x10107,  // 10107..10133; COMMON
5870             0x10134,  // 10134..10136; UNKNOWN
5871             0x10137,  // 10137..1013F; COMMON
5872             0x10140,  // 10140..1018E; GREEK
5873             0x1018F,  // 1018F       ; UNKNOWN
5874             0x10190,  // 10190..1019B; COMMON
5875             0x1019C,  // 1019C..1019F; UNKNOWN
5876             0x101A0,  // 101A0       ; GREEK
5877             0x101A1,  // 101A1..101CF; UNKNOWN
5878             0x101D0,  // 101D0..101FC; COMMON
5879             0x101FD,  // 101FD       ; INHERITED
5880             0x101FE,  // 101FE..1027F; UNKNOWN
5881             0x10280,  // 10280..1029C; LYCIAN
5882             0x1029D,  // 1029D..1029F; UNKNOWN
5883             0x102A0,  // 102A0..102D0; CARIAN
5884             0x102D1,  // 102D1..102DF; UNKNOWN
5885             0x102E0,  // 102E0       ; INHERITED
5886             0x102E1,  // 102E1..102FB; COMMON
5887             0x102FC,  // 102FC..102FF; UNKNOWN
5888             0x10300,  // 10300..10323; OLD_ITALIC
5889             0x10324,  // 10324..1032C; UNKNOWN
5890             0x1032D,  // 1032D..1032F; OLD_ITALIC
5891             0x10330,  // 10330..1034A; GOTHIC
5892             0x1034B,  // 1034B..1034F; UNKNOWN
5893             0x10350,  // 10350..1037A; OLD_PERMIC
5894             0x1037B,  // 1037B..1037F; UNKNOWN
5895             0x10380,  // 10380..1039D; UGARITIC


5991             0x10B73,  // 10B73..10B77; UNKNOWN
5992             0x10B78,  // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5993             0x10B80,  // 10B80..10B91; PSALTER_PAHLAVI
5994             0x10B92,  // 10B92..10B98; UNKNOWN
5995             0x10B99,  // 10B99..10B9C; PSALTER_PAHLAVI
5996             0x10B9D,  // 10B9D..10BA8; UNKNOWN
5997             0x10BA9,  // 10BA9..10BAF; PSALTER_PAHLAVI
5998             0x10BB0,  // 10BB0..10BFF; UNKNOWN
5999             0x10C00,  // 10C00..10C48; OLD_TURKIC
6000             0x10C49,  // 10C49..10C7F; UNKNOWN
6001             0x10C80,  // 10C80..10CB2; OLD_HUNGARIAN
6002             0x10CB3,  // 10CB3..10CBF; UNKNOWN
6003             0x10CC0,  // 10CC0..10CF2; OLD_HUNGARIAN
6004             0x10CF3,  // 10CF3..10CF9; UNKNOWN
6005             0x10CFA,  // 10CFA..10CFF; OLD_HUNGARIAN
6006             0x10D00,  // 10D00..10D27; HANIFI_ROHINGYA
6007             0x10D28,  // 10D28..10D2F; UNKNOWN
6008             0x10D30,  // 10D30..10D39; HANIFI_ROHINGYA
6009             0x10D3A,  // 10D3A..10E5F; UNKNOWN
6010             0x10E60,  // 10E60..10E7E; ARABIC
6011             0x10E7F,  // 10E7F..10EFF; UNKNOWN






6012             0x10F00,  // 10F00..10F27; OLD_SOGDIAN
6013             0x10F28,  // 10F28..10F2F; UNKNOWN
6014             0x10F30,  // 10F30..10F59; SOGDIAN
6015             0x10F5A,  // 10F5A..10FDF; UNKNOWN


6016             0x10FE0,  // 10FE0..10FF6; ELYMAIC
6017             0x10FF7,  // 10FF7..10FFF; UNKNOWN
6018             0x11000,  // 11000..1104D; BRAHMI
6019             0x1104E,  // 1104E..11051; UNKNOWN
6020             0x11052,  // 11052..1106F; BRAHMI
6021             0x11070,  // 11070..1107E; UNKNOWN
6022             0x1107F,  // 1107F       ; BRAHMI
6023             0x11080,  // 11080..110C1; KAITHI
6024             0x110C2,  // 110C2..110CC; UNKNOWN
6025             0x110CD,  // 110CD       ; KAITHI
6026             0x110CE,  // 110CE..110CF; UNKNOWN
6027             0x110D0,  // 110D0..110E8; SORA_SOMPENG
6028             0x110E9,  // 110E9..110EF; UNKNOWN
6029             0x110F0,  // 110F0..110F9; SORA_SOMPENG
6030             0x110FA,  // 110FA..110FF; UNKNOWN
6031             0x11100,  // 11100..11134; CHAKMA
6032             0x11135,  // 11135       ; UNKNOWN
6033             0x11136,  // 11136..11146; CHAKMA
6034             0x11147,  // 11147..1114F; UNKNOWN
6035             0x11150,  // 11150..11176; MAHAJANI
6036             0x11177,  // 11177..1117F; UNKNOWN
6037             0x11180,  // 11180..111CD; SHARADA
6038             0x111CE,  // 111CE..111CF; UNKNOWN
6039             0x111D0,  // 111D0..111DF; SHARADA
6040             0x111E0,  // 111E0       ; UNKNOWN
6041             0x111E1,  // 111E1..111F4; SINHALA
6042             0x111F5,  // 111F5..111FF; UNKNOWN
6043             0x11200,  // 11200..11211; KHOJKI
6044             0x11212,  // 11212       ; UNKNOWN
6045             0x11213,  // 11213..1123E; KHOJKI
6046             0x1123F,  // 1123F..1127F; UNKNOWN
6047             0x11280,  // 11280..11286; MULTANI
6048             0x11287,  // 11287       ; UNKNOWN
6049             0x11288,  // 11288       ; MULTANI
6050             0x11289,  // 11289       ; UNKNOWN
6051             0x1128A,  // 1128A..1128D; MULTANI
6052             0x1128E,  // 1128E       ; UNKNOWN
6053             0x1128F,  // 1128F..1129D; MULTANI
6054             0x1129E,  // 1129E       ; UNKNOWN
6055             0x1129F,  // 1129F..112A9; MULTANI
6056             0x112AA,  // 112AA..112AF; UNKNOWN
6057             0x112B0,  // 112B0..112EA; KHUDAWADI
6058             0x112EB,  // 112EB..112EF; UNKNOWN
6059             0x112F0,  // 112F0..112F9; KHUDAWADI


6072             0x11334,  // 11334       ; UNKNOWN
6073             0x11335,  // 11335..11339; GRANTHA
6074             0x1133A,  // 1133A       ; UNKNOWN
6075             0x1133B,  // 1133B       ; INHERITED
6076             0x1133C,  // 1133C..11344; GRANTHA
6077             0x11345,  // 11345..11346; UNKNOWN
6078             0x11347,  // 11347..11348; GRANTHA
6079             0x11349,  // 11349..1134A; UNKNOWN
6080             0x1134B,  // 1134B..1134D; GRANTHA
6081             0x1134E,  // 1134E..1134F; UNKNOWN
6082             0x11350,  // 11350       ; GRANTHA
6083             0x11351,  // 11351..11356; UNKNOWN
6084             0x11357,  // 11357       ; GRANTHA
6085             0x11358,  // 11358..1135C; UNKNOWN
6086             0x1135D,  // 1135D..11363; GRANTHA
6087             0x11364,  // 11364..11365; UNKNOWN
6088             0x11366,  // 11366..1136C; GRANTHA
6089             0x1136D,  // 1136D..1136F; UNKNOWN
6090             0x11370,  // 11370..11374; GRANTHA
6091             0x11375,  // 11375..113FF; UNKNOWN
6092             0x11400,  // 11400..11459; NEWA
6093             0x1145A,  // 1145A       ; UNKNOWN
6094             0x1145B,  // 1145B       ; NEWA
6095             0x1145C,  // 1145C       ; UNKNOWN
6096             0x1145D,  // 1145D..1145F; NEWA
6097             0x11460,  // 11460..1147F; UNKNOWN
6098             0x11480,  // 11480..114C7; TIRHUTA
6099             0x114C8,  // 114C8..114CF; UNKNOWN
6100             0x114D0,  // 114D0..114D9; TIRHUTA
6101             0x114DA,  // 114DA..1157F; UNKNOWN
6102             0x11580,  // 11580..115B5; SIDDHAM
6103             0x115B6,  // 115B6..115B7; UNKNOWN
6104             0x115B8,  // 115B8..115DD; SIDDHAM
6105             0x115DE,  // 115DE..115FF; UNKNOWN
6106             0x11600,  // 11600..11644; MODI
6107             0x11645,  // 11645..1164F; UNKNOWN
6108             0x11650,  // 11650..11659; MODI
6109             0x1165A,  // 1165A..1165F; UNKNOWN
6110             0x11660,  // 11660..1166C; MONGOLIAN
6111             0x1166D,  // 1166D..1167F; UNKNOWN
6112             0x11680,  // 11680..116B8; TAKRI
6113             0x116B9,  // 116B9..116BF; UNKNOWN
6114             0x116C0,  // 116C0..116C9; TAKRI
6115             0x116CA,  // 116CA..116FF; UNKNOWN
6116             0x11700,  // 11700..1171A; AHOM
6117             0x1171B,  // 1171B..1171C; UNKNOWN
6118             0x1171D,  // 1171D..1172B; AHOM
6119             0x1172C,  // 1172C..1172F; UNKNOWN
6120             0x11730,  // 11730..1173F; AHOM
6121             0x11740,  // 11740..117FF; UNKNOWN
6122             0x11800,  // 11800..1183B; DOGRA
6123             0x1183C,  // 1183C..1189F; UNKNOWN
6124             0x118A0,  // 118A0..118F2; WARANG_CITI
6125             0x118F3,  // 118F3..118FE; UNKNOWN
6126             0x118FF,  // 118FF       ; WARANG_CITI
6127             0x11900,  // 11900..1199F; UNKNOWN















6128             0x119A0,  // 119A0..119A7; NANDINAGARI
6129             0x119A8,  // 119A8..119A9; UNKNOWN
6130             0x119AA,  // 119AA..119D7; NANDINAGARI
6131             0x119D8,  // 119D8..119D9; UNKNOWN
6132             0x119DA,  // 119DA..119E4; NANDINAGARI
6133             0x119E5,  // 119E5..119FF; UNKNOWN
6134             0x11A00,  // 11A00..11A47; ZANABAZAR_SQUARE
6135             0x11A48,  // 11A48..11A4F; UNKNOWN
6136             0x11A50,  // 11A50..11AA2; SOYOMBO
6137             0x11AA3,  // 11AA3..11ABF; UNKNOWN
6138             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
6139             0x11AF9,  // 11AF9..11BFF; UNKNOWN
6140             0x11C00,  // 11C00..11C08; BHAIKSUKI
6141             0x11C09,  // 11C09       ; UNKNOWN
6142             0x11C0A,  // 11C0A..11C36; BHAIKSUKI
6143             0x11C37,  // 11C37       ; UNKNOWN
6144             0x11C38,  // 11C38..11C45; BHAIKSUKI
6145             0x11C46,  // 11C46..11C4F; UNKNOWN
6146             0x11C50,  // 11C50..11C6C; BHAIKSUKI
6147             0x11C6D,  // 11C6D..11C6F; UNKNOWN


6161             0x11D3B,  // 11D3B       ; UNKNOWN
6162             0x11D3C,  // 11D3C..11D3D; MASARAM_GONDI
6163             0x11D3E,  // 11D3E       ; UNKNOWN
6164             0x11D3F,  // 11D3F..11D47; MASARAM_GONDI
6165             0x11D48,  // 11D48..11D4F; UNKNOWN
6166             0x11D50,  // 11D50..11D59; MASARAM_GONDI
6167             0x11D5A,  // 11D5A..11D5F; UNKNOWN
6168             0x11D60,  // 11D60..11D65; GUNJALA_GONDI
6169             0x11D66,  // 11D66       ; UNKNOWN
6170             0x11D67,  // 11D67..11D68; GUNJALA_GONDI
6171             0x11D69,  // 11D69       ; UNKNOWN
6172             0x11D6A,  // 11D6A..11D8E; GUNJALA_GONDI
6173             0x11D8F,  // 11D8F       ; UNKNOWN
6174             0x11D90,  // 11D90..11D91; GUNJALA_GONDI
6175             0x11D92,  // 11D92       ; UNKNOWN
6176             0x11D93,  // 11D93..11D98; GUNJALA_GONDI
6177             0x11D99,  // 11D99..11D9F; UNKNOWN
6178             0x11DA0,  // 11DA0..11DA9; GUNJALA_GONDI
6179             0x11DAA,  // 11DAA..11EDF; UNKNOWN
6180             0x11EE0,  // 11EE0..11EF8; MAKASAR
6181             0x11EF9,  // 11EF9..11FBF; UNKNOWN


6182             0x11FC0,  // 11FC0..11FF1; TAMIL
6183             0x11FF2,  // 11FF2..11FFE; UNKNOWN
6184             0x11FFF,  // 11FFF       ; TAMIL
6185             0x12000,  // 12000..12399; CUNEIFORM
6186             0x1239A,  // 1239A..123FF; UNKNOWN
6187             0x12400,  // 12400..1246E; CUNEIFORM
6188             0x1246F,  // 1246F       ; UNKNOWN
6189             0x12470,  // 12470..12474; CUNEIFORM
6190             0x12475,  // 12475..1247F; UNKNOWN
6191             0x12480,  // 12480..12543; CUNEIFORM
6192             0x12544,  // 12544..12FFF; UNKNOWN
6193             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6194             0x1342F,  // 1342F       ; UNKNOWN
6195             0x13430,  // 13430..13438; EGYPTIAN_HIEROGLYPHS
6196             0x13439,  // 13439..143FF; UNKNOWN
6197             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
6198             0x14647,  // 14647..167FF; UNKNOWN
6199             0x16800,  // 16800..16A38; BAMUM
6200             0x16A39,  // 16A39..16A3F; UNKNOWN
6201             0x16A40,  // 16A40..16A5E; MRO


6212             0x16B46,  // 16B46..16B4F; UNKNOWN
6213             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
6214             0x16B5A,  // 16B5A       ; UNKNOWN
6215             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
6216             0x16B62,  // 16B62       ; UNKNOWN
6217             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
6218             0x16B78,  // 16B78..16B7C; UNKNOWN
6219             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
6220             0x16B90,  // 16B90..16E3F; UNKNOWN
6221             0x16E40,  // 16E40..16E9A; MEDEFAIDRIN
6222             0x16E9B,  // 16E9B..16EFF; UNKNOWN
6223             0x16F00,  // 16F00..16F4A; MIAO
6224             0x16F4B,  // 16F4B..16F4E; UNKNOWN
6225             0x16F4F,  // 16F4F..16F87; MIAO
6226             0x16F88,  // 16F88..16F8E; UNKNOWN
6227             0x16F8F,  // 16F8F..16F9F; MIAO
6228             0x16FA0,  // 16FA0..16FDF; UNKNOWN
6229             0x16FE0,  // 16FE0       ; TANGUT
6230             0x16FE1,  // 16FE1       ; NUSHU
6231             0x16FE2,  // 16FE2..16FE3; COMMON
6232             0x16FE4,  // 16FE4..16FFF; UNKNOWN



6233             0x17000,  // 17000..187F7; TANGUT
6234             0x187F8,  // 187F8..187FF; UNKNOWN
6235             0x18800,  // 18800..18AF2; TANGUT
6236             0x18AF3,  // 18AF3..1AFFF; UNKNOWN



6237             0x1B000,  // 1B000       ; KATAKANA
6238             0x1B001,  // 1B001..1B11E; HIRAGANA
6239             0x1B11F,  // 1B11F..1B14F; UNKNOWN
6240             0x1B150,  // 1B150..1B152; HIRAGANA
6241             0x1B153,  // 1B153..1B163; UNKNOWN
6242             0x1B164,  // 1B164..1B167; KATAKANA
6243             0x1B168,  // 1B168..1B16F; UNKNOWN
6244             0x1B170,  // 1B170..1B2FB; NUSHU
6245             0x1B2FC,  // 1B2FC..1BBFF; UNKNOWN
6246             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
6247             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
6248             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
6249             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
6250             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
6251             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
6252             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
6253             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
6254             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
6255             0x1BCA0,  // 1BCA0..1BCA3; COMMON
6256             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN


6422             0x1EEA1,  // 1EEA1..1EEA3; ARABIC
6423             0x1EEA4,  // 1EEA4       ; UNKNOWN
6424             0x1EEA5,  // 1EEA5..1EEA9; ARABIC
6425             0x1EEAA,  // 1EEAA       ; UNKNOWN
6426             0x1EEAB,  // 1EEAB..1EEBB; ARABIC
6427             0x1EEBC,  // 1EEBC..1EEEF; UNKNOWN
6428             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
6429             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
6430             0x1F000,  // 1F000..1F02B; COMMON
6431             0x1F02C,  // 1F02C..1F02F; UNKNOWN
6432             0x1F030,  // 1F030..1F093; COMMON
6433             0x1F094,  // 1F094..1F09F; UNKNOWN
6434             0x1F0A0,  // 1F0A0..1F0AE; COMMON
6435             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
6436             0x1F0B1,  // 1F0B1..1F0BF; COMMON
6437             0x1F0C0,  // 1F0C0       ; UNKNOWN
6438             0x1F0C1,  // 1F0C1..1F0CF; COMMON
6439             0x1F0D0,  // 1F0D0       ; UNKNOWN
6440             0x1F0D1,  // 1F0D1..1F0F5; COMMON
6441             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
6442             0x1F100,  // 1F100..1F10C; COMMON
6443             0x1F10D,  // 1F10D..1F10F; UNKNOWN
6444             0x1F110,  // 1F110..1F16C; COMMON
6445             0x1F16D,  // 1F16D..1F16F; UNKNOWN
6446             0x1F170,  // 1F170..1F1AC; COMMON
6447             0x1F1AD,  // 1F1AD..1F1E5; UNKNOWN
6448             0x1F1E6,  // 1F1E6..1F1FF; COMMON
6449             0x1F200,  // 1F200       ; HIRAGANA
6450             0x1F201,  // 1F201..1F202; COMMON
6451             0x1F203,  // 1F203..1F20F; UNKNOWN
6452             0x1F210,  // 1F210..1F23B; COMMON
6453             0x1F23C,  // 1F23C..1F23F; UNKNOWN
6454             0x1F240,  // 1F240..1F248; COMMON
6455             0x1F249,  // 1F249..1F24F; UNKNOWN
6456             0x1F250,  // 1F250..1F251; COMMON
6457             0x1F252,  // 1F252..1F25F; UNKNOWN
6458             0x1F260,  // 1F260..1F265; COMMON
6459             0x1F266,  // 1F266..1F2FF; UNKNOWN
6460             0x1F300,  // 1F300..1F6D5; COMMON
6461             0x1F6D6,  // 1F6D6..1F6DF; UNKNOWN
6462             0x1F6E0,  // 1F6E0..1F6EC; COMMON
6463             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
6464             0x1F6F0,  // 1F6F0..1F6FA; COMMON
6465             0x1F6FB,  // 1F6FB..1F6FF; UNKNOWN
6466             0x1F700,  // 1F700..1F773; COMMON
6467             0x1F774,  // 1F774..1F77F; UNKNOWN
6468             0x1F780,  // 1F780..1F7D8; COMMON
6469             0x1F7D9,  // 1F7D9..1F7DF; UNKNOWN
6470             0x1F7E0,  // 1F7E0..1F7EB; COMMON
6471             0x1F7EC,  // 1F7EC..1F7FF; UNKNOWN
6472             0x1F800,  // 1F800..1F80B; COMMON
6473             0x1F80C,  // 1F80C..1F80F; UNKNOWN
6474             0x1F810,  // 1F810..1F847; COMMON
6475             0x1F848,  // 1F848..1F84F; UNKNOWN
6476             0x1F850,  // 1F850..1F859; COMMON
6477             0x1F85A,  // 1F85A..1F85F; UNKNOWN
6478             0x1F860,  // 1F860..1F887; COMMON
6479             0x1F888,  // 1F888..1F88F; UNKNOWN
6480             0x1F890,  // 1F890..1F8AD; COMMON
6481             0x1F8AE,  // 1F8AE..1F8FF; UNKNOWN
6482             0x1F900,  // 1F900..1F90B; COMMON
6483             0x1F90C,  // 1F90C       ; UNKNOWN
6484             0x1F90D,  // 1F90D..1F971; COMMON
6485             0x1F972,  // 1F972       ; UNKNOWN
6486             0x1F973,  // 1F973..1F976; COMMON
6487             0x1F977,  // 1F977..1F979; UNKNOWN
6488             0x1F97A,  // 1F97A..1F9A2; COMMON
6489             0x1F9A3,  // 1F9A3..1F9A4; UNKNOWN
6490             0x1F9A5,  // 1F9A5..1F9AA; COMMON
6491             0x1F9AB,  // 1F9AB..1F9AD; UNKNOWN
6492             0x1F9AE,  // 1F9AE..1F9CA; COMMON
6493             0x1F9CB,  // 1F9CB..1F9CC; UNKNOWN
6494             0x1F9CD,  // 1F9CD..1FA53; COMMON
6495             0x1FA54,  // 1FA54..1FA5F; UNKNOWN
6496             0x1FA60,  // 1FA60..1FA6D; COMMON
6497             0x1FA6E,  // 1FA6E..1FA6F; UNKNOWN
6498             0x1FA70,  // 1FA70..1FA73; COMMON
6499             0x1FA74,  // 1FA74..1FA77; UNKNOWN
6500             0x1FA78,  // 1FA78..1FA7A; COMMON
6501             0x1FA7B,  // 1FA7B..1FA7F; UNKNOWN
6502             0x1FA80,  // 1FA80..1FA82; COMMON
6503             0x1FA83,  // 1FA83..1FA8F; UNKNOWN
6504             0x1FA90,  // 1FA90..1FA95; COMMON
6505             0x1FA96,  // 1FA96..1FFFF; UNKNOWN
6506             0x20000,  // 20000..2A6D6; HAN
6507             0x2A6D7,  // 2A6D7..2A6FF; UNKNOWN












6508             0x2A700,  // 2A700..2B734; HAN
6509             0x2B735,  // 2B735..2B73F; UNKNOWN
6510             0x2B740,  // 2B740..2B81D; HAN
6511             0x2B81E,  // 2B81E..2B81F; UNKNOWN
6512             0x2B820,  // 2B820..2CEA1; HAN
6513             0x2CEA2,  // 2CEA2..2CEAF; UNKNOWN
6514             0x2CEB0,  // 2CEB0..2EBE0; HAN
6515             0x2EBE1,  // 2EBE1..2F7FF; UNKNOWN
6516             0x2F800,  // 2F800..2FA1D; HAN
6517             0x2FA1E,  // 2FA1E..E0000; UNKNOWN


6518             0xE0001,  // E0001       ; COMMON
6519             0xE0002,  // E0002..E001F; UNKNOWN
6520             0xE0020,  // E0020..E007F; COMMON
6521             0xE0080,  // E0080..E00FF; UNKNOWN
6522             0xE0100,  // E0100..E01EF; INHERITED
6523             0xE01F0,  // E01F0..10FFFF; UNKNOWN
6524         };
6525 
6526         private static final UnicodeScript[] scripts = {
6527             COMMON,                   // 0000..0040
6528             LATIN,                    // 0041..005A
6529             COMMON,                   // 005B..0060
6530             LATIN,                    // 0061..007A
6531             COMMON,                   // 007B..00A9
6532             LATIN,                    // 00AA
6533             COMMON,                   // 00AB..00B9
6534             LATIN,                    // 00BA
6535             COMMON,                   // 00BB..00BF
6536             LATIN,                    // 00C0..00D6
6537             COMMON,                   // 00D7


6554             UNKNOWN,                  // 0380..0383
6555             GREEK,                    // 0384
6556             COMMON,                   // 0385
6557             GREEK,                    // 0386
6558             COMMON,                   // 0387
6559             GREEK,                    // 0388..038A
6560             UNKNOWN,                  // 038B
6561             GREEK,                    // 038C
6562             UNKNOWN,                  // 038D
6563             GREEK,                    // 038E..03A1
6564             UNKNOWN,                  // 03A2
6565             GREEK,                    // 03A3..03E1
6566             COPTIC,                   // 03E2..03EF
6567             GREEK,                    // 03F0..03FF
6568             CYRILLIC,                 // 0400..0484
6569             INHERITED,                // 0485..0486
6570             CYRILLIC,                 // 0487..052F
6571             UNKNOWN,                  // 0530
6572             ARMENIAN,                 // 0531..0556
6573             UNKNOWN,                  // 0557..0558
6574             ARMENIAN,                 // 0559..0588
6575             COMMON,                   // 0589
6576             ARMENIAN,                 // 058A
6577             UNKNOWN,                  // 058B..058C
6578             ARMENIAN,                 // 058D..058F
6579             UNKNOWN,                  // 0590
6580             HEBREW,                   // 0591..05C7
6581             UNKNOWN,                  // 05C8..05CF
6582             HEBREW,                   // 05D0..05EA
6583             UNKNOWN,                  // 05EB..05EE
6584             HEBREW,                   // 05EF..05F4
6585             UNKNOWN,                  // 05F5..05FF
6586             ARABIC,                   // 0600..0604
6587             COMMON,                   // 0605
6588             ARABIC,                   // 0606..060B
6589             COMMON,                   // 060C
6590             ARABIC,                   // 060D..061A
6591             COMMON,                   // 061B
6592             ARABIC,                   // 061C
6593             UNKNOWN,                  // 061D
6594             ARABIC,                   // 061E
6595             COMMON,                   // 061F
6596             ARABIC,                   // 0620..063F


6608             UNKNOWN,                  // 074B..074C
6609             SYRIAC,                   // 074D..074F
6610             ARABIC,                   // 0750..077F
6611             THAANA,                   // 0780..07B1
6612             UNKNOWN,                  // 07B2..07BF
6613             NKO,                      // 07C0..07FA
6614             UNKNOWN,                  // 07FB..07FC
6615             NKO,                      // 07FD..07FF
6616             SAMARITAN,                // 0800..082D
6617             UNKNOWN,                  // 082E..082F
6618             SAMARITAN,                // 0830..083E
6619             UNKNOWN,                  // 083F
6620             MANDAIC,                  // 0840..085B
6621             UNKNOWN,                  // 085C..085D
6622             MANDAIC,                  // 085E
6623             UNKNOWN,                  // 085F
6624             SYRIAC,                   // 0860..086A
6625             UNKNOWN,                  // 086B..089F
6626             ARABIC,                   // 08A0..08B4
6627             UNKNOWN,                  // 08B5
6628             ARABIC,                   // 08B6..08BD
6629             UNKNOWN,                  // 08BE..08D2
6630             ARABIC,                   // 08D3..08E1
6631             COMMON,                   // 08E2
6632             ARABIC,                   // 08E3..08FF
6633             DEVANAGARI,               // 0900..0950
6634             INHERITED,                // 0951..0954
6635             DEVANAGARI,               // 0955..0963
6636             COMMON,                   // 0964..0965
6637             DEVANAGARI,               // 0966..097F
6638             BENGALI,                  // 0980..0983
6639             UNKNOWN,                  // 0984
6640             BENGALI,                  // 0985..098C
6641             UNKNOWN,                  // 098D..098E
6642             BENGALI,                  // 098F..0990
6643             UNKNOWN,                  // 0991..0992
6644             BENGALI,                  // 0993..09A8
6645             UNKNOWN,                  // 09A9
6646             BENGALI,                  // 09AA..09B0
6647             UNKNOWN,                  // 09B1
6648             BENGALI,                  // 09B2
6649             UNKNOWN,                  // 09B3..09B5


6725             UNKNOWN,                  // 0B00
6726             ORIYA,                    // 0B01..0B03
6727             UNKNOWN,                  // 0B04
6728             ORIYA,                    // 0B05..0B0C
6729             UNKNOWN,                  // 0B0D..0B0E
6730             ORIYA,                    // 0B0F..0B10
6731             UNKNOWN,                  // 0B11..0B12
6732             ORIYA,                    // 0B13..0B28
6733             UNKNOWN,                  // 0B29
6734             ORIYA,                    // 0B2A..0B30
6735             UNKNOWN,                  // 0B31
6736             ORIYA,                    // 0B32..0B33
6737             UNKNOWN,                  // 0B34
6738             ORIYA,                    // 0B35..0B39
6739             UNKNOWN,                  // 0B3A..0B3B
6740             ORIYA,                    // 0B3C..0B44
6741             UNKNOWN,                  // 0B45..0B46
6742             ORIYA,                    // 0B47..0B48
6743             UNKNOWN,                  // 0B49..0B4A
6744             ORIYA,                    // 0B4B..0B4D
6745             UNKNOWN,                  // 0B4E..0B55
6746             ORIYA,                    // 0B56..0B57
6747             UNKNOWN,                  // 0B58..0B5B
6748             ORIYA,                    // 0B5C..0B5D
6749             UNKNOWN,                  // 0B5E
6750             ORIYA,                    // 0B5F..0B63
6751             UNKNOWN,                  // 0B64..0B65
6752             ORIYA,                    // 0B66..0B77
6753             UNKNOWN,                  // 0B78..0B81
6754             TAMIL,                    // 0B82..0B83
6755             UNKNOWN,                  // 0B84
6756             TAMIL,                    // 0B85..0B8A
6757             UNKNOWN,                  // 0B8B..0B8D
6758             TAMIL,                    // 0B8E..0B90
6759             UNKNOWN,                  // 0B91
6760             TAMIL,                    // 0B92..0B95
6761             UNKNOWN,                  // 0B96..0B98
6762             TAMIL,                    // 0B99..0B9A
6763             UNKNOWN,                  // 0B9B
6764             TAMIL,                    // 0B9C
6765             UNKNOWN,                  // 0B9D
6766             TAMIL,                    // 0B9E..0B9F


6815             KANNADA,                  // 0CAA..0CB3
6816             UNKNOWN,                  // 0CB4
6817             KANNADA,                  // 0CB5..0CB9
6818             UNKNOWN,                  // 0CBA..0CBB
6819             KANNADA,                  // 0CBC..0CC4
6820             UNKNOWN,                  // 0CC5
6821             KANNADA,                  // 0CC6..0CC8
6822             UNKNOWN,                  // 0CC9
6823             KANNADA,                  // 0CCA..0CCD
6824             UNKNOWN,                  // 0CCE..0CD4
6825             KANNADA,                  // 0CD5..0CD6
6826             UNKNOWN,                  // 0CD7..0CDD
6827             KANNADA,                  // 0CDE
6828             UNKNOWN,                  // 0CDF
6829             KANNADA,                  // 0CE0..0CE3
6830             UNKNOWN,                  // 0CE4..0CE5
6831             KANNADA,                  // 0CE6..0CEF
6832             UNKNOWN,                  // 0CF0
6833             KANNADA,                  // 0CF1..0CF2
6834             UNKNOWN,                  // 0CF3..0CFF
6835             MALAYALAM,                // 0D00..0D03
6836             UNKNOWN,                  // 0D04
6837             MALAYALAM,                // 0D05..0D0C
6838             UNKNOWN,                  // 0D0D
6839             MALAYALAM,                // 0D0E..0D10
6840             UNKNOWN,                  // 0D11
6841             MALAYALAM,                // 0D12..0D44
6842             UNKNOWN,                  // 0D45
6843             MALAYALAM,                // 0D46..0D48
6844             UNKNOWN,                  // 0D49
6845             MALAYALAM,                // 0D4A..0D4F
6846             UNKNOWN,                  // 0D50..0D53
6847             MALAYALAM,                // 0D54..0D63
6848             UNKNOWN,                  // 0D64..0D65
6849             MALAYALAM,                // 0D66..0D7F
6850             UNKNOWN,                  // 0D80..0D81
6851             SINHALA,                  // 0D82..0D83
6852             UNKNOWN,                  // 0D84
6853             SINHALA,                  // 0D85..0D96
6854             UNKNOWN,                  // 0D97..0D99
6855             SINHALA,                  // 0D9A..0DB1
6856             UNKNOWN,                  // 0DB2
6857             SINHALA,                  // 0DB3..0DBB
6858             UNKNOWN,                  // 0DBC
6859             SINHALA,                  // 0DBD
6860             UNKNOWN,                  // 0DBE..0DBF
6861             SINHALA,                  // 0DC0..0DC6
6862             UNKNOWN,                  // 0DC7..0DC9
6863             SINHALA,                  // 0DCA
6864             UNKNOWN,                  // 0DCB..0DCE
6865             SINHALA,                  // 0DCF..0DD4
6866             UNKNOWN,                  // 0DD5
6867             SINHALA,                  // 0DD6
6868             UNKNOWN,                  // 0DD7
6869             SINHALA,                  // 0DD8..0DDF
6870             UNKNOWN,                  // 0DE0..0DE5
6871             SINHALA,                  // 0DE6..0DEF


7023             UNKNOWN,                  // 19AC..19AF
7024             NEW_TAI_LUE,              // 19B0..19C9
7025             UNKNOWN,                  // 19CA..19CF
7026             NEW_TAI_LUE,              // 19D0..19DA
7027             UNKNOWN,                  // 19DB..19DD
7028             NEW_TAI_LUE,              // 19DE..19DF
7029             KHMER,                    // 19E0..19FF
7030             BUGINESE,                 // 1A00..1A1B
7031             UNKNOWN,                  // 1A1C..1A1D
7032             BUGINESE,                 // 1A1E..1A1F
7033             TAI_THAM,                 // 1A20..1A5E
7034             UNKNOWN,                  // 1A5F
7035             TAI_THAM,                 // 1A60..1A7C
7036             UNKNOWN,                  // 1A7D..1A7E
7037             TAI_THAM,                 // 1A7F..1A89
7038             UNKNOWN,                  // 1A8A..1A8F
7039             TAI_THAM,                 // 1A90..1A99
7040             UNKNOWN,                  // 1A9A..1A9F
7041             TAI_THAM,                 // 1AA0..1AAD
7042             UNKNOWN,                  // 1AAE..1AAF
7043             INHERITED,                // 1AB0..1ABE
7044             UNKNOWN,                  // 1ABF..1AFF
7045             BALINESE,                 // 1B00..1B4B
7046             UNKNOWN,                  // 1B4C..1B4F
7047             BALINESE,                 // 1B50..1B7C
7048             UNKNOWN,                  // 1B7D..1B7F
7049             SUNDANESE,                // 1B80..1BBF
7050             BATAK,                    // 1BC0..1BF3
7051             UNKNOWN,                  // 1BF4..1BFB
7052             BATAK,                    // 1BFC..1BFF
7053             LEPCHA,                   // 1C00..1C37
7054             UNKNOWN,                  // 1C38..1C3A
7055             LEPCHA,                   // 1C3B..1C49
7056             UNKNOWN,                  // 1C4A..1C4C
7057             LEPCHA,                   // 1C4D..1C4F
7058             OL_CHIKI,                 // 1C50..1C7F
7059             CYRILLIC,                 // 1C80..1C88
7060             UNKNOWN,                  // 1C89..1C8F
7061             GEORGIAN,                 // 1C90..1CBA
7062             UNKNOWN,                  // 1CBB..1CBC
7063             GEORGIAN,                 // 1CBD..1CBF
7064             SUNDANESE,                // 1CC0..1CC7


7144             GREEK,                    // 2126
7145             COMMON,                   // 2127..2129
7146             LATIN,                    // 212A..212B
7147             COMMON,                   // 212C..2131
7148             LATIN,                    // 2132
7149             COMMON,                   // 2133..214D
7150             LATIN,                    // 214E
7151             COMMON,                   // 214F..215F
7152             LATIN,                    // 2160..2188
7153             COMMON,                   // 2189..218B
7154             UNKNOWN,                  // 218C..218F
7155             COMMON,                   // 2190..2426
7156             UNKNOWN,                  // 2427..243F
7157             COMMON,                   // 2440..244A
7158             UNKNOWN,                  // 244B..245F
7159             COMMON,                   // 2460..27FF
7160             BRAILLE,                  // 2800..28FF
7161             COMMON,                   // 2900..2B73
7162             UNKNOWN,                  // 2B74..2B75
7163             COMMON,                   // 2B76..2B95
7164             UNKNOWN,                  // 2B96..2B97
7165             COMMON,                   // 2B98..2BFF
7166             GLAGOLITIC,               // 2C00..2C2E
7167             UNKNOWN,                  // 2C2F
7168             GLAGOLITIC,               // 2C30..2C5E
7169             UNKNOWN,                  // 2C5F
7170             LATIN,                    // 2C60..2C7F
7171             COPTIC,                   // 2C80..2CF3
7172             UNKNOWN,                  // 2CF4..2CF8
7173             COPTIC,                   // 2CF9..2CFF
7174             GEORGIAN,                 // 2D00..2D25
7175             UNKNOWN,                  // 2D26
7176             GEORGIAN,                 // 2D27
7177             UNKNOWN,                  // 2D28..2D2C
7178             GEORGIAN,                 // 2D2D
7179             UNKNOWN,                  // 2D2E..2D2F
7180             TIFINAGH,                 // 2D30..2D67
7181             UNKNOWN,                  // 2D68..2D6E
7182             TIFINAGH,                 // 2D6F..2D70
7183             UNKNOWN,                  // 2D71..2D7E
7184             TIFINAGH,                 // 2D7F
7185             ETHIOPIC,                 // 2D80..2D96
7186             UNKNOWN,                  // 2D97..2D9F
7187             ETHIOPIC,                 // 2DA0..2DA6
7188             UNKNOWN,                  // 2DA7
7189             ETHIOPIC,                 // 2DA8..2DAE
7190             UNKNOWN,                  // 2DAF
7191             ETHIOPIC,                 // 2DB0..2DB6
7192             UNKNOWN,                  // 2DB7
7193             ETHIOPIC,                 // 2DB8..2DBE
7194             UNKNOWN,                  // 2DBF
7195             ETHIOPIC,                 // 2DC0..2DC6
7196             UNKNOWN,                  // 2DC7
7197             ETHIOPIC,                 // 2DC8..2DCE
7198             UNKNOWN,                  // 2DCF
7199             ETHIOPIC,                 // 2DD0..2DD6
7200             UNKNOWN,                  // 2DD7
7201             ETHIOPIC,                 // 2DD8..2DDE
7202             UNKNOWN,                  // 2DDF
7203             CYRILLIC,                 // 2DE0..2DFF
7204             COMMON,                   // 2E00..2E4F
7205             UNKNOWN,                  // 2E50..2E7F
7206             HAN,                      // 2E80..2E99
7207             UNKNOWN,                  // 2E9A
7208             HAN,                      // 2E9B..2EF3
7209             UNKNOWN,                  // 2EF4..2EFF
7210             HAN,                      // 2F00..2FD5
7211             UNKNOWN,                  // 2FD6..2FEF
7212             COMMON,                   // 2FF0..2FFB
7213             UNKNOWN,                  // 2FFC..2FFF
7214             COMMON,                   // 3000..3004
7215             HAN,                      // 3005
7216             COMMON,                   // 3006
7217             HAN,                      // 3007
7218             COMMON,                   // 3008..3020
7219             HAN,                      // 3021..3029
7220             INHERITED,                // 302A..302D
7221             HANGUL,                   // 302E..302F
7222             COMMON,                   // 3030..3037
7223             HAN,                      // 3038..303B
7224             COMMON,                   // 303C..303F
7225             UNKNOWN,                  // 3040
7226             HIRAGANA,                 // 3041..3096
7227             UNKNOWN,                  // 3097..3098
7228             INHERITED,                // 3099..309A
7229             COMMON,                   // 309B..309C
7230             HIRAGANA,                 // 309D..309F
7231             COMMON,                   // 30A0
7232             KATAKANA,                 // 30A1..30FA
7233             COMMON,                   // 30FB..30FC
7234             KATAKANA,                 // 30FD..30FF
7235             UNKNOWN,                  // 3100..3104
7236             BOPOMOFO,                 // 3105..312F
7237             UNKNOWN,                  // 3130
7238             HANGUL,                   // 3131..318E
7239             UNKNOWN,                  // 318F
7240             COMMON,                   // 3190..319F
7241             BOPOMOFO,                 // 31A0..31BA
7242             UNKNOWN,                  // 31BB..31BF
7243             COMMON,                   // 31C0..31E3
7244             UNKNOWN,                  // 31E4..31EF
7245             KATAKANA,                 // 31F0..31FF
7246             HANGUL,                   // 3200..321E
7247             UNKNOWN,                  // 321F
7248             COMMON,                   // 3220..325F
7249             HANGUL,                   // 3260..327E
7250             COMMON,                   // 327F..32CF
7251             KATAKANA,                 // 32D0..32FE
7252             COMMON,                   // 32FF
7253             KATAKANA,                 // 3300..3357
7254             COMMON,                   // 3358..33FF
7255             HAN,                      // 3400..4DB5
7256             UNKNOWN,                  // 4DB6..4DBF
7257             COMMON,                   // 4DC0..4DFF
7258             HAN,                      // 4E00..9FEF
7259             UNKNOWN,                  // 9FF0..9FFF
7260             YI,                       // A000..A48C
7261             UNKNOWN,                  // A48D..A48F
7262             YI,                       // A490..A4C6
7263             UNKNOWN,                  // A4C7..A4CF
7264             LISU,                     // A4D0..A4FF
7265             VAI,                      // A500..A62B
7266             UNKNOWN,                  // A62C..A63F
7267             CYRILLIC,                 // A640..A69F
7268             BAMUM,                    // A6A0..A6F7
7269             UNKNOWN,                  // A6F8..A6FF
7270             COMMON,                   // A700..A721
7271             LATIN,                    // A722..A787
7272             COMMON,                   // A788..A78A
7273             LATIN,                    // A78B..A7BF
7274             UNKNOWN,                  // A7C0..A7C1
7275             LATIN,                    // A7C2..A7C6
7276             UNKNOWN,                  // A7C7..A7F6
7277             LATIN,                    // A7F7..A7FF
7278             SYLOTI_NAGRI,             // A800..A82B
7279             UNKNOWN,                  // A82C..A82F
7280             COMMON,                   // A830..A839
7281             UNKNOWN,                  // A83A..A83F
7282             PHAGS_PA,                 // A840..A877
7283             UNKNOWN,                  // A878..A87F
7284             SAURASHTRA,               // A880..A8C5
7285             UNKNOWN,                  // A8C6..A8CD
7286             SAURASHTRA,               // A8CE..A8D9
7287             UNKNOWN,                  // A8DA..A8DF
7288             DEVANAGARI,               // A8E0..A8FF
7289             KAYAH_LI,                 // A900..A92D
7290             COMMON,                   // A92E
7291             KAYAH_LI,                 // A92F
7292             REJANG,                   // A930..A953
7293             UNKNOWN,                  // A954..A95E
7294             REJANG,                   // A95F
7295             HANGUL,                   // A960..A97C
7296             UNKNOWN,                  // A97D..A97F
7297             JAVANESE,                 // A980..A9CD
7298             UNKNOWN,                  // A9CE
7299             COMMON,                   // A9CF


7312             MYANMAR,                  // AA60..AA7F
7313             TAI_VIET,                 // AA80..AAC2
7314             UNKNOWN,                  // AAC3..AADA
7315             TAI_VIET,                 // AADB..AADF
7316             MEETEI_MAYEK,             // AAE0..AAF6
7317             UNKNOWN,                  // AAF7..AB00
7318             ETHIOPIC,                 // AB01..AB06
7319             UNKNOWN,                  // AB07..AB08
7320             ETHIOPIC,                 // AB09..AB0E
7321             UNKNOWN,                  // AB0F..AB10
7322             ETHIOPIC,                 // AB11..AB16
7323             UNKNOWN,                  // AB17..AB1F
7324             ETHIOPIC,                 // AB20..AB26
7325             UNKNOWN,                  // AB27
7326             ETHIOPIC,                 // AB28..AB2E
7327             UNKNOWN,                  // AB2F
7328             LATIN,                    // AB30..AB5A
7329             COMMON,                   // AB5B
7330             LATIN,                    // AB5C..AB64
7331             GREEK,                    // AB65
7332             LATIN,                    // AB66..AB67
7333             UNKNOWN,                  // AB68..AB6F

7334             CHEROKEE,                 // AB70..ABBF
7335             MEETEI_MAYEK,             // ABC0..ABED
7336             UNKNOWN,                  // ABEE..ABEF
7337             MEETEI_MAYEK,             // ABF0..ABF9
7338             UNKNOWN,                  // ABFA..ABFF
7339             HANGUL,                   // AC00..D7A3
7340             UNKNOWN,                  // D7A4..D7AF
7341             HANGUL,                   // D7B0..D7C6
7342             UNKNOWN,                  // D7C7..D7CA
7343             HANGUL,                   // D7CB..D7FB
7344             UNKNOWN,                  // D7FC..F8FF
7345             HAN,                      // F900..FA6D
7346             UNKNOWN,                  // FA6E..FA6F
7347             HAN,                      // FA70..FAD9
7348             UNKNOWN,                  // FADA..FAFF
7349             LATIN,                    // FB00..FB06
7350             UNKNOWN,                  // FB07..FB12
7351             ARMENIAN,                 // FB13..FB17
7352             UNKNOWN,                  // FB18..FB1C
7353             HEBREW,                   // FB1D..FB36


7418             UNKNOWN,                  // 1000C
7419             LINEAR_B,                 // 1000D..10026
7420             UNKNOWN,                  // 10027
7421             LINEAR_B,                 // 10028..1003A
7422             UNKNOWN,                  // 1003B
7423             LINEAR_B,                 // 1003C..1003D
7424             UNKNOWN,                  // 1003E
7425             LINEAR_B,                 // 1003F..1004D
7426             UNKNOWN,                  // 1004E..1004F
7427             LINEAR_B,                 // 10050..1005D
7428             UNKNOWN,                  // 1005E..1007F
7429             LINEAR_B,                 // 10080..100FA
7430             UNKNOWN,                  // 100FB..100FF
7431             COMMON,                   // 10100..10102
7432             UNKNOWN,                  // 10103..10106
7433             COMMON,                   // 10107..10133
7434             UNKNOWN,                  // 10134..10136
7435             COMMON,                   // 10137..1013F
7436             GREEK,                    // 10140..1018E
7437             UNKNOWN,                  // 1018F
7438             COMMON,                   // 10190..1019B
7439             UNKNOWN,                  // 1019C..1019F
7440             GREEK,                    // 101A0
7441             UNKNOWN,                  // 101A1..101CF
7442             COMMON,                   // 101D0..101FC
7443             INHERITED,                // 101FD
7444             UNKNOWN,                  // 101FE..1027F
7445             LYCIAN,                   // 10280..1029C
7446             UNKNOWN,                  // 1029D..1029F
7447             CARIAN,                   // 102A0..102D0
7448             UNKNOWN,                  // 102D1..102DF
7449             INHERITED,                // 102E0
7450             COMMON,                   // 102E1..102FB
7451             UNKNOWN,                  // 102FC..102FF
7452             OLD_ITALIC,               // 10300..10323
7453             UNKNOWN,                  // 10324..1032C
7454             OLD_ITALIC,               // 1032D..1032F
7455             GOTHIC,                   // 10330..1034A
7456             UNKNOWN,                  // 1034B..1034F
7457             OLD_PERMIC,               // 10350..1037A
7458             UNKNOWN,                  // 1037B..1037F
7459             UGARITIC,                 // 10380..1039D


7555             UNKNOWN,                  // 10B73..10B77
7556             INSCRIPTIONAL_PAHLAVI,    // 10B78..10B7F
7557             PSALTER_PAHLAVI,          // 10B80..10B91
7558             UNKNOWN,                  // 10B92..10B98
7559             PSALTER_PAHLAVI,          // 10B99..10B9C
7560             UNKNOWN,                  // 10B9D..10BA8
7561             PSALTER_PAHLAVI,          // 10BA9..10BAF
7562             UNKNOWN,                  // 10BB0..10BFF
7563             OLD_TURKIC,               // 10C00..10C48
7564             UNKNOWN,                  // 10C49..10C7F
7565             OLD_HUNGARIAN,            // 10C80..10CB2
7566             UNKNOWN,                  // 10CB3..10CBF
7567             OLD_HUNGARIAN,            // 10CC0..10CF2
7568             UNKNOWN,                  // 10CF3..10CF9
7569             OLD_HUNGARIAN,            // 10CFA..10CFF
7570             HANIFI_ROHINGYA,          // 10D00..10D27
7571             UNKNOWN,                  // 10D28..10D2F
7572             HANIFI_ROHINGYA,          // 10D30..10D39
7573             UNKNOWN,                  // 10D3A..10E5F
7574             ARABIC,                   // 10E60..10E7E
7575             UNKNOWN,                  // 10E7F..10EFF






7576             OLD_SOGDIAN,              // 10F00..10F27
7577             UNKNOWN,                  // 10F28..10F2F
7578             SOGDIAN,                  // 10F30..10F59
7579             UNKNOWN,                  // 10F5A..10FDF


7580             ELYMAIC,                  // 10FE0..10FF6
7581             UNKNOWN,                  // 10FF7..10FFF
7582             BRAHMI,                   // 11000..1104D
7583             UNKNOWN,                  // 1104E..11051
7584             BRAHMI,                   // 11052..1106F
7585             UNKNOWN,                  // 11070..1107E
7586             BRAHMI,                   // 1107F
7587             KAITHI,                   // 11080..110C1
7588             UNKNOWN,                  // 110C2..110CC
7589             KAITHI,                   // 110CD
7590             UNKNOWN,                  // 110CE..110CF
7591             SORA_SOMPENG,             // 110D0..110E8
7592             UNKNOWN,                  // 110E9..110EF
7593             SORA_SOMPENG,             // 110F0..110F9
7594             UNKNOWN,                  // 110FA..110FF
7595             CHAKMA,                   // 11100..11134
7596             UNKNOWN,                  // 11135
7597             CHAKMA,                   // 11136..11146
7598             UNKNOWN,                  // 11147..1114F
7599             MAHAJANI,                 // 11150..11176
7600             UNKNOWN,                  // 11177..1117F
7601             SHARADA,                  // 11180..111CD
7602             UNKNOWN,                  // 111CE..111CF
7603             SHARADA,                  // 111D0..111DF
7604             UNKNOWN,                  // 111E0
7605             SINHALA,                  // 111E1..111F4
7606             UNKNOWN,                  // 111F5..111FF
7607             KHOJKI,                   // 11200..11211
7608             UNKNOWN,                  // 11212
7609             KHOJKI,                   // 11213..1123E
7610             UNKNOWN,                  // 1123F..1127F
7611             MULTANI,                  // 11280..11286
7612             UNKNOWN,                  // 11287
7613             MULTANI,                  // 11288
7614             UNKNOWN,                  // 11289
7615             MULTANI,                  // 1128A..1128D
7616             UNKNOWN,                  // 1128E
7617             MULTANI,                  // 1128F..1129D
7618             UNKNOWN,                  // 1129E
7619             MULTANI,                  // 1129F..112A9
7620             UNKNOWN,                  // 112AA..112AF
7621             KHUDAWADI,                // 112B0..112EA
7622             UNKNOWN,                  // 112EB..112EF
7623             KHUDAWADI,                // 112F0..112F9


7636             UNKNOWN,                  // 11334
7637             GRANTHA,                  // 11335..11339
7638             UNKNOWN,                  // 1133A
7639             INHERITED,                // 1133B
7640             GRANTHA,                  // 1133C..11344
7641             UNKNOWN,                  // 11345..11346
7642             GRANTHA,                  // 11347..11348
7643             UNKNOWN,                  // 11349..1134A
7644             GRANTHA,                  // 1134B..1134D
7645             UNKNOWN,                  // 1134E..1134F
7646             GRANTHA,                  // 11350
7647             UNKNOWN,                  // 11351..11356
7648             GRANTHA,                  // 11357
7649             UNKNOWN,                  // 11358..1135C
7650             GRANTHA,                  // 1135D..11363
7651             UNKNOWN,                  // 11364..11365
7652             GRANTHA,                  // 11366..1136C
7653             UNKNOWN,                  // 1136D..1136F
7654             GRANTHA,                  // 11370..11374
7655             UNKNOWN,                  // 11375..113FF
7656             NEWA,                     // 11400..11459
7657             UNKNOWN,                  // 1145A
7658             NEWA,                     // 1145B
7659             UNKNOWN,                  // 1145C
7660             NEWA,                     // 1145D..1145F
7661             UNKNOWN,                  // 11460..1147F
7662             TIRHUTA,                  // 11480..114C7
7663             UNKNOWN,                  // 114C8..114CF
7664             TIRHUTA,                  // 114D0..114D9
7665             UNKNOWN,                  // 114DA..1157F
7666             SIDDHAM,                  // 11580..115B5
7667             UNKNOWN,                  // 115B6..115B7
7668             SIDDHAM,                  // 115B8..115DD
7669             UNKNOWN,                  // 115DE..115FF
7670             MODI,                     // 11600..11644
7671             UNKNOWN,                  // 11645..1164F
7672             MODI,                     // 11650..11659
7673             UNKNOWN,                  // 1165A..1165F
7674             MONGOLIAN,                // 11660..1166C
7675             UNKNOWN,                  // 1166D..1167F
7676             TAKRI,                    // 11680..116B8
7677             UNKNOWN,                  // 116B9..116BF
7678             TAKRI,                    // 116C0..116C9
7679             UNKNOWN,                  // 116CA..116FF
7680             AHOM,                     // 11700..1171A
7681             UNKNOWN,                  // 1171B..1171C
7682             AHOM,                     // 1171D..1172B
7683             UNKNOWN,                  // 1172C..1172F
7684             AHOM,                     // 11730..1173F
7685             UNKNOWN,                  // 11740..117FF
7686             DOGRA,                    // 11800..1183B
7687             UNKNOWN,                  // 1183C..1189F
7688             WARANG_CITI,              // 118A0..118F2
7689             UNKNOWN,                  // 118F3..118FE
7690             WARANG_CITI,              // 118FF
7691             UNKNOWN,                  // 11900..1199F















7692             NANDINAGARI,              // 119A0..119A7
7693             UNKNOWN,                  // 119A8..119A9
7694             NANDINAGARI,              // 119AA..119D7
7695             UNKNOWN,                  // 119D8..119D9
7696             NANDINAGARI,              // 119DA..119E4
7697             UNKNOWN,                  // 119E5..119FF
7698             ZANABAZAR_SQUARE,         // 11A00..11A47
7699             UNKNOWN,                  // 11A48..11A4F
7700             SOYOMBO,                  // 11A50..11AA2
7701             UNKNOWN,                  // 11AA3..11ABF
7702             PAU_CIN_HAU,              // 11AC0..11AF8
7703             UNKNOWN,                  // 11AF9..11BFF
7704             BHAIKSUKI,                // 11C00..11C08
7705             UNKNOWN,                  // 11C09
7706             BHAIKSUKI,                // 11C0A..11C36
7707             UNKNOWN,                  // 11C37
7708             BHAIKSUKI,                // 11C38..11C45
7709             UNKNOWN,                  // 11C46..11C4F
7710             BHAIKSUKI,                // 11C50..11C6C
7711             UNKNOWN,                  // 11C6D..11C6F


7725             UNKNOWN,                  // 11D3B
7726             MASARAM_GONDI,            // 11D3C..11D3D
7727             UNKNOWN,                  // 11D3E
7728             MASARAM_GONDI,            // 11D3F..11D47
7729             UNKNOWN,                  // 11D48..11D4F
7730             MASARAM_GONDI,            // 11D50..11D59
7731             UNKNOWN,                  // 11D5A..11D5F
7732             GUNJALA_GONDI,            // 11D60..11D65
7733             UNKNOWN,                  // 11D66
7734             GUNJALA_GONDI,            // 11D67..11D68
7735             UNKNOWN,                  // 11D69
7736             GUNJALA_GONDI,            // 11D6A..11D8E
7737             UNKNOWN,                  // 11D8F
7738             GUNJALA_GONDI,            // 11D90..11D91
7739             UNKNOWN,                  // 11D92
7740             GUNJALA_GONDI,            // 11D93..11D98
7741             UNKNOWN,                  // 11D99..11D9F
7742             GUNJALA_GONDI,            // 11DA0..11DA9
7743             UNKNOWN,                  // 11DAA..11EDF
7744             MAKASAR,                  // 11EE0..11EF8
7745             UNKNOWN,                  // 11EF9..11FBF


7746             TAMIL,                    // 11FC0..11FF1
7747             UNKNOWN,                  // 11FF2..11FFE
7748             TAMIL,                    // 11FFF
7749             CUNEIFORM,                // 12000..12399
7750             UNKNOWN,                  // 1239A..123FF
7751             CUNEIFORM,                // 12400..1246E
7752             UNKNOWN,                  // 1246F
7753             CUNEIFORM,                // 12470..12474
7754             UNKNOWN,                  // 12475..1247F
7755             CUNEIFORM,                // 12480..12543
7756             UNKNOWN,                  // 12544..12FFF
7757             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
7758             UNKNOWN,                  // 1342F
7759             EGYPTIAN_HIEROGLYPHS,     // 13430..13438
7760             UNKNOWN,                  // 13439..143FF
7761             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
7762             UNKNOWN,                  // 14647..167FF
7763             BAMUM,                    // 16800..16A38
7764             UNKNOWN,                  // 16A39..16A3F
7765             MRO,                      // 16A40..16A5E


7776             UNKNOWN,                  // 16B46..16B4F
7777             PAHAWH_HMONG,             // 16B50..16B59
7778             UNKNOWN,                  // 16B5A
7779             PAHAWH_HMONG,             // 16B5B..16B61
7780             UNKNOWN,                  // 16B62
7781             PAHAWH_HMONG,             // 16B63..16B77
7782             UNKNOWN,                  // 16B78..16B7C
7783             PAHAWH_HMONG,             // 16B7D..16B8F
7784             UNKNOWN,                  // 16B90..16E3F
7785             MEDEFAIDRIN,              // 16E40..16E9A
7786             UNKNOWN,                  // 16E9B..16EFF
7787             MIAO,                     // 16F00..16F4A
7788             UNKNOWN,                  // 16F4B..16F4E
7789             MIAO,                     // 16F4F..16F87
7790             UNKNOWN,                  // 16F88..16F8E
7791             MIAO,                     // 16F8F..16F9F
7792             UNKNOWN,                  // 16FA0..16FDF
7793             TANGUT,                   // 16FE0
7794             NUSHU,                    // 16FE1
7795             COMMON,                   // 16FE2..16FE3
7796             UNKNOWN,                  // 16FE4..16FFF



7797             TANGUT,                   // 17000..187F7
7798             UNKNOWN,                  // 187F8..187FF
7799             TANGUT,                   // 18800..18AF2
7800             UNKNOWN,                  // 18AF3..1AFFF



7801             KATAKANA,                 // 1B000
7802             HIRAGANA,                 // 1B001..1B11E
7803             UNKNOWN,                  // 1B11F..1B14F
7804             HIRAGANA,                 // 1B150..1B152
7805             UNKNOWN,                  // 1B153..1B163
7806             KATAKANA,                 // 1B164..1B167
7807             UNKNOWN,                  // 1B168..1B16F
7808             NUSHU,                    // 1B170..1B2FB
7809             UNKNOWN,                  // 1B2FC..1BBFF
7810             DUPLOYAN,                 // 1BC00..1BC6A
7811             UNKNOWN,                  // 1BC6B..1BC6F
7812             DUPLOYAN,                 // 1BC70..1BC7C
7813             UNKNOWN,                  // 1BC7D..1BC7F
7814             DUPLOYAN,                 // 1BC80..1BC88
7815             UNKNOWN,                  // 1BC89..1BC8F
7816             DUPLOYAN,                 // 1BC90..1BC99
7817             UNKNOWN,                  // 1BC9A..1BC9B
7818             DUPLOYAN,                 // 1BC9C..1BC9F
7819             COMMON,                   // 1BCA0..1BCA3
7820             UNKNOWN,                  // 1BCA4..1CFFF


7986             ARABIC,                   // 1EEA1..1EEA3
7987             UNKNOWN,                  // 1EEA4
7988             ARABIC,                   // 1EEA5..1EEA9
7989             UNKNOWN,                  // 1EEAA
7990             ARABIC,                   // 1EEAB..1EEBB
7991             UNKNOWN,                  // 1EEBC..1EEEF
7992             ARABIC,                   // 1EEF0..1EEF1
7993             UNKNOWN,                  // 1EEF2..1EFFF
7994             COMMON,                   // 1F000..1F02B
7995             UNKNOWN,                  // 1F02C..1F02F
7996             COMMON,                   // 1F030..1F093
7997             UNKNOWN,                  // 1F094..1F09F
7998             COMMON,                   // 1F0A0..1F0AE
7999             UNKNOWN,                  // 1F0AF..1F0B0
8000             COMMON,                   // 1F0B1..1F0BF
8001             UNKNOWN,                  // 1F0C0
8002             COMMON,                   // 1F0C1..1F0CF
8003             UNKNOWN,                  // 1F0D0
8004             COMMON,                   // 1F0D1..1F0F5
8005             UNKNOWN,                  // 1F0F6..1F0FF
8006             COMMON,                   // 1F100..1F10C
8007             UNKNOWN,                  // 1F10D..1F10F
8008             COMMON,                   // 1F110..1F16C
8009             UNKNOWN,                  // 1F16D..1F16F
8010             COMMON,                   // 1F170..1F1AC
8011             UNKNOWN,                  // 1F1AD..1F1E5
8012             COMMON,                   // 1F1E6..1F1FF
8013             HIRAGANA,                 // 1F200
8014             COMMON,                   // 1F201..1F202
8015             UNKNOWN,                  // 1F203..1F20F
8016             COMMON,                   // 1F210..1F23B
8017             UNKNOWN,                  // 1F23C..1F23F
8018             COMMON,                   // 1F240..1F248
8019             UNKNOWN,                  // 1F249..1F24F
8020             COMMON,                   // 1F250..1F251
8021             UNKNOWN,                  // 1F252..1F25F
8022             COMMON,                   // 1F260..1F265
8023             UNKNOWN,                  // 1F266..1F2FF
8024             COMMON,                   // 1F300..1F6D5
8025             UNKNOWN,                  // 1F6D6..1F6DF
8026             COMMON,                   // 1F6E0..1F6EC
8027             UNKNOWN,                  // 1F6ED..1F6EF
8028             COMMON,                   // 1F6F0..1F6FA
8029             UNKNOWN,                  // 1F6FB..1F6FF
8030             COMMON,                   // 1F700..1F773
8031             UNKNOWN,                  // 1F774..1F77F
8032             COMMON,                   // 1F780..1F7D8
8033             UNKNOWN,                  // 1F7D9..1F7DF
8034             COMMON,                   // 1F7E0..1F7EB
8035             UNKNOWN,                  // 1F7EC..1F7FF
8036             COMMON,                   // 1F800..1F80B
8037             UNKNOWN,                  // 1F80C..1F80F
8038             COMMON,                   // 1F810..1F847
8039             UNKNOWN,                  // 1F848..1F84F
8040             COMMON,                   // 1F850..1F859
8041             UNKNOWN,                  // 1F85A..1F85F
8042             COMMON,                   // 1F860..1F887
8043             UNKNOWN,                  // 1F888..1F88F
8044             COMMON,                   // 1F890..1F8AD
8045             UNKNOWN,                  // 1F8AE..1F8FF
8046             COMMON,                   // 1F900..1F90B
8047             UNKNOWN,                  // 1F90C
8048             COMMON,                   // 1F90D..1F971
8049             UNKNOWN,                  // 1F972
8050             COMMON,                   // 1F973..1F976
8051             UNKNOWN,                  // 1F977..1F979
8052             COMMON,                   // 1F97A..1F9A2
8053             UNKNOWN,                  // 1F9A3..1F9A4
8054             COMMON,                   // 1F9A5..1F9AA
8055             UNKNOWN,                  // 1F9AB..1F9AD
8056             COMMON,                   // 1F9AE..1F9CA
8057             UNKNOWN,                  // 1F9CB..1F9CC
8058             COMMON,                   // 1F9CD..1FA53
8059             UNKNOWN,                  // 1FA54..1FA5F
8060             COMMON,                   // 1FA60..1FA6D
8061             UNKNOWN,                  // 1FA6E..1FA6F
8062             COMMON,                   // 1FA70..1FA73
8063             UNKNOWN,                  // 1FA74..1FA77
8064             COMMON,                   // 1FA78..1FA7A
8065             UNKNOWN,                  // 1FA7B..1FA7F
8066             COMMON,                   // 1FA80..1FA82
8067             UNKNOWN,                  // 1FA83..1FA8F
8068             COMMON,                   // 1FA90..1FA95
8069             UNKNOWN,                  // 1FA96..1FFFF
8070             HAN,                      // 20000..2A6D6
8071             UNKNOWN,                  // 2A6D7..2A6FF












8072             HAN,                      // 2A700..2B734
8073             UNKNOWN,                  // 2B735..2B73F
8074             HAN,                      // 2B740..2B81D
8075             UNKNOWN,                  // 2B81E..2B81F
8076             HAN,                      // 2B820..2CEA1
8077             UNKNOWN,                  // 2CEA2..2CEAF
8078             HAN,                      // 2CEB0..2EBE0
8079             UNKNOWN,                  // 2EBE1..2F7FF
8080             HAN,                      // 2F800..2FA1D
8081             UNKNOWN,                  // 2FA1E..E0000


8082             COMMON,                   // E0001
8083             UNKNOWN,                  // E0002..E001F
8084             COMMON,                   // E0020..E007F
8085             UNKNOWN,                  // E0080..E00FF
8086             INHERITED,                // E0100..E01EF
8087             UNKNOWN,                  // E01F0..10FFFF
8088         };
8089 
8090         private static final HashMap<String, Character.UnicodeScript> aliases;
8091         static {
8092             aliases = new HashMap<>((int)(153 / 0.75f + 1.0f));
8093             aliases.put("ADLM", ADLAM);
8094             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8095             aliases.put("AHOM", AHOM);
8096             aliases.put("ARAB", ARABIC);
8097             aliases.put("ARMI", IMPERIAL_ARAMAIC);
8098             aliases.put("ARMN", ARMENIAN);
8099             aliases.put("AVST", AVESTAN);
8100             aliases.put("BALI", BALINESE);
8101             aliases.put("BAMU", BAMUM);
8102             aliases.put("BASS", BASSA_VAH);
8103             aliases.put("BATK", BATAK);
8104             aliases.put("BENG", BENGALI);
8105             aliases.put("BHKS", BHAIKSUKI);
8106             aliases.put("BOPO", BOPOMOFO);
8107             aliases.put("BRAH", BRAHMI);
8108             aliases.put("BRAI", BRAILLE);
8109             aliases.put("BUGI", BUGINESE);
8110             aliases.put("BUHD", BUHID);
8111             aliases.put("CAKM", CHAKMA);
8112             aliases.put("CANS", CANADIAN_ABORIGINAL);
8113             aliases.put("CARI", CARIAN);
8114             aliases.put("CHAM", CHAM);
8115             aliases.put("CHER", CHEROKEE);

8116             aliases.put("COPT", COPTIC);
8117             aliases.put("CPRT", CYPRIOT);
8118             aliases.put("CYRL", CYRILLIC);
8119             aliases.put("DEVA", DEVANAGARI);

8120             aliases.put("DOGR", DOGRA);
8121             aliases.put("DSRT", DESERET);
8122             aliases.put("DUPL", DUPLOYAN);
8123             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8124             aliases.put("ELBA", ELBASAN);
8125             aliases.put("ELYM", ELYMAIC);
8126             aliases.put("ETHI", ETHIOPIC);
8127             aliases.put("GEOR", GEORGIAN);
8128             aliases.put("GLAG", GLAGOLITIC);
8129             aliases.put("GONM", MASARAM_GONDI);
8130             aliases.put("GOTH", GOTHIC);
8131             aliases.put("GONG", GUNJALA_GONDI);
8132             aliases.put("GRAN", GRANTHA);
8133             aliases.put("GREK", GREEK);
8134             aliases.put("GUJR", GUJARATI);
8135             aliases.put("GURU", GURMUKHI);
8136             aliases.put("HANG", HANGUL);
8137             aliases.put("HANI", HAN);
8138             aliases.put("HANO", HANUNOO);
8139             aliases.put("HATR", HATRAN);
8140             aliases.put("HEBR", HEBREW);
8141             aliases.put("HIRA", HIRAGANA);
8142             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8143             aliases.put("HMNG", PAHAWH_HMONG);
8144             aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8145             // it appears we don't have the KATAKANA_OR_HIRAGANA
8146             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8147             aliases.put("HUNG", OLD_HUNGARIAN);
8148             aliases.put("ITAL", OLD_ITALIC);
8149             aliases.put("JAVA", JAVANESE);
8150             aliases.put("KALI", KAYAH_LI);
8151             aliases.put("KANA", KATAKANA);
8152             aliases.put("KHAR", KHAROSHTHI);
8153             aliases.put("KHMR", KHMER);
8154             aliases.put("KHOJ", KHOJKI);

8155             aliases.put("KNDA", KANNADA);
8156             aliases.put("KTHI", KAITHI);
8157             aliases.put("LANA", TAI_THAM);
8158             aliases.put("LAOO", LAO);
8159             aliases.put("LATN", LATIN);
8160             aliases.put("LEPC", LEPCHA);
8161             aliases.put("LIMB", LIMBU);
8162             aliases.put("LINA", LINEAR_A);
8163             aliases.put("LINB", LINEAR_B);
8164             aliases.put("LISU", LISU);
8165             aliases.put("LYCI", LYCIAN);
8166             aliases.put("LYDI", LYDIAN);
8167             aliases.put("MAHJ", MAHAJANI);
8168             aliases.put("MAKA", MAKASAR);
8169             aliases.put("MARC", MARCHEN);
8170             aliases.put("MAND", MANDAIC);
8171             aliases.put("MANI", MANICHAEAN);
8172             aliases.put("MEDF", MEDEFAIDRIN);
8173             aliases.put("MEND", MENDE_KIKAKUI);
8174             aliases.put("MERC", MEROITIC_CURSIVE);


8224             aliases.put("TAKR", TAKRI);
8225             aliases.put("TALE", TAI_LE);
8226             aliases.put("TALU", NEW_TAI_LUE);
8227             aliases.put("TAML", TAMIL);
8228             aliases.put("TANG", TANGUT);
8229             aliases.put("TAVT", TAI_VIET);
8230             aliases.put("TELU", TELUGU);
8231             aliases.put("TFNG", TIFINAGH);
8232             aliases.put("TGLG", TAGALOG);
8233             aliases.put("THAA", THAANA);
8234             aliases.put("THAI", THAI);
8235             aliases.put("TIBT", TIBETAN);
8236             aliases.put("TIRH", TIRHUTA);
8237             aliases.put("UGAR", UGARITIC);
8238             aliases.put("VAII", VAI);
8239             aliases.put("WARA", WARANG_CITI);
8240             aliases.put("WCHO", WANCHO);
8241             aliases.put("XPEO", OLD_PERSIAN);
8242             aliases.put("XSUX", CUNEIFORM);
8243             aliases.put("YIII", YI);

8244             aliases.put("ZANB", ZANABAZAR_SQUARE);
8245             aliases.put("ZINH", INHERITED);
8246             aliases.put("ZYYY", COMMON);
8247             aliases.put("ZZZZ", UNKNOWN);
8248         }
8249 
8250         /**
8251          * Returns the enum constant representing the Unicode script of which
8252          * the given character (Unicode code point) is assigned to.
8253          *
8254          * @param   codePoint the character (Unicode code point) in question.
8255          * @return  The {@code UnicodeScript} constant representing the
8256          *          Unicode script of which this character is assigned to.
8257          *
8258          * @throws  IllegalArgumentException if the specified
8259          * {@code codePoint} is an invalid Unicode code point.
8260          * @see Character#isValidCodePoint(int)
8261          *
8262          */
8263         public static UnicodeScript of(int codePoint) {




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


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


3287         /**
3288          * Constant for the "Ottoman Siyaq Numbers" Unicode
3289          * character block.
3290          * @since 13
3291          */
3292         public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3293             new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3294                              "OTTOMAN SIYAQ NUMBERS",
3295                              "OTTOMANSIYAQNUMBERS");
3296 
3297         /**
3298          * Constant for the "Symbols and Pictographs Extended-A" Unicode
3299          * character block.
3300          * @since 13
3301          */
3302         public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3303             new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3304                              "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3305                              "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3306 
3307         /**
3308          * Constant for the "Yezidi" Unicode
3309          * character block.
3310          * @since 15
3311          */
3312         public static final UnicodeBlock YEZIDI =
3313             new UnicodeBlock("YEZIDI");
3314 
3315         /**
3316          * Constant for the "Chorasmian" Unicode
3317          * character block.
3318          * @since 15
3319          */
3320         public static final UnicodeBlock CHORASMIAN =
3321             new UnicodeBlock("CHORASMIAN");
3322 
3323         /**
3324          * Constant for the "Dives Akuru" Unicode
3325          * character block.
3326          * @since 15
3327          */
3328         public static final UnicodeBlock DIVES_AKURU =
3329             new UnicodeBlock("DIVES_AKURU",
3330                              "DIVES AKURU",
3331                              "DIVESAKURU");
3332 
3333         /**
3334          * Constant for the "Lisu Supplement" Unicode
3335          * character block.
3336          * @since 15
3337          */
3338         public static final UnicodeBlock LISU_SUPPLEMENT =
3339             new UnicodeBlock("LISU_SUPPLEMENT",
3340                              "LISU SUPPLEMENT",
3341                              "LISUSUPPLEMENT");
3342 
3343         /**
3344          * Constant for the "Khitan Small Script" Unicode
3345          * character block.
3346          * @since 15
3347          */
3348         public static final UnicodeBlock KHITAN_SMALL_SCRIPT =
3349             new UnicodeBlock("KHITAN_SMALL_SCRIPT",
3350                              "KHITAN SMALL SCRIPT",
3351                              "KHITANSMALLSCRIPT");
3352 
3353         /**
3354          * Constant for the "Tangut Supplement" Unicode
3355          * character block.
3356          * @since 15
3357          */
3358         public static final UnicodeBlock TANGUT_SUPPLEMENT =
3359             new UnicodeBlock("TANGUT_SUPPLEMENT",
3360                              "TANGUT SUPPLEMENT",
3361                              "TANGUTSUPPLEMENT");
3362 
3363         /**
3364          * Constant for the "Symbols for Legacy Computing" Unicode
3365          * character block.
3366          * @since 15
3367          */
3368         public static final UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING =
3369             new UnicodeBlock("SYMBOLS_FOR_LEGACY_COMPUTING",
3370                              "SYMBOLS FOR LEGACY COMPUTING",
3371                              "SYMBOLSFORLEGACYCOMPUTING");
3372 
3373         /**
3374          * Constant for the "CJK Unified Ideographs Extension G" Unicode
3375          * character block.
3376          * @since 15
3377          */
3378         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G =
3379             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G",
3380                              "CJK UNIFIED IDEOGRAPHS EXTENSION G",
3381                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONG");
3382 
3383         private static final int[] blockStarts = {
3384             0x0000,   // 0000..007F; Basic Latin
3385             0x0080,   // 0080..00FF; Latin-1 Supplement
3386             0x0100,   // 0100..017F; Latin Extended-A
3387             0x0180,   // 0180..024F; Latin Extended-B
3388             0x0250,   // 0250..02AF; IPA Extensions
3389             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
3390             0x0300,   // 0300..036F; Combining Diacritical Marks
3391             0x0370,   // 0370..03FF; Greek and Coptic
3392             0x0400,   // 0400..04FF; Cyrillic
3393             0x0500,   // 0500..052F; Cyrillic Supplement
3394             0x0530,   // 0530..058F; Armenian
3395             0x0590,   // 0590..05FF; Hebrew
3396             0x0600,   // 0600..06FF; Arabic
3397             0x0700,   // 0700..074F; Syriac
3398             0x0750,   // 0750..077F; Arabic Supplement
3399             0x0780,   // 0780..07BF; Thaana
3400             0x07C0,   // 07C0..07FF; NKo
3401             0x0800,   // 0800..083F; Samaritan
3402             0x0840,   // 0840..085F; Mandaic


3581             0x10920,  // 10920..1093F; Lydian
3582             0x10940,  //               unassigned
3583             0x10980,  // 10980..1099F; Meroitic Hieroglyphs
3584             0x109A0,  // 109A0..109FF; Meroitic Cursive
3585             0x10A00,  // 10A00..10A5F; Kharoshthi
3586             0x10A60,  // 10A60..10A7F; Old South Arabian
3587             0x10A80,  // 10A80..10A9F; Old North Arabian
3588             0x10AA0,  //               unassigned
3589             0x10AC0,  // 10AC0..10AFF; Manichaean
3590             0x10B00,  // 10B00..10B3F; Avestan
3591             0x10B40,  // 10B40..10B5F; Inscriptional Parthian
3592             0x10B60,  // 10B60..10B7F; Inscriptional Pahlavi
3593             0x10B80,  // 10B80..10BAF; Psalter Pahlavi
3594             0x10BB0,  //               unassigned
3595             0x10C00,  // 10C00..10C4F; Old Turkic
3596             0x10C50,  //               unassigned
3597             0x10C80,  // 10C80..10CFF; Old Hungarian
3598             0x10D00,  // 10D00..10D3F; Hanifi Rohingya
3599             0x10D40,  //               unassigned
3600             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3601             0x10E80,  // 10E80..10EBF; Yezidi
3602             0x10EC0,  //               unassigned
3603             0x10F00,  // 10F00..10F2F; Old Sogdian
3604             0x10F30,  // 10F30..10F6F; Sogdian
3605             0x10F70,  //               unassigned
3606             0x10FB0,  // 10FB0..10FDF; Chorasmian
3607             0x10FE0,  // 10FE0..10FFF; Elymaic
3608             0x11000,  // 11000..1107F; Brahmi
3609             0x11080,  // 11080..110CF; Kaithi
3610             0x110D0,  // 110D0..110FF; Sora Sompeng
3611             0x11100,  // 11100..1114F; Chakma
3612             0x11150,  // 11150..1117F; Mahajani
3613             0x11180,  // 11180..111DF; Sharada
3614             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3615             0x11200,  // 11200..1124F; Khojki
3616             0x11250,  //               unassigned
3617             0x11280,  // 11280..112AF; Multani
3618             0x112B0,  // 112B0..112FF; Khudawadi
3619             0x11300,  // 11300..1137F; Grantha
3620             0x11380,  //               unassigned
3621             0x11400,  // 11400..1147F; Newa
3622             0x11480,  // 11480..114DF; Tirhuta
3623             0x114E0,  //               unassigned
3624             0x11580,  // 11580..115FF; Siddham
3625             0x11600,  // 11600..1165F; Modi
3626             0x11660,  // 11660..1167F; Mongolian Supplement
3627             0x11680,  // 11680..116CF; Takri
3628             0x116D0,  //               unassigned
3629             0x11700,  // 11700..1173F; Ahom
3630             0x11740,  //               unassigned
3631             0x11800,  // 11800..1184F; Dogra
3632             0x11850,  //               unassigned
3633             0x118A0,  // 118A0..118FF; Warang Citi
3634             0x11900,  // 11900..1195F; Dives Akuru
3635             0x11960,  //               unassigned
3636             0x119A0,  // 119A0..119FF; Nandinagari
3637             0x11A00,  // 11A00..11A4F; Zanabazar Square
3638             0x11A50,  // 11A50..11AAF; Soyombo
3639             0x11AB0,  //               unassigned
3640             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3641             0x11B00,  //               unassigned
3642             0x11C00,  // 11C00..11C6F; Bhaiksuki
3643             0x11C70,  // 11C70..11CBF; Marchen
3644             0x11CC0,  //               unassigned
3645             0x11D00,  // 11D00..11D5F; Masaram Gondi
3646             0x11D60,  // 11D60..11DAF; Gunjala Gondi
3647             0x11DB0,  //               unassigned
3648             0x11EE0,  // 11EE0..11EFF; Makasar
3649             0x11F00,  //               unassigned
3650             0x11FB0,  // 11FB0..11FBF; Lisu Supplement
3651             0x11FC0,  // 11FC0..11FFF; Tamil Supplement
3652             0x12000,  // 12000..123FF; Cuneiform
3653             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3654             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3655             0x12550,  //               unassigned
3656             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3657             0x13430,  // 13430..1343F; Egyptian Hieroglyph Format Controls
3658             0x13440,  //               unassigned
3659             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3660             0x14680,  //               unassigned
3661             0x16800,  // 16800..16A3F; Bamum Supplement
3662             0x16A40,  // 16A40..16A6F; Mro
3663             0x16A70,  //               unassigned
3664             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3665             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3666             0x16B90,  //               unassigned
3667             0x16E40,  // 16E40..16E9F; Medefaidrin
3668             0x16EA0,  //               unassigned
3669             0x16F00,  // 16F00..16F9F; Miao
3670             0x16FA0,  //               unassigned
3671             0x16FE0,  // 16FE0..16FFF; Ideographic Symbols and Punctuation
3672             0x17000,  // 17000..187FF; Tangut
3673             0x18800,  // 18800..18AFF; Tangut Components
3674             0x18B00,  // 18B00..18CFF; Khitan Small Script
3675             0x18D00,  // 18D00..18D8F; Tangut Supplement
3676             0x18D90,  //               unassigned
3677             0x1B000,  // 1B000..1B0FF; Kana Supplement
3678             0x1B100,  // 1B100..1B12F; Kana Extended-A
3679             0x1B130,  // 1B130..1B16F; Small Kana Extension
3680             0x1B170,  // 1B170..1B2FF; Nushu
3681             0x1B300,  //               unassigned
3682             0x1BC00,  // 1BC00..1BC9F; Duployan
3683             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3684             0x1BCB0,  //               unassigned
3685             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3686             0x1D100,  // 1D100..1D1FF; Musical Symbols
3687             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3688             0x1D250,  //               unassigned
3689             0x1D2E0,  // 1D2E0..1D2FF; Mayan Numerals
3690             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3691             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3692             0x1D380,  //               unassigned
3693             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3694             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3695             0x1DAB0,  //               unassigned
3696             0x1E000,  // 1E000..1E02F; Glagolitic Supplement


3707             0x1ECC0,  //               unassigned
3708             0x1ED00,  // 1ED00..1ED4F; Ottoman Siyaq Numbers
3709             0x1ED50,  //               unassigned
3710             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3711             0x1EF00,  //               unassigned
3712             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3713             0x1F030,  // 1F030..1F09F; Domino Tiles
3714             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3715             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3716             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3717             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3718             0x1F600,  // 1F600..1F64F; Emoticons
3719             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3720             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3721             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3722             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3723             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3724             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3725             0x1FA00,  // 1FA00..1FA6F; Chess Symbols
3726             0x1FA70,  // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3727             0x1FB00,  // 1FB00..1FBFF; Symbols for Legacy Computing
3728             0x1FC00,  //               unassigned
3729             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3730             0x2A6E0,  //               unassigned
3731             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3732             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3733             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3734             0x2CEB0,  // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3735             0x2EBF0,  //               unassigned
3736             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3737             0x2FA20,  //               unassigned
3738             0x30000,  // 30000..3134F; CJK Unified Ideographs Extension G
3739             0x31350,  //               unassigned
3740             0xE0000,  // E0000..E007F; Tags
3741             0xE0080,  //               unassigned
3742             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3743             0xE01F0,  //               unassigned
3744             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3745             0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3746         };
3747 
3748         private static final UnicodeBlock[] blocks = {
3749             BASIC_LATIN,
3750             LATIN_1_SUPPLEMENT,
3751             LATIN_EXTENDED_A,
3752             LATIN_EXTENDED_B,
3753             IPA_EXTENSIONS,
3754             SPACING_MODIFIER_LETTERS,
3755             COMBINING_DIACRITICAL_MARKS,
3756             GREEK,
3757             CYRILLIC,
3758             CYRILLIC_SUPPLEMENTARY,
3759             ARMENIAN,


3946             LYDIAN,
3947             null,
3948             MEROITIC_HIEROGLYPHS,
3949             MEROITIC_CURSIVE,
3950             KHAROSHTHI,
3951             OLD_SOUTH_ARABIAN,
3952             OLD_NORTH_ARABIAN,
3953             null,
3954             MANICHAEAN,
3955             AVESTAN,
3956             INSCRIPTIONAL_PARTHIAN,
3957             INSCRIPTIONAL_PAHLAVI,
3958             PSALTER_PAHLAVI,
3959             null,
3960             OLD_TURKIC,
3961             null,
3962             OLD_HUNGARIAN,
3963             HANIFI_ROHINGYA,
3964             null,
3965             RUMI_NUMERAL_SYMBOLS,
3966             YEZIDI,
3967             null,
3968             OLD_SOGDIAN,
3969             SOGDIAN,
3970             null,
3971             CHORASMIAN,
3972             ELYMAIC,
3973             BRAHMI,
3974             KAITHI,
3975             SORA_SOMPENG,
3976             CHAKMA,
3977             MAHAJANI,
3978             SHARADA,
3979             SINHALA_ARCHAIC_NUMBERS,
3980             KHOJKI,
3981             null,
3982             MULTANI,
3983             KHUDAWADI,
3984             GRANTHA,
3985             null,
3986             NEWA,
3987             TIRHUTA,
3988             null,
3989             SIDDHAM,
3990             MODI,
3991             MONGOLIAN_SUPPLEMENT,
3992             TAKRI,
3993             null,
3994             AHOM,
3995             null,
3996             DOGRA,
3997             null,
3998             WARANG_CITI,
3999             DIVES_AKURU,
4000             null,
4001             NANDINAGARI,
4002             ZANABAZAR_SQUARE,
4003             SOYOMBO,
4004             null,
4005             PAU_CIN_HAU,
4006             null,
4007             BHAIKSUKI,
4008             MARCHEN,
4009             null,
4010             MASARAM_GONDI,
4011             GUNJALA_GONDI,
4012             null,
4013             MAKASAR,
4014             null,
4015             LISU_SUPPLEMENT,
4016             TAMIL_SUPPLEMENT,
4017             CUNEIFORM,
4018             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
4019             EARLY_DYNASTIC_CUNEIFORM,
4020             null,
4021             EGYPTIAN_HIEROGLYPHS,
4022             EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
4023             null,
4024             ANATOLIAN_HIEROGLYPHS,
4025             null,
4026             BAMUM_SUPPLEMENT,
4027             MRO,
4028             null,
4029             BASSA_VAH,
4030             PAHAWH_HMONG,
4031             null,
4032             MEDEFAIDRIN,
4033             null,
4034             MIAO,
4035             null,
4036             IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
4037             TANGUT,
4038             TANGUT_COMPONENTS,
4039             KHITAN_SMALL_SCRIPT,
4040             TANGUT_SUPPLEMENT,
4041             null,
4042             KANA_SUPPLEMENT,
4043             KANA_EXTENDED_A,
4044             SMALL_KANA_EXTENSION,
4045             NUSHU,
4046             null,
4047             DUPLOYAN,
4048             SHORTHAND_FORMAT_CONTROLS,
4049             null,
4050             BYZANTINE_MUSICAL_SYMBOLS,
4051             MUSICAL_SYMBOLS,
4052             ANCIENT_GREEK_MUSICAL_NOTATION,
4053             null,
4054             MAYAN_NUMERALS,
4055             TAI_XUAN_JING_SYMBOLS,
4056             COUNTING_ROD_NUMERALS,
4057             null,
4058             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
4059             SUTTON_SIGNWRITING,
4060             null,


4072             null,
4073             OTTOMAN_SIYAQ_NUMBERS,
4074             null,
4075             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
4076             null,
4077             MAHJONG_TILES,
4078             DOMINO_TILES,
4079             PLAYING_CARDS,
4080             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
4081             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
4082             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
4083             EMOTICONS,
4084             ORNAMENTAL_DINGBATS,
4085             TRANSPORT_AND_MAP_SYMBOLS,
4086             ALCHEMICAL_SYMBOLS,
4087             GEOMETRIC_SHAPES_EXTENDED,
4088             SUPPLEMENTAL_ARROWS_C,
4089             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
4090             CHESS_SYMBOLS,
4091             SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
4092             SYMBOLS_FOR_LEGACY_COMPUTING,
4093             null,
4094             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
4095             null,
4096             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
4097             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
4098             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
4099             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
4100             null,
4101             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
4102             null,
4103             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G,
4104             null,
4105             TAGS,
4106             null,
4107             VARIATION_SELECTORS_SUPPLEMENT,
4108             null,
4109             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
4110             SUPPLEMENTARY_PRIVATE_USE_AREA_B,
4111         };
4112 
4113 
4114         /**
4115          * Returns the object representing the Unicode block containing the
4116          * given character, or {@code null} if the character is not a
4117          * member of a defined block.
4118          *
4119          * <p><b>Note:</b> This method cannot handle
4120          * <a href="Character.html#supplementary"> supplementary
4121          * characters</a>.  To support all Unicode characters, including
4122          * supplementary characters, use the {@link #of(int)} method.
4123          *
4124          * @param   c  The character in question


5032 
5033         /**
5034          * Unicode script "Nandinagari".
5035          * @since 13
5036          */
5037         NANDINAGARI,
5038 
5039         /**
5040          * Unicode script "Nyiakeng Puachue Hmong".
5041          * @since 13
5042          */
5043         NYIAKENG_PUACHUE_HMONG,
5044 
5045         /**
5046          * Unicode script "Wancho".
5047          * @since 13
5048          */
5049         WANCHO,
5050 
5051         /**
5052          * Unicode script "Yezidi".
5053          * @since 15
5054          */
5055         YEZIDI,
5056 
5057         /**
5058          * Unicode script "Chorasmian".
5059          * @since 15
5060          */
5061         CHORASMIAN,
5062 
5063         /**
5064          * Unicode script "Dives Akuru".
5065          * @since 15
5066          */
5067         DIVES_AKURU,
5068 
5069         /**
5070          * Unicode script "Khitan Small Script".
5071          * @since 15
5072          */
5073         KHITAN_SMALL_SCRIPT,
5074 
5075         /**
5076          * Unicode script "Unknown".
5077          */
5078         UNKNOWN;
5079 
5080         private static final int[] scriptStarts = {
5081             0x0000,   // 0000..0040; COMMON
5082             0x0041,   // 0041..005A; LATIN
5083             0x005B,   // 005B..0060; COMMON
5084             0x0061,   // 0061..007A; LATIN
5085             0x007B,   // 007B..00A9; COMMON
5086             0x00AA,   // 00AA      ; LATIN
5087             0x00AB,   // 00AB..00B9; COMMON
5088             0x00BA,   // 00BA      ; LATIN
5089             0x00BB,   // 00BB..00BF; COMMON
5090             0x00C0,   // 00C0..00D6; LATIN
5091             0x00D7,   // 00D7      ; COMMON
5092             0x00D8,   // 00D8..00F6; LATIN
5093             0x00F7,   // 00F7      ; COMMON
5094             0x00F8,   // 00F8..02B8; LATIN
5095             0x02B9,   // 02B9..02DF; COMMON


5108             0x0380,   // 0380..0383; UNKNOWN
5109             0x0384,   // 0384      ; GREEK
5110             0x0385,   // 0385      ; COMMON
5111             0x0386,   // 0386      ; GREEK
5112             0x0387,   // 0387      ; COMMON
5113             0x0388,   // 0388..038A; GREEK
5114             0x038B,   // 038B      ; UNKNOWN
5115             0x038C,   // 038C      ; GREEK
5116             0x038D,   // 038D      ; UNKNOWN
5117             0x038E,   // 038E..03A1; GREEK
5118             0x03A2,   // 03A2      ; UNKNOWN
5119             0x03A3,   // 03A3..03E1; GREEK
5120             0x03E2,   // 03E2..03EF; COPTIC
5121             0x03F0,   // 03F0..03FF; GREEK
5122             0x0400,   // 0400..0484; CYRILLIC
5123             0x0485,   // 0485..0486; INHERITED
5124             0x0487,   // 0487..052F; CYRILLIC
5125             0x0530,   // 0530      ; UNKNOWN
5126             0x0531,   // 0531..0556; ARMENIAN
5127             0x0557,   // 0557..0558; UNKNOWN
5128             0x0559,   // 0559..058A; ARMENIAN


5129             0x058B,   // 058B..058C; UNKNOWN
5130             0x058D,   // 058D..058F; ARMENIAN
5131             0x0590,   // 0590      ; UNKNOWN
5132             0x0591,   // 0591..05C7; HEBREW
5133             0x05C8,   // 05C8..05CF; UNKNOWN
5134             0x05D0,   // 05D0..05EA; HEBREW
5135             0x05EB,   // 05EB..05EE; UNKNOWN
5136             0x05EF,   // 05EF..05F4; HEBREW
5137             0x05F5,   // 05F5..05FF; UNKNOWN
5138             0x0600,   // 0600..0604; ARABIC
5139             0x0605,   // 0605      ; COMMON
5140             0x0606,   // 0606..060B; ARABIC
5141             0x060C,   // 060C      ; COMMON
5142             0x060D,   // 060D..061A; ARABIC
5143             0x061B,   // 061B      ; COMMON
5144             0x061C,   // 061C      ; ARABIC
5145             0x061D,   // 061D      ; UNKNOWN
5146             0x061E,   // 061E      ; ARABIC
5147             0x061F,   // 061F      ; COMMON
5148             0x0620,   // 0620..063F; ARABIC


5160             0x074B,   // 074B..074C; UNKNOWN
5161             0x074D,   // 074D..074F; SYRIAC
5162             0x0750,   // 0750..077F; ARABIC
5163             0x0780,   // 0780..07B1; THAANA
5164             0x07B2,   // 07B2..07BF; UNKNOWN
5165             0x07C0,   // 07C0..07FA; NKO
5166             0x07FB,   // 07FB..07FC; UNKNOWN
5167             0x07FD,   // 07FD..07FF; NKO
5168             0x0800,   // 0800..082D; SAMARITAN
5169             0x082E,   // 082E..082F; UNKNOWN
5170             0x0830,   // 0830..083E; SAMARITAN
5171             0x083F,   // 083F      ; UNKNOWN
5172             0x0840,   // 0840..085B; MANDAIC
5173             0x085C,   // 085C..085D; UNKNOWN
5174             0x085E,   // 085E      ; MANDAIC
5175             0x085F,   // 085F      ; UNKNOWN
5176             0x0860,   // 0860..086A; SYRIAC
5177             0x086B,   // 086B..089F; UNKNOWN
5178             0x08A0,   // 08A0..08B4; ARABIC
5179             0x08B5,   // 08B5      ; UNKNOWN
5180             0x08B6,   // 08B6..08C7; ARABIC
5181             0x08C8,   // 08C8..08D2; UNKNOWN
5182             0x08D3,   // 08D3..08E1; ARABIC
5183             0x08E2,   // 08E2      ; COMMON
5184             0x08E3,   // 08E3..08FF; ARABIC
5185             0x0900,   // 0900..0950; DEVANAGARI
5186             0x0951,   // 0951..0954; INHERITED
5187             0x0955,   // 0955..0963; DEVANAGARI
5188             0x0964,   // 0964..0965; COMMON
5189             0x0966,   // 0966..097F; DEVANAGARI
5190             0x0980,   // 0980..0983; BENGALI
5191             0x0984,   // 0984      ; UNKNOWN
5192             0x0985,   // 0985..098C; BENGALI
5193             0x098D,   // 098D..098E; UNKNOWN
5194             0x098F,   // 098F..0990; BENGALI
5195             0x0991,   // 0991..0992; UNKNOWN
5196             0x0993,   // 0993..09A8; BENGALI
5197             0x09A9,   // 09A9      ; UNKNOWN
5198             0x09AA,   // 09AA..09B0; BENGALI
5199             0x09B1,   // 09B1      ; UNKNOWN
5200             0x09B2,   // 09B2      ; BENGALI
5201             0x09B3,   // 09B3..09B5; UNKNOWN


5277             0x0B00,   // 0B00      ; UNKNOWN
5278             0x0B01,   // 0B01..0B03; ORIYA
5279             0x0B04,   // 0B04      ; UNKNOWN
5280             0x0B05,   // 0B05..0B0C; ORIYA
5281             0x0B0D,   // 0B0D..0B0E; UNKNOWN
5282             0x0B0F,   // 0B0F..0B10; ORIYA
5283             0x0B11,   // 0B11..0B12; UNKNOWN
5284             0x0B13,   // 0B13..0B28; ORIYA
5285             0x0B29,   // 0B29      ; UNKNOWN
5286             0x0B2A,   // 0B2A..0B30; ORIYA
5287             0x0B31,   // 0B31      ; UNKNOWN
5288             0x0B32,   // 0B32..0B33; ORIYA
5289             0x0B34,   // 0B34      ; UNKNOWN
5290             0x0B35,   // 0B35..0B39; ORIYA
5291             0x0B3A,   // 0B3A..0B3B; UNKNOWN
5292             0x0B3C,   // 0B3C..0B44; ORIYA
5293             0x0B45,   // 0B45..0B46; UNKNOWN
5294             0x0B47,   // 0B47..0B48; ORIYA
5295             0x0B49,   // 0B49..0B4A; UNKNOWN
5296             0x0B4B,   // 0B4B..0B4D; ORIYA
5297             0x0B4E,   // 0B4E..0B54; UNKNOWN
5298             0x0B55,   // 0B55..0B57; ORIYA
5299             0x0B58,   // 0B58..0B5B; UNKNOWN
5300             0x0B5C,   // 0B5C..0B5D; ORIYA
5301             0x0B5E,   // 0B5E      ; UNKNOWN
5302             0x0B5F,   // 0B5F..0B63; ORIYA
5303             0x0B64,   // 0B64..0B65; UNKNOWN
5304             0x0B66,   // 0B66..0B77; ORIYA
5305             0x0B78,   // 0B78..0B81; UNKNOWN
5306             0x0B82,   // 0B82..0B83; TAMIL
5307             0x0B84,   // 0B84      ; UNKNOWN
5308             0x0B85,   // 0B85..0B8A; TAMIL
5309             0x0B8B,   // 0B8B..0B8D; UNKNOWN
5310             0x0B8E,   // 0B8E..0B90; TAMIL
5311             0x0B91,   // 0B91      ; UNKNOWN
5312             0x0B92,   // 0B92..0B95; TAMIL
5313             0x0B96,   // 0B96..0B98; UNKNOWN
5314             0x0B99,   // 0B99..0B9A; TAMIL
5315             0x0B9B,   // 0B9B      ; UNKNOWN
5316             0x0B9C,   // 0B9C      ; TAMIL
5317             0x0B9D,   // 0B9D      ; UNKNOWN
5318             0x0B9E,   // 0B9E..0B9F; TAMIL


5367             0x0CAA,   // 0CAA..0CB3; KANNADA
5368             0x0CB4,   // 0CB4      ; UNKNOWN
5369             0x0CB5,   // 0CB5..0CB9; KANNADA
5370             0x0CBA,   // 0CBA..0CBB; UNKNOWN
5371             0x0CBC,   // 0CBC..0CC4; KANNADA
5372             0x0CC5,   // 0CC5      ; UNKNOWN
5373             0x0CC6,   // 0CC6..0CC8; KANNADA
5374             0x0CC9,   // 0CC9      ; UNKNOWN
5375             0x0CCA,   // 0CCA..0CCD; KANNADA
5376             0x0CCE,   // 0CCE..0CD4; UNKNOWN
5377             0x0CD5,   // 0CD5..0CD6; KANNADA
5378             0x0CD7,   // 0CD7..0CDD; UNKNOWN
5379             0x0CDE,   // 0CDE      ; KANNADA
5380             0x0CDF,   // 0CDF      ; UNKNOWN
5381             0x0CE0,   // 0CE0..0CE3; KANNADA
5382             0x0CE4,   // 0CE4..0CE5; UNKNOWN
5383             0x0CE6,   // 0CE6..0CEF; KANNADA
5384             0x0CF0,   // 0CF0      ; UNKNOWN
5385             0x0CF1,   // 0CF1..0CF2; KANNADA
5386             0x0CF3,   // 0CF3..0CFF; UNKNOWN
5387             0x0D00,   // 0D00..0D0C; MALAYALAM


5388             0x0D0D,   // 0D0D      ; UNKNOWN
5389             0x0D0E,   // 0D0E..0D10; MALAYALAM
5390             0x0D11,   // 0D11      ; UNKNOWN
5391             0x0D12,   // 0D12..0D44; MALAYALAM
5392             0x0D45,   // 0D45      ; UNKNOWN
5393             0x0D46,   // 0D46..0D48; MALAYALAM
5394             0x0D49,   // 0D49      ; UNKNOWN
5395             0x0D4A,   // 0D4A..0D4F; MALAYALAM
5396             0x0D50,   // 0D50..0D53; UNKNOWN
5397             0x0D54,   // 0D54..0D63; MALAYALAM
5398             0x0D64,   // 0D64..0D65; UNKNOWN
5399             0x0D66,   // 0D66..0D7F; MALAYALAM
5400             0x0D80,   // 0D80      ; UNKNOWN
5401             0x0D81,   // 0D81..0D83; SINHALA
5402             0x0D84,   // 0D84      ; UNKNOWN
5403             0x0D85,   // 0D85..0D96; SINHALA
5404             0x0D97,   // 0D97..0D99; UNKNOWN
5405             0x0D9A,   // 0D9A..0DB1; SINHALA
5406             0x0DB2,   // 0DB2      ; UNKNOWN
5407             0x0DB3,   // 0DB3..0DBB; SINHALA
5408             0x0DBC,   // 0DBC      ; UNKNOWN
5409             0x0DBD,   // 0DBD      ; SINHALA
5410             0x0DBE,   // 0DBE..0DBF; UNKNOWN
5411             0x0DC0,   // 0DC0..0DC6; SINHALA
5412             0x0DC7,   // 0DC7..0DC9; UNKNOWN
5413             0x0DCA,   // 0DCA      ; SINHALA
5414             0x0DCB,   // 0DCB..0DCE; UNKNOWN
5415             0x0DCF,   // 0DCF..0DD4; SINHALA
5416             0x0DD5,   // 0DD5      ; UNKNOWN
5417             0x0DD6,   // 0DD6      ; SINHALA
5418             0x0DD7,   // 0DD7      ; UNKNOWN
5419             0x0DD8,   // 0DD8..0DDF; SINHALA
5420             0x0DE0,   // 0DE0..0DE5; UNKNOWN
5421             0x0DE6,   // 0DE6..0DEF; SINHALA


5573             0x19AC,   // 19AC..19AF; UNKNOWN
5574             0x19B0,   // 19B0..19C9; NEW_TAI_LUE
5575             0x19CA,   // 19CA..19CF; UNKNOWN
5576             0x19D0,   // 19D0..19DA; NEW_TAI_LUE
5577             0x19DB,   // 19DB..19DD; UNKNOWN
5578             0x19DE,   // 19DE..19DF; NEW_TAI_LUE
5579             0x19E0,   // 19E0..19FF; KHMER
5580             0x1A00,   // 1A00..1A1B; BUGINESE
5581             0x1A1C,   // 1A1C..1A1D; UNKNOWN
5582             0x1A1E,   // 1A1E..1A1F; BUGINESE
5583             0x1A20,   // 1A20..1A5E; TAI_THAM
5584             0x1A5F,   // 1A5F      ; UNKNOWN
5585             0x1A60,   // 1A60..1A7C; TAI_THAM
5586             0x1A7D,   // 1A7D..1A7E; UNKNOWN
5587             0x1A7F,   // 1A7F..1A89; TAI_THAM
5588             0x1A8A,   // 1A8A..1A8F; UNKNOWN
5589             0x1A90,   // 1A90..1A99; TAI_THAM
5590             0x1A9A,   // 1A9A..1A9F; UNKNOWN
5591             0x1AA0,   // 1AA0..1AAD; TAI_THAM
5592             0x1AAE,   // 1AAE..1AAF; UNKNOWN
5593             0x1AB0,   // 1AB0..1AC0; INHERITED
5594             0x1AC1,   // 1AC1..1AFF; UNKNOWN
5595             0x1B00,   // 1B00..1B4B; BALINESE
5596             0x1B4C,   // 1B4C..1B4F; UNKNOWN
5597             0x1B50,   // 1B50..1B7C; BALINESE
5598             0x1B7D,   // 1B7D..1B7F; UNKNOWN
5599             0x1B80,   // 1B80..1BBF; SUNDANESE
5600             0x1BC0,   // 1BC0..1BF3; BATAK
5601             0x1BF4,   // 1BF4..1BFB; UNKNOWN
5602             0x1BFC,   // 1BFC..1BFF; BATAK
5603             0x1C00,   // 1C00..1C37; LEPCHA
5604             0x1C38,   // 1C38..1C3A; UNKNOWN
5605             0x1C3B,   // 1C3B..1C49; LEPCHA
5606             0x1C4A,   // 1C4A..1C4C; UNKNOWN
5607             0x1C4D,   // 1C4D..1C4F; LEPCHA
5608             0x1C50,   // 1C50..1C7F; OL_CHIKI
5609             0x1C80,   // 1C80..1C88; CYRILLIC
5610             0x1C89,   // 1C89..1C8F; UNKNOWN
5611             0x1C90,   // 1C90..1CBA; GEORGIAN
5612             0x1CBB,   // 1CBB..1CBC; UNKNOWN
5613             0x1CBD,   // 1CBD..1CBF; GEORGIAN
5614             0x1CC0,   // 1CC0..1CC7; SUNDANESE


5694             0x2126,   // 2126      ; GREEK
5695             0x2127,   // 2127..2129; COMMON
5696             0x212A,   // 212A..212B; LATIN
5697             0x212C,   // 212C..2131; COMMON
5698             0x2132,   // 2132      ; LATIN
5699             0x2133,   // 2133..214D; COMMON
5700             0x214E,   // 214E      ; LATIN
5701             0x214F,   // 214F..215F; COMMON
5702             0x2160,   // 2160..2188; LATIN
5703             0x2189,   // 2189..218B; COMMON
5704             0x218C,   // 218C..218F; UNKNOWN
5705             0x2190,   // 2190..2426; COMMON
5706             0x2427,   // 2427..243F; UNKNOWN
5707             0x2440,   // 2440..244A; COMMON
5708             0x244B,   // 244B..245F; UNKNOWN
5709             0x2460,   // 2460..27FF; COMMON
5710             0x2800,   // 2800..28FF; BRAILLE
5711             0x2900,   // 2900..2B73; COMMON
5712             0x2B74,   // 2B74..2B75; UNKNOWN
5713             0x2B76,   // 2B76..2B95; COMMON
5714             0x2B96,   // 2B96      ; UNKNOWN
5715             0x2B97,   // 2B97..2BFF; COMMON
5716             0x2C00,   // 2C00..2C2E; GLAGOLITIC
5717             0x2C2F,   // 2C2F      ; UNKNOWN
5718             0x2C30,   // 2C30..2C5E; GLAGOLITIC
5719             0x2C5F,   // 2C5F      ; UNKNOWN
5720             0x2C60,   // 2C60..2C7F; LATIN
5721             0x2C80,   // 2C80..2CF3; COPTIC
5722             0x2CF4,   // 2CF4..2CF8; UNKNOWN
5723             0x2CF9,   // 2CF9..2CFF; COPTIC
5724             0x2D00,   // 2D00..2D25; GEORGIAN
5725             0x2D26,   // 2D26      ; UNKNOWN
5726             0x2D27,   // 2D27      ; GEORGIAN
5727             0x2D28,   // 2D28..2D2C; UNKNOWN
5728             0x2D2D,   // 2D2D      ; GEORGIAN
5729             0x2D2E,   // 2D2E..2D2F; UNKNOWN
5730             0x2D30,   // 2D30..2D67; TIFINAGH
5731             0x2D68,   // 2D68..2D6E; UNKNOWN
5732             0x2D6F,   // 2D6F..2D70; TIFINAGH
5733             0x2D71,   // 2D71..2D7E; UNKNOWN
5734             0x2D7F,   // 2D7F      ; TIFINAGH
5735             0x2D80,   // 2D80..2D96; ETHIOPIC
5736             0x2D97,   // 2D97..2D9F; UNKNOWN
5737             0x2DA0,   // 2DA0..2DA6; ETHIOPIC
5738             0x2DA7,   // 2DA7      ; UNKNOWN
5739             0x2DA8,   // 2DA8..2DAE; ETHIOPIC
5740             0x2DAF,   // 2DAF      ; UNKNOWN
5741             0x2DB0,   // 2DB0..2DB6; ETHIOPIC
5742             0x2DB7,   // 2DB7      ; UNKNOWN
5743             0x2DB8,   // 2DB8..2DBE; ETHIOPIC
5744             0x2DBF,   // 2DBF      ; UNKNOWN
5745             0x2DC0,   // 2DC0..2DC6; ETHIOPIC
5746             0x2DC7,   // 2DC7      ; UNKNOWN
5747             0x2DC8,   // 2DC8..2DCE; ETHIOPIC
5748             0x2DCF,   // 2DCF      ; UNKNOWN
5749             0x2DD0,   // 2DD0..2DD6; ETHIOPIC
5750             0x2DD7,   // 2DD7      ; UNKNOWN
5751             0x2DD8,   // 2DD8..2DDE; ETHIOPIC
5752             0x2DDF,   // 2DDF      ; UNKNOWN
5753             0x2DE0,   // 2DE0..2DFF; CYRILLIC
5754             0x2E00,   // 2E00..2E52; COMMON
5755             0x2E53,   // 2E53..2E7F; UNKNOWN
5756             0x2E80,   // 2E80..2E99; HAN
5757             0x2E9A,   // 2E9A      ; UNKNOWN
5758             0x2E9B,   // 2E9B..2EF3; HAN
5759             0x2EF4,   // 2EF4..2EFF; UNKNOWN
5760             0x2F00,   // 2F00..2FD5; HAN
5761             0x2FD6,   // 2FD6..2FEF; UNKNOWN
5762             0x2FF0,   // 2FF0..2FFB; COMMON
5763             0x2FFC,   // 2FFC..2FFF; UNKNOWN
5764             0x3000,   // 3000..3004; COMMON
5765             0x3005,   // 3005      ; HAN
5766             0x3006,   // 3006      ; COMMON
5767             0x3007,   // 3007      ; HAN
5768             0x3008,   // 3008..3020; COMMON
5769             0x3021,   // 3021..3029; HAN
5770             0x302A,   // 302A..302D; INHERITED
5771             0x302E,   // 302E..302F; HANGUL
5772             0x3030,   // 3030..3037; COMMON
5773             0x3038,   // 3038..303B; HAN
5774             0x303C,   // 303C..303F; COMMON
5775             0x3040,   // 3040      ; UNKNOWN
5776             0x3041,   // 3041..3096; HIRAGANA
5777             0x3097,   // 3097..3098; UNKNOWN
5778             0x3099,   // 3099..309A; INHERITED
5779             0x309B,   // 309B..309C; COMMON
5780             0x309D,   // 309D..309F; HIRAGANA
5781             0x30A0,   // 30A0      ; COMMON
5782             0x30A1,   // 30A1..30FA; KATAKANA
5783             0x30FB,   // 30FB..30FC; COMMON
5784             0x30FD,   // 30FD..30FF; KATAKANA
5785             0x3100,   // 3100..3104; UNKNOWN
5786             0x3105,   // 3105..312F; BOPOMOFO
5787             0x3130,   // 3130      ; UNKNOWN
5788             0x3131,   // 3131..318E; HANGUL
5789             0x318F,   // 318F      ; UNKNOWN
5790             0x3190,   // 3190..319F; COMMON
5791             0x31A0,   // 31A0..31BF; BOPOMOFO

5792             0x31C0,   // 31C0..31E3; COMMON
5793             0x31E4,   // 31E4..31EF; UNKNOWN
5794             0x31F0,   // 31F0..31FF; KATAKANA
5795             0x3200,   // 3200..321E; HANGUL
5796             0x321F,   // 321F      ; UNKNOWN
5797             0x3220,   // 3220..325F; COMMON
5798             0x3260,   // 3260..327E; HANGUL
5799             0x327F,   // 327F..32CF; COMMON
5800             0x32D0,   // 32D0..32FE; KATAKANA
5801             0x32FF,   // 32FF      ; COMMON
5802             0x3300,   // 3300..3357; KATAKANA
5803             0x3358,   // 3358..33FF; COMMON
5804             0x3400,   // 3400..4DBF; HAN

5805             0x4DC0,   // 4DC0..4DFF; COMMON
5806             0x4E00,   // 4E00..9FFC; HAN
5807             0x9FFD,   // 9FFD..9FFF; UNKNOWN
5808             0xA000,   // A000..A48C; YI
5809             0xA48D,   // A48D..A48F; UNKNOWN
5810             0xA490,   // A490..A4C6; YI
5811             0xA4C7,   // A4C7..A4CF; UNKNOWN
5812             0xA4D0,   // A4D0..A4FF; LISU
5813             0xA500,   // A500..A62B; VAI
5814             0xA62C,   // A62C..A63F; UNKNOWN
5815             0xA640,   // A640..A69F; CYRILLIC
5816             0xA6A0,   // A6A0..A6F7; BAMUM
5817             0xA6F8,   // A6F8..A6FF; UNKNOWN
5818             0xA700,   // A700..A721; COMMON
5819             0xA722,   // A722..A787; LATIN
5820             0xA788,   // A788..A78A; COMMON
5821             0xA78B,   // A78B..A7BF; LATIN
5822             0xA7C0,   // A7C0..A7C1; UNKNOWN
5823             0xA7C2,   // A7C2..A7CA; LATIN
5824             0xA7CB,   // A7CB..A7F4; UNKNOWN
5825             0xA7F5,   // A7F5..A7FF; LATIN
5826             0xA800,   // A800..A82C; SYLOTI_NAGRI
5827             0xA82D,   // A82D..A82F; UNKNOWN
5828             0xA830,   // A830..A839; COMMON
5829             0xA83A,   // A83A..A83F; UNKNOWN
5830             0xA840,   // A840..A877; PHAGS_PA
5831             0xA878,   // A878..A87F; UNKNOWN
5832             0xA880,   // A880..A8C5; SAURASHTRA
5833             0xA8C6,   // A8C6..A8CD; UNKNOWN
5834             0xA8CE,   // A8CE..A8D9; SAURASHTRA
5835             0xA8DA,   // A8DA..A8DF; UNKNOWN
5836             0xA8E0,   // A8E0..A8FF; DEVANAGARI
5837             0xA900,   // A900..A92D; KAYAH_LI
5838             0xA92E,   // A92E      ; COMMON
5839             0xA92F,   // A92F      ; KAYAH_LI
5840             0xA930,   // A930..A953; REJANG
5841             0xA954,   // A954..A95E; UNKNOWN
5842             0xA95F,   // A95F      ; REJANG
5843             0xA960,   // A960..A97C; HANGUL
5844             0xA97D,   // A97D..A97F; UNKNOWN
5845             0xA980,   // A980..A9CD; JAVANESE
5846             0xA9CE,   // A9CE      ; UNKNOWN
5847             0xA9CF,   // A9CF      ; COMMON


5860             0xAA60,   // AA60..AA7F; MYANMAR
5861             0xAA80,   // AA80..AAC2; TAI_VIET
5862             0xAAC3,   // AAC3..AADA; UNKNOWN
5863             0xAADB,   // AADB..AADF; TAI_VIET
5864             0xAAE0,   // AAE0..AAF6; MEETEI_MAYEK
5865             0xAAF7,   // AAF7..AB00; UNKNOWN
5866             0xAB01,   // AB01..AB06; ETHIOPIC
5867             0xAB07,   // AB07..AB08; UNKNOWN
5868             0xAB09,   // AB09..AB0E; ETHIOPIC
5869             0xAB0F,   // AB0F..AB10; UNKNOWN
5870             0xAB11,   // AB11..AB16; ETHIOPIC
5871             0xAB17,   // AB17..AB1F; UNKNOWN
5872             0xAB20,   // AB20..AB26; ETHIOPIC
5873             0xAB27,   // AB27      ; UNKNOWN
5874             0xAB28,   // AB28..AB2E; ETHIOPIC
5875             0xAB2F,   // AB2F      ; UNKNOWN
5876             0xAB30,   // AB30..AB5A; LATIN
5877             0xAB5B,   // AB5B      ; COMMON
5878             0xAB5C,   // AB5C..AB64; LATIN
5879             0xAB65,   // AB65      ; GREEK
5880             0xAB66,   // AB66..AB69; LATIN
5881             0xAB6A,   // AB6A..AB6B; COMMON
5882             0xAB6C,   // AB6C..AB6F; UNKNOWN
5883             0xAB70,   // AB70..ABBF; CHEROKEE
5884             0xABC0,   // ABC0..ABED; MEETEI_MAYEK
5885             0xABEE,   // ABEE..ABEF; UNKNOWN
5886             0xABF0,   // ABF0..ABF9; MEETEI_MAYEK
5887             0xABFA,   // ABFA..ABFF; UNKNOWN
5888             0xAC00,   // AC00..D7A3; HANGUL
5889             0xD7A4,   // D7A4..D7AF; UNKNOWN
5890             0xD7B0,   // D7B0..D7C6; HANGUL
5891             0xD7C7,   // D7C7..D7CA; UNKNOWN
5892             0xD7CB,   // D7CB..D7FB; HANGUL
5893             0xD7FC,   // D7FC..F8FF; UNKNOWN
5894             0xF900,   // F900..FA6D; HAN
5895             0xFA6E,   // FA6E..FA6F; UNKNOWN
5896             0xFA70,   // FA70..FAD9; HAN
5897             0xFADA,   // FADA..FAFF; UNKNOWN
5898             0xFB00,   // FB00..FB06; LATIN
5899             0xFB07,   // FB07..FB12; UNKNOWN
5900             0xFB13,   // FB13..FB17; ARMENIAN
5901             0xFB18,   // FB18..FB1C; UNKNOWN
5902             0xFB1D,   // FB1D..FB36; HEBREW


5967             0x1000C,  // 1000C       ; UNKNOWN
5968             0x1000D,  // 1000D..10026; LINEAR_B
5969             0x10027,  // 10027       ; UNKNOWN
5970             0x10028,  // 10028..1003A; LINEAR_B
5971             0x1003B,  // 1003B       ; UNKNOWN
5972             0x1003C,  // 1003C..1003D; LINEAR_B
5973             0x1003E,  // 1003E       ; UNKNOWN
5974             0x1003F,  // 1003F..1004D; LINEAR_B
5975             0x1004E,  // 1004E..1004F; UNKNOWN
5976             0x10050,  // 10050..1005D; LINEAR_B
5977             0x1005E,  // 1005E..1007F; UNKNOWN
5978             0x10080,  // 10080..100FA; LINEAR_B
5979             0x100FB,  // 100FB..100FF; UNKNOWN
5980             0x10100,  // 10100..10102; COMMON
5981             0x10103,  // 10103..10106; UNKNOWN
5982             0x10107,  // 10107..10133; COMMON
5983             0x10134,  // 10134..10136; UNKNOWN
5984             0x10137,  // 10137..1013F; COMMON
5985             0x10140,  // 10140..1018E; GREEK
5986             0x1018F,  // 1018F       ; UNKNOWN
5987             0x10190,  // 10190..1019C; COMMON
5988             0x1019D,  // 1019D..1019F; UNKNOWN
5989             0x101A0,  // 101A0       ; GREEK
5990             0x101A1,  // 101A1..101CF; UNKNOWN
5991             0x101D0,  // 101D0..101FC; COMMON
5992             0x101FD,  // 101FD       ; INHERITED
5993             0x101FE,  // 101FE..1027F; UNKNOWN
5994             0x10280,  // 10280..1029C; LYCIAN
5995             0x1029D,  // 1029D..1029F; UNKNOWN
5996             0x102A0,  // 102A0..102D0; CARIAN
5997             0x102D1,  // 102D1..102DF; UNKNOWN
5998             0x102E0,  // 102E0       ; INHERITED
5999             0x102E1,  // 102E1..102FB; COMMON
6000             0x102FC,  // 102FC..102FF; UNKNOWN
6001             0x10300,  // 10300..10323; OLD_ITALIC
6002             0x10324,  // 10324..1032C; UNKNOWN
6003             0x1032D,  // 1032D..1032F; OLD_ITALIC
6004             0x10330,  // 10330..1034A; GOTHIC
6005             0x1034B,  // 1034B..1034F; UNKNOWN
6006             0x10350,  // 10350..1037A; OLD_PERMIC
6007             0x1037B,  // 1037B..1037F; UNKNOWN
6008             0x10380,  // 10380..1039D; UGARITIC


6104             0x10B73,  // 10B73..10B77; UNKNOWN
6105             0x10B78,  // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
6106             0x10B80,  // 10B80..10B91; PSALTER_PAHLAVI
6107             0x10B92,  // 10B92..10B98; UNKNOWN
6108             0x10B99,  // 10B99..10B9C; PSALTER_PAHLAVI
6109             0x10B9D,  // 10B9D..10BA8; UNKNOWN
6110             0x10BA9,  // 10BA9..10BAF; PSALTER_PAHLAVI
6111             0x10BB0,  // 10BB0..10BFF; UNKNOWN
6112             0x10C00,  // 10C00..10C48; OLD_TURKIC
6113             0x10C49,  // 10C49..10C7F; UNKNOWN
6114             0x10C80,  // 10C80..10CB2; OLD_HUNGARIAN
6115             0x10CB3,  // 10CB3..10CBF; UNKNOWN
6116             0x10CC0,  // 10CC0..10CF2; OLD_HUNGARIAN
6117             0x10CF3,  // 10CF3..10CF9; UNKNOWN
6118             0x10CFA,  // 10CFA..10CFF; OLD_HUNGARIAN
6119             0x10D00,  // 10D00..10D27; HANIFI_ROHINGYA
6120             0x10D28,  // 10D28..10D2F; UNKNOWN
6121             0x10D30,  // 10D30..10D39; HANIFI_ROHINGYA
6122             0x10D3A,  // 10D3A..10E5F; UNKNOWN
6123             0x10E60,  // 10E60..10E7E; ARABIC
6124             0x10E7F,  // 10E7F       ; UNKNOWN
6125             0x10E80,  // 10E80..10EA9; YEZIDI
6126             0x10EAA,  // 10EAA       ; UNKNOWN
6127             0x10EAB,  // 10EAB..10EAD; YEZIDI
6128             0x10EAE,  // 10EAE..10EAF; UNKNOWN
6129             0x10EB0,  // 10EB0..10EB1; YEZIDI
6130             0x10EB2,  // 10EB2..10EFF; UNKNOWN
6131             0x10F00,  // 10F00..10F27; OLD_SOGDIAN
6132             0x10F28,  // 10F28..10F2F; UNKNOWN
6133             0x10F30,  // 10F30..10F59; SOGDIAN
6134             0x10F5A,  // 10F5A..10FAF; UNKNOWN
6135             0x10FB0,  // 10FB0..10FCB; CHORASMIAN
6136             0x10FCC,  // 10FCC..10FDF; UNKNOWN
6137             0x10FE0,  // 10FE0..10FF6; ELYMAIC
6138             0x10FF7,  // 10FF7..10FFF; UNKNOWN
6139             0x11000,  // 11000..1104D; BRAHMI
6140             0x1104E,  // 1104E..11051; UNKNOWN
6141             0x11052,  // 11052..1106F; BRAHMI
6142             0x11070,  // 11070..1107E; UNKNOWN
6143             0x1107F,  // 1107F       ; BRAHMI
6144             0x11080,  // 11080..110C1; KAITHI
6145             0x110C2,  // 110C2..110CC; UNKNOWN
6146             0x110CD,  // 110CD       ; KAITHI
6147             0x110CE,  // 110CE..110CF; UNKNOWN
6148             0x110D0,  // 110D0..110E8; SORA_SOMPENG
6149             0x110E9,  // 110E9..110EF; UNKNOWN
6150             0x110F0,  // 110F0..110F9; SORA_SOMPENG
6151             0x110FA,  // 110FA..110FF; UNKNOWN
6152             0x11100,  // 11100..11134; CHAKMA
6153             0x11135,  // 11135       ; UNKNOWN
6154             0x11136,  // 11136..11147; CHAKMA
6155             0x11148,  // 11148..1114F; UNKNOWN
6156             0x11150,  // 11150..11176; MAHAJANI
6157             0x11177,  // 11177..1117F; UNKNOWN
6158             0x11180,  // 11180..111DF; SHARADA


6159             0x111E0,  // 111E0       ; UNKNOWN
6160             0x111E1,  // 111E1..111F4; SINHALA
6161             0x111F5,  // 111F5..111FF; UNKNOWN
6162             0x11200,  // 11200..11211; KHOJKI
6163             0x11212,  // 11212       ; UNKNOWN
6164             0x11213,  // 11213..1123E; KHOJKI
6165             0x1123F,  // 1123F..1127F; UNKNOWN
6166             0x11280,  // 11280..11286; MULTANI
6167             0x11287,  // 11287       ; UNKNOWN
6168             0x11288,  // 11288       ; MULTANI
6169             0x11289,  // 11289       ; UNKNOWN
6170             0x1128A,  // 1128A..1128D; MULTANI
6171             0x1128E,  // 1128E       ; UNKNOWN
6172             0x1128F,  // 1128F..1129D; MULTANI
6173             0x1129E,  // 1129E       ; UNKNOWN
6174             0x1129F,  // 1129F..112A9; MULTANI
6175             0x112AA,  // 112AA..112AF; UNKNOWN
6176             0x112B0,  // 112B0..112EA; KHUDAWADI
6177             0x112EB,  // 112EB..112EF; UNKNOWN
6178             0x112F0,  // 112F0..112F9; KHUDAWADI


6191             0x11334,  // 11334       ; UNKNOWN
6192             0x11335,  // 11335..11339; GRANTHA
6193             0x1133A,  // 1133A       ; UNKNOWN
6194             0x1133B,  // 1133B       ; INHERITED
6195             0x1133C,  // 1133C..11344; GRANTHA
6196             0x11345,  // 11345..11346; UNKNOWN
6197             0x11347,  // 11347..11348; GRANTHA
6198             0x11349,  // 11349..1134A; UNKNOWN
6199             0x1134B,  // 1134B..1134D; GRANTHA
6200             0x1134E,  // 1134E..1134F; UNKNOWN
6201             0x11350,  // 11350       ; GRANTHA
6202             0x11351,  // 11351..11356; UNKNOWN
6203             0x11357,  // 11357       ; GRANTHA
6204             0x11358,  // 11358..1135C; UNKNOWN
6205             0x1135D,  // 1135D..11363; GRANTHA
6206             0x11364,  // 11364..11365; UNKNOWN
6207             0x11366,  // 11366..1136C; GRANTHA
6208             0x1136D,  // 1136D..1136F; UNKNOWN
6209             0x11370,  // 11370..11374; GRANTHA
6210             0x11375,  // 11375..113FF; UNKNOWN
6211             0x11400,  // 11400..1145B; NEWA


6212             0x1145C,  // 1145C       ; UNKNOWN
6213             0x1145D,  // 1145D..11461; NEWA
6214             0x11462,  // 11462..1147F; UNKNOWN
6215             0x11480,  // 11480..114C7; TIRHUTA
6216             0x114C8,  // 114C8..114CF; UNKNOWN
6217             0x114D0,  // 114D0..114D9; TIRHUTA
6218             0x114DA,  // 114DA..1157F; UNKNOWN
6219             0x11580,  // 11580..115B5; SIDDHAM
6220             0x115B6,  // 115B6..115B7; UNKNOWN
6221             0x115B8,  // 115B8..115DD; SIDDHAM
6222             0x115DE,  // 115DE..115FF; UNKNOWN
6223             0x11600,  // 11600..11644; MODI
6224             0x11645,  // 11645..1164F; UNKNOWN
6225             0x11650,  // 11650..11659; MODI
6226             0x1165A,  // 1165A..1165F; UNKNOWN
6227             0x11660,  // 11660..1166C; MONGOLIAN
6228             0x1166D,  // 1166D..1167F; UNKNOWN
6229             0x11680,  // 11680..116B8; TAKRI
6230             0x116B9,  // 116B9..116BF; UNKNOWN
6231             0x116C0,  // 116C0..116C9; TAKRI
6232             0x116CA,  // 116CA..116FF; UNKNOWN
6233             0x11700,  // 11700..1171A; AHOM
6234             0x1171B,  // 1171B..1171C; UNKNOWN
6235             0x1171D,  // 1171D..1172B; AHOM
6236             0x1172C,  // 1172C..1172F; UNKNOWN
6237             0x11730,  // 11730..1173F; AHOM
6238             0x11740,  // 11740..117FF; UNKNOWN
6239             0x11800,  // 11800..1183B; DOGRA
6240             0x1183C,  // 1183C..1189F; UNKNOWN
6241             0x118A0,  // 118A0..118F2; WARANG_CITI
6242             0x118F3,  // 118F3..118FE; UNKNOWN
6243             0x118FF,  // 118FF       ; WARANG_CITI
6244             0x11900,  // 11900..11906; DIVES_AKURU
6245             0x11907,  // 11907..11908; UNKNOWN
6246             0x11909,  // 11909       ; DIVES_AKURU
6247             0x1190A,  // 1190A..1190B; UNKNOWN
6248             0x1190C,  // 1190C..11913; DIVES_AKURU
6249             0x11914,  // 11914       ; UNKNOWN
6250             0x11915,  // 11915..11916; DIVES_AKURU
6251             0x11917,  // 11917       ; UNKNOWN
6252             0x11918,  // 11918..11935; DIVES_AKURU
6253             0x11936,  // 11936       ; UNKNOWN
6254             0x11937,  // 11937..11938; DIVES_AKURU
6255             0x11939,  // 11939..1193A; UNKNOWN
6256             0x1193B,  // 1193B..11946; DIVES_AKURU
6257             0x11947,  // 11947..1194F; UNKNOWN
6258             0x11950,  // 11950..11959; DIVES_AKURU
6259             0x1195A,  // 1195A..1199F; UNKNOWN
6260             0x119A0,  // 119A0..119A7; NANDINAGARI
6261             0x119A8,  // 119A8..119A9; UNKNOWN
6262             0x119AA,  // 119AA..119D7; NANDINAGARI
6263             0x119D8,  // 119D8..119D9; UNKNOWN
6264             0x119DA,  // 119DA..119E4; NANDINAGARI
6265             0x119E5,  // 119E5..119FF; UNKNOWN
6266             0x11A00,  // 11A00..11A47; ZANABAZAR_SQUARE
6267             0x11A48,  // 11A48..11A4F; UNKNOWN
6268             0x11A50,  // 11A50..11AA2; SOYOMBO
6269             0x11AA3,  // 11AA3..11ABF; UNKNOWN
6270             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
6271             0x11AF9,  // 11AF9..11BFF; UNKNOWN
6272             0x11C00,  // 11C00..11C08; BHAIKSUKI
6273             0x11C09,  // 11C09       ; UNKNOWN
6274             0x11C0A,  // 11C0A..11C36; BHAIKSUKI
6275             0x11C37,  // 11C37       ; UNKNOWN
6276             0x11C38,  // 11C38..11C45; BHAIKSUKI
6277             0x11C46,  // 11C46..11C4F; UNKNOWN
6278             0x11C50,  // 11C50..11C6C; BHAIKSUKI
6279             0x11C6D,  // 11C6D..11C6F; UNKNOWN


6293             0x11D3B,  // 11D3B       ; UNKNOWN
6294             0x11D3C,  // 11D3C..11D3D; MASARAM_GONDI
6295             0x11D3E,  // 11D3E       ; UNKNOWN
6296             0x11D3F,  // 11D3F..11D47; MASARAM_GONDI
6297             0x11D48,  // 11D48..11D4F; UNKNOWN
6298             0x11D50,  // 11D50..11D59; MASARAM_GONDI
6299             0x11D5A,  // 11D5A..11D5F; UNKNOWN
6300             0x11D60,  // 11D60..11D65; GUNJALA_GONDI
6301             0x11D66,  // 11D66       ; UNKNOWN
6302             0x11D67,  // 11D67..11D68; GUNJALA_GONDI
6303             0x11D69,  // 11D69       ; UNKNOWN
6304             0x11D6A,  // 11D6A..11D8E; GUNJALA_GONDI
6305             0x11D8F,  // 11D8F       ; UNKNOWN
6306             0x11D90,  // 11D90..11D91; GUNJALA_GONDI
6307             0x11D92,  // 11D92       ; UNKNOWN
6308             0x11D93,  // 11D93..11D98; GUNJALA_GONDI
6309             0x11D99,  // 11D99..11D9F; UNKNOWN
6310             0x11DA0,  // 11DA0..11DA9; GUNJALA_GONDI
6311             0x11DAA,  // 11DAA..11EDF; UNKNOWN
6312             0x11EE0,  // 11EE0..11EF8; MAKASAR
6313             0x11EF9,  // 11EF9..11FAF; UNKNOWN
6314             0x11FB0,  // 11FB0       ; LISU
6315             0x11FB1,  // 11FB1..11FBF; UNKNOWN
6316             0x11FC0,  // 11FC0..11FF1; TAMIL
6317             0x11FF2,  // 11FF2..11FFE; UNKNOWN
6318             0x11FFF,  // 11FFF       ; TAMIL
6319             0x12000,  // 12000..12399; CUNEIFORM
6320             0x1239A,  // 1239A..123FF; UNKNOWN
6321             0x12400,  // 12400..1246E; CUNEIFORM
6322             0x1246F,  // 1246F       ; UNKNOWN
6323             0x12470,  // 12470..12474; CUNEIFORM
6324             0x12475,  // 12475..1247F; UNKNOWN
6325             0x12480,  // 12480..12543; CUNEIFORM
6326             0x12544,  // 12544..12FFF; UNKNOWN
6327             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6328             0x1342F,  // 1342F       ; UNKNOWN
6329             0x13430,  // 13430..13438; EGYPTIAN_HIEROGLYPHS
6330             0x13439,  // 13439..143FF; UNKNOWN
6331             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
6332             0x14647,  // 14647..167FF; UNKNOWN
6333             0x16800,  // 16800..16A38; BAMUM
6334             0x16A39,  // 16A39..16A3F; UNKNOWN
6335             0x16A40,  // 16A40..16A5E; MRO


6346             0x16B46,  // 16B46..16B4F; UNKNOWN
6347             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
6348             0x16B5A,  // 16B5A       ; UNKNOWN
6349             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
6350             0x16B62,  // 16B62       ; UNKNOWN
6351             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
6352             0x16B78,  // 16B78..16B7C; UNKNOWN
6353             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
6354             0x16B90,  // 16B90..16E3F; UNKNOWN
6355             0x16E40,  // 16E40..16E9A; MEDEFAIDRIN
6356             0x16E9B,  // 16E9B..16EFF; UNKNOWN
6357             0x16F00,  // 16F00..16F4A; MIAO
6358             0x16F4B,  // 16F4B..16F4E; UNKNOWN
6359             0x16F4F,  // 16F4F..16F87; MIAO
6360             0x16F88,  // 16F88..16F8E; UNKNOWN
6361             0x16F8F,  // 16F8F..16F9F; MIAO
6362             0x16FA0,  // 16FA0..16FDF; UNKNOWN
6363             0x16FE0,  // 16FE0       ; TANGUT
6364             0x16FE1,  // 16FE1       ; NUSHU
6365             0x16FE2,  // 16FE2..16FE3; COMMON
6366             0x16FE4,  // 16FE4       ; KHITAN_SMALL_SCRIPT
6367             0x16FE5,  // 16FE5..16FEF; UNKNOWN
6368             0x16FF0,  // 16FF0..16FF1; HAN
6369             0x16FF2,  // 16FF2..16FFF; UNKNOWN
6370             0x17000,  // 17000..187F7; TANGUT
6371             0x187F8,  // 187F8..187FF; UNKNOWN
6372             0x18800,  // 18800..18AFF; TANGUT
6373             0x18B00,  // 18B00..18CD5; KHITAN_SMALL_SCRIPT
6374             0x18CD6,  // 18CD6..18CFF; UNKNOWN
6375             0x18D00,  // 18D00..18D08; TANGUT
6376             0x18D09,  // 18D09..1AFFF; UNKNOWN
6377             0x1B000,  // 1B000       ; KATAKANA
6378             0x1B001,  // 1B001..1B11E; HIRAGANA
6379             0x1B11F,  // 1B11F..1B14F; UNKNOWN
6380             0x1B150,  // 1B150..1B152; HIRAGANA
6381             0x1B153,  // 1B153..1B163; UNKNOWN
6382             0x1B164,  // 1B164..1B167; KATAKANA
6383             0x1B168,  // 1B168..1B16F; UNKNOWN
6384             0x1B170,  // 1B170..1B2FB; NUSHU
6385             0x1B2FC,  // 1B2FC..1BBFF; UNKNOWN
6386             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
6387             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
6388             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
6389             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
6390             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
6391             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
6392             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
6393             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
6394             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
6395             0x1BCA0,  // 1BCA0..1BCA3; COMMON
6396             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN


6562             0x1EEA1,  // 1EEA1..1EEA3; ARABIC
6563             0x1EEA4,  // 1EEA4       ; UNKNOWN
6564             0x1EEA5,  // 1EEA5..1EEA9; ARABIC
6565             0x1EEAA,  // 1EEAA       ; UNKNOWN
6566             0x1EEAB,  // 1EEAB..1EEBB; ARABIC
6567             0x1EEBC,  // 1EEBC..1EEEF; UNKNOWN
6568             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
6569             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
6570             0x1F000,  // 1F000..1F02B; COMMON
6571             0x1F02C,  // 1F02C..1F02F; UNKNOWN
6572             0x1F030,  // 1F030..1F093; COMMON
6573             0x1F094,  // 1F094..1F09F; UNKNOWN
6574             0x1F0A0,  // 1F0A0..1F0AE; COMMON
6575             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
6576             0x1F0B1,  // 1F0B1..1F0BF; COMMON
6577             0x1F0C0,  // 1F0C0       ; UNKNOWN
6578             0x1F0C1,  // 1F0C1..1F0CF; COMMON
6579             0x1F0D0,  // 1F0D0       ; UNKNOWN
6580             0x1F0D1,  // 1F0D1..1F0F5; COMMON
6581             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
6582             0x1F100,  // 1F100..1F1AD; COMMON
6583             0x1F1AE,  // 1F1AE..1F1E5; UNKNOWN




6584             0x1F1E6,  // 1F1E6..1F1FF; COMMON
6585             0x1F200,  // 1F200       ; HIRAGANA
6586             0x1F201,  // 1F201..1F202; COMMON
6587             0x1F203,  // 1F203..1F20F; UNKNOWN
6588             0x1F210,  // 1F210..1F23B; COMMON
6589             0x1F23C,  // 1F23C..1F23F; UNKNOWN
6590             0x1F240,  // 1F240..1F248; COMMON
6591             0x1F249,  // 1F249..1F24F; UNKNOWN
6592             0x1F250,  // 1F250..1F251; COMMON
6593             0x1F252,  // 1F252..1F25F; UNKNOWN
6594             0x1F260,  // 1F260..1F265; COMMON
6595             0x1F266,  // 1F266..1F2FF; UNKNOWN
6596             0x1F300,  // 1F300..1F6D7; COMMON
6597             0x1F6D8,  // 1F6D8..1F6DF; UNKNOWN
6598             0x1F6E0,  // 1F6E0..1F6EC; COMMON
6599             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
6600             0x1F6F0,  // 1F6F0..1F6FC; COMMON
6601             0x1F6FD,  // 1F6FD..1F6FF; UNKNOWN
6602             0x1F700,  // 1F700..1F773; COMMON
6603             0x1F774,  // 1F774..1F77F; UNKNOWN
6604             0x1F780,  // 1F780..1F7D8; COMMON
6605             0x1F7D9,  // 1F7D9..1F7DF; UNKNOWN
6606             0x1F7E0,  // 1F7E0..1F7EB; COMMON
6607             0x1F7EC,  // 1F7EC..1F7FF; UNKNOWN
6608             0x1F800,  // 1F800..1F80B; COMMON
6609             0x1F80C,  // 1F80C..1F80F; UNKNOWN
6610             0x1F810,  // 1F810..1F847; COMMON
6611             0x1F848,  // 1F848..1F84F; UNKNOWN
6612             0x1F850,  // 1F850..1F859; COMMON
6613             0x1F85A,  // 1F85A..1F85F; UNKNOWN
6614             0x1F860,  // 1F860..1F887; COMMON
6615             0x1F888,  // 1F888..1F88F; UNKNOWN
6616             0x1F890,  // 1F890..1F8AD; COMMON
6617             0x1F8AE,  // 1F8AE..1F8AF; UNKNOWN
6618             0x1F8B0,  // 1F8B0..1F8B1; COMMON
6619             0x1F8B2,  // 1F8B2..1F8FF; UNKNOWN
6620             0x1F900,  // 1F900..1F978; COMMON
6621             0x1F979,  // 1F979       ; UNKNOWN
6622             0x1F97A,  // 1F97A..1F9CB; COMMON
6623             0x1F9CC,  // 1F9CC       ; UNKNOWN






6624             0x1F9CD,  // 1F9CD..1FA53; COMMON
6625             0x1FA54,  // 1FA54..1FA5F; UNKNOWN
6626             0x1FA60,  // 1FA60..1FA6D; COMMON
6627             0x1FA6E,  // 1FA6E..1FA6F; UNKNOWN
6628             0x1FA70,  // 1FA70..1FA74; COMMON
6629             0x1FA75,  // 1FA75..1FA77; UNKNOWN
6630             0x1FA78,  // 1FA78..1FA7A; COMMON
6631             0x1FA7B,  // 1FA7B..1FA7F; UNKNOWN
6632             0x1FA80,  // 1FA80..1FA86; COMMON
6633             0x1FA87,  // 1FA87..1FA8F; UNKNOWN
6634             0x1FA90,  // 1FA90..1FAA8; COMMON
6635             0x1FAA9,  // 1FAA9..1FAAF; UNKNOWN
6636             0x1FAB0,  // 1FAB0..1FAB6; COMMON
6637             0x1FAB7,  // 1FAB7..1FABF; UNKNOWN
6638             0x1FAC0,  // 1FAC0..1FAC2; COMMON
6639             0x1FAC3,  // 1FAC3..1FACF; UNKNOWN
6640             0x1FAD0,  // 1FAD0..1FAD6; COMMON
6641             0x1FAD7,  // 1FAD7..1FAFF; UNKNOWN
6642             0x1FB00,  // 1FB00..1FB92; COMMON
6643             0x1FB93,  // 1FB93       ; UNKNOWN
6644             0x1FB94,  // 1FB94..1FBCA; COMMON
6645             0x1FBCB,  // 1FBCB..1FBEF; UNKNOWN
6646             0x1FBF0,  // 1FBF0..1FBF9; COMMON
6647             0x1FBFA,  // 1FBFA..1FFFF; UNKNOWN
6648             0x20000,  // 20000..2A6DD; HAN
6649             0x2A6DE,  // 2A6DE..2A6FF; UNKNOWN
6650             0x2A700,  // 2A700..2B734; HAN
6651             0x2B735,  // 2B735..2B73F; UNKNOWN
6652             0x2B740,  // 2B740..2B81D; HAN
6653             0x2B81E,  // 2B81E..2B81F; UNKNOWN
6654             0x2B820,  // 2B820..2CEA1; HAN
6655             0x2CEA2,  // 2CEA2..2CEAF; UNKNOWN
6656             0x2CEB0,  // 2CEB0..2EBE0; HAN
6657             0x2EBE1,  // 2EBE1..2F7FF; UNKNOWN
6658             0x2F800,  // 2F800..2FA1D; HAN
6659             0x2FA1E,  // 2FA1E..2FFFF; UNKNOWN
6660             0x30000,  // 30000..3134A; HAN
6661             0x3134B,  // 3134B..E0000; UNKNOWN
6662             0xE0001,  // E0001       ; COMMON
6663             0xE0002,  // E0002..E001F; UNKNOWN
6664             0xE0020,  // E0020..E007F; COMMON
6665             0xE0080,  // E0080..E00FF; UNKNOWN
6666             0xE0100,  // E0100..E01EF; INHERITED
6667             0xE01F0,  // E01F0..10FFFF; UNKNOWN
6668         };
6669 
6670         private static final UnicodeScript[] scripts = {
6671             COMMON,                   // 0000..0040
6672             LATIN,                    // 0041..005A
6673             COMMON,                   // 005B..0060
6674             LATIN,                    // 0061..007A
6675             COMMON,                   // 007B..00A9
6676             LATIN,                    // 00AA
6677             COMMON,                   // 00AB..00B9
6678             LATIN,                    // 00BA
6679             COMMON,                   // 00BB..00BF
6680             LATIN,                    // 00C0..00D6
6681             COMMON,                   // 00D7


6698             UNKNOWN,                  // 0380..0383
6699             GREEK,                    // 0384
6700             COMMON,                   // 0385
6701             GREEK,                    // 0386
6702             COMMON,                   // 0387
6703             GREEK,                    // 0388..038A
6704             UNKNOWN,                  // 038B
6705             GREEK,                    // 038C
6706             UNKNOWN,                  // 038D
6707             GREEK,                    // 038E..03A1
6708             UNKNOWN,                  // 03A2
6709             GREEK,                    // 03A3..03E1
6710             COPTIC,                   // 03E2..03EF
6711             GREEK,                    // 03F0..03FF
6712             CYRILLIC,                 // 0400..0484
6713             INHERITED,                // 0485..0486
6714             CYRILLIC,                 // 0487..052F
6715             UNKNOWN,                  // 0530
6716             ARMENIAN,                 // 0531..0556
6717             UNKNOWN,                  // 0557..0558
6718             ARMENIAN,                 // 0559..058A


6719             UNKNOWN,                  // 058B..058C
6720             ARMENIAN,                 // 058D..058F
6721             UNKNOWN,                  // 0590
6722             HEBREW,                   // 0591..05C7
6723             UNKNOWN,                  // 05C8..05CF
6724             HEBREW,                   // 05D0..05EA
6725             UNKNOWN,                  // 05EB..05EE
6726             HEBREW,                   // 05EF..05F4
6727             UNKNOWN,                  // 05F5..05FF
6728             ARABIC,                   // 0600..0604
6729             COMMON,                   // 0605
6730             ARABIC,                   // 0606..060B
6731             COMMON,                   // 060C
6732             ARABIC,                   // 060D..061A
6733             COMMON,                   // 061B
6734             ARABIC,                   // 061C
6735             UNKNOWN,                  // 061D
6736             ARABIC,                   // 061E
6737             COMMON,                   // 061F
6738             ARABIC,                   // 0620..063F


6750             UNKNOWN,                  // 074B..074C
6751             SYRIAC,                   // 074D..074F
6752             ARABIC,                   // 0750..077F
6753             THAANA,                   // 0780..07B1
6754             UNKNOWN,                  // 07B2..07BF
6755             NKO,                      // 07C0..07FA
6756             UNKNOWN,                  // 07FB..07FC
6757             NKO,                      // 07FD..07FF
6758             SAMARITAN,                // 0800..082D
6759             UNKNOWN,                  // 082E..082F
6760             SAMARITAN,                // 0830..083E
6761             UNKNOWN,                  // 083F
6762             MANDAIC,                  // 0840..085B
6763             UNKNOWN,                  // 085C..085D
6764             MANDAIC,                  // 085E
6765             UNKNOWN,                  // 085F
6766             SYRIAC,                   // 0860..086A
6767             UNKNOWN,                  // 086B..089F
6768             ARABIC,                   // 08A0..08B4
6769             UNKNOWN,                  // 08B5
6770             ARABIC,                   // 08B6..08C7
6771             UNKNOWN,                  // 08C8..08D2
6772             ARABIC,                   // 08D3..08E1
6773             COMMON,                   // 08E2
6774             ARABIC,                   // 08E3..08FF
6775             DEVANAGARI,               // 0900..0950
6776             INHERITED,                // 0951..0954
6777             DEVANAGARI,               // 0955..0963
6778             COMMON,                   // 0964..0965
6779             DEVANAGARI,               // 0966..097F
6780             BENGALI,                  // 0980..0983
6781             UNKNOWN,                  // 0984
6782             BENGALI,                  // 0985..098C
6783             UNKNOWN,                  // 098D..098E
6784             BENGALI,                  // 098F..0990
6785             UNKNOWN,                  // 0991..0992
6786             BENGALI,                  // 0993..09A8
6787             UNKNOWN,                  // 09A9
6788             BENGALI,                  // 09AA..09B0
6789             UNKNOWN,                  // 09B1
6790             BENGALI,                  // 09B2
6791             UNKNOWN,                  // 09B3..09B5


6867             UNKNOWN,                  // 0B00
6868             ORIYA,                    // 0B01..0B03
6869             UNKNOWN,                  // 0B04
6870             ORIYA,                    // 0B05..0B0C
6871             UNKNOWN,                  // 0B0D..0B0E
6872             ORIYA,                    // 0B0F..0B10
6873             UNKNOWN,                  // 0B11..0B12
6874             ORIYA,                    // 0B13..0B28
6875             UNKNOWN,                  // 0B29
6876             ORIYA,                    // 0B2A..0B30
6877             UNKNOWN,                  // 0B31
6878             ORIYA,                    // 0B32..0B33
6879             UNKNOWN,                  // 0B34
6880             ORIYA,                    // 0B35..0B39
6881             UNKNOWN,                  // 0B3A..0B3B
6882             ORIYA,                    // 0B3C..0B44
6883             UNKNOWN,                  // 0B45..0B46
6884             ORIYA,                    // 0B47..0B48
6885             UNKNOWN,                  // 0B49..0B4A
6886             ORIYA,                    // 0B4B..0B4D
6887             UNKNOWN,                  // 0B4E..0B54
6888             ORIYA,                    // 0B55..0B57
6889             UNKNOWN,                  // 0B58..0B5B
6890             ORIYA,                    // 0B5C..0B5D
6891             UNKNOWN,                  // 0B5E
6892             ORIYA,                    // 0B5F..0B63
6893             UNKNOWN,                  // 0B64..0B65
6894             ORIYA,                    // 0B66..0B77
6895             UNKNOWN,                  // 0B78..0B81
6896             TAMIL,                    // 0B82..0B83
6897             UNKNOWN,                  // 0B84
6898             TAMIL,                    // 0B85..0B8A
6899             UNKNOWN,                  // 0B8B..0B8D
6900             TAMIL,                    // 0B8E..0B90
6901             UNKNOWN,                  // 0B91
6902             TAMIL,                    // 0B92..0B95
6903             UNKNOWN,                  // 0B96..0B98
6904             TAMIL,                    // 0B99..0B9A
6905             UNKNOWN,                  // 0B9B
6906             TAMIL,                    // 0B9C
6907             UNKNOWN,                  // 0B9D
6908             TAMIL,                    // 0B9E..0B9F


6957             KANNADA,                  // 0CAA..0CB3
6958             UNKNOWN,                  // 0CB4
6959             KANNADA,                  // 0CB5..0CB9
6960             UNKNOWN,                  // 0CBA..0CBB
6961             KANNADA,                  // 0CBC..0CC4
6962             UNKNOWN,                  // 0CC5
6963             KANNADA,                  // 0CC6..0CC8
6964             UNKNOWN,                  // 0CC9
6965             KANNADA,                  // 0CCA..0CCD
6966             UNKNOWN,                  // 0CCE..0CD4
6967             KANNADA,                  // 0CD5..0CD6
6968             UNKNOWN,                  // 0CD7..0CDD
6969             KANNADA,                  // 0CDE
6970             UNKNOWN,                  // 0CDF
6971             KANNADA,                  // 0CE0..0CE3
6972             UNKNOWN,                  // 0CE4..0CE5
6973             KANNADA,                  // 0CE6..0CEF
6974             UNKNOWN,                  // 0CF0
6975             KANNADA,                  // 0CF1..0CF2
6976             UNKNOWN,                  // 0CF3..0CFF
6977             MALAYALAM,                // 0D00..0D0C


6978             UNKNOWN,                  // 0D0D
6979             MALAYALAM,                // 0D0E..0D10
6980             UNKNOWN,                  // 0D11
6981             MALAYALAM,                // 0D12..0D44
6982             UNKNOWN,                  // 0D45
6983             MALAYALAM,                // 0D46..0D48
6984             UNKNOWN,                  // 0D49
6985             MALAYALAM,                // 0D4A..0D4F
6986             UNKNOWN,                  // 0D50..0D53
6987             MALAYALAM,                // 0D54..0D63
6988             UNKNOWN,                  // 0D64..0D65
6989             MALAYALAM,                // 0D66..0D7F
6990             UNKNOWN,                  // 0D80
6991             SINHALA,                  // 0D81..0D83
6992             UNKNOWN,                  // 0D84
6993             SINHALA,                  // 0D85..0D96
6994             UNKNOWN,                  // 0D97..0D99
6995             SINHALA,                  // 0D9A..0DB1
6996             UNKNOWN,                  // 0DB2
6997             SINHALA,                  // 0DB3..0DBB
6998             UNKNOWN,                  // 0DBC
6999             SINHALA,                  // 0DBD
7000             UNKNOWN,                  // 0DBE..0DBF
7001             SINHALA,                  // 0DC0..0DC6
7002             UNKNOWN,                  // 0DC7..0DC9
7003             SINHALA,                  // 0DCA
7004             UNKNOWN,                  // 0DCB..0DCE
7005             SINHALA,                  // 0DCF..0DD4
7006             UNKNOWN,                  // 0DD5
7007             SINHALA,                  // 0DD6
7008             UNKNOWN,                  // 0DD7
7009             SINHALA,                  // 0DD8..0DDF
7010             UNKNOWN,                  // 0DE0..0DE5
7011             SINHALA,                  // 0DE6..0DEF


7163             UNKNOWN,                  // 19AC..19AF
7164             NEW_TAI_LUE,              // 19B0..19C9
7165             UNKNOWN,                  // 19CA..19CF
7166             NEW_TAI_LUE,              // 19D0..19DA
7167             UNKNOWN,                  // 19DB..19DD
7168             NEW_TAI_LUE,              // 19DE..19DF
7169             KHMER,                    // 19E0..19FF
7170             BUGINESE,                 // 1A00..1A1B
7171             UNKNOWN,                  // 1A1C..1A1D
7172             BUGINESE,                 // 1A1E..1A1F
7173             TAI_THAM,                 // 1A20..1A5E
7174             UNKNOWN,                  // 1A5F
7175             TAI_THAM,                 // 1A60..1A7C
7176             UNKNOWN,                  // 1A7D..1A7E
7177             TAI_THAM,                 // 1A7F..1A89
7178             UNKNOWN,                  // 1A8A..1A8F
7179             TAI_THAM,                 // 1A90..1A99
7180             UNKNOWN,                  // 1A9A..1A9F
7181             TAI_THAM,                 // 1AA0..1AAD
7182             UNKNOWN,                  // 1AAE..1AAF
7183             INHERITED,                // 1AB0..1AC0
7184             UNKNOWN,                  // 1AC1..1AFF
7185             BALINESE,                 // 1B00..1B4B
7186             UNKNOWN,                  // 1B4C..1B4F
7187             BALINESE,                 // 1B50..1B7C
7188             UNKNOWN,                  // 1B7D..1B7F
7189             SUNDANESE,                // 1B80..1BBF
7190             BATAK,                    // 1BC0..1BF3
7191             UNKNOWN,                  // 1BF4..1BFB
7192             BATAK,                    // 1BFC..1BFF
7193             LEPCHA,                   // 1C00..1C37
7194             UNKNOWN,                  // 1C38..1C3A
7195             LEPCHA,                   // 1C3B..1C49
7196             UNKNOWN,                  // 1C4A..1C4C
7197             LEPCHA,                   // 1C4D..1C4F
7198             OL_CHIKI,                 // 1C50..1C7F
7199             CYRILLIC,                 // 1C80..1C88
7200             UNKNOWN,                  // 1C89..1C8F
7201             GEORGIAN,                 // 1C90..1CBA
7202             UNKNOWN,                  // 1CBB..1CBC
7203             GEORGIAN,                 // 1CBD..1CBF
7204             SUNDANESE,                // 1CC0..1CC7


7284             GREEK,                    // 2126
7285             COMMON,                   // 2127..2129
7286             LATIN,                    // 212A..212B
7287             COMMON,                   // 212C..2131
7288             LATIN,                    // 2132
7289             COMMON,                   // 2133..214D
7290             LATIN,                    // 214E
7291             COMMON,                   // 214F..215F
7292             LATIN,                    // 2160..2188
7293             COMMON,                   // 2189..218B
7294             UNKNOWN,                  // 218C..218F
7295             COMMON,                   // 2190..2426
7296             UNKNOWN,                  // 2427..243F
7297             COMMON,                   // 2440..244A
7298             UNKNOWN,                  // 244B..245F
7299             COMMON,                   // 2460..27FF
7300             BRAILLE,                  // 2800..28FF
7301             COMMON,                   // 2900..2B73
7302             UNKNOWN,                  // 2B74..2B75
7303             COMMON,                   // 2B76..2B95
7304             UNKNOWN,                  // 2B96
7305             COMMON,                   // 2B97..2BFF
7306             GLAGOLITIC,               // 2C00..2C2E
7307             UNKNOWN,                  // 2C2F
7308             GLAGOLITIC,               // 2C30..2C5E
7309             UNKNOWN,                  // 2C5F
7310             LATIN,                    // 2C60..2C7F
7311             COPTIC,                   // 2C80..2CF3
7312             UNKNOWN,                  // 2CF4..2CF8
7313             COPTIC,                   // 2CF9..2CFF
7314             GEORGIAN,                 // 2D00..2D25
7315             UNKNOWN,                  // 2D26
7316             GEORGIAN,                 // 2D27
7317             UNKNOWN,                  // 2D28..2D2C
7318             GEORGIAN,                 // 2D2D
7319             UNKNOWN,                  // 2D2E..2D2F
7320             TIFINAGH,                 // 2D30..2D67
7321             UNKNOWN,                  // 2D68..2D6E
7322             TIFINAGH,                 // 2D6F..2D70
7323             UNKNOWN,                  // 2D71..2D7E
7324             TIFINAGH,                 // 2D7F
7325             ETHIOPIC,                 // 2D80..2D96
7326             UNKNOWN,                  // 2D97..2D9F
7327             ETHIOPIC,                 // 2DA0..2DA6
7328             UNKNOWN,                  // 2DA7
7329             ETHIOPIC,                 // 2DA8..2DAE
7330             UNKNOWN,                  // 2DAF
7331             ETHIOPIC,                 // 2DB0..2DB6
7332             UNKNOWN,                  // 2DB7
7333             ETHIOPIC,                 // 2DB8..2DBE
7334             UNKNOWN,                  // 2DBF
7335             ETHIOPIC,                 // 2DC0..2DC6
7336             UNKNOWN,                  // 2DC7
7337             ETHIOPIC,                 // 2DC8..2DCE
7338             UNKNOWN,                  // 2DCF
7339             ETHIOPIC,                 // 2DD0..2DD6
7340             UNKNOWN,                  // 2DD7
7341             ETHIOPIC,                 // 2DD8..2DDE
7342             UNKNOWN,                  // 2DDF
7343             CYRILLIC,                 // 2DE0..2DFF
7344             COMMON,                   // 2E00..2E52
7345             UNKNOWN,                  // 2E53..2E7F
7346             HAN,                      // 2E80..2E99
7347             UNKNOWN,                  // 2E9A
7348             HAN,                      // 2E9B..2EF3
7349             UNKNOWN,                  // 2EF4..2EFF
7350             HAN,                      // 2F00..2FD5
7351             UNKNOWN,                  // 2FD6..2FEF
7352             COMMON,                   // 2FF0..2FFB
7353             UNKNOWN,                  // 2FFC..2FFF
7354             COMMON,                   // 3000..3004
7355             HAN,                      // 3005
7356             COMMON,                   // 3006
7357             HAN,                      // 3007
7358             COMMON,                   // 3008..3020
7359             HAN,                      // 3021..3029
7360             INHERITED,                // 302A..302D
7361             HANGUL,                   // 302E..302F
7362             COMMON,                   // 3030..3037
7363             HAN,                      // 3038..303B
7364             COMMON,                   // 303C..303F
7365             UNKNOWN,                  // 3040
7366             HIRAGANA,                 // 3041..3096
7367             UNKNOWN,                  // 3097..3098
7368             INHERITED,                // 3099..309A
7369             COMMON,                   // 309B..309C
7370             HIRAGANA,                 // 309D..309F
7371             COMMON,                   // 30A0
7372             KATAKANA,                 // 30A1..30FA
7373             COMMON,                   // 30FB..30FC
7374             KATAKANA,                 // 30FD..30FF
7375             UNKNOWN,                  // 3100..3104
7376             BOPOMOFO,                 // 3105..312F
7377             UNKNOWN,                  // 3130
7378             HANGUL,                   // 3131..318E
7379             UNKNOWN,                  // 318F
7380             COMMON,                   // 3190..319F
7381             BOPOMOFO,                 // 31A0..31BF

7382             COMMON,                   // 31C0..31E3
7383             UNKNOWN,                  // 31E4..31EF
7384             KATAKANA,                 // 31F0..31FF
7385             HANGUL,                   // 3200..321E
7386             UNKNOWN,                  // 321F
7387             COMMON,                   // 3220..325F
7388             HANGUL,                   // 3260..327E
7389             COMMON,                   // 327F..32CF
7390             KATAKANA,                 // 32D0..32FE
7391             COMMON,                   // 32FF
7392             KATAKANA,                 // 3300..3357
7393             COMMON,                   // 3358..33FF
7394             HAN,                      // 3400..4DBF

7395             COMMON,                   // 4DC0..4DFF
7396             HAN,                      // 4E00..9FFC
7397             UNKNOWN,                  // 9FFD..9FFF
7398             YI,                       // A000..A48C
7399             UNKNOWN,                  // A48D..A48F
7400             YI,                       // A490..A4C6
7401             UNKNOWN,                  // A4C7..A4CF
7402             LISU,                     // A4D0..A4FF
7403             VAI,                      // A500..A62B
7404             UNKNOWN,                  // A62C..A63F
7405             CYRILLIC,                 // A640..A69F
7406             BAMUM,                    // A6A0..A6F7
7407             UNKNOWN,                  // A6F8..A6FF
7408             COMMON,                   // A700..A721
7409             LATIN,                    // A722..A787
7410             COMMON,                   // A788..A78A
7411             LATIN,                    // A78B..A7BF
7412             UNKNOWN,                  // A7C0..A7C1
7413             LATIN,                    // A7C2..A7CA
7414             UNKNOWN,                  // A7CB..A7F4
7415             LATIN,                    // A7F5..A7FF
7416             SYLOTI_NAGRI,             // A800..A82C
7417             UNKNOWN,                  // A82D..A82F
7418             COMMON,                   // A830..A839
7419             UNKNOWN,                  // A83A..A83F
7420             PHAGS_PA,                 // A840..A877
7421             UNKNOWN,                  // A878..A87F
7422             SAURASHTRA,               // A880..A8C5
7423             UNKNOWN,                  // A8C6..A8CD
7424             SAURASHTRA,               // A8CE..A8D9
7425             UNKNOWN,                  // A8DA..A8DF
7426             DEVANAGARI,               // A8E0..A8FF
7427             KAYAH_LI,                 // A900..A92D
7428             COMMON,                   // A92E
7429             KAYAH_LI,                 // A92F
7430             REJANG,                   // A930..A953
7431             UNKNOWN,                  // A954..A95E
7432             REJANG,                   // A95F
7433             HANGUL,                   // A960..A97C
7434             UNKNOWN,                  // A97D..A97F
7435             JAVANESE,                 // A980..A9CD
7436             UNKNOWN,                  // A9CE
7437             COMMON,                   // A9CF


7450             MYANMAR,                  // AA60..AA7F
7451             TAI_VIET,                 // AA80..AAC2
7452             UNKNOWN,                  // AAC3..AADA
7453             TAI_VIET,                 // AADB..AADF
7454             MEETEI_MAYEK,             // AAE0..AAF6
7455             UNKNOWN,                  // AAF7..AB00
7456             ETHIOPIC,                 // AB01..AB06
7457             UNKNOWN,                  // AB07..AB08
7458             ETHIOPIC,                 // AB09..AB0E
7459             UNKNOWN,                  // AB0F..AB10
7460             ETHIOPIC,                 // AB11..AB16
7461             UNKNOWN,                  // AB17..AB1F
7462             ETHIOPIC,                 // AB20..AB26
7463             UNKNOWN,                  // AB27
7464             ETHIOPIC,                 // AB28..AB2E
7465             UNKNOWN,                  // AB2F
7466             LATIN,                    // AB30..AB5A
7467             COMMON,                   // AB5B
7468             LATIN,                    // AB5C..AB64
7469             GREEK,                    // AB65
7470             LATIN,                    // AB66..AB69
7471             COMMON,                   // AB6A..AB6B
7472             UNKNOWN,                  // AB6C..AB6F
7473             CHEROKEE,                 // AB70..ABBF
7474             MEETEI_MAYEK,             // ABC0..ABED
7475             UNKNOWN,                  // ABEE..ABEF
7476             MEETEI_MAYEK,             // ABF0..ABF9
7477             UNKNOWN,                  // ABFA..ABFF
7478             HANGUL,                   // AC00..D7A3
7479             UNKNOWN,                  // D7A4..D7AF
7480             HANGUL,                   // D7B0..D7C6
7481             UNKNOWN,                  // D7C7..D7CA
7482             HANGUL,                   // D7CB..D7FB
7483             UNKNOWN,                  // D7FC..F8FF
7484             HAN,                      // F900..FA6D
7485             UNKNOWN,                  // FA6E..FA6F
7486             HAN,                      // FA70..FAD9
7487             UNKNOWN,                  // FADA..FAFF
7488             LATIN,                    // FB00..FB06
7489             UNKNOWN,                  // FB07..FB12
7490             ARMENIAN,                 // FB13..FB17
7491             UNKNOWN,                  // FB18..FB1C
7492             HEBREW,                   // FB1D..FB36


7557             UNKNOWN,                  // 1000C
7558             LINEAR_B,                 // 1000D..10026
7559             UNKNOWN,                  // 10027
7560             LINEAR_B,                 // 10028..1003A
7561             UNKNOWN,                  // 1003B
7562             LINEAR_B,                 // 1003C..1003D
7563             UNKNOWN,                  // 1003E
7564             LINEAR_B,                 // 1003F..1004D
7565             UNKNOWN,                  // 1004E..1004F
7566             LINEAR_B,                 // 10050..1005D
7567             UNKNOWN,                  // 1005E..1007F
7568             LINEAR_B,                 // 10080..100FA
7569             UNKNOWN,                  // 100FB..100FF
7570             COMMON,                   // 10100..10102
7571             UNKNOWN,                  // 10103..10106
7572             COMMON,                   // 10107..10133
7573             UNKNOWN,                  // 10134..10136
7574             COMMON,                   // 10137..1013F
7575             GREEK,                    // 10140..1018E
7576             UNKNOWN,                  // 1018F
7577             COMMON,                   // 10190..1019C
7578             UNKNOWN,                  // 1019D..1019F
7579             GREEK,                    // 101A0
7580             UNKNOWN,                  // 101A1..101CF
7581             COMMON,                   // 101D0..101FC
7582             INHERITED,                // 101FD
7583             UNKNOWN,                  // 101FE..1027F
7584             LYCIAN,                   // 10280..1029C
7585             UNKNOWN,                  // 1029D..1029F
7586             CARIAN,                   // 102A0..102D0
7587             UNKNOWN,                  // 102D1..102DF
7588             INHERITED,                // 102E0
7589             COMMON,                   // 102E1..102FB
7590             UNKNOWN,                  // 102FC..102FF
7591             OLD_ITALIC,               // 10300..10323
7592             UNKNOWN,                  // 10324..1032C
7593             OLD_ITALIC,               // 1032D..1032F
7594             GOTHIC,                   // 10330..1034A
7595             UNKNOWN,                  // 1034B..1034F
7596             OLD_PERMIC,               // 10350..1037A
7597             UNKNOWN,                  // 1037B..1037F
7598             UGARITIC,                 // 10380..1039D


7694             UNKNOWN,                  // 10B73..10B77
7695             INSCRIPTIONAL_PAHLAVI,    // 10B78..10B7F
7696             PSALTER_PAHLAVI,          // 10B80..10B91
7697             UNKNOWN,                  // 10B92..10B98
7698             PSALTER_PAHLAVI,          // 10B99..10B9C
7699             UNKNOWN,                  // 10B9D..10BA8
7700             PSALTER_PAHLAVI,          // 10BA9..10BAF
7701             UNKNOWN,                  // 10BB0..10BFF
7702             OLD_TURKIC,               // 10C00..10C48
7703             UNKNOWN,                  // 10C49..10C7F
7704             OLD_HUNGARIAN,            // 10C80..10CB2
7705             UNKNOWN,                  // 10CB3..10CBF
7706             OLD_HUNGARIAN,            // 10CC0..10CF2
7707             UNKNOWN,                  // 10CF3..10CF9
7708             OLD_HUNGARIAN,            // 10CFA..10CFF
7709             HANIFI_ROHINGYA,          // 10D00..10D27
7710             UNKNOWN,                  // 10D28..10D2F
7711             HANIFI_ROHINGYA,          // 10D30..10D39
7712             UNKNOWN,                  // 10D3A..10E5F
7713             ARABIC,                   // 10E60..10E7E
7714             UNKNOWN,                  // 10E7F
7715             YEZIDI,                   // 10E80..10EA9
7716             UNKNOWN,                  // 10EAA
7717             YEZIDI,                   // 10EAB..10EAD
7718             UNKNOWN,                  // 10EAE..10EAF
7719             YEZIDI,                   // 10EB0..10EB1
7720             UNKNOWN,                  // 10EB2..10EFF
7721             OLD_SOGDIAN,              // 10F00..10F27
7722             UNKNOWN,                  // 10F28..10F2F
7723             SOGDIAN,                  // 10F30..10F59
7724             UNKNOWN,                  // 10F5A..10FAF
7725             CHORASMIAN,               // 10FB0..10FCB
7726             UNKNOWN,                  // 10FCC..10FDF
7727             ELYMAIC,                  // 10FE0..10FF6
7728             UNKNOWN,                  // 10FF7..10FFF
7729             BRAHMI,                   // 11000..1104D
7730             UNKNOWN,                  // 1104E..11051
7731             BRAHMI,                   // 11052..1106F
7732             UNKNOWN,                  // 11070..1107E
7733             BRAHMI,                   // 1107F
7734             KAITHI,                   // 11080..110C1
7735             UNKNOWN,                  // 110C2..110CC
7736             KAITHI,                   // 110CD
7737             UNKNOWN,                  // 110CE..110CF
7738             SORA_SOMPENG,             // 110D0..110E8
7739             UNKNOWN,                  // 110E9..110EF
7740             SORA_SOMPENG,             // 110F0..110F9
7741             UNKNOWN,                  // 110FA..110FF
7742             CHAKMA,                   // 11100..11134
7743             UNKNOWN,                  // 11135
7744             CHAKMA,                   // 11136..11147
7745             UNKNOWN,                  // 11148..1114F
7746             MAHAJANI,                 // 11150..11176
7747             UNKNOWN,                  // 11177..1117F
7748             SHARADA,                  // 11180..111DF


7749             UNKNOWN,                  // 111E0
7750             SINHALA,                  // 111E1..111F4
7751             UNKNOWN,                  // 111F5..111FF
7752             KHOJKI,                   // 11200..11211
7753             UNKNOWN,                  // 11212
7754             KHOJKI,                   // 11213..1123E
7755             UNKNOWN,                  // 1123F..1127F
7756             MULTANI,                  // 11280..11286
7757             UNKNOWN,                  // 11287
7758             MULTANI,                  // 11288
7759             UNKNOWN,                  // 11289
7760             MULTANI,                  // 1128A..1128D
7761             UNKNOWN,                  // 1128E
7762             MULTANI,                  // 1128F..1129D
7763             UNKNOWN,                  // 1129E
7764             MULTANI,                  // 1129F..112A9
7765             UNKNOWN,                  // 112AA..112AF
7766             KHUDAWADI,                // 112B0..112EA
7767             UNKNOWN,                  // 112EB..112EF
7768             KHUDAWADI,                // 112F0..112F9


7781             UNKNOWN,                  // 11334
7782             GRANTHA,                  // 11335..11339
7783             UNKNOWN,                  // 1133A
7784             INHERITED,                // 1133B
7785             GRANTHA,                  // 1133C..11344
7786             UNKNOWN,                  // 11345..11346
7787             GRANTHA,                  // 11347..11348
7788             UNKNOWN,                  // 11349..1134A
7789             GRANTHA,                  // 1134B..1134D
7790             UNKNOWN,                  // 1134E..1134F
7791             GRANTHA,                  // 11350
7792             UNKNOWN,                  // 11351..11356
7793             GRANTHA,                  // 11357
7794             UNKNOWN,                  // 11358..1135C
7795             GRANTHA,                  // 1135D..11363
7796             UNKNOWN,                  // 11364..11365
7797             GRANTHA,                  // 11366..1136C
7798             UNKNOWN,                  // 1136D..1136F
7799             GRANTHA,                  // 11370..11374
7800             UNKNOWN,                  // 11375..113FF
7801             NEWA,                     // 11400..1145B


7802             UNKNOWN,                  // 1145C
7803             NEWA,                     // 1145D..11461
7804             UNKNOWN,                  // 11462..1147F
7805             TIRHUTA,                  // 11480..114C7
7806             UNKNOWN,                  // 114C8..114CF
7807             TIRHUTA,                  // 114D0..114D9
7808             UNKNOWN,                  // 114DA..1157F
7809             SIDDHAM,                  // 11580..115B5
7810             UNKNOWN,                  // 115B6..115B7
7811             SIDDHAM,                  // 115B8..115DD
7812             UNKNOWN,                  // 115DE..115FF
7813             MODI,                     // 11600..11644
7814             UNKNOWN,                  // 11645..1164F
7815             MODI,                     // 11650..11659
7816             UNKNOWN,                  // 1165A..1165F
7817             MONGOLIAN,                // 11660..1166C
7818             UNKNOWN,                  // 1166D..1167F
7819             TAKRI,                    // 11680..116B8
7820             UNKNOWN,                  // 116B9..116BF
7821             TAKRI,                    // 116C0..116C9
7822             UNKNOWN,                  // 116CA..116FF
7823             AHOM,                     // 11700..1171A
7824             UNKNOWN,                  // 1171B..1171C
7825             AHOM,                     // 1171D..1172B
7826             UNKNOWN,                  // 1172C..1172F
7827             AHOM,                     // 11730..1173F
7828             UNKNOWN,                  // 11740..117FF
7829             DOGRA,                    // 11800..1183B
7830             UNKNOWN,                  // 1183C..1189F
7831             WARANG_CITI,              // 118A0..118F2
7832             UNKNOWN,                  // 118F3..118FE
7833             WARANG_CITI,              // 118FF
7834             DIVES_AKURU,              // 11900..11906
7835             UNKNOWN,                  // 11907..11908
7836             DIVES_AKURU,              // 11909
7837             UNKNOWN,                  // 1190A..1190B
7838             DIVES_AKURU,              // 1190C..11913
7839             UNKNOWN,                  // 11914
7840             DIVES_AKURU,              // 11915..11916
7841             UNKNOWN,                  // 11917
7842             DIVES_AKURU,              // 11918..11935
7843             UNKNOWN,                  // 11936
7844             DIVES_AKURU,              // 11937..11938
7845             UNKNOWN,                  // 11939..1193A
7846             DIVES_AKURU,              // 1193B..11946
7847             UNKNOWN,                  // 11947..1194F
7848             DIVES_AKURU,              // 11950..11959
7849             UNKNOWN,                  // 1195A..1199F
7850             NANDINAGARI,              // 119A0..119A7
7851             UNKNOWN,                  // 119A8..119A9
7852             NANDINAGARI,              // 119AA..119D7
7853             UNKNOWN,                  // 119D8..119D9
7854             NANDINAGARI,              // 119DA..119E4
7855             UNKNOWN,                  // 119E5..119FF
7856             ZANABAZAR_SQUARE,         // 11A00..11A47
7857             UNKNOWN,                  // 11A48..11A4F
7858             SOYOMBO,                  // 11A50..11AA2
7859             UNKNOWN,                  // 11AA3..11ABF
7860             PAU_CIN_HAU,              // 11AC0..11AF8
7861             UNKNOWN,                  // 11AF9..11BFF
7862             BHAIKSUKI,                // 11C00..11C08
7863             UNKNOWN,                  // 11C09
7864             BHAIKSUKI,                // 11C0A..11C36
7865             UNKNOWN,                  // 11C37
7866             BHAIKSUKI,                // 11C38..11C45
7867             UNKNOWN,                  // 11C46..11C4F
7868             BHAIKSUKI,                // 11C50..11C6C
7869             UNKNOWN,                  // 11C6D..11C6F


7883             UNKNOWN,                  // 11D3B
7884             MASARAM_GONDI,            // 11D3C..11D3D
7885             UNKNOWN,                  // 11D3E
7886             MASARAM_GONDI,            // 11D3F..11D47
7887             UNKNOWN,                  // 11D48..11D4F
7888             MASARAM_GONDI,            // 11D50..11D59
7889             UNKNOWN,                  // 11D5A..11D5F
7890             GUNJALA_GONDI,            // 11D60..11D65
7891             UNKNOWN,                  // 11D66
7892             GUNJALA_GONDI,            // 11D67..11D68
7893             UNKNOWN,                  // 11D69
7894             GUNJALA_GONDI,            // 11D6A..11D8E
7895             UNKNOWN,                  // 11D8F
7896             GUNJALA_GONDI,            // 11D90..11D91
7897             UNKNOWN,                  // 11D92
7898             GUNJALA_GONDI,            // 11D93..11D98
7899             UNKNOWN,                  // 11D99..11D9F
7900             GUNJALA_GONDI,            // 11DA0..11DA9
7901             UNKNOWN,                  // 11DAA..11EDF
7902             MAKASAR,                  // 11EE0..11EF8
7903             UNKNOWN,                  // 11EF9..11FAF
7904             LISU,                     // 11FB0
7905             UNKNOWN,                  // 11FB1..11FBF
7906             TAMIL,                    // 11FC0..11FF1
7907             UNKNOWN,                  // 11FF2..11FFE
7908             TAMIL,                    // 11FFF
7909             CUNEIFORM,                // 12000..12399
7910             UNKNOWN,                  // 1239A..123FF
7911             CUNEIFORM,                // 12400..1246E
7912             UNKNOWN,                  // 1246F
7913             CUNEIFORM,                // 12470..12474
7914             UNKNOWN,                  // 12475..1247F
7915             CUNEIFORM,                // 12480..12543
7916             UNKNOWN,                  // 12544..12FFF
7917             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
7918             UNKNOWN,                  // 1342F
7919             EGYPTIAN_HIEROGLYPHS,     // 13430..13438
7920             UNKNOWN,                  // 13439..143FF
7921             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
7922             UNKNOWN,                  // 14647..167FF
7923             BAMUM,                    // 16800..16A38
7924             UNKNOWN,                  // 16A39..16A3F
7925             MRO,                      // 16A40..16A5E


7936             UNKNOWN,                  // 16B46..16B4F
7937             PAHAWH_HMONG,             // 16B50..16B59
7938             UNKNOWN,                  // 16B5A
7939             PAHAWH_HMONG,             // 16B5B..16B61
7940             UNKNOWN,                  // 16B62
7941             PAHAWH_HMONG,             // 16B63..16B77
7942             UNKNOWN,                  // 16B78..16B7C
7943             PAHAWH_HMONG,             // 16B7D..16B8F
7944             UNKNOWN,                  // 16B90..16E3F
7945             MEDEFAIDRIN,              // 16E40..16E9A
7946             UNKNOWN,                  // 16E9B..16EFF
7947             MIAO,                     // 16F00..16F4A
7948             UNKNOWN,                  // 16F4B..16F4E
7949             MIAO,                     // 16F4F..16F87
7950             UNKNOWN,                  // 16F88..16F8E
7951             MIAO,                     // 16F8F..16F9F
7952             UNKNOWN,                  // 16FA0..16FDF
7953             TANGUT,                   // 16FE0
7954             NUSHU,                    // 16FE1
7955             COMMON,                   // 16FE2..16FE3
7956             KHITAN_SMALL_SCRIPT,      // 16FE4
7957             UNKNOWN,                  // 16FE5..16FEF
7958             HAN,                      // 16FF0..16FF1
7959             UNKNOWN,                  // 16FF2..16FFF
7960             TANGUT,                   // 17000..187F7
7961             UNKNOWN,                  // 187F8..187FF
7962             TANGUT,                   // 18800..18AFF
7963             KHITAN_SMALL_SCRIPT,      // 18B00..18CD5
7964             UNKNOWN,                  // 18CD6..18CFF
7965             TANGUT,                   // 18D00..18D08
7966             UNKNOWN,                  // 18D09..1AFFF
7967             KATAKANA,                 // 1B000
7968             HIRAGANA,                 // 1B001..1B11E
7969             UNKNOWN,                  // 1B11F..1B14F
7970             HIRAGANA,                 // 1B150..1B152
7971             UNKNOWN,                  // 1B153..1B163
7972             KATAKANA,                 // 1B164..1B167
7973             UNKNOWN,                  // 1B168..1B16F
7974             NUSHU,                    // 1B170..1B2FB
7975             UNKNOWN,                  // 1B2FC..1BBFF
7976             DUPLOYAN,                 // 1BC00..1BC6A
7977             UNKNOWN,                  // 1BC6B..1BC6F
7978             DUPLOYAN,                 // 1BC70..1BC7C
7979             UNKNOWN,                  // 1BC7D..1BC7F
7980             DUPLOYAN,                 // 1BC80..1BC88
7981             UNKNOWN,                  // 1BC89..1BC8F
7982             DUPLOYAN,                 // 1BC90..1BC99
7983             UNKNOWN,                  // 1BC9A..1BC9B
7984             DUPLOYAN,                 // 1BC9C..1BC9F
7985             COMMON,                   // 1BCA0..1BCA3
7986             UNKNOWN,                  // 1BCA4..1CFFF


8152             ARABIC,                   // 1EEA1..1EEA3
8153             UNKNOWN,                  // 1EEA4
8154             ARABIC,                   // 1EEA5..1EEA9
8155             UNKNOWN,                  // 1EEAA
8156             ARABIC,                   // 1EEAB..1EEBB
8157             UNKNOWN,                  // 1EEBC..1EEEF
8158             ARABIC,                   // 1EEF0..1EEF1
8159             UNKNOWN,                  // 1EEF2..1EFFF
8160             COMMON,                   // 1F000..1F02B
8161             UNKNOWN,                  // 1F02C..1F02F
8162             COMMON,                   // 1F030..1F093
8163             UNKNOWN,                  // 1F094..1F09F
8164             COMMON,                   // 1F0A0..1F0AE
8165             UNKNOWN,                  // 1F0AF..1F0B0
8166             COMMON,                   // 1F0B1..1F0BF
8167             UNKNOWN,                  // 1F0C0
8168             COMMON,                   // 1F0C1..1F0CF
8169             UNKNOWN,                  // 1F0D0
8170             COMMON,                   // 1F0D1..1F0F5
8171             UNKNOWN,                  // 1F0F6..1F0FF
8172             COMMON,                   // 1F100..1F1AD
8173             UNKNOWN,                  // 1F1AE..1F1E5




8174             COMMON,                   // 1F1E6..1F1FF
8175             HIRAGANA,                 // 1F200
8176             COMMON,                   // 1F201..1F202
8177             UNKNOWN,                  // 1F203..1F20F
8178             COMMON,                   // 1F210..1F23B
8179             UNKNOWN,                  // 1F23C..1F23F
8180             COMMON,                   // 1F240..1F248
8181             UNKNOWN,                  // 1F249..1F24F
8182             COMMON,                   // 1F250..1F251
8183             UNKNOWN,                  // 1F252..1F25F
8184             COMMON,                   // 1F260..1F265
8185             UNKNOWN,                  // 1F266..1F2FF
8186             COMMON,                   // 1F300..1F6D7
8187             UNKNOWN,                  // 1F6D8..1F6DF
8188             COMMON,                   // 1F6E0..1F6EC
8189             UNKNOWN,                  // 1F6ED..1F6EF
8190             COMMON,                   // 1F6F0..1F6FC
8191             UNKNOWN,                  // 1F6FD..1F6FF
8192             COMMON,                   // 1F700..1F773
8193             UNKNOWN,                  // 1F774..1F77F
8194             COMMON,                   // 1F780..1F7D8
8195             UNKNOWN,                  // 1F7D9..1F7DF
8196             COMMON,                   // 1F7E0..1F7EB
8197             UNKNOWN,                  // 1F7EC..1F7FF
8198             COMMON,                   // 1F800..1F80B
8199             UNKNOWN,                  // 1F80C..1F80F
8200             COMMON,                   // 1F810..1F847
8201             UNKNOWN,                  // 1F848..1F84F
8202             COMMON,                   // 1F850..1F859
8203             UNKNOWN,                  // 1F85A..1F85F
8204             COMMON,                   // 1F860..1F887
8205             UNKNOWN,                  // 1F888..1F88F
8206             COMMON,                   // 1F890..1F8AD
8207             UNKNOWN,                  // 1F8AE..1F8AF
8208             COMMON,                   // 1F8B0..1F8B1
8209             UNKNOWN,                  // 1F8B2..1F8FF
8210             COMMON,                   // 1F900..1F978
8211             UNKNOWN,                  // 1F979
8212             COMMON,                   // 1F97A..1F9CB
8213             UNKNOWN,                  // 1F9CC






8214             COMMON,                   // 1F9CD..1FA53
8215             UNKNOWN,                  // 1FA54..1FA5F
8216             COMMON,                   // 1FA60..1FA6D
8217             UNKNOWN,                  // 1FA6E..1FA6F
8218             COMMON,                   // 1FA70..1FA74
8219             UNKNOWN,                  // 1FA75..1FA77
8220             COMMON,                   // 1FA78..1FA7A
8221             UNKNOWN,                  // 1FA7B..1FA7F
8222             COMMON,                   // 1FA80..1FA86
8223             UNKNOWN,                  // 1FA87..1FA8F
8224             COMMON,                   // 1FA90..1FAA8
8225             UNKNOWN,                  // 1FAA9..1FAAF
8226             COMMON,                   // 1FAB0..1FAB6
8227             UNKNOWN,                  // 1FAB7..1FABF
8228             COMMON,                   // 1FAC0..1FAC2
8229             UNKNOWN,                  // 1FAC3..1FACF
8230             COMMON,                   // 1FAD0..1FAD6
8231             UNKNOWN,                  // 1FAD7..1FAFF
8232             COMMON,                   // 1FB00..1FB92
8233             UNKNOWN,                  // 1FB93
8234             COMMON,                   // 1FB94..1FBCA
8235             UNKNOWN,                  // 1FBCB..1FBEF
8236             COMMON,                   // 1FBF0..1FBF9
8237             UNKNOWN,                  // 1FBFA..1FFFF
8238             HAN,                      // 20000..2A6DD
8239             UNKNOWN,                  // 2A6DE..2A6FF
8240             HAN,                      // 2A700..2B734
8241             UNKNOWN,                  // 2B735..2B73F
8242             HAN,                      // 2B740..2B81D
8243             UNKNOWN,                  // 2B81E..2B81F
8244             HAN,                      // 2B820..2CEA1
8245             UNKNOWN,                  // 2CEA2..2CEAF
8246             HAN,                      // 2CEB0..2EBE0
8247             UNKNOWN,                  // 2EBE1..2F7FF
8248             HAN,                      // 2F800..2FA1D
8249             UNKNOWN,                  // 2FA1E..2FFFF
8250             HAN,                      // 30000..3134A
8251             UNKNOWN,                  // 3134B..E0000
8252             COMMON,                   // E0001
8253             UNKNOWN,                  // E0002..E001F
8254             COMMON,                   // E0020..E007F
8255             UNKNOWN,                  // E0080..E00FF
8256             INHERITED,                // E0100..E01EF
8257             UNKNOWN,                  // E01F0..10FFFF
8258         };
8259 
8260         private static final HashMap<String, Character.UnicodeScript> aliases;
8261         static {
8262             aliases = new HashMap<>((int)(157 / 0.75f + 1.0f));
8263             aliases.put("ADLM", ADLAM);
8264             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8265             aliases.put("AHOM", AHOM);
8266             aliases.put("ARAB", ARABIC);
8267             aliases.put("ARMI", IMPERIAL_ARAMAIC);
8268             aliases.put("ARMN", ARMENIAN);
8269             aliases.put("AVST", AVESTAN);
8270             aliases.put("BALI", BALINESE);
8271             aliases.put("BAMU", BAMUM);
8272             aliases.put("BASS", BASSA_VAH);
8273             aliases.put("BATK", BATAK);
8274             aliases.put("BENG", BENGALI);
8275             aliases.put("BHKS", BHAIKSUKI);
8276             aliases.put("BOPO", BOPOMOFO);
8277             aliases.put("BRAH", BRAHMI);
8278             aliases.put("BRAI", BRAILLE);
8279             aliases.put("BUGI", BUGINESE);
8280             aliases.put("BUHD", BUHID);
8281             aliases.put("CAKM", CHAKMA);
8282             aliases.put("CANS", CANADIAN_ABORIGINAL);
8283             aliases.put("CARI", CARIAN);
8284             aliases.put("CHAM", CHAM);
8285             aliases.put("CHER", CHEROKEE);
8286             aliases.put("CHRS", CHORASMIAN);
8287             aliases.put("COPT", COPTIC);
8288             aliases.put("CPRT", CYPRIOT);
8289             aliases.put("CYRL", CYRILLIC);
8290             aliases.put("DEVA", DEVANAGARI);
8291             aliases.put("DIAK", DIVES_AKURU);
8292             aliases.put("DOGR", DOGRA);
8293             aliases.put("DSRT", DESERET);
8294             aliases.put("DUPL", DUPLOYAN);
8295             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8296             aliases.put("ELBA", ELBASAN);
8297             aliases.put("ELYM", ELYMAIC);
8298             aliases.put("ETHI", ETHIOPIC);
8299             aliases.put("GEOR", GEORGIAN);
8300             aliases.put("GLAG", GLAGOLITIC);
8301             aliases.put("GONM", MASARAM_GONDI);
8302             aliases.put("GOTH", GOTHIC);
8303             aliases.put("GONG", GUNJALA_GONDI);
8304             aliases.put("GRAN", GRANTHA);
8305             aliases.put("GREK", GREEK);
8306             aliases.put("GUJR", GUJARATI);
8307             aliases.put("GURU", GURMUKHI);
8308             aliases.put("HANG", HANGUL);
8309             aliases.put("HANI", HAN);
8310             aliases.put("HANO", HANUNOO);
8311             aliases.put("HATR", HATRAN);
8312             aliases.put("HEBR", HEBREW);
8313             aliases.put("HIRA", HIRAGANA);
8314             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8315             aliases.put("HMNG", PAHAWH_HMONG);
8316             aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8317             // it appears we don't have the KATAKANA_OR_HIRAGANA
8318             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8319             aliases.put("HUNG", OLD_HUNGARIAN);
8320             aliases.put("ITAL", OLD_ITALIC);
8321             aliases.put("JAVA", JAVANESE);
8322             aliases.put("KALI", KAYAH_LI);
8323             aliases.put("KANA", KATAKANA);
8324             aliases.put("KHAR", KHAROSHTHI);
8325             aliases.put("KHMR", KHMER);
8326             aliases.put("KHOJ", KHOJKI);
8327             aliases.put("KITS", KHITAN_SMALL_SCRIPT);
8328             aliases.put("KNDA", KANNADA);
8329             aliases.put("KTHI", KAITHI);
8330             aliases.put("LANA", TAI_THAM);
8331             aliases.put("LAOO", LAO);
8332             aliases.put("LATN", LATIN);
8333             aliases.put("LEPC", LEPCHA);
8334             aliases.put("LIMB", LIMBU);
8335             aliases.put("LINA", LINEAR_A);
8336             aliases.put("LINB", LINEAR_B);
8337             aliases.put("LISU", LISU);
8338             aliases.put("LYCI", LYCIAN);
8339             aliases.put("LYDI", LYDIAN);
8340             aliases.put("MAHJ", MAHAJANI);
8341             aliases.put("MAKA", MAKASAR);
8342             aliases.put("MARC", MARCHEN);
8343             aliases.put("MAND", MANDAIC);
8344             aliases.put("MANI", MANICHAEAN);
8345             aliases.put("MEDF", MEDEFAIDRIN);
8346             aliases.put("MEND", MENDE_KIKAKUI);
8347             aliases.put("MERC", MEROITIC_CURSIVE);


8397             aliases.put("TAKR", TAKRI);
8398             aliases.put("TALE", TAI_LE);
8399             aliases.put("TALU", NEW_TAI_LUE);
8400             aliases.put("TAML", TAMIL);
8401             aliases.put("TANG", TANGUT);
8402             aliases.put("TAVT", TAI_VIET);
8403             aliases.put("TELU", TELUGU);
8404             aliases.put("TFNG", TIFINAGH);
8405             aliases.put("TGLG", TAGALOG);
8406             aliases.put("THAA", THAANA);
8407             aliases.put("THAI", THAI);
8408             aliases.put("TIBT", TIBETAN);
8409             aliases.put("TIRH", TIRHUTA);
8410             aliases.put("UGAR", UGARITIC);
8411             aliases.put("VAII", VAI);
8412             aliases.put("WARA", WARANG_CITI);
8413             aliases.put("WCHO", WANCHO);
8414             aliases.put("XPEO", OLD_PERSIAN);
8415             aliases.put("XSUX", CUNEIFORM);
8416             aliases.put("YIII", YI);
8417             aliases.put("YEZI", YEZIDI);
8418             aliases.put("ZANB", ZANABAZAR_SQUARE);
8419             aliases.put("ZINH", INHERITED);
8420             aliases.put("ZYYY", COMMON);
8421             aliases.put("ZZZZ", UNKNOWN);
8422         }
8423 
8424         /**
8425          * Returns the enum constant representing the Unicode script of which
8426          * the given character (Unicode code point) is assigned to.
8427          *
8428          * @param   codePoint the character (Unicode code point) in question.
8429          * @return  The {@code UnicodeScript} constant representing the
8430          *          Unicode script of which this character is assigned to.
8431          *
8432          * @throws  IllegalArgumentException if the specified
8433          * {@code codePoint} is an invalid Unicode code point.
8434          * @see Character#isValidCodePoint(int)
8435          *
8436          */
8437         public static UnicodeScript of(int codePoint) {


< prev index next >