45 * The {@code Character} class wraps a value of the primitive
46 * type {@code char} in an object. An object of class
47 * {@code Character} contains a single field whose type is
48 * {@code char}.
49 * <p>
50 * In addition, this class provides a large number of static methods for
51 * determining a character's category (lowercase letter, digit, etc.)
52 * and for converting characters from uppercase to lowercase and vice
53 * versa.
54 *
55 * <h2><a id="conformance">Unicode Conformance</a></h2>
56 * <p>
57 * The fields and methods of class {@code Character} are defined in terms
58 * of character information from the Unicode Standard, specifically the
59 * <i>UnicodeData</i> file that is part of the Unicode Character Database.
60 * This file specifies properties including name and category for every
61 * assigned Unicode code point or character range. The file is available
62 * from the Unicode Consortium at
63 * <a href="http://www.unicode.org">http://www.unicode.org</a>.
64 * <p>
65 * Character information is based on the Unicode Standard, version 12.1.
66 *
67 * <h2><a id="unicode">Unicode Character Representations</a></h2>
68 *
69 * <p>The {@code char} data type (and therefore the value that a
70 * {@code Character} object encapsulates) are based on the
71 * original Unicode specification, which defined characters as
72 * fixed-width 16-bit entities. The Unicode Standard has since been
73 * changed to allow for characters whose representation requires more
74 * than 16 bits. The range of legal <em>code point</em>s is now
75 * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
76 * (Refer to the <a
77 * href="http://www.unicode.org/reports/tr27/#notation"><i>
78 * definition</i></a> of the U+<i>n</i> notation in the Unicode
79 * Standard.)
80 *
81 * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
82 * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
83 * <a id="supplementary">Characters</a> whose code points are greater
84 * than U+FFFF are called <em>supplementary character</em>s. The Java
85 * platform uses the UTF-16 representation in {@code char} arrays and
674 * Returns the name of this subset.
675 */
676 public final String toString() {
677 return name;
678 }
679 }
680
681 // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
682 // for the latest specification of Unicode Blocks.
683
684 /**
685 * A family of character subsets representing the character blocks in the
686 * Unicode specification. Character blocks generally define characters
687 * used for a specific script or purpose. A character is contained by
688 * at most one Unicode block.
689 *
690 * @since 1.2
691 */
692 public static final class UnicodeBlock extends Subset {
693 /**
694 * 676 - the expected number of entities
695 * 0.75 - the default load factor of HashMap
696 */
697 private static final int NUM_ENTITIES = 676;
698 private static Map<String, UnicodeBlock> map =
699 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
700
701 /**
702 * Creates a UnicodeBlock with the given identifier name.
703 * This name must be the same as the block identifier.
704 */
705 private UnicodeBlock(String idName) {
706 super(idName);
707 map.put(idName, this);
708 }
709
710 /**
711 * Creates a UnicodeBlock with the given identifier name and
712 * alias name.
713 */
714 private UnicodeBlock(String idName, String alias) {
715 this(idName);
716 map.put(alias, this);
717 }
3287 /**
3288 * Constant for the "Ottoman Siyaq Numbers" Unicode
3289 * character block.
3290 * @since 13
3291 */
3292 public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3293 new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3294 "OTTOMAN SIYAQ NUMBERS",
3295 "OTTOMANSIYAQNUMBERS");
3296
3297 /**
3298 * Constant for the "Symbols and Pictographs Extended-A" Unicode
3299 * character block.
3300 * @since 13
3301 */
3302 public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3303 new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3304 "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3305 "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3306
3307 private static final int[] blockStarts = {
3308 0x0000, // 0000..007F; Basic Latin
3309 0x0080, // 0080..00FF; Latin-1 Supplement
3310 0x0100, // 0100..017F; Latin Extended-A
3311 0x0180, // 0180..024F; Latin Extended-B
3312 0x0250, // 0250..02AF; IPA Extensions
3313 0x02B0, // 02B0..02FF; Spacing Modifier Letters
3314 0x0300, // 0300..036F; Combining Diacritical Marks
3315 0x0370, // 0370..03FF; Greek and Coptic
3316 0x0400, // 0400..04FF; Cyrillic
3317 0x0500, // 0500..052F; Cyrillic Supplement
3318 0x0530, // 0530..058F; Armenian
3319 0x0590, // 0590..05FF; Hebrew
3320 0x0600, // 0600..06FF; Arabic
3321 0x0700, // 0700..074F; Syriac
3322 0x0750, // 0750..077F; Arabic Supplement
3323 0x0780, // 0780..07BF; Thaana
3324 0x07C0, // 07C0..07FF; NKo
3325 0x0800, // 0800..083F; Samaritan
3326 0x0840, // 0840..085F; Mandaic
3505 0x10920, // 10920..1093F; Lydian
3506 0x10940, // unassigned
3507 0x10980, // 10980..1099F; Meroitic Hieroglyphs
3508 0x109A0, // 109A0..109FF; Meroitic Cursive
3509 0x10A00, // 10A00..10A5F; Kharoshthi
3510 0x10A60, // 10A60..10A7F; Old South Arabian
3511 0x10A80, // 10A80..10A9F; Old North Arabian
3512 0x10AA0, // unassigned
3513 0x10AC0, // 10AC0..10AFF; Manichaean
3514 0x10B00, // 10B00..10B3F; Avestan
3515 0x10B40, // 10B40..10B5F; Inscriptional Parthian
3516 0x10B60, // 10B60..10B7F; Inscriptional Pahlavi
3517 0x10B80, // 10B80..10BAF; Psalter Pahlavi
3518 0x10BB0, // unassigned
3519 0x10C00, // 10C00..10C4F; Old Turkic
3520 0x10C50, // unassigned
3521 0x10C80, // 10C80..10CFF; Old Hungarian
3522 0x10D00, // 10D00..10D3F; Hanifi Rohingya
3523 0x10D40, // unassigned
3524 0x10E60, // 10E60..10E7F; Rumi Numeral Symbols
3525 0x10E80, // unassigned
3526 0x10F00, // 10F00..10F2F; Old Sogdian
3527 0x10F30, // 10F30..10F6F; Sogdian
3528 0x10F70, // unassigned
3529 0x10FE0, // 10FE0..10FFF; Elymaic
3530 0x11000, // 11000..1107F; Brahmi
3531 0x11080, // 11080..110CF; Kaithi
3532 0x110D0, // 110D0..110FF; Sora Sompeng
3533 0x11100, // 11100..1114F; Chakma
3534 0x11150, // 11150..1117F; Mahajani
3535 0x11180, // 11180..111DF; Sharada
3536 0x111E0, // 111E0..111FF; Sinhala Archaic Numbers
3537 0x11200, // 11200..1124F; Khojki
3538 0x11250, // unassigned
3539 0x11280, // 11280..112AF; Multani
3540 0x112B0, // 112B0..112FF; Khudawadi
3541 0x11300, // 11300..1137F; Grantha
3542 0x11380, // unassigned
3543 0x11400, // 11400..1147F; Newa
3544 0x11480, // 11480..114DF; Tirhuta
3545 0x114E0, // unassigned
3546 0x11580, // 11580..115FF; Siddham
3547 0x11600, // 11600..1165F; Modi
3548 0x11660, // 11660..1167F; Mongolian Supplement
3549 0x11680, // 11680..116CF; Takri
3550 0x116D0, // unassigned
3551 0x11700, // 11700..1173F; Ahom
3552 0x11740, // unassigned
3553 0x11800, // 11800..1184F; Dogra
3554 0x11850, // unassigned
3555 0x118A0, // 118A0..118FF; Warang Citi
3556 0x11900, // unassigned
3557 0x119A0, // 119A0..119FF; Nandinagari
3558 0x11A00, // 11A00..11A4F; Zanabazar Square
3559 0x11A50, // 11A50..11AAF; Soyombo
3560 0x11AB0, // unassigned
3561 0x11AC0, // 11AC0..11AFF; Pau Cin Hau
3562 0x11B00, // unassigned
3563 0x11C00, // 11C00..11C6F; Bhaiksuki
3564 0x11C70, // 11C70..11CBF; Marchen
3565 0x11CC0, // unassigned
3566 0x11D00, // 11D00..11D5F; Masaram Gondi
3567 0x11D60, // 11D60..11DAF; Gunjala Gondi
3568 0x11DB0, // unassigned
3569 0x11EE0, // 11EE0..11EFF; Makasar
3570 0x11F00, // unassigned
3571 0x11FC0, // 11FC0..11FFF; Tamil Supplement
3572 0x12000, // 12000..123FF; Cuneiform
3573 0x12400, // 12400..1247F; Cuneiform Numbers and Punctuation
3574 0x12480, // 12480..1254F; Early Dynastic Cuneiform
3575 0x12550, // unassigned
3576 0x13000, // 13000..1342F; Egyptian Hieroglyphs
3577 0x13430, // 13430..1343F; Egyptian Hieroglyph Format Controls
3578 0x13440, // unassigned
3579 0x14400, // 14400..1467F; Anatolian Hieroglyphs
3580 0x14680, // unassigned
3581 0x16800, // 16800..16A3F; Bamum Supplement
3582 0x16A40, // 16A40..16A6F; Mro
3583 0x16A70, // unassigned
3584 0x16AD0, // 16AD0..16AFF; Bassa Vah
3585 0x16B00, // 16B00..16B8F; Pahawh Hmong
3586 0x16B90, // unassigned
3587 0x16E40, // 16E40..16E9F; Medefaidrin
3588 0x16EA0, // unassigned
3589 0x16F00, // 16F00..16F9F; Miao
3590 0x16FA0, // unassigned
3591 0x16FE0, // 16FE0..16FFF; Ideographic Symbols and Punctuation
3592 0x17000, // 17000..187FF; Tangut
3593 0x18800, // 18800..18AFF; Tangut Components
3594 0x18B00, // unassigned
3595 0x1B000, // 1B000..1B0FF; Kana Supplement
3596 0x1B100, // 1B100..1B12F; Kana Extended-A
3597 0x1B130, // 1B130..1B16F; Small Kana Extension
3598 0x1B170, // 1B170..1B2FF; Nushu
3599 0x1B300, // unassigned
3600 0x1BC00, // 1BC00..1BC9F; Duployan
3601 0x1BCA0, // 1BCA0..1BCAF; Shorthand Format Controls
3602 0x1BCB0, // unassigned
3603 0x1D000, // 1D000..1D0FF; Byzantine Musical Symbols
3604 0x1D100, // 1D100..1D1FF; Musical Symbols
3605 0x1D200, // 1D200..1D24F; Ancient Greek Musical Notation
3606 0x1D250, // unassigned
3607 0x1D2E0, // 1D2E0..1D2FF; Mayan Numerals
3608 0x1D300, // 1D300..1D35F; Tai Xuan Jing Symbols
3609 0x1D360, // 1D360..1D37F; Counting Rod Numerals
3610 0x1D380, // unassigned
3611 0x1D400, // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3612 0x1D800, // 1D800..1DAAF; Sutton SignWriting
3613 0x1DAB0, // unassigned
3614 0x1E000, // 1E000..1E02F; Glagolitic Supplement
3625 0x1ECC0, // unassigned
3626 0x1ED00, // 1ED00..1ED4F; Ottoman Siyaq Numbers
3627 0x1ED50, // unassigned
3628 0x1EE00, // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3629 0x1EF00, // unassigned
3630 0x1F000, // 1F000..1F02F; Mahjong Tiles
3631 0x1F030, // 1F030..1F09F; Domino Tiles
3632 0x1F0A0, // 1F0A0..1F0FF; Playing Cards
3633 0x1F100, // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3634 0x1F200, // 1F200..1F2FF; Enclosed Ideographic Supplement
3635 0x1F300, // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3636 0x1F600, // 1F600..1F64F; Emoticons
3637 0x1F650, // 1F650..1F67F; Ornamental Dingbats
3638 0x1F680, // 1F680..1F6FF; Transport and Map Symbols
3639 0x1F700, // 1F700..1F77F; Alchemical Symbols
3640 0x1F780, // 1F780..1F7FF; Geometric Shapes Extended
3641 0x1F800, // 1F800..1F8FF; Supplemental Arrows-C
3642 0x1F900, // 1F900..1F9FF; Supplemental Symbols and Pictographs
3643 0x1FA00, // 1FA00..1FA6F; Chess Symbols
3644 0x1FA70, // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3645 0x1FB00, // unassigned
3646 0x20000, // 20000..2A6DF; CJK Unified Ideographs Extension B
3647 0x2A6E0, // unassigned
3648 0x2A700, // 2A700..2B73F; CJK Unified Ideographs Extension C
3649 0x2B740, // 2B740..2B81F; CJK Unified Ideographs Extension D
3650 0x2B820, // 2B820..2CEAF; CJK Unified Ideographs Extension E
3651 0x2CEB0, // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3652 0x2EBF0, // unassigned
3653 0x2F800, // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3654 0x2FA20, // unassigned
3655 0xE0000, // E0000..E007F; Tags
3656 0xE0080, // unassigned
3657 0xE0100, // E0100..E01EF; Variation Selectors Supplement
3658 0xE01F0, // unassigned
3659 0xF0000, // F0000..FFFFF; Supplementary Private Use Area-A
3660 0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3661 };
3662
3663 private static final UnicodeBlock[] blocks = {
3664 BASIC_LATIN,
3665 LATIN_1_SUPPLEMENT,
3666 LATIN_EXTENDED_A,
3667 LATIN_EXTENDED_B,
3668 IPA_EXTENSIONS,
3669 SPACING_MODIFIER_LETTERS,
3670 COMBINING_DIACRITICAL_MARKS,
3671 GREEK,
3672 CYRILLIC,
3673 CYRILLIC_SUPPLEMENTARY,
3674 ARMENIAN,
3861 LYDIAN,
3862 null,
3863 MEROITIC_HIEROGLYPHS,
3864 MEROITIC_CURSIVE,
3865 KHAROSHTHI,
3866 OLD_SOUTH_ARABIAN,
3867 OLD_NORTH_ARABIAN,
3868 null,
3869 MANICHAEAN,
3870 AVESTAN,
3871 INSCRIPTIONAL_PARTHIAN,
3872 INSCRIPTIONAL_PAHLAVI,
3873 PSALTER_PAHLAVI,
3874 null,
3875 OLD_TURKIC,
3876 null,
3877 OLD_HUNGARIAN,
3878 HANIFI_ROHINGYA,
3879 null,
3880 RUMI_NUMERAL_SYMBOLS,
3881 null,
3882 OLD_SOGDIAN,
3883 SOGDIAN,
3884 null,
3885 ELYMAIC,
3886 BRAHMI,
3887 KAITHI,
3888 SORA_SOMPENG,
3889 CHAKMA,
3890 MAHAJANI,
3891 SHARADA,
3892 SINHALA_ARCHAIC_NUMBERS,
3893 KHOJKI,
3894 null,
3895 MULTANI,
3896 KHUDAWADI,
3897 GRANTHA,
3898 null,
3899 NEWA,
3900 TIRHUTA,
3901 null,
3902 SIDDHAM,
3903 MODI,
3904 MONGOLIAN_SUPPLEMENT,
3905 TAKRI,
3906 null,
3907 AHOM,
3908 null,
3909 DOGRA,
3910 null,
3911 WARANG_CITI,
3912 null,
3913 NANDINAGARI,
3914 ZANABAZAR_SQUARE,
3915 SOYOMBO,
3916 null,
3917 PAU_CIN_HAU,
3918 null,
3919 BHAIKSUKI,
3920 MARCHEN,
3921 null,
3922 MASARAM_GONDI,
3923 GUNJALA_GONDI,
3924 null,
3925 MAKASAR,
3926 null,
3927 TAMIL_SUPPLEMENT,
3928 CUNEIFORM,
3929 CUNEIFORM_NUMBERS_AND_PUNCTUATION,
3930 EARLY_DYNASTIC_CUNEIFORM,
3931 null,
3932 EGYPTIAN_HIEROGLYPHS,
3933 EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
3934 null,
3935 ANATOLIAN_HIEROGLYPHS,
3936 null,
3937 BAMUM_SUPPLEMENT,
3938 MRO,
3939 null,
3940 BASSA_VAH,
3941 PAHAWH_HMONG,
3942 null,
3943 MEDEFAIDRIN,
3944 null,
3945 MIAO,
3946 null,
3947 IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
3948 TANGUT,
3949 TANGUT_COMPONENTS,
3950 null,
3951 KANA_SUPPLEMENT,
3952 KANA_EXTENDED_A,
3953 SMALL_KANA_EXTENSION,
3954 NUSHU,
3955 null,
3956 DUPLOYAN,
3957 SHORTHAND_FORMAT_CONTROLS,
3958 null,
3959 BYZANTINE_MUSICAL_SYMBOLS,
3960 MUSICAL_SYMBOLS,
3961 ANCIENT_GREEK_MUSICAL_NOTATION,
3962 null,
3963 MAYAN_NUMERALS,
3964 TAI_XUAN_JING_SYMBOLS,
3965 COUNTING_ROD_NUMERALS,
3966 null,
3967 MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
3968 SUTTON_SIGNWRITING,
3969 null,
3981 null,
3982 OTTOMAN_SIYAQ_NUMBERS,
3983 null,
3984 ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
3985 null,
3986 MAHJONG_TILES,
3987 DOMINO_TILES,
3988 PLAYING_CARDS,
3989 ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
3990 ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
3991 MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
3992 EMOTICONS,
3993 ORNAMENTAL_DINGBATS,
3994 TRANSPORT_AND_MAP_SYMBOLS,
3995 ALCHEMICAL_SYMBOLS,
3996 GEOMETRIC_SHAPES_EXTENDED,
3997 SUPPLEMENTAL_ARROWS_C,
3998 SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
3999 CHESS_SYMBOLS,
4000 SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
4001 null,
4002 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
4003 null,
4004 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
4005 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
4006 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
4007 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
4008 null,
4009 CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
4010 null,
4011 TAGS,
4012 null,
4013 VARIATION_SELECTORS_SUPPLEMENT,
4014 null,
4015 SUPPLEMENTARY_PRIVATE_USE_AREA_A,
4016 SUPPLEMENTARY_PRIVATE_USE_AREA_B,
4017 };
4018
4019
4020 /**
4021 * Returns the object representing the Unicode block containing the
4022 * given character, or {@code null} if the character is not a
4023 * member of a defined block.
4024 *
4025 * <p><b>Note:</b> This method cannot handle
4026 * <a href="Character.html#supplementary"> supplementary
4027 * characters</a>. To support all Unicode characters, including
4028 * supplementary characters, use the {@link #of(int)} method.
4029 *
4030 * @param c The character in question
4938
4939 /**
4940 * Unicode script "Nandinagari".
4941 * @since 13
4942 */
4943 NANDINAGARI,
4944
4945 /**
4946 * Unicode script "Nyiakeng Puachue Hmong".
4947 * @since 13
4948 */
4949 NYIAKENG_PUACHUE_HMONG,
4950
4951 /**
4952 * Unicode script "Wancho".
4953 * @since 13
4954 */
4955 WANCHO,
4956
4957 /**
4958 * Unicode script "Unknown".
4959 */
4960 UNKNOWN;
4961
4962 private static final int[] scriptStarts = {
4963 0x0000, // 0000..0040; COMMON
4964 0x0041, // 0041..005A; LATIN
4965 0x005B, // 005B..0060; COMMON
4966 0x0061, // 0061..007A; LATIN
4967 0x007B, // 007B..00A9; COMMON
4968 0x00AA, // 00AA ; LATIN
4969 0x00AB, // 00AB..00B9; COMMON
4970 0x00BA, // 00BA ; LATIN
4971 0x00BB, // 00BB..00BF; COMMON
4972 0x00C0, // 00C0..00D6; LATIN
4973 0x00D7, // 00D7 ; COMMON
4974 0x00D8, // 00D8..00F6; LATIN
4975 0x00F7, // 00F7 ; COMMON
4976 0x00F8, // 00F8..02B8; LATIN
4977 0x02B9, // 02B9..02DF; COMMON
4990 0x0380, // 0380..0383; UNKNOWN
4991 0x0384, // 0384 ; GREEK
4992 0x0385, // 0385 ; COMMON
4993 0x0386, // 0386 ; GREEK
4994 0x0387, // 0387 ; COMMON
4995 0x0388, // 0388..038A; GREEK
4996 0x038B, // 038B ; UNKNOWN
4997 0x038C, // 038C ; GREEK
4998 0x038D, // 038D ; UNKNOWN
4999 0x038E, // 038E..03A1; GREEK
5000 0x03A2, // 03A2 ; UNKNOWN
5001 0x03A3, // 03A3..03E1; GREEK
5002 0x03E2, // 03E2..03EF; COPTIC
5003 0x03F0, // 03F0..03FF; GREEK
5004 0x0400, // 0400..0484; CYRILLIC
5005 0x0485, // 0485..0486; INHERITED
5006 0x0487, // 0487..052F; CYRILLIC
5007 0x0530, // 0530 ; UNKNOWN
5008 0x0531, // 0531..0556; ARMENIAN
5009 0x0557, // 0557..0558; UNKNOWN
5010 0x0559, // 0559..0588; ARMENIAN
5011 0x0589, // 0589 ; COMMON
5012 0x058A, // 058A ; ARMENIAN
5013 0x058B, // 058B..058C; UNKNOWN
5014 0x058D, // 058D..058F; ARMENIAN
5015 0x0590, // 0590 ; UNKNOWN
5016 0x0591, // 0591..05C7; HEBREW
5017 0x05C8, // 05C8..05CF; UNKNOWN
5018 0x05D0, // 05D0..05EA; HEBREW
5019 0x05EB, // 05EB..05EE; UNKNOWN
5020 0x05EF, // 05EF..05F4; HEBREW
5021 0x05F5, // 05F5..05FF; UNKNOWN
5022 0x0600, // 0600..0604; ARABIC
5023 0x0605, // 0605 ; COMMON
5024 0x0606, // 0606..060B; ARABIC
5025 0x060C, // 060C ; COMMON
5026 0x060D, // 060D..061A; ARABIC
5027 0x061B, // 061B ; COMMON
5028 0x061C, // 061C ; ARABIC
5029 0x061D, // 061D ; UNKNOWN
5030 0x061E, // 061E ; ARABIC
5031 0x061F, // 061F ; COMMON
5032 0x0620, // 0620..063F; ARABIC
5044 0x074B, // 074B..074C; UNKNOWN
5045 0x074D, // 074D..074F; SYRIAC
5046 0x0750, // 0750..077F; ARABIC
5047 0x0780, // 0780..07B1; THAANA
5048 0x07B2, // 07B2..07BF; UNKNOWN
5049 0x07C0, // 07C0..07FA; NKO
5050 0x07FB, // 07FB..07FC; UNKNOWN
5051 0x07FD, // 07FD..07FF; NKO
5052 0x0800, // 0800..082D; SAMARITAN
5053 0x082E, // 082E..082F; UNKNOWN
5054 0x0830, // 0830..083E; SAMARITAN
5055 0x083F, // 083F ; UNKNOWN
5056 0x0840, // 0840..085B; MANDAIC
5057 0x085C, // 085C..085D; UNKNOWN
5058 0x085E, // 085E ; MANDAIC
5059 0x085F, // 085F ; UNKNOWN
5060 0x0860, // 0860..086A; SYRIAC
5061 0x086B, // 086B..089F; UNKNOWN
5062 0x08A0, // 08A0..08B4; ARABIC
5063 0x08B5, // 08B5 ; UNKNOWN
5064 0x08B6, // 08B6..08BD; ARABIC
5065 0x08BE, // 08BE..08D2; UNKNOWN
5066 0x08D3, // 08D3..08E1; ARABIC
5067 0x08E2, // 08E2 ; COMMON
5068 0x08E3, // 08E3..08FF; ARABIC
5069 0x0900, // 0900..0950; DEVANAGARI
5070 0x0951, // 0951..0954; INHERITED
5071 0x0955, // 0955..0963; DEVANAGARI
5072 0x0964, // 0964..0965; COMMON
5073 0x0966, // 0966..097F; DEVANAGARI
5074 0x0980, // 0980..0983; BENGALI
5075 0x0984, // 0984 ; UNKNOWN
5076 0x0985, // 0985..098C; BENGALI
5077 0x098D, // 098D..098E; UNKNOWN
5078 0x098F, // 098F..0990; BENGALI
5079 0x0991, // 0991..0992; UNKNOWN
5080 0x0993, // 0993..09A8; BENGALI
5081 0x09A9, // 09A9 ; UNKNOWN
5082 0x09AA, // 09AA..09B0; BENGALI
5083 0x09B1, // 09B1 ; UNKNOWN
5084 0x09B2, // 09B2 ; BENGALI
5085 0x09B3, // 09B3..09B5; UNKNOWN
5161 0x0B00, // 0B00 ; UNKNOWN
5162 0x0B01, // 0B01..0B03; ORIYA
5163 0x0B04, // 0B04 ; UNKNOWN
5164 0x0B05, // 0B05..0B0C; ORIYA
5165 0x0B0D, // 0B0D..0B0E; UNKNOWN
5166 0x0B0F, // 0B0F..0B10; ORIYA
5167 0x0B11, // 0B11..0B12; UNKNOWN
5168 0x0B13, // 0B13..0B28; ORIYA
5169 0x0B29, // 0B29 ; UNKNOWN
5170 0x0B2A, // 0B2A..0B30; ORIYA
5171 0x0B31, // 0B31 ; UNKNOWN
5172 0x0B32, // 0B32..0B33; ORIYA
5173 0x0B34, // 0B34 ; UNKNOWN
5174 0x0B35, // 0B35..0B39; ORIYA
5175 0x0B3A, // 0B3A..0B3B; UNKNOWN
5176 0x0B3C, // 0B3C..0B44; ORIYA
5177 0x0B45, // 0B45..0B46; UNKNOWN
5178 0x0B47, // 0B47..0B48; ORIYA
5179 0x0B49, // 0B49..0B4A; UNKNOWN
5180 0x0B4B, // 0B4B..0B4D; ORIYA
5181 0x0B4E, // 0B4E..0B55; UNKNOWN
5182 0x0B56, // 0B56..0B57; ORIYA
5183 0x0B58, // 0B58..0B5B; UNKNOWN
5184 0x0B5C, // 0B5C..0B5D; ORIYA
5185 0x0B5E, // 0B5E ; UNKNOWN
5186 0x0B5F, // 0B5F..0B63; ORIYA
5187 0x0B64, // 0B64..0B65; UNKNOWN
5188 0x0B66, // 0B66..0B77; ORIYA
5189 0x0B78, // 0B78..0B81; UNKNOWN
5190 0x0B82, // 0B82..0B83; TAMIL
5191 0x0B84, // 0B84 ; UNKNOWN
5192 0x0B85, // 0B85..0B8A; TAMIL
5193 0x0B8B, // 0B8B..0B8D; UNKNOWN
5194 0x0B8E, // 0B8E..0B90; TAMIL
5195 0x0B91, // 0B91 ; UNKNOWN
5196 0x0B92, // 0B92..0B95; TAMIL
5197 0x0B96, // 0B96..0B98; UNKNOWN
5198 0x0B99, // 0B99..0B9A; TAMIL
5199 0x0B9B, // 0B9B ; UNKNOWN
5200 0x0B9C, // 0B9C ; TAMIL
5201 0x0B9D, // 0B9D ; UNKNOWN
5202 0x0B9E, // 0B9E..0B9F; TAMIL
5251 0x0CAA, // 0CAA..0CB3; KANNADA
5252 0x0CB4, // 0CB4 ; UNKNOWN
5253 0x0CB5, // 0CB5..0CB9; KANNADA
5254 0x0CBA, // 0CBA..0CBB; UNKNOWN
5255 0x0CBC, // 0CBC..0CC4; KANNADA
5256 0x0CC5, // 0CC5 ; UNKNOWN
5257 0x0CC6, // 0CC6..0CC8; KANNADA
5258 0x0CC9, // 0CC9 ; UNKNOWN
5259 0x0CCA, // 0CCA..0CCD; KANNADA
5260 0x0CCE, // 0CCE..0CD4; UNKNOWN
5261 0x0CD5, // 0CD5..0CD6; KANNADA
5262 0x0CD7, // 0CD7..0CDD; UNKNOWN
5263 0x0CDE, // 0CDE ; KANNADA
5264 0x0CDF, // 0CDF ; UNKNOWN
5265 0x0CE0, // 0CE0..0CE3; KANNADA
5266 0x0CE4, // 0CE4..0CE5; UNKNOWN
5267 0x0CE6, // 0CE6..0CEF; KANNADA
5268 0x0CF0, // 0CF0 ; UNKNOWN
5269 0x0CF1, // 0CF1..0CF2; KANNADA
5270 0x0CF3, // 0CF3..0CFF; UNKNOWN
5271 0x0D00, // 0D00..0D03; MALAYALAM
5272 0x0D04, // 0D04 ; UNKNOWN
5273 0x0D05, // 0D05..0D0C; MALAYALAM
5274 0x0D0D, // 0D0D ; UNKNOWN
5275 0x0D0E, // 0D0E..0D10; MALAYALAM
5276 0x0D11, // 0D11 ; UNKNOWN
5277 0x0D12, // 0D12..0D44; MALAYALAM
5278 0x0D45, // 0D45 ; UNKNOWN
5279 0x0D46, // 0D46..0D48; MALAYALAM
5280 0x0D49, // 0D49 ; UNKNOWN
5281 0x0D4A, // 0D4A..0D4F; MALAYALAM
5282 0x0D50, // 0D50..0D53; UNKNOWN
5283 0x0D54, // 0D54..0D63; MALAYALAM
5284 0x0D64, // 0D64..0D65; UNKNOWN
5285 0x0D66, // 0D66..0D7F; MALAYALAM
5286 0x0D80, // 0D80..0D81; UNKNOWN
5287 0x0D82, // 0D82..0D83; SINHALA
5288 0x0D84, // 0D84 ; UNKNOWN
5289 0x0D85, // 0D85..0D96; SINHALA
5290 0x0D97, // 0D97..0D99; UNKNOWN
5291 0x0D9A, // 0D9A..0DB1; SINHALA
5292 0x0DB2, // 0DB2 ; UNKNOWN
5293 0x0DB3, // 0DB3..0DBB; SINHALA
5294 0x0DBC, // 0DBC ; UNKNOWN
5295 0x0DBD, // 0DBD ; SINHALA
5296 0x0DBE, // 0DBE..0DBF; UNKNOWN
5297 0x0DC0, // 0DC0..0DC6; SINHALA
5298 0x0DC7, // 0DC7..0DC9; UNKNOWN
5299 0x0DCA, // 0DCA ; SINHALA
5300 0x0DCB, // 0DCB..0DCE; UNKNOWN
5301 0x0DCF, // 0DCF..0DD4; SINHALA
5302 0x0DD5, // 0DD5 ; UNKNOWN
5303 0x0DD6, // 0DD6 ; SINHALA
5304 0x0DD7, // 0DD7 ; UNKNOWN
5305 0x0DD8, // 0DD8..0DDF; SINHALA
5306 0x0DE0, // 0DE0..0DE5; UNKNOWN
5307 0x0DE6, // 0DE6..0DEF; SINHALA
5459 0x19AC, // 19AC..19AF; UNKNOWN
5460 0x19B0, // 19B0..19C9; NEW_TAI_LUE
5461 0x19CA, // 19CA..19CF; UNKNOWN
5462 0x19D0, // 19D0..19DA; NEW_TAI_LUE
5463 0x19DB, // 19DB..19DD; UNKNOWN
5464 0x19DE, // 19DE..19DF; NEW_TAI_LUE
5465 0x19E0, // 19E0..19FF; KHMER
5466 0x1A00, // 1A00..1A1B; BUGINESE
5467 0x1A1C, // 1A1C..1A1D; UNKNOWN
5468 0x1A1E, // 1A1E..1A1F; BUGINESE
5469 0x1A20, // 1A20..1A5E; TAI_THAM
5470 0x1A5F, // 1A5F ; UNKNOWN
5471 0x1A60, // 1A60..1A7C; TAI_THAM
5472 0x1A7D, // 1A7D..1A7E; UNKNOWN
5473 0x1A7F, // 1A7F..1A89; TAI_THAM
5474 0x1A8A, // 1A8A..1A8F; UNKNOWN
5475 0x1A90, // 1A90..1A99; TAI_THAM
5476 0x1A9A, // 1A9A..1A9F; UNKNOWN
5477 0x1AA0, // 1AA0..1AAD; TAI_THAM
5478 0x1AAE, // 1AAE..1AAF; UNKNOWN
5479 0x1AB0, // 1AB0..1ABE; INHERITED
5480 0x1ABF, // 1ABF..1AFF; UNKNOWN
5481 0x1B00, // 1B00..1B4B; BALINESE
5482 0x1B4C, // 1B4C..1B4F; UNKNOWN
5483 0x1B50, // 1B50..1B7C; BALINESE
5484 0x1B7D, // 1B7D..1B7F; UNKNOWN
5485 0x1B80, // 1B80..1BBF; SUNDANESE
5486 0x1BC0, // 1BC0..1BF3; BATAK
5487 0x1BF4, // 1BF4..1BFB; UNKNOWN
5488 0x1BFC, // 1BFC..1BFF; BATAK
5489 0x1C00, // 1C00..1C37; LEPCHA
5490 0x1C38, // 1C38..1C3A; UNKNOWN
5491 0x1C3B, // 1C3B..1C49; LEPCHA
5492 0x1C4A, // 1C4A..1C4C; UNKNOWN
5493 0x1C4D, // 1C4D..1C4F; LEPCHA
5494 0x1C50, // 1C50..1C7F; OL_CHIKI
5495 0x1C80, // 1C80..1C88; CYRILLIC
5496 0x1C89, // 1C89..1C8F; UNKNOWN
5497 0x1C90, // 1C90..1CBA; GEORGIAN
5498 0x1CBB, // 1CBB..1CBC; UNKNOWN
5499 0x1CBD, // 1CBD..1CBF; GEORGIAN
5500 0x1CC0, // 1CC0..1CC7; SUNDANESE
5580 0x2126, // 2126 ; GREEK
5581 0x2127, // 2127..2129; COMMON
5582 0x212A, // 212A..212B; LATIN
5583 0x212C, // 212C..2131; COMMON
5584 0x2132, // 2132 ; LATIN
5585 0x2133, // 2133..214D; COMMON
5586 0x214E, // 214E ; LATIN
5587 0x214F, // 214F..215F; COMMON
5588 0x2160, // 2160..2188; LATIN
5589 0x2189, // 2189..218B; COMMON
5590 0x218C, // 218C..218F; UNKNOWN
5591 0x2190, // 2190..2426; COMMON
5592 0x2427, // 2427..243F; UNKNOWN
5593 0x2440, // 2440..244A; COMMON
5594 0x244B, // 244B..245F; UNKNOWN
5595 0x2460, // 2460..27FF; COMMON
5596 0x2800, // 2800..28FF; BRAILLE
5597 0x2900, // 2900..2B73; COMMON
5598 0x2B74, // 2B74..2B75; UNKNOWN
5599 0x2B76, // 2B76..2B95; COMMON
5600 0x2B96, // 2B96..2B97; UNKNOWN
5601 0x2B98, // 2B98..2BFF; COMMON
5602 0x2C00, // 2C00..2C2E; GLAGOLITIC
5603 0x2C2F, // 2C2F ; UNKNOWN
5604 0x2C30, // 2C30..2C5E; GLAGOLITIC
5605 0x2C5F, // 2C5F ; UNKNOWN
5606 0x2C60, // 2C60..2C7F; LATIN
5607 0x2C80, // 2C80..2CF3; COPTIC
5608 0x2CF4, // 2CF4..2CF8; UNKNOWN
5609 0x2CF9, // 2CF9..2CFF; COPTIC
5610 0x2D00, // 2D00..2D25; GEORGIAN
5611 0x2D26, // 2D26 ; UNKNOWN
5612 0x2D27, // 2D27 ; GEORGIAN
5613 0x2D28, // 2D28..2D2C; UNKNOWN
5614 0x2D2D, // 2D2D ; GEORGIAN
5615 0x2D2E, // 2D2E..2D2F; UNKNOWN
5616 0x2D30, // 2D30..2D67; TIFINAGH
5617 0x2D68, // 2D68..2D6E; UNKNOWN
5618 0x2D6F, // 2D6F..2D70; TIFINAGH
5619 0x2D71, // 2D71..2D7E; UNKNOWN
5620 0x2D7F, // 2D7F ; TIFINAGH
5621 0x2D80, // 2D80..2D96; ETHIOPIC
5622 0x2D97, // 2D97..2D9F; UNKNOWN
5623 0x2DA0, // 2DA0..2DA6; ETHIOPIC
5624 0x2DA7, // 2DA7 ; UNKNOWN
5625 0x2DA8, // 2DA8..2DAE; ETHIOPIC
5626 0x2DAF, // 2DAF ; UNKNOWN
5627 0x2DB0, // 2DB0..2DB6; ETHIOPIC
5628 0x2DB7, // 2DB7 ; UNKNOWN
5629 0x2DB8, // 2DB8..2DBE; ETHIOPIC
5630 0x2DBF, // 2DBF ; UNKNOWN
5631 0x2DC0, // 2DC0..2DC6; ETHIOPIC
5632 0x2DC7, // 2DC7 ; UNKNOWN
5633 0x2DC8, // 2DC8..2DCE; ETHIOPIC
5634 0x2DCF, // 2DCF ; UNKNOWN
5635 0x2DD0, // 2DD0..2DD6; ETHIOPIC
5636 0x2DD7, // 2DD7 ; UNKNOWN
5637 0x2DD8, // 2DD8..2DDE; ETHIOPIC
5638 0x2DDF, // 2DDF ; UNKNOWN
5639 0x2DE0, // 2DE0..2DFF; CYRILLIC
5640 0x2E00, // 2E00..2E4F; COMMON
5641 0x2E50, // 2E50..2E7F; UNKNOWN
5642 0x2E80, // 2E80..2E99; HAN
5643 0x2E9A, // 2E9A ; UNKNOWN
5644 0x2E9B, // 2E9B..2EF3; HAN
5645 0x2EF4, // 2EF4..2EFF; UNKNOWN
5646 0x2F00, // 2F00..2FD5; HAN
5647 0x2FD6, // 2FD6..2FEF; UNKNOWN
5648 0x2FF0, // 2FF0..2FFB; COMMON
5649 0x2FFC, // 2FFC..2FFF; UNKNOWN
5650 0x3000, // 3000..3004; COMMON
5651 0x3005, // 3005 ; HAN
5652 0x3006, // 3006 ; COMMON
5653 0x3007, // 3007 ; HAN
5654 0x3008, // 3008..3020; COMMON
5655 0x3021, // 3021..3029; HAN
5656 0x302A, // 302A..302D; INHERITED
5657 0x302E, // 302E..302F; HANGUL
5658 0x3030, // 3030..3037; COMMON
5659 0x3038, // 3038..303B; HAN
5660 0x303C, // 303C..303F; COMMON
5661 0x3040, // 3040 ; UNKNOWN
5662 0x3041, // 3041..3096; HIRAGANA
5663 0x3097, // 3097..3098; UNKNOWN
5664 0x3099, // 3099..309A; INHERITED
5665 0x309B, // 309B..309C; COMMON
5666 0x309D, // 309D..309F; HIRAGANA
5667 0x30A0, // 30A0 ; COMMON
5668 0x30A1, // 30A1..30FA; KATAKANA
5669 0x30FB, // 30FB..30FC; COMMON
5670 0x30FD, // 30FD..30FF; KATAKANA
5671 0x3100, // 3100..3104; UNKNOWN
5672 0x3105, // 3105..312F; BOPOMOFO
5673 0x3130, // 3130 ; UNKNOWN
5674 0x3131, // 3131..318E; HANGUL
5675 0x318F, // 318F ; UNKNOWN
5676 0x3190, // 3190..319F; COMMON
5677 0x31A0, // 31A0..31BA; BOPOMOFO
5678 0x31BB, // 31BB..31BF; UNKNOWN
5679 0x31C0, // 31C0..31E3; COMMON
5680 0x31E4, // 31E4..31EF; UNKNOWN
5681 0x31F0, // 31F0..31FF; KATAKANA
5682 0x3200, // 3200..321E; HANGUL
5683 0x321F, // 321F ; UNKNOWN
5684 0x3220, // 3220..325F; COMMON
5685 0x3260, // 3260..327E; HANGUL
5686 0x327F, // 327F..32CF; COMMON
5687 0x32D0, // 32D0..32FE; KATAKANA
5688 0x32FF, // 32FF ; COMMON
5689 0x3300, // 3300..3357; KATAKANA
5690 0x3358, // 3358..33FF; COMMON
5691 0x3400, // 3400..4DB5; HAN
5692 0x4DB6, // 4DB6..4DBF; UNKNOWN
5693 0x4DC0, // 4DC0..4DFF; COMMON
5694 0x4E00, // 4E00..9FEF; HAN
5695 0x9FF0, // 9FF0..9FFF; UNKNOWN
5696 0xA000, // A000..A48C; YI
5697 0xA48D, // A48D..A48F; UNKNOWN
5698 0xA490, // A490..A4C6; YI
5699 0xA4C7, // A4C7..A4CF; UNKNOWN
5700 0xA4D0, // A4D0..A4FF; LISU
5701 0xA500, // A500..A62B; VAI
5702 0xA62C, // A62C..A63F; UNKNOWN
5703 0xA640, // A640..A69F; CYRILLIC
5704 0xA6A0, // A6A0..A6F7; BAMUM
5705 0xA6F8, // A6F8..A6FF; UNKNOWN
5706 0xA700, // A700..A721; COMMON
5707 0xA722, // A722..A787; LATIN
5708 0xA788, // A788..A78A; COMMON
5709 0xA78B, // A78B..A7BF; LATIN
5710 0xA7C0, // A7C0..A7C1; UNKNOWN
5711 0xA7C2, // A7C2..A7C6; LATIN
5712 0xA7C7, // A7C7..A7F6; UNKNOWN
5713 0xA7F7, // A7F7..A7FF; LATIN
5714 0xA800, // A800..A82B; SYLOTI_NAGRI
5715 0xA82C, // A82C..A82F; UNKNOWN
5716 0xA830, // A830..A839; COMMON
5717 0xA83A, // A83A..A83F; UNKNOWN
5718 0xA840, // A840..A877; PHAGS_PA
5719 0xA878, // A878..A87F; UNKNOWN
5720 0xA880, // A880..A8C5; SAURASHTRA
5721 0xA8C6, // A8C6..A8CD; UNKNOWN
5722 0xA8CE, // A8CE..A8D9; SAURASHTRA
5723 0xA8DA, // A8DA..A8DF; UNKNOWN
5724 0xA8E0, // A8E0..A8FF; DEVANAGARI
5725 0xA900, // A900..A92D; KAYAH_LI
5726 0xA92E, // A92E ; COMMON
5727 0xA92F, // A92F ; KAYAH_LI
5728 0xA930, // A930..A953; REJANG
5729 0xA954, // A954..A95E; UNKNOWN
5730 0xA95F, // A95F ; REJANG
5731 0xA960, // A960..A97C; HANGUL
5732 0xA97D, // A97D..A97F; UNKNOWN
5733 0xA980, // A980..A9CD; JAVANESE
5734 0xA9CE, // A9CE ; UNKNOWN
5735 0xA9CF, // A9CF ; COMMON
5748 0xAA60, // AA60..AA7F; MYANMAR
5749 0xAA80, // AA80..AAC2; TAI_VIET
5750 0xAAC3, // AAC3..AADA; UNKNOWN
5751 0xAADB, // AADB..AADF; TAI_VIET
5752 0xAAE0, // AAE0..AAF6; MEETEI_MAYEK
5753 0xAAF7, // AAF7..AB00; UNKNOWN
5754 0xAB01, // AB01..AB06; ETHIOPIC
5755 0xAB07, // AB07..AB08; UNKNOWN
5756 0xAB09, // AB09..AB0E; ETHIOPIC
5757 0xAB0F, // AB0F..AB10; UNKNOWN
5758 0xAB11, // AB11..AB16; ETHIOPIC
5759 0xAB17, // AB17..AB1F; UNKNOWN
5760 0xAB20, // AB20..AB26; ETHIOPIC
5761 0xAB27, // AB27 ; UNKNOWN
5762 0xAB28, // AB28..AB2E; ETHIOPIC
5763 0xAB2F, // AB2F ; UNKNOWN
5764 0xAB30, // AB30..AB5A; LATIN
5765 0xAB5B, // AB5B ; COMMON
5766 0xAB5C, // AB5C..AB64; LATIN
5767 0xAB65, // AB65 ; GREEK
5768 0xAB66, // AB66..AB67; LATIN
5769 0xAB68, // AB68..AB6F; UNKNOWN
5770 0xAB70, // AB70..ABBF; CHEROKEE
5771 0xABC0, // ABC0..ABED; MEETEI_MAYEK
5772 0xABEE, // ABEE..ABEF; UNKNOWN
5773 0xABF0, // ABF0..ABF9; MEETEI_MAYEK
5774 0xABFA, // ABFA..ABFF; UNKNOWN
5775 0xAC00, // AC00..D7A3; HANGUL
5776 0xD7A4, // D7A4..D7AF; UNKNOWN
5777 0xD7B0, // D7B0..D7C6; HANGUL
5778 0xD7C7, // D7C7..D7CA; UNKNOWN
5779 0xD7CB, // D7CB..D7FB; HANGUL
5780 0xD7FC, // D7FC..F8FF; UNKNOWN
5781 0xF900, // F900..FA6D; HAN
5782 0xFA6E, // FA6E..FA6F; UNKNOWN
5783 0xFA70, // FA70..FAD9; HAN
5784 0xFADA, // FADA..FAFF; UNKNOWN
5785 0xFB00, // FB00..FB06; LATIN
5786 0xFB07, // FB07..FB12; UNKNOWN
5787 0xFB13, // FB13..FB17; ARMENIAN
5788 0xFB18, // FB18..FB1C; UNKNOWN
5789 0xFB1D, // FB1D..FB36; HEBREW
5854 0x1000C, // 1000C ; UNKNOWN
5855 0x1000D, // 1000D..10026; LINEAR_B
5856 0x10027, // 10027 ; UNKNOWN
5857 0x10028, // 10028..1003A; LINEAR_B
5858 0x1003B, // 1003B ; UNKNOWN
5859 0x1003C, // 1003C..1003D; LINEAR_B
5860 0x1003E, // 1003E ; UNKNOWN
5861 0x1003F, // 1003F..1004D; LINEAR_B
5862 0x1004E, // 1004E..1004F; UNKNOWN
5863 0x10050, // 10050..1005D; LINEAR_B
5864 0x1005E, // 1005E..1007F; UNKNOWN
5865 0x10080, // 10080..100FA; LINEAR_B
5866 0x100FB, // 100FB..100FF; UNKNOWN
5867 0x10100, // 10100..10102; COMMON
5868 0x10103, // 10103..10106; UNKNOWN
5869 0x10107, // 10107..10133; COMMON
5870 0x10134, // 10134..10136; UNKNOWN
5871 0x10137, // 10137..1013F; COMMON
5872 0x10140, // 10140..1018E; GREEK
5873 0x1018F, // 1018F ; UNKNOWN
5874 0x10190, // 10190..1019B; COMMON
5875 0x1019C, // 1019C..1019F; UNKNOWN
5876 0x101A0, // 101A0 ; GREEK
5877 0x101A1, // 101A1..101CF; UNKNOWN
5878 0x101D0, // 101D0..101FC; COMMON
5879 0x101FD, // 101FD ; INHERITED
5880 0x101FE, // 101FE..1027F; UNKNOWN
5881 0x10280, // 10280..1029C; LYCIAN
5882 0x1029D, // 1029D..1029F; UNKNOWN
5883 0x102A0, // 102A0..102D0; CARIAN
5884 0x102D1, // 102D1..102DF; UNKNOWN
5885 0x102E0, // 102E0 ; INHERITED
5886 0x102E1, // 102E1..102FB; COMMON
5887 0x102FC, // 102FC..102FF; UNKNOWN
5888 0x10300, // 10300..10323; OLD_ITALIC
5889 0x10324, // 10324..1032C; UNKNOWN
5890 0x1032D, // 1032D..1032F; OLD_ITALIC
5891 0x10330, // 10330..1034A; GOTHIC
5892 0x1034B, // 1034B..1034F; UNKNOWN
5893 0x10350, // 10350..1037A; OLD_PERMIC
5894 0x1037B, // 1037B..1037F; UNKNOWN
5895 0x10380, // 10380..1039D; UGARITIC
5991 0x10B73, // 10B73..10B77; UNKNOWN
5992 0x10B78, // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
5993 0x10B80, // 10B80..10B91; PSALTER_PAHLAVI
5994 0x10B92, // 10B92..10B98; UNKNOWN
5995 0x10B99, // 10B99..10B9C; PSALTER_PAHLAVI
5996 0x10B9D, // 10B9D..10BA8; UNKNOWN
5997 0x10BA9, // 10BA9..10BAF; PSALTER_PAHLAVI
5998 0x10BB0, // 10BB0..10BFF; UNKNOWN
5999 0x10C00, // 10C00..10C48; OLD_TURKIC
6000 0x10C49, // 10C49..10C7F; UNKNOWN
6001 0x10C80, // 10C80..10CB2; OLD_HUNGARIAN
6002 0x10CB3, // 10CB3..10CBF; UNKNOWN
6003 0x10CC0, // 10CC0..10CF2; OLD_HUNGARIAN
6004 0x10CF3, // 10CF3..10CF9; UNKNOWN
6005 0x10CFA, // 10CFA..10CFF; OLD_HUNGARIAN
6006 0x10D00, // 10D00..10D27; HANIFI_ROHINGYA
6007 0x10D28, // 10D28..10D2F; UNKNOWN
6008 0x10D30, // 10D30..10D39; HANIFI_ROHINGYA
6009 0x10D3A, // 10D3A..10E5F; UNKNOWN
6010 0x10E60, // 10E60..10E7E; ARABIC
6011 0x10E7F, // 10E7F..10EFF; UNKNOWN
6012 0x10F00, // 10F00..10F27; OLD_SOGDIAN
6013 0x10F28, // 10F28..10F2F; UNKNOWN
6014 0x10F30, // 10F30..10F59; SOGDIAN
6015 0x10F5A, // 10F5A..10FDF; UNKNOWN
6016 0x10FE0, // 10FE0..10FF6; ELYMAIC
6017 0x10FF7, // 10FF7..10FFF; UNKNOWN
6018 0x11000, // 11000..1104D; BRAHMI
6019 0x1104E, // 1104E..11051; UNKNOWN
6020 0x11052, // 11052..1106F; BRAHMI
6021 0x11070, // 11070..1107E; UNKNOWN
6022 0x1107F, // 1107F ; BRAHMI
6023 0x11080, // 11080..110C1; KAITHI
6024 0x110C2, // 110C2..110CC; UNKNOWN
6025 0x110CD, // 110CD ; KAITHI
6026 0x110CE, // 110CE..110CF; UNKNOWN
6027 0x110D0, // 110D0..110E8; SORA_SOMPENG
6028 0x110E9, // 110E9..110EF; UNKNOWN
6029 0x110F0, // 110F0..110F9; SORA_SOMPENG
6030 0x110FA, // 110FA..110FF; UNKNOWN
6031 0x11100, // 11100..11134; CHAKMA
6032 0x11135, // 11135 ; UNKNOWN
6033 0x11136, // 11136..11146; CHAKMA
6034 0x11147, // 11147..1114F; UNKNOWN
6035 0x11150, // 11150..11176; MAHAJANI
6036 0x11177, // 11177..1117F; UNKNOWN
6037 0x11180, // 11180..111CD; SHARADA
6038 0x111CE, // 111CE..111CF; UNKNOWN
6039 0x111D0, // 111D0..111DF; SHARADA
6040 0x111E0, // 111E0 ; UNKNOWN
6041 0x111E1, // 111E1..111F4; SINHALA
6042 0x111F5, // 111F5..111FF; UNKNOWN
6043 0x11200, // 11200..11211; KHOJKI
6044 0x11212, // 11212 ; UNKNOWN
6045 0x11213, // 11213..1123E; KHOJKI
6046 0x1123F, // 1123F..1127F; UNKNOWN
6047 0x11280, // 11280..11286; MULTANI
6048 0x11287, // 11287 ; UNKNOWN
6049 0x11288, // 11288 ; MULTANI
6050 0x11289, // 11289 ; UNKNOWN
6051 0x1128A, // 1128A..1128D; MULTANI
6052 0x1128E, // 1128E ; UNKNOWN
6053 0x1128F, // 1128F..1129D; MULTANI
6054 0x1129E, // 1129E ; UNKNOWN
6055 0x1129F, // 1129F..112A9; MULTANI
6056 0x112AA, // 112AA..112AF; UNKNOWN
6057 0x112B0, // 112B0..112EA; KHUDAWADI
6058 0x112EB, // 112EB..112EF; UNKNOWN
6059 0x112F0, // 112F0..112F9; KHUDAWADI
6072 0x11334, // 11334 ; UNKNOWN
6073 0x11335, // 11335..11339; GRANTHA
6074 0x1133A, // 1133A ; UNKNOWN
6075 0x1133B, // 1133B ; INHERITED
6076 0x1133C, // 1133C..11344; GRANTHA
6077 0x11345, // 11345..11346; UNKNOWN
6078 0x11347, // 11347..11348; GRANTHA
6079 0x11349, // 11349..1134A; UNKNOWN
6080 0x1134B, // 1134B..1134D; GRANTHA
6081 0x1134E, // 1134E..1134F; UNKNOWN
6082 0x11350, // 11350 ; GRANTHA
6083 0x11351, // 11351..11356; UNKNOWN
6084 0x11357, // 11357 ; GRANTHA
6085 0x11358, // 11358..1135C; UNKNOWN
6086 0x1135D, // 1135D..11363; GRANTHA
6087 0x11364, // 11364..11365; UNKNOWN
6088 0x11366, // 11366..1136C; GRANTHA
6089 0x1136D, // 1136D..1136F; UNKNOWN
6090 0x11370, // 11370..11374; GRANTHA
6091 0x11375, // 11375..113FF; UNKNOWN
6092 0x11400, // 11400..11459; NEWA
6093 0x1145A, // 1145A ; UNKNOWN
6094 0x1145B, // 1145B ; NEWA
6095 0x1145C, // 1145C ; UNKNOWN
6096 0x1145D, // 1145D..1145F; NEWA
6097 0x11460, // 11460..1147F; UNKNOWN
6098 0x11480, // 11480..114C7; TIRHUTA
6099 0x114C8, // 114C8..114CF; UNKNOWN
6100 0x114D0, // 114D0..114D9; TIRHUTA
6101 0x114DA, // 114DA..1157F; UNKNOWN
6102 0x11580, // 11580..115B5; SIDDHAM
6103 0x115B6, // 115B6..115B7; UNKNOWN
6104 0x115B8, // 115B8..115DD; SIDDHAM
6105 0x115DE, // 115DE..115FF; UNKNOWN
6106 0x11600, // 11600..11644; MODI
6107 0x11645, // 11645..1164F; UNKNOWN
6108 0x11650, // 11650..11659; MODI
6109 0x1165A, // 1165A..1165F; UNKNOWN
6110 0x11660, // 11660..1166C; MONGOLIAN
6111 0x1166D, // 1166D..1167F; UNKNOWN
6112 0x11680, // 11680..116B8; TAKRI
6113 0x116B9, // 116B9..116BF; UNKNOWN
6114 0x116C0, // 116C0..116C9; TAKRI
6115 0x116CA, // 116CA..116FF; UNKNOWN
6116 0x11700, // 11700..1171A; AHOM
6117 0x1171B, // 1171B..1171C; UNKNOWN
6118 0x1171D, // 1171D..1172B; AHOM
6119 0x1172C, // 1172C..1172F; UNKNOWN
6120 0x11730, // 11730..1173F; AHOM
6121 0x11740, // 11740..117FF; UNKNOWN
6122 0x11800, // 11800..1183B; DOGRA
6123 0x1183C, // 1183C..1189F; UNKNOWN
6124 0x118A0, // 118A0..118F2; WARANG_CITI
6125 0x118F3, // 118F3..118FE; UNKNOWN
6126 0x118FF, // 118FF ; WARANG_CITI
6127 0x11900, // 11900..1199F; UNKNOWN
6128 0x119A0, // 119A0..119A7; NANDINAGARI
6129 0x119A8, // 119A8..119A9; UNKNOWN
6130 0x119AA, // 119AA..119D7; NANDINAGARI
6131 0x119D8, // 119D8..119D9; UNKNOWN
6132 0x119DA, // 119DA..119E4; NANDINAGARI
6133 0x119E5, // 119E5..119FF; UNKNOWN
6134 0x11A00, // 11A00..11A47; ZANABAZAR_SQUARE
6135 0x11A48, // 11A48..11A4F; UNKNOWN
6136 0x11A50, // 11A50..11AA2; SOYOMBO
6137 0x11AA3, // 11AA3..11ABF; UNKNOWN
6138 0x11AC0, // 11AC0..11AF8; PAU_CIN_HAU
6139 0x11AF9, // 11AF9..11BFF; UNKNOWN
6140 0x11C00, // 11C00..11C08; BHAIKSUKI
6141 0x11C09, // 11C09 ; UNKNOWN
6142 0x11C0A, // 11C0A..11C36; BHAIKSUKI
6143 0x11C37, // 11C37 ; UNKNOWN
6144 0x11C38, // 11C38..11C45; BHAIKSUKI
6145 0x11C46, // 11C46..11C4F; UNKNOWN
6146 0x11C50, // 11C50..11C6C; BHAIKSUKI
6147 0x11C6D, // 11C6D..11C6F; UNKNOWN
6161 0x11D3B, // 11D3B ; UNKNOWN
6162 0x11D3C, // 11D3C..11D3D; MASARAM_GONDI
6163 0x11D3E, // 11D3E ; UNKNOWN
6164 0x11D3F, // 11D3F..11D47; MASARAM_GONDI
6165 0x11D48, // 11D48..11D4F; UNKNOWN
6166 0x11D50, // 11D50..11D59; MASARAM_GONDI
6167 0x11D5A, // 11D5A..11D5F; UNKNOWN
6168 0x11D60, // 11D60..11D65; GUNJALA_GONDI
6169 0x11D66, // 11D66 ; UNKNOWN
6170 0x11D67, // 11D67..11D68; GUNJALA_GONDI
6171 0x11D69, // 11D69 ; UNKNOWN
6172 0x11D6A, // 11D6A..11D8E; GUNJALA_GONDI
6173 0x11D8F, // 11D8F ; UNKNOWN
6174 0x11D90, // 11D90..11D91; GUNJALA_GONDI
6175 0x11D92, // 11D92 ; UNKNOWN
6176 0x11D93, // 11D93..11D98; GUNJALA_GONDI
6177 0x11D99, // 11D99..11D9F; UNKNOWN
6178 0x11DA0, // 11DA0..11DA9; GUNJALA_GONDI
6179 0x11DAA, // 11DAA..11EDF; UNKNOWN
6180 0x11EE0, // 11EE0..11EF8; MAKASAR
6181 0x11EF9, // 11EF9..11FBF; UNKNOWN
6182 0x11FC0, // 11FC0..11FF1; TAMIL
6183 0x11FF2, // 11FF2..11FFE; UNKNOWN
6184 0x11FFF, // 11FFF ; TAMIL
6185 0x12000, // 12000..12399; CUNEIFORM
6186 0x1239A, // 1239A..123FF; UNKNOWN
6187 0x12400, // 12400..1246E; CUNEIFORM
6188 0x1246F, // 1246F ; UNKNOWN
6189 0x12470, // 12470..12474; CUNEIFORM
6190 0x12475, // 12475..1247F; UNKNOWN
6191 0x12480, // 12480..12543; CUNEIFORM
6192 0x12544, // 12544..12FFF; UNKNOWN
6193 0x13000, // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6194 0x1342F, // 1342F ; UNKNOWN
6195 0x13430, // 13430..13438; EGYPTIAN_HIEROGLYPHS
6196 0x13439, // 13439..143FF; UNKNOWN
6197 0x14400, // 14400..14646; ANATOLIAN_HIEROGLYPHS
6198 0x14647, // 14647..167FF; UNKNOWN
6199 0x16800, // 16800..16A38; BAMUM
6200 0x16A39, // 16A39..16A3F; UNKNOWN
6201 0x16A40, // 16A40..16A5E; MRO
6212 0x16B46, // 16B46..16B4F; UNKNOWN
6213 0x16B50, // 16B50..16B59; PAHAWH_HMONG
6214 0x16B5A, // 16B5A ; UNKNOWN
6215 0x16B5B, // 16B5B..16B61; PAHAWH_HMONG
6216 0x16B62, // 16B62 ; UNKNOWN
6217 0x16B63, // 16B63..16B77; PAHAWH_HMONG
6218 0x16B78, // 16B78..16B7C; UNKNOWN
6219 0x16B7D, // 16B7D..16B8F; PAHAWH_HMONG
6220 0x16B90, // 16B90..16E3F; UNKNOWN
6221 0x16E40, // 16E40..16E9A; MEDEFAIDRIN
6222 0x16E9B, // 16E9B..16EFF; UNKNOWN
6223 0x16F00, // 16F00..16F4A; MIAO
6224 0x16F4B, // 16F4B..16F4E; UNKNOWN
6225 0x16F4F, // 16F4F..16F87; MIAO
6226 0x16F88, // 16F88..16F8E; UNKNOWN
6227 0x16F8F, // 16F8F..16F9F; MIAO
6228 0x16FA0, // 16FA0..16FDF; UNKNOWN
6229 0x16FE0, // 16FE0 ; TANGUT
6230 0x16FE1, // 16FE1 ; NUSHU
6231 0x16FE2, // 16FE2..16FE3; COMMON
6232 0x16FE4, // 16FE4..16FFF; UNKNOWN
6233 0x17000, // 17000..187F7; TANGUT
6234 0x187F8, // 187F8..187FF; UNKNOWN
6235 0x18800, // 18800..18AF2; TANGUT
6236 0x18AF3, // 18AF3..1AFFF; UNKNOWN
6237 0x1B000, // 1B000 ; KATAKANA
6238 0x1B001, // 1B001..1B11E; HIRAGANA
6239 0x1B11F, // 1B11F..1B14F; UNKNOWN
6240 0x1B150, // 1B150..1B152; HIRAGANA
6241 0x1B153, // 1B153..1B163; UNKNOWN
6242 0x1B164, // 1B164..1B167; KATAKANA
6243 0x1B168, // 1B168..1B16F; UNKNOWN
6244 0x1B170, // 1B170..1B2FB; NUSHU
6245 0x1B2FC, // 1B2FC..1BBFF; UNKNOWN
6246 0x1BC00, // 1BC00..1BC6A; DUPLOYAN
6247 0x1BC6B, // 1BC6B..1BC6F; UNKNOWN
6248 0x1BC70, // 1BC70..1BC7C; DUPLOYAN
6249 0x1BC7D, // 1BC7D..1BC7F; UNKNOWN
6250 0x1BC80, // 1BC80..1BC88; DUPLOYAN
6251 0x1BC89, // 1BC89..1BC8F; UNKNOWN
6252 0x1BC90, // 1BC90..1BC99; DUPLOYAN
6253 0x1BC9A, // 1BC9A..1BC9B; UNKNOWN
6254 0x1BC9C, // 1BC9C..1BC9F; DUPLOYAN
6255 0x1BCA0, // 1BCA0..1BCA3; COMMON
6256 0x1BCA4, // 1BCA4..1CFFF; UNKNOWN
6422 0x1EEA1, // 1EEA1..1EEA3; ARABIC
6423 0x1EEA4, // 1EEA4 ; UNKNOWN
6424 0x1EEA5, // 1EEA5..1EEA9; ARABIC
6425 0x1EEAA, // 1EEAA ; UNKNOWN
6426 0x1EEAB, // 1EEAB..1EEBB; ARABIC
6427 0x1EEBC, // 1EEBC..1EEEF; UNKNOWN
6428 0x1EEF0, // 1EEF0..1EEF1; ARABIC
6429 0x1EEF2, // 1EEF2..1EFFF; UNKNOWN
6430 0x1F000, // 1F000..1F02B; COMMON
6431 0x1F02C, // 1F02C..1F02F; UNKNOWN
6432 0x1F030, // 1F030..1F093; COMMON
6433 0x1F094, // 1F094..1F09F; UNKNOWN
6434 0x1F0A0, // 1F0A0..1F0AE; COMMON
6435 0x1F0AF, // 1F0AF..1F0B0; UNKNOWN
6436 0x1F0B1, // 1F0B1..1F0BF; COMMON
6437 0x1F0C0, // 1F0C0 ; UNKNOWN
6438 0x1F0C1, // 1F0C1..1F0CF; COMMON
6439 0x1F0D0, // 1F0D0 ; UNKNOWN
6440 0x1F0D1, // 1F0D1..1F0F5; COMMON
6441 0x1F0F6, // 1F0F6..1F0FF; UNKNOWN
6442 0x1F100, // 1F100..1F10C; COMMON
6443 0x1F10D, // 1F10D..1F10F; UNKNOWN
6444 0x1F110, // 1F110..1F16C; COMMON
6445 0x1F16D, // 1F16D..1F16F; UNKNOWN
6446 0x1F170, // 1F170..1F1AC; COMMON
6447 0x1F1AD, // 1F1AD..1F1E5; UNKNOWN
6448 0x1F1E6, // 1F1E6..1F1FF; COMMON
6449 0x1F200, // 1F200 ; HIRAGANA
6450 0x1F201, // 1F201..1F202; COMMON
6451 0x1F203, // 1F203..1F20F; UNKNOWN
6452 0x1F210, // 1F210..1F23B; COMMON
6453 0x1F23C, // 1F23C..1F23F; UNKNOWN
6454 0x1F240, // 1F240..1F248; COMMON
6455 0x1F249, // 1F249..1F24F; UNKNOWN
6456 0x1F250, // 1F250..1F251; COMMON
6457 0x1F252, // 1F252..1F25F; UNKNOWN
6458 0x1F260, // 1F260..1F265; COMMON
6459 0x1F266, // 1F266..1F2FF; UNKNOWN
6460 0x1F300, // 1F300..1F6D5; COMMON
6461 0x1F6D6, // 1F6D6..1F6DF; UNKNOWN
6462 0x1F6E0, // 1F6E0..1F6EC; COMMON
6463 0x1F6ED, // 1F6ED..1F6EF; UNKNOWN
6464 0x1F6F0, // 1F6F0..1F6FA; COMMON
6465 0x1F6FB, // 1F6FB..1F6FF; UNKNOWN
6466 0x1F700, // 1F700..1F773; COMMON
6467 0x1F774, // 1F774..1F77F; UNKNOWN
6468 0x1F780, // 1F780..1F7D8; COMMON
6469 0x1F7D9, // 1F7D9..1F7DF; UNKNOWN
6470 0x1F7E0, // 1F7E0..1F7EB; COMMON
6471 0x1F7EC, // 1F7EC..1F7FF; UNKNOWN
6472 0x1F800, // 1F800..1F80B; COMMON
6473 0x1F80C, // 1F80C..1F80F; UNKNOWN
6474 0x1F810, // 1F810..1F847; COMMON
6475 0x1F848, // 1F848..1F84F; UNKNOWN
6476 0x1F850, // 1F850..1F859; COMMON
6477 0x1F85A, // 1F85A..1F85F; UNKNOWN
6478 0x1F860, // 1F860..1F887; COMMON
6479 0x1F888, // 1F888..1F88F; UNKNOWN
6480 0x1F890, // 1F890..1F8AD; COMMON
6481 0x1F8AE, // 1F8AE..1F8FF; UNKNOWN
6482 0x1F900, // 1F900..1F90B; COMMON
6483 0x1F90C, // 1F90C ; UNKNOWN
6484 0x1F90D, // 1F90D..1F971; COMMON
6485 0x1F972, // 1F972 ; UNKNOWN
6486 0x1F973, // 1F973..1F976; COMMON
6487 0x1F977, // 1F977..1F979; UNKNOWN
6488 0x1F97A, // 1F97A..1F9A2; COMMON
6489 0x1F9A3, // 1F9A3..1F9A4; UNKNOWN
6490 0x1F9A5, // 1F9A5..1F9AA; COMMON
6491 0x1F9AB, // 1F9AB..1F9AD; UNKNOWN
6492 0x1F9AE, // 1F9AE..1F9CA; COMMON
6493 0x1F9CB, // 1F9CB..1F9CC; UNKNOWN
6494 0x1F9CD, // 1F9CD..1FA53; COMMON
6495 0x1FA54, // 1FA54..1FA5F; UNKNOWN
6496 0x1FA60, // 1FA60..1FA6D; COMMON
6497 0x1FA6E, // 1FA6E..1FA6F; UNKNOWN
6498 0x1FA70, // 1FA70..1FA73; COMMON
6499 0x1FA74, // 1FA74..1FA77; UNKNOWN
6500 0x1FA78, // 1FA78..1FA7A; COMMON
6501 0x1FA7B, // 1FA7B..1FA7F; UNKNOWN
6502 0x1FA80, // 1FA80..1FA82; COMMON
6503 0x1FA83, // 1FA83..1FA8F; UNKNOWN
6504 0x1FA90, // 1FA90..1FA95; COMMON
6505 0x1FA96, // 1FA96..1FFFF; UNKNOWN
6506 0x20000, // 20000..2A6D6; HAN
6507 0x2A6D7, // 2A6D7..2A6FF; UNKNOWN
6508 0x2A700, // 2A700..2B734; HAN
6509 0x2B735, // 2B735..2B73F; UNKNOWN
6510 0x2B740, // 2B740..2B81D; HAN
6511 0x2B81E, // 2B81E..2B81F; UNKNOWN
6512 0x2B820, // 2B820..2CEA1; HAN
6513 0x2CEA2, // 2CEA2..2CEAF; UNKNOWN
6514 0x2CEB0, // 2CEB0..2EBE0; HAN
6515 0x2EBE1, // 2EBE1..2F7FF; UNKNOWN
6516 0x2F800, // 2F800..2FA1D; HAN
6517 0x2FA1E, // 2FA1E..E0000; UNKNOWN
6518 0xE0001, // E0001 ; COMMON
6519 0xE0002, // E0002..E001F; UNKNOWN
6520 0xE0020, // E0020..E007F; COMMON
6521 0xE0080, // E0080..E00FF; UNKNOWN
6522 0xE0100, // E0100..E01EF; INHERITED
6523 0xE01F0, // E01F0..10FFFF; UNKNOWN
6524 };
6525
6526 private static final UnicodeScript[] scripts = {
6527 COMMON, // 0000..0040
6528 LATIN, // 0041..005A
6529 COMMON, // 005B..0060
6530 LATIN, // 0061..007A
6531 COMMON, // 007B..00A9
6532 LATIN, // 00AA
6533 COMMON, // 00AB..00B9
6534 LATIN, // 00BA
6535 COMMON, // 00BB..00BF
6536 LATIN, // 00C0..00D6
6537 COMMON, // 00D7
6554 UNKNOWN, // 0380..0383
6555 GREEK, // 0384
6556 COMMON, // 0385
6557 GREEK, // 0386
6558 COMMON, // 0387
6559 GREEK, // 0388..038A
6560 UNKNOWN, // 038B
6561 GREEK, // 038C
6562 UNKNOWN, // 038D
6563 GREEK, // 038E..03A1
6564 UNKNOWN, // 03A2
6565 GREEK, // 03A3..03E1
6566 COPTIC, // 03E2..03EF
6567 GREEK, // 03F0..03FF
6568 CYRILLIC, // 0400..0484
6569 INHERITED, // 0485..0486
6570 CYRILLIC, // 0487..052F
6571 UNKNOWN, // 0530
6572 ARMENIAN, // 0531..0556
6573 UNKNOWN, // 0557..0558
6574 ARMENIAN, // 0559..0588
6575 COMMON, // 0589
6576 ARMENIAN, // 058A
6577 UNKNOWN, // 058B..058C
6578 ARMENIAN, // 058D..058F
6579 UNKNOWN, // 0590
6580 HEBREW, // 0591..05C7
6581 UNKNOWN, // 05C8..05CF
6582 HEBREW, // 05D0..05EA
6583 UNKNOWN, // 05EB..05EE
6584 HEBREW, // 05EF..05F4
6585 UNKNOWN, // 05F5..05FF
6586 ARABIC, // 0600..0604
6587 COMMON, // 0605
6588 ARABIC, // 0606..060B
6589 COMMON, // 060C
6590 ARABIC, // 060D..061A
6591 COMMON, // 061B
6592 ARABIC, // 061C
6593 UNKNOWN, // 061D
6594 ARABIC, // 061E
6595 COMMON, // 061F
6596 ARABIC, // 0620..063F
6608 UNKNOWN, // 074B..074C
6609 SYRIAC, // 074D..074F
6610 ARABIC, // 0750..077F
6611 THAANA, // 0780..07B1
6612 UNKNOWN, // 07B2..07BF
6613 NKO, // 07C0..07FA
6614 UNKNOWN, // 07FB..07FC
6615 NKO, // 07FD..07FF
6616 SAMARITAN, // 0800..082D
6617 UNKNOWN, // 082E..082F
6618 SAMARITAN, // 0830..083E
6619 UNKNOWN, // 083F
6620 MANDAIC, // 0840..085B
6621 UNKNOWN, // 085C..085D
6622 MANDAIC, // 085E
6623 UNKNOWN, // 085F
6624 SYRIAC, // 0860..086A
6625 UNKNOWN, // 086B..089F
6626 ARABIC, // 08A0..08B4
6627 UNKNOWN, // 08B5
6628 ARABIC, // 08B6..08BD
6629 UNKNOWN, // 08BE..08D2
6630 ARABIC, // 08D3..08E1
6631 COMMON, // 08E2
6632 ARABIC, // 08E3..08FF
6633 DEVANAGARI, // 0900..0950
6634 INHERITED, // 0951..0954
6635 DEVANAGARI, // 0955..0963
6636 COMMON, // 0964..0965
6637 DEVANAGARI, // 0966..097F
6638 BENGALI, // 0980..0983
6639 UNKNOWN, // 0984
6640 BENGALI, // 0985..098C
6641 UNKNOWN, // 098D..098E
6642 BENGALI, // 098F..0990
6643 UNKNOWN, // 0991..0992
6644 BENGALI, // 0993..09A8
6645 UNKNOWN, // 09A9
6646 BENGALI, // 09AA..09B0
6647 UNKNOWN, // 09B1
6648 BENGALI, // 09B2
6649 UNKNOWN, // 09B3..09B5
6725 UNKNOWN, // 0B00
6726 ORIYA, // 0B01..0B03
6727 UNKNOWN, // 0B04
6728 ORIYA, // 0B05..0B0C
6729 UNKNOWN, // 0B0D..0B0E
6730 ORIYA, // 0B0F..0B10
6731 UNKNOWN, // 0B11..0B12
6732 ORIYA, // 0B13..0B28
6733 UNKNOWN, // 0B29
6734 ORIYA, // 0B2A..0B30
6735 UNKNOWN, // 0B31
6736 ORIYA, // 0B32..0B33
6737 UNKNOWN, // 0B34
6738 ORIYA, // 0B35..0B39
6739 UNKNOWN, // 0B3A..0B3B
6740 ORIYA, // 0B3C..0B44
6741 UNKNOWN, // 0B45..0B46
6742 ORIYA, // 0B47..0B48
6743 UNKNOWN, // 0B49..0B4A
6744 ORIYA, // 0B4B..0B4D
6745 UNKNOWN, // 0B4E..0B55
6746 ORIYA, // 0B56..0B57
6747 UNKNOWN, // 0B58..0B5B
6748 ORIYA, // 0B5C..0B5D
6749 UNKNOWN, // 0B5E
6750 ORIYA, // 0B5F..0B63
6751 UNKNOWN, // 0B64..0B65
6752 ORIYA, // 0B66..0B77
6753 UNKNOWN, // 0B78..0B81
6754 TAMIL, // 0B82..0B83
6755 UNKNOWN, // 0B84
6756 TAMIL, // 0B85..0B8A
6757 UNKNOWN, // 0B8B..0B8D
6758 TAMIL, // 0B8E..0B90
6759 UNKNOWN, // 0B91
6760 TAMIL, // 0B92..0B95
6761 UNKNOWN, // 0B96..0B98
6762 TAMIL, // 0B99..0B9A
6763 UNKNOWN, // 0B9B
6764 TAMIL, // 0B9C
6765 UNKNOWN, // 0B9D
6766 TAMIL, // 0B9E..0B9F
6815 KANNADA, // 0CAA..0CB3
6816 UNKNOWN, // 0CB4
6817 KANNADA, // 0CB5..0CB9
6818 UNKNOWN, // 0CBA..0CBB
6819 KANNADA, // 0CBC..0CC4
6820 UNKNOWN, // 0CC5
6821 KANNADA, // 0CC6..0CC8
6822 UNKNOWN, // 0CC9
6823 KANNADA, // 0CCA..0CCD
6824 UNKNOWN, // 0CCE..0CD4
6825 KANNADA, // 0CD5..0CD6
6826 UNKNOWN, // 0CD7..0CDD
6827 KANNADA, // 0CDE
6828 UNKNOWN, // 0CDF
6829 KANNADA, // 0CE0..0CE3
6830 UNKNOWN, // 0CE4..0CE5
6831 KANNADA, // 0CE6..0CEF
6832 UNKNOWN, // 0CF0
6833 KANNADA, // 0CF1..0CF2
6834 UNKNOWN, // 0CF3..0CFF
6835 MALAYALAM, // 0D00..0D03
6836 UNKNOWN, // 0D04
6837 MALAYALAM, // 0D05..0D0C
6838 UNKNOWN, // 0D0D
6839 MALAYALAM, // 0D0E..0D10
6840 UNKNOWN, // 0D11
6841 MALAYALAM, // 0D12..0D44
6842 UNKNOWN, // 0D45
6843 MALAYALAM, // 0D46..0D48
6844 UNKNOWN, // 0D49
6845 MALAYALAM, // 0D4A..0D4F
6846 UNKNOWN, // 0D50..0D53
6847 MALAYALAM, // 0D54..0D63
6848 UNKNOWN, // 0D64..0D65
6849 MALAYALAM, // 0D66..0D7F
6850 UNKNOWN, // 0D80..0D81
6851 SINHALA, // 0D82..0D83
6852 UNKNOWN, // 0D84
6853 SINHALA, // 0D85..0D96
6854 UNKNOWN, // 0D97..0D99
6855 SINHALA, // 0D9A..0DB1
6856 UNKNOWN, // 0DB2
6857 SINHALA, // 0DB3..0DBB
6858 UNKNOWN, // 0DBC
6859 SINHALA, // 0DBD
6860 UNKNOWN, // 0DBE..0DBF
6861 SINHALA, // 0DC0..0DC6
6862 UNKNOWN, // 0DC7..0DC9
6863 SINHALA, // 0DCA
6864 UNKNOWN, // 0DCB..0DCE
6865 SINHALA, // 0DCF..0DD4
6866 UNKNOWN, // 0DD5
6867 SINHALA, // 0DD6
6868 UNKNOWN, // 0DD7
6869 SINHALA, // 0DD8..0DDF
6870 UNKNOWN, // 0DE0..0DE5
6871 SINHALA, // 0DE6..0DEF
7023 UNKNOWN, // 19AC..19AF
7024 NEW_TAI_LUE, // 19B0..19C9
7025 UNKNOWN, // 19CA..19CF
7026 NEW_TAI_LUE, // 19D0..19DA
7027 UNKNOWN, // 19DB..19DD
7028 NEW_TAI_LUE, // 19DE..19DF
7029 KHMER, // 19E0..19FF
7030 BUGINESE, // 1A00..1A1B
7031 UNKNOWN, // 1A1C..1A1D
7032 BUGINESE, // 1A1E..1A1F
7033 TAI_THAM, // 1A20..1A5E
7034 UNKNOWN, // 1A5F
7035 TAI_THAM, // 1A60..1A7C
7036 UNKNOWN, // 1A7D..1A7E
7037 TAI_THAM, // 1A7F..1A89
7038 UNKNOWN, // 1A8A..1A8F
7039 TAI_THAM, // 1A90..1A99
7040 UNKNOWN, // 1A9A..1A9F
7041 TAI_THAM, // 1AA0..1AAD
7042 UNKNOWN, // 1AAE..1AAF
7043 INHERITED, // 1AB0..1ABE
7044 UNKNOWN, // 1ABF..1AFF
7045 BALINESE, // 1B00..1B4B
7046 UNKNOWN, // 1B4C..1B4F
7047 BALINESE, // 1B50..1B7C
7048 UNKNOWN, // 1B7D..1B7F
7049 SUNDANESE, // 1B80..1BBF
7050 BATAK, // 1BC0..1BF3
7051 UNKNOWN, // 1BF4..1BFB
7052 BATAK, // 1BFC..1BFF
7053 LEPCHA, // 1C00..1C37
7054 UNKNOWN, // 1C38..1C3A
7055 LEPCHA, // 1C3B..1C49
7056 UNKNOWN, // 1C4A..1C4C
7057 LEPCHA, // 1C4D..1C4F
7058 OL_CHIKI, // 1C50..1C7F
7059 CYRILLIC, // 1C80..1C88
7060 UNKNOWN, // 1C89..1C8F
7061 GEORGIAN, // 1C90..1CBA
7062 UNKNOWN, // 1CBB..1CBC
7063 GEORGIAN, // 1CBD..1CBF
7064 SUNDANESE, // 1CC0..1CC7
7144 GREEK, // 2126
7145 COMMON, // 2127..2129
7146 LATIN, // 212A..212B
7147 COMMON, // 212C..2131
7148 LATIN, // 2132
7149 COMMON, // 2133..214D
7150 LATIN, // 214E
7151 COMMON, // 214F..215F
7152 LATIN, // 2160..2188
7153 COMMON, // 2189..218B
7154 UNKNOWN, // 218C..218F
7155 COMMON, // 2190..2426
7156 UNKNOWN, // 2427..243F
7157 COMMON, // 2440..244A
7158 UNKNOWN, // 244B..245F
7159 COMMON, // 2460..27FF
7160 BRAILLE, // 2800..28FF
7161 COMMON, // 2900..2B73
7162 UNKNOWN, // 2B74..2B75
7163 COMMON, // 2B76..2B95
7164 UNKNOWN, // 2B96..2B97
7165 COMMON, // 2B98..2BFF
7166 GLAGOLITIC, // 2C00..2C2E
7167 UNKNOWN, // 2C2F
7168 GLAGOLITIC, // 2C30..2C5E
7169 UNKNOWN, // 2C5F
7170 LATIN, // 2C60..2C7F
7171 COPTIC, // 2C80..2CF3
7172 UNKNOWN, // 2CF4..2CF8
7173 COPTIC, // 2CF9..2CFF
7174 GEORGIAN, // 2D00..2D25
7175 UNKNOWN, // 2D26
7176 GEORGIAN, // 2D27
7177 UNKNOWN, // 2D28..2D2C
7178 GEORGIAN, // 2D2D
7179 UNKNOWN, // 2D2E..2D2F
7180 TIFINAGH, // 2D30..2D67
7181 UNKNOWN, // 2D68..2D6E
7182 TIFINAGH, // 2D6F..2D70
7183 UNKNOWN, // 2D71..2D7E
7184 TIFINAGH, // 2D7F
7185 ETHIOPIC, // 2D80..2D96
7186 UNKNOWN, // 2D97..2D9F
7187 ETHIOPIC, // 2DA0..2DA6
7188 UNKNOWN, // 2DA7
7189 ETHIOPIC, // 2DA8..2DAE
7190 UNKNOWN, // 2DAF
7191 ETHIOPIC, // 2DB0..2DB6
7192 UNKNOWN, // 2DB7
7193 ETHIOPIC, // 2DB8..2DBE
7194 UNKNOWN, // 2DBF
7195 ETHIOPIC, // 2DC0..2DC6
7196 UNKNOWN, // 2DC7
7197 ETHIOPIC, // 2DC8..2DCE
7198 UNKNOWN, // 2DCF
7199 ETHIOPIC, // 2DD0..2DD6
7200 UNKNOWN, // 2DD7
7201 ETHIOPIC, // 2DD8..2DDE
7202 UNKNOWN, // 2DDF
7203 CYRILLIC, // 2DE0..2DFF
7204 COMMON, // 2E00..2E4F
7205 UNKNOWN, // 2E50..2E7F
7206 HAN, // 2E80..2E99
7207 UNKNOWN, // 2E9A
7208 HAN, // 2E9B..2EF3
7209 UNKNOWN, // 2EF4..2EFF
7210 HAN, // 2F00..2FD5
7211 UNKNOWN, // 2FD6..2FEF
7212 COMMON, // 2FF0..2FFB
7213 UNKNOWN, // 2FFC..2FFF
7214 COMMON, // 3000..3004
7215 HAN, // 3005
7216 COMMON, // 3006
7217 HAN, // 3007
7218 COMMON, // 3008..3020
7219 HAN, // 3021..3029
7220 INHERITED, // 302A..302D
7221 HANGUL, // 302E..302F
7222 COMMON, // 3030..3037
7223 HAN, // 3038..303B
7224 COMMON, // 303C..303F
7225 UNKNOWN, // 3040
7226 HIRAGANA, // 3041..3096
7227 UNKNOWN, // 3097..3098
7228 INHERITED, // 3099..309A
7229 COMMON, // 309B..309C
7230 HIRAGANA, // 309D..309F
7231 COMMON, // 30A0
7232 KATAKANA, // 30A1..30FA
7233 COMMON, // 30FB..30FC
7234 KATAKANA, // 30FD..30FF
7235 UNKNOWN, // 3100..3104
7236 BOPOMOFO, // 3105..312F
7237 UNKNOWN, // 3130
7238 HANGUL, // 3131..318E
7239 UNKNOWN, // 318F
7240 COMMON, // 3190..319F
7241 BOPOMOFO, // 31A0..31BA
7242 UNKNOWN, // 31BB..31BF
7243 COMMON, // 31C0..31E3
7244 UNKNOWN, // 31E4..31EF
7245 KATAKANA, // 31F0..31FF
7246 HANGUL, // 3200..321E
7247 UNKNOWN, // 321F
7248 COMMON, // 3220..325F
7249 HANGUL, // 3260..327E
7250 COMMON, // 327F..32CF
7251 KATAKANA, // 32D0..32FE
7252 COMMON, // 32FF
7253 KATAKANA, // 3300..3357
7254 COMMON, // 3358..33FF
7255 HAN, // 3400..4DB5
7256 UNKNOWN, // 4DB6..4DBF
7257 COMMON, // 4DC0..4DFF
7258 HAN, // 4E00..9FEF
7259 UNKNOWN, // 9FF0..9FFF
7260 YI, // A000..A48C
7261 UNKNOWN, // A48D..A48F
7262 YI, // A490..A4C6
7263 UNKNOWN, // A4C7..A4CF
7264 LISU, // A4D0..A4FF
7265 VAI, // A500..A62B
7266 UNKNOWN, // A62C..A63F
7267 CYRILLIC, // A640..A69F
7268 BAMUM, // A6A0..A6F7
7269 UNKNOWN, // A6F8..A6FF
7270 COMMON, // A700..A721
7271 LATIN, // A722..A787
7272 COMMON, // A788..A78A
7273 LATIN, // A78B..A7BF
7274 UNKNOWN, // A7C0..A7C1
7275 LATIN, // A7C2..A7C6
7276 UNKNOWN, // A7C7..A7F6
7277 LATIN, // A7F7..A7FF
7278 SYLOTI_NAGRI, // A800..A82B
7279 UNKNOWN, // A82C..A82F
7280 COMMON, // A830..A839
7281 UNKNOWN, // A83A..A83F
7282 PHAGS_PA, // A840..A877
7283 UNKNOWN, // A878..A87F
7284 SAURASHTRA, // A880..A8C5
7285 UNKNOWN, // A8C6..A8CD
7286 SAURASHTRA, // A8CE..A8D9
7287 UNKNOWN, // A8DA..A8DF
7288 DEVANAGARI, // A8E0..A8FF
7289 KAYAH_LI, // A900..A92D
7290 COMMON, // A92E
7291 KAYAH_LI, // A92F
7292 REJANG, // A930..A953
7293 UNKNOWN, // A954..A95E
7294 REJANG, // A95F
7295 HANGUL, // A960..A97C
7296 UNKNOWN, // A97D..A97F
7297 JAVANESE, // A980..A9CD
7298 UNKNOWN, // A9CE
7299 COMMON, // A9CF
7312 MYANMAR, // AA60..AA7F
7313 TAI_VIET, // AA80..AAC2
7314 UNKNOWN, // AAC3..AADA
7315 TAI_VIET, // AADB..AADF
7316 MEETEI_MAYEK, // AAE0..AAF6
7317 UNKNOWN, // AAF7..AB00
7318 ETHIOPIC, // AB01..AB06
7319 UNKNOWN, // AB07..AB08
7320 ETHIOPIC, // AB09..AB0E
7321 UNKNOWN, // AB0F..AB10
7322 ETHIOPIC, // AB11..AB16
7323 UNKNOWN, // AB17..AB1F
7324 ETHIOPIC, // AB20..AB26
7325 UNKNOWN, // AB27
7326 ETHIOPIC, // AB28..AB2E
7327 UNKNOWN, // AB2F
7328 LATIN, // AB30..AB5A
7329 COMMON, // AB5B
7330 LATIN, // AB5C..AB64
7331 GREEK, // AB65
7332 LATIN, // AB66..AB67
7333 UNKNOWN, // AB68..AB6F
7334 CHEROKEE, // AB70..ABBF
7335 MEETEI_MAYEK, // ABC0..ABED
7336 UNKNOWN, // ABEE..ABEF
7337 MEETEI_MAYEK, // ABF0..ABF9
7338 UNKNOWN, // ABFA..ABFF
7339 HANGUL, // AC00..D7A3
7340 UNKNOWN, // D7A4..D7AF
7341 HANGUL, // D7B0..D7C6
7342 UNKNOWN, // D7C7..D7CA
7343 HANGUL, // D7CB..D7FB
7344 UNKNOWN, // D7FC..F8FF
7345 HAN, // F900..FA6D
7346 UNKNOWN, // FA6E..FA6F
7347 HAN, // FA70..FAD9
7348 UNKNOWN, // FADA..FAFF
7349 LATIN, // FB00..FB06
7350 UNKNOWN, // FB07..FB12
7351 ARMENIAN, // FB13..FB17
7352 UNKNOWN, // FB18..FB1C
7353 HEBREW, // FB1D..FB36
7418 UNKNOWN, // 1000C
7419 LINEAR_B, // 1000D..10026
7420 UNKNOWN, // 10027
7421 LINEAR_B, // 10028..1003A
7422 UNKNOWN, // 1003B
7423 LINEAR_B, // 1003C..1003D
7424 UNKNOWN, // 1003E
7425 LINEAR_B, // 1003F..1004D
7426 UNKNOWN, // 1004E..1004F
7427 LINEAR_B, // 10050..1005D
7428 UNKNOWN, // 1005E..1007F
7429 LINEAR_B, // 10080..100FA
7430 UNKNOWN, // 100FB..100FF
7431 COMMON, // 10100..10102
7432 UNKNOWN, // 10103..10106
7433 COMMON, // 10107..10133
7434 UNKNOWN, // 10134..10136
7435 COMMON, // 10137..1013F
7436 GREEK, // 10140..1018E
7437 UNKNOWN, // 1018F
7438 COMMON, // 10190..1019B
7439 UNKNOWN, // 1019C..1019F
7440 GREEK, // 101A0
7441 UNKNOWN, // 101A1..101CF
7442 COMMON, // 101D0..101FC
7443 INHERITED, // 101FD
7444 UNKNOWN, // 101FE..1027F
7445 LYCIAN, // 10280..1029C
7446 UNKNOWN, // 1029D..1029F
7447 CARIAN, // 102A0..102D0
7448 UNKNOWN, // 102D1..102DF
7449 INHERITED, // 102E0
7450 COMMON, // 102E1..102FB
7451 UNKNOWN, // 102FC..102FF
7452 OLD_ITALIC, // 10300..10323
7453 UNKNOWN, // 10324..1032C
7454 OLD_ITALIC, // 1032D..1032F
7455 GOTHIC, // 10330..1034A
7456 UNKNOWN, // 1034B..1034F
7457 OLD_PERMIC, // 10350..1037A
7458 UNKNOWN, // 1037B..1037F
7459 UGARITIC, // 10380..1039D
7555 UNKNOWN, // 10B73..10B77
7556 INSCRIPTIONAL_PAHLAVI, // 10B78..10B7F
7557 PSALTER_PAHLAVI, // 10B80..10B91
7558 UNKNOWN, // 10B92..10B98
7559 PSALTER_PAHLAVI, // 10B99..10B9C
7560 UNKNOWN, // 10B9D..10BA8
7561 PSALTER_PAHLAVI, // 10BA9..10BAF
7562 UNKNOWN, // 10BB0..10BFF
7563 OLD_TURKIC, // 10C00..10C48
7564 UNKNOWN, // 10C49..10C7F
7565 OLD_HUNGARIAN, // 10C80..10CB2
7566 UNKNOWN, // 10CB3..10CBF
7567 OLD_HUNGARIAN, // 10CC0..10CF2
7568 UNKNOWN, // 10CF3..10CF9
7569 OLD_HUNGARIAN, // 10CFA..10CFF
7570 HANIFI_ROHINGYA, // 10D00..10D27
7571 UNKNOWN, // 10D28..10D2F
7572 HANIFI_ROHINGYA, // 10D30..10D39
7573 UNKNOWN, // 10D3A..10E5F
7574 ARABIC, // 10E60..10E7E
7575 UNKNOWN, // 10E7F..10EFF
7576 OLD_SOGDIAN, // 10F00..10F27
7577 UNKNOWN, // 10F28..10F2F
7578 SOGDIAN, // 10F30..10F59
7579 UNKNOWN, // 10F5A..10FDF
7580 ELYMAIC, // 10FE0..10FF6
7581 UNKNOWN, // 10FF7..10FFF
7582 BRAHMI, // 11000..1104D
7583 UNKNOWN, // 1104E..11051
7584 BRAHMI, // 11052..1106F
7585 UNKNOWN, // 11070..1107E
7586 BRAHMI, // 1107F
7587 KAITHI, // 11080..110C1
7588 UNKNOWN, // 110C2..110CC
7589 KAITHI, // 110CD
7590 UNKNOWN, // 110CE..110CF
7591 SORA_SOMPENG, // 110D0..110E8
7592 UNKNOWN, // 110E9..110EF
7593 SORA_SOMPENG, // 110F0..110F9
7594 UNKNOWN, // 110FA..110FF
7595 CHAKMA, // 11100..11134
7596 UNKNOWN, // 11135
7597 CHAKMA, // 11136..11146
7598 UNKNOWN, // 11147..1114F
7599 MAHAJANI, // 11150..11176
7600 UNKNOWN, // 11177..1117F
7601 SHARADA, // 11180..111CD
7602 UNKNOWN, // 111CE..111CF
7603 SHARADA, // 111D0..111DF
7604 UNKNOWN, // 111E0
7605 SINHALA, // 111E1..111F4
7606 UNKNOWN, // 111F5..111FF
7607 KHOJKI, // 11200..11211
7608 UNKNOWN, // 11212
7609 KHOJKI, // 11213..1123E
7610 UNKNOWN, // 1123F..1127F
7611 MULTANI, // 11280..11286
7612 UNKNOWN, // 11287
7613 MULTANI, // 11288
7614 UNKNOWN, // 11289
7615 MULTANI, // 1128A..1128D
7616 UNKNOWN, // 1128E
7617 MULTANI, // 1128F..1129D
7618 UNKNOWN, // 1129E
7619 MULTANI, // 1129F..112A9
7620 UNKNOWN, // 112AA..112AF
7621 KHUDAWADI, // 112B0..112EA
7622 UNKNOWN, // 112EB..112EF
7623 KHUDAWADI, // 112F0..112F9
7636 UNKNOWN, // 11334
7637 GRANTHA, // 11335..11339
7638 UNKNOWN, // 1133A
7639 INHERITED, // 1133B
7640 GRANTHA, // 1133C..11344
7641 UNKNOWN, // 11345..11346
7642 GRANTHA, // 11347..11348
7643 UNKNOWN, // 11349..1134A
7644 GRANTHA, // 1134B..1134D
7645 UNKNOWN, // 1134E..1134F
7646 GRANTHA, // 11350
7647 UNKNOWN, // 11351..11356
7648 GRANTHA, // 11357
7649 UNKNOWN, // 11358..1135C
7650 GRANTHA, // 1135D..11363
7651 UNKNOWN, // 11364..11365
7652 GRANTHA, // 11366..1136C
7653 UNKNOWN, // 1136D..1136F
7654 GRANTHA, // 11370..11374
7655 UNKNOWN, // 11375..113FF
7656 NEWA, // 11400..11459
7657 UNKNOWN, // 1145A
7658 NEWA, // 1145B
7659 UNKNOWN, // 1145C
7660 NEWA, // 1145D..1145F
7661 UNKNOWN, // 11460..1147F
7662 TIRHUTA, // 11480..114C7
7663 UNKNOWN, // 114C8..114CF
7664 TIRHUTA, // 114D0..114D9
7665 UNKNOWN, // 114DA..1157F
7666 SIDDHAM, // 11580..115B5
7667 UNKNOWN, // 115B6..115B7
7668 SIDDHAM, // 115B8..115DD
7669 UNKNOWN, // 115DE..115FF
7670 MODI, // 11600..11644
7671 UNKNOWN, // 11645..1164F
7672 MODI, // 11650..11659
7673 UNKNOWN, // 1165A..1165F
7674 MONGOLIAN, // 11660..1166C
7675 UNKNOWN, // 1166D..1167F
7676 TAKRI, // 11680..116B8
7677 UNKNOWN, // 116B9..116BF
7678 TAKRI, // 116C0..116C9
7679 UNKNOWN, // 116CA..116FF
7680 AHOM, // 11700..1171A
7681 UNKNOWN, // 1171B..1171C
7682 AHOM, // 1171D..1172B
7683 UNKNOWN, // 1172C..1172F
7684 AHOM, // 11730..1173F
7685 UNKNOWN, // 11740..117FF
7686 DOGRA, // 11800..1183B
7687 UNKNOWN, // 1183C..1189F
7688 WARANG_CITI, // 118A0..118F2
7689 UNKNOWN, // 118F3..118FE
7690 WARANG_CITI, // 118FF
7691 UNKNOWN, // 11900..1199F
7692 NANDINAGARI, // 119A0..119A7
7693 UNKNOWN, // 119A8..119A9
7694 NANDINAGARI, // 119AA..119D7
7695 UNKNOWN, // 119D8..119D9
7696 NANDINAGARI, // 119DA..119E4
7697 UNKNOWN, // 119E5..119FF
7698 ZANABAZAR_SQUARE, // 11A00..11A47
7699 UNKNOWN, // 11A48..11A4F
7700 SOYOMBO, // 11A50..11AA2
7701 UNKNOWN, // 11AA3..11ABF
7702 PAU_CIN_HAU, // 11AC0..11AF8
7703 UNKNOWN, // 11AF9..11BFF
7704 BHAIKSUKI, // 11C00..11C08
7705 UNKNOWN, // 11C09
7706 BHAIKSUKI, // 11C0A..11C36
7707 UNKNOWN, // 11C37
7708 BHAIKSUKI, // 11C38..11C45
7709 UNKNOWN, // 11C46..11C4F
7710 BHAIKSUKI, // 11C50..11C6C
7711 UNKNOWN, // 11C6D..11C6F
7725 UNKNOWN, // 11D3B
7726 MASARAM_GONDI, // 11D3C..11D3D
7727 UNKNOWN, // 11D3E
7728 MASARAM_GONDI, // 11D3F..11D47
7729 UNKNOWN, // 11D48..11D4F
7730 MASARAM_GONDI, // 11D50..11D59
7731 UNKNOWN, // 11D5A..11D5F
7732 GUNJALA_GONDI, // 11D60..11D65
7733 UNKNOWN, // 11D66
7734 GUNJALA_GONDI, // 11D67..11D68
7735 UNKNOWN, // 11D69
7736 GUNJALA_GONDI, // 11D6A..11D8E
7737 UNKNOWN, // 11D8F
7738 GUNJALA_GONDI, // 11D90..11D91
7739 UNKNOWN, // 11D92
7740 GUNJALA_GONDI, // 11D93..11D98
7741 UNKNOWN, // 11D99..11D9F
7742 GUNJALA_GONDI, // 11DA0..11DA9
7743 UNKNOWN, // 11DAA..11EDF
7744 MAKASAR, // 11EE0..11EF8
7745 UNKNOWN, // 11EF9..11FBF
7746 TAMIL, // 11FC0..11FF1
7747 UNKNOWN, // 11FF2..11FFE
7748 TAMIL, // 11FFF
7749 CUNEIFORM, // 12000..12399
7750 UNKNOWN, // 1239A..123FF
7751 CUNEIFORM, // 12400..1246E
7752 UNKNOWN, // 1246F
7753 CUNEIFORM, // 12470..12474
7754 UNKNOWN, // 12475..1247F
7755 CUNEIFORM, // 12480..12543
7756 UNKNOWN, // 12544..12FFF
7757 EGYPTIAN_HIEROGLYPHS, // 13000..1342E
7758 UNKNOWN, // 1342F
7759 EGYPTIAN_HIEROGLYPHS, // 13430..13438
7760 UNKNOWN, // 13439..143FF
7761 ANATOLIAN_HIEROGLYPHS, // 14400..14646
7762 UNKNOWN, // 14647..167FF
7763 BAMUM, // 16800..16A38
7764 UNKNOWN, // 16A39..16A3F
7765 MRO, // 16A40..16A5E
7776 UNKNOWN, // 16B46..16B4F
7777 PAHAWH_HMONG, // 16B50..16B59
7778 UNKNOWN, // 16B5A
7779 PAHAWH_HMONG, // 16B5B..16B61
7780 UNKNOWN, // 16B62
7781 PAHAWH_HMONG, // 16B63..16B77
7782 UNKNOWN, // 16B78..16B7C
7783 PAHAWH_HMONG, // 16B7D..16B8F
7784 UNKNOWN, // 16B90..16E3F
7785 MEDEFAIDRIN, // 16E40..16E9A
7786 UNKNOWN, // 16E9B..16EFF
7787 MIAO, // 16F00..16F4A
7788 UNKNOWN, // 16F4B..16F4E
7789 MIAO, // 16F4F..16F87
7790 UNKNOWN, // 16F88..16F8E
7791 MIAO, // 16F8F..16F9F
7792 UNKNOWN, // 16FA0..16FDF
7793 TANGUT, // 16FE0
7794 NUSHU, // 16FE1
7795 COMMON, // 16FE2..16FE3
7796 UNKNOWN, // 16FE4..16FFF
7797 TANGUT, // 17000..187F7
7798 UNKNOWN, // 187F8..187FF
7799 TANGUT, // 18800..18AF2
7800 UNKNOWN, // 18AF3..1AFFF
7801 KATAKANA, // 1B000
7802 HIRAGANA, // 1B001..1B11E
7803 UNKNOWN, // 1B11F..1B14F
7804 HIRAGANA, // 1B150..1B152
7805 UNKNOWN, // 1B153..1B163
7806 KATAKANA, // 1B164..1B167
7807 UNKNOWN, // 1B168..1B16F
7808 NUSHU, // 1B170..1B2FB
7809 UNKNOWN, // 1B2FC..1BBFF
7810 DUPLOYAN, // 1BC00..1BC6A
7811 UNKNOWN, // 1BC6B..1BC6F
7812 DUPLOYAN, // 1BC70..1BC7C
7813 UNKNOWN, // 1BC7D..1BC7F
7814 DUPLOYAN, // 1BC80..1BC88
7815 UNKNOWN, // 1BC89..1BC8F
7816 DUPLOYAN, // 1BC90..1BC99
7817 UNKNOWN, // 1BC9A..1BC9B
7818 DUPLOYAN, // 1BC9C..1BC9F
7819 COMMON, // 1BCA0..1BCA3
7820 UNKNOWN, // 1BCA4..1CFFF
7986 ARABIC, // 1EEA1..1EEA3
7987 UNKNOWN, // 1EEA4
7988 ARABIC, // 1EEA5..1EEA9
7989 UNKNOWN, // 1EEAA
7990 ARABIC, // 1EEAB..1EEBB
7991 UNKNOWN, // 1EEBC..1EEEF
7992 ARABIC, // 1EEF0..1EEF1
7993 UNKNOWN, // 1EEF2..1EFFF
7994 COMMON, // 1F000..1F02B
7995 UNKNOWN, // 1F02C..1F02F
7996 COMMON, // 1F030..1F093
7997 UNKNOWN, // 1F094..1F09F
7998 COMMON, // 1F0A0..1F0AE
7999 UNKNOWN, // 1F0AF..1F0B0
8000 COMMON, // 1F0B1..1F0BF
8001 UNKNOWN, // 1F0C0
8002 COMMON, // 1F0C1..1F0CF
8003 UNKNOWN, // 1F0D0
8004 COMMON, // 1F0D1..1F0F5
8005 UNKNOWN, // 1F0F6..1F0FF
8006 COMMON, // 1F100..1F10C
8007 UNKNOWN, // 1F10D..1F10F
8008 COMMON, // 1F110..1F16C
8009 UNKNOWN, // 1F16D..1F16F
8010 COMMON, // 1F170..1F1AC
8011 UNKNOWN, // 1F1AD..1F1E5
8012 COMMON, // 1F1E6..1F1FF
8013 HIRAGANA, // 1F200
8014 COMMON, // 1F201..1F202
8015 UNKNOWN, // 1F203..1F20F
8016 COMMON, // 1F210..1F23B
8017 UNKNOWN, // 1F23C..1F23F
8018 COMMON, // 1F240..1F248
8019 UNKNOWN, // 1F249..1F24F
8020 COMMON, // 1F250..1F251
8021 UNKNOWN, // 1F252..1F25F
8022 COMMON, // 1F260..1F265
8023 UNKNOWN, // 1F266..1F2FF
8024 COMMON, // 1F300..1F6D5
8025 UNKNOWN, // 1F6D6..1F6DF
8026 COMMON, // 1F6E0..1F6EC
8027 UNKNOWN, // 1F6ED..1F6EF
8028 COMMON, // 1F6F0..1F6FA
8029 UNKNOWN, // 1F6FB..1F6FF
8030 COMMON, // 1F700..1F773
8031 UNKNOWN, // 1F774..1F77F
8032 COMMON, // 1F780..1F7D8
8033 UNKNOWN, // 1F7D9..1F7DF
8034 COMMON, // 1F7E0..1F7EB
8035 UNKNOWN, // 1F7EC..1F7FF
8036 COMMON, // 1F800..1F80B
8037 UNKNOWN, // 1F80C..1F80F
8038 COMMON, // 1F810..1F847
8039 UNKNOWN, // 1F848..1F84F
8040 COMMON, // 1F850..1F859
8041 UNKNOWN, // 1F85A..1F85F
8042 COMMON, // 1F860..1F887
8043 UNKNOWN, // 1F888..1F88F
8044 COMMON, // 1F890..1F8AD
8045 UNKNOWN, // 1F8AE..1F8FF
8046 COMMON, // 1F900..1F90B
8047 UNKNOWN, // 1F90C
8048 COMMON, // 1F90D..1F971
8049 UNKNOWN, // 1F972
8050 COMMON, // 1F973..1F976
8051 UNKNOWN, // 1F977..1F979
8052 COMMON, // 1F97A..1F9A2
8053 UNKNOWN, // 1F9A3..1F9A4
8054 COMMON, // 1F9A5..1F9AA
8055 UNKNOWN, // 1F9AB..1F9AD
8056 COMMON, // 1F9AE..1F9CA
8057 UNKNOWN, // 1F9CB..1F9CC
8058 COMMON, // 1F9CD..1FA53
8059 UNKNOWN, // 1FA54..1FA5F
8060 COMMON, // 1FA60..1FA6D
8061 UNKNOWN, // 1FA6E..1FA6F
8062 COMMON, // 1FA70..1FA73
8063 UNKNOWN, // 1FA74..1FA77
8064 COMMON, // 1FA78..1FA7A
8065 UNKNOWN, // 1FA7B..1FA7F
8066 COMMON, // 1FA80..1FA82
8067 UNKNOWN, // 1FA83..1FA8F
8068 COMMON, // 1FA90..1FA95
8069 UNKNOWN, // 1FA96..1FFFF
8070 HAN, // 20000..2A6D6
8071 UNKNOWN, // 2A6D7..2A6FF
8072 HAN, // 2A700..2B734
8073 UNKNOWN, // 2B735..2B73F
8074 HAN, // 2B740..2B81D
8075 UNKNOWN, // 2B81E..2B81F
8076 HAN, // 2B820..2CEA1
8077 UNKNOWN, // 2CEA2..2CEAF
8078 HAN, // 2CEB0..2EBE0
8079 UNKNOWN, // 2EBE1..2F7FF
8080 HAN, // 2F800..2FA1D
8081 UNKNOWN, // 2FA1E..E0000
8082 COMMON, // E0001
8083 UNKNOWN, // E0002..E001F
8084 COMMON, // E0020..E007F
8085 UNKNOWN, // E0080..E00FF
8086 INHERITED, // E0100..E01EF
8087 UNKNOWN, // E01F0..10FFFF
8088 };
8089
8090 private static final HashMap<String, Character.UnicodeScript> aliases;
8091 static {
8092 aliases = new HashMap<>((int)(153 / 0.75f + 1.0f));
8093 aliases.put("ADLM", ADLAM);
8094 aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8095 aliases.put("AHOM", AHOM);
8096 aliases.put("ARAB", ARABIC);
8097 aliases.put("ARMI", IMPERIAL_ARAMAIC);
8098 aliases.put("ARMN", ARMENIAN);
8099 aliases.put("AVST", AVESTAN);
8100 aliases.put("BALI", BALINESE);
8101 aliases.put("BAMU", BAMUM);
8102 aliases.put("BASS", BASSA_VAH);
8103 aliases.put("BATK", BATAK);
8104 aliases.put("BENG", BENGALI);
8105 aliases.put("BHKS", BHAIKSUKI);
8106 aliases.put("BOPO", BOPOMOFO);
8107 aliases.put("BRAH", BRAHMI);
8108 aliases.put("BRAI", BRAILLE);
8109 aliases.put("BUGI", BUGINESE);
8110 aliases.put("BUHD", BUHID);
8111 aliases.put("CAKM", CHAKMA);
8112 aliases.put("CANS", CANADIAN_ABORIGINAL);
8113 aliases.put("CARI", CARIAN);
8114 aliases.put("CHAM", CHAM);
8115 aliases.put("CHER", CHEROKEE);
8116 aliases.put("COPT", COPTIC);
8117 aliases.put("CPRT", CYPRIOT);
8118 aliases.put("CYRL", CYRILLIC);
8119 aliases.put("DEVA", DEVANAGARI);
8120 aliases.put("DOGR", DOGRA);
8121 aliases.put("DSRT", DESERET);
8122 aliases.put("DUPL", DUPLOYAN);
8123 aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8124 aliases.put("ELBA", ELBASAN);
8125 aliases.put("ELYM", ELYMAIC);
8126 aliases.put("ETHI", ETHIOPIC);
8127 aliases.put("GEOR", GEORGIAN);
8128 aliases.put("GLAG", GLAGOLITIC);
8129 aliases.put("GONM", MASARAM_GONDI);
8130 aliases.put("GOTH", GOTHIC);
8131 aliases.put("GONG", GUNJALA_GONDI);
8132 aliases.put("GRAN", GRANTHA);
8133 aliases.put("GREK", GREEK);
8134 aliases.put("GUJR", GUJARATI);
8135 aliases.put("GURU", GURMUKHI);
8136 aliases.put("HANG", HANGUL);
8137 aliases.put("HANI", HAN);
8138 aliases.put("HANO", HANUNOO);
8139 aliases.put("HATR", HATRAN);
8140 aliases.put("HEBR", HEBREW);
8141 aliases.put("HIRA", HIRAGANA);
8142 aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8143 aliases.put("HMNG", PAHAWH_HMONG);
8144 aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8145 // it appears we don't have the KATAKANA_OR_HIRAGANA
8146 //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8147 aliases.put("HUNG", OLD_HUNGARIAN);
8148 aliases.put("ITAL", OLD_ITALIC);
8149 aliases.put("JAVA", JAVANESE);
8150 aliases.put("KALI", KAYAH_LI);
8151 aliases.put("KANA", KATAKANA);
8152 aliases.put("KHAR", KHAROSHTHI);
8153 aliases.put("KHMR", KHMER);
8154 aliases.put("KHOJ", KHOJKI);
8155 aliases.put("KNDA", KANNADA);
8156 aliases.put("KTHI", KAITHI);
8157 aliases.put("LANA", TAI_THAM);
8158 aliases.put("LAOO", LAO);
8159 aliases.put("LATN", LATIN);
8160 aliases.put("LEPC", LEPCHA);
8161 aliases.put("LIMB", LIMBU);
8162 aliases.put("LINA", LINEAR_A);
8163 aliases.put("LINB", LINEAR_B);
8164 aliases.put("LISU", LISU);
8165 aliases.put("LYCI", LYCIAN);
8166 aliases.put("LYDI", LYDIAN);
8167 aliases.put("MAHJ", MAHAJANI);
8168 aliases.put("MAKA", MAKASAR);
8169 aliases.put("MARC", MARCHEN);
8170 aliases.put("MAND", MANDAIC);
8171 aliases.put("MANI", MANICHAEAN);
8172 aliases.put("MEDF", MEDEFAIDRIN);
8173 aliases.put("MEND", MENDE_KIKAKUI);
8174 aliases.put("MERC", MEROITIC_CURSIVE);
8224 aliases.put("TAKR", TAKRI);
8225 aliases.put("TALE", TAI_LE);
8226 aliases.put("TALU", NEW_TAI_LUE);
8227 aliases.put("TAML", TAMIL);
8228 aliases.put("TANG", TANGUT);
8229 aliases.put("TAVT", TAI_VIET);
8230 aliases.put("TELU", TELUGU);
8231 aliases.put("TFNG", TIFINAGH);
8232 aliases.put("TGLG", TAGALOG);
8233 aliases.put("THAA", THAANA);
8234 aliases.put("THAI", THAI);
8235 aliases.put("TIBT", TIBETAN);
8236 aliases.put("TIRH", TIRHUTA);
8237 aliases.put("UGAR", UGARITIC);
8238 aliases.put("VAII", VAI);
8239 aliases.put("WARA", WARANG_CITI);
8240 aliases.put("WCHO", WANCHO);
8241 aliases.put("XPEO", OLD_PERSIAN);
8242 aliases.put("XSUX", CUNEIFORM);
8243 aliases.put("YIII", YI);
8244 aliases.put("ZANB", ZANABAZAR_SQUARE);
8245 aliases.put("ZINH", INHERITED);
8246 aliases.put("ZYYY", COMMON);
8247 aliases.put("ZZZZ", UNKNOWN);
8248 }
8249
8250 /**
8251 * Returns the enum constant representing the Unicode script of which
8252 * the given character (Unicode code point) is assigned to.
8253 *
8254 * @param codePoint the character (Unicode code point) in question.
8255 * @return The {@code UnicodeScript} constant representing the
8256 * Unicode script of which this character is assigned to.
8257 *
8258 * @throws IllegalArgumentException if the specified
8259 * {@code codePoint} is an invalid Unicode code point.
8260 * @see Character#isValidCodePoint(int)
8261 *
8262 */
8263 public static UnicodeScript of(int codePoint) {
|
45 * The {@code Character} class wraps a value of the primitive
46 * type {@code char} in an object. An object of class
47 * {@code Character} contains a single field whose type is
48 * {@code char}.
49 * <p>
50 * In addition, this class provides a large number of static methods for
51 * determining a character's category (lowercase letter, digit, etc.)
52 * and for converting characters from uppercase to lowercase and vice
53 * versa.
54 *
55 * <h2><a id="conformance">Unicode Conformance</a></h2>
56 * <p>
57 * The fields and methods of class {@code Character} are defined in terms
58 * of character information from the Unicode Standard, specifically the
59 * <i>UnicodeData</i> file that is part of the Unicode Character Database.
60 * This file specifies properties including name and category for every
61 * assigned Unicode code point or character range. The file is available
62 * from the Unicode Consortium at
63 * <a href="http://www.unicode.org">http://www.unicode.org</a>.
64 * <p>
65 * Character information is based on the Unicode Standard, version 13.0.
66 *
67 * <h2><a id="unicode">Unicode Character Representations</a></h2>
68 *
69 * <p>The {@code char} data type (and therefore the value that a
70 * {@code Character} object encapsulates) are based on the
71 * original Unicode specification, which defined characters as
72 * fixed-width 16-bit entities. The Unicode Standard has since been
73 * changed to allow for characters whose representation requires more
74 * than 16 bits. The range of legal <em>code point</em>s is now
75 * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
76 * (Refer to the <a
77 * href="http://www.unicode.org/reports/tr27/#notation"><i>
78 * definition</i></a> of the U+<i>n</i> notation in the Unicode
79 * Standard.)
80 *
81 * <p><a id="BMP">The set of characters from U+0000 to U+FFFF</a> is
82 * sometimes referred to as the <em>Basic Multilingual Plane (BMP)</em>.
83 * <a id="supplementary">Characters</a> whose code points are greater
84 * than U+FFFF are called <em>supplementary character</em>s. The Java
85 * platform uses the UTF-16 representation in {@code char} arrays and
674 * Returns the name of this subset.
675 */
676 public final String toString() {
677 return name;
678 }
679 }
680
681 // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
682 // for the latest specification of Unicode Blocks.
683
684 /**
685 * A family of character subsets representing the character blocks in the
686 * Unicode specification. Character blocks generally define characters
687 * used for a specific script or purpose. A character is contained by
688 * at most one Unicode block.
689 *
690 * @since 1.2
691 */
692 public static final class UnicodeBlock extends Subset {
693 /**
694 * 684 - the expected number of entities
695 * 0.75 - the default load factor of HashMap
696 */
697 private static final int NUM_ENTITIES = 684;
698 private static Map<String, UnicodeBlock> map =
699 new HashMap<>((int)(NUM_ENTITIES / 0.75f + 1.0f));
700
701 /**
702 * Creates a UnicodeBlock with the given identifier name.
703 * This name must be the same as the block identifier.
704 */
705 private UnicodeBlock(String idName) {
706 super(idName);
707 map.put(idName, this);
708 }
709
710 /**
711 * Creates a UnicodeBlock with the given identifier name and
712 * alias name.
713 */
714 private UnicodeBlock(String idName, String alias) {
715 this(idName);
716 map.put(alias, this);
717 }
3287 /**
3288 * Constant for the "Ottoman Siyaq Numbers" Unicode
3289 * character block.
3290 * @since 13
3291 */
3292 public static final UnicodeBlock OTTOMAN_SIYAQ_NUMBERS =
3293 new UnicodeBlock("OTTOMAN_SIYAQ_NUMBERS",
3294 "OTTOMAN SIYAQ NUMBERS",
3295 "OTTOMANSIYAQNUMBERS");
3296
3297 /**
3298 * Constant for the "Symbols and Pictographs Extended-A" Unicode
3299 * character block.
3300 * @since 13
3301 */
3302 public static final UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A =
3303 new UnicodeBlock("SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A",
3304 "SYMBOLS AND PICTOGRAPHS EXTENDED-A",
3305 "SYMBOLSANDPICTOGRAPHSEXTENDED-A");
3306
3307 /**
3308 * Constant for the "Yezidi" Unicode
3309 * character block.
3310 * @since 15
3311 */
3312 public static final UnicodeBlock YEZIDI =
3313 new UnicodeBlock("YEZIDI");
3314
3315 /**
3316 * Constant for the "Chorasmian" Unicode
3317 * character block.
3318 * @since 15
3319 */
3320 public static final UnicodeBlock CHORASMIAN =
3321 new UnicodeBlock("CHORASMIAN");
3322
3323 /**
3324 * Constant for the "Dives Akuru" Unicode
3325 * character block.
3326 * @since 15
3327 */
3328 public static final UnicodeBlock DIVES_AKURU =
3329 new UnicodeBlock("DIVES_AKURU",
3330 "DIVES AKURU",
3331 "DIVESAKURU");
3332
3333 /**
3334 * Constant for the "Lisu Supplement" Unicode
3335 * character block.
3336 * @since 15
3337 */
3338 public static final UnicodeBlock LISU_SUPPLEMENT =
3339 new UnicodeBlock("LISU_SUPPLEMENT",
3340 "LISU SUPPLEMENT",
3341 "LISUSUPPLEMENT");
3342
3343 /**
3344 * Constant for the "Khitan Small Script" Unicode
3345 * character block.
3346 * @since 15
3347 */
3348 public static final UnicodeBlock KHITAN_SMALL_SCRIPT =
3349 new UnicodeBlock("KHITAN_SMALL_SCRIPT",
3350 "KHITAN SMALL SCRIPT",
3351 "KHITANSMALLSCRIPT");
3352
3353 /**
3354 * Constant for the "Tangut Supplement" Unicode
3355 * character block.
3356 * @since 15
3357 */
3358 public static final UnicodeBlock TANGUT_SUPPLEMENT =
3359 new UnicodeBlock("TANGUT_SUPPLEMENT",
3360 "TANGUT SUPPLEMENT",
3361 "TANGUTSUPPLEMENT");
3362
3363 /**
3364 * Constant for the "Symbols for Legacy Computing" Unicode
3365 * character block.
3366 * @since 15
3367 */
3368 public static final UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING =
3369 new UnicodeBlock("SYMBOLS_FOR_LEGACY_COMPUTING",
3370 "SYMBOLS FOR LEGACY COMPUTING",
3371 "SYMBOLSFORLEGACYCOMPUTING");
3372
3373 /**
3374 * Constant for the "CJK Unified Ideographs Extension G" Unicode
3375 * character block.
3376 * @since 15
3377 */
3378 public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G =
3379 new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G",
3380 "CJK UNIFIED IDEOGRAPHS EXTENSION G",
3381 "CJKUNIFIEDIDEOGRAPHSEXTENSIONG");
3382
3383 private static final int[] blockStarts = {
3384 0x0000, // 0000..007F; Basic Latin
3385 0x0080, // 0080..00FF; Latin-1 Supplement
3386 0x0100, // 0100..017F; Latin Extended-A
3387 0x0180, // 0180..024F; Latin Extended-B
3388 0x0250, // 0250..02AF; IPA Extensions
3389 0x02B0, // 02B0..02FF; Spacing Modifier Letters
3390 0x0300, // 0300..036F; Combining Diacritical Marks
3391 0x0370, // 0370..03FF; Greek and Coptic
3392 0x0400, // 0400..04FF; Cyrillic
3393 0x0500, // 0500..052F; Cyrillic Supplement
3394 0x0530, // 0530..058F; Armenian
3395 0x0590, // 0590..05FF; Hebrew
3396 0x0600, // 0600..06FF; Arabic
3397 0x0700, // 0700..074F; Syriac
3398 0x0750, // 0750..077F; Arabic Supplement
3399 0x0780, // 0780..07BF; Thaana
3400 0x07C0, // 07C0..07FF; NKo
3401 0x0800, // 0800..083F; Samaritan
3402 0x0840, // 0840..085F; Mandaic
3581 0x10920, // 10920..1093F; Lydian
3582 0x10940, // unassigned
3583 0x10980, // 10980..1099F; Meroitic Hieroglyphs
3584 0x109A0, // 109A0..109FF; Meroitic Cursive
3585 0x10A00, // 10A00..10A5F; Kharoshthi
3586 0x10A60, // 10A60..10A7F; Old South Arabian
3587 0x10A80, // 10A80..10A9F; Old North Arabian
3588 0x10AA0, // unassigned
3589 0x10AC0, // 10AC0..10AFF; Manichaean
3590 0x10B00, // 10B00..10B3F; Avestan
3591 0x10B40, // 10B40..10B5F; Inscriptional Parthian
3592 0x10B60, // 10B60..10B7F; Inscriptional Pahlavi
3593 0x10B80, // 10B80..10BAF; Psalter Pahlavi
3594 0x10BB0, // unassigned
3595 0x10C00, // 10C00..10C4F; Old Turkic
3596 0x10C50, // unassigned
3597 0x10C80, // 10C80..10CFF; Old Hungarian
3598 0x10D00, // 10D00..10D3F; Hanifi Rohingya
3599 0x10D40, // unassigned
3600 0x10E60, // 10E60..10E7F; Rumi Numeral Symbols
3601 0x10E80, // 10E80..10EBF; Yezidi
3602 0x10EC0, // unassigned
3603 0x10F00, // 10F00..10F2F; Old Sogdian
3604 0x10F30, // 10F30..10F6F; Sogdian
3605 0x10F70, // unassigned
3606 0x10FB0, // 10FB0..10FDF; Chorasmian
3607 0x10FE0, // 10FE0..10FFF; Elymaic
3608 0x11000, // 11000..1107F; Brahmi
3609 0x11080, // 11080..110CF; Kaithi
3610 0x110D0, // 110D0..110FF; Sora Sompeng
3611 0x11100, // 11100..1114F; Chakma
3612 0x11150, // 11150..1117F; Mahajani
3613 0x11180, // 11180..111DF; Sharada
3614 0x111E0, // 111E0..111FF; Sinhala Archaic Numbers
3615 0x11200, // 11200..1124F; Khojki
3616 0x11250, // unassigned
3617 0x11280, // 11280..112AF; Multani
3618 0x112B0, // 112B0..112FF; Khudawadi
3619 0x11300, // 11300..1137F; Grantha
3620 0x11380, // unassigned
3621 0x11400, // 11400..1147F; Newa
3622 0x11480, // 11480..114DF; Tirhuta
3623 0x114E0, // unassigned
3624 0x11580, // 11580..115FF; Siddham
3625 0x11600, // 11600..1165F; Modi
3626 0x11660, // 11660..1167F; Mongolian Supplement
3627 0x11680, // 11680..116CF; Takri
3628 0x116D0, // unassigned
3629 0x11700, // 11700..1173F; Ahom
3630 0x11740, // unassigned
3631 0x11800, // 11800..1184F; Dogra
3632 0x11850, // unassigned
3633 0x118A0, // 118A0..118FF; Warang Citi
3634 0x11900, // 11900..1195F; Dives Akuru
3635 0x11960, // unassigned
3636 0x119A0, // 119A0..119FF; Nandinagari
3637 0x11A00, // 11A00..11A4F; Zanabazar Square
3638 0x11A50, // 11A50..11AAF; Soyombo
3639 0x11AB0, // unassigned
3640 0x11AC0, // 11AC0..11AFF; Pau Cin Hau
3641 0x11B00, // unassigned
3642 0x11C00, // 11C00..11C6F; Bhaiksuki
3643 0x11C70, // 11C70..11CBF; Marchen
3644 0x11CC0, // unassigned
3645 0x11D00, // 11D00..11D5F; Masaram Gondi
3646 0x11D60, // 11D60..11DAF; Gunjala Gondi
3647 0x11DB0, // unassigned
3648 0x11EE0, // 11EE0..11EFF; Makasar
3649 0x11F00, // unassigned
3650 0x11FB0, // 11FB0..11FBF; Lisu Supplement
3651 0x11FC0, // 11FC0..11FFF; Tamil Supplement
3652 0x12000, // 12000..123FF; Cuneiform
3653 0x12400, // 12400..1247F; Cuneiform Numbers and Punctuation
3654 0x12480, // 12480..1254F; Early Dynastic Cuneiform
3655 0x12550, // unassigned
3656 0x13000, // 13000..1342F; Egyptian Hieroglyphs
3657 0x13430, // 13430..1343F; Egyptian Hieroglyph Format Controls
3658 0x13440, // unassigned
3659 0x14400, // 14400..1467F; Anatolian Hieroglyphs
3660 0x14680, // unassigned
3661 0x16800, // 16800..16A3F; Bamum Supplement
3662 0x16A40, // 16A40..16A6F; Mro
3663 0x16A70, // unassigned
3664 0x16AD0, // 16AD0..16AFF; Bassa Vah
3665 0x16B00, // 16B00..16B8F; Pahawh Hmong
3666 0x16B90, // unassigned
3667 0x16E40, // 16E40..16E9F; Medefaidrin
3668 0x16EA0, // unassigned
3669 0x16F00, // 16F00..16F9F; Miao
3670 0x16FA0, // unassigned
3671 0x16FE0, // 16FE0..16FFF; Ideographic Symbols and Punctuation
3672 0x17000, // 17000..187FF; Tangut
3673 0x18800, // 18800..18AFF; Tangut Components
3674 0x18B00, // 18B00..18CFF; Khitan Small Script
3675 0x18D00, // 18D00..18D8F; Tangut Supplement
3676 0x18D90, // unassigned
3677 0x1B000, // 1B000..1B0FF; Kana Supplement
3678 0x1B100, // 1B100..1B12F; Kana Extended-A
3679 0x1B130, // 1B130..1B16F; Small Kana Extension
3680 0x1B170, // 1B170..1B2FF; Nushu
3681 0x1B300, // unassigned
3682 0x1BC00, // 1BC00..1BC9F; Duployan
3683 0x1BCA0, // 1BCA0..1BCAF; Shorthand Format Controls
3684 0x1BCB0, // unassigned
3685 0x1D000, // 1D000..1D0FF; Byzantine Musical Symbols
3686 0x1D100, // 1D100..1D1FF; Musical Symbols
3687 0x1D200, // 1D200..1D24F; Ancient Greek Musical Notation
3688 0x1D250, // unassigned
3689 0x1D2E0, // 1D2E0..1D2FF; Mayan Numerals
3690 0x1D300, // 1D300..1D35F; Tai Xuan Jing Symbols
3691 0x1D360, // 1D360..1D37F; Counting Rod Numerals
3692 0x1D380, // unassigned
3693 0x1D400, // 1D400..1D7FF; Mathematical Alphanumeric Symbols
3694 0x1D800, // 1D800..1DAAF; Sutton SignWriting
3695 0x1DAB0, // unassigned
3696 0x1E000, // 1E000..1E02F; Glagolitic Supplement
3707 0x1ECC0, // unassigned
3708 0x1ED00, // 1ED00..1ED4F; Ottoman Siyaq Numbers
3709 0x1ED50, // unassigned
3710 0x1EE00, // 1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
3711 0x1EF00, // unassigned
3712 0x1F000, // 1F000..1F02F; Mahjong Tiles
3713 0x1F030, // 1F030..1F09F; Domino Tiles
3714 0x1F0A0, // 1F0A0..1F0FF; Playing Cards
3715 0x1F100, // 1F100..1F1FF; Enclosed Alphanumeric Supplement
3716 0x1F200, // 1F200..1F2FF; Enclosed Ideographic Supplement
3717 0x1F300, // 1F300..1F5FF; Miscellaneous Symbols and Pictographs
3718 0x1F600, // 1F600..1F64F; Emoticons
3719 0x1F650, // 1F650..1F67F; Ornamental Dingbats
3720 0x1F680, // 1F680..1F6FF; Transport and Map Symbols
3721 0x1F700, // 1F700..1F77F; Alchemical Symbols
3722 0x1F780, // 1F780..1F7FF; Geometric Shapes Extended
3723 0x1F800, // 1F800..1F8FF; Supplemental Arrows-C
3724 0x1F900, // 1F900..1F9FF; Supplemental Symbols and Pictographs
3725 0x1FA00, // 1FA00..1FA6F; Chess Symbols
3726 0x1FA70, // 1FA70..1FAFF; Symbols and Pictographs Extended-A
3727 0x1FB00, // 1FB00..1FBFF; Symbols for Legacy Computing
3728 0x1FC00, // unassigned
3729 0x20000, // 20000..2A6DF; CJK Unified Ideographs Extension B
3730 0x2A6E0, // unassigned
3731 0x2A700, // 2A700..2B73F; CJK Unified Ideographs Extension C
3732 0x2B740, // 2B740..2B81F; CJK Unified Ideographs Extension D
3733 0x2B820, // 2B820..2CEAF; CJK Unified Ideographs Extension E
3734 0x2CEB0, // 2CEB0..2EBEF; CJK Unified Ideographs Extension F
3735 0x2EBF0, // unassigned
3736 0x2F800, // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
3737 0x2FA20, // unassigned
3738 0x30000, // 30000..3134F; CJK Unified Ideographs Extension G
3739 0x31350, // unassigned
3740 0xE0000, // E0000..E007F; Tags
3741 0xE0080, // unassigned
3742 0xE0100, // E0100..E01EF; Variation Selectors Supplement
3743 0xE01F0, // unassigned
3744 0xF0000, // F0000..FFFFF; Supplementary Private Use Area-A
3745 0x100000, // 100000..10FFFF; Supplementary Private Use Area-B
3746 };
3747
3748 private static final UnicodeBlock[] blocks = {
3749 BASIC_LATIN,
3750 LATIN_1_SUPPLEMENT,
3751 LATIN_EXTENDED_A,
3752 LATIN_EXTENDED_B,
3753 IPA_EXTENSIONS,
3754 SPACING_MODIFIER_LETTERS,
3755 COMBINING_DIACRITICAL_MARKS,
3756 GREEK,
3757 CYRILLIC,
3758 CYRILLIC_SUPPLEMENTARY,
3759 ARMENIAN,
3946 LYDIAN,
3947 null,
3948 MEROITIC_HIEROGLYPHS,
3949 MEROITIC_CURSIVE,
3950 KHAROSHTHI,
3951 OLD_SOUTH_ARABIAN,
3952 OLD_NORTH_ARABIAN,
3953 null,
3954 MANICHAEAN,
3955 AVESTAN,
3956 INSCRIPTIONAL_PARTHIAN,
3957 INSCRIPTIONAL_PAHLAVI,
3958 PSALTER_PAHLAVI,
3959 null,
3960 OLD_TURKIC,
3961 null,
3962 OLD_HUNGARIAN,
3963 HANIFI_ROHINGYA,
3964 null,
3965 RUMI_NUMERAL_SYMBOLS,
3966 YEZIDI,
3967 null,
3968 OLD_SOGDIAN,
3969 SOGDIAN,
3970 null,
3971 CHORASMIAN,
3972 ELYMAIC,
3973 BRAHMI,
3974 KAITHI,
3975 SORA_SOMPENG,
3976 CHAKMA,
3977 MAHAJANI,
3978 SHARADA,
3979 SINHALA_ARCHAIC_NUMBERS,
3980 KHOJKI,
3981 null,
3982 MULTANI,
3983 KHUDAWADI,
3984 GRANTHA,
3985 null,
3986 NEWA,
3987 TIRHUTA,
3988 null,
3989 SIDDHAM,
3990 MODI,
3991 MONGOLIAN_SUPPLEMENT,
3992 TAKRI,
3993 null,
3994 AHOM,
3995 null,
3996 DOGRA,
3997 null,
3998 WARANG_CITI,
3999 DIVES_AKURU,
4000 null,
4001 NANDINAGARI,
4002 ZANABAZAR_SQUARE,
4003 SOYOMBO,
4004 null,
4005 PAU_CIN_HAU,
4006 null,
4007 BHAIKSUKI,
4008 MARCHEN,
4009 null,
4010 MASARAM_GONDI,
4011 GUNJALA_GONDI,
4012 null,
4013 MAKASAR,
4014 null,
4015 LISU_SUPPLEMENT,
4016 TAMIL_SUPPLEMENT,
4017 CUNEIFORM,
4018 CUNEIFORM_NUMBERS_AND_PUNCTUATION,
4019 EARLY_DYNASTIC_CUNEIFORM,
4020 null,
4021 EGYPTIAN_HIEROGLYPHS,
4022 EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS,
4023 null,
4024 ANATOLIAN_HIEROGLYPHS,
4025 null,
4026 BAMUM_SUPPLEMENT,
4027 MRO,
4028 null,
4029 BASSA_VAH,
4030 PAHAWH_HMONG,
4031 null,
4032 MEDEFAIDRIN,
4033 null,
4034 MIAO,
4035 null,
4036 IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION,
4037 TANGUT,
4038 TANGUT_COMPONENTS,
4039 KHITAN_SMALL_SCRIPT,
4040 TANGUT_SUPPLEMENT,
4041 null,
4042 KANA_SUPPLEMENT,
4043 KANA_EXTENDED_A,
4044 SMALL_KANA_EXTENSION,
4045 NUSHU,
4046 null,
4047 DUPLOYAN,
4048 SHORTHAND_FORMAT_CONTROLS,
4049 null,
4050 BYZANTINE_MUSICAL_SYMBOLS,
4051 MUSICAL_SYMBOLS,
4052 ANCIENT_GREEK_MUSICAL_NOTATION,
4053 null,
4054 MAYAN_NUMERALS,
4055 TAI_XUAN_JING_SYMBOLS,
4056 COUNTING_ROD_NUMERALS,
4057 null,
4058 MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
4059 SUTTON_SIGNWRITING,
4060 null,
4072 null,
4073 OTTOMAN_SIYAQ_NUMBERS,
4074 null,
4075 ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS,
4076 null,
4077 MAHJONG_TILES,
4078 DOMINO_TILES,
4079 PLAYING_CARDS,
4080 ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
4081 ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
4082 MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
4083 EMOTICONS,
4084 ORNAMENTAL_DINGBATS,
4085 TRANSPORT_AND_MAP_SYMBOLS,
4086 ALCHEMICAL_SYMBOLS,
4087 GEOMETRIC_SHAPES_EXTENDED,
4088 SUPPLEMENTAL_ARROWS_C,
4089 SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS,
4090 CHESS_SYMBOLS,
4091 SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A,
4092 SYMBOLS_FOR_LEGACY_COMPUTING,
4093 null,
4094 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
4095 null,
4096 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
4097 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
4098 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E,
4099 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F,
4100 null,
4101 CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
4102 null,
4103 CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G,
4104 null,
4105 TAGS,
4106 null,
4107 VARIATION_SELECTORS_SUPPLEMENT,
4108 null,
4109 SUPPLEMENTARY_PRIVATE_USE_AREA_A,
4110 SUPPLEMENTARY_PRIVATE_USE_AREA_B,
4111 };
4112
4113
4114 /**
4115 * Returns the object representing the Unicode block containing the
4116 * given character, or {@code null} if the character is not a
4117 * member of a defined block.
4118 *
4119 * <p><b>Note:</b> This method cannot handle
4120 * <a href="Character.html#supplementary"> supplementary
4121 * characters</a>. To support all Unicode characters, including
4122 * supplementary characters, use the {@link #of(int)} method.
4123 *
4124 * @param c The character in question
5032
5033 /**
5034 * Unicode script "Nandinagari".
5035 * @since 13
5036 */
5037 NANDINAGARI,
5038
5039 /**
5040 * Unicode script "Nyiakeng Puachue Hmong".
5041 * @since 13
5042 */
5043 NYIAKENG_PUACHUE_HMONG,
5044
5045 /**
5046 * Unicode script "Wancho".
5047 * @since 13
5048 */
5049 WANCHO,
5050
5051 /**
5052 * Unicode script "Yezidi".
5053 * @since 15
5054 */
5055 YEZIDI,
5056
5057 /**
5058 * Unicode script "Chorasmian".
5059 * @since 15
5060 */
5061 CHORASMIAN,
5062
5063 /**
5064 * Unicode script "Dives Akuru".
5065 * @since 15
5066 */
5067 DIVES_AKURU,
5068
5069 /**
5070 * Unicode script "Khitan Small Script".
5071 * @since 15
5072 */
5073 KHITAN_SMALL_SCRIPT,
5074
5075 /**
5076 * Unicode script "Unknown".
5077 */
5078 UNKNOWN;
5079
5080 private static final int[] scriptStarts = {
5081 0x0000, // 0000..0040; COMMON
5082 0x0041, // 0041..005A; LATIN
5083 0x005B, // 005B..0060; COMMON
5084 0x0061, // 0061..007A; LATIN
5085 0x007B, // 007B..00A9; COMMON
5086 0x00AA, // 00AA ; LATIN
5087 0x00AB, // 00AB..00B9; COMMON
5088 0x00BA, // 00BA ; LATIN
5089 0x00BB, // 00BB..00BF; COMMON
5090 0x00C0, // 00C0..00D6; LATIN
5091 0x00D7, // 00D7 ; COMMON
5092 0x00D8, // 00D8..00F6; LATIN
5093 0x00F7, // 00F7 ; COMMON
5094 0x00F8, // 00F8..02B8; LATIN
5095 0x02B9, // 02B9..02DF; COMMON
5108 0x0380, // 0380..0383; UNKNOWN
5109 0x0384, // 0384 ; GREEK
5110 0x0385, // 0385 ; COMMON
5111 0x0386, // 0386 ; GREEK
5112 0x0387, // 0387 ; COMMON
5113 0x0388, // 0388..038A; GREEK
5114 0x038B, // 038B ; UNKNOWN
5115 0x038C, // 038C ; GREEK
5116 0x038D, // 038D ; UNKNOWN
5117 0x038E, // 038E..03A1; GREEK
5118 0x03A2, // 03A2 ; UNKNOWN
5119 0x03A3, // 03A3..03E1; GREEK
5120 0x03E2, // 03E2..03EF; COPTIC
5121 0x03F0, // 03F0..03FF; GREEK
5122 0x0400, // 0400..0484; CYRILLIC
5123 0x0485, // 0485..0486; INHERITED
5124 0x0487, // 0487..052F; CYRILLIC
5125 0x0530, // 0530 ; UNKNOWN
5126 0x0531, // 0531..0556; ARMENIAN
5127 0x0557, // 0557..0558; UNKNOWN
5128 0x0559, // 0559..058A; ARMENIAN
5129 0x058B, // 058B..058C; UNKNOWN
5130 0x058D, // 058D..058F; ARMENIAN
5131 0x0590, // 0590 ; UNKNOWN
5132 0x0591, // 0591..05C7; HEBREW
5133 0x05C8, // 05C8..05CF; UNKNOWN
5134 0x05D0, // 05D0..05EA; HEBREW
5135 0x05EB, // 05EB..05EE; UNKNOWN
5136 0x05EF, // 05EF..05F4; HEBREW
5137 0x05F5, // 05F5..05FF; UNKNOWN
5138 0x0600, // 0600..0604; ARABIC
5139 0x0605, // 0605 ; COMMON
5140 0x0606, // 0606..060B; ARABIC
5141 0x060C, // 060C ; COMMON
5142 0x060D, // 060D..061A; ARABIC
5143 0x061B, // 061B ; COMMON
5144 0x061C, // 061C ; ARABIC
5145 0x061D, // 061D ; UNKNOWN
5146 0x061E, // 061E ; ARABIC
5147 0x061F, // 061F ; COMMON
5148 0x0620, // 0620..063F; ARABIC
5160 0x074B, // 074B..074C; UNKNOWN
5161 0x074D, // 074D..074F; SYRIAC
5162 0x0750, // 0750..077F; ARABIC
5163 0x0780, // 0780..07B1; THAANA
5164 0x07B2, // 07B2..07BF; UNKNOWN
5165 0x07C0, // 07C0..07FA; NKO
5166 0x07FB, // 07FB..07FC; UNKNOWN
5167 0x07FD, // 07FD..07FF; NKO
5168 0x0800, // 0800..082D; SAMARITAN
5169 0x082E, // 082E..082F; UNKNOWN
5170 0x0830, // 0830..083E; SAMARITAN
5171 0x083F, // 083F ; UNKNOWN
5172 0x0840, // 0840..085B; MANDAIC
5173 0x085C, // 085C..085D; UNKNOWN
5174 0x085E, // 085E ; MANDAIC
5175 0x085F, // 085F ; UNKNOWN
5176 0x0860, // 0860..086A; SYRIAC
5177 0x086B, // 086B..089F; UNKNOWN
5178 0x08A0, // 08A0..08B4; ARABIC
5179 0x08B5, // 08B5 ; UNKNOWN
5180 0x08B6, // 08B6..08C7; ARABIC
5181 0x08C8, // 08C8..08D2; UNKNOWN
5182 0x08D3, // 08D3..08E1; ARABIC
5183 0x08E2, // 08E2 ; COMMON
5184 0x08E3, // 08E3..08FF; ARABIC
5185 0x0900, // 0900..0950; DEVANAGARI
5186 0x0951, // 0951..0954; INHERITED
5187 0x0955, // 0955..0963; DEVANAGARI
5188 0x0964, // 0964..0965; COMMON
5189 0x0966, // 0966..097F; DEVANAGARI
5190 0x0980, // 0980..0983; BENGALI
5191 0x0984, // 0984 ; UNKNOWN
5192 0x0985, // 0985..098C; BENGALI
5193 0x098D, // 098D..098E; UNKNOWN
5194 0x098F, // 098F..0990; BENGALI
5195 0x0991, // 0991..0992; UNKNOWN
5196 0x0993, // 0993..09A8; BENGALI
5197 0x09A9, // 09A9 ; UNKNOWN
5198 0x09AA, // 09AA..09B0; BENGALI
5199 0x09B1, // 09B1 ; UNKNOWN
5200 0x09B2, // 09B2 ; BENGALI
5201 0x09B3, // 09B3..09B5; UNKNOWN
5277 0x0B00, // 0B00 ; UNKNOWN
5278 0x0B01, // 0B01..0B03; ORIYA
5279 0x0B04, // 0B04 ; UNKNOWN
5280 0x0B05, // 0B05..0B0C; ORIYA
5281 0x0B0D, // 0B0D..0B0E; UNKNOWN
5282 0x0B0F, // 0B0F..0B10; ORIYA
5283 0x0B11, // 0B11..0B12; UNKNOWN
5284 0x0B13, // 0B13..0B28; ORIYA
5285 0x0B29, // 0B29 ; UNKNOWN
5286 0x0B2A, // 0B2A..0B30; ORIYA
5287 0x0B31, // 0B31 ; UNKNOWN
5288 0x0B32, // 0B32..0B33; ORIYA
5289 0x0B34, // 0B34 ; UNKNOWN
5290 0x0B35, // 0B35..0B39; ORIYA
5291 0x0B3A, // 0B3A..0B3B; UNKNOWN
5292 0x0B3C, // 0B3C..0B44; ORIYA
5293 0x0B45, // 0B45..0B46; UNKNOWN
5294 0x0B47, // 0B47..0B48; ORIYA
5295 0x0B49, // 0B49..0B4A; UNKNOWN
5296 0x0B4B, // 0B4B..0B4D; ORIYA
5297 0x0B4E, // 0B4E..0B54; UNKNOWN
5298 0x0B55, // 0B55..0B57; ORIYA
5299 0x0B58, // 0B58..0B5B; UNKNOWN
5300 0x0B5C, // 0B5C..0B5D; ORIYA
5301 0x0B5E, // 0B5E ; UNKNOWN
5302 0x0B5F, // 0B5F..0B63; ORIYA
5303 0x0B64, // 0B64..0B65; UNKNOWN
5304 0x0B66, // 0B66..0B77; ORIYA
5305 0x0B78, // 0B78..0B81; UNKNOWN
5306 0x0B82, // 0B82..0B83; TAMIL
5307 0x0B84, // 0B84 ; UNKNOWN
5308 0x0B85, // 0B85..0B8A; TAMIL
5309 0x0B8B, // 0B8B..0B8D; UNKNOWN
5310 0x0B8E, // 0B8E..0B90; TAMIL
5311 0x0B91, // 0B91 ; UNKNOWN
5312 0x0B92, // 0B92..0B95; TAMIL
5313 0x0B96, // 0B96..0B98; UNKNOWN
5314 0x0B99, // 0B99..0B9A; TAMIL
5315 0x0B9B, // 0B9B ; UNKNOWN
5316 0x0B9C, // 0B9C ; TAMIL
5317 0x0B9D, // 0B9D ; UNKNOWN
5318 0x0B9E, // 0B9E..0B9F; TAMIL
5367 0x0CAA, // 0CAA..0CB3; KANNADA
5368 0x0CB4, // 0CB4 ; UNKNOWN
5369 0x0CB5, // 0CB5..0CB9; KANNADA
5370 0x0CBA, // 0CBA..0CBB; UNKNOWN
5371 0x0CBC, // 0CBC..0CC4; KANNADA
5372 0x0CC5, // 0CC5 ; UNKNOWN
5373 0x0CC6, // 0CC6..0CC8; KANNADA
5374 0x0CC9, // 0CC9 ; UNKNOWN
5375 0x0CCA, // 0CCA..0CCD; KANNADA
5376 0x0CCE, // 0CCE..0CD4; UNKNOWN
5377 0x0CD5, // 0CD5..0CD6; KANNADA
5378 0x0CD7, // 0CD7..0CDD; UNKNOWN
5379 0x0CDE, // 0CDE ; KANNADA
5380 0x0CDF, // 0CDF ; UNKNOWN
5381 0x0CE0, // 0CE0..0CE3; KANNADA
5382 0x0CE4, // 0CE4..0CE5; UNKNOWN
5383 0x0CE6, // 0CE6..0CEF; KANNADA
5384 0x0CF0, // 0CF0 ; UNKNOWN
5385 0x0CF1, // 0CF1..0CF2; KANNADA
5386 0x0CF3, // 0CF3..0CFF; UNKNOWN
5387 0x0D00, // 0D00..0D0C; MALAYALAM
5388 0x0D0D, // 0D0D ; UNKNOWN
5389 0x0D0E, // 0D0E..0D10; MALAYALAM
5390 0x0D11, // 0D11 ; UNKNOWN
5391 0x0D12, // 0D12..0D44; MALAYALAM
5392 0x0D45, // 0D45 ; UNKNOWN
5393 0x0D46, // 0D46..0D48; MALAYALAM
5394 0x0D49, // 0D49 ; UNKNOWN
5395 0x0D4A, // 0D4A..0D4F; MALAYALAM
5396 0x0D50, // 0D50..0D53; UNKNOWN
5397 0x0D54, // 0D54..0D63; MALAYALAM
5398 0x0D64, // 0D64..0D65; UNKNOWN
5399 0x0D66, // 0D66..0D7F; MALAYALAM
5400 0x0D80, // 0D80 ; UNKNOWN
5401 0x0D81, // 0D81..0D83; SINHALA
5402 0x0D84, // 0D84 ; UNKNOWN
5403 0x0D85, // 0D85..0D96; SINHALA
5404 0x0D97, // 0D97..0D99; UNKNOWN
5405 0x0D9A, // 0D9A..0DB1; SINHALA
5406 0x0DB2, // 0DB2 ; UNKNOWN
5407 0x0DB3, // 0DB3..0DBB; SINHALA
5408 0x0DBC, // 0DBC ; UNKNOWN
5409 0x0DBD, // 0DBD ; SINHALA
5410 0x0DBE, // 0DBE..0DBF; UNKNOWN
5411 0x0DC0, // 0DC0..0DC6; SINHALA
5412 0x0DC7, // 0DC7..0DC9; UNKNOWN
5413 0x0DCA, // 0DCA ; SINHALA
5414 0x0DCB, // 0DCB..0DCE; UNKNOWN
5415 0x0DCF, // 0DCF..0DD4; SINHALA
5416 0x0DD5, // 0DD5 ; UNKNOWN
5417 0x0DD6, // 0DD6 ; SINHALA
5418 0x0DD7, // 0DD7 ; UNKNOWN
5419 0x0DD8, // 0DD8..0DDF; SINHALA
5420 0x0DE0, // 0DE0..0DE5; UNKNOWN
5421 0x0DE6, // 0DE6..0DEF; SINHALA
5573 0x19AC, // 19AC..19AF; UNKNOWN
5574 0x19B0, // 19B0..19C9; NEW_TAI_LUE
5575 0x19CA, // 19CA..19CF; UNKNOWN
5576 0x19D0, // 19D0..19DA; NEW_TAI_LUE
5577 0x19DB, // 19DB..19DD; UNKNOWN
5578 0x19DE, // 19DE..19DF; NEW_TAI_LUE
5579 0x19E0, // 19E0..19FF; KHMER
5580 0x1A00, // 1A00..1A1B; BUGINESE
5581 0x1A1C, // 1A1C..1A1D; UNKNOWN
5582 0x1A1E, // 1A1E..1A1F; BUGINESE
5583 0x1A20, // 1A20..1A5E; TAI_THAM
5584 0x1A5F, // 1A5F ; UNKNOWN
5585 0x1A60, // 1A60..1A7C; TAI_THAM
5586 0x1A7D, // 1A7D..1A7E; UNKNOWN
5587 0x1A7F, // 1A7F..1A89; TAI_THAM
5588 0x1A8A, // 1A8A..1A8F; UNKNOWN
5589 0x1A90, // 1A90..1A99; TAI_THAM
5590 0x1A9A, // 1A9A..1A9F; UNKNOWN
5591 0x1AA0, // 1AA0..1AAD; TAI_THAM
5592 0x1AAE, // 1AAE..1AAF; UNKNOWN
5593 0x1AB0, // 1AB0..1AC0; INHERITED
5594 0x1AC1, // 1AC1..1AFF; UNKNOWN
5595 0x1B00, // 1B00..1B4B; BALINESE
5596 0x1B4C, // 1B4C..1B4F; UNKNOWN
5597 0x1B50, // 1B50..1B7C; BALINESE
5598 0x1B7D, // 1B7D..1B7F; UNKNOWN
5599 0x1B80, // 1B80..1BBF; SUNDANESE
5600 0x1BC0, // 1BC0..1BF3; BATAK
5601 0x1BF4, // 1BF4..1BFB; UNKNOWN
5602 0x1BFC, // 1BFC..1BFF; BATAK
5603 0x1C00, // 1C00..1C37; LEPCHA
5604 0x1C38, // 1C38..1C3A; UNKNOWN
5605 0x1C3B, // 1C3B..1C49; LEPCHA
5606 0x1C4A, // 1C4A..1C4C; UNKNOWN
5607 0x1C4D, // 1C4D..1C4F; LEPCHA
5608 0x1C50, // 1C50..1C7F; OL_CHIKI
5609 0x1C80, // 1C80..1C88; CYRILLIC
5610 0x1C89, // 1C89..1C8F; UNKNOWN
5611 0x1C90, // 1C90..1CBA; GEORGIAN
5612 0x1CBB, // 1CBB..1CBC; UNKNOWN
5613 0x1CBD, // 1CBD..1CBF; GEORGIAN
5614 0x1CC0, // 1CC0..1CC7; SUNDANESE
5694 0x2126, // 2126 ; GREEK
5695 0x2127, // 2127..2129; COMMON
5696 0x212A, // 212A..212B; LATIN
5697 0x212C, // 212C..2131; COMMON
5698 0x2132, // 2132 ; LATIN
5699 0x2133, // 2133..214D; COMMON
5700 0x214E, // 214E ; LATIN
5701 0x214F, // 214F..215F; COMMON
5702 0x2160, // 2160..2188; LATIN
5703 0x2189, // 2189..218B; COMMON
5704 0x218C, // 218C..218F; UNKNOWN
5705 0x2190, // 2190..2426; COMMON
5706 0x2427, // 2427..243F; UNKNOWN
5707 0x2440, // 2440..244A; COMMON
5708 0x244B, // 244B..245F; UNKNOWN
5709 0x2460, // 2460..27FF; COMMON
5710 0x2800, // 2800..28FF; BRAILLE
5711 0x2900, // 2900..2B73; COMMON
5712 0x2B74, // 2B74..2B75; UNKNOWN
5713 0x2B76, // 2B76..2B95; COMMON
5714 0x2B96, // 2B96 ; UNKNOWN
5715 0x2B97, // 2B97..2BFF; COMMON
5716 0x2C00, // 2C00..2C2E; GLAGOLITIC
5717 0x2C2F, // 2C2F ; UNKNOWN
5718 0x2C30, // 2C30..2C5E; GLAGOLITIC
5719 0x2C5F, // 2C5F ; UNKNOWN
5720 0x2C60, // 2C60..2C7F; LATIN
5721 0x2C80, // 2C80..2CF3; COPTIC
5722 0x2CF4, // 2CF4..2CF8; UNKNOWN
5723 0x2CF9, // 2CF9..2CFF; COPTIC
5724 0x2D00, // 2D00..2D25; GEORGIAN
5725 0x2D26, // 2D26 ; UNKNOWN
5726 0x2D27, // 2D27 ; GEORGIAN
5727 0x2D28, // 2D28..2D2C; UNKNOWN
5728 0x2D2D, // 2D2D ; GEORGIAN
5729 0x2D2E, // 2D2E..2D2F; UNKNOWN
5730 0x2D30, // 2D30..2D67; TIFINAGH
5731 0x2D68, // 2D68..2D6E; UNKNOWN
5732 0x2D6F, // 2D6F..2D70; TIFINAGH
5733 0x2D71, // 2D71..2D7E; UNKNOWN
5734 0x2D7F, // 2D7F ; TIFINAGH
5735 0x2D80, // 2D80..2D96; ETHIOPIC
5736 0x2D97, // 2D97..2D9F; UNKNOWN
5737 0x2DA0, // 2DA0..2DA6; ETHIOPIC
5738 0x2DA7, // 2DA7 ; UNKNOWN
5739 0x2DA8, // 2DA8..2DAE; ETHIOPIC
5740 0x2DAF, // 2DAF ; UNKNOWN
5741 0x2DB0, // 2DB0..2DB6; ETHIOPIC
5742 0x2DB7, // 2DB7 ; UNKNOWN
5743 0x2DB8, // 2DB8..2DBE; ETHIOPIC
5744 0x2DBF, // 2DBF ; UNKNOWN
5745 0x2DC0, // 2DC0..2DC6; ETHIOPIC
5746 0x2DC7, // 2DC7 ; UNKNOWN
5747 0x2DC8, // 2DC8..2DCE; ETHIOPIC
5748 0x2DCF, // 2DCF ; UNKNOWN
5749 0x2DD0, // 2DD0..2DD6; ETHIOPIC
5750 0x2DD7, // 2DD7 ; UNKNOWN
5751 0x2DD8, // 2DD8..2DDE; ETHIOPIC
5752 0x2DDF, // 2DDF ; UNKNOWN
5753 0x2DE0, // 2DE0..2DFF; CYRILLIC
5754 0x2E00, // 2E00..2E52; COMMON
5755 0x2E53, // 2E53..2E7F; UNKNOWN
5756 0x2E80, // 2E80..2E99; HAN
5757 0x2E9A, // 2E9A ; UNKNOWN
5758 0x2E9B, // 2E9B..2EF3; HAN
5759 0x2EF4, // 2EF4..2EFF; UNKNOWN
5760 0x2F00, // 2F00..2FD5; HAN
5761 0x2FD6, // 2FD6..2FEF; UNKNOWN
5762 0x2FF0, // 2FF0..2FFB; COMMON
5763 0x2FFC, // 2FFC..2FFF; UNKNOWN
5764 0x3000, // 3000..3004; COMMON
5765 0x3005, // 3005 ; HAN
5766 0x3006, // 3006 ; COMMON
5767 0x3007, // 3007 ; HAN
5768 0x3008, // 3008..3020; COMMON
5769 0x3021, // 3021..3029; HAN
5770 0x302A, // 302A..302D; INHERITED
5771 0x302E, // 302E..302F; HANGUL
5772 0x3030, // 3030..3037; COMMON
5773 0x3038, // 3038..303B; HAN
5774 0x303C, // 303C..303F; COMMON
5775 0x3040, // 3040 ; UNKNOWN
5776 0x3041, // 3041..3096; HIRAGANA
5777 0x3097, // 3097..3098; UNKNOWN
5778 0x3099, // 3099..309A; INHERITED
5779 0x309B, // 309B..309C; COMMON
5780 0x309D, // 309D..309F; HIRAGANA
5781 0x30A0, // 30A0 ; COMMON
5782 0x30A1, // 30A1..30FA; KATAKANA
5783 0x30FB, // 30FB..30FC; COMMON
5784 0x30FD, // 30FD..30FF; KATAKANA
5785 0x3100, // 3100..3104; UNKNOWN
5786 0x3105, // 3105..312F; BOPOMOFO
5787 0x3130, // 3130 ; UNKNOWN
5788 0x3131, // 3131..318E; HANGUL
5789 0x318F, // 318F ; UNKNOWN
5790 0x3190, // 3190..319F; COMMON
5791 0x31A0, // 31A0..31BF; BOPOMOFO
5792 0x31C0, // 31C0..31E3; COMMON
5793 0x31E4, // 31E4..31EF; UNKNOWN
5794 0x31F0, // 31F0..31FF; KATAKANA
5795 0x3200, // 3200..321E; HANGUL
5796 0x321F, // 321F ; UNKNOWN
5797 0x3220, // 3220..325F; COMMON
5798 0x3260, // 3260..327E; HANGUL
5799 0x327F, // 327F..32CF; COMMON
5800 0x32D0, // 32D0..32FE; KATAKANA
5801 0x32FF, // 32FF ; COMMON
5802 0x3300, // 3300..3357; KATAKANA
5803 0x3358, // 3358..33FF; COMMON
5804 0x3400, // 3400..4DBF; HAN
5805 0x4DC0, // 4DC0..4DFF; COMMON
5806 0x4E00, // 4E00..9FFC; HAN
5807 0x9FFD, // 9FFD..9FFF; UNKNOWN
5808 0xA000, // A000..A48C; YI
5809 0xA48D, // A48D..A48F; UNKNOWN
5810 0xA490, // A490..A4C6; YI
5811 0xA4C7, // A4C7..A4CF; UNKNOWN
5812 0xA4D0, // A4D0..A4FF; LISU
5813 0xA500, // A500..A62B; VAI
5814 0xA62C, // A62C..A63F; UNKNOWN
5815 0xA640, // A640..A69F; CYRILLIC
5816 0xA6A0, // A6A0..A6F7; BAMUM
5817 0xA6F8, // A6F8..A6FF; UNKNOWN
5818 0xA700, // A700..A721; COMMON
5819 0xA722, // A722..A787; LATIN
5820 0xA788, // A788..A78A; COMMON
5821 0xA78B, // A78B..A7BF; LATIN
5822 0xA7C0, // A7C0..A7C1; UNKNOWN
5823 0xA7C2, // A7C2..A7CA; LATIN
5824 0xA7CB, // A7CB..A7F4; UNKNOWN
5825 0xA7F5, // A7F5..A7FF; LATIN
5826 0xA800, // A800..A82C; SYLOTI_NAGRI
5827 0xA82D, // A82D..A82F; UNKNOWN
5828 0xA830, // A830..A839; COMMON
5829 0xA83A, // A83A..A83F; UNKNOWN
5830 0xA840, // A840..A877; PHAGS_PA
5831 0xA878, // A878..A87F; UNKNOWN
5832 0xA880, // A880..A8C5; SAURASHTRA
5833 0xA8C6, // A8C6..A8CD; UNKNOWN
5834 0xA8CE, // A8CE..A8D9; SAURASHTRA
5835 0xA8DA, // A8DA..A8DF; UNKNOWN
5836 0xA8E0, // A8E0..A8FF; DEVANAGARI
5837 0xA900, // A900..A92D; KAYAH_LI
5838 0xA92E, // A92E ; COMMON
5839 0xA92F, // A92F ; KAYAH_LI
5840 0xA930, // A930..A953; REJANG
5841 0xA954, // A954..A95E; UNKNOWN
5842 0xA95F, // A95F ; REJANG
5843 0xA960, // A960..A97C; HANGUL
5844 0xA97D, // A97D..A97F; UNKNOWN
5845 0xA980, // A980..A9CD; JAVANESE
5846 0xA9CE, // A9CE ; UNKNOWN
5847 0xA9CF, // A9CF ; COMMON
5860 0xAA60, // AA60..AA7F; MYANMAR
5861 0xAA80, // AA80..AAC2; TAI_VIET
5862 0xAAC3, // AAC3..AADA; UNKNOWN
5863 0xAADB, // AADB..AADF; TAI_VIET
5864 0xAAE0, // AAE0..AAF6; MEETEI_MAYEK
5865 0xAAF7, // AAF7..AB00; UNKNOWN
5866 0xAB01, // AB01..AB06; ETHIOPIC
5867 0xAB07, // AB07..AB08; UNKNOWN
5868 0xAB09, // AB09..AB0E; ETHIOPIC
5869 0xAB0F, // AB0F..AB10; UNKNOWN
5870 0xAB11, // AB11..AB16; ETHIOPIC
5871 0xAB17, // AB17..AB1F; UNKNOWN
5872 0xAB20, // AB20..AB26; ETHIOPIC
5873 0xAB27, // AB27 ; UNKNOWN
5874 0xAB28, // AB28..AB2E; ETHIOPIC
5875 0xAB2F, // AB2F ; UNKNOWN
5876 0xAB30, // AB30..AB5A; LATIN
5877 0xAB5B, // AB5B ; COMMON
5878 0xAB5C, // AB5C..AB64; LATIN
5879 0xAB65, // AB65 ; GREEK
5880 0xAB66, // AB66..AB69; LATIN
5881 0xAB6A, // AB6A..AB6B; COMMON
5882 0xAB6C, // AB6C..AB6F; UNKNOWN
5883 0xAB70, // AB70..ABBF; CHEROKEE
5884 0xABC0, // ABC0..ABED; MEETEI_MAYEK
5885 0xABEE, // ABEE..ABEF; UNKNOWN
5886 0xABF0, // ABF0..ABF9; MEETEI_MAYEK
5887 0xABFA, // ABFA..ABFF; UNKNOWN
5888 0xAC00, // AC00..D7A3; HANGUL
5889 0xD7A4, // D7A4..D7AF; UNKNOWN
5890 0xD7B0, // D7B0..D7C6; HANGUL
5891 0xD7C7, // D7C7..D7CA; UNKNOWN
5892 0xD7CB, // D7CB..D7FB; HANGUL
5893 0xD7FC, // D7FC..F8FF; UNKNOWN
5894 0xF900, // F900..FA6D; HAN
5895 0xFA6E, // FA6E..FA6F; UNKNOWN
5896 0xFA70, // FA70..FAD9; HAN
5897 0xFADA, // FADA..FAFF; UNKNOWN
5898 0xFB00, // FB00..FB06; LATIN
5899 0xFB07, // FB07..FB12; UNKNOWN
5900 0xFB13, // FB13..FB17; ARMENIAN
5901 0xFB18, // FB18..FB1C; UNKNOWN
5902 0xFB1D, // FB1D..FB36; HEBREW
5967 0x1000C, // 1000C ; UNKNOWN
5968 0x1000D, // 1000D..10026; LINEAR_B
5969 0x10027, // 10027 ; UNKNOWN
5970 0x10028, // 10028..1003A; LINEAR_B
5971 0x1003B, // 1003B ; UNKNOWN
5972 0x1003C, // 1003C..1003D; LINEAR_B
5973 0x1003E, // 1003E ; UNKNOWN
5974 0x1003F, // 1003F..1004D; LINEAR_B
5975 0x1004E, // 1004E..1004F; UNKNOWN
5976 0x10050, // 10050..1005D; LINEAR_B
5977 0x1005E, // 1005E..1007F; UNKNOWN
5978 0x10080, // 10080..100FA; LINEAR_B
5979 0x100FB, // 100FB..100FF; UNKNOWN
5980 0x10100, // 10100..10102; COMMON
5981 0x10103, // 10103..10106; UNKNOWN
5982 0x10107, // 10107..10133; COMMON
5983 0x10134, // 10134..10136; UNKNOWN
5984 0x10137, // 10137..1013F; COMMON
5985 0x10140, // 10140..1018E; GREEK
5986 0x1018F, // 1018F ; UNKNOWN
5987 0x10190, // 10190..1019C; COMMON
5988 0x1019D, // 1019D..1019F; UNKNOWN
5989 0x101A0, // 101A0 ; GREEK
5990 0x101A1, // 101A1..101CF; UNKNOWN
5991 0x101D0, // 101D0..101FC; COMMON
5992 0x101FD, // 101FD ; INHERITED
5993 0x101FE, // 101FE..1027F; UNKNOWN
5994 0x10280, // 10280..1029C; LYCIAN
5995 0x1029D, // 1029D..1029F; UNKNOWN
5996 0x102A0, // 102A0..102D0; CARIAN
5997 0x102D1, // 102D1..102DF; UNKNOWN
5998 0x102E0, // 102E0 ; INHERITED
5999 0x102E1, // 102E1..102FB; COMMON
6000 0x102FC, // 102FC..102FF; UNKNOWN
6001 0x10300, // 10300..10323; OLD_ITALIC
6002 0x10324, // 10324..1032C; UNKNOWN
6003 0x1032D, // 1032D..1032F; OLD_ITALIC
6004 0x10330, // 10330..1034A; GOTHIC
6005 0x1034B, // 1034B..1034F; UNKNOWN
6006 0x10350, // 10350..1037A; OLD_PERMIC
6007 0x1037B, // 1037B..1037F; UNKNOWN
6008 0x10380, // 10380..1039D; UGARITIC
6104 0x10B73, // 10B73..10B77; UNKNOWN
6105 0x10B78, // 10B78..10B7F; INSCRIPTIONAL_PAHLAVI
6106 0x10B80, // 10B80..10B91; PSALTER_PAHLAVI
6107 0x10B92, // 10B92..10B98; UNKNOWN
6108 0x10B99, // 10B99..10B9C; PSALTER_PAHLAVI
6109 0x10B9D, // 10B9D..10BA8; UNKNOWN
6110 0x10BA9, // 10BA9..10BAF; PSALTER_PAHLAVI
6111 0x10BB0, // 10BB0..10BFF; UNKNOWN
6112 0x10C00, // 10C00..10C48; OLD_TURKIC
6113 0x10C49, // 10C49..10C7F; UNKNOWN
6114 0x10C80, // 10C80..10CB2; OLD_HUNGARIAN
6115 0x10CB3, // 10CB3..10CBF; UNKNOWN
6116 0x10CC0, // 10CC0..10CF2; OLD_HUNGARIAN
6117 0x10CF3, // 10CF3..10CF9; UNKNOWN
6118 0x10CFA, // 10CFA..10CFF; OLD_HUNGARIAN
6119 0x10D00, // 10D00..10D27; HANIFI_ROHINGYA
6120 0x10D28, // 10D28..10D2F; UNKNOWN
6121 0x10D30, // 10D30..10D39; HANIFI_ROHINGYA
6122 0x10D3A, // 10D3A..10E5F; UNKNOWN
6123 0x10E60, // 10E60..10E7E; ARABIC
6124 0x10E7F, // 10E7F ; UNKNOWN
6125 0x10E80, // 10E80..10EA9; YEZIDI
6126 0x10EAA, // 10EAA ; UNKNOWN
6127 0x10EAB, // 10EAB..10EAD; YEZIDI
6128 0x10EAE, // 10EAE..10EAF; UNKNOWN
6129 0x10EB0, // 10EB0..10EB1; YEZIDI
6130 0x10EB2, // 10EB2..10EFF; UNKNOWN
6131 0x10F00, // 10F00..10F27; OLD_SOGDIAN
6132 0x10F28, // 10F28..10F2F; UNKNOWN
6133 0x10F30, // 10F30..10F59; SOGDIAN
6134 0x10F5A, // 10F5A..10FAF; UNKNOWN
6135 0x10FB0, // 10FB0..10FCB; CHORASMIAN
6136 0x10FCC, // 10FCC..10FDF; UNKNOWN
6137 0x10FE0, // 10FE0..10FF6; ELYMAIC
6138 0x10FF7, // 10FF7..10FFF; UNKNOWN
6139 0x11000, // 11000..1104D; BRAHMI
6140 0x1104E, // 1104E..11051; UNKNOWN
6141 0x11052, // 11052..1106F; BRAHMI
6142 0x11070, // 11070..1107E; UNKNOWN
6143 0x1107F, // 1107F ; BRAHMI
6144 0x11080, // 11080..110C1; KAITHI
6145 0x110C2, // 110C2..110CC; UNKNOWN
6146 0x110CD, // 110CD ; KAITHI
6147 0x110CE, // 110CE..110CF; UNKNOWN
6148 0x110D0, // 110D0..110E8; SORA_SOMPENG
6149 0x110E9, // 110E9..110EF; UNKNOWN
6150 0x110F0, // 110F0..110F9; SORA_SOMPENG
6151 0x110FA, // 110FA..110FF; UNKNOWN
6152 0x11100, // 11100..11134; CHAKMA
6153 0x11135, // 11135 ; UNKNOWN
6154 0x11136, // 11136..11147; CHAKMA
6155 0x11148, // 11148..1114F; UNKNOWN
6156 0x11150, // 11150..11176; MAHAJANI
6157 0x11177, // 11177..1117F; UNKNOWN
6158 0x11180, // 11180..111DF; SHARADA
6159 0x111E0, // 111E0 ; UNKNOWN
6160 0x111E1, // 111E1..111F4; SINHALA
6161 0x111F5, // 111F5..111FF; UNKNOWN
6162 0x11200, // 11200..11211; KHOJKI
6163 0x11212, // 11212 ; UNKNOWN
6164 0x11213, // 11213..1123E; KHOJKI
6165 0x1123F, // 1123F..1127F; UNKNOWN
6166 0x11280, // 11280..11286; MULTANI
6167 0x11287, // 11287 ; UNKNOWN
6168 0x11288, // 11288 ; MULTANI
6169 0x11289, // 11289 ; UNKNOWN
6170 0x1128A, // 1128A..1128D; MULTANI
6171 0x1128E, // 1128E ; UNKNOWN
6172 0x1128F, // 1128F..1129D; MULTANI
6173 0x1129E, // 1129E ; UNKNOWN
6174 0x1129F, // 1129F..112A9; MULTANI
6175 0x112AA, // 112AA..112AF; UNKNOWN
6176 0x112B0, // 112B0..112EA; KHUDAWADI
6177 0x112EB, // 112EB..112EF; UNKNOWN
6178 0x112F0, // 112F0..112F9; KHUDAWADI
6191 0x11334, // 11334 ; UNKNOWN
6192 0x11335, // 11335..11339; GRANTHA
6193 0x1133A, // 1133A ; UNKNOWN
6194 0x1133B, // 1133B ; INHERITED
6195 0x1133C, // 1133C..11344; GRANTHA
6196 0x11345, // 11345..11346; UNKNOWN
6197 0x11347, // 11347..11348; GRANTHA
6198 0x11349, // 11349..1134A; UNKNOWN
6199 0x1134B, // 1134B..1134D; GRANTHA
6200 0x1134E, // 1134E..1134F; UNKNOWN
6201 0x11350, // 11350 ; GRANTHA
6202 0x11351, // 11351..11356; UNKNOWN
6203 0x11357, // 11357 ; GRANTHA
6204 0x11358, // 11358..1135C; UNKNOWN
6205 0x1135D, // 1135D..11363; GRANTHA
6206 0x11364, // 11364..11365; UNKNOWN
6207 0x11366, // 11366..1136C; GRANTHA
6208 0x1136D, // 1136D..1136F; UNKNOWN
6209 0x11370, // 11370..11374; GRANTHA
6210 0x11375, // 11375..113FF; UNKNOWN
6211 0x11400, // 11400..1145B; NEWA
6212 0x1145C, // 1145C ; UNKNOWN
6213 0x1145D, // 1145D..11461; NEWA
6214 0x11462, // 11462..1147F; UNKNOWN
6215 0x11480, // 11480..114C7; TIRHUTA
6216 0x114C8, // 114C8..114CF; UNKNOWN
6217 0x114D0, // 114D0..114D9; TIRHUTA
6218 0x114DA, // 114DA..1157F; UNKNOWN
6219 0x11580, // 11580..115B5; SIDDHAM
6220 0x115B6, // 115B6..115B7; UNKNOWN
6221 0x115B8, // 115B8..115DD; SIDDHAM
6222 0x115DE, // 115DE..115FF; UNKNOWN
6223 0x11600, // 11600..11644; MODI
6224 0x11645, // 11645..1164F; UNKNOWN
6225 0x11650, // 11650..11659; MODI
6226 0x1165A, // 1165A..1165F; UNKNOWN
6227 0x11660, // 11660..1166C; MONGOLIAN
6228 0x1166D, // 1166D..1167F; UNKNOWN
6229 0x11680, // 11680..116B8; TAKRI
6230 0x116B9, // 116B9..116BF; UNKNOWN
6231 0x116C0, // 116C0..116C9; TAKRI
6232 0x116CA, // 116CA..116FF; UNKNOWN
6233 0x11700, // 11700..1171A; AHOM
6234 0x1171B, // 1171B..1171C; UNKNOWN
6235 0x1171D, // 1171D..1172B; AHOM
6236 0x1172C, // 1172C..1172F; UNKNOWN
6237 0x11730, // 11730..1173F; AHOM
6238 0x11740, // 11740..117FF; UNKNOWN
6239 0x11800, // 11800..1183B; DOGRA
6240 0x1183C, // 1183C..1189F; UNKNOWN
6241 0x118A0, // 118A0..118F2; WARANG_CITI
6242 0x118F3, // 118F3..118FE; UNKNOWN
6243 0x118FF, // 118FF ; WARANG_CITI
6244 0x11900, // 11900..11906; DIVES_AKURU
6245 0x11907, // 11907..11908; UNKNOWN
6246 0x11909, // 11909 ; DIVES_AKURU
6247 0x1190A, // 1190A..1190B; UNKNOWN
6248 0x1190C, // 1190C..11913; DIVES_AKURU
6249 0x11914, // 11914 ; UNKNOWN
6250 0x11915, // 11915..11916; DIVES_AKURU
6251 0x11917, // 11917 ; UNKNOWN
6252 0x11918, // 11918..11935; DIVES_AKURU
6253 0x11936, // 11936 ; UNKNOWN
6254 0x11937, // 11937..11938; DIVES_AKURU
6255 0x11939, // 11939..1193A; UNKNOWN
6256 0x1193B, // 1193B..11946; DIVES_AKURU
6257 0x11947, // 11947..1194F; UNKNOWN
6258 0x11950, // 11950..11959; DIVES_AKURU
6259 0x1195A, // 1195A..1199F; UNKNOWN
6260 0x119A0, // 119A0..119A7; NANDINAGARI
6261 0x119A8, // 119A8..119A9; UNKNOWN
6262 0x119AA, // 119AA..119D7; NANDINAGARI
6263 0x119D8, // 119D8..119D9; UNKNOWN
6264 0x119DA, // 119DA..119E4; NANDINAGARI
6265 0x119E5, // 119E5..119FF; UNKNOWN
6266 0x11A00, // 11A00..11A47; ZANABAZAR_SQUARE
6267 0x11A48, // 11A48..11A4F; UNKNOWN
6268 0x11A50, // 11A50..11AA2; SOYOMBO
6269 0x11AA3, // 11AA3..11ABF; UNKNOWN
6270 0x11AC0, // 11AC0..11AF8; PAU_CIN_HAU
6271 0x11AF9, // 11AF9..11BFF; UNKNOWN
6272 0x11C00, // 11C00..11C08; BHAIKSUKI
6273 0x11C09, // 11C09 ; UNKNOWN
6274 0x11C0A, // 11C0A..11C36; BHAIKSUKI
6275 0x11C37, // 11C37 ; UNKNOWN
6276 0x11C38, // 11C38..11C45; BHAIKSUKI
6277 0x11C46, // 11C46..11C4F; UNKNOWN
6278 0x11C50, // 11C50..11C6C; BHAIKSUKI
6279 0x11C6D, // 11C6D..11C6F; UNKNOWN
6293 0x11D3B, // 11D3B ; UNKNOWN
6294 0x11D3C, // 11D3C..11D3D; MASARAM_GONDI
6295 0x11D3E, // 11D3E ; UNKNOWN
6296 0x11D3F, // 11D3F..11D47; MASARAM_GONDI
6297 0x11D48, // 11D48..11D4F; UNKNOWN
6298 0x11D50, // 11D50..11D59; MASARAM_GONDI
6299 0x11D5A, // 11D5A..11D5F; UNKNOWN
6300 0x11D60, // 11D60..11D65; GUNJALA_GONDI
6301 0x11D66, // 11D66 ; UNKNOWN
6302 0x11D67, // 11D67..11D68; GUNJALA_GONDI
6303 0x11D69, // 11D69 ; UNKNOWN
6304 0x11D6A, // 11D6A..11D8E; GUNJALA_GONDI
6305 0x11D8F, // 11D8F ; UNKNOWN
6306 0x11D90, // 11D90..11D91; GUNJALA_GONDI
6307 0x11D92, // 11D92 ; UNKNOWN
6308 0x11D93, // 11D93..11D98; GUNJALA_GONDI
6309 0x11D99, // 11D99..11D9F; UNKNOWN
6310 0x11DA0, // 11DA0..11DA9; GUNJALA_GONDI
6311 0x11DAA, // 11DAA..11EDF; UNKNOWN
6312 0x11EE0, // 11EE0..11EF8; MAKASAR
6313 0x11EF9, // 11EF9..11FAF; UNKNOWN
6314 0x11FB0, // 11FB0 ; LISU
6315 0x11FB1, // 11FB1..11FBF; UNKNOWN
6316 0x11FC0, // 11FC0..11FF1; TAMIL
6317 0x11FF2, // 11FF2..11FFE; UNKNOWN
6318 0x11FFF, // 11FFF ; TAMIL
6319 0x12000, // 12000..12399; CUNEIFORM
6320 0x1239A, // 1239A..123FF; UNKNOWN
6321 0x12400, // 12400..1246E; CUNEIFORM
6322 0x1246F, // 1246F ; UNKNOWN
6323 0x12470, // 12470..12474; CUNEIFORM
6324 0x12475, // 12475..1247F; UNKNOWN
6325 0x12480, // 12480..12543; CUNEIFORM
6326 0x12544, // 12544..12FFF; UNKNOWN
6327 0x13000, // 13000..1342E; EGYPTIAN_HIEROGLYPHS
6328 0x1342F, // 1342F ; UNKNOWN
6329 0x13430, // 13430..13438; EGYPTIAN_HIEROGLYPHS
6330 0x13439, // 13439..143FF; UNKNOWN
6331 0x14400, // 14400..14646; ANATOLIAN_HIEROGLYPHS
6332 0x14647, // 14647..167FF; UNKNOWN
6333 0x16800, // 16800..16A38; BAMUM
6334 0x16A39, // 16A39..16A3F; UNKNOWN
6335 0x16A40, // 16A40..16A5E; MRO
6346 0x16B46, // 16B46..16B4F; UNKNOWN
6347 0x16B50, // 16B50..16B59; PAHAWH_HMONG
6348 0x16B5A, // 16B5A ; UNKNOWN
6349 0x16B5B, // 16B5B..16B61; PAHAWH_HMONG
6350 0x16B62, // 16B62 ; UNKNOWN
6351 0x16B63, // 16B63..16B77; PAHAWH_HMONG
6352 0x16B78, // 16B78..16B7C; UNKNOWN
6353 0x16B7D, // 16B7D..16B8F; PAHAWH_HMONG
6354 0x16B90, // 16B90..16E3F; UNKNOWN
6355 0x16E40, // 16E40..16E9A; MEDEFAIDRIN
6356 0x16E9B, // 16E9B..16EFF; UNKNOWN
6357 0x16F00, // 16F00..16F4A; MIAO
6358 0x16F4B, // 16F4B..16F4E; UNKNOWN
6359 0x16F4F, // 16F4F..16F87; MIAO
6360 0x16F88, // 16F88..16F8E; UNKNOWN
6361 0x16F8F, // 16F8F..16F9F; MIAO
6362 0x16FA0, // 16FA0..16FDF; UNKNOWN
6363 0x16FE0, // 16FE0 ; TANGUT
6364 0x16FE1, // 16FE1 ; NUSHU
6365 0x16FE2, // 16FE2..16FE3; COMMON
6366 0x16FE4, // 16FE4 ; KHITAN_SMALL_SCRIPT
6367 0x16FE5, // 16FE5..16FEF; UNKNOWN
6368 0x16FF0, // 16FF0..16FF1; HAN
6369 0x16FF2, // 16FF2..16FFF; UNKNOWN
6370 0x17000, // 17000..187F7; TANGUT
6371 0x187F8, // 187F8..187FF; UNKNOWN
6372 0x18800, // 18800..18AFF; TANGUT
6373 0x18B00, // 18B00..18CD5; KHITAN_SMALL_SCRIPT
6374 0x18CD6, // 18CD6..18CFF; UNKNOWN
6375 0x18D00, // 18D00..18D08; TANGUT
6376 0x18D09, // 18D09..1AFFF; UNKNOWN
6377 0x1B000, // 1B000 ; KATAKANA
6378 0x1B001, // 1B001..1B11E; HIRAGANA
6379 0x1B11F, // 1B11F..1B14F; UNKNOWN
6380 0x1B150, // 1B150..1B152; HIRAGANA
6381 0x1B153, // 1B153..1B163; UNKNOWN
6382 0x1B164, // 1B164..1B167; KATAKANA
6383 0x1B168, // 1B168..1B16F; UNKNOWN
6384 0x1B170, // 1B170..1B2FB; NUSHU
6385 0x1B2FC, // 1B2FC..1BBFF; UNKNOWN
6386 0x1BC00, // 1BC00..1BC6A; DUPLOYAN
6387 0x1BC6B, // 1BC6B..1BC6F; UNKNOWN
6388 0x1BC70, // 1BC70..1BC7C; DUPLOYAN
6389 0x1BC7D, // 1BC7D..1BC7F; UNKNOWN
6390 0x1BC80, // 1BC80..1BC88; DUPLOYAN
6391 0x1BC89, // 1BC89..1BC8F; UNKNOWN
6392 0x1BC90, // 1BC90..1BC99; DUPLOYAN
6393 0x1BC9A, // 1BC9A..1BC9B; UNKNOWN
6394 0x1BC9C, // 1BC9C..1BC9F; DUPLOYAN
6395 0x1BCA0, // 1BCA0..1BCA3; COMMON
6396 0x1BCA4, // 1BCA4..1CFFF; UNKNOWN
6562 0x1EEA1, // 1EEA1..1EEA3; ARABIC
6563 0x1EEA4, // 1EEA4 ; UNKNOWN
6564 0x1EEA5, // 1EEA5..1EEA9; ARABIC
6565 0x1EEAA, // 1EEAA ; UNKNOWN
6566 0x1EEAB, // 1EEAB..1EEBB; ARABIC
6567 0x1EEBC, // 1EEBC..1EEEF; UNKNOWN
6568 0x1EEF0, // 1EEF0..1EEF1; ARABIC
6569 0x1EEF2, // 1EEF2..1EFFF; UNKNOWN
6570 0x1F000, // 1F000..1F02B; COMMON
6571 0x1F02C, // 1F02C..1F02F; UNKNOWN
6572 0x1F030, // 1F030..1F093; COMMON
6573 0x1F094, // 1F094..1F09F; UNKNOWN
6574 0x1F0A0, // 1F0A0..1F0AE; COMMON
6575 0x1F0AF, // 1F0AF..1F0B0; UNKNOWN
6576 0x1F0B1, // 1F0B1..1F0BF; COMMON
6577 0x1F0C0, // 1F0C0 ; UNKNOWN
6578 0x1F0C1, // 1F0C1..1F0CF; COMMON
6579 0x1F0D0, // 1F0D0 ; UNKNOWN
6580 0x1F0D1, // 1F0D1..1F0F5; COMMON
6581 0x1F0F6, // 1F0F6..1F0FF; UNKNOWN
6582 0x1F100, // 1F100..1F1AD; COMMON
6583 0x1F1AE, // 1F1AE..1F1E5; UNKNOWN
6584 0x1F1E6, // 1F1E6..1F1FF; COMMON
6585 0x1F200, // 1F200 ; HIRAGANA
6586 0x1F201, // 1F201..1F202; COMMON
6587 0x1F203, // 1F203..1F20F; UNKNOWN
6588 0x1F210, // 1F210..1F23B; COMMON
6589 0x1F23C, // 1F23C..1F23F; UNKNOWN
6590 0x1F240, // 1F240..1F248; COMMON
6591 0x1F249, // 1F249..1F24F; UNKNOWN
6592 0x1F250, // 1F250..1F251; COMMON
6593 0x1F252, // 1F252..1F25F; UNKNOWN
6594 0x1F260, // 1F260..1F265; COMMON
6595 0x1F266, // 1F266..1F2FF; UNKNOWN
6596 0x1F300, // 1F300..1F6D7; COMMON
6597 0x1F6D8, // 1F6D8..1F6DF; UNKNOWN
6598 0x1F6E0, // 1F6E0..1F6EC; COMMON
6599 0x1F6ED, // 1F6ED..1F6EF; UNKNOWN
6600 0x1F6F0, // 1F6F0..1F6FC; COMMON
6601 0x1F6FD, // 1F6FD..1F6FF; UNKNOWN
6602 0x1F700, // 1F700..1F773; COMMON
6603 0x1F774, // 1F774..1F77F; UNKNOWN
6604 0x1F780, // 1F780..1F7D8; COMMON
6605 0x1F7D9, // 1F7D9..1F7DF; UNKNOWN
6606 0x1F7E0, // 1F7E0..1F7EB; COMMON
6607 0x1F7EC, // 1F7EC..1F7FF; UNKNOWN
6608 0x1F800, // 1F800..1F80B; COMMON
6609 0x1F80C, // 1F80C..1F80F; UNKNOWN
6610 0x1F810, // 1F810..1F847; COMMON
6611 0x1F848, // 1F848..1F84F; UNKNOWN
6612 0x1F850, // 1F850..1F859; COMMON
6613 0x1F85A, // 1F85A..1F85F; UNKNOWN
6614 0x1F860, // 1F860..1F887; COMMON
6615 0x1F888, // 1F888..1F88F; UNKNOWN
6616 0x1F890, // 1F890..1F8AD; COMMON
6617 0x1F8AE, // 1F8AE..1F8AF; UNKNOWN
6618 0x1F8B0, // 1F8B0..1F8B1; COMMON
6619 0x1F8B2, // 1F8B2..1F8FF; UNKNOWN
6620 0x1F900, // 1F900..1F978; COMMON
6621 0x1F979, // 1F979 ; UNKNOWN
6622 0x1F97A, // 1F97A..1F9CB; COMMON
6623 0x1F9CC, // 1F9CC ; UNKNOWN
6624 0x1F9CD, // 1F9CD..1FA53; COMMON
6625 0x1FA54, // 1FA54..1FA5F; UNKNOWN
6626 0x1FA60, // 1FA60..1FA6D; COMMON
6627 0x1FA6E, // 1FA6E..1FA6F; UNKNOWN
6628 0x1FA70, // 1FA70..1FA74; COMMON
6629 0x1FA75, // 1FA75..1FA77; UNKNOWN
6630 0x1FA78, // 1FA78..1FA7A; COMMON
6631 0x1FA7B, // 1FA7B..1FA7F; UNKNOWN
6632 0x1FA80, // 1FA80..1FA86; COMMON
6633 0x1FA87, // 1FA87..1FA8F; UNKNOWN
6634 0x1FA90, // 1FA90..1FAA8; COMMON
6635 0x1FAA9, // 1FAA9..1FAAF; UNKNOWN
6636 0x1FAB0, // 1FAB0..1FAB6; COMMON
6637 0x1FAB7, // 1FAB7..1FABF; UNKNOWN
6638 0x1FAC0, // 1FAC0..1FAC2; COMMON
6639 0x1FAC3, // 1FAC3..1FACF; UNKNOWN
6640 0x1FAD0, // 1FAD0..1FAD6; COMMON
6641 0x1FAD7, // 1FAD7..1FAFF; UNKNOWN
6642 0x1FB00, // 1FB00..1FB92; COMMON
6643 0x1FB93, // 1FB93 ; UNKNOWN
6644 0x1FB94, // 1FB94..1FBCA; COMMON
6645 0x1FBCB, // 1FBCB..1FBEF; UNKNOWN
6646 0x1FBF0, // 1FBF0..1FBF9; COMMON
6647 0x1FBFA, // 1FBFA..1FFFF; UNKNOWN
6648 0x20000, // 20000..2A6DD; HAN
6649 0x2A6DE, // 2A6DE..2A6FF; UNKNOWN
6650 0x2A700, // 2A700..2B734; HAN
6651 0x2B735, // 2B735..2B73F; UNKNOWN
6652 0x2B740, // 2B740..2B81D; HAN
6653 0x2B81E, // 2B81E..2B81F; UNKNOWN
6654 0x2B820, // 2B820..2CEA1; HAN
6655 0x2CEA2, // 2CEA2..2CEAF; UNKNOWN
6656 0x2CEB0, // 2CEB0..2EBE0; HAN
6657 0x2EBE1, // 2EBE1..2F7FF; UNKNOWN
6658 0x2F800, // 2F800..2FA1D; HAN
6659 0x2FA1E, // 2FA1E..2FFFF; UNKNOWN
6660 0x30000, // 30000..3134A; HAN
6661 0x3134B, // 3134B..E0000; UNKNOWN
6662 0xE0001, // E0001 ; COMMON
6663 0xE0002, // E0002..E001F; UNKNOWN
6664 0xE0020, // E0020..E007F; COMMON
6665 0xE0080, // E0080..E00FF; UNKNOWN
6666 0xE0100, // E0100..E01EF; INHERITED
6667 0xE01F0, // E01F0..10FFFF; UNKNOWN
6668 };
6669
6670 private static final UnicodeScript[] scripts = {
6671 COMMON, // 0000..0040
6672 LATIN, // 0041..005A
6673 COMMON, // 005B..0060
6674 LATIN, // 0061..007A
6675 COMMON, // 007B..00A9
6676 LATIN, // 00AA
6677 COMMON, // 00AB..00B9
6678 LATIN, // 00BA
6679 COMMON, // 00BB..00BF
6680 LATIN, // 00C0..00D6
6681 COMMON, // 00D7
6698 UNKNOWN, // 0380..0383
6699 GREEK, // 0384
6700 COMMON, // 0385
6701 GREEK, // 0386
6702 COMMON, // 0387
6703 GREEK, // 0388..038A
6704 UNKNOWN, // 038B
6705 GREEK, // 038C
6706 UNKNOWN, // 038D
6707 GREEK, // 038E..03A1
6708 UNKNOWN, // 03A2
6709 GREEK, // 03A3..03E1
6710 COPTIC, // 03E2..03EF
6711 GREEK, // 03F0..03FF
6712 CYRILLIC, // 0400..0484
6713 INHERITED, // 0485..0486
6714 CYRILLIC, // 0487..052F
6715 UNKNOWN, // 0530
6716 ARMENIAN, // 0531..0556
6717 UNKNOWN, // 0557..0558
6718 ARMENIAN, // 0559..058A
6719 UNKNOWN, // 058B..058C
6720 ARMENIAN, // 058D..058F
6721 UNKNOWN, // 0590
6722 HEBREW, // 0591..05C7
6723 UNKNOWN, // 05C8..05CF
6724 HEBREW, // 05D0..05EA
6725 UNKNOWN, // 05EB..05EE
6726 HEBREW, // 05EF..05F4
6727 UNKNOWN, // 05F5..05FF
6728 ARABIC, // 0600..0604
6729 COMMON, // 0605
6730 ARABIC, // 0606..060B
6731 COMMON, // 060C
6732 ARABIC, // 060D..061A
6733 COMMON, // 061B
6734 ARABIC, // 061C
6735 UNKNOWN, // 061D
6736 ARABIC, // 061E
6737 COMMON, // 061F
6738 ARABIC, // 0620..063F
6750 UNKNOWN, // 074B..074C
6751 SYRIAC, // 074D..074F
6752 ARABIC, // 0750..077F
6753 THAANA, // 0780..07B1
6754 UNKNOWN, // 07B2..07BF
6755 NKO, // 07C0..07FA
6756 UNKNOWN, // 07FB..07FC
6757 NKO, // 07FD..07FF
6758 SAMARITAN, // 0800..082D
6759 UNKNOWN, // 082E..082F
6760 SAMARITAN, // 0830..083E
6761 UNKNOWN, // 083F
6762 MANDAIC, // 0840..085B
6763 UNKNOWN, // 085C..085D
6764 MANDAIC, // 085E
6765 UNKNOWN, // 085F
6766 SYRIAC, // 0860..086A
6767 UNKNOWN, // 086B..089F
6768 ARABIC, // 08A0..08B4
6769 UNKNOWN, // 08B5
6770 ARABIC, // 08B6..08C7
6771 UNKNOWN, // 08C8..08D2
6772 ARABIC, // 08D3..08E1
6773 COMMON, // 08E2
6774 ARABIC, // 08E3..08FF
6775 DEVANAGARI, // 0900..0950
6776 INHERITED, // 0951..0954
6777 DEVANAGARI, // 0955..0963
6778 COMMON, // 0964..0965
6779 DEVANAGARI, // 0966..097F
6780 BENGALI, // 0980..0983
6781 UNKNOWN, // 0984
6782 BENGALI, // 0985..098C
6783 UNKNOWN, // 098D..098E
6784 BENGALI, // 098F..0990
6785 UNKNOWN, // 0991..0992
6786 BENGALI, // 0993..09A8
6787 UNKNOWN, // 09A9
6788 BENGALI, // 09AA..09B0
6789 UNKNOWN, // 09B1
6790 BENGALI, // 09B2
6791 UNKNOWN, // 09B3..09B5
6867 UNKNOWN, // 0B00
6868 ORIYA, // 0B01..0B03
6869 UNKNOWN, // 0B04
6870 ORIYA, // 0B05..0B0C
6871 UNKNOWN, // 0B0D..0B0E
6872 ORIYA, // 0B0F..0B10
6873 UNKNOWN, // 0B11..0B12
6874 ORIYA, // 0B13..0B28
6875 UNKNOWN, // 0B29
6876 ORIYA, // 0B2A..0B30
6877 UNKNOWN, // 0B31
6878 ORIYA, // 0B32..0B33
6879 UNKNOWN, // 0B34
6880 ORIYA, // 0B35..0B39
6881 UNKNOWN, // 0B3A..0B3B
6882 ORIYA, // 0B3C..0B44
6883 UNKNOWN, // 0B45..0B46
6884 ORIYA, // 0B47..0B48
6885 UNKNOWN, // 0B49..0B4A
6886 ORIYA, // 0B4B..0B4D
6887 UNKNOWN, // 0B4E..0B54
6888 ORIYA, // 0B55..0B57
6889 UNKNOWN, // 0B58..0B5B
6890 ORIYA, // 0B5C..0B5D
6891 UNKNOWN, // 0B5E
6892 ORIYA, // 0B5F..0B63
6893 UNKNOWN, // 0B64..0B65
6894 ORIYA, // 0B66..0B77
6895 UNKNOWN, // 0B78..0B81
6896 TAMIL, // 0B82..0B83
6897 UNKNOWN, // 0B84
6898 TAMIL, // 0B85..0B8A
6899 UNKNOWN, // 0B8B..0B8D
6900 TAMIL, // 0B8E..0B90
6901 UNKNOWN, // 0B91
6902 TAMIL, // 0B92..0B95
6903 UNKNOWN, // 0B96..0B98
6904 TAMIL, // 0B99..0B9A
6905 UNKNOWN, // 0B9B
6906 TAMIL, // 0B9C
6907 UNKNOWN, // 0B9D
6908 TAMIL, // 0B9E..0B9F
6957 KANNADA, // 0CAA..0CB3
6958 UNKNOWN, // 0CB4
6959 KANNADA, // 0CB5..0CB9
6960 UNKNOWN, // 0CBA..0CBB
6961 KANNADA, // 0CBC..0CC4
6962 UNKNOWN, // 0CC5
6963 KANNADA, // 0CC6..0CC8
6964 UNKNOWN, // 0CC9
6965 KANNADA, // 0CCA..0CCD
6966 UNKNOWN, // 0CCE..0CD4
6967 KANNADA, // 0CD5..0CD6
6968 UNKNOWN, // 0CD7..0CDD
6969 KANNADA, // 0CDE
6970 UNKNOWN, // 0CDF
6971 KANNADA, // 0CE0..0CE3
6972 UNKNOWN, // 0CE4..0CE5
6973 KANNADA, // 0CE6..0CEF
6974 UNKNOWN, // 0CF0
6975 KANNADA, // 0CF1..0CF2
6976 UNKNOWN, // 0CF3..0CFF
6977 MALAYALAM, // 0D00..0D0C
6978 UNKNOWN, // 0D0D
6979 MALAYALAM, // 0D0E..0D10
6980 UNKNOWN, // 0D11
6981 MALAYALAM, // 0D12..0D44
6982 UNKNOWN, // 0D45
6983 MALAYALAM, // 0D46..0D48
6984 UNKNOWN, // 0D49
6985 MALAYALAM, // 0D4A..0D4F
6986 UNKNOWN, // 0D50..0D53
6987 MALAYALAM, // 0D54..0D63
6988 UNKNOWN, // 0D64..0D65
6989 MALAYALAM, // 0D66..0D7F
6990 UNKNOWN, // 0D80
6991 SINHALA, // 0D81..0D83
6992 UNKNOWN, // 0D84
6993 SINHALA, // 0D85..0D96
6994 UNKNOWN, // 0D97..0D99
6995 SINHALA, // 0D9A..0DB1
6996 UNKNOWN, // 0DB2
6997 SINHALA, // 0DB3..0DBB
6998 UNKNOWN, // 0DBC
6999 SINHALA, // 0DBD
7000 UNKNOWN, // 0DBE..0DBF
7001 SINHALA, // 0DC0..0DC6
7002 UNKNOWN, // 0DC7..0DC9
7003 SINHALA, // 0DCA
7004 UNKNOWN, // 0DCB..0DCE
7005 SINHALA, // 0DCF..0DD4
7006 UNKNOWN, // 0DD5
7007 SINHALA, // 0DD6
7008 UNKNOWN, // 0DD7
7009 SINHALA, // 0DD8..0DDF
7010 UNKNOWN, // 0DE0..0DE5
7011 SINHALA, // 0DE6..0DEF
7163 UNKNOWN, // 19AC..19AF
7164 NEW_TAI_LUE, // 19B0..19C9
7165 UNKNOWN, // 19CA..19CF
7166 NEW_TAI_LUE, // 19D0..19DA
7167 UNKNOWN, // 19DB..19DD
7168 NEW_TAI_LUE, // 19DE..19DF
7169 KHMER, // 19E0..19FF
7170 BUGINESE, // 1A00..1A1B
7171 UNKNOWN, // 1A1C..1A1D
7172 BUGINESE, // 1A1E..1A1F
7173 TAI_THAM, // 1A20..1A5E
7174 UNKNOWN, // 1A5F
7175 TAI_THAM, // 1A60..1A7C
7176 UNKNOWN, // 1A7D..1A7E
7177 TAI_THAM, // 1A7F..1A89
7178 UNKNOWN, // 1A8A..1A8F
7179 TAI_THAM, // 1A90..1A99
7180 UNKNOWN, // 1A9A..1A9F
7181 TAI_THAM, // 1AA0..1AAD
7182 UNKNOWN, // 1AAE..1AAF
7183 INHERITED, // 1AB0..1AC0
7184 UNKNOWN, // 1AC1..1AFF
7185 BALINESE, // 1B00..1B4B
7186 UNKNOWN, // 1B4C..1B4F
7187 BALINESE, // 1B50..1B7C
7188 UNKNOWN, // 1B7D..1B7F
7189 SUNDANESE, // 1B80..1BBF
7190 BATAK, // 1BC0..1BF3
7191 UNKNOWN, // 1BF4..1BFB
7192 BATAK, // 1BFC..1BFF
7193 LEPCHA, // 1C00..1C37
7194 UNKNOWN, // 1C38..1C3A
7195 LEPCHA, // 1C3B..1C49
7196 UNKNOWN, // 1C4A..1C4C
7197 LEPCHA, // 1C4D..1C4F
7198 OL_CHIKI, // 1C50..1C7F
7199 CYRILLIC, // 1C80..1C88
7200 UNKNOWN, // 1C89..1C8F
7201 GEORGIAN, // 1C90..1CBA
7202 UNKNOWN, // 1CBB..1CBC
7203 GEORGIAN, // 1CBD..1CBF
7204 SUNDANESE, // 1CC0..1CC7
7284 GREEK, // 2126
7285 COMMON, // 2127..2129
7286 LATIN, // 212A..212B
7287 COMMON, // 212C..2131
7288 LATIN, // 2132
7289 COMMON, // 2133..214D
7290 LATIN, // 214E
7291 COMMON, // 214F..215F
7292 LATIN, // 2160..2188
7293 COMMON, // 2189..218B
7294 UNKNOWN, // 218C..218F
7295 COMMON, // 2190..2426
7296 UNKNOWN, // 2427..243F
7297 COMMON, // 2440..244A
7298 UNKNOWN, // 244B..245F
7299 COMMON, // 2460..27FF
7300 BRAILLE, // 2800..28FF
7301 COMMON, // 2900..2B73
7302 UNKNOWN, // 2B74..2B75
7303 COMMON, // 2B76..2B95
7304 UNKNOWN, // 2B96
7305 COMMON, // 2B97..2BFF
7306 GLAGOLITIC, // 2C00..2C2E
7307 UNKNOWN, // 2C2F
7308 GLAGOLITIC, // 2C30..2C5E
7309 UNKNOWN, // 2C5F
7310 LATIN, // 2C60..2C7F
7311 COPTIC, // 2C80..2CF3
7312 UNKNOWN, // 2CF4..2CF8
7313 COPTIC, // 2CF9..2CFF
7314 GEORGIAN, // 2D00..2D25
7315 UNKNOWN, // 2D26
7316 GEORGIAN, // 2D27
7317 UNKNOWN, // 2D28..2D2C
7318 GEORGIAN, // 2D2D
7319 UNKNOWN, // 2D2E..2D2F
7320 TIFINAGH, // 2D30..2D67
7321 UNKNOWN, // 2D68..2D6E
7322 TIFINAGH, // 2D6F..2D70
7323 UNKNOWN, // 2D71..2D7E
7324 TIFINAGH, // 2D7F
7325 ETHIOPIC, // 2D80..2D96
7326 UNKNOWN, // 2D97..2D9F
7327 ETHIOPIC, // 2DA0..2DA6
7328 UNKNOWN, // 2DA7
7329 ETHIOPIC, // 2DA8..2DAE
7330 UNKNOWN, // 2DAF
7331 ETHIOPIC, // 2DB0..2DB6
7332 UNKNOWN, // 2DB7
7333 ETHIOPIC, // 2DB8..2DBE
7334 UNKNOWN, // 2DBF
7335 ETHIOPIC, // 2DC0..2DC6
7336 UNKNOWN, // 2DC7
7337 ETHIOPIC, // 2DC8..2DCE
7338 UNKNOWN, // 2DCF
7339 ETHIOPIC, // 2DD0..2DD6
7340 UNKNOWN, // 2DD7
7341 ETHIOPIC, // 2DD8..2DDE
7342 UNKNOWN, // 2DDF
7343 CYRILLIC, // 2DE0..2DFF
7344 COMMON, // 2E00..2E52
7345 UNKNOWN, // 2E53..2E7F
7346 HAN, // 2E80..2E99
7347 UNKNOWN, // 2E9A
7348 HAN, // 2E9B..2EF3
7349 UNKNOWN, // 2EF4..2EFF
7350 HAN, // 2F00..2FD5
7351 UNKNOWN, // 2FD6..2FEF
7352 COMMON, // 2FF0..2FFB
7353 UNKNOWN, // 2FFC..2FFF
7354 COMMON, // 3000..3004
7355 HAN, // 3005
7356 COMMON, // 3006
7357 HAN, // 3007
7358 COMMON, // 3008..3020
7359 HAN, // 3021..3029
7360 INHERITED, // 302A..302D
7361 HANGUL, // 302E..302F
7362 COMMON, // 3030..3037
7363 HAN, // 3038..303B
7364 COMMON, // 303C..303F
7365 UNKNOWN, // 3040
7366 HIRAGANA, // 3041..3096
7367 UNKNOWN, // 3097..3098
7368 INHERITED, // 3099..309A
7369 COMMON, // 309B..309C
7370 HIRAGANA, // 309D..309F
7371 COMMON, // 30A0
7372 KATAKANA, // 30A1..30FA
7373 COMMON, // 30FB..30FC
7374 KATAKANA, // 30FD..30FF
7375 UNKNOWN, // 3100..3104
7376 BOPOMOFO, // 3105..312F
7377 UNKNOWN, // 3130
7378 HANGUL, // 3131..318E
7379 UNKNOWN, // 318F
7380 COMMON, // 3190..319F
7381 BOPOMOFO, // 31A0..31BF
7382 COMMON, // 31C0..31E3
7383 UNKNOWN, // 31E4..31EF
7384 KATAKANA, // 31F0..31FF
7385 HANGUL, // 3200..321E
7386 UNKNOWN, // 321F
7387 COMMON, // 3220..325F
7388 HANGUL, // 3260..327E
7389 COMMON, // 327F..32CF
7390 KATAKANA, // 32D0..32FE
7391 COMMON, // 32FF
7392 KATAKANA, // 3300..3357
7393 COMMON, // 3358..33FF
7394 HAN, // 3400..4DBF
7395 COMMON, // 4DC0..4DFF
7396 HAN, // 4E00..9FFC
7397 UNKNOWN, // 9FFD..9FFF
7398 YI, // A000..A48C
7399 UNKNOWN, // A48D..A48F
7400 YI, // A490..A4C6
7401 UNKNOWN, // A4C7..A4CF
7402 LISU, // A4D0..A4FF
7403 VAI, // A500..A62B
7404 UNKNOWN, // A62C..A63F
7405 CYRILLIC, // A640..A69F
7406 BAMUM, // A6A0..A6F7
7407 UNKNOWN, // A6F8..A6FF
7408 COMMON, // A700..A721
7409 LATIN, // A722..A787
7410 COMMON, // A788..A78A
7411 LATIN, // A78B..A7BF
7412 UNKNOWN, // A7C0..A7C1
7413 LATIN, // A7C2..A7CA
7414 UNKNOWN, // A7CB..A7F4
7415 LATIN, // A7F5..A7FF
7416 SYLOTI_NAGRI, // A800..A82C
7417 UNKNOWN, // A82D..A82F
7418 COMMON, // A830..A839
7419 UNKNOWN, // A83A..A83F
7420 PHAGS_PA, // A840..A877
7421 UNKNOWN, // A878..A87F
7422 SAURASHTRA, // A880..A8C5
7423 UNKNOWN, // A8C6..A8CD
7424 SAURASHTRA, // A8CE..A8D9
7425 UNKNOWN, // A8DA..A8DF
7426 DEVANAGARI, // A8E0..A8FF
7427 KAYAH_LI, // A900..A92D
7428 COMMON, // A92E
7429 KAYAH_LI, // A92F
7430 REJANG, // A930..A953
7431 UNKNOWN, // A954..A95E
7432 REJANG, // A95F
7433 HANGUL, // A960..A97C
7434 UNKNOWN, // A97D..A97F
7435 JAVANESE, // A980..A9CD
7436 UNKNOWN, // A9CE
7437 COMMON, // A9CF
7450 MYANMAR, // AA60..AA7F
7451 TAI_VIET, // AA80..AAC2
7452 UNKNOWN, // AAC3..AADA
7453 TAI_VIET, // AADB..AADF
7454 MEETEI_MAYEK, // AAE0..AAF6
7455 UNKNOWN, // AAF7..AB00
7456 ETHIOPIC, // AB01..AB06
7457 UNKNOWN, // AB07..AB08
7458 ETHIOPIC, // AB09..AB0E
7459 UNKNOWN, // AB0F..AB10
7460 ETHIOPIC, // AB11..AB16
7461 UNKNOWN, // AB17..AB1F
7462 ETHIOPIC, // AB20..AB26
7463 UNKNOWN, // AB27
7464 ETHIOPIC, // AB28..AB2E
7465 UNKNOWN, // AB2F
7466 LATIN, // AB30..AB5A
7467 COMMON, // AB5B
7468 LATIN, // AB5C..AB64
7469 GREEK, // AB65
7470 LATIN, // AB66..AB69
7471 COMMON, // AB6A..AB6B
7472 UNKNOWN, // AB6C..AB6F
7473 CHEROKEE, // AB70..ABBF
7474 MEETEI_MAYEK, // ABC0..ABED
7475 UNKNOWN, // ABEE..ABEF
7476 MEETEI_MAYEK, // ABF0..ABF9
7477 UNKNOWN, // ABFA..ABFF
7478 HANGUL, // AC00..D7A3
7479 UNKNOWN, // D7A4..D7AF
7480 HANGUL, // D7B0..D7C6
7481 UNKNOWN, // D7C7..D7CA
7482 HANGUL, // D7CB..D7FB
7483 UNKNOWN, // D7FC..F8FF
7484 HAN, // F900..FA6D
7485 UNKNOWN, // FA6E..FA6F
7486 HAN, // FA70..FAD9
7487 UNKNOWN, // FADA..FAFF
7488 LATIN, // FB00..FB06
7489 UNKNOWN, // FB07..FB12
7490 ARMENIAN, // FB13..FB17
7491 UNKNOWN, // FB18..FB1C
7492 HEBREW, // FB1D..FB36
7557 UNKNOWN, // 1000C
7558 LINEAR_B, // 1000D..10026
7559 UNKNOWN, // 10027
7560 LINEAR_B, // 10028..1003A
7561 UNKNOWN, // 1003B
7562 LINEAR_B, // 1003C..1003D
7563 UNKNOWN, // 1003E
7564 LINEAR_B, // 1003F..1004D
7565 UNKNOWN, // 1004E..1004F
7566 LINEAR_B, // 10050..1005D
7567 UNKNOWN, // 1005E..1007F
7568 LINEAR_B, // 10080..100FA
7569 UNKNOWN, // 100FB..100FF
7570 COMMON, // 10100..10102
7571 UNKNOWN, // 10103..10106
7572 COMMON, // 10107..10133
7573 UNKNOWN, // 10134..10136
7574 COMMON, // 10137..1013F
7575 GREEK, // 10140..1018E
7576 UNKNOWN, // 1018F
7577 COMMON, // 10190..1019C
7578 UNKNOWN, // 1019D..1019F
7579 GREEK, // 101A0
7580 UNKNOWN, // 101A1..101CF
7581 COMMON, // 101D0..101FC
7582 INHERITED, // 101FD
7583 UNKNOWN, // 101FE..1027F
7584 LYCIAN, // 10280..1029C
7585 UNKNOWN, // 1029D..1029F
7586 CARIAN, // 102A0..102D0
7587 UNKNOWN, // 102D1..102DF
7588 INHERITED, // 102E0
7589 COMMON, // 102E1..102FB
7590 UNKNOWN, // 102FC..102FF
7591 OLD_ITALIC, // 10300..10323
7592 UNKNOWN, // 10324..1032C
7593 OLD_ITALIC, // 1032D..1032F
7594 GOTHIC, // 10330..1034A
7595 UNKNOWN, // 1034B..1034F
7596 OLD_PERMIC, // 10350..1037A
7597 UNKNOWN, // 1037B..1037F
7598 UGARITIC, // 10380..1039D
7694 UNKNOWN, // 10B73..10B77
7695 INSCRIPTIONAL_PAHLAVI, // 10B78..10B7F
7696 PSALTER_PAHLAVI, // 10B80..10B91
7697 UNKNOWN, // 10B92..10B98
7698 PSALTER_PAHLAVI, // 10B99..10B9C
7699 UNKNOWN, // 10B9D..10BA8
7700 PSALTER_PAHLAVI, // 10BA9..10BAF
7701 UNKNOWN, // 10BB0..10BFF
7702 OLD_TURKIC, // 10C00..10C48
7703 UNKNOWN, // 10C49..10C7F
7704 OLD_HUNGARIAN, // 10C80..10CB2
7705 UNKNOWN, // 10CB3..10CBF
7706 OLD_HUNGARIAN, // 10CC0..10CF2
7707 UNKNOWN, // 10CF3..10CF9
7708 OLD_HUNGARIAN, // 10CFA..10CFF
7709 HANIFI_ROHINGYA, // 10D00..10D27
7710 UNKNOWN, // 10D28..10D2F
7711 HANIFI_ROHINGYA, // 10D30..10D39
7712 UNKNOWN, // 10D3A..10E5F
7713 ARABIC, // 10E60..10E7E
7714 UNKNOWN, // 10E7F
7715 YEZIDI, // 10E80..10EA9
7716 UNKNOWN, // 10EAA
7717 YEZIDI, // 10EAB..10EAD
7718 UNKNOWN, // 10EAE..10EAF
7719 YEZIDI, // 10EB0..10EB1
7720 UNKNOWN, // 10EB2..10EFF
7721 OLD_SOGDIAN, // 10F00..10F27
7722 UNKNOWN, // 10F28..10F2F
7723 SOGDIAN, // 10F30..10F59
7724 UNKNOWN, // 10F5A..10FAF
7725 CHORASMIAN, // 10FB0..10FCB
7726 UNKNOWN, // 10FCC..10FDF
7727 ELYMAIC, // 10FE0..10FF6
7728 UNKNOWN, // 10FF7..10FFF
7729 BRAHMI, // 11000..1104D
7730 UNKNOWN, // 1104E..11051
7731 BRAHMI, // 11052..1106F
7732 UNKNOWN, // 11070..1107E
7733 BRAHMI, // 1107F
7734 KAITHI, // 11080..110C1
7735 UNKNOWN, // 110C2..110CC
7736 KAITHI, // 110CD
7737 UNKNOWN, // 110CE..110CF
7738 SORA_SOMPENG, // 110D0..110E8
7739 UNKNOWN, // 110E9..110EF
7740 SORA_SOMPENG, // 110F0..110F9
7741 UNKNOWN, // 110FA..110FF
7742 CHAKMA, // 11100..11134
7743 UNKNOWN, // 11135
7744 CHAKMA, // 11136..11147
7745 UNKNOWN, // 11148..1114F
7746 MAHAJANI, // 11150..11176
7747 UNKNOWN, // 11177..1117F
7748 SHARADA, // 11180..111DF
7749 UNKNOWN, // 111E0
7750 SINHALA, // 111E1..111F4
7751 UNKNOWN, // 111F5..111FF
7752 KHOJKI, // 11200..11211
7753 UNKNOWN, // 11212
7754 KHOJKI, // 11213..1123E
7755 UNKNOWN, // 1123F..1127F
7756 MULTANI, // 11280..11286
7757 UNKNOWN, // 11287
7758 MULTANI, // 11288
7759 UNKNOWN, // 11289
7760 MULTANI, // 1128A..1128D
7761 UNKNOWN, // 1128E
7762 MULTANI, // 1128F..1129D
7763 UNKNOWN, // 1129E
7764 MULTANI, // 1129F..112A9
7765 UNKNOWN, // 112AA..112AF
7766 KHUDAWADI, // 112B0..112EA
7767 UNKNOWN, // 112EB..112EF
7768 KHUDAWADI, // 112F0..112F9
7781 UNKNOWN, // 11334
7782 GRANTHA, // 11335..11339
7783 UNKNOWN, // 1133A
7784 INHERITED, // 1133B
7785 GRANTHA, // 1133C..11344
7786 UNKNOWN, // 11345..11346
7787 GRANTHA, // 11347..11348
7788 UNKNOWN, // 11349..1134A
7789 GRANTHA, // 1134B..1134D
7790 UNKNOWN, // 1134E..1134F
7791 GRANTHA, // 11350
7792 UNKNOWN, // 11351..11356
7793 GRANTHA, // 11357
7794 UNKNOWN, // 11358..1135C
7795 GRANTHA, // 1135D..11363
7796 UNKNOWN, // 11364..11365
7797 GRANTHA, // 11366..1136C
7798 UNKNOWN, // 1136D..1136F
7799 GRANTHA, // 11370..11374
7800 UNKNOWN, // 11375..113FF
7801 NEWA, // 11400..1145B
7802 UNKNOWN, // 1145C
7803 NEWA, // 1145D..11461
7804 UNKNOWN, // 11462..1147F
7805 TIRHUTA, // 11480..114C7
7806 UNKNOWN, // 114C8..114CF
7807 TIRHUTA, // 114D0..114D9
7808 UNKNOWN, // 114DA..1157F
7809 SIDDHAM, // 11580..115B5
7810 UNKNOWN, // 115B6..115B7
7811 SIDDHAM, // 115B8..115DD
7812 UNKNOWN, // 115DE..115FF
7813 MODI, // 11600..11644
7814 UNKNOWN, // 11645..1164F
7815 MODI, // 11650..11659
7816 UNKNOWN, // 1165A..1165F
7817 MONGOLIAN, // 11660..1166C
7818 UNKNOWN, // 1166D..1167F
7819 TAKRI, // 11680..116B8
7820 UNKNOWN, // 116B9..116BF
7821 TAKRI, // 116C0..116C9
7822 UNKNOWN, // 116CA..116FF
7823 AHOM, // 11700..1171A
7824 UNKNOWN, // 1171B..1171C
7825 AHOM, // 1171D..1172B
7826 UNKNOWN, // 1172C..1172F
7827 AHOM, // 11730..1173F
7828 UNKNOWN, // 11740..117FF
7829 DOGRA, // 11800..1183B
7830 UNKNOWN, // 1183C..1189F
7831 WARANG_CITI, // 118A0..118F2
7832 UNKNOWN, // 118F3..118FE
7833 WARANG_CITI, // 118FF
7834 DIVES_AKURU, // 11900..11906
7835 UNKNOWN, // 11907..11908
7836 DIVES_AKURU, // 11909
7837 UNKNOWN, // 1190A..1190B
7838 DIVES_AKURU, // 1190C..11913
7839 UNKNOWN, // 11914
7840 DIVES_AKURU, // 11915..11916
7841 UNKNOWN, // 11917
7842 DIVES_AKURU, // 11918..11935
7843 UNKNOWN, // 11936
7844 DIVES_AKURU, // 11937..11938
7845 UNKNOWN, // 11939..1193A
7846 DIVES_AKURU, // 1193B..11946
7847 UNKNOWN, // 11947..1194F
7848 DIVES_AKURU, // 11950..11959
7849 UNKNOWN, // 1195A..1199F
7850 NANDINAGARI, // 119A0..119A7
7851 UNKNOWN, // 119A8..119A9
7852 NANDINAGARI, // 119AA..119D7
7853 UNKNOWN, // 119D8..119D9
7854 NANDINAGARI, // 119DA..119E4
7855 UNKNOWN, // 119E5..119FF
7856 ZANABAZAR_SQUARE, // 11A00..11A47
7857 UNKNOWN, // 11A48..11A4F
7858 SOYOMBO, // 11A50..11AA2
7859 UNKNOWN, // 11AA3..11ABF
7860 PAU_CIN_HAU, // 11AC0..11AF8
7861 UNKNOWN, // 11AF9..11BFF
7862 BHAIKSUKI, // 11C00..11C08
7863 UNKNOWN, // 11C09
7864 BHAIKSUKI, // 11C0A..11C36
7865 UNKNOWN, // 11C37
7866 BHAIKSUKI, // 11C38..11C45
7867 UNKNOWN, // 11C46..11C4F
7868 BHAIKSUKI, // 11C50..11C6C
7869 UNKNOWN, // 11C6D..11C6F
7883 UNKNOWN, // 11D3B
7884 MASARAM_GONDI, // 11D3C..11D3D
7885 UNKNOWN, // 11D3E
7886 MASARAM_GONDI, // 11D3F..11D47
7887 UNKNOWN, // 11D48..11D4F
7888 MASARAM_GONDI, // 11D50..11D59
7889 UNKNOWN, // 11D5A..11D5F
7890 GUNJALA_GONDI, // 11D60..11D65
7891 UNKNOWN, // 11D66
7892 GUNJALA_GONDI, // 11D67..11D68
7893 UNKNOWN, // 11D69
7894 GUNJALA_GONDI, // 11D6A..11D8E
7895 UNKNOWN, // 11D8F
7896 GUNJALA_GONDI, // 11D90..11D91
7897 UNKNOWN, // 11D92
7898 GUNJALA_GONDI, // 11D93..11D98
7899 UNKNOWN, // 11D99..11D9F
7900 GUNJALA_GONDI, // 11DA0..11DA9
7901 UNKNOWN, // 11DAA..11EDF
7902 MAKASAR, // 11EE0..11EF8
7903 UNKNOWN, // 11EF9..11FAF
7904 LISU, // 11FB0
7905 UNKNOWN, // 11FB1..11FBF
7906 TAMIL, // 11FC0..11FF1
7907 UNKNOWN, // 11FF2..11FFE
7908 TAMIL, // 11FFF
7909 CUNEIFORM, // 12000..12399
7910 UNKNOWN, // 1239A..123FF
7911 CUNEIFORM, // 12400..1246E
7912 UNKNOWN, // 1246F
7913 CUNEIFORM, // 12470..12474
7914 UNKNOWN, // 12475..1247F
7915 CUNEIFORM, // 12480..12543
7916 UNKNOWN, // 12544..12FFF
7917 EGYPTIAN_HIEROGLYPHS, // 13000..1342E
7918 UNKNOWN, // 1342F
7919 EGYPTIAN_HIEROGLYPHS, // 13430..13438
7920 UNKNOWN, // 13439..143FF
7921 ANATOLIAN_HIEROGLYPHS, // 14400..14646
7922 UNKNOWN, // 14647..167FF
7923 BAMUM, // 16800..16A38
7924 UNKNOWN, // 16A39..16A3F
7925 MRO, // 16A40..16A5E
7936 UNKNOWN, // 16B46..16B4F
7937 PAHAWH_HMONG, // 16B50..16B59
7938 UNKNOWN, // 16B5A
7939 PAHAWH_HMONG, // 16B5B..16B61
7940 UNKNOWN, // 16B62
7941 PAHAWH_HMONG, // 16B63..16B77
7942 UNKNOWN, // 16B78..16B7C
7943 PAHAWH_HMONG, // 16B7D..16B8F
7944 UNKNOWN, // 16B90..16E3F
7945 MEDEFAIDRIN, // 16E40..16E9A
7946 UNKNOWN, // 16E9B..16EFF
7947 MIAO, // 16F00..16F4A
7948 UNKNOWN, // 16F4B..16F4E
7949 MIAO, // 16F4F..16F87
7950 UNKNOWN, // 16F88..16F8E
7951 MIAO, // 16F8F..16F9F
7952 UNKNOWN, // 16FA0..16FDF
7953 TANGUT, // 16FE0
7954 NUSHU, // 16FE1
7955 COMMON, // 16FE2..16FE3
7956 KHITAN_SMALL_SCRIPT, // 16FE4
7957 UNKNOWN, // 16FE5..16FEF
7958 HAN, // 16FF0..16FF1
7959 UNKNOWN, // 16FF2..16FFF
7960 TANGUT, // 17000..187F7
7961 UNKNOWN, // 187F8..187FF
7962 TANGUT, // 18800..18AFF
7963 KHITAN_SMALL_SCRIPT, // 18B00..18CD5
7964 UNKNOWN, // 18CD6..18CFF
7965 TANGUT, // 18D00..18D08
7966 UNKNOWN, // 18D09..1AFFF
7967 KATAKANA, // 1B000
7968 HIRAGANA, // 1B001..1B11E
7969 UNKNOWN, // 1B11F..1B14F
7970 HIRAGANA, // 1B150..1B152
7971 UNKNOWN, // 1B153..1B163
7972 KATAKANA, // 1B164..1B167
7973 UNKNOWN, // 1B168..1B16F
7974 NUSHU, // 1B170..1B2FB
7975 UNKNOWN, // 1B2FC..1BBFF
7976 DUPLOYAN, // 1BC00..1BC6A
7977 UNKNOWN, // 1BC6B..1BC6F
7978 DUPLOYAN, // 1BC70..1BC7C
7979 UNKNOWN, // 1BC7D..1BC7F
7980 DUPLOYAN, // 1BC80..1BC88
7981 UNKNOWN, // 1BC89..1BC8F
7982 DUPLOYAN, // 1BC90..1BC99
7983 UNKNOWN, // 1BC9A..1BC9B
7984 DUPLOYAN, // 1BC9C..1BC9F
7985 COMMON, // 1BCA0..1BCA3
7986 UNKNOWN, // 1BCA4..1CFFF
8152 ARABIC, // 1EEA1..1EEA3
8153 UNKNOWN, // 1EEA4
8154 ARABIC, // 1EEA5..1EEA9
8155 UNKNOWN, // 1EEAA
8156 ARABIC, // 1EEAB..1EEBB
8157 UNKNOWN, // 1EEBC..1EEEF
8158 ARABIC, // 1EEF0..1EEF1
8159 UNKNOWN, // 1EEF2..1EFFF
8160 COMMON, // 1F000..1F02B
8161 UNKNOWN, // 1F02C..1F02F
8162 COMMON, // 1F030..1F093
8163 UNKNOWN, // 1F094..1F09F
8164 COMMON, // 1F0A0..1F0AE
8165 UNKNOWN, // 1F0AF..1F0B0
8166 COMMON, // 1F0B1..1F0BF
8167 UNKNOWN, // 1F0C0
8168 COMMON, // 1F0C1..1F0CF
8169 UNKNOWN, // 1F0D0
8170 COMMON, // 1F0D1..1F0F5
8171 UNKNOWN, // 1F0F6..1F0FF
8172 COMMON, // 1F100..1F1AD
8173 UNKNOWN, // 1F1AE..1F1E5
8174 COMMON, // 1F1E6..1F1FF
8175 HIRAGANA, // 1F200
8176 COMMON, // 1F201..1F202
8177 UNKNOWN, // 1F203..1F20F
8178 COMMON, // 1F210..1F23B
8179 UNKNOWN, // 1F23C..1F23F
8180 COMMON, // 1F240..1F248
8181 UNKNOWN, // 1F249..1F24F
8182 COMMON, // 1F250..1F251
8183 UNKNOWN, // 1F252..1F25F
8184 COMMON, // 1F260..1F265
8185 UNKNOWN, // 1F266..1F2FF
8186 COMMON, // 1F300..1F6D7
8187 UNKNOWN, // 1F6D8..1F6DF
8188 COMMON, // 1F6E0..1F6EC
8189 UNKNOWN, // 1F6ED..1F6EF
8190 COMMON, // 1F6F0..1F6FC
8191 UNKNOWN, // 1F6FD..1F6FF
8192 COMMON, // 1F700..1F773
8193 UNKNOWN, // 1F774..1F77F
8194 COMMON, // 1F780..1F7D8
8195 UNKNOWN, // 1F7D9..1F7DF
8196 COMMON, // 1F7E0..1F7EB
8197 UNKNOWN, // 1F7EC..1F7FF
8198 COMMON, // 1F800..1F80B
8199 UNKNOWN, // 1F80C..1F80F
8200 COMMON, // 1F810..1F847
8201 UNKNOWN, // 1F848..1F84F
8202 COMMON, // 1F850..1F859
8203 UNKNOWN, // 1F85A..1F85F
8204 COMMON, // 1F860..1F887
8205 UNKNOWN, // 1F888..1F88F
8206 COMMON, // 1F890..1F8AD
8207 UNKNOWN, // 1F8AE..1F8AF
8208 COMMON, // 1F8B0..1F8B1
8209 UNKNOWN, // 1F8B2..1F8FF
8210 COMMON, // 1F900..1F978
8211 UNKNOWN, // 1F979
8212 COMMON, // 1F97A..1F9CB
8213 UNKNOWN, // 1F9CC
8214 COMMON, // 1F9CD..1FA53
8215 UNKNOWN, // 1FA54..1FA5F
8216 COMMON, // 1FA60..1FA6D
8217 UNKNOWN, // 1FA6E..1FA6F
8218 COMMON, // 1FA70..1FA74
8219 UNKNOWN, // 1FA75..1FA77
8220 COMMON, // 1FA78..1FA7A
8221 UNKNOWN, // 1FA7B..1FA7F
8222 COMMON, // 1FA80..1FA86
8223 UNKNOWN, // 1FA87..1FA8F
8224 COMMON, // 1FA90..1FAA8
8225 UNKNOWN, // 1FAA9..1FAAF
8226 COMMON, // 1FAB0..1FAB6
8227 UNKNOWN, // 1FAB7..1FABF
8228 COMMON, // 1FAC0..1FAC2
8229 UNKNOWN, // 1FAC3..1FACF
8230 COMMON, // 1FAD0..1FAD6
8231 UNKNOWN, // 1FAD7..1FAFF
8232 COMMON, // 1FB00..1FB92
8233 UNKNOWN, // 1FB93
8234 COMMON, // 1FB94..1FBCA
8235 UNKNOWN, // 1FBCB..1FBEF
8236 COMMON, // 1FBF0..1FBF9
8237 UNKNOWN, // 1FBFA..1FFFF
8238 HAN, // 20000..2A6DD
8239 UNKNOWN, // 2A6DE..2A6FF
8240 HAN, // 2A700..2B734
8241 UNKNOWN, // 2B735..2B73F
8242 HAN, // 2B740..2B81D
8243 UNKNOWN, // 2B81E..2B81F
8244 HAN, // 2B820..2CEA1
8245 UNKNOWN, // 2CEA2..2CEAF
8246 HAN, // 2CEB0..2EBE0
8247 UNKNOWN, // 2EBE1..2F7FF
8248 HAN, // 2F800..2FA1D
8249 UNKNOWN, // 2FA1E..2FFFF
8250 HAN, // 30000..3134A
8251 UNKNOWN, // 3134B..E0000
8252 COMMON, // E0001
8253 UNKNOWN, // E0002..E001F
8254 COMMON, // E0020..E007F
8255 UNKNOWN, // E0080..E00FF
8256 INHERITED, // E0100..E01EF
8257 UNKNOWN, // E01F0..10FFFF
8258 };
8259
8260 private static final HashMap<String, Character.UnicodeScript> aliases;
8261 static {
8262 aliases = new HashMap<>((int)(157 / 0.75f + 1.0f));
8263 aliases.put("ADLM", ADLAM);
8264 aliases.put("AGHB", CAUCASIAN_ALBANIAN);
8265 aliases.put("AHOM", AHOM);
8266 aliases.put("ARAB", ARABIC);
8267 aliases.put("ARMI", IMPERIAL_ARAMAIC);
8268 aliases.put("ARMN", ARMENIAN);
8269 aliases.put("AVST", AVESTAN);
8270 aliases.put("BALI", BALINESE);
8271 aliases.put("BAMU", BAMUM);
8272 aliases.put("BASS", BASSA_VAH);
8273 aliases.put("BATK", BATAK);
8274 aliases.put("BENG", BENGALI);
8275 aliases.put("BHKS", BHAIKSUKI);
8276 aliases.put("BOPO", BOPOMOFO);
8277 aliases.put("BRAH", BRAHMI);
8278 aliases.put("BRAI", BRAILLE);
8279 aliases.put("BUGI", BUGINESE);
8280 aliases.put("BUHD", BUHID);
8281 aliases.put("CAKM", CHAKMA);
8282 aliases.put("CANS", CANADIAN_ABORIGINAL);
8283 aliases.put("CARI", CARIAN);
8284 aliases.put("CHAM", CHAM);
8285 aliases.put("CHER", CHEROKEE);
8286 aliases.put("CHRS", CHORASMIAN);
8287 aliases.put("COPT", COPTIC);
8288 aliases.put("CPRT", CYPRIOT);
8289 aliases.put("CYRL", CYRILLIC);
8290 aliases.put("DEVA", DEVANAGARI);
8291 aliases.put("DIAK", DIVES_AKURU);
8292 aliases.put("DOGR", DOGRA);
8293 aliases.put("DSRT", DESERET);
8294 aliases.put("DUPL", DUPLOYAN);
8295 aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
8296 aliases.put("ELBA", ELBASAN);
8297 aliases.put("ELYM", ELYMAIC);
8298 aliases.put("ETHI", ETHIOPIC);
8299 aliases.put("GEOR", GEORGIAN);
8300 aliases.put("GLAG", GLAGOLITIC);
8301 aliases.put("GONM", MASARAM_GONDI);
8302 aliases.put("GOTH", GOTHIC);
8303 aliases.put("GONG", GUNJALA_GONDI);
8304 aliases.put("GRAN", GRANTHA);
8305 aliases.put("GREK", GREEK);
8306 aliases.put("GUJR", GUJARATI);
8307 aliases.put("GURU", GURMUKHI);
8308 aliases.put("HANG", HANGUL);
8309 aliases.put("HANI", HAN);
8310 aliases.put("HANO", HANUNOO);
8311 aliases.put("HATR", HATRAN);
8312 aliases.put("HEBR", HEBREW);
8313 aliases.put("HIRA", HIRAGANA);
8314 aliases.put("HLUW", ANATOLIAN_HIEROGLYPHS);
8315 aliases.put("HMNG", PAHAWH_HMONG);
8316 aliases.put("HMNP", NYIAKENG_PUACHUE_HMONG);
8317 // it appears we don't have the KATAKANA_OR_HIRAGANA
8318 //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
8319 aliases.put("HUNG", OLD_HUNGARIAN);
8320 aliases.put("ITAL", OLD_ITALIC);
8321 aliases.put("JAVA", JAVANESE);
8322 aliases.put("KALI", KAYAH_LI);
8323 aliases.put("KANA", KATAKANA);
8324 aliases.put("KHAR", KHAROSHTHI);
8325 aliases.put("KHMR", KHMER);
8326 aliases.put("KHOJ", KHOJKI);
8327 aliases.put("KITS", KHITAN_SMALL_SCRIPT);
8328 aliases.put("KNDA", KANNADA);
8329 aliases.put("KTHI", KAITHI);
8330 aliases.put("LANA", TAI_THAM);
8331 aliases.put("LAOO", LAO);
8332 aliases.put("LATN", LATIN);
8333 aliases.put("LEPC", LEPCHA);
8334 aliases.put("LIMB", LIMBU);
8335 aliases.put("LINA", LINEAR_A);
8336 aliases.put("LINB", LINEAR_B);
8337 aliases.put("LISU", LISU);
8338 aliases.put("LYCI", LYCIAN);
8339 aliases.put("LYDI", LYDIAN);
8340 aliases.put("MAHJ", MAHAJANI);
8341 aliases.put("MAKA", MAKASAR);
8342 aliases.put("MARC", MARCHEN);
8343 aliases.put("MAND", MANDAIC);
8344 aliases.put("MANI", MANICHAEAN);
8345 aliases.put("MEDF", MEDEFAIDRIN);
8346 aliases.put("MEND", MENDE_KIKAKUI);
8347 aliases.put("MERC", MEROITIC_CURSIVE);
8397 aliases.put("TAKR", TAKRI);
8398 aliases.put("TALE", TAI_LE);
8399 aliases.put("TALU", NEW_TAI_LUE);
8400 aliases.put("TAML", TAMIL);
8401 aliases.put("TANG", TANGUT);
8402 aliases.put("TAVT", TAI_VIET);
8403 aliases.put("TELU", TELUGU);
8404 aliases.put("TFNG", TIFINAGH);
8405 aliases.put("TGLG", TAGALOG);
8406 aliases.put("THAA", THAANA);
8407 aliases.put("THAI", THAI);
8408 aliases.put("TIBT", TIBETAN);
8409 aliases.put("TIRH", TIRHUTA);
8410 aliases.put("UGAR", UGARITIC);
8411 aliases.put("VAII", VAI);
8412 aliases.put("WARA", WARANG_CITI);
8413 aliases.put("WCHO", WANCHO);
8414 aliases.put("XPEO", OLD_PERSIAN);
8415 aliases.put("XSUX", CUNEIFORM);
8416 aliases.put("YIII", YI);
8417 aliases.put("YEZI", YEZIDI);
8418 aliases.put("ZANB", ZANABAZAR_SQUARE);
8419 aliases.put("ZINH", INHERITED);
8420 aliases.put("ZYYY", COMMON);
8421 aliases.put("ZZZZ", UNKNOWN);
8422 }
8423
8424 /**
8425 * Returns the enum constant representing the Unicode script of which
8426 * the given character (Unicode code point) is assigned to.
8427 *
8428 * @param codePoint the character (Unicode code point) in question.
8429 * @return The {@code UnicodeScript} constant representing the
8430 * Unicode script of which this character is assigned to.
8431 *
8432 * @throws IllegalArgumentException if the specified
8433 * {@code codePoint} is an invalid Unicode code point.
8434 * @see Character#isValidCodePoint(int)
8435 *
8436 */
8437 public static UnicodeScript of(int codePoint) {
|