37 * The {@code Character} class wraps a value of the primitive
38 * type {@code char} in an object. An object of class
39 * {@code Character} contains a single field whose type is
40 * {@code char}.
41 * <p>
42 * In addition, this class provides a large number of static methods for
43 * determining a character's category (lowercase letter, digit, etc.)
44 * and for converting characters from uppercase to lowercase and vice
45 * versa.
46 *
47 * <h2><a id="conformance">Unicode Conformance</a></h2>
48 * <p>
49 * The fields and methods of class {@code Character} are defined in terms
50 * of character information from the Unicode Standard, specifically the
51 * <i>UnicodeData</i> file that is part of the Unicode Character Database.
52 * This file specifies properties including name and category for every
53 * assigned Unicode code point or character range. The file is available
54 * from the Unicode Consortium at
55 * <a href="http://www.unicode.org">http://www.unicode.org</a>.
56 * <p>
57 * The Java SE 13 Platform uses character information from version 11.0
58 * of the Unicode Standard, plus the Japanese Era code point,
59 * {@code U+32FF}, from the first version of the Unicode Standard
60 * after 11.0 that assigns the code point.
61 *
62 * <h2><a id="unicode">Unicode Character Representations</a></h2>
63 *
64 * <p>The {@code char} data type (and therefore the value that a
65 * {@code Character} object encapsulates) are based on the
66 * original Unicode specification, which defined characters as
67 * fixed-width 16-bit entities. The Unicode Standard has since been
68 * changed to allow for characters whose representation requires more
69 * than 16 bits. The range of legal <em>code point</em>s is now
70 * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
71 * (Refer to the <a
72 * href="http://www.unicode.org/reports/tr27/#notation"><i>
73 * definition</i></a> of the U+<i>n</i> notation in the Unicode
74 * Standard.)
75 *
76 * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
77 * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
78 * <a id="supplementary">Characters</a> whose code points are greater
79 * than U+FFFF are called <em>supplementary character</em>s. The Java
80 * platform uses the UTF-16 representation in {@code char} arrays and
658 * Returns the name of this subset.
659 */
660 public final String toString() {
661 return name;
662 }
663 }
664
665 // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
666 // for the latest specification of Unicode Blocks.
667
668 /**
669 * A family of character subsets representing the character blocks in the
670 * Unicode specification. Character blocks generally define characters
671 * used for a specific script or purpose. A character is contained by
672 * at most one Unicode block.
673 *
674 * @since 1.2
675 */
676 public static final class UnicodeBlock extends Subset {
677 /**
678 * 667 - the expected number of entities
679 * 0.75 - the default load factor of HashMap
680 */
681 private static final int NUM_ENTITIES = 667;
682 private static Map<String, UnicodeBlock> map =
683 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
684
685 /**
686 * Creates a UnicodeBlock with the given identifier name.
687 * This name must be the same as the block identifier.
688 */
689 private UnicodeBlock(String idName) {
690 super(idName);
691 map.put(idName, this);
692 }
693
694 /**
695 * Creates a UnicodeBlock with the given identifier name and
696 * alias name.
697 */
698 private UnicodeBlock(String idName, String alias) {
699 this(idName);
700 map.put(alias, this);
701 }
3187 /**
3188 * Constant for the "Indic Siyaq Numbers" Unicode
3189 * character block.
3190 * @since 12
3191 */
3192 public static final UnicodeBlock INDIC_SIYAQ_NUMBERS =
3193 new UnicodeBlock("INDIC_SIYAQ_NUMBERS",
3194 "INDIC SIYAQ NUMBERS",
3195 "INDICSIYAQNUMBERS");
3196
3197 /**
3198 * Constant for the "Chess Symbols" Unicode
3199 * character block.
3200 * @since 12
3201 */
3202 public static final UnicodeBlock CHESS_SYMBOLS =
3203 new UnicodeBlock("CHESS_SYMBOLS",
3204 "CHESS SYMBOLS",
3205 "CHESSSYMBOLS");
3206
3207
3208 private static final int blockStarts[] = {
3209 0x0000, // 0000..007F; Basic Latin
3210 0x0080, // 0080..00FF; Latin-1 Supplement
3211 0x0100, // 0100..017F; Latin Extended-A
3212 0x0180, // 0180..024F; Latin Extended-B
3213 0x0250, // 0250..02AF; IPA Extensions
3214 0x02B0, // 02B0..02FF; Spacing Modifier Letters
3215 0x0300, // 0300..036F; Combining Diacritical Marks
3216 0x0370, // 0370..03FF; Greek and Coptic
3217 0x0400, // 0400..04FF; Cyrillic
3218 0x0500, // 0500..052F; Cyrillic Supplement
3219 0x0530, // 0530..058F; Armenian
3220 0x0590, // 0590..05FF; Hebrew
3221 0x0600, // 0600..06FF; Arabic
3222 0x0700, // 0700..074F; Syriac
3223 0x0750, // 0750..077F; Arabic Supplement
3224 0x0780, // 0780..07BF; Thaana
3225 0x07C0, // 07C0..07FF; NKo
3226 0x0800, // 0800..083F; Samaritan
3410 0x10A00, // 10A00..10A5F; Kharoshthi
3411 0x10A60, // 10A60..10A7F; Old South Arabian
3412 0x10A80, // 10A80..10A9F; Old North Arabian
3413 0x10AA0, // unassigned
3414 0x10AC0, // 10AC0..10AFF; Manichaean
3415 0x10B00, // 10B00..10B3F; Avestan
3416 0x10B40, // 10B40..10B5F; Inscriptional Parthian
3417 0x10B60, // 10B60..10B7F; Inscriptional Pahlavi
3418 0x10B80, // 10B80..10BAF; Psalter Pahlavi
3419 0x10BB0, // unassigned
3420 0x10C00, // 10C00..10C4F; Old Turkic
3421 0x10C50, // unassigned
3422 0x10C80, // 10C80..10CFF; Old Hungarian
3423 0x10D00, // 10D00..10D3F; Hanifi Rohingya
3424 0x10D40, // unassigned
3425 0x10E60, // 10E60..10E7F; Rumi Numeral Symbols
3426 0x10E80, // unassigned
3427 0x10F00, // 10F00..10F2F; Old Sogdian
3428 0x10F30, // 10F30..10F6F; Sogdian
3429 0x10F70, // unassigned
3430 0x11000, // 11000..1107F; Brahmi
3431 0x11080, // 11080..110CF; Kaithi
3432 0x110D0, // 110D0..110FF; Sora Sompeng
3433 0x11100, // 11100..1114F; Chakma
3434 0x11150, // 11150..1117F; Mahajani
3435 0x11180, // 11180..111DF; Sharada
3436 0x111E0, // 111E0..111FF; Sinhala Archaic Numbers
3437 0x11200, // 11200..1124F; Khojki
3438 0x11250, // unassigned
3439 0x11280, // 11280..112AF; Multani
3440 0x112B0, // 112B0..112FF; Khudawadi
3441 0x11300, // 11300..1137F; Grantha
3442 0x11380, // unassigned
3443 0x11400, // 11400..1147F; Newa
3444 0x11480, // 11480..114DF; Tirhuta
3445 0x114E0, // unassigned
3446 0x11580, // 11580..115FF; Siddham
3447 0x11600, // 11600..1165F; Modi
3448 0x11660, // 11660..1167F; Mongolian Supplement
3449 0x11680, // 11680..116CF; Takri
3450 0x116D0, // unassigned
3451 0x11700, // 11700..1173F; Ahom
3452 0x11740, // unassigned
3453 0x11800, // 11800..1184F; Dogra
3454 0x11850, // unassigned
3455 0x118A0, // 118A0..118FF; Warang Citi
3456 0x11900, // unassigned
3457 0x11A00, // 11A00..11A4F; Zanabazar Square
3458 0x11A50, // 11A50..11AAF; Soyombo
3459 0x11AB0, // unassigned
3460 0x11AC0, // 11AC0..11AFF; Pau Cin Hau
3461 0x11B00, // unassigned
3462 0x11C00, // 11C00..11C6F; Bhaiksuki
3463 0x11C70, // 11C70..11CBF; Marchen
3464 0x11CC0, // unassigned
3465 0x11D00, // 11D00..11D5F; Masaram Gondi
3466 0x11D60, // 11D60..11DAF; Gunjala Gondi
3467 0x11DB0, // unassigned
3468 0x11EE0, // 11EE0..11EFF; Makasar
3469 0x11F00, // unassigned
3470 0x12000, // 12000..123FF; Cuneiform
3471 0x12400, // 12400..1247F; Cuneiform Numbers and Punctuation
3472 0x12480, // 12480..1254F; Early Dynastic Cuneiform
3473 0x12550, // unassigned
3474 0x13000, // 13000..1342F; Egyptian Hieroglyphs
3475 0x13430, // unassigned
3476 0x14400, // 14400..1467F; Anatolian Hieroglyphs
3477 0x14680, // unassigned
3478 0x16800, // 16800..16A3F; Bamum Supplement
3479 0x16A40, // 16A40..16A6F; Mro
3480 0x16A70, // unassigned
3481 0x16AD0, // 16AD0..16AFF; Bassa Vah
3482 0x16B00, // 16B00..16B8F; Pahawh Hmong
3483 0x16B90, // unassigned
3484 0x16E40, // 16E40..16E9F; Medefaidrin
3485 0x16EA0, // unassigned
3486 0x16F00, // 16F00..16F9F; Miao
3487 0x16FA0, // unassigned
3488 0x16FE0, // 16FE0..16FFF; Ideographic Symbols and Punctuation
3489 0x17000, // 17000..187FF; Tangut
3490 0x18800, // 18800..18AFF; Tangut Components
3491 0x18B00, // unassigned
3492 0x1B000, // 1B000..1B0FF; Kana Supplement
3493 0x1B100, // 1B100..1B12F; Kana Extended-A
3494 0x1B130, // unassigned
3495 0x1B170, // 1B170..1B2FF; Nushu
3496 0x1B300, // unassigned
3497 0x1BC00, // 1BC00..1BC9F; Duployan
3498 0x1BCA0, // 1BCA0..1BCAF; Shorthand Format Controls
3499 0x1BCB0, // unassigned
3500 0x1D000, // 1D000..1D0FF; Byzantine Musical Symbols
3501 0x1D100, // 1D100..1D1FF; Musical Symbols
3502 0x1D200, // 1D200..1D24F; Ancient Greek Musical Notation
3503 0x1D250, // unassigned
3504 0x1D2E0, // 1D2E0..1D2FF; Mayan Numerals
3505 0x1D300, // 1D300..1D35F; Tai Xuan Jing Symbols
3506 0x1D360, // 1D360..1D37F; Counting Rod Numerals
3507 0x1D380, // unassigned
3508 0x1D400, // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3509 0x1D800, // 1D800..1DAAF; Sutton SignWriting
3510 0x1DAB0, // unassigned
3511 0x1E000, // 1E000..1E02F; Glagolitic Supplement
3512 0x1E030, // unassigned
3513 0x1E800, // 1E800..1E8DF; Mende Kikakui
3514 0x1E8E0, // unassigned
3515 0x1E900, // 1E900..1E95F; Adlam
3516 0x1E960, // unassigned
3517 0x1EC70, // 1EC70..1ECBF; Indic Siyaq Numbers
3518 0x1ECC0, // unassigned
3519 0x1EE00, // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3520 0x1EF00, // unassigned
3521 0x1F000, // 1F000..1F02F; Mahjong Tiles
3522 0x1F030, // 1F030..1F09F; Domino Tiles
3523 0x1F0A0, // 1F0A0..1F0FF; Playing Cards
3524 0x1F100, // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3525 0x1F200, // 1F200..1F2FF; Enclosed Ideographic Supplement
3526 0x1F300, // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3527 0x1F600, // 1F600..1F64F; Emoticons
3528 0x1F650, // 1F650..1F67F; Ornamental Dingbats
3529 0x1F680, // 1F680..1F6FF; Transport and Map Symbols
3530 0x1F700, // 1F700..1F77F; Alchemical Symbols
3531 0x1F780, // 1F780..1F7FF; Geometric Shapes Extended
3532 0x1F800, // 1F800..1F8FF; Supplemental Arrows-C
3533 0x1F900, // 1F900..1F9FF; Supplemental Symbols and Pictographs
3534 0x1FA00, // 1FA00..1FA6F; Chess Symbols
3535 0x1FA70, // unassigned
3536 0x20000, // 20000..2A6DF; CJK Unified Ideographs Extension B
3537 0x2A6E0, // unassigned
3538 0x2A700, // 2A700..2B73F; CJK Unified Ideographs Extension C
3539 0x2B740, // 2B740..2B81F; CJK Unified Ideographs Extension D
3540 0x2B820, // 2B820..2CEAF; CJK Unified Ideographs Extension E
3541 0x2CEB0, // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3542 0x2EBF0, // unassigned
3543 0x2F800, // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3544 0x2FA20, // unassigned
3545 0xE0000, // E0000..E007F; Tags
3546 0xE0080, // unassigned
3547 0xE0100, // E0100..E01EF; Variation Selectors Supplement
3548 0xE01F0, // unassigned
3549 0xF0000, // F0000..FFFFF; Supplementary Private Use Area-A
3550 0x100000 // 100000..10FFFF; Supplementary Private Use Area-B
3551 };
3552
3553 private static final UnicodeBlock[] blocks = {
3554 BASIC_LATIN,
3555 LATIN_1_SUPPLEMENT,
3556 LATIN_EXTENDED_A,
3557 LATIN_EXTENDED_B,
3558 IPA_EXTENSIONS,
3559 SPACING_MODIFIER_LETTERS,
3560 COMBINING_DIACRITICAL_MARKS,
3561 GREEK,
3562 CYRILLIC,
3563 CYRILLIC_SUPPLEMENTARY,
3564 ARMENIAN,
3565 HEBREW,
3566 ARABIC,
3567 SYRIAC,
3568 ARABIC_SUPPLEMENT,
3569 THAANA,
3570 NKO,
3755 KHAROSHTHI,
3756 OLD_SOUTH_ARABIAN,
3757 OLD_NORTH_ARABIAN,
3758 null,
3759 MANICHAEAN,
3760 AVESTAN,
3761 INSCRIPTIONAL_PARTHIAN,
3762 INSCRIPTIONAL_PAHLAVI,
3763 PSALTER_PAHLAVI,
3764 null,
3765 OLD_TURKIC,
3766 null,
3767 OLD_HUNGARIAN,
3768 HANIFI_ROHINGYA,
3769 null,
3770 RUMI_NUMERAL_SYMBOLS,
3771 null,
3772 OLD_SOGDIAN,
3773 SOGDIAN,
3774 null,
3775 BRAHMI,
3776 KAITHI,
3777 SORA_SOMPENG,
3778 CHAKMA,
3779 MAHAJANI,
3780 SHARADA,
3781 SINHALA_ARCHAIC_NUMBERS,
3782 KHOJKI,
3783 null,
3784 MULTANI,
3785 KHUDAWADI,
3786 GRANTHA,
3787 null,
3788 NEWA,
3789 TIRHUTA,
3790 null,
3791 SIDDHAM,
3792 MODI,
3793 MONGOLIAN_SUPPLEMENT,
3794 TAKRI,
3795 null,
3796 AHOM,
3797 null,
3798 DOGRA,
3799 null,
3800 WARANG_CITI,
3801 null,
3802 ZANABAZAR_SQUARE,
3803 SOYOMBO,
3804 null,
3805 PAU_CIN_HAU,
3806 null,
3807 BHAIKSUKI,
3808 MARCHEN,
3809 null,
3810 MASARAM_GONDI,
3811 GUNJALA_GONDI,
3812 null,
3813 MAKASAR,
3814 null,
3815 CUNEIFORM,
3816 CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3817 EARLY_DYNASTIC_CUNEIFORM,
3818 null,
3819 EGYPTIAN_HIEROGLYPHS,
3820 null,
3821 ANATOLIAN_HIEROGLYPHS,
3822 null,
3823 BAMUM_SUPPLEMENT,
3824 MRO,
3825 null,
3826 BASSA_VAH,
3827 PAHAWH_HMONG,
3828 null,
3829 MEDEFAIDRIN,
3830 null,
3831 MIAO,
3832 null,
3833 IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3834 TANGUT,
3835 TANGUT_COMPONENTS,
3836 null,
3837 KANA_SUPPLEMENT,
3838 KANA_EXTENDED_A,
3839 null,
3840 NUSHU,
3841 null,
3842 DUPLOYAN,
3843 SHORTHAND_FORMAT_CONTROLS,
3844 null,
3845 BYZANTINE_MUSICAL_SYMBOLS,
3846 MUSICAL_SYMBOLS,
3847 ANCIENT_GREEK_MUSICAL_NOTATION,
3848 null,
3849 MAYAN_NUMERALS,
3850 TAI_XUAN_JING_SYMBOLS,
3851 COUNTING_ROD_NUMERALS,
3852 null,
3853 MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3854 SUTTON_SIGNWRITING,
3855 null,
3856 GLAGOLITIC_SUPPLEMENT,
3857 null,
3858 MENDE_KIKAKUI,
3859 null,
3860 ADLAM,
3861 null,
3862 INDIC_SIYAQ_NUMBERS,
3863 null,
3864 ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3865 null,
3866 MAHJONG_TILES,
3867 DOMINO_TILES,
3868 PLAYING_CARDS,
3869 ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3870 ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3871 MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3872 EMOTICONS,
3873 ORNAMENTAL_DINGBATS,
3874 TRANSPORT_AND_MAP_SYMBOLS,
3875 ALCHEMICAL_SYMBOLS,
3876 GEOMETRIC_SHAPES_EXTENDED,
3877 SUPPLEMENTAL_ARROWS_C,
3878 SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3879 CHESS_SYMBOLS,
3880 null,
3881 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3882 null,
3883 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3884 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3885 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
3886 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
3887 null,
3888 CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3889 null,
3890 TAGS,
3891 null,
3892 VARIATION_SELECTORS_SUPPLEMENT,
3893 null,
3894 SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3895 SUPPLEMENTARY_PRIVATE_USE_AREA_B
3896 };
3897
3898
3899 /**
3900 * Returns the object representing the Unicode block containing the
3901 * given character, or {@code null} if the character is not a
3902 * member of a defined block.
3903 *
3904 * <p><b>Note:</b> This method cannot handle
3905 * <a href="Character.html#supplementary"> supplementary
3906 * characters</a>. To support all Unicode characters, including
3907 * supplementary characters, use the {@link #of(int)} method.
3908 *
3909 * @param c The character in question
3910 * @return The {@code UnicodeBlock} instance representing the
3911 * Unicode block of which this character is a member, or
3912 * {@code null} if the character is not a member of any
3913 * Unicode block
3914 */
3915 public static UnicodeBlock of(char c) {
4793
4794 /**
4795 * Unicode script "Gunjala Gondi".
4796 * @since 12
4797 */
4798 GUNJALA_GONDI,
4799
4800 /**
4801 * Unicode script "Makasar".
4802 * @since 12
4803 */
4804 MAKASAR,
4805
4806 /**
4807 * Unicode script "Medefaidrin".
4808 * @since 12
4809 */
4810 MEDEFAIDRIN,
4811
4812 /**
4813 * Unicode script "Unknown".
4814 */
4815 UNKNOWN;
4816
4817 private static final int[] scriptStarts = {
4818 0x0000, // 0000..0040; COMMON
4819 0x0041, // 0041..005A; LATIN
4820 0x005B, // 005B..0060; COMMON
4821 0x0061, // 0061..007A; LATIN
4822 0x007B, // 007B..00A9; COMMON
4823 0x00AA, // 00AA ; LATIN
4824 0x00AB, // 00AB..00B9; COMMON
4825 0x00BA, // 00BA ; LATIN
4826 0x00BB, // 00BB..00BF; COMMON
4827 0x00C0, // 00C0..00D6; LATIN
4828 0x00D7, // 00D7 ; COMMON
4829 0x00D8, // 00D8..00F6; LATIN
4830 0x00F7, // 00F7 ; COMMON
4831 0x00F8, // 00F8..02B8; LATIN
4832 0x02B9, // 02B9..02DF; COMMON
4886 0x061F, // 061F ; COMMON
4887 0x0620, // 0620..063F; ARABIC
4888 0x0640, // 0640 ; COMMON
4889 0x0641, // 0641..064A; ARABIC
4890 0x064B, // 064B..0655; INHERITED
4891 0x0656, // 0656..066F; ARABIC
4892 0x0670, // 0670 ; INHERITED
4893 0x0671, // 0671..06DC; ARABIC
4894 0x06DD, // 06DD ; COMMON
4895 0x06DE, // 06DE..06FF; ARABIC
4896 0x0700, // 0700..070D; SYRIAC
4897 0x070E, // 070E ; UNKNOWN
4898 0x070F, // 070F..074A; SYRIAC
4899 0x074B, // 074B..074C; UNKNOWN
4900 0x074D, // 074D..074F; SYRIAC
4901 0x0750, // 0750..077F; ARABIC
4902 0x0780, // 0780..07B1; THAANA
4903 0x07B2, // 07B2..07BF; UNKNOWN
4904 0x07C0, // 07C0..07FA; NKO
4905 0x07FB, // 07FB..07FC; UNKNOWN
4906 0X07FD, // 07FD..07FF; NKO
4907 0x0800, // 0800..082D; SAMARITAN
4908 0x082E, // 082E..082F; UNKNOWN
4909 0x0830, // 0830..083E; SAMARITAN
4910 0x083F, // 083F ; UNKNOWN
4911 0x0840, // 0840..085B; MANDAIC
4912 0x085C, // 085C..085D; UNKNOWN
4913 0x085E, // 085E ; MANDAIC
4914 0x085F, // 085F ; UNKNOWN
4915 0x0860, // 0860..086A; SYRIAC
4916 0x086B, // 086B..089F; UNKNOWN
4917 0x08A0, // 08A0..08B4; ARABIC
4918 0x08B5, // 08B5 ; UNKNOWN
4919 0x08B6, // 08B6..08BD; ARABIC
4920 0x08BE, // 08BE..08D2; UNKNOWN
4921 0x08D3, // 08D3..08E1; ARABIC
4922 0x08E2, // 08E2 ; COMMON
4923 0x08E3, // 08E3..08FF; ARABIC
4924 0x0900, // 0900..0950; DEVANAGARI
4925 0x0951, // 0951..0952; INHERITED
4926 0x0953, // 0953..0963; DEVANAGARI
4927 0x0964, // 0964..0965; COMMON
4928 0x0966, // 0966..097F; DEVANAGARI
4929 0x0980, // 0980..0983; BENGALI
4930 0x0984, // 0984 ; UNKNOWN
4931 0x0985, // 0985..098C; BENGALI
4932 0x098D, // 098D..098E; UNKNOWN
4933 0x098F, // 098F..0990; BENGALI
4934 0x0991, // 0991..0992; UNKNOWN
4935 0x0993, // 0993..09A8; BENGALI
4936 0x09A9, // 09A9 ; UNKNOWN
4937 0x09AA, // 09AA..09B0; BENGALI
4938 0x09B1, // 09B1 ; UNKNOWN
4939 0x09B2, // 09B2 ; BENGALI
4940 0x09B3, // 09B3..09B5; UNKNOWN
4941 0x09B6, // 09B6..09B9; BENGALI
4942 0x09BA, // 09BA..09BB; UNKNOWN
4943 0x09BC, // 09BC..09C4; BENGALI
4944 0x09C5, // 09C5..09C6; UNKNOWN
4945 0x09C7, // 09C7..09C8; BENGALI
4946 0x09C9, // 09C9..09CA; UNKNOWN
5078 0x0C0D, // 0C0D ; UNKNOWN
5079 0x0C0E, // 0C0E..0C10; TELUGU
5080 0x0C11, // 0C11 ; UNKNOWN
5081 0x0C12, // 0C12..0C28; TELUGU
5082 0x0C29, // 0C29 ; UNKNOWN
5083 0x0C2A, // 0C2A..0C39; TELUGU
5084 0x0C3A, // 0C3A..0C3C; UNKNOWN
5085 0x0C3D, // 0C3D..0C44; TELUGU
5086 0x0C45, // 0C45 ; UNKNOWN
5087 0x0C46, // 0C46..0C48; TELUGU
5088 0x0C49, // 0C49 ; UNKNOWN
5089 0x0C4A, // 0C4A..0C4D; TELUGU
5090 0x0C4E, // 0C4E..0C54; UNKNOWN
5091 0x0C55, // 0C55..0C56; TELUGU
5092 0x0C57, // 0C57 ; UNKNOWN
5093 0x0C58, // 0C58..0C5A; TELUGU
5094 0x0C5B, // 0C5B..0C5F; UNKNOWN
5095 0x0C60, // 0C60..0C63; TELUGU
5096 0x0C64, // 0C64..0C65; UNKNOWN
5097 0x0C66, // 0C66..0C6F; TELUGU
5098 0x0C70, // 0C70..0C77; UNKNOWN
5099 0x0C78, // 0C78..0C7F; TELUGU
5100 0x0C80, // 0C80..0C8C; KANNADA
5101 0x0C8D, // 0C8D ; UNKNOWN
5102 0x0C8E, // 0C8E..0C90; KANNADA
5103 0x0C91, // 0C91 ; UNKNOWN
5104 0x0C92, // 0C92..0CA8; KANNADA
5105 0x0CA9, // 0CA9 ; UNKNOWN
5106 0x0CAA, // 0CAA..0CB3; KANNADA
5107 0x0CB4, // 0CB4 ; UNKNOWN
5108 0x0CB5, // 0CB5..0CB9; KANNADA
5109 0x0CBA, // 0CBA..0CBB; UNKNOWN
5110 0x0CBC, // 0CBC..0CC4; KANNADA
5111 0x0CC5, // 0CC5 ; UNKNOWN
5112 0x0CC6, // 0CC6..0CC8; KANNADA
5113 0x0CC9, // 0CC9 ; UNKNOWN
5114 0x0CCA, // 0CCA..0CCD; KANNADA
5115 0x0CCE, // 0CCE..0CD4; UNKNOWN
5116 0x0CD5, // 0CD5..0CD6; KANNADA
5117 0x0CD7, // 0CD7..0CDD; UNKNOWN
5118 0x0CDE, // 0CDE ; KANNADA
5119 0x0CDF, // 0CDF ; UNKNOWN
5154 0x0DCA, // 0DCA ; SINHALA
5155 0x0DCB, // 0DCB..0DCE; UNKNOWN
5156 0x0DCF, // 0DCF..0DD4; SINHALA
5157 0x0DD5, // 0DD5 ; UNKNOWN
5158 0x0DD6, // 0DD6 ; SINHALA
5159 0x0DD7, // 0DD7 ; UNKNOWN
5160 0x0DD8, // 0DD8..0DDF; SINHALA
5161 0x0DE0, // 0DE0..0DE5; UNKNOWN
5162 0x0DE6, // 0DE6..0DEF; SINHALA
5163 0x0DF0, // 0DF0..0DF1; UNKNOWN
5164 0x0DF2, // 0DF2..0DF4; SINHALA
5165 0x0DF5, // 0DF5..0E00; UNKNOWN
5166 0x0E01, // 0E01..0E3A; THAI
5167 0x0E3B, // 0E3B..0E3E; UNKNOWN
5168 0x0E3F, // 0E3F ; COMMON
5169 0x0E40, // 0E40..0E5B; THAI
5170 0x0E5C, // 0E5C..0E80; UNKNOWN
5171 0x0E81, // 0E81..0E82; LAO
5172 0x0E83, // 0E83 ; UNKNOWN
5173 0x0E84, // 0E84 ; LAO
5174 0x0E85, // 0E85..0E86; UNKNOWN
5175 0x0E87, // 0E87..0E88; LAO
5176 0x0E89, // 0E89 ; UNKNOWN
5177 0x0E8A, // 0E8A ; LAO
5178 0x0E8B, // 0E8B..0E8C; UNKNOWN
5179 0x0E8D, // 0E8D ; LAO
5180 0x0E8E, // 0E8E..0E93; UNKNOWN
5181 0x0E94, // 0E94..0E97; LAO
5182 0x0E98, // 0E98 ; UNKNOWN
5183 0x0E99, // 0E99..0E9F; LAO
5184 0x0EA0, // 0EA0 ; UNKNOWN
5185 0x0EA1, // 0EA1..0EA3; LAO
5186 0x0EA4, // 0EA4 ; UNKNOWN
5187 0x0EA5, // 0EA5 ; LAO
5188 0x0EA6, // 0EA6 ; UNKNOWN
5189 0x0EA7, // 0EA7 ; LAO
5190 0x0EA8, // 0EA8..0EA9; UNKNOWN
5191 0x0EAA, // 0EAA..0EAB; LAO
5192 0x0EAC, // 0EAC ; UNKNOWN
5193 0x0EAD, // 0EAD..0EB9; LAO
5194 0x0EBA, // 0EBA ; UNKNOWN
5195 0x0EBB, // 0EBB..0EBD; LAO
5196 0x0EBE, // 0EBE..0EBF; UNKNOWN
5197 0x0EC0, // 0EC0..0EC4; LAO
5198 0x0EC5, // 0EC5 ; UNKNOWN
5199 0x0EC6, // 0EC6 ; LAO
5200 0x0EC7, // 0EC7 ; UNKNOWN
5201 0x0EC8, // 0EC8..0ECD; LAO
5202 0x0ECE, // 0ECE..0ECF; UNKNOWN
5203 0x0ED0, // 0ED0..0ED9; LAO
5204 0x0EDA, // 0EDA..0EDB; UNKNOWN
5205 0x0EDC, // 0EDC..0EDF; LAO
5206 0x0EE0, // 0EE0..0EFF; UNKNOWN
5207 0x0F00, // 0F00..0F47; TIBETAN
5208 0x0F48, // 0F48 ; UNKNOWN
5209 0x0F49, // 0F49..0F6C; TIBETAN
5210 0x0F6D, // 0F6D..0F70; UNKNOWN
5211 0x0F71, // 0F71..0F97; TIBETAN
5212 0x0F98, // 0F98 ; UNKNOWN
5213 0x0F99, // 0F99..0FBC; TIBETAN
5214 0x0FBD, // 0FBD ; UNKNOWN
5215 0x0FBE, // 0FBE..0FCC; TIBETAN
5216 0x0FCD, // 0FCD ; UNKNOWN
5217 0x0FCE, // 0FCE..0FD4; TIBETAN
5218 0x0FD5, // 0FD5..0FD8; COMMON
5219 0x0FD9, // 0FD9..0FDA; TIBETAN
5220 0x0FDB, // 0FDB..FFF; UNKNOWN
5221 0x1000, // 1000..109F; MYANMAR
5222 0x10A0, // 10A0..10C5; GEORGIAN
5223 0x10C6, // 10C6 ; UNKNOWN
5224 0x10C7, // 10C7 ; GEORGIAN
5225 0x10C8, // 10C8..10CC; UNKNOWN
5226 0x10CD, // 10CD ; GEORGIAN
5227 0x10CE, // 10CE..10CF; UNKNOWN
5228 0x10D0, // 10D0..10FA; GEORGIAN
5229 0x10FB, // 10FB ; COMMON
5230 0x10FC, // 10FC..10FF; GEORGIAN
5231 0x1100, // 1100..11FF; HANGUL
5232 0x1200, // 1200..1248; ETHIOPIC
5233 0x1249, // 1249 ; UNKNOWN
5234 0x124A, // 124A..124D; ETHIOPIC
5235 0x124E, // 124E..124F; UNKNOWN
5236 0x1250, // 1250..1256; ETHIOPIC
5237 0x1257, // 1257 ; UNKNOWN
5238 0x1258, // 1258 ; ETHIOPIC
5239 0x1259, // 1259 ; UNKNOWN
5240 0x125A, // 125A..125D; ETHIOPIC
5345 0x1A9A, // 1A9A..1A9F; UNKNOWN
5346 0x1AA0, // 1AA0..1AAD; TAI_THAM
5347 0x1AAE, // 1AAE..1AAF; UNKNOWN
5348 0x1AB0, // 1AB0..1ABE; INHERITED
5349 0x1ABF, // 1ABF..1AFF; UNKNOWN
5350 0x1B00, // 1B00..1B4B; BALINESE
5351 0x1B4C, // 1B4C..1B4F; UNKNOWN
5352 0x1B50, // 1B50..1B7C; BALINESE
5353 0x1B7D, // 1B7D..1B7F; UNKNOWN
5354 0x1B80, // 1B80..1BBF; SUNDANESE
5355 0x1BC0, // 1BC0..1BF3; BATAK
5356 0x1BF4, // 1BF4..1BFB; UNKNOWN
5357 0x1BFC, // 1BFC..1BFF; BATAK
5358 0x1C00, // 1C00..1C37; LEPCHA
5359 0x1C38, // 1C38..1C3A; UNKNOWN
5360 0x1C3B, // 1C3B..1C49; LEPCHA
5361 0x1C4A, // 1C4A..1C4C; UNKNOWN
5362 0x1C4D, // 1C4D..1C4F; LEPCHA
5363 0x1C50, // 1C50..1C7F; OL_CHIKI
5364 0x1C80, // 1C80..1C88; CYRILLIC
5365 0x1C89, // 1C89 ; UNKNOWN
5366 0x1C90, // 1C90..1CBA; GEORGIAN
5367 0x1CBB, // 1CBB..1CBC; UNKNOWN
5368 0x1CBD, // 1CBD..1CBF; GEORGIAN
5369 0x1CC0, // 1CC0..1CC7; SUNDANESE
5370 0x1CC8, // 1CC8..1CCF; UNKNOWN
5371 0x1CD0, // 1CD0..1CD2; INHERITED
5372 0x1CD3, // 1CD3 ; COMMON
5373 0x1CD4, // 1CD4..1CE0; INHERITED
5374 0x1CE1, // 1CE1 ; COMMON
5375 0x1CE2, // 1CE2..1CE8; INHERITED
5376 0x1CE9, // 1CE9..1CEC; COMMON
5377 0x1CED, // 1CED ; INHERITED
5378 0x1CEE, // 1CEE..1CF3; COMMON
5379 0x1CF4, // 1CF4 ; INHERITED
5380 0x1CF5, // 1CF5..1CF7; COMMON
5381 0x1CF8, // 1CF8..1CF9; INHERITED
5382 0x1CFA, // 1CFA..1CFF; UNKNOWN
5383 0x1D00, // 1D00..1D25; LATIN
5384 0x1D26, // 1D26..1D2A; GREEK
5385 0x1D2B, // 1D2B ; CYRILLIC
5386 0x1D2C, // 1D2C..1D5C; LATIN
5387 0x1D5D, // 1D5D..1D61; GREEK
5388 0x1D62, // 1D62..1D65; LATIN
5389 0x1D66, // 1D66..1D6A; GREEK
5390 0x1D6B, // 1D6B..1D77; LATIN
5391 0x1D78, // 1D78 ; CYRILLIC
5392 0x1D79, // 1D79..1DBE; LATIN
5393 0x1DBF, // 1DBF ; GREEK
5394 0x1DC0, // 1DC0..1DF9; INHERITED
5395 0x1DFA, // 1DFA ; UNKNOWN
5396 0x1DFB, // 1DFB..1DFF; INHERITED
5397 0x1E00, // 1E00..1EFF; LATIN
5398 0x1F00, // 1F00..1F15; GREEK
5399 0x1F16, // 1F16..1F17; UNKNOWN
5400 0x1F18, // 1F18..1F1D; GREEK
5401 0x1F1E, // 1F1E..1F1F; UNKNOWN
5402 0x1F20, // 1F20..1F45; GREEK
5449 0x2127, // 2127..2129; COMMON
5450 0x212A, // 212A..212B; LATIN
5451 0x212C, // 212C..2131; COMMON
5452 0x2132, // 2132 ; LATIN
5453 0x2133, // 2133..214D; COMMON
5454 0x214E, // 214E ; LATIN
5455 0x214F, // 214F..215F; COMMON
5456 0x2160, // 2160..2188; LATIN
5457 0x2189, // 2189..218B; COMMON
5458 0x218C, // 218C..218F; UNKNOWN
5459 0x2190, // 2190..2426; COMMON
5460 0x2427, // 2427..243F; UNKNOWN
5461 0x2440, // 2440..244A; COMMON
5462 0x244B, // 244B..245F; UNKNOWN
5463 0x2460, // 2460..27FF; COMMON
5464 0x2800, // 2800..28FF; BRAILLE
5465 0x2900, // 2900..2B73; COMMON
5466 0x2B74, // 2B74..2B75; UNKNOWN
5467 0x2B76, // 2B76..2B95; COMMON
5468 0x2B96, // 2B96..2B97; UNKNOWN
5469 0x2B98, // 2B98..2BC8; COMMON
5470 0x2BC9, // 2BC9 ; UNKNOWN
5471 0x2BCA, // 2BCA..2BFE; COMMON
5472 0x2BFF, // 2BFF; UNKNOWN
5473 0x2C00, // 2C00..2C2E; GLAGOLITIC
5474 0x2C2F, // 2C2F ; UNKNOWN
5475 0x2C30, // 2C30..2C5E; GLAGOLITIC
5476 0x2C5F, // 2C5F ; UNKNOWN
5477 0x2C60, // 2C60..2C7F; LATIN
5478 0x2C80, // 2C80..2CF3; COPTIC
5479 0x2CF4, // 2CF4..2CF8; UNKNOWN
5480 0x2CF9, // 2CF9..2CFF; COPTIC
5481 0x2D00, // 2D00..2D25; GEORGIAN
5482 0x2D26, // 2D26 ; UNKNOWN
5483 0x2D27, // 2D27 ; GEORGIAN
5484 0x2D28, // 2D28..2D2C; UNKNOWN
5485 0x2D2D, // 2D2D ; GEORGIAN
5486 0x2D2E, // 2D2E..2D2F; UNKNOWN
5487 0x2D30, // 2D30..2D67; TIFINAGH
5488 0x2D68, // 2D68..2D6E; UNKNOWN
5489 0x2D6F, // 2D6F..2D70; TIFINAGH
5490 0x2D71, // 2D71..2D7E; UNKNOWN
5491 0x2D7F, // 2D7F ; TIFINAGH
5492 0x2D80, // 2D80..2D96; ETHIOPIC
5493 0x2D97, // 2D97..2D9F; UNKNOWN
5494 0x2DA0, // 2DA0..2DA6; ETHIOPIC
5495 0x2DA7, // 2DA7 ; UNKNOWN
5496 0x2DA8, // 2DA8..2DAE; ETHIOPIC
5497 0x2DAF, // 2DAF ; UNKNOWN
5498 0x2DB0, // 2DB0..2DB6; ETHIOPIC
5499 0x2DB7, // 2DB7 ; UNKNOWN
5500 0x2DB8, // 2DB8..2DBE; ETHIOPIC
5501 0x2DBF, // 2DBF ; UNKNOWN
5502 0x2DC0, // 2DC0..2DC6; ETHIOPIC
5503 0x2DC7, // 2DC7 ; UNKNOWN
5504 0x2DC8, // 2DC8..2DCE; ETHIOPIC
5505 0x2DCF, // 2DCF ; UNKNOWN
5506 0x2DD0, // 2DD0..2DD6; ETHIOPIC
5507 0x2DD7, // 2DD7 ; UNKNOWN
5508 0x2DD8, // 2DD8..2DDE; ETHIOPIC
5509 0x2DDF, // 2DDF ; UNKNOWN
5510 0x2DE0, // 2DE0..2DFF; CYRILLIC
5511 0x2E00, // 2E00..2E4E; COMMON
5512 0x2E4F, // 2E4F..2E7F; UNKNOWN
5513 0x2E80, // 2E80..2E99; HAN
5514 0x2E9A, // 2E9A ; UNKNOWN
5515 0x2E9B, // 2E9B..2EF3; HAN
5516 0x2EF4, // 2EF4..2EFF; UNKNOWN
5517 0x2F00, // 2F00..2FD5; HAN
5518 0x2FD6, // 2FD6..2FEF; UNKNOWN
5519 0x2FF0, // 2FF0..2FFB; COMMON
5520 0x2FFC, // 2FFC..2FFF; UNKNOWN
5521 0x3000, // 3000..3004; COMMON
5522 0x3005, // 3005 ; HAN
5523 0x3006, // 3006 ; COMMON
5524 0x3007, // 3007 ; HAN
5525 0x3008, // 3008..3020; COMMON
5526 0x3021, // 3021..3029; HAN
5527 0x302A, // 302A..302D; INHERITED
5528 0x302E, // 302E..302F; HANGUL
5529 0x3030, // 3030..3037; COMMON
5530 0x3038, // 3038..303B; HAN
5531 0x303C, // 303C..303F; COMMON
5532 0x3040, // 3040 ; UNKNOWN
5533 0x3041, // 3041..3096; HIRAGANA
5534 0x3097, // 3097..3098; UNKNOWN
5535 0x3099, // 3099..309A; INHERITED
5536 0x309B, // 309B..309C; COMMON
5537 0x309D, // 309D..309F; HIRAGANA
5538 0x30A0, // 30A0 ; COMMON
5539 0x30A1, // 30A1..30FA; KATAKANA
5540 0x30FB, // 30FB..30FC; COMMON
5541 0x30FD, // 30FD..30FF; KATAKANA
5542 0x3100, // 3100..3104; UNKNOWN
5543 0x3105, // 3105..312F; BOPOMOFO
5544 0x3130, // 3130; UNKNOWN
5545 0x3131, // 3131..318E; HANGUL
5546 0x318F, // 318F ; UNKNOWN
5547 0x3190, // 3190..319F; COMMON
5548 0x31A0, // 31A0..31BA; BOPOMOFO
5549 0x31BB, // 31BB..31BF; UNKNOWN
5550 0x31C0, // 31C0..31E3; COMMON
5551 0x31E4, // 31E4..31EF; UNKNOWN
5552 0x31F0, // 31F0..31FF; KATAKANA
5553 0x3200, // 3200..321E; HANGUL
5554 0x321F, // 321F ; UNKNOWN
5555 0x3220, // 3220..325F; COMMON
5556 0x3260, // 3260..327E; HANGUL
5557 0x327F, // 327F..32CF; COMMON
5558 0x32D0, // 32D0..32FE; KATAKANA
5559 0x32FF, // 32FF ; COMMON
5560 0x3300, // 3300..3357; KATAKANA
5561 0x3358, // 3358..33FF; COMMON
5562 0x3400, // 3400..4DB5; HAN
5563 0x4DB6, // 4DB6..4DBF; UNKNOWN
5564 0x4DC0, // 4DC0..4DFF; COMMON
5565 0x4E00, // 4E00..9FEF; HAN
5566 0x9FF0, // 9FF0..9FFF; UNKNOWN
5567 0xA000, // A000..A48C; YI
5568 0xA48D, // A48D..A48F; UNKNOWN
5569 0xA490, // A490..A4C6; YI
5570 0xA4C7, // A4C7..A4CF; UNKNOWN
5571 0xA4D0, // A4D0..A4FF; LISU
5572 0xA500, // A500..A62B; VAI
5573 0xA62C, // A62C..A63F; UNKNOWN
5574 0xA640, // A640..A69F; CYRILLIC
5575 0xA6A0, // A6A0..A6F7; BAMUM
5576 0xA6F8, // A6F8..A6FF; UNKNOWN
5577 0xA700, // A700..A721; COMMON
5578 0xA722, // A722..A787; LATIN
5579 0xA788, // A788..A78A; COMMON
5580 0xA78B, // A78B..A7B9; LATIN
5581 0xA7C0, // A7C0..A7F6; UNKNOWN
5582 0xA7F7, // A7F7..A7FF; LATIN
5583 0xA800, // A800..A82B; SYLOTI_NAGRI
5584 0xA82C, // A82C..A82F; UNKNOWN
5585 0xA830, // A830..A839; COMMON
5586 0xA83A, // A83A..A83F; UNKNOWN
5587 0xA840, // A840..A877; PHAGS_PA
5588 0xA878, // A878..A87F; UNKNOWN
5589 0xA880, // A880..A8C5; SAURASHTRA
5590 0xA8C6, // A8C6..A8CD; UNKNOWN
5591 0xA8CE, // A8CE..A8D9; SAURASHTRA
5592 0xA8DA, // A8DA..A8DF; UNKNOWN
5593 0xA8E0, // A8E0..A8FF; DEVANAGARI
5594 0xA900, // A900..A92D; KAYAH_LI
5595 0xA92E, // A92E ; COMMON
5596 0xA92F, // A92F ; KAYAH_LI
5597 0xA930, // A930..A953; REJANG
5598 0xA954, // A954..A95E; UNKNOWN
5599 0xA95F, // A95F ; REJANG
5600 0xA960, // A960..A97C; HANGUL
5601 0xA97D, // A97D..A97F; UNKNOWN
5617 0xAA60, // AA60..AA7F; MYANMAR
5618 0xAA80, // AA80..AAC2; TAI_VIET
5619 0xAAC3, // AAC3..AADA; UNKNOWN
5620 0xAADB, // AADB..AADF; TAI_VIET
5621 0xAAE0, // AAE0..AAF6; MEETEI_MAYEK
5622 0xAAF7, // AAF7..AB00; UNKNOWN
5623 0xAB01, // AB01..AB06; ETHIOPIC
5624 0xAB07, // AB07..AB08; UNKNOWN
5625 0xAB09, // AB09..AB0E; ETHIOPIC
5626 0xAB0F, // AB0F..AB10; UNKNOWN
5627 0xAB11, // AB11..AB16; ETHIOPIC
5628 0xAB17, // AB17..AB1F; UNKNOWN
5629 0xAB20, // AB20..AB26; ETHIOPIC
5630 0xAB27, // AB27 ; UNKNOWN
5631 0xAB28, // AB28..AB2E; ETHIOPIC
5632 0xAB2F, // AB2F ; UNKNOWN
5633 0xAB30, // AB30..AB5A; LATIN
5634 0xAB5B, // AB5B ; COMMON
5635 0xAB5C, // AB5C..AB64; LATIN
5636 0xAB65, // AB65 ; GREEK
5637 0xAB66, // AB66..AB6F; UNKNOWN
5638 0xAB70, // AB70..ABBF; CHEROKEE
5639 0xABC0, // ABC0..ABED; MEETEI_MAYEK
5640 0xABEE, // ABEE..ABEF; UNKNOWN
5641 0xABF0, // ABF0..ABF9; MEETEI_MAYEK
5642 0xABFA, // ABFA..ABFF; UNKNOWN
5643 0xAC00, // AC00..D7A3; HANGUL
5644 0xD7A4, // D7A4..D7AF; UNKNOWN
5645 0xD7B0, // D7B0..D7C6; HANGUL
5646 0xD7C7, // D7C7..D7CA; UNKNOWN
5647 0xD7CB, // D7CB..D7FB; HANGUL
5648 0xD7FC, // D7FC..F8FF; UNKNOWN
5649 0xF900, // F900..FA6D; HAN
5650 0xFA6E, // FA6E..FA6F; UNKNOWN
5651 0xFA70, // FA70..FAD9; HAN
5652 0xFADA, // FADA..FAFF; UNKNOWN
5653 0xFB00, // FB00..FB06; LATIN
5654 0xFB07, // FB07..FB12; UNKNOWN
5655 0xFB13, // FB13..FB17; ARMENIAN
5656 0xFB18, // FB18..FB1C; UNKNOWN
5657 0xFB1D, // FB1D..FB36; HEBREW
5854 0x10B39, // 10B39..10B3F; AVESTAN
5855 0x10B40, // 10B40..10B55; INSCRIPTIONAL_PARTHIAN
5856 0x10B56, // 10B56..10B57; UNKNOWN
5857 0x10B58, // 10B58..10B5F; INSCRIPTIONAL_PARTHIAN
5858 0x10B60, // 10B60..10B72; INSCRIPTIONAL_PAHLAVI
5859 0x10B73, // 10B73..10B77; UNKNOWN
5860 0x10B78, // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5861 0x10B80, // 10B80..10B91; PSALTER_PAHLAVI
5862 0x10B92, // 10B92..10B98; UNKNOWN
5863 0x10B99, // 10B99..10B9C; PSALTER_PAHLAVI
5864 0x10B9D, // 10B9D..10BA8; UNKNOWN
5865 0x10BA9, // 10BA9..10BAF; PSALTER_PAHLAVI
5866 0x10BB0, // 10BB0..10BFF; UNKNOWN
5867 0x10C00, // 10C00..10C48; OLD_TURKIC
5868 0x10C49, // 10C49..10C7F; UNKNOWN
5869 0x10C80, // 10C80..10CB2; OLD_HUNGARIAN
5870 0x10CB3, // 10CB3..10CBF; UNKNOWN
5871 0x10CC0, // 10CC0..10CF2; OLD_HUNGARIAN
5872 0x10CF3, // 10CF3..10CF9; UNKNOWN
5873 0x10CFA, // 10CFA..10CFF; OLD_HUNGARIAN
5874 0x10D00, // 10D00..10D27; HANIFI ROHINGYA
5875 0x10D28, // 10D28..10D29; UNKNOWN
5876 0x10D30, // 10D30..10D39; HANIFI ROHINGYA
5877 0x10D3A, // 10D3A..10E5F; UNKNOWN
5878 0x10E60, // 10E60..10E7E; ARABIC
5879 0x10E7F, // 10E7F..10EFF; UNKNOWN
5880 0x10F00, // 10F00..10F27; OLD SOGDIAN
5881 0x10F28, // 10F28..10F2F; UNKNOWN
5882 0x10F30, // 10F30..10F59; SOGDIAN
5883 0x10F5A, // 10F5A..10FFF; UNKNOWN
5884 0x11000, // 11000..1104D; BRAHMI
5885 0x1104E, // 1104E..11051; UNKNOWN
5886 0x11052, // 11052..1106F; BRAHMI
5887 0x11070, // 11070..1107E; UNKNOWN
5888 0x1107F, // 1107F ; BRAHMI
5889 0x11080, // 11080..110C1; KAITHI
5890 0x110C2, // 110C2..110CC; UNKNOWN
5891 0x110CD, // 110CD ; KAITHI
5892 0x110CE, // 110CE..110CF; UNKNOWN
5893 0x110D0, // 110D0..110E8; SORA_SOMPENG
5894 0x110E9, // 110E9..110EF; UNKNOWN
5895 0x110F0, // 110F0..110F9; SORA_SOMPENG
5896 0x110FA, // 110FA..110FF; UNKNOWN
5897 0x11100, // 11100..11134; CHAKMA
5898 0x11135, // 11135 ; UNKNOWN
5899 0x11136, // 11136..11146; CHAKMA
5900 0x11147, // 11147..1114F; UNKNOWN
5901 0x11150, // 11150..11176; MAHAJANI
5902 0x11177, // 11177..1117F; UNKNOWN
5903 0x11180, // 11180..111CD; SHARADA
5942 0x1133C, // 1133C..11344; GRANTHA
5943 0x11345, // 11345..11346; UNKNOWN
5944 0x11347, // 11347..11348; GRANTHA
5945 0x11349, // 11349..1134A; UNKNOWN
5946 0x1134B, // 1134B..1134D; GRANTHA
5947 0x1134E, // 1134E..1134F; UNKNOWN
5948 0x11350, // 11350 ; GRANTHA
5949 0x11351, // 11351..11356; UNKNOWN
5950 0x11357, // 11357 ; GRANTHA
5951 0x11358, // 11358..1135C; UNKNOWN
5952 0x1135D, // 1135D..11363; GRANTHA
5953 0x11364, // 11364..11365; UNKNOWN
5954 0x11366, // 11366..1136C; GRANTHA
5955 0x1136D, // 1136D..1136F; UNKNOWN
5956 0x11370, // 11370..11374; GRANTHA
5957 0x11375, // 11375..113FF; UNKNOWN
5958 0x11400, // 11400..11459; NEWA
5959 0x1145A, // 1145A ; UNKNOWN
5960 0x1145B, // 1145B ; NEWA
5961 0x1145C, // 1145C ; UNKNOWN
5962 0x1145D, // 1145D..1145E; NEWA
5963 0x1145F, // 1145F..1147F; UNKNOWN
5964 0x11480, // 11480..114C7; TIRHUTA
5965 0x114C8, // 114C8..114CF; UNKNOWN
5966 0x114D0, // 114D0..114D9; TIRHUTA
5967 0x114DA, // 114DA..1157F; UNKNOWN
5968 0x11580, // 11580..115B5; SIDDHAM
5969 0x115B6, // 115B6..115B7; UNKNOWN
5970 0x115B8, // 115B8..115DD; SIDDHAM
5971 0x115DE, // 115DE..115FF; UNKNOWN
5972 0x11600, // 11600..11644; MODI
5973 0x11645, // 11645..1164F; UNKNOWN
5974 0x11650, // 11650..11659; MODI
5975 0x1165A, // 1165A..1165F; UNKNOWN
5976 0x11660, // 11660..1166C; MONGOLIAN
5977 0X1166D, // 1166D..1167F; UNKNOWN
5978 0x11680, // 11680..116B7; TAKRI
5979 0x116B8, // 116B8..116BF; UNKNOWN
5980 0x116C0, // 116C0..116C9; TAKRI
5981 0x116CA, // 116CA..116FF; UNKNOWN
5982 0x11700, // 11700..1171A; AHOM
5983 0x1171B, // 1171B..1171C; UNKNOWN
5984 0x1171D, // 1171D..1172B; AHOM
5985 0x1172C, // 1172C..1172F; UNKNOWN
5986 0x11730, // 11730..1173F; AHOM
5987 0x11740, // 11740..117FF; UNKNOWN
5988 0x11800, // 11800..1183B; DOGRA
5989 0x1183C, // 1183C..1189F; UNKNOWN
5990 0x118A0, // 118A0..118F2; WARANG_CITI
5991 0x118F3, // 118F3..118FE; UNKNOWN
5992 0x118FF, // 118FF ; WARANG_CITI
5993 0x11900, // 11900..119FF; UNKNOWN
5994 0x11A00, // 11A00..11A47; ZANABAZAR_SQUARE
5995 0X11A48, // 11A48..11A4F; UNKNOWN
5996 0x11A50, // 11A50..11A83; SOYOMBO
5997 0x11A84, // 11A84..11A85; UNKNOWN
5998 0x11A86, // 11A86..11AA2; SOYOMBO
5999 0x11AA3, // 11AA3..11ABF; UNKNOWN
6000 0x11AC0, // 11AC0..11AF8; PAU_CIN_HAU
6001 0x11AF9, // 11AF9..11BFF; UNKNOWN
6002 0x11C00, // 11C00..11C08; BHAIKSUKI
6003 0x11C09, // 11C09 ; UNKNOWN
6004 0x11C0A, // 11C0A..11C36; BHAIKSUKI
6005 0x11C37, // 11C37 ; UNKNOWN
6006 0x11C38, // 11C38..11C45; BHAIKSUKI
6007 0x11C46, // 11C46..11C49; UNKNOWN
6008 0x11C50, // 11C50..11C6C; BHAIKSUKI
6009 0x11C6D, // 11C6D..11C6F; UNKNOWN
6010 0x11C70, // 11C70..11C8F; MARCHEN
6011 0x11C90, // 11C90..11C91; UNKNOWN
6012 0x11C92, // 11C92..11CA7; MARCHEN
6013 0x11CA8, // 11CA8 ; UNKNOWN
6014 0x11CA9, // 11CA9..11CB6; MARCHEN
6015 0x11CB7, // 11CB7..11CFF; UNKNOWN
6016 0x11D00, // 11D00..11D06; MASARAM_GONDI
6017 0x11D07, // 11D07 ; UNKNOWN
6018 0x11D08, // 11D08..11D09; MASARAM_GONDI
6019 0x11D0A, // 11D0A ; UNKNOWN
6020 0x11D0B, // 11D0B..11D36; MASARAM_GONDI
6021 0x11D37, // 11D37..11D39; UNKNOWN
6022 0x11D3A, // 11D3A ; MASARAM_GONDI
6023 0x11D3B, // 11D3B ; UNKNOWN
6024 0x11D3C, // 11D3C..11D3D; MASARAM_GONDI
6025 0x11D3E, // 11D3E ; UNKNOWN
6026 0x11D3F, // 11D3F..11D47; MASARAM_GONDI
6027 0x11D48, // 11D48..11D49, UNKNOWN
6028 0x11D50, // 11D50..11D59; MASARAM_GONDI
6029 0x11D5A, // 11D5A..11D5F; UNKNOWN
6030 0x11D60, // 11D60..11D68; GUNJALA GONDI
6031 0x11D69, // ; UNKNOWN
6032 0x11D6A, // 11D6A..11D8E; GUNJALA GONDI
6033 0x11D8F, // ; UNKNOWN
6034 0x11D90, // 11D90..11D91; GUNJALA GONDI
6035 0x11D92, // ; UNKNOWN
6036 0x11D93, // 11D93..11D98; GUNJALA GONDI
6037 0x11D99, // 11D99 ; UNKNOWN
6038 0x11DA0, // 11DA0..11DA9; GUNJALA GONDI
6039 0x11DAA, // 11DAA..11DFF; UNKNOWN
6040 0x11EE0, // 11EE0..11EF8; MAKASAR
6041 0x11EF9, // 11EF9..11FFF; UNKNOWN
6042 0x12000, // 12000..12399; CUNEIFORM
6043 0x1239A, // 1239A..123FF; UNKNOWN
6044 0x12400, // 12400..1246E; CUNEIFORM
6045 0x1246F, // 1246F ; UNKNOWN
6046 0x12470, // 12470..12474; CUNEIFORM
6047 0x12475, // 12475..1247F; UNKNOWN
6048 0x12480, // 12480..12543; CUNEIFORM
6049 0x12544, // 12544..12FFF; UNKNOWN
6050 0x13000, // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6051 0x1342F, // 1342F..143FF; UNKNOWN
6052 0x14400, // 14400..14646; ANATOLIAN_HIEROGLYPHS
6053 0x14647, // 14647..167FF; UNKNOWN
6054 0x16800, // 16800..16A38; BAMUM
6055 0x16A39, // 16A39..16A3F; UNKNOWN
6056 0x16A40, // 16A40..16A5E; MRO
6057 0x16A5F, // 16A5F ; UNKNOWN
6058 0x16A60, // 16A60..16A69; MRO
6059 0x16A6A, // 16A6A..16A6D; UNKNOWN
6060 0x16A6E, // 16A6E..16A6F; MRO
6061 0x16A70, // 16A70..16ACF; UNKNOWN
6062 0x16AD0, // 16AD0..16AED; BASSA_VAH
6063 0x16AEE, // 16AEE..16AEF; UNKNOWN
6064 0x16AF0, // 16AF0..16AF5; BASSA_VAH
6065 0x16AF6, // 16AF6..16AFF; UNKNOWN
6066 0x16B00, // 16B00..16B45; PAHAWH_HMONG
6067 0x16B46, // 16B46..16B4F; UNKNOWN
6068 0x16B50, // 16B50..16B59; PAHAWH_HMONG
6069 0x16B5A, // 16B5A ; UNKNOWN
6070 0x16B5B, // 16B5B..16B61; PAHAWH_HMONG
6071 0x16B62, // 16B62 ; UNKNOWN
6072 0x16B63, // 16B63..16B77; PAHAWH_HMONG
6073 0x16B78, // 16B78..16B7C; UNKNOWN
6074 0x16B7D, // 16B7D..16B8F; PAHAWH_HMONG
6075 0x16B90, // 16B90..16E3F; UNKNOWN
6076 0x16E40, // 16E40..16E9A; MEDEFAIDRIN
6077 0x16E9B, // 16E9B..16EFF; UNKNOWN
6078 0x16F00, // 16F00..16F44; MIAO
6079 0x16F45, // 16F45..16F4F; UNKNOWN
6080 0x16F50, // 16F50..16F7E; MIAO
6081 0x16F7F, // 16F7F..16F8E; UNKNOWN
6082 0x16F8F, // 16F8F..16F9F; MIAO
6083 0x16FA0, // 16FA0..16FDF; UNKNOWN
6084 0x16FE0, // 16FE0 ; TANGUT
6085 0x16FE1, // 16FE1 ; NUSHU
6086 0x16FE2, // 16FE2..16FFF; UNKNOWN
6087 0x17000, // 17000..187F1; TANGUT
6088 0x187F2, // 187F2..187FF; UNKNOWN
6089 0x18800, // 18800..18AF2; TANGUT
6090 0x18AF3, // 18AF3..1AFFF; UNKNOWN
6091 0x1B000, // 1B000 ; KATAKANA
6092 0x1B001, // 1B001..1B11E; HIRAGANA
6093 0x1B11F, // 1B11F..1B16F; UNKNOWN
6094 0x1B170, // 1B170..1B2FB; NUSHU
6095 0x1B2FC, // 1B2FC..1BBFF; UNKNOWN
6096 0x1BC00, // 1BC00..1BC6A; DUPLOYAN
6097 0x1BC6B, // 1BC6B..1BC6F; UNKNOWN
6098 0x1BC70, // 1BC70..1BC7C; DUPLOYAN
6099 0x1BC7D, // 1BC7D..1BC7F; UNKNOWN
6100 0x1BC80, // 1BC80..1BC88; DUPLOYAN
6101 0x1BC89, // 1BC89..1BC8F; UNKNOWN
6102 0x1BC90, // 1BC90..1BC99; DUPLOYAN
6103 0x1BC9A, // 1BC9A..1BC9B; UNKNOWN
6104 0x1BC9C, // 1BC9C..1BC9F; DUPLOYAN
6105 0x1BCA0, // 1BCA0..1BCA3; COMMON
6106 0x1BCA4, // 1BCA4..1CFFF; UNKNOWN
6107 0x1D000, // 1D000..1D0F5; COMMON
6108 0x1D0F6, // 1D0F6..1D0FF; UNKNOWN
6109 0x1D100, // 1D100..1D126; COMMON
6110 0x1D127, // 1D127..1D128; UNKNOWN
6111 0x1D129, // 1D129..1D166; COMMON
6112 0x1D167, // 1D167..1D169; INHERITED
6113 0x1D16A, // 1D16A..1D17A; COMMON
6165 0x1D552, // 1D552..1D6A5; COMMON
6166 0x1D6A6, // 1D6A6..1D6A7; UNKNOWN
6167 0x1D6A8, // 1D6A8..1D7CB; COMMON
6168 0x1D7CC, // 1D7CC..1D7CD; UNKNOWN
6169 0x1D7CE, // 1D7CE..1D7FF; COMMON
6170 0x1D800, // 1D800..1DA8B; SIGNWRITING
6171 0x1DA8C, // 1DA8C..1DA9A; UNKNOWN
6172 0x1DA9B, // 1DA9B..1DA9F; SIGNWRITING
6173 0x1DAA0, // 1DAA0 ; UNKNOWN
6174 0x1DAA1, // 1DAA1..1DAAF; SIGNWRITING
6175 0x1DAB0, // 1DAB0..1DFFF; UNKNOWN
6176 0x1E000, // 1E000..1E006; GLAGOLITIC
6177 0x1E007, // 1E007 ; UNKNOWN
6178 0x1E008, // 1E008..1E018; GLAGOLITIC
6179 0x1E019, // 1E019..1E01A; UNKNOWN
6180 0x1E01B, // 1E01B..1E021; GLAGOLITIC
6181 0x1E022, // 1E022 ; UNKNOWN
6182 0x1E023, // 1E023..1E024; GLAGOLITIC
6183 0x1E025, // 1E025 ; UNKNOWN
6184 0x1E026, // 1E026..1E02A; GLAGOLITIC
6185 0x1E02B, // 1E02B..1E7FF; UNKNOWN
6186 0x1E800, // 1E800..1E8C4; MENDE_KIKAKUI
6187 0x1E8C5, // 1E8C5..1E8C6; UNKNOWN
6188 0x1E8C7, // 1E8C7..1E8D6; MENDE_KIKAKUI
6189 0x1E8D7, // 1E8D7..1E8FF; UNKNOWN
6190 0x1E900, // 1E900..1E94A; ADLAM
6191 0x1E94B, // 1E94B..1E94F; UNKNOWN
6192 0x1E950, // 1E950..1E959; ADLAM
6193 0x1E95A, // 1E95A..1E95D; UNKNOWN
6194 0x1E95E, // 1E95E..1E95F; ADLAM
6195 0x1E960, // 1E960..1EC70; UNKNOWN
6196 0x1EC71, // 1EC71..1ECB4; COMMON
6197 0x1ECB5, // 1ECB5..1EDFF; UNKNOWN
6198 0x1EE00, // 1EE00..1EE03; ARABIC
6199 0x1EE04, // 1EE04 ; UNKNOWN
6200 0x1EE05, // 1EE05..1EE1F; ARABIC
6201 0x1EE20, // 1EE20 ; UNKNOWN
6202 0x1EE21, // 1EE21..1EE22; ARABIC
6203 0x1EE23, // 1EE23 ; UNKNOWN
6204 0x1EE24, // 1EE24 ; ARABIC
6205 0x1EE25, // 1EE25..1EE26; UNKNOWN
6206 0x1EE27, // 1EE27 ; ARABIC
6207 0x1EE28, // 1EE28 ; UNKNOWN
6208 0x1EE29, // 1EE29..1EE32; ARABIC
6209 0x1EE33, // 1EE33 ; UNKNOWN
6210 0x1EE34, // 1EE34..1EE37; ARABIC
6211 0x1EE38, // 1EE38 ; UNKNOWN
6212 0x1EE39, // 1EE39 ; ARABIC
6213 0x1EE3A, // 1EE3A ; UNKNOWN
6214 0x1EE3B, // 1EE3B ; ARABIC
6215 0x1EE3C, // 1EE3C..1EE41; UNKNOWN
6216 0x1EE42, // 1EE42 ; ARABIC
6217 0x1EE43, // 1EE43..1EE46; UNKNOWN
6260 0x1EEA5, // 1EEA5..1EEA9; ARABIC
6261 0x1EEAA, // 1EEAA ; UNKNOWN
6262 0x1EEAB, // 1EEAB..1EEBB; ARABIC
6263 0x1EEBC, // 1EEBC..1EEEF; UNKNOWN
6264 0x1EEF0, // 1EEF0..1EEF1; ARABIC
6265 0x1EEF2, // 1EEF2..1EFFF; UNKNOWN
6266 0x1F000, // 1F000..1F02B; COMMON
6267 0x1F02C, // 1F02C..1F02F; UNKNOWN
6268 0x1F030, // 1F030..1F093; COMMON
6269 0x1F094, // 1F094..1F09F; UNKNOWN
6270 0x1F0A0, // 1F0A0..1F0AE; COMMON
6271 0x1F0AF, // 1F0AF..1F0B0; UNKNOWN
6272 0x1F0B1, // 1F0B1..1F0BF; COMMON
6273 0x1F0C0, // 1F0C0 ; UNKNOWN
6274 0x1F0C1, // 1F0C1..1F0CF; COMMON
6275 0x1F0D0, // 1F0D0 ; UNKNOWN
6276 0x1F0D1, // 1F0D1..1F0F5; COMMON
6277 0x1F0F6, // 1F0F6..1F0FF; UNKNOWN
6278 0x1F100, // 1F100..1F10C; COMMON
6279 0x1F10D, // 1F10D..1F10F; UNKNOWN
6280 0x1F110, // 1F110..1F16B; COMMON
6281 0x1F16C, // 1F16C..1F16F; UNKNOWN
6282 0x1F170, // 1F170..1F1AC; COMMON
6283 0x1F1AD, // 1F1AD..1F1E5; UNKNOWN
6284 0x1F1E6, // 1F1E6..1F1FF; COMMON
6285 0x1F200, // 1F200 ; HIRAGANA
6286 0x1F201, // 1F201..1F202; COMMON
6287 0x1F203, // 1F203..1F20F; UNKNOWN
6288 0x1F210, // 1F210..1F23B; COMMON
6289 0x1F23C, // 1F23C..1F23F; UNKNOWN
6290 0x1F240, // 1F240..1F248; COMMON
6291 0x1F249, // 1F249..1F24F; UNKNOWN
6292 0x1F250, // 1F250..1F251; COMMON
6293 0x1F252, // 1F252..1F25F; UNKNOWN
6294 0x1F260, // 1F260..1F265; COMMON
6295 0x1F266, // 1F266..1F2FF; UNKNOWN
6296 0x1F300, // 1F300..1F6D4; COMMON
6297 0x1F6D5, // 1F6D5..1F6DF; UNKNOWN
6298 0x1F6E0, // 1F6E0..1F6EC; COMMON
6299 0x1F6ED, // 1F6ED..1F6EF; UNKNOWN
6300 0x1F6F0, // 1F6F0..1F6F9; COMMON
6301 0x1F6FA, // 1F6FA..1F6FF; UNKNOWN
6302 0x1F700, // 1F700..1F773; COMMON
6303 0x1F774, // 1F774..1F77F; UNKNOWN
6304 0x1F780, // 1F780..1F7D8; COMMON
6305 0x1F7D9, // 1F7D9..1F7FF; UNKNOWN
6306 0x1F800, // 1F800..1F80B; COMMON
6307 0x1F80C, // 1F80C..1F80F; UNKNOWN
6308 0x1F810, // 1F810..1F847; COMMON
6309 0x1F848, // 1F848..1F84F; UNKNOWN
6310 0x1F850, // 1F850..1F859; COMMON
6311 0x1F85A, // 1F85A..1F85F; UNKNOWN
6312 0x1F860, // 1F860..1F887; COMMON
6313 0x1F888, // 1F888..1F88F; UNKNOWN
6314 0x1F890, // 1F890..1F8AD; COMMON
6315 0x1F8AE, // 1F8AE..1F8FF; UNKNOWN
6316 0x1F900, // 1F900..1F90B; COMMON
6317 0x1F90C, // 1F90C..1F90F; UNKNOWN
6318 0x1F910, // 1F910..1F93E; COMMON
6319 0x1F93F, // 1F93F ; UNKNOWN
6320 0x1F940, // 1F940..1F970; COMMON
6321 0x1F971, // 1F971..1F972; UNKNOWN
6322 0x1F973, // 1F973..1F976; COMMON
6323 0x1F977, // 1F977..1F979; UNKNOWN
6324 0x1F97A, // 1F97A ; COMMON
6325 0x1F97B, // 1F97B ; UNKNOWN
6326 0x1F97C, // 1F97C..1F9A2; COMMON
6327 0x1F9A3, // 1F9A3..1F9AF; UNKNOWN
6328 0x1F9B0, // 1F9B0..1F9B9; COMMON
6329 0x1F9BA, // 1F9BA..1F9BF; UNKNOWN
6330 0x1F9C0, // 1F9C0..1F9C2; COMMON
6331 0x1F9C3, // 1F9C3..1F9CF; UNKNOWN
6332 0x1F9D0, // 1F9D0..1F9FF; COMMON
6333 0x1FA00, // 1FA00..1FA5F; UNKNOWN
6334 0x1FA60, // 1FA60..1FA6D; COMMON
6335 0x1FA6E, // 1FA6E..1FFFF; UNKNOWN
6336 0x20000, // 20000..2A6D6; HAN
6337 0x2A6D7, // 2A6D7..2A6FF; UNKNOWN
6338 0x2A700, // 2A700..2B734; HAN
6339 0x2B735, // 2B735..2B73F; UNKNOWN
6340 0x2B740, // 2B740..2B81D; HAN
6341 0x2B81E, // 2B81E..2B81F; UNKNOWN
6342 0x2B820, // 2B820..2CEA1; HAN
6343 0x2CEA2, // 2CEA2..2CEAF; UNKNOWN
6344 0x2CEB0, // 2CEB0..2EBE0; HAN
6345 0x2EBE1, // 2EBE1..2F7FF; UNKNOWN
6346 0x2F800, // 2F800..2FA1D; HAN
6347 0x2FA1E, // 2FA1E..E0000; UNKNOWN
6348 0xE0001, // E0001 ; COMMON
6349 0xE0002, // E0002..E001F; UNKNOWN
6350 0xE0020, // E0020..E007F; COMMON
6351 0xE0080, // E0080..E00FF; UNKNOWN
6352 0xE0100, // E0100..E01EF; INHERITED
6353 0xE01F0 // E01F0..10FFFF; UNKNOWN
6354 };
6355
6356 private static final UnicodeScript[] scripts = {
6357 COMMON, // 0000..0040
6358 LATIN, // 0041..005A
6359 COMMON, // 005B..0060
6360 LATIN, // 0061..007A
6361 COMMON, // 007B..00A9
6362 LATIN, // 00AA
6363 COMMON, // 00AB..00B9
6364 LATIN, // 00BA
6365 COMMON, // 00BB..00BF
6366 LATIN, // 00C0..00D6
6367 COMMON, // 00D7
6368 LATIN, // 00D8..00F6
6369 COMMON, // 00F7
6370 LATIN, // 00F8..02B8
6371 COMMON, // 02B9..02DF
6372 LATIN, // 02E0..02E4
6373 COMMON, // 02E5..02E9
6444 UNKNOWN, // 07FB..07FC
6445 NKO, // 07FD..07FF
6446 SAMARITAN, // 0800..082D
6447 UNKNOWN, // 082E..082F
6448 SAMARITAN, // 0830..083E
6449 UNKNOWN, // 083F
6450 MANDAIC, // 0840..085B
6451 UNKNOWN, // 085C..085D
6452 MANDAIC, // 085E
6453 UNKNOWN, // 085F
6454 SYRIAC, // 0860..086A
6455 UNKNOWN, // 086B..089F
6456 ARABIC, // 08A0..08B4
6457 UNKNOWN, // 08B5
6458 ARABIC, // 08B6..08BD
6459 UNKNOWN, // 08BE..08D2
6460 ARABIC, // 08D3..08E1
6461 COMMON, // 08E2
6462 ARABIC, // 08E3..08FF
6463 DEVANAGARI, // 0900..0950
6464 INHERITED, // 0951..0952
6465 DEVANAGARI, // 0953..0963
6466 COMMON, // 0964..0965
6467 DEVANAGARI, // 0966..097F
6468 BENGALI, // 0980..0983
6469 UNKNOWN, // 0984
6470 BENGALI, // 0985..098C
6471 UNKNOWN, // 098D..098E
6472 BENGALI, // 098F..0990
6473 UNKNOWN, // 0991..0992
6474 BENGALI, // 0993..09A8
6475 UNKNOWN, // 09A9
6476 BENGALI, // 09AA..09B0
6477 UNKNOWN, // 09B1
6478 BENGALI, // 09B2
6479 UNKNOWN, // 09B3..09B5
6480 BENGALI, // 09B6..09B9
6481 UNKNOWN, // 09BA..09BB
6482 BENGALI, // 09BC..09C4
6483 UNKNOWN, // 09C5..09C6
6484 BENGALI, // 09C7..09C8
6485 UNKNOWN, // 09C9..09CA
6617 UNKNOWN, // 0C0D
6618 TELUGU, // 0C0E..0C10
6619 UNKNOWN, // 0C11
6620 TELUGU, // 0C12..0C28
6621 UNKNOWN, // 0C29
6622 TELUGU, // 0C2A..0C39
6623 UNKNOWN, // 0C3A..0C3C
6624 TELUGU, // 0C3D..0C44
6625 UNKNOWN, // 0C45
6626 TELUGU, // 0C46..0C48
6627 UNKNOWN, // 0C49
6628 TELUGU, // 0C4A..0C4D
6629 UNKNOWN, // 0C4E..0C54
6630 TELUGU, // 0C55..0C56
6631 UNKNOWN, // 0C57
6632 TELUGU, // 0C58..0C5A
6633 UNKNOWN, // 0C5B..0C5F
6634 TELUGU, // 0C60..0C63
6635 UNKNOWN, // 0C64..0C65
6636 TELUGU, // 0C66..0C6F
6637 UNKNOWN, // 0C70..0C77
6638 TELUGU, // 0C78..0C7F
6639 KANNADA, // 0C80..0C8C
6640 UNKNOWN, // 0C8D
6641 KANNADA, // 0C8E..0C90
6642 UNKNOWN, // 0C91
6643 KANNADA, // 0C92..0CA8
6644 UNKNOWN, // 0CA9
6645 KANNADA, // 0CAA..0CB3
6646 UNKNOWN, // 0CB4
6647 KANNADA, // 0CB5..0CB9
6648 UNKNOWN, // 0CBA..0CBB
6649 KANNADA, // 0CBC..0CC4
6650 UNKNOWN, // 0CC5
6651 KANNADA, // 0CC6..0CC8
6652 UNKNOWN, // 0CC9
6653 KANNADA, // 0CCA..0CCD
6654 UNKNOWN, // 0CCE..0CD4
6655 KANNADA, // 0CD5..0CD6
6656 UNKNOWN, // 0CD7..0CDD
6657 KANNADA, // 0CDE
6658 UNKNOWN, // 0CDF
6693 SINHALA, // 0DCA
6694 UNKNOWN, // 0DCB..0DCE
6695 SINHALA, // 0DCF..0DD4
6696 UNKNOWN, // 0DD5
6697 SINHALA, // 0DD6
6698 UNKNOWN, // 0DD7
6699 SINHALA, // 0DD8..0DDF
6700 UNKNOWN, // 0DE0..0DE5
6701 SINHALA, // 0DE6..0DEF
6702 UNKNOWN, // 0DF0..0DF1
6703 SINHALA, // 0DF2..0DF4
6704 UNKNOWN, // 0DF5..0E00
6705 THAI, // 0E01..0E3A
6706 UNKNOWN, // 0E3B..0E3E
6707 COMMON, // 0E3F
6708 THAI, // 0E40..0E5B
6709 UNKNOWN, // 0E5C..0E80
6710 LAO, // 0E81..0E82
6711 UNKNOWN, // 0E83
6712 LAO, // 0E84
6713 UNKNOWN, // 0E85..0E86
6714 LAO, // 0E87..0E88
6715 UNKNOWN, // 0E89
6716 LAO, // 0E8A
6717 UNKNOWN, // 0E8B..0E8C
6718 LAO, // 0E8D
6719 UNKNOWN, // 0E8E..0E93
6720 LAO, // 0E94..0E97
6721 UNKNOWN, // 0E98
6722 LAO, // 0E99..0E9F
6723 UNKNOWN, // 0EA0
6724 LAO, // 0EA1..0EA3
6725 UNKNOWN, // 0EA4
6726 LAO, // 0EA5
6727 UNKNOWN, // 0EA6
6728 LAO, // 0EA7
6729 UNKNOWN, // 0EA8..0EA9
6730 LAO, // 0EAA..0EAB
6731 UNKNOWN, // 0EAC
6732 LAO, // 0EAD..0EB9
6733 UNKNOWN, // 0EBA
6734 LAO, // 0EBB..0EBD
6735 UNKNOWN, // 0EBE..0EBF
6736 LAO, // 0EC0..0EC4
6737 UNKNOWN, // 0EC5
6738 LAO, // 0EC6
6739 UNKNOWN, // 0EC7
6740 LAO, // 0EC8..0ECD
6741 UNKNOWN, // 0ECE..0ECF
6742 LAO, // 0ED0..0ED9
6743 UNKNOWN, // 0EDA..0EDB
6744 LAO, // 0EDC..0EDF
6745 UNKNOWN, // 0EE0..0EFF
6746 TIBETAN, // 0F00..0F47
6747 UNKNOWN, // 0F48
6748 TIBETAN, // 0F49..0F6C
6749 UNKNOWN, // 0F6D..0F70
6750 TIBETAN, // 0F71..0F97
6751 UNKNOWN, // 0F98
6752 TIBETAN, // 0F99..0FBC
6753 UNKNOWN, // 0FBD
6754 TIBETAN, // 0FBE..0FCC
6755 UNKNOWN, // 0FCD
6756 TIBETAN, // 0FCE..0FD4
6757 COMMON, // 0FD5..0FD8
6758 TIBETAN, // 0FD9..0FDA
6759 UNKNOWN, // 0FDB..FFF
6760 MYANMAR, // 1000..109F
6761 GEORGIAN, // 10A0..10C5
6762 UNKNOWN, // 10C6
6763 GEORGIAN, // 10C7
6764 UNKNOWN, // 10C8..10CC
6765 GEORGIAN, // 10CD
6766 UNKNOWN, // 10CE..10CF
6767 GEORGIAN, // 10D0..10FA
6768 COMMON, // 10FB
6769 GEORGIAN, // 10FC..10FF
6770 HANGUL, // 1100..11FF
6771 ETHIOPIC, // 1200..1248
6772 UNKNOWN, // 1249
6773 ETHIOPIC, // 124A..124D
6774 UNKNOWN, // 124E..124F
6775 ETHIOPIC, // 1250..1256
6776 UNKNOWN, // 1257
6777 ETHIOPIC, // 1258
6778 UNKNOWN, // 1259
6779 ETHIOPIC, // 125A..125D
6884 UNKNOWN, // 1A9A..1A9F
6885 TAI_THAM, // 1AA0..1AAD
6886 UNKNOWN, // 1AAE..1AAF
6887 INHERITED, // 1AB0..1ABE
6888 UNKNOWN, // 1ABF..1AFF
6889 BALINESE, // 1B00..1B4B
6890 UNKNOWN, // 1B4C..1B4F
6891 BALINESE, // 1B50..1B7C
6892 UNKNOWN, // 1B7D..1B7F
6893 SUNDANESE, // 1B80..1BBF
6894 BATAK, // 1BC0..1BF3
6895 UNKNOWN, // 1BF4..1BFB
6896 BATAK, // 1BFC..1BFF
6897 LEPCHA, // 1C00..1C37
6898 UNKNOWN, // 1C38..1C3A
6899 LEPCHA, // 1C3B..1C49
6900 UNKNOWN, // 1C4A..1C4C
6901 LEPCHA, // 1C4D..1C4F
6902 OL_CHIKI, // 1C50..1C7F
6903 CYRILLIC, // 1C80..1C88
6904 UNKNOWN, // 1C89
6905 GEORGIAN, // 1C90..1CBA
6906 UNKNOWN, // 1CBB..1CBC
6907 GEORGIAN, // 1CBD..1CBF
6908 SUNDANESE, // 1CC0..1CC7
6909 UNKNOWN, // 1CC8..1CCF
6910 INHERITED, // 1CD0..1CD2
6911 COMMON, // 1CD3
6912 INHERITED, // 1CD4..1CE0
6913 COMMON, // 1CE1
6914 INHERITED, // 1CE2..1CE8
6915 COMMON, // 1CE9..1CEC
6916 INHERITED, // 1CED
6917 COMMON, // 1CEE..1CF3
6918 INHERITED, // 1CF4
6919 COMMON, // 1CF5..1CF7
6920 INHERITED, // 1CF8..1CF9
6921 UNKNOWN, // 1CFA..1CFF
6922 LATIN, // 1D00..1D25
6923 GREEK, // 1D26..1D2A
6924 CYRILLIC, // 1D2B
6925 LATIN, // 1D2C..1D5C
6926 GREEK, // 1D5D..1D61
6927 LATIN, // 1D62..1D65
6928 GREEK, // 1D66..1D6A
6929 LATIN, // 1D6B..1D77
6930 CYRILLIC, // 1D78
6931 LATIN, // 1D79..1DBE
6932 GREEK, // 1DBF
6933 INHERITED, // 1DC0..1DF9
6934 UNKNOWN, // 1DFA
6935 INHERITED, // 1DFB..1DFF
6936 LATIN, // 1E00..1EFF
6937 GREEK, // 1F00..1F15
6938 UNKNOWN, // 1F16..1F17
6939 GREEK, // 1F18..1F1D
6940 UNKNOWN, // 1F1E..1F1F
6941 GREEK, // 1F20..1F45
6988 COMMON, // 2127..2129
6989 LATIN, // 212A..212B
6990 COMMON, // 212C..2131
6991 LATIN, // 2132
6992 COMMON, // 2133..214D
6993 LATIN, // 214E
6994 COMMON, // 214F..215F
6995 LATIN, // 2160..2188
6996 COMMON, // 2189..218B
6997 UNKNOWN, // 218C..218F
6998 COMMON, // 2190..2426
6999 UNKNOWN, // 2427..243F
7000 COMMON, // 2440..244A
7001 UNKNOWN, // 244B..245F
7002 COMMON, // 2460..27FF
7003 BRAILLE, // 2800..28FF
7004 COMMON, // 2900..2B73
7005 UNKNOWN, // 2B74..2B75
7006 COMMON, // 2B76..2B95
7007 UNKNOWN, // 2B96..2B97
7008 COMMON, // 2B98..2BC8
7009 UNKNOWN, // 2BC9
7010 COMMON, // 2BCA..2BFE
7011 UNKNOWN, // 0x2BFF
7012 GLAGOLITIC, // 2C00..2C2E
7013 UNKNOWN, // 2C2F
7014 GLAGOLITIC, // 2C30..2C5E
7015 UNKNOWN, // 2C5F
7016 LATIN, // 2C60..2C7F
7017 COPTIC, // 2C80..2CF3
7018 UNKNOWN, // 2CF4..2CF8
7019 COPTIC, // 2CF9..2CFF
7020 GEORGIAN, // 2D00..2D25
7021 UNKNOWN, // 2D26
7022 GEORGIAN, // 2D27
7023 UNKNOWN, // 2D28..2D2C
7024 GEORGIAN, // 2D2D
7025 UNKNOWN, // 2D2E..2D2F
7026 TIFINAGH, // 2D30..2D67
7027 UNKNOWN, // 2D68..2D6E
7028 TIFINAGH, // 2D6F..2D70
7029 UNKNOWN, // 2D71..2D7E
7030 TIFINAGH, // 2D7F
7031 ETHIOPIC, // 2D80..2D96
7032 UNKNOWN, // 2D97..2D9F
7033 ETHIOPIC, // 2DA0..2DA6
7034 UNKNOWN, // 2DA7
7035 ETHIOPIC, // 2DA8..2DAE
7036 UNKNOWN, // 2DAF
7037 ETHIOPIC, // 2DB0..2DB6
7038 UNKNOWN, // 2DB7
7039 ETHIOPIC, // 2DB8..2DBE
7040 UNKNOWN, // 2DBF
7041 ETHIOPIC, // 2DC0..2DC6
7042 UNKNOWN, // 2DC7
7043 ETHIOPIC, // 2DC8..2DCE
7044 UNKNOWN, // 2DCF
7045 ETHIOPIC, // 2DD0..2DD6
7046 UNKNOWN, // 2DD7
7047 ETHIOPIC, // 2DD8..2DDE
7048 UNKNOWN, // 2DDF
7049 CYRILLIC, // 2DE0..2DFF
7050 COMMON, // 2E00..2E4E
7051 UNKNOWN, // 2E4F..2E7F
7052 HAN, // 2E80..2E99
7053 UNKNOWN, // 2E9A
7054 HAN, // 2E9B..2EF3
7055 UNKNOWN, // 2EF4..2EFF
7056 HAN, // 2F00..2FD5
7057 UNKNOWN, // 2FD6..2FEF
7058 COMMON, // 2FF0..2FFB
7059 UNKNOWN, // 2FFC..2FFF
7060 COMMON, // 3000..3004
7061 HAN, // 3005
7062 COMMON, // 3006
7063 HAN, // 3007
7064 COMMON, // 3008..3020
7065 HAN, // 3021..3029
7066 INHERITED, // 302A..302D
7067 HANGUL, // 302E..302F
7068 COMMON, // 3030..3037
7069 HAN, // 3038..303B
7070 COMMON, // 303C..303F
7071 UNKNOWN, // 3040
7099 KATAKANA, // 3300..3357
7100 COMMON, // 3358..33FF
7101 HAN, // 3400..4DB5
7102 UNKNOWN, // 4DB6..4DBF
7103 COMMON, // 4DC0..4DFF
7104 HAN, // 4E00..9FEF
7105 UNKNOWN, // 9FF0..9FFF
7106 YI, // A000..A48C
7107 UNKNOWN, // A48D..A48F
7108 YI, // A490..A4C6
7109 UNKNOWN, // A4C7..A4CF
7110 LISU, // A4D0..A4FF
7111 VAI, // A500..A62B
7112 UNKNOWN, // A62C..A63F
7113 CYRILLIC, // A640..A69F
7114 BAMUM, // A6A0..A6F7
7115 UNKNOWN, // A6F8..A6FF
7116 COMMON, // A700..A721
7117 LATIN, // A722..A787
7118 COMMON, // A788..A78A
7119 LATIN, // A78B..A7B9
7120 UNKNOWN, // A7C0..A7F6
7121 LATIN, // A7F7..A7FF
7122 SYLOTI_NAGRI, // A800..A82B
7123 UNKNOWN, // A82C..A82F
7124 COMMON, // A830..A839
7125 UNKNOWN, // A83A..A83F
7126 PHAGS_PA, // A840..A877
7127 UNKNOWN, // A878..A87F
7128 SAURASHTRA, // A880..A8C5
7129 UNKNOWN, // A8C6..A8CD
7130 SAURASHTRA, // A8CE..A8D9
7131 UNKNOWN, // A8DA..A8DF
7132 DEVANAGARI, // A8E0..A8FF
7133 KAYAH_LI, // A900..A92D
7134 COMMON, // A92E
7135 KAYAH_LI, // A92F
7136 REJANG, // A930..A953
7137 UNKNOWN, // A954..A95E
7138 REJANG, // A95F
7139 HANGUL, // A960..A97C
7140 UNKNOWN, // A97D..A97F
7156 MYANMAR, // AA60..AA7F
7157 TAI_VIET, // AA80..AAC2
7158 UNKNOWN, // AAC3..AADA
7159 TAI_VIET, // AADB..AADF
7160 MEETEI_MAYEK, // AAE0..AAF6
7161 UNKNOWN, // AAF7..AB00
7162 ETHIOPIC, // AB01..AB06
7163 UNKNOWN, // AB07..AB08
7164 ETHIOPIC, // AB09..AB0E
7165 UNKNOWN, // AB0F..AB10
7166 ETHIOPIC, // AB11..AB16
7167 UNKNOWN, // AB17..AB1F
7168 ETHIOPIC, // AB20..AB26
7169 UNKNOWN, // AB27
7170 ETHIOPIC, // AB28..AB2E
7171 UNKNOWN, // AB2F
7172 LATIN, // AB30..AB5A
7173 COMMON, // AB5B
7174 LATIN, // AB5C..AB64
7175 GREEK, // AB65
7176 UNKNOWN, // AB66..AB6F
7177 CHEROKEE, // AB70..ABBF
7178 MEETEI_MAYEK, // ABC0..ABED
7179 UNKNOWN, // ABEE..ABEF
7180 MEETEI_MAYEK, // ABF0..ABF9
7181 UNKNOWN, // ABFA..ABFF
7182 HANGUL, // AC00..D7A3
7183 UNKNOWN, // D7A4..D7AF
7184 HANGUL, // D7B0..D7C6
7185 UNKNOWN, // D7C7..D7CA
7186 HANGUL, // D7CB..D7FB
7187 UNKNOWN, // D7FC..F8FF
7188 HAN, // F900..FA6D
7189 UNKNOWN, // FA6E..FA6F
7190 HAN, // FA70..FAD9
7191 UNKNOWN, // FADA..FAFF
7192 LATIN, // FB00..FB06
7193 UNKNOWN, // FB07..FB12
7194 ARMENIAN, // FB13..FB17
7195 UNKNOWN, // FB18..FB1C
7196 HEBREW, // FB1D..FB36
7295 OLD_ITALIC, // 10300..10323
7296 UNKNOWN, // 10324..1032C
7297 OLD_ITALIC, // 1032D..1032F
7298 GOTHIC, // 10330..1034A
7299 UNKNOWN, // 1034B..1034F
7300 OLD_PERMIC, // 10350..1037A
7301 UNKNOWN, // 1037B..1037F
7302 UGARITIC, // 10380..1039D
7303 UNKNOWN, // 1039E
7304 UGARITIC, // 1039F
7305 OLD_PERSIAN, // 103A0..103C3
7306 UNKNOWN, // 103C4..103C7
7307 OLD_PERSIAN, // 103C8..103D5
7308 UNKNOWN, // 103D6..103FF
7309 DESERET, // 10400..1044F
7310 SHAVIAN, // 10450..1047F
7311 OSMANYA, // 10480..1049D
7312 UNKNOWN, // 1049E..1049F
7313 OSMANYA, // 104A0..104A9
7314 UNKNOWN, // 104AA..104AF
7315 OSAGE, // 104B0..104D3;
7316 UNKNOWN, // 104D4..104D7;
7317 OSAGE, // 104D8..104FB;
7318 UNKNOWN, // 104FC..104FF;
7319 ELBASAN, // 10500..10527
7320 UNKNOWN, // 10528..1052F
7321 CAUCASIAN_ALBANIAN, // 10530..10563
7322 UNKNOWN, // 10564..1056E
7323 CAUCASIAN_ALBANIAN, // 1056F
7324 UNKNOWN, // 10570..105FF
7325 LINEAR_A, // 10600..10736
7326 UNKNOWN, // 10737..1073F
7327 LINEAR_A, // 10740..10755
7328 UNKNOWN, // 10756..1075F
7329 LINEAR_A, // 10760..10767
7330 UNKNOWN, // 10768..107FF
7331 CYPRIOT, // 10800..10805
7332 UNKNOWN, // 10806..10807
7333 CYPRIOT, // 10808
7334 UNKNOWN, // 10809
7335 CYPRIOT, // 1080A..10835
7336 UNKNOWN, // 10836
7337 CYPRIOT, // 10837..10838
7338 UNKNOWN, // 10839..1083B
7394 INSCRIPTIONAL_PARTHIAN, // 10B40..10B55
7395 UNKNOWN, // 10B56..10B57
7396 INSCRIPTIONAL_PARTHIAN, // 10B58..10B5F
7397 INSCRIPTIONAL_PAHLAVI, // 10B60..10B72
7398 UNKNOWN, // 10B73..10B77
7399 INSCRIPTIONAL_PAHLAVI, // 10B78..10B7F
7400 PSALTER_PAHLAVI, // 10B80..10B91
7401 UNKNOWN, // 10B92..10B98
7402 PSALTER_PAHLAVI, // 10B99..10B9C
7403 UNKNOWN, // 10B9D..10BA8
7404 PSALTER_PAHLAVI, // 10BA9..10BAF
7405 UNKNOWN, // 10BB0..10BFF
7406 OLD_TURKIC, // 10C00..10C48
7407 UNKNOWN, // 10C49..10C7F
7408 OLD_HUNGARIAN, // 10C80..10CB2
7409 UNKNOWN, // 10CB3..10CBF
7410 OLD_HUNGARIAN, // 10CC0..10CF2
7411 UNKNOWN, // 10CF3..10CF9
7412 OLD_HUNGARIAN, // 10CFA..10CFF
7413 HANIFI_ROHINGYA, // 10D00..10D27
7414 UNKNOWN, // 10D28..10D29
7415 HANIFI_ROHINGYA, // 10D30..10D39
7416 UNKNOWN, // 10D3A..10E5F
7417 ARABIC, // 10E60..10E7E
7418 UNKNOWN, // 10E7F..10EFF
7419 OLD_SOGDIAN, // 10F00..10F27
7420 UNKNOWN, // 10F28..10F2F
7421 SOGDIAN, // 10F30..10F59
7422 UNKNOWN, // 10F5A..10FFF
7423 BRAHMI, // 11000..1104D
7424 UNKNOWN, // 1104E..11051
7425 BRAHMI, // 11052..1106F
7426 UNKNOWN, // 11070..1107E
7427 BRAHMI, // 1107F
7428 KAITHI, // 11080..110C1
7429 UNKNOWN, // 110C2..110CC
7430 KAITHI, // 110CD
7431 UNKNOWN, // 110CE..110CF
7432 SORA_SOMPENG, // 110D0..110E8
7433 UNKNOWN, // 110E9..110EF
7434 SORA_SOMPENG, // 110F0..110F9
7435 UNKNOWN, // 110FA..110FF
7436 CHAKMA, // 11100..11134
7437 UNKNOWN, // 11135
7438 CHAKMA, // 11136..11146
7439 UNKNOWN, // 11147..1114F
7440 MAHAJANI, // 11150..11176
7441 UNKNOWN, // 11177..1117F
7442 SHARADA, // 11180..111CD
7481 GRANTHA, // 1133C..11344
7482 UNKNOWN, // 11345..11346
7483 GRANTHA, // 11347..11348
7484 UNKNOWN, // 11349..1134A
7485 GRANTHA, // 1134B..1134D
7486 UNKNOWN, // 1134E..1134F
7487 GRANTHA, // 11350
7488 UNKNOWN, // 11351..11356
7489 GRANTHA, // 11357
7490 UNKNOWN, // 11358..1135C
7491 GRANTHA, // 1135D..11363
7492 UNKNOWN, // 11364..11365
7493 GRANTHA, // 11366..1136C
7494 UNKNOWN, // 1136D..1136F
7495 GRANTHA, // 11370..11374
7496 UNKNOWN, // 11375..113FF
7497 NEWA, // 11400..11459
7498 UNKNOWN, // 1145A
7499 NEWA, // 1145B
7500 UNKNOWN, // 1145C
7501 NEWA, // 1145D..1145E
7502 UNKNOWN, // 1145F..1147F
7503 TIRHUTA, // 11480..114C7
7504 UNKNOWN, // 114C8..114CF
7505 TIRHUTA, // 114D0..114D9
7506 UNKNOWN, // 114DA..1157F
7507 SIDDHAM, // 11580..115B5
7508 UNKNOWN, // 115B6..115B7
7509 SIDDHAM, // 115B8..115DD
7510 UNKNOWN, // 115DE..115FF
7511 MODI, // 11600..11644
7512 UNKNOWN, // 11645..1164F
7513 MODI, // 11650..11659
7514 UNKNOWN, // 1165A..1165F
7515 MONGOLIAN, // 11660..1166C
7516 UNKNOWN, // 1166D..1167F
7517 TAKRI, // 11680..116B7
7518 UNKNOWN, // 116B8..116BF
7519 TAKRI, // 116C0..116C9
7520 UNKNOWN, // 116CA..116FF
7521 AHOM, // 11700..1171A
7522 UNKNOWN, // 1171B..1171C
7523 AHOM, // 1171D..1172B
7524 UNKNOWN, // 1172C..1172F
7525 AHOM, // 11730..1173F
7526 UNKNOWN, // 11740..117FF
7527 DOGRA, // 11800..1183B
7528 UNKNOWN, // 1183C..1189F
7529 WARANG_CITI, // 118A0..118F2
7530 UNKNOWN, // 118F3..118FE
7531 WARANG_CITI, // 118FF
7532 UNKNOWN, // 11900..119FF
7533 ZANABAZAR_SQUARE, // 11A00..11A47
7534 UNKNOWN, // 11A48..11A4F
7535 SOYOMBO, // 11A50..11A83
7536 UNKNOWN, // 11A84..11A85
7537 SOYOMBO, // 11A86..11AA2
7538 UNKNOWN, // 11AA3..11ABF
7539 PAU_CIN_HAU, // 11AC0..11AF8
7540 UNKNOWN, // 11AF9..11BFF
7541 BHAIKSUKI, // 11C00..11C08
7542 UNKNOWN, // 11C09
7543 BHAIKSUKI, // 11C0A..11C36
7544 UNKNOWN, // 11C37
7545 BHAIKSUKI, // 11C38..11C45
7546 UNKNOWN, // 11C46..11C49
7547 BHAIKSUKI, // 11C50..11C6C
7548 UNKNOWN, // 11C6D..11C6F
7549 MARCHEN, // 11C70..11C8F
7550 UNKNOWN, // 11C90..11C91
7551 MARCHEN, // 11C92..11CA7
7552 UNKNOWN, // 11CA8
7553 MARCHEN, // 11CA9..11CB6
7554 UNKNOWN, // 11CB7..11CFF
7555 MASARAM_GONDI, // 11D00..11D06
7556 UNKNOWN, // 11D07
7557 MASARAM_GONDI, // 11D08..11D09
7558 UNKNOWN, // 11D0A
7559 MASARAM_GONDI, // 11D0B..11D36
7560 UNKNOWN, // 11D37..11D39
7561 MASARAM_GONDI, // 11D3A
7562 UNKNOWN, // 11D3B
7563 MASARAM_GONDI, // 11D3C..11D3D
7564 UNKNOWN, // 11D3E
7565 MASARAM_GONDI, // 11D3F..11D47
7566 UNKNOWN, // 11D48..11D49
7567 MASARAM_GONDI, // 11D50..11D59
7568 UNKNOWN, // 11D5A..11D5F
7569 GUNJALA_GONDI, // 11D60..11D68
7570 UNKNOWN, // 11D69
7571 GUNJALA_GONDI, // 11D6A..11D8E
7572 UNKNOWN, // 11D8F
7573 GUNJALA_GONDI, // 11D90..11D91
7574 UNKNOWN, // 11D92
7575 GUNJALA_GONDI, // 11D93..11D98
7576 UNKNOWN, // 11D99
7577 GUNJALA_GONDI, // 11DA0..11DA9
7578 UNKNOWN, // 11DAA..11DFF
7579 MAKASAR, // 11EE0..11EF8
7580 UNKNOWN, // 11EF9..11FFF
7581 CUNEIFORM, // 12000..12399
7582 UNKNOWN, // 1239A..123FF
7583 CUNEIFORM, // 12400..1246E
7584 UNKNOWN, // 1246F
7585 CUNEIFORM, // 12470..12474
7586 UNKNOWN, // 12475..1247F
7587 CUNEIFORM, // 12480..12543
7588 UNKNOWN, // 12544..12FFF
7589 EGYPTIAN_HIEROGLYPHS, // 13000..1342E
7590 UNKNOWN, // 1342F..143FF
7591 ANATOLIAN_HIEROGLYPHS, // 14400..14646
7592 UNKNOWN, // 14647..167FF
7593 BAMUM, // 16800..16A38
7594 UNKNOWN, // 16A39..16A3F
7595 MRO, // 16A40..16A5E
7596 UNKNOWN, // 16A5F
7597 MRO, // 16A60..16A69
7598 UNKNOWN, // 16A6A..16A6D
7599 MRO, // 16A6E..16A6F
7600 UNKNOWN, // 16A70..16ACF
7601 BASSA_VAH, // 16AD0..16AED
7602 UNKNOWN, // 16AEE..16AEF
7603 BASSA_VAH, // 16AF0..16AF5
7604 UNKNOWN, // 16AF6..16AFF
7605 PAHAWH_HMONG, // 16B00..16B45
7606 UNKNOWN, // 16B46..16B4F
7607 PAHAWH_HMONG, // 16B50..16B59
7608 UNKNOWN, // 16B5A
7609 PAHAWH_HMONG, // 16B5B..16B61
7610 UNKNOWN, // 16B62
7611 PAHAWH_HMONG, // 16B63..16B77
7612 UNKNOWN, // 16B78..16B7C
7613 PAHAWH_HMONG, // 16B7D..16B8F
7614 UNKNOWN, // 16B90..16E3F
7615 MEDEFAIDRIN, // 16E40..16E9A
7616 UNKNOWN, // 16E9B..16EFF
7617 MIAO, // 16F00..16F44
7618 UNKNOWN, // 16F45..16F4F
7619 MIAO, // 16F50..16F7E
7620 UNKNOWN, // 16F7F..16F8E
7621 MIAO, // 16F8F..16F9F
7622 UNKNOWN, // 16FA0..16FDF
7623 TANGUT, // 16FE0
7624 NUSHU, // 16FE1
7625 UNKNOWN, // 16FE2..16FFF
7626 TANGUT, // 17000..187F1
7627 UNKNOWN, // 187F2..187FF
7628 TANGUT, // 18800..18AF2
7629 UNKNOWN, // 18AF3..1AFFF
7630 KATAKANA, // 1B000
7631 HIRAGANA, // 1B001..1B11E
7632 UNKNOWN, // 1B11F..1B16F
7633 NUSHU, // 1B170..1B2FB
7634 UNKNOWN, // 1B2FC..1BBFF
7635 DUPLOYAN, // 1BC00..1BC6A
7636 UNKNOWN, // 1BC6B..1BC6F
7637 DUPLOYAN, // 1BC70..1BC7C
7638 UNKNOWN, // 1BC7D..1BC7F
7639 DUPLOYAN, // 1BC80..1BC88
7640 UNKNOWN, // 1BC89..1BC8F
7641 DUPLOYAN, // 1BC90..1BC99
7642 UNKNOWN, // 1BC9A..1BC9B
7643 DUPLOYAN, // 1BC9C..1BC9F
7644 COMMON, // 1BCA0..1BCA3
7645 UNKNOWN, // 1BCA4..1CFFF
7646 COMMON, // 1D000..1D0F5
7647 UNKNOWN, // 1D0F6..1D0FF
7648 COMMON, // 1D100..1D126
7649 UNKNOWN, // 1D127..1D128
7650 COMMON, // 1D129..1D166
7651 INHERITED, // 1D167..1D169
7652 COMMON, // 1D16A..1D17A
7704 COMMON, // 1D552..1D6A5
7705 UNKNOWN, // 1D6A6..1D6A7
7706 COMMON, // 1D6A8..1D7CB
7707 UNKNOWN, // 1D7CC..1D7CD
7708 COMMON, // 1D7CE..1D7FF
7709 SIGNWRITING, // 1D800..1DA8B
7710 UNKNOWN, // 1DA8C..1DA9A
7711 SIGNWRITING, // 1DA9B..1DA9F
7712 UNKNOWN, // 1DAA0
7713 SIGNWRITING, // 1DAA1..1DAAF
7714 UNKNOWN, // 1DAB0..1DFFF
7715 GLAGOLITIC, // 1E000..1E006
7716 UNKNOWN, // 1E007
7717 GLAGOLITIC, // 1E008..1E018
7718 UNKNOWN, // 1E019..1E01A
7719 GLAGOLITIC, // 1E01B..1E021
7720 UNKNOWN, // 1E022
7721 GLAGOLITIC, // 1E023..1E024
7722 UNKNOWN, // 1E025
7723 GLAGOLITIC, // 1E026..1E02A
7724 UNKNOWN, // 1E02B..1E7FF
7725 MENDE_KIKAKUI, // 1E800..1E8C4
7726 UNKNOWN, // 1E8C5..1E8C6
7727 MENDE_KIKAKUI, // 1E8C7..1E8D6
7728 UNKNOWN, // 1E8D7..1E8FF
7729 ADLAM, // 1E900..1E94A
7730 UNKNOWN, // 1E94B..1E94F
7731 ADLAM, // 1E950..1E959
7732 UNKNOWN, // 1E95A..1E95D
7733 ADLAM, // 1E95E..1E95F
7734 UNKNOWN, // 1E960..1EC70
7735 COMMON, // 1EC71..1ECB4
7736 UNKNOWN, // 1ECB5..1EDFF
7737 ARABIC, // 1EE00..1EE03
7738 UNKNOWN, // 1EE04
7739 ARABIC, // 1EE05..1EE1F
7740 UNKNOWN, // 1EE20
7741 ARABIC, // 1EE21..1EE22
7742 UNKNOWN, // 1EE23
7743 ARABIC, // 1EE24
7744 UNKNOWN, // 1EE25..1EE26
7745 ARABIC, // 1EE27
7746 UNKNOWN, // 1EE28
7747 ARABIC, // 1EE29..1EE32
7748 UNKNOWN, // 1EE33
7749 ARABIC, // 1EE34..1EE37
7750 UNKNOWN, // 1EE38
7751 ARABIC, // 1EE39
7752 UNKNOWN, // 1EE3A
7753 ARABIC, // 1EE3B
7754 UNKNOWN, // 1EE3C..1EE41
7755 ARABIC, // 1EE42
7756 UNKNOWN, // 1EE43..1EE46
7799 ARABIC, // 1EEA5..1EEA9
7800 UNKNOWN, // 1EEAA
7801 ARABIC, // 1EEAB..1EEBB
7802 UNKNOWN, // 1EEBC..1EEEF
7803 ARABIC, // 1EEF0..1EEF1
7804 UNKNOWN, // 1EEF2..1EFFF
7805 COMMON, // 1F000..1F02B
7806 UNKNOWN, // 1F02C..1F02F
7807 COMMON, // 1F030..1F093
7808 UNKNOWN, // 1F094..1F09F
7809 COMMON, // 1F0A0..1F0AE
7810 UNKNOWN, // 1F0AF..1F0B0
7811 COMMON, // 1F0B1..1F0BF
7812 UNKNOWN, // 1F0C0
7813 COMMON, // 1F0C1..1F0CF
7814 UNKNOWN, // 1F0D0
7815 COMMON, // 1F0D1..1F0F5
7816 UNKNOWN, // 1F0F6..1F0FF
7817 COMMON, // 1F100..1F10C
7818 UNKNOWN, // 1F10D..1F10F
7819 COMMON, // 1F110..1F16B
7820 UNKNOWN, // 1F16C..1F16F
7821 COMMON, // 1F170..1F1AC
7822 UNKNOWN, // 1F1AD..1F1E5
7823 COMMON, // 1F1E6..1F1FF
7824 HIRAGANA, // 1F200
7825 COMMON, // 1F201..1F202
7826 UNKNOWN, // 1F203..1F20F
7827 COMMON, // 1F210..1F23B
7828 UNKNOWN, // 1F23C..1F23F
7829 COMMON, // 1F240..1F248
7830 UNKNOWN, // 1F249..1F24F
7831 COMMON, // 1F250..1F251
7832 UNKNOWN, // 1F252..1F25F
7833 COMMON, // 1F260..1F265
7834 UNKNOWN, // 1F266..1F2FF
7835 COMMON, // 1F300..1F6D4
7836 UNKNOWN, // 1F6D5..1F6DF
7837 COMMON, // 1F6E0..1F6EC
7838 UNKNOWN, // 1F6ED..1F6EF
7839 COMMON, // 1F6F0..1F6F9
7840 UNKNOWN, // 1F6FA..1F6FF
7841 COMMON, // 1F700..1F773
7842 UNKNOWN, // 1F774..1F77F
7843 COMMON, // 1F780..1F7D8
7844 UNKNOWN, // 1F7D9..1F7FF
7845 COMMON, // 1F800..1F80B
7846 UNKNOWN, // 1F80C..1F80F
7847 COMMON, // 1F810..1F847
7848 UNKNOWN, // 1F848..1F84F
7849 COMMON, // 1F850..1F859
7850 UNKNOWN, // 1F85A..1F85F
7851 COMMON, // 1F860..1F887
7852 UNKNOWN, // 1F888..1F88F
7853 COMMON, // 1F890..1F8AD
7854 UNKNOWN, // 1F8AE..1F8FF
7855 COMMON, // 1F900..1F90B
7856 UNKNOWN, // 1F90C..1F90F
7857 COMMON, // 1F910..1F93E
7858 UNKNOWN, // 1F93F
7859 COMMON, // 1F940..1F970
7860 UNKNOWN, // 1F971..1F972
7861 COMMON, // 1F973..1F976
7862 UNKNOWN, // 1F977..1F979
7863 COMMON, // 1F97A
7864 UNKNOWN, // 1F97B
7865 COMMON, // 1F97C..1F9A2
7866 UNKNOWN, // 1F9A3..1F9AF
7867 COMMON, // 1F9B0..1F9B9
7868 UNKNOWN, // 1F9BA..1F9BF
7869 COMMON, // 1F9C0..1F9C2
7870 UNKNOWN, // 1F9C3..1F9CF
7871 COMMON, // 1F9D0..1F9FF
7872 UNKNOWN, // 1FA00..1FA5F
7873 COMMON, // 1FA60..1FA6D
7874 UNKNOWN, // 1FA6E..1FFFF
7875 HAN, // 20000..2A6D6
7876 UNKNOWN, // 2A6D7..2A6FF
7877 HAN, // 2A700..2B734
7878 UNKNOWN, // 2B735..2B73F
7879 HAN, // 2B740..2B81D
7880 UNKNOWN, // 2B81E..2B81F
7881 HAN, // 2B820..2CEA1
7882 UNKNOWN, // 2CEA2..2CEAF
7883 HAN, // 2CEB0..2EBE0
7884 UNKNOWN, // 2EBE1..2F7FF
7885 HAN, // 2F800..2FA1D
7886 UNKNOWN, // 2FA1E..E0000
7887 COMMON, // E0001
7888 UNKNOWN, // E0002..E001F
7889 COMMON, // E0020..E007F
7890 UNKNOWN, // E0080..E00FF
7891 INHERITED, // E0100..E01EF
7892 UNKNOWN // E01F0..10FFFF
7893 };
7894
7895 private static HashMap<String, Character.UnicodeScript> aliases;
7896 static {
7897 aliases = new HashMap<>((int)(149 / 0.75f + 1.0f));
7898 aliases.put("ADLM", ADLAM);
7899 aliases.put("AGHB", CAUCASIAN_ALBANIAN);
7900 aliases.put("AHOM", AHOM);
7901 aliases.put("ARAB", ARABIC);
7902 aliases.put("ARMI", IMPERIAL_ARAMAIC);
7903 aliases.put("ARMN", ARMENIAN);
7904 aliases.put("AVST", AVESTAN);
7905 aliases.put("BALI", BALINESE);
7906 aliases.put("BAMU", BAMUM);
7907 aliases.put("BASS", BASSA_VAH);
7908 aliases.put("BATK", BATAK);
7909 aliases.put("BENG", BENGALI);
7910 aliases.put("BHKS", BHAIKSUKI);
7911 aliases.put("BOPO", BOPOMOFO);
7912 aliases.put("BRAH", BRAHMI);
7913 aliases.put("BRAI", BRAILLE);
7914 aliases.put("BUGI", BUGINESE);
7915 aliases.put("BUHD", BUHID);
7916 aliases.put("CAKM", CHAKMA);
7917 aliases.put("CANS", CANADIAN_ABORIGINAL);
7918 aliases.put("CARI", CARIAN);
7919 aliases.put("CHAM", CHAM);
7920 aliases.put("CHER", CHEROKEE);
7921 aliases.put("COPT", COPTIC);
7922 aliases.put("CPRT", CYPRIOT);
7923 aliases.put("CYRL", CYRILLIC);
7924 aliases.put("DEVA", DEVANAGARI);
7925 aliases.put("DOGR", DOGRA);
7926 aliases.put("DSRT", DESERET);
7927 aliases.put("DUPL", DUPLOYAN);
7928 aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
7929 aliases.put("ELBA", ELBASAN);
7930 aliases.put("ETHI", ETHIOPIC);
7931 aliases.put("GEOR", GEORGIAN);
7932 aliases.put("GLAG", GLAGOLITIC);
7933 aliases.put("GONM", MASARAM_GONDI);
7934 aliases.put("GOTH", GOTHIC);
7935 aliases.put("GONG", GUNJALA_GONDI);
7936 aliases.put("GRAN", GRANTHA);
7937 aliases.put("GREK", GREEK);
7938 aliases.put("GUJR", GUJARATI);
7939 aliases.put("GURU", GURMUKHI);
7940 aliases.put("HANG", HANGUL);
7941 aliases.put("HANI", HAN);
7942 aliases.put("HANO", HANUNOO);
7943 aliases.put("HATR", HATRAN);
7944 aliases.put("HEBR", HEBREW);
7945 aliases.put("HIRA", HIRAGANA);
7946 aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
7947 aliases.put("HMNG", PAHAWH_HMONG);
7948 // it appears we don't have the KATAKANA_OR_HIRAGANA
7949 //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
7950 aliases.put("HUNG", OLD_HUNGARIAN);
7951 aliases.put("ITAL", OLD_ITALIC);
7952 aliases.put("JAVA", JAVANESE);
7953 aliases.put("KALI", KAYAH_LI);
7954 aliases.put("KANA", KATAKANA);
7955 aliases.put("KHAR", KHAROSHTHI);
7956 aliases.put("KHMR", KHMER);
7957 aliases.put("KHOJ", KHOJKI);
7958 aliases.put("KNDA", KANNADA);
7959 aliases.put("KTHI", KAITHI);
7960 aliases.put("LANA", TAI_THAM);
7961 aliases.put("LAOO", LAO);
7962 aliases.put("LATN", LATIN);
7963 aliases.put("LEPC", LEPCHA);
7964 aliases.put("LIMB", LIMBU);
7965 aliases.put("LINA", LINEAR_A);
7966 aliases.put("LINB", LINEAR_B);
7967 aliases.put("LISU", LISU);
7968 aliases.put("LYCI", LYCIAN);
7969 aliases.put("LYDI", LYDIAN);
7970 aliases.put("MAHJ", MAHAJANI);
7971 aliases.put("MAKA", MAKASAR);
7972 aliases.put("MARC", MARCHEN);
7973 aliases.put("MAND", MANDAIC);
7974 aliases.put("MANI", MANICHAEAN);
7975 aliases.put("MEDF", MEDEFAIDRIN);
7976 aliases.put("MEND", MENDE_KIKAKUI);
7977 aliases.put("MERC", MEROITIC_CURSIVE);
7978 aliases.put("MERO", MEROITIC_HIEROGLYPHS);
7979 aliases.put("MLYM", MALAYALAM);
7980 aliases.put("MODI", MODI);
7981 aliases.put("MONG", MONGOLIAN);
7982 aliases.put("MROO", MRO);
7983 aliases.put("MTEI", MEETEI_MAYEK);
7984 aliases.put("MULT", MULTANI);
7985 aliases.put("MYMR", MYANMAR);
7986 aliases.put("NARB", OLD_NORTH_ARABIAN);
7987 aliases.put("NBAT", NABATAEAN);
7988 aliases.put("NEWA", NEWA);
7989 aliases.put("NKOO", NKO);
7990 aliases.put("NSHU", NUSHU);
7991 aliases.put("OGAM", OGHAM);
7992 aliases.put("OLCK", OL_CHIKI);
7993 aliases.put("ORKH", OLD_TURKIC);
7994 aliases.put("ORYA", ORIYA);
7995 aliases.put("OSGE", OSAGE);
7996 aliases.put("OSMA", OSMANYA);
7997 aliases.put("PALM", PALMYRENE);
7998 aliases.put("PAUC", PAU_CIN_HAU);
7999 aliases.put("PERM", OLD_PERMIC);
8000 aliases.put("PHAG", PHAGS_PA);
8001 aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
8002 aliases.put("PHLP", PSALTER_PAHLAVI);
8003 aliases.put("PHNX", PHOENICIAN);
8004 aliases.put("PLRD", MIAO);
8005 aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);
8022 aliases.put("SUND", SUNDANESE);
8023 aliases.put("SYLO", SYLOTI_NAGRI);
8024 aliases.put("SYRC", SYRIAC);
8025 aliases.put("TAGB", TAGBANWA);
8026 aliases.put("TAKR", TAKRI);
8027 aliases.put("TALE", TAI_LE);
8028 aliases.put("TALU", NEW_TAI_LUE);
8029 aliases.put("TAML", TAMIL);
8030 aliases.put("TANG", TANGUT);
8031 aliases.put("TAVT", TAI_VIET);
8032 aliases.put("TELU", TELUGU);
8033 aliases.put("TFNG", TIFINAGH);
8034 aliases.put("TGLG", TAGALOG);
8035 aliases.put("THAA", THAANA);
8036 aliases.put("THAI", THAI);
8037 aliases.put("TIBT", TIBETAN);
8038 aliases.put("TIRH", TIRHUTA);
8039 aliases.put("UGAR", UGARITIC);
8040 aliases.put("VAII", VAI);
8041 aliases.put("WARA", WARANG_CITI);
8042 aliases.put("XPEO", OLD_PERSIAN);
8043 aliases.put("XSUX", CUNEIFORM);
8044 aliases.put("YIII", YI);
8045 aliases.put("ZANB", ZANABAZAR_SQUARE);
8046 aliases.put("ZINH", INHERITED);
8047 aliases.put("ZYYY", COMMON);
8048 aliases.put("ZZZZ", UNKNOWN);
8049 }
8050
8051 /**
8052 * Returns the enum constant representing the Unicode script of which
8053 * the given character (Unicode code point) is assigned to.
8054 *
8055 * @param codePoint the character (Unicode code point) in question.
8056 * @return The {@code UnicodeScript} constant representing the
8057 * Unicode script of which this character is assigned to.
8058 *
8059 * @throws IllegalArgumentException if the specified
8060 * {@code codePoint} is an invalid Unicode code point.
8061 * @see Character#isValidCodePoint(int)
|
37 * The {@code Character} class wraps a value of the primitive
38 * type {@code char} in an object. An object of class
39 * {@code Character} contains a single field whose type is
40 * {@code char}.
41 * <p>
42 * In addition, this class provides a large number of static methods for
43 * determining a character's category (lowercase letter, digit, etc.)
44 * and for converting characters from uppercase to lowercase and vice
45 * versa.
46 *
47 * <h2><a id="conformance">Unicode Conformance</a></h2>
48 * <p>
49 * The fields and methods of class {@code Character} are defined in terms
50 * of character information from the Unicode Standard, specifically the
51 * <i>UnicodeData</i> file that is part of the Unicode Character Database.
52 * This file specifies properties including name and category for every
53 * assigned Unicode code point or character range. The file is available
54 * from the Unicode Consortium at
55 * <a href="http://www.unicode.org">http://www.unicode.org</a>.
56 * <p>
57 * Character information is based on the Unicode Standard, version 12.1.
58 *
59 * <h2><a id="unicode">Unicode Character Representations</a></h2>
60 *
61 * <p>The {@code char} data type (and therefore the value that a
62 * {@code Character} object encapsulates) are based on the
63 * original Unicode specification, which defined characters as
64 * fixed-width 16-bit entities. The Unicode Standard has since been
65 * changed to allow for characters whose representation requires more
66 * than 16 bits. The range of legal <em>code point</em>s is now
67 * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
68 * (Refer to the <a
69 * href="http://www.unicode.org/reports/tr27/#notation"><i>
70 * definition</i></a> of the U+<i>n</i> notation in the Unicode
71 * Standard.)
72 *
73 * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
74 * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
75 * <a id="supplementary">Characters</a> whose code points are greater
76 * than U+FFFF are called <em>supplementary character</em>s. The Java
77 * platform uses the UTF-16 representation in {@code char} arrays and
655 * Returns the name of this subset.
656 */
657 public final String toString() {
658 return name;
659 }
660 }
661
662 // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
663 // for the latest specification of Unicode Blocks.
664
665 /**
666 * A family of character subsets representing the character blocks in the
667 * Unicode specification. Character blocks generally define characters
668 * used for a specific script or purpose. A character is contained by
669 * at most one Unicode block.
670 *
671 * @since 1.2
672 */
673 public static final class UnicodeBlock extends Subset {
674 /**
675 * 676 - the expected number of entities
676 * 0.75 - the default load factor of HashMap
677 */
678 private static final int NUM_ENTITIES = 676;
679 private static Map<String, UnicodeBlock> map =
680 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
681
682 /**
683 * Creates a UnicodeBlock with the given identifier name.
684 * This name must be the same as the block identifier.
685 */
686 private UnicodeBlock(String idName) {
687 super(idName);
688 map.put(idName, this);
689 }
690
691 /**
692 * Creates a UnicodeBlock with the given identifier name and
693 * alias name.
694 */
695 private UnicodeBlock(String idName, String alias) {
696 this(idName);
697 map.put(alias, this);
698 }
3184 /**
3185 * Constant for the "Indic Siyaq Numbers" Unicode
3186 * character block.
3187 * @since 12
3188 */
3189 public static final UnicodeBlock INDIC_SIYAQ_NUMBERS =
3190 new UnicodeBlock("INDIC_SIYAQ_NUMBERS",
3191 "INDIC SIYAQ NUMBERS",
3192 "INDICSIYAQNUMBERS");
3193
3194 /**
3195 * Constant for the "Chess Symbols" Unicode
3196 * character block.
3197 * @since 12
3198 */
3199 public static final UnicodeBlock CHESS_SYMBOLS =
3200 new UnicodeBlock("CHESS_SYMBOLS",
3201 "CHESS SYMBOLS",
3202 "CHESSSYMBOLS");
3203
3204 /**
3205 * Constant for the "Elymaic" Unicode
3206 * character block.
3207 * @since 13
3208 */
3209 public static final UnicodeBlock ELYMAIC =
3210 new UnicodeBlock("ELYMAIC");
3211
3212 /**
3213 * Constant for the "Nandinagari" Unicode
3214 * character block.
3215 * @since 13
3216 */
3217 public static final UnicodeBlock NANDINAGARI =
3218 new UnicodeBlock("NANDINAGARI");
3219
3220 /**
3221 * Constant for the "Tamil Supplement" Unicode
3222 * character block.
3223 * @since 13
3224 */
3225 public static final UnicodeBlock TAMIL_SUPPLEMENT =
3226 new UnicodeBlock("TAMIL_SUPPLEMENT",
3227 "TAMIL SUPPLEMENT",
3228 "TAMILSUPPLEMENT");
3229
3230 /**
3231 * Constant for the "Egyptian Hieroglyph Format Controls" Unicode
3232 * character block.
3233 * @since 13
3234 */
3235 public static final UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS =
3236 new UnicodeBlock("EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS",
3237 "EGYPTIAN HIEROGLYPH FORMAT CONTROLS",
3238 "EGYPTIANHIEROGLYPHFORMATCONTROLS");
3239
3240 /**
3241 * Constant for the "Small Kana Extension" Unicode
3242 * character block.
3243 * @since 13
3244 */
3245 public static final UnicodeBlock SMALL_KANA_EXTENSION =
3246 new UnicodeBlock("SMALL_KANA_EXTENSION",
3247 "SMALL KANA EXTENSION",
3248 "SMALLKANAEXTENSION");
3249
3250 /**
3251 * Constant for the "Nyiakeng Puachue Hmong" Unicode
3252 * character block.
3253 * @since 13
3254 */
3255 public static final UnicodeBlock NYIAKENG_PUACHUE_HMONG =
3256 new UnicodeBlock("NYIAKENG_PUACHUE_HMONG",
3257 "NYIAKENG PUACHUE HMONG",
3258 "NYIAKENGPUACHUEHMONG");
3259
3260 /**
3261 * Constant for the "Wancho" Unicode
3262 * character block.
3263 * @since 13
3264 */
3265 public static final UnicodeBlock WANCHO =
3266 new UnicodeBlock("WANCHO");
3267
3268 /**
3269 * Constant for the "Ottoman Siyaq Numbers" Unicode
3270 * character block.
3271 * @since 13
3272 */
3273 public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3274 new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3275 "OTTOMAN SIYAQ NUMBERS",
3276 "OTTOMANSIYAQNUMBERS");
3277
3278 /**
3279 * Constant for the "Symbols and Pictographs Extended-A" Unicode
3280 * character block.
3281 * @since 13
3282 */
3283 public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3284 new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3285 "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3286 "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3287
3288 private static final int blockStarts[] = {
3289 0x0000, // 0000..007F; Basic Latin
3290 0x0080, // 0080..00FF; Latin-1 Supplement
3291 0x0100, // 0100..017F; Latin Extended-A
3292 0x0180, // 0180..024F; Latin Extended-B
3293 0x0250, // 0250..02AF; IPA Extensions
3294 0x02B0, // 02B0..02FF; Spacing Modifier Letters
3295 0x0300, // 0300..036F; Combining Diacritical Marks
3296 0x0370, // 0370..03FF; Greek and Coptic
3297 0x0400, // 0400..04FF; Cyrillic
3298 0x0500, // 0500..052F; Cyrillic Supplement
3299 0x0530, // 0530..058F; Armenian
3300 0x0590, // 0590..05FF; Hebrew
3301 0x0600, // 0600..06FF; Arabic
3302 0x0700, // 0700..074F; Syriac
3303 0x0750, // 0750..077F; Arabic Supplement
3304 0x0780, // 0780..07BF; Thaana
3305 0x07C0, // 07C0..07FF; NKo
3306 0x0800, // 0800..083F; Samaritan
3490 0x10A00, // 10A00..10A5F; Kharoshthi
3491 0x10A60, // 10A60..10A7F; Old South Arabian
3492 0x10A80, // 10A80..10A9F; Old North Arabian
3493 0x10AA0, // unassigned
3494 0x10AC0, // 10AC0..10AFF; Manichaean
3495 0x10B00, // 10B00..10B3F; Avestan
3496 0x10B40, // 10B40..10B5F; Inscriptional Parthian
3497 0x10B60, // 10B60..10B7F; Inscriptional Pahlavi
3498 0x10B80, // 10B80..10BAF; Psalter Pahlavi
3499 0x10BB0, // unassigned
3500 0x10C00, // 10C00..10C4F; Old Turkic
3501 0x10C50, // unassigned
3502 0x10C80, // 10C80..10CFF; Old Hungarian
3503 0x10D00, // 10D00..10D3F; Hanifi Rohingya
3504 0x10D40, // unassigned
3505 0x10E60, // 10E60..10E7F; Rumi Numeral Symbols
3506 0x10E80, // unassigned
3507 0x10F00, // 10F00..10F2F; Old Sogdian
3508 0x10F30, // 10F30..10F6F; Sogdian
3509 0x10F70, // unassigned
3510 0x10FE0, // 10FE0..10FFF; Elymaic
3511 0x11000, // 11000..1107F; Brahmi
3512 0x11080, // 11080..110CF; Kaithi
3513 0x110D0, // 110D0..110FF; Sora Sompeng
3514 0x11100, // 11100..1114F; Chakma
3515 0x11150, // 11150..1117F; Mahajani
3516 0x11180, // 11180..111DF; Sharada
3517 0x111E0, // 111E0..111FF; Sinhala Archaic Numbers
3518 0x11200, // 11200..1124F; Khojki
3519 0x11250, // unassigned
3520 0x11280, // 11280..112AF; Multani
3521 0x112B0, // 112B0..112FF; Khudawadi
3522 0x11300, // 11300..1137F; Grantha
3523 0x11380, // unassigned
3524 0x11400, // 11400..1147F; Newa
3525 0x11480, // 11480..114DF; Tirhuta
3526 0x114E0, // unassigned
3527 0x11580, // 11580..115FF; Siddham
3528 0x11600, // 11600..1165F; Modi
3529 0x11660, // 11660..1167F; Mongolian Supplement
3530 0x11680, // 11680..116CF; Takri
3531 0x116D0, // unassigned
3532 0x11700, // 11700..1173F; Ahom
3533 0x11740, // unassigned
3534 0x11800, // 11800..1184F; Dogra
3535 0x11850, // unassigned
3536 0x118A0, // 118A0..118FF; Warang Citi
3537 0x11900, // unassigned
3538 0x119A0, // 119A0..119FF; Nandinagari
3539 0x11A00, // 11A00..11A4F; Zanabazar Square
3540 0x11A50, // 11A50..11AAF; Soyombo
3541 0x11AB0, // unassigned
3542 0x11AC0, // 11AC0..11AFF; Pau Cin Hau
3543 0x11B00, // unassigned
3544 0x11C00, // 11C00..11C6F; Bhaiksuki
3545 0x11C70, // 11C70..11CBF; Marchen
3546 0x11CC0, // unassigned
3547 0x11D00, // 11D00..11D5F; Masaram Gondi
3548 0x11D60, // 11D60..11DAF; Gunjala Gondi
3549 0x11DB0, // unassigned
3550 0x11EE0, // 11EE0..11EFF; Makasar
3551 0x11F00, // unassigned
3552 0x11FC0, // 11FC0..11FFF; Tamil Supplement
3553 0x12000, // 12000..123FF; Cuneiform
3554 0x12400, // 12400..1247F; Cuneiform Numbers and Punctuation
3555 0x12480, // 12480..1254F; Early Dynastic Cuneiform
3556 0x12550, // unassigned
3557 0x13000, // 13000..1342F; Egyptian Hieroglyphs
3558 0x13430, // 13430..1343F; Egyptian Hieroglyph Format Controls
3559 0x13440, // unassigned
3560 0x14400, // 14400..1467F; Anatolian Hieroglyphs
3561 0x14680, // unassigned
3562 0x16800, // 16800..16A3F; Bamum Supplement
3563 0x16A40, // 16A40..16A6F; Mro
3564 0x16A70, // unassigned
3565 0x16AD0, // 16AD0..16AFF; Bassa Vah
3566 0x16B00, // 16B00..16B8F; Pahawh Hmong
3567 0x16B90, // unassigned
3568 0x16E40, // 16E40..16E9F; Medefaidrin
3569 0x16EA0, // unassigned
3570 0x16F00, // 16F00..16F9F; Miao
3571 0x16FA0, // unassigned
3572 0x16FE0, // 16FE0..16FFF; Ideographic Symbols and Punctuation
3573 0x17000, // 17000..187FF; Tangut
3574 0x18800, // 18800..18AFF; Tangut Components
3575 0x18B00, // unassigned
3576 0x1B000, // 1B000..1B0FF; Kana Supplement
3577 0x1B100, // 1B100..1B12F; Kana Extended-A
3578 0x1B130, // 1B130..1B16F; Small Kana Extension
3579 0x1B170, // 1B170..1B2FF; Nushu
3580 0x1B300, // unassigned
3581 0x1BC00, // 1BC00..1BC9F; Duployan
3582 0x1BCA0, // 1BCA0..1BCAF; Shorthand Format Controls
3583 0x1BCB0, // unassigned
3584 0x1D000, // 1D000..1D0FF; Byzantine Musical Symbols
3585 0x1D100, // 1D100..1D1FF; Musical Symbols
3586 0x1D200, // 1D200..1D24F; Ancient Greek Musical Notation
3587 0x1D250, // unassigned
3588 0x1D2E0, // 1D2E0..1D2FF; Mayan Numerals
3589 0x1D300, // 1D300..1D35F; Tai Xuan Jing Symbols
3590 0x1D360, // 1D360..1D37F; Counting Rod Numerals
3591 0x1D380, // unassigned
3592 0x1D400, // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3593 0x1D800, // 1D800..1DAAF; Sutton SignWriting
3594 0x1DAB0, // unassigned
3595 0x1E000, // 1E000..1E02F; Glagolitic Supplement
3596 0x1E030, // unassigned
3597 0x1E100, // 1E100..1E14F; Nyiakeng Puachue Hmong
3598 0x1E150, // unassigned
3599 0x1E2C0, // 1E2C0..1E2FF; Wancho
3600 0x1E300, // unassigned
3601 0x1E800, // 1E800..1E8DF; Mende Kikakui
3602 0x1E8E0, // unassigned
3603 0x1E900, // 1E900..1E95F; Adlam
3604 0x1E960, // unassigned
3605 0x1EC70, // 1EC70..1ECBF; Indic Siyaq Numbers
3606 0x1ECC0, // unassigned
3607 0x1ED00, // 1ED00..1ED4F; Ottoman Siyaq Numbers
3608 0x1ED50, // unassigned
3609 0x1EE00, // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3610 0x1EF00, // unassigned
3611 0x1F000, // 1F000..1F02F; Mahjong Tiles
3612 0x1F030, // 1F030..1F09F; Domino Tiles
3613 0x1F0A0, // 1F0A0..1F0FF; Playing Cards
3614 0x1F100, // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3615 0x1F200, // 1F200..1F2FF; Enclosed Ideographic Supplement
3616 0x1F300, // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3617 0x1F600, // 1F600..1F64F; Emoticons
3618 0x1F650, // 1F650..1F67F; Ornamental Dingbats
3619 0x1F680, // 1F680..1F6FF; Transport and Map Symbols
3620 0x1F700, // 1F700..1F77F; Alchemical Symbols
3621 0x1F780, // 1F780..1F7FF; Geometric Shapes Extended
3622 0x1F800, // 1F800..1F8FF; Supplemental Arrows-C
3623 0x1F900, // 1F900..1F9FF; Supplemental Symbols and Pictographs
3624 0x1FA00, // 1FA00..1FA6F; Chess Symbols
3625 0x1FA70, // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3626 0x1FB00, // unassigned
3627 0x20000, // 20000..2A6DF; CJK Unified Ideographs Extension B
3628 0x2A6E0, // unassigned
3629 0x2A700, // 2A700..2B73F; CJK Unified Ideographs Extension C
3630 0x2B740, // 2B740..2B81F; CJK Unified Ideographs Extension D
3631 0x2B820, // 2B820..2CEAF; CJK Unified Ideographs Extension E
3632 0x2CEB0, // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3633 0x2EBF0, // unassigned
3634 0x2F800, // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3635 0x2FA20, // unassigned
3636 0xE0000, // E0000..E007F; Tags
3637 0xE0080, // unassigned
3638 0xE0100, // E0100..E01EF; Variation Selectors Supplement
3639 0xE01F0, // unassigned
3640 0xF0000, // F0000..FFFFF; Supplementary Private Use Area-A
3641 0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3642 };
3643
3644 private static final UnicodeBlock[] blocks = {
3645 BASIC_LATIN,
3646 LATIN_1_SUPPLEMENT,
3647 LATIN_EXTENDED_A,
3648 LATIN_EXTENDED_B,
3649 IPA_EXTENSIONS,
3650 SPACING_MODIFIER_LETTERS,
3651 COMBINING_DIACRITICAL_MARKS,
3652 GREEK,
3653 CYRILLIC,
3654 CYRILLIC_SUPPLEMENTARY,
3655 ARMENIAN,
3656 HEBREW,
3657 ARABIC,
3658 SYRIAC,
3659 ARABIC_SUPPLEMENT,
3660 THAANA,
3661 NKO,
3846 KHAROSHTHI,
3847 OLD_SOUTH_ARABIAN,
3848 OLD_NORTH_ARABIAN,
3849 null,
3850 MANICHAEAN,
3851 AVESTAN,
3852 INSCRIPTIONAL_PARTHIAN,
3853 INSCRIPTIONAL_PAHLAVI,
3854 PSALTER_PAHLAVI,
3855 null,
3856 OLD_TURKIC,
3857 null,
3858 OLD_HUNGARIAN,
3859 HANIFI_ROHINGYA,
3860 null,
3861 RUMI_NUMERAL_SYMBOLS,
3862 null,
3863 OLD_SOGDIAN,
3864 SOGDIAN,
3865 null,
3866 ELYMAIC,
3867 BRAHMI,
3868 KAITHI,
3869 SORA_SOMPENG,
3870 CHAKMA,
3871 MAHAJANI,
3872 SHARADA,
3873 SINHALA_ARCHAIC_NUMBERS,
3874 KHOJKI,
3875 null,
3876 MULTANI,
3877 KHUDAWADI,
3878 GRANTHA,
3879 null,
3880 NEWA,
3881 TIRHUTA,
3882 null,
3883 SIDDHAM,
3884 MODI,
3885 MONGOLIAN_SUPPLEMENT,
3886 TAKRI,
3887 null,
3888 AHOM,
3889 null,
3890 DOGRA,
3891 null,
3892 WARANG_CITI,
3893 null,
3894 NANDINAGARI,
3895 ZANABAZAR_SQUARE,
3896 SOYOMBO,
3897 null,
3898 PAU_CIN_HAU,
3899 null,
3900 BHAIKSUKI,
3901 MARCHEN,
3902 null,
3903 MASARAM_GONDI,
3904 GUNJALA_GONDI,
3905 null,
3906 MAKASAR,
3907 null,
3908 TAMIL_SUPPLEMENT,
3909 CUNEIFORM,
3910 CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3911 EARLY_DYNASTIC_CUNEIFORM,
3912 null,
3913 EGYPTIAN_HIEROGLYPHS,
3914 EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
3915 null,
3916 ANATOLIAN_HIEROGLYPHS,
3917 null,
3918 BAMUM_SUPPLEMENT,
3919 MRO,
3920 null,
3921 BASSA_VAH,
3922 PAHAWH_HMONG,
3923 null,
3924 MEDEFAIDRIN,
3925 null,
3926 MIAO,
3927 null,
3928 IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3929 TANGUT,
3930 TANGUT_COMPONENTS,
3931 null,
3932 KANA_SUPPLEMENT,
3933 KANA_EXTENDED_A,
3934 SMALL_KANA_EXTENSION,
3935 NUSHU,
3936 null,
3937 DUPLOYAN,
3938 SHORTHAND_FORMAT_CONTROLS,
3939 null,
3940 BYZANTINE_MUSICAL_SYMBOLS,
3941 MUSICAL_SYMBOLS,
3942 ANCIENT_GREEK_MUSICAL_NOTATION,
3943 null,
3944 MAYAN_NUMERALS,
3945 TAI_XUAN_JING_SYMBOLS,
3946 COUNTING_ROD_NUMERALS,
3947 null,
3948 MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3949 SUTTON_SIGNWRITING,
3950 null,
3951 GLAGOLITIC_SUPPLEMENT,
3952 null,
3953 NYIAKENG_PUACHUE_HMONG,
3954 null,
3955 WANCHO,
3956 null,
3957 MENDE_KIKAKUI,
3958 null,
3959 ADLAM,
3960 null,
3961 INDIC_SIYAQ_NUMBERS,
3962 null,
3963 OTTOMAN_SIYAQ_NUMBERS,
3964 null,
3965 ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3966 null,
3967 MAHJONG_TILES,
3968 DOMINO_TILES,
3969 PLAYING_CARDS,
3970 ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3971 ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3972 MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3973 EMOTICONS,
3974 ORNAMENTAL_DINGBATS,
3975 TRANSPORT_AND_MAP_SYMBOLS,
3976 ALCHEMICAL_SYMBOLS,
3977 GEOMETRIC_SHAPES_EXTENDED,
3978 SUPPLEMENTAL_ARROWS_C,
3979 SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3980 CHESS_SYMBOLS,
3981 SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
3982 null,
3983 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
3984 null,
3985 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
3986 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
3987 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
3988 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
3989 null,
3990 CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
3991 null,
3992 TAGS,
3993 null,
3994 VARIATION_SELECTORS_SUPPLEMENT,
3995 null,
3996 SUPPLEMENTARY_PRIVATE_USE_AREA_A,
3997 SUPPLEMENTARY_PRIVATE_USE_AREA_B,
3998 };
3999
4000
4001 /**
4002 * Returns the object representing the Unicode block containing the
4003 * given character, or {@code null} if the character is not a
4004 * member of a defined block.
4005 *
4006 * <p><b>Note:</b> This method cannot handle
4007 * <a href="Character.html#supplementary"> supplementary
4008 * characters</a>. To support all Unicode characters, including
4009 * supplementary characters, use the {@link #of(int)} method.
4010 *
4011 * @param c The character in question
4012 * @return The {@code UnicodeBlock} instance representing the
4013 * Unicode block of which this character is a member, or
4014 * {@code null} if the character is not a member of any
4015 * Unicode block
4016 */
4017 public static UnicodeBlock of(char c) {
4895
4896 /**
4897 * Unicode script "Gunjala Gondi".
4898 * @since 12
4899 */
4900 GUNJALA_GONDI,
4901
4902 /**
4903 * Unicode script "Makasar".
4904 * @since 12
4905 */
4906 MAKASAR,
4907
4908 /**
4909 * Unicode script "Medefaidrin".
4910 * @since 12
4911 */
4912 MEDEFAIDRIN,
4913
4914 /**
4915 * Unicode script "Elymaic".
4916 * @since 13
4917 */
4918 ELYMAIC,
4919
4920 /**
4921 * Unicode script "Nandinagari".
4922 * @since 13
4923 */
4924 NANDINAGARI,
4925
4926 /**
4927 * Unicode script "Nyiakeng Puachue Hmong".
4928 * @since 13
4929 */
4930 NYIAKENG_PUACHUE_HMONG,
4931
4932 /**
4933 * Unicode script "Wancho".
4934 * @since 13
4935 */
4936 WANCHO,
4937
4938 /**
4939 * Unicode script "Unknown".
4940 */
4941 UNKNOWN;
4942
4943 private static final int[] scriptStarts = {
4944 0x0000, // 0000..0040; COMMON
4945 0x0041, // 0041..005A; LATIN
4946 0x005B, // 005B..0060; COMMON
4947 0x0061, // 0061..007A; LATIN
4948 0x007B, // 007B..00A9; COMMON
4949 0x00AA, // 00AA ; LATIN
4950 0x00AB, // 00AB..00B9; COMMON
4951 0x00BA, // 00BA ; LATIN
4952 0x00BB, // 00BB..00BF; COMMON
4953 0x00C0, // 00C0..00D6; LATIN
4954 0x00D7, // 00D7 ; COMMON
4955 0x00D8, // 00D8..00F6; LATIN
4956 0x00F7, // 00F7 ; COMMON
4957 0x00F8, // 00F8..02B8; LATIN
4958 0x02B9, // 02B9..02DF; COMMON
5012 0x061F, // 061F ; COMMON
5013 0x0620, // 0620..063F; ARABIC
5014 0x0640, // 0640 ; COMMON
5015 0x0641, // 0641..064A; ARABIC
5016 0x064B, // 064B..0655; INHERITED
5017 0x0656, // 0656..066F; ARABIC
5018 0x0670, // 0670 ; INHERITED
5019 0x0671, // 0671..06DC; ARABIC
5020 0x06DD, // 06DD ; COMMON
5021 0x06DE, // 06DE..06FF; ARABIC
5022 0x0700, // 0700..070D; SYRIAC
5023 0x070E, // 070E ; UNKNOWN
5024 0x070F, // 070F..074A; SYRIAC
5025 0x074B, // 074B..074C; UNKNOWN
5026 0x074D, // 074D..074F; SYRIAC
5027 0x0750, // 0750..077F; ARABIC
5028 0x0780, // 0780..07B1; THAANA
5029 0x07B2, // 07B2..07BF; UNKNOWN
5030 0x07C0, // 07C0..07FA; NKO
5031 0x07FB, // 07FB..07FC; UNKNOWN
5032 0x07FD, // 07FD..07FF; NKO
5033 0x0800, // 0800..082D; SAMARITAN
5034 0x082E, // 082E..082F; UNKNOWN
5035 0x0830, // 0830..083E; SAMARITAN
5036 0x083F, // 083F ; UNKNOWN
5037 0x0840, // 0840..085B; MANDAIC
5038 0x085C, // 085C..085D; UNKNOWN
5039 0x085E, // 085E ; MANDAIC
5040 0x085F, // 085F ; UNKNOWN
5041 0x0860, // 0860..086A; SYRIAC
5042 0x086B, // 086B..089F; UNKNOWN
5043 0x08A0, // 08A0..08B4; ARABIC
5044 0x08B5, // 08B5 ; UNKNOWN
5045 0x08B6, // 08B6..08BD; ARABIC
5046 0x08BE, // 08BE..08D2; UNKNOWN
5047 0x08D3, // 08D3..08E1; ARABIC
5048 0x08E2, // 08E2 ; COMMON
5049 0x08E3, // 08E3..08FF; ARABIC
5050 0x0900, // 0900..0950; DEVANAGARI
5051 0x0951, // 0951..0954; INHERITED
5052 0x0955, // 0955..0963; DEVANAGARI
5053 0x0964, // 0964..0965; COMMON
5054 0x0966, // 0966..097F; DEVANAGARI
5055 0x0980, // 0980..0983; BENGALI
5056 0x0984, // 0984 ; UNKNOWN
5057 0x0985, // 0985..098C; BENGALI
5058 0x098D, // 098D..098E; UNKNOWN
5059 0x098F, // 098F..0990; BENGALI
5060 0x0991, // 0991..0992; UNKNOWN
5061 0x0993, // 0993..09A8; BENGALI
5062 0x09A9, // 09A9 ; UNKNOWN
5063 0x09AA, // 09AA..09B0; BENGALI
5064 0x09B1, // 09B1 ; UNKNOWN
5065 0x09B2, // 09B2 ; BENGALI
5066 0x09B3, // 09B3..09B5; UNKNOWN
5067 0x09B6, // 09B6..09B9; BENGALI
5068 0x09BA, // 09BA..09BB; UNKNOWN
5069 0x09BC, // 09BC..09C4; BENGALI
5070 0x09C5, // 09C5..09C6; UNKNOWN
5071 0x09C7, // 09C7..09C8; BENGALI
5072 0x09C9, // 09C9..09CA; UNKNOWN
5204 0x0C0D, // 0C0D ; UNKNOWN
5205 0x0C0E, // 0C0E..0C10; TELUGU
5206 0x0C11, // 0C11 ; UNKNOWN
5207 0x0C12, // 0C12..0C28; TELUGU
5208 0x0C29, // 0C29 ; UNKNOWN
5209 0x0C2A, // 0C2A..0C39; TELUGU
5210 0x0C3A, // 0C3A..0C3C; UNKNOWN
5211 0x0C3D, // 0C3D..0C44; TELUGU
5212 0x0C45, // 0C45 ; UNKNOWN
5213 0x0C46, // 0C46..0C48; TELUGU
5214 0x0C49, // 0C49 ; UNKNOWN
5215 0x0C4A, // 0C4A..0C4D; TELUGU
5216 0x0C4E, // 0C4E..0C54; UNKNOWN
5217 0x0C55, // 0C55..0C56; TELUGU
5218 0x0C57, // 0C57 ; UNKNOWN
5219 0x0C58, // 0C58..0C5A; TELUGU
5220 0x0C5B, // 0C5B..0C5F; UNKNOWN
5221 0x0C60, // 0C60..0C63; TELUGU
5222 0x0C64, // 0C64..0C65; UNKNOWN
5223 0x0C66, // 0C66..0C6F; TELUGU
5224 0x0C70, // 0C70..0C76; UNKNOWN
5225 0x0C77, // 0C77..0C7F; TELUGU
5226 0x0C80, // 0C80..0C8C; KANNADA
5227 0x0C8D, // 0C8D ; UNKNOWN
5228 0x0C8E, // 0C8E..0C90; KANNADA
5229 0x0C91, // 0C91 ; UNKNOWN
5230 0x0C92, // 0C92..0CA8; KANNADA
5231 0x0CA9, // 0CA9 ; UNKNOWN
5232 0x0CAA, // 0CAA..0CB3; KANNADA
5233 0x0CB4, // 0CB4 ; UNKNOWN
5234 0x0CB5, // 0CB5..0CB9; KANNADA
5235 0x0CBA, // 0CBA..0CBB; UNKNOWN
5236 0x0CBC, // 0CBC..0CC4; KANNADA
5237 0x0CC5, // 0CC5 ; UNKNOWN
5238 0x0CC6, // 0CC6..0CC8; KANNADA
5239 0x0CC9, // 0CC9 ; UNKNOWN
5240 0x0CCA, // 0CCA..0CCD; KANNADA
5241 0x0CCE, // 0CCE..0CD4; UNKNOWN
5242 0x0CD5, // 0CD5..0CD6; KANNADA
5243 0x0CD7, // 0CD7..0CDD; UNKNOWN
5244 0x0CDE, // 0CDE ; KANNADA
5245 0x0CDF, // 0CDF ; UNKNOWN
5280 0x0DCA, // 0DCA ; SINHALA
5281 0x0DCB, // 0DCB..0DCE; UNKNOWN
5282 0x0DCF, // 0DCF..0DD4; SINHALA
5283 0x0DD5, // 0DD5 ; UNKNOWN
5284 0x0DD6, // 0DD6 ; SINHALA
5285 0x0DD7, // 0DD7 ; UNKNOWN
5286 0x0DD8, // 0DD8..0DDF; SINHALA
5287 0x0DE0, // 0DE0..0DE5; UNKNOWN
5288 0x0DE6, // 0DE6..0DEF; SINHALA
5289 0x0DF0, // 0DF0..0DF1; UNKNOWN
5290 0x0DF2, // 0DF2..0DF4; SINHALA
5291 0x0DF5, // 0DF5..0E00; UNKNOWN
5292 0x0E01, // 0E01..0E3A; THAI
5293 0x0E3B, // 0E3B..0E3E; UNKNOWN
5294 0x0E3F, // 0E3F ; COMMON
5295 0x0E40, // 0E40..0E5B; THAI
5296 0x0E5C, // 0E5C..0E80; UNKNOWN
5297 0x0E81, // 0E81..0E82; LAO
5298 0x0E83, // 0E83 ; UNKNOWN
5299 0x0E84, // 0E84 ; LAO
5300 0x0E85, // 0E85 ; UNKNOWN
5301 0x0E86, // 0E86..0E8A; LAO
5302 0x0E8B, // 0E8B ; UNKNOWN
5303 0x0E8C, // 0E8C..0EA3; LAO
5304 0x0EA4, // 0EA4 ; UNKNOWN
5305 0x0EA5, // 0EA5 ; LAO
5306 0x0EA6, // 0EA6 ; UNKNOWN
5307 0x0EA7, // 0EA7..0EBD; LAO
5308 0x0EBE, // 0EBE..0EBF; UNKNOWN
5309 0x0EC0, // 0EC0..0EC4; LAO
5310 0x0EC5, // 0EC5 ; UNKNOWN
5311 0x0EC6, // 0EC6 ; LAO
5312 0x0EC7, // 0EC7 ; UNKNOWN
5313 0x0EC8, // 0EC8..0ECD; LAO
5314 0x0ECE, // 0ECE..0ECF; UNKNOWN
5315 0x0ED0, // 0ED0..0ED9; LAO
5316 0x0EDA, // 0EDA..0EDB; UNKNOWN
5317 0x0EDC, // 0EDC..0EDF; LAO
5318 0x0EE0, // 0EE0..0EFF; UNKNOWN
5319 0x0F00, // 0F00..0F47; TIBETAN
5320 0x0F48, // 0F48 ; UNKNOWN
5321 0x0F49, // 0F49..0F6C; TIBETAN
5322 0x0F6D, // 0F6D..0F70; UNKNOWN
5323 0x0F71, // 0F71..0F97; TIBETAN
5324 0x0F98, // 0F98 ; UNKNOWN
5325 0x0F99, // 0F99..0FBC; TIBETAN
5326 0x0FBD, // 0FBD ; UNKNOWN
5327 0x0FBE, // 0FBE..0FCC; TIBETAN
5328 0x0FCD, // 0FCD ; UNKNOWN
5329 0x0FCE, // 0FCE..0FD4; TIBETAN
5330 0x0FD5, // 0FD5..0FD8; COMMON
5331 0x0FD9, // 0FD9..0FDA; TIBETAN
5332 0x0FDB, // 0FDB..0FFF; UNKNOWN
5333 0x1000, // 1000..109F; MYANMAR
5334 0x10A0, // 10A0..10C5; GEORGIAN
5335 0x10C6, // 10C6 ; UNKNOWN
5336 0x10C7, // 10C7 ; GEORGIAN
5337 0x10C8, // 10C8..10CC; UNKNOWN
5338 0x10CD, // 10CD ; GEORGIAN
5339 0x10CE, // 10CE..10CF; UNKNOWN
5340 0x10D0, // 10D0..10FA; GEORGIAN
5341 0x10FB, // 10FB ; COMMON
5342 0x10FC, // 10FC..10FF; GEORGIAN
5343 0x1100, // 1100..11FF; HANGUL
5344 0x1200, // 1200..1248; ETHIOPIC
5345 0x1249, // 1249 ; UNKNOWN
5346 0x124A, // 124A..124D; ETHIOPIC
5347 0x124E, // 124E..124F; UNKNOWN
5348 0x1250, // 1250..1256; ETHIOPIC
5349 0x1257, // 1257 ; UNKNOWN
5350 0x1258, // 1258 ; ETHIOPIC
5351 0x1259, // 1259 ; UNKNOWN
5352 0x125A, // 125A..125D; ETHIOPIC
5457 0x1A9A, // 1A9A..1A9F; UNKNOWN
5458 0x1AA0, // 1AA0..1AAD; TAI_THAM
5459 0x1AAE, // 1AAE..1AAF; UNKNOWN
5460 0x1AB0, // 1AB0..1ABE; INHERITED
5461 0x1ABF, // 1ABF..1AFF; UNKNOWN
5462 0x1B00, // 1B00..1B4B; BALINESE
5463 0x1B4C, // 1B4C..1B4F; UNKNOWN
5464 0x1B50, // 1B50..1B7C; BALINESE
5465 0x1B7D, // 1B7D..1B7F; UNKNOWN
5466 0x1B80, // 1B80..1BBF; SUNDANESE
5467 0x1BC0, // 1BC0..1BF3; BATAK
5468 0x1BF4, // 1BF4..1BFB; UNKNOWN
5469 0x1BFC, // 1BFC..1BFF; BATAK
5470 0x1C00, // 1C00..1C37; LEPCHA
5471 0x1C38, // 1C38..1C3A; UNKNOWN
5472 0x1C3B, // 1C3B..1C49; LEPCHA
5473 0x1C4A, // 1C4A..1C4C; UNKNOWN
5474 0x1C4D, // 1C4D..1C4F; LEPCHA
5475 0x1C50, // 1C50..1C7F; OL_CHIKI
5476 0x1C80, // 1C80..1C88; CYRILLIC
5477 0x1C89, // 1C89..1C8F; UNKNOWN
5478 0x1C90, // 1C90..1CBA; GEORGIAN
5479 0x1CBB, // 1CBB..1CBC; UNKNOWN
5480 0x1CBD, // 1CBD..1CBF; GEORGIAN
5481 0x1CC0, // 1CC0..1CC7; SUNDANESE
5482 0x1CC8, // 1CC8..1CCF; UNKNOWN
5483 0x1CD0, // 1CD0..1CD2; INHERITED
5484 0x1CD3, // 1CD3 ; COMMON
5485 0x1CD4, // 1CD4..1CE0; INHERITED
5486 0x1CE1, // 1CE1 ; COMMON
5487 0x1CE2, // 1CE2..1CE8; INHERITED
5488 0x1CE9, // 1CE9..1CEC; COMMON
5489 0x1CED, // 1CED ; INHERITED
5490 0x1CEE, // 1CEE..1CF3; COMMON
5491 0x1CF4, // 1CF4 ; INHERITED
5492 0x1CF5, // 1CF5..1CF7; COMMON
5493 0x1CF8, // 1CF8..1CF9; INHERITED
5494 0x1CFA, // 1CFA ; COMMON
5495 0x1CFB, // 1CFB..1CFF; UNKNOWN
5496 0x1D00, // 1D00..1D25; LATIN
5497 0x1D26, // 1D26..1D2A; GREEK
5498 0x1D2B, // 1D2B ; CYRILLIC
5499 0x1D2C, // 1D2C..1D5C; LATIN
5500 0x1D5D, // 1D5D..1D61; GREEK
5501 0x1D62, // 1D62..1D65; LATIN
5502 0x1D66, // 1D66..1D6A; GREEK
5503 0x1D6B, // 1D6B..1D77; LATIN
5504 0x1D78, // 1D78 ; CYRILLIC
5505 0x1D79, // 1D79..1DBE; LATIN
5506 0x1DBF, // 1DBF ; GREEK
5507 0x1DC0, // 1DC0..1DF9; INHERITED
5508 0x1DFA, // 1DFA ; UNKNOWN
5509 0x1DFB, // 1DFB..1DFF; INHERITED
5510 0x1E00, // 1E00..1EFF; LATIN
5511 0x1F00, // 1F00..1F15; GREEK
5512 0x1F16, // 1F16..1F17; UNKNOWN
5513 0x1F18, // 1F18..1F1D; GREEK
5514 0x1F1E, // 1F1E..1F1F; UNKNOWN
5515 0x1F20, // 1F20..1F45; GREEK
5562 0x2127, // 2127..2129; COMMON
5563 0x212A, // 212A..212B; LATIN
5564 0x212C, // 212C..2131; COMMON
5565 0x2132, // 2132 ; LATIN
5566 0x2133, // 2133..214D; COMMON
5567 0x214E, // 214E ; LATIN
5568 0x214F, // 214F..215F; COMMON
5569 0x2160, // 2160..2188; LATIN
5570 0x2189, // 2189..218B; COMMON
5571 0x218C, // 218C..218F; UNKNOWN
5572 0x2190, // 2190..2426; COMMON
5573 0x2427, // 2427..243F; UNKNOWN
5574 0x2440, // 2440..244A; COMMON
5575 0x244B, // 244B..245F; UNKNOWN
5576 0x2460, // 2460..27FF; COMMON
5577 0x2800, // 2800..28FF; BRAILLE
5578 0x2900, // 2900..2B73; COMMON
5579 0x2B74, // 2B74..2B75; UNKNOWN
5580 0x2B76, // 2B76..2B95; COMMON
5581 0x2B96, // 2B96..2B97; UNKNOWN
5582 0x2B98, // 2B98..2BFF; COMMON
5583 0x2C00, // 2C00..2C2E; GLAGOLITIC
5584 0x2C2F, // 2C2F ; UNKNOWN
5585 0x2C30, // 2C30..2C5E; GLAGOLITIC
5586 0x2C5F, // 2C5F ; UNKNOWN
5587 0x2C60, // 2C60..2C7F; LATIN
5588 0x2C80, // 2C80..2CF3; COPTIC
5589 0x2CF4, // 2CF4..2CF8; UNKNOWN
5590 0x2CF9, // 2CF9..2CFF; COPTIC
5591 0x2D00, // 2D00..2D25; GEORGIAN
5592 0x2D26, // 2D26 ; UNKNOWN
5593 0x2D27, // 2D27 ; GEORGIAN
5594 0x2D28, // 2D28..2D2C; UNKNOWN
5595 0x2D2D, // 2D2D ; GEORGIAN
5596 0x2D2E, // 2D2E..2D2F; UNKNOWN
5597 0x2D30, // 2D30..2D67; TIFINAGH
5598 0x2D68, // 2D68..2D6E; UNKNOWN
5599 0x2D6F, // 2D6F..2D70; TIFINAGH
5600 0x2D71, // 2D71..2D7E; UNKNOWN
5601 0x2D7F, // 2D7F ; TIFINAGH
5602 0x2D80, // 2D80..2D96; ETHIOPIC
5603 0x2D97, // 2D97..2D9F; UNKNOWN
5604 0x2DA0, // 2DA0..2DA6; ETHIOPIC
5605 0x2DA7, // 2DA7 ; UNKNOWN
5606 0x2DA8, // 2DA8..2DAE; ETHIOPIC
5607 0x2DAF, // 2DAF ; UNKNOWN
5608 0x2DB0, // 2DB0..2DB6; ETHIOPIC
5609 0x2DB7, // 2DB7 ; UNKNOWN
5610 0x2DB8, // 2DB8..2DBE; ETHIOPIC
5611 0x2DBF, // 2DBF ; UNKNOWN
5612 0x2DC0, // 2DC0..2DC6; ETHIOPIC
5613 0x2DC7, // 2DC7 ; UNKNOWN
5614 0x2DC8, // 2DC8..2DCE; ETHIOPIC
5615 0x2DCF, // 2DCF ; UNKNOWN
5616 0x2DD0, // 2DD0..2DD6; ETHIOPIC
5617 0x2DD7, // 2DD7 ; UNKNOWN
5618 0x2DD8, // 2DD8..2DDE; ETHIOPIC
5619 0x2DDF, // 2DDF ; UNKNOWN
5620 0x2DE0, // 2DE0..2DFF; CYRILLIC
5621 0x2E00, // 2E00..2E4F; COMMON
5622 0x2E50, // 2E50..2E7F; UNKNOWN
5623 0x2E80, // 2E80..2E99; HAN
5624 0x2E9A, // 2E9A ; UNKNOWN
5625 0x2E9B, // 2E9B..2EF3; HAN
5626 0x2EF4, // 2EF4..2EFF; UNKNOWN
5627 0x2F00, // 2F00..2FD5; HAN
5628 0x2FD6, // 2FD6..2FEF; UNKNOWN
5629 0x2FF0, // 2FF0..2FFB; COMMON
5630 0x2FFC, // 2FFC..2FFF; UNKNOWN
5631 0x3000, // 3000..3004; COMMON
5632 0x3005, // 3005 ; HAN
5633 0x3006, // 3006 ; COMMON
5634 0x3007, // 3007 ; HAN
5635 0x3008, // 3008..3020; COMMON
5636 0x3021, // 3021..3029; HAN
5637 0x302A, // 302A..302D; INHERITED
5638 0x302E, // 302E..302F; HANGUL
5639 0x3030, // 3030..3037; COMMON
5640 0x3038, // 3038..303B; HAN
5641 0x303C, // 303C..303F; COMMON
5642 0x3040, // 3040 ; UNKNOWN
5643 0x3041, // 3041..3096; HIRAGANA
5644 0x3097, // 3097..3098; UNKNOWN
5645 0x3099, // 3099..309A; INHERITED
5646 0x309B, // 309B..309C; COMMON
5647 0x309D, // 309D..309F; HIRAGANA
5648 0x30A0, // 30A0 ; COMMON
5649 0x30A1, // 30A1..30FA; KATAKANA
5650 0x30FB, // 30FB..30FC; COMMON
5651 0x30FD, // 30FD..30FF; KATAKANA
5652 0x3100, // 3100..3104; UNKNOWN
5653 0x3105, // 3105..312F; BOPOMOFO
5654 0x3130, // 3130 ; UNKNOWN
5655 0x3131, // 3131..318E; HANGUL
5656 0x318F, // 318F ; UNKNOWN
5657 0x3190, // 3190..319F; COMMON
5658 0x31A0, // 31A0..31BA; BOPOMOFO
5659 0x31BB, // 31BB..31BF; UNKNOWN
5660 0x31C0, // 31C0..31E3; COMMON
5661 0x31E4, // 31E4..31EF; UNKNOWN
5662 0x31F0, // 31F0..31FF; KATAKANA
5663 0x3200, // 3200..321E; HANGUL
5664 0x321F, // 321F ; UNKNOWN
5665 0x3220, // 3220..325F; COMMON
5666 0x3260, // 3260..327E; HANGUL
5667 0x327F, // 327F..32CF; COMMON
5668 0x32D0, // 32D0..32FE; KATAKANA
5669 0x32FF, // 32FF ; COMMON
5670 0x3300, // 3300..3357; KATAKANA
5671 0x3358, // 3358..33FF; COMMON
5672 0x3400, // 3400..4DB5; HAN
5673 0x4DB6, // 4DB6..4DBF; UNKNOWN
5674 0x4DC0, // 4DC0..4DFF; COMMON
5675 0x4E00, // 4E00..9FEF; HAN
5676 0x9FF0, // 9FF0..9FFF; UNKNOWN
5677 0xA000, // A000..A48C; YI
5678 0xA48D, // A48D..A48F; UNKNOWN
5679 0xA490, // A490..A4C6; YI
5680 0xA4C7, // A4C7..A4CF; UNKNOWN
5681 0xA4D0, // A4D0..A4FF; LISU
5682 0xA500, // A500..A62B; VAI
5683 0xA62C, // A62C..A63F; UNKNOWN
5684 0xA640, // A640..A69F; CYRILLIC
5685 0xA6A0, // A6A0..A6F7; BAMUM
5686 0xA6F8, // A6F8..A6FF; UNKNOWN
5687 0xA700, // A700..A721; COMMON
5688 0xA722, // A722..A787; LATIN
5689 0xA788, // A788..A78A; COMMON
5690 0xA78B, // A78B..A7BF; LATIN
5691 0xA7C0, // A7C0..A7C1; UNKNOWN
5692 0xA7C2, // A7C2..A7C6; LATIN
5693 0xA7C7, // A7C7..A7F6; UNKNOWN
5694 0xA7F7, // A7F7..A7FF; LATIN
5695 0xA800, // A800..A82B; SYLOTI_NAGRI
5696 0xA82C, // A82C..A82F; UNKNOWN
5697 0xA830, // A830..A839; COMMON
5698 0xA83A, // A83A..A83F; UNKNOWN
5699 0xA840, // A840..A877; PHAGS_PA
5700 0xA878, // A878..A87F; UNKNOWN
5701 0xA880, // A880..A8C5; SAURASHTRA
5702 0xA8C6, // A8C6..A8CD; UNKNOWN
5703 0xA8CE, // A8CE..A8D9; SAURASHTRA
5704 0xA8DA, // A8DA..A8DF; UNKNOWN
5705 0xA8E0, // A8E0..A8FF; DEVANAGARI
5706 0xA900, // A900..A92D; KAYAH_LI
5707 0xA92E, // A92E ; COMMON
5708 0xA92F, // A92F ; KAYAH_LI
5709 0xA930, // A930..A953; REJANG
5710 0xA954, // A954..A95E; UNKNOWN
5711 0xA95F, // A95F ; REJANG
5712 0xA960, // A960..A97C; HANGUL
5713 0xA97D, // A97D..A97F; UNKNOWN
5729 0xAA60, // AA60..AA7F; MYANMAR
5730 0xAA80, // AA80..AAC2; TAI_VIET
5731 0xAAC3, // AAC3..AADA; UNKNOWN
5732 0xAADB, // AADB..AADF; TAI_VIET
5733 0xAAE0, // AAE0..AAF6; MEETEI_MAYEK
5734 0xAAF7, // AAF7..AB00; UNKNOWN
5735 0xAB01, // AB01..AB06; ETHIOPIC
5736 0xAB07, // AB07..AB08; UNKNOWN
5737 0xAB09, // AB09..AB0E; ETHIOPIC
5738 0xAB0F, // AB0F..AB10; UNKNOWN
5739 0xAB11, // AB11..AB16; ETHIOPIC
5740 0xAB17, // AB17..AB1F; UNKNOWN
5741 0xAB20, // AB20..AB26; ETHIOPIC
5742 0xAB27, // AB27 ; UNKNOWN
5743 0xAB28, // AB28..AB2E; ETHIOPIC
5744 0xAB2F, // AB2F ; UNKNOWN
5745 0xAB30, // AB30..AB5A; LATIN
5746 0xAB5B, // AB5B ; COMMON
5747 0xAB5C, // AB5C..AB64; LATIN
5748 0xAB65, // AB65 ; GREEK
5749 0xAB66, // AB66..AB67; LATIN
5750 0xAB68, // AB68..AB6F; UNKNOWN
5751 0xAB70, // AB70..ABBF; CHEROKEE
5752 0xABC0, // ABC0..ABED; MEETEI_MAYEK
5753 0xABEE, // ABEE..ABEF; UNKNOWN
5754 0xABF0, // ABF0..ABF9; MEETEI_MAYEK
5755 0xABFA, // ABFA..ABFF; UNKNOWN
5756 0xAC00, // AC00..D7A3; HANGUL
5757 0xD7A4, // D7A4..D7AF; UNKNOWN
5758 0xD7B0, // D7B0..D7C6; HANGUL
5759 0xD7C7, // D7C7..D7CA; UNKNOWN
5760 0xD7CB, // D7CB..D7FB; HANGUL
5761 0xD7FC, // D7FC..F8FF; UNKNOWN
5762 0xF900, // F900..FA6D; HAN
5763 0xFA6E, // FA6E..FA6F; UNKNOWN
5764 0xFA70, // FA70..FAD9; HAN
5765 0xFADA, // FADA..FAFF; UNKNOWN
5766 0xFB00, // FB00..FB06; LATIN
5767 0xFB07, // FB07..FB12; UNKNOWN
5768 0xFB13, // FB13..FB17; ARMENIAN
5769 0xFB18, // FB18..FB1C; UNKNOWN
5770 0xFB1D, // FB1D..FB36; HEBREW
5967 0x10B39, // 10B39..10B3F; AVESTAN
5968 0x10B40, // 10B40..10B55; INSCRIPTIONAL_PARTHIAN
5969 0x10B56, // 10B56..10B57; UNKNOWN
5970 0x10B58, // 10B58..10B5F; INSCRIPTIONAL_PARTHIAN
5971 0x10B60, // 10B60..10B72; INSCRIPTIONAL_PAHLAVI
5972 0x10B73, // 10B73..10B77; UNKNOWN
5973 0x10B78, // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5974 0x10B80, // 10B80..10B91; PSALTER_PAHLAVI
5975 0x10B92, // 10B92..10B98; UNKNOWN
5976 0x10B99, // 10B99..10B9C; PSALTER_PAHLAVI
5977 0x10B9D, // 10B9D..10BA8; UNKNOWN
5978 0x10BA9, // 10BA9..10BAF; PSALTER_PAHLAVI
5979 0x10BB0, // 10BB0..10BFF; UNKNOWN
5980 0x10C00, // 10C00..10C48; OLD_TURKIC
5981 0x10C49, // 10C49..10C7F; UNKNOWN
5982 0x10C80, // 10C80..10CB2; OLD_HUNGARIAN
5983 0x10CB3, // 10CB3..10CBF; UNKNOWN
5984 0x10CC0, // 10CC0..10CF2; OLD_HUNGARIAN
5985 0x10CF3, // 10CF3..10CF9; UNKNOWN
5986 0x10CFA, // 10CFA..10CFF; OLD_HUNGARIAN
5987 0x10D00, // 10D00..10D27; HANIFI_ROHINGYA
5988 0x10D28, // 10D28..10D2F; UNKNOWN
5989 0x10D30, // 10D30..10D39; HANIFI_ROHINGYA
5990 0x10D3A, // 10D3A..10E5F; UNKNOWN
5991 0x10E60, // 10E60..10E7E; ARABIC
5992 0x10E7F, // 10E7F..10EFF; UNKNOWN
5993 0x10F00, // 10F00..10F27; OLD_SOGDIAN
5994 0x10F28, // 10F28..10F2F; UNKNOWN
5995 0x10F30, // 10F30..10F59; SOGDIAN
5996 0x10F5A, // 10F5A..10FDF; UNKNOWN
5997 0x10FE0, // 10FE0..10FF6; ELYMAIC
5998 0x10FF7, // 10FF7..10FFF; UNKNOWN
5999 0x11000, // 11000..1104D; BRAHMI
6000 0x1104E, // 1104E..11051; UNKNOWN
6001 0x11052, // 11052..1106F; BRAHMI
6002 0x11070, // 11070..1107E; UNKNOWN
6003 0x1107F, // 1107F ; BRAHMI
6004 0x11080, // 11080..110C1; KAITHI
6005 0x110C2, // 110C2..110CC; UNKNOWN
6006 0x110CD, // 110CD ; KAITHI
6007 0x110CE, // 110CE..110CF; UNKNOWN
6008 0x110D0, // 110D0..110E8; SORA_SOMPENG
6009 0x110E9, // 110E9..110EF; UNKNOWN
6010 0x110F0, // 110F0..110F9; SORA_SOMPENG
6011 0x110FA, // 110FA..110FF; UNKNOWN
6012 0x11100, // 11100..11134; CHAKMA
6013 0x11135, // 11135 ; UNKNOWN
6014 0x11136, // 11136..11146; CHAKMA
6015 0x11147, // 11147..1114F; UNKNOWN
6016 0x11150, // 11150..11176; MAHAJANI
6017 0x11177, // 11177..1117F; UNKNOWN
6018 0x11180, // 11180..111CD; SHARADA
6057 0x1133C, // 1133C..11344; GRANTHA
6058 0x11345, // 11345..11346; UNKNOWN
6059 0x11347, // 11347..11348; GRANTHA
6060 0x11349, // 11349..1134A; UNKNOWN
6061 0x1134B, // 1134B..1134D; GRANTHA
6062 0x1134E, // 1134E..1134F; UNKNOWN
6063 0x11350, // 11350 ; GRANTHA
6064 0x11351, // 11351..11356; UNKNOWN
6065 0x11357, // 11357 ; GRANTHA
6066 0x11358, // 11358..1135C; UNKNOWN
6067 0x1135D, // 1135D..11363; GRANTHA
6068 0x11364, // 11364..11365; UNKNOWN
6069 0x11366, // 11366..1136C; GRANTHA
6070 0x1136D, // 1136D..1136F; UNKNOWN
6071 0x11370, // 11370..11374; GRANTHA
6072 0x11375, // 11375..113FF; UNKNOWN
6073 0x11400, // 11400..11459; NEWA
6074 0x1145A, // 1145A ; UNKNOWN
6075 0x1145B, // 1145B ; NEWA
6076 0x1145C, // 1145C ; UNKNOWN
6077 0x1145D, // 1145D..1145F; NEWA
6078 0x11460, // 11460..1147F; UNKNOWN
6079 0x11480, // 11480..114C7; TIRHUTA
6080 0x114C8, // 114C8..114CF; UNKNOWN
6081 0x114D0, // 114D0..114D9; TIRHUTA
6082 0x114DA, // 114DA..1157F; UNKNOWN
6083 0x11580, // 11580..115B5; SIDDHAM
6084 0x115B6, // 115B6..115B7; UNKNOWN
6085 0x115B8, // 115B8..115DD; SIDDHAM
6086 0x115DE, // 115DE..115FF; UNKNOWN
6087 0x11600, // 11600..11644; MODI
6088 0x11645, // 11645..1164F; UNKNOWN
6089 0x11650, // 11650..11659; MODI
6090 0x1165A, // 1165A..1165F; UNKNOWN
6091 0x11660, // 11660..1166C; MONGOLIAN
6092 0x1166D, // 1166D..1167F; UNKNOWN
6093 0x11680, // 11680..116B8; TAKRI
6094 0x116B9, // 116B9..116BF; UNKNOWN
6095 0x116C0, // 116C0..116C9; TAKRI
6096 0x116CA, // 116CA..116FF; UNKNOWN
6097 0x11700, // 11700..1171A; AHOM
6098 0x1171B, // 1171B..1171C; UNKNOWN
6099 0x1171D, // 1171D..1172B; AHOM
6100 0x1172C, // 1172C..1172F; UNKNOWN
6101 0x11730, // 11730..1173F; AHOM
6102 0x11740, // 11740..117FF; UNKNOWN
6103 0x11800, // 11800..1183B; DOGRA
6104 0x1183C, // 1183C..1189F; UNKNOWN
6105 0x118A0, // 118A0..118F2; WARANG_CITI
6106 0x118F3, // 118F3..118FE; UNKNOWN
6107 0x118FF, // 118FF ; WARANG_CITI
6108 0x11900, // 11900..1199F; UNKNOWN
6109 0x119A0, // 119A0..119A7; NANDINAGARI
6110 0x119A8, // 119A8..119A9; UNKNOWN
6111 0x119AA, // 119AA..119D7; NANDINAGARI
6112 0x119D8, // 119D8..119D9; UNKNOWN
6113 0x119DA, // 119DA..119E4; NANDINAGARI
6114 0x119E5, // 119E5..119FF; UNKNOWN
6115 0x11A00, // 11A00..11A47; ZANABAZAR_SQUARE
6116 0x11A48, // 11A48..11A4F; UNKNOWN
6117 0x11A50, // 11A50..11AA2; SOYOMBO
6118 0x11AA3, // 11AA3..11ABF; UNKNOWN
6119 0x11AC0, // 11AC0..11AF8; PAU_CIN_HAU
6120 0x11AF9, // 11AF9..11BFF; UNKNOWN
6121 0x11C00, // 11C00..11C08; BHAIKSUKI
6122 0x11C09, // 11C09 ; UNKNOWN
6123 0x11C0A, // 11C0A..11C36; BHAIKSUKI
6124 0x11C37, // 11C37 ; UNKNOWN
6125 0x11C38, // 11C38..11C45; BHAIKSUKI
6126 0x11C46, // 11C46..11C4F; UNKNOWN
6127 0x11C50, // 11C50..11C6C; BHAIKSUKI
6128 0x11C6D, // 11C6D..11C6F; UNKNOWN
6129 0x11C70, // 11C70..11C8F; MARCHEN
6130 0x11C90, // 11C90..11C91; UNKNOWN
6131 0x11C92, // 11C92..11CA7; MARCHEN
6132 0x11CA8, // 11CA8 ; UNKNOWN
6133 0x11CA9, // 11CA9..11CB6; MARCHEN
6134 0x11CB7, // 11CB7..11CFF; UNKNOWN
6135 0x11D00, // 11D00..11D06; MASARAM_GONDI
6136 0x11D07, // 11D07 ; UNKNOWN
6137 0x11D08, // 11D08..11D09; MASARAM_GONDI
6138 0x11D0A, // 11D0A ; UNKNOWN
6139 0x11D0B, // 11D0B..11D36; MASARAM_GONDI
6140 0x11D37, // 11D37..11D39; UNKNOWN
6141 0x11D3A, // 11D3A ; MASARAM_GONDI
6142 0x11D3B, // 11D3B ; UNKNOWN
6143 0x11D3C, // 11D3C..11D3D; MASARAM_GONDI
6144 0x11D3E, // 11D3E ; UNKNOWN
6145 0x11D3F, // 11D3F..11D47; MASARAM_GONDI
6146 0x11D48, // 11D48..11D4F; UNKNOWN
6147 0x11D50, // 11D50..11D59; MASARAM_GONDI
6148 0x11D5A, // 11D5A..11D5F; UNKNOWN
6149 0x11D60, // 11D60..11D65; GUNJALA_GONDI
6150 0x11D66, // 11D66 ; UNKNOWN
6151 0x11D67, // 11D67..11D68; GUNJALA_GONDI
6152 0x11D69, // 11D69 ; UNKNOWN
6153 0x11D6A, // 11D6A..11D8E; GUNJALA_GONDI
6154 0x11D8F, // 11D8F ; UNKNOWN
6155 0x11D90, // 11D90..11D91; GUNJALA_GONDI
6156 0x11D92, // 11D92 ; UNKNOWN
6157 0x11D93, // 11D93..11D98; GUNJALA_GONDI
6158 0x11D99, // 11D99..11D9F; UNKNOWN
6159 0x11DA0, // 11DA0..11DA9; GUNJALA_GONDI
6160 0x11DAA, // 11DAA..11EDF; UNKNOWN
6161 0x11EE0, // 11EE0..11EF8; MAKASAR
6162 0x11EF9, // 11EF9..11FBF; UNKNOWN
6163 0x11FC0, // 11FC0..11FF1; TAMIL
6164 0x11FF2, // 11FF2..11FFE; UNKNOWN
6165 0x11FFF, // 11FFF ; TAMIL
6166 0x12000, // 12000..12399; CUNEIFORM
6167 0x1239A, // 1239A..123FF; UNKNOWN
6168 0x12400, // 12400..1246E; CUNEIFORM
6169 0x1246F, // 1246F ; UNKNOWN
6170 0x12470, // 12470..12474; CUNEIFORM
6171 0x12475, // 12475..1247F; UNKNOWN
6172 0x12480, // 12480..12543; CUNEIFORM
6173 0x12544, // 12544..12FFF; UNKNOWN
6174 0x13000, // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6175 0x1342F, // 1342F ; UNKNOWN
6176 0x13430, // 13430..13438; EGYPTIAN_HIEROGLYPHS
6177 0x13439, // 13439..143FF; UNKNOWN
6178 0x14400, // 14400..14646; ANATOLIAN_HIEROGLYPHS
6179 0x14647, // 14647..167FF; UNKNOWN
6180 0x16800, // 16800..16A38; BAMUM
6181 0x16A39, // 16A39..16A3F; UNKNOWN
6182 0x16A40, // 16A40..16A5E; MRO
6183 0x16A5F, // 16A5F ; UNKNOWN
6184 0x16A60, // 16A60..16A69; MRO
6185 0x16A6A, // 16A6A..16A6D; UNKNOWN
6186 0x16A6E, // 16A6E..16A6F; MRO
6187 0x16A70, // 16A70..16ACF; UNKNOWN
6188 0x16AD0, // 16AD0..16AED; BASSA_VAH
6189 0x16AEE, // 16AEE..16AEF; UNKNOWN
6190 0x16AF0, // 16AF0..16AF5; BASSA_VAH
6191 0x16AF6, // 16AF6..16AFF; UNKNOWN
6192 0x16B00, // 16B00..16B45; PAHAWH_HMONG
6193 0x16B46, // 16B46..16B4F; UNKNOWN
6194 0x16B50, // 16B50..16B59; PAHAWH_HMONG
6195 0x16B5A, // 16B5A ; UNKNOWN
6196 0x16B5B, // 16B5B..16B61; PAHAWH_HMONG
6197 0x16B62, // 16B62 ; UNKNOWN
6198 0x16B63, // 16B63..16B77; PAHAWH_HMONG
6199 0x16B78, // 16B78..16B7C; UNKNOWN
6200 0x16B7D, // 16B7D..16B8F; PAHAWH_HMONG
6201 0x16B90, // 16B90..16E3F; UNKNOWN
6202 0x16E40, // 16E40..16E9A; MEDEFAIDRIN
6203 0x16E9B, // 16E9B..16EFF; UNKNOWN
6204 0x16F00, // 16F00..16F4A; MIAO
6205 0x16F4B, // 16F4B..16F4E; UNKNOWN
6206 0x16F4F, // 16F4F..16F87; MIAO
6207 0x16F88, // 16F88..16F8E; UNKNOWN
6208 0x16F8F, // 16F8F..16F9F; MIAO
6209 0x16FA0, // 16FA0..16FDF; UNKNOWN
6210 0x16FE0, // 16FE0 ; TANGUT
6211 0x16FE1, // 16FE1 ; NUSHU
6212 0x16FE2, // 16FE2..16FE3; COMMON
6213 0x16FE4, // 16FE4..16FFF; UNKNOWN
6214 0x17000, // 17000..187F7; TANGUT
6215 0x187F8, // 187F8..187FF; UNKNOWN
6216 0x18800, // 18800..18AF2; TANGUT
6217 0x18AF3, // 18AF3..1AFFF; UNKNOWN
6218 0x1B000, // 1B000 ; KATAKANA
6219 0x1B001, // 1B001..1B11E; HIRAGANA
6220 0x1B11F, // 1B11F..1B14F; UNKNOWN
6221 0x1B150, // 1B150..1B152; HIRAGANA
6222 0x1B153, // 1B153..1B163; UNKNOWN
6223 0x1B164, // 1B164..1B167; KATAKANA
6224 0x1B168, // 1B168..1B16F; UNKNOWN
6225 0x1B170, // 1B170..1B2FB; NUSHU
6226 0x1B2FC, // 1B2FC..1BBFF; UNKNOWN
6227 0x1BC00, // 1BC00..1BC6A; DUPLOYAN
6228 0x1BC6B, // 1BC6B..1BC6F; UNKNOWN
6229 0x1BC70, // 1BC70..1BC7C; DUPLOYAN
6230 0x1BC7D, // 1BC7D..1BC7F; UNKNOWN
6231 0x1BC80, // 1BC80..1BC88; DUPLOYAN
6232 0x1BC89, // 1BC89..1BC8F; UNKNOWN
6233 0x1BC90, // 1BC90..1BC99; DUPLOYAN
6234 0x1BC9A, // 1BC9A..1BC9B; UNKNOWN
6235 0x1BC9C, // 1BC9C..1BC9F; DUPLOYAN
6236 0x1BCA0, // 1BCA0..1BCA3; COMMON
6237 0x1BCA4, // 1BCA4..1CFFF; UNKNOWN
6238 0x1D000, // 1D000..1D0F5; COMMON
6239 0x1D0F6, // 1D0F6..1D0FF; UNKNOWN
6240 0x1D100, // 1D100..1D126; COMMON
6241 0x1D127, // 1D127..1D128; UNKNOWN
6242 0x1D129, // 1D129..1D166; COMMON
6243 0x1D167, // 1D167..1D169; INHERITED
6244 0x1D16A, // 1D16A..1D17A; COMMON
6296 0x1D552, // 1D552..1D6A5; COMMON
6297 0x1D6A6, // 1D6A6..1D6A7; UNKNOWN
6298 0x1D6A8, // 1D6A8..1D7CB; COMMON
6299 0x1D7CC, // 1D7CC..1D7CD; UNKNOWN
6300 0x1D7CE, // 1D7CE..1D7FF; COMMON
6301 0x1D800, // 1D800..1DA8B; SIGNWRITING
6302 0x1DA8C, // 1DA8C..1DA9A; UNKNOWN
6303 0x1DA9B, // 1DA9B..1DA9F; SIGNWRITING
6304 0x1DAA0, // 1DAA0 ; UNKNOWN
6305 0x1DAA1, // 1DAA1..1DAAF; SIGNWRITING
6306 0x1DAB0, // 1DAB0..1DFFF; UNKNOWN
6307 0x1E000, // 1E000..1E006; GLAGOLITIC
6308 0x1E007, // 1E007 ; UNKNOWN
6309 0x1E008, // 1E008..1E018; GLAGOLITIC
6310 0x1E019, // 1E019..1E01A; UNKNOWN
6311 0x1E01B, // 1E01B..1E021; GLAGOLITIC
6312 0x1E022, // 1E022 ; UNKNOWN
6313 0x1E023, // 1E023..1E024; GLAGOLITIC
6314 0x1E025, // 1E025 ; UNKNOWN
6315 0x1E026, // 1E026..1E02A; GLAGOLITIC
6316 0x1E02B, // 1E02B..1E0FF; UNKNOWN
6317 0x1E100, // 1E100..1E12C; NYIAKENG_PUACHUE_HMONG
6318 0x1E12D, // 1E12D..1E12F; UNKNOWN
6319 0x1E130, // 1E130..1E13D; NYIAKENG_PUACHUE_HMONG
6320 0x1E13E, // 1E13E..1E13F; UNKNOWN
6321 0x1E140, // 1E140..1E149; NYIAKENG_PUACHUE_HMONG
6322 0x1E14A, // 1E14A..1E14D; UNKNOWN
6323 0x1E14E, // 1E14E..1E14F; NYIAKENG_PUACHUE_HMONG
6324 0x1E150, // 1E150..1E2BF; UNKNOWN
6325 0x1E2C0, // 1E2C0..1E2F9; WANCHO
6326 0x1E2FA, // 1E2FA..1E2FE; UNKNOWN
6327 0x1E2FF, // 1E2FF ; WANCHO
6328 0x1E300, // 1E300..1E7FF; UNKNOWN
6329 0x1E800, // 1E800..1E8C4; MENDE_KIKAKUI
6330 0x1E8C5, // 1E8C5..1E8C6; UNKNOWN
6331 0x1E8C7, // 1E8C7..1E8D6; MENDE_KIKAKUI
6332 0x1E8D7, // 1E8D7..1E8FF; UNKNOWN
6333 0x1E900, // 1E900..1E94B; ADLAM
6334 0x1E94C, // 1E94C..1E94F; UNKNOWN
6335 0x1E950, // 1E950..1E959; ADLAM
6336 0x1E95A, // 1E95A..1E95D; UNKNOWN
6337 0x1E95E, // 1E95E..1E95F; ADLAM
6338 0x1E960, // 1E960..1EC70; UNKNOWN
6339 0x1EC71, // 1EC71..1ECB4; COMMON
6340 0x1ECB5, // 1ECB5..1ED00; UNKNOWN
6341 0x1ED01, // 1ED01..1ED3D; COMMON
6342 0x1ED3E, // 1ED3E..1EDFF; UNKNOWN
6343 0x1EE00, // 1EE00..1EE03; ARABIC
6344 0x1EE04, // 1EE04 ; UNKNOWN
6345 0x1EE05, // 1EE05..1EE1F; ARABIC
6346 0x1EE20, // 1EE20 ; UNKNOWN
6347 0x1EE21, // 1EE21..1EE22; ARABIC
6348 0x1EE23, // 1EE23 ; UNKNOWN
6349 0x1EE24, // 1EE24 ; ARABIC
6350 0x1EE25, // 1EE25..1EE26; UNKNOWN
6351 0x1EE27, // 1EE27 ; ARABIC
6352 0x1EE28, // 1EE28 ; UNKNOWN
6353 0x1EE29, // 1EE29..1EE32; ARABIC
6354 0x1EE33, // 1EE33 ; UNKNOWN
6355 0x1EE34, // 1EE34..1EE37; ARABIC
6356 0x1EE38, // 1EE38 ; UNKNOWN
6357 0x1EE39, // 1EE39 ; ARABIC
6358 0x1EE3A, // 1EE3A ; UNKNOWN
6359 0x1EE3B, // 1EE3B ; ARABIC
6360 0x1EE3C, // 1EE3C..1EE41; UNKNOWN
6361 0x1EE42, // 1EE42 ; ARABIC
6362 0x1EE43, // 1EE43..1EE46; UNKNOWN
6405 0x1EEA5, // 1EEA5..1EEA9; ARABIC
6406 0x1EEAA, // 1EEAA ; UNKNOWN
6407 0x1EEAB, // 1EEAB..1EEBB; ARABIC
6408 0x1EEBC, // 1EEBC..1EEEF; UNKNOWN
6409 0x1EEF0, // 1EEF0..1EEF1; ARABIC
6410 0x1EEF2, // 1EEF2..1EFFF; UNKNOWN
6411 0x1F000, // 1F000..1F02B; COMMON
6412 0x1F02C, // 1F02C..1F02F; UNKNOWN
6413 0x1F030, // 1F030..1F093; COMMON
6414 0x1F094, // 1F094..1F09F; UNKNOWN
6415 0x1F0A0, // 1F0A0..1F0AE; COMMON
6416 0x1F0AF, // 1F0AF..1F0B0; UNKNOWN
6417 0x1F0B1, // 1F0B1..1F0BF; COMMON
6418 0x1F0C0, // 1F0C0 ; UNKNOWN
6419 0x1F0C1, // 1F0C1..1F0CF; COMMON
6420 0x1F0D0, // 1F0D0 ; UNKNOWN
6421 0x1F0D1, // 1F0D1..1F0F5; COMMON
6422 0x1F0F6, // 1F0F6..1F0FF; UNKNOWN
6423 0x1F100, // 1F100..1F10C; COMMON
6424 0x1F10D, // 1F10D..1F10F; UNKNOWN
6425 0x1F110, // 1F110..1F16C; COMMON
6426 0x1F16D, // 1F16D..1F16F; UNKNOWN
6427 0x1F170, // 1F170..1F1AC; COMMON
6428 0x1F1AD, // 1F1AD..1F1E5; UNKNOWN
6429 0x1F1E6, // 1F1E6..1F1FF; COMMON
6430 0x1F200, // 1F200 ; HIRAGANA
6431 0x1F201, // 1F201..1F202; COMMON
6432 0x1F203, // 1F203..1F20F; UNKNOWN
6433 0x1F210, // 1F210..1F23B; COMMON
6434 0x1F23C, // 1F23C..1F23F; UNKNOWN
6435 0x1F240, // 1F240..1F248; COMMON
6436 0x1F249, // 1F249..1F24F; UNKNOWN
6437 0x1F250, // 1F250..1F251; COMMON
6438 0x1F252, // 1F252..1F25F; UNKNOWN
6439 0x1F260, // 1F260..1F265; COMMON
6440 0x1F266, // 1F266..1F2FF; UNKNOWN
6441 0x1F300, // 1F300..1F6D5; COMMON
6442 0x1F6D6, // 1F6D6..1F6DF; UNKNOWN
6443 0x1F6E0, // 1F6E0..1F6EC; COMMON
6444 0x1F6ED, // 1F6ED..1F6EF; UNKNOWN
6445 0x1F6F0, // 1F6F0..1F6FA; COMMON
6446 0x1F6FB, // 1F6FB..1F6FF; UNKNOWN
6447 0x1F700, // 1F700..1F773; COMMON
6448 0x1F774, // 1F774..1F77F; UNKNOWN
6449 0x1F780, // 1F780..1F7D8; COMMON
6450 0x1F7D9, // 1F7D9..1F7DF; UNKNOWN
6451 0x1F7E0, // 1F7E0..1F7EB; COMMON
6452 0x1F7EC, // 1F7EC..1F7FF; UNKNOWN
6453 0x1F800, // 1F800..1F80B; COMMON
6454 0x1F80C, // 1F80C..1F80F; UNKNOWN
6455 0x1F810, // 1F810..1F847; COMMON
6456 0x1F848, // 1F848..1F84F; UNKNOWN
6457 0x1F850, // 1F850..1F859; COMMON
6458 0x1F85A, // 1F85A..1F85F; UNKNOWN
6459 0x1F860, // 1F860..1F887; COMMON
6460 0x1F888, // 1F888..1F88F; UNKNOWN
6461 0x1F890, // 1F890..1F8AD; COMMON
6462 0x1F8AE, // 1F8AE..1F8FF; UNKNOWN
6463 0x1F900, // 1F900..1F90B; COMMON
6464 0x1F90C, // 1F90C ; UNKNOWN
6465 0x1F90D, // 1F90D..1F971; COMMON
6466 0x1F972, // 1F972 ; UNKNOWN
6467 0x1F973, // 1F973..1F976; COMMON
6468 0x1F977, // 1F977..1F979; UNKNOWN
6469 0x1F97A, // 1F97A..1F9A2; COMMON
6470 0x1F9A3, // 1F9A3..1F9A4; UNKNOWN
6471 0x1F9A5, // 1F9A5..1F9AA; COMMON
6472 0x1F9AB, // 1F9AB..1F9AD; UNKNOWN
6473 0x1F9AE, // 1F9AE..1F9CA; COMMON
6474 0x1F9CB, // 1F9CB..1F9CC; UNKNOWN
6475 0x1F9CD, // 1F9CD..1FA53; COMMON
6476 0x1FA54, // 1FA54..1FA5F; UNKNOWN
6477 0x1FA60, // 1FA60..1FA6D; COMMON
6478 0x1FA6E, // 1FA6E..1FA6F; UNKNOWN
6479 0x1FA70, // 1FA70..1FA73; COMMON
6480 0x1FA74, // 1FA74..1FA77; UNKNOWN
6481 0x1FA78, // 1FA78..1FA7A; COMMON
6482 0x1FA7B, // 1FA7B..1FA7F; UNKNOWN
6483 0x1FA80, // 1FA80..1FA82; COMMON
6484 0x1FA83, // 1FA83..1FA8F; UNKNOWN
6485 0x1FA90, // 1FA90..1FA95; COMMON
6486 0x1FA96, // 1FA96..1FFFF; UNKNOWN
6487 0x20000, // 20000..2A6D6; HAN
6488 0x2A6D7, // 2A6D7..2A6FF; UNKNOWN
6489 0x2A700, // 2A700..2B734; HAN
6490 0x2B735, // 2B735..2B73F; UNKNOWN
6491 0x2B740, // 2B740..2B81D; HAN
6492 0x2B81E, // 2B81E..2B81F; UNKNOWN
6493 0x2B820, // 2B820..2CEA1; HAN
6494 0x2CEA2, // 2CEA2..2CEAF; UNKNOWN
6495 0x2CEB0, // 2CEB0..2EBE0; HAN
6496 0x2EBE1, // 2EBE1..2F7FF; UNKNOWN
6497 0x2F800, // 2F800..2FA1D; HAN
6498 0x2FA1E, // 2FA1E..E0000; UNKNOWN
6499 0xE0001, // E0001 ; COMMON
6500 0xE0002, // E0002..E001F; UNKNOWN
6501 0xE0020, // E0020..E007F; COMMON
6502 0xE0080, // E0080..E00FF; UNKNOWN
6503 0xE0100, // E0100..E01EF; INHERITED
6504 0xE01F0, // E01F0..10FFFF; UNKNOWN
6505 };
6506
6507 private static final UnicodeScript[] scripts = {
6508 COMMON, // 0000..0040
6509 LATIN, // 0041..005A
6510 COMMON, // 005B..0060
6511 LATIN, // 0061..007A
6512 COMMON, // 007B..00A9
6513 LATIN, // 00AA
6514 COMMON, // 00AB..00B9
6515 LATIN, // 00BA
6516 COMMON, // 00BB..00BF
6517 LATIN, // 00C0..00D6
6518 COMMON, // 00D7
6519 LATIN, // 00D8..00F6
6520 COMMON, // 00F7
6521 LATIN, // 00F8..02B8
6522 COMMON, // 02B9..02DF
6523 LATIN, // 02E0..02E4
6524 COMMON, // 02E5..02E9
6595 UNKNOWN, // 07FB..07FC
6596 NKO, // 07FD..07FF
6597 SAMARITAN, // 0800..082D
6598 UNKNOWN, // 082E..082F
6599 SAMARITAN, // 0830..083E
6600 UNKNOWN, // 083F
6601 MANDAIC, // 0840..085B
6602 UNKNOWN, // 085C..085D
6603 MANDAIC, // 085E
6604 UNKNOWN, // 085F
6605 SYRIAC, // 0860..086A
6606 UNKNOWN, // 086B..089F
6607 ARABIC, // 08A0..08B4
6608 UNKNOWN, // 08B5
6609 ARABIC, // 08B6..08BD
6610 UNKNOWN, // 08BE..08D2
6611 ARABIC, // 08D3..08E1
6612 COMMON, // 08E2
6613 ARABIC, // 08E3..08FF
6614 DEVANAGARI, // 0900..0950
6615 INHERITED, // 0951..0954
6616 DEVANAGARI, // 0955..0963
6617 COMMON, // 0964..0965
6618 DEVANAGARI, // 0966..097F
6619 BENGALI, // 0980..0983
6620 UNKNOWN, // 0984
6621 BENGALI, // 0985..098C
6622 UNKNOWN, // 098D..098E
6623 BENGALI, // 098F..0990
6624 UNKNOWN, // 0991..0992
6625 BENGALI, // 0993..09A8
6626 UNKNOWN, // 09A9
6627 BENGALI, // 09AA..09B0
6628 UNKNOWN, // 09B1
6629 BENGALI, // 09B2
6630 UNKNOWN, // 09B3..09B5
6631 BENGALI, // 09B6..09B9
6632 UNKNOWN, // 09BA..09BB
6633 BENGALI, // 09BC..09C4
6634 UNKNOWN, // 09C5..09C6
6635 BENGALI, // 09C7..09C8
6636 UNKNOWN, // 09C9..09CA
6768 UNKNOWN, // 0C0D
6769 TELUGU, // 0C0E..0C10
6770 UNKNOWN, // 0C11
6771 TELUGU, // 0C12..0C28
6772 UNKNOWN, // 0C29
6773 TELUGU, // 0C2A..0C39
6774 UNKNOWN, // 0C3A..0C3C
6775 TELUGU, // 0C3D..0C44
6776 UNKNOWN, // 0C45
6777 TELUGU, // 0C46..0C48
6778 UNKNOWN, // 0C49
6779 TELUGU, // 0C4A..0C4D
6780 UNKNOWN, // 0C4E..0C54
6781 TELUGU, // 0C55..0C56
6782 UNKNOWN, // 0C57
6783 TELUGU, // 0C58..0C5A
6784 UNKNOWN, // 0C5B..0C5F
6785 TELUGU, // 0C60..0C63
6786 UNKNOWN, // 0C64..0C65
6787 TELUGU, // 0C66..0C6F
6788 UNKNOWN, // 0C70..0C76
6789 TELUGU, // 0C77..0C7F
6790 KANNADA, // 0C80..0C8C
6791 UNKNOWN, // 0C8D
6792 KANNADA, // 0C8E..0C90
6793 UNKNOWN, // 0C91
6794 KANNADA, // 0C92..0CA8
6795 UNKNOWN, // 0CA9
6796 KANNADA, // 0CAA..0CB3
6797 UNKNOWN, // 0CB4
6798 KANNADA, // 0CB5..0CB9
6799 UNKNOWN, // 0CBA..0CBB
6800 KANNADA, // 0CBC..0CC4
6801 UNKNOWN, // 0CC5
6802 KANNADA, // 0CC6..0CC8
6803 UNKNOWN, // 0CC9
6804 KANNADA, // 0CCA..0CCD
6805 UNKNOWN, // 0CCE..0CD4
6806 KANNADA, // 0CD5..0CD6
6807 UNKNOWN, // 0CD7..0CDD
6808 KANNADA, // 0CDE
6809 UNKNOWN, // 0CDF
6844 SINHALA, // 0DCA
6845 UNKNOWN, // 0DCB..0DCE
6846 SINHALA, // 0DCF..0DD4
6847 UNKNOWN, // 0DD5
6848 SINHALA, // 0DD6
6849 UNKNOWN, // 0DD7
6850 SINHALA, // 0DD8..0DDF
6851 UNKNOWN, // 0DE0..0DE5
6852 SINHALA, // 0DE6..0DEF
6853 UNKNOWN, // 0DF0..0DF1
6854 SINHALA, // 0DF2..0DF4
6855 UNKNOWN, // 0DF5..0E00
6856 THAI, // 0E01..0E3A
6857 UNKNOWN, // 0E3B..0E3E
6858 COMMON, // 0E3F
6859 THAI, // 0E40..0E5B
6860 UNKNOWN, // 0E5C..0E80
6861 LAO, // 0E81..0E82
6862 UNKNOWN, // 0E83
6863 LAO, // 0E84
6864 UNKNOWN, // 0E85
6865 LAO, // 0E86..0E8A
6866 UNKNOWN, // 0E8B
6867 LAO, // 0E8C..0EA3
6868 UNKNOWN, // 0EA4
6869 LAO, // 0EA5
6870 UNKNOWN, // 0EA6
6871 LAO, // 0EA7..0EBD
6872 UNKNOWN, // 0EBE..0EBF
6873 LAO, // 0EC0..0EC4
6874 UNKNOWN, // 0EC5
6875 LAO, // 0EC6
6876 UNKNOWN, // 0EC7
6877 LAO, // 0EC8..0ECD
6878 UNKNOWN, // 0ECE..0ECF
6879 LAO, // 0ED0..0ED9
6880 UNKNOWN, // 0EDA..0EDB
6881 LAO, // 0EDC..0EDF
6882 UNKNOWN, // 0EE0..0EFF
6883 TIBETAN, // 0F00..0F47
6884 UNKNOWN, // 0F48
6885 TIBETAN, // 0F49..0F6C
6886 UNKNOWN, // 0F6D..0F70
6887 TIBETAN, // 0F71..0F97
6888 UNKNOWN, // 0F98
6889 TIBETAN, // 0F99..0FBC
6890 UNKNOWN, // 0FBD
6891 TIBETAN, // 0FBE..0FCC
6892 UNKNOWN, // 0FCD
6893 TIBETAN, // 0FCE..0FD4
6894 COMMON, // 0FD5..0FD8
6895 TIBETAN, // 0FD9..0FDA
6896 UNKNOWN, // 0FDB..0FFF
6897 MYANMAR, // 1000..109F
6898 GEORGIAN, // 10A0..10C5
6899 UNKNOWN, // 10C6
6900 GEORGIAN, // 10C7
6901 UNKNOWN, // 10C8..10CC
6902 GEORGIAN, // 10CD
6903 UNKNOWN, // 10CE..10CF
6904 GEORGIAN, // 10D0..10FA
6905 COMMON, // 10FB
6906 GEORGIAN, // 10FC..10FF
6907 HANGUL, // 1100..11FF
6908 ETHIOPIC, // 1200..1248
6909 UNKNOWN, // 1249
6910 ETHIOPIC, // 124A..124D
6911 UNKNOWN, // 124E..124F
6912 ETHIOPIC, // 1250..1256
6913 UNKNOWN, // 1257
6914 ETHIOPIC, // 1258
6915 UNKNOWN, // 1259
6916 ETHIOPIC, // 125A..125D
7021 UNKNOWN, // 1A9A..1A9F
7022 TAI_THAM, // 1AA0..1AAD
7023 UNKNOWN, // 1AAE..1AAF
7024 INHERITED, // 1AB0..1ABE
7025 UNKNOWN, // 1ABF..1AFF
7026 BALINESE, // 1B00..1B4B
7027 UNKNOWN, // 1B4C..1B4F
7028 BALINESE, // 1B50..1B7C
7029 UNKNOWN, // 1B7D..1B7F
7030 SUNDANESE, // 1B80..1BBF
7031 BATAK, // 1BC0..1BF3
7032 UNKNOWN, // 1BF4..1BFB
7033 BATAK, // 1BFC..1BFF
7034 LEPCHA, // 1C00..1C37
7035 UNKNOWN, // 1C38..1C3A
7036 LEPCHA, // 1C3B..1C49
7037 UNKNOWN, // 1C4A..1C4C
7038 LEPCHA, // 1C4D..1C4F
7039 OL_CHIKI, // 1C50..1C7F
7040 CYRILLIC, // 1C80..1C88
7041 UNKNOWN, // 1C89..1C8F
7042 GEORGIAN, // 1C90..1CBA
7043 UNKNOWN, // 1CBB..1CBC
7044 GEORGIAN, // 1CBD..1CBF
7045 SUNDANESE, // 1CC0..1CC7
7046 UNKNOWN, // 1CC8..1CCF
7047 INHERITED, // 1CD0..1CD2
7048 COMMON, // 1CD3
7049 INHERITED, // 1CD4..1CE0
7050 COMMON, // 1CE1
7051 INHERITED, // 1CE2..1CE8
7052 COMMON, // 1CE9..1CEC
7053 INHERITED, // 1CED
7054 COMMON, // 1CEE..1CF3
7055 INHERITED, // 1CF4
7056 COMMON, // 1CF5..1CF7
7057 INHERITED, // 1CF8..1CF9
7058 COMMON, // 1CFA
7059 UNKNOWN, // 1CFB..1CFF
7060 LATIN, // 1D00..1D25
7061 GREEK, // 1D26..1D2A
7062 CYRILLIC, // 1D2B
7063 LATIN, // 1D2C..1D5C
7064 GREEK, // 1D5D..1D61
7065 LATIN, // 1D62..1D65
7066 GREEK, // 1D66..1D6A
7067 LATIN, // 1D6B..1D77
7068 CYRILLIC, // 1D78
7069 LATIN, // 1D79..1DBE
7070 GREEK, // 1DBF
7071 INHERITED, // 1DC0..1DF9
7072 UNKNOWN, // 1DFA
7073 INHERITED, // 1DFB..1DFF
7074 LATIN, // 1E00..1EFF
7075 GREEK, // 1F00..1F15
7076 UNKNOWN, // 1F16..1F17
7077 GREEK, // 1F18..1F1D
7078 UNKNOWN, // 1F1E..1F1F
7079 GREEK, // 1F20..1F45
7126 COMMON, // 2127..2129
7127 LATIN, // 212A..212B
7128 COMMON, // 212C..2131
7129 LATIN, // 2132
7130 COMMON, // 2133..214D
7131 LATIN, // 214E
7132 COMMON, // 214F..215F
7133 LATIN, // 2160..2188
7134 COMMON, // 2189..218B
7135 UNKNOWN, // 218C..218F
7136 COMMON, // 2190..2426
7137 UNKNOWN, // 2427..243F
7138 COMMON, // 2440..244A
7139 UNKNOWN, // 244B..245F
7140 COMMON, // 2460..27FF
7141 BRAILLE, // 2800..28FF
7142 COMMON, // 2900..2B73
7143 UNKNOWN, // 2B74..2B75
7144 COMMON, // 2B76..2B95
7145 UNKNOWN, // 2B96..2B97
7146 COMMON, // 2B98..2BFF
7147 GLAGOLITIC, // 2C00..2C2E
7148 UNKNOWN, // 2C2F
7149 GLAGOLITIC, // 2C30..2C5E
7150 UNKNOWN, // 2C5F
7151 LATIN, // 2C60..2C7F
7152 COPTIC, // 2C80..2CF3
7153 UNKNOWN, // 2CF4..2CF8
7154 COPTIC, // 2CF9..2CFF
7155 GEORGIAN, // 2D00..2D25
7156 UNKNOWN, // 2D26
7157 GEORGIAN, // 2D27
7158 UNKNOWN, // 2D28..2D2C
7159 GEORGIAN, // 2D2D
7160 UNKNOWN, // 2D2E..2D2F
7161 TIFINAGH, // 2D30..2D67
7162 UNKNOWN, // 2D68..2D6E
7163 TIFINAGH, // 2D6F..2D70
7164 UNKNOWN, // 2D71..2D7E
7165 TIFINAGH, // 2D7F
7166 ETHIOPIC, // 2D80..2D96
7167 UNKNOWN, // 2D97..2D9F
7168 ETHIOPIC, // 2DA0..2DA6
7169 UNKNOWN, // 2DA7
7170 ETHIOPIC, // 2DA8..2DAE
7171 UNKNOWN, // 2DAF
7172 ETHIOPIC, // 2DB0..2DB6
7173 UNKNOWN, // 2DB7
7174 ETHIOPIC, // 2DB8..2DBE
7175 UNKNOWN, // 2DBF
7176 ETHIOPIC, // 2DC0..2DC6
7177 UNKNOWN, // 2DC7
7178 ETHIOPIC, // 2DC8..2DCE
7179 UNKNOWN, // 2DCF
7180 ETHIOPIC, // 2DD0..2DD6
7181 UNKNOWN, // 2DD7
7182 ETHIOPIC, // 2DD8..2DDE
7183 UNKNOWN, // 2DDF
7184 CYRILLIC, // 2DE0..2DFF
7185 COMMON, // 2E00..2E4F
7186 UNKNOWN, // 2E50..2E7F
7187 HAN, // 2E80..2E99
7188 UNKNOWN, // 2E9A
7189 HAN, // 2E9B..2EF3
7190 UNKNOWN, // 2EF4..2EFF
7191 HAN, // 2F00..2FD5
7192 UNKNOWN, // 2FD6..2FEF
7193 COMMON, // 2FF0..2FFB
7194 UNKNOWN, // 2FFC..2FFF
7195 COMMON, // 3000..3004
7196 HAN, // 3005
7197 COMMON, // 3006
7198 HAN, // 3007
7199 COMMON, // 3008..3020
7200 HAN, // 3021..3029
7201 INHERITED, // 302A..302D
7202 HANGUL, // 302E..302F
7203 COMMON, // 3030..3037
7204 HAN, // 3038..303B
7205 COMMON, // 303C..303F
7206 UNKNOWN, // 3040
7234 KATAKANA, // 3300..3357
7235 COMMON, // 3358..33FF
7236 HAN, // 3400..4DB5
7237 UNKNOWN, // 4DB6..4DBF
7238 COMMON, // 4DC0..4DFF
7239 HAN, // 4E00..9FEF
7240 UNKNOWN, // 9FF0..9FFF
7241 YI, // A000..A48C
7242 UNKNOWN, // A48D..A48F
7243 YI, // A490..A4C6
7244 UNKNOWN, // A4C7..A4CF
7245 LISU, // A4D0..A4FF
7246 VAI, // A500..A62B
7247 UNKNOWN, // A62C..A63F
7248 CYRILLIC, // A640..A69F
7249 BAMUM, // A6A0..A6F7
7250 UNKNOWN, // A6F8..A6FF
7251 COMMON, // A700..A721
7252 LATIN, // A722..A787
7253 COMMON, // A788..A78A
7254 LATIN, // A78B..A7BF
7255 UNKNOWN, // A7C0..A7C1
7256 LATIN, // A7C2..A7C6
7257 UNKNOWN, // A7C7..A7F6
7258 LATIN, // A7F7..A7FF
7259 SYLOTI_NAGRI, // A800..A82B
7260 UNKNOWN, // A82C..A82F
7261 COMMON, // A830..A839
7262 UNKNOWN, // A83A..A83F
7263 PHAGS_PA, // A840..A877
7264 UNKNOWN, // A878..A87F
7265 SAURASHTRA, // A880..A8C5
7266 UNKNOWN, // A8C6..A8CD
7267 SAURASHTRA, // A8CE..A8D9
7268 UNKNOWN, // A8DA..A8DF
7269 DEVANAGARI, // A8E0..A8FF
7270 KAYAH_LI, // A900..A92D
7271 COMMON, // A92E
7272 KAYAH_LI, // A92F
7273 REJANG, // A930..A953
7274 UNKNOWN, // A954..A95E
7275 REJANG, // A95F
7276 HANGUL, // A960..A97C
7277 UNKNOWN, // A97D..A97F
7293 MYANMAR, // AA60..AA7F
7294 TAI_VIET, // AA80..AAC2
7295 UNKNOWN, // AAC3..AADA
7296 TAI_VIET, // AADB..AADF
7297 MEETEI_MAYEK, // AAE0..AAF6
7298 UNKNOWN, // AAF7..AB00
7299 ETHIOPIC, // AB01..AB06
7300 UNKNOWN, // AB07..AB08
7301 ETHIOPIC, // AB09..AB0E
7302 UNKNOWN, // AB0F..AB10
7303 ETHIOPIC, // AB11..AB16
7304 UNKNOWN, // AB17..AB1F
7305 ETHIOPIC, // AB20..AB26
7306 UNKNOWN, // AB27
7307 ETHIOPIC, // AB28..AB2E
7308 UNKNOWN, // AB2F
7309 LATIN, // AB30..AB5A
7310 COMMON, // AB5B
7311 LATIN, // AB5C..AB64
7312 GREEK, // AB65
7313 LATIN, // AB66..AB67
7314 UNKNOWN, // AB68..AB6F
7315 CHEROKEE, // AB70..ABBF
7316 MEETEI_MAYEK, // ABC0..ABED
7317 UNKNOWN, // ABEE..ABEF
7318 MEETEI_MAYEK, // ABF0..ABF9
7319 UNKNOWN, // ABFA..ABFF
7320 HANGUL, // AC00..D7A3
7321 UNKNOWN, // D7A4..D7AF
7322 HANGUL, // D7B0..D7C6
7323 UNKNOWN, // D7C7..D7CA
7324 HANGUL, // D7CB..D7FB
7325 UNKNOWN, // D7FC..F8FF
7326 HAN, // F900..FA6D
7327 UNKNOWN, // FA6E..FA6F
7328 HAN, // FA70..FAD9
7329 UNKNOWN, // FADA..FAFF
7330 LATIN, // FB00..FB06
7331 UNKNOWN, // FB07..FB12
7332 ARMENIAN, // FB13..FB17
7333 UNKNOWN, // FB18..FB1C
7334 HEBREW, // FB1D..FB36
7433 OLD_ITALIC, // 10300..10323
7434 UNKNOWN, // 10324..1032C
7435 OLD_ITALIC, // 1032D..1032F
7436 GOTHIC, // 10330..1034A
7437 UNKNOWN, // 1034B..1034F
7438 OLD_PERMIC, // 10350..1037A
7439 UNKNOWN, // 1037B..1037F
7440 UGARITIC, // 10380..1039D
7441 UNKNOWN, // 1039E
7442 UGARITIC, // 1039F
7443 OLD_PERSIAN, // 103A0..103C3
7444 UNKNOWN, // 103C4..103C7
7445 OLD_PERSIAN, // 103C8..103D5
7446 UNKNOWN, // 103D6..103FF
7447 DESERET, // 10400..1044F
7448 SHAVIAN, // 10450..1047F
7449 OSMANYA, // 10480..1049D
7450 UNKNOWN, // 1049E..1049F
7451 OSMANYA, // 104A0..104A9
7452 UNKNOWN, // 104AA..104AF
7453 OSAGE, // 104B0..104D3
7454 UNKNOWN, // 104D4..104D7
7455 OSAGE, // 104D8..104FB
7456 UNKNOWN, // 104FC..104FF
7457 ELBASAN, // 10500..10527
7458 UNKNOWN, // 10528..1052F
7459 CAUCASIAN_ALBANIAN, // 10530..10563
7460 UNKNOWN, // 10564..1056E
7461 CAUCASIAN_ALBANIAN, // 1056F
7462 UNKNOWN, // 10570..105FF
7463 LINEAR_A, // 10600..10736
7464 UNKNOWN, // 10737..1073F
7465 LINEAR_A, // 10740..10755
7466 UNKNOWN, // 10756..1075F
7467 LINEAR_A, // 10760..10767
7468 UNKNOWN, // 10768..107FF
7469 CYPRIOT, // 10800..10805
7470 UNKNOWN, // 10806..10807
7471 CYPRIOT, // 10808
7472 UNKNOWN, // 10809
7473 CYPRIOT, // 1080A..10835
7474 UNKNOWN, // 10836
7475 CYPRIOT, // 10837..10838
7476 UNKNOWN, // 10839..1083B
7532 INSCRIPTIONAL_PARTHIAN, // 10B40..10B55
7533 UNKNOWN, // 10B56..10B57
7534 INSCRIPTIONAL_PARTHIAN, // 10B58..10B5F
7535 INSCRIPTIONAL_PAHLAVI, // 10B60..10B72
7536 UNKNOWN, // 10B73..10B77
7537 INSCRIPTIONAL_PAHLAVI, // 10B78..10B7F
7538 PSALTER_PAHLAVI, // 10B80..10B91
7539 UNKNOWN, // 10B92..10B98
7540 PSALTER_PAHLAVI, // 10B99..10B9C
7541 UNKNOWN, // 10B9D..10BA8
7542 PSALTER_PAHLAVI, // 10BA9..10BAF
7543 UNKNOWN, // 10BB0..10BFF
7544 OLD_TURKIC, // 10C00..10C48
7545 UNKNOWN, // 10C49..10C7F
7546 OLD_HUNGARIAN, // 10C80..10CB2
7547 UNKNOWN, // 10CB3..10CBF
7548 OLD_HUNGARIAN, // 10CC0..10CF2
7549 UNKNOWN, // 10CF3..10CF9
7550 OLD_HUNGARIAN, // 10CFA..10CFF
7551 HANIFI_ROHINGYA, // 10D00..10D27
7552 UNKNOWN, // 10D28..10D2F
7553 HANIFI_ROHINGYA, // 10D30..10D39
7554 UNKNOWN, // 10D3A..10E5F
7555 ARABIC, // 10E60..10E7E
7556 UNKNOWN, // 10E7F..10EFF
7557 OLD_SOGDIAN, // 10F00..10F27
7558 UNKNOWN, // 10F28..10F2F
7559 SOGDIAN, // 10F30..10F59
7560 UNKNOWN, // 10F5A..10FDF
7561 ELYMAIC, // 10FE0..10FF6
7562 UNKNOWN, // 10FF7..10FFF
7563 BRAHMI, // 11000..1104D
7564 UNKNOWN, // 1104E..11051
7565 BRAHMI, // 11052..1106F
7566 UNKNOWN, // 11070..1107E
7567 BRAHMI, // 1107F
7568 KAITHI, // 11080..110C1
7569 UNKNOWN, // 110C2..110CC
7570 KAITHI, // 110CD
7571 UNKNOWN, // 110CE..110CF
7572 SORA_SOMPENG, // 110D0..110E8
7573 UNKNOWN, // 110E9..110EF
7574 SORA_SOMPENG, // 110F0..110F9
7575 UNKNOWN, // 110FA..110FF
7576 CHAKMA, // 11100..11134
7577 UNKNOWN, // 11135
7578 CHAKMA, // 11136..11146
7579 UNKNOWN, // 11147..1114F
7580 MAHAJANI, // 11150..11176
7581 UNKNOWN, // 11177..1117F
7582 SHARADA, // 11180..111CD
7621 GRANTHA, // 1133C..11344
7622 UNKNOWN, // 11345..11346
7623 GRANTHA, // 11347..11348
7624 UNKNOWN, // 11349..1134A
7625 GRANTHA, // 1134B..1134D
7626 UNKNOWN, // 1134E..1134F
7627 GRANTHA, // 11350
7628 UNKNOWN, // 11351..11356
7629 GRANTHA, // 11357
7630 UNKNOWN, // 11358..1135C
7631 GRANTHA, // 1135D..11363
7632 UNKNOWN, // 11364..11365
7633 GRANTHA, // 11366..1136C
7634 UNKNOWN, // 1136D..1136F
7635 GRANTHA, // 11370..11374
7636 UNKNOWN, // 11375..113FF
7637 NEWA, // 11400..11459
7638 UNKNOWN, // 1145A
7639 NEWA, // 1145B
7640 UNKNOWN, // 1145C
7641 NEWA, // 1145D..1145F
7642 UNKNOWN, // 11460..1147F
7643 TIRHUTA, // 11480..114C7
7644 UNKNOWN, // 114C8..114CF
7645 TIRHUTA, // 114D0..114D9
7646 UNKNOWN, // 114DA..1157F
7647 SIDDHAM, // 11580..115B5
7648 UNKNOWN, // 115B6..115B7
7649 SIDDHAM, // 115B8..115DD
7650 UNKNOWN, // 115DE..115FF
7651 MODI, // 11600..11644
7652 UNKNOWN, // 11645..1164F
7653 MODI, // 11650..11659
7654 UNKNOWN, // 1165A..1165F
7655 MONGOLIAN, // 11660..1166C
7656 UNKNOWN, // 1166D..1167F
7657 TAKRI, // 11680..116B8
7658 UNKNOWN, // 116B9..116BF
7659 TAKRI, // 116C0..116C9
7660 UNKNOWN, // 116CA..116FF
7661 AHOM, // 11700..1171A
7662 UNKNOWN, // 1171B..1171C
7663 AHOM, // 1171D..1172B
7664 UNKNOWN, // 1172C..1172F
7665 AHOM, // 11730..1173F
7666 UNKNOWN, // 11740..117FF
7667 DOGRA, // 11800..1183B
7668 UNKNOWN, // 1183C..1189F
7669 WARANG_CITI, // 118A0..118F2
7670 UNKNOWN, // 118F3..118FE
7671 WARANG_CITI, // 118FF
7672 UNKNOWN, // 11900..1199F
7673 NANDINAGARI, // 119A0..119A7
7674 UNKNOWN, // 119A8..119A9
7675 NANDINAGARI, // 119AA..119D7
7676 UNKNOWN, // 119D8..119D9
7677 NANDINAGARI, // 119DA..119E4
7678 UNKNOWN, // 119E5..119FF
7679 ZANABAZAR_SQUARE, // 11A00..11A47
7680 UNKNOWN, // 11A48..11A4F
7681 SOYOMBO, // 11A50..11AA2
7682 UNKNOWN, // 11AA3..11ABF
7683 PAU_CIN_HAU, // 11AC0..11AF8
7684 UNKNOWN, // 11AF9..11BFF
7685 BHAIKSUKI, // 11C00..11C08
7686 UNKNOWN, // 11C09
7687 BHAIKSUKI, // 11C0A..11C36
7688 UNKNOWN, // 11C37
7689 BHAIKSUKI, // 11C38..11C45
7690 UNKNOWN, // 11C46..11C4F
7691 BHAIKSUKI, // 11C50..11C6C
7692 UNKNOWN, // 11C6D..11C6F
7693 MARCHEN, // 11C70..11C8F
7694 UNKNOWN, // 11C90..11C91
7695 MARCHEN, // 11C92..11CA7
7696 UNKNOWN, // 11CA8
7697 MARCHEN, // 11CA9..11CB6
7698 UNKNOWN, // 11CB7..11CFF
7699 MASARAM_GONDI, // 11D00..11D06
7700 UNKNOWN, // 11D07
7701 MASARAM_GONDI, // 11D08..11D09
7702 UNKNOWN, // 11D0A
7703 MASARAM_GONDI, // 11D0B..11D36
7704 UNKNOWN, // 11D37..11D39
7705 MASARAM_GONDI, // 11D3A
7706 UNKNOWN, // 11D3B
7707 MASARAM_GONDI, // 11D3C..11D3D
7708 UNKNOWN, // 11D3E
7709 MASARAM_GONDI, // 11D3F..11D47
7710 UNKNOWN, // 11D48..11D4F
7711 MASARAM_GONDI, // 11D50..11D59
7712 UNKNOWN, // 11D5A..11D5F
7713 GUNJALA_GONDI, // 11D60..11D65
7714 UNKNOWN, // 11D66
7715 GUNJALA_GONDI, // 11D67..11D68
7716 UNKNOWN, // 11D69
7717 GUNJALA_GONDI, // 11D6A..11D8E
7718 UNKNOWN, // 11D8F
7719 GUNJALA_GONDI, // 11D90..11D91
7720 UNKNOWN, // 11D92
7721 GUNJALA_GONDI, // 11D93..11D98
7722 UNKNOWN, // 11D99..11D9F
7723 GUNJALA_GONDI, // 11DA0..11DA9
7724 UNKNOWN, // 11DAA..11EDF
7725 MAKASAR, // 11EE0..11EF8
7726 UNKNOWN, // 11EF9..11FBF
7727 TAMIL, // 11FC0..11FF1
7728 UNKNOWN, // 11FF2..11FFE
7729 TAMIL, // 11FFF
7730 CUNEIFORM, // 12000..12399
7731 UNKNOWN, // 1239A..123FF
7732 CUNEIFORM, // 12400..1246E
7733 UNKNOWN, // 1246F
7734 CUNEIFORM, // 12470..12474
7735 UNKNOWN, // 12475..1247F
7736 CUNEIFORM, // 12480..12543
7737 UNKNOWN, // 12544..12FFF
7738 EGYPTIAN_HIEROGLYPHS, // 13000..1342E
7739 UNKNOWN, // 1342F
7740 EGYPTIAN_HIEROGLYPHS, // 13430..13438
7741 UNKNOWN, // 13439..143FF
7742 ANATOLIAN_HIEROGLYPHS, // 14400..14646
7743 UNKNOWN, // 14647..167FF
7744 BAMUM, // 16800..16A38
7745 UNKNOWN, // 16A39..16A3F
7746 MRO, // 16A40..16A5E
7747 UNKNOWN, // 16A5F
7748 MRO, // 16A60..16A69
7749 UNKNOWN, // 16A6A..16A6D
7750 MRO, // 16A6E..16A6F
7751 UNKNOWN, // 16A70..16ACF
7752 BASSA_VAH, // 16AD0..16AED
7753 UNKNOWN, // 16AEE..16AEF
7754 BASSA_VAH, // 16AF0..16AF5
7755 UNKNOWN, // 16AF6..16AFF
7756 PAHAWH_HMONG, // 16B00..16B45
7757 UNKNOWN, // 16B46..16B4F
7758 PAHAWH_HMONG, // 16B50..16B59
7759 UNKNOWN, // 16B5A
7760 PAHAWH_HMONG, // 16B5B..16B61
7761 UNKNOWN, // 16B62
7762 PAHAWH_HMONG, // 16B63..16B77
7763 UNKNOWN, // 16B78..16B7C
7764 PAHAWH_HMONG, // 16B7D..16B8F
7765 UNKNOWN, // 16B90..16E3F
7766 MEDEFAIDRIN, // 16E40..16E9A
7767 UNKNOWN, // 16E9B..16EFF
7768 MIAO, // 16F00..16F4A
7769 UNKNOWN, // 16F4B..16F4E
7770 MIAO, // 16F4F..16F87
7771 UNKNOWN, // 16F88..16F8E
7772 MIAO, // 16F8F..16F9F
7773 UNKNOWN, // 16FA0..16FDF
7774 TANGUT, // 16FE0
7775 NUSHU, // 16FE1
7776 COMMON, // 16FE2..16FE3
7777 UNKNOWN, // 16FE4..16FFF
7778 TANGUT, // 17000..187F7
7779 UNKNOWN, // 187F8..187FF
7780 TANGUT, // 18800..18AF2
7781 UNKNOWN, // 18AF3..1AFFF
7782 KATAKANA, // 1B000
7783 HIRAGANA, // 1B001..1B11E
7784 UNKNOWN, // 1B11F..1B14F
7785 HIRAGANA, // 1B150..1B152
7786 UNKNOWN, // 1B153..1B163
7787 KATAKANA, // 1B164..1B167
7788 UNKNOWN, // 1B168..1B16F
7789 NUSHU, // 1B170..1B2FB
7790 UNKNOWN, // 1B2FC..1BBFF
7791 DUPLOYAN, // 1BC00..1BC6A
7792 UNKNOWN, // 1BC6B..1BC6F
7793 DUPLOYAN, // 1BC70..1BC7C
7794 UNKNOWN, // 1BC7D..1BC7F
7795 DUPLOYAN, // 1BC80..1BC88
7796 UNKNOWN, // 1BC89..1BC8F
7797 DUPLOYAN, // 1BC90..1BC99
7798 UNKNOWN, // 1BC9A..1BC9B
7799 DUPLOYAN, // 1BC9C..1BC9F
7800 COMMON, // 1BCA0..1BCA3
7801 UNKNOWN, // 1BCA4..1CFFF
7802 COMMON, // 1D000..1D0F5
7803 UNKNOWN, // 1D0F6..1D0FF
7804 COMMON, // 1D100..1D126
7805 UNKNOWN, // 1D127..1D128
7806 COMMON, // 1D129..1D166
7807 INHERITED, // 1D167..1D169
7808 COMMON, // 1D16A..1D17A
7860 COMMON, // 1D552..1D6A5
7861 UNKNOWN, // 1D6A6..1D6A7
7862 COMMON, // 1D6A8..1D7CB
7863 UNKNOWN, // 1D7CC..1D7CD
7864 COMMON, // 1D7CE..1D7FF
7865 SIGNWRITING, // 1D800..1DA8B
7866 UNKNOWN, // 1DA8C..1DA9A
7867 SIGNWRITING, // 1DA9B..1DA9F
7868 UNKNOWN, // 1DAA0
7869 SIGNWRITING, // 1DAA1..1DAAF
7870 UNKNOWN, // 1DAB0..1DFFF
7871 GLAGOLITIC, // 1E000..1E006
7872 UNKNOWN, // 1E007
7873 GLAGOLITIC, // 1E008..1E018
7874 UNKNOWN, // 1E019..1E01A
7875 GLAGOLITIC, // 1E01B..1E021
7876 UNKNOWN, // 1E022
7877 GLAGOLITIC, // 1E023..1E024
7878 UNKNOWN, // 1E025
7879 GLAGOLITIC, // 1E026..1E02A
7880 UNKNOWN, // 1E02B..1E0FF
7881 NYIAKENG_PUACHUE_HMONG, // 1E100..1E12C
7882 UNKNOWN, // 1E12D..1E12F
7883 NYIAKENG_PUACHUE_HMONG, // 1E130..1E13D
7884 UNKNOWN, // 1E13E..1E13F
7885 NYIAKENG_PUACHUE_HMONG, // 1E140..1E149
7886 UNKNOWN, // 1E14A..1E14D
7887 NYIAKENG_PUACHUE_HMONG, // 1E14E..1E14F
7888 UNKNOWN, // 1E150..1E2BF
7889 WANCHO, // 1E2C0..1E2F9
7890 UNKNOWN, // 1E2FA..1E2FE
7891 WANCHO, // 1E2FF
7892 UNKNOWN, // 1E300..1E7FF
7893 MENDE_KIKAKUI, // 1E800..1E8C4
7894 UNKNOWN, // 1E8C5..1E8C6
7895 MENDE_KIKAKUI, // 1E8C7..1E8D6
7896 UNKNOWN, // 1E8D7..1E8FF
7897 ADLAM, // 1E900..1E94B
7898 UNKNOWN, // 1E94C..1E94F
7899 ADLAM, // 1E950..1E959
7900 UNKNOWN, // 1E95A..1E95D
7901 ADLAM, // 1E95E..1E95F
7902 UNKNOWN, // 1E960..1EC70
7903 COMMON, // 1EC71..1ECB4
7904 UNKNOWN, // 1ECB5..1ED00
7905 COMMON, // 1ED01..1ED3D
7906 UNKNOWN, // 1ED3E..1EDFF
7907 ARABIC, // 1EE00..1EE03
7908 UNKNOWN, // 1EE04
7909 ARABIC, // 1EE05..1EE1F
7910 UNKNOWN, // 1EE20
7911 ARABIC, // 1EE21..1EE22
7912 UNKNOWN, // 1EE23
7913 ARABIC, // 1EE24
7914 UNKNOWN, // 1EE25..1EE26
7915 ARABIC, // 1EE27
7916 UNKNOWN, // 1EE28
7917 ARABIC, // 1EE29..1EE32
7918 UNKNOWN, // 1EE33
7919 ARABIC, // 1EE34..1EE37
7920 UNKNOWN, // 1EE38
7921 ARABIC, // 1EE39
7922 UNKNOWN, // 1EE3A
7923 ARABIC, // 1EE3B
7924 UNKNOWN, // 1EE3C..1EE41
7925 ARABIC, // 1EE42
7926 UNKNOWN, // 1EE43..1EE46
7969 ARABIC, // 1EEA5..1EEA9
7970 UNKNOWN, // 1EEAA
7971 ARABIC, // 1EEAB..1EEBB
7972 UNKNOWN, // 1EEBC..1EEEF
7973 ARABIC, // 1EEF0..1EEF1
7974 UNKNOWN, // 1EEF2..1EFFF
7975 COMMON, // 1F000..1F02B
7976 UNKNOWN, // 1F02C..1F02F
7977 COMMON, // 1F030..1F093
7978 UNKNOWN, // 1F094..1F09F
7979 COMMON, // 1F0A0..1F0AE
7980 UNKNOWN, // 1F0AF..1F0B0
7981 COMMON, // 1F0B1..1F0BF
7982 UNKNOWN, // 1F0C0
7983 COMMON, // 1F0C1..1F0CF
7984 UNKNOWN, // 1F0D0
7985 COMMON, // 1F0D1..1F0F5
7986 UNKNOWN, // 1F0F6..1F0FF
7987 COMMON, // 1F100..1F10C
7988 UNKNOWN, // 1F10D..1F10F
7989 COMMON, // 1F110..1F16C
7990 UNKNOWN, // 1F16D..1F16F
7991 COMMON, // 1F170..1F1AC
7992 UNKNOWN, // 1F1AD..1F1E5
7993 COMMON, // 1F1E6..1F1FF
7994 HIRAGANA, // 1F200
7995 COMMON, // 1F201..1F202
7996 UNKNOWN, // 1F203..1F20F
7997 COMMON, // 1F210..1F23B
7998 UNKNOWN, // 1F23C..1F23F
7999 COMMON, // 1F240..1F248
8000 UNKNOWN, // 1F249..1F24F
8001 COMMON, // 1F250..1F251
8002 UNKNOWN, // 1F252..1F25F
8003 COMMON, // 1F260..1F265
8004 UNKNOWN, // 1F266..1F2FF
8005 COMMON, // 1F300..1F6D5
8006 UNKNOWN, // 1F6D6..1F6DF
8007 COMMON, // 1F6E0..1F6EC
8008 UNKNOWN, // 1F6ED..1F6EF
8009 COMMON, // 1F6F0..1F6FA
8010 UNKNOWN, // 1F6FB..1F6FF
8011 COMMON, // 1F700..1F773
8012 UNKNOWN, // 1F774..1F77F
8013 COMMON, // 1F780..1F7D8
8014 UNKNOWN, // 1F7D9..1F7DF
8015 COMMON, // 1F7E0..1F7EB
8016 UNKNOWN, // 1F7EC..1F7FF
8017 COMMON, // 1F800..1F80B
8018 UNKNOWN, // 1F80C..1F80F
8019 COMMON, // 1F810..1F847
8020 UNKNOWN, // 1F848..1F84F
8021 COMMON, // 1F850..1F859
8022 UNKNOWN, // 1F85A..1F85F
8023 COMMON, // 1F860..1F887
8024 UNKNOWN, // 1F888..1F88F
8025 COMMON, // 1F890..1F8AD
8026 UNKNOWN, // 1F8AE..1F8FF
8027 COMMON, // 1F900..1F90B
8028 UNKNOWN, // 1F90C
8029 COMMON, // 1F90D..1F971
8030 UNKNOWN, // 1F972
8031 COMMON, // 1F973..1F976
8032 UNKNOWN, // 1F977..1F979
8033 COMMON, // 1F97A..1F9A2
8034 UNKNOWN, // 1F9A3..1F9A4
8035 COMMON, // 1F9A5..1F9AA
8036 UNKNOWN, // 1F9AB..1F9AD
8037 COMMON, // 1F9AE..1F9CA
8038 UNKNOWN, // 1F9CB..1F9CC
8039 COMMON, // 1F9CD..1FA53
8040 UNKNOWN, // 1FA54..1FA5F
8041 COMMON, // 1FA60..1FA6D
8042 UNKNOWN, // 1FA6E..1FA6F
8043 COMMON, // 1FA70..1FA73
8044 UNKNOWN, // 1FA74..1FA77
8045 COMMON, // 1FA78..1FA7A
8046 UNKNOWN, // 1FA7B..1FA7F
8047 COMMON, // 1FA80..1FA82
8048 UNKNOWN, // 1FA83..1FA8F
8049 COMMON, // 1FA90..1FA95
8050 UNKNOWN, // 1FA96..1FFFF
8051 HAN, // 20000..2A6D6
8052 UNKNOWN, // 2A6D7..2A6FF
8053 HAN, // 2A700..2B734
8054 UNKNOWN, // 2B735..2B73F
8055 HAN, // 2B740..2B81D
8056 UNKNOWN, // 2B81E..2B81F
8057 HAN, // 2B820..2CEA1
8058 UNKNOWN, // 2CEA2..2CEAF
8059 HAN, // 2CEB0..2EBE0
8060 UNKNOWN, // 2EBE1..2F7FF
8061 HAN, // 2F800..2FA1D
8062 UNKNOWN, // 2FA1E..E0000
8063 COMMON, // E0001
8064 UNKNOWN, // E0002..E001F
8065 COMMON, // E0020..E007F
8066 UNKNOWN, // E0080..E00FF
8067 INHERITED, // E0100..E01EF
8068 UNKNOWN, // E01F0..10FFFF
8069 };
8070
8071 private static HashMap<String, Character.UnicodeScript> aliases;
8072 static {
8073 aliases = new HashMap<>((int)(153 / 0.75f + 1.0f));
8074 aliases.put("ADLM", ADLAM);
8075 aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8076 aliases.put("AHOM", AHOM);
8077 aliases.put("ARAB", ARABIC);
8078 aliases.put("ARMI", IMPERIAL_ARAMAIC);
8079 aliases.put("ARMN", ARMENIAN);
8080 aliases.put("AVST", AVESTAN);
8081 aliases.put("BALI", BALINESE);
8082 aliases.put("BAMU", BAMUM);
8083 aliases.put("BASS", BASSA_VAH);
8084 aliases.put("BATK", BATAK);
8085 aliases.put("BENG", BENGALI);
8086 aliases.put("BHKS", BHAIKSUKI);
8087 aliases.put("BOPO", BOPOMOFO);
8088 aliases.put("BRAH", BRAHMI);
8089 aliases.put("BRAI", BRAILLE);
8090 aliases.put("BUGI", BUGINESE);
8091 aliases.put("BUHD", BUHID);
8092 aliases.put("CAKM", CHAKMA);
8093 aliases.put("CANS", CANADIAN_ABORIGINAL);
8094 aliases.put("CARI", CARIAN);
8095 aliases.put("CHAM", CHAM);
8096 aliases.put("CHER", CHEROKEE);
8097 aliases.put("COPT", COPTIC);
8098 aliases.put("CPRT", CYPRIOT);
8099 aliases.put("CYRL", CYRILLIC);
8100 aliases.put("DEVA", DEVANAGARI);
8101 aliases.put("DOGR", DOGRA);
8102 aliases.put("DSRT", DESERET);
8103 aliases.put("DUPL", DUPLOYAN);
8104 aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8105 aliases.put("ELBA", ELBASAN);
8106 aliases.put("ELYM", ELYMAIC);
8107 aliases.put("ETHI", ETHIOPIC);
8108 aliases.put("GEOR", GEORGIAN);
8109 aliases.put("GLAG", GLAGOLITIC);
8110 aliases.put("GONM", MASARAM_GONDI);
8111 aliases.put("GOTH", GOTHIC);
8112 aliases.put("GONG", GUNJALA_GONDI);
8113 aliases.put("GRAN", GRANTHA);
8114 aliases.put("GREK", GREEK);
8115 aliases.put("GUJR", GUJARATI);
8116 aliases.put("GURU", GURMUKHI);
8117 aliases.put("HANG", HANGUL);
8118 aliases.put("HANI", HAN);
8119 aliases.put("HANO", HANUNOO);
8120 aliases.put("HATR", HATRAN);
8121 aliases.put("HEBR", HEBREW);
8122 aliases.put("HIRA", HIRAGANA);
8123 aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8124 aliases.put("HMNG", PAHAWH_HMONG);
8125 aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8126 // it appears we don't have the KATAKANA_OR_HIRAGANA
8127 //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8128 aliases.put("HUNG", OLD_HUNGARIAN);
8129 aliases.put("ITAL", OLD_ITALIC);
8130 aliases.put("JAVA", JAVANESE);
8131 aliases.put("KALI", KAYAH_LI);
8132 aliases.put("KANA", KATAKANA);
8133 aliases.put("KHAR", KHAROSHTHI);
8134 aliases.put("KHMR", KHMER);
8135 aliases.put("KHOJ", KHOJKI);
8136 aliases.put("KNDA", KANNADA);
8137 aliases.put("KTHI", KAITHI);
8138 aliases.put("LANA", TAI_THAM);
8139 aliases.put("LAOO", LAO);
8140 aliases.put("LATN", LATIN);
8141 aliases.put("LEPC", LEPCHA);
8142 aliases.put("LIMB", LIMBU);
8143 aliases.put("LINA", LINEAR_A);
8144 aliases.put("LINB", LINEAR_B);
8145 aliases.put("LISU", LISU);
8146 aliases.put("LYCI", LYCIAN);
8147 aliases.put("LYDI", LYDIAN);
8148 aliases.put("MAHJ", MAHAJANI);
8149 aliases.put("MAKA", MAKASAR);
8150 aliases.put("MARC", MARCHEN);
8151 aliases.put("MAND", MANDAIC);
8152 aliases.put("MANI", MANICHAEAN);
8153 aliases.put("MEDF", MEDEFAIDRIN);
8154 aliases.put("MEND", MENDE_KIKAKUI);
8155 aliases.put("MERC", MEROITIC_CURSIVE);
8156 aliases.put("MERO", MEROITIC_HIEROGLYPHS);
8157 aliases.put("MLYM", MALAYALAM);
8158 aliases.put("MODI", MODI);
8159 aliases.put("MONG", MONGOLIAN);
8160 aliases.put("MROO", MRO);
8161 aliases.put("MTEI", MEETEI_MAYEK);
8162 aliases.put("MULT", MULTANI);
8163 aliases.put("MYMR", MYANMAR);
8164 aliases.put("NAND", NANDINAGARI);
8165 aliases.put("NARB", OLD_NORTH_ARABIAN);
8166 aliases.put("NBAT", NABATAEAN);
8167 aliases.put("NEWA", NEWA);
8168 aliases.put("NKOO", NKO);
8169 aliases.put("NSHU", NUSHU);
8170 aliases.put("OGAM", OGHAM);
8171 aliases.put("OLCK", OL_CHIKI);
8172 aliases.put("ORKH", OLD_TURKIC);
8173 aliases.put("ORYA", ORIYA);
8174 aliases.put("OSGE", OSAGE);
8175 aliases.put("OSMA", OSMANYA);
8176 aliases.put("PALM", PALMYRENE);
8177 aliases.put("PAUC", PAU_CIN_HAU);
8178 aliases.put("PERM", OLD_PERMIC);
8179 aliases.put("PHAG", PHAGS_PA);
8180 aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
8181 aliases.put("PHLP", PSALTER_PAHLAVI);
8182 aliases.put("PHNX", PHOENICIAN);
8183 aliases.put("PLRD", MIAO);
8184 aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);
8201 aliases.put("SUND", SUNDANESE);
8202 aliases.put("SYLO", SYLOTI_NAGRI);
8203 aliases.put("SYRC", SYRIAC);
8204 aliases.put("TAGB", TAGBANWA);
8205 aliases.put("TAKR", TAKRI);
8206 aliases.put("TALE", TAI_LE);
8207 aliases.put("TALU", NEW_TAI_LUE);
8208 aliases.put("TAML", TAMIL);
8209 aliases.put("TANG", TANGUT);
8210 aliases.put("TAVT", TAI_VIET);
8211 aliases.put("TELU", TELUGU);
8212 aliases.put("TFNG", TIFINAGH);
8213 aliases.put("TGLG", TAGALOG);
8214 aliases.put("THAA", THAANA);
8215 aliases.put("THAI", THAI);
8216 aliases.put("TIBT", TIBETAN);
8217 aliases.put("TIRH", TIRHUTA);
8218 aliases.put("UGAR", UGARITIC);
8219 aliases.put("VAII", VAI);
8220 aliases.put("WARA", WARANG_CITI);
8221 aliases.put("WCHO", WANCHO);
8222 aliases.put("XPEO", OLD_PERSIAN);
8223 aliases.put("XSUX", CUNEIFORM);
8224 aliases.put("YIII", YI);
8225 aliases.put("ZANB", ZANABAZAR_SQUARE);
8226 aliases.put("ZINH", INHERITED);
8227 aliases.put("ZYYY", COMMON);
8228 aliases.put("ZZZZ", UNKNOWN);
8229 }
8230
8231 /**
8232 * Returns the enum constant representing the Unicode script of which
8233 * the given character (Unicode code point) is assigned to.
8234 *
8235 * @param codePoint the character (Unicode code point) in question.
8236 * @return The {@code UnicodeScript} constant representing the
8237 * Unicode script of which this character is assigned to.
8238 *
8239 * @throws IllegalArgumentException if the specified
8240 * {@code codePoint} is an invalid Unicode code point.
8241 * @see Character#isValidCodePoint(int)
|