< prev index next >

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

Print this page




  25 
  26 package java.lang;
  27 
  28 import java.util.Arrays;
  29 import java.util.Map;
  30 import java.util.HashMap;
  31 import java.util.Locale;
  32 
  33 import jdk.internal.HotSpotIntrinsicCandidate;
  34 
  35 /**
  36  * The {@code Character} class wraps a value of the primitive
  37  * type {@code char} in an object. An object of type
  38  * {@code Character} contains a single field whose type is
  39  * {@code char}.
  40  * <p>
  41  * In addition, this class provides several methods for determining
  42  * a character's category (lowercase letter, digit, etc.) and for converting
  43  * characters from uppercase to lowercase and vice versa.
  44  * <p>
  45  * Character information is based on the Unicode Standard, version 8.0.0.
  46  * <p>
  47  * The methods and data of class {@code Character} are defined by
  48  * the information in the <i>UnicodeData</i> file that is part of the
  49  * Unicode Character Database maintained by the Unicode
  50  * Consortium. This file specifies various properties including name
  51  * and general category for every defined Unicode code point or
  52  * character range.
  53  * <p>
  54  * The file and its description are available from the Unicode Consortium at:
  55  * <ul>
  56  * <li><a href="http://www.unicode.org">http://www.unicode.org</a>
  57  * </ul>
  58  *
  59  * <h3><a id="unicode">Unicode Character Representations</a></h3>
  60  *
  61  * <p>The {@code char} data type (and therefore the value that a
  62  * {@code Character} object encapsulates) are based on the
  63  * original Unicode specification, which defined characters as
  64  * fixed-width 16-bit entities. The Unicode Standard has since been
  65  * changed to allow for characters whose representation requires more


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


2919         /**
2920          * Constant for the "Supplemental Symbols and Pictographs" Unicode
2921          * character block.
2922          * @since 9
2923          */
2924         public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS =
2925             new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS",
2926                              "SUPPLEMENTAL SYMBOLS AND PICTOGRAPHS",
2927                              "SUPPLEMENTALSYMBOLSANDPICTOGRAPHS");
2928 
2929         /**
2930          * Constant for the "CJK Unified Ideographs Extension E" Unicode
2931          * character block.
2932          * @since 9
2933          */
2934         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E =
2935             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E",
2936                              "CJK UNIFIED IDEOGRAPHS EXTENSION E",
2937                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONE");
2938 

































































































































































2939 
2940         private static final int blockStarts[] = {
2941             0x0000,   // 0000..007F; Basic Latin
2942             0x0080,   // 0080..00FF; Latin-1 Supplement
2943             0x0100,   // 0100..017F; Latin Extended-A
2944             0x0180,   // 0180..024F; Latin Extended-B
2945             0x0250,   // 0250..02AF; IPA Extensions
2946             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
2947             0x0300,   // 0300..036F; Combining Diacritical Marks
2948             0x0370,   // 0370..03FF; Greek and Coptic
2949             0x0400,   // 0400..04FF; Cyrillic
2950             0x0500,   // 0500..052F; Cyrillic Supplement
2951             0x0530,   // 0530..058F; Armenian
2952             0x0590,   // 0590..05FF; Hebrew
2953             0x0600,   // 0600..06FF; Arabic
2954             0x0700,   // 0700..074F; Syriac
2955             0x0750,   // 0750..077F; Arabic Supplement
2956             0x0780,   // 0780..07BF; Thaana
2957             0x07C0,   // 07C0..07FF; NKo
2958             0x0800,   // 0800..083F; Samaritan
2959             0x0840,   // 0840..085F; Mandaic
2960             0x0860,   //             unassigned

2961             0x08A0,   // 08A0..08FF; Arabic Extended-A
2962             0x0900,   // 0900..097F; Devanagari
2963             0x0980,   // 0980..09FF; Bengali
2964             0x0A00,   // 0A00..0A7F; Gurmukhi
2965             0x0A80,   // 0A80..0AFF; Gujarati
2966             0x0B00,   // 0B00..0B7F; Oriya
2967             0x0B80,   // 0B80..0BFF; Tamil
2968             0x0C00,   // 0C00..0C7F; Telugu
2969             0x0C80,   // 0C80..0CFF; Kannada
2970             0x0D00,   // 0D00..0D7F; Malayalam
2971             0x0D80,   // 0D80..0DFF; Sinhala
2972             0x0E00,   // 0E00..0E7F; Thai
2973             0x0E80,   // 0E80..0EFF; Lao
2974             0x0F00,   // 0F00..0FFF; Tibetan
2975             0x1000,   // 1000..109F; Myanmar
2976             0x10A0,   // 10A0..10FF; Georgian
2977             0x1100,   // 1100..11FF; Hangul Jamo
2978             0x1200,   // 1200..137F; Ethiopic
2979             0x1380,   // 1380..139F; Ethiopic Supplement
2980             0x13A0,   // 13A0..13FF; Cherokee


2983             0x16A0,   // 16A0..16FF; Runic
2984             0x1700,   // 1700..171F; Tagalog
2985             0x1720,   // 1720..173F; Hanunoo
2986             0x1740,   // 1740..175F; Buhid
2987             0x1760,   // 1760..177F; Tagbanwa
2988             0x1780,   // 1780..17FF; Khmer
2989             0x1800,   // 1800..18AF; Mongolian
2990             0x18B0,   // 18B0..18FF; Unified Canadian Aboriginal Syllabics Extended
2991             0x1900,   // 1900..194F; Limbu
2992             0x1950,   // 1950..197F; Tai Le
2993             0x1980,   // 1980..19DF; New Tai Lue
2994             0x19E0,   // 19E0..19FF; Khmer Symbols
2995             0x1A00,   // 1A00..1A1F; Buginese
2996             0x1A20,   // 1A20..1AAF; Tai Tham
2997             0x1AB0,   // 1AB0..1AFF; Combining Diacritical Marks Extended
2998             0x1B00,   // 1B00..1B7F; Balinese
2999             0x1B80,   // 1B80..1BBF; Sundanese
3000             0x1BC0,   // 1BC0..1BFF; Batak
3001             0x1C00,   // 1C00..1C4F; Lepcha
3002             0x1C50,   // 1C50..1C7F; Ol Chiki
3003             0x1C80,   //             unassigned

3004             0x1CC0,   // 1CC0..1CCF; Sundanese Supplement
3005             0x1CD0,   // 1CD0..1CFF; Vedic Extensions
3006             0x1D00,   // 1D00..1D7F; Phonetic Extensions
3007             0x1D80,   // 1D80..1DBF; Phonetic Extensions Supplement
3008             0x1DC0,   // 1DC0..1DFF; Combining Diacritical Marks Supplement
3009             0x1E00,   // 1E00..1EFF; Latin Extended Additional
3010             0x1F00,   // 1F00..1FFF; Greek Extended
3011             0x2000,   // 2000..206F; General Punctuation
3012             0x2070,   // 2070..209F; Superscripts and Subscripts
3013             0x20A0,   // 20A0..20CF; Currency Symbols
3014             0x20D0,   // 20D0..20FF; Combining Diacritical Marks for Symbols
3015             0x2100,   // 2100..214F; Letterlike Symbols
3016             0x2150,   // 2150..218F; Number Forms
3017             0x2190,   // 2190..21FF; Arrows
3018             0x2200,   // 2200..22FF; Mathematical Operators
3019             0x2300,   // 2300..23FF; Miscellaneous Technical
3020             0x2400,   // 2400..243F; Control Pictures
3021             0x2440,   // 2440..245F; Optical Character Recognition
3022             0x2460,   // 2460..24FF; Enclosed Alphanumerics
3023             0x2500,   // 2500..257F; Box Drawing


3103             0xFFF0,   // FFF0..FFFF; Specials
3104             0x10000,  // 10000..1007F; Linear B Syllabary
3105             0x10080,  // 10080..100FF; Linear B Ideograms
3106             0x10100,  // 10100..1013F; Aegean Numbers
3107             0x10140,  // 10140..1018F; Ancient Greek Numbers
3108             0x10190,  // 10190..101CF; Ancient Symbols
3109             0x101D0,  // 101D0..101FF; Phaistos Disc
3110             0x10200,  //               unassigned
3111             0x10280,  // 10280..1029F; Lycian
3112             0x102A0,  // 102A0..102DF; Carian
3113             0x102E0,  // 102E0..102FF; Coptic Epact Numbers
3114             0x10300,  // 10300..1032F; Old Italic
3115             0x10330,  // 10330..1034F; Gothic
3116             0x10350,  // 10350..1037F; Old Permic
3117             0x10380,  // 10380..1039F; Ugaritic
3118             0x103A0,  // 103A0..103DF; Old Persian
3119             0x103E0,  //               unassigned
3120             0x10400,  // 10400..1044F; Deseret
3121             0x10450,  // 10450..1047F; Shavian
3122             0x10480,  // 10480..104AF; Osmanya
3123             0x104B0,  //               unassigned
3124             0x10500,  // 10500..1052F; Elbasan
3125             0x10530,  // 10530..1056F; Caucasian Albanian
3126             0x10570,  //               unassigned
3127             0x10600,  // 10600..1077F; Linear A
3128             0x10780,  //               unassigned
3129             0x10800,  // 10800..1083F; Cypriot Syllabary
3130             0x10840,  // 10840..1085F; Imperial Aramaic
3131             0x10860,  // 10860..1087F; Palmyrene
3132             0x10880,  // 10880..108AF; Nabataean
3133             0x108B0,  //               unassigned
3134             0x108E0,  // 108E0..108FF; Hatran
3135             0x10900,  // 10900..1091F; Phoenician
3136             0x10920,  // 10920..1093F; Lydian
3137             0x10940,  //               unassigned
3138             0x10980,  // 10980..1099F; Meroitic Hieroglyphs
3139             0x109A0,  // 109A0..109FF; Meroitic Cursive
3140             0x10A00,  // 10A00..10A5F; Kharoshthi
3141             0x10A60,  // 10A60..10A7F; Old South Arabian
3142             0x10A80,  // 10A80..10A9F; Old North Arabian
3143             0x10AA0,  //               unassigned


3149             0x10BB0,  //               unassigned
3150             0x10C00,  // 10C00..10C4F; Old Turkic
3151             0x10C50,  //               unassigned
3152             0x10C80,  // 10C80..10CFF; Old Hungarian
3153             0x10D00,  //               unassigned
3154             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3155             0x10E80,  //               unassigned
3156             0x11000,  // 11000..1107F; Brahmi
3157             0x11080,  // 11080..110CF; Kaithi
3158             0x110D0,  // 110D0..110FF; Sora Sompeng
3159             0x11100,  // 11100..1114F; Chakma
3160             0x11150,  // 11150..1117F; Mahajani
3161             0x11180,  // 11180..111DF; Sharada
3162             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3163             0x11200,  // 11200..1124F; Khojki
3164             0x11250,  //               unassigned
3165             0x11280,  // 11280..112AF; Multani
3166             0x112B0,  // 112B0..112FF; Khudawadi
3167             0x11300,  // 11300..1137F; Grantha
3168             0x11380,  //               unassigned

3169             0x11480,  // 11480..114DF; Tirhuta
3170             0x114E0,  //               unassigned
3171             0x11580,  // 11580..115FF; Siddham
3172             0x11600,  // 11600..1165F; Modi
3173             0x11660,  //               unassigned
3174             0x11680,  // 11680..116CF; Takri
3175             0x116D0,  //               unassigned
3176             0x11700,  // 11700..1173F; Ahom
3177             0x11740,  //               unassigned
3178             0x118A0,  // 118A0..118FF; Warang Citi
3179             0x11900,  //               unassigned



3180             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3181             0x11B00,  //               unassigned





3182             0x12000,  // 12000..123FF; Cuneiform
3183             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3184             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3185             0x12550,  //               unassigned
3186             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3187             0x13430,  //               unassigned
3188             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3189             0x14680,  //               unassigned
3190             0x16800,  // 16800..16A3F; Bamum Supplement
3191             0x16A40,  // 16A40..16A6F; Mro
3192             0x16A70,  //               unassigned
3193             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3194             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3195             0x16B90,  //               unassigned
3196             0x16F00,  // 16F00..16F9F; Miao
3197             0x16FA0,  //               unassigned




3198             0x1B000,  // 1B000..1B0FF; Kana Supplement
3199             0x1B100,  //               unassigned



3200             0x1BC00,  // 1BC00..1BC9F; Duployan
3201             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3202             0x1BCB0,  //               unassigned
3203             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3204             0x1D100,  // 1D100..1D1FF; Musical Symbols
3205             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3206             0x1D250,  //               unassigned
3207             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3208             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3209             0x1D380,  //               unassigned
3210             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3211             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3212             0x1DAB0,  //               unassigned


3213             0x1E800,  // 1E800..1E8DF; Mende Kikakui
3214             0x1E8E0,  //               unassigned


3215             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3216             0x1EF00,  //               unassigned
3217             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3218             0x1F030,  // 1F030..1F09F; Domino Tiles
3219             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3220             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3221             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3222             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3223             0x1F600,  // 1F600..1F64F; Emoticons
3224             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3225             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3226             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3227             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3228             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3229             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3230             0x1FA00,  //               unassigned
3231             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3232             0x2A6E0,  //               unassigned
3233             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3234             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3235             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3236             0x2CEB0,  //               unassigned

3237             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3238             0x2FA20,  //               unassigned
3239             0xE0000,  // E0000..E007F; Tags
3240             0xE0080,  //               unassigned
3241             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3242             0xE01F0,  //               unassigned
3243             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3244             0x100000  // 100000..10FFFF; Supplementary Private Use Area-B
3245         };
3246 
3247         private static final UnicodeBlock[] blocks = {
3248             BASIC_LATIN,
3249             LATIN_1_SUPPLEMENT,
3250             LATIN_EXTENDED_A,
3251             LATIN_EXTENDED_B,
3252             IPA_EXTENSIONS,
3253             SPACING_MODIFIER_LETTERS,
3254             COMBINING_DIACRITICAL_MARKS,
3255             GREEK,
3256             CYRILLIC,
3257             CYRILLIC_SUPPLEMENTARY,
3258             ARMENIAN,
3259             HEBREW,
3260             ARABIC,
3261             SYRIAC,
3262             ARABIC_SUPPLEMENT,
3263             THAANA,
3264             NKO,
3265             SAMARITAN,
3266             MANDAIC,

3267             null,
3268             ARABIC_EXTENDED_A,
3269             DEVANAGARI,
3270             BENGALI,
3271             GURMUKHI,
3272             GUJARATI,
3273             ORIYA,
3274             TAMIL,
3275             TELUGU,
3276             KANNADA,
3277             MALAYALAM,
3278             SINHALA,
3279             THAI,
3280             LAO,
3281             TIBETAN,
3282             MYANMAR,
3283             GEORGIAN,
3284             HANGUL_JAMO,
3285             ETHIOPIC,
3286             ETHIOPIC_SUPPLEMENT,


3290             RUNIC,
3291             TAGALOG,
3292             HANUNOO,
3293             BUHID,
3294             TAGBANWA,
3295             KHMER,
3296             MONGOLIAN,
3297             UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED,
3298             LIMBU,
3299             TAI_LE,
3300             NEW_TAI_LUE,
3301             KHMER_SYMBOLS,
3302             BUGINESE,
3303             TAI_THAM,
3304             COMBINING_DIACRITICAL_MARKS_EXTENDED,
3305             BALINESE,
3306             SUNDANESE,
3307             BATAK,
3308             LEPCHA,
3309             OL_CHIKI,

3310             null,
3311             SUNDANESE_SUPPLEMENT,
3312             VEDIC_EXTENSIONS,
3313             PHONETIC_EXTENSIONS,
3314             PHONETIC_EXTENSIONS_SUPPLEMENT,
3315             COMBINING_DIACRITICAL_MARKS_SUPPLEMENT,
3316             LATIN_EXTENDED_ADDITIONAL,
3317             GREEK_EXTENDED,
3318             GENERAL_PUNCTUATION,
3319             SUPERSCRIPTS_AND_SUBSCRIPTS,
3320             CURRENCY_SYMBOLS,
3321             COMBINING_MARKS_FOR_SYMBOLS,
3322             LETTERLIKE_SYMBOLS,
3323             NUMBER_FORMS,
3324             ARROWS,
3325             MATHEMATICAL_OPERATORS,
3326             MISCELLANEOUS_TECHNICAL,
3327             CONTROL_PICTURES,
3328             OPTICAL_CHARACTER_RECOGNITION,
3329             ENCLOSED_ALPHANUMERICS,


3410             SPECIALS,
3411             LINEAR_B_SYLLABARY,
3412             LINEAR_B_IDEOGRAMS,
3413             AEGEAN_NUMBERS,
3414             ANCIENT_GREEK_NUMBERS,
3415             ANCIENT_SYMBOLS,
3416             PHAISTOS_DISC,
3417             null,
3418             LYCIAN,
3419             CARIAN,
3420             COPTIC_EPACT_NUMBERS,
3421             OLD_ITALIC,
3422             GOTHIC,
3423             OLD_PERMIC,
3424             UGARITIC,
3425             OLD_PERSIAN,
3426             null,
3427             DESERET,
3428             SHAVIAN,
3429             OSMANYA,
3430             null,
3431             ELBASAN,
3432             CAUCASIAN_ALBANIAN,
3433             null,
3434             LINEAR_A,
3435             null,
3436             CYPRIOT_SYLLABARY,
3437             IMPERIAL_ARAMAIC,
3438             PALMYRENE,
3439             NABATAEAN,
3440             null,
3441             HATRAN,
3442             PHOENICIAN,
3443             LYDIAN,
3444             null,
3445             MEROITIC_HIEROGLYPHS,
3446             MEROITIC_CURSIVE,
3447             KHAROSHTHI,
3448             OLD_SOUTH_ARABIAN,
3449             OLD_NORTH_ARABIAN,
3450             null,


3456             null,
3457             OLD_TURKIC,
3458             null,
3459             OLD_HUNGARIAN,
3460             null,
3461             RUMI_NUMERAL_SYMBOLS,
3462             null,
3463             BRAHMI,
3464             KAITHI,
3465             SORA_SOMPENG,
3466             CHAKMA,
3467             MAHAJANI,
3468             SHARADA,
3469             SINHALA_ARCHAIC_NUMBERS,
3470             KHOJKI,
3471             null,
3472             MULTANI,
3473             KHUDAWADI,
3474             GRANTHA,
3475             null,

3476             TIRHUTA,
3477             null,
3478             SIDDHAM,
3479             MODI,
3480             null,
3481             TAKRI,
3482             null,
3483             AHOM,
3484             null,
3485             WARANG_CITI,
3486             null,



3487             PAU_CIN_HAU,
3488             null,





3489             CUNEIFORM,
3490             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3491             EARLY_DYNASTIC_CUNEIFORM,
3492             null,
3493             EGYPTIAN_HIEROGLYPHS,
3494             null,
3495             ANATOLIAN_HIEROGLYPHS,
3496             null,
3497             BAMUM_SUPPLEMENT,
3498             MRO,
3499             null,
3500             BASSA_VAH,
3501             PAHAWH_HMONG,
3502             null,
3503             MIAO,
3504             null,




3505             KANA_SUPPLEMENT,



3506             null,
3507             DUPLOYAN,
3508             SHORTHAND_FORMAT_CONTROLS,
3509             null,
3510             BYZANTINE_MUSICAL_SYMBOLS,
3511             MUSICAL_SYMBOLS,
3512             ANCIENT_GREEK_MUSICAL_NOTATION,
3513             null,
3514             TAI_XUAN_JING_SYMBOLS,
3515             COUNTING_ROD_NUMERALS,
3516             null,
3517             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3518             SUTTON_SIGNWRITING,
3519             null,


3520             MENDE_KIKAKUI,
3521             null,


3522             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3523             null,
3524             MAHJONG_TILES,
3525             DOMINO_TILES,
3526             PLAYING_CARDS,
3527             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3528             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3529             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3530             EMOTICONS,
3531             ORNAMENTAL_DINGBATS,
3532             TRANSPORT_AND_MAP_SYMBOLS,
3533             ALCHEMICAL_SYMBOLS,
3534             GEOMETRIC_SHAPES_EXTENDED,
3535             SUPPLEMENTAL_ARROWS_C,
3536             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3537             null,
3538             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3539             null,
3540             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3541             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3542             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,

3543             null,
3544             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3545             null,
3546             TAGS,
3547             null,
3548             VARIATION_SELECTORS_SUPPLEMENT,
3549             null,
3550             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3551             SUPPLEMENTARY_PRIVATE_USE_AREA_B
3552         };
3553 
3554 
3555         /**
3556          * Returns the object representing the Unicode block containing the
3557          * given character, or {@code null} if the character is not a
3558          * member of a defined block.
3559          *
3560          * <p><b>Note:</b> This method cannot handle
3561          * <a href="Character.html#supplementary"> supplementary
3562          * characters</a>.  To support all Unicode characters, including


4345 
4346         /**
4347          * Unicode script "Multani".
4348          * @since 9
4349          */
4350         MULTANI,
4351 
4352         /**
4353          * Unicode script "Old Hungarian".
4354          * @since 9
4355          */
4356         OLD_HUNGARIAN,
4357 
4358         /**
4359          * Unicode script "SignWriting".
4360          * @since 9
4361          */
4362         SIGNWRITING,
4363 
4364         /**




























































4365          * Unicode script "Unknown".
4366          */
4367         UNKNOWN;
4368 
4369         private static final int[] scriptStarts = {
4370             0x0000,   // 0000..0040; COMMON
4371             0x0041,   // 0041..005A; LATIN
4372             0x005B,   // 005B..0060; COMMON
4373             0x0061,   // 0061..007A; LATIN
4374             0x007B,   // 007B..00A9; COMMON
4375             0x00AA,   // 00AA      ; LATIN
4376             0x00AB,   // 00AB..00B9; COMMON
4377             0x00BA,   // 00BA      ; LATIN
4378             0x00BB,   // 00BB..00BF; COMMON
4379             0x00C0,   // 00C0..00D6; LATIN
4380             0x00D7,   // 00D7      ; COMMON
4381             0x00D8,   // 00D8..00F6; LATIN
4382             0x00F7,   // 00F7      ; COMMON
4383             0x00F8,   // 00F8..02B8; LATIN
4384             0x02B9,   // 02B9..02DF; COMMON


4417             0x0559,   // 0559..055F; ARMENIAN
4418             0x0560,   // 0560      ; UNKNOWN
4419             0x0561,   // 0561..0587; ARMENIAN
4420             0x0588,   // 0588      ; UNKNOWN
4421             0x0589,   // 0589      ; COMMON
4422             0x058A,   // 058A      ; ARMENIAN
4423             0x058B,   // 058B..058C; UNKNOWN
4424             0x058D,   // 058D..058F; ARMENIAN
4425             0x0590,   // 0590      ; UNKNOWN
4426             0x0591,   // 0591..05C7; HEBREW
4427             0x05C8,   // 05C8..05CF; UNKNOWN
4428             0x05D0,   // 05D0..05EA; HEBREW
4429             0x05EB,   // 05EB..05EF; UNKNOWN
4430             0x05F0,   // 05F0..05F4; HEBREW
4431             0x05F5,   // 05F5..05FF; UNKNOWN
4432             0x0600,   // 0600..0604; ARABIC
4433             0x0605,   // 0605      ; COMMON
4434             0x0606,   // 0606..060B; ARABIC
4435             0x060C,   // 060C      ; COMMON
4436             0x060D,   // 060D..061A; ARABIC
4437             0x061B,   // 061B..061C; COMMON

4438             0x061D,   // 061D      ; UNKNOWN
4439             0x061E,   // 061E      ; ARABIC
4440             0x061F,   // 061F      ; COMMON
4441             0x0620,   // 0620..063F; ARABIC
4442             0x0640,   // 0640      ; COMMON
4443             0x0641,   // 0641..064A; ARABIC
4444             0x064B,   // 064B..0655; INHERITED
4445             0x0656,   // 0656..066F; ARABIC
4446             0x0670,   // 0670      ; INHERITED
4447             0x0671,   // 0671..06DC; ARABIC
4448             0x06DD,   // 06DD      ; COMMON
4449             0x06DE,   // 06DE..06FF; ARABIC
4450             0x0700,   // 0700..070D; SYRIAC
4451             0x070E,   // 070E      ; UNKNOWN
4452             0x070F,   // 070F..074A; SYRIAC
4453             0x074B,   // 074B..074C; UNKNOWN
4454             0x074D,   // 074D..074F; SYRIAC
4455             0x0750,   // 0750..077F; ARABIC
4456             0x0780,   // 0780..07B1; THAANA
4457             0x07B2,   // 07B2..07BF; UNKNOWN
4458             0x07C0,   // 07C0..07FA; NKO
4459             0x07FB,   // 07FB..07FF; UNKNOWN
4460             0x0800,   // 0800..082D; SAMARITAN
4461             0x082E,   // 082E..082F; UNKNOWN
4462             0x0830,   // 0830..083E; SAMARITAN
4463             0x083F,   // 083F      ; UNKNOWN
4464             0x0840,   // 0840..085B; MANDAIC
4465             0x085C,   // 085C..085D; UNKNOWN
4466             0x085E,   // 085E      ; MANDAIC
4467             0x085F,   // 085F..089F; UNKNOWN


4468             0x08A0,   // 08A0..08B4; ARABIC
4469             0x08B5,   // 08B5..08E2; UNKNOWN




4470             0x08E3,   // 08E3..08FF; ARABIC
4471             0x0900,   // 0900..0950; DEVANAGARI
4472             0x0951,   // 0951..0952; INHERITED
4473             0x0953,   // 0953..0963; DEVANAGARI
4474             0x0964,   // 0964..0965; COMMON
4475             0x0966,   // 0966..097F; DEVANAGARI
4476             0x0980,   // 0980..0983; BENGALI
4477             0x0984,   // 0984      ; UNKNOWN
4478             0x0985,   // 0985..098C; BENGALI
4479             0x098D,   // 098D..098E; UNKNOWN
4480             0x098F,   // 098F..0990; BENGALI
4481             0x0991,   // 0991..0992; UNKNOWN
4482             0x0993,   // 0993..09A8; BENGALI
4483             0x09A9,   // 09A9      ; UNKNOWN
4484             0x09AA,   // 09AA..09B0; BENGALI
4485             0x09B1,   // 09B1      ; UNKNOWN
4486             0x09B2,   // 09B2      ; BENGALI
4487             0x09B3,   // 09B3..09B5; UNKNOWN
4488             0x09B6,   // 09B6..09B9; BENGALI
4489             0x09BA,   // 09BA..09BB; UNKNOWN
4490             0x09BC,   // 09BC..09C4; BENGALI
4491             0x09C5,   // 09C5..09C6; UNKNOWN
4492             0x09C7,   // 09C7..09C8; BENGALI
4493             0x09C9,   // 09C9..09CA; UNKNOWN
4494             0x09CB,   // 09CB..09CE; BENGALI
4495             0x09CF,   // 09CF..09D6; UNKNOWN
4496             0x09D7,   // 09D7      ; BENGALI
4497             0x09D8,   // 09D8..09DB; UNKNOWN
4498             0x09DC,   // 09DC..09DD; BENGALI
4499             0x09DE,   // 09DE      ; UNKNOWN
4500             0x09DF,   // 09DF..09E3; BENGALI
4501             0x09E4,   // 09E4..09E5; UNKNOWN
4502             0x09E6,   // 09E6..09FB; BENGALI
4503             0x09FC,   // 09FC..0A00; UNKNOWN
4504             0x0A01,   // 0A01..0A03; GURMUKHI
4505             0x0A04,   // 0A04      ; UNKNOWN
4506             0x0A05,   // 0A05..0A0A; GURMUKHI
4507             0x0A0B,   // 0A0B..0A0E; UNKNOWN
4508             0x0A0F,   // 0A0F..0A10; GURMUKHI
4509             0x0A11,   // 0A11..0A12; UNKNOWN
4510             0x0A13,   // 0A13..0A28; GURMUKHI
4511             0x0A29,   // 0A29      ; UNKNOWN
4512             0x0A2A,   // 0A2A..0A30; GURMUKHI
4513             0x0A31,   // 0A31      ; UNKNOWN
4514             0x0A32,   // 0A32..0A33; GURMUKHI
4515             0x0A34,   // 0A34      ; UNKNOWN
4516             0x0A35,   // 0A35..0A36; GURMUKHI
4517             0x0A37,   // 0A37      ; UNKNOWN
4518             0x0A38,   // 0A38..0A39; GURMUKHI
4519             0x0A3A,   // 0A3A..0A3B; UNKNOWN
4520             0x0A3C,   // 0A3C      ; GURMUKHI
4521             0x0A3D,   // 0A3D      ; UNKNOWN
4522             0x0A3E,   // 0A3E..0A42; GURMUKHI
4523             0x0A43,   // 0A43..0A46; UNKNOWN


4542             0x0A93,   // 0A93..0AA8; GUJARATI
4543             0x0AA9,   // 0AA9      ; UNKNOWN
4544             0x0AAA,   // 0AAA..0AB0; GUJARATI
4545             0x0AB1,   // 0AB1      ; UNKNOWN
4546             0x0AB2,   // 0AB2..0AB3; GUJARATI
4547             0x0AB4,   // 0AB4      ; UNKNOWN
4548             0x0AB5,   // 0AB5..0AB9; GUJARATI
4549             0x0ABA,   // 0ABA..0ABB; UNKNOWN
4550             0x0ABC,   // 0ABC..0AC5; GUJARATI
4551             0x0AC6,   // 0AC6      ; UNKNOWN
4552             0x0AC7,   // 0AC7..0AC9; GUJARATI
4553             0x0ACA,   // 0ACA      ; UNKNOWN
4554             0x0ACB,   // 0ACB..0ACD; GUJARATI
4555             0x0ACE,   // 0ACE..0ACF; UNKNOWN
4556             0x0AD0,   // 0AD0      ; GUJARATI
4557             0x0AD1,   // 0AD1..0ADF; UNKNOWN
4558             0x0AE0,   // 0AE0..0AE3; GUJARATI
4559             0x0AE4,   // 0AE4..0AE5; UNKNOWN
4560             0x0AE6,   // 0AE6..0AF1; GUJARATI
4561             0x0AF2,   // 0AF2..0AF8; UNKNOWN
4562             0x0AF9,   // 0AF9      ; GUJARATI
4563             0x0AFA,   // 0AFA..0B00; UNKNOWN
4564             0x0B01,   // 0B01..0B03; ORIYA
4565             0x0B04,   // 0B04      ; UNKNOWN
4566             0x0B05,   // 0B05..0B0C; ORIYA
4567             0x0B0D,   // 0B0D..0B0E; UNKNOWN
4568             0x0B0F,   // 0B0F..0B10; ORIYA
4569             0x0B11,   // 0B11..0B12; UNKNOWN
4570             0x0B13,   // 0B13..0B28; ORIYA
4571             0x0B29,   // 0B29      ; UNKNOWN
4572             0x0B2A,   // 0B2A..0B30; ORIYA
4573             0x0B31,   // 0B31      ; UNKNOWN
4574             0x0B32,   // 0B32..0B33; ORIYA
4575             0x0B34,   // 0B34      ; UNKNOWN
4576             0x0B35,   // 0B35..0B39; ORIYA
4577             0x0B3A,   // 0B3A..0B3B; UNKNOWN
4578             0x0B3C,   // 0B3C..0B44; ORIYA
4579             0x0B45,   // 0B45..0B46; UNKNOWN
4580             0x0B47,   // 0B47..0B48; ORIYA
4581             0x0B49,   // 0B49..0B4A; UNKNOWN
4582             0x0B4B,   // 0B4B..0B4D; ORIYA
4583             0x0B4E,   // 0B4E..0B55; UNKNOWN


4629             0x0C11,   // 0C11      ; UNKNOWN
4630             0x0C12,   // 0C12..0C28; TELUGU
4631             0x0C29,   // 0C29      ; UNKNOWN
4632             0x0C2A,   // 0C2A..0C39; TELUGU
4633             0x0C3A,   // 0C3A..0C3C; UNKNOWN
4634             0x0C3D,   // 0C3D..0C44; TELUGU
4635             0x0C45,   // 0C45      ; UNKNOWN
4636             0x0C46,   // 0C46..0C48; TELUGU
4637             0x0C49,   // 0C49      ; UNKNOWN
4638             0x0C4A,   // 0C4A..0C4D; TELUGU
4639             0x0C4E,   // 0C4E..0C54; UNKNOWN
4640             0x0C55,   // 0C55..0C56; TELUGU
4641             0x0C57,   // 0C57      ; UNKNOWN
4642             0x0C58,   // 0C58..0C5A; TELUGU
4643             0x0C5B,   // 0C5B..0C5F; UNKNOWN
4644             0x0C60,   // 0C60..0C63; TELUGU
4645             0x0C64,   // 0C64..0C65; UNKNOWN
4646             0x0C66,   // 0C66..0C6F; TELUGU
4647             0x0C70,   // 0C70..0C77; UNKNOWN
4648             0x0C78,   // 0C78..0C7F; TELUGU
4649             0x0C80,   // 0C80      ; UNKNOWN
4650             0x0C81,   // 0C81..0C83; KANNADA
4651             0x0C84,   // 0C84      ; UNKNOWN
4652             0x0C85,   // 0C85..0C8C; KANNADA
4653             0x0C8D,   // 0C8D      ; UNKNOWN
4654             0x0C8E,   // 0C8E..0C90; KANNADA
4655             0x0C91,   // 0C91      ; UNKNOWN
4656             0x0C92,   // 0C92..0CA8; KANNADA
4657             0x0CA9,   // 0CA9      ; UNKNOWN
4658             0x0CAA,   // 0CAA..0CB3; KANNADA
4659             0x0CB4,   // 0CB4      ; UNKNOWN
4660             0x0CB5,   // 0CB5..0CB9; KANNADA
4661             0x0CBA,   // 0CBA..0CBB; UNKNOWN
4662             0x0CBC,   // 0CBC..0CC4; KANNADA
4663             0x0CC5,   // 0CC5      ; UNKNOWN
4664             0x0CC6,   // 0CC6..0CC8; KANNADA
4665             0x0CC9,   // 0CC9      ; UNKNOWN
4666             0x0CCA,   // 0CCA..0CCD; KANNADA
4667             0x0CCE,   // 0CCE..0CD4; UNKNOWN
4668             0x0CD5,   // 0CD5..0CD6; KANNADA
4669             0x0CD7,   // 0CD7..0CDD; UNKNOWN
4670             0x0CDE,   // 0CDE      ; KANNADA
4671             0x0CDF,   // 0CDF      ; UNKNOWN
4672             0x0CE0,   // 0CE0..0CE3; KANNADA
4673             0x0CE4,   // 0CE4..0CE5; UNKNOWN
4674             0x0CE6,   // 0CE6..0CEF; KANNADA
4675             0x0CF0,   // 0CF0      ; UNKNOWN
4676             0x0CF1,   // 0CF1..0CF2; KANNADA
4677             0x0CF3,   // 0CF3..0D00; UNKNOWN
4678             0x0D01,   // 0D01..0D03; MALAYALAM
4679             0x0D04,   // 0D04      ; UNKNOWN
4680             0x0D05,   // 0D05..0D0C; MALAYALAM
4681             0x0D0D,   // 0D0D      ; UNKNOWN
4682             0x0D0E,   // 0D0E..0D10; MALAYALAM
4683             0x0D11,   // 0D11      ; UNKNOWN
4684             0x0D12,   // 0D12..0D3A; MALAYALAM
4685             0x0D3B,   // 0D3B..0D3C; UNKNOWN
4686             0x0D3D,   // 0D3D..0D44; MALAYALAM
4687             0x0D45,   // 0D45      ; UNKNOWN
4688             0x0D46,   // 0D46..0D48; MALAYALAM
4689             0x0D49,   // 0D49      ; UNKNOWN
4690             0x0D4A,   // 0D4A..0D4E; MALAYALAM
4691             0x0D4F,   // 0D4F..0D56; UNKNOWN
4692             0x0D57,   // 0D57      ; MALAYALAM
4693             0x0D58,   // 0D58..0D5E; UNKNOWN
4694             0x0D5F,   // 0D5F..0D63; MALAYALAM
4695             0x0D64,   // 0D64..0D65; UNKNOWN
4696             0x0D66,   // 0D66..0D75; MALAYALAM
4697             0x0D76,   // 0D76..0D78; UNKNOWN
4698             0x0D79,   // 0D79..0D7F; MALAYALAM
4699             0x0D80,   // 0D80..0D81; UNKNOWN
4700             0x0D82,   // 0D82..0D83; SINHALA
4701             0x0D84,   // 0D84      ; UNKNOWN
4702             0x0D85,   // 0D85..0D96; SINHALA
4703             0x0D97,   // 0D97..0D99; UNKNOWN
4704             0x0D9A,   // 0D9A..0DB1; SINHALA
4705             0x0DB2,   // 0DB2      ; UNKNOWN
4706             0x0DB3,   // 0DB3..0DBB; SINHALA
4707             0x0DBC,   // 0DBC      ; UNKNOWN
4708             0x0DBD,   // 0DBD      ; SINHALA
4709             0x0DBE,   // 0DBE..0DBF; UNKNOWN
4710             0x0DC0,   // 0DC0..0DC6; SINHALA
4711             0x0DC7,   // 0DC7..0DC9; UNKNOWN
4712             0x0DCA,   // 0DCA      ; SINHALA
4713             0x0DCB,   // 0DCB..0DCE; UNKNOWN
4714             0x0DCF,   // 0DCF..0DD4; SINHALA
4715             0x0DD5,   // 0DD5      ; UNKNOWN
4716             0x0DD6,   // 0DD6      ; SINHALA
4717             0x0DD7,   // 0DD7      ; UNKNOWN
4718             0x0DD8,   // 0DD8..0DDF; SINHALA


4902             0x1A90,   // 1A90..1A99; TAI_THAM
4903             0x1A9A,   // 1A9A..1A9F; UNKNOWN
4904             0x1AA0,   // 1AA0..1AAD; TAI_THAM
4905             0x1AAE,   // 1AAE..1AAF; UNKNOWN
4906             0x1AB0,   // 1AB0..1ABE; INHERITED
4907             0x1ABF,   // 1ABF..1AFF; UNKNOWN
4908             0x1B00,   // 1B00..1B4B; BALINESE
4909             0x1B4C,   // 1B4C..1B4F; UNKNOWN
4910             0x1B50,   // 1B50..1B7C; BALINESE
4911             0x1B7D,   // 1B7D..1B7F; UNKNOWN
4912             0x1B80,   // 1B80..1BBF; SUNDANESE
4913             0x1BC0,   // 1BC0..1BF3; BATAK
4914             0x1BF4,   // 1BF4..1BFB; UNKNOWN
4915             0x1BFC,   // 1BFC..1BFF; BATAK
4916             0x1C00,   // 1C00..1C37; LEPCHA
4917             0x1C38,   // 1C38..1C3A; UNKNOWN
4918             0x1C3B,   // 1C3B..1C49; LEPCHA
4919             0x1C4A,   // 1C4A..1C4C; UNKNOWN
4920             0x1C4D,   // 1C4D..1C4F; LEPCHA
4921             0x1C50,   // 1C50..1C7F; OL_CHIKI
4922             0x1C80,   // 1C80..1CBF; UNKNOWN

4923             0x1CC0,   // 1CC0..1CC7; SUNDANESE
4924             0x1CC8,   // 1CC8..1CCF; UNKNOWN
4925             0x1CD0,   // 1CD0..1CD2; INHERITED
4926             0x1CD3,   // 1CD3      ; COMMON
4927             0x1CD4,   // 1CD4..1CE0; INHERITED
4928             0x1CE1,   // 1CE1      ; COMMON
4929             0x1CE2,   // 1CE2..1CE8; INHERITED
4930             0x1CE9,   // 1CE9..1CEC; COMMON
4931             0x1CED,   // 1CED      ; INHERITED
4932             0x1CEE,   // 1CEE..1CF3; COMMON
4933             0x1CF4,   // 1CF4      ; INHERITED
4934             0x1CF5,   // 1CF5..1CF6; COMMON
4935             0x1CF7,   // 1CF7      ; UNKNOWN
4936             0x1CF8,   // 1CF8..1CF9; INHERITED
4937             0x1CFA,   // 1CFA..1CFF; UNKNOWN
4938             0x1D00,   // 1D00..1D25; LATIN
4939             0x1D26,   // 1D26..1D2A; GREEK
4940             0x1D2B,   // 1D2B      ; CYRILLIC
4941             0x1D2C,   // 1D2C..1D5C; LATIN
4942             0x1D5D,   // 1D5D..1D61; GREEK
4943             0x1D62,   // 1D62..1D65; LATIN
4944             0x1D66,   // 1D66..1D6A; GREEK
4945             0x1D6B,   // 1D6B..1D77; LATIN
4946             0x1D78,   // 1D78      ; CYRILLIC
4947             0x1D79,   // 1D79..1DBE; LATIN
4948             0x1DBF,   // 1DBF      ; GREEK
4949             0x1DC0,   // 1DC0..1DF5; INHERITED
4950             0x1DF6,   // 1DF6..1DFB; UNKNOWN
4951             0x1DFC,   // 1DFC..1DFF; INHERITED
4952             0x1E00,   // 1E00..1EFF; LATIN
4953             0x1F00,   // 1F00..1F15; GREEK
4954             0x1F16,   // 1F16..1F17; UNKNOWN
4955             0x1F18,   // 1F18..1F1D; GREEK
4956             0x1F1E,   // 1F1E..1F1F; UNKNOWN
4957             0x1F20,   // 1F20..1F45; GREEK
4958             0x1F46,   // 1F46..1F47; UNKNOWN
4959             0x1F48,   // 1F48..1F4D; GREEK
4960             0x1F4E,   // 1F4E..1F4F; UNKNOWN
4961             0x1F50,   // 1F50..1F57; GREEK
4962             0x1F58,   // 1F58      ; UNKNOWN
4963             0x1F59,   // 1F59      ; GREEK
4964             0x1F5A,   // 1F5A      ; UNKNOWN
4965             0x1F5B,   // 1F5B      ; GREEK
4966             0x1F5C,   // 1F5C      ; UNKNOWN
4967             0x1F5D,   // 1F5D      ; GREEK
4968             0x1F5E,   // 1F5E      ; UNKNOWN
4969             0x1F5F,   // 1F5F..1F7D; GREEK
4970             0x1F7E,   // 1F7E..1F7F; UNKNOWN
4971             0x1F80,   // 1F80..1FB4; GREEK


4978             0x1FDC,   // 1FDC      ; UNKNOWN
4979             0x1FDD,   // 1FDD..1FEF; GREEK
4980             0x1FF0,   // 1FF0..1FF1; UNKNOWN
4981             0x1FF2,   // 1FF2..1FF4; GREEK
4982             0x1FF5,   // 1FF5      ; UNKNOWN
4983             0x1FF6,   // 1FF6..1FFE; GREEK
4984             0x1FFF,   // 1FFF      ; UNKNOWN
4985             0x2000,   // 2000..200B; COMMON
4986             0x200C,   // 200C..200D; INHERITED
4987             0x200E,   // 200E..2064; COMMON
4988             0x2065,   // 2065      ; UNKNOWN
4989             0x2066,   // 2066..2070; COMMON
4990             0x2071,   // 2071      ; LATIN
4991             0x2072,   // 2072..2073; UNKNOWN
4992             0x2074,   // 2074..207E; COMMON
4993             0x207F,   // 207F      ; LATIN
4994             0x2080,   // 2080..208E; COMMON
4995             0x208F,   // 208F      ; UNKNOWN
4996             0x2090,   // 2090..209C; LATIN
4997             0x209D,   // 209D..209F; UNKNOWN
4998             0x20A0,   // 20A0..20BE; COMMON
4999             0x20BF,   // 20BF..20CF; UNKNOWN
5000             0x20D0,   // 20D0..20F0; INHERITED
5001             0x20F1,   // 20F1..20FF; UNKNOWN
5002             0x2100,   // 2100..2125; COMMON
5003             0x2126,   // 2126      ; GREEK
5004             0x2127,   // 2127..2129; COMMON
5005             0x212A,   // 212A..212B; LATIN
5006             0x212C,   // 212C..2131; COMMON
5007             0x2132,   // 2132      ; LATIN
5008             0x2133,   // 2133..214D; COMMON
5009             0x214E,   // 214E      ; LATIN
5010             0x214F,   // 214F..215F; COMMON
5011             0x2160,   // 2160..2188; LATIN
5012             0x2189,   // 2189..218B; COMMON
5013             0x218C,   // 218C..218F; UNKNOWN
5014             0x2190,   // 2190..23FA; COMMON
5015             0x23FB,   // 23FB..23FF; UNKNOWN
5016             0x2400,   // 2400..2426; COMMON
5017             0x2427,   // 2427..243F; UNKNOWN
5018             0x2440,   // 2440..244A; COMMON
5019             0x244B,   // 244B..245F; UNKNOWN
5020             0x2460,   // 2460..27FF; COMMON
5021             0x2800,   // 2800..28FF; BRAILLE
5022             0x2900,   // 2900..2B73; COMMON
5023             0x2B74,   // 2B74..2B75; UNKNOWN
5024             0x2B76,   // 2B76..2B95; COMMON
5025             0x2B96,   // 2B96..2B97; UNKNOWN
5026             0x2B98,   // 2B98..2BB9; COMMON
5027             0x2BBA,   // 2BBA..2BBC; UNKNOWN
5028             0x2BBD,   // 2BBD..2BC8; COMMON
5029             0x2BC9,   // 2BC9      ; UNKNOWN
5030             0x2BCA,   // 2BCA..2BD1; COMMON
5031             0x2BD2,   // 2BD2..2BEB; UNKNOWN
5032             0x2BEC,   // 2BEC..2BEF; COMMON
5033             0x2BF0,   // 2BF0..2BFF; UNKNOWN
5034             0x2C00,   // 2C00..2C2E; GLAGOLITIC
5035             0x2C2F,   // 2C2F      ; UNKNOWN
5036             0x2C30,   // 2C30..2C5E; GLAGOLITIC
5037             0x2C5F,   // 2C5F      ; UNKNOWN
5038             0x2C60,   // 2C60..2C7F; LATIN
5039             0x2C80,   // 2C80..2CF3; COPTIC
5040             0x2CF4,   // 2CF4..2CF8; UNKNOWN
5041             0x2CF9,   // 2CF9..2CFF; COPTIC
5042             0x2D00,   // 2D00..2D25; GEORGIAN
5043             0x2D26,   // 2D26      ; UNKNOWN
5044             0x2D27,   // 2D27      ; GEORGIAN
5045             0x2D28,   // 2D28..2D2C; UNKNOWN
5046             0x2D2D,   // 2D2D      ; GEORGIAN
5047             0x2D2E,   // 2D2E..2D2F; UNKNOWN
5048             0x2D30,   // 2D30..2D67; TIFINAGH
5049             0x2D68,   // 2D68..2D6E; UNKNOWN
5050             0x2D6F,   // 2D6F..2D70; TIFINAGH
5051             0x2D71,   // 2D71..2D7E; UNKNOWN
5052             0x2D7F,   // 2D7F      ; TIFINAGH
5053             0x2D80,   // 2D80..2D96; ETHIOPIC
5054             0x2D97,   // 2D97..2D9F; UNKNOWN
5055             0x2DA0,   // 2DA0..2DA6; ETHIOPIC
5056             0x2DA7,   // 2DA7      ; UNKNOWN
5057             0x2DA8,   // 2DA8..2DAE; ETHIOPIC
5058             0x2DAF,   // 2DAF      ; UNKNOWN
5059             0x2DB0,   // 2DB0..2DB6; ETHIOPIC
5060             0x2DB7,   // 2DB7      ; UNKNOWN
5061             0x2DB8,   // 2DB8..2DBE; ETHIOPIC
5062             0x2DBF,   // 2DBF      ; UNKNOWN
5063             0x2DC0,   // 2DC0..2DC6; ETHIOPIC
5064             0x2DC7,   // 2DC7      ; UNKNOWN
5065             0x2DC8,   // 2DC8..2DCE; ETHIOPIC
5066             0x2DCF,   // 2DCF      ; UNKNOWN
5067             0x2DD0,   // 2DD0..2DD6; ETHIOPIC
5068             0x2DD7,   // 2DD7      ; UNKNOWN
5069             0x2DD8,   // 2DD8..2DDE; ETHIOPIC
5070             0x2DDF,   // 2DDF      ; UNKNOWN
5071             0x2DE0,   // 2DE0..2DFF; CYRILLIC
5072             0x2E00,   // 2E00..2E42; COMMON
5073             0x2E43,   // 2E43..2E7F; UNKNOWN
5074             0x2E80,   // 2E80..2E99; HAN
5075             0x2E9A,   // 2E9A      ; UNKNOWN
5076             0x2E9B,   // 2E9B..2EF3; HAN
5077             0x2EF4,   // 2EF4..2EFF; UNKNOWN
5078             0x2F00,   // 2F00..2FD5; HAN
5079             0x2FD6,   // 2FD6..2FEF; UNKNOWN
5080             0x2FF0,   // 2FF0..2FFB; COMMON
5081             0x2FFC,   // 2FFC..2FFF; UNKNOWN
5082             0x3000,   // 3000..3004; COMMON
5083             0x3005,   // 3005      ; HAN
5084             0x3006,   // 3006      ; COMMON
5085             0x3007,   // 3007      ; HAN
5086             0x3008,   // 3008..3020; COMMON
5087             0x3021,   // 3021..3029; HAN
5088             0x302A,   // 302A..302D; INHERITED
5089             0x302E,   // 302E..302F; HANGUL
5090             0x3030,   // 3030..3037; COMMON
5091             0x3038,   // 3038..303B; HAN
5092             0x303C,   // 303C..303F; COMMON
5093             0x3040,   // 3040      ; UNKNOWN
5094             0x3041,   // 3041..3096; HIRAGANA
5095             0x3097,   // 3097..3098; UNKNOWN
5096             0x3099,   // 3099..309A; INHERITED
5097             0x309B,   // 309B..309C; COMMON
5098             0x309D,   // 309D..309F; HIRAGANA
5099             0x30A0,   // 30A0      ; COMMON
5100             0x30A1,   // 30A1..30FA; KATAKANA
5101             0x30FB,   // 30FB..30FC; COMMON
5102             0x30FD,   // 30FD..30FF; KATAKANA
5103             0x3100,   // 3100..3104; UNKNOWN
5104             0x3105,   // 3105..312D; BOPOMOFO
5105             0x312E,   // 312E..3130; UNKNOWN
5106             0x3131,   // 3131..318E; HANGUL
5107             0x318F,   // 318F      ; UNKNOWN
5108             0x3190,   // 3190..319F; COMMON
5109             0x31A0,   // 31A0..31BA; BOPOMOFO
5110             0x31BB,   // 31BB..31BF; UNKNOWN
5111             0x31C0,   // 31C0..31E3; COMMON
5112             0x31E4,   // 31E4..31EF; UNKNOWN
5113             0x31F0,   // 31F0..31FF; KATAKANA
5114             0x3200,   // 3200..321E; HANGUL
5115             0x321F,   // 321F      ; UNKNOWN
5116             0x3220,   // 3220..325F; COMMON
5117             0x3260,   // 3260..327E; HANGUL
5118             0x327F,   // 327F..32CF; COMMON
5119             0x32D0,   // 32D0..32FE; KATAKANA
5120             0x32FF,   // 32FF      ; UNKNOWN
5121             0x3300,   // 3300..3357; KATAKANA
5122             0x3358,   // 3358..33FF; COMMON
5123             0x3400,   // 3400..4DB5; HAN
5124             0x4DB6,   // 4DB6..4DBF; UNKNOWN
5125             0x4DC0,   // 4DC0..4DFF; COMMON
5126             0x4E00,   // 4E00..9FD5; HAN
5127             0x9FD6,   // 9FD6..9FFF; UNKNOWN
5128             0xA000,   // A000..A48C; YI
5129             0xA48D,   // A48D..A48F; UNKNOWN
5130             0xA490,   // A490..A4C6; YI
5131             0xA4C7,   // A4C7..A4CF; UNKNOWN
5132             0xA4D0,   // A4D0..A4FF; LISU
5133             0xA500,   // A500..A62B; VAI
5134             0xA62C,   // A62C..A63F; UNKNOWN
5135             0xA640,   // A640..A69F; CYRILLIC
5136             0xA6A0,   // A6A0..A6F7; BAMUM
5137             0xA6F8,   // A6F8..A6FF; UNKNOWN
5138             0xA700,   // A700..A721; COMMON
5139             0xA722,   // A722..A787; LATIN
5140             0xA788,   // A788..A78A; COMMON
5141             0xA78B,   // A78B..A7AD; LATIN
5142             0xA7AE,   // A7AE..A7AF; UNKNOWN
5143             0xA7B0,   // A7B0..A7B7; LATIN
5144             0xA7B8,   // A7B8..A7F6; UNKNOWN
5145             0xA7F7,   // A7F7..A7FF; LATIN
5146             0xA800,   // A800..A82B; SYLOTI_NAGRI
5147             0xA82C,   // A82C..A82F; UNKNOWN
5148             0xA830,   // A830..A839; COMMON
5149             0xA83A,   // A83A..A83F; UNKNOWN
5150             0xA840,   // A840..A877; PHAGS_PA
5151             0xA878,   // A878..A87F; UNKNOWN
5152             0xA880,   // A880..A8C4; SAURASHTRA
5153             0xA8C5,   // A8C5..A8CD; UNKNOWN
5154             0xA8CE,   // A8CE..A8D9; SAURASHTRA
5155             0xA8DA,   // A8DA..A8DF; UNKNOWN
5156             0xA8E0,   // A8E0..A8FD; DEVANAGARI
5157             0xA8FE,   // A8FE..A8FF; UNKNOWN
5158             0xA900,   // A900..A92D; KAYAH_LI
5159             0xA92E,   // A92E      ; COMMON
5160             0xA92F,   // A92F      ; KAYAH_LI
5161             0xA930,   // A930..A953; REJANG
5162             0xA954,   // A954..A95E; UNKNOWN
5163             0xA95F,   // A95F      ; REJANG
5164             0xA960,   // A960..A97C; HANGUL
5165             0xA97D,   // A97D..A97F; UNKNOWN
5166             0xA980,   // A980..A9CD; JAVANESE
5167             0xA9CE,   // A9CE      ; UNKNOWN
5168             0xA9CF,   // A9CF      ; COMMON
5169             0xA9D0,   // A9D0..A9D9; JAVANESE
5170             0xA9DA,   // A9DA..A9DD; UNKNOWN
5171             0xA9DE,   // A9DE..A9DF; JAVANESE
5172             0xA9E0,   // A9E0..A9FE; MYANMAR
5173             0xA9FF,   // A9FF      ; UNKNOWN


5284             0xFFFE,   // FFFE..FFFF; UNKNOWN
5285             0x10000,  // 10000..1000B; LINEAR_B
5286             0x1000C,  // 1000C       ; UNKNOWN
5287             0x1000D,  // 1000D..10026; LINEAR_B
5288             0x10027,  // 10027       ; UNKNOWN
5289             0x10028,  // 10028..1003A; LINEAR_B
5290             0x1003B,  // 1003B       ; UNKNOWN
5291             0x1003C,  // 1003C..1003D; LINEAR_B
5292             0x1003E,  // 1003E       ; UNKNOWN
5293             0x1003F,  // 1003F..1004D; LINEAR_B
5294             0x1004E,  // 1004E..1004F; UNKNOWN
5295             0x10050,  // 10050..1005D; LINEAR_B
5296             0x1005E,  // 1005E..1007F; UNKNOWN
5297             0x10080,  // 10080..100FA; LINEAR_B
5298             0x100FB,  // 100FB..100FF; UNKNOWN
5299             0x10100,  // 10100..10102; COMMON
5300             0x10103,  // 10103..10106; UNKNOWN
5301             0x10107,  // 10107..10133; COMMON
5302             0x10134,  // 10134..10136; UNKNOWN
5303             0x10137,  // 10137..1013F; COMMON
5304             0x10140,  // 10140..1018C; GREEK
5305             0x1018D,  // 1018D..1018F; UNKNOWN
5306             0x10190,  // 10190..1019B; COMMON
5307             0x1019C,  // 1019C..1019F; UNKNOWN
5308             0x101A0,  // 101A0       ; GREEK
5309             0x101A1,  // 101A1..101CF; UNKNOWN
5310             0x101D0,  // 101D0..101FC; COMMON
5311             0x101FD,  // 101FD       ; INHERITED
5312             0x101FE,  // 101FE..1027F; UNKNOWN
5313             0x10280,  // 10280..1029C; LYCIAN
5314             0x1029D,  // 1029D..1029F; UNKNOWN
5315             0x102A0,  // 102A0..102D0; CARIAN
5316             0x102D1,  // 102D1..102DF; UNKNOWN
5317             0x102E0,  // 102E0       ; INHERITED
5318             0x102E1,  // 102E1..102FB; COMMON
5319             0x102FC,  // 102FC..102FF; UNKNOWN
5320             0x10300,  // 10300..10323; OLD_ITALIC
5321             0x10324,  // 10324..1032F; UNKNOWN

5322             0x10330,  // 10330..1034A; GOTHIC
5323             0x1034B,  // 1034B..1034F; UNKNOWN
5324             0x10350,  // 10350..1037A; OLD_PERMIC
5325             0x1037B,  // 1037B..1037F; UNKNOWN
5326             0x10380,  // 10380..1039D; UGARITIC
5327             0x1039E,  // 1039E       ; UNKNOWN
5328             0x1039F,  // 1039F       ; UGARITIC
5329             0x103A0,  // 103A0..103C3; OLD_PERSIAN
5330             0x103C4,  // 103C4..103C7; UNKNOWN
5331             0x103C8,  // 103C8..103D5; OLD_PERSIAN
5332             0x103D6,  // 103D6..103FF; UNKNOWN
5333             0x10400,  // 10400..1044F; DESERET
5334             0x10450,  // 10450..1047F; SHAVIAN
5335             0x10480,  // 10480..1049D; OSMANYA
5336             0x1049E,  // 1049E..1049F; UNKNOWN
5337             0x104A0,  // 104A0..104A9; OSMANYA
5338             0x104AA,  // 104AA..104FF; UNKNOWN




5339             0x10500,  // 10500..10527; ELBASAN
5340             0x10528,  // 10528..1052F; UNKNOWN
5341             0x10530,  // 10530..10563; CAUCASIAN_ALBANIAN
5342             0x10564,  // 10564..1056E; UNKNOWN
5343             0x1056F,  // 1056F       ; CAUCASIAN_ALBANIAN
5344             0x10570,  // 10570..105FF; UNKNOWN
5345             0x10600,  // 10600..10736; LINEAR_A
5346             0x10737,  // 10737..1073F; UNKNOWN
5347             0x10740,  // 10740..10755; LINEAR_A
5348             0x10756,  // 10756..1075F; UNKNOWN
5349             0x10760,  // 10760..10767; LINEAR_A
5350             0x10768,  // 10768..107FF; UNKNOWN
5351             0x10800,  // 10800..10805; CYPRIOT
5352             0x10806,  // 10806..10807; UNKNOWN
5353             0x10808,  // 10808       ; CYPRIOT
5354             0x10809,  // 10809       ; UNKNOWN
5355             0x1080A,  // 1080A..10835; CYPRIOT
5356             0x10836,  // 10836       ; UNKNOWN
5357             0x10837,  // 10837..10838; CYPRIOT
5358             0x10839,  // 10839..1083B; UNKNOWN


5441             0x11080,  // 11080..110C1; KAITHI
5442             0x110C2,  // 110C2..110CF; UNKNOWN
5443             0x110D0,  // 110D0..110E8; SORA_SOMPENG
5444             0x110E9,  // 110E9..110EF; UNKNOWN
5445             0x110F0,  // 110F0..110F9; SORA_SOMPENG
5446             0x110FA,  // 110FA..110FF; UNKNOWN
5447             0x11100,  // 11100..11134; CHAKMA
5448             0x11135,  // 11135       ; UNKNOWN
5449             0x11136,  // 11136..11143; CHAKMA
5450             0x11144,  // 11144..1114F; UNKNOWN
5451             0x11150,  // 11150..11176; MAHAJANI
5452             0x11177,  // 11177..1117F; UNKNOWN
5453             0x11180,  // 11180..111CD; SHARADA
5454             0x111CE,  // 111CE..111CF; UNKNOWN
5455             0x111D0,  // 111D0..111DF; SHARADA
5456             0x111E0,  // 111E0       ; UNKNOWN
5457             0x111E1,  // 111E1..111F4; SINHALA
5458             0x111F5,  // 111F5..111FF; UNKNOWN
5459             0x11200,  // 11200..11211; KHOJKI
5460             0x11212,  // 11212       ; UNKNOWN
5461             0x11213,  // 11213..1123D; KHOJKI
5462             0x1123E,  // 1123E..1127F; UNKNOWN
5463             0x11280,  // 11280..11286; MULTANI
5464             0x11287,  // 11287       ; UNKNOWN
5465             0x11288,  // 11288       ; MULTANI
5466             0x11289,  // 11289       ; UNKNOWN
5467             0x1128A,  // 1128A..1128D; MULTANI
5468             0x1128E,  // 1128E       ; UNKNOWN
5469             0x1128F,  // 1128F..1129D; MULTANI
5470             0x1129E,  // 1129E       ; UNKNOWN
5471             0x1129F,  // 1129F..112A9; MULTANI
5472             0x112AA,  // 112AA..112AF; UNKNOWN
5473             0x112B0,  // 112B0..112EA; KHUDAWADI
5474             0x112EB,  // 112EB..112EF; UNKNOWN
5475             0x112F0,  // 112F0..112F9; KHUDAWADI
5476             0x112FA,  // 112FA..112FF; UNKNOWN
5477             0x11300,  // 11300..11303; GRANTHA
5478             0x11304,  // 11304       ; UNKNOWN
5479             0x11305,  // 11305..1130C; GRANTHA
5480             0x1130D,  // 1130D..1130E; UNKNOWN
5481             0x1130F,  // 1130F..11310; GRANTHA
5482             0x11311,  // 11311..11312; UNKNOWN


5486             0x11331,  // 11331       ; UNKNOWN
5487             0x11332,  // 11332..11333; GRANTHA
5488             0x11334,  // 11334       ; UNKNOWN
5489             0x11335,  // 11335..11339; GRANTHA
5490             0x1133A,  // 1133A..1133B; UNKNOWN
5491             0x1133C,  // 1133C..11344; GRANTHA
5492             0x11345,  // 11345..11346; UNKNOWN
5493             0x11347,  // 11347..11348; GRANTHA
5494             0x11349,  // 11349..1134A; UNKNOWN
5495             0x1134B,  // 1134B..1134D; GRANTHA
5496             0x1134E,  // 1134E..1134F; UNKNOWN
5497             0x11350,  // 11350       ; GRANTHA
5498             0x11351,  // 11351..11356; UNKNOWN
5499             0x11357,  // 11357       ; GRANTHA
5500             0x11358,  // 11358..1135C; UNKNOWN
5501             0x1135D,  // 1135D..11363; GRANTHA
5502             0x11364,  // 11364..11365; UNKNOWN
5503             0x11366,  // 11366..1136C; GRANTHA
5504             0x1136D,  // 1136D..1136F; UNKNOWN
5505             0x11370,  // 11370..11374; GRANTHA
5506             0x11375,  // 11375..1147F; UNKNOWN






5507             0x11480,  // 11480..114C7; TIRHUTA
5508             0x114C8,  // 114C8..114CF; UNKNOWN
5509             0x114D0,  // 114D0..114D9; TIRHUTA
5510             0x114DA,  // 114DA..1157F; UNKNOWN
5511             0x11580,  // 11580..115B5; SIDDHAM
5512             0x115B6,  // 115B6..115B7; UNKNOWN
5513             0x115B8,  // 115B8..115DD; SIDDHAM
5514             0x115DE,  // 115DE..115FF; UNKNOWN
5515             0x11600,  // 11600..11644; MODI
5516             0x11645,  // 11645..1164F; UNKNOWN
5517             0x11650,  // 11650..11659; MODI
5518             0x1165A,  // 1165A..1167F; UNKNOWN


5519             0x11680,  // 11680..116B7; TAKRI
5520             0x116B8,  // 116B8..116BF; UNKNOWN
5521             0x116C0,  // 116C0..116C9; TAKRI
5522             0x116CA,  // 116CA..116FF; UNKNOWN
5523             0x11700,  // 11700..11719; AHOM
5524             0x1171A,  // 1171A..1171C; UNKNOWN
5525             0x1171D,  // 1171D..1172B; AHOM
5526             0x1172C,  // 1172C..1172F; UNKNOWN
5527             0x11730,  // 11730..1173F; AHOM
5528             0x11740,  // 11740..1189F; UNKNOWN
5529             0x118A0,  // 118A0..118F2; WARANG_CITI
5530             0x118F3,  // 118F3..118FE; UNKNOWN
5531             0x118FF,  // 118FF       ; WARANG_CITI
5532             0x11900,  // 11900..11ABF; UNKNOWN








5533             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
5534             0x11AF9,  // 11AF9..11FFF; UNKNOWN




























5535             0x12000,  // 12000..12399; CUNEIFORM
5536             0x1239A,  // 1239A..123FF; UNKNOWN
5537             0x12400,  // 12400..1246E; CUNEIFORM
5538             0x1246F,  // 1246F       ; UNKNOWN
5539             0x12470,  // 12470..12474; CUNEIFORM
5540             0x12475,  // 12475..1247F; UNKNOWN
5541             0x12480,  // 12480..12543; CUNEIFORM
5542             0x12544,  // 12544..12FFF; UNKNOWN
5543             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
5544             0x1342F,  // 1342F..143FF; UNKNOWN
5545             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
5546             0x14647,  // 14647..167FF; UNKNOWN
5547             0x16800,  // 16800..16A38; BAMUM
5548             0x16A39,  // 16A39..16A3F; UNKNOWN
5549             0x16A40,  // 16A40..16A5E; MRO
5550             0x16A5F,  // 16A5F       ; UNKNOWN
5551             0x16A60,  // 16A60..16A69; MRO
5552             0x16A6A,  // 16A6A..16A6D; UNKNOWN
5553             0x16A6E,  // 16A6E..16A6F; MRO
5554             0x16A70,  // 16A70..16ACF; UNKNOWN
5555             0x16AD0,  // 16AD0..16AED; BASSA_VAH
5556             0x16AEE,  // 16AEE..16AEF; UNKNOWN
5557             0x16AF0,  // 16AF0..16AF5; BASSA_VAH
5558             0x16AF6,  // 16AF6..16AFF; UNKNOWN
5559             0x16B00,  // 16B00..16B45; PAHAWH_HMONG
5560             0x16B46,  // 16B46..16B4F; UNKNOWN
5561             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
5562             0x16B5A,  // 16B5A       ; UNKNOWN
5563             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
5564             0x16B62,  // 16B62       ; UNKNOWN
5565             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
5566             0x16B78,  // 16B78..16B7C; UNKNOWN
5567             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
5568             0x16B90,  // 16B90..16EFF; UNKNOWN
5569             0x16F00,  // 16F00..16F44; MIAO
5570             0x16F45,  // 16F45..16F4F; UNKNOWN
5571             0x16F50,  // 16F50..16F7E; MIAO
5572             0x16F7F,  // 16F7F..16F8E; UNKNOWN
5573             0x16F8F,  // 16F8F..16F9F; MIAO
5574             0x16FA0,  // 16FA0..1AFFF; UNKNOWN







5575             0x1B000,  // 1B000       ; KATAKANA
5576             0x1B001,  // 1B001       ; HIRAGANA
5577             0x1B002,  // 1B002..1BBFF; UNKNOWN


5578             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
5579             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
5580             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
5581             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
5582             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
5583             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
5584             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
5585             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
5586             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
5587             0x1BCA0,  // 1BCA0..1BCA3; COMMON
5588             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN
5589             0x1D000,  // 1D000..1D0F5; COMMON
5590             0x1D0F6,  // 1D0F6..1D0FF; UNKNOWN
5591             0x1D100,  // 1D100..1D126; COMMON
5592             0x1D127,  // 1D127..1D128; UNKNOWN
5593             0x1D129,  // 1D129..1D166; COMMON
5594             0x1D167,  // 1D167..1D169; INHERITED
5595             0x1D16A,  // 1D16A..1D17A; COMMON
5596             0x1D17B,  // 1D17B..1D182; INHERITED
5597             0x1D183,  // 1D183..1D184; COMMON


5635             0x1D51E,  // 1D51E..1D539; COMMON
5636             0x1D53A,  // 1D53A       ; UNKNOWN
5637             0x1D53B,  // 1D53B..1D53E; COMMON
5638             0x1D53F,  // 1D53F       ; UNKNOWN
5639             0x1D540,  // 1D540..1D544; COMMON
5640             0x1D545,  // 1D545       ; UNKNOWN
5641             0x1D546,  // 1D546       ; COMMON
5642             0x1D547,  // 1D547..1D549; UNKNOWN
5643             0x1D54A,  // 1D54A..1D550; COMMON
5644             0x1D551,  // 1D551       ; UNKNOWN
5645             0x1D552,  // 1D552..1D6A5; COMMON
5646             0x1D6A6,  // 1D6A6..1D6A7; UNKNOWN
5647             0x1D6A8,  // 1D6A8..1D7CB; COMMON
5648             0x1D7CC,  // 1D7CC..1D7CD; UNKNOWN
5649             0x1D7CE,  // 1D7CE..1D7FF; COMMON
5650             0x1D800,  // 1D800..1DA8B; SIGNWRITING
5651             0x1DA8C,  // 1DA8C..1DA9A; UNKNOWN
5652             0x1DA9B,  // 1DA9B..1DA9F; SIGNWRITING
5653             0x1DAA0,  // 1DAA0       ; UNKNOWN
5654             0x1DAA1,  // 1DAA1..1DAAF; SIGNWRITING
5655             0x1DAB0,  // 1DAB0..1E7FF; UNKNOWN










5656             0x1E800,  // 1E800..1E8C4; MENDE_KIKAKUI
5657             0x1E8C5,  // 1E8C5..1E8C6; UNKNOWN
5658             0x1E8C7,  // 1E8C7..1E8D6; MENDE_KIKAKUI
5659             0x1E8D7,  // 1E8D7..1EDFF; UNKNOWN






5660             0x1EE00,  // 1EE00..1EE03; ARABIC
5661             0x1EE04,  // 1EE04       ; UNKNOWN
5662             0x1EE05,  // 1EE05..1EE1F; ARABIC
5663             0x1EE20,  // 1EE20       ; UNKNOWN
5664             0x1EE21,  // 1EE21..1EE22; ARABIC
5665             0x1EE23,  // 1EE23       ; UNKNOWN
5666             0x1EE24,  // 1EE24       ; ARABIC
5667             0x1EE25,  // 1EE25..1EE26; UNKNOWN
5668             0x1EE27,  // 1EE27       ; ARABIC
5669             0x1EE28,  // 1EE28       ; UNKNOWN
5670             0x1EE29,  // 1EE29..1EE32; ARABIC
5671             0x1EE33,  // 1EE33       ; UNKNOWN
5672             0x1EE34,  // 1EE34..1EE37; ARABIC
5673             0x1EE38,  // 1EE38       ; UNKNOWN
5674             0x1EE39,  // 1EE39       ; ARABIC
5675             0x1EE3A,  // 1EE3A       ; UNKNOWN
5676             0x1EE3B,  // 1EE3B       ; ARABIC
5677             0x1EE3C,  // 1EE3C..1EE41; UNKNOWN
5678             0x1EE42,  // 1EE42       ; ARABIC
5679             0x1EE43,  // 1EE43..1EE46; UNKNOWN


5726             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
5727             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
5728             0x1F000,  // 1F000..1F02B; COMMON
5729             0x1F02C,  // 1F02C..1F02F; UNKNOWN
5730             0x1F030,  // 1F030..1F093; COMMON
5731             0x1F094,  // 1F094..1F09F; UNKNOWN
5732             0x1F0A0,  // 1F0A0..1F0AE; COMMON
5733             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
5734             0x1F0B1,  // 1F0B1..1F0BF; COMMON
5735             0x1F0C0,  // 1F0C0       ; UNKNOWN
5736             0x1F0C1,  // 1F0C1..1F0CF; COMMON
5737             0x1F0D0,  // 1F0D0       ; UNKNOWN
5738             0x1F0D1,  // 1F0D1..1F0F5; COMMON
5739             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
5740             0x1F100,  // 1F100..1F10C; COMMON
5741             0x1F10D,  // 1F10D..1F10F; UNKNOWN
5742             0x1F110,  // 1F110..1F12E; COMMON
5743             0x1F12F,  // 1F12F       ; UNKNOWN
5744             0x1F130,  // 1F130..1F16B; COMMON
5745             0x1F16C,  // 1F16C..1F16F; UNKNOWN
5746             0x1F170,  // 1F170..1F19A; COMMON
5747             0x1F19B,  // 1F19B..1F1E5; UNKNOWN
5748             0x1F1E6,  // 1F1E6..1F1FF; COMMON
5749             0x1F200,  // 1F200       ; HIRAGANA
5750             0x1F201,  // 1F201..1F202; COMMON
5751             0x1F203,  // 1F203..1F20F; UNKNOWN
5752             0x1F210,  // 1F210..1F23A; COMMON
5753             0x1F23B,  // 1F23B..1F23F; UNKNOWN
5754             0x1F240,  // 1F240..1F248; COMMON
5755             0x1F249,  // 1F249..1F24F; UNKNOWN
5756             0x1F250,  // 1F250..1F251; COMMON
5757             0x1F252,  // 1F252..1F2FF; UNKNOWN
5758             0x1F300,  // 1F300..1F579; COMMON
5759             0x1F57A,  // 1F57A       ; UNKNOWN
5760             0x1F57B,  // 1F57B..1F5A3; COMMON
5761             0x1F5A4,  // 1F5A4       ; UNKNOWN
5762             0x1F5A5,  // 1F5A5..1F6D0; COMMON
5763             0x1F6D1,  // 1F6D1..1F6DF; UNKNOWN
5764             0x1F6E0,  // 1F6E0..1F6EC; COMMON
5765             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
5766             0x1F6F0,  // 1F6F0..1F6F3; COMMON
5767             0x1F6F4,  // 1F6F4..1F6FF; UNKNOWN
5768             0x1F700,  // 1F700..1F773; COMMON
5769             0x1F774,  // 1F774..1F77F; UNKNOWN
5770             0x1F780,  // 1F780..1F7D4; COMMON
5771             0x1F7D5,  // 1F7D5..1F7FF; UNKNOWN
5772             0x1F800,  // 1F800..1F80B; COMMON
5773             0x1F80C,  // 1F80C..1F80F; UNKNOWN
5774             0x1F810,  // 1F810..1F847; COMMON
5775             0x1F848,  // 1F848..1F84F; UNKNOWN
5776             0x1F850,  // 1F850..1F859; COMMON
5777             0x1F85A,  // 1F85A..1F85F; UNKNOWN
5778             0x1F860,  // 1F860..1F887; COMMON
5779             0x1F888,  // 1F888..1F88F; UNKNOWN
5780             0x1F890,  // 1F890..1F8AD; COMMON
5781             0x1F8AE,  // 1F8AE..1F90F; UNKNOWN
5782             0x1F910,  // 1F910..1F918; COMMON
5783             0x1F919,  // 1F919..1F97F; UNKNOWN
5784             0x1F980,  // 1F980..1F984; COMMON
5785             0x1F985,  // 1F985..1F9BF; UNKNOWN






5786             0x1F9C0,  // 1F9C0       ; COMMON
5787             0x1F9C1,  // 1F9C1..1FFFF; UNKNOWN


5788             0x20000,  // 20000..2A6D6; HAN
5789             0x2A6D7,  // 2A6D7..2A6FF; UNKNOWN
5790             0x2A700,  // 2A700..2B734; HAN
5791             0x2B735,  // 2B735..2B73F; UNKNOWN
5792             0x2B740,  // 2B740..2B81D; HAN
5793             0x2B81E,  // 2B81E..2B81F; UNKNOWN
5794             0x2B820,  // 2B820..2CEA1; HAN
5795             0x2CEA2,  // 2CEA2..2F7FF; UNKNOWN


5796             0x2F800,  // 2F800..2FA1D; HAN
5797             0x2FA1E,  // 2FA1E..E0000; UNKNOWN
5798             0xE0001,  // E0001       ; COMMON
5799             0xE0002,  // E0002..E001F; UNKNOWN
5800             0xE0020,  // E0020..E007F; COMMON
5801             0xE0080,  // E0080..E00FF; UNKNOWN
5802             0xE0100,  // E0100..E01EF; INHERITED
5803             0xE01F0   // E01F0..10FFFF; UNKNOWN
5804         };
5805 
5806         private static final UnicodeScript[] scripts = {
5807             COMMON,                   // 0000..0040
5808             LATIN,                    // 0041..005A
5809             COMMON,                   // 005B..0060
5810             LATIN,                    // 0061..007A
5811             COMMON,                   // 007B..00A9
5812             LATIN,                    // 00AA
5813             COMMON,                   // 00AB..00B9
5814             LATIN,                    // 00BA
5815             COMMON,                   // 00BB..00BF


5854             ARMENIAN,                 // 0559..055F
5855             UNKNOWN,                  // 0560
5856             ARMENIAN,                 // 0561..0587
5857             UNKNOWN,                  // 0588
5858             COMMON,                   // 0589
5859             ARMENIAN,                 // 058A
5860             UNKNOWN,                  // 058B..058C
5861             ARMENIAN,                 // 058D..058F
5862             UNKNOWN,                  // 0590
5863             HEBREW,                   // 0591..05C7
5864             UNKNOWN,                  // 05C8..05CF
5865             HEBREW,                   // 05D0..05EA
5866             UNKNOWN,                  // 05EB..05EF
5867             HEBREW,                   // 05F0..05F4
5868             UNKNOWN,                  // 05F5..05FF
5869             ARABIC,                   // 0600..0604
5870             COMMON,                   // 0605
5871             ARABIC,                   // 0606..060B
5872             COMMON,                   // 060C
5873             ARABIC,                   // 060D..061A
5874             COMMON,                   // 061B..061C

5875             UNKNOWN,                  // 061D
5876             ARABIC,                   // 061E
5877             COMMON,                   // 061F
5878             ARABIC,                   // 0620..063F
5879             COMMON,                   // 0640
5880             ARABIC,                   // 0641..064A
5881             INHERITED,                // 064B..0655
5882             ARABIC,                   // 0656..066F
5883             INHERITED,                // 0670
5884             ARABIC,                   // 0671..06DC
5885             COMMON,                   // 06DD
5886             ARABIC,                   // 06DE..06FF
5887             SYRIAC,                   // 0700..070D
5888             UNKNOWN,                  // 070E
5889             SYRIAC,                   // 070F..074A
5890             UNKNOWN,                  // 074B..074C
5891             SYRIAC,                   // 074D..074F
5892             ARABIC,                   // 0750..077F
5893             THAANA,                   // 0780..07B1
5894             UNKNOWN,                  // 07B2..07BF
5895             NKO,                      // 07C0..07FA
5896             UNKNOWN,                  // 07FB..07FF
5897             SAMARITAN,                // 0800..082D
5898             UNKNOWN,                  // 082E..082F
5899             SAMARITAN,                // 0830..083E
5900             UNKNOWN,                  // 083F
5901             MANDAIC,                  // 0840..085B
5902             UNKNOWN,                  // 085C..085D
5903             MANDAIC,                  // 085E
5904             UNKNOWN,                  // 085F..089F


5905             ARABIC,                   // 08A0..08B4
5906             UNKNOWN,                  // 08B5..08E2




5907             ARABIC,                   // 08E3..08FF
5908             DEVANAGARI,               // 0900..0950
5909             INHERITED,                // 0951..0952
5910             DEVANAGARI,               // 0953..0963
5911             COMMON,                   // 0964..0965
5912             DEVANAGARI,               // 0966..097F
5913             BENGALI,                  // 0980..0983
5914             UNKNOWN,                  // 0984
5915             BENGALI,                  // 0985..098C
5916             UNKNOWN,                  // 098D..098E
5917             BENGALI,                  // 098F..0990
5918             UNKNOWN,                  // 0991..0992
5919             BENGALI,                  // 0993..09A8
5920             UNKNOWN,                  // 09A9
5921             BENGALI,                  // 09AA..09B0
5922             UNKNOWN,                  // 09B1
5923             BENGALI,                  // 09B2
5924             UNKNOWN,                  // 09B3..09B5
5925             BENGALI,                  // 09B6..09B9
5926             UNKNOWN,                  // 09BA..09BB
5927             BENGALI,                  // 09BC..09C4
5928             UNKNOWN,                  // 09C5..09C6
5929             BENGALI,                  // 09C7..09C8
5930             UNKNOWN,                  // 09C9..09CA
5931             BENGALI,                  // 09CB..09CE
5932             UNKNOWN,                  // 09CF..09D6
5933             BENGALI,                  // 09D7
5934             UNKNOWN,                  // 09D8..09DB
5935             BENGALI,                  // 09DC..09DD
5936             UNKNOWN,                  // 09DE
5937             BENGALI,                  // 09DF..09E3
5938             UNKNOWN,                  // 09E4..09E5
5939             BENGALI,                  // 09E6..09FB
5940             UNKNOWN,                  // 09FC..0A00
5941             GURMUKHI,                 // 0A01..0A03
5942             UNKNOWN,                  // 0A04
5943             GURMUKHI,                 // 0A05..0A0A
5944             UNKNOWN,                  // 0A0B..0A0E
5945             GURMUKHI,                 // 0A0F..0A10
5946             UNKNOWN,                  // 0A11..0A12
5947             GURMUKHI,                 // 0A13..0A28
5948             UNKNOWN,                  // 0A29
5949             GURMUKHI,                 // 0A2A..0A30
5950             UNKNOWN,                  // 0A31
5951             GURMUKHI,                 // 0A32..0A33
5952             UNKNOWN,                  // 0A34
5953             GURMUKHI,                 // 0A35..0A36
5954             UNKNOWN,                  // 0A37
5955             GURMUKHI,                 // 0A38..0A39
5956             UNKNOWN,                  // 0A3A..0A3B
5957             GURMUKHI,                 // 0A3C
5958             UNKNOWN,                  // 0A3D
5959             GURMUKHI,                 // 0A3E..0A42
5960             UNKNOWN,                  // 0A43..0A46


5979             GUJARATI,                 // 0A93..0AA8
5980             UNKNOWN,                  // 0AA9
5981             GUJARATI,                 // 0AAA..0AB0
5982             UNKNOWN,                  // 0AB1
5983             GUJARATI,                 // 0AB2..0AB3
5984             UNKNOWN,                  // 0AB4
5985             GUJARATI,                 // 0AB5..0AB9
5986             UNKNOWN,                  // 0ABA..0ABB
5987             GUJARATI,                 // 0ABC..0AC5
5988             UNKNOWN,                  // 0AC6
5989             GUJARATI,                 // 0AC7..0AC9
5990             UNKNOWN,                  // 0ACA
5991             GUJARATI,                 // 0ACB..0ACD
5992             UNKNOWN,                  // 0ACE..0ACF
5993             GUJARATI,                 // 0AD0
5994             UNKNOWN,                  // 0AD1..0ADF
5995             GUJARATI,                 // 0AE0..0AE3
5996             UNKNOWN,                  // 0AE4..0AE5
5997             GUJARATI,                 // 0AE6..0AF1
5998             UNKNOWN,                  // 0AF2..0AF8
5999             GUJARATI,                 // 0AF9
6000             UNKNOWN,                  // 0AFA..0B00
6001             ORIYA,                    // 0B01..0B03
6002             UNKNOWN,                  // 0B04
6003             ORIYA,                    // 0B05..0B0C
6004             UNKNOWN,                  // 0B0D..0B0E
6005             ORIYA,                    // 0B0F..0B10
6006             UNKNOWN,                  // 0B11..0B12
6007             ORIYA,                    // 0B13..0B28
6008             UNKNOWN,                  // 0B29
6009             ORIYA,                    // 0B2A..0B30
6010             UNKNOWN,                  // 0B31
6011             ORIYA,                    // 0B32..0B33
6012             UNKNOWN,                  // 0B34
6013             ORIYA,                    // 0B35..0B39
6014             UNKNOWN,                  // 0B3A..0B3B
6015             ORIYA,                    // 0B3C..0B44
6016             UNKNOWN,                  // 0B45..0B46
6017             ORIYA,                    // 0B47..0B48
6018             UNKNOWN,                  // 0B49..0B4A
6019             ORIYA,                    // 0B4B..0B4D
6020             UNKNOWN,                  // 0B4E..0B55


6066             UNKNOWN,                  // 0C11
6067             TELUGU,                   // 0C12..0C28
6068             UNKNOWN,                  // 0C29
6069             TELUGU,                   // 0C2A..0C39
6070             UNKNOWN,                  // 0C3A..0C3C
6071             TELUGU,                   // 0C3D..0C44
6072             UNKNOWN,                  // 0C45
6073             TELUGU,                   // 0C46..0C48
6074             UNKNOWN,                  // 0C49
6075             TELUGU,                   // 0C4A..0C4D
6076             UNKNOWN,                  // 0C4E..0C54
6077             TELUGU,                   // 0C55..0C56
6078             UNKNOWN,                  // 0C57
6079             TELUGU,                   // 0C58..0C5A
6080             UNKNOWN,                  // 0C5B..0C5F
6081             TELUGU,                   // 0C60..0C63
6082             UNKNOWN,                  // 0C64..0C65
6083             TELUGU,                   // 0C66..0C6F
6084             UNKNOWN,                  // 0C70..0C77
6085             TELUGU,                   // 0C78..0C7F
6086             UNKNOWN,                  // 0C80
6087             KANNADA,                  // 0C81..0C83
6088             UNKNOWN,                  // 0C84
6089             KANNADA,                  // 0C85..0C8C
6090             UNKNOWN,                  // 0C8D
6091             KANNADA,                  // 0C8E..0C90
6092             UNKNOWN,                  // 0C91
6093             KANNADA,                  // 0C92..0CA8
6094             UNKNOWN,                  // 0CA9
6095             KANNADA,                  // 0CAA..0CB3
6096             UNKNOWN,                  // 0CB4
6097             KANNADA,                  // 0CB5..0CB9
6098             UNKNOWN,                  // 0CBA..0CBB
6099             KANNADA,                  // 0CBC..0CC4
6100             UNKNOWN,                  // 0CC5
6101             KANNADA,                  // 0CC6..0CC8
6102             UNKNOWN,                  // 0CC9
6103             KANNADA,                  // 0CCA..0CCD
6104             UNKNOWN,                  // 0CCE..0CD4
6105             KANNADA,                  // 0CD5..0CD6
6106             UNKNOWN,                  // 0CD7..0CDD
6107             KANNADA,                  // 0CDE
6108             UNKNOWN,                  // 0CDF
6109             KANNADA,                  // 0CE0..0CE3
6110             UNKNOWN,                  // 0CE4..0CE5
6111             KANNADA,                  // 0CE6..0CEF
6112             UNKNOWN,                  // 0CF0
6113             KANNADA,                  // 0CF1..0CF2
6114             UNKNOWN,                  // 0CF3..0D00
6115             MALAYALAM,                // 0D01..0D03
6116             UNKNOWN,                  // 0D04
6117             MALAYALAM,                // 0D05..0D0C
6118             UNKNOWN,                  // 0D0D
6119             MALAYALAM,                // 0D0E..0D10
6120             UNKNOWN,                  // 0D11
6121             MALAYALAM,                // 0D12..0D3A
6122             UNKNOWN,                  // 0D3B..0D3C
6123             MALAYALAM,                // 0D3D..0D44
6124             UNKNOWN,                  // 0D45
6125             MALAYALAM,                // 0D46..0D48
6126             UNKNOWN,                  // 0D49
6127             MALAYALAM,                // 0D4A..0D4E
6128             UNKNOWN,                  // 0D4F..0D56
6129             MALAYALAM,                // 0D57
6130             UNKNOWN,                  // 0D58..0D5E
6131             MALAYALAM,                // 0D5F..0D63
6132             UNKNOWN,                  // 0D64..0D65
6133             MALAYALAM,                // 0D66..0D75
6134             UNKNOWN,                  // 0D76..0D78
6135             MALAYALAM,                // 0D79..0D7F
6136             UNKNOWN,                  // 0D80..0D81
6137             SINHALA,                  // 0D82..0D83
6138             UNKNOWN,                  // 0D84
6139             SINHALA,                  // 0D85..0D96
6140             UNKNOWN,                  // 0D97..0D99
6141             SINHALA,                  // 0D9A..0DB1
6142             UNKNOWN,                  // 0DB2
6143             SINHALA,                  // 0DB3..0DBB
6144             UNKNOWN,                  // 0DBC
6145             SINHALA,                  // 0DBD
6146             UNKNOWN,                  // 0DBE..0DBF
6147             SINHALA,                  // 0DC0..0DC6
6148             UNKNOWN,                  // 0DC7..0DC9
6149             SINHALA,                  // 0DCA
6150             UNKNOWN,                  // 0DCB..0DCE
6151             SINHALA,                  // 0DCF..0DD4
6152             UNKNOWN,                  // 0DD5
6153             SINHALA,                  // 0DD6
6154             UNKNOWN,                  // 0DD7
6155             SINHALA,                  // 0DD8..0DDF


6339             TAI_THAM,                 // 1A90..1A99
6340             UNKNOWN,                  // 1A9A..1A9F
6341             TAI_THAM,                 // 1AA0..1AAD
6342             UNKNOWN,                  // 1AAE..1AAF
6343             INHERITED,                // 1AB0..1ABE
6344             UNKNOWN,                  // 1ABF..1AFF
6345             BALINESE,                 // 1B00..1B4B
6346             UNKNOWN,                  // 1B4C..1B4F
6347             BALINESE,                 // 1B50..1B7C
6348             UNKNOWN,                  // 1B7D..1B7F
6349             SUNDANESE,                // 1B80..1BBF
6350             BATAK,                    // 1BC0..1BF3
6351             UNKNOWN,                  // 1BF4..1BFB
6352             BATAK,                    // 1BFC..1BFF
6353             LEPCHA,                   // 1C00..1C37
6354             UNKNOWN,                  // 1C38..1C3A
6355             LEPCHA,                   // 1C3B..1C49
6356             UNKNOWN,                  // 1C4A..1C4C
6357             LEPCHA,                   // 1C4D..1C4F
6358             OL_CHIKI,                 // 1C50..1C7F
6359             UNKNOWN,                  // 1C80..1CBF

6360             SUNDANESE,                // 1CC0..1CC7
6361             UNKNOWN,                  // 1CC8..1CCF
6362             INHERITED,                // 1CD0..1CD2
6363             COMMON,                   // 1CD3
6364             INHERITED,                // 1CD4..1CE0
6365             COMMON,                   // 1CE1
6366             INHERITED,                // 1CE2..1CE8
6367             COMMON,                   // 1CE9..1CEC
6368             INHERITED,                // 1CED
6369             COMMON,                   // 1CEE..1CF3
6370             INHERITED,                // 1CF4
6371             COMMON,                   // 1CF5..1CF6
6372             UNKNOWN,                  // 1CF7
6373             INHERITED,                // 1CF8..1CF9
6374             UNKNOWN,                  // 1CFA..1CFF
6375             LATIN,                    // 1D00..1D25
6376             GREEK,                    // 1D26..1D2A
6377             CYRILLIC,                 // 1D2B
6378             LATIN,                    // 1D2C..1D5C
6379             GREEK,                    // 1D5D..1D61
6380             LATIN,                    // 1D62..1D65
6381             GREEK,                    // 1D66..1D6A
6382             LATIN,                    // 1D6B..1D77
6383             CYRILLIC,                 // 1D78
6384             LATIN,                    // 1D79..1DBE
6385             GREEK,                    // 1DBF
6386             INHERITED,                // 1DC0..1DF5
6387             UNKNOWN,                  // 1DF6..1DFB
6388             INHERITED,                // 1DFC..1DFF
6389             LATIN,                    // 1E00..1EFF
6390             GREEK,                    // 1F00..1F15
6391             UNKNOWN,                  // 1F16..1F17
6392             GREEK,                    // 1F18..1F1D
6393             UNKNOWN,                  // 1F1E..1F1F
6394             GREEK,                    // 1F20..1F45
6395             UNKNOWN,                  // 1F46..1F47
6396             GREEK,                    // 1F48..1F4D
6397             UNKNOWN,                  // 1F4E..1F4F
6398             GREEK,                    // 1F50..1F57
6399             UNKNOWN,                  // 1F58
6400             GREEK,                    // 1F59
6401             UNKNOWN,                  // 1F5A
6402             GREEK,                    // 1F5B
6403             UNKNOWN,                  // 1F5C
6404             GREEK,                    // 1F5D
6405             UNKNOWN,                  // 1F5E
6406             GREEK,                    // 1F5F..1F7D
6407             UNKNOWN,                  // 1F7E..1F7F
6408             GREEK,                    // 1F80..1FB4


6415             UNKNOWN,                  // 1FDC
6416             GREEK,                    // 1FDD..1FEF
6417             UNKNOWN,                  // 1FF0..1FF1
6418             GREEK,                    // 1FF2..1FF4
6419             UNKNOWN,                  // 1FF5
6420             GREEK,                    // 1FF6..1FFE
6421             UNKNOWN,                  // 1FFF
6422             COMMON,                   // 2000..200B
6423             INHERITED,                // 200C..200D
6424             COMMON,                   // 200E..2064
6425             UNKNOWN,                  // 2065
6426             COMMON,                   // 2066..2070
6427             LATIN,                    // 2071
6428             UNKNOWN,                  // 2072..2073
6429             COMMON,                   // 2074..207E
6430             LATIN,                    // 207F
6431             COMMON,                   // 2080..208E
6432             UNKNOWN,                  // 208F
6433             LATIN,                    // 2090..209C
6434             UNKNOWN,                  // 209D..209F
6435             COMMON,                   // 20A0..20BE
6436             UNKNOWN,                  // 20BF..20CF
6437             INHERITED,                // 20D0..20F0
6438             UNKNOWN,                  // 20F1..20FF
6439             COMMON,                   // 2100..2125
6440             GREEK,                    // 2126
6441             COMMON,                   // 2127..2129
6442             LATIN,                    // 212A..212B
6443             COMMON,                   // 212C..2131
6444             LATIN,                    // 2132
6445             COMMON,                   // 2133..214D
6446             LATIN,                    // 214E
6447             COMMON,                   // 214F..215F
6448             LATIN,                    // 2160..2188
6449             COMMON,                   // 2189..218B
6450             UNKNOWN,                  // 218C..218F
6451             COMMON,                   // 2190..23FA
6452             UNKNOWN,                  // 23FB..23FF
6453             COMMON,                   // 2400..2426
6454             UNKNOWN,                  // 2427..243F
6455             COMMON,                   // 2440..244A
6456             UNKNOWN,                  // 244B..245F
6457             COMMON,                   // 2460..27FF
6458             BRAILLE,                  // 2800..28FF
6459             COMMON,                   // 2900..2B73
6460             UNKNOWN,                  // 2B74..2B75
6461             COMMON,                   // 2B76..2B95
6462             UNKNOWN,                  // 2B96..2B97
6463             COMMON,                   // 2B98..2BB9
6464             UNKNOWN,                  // 2BBA..2BBC
6465             COMMON,                   // 2BBD..2BC8
6466             UNKNOWN,                  // 2BC9
6467             COMMON,                   // 2BCA..2BD1
6468             UNKNOWN,                  // 2BD2..2BEB
6469             COMMON,                   // 2BEC..2BEF
6470             UNKNOWN,                  // 2BF0..2BFF
6471             GLAGOLITIC,               // 2C00..2C2E
6472             UNKNOWN,                  // 2C2F
6473             GLAGOLITIC,               // 2C30..2C5E
6474             UNKNOWN,                  // 2C5F
6475             LATIN,                    // 2C60..2C7F
6476             COPTIC,                   // 2C80..2CF3
6477             UNKNOWN,                  // 2CF4..2CF8
6478             COPTIC,                   // 2CF9..2CFF
6479             GEORGIAN,                 // 2D00..2D25
6480             UNKNOWN,                  // 2D26
6481             GEORGIAN,                 // 2D27
6482             UNKNOWN,                  // 2D28..2D2C
6483             GEORGIAN,                 // 2D2D
6484             UNKNOWN,                  // 2D2E..2D2F
6485             TIFINAGH,                 // 2D30..2D67
6486             UNKNOWN,                  // 2D68..2D6E
6487             TIFINAGH,                 // 2D6F..2D70
6488             UNKNOWN,                  // 2D71..2D7E
6489             TIFINAGH,                 // 2D7F
6490             ETHIOPIC,                 // 2D80..2D96
6491             UNKNOWN,                  // 2D97..2D9F
6492             ETHIOPIC,                 // 2DA0..2DA6
6493             UNKNOWN,                  // 2DA7
6494             ETHIOPIC,                 // 2DA8..2DAE
6495             UNKNOWN,                  // 2DAF
6496             ETHIOPIC,                 // 2DB0..2DB6
6497             UNKNOWN,                  // 2DB7
6498             ETHIOPIC,                 // 2DB8..2DBE
6499             UNKNOWN,                  // 2DBF
6500             ETHIOPIC,                 // 2DC0..2DC6
6501             UNKNOWN,                  // 2DC7
6502             ETHIOPIC,                 // 2DC8..2DCE
6503             UNKNOWN,                  // 2DCF
6504             ETHIOPIC,                 // 2DD0..2DD6
6505             UNKNOWN,                  // 2DD7
6506             ETHIOPIC,                 // 2DD8..2DDE
6507             UNKNOWN,                  // 2DDF
6508             CYRILLIC,                 // 2DE0..2DFF
6509             COMMON,                   // 2E00..2E42
6510             UNKNOWN,                  // 2E43..2E7F
6511             HAN,                      // 2E80..2E99
6512             UNKNOWN,                  // 2E9A
6513             HAN,                      // 2E9B..2EF3
6514             UNKNOWN,                  // 2EF4..2EFF
6515             HAN,                      // 2F00..2FD5
6516             UNKNOWN,                  // 2FD6..2FEF
6517             COMMON,                   // 2FF0..2FFB
6518             UNKNOWN,                  // 2FFC..2FFF
6519             COMMON,                   // 3000..3004
6520             HAN,                      // 3005
6521             COMMON,                   // 3006
6522             HAN,                      // 3007
6523             COMMON,                   // 3008..3020
6524             HAN,                      // 3021..3029
6525             INHERITED,                // 302A..302D
6526             HANGUL,                   // 302E..302F
6527             COMMON,                   // 3030..3037
6528             HAN,                      // 3038..303B
6529             COMMON,                   // 303C..303F
6530             UNKNOWN,                  // 3040
6531             HIRAGANA,                 // 3041..3096
6532             UNKNOWN,                  // 3097..3098
6533             INHERITED,                // 3099..309A
6534             COMMON,                   // 309B..309C
6535             HIRAGANA,                 // 309D..309F
6536             COMMON,                   // 30A0
6537             KATAKANA,                 // 30A1..30FA
6538             COMMON,                   // 30FB..30FC
6539             KATAKANA,                 // 30FD..30FF
6540             UNKNOWN,                  // 3100..3104
6541             BOPOMOFO,                 // 3105..312D
6542             UNKNOWN,                  // 312E..3130
6543             HANGUL,                   // 3131..318E
6544             UNKNOWN,                  // 318F
6545             COMMON,                   // 3190..319F
6546             BOPOMOFO,                 // 31A0..31BA
6547             UNKNOWN,                  // 31BB..31BF
6548             COMMON,                   // 31C0..31E3
6549             UNKNOWN,                  // 31E4..31EF
6550             KATAKANA,                 // 31F0..31FF
6551             HANGUL,                   // 3200..321E
6552             UNKNOWN,                  // 321F
6553             COMMON,                   // 3220..325F
6554             HANGUL,                   // 3260..327E
6555             COMMON,                   // 327F..32CF
6556             KATAKANA,                 // 32D0..32FE
6557             UNKNOWN,                  // 32FF
6558             KATAKANA,                 // 3300..3357
6559             COMMON,                   // 3358..33FF
6560             HAN,                      // 3400..4DB5
6561             UNKNOWN,                  // 4DB6..4DBF
6562             COMMON,                   // 4DC0..4DFF
6563             HAN,                      // 4E00..9FD5
6564             UNKNOWN,                  // 9FD6..9FFF
6565             YI,                       // A000..A48C
6566             UNKNOWN,                  // A48D..A48F
6567             YI,                       // A490..A4C6
6568             UNKNOWN,                  // A4C7..A4CF
6569             LISU,                     // A4D0..A4FF
6570             VAI,                      // A500..A62B
6571             UNKNOWN,                  // A62C..A63F
6572             CYRILLIC,                 // A640..A69F
6573             BAMUM,                    // A6A0..A6F7
6574             UNKNOWN,                  // A6F8..A6FF
6575             COMMON,                   // A700..A721
6576             LATIN,                    // A722..A787
6577             COMMON,                   // A788..A78A
6578             LATIN,                    // A78B..A7AD
6579             UNKNOWN,                  // A7AE..A7AF
6580             LATIN,                    // A7B0..A7B7
6581             UNKNOWN,                  // A7B8..A7F6
6582             LATIN,                    // A7F7..A7FF
6583             SYLOTI_NAGRI,             // A800..A82B
6584             UNKNOWN,                  // A82C..A82F
6585             COMMON,                   // A830..A839
6586             UNKNOWN,                  // A83A..A83F
6587             PHAGS_PA,                 // A840..A877
6588             UNKNOWN,                  // A878..A87F
6589             SAURASHTRA,               // A880..A8C4
6590             UNKNOWN,                  // A8C5..A8CD
6591             SAURASHTRA,               // A8CE..A8D9
6592             UNKNOWN,                  // A8DA..A8DF
6593             DEVANAGARI,               // A8E0..A8FD
6594             UNKNOWN,                  // A8FE..A8FF
6595             KAYAH_LI,                 // A900..A92D
6596             COMMON,                   // A92E
6597             KAYAH_LI,                 // A92F
6598             REJANG,                   // A930..A953
6599             UNKNOWN,                  // A954..A95E
6600             REJANG,                   // A95F
6601             HANGUL,                   // A960..A97C
6602             UNKNOWN,                  // A97D..A97F
6603             JAVANESE,                 // A980..A9CD
6604             UNKNOWN,                  // A9CE
6605             COMMON,                   // A9CF
6606             JAVANESE,                 // A9D0..A9D9
6607             UNKNOWN,                  // A9DA..A9DD
6608             JAVANESE,                 // A9DE..A9DF
6609             MYANMAR,                  // A9E0..A9FE
6610             UNKNOWN,                  // A9FF


6721             UNKNOWN,                  // FFFE..FFFF
6722             LINEAR_B,                 // 10000..1000B
6723             UNKNOWN,                  // 1000C
6724             LINEAR_B,                 // 1000D..10026
6725             UNKNOWN,                  // 10027
6726             LINEAR_B,                 // 10028..1003A
6727             UNKNOWN,                  // 1003B
6728             LINEAR_B,                 // 1003C..1003D
6729             UNKNOWN,                  // 1003E
6730             LINEAR_B,                 // 1003F..1004D
6731             UNKNOWN,                  // 1004E..1004F
6732             LINEAR_B,                 // 10050..1005D
6733             UNKNOWN,                  // 1005E..1007F
6734             LINEAR_B,                 // 10080..100FA
6735             UNKNOWN,                  // 100FB..100FF
6736             COMMON,                   // 10100..10102
6737             UNKNOWN,                  // 10103..10106
6738             COMMON,                   // 10107..10133
6739             UNKNOWN,                  // 10134..10136
6740             COMMON,                   // 10137..1013F
6741             GREEK,                    // 10140..1018C
6742             UNKNOWN,                  // 1018D..1018F
6743             COMMON,                   // 10190..1019B
6744             UNKNOWN,                  // 1019C..1019F
6745             GREEK,                    // 101A0
6746             UNKNOWN,                  // 101A1..101CF
6747             COMMON,                   // 101D0..101FC
6748             INHERITED,                // 101FD
6749             UNKNOWN,                  // 101FE..1027F
6750             LYCIAN,                   // 10280..1029C
6751             UNKNOWN,                  // 1029D..1029F
6752             CARIAN,                   // 102A0..102D0
6753             UNKNOWN,                  // 102D1..102DF
6754             INHERITED,                // 102E0
6755             COMMON,                   // 102E1..102FB
6756             UNKNOWN,                  // 102FC..102FF
6757             OLD_ITALIC,               // 10300..10323
6758             UNKNOWN,                  // 10324..1032F

6759             GOTHIC,                   // 10330..1034A
6760             UNKNOWN,                  // 1034B..1034F
6761             OLD_PERMIC,               // 10350..1037A
6762             UNKNOWN,                  // 1037B..1037F
6763             UGARITIC,                 // 10380..1039D
6764             UNKNOWN,                  // 1039E
6765             UGARITIC,                 // 1039F
6766             OLD_PERSIAN,              // 103A0..103C3
6767             UNKNOWN,                  // 103C4..103C7
6768             OLD_PERSIAN,              // 103C8..103D5
6769             UNKNOWN,                  // 103D6..103FF
6770             DESERET,                  // 10400..1044F
6771             SHAVIAN,                  // 10450..1047F
6772             OSMANYA,                  // 10480..1049D
6773             UNKNOWN,                  // 1049E..1049F
6774             OSMANYA,                  // 104A0..104A9
6775             UNKNOWN,                  // 104AA..104FF




6776             ELBASAN,                  // 10500..10527
6777             UNKNOWN,                  // 10528..1052F
6778             CAUCASIAN_ALBANIAN,       // 10530..10563
6779             UNKNOWN,                  // 10564..1056E
6780             CAUCASIAN_ALBANIAN,       // 1056F
6781             UNKNOWN,                  // 10570..105FF
6782             LINEAR_A,                 // 10600..10736
6783             UNKNOWN,                  // 10737..1073F
6784             LINEAR_A,                 // 10740..10755
6785             UNKNOWN,                  // 10756..1075F
6786             LINEAR_A,                 // 10760..10767
6787             UNKNOWN,                  // 10768..107FF
6788             CYPRIOT,                  // 10800..10805
6789             UNKNOWN,                  // 10806..10807
6790             CYPRIOT,                  // 10808
6791             UNKNOWN,                  // 10809
6792             CYPRIOT,                  // 1080A..10835
6793             UNKNOWN,                  // 10836
6794             CYPRIOT,                  // 10837..10838
6795             UNKNOWN,                  // 10839..1083B


6878             KAITHI,                   // 11080..110C1
6879             UNKNOWN,                  // 110C2..110CF
6880             SORA_SOMPENG,             // 110D0..110E8
6881             UNKNOWN,                  // 110E9..110EF
6882             SORA_SOMPENG,             // 110F0..110F9
6883             UNKNOWN,                  // 110FA..110FF
6884             CHAKMA,                   // 11100..11134
6885             UNKNOWN,                  // 11135
6886             CHAKMA,                   // 11136..11143
6887             UNKNOWN,                  // 11144..1114F
6888             MAHAJANI,                 // 11150..11176
6889             UNKNOWN,                  // 11177..1117F
6890             SHARADA,                  // 11180..111CD
6891             UNKNOWN,                  // 111CE..111CF
6892             SHARADA,                  // 111D0..111DF
6893             UNKNOWN,                  // 111E0
6894             SINHALA,                  // 111E1..111F4
6895             UNKNOWN,                  // 111F5..111FF
6896             KHOJKI,                   // 11200..11211
6897             UNKNOWN,                  // 11212
6898             KHOJKI,                   // 11213..1123D
6899             UNKNOWN,                  // 1123E..1127F
6900             MULTANI,                  // 11280..11286
6901             UNKNOWN,                  // 11287
6902             MULTANI,                  // 11288
6903             UNKNOWN,                  // 11289
6904             MULTANI,                  // 1128A..1128D
6905             UNKNOWN,                  // 1128E
6906             MULTANI,                  // 1128F..1129D
6907             UNKNOWN,                  // 1129E
6908             MULTANI,                  // 1129F..112A9
6909             UNKNOWN,                  // 112AA..112AF
6910             KHUDAWADI,                // 112B0..112EA
6911             UNKNOWN,                  // 112EB..112EF
6912             KHUDAWADI,                // 112F0..112F9
6913             UNKNOWN,                  // 112FA..112FF
6914             GRANTHA,                  // 11300..11303
6915             UNKNOWN,                  // 11304
6916             GRANTHA,                  // 11305..1130C
6917             UNKNOWN,                  // 1130D..1130E
6918             GRANTHA,                  // 1130F..11310
6919             UNKNOWN,                  // 11311..11312


6923             UNKNOWN,                  // 11331
6924             GRANTHA,                  // 11332..11333
6925             UNKNOWN,                  // 11334
6926             GRANTHA,                  // 11335..11339
6927             UNKNOWN,                  // 1133A..1133B
6928             GRANTHA,                  // 1133C..11344
6929             UNKNOWN,                  // 11345..11346
6930             GRANTHA,                  // 11347..11348
6931             UNKNOWN,                  // 11349..1134A
6932             GRANTHA,                  // 1134B..1134D
6933             UNKNOWN,                  // 1134E..1134F
6934             GRANTHA,                  // 11350
6935             UNKNOWN,                  // 11351..11356
6936             GRANTHA,                  // 11357
6937             UNKNOWN,                  // 11358..1135C
6938             GRANTHA,                  // 1135D..11363
6939             UNKNOWN,                  // 11364..11365
6940             GRANTHA,                  // 11366..1136C
6941             UNKNOWN,                  // 1136D..1136F
6942             GRANTHA,                  // 11370..11374
6943             UNKNOWN,                  // 11375..1147F






6944             TIRHUTA,                  // 11480..114C7
6945             UNKNOWN,                  // 114C8..114CF
6946             TIRHUTA,                  // 114D0..114D9
6947             UNKNOWN,                  // 114DA..1157F
6948             SIDDHAM,                  // 11580..115B5
6949             UNKNOWN,                  // 115B6..115B7
6950             SIDDHAM,                  // 115B8..115DD
6951             UNKNOWN,                  // 115DE..115FF
6952             MODI,                     // 11600..11644
6953             UNKNOWN,                  // 11645..1164F
6954             MODI,                     // 11650..11659
6955             UNKNOWN,                  // 1165A..1167F


6956             TAKRI,                    // 11680..116B7
6957             UNKNOWN,                  // 116B8..116BF
6958             TAKRI,                    // 116C0..116C9
6959             UNKNOWN,                  // 116CA..116FF
6960             AHOM,                     // 11700..11719
6961             UNKNOWN,                  // 1171A..1171C
6962             AHOM,                     // 1171D..1172B
6963             UNKNOWN,                  // 1172C..1172F
6964             AHOM,                     // 11730..1173F
6965             UNKNOWN,                  // 11740..1189F
6966             WARANG_CITI,              // 118A0..118F2
6967             UNKNOWN,                  // 118F3..118FE
6968             WARANG_CITI,              // 118FF
6969             UNKNOWN,                  // 11900..11ABF








6970             PAU_CIN_HAU,              // 11AC0..11AF8
6971             UNKNOWN,                  // 11AF9..11FFF




























6972             CUNEIFORM,                // 12000..12399
6973             UNKNOWN,                  // 1239A..123FF
6974             CUNEIFORM,                // 12400..1246E
6975             UNKNOWN,                  // 1246F
6976             CUNEIFORM,                // 12470..12474
6977             UNKNOWN,                  // 12475..1247F
6978             CUNEIFORM,                // 12480..12543
6979             UNKNOWN,                  // 12544..12FFF
6980             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
6981             UNKNOWN,                  // 1342F..143FF
6982             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
6983             UNKNOWN,                  // 14647..167FF
6984             BAMUM,                    // 16800..16A38
6985             UNKNOWN,                  // 16A39..16A3F
6986             MRO,                      // 16A40..16A5E
6987             UNKNOWN,                  // 16A5F
6988             MRO,                      // 16A60..16A69
6989             UNKNOWN,                  // 16A6A..16A6D
6990             MRO,                      // 16A6E..16A6F
6991             UNKNOWN,                  // 16A70..16ACF
6992             BASSA_VAH,                // 16AD0..16AED
6993             UNKNOWN,                  // 16AEE..16AEF
6994             BASSA_VAH,                // 16AF0..16AF5
6995             UNKNOWN,                  // 16AF6..16AFF
6996             PAHAWH_HMONG,             // 16B00..16B45
6997             UNKNOWN,                  // 16B46..16B4F
6998             PAHAWH_HMONG,             // 16B50..16B59
6999             UNKNOWN,                  // 16B5A
7000             PAHAWH_HMONG,             // 16B5B..16B61
7001             UNKNOWN,                  // 16B62
7002             PAHAWH_HMONG,             // 16B63..16B77
7003             UNKNOWN,                  // 16B78..16B7C
7004             PAHAWH_HMONG,             // 16B7D..16B8F
7005             UNKNOWN,                  // 16B90..16EFF
7006             MIAO,                     // 16F00..16F44
7007             UNKNOWN,                  // 16F45..16F4F
7008             MIAO,                     // 16F50..16F7E
7009             UNKNOWN,                  // 16F7F..16F8E
7010             MIAO,                     // 16F8F..16F9F
7011             UNKNOWN,                  // 16FA0..1AFFF







7012             KATAKANA,                 // 1B000
7013             HIRAGANA,                 // 1B001
7014             UNKNOWN,                  // 1B002..1BBFF


7015             DUPLOYAN,                 // 1BC00..1BC6A
7016             UNKNOWN,                  // 1BC6B..1BC6F
7017             DUPLOYAN,                 // 1BC70..1BC7C
7018             UNKNOWN,                  // 1BC7D..1BC7F
7019             DUPLOYAN,                 // 1BC80..1BC88
7020             UNKNOWN,                  // 1BC89..1BC8F
7021             DUPLOYAN,                 // 1BC90..1BC99
7022             UNKNOWN,                  // 1BC9A..1BC9B
7023             DUPLOYAN,                 // 1BC9C..1BC9F
7024             COMMON,                   // 1BCA0..1BCA3
7025             UNKNOWN,                  // 1BCA4..1CFFF
7026             COMMON,                   // 1D000..1D0F5
7027             UNKNOWN,                  // 1D0F6..1D0FF
7028             COMMON,                   // 1D100..1D126
7029             UNKNOWN,                  // 1D127..1D128
7030             COMMON,                   // 1D129..1D166
7031             INHERITED,                // 1D167..1D169
7032             COMMON,                   // 1D16A..1D17A
7033             INHERITED,                // 1D17B..1D182
7034             COMMON,                   // 1D183..1D184


7072             COMMON,                   // 1D51E..1D539
7073             UNKNOWN,                  // 1D53A
7074             COMMON,                   // 1D53B..1D53E
7075             UNKNOWN,                  // 1D53F
7076             COMMON,                   // 1D540..1D544
7077             UNKNOWN,                  // 1D545
7078             COMMON,                   // 1D546
7079             UNKNOWN,                  // 1D547..1D549
7080             COMMON,                   // 1D54A..1D550
7081             UNKNOWN,                  // 1D551
7082             COMMON,                   // 1D552..1D6A5
7083             UNKNOWN,                  // 1D6A6..1D6A7
7084             COMMON,                   // 1D6A8..1D7CB
7085             UNKNOWN,                  // 1D7CC..1D7CD
7086             COMMON,                   // 1D7CE..1D7FF
7087             SIGNWRITING,              // 1D800..1DA8B
7088             UNKNOWN,                  // 1DA8C..1DA9A
7089             SIGNWRITING,              // 1DA9B..1DA9F
7090             UNKNOWN,                  // 1DAA0
7091             SIGNWRITING,              // 1DAA1..1DAAF
7092             UNKNOWN,                  // 1DAB0..1E7FF










7093             MENDE_KIKAKUI,            // 1E800..1E8C4
7094             UNKNOWN,                  // 1E8C5..1E8C6
7095             MENDE_KIKAKUI,            // 1E8C7..1E8D6
7096             UNKNOWN,                  // 1E8D7..1EDFF






7097             ARABIC,                   // 1EE00..1EE03
7098             UNKNOWN,                  // 1EE04
7099             ARABIC,                   // 1EE05..1EE1F
7100             UNKNOWN,                  // 1EE20
7101             ARABIC,                   // 1EE21..1EE22
7102             UNKNOWN,                  // 1EE23
7103             ARABIC,                   // 1EE24
7104             UNKNOWN,                  // 1EE25..1EE26
7105             ARABIC,                   // 1EE27
7106             UNKNOWN,                  // 1EE28
7107             ARABIC,                   // 1EE29..1EE32
7108             UNKNOWN,                  // 1EE33
7109             ARABIC,                   // 1EE34..1EE37
7110             UNKNOWN,                  // 1EE38
7111             ARABIC,                   // 1EE39
7112             UNKNOWN,                  // 1EE3A
7113             ARABIC,                   // 1EE3B
7114             UNKNOWN,                  // 1EE3C..1EE41
7115             ARABIC,                   // 1EE42
7116             UNKNOWN,                  // 1EE43..1EE46


7163             ARABIC,                   // 1EEF0..1EEF1
7164             UNKNOWN,                  // 1EEF2..1EFFF
7165             COMMON,                   // 1F000..1F02B
7166             UNKNOWN,                  // 1F02C..1F02F
7167             COMMON,                   // 1F030..1F093
7168             UNKNOWN,                  // 1F094..1F09F
7169             COMMON,                   // 1F0A0..1F0AE
7170             UNKNOWN,                  // 1F0AF..1F0B0
7171             COMMON,                   // 1F0B1..1F0BF
7172             UNKNOWN,                  // 1F0C0
7173             COMMON,                   // 1F0C1..1F0CF
7174             UNKNOWN,                  // 1F0D0
7175             COMMON,                   // 1F0D1..1F0F5
7176             UNKNOWN,                  // 1F0F6..1F0FF
7177             COMMON,                   // 1F100..1F10C
7178             UNKNOWN,                  // 1F10D..1F10F
7179             COMMON,                   // 1F110..1F12E
7180             UNKNOWN,                  // 1F12F
7181             COMMON,                   // 1F130..1F16B
7182             UNKNOWN,                  // 1F16C..1F16F
7183             COMMON,                   // 1F170..1F19A
7184             UNKNOWN,                  // 1F19B..1F1E5
7185             COMMON,                   // 1F1E6..1F1FF
7186             HIRAGANA,                 // 1F200
7187             COMMON,                   // 1F201..1F202
7188             UNKNOWN,                  // 1F203..1F20F
7189             COMMON,                   // 1F210..1F23A
7190             UNKNOWN,                  // 1F23B..1F23F
7191             COMMON,                   // 1F240..1F248
7192             UNKNOWN,                  // 1F249..1F24F
7193             COMMON,                   // 1F250..1F251
7194             UNKNOWN,                  // 1F252..1F2FF
7195             COMMON,                   // 1F300..1F579
7196             UNKNOWN,                  // 1F57A
7197             COMMON,                   // 1F57B..1F5A3
7198             UNKNOWN,                  // 1F5A4
7199             COMMON,                   // 1F5A5..1F6D0
7200             UNKNOWN,                  // 1F6D1..1F6DF
7201             COMMON,                   // 1F6E0..1F6EC
7202             UNKNOWN,                  // 1F6ED..1F6EF
7203             COMMON,                   // 1F6F0..1F6F3
7204             UNKNOWN,                  // 1F6F4..1F6FF
7205             COMMON,                   // 1F700..1F773
7206             UNKNOWN,                  // 1F774..1F77F
7207             COMMON,                   // 1F780..1F7D4
7208             UNKNOWN,                  // 1F7D5..1F7FF
7209             COMMON,                   // 1F800..1F80B
7210             UNKNOWN,                  // 1F80C..1F80F
7211             COMMON,                   // 1F810..1F847
7212             UNKNOWN,                  // 1F848..1F84F
7213             COMMON,                   // 1F850..1F859
7214             UNKNOWN,                  // 1F85A..1F85F
7215             COMMON,                   // 1F860..1F887
7216             UNKNOWN,                  // 1F888..1F88F
7217             COMMON,                   // 1F890..1F8AD
7218             UNKNOWN,                  // 1F8AE..1F90F
7219             COMMON,                   // 1F910..1F918
7220             UNKNOWN,                  // 1F919..1F97F
7221             COMMON,                   // 1F980..1F984
7222             UNKNOWN,                  // 1F985..1F9BF






7223             COMMON,                   // 1F9C0
7224             UNKNOWN,                  // 1F9C1..1FFFF


7225             HAN,                      // 20000..2A6D6
7226             UNKNOWN,                  // 2A6D7..2A6FF
7227             HAN,                      // 2A700..2B734
7228             UNKNOWN,                  // 2B735..2B73F
7229             HAN,                      // 2B740..2B81D
7230             UNKNOWN,                  // 2B81E..2B81F
7231             HAN,                      // 2B820..2CEA1
7232             UNKNOWN,                  // 2CEA2..2F7FF


7233             HAN,                      // 2F800..2FA1D
7234             UNKNOWN,                  // 2FA1E..E0000
7235             COMMON,                   // E0001
7236             UNKNOWN,                  // E0002..E001F
7237             COMMON,                   // E0020..E007F
7238             UNKNOWN,                  // E0080..E00FF
7239             INHERITED,                // E0100..E01EF
7240             UNKNOWN                   // E01F0..10FFFF
7241         };
7242 
7243         private static HashMap<String, Character.UnicodeScript> aliases;
7244         static {
7245             aliases = new HashMap<>(134);

7246             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
7247             aliases.put("AHOM", AHOM);
7248             aliases.put("ARAB", ARABIC);
7249             aliases.put("ARMI", IMPERIAL_ARAMAIC);
7250             aliases.put("ARMN", ARMENIAN);
7251             aliases.put("AVST", AVESTAN);
7252             aliases.put("BALI", BALINESE);
7253             aliases.put("BAMU", BAMUM);
7254             aliases.put("BASS", BASSA_VAH);
7255             aliases.put("BATK", BATAK);
7256             aliases.put("BENG", BENGALI);

7257             aliases.put("BOPO", BOPOMOFO);
7258             aliases.put("BRAH", BRAHMI);
7259             aliases.put("BRAI", BRAILLE);
7260             aliases.put("BUGI", BUGINESE);
7261             aliases.put("BUHD", BUHID);
7262             aliases.put("CAKM", CHAKMA);
7263             aliases.put("CANS", CANADIAN_ABORIGINAL);
7264             aliases.put("CARI", CARIAN);
7265             aliases.put("CHAM", CHAM);
7266             aliases.put("CHER", CHEROKEE);
7267             aliases.put("COPT", COPTIC);
7268             aliases.put("CPRT", CYPRIOT);
7269             aliases.put("CYRL", CYRILLIC);
7270             aliases.put("DEVA", DEVANAGARI);
7271             aliases.put("DSRT", DESERET);
7272             aliases.put("DUPL", DUPLOYAN);
7273             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
7274             aliases.put("ELBA", ELBASAN);
7275             aliases.put("ETHI", ETHIOPIC);
7276             aliases.put("GEOR", GEORGIAN);
7277             aliases.put("GLAG", GLAGOLITIC);

7278             aliases.put("GOTH", GOTHIC);
7279             aliases.put("GRAN", GRANTHA);
7280             aliases.put("GREK", GREEK);
7281             aliases.put("GUJR", GUJARATI);
7282             aliases.put("GURU", GURMUKHI);
7283             aliases.put("HANG", HANGUL);
7284             aliases.put("HANI", HAN);
7285             aliases.put("HANO", HANUNOO);
7286             aliases.put("HATR", HATRAN);
7287             aliases.put("HEBR", HEBREW);
7288             aliases.put("HIRA", HIRAGANA);
7289             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
7290             aliases.put("HMNG", PAHAWH_HMONG);
7291             // it appears we don't have the KATAKANA_OR_HIRAGANA
7292             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
7293             aliases.put("HUNG", OLD_HUNGARIAN);
7294             aliases.put("ITAL", OLD_ITALIC);
7295             aliases.put("JAVA", JAVANESE);
7296             aliases.put("KALI", KAYAH_LI);
7297             aliases.put("KANA", KATAKANA);
7298             aliases.put("KHAR", KHAROSHTHI);
7299             aliases.put("KHMR", KHMER);
7300             aliases.put("KHOJ", KHOJKI);
7301             aliases.put("KNDA", KANNADA);
7302             aliases.put("KTHI", KAITHI);
7303             aliases.put("LANA", TAI_THAM);
7304             aliases.put("LAOO", LAO);
7305             aliases.put("LATN", LATIN);
7306             aliases.put("LEPC", LEPCHA);
7307             aliases.put("LIMB", LIMBU);
7308             aliases.put("LINA", LINEAR_A);
7309             aliases.put("LINB", LINEAR_B);
7310             aliases.put("LISU", LISU);
7311             aliases.put("LYCI", LYCIAN);
7312             aliases.put("LYDI", LYDIAN);
7313             aliases.put("MAHJ", MAHAJANI);

7314             aliases.put("MAND", MANDAIC);
7315             aliases.put("MANI", MANICHAEAN);
7316             aliases.put("MEND", MENDE_KIKAKUI);
7317             aliases.put("MERC", MEROITIC_CURSIVE);
7318             aliases.put("MERO", MEROITIC_HIEROGLYPHS);
7319             aliases.put("MLYM", MALAYALAM);
7320             aliases.put("MODI", MODI);
7321             aliases.put("MONG", MONGOLIAN);
7322             aliases.put("MROO", MRO);
7323             aliases.put("MTEI", MEETEI_MAYEK);
7324             aliases.put("MULT", MULTANI);
7325             aliases.put("MYMR", MYANMAR);
7326             aliases.put("NARB", OLD_NORTH_ARABIAN);
7327             aliases.put("NBAT", NABATAEAN);

7328             aliases.put("NKOO", NKO);

7329             aliases.put("OGAM", OGHAM);
7330             aliases.put("OLCK", OL_CHIKI);
7331             aliases.put("ORKH", OLD_TURKIC);
7332             aliases.put("ORYA", ORIYA);

7333             aliases.put("OSMA", OSMANYA);
7334             aliases.put("PALM", PALMYRENE);
7335             aliases.put("PAUC", PAU_CIN_HAU);
7336             aliases.put("PERM", OLD_PERMIC);
7337             aliases.put("PHAG", PHAGS_PA);
7338             aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
7339             aliases.put("PHLP", PSALTER_PAHLAVI);
7340             aliases.put("PHNX", PHOENICIAN);
7341             aliases.put("PLRD", MIAO);
7342             aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);
7343             aliases.put("RJNG", REJANG);
7344             aliases.put("RUNR", RUNIC);
7345             aliases.put("SAMR", SAMARITAN);
7346             aliases.put("SARB", OLD_SOUTH_ARABIAN);
7347             aliases.put("SAUR", SAURASHTRA);
7348             aliases.put("SGNW", SIGNWRITING);
7349             aliases.put("SHAW", SHAVIAN);
7350             aliases.put("SHRD", SHARADA);
7351             aliases.put("SIDD", SIDDHAM);
7352             aliases.put("SIND", KHUDAWADI);
7353             aliases.put("SINH", SINHALA);
7354             aliases.put("SORA", SORA_SOMPENG);

7355             aliases.put("SUND", SUNDANESE);
7356             aliases.put("SYLO", SYLOTI_NAGRI);
7357             aliases.put("SYRC", SYRIAC);
7358             aliases.put("TAGB", TAGBANWA);
7359             aliases.put("TAKR", TAKRI);
7360             aliases.put("TALE", TAI_LE);
7361             aliases.put("TALU", NEW_TAI_LUE);
7362             aliases.put("TAML", TAMIL);

7363             aliases.put("TAVT", TAI_VIET);
7364             aliases.put("TELU", TELUGU);
7365             aliases.put("TFNG", TIFINAGH);
7366             aliases.put("TGLG", TAGALOG);
7367             aliases.put("THAA", THAANA);
7368             aliases.put("THAI", THAI);
7369             aliases.put("TIBT", TIBETAN);
7370             aliases.put("TIRH", TIRHUTA);
7371             aliases.put("UGAR", UGARITIC);
7372             aliases.put("VAII", VAI);
7373             aliases.put("WARA", WARANG_CITI);
7374             aliases.put("XPEO", OLD_PERSIAN);
7375             aliases.put("XSUX", CUNEIFORM);
7376             aliases.put("YIII", YI);

7377             aliases.put("ZINH", INHERITED);
7378             aliases.put("ZYYY", COMMON);
7379             aliases.put("ZZZZ", UNKNOWN);
7380         }
7381 
7382         /**
7383          * Returns the enum constant representing the Unicode script of which
7384          * the given character (Unicode code point) is assigned to.
7385          *
7386          * @param   codePoint the character (Unicode code point) in question.
7387          * @return  The {@code UnicodeScript} constant representing the
7388          *          Unicode script of which this character is assigned to.
7389          *
7390          * @exception IllegalArgumentException if the specified
7391          * {@code codePoint} is an invalid Unicode code point.
7392          * @see Character#isValidCodePoint(int)
7393          *
7394          */
7395         public static UnicodeScript of(int codePoint) {
7396             if (!isValidCodePoint(codePoint))




  25 
  26 package java.lang;
  27 
  28 import java.util.Arrays;
  29 import java.util.Map;
  30 import java.util.HashMap;
  31 import java.util.Locale;
  32 
  33 import jdk.internal.HotSpotIntrinsicCandidate;
  34 
  35 /**
  36  * The {@code Character} class wraps a value of the primitive
  37  * type {@code char} in an object. An object of type
  38  * {@code Character} contains a single field whose type is
  39  * {@code char}.
  40  * <p>
  41  * In addition, this class provides several methods for determining
  42  * a character's category (lowercase letter, digit, etc.) and for converting
  43  * characters from uppercase to lowercase and vice versa.
  44  * <p>
  45  * Character information is based on the Unicode Standard, version 10.0.0.
  46  * <p>
  47  * The methods and data of class {@code Character} are defined by
  48  * the information in the <i>UnicodeData</i> file that is part of the
  49  * Unicode Character Database maintained by the Unicode
  50  * Consortium. This file specifies various properties including name
  51  * and general category for every defined Unicode code point or
  52  * character range.
  53  * <p>
  54  * The file and its description are available from the Unicode Consortium at:
  55  * <ul>
  56  * <li><a href="http://www.unicode.org">http://www.unicode.org</a>
  57  * </ul>
  58  *
  59  * <h3><a id="unicode">Unicode Character Representations</a></h3>
  60  *
  61  * <p>The {@code char} data type (and therefore the value that a
  62  * {@code Character} object encapsulates) are based on the
  63  * original Unicode specification, which defined characters as
  64  * fixed-width 16-bit entities. The Unicode Standard has since been
  65  * changed to allow for characters whose representation requires more


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


2919         /**
2920          * Constant for the "Supplemental Symbols and Pictographs" Unicode
2921          * character block.
2922          * @since 9
2923          */
2924         public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS =
2925             new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS",
2926                              "SUPPLEMENTAL SYMBOLS AND PICTOGRAPHS",
2927                              "SUPPLEMENTALSYMBOLSANDPICTOGRAPHS");
2928 
2929         /**
2930          * Constant for the "CJK Unified Ideographs Extension E" Unicode
2931          * character block.
2932          * @since 9
2933          */
2934         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E =
2935             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E",
2936                              "CJK UNIFIED IDEOGRAPHS EXTENSION E",
2937                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONE");
2938 
2939         /**
2940          * Constant for the "Syriac Supplement" Unicode
2941          * character block.
2942          * @since 11
2943          */
2944         public static final UnicodeBlock SYRIAC_SUPPLEMENT =
2945             new UnicodeBlock("SYRIAC_SUPPLEMENT",
2946                              "SYRIAC SUPPLEMENT",
2947                              "SYRIACSUPPLEMENT");
2948 
2949         /**
2950          * Constant for the "Cyrillic Extended-C" Unicode
2951          * character block.
2952          * @since 11
2953          */
2954         public static final UnicodeBlock CYRILLIC_EXTENDED_C =
2955             new UnicodeBlock("CYRILLIC_EXTENDED_C",
2956                              "CYRILLIC EXTENDED-C",
2957                              "CYRILLICEXTENDED-C");
2958 
2959         /**
2960          * Constant for the "Osage" Unicode
2961          * character block.
2962          * @since 11
2963          */
2964         public static final UnicodeBlock OSAGE =
2965             new UnicodeBlock("OSAGE");
2966 
2967         /**
2968          * Constant for the "Newa" Unicode
2969          * character block.
2970          * @since 11
2971          */
2972         public static final UnicodeBlock NEWA =
2973             new UnicodeBlock("NEWA");
2974 
2975         /**
2976          * Constant for the "Mongolian Supplement" Unicode
2977          * character block.
2978          * @since 11
2979          */
2980         public static final UnicodeBlock MONGOLIAN_SUPPLEMENT =
2981             new UnicodeBlock("MONGOLIAN_SUPPLEMENT",
2982                              "MONGOLIAN SUPPLEMENT",
2983                              "MONGOLIANSUPPLEMENT");
2984 
2985         /**
2986          * Constant for the "Marchen" Unicode
2987          * character block.
2988          * @since 11
2989          */
2990         public static final UnicodeBlock MARCHEN =
2991             new UnicodeBlock("MARCHEN");
2992 
2993         /**
2994          * Constant for the "Ideographic Symbols and Punctuation" Unicode
2995          * character block.
2996          * @since 11
2997          */
2998         public static final UnicodeBlock IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION =
2999             new UnicodeBlock("IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION",
3000                              "IDEOGRAPHIC SYMBOLS AND PUNCTUATION",
3001                              "IDEOGRAPHICSYMBOLSANDPUNCTUATION");
3002 
3003         /**
3004          * Constant for the "Tangut" Unicode
3005          * character block.
3006          * @since 11
3007          */
3008         public static final UnicodeBlock TANGUT =
3009             new UnicodeBlock("TANGUT");
3010 
3011         /**
3012          * Constant for the "Tangut Components" Unicode
3013          * character block.
3014          * @since 11
3015          */
3016         public static final UnicodeBlock TANGUT_COMPONENTS =
3017             new UnicodeBlock("TANGUT_COMPONENTS",
3018                              "TANGUT COMPONENTS",
3019                              "TANGUTCOMPONENTS");
3020 
3021         /**
3022          * Constant for the "Kana Extended-A" Unicode
3023          * character block.
3024          * @since 11
3025          */
3026         public static final UnicodeBlock KANA_EXTENDED_A =
3027             new UnicodeBlock("KANA_EXTENDED_A",
3028                              "KANA EXTENDED-A",
3029                              "KANAEXTENDED-A");
3030         /**
3031          * Constant for the "Glagolitic Supplement" Unicode
3032          * character block.
3033          * @since 11
3034          */
3035         public static final UnicodeBlock GLAGOLITIC_SUPPLEMENT =
3036             new UnicodeBlock("GLAGOLITIC_SUPPLEMENT",
3037                              "GLAGOLITIC SUPPLEMENT",
3038                              "GLAGOLITICSUPPLEMENT");
3039         /**
3040          * Constant for the "Adlam" Unicode
3041          * character block.
3042          * @since 11
3043          */
3044         public static final UnicodeBlock ADLAM =
3045             new UnicodeBlock("ADLAM");
3046 
3047         /**
3048          * Constant for the "Masaram Gondi" Unicode
3049          * character block.
3050          * @since 11
3051          */
3052         public static final UnicodeBlock MASARAM_GONDI =
3053             new UnicodeBlock("MASARAM_GONDI",
3054                              "MASARAM GONDI",
3055                              "MASARAMGONDI");
3056 
3057         /**
3058          * Constant for the "Zanabazar Square" Unicode
3059          * character block.
3060          * @since 11
3061          */
3062         public static final UnicodeBlock ZANABAZAR_SQUARE =
3063             new UnicodeBlock("ZANABAZAR_SQUARE",
3064                              "ZANABAZAR SQUARE",
3065                              "ZANABAZARSQUARE");
3066 
3067         /**
3068          * Constant for the "Nushu" Unicode
3069          * character block.
3070          * @since 11
3071          */
3072         public static final UnicodeBlock NUSHU =
3073             new UnicodeBlock("NUSHU");
3074 
3075         /**
3076          * Constant for the "Soyombo" Unicode
3077          * character block.
3078          * @since 11
3079          */
3080         public static final UnicodeBlock SOYOMBO =
3081             new UnicodeBlock("SOYOMBO");
3082 
3083         /**
3084          * Constant for the "Bhaiksuki" Unicode
3085          * character block.
3086          * @since 11
3087          */
3088         public static final UnicodeBlock BHAIKSUKI =
3089             new UnicodeBlock("BHAIKSUKI");
3090 
3091         /**
3092          * Constant for the "CJK Unified Ideographs Extension F" Unicode
3093          * character block.
3094          * @since 11
3095          */
3096         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F =
3097             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F",
3098                              "CJK UNIFIED IDEOGRAPHS EXTENSION F",
3099                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONF");
3100 
3101         private static final int blockStarts[] = {
3102             0x0000,   // 0000..007F; Basic Latin
3103             0x0080,   // 0080..00FF; Latin-1 Supplement
3104             0x0100,   // 0100..017F; Latin Extended-A
3105             0x0180,   // 0180..024F; Latin Extended-B
3106             0x0250,   // 0250..02AF; IPA Extensions
3107             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
3108             0x0300,   // 0300..036F; Combining Diacritical Marks
3109             0x0370,   // 0370..03FF; Greek and Coptic
3110             0x0400,   // 0400..04FF; Cyrillic
3111             0x0500,   // 0500..052F; Cyrillic Supplement
3112             0x0530,   // 0530..058F; Armenian
3113             0x0590,   // 0590..05FF; Hebrew
3114             0x0600,   // 0600..06FF; Arabic
3115             0x0700,   // 0700..074F; Syriac
3116             0x0750,   // 0750..077F; Arabic Supplement
3117             0x0780,   // 0780..07BF; Thaana
3118             0x07C0,   // 07C0..07FF; NKo
3119             0x0800,   // 0800..083F; Samaritan
3120             0x0840,   // 0840..085F; Mandaic
3121             0x0860,   // 0860..086F; Syriac Supplement
3122             0x0870,   //             unassigned
3123             0x08A0,   // 08A0..08FF; Arabic Extended-A
3124             0x0900,   // 0900..097F; Devanagari
3125             0x0980,   // 0980..09FF; Bengali
3126             0x0A00,   // 0A00..0A7F; Gurmukhi
3127             0x0A80,   // 0A80..0AFF; Gujarati
3128             0x0B00,   // 0B00..0B7F; Oriya
3129             0x0B80,   // 0B80..0BFF; Tamil
3130             0x0C00,   // 0C00..0C7F; Telugu
3131             0x0C80,   // 0C80..0CFF; Kannada
3132             0x0D00,   // 0D00..0D7F; Malayalam
3133             0x0D80,   // 0D80..0DFF; Sinhala
3134             0x0E00,   // 0E00..0E7F; Thai
3135             0x0E80,   // 0E80..0EFF; Lao
3136             0x0F00,   // 0F00..0FFF; Tibetan
3137             0x1000,   // 1000..109F; Myanmar
3138             0x10A0,   // 10A0..10FF; Georgian
3139             0x1100,   // 1100..11FF; Hangul Jamo
3140             0x1200,   // 1200..137F; Ethiopic
3141             0x1380,   // 1380..139F; Ethiopic Supplement
3142             0x13A0,   // 13A0..13FF; Cherokee


3145             0x16A0,   // 16A0..16FF; Runic
3146             0x1700,   // 1700..171F; Tagalog
3147             0x1720,   // 1720..173F; Hanunoo
3148             0x1740,   // 1740..175F; Buhid
3149             0x1760,   // 1760..177F; Tagbanwa
3150             0x1780,   // 1780..17FF; Khmer
3151             0x1800,   // 1800..18AF; Mongolian
3152             0x18B0,   // 18B0..18FF; Unified Canadian Aboriginal Syllabics Extended
3153             0x1900,   // 1900..194F; Limbu
3154             0x1950,   // 1950..197F; Tai Le
3155             0x1980,   // 1980..19DF; New Tai Lue
3156             0x19E0,   // 19E0..19FF; Khmer Symbols
3157             0x1A00,   // 1A00..1A1F; Buginese
3158             0x1A20,   // 1A20..1AAF; Tai Tham
3159             0x1AB0,   // 1AB0..1AFF; Combining Diacritical Marks Extended
3160             0x1B00,   // 1B00..1B7F; Balinese
3161             0x1B80,   // 1B80..1BBF; Sundanese
3162             0x1BC0,   // 1BC0..1BFF; Batak
3163             0x1C00,   // 1C00..1C4F; Lepcha
3164             0x1C50,   // 1C50..1C7F; Ol Chiki
3165             0x1C80,   // 1C80..1C8F; Cyrillic Extended-C
3166             0x1C90,   //             unassigned
3167             0x1CC0,   // 1CC0..1CCF; Sundanese Supplement
3168             0x1CD0,   // 1CD0..1CFF; Vedic Extensions
3169             0x1D00,   // 1D00..1D7F; Phonetic Extensions
3170             0x1D80,   // 1D80..1DBF; Phonetic Extensions Supplement
3171             0x1DC0,   // 1DC0..1DFF; Combining Diacritical Marks Supplement
3172             0x1E00,   // 1E00..1EFF; Latin Extended Additional
3173             0x1F00,   // 1F00..1FFF; Greek Extended
3174             0x2000,   // 2000..206F; General Punctuation
3175             0x2070,   // 2070..209F; Superscripts and Subscripts
3176             0x20A0,   // 20A0..20CF; Currency Symbols
3177             0x20D0,   // 20D0..20FF; Combining Diacritical Marks for Symbols
3178             0x2100,   // 2100..214F; Letterlike Symbols
3179             0x2150,   // 2150..218F; Number Forms
3180             0x2190,   // 2190..21FF; Arrows
3181             0x2200,   // 2200..22FF; Mathematical Operators
3182             0x2300,   // 2300..23FF; Miscellaneous Technical
3183             0x2400,   // 2400..243F; Control Pictures
3184             0x2440,   // 2440..245F; Optical Character Recognition
3185             0x2460,   // 2460..24FF; Enclosed Alphanumerics
3186             0x2500,   // 2500..257F; Box Drawing


3266             0xFFF0,   // FFF0..FFFF; Specials
3267             0x10000,  // 10000..1007F; Linear B Syllabary
3268             0x10080,  // 10080..100FF; Linear B Ideograms
3269             0x10100,  // 10100..1013F; Aegean Numbers
3270             0x10140,  // 10140..1018F; Ancient Greek Numbers
3271             0x10190,  // 10190..101CF; Ancient Symbols
3272             0x101D0,  // 101D0..101FF; Phaistos Disc
3273             0x10200,  //               unassigned
3274             0x10280,  // 10280..1029F; Lycian
3275             0x102A0,  // 102A0..102DF; Carian
3276             0x102E0,  // 102E0..102FF; Coptic Epact Numbers
3277             0x10300,  // 10300..1032F; Old Italic
3278             0x10330,  // 10330..1034F; Gothic
3279             0x10350,  // 10350..1037F; Old Permic
3280             0x10380,  // 10380..1039F; Ugaritic
3281             0x103A0,  // 103A0..103DF; Old Persian
3282             0x103E0,  //               unassigned
3283             0x10400,  // 10400..1044F; Deseret
3284             0x10450,  // 10450..1047F; Shavian
3285             0x10480,  // 10480..104AF; Osmanya
3286             0x104B0,  // 104B0..104FF; Osage
3287             0x10500,  // 10500..1052F; Elbasan
3288             0x10530,  // 10530..1056F; Caucasian Albanian
3289             0x10570,  //               unassigned
3290             0x10600,  // 10600..1077F; Linear A
3291             0x10780,  //               unassigned
3292             0x10800,  // 10800..1083F; Cypriot Syllabary
3293             0x10840,  // 10840..1085F; Imperial Aramaic
3294             0x10860,  // 10860..1087F; Palmyrene
3295             0x10880,  // 10880..108AF; Nabataean
3296             0x108B0,  //               unassigned
3297             0x108E0,  // 108E0..108FF; Hatran
3298             0x10900,  // 10900..1091F; Phoenician
3299             0x10920,  // 10920..1093F; Lydian
3300             0x10940,  //               unassigned
3301             0x10980,  // 10980..1099F; Meroitic Hieroglyphs
3302             0x109A0,  // 109A0..109FF; Meroitic Cursive
3303             0x10A00,  // 10A00..10A5F; Kharoshthi
3304             0x10A60,  // 10A60..10A7F; Old South Arabian
3305             0x10A80,  // 10A80..10A9F; Old North Arabian
3306             0x10AA0,  //               unassigned


3312             0x10BB0,  //               unassigned
3313             0x10C00,  // 10C00..10C4F; Old Turkic
3314             0x10C50,  //               unassigned
3315             0x10C80,  // 10C80..10CFF; Old Hungarian
3316             0x10D00,  //               unassigned
3317             0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
3318             0x10E80,  //               unassigned
3319             0x11000,  // 11000..1107F; Brahmi
3320             0x11080,  // 11080..110CF; Kaithi
3321             0x110D0,  // 110D0..110FF; Sora Sompeng
3322             0x11100,  // 11100..1114F; Chakma
3323             0x11150,  // 11150..1117F; Mahajani
3324             0x11180,  // 11180..111DF; Sharada
3325             0x111E0,  // 111E0..111FF; Sinhala Archaic Numbers
3326             0x11200,  // 11200..1124F; Khojki
3327             0x11250,  //               unassigned
3328             0x11280,  // 11280..112AF; Multani
3329             0x112B0,  // 112B0..112FF; Khudawadi
3330             0x11300,  // 11300..1137F; Grantha
3331             0x11380,  //               unassigned
3332             0x11400,  // 11400..1147F; Newa
3333             0x11480,  // 11480..114DF; Tirhuta
3334             0x114E0,  //               unassigned
3335             0x11580,  // 11580..115FF; Siddham
3336             0x11600,  // 11600..1165F; Modi
3337             0x11660, //  11660..1167F; Mongolian Supplement
3338             0x11680,  // 11680..116CF; Takri
3339             0x116D0,  //               unassigned
3340             0x11700,  // 11700..1173F; Ahom
3341             0x11740,  //               unassigned
3342             0x118A0,  // 118A0..118FF; Warang Citi
3343             0x11900,  //               unassigned
3344             0x11A00,  // 11A00..11A4F; Zanabazar Square
3345             0x11A50,  // 11A50..11AAF; Soyombo
3346             0x11AB0,  //               unassigned
3347             0x11AC0,  // 11AC0..11AFF; Pau Cin Hau
3348             0x11B00,  //               unassigned
3349             0x11C00,  // 11C00..11C6F; Bhaiksuki
3350             0x11C70,  // 11C70..11CBF; Marchen
3351             0x11CC0,  //               unassigned
3352             0x11D00,  // 11D00..11D5F; Masaram Gondi
3353             0x11D60,  //               unassigned
3354             0x12000,  // 12000..123FF; Cuneiform
3355             0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
3356             0x12480,  // 12480..1254F; Early Dynastic Cuneiform
3357             0x12550,  //               unassigned
3358             0x13000,  // 13000..1342F; Egyptian Hieroglyphs
3359             0x13430,  //               unassigned
3360             0x14400,  // 14400..1467F; Anatolian Hieroglyphs
3361             0x14680,  //               unassigned
3362             0x16800,  // 16800..16A3F; Bamum Supplement
3363             0x16A40,  // 16A40..16A6F; Mro
3364             0x16A70,  //               unassigned
3365             0x16AD0,  // 16AD0..16AFF; Bassa Vah
3366             0x16B00,  // 16B00..16B8F; Pahawh Hmong
3367             0x16B90,  //               unassigned
3368             0x16F00,  // 16F00..16F9F; Miao
3369             0x16FA0,  //               unassigned
3370             0x16FE0,  // 16FE0..16FFF; Ideographic Symbols and Punctuation
3371             0x17000,  // 17000..187FF; Tangut
3372             0x18800,  // 18800..18AFF; Tangut Components
3373             0x18B00,  //               unassigned
3374             0x1B000,  // 1B000..1B0FF; Kana Supplement
3375             0x1B100,  // 1B100..1B12F; Kana Extended-A
3376             0x1B130,  //               unassigned
3377             0x1B170,  // 1B170..1B2FF; Nushu
3378             0x1B300,  //               unassigned
3379             0x1BC00,  // 1BC00..1BC9F; Duployan
3380             0x1BCA0,  // 1BCA0..1BCAF; Shorthand Format Controls
3381             0x1BCB0,  //               unassigned
3382             0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
3383             0x1D100,  // 1D100..1D1FF; Musical Symbols
3384             0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
3385             0x1D250,  //               unassigned
3386             0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
3387             0x1D360,  // 1D360..1D37F; Counting Rod Numerals
3388             0x1D380,  //               unassigned
3389             0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3390             0x1D800,  // 1D800..1DAAF; Sutton SignWriting
3391             0x1DAB0,  //               unassigned
3392             0x1E000,  // 1E000..1E02F; Glagolitic Supplement
3393             0x1E030,  //               unassigned
3394             0x1E800,  // 1E800..1E8DF; Mende Kikakui
3395             0x1E8E0,  //               unassigned
3396             0x1E900,  // 1E900..1E95F; Adlam
3397             0x1E960,  //               unassigned
3398             0x1EE00,  // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3399             0x1EF00,  //               unassigned
3400             0x1F000,  // 1F000..1F02F; Mahjong Tiles
3401             0x1F030,  // 1F030..1F09F; Domino Tiles
3402             0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
3403             0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3404             0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
3405             0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3406             0x1F600,  // 1F600..1F64F; Emoticons
3407             0x1F650,  // 1F650..1F67F; Ornamental Dingbats
3408             0x1F680,  // 1F680..1F6FF; Transport and Map Symbols
3409             0x1F700,  // 1F700..1F77F; Alchemical Symbols
3410             0x1F780,  // 1F780..1F7FF; Geometric Shapes Extended
3411             0x1F800,  // 1F800..1F8FF; Supplemental Arrows-C
3412             0x1F900,  // 1F900..1F9FF; Supplemental Symbols and Pictographs
3413             0x1FA00,  //               unassigned
3414             0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
3415             0x2A6E0,  //               unassigned
3416             0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
3417             0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
3418             0x2B820,  // 2B820..2CEAF; CJK Unified Ideographs Extension E
3419             0x2CEB0,  // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3420             0x2EBF0,  //               unassigned
3421             0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3422             0x2FA20,  //               unassigned
3423             0xE0000,  // E0000..E007F; Tags
3424             0xE0080,  //               unassigned
3425             0xE0100,  // E0100..E01EF; Variation Selectors Supplement
3426             0xE01F0,  //               unassigned
3427             0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
3428             0x100000  // 100000..10FFFF; Supplementary Private Use Area-B
3429         };
3430 
3431         private static final UnicodeBlock[] blocks = {
3432             BASIC_LATIN,
3433             LATIN_1_SUPPLEMENT,
3434             LATIN_EXTENDED_A,
3435             LATIN_EXTENDED_B,
3436             IPA_EXTENSIONS,
3437             SPACING_MODIFIER_LETTERS,
3438             COMBINING_DIACRITICAL_MARKS,
3439             GREEK,
3440             CYRILLIC,
3441             CYRILLIC_SUPPLEMENTARY,
3442             ARMENIAN,
3443             HEBREW,
3444             ARABIC,
3445             SYRIAC,
3446             ARABIC_SUPPLEMENT,
3447             THAANA,
3448             NKO,
3449             SAMARITAN,
3450             MANDAIC,
3451             SYRIAC_SUPPLEMENT,
3452             null,
3453             ARABIC_EXTENDED_A,
3454             DEVANAGARI,
3455             BENGALI,
3456             GURMUKHI,
3457             GUJARATI,
3458             ORIYA,
3459             TAMIL,
3460             TELUGU,
3461             KANNADA,
3462             MALAYALAM,
3463             SINHALA,
3464             THAI,
3465             LAO,
3466             TIBETAN,
3467             MYANMAR,
3468             GEORGIAN,
3469             HANGUL_JAMO,
3470             ETHIOPIC,
3471             ETHIOPIC_SUPPLEMENT,


3475             RUNIC,
3476             TAGALOG,
3477             HANUNOO,
3478             BUHID,
3479             TAGBANWA,
3480             KHMER,
3481             MONGOLIAN,
3482             UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED,
3483             LIMBU,
3484             TAI_LE,
3485             NEW_TAI_LUE,
3486             KHMER_SYMBOLS,
3487             BUGINESE,
3488             TAI_THAM,
3489             COMBINING_DIACRITICAL_MARKS_EXTENDED,
3490             BALINESE,
3491             SUNDANESE,
3492             BATAK,
3493             LEPCHA,
3494             OL_CHIKI,
3495             CYRILLIC_EXTENDED_C,
3496             null,
3497             SUNDANESE_SUPPLEMENT,
3498             VEDIC_EXTENSIONS,
3499             PHONETIC_EXTENSIONS,
3500             PHONETIC_EXTENSIONS_SUPPLEMENT,
3501             COMBINING_DIACRITICAL_MARKS_SUPPLEMENT,
3502             LATIN_EXTENDED_ADDITIONAL,
3503             GREEK_EXTENDED,
3504             GENERAL_PUNCTUATION,
3505             SUPERSCRIPTS_AND_SUBSCRIPTS,
3506             CURRENCY_SYMBOLS,
3507             COMBINING_MARKS_FOR_SYMBOLS,
3508             LETTERLIKE_SYMBOLS,
3509             NUMBER_FORMS,
3510             ARROWS,
3511             MATHEMATICAL_OPERATORS,
3512             MISCELLANEOUS_TECHNICAL,
3513             CONTROL_PICTURES,
3514             OPTICAL_CHARACTER_RECOGNITION,
3515             ENCLOSED_ALPHANUMERICS,


3596             SPECIALS,
3597             LINEAR_B_SYLLABARY,
3598             LINEAR_B_IDEOGRAMS,
3599             AEGEAN_NUMBERS,
3600             ANCIENT_GREEK_NUMBERS,
3601             ANCIENT_SYMBOLS,
3602             PHAISTOS_DISC,
3603             null,
3604             LYCIAN,
3605             CARIAN,
3606             COPTIC_EPACT_NUMBERS,
3607             OLD_ITALIC,
3608             GOTHIC,
3609             OLD_PERMIC,
3610             UGARITIC,
3611             OLD_PERSIAN,
3612             null,
3613             DESERET,
3614             SHAVIAN,
3615             OSMANYA,
3616             OSAGE,
3617             ELBASAN,
3618             CAUCASIAN_ALBANIAN,
3619             null,
3620             LINEAR_A,
3621             null,
3622             CYPRIOT_SYLLABARY,
3623             IMPERIAL_ARAMAIC,
3624             PALMYRENE,
3625             NABATAEAN,
3626             null,
3627             HATRAN,
3628             PHOENICIAN,
3629             LYDIAN,
3630             null,
3631             MEROITIC_HIEROGLYPHS,
3632             MEROITIC_CURSIVE,
3633             KHAROSHTHI,
3634             OLD_SOUTH_ARABIAN,
3635             OLD_NORTH_ARABIAN,
3636             null,


3642             null,
3643             OLD_TURKIC,
3644             null,
3645             OLD_HUNGARIAN,
3646             null,
3647             RUMI_NUMERAL_SYMBOLS,
3648             null,
3649             BRAHMI,
3650             KAITHI,
3651             SORA_SOMPENG,
3652             CHAKMA,
3653             MAHAJANI,
3654             SHARADA,
3655             SINHALA_ARCHAIC_NUMBERS,
3656             KHOJKI,
3657             null,
3658             MULTANI,
3659             KHUDAWADI,
3660             GRANTHA,
3661             null,
3662             NEWA,
3663             TIRHUTA,
3664             null,
3665             SIDDHAM,
3666             MODI,
3667             MONGOLIAN_SUPPLEMENT,
3668             TAKRI,
3669             null,
3670             AHOM,
3671             null,
3672             WARANG_CITI,
3673             null,
3674             ZANABAZAR_SQUARE,
3675             SOYOMBO,
3676             null,
3677             PAU_CIN_HAU,
3678             null,
3679             BHAIKSUKI,
3680             MARCHEN,
3681             null,
3682             MASARAM_GONDI,
3683             null,
3684             CUNEIFORM,
3685             CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3686             EARLY_DYNASTIC_CUNEIFORM,
3687             null,
3688             EGYPTIAN_HIEROGLYPHS,
3689             null,
3690             ANATOLIAN_HIEROGLYPHS,
3691             null,
3692             BAMUM_SUPPLEMENT,
3693             MRO,
3694             null,
3695             BASSA_VAH,
3696             PAHAWH_HMONG,
3697             null,
3698             MIAO,
3699             null,
3700             IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3701             TANGUT,
3702             TANGUT_COMPONENTS,
3703             null,
3704             KANA_SUPPLEMENT,
3705             KANA_EXTENDED_A,
3706             null,
3707             NUSHU,
3708             null,
3709             DUPLOYAN,
3710             SHORTHAND_FORMAT_CONTROLS,
3711             null,
3712             BYZANTINE_MUSICAL_SYMBOLS,
3713             MUSICAL_SYMBOLS,
3714             ANCIENT_GREEK_MUSICAL_NOTATION,
3715             null,
3716             TAI_XUAN_JING_SYMBOLS,
3717             COUNTING_ROD_NUMERALS,
3718             null,
3719             MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3720             SUTTON_SIGNWRITING,
3721             null,
3722             GLAGOLITIC_SUPPLEMENT,
3723             null,
3724             MENDE_KIKAKUI,
3725             null,
3726             ADLAM,
3727             null,
3728             ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3729             null,
3730             MAHJONG_TILES,
3731             DOMINO_TILES,
3732             PLAYING_CARDS,
3733             ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3734             ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3735             MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3736             EMOTICONS,
3737             ORNAMENTAL_DINGBATS,
3738             TRANSPORT_AND_MAP_SYMBOLS,
3739             ALCHEMICAL_SYMBOLS,
3740             GEOMETRIC_SHAPES_EXTENDED,
3741             SUPPLEMENTAL_ARROWS_C,
3742             SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3743             null,
3744             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3745             null,
3746             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3747             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3748             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
3749             CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
3750             null,
3751             CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3752             null,
3753             TAGS,
3754             null,
3755             VARIATION_SELECTORS_SUPPLEMENT,
3756             null,
3757             SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3758             SUPPLEMENTARY_PRIVATE_USE_AREA_B
3759         };
3760 
3761 
3762         /**
3763          * Returns the object representing the Unicode block containing the
3764          * given character, or {@code null} if the character is not a
3765          * member of a defined block.
3766          *
3767          * <p><b>Note:</b> This method cannot handle
3768          * <a href="Character.html#supplementary"> supplementary
3769          * characters</a>.  To support all Unicode characters, including


4552 
4553         /**
4554          * Unicode script "Multani".
4555          * @since 9
4556          */
4557         MULTANI,
4558 
4559         /**
4560          * Unicode script "Old Hungarian".
4561          * @since 9
4562          */
4563         OLD_HUNGARIAN,
4564 
4565         /**
4566          * Unicode script "SignWriting".
4567          * @since 9
4568          */
4569         SIGNWRITING,
4570 
4571         /**
4572           * Unicode script "Adlam".
4573           * @since 11
4574           */
4575         ADLAM,
4576 
4577         /**
4578           * Unicode script "Bhaiksuki".
4579           * @since 11
4580           */
4581         BHAIKSUKI,
4582 
4583         /**
4584           * Unicode script "Marchen".
4585           * @since 11
4586           */
4587         MARCHEN,
4588 
4589         /**
4590           * Unicode script "Newa".
4591           * @since 11
4592           */
4593         NEWA,
4594 
4595         /**
4596           * Unicode script "Osage".
4597           * @since 11
4598           */
4599         OSAGE,
4600 
4601         /**
4602           * Unicode script "Tangut".
4603           * @since 11
4604           */
4605         TANGUT,
4606 
4607         /**
4608           * Unicode script "Masaram Gondi".
4609           * @since 11
4610           */
4611         MASARAM_GONDI,
4612 
4613         /**
4614           * Unicode script "Nushu".
4615           * @since 11
4616           */
4617         NUSHU,
4618 
4619         /**
4620           * Unicode script "Soyombo".
4621           * @since 11
4622           */
4623         SOYOMBO,
4624 
4625         /**
4626           * Unicode script "Zanabazar Square".
4627           * @since 11
4628           */
4629         ZANABAZAR_SQUARE,
4630 
4631         /**
4632          * Unicode script "Unknown".
4633          */
4634         UNKNOWN;
4635 
4636         private static final int[] scriptStarts = {
4637             0x0000,   // 0000..0040; COMMON
4638             0x0041,   // 0041..005A; LATIN
4639             0x005B,   // 005B..0060; COMMON
4640             0x0061,   // 0061..007A; LATIN
4641             0x007B,   // 007B..00A9; COMMON
4642             0x00AA,   // 00AA      ; LATIN
4643             0x00AB,   // 00AB..00B9; COMMON
4644             0x00BA,   // 00BA      ; LATIN
4645             0x00BB,   // 00BB..00BF; COMMON
4646             0x00C0,   // 00C0..00D6; LATIN
4647             0x00D7,   // 00D7      ; COMMON
4648             0x00D8,   // 00D8..00F6; LATIN
4649             0x00F7,   // 00F7      ; COMMON
4650             0x00F8,   // 00F8..02B8; LATIN
4651             0x02B9,   // 02B9..02DF; COMMON


4684             0x0559,   // 0559..055F; ARMENIAN
4685             0x0560,   // 0560      ; UNKNOWN
4686             0x0561,   // 0561..0587; ARMENIAN
4687             0x0588,   // 0588      ; UNKNOWN
4688             0x0589,   // 0589      ; COMMON
4689             0x058A,   // 058A      ; ARMENIAN
4690             0x058B,   // 058B..058C; UNKNOWN
4691             0x058D,   // 058D..058F; ARMENIAN
4692             0x0590,   // 0590      ; UNKNOWN
4693             0x0591,   // 0591..05C7; HEBREW
4694             0x05C8,   // 05C8..05CF; UNKNOWN
4695             0x05D0,   // 05D0..05EA; HEBREW
4696             0x05EB,   // 05EB..05EF; UNKNOWN
4697             0x05F0,   // 05F0..05F4; HEBREW
4698             0x05F5,   // 05F5..05FF; UNKNOWN
4699             0x0600,   // 0600..0604; ARABIC
4700             0x0605,   // 0605      ; COMMON
4701             0x0606,   // 0606..060B; ARABIC
4702             0x060C,   // 060C      ; COMMON
4703             0x060D,   // 060D..061A; ARABIC
4704             0x061B,   // 061B      ; COMMON
4705             0x061C,   // 061C      ; ARABIC
4706             0x061D,   // 061D      ; UNKNOWN
4707             0x061E,   // 061E      ; ARABIC
4708             0x061F,   // 061F      ; COMMON
4709             0x0620,   // 0620..063F; ARABIC
4710             0x0640,   // 0640      ; COMMON
4711             0x0641,   // 0641..064A; ARABIC
4712             0x064B,   // 064B..0655; INHERITED
4713             0x0656,   // 0656..066F; ARABIC
4714             0x0670,   // 0670      ; INHERITED
4715             0x0671,   // 0671..06DC; ARABIC
4716             0x06DD,   // 06DD      ; COMMON
4717             0x06DE,   // 06DE..06FF; ARABIC
4718             0x0700,   // 0700..070D; SYRIAC
4719             0x070E,   // 070E      ; UNKNOWN
4720             0x070F,   // 070F..074A; SYRIAC
4721             0x074B,   // 074B..074C; UNKNOWN
4722             0x074D,   // 074D..074F; SYRIAC
4723             0x0750,   // 0750..077F; ARABIC
4724             0x0780,   // 0780..07B1; THAANA
4725             0x07B2,   // 07B2..07BF; UNKNOWN
4726             0x07C0,   // 07C0..07FA; NKO
4727             0x07FB,   // 07FB..07FF; UNKNOWN
4728             0x0800,   // 0800..082D; SAMARITAN
4729             0x082E,   // 082E..082F; UNKNOWN
4730             0x0830,   // 0830..083E; SAMARITAN
4731             0x083F,   // 083F      ; UNKNOWN
4732             0x0840,   // 0840..085B; MANDAIC
4733             0x085C,   // 085C..085D; UNKNOWN
4734             0x085E,   // 085E      ; MANDAIC
4735             0x085F,   // 085F      ; UNKNOWN
4736             0x0860,   // 0860..086A; SYRIAC
4737             0x086B,   // 086B..089F; UNKNOWN
4738             0x08A0,   // 08A0..08B4; ARABIC
4739             0x08B5,   // 08B5      ; UNKNOWN
4740             0x08B6,   // 08B6..08BD; ARABIC
4741             0x08BE,   // 08BE..08D3; UNKNOWN
4742             0x08D4,   // 08D4..08E1; ARABIC
4743             0x08E2,   // 08E2      ; COMMON
4744             0x08E3,   // 08E3..08FF; ARABIC
4745             0x0900,   // 0900..0950; DEVANAGARI
4746             0x0951,   // 0951..0952; INHERITED
4747             0x0953,   // 0953..0963; DEVANAGARI
4748             0x0964,   // 0964..0965; COMMON
4749             0x0966,   // 0966..097F; DEVANAGARI
4750             0x0980,   // 0980..0983; BENGALI
4751             0x0984,   // 0984      ; UNKNOWN
4752             0x0985,   // 0985..098C; BENGALI
4753             0x098D,   // 098D..098E; UNKNOWN
4754             0x098F,   // 098F..0990; BENGALI
4755             0x0991,   // 0991..0992; UNKNOWN
4756             0x0993,   // 0993..09A8; BENGALI
4757             0x09A9,   // 09A9      ; UNKNOWN
4758             0x09AA,   // 09AA..09B0; BENGALI
4759             0x09B1,   // 09B1      ; UNKNOWN
4760             0x09B2,   // 09B2      ; BENGALI
4761             0x09B3,   // 09B3..09B5; UNKNOWN
4762             0x09B6,   // 09B6..09B9; BENGALI
4763             0x09BA,   // 09BA..09BB; UNKNOWN
4764             0x09BC,   // 09BC..09C4; BENGALI
4765             0x09C5,   // 09C5..09C6; UNKNOWN
4766             0x09C7,   // 09C7..09C8; BENGALI
4767             0x09C9,   // 09C9..09CA; UNKNOWN
4768             0x09CB,   // 09CB..09CE; BENGALI
4769             0x09CF,   // 09CF..09D6; UNKNOWN
4770             0x09D7,   // 09D7      ; BENGALI
4771             0x09D8,   // 09D8..09DB; UNKNOWN
4772             0x09DC,   // 09DC..09DD; BENGALI
4773             0x09DE,   // 09DE      ; UNKNOWN
4774             0x09DF,   // 09DF..09E3; BENGALI
4775             0x09E4,   // 09E4..09E5; UNKNOWN
4776             0x09E6,   // 09E6..09FD; BENGALI
4777             0x09FE,   // 09FE..0A00; UNKNOWN
4778             0x0A01,   // 0A01..0A03; GURMUKHI
4779             0x0A04,   // 0A04      ; UNKNOWN
4780             0x0A05,   // 0A05..0A0A; GURMUKHI
4781             0x0A0B,   // 0A0B..0A0E; UNKNOWN
4782             0x0A0F,   // 0A0F..0A10; GURMUKHI
4783             0x0A11,   // 0A11..0A12; UNKNOWN
4784             0x0A13,   // 0A13..0A28; GURMUKHI
4785             0x0A29,   // 0A29      ; UNKNOWN
4786             0x0A2A,   // 0A2A..0A30; GURMUKHI
4787             0x0A31,   // 0A31      ; UNKNOWN
4788             0x0A32,   // 0A32..0A33; GURMUKHI
4789             0x0A34,   // 0A34      ; UNKNOWN
4790             0x0A35,   // 0A35..0A36; GURMUKHI
4791             0x0A37,   // 0A37      ; UNKNOWN
4792             0x0A38,   // 0A38..0A39; GURMUKHI
4793             0x0A3A,   // 0A3A..0A3B; UNKNOWN
4794             0x0A3C,   // 0A3C      ; GURMUKHI
4795             0x0A3D,   // 0A3D      ; UNKNOWN
4796             0x0A3E,   // 0A3E..0A42; GURMUKHI
4797             0x0A43,   // 0A43..0A46; UNKNOWN


4816             0x0A93,   // 0A93..0AA8; GUJARATI
4817             0x0AA9,   // 0AA9      ; UNKNOWN
4818             0x0AAA,   // 0AAA..0AB0; GUJARATI
4819             0x0AB1,   // 0AB1      ; UNKNOWN
4820             0x0AB2,   // 0AB2..0AB3; GUJARATI
4821             0x0AB4,   // 0AB4      ; UNKNOWN
4822             0x0AB5,   // 0AB5..0AB9; GUJARATI
4823             0x0ABA,   // 0ABA..0ABB; UNKNOWN
4824             0x0ABC,   // 0ABC..0AC5; GUJARATI
4825             0x0AC6,   // 0AC6      ; UNKNOWN
4826             0x0AC7,   // 0AC7..0AC9; GUJARATI
4827             0x0ACA,   // 0ACA      ; UNKNOWN
4828             0x0ACB,   // 0ACB..0ACD; GUJARATI
4829             0x0ACE,   // 0ACE..0ACF; UNKNOWN
4830             0x0AD0,   // 0AD0      ; GUJARATI
4831             0x0AD1,   // 0AD1..0ADF; UNKNOWN
4832             0x0AE0,   // 0AE0..0AE3; GUJARATI
4833             0x0AE4,   // 0AE4..0AE5; UNKNOWN
4834             0x0AE6,   // 0AE6..0AF1; GUJARATI
4835             0x0AF2,   // 0AF2..0AF8; UNKNOWN
4836             0x0AF9,   // 0AF9..0AFF; GUJARATI
4837             0x0B00,   // 0B00      ; UNKNOWN
4838             0x0B01,   // 0B01..0B03; ORIYA
4839             0x0B04,   // 0B04      ; UNKNOWN
4840             0x0B05,   // 0B05..0B0C; ORIYA
4841             0x0B0D,   // 0B0D..0B0E; UNKNOWN
4842             0x0B0F,   // 0B0F..0B10; ORIYA
4843             0x0B11,   // 0B11..0B12; UNKNOWN
4844             0x0B13,   // 0B13..0B28; ORIYA
4845             0x0B29,   // 0B29      ; UNKNOWN
4846             0x0B2A,   // 0B2A..0B30; ORIYA
4847             0x0B31,   // 0B31      ; UNKNOWN
4848             0x0B32,   // 0B32..0B33; ORIYA
4849             0x0B34,   // 0B34      ; UNKNOWN
4850             0x0B35,   // 0B35..0B39; ORIYA
4851             0x0B3A,   // 0B3A..0B3B; UNKNOWN
4852             0x0B3C,   // 0B3C..0B44; ORIYA
4853             0x0B45,   // 0B45..0B46; UNKNOWN
4854             0x0B47,   // 0B47..0B48; ORIYA
4855             0x0B49,   // 0B49..0B4A; UNKNOWN
4856             0x0B4B,   // 0B4B..0B4D; ORIYA
4857             0x0B4E,   // 0B4E..0B55; UNKNOWN


4903             0x0C11,   // 0C11      ; UNKNOWN
4904             0x0C12,   // 0C12..0C28; TELUGU
4905             0x0C29,   // 0C29      ; UNKNOWN
4906             0x0C2A,   // 0C2A..0C39; TELUGU
4907             0x0C3A,   // 0C3A..0C3C; UNKNOWN
4908             0x0C3D,   // 0C3D..0C44; TELUGU
4909             0x0C45,   // 0C45      ; UNKNOWN
4910             0x0C46,   // 0C46..0C48; TELUGU
4911             0x0C49,   // 0C49      ; UNKNOWN
4912             0x0C4A,   // 0C4A..0C4D; TELUGU
4913             0x0C4E,   // 0C4E..0C54; UNKNOWN
4914             0x0C55,   // 0C55..0C56; TELUGU
4915             0x0C57,   // 0C57      ; UNKNOWN
4916             0x0C58,   // 0C58..0C5A; TELUGU
4917             0x0C5B,   // 0C5B..0C5F; UNKNOWN
4918             0x0C60,   // 0C60..0C63; TELUGU
4919             0x0C64,   // 0C64..0C65; UNKNOWN
4920             0x0C66,   // 0C66..0C6F; TELUGU
4921             0x0C70,   // 0C70..0C77; UNKNOWN
4922             0x0C78,   // 0C78..0C7F; TELUGU
4923             0x0C80,   // 0C80..0C83; KANNADA

4924             0x0C84,   // 0C84      ; UNKNOWN
4925             0x0C85,   // 0C85..0C8C; KANNADA
4926             0x0C8D,   // 0C8D      ; UNKNOWN
4927             0x0C8E,   // 0C8E..0C90; KANNADA
4928             0x0C91,   // 0C91      ; UNKNOWN
4929             0x0C92,   // 0C92..0CA8; KANNADA
4930             0x0CA9,   // 0CA9      ; UNKNOWN
4931             0x0CAA,   // 0CAA..0CB3; KANNADA
4932             0x0CB4,   // 0CB4      ; UNKNOWN
4933             0x0CB5,   // 0CB5..0CB9; KANNADA
4934             0x0CBA,   // 0CBA..0CBB; UNKNOWN
4935             0x0CBC,   // 0CBC..0CC4; KANNADA
4936             0x0CC5,   // 0CC5      ; UNKNOWN
4937             0x0CC6,   // 0CC6..0CC8; KANNADA
4938             0x0CC9,   // 0CC9      ; UNKNOWN
4939             0x0CCA,   // 0CCA..0CCD; KANNADA
4940             0x0CCE,   // 0CCE..0CD4; UNKNOWN
4941             0x0CD5,   // 0CD5..0CD6; KANNADA
4942             0x0CD7,   // 0CD7..0CDD; UNKNOWN
4943             0x0CDE,   // 0CDE      ; KANNADA
4944             0x0CDF,   // 0CDF      ; UNKNOWN
4945             0x0CE0,   // 0CE0..0CE3; KANNADA
4946             0x0CE4,   // 0CE4..0CE5; UNKNOWN
4947             0x0CE6,   // 0CE6..0CEF; KANNADA
4948             0x0CF0,   // 0CF0      ; UNKNOWN
4949             0x0CF1,   // 0CF1..0CF2; KANNADA
4950             0x0CF3,   // 0CF3..0CFF; UNKNOWN
4951             0x0D00,   // 0D00..0D03; MALAYALAM
4952             0x0D04,   // 0D04      ; UNKNOWN
4953             0x0D05,   // 0D05..0D0C; MALAYALAM
4954             0x0D0D,   // 0D0D      ; UNKNOWN
4955             0x0D0E,   // 0D0E..0D10; MALAYALAM
4956             0x0D11,   // 0D11      ; UNKNOWN
4957             0x0D12,   // 0D12..0D44; MALAYALAM


4958             0x0D45,   // 0D45      ; UNKNOWN
4959             0x0D46,   // 0D46..0D48; MALAYALAM
4960             0x0D49,   // 0D49      ; UNKNOWN
4961             0x0D4A,   // 0D4A..0D4F; MALAYALAM
4962             0x0D50,   // 0D50..0D53; UNKNOWN
4963             0x0D54,   // 0D54..0D63; MALAYALAM


4964             0x0D64,   // 0D64..0D65; UNKNOWN
4965             0x0D66,   // 0D66..0D7F; MALAYALAM


4966             0x0D80,   // 0D80..0D81; UNKNOWN
4967             0x0D82,   // 0D82..0D83; SINHALA
4968             0x0D84,   // 0D84      ; UNKNOWN
4969             0x0D85,   // 0D85..0D96; SINHALA
4970             0x0D97,   // 0D97..0D99; UNKNOWN
4971             0x0D9A,   // 0D9A..0DB1; SINHALA
4972             0x0DB2,   // 0DB2      ; UNKNOWN
4973             0x0DB3,   // 0DB3..0DBB; SINHALA
4974             0x0DBC,   // 0DBC      ; UNKNOWN
4975             0x0DBD,   // 0DBD      ; SINHALA
4976             0x0DBE,   // 0DBE..0DBF; UNKNOWN
4977             0x0DC0,   // 0DC0..0DC6; SINHALA
4978             0x0DC7,   // 0DC7..0DC9; UNKNOWN
4979             0x0DCA,   // 0DCA      ; SINHALA
4980             0x0DCB,   // 0DCB..0DCE; UNKNOWN
4981             0x0DCF,   // 0DCF..0DD4; SINHALA
4982             0x0DD5,   // 0DD5      ; UNKNOWN
4983             0x0DD6,   // 0DD6      ; SINHALA
4984             0x0DD7,   // 0DD7      ; UNKNOWN
4985             0x0DD8,   // 0DD8..0DDF; SINHALA


5169             0x1A90,   // 1A90..1A99; TAI_THAM
5170             0x1A9A,   // 1A9A..1A9F; UNKNOWN
5171             0x1AA0,   // 1AA0..1AAD; TAI_THAM
5172             0x1AAE,   // 1AAE..1AAF; UNKNOWN
5173             0x1AB0,   // 1AB0..1ABE; INHERITED
5174             0x1ABF,   // 1ABF..1AFF; UNKNOWN
5175             0x1B00,   // 1B00..1B4B; BALINESE
5176             0x1B4C,   // 1B4C..1B4F; UNKNOWN
5177             0x1B50,   // 1B50..1B7C; BALINESE
5178             0x1B7D,   // 1B7D..1B7F; UNKNOWN
5179             0x1B80,   // 1B80..1BBF; SUNDANESE
5180             0x1BC0,   // 1BC0..1BF3; BATAK
5181             0x1BF4,   // 1BF4..1BFB; UNKNOWN
5182             0x1BFC,   // 1BFC..1BFF; BATAK
5183             0x1C00,   // 1C00..1C37; LEPCHA
5184             0x1C38,   // 1C38..1C3A; UNKNOWN
5185             0x1C3B,   // 1C3B..1C49; LEPCHA
5186             0x1C4A,   // 1C4A..1C4C; UNKNOWN
5187             0x1C4D,   // 1C4D..1C4F; LEPCHA
5188             0x1C50,   // 1C50..1C7F; OL_CHIKI
5189             0x1C80,   // 1C80..1C88; CYRILLIC
5190             0x1C89,   // 1C89..1CBF; UNKNOWN
5191             0x1CC0,   // 1CC0..1CC7; SUNDANESE
5192             0x1CC8,   // 1CC8..1CCF; UNKNOWN
5193             0x1CD0,   // 1CD0..1CD2; INHERITED
5194             0x1CD3,   // 1CD3      ; COMMON
5195             0x1CD4,   // 1CD4..1CE0; INHERITED
5196             0x1CE1,   // 1CE1      ; COMMON
5197             0x1CE2,   // 1CE2..1CE8; INHERITED
5198             0x1CE9,   // 1CE9..1CEC; COMMON
5199             0x1CED,   // 1CED      ; INHERITED
5200             0x1CEE,   // 1CEE..1CF3; COMMON
5201             0x1CF4,   // 1CF4      ; INHERITED
5202             0x1CF5,   // 1CF5..1CF7; COMMON

5203             0x1CF8,   // 1CF8..1CF9; INHERITED
5204             0x1CFA,   // 1CFA..1CFF; UNKNOWN
5205             0x1D00,   // 1D00..1D25; LATIN
5206             0x1D26,   // 1D26..1D2A; GREEK
5207             0x1D2B,   // 1D2B      ; CYRILLIC
5208             0x1D2C,   // 1D2C..1D5C; LATIN
5209             0x1D5D,   // 1D5D..1D61; GREEK
5210             0x1D62,   // 1D62..1D65; LATIN
5211             0x1D66,   // 1D66..1D6A; GREEK
5212             0x1D6B,   // 1D6B..1D77; LATIN
5213             0x1D78,   // 1D78      ; CYRILLIC
5214             0x1D79,   // 1D79..1DBE; LATIN
5215             0x1DBF,   // 1DBF      ; GREEK
5216             0x1DC0,   // 1DC0..1DF9; INHERITED
5217             0x1DFA,   // 1DFA      ; UNKNOWN
5218             0x1DFB,   // 1DFB..1DFF; INHERITED
5219             0x1E00,   // 1E00..1EFF; LATIN
5220             0x1F00,   // 1F00..1F15; GREEK
5221             0x1F16,   // 1F16..1F17; UNKNOWN
5222             0x1F18,   // 1F18..1F1D; GREEK
5223             0x1F1E,   // 1F1E..1F1F; UNKNOWN
5224             0x1F20,   // 1F20..1F45; GREEK
5225             0x1F46,   // 1F46..1F47; UNKNOWN
5226             0x1F48,   // 1F48..1F4D; GREEK
5227             0x1F4E,   // 1F4E..1F4F; UNKNOWN
5228             0x1F50,   // 1F50..1F57; GREEK
5229             0x1F58,   // 1F58      ; UNKNOWN
5230             0x1F59,   // 1F59      ; GREEK
5231             0x1F5A,   // 1F5A      ; UNKNOWN
5232             0x1F5B,   // 1F5B      ; GREEK
5233             0x1F5C,   // 1F5C      ; UNKNOWN
5234             0x1F5D,   // 1F5D      ; GREEK
5235             0x1F5E,   // 1F5E      ; UNKNOWN
5236             0x1F5F,   // 1F5F..1F7D; GREEK
5237             0x1F7E,   // 1F7E..1F7F; UNKNOWN
5238             0x1F80,   // 1F80..1FB4; GREEK


5245             0x1FDC,   // 1FDC      ; UNKNOWN
5246             0x1FDD,   // 1FDD..1FEF; GREEK
5247             0x1FF0,   // 1FF0..1FF1; UNKNOWN
5248             0x1FF2,   // 1FF2..1FF4; GREEK
5249             0x1FF5,   // 1FF5      ; UNKNOWN
5250             0x1FF6,   // 1FF6..1FFE; GREEK
5251             0x1FFF,   // 1FFF      ; UNKNOWN
5252             0x2000,   // 2000..200B; COMMON
5253             0x200C,   // 200C..200D; INHERITED
5254             0x200E,   // 200E..2064; COMMON
5255             0x2065,   // 2065      ; UNKNOWN
5256             0x2066,   // 2066..2070; COMMON
5257             0x2071,   // 2071      ; LATIN
5258             0x2072,   // 2072..2073; UNKNOWN
5259             0x2074,   // 2074..207E; COMMON
5260             0x207F,   // 207F      ; LATIN
5261             0x2080,   // 2080..208E; COMMON
5262             0x208F,   // 208F      ; UNKNOWN
5263             0x2090,   // 2090..209C; LATIN
5264             0x209D,   // 209D..209F; UNKNOWN
5265             0x20A0,   // 20A0..20BF; COMMON
5266             0x20C0,   // 20C0..20CF; UNKNOWN
5267             0x20D0,   // 20D0..20F0; INHERITED
5268             0x20F1,   // 20F1..20FF; UNKNOWN
5269             0x2100,   // 2100..2125; COMMON
5270             0x2126,   // 2126      ; GREEK
5271             0x2127,   // 2127..2129; COMMON
5272             0x212A,   // 212A..212B; LATIN
5273             0x212C,   // 212C..2131; COMMON
5274             0x2132,   // 2132      ; LATIN
5275             0x2133,   // 2133..214D; COMMON
5276             0x214E,   // 214E      ; LATIN
5277             0x214F,   // 214F..215F; COMMON
5278             0x2160,   // 2160..2188; LATIN
5279             0x2189,   // 2189..218B; COMMON
5280             0x218C,   // 218C..218F; UNKNOWN
5281             0x2190,   // 2190..2426; COMMON


5282             0x2427,   // 2427..243F; UNKNOWN
5283             0x2440,   // 2440..244A; COMMON
5284             0x244B,   // 244B..245F; UNKNOWN
5285             0x2460,   // 2460..27FF; COMMON
5286             0x2800,   // 2800..28FF; BRAILLE
5287             0x2900,   // 2900..2B73; COMMON
5288             0x2B74,   // 2B74..2B75; UNKNOWN
5289             0x2B76,   // 2B76..2B95; COMMON
5290             0x2B96,   // 2B96..2B97; UNKNOWN
5291             0x2B98,   // 2B98..2BB9; COMMON
5292             0x2BBA,   // 2BBA..2BBC; UNKNOWN
5293             0x2BBD,   // 2BBD..2BC8; COMMON
5294             0x2BC9,   // 2BC9      ; UNKNOWN
5295             0x2BCA,   // 2BCA..2BD2; COMMON
5296             0x2BD3,   // 2BD3..2BEB; UNKNOWN
5297             0x2BEC,   // 2BEC..2BEF; COMMON
5298             0x2BF0,   // 2BF0..2BFF; UNKNOWN
5299             0x2C00,   // 2C00..2C2E; GLAGOLITIC
5300             0x2C2F,   // 2C2F      ; UNKNOWN
5301             0x2C30,   // 2C30..2C5E; GLAGOLITIC
5302             0x2C5F,   // 2C5F      ; UNKNOWN
5303             0x2C60,   // 2C60..2C7F; LATIN
5304             0x2C80,   // 2C80..2CF3; COPTIC
5305             0x2CF4,   // 2CF4..2CF8; UNKNOWN
5306             0x2CF9,   // 2CF9..2CFF; COPTIC
5307             0x2D00,   // 2D00..2D25; GEORGIAN
5308             0x2D26,   // 2D26      ; UNKNOWN
5309             0x2D27,   // 2D27      ; GEORGIAN
5310             0x2D28,   // 2D28..2D2C; UNKNOWN
5311             0x2D2D,   // 2D2D      ; GEORGIAN
5312             0x2D2E,   // 2D2E..2D2F; UNKNOWN
5313             0x2D30,   // 2D30..2D67; TIFINAGH
5314             0x2D68,   // 2D68..2D6E; UNKNOWN
5315             0x2D6F,   // 2D6F..2D70; TIFINAGH
5316             0x2D71,   // 2D71..2D7E; UNKNOWN
5317             0x2D7F,   // 2D7F      ; TIFINAGH
5318             0x2D80,   // 2D80..2D96; ETHIOPIC
5319             0x2D97,   // 2D97..2D9F; UNKNOWN
5320             0x2DA0,   // 2DA0..2DA6; ETHIOPIC
5321             0x2DA7,   // 2DA7      ; UNKNOWN
5322             0x2DA8,   // 2DA8..2DAE; ETHIOPIC
5323             0x2DAF,   // 2DAF      ; UNKNOWN
5324             0x2DB0,   // 2DB0..2DB6; ETHIOPIC
5325             0x2DB7,   // 2DB7      ; UNKNOWN
5326             0x2DB8,   // 2DB8..2DBE; ETHIOPIC
5327             0x2DBF,   // 2DBF      ; UNKNOWN
5328             0x2DC0,   // 2DC0..2DC6; ETHIOPIC
5329             0x2DC7,   // 2DC7      ; UNKNOWN
5330             0x2DC8,   // 2DC8..2DCE; ETHIOPIC
5331             0x2DCF,   // 2DCF      ; UNKNOWN
5332             0x2DD0,   // 2DD0..2DD6; ETHIOPIC
5333             0x2DD7,   // 2DD7      ; UNKNOWN
5334             0x2DD8,   // 2DD8..2DDE; ETHIOPIC
5335             0x2DDF,   // 2DDF      ; UNKNOWN
5336             0x2DE0,   // 2DE0..2DFF; CYRILLIC
5337             0x2E00,   // 2E00..2E49; COMMON
5338             0x2E50,   // 2E50..2E7F; UNKNOWN
5339             0x2E80,   // 2E80..2E99; HAN
5340             0x2E9A,   // 2E9A      ; UNKNOWN
5341             0x2E9B,   // 2E9B..2EF3; HAN
5342             0x2EF4,   // 2EF4..2EFF; UNKNOWN
5343             0x2F00,   // 2F00..2FD5; HAN
5344             0x2FD6,   // 2FD6..2FEF; UNKNOWN
5345             0x2FF0,   // 2FF0..2FFB; COMMON
5346             0x2FFC,   // 2FFC..2FFF; UNKNOWN
5347             0x3000,   // 3000..3004; COMMON
5348             0x3005,   // 3005      ; HAN
5349             0x3006,   // 3006      ; COMMON
5350             0x3007,   // 3007      ; HAN
5351             0x3008,   // 3008..3020; COMMON
5352             0x3021,   // 3021..3029; HAN
5353             0x302A,   // 302A..302D; INHERITED
5354             0x302E,   // 302E..302F; HANGUL
5355             0x3030,   // 3030..3037; COMMON
5356             0x3038,   // 3038..303B; HAN
5357             0x303C,   // 303C..303F; COMMON
5358             0x3040,   // 3040      ; UNKNOWN
5359             0x3041,   // 3041..3096; HIRAGANA
5360             0x3097,   // 3097..3098; UNKNOWN
5361             0x3099,   // 3099..309A; INHERITED
5362             0x309B,   // 309B..309C; COMMON
5363             0x309D,   // 309D..309F; HIRAGANA
5364             0x30A0,   // 30A0      ; COMMON
5365             0x30A1,   // 30A1..30FA; KATAKANA
5366             0x30FB,   // 30FB..30FC; COMMON
5367             0x30FD,   // 30FD..30FF; KATAKANA
5368             0x3100,   // 3100..3104; UNKNOWN
5369             0x3105,   // 3105..312E; BOPOMOFO
5370             0x312F,   // 312F..3130; UNKNOWN
5371             0x3131,   // 3131..318E; HANGUL
5372             0x318F,   // 318F      ; UNKNOWN
5373             0x3190,   // 3190..319F; COMMON
5374             0x31A0,   // 31A0..31BA; BOPOMOFO
5375             0x31BB,   // 31BB..31BF; UNKNOWN
5376             0x31C0,   // 31C0..31E3; COMMON
5377             0x31E4,   // 31E4..31EF; UNKNOWN
5378             0x31F0,   // 31F0..31FF; KATAKANA
5379             0x3200,   // 3200..321E; HANGUL
5380             0x321F,   // 321F      ; UNKNOWN
5381             0x3220,   // 3220..325F; COMMON
5382             0x3260,   // 3260..327E; HANGUL
5383             0x327F,   // 327F..32CF; COMMON
5384             0x32D0,   // 32D0..32FE; KATAKANA
5385             0x32FF,   // 32FF      ; UNKNOWN
5386             0x3300,   // 3300..3357; KATAKANA
5387             0x3358,   // 3358..33FF; COMMON
5388             0x3400,   // 3400..4DB5; HAN
5389             0x4DB6,   // 4DB6..4DBF; UNKNOWN
5390             0x4DC0,   // 4DC0..4DFF; COMMON
5391             0x4E00,   // 4E00..9FEA; HAN
5392             0x9FEB,   // 9FEB..9FFF; UNKNOWN
5393             0xA000,   // A000..A48C; YI
5394             0xA48D,   // A48D..A48F; UNKNOWN
5395             0xA490,   // A490..A4C6; YI
5396             0xA4C7,   // A4C7..A4CF; UNKNOWN
5397             0xA4D0,   // A4D0..A4FF; LISU
5398             0xA500,   // A500..A62B; VAI
5399             0xA62C,   // A62C..A63F; UNKNOWN
5400             0xA640,   // A640..A69F; CYRILLIC
5401             0xA6A0,   // A6A0..A6F7; BAMUM
5402             0xA6F8,   // A6F8..A6FF; UNKNOWN
5403             0xA700,   // A700..A721; COMMON
5404             0xA722,   // A722..A787; LATIN
5405             0xA788,   // A788..A78A; COMMON
5406             0xA78B,   // A78B..A7AE; LATIN
5407             0xA7AF,   // A7AF      ; UNKNOWN
5408             0xA7B0,   // A7B0..A7B7; LATIN
5409             0xA7B8,   // A7B8..A7F6; UNKNOWN
5410             0xA7F7,   // A7F7..A7FF; LATIN
5411             0xA800,   // A800..A82B; SYLOTI_NAGRI
5412             0xA82C,   // A82C..A82F; UNKNOWN
5413             0xA830,   // A830..A839; COMMON
5414             0xA83A,   // A83A..A83F; UNKNOWN
5415             0xA840,   // A840..A877; PHAGS_PA
5416             0xA878,   // A878..A87F; UNKNOWN
5417             0xA880,   // A880..A8C5; SAURASHTRA
5418             0xA8C6,   // A8C6..A8CD; UNKNOWN
5419             0xA8CE,   // A8CE..A8D9; SAURASHTRA
5420             0xA8DA,   // A8DA..A8DF; UNKNOWN
5421             0xA8E0,   // A8E0..A8FD; DEVANAGARI
5422             0xA8FE,   // A8FE..A8FF; UNKNOWN
5423             0xA900,   // A900..A92D; KAYAH_LI
5424             0xA92E,   // A92E      ; COMMON
5425             0xA92F,   // A92F      ; KAYAH_LI
5426             0xA930,   // A930..A953; REJANG
5427             0xA954,   // A954..A95E; UNKNOWN
5428             0xA95F,   // A95F      ; REJANG
5429             0xA960,   // A960..A97C; HANGUL
5430             0xA97D,   // A97D..A97F; UNKNOWN
5431             0xA980,   // A980..A9CD; JAVANESE
5432             0xA9CE,   // A9CE      ; UNKNOWN
5433             0xA9CF,   // A9CF      ; COMMON
5434             0xA9D0,   // A9D0..A9D9; JAVANESE
5435             0xA9DA,   // A9DA..A9DD; UNKNOWN
5436             0xA9DE,   // A9DE..A9DF; JAVANESE
5437             0xA9E0,   // A9E0..A9FE; MYANMAR
5438             0xA9FF,   // A9FF      ; UNKNOWN


5549             0xFFFE,   // FFFE..FFFF; UNKNOWN
5550             0x10000,  // 10000..1000B; LINEAR_B
5551             0x1000C,  // 1000C       ; UNKNOWN
5552             0x1000D,  // 1000D..10026; LINEAR_B
5553             0x10027,  // 10027       ; UNKNOWN
5554             0x10028,  // 10028..1003A; LINEAR_B
5555             0x1003B,  // 1003B       ; UNKNOWN
5556             0x1003C,  // 1003C..1003D; LINEAR_B
5557             0x1003E,  // 1003E       ; UNKNOWN
5558             0x1003F,  // 1003F..1004D; LINEAR_B
5559             0x1004E,  // 1004E..1004F; UNKNOWN
5560             0x10050,  // 10050..1005D; LINEAR_B
5561             0x1005E,  // 1005E..1007F; UNKNOWN
5562             0x10080,  // 10080..100FA; LINEAR_B
5563             0x100FB,  // 100FB..100FF; UNKNOWN
5564             0x10100,  // 10100..10102; COMMON
5565             0x10103,  // 10103..10106; UNKNOWN
5566             0x10107,  // 10107..10133; COMMON
5567             0x10134,  // 10134..10136; UNKNOWN
5568             0x10137,  // 10137..1013F; COMMON
5569             0x10140,  // 10140..1018E; GREEK
5570             0x1018F,  // 1018F       ; UNKNOWN
5571             0x10190,  // 10190..1019B; COMMON
5572             0x1019C,  // 1019C..1019F; UNKNOWN
5573             0x101A0,  // 101A0       ; GREEK
5574             0x101A1,  // 101A1..101CF; UNKNOWN
5575             0x101D0,  // 101D0..101FC; COMMON
5576             0x101FD,  // 101FD       ; INHERITED
5577             0x101FE,  // 101FE..1027F; UNKNOWN
5578             0x10280,  // 10280..1029C; LYCIAN
5579             0x1029D,  // 1029D..1029F; UNKNOWN
5580             0x102A0,  // 102A0..102D0; CARIAN
5581             0x102D1,  // 102D1..102DF; UNKNOWN
5582             0x102E0,  // 102E0       ; INHERITED
5583             0x102E1,  // 102E1..102FB; COMMON
5584             0x102FC,  // 102FC..102FF; UNKNOWN
5585             0x10300,  // 10300..10323; OLD_ITALIC
5586             0x10324,  // 10324..1032C; UNKNOWN
5587             0x1032D,  // 1032D..1032F; OLD_ITALIC
5588             0x10330,  // 10330..1034A; GOTHIC
5589             0x1034B,  // 1034B..1034F; UNKNOWN
5590             0x10350,  // 10350..1037A; OLD_PERMIC
5591             0x1037B,  // 1037B..1037F; UNKNOWN
5592             0x10380,  // 10380..1039D; UGARITIC
5593             0x1039E,  // 1039E       ; UNKNOWN
5594             0x1039F,  // 1039F       ; UGARITIC
5595             0x103A0,  // 103A0..103C3; OLD_PERSIAN
5596             0x103C4,  // 103C4..103C7; UNKNOWN
5597             0x103C8,  // 103C8..103D5; OLD_PERSIAN
5598             0x103D6,  // 103D6..103FF; UNKNOWN
5599             0x10400,  // 10400..1044F; DESERET
5600             0x10450,  // 10450..1047F; SHAVIAN
5601             0x10480,  // 10480..1049D; OSMANYA
5602             0x1049E,  // 1049E..1049F; UNKNOWN
5603             0x104A0,  // 104A0..104A9; OSMANYA
5604             0x104AA,  // 104AA..104AF; UNKNOWN
5605             0x104B0,  // 104B0..104D3; OSAGE
5606             0x104D4,  // 104D4..104D7; UNKNOWN
5607             0x104D8,  // 104D8..104FB; OSAGE
5608             0x104FC,  // 104FC..104FF; UNKNOWN
5609             0x10500,  // 10500..10527; ELBASAN
5610             0x10528,  // 10528..1052F; UNKNOWN
5611             0x10530,  // 10530..10563; CAUCASIAN_ALBANIAN
5612             0x10564,  // 10564..1056E; UNKNOWN
5613             0x1056F,  // 1056F       ; CAUCASIAN_ALBANIAN
5614             0x10570,  // 10570..105FF; UNKNOWN
5615             0x10600,  // 10600..10736; LINEAR_A
5616             0x10737,  // 10737..1073F; UNKNOWN
5617             0x10740,  // 10740..10755; LINEAR_A
5618             0x10756,  // 10756..1075F; UNKNOWN
5619             0x10760,  // 10760..10767; LINEAR_A
5620             0x10768,  // 10768..107FF; UNKNOWN
5621             0x10800,  // 10800..10805; CYPRIOT
5622             0x10806,  // 10806..10807; UNKNOWN
5623             0x10808,  // 10808       ; CYPRIOT
5624             0x10809,  // 10809       ; UNKNOWN
5625             0x1080A,  // 1080A..10835; CYPRIOT
5626             0x10836,  // 10836       ; UNKNOWN
5627             0x10837,  // 10837..10838; CYPRIOT
5628             0x10839,  // 10839..1083B; UNKNOWN


5711             0x11080,  // 11080..110C1; KAITHI
5712             0x110C2,  // 110C2..110CF; UNKNOWN
5713             0x110D0,  // 110D0..110E8; SORA_SOMPENG
5714             0x110E9,  // 110E9..110EF; UNKNOWN
5715             0x110F0,  // 110F0..110F9; SORA_SOMPENG
5716             0x110FA,  // 110FA..110FF; UNKNOWN
5717             0x11100,  // 11100..11134; CHAKMA
5718             0x11135,  // 11135       ; UNKNOWN
5719             0x11136,  // 11136..11143; CHAKMA
5720             0x11144,  // 11144..1114F; UNKNOWN
5721             0x11150,  // 11150..11176; MAHAJANI
5722             0x11177,  // 11177..1117F; UNKNOWN
5723             0x11180,  // 11180..111CD; SHARADA
5724             0x111CE,  // 111CE..111CF; UNKNOWN
5725             0x111D0,  // 111D0..111DF; SHARADA
5726             0x111E0,  // 111E0       ; UNKNOWN
5727             0x111E1,  // 111E1..111F4; SINHALA
5728             0x111F5,  // 111F5..111FF; UNKNOWN
5729             0x11200,  // 11200..11211; KHOJKI
5730             0x11212,  // 11212       ; UNKNOWN
5731             0x11213,  // 11213..1123E; KHOJKI
5732             0x1123F,  // 1123F..1127F; UNKNOWN
5733             0x11280,  // 11280..11286; MULTANI
5734             0x11287,  // 11287       ; UNKNOWN
5735             0x11288,  // 11288       ; MULTANI
5736             0x11289,  // 11289       ; UNKNOWN
5737             0x1128A,  // 1128A..1128D; MULTANI
5738             0x1128E,  // 1128E       ; UNKNOWN
5739             0x1128F,  // 1128F..1129D; MULTANI
5740             0x1129E,  // 1129E       ; UNKNOWN
5741             0x1129F,  // 1129F..112A9; MULTANI
5742             0x112AA,  // 112AA..112AF; UNKNOWN
5743             0x112B0,  // 112B0..112EA; KHUDAWADI
5744             0x112EB,  // 112EB..112EF; UNKNOWN
5745             0x112F0,  // 112F0..112F9; KHUDAWADI
5746             0x112FA,  // 112FA..112FF; UNKNOWN
5747             0x11300,  // 11300..11303; GRANTHA
5748             0x11304,  // 11304       ; UNKNOWN
5749             0x11305,  // 11305..1130C; GRANTHA
5750             0x1130D,  // 1130D..1130E; UNKNOWN
5751             0x1130F,  // 1130F..11310; GRANTHA
5752             0x11311,  // 11311..11312; UNKNOWN


5756             0x11331,  // 11331       ; UNKNOWN
5757             0x11332,  // 11332..11333; GRANTHA
5758             0x11334,  // 11334       ; UNKNOWN
5759             0x11335,  // 11335..11339; GRANTHA
5760             0x1133A,  // 1133A..1133B; UNKNOWN
5761             0x1133C,  // 1133C..11344; GRANTHA
5762             0x11345,  // 11345..11346; UNKNOWN
5763             0x11347,  // 11347..11348; GRANTHA
5764             0x11349,  // 11349..1134A; UNKNOWN
5765             0x1134B,  // 1134B..1134D; GRANTHA
5766             0x1134E,  // 1134E..1134F; UNKNOWN
5767             0x11350,  // 11350       ; GRANTHA
5768             0x11351,  // 11351..11356; UNKNOWN
5769             0x11357,  // 11357       ; GRANTHA
5770             0x11358,  // 11358..1135C; UNKNOWN
5771             0x1135D,  // 1135D..11363; GRANTHA
5772             0x11364,  // 11364..11365; UNKNOWN
5773             0x11366,  // 11366..1136C; GRANTHA
5774             0x1136D,  // 1136D..1136F; UNKNOWN
5775             0x11370,  // 11370..11374; GRANTHA
5776             0x11375,  // 11375..113FF; UNKNOWN
5777             0x11400,  // 11400..11459; NEWA
5778             0x1145A,  // 1145A       ; UNKNOWN
5779             0x1145B,  // 1145B       ; NEWA
5780             0x1145C,  // 1145C       ; UNKNOWN
5781             0x1145D,  // 1145D       ; NEWA
5782             0x1145E,  // 1145E..1147F; UNKNOWN
5783             0x11480,  // 11480..114C7; TIRHUTA
5784             0x114C8,  // 114C8..114CF; UNKNOWN
5785             0x114D0,  // 114D0..114D9; TIRHUTA
5786             0x114DA,  // 114DA..1157F; UNKNOWN
5787             0x11580,  // 11580..115B5; SIDDHAM
5788             0x115B6,  // 115B6..115B7; UNKNOWN
5789             0x115B8,  // 115B8..115DD; SIDDHAM
5790             0x115DE,  // 115DE..115FF; UNKNOWN
5791             0x11600,  // 11600..11644; MODI
5792             0x11645,  // 11645..1164F; UNKNOWN
5793             0x11650,  // 11650..11659; MODI
5794             0x1165A,  // 1165A..1165F; UNKNOWN
5795             0x11660,  // 11660..1166C; MONGOLIAN
5796             0X1166D,  // 1166D..1167F; UNKNOWN
5797             0x11680,  // 11680..116B7; TAKRI
5798             0x116B8,  // 116B8..116BF; UNKNOWN
5799             0x116C0,  // 116C0..116C9; TAKRI
5800             0x116CA,  // 116CA..116FF; UNKNOWN
5801             0x11700,  // 11700..11719; AHOM
5802             0x1171A,  // 1171A..1171C; UNKNOWN
5803             0x1171D,  // 1171D..1172B; AHOM
5804             0x1172C,  // 1172C..1172F; UNKNOWN
5805             0x11730,  // 11730..1173F; AHOM
5806             0x11740,  // 11740..1189F; UNKNOWN
5807             0x118A0,  // 118A0..118F2; WARANG_CITI
5808             0x118F3,  // 118F3..118FE; UNKNOWN
5809             0x118FF,  // 118FF       ; WARANG_CITI
5810             0x11900,  // 11900..119FF; UNKNOWN
5811             0x11A00,  // 11A00..11A47; ZANABAZAR_SQUARE
5812             0X11A48,  // 11A48..11A4F; UNKNOWN
5813             0x11A50,  // 11A50..11A83; SOYOMBO
5814             0x11A84,  // 11A84..11A85; UNKNOWN
5815             0x11A86,  // 11A86..11A9C; SOYOMBO
5816             0x11A9D,  // 11A9D       ; UNKNOWN
5817             0x11A9E,  // 11A9E..11AA2; SOYOMBO
5818             0x11AA3,  // 11AA3..11ABF; UNKNOWN
5819             0x11AC0,  // 11AC0..11AF8; PAU_CIN_HAU
5820             0x11AF9,  // 11AF9..11BFF; UNKNOWN
5821             0x11C00,  // 11C00..11C08; BHAIKSUKI
5822             0x11C09,  // 11C09       ; UNKNOWN
5823             0x11C0A,  // 11C0A..11C36; BHAIKSUKI
5824             0x11C37,  // 11C37       ; UNKNOWN
5825             0x11C38,  // 11C38..11C45; BHAIKSUKI
5826             0x11C46,  // 11C46..11C49; UNKNOWN
5827             0x11C50,  // 11C50..11C6C; BHAIKSUKI
5828             0x11C6D,  // 11C6D..11C6F; UNKNOWN
5829             0x11C70,  // 11C70..11C8F; MARCHEN
5830             0x11C90,  // 11C90..11C91; UNKNOWN
5831             0x11C92,  // 11C92..11CA7; MARCHEN
5832             0x11CA8,  // 11CA8       ; UNKNOWN
5833             0x11CA9,  // 11CA9..11CB6; MARCHEN
5834             0x11CB7,  // 11CB7..11CFF; UNKNOWN
5835             0x11D00,  // 11D00..11D06; MASARAM_GONDI
5836             0x11D07,  // 11D07       ; UNKNOWN
5837             0x11D08,  // 11D08..11D09; MASARAM_GONDI
5838             0x11D0A,  // 11D0A       ; UNKNOWN
5839             0x11D0B,  // 11D0B..11D36; MASARAM_GONDI
5840             0x11D37,  // 11D37..11D39; UNKNOWN
5841             0x11D3A,  // 11D3A       ; MASARAM_GONDI
5842             0x11D3B,  // 11D3B       ; UNKNOWN
5843             0x11D3C,  // 11D3C..11D3D; MASARAM_GONDI
5844             0x11D3E,  // 11D3E       ; UNKNOWN
5845             0x11D3F,  // 11D3F..11D47; MASARAM_GONDI
5846             0x11D48,  // 11D48..11D49, UNKNOWN
5847             0x11D50,  // 11D50..11D59; MASARAM_GONDI
5848             0x11D5A,  // 11D5A..1AFFF; UNKNOWN
5849             0x12000,  // 12000..12399; CUNEIFORM
5850             0x1239A,  // 1239A..123FF; UNKNOWN
5851             0x12400,  // 12400..1246E; CUNEIFORM
5852             0x1246F,  // 1246F       ; UNKNOWN
5853             0x12470,  // 12470..12474; CUNEIFORM
5854             0x12475,  // 12475..1247F; UNKNOWN
5855             0x12480,  // 12480..12543; CUNEIFORM
5856             0x12544,  // 12544..12FFF; UNKNOWN
5857             0x13000,  // 13000..1342E; EGYPTIAN_HIEROGLYPHS
5858             0x1342F,  // 1342F..143FF; UNKNOWN
5859             0x14400,  // 14400..14646; ANATOLIAN_HIEROGLYPHS
5860             0x14647,  // 14647..167FF; UNKNOWN
5861             0x16800,  // 16800..16A38; BAMUM
5862             0x16A39,  // 16A39..16A3F; UNKNOWN
5863             0x16A40,  // 16A40..16A5E; MRO
5864             0x16A5F,  // 16A5F       ; UNKNOWN
5865             0x16A60,  // 16A60..16A69; MRO
5866             0x16A6A,  // 16A6A..16A6D; UNKNOWN
5867             0x16A6E,  // 16A6E..16A6F; MRO
5868             0x16A70,  // 16A70..16ACF; UNKNOWN
5869             0x16AD0,  // 16AD0..16AED; BASSA_VAH
5870             0x16AEE,  // 16AEE..16AEF; UNKNOWN
5871             0x16AF0,  // 16AF0..16AF5; BASSA_VAH
5872             0x16AF6,  // 16AF6..16AFF; UNKNOWN
5873             0x16B00,  // 16B00..16B45; PAHAWH_HMONG
5874             0x16B46,  // 16B46..16B4F; UNKNOWN
5875             0x16B50,  // 16B50..16B59; PAHAWH_HMONG
5876             0x16B5A,  // 16B5A       ; UNKNOWN
5877             0x16B5B,  // 16B5B..16B61; PAHAWH_HMONG
5878             0x16B62,  // 16B62       ; UNKNOWN
5879             0x16B63,  // 16B63..16B77; PAHAWH_HMONG
5880             0x16B78,  // 16B78..16B7C; UNKNOWN
5881             0x16B7D,  // 16B7D..16B8F; PAHAWH_HMONG
5882             0x16B90,  // 16B90..16EFF; UNKNOWN
5883             0x16F00,  // 16F00..16F44; MIAO
5884             0x16F45,  // 16F45..16F4F; UNKNOWN
5885             0x16F50,  // 16F50..16F7E; MIAO
5886             0x16F7F,  // 16F7F..16F8E; UNKNOWN
5887             0x16F8F,  // 16F8F..16F9F; MIAO
5888             0x16FA0,  // 16FA0..16FDF; UNKNOWN
5889             0x16FE0,  // 16FE0       ; TANGUT
5890             0x16FE1,  // 16FE1       ; NUSHU
5891             0x16FE2,  // 16FE2..16FFF; UNKNOWN
5892             0x17000,  // 17000..187EC; TANGUT
5893             0x187ED,  // 187ED..187FF; UNKNOWN
5894             0x18800,  // 18800..18AF2; TANGUT
5895             0x18AF3,  // 18AF3..1AFFF; UNKNOWN
5896             0x1B000,  // 1B000       ; KATAKANA
5897             0x1B001,  // 1B001..1B11E; HIRAGANA
5898             0x1B11F,  // 1B11F..1B16F; UNKNOWN
5899             0x1B170,  // 1B170..1B2FB; NUSHU
5900             0x1B2FC,  // 1B2FC..1BBFF; UNKNOWN
5901             0x1BC00,  // 1BC00..1BC6A; DUPLOYAN
5902             0x1BC6B,  // 1BC6B..1BC6F; UNKNOWN
5903             0x1BC70,  // 1BC70..1BC7C; DUPLOYAN
5904             0x1BC7D,  // 1BC7D..1BC7F; UNKNOWN
5905             0x1BC80,  // 1BC80..1BC88; DUPLOYAN
5906             0x1BC89,  // 1BC89..1BC8F; UNKNOWN
5907             0x1BC90,  // 1BC90..1BC99; DUPLOYAN
5908             0x1BC9A,  // 1BC9A..1BC9B; UNKNOWN
5909             0x1BC9C,  // 1BC9C..1BC9F; DUPLOYAN
5910             0x1BCA0,  // 1BCA0..1BCA3; COMMON
5911             0x1BCA4,  // 1BCA4..1CFFF; UNKNOWN
5912             0x1D000,  // 1D000..1D0F5; COMMON
5913             0x1D0F6,  // 1D0F6..1D0FF; UNKNOWN
5914             0x1D100,  // 1D100..1D126; COMMON
5915             0x1D127,  // 1D127..1D128; UNKNOWN
5916             0x1D129,  // 1D129..1D166; COMMON
5917             0x1D167,  // 1D167..1D169; INHERITED
5918             0x1D16A,  // 1D16A..1D17A; COMMON
5919             0x1D17B,  // 1D17B..1D182; INHERITED
5920             0x1D183,  // 1D183..1D184; COMMON


5958             0x1D51E,  // 1D51E..1D539; COMMON
5959             0x1D53A,  // 1D53A       ; UNKNOWN
5960             0x1D53B,  // 1D53B..1D53E; COMMON
5961             0x1D53F,  // 1D53F       ; UNKNOWN
5962             0x1D540,  // 1D540..1D544; COMMON
5963             0x1D545,  // 1D545       ; UNKNOWN
5964             0x1D546,  // 1D546       ; COMMON
5965             0x1D547,  // 1D547..1D549; UNKNOWN
5966             0x1D54A,  // 1D54A..1D550; COMMON
5967             0x1D551,  // 1D551       ; UNKNOWN
5968             0x1D552,  // 1D552..1D6A5; COMMON
5969             0x1D6A6,  // 1D6A6..1D6A7; UNKNOWN
5970             0x1D6A8,  // 1D6A8..1D7CB; COMMON
5971             0x1D7CC,  // 1D7CC..1D7CD; UNKNOWN
5972             0x1D7CE,  // 1D7CE..1D7FF; COMMON
5973             0x1D800,  // 1D800..1DA8B; SIGNWRITING
5974             0x1DA8C,  // 1DA8C..1DA9A; UNKNOWN
5975             0x1DA9B,  // 1DA9B..1DA9F; SIGNWRITING
5976             0x1DAA0,  // 1DAA0       ; UNKNOWN
5977             0x1DAA1,  // 1DAA1..1DAAF; SIGNWRITING
5978             0x1DAB0,  // 1DAB0..1DFFF; UNKNOWN
5979             0x1E000,  // 1E000..1E006; GLAGOLITIC
5980             0x1E007,  // 1E007       ; UNKNOWN
5981             0x1E008,  // 1E008..1E018; GLAGOLITIC
5982             0x1E019,  // 1E019..1E01A; UNKNOWN
5983             0x1E01B,  // 1E01B..1E021; GLAGOLITIC
5984             0x1E022,  // 1E022       ; UNKNOWN
5985             0x1E023,  // 1E023..1E024; GLAGOLITIC
5986             0x1E025,  // 1E025       ; UNKNOWN
5987             0x1E026,  // 1E026..1E02A; GLAGOLITIC
5988             0x1E02B,  // 1E02B..1E7FF; UNKNOWN
5989             0x1E800,  // 1E800..1E8C4; MENDE_KIKAKUI
5990             0x1E8C5,  // 1E8C5..1E8C6; UNKNOWN
5991             0x1E8C7,  // 1E8C7..1E8D6; MENDE_KIKAKUI
5992             0x1E8D7,  // 1E8D7..1E8FF; UNKNOWN
5993             0x1E900,  // 1E900..1E94A; ADLAM
5994             0x1E94B,  // 1E94B..1E94F; UNKNOWN
5995             0x1E950,  // 1E950..1E959; ADLAM
5996             0x1E95A,  // 1E95A..1E95D; UNKNOWN
5997             0x1E95E,  // 1E95E..1E95F; ADLAM
5998             0x1E960,  // 1E960..1EDFF; UNKNOWN
5999             0x1EE00,  // 1EE00..1EE03; ARABIC
6000             0x1EE04,  // 1EE04       ; UNKNOWN
6001             0x1EE05,  // 1EE05..1EE1F; ARABIC
6002             0x1EE20,  // 1EE20       ; UNKNOWN
6003             0x1EE21,  // 1EE21..1EE22; ARABIC
6004             0x1EE23,  // 1EE23       ; UNKNOWN
6005             0x1EE24,  // 1EE24       ; ARABIC
6006             0x1EE25,  // 1EE25..1EE26; UNKNOWN
6007             0x1EE27,  // 1EE27       ; ARABIC
6008             0x1EE28,  // 1EE28       ; UNKNOWN
6009             0x1EE29,  // 1EE29..1EE32; ARABIC
6010             0x1EE33,  // 1EE33       ; UNKNOWN
6011             0x1EE34,  // 1EE34..1EE37; ARABIC
6012             0x1EE38,  // 1EE38       ; UNKNOWN
6013             0x1EE39,  // 1EE39       ; ARABIC
6014             0x1EE3A,  // 1EE3A       ; UNKNOWN
6015             0x1EE3B,  // 1EE3B       ; ARABIC
6016             0x1EE3C,  // 1EE3C..1EE41; UNKNOWN
6017             0x1EE42,  // 1EE42       ; ARABIC
6018             0x1EE43,  // 1EE43..1EE46; UNKNOWN


6065             0x1EEF0,  // 1EEF0..1EEF1; ARABIC
6066             0x1EEF2,  // 1EEF2..1EFFF; UNKNOWN
6067             0x1F000,  // 1F000..1F02B; COMMON
6068             0x1F02C,  // 1F02C..1F02F; UNKNOWN
6069             0x1F030,  // 1F030..1F093; COMMON
6070             0x1F094,  // 1F094..1F09F; UNKNOWN
6071             0x1F0A0,  // 1F0A0..1F0AE; COMMON
6072             0x1F0AF,  // 1F0AF..1F0B0; UNKNOWN
6073             0x1F0B1,  // 1F0B1..1F0BF; COMMON
6074             0x1F0C0,  // 1F0C0       ; UNKNOWN
6075             0x1F0C1,  // 1F0C1..1F0CF; COMMON
6076             0x1F0D0,  // 1F0D0       ; UNKNOWN
6077             0x1F0D1,  // 1F0D1..1F0F5; COMMON
6078             0x1F0F6,  // 1F0F6..1F0FF; UNKNOWN
6079             0x1F100,  // 1F100..1F10C; COMMON
6080             0x1F10D,  // 1F10D..1F10F; UNKNOWN
6081             0x1F110,  // 1F110..1F12E; COMMON
6082             0x1F12F,  // 1F12F       ; UNKNOWN
6083             0x1F130,  // 1F130..1F16B; COMMON
6084             0x1F16C,  // 1F16C..1F16F; UNKNOWN
6085             0x1F170,  // 1F170..1F1AC; COMMON
6086             0x1F1AD,  // 1F1AD..1F1E5; UNKNOWN
6087             0x1F1E6,  // 1F1E6..1F1FF; COMMON
6088             0x1F200,  // 1F200       ; HIRAGANA
6089             0x1F201,  // 1F201..1F202; COMMON
6090             0x1F203,  // 1F203..1F20F; UNKNOWN
6091             0x1F210,  // 1F210..1F23B; COMMON
6092             0x1F23C,  // 1F23C..1F23F; UNKNOWN
6093             0x1F240,  // 1F240..1F248; COMMON
6094             0x1F249,  // 1F249..1F24F; UNKNOWN
6095             0x1F250,  // 1F250..1F251; COMMON
6096             0x1F252,  // 1F252..1F25F; UNKNOWN
6097             0x1F260,  // 1F260..1F265; COMMON
6098             0x1F266,  // 1F266..1F2FF; UNKNOWN
6099             0x1F300,  // 1F300..1F6D4; COMMON
6100             0x1F6D5,  // 1F6D5..1F6DF; UNKNOWN


6101             0x1F6E0,  // 1F6E0..1F6EC; COMMON
6102             0x1F6ED,  // 1F6ED..1F6EF; UNKNOWN
6103             0x1F6F0,  // 1F6F0..1F6F8; COMMON
6104             0x1F6F9,  // 1F6F9..1F6FF; UNKNOWN
6105             0x1F700,  // 1F700..1F773; COMMON
6106             0x1F774,  // 1F774..1F77F; UNKNOWN
6107             0x1F780,  // 1F780..1F7D4; COMMON
6108             0x1F7D5,  // 1F7D5..1F7FF; UNKNOWN
6109             0x1F800,  // 1F800..1F80B; COMMON
6110             0x1F80C,  // 1F80C..1F80F; UNKNOWN
6111             0x1F810,  // 1F810..1F847; COMMON
6112             0x1F848,  // 1F848..1F84F; UNKNOWN
6113             0x1F850,  // 1F850..1F859; COMMON
6114             0x1F85A,  // 1F85A..1F85F; UNKNOWN
6115             0x1F860,  // 1F860..1F887; COMMON
6116             0x1F888,  // 1F888..1F88F; UNKNOWN
6117             0x1F890,  // 1F890..1F8AD; COMMON
6118             0x1F8AE,  // 1F8AE..1F8FF; UNKNOWN
6119             0x1F900,  // 1F900..1F90B; COMMON
6120             0x1F90C,  // 1F90C..1F90F; UNKNOWN
6121             0x1F910,  // 1F910..1F93E; COMMON
6122             0x1F93F,  // 1F93F       ; UNKNOWN
6123             0x1F940,  // 1F940..1F94C; COMMON
6124             0x1F94D,  // 1F94D..1F94F; UNKNOWN
6125             0x1F950,  // 1F950..1F96B; COMMON
6126             0x1F96C,  // 1F96C..1F97F; UNKNOWN
6127             0x1F980,  // 1F980..1F997; COMMON
6128             0x1F998,  // 1F998..1F9BF; UNKNOWN
6129             0x1F9C0,  // 1F9C0       ; COMMON
6130             0x1F9C1,  // 1F9C1..1F9CF; UNKNOWN
6131             0x1F9D0,  // 1F9D0..1F9E6; COMMON
6132             0x1F9E7,  // 1F9E7..1FFFF; UNKNOWN
6133             0x20000,  // 20000..2A6D6; HAN
6134             0x2A6D7,  // 2A6D7..2A6FF; UNKNOWN
6135             0x2A700,  // 2A700..2B734; HAN
6136             0x2B735,  // 2B735..2B73F; UNKNOWN
6137             0x2B740,  // 2B740..2B81D; HAN
6138             0x2B81E,  // 2B81E..2B81F; UNKNOWN
6139             0x2B820,  // 2B820..2CEA1; HAN
6140             0x2CEA2,  // 2CEA2..2CEAF; UNKNOWN
6141             0x2CEB0,  // 2CEB0..2EBE0; HAN
6142             0x2EBE1,  // 2EBE1..2F7FF; UNKNOWN
6143             0x2F800,  // 2F800..2FA1D; HAN
6144             0x2FA1E,  // 2FA1E..E0000; UNKNOWN
6145             0xE0001,  // E0001       ; COMMON
6146             0xE0002,  // E0002..E001F; UNKNOWN
6147             0xE0020,  // E0020..E007F; COMMON
6148             0xE0080,  // E0080..E00FF; UNKNOWN
6149             0xE0100,  // E0100..E01EF; INHERITED
6150             0xE01F0   // E01F0..10FFFF; UNKNOWN
6151         };
6152 
6153         private static final UnicodeScript[] scripts = {
6154             COMMON,                   // 0000..0040
6155             LATIN,                    // 0041..005A
6156             COMMON,                   // 005B..0060
6157             LATIN,                    // 0061..007A
6158             COMMON,                   // 007B..00A9
6159             LATIN,                    // 00AA
6160             COMMON,                   // 00AB..00B9
6161             LATIN,                    // 00BA
6162             COMMON,                   // 00BB..00BF


6201             ARMENIAN,                 // 0559..055F
6202             UNKNOWN,                  // 0560
6203             ARMENIAN,                 // 0561..0587
6204             UNKNOWN,                  // 0588
6205             COMMON,                   // 0589
6206             ARMENIAN,                 // 058A
6207             UNKNOWN,                  // 058B..058C
6208             ARMENIAN,                 // 058D..058F
6209             UNKNOWN,                  // 0590
6210             HEBREW,                   // 0591..05C7
6211             UNKNOWN,                  // 05C8..05CF
6212             HEBREW,                   // 05D0..05EA
6213             UNKNOWN,                  // 05EB..05EF
6214             HEBREW,                   // 05F0..05F4
6215             UNKNOWN,                  // 05F5..05FF
6216             ARABIC,                   // 0600..0604
6217             COMMON,                   // 0605
6218             ARABIC,                   // 0606..060B
6219             COMMON,                   // 060C
6220             ARABIC,                   // 060D..061A
6221             COMMON,                   // 061B
6222             ARABIC,                   // 061C
6223             UNKNOWN,                  // 061D
6224             ARABIC,                   // 061E
6225             COMMON,                   // 061F
6226             ARABIC,                   // 0620..063F
6227             COMMON,                   // 0640
6228             ARABIC,                   // 0641..064A
6229             INHERITED,                // 064B..0655
6230             ARABIC,                   // 0656..066F
6231             INHERITED,                // 0670
6232             ARABIC,                   // 0671..06DC
6233             COMMON,                   // 06DD
6234             ARABIC,                   // 06DE..06FF
6235             SYRIAC,                   // 0700..070D
6236             UNKNOWN,                  // 070E
6237             SYRIAC,                   // 070F..074A
6238             UNKNOWN,                  // 074B..074C
6239             SYRIAC,                   // 074D..074F
6240             ARABIC,                   // 0750..077F
6241             THAANA,                   // 0780..07B1
6242             UNKNOWN,                  // 07B2..07BF
6243             NKO,                      // 07C0..07FA
6244             UNKNOWN,                  // 07FB..07FF
6245             SAMARITAN,                // 0800..082D
6246             UNKNOWN,                  // 082E..082F
6247             SAMARITAN,                // 0830..083E
6248             UNKNOWN,                  // 083F
6249             MANDAIC,                  // 0840..085B
6250             UNKNOWN,                  // 085C..085D
6251             MANDAIC,                  // 085E
6252             UNKNOWN,                  // 085F
6253             SYRIAC,                   // 0860..086A
6254             UNKNOWN,                  // 086B..089F
6255             ARABIC,                   // 08A0..08B4
6256             UNKNOWN,                  // 08B5
6257             ARABIC,                   // 08B6..08BD
6258             UNKNOWN,                  // 08BE..08D3
6259             ARABIC,                   // 08D4..08E1
6260             COMMON,                   // 08E2
6261             ARABIC,                   // 08E3..08FF
6262             DEVANAGARI,               // 0900..0950
6263             INHERITED,                // 0951..0952
6264             DEVANAGARI,               // 0953..0963
6265             COMMON,                   // 0964..0965
6266             DEVANAGARI,               // 0966..097F
6267             BENGALI,                  // 0980..0983
6268             UNKNOWN,                  // 0984
6269             BENGALI,                  // 0985..098C
6270             UNKNOWN,                  // 098D..098E
6271             BENGALI,                  // 098F..0990
6272             UNKNOWN,                  // 0991..0992
6273             BENGALI,                  // 0993..09A8
6274             UNKNOWN,                  // 09A9
6275             BENGALI,                  // 09AA..09B0
6276             UNKNOWN,                  // 09B1
6277             BENGALI,                  // 09B2
6278             UNKNOWN,                  // 09B3..09B5
6279             BENGALI,                  // 09B6..09B9
6280             UNKNOWN,                  // 09BA..09BB
6281             BENGALI,                  // 09BC..09C4
6282             UNKNOWN,                  // 09C5..09C6
6283             BENGALI,                  // 09C7..09C8
6284             UNKNOWN,                  // 09C9..09CA
6285             BENGALI,                  // 09CB..09CE
6286             UNKNOWN,                  // 09CF..09D6
6287             BENGALI,                  // 09D7
6288             UNKNOWN,                  // 09D8..09DB
6289             BENGALI,                  // 09DC..09DD
6290             UNKNOWN,                  // 09DE
6291             BENGALI,                  // 09DF..09E3
6292             UNKNOWN,                  // 09E4..09E5
6293             BENGALI,                  // 09E6..09FD
6294             UNKNOWN,                  // 09FE..0A00
6295             GURMUKHI,                 // 0A01..0A03
6296             UNKNOWN,                  // 0A04
6297             GURMUKHI,                 // 0A05..0A0A
6298             UNKNOWN,                  // 0A0B..0A0E
6299             GURMUKHI,                 // 0A0F..0A10
6300             UNKNOWN,                  // 0A11..0A12
6301             GURMUKHI,                 // 0A13..0A28
6302             UNKNOWN,                  // 0A29
6303             GURMUKHI,                 // 0A2A..0A30
6304             UNKNOWN,                  // 0A31
6305             GURMUKHI,                 // 0A32..0A33
6306             UNKNOWN,                  // 0A34
6307             GURMUKHI,                 // 0A35..0A36
6308             UNKNOWN,                  // 0A37
6309             GURMUKHI,                 // 0A38..0A39
6310             UNKNOWN,                  // 0A3A..0A3B
6311             GURMUKHI,                 // 0A3C
6312             UNKNOWN,                  // 0A3D
6313             GURMUKHI,                 // 0A3E..0A42
6314             UNKNOWN,                  // 0A43..0A46


6333             GUJARATI,                 // 0A93..0AA8
6334             UNKNOWN,                  // 0AA9
6335             GUJARATI,                 // 0AAA..0AB0
6336             UNKNOWN,                  // 0AB1
6337             GUJARATI,                 // 0AB2..0AB3
6338             UNKNOWN,                  // 0AB4
6339             GUJARATI,                 // 0AB5..0AB9
6340             UNKNOWN,                  // 0ABA..0ABB
6341             GUJARATI,                 // 0ABC..0AC5
6342             UNKNOWN,                  // 0AC6
6343             GUJARATI,                 // 0AC7..0AC9
6344             UNKNOWN,                  // 0ACA
6345             GUJARATI,                 // 0ACB..0ACD
6346             UNKNOWN,                  // 0ACE..0ACF
6347             GUJARATI,                 // 0AD0
6348             UNKNOWN,                  // 0AD1..0ADF
6349             GUJARATI,                 // 0AE0..0AE3
6350             UNKNOWN,                  // 0AE4..0AE5
6351             GUJARATI,                 // 0AE6..0AF1
6352             UNKNOWN,                  // 0AF2..0AF8
6353             GUJARATI,                 // 0AF9..0AFF
6354             UNKNOWN,                  // 0B00
6355             ORIYA,                    // 0B01..0B03
6356             UNKNOWN,                  // 0B04
6357             ORIYA,                    // 0B05..0B0C
6358             UNKNOWN,                  // 0B0D..0B0E
6359             ORIYA,                    // 0B0F..0B10
6360             UNKNOWN,                  // 0B11..0B12
6361             ORIYA,                    // 0B13..0B28
6362             UNKNOWN,                  // 0B29
6363             ORIYA,                    // 0B2A..0B30
6364             UNKNOWN,                  // 0B31
6365             ORIYA,                    // 0B32..0B33
6366             UNKNOWN,                  // 0B34
6367             ORIYA,                    // 0B35..0B39
6368             UNKNOWN,                  // 0B3A..0B3B
6369             ORIYA,                    // 0B3C..0B44
6370             UNKNOWN,                  // 0B45..0B46
6371             ORIYA,                    // 0B47..0B48
6372             UNKNOWN,                  // 0B49..0B4A
6373             ORIYA,                    // 0B4B..0B4D
6374             UNKNOWN,                  // 0B4E..0B55


6420             UNKNOWN,                  // 0C11
6421             TELUGU,                   // 0C12..0C28
6422             UNKNOWN,                  // 0C29
6423             TELUGU,                   // 0C2A..0C39
6424             UNKNOWN,                  // 0C3A..0C3C
6425             TELUGU,                   // 0C3D..0C44
6426             UNKNOWN,                  // 0C45
6427             TELUGU,                   // 0C46..0C48
6428             UNKNOWN,                  // 0C49
6429             TELUGU,                   // 0C4A..0C4D
6430             UNKNOWN,                  // 0C4E..0C54
6431             TELUGU,                   // 0C55..0C56
6432             UNKNOWN,                  // 0C57
6433             TELUGU,                   // 0C58..0C5A
6434             UNKNOWN,                  // 0C5B..0C5F
6435             TELUGU,                   // 0C60..0C63
6436             UNKNOWN,                  // 0C64..0C65
6437             TELUGU,                   // 0C66..0C6F
6438             UNKNOWN,                  // 0C70..0C77
6439             TELUGU,                   // 0C78..0C7F
6440             KANNADA,                  // 0C80..0C83

6441             UNKNOWN,                  // 0C84
6442             KANNADA,                  // 0C85..0C8C
6443             UNKNOWN,                  // 0C8D
6444             KANNADA,                  // 0C8E..0C90
6445             UNKNOWN,                  // 0C91
6446             KANNADA,                  // 0C92..0CA8
6447             UNKNOWN,                  // 0CA9
6448             KANNADA,                  // 0CAA..0CB3
6449             UNKNOWN,                  // 0CB4
6450             KANNADA,                  // 0CB5..0CB9
6451             UNKNOWN,                  // 0CBA..0CBB
6452             KANNADA,                  // 0CBC..0CC4
6453             UNKNOWN,                  // 0CC5
6454             KANNADA,                  // 0CC6..0CC8
6455             UNKNOWN,                  // 0CC9
6456             KANNADA,                  // 0CCA..0CCD
6457             UNKNOWN,                  // 0CCE..0CD4
6458             KANNADA,                  // 0CD5..0CD6
6459             UNKNOWN,                  // 0CD7..0CDD
6460             KANNADA,                  // 0CDE
6461             UNKNOWN,                  // 0CDF
6462             KANNADA,                  // 0CE0..0CE3
6463             UNKNOWN,                  // 0CE4..0CE5
6464             KANNADA,                  // 0CE6..0CEF
6465             UNKNOWN,                  // 0CF0
6466             KANNADA,                  // 0CF1..0CF2
6467             UNKNOWN,                  // 0CF3..0CFF
6468             MALAYALAM,                // 0D00..0D03
6469             UNKNOWN,                  // 0D04
6470             MALAYALAM,                // 0D05..0D0C
6471             UNKNOWN,                  // 0D0D
6472             MALAYALAM,                // 0D0E..0D10
6473             UNKNOWN,                  // 0D11
6474             MALAYALAM,                // 0D12..0D44


6475             UNKNOWN,                  // 0D45
6476             MALAYALAM,                // 0D46..0D48
6477             UNKNOWN,                  // 0D49
6478             MALAYALAM,                // 0D4A..0D4F
6479             UNKNOWN,                  // 0D50..0D53
6480             MALAYALAM,                // 0D54..0D63


6481             UNKNOWN,                  // 0D64..0D65
6482             MALAYALAM,                // 0D66..0D7F


6483             UNKNOWN,                  // 0D80..0D81
6484             SINHALA,                  // 0D82..0D83
6485             UNKNOWN,                  // 0D84
6486             SINHALA,                  // 0D85..0D96
6487             UNKNOWN,                  // 0D97..0D99
6488             SINHALA,                  // 0D9A..0DB1
6489             UNKNOWN,                  // 0DB2
6490             SINHALA,                  // 0DB3..0DBB
6491             UNKNOWN,                  // 0DBC
6492             SINHALA,                  // 0DBD
6493             UNKNOWN,                  // 0DBE..0DBF
6494             SINHALA,                  // 0DC0..0DC6
6495             UNKNOWN,                  // 0DC7..0DC9
6496             SINHALA,                  // 0DCA
6497             UNKNOWN,                  // 0DCB..0DCE
6498             SINHALA,                  // 0DCF..0DD4
6499             UNKNOWN,                  // 0DD5
6500             SINHALA,                  // 0DD6
6501             UNKNOWN,                  // 0DD7
6502             SINHALA,                  // 0DD8..0DDF


6686             TAI_THAM,                 // 1A90..1A99
6687             UNKNOWN,                  // 1A9A..1A9F
6688             TAI_THAM,                 // 1AA0..1AAD
6689             UNKNOWN,                  // 1AAE..1AAF
6690             INHERITED,                // 1AB0..1ABE
6691             UNKNOWN,                  // 1ABF..1AFF
6692             BALINESE,                 // 1B00..1B4B
6693             UNKNOWN,                  // 1B4C..1B4F
6694             BALINESE,                 // 1B50..1B7C
6695             UNKNOWN,                  // 1B7D..1B7F
6696             SUNDANESE,                // 1B80..1BBF
6697             BATAK,                    // 1BC0..1BF3
6698             UNKNOWN,                  // 1BF4..1BFB
6699             BATAK,                    // 1BFC..1BFF
6700             LEPCHA,                   // 1C00..1C37
6701             UNKNOWN,                  // 1C38..1C3A
6702             LEPCHA,                   // 1C3B..1C49
6703             UNKNOWN,                  // 1C4A..1C4C
6704             LEPCHA,                   // 1C4D..1C4F
6705             OL_CHIKI,                 // 1C50..1C7F
6706             CYRILLIC,                 // 1C80..1C88
6707             UNKNOWN,                  // 1C89..1CBF
6708             SUNDANESE,                // 1CC0..1CC7
6709             UNKNOWN,                  // 1CC8..1CCF
6710             INHERITED,                // 1CD0..1CD2
6711             COMMON,                   // 1CD3
6712             INHERITED,                // 1CD4..1CE0
6713             COMMON,                   // 1CE1
6714             INHERITED,                // 1CE2..1CE8
6715             COMMON,                   // 1CE9..1CEC
6716             INHERITED,                // 1CED
6717             COMMON,                   // 1CEE..1CF3
6718             INHERITED,                // 1CF4
6719             COMMON,                   // 1CF5..1CF7

6720             INHERITED,                // 1CF8..1CF9
6721             UNKNOWN,                  // 1CFA..1CFF
6722             LATIN,                    // 1D00..1D25
6723             GREEK,                    // 1D26..1D2A
6724             CYRILLIC,                 // 1D2B
6725             LATIN,                    // 1D2C..1D5C
6726             GREEK,                    // 1D5D..1D61
6727             LATIN,                    // 1D62..1D65
6728             GREEK,                    // 1D66..1D6A
6729             LATIN,                    // 1D6B..1D77
6730             CYRILLIC,                 // 1D78
6731             LATIN,                    // 1D79..1DBE
6732             GREEK,                    // 1DBF
6733             INHERITED,                // 1DC0..1DF9
6734             UNKNOWN,                  // 1DFA
6735             INHERITED,                // 1DFB..1DFF
6736             LATIN,                    // 1E00..1EFF
6737             GREEK,                    // 1F00..1F15
6738             UNKNOWN,                  // 1F16..1F17
6739             GREEK,                    // 1F18..1F1D
6740             UNKNOWN,                  // 1F1E..1F1F
6741             GREEK,                    // 1F20..1F45
6742             UNKNOWN,                  // 1F46..1F47
6743             GREEK,                    // 1F48..1F4D
6744             UNKNOWN,                  // 1F4E..1F4F
6745             GREEK,                    // 1F50..1F57
6746             UNKNOWN,                  // 1F58
6747             GREEK,                    // 1F59
6748             UNKNOWN,                  // 1F5A
6749             GREEK,                    // 1F5B
6750             UNKNOWN,                  // 1F5C
6751             GREEK,                    // 1F5D
6752             UNKNOWN,                  // 1F5E
6753             GREEK,                    // 1F5F..1F7D
6754             UNKNOWN,                  // 1F7E..1F7F
6755             GREEK,                    // 1F80..1FB4


6762             UNKNOWN,                  // 1FDC
6763             GREEK,                    // 1FDD..1FEF
6764             UNKNOWN,                  // 1FF0..1FF1
6765             GREEK,                    // 1FF2..1FF4
6766             UNKNOWN,                  // 1FF5
6767             GREEK,                    // 1FF6..1FFE
6768             UNKNOWN,                  // 1FFF
6769             COMMON,                   // 2000..200B
6770             INHERITED,                // 200C..200D
6771             COMMON,                   // 200E..2064
6772             UNKNOWN,                  // 2065
6773             COMMON,                   // 2066..2070
6774             LATIN,                    // 2071
6775             UNKNOWN,                  // 2072..2073
6776             COMMON,                   // 2074..207E
6777             LATIN,                    // 207F
6778             COMMON,                   // 2080..208E
6779             UNKNOWN,                  // 208F
6780             LATIN,                    // 2090..209C
6781             UNKNOWN,                  // 209D..209F
6782             COMMON,                   // 20A0..20BF
6783             UNKNOWN,                  // 20C0..20CF
6784             INHERITED,                // 20D0..20F0
6785             UNKNOWN,                  // 20F1..20FF
6786             COMMON,                   // 2100..2125
6787             GREEK,                    // 2126
6788             COMMON,                   // 2127..2129
6789             LATIN,                    // 212A..212B
6790             COMMON,                   // 212C..2131
6791             LATIN,                    // 2132
6792             COMMON,                   // 2133..214D
6793             LATIN,                    // 214E
6794             COMMON,                   // 214F..215F
6795             LATIN,                    // 2160..2188
6796             COMMON,                   // 2189..218B
6797             UNKNOWN,                  // 218C..218F
6798             COMMON,                   // 2190..2426


6799             UNKNOWN,                  // 2427..243F
6800             COMMON,                   // 2440..244A
6801             UNKNOWN,                  // 244B..245F
6802             COMMON,                   // 2460..27FF
6803             BRAILLE,                  // 2800..28FF
6804             COMMON,                   // 2900..2B73
6805             UNKNOWN,                  // 2B74..2B75
6806             COMMON,                   // 2B76..2B95
6807             UNKNOWN,                  // 2B96..2B97
6808             COMMON,                   // 2B98..2BB9
6809             UNKNOWN,                  // 2BBA..2BBC
6810             COMMON,                   // 2BBD..2BC8
6811             UNKNOWN,                  // 2BC9
6812             COMMON,                   // 2BCA..2BD2
6813             UNKNOWN,                  // 2BD3..2BEB
6814             COMMON,                   // 2BEC..2BEF
6815             UNKNOWN,                  // 2BF0..2BFF
6816             GLAGOLITIC,               // 2C00..2C2E
6817             UNKNOWN,                  // 2C2F
6818             GLAGOLITIC,               // 2C30..2C5E
6819             UNKNOWN,                  // 2C5F
6820             LATIN,                    // 2C60..2C7F
6821             COPTIC,                   // 2C80..2CF3
6822             UNKNOWN,                  // 2CF4..2CF8
6823             COPTIC,                   // 2CF9..2CFF
6824             GEORGIAN,                 // 2D00..2D25
6825             UNKNOWN,                  // 2D26
6826             GEORGIAN,                 // 2D27
6827             UNKNOWN,                  // 2D28..2D2C
6828             GEORGIAN,                 // 2D2D
6829             UNKNOWN,                  // 2D2E..2D2F
6830             TIFINAGH,                 // 2D30..2D67
6831             UNKNOWN,                  // 2D68..2D6E
6832             TIFINAGH,                 // 2D6F..2D70
6833             UNKNOWN,                  // 2D71..2D7E
6834             TIFINAGH,                 // 2D7F
6835             ETHIOPIC,                 // 2D80..2D96
6836             UNKNOWN,                  // 2D97..2D9F
6837             ETHIOPIC,                 // 2DA0..2DA6
6838             UNKNOWN,                  // 2DA7
6839             ETHIOPIC,                 // 2DA8..2DAE
6840             UNKNOWN,                  // 2DAF
6841             ETHIOPIC,                 // 2DB0..2DB6
6842             UNKNOWN,                  // 2DB7
6843             ETHIOPIC,                 // 2DB8..2DBE
6844             UNKNOWN,                  // 2DBF
6845             ETHIOPIC,                 // 2DC0..2DC6
6846             UNKNOWN,                  // 2DC7
6847             ETHIOPIC,                 // 2DC8..2DCE
6848             UNKNOWN,                  // 2DCF
6849             ETHIOPIC,                 // 2DD0..2DD6
6850             UNKNOWN,                  // 2DD7
6851             ETHIOPIC,                 // 2DD8..2DDE
6852             UNKNOWN,                  // 2DDF
6853             CYRILLIC,                 // 2DE0..2DFF
6854             COMMON,                   // 2E00..2E49
6855             UNKNOWN,                  // 2E50..2E7F
6856             HAN,                      // 2E80..2E99
6857             UNKNOWN,                  // 2E9A
6858             HAN,                      // 2E9B..2EF3
6859             UNKNOWN,                  // 2EF4..2EFF
6860             HAN,                      // 2F00..2FD5
6861             UNKNOWN,                  // 2FD6..2FEF
6862             COMMON,                   // 2FF0..2FFB
6863             UNKNOWN,                  // 2FFC..2FFF
6864             COMMON,                   // 3000..3004
6865             HAN,                      // 3005
6866             COMMON,                   // 3006
6867             HAN,                      // 3007
6868             COMMON,                   // 3008..3020
6869             HAN,                      // 3021..3029
6870             INHERITED,                // 302A..302D
6871             HANGUL,                   // 302E..302F
6872             COMMON,                   // 3030..3037
6873             HAN,                      // 3038..303B
6874             COMMON,                   // 303C..303F
6875             UNKNOWN,                  // 3040
6876             HIRAGANA,                 // 3041..3096
6877             UNKNOWN,                  // 3097..3098
6878             INHERITED,                // 3099..309A
6879             COMMON,                   // 309B..309C
6880             HIRAGANA,                 // 309D..309F
6881             COMMON,                   // 30A0
6882             KATAKANA,                 // 30A1..30FA
6883             COMMON,                   // 30FB..30FC
6884             KATAKANA,                 // 30FD..30FF
6885             UNKNOWN,                  // 3100..3104
6886             BOPOMOFO,                 // 3105..312E
6887             UNKNOWN,                  // 312F..3130
6888             HANGUL,                   // 3131..318E
6889             UNKNOWN,                  // 318F
6890             COMMON,                   // 3190..319F
6891             BOPOMOFO,                 // 31A0..31BA
6892             UNKNOWN,                  // 31BB..31BF
6893             COMMON,                   // 31C0..31E3
6894             UNKNOWN,                  // 31E4..31EF
6895             KATAKANA,                 // 31F0..31FF
6896             HANGUL,                   // 3200..321E
6897             UNKNOWN,                  // 321F
6898             COMMON,                   // 3220..325F
6899             HANGUL,                   // 3260..327E
6900             COMMON,                   // 327F..32CF
6901             KATAKANA,                 // 32D0..32FE
6902             UNKNOWN,                  // 32FF
6903             KATAKANA,                 // 3300..3357
6904             COMMON,                   // 3358..33FF
6905             HAN,                      // 3400..4DB5
6906             UNKNOWN,                  // 4DB6..4DBF
6907             COMMON,                   // 4DC0..4DFF
6908             HAN,                      // 4E00..9FEA
6909             UNKNOWN,                  // 9FEB..9FFF
6910             YI,                       // A000..A48C
6911             UNKNOWN,                  // A48D..A48F
6912             YI,                       // A490..A4C6
6913             UNKNOWN,                  // A4C7..A4CF
6914             LISU,                     // A4D0..A4FF
6915             VAI,                      // A500..A62B
6916             UNKNOWN,                  // A62C..A63F
6917             CYRILLIC,                 // A640..A69F
6918             BAMUM,                    // A6A0..A6F7
6919             UNKNOWN,                  // A6F8..A6FF
6920             COMMON,                   // A700..A721
6921             LATIN,                    // A722..A787
6922             COMMON,                   // A788..A78A
6923             LATIN,                    // A78B..A7AE
6924             UNKNOWN,                  // A7AF
6925             LATIN,                    // A7B0..A7B7
6926             UNKNOWN,                  // A7B8..A7F6
6927             LATIN,                    // A7F7..A7FF
6928             SYLOTI_NAGRI,             // A800..A82B
6929             UNKNOWN,                  // A82C..A82F
6930             COMMON,                   // A830..A839
6931             UNKNOWN,                  // A83A..A83F
6932             PHAGS_PA,                 // A840..A877
6933             UNKNOWN,                  // A878..A87F
6934             SAURASHTRA,               // A880..A8C5
6935             UNKNOWN,                  // A8C6..A8CD
6936             SAURASHTRA,               // A8CE..A8D9
6937             UNKNOWN,                  // A8DA..A8DF
6938             DEVANAGARI,               // A8E0..A8FD
6939             UNKNOWN,                  // A8FE..A8FF
6940             KAYAH_LI,                 // A900..A92D
6941             COMMON,                   // A92E
6942             KAYAH_LI,                 // A92F
6943             REJANG,                   // A930..A953
6944             UNKNOWN,                  // A954..A95E
6945             REJANG,                   // A95F
6946             HANGUL,                   // A960..A97C
6947             UNKNOWN,                  // A97D..A97F
6948             JAVANESE,                 // A980..A9CD
6949             UNKNOWN,                  // A9CE
6950             COMMON,                   // A9CF
6951             JAVANESE,                 // A9D0..A9D9
6952             UNKNOWN,                  // A9DA..A9DD
6953             JAVANESE,                 // A9DE..A9DF
6954             MYANMAR,                  // A9E0..A9FE
6955             UNKNOWN,                  // A9FF


7066             UNKNOWN,                  // FFFE..FFFF
7067             LINEAR_B,                 // 10000..1000B
7068             UNKNOWN,                  // 1000C
7069             LINEAR_B,                 // 1000D..10026
7070             UNKNOWN,                  // 10027
7071             LINEAR_B,                 // 10028..1003A
7072             UNKNOWN,                  // 1003B
7073             LINEAR_B,                 // 1003C..1003D
7074             UNKNOWN,                  // 1003E
7075             LINEAR_B,                 // 1003F..1004D
7076             UNKNOWN,                  // 1004E..1004F
7077             LINEAR_B,                 // 10050..1005D
7078             UNKNOWN,                  // 1005E..1007F
7079             LINEAR_B,                 // 10080..100FA
7080             UNKNOWN,                  // 100FB..100FF
7081             COMMON,                   // 10100..10102
7082             UNKNOWN,                  // 10103..10106
7083             COMMON,                   // 10107..10133
7084             UNKNOWN,                  // 10134..10136
7085             COMMON,                   // 10137..1013F
7086             GREEK,                    // 10140..1018E
7087             UNKNOWN,                  // 1018F
7088             COMMON,                   // 10190..1019B
7089             UNKNOWN,                  // 1019C..1019F
7090             GREEK,                    // 101A0
7091             UNKNOWN,                  // 101A1..101CF
7092             COMMON,                   // 101D0..101FC
7093             INHERITED,                // 101FD
7094             UNKNOWN,                  // 101FE..1027F
7095             LYCIAN,                   // 10280..1029C
7096             UNKNOWN,                  // 1029D..1029F
7097             CARIAN,                   // 102A0..102D0
7098             UNKNOWN,                  // 102D1..102DF
7099             INHERITED,                // 102E0
7100             COMMON,                   // 102E1..102FB
7101             UNKNOWN,                  // 102FC..102FF
7102             OLD_ITALIC,               // 10300..10323
7103             UNKNOWN,                  // 10324..1032C
7104             OLD_ITALIC,               // 1032D..1032F
7105             GOTHIC,                   // 10330..1034A
7106             UNKNOWN,                  // 1034B..1034F
7107             OLD_PERMIC,               // 10350..1037A
7108             UNKNOWN,                  // 1037B..1037F
7109             UGARITIC,                 // 10380..1039D
7110             UNKNOWN,                  // 1039E
7111             UGARITIC,                 // 1039F
7112             OLD_PERSIAN,              // 103A0..103C3
7113             UNKNOWN,                  // 103C4..103C7
7114             OLD_PERSIAN,              // 103C8..103D5
7115             UNKNOWN,                  // 103D6..103FF
7116             DESERET,                  // 10400..1044F
7117             SHAVIAN,                  // 10450..1047F
7118             OSMANYA,                  // 10480..1049D
7119             UNKNOWN,                  // 1049E..1049F
7120             OSMANYA,                  // 104A0..104A9
7121             UNKNOWN,                  // 104AA..104AF
7122             OSAGE,                    // 104B0..104D3;
7123             UNKNOWN,                  // 104D4..104D7;
7124             OSAGE,                    // 104D8..104FB;
7125             UNKNOWN,                  // 104FC..104FF;
7126             ELBASAN,                  // 10500..10527
7127             UNKNOWN,                  // 10528..1052F
7128             CAUCASIAN_ALBANIAN,       // 10530..10563
7129             UNKNOWN,                  // 10564..1056E
7130             CAUCASIAN_ALBANIAN,       // 1056F
7131             UNKNOWN,                  // 10570..105FF
7132             LINEAR_A,                 // 10600..10736
7133             UNKNOWN,                  // 10737..1073F
7134             LINEAR_A,                 // 10740..10755
7135             UNKNOWN,                  // 10756..1075F
7136             LINEAR_A,                 // 10760..10767
7137             UNKNOWN,                  // 10768..107FF
7138             CYPRIOT,                  // 10800..10805
7139             UNKNOWN,                  // 10806..10807
7140             CYPRIOT,                  // 10808
7141             UNKNOWN,                  // 10809
7142             CYPRIOT,                  // 1080A..10835
7143             UNKNOWN,                  // 10836
7144             CYPRIOT,                  // 10837..10838
7145             UNKNOWN,                  // 10839..1083B


7228             KAITHI,                   // 11080..110C1
7229             UNKNOWN,                  // 110C2..110CF
7230             SORA_SOMPENG,             // 110D0..110E8
7231             UNKNOWN,                  // 110E9..110EF
7232             SORA_SOMPENG,             // 110F0..110F9
7233             UNKNOWN,                  // 110FA..110FF
7234             CHAKMA,                   // 11100..11134
7235             UNKNOWN,                  // 11135
7236             CHAKMA,                   // 11136..11143
7237             UNKNOWN,                  // 11144..1114F
7238             MAHAJANI,                 // 11150..11176
7239             UNKNOWN,                  // 11177..1117F
7240             SHARADA,                  // 11180..111CD
7241             UNKNOWN,                  // 111CE..111CF
7242             SHARADA,                  // 111D0..111DF
7243             UNKNOWN,                  // 111E0
7244             SINHALA,                  // 111E1..111F4
7245             UNKNOWN,                  // 111F5..111FF
7246             KHOJKI,                   // 11200..11211
7247             UNKNOWN,                  // 11212
7248             KHOJKI,                   // 11213..1123E
7249             UNKNOWN,                  // 1123F..1127F
7250             MULTANI,                  // 11280..11286
7251             UNKNOWN,                  // 11287
7252             MULTANI,                  // 11288
7253             UNKNOWN,                  // 11289
7254             MULTANI,                  // 1128A..1128D
7255             UNKNOWN,                  // 1128E
7256             MULTANI,                  // 1128F..1129D
7257             UNKNOWN,                  // 1129E
7258             MULTANI,                  // 1129F..112A9
7259             UNKNOWN,                  // 112AA..112AF
7260             KHUDAWADI,                // 112B0..112EA
7261             UNKNOWN,                  // 112EB..112EF
7262             KHUDAWADI,                // 112F0..112F9
7263             UNKNOWN,                  // 112FA..112FF
7264             GRANTHA,                  // 11300..11303
7265             UNKNOWN,                  // 11304
7266             GRANTHA,                  // 11305..1130C
7267             UNKNOWN,                  // 1130D..1130E
7268             GRANTHA,                  // 1130F..11310
7269             UNKNOWN,                  // 11311..11312


7273             UNKNOWN,                  // 11331
7274             GRANTHA,                  // 11332..11333
7275             UNKNOWN,                  // 11334
7276             GRANTHA,                  // 11335..11339
7277             UNKNOWN,                  // 1133A..1133B
7278             GRANTHA,                  // 1133C..11344
7279             UNKNOWN,                  // 11345..11346
7280             GRANTHA,                  // 11347..11348
7281             UNKNOWN,                  // 11349..1134A
7282             GRANTHA,                  // 1134B..1134D
7283             UNKNOWN,                  // 1134E..1134F
7284             GRANTHA,                  // 11350
7285             UNKNOWN,                  // 11351..11356
7286             GRANTHA,                  // 11357
7287             UNKNOWN,                  // 11358..1135C
7288             GRANTHA,                  // 1135D..11363
7289             UNKNOWN,                  // 11364..11365
7290             GRANTHA,                  // 11366..1136C
7291             UNKNOWN,                  // 1136D..1136F
7292             GRANTHA,                  // 11370..11374
7293             UNKNOWN,                  // 11375..113FF
7294             NEWA,                     // 11400..11459
7295             UNKNOWN,                  // 1145A
7296             NEWA,                     // 1145B
7297             UNKNOWN,                  // 1145C
7298             NEWA,                     // 1145D
7299             UNKNOWN,                  // 1145E..1147F
7300             TIRHUTA,                  // 11480..114C7
7301             UNKNOWN,                  // 114C8..114CF
7302             TIRHUTA,                  // 114D0..114D9
7303             UNKNOWN,                  // 114DA..1157F
7304             SIDDHAM,                  // 11580..115B5
7305             UNKNOWN,                  // 115B6..115B7
7306             SIDDHAM,                  // 115B8..115DD
7307             UNKNOWN,                  // 115DE..115FF
7308             MODI,                     // 11600..11644
7309             UNKNOWN,                  // 11645..1164F
7310             MODI,                     // 11650..11659
7311             UNKNOWN,                  // 1165A..1165F
7312             MONGOLIAN,                // 11660..1166C
7313             UNKNOWN,                  // 1166D..1167F
7314             TAKRI,                    // 11680..116B7
7315             UNKNOWN,                  // 116B8..116BF
7316             TAKRI,                    // 116C0..116C9
7317             UNKNOWN,                  // 116CA..116FF
7318             AHOM,                     // 11700..11719
7319             UNKNOWN,                  // 1171A..1171C
7320             AHOM,                     // 1171D..1172B
7321             UNKNOWN,                  // 1172C..1172F
7322             AHOM,                     // 11730..1173F
7323             UNKNOWN,                  // 11740..1189F
7324             WARANG_CITI,              // 118A0..118F2
7325             UNKNOWN,                  // 118F3..118FE
7326             WARANG_CITI,              // 118FF
7327             UNKNOWN,                  // 11900..119FF
7328             ZANABAZAR_SQUARE,         // 11A00..11A47
7329             UNKNOWN,                  // 11A48..11A4F
7330             SOYOMBO,                  // 11A50..11A83
7331             UNKNOWN,                  // 11A84..11A85
7332             SOYOMBO,                  // 11A86..11A9C
7333             UNKNOWN,                  // 11A9D
7334             SOYOMBO,                  // 11A9E..11AA2
7335             UNKNOWN,                  // 11AA3..11ABF
7336             PAU_CIN_HAU,              // 11AC0..11AF8
7337             UNKNOWN,                  // 11AF9..11BFF
7338             BHAIKSUKI,                // 11C00..11C08
7339             UNKNOWN,                  // 11C09
7340             BHAIKSUKI,                // 11C0A..11C36
7341             UNKNOWN,                  // 11C37
7342             BHAIKSUKI,                // 11C38..11C45
7343             UNKNOWN,                  // 11C46..11C49
7344             BHAIKSUKI,                // 11C50..11C6C
7345             UNKNOWN,                  // 11C6D..11C6F
7346             MARCHEN,                  // 11C70..11C8F
7347             UNKNOWN,                  // 11C90..11C91
7348             MARCHEN,                  // 11C92..11CA7
7349             UNKNOWN,                  // 11CA8
7350             MARCHEN,                  // 11CA9..11CB6
7351             UNKNOWN,                  // 11CB7..11CFF
7352             MASARAM_GONDI,            // 11D00..11D06
7353             UNKNOWN,                  // 11D07
7354             MASARAM_GONDI,            // 11D08..11D09
7355             UNKNOWN,                  // 11D0A
7356             MASARAM_GONDI,            // 11D0B..11D36
7357             UNKNOWN,                  // 11D37..11D39
7358             MASARAM_GONDI,            // 11D3A
7359             UNKNOWN,                  // 11D3B
7360             MASARAM_GONDI,            // 11D3C..11D3D
7361             UNKNOWN,                  // 11D3E
7362             MASARAM_GONDI,            // 11D3F..11D47
7363             UNKNOWN,                  // 11D48..11D49
7364             MASARAM_GONDI,            // 11D50..11D59
7365             UNKNOWN,                  // 11D5A..1AFFF;
7366             CUNEIFORM,                // 12000..12399
7367             UNKNOWN,                  // 1239A..123FF
7368             CUNEIFORM,                // 12400..1246E
7369             UNKNOWN,                  // 1246F
7370             CUNEIFORM,                // 12470..12474
7371             UNKNOWN,                  // 12475..1247F
7372             CUNEIFORM,                // 12480..12543
7373             UNKNOWN,                  // 12544..12FFF
7374             EGYPTIAN_HIEROGLYPHS,     // 13000..1342E
7375             UNKNOWN,                  // 1342F..143FF
7376             ANATOLIAN_HIEROGLYPHS,    // 14400..14646
7377             UNKNOWN,                  // 14647..167FF
7378             BAMUM,                    // 16800..16A38
7379             UNKNOWN,                  // 16A39..16A3F
7380             MRO,                      // 16A40..16A5E
7381             UNKNOWN,                  // 16A5F
7382             MRO,                      // 16A60..16A69
7383             UNKNOWN,                  // 16A6A..16A6D
7384             MRO,                      // 16A6E..16A6F
7385             UNKNOWN,                  // 16A70..16ACF
7386             BASSA_VAH,                // 16AD0..16AED
7387             UNKNOWN,                  // 16AEE..16AEF
7388             BASSA_VAH,                // 16AF0..16AF5
7389             UNKNOWN,                  // 16AF6..16AFF
7390             PAHAWH_HMONG,             // 16B00..16B45
7391             UNKNOWN,                  // 16B46..16B4F
7392             PAHAWH_HMONG,             // 16B50..16B59
7393             UNKNOWN,                  // 16B5A
7394             PAHAWH_HMONG,             // 16B5B..16B61
7395             UNKNOWN,                  // 16B62
7396             PAHAWH_HMONG,             // 16B63..16B77
7397             UNKNOWN,                  // 16B78..16B7C
7398             PAHAWH_HMONG,             // 16B7D..16B8F
7399             UNKNOWN,                  // 16B90..16EFF
7400             MIAO,                     // 16F00..16F44
7401             UNKNOWN,                  // 16F45..16F4F
7402             MIAO,                     // 16F50..16F7E
7403             UNKNOWN,                  // 16F7F..16F8E
7404             MIAO,                     // 16F8F..16F9F
7405             UNKNOWN,                  // 16FA0..16FDF
7406             TANGUT,                   // 16FE0
7407             NUSHU,                    // 16FE1
7408             UNKNOWN,                  // 16FE2..16FFF
7409             TANGUT,                   // 17000..187EC
7410             UNKNOWN,                  // 187ED..187FF
7411             TANGUT,                   // 18800..18AF2
7412             UNKNOWN,                  // 18AF3..1AFFF
7413             KATAKANA,                 // 1B000
7414             HIRAGANA,                 // 1B001..1B11E
7415             UNKNOWN,                  // 1B11F..1B16F
7416             NUSHU,                    // 1B170..1B2FB
7417             UNKNOWN,                  // 1B2FC..1BBFF
7418             DUPLOYAN,                 // 1BC00..1BC6A
7419             UNKNOWN,                  // 1BC6B..1BC6F
7420             DUPLOYAN,                 // 1BC70..1BC7C
7421             UNKNOWN,                  // 1BC7D..1BC7F
7422             DUPLOYAN,                 // 1BC80..1BC88
7423             UNKNOWN,                  // 1BC89..1BC8F
7424             DUPLOYAN,                 // 1BC90..1BC99
7425             UNKNOWN,                  // 1BC9A..1BC9B
7426             DUPLOYAN,                 // 1BC9C..1BC9F
7427             COMMON,                   // 1BCA0..1BCA3
7428             UNKNOWN,                  // 1BCA4..1CFFF
7429             COMMON,                   // 1D000..1D0F5
7430             UNKNOWN,                  // 1D0F6..1D0FF
7431             COMMON,                   // 1D100..1D126
7432             UNKNOWN,                  // 1D127..1D128
7433             COMMON,                   // 1D129..1D166
7434             INHERITED,                // 1D167..1D169
7435             COMMON,                   // 1D16A..1D17A
7436             INHERITED,                // 1D17B..1D182
7437             COMMON,                   // 1D183..1D184


7475             COMMON,                   // 1D51E..1D539
7476             UNKNOWN,                  // 1D53A
7477             COMMON,                   // 1D53B..1D53E
7478             UNKNOWN,                  // 1D53F
7479             COMMON,                   // 1D540..1D544
7480             UNKNOWN,                  // 1D545
7481             COMMON,                   // 1D546
7482             UNKNOWN,                  // 1D547..1D549
7483             COMMON,                   // 1D54A..1D550
7484             UNKNOWN,                  // 1D551
7485             COMMON,                   // 1D552..1D6A5
7486             UNKNOWN,                  // 1D6A6..1D6A7
7487             COMMON,                   // 1D6A8..1D7CB
7488             UNKNOWN,                  // 1D7CC..1D7CD
7489             COMMON,                   // 1D7CE..1D7FF
7490             SIGNWRITING,              // 1D800..1DA8B
7491             UNKNOWN,                  // 1DA8C..1DA9A
7492             SIGNWRITING,              // 1DA9B..1DA9F
7493             UNKNOWN,                  // 1DAA0
7494             SIGNWRITING,              // 1DAA1..1DAAF
7495             UNKNOWN,                  // 1DAB0..1DFFF
7496             GLAGOLITIC,               // 1E000..1E006
7497             UNKNOWN,                  // 1E007
7498             GLAGOLITIC,               // 1E008..1E018
7499             UNKNOWN,                  // 1E019..1E01A
7500             GLAGOLITIC,               // 1E01B..1E021
7501             UNKNOWN,                  // 1E022
7502             GLAGOLITIC,               // 1E023..1E024
7503             UNKNOWN,                  // 1E025
7504             GLAGOLITIC,               // 1E026..1E02A
7505             UNKNOWN,                  // 1E02B..1E7FF
7506             MENDE_KIKAKUI,            // 1E800..1E8C4
7507             UNKNOWN,                  // 1E8C5..1E8C6
7508             MENDE_KIKAKUI,            // 1E8C7..1E8D6
7509             UNKNOWN,                  // 1E8D7..1E8FF
7510             ADLAM,                    // 1E900..1E94A
7511             UNKNOWN,                  // 1E94B..1E94F
7512             ADLAM,                    // 1E950..1E959
7513             UNKNOWN,                  // 1E95A..1E95D
7514             ADLAM,                    // 1E95E..1E95F
7515             UNKNOWN,                  // 1E960..1EDFF
7516             ARABIC,                   // 1EE00..1EE03
7517             UNKNOWN,                  // 1EE04
7518             ARABIC,                   // 1EE05..1EE1F
7519             UNKNOWN,                  // 1EE20
7520             ARABIC,                   // 1EE21..1EE22
7521             UNKNOWN,                  // 1EE23
7522             ARABIC,                   // 1EE24
7523             UNKNOWN,                  // 1EE25..1EE26
7524             ARABIC,                   // 1EE27
7525             UNKNOWN,                  // 1EE28
7526             ARABIC,                   // 1EE29..1EE32
7527             UNKNOWN,                  // 1EE33
7528             ARABIC,                   // 1EE34..1EE37
7529             UNKNOWN,                  // 1EE38
7530             ARABIC,                   // 1EE39
7531             UNKNOWN,                  // 1EE3A
7532             ARABIC,                   // 1EE3B
7533             UNKNOWN,                  // 1EE3C..1EE41
7534             ARABIC,                   // 1EE42
7535             UNKNOWN,                  // 1EE43..1EE46


7582             ARABIC,                   // 1EEF0..1EEF1
7583             UNKNOWN,                  // 1EEF2..1EFFF
7584             COMMON,                   // 1F000..1F02B
7585             UNKNOWN,                  // 1F02C..1F02F
7586             COMMON,                   // 1F030..1F093
7587             UNKNOWN,                  // 1F094..1F09F
7588             COMMON,                   // 1F0A0..1F0AE
7589             UNKNOWN,                  // 1F0AF..1F0B0
7590             COMMON,                   // 1F0B1..1F0BF
7591             UNKNOWN,                  // 1F0C0
7592             COMMON,                   // 1F0C1..1F0CF
7593             UNKNOWN,                  // 1F0D0
7594             COMMON,                   // 1F0D1..1F0F5
7595             UNKNOWN,                  // 1F0F6..1F0FF
7596             COMMON,                   // 1F100..1F10C
7597             UNKNOWN,                  // 1F10D..1F10F
7598             COMMON,                   // 1F110..1F12E
7599             UNKNOWN,                  // 1F12F
7600             COMMON,                   // 1F130..1F16B
7601             UNKNOWN,                  // 1F16C..1F16F
7602             COMMON,                   // 1F170..1F1AC
7603             UNKNOWN,                  // 1F1AD..1F1E5
7604             COMMON,                   // 1F1E6..1F1FF
7605             HIRAGANA,                 // 1F200
7606             COMMON,                   // 1F201..1F202
7607             UNKNOWN,                  // 1F203..1F20F
7608             COMMON,                   // 1F210..1F23B
7609             UNKNOWN,                  // 1F23C..1F23F
7610             COMMON,                   // 1F240..1F248
7611             UNKNOWN,                  // 1F249..1F24F
7612             COMMON,                   // 1F250..1F251
7613             UNKNOWN,                  // 1F252..1F25F
7614             COMMON,                   // 1F260..1F265
7615             UNKNOWN,                  // 1F266..1F2FF
7616             COMMON,                   // 1F300..1F6D4
7617             UNKNOWN,                  // 1F6D5..1F6DF


7618             COMMON,                   // 1F6E0..1F6EC
7619             UNKNOWN,                  // 1F6ED..1F6EF
7620             COMMON,                   // 1F6F0..1F6F8
7621             UNKNOWN,                  // 1F6F9..1F6FF
7622             COMMON,                   // 1F700..1F773
7623             UNKNOWN,                  // 1F774..1F77F
7624             COMMON,                   // 1F780..1F7D4
7625             UNKNOWN,                  // 1F7D5..1F7FF
7626             COMMON,                   // 1F800..1F80B
7627             UNKNOWN,                  // 1F80C..1F80F
7628             COMMON,                   // 1F810..1F847
7629             UNKNOWN,                  // 1F848..1F84F
7630             COMMON,                   // 1F850..1F859
7631             UNKNOWN,                  // 1F85A..1F85F
7632             COMMON,                   // 1F860..1F887
7633             UNKNOWN,                  // 1F888..1F88F
7634             COMMON,                   // 1F890..1F8AD
7635             UNKNOWN,                  // 1F8AE..1F8FF
7636             COMMON,                   // 1F900..1F90B
7637             UNKNOWN,                  // 1F90C..1F90F
7638             COMMON,                   // 1F910..1F93E
7639             UNKNOWN,                  // 1F93F
7640             COMMON,                   // 1F940..1F94C
7641             UNKNOWN,                  // 1F94D..1F94F
7642             COMMON,                   // 1F950..1F96B
7643             UNKNOWN,                  // 1F96C..1F97F
7644             COMMON,                   // 1F980..1F997
7645             UNKNOWN,                  // 1F998..1F9BF
7646             COMMON,                   // 1F9C0
7647             UNKNOWN,                  // 1F9C1..1F9CF
7648             COMMON,                   // 1F9D0..1F9E6
7649             UNKNOWN,                  // 1F9E7..1FFFF
7650             HAN,                      // 20000..2A6D6
7651             UNKNOWN,                  // 2A6D7..2A6FF
7652             HAN,                      // 2A700..2B734
7653             UNKNOWN,                  // 2B735..2B73F
7654             HAN,                      // 2B740..2B81D
7655             UNKNOWN,                  // 2B81E..2B81F
7656             HAN,                      // 2B820..2CEA1
7657             UNKNOWN,                  // 2CEA2..2CEAF
7658             HAN,                      // 2CEB0..2EBE0
7659             UNKNOWN,                  // 2EBE1..2F7FF
7660             HAN,                      // 2F800..2FA1D
7661             UNKNOWN,                  // 2FA1E..E0000
7662             COMMON,                   // E0001
7663             UNKNOWN,                  // E0002..E001F
7664             COMMON,                   // E0020..E007F
7665             UNKNOWN,                  // E0080..E00FF
7666             INHERITED,                // E0100..E01EF
7667             UNKNOWN                   // E01F0..10FFFF
7668         };
7669 
7670         private static HashMap<String, Character.UnicodeScript> aliases;
7671         static {
7672             aliases = new HashMap<>((int)(142 / 0.75f + 1.0f));
7673             aliases.put("ADLM", ADLAM);
7674             aliases.put("AGHB", CAUCASIAN_ALBANIAN);
7675             aliases.put("AHOM", AHOM);
7676             aliases.put("ARAB", ARABIC);
7677             aliases.put("ARMI", IMPERIAL_ARAMAIC);
7678             aliases.put("ARMN", ARMENIAN);
7679             aliases.put("AVST", AVESTAN);
7680             aliases.put("BALI", BALINESE);
7681             aliases.put("BAMU", BAMUM);
7682             aliases.put("BASS", BASSA_VAH);
7683             aliases.put("BATK", BATAK);
7684             aliases.put("BENG", BENGALI);
7685             aliases.put("BHKS", BHAIKSUKI);
7686             aliases.put("BOPO", BOPOMOFO);
7687             aliases.put("BRAH", BRAHMI);
7688             aliases.put("BRAI", BRAILLE);
7689             aliases.put("BUGI", BUGINESE);
7690             aliases.put("BUHD", BUHID);
7691             aliases.put("CAKM", CHAKMA);
7692             aliases.put("CANS", CANADIAN_ABORIGINAL);
7693             aliases.put("CARI", CARIAN);
7694             aliases.put("CHAM", CHAM);
7695             aliases.put("CHER", CHEROKEE);
7696             aliases.put("COPT", COPTIC);
7697             aliases.put("CPRT", CYPRIOT);
7698             aliases.put("CYRL", CYRILLIC);
7699             aliases.put("DEVA", DEVANAGARI);
7700             aliases.put("DSRT", DESERET);
7701             aliases.put("DUPL", DUPLOYAN);
7702             aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
7703             aliases.put("ELBA", ELBASAN);
7704             aliases.put("ETHI", ETHIOPIC);
7705             aliases.put("GEOR", GEORGIAN);
7706             aliases.put("GLAG", GLAGOLITIC);
7707             aliases.put("GONM", MASARAM_GONDI);
7708             aliases.put("GOTH", GOTHIC);
7709             aliases.put("GRAN", GRANTHA);
7710             aliases.put("GREK", GREEK);
7711             aliases.put("GUJR", GUJARATI);
7712             aliases.put("GURU", GURMUKHI);
7713             aliases.put("HANG", HANGUL);
7714             aliases.put("HANI", HAN);
7715             aliases.put("HANO", HANUNOO);
7716             aliases.put("HATR", HATRAN);
7717             aliases.put("HEBR", HEBREW);
7718             aliases.put("HIRA", HIRAGANA);
7719             aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
7720             aliases.put("HMNG", PAHAWH_HMONG);
7721             // it appears we don't have the KATAKANA_OR_HIRAGANA
7722             //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
7723             aliases.put("HUNG", OLD_HUNGARIAN);
7724             aliases.put("ITAL", OLD_ITALIC);
7725             aliases.put("JAVA", JAVANESE);
7726             aliases.put("KALI", KAYAH_LI);
7727             aliases.put("KANA", KATAKANA);
7728             aliases.put("KHAR", KHAROSHTHI);
7729             aliases.put("KHMR", KHMER);
7730             aliases.put("KHOJ", KHOJKI);
7731             aliases.put("KNDA", KANNADA);
7732             aliases.put("KTHI", KAITHI);
7733             aliases.put("LANA", TAI_THAM);
7734             aliases.put("LAOO", LAO);
7735             aliases.put("LATN", LATIN);
7736             aliases.put("LEPC", LEPCHA);
7737             aliases.put("LIMB", LIMBU);
7738             aliases.put("LINA", LINEAR_A);
7739             aliases.put("LINB", LINEAR_B);
7740             aliases.put("LISU", LISU);
7741             aliases.put("LYCI", LYCIAN);
7742             aliases.put("LYDI", LYDIAN);
7743             aliases.put("MAHJ", MAHAJANI);
7744             aliases.put("MARC", MARCHEN);
7745             aliases.put("MAND", MANDAIC);
7746             aliases.put("MANI", MANICHAEAN);
7747             aliases.put("MEND", MENDE_KIKAKUI);
7748             aliases.put("MERC", MEROITIC_CURSIVE);
7749             aliases.put("MERO", MEROITIC_HIEROGLYPHS);
7750             aliases.put("MLYM", MALAYALAM);
7751             aliases.put("MODI", MODI);
7752             aliases.put("MONG", MONGOLIAN);
7753             aliases.put("MROO", MRO);
7754             aliases.put("MTEI", MEETEI_MAYEK);
7755             aliases.put("MULT", MULTANI);
7756             aliases.put("MYMR", MYANMAR);
7757             aliases.put("NARB", OLD_NORTH_ARABIAN);
7758             aliases.put("NBAT", NABATAEAN);
7759             aliases.put("NEWA", NEWA);
7760             aliases.put("NKOO", NKO);
7761             aliases.put("NSHU", NUSHU);
7762             aliases.put("OGAM", OGHAM);
7763             aliases.put("OLCK", OL_CHIKI);
7764             aliases.put("ORKH", OLD_TURKIC);
7765             aliases.put("ORYA", ORIYA);
7766             aliases.put("OSGE", OSAGE);
7767             aliases.put("OSMA", OSMANYA);
7768             aliases.put("PALM", PALMYRENE);
7769             aliases.put("PAUC", PAU_CIN_HAU);
7770             aliases.put("PERM", OLD_PERMIC);
7771             aliases.put("PHAG", PHAGS_PA);
7772             aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
7773             aliases.put("PHLP", PSALTER_PAHLAVI);
7774             aliases.put("PHNX", PHOENICIAN);
7775             aliases.put("PLRD", MIAO);
7776             aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);
7777             aliases.put("RJNG", REJANG);
7778             aliases.put("RUNR", RUNIC);
7779             aliases.put("SAMR", SAMARITAN);
7780             aliases.put("SARB", OLD_SOUTH_ARABIAN);
7781             aliases.put("SAUR", SAURASHTRA);
7782             aliases.put("SGNW", SIGNWRITING);
7783             aliases.put("SHAW", SHAVIAN);
7784             aliases.put("SHRD", SHARADA);
7785             aliases.put("SIDD", SIDDHAM);
7786             aliases.put("SIND", KHUDAWADI);
7787             aliases.put("SINH", SINHALA);
7788             aliases.put("SORA", SORA_SOMPENG);
7789             aliases.put("SOYO", SOYOMBO);
7790             aliases.put("SUND", SUNDANESE);
7791             aliases.put("SYLO", SYLOTI_NAGRI);
7792             aliases.put("SYRC", SYRIAC);
7793             aliases.put("TAGB", TAGBANWA);
7794             aliases.put("TAKR", TAKRI);
7795             aliases.put("TALE", TAI_LE);
7796             aliases.put("TALU", NEW_TAI_LUE);
7797             aliases.put("TAML", TAMIL);
7798             aliases.put("TANG", TANGUT);
7799             aliases.put("TAVT", TAI_VIET);
7800             aliases.put("TELU", TELUGU);
7801             aliases.put("TFNG", TIFINAGH);
7802             aliases.put("TGLG", TAGALOG);
7803             aliases.put("THAA", THAANA);
7804             aliases.put("THAI", THAI);
7805             aliases.put("TIBT", TIBETAN);
7806             aliases.put("TIRH", TIRHUTA);
7807             aliases.put("UGAR", UGARITIC);
7808             aliases.put("VAII", VAI);
7809             aliases.put("WARA", WARANG_CITI);
7810             aliases.put("XPEO", OLD_PERSIAN);
7811             aliases.put("XSUX", CUNEIFORM);
7812             aliases.put("YIII", YI);
7813             aliases.put("ZANB", ZANABAZAR_SQUARE);
7814             aliases.put("ZINH", INHERITED);
7815             aliases.put("ZYYY", COMMON);
7816             aliases.put("ZZZZ", UNKNOWN);
7817         }
7818 
7819         /**
7820          * Returns the enum constant representing the Unicode script of which
7821          * the given character (Unicode code point) is assigned to.
7822          *
7823          * @param   codePoint the character (Unicode code point) in question.
7824          * @return  The {@code UnicodeScript} constant representing the
7825          *          Unicode script of which this character is assigned to.
7826          *
7827          * @exception IllegalArgumentException if the specified
7828          * {@code codePoint} is an invalid Unicode code point.
7829          * @see Character#isValidCodePoint(int)
7830          *
7831          */
7832         public static UnicodeScript of(int codePoint) {
7833             if (!isValidCodePoint(codePoint))


< prev index next >