Removing methods from Character emul
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 30 Sep 2012 18:40:47 -0700
branchemul
changeset 859f3c454e74d4
parent 84 d65b3a2fbfaf
child 87 93aed493a69e
Removing methods from Character
emul/src/main/java/java/lang/Character.java
     1.1 --- a/emul/src/main/java/java/lang/Character.java	Sun Sep 30 18:29:37 2012 -0700
     1.2 +++ b/emul/src/main/java/java/lang/Character.java	Sun Sep 30 18:40:47 2012 -0700
     1.3 @@ -25,11 +25,6 @@
     1.4  
     1.5  package java.lang;
     1.6  
     1.7 -import java.util.Arrays;
     1.8 -import java.util.Map;
     1.9 -import java.util.HashMap;
    1.10 -import java.util.Locale;
    1.11 -
    1.12  /**
    1.13   * The {@code Character} class wraps a value of the primitive
    1.14   * type {@code char} in an object. An object of type
    1.15 @@ -171,7 +166,6 @@
    1.16       *
    1.17       * @since   1.1
    1.18       */
    1.19 -    @SuppressWarnings("unchecked")
    1.20      public static final Class<Character> TYPE = Class.getPrimitiveClass("char");
    1.21  
    1.22      /*
    1.23 @@ -636,3702 +630,6 @@
    1.24      // See http://www.unicode.org/Public/UNIDATA/Blocks.txt
    1.25      // for the latest specification of Unicode Blocks.
    1.26  
    1.27 -    /**
    1.28 -     * A family of character subsets representing the character blocks in the
    1.29 -     * Unicode specification. Character blocks generally define characters
    1.30 -     * used for a specific script or purpose. A character is contained by
    1.31 -     * at most one Unicode block.
    1.32 -     *
    1.33 -     * @since 1.2
    1.34 -     */
    1.35 -    public static final class UnicodeBlock extends Subset {
    1.36 -
    1.37 -        private static Map<String, UnicodeBlock> map = new HashMap<>(256);
    1.38 -
    1.39 -        /**
    1.40 -         * Creates a UnicodeBlock with the given identifier name.
    1.41 -         * This name must be the same as the block identifier.
    1.42 -         */
    1.43 -        private UnicodeBlock(String idName) {
    1.44 -            super(idName);
    1.45 -            map.put(idName, this);
    1.46 -        }
    1.47 -
    1.48 -        /**
    1.49 -         * Creates a UnicodeBlock with the given identifier name and
    1.50 -         * alias name.
    1.51 -         */
    1.52 -        private UnicodeBlock(String idName, String alias) {
    1.53 -            this(idName);
    1.54 -            map.put(alias, this);
    1.55 -        }
    1.56 -
    1.57 -        /**
    1.58 -         * Creates a UnicodeBlock with the given identifier name and
    1.59 -         * alias names.
    1.60 -         */
    1.61 -        private UnicodeBlock(String idName, String... aliases) {
    1.62 -            this(idName);
    1.63 -            for (String alias : aliases)
    1.64 -                map.put(alias, this);
    1.65 -        }
    1.66 -
    1.67 -        /**
    1.68 -         * Constant for the "Basic Latin" Unicode character block.
    1.69 -         * @since 1.2
    1.70 -         */
    1.71 -        public static final UnicodeBlock  BASIC_LATIN =
    1.72 -            new UnicodeBlock("BASIC_LATIN",
    1.73 -                             "BASIC LATIN",
    1.74 -                             "BASICLATIN");
    1.75 -
    1.76 -        /**
    1.77 -         * Constant for the "Latin-1 Supplement" Unicode character block.
    1.78 -         * @since 1.2
    1.79 -         */
    1.80 -        public static final UnicodeBlock LATIN_1_SUPPLEMENT =
    1.81 -            new UnicodeBlock("LATIN_1_SUPPLEMENT",
    1.82 -                             "LATIN-1 SUPPLEMENT",
    1.83 -                             "LATIN-1SUPPLEMENT");
    1.84 -
    1.85 -        /**
    1.86 -         * Constant for the "Latin Extended-A" Unicode character block.
    1.87 -         * @since 1.2
    1.88 -         */
    1.89 -        public static final UnicodeBlock LATIN_EXTENDED_A =
    1.90 -            new UnicodeBlock("LATIN_EXTENDED_A",
    1.91 -                             "LATIN EXTENDED-A",
    1.92 -                             "LATINEXTENDED-A");
    1.93 -
    1.94 -        /**
    1.95 -         * Constant for the "Latin Extended-B" Unicode character block.
    1.96 -         * @since 1.2
    1.97 -         */
    1.98 -        public static final UnicodeBlock LATIN_EXTENDED_B =
    1.99 -            new UnicodeBlock("LATIN_EXTENDED_B",
   1.100 -                             "LATIN EXTENDED-B",
   1.101 -                             "LATINEXTENDED-B");
   1.102 -
   1.103 -        /**
   1.104 -         * Constant for the "IPA Extensions" Unicode character block.
   1.105 -         * @since 1.2
   1.106 -         */
   1.107 -        public static final UnicodeBlock IPA_EXTENSIONS =
   1.108 -            new UnicodeBlock("IPA_EXTENSIONS",
   1.109 -                             "IPA EXTENSIONS",
   1.110 -                             "IPAEXTENSIONS");
   1.111 -
   1.112 -        /**
   1.113 -         * Constant for the "Spacing Modifier Letters" Unicode character block.
   1.114 -         * @since 1.2
   1.115 -         */
   1.116 -        public static final UnicodeBlock SPACING_MODIFIER_LETTERS =
   1.117 -            new UnicodeBlock("SPACING_MODIFIER_LETTERS",
   1.118 -                             "SPACING MODIFIER LETTERS",
   1.119 -                             "SPACINGMODIFIERLETTERS");
   1.120 -
   1.121 -        /**
   1.122 -         * Constant for the "Combining Diacritical Marks" Unicode character block.
   1.123 -         * @since 1.2
   1.124 -         */
   1.125 -        public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS =
   1.126 -            new UnicodeBlock("COMBINING_DIACRITICAL_MARKS",
   1.127 -                             "COMBINING DIACRITICAL MARKS",
   1.128 -                             "COMBININGDIACRITICALMARKS");
   1.129 -
   1.130 -        /**
   1.131 -         * Constant for the "Greek and Coptic" Unicode character block.
   1.132 -         * <p>
   1.133 -         * This block was previously known as the "Greek" block.
   1.134 -         *
   1.135 -         * @since 1.2
   1.136 -         */
   1.137 -        public static final UnicodeBlock GREEK =
   1.138 -            new UnicodeBlock("GREEK",
   1.139 -                             "GREEK AND COPTIC",
   1.140 -                             "GREEKANDCOPTIC");
   1.141 -
   1.142 -        /**
   1.143 -         * Constant for the "Cyrillic" Unicode character block.
   1.144 -         * @since 1.2
   1.145 -         */
   1.146 -        public static final UnicodeBlock CYRILLIC =
   1.147 -            new UnicodeBlock("CYRILLIC");
   1.148 -
   1.149 -        /**
   1.150 -         * Constant for the "Armenian" Unicode character block.
   1.151 -         * @since 1.2
   1.152 -         */
   1.153 -        public static final UnicodeBlock ARMENIAN =
   1.154 -            new UnicodeBlock("ARMENIAN");
   1.155 -
   1.156 -        /**
   1.157 -         * Constant for the "Hebrew" Unicode character block.
   1.158 -         * @since 1.2
   1.159 -         */
   1.160 -        public static final UnicodeBlock HEBREW =
   1.161 -            new UnicodeBlock("HEBREW");
   1.162 -
   1.163 -        /**
   1.164 -         * Constant for the "Arabic" Unicode character block.
   1.165 -         * @since 1.2
   1.166 -         */
   1.167 -        public static final UnicodeBlock ARABIC =
   1.168 -            new UnicodeBlock("ARABIC");
   1.169 -
   1.170 -        /**
   1.171 -         * Constant for the "Devanagari" Unicode character block.
   1.172 -         * @since 1.2
   1.173 -         */
   1.174 -        public static final UnicodeBlock DEVANAGARI =
   1.175 -            new UnicodeBlock("DEVANAGARI");
   1.176 -
   1.177 -        /**
   1.178 -         * Constant for the "Bengali" Unicode character block.
   1.179 -         * @since 1.2
   1.180 -         */
   1.181 -        public static final UnicodeBlock BENGALI =
   1.182 -            new UnicodeBlock("BENGALI");
   1.183 -
   1.184 -        /**
   1.185 -         * Constant for the "Gurmukhi" Unicode character block.
   1.186 -         * @since 1.2
   1.187 -         */
   1.188 -        public static final UnicodeBlock GURMUKHI =
   1.189 -            new UnicodeBlock("GURMUKHI");
   1.190 -
   1.191 -        /**
   1.192 -         * Constant for the "Gujarati" Unicode character block.
   1.193 -         * @since 1.2
   1.194 -         */
   1.195 -        public static final UnicodeBlock GUJARATI =
   1.196 -            new UnicodeBlock("GUJARATI");
   1.197 -
   1.198 -        /**
   1.199 -         * Constant for the "Oriya" Unicode character block.
   1.200 -         * @since 1.2
   1.201 -         */
   1.202 -        public static final UnicodeBlock ORIYA =
   1.203 -            new UnicodeBlock("ORIYA");
   1.204 -
   1.205 -        /**
   1.206 -         * Constant for the "Tamil" Unicode character block.
   1.207 -         * @since 1.2
   1.208 -         */
   1.209 -        public static final UnicodeBlock TAMIL =
   1.210 -            new UnicodeBlock("TAMIL");
   1.211 -
   1.212 -        /**
   1.213 -         * Constant for the "Telugu" Unicode character block.
   1.214 -         * @since 1.2
   1.215 -         */
   1.216 -        public static final UnicodeBlock TELUGU =
   1.217 -            new UnicodeBlock("TELUGU");
   1.218 -
   1.219 -        /**
   1.220 -         * Constant for the "Kannada" Unicode character block.
   1.221 -         * @since 1.2
   1.222 -         */
   1.223 -        public static final UnicodeBlock KANNADA =
   1.224 -            new UnicodeBlock("KANNADA");
   1.225 -
   1.226 -        /**
   1.227 -         * Constant for the "Malayalam" Unicode character block.
   1.228 -         * @since 1.2
   1.229 -         */
   1.230 -        public static final UnicodeBlock MALAYALAM =
   1.231 -            new UnicodeBlock("MALAYALAM");
   1.232 -
   1.233 -        /**
   1.234 -         * Constant for the "Thai" Unicode character block.
   1.235 -         * @since 1.2
   1.236 -         */
   1.237 -        public static final UnicodeBlock THAI =
   1.238 -            new UnicodeBlock("THAI");
   1.239 -
   1.240 -        /**
   1.241 -         * Constant for the "Lao" Unicode character block.
   1.242 -         * @since 1.2
   1.243 -         */
   1.244 -        public static final UnicodeBlock LAO =
   1.245 -            new UnicodeBlock("LAO");
   1.246 -
   1.247 -        /**
   1.248 -         * Constant for the "Tibetan" Unicode character block.
   1.249 -         * @since 1.2
   1.250 -         */
   1.251 -        public static final UnicodeBlock TIBETAN =
   1.252 -            new UnicodeBlock("TIBETAN");
   1.253 -
   1.254 -        /**
   1.255 -         * Constant for the "Georgian" Unicode character block.
   1.256 -         * @since 1.2
   1.257 -         */
   1.258 -        public static final UnicodeBlock GEORGIAN =
   1.259 -            new UnicodeBlock("GEORGIAN");
   1.260 -
   1.261 -        /**
   1.262 -         * Constant for the "Hangul Jamo" Unicode character block.
   1.263 -         * @since 1.2
   1.264 -         */
   1.265 -        public static final UnicodeBlock HANGUL_JAMO =
   1.266 -            new UnicodeBlock("HANGUL_JAMO",
   1.267 -                             "HANGUL JAMO",
   1.268 -                             "HANGULJAMO");
   1.269 -
   1.270 -        /**
   1.271 -         * Constant for the "Latin Extended Additional" Unicode character block.
   1.272 -         * @since 1.2
   1.273 -         */
   1.274 -        public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL =
   1.275 -            new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL",
   1.276 -                             "LATIN EXTENDED ADDITIONAL",
   1.277 -                             "LATINEXTENDEDADDITIONAL");
   1.278 -
   1.279 -        /**
   1.280 -         * Constant for the "Greek Extended" Unicode character block.
   1.281 -         * @since 1.2
   1.282 -         */
   1.283 -        public static final UnicodeBlock GREEK_EXTENDED =
   1.284 -            new UnicodeBlock("GREEK_EXTENDED",
   1.285 -                             "GREEK EXTENDED",
   1.286 -                             "GREEKEXTENDED");
   1.287 -
   1.288 -        /**
   1.289 -         * Constant for the "General Punctuation" Unicode character block.
   1.290 -         * @since 1.2
   1.291 -         */
   1.292 -        public static final UnicodeBlock GENERAL_PUNCTUATION =
   1.293 -            new UnicodeBlock("GENERAL_PUNCTUATION",
   1.294 -                             "GENERAL PUNCTUATION",
   1.295 -                             "GENERALPUNCTUATION");
   1.296 -
   1.297 -        /**
   1.298 -         * Constant for the "Superscripts and Subscripts" Unicode character
   1.299 -         * block.
   1.300 -         * @since 1.2
   1.301 -         */
   1.302 -        public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS =
   1.303 -            new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS",
   1.304 -                             "SUPERSCRIPTS AND SUBSCRIPTS",
   1.305 -                             "SUPERSCRIPTSANDSUBSCRIPTS");
   1.306 -
   1.307 -        /**
   1.308 -         * Constant for the "Currency Symbols" Unicode character block.
   1.309 -         * @since 1.2
   1.310 -         */
   1.311 -        public static final UnicodeBlock CURRENCY_SYMBOLS =
   1.312 -            new UnicodeBlock("CURRENCY_SYMBOLS",
   1.313 -                             "CURRENCY SYMBOLS",
   1.314 -                             "CURRENCYSYMBOLS");
   1.315 -
   1.316 -        /**
   1.317 -         * Constant for the "Combining Diacritical Marks for Symbols" Unicode
   1.318 -         * character block.
   1.319 -         * <p>
   1.320 -         * This block was previously known as "Combining Marks for Symbols".
   1.321 -         * @since 1.2
   1.322 -         */
   1.323 -        public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS =
   1.324 -            new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS",
   1.325 -                             "COMBINING DIACRITICAL MARKS FOR SYMBOLS",
   1.326 -                             "COMBININGDIACRITICALMARKSFORSYMBOLS",
   1.327 -                             "COMBINING MARKS FOR SYMBOLS",
   1.328 -                             "COMBININGMARKSFORSYMBOLS");
   1.329 -
   1.330 -        /**
   1.331 -         * Constant for the "Letterlike Symbols" Unicode character block.
   1.332 -         * @since 1.2
   1.333 -         */
   1.334 -        public static final UnicodeBlock LETTERLIKE_SYMBOLS =
   1.335 -            new UnicodeBlock("LETTERLIKE_SYMBOLS",
   1.336 -                             "LETTERLIKE SYMBOLS",
   1.337 -                             "LETTERLIKESYMBOLS");
   1.338 -
   1.339 -        /**
   1.340 -         * Constant for the "Number Forms" Unicode character block.
   1.341 -         * @since 1.2
   1.342 -         */
   1.343 -        public static final UnicodeBlock NUMBER_FORMS =
   1.344 -            new UnicodeBlock("NUMBER_FORMS",
   1.345 -                             "NUMBER FORMS",
   1.346 -                             "NUMBERFORMS");
   1.347 -
   1.348 -        /**
   1.349 -         * Constant for the "Arrows" Unicode character block.
   1.350 -         * @since 1.2
   1.351 -         */
   1.352 -        public static final UnicodeBlock ARROWS =
   1.353 -            new UnicodeBlock("ARROWS");
   1.354 -
   1.355 -        /**
   1.356 -         * Constant for the "Mathematical Operators" Unicode character block.
   1.357 -         * @since 1.2
   1.358 -         */
   1.359 -        public static final UnicodeBlock MATHEMATICAL_OPERATORS =
   1.360 -            new UnicodeBlock("MATHEMATICAL_OPERATORS",
   1.361 -                             "MATHEMATICAL OPERATORS",
   1.362 -                             "MATHEMATICALOPERATORS");
   1.363 -
   1.364 -        /**
   1.365 -         * Constant for the "Miscellaneous Technical" Unicode character block.
   1.366 -         * @since 1.2
   1.367 -         */
   1.368 -        public static final UnicodeBlock MISCELLANEOUS_TECHNICAL =
   1.369 -            new UnicodeBlock("MISCELLANEOUS_TECHNICAL",
   1.370 -                             "MISCELLANEOUS TECHNICAL",
   1.371 -                             "MISCELLANEOUSTECHNICAL");
   1.372 -
   1.373 -        /**
   1.374 -         * Constant for the "Control Pictures" Unicode character block.
   1.375 -         * @since 1.2
   1.376 -         */
   1.377 -        public static final UnicodeBlock CONTROL_PICTURES =
   1.378 -            new UnicodeBlock("CONTROL_PICTURES",
   1.379 -                             "CONTROL PICTURES",
   1.380 -                             "CONTROLPICTURES");
   1.381 -
   1.382 -        /**
   1.383 -         * Constant for the "Optical Character Recognition" Unicode character block.
   1.384 -         * @since 1.2
   1.385 -         */
   1.386 -        public static final UnicodeBlock OPTICAL_CHARACTER_RECOGNITION =
   1.387 -            new UnicodeBlock("OPTICAL_CHARACTER_RECOGNITION",
   1.388 -                             "OPTICAL CHARACTER RECOGNITION",
   1.389 -                             "OPTICALCHARACTERRECOGNITION");
   1.390 -
   1.391 -        /**
   1.392 -         * Constant for the "Enclosed Alphanumerics" Unicode character block.
   1.393 -         * @since 1.2
   1.394 -         */
   1.395 -        public static final UnicodeBlock ENCLOSED_ALPHANUMERICS =
   1.396 -            new UnicodeBlock("ENCLOSED_ALPHANUMERICS",
   1.397 -                             "ENCLOSED ALPHANUMERICS",
   1.398 -                             "ENCLOSEDALPHANUMERICS");
   1.399 -
   1.400 -        /**
   1.401 -         * Constant for the "Box Drawing" Unicode character block.
   1.402 -         * @since 1.2
   1.403 -         */
   1.404 -        public static final UnicodeBlock BOX_DRAWING =
   1.405 -            new UnicodeBlock("BOX_DRAWING",
   1.406 -                             "BOX DRAWING",
   1.407 -                             "BOXDRAWING");
   1.408 -
   1.409 -        /**
   1.410 -         * Constant for the "Block Elements" Unicode character block.
   1.411 -         * @since 1.2
   1.412 -         */
   1.413 -        public static final UnicodeBlock BLOCK_ELEMENTS =
   1.414 -            new UnicodeBlock("BLOCK_ELEMENTS",
   1.415 -                             "BLOCK ELEMENTS",
   1.416 -                             "BLOCKELEMENTS");
   1.417 -
   1.418 -        /**
   1.419 -         * Constant for the "Geometric Shapes" Unicode character block.
   1.420 -         * @since 1.2
   1.421 -         */
   1.422 -        public static final UnicodeBlock GEOMETRIC_SHAPES =
   1.423 -            new UnicodeBlock("GEOMETRIC_SHAPES",
   1.424 -                             "GEOMETRIC SHAPES",
   1.425 -                             "GEOMETRICSHAPES");
   1.426 -
   1.427 -        /**
   1.428 -         * Constant for the "Miscellaneous Symbols" Unicode character block.
   1.429 -         * @since 1.2
   1.430 -         */
   1.431 -        public static final UnicodeBlock MISCELLANEOUS_SYMBOLS =
   1.432 -            new UnicodeBlock("MISCELLANEOUS_SYMBOLS",
   1.433 -                             "MISCELLANEOUS SYMBOLS",
   1.434 -                             "MISCELLANEOUSSYMBOLS");
   1.435 -
   1.436 -        /**
   1.437 -         * Constant for the "Dingbats" Unicode character block.
   1.438 -         * @since 1.2
   1.439 -         */
   1.440 -        public static final UnicodeBlock DINGBATS =
   1.441 -            new UnicodeBlock("DINGBATS");
   1.442 -
   1.443 -        /**
   1.444 -         * Constant for the "CJK Symbols and Punctuation" Unicode character block.
   1.445 -         * @since 1.2
   1.446 -         */
   1.447 -        public static final UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION =
   1.448 -            new UnicodeBlock("CJK_SYMBOLS_AND_PUNCTUATION",
   1.449 -                             "CJK SYMBOLS AND PUNCTUATION",
   1.450 -                             "CJKSYMBOLSANDPUNCTUATION");
   1.451 -
   1.452 -        /**
   1.453 -         * Constant for the "Hiragana" Unicode character block.
   1.454 -         * @since 1.2
   1.455 -         */
   1.456 -        public static final UnicodeBlock HIRAGANA =
   1.457 -            new UnicodeBlock("HIRAGANA");
   1.458 -
   1.459 -        /**
   1.460 -         * Constant for the "Katakana" Unicode character block.
   1.461 -         * @since 1.2
   1.462 -         */
   1.463 -        public static final UnicodeBlock KATAKANA =
   1.464 -            new UnicodeBlock("KATAKANA");
   1.465 -
   1.466 -        /**
   1.467 -         * Constant for the "Bopomofo" Unicode character block.
   1.468 -         * @since 1.2
   1.469 -         */
   1.470 -        public static final UnicodeBlock BOPOMOFO =
   1.471 -            new UnicodeBlock("BOPOMOFO");
   1.472 -
   1.473 -        /**
   1.474 -         * Constant for the "Hangul Compatibility Jamo" Unicode character block.
   1.475 -         * @since 1.2
   1.476 -         */
   1.477 -        public static final UnicodeBlock HANGUL_COMPATIBILITY_JAMO =
   1.478 -            new UnicodeBlock("HANGUL_COMPATIBILITY_JAMO",
   1.479 -                             "HANGUL COMPATIBILITY JAMO",
   1.480 -                             "HANGULCOMPATIBILITYJAMO");
   1.481 -
   1.482 -        /**
   1.483 -         * Constant for the "Kanbun" Unicode character block.
   1.484 -         * @since 1.2
   1.485 -         */
   1.486 -        public static final UnicodeBlock KANBUN =
   1.487 -            new UnicodeBlock("KANBUN");
   1.488 -
   1.489 -        /**
   1.490 -         * Constant for the "Enclosed CJK Letters and Months" Unicode character block.
   1.491 -         * @since 1.2
   1.492 -         */
   1.493 -        public static final UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS =
   1.494 -            new UnicodeBlock("ENCLOSED_CJK_LETTERS_AND_MONTHS",
   1.495 -                             "ENCLOSED CJK LETTERS AND MONTHS",
   1.496 -                             "ENCLOSEDCJKLETTERSANDMONTHS");
   1.497 -
   1.498 -        /**
   1.499 -         * Constant for the "CJK Compatibility" Unicode character block.
   1.500 -         * @since 1.2
   1.501 -         */
   1.502 -        public static final UnicodeBlock CJK_COMPATIBILITY =
   1.503 -            new UnicodeBlock("CJK_COMPATIBILITY",
   1.504 -                             "CJK COMPATIBILITY",
   1.505 -                             "CJKCOMPATIBILITY");
   1.506 -
   1.507 -        /**
   1.508 -         * Constant for the "CJK Unified Ideographs" Unicode character block.
   1.509 -         * @since 1.2
   1.510 -         */
   1.511 -        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS =
   1.512 -            new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS",
   1.513 -                             "CJK UNIFIED IDEOGRAPHS",
   1.514 -                             "CJKUNIFIEDIDEOGRAPHS");
   1.515 -
   1.516 -        /**
   1.517 -         * Constant for the "Hangul Syllables" Unicode character block.
   1.518 -         * @since 1.2
   1.519 -         */
   1.520 -        public static final UnicodeBlock HANGUL_SYLLABLES =
   1.521 -            new UnicodeBlock("HANGUL_SYLLABLES",
   1.522 -                             "HANGUL SYLLABLES",
   1.523 -                             "HANGULSYLLABLES");
   1.524 -
   1.525 -        /**
   1.526 -         * Constant for the "Private Use Area" Unicode character block.
   1.527 -         * @since 1.2
   1.528 -         */
   1.529 -        public static final UnicodeBlock PRIVATE_USE_AREA =
   1.530 -            new UnicodeBlock("PRIVATE_USE_AREA",
   1.531 -                             "PRIVATE USE AREA",
   1.532 -                             "PRIVATEUSEAREA");
   1.533 -
   1.534 -        /**
   1.535 -         * Constant for the "CJK Compatibility Ideographs" Unicode character
   1.536 -         * block.
   1.537 -         * @since 1.2
   1.538 -         */
   1.539 -        public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS =
   1.540 -            new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS",
   1.541 -                             "CJK COMPATIBILITY IDEOGRAPHS",
   1.542 -                             "CJKCOMPATIBILITYIDEOGRAPHS");
   1.543 -
   1.544 -        /**
   1.545 -         * Constant for the "Alphabetic Presentation Forms" Unicode character block.
   1.546 -         * @since 1.2
   1.547 -         */
   1.548 -        public static final UnicodeBlock ALPHABETIC_PRESENTATION_FORMS =
   1.549 -            new UnicodeBlock("ALPHABETIC_PRESENTATION_FORMS",
   1.550 -                             "ALPHABETIC PRESENTATION FORMS",
   1.551 -                             "ALPHABETICPRESENTATIONFORMS");
   1.552 -
   1.553 -        /**
   1.554 -         * Constant for the "Arabic Presentation Forms-A" Unicode character
   1.555 -         * block.
   1.556 -         * @since 1.2
   1.557 -         */
   1.558 -        public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_A =
   1.559 -            new UnicodeBlock("ARABIC_PRESENTATION_FORMS_A",
   1.560 -                             "ARABIC PRESENTATION FORMS-A",
   1.561 -                             "ARABICPRESENTATIONFORMS-A");
   1.562 -
   1.563 -        /**
   1.564 -         * Constant for the "Combining Half Marks" Unicode character block.
   1.565 -         * @since 1.2
   1.566 -         */
   1.567 -        public static final UnicodeBlock COMBINING_HALF_MARKS =
   1.568 -            new UnicodeBlock("COMBINING_HALF_MARKS",
   1.569 -                             "COMBINING HALF MARKS",
   1.570 -                             "COMBININGHALFMARKS");
   1.571 -
   1.572 -        /**
   1.573 -         * Constant for the "CJK Compatibility Forms" Unicode character block.
   1.574 -         * @since 1.2
   1.575 -         */
   1.576 -        public static final UnicodeBlock CJK_COMPATIBILITY_FORMS =
   1.577 -            new UnicodeBlock("CJK_COMPATIBILITY_FORMS",
   1.578 -                             "CJK COMPATIBILITY FORMS",
   1.579 -                             "CJKCOMPATIBILITYFORMS");
   1.580 -
   1.581 -        /**
   1.582 -         * Constant for the "Small Form Variants" Unicode character block.
   1.583 -         * @since 1.2
   1.584 -         */
   1.585 -        public static final UnicodeBlock SMALL_FORM_VARIANTS =
   1.586 -            new UnicodeBlock("SMALL_FORM_VARIANTS",
   1.587 -                             "SMALL FORM VARIANTS",
   1.588 -                             "SMALLFORMVARIANTS");
   1.589 -
   1.590 -        /**
   1.591 -         * Constant for the "Arabic Presentation Forms-B" Unicode character block.
   1.592 -         * @since 1.2
   1.593 -         */
   1.594 -        public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_B =
   1.595 -            new UnicodeBlock("ARABIC_PRESENTATION_FORMS_B",
   1.596 -                             "ARABIC PRESENTATION FORMS-B",
   1.597 -                             "ARABICPRESENTATIONFORMS-B");
   1.598 -
   1.599 -        /**
   1.600 -         * Constant for the "Halfwidth and Fullwidth Forms" Unicode character
   1.601 -         * block.
   1.602 -         * @since 1.2
   1.603 -         */
   1.604 -        public static final UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS =
   1.605 -            new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS",
   1.606 -                             "HALFWIDTH AND FULLWIDTH FORMS",
   1.607 -                             "HALFWIDTHANDFULLWIDTHFORMS");
   1.608 -
   1.609 -        /**
   1.610 -         * Constant for the "Specials" Unicode character block.
   1.611 -         * @since 1.2
   1.612 -         */
   1.613 -        public static final UnicodeBlock SPECIALS =
   1.614 -            new UnicodeBlock("SPECIALS");
   1.615 -
   1.616 -        /**
   1.617 -         * @deprecated As of J2SE 5, use {@link #HIGH_SURROGATES},
   1.618 -         *             {@link #HIGH_PRIVATE_USE_SURROGATES}, and
   1.619 -         *             {@link #LOW_SURROGATES}. These new constants match
   1.620 -         *             the block definitions of the Unicode Standard.
   1.621 -         *             The {@link #of(char)} and {@link #of(int)} methods
   1.622 -         *             return the new constants, not SURROGATES_AREA.
   1.623 -         */
   1.624 -        @Deprecated
   1.625 -        public static final UnicodeBlock SURROGATES_AREA =
   1.626 -            new UnicodeBlock("SURROGATES_AREA");
   1.627 -
   1.628 -        /**
   1.629 -         * Constant for the "Syriac" Unicode character block.
   1.630 -         * @since 1.4
   1.631 -         */
   1.632 -        public static final UnicodeBlock SYRIAC =
   1.633 -            new UnicodeBlock("SYRIAC");
   1.634 -
   1.635 -        /**
   1.636 -         * Constant for the "Thaana" Unicode character block.
   1.637 -         * @since 1.4
   1.638 -         */
   1.639 -        public static final UnicodeBlock THAANA =
   1.640 -            new UnicodeBlock("THAANA");
   1.641 -
   1.642 -        /**
   1.643 -         * Constant for the "Sinhala" Unicode character block.
   1.644 -         * @since 1.4
   1.645 -         */
   1.646 -        public static final UnicodeBlock SINHALA =
   1.647 -            new UnicodeBlock("SINHALA");
   1.648 -
   1.649 -        /**
   1.650 -         * Constant for the "Myanmar" Unicode character block.
   1.651 -         * @since 1.4
   1.652 -         */
   1.653 -        public static final UnicodeBlock MYANMAR =
   1.654 -            new UnicodeBlock("MYANMAR");
   1.655 -
   1.656 -        /**
   1.657 -         * Constant for the "Ethiopic" Unicode character block.
   1.658 -         * @since 1.4
   1.659 -         */
   1.660 -        public static final UnicodeBlock ETHIOPIC =
   1.661 -            new UnicodeBlock("ETHIOPIC");
   1.662 -
   1.663 -        /**
   1.664 -         * Constant for the "Cherokee" Unicode character block.
   1.665 -         * @since 1.4
   1.666 -         */
   1.667 -        public static final UnicodeBlock CHEROKEE =
   1.668 -            new UnicodeBlock("CHEROKEE");
   1.669 -
   1.670 -        /**
   1.671 -         * Constant for the "Unified Canadian Aboriginal Syllabics" Unicode character block.
   1.672 -         * @since 1.4
   1.673 -         */
   1.674 -        public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =
   1.675 -            new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS",
   1.676 -                             "UNIFIED CANADIAN ABORIGINAL SYLLABICS",
   1.677 -                             "UNIFIEDCANADIANABORIGINALSYLLABICS");
   1.678 -
   1.679 -        /**
   1.680 -         * Constant for the "Ogham" Unicode character block.
   1.681 -         * @since 1.4
   1.682 -         */
   1.683 -        public static final UnicodeBlock OGHAM =
   1.684 -            new UnicodeBlock("OGHAM");
   1.685 -
   1.686 -        /**
   1.687 -         * Constant for the "Runic" Unicode character block.
   1.688 -         * @since 1.4
   1.689 -         */
   1.690 -        public static final UnicodeBlock RUNIC =
   1.691 -            new UnicodeBlock("RUNIC");
   1.692 -
   1.693 -        /**
   1.694 -         * Constant for the "Khmer" Unicode character block.
   1.695 -         * @since 1.4
   1.696 -         */
   1.697 -        public static final UnicodeBlock KHMER =
   1.698 -            new UnicodeBlock("KHMER");
   1.699 -
   1.700 -        /**
   1.701 -         * Constant for the "Mongolian" Unicode character block.
   1.702 -         * @since 1.4
   1.703 -         */
   1.704 -        public static final UnicodeBlock MONGOLIAN =
   1.705 -            new UnicodeBlock("MONGOLIAN");
   1.706 -
   1.707 -        /**
   1.708 -         * Constant for the "Braille Patterns" Unicode character block.
   1.709 -         * @since 1.4
   1.710 -         */
   1.711 -        public static final UnicodeBlock BRAILLE_PATTERNS =
   1.712 -            new UnicodeBlock("BRAILLE_PATTERNS",
   1.713 -                             "BRAILLE PATTERNS",
   1.714 -                             "BRAILLEPATTERNS");
   1.715 -
   1.716 -        /**
   1.717 -         * Constant for the "CJK Radicals Supplement" Unicode character block.
   1.718 -         * @since 1.4
   1.719 -         */
   1.720 -        public static final UnicodeBlock CJK_RADICALS_SUPPLEMENT =
   1.721 -            new UnicodeBlock("CJK_RADICALS_SUPPLEMENT",
   1.722 -                             "CJK RADICALS SUPPLEMENT",
   1.723 -                             "CJKRADICALSSUPPLEMENT");
   1.724 -
   1.725 -        /**
   1.726 -         * Constant for the "Kangxi Radicals" Unicode character block.
   1.727 -         * @since 1.4
   1.728 -         */
   1.729 -        public static final UnicodeBlock KANGXI_RADICALS =
   1.730 -            new UnicodeBlock("KANGXI_RADICALS",
   1.731 -                             "KANGXI RADICALS",
   1.732 -                             "KANGXIRADICALS");
   1.733 -
   1.734 -        /**
   1.735 -         * Constant for the "Ideographic Description Characters" Unicode character block.
   1.736 -         * @since 1.4
   1.737 -         */
   1.738 -        public static final UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS =
   1.739 -            new UnicodeBlock("IDEOGRAPHIC_DESCRIPTION_CHARACTERS",
   1.740 -                             "IDEOGRAPHIC DESCRIPTION CHARACTERS",
   1.741 -                             "IDEOGRAPHICDESCRIPTIONCHARACTERS");
   1.742 -
   1.743 -        /**
   1.744 -         * Constant for the "Bopomofo Extended" Unicode character block.
   1.745 -         * @since 1.4
   1.746 -         */
   1.747 -        public static final UnicodeBlock BOPOMOFO_EXTENDED =
   1.748 -            new UnicodeBlock("BOPOMOFO_EXTENDED",
   1.749 -                             "BOPOMOFO EXTENDED",
   1.750 -                             "BOPOMOFOEXTENDED");
   1.751 -
   1.752 -        /**
   1.753 -         * Constant for the "CJK Unified Ideographs Extension A" Unicode character block.
   1.754 -         * @since 1.4
   1.755 -         */
   1.756 -        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =
   1.757 -            new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A",
   1.758 -                             "CJK UNIFIED IDEOGRAPHS EXTENSION A",
   1.759 -                             "CJKUNIFIEDIDEOGRAPHSEXTENSIONA");
   1.760 -
   1.761 -        /**
   1.762 -         * Constant for the "Yi Syllables" Unicode character block.
   1.763 -         * @since 1.4
   1.764 -         */
   1.765 -        public static final UnicodeBlock YI_SYLLABLES =
   1.766 -            new UnicodeBlock("YI_SYLLABLES",
   1.767 -                             "YI SYLLABLES",
   1.768 -                             "YISYLLABLES");
   1.769 -
   1.770 -        /**
   1.771 -         * Constant for the "Yi Radicals" Unicode character block.
   1.772 -         * @since 1.4
   1.773 -         */
   1.774 -        public static final UnicodeBlock YI_RADICALS =
   1.775 -            new UnicodeBlock("YI_RADICALS",
   1.776 -                             "YI RADICALS",
   1.777 -                             "YIRADICALS");
   1.778 -
   1.779 -        /**
   1.780 -         * Constant for the "Cyrillic Supplementary" Unicode character block.
   1.781 -         * @since 1.5
   1.782 -         */
   1.783 -        public static final UnicodeBlock CYRILLIC_SUPPLEMENTARY =
   1.784 -            new UnicodeBlock("CYRILLIC_SUPPLEMENTARY",
   1.785 -                             "CYRILLIC SUPPLEMENTARY",
   1.786 -                             "CYRILLICSUPPLEMENTARY",
   1.787 -                             "CYRILLIC SUPPLEMENT",
   1.788 -                             "CYRILLICSUPPLEMENT");
   1.789 -
   1.790 -        /**
   1.791 -         * Constant for the "Tagalog" Unicode character block.
   1.792 -         * @since 1.5
   1.793 -         */
   1.794 -        public static final UnicodeBlock TAGALOG =
   1.795 -            new UnicodeBlock("TAGALOG");
   1.796 -
   1.797 -        /**
   1.798 -         * Constant for the "Hanunoo" Unicode character block.
   1.799 -         * @since 1.5
   1.800 -         */
   1.801 -        public static final UnicodeBlock HANUNOO =
   1.802 -            new UnicodeBlock("HANUNOO");
   1.803 -
   1.804 -        /**
   1.805 -         * Constant for the "Buhid" Unicode character block.
   1.806 -         * @since 1.5
   1.807 -         */
   1.808 -        public static final UnicodeBlock BUHID =
   1.809 -            new UnicodeBlock("BUHID");
   1.810 -
   1.811 -        /**
   1.812 -         * Constant for the "Tagbanwa" Unicode character block.
   1.813 -         * @since 1.5
   1.814 -         */
   1.815 -        public static final UnicodeBlock TAGBANWA =
   1.816 -            new UnicodeBlock("TAGBANWA");
   1.817 -
   1.818 -        /**
   1.819 -         * Constant for the "Limbu" Unicode character block.
   1.820 -         * @since 1.5
   1.821 -         */
   1.822 -        public static final UnicodeBlock LIMBU =
   1.823 -            new UnicodeBlock("LIMBU");
   1.824 -
   1.825 -        /**
   1.826 -         * Constant for the "Tai Le" Unicode character block.
   1.827 -         * @since 1.5
   1.828 -         */
   1.829 -        public static final UnicodeBlock TAI_LE =
   1.830 -            new UnicodeBlock("TAI_LE",
   1.831 -                             "TAI LE",
   1.832 -                             "TAILE");
   1.833 -
   1.834 -        /**
   1.835 -         * Constant for the "Khmer Symbols" Unicode character block.
   1.836 -         * @since 1.5
   1.837 -         */
   1.838 -        public static final UnicodeBlock KHMER_SYMBOLS =
   1.839 -            new UnicodeBlock("KHMER_SYMBOLS",
   1.840 -                             "KHMER SYMBOLS",
   1.841 -                             "KHMERSYMBOLS");
   1.842 -
   1.843 -        /**
   1.844 -         * Constant for the "Phonetic Extensions" Unicode character block.
   1.845 -         * @since 1.5
   1.846 -         */
   1.847 -        public static final UnicodeBlock PHONETIC_EXTENSIONS =
   1.848 -            new UnicodeBlock("PHONETIC_EXTENSIONS",
   1.849 -                             "PHONETIC EXTENSIONS",
   1.850 -                             "PHONETICEXTENSIONS");
   1.851 -
   1.852 -        /**
   1.853 -         * Constant for the "Miscellaneous Mathematical Symbols-A" Unicode character block.
   1.854 -         * @since 1.5
   1.855 -         */
   1.856 -        public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A =
   1.857 -            new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A",
   1.858 -                             "MISCELLANEOUS MATHEMATICAL SYMBOLS-A",
   1.859 -                             "MISCELLANEOUSMATHEMATICALSYMBOLS-A");
   1.860 -
   1.861 -        /**
   1.862 -         * Constant for the "Supplemental Arrows-A" Unicode character block.
   1.863 -         * @since 1.5
   1.864 -         */
   1.865 -        public static final UnicodeBlock SUPPLEMENTAL_ARROWS_A =
   1.866 -            new UnicodeBlock("SUPPLEMENTAL_ARROWS_A",
   1.867 -                             "SUPPLEMENTAL ARROWS-A",
   1.868 -                             "SUPPLEMENTALARROWS-A");
   1.869 -
   1.870 -        /**
   1.871 -         * Constant for the "Supplemental Arrows-B" Unicode character block.
   1.872 -         * @since 1.5
   1.873 -         */
   1.874 -        public static final UnicodeBlock SUPPLEMENTAL_ARROWS_B =
   1.875 -            new UnicodeBlock("SUPPLEMENTAL_ARROWS_B",
   1.876 -                             "SUPPLEMENTAL ARROWS-B",
   1.877 -                             "SUPPLEMENTALARROWS-B");
   1.878 -
   1.879 -        /**
   1.880 -         * Constant for the "Miscellaneous Mathematical Symbols-B" Unicode
   1.881 -         * character block.
   1.882 -         * @since 1.5
   1.883 -         */
   1.884 -        public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B =
   1.885 -            new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B",
   1.886 -                             "MISCELLANEOUS MATHEMATICAL SYMBOLS-B",
   1.887 -                             "MISCELLANEOUSMATHEMATICALSYMBOLS-B");
   1.888 -
   1.889 -        /**
   1.890 -         * Constant for the "Supplemental Mathematical Operators" Unicode
   1.891 -         * character block.
   1.892 -         * @since 1.5
   1.893 -         */
   1.894 -        public static final UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS =
   1.895 -            new UnicodeBlock("SUPPLEMENTAL_MATHEMATICAL_OPERATORS",
   1.896 -                             "SUPPLEMENTAL MATHEMATICAL OPERATORS",
   1.897 -                             "SUPPLEMENTALMATHEMATICALOPERATORS");
   1.898 -
   1.899 -        /**
   1.900 -         * Constant for the "Miscellaneous Symbols and Arrows" Unicode character
   1.901 -         * block.
   1.902 -         * @since 1.5
   1.903 -         */
   1.904 -        public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS =
   1.905 -            new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_ARROWS",
   1.906 -                             "MISCELLANEOUS SYMBOLS AND ARROWS",
   1.907 -                             "MISCELLANEOUSSYMBOLSANDARROWS");
   1.908 -
   1.909 -        /**
   1.910 -         * Constant for the "Katakana Phonetic Extensions" Unicode character
   1.911 -         * block.
   1.912 -         * @since 1.5
   1.913 -         */
   1.914 -        public static final UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS =
   1.915 -            new UnicodeBlock("KATAKANA_PHONETIC_EXTENSIONS",
   1.916 -                             "KATAKANA PHONETIC EXTENSIONS",
   1.917 -                             "KATAKANAPHONETICEXTENSIONS");
   1.918 -
   1.919 -        /**
   1.920 -         * Constant for the "Yijing Hexagram Symbols" Unicode character block.
   1.921 -         * @since 1.5
   1.922 -         */
   1.923 -        public static final UnicodeBlock YIJING_HEXAGRAM_SYMBOLS =
   1.924 -            new UnicodeBlock("YIJING_HEXAGRAM_SYMBOLS",
   1.925 -                             "YIJING HEXAGRAM SYMBOLS",
   1.926 -                             "YIJINGHEXAGRAMSYMBOLS");
   1.927 -
   1.928 -        /**
   1.929 -         * Constant for the "Variation Selectors" Unicode character block.
   1.930 -         * @since 1.5
   1.931 -         */
   1.932 -        public static final UnicodeBlock VARIATION_SELECTORS =
   1.933 -            new UnicodeBlock("VARIATION_SELECTORS",
   1.934 -                             "VARIATION SELECTORS",
   1.935 -                             "VARIATIONSELECTORS");
   1.936 -
   1.937 -        /**
   1.938 -         * Constant for the "Linear B Syllabary" Unicode character block.
   1.939 -         * @since 1.5
   1.940 -         */
   1.941 -        public static final UnicodeBlock LINEAR_B_SYLLABARY =
   1.942 -            new UnicodeBlock("LINEAR_B_SYLLABARY",
   1.943 -                             "LINEAR B SYLLABARY",
   1.944 -                             "LINEARBSYLLABARY");
   1.945 -
   1.946 -        /**
   1.947 -         * Constant for the "Linear B Ideograms" Unicode character block.
   1.948 -         * @since 1.5
   1.949 -         */
   1.950 -        public static final UnicodeBlock LINEAR_B_IDEOGRAMS =
   1.951 -            new UnicodeBlock("LINEAR_B_IDEOGRAMS",
   1.952 -                             "LINEAR B IDEOGRAMS",
   1.953 -                             "LINEARBIDEOGRAMS");
   1.954 -
   1.955 -        /**
   1.956 -         * Constant for the "Aegean Numbers" Unicode character block.
   1.957 -         * @since 1.5
   1.958 -         */
   1.959 -        public static final UnicodeBlock AEGEAN_NUMBERS =
   1.960 -            new UnicodeBlock("AEGEAN_NUMBERS",
   1.961 -                             "AEGEAN NUMBERS",
   1.962 -                             "AEGEANNUMBERS");
   1.963 -
   1.964 -        /**
   1.965 -         * Constant for the "Old Italic" Unicode character block.
   1.966 -         * @since 1.5
   1.967 -         */
   1.968 -        public static final UnicodeBlock OLD_ITALIC =
   1.969 -            new UnicodeBlock("OLD_ITALIC",
   1.970 -                             "OLD ITALIC",
   1.971 -                             "OLDITALIC");
   1.972 -
   1.973 -        /**
   1.974 -         * Constant for the "Gothic" Unicode character block.
   1.975 -         * @since 1.5
   1.976 -         */
   1.977 -        public static final UnicodeBlock GOTHIC =
   1.978 -            new UnicodeBlock("GOTHIC");
   1.979 -
   1.980 -        /**
   1.981 -         * Constant for the "Ugaritic" Unicode character block.
   1.982 -         * @since 1.5
   1.983 -         */
   1.984 -        public static final UnicodeBlock UGARITIC =
   1.985 -            new UnicodeBlock("UGARITIC");
   1.986 -
   1.987 -        /**
   1.988 -         * Constant for the "Deseret" Unicode character block.
   1.989 -         * @since 1.5
   1.990 -         */
   1.991 -        public static final UnicodeBlock DESERET =
   1.992 -            new UnicodeBlock("DESERET");
   1.993 -
   1.994 -        /**
   1.995 -         * Constant for the "Shavian" Unicode character block.
   1.996 -         * @since 1.5
   1.997 -         */
   1.998 -        public static final UnicodeBlock SHAVIAN =
   1.999 -            new UnicodeBlock("SHAVIAN");
  1.1000 -
  1.1001 -        /**
  1.1002 -         * Constant for the "Osmanya" Unicode character block.
  1.1003 -         * @since 1.5
  1.1004 -         */
  1.1005 -        public static final UnicodeBlock OSMANYA =
  1.1006 -            new UnicodeBlock("OSMANYA");
  1.1007 -
  1.1008 -        /**
  1.1009 -         * Constant for the "Cypriot Syllabary" Unicode character block.
  1.1010 -         * @since 1.5
  1.1011 -         */
  1.1012 -        public static final UnicodeBlock CYPRIOT_SYLLABARY =
  1.1013 -            new UnicodeBlock("CYPRIOT_SYLLABARY",
  1.1014 -                             "CYPRIOT SYLLABARY",
  1.1015 -                             "CYPRIOTSYLLABARY");
  1.1016 -
  1.1017 -        /**
  1.1018 -         * Constant for the "Byzantine Musical Symbols" Unicode character block.
  1.1019 -         * @since 1.5
  1.1020 -         */
  1.1021 -        public static final UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS =
  1.1022 -            new UnicodeBlock("BYZANTINE_MUSICAL_SYMBOLS",
  1.1023 -                             "BYZANTINE MUSICAL SYMBOLS",
  1.1024 -                             "BYZANTINEMUSICALSYMBOLS");
  1.1025 -
  1.1026 -        /**
  1.1027 -         * Constant for the "Musical Symbols" Unicode character block.
  1.1028 -         * @since 1.5
  1.1029 -         */
  1.1030 -        public static final UnicodeBlock MUSICAL_SYMBOLS =
  1.1031 -            new UnicodeBlock("MUSICAL_SYMBOLS",
  1.1032 -                             "MUSICAL SYMBOLS",
  1.1033 -                             "MUSICALSYMBOLS");
  1.1034 -
  1.1035 -        /**
  1.1036 -         * Constant for the "Tai Xuan Jing Symbols" Unicode character block.
  1.1037 -         * @since 1.5
  1.1038 -         */
  1.1039 -        public static final UnicodeBlock TAI_XUAN_JING_SYMBOLS =
  1.1040 -            new UnicodeBlock("TAI_XUAN_JING_SYMBOLS",
  1.1041 -                             "TAI XUAN JING SYMBOLS",
  1.1042 -                             "TAIXUANJINGSYMBOLS");
  1.1043 -
  1.1044 -        /**
  1.1045 -         * Constant for the "Mathematical Alphanumeric Symbols" Unicode
  1.1046 -         * character block.
  1.1047 -         * @since 1.5
  1.1048 -         */
  1.1049 -        public static final UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS =
  1.1050 -            new UnicodeBlock("MATHEMATICAL_ALPHANUMERIC_SYMBOLS",
  1.1051 -                             "MATHEMATICAL ALPHANUMERIC SYMBOLS",
  1.1052 -                             "MATHEMATICALALPHANUMERICSYMBOLS");
  1.1053 -
  1.1054 -        /**
  1.1055 -         * Constant for the "CJK Unified Ideographs Extension B" Unicode
  1.1056 -         * character block.
  1.1057 -         * @since 1.5
  1.1058 -         */
  1.1059 -        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B =
  1.1060 -            new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B",
  1.1061 -                             "CJK UNIFIED IDEOGRAPHS EXTENSION B",
  1.1062 -                             "CJKUNIFIEDIDEOGRAPHSEXTENSIONB");
  1.1063 -
  1.1064 -        /**
  1.1065 -         * Constant for the "CJK Compatibility Ideographs Supplement" Unicode character block.
  1.1066 -         * @since 1.5
  1.1067 -         */
  1.1068 -        public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT =
  1.1069 -            new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT",
  1.1070 -                             "CJK COMPATIBILITY IDEOGRAPHS SUPPLEMENT",
  1.1071 -                             "CJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT");
  1.1072 -
  1.1073 -        /**
  1.1074 -         * Constant for the "Tags" Unicode character block.
  1.1075 -         * @since 1.5
  1.1076 -         */
  1.1077 -        public static final UnicodeBlock TAGS =
  1.1078 -            new UnicodeBlock("TAGS");
  1.1079 -
  1.1080 -        /**
  1.1081 -         * Constant for the "Variation Selectors Supplement" Unicode character
  1.1082 -         * block.
  1.1083 -         * @since 1.5
  1.1084 -         */
  1.1085 -        public static final UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT =
  1.1086 -            new UnicodeBlock("VARIATION_SELECTORS_SUPPLEMENT",
  1.1087 -                             "VARIATION SELECTORS SUPPLEMENT",
  1.1088 -                             "VARIATIONSELECTORSSUPPLEMENT");
  1.1089 -
  1.1090 -        /**
  1.1091 -         * Constant for the "Supplementary Private Use Area-A" Unicode character
  1.1092 -         * block.
  1.1093 -         * @since 1.5
  1.1094 -         */
  1.1095 -        public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A =
  1.1096 -            new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_A",
  1.1097 -                             "SUPPLEMENTARY PRIVATE USE AREA-A",
  1.1098 -                             "SUPPLEMENTARYPRIVATEUSEAREA-A");
  1.1099 -
  1.1100 -        /**
  1.1101 -         * Constant for the "Supplementary Private Use Area-B" Unicode character
  1.1102 -         * block.
  1.1103 -         * @since 1.5
  1.1104 -         */
  1.1105 -        public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B =
  1.1106 -            new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_B",
  1.1107 -                             "SUPPLEMENTARY PRIVATE USE AREA-B",
  1.1108 -                             "SUPPLEMENTARYPRIVATEUSEAREA-B");
  1.1109 -
  1.1110 -        /**
  1.1111 -         * Constant for the "High Surrogates" Unicode character block.
  1.1112 -         * This block represents codepoint values in the high surrogate
  1.1113 -         * range: U+D800 through U+DB7F
  1.1114 -         *
  1.1115 -         * @since 1.5
  1.1116 -         */
  1.1117 -        public static final UnicodeBlock HIGH_SURROGATES =
  1.1118 -            new UnicodeBlock("HIGH_SURROGATES",
  1.1119 -                             "HIGH SURROGATES",
  1.1120 -                             "HIGHSURROGATES");
  1.1121 -
  1.1122 -        /**
  1.1123 -         * Constant for the "High Private Use Surrogates" Unicode character
  1.1124 -         * block.
  1.1125 -         * This block represents codepoint values in the private use high
  1.1126 -         * surrogate range: U+DB80 through U+DBFF
  1.1127 -         *
  1.1128 -         * @since 1.5
  1.1129 -         */
  1.1130 -        public static final UnicodeBlock HIGH_PRIVATE_USE_SURROGATES =
  1.1131 -            new UnicodeBlock("HIGH_PRIVATE_USE_SURROGATES",
  1.1132 -                             "HIGH PRIVATE USE SURROGATES",
  1.1133 -                             "HIGHPRIVATEUSESURROGATES");
  1.1134 -
  1.1135 -        /**
  1.1136 -         * Constant for the "Low Surrogates" Unicode character block.
  1.1137 -         * This block represents codepoint values in the low surrogate
  1.1138 -         * range: U+DC00 through U+DFFF
  1.1139 -         *
  1.1140 -         * @since 1.5
  1.1141 -         */
  1.1142 -        public static final UnicodeBlock LOW_SURROGATES =
  1.1143 -            new UnicodeBlock("LOW_SURROGATES",
  1.1144 -                             "LOW SURROGATES",
  1.1145 -                             "LOWSURROGATES");
  1.1146 -
  1.1147 -        /**
  1.1148 -         * Constant for the "Arabic Supplement" Unicode character block.
  1.1149 -         * @since 1.7
  1.1150 -         */
  1.1151 -        public static final UnicodeBlock ARABIC_SUPPLEMENT =
  1.1152 -            new UnicodeBlock("ARABIC_SUPPLEMENT",
  1.1153 -                             "ARABIC SUPPLEMENT",
  1.1154 -                             "ARABICSUPPLEMENT");
  1.1155 -
  1.1156 -        /**
  1.1157 -         * Constant for the "NKo" Unicode character block.
  1.1158 -         * @since 1.7
  1.1159 -         */
  1.1160 -        public static final UnicodeBlock NKO =
  1.1161 -            new UnicodeBlock("NKO");
  1.1162 -
  1.1163 -        /**
  1.1164 -         * Constant for the "Samaritan" Unicode character block.
  1.1165 -         * @since 1.7
  1.1166 -         */
  1.1167 -        public static final UnicodeBlock SAMARITAN =
  1.1168 -            new UnicodeBlock("SAMARITAN");
  1.1169 -
  1.1170 -        /**
  1.1171 -         * Constant for the "Mandaic" Unicode character block.
  1.1172 -         * @since 1.7
  1.1173 -         */
  1.1174 -        public static final UnicodeBlock MANDAIC =
  1.1175 -            new UnicodeBlock("MANDAIC");
  1.1176 -
  1.1177 -        /**
  1.1178 -         * Constant for the "Ethiopic Supplement" Unicode character block.
  1.1179 -         * @since 1.7
  1.1180 -         */
  1.1181 -        public static final UnicodeBlock ETHIOPIC_SUPPLEMENT =
  1.1182 -            new UnicodeBlock("ETHIOPIC_SUPPLEMENT",
  1.1183 -                             "ETHIOPIC SUPPLEMENT",
  1.1184 -                             "ETHIOPICSUPPLEMENT");
  1.1185 -
  1.1186 -        /**
  1.1187 -         * Constant for the "Unified Canadian Aboriginal Syllabics Extended"
  1.1188 -         * Unicode character block.
  1.1189 -         * @since 1.7
  1.1190 -         */
  1.1191 -        public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED =
  1.1192 -            new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED",
  1.1193 -                             "UNIFIED CANADIAN ABORIGINAL SYLLABICS EXTENDED",
  1.1194 -                             "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED");
  1.1195 -
  1.1196 -        /**
  1.1197 -         * Constant for the "New Tai Lue" Unicode character block.
  1.1198 -         * @since 1.7
  1.1199 -         */
  1.1200 -        public static final UnicodeBlock NEW_TAI_LUE =
  1.1201 -            new UnicodeBlock("NEW_TAI_LUE",
  1.1202 -                             "NEW TAI LUE",
  1.1203 -                             "NEWTAILUE");
  1.1204 -
  1.1205 -        /**
  1.1206 -         * Constant for the "Buginese" Unicode character block.
  1.1207 -         * @since 1.7
  1.1208 -         */
  1.1209 -        public static final UnicodeBlock BUGINESE =
  1.1210 -            new UnicodeBlock("BUGINESE");
  1.1211 -
  1.1212 -        /**
  1.1213 -         * Constant for the "Tai Tham" Unicode character block.
  1.1214 -         * @since 1.7
  1.1215 -         */
  1.1216 -        public static final UnicodeBlock TAI_THAM =
  1.1217 -            new UnicodeBlock("TAI_THAM",
  1.1218 -                             "TAI THAM",
  1.1219 -                             "TAITHAM");
  1.1220 -
  1.1221 -        /**
  1.1222 -         * Constant for the "Balinese" Unicode character block.
  1.1223 -         * @since 1.7
  1.1224 -         */
  1.1225 -        public static final UnicodeBlock BALINESE =
  1.1226 -            new UnicodeBlock("BALINESE");
  1.1227 -
  1.1228 -        /**
  1.1229 -         * Constant for the "Sundanese" Unicode character block.
  1.1230 -         * @since 1.7
  1.1231 -         */
  1.1232 -        public static final UnicodeBlock SUNDANESE =
  1.1233 -            new UnicodeBlock("SUNDANESE");
  1.1234 -
  1.1235 -        /**
  1.1236 -         * Constant for the "Batak" Unicode character block.
  1.1237 -         * @since 1.7
  1.1238 -         */
  1.1239 -        public static final UnicodeBlock BATAK =
  1.1240 -            new UnicodeBlock("BATAK");
  1.1241 -
  1.1242 -        /**
  1.1243 -         * Constant for the "Lepcha" Unicode character block.
  1.1244 -         * @since 1.7
  1.1245 -         */
  1.1246 -        public static final UnicodeBlock LEPCHA =
  1.1247 -            new UnicodeBlock("LEPCHA");
  1.1248 -
  1.1249 -        /**
  1.1250 -         * Constant for the "Ol Chiki" Unicode character block.
  1.1251 -         * @since 1.7
  1.1252 -         */
  1.1253 -        public static final UnicodeBlock OL_CHIKI =
  1.1254 -            new UnicodeBlock("OL_CHIKI",
  1.1255 -                             "OL CHIKI",
  1.1256 -                             "OLCHIKI");
  1.1257 -
  1.1258 -        /**
  1.1259 -         * Constant for the "Vedic Extensions" Unicode character block.
  1.1260 -         * @since 1.7
  1.1261 -         */
  1.1262 -        public static final UnicodeBlock VEDIC_EXTENSIONS =
  1.1263 -            new UnicodeBlock("VEDIC_EXTENSIONS",
  1.1264 -                             "VEDIC EXTENSIONS",
  1.1265 -                             "VEDICEXTENSIONS");
  1.1266 -
  1.1267 -        /**
  1.1268 -         * Constant for the "Phonetic Extensions Supplement" Unicode character
  1.1269 -         * block.
  1.1270 -         * @since 1.7
  1.1271 -         */
  1.1272 -        public static final UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT =
  1.1273 -            new UnicodeBlock("PHONETIC_EXTENSIONS_SUPPLEMENT",
  1.1274 -                             "PHONETIC EXTENSIONS SUPPLEMENT",
  1.1275 -                             "PHONETICEXTENSIONSSUPPLEMENT");
  1.1276 -
  1.1277 -        /**
  1.1278 -         * Constant for the "Combining Diacritical Marks Supplement" Unicode
  1.1279 -         * character block.
  1.1280 -         * @since 1.7
  1.1281 -         */
  1.1282 -        public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT =
  1.1283 -            new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_SUPPLEMENT",
  1.1284 -                             "COMBINING DIACRITICAL MARKS SUPPLEMENT",
  1.1285 -                             "COMBININGDIACRITICALMARKSSUPPLEMENT");
  1.1286 -
  1.1287 -        /**
  1.1288 -         * Constant for the "Glagolitic" Unicode character block.
  1.1289 -         * @since 1.7
  1.1290 -         */
  1.1291 -        public static final UnicodeBlock GLAGOLITIC =
  1.1292 -            new UnicodeBlock("GLAGOLITIC");
  1.1293 -
  1.1294 -        /**
  1.1295 -         * Constant for the "Latin Extended-C" Unicode character block.
  1.1296 -         * @since 1.7
  1.1297 -         */
  1.1298 -        public static final UnicodeBlock LATIN_EXTENDED_C =
  1.1299 -            new UnicodeBlock("LATIN_EXTENDED_C",
  1.1300 -                             "LATIN EXTENDED-C",
  1.1301 -                             "LATINEXTENDED-C");
  1.1302 -
  1.1303 -        /**
  1.1304 -         * Constant for the "Coptic" Unicode character block.
  1.1305 -         * @since 1.7
  1.1306 -         */
  1.1307 -        public static final UnicodeBlock COPTIC =
  1.1308 -            new UnicodeBlock("COPTIC");
  1.1309 -
  1.1310 -        /**
  1.1311 -         * Constant for the "Georgian Supplement" Unicode character block.
  1.1312 -         * @since 1.7
  1.1313 -         */
  1.1314 -        public static final UnicodeBlock GEORGIAN_SUPPLEMENT =
  1.1315 -            new UnicodeBlock("GEORGIAN_SUPPLEMENT",
  1.1316 -                             "GEORGIAN SUPPLEMENT",
  1.1317 -                             "GEORGIANSUPPLEMENT");
  1.1318 -
  1.1319 -        /**
  1.1320 -         * Constant for the "Tifinagh" Unicode character block.
  1.1321 -         * @since 1.7
  1.1322 -         */
  1.1323 -        public static final UnicodeBlock TIFINAGH =
  1.1324 -            new UnicodeBlock("TIFINAGH");
  1.1325 -
  1.1326 -        /**
  1.1327 -         * Constant for the "Ethiopic Extended" Unicode character block.
  1.1328 -         * @since 1.7
  1.1329 -         */
  1.1330 -        public static final UnicodeBlock ETHIOPIC_EXTENDED =
  1.1331 -            new UnicodeBlock("ETHIOPIC_EXTENDED",
  1.1332 -                             "ETHIOPIC EXTENDED",
  1.1333 -                             "ETHIOPICEXTENDED");
  1.1334 -
  1.1335 -        /**
  1.1336 -         * Constant for the "Cyrillic Extended-A" Unicode character block.
  1.1337 -         * @since 1.7
  1.1338 -         */
  1.1339 -        public static final UnicodeBlock CYRILLIC_EXTENDED_A =
  1.1340 -            new UnicodeBlock("CYRILLIC_EXTENDED_A",
  1.1341 -                             "CYRILLIC EXTENDED-A",
  1.1342 -                             "CYRILLICEXTENDED-A");
  1.1343 -
  1.1344 -        /**
  1.1345 -         * Constant for the "Supplemental Punctuation" Unicode character block.
  1.1346 -         * @since 1.7
  1.1347 -         */
  1.1348 -        public static final UnicodeBlock SUPPLEMENTAL_PUNCTUATION =
  1.1349 -            new UnicodeBlock("SUPPLEMENTAL_PUNCTUATION",
  1.1350 -                             "SUPPLEMENTAL PUNCTUATION",
  1.1351 -                             "SUPPLEMENTALPUNCTUATION");
  1.1352 -
  1.1353 -        /**
  1.1354 -         * Constant for the "CJK Strokes" Unicode character block.
  1.1355 -         * @since 1.7
  1.1356 -         */
  1.1357 -        public static final UnicodeBlock CJK_STROKES =
  1.1358 -            new UnicodeBlock("CJK_STROKES",
  1.1359 -                             "CJK STROKES",
  1.1360 -                             "CJKSTROKES");
  1.1361 -
  1.1362 -        /**
  1.1363 -         * Constant for the "Lisu" Unicode character block.
  1.1364 -         * @since 1.7
  1.1365 -         */
  1.1366 -        public static final UnicodeBlock LISU =
  1.1367 -            new UnicodeBlock("LISU");
  1.1368 -
  1.1369 -        /**
  1.1370 -         * Constant for the "Vai" Unicode character block.
  1.1371 -         * @since 1.7
  1.1372 -         */
  1.1373 -        public static final UnicodeBlock VAI =
  1.1374 -            new UnicodeBlock("VAI");
  1.1375 -
  1.1376 -        /**
  1.1377 -         * Constant for the "Cyrillic Extended-B" Unicode character block.
  1.1378 -         * @since 1.7
  1.1379 -         */
  1.1380 -        public static final UnicodeBlock CYRILLIC_EXTENDED_B =
  1.1381 -            new UnicodeBlock("CYRILLIC_EXTENDED_B",
  1.1382 -                             "CYRILLIC EXTENDED-B",
  1.1383 -                             "CYRILLICEXTENDED-B");
  1.1384 -
  1.1385 -        /**
  1.1386 -         * Constant for the "Bamum" Unicode character block.
  1.1387 -         * @since 1.7
  1.1388 -         */
  1.1389 -        public static final UnicodeBlock BAMUM =
  1.1390 -            new UnicodeBlock("BAMUM");
  1.1391 -
  1.1392 -        /**
  1.1393 -         * Constant for the "Modifier Tone Letters" Unicode character block.
  1.1394 -         * @since 1.7
  1.1395 -         */
  1.1396 -        public static final UnicodeBlock MODIFIER_TONE_LETTERS =
  1.1397 -            new UnicodeBlock("MODIFIER_TONE_LETTERS",
  1.1398 -                             "MODIFIER TONE LETTERS",
  1.1399 -                             "MODIFIERTONELETTERS");
  1.1400 -
  1.1401 -        /**
  1.1402 -         * Constant for the "Latin Extended-D" Unicode character block.
  1.1403 -         * @since 1.7
  1.1404 -         */
  1.1405 -        public static final UnicodeBlock LATIN_EXTENDED_D =
  1.1406 -            new UnicodeBlock("LATIN_EXTENDED_D",
  1.1407 -                             "LATIN EXTENDED-D",
  1.1408 -                             "LATINEXTENDED-D");
  1.1409 -
  1.1410 -        /**
  1.1411 -         * Constant for the "Syloti Nagri" Unicode character block.
  1.1412 -         * @since 1.7
  1.1413 -         */
  1.1414 -        public static final UnicodeBlock SYLOTI_NAGRI =
  1.1415 -            new UnicodeBlock("SYLOTI_NAGRI",
  1.1416 -                             "SYLOTI NAGRI",
  1.1417 -                             "SYLOTINAGRI");
  1.1418 -
  1.1419 -        /**
  1.1420 -         * Constant for the "Common Indic Number Forms" Unicode character block.
  1.1421 -         * @since 1.7
  1.1422 -         */
  1.1423 -        public static final UnicodeBlock COMMON_INDIC_NUMBER_FORMS =
  1.1424 -            new UnicodeBlock("COMMON_INDIC_NUMBER_FORMS",
  1.1425 -                             "COMMON INDIC NUMBER FORMS",
  1.1426 -                             "COMMONINDICNUMBERFORMS");
  1.1427 -
  1.1428 -        /**
  1.1429 -         * Constant for the "Phags-pa" Unicode character block.
  1.1430 -         * @since 1.7
  1.1431 -         */
  1.1432 -        public static final UnicodeBlock PHAGS_PA =
  1.1433 -            new UnicodeBlock("PHAGS_PA",
  1.1434 -                             "PHAGS-PA");
  1.1435 -
  1.1436 -        /**
  1.1437 -         * Constant for the "Saurashtra" Unicode character block.
  1.1438 -         * @since 1.7
  1.1439 -         */
  1.1440 -        public static final UnicodeBlock SAURASHTRA =
  1.1441 -            new UnicodeBlock("SAURASHTRA");
  1.1442 -
  1.1443 -        /**
  1.1444 -         * Constant for the "Devanagari Extended" Unicode character block.
  1.1445 -         * @since 1.7
  1.1446 -         */
  1.1447 -        public static final UnicodeBlock DEVANAGARI_EXTENDED =
  1.1448 -            new UnicodeBlock("DEVANAGARI_EXTENDED",
  1.1449 -                             "DEVANAGARI EXTENDED",
  1.1450 -                             "DEVANAGARIEXTENDED");
  1.1451 -
  1.1452 -        /**
  1.1453 -         * Constant for the "Kayah Li" Unicode character block.
  1.1454 -         * @since 1.7
  1.1455 -         */
  1.1456 -        public static final UnicodeBlock KAYAH_LI =
  1.1457 -            new UnicodeBlock("KAYAH_LI",
  1.1458 -                             "KAYAH LI",
  1.1459 -                             "KAYAHLI");
  1.1460 -
  1.1461 -        /**
  1.1462 -         * Constant for the "Rejang" Unicode character block.
  1.1463 -         * @since 1.7
  1.1464 -         */
  1.1465 -        public static final UnicodeBlock REJANG =
  1.1466 -            new UnicodeBlock("REJANG");
  1.1467 -
  1.1468 -        /**
  1.1469 -         * Constant for the "Hangul Jamo Extended-A" Unicode character block.
  1.1470 -         * @since 1.7
  1.1471 -         */
  1.1472 -        public static final UnicodeBlock HANGUL_JAMO_EXTENDED_A =
  1.1473 -            new UnicodeBlock("HANGUL_JAMO_EXTENDED_A",
  1.1474 -                             "HANGUL JAMO EXTENDED-A",
  1.1475 -                             "HANGULJAMOEXTENDED-A");
  1.1476 -
  1.1477 -        /**
  1.1478 -         * Constant for the "Javanese" Unicode character block.
  1.1479 -         * @since 1.7
  1.1480 -         */
  1.1481 -        public static final UnicodeBlock JAVANESE =
  1.1482 -            new UnicodeBlock("JAVANESE");
  1.1483 -
  1.1484 -        /**
  1.1485 -         * Constant for the "Cham" Unicode character block.
  1.1486 -         * @since 1.7
  1.1487 -         */
  1.1488 -        public static final UnicodeBlock CHAM =
  1.1489 -            new UnicodeBlock("CHAM");
  1.1490 -
  1.1491 -        /**
  1.1492 -         * Constant for the "Myanmar Extended-A" Unicode character block.
  1.1493 -         * @since 1.7
  1.1494 -         */
  1.1495 -        public static final UnicodeBlock MYANMAR_EXTENDED_A =
  1.1496 -            new UnicodeBlock("MYANMAR_EXTENDED_A",
  1.1497 -                             "MYANMAR EXTENDED-A",
  1.1498 -                             "MYANMAREXTENDED-A");
  1.1499 -
  1.1500 -        /**
  1.1501 -         * Constant for the "Tai Viet" Unicode character block.
  1.1502 -         * @since 1.7
  1.1503 -         */
  1.1504 -        public static final UnicodeBlock TAI_VIET =
  1.1505 -            new UnicodeBlock("TAI_VIET",
  1.1506 -                             "TAI VIET",
  1.1507 -                             "TAIVIET");
  1.1508 -
  1.1509 -        /**
  1.1510 -         * Constant for the "Ethiopic Extended-A" Unicode character block.
  1.1511 -         * @since 1.7
  1.1512 -         */
  1.1513 -        public static final UnicodeBlock ETHIOPIC_EXTENDED_A =
  1.1514 -            new UnicodeBlock("ETHIOPIC_EXTENDED_A",
  1.1515 -                             "ETHIOPIC EXTENDED-A",
  1.1516 -                             "ETHIOPICEXTENDED-A");
  1.1517 -
  1.1518 -        /**
  1.1519 -         * Constant for the "Meetei Mayek" Unicode character block.
  1.1520 -         * @since 1.7
  1.1521 -         */
  1.1522 -        public static final UnicodeBlock MEETEI_MAYEK =
  1.1523 -            new UnicodeBlock("MEETEI_MAYEK",
  1.1524 -                             "MEETEI MAYEK",
  1.1525 -                             "MEETEIMAYEK");
  1.1526 -
  1.1527 -        /**
  1.1528 -         * Constant for the "Hangul Jamo Extended-B" Unicode character block.
  1.1529 -         * @since 1.7
  1.1530 -         */
  1.1531 -        public static final UnicodeBlock HANGUL_JAMO_EXTENDED_B =
  1.1532 -            new UnicodeBlock("HANGUL_JAMO_EXTENDED_B",
  1.1533 -                             "HANGUL JAMO EXTENDED-B",
  1.1534 -                             "HANGULJAMOEXTENDED-B");
  1.1535 -
  1.1536 -        /**
  1.1537 -         * Constant for the "Vertical Forms" Unicode character block.
  1.1538 -         * @since 1.7
  1.1539 -         */
  1.1540 -        public static final UnicodeBlock VERTICAL_FORMS =
  1.1541 -            new UnicodeBlock("VERTICAL_FORMS",
  1.1542 -                             "VERTICAL FORMS",
  1.1543 -                             "VERTICALFORMS");
  1.1544 -
  1.1545 -        /**
  1.1546 -         * Constant for the "Ancient Greek Numbers" Unicode character block.
  1.1547 -         * @since 1.7
  1.1548 -         */
  1.1549 -        public static final UnicodeBlock ANCIENT_GREEK_NUMBERS =
  1.1550 -            new UnicodeBlock("ANCIENT_GREEK_NUMBERS",
  1.1551 -                             "ANCIENT GREEK NUMBERS",
  1.1552 -                             "ANCIENTGREEKNUMBERS");
  1.1553 -
  1.1554 -        /**
  1.1555 -         * Constant for the "Ancient Symbols" Unicode character block.
  1.1556 -         * @since 1.7
  1.1557 -         */
  1.1558 -        public static final UnicodeBlock ANCIENT_SYMBOLS =
  1.1559 -            new UnicodeBlock("ANCIENT_SYMBOLS",
  1.1560 -                             "ANCIENT SYMBOLS",
  1.1561 -                             "ANCIENTSYMBOLS");
  1.1562 -
  1.1563 -        /**
  1.1564 -         * Constant for the "Phaistos Disc" Unicode character block.
  1.1565 -         * @since 1.7
  1.1566 -         */
  1.1567 -        public static final UnicodeBlock PHAISTOS_DISC =
  1.1568 -            new UnicodeBlock("PHAISTOS_DISC",
  1.1569 -                             "PHAISTOS DISC",
  1.1570 -                             "PHAISTOSDISC");
  1.1571 -
  1.1572 -        /**
  1.1573 -         * Constant for the "Lycian" Unicode character block.
  1.1574 -         * @since 1.7
  1.1575 -         */
  1.1576 -        public static final UnicodeBlock LYCIAN =
  1.1577 -            new UnicodeBlock("LYCIAN");
  1.1578 -
  1.1579 -        /**
  1.1580 -         * Constant for the "Carian" Unicode character block.
  1.1581 -         * @since 1.7
  1.1582 -         */
  1.1583 -        public static final UnicodeBlock CARIAN =
  1.1584 -            new UnicodeBlock("CARIAN");
  1.1585 -
  1.1586 -        /**
  1.1587 -         * Constant for the "Old Persian" Unicode character block.
  1.1588 -         * @since 1.7
  1.1589 -         */
  1.1590 -        public static final UnicodeBlock OLD_PERSIAN =
  1.1591 -            new UnicodeBlock("OLD_PERSIAN",
  1.1592 -                             "OLD PERSIAN",
  1.1593 -                             "OLDPERSIAN");
  1.1594 -
  1.1595 -        /**
  1.1596 -         * Constant for the "Imperial Aramaic" Unicode character block.
  1.1597 -         * @since 1.7
  1.1598 -         */
  1.1599 -        public static final UnicodeBlock IMPERIAL_ARAMAIC =
  1.1600 -            new UnicodeBlock("IMPERIAL_ARAMAIC",
  1.1601 -                             "IMPERIAL ARAMAIC",
  1.1602 -                             "IMPERIALARAMAIC");
  1.1603 -
  1.1604 -        /**
  1.1605 -         * Constant for the "Phoenician" Unicode character block.
  1.1606 -         * @since 1.7
  1.1607 -         */
  1.1608 -        public static final UnicodeBlock PHOENICIAN =
  1.1609 -            new UnicodeBlock("PHOENICIAN");
  1.1610 -
  1.1611 -        /**
  1.1612 -         * Constant for the "Lydian" Unicode character block.
  1.1613 -         * @since 1.7
  1.1614 -         */
  1.1615 -        public static final UnicodeBlock LYDIAN =
  1.1616 -            new UnicodeBlock("LYDIAN");
  1.1617 -
  1.1618 -        /**
  1.1619 -         * Constant for the "Kharoshthi" Unicode character block.
  1.1620 -         * @since 1.7
  1.1621 -         */
  1.1622 -        public static final UnicodeBlock KHAROSHTHI =
  1.1623 -            new UnicodeBlock("KHAROSHTHI");
  1.1624 -
  1.1625 -        /**
  1.1626 -         * Constant for the "Old South Arabian" Unicode character block.
  1.1627 -         * @since 1.7
  1.1628 -         */
  1.1629 -        public static final UnicodeBlock OLD_SOUTH_ARABIAN =
  1.1630 -            new UnicodeBlock("OLD_SOUTH_ARABIAN",
  1.1631 -                             "OLD SOUTH ARABIAN",
  1.1632 -                             "OLDSOUTHARABIAN");
  1.1633 -
  1.1634 -        /**
  1.1635 -         * Constant for the "Avestan" Unicode character block.
  1.1636 -         * @since 1.7
  1.1637 -         */
  1.1638 -        public static final UnicodeBlock AVESTAN =
  1.1639 -            new UnicodeBlock("AVESTAN");
  1.1640 -
  1.1641 -        /**
  1.1642 -         * Constant for the "Inscriptional Parthian" Unicode character block.
  1.1643 -         * @since 1.7
  1.1644 -         */
  1.1645 -        public static final UnicodeBlock INSCRIPTIONAL_PARTHIAN =
  1.1646 -            new UnicodeBlock("INSCRIPTIONAL_PARTHIAN",
  1.1647 -                             "INSCRIPTIONAL PARTHIAN",
  1.1648 -                             "INSCRIPTIONALPARTHIAN");
  1.1649 -
  1.1650 -        /**
  1.1651 -         * Constant for the "Inscriptional Pahlavi" Unicode character block.
  1.1652 -         * @since 1.7
  1.1653 -         */
  1.1654 -        public static final UnicodeBlock INSCRIPTIONAL_PAHLAVI =
  1.1655 -            new UnicodeBlock("INSCRIPTIONAL_PAHLAVI",
  1.1656 -                             "INSCRIPTIONAL PAHLAVI",
  1.1657 -                             "INSCRIPTIONALPAHLAVI");
  1.1658 -
  1.1659 -        /**
  1.1660 -         * Constant for the "Old Turkic" Unicode character block.
  1.1661 -         * @since 1.7
  1.1662 -         */
  1.1663 -        public static final UnicodeBlock OLD_TURKIC =
  1.1664 -            new UnicodeBlock("OLD_TURKIC",
  1.1665 -                             "OLD TURKIC",
  1.1666 -                             "OLDTURKIC");
  1.1667 -
  1.1668 -        /**
  1.1669 -         * Constant for the "Rumi Numeral Symbols" Unicode character block.
  1.1670 -         * @since 1.7
  1.1671 -         */
  1.1672 -        public static final UnicodeBlock RUMI_NUMERAL_SYMBOLS =
  1.1673 -            new UnicodeBlock("RUMI_NUMERAL_SYMBOLS",
  1.1674 -                             "RUMI NUMERAL SYMBOLS",
  1.1675 -                             "RUMINUMERALSYMBOLS");
  1.1676 -
  1.1677 -        /**
  1.1678 -         * Constant for the "Brahmi" Unicode character block.
  1.1679 -         * @since 1.7
  1.1680 -         */
  1.1681 -        public static final UnicodeBlock BRAHMI =
  1.1682 -            new UnicodeBlock("BRAHMI");
  1.1683 -
  1.1684 -        /**
  1.1685 -         * Constant for the "Kaithi" Unicode character block.
  1.1686 -         * @since 1.7
  1.1687 -         */
  1.1688 -        public static final UnicodeBlock KAITHI =
  1.1689 -            new UnicodeBlock("KAITHI");
  1.1690 -
  1.1691 -        /**
  1.1692 -         * Constant for the "Cuneiform" Unicode character block.
  1.1693 -         * @since 1.7
  1.1694 -         */
  1.1695 -        public static final UnicodeBlock CUNEIFORM =
  1.1696 -            new UnicodeBlock("CUNEIFORM");
  1.1697 -
  1.1698 -        /**
  1.1699 -         * Constant for the "Cuneiform Numbers and Punctuation" Unicode
  1.1700 -         * character block.
  1.1701 -         * @since 1.7
  1.1702 -         */
  1.1703 -        public static final UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION =
  1.1704 -            new UnicodeBlock("CUNEIFORM_NUMBERS_AND_PUNCTUATION",
  1.1705 -                             "CUNEIFORM NUMBERS AND PUNCTUATION",
  1.1706 -                             "CUNEIFORMNUMBERSANDPUNCTUATION");
  1.1707 -
  1.1708 -        /**
  1.1709 -         * Constant for the "Egyptian Hieroglyphs" Unicode character block.
  1.1710 -         * @since 1.7
  1.1711 -         */
  1.1712 -        public static final UnicodeBlock EGYPTIAN_HIEROGLYPHS =
  1.1713 -            new UnicodeBlock("EGYPTIAN_HIEROGLYPHS",
  1.1714 -                             "EGYPTIAN HIEROGLYPHS",
  1.1715 -                             "EGYPTIANHIEROGLYPHS");
  1.1716 -
  1.1717 -        /**
  1.1718 -         * Constant for the "Bamum Supplement" Unicode character block.
  1.1719 -         * @since 1.7
  1.1720 -         */
  1.1721 -        public static final UnicodeBlock BAMUM_SUPPLEMENT =
  1.1722 -            new UnicodeBlock("BAMUM_SUPPLEMENT",
  1.1723 -                             "BAMUM SUPPLEMENT",
  1.1724 -                             "BAMUMSUPPLEMENT");
  1.1725 -
  1.1726 -        /**
  1.1727 -         * Constant for the "Kana Supplement" Unicode character block.
  1.1728 -         * @since 1.7
  1.1729 -         */
  1.1730 -        public static final UnicodeBlock KANA_SUPPLEMENT =
  1.1731 -            new UnicodeBlock("KANA_SUPPLEMENT",
  1.1732 -                             "KANA SUPPLEMENT",
  1.1733 -                             "KANASUPPLEMENT");
  1.1734 -
  1.1735 -        /**
  1.1736 -         * Constant for the "Ancient Greek Musical Notation" Unicode character
  1.1737 -         * block.
  1.1738 -         * @since 1.7
  1.1739 -         */
  1.1740 -        public static final UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION =
  1.1741 -            new UnicodeBlock("ANCIENT_GREEK_MUSICAL_NOTATION",
  1.1742 -                             "ANCIENT GREEK MUSICAL NOTATION",
  1.1743 -                             "ANCIENTGREEKMUSICALNOTATION");
  1.1744 -
  1.1745 -        /**
  1.1746 -         * Constant for the "Counting Rod Numerals" Unicode character block.
  1.1747 -         * @since 1.7
  1.1748 -         */
  1.1749 -        public static final UnicodeBlock COUNTING_ROD_NUMERALS =
  1.1750 -            new UnicodeBlock("COUNTING_ROD_NUMERALS",
  1.1751 -                             "COUNTING ROD NUMERALS",
  1.1752 -                             "COUNTINGRODNUMERALS");
  1.1753 -
  1.1754 -        /**
  1.1755 -         * Constant for the "Mahjong Tiles" Unicode character block.
  1.1756 -         * @since 1.7
  1.1757 -         */
  1.1758 -        public static final UnicodeBlock MAHJONG_TILES =
  1.1759 -            new UnicodeBlock("MAHJONG_TILES",
  1.1760 -                             "MAHJONG TILES",
  1.1761 -                             "MAHJONGTILES");
  1.1762 -
  1.1763 -        /**
  1.1764 -         * Constant for the "Domino Tiles" Unicode character block.
  1.1765 -         * @since 1.7
  1.1766 -         */
  1.1767 -        public static final UnicodeBlock DOMINO_TILES =
  1.1768 -            new UnicodeBlock("DOMINO_TILES",
  1.1769 -                             "DOMINO TILES",
  1.1770 -                             "DOMINOTILES");
  1.1771 -
  1.1772 -        /**
  1.1773 -         * Constant for the "Playing Cards" Unicode character block.
  1.1774 -         * @since 1.7
  1.1775 -         */
  1.1776 -        public static final UnicodeBlock PLAYING_CARDS =
  1.1777 -            new UnicodeBlock("PLAYING_CARDS",
  1.1778 -                             "PLAYING CARDS",
  1.1779 -                             "PLAYINGCARDS");
  1.1780 -
  1.1781 -        /**
  1.1782 -         * Constant for the "Enclosed Alphanumeric Supplement" Unicode character
  1.1783 -         * block.
  1.1784 -         * @since 1.7
  1.1785 -         */
  1.1786 -        public static final UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT =
  1.1787 -            new UnicodeBlock("ENCLOSED_ALPHANUMERIC_SUPPLEMENT",
  1.1788 -                             "ENCLOSED ALPHANUMERIC SUPPLEMENT",
  1.1789 -                             "ENCLOSEDALPHANUMERICSUPPLEMENT");
  1.1790 -
  1.1791 -        /**
  1.1792 -         * Constant for the "Enclosed Ideographic Supplement" Unicode character
  1.1793 -         * block.
  1.1794 -         * @since 1.7
  1.1795 -         */
  1.1796 -        public static final UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT =
  1.1797 -            new UnicodeBlock("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT",
  1.1798 -                             "ENCLOSED IDEOGRAPHIC SUPPLEMENT",
  1.1799 -                             "ENCLOSEDIDEOGRAPHICSUPPLEMENT");
  1.1800 -
  1.1801 -        /**
  1.1802 -         * Constant for the "Miscellaneous Symbols And Pictographs" Unicode
  1.1803 -         * character block.
  1.1804 -         * @since 1.7
  1.1805 -         */
  1.1806 -        public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS =
  1.1807 -            new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS",
  1.1808 -                             "MISCELLANEOUS SYMBOLS AND PICTOGRAPHS",
  1.1809 -                             "MISCELLANEOUSSYMBOLSANDPICTOGRAPHS");
  1.1810 -
  1.1811 -        /**
  1.1812 -         * Constant for the "Emoticons" Unicode character block.
  1.1813 -         * @since 1.7
  1.1814 -         */
  1.1815 -        public static final UnicodeBlock EMOTICONS =
  1.1816 -            new UnicodeBlock("EMOTICONS");
  1.1817 -
  1.1818 -        /**
  1.1819 -         * Constant for the "Transport And Map Symbols" Unicode character block.
  1.1820 -         * @since 1.7
  1.1821 -         */
  1.1822 -        public static final UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS =
  1.1823 -            new UnicodeBlock("TRANSPORT_AND_MAP_SYMBOLS",
  1.1824 -                             "TRANSPORT AND MAP SYMBOLS",
  1.1825 -                             "TRANSPORTANDMAPSYMBOLS");
  1.1826 -
  1.1827 -        /**
  1.1828 -         * Constant for the "Alchemical Symbols" Unicode character block.
  1.1829 -         * @since 1.7
  1.1830 -         */
  1.1831 -        public static final UnicodeBlock ALCHEMICAL_SYMBOLS =
  1.1832 -            new UnicodeBlock("ALCHEMICAL_SYMBOLS",
  1.1833 -                             "ALCHEMICAL SYMBOLS",
  1.1834 -                             "ALCHEMICALSYMBOLS");
  1.1835 -
  1.1836 -        /**
  1.1837 -         * Constant for the "CJK Unified Ideographs Extension C" Unicode
  1.1838 -         * character block.
  1.1839 -         * @since 1.7
  1.1840 -         */
  1.1841 -        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C =
  1.1842 -            new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C",
  1.1843 -                             "CJK UNIFIED IDEOGRAPHS EXTENSION C",
  1.1844 -                             "CJKUNIFIEDIDEOGRAPHSEXTENSIONC");
  1.1845 -
  1.1846 -        /**
  1.1847 -         * Constant for the "CJK Unified Ideographs Extension D" Unicode
  1.1848 -         * character block.
  1.1849 -         * @since 1.7
  1.1850 -         */
  1.1851 -        public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D =
  1.1852 -            new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D",
  1.1853 -                             "CJK UNIFIED IDEOGRAPHS EXTENSION D",
  1.1854 -                             "CJKUNIFIEDIDEOGRAPHSEXTENSIOND");
  1.1855 -
  1.1856 -        private static final int blockStarts[] = {
  1.1857 -            0x0000,   // 0000..007F; Basic Latin
  1.1858 -            0x0080,   // 0080..00FF; Latin-1 Supplement
  1.1859 -            0x0100,   // 0100..017F; Latin Extended-A
  1.1860 -            0x0180,   // 0180..024F; Latin Extended-B
  1.1861 -            0x0250,   // 0250..02AF; IPA Extensions
  1.1862 -            0x02B0,   // 02B0..02FF; Spacing Modifier Letters
  1.1863 -            0x0300,   // 0300..036F; Combining Diacritical Marks
  1.1864 -            0x0370,   // 0370..03FF; Greek and Coptic
  1.1865 -            0x0400,   // 0400..04FF; Cyrillic
  1.1866 -            0x0500,   // 0500..052F; Cyrillic Supplement
  1.1867 -            0x0530,   // 0530..058F; Armenian
  1.1868 -            0x0590,   // 0590..05FF; Hebrew
  1.1869 -            0x0600,   // 0600..06FF; Arabic
  1.1870 -            0x0700,   // 0700..074F; Syriac
  1.1871 -            0x0750,   // 0750..077F; Arabic Supplement
  1.1872 -            0x0780,   // 0780..07BF; Thaana
  1.1873 -            0x07C0,   // 07C0..07FF; NKo
  1.1874 -            0x0800,   // 0800..083F; Samaritan
  1.1875 -            0x0840,   // 0840..085F; Mandaic
  1.1876 -            0x0860,   //             unassigned
  1.1877 -            0x0900,   // 0900..097F; Devanagari
  1.1878 -            0x0980,   // 0980..09FF; Bengali
  1.1879 -            0x0A00,   // 0A00..0A7F; Gurmukhi
  1.1880 -            0x0A80,   // 0A80..0AFF; Gujarati
  1.1881 -            0x0B00,   // 0B00..0B7F; Oriya
  1.1882 -            0x0B80,   // 0B80..0BFF; Tamil
  1.1883 -            0x0C00,   // 0C00..0C7F; Telugu
  1.1884 -            0x0C80,   // 0C80..0CFF; Kannada
  1.1885 -            0x0D00,   // 0D00..0D7F; Malayalam
  1.1886 -            0x0D80,   // 0D80..0DFF; Sinhala
  1.1887 -            0x0E00,   // 0E00..0E7F; Thai
  1.1888 -            0x0E80,   // 0E80..0EFF; Lao
  1.1889 -            0x0F00,   // 0F00..0FFF; Tibetan
  1.1890 -            0x1000,   // 1000..109F; Myanmar
  1.1891 -            0x10A0,   // 10A0..10FF; Georgian
  1.1892 -            0x1100,   // 1100..11FF; Hangul Jamo
  1.1893 -            0x1200,   // 1200..137F; Ethiopic
  1.1894 -            0x1380,   // 1380..139F; Ethiopic Supplement
  1.1895 -            0x13A0,   // 13A0..13FF; Cherokee
  1.1896 -            0x1400,   // 1400..167F; Unified Canadian Aboriginal Syllabics
  1.1897 -            0x1680,   // 1680..169F; Ogham
  1.1898 -            0x16A0,   // 16A0..16FF; Runic
  1.1899 -            0x1700,   // 1700..171F; Tagalog
  1.1900 -            0x1720,   // 1720..173F; Hanunoo
  1.1901 -            0x1740,   // 1740..175F; Buhid
  1.1902 -            0x1760,   // 1760..177F; Tagbanwa
  1.1903 -            0x1780,   // 1780..17FF; Khmer
  1.1904 -            0x1800,   // 1800..18AF; Mongolian
  1.1905 -            0x18B0,   // 18B0..18FF; Unified Canadian Aboriginal Syllabics Extended
  1.1906 -            0x1900,   // 1900..194F; Limbu
  1.1907 -            0x1950,   // 1950..197F; Tai Le
  1.1908 -            0x1980,   // 1980..19DF; New Tai Lue
  1.1909 -            0x19E0,   // 19E0..19FF; Khmer Symbols
  1.1910 -            0x1A00,   // 1A00..1A1F; Buginese
  1.1911 -            0x1A20,   // 1A20..1AAF; Tai Tham
  1.1912 -            0x1AB0,   //             unassigned
  1.1913 -            0x1B00,   // 1B00..1B7F; Balinese
  1.1914 -            0x1B80,   // 1B80..1BBF; Sundanese
  1.1915 -            0x1BC0,   // 1BC0..1BFF; Batak
  1.1916 -            0x1C00,   // 1C00..1C4F; Lepcha
  1.1917 -            0x1C50,   // 1C50..1C7F; Ol Chiki
  1.1918 -            0x1C80,   //             unassigned
  1.1919 -            0x1CD0,   // 1CD0..1CFF; Vedic Extensions
  1.1920 -            0x1D00,   // 1D00..1D7F; Phonetic Extensions
  1.1921 -            0x1D80,   // 1D80..1DBF; Phonetic Extensions Supplement
  1.1922 -            0x1DC0,   // 1DC0..1DFF; Combining Diacritical Marks Supplement
  1.1923 -            0x1E00,   // 1E00..1EFF; Latin Extended Additional
  1.1924 -            0x1F00,   // 1F00..1FFF; Greek Extended
  1.1925 -            0x2000,   // 2000..206F; General Punctuation
  1.1926 -            0x2070,   // 2070..209F; Superscripts and Subscripts
  1.1927 -            0x20A0,   // 20A0..20CF; Currency Symbols
  1.1928 -            0x20D0,   // 20D0..20FF; Combining Diacritical Marks for Symbols
  1.1929 -            0x2100,   // 2100..214F; Letterlike Symbols
  1.1930 -            0x2150,   // 2150..218F; Number Forms
  1.1931 -            0x2190,   // 2190..21FF; Arrows
  1.1932 -            0x2200,   // 2200..22FF; Mathematical Operators
  1.1933 -            0x2300,   // 2300..23FF; Miscellaneous Technical
  1.1934 -            0x2400,   // 2400..243F; Control Pictures
  1.1935 -            0x2440,   // 2440..245F; Optical Character Recognition
  1.1936 -            0x2460,   // 2460..24FF; Enclosed Alphanumerics
  1.1937 -            0x2500,   // 2500..257F; Box Drawing
  1.1938 -            0x2580,   // 2580..259F; Block Elements
  1.1939 -            0x25A0,   // 25A0..25FF; Geometric Shapes
  1.1940 -            0x2600,   // 2600..26FF; Miscellaneous Symbols
  1.1941 -            0x2700,   // 2700..27BF; Dingbats
  1.1942 -            0x27C0,   // 27C0..27EF; Miscellaneous Mathematical Symbols-A
  1.1943 -            0x27F0,   // 27F0..27FF; Supplemental Arrows-A
  1.1944 -            0x2800,   // 2800..28FF; Braille Patterns
  1.1945 -            0x2900,   // 2900..297F; Supplemental Arrows-B
  1.1946 -            0x2980,   // 2980..29FF; Miscellaneous Mathematical Symbols-B
  1.1947 -            0x2A00,   // 2A00..2AFF; Supplemental Mathematical Operators
  1.1948 -            0x2B00,   // 2B00..2BFF; Miscellaneous Symbols and Arrows
  1.1949 -            0x2C00,   // 2C00..2C5F; Glagolitic
  1.1950 -            0x2C60,   // 2C60..2C7F; Latin Extended-C
  1.1951 -            0x2C80,   // 2C80..2CFF; Coptic
  1.1952 -            0x2D00,   // 2D00..2D2F; Georgian Supplement
  1.1953 -            0x2D30,   // 2D30..2D7F; Tifinagh
  1.1954 -            0x2D80,   // 2D80..2DDF; Ethiopic Extended
  1.1955 -            0x2DE0,   // 2DE0..2DFF; Cyrillic Extended-A
  1.1956 -            0x2E00,   // 2E00..2E7F; Supplemental Punctuation
  1.1957 -            0x2E80,   // 2E80..2EFF; CJK Radicals Supplement
  1.1958 -            0x2F00,   // 2F00..2FDF; Kangxi Radicals
  1.1959 -            0x2FE0,   //             unassigned
  1.1960 -            0x2FF0,   // 2FF0..2FFF; Ideographic Description Characters
  1.1961 -            0x3000,   // 3000..303F; CJK Symbols and Punctuation
  1.1962 -            0x3040,   // 3040..309F; Hiragana
  1.1963 -            0x30A0,   // 30A0..30FF; Katakana
  1.1964 -            0x3100,   // 3100..312F; Bopomofo
  1.1965 -            0x3130,   // 3130..318F; Hangul Compatibility Jamo
  1.1966 -            0x3190,   // 3190..319F; Kanbun
  1.1967 -            0x31A0,   // 31A0..31BF; Bopomofo Extended
  1.1968 -            0x31C0,   // 31C0..31EF; CJK Strokes
  1.1969 -            0x31F0,   // 31F0..31FF; Katakana Phonetic Extensions
  1.1970 -            0x3200,   // 3200..32FF; Enclosed CJK Letters and Months
  1.1971 -            0x3300,   // 3300..33FF; CJK Compatibility
  1.1972 -            0x3400,   // 3400..4DBF; CJK Unified Ideographs Extension A
  1.1973 -            0x4DC0,   // 4DC0..4DFF; Yijing Hexagram Symbols
  1.1974 -            0x4E00,   // 4E00..9FFF; CJK Unified Ideographs
  1.1975 -            0xA000,   // A000..A48F; Yi Syllables
  1.1976 -            0xA490,   // A490..A4CF; Yi Radicals
  1.1977 -            0xA4D0,   // A4D0..A4FF; Lisu
  1.1978 -            0xA500,   // A500..A63F; Vai
  1.1979 -            0xA640,   // A640..A69F; Cyrillic Extended-B
  1.1980 -            0xA6A0,   // A6A0..A6FF; Bamum
  1.1981 -            0xA700,   // A700..A71F; Modifier Tone Letters
  1.1982 -            0xA720,   // A720..A7FF; Latin Extended-D
  1.1983 -            0xA800,   // A800..A82F; Syloti Nagri
  1.1984 -            0xA830,   // A830..A83F; Common Indic Number Forms
  1.1985 -            0xA840,   // A840..A87F; Phags-pa
  1.1986 -            0xA880,   // A880..A8DF; Saurashtra
  1.1987 -            0xA8E0,   // A8E0..A8FF; Devanagari Extended
  1.1988 -            0xA900,   // A900..A92F; Kayah Li
  1.1989 -            0xA930,   // A930..A95F; Rejang
  1.1990 -            0xA960,   // A960..A97F; Hangul Jamo Extended-A
  1.1991 -            0xA980,   // A980..A9DF; Javanese
  1.1992 -            0xA9E0,   //             unassigned
  1.1993 -            0xAA00,   // AA00..AA5F; Cham
  1.1994 -            0xAA60,   // AA60..AA7F; Myanmar Extended-A
  1.1995 -            0xAA80,   // AA80..AADF; Tai Viet
  1.1996 -            0xAAE0,   //             unassigned
  1.1997 -            0xAB00,   // AB00..AB2F; Ethiopic Extended-A
  1.1998 -            0xAB30,   //             unassigned
  1.1999 -            0xABC0,   // ABC0..ABFF; Meetei Mayek
  1.2000 -            0xAC00,   // AC00..D7AF; Hangul Syllables
  1.2001 -            0xD7B0,   // D7B0..D7FF; Hangul Jamo Extended-B
  1.2002 -            0xD800,   // D800..DB7F; High Surrogates
  1.2003 -            0xDB80,   // DB80..DBFF; High Private Use Surrogates
  1.2004 -            0xDC00,   // DC00..DFFF; Low Surrogates
  1.2005 -            0xE000,   // E000..F8FF; Private Use Area
  1.2006 -            0xF900,   // F900..FAFF; CJK Compatibility Ideographs
  1.2007 -            0xFB00,   // FB00..FB4F; Alphabetic Presentation Forms
  1.2008 -            0xFB50,   // FB50..FDFF; Arabic Presentation Forms-A
  1.2009 -            0xFE00,   // FE00..FE0F; Variation Selectors
  1.2010 -            0xFE10,   // FE10..FE1F; Vertical Forms
  1.2011 -            0xFE20,   // FE20..FE2F; Combining Half Marks
  1.2012 -            0xFE30,   // FE30..FE4F; CJK Compatibility Forms
  1.2013 -            0xFE50,   // FE50..FE6F; Small Form Variants
  1.2014 -            0xFE70,   // FE70..FEFF; Arabic Presentation Forms-B
  1.2015 -            0xFF00,   // FF00..FFEF; Halfwidth and Fullwidth Forms
  1.2016 -            0xFFF0,   // FFF0..FFFF; Specials
  1.2017 -            0x10000,  // 10000..1007F; Linear B Syllabary
  1.2018 -            0x10080,  // 10080..100FF; Linear B Ideograms
  1.2019 -            0x10100,  // 10100..1013F; Aegean Numbers
  1.2020 -            0x10140,  // 10140..1018F; Ancient Greek Numbers
  1.2021 -            0x10190,  // 10190..101CF; Ancient Symbols
  1.2022 -            0x101D0,  // 101D0..101FF; Phaistos Disc
  1.2023 -            0x10200,  //               unassigned
  1.2024 -            0x10280,  // 10280..1029F; Lycian
  1.2025 -            0x102A0,  // 102A0..102DF; Carian
  1.2026 -            0x102E0,  //               unassigned
  1.2027 -            0x10300,  // 10300..1032F; Old Italic
  1.2028 -            0x10330,  // 10330..1034F; Gothic
  1.2029 -            0x10350,  //               unassigned
  1.2030 -            0x10380,  // 10380..1039F; Ugaritic
  1.2031 -            0x103A0,  // 103A0..103DF; Old Persian
  1.2032 -            0x103E0,  //               unassigned
  1.2033 -            0x10400,  // 10400..1044F; Deseret
  1.2034 -            0x10450,  // 10450..1047F; Shavian
  1.2035 -            0x10480,  // 10480..104AF; Osmanya
  1.2036 -            0x104B0,  //               unassigned
  1.2037 -            0x10800,  // 10800..1083F; Cypriot Syllabary
  1.2038 -            0x10840,  // 10840..1085F; Imperial Aramaic
  1.2039 -            0x10860,  //               unassigned
  1.2040 -            0x10900,  // 10900..1091F; Phoenician
  1.2041 -            0x10920,  // 10920..1093F; Lydian
  1.2042 -            0x10940,  //               unassigned
  1.2043 -            0x10A00,  // 10A00..10A5F; Kharoshthi
  1.2044 -            0x10A60,  // 10A60..10A7F; Old South Arabian
  1.2045 -            0x10A80,  //               unassigned
  1.2046 -            0x10B00,  // 10B00..10B3F; Avestan
  1.2047 -            0x10B40,  // 10B40..10B5F; Inscriptional Parthian
  1.2048 -            0x10B60,  // 10B60..10B7F; Inscriptional Pahlavi
  1.2049 -            0x10B80,  //               unassigned
  1.2050 -            0x10C00,  // 10C00..10C4F; Old Turkic
  1.2051 -            0x10C50,  //               unassigned
  1.2052 -            0x10E60,  // 10E60..10E7F; Rumi Numeral Symbols
  1.2053 -            0x10E80,  //               unassigned
  1.2054 -            0x11000,  // 11000..1107F; Brahmi
  1.2055 -            0x11080,  // 11080..110CF; Kaithi
  1.2056 -            0x110D0,  //               unassigned
  1.2057 -            0x12000,  // 12000..123FF; Cuneiform
  1.2058 -            0x12400,  // 12400..1247F; Cuneiform Numbers and Punctuation
  1.2059 -            0x12480,  //               unassigned
  1.2060 -            0x13000,  // 13000..1342F; Egyptian Hieroglyphs
  1.2061 -            0x13430,  //               unassigned
  1.2062 -            0x16800,  // 16800..16A3F; Bamum Supplement
  1.2063 -            0x16A40,  //               unassigned
  1.2064 -            0x1B000,  // 1B000..1B0FF; Kana Supplement
  1.2065 -            0x1B100,  //               unassigned
  1.2066 -            0x1D000,  // 1D000..1D0FF; Byzantine Musical Symbols
  1.2067 -            0x1D100,  // 1D100..1D1FF; Musical Symbols
  1.2068 -            0x1D200,  // 1D200..1D24F; Ancient Greek Musical Notation
  1.2069 -            0x1D250,  //               unassigned
  1.2070 -            0x1D300,  // 1D300..1D35F; Tai Xuan Jing Symbols
  1.2071 -            0x1D360,  // 1D360..1D37F; Counting Rod Numerals
  1.2072 -            0x1D380,  //               unassigned
  1.2073 -            0x1D400,  // 1D400..1D7FF; Mathematical Alphanumeric Symbols
  1.2074 -            0x1D800,  //               unassigned
  1.2075 -            0x1F000,  // 1F000..1F02F; Mahjong Tiles
  1.2076 -            0x1F030,  // 1F030..1F09F; Domino Tiles
  1.2077 -            0x1F0A0,  // 1F0A0..1F0FF; Playing Cards
  1.2078 -            0x1F100,  // 1F100..1F1FF; Enclosed Alphanumeric Supplement
  1.2079 -            0x1F200,  // 1F200..1F2FF; Enclosed Ideographic Supplement
  1.2080 -            0x1F300,  // 1F300..1F5FF; Miscellaneous Symbols And Pictographs
  1.2081 -            0x1F600,  // 1F600..1F64F; Emoticons
  1.2082 -            0x1F650,  //               unassigned
  1.2083 -            0x1F680,  // 1F680..1F6FF; Transport And Map Symbols
  1.2084 -            0x1F700,  // 1F700..1F77F; Alchemical Symbols
  1.2085 -            0x1F780,  //               unassigned
  1.2086 -            0x20000,  // 20000..2A6DF; CJK Unified Ideographs Extension B
  1.2087 -            0x2A6E0,  //               unassigned
  1.2088 -            0x2A700,  // 2A700..2B73F; CJK Unified Ideographs Extension C
  1.2089 -            0x2B740,  // 2B740..2B81F; CJK Unified Ideographs Extension D
  1.2090 -            0x2B820,  //               unassigned
  1.2091 -            0x2F800,  // 2F800..2FA1F; CJK Compatibility Ideographs Supplement
  1.2092 -            0x2FA20,  //               unassigned
  1.2093 -            0xE0000,  // E0000..E007F; Tags
  1.2094 -            0xE0080,  //               unassigned
  1.2095 -            0xE0100,  // E0100..E01EF; Variation Selectors Supplement
  1.2096 -            0xE01F0,  //               unassigned
  1.2097 -            0xF0000,  // F0000..FFFFF; Supplementary Private Use Area-A
  1.2098 -            0x100000  // 100000..10FFFF; Supplementary Private Use Area-B
  1.2099 -        };
  1.2100 -
  1.2101 -        private static final UnicodeBlock[] blocks = {
  1.2102 -            BASIC_LATIN,
  1.2103 -            LATIN_1_SUPPLEMENT,
  1.2104 -            LATIN_EXTENDED_A,
  1.2105 -            LATIN_EXTENDED_B,
  1.2106 -            IPA_EXTENSIONS,
  1.2107 -            SPACING_MODIFIER_LETTERS,
  1.2108 -            COMBINING_DIACRITICAL_MARKS,
  1.2109 -            GREEK,
  1.2110 -            CYRILLIC,
  1.2111 -            CYRILLIC_SUPPLEMENTARY,
  1.2112 -            ARMENIAN,
  1.2113 -            HEBREW,
  1.2114 -            ARABIC,
  1.2115 -            SYRIAC,
  1.2116 -            ARABIC_SUPPLEMENT,
  1.2117 -            THAANA,
  1.2118 -            NKO,
  1.2119 -            SAMARITAN,
  1.2120 -            MANDAIC,
  1.2121 -            null,
  1.2122 -            DEVANAGARI,
  1.2123 -            BENGALI,
  1.2124 -            GURMUKHI,
  1.2125 -            GUJARATI,
  1.2126 -            ORIYA,
  1.2127 -            TAMIL,
  1.2128 -            TELUGU,
  1.2129 -            KANNADA,
  1.2130 -            MALAYALAM,
  1.2131 -            SINHALA,
  1.2132 -            THAI,
  1.2133 -            LAO,
  1.2134 -            TIBETAN,
  1.2135 -            MYANMAR,
  1.2136 -            GEORGIAN,
  1.2137 -            HANGUL_JAMO,
  1.2138 -            ETHIOPIC,
  1.2139 -            ETHIOPIC_SUPPLEMENT,
  1.2140 -            CHEROKEE,
  1.2141 -            UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS,
  1.2142 -            OGHAM,
  1.2143 -            RUNIC,
  1.2144 -            TAGALOG,
  1.2145 -            HANUNOO,
  1.2146 -            BUHID,
  1.2147 -            TAGBANWA,
  1.2148 -            KHMER,
  1.2149 -            MONGOLIAN,
  1.2150 -            UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED,
  1.2151 -            LIMBU,
  1.2152 -            TAI_LE,
  1.2153 -            NEW_TAI_LUE,
  1.2154 -            KHMER_SYMBOLS,
  1.2155 -            BUGINESE,
  1.2156 -            TAI_THAM,
  1.2157 -            null,
  1.2158 -            BALINESE,
  1.2159 -            SUNDANESE,
  1.2160 -            BATAK,
  1.2161 -            LEPCHA,
  1.2162 -            OL_CHIKI,
  1.2163 -            null,
  1.2164 -            VEDIC_EXTENSIONS,
  1.2165 -            PHONETIC_EXTENSIONS,
  1.2166 -            PHONETIC_EXTENSIONS_SUPPLEMENT,
  1.2167 -            COMBINING_DIACRITICAL_MARKS_SUPPLEMENT,
  1.2168 -            LATIN_EXTENDED_ADDITIONAL,
  1.2169 -            GREEK_EXTENDED,
  1.2170 -            GENERAL_PUNCTUATION,
  1.2171 -            SUPERSCRIPTS_AND_SUBSCRIPTS,
  1.2172 -            CURRENCY_SYMBOLS,
  1.2173 -            COMBINING_MARKS_FOR_SYMBOLS,
  1.2174 -            LETTERLIKE_SYMBOLS,
  1.2175 -            NUMBER_FORMS,
  1.2176 -            ARROWS,
  1.2177 -            MATHEMATICAL_OPERATORS,
  1.2178 -            MISCELLANEOUS_TECHNICAL,
  1.2179 -            CONTROL_PICTURES,
  1.2180 -            OPTICAL_CHARACTER_RECOGNITION,
  1.2181 -            ENCLOSED_ALPHANUMERICS,
  1.2182 -            BOX_DRAWING,
  1.2183 -            BLOCK_ELEMENTS,
  1.2184 -            GEOMETRIC_SHAPES,
  1.2185 -            MISCELLANEOUS_SYMBOLS,
  1.2186 -            DINGBATS,
  1.2187 -            MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A,
  1.2188 -            SUPPLEMENTAL_ARROWS_A,
  1.2189 -            BRAILLE_PATTERNS,
  1.2190 -            SUPPLEMENTAL_ARROWS_B,
  1.2191 -            MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B,
  1.2192 -            SUPPLEMENTAL_MATHEMATICAL_OPERATORS,
  1.2193 -            MISCELLANEOUS_SYMBOLS_AND_ARROWS,
  1.2194 -            GLAGOLITIC,
  1.2195 -            LATIN_EXTENDED_C,
  1.2196 -            COPTIC,
  1.2197 -            GEORGIAN_SUPPLEMENT,
  1.2198 -            TIFINAGH,
  1.2199 -            ETHIOPIC_EXTENDED,
  1.2200 -            CYRILLIC_EXTENDED_A,
  1.2201 -            SUPPLEMENTAL_PUNCTUATION,
  1.2202 -            CJK_RADICALS_SUPPLEMENT,
  1.2203 -            KANGXI_RADICALS,
  1.2204 -            null,
  1.2205 -            IDEOGRAPHIC_DESCRIPTION_CHARACTERS,
  1.2206 -            CJK_SYMBOLS_AND_PUNCTUATION,
  1.2207 -            HIRAGANA,
  1.2208 -            KATAKANA,
  1.2209 -            BOPOMOFO,
  1.2210 -            HANGUL_COMPATIBILITY_JAMO,
  1.2211 -            KANBUN,
  1.2212 -            BOPOMOFO_EXTENDED,
  1.2213 -            CJK_STROKES,
  1.2214 -            KATAKANA_PHONETIC_EXTENSIONS,
  1.2215 -            ENCLOSED_CJK_LETTERS_AND_MONTHS,
  1.2216 -            CJK_COMPATIBILITY,
  1.2217 -            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A,
  1.2218 -            YIJING_HEXAGRAM_SYMBOLS,
  1.2219 -            CJK_UNIFIED_IDEOGRAPHS,
  1.2220 -            YI_SYLLABLES,
  1.2221 -            YI_RADICALS,
  1.2222 -            LISU,
  1.2223 -            VAI,
  1.2224 -            CYRILLIC_EXTENDED_B,
  1.2225 -            BAMUM,
  1.2226 -            MODIFIER_TONE_LETTERS,
  1.2227 -            LATIN_EXTENDED_D,
  1.2228 -            SYLOTI_NAGRI,
  1.2229 -            COMMON_INDIC_NUMBER_FORMS,
  1.2230 -            PHAGS_PA,
  1.2231 -            SAURASHTRA,
  1.2232 -            DEVANAGARI_EXTENDED,
  1.2233 -            KAYAH_LI,
  1.2234 -            REJANG,
  1.2235 -            HANGUL_JAMO_EXTENDED_A,
  1.2236 -            JAVANESE,
  1.2237 -            null,
  1.2238 -            CHAM,
  1.2239 -            MYANMAR_EXTENDED_A,
  1.2240 -            TAI_VIET,
  1.2241 -            null,
  1.2242 -            ETHIOPIC_EXTENDED_A,
  1.2243 -            null,
  1.2244 -            MEETEI_MAYEK,
  1.2245 -            HANGUL_SYLLABLES,
  1.2246 -            HANGUL_JAMO_EXTENDED_B,
  1.2247 -            HIGH_SURROGATES,
  1.2248 -            HIGH_PRIVATE_USE_SURROGATES,
  1.2249 -            LOW_SURROGATES,
  1.2250 -            PRIVATE_USE_AREA,
  1.2251 -            CJK_COMPATIBILITY_IDEOGRAPHS,
  1.2252 -            ALPHABETIC_PRESENTATION_FORMS,
  1.2253 -            ARABIC_PRESENTATION_FORMS_A,
  1.2254 -            VARIATION_SELECTORS,
  1.2255 -            VERTICAL_FORMS,
  1.2256 -            COMBINING_HALF_MARKS,
  1.2257 -            CJK_COMPATIBILITY_FORMS,
  1.2258 -            SMALL_FORM_VARIANTS,
  1.2259 -            ARABIC_PRESENTATION_FORMS_B,
  1.2260 -            HALFWIDTH_AND_FULLWIDTH_FORMS,
  1.2261 -            SPECIALS,
  1.2262 -            LINEAR_B_SYLLABARY,
  1.2263 -            LINEAR_B_IDEOGRAMS,
  1.2264 -            AEGEAN_NUMBERS,
  1.2265 -            ANCIENT_GREEK_NUMBERS,
  1.2266 -            ANCIENT_SYMBOLS,
  1.2267 -            PHAISTOS_DISC,
  1.2268 -            null,
  1.2269 -            LYCIAN,
  1.2270 -            CARIAN,
  1.2271 -            null,
  1.2272 -            OLD_ITALIC,
  1.2273 -            GOTHIC,
  1.2274 -            null,
  1.2275 -            UGARITIC,
  1.2276 -            OLD_PERSIAN,
  1.2277 -            null,
  1.2278 -            DESERET,
  1.2279 -            SHAVIAN,
  1.2280 -            OSMANYA,
  1.2281 -            null,
  1.2282 -            CYPRIOT_SYLLABARY,
  1.2283 -            IMPERIAL_ARAMAIC,
  1.2284 -            null,
  1.2285 -            PHOENICIAN,
  1.2286 -            LYDIAN,
  1.2287 -            null,
  1.2288 -            KHAROSHTHI,
  1.2289 -            OLD_SOUTH_ARABIAN,
  1.2290 -            null,
  1.2291 -            AVESTAN,
  1.2292 -            INSCRIPTIONAL_PARTHIAN,
  1.2293 -            INSCRIPTIONAL_PAHLAVI,
  1.2294 -            null,
  1.2295 -            OLD_TURKIC,
  1.2296 -            null,
  1.2297 -            RUMI_NUMERAL_SYMBOLS,
  1.2298 -            null,
  1.2299 -            BRAHMI,
  1.2300 -            KAITHI,
  1.2301 -            null,
  1.2302 -            CUNEIFORM,
  1.2303 -            CUNEIFORM_NUMBERS_AND_PUNCTUATION,
  1.2304 -            null,
  1.2305 -            EGYPTIAN_HIEROGLYPHS,
  1.2306 -            null,
  1.2307 -            BAMUM_SUPPLEMENT,
  1.2308 -            null,
  1.2309 -            KANA_SUPPLEMENT,
  1.2310 -            null,
  1.2311 -            BYZANTINE_MUSICAL_SYMBOLS,
  1.2312 -            MUSICAL_SYMBOLS,
  1.2313 -            ANCIENT_GREEK_MUSICAL_NOTATION,
  1.2314 -            null,
  1.2315 -            TAI_XUAN_JING_SYMBOLS,
  1.2316 -            COUNTING_ROD_NUMERALS,
  1.2317 -            null,
  1.2318 -            MATHEMATICAL_ALPHANUMERIC_SYMBOLS,
  1.2319 -            null,
  1.2320 -            MAHJONG_TILES,
  1.2321 -            DOMINO_TILES,
  1.2322 -            PLAYING_CARDS,
  1.2323 -            ENCLOSED_ALPHANUMERIC_SUPPLEMENT,
  1.2324 -            ENCLOSED_IDEOGRAPHIC_SUPPLEMENT,
  1.2325 -            MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS,
  1.2326 -            EMOTICONS,
  1.2327 -            null,
  1.2328 -            TRANSPORT_AND_MAP_SYMBOLS,
  1.2329 -            ALCHEMICAL_SYMBOLS,
  1.2330 -            null,
  1.2331 -            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B,
  1.2332 -            null,
  1.2333 -            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C,
  1.2334 -            CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D,
  1.2335 -            null,
  1.2336 -            CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT,
  1.2337 -            null,
  1.2338 -            TAGS,
  1.2339 -            null,
  1.2340 -            VARIATION_SELECTORS_SUPPLEMENT,
  1.2341 -            null,
  1.2342 -            SUPPLEMENTARY_PRIVATE_USE_AREA_A,
  1.2343 -            SUPPLEMENTARY_PRIVATE_USE_AREA_B
  1.2344 -        };
  1.2345 -
  1.2346 -
  1.2347 -        /**
  1.2348 -         * Returns the object representing the Unicode block containing the
  1.2349 -         * given character, or {@code null} if the character is not a
  1.2350 -         * member of a defined block.
  1.2351 -         *
  1.2352 -         * <p><b>Note:</b> This method cannot handle
  1.2353 -         * <a href="Character.html#supplementary"> supplementary
  1.2354 -         * characters</a>.  To support all Unicode characters, including
  1.2355 -         * supplementary characters, use the {@link #of(int)} method.
  1.2356 -         *
  1.2357 -         * @param   c  The character in question
  1.2358 -         * @return  The {@code UnicodeBlock} instance representing the
  1.2359 -         *          Unicode block of which this character is a member, or
  1.2360 -         *          {@code null} if the character is not a member of any
  1.2361 -         *          Unicode block
  1.2362 -         */
  1.2363 -        public static UnicodeBlock of(char c) {
  1.2364 -            return of((int)c);
  1.2365 -        }
  1.2366 -
  1.2367 -        /**
  1.2368 -         * Returns the object representing the Unicode block
  1.2369 -         * containing the given character (Unicode code point), or
  1.2370 -         * {@code null} if the character is not a member of a
  1.2371 -         * defined block.
  1.2372 -         *
  1.2373 -         * @param   codePoint the character (Unicode code point) in question.
  1.2374 -         * @return  The {@code UnicodeBlock} instance representing the
  1.2375 -         *          Unicode block of which this character is a member, or
  1.2376 -         *          {@code null} if the character is not a member of any
  1.2377 -         *          Unicode block
  1.2378 -         * @exception IllegalArgumentException if the specified
  1.2379 -         * {@code codePoint} is an invalid Unicode code point.
  1.2380 -         * @see Character#isValidCodePoint(int)
  1.2381 -         * @since   1.5
  1.2382 -         */
  1.2383 -        public static UnicodeBlock of(int codePoint) {
  1.2384 -            if (!isValidCodePoint(codePoint)) {
  1.2385 -                throw new IllegalArgumentException();
  1.2386 -            }
  1.2387 -
  1.2388 -            int top, bottom, current;
  1.2389 -            bottom = 0;
  1.2390 -            top = blockStarts.length;
  1.2391 -            current = top/2;
  1.2392 -
  1.2393 -            // invariant: top > current >= bottom && codePoint >= unicodeBlockStarts[bottom]
  1.2394 -            while (top - bottom > 1) {
  1.2395 -                if (codePoint >= blockStarts[current]) {
  1.2396 -                    bottom = current;
  1.2397 -                } else {
  1.2398 -                    top = current;
  1.2399 -                }
  1.2400 -                current = (top + bottom) / 2;
  1.2401 -            }
  1.2402 -            return blocks[current];
  1.2403 -        }
  1.2404 -
  1.2405 -        /**
  1.2406 -         * Returns the UnicodeBlock with the given name. Block
  1.2407 -         * names are determined by The Unicode Standard. The file
  1.2408 -         * Blocks-&lt;version&gt;.txt defines blocks for a particular
  1.2409 -         * version of the standard. The {@link Character} class specifies
  1.2410 -         * the version of the standard that it supports.
  1.2411 -         * <p>
  1.2412 -         * This method accepts block names in the following forms:
  1.2413 -         * <ol>
  1.2414 -         * <li> Canonical block names as defined by the Unicode Standard.
  1.2415 -         * For example, the standard defines a "Basic Latin" block. Therefore, this
  1.2416 -         * method accepts "Basic Latin" as a valid block name. The documentation of
  1.2417 -         * each UnicodeBlock provides the canonical name.
  1.2418 -         * <li>Canonical block names with all spaces removed. For example, "BasicLatin"
  1.2419 -         * is a valid block name for the "Basic Latin" block.
  1.2420 -         * <li>The text representation of each constant UnicodeBlock identifier.
  1.2421 -         * For example, this method will return the {@link #BASIC_LATIN} block if
  1.2422 -         * provided with the "BASIC_LATIN" name. This form replaces all spaces and
  1.2423 -         * hyphens in the canonical name with underscores.
  1.2424 -         * </ol>
  1.2425 -         * Finally, character case is ignored for all of the valid block name forms.
  1.2426 -         * For example, "BASIC_LATIN" and "basic_latin" are both valid block names.
  1.2427 -         * The en_US locale's case mapping rules are used to provide case-insensitive
  1.2428 -         * string comparisons for block name validation.
  1.2429 -         * <p>
  1.2430 -         * If the Unicode Standard changes block names, both the previous and
  1.2431 -         * current names will be accepted.
  1.2432 -         *
  1.2433 -         * @param blockName A {@code UnicodeBlock} name.
  1.2434 -         * @return The {@code UnicodeBlock} instance identified
  1.2435 -         *         by {@code blockName}
  1.2436 -         * @throws IllegalArgumentException if {@code blockName} is an
  1.2437 -         *         invalid name
  1.2438 -         * @throws NullPointerException if {@code blockName} is null
  1.2439 -         * @since 1.5
  1.2440 -         */
  1.2441 -        public static final UnicodeBlock forName(String blockName) {
  1.2442 -            UnicodeBlock block = map.get(blockName.toUpperCase(Locale.US));
  1.2443 -            if (block == null) {
  1.2444 -                throw new IllegalArgumentException();
  1.2445 -            }
  1.2446 -            return block;
  1.2447 -        }
  1.2448 -    }
  1.2449 -
  1.2450 -
  1.2451 -    /**
  1.2452 -     * A family of character subsets representing the character scripts
  1.2453 -     * defined in the <a href="http://www.unicode.org/reports/tr24/">
  1.2454 -     * <i>Unicode Standard Annex #24: Script Names</i></a>. Every Unicode
  1.2455 -     * character is assigned to a single Unicode script, either a specific
  1.2456 -     * script, such as {@link Character.UnicodeScript#LATIN Latin}, or
  1.2457 -     * one of the following three special values,
  1.2458 -     * {@link Character.UnicodeScript#INHERITED Inherited},
  1.2459 -     * {@link Character.UnicodeScript#COMMON Common} or
  1.2460 -     * {@link Character.UnicodeScript#UNKNOWN Unknown}.
  1.2461 -     *
  1.2462 -     * @since 1.7
  1.2463 -     */
  1.2464 -    public static enum UnicodeScript {
  1.2465 -        /**
  1.2466 -         * Unicode script "Common".
  1.2467 -         */
  1.2468 -        COMMON,
  1.2469 -
  1.2470 -        /**
  1.2471 -         * Unicode script "Latin".
  1.2472 -         */
  1.2473 -        LATIN,
  1.2474 -
  1.2475 -        /**
  1.2476 -         * Unicode script "Greek".
  1.2477 -         */
  1.2478 -        GREEK,
  1.2479 -
  1.2480 -        /**
  1.2481 -         * Unicode script "Cyrillic".
  1.2482 -         */
  1.2483 -        CYRILLIC,
  1.2484 -
  1.2485 -        /**
  1.2486 -         * Unicode script "Armenian".
  1.2487 -         */
  1.2488 -        ARMENIAN,
  1.2489 -
  1.2490 -        /**
  1.2491 -         * Unicode script "Hebrew".
  1.2492 -         */
  1.2493 -        HEBREW,
  1.2494 -
  1.2495 -        /**
  1.2496 -         * Unicode script "Arabic".
  1.2497 -         */
  1.2498 -        ARABIC,
  1.2499 -
  1.2500 -        /**
  1.2501 -         * Unicode script "Syriac".
  1.2502 -         */
  1.2503 -        SYRIAC,
  1.2504 -
  1.2505 -        /**
  1.2506 -         * Unicode script "Thaana".
  1.2507 -         */
  1.2508 -        THAANA,
  1.2509 -
  1.2510 -        /**
  1.2511 -         * Unicode script "Devanagari".
  1.2512 -         */
  1.2513 -        DEVANAGARI,
  1.2514 -
  1.2515 -        /**
  1.2516 -         * Unicode script "Bengali".
  1.2517 -         */
  1.2518 -        BENGALI,
  1.2519 -
  1.2520 -        /**
  1.2521 -         * Unicode script "Gurmukhi".
  1.2522 -         */
  1.2523 -        GURMUKHI,
  1.2524 -
  1.2525 -        /**
  1.2526 -         * Unicode script "Gujarati".
  1.2527 -         */
  1.2528 -        GUJARATI,
  1.2529 -
  1.2530 -        /**
  1.2531 -         * Unicode script "Oriya".
  1.2532 -         */
  1.2533 -        ORIYA,
  1.2534 -
  1.2535 -        /**
  1.2536 -         * Unicode script "Tamil".
  1.2537 -         */
  1.2538 -        TAMIL,
  1.2539 -
  1.2540 -        /**
  1.2541 -         * Unicode script "Telugu".
  1.2542 -         */
  1.2543 -        TELUGU,
  1.2544 -
  1.2545 -        /**
  1.2546 -         * Unicode script "Kannada".
  1.2547 -         */
  1.2548 -        KANNADA,
  1.2549 -
  1.2550 -        /**
  1.2551 -         * Unicode script "Malayalam".
  1.2552 -         */
  1.2553 -        MALAYALAM,
  1.2554 -
  1.2555 -        /**
  1.2556 -         * Unicode script "Sinhala".
  1.2557 -         */
  1.2558 -        SINHALA,
  1.2559 -
  1.2560 -        /**
  1.2561 -         * Unicode script "Thai".
  1.2562 -         */
  1.2563 -        THAI,
  1.2564 -
  1.2565 -        /**
  1.2566 -         * Unicode script "Lao".
  1.2567 -         */
  1.2568 -        LAO,
  1.2569 -
  1.2570 -        /**
  1.2571 -         * Unicode script "Tibetan".
  1.2572 -         */
  1.2573 -        TIBETAN,
  1.2574 -
  1.2575 -        /**
  1.2576 -         * Unicode script "Myanmar".
  1.2577 -         */
  1.2578 -        MYANMAR,
  1.2579 -
  1.2580 -        /**
  1.2581 -         * Unicode script "Georgian".
  1.2582 -         */
  1.2583 -        GEORGIAN,
  1.2584 -
  1.2585 -        /**
  1.2586 -         * Unicode script "Hangul".
  1.2587 -         */
  1.2588 -        HANGUL,
  1.2589 -
  1.2590 -        /**
  1.2591 -         * Unicode script "Ethiopic".
  1.2592 -         */
  1.2593 -        ETHIOPIC,
  1.2594 -
  1.2595 -        /**
  1.2596 -         * Unicode script "Cherokee".
  1.2597 -         */
  1.2598 -        CHEROKEE,
  1.2599 -
  1.2600 -        /**
  1.2601 -         * Unicode script "Canadian_Aboriginal".
  1.2602 -         */
  1.2603 -        CANADIAN_ABORIGINAL,
  1.2604 -
  1.2605 -        /**
  1.2606 -         * Unicode script "Ogham".
  1.2607 -         */
  1.2608 -        OGHAM,
  1.2609 -
  1.2610 -        /**
  1.2611 -         * Unicode script "Runic".
  1.2612 -         */
  1.2613 -        RUNIC,
  1.2614 -
  1.2615 -        /**
  1.2616 -         * Unicode script "Khmer".
  1.2617 -         */
  1.2618 -        KHMER,
  1.2619 -
  1.2620 -        /**
  1.2621 -         * Unicode script "Mongolian".
  1.2622 -         */
  1.2623 -        MONGOLIAN,
  1.2624 -
  1.2625 -        /**
  1.2626 -         * Unicode script "Hiragana".
  1.2627 -         */
  1.2628 -        HIRAGANA,
  1.2629 -
  1.2630 -        /**
  1.2631 -         * Unicode script "Katakana".
  1.2632 -         */
  1.2633 -        KATAKANA,
  1.2634 -
  1.2635 -        /**
  1.2636 -         * Unicode script "Bopomofo".
  1.2637 -         */
  1.2638 -        BOPOMOFO,
  1.2639 -
  1.2640 -        /**
  1.2641 -         * Unicode script "Han".
  1.2642 -         */
  1.2643 -        HAN,
  1.2644 -
  1.2645 -        /**
  1.2646 -         * Unicode script "Yi".
  1.2647 -         */
  1.2648 -        YI,
  1.2649 -
  1.2650 -        /**
  1.2651 -         * Unicode script "Old_Italic".
  1.2652 -         */
  1.2653 -        OLD_ITALIC,
  1.2654 -
  1.2655 -        /**
  1.2656 -         * Unicode script "Gothic".
  1.2657 -         */
  1.2658 -        GOTHIC,
  1.2659 -
  1.2660 -        /**
  1.2661 -         * Unicode script "Deseret".
  1.2662 -         */
  1.2663 -        DESERET,
  1.2664 -
  1.2665 -        /**
  1.2666 -         * Unicode script "Inherited".
  1.2667 -         */
  1.2668 -        INHERITED,
  1.2669 -
  1.2670 -        /**
  1.2671 -         * Unicode script "Tagalog".
  1.2672 -         */
  1.2673 -        TAGALOG,
  1.2674 -
  1.2675 -        /**
  1.2676 -         * Unicode script "Hanunoo".
  1.2677 -         */
  1.2678 -        HANUNOO,
  1.2679 -
  1.2680 -        /**
  1.2681 -         * Unicode script "Buhid".
  1.2682 -         */
  1.2683 -        BUHID,
  1.2684 -
  1.2685 -        /**
  1.2686 -         * Unicode script "Tagbanwa".
  1.2687 -         */
  1.2688 -        TAGBANWA,
  1.2689 -
  1.2690 -        /**
  1.2691 -         * Unicode script "Limbu".
  1.2692 -         */
  1.2693 -        LIMBU,
  1.2694 -
  1.2695 -        /**
  1.2696 -         * Unicode script "Tai_Le".
  1.2697 -         */
  1.2698 -        TAI_LE,
  1.2699 -
  1.2700 -        /**
  1.2701 -         * Unicode script "Linear_B".
  1.2702 -         */
  1.2703 -        LINEAR_B,
  1.2704 -
  1.2705 -        /**
  1.2706 -         * Unicode script "Ugaritic".
  1.2707 -         */
  1.2708 -        UGARITIC,
  1.2709 -
  1.2710 -        /**
  1.2711 -         * Unicode script "Shavian".
  1.2712 -         */
  1.2713 -        SHAVIAN,
  1.2714 -
  1.2715 -        /**
  1.2716 -         * Unicode script "Osmanya".
  1.2717 -         */
  1.2718 -        OSMANYA,
  1.2719 -
  1.2720 -        /**
  1.2721 -         * Unicode script "Cypriot".
  1.2722 -         */
  1.2723 -        CYPRIOT,
  1.2724 -
  1.2725 -        /**
  1.2726 -         * Unicode script "Braille".
  1.2727 -         */
  1.2728 -        BRAILLE,
  1.2729 -
  1.2730 -        /**
  1.2731 -         * Unicode script "Buginese".
  1.2732 -         */
  1.2733 -        BUGINESE,
  1.2734 -
  1.2735 -        /**
  1.2736 -         * Unicode script "Coptic".
  1.2737 -         */
  1.2738 -        COPTIC,
  1.2739 -
  1.2740 -        /**
  1.2741 -         * Unicode script "New_Tai_Lue".
  1.2742 -         */
  1.2743 -        NEW_TAI_LUE,
  1.2744 -
  1.2745 -        /**
  1.2746 -         * Unicode script "Glagolitic".
  1.2747 -         */
  1.2748 -        GLAGOLITIC,
  1.2749 -
  1.2750 -        /**
  1.2751 -         * Unicode script "Tifinagh".
  1.2752 -         */
  1.2753 -        TIFINAGH,
  1.2754 -
  1.2755 -        /**
  1.2756 -         * Unicode script "Syloti_Nagri".
  1.2757 -         */
  1.2758 -        SYLOTI_NAGRI,
  1.2759 -
  1.2760 -        /**
  1.2761 -         * Unicode script "Old_Persian".
  1.2762 -         */
  1.2763 -        OLD_PERSIAN,
  1.2764 -
  1.2765 -        /**
  1.2766 -         * Unicode script "Kharoshthi".
  1.2767 -         */
  1.2768 -        KHAROSHTHI,
  1.2769 -
  1.2770 -        /**
  1.2771 -         * Unicode script "Balinese".
  1.2772 -         */
  1.2773 -        BALINESE,
  1.2774 -
  1.2775 -        /**
  1.2776 -         * Unicode script "Cuneiform".
  1.2777 -         */
  1.2778 -        CUNEIFORM,
  1.2779 -
  1.2780 -        /**
  1.2781 -         * Unicode script "Phoenician".
  1.2782 -         */
  1.2783 -        PHOENICIAN,
  1.2784 -
  1.2785 -        /**
  1.2786 -         * Unicode script "Phags_Pa".
  1.2787 -         */
  1.2788 -        PHAGS_PA,
  1.2789 -
  1.2790 -        /**
  1.2791 -         * Unicode script "Nko".
  1.2792 -         */
  1.2793 -        NKO,
  1.2794 -
  1.2795 -        /**
  1.2796 -         * Unicode script "Sundanese".
  1.2797 -         */
  1.2798 -        SUNDANESE,
  1.2799 -
  1.2800 -        /**
  1.2801 -         * Unicode script "Batak".
  1.2802 -         */
  1.2803 -        BATAK,
  1.2804 -
  1.2805 -        /**
  1.2806 -         * Unicode script "Lepcha".
  1.2807 -         */
  1.2808 -        LEPCHA,
  1.2809 -
  1.2810 -        /**
  1.2811 -         * Unicode script "Ol_Chiki".
  1.2812 -         */
  1.2813 -        OL_CHIKI,
  1.2814 -
  1.2815 -        /**
  1.2816 -         * Unicode script "Vai".
  1.2817 -         */
  1.2818 -        VAI,
  1.2819 -
  1.2820 -        /**
  1.2821 -         * Unicode script "Saurashtra".
  1.2822 -         */
  1.2823 -        SAURASHTRA,
  1.2824 -
  1.2825 -        /**
  1.2826 -         * Unicode script "Kayah_Li".
  1.2827 -         */
  1.2828 -        KAYAH_LI,
  1.2829 -
  1.2830 -        /**
  1.2831 -         * Unicode script "Rejang".
  1.2832 -         */
  1.2833 -        REJANG,
  1.2834 -
  1.2835 -        /**
  1.2836 -         * Unicode script "Lycian".
  1.2837 -         */
  1.2838 -        LYCIAN,
  1.2839 -
  1.2840 -        /**
  1.2841 -         * Unicode script "Carian".
  1.2842 -         */
  1.2843 -        CARIAN,
  1.2844 -
  1.2845 -        /**
  1.2846 -         * Unicode script "Lydian".
  1.2847 -         */
  1.2848 -        LYDIAN,
  1.2849 -
  1.2850 -        /**
  1.2851 -         * Unicode script "Cham".
  1.2852 -         */
  1.2853 -        CHAM,
  1.2854 -
  1.2855 -        /**
  1.2856 -         * Unicode script "Tai_Tham".
  1.2857 -         */
  1.2858 -        TAI_THAM,
  1.2859 -
  1.2860 -        /**
  1.2861 -         * Unicode script "Tai_Viet".
  1.2862 -         */
  1.2863 -        TAI_VIET,
  1.2864 -
  1.2865 -        /**
  1.2866 -         * Unicode script "Avestan".
  1.2867 -         */
  1.2868 -        AVESTAN,
  1.2869 -
  1.2870 -        /**
  1.2871 -         * Unicode script "Egyptian_Hieroglyphs".
  1.2872 -         */
  1.2873 -        EGYPTIAN_HIEROGLYPHS,
  1.2874 -
  1.2875 -        /**
  1.2876 -         * Unicode script "Samaritan".
  1.2877 -         */
  1.2878 -        SAMARITAN,
  1.2879 -
  1.2880 -        /**
  1.2881 -         * Unicode script "Mandaic".
  1.2882 -         */
  1.2883 -        MANDAIC,
  1.2884 -
  1.2885 -        /**
  1.2886 -         * Unicode script "Lisu".
  1.2887 -         */
  1.2888 -        LISU,
  1.2889 -
  1.2890 -        /**
  1.2891 -         * Unicode script "Bamum".
  1.2892 -         */
  1.2893 -        BAMUM,
  1.2894 -
  1.2895 -        /**
  1.2896 -         * Unicode script "Javanese".
  1.2897 -         */
  1.2898 -        JAVANESE,
  1.2899 -
  1.2900 -        /**
  1.2901 -         * Unicode script "Meetei_Mayek".
  1.2902 -         */
  1.2903 -        MEETEI_MAYEK,
  1.2904 -
  1.2905 -        /**
  1.2906 -         * Unicode script "Imperial_Aramaic".
  1.2907 -         */
  1.2908 -        IMPERIAL_ARAMAIC,
  1.2909 -
  1.2910 -        /**
  1.2911 -         * Unicode script "Old_South_Arabian".
  1.2912 -         */
  1.2913 -        OLD_SOUTH_ARABIAN,
  1.2914 -
  1.2915 -        /**
  1.2916 -         * Unicode script "Inscriptional_Parthian".
  1.2917 -         */
  1.2918 -        INSCRIPTIONAL_PARTHIAN,
  1.2919 -
  1.2920 -        /**
  1.2921 -         * Unicode script "Inscriptional_Pahlavi".
  1.2922 -         */
  1.2923 -        INSCRIPTIONAL_PAHLAVI,
  1.2924 -
  1.2925 -        /**
  1.2926 -         * Unicode script "Old_Turkic".
  1.2927 -         */
  1.2928 -        OLD_TURKIC,
  1.2929 -
  1.2930 -        /**
  1.2931 -         * Unicode script "Brahmi".
  1.2932 -         */
  1.2933 -        BRAHMI,
  1.2934 -
  1.2935 -        /**
  1.2936 -         * Unicode script "Kaithi".
  1.2937 -         */
  1.2938 -        KAITHI,
  1.2939 -
  1.2940 -        /**
  1.2941 -         * Unicode script "Unknown".
  1.2942 -         */
  1.2943 -        UNKNOWN;
  1.2944 -
  1.2945 -        private static final int[] scriptStarts = {
  1.2946 -            0x0000,   // 0000..0040; COMMON
  1.2947 -            0x0041,   // 0041..005A; LATIN
  1.2948 -            0x005B,   // 005B..0060; COMMON
  1.2949 -            0x0061,   // 0061..007A; LATIN
  1.2950 -            0x007B,   // 007B..00A9; COMMON
  1.2951 -            0x00AA,   // 00AA..00AA; LATIN
  1.2952 -            0x00AB,   // 00AB..00B9; COMMON
  1.2953 -            0x00BA,   // 00BA..00BA; LATIN
  1.2954 -            0x00BB,   // 00BB..00BF; COMMON
  1.2955 -            0x00C0,   // 00C0..00D6; LATIN
  1.2956 -            0x00D7,   // 00D7..00D7; COMMON
  1.2957 -            0x00D8,   // 00D8..00F6; LATIN
  1.2958 -            0x00F7,   // 00F7..00F7; COMMON
  1.2959 -            0x00F8,   // 00F8..02B8; LATIN
  1.2960 -            0x02B9,   // 02B9..02DF; COMMON
  1.2961 -            0x02E0,   // 02E0..02E4; LATIN
  1.2962 -            0x02E5,   // 02E5..02E9; COMMON
  1.2963 -            0x02EA,   // 02EA..02EB; BOPOMOFO
  1.2964 -            0x02EC,   // 02EC..02FF; COMMON
  1.2965 -            0x0300,   // 0300..036F; INHERITED
  1.2966 -            0x0370,   // 0370..0373; GREEK
  1.2967 -            0x0374,   // 0374..0374; COMMON
  1.2968 -            0x0375,   // 0375..037D; GREEK
  1.2969 -            0x037E,   // 037E..0383; COMMON
  1.2970 -            0x0384,   // 0384..0384; GREEK
  1.2971 -            0x0385,   // 0385..0385; COMMON
  1.2972 -            0x0386,   // 0386..0386; GREEK
  1.2973 -            0x0387,   // 0387..0387; COMMON
  1.2974 -            0x0388,   // 0388..03E1; GREEK
  1.2975 -            0x03E2,   // 03E2..03EF; COPTIC
  1.2976 -            0x03F0,   // 03F0..03FF; GREEK
  1.2977 -            0x0400,   // 0400..0484; CYRILLIC
  1.2978 -            0x0485,   // 0485..0486; INHERITED
  1.2979 -            0x0487,   // 0487..0530; CYRILLIC
  1.2980 -            0x0531,   // 0531..0588; ARMENIAN
  1.2981 -            0x0589,   // 0589..0589; COMMON
  1.2982 -            0x058A,   // 058A..0590; ARMENIAN
  1.2983 -            0x0591,   // 0591..05FF; HEBREW
  1.2984 -            0x0600,   // 0600..060B; ARABIC
  1.2985 -            0x060C,   // 060C..060C; COMMON
  1.2986 -            0x060D,   // 060D..061A; ARABIC
  1.2987 -            0x061B,   // 061B..061D; COMMON
  1.2988 -            0x061E,   // 061E..061E; ARABIC
  1.2989 -            0x061F,   // 061F..061F; COMMON
  1.2990 -            0x0620,   // 0620..063F; ARABIC
  1.2991 -            0x0640,   // 0640..0640; COMMON
  1.2992 -            0x0641,   // 0641..064A; ARABIC
  1.2993 -            0x064B,   // 064B..0655; INHERITED
  1.2994 -            0x0656,   // 0656..065E; ARABIC
  1.2995 -            0x065F,   // 065F..065F; INHERITED
  1.2996 -            0x0660,   // 0660..0669; COMMON
  1.2997 -            0x066A,   // 066A..066F; ARABIC
  1.2998 -            0x0670,   // 0670..0670; INHERITED
  1.2999 -            0x0671,   // 0671..06DC; ARABIC
  1.3000 -            0x06DD,   // 06DD..06DD; COMMON
  1.3001 -            0x06DE,   // 06DE..06FF; ARABIC
  1.3002 -            0x0700,   // 0700..074F; SYRIAC
  1.3003 -            0x0750,   // 0750..077F; ARABIC
  1.3004 -            0x0780,   // 0780..07BF; THAANA
  1.3005 -            0x07C0,   // 07C0..07FF; NKO
  1.3006 -            0x0800,   // 0800..083F; SAMARITAN
  1.3007 -            0x0840,   // 0840..08FF; MANDAIC
  1.3008 -            0x0900,   // 0900..0950; DEVANAGARI
  1.3009 -            0x0951,   // 0951..0952; INHERITED
  1.3010 -            0x0953,   // 0953..0963; DEVANAGARI
  1.3011 -            0x0964,   // 0964..0965; COMMON
  1.3012 -            0x0966,   // 0966..096F; DEVANAGARI
  1.3013 -            0x0970,   // 0970..0970; COMMON
  1.3014 -            0x0971,   // 0971..0980; DEVANAGARI
  1.3015 -            0x0981,   // 0981..0A00; BENGALI
  1.3016 -            0x0A01,   // 0A01..0A80; GURMUKHI
  1.3017 -            0x0A81,   // 0A81..0B00; GUJARATI
  1.3018 -            0x0B01,   // 0B01..0B81; ORIYA
  1.3019 -            0x0B82,   // 0B82..0C00; TAMIL
  1.3020 -            0x0C01,   // 0C01..0C81; TELUGU
  1.3021 -            0x0C82,   // 0C82..0CF0; KANNADA
  1.3022 -            0x0D02,   // 0D02..0D81; MALAYALAM
  1.3023 -            0x0D82,   // 0D82..0E00; SINHALA
  1.3024 -            0x0E01,   // 0E01..0E3E; THAI
  1.3025 -            0x0E3F,   // 0E3F..0E3F; COMMON
  1.3026 -            0x0E40,   // 0E40..0E80; THAI
  1.3027 -            0x0E81,   // 0E81..0EFF; LAO
  1.3028 -            0x0F00,   // 0F00..0FD4; TIBETAN
  1.3029 -            0x0FD5,   // 0FD5..0FD8; COMMON
  1.3030 -            0x0FD9,   // 0FD9..0FFF; TIBETAN
  1.3031 -            0x1000,   // 1000..109F; MYANMAR
  1.3032 -            0x10A0,   // 10A0..10FA; GEORGIAN
  1.3033 -            0x10FB,   // 10FB..10FB; COMMON
  1.3034 -            0x10FC,   // 10FC..10FF; GEORGIAN
  1.3035 -            0x1100,   // 1100..11FF; HANGUL
  1.3036 -            0x1200,   // 1200..139F; ETHIOPIC
  1.3037 -            0x13A0,   // 13A0..13FF; CHEROKEE
  1.3038 -            0x1400,   // 1400..167F; CANADIAN_ABORIGINAL
  1.3039 -            0x1680,   // 1680..169F; OGHAM
  1.3040 -            0x16A0,   // 16A0..16EA; RUNIC
  1.3041 -            0x16EB,   // 16EB..16ED; COMMON
  1.3042 -            0x16EE,   // 16EE..16FF; RUNIC
  1.3043 -            0x1700,   // 1700..171F; TAGALOG
  1.3044 -            0x1720,   // 1720..1734; HANUNOO
  1.3045 -            0x1735,   // 1735..173F; COMMON
  1.3046 -            0x1740,   // 1740..175F; BUHID
  1.3047 -            0x1760,   // 1760..177F; TAGBANWA
  1.3048 -            0x1780,   // 1780..17FF; KHMER
  1.3049 -            0x1800,   // 1800..1801; MONGOLIAN
  1.3050 -            0x1802,   // 1802..1803; COMMON
  1.3051 -            0x1804,   // 1804..1804; MONGOLIAN
  1.3052 -            0x1805,   // 1805..1805; COMMON
  1.3053 -            0x1806,   // 1806..18AF; MONGOLIAN
  1.3054 -            0x18B0,   // 18B0..18FF; CANADIAN_ABORIGINAL
  1.3055 -            0x1900,   // 1900..194F; LIMBU
  1.3056 -            0x1950,   // 1950..197F; TAI_LE
  1.3057 -            0x1980,   // 1980..19DF; NEW_TAI_LUE
  1.3058 -            0x19E0,   // 19E0..19FF; KHMER
  1.3059 -            0x1A00,   // 1A00..1A1F; BUGINESE
  1.3060 -            0x1A20,   // 1A20..1AFF; TAI_THAM
  1.3061 -            0x1B00,   // 1B00..1B7F; BALINESE
  1.3062 -            0x1B80,   // 1B80..1BBF; SUNDANESE
  1.3063 -            0x1BC0,   // 1BC0..1BFF; BATAK
  1.3064 -            0x1C00,   // 1C00..1C4F; LEPCHA
  1.3065 -            0x1C50,   // 1C50..1CCF; OL_CHIKI
  1.3066 -            0x1CD0,   // 1CD0..1CD2; INHERITED
  1.3067 -            0x1CD3,   // 1CD3..1CD3; COMMON
  1.3068 -            0x1CD4,   // 1CD4..1CE0; INHERITED
  1.3069 -            0x1CE1,   // 1CE1..1CE1; COMMON
  1.3070 -            0x1CE2,   // 1CE2..1CE8; INHERITED
  1.3071 -            0x1CE9,   // 1CE9..1CEC; COMMON
  1.3072 -            0x1CED,   // 1CED..1CED; INHERITED
  1.3073 -            0x1CEE,   // 1CEE..1CFF; COMMON
  1.3074 -            0x1D00,   // 1D00..1D25; LATIN
  1.3075 -            0x1D26,   // 1D26..1D2A; GREEK
  1.3076 -            0x1D2B,   // 1D2B..1D2B; CYRILLIC
  1.3077 -            0x1D2C,   // 1D2C..1D5C; LATIN
  1.3078 -            0x1D5D,   // 1D5D..1D61; GREEK
  1.3079 -            0x1D62,   // 1D62..1D65; LATIN
  1.3080 -            0x1D66,   // 1D66..1D6A; GREEK
  1.3081 -            0x1D6B,   // 1D6B..1D77; LATIN
  1.3082 -            0x1D78,   // 1D78..1D78; CYRILLIC
  1.3083 -            0x1D79,   // 1D79..1DBE; LATIN
  1.3084 -            0x1DBF,   // 1DBF..1DBF; GREEK
  1.3085 -            0x1DC0,   // 1DC0..1DFF; INHERITED
  1.3086 -            0x1E00,   // 1E00..1EFF; LATIN
  1.3087 -            0x1F00,   // 1F00..1FFF; GREEK
  1.3088 -            0x2000,   // 2000..200B; COMMON
  1.3089 -            0x200C,   // 200C..200D; INHERITED
  1.3090 -            0x200E,   // 200E..2070; COMMON
  1.3091 -            0x2071,   // 2071..2073; LATIN
  1.3092 -            0x2074,   // 2074..207E; COMMON
  1.3093 -            0x207F,   // 207F..207F; LATIN
  1.3094 -            0x2080,   // 2080..208F; COMMON
  1.3095 -            0x2090,   // 2090..209F; LATIN
  1.3096 -            0x20A0,   // 20A0..20CF; COMMON
  1.3097 -            0x20D0,   // 20D0..20FF; INHERITED
  1.3098 -            0x2100,   // 2100..2125; COMMON
  1.3099 -            0x2126,   // 2126..2126; GREEK
  1.3100 -            0x2127,   // 2127..2129; COMMON
  1.3101 -            0x212A,   // 212A..212B; LATIN
  1.3102 -            0x212C,   // 212C..2131; COMMON
  1.3103 -            0x2132,   // 2132..2132; LATIN
  1.3104 -            0x2133,   // 2133..214D; COMMON
  1.3105 -            0x214E,   // 214E..214E; LATIN
  1.3106 -            0x214F,   // 214F..215F; COMMON
  1.3107 -            0x2160,   // 2160..2188; LATIN
  1.3108 -            0x2189,   // 2189..27FF; COMMON
  1.3109 -            0x2800,   // 2800..28FF; BRAILLE
  1.3110 -            0x2900,   // 2900..2BFF; COMMON
  1.3111 -            0x2C00,   // 2C00..2C5F; GLAGOLITIC
  1.3112 -            0x2C60,   // 2C60..2C7F; LATIN
  1.3113 -            0x2C80,   // 2C80..2CFF; COPTIC
  1.3114 -            0x2D00,   // 2D00..2D2F; GEORGIAN
  1.3115 -            0x2D30,   // 2D30..2D7F; TIFINAGH
  1.3116 -            0x2D80,   // 2D80..2DDF; ETHIOPIC
  1.3117 -            0x2DE0,   // 2DE0..2DFF; CYRILLIC
  1.3118 -            0x2E00,   // 2E00..2E7F; COMMON
  1.3119 -            0x2E80,   // 2E80..2FEF; HAN
  1.3120 -            0x2FF0,   // 2FF0..3004; COMMON
  1.3121 -            0x3005,   // 3005..3005; HAN
  1.3122 -            0x3006,   // 3006..3006; COMMON
  1.3123 -            0x3007,   // 3007..3007; HAN
  1.3124 -            0x3008,   // 3008..3020; COMMON
  1.3125 -            0x3021,   // 3021..3029; HAN
  1.3126 -            0x302A,   // 302A..302D; INHERITED
  1.3127 -            0x302E,   // 302E..302F; HANGUL
  1.3128 -            0x3030,   // 3030..3037; COMMON
  1.3129 -            0x3038,   // 3038..303B; HAN
  1.3130 -            0x303C,   // 303C..3040; COMMON
  1.3131 -            0x3041,   // 3041..3098; HIRAGANA
  1.3132 -            0x3099,   // 3099..309A; INHERITED
  1.3133 -            0x309B,   // 309B..309C; COMMON
  1.3134 -            0x309D,   // 309D..309F; HIRAGANA
  1.3135 -            0x30A0,   // 30A0..30A0; COMMON
  1.3136 -            0x30A1,   // 30A1..30FA; KATAKANA
  1.3137 -            0x30FB,   // 30FB..30FC; COMMON
  1.3138 -            0x30FD,   // 30FD..3104; KATAKANA
  1.3139 -            0x3105,   // 3105..3130; BOPOMOFO
  1.3140 -            0x3131,   // 3131..318F; HANGUL
  1.3141 -            0x3190,   // 3190..319F; COMMON
  1.3142 -            0x31A0,   // 31A0..31BF; BOPOMOFO
  1.3143 -            0x31C0,   // 31C0..31EF; COMMON
  1.3144 -            0x31F0,   // 31F0..31FF; KATAKANA
  1.3145 -            0x3200,   // 3200..321F; HANGUL
  1.3146 -            0x3220,   // 3220..325F; COMMON
  1.3147 -            0x3260,   // 3260..327E; HANGUL
  1.3148 -            0x327F,   // 327F..32CF; COMMON
  1.3149 -            0x32D0,   // 32D0..3357; KATAKANA
  1.3150 -            0x3358,   // 3358..33FF; COMMON
  1.3151 -            0x3400,   // 3400..4DBF; HAN
  1.3152 -            0x4DC0,   // 4DC0..4DFF; COMMON
  1.3153 -            0x4E00,   // 4E00..9FFF; HAN
  1.3154 -            0xA000,   // A000..A4CF; YI
  1.3155 -            0xA4D0,   // A4D0..A4FF; LISU
  1.3156 -            0xA500,   // A500..A63F; VAI
  1.3157 -            0xA640,   // A640..A69F; CYRILLIC
  1.3158 -            0xA6A0,   // A6A0..A6FF; BAMUM
  1.3159 -            0xA700,   // A700..A721; COMMON
  1.3160 -            0xA722,   // A722..A787; LATIN
  1.3161 -            0xA788,   // A788..A78A; COMMON
  1.3162 -            0xA78B,   // A78B..A7FF; LATIN
  1.3163 -            0xA800,   // A800..A82F; SYLOTI_NAGRI
  1.3164 -            0xA830,   // A830..A83F; COMMON
  1.3165 -            0xA840,   // A840..A87F; PHAGS_PA
  1.3166 -            0xA880,   // A880..A8DF; SAURASHTRA
  1.3167 -            0xA8E0,   // A8E0..A8FF; DEVANAGARI
  1.3168 -            0xA900,   // A900..A92F; KAYAH_LI
  1.3169 -            0xA930,   // A930..A95F; REJANG
  1.3170 -            0xA960,   // A960..A97F; HANGUL
  1.3171 -            0xA980,   // A980..A9FF; JAVANESE
  1.3172 -            0xAA00,   // AA00..AA5F; CHAM
  1.3173 -            0xAA60,   // AA60..AA7F; MYANMAR
  1.3174 -            0xAA80,   // AA80..AB00; TAI_VIET
  1.3175 -            0xAB01,   // AB01..ABBF; ETHIOPIC
  1.3176 -            0xABC0,   // ABC0..ABFF; MEETEI_MAYEK
  1.3177 -            0xAC00,   // AC00..D7FB; HANGUL
  1.3178 -            0xD7FC,   // D7FC..F8FF; UNKNOWN
  1.3179 -            0xF900,   // F900..FAFF; HAN
  1.3180 -            0xFB00,   // FB00..FB12; LATIN
  1.3181 -            0xFB13,   // FB13..FB1C; ARMENIAN
  1.3182 -            0xFB1D,   // FB1D..FB4F; HEBREW
  1.3183 -            0xFB50,   // FB50..FD3D; ARABIC
  1.3184 -            0xFD3E,   // FD3E..FD4F; COMMON
  1.3185 -            0xFD50,   // FD50..FDFC; ARABIC
  1.3186 -            0xFDFD,   // FDFD..FDFF; COMMON
  1.3187 -            0xFE00,   // FE00..FE0F; INHERITED
  1.3188 -            0xFE10,   // FE10..FE1F; COMMON
  1.3189 -            0xFE20,   // FE20..FE2F; INHERITED
  1.3190 -            0xFE30,   // FE30..FE6F; COMMON
  1.3191 -            0xFE70,   // FE70..FEFE; ARABIC
  1.3192 -            0xFEFF,   // FEFF..FF20; COMMON
  1.3193 -            0xFF21,   // FF21..FF3A; LATIN
  1.3194 -            0xFF3B,   // FF3B..FF40; COMMON
  1.3195 -            0xFF41,   // FF41..FF5A; LATIN
  1.3196 -            0xFF5B,   // FF5B..FF65; COMMON
  1.3197 -            0xFF66,   // FF66..FF6F; KATAKANA
  1.3198 -            0xFF70,   // FF70..FF70; COMMON
  1.3199 -            0xFF71,   // FF71..FF9D; KATAKANA
  1.3200 -            0xFF9E,   // FF9E..FF9F; COMMON
  1.3201 -            0xFFA0,   // FFA0..FFDF; HANGUL
  1.3202 -            0xFFE0,   // FFE0..FFFF; COMMON
  1.3203 -            0x10000,  // 10000..100FF; LINEAR_B
  1.3204 -            0x10100,  // 10100..1013F; COMMON
  1.3205 -            0x10140,  // 10140..1018F; GREEK
  1.3206 -            0x10190,  // 10190..101FC; COMMON
  1.3207 -            0x101FD,  // 101FD..1027F; INHERITED
  1.3208 -            0x10280,  // 10280..1029F; LYCIAN
  1.3209 -            0x102A0,  // 102A0..102FF; CARIAN
  1.3210 -            0x10300,  // 10300..1032F; OLD_ITALIC
  1.3211 -            0x10330,  // 10330..1037F; GOTHIC
  1.3212 -            0x10380,  // 10380..1039F; UGARITIC
  1.3213 -            0x103A0,  // 103A0..103FF; OLD_PERSIAN
  1.3214 -            0x10400,  // 10400..1044F; DESERET
  1.3215 -            0x10450,  // 10450..1047F; SHAVIAN
  1.3216 -            0x10480,  // 10480..107FF; OSMANYA
  1.3217 -            0x10800,  // 10800..1083F; CYPRIOT
  1.3218 -            0x10840,  // 10840..108FF; IMPERIAL_ARAMAIC
  1.3219 -            0x10900,  // 10900..1091F; PHOENICIAN
  1.3220 -            0x10920,  // 10920..109FF; LYDIAN
  1.3221 -            0x10A00,  // 10A00..10A5F; KHAROSHTHI
  1.3222 -            0x10A60,  // 10A60..10AFF; OLD_SOUTH_ARABIAN
  1.3223 -            0x10B00,  // 10B00..10B3F; AVESTAN
  1.3224 -            0x10B40,  // 10B40..10B5F; INSCRIPTIONAL_PARTHIAN
  1.3225 -            0x10B60,  // 10B60..10BFF; INSCRIPTIONAL_PAHLAVI
  1.3226 -            0x10C00,  // 10C00..10E5F; OLD_TURKIC
  1.3227 -            0x10E60,  // 10E60..10FFF; ARABIC
  1.3228 -            0x11000,  // 11000..1107F; BRAHMI
  1.3229 -            0x11080,  // 11080..11FFF; KAITHI
  1.3230 -            0x12000,  // 12000..12FFF; CUNEIFORM
  1.3231 -            0x13000,  // 13000..167FF; EGYPTIAN_HIEROGLYPHS
  1.3232 -            0x16800,  // 16800..16A38; BAMUM
  1.3233 -            0x1B000,  // 1B000..1B000; KATAKANA
  1.3234 -            0x1B001,  // 1B001..1CFFF; HIRAGANA
  1.3235 -            0x1D000,  // 1D000..1D166; COMMON
  1.3236 -            0x1D167,  // 1D167..1D169; INHERITED
  1.3237 -            0x1D16A,  // 1D16A..1D17A; COMMON
  1.3238 -            0x1D17B,  // 1D17B..1D182; INHERITED
  1.3239 -            0x1D183,  // 1D183..1D184; COMMON
  1.3240 -            0x1D185,  // 1D185..1D18B; INHERITED
  1.3241 -            0x1D18C,  // 1D18C..1D1A9; COMMON
  1.3242 -            0x1D1AA,  // 1D1AA..1D1AD; INHERITED
  1.3243 -            0x1D1AE,  // 1D1AE..1D1FF; COMMON
  1.3244 -            0x1D200,  // 1D200..1D2FF; GREEK
  1.3245 -            0x1D300,  // 1D300..1F1FF; COMMON
  1.3246 -            0x1F200,  // 1F200..1F200; HIRAGANA
  1.3247 -            0x1F201,  // 1F210..1FFFF; COMMON
  1.3248 -            0x20000,  // 20000..E0000; HAN
  1.3249 -            0xE0001,  // E0001..E00FF; COMMON
  1.3250 -            0xE0100,  // E0100..E01EF; INHERITED
  1.3251 -            0xE01F0   // E01F0..10FFFF; UNKNOWN
  1.3252 -
  1.3253 -        };
  1.3254 -
  1.3255 -        private static final UnicodeScript[] scripts = {
  1.3256 -            COMMON,
  1.3257 -            LATIN,
  1.3258 -            COMMON,
  1.3259 -            LATIN,
  1.3260 -            COMMON,
  1.3261 -            LATIN,
  1.3262 -            COMMON,
  1.3263 -            LATIN,
  1.3264 -            COMMON,
  1.3265 -            LATIN,
  1.3266 -            COMMON,
  1.3267 -            LATIN,
  1.3268 -            COMMON,
  1.3269 -            LATIN,
  1.3270 -            COMMON,
  1.3271 -            LATIN,
  1.3272 -            COMMON,
  1.3273 -            BOPOMOFO,
  1.3274 -            COMMON,
  1.3275 -            INHERITED,
  1.3276 -            GREEK,
  1.3277 -            COMMON,
  1.3278 -            GREEK,
  1.3279 -            COMMON,
  1.3280 -            GREEK,
  1.3281 -            COMMON,
  1.3282 -            GREEK,
  1.3283 -            COMMON,
  1.3284 -            GREEK,
  1.3285 -            COPTIC,
  1.3286 -            GREEK,
  1.3287 -            CYRILLIC,
  1.3288 -            INHERITED,
  1.3289 -            CYRILLIC,
  1.3290 -            ARMENIAN,
  1.3291 -            COMMON,
  1.3292 -            ARMENIAN,
  1.3293 -            HEBREW,
  1.3294 -            ARABIC,
  1.3295 -            COMMON,
  1.3296 -            ARABIC,
  1.3297 -            COMMON,
  1.3298 -            ARABIC,
  1.3299 -            COMMON,
  1.3300 -            ARABIC,
  1.3301 -            COMMON,
  1.3302 -            ARABIC,
  1.3303 -            INHERITED,
  1.3304 -            ARABIC,
  1.3305 -            INHERITED,
  1.3306 -            COMMON,
  1.3307 -            ARABIC,
  1.3308 -            INHERITED,
  1.3309 -            ARABIC,
  1.3310 -            COMMON,
  1.3311 -            ARABIC,
  1.3312 -            SYRIAC,
  1.3313 -            ARABIC,
  1.3314 -            THAANA,
  1.3315 -            NKO,
  1.3316 -            SAMARITAN,
  1.3317 -            MANDAIC,
  1.3318 -            DEVANAGARI,
  1.3319 -            INHERITED,
  1.3320 -            DEVANAGARI,
  1.3321 -            COMMON,
  1.3322 -            DEVANAGARI,
  1.3323 -            COMMON,
  1.3324 -            DEVANAGARI,
  1.3325 -            BENGALI,
  1.3326 -            GURMUKHI,
  1.3327 -            GUJARATI,
  1.3328 -            ORIYA,
  1.3329 -            TAMIL,
  1.3330 -            TELUGU,
  1.3331 -            KANNADA,
  1.3332 -            MALAYALAM,
  1.3333 -            SINHALA,
  1.3334 -            THAI,
  1.3335 -            COMMON,
  1.3336 -            THAI,
  1.3337 -            LAO,
  1.3338 -            TIBETAN,
  1.3339 -            COMMON,
  1.3340 -            TIBETAN,
  1.3341 -            MYANMAR,
  1.3342 -            GEORGIAN,
  1.3343 -            COMMON,
  1.3344 -            GEORGIAN,
  1.3345 -            HANGUL,
  1.3346 -            ETHIOPIC,
  1.3347 -            CHEROKEE,
  1.3348 -            CANADIAN_ABORIGINAL,
  1.3349 -            OGHAM,
  1.3350 -            RUNIC,
  1.3351 -            COMMON,
  1.3352 -            RUNIC,
  1.3353 -            TAGALOG,
  1.3354 -            HANUNOO,
  1.3355 -            COMMON,
  1.3356 -            BUHID,
  1.3357 -            TAGBANWA,
  1.3358 -            KHMER,
  1.3359 -            MONGOLIAN,
  1.3360 -            COMMON,
  1.3361 -            MONGOLIAN,
  1.3362 -            COMMON,
  1.3363 -            MONGOLIAN,
  1.3364 -            CANADIAN_ABORIGINAL,
  1.3365 -            LIMBU,
  1.3366 -            TAI_LE,
  1.3367 -            NEW_TAI_LUE,
  1.3368 -            KHMER,
  1.3369 -            BUGINESE,
  1.3370 -            TAI_THAM,
  1.3371 -            BALINESE,
  1.3372 -            SUNDANESE,
  1.3373 -            BATAK,
  1.3374 -            LEPCHA,
  1.3375 -            OL_CHIKI,
  1.3376 -            INHERITED,
  1.3377 -            COMMON,
  1.3378 -            INHERITED,
  1.3379 -            COMMON,
  1.3380 -            INHERITED,
  1.3381 -            COMMON,
  1.3382 -            INHERITED,
  1.3383 -            COMMON,
  1.3384 -            LATIN,
  1.3385 -            GREEK,
  1.3386 -            CYRILLIC,
  1.3387 -            LATIN,
  1.3388 -            GREEK,
  1.3389 -            LATIN,
  1.3390 -            GREEK,
  1.3391 -            LATIN,
  1.3392 -            CYRILLIC,
  1.3393 -            LATIN,
  1.3394 -            GREEK,
  1.3395 -            INHERITED,
  1.3396 -            LATIN,
  1.3397 -            GREEK,
  1.3398 -            COMMON,
  1.3399 -            INHERITED,
  1.3400 -            COMMON,
  1.3401 -            LATIN,
  1.3402 -            COMMON,
  1.3403 -            LATIN,
  1.3404 -            COMMON,
  1.3405 -            LATIN,
  1.3406 -            COMMON,
  1.3407 -            INHERITED,
  1.3408 -            COMMON,
  1.3409 -            GREEK,
  1.3410 -            COMMON,
  1.3411 -            LATIN,
  1.3412 -            COMMON,
  1.3413 -            LATIN,
  1.3414 -            COMMON,
  1.3415 -            LATIN,
  1.3416 -            COMMON,
  1.3417 -            LATIN,
  1.3418 -            COMMON,
  1.3419 -            BRAILLE,
  1.3420 -            COMMON,
  1.3421 -            GLAGOLITIC,
  1.3422 -            LATIN,
  1.3423 -            COPTIC,
  1.3424 -            GEORGIAN,
  1.3425 -            TIFINAGH,
  1.3426 -            ETHIOPIC,
  1.3427 -            CYRILLIC,
  1.3428 -            COMMON,
  1.3429 -            HAN,
  1.3430 -            COMMON,
  1.3431 -            HAN,
  1.3432 -            COMMON,
  1.3433 -            HAN,
  1.3434 -            COMMON,
  1.3435 -            HAN,
  1.3436 -            INHERITED,
  1.3437 -            HANGUL,
  1.3438 -            COMMON,
  1.3439 -            HAN,
  1.3440 -            COMMON,
  1.3441 -            HIRAGANA,
  1.3442 -            INHERITED,
  1.3443 -            COMMON,
  1.3444 -            HIRAGANA,
  1.3445 -            COMMON,
  1.3446 -            KATAKANA,
  1.3447 -            COMMON,
  1.3448 -            KATAKANA,
  1.3449 -            BOPOMOFO,
  1.3450 -            HANGUL,
  1.3451 -            COMMON,
  1.3452 -            BOPOMOFO,
  1.3453 -            COMMON,
  1.3454 -            KATAKANA,
  1.3455 -            HANGUL,
  1.3456 -            COMMON,
  1.3457 -            HANGUL,
  1.3458 -            COMMON,
  1.3459 -            KATAKANA,
  1.3460 -            COMMON,
  1.3461 -            HAN,
  1.3462 -            COMMON,
  1.3463 -            HAN,
  1.3464 -            YI,
  1.3465 -            LISU,
  1.3466 -            VAI,
  1.3467 -            CYRILLIC,
  1.3468 -            BAMUM,
  1.3469 -            COMMON,
  1.3470 -            LATIN,
  1.3471 -            COMMON,
  1.3472 -            LATIN,
  1.3473 -            SYLOTI_NAGRI,
  1.3474 -            COMMON,
  1.3475 -            PHAGS_PA,
  1.3476 -            SAURASHTRA,
  1.3477 -            DEVANAGARI,
  1.3478 -            KAYAH_LI,
  1.3479 -            REJANG,
  1.3480 -            HANGUL,
  1.3481 -            JAVANESE,
  1.3482 -            CHAM,
  1.3483 -            MYANMAR,
  1.3484 -            TAI_VIET,
  1.3485 -            ETHIOPIC,
  1.3486 -            MEETEI_MAYEK,
  1.3487 -            HANGUL,
  1.3488 -            UNKNOWN,
  1.3489 -            HAN,
  1.3490 -            LATIN,
  1.3491 -            ARMENIAN,
  1.3492 -            HEBREW,
  1.3493 -            ARABIC,
  1.3494 -            COMMON,
  1.3495 -            ARABIC,
  1.3496 -            COMMON,
  1.3497 -            INHERITED,
  1.3498 -            COMMON,
  1.3499 -            INHERITED,
  1.3500 -            COMMON,
  1.3501 -            ARABIC,
  1.3502 -            COMMON,
  1.3503 -            LATIN,
  1.3504 -            COMMON,
  1.3505 -            LATIN,
  1.3506 -            COMMON,
  1.3507 -            KATAKANA,
  1.3508 -            COMMON,
  1.3509 -            KATAKANA,
  1.3510 -            COMMON,
  1.3511 -            HANGUL,
  1.3512 -            COMMON,
  1.3513 -            LINEAR_B,
  1.3514 -            COMMON,
  1.3515 -            GREEK,
  1.3516 -            COMMON,
  1.3517 -            INHERITED,
  1.3518 -            LYCIAN,
  1.3519 -            CARIAN,
  1.3520 -            OLD_ITALIC,
  1.3521 -            GOTHIC,
  1.3522 -            UGARITIC,
  1.3523 -            OLD_PERSIAN,
  1.3524 -            DESERET,
  1.3525 -            SHAVIAN,
  1.3526 -            OSMANYA,
  1.3527 -            CYPRIOT,
  1.3528 -            IMPERIAL_ARAMAIC,
  1.3529 -            PHOENICIAN,
  1.3530 -            LYDIAN,
  1.3531 -            KHAROSHTHI,
  1.3532 -            OLD_SOUTH_ARABIAN,
  1.3533 -            AVESTAN,
  1.3534 -            INSCRIPTIONAL_PARTHIAN,
  1.3535 -            INSCRIPTIONAL_PAHLAVI,
  1.3536 -            OLD_TURKIC,
  1.3537 -            ARABIC,
  1.3538 -            BRAHMI,
  1.3539 -            KAITHI,
  1.3540 -            CUNEIFORM,
  1.3541 -            EGYPTIAN_HIEROGLYPHS,
  1.3542 -            BAMUM,
  1.3543 -            KATAKANA,
  1.3544 -            HIRAGANA,
  1.3545 -            COMMON,
  1.3546 -            INHERITED,
  1.3547 -            COMMON,
  1.3548 -            INHERITED,
  1.3549 -            COMMON,
  1.3550 -            INHERITED,
  1.3551 -            COMMON,
  1.3552 -            INHERITED,
  1.3553 -            COMMON,
  1.3554 -            GREEK,
  1.3555 -            COMMON,
  1.3556 -            HIRAGANA,
  1.3557 -            COMMON,
  1.3558 -            HAN,
  1.3559 -            COMMON,
  1.3560 -            INHERITED,
  1.3561 -            UNKNOWN
  1.3562 -        };
  1.3563 -
  1.3564 -        private static HashMap<String, Character.UnicodeScript> aliases;
  1.3565 -        static {
  1.3566 -            aliases = new HashMap<>(128);
  1.3567 -            aliases.put("ARAB", ARABIC);
  1.3568 -            aliases.put("ARMI", IMPERIAL_ARAMAIC);
  1.3569 -            aliases.put("ARMN", ARMENIAN);
  1.3570 -            aliases.put("AVST", AVESTAN);
  1.3571 -            aliases.put("BALI", BALINESE);
  1.3572 -            aliases.put("BAMU", BAMUM);
  1.3573 -            aliases.put("BATK", BATAK);
  1.3574 -            aliases.put("BENG", BENGALI);
  1.3575 -            aliases.put("BOPO", BOPOMOFO);
  1.3576 -            aliases.put("BRAI", BRAILLE);
  1.3577 -            aliases.put("BRAH", BRAHMI);
  1.3578 -            aliases.put("BUGI", BUGINESE);
  1.3579 -            aliases.put("BUHD", BUHID);
  1.3580 -            aliases.put("CANS", CANADIAN_ABORIGINAL);
  1.3581 -            aliases.put("CARI", CARIAN);
  1.3582 -            aliases.put("CHAM", CHAM);
  1.3583 -            aliases.put("CHER", CHEROKEE);
  1.3584 -            aliases.put("COPT", COPTIC);
  1.3585 -            aliases.put("CPRT", CYPRIOT);
  1.3586 -            aliases.put("CYRL", CYRILLIC);
  1.3587 -            aliases.put("DEVA", DEVANAGARI);
  1.3588 -            aliases.put("DSRT", DESERET);
  1.3589 -            aliases.put("EGYP", EGYPTIAN_HIEROGLYPHS);
  1.3590 -            aliases.put("ETHI", ETHIOPIC);
  1.3591 -            aliases.put("GEOR", GEORGIAN);
  1.3592 -            aliases.put("GLAG", GLAGOLITIC);
  1.3593 -            aliases.put("GOTH", GOTHIC);
  1.3594 -            aliases.put("GREK", GREEK);
  1.3595 -            aliases.put("GUJR", GUJARATI);
  1.3596 -            aliases.put("GURU", GURMUKHI);
  1.3597 -            aliases.put("HANG", HANGUL);
  1.3598 -            aliases.put("HANI", HAN);
  1.3599 -            aliases.put("HANO", HANUNOO);
  1.3600 -            aliases.put("HEBR", HEBREW);
  1.3601 -            aliases.put("HIRA", HIRAGANA);
  1.3602 -            // it appears we don't have the KATAKANA_OR_HIRAGANA
  1.3603 -            //aliases.put("HRKT", KATAKANA_OR_HIRAGANA);
  1.3604 -            aliases.put("ITAL", OLD_ITALIC);
  1.3605 -            aliases.put("JAVA", JAVANESE);
  1.3606 -            aliases.put("KALI", KAYAH_LI);
  1.3607 -            aliases.put("KANA", KATAKANA);
  1.3608 -            aliases.put("KHAR", KHAROSHTHI);
  1.3609 -            aliases.put("KHMR", KHMER);
  1.3610 -            aliases.put("KNDA", KANNADA);
  1.3611 -            aliases.put("KTHI", KAITHI);
  1.3612 -            aliases.put("LANA", TAI_THAM);
  1.3613 -            aliases.put("LAOO", LAO);
  1.3614 -            aliases.put("LATN", LATIN);
  1.3615 -            aliases.put("LEPC", LEPCHA);
  1.3616 -            aliases.put("LIMB", LIMBU);
  1.3617 -            aliases.put("LINB", LINEAR_B);
  1.3618 -            aliases.put("LISU", LISU);
  1.3619 -            aliases.put("LYCI", LYCIAN);
  1.3620 -            aliases.put("LYDI", LYDIAN);
  1.3621 -            aliases.put("MAND", MANDAIC);
  1.3622 -            aliases.put("MLYM", MALAYALAM);
  1.3623 -            aliases.put("MONG", MONGOLIAN);
  1.3624 -            aliases.put("MTEI", MEETEI_MAYEK);
  1.3625 -            aliases.put("MYMR", MYANMAR);
  1.3626 -            aliases.put("NKOO", NKO);
  1.3627 -            aliases.put("OGAM", OGHAM);
  1.3628 -            aliases.put("OLCK", OL_CHIKI);
  1.3629 -            aliases.put("ORKH", OLD_TURKIC);
  1.3630 -            aliases.put("ORYA", ORIYA);
  1.3631 -            aliases.put("OSMA", OSMANYA);
  1.3632 -            aliases.put("PHAG", PHAGS_PA);
  1.3633 -            aliases.put("PHLI", INSCRIPTIONAL_PAHLAVI);
  1.3634 -            aliases.put("PHNX", PHOENICIAN);
  1.3635 -            aliases.put("PRTI", INSCRIPTIONAL_PARTHIAN);
  1.3636 -            aliases.put("RJNG", REJANG);
  1.3637 -            aliases.put("RUNR", RUNIC);
  1.3638 -            aliases.put("SAMR", SAMARITAN);
  1.3639 -            aliases.put("SARB", OLD_SOUTH_ARABIAN);
  1.3640 -            aliases.put("SAUR", SAURASHTRA);
  1.3641 -            aliases.put("SHAW", SHAVIAN);
  1.3642 -            aliases.put("SINH", SINHALA);
  1.3643 -            aliases.put("SUND", SUNDANESE);
  1.3644 -            aliases.put("SYLO", SYLOTI_NAGRI);
  1.3645 -            aliases.put("SYRC", SYRIAC);
  1.3646 -            aliases.put("TAGB", TAGBANWA);
  1.3647 -            aliases.put("TALE", TAI_LE);
  1.3648 -            aliases.put("TALU", NEW_TAI_LUE);
  1.3649 -            aliases.put("TAML", TAMIL);
  1.3650 -            aliases.put("TAVT", TAI_VIET);
  1.3651 -            aliases.put("TELU", TELUGU);
  1.3652 -            aliases.put("TFNG", TIFINAGH);
  1.3653 -            aliases.put("TGLG", TAGALOG);
  1.3654 -            aliases.put("THAA", THAANA);
  1.3655 -            aliases.put("THAI", THAI);
  1.3656 -            aliases.put("TIBT", TIBETAN);
  1.3657 -            aliases.put("UGAR", UGARITIC);
  1.3658 -            aliases.put("VAII", VAI);
  1.3659 -            aliases.put("XPEO", OLD_PERSIAN);
  1.3660 -            aliases.put("XSUX", CUNEIFORM);
  1.3661 -            aliases.put("YIII", YI);
  1.3662 -            aliases.put("ZINH", INHERITED);
  1.3663 -            aliases.put("ZYYY", COMMON);
  1.3664 -            aliases.put("ZZZZ", UNKNOWN);
  1.3665 -        }
  1.3666 -
  1.3667 -        /**
  1.3668 -         * Returns the enum constant representing the Unicode script of which
  1.3669 -         * the given character (Unicode code point) is assigned to.
  1.3670 -         *
  1.3671 -         * @param   codePoint the character (Unicode code point) in question.
  1.3672 -         * @return  The {@code UnicodeScript} constant representing the
  1.3673 -         *          Unicode script of which this character is assigned to.
  1.3674 -         *
  1.3675 -         * @exception IllegalArgumentException if the specified
  1.3676 -         * {@code codePoint} is an invalid Unicode code point.
  1.3677 -         * @see Character#isValidCodePoint(int)
  1.3678 -         *
  1.3679 -         */
  1.3680 -        public static UnicodeScript of(int codePoint) {
  1.3681 -            if (!isValidCodePoint(codePoint))
  1.3682 -                throw new IllegalArgumentException();
  1.3683 -            int type = getType(codePoint);
  1.3684 -            // leave SURROGATE and PRIVATE_USE for table lookup
  1.3685 -            if (type == UNASSIGNED)
  1.3686 -                return UNKNOWN;
  1.3687 -            int index = Arrays.binarySearch(scriptStarts, codePoint);
  1.3688 -            if (index < 0)
  1.3689 -                index = -index - 2;
  1.3690 -            return scripts[index];
  1.3691 -        }
  1.3692 -
  1.3693 -        /**
  1.3694 -         * Returns the UnicodeScript constant with the given Unicode script
  1.3695 -         * name or the script name alias. Script names and their aliases are
  1.3696 -         * determined by The Unicode Standard. The files Scripts&lt;version&gt;.txt
  1.3697 -         * and PropertyValueAliases&lt;version&gt;.txt define script names
  1.3698 -         * and the script name aliases for a particular version of the
  1.3699 -         * standard. The {@link Character} class specifies the version of
  1.3700 -         * the standard that it supports.
  1.3701 -         * <p>
  1.3702 -         * Character case is ignored for all of the valid script names.
  1.3703 -         * The en_US locale's case mapping rules are used to provide
  1.3704 -         * case-insensitive string comparisons for script name validation.
  1.3705 -         * <p>
  1.3706 -         *
  1.3707 -         * @param scriptName A {@code UnicodeScript} name.
  1.3708 -         * @return The {@code UnicodeScript} constant identified
  1.3709 -         *         by {@code scriptName}
  1.3710 -         * @throws IllegalArgumentException if {@code scriptName} is an
  1.3711 -         *         invalid name
  1.3712 -         * @throws NullPointerException if {@code scriptName} is null
  1.3713 -         */
  1.3714 -        public static final UnicodeScript forName(String scriptName) {
  1.3715 -            scriptName = scriptName.toUpperCase(Locale.ENGLISH);
  1.3716 -                                 //.replace(' ', '_'));
  1.3717 -            UnicodeScript sc = aliases.get(scriptName);
  1.3718 -            if (sc != null)
  1.3719 -                return sc;
  1.3720 -            return valueOf(scriptName);
  1.3721 -        }
  1.3722 -    }
  1.3723  
  1.3724      /**
  1.3725       * The value of the {@code Character}.
  1.3726 @@ -5227,40 +1525,7 @@
  1.3727       * @see     Character#getType(char)
  1.3728       */
  1.3729      public static boolean isLowerCase(char ch) {
  1.3730 -        return isLowerCase((int)ch);
  1.3731 -    }
  1.3732 -
  1.3733 -    /**
  1.3734 -     * Determines if the specified character (Unicode code point) is a
  1.3735 -     * lowercase character.
  1.3736 -     * <p>
  1.3737 -     * A character is lowercase if its general category type, provided
  1.3738 -     * by {@link Character#getType getType(codePoint)}, is
  1.3739 -     * {@code LOWERCASE_LETTER}, or it has contributory property
  1.3740 -     * Other_Lowercase as defined by the Unicode Standard.
  1.3741 -     * <p>
  1.3742 -     * The following are examples of lowercase characters:
  1.3743 -     * <p><blockquote><pre>
  1.3744 -     * a b c d e f g h i j k l m n o p q r s t u v w x y z
  1.3745 -     * '&#92;u00DF' '&#92;u00E0' '&#92;u00E1' '&#92;u00E2' '&#92;u00E3' '&#92;u00E4' '&#92;u00E5' '&#92;u00E6'
  1.3746 -     * '&#92;u00E7' '&#92;u00E8' '&#92;u00E9' '&#92;u00EA' '&#92;u00EB' '&#92;u00EC' '&#92;u00ED' '&#92;u00EE'
  1.3747 -     * '&#92;u00EF' '&#92;u00F0' '&#92;u00F1' '&#92;u00F2' '&#92;u00F3' '&#92;u00F4' '&#92;u00F5' '&#92;u00F6'
  1.3748 -     * '&#92;u00F8' '&#92;u00F9' '&#92;u00FA' '&#92;u00FB' '&#92;u00FC' '&#92;u00FD' '&#92;u00FE' '&#92;u00FF'
  1.3749 -     * </pre></blockquote>
  1.3750 -     * <p> Many other Unicode characters are lowercase too.
  1.3751 -     *
  1.3752 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.3753 -     * @return  {@code true} if the character is lowercase;
  1.3754 -     *          {@code false} otherwise.
  1.3755 -     * @see     Character#isLowerCase(int)
  1.3756 -     * @see     Character#isTitleCase(int)
  1.3757 -     * @see     Character#toLowerCase(int)
  1.3758 -     * @see     Character#getType(int)
  1.3759 -     * @since   1.5
  1.3760 -     */
  1.3761 -    public static boolean isLowerCase(int codePoint) {
  1.3762 -        return getType(codePoint) == Character.LOWERCASE_LETTER ||
  1.3763 -               CharacterData.of(codePoint).isOtherLowercase(codePoint);
  1.3764 +        throw new UnsupportedOperationException();
  1.3765      }
  1.3766  
  1.3767      /**
  1.3768 @@ -5295,38 +1560,7 @@
  1.3769       * @since   1.0
  1.3770       */
  1.3771      public static boolean isUpperCase(char ch) {
  1.3772 -        return isUpperCase((int)ch);
  1.3773 -    }
  1.3774 -
  1.3775 -    /**
  1.3776 -     * Determines if the specified character (Unicode code point) is an uppercase character.
  1.3777 -     * <p>
  1.3778 -     * A character is uppercase if its general category type, provided by
  1.3779 -     * {@link Character#getType(int) getType(codePoint)}, is {@code UPPERCASE_LETTER},
  1.3780 -     * or it has contributory property Other_Uppercase as defined by the Unicode Standard.
  1.3781 -     * <p>
  1.3782 -     * The following are examples of uppercase characters:
  1.3783 -     * <p><blockquote><pre>
  1.3784 -     * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  1.3785 -     * '&#92;u00C0' '&#92;u00C1' '&#92;u00C2' '&#92;u00C3' '&#92;u00C4' '&#92;u00C5' '&#92;u00C6' '&#92;u00C7'
  1.3786 -     * '&#92;u00C8' '&#92;u00C9' '&#92;u00CA' '&#92;u00CB' '&#92;u00CC' '&#92;u00CD' '&#92;u00CE' '&#92;u00CF'
  1.3787 -     * '&#92;u00D0' '&#92;u00D1' '&#92;u00D2' '&#92;u00D3' '&#92;u00D4' '&#92;u00D5' '&#92;u00D6' '&#92;u00D8'
  1.3788 -     * '&#92;u00D9' '&#92;u00DA' '&#92;u00DB' '&#92;u00DC' '&#92;u00DD' '&#92;u00DE'
  1.3789 -     * </pre></blockquote>
  1.3790 -     * <p> Many other Unicode characters are uppercase too.<p>
  1.3791 -     *
  1.3792 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.3793 -     * @return  {@code true} if the character is uppercase;
  1.3794 -     *          {@code false} otherwise.
  1.3795 -     * @see     Character#isLowerCase(int)
  1.3796 -     * @see     Character#isTitleCase(int)
  1.3797 -     * @see     Character#toUpperCase(int)
  1.3798 -     * @see     Character#getType(int)
  1.3799 -     * @since   1.5
  1.3800 -     */
  1.3801 -    public static boolean isUpperCase(int codePoint) {
  1.3802 -        return getType(codePoint) == Character.UPPERCASE_LETTER ||
  1.3803 -               CharacterData.of(codePoint).isOtherUppercase(codePoint);
  1.3804 +        throw new UnsupportedOperationException();
  1.3805      }
  1.3806  
  1.3807      /**
  1.3808 @@ -5663,431 +1897,11 @@
  1.3809              (1 << Character.DECIMAL_DIGIT_NUMBER)) >> getType(codePoint)) & 1)
  1.3810              != 0;
  1.3811      }
  1.3812 -
  1.3813 -    /**
  1.3814 -     * Determines if the specified character is permissible as the first
  1.3815 -     * character in a Java identifier.
  1.3816 -     * <p>
  1.3817 -     * A character may start a Java identifier if and only if
  1.3818 -     * one of the following is true:
  1.3819 -     * <ul>
  1.3820 -     * <li> {@link #isLetter(char) isLetter(ch)} returns {@code true}
  1.3821 -     * <li> {@link #getType(char) getType(ch)} returns {@code LETTER_NUMBER}
  1.3822 -     * <li> {@code ch} is a currency symbol (such as {@code '$'})
  1.3823 -     * <li> {@code ch} is a connecting punctuation character (such as {@code '_'}).
  1.3824 -     * </ul>
  1.3825 -     *
  1.3826 -     * @param   ch the character to be tested.
  1.3827 -     * @return  {@code true} if the character may start a Java
  1.3828 -     *          identifier; {@code false} otherwise.
  1.3829 -     * @see     Character#isJavaLetterOrDigit(char)
  1.3830 -     * @see     Character#isJavaIdentifierStart(char)
  1.3831 -     * @see     Character#isJavaIdentifierPart(char)
  1.3832 -     * @see     Character#isLetter(char)
  1.3833 -     * @see     Character#isLetterOrDigit(char)
  1.3834 -     * @see     Character#isUnicodeIdentifierStart(char)
  1.3835 -     * @since   1.02
  1.3836 -     * @deprecated Replaced by isJavaIdentifierStart(char).
  1.3837 -     */
  1.3838 -    @Deprecated
  1.3839 -    public static boolean isJavaLetter(char ch) {
  1.3840 -        return isJavaIdentifierStart(ch);
  1.3841 +    
  1.3842 +    static int getType(int x) {
  1.3843 +        throw new UnsupportedOperationException();
  1.3844      }
  1.3845 -
  1.3846 -    /**
  1.3847 -     * Determines if the specified character may be part of a Java
  1.3848 -     * identifier as other than the first character.
  1.3849 -     * <p>
  1.3850 -     * A character may be part of a Java identifier if and only if any
  1.3851 -     * of the following are true:
  1.3852 -     * <ul>
  1.3853 -     * <li>  it is a letter
  1.3854 -     * <li>  it is a currency symbol (such as {@code '$'})
  1.3855 -     * <li>  it is a connecting punctuation character (such as {@code '_'})
  1.3856 -     * <li>  it is a digit
  1.3857 -     * <li>  it is a numeric letter (such as a Roman numeral character)
  1.3858 -     * <li>  it is a combining mark
  1.3859 -     * <li>  it is a non-spacing mark
  1.3860 -     * <li> {@code isIdentifierIgnorable} returns
  1.3861 -     * {@code true} for the character.
  1.3862 -     * </ul>
  1.3863 -     *
  1.3864 -     * @param   ch the character to be tested.
  1.3865 -     * @return  {@code true} if the character may be part of a
  1.3866 -     *          Java identifier; {@code false} otherwise.
  1.3867 -     * @see     Character#isJavaLetter(char)
  1.3868 -     * @see     Character#isJavaIdentifierStart(char)
  1.3869 -     * @see     Character#isJavaIdentifierPart(char)
  1.3870 -     * @see     Character#isLetter(char)
  1.3871 -     * @see     Character#isLetterOrDigit(char)
  1.3872 -     * @see     Character#isUnicodeIdentifierPart(char)
  1.3873 -     * @see     Character#isIdentifierIgnorable(char)
  1.3874 -     * @since   1.02
  1.3875 -     * @deprecated Replaced by isJavaIdentifierPart(char).
  1.3876 -     */
  1.3877 -    @Deprecated
  1.3878 -    public static boolean isJavaLetterOrDigit(char ch) {
  1.3879 -        return isJavaIdentifierPart(ch);
  1.3880 -    }
  1.3881 -
  1.3882 -    /**
  1.3883 -     * Determines if the specified character (Unicode code point) is an alphabet.
  1.3884 -     * <p>
  1.3885 -     * A character is considered to be alphabetic if its general category type,
  1.3886 -     * provided by {@link Character#getType(int) getType(codePoint)}, is any of
  1.3887 -     * the following:
  1.3888 -     * <ul>
  1.3889 -     * <li> <code>UPPERCASE_LETTER</code>
  1.3890 -     * <li> <code>LOWERCASE_LETTER</code>
  1.3891 -     * <li> <code>TITLECASE_LETTER</code>
  1.3892 -     * <li> <code>MODIFIER_LETTER</code>
  1.3893 -     * <li> <code>OTHER_LETTER</code>
  1.3894 -     * <li> <code>LETTER_NUMBER</code>
  1.3895 -     * </ul>
  1.3896 -     * or it has contributory property Other_Alphabetic as defined by the
  1.3897 -     * Unicode Standard.
  1.3898 -     *
  1.3899 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.3900 -     * @return  <code>true</code> if the character is a Unicode alphabet
  1.3901 -     *          character, <code>false</code> otherwise.
  1.3902 -     * @since   1.7
  1.3903 -     */
  1.3904 -    public static boolean isAlphabetic(int codePoint) {
  1.3905 -        return (((((1 << Character.UPPERCASE_LETTER) |
  1.3906 -            (1 << Character.LOWERCASE_LETTER) |
  1.3907 -            (1 << Character.TITLECASE_LETTER) |
  1.3908 -            (1 << Character.MODIFIER_LETTER) |
  1.3909 -            (1 << Character.OTHER_LETTER) |
  1.3910 -            (1 << Character.LETTER_NUMBER)) >> getType(codePoint)) & 1) != 0) ||
  1.3911 -            CharacterData.of(codePoint).isOtherAlphabetic(codePoint);
  1.3912 -    }
  1.3913 -
  1.3914 -    /**
  1.3915 -     * Determines if the specified character (Unicode code point) is a CJKV
  1.3916 -     * (Chinese, Japanese, Korean and Vietnamese) ideograph, as defined by
  1.3917 -     * the Unicode Standard.
  1.3918 -     *
  1.3919 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.3920 -     * @return  <code>true</code> if the character is a Unicode ideograph
  1.3921 -     *          character, <code>false</code> otherwise.
  1.3922 -     * @since   1.7
  1.3923 -     */
  1.3924 -    public static boolean isIdeographic(int codePoint) {
  1.3925 -        return CharacterData.of(codePoint).isIdeographic(codePoint);
  1.3926 -    }
  1.3927 -
  1.3928 -    /**
  1.3929 -     * Determines if the specified character is
  1.3930 -     * permissible as the first character in a Java identifier.
  1.3931 -     * <p>
  1.3932 -     * A character may start a Java identifier if and only if
  1.3933 -     * one of the following conditions is true:
  1.3934 -     * <ul>
  1.3935 -     * <li> {@link #isLetter(char) isLetter(ch)} returns {@code true}
  1.3936 -     * <li> {@link #getType(char) getType(ch)} returns {@code LETTER_NUMBER}
  1.3937 -     * <li> {@code ch} is a currency symbol (such as {@code '$'})
  1.3938 -     * <li> {@code ch} is a connecting punctuation character (such as {@code '_'}).
  1.3939 -     * </ul>
  1.3940 -     *
  1.3941 -     * <p><b>Note:</b> This method cannot handle <a
  1.3942 -     * href="#supplementary"> supplementary characters</a>. To support
  1.3943 -     * all Unicode characters, including supplementary characters, use
  1.3944 -     * the {@link #isJavaIdentifierStart(int)} method.
  1.3945 -     *
  1.3946 -     * @param   ch the character to be tested.
  1.3947 -     * @return  {@code true} if the character may start a Java identifier;
  1.3948 -     *          {@code false} otherwise.
  1.3949 -     * @see     Character#isJavaIdentifierPart(char)
  1.3950 -     * @see     Character#isLetter(char)
  1.3951 -     * @see     Character#isUnicodeIdentifierStart(char)
  1.3952 -     * @see     javax.lang.model.SourceVersion#isIdentifier(CharSequence)
  1.3953 -     * @since   1.1
  1.3954 -     */
  1.3955 -    public static boolean isJavaIdentifierStart(char ch) {
  1.3956 -        return isJavaIdentifierStart((int)ch);
  1.3957 -    }
  1.3958 -
  1.3959 -    /**
  1.3960 -     * Determines if the character (Unicode code point) is
  1.3961 -     * permissible as the first character in a Java identifier.
  1.3962 -     * <p>
  1.3963 -     * A character may start a Java identifier if and only if
  1.3964 -     * one of the following conditions is true:
  1.3965 -     * <ul>
  1.3966 -     * <li> {@link #isLetter(int) isLetter(codePoint)}
  1.3967 -     *      returns {@code true}
  1.3968 -     * <li> {@link #getType(int) getType(codePoint)}
  1.3969 -     *      returns {@code LETTER_NUMBER}
  1.3970 -     * <li> the referenced character is a currency symbol (such as {@code '$'})
  1.3971 -     * <li> the referenced character is a connecting punctuation character
  1.3972 -     *      (such as {@code '_'}).
  1.3973 -     * </ul>
  1.3974 -     *
  1.3975 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.3976 -     * @return  {@code true} if the character may start a Java identifier;
  1.3977 -     *          {@code false} otherwise.
  1.3978 -     * @see     Character#isJavaIdentifierPart(int)
  1.3979 -     * @see     Character#isLetter(int)
  1.3980 -     * @see     Character#isUnicodeIdentifierStart(int)
  1.3981 -     * @see     javax.lang.model.SourceVersion#isIdentifier(CharSequence)
  1.3982 -     * @since   1.5
  1.3983 -     */
  1.3984 -    public static boolean isJavaIdentifierStart(int codePoint) {
  1.3985 -        return CharacterData.of(codePoint).isJavaIdentifierStart(codePoint);
  1.3986 -    }
  1.3987 -
  1.3988 -    /**
  1.3989 -     * Determines if the specified character may be part of a Java
  1.3990 -     * identifier as other than the first character.
  1.3991 -     * <p>
  1.3992 -     * A character may be part of a Java identifier if any of the following
  1.3993 -     * are true:
  1.3994 -     * <ul>
  1.3995 -     * <li>  it is a letter
  1.3996 -     * <li>  it is a currency symbol (such as {@code '$'})
  1.3997 -     * <li>  it is a connecting punctuation character (such as {@code '_'})
  1.3998 -     * <li>  it is a digit
  1.3999 -     * <li>  it is a numeric letter (such as a Roman numeral character)
  1.4000 -     * <li>  it is a combining mark
  1.4001 -     * <li>  it is a non-spacing mark
  1.4002 -     * <li> {@code isIdentifierIgnorable} returns
  1.4003 -     * {@code true} for the character
  1.4004 -     * </ul>
  1.4005 -     *
  1.4006 -     * <p><b>Note:</b> This method cannot handle <a
  1.4007 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4008 -     * all Unicode characters, including supplementary characters, use
  1.4009 -     * the {@link #isJavaIdentifierPart(int)} method.
  1.4010 -     *
  1.4011 -     * @param   ch      the character to be tested.
  1.4012 -     * @return {@code true} if the character may be part of a
  1.4013 -     *          Java identifier; {@code false} otherwise.
  1.4014 -     * @see     Character#isIdentifierIgnorable(char)
  1.4015 -     * @see     Character#isJavaIdentifierStart(char)
  1.4016 -     * @see     Character#isLetterOrDigit(char)
  1.4017 -     * @see     Character#isUnicodeIdentifierPart(char)
  1.4018 -     * @see     javax.lang.model.SourceVersion#isIdentifier(CharSequence)
  1.4019 -     * @since   1.1
  1.4020 -     */
  1.4021 -    public static boolean isJavaIdentifierPart(char ch) {
  1.4022 -        return isJavaIdentifierPart((int)ch);
  1.4023 -    }
  1.4024 -
  1.4025 -    /**
  1.4026 -     * Determines if the character (Unicode code point) may be part of a Java
  1.4027 -     * identifier as other than the first character.
  1.4028 -     * <p>
  1.4029 -     * A character may be part of a Java identifier if any of the following
  1.4030 -     * are true:
  1.4031 -     * <ul>
  1.4032 -     * <li>  it is a letter
  1.4033 -     * <li>  it is a currency symbol (such as {@code '$'})
  1.4034 -     * <li>  it is a connecting punctuation character (such as {@code '_'})
  1.4035 -     * <li>  it is a digit
  1.4036 -     * <li>  it is a numeric letter (such as a Roman numeral character)
  1.4037 -     * <li>  it is a combining mark
  1.4038 -     * <li>  it is a non-spacing mark
  1.4039 -     * <li> {@link #isIdentifierIgnorable(int)
  1.4040 -     * isIdentifierIgnorable(codePoint)} returns {@code true} for
  1.4041 -     * the character
  1.4042 -     * </ul>
  1.4043 -     *
  1.4044 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4045 -     * @return {@code true} if the character may be part of a
  1.4046 -     *          Java identifier; {@code false} otherwise.
  1.4047 -     * @see     Character#isIdentifierIgnorable(int)
  1.4048 -     * @see     Character#isJavaIdentifierStart(int)
  1.4049 -     * @see     Character#isLetterOrDigit(int)
  1.4050 -     * @see     Character#isUnicodeIdentifierPart(int)
  1.4051 -     * @see     javax.lang.model.SourceVersion#isIdentifier(CharSequence)
  1.4052 -     * @since   1.5
  1.4053 -     */
  1.4054 -    public static boolean isJavaIdentifierPart(int codePoint) {
  1.4055 -        return CharacterData.of(codePoint).isJavaIdentifierPart(codePoint);
  1.4056 -    }
  1.4057 -
  1.4058 -    /**
  1.4059 -     * Determines if the specified character is permissible as the
  1.4060 -     * first character in a Unicode identifier.
  1.4061 -     * <p>
  1.4062 -     * A character may start a Unicode identifier if and only if
  1.4063 -     * one of the following conditions is true:
  1.4064 -     * <ul>
  1.4065 -     * <li> {@link #isLetter(char) isLetter(ch)} returns {@code true}
  1.4066 -     * <li> {@link #getType(char) getType(ch)} returns
  1.4067 -     *      {@code LETTER_NUMBER}.
  1.4068 -     * </ul>
  1.4069 -     *
  1.4070 -     * <p><b>Note:</b> This method cannot handle <a
  1.4071 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4072 -     * all Unicode characters, including supplementary characters, use
  1.4073 -     * the {@link #isUnicodeIdentifierStart(int)} method.
  1.4074 -     *
  1.4075 -     * @param   ch      the character to be tested.
  1.4076 -     * @return  {@code true} if the character may start a Unicode
  1.4077 -     *          identifier; {@code false} otherwise.
  1.4078 -     * @see     Character#isJavaIdentifierStart(char)
  1.4079 -     * @see     Character#isLetter(char)
  1.4080 -     * @see     Character#isUnicodeIdentifierPart(char)
  1.4081 -     * @since   1.1
  1.4082 -     */
  1.4083 -    public static boolean isUnicodeIdentifierStart(char ch) {
  1.4084 -        return isUnicodeIdentifierStart((int)ch);
  1.4085 -    }
  1.4086 -
  1.4087 -    /**
  1.4088 -     * Determines if the specified character (Unicode code point) is permissible as the
  1.4089 -     * first character in a Unicode identifier.
  1.4090 -     * <p>
  1.4091 -     * A character may start a Unicode identifier if and only if
  1.4092 -     * one of the following conditions is true:
  1.4093 -     * <ul>
  1.4094 -     * <li> {@link #isLetter(int) isLetter(codePoint)}
  1.4095 -     *      returns {@code true}
  1.4096 -     * <li> {@link #getType(int) getType(codePoint)}
  1.4097 -     *      returns {@code LETTER_NUMBER}.
  1.4098 -     * </ul>
  1.4099 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4100 -     * @return  {@code true} if the character may start a Unicode
  1.4101 -     *          identifier; {@code false} otherwise.
  1.4102 -     * @see     Character#isJavaIdentifierStart(int)
  1.4103 -     * @see     Character#isLetter(int)
  1.4104 -     * @see     Character#isUnicodeIdentifierPart(int)
  1.4105 -     * @since   1.5
  1.4106 -     */
  1.4107 -    public static boolean isUnicodeIdentifierStart(int codePoint) {
  1.4108 -        return CharacterData.of(codePoint).isUnicodeIdentifierStart(codePoint);
  1.4109 -    }
  1.4110 -
  1.4111 -    /**
  1.4112 -     * Determines if the specified character may be part of a Unicode
  1.4113 -     * identifier as other than the first character.
  1.4114 -     * <p>
  1.4115 -     * A character may be part of a Unicode identifier if and only if
  1.4116 -     * one of the following statements is true:
  1.4117 -     * <ul>
  1.4118 -     * <li>  it is a letter
  1.4119 -     * <li>  it is a connecting punctuation character (such as {@code '_'})
  1.4120 -     * <li>  it is a digit
  1.4121 -     * <li>  it is a numeric letter (such as a Roman numeral character)
  1.4122 -     * <li>  it is a combining mark
  1.4123 -     * <li>  it is a non-spacing mark
  1.4124 -     * <li> {@code isIdentifierIgnorable} returns
  1.4125 -     * {@code true} for this character.
  1.4126 -     * </ul>
  1.4127 -     *
  1.4128 -     * <p><b>Note:</b> This method cannot handle <a
  1.4129 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4130 -     * all Unicode characters, including supplementary characters, use
  1.4131 -     * the {@link #isUnicodeIdentifierPart(int)} method.
  1.4132 -     *
  1.4133 -     * @param   ch      the character to be tested.
  1.4134 -     * @return  {@code true} if the character may be part of a
  1.4135 -     *          Unicode identifier; {@code false} otherwise.
  1.4136 -     * @see     Character#isIdentifierIgnorable(char)
  1.4137 -     * @see     Character#isJavaIdentifierPart(char)
  1.4138 -     * @see     Character#isLetterOrDigit(char)
  1.4139 -     * @see     Character#isUnicodeIdentifierStart(char)
  1.4140 -     * @since   1.1
  1.4141 -     */
  1.4142 -    public static boolean isUnicodeIdentifierPart(char ch) {
  1.4143 -        return isUnicodeIdentifierPart((int)ch);
  1.4144 -    }
  1.4145 -
  1.4146 -    /**
  1.4147 -     * Determines if the specified character (Unicode code point) may be part of a Unicode
  1.4148 -     * identifier as other than the first character.
  1.4149 -     * <p>
  1.4150 -     * A character may be part of a Unicode identifier if and only if
  1.4151 -     * one of the following statements is true:
  1.4152 -     * <ul>
  1.4153 -     * <li>  it is a letter
  1.4154 -     * <li>  it is a connecting punctuation character (such as {@code '_'})
  1.4155 -     * <li>  it is a digit
  1.4156 -     * <li>  it is a numeric letter (such as a Roman numeral character)
  1.4157 -     * <li>  it is a combining mark
  1.4158 -     * <li>  it is a non-spacing mark
  1.4159 -     * <li> {@code isIdentifierIgnorable} returns
  1.4160 -     * {@code true} for this character.
  1.4161 -     * </ul>
  1.4162 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4163 -     * @return  {@code true} if the character may be part of a
  1.4164 -     *          Unicode identifier; {@code false} otherwise.
  1.4165 -     * @see     Character#isIdentifierIgnorable(int)
  1.4166 -     * @see     Character#isJavaIdentifierPart(int)
  1.4167 -     * @see     Character#isLetterOrDigit(int)
  1.4168 -     * @see     Character#isUnicodeIdentifierStart(int)
  1.4169 -     * @since   1.5
  1.4170 -     */
  1.4171 -    public static boolean isUnicodeIdentifierPart(int codePoint) {
  1.4172 -        return CharacterData.of(codePoint).isUnicodeIdentifierPart(codePoint);
  1.4173 -    }
  1.4174 -
  1.4175 -    /**
  1.4176 -     * Determines if the specified character should be regarded as
  1.4177 -     * an ignorable character in a Java identifier or a Unicode identifier.
  1.4178 -     * <p>
  1.4179 -     * The following Unicode characters are ignorable in a Java identifier
  1.4180 -     * or a Unicode identifier:
  1.4181 -     * <ul>
  1.4182 -     * <li>ISO control characters that are not whitespace
  1.4183 -     * <ul>
  1.4184 -     * <li>{@code '\u005Cu0000'} through {@code '\u005Cu0008'}
  1.4185 -     * <li>{@code '\u005Cu000E'} through {@code '\u005Cu001B'}
  1.4186 -     * <li>{@code '\u005Cu007F'} through {@code '\u005Cu009F'}
  1.4187 -     * </ul>
  1.4188 -     *
  1.4189 -     * <li>all characters that have the {@code FORMAT} general
  1.4190 -     * category value
  1.4191 -     * </ul>
  1.4192 -     *
  1.4193 -     * <p><b>Note:</b> This method cannot handle <a
  1.4194 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4195 -     * all Unicode characters, including supplementary characters, use
  1.4196 -     * the {@link #isIdentifierIgnorable(int)} method.
  1.4197 -     *
  1.4198 -     * @param   ch      the character to be tested.
  1.4199 -     * @return  {@code true} if the character is an ignorable control
  1.4200 -     *          character that may be part of a Java or Unicode identifier;
  1.4201 -     *           {@code false} otherwise.
  1.4202 -     * @see     Character#isJavaIdentifierPart(char)
  1.4203 -     * @see     Character#isUnicodeIdentifierPart(char)
  1.4204 -     * @since   1.1
  1.4205 -     */
  1.4206 -    public static boolean isIdentifierIgnorable(char ch) {
  1.4207 -        return isIdentifierIgnorable((int)ch);
  1.4208 -    }
  1.4209 -
  1.4210 -    /**
  1.4211 -     * Determines if the specified character (Unicode code point) should be regarded as
  1.4212 -     * an ignorable character in a Java identifier or a Unicode identifier.
  1.4213 -     * <p>
  1.4214 -     * The following Unicode characters are ignorable in a Java identifier
  1.4215 -     * or a Unicode identifier:
  1.4216 -     * <ul>
  1.4217 -     * <li>ISO control characters that are not whitespace
  1.4218 -     * <ul>
  1.4219 -     * <li>{@code '\u005Cu0000'} through {@code '\u005Cu0008'}
  1.4220 -     * <li>{@code '\u005Cu000E'} through {@code '\u005Cu001B'}
  1.4221 -     * <li>{@code '\u005Cu007F'} through {@code '\u005Cu009F'}
  1.4222 -     * </ul>
  1.4223 -     *
  1.4224 -     * <li>all characters that have the {@code FORMAT} general
  1.4225 -     * category value
  1.4226 -     * </ul>
  1.4227 -     *
  1.4228 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4229 -     * @return  {@code true} if the character is an ignorable control
  1.4230 -     *          character that may be part of a Java or Unicode identifier;
  1.4231 -     *          {@code false} otherwise.
  1.4232 -     * @see     Character#isJavaIdentifierPart(int)
  1.4233 -     * @see     Character#isUnicodeIdentifierPart(int)
  1.4234 -     * @since   1.5
  1.4235 -     */
  1.4236 -    public static boolean isIdentifierIgnorable(int codePoint) {
  1.4237 -        return CharacterData.of(codePoint).isIdentifierIgnorable(codePoint);
  1.4238 -    }
  1.4239 -
  1.4240 +    
  1.4241      /**
  1.4242       * Converts the character argument to lowercase using case
  1.4243       * mapping information from the UnicodeData file.
  1.4244 @@ -6116,36 +1930,7 @@
  1.4245       * @see     String#toLowerCase()
  1.4246       */
  1.4247      public static char toLowerCase(char ch) {
  1.4248 -        return (char)toLowerCase((int)ch);
  1.4249 -    }
  1.4250 -
  1.4251 -    /**
  1.4252 -     * Converts the character (Unicode code point) argument to
  1.4253 -     * lowercase using case mapping information from the UnicodeData
  1.4254 -     * file.
  1.4255 -     *
  1.4256 -     * <p> Note that
  1.4257 -     * {@code Character.isLowerCase(Character.toLowerCase(codePoint))}
  1.4258 -     * does not always return {@code true} for some ranges of
  1.4259 -     * characters, particularly those that are symbols or ideographs.
  1.4260 -     *
  1.4261 -     * <p>In general, {@link String#toLowerCase()} should be used to map
  1.4262 -     * characters to lowercase. {@code String} case mapping methods
  1.4263 -     * have several benefits over {@code Character} case mapping methods.
  1.4264 -     * {@code String} case mapping methods can perform locale-sensitive
  1.4265 -     * mappings, context-sensitive mappings, and 1:M character mappings, whereas
  1.4266 -     * the {@code Character} case mapping methods cannot.
  1.4267 -     *
  1.4268 -     * @param   codePoint   the character (Unicode code point) to be converted.
  1.4269 -     * @return  the lowercase equivalent of the character (Unicode code
  1.4270 -     *          point), if any; otherwise, the character itself.
  1.4271 -     * @see     Character#isLowerCase(int)
  1.4272 -     * @see     String#toLowerCase()
  1.4273 -     *
  1.4274 -     * @since   1.5
  1.4275 -     */
  1.4276 -    public static int toLowerCase(int codePoint) {
  1.4277 -        return CharacterData.of(codePoint).toLowerCase(codePoint);
  1.4278 +        throw new UnsupportedOperationException();
  1.4279      }
  1.4280  
  1.4281      /**
  1.4282 @@ -6176,95 +1961,7 @@
  1.4283       * @see     String#toUpperCase()
  1.4284       */
  1.4285      public static char toUpperCase(char ch) {
  1.4286 -        return (char)toUpperCase((int)ch);
  1.4287 -    }
  1.4288 -
  1.4289 -    /**
  1.4290 -     * Converts the character (Unicode code point) argument to
  1.4291 -     * uppercase using case mapping information from the UnicodeData
  1.4292 -     * file.
  1.4293 -     *
  1.4294 -     * <p>Note that
  1.4295 -     * {@code Character.isUpperCase(Character.toUpperCase(codePoint))}
  1.4296 -     * does not always return {@code true} for some ranges of
  1.4297 -     * characters, particularly those that are symbols or ideographs.
  1.4298 -     *
  1.4299 -     * <p>In general, {@link String#toUpperCase()} should be used to map
  1.4300 -     * characters to uppercase. {@code String} case mapping methods
  1.4301 -     * have several benefits over {@code Character} case mapping methods.
  1.4302 -     * {@code String} case mapping methods can perform locale-sensitive
  1.4303 -     * mappings, context-sensitive mappings, and 1:M character mappings, whereas
  1.4304 -     * the {@code Character} case mapping methods cannot.
  1.4305 -     *
  1.4306 -     * @param   codePoint   the character (Unicode code point) to be converted.
  1.4307 -     * @return  the uppercase equivalent of the character, if any;
  1.4308 -     *          otherwise, the character itself.
  1.4309 -     * @see     Character#isUpperCase(int)
  1.4310 -     * @see     String#toUpperCase()
  1.4311 -     *
  1.4312 -     * @since   1.5
  1.4313 -     */
  1.4314 -    public static int toUpperCase(int codePoint) {
  1.4315 -        return CharacterData.of(codePoint).toUpperCase(codePoint);
  1.4316 -    }
  1.4317 -
  1.4318 -    /**
  1.4319 -     * Converts the character argument to titlecase using case mapping
  1.4320 -     * information from the UnicodeData file. If a character has no
  1.4321 -     * explicit titlecase mapping and is not itself a titlecase char
  1.4322 -     * according to UnicodeData, then the uppercase mapping is
  1.4323 -     * returned as an equivalent titlecase mapping. If the
  1.4324 -     * {@code char} argument is already a titlecase
  1.4325 -     * {@code char}, the same {@code char} value will be
  1.4326 -     * returned.
  1.4327 -     * <p>
  1.4328 -     * Note that
  1.4329 -     * {@code Character.isTitleCase(Character.toTitleCase(ch))}
  1.4330 -     * does not always return {@code true} for some ranges of
  1.4331 -     * characters.
  1.4332 -     *
  1.4333 -     * <p><b>Note:</b> This method cannot handle <a
  1.4334 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4335 -     * all Unicode characters, including supplementary characters, use
  1.4336 -     * the {@link #toTitleCase(int)} method.
  1.4337 -     *
  1.4338 -     * @param   ch   the character to be converted.
  1.4339 -     * @return  the titlecase equivalent of the character, if any;
  1.4340 -     *          otherwise, the character itself.
  1.4341 -     * @see     Character#isTitleCase(char)
  1.4342 -     * @see     Character#toLowerCase(char)
  1.4343 -     * @see     Character#toUpperCase(char)
  1.4344 -     * @since   1.0.2
  1.4345 -     */
  1.4346 -    public static char toTitleCase(char ch) {
  1.4347 -        return (char)toTitleCase((int)ch);
  1.4348 -    }
  1.4349 -
  1.4350 -    /**
  1.4351 -     * Converts the character (Unicode code point) argument to titlecase using case mapping
  1.4352 -     * information from the UnicodeData file. If a character has no
  1.4353 -     * explicit titlecase mapping and is not itself a titlecase char
  1.4354 -     * according to UnicodeData, then the uppercase mapping is
  1.4355 -     * returned as an equivalent titlecase mapping. If the
  1.4356 -     * character argument is already a titlecase
  1.4357 -     * character, the same character value will be
  1.4358 -     * returned.
  1.4359 -     *
  1.4360 -     * <p>Note that
  1.4361 -     * {@code Character.isTitleCase(Character.toTitleCase(codePoint))}
  1.4362 -     * does not always return {@code true} for some ranges of
  1.4363 -     * characters.
  1.4364 -     *
  1.4365 -     * @param   codePoint   the character (Unicode code point) to be converted.
  1.4366 -     * @return  the titlecase equivalent of the character, if any;
  1.4367 -     *          otherwise, the character itself.
  1.4368 -     * @see     Character#isTitleCase(int)
  1.4369 -     * @see     Character#toLowerCase(int)
  1.4370 -     * @see     Character#toUpperCase(int)
  1.4371 -     * @since   1.5
  1.4372 -     */
  1.4373 -    public static int toTitleCase(int codePoint) {
  1.4374 -        return CharacterData.of(codePoint).toTitleCase(codePoint);
  1.4375 +        throw new UnsupportedOperationException();
  1.4376      }
  1.4377  
  1.4378      /**
  1.4379 @@ -6370,7 +2067,7 @@
  1.4380       * @since   1.5
  1.4381       */
  1.4382      public static int digit(int codePoint, int radix) {
  1.4383 -        return CharacterData.of(codePoint).digit(codePoint, radix);
  1.4384 +        throw new UnsupportedOperationException();
  1.4385      }
  1.4386  
  1.4387      /**
  1.4388 @@ -6441,7 +2138,7 @@
  1.4389       * @since   1.5
  1.4390       */
  1.4391      public static int getNumericValue(int codePoint) {
  1.4392 -        return CharacterData.of(codePoint).getNumericValue(codePoint);
  1.4393 +        throw new UnsupportedOperationException();
  1.4394      }
  1.4395  
  1.4396      /**
  1.4397 @@ -6479,58 +2176,6 @@
  1.4398      }
  1.4399  
  1.4400  
  1.4401 -    /**
  1.4402 -     * Determines if the specified character is a Unicode space character.
  1.4403 -     * A character is considered to be a space character if and only if
  1.4404 -     * it is specified to be a space character by the Unicode Standard. This
  1.4405 -     * method returns true if the character's general category type is any of
  1.4406 -     * the following:
  1.4407 -     * <ul>
  1.4408 -     * <li> {@code SPACE_SEPARATOR}
  1.4409 -     * <li> {@code LINE_SEPARATOR}
  1.4410 -     * <li> {@code PARAGRAPH_SEPARATOR}
  1.4411 -     * </ul>
  1.4412 -     *
  1.4413 -     * <p><b>Note:</b> This method cannot handle <a
  1.4414 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4415 -     * all Unicode characters, including supplementary characters, use
  1.4416 -     * the {@link #isSpaceChar(int)} method.
  1.4417 -     *
  1.4418 -     * @param   ch      the character to be tested.
  1.4419 -     * @return  {@code true} if the character is a space character;
  1.4420 -     *          {@code false} otherwise.
  1.4421 -     * @see     Character#isWhitespace(char)
  1.4422 -     * @since   1.1
  1.4423 -     */
  1.4424 -    public static boolean isSpaceChar(char ch) {
  1.4425 -        return isSpaceChar((int)ch);
  1.4426 -    }
  1.4427 -
  1.4428 -    /**
  1.4429 -     * Determines if the specified character (Unicode code point) is a
  1.4430 -     * Unicode space character.  A character is considered to be a
  1.4431 -     * space character if and only if it is specified to be a space
  1.4432 -     * character by the Unicode Standard. This method returns true if
  1.4433 -     * the character's general category type is any of the following:
  1.4434 -     *
  1.4435 -     * <ul>
  1.4436 -     * <li> {@link #SPACE_SEPARATOR}
  1.4437 -     * <li> {@link #LINE_SEPARATOR}
  1.4438 -     * <li> {@link #PARAGRAPH_SEPARATOR}
  1.4439 -     * </ul>
  1.4440 -     *
  1.4441 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4442 -     * @return  {@code true} if the character is a space character;
  1.4443 -     *          {@code false} otherwise.
  1.4444 -     * @see     Character#isWhitespace(int)
  1.4445 -     * @since   1.5
  1.4446 -     */
  1.4447 -    public static boolean isSpaceChar(int codePoint) {
  1.4448 -        return ((((1 << Character.SPACE_SEPARATOR) |
  1.4449 -                  (1 << Character.LINE_SEPARATOR) |
  1.4450 -                  (1 << Character.PARAGRAPH_SEPARATOR)) >> getType(codePoint)) & 1)
  1.4451 -            != 0;
  1.4452 -    }
  1.4453  
  1.4454      /**
  1.4455       * Determines if the specified character is white space according to Java.
  1.4456 @@ -6596,7 +2241,7 @@
  1.4457       * @since   1.5
  1.4458       */
  1.4459      public static boolean isWhitespace(int codePoint) {
  1.4460 -        return CharacterData.of(codePoint).isWhitespace(codePoint);
  1.4461 +        throw new UnsupportedOperationException();
  1.4462      }
  1.4463  
  1.4464      /**
  1.4465 @@ -6646,95 +2291,6 @@
  1.4466      }
  1.4467  
  1.4468      /**
  1.4469 -     * Returns a value indicating a character's general category.
  1.4470 -     *
  1.4471 -     * <p><b>Note:</b> This method cannot handle <a
  1.4472 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4473 -     * all Unicode characters, including supplementary characters, use
  1.4474 -     * the {@link #getType(int)} method.
  1.4475 -     *
  1.4476 -     * @param   ch      the character to be tested.
  1.4477 -     * @return  a value of type {@code int} representing the
  1.4478 -     *          character's general category.
  1.4479 -     * @see     Character#COMBINING_SPACING_MARK
  1.4480 -     * @see     Character#CONNECTOR_PUNCTUATION
  1.4481 -     * @see     Character#CONTROL
  1.4482 -     * @see     Character#CURRENCY_SYMBOL
  1.4483 -     * @see     Character#DASH_PUNCTUATION
  1.4484 -     * @see     Character#DECIMAL_DIGIT_NUMBER
  1.4485 -     * @see     Character#ENCLOSING_MARK
  1.4486 -     * @see     Character#END_PUNCTUATION
  1.4487 -     * @see     Character#FINAL_QUOTE_PUNCTUATION
  1.4488 -     * @see     Character#FORMAT
  1.4489 -     * @see     Character#INITIAL_QUOTE_PUNCTUATION
  1.4490 -     * @see     Character#LETTER_NUMBER
  1.4491 -     * @see     Character#LINE_SEPARATOR
  1.4492 -     * @see     Character#LOWERCASE_LETTER
  1.4493 -     * @see     Character#MATH_SYMBOL
  1.4494 -     * @see     Character#MODIFIER_LETTER
  1.4495 -     * @see     Character#MODIFIER_SYMBOL
  1.4496 -     * @see     Character#NON_SPACING_MARK
  1.4497 -     * @see     Character#OTHER_LETTER
  1.4498 -     * @see     Character#OTHER_NUMBER
  1.4499 -     * @see     Character#OTHER_PUNCTUATION
  1.4500 -     * @see     Character#OTHER_SYMBOL
  1.4501 -     * @see     Character#PARAGRAPH_SEPARATOR
  1.4502 -     * @see     Character#PRIVATE_USE
  1.4503 -     * @see     Character#SPACE_SEPARATOR
  1.4504 -     * @see     Character#START_PUNCTUATION
  1.4505 -     * @see     Character#SURROGATE
  1.4506 -     * @see     Character#TITLECASE_LETTER
  1.4507 -     * @see     Character#UNASSIGNED
  1.4508 -     * @see     Character#UPPERCASE_LETTER
  1.4509 -     * @since   1.1
  1.4510 -     */
  1.4511 -    public static int getType(char ch) {
  1.4512 -        return getType((int)ch);
  1.4513 -    }
  1.4514 -
  1.4515 -    /**
  1.4516 -     * Returns a value indicating a character's general category.
  1.4517 -     *
  1.4518 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4519 -     * @return  a value of type {@code int} representing the
  1.4520 -     *          character's general category.
  1.4521 -     * @see     Character#COMBINING_SPACING_MARK COMBINING_SPACING_MARK
  1.4522 -     * @see     Character#CONNECTOR_PUNCTUATION CONNECTOR_PUNCTUATION
  1.4523 -     * @see     Character#CONTROL CONTROL
  1.4524 -     * @see     Character#CURRENCY_SYMBOL CURRENCY_SYMBOL
  1.4525 -     * @see     Character#DASH_PUNCTUATION DASH_PUNCTUATION
  1.4526 -     * @see     Character#DECIMAL_DIGIT_NUMBER DECIMAL_DIGIT_NUMBER
  1.4527 -     * @see     Character#ENCLOSING_MARK ENCLOSING_MARK
  1.4528 -     * @see     Character#END_PUNCTUATION END_PUNCTUATION
  1.4529 -     * @see     Character#FINAL_QUOTE_PUNCTUATION FINAL_QUOTE_PUNCTUATION
  1.4530 -     * @see     Character#FORMAT FORMAT
  1.4531 -     * @see     Character#INITIAL_QUOTE_PUNCTUATION INITIAL_QUOTE_PUNCTUATION
  1.4532 -     * @see     Character#LETTER_NUMBER LETTER_NUMBER
  1.4533 -     * @see     Character#LINE_SEPARATOR LINE_SEPARATOR
  1.4534 -     * @see     Character#LOWERCASE_LETTER LOWERCASE_LETTER
  1.4535 -     * @see     Character#MATH_SYMBOL MATH_SYMBOL
  1.4536 -     * @see     Character#MODIFIER_LETTER MODIFIER_LETTER
  1.4537 -     * @see     Character#MODIFIER_SYMBOL MODIFIER_SYMBOL
  1.4538 -     * @see     Character#NON_SPACING_MARK NON_SPACING_MARK
  1.4539 -     * @see     Character#OTHER_LETTER OTHER_LETTER
  1.4540 -     * @see     Character#OTHER_NUMBER OTHER_NUMBER
  1.4541 -     * @see     Character#OTHER_PUNCTUATION OTHER_PUNCTUATION
  1.4542 -     * @see     Character#OTHER_SYMBOL OTHER_SYMBOL
  1.4543 -     * @see     Character#PARAGRAPH_SEPARATOR PARAGRAPH_SEPARATOR
  1.4544 -     * @see     Character#PRIVATE_USE PRIVATE_USE
  1.4545 -     * @see     Character#SPACE_SEPARATOR SPACE_SEPARATOR
  1.4546 -     * @see     Character#START_PUNCTUATION START_PUNCTUATION
  1.4547 -     * @see     Character#SURROGATE SURROGATE
  1.4548 -     * @see     Character#TITLECASE_LETTER TITLECASE_LETTER
  1.4549 -     * @see     Character#UNASSIGNED UNASSIGNED
  1.4550 -     * @see     Character#UPPERCASE_LETTER UPPERCASE_LETTER
  1.4551 -     * @since   1.5
  1.4552 -     */
  1.4553 -    public static int getType(int codePoint) {
  1.4554 -        return CharacterData.of(codePoint).getType(codePoint);
  1.4555 -    }
  1.4556 -
  1.4557 -    /**
  1.4558       * Determines the character representation for a specific digit in
  1.4559       * the specified radix. If the value of {@code radix} is not a
  1.4560       * valid radix, or the value of {@code digit} is not a valid
  1.4561 @@ -6772,126 +2328,6 @@
  1.4562      }
  1.4563  
  1.4564      /**
  1.4565 -     * Returns the Unicode directionality property for the given
  1.4566 -     * character.  Character directionality is used to calculate the
  1.4567 -     * visual ordering of text. The directionality value of undefined
  1.4568 -     * {@code char} values is {@code DIRECTIONALITY_UNDEFINED}.
  1.4569 -     *
  1.4570 -     * <p><b>Note:</b> This method cannot handle <a
  1.4571 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4572 -     * all Unicode characters, including supplementary characters, use
  1.4573 -     * the {@link #getDirectionality(int)} method.
  1.4574 -     *
  1.4575 -     * @param  ch {@code char} for which the directionality property
  1.4576 -     *            is requested.
  1.4577 -     * @return the directionality property of the {@code char} value.
  1.4578 -     *
  1.4579 -     * @see Character#DIRECTIONALITY_UNDEFINED
  1.4580 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT
  1.4581 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT
  1.4582 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
  1.4583 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER
  1.4584 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
  1.4585 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
  1.4586 -     * @see Character#DIRECTIONALITY_ARABIC_NUMBER
  1.4587 -     * @see Character#DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
  1.4588 -     * @see Character#DIRECTIONALITY_NONSPACING_MARK
  1.4589 -     * @see Character#DIRECTIONALITY_BOUNDARY_NEUTRAL
  1.4590 -     * @see Character#DIRECTIONALITY_PARAGRAPH_SEPARATOR
  1.4591 -     * @see Character#DIRECTIONALITY_SEGMENT_SEPARATOR
  1.4592 -     * @see Character#DIRECTIONALITY_WHITESPACE
  1.4593 -     * @see Character#DIRECTIONALITY_OTHER_NEUTRALS
  1.4594 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
  1.4595 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
  1.4596 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
  1.4597 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
  1.4598 -     * @see Character#DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
  1.4599 -     * @since 1.4
  1.4600 -     */
  1.4601 -    public static byte getDirectionality(char ch) {
  1.4602 -        return getDirectionality((int)ch);
  1.4603 -    }
  1.4604 -
  1.4605 -    /**
  1.4606 -     * Returns the Unicode directionality property for the given
  1.4607 -     * character (Unicode code point).  Character directionality is
  1.4608 -     * used to calculate the visual ordering of text. The
  1.4609 -     * directionality value of undefined character is {@link
  1.4610 -     * #DIRECTIONALITY_UNDEFINED}.
  1.4611 -     *
  1.4612 -     * @param   codePoint the character (Unicode code point) for which
  1.4613 -     *          the directionality property is requested.
  1.4614 -     * @return the directionality property of the character.
  1.4615 -     *
  1.4616 -     * @see Character#DIRECTIONALITY_UNDEFINED DIRECTIONALITY_UNDEFINED
  1.4617 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT DIRECTIONALITY_LEFT_TO_RIGHT
  1.4618 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT DIRECTIONALITY_RIGHT_TO_LEFT
  1.4619 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
  1.4620 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER DIRECTIONALITY_EUROPEAN_NUMBER
  1.4621 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
  1.4622 -     * @see Character#DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
  1.4623 -     * @see Character#DIRECTIONALITY_ARABIC_NUMBER DIRECTIONALITY_ARABIC_NUMBER
  1.4624 -     * @see Character#DIRECTIONALITY_COMMON_NUMBER_SEPARATOR DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
  1.4625 -     * @see Character#DIRECTIONALITY_NONSPACING_MARK DIRECTIONALITY_NONSPACING_MARK
  1.4626 -     * @see Character#DIRECTIONALITY_BOUNDARY_NEUTRAL DIRECTIONALITY_BOUNDARY_NEUTRAL
  1.4627 -     * @see Character#DIRECTIONALITY_PARAGRAPH_SEPARATOR DIRECTIONALITY_PARAGRAPH_SEPARATOR
  1.4628 -     * @see Character#DIRECTIONALITY_SEGMENT_SEPARATOR DIRECTIONALITY_SEGMENT_SEPARATOR
  1.4629 -     * @see Character#DIRECTIONALITY_WHITESPACE DIRECTIONALITY_WHITESPACE
  1.4630 -     * @see Character#DIRECTIONALITY_OTHER_NEUTRALS DIRECTIONALITY_OTHER_NEUTRALS
  1.4631 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
  1.4632 -     * @see Character#DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
  1.4633 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
  1.4634 -     * @see Character#DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
  1.4635 -     * @see Character#DIRECTIONALITY_POP_DIRECTIONAL_FORMAT DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
  1.4636 -     * @since    1.5
  1.4637 -     */
  1.4638 -    public static byte getDirectionality(int codePoint) {
  1.4639 -        return CharacterData.of(codePoint).getDirectionality(codePoint);
  1.4640 -    }
  1.4641 -
  1.4642 -    /**
  1.4643 -     * Determines whether the character is mirrored according to the
  1.4644 -     * Unicode specification.  Mirrored characters should have their
  1.4645 -     * glyphs horizontally mirrored when displayed in text that is
  1.4646 -     * right-to-left.  For example, {@code '\u005Cu0028'} LEFT
  1.4647 -     * PARENTHESIS is semantically defined to be an <i>opening
  1.4648 -     * parenthesis</i>.  This will appear as a "(" in text that is
  1.4649 -     * left-to-right but as a ")" in text that is right-to-left.
  1.4650 -     *
  1.4651 -     * <p><b>Note:</b> This method cannot handle <a
  1.4652 -     * href="#supplementary"> supplementary characters</a>. To support
  1.4653 -     * all Unicode characters, including supplementary characters, use
  1.4654 -     * the {@link #isMirrored(int)} method.
  1.4655 -     *
  1.4656 -     * @param  ch {@code char} for which the mirrored property is requested
  1.4657 -     * @return {@code true} if the char is mirrored, {@code false}
  1.4658 -     *         if the {@code char} is not mirrored or is not defined.
  1.4659 -     * @since 1.4
  1.4660 -     */
  1.4661 -    public static boolean isMirrored(char ch) {
  1.4662 -        return isMirrored((int)ch);
  1.4663 -    }
  1.4664 -
  1.4665 -    /**
  1.4666 -     * Determines whether the specified character (Unicode code point)
  1.4667 -     * is mirrored according to the Unicode specification.  Mirrored
  1.4668 -     * characters should have their glyphs horizontally mirrored when
  1.4669 -     * displayed in text that is right-to-left.  For example,
  1.4670 -     * {@code '\u005Cu0028'} LEFT PARENTHESIS is semantically
  1.4671 -     * defined to be an <i>opening parenthesis</i>.  This will appear
  1.4672 -     * as a "(" in text that is left-to-right but as a ")" in text
  1.4673 -     * that is right-to-left.
  1.4674 -     *
  1.4675 -     * @param   codePoint the character (Unicode code point) to be tested.
  1.4676 -     * @return  {@code true} if the character is mirrored, {@code false}
  1.4677 -     *          if the character is not mirrored or is not defined.
  1.4678 -     * @since   1.5
  1.4679 -     */
  1.4680 -    public static boolean isMirrored(int codePoint) {
  1.4681 -        return CharacterData.of(codePoint).isMirrored(codePoint);
  1.4682 -    }
  1.4683 -
  1.4684 -    /**
  1.4685       * Compares two {@code Character} objects numerically.
  1.4686       *
  1.4687       * @param   anotherCharacter   the {@code Character} to be compared.
  1.4688 @@ -6928,42 +2364,6 @@
  1.4689          return x - y;
  1.4690      }
  1.4691  
  1.4692 -    /**
  1.4693 -     * Converts the character (Unicode code point) argument to uppercase using
  1.4694 -     * information from the UnicodeData file.
  1.4695 -     * <p>
  1.4696 -     *
  1.4697 -     * @param   codePoint   the character (Unicode code point) to be converted.
  1.4698 -     * @return  either the uppercase equivalent of the character, if
  1.4699 -     *          any, or an error flag ({@code Character.ERROR})
  1.4700 -     *          that indicates that a 1:M {@code char} mapping exists.
  1.4701 -     * @see     Character#isLowerCase(char)
  1.4702 -     * @see     Character#isUpperCase(char)
  1.4703 -     * @see     Character#toLowerCase(char)
  1.4704 -     * @see     Character#toTitleCase(char)
  1.4705 -     * @since 1.4
  1.4706 -     */
  1.4707 -    static int toUpperCaseEx(int codePoint) {
  1.4708 -        assert isValidCodePoint(codePoint);
  1.4709 -        return CharacterData.of(codePoint).toUpperCaseEx(codePoint);
  1.4710 -    }
  1.4711 -
  1.4712 -    /**
  1.4713 -     * Converts the character (Unicode code point) argument to uppercase using case
  1.4714 -     * mapping information from the SpecialCasing file in the Unicode
  1.4715 -     * specification. If a character has no explicit uppercase
  1.4716 -     * mapping, then the {@code char} itself is returned in the
  1.4717 -     * {@code char[]}.
  1.4718 -     *
  1.4719 -     * @param   codePoint   the character (Unicode code point) to be converted.
  1.4720 -     * @return a {@code char[]} with the uppercased character.
  1.4721 -     * @since 1.4
  1.4722 -     */
  1.4723 -    static char[] toUpperCaseCharArray(int codePoint) {
  1.4724 -        // As of Unicode 6.0, 1:M uppercasings only happen in the BMP.
  1.4725 -        assert isBmpCodePoint(codePoint);
  1.4726 -        return CharacterData.of(codePoint).toUpperCaseCharArray(codePoint);
  1.4727 -    }
  1.4728  
  1.4729      /**
  1.4730       * The number of bits used to represent a <tt>char</tt> value in unsigned
  1.4731 @@ -6985,48 +2385,4 @@
  1.4732          return (char) (((ch & 0xFF00) >> 8) | (ch << 8));
  1.4733      }
  1.4734  
  1.4735 -    /**
  1.4736 -     * Returns the Unicode name of the specified character
  1.4737 -     * {@code codePoint}, or null if the code point is
  1.4738 -     * {@link #UNASSIGNED unassigned}.
  1.4739 -     * <p>
  1.4740 -     * Note: if the specified character is not assigned a name by
  1.4741 -     * the <i>UnicodeData</i> file (part of the Unicode Character
  1.4742 -     * Database maintained by the Unicode Consortium), the returned
  1.4743 -     * name is the same as the result of expression.
  1.4744 -     *
  1.4745 -     * <blockquote>{@code
  1.4746 -     *     Character.UnicodeBlock.of(codePoint).toString().replace('_', ' ')
  1.4747 -     *     + " "
  1.4748 -     *     + Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
  1.4749 -     *
  1.4750 -     * }</blockquote>
  1.4751 -     *
  1.4752 -     * @param  codePoint the character (Unicode code point)
  1.4753 -     *
  1.4754 -     * @return the Unicode name of the specified character, or null if
  1.4755 -     *         the code point is unassigned.
  1.4756 -     *
  1.4757 -     * @exception IllegalArgumentException if the specified
  1.4758 -     *            {@code codePoint} is not a valid Unicode
  1.4759 -     *            code point.
  1.4760 -     *
  1.4761 -     * @since 1.7
  1.4762 -     */
  1.4763 -    public static String getName(int codePoint) {
  1.4764 -        if (!isValidCodePoint(codePoint)) {
  1.4765 -            throw new IllegalArgumentException();
  1.4766 -        }
  1.4767 -        String name = CharacterName.get(codePoint);
  1.4768 -        if (name != null)
  1.4769 -            return name;
  1.4770 -        if (getType(codePoint) == UNASSIGNED)
  1.4771 -            return null;
  1.4772 -        UnicodeBlock block = UnicodeBlock.of(codePoint);
  1.4773 -        if (block != null)
  1.4774 -            return block.toString().replace('_', ' ') + " "
  1.4775 -                   + Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
  1.4776 -        // should never come here
  1.4777 -        return Integer.toHexString(codePoint).toUpperCase(Locale.ENGLISH);
  1.4778 -    }
  1.4779  }