< prev index next >

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

Print this page




 476     /**
 477      * Strong bidirectional character type "RLE" in the Unicode specification.
 478      * @since 1.4
 479      */
 480     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16;
 481 
 482     /**
 483      * Strong bidirectional character type "RLO" in the Unicode specification.
 484      * @since 1.4
 485      */
 486     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17;
 487 
 488     /**
 489      * Weak bidirectional character type "PDF" in the Unicode specification.
 490      * @since 1.4
 491      */
 492     public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18;
 493 
 494     /**
 495      * Weak bidirectional character type "LRI" in the Unicode specification.
 496      * @since 1.9
 497      */
 498     public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE = 19;
 499 
 500     /**
 501      * Weak bidirectional character type "RLI" in the Unicode specification.
 502      * @since 1.9
 503      */
 504     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE = 20;
 505 
 506     /**
 507      * Weak bidirectional character type "FSI" in the Unicode specification.
 508      * @since 1.9
 509      */
 510     public static final byte DIRECTIONALITY_FIRST_STRONG_ISOLATE = 21;
 511 
 512     /**
 513      * Weak bidirectional character type "PDI" in the Unicode specification.
 514      * @since 1.9
 515      */
 516     public static final byte DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE = 22;
 517 
 518     /**
 519      * The minimum value of a
 520      * <a href="http://www.unicode.org/glossary/#high_surrogate_code_unit">
 521      * Unicode high-surrogate code unit</a>
 522      * in the UTF-16 encoding, constant {@code '\u005CuD800'}.
 523      * A high-surrogate is also known as a <i>leading-surrogate</i>.
 524      *
 525      * @since 1.5
 526      */
 527     public static final char MIN_HIGH_SURROGATE = '\uD800';
 528 
 529     /**
 530      * The maximum value of a
 531      * <a href="http://www.unicode.org/glossary/#high_surrogate_code_unit">
 532      * Unicode high-surrogate code unit</a>
 533      * in the UTF-16 encoding, constant {@code '\u005CuDBFF'}.
 534      * A high-surrogate is also known as a <i>leading-surrogate</i>.


2573         /**
2574          * Constant for the "Miao" Unicode character block.
2575          * @since 1.8
2576          */
2577         public static final UnicodeBlock MIAO =
2578             new UnicodeBlock("MIAO");
2579 
2580         /**
2581          * Constant for the "Arabic Mathematical Alphabetic Symbols" Unicode
2582          * character block.
2583          * @since 1.8
2584          */
2585         public static final UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS =
2586             new UnicodeBlock("ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS",
2587                              "ARABIC MATHEMATICAL ALPHABETIC SYMBOLS",
2588                              "ARABICMATHEMATICALALPHABETICSYMBOLS");
2589 
2590         /**
2591          * Constant for the "Combining Diacritical Marks Extended" Unicode
2592          * character block.
2593          * @since 1.9
2594          */
2595         public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED =
2596             new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_EXTENDED",
2597                              "COMBINING DIACRITICAL MARKS EXTENDED",
2598                              "COMBININGDIACRITICALMARKSEXTENDED");
2599 
2600         /**
2601          * Constant for the "Myanmar Extended-B" Unicode character block.
2602          * @since 1.9
2603          */
2604         public static final UnicodeBlock MYANMAR_EXTENDED_B =
2605             new UnicodeBlock("MYANMAR_EXTENDED_B",
2606                              "MYANMAR EXTENDED-B",
2607                              "MYANMAREXTENDED-B");
2608 
2609         /**
2610          * Constant for the "Latin Extended-E" Unicode character block.
2611          * @since 1.9
2612          */
2613         public static final UnicodeBlock LATIN_EXTENDED_E =
2614             new UnicodeBlock("LATIN_EXTENDED_E",
2615                              "LATIN EXTENDED-E",
2616                              "LATINEXTENDED-E");
2617 
2618         /**
2619          * Constant for the "Coptic Epact Numbers" Unicode character block.
2620          * @since 1.9
2621          */
2622         public static final UnicodeBlock COPTIC_EPACT_NUMBERS =
2623             new UnicodeBlock("COPTIC_EPACT_NUMBERS",
2624                              "COPTIC EPACT NUMBERS",
2625                              "COPTICEPACTNUMBERS");
2626 
2627         /**
2628          * Constant for the "Old Permic" Unicode character block.
2629          * @since 1.9
2630          */
2631         public static final UnicodeBlock OLD_PERMIC =
2632             new UnicodeBlock("OLD_PERMIC",
2633                              "OLD PERMIC",
2634                              "OLDPERMIC");
2635 
2636         /**
2637          * Constant for the "Elbasan" Unicode character block.
2638          * @since 1.9
2639          */
2640         public static final UnicodeBlock ELBASAN =
2641             new UnicodeBlock("ELBASAN");
2642 
2643         /**
2644          * Constant for the "Caucasian Albanian" Unicode character block.
2645          * @since 1.9
2646          */
2647         public static final UnicodeBlock CAUCASIAN_ALBANIAN =
2648             new UnicodeBlock("CAUCASIAN_ALBANIAN",
2649                              "CAUCASIAN ALBANIAN",
2650                              "CAUCASIANALBANIAN");
2651 
2652         /**
2653          * Constant for the "Linear A" Unicode character block.
2654          * @since 1.9
2655          */
2656         public static final UnicodeBlock LINEAR_A =
2657             new UnicodeBlock("LINEAR_A",
2658                              "LINEAR A",
2659                              "LINEARA");
2660 
2661         /**
2662          * Constant for the "Palmyrene" Unicode character block.
2663          * @since 1.9
2664          */
2665         public static final UnicodeBlock PALMYRENE =
2666             new UnicodeBlock("PALMYRENE");
2667 
2668         /**
2669          * Constant for the "Nabataean" Unicode character block.
2670          * @since 1.9
2671          */
2672         public static final UnicodeBlock NABATAEAN =
2673             new UnicodeBlock("NABATAEAN");
2674 
2675         /**
2676          * Constant for the "Old North Arabian" Unicode character block.
2677          * @since 1.9
2678          */
2679         public static final UnicodeBlock OLD_NORTH_ARABIAN =
2680             new UnicodeBlock("OLD_NORTH_ARABIAN",
2681                              "OLD NORTH ARABIAN",
2682                              "OLDNORTHARABIAN");
2683 
2684         /**
2685          * Constant for the "Manichaean" Unicode character block.
2686          * @since 1.9
2687          */
2688         public static final UnicodeBlock MANICHAEAN =
2689             new UnicodeBlock("MANICHAEAN");
2690 
2691         /**
2692          * Constant for the "Psalter Pahlavi" Unicode character block.
2693          * @since 1.9
2694          */
2695         public static final UnicodeBlock PSALTER_PAHLAVI =
2696             new UnicodeBlock("PSALTER_PAHLAVI",
2697                              "PSALTER PAHLAVI",
2698                              "PSALTERPAHLAVI");
2699 
2700         /**
2701          * Constant for the "Mahajani" Unicode character block.
2702          * @since 1.9
2703          */
2704         public static final UnicodeBlock MAHAJANI =
2705             new UnicodeBlock("MAHAJANI");
2706 
2707         /**
2708          * Constant for the "Sinhala Archaic Numbers" Unicode character block.
2709          * @since 1.9
2710          */
2711         public static final UnicodeBlock SINHALA_ARCHAIC_NUMBERS =
2712             new UnicodeBlock("SINHALA_ARCHAIC_NUMBERS",
2713                              "SINHALA ARCHAIC NUMBERS",
2714                              "SINHALAARCHAICNUMBERS");
2715 
2716         /**
2717          * Constant for the "Khojki" Unicode character block.
2718          * @since 1.9
2719          */
2720         public static final UnicodeBlock KHOJKI =
2721             new UnicodeBlock("KHOJKI");
2722 
2723         /**
2724          * Constant for the "Khudawadi" Unicode character block.
2725          * @since 1.9
2726          */
2727         public static final UnicodeBlock KHUDAWADI =
2728             new UnicodeBlock("KHUDAWADI");
2729 
2730         /**
2731          * Constant for the "Grantha" Unicode character block.
2732          * @since 1.9
2733          */
2734         public static final UnicodeBlock GRANTHA =
2735             new UnicodeBlock("GRANTHA");
2736 
2737         /**
2738          * Constant for the "Tirhuta" Unicode character block.
2739          * @since 1.9
2740          */
2741         public static final UnicodeBlock TIRHUTA =
2742             new UnicodeBlock("TIRHUTA");
2743 
2744         /**
2745          * Constant for the "Siddham" Unicode character block.
2746          * @since 1.9
2747          */
2748         public static final UnicodeBlock SIDDHAM =
2749             new UnicodeBlock("SIDDHAM");
2750 
2751         /**
2752          * Constant for the "Modi" Unicode character block.
2753          * @since 1.9
2754          */
2755         public static final UnicodeBlock MODI =
2756             new UnicodeBlock("MODI");
2757 
2758         /**
2759          * Constant for the "Warang Citi" Unicode character block.
2760          * @since 1.9
2761          */
2762         public static final UnicodeBlock WARANG_CITI =
2763             new UnicodeBlock("WARANG_CITI",
2764                              "WARANG CITI",
2765                              "WARANGCITI");
2766 
2767         /**
2768          * Constant for the "Pau Cin Hau" Unicode character block.
2769          * @since 1.9
2770          */
2771         public static final UnicodeBlock PAU_CIN_HAU =
2772             new UnicodeBlock("PAU_CIN_HAU",
2773                              "PAU CIN HAU",
2774                              "PAUCINHAU");
2775 
2776         /**
2777          * Constant for the "Mro" Unicode character block.
2778          * @since 1.9
2779          */
2780         public static final UnicodeBlock MRO =
2781             new UnicodeBlock("MRO");
2782 
2783         /**
2784          * Constant for the "Bassa Vah" Unicode character block.
2785          * @since 1.9
2786          */
2787         public static final UnicodeBlock BASSA_VAH =
2788             new UnicodeBlock("BASSA_VAH",
2789                              "BASSA VAH",
2790                              "BASSAVAH");
2791 
2792         /**
2793          * Constant for the "Pahawh Hmong" Unicode character block.
2794          * @since 1.9
2795          */
2796         public static final UnicodeBlock PAHAWH_HMONG =
2797             new UnicodeBlock("PAHAWH_HMONG",
2798                              "PAHAWH HMONG",
2799                              "PAHAWHHMONG");
2800 
2801         /**
2802          * Constant for the "Duployan" Unicode character block.
2803          * @since 1.9
2804          */
2805         public static final UnicodeBlock DUPLOYAN =
2806             new UnicodeBlock("DUPLOYAN");
2807 
2808         /**
2809          * Constant for the "Shorthand Format Controls" Unicode character block.
2810          * @since 1.9
2811          */
2812         public static final UnicodeBlock SHORTHAND_FORMAT_CONTROLS =
2813             new UnicodeBlock("SHORTHAND_FORMAT_CONTROLS",
2814                              "SHORTHAND FORMAT CONTROLS",
2815                              "SHORTHANDFORMATCONTROLS");
2816 
2817         /**
2818          * Constant for the "Mende Kikakui" Unicode character block.
2819          * @since 1.9
2820          */
2821         public static final UnicodeBlock MENDE_KIKAKUI =
2822             new UnicodeBlock("MENDE_KIKAKUI",
2823                              "MENDE KIKAKUI",
2824                              "MENDEKIKAKUI");
2825 
2826         /**
2827          * Constant for the "Ornamental Dingbats" Unicode character block.
2828          * @since 1.9
2829          */
2830         public static final UnicodeBlock ORNAMENTAL_DINGBATS =
2831             new UnicodeBlock("ORNAMENTAL_DINGBATS",
2832                              "ORNAMENTAL DINGBATS",
2833                              "ORNAMENTALDINGBATS");
2834 
2835         /**
2836          * Constant for the "Geometric Shapes Extended" Unicode character block.
2837          * @since 1.9
2838          */
2839         public static final UnicodeBlock GEOMETRIC_SHAPES_EXTENDED =
2840             new UnicodeBlock("GEOMETRIC_SHAPES_EXTENDED",
2841                              "GEOMETRIC SHAPES EXTENDED",
2842                              "GEOMETRICSHAPESEXTENDED");
2843 
2844         /**
2845          * Constant for the "Supplemental Arrows-C" Unicode character block.
2846          * @since 1.9
2847          */
2848         public static final UnicodeBlock SUPPLEMENTAL_ARROWS_C =
2849             new UnicodeBlock("SUPPLEMENTAL_ARROWS_C",
2850                              "SUPPLEMENTAL ARROWS-C",
2851                              "SUPPLEMENTALARROWS-C");
2852 
2853         /**
2854          * Constant for the "Cherokee Supplement" Unicode character block.
2855          * @since 1.9
2856          */
2857         public static final UnicodeBlock CHEROKEE_SUPPLEMENT =
2858             new UnicodeBlock("CHEROKEE_SUPPLEMENT",
2859                              "CHEROKEE SUPPLEMENT",
2860                              "CHEROKEESUPPLEMENT");
2861 
2862         /**
2863          * Constant for the "Hatran" Unicode character block.
2864          * @since 1.9
2865          */
2866         public static final UnicodeBlock HATRAN =
2867             new UnicodeBlock("HATRAN");
2868 
2869         /**
2870          * Constant for the "Old Hungarian" Unicode character block.
2871          * @since 1.9
2872          */
2873         public static final UnicodeBlock OLD_HUNGARIAN =
2874             new UnicodeBlock("OLD_HUNGARIAN",
2875                              "OLD HUNGARIAN",
2876                              "OLDHUNGARIAN");
2877 
2878         /**
2879          * Constant for the "Multani" Unicode character block.
2880          * @since 1.9
2881          */
2882         public static final UnicodeBlock MULTANI =
2883             new UnicodeBlock("MULTANI");
2884 
2885         /**
2886          * Constant for the "Ahom" Unicode character block.
2887          * @since 1.9
2888          */
2889         public static final UnicodeBlock AHOM =
2890             new UnicodeBlock("AHOM");
2891 
2892         /**
2893          * Constant for the "Early Dynastic Cuneiform" Unicode character block.
2894          * @since 1.9
2895          */
2896         public static final UnicodeBlock EARLY_DYNASTIC_CUNEIFORM =
2897             new UnicodeBlock("EARLY_DYNASTIC_CUNEIFORM",
2898                              "EARLY DYNASTIC CUNEIFORM",
2899                              "EARLYDYNASTICCUNEIFORM");
2900 
2901         /**
2902          * Constant for the "Anatolian Hieroglyphs" Unicode character block.
2903          * @since 1.9
2904          */
2905         public static final UnicodeBlock ANATOLIAN_HIEROGLYPHS =
2906             new UnicodeBlock("ANATOLIAN_HIEROGLYPHS",
2907                              "ANATOLIAN HIEROGLYPHS",
2908                              "ANATOLIANHIEROGLYPHS");
2909 
2910         /**
2911          * Constant for the "Sutton SignWriting" Unicode character block.
2912          * @since 1.9
2913          */
2914         public static final UnicodeBlock SUTTON_SIGNWRITING =
2915             new UnicodeBlock("SUTTON_SIGNWRITING",
2916                              "SUTTON SIGNWRITING",
2917                              "SUTTONSIGNWRITING");
2918 
2919         /**
2920          * Constant for the "Supplemental Symbols and Pictographs" Unicode
2921          * character block.
2922          * @since 1.9
2923          */
2924         public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS =
2925             new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS",
2926                              "SUPPLEMENTAL SYMBOLS AND PICTOGRAPHS",
2927                              "SUPPLEMENTALSYMBOLSANDPICTOGRAPHS");
2928 
2929         /**
2930          * Constant for the "CJK Unified Ideographs Extension E" Unicode
2931          * character block.
2932          * @since 1.9
2933          */
2934         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E =
2935             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E",
2936                              "CJK UNIFIED IDEOGRAPHS EXTENSION E",
2937                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONE");
2938 
2939 
2940         private static final int blockStarts[] = {
2941             0x0000,   // 0000..007F; Basic Latin
2942             0x0080,   // 0080..00FF; Latin-1 Supplement
2943             0x0100,   // 0100..017F; Latin Extended-A
2944             0x0180,   // 0180..024F; Latin Extended-B
2945             0x0250,   // 0250..02AF; IPA Extensions
2946             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
2947             0x0300,   // 0300..036F; Combining Diacritical Marks
2948             0x0370,   // 0370..03FF; Greek and Coptic
2949             0x0400,   // 0400..04FF; Cyrillic
2950             0x0500,   // 0500..052F; Cyrillic Supplement
2951             0x0530,   // 0530..058F; Armenian
2952             0x0590,   // 0590..05FF; Hebrew


4172         /**
4173          * Unicode script "Sharada".
4174          * @since 1.8
4175          */
4176         SHARADA,
4177 
4178         /**
4179          * Unicode script "Takri".
4180          * @since 1.8
4181          */
4182         TAKRI,
4183 
4184         /**
4185          * Unicode script "Miao".
4186          * @since 1.8
4187          */
4188         MIAO,
4189 
4190         /**
4191          * Unicode script "Caucasian Albanian".
4192          * @since 1.9
4193          */
4194         CAUCASIAN_ALBANIAN,
4195 
4196         /**
4197          * Unicode script "Bassa Vah".
4198          * @since 1.9
4199          */
4200         BASSA_VAH,
4201 
4202         /**
4203          * Unicode script "Duployan".
4204          * @since 1.9
4205          */
4206         DUPLOYAN,
4207 
4208         /**
4209          * Unicode script "Elbasan".
4210          * @since 1.9
4211          */
4212         ELBASAN,
4213 
4214         /**
4215          * Unicode script "Grantha".
4216          * @since 1.9
4217          */
4218         GRANTHA,
4219 
4220         /**
4221          * Unicode script "Pahawh Hmong".
4222          * @since 1.9
4223          */
4224         PAHAWH_HMONG,
4225 
4226         /**
4227          * Unicode script "Khojki".
4228          * @since 1.9
4229          */
4230         KHOJKI,
4231 
4232         /**
4233          * Unicode script "Linear A".
4234          * @since 1.9
4235          */
4236         LINEAR_A,
4237 
4238         /**
4239          * Unicode script "Mahajani".
4240          * @since 1.9
4241          */
4242         MAHAJANI,
4243 
4244         /**
4245          * Unicode script "Manichaean".
4246          * @since 1.9
4247          */
4248         MANICHAEAN,
4249 
4250         /**
4251          * Unicode script "Mende Kikakui".
4252          * @since 1.9
4253          */
4254         MENDE_KIKAKUI,
4255 
4256         /**
4257          * Unicode script "Modi".
4258          * @since 1.9
4259          */
4260         MODI,
4261 
4262         /**
4263          * Unicode script "Mro".
4264          * @since 1.9
4265          */
4266         MRO,
4267 
4268         /**
4269          * Unicode script "Old North Arabian".
4270          * @since 1.9
4271          */
4272         OLD_NORTH_ARABIAN,
4273 
4274         /**
4275          * Unicode script "Nabataean".
4276          * @since 1.9
4277          */
4278         NABATAEAN,
4279 
4280         /**
4281          * Unicode script "Palmyrene".
4282          * @since 1.9
4283          */
4284         PALMYRENE,
4285 
4286         /**
4287          * Unicode script "Pau Cin Hau".
4288          * @since 1.9
4289          */
4290         PAU_CIN_HAU,
4291 
4292         /**
4293          * Unicode script "Old Permic".
4294          * @since 1.9
4295          */
4296         OLD_PERMIC,
4297 
4298         /**
4299          * Unicode script "Psalter Pahlavi".
4300          * @since 1.9
4301          */
4302         PSALTER_PAHLAVI,
4303 
4304         /**
4305          * Unicode script "Siddham".
4306          * @since 1.9
4307          */
4308         SIDDHAM,
4309 
4310         /**
4311          * Unicode script "Khudawadi".
4312          * @since 1.9
4313          */
4314         KHUDAWADI,
4315 
4316         /**
4317          * Unicode script "Tirhuta".
4318          * @since 1.9
4319          */
4320         TIRHUTA,
4321 
4322         /**
4323          * Unicode script "Warang Citi".
4324          * @since 1.9
4325          */
4326         WARANG_CITI,
4327 
4328          /**
4329          * Unicode script "Ahom".
4330          * @since 1.9
4331          */
4332         AHOM,
4333 
4334         /**
4335          * Unicode script "Anatolian Hieroglyphs".
4336          * @since 1.9
4337          */
4338         ANATOLIAN_HIEROGLYPHS,
4339 
4340         /**
4341          * Unicode script "Hatran".
4342          * @since 1.9
4343          */
4344         HATRAN,
4345 
4346         /**
4347          * Unicode script "Multani".
4348          * @since 1.9
4349          */
4350         MULTANI,
4351 
4352         /**
4353          * Unicode script "Old Hungarian".
4354          * @since 1.9
4355          */
4356         OLD_HUNGARIAN,
4357 
4358         /**
4359          * Unicode script "SignWriting".
4360          * @since 1.9
4361          */
4362         SIGNWRITING,
4363 
4364         /**
4365          * Unicode script "Unknown".
4366          */
4367         UNKNOWN;
4368 
4369         private static final int[] scriptStarts = {
4370             0x0000,   // 0000..0040; COMMON
4371             0x0041,   // 0041..005A; LATIN
4372             0x005B,   // 005B..0060; COMMON
4373             0x0061,   // 0061..007A; LATIN
4374             0x007B,   // 007B..00A9; COMMON
4375             0x00AA,   // 00AA      ; LATIN
4376             0x00AB,   // 00AB..00B9; COMMON
4377             0x00BA,   // 00BA      ; LATIN
4378             0x00BB,   // 00BB..00BF; COMMON
4379             0x00C0,   // 00C0..00D6; LATIN
4380             0x00D7,   // 00D7      ; COMMON




 476     /**
 477      * Strong bidirectional character type "RLE" in the Unicode specification.
 478      * @since 1.4
 479      */
 480     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16;
 481 
 482     /**
 483      * Strong bidirectional character type "RLO" in the Unicode specification.
 484      * @since 1.4
 485      */
 486     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17;
 487 
 488     /**
 489      * Weak bidirectional character type "PDF" in the Unicode specification.
 490      * @since 1.4
 491      */
 492     public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18;
 493 
 494     /**
 495      * Weak bidirectional character type "LRI" in the Unicode specification.
 496      * @since 9
 497      */
 498     public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE = 19;
 499 
 500     /**
 501      * Weak bidirectional character type "RLI" in the Unicode specification.
 502      * @since 9
 503      */
 504     public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE = 20;
 505 
 506     /**
 507      * Weak bidirectional character type "FSI" in the Unicode specification.
 508      * @since 9
 509      */
 510     public static final byte DIRECTIONALITY_FIRST_STRONG_ISOLATE = 21;
 511 
 512     /**
 513      * Weak bidirectional character type "PDI" in the Unicode specification.
 514      * @since 9
 515      */
 516     public static final byte DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE = 22;
 517 
 518     /**
 519      * The minimum value of a
 520      * <a href="http://www.unicode.org/glossary/#high_surrogate_code_unit">
 521      * Unicode high-surrogate code unit</a>
 522      * in the UTF-16 encoding, constant {@code '\u005CuD800'}.
 523      * A high-surrogate is also known as a <i>leading-surrogate</i>.
 524      *
 525      * @since 1.5
 526      */
 527     public static final char MIN_HIGH_SURROGATE = '\uD800';
 528 
 529     /**
 530      * The maximum value of a
 531      * <a href="http://www.unicode.org/glossary/#high_surrogate_code_unit">
 532      * Unicode high-surrogate code unit</a>
 533      * in the UTF-16 encoding, constant {@code '\u005CuDBFF'}.
 534      * A high-surrogate is also known as a <i>leading-surrogate</i>.


2573         /**
2574          * Constant for the "Miao" Unicode character block.
2575          * @since 1.8
2576          */
2577         public static final UnicodeBlock MIAO =
2578             new UnicodeBlock("MIAO");
2579 
2580         /**
2581          * Constant for the "Arabic Mathematical Alphabetic Symbols" Unicode
2582          * character block.
2583          * @since 1.8
2584          */
2585         public static final UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS =
2586             new UnicodeBlock("ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS",
2587                              "ARABIC MATHEMATICAL ALPHABETIC SYMBOLS",
2588                              "ARABICMATHEMATICALALPHABETICSYMBOLS");
2589 
2590         /**
2591          * Constant for the "Combining Diacritical Marks Extended" Unicode
2592          * character block.
2593          * @since 9
2594          */
2595         public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED =
2596             new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_EXTENDED",
2597                              "COMBINING DIACRITICAL MARKS EXTENDED",
2598                              "COMBININGDIACRITICALMARKSEXTENDED");
2599 
2600         /**
2601          * Constant for the "Myanmar Extended-B" Unicode character block.
2602          * @since 9
2603          */
2604         public static final UnicodeBlock MYANMAR_EXTENDED_B =
2605             new UnicodeBlock("MYANMAR_EXTENDED_B",
2606                              "MYANMAR EXTENDED-B",
2607                              "MYANMAREXTENDED-B");
2608 
2609         /**
2610          * Constant for the "Latin Extended-E" Unicode character block.
2611          * @since 9
2612          */
2613         public static final UnicodeBlock LATIN_EXTENDED_E =
2614             new UnicodeBlock("LATIN_EXTENDED_E",
2615                              "LATIN EXTENDED-E",
2616                              "LATINEXTENDED-E");
2617 
2618         /**
2619          * Constant for the "Coptic Epact Numbers" Unicode character block.
2620          * @since 9
2621          */
2622         public static final UnicodeBlock COPTIC_EPACT_NUMBERS =
2623             new UnicodeBlock("COPTIC_EPACT_NUMBERS",
2624                              "COPTIC EPACT NUMBERS",
2625                              "COPTICEPACTNUMBERS");
2626 
2627         /**
2628          * Constant for the "Old Permic" Unicode character block.
2629          * @since 9
2630          */
2631         public static final UnicodeBlock OLD_PERMIC =
2632             new UnicodeBlock("OLD_PERMIC",
2633                              "OLD PERMIC",
2634                              "OLDPERMIC");
2635 
2636         /**
2637          * Constant for the "Elbasan" Unicode character block.
2638          * @since 9
2639          */
2640         public static final UnicodeBlock ELBASAN =
2641             new UnicodeBlock("ELBASAN");
2642 
2643         /**
2644          * Constant for the "Caucasian Albanian" Unicode character block.
2645          * @since 9
2646          */
2647         public static final UnicodeBlock CAUCASIAN_ALBANIAN =
2648             new UnicodeBlock("CAUCASIAN_ALBANIAN",
2649                              "CAUCASIAN ALBANIAN",
2650                              "CAUCASIANALBANIAN");
2651 
2652         /**
2653          * Constant for the "Linear A" Unicode character block.
2654          * @since 9
2655          */
2656         public static final UnicodeBlock LINEAR_A =
2657             new UnicodeBlock("LINEAR_A",
2658                              "LINEAR A",
2659                              "LINEARA");
2660 
2661         /**
2662          * Constant for the "Palmyrene" Unicode character block.
2663          * @since 9
2664          */
2665         public static final UnicodeBlock PALMYRENE =
2666             new UnicodeBlock("PALMYRENE");
2667 
2668         /**
2669          * Constant for the "Nabataean" Unicode character block.
2670          * @since 9
2671          */
2672         public static final UnicodeBlock NABATAEAN =
2673             new UnicodeBlock("NABATAEAN");
2674 
2675         /**
2676          * Constant for the "Old North Arabian" Unicode character block.
2677          * @since 9
2678          */
2679         public static final UnicodeBlock OLD_NORTH_ARABIAN =
2680             new UnicodeBlock("OLD_NORTH_ARABIAN",
2681                              "OLD NORTH ARABIAN",
2682                              "OLDNORTHARABIAN");
2683 
2684         /**
2685          * Constant for the "Manichaean" Unicode character block.
2686          * @since 9
2687          */
2688         public static final UnicodeBlock MANICHAEAN =
2689             new UnicodeBlock("MANICHAEAN");
2690 
2691         /**
2692          * Constant for the "Psalter Pahlavi" Unicode character block.
2693          * @since 9
2694          */
2695         public static final UnicodeBlock PSALTER_PAHLAVI =
2696             new UnicodeBlock("PSALTER_PAHLAVI",
2697                              "PSALTER PAHLAVI",
2698                              "PSALTERPAHLAVI");
2699 
2700         /**
2701          * Constant for the "Mahajani" Unicode character block.
2702          * @since 9
2703          */
2704         public static final UnicodeBlock MAHAJANI =
2705             new UnicodeBlock("MAHAJANI");
2706 
2707         /**
2708          * Constant for the "Sinhala Archaic Numbers" Unicode character block.
2709          * @since 9
2710          */
2711         public static final UnicodeBlock SINHALA_ARCHAIC_NUMBERS =
2712             new UnicodeBlock("SINHALA_ARCHAIC_NUMBERS",
2713                              "SINHALA ARCHAIC NUMBERS",
2714                              "SINHALAARCHAICNUMBERS");
2715 
2716         /**
2717          * Constant for the "Khojki" Unicode character block.
2718          * @since 9
2719          */
2720         public static final UnicodeBlock KHOJKI =
2721             new UnicodeBlock("KHOJKI");
2722 
2723         /**
2724          * Constant for the "Khudawadi" Unicode character block.
2725          * @since 9
2726          */
2727         public static final UnicodeBlock KHUDAWADI =
2728             new UnicodeBlock("KHUDAWADI");
2729 
2730         /**
2731          * Constant for the "Grantha" Unicode character block.
2732          * @since 9
2733          */
2734         public static final UnicodeBlock GRANTHA =
2735             new UnicodeBlock("GRANTHA");
2736 
2737         /**
2738          * Constant for the "Tirhuta" Unicode character block.
2739          * @since 9
2740          */
2741         public static final UnicodeBlock TIRHUTA =
2742             new UnicodeBlock("TIRHUTA");
2743 
2744         /**
2745          * Constant for the "Siddham" Unicode character block.
2746          * @since 9
2747          */
2748         public static final UnicodeBlock SIDDHAM =
2749             new UnicodeBlock("SIDDHAM");
2750 
2751         /**
2752          * Constant for the "Modi" Unicode character block.
2753          * @since 9
2754          */
2755         public static final UnicodeBlock MODI =
2756             new UnicodeBlock("MODI");
2757 
2758         /**
2759          * Constant for the "Warang Citi" Unicode character block.
2760          * @since 9
2761          */
2762         public static final UnicodeBlock WARANG_CITI =
2763             new UnicodeBlock("WARANG_CITI",
2764                              "WARANG CITI",
2765                              "WARANGCITI");
2766 
2767         /**
2768          * Constant for the "Pau Cin Hau" Unicode character block.
2769          * @since 9
2770          */
2771         public static final UnicodeBlock PAU_CIN_HAU =
2772             new UnicodeBlock("PAU_CIN_HAU",
2773                              "PAU CIN HAU",
2774                              "PAUCINHAU");
2775 
2776         /**
2777          * Constant for the "Mro" Unicode character block.
2778          * @since 9
2779          */
2780         public static final UnicodeBlock MRO =
2781             new UnicodeBlock("MRO");
2782 
2783         /**
2784          * Constant for the "Bassa Vah" Unicode character block.
2785          * @since 9
2786          */
2787         public static final UnicodeBlock BASSA_VAH =
2788             new UnicodeBlock("BASSA_VAH",
2789                              "BASSA VAH",
2790                              "BASSAVAH");
2791 
2792         /**
2793          * Constant for the "Pahawh Hmong" Unicode character block.
2794          * @since 9
2795          */
2796         public static final UnicodeBlock PAHAWH_HMONG =
2797             new UnicodeBlock("PAHAWH_HMONG",
2798                              "PAHAWH HMONG",
2799                              "PAHAWHHMONG");
2800 
2801         /**
2802          * Constant for the "Duployan" Unicode character block.
2803          * @since 9
2804          */
2805         public static final UnicodeBlock DUPLOYAN =
2806             new UnicodeBlock("DUPLOYAN");
2807 
2808         /**
2809          * Constant for the "Shorthand Format Controls" Unicode character block.
2810          * @since 9
2811          */
2812         public static final UnicodeBlock SHORTHAND_FORMAT_CONTROLS =
2813             new UnicodeBlock("SHORTHAND_FORMAT_CONTROLS",
2814                              "SHORTHAND FORMAT CONTROLS",
2815                              "SHORTHANDFORMATCONTROLS");
2816 
2817         /**
2818          * Constant for the "Mende Kikakui" Unicode character block.
2819          * @since 9
2820          */
2821         public static final UnicodeBlock MENDE_KIKAKUI =
2822             new UnicodeBlock("MENDE_KIKAKUI",
2823                              "MENDE KIKAKUI",
2824                              "MENDEKIKAKUI");
2825 
2826         /**
2827          * Constant for the "Ornamental Dingbats" Unicode character block.
2828          * @since 9
2829          */
2830         public static final UnicodeBlock ORNAMENTAL_DINGBATS =
2831             new UnicodeBlock("ORNAMENTAL_DINGBATS",
2832                              "ORNAMENTAL DINGBATS",
2833                              "ORNAMENTALDINGBATS");
2834 
2835         /**
2836          * Constant for the "Geometric Shapes Extended" Unicode character block.
2837          * @since 9
2838          */
2839         public static final UnicodeBlock GEOMETRIC_SHAPES_EXTENDED =
2840             new UnicodeBlock("GEOMETRIC_SHAPES_EXTENDED",
2841                              "GEOMETRIC SHAPES EXTENDED",
2842                              "GEOMETRICSHAPESEXTENDED");
2843 
2844         /**
2845          * Constant for the "Supplemental Arrows-C" Unicode character block.
2846          * @since 9
2847          */
2848         public static final UnicodeBlock SUPPLEMENTAL_ARROWS_C =
2849             new UnicodeBlock("SUPPLEMENTAL_ARROWS_C",
2850                              "SUPPLEMENTAL ARROWS-C",
2851                              "SUPPLEMENTALARROWS-C");
2852 
2853         /**
2854          * Constant for the "Cherokee Supplement" Unicode character block.
2855          * @since 9
2856          */
2857         public static final UnicodeBlock CHEROKEE_SUPPLEMENT =
2858             new UnicodeBlock("CHEROKEE_SUPPLEMENT",
2859                              "CHEROKEE SUPPLEMENT",
2860                              "CHEROKEESUPPLEMENT");
2861 
2862         /**
2863          * Constant for the "Hatran" Unicode character block.
2864          * @since 9
2865          */
2866         public static final UnicodeBlock HATRAN =
2867             new UnicodeBlock("HATRAN");
2868 
2869         /**
2870          * Constant for the "Old Hungarian" Unicode character block.
2871          * @since 9
2872          */
2873         public static final UnicodeBlock OLD_HUNGARIAN =
2874             new UnicodeBlock("OLD_HUNGARIAN",
2875                              "OLD HUNGARIAN",
2876                              "OLDHUNGARIAN");
2877 
2878         /**
2879          * Constant for the "Multani" Unicode character block.
2880          * @since 9
2881          */
2882         public static final UnicodeBlock MULTANI =
2883             new UnicodeBlock("MULTANI");
2884 
2885         /**
2886          * Constant for the "Ahom" Unicode character block.
2887          * @since 9
2888          */
2889         public static final UnicodeBlock AHOM =
2890             new UnicodeBlock("AHOM");
2891 
2892         /**
2893          * Constant for the "Early Dynastic Cuneiform" Unicode character block.
2894          * @since 9
2895          */
2896         public static final UnicodeBlock EARLY_DYNASTIC_CUNEIFORM =
2897             new UnicodeBlock("EARLY_DYNASTIC_CUNEIFORM",
2898                              "EARLY DYNASTIC CUNEIFORM",
2899                              "EARLYDYNASTICCUNEIFORM");
2900 
2901         /**
2902          * Constant for the "Anatolian Hieroglyphs" Unicode character block.
2903          * @since 9
2904          */
2905         public static final UnicodeBlock ANATOLIAN_HIEROGLYPHS =
2906             new UnicodeBlock("ANATOLIAN_HIEROGLYPHS",
2907                              "ANATOLIAN HIEROGLYPHS",
2908                              "ANATOLIANHIEROGLYPHS");
2909 
2910         /**
2911          * Constant for the "Sutton SignWriting" Unicode character block.
2912          * @since 9
2913          */
2914         public static final UnicodeBlock SUTTON_SIGNWRITING =
2915             new UnicodeBlock("SUTTON_SIGNWRITING",
2916                              "SUTTON SIGNWRITING",
2917                              "SUTTONSIGNWRITING");
2918 
2919         /**
2920          * Constant for the "Supplemental Symbols and Pictographs" Unicode
2921          * character block.
2922          * @since 9
2923          */
2924         public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS =
2925             new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS",
2926                              "SUPPLEMENTAL SYMBOLS AND PICTOGRAPHS",
2927                              "SUPPLEMENTALSYMBOLSANDPICTOGRAPHS");
2928 
2929         /**
2930          * Constant for the "CJK Unified Ideographs Extension E" Unicode
2931          * character block.
2932          * @since 9
2933          */
2934         public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E =
2935             new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E",
2936                              "CJK UNIFIED IDEOGRAPHS EXTENSION E",
2937                              "CJKUNIFIEDIDEOGRAPHSEXTENSIONE");
2938 
2939 
2940         private static final int blockStarts[] = {
2941             0x0000,   // 0000..007F; Basic Latin
2942             0x0080,   // 0080..00FF; Latin-1 Supplement
2943             0x0100,   // 0100..017F; Latin Extended-A
2944             0x0180,   // 0180..024F; Latin Extended-B
2945             0x0250,   // 0250..02AF; IPA Extensions
2946             0x02B0,   // 02B0..02FF; Spacing Modifier Letters
2947             0x0300,   // 0300..036F; Combining Diacritical Marks
2948             0x0370,   // 0370..03FF; Greek and Coptic
2949             0x0400,   // 0400..04FF; Cyrillic
2950             0x0500,   // 0500..052F; Cyrillic Supplement
2951             0x0530,   // 0530..058F; Armenian
2952             0x0590,   // 0590..05FF; Hebrew


4172         /**
4173          * Unicode script "Sharada".
4174          * @since 1.8
4175          */
4176         SHARADA,
4177 
4178         /**
4179          * Unicode script "Takri".
4180          * @since 1.8
4181          */
4182         TAKRI,
4183 
4184         /**
4185          * Unicode script "Miao".
4186          * @since 1.8
4187          */
4188         MIAO,
4189 
4190         /**
4191          * Unicode script "Caucasian Albanian".
4192          * @since 9
4193          */
4194         CAUCASIAN_ALBANIAN,
4195 
4196         /**
4197          * Unicode script "Bassa Vah".
4198          * @since 9
4199          */
4200         BASSA_VAH,
4201 
4202         /**
4203          * Unicode script "Duployan".
4204          * @since 9
4205          */
4206         DUPLOYAN,
4207 
4208         /**
4209          * Unicode script "Elbasan".
4210          * @since 9
4211          */
4212         ELBASAN,
4213 
4214         /**
4215          * Unicode script "Grantha".
4216          * @since 9
4217          */
4218         GRANTHA,
4219 
4220         /**
4221          * Unicode script "Pahawh Hmong".
4222          * @since 9
4223          */
4224         PAHAWH_HMONG,
4225 
4226         /**
4227          * Unicode script "Khojki".
4228          * @since 9
4229          */
4230         KHOJKI,
4231 
4232         /**
4233          * Unicode script "Linear A".
4234          * @since 9
4235          */
4236         LINEAR_A,
4237 
4238         /**
4239          * Unicode script "Mahajani".
4240          * @since 9
4241          */
4242         MAHAJANI,
4243 
4244         /**
4245          * Unicode script "Manichaean".
4246          * @since 9
4247          */
4248         MANICHAEAN,
4249 
4250         /**
4251          * Unicode script "Mende Kikakui".
4252          * @since 9
4253          */
4254         MENDE_KIKAKUI,
4255 
4256         /**
4257          * Unicode script "Modi".
4258          * @since 9
4259          */
4260         MODI,
4261 
4262         /**
4263          * Unicode script "Mro".
4264          * @since 9
4265          */
4266         MRO,
4267 
4268         /**
4269          * Unicode script "Old North Arabian".
4270          * @since 9
4271          */
4272         OLD_NORTH_ARABIAN,
4273 
4274         /**
4275          * Unicode script "Nabataean".
4276          * @since 9
4277          */
4278         NABATAEAN,
4279 
4280         /**
4281          * Unicode script "Palmyrene".
4282          * @since 9
4283          */
4284         PALMYRENE,
4285 
4286         /**
4287          * Unicode script "Pau Cin Hau".
4288          * @since 9
4289          */
4290         PAU_CIN_HAU,
4291 
4292         /**
4293          * Unicode script "Old Permic".
4294          * @since 9
4295          */
4296         OLD_PERMIC,
4297 
4298         /**
4299          * Unicode script "Psalter Pahlavi".
4300          * @since 9
4301          */
4302         PSALTER_PAHLAVI,
4303 
4304         /**
4305          * Unicode script "Siddham".
4306          * @since 9
4307          */
4308         SIDDHAM,
4309 
4310         /**
4311          * Unicode script "Khudawadi".
4312          * @since 9
4313          */
4314         KHUDAWADI,
4315 
4316         /**
4317          * Unicode script "Tirhuta".
4318          * @since 9
4319          */
4320         TIRHUTA,
4321 
4322         /**
4323          * Unicode script "Warang Citi".
4324          * @since 9
4325          */
4326         WARANG_CITI,
4327 
4328          /**
4329          * Unicode script "Ahom".
4330          * @since 9
4331          */
4332         AHOM,
4333 
4334         /**
4335          * Unicode script "Anatolian Hieroglyphs".
4336          * @since 9
4337          */
4338         ANATOLIAN_HIEROGLYPHS,
4339 
4340         /**
4341          * Unicode script "Hatran".
4342          * @since 9
4343          */
4344         HATRAN,
4345 
4346         /**
4347          * Unicode script "Multani".
4348          * @since 9
4349          */
4350         MULTANI,
4351 
4352         /**
4353          * Unicode script "Old Hungarian".
4354          * @since 9
4355          */
4356         OLD_HUNGARIAN,
4357 
4358         /**
4359          * Unicode script "SignWriting".
4360          * @since 9
4361          */
4362         SIGNWRITING,
4363 
4364         /**
4365          * Unicode script "Unknown".
4366          */
4367         UNKNOWN;
4368 
4369         private static final int[] scriptStarts = {
4370             0x0000,   // 0000..0040; COMMON
4371             0x0041,   // 0041..005A; LATIN
4372             0x005B,   // 005B..0060; COMMON
4373             0x0061,   // 0061..007A; LATIN
4374             0x007B,   // 007B..00A9; COMMON
4375             0x00AA,   // 00AA      ; LATIN
4376             0x00AB,   // 00AB..00B9; COMMON
4377             0x00BA,   // 00BA      ; LATIN
4378             0x00BB,   // 00BB..00BF; COMMON
4379             0x00C0,   // 00C0..00D6; LATIN
4380             0x00D7,   // 00D7      ; COMMON


< prev index next >