| 1 7 8 package java.lang; 9 import java.util.Map ; 10 import java.util.HashMap ; 11 import java.util.Locale ; 12 13 101 public final 102 class Character extends Object implements java.io.Serializable , Comparable <Character > { 103 116 public static final int MIN_RADIX = 2; 117 118 131 public static final int MAX_RADIX = 36; 132 133 139 public static final char MIN_VALUE = '\u0000'; 140 141 147 public static final char MAX_VALUE = '\uffff'; 148 149 155 public static final Class <Character > TYPE = Class.getPrimitiveClass("char"); 156 157 160 161 164 165 169 public static final byte 170 UNASSIGNED = 0; 171 172 176 public static final byte 177 UPPERCASE_LETTER = 1; 178 179 183 public static final byte 184 LOWERCASE_LETTER = 2; 185 186 190 public static final byte 191 TITLECASE_LETTER = 3; 192 193 197 public static final byte 198 MODIFIER_LETTER = 4; 199 200 204 public static final byte 205 OTHER_LETTER = 5; 206 207 211 public static final byte 212 NON_SPACING_MARK = 6; 213 214 218 public static final byte 219 ENCLOSING_MARK = 7; 220 221 225 public static final byte 226 COMBINING_SPACING_MARK = 8; 227 228 232 public static final byte 233 DECIMAL_DIGIT_NUMBER = 9; 234 235 239 public static final byte 240 LETTER_NUMBER = 10; 241 242 246 public static final byte 247 OTHER_NUMBER = 11; 248 249 253 public static final byte 254 SPACE_SEPARATOR = 12; 255 256 260 public static final byte 261 LINE_SEPARATOR = 13; 262 263 267 public static final byte 268 PARAGRAPH_SEPARATOR = 14; 269 270 274 public static final byte 275 CONTROL = 15; 276 277 281 public static final byte 282 FORMAT = 16; 283 284 288 public static final byte 289 PRIVATE_USE = 18; 290 291 295 public static final byte 296 SURROGATE = 19; 297 298 302 public static final byte 303 DASH_PUNCTUATION = 20; 304 305 309 public static final byte 310 START_PUNCTUATION = 21; 311 312 316 public static final byte 317 END_PUNCTUATION = 22; 318 319 323 public static final byte 324 CONNECTOR_PUNCTUATION = 23; 325 326 330 public static final byte 331 OTHER_PUNCTUATION = 24; 332 333 337 public static final byte 338 MATH_SYMBOL = 25; 339 340 344 public static final byte 345 CURRENCY_SYMBOL = 26; 346 347 351 public static final byte 352 MODIFIER_SYMBOL = 27; 353 354 358 public static final byte 359 OTHER_SYMBOL = 28; 360 361 365 public static final byte 366 INITIAL_QUOTE_PUNCTUATION = 29; 367 368 372 public static final byte 373 FINAL_QUOTE_PUNCTUATION = 30; 374 375 378 static final int ERROR = 0xFFFFFFFF; 379 380 381 386 public static final byte DIRECTIONALITY_UNDEFINED = -1; 387 388 392 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; 393 394 398 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; 399 400 404 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; 405 406 410 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3; 411 412 416 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; 417 418 422 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; 423 424 428 public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6; 429 430 434 public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; 435 436 440 public static final byte DIRECTIONALITY_NONSPACING_MARK = 8; 441 442 446 public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; 447 448 452 public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; 453 454 458 public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; 459 460 464 public static final byte DIRECTIONALITY_WHITESPACE = 12; 465 466 470 public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13; 471 472 476 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; 477 478 482 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; 483 484 488 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; 489 490 494 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; 495 496 500 public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; 501 502 509 public static final char MIN_HIGH_SURROGATE = '\uD800'; 510 511 518 public static final char MAX_HIGH_SURROGATE = '\uDBFF'; 519 520 527 public static final char MIN_LOW_SURROGATE = '\uDC00'; 528 529 536 public static final char MAX_LOW_SURROGATE = '\uDFFF'; 537 538 543 public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE; 544 545 550 public static final char MAX_SURROGATE = MAX_LOW_SURROGATE; 551 552 557 public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x010000; 558 559 564 public static final int MIN_CODE_POINT = 0x000000; 565 566 571 public static final int MAX_CODE_POINT = 0x10ffff; 572 573 574 583 public static class Subset { 584 585 private String name; 586 587 593 protected Subset(String name) { 594 if (name == null) { 595 throw new NullPointerException ("name"); 596 } 597 this.name = name; 598 } 599 600 607 public final boolean equals(Object obj) { 608 return (this == obj); 609 } 610 611 618 public final int hashCode() { 619 return super.hashCode(); 620 } 621 622 625 public final String toString() { 626 return name; 627 } 628 } 629 630 638 public static final class UnicodeBlock extends Subset { 639 640 private static Map map = new HashMap (); 641 642 646 private UnicodeBlock(String idName) { 647 super(idName); 648 map.put(idName.toUpperCase(Locale.US), this); 649 } 650 651 655 private UnicodeBlock(String idName, String alias) { 656 this(idName); 657 map.put(alias.toUpperCase(Locale.US), this); 658 } 659 660 664 private UnicodeBlock(String idName, String [] aliasName) { 665 this(idName); 666 if (aliasName != null) { 667 for(int x=0; x<aliasName.length; ++x) { 668 map.put(aliasName[x].toUpperCase(Locale.US), this); 669 } 670 } 671 } 672 673 677 public static final UnicodeBlock BASIC_LATIN = 678 new UnicodeBlock("BASIC_LATIN", new String [] {"Basic Latin", "BasicLatin" }); 679 680 684 public static final UnicodeBlock LATIN_1_SUPPLEMENT = 685 new UnicodeBlock("LATIN_1_SUPPLEMENT", new String []{ "Latin-1 Supplement", "Latin-1Supplement"}); 686 687 691 public static final UnicodeBlock LATIN_EXTENDED_A = 692 new UnicodeBlock("LATIN_EXTENDED_A", new String []{ "Latin Extended-A", "LatinExtended-A"}); 693 694 698 public static final UnicodeBlock LATIN_EXTENDED_B = 699 new UnicodeBlock("LATIN_EXTENDED_B", new String [] {"Latin Extended-B", "LatinExtended-B"}); 700 701 705 public static final UnicodeBlock IPA_EXTENSIONS = 706 new UnicodeBlock("IPA_EXTENSIONS", new String [] {"IPA Extensions", "IPAExtensions"}); 707 708 712 public static final UnicodeBlock SPACING_MODIFIER_LETTERS = 713 new UnicodeBlock("SPACING_MODIFIER_LETTERS", new String [] { "Spacing Modifier Letters", 714 "SpacingModifierLetters"}); 715 716 720 public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS = 721 new UnicodeBlock("COMBINING_DIACRITICAL_MARKS", new String [] {"Combining Diacritical Marks", 722 "CombiningDiacriticalMarks" }); 723 724 731 public static final UnicodeBlock GREEK 732 = new UnicodeBlock("GREEK", new String [] {"Greek and Coptic", "GreekandCoptic"}); 733 734 738 public static final UnicodeBlock CYRILLIC = 739 new UnicodeBlock("CYRILLIC"); 740 741 745 public static final UnicodeBlock ARMENIAN = 746 new UnicodeBlock("ARMENIAN"); 747 748 752 public static final UnicodeBlock HEBREW = 753 new UnicodeBlock("HEBREW"); 754 755 759 public static final UnicodeBlock ARABIC = 760 new UnicodeBlock("ARABIC"); 761 762 766 public static final UnicodeBlock DEVANAGARI = 767 new UnicodeBlock("DEVANAGARI"); 768 769 773 public static final UnicodeBlock BENGALI = 774 new UnicodeBlock("BENGALI"); 775 776 780 public static final UnicodeBlock GURMUKHI = 781 new UnicodeBlock("GURMUKHI"); 782 783 787 public static final UnicodeBlock GUJARATI = 788 new UnicodeBlock("GUJARATI"); 789 790 794 public static final UnicodeBlock ORIYA = 795 new UnicodeBlock("ORIYA"); 796 797 801 public static final UnicodeBlock TAMIL = 802 new UnicodeBlock("TAMIL"); 803 804 808 public static final UnicodeBlock TELUGU = 809 new UnicodeBlock("TELUGU"); 810 811 815 public static final UnicodeBlock KANNADA = 816 new UnicodeBlock("KANNADA"); 817 818 822 public static final UnicodeBlock MALAYALAM = 823 new UnicodeBlock("MALAYALAM"); 824 825 829 public static final UnicodeBlock THAI = 830 new UnicodeBlock("THAI"); 831 832 836 public static final UnicodeBlock LAO = 837 new UnicodeBlock("LAO"); 838 839 843 public static final UnicodeBlock TIBETAN = 844 new UnicodeBlock("TIBETAN"); 845 846 850 public static final UnicodeBlock GEORGIAN = 851 new UnicodeBlock("GEORGIAN"); 852 853 857 public static final UnicodeBlock HANGUL_JAMO = 858 new UnicodeBlock("HANGUL_JAMO", new String [] {"Hangul Jamo", "HangulJamo"}); 859 860 864 public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL = 865 new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL", new String [] {"Latin Extended Additional", 866 "LatinExtendedAdditional"}); 867 868 872 public static final UnicodeBlock GREEK_EXTENDED = 873 new UnicodeBlock("GREEK_EXTENDED", new String [] {"Greek Extended", "GreekExtended"}); 874 875 879 public static final UnicodeBlock GENERAL_PUNCTUATION = 880 new UnicodeBlock("GENERAL_PUNCTUATION", new String [] {"General Punctuation", "GeneralPunctuation"}); 881 882 886 public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS = 887 new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS", new String [] {"Superscripts and Subscripts", 888 "SuperscriptsandSubscripts" }); 889 890 894 public static final UnicodeBlock CURRENCY_SYMBOLS = 895 new UnicodeBlock("CURRENCY_SYMBOLS", new String [] { "Currency Symbols", "CurrencySymbols"}); 896 897 903 public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS = 904 new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS", new String [] {"Combining Diacritical Marks for Symbols", 905 "CombiningDiacriticalMarksforSymbols", 906 "Combining Marks for Symbols", 907 "CombiningMarksforSymbols" }); 908 909 913 public static final UnicodeBlock LETTERLIKE_SYMBOLS = 914 new UnicodeBlock("LETTERLIKE_SYMBOLS", new String [] { "Letterlike Symbols", "LetterlikeSymbols"}); 915 916 920 public static final UnicodeBlock NUMBER_FORMS = 921 new UnicodeBlock("NUMBER_FORMS", new String [] {"Number Forms", "NumberForms"}); 922 923 927 public static final UnicodeBlock ARROWS = 928 new UnicodeBlock("ARROWS"); 929 930 934 public static final UnicodeBlock MATHEMATICAL_OPERATORS = 935 new UnicodeBlock("MATHEMATICAL_OPERATORS", new String [] {"Mathematical Operators", 936 "MathematicalOperators"}); 937 938 942 &n
|