- /*
- * @(#)Character.java 1.30 04/06/28
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
- package java.lang;
- import java.util.Map;
- import java.util.HashMap;
- import java.util.Locale;
- /**
- * The <code>Character</code> class wraps a value of the primitive
- * type <code>char</code> in an object. An object of type
- * <code>Character</code> contains a single field whose type is
- * <code>char</code>.
- * <p>
- * In addition, this class provides several methods for determining
- * a character's category (lowercase letter, digit, etc.) and for converting
- * characters from uppercase to lowercase and vice versa.
- * <p>
- * Character information is based on the Unicode Standard, version 4.0.
- * <p>
- * The methods and data of class <code>Character</code> are defined by
- * the information in the <i>UnicodeData</i> file that is part of the
- * Unicode Character Database maintained by the Unicode
- * Consortium. This file specifies various properties including name
- * and general category for every defined Unicode code point or
- * character range.
- * <p>
- * The file and its description are available from the Unicode Consortium at:
- * <ul>
- * <li><a href="http://www.unicode.org">http://www.unicode.org</a>
- * </ul>
- *
- * <h4><a name="unicode">Unicode Character Representations</a></h4>
- *
- * <p>The <code>char</code> data type (and therefore the value that a
- * <code>Character</code> object encapsulates) are based on the
- * original Unicode specification, which defined characters as
- * fixed-width 16-bit entities. The Unicode standard has since been
- * changed to allow for characters whose representation requires more
- * than 16 bits. The range of legal <em>code point</em>s is now
- * U+0000 to U+10FFFF, known as <em>Unicode scalar value</em>.
- * (Refer to the <a
- * href="http://www.unicode.org/reports/tr27/#notation"><i>
- * definition</i></a> of the U+<i>n</i> notation in the Unicode
- * standard.)
- *
- * <p>The set of characters from U+0000 to U+FFFF is sometimes
- * referred to as the <em>Basic Multilingual Plane (BMP)</em>. <a
- * name="supplementary">Characters</a> whose code points are greater
- * than U+FFFF are called <em>supplementary character</em>s. The Java
- * 2 platform uses the UTF-16 representation in <code>char</code>
- * arrays and in the <code>String</code> and <code>StringBuffer</code>
- * classes. In this representation, supplementary characters are
- * represented as a pair of <code>char</code> values, the first from
- * the <em>high-surrogates</em> range, (\uD800-\uDBFF), the
- * second from the <em>low-surrogates</em> range
- * (\uDC00-\uDFFF).
- *
- * <p>A <code>char</code> value, therefore, represents Basic
- * Multilingual Plane (BMP) code points, including the surrogate
- * code points, or code units of the UTF-16 encoding. An
- * <code>int</code> value represents all Unicode code points,
- * including supplementary code points. The lower (least significant)
- * 21 bits of <code>int</code> are used to represent Unicode code
- * points and the upper (most significant) 11 bits must be zero.
- * Unless otherwise specified, the behavior with respect to
- * supplementary characters and surrogate <code>char</code> values is
- * as follows:
- *
- * <ul>
- * <li>The methods that only accept a <code>char</code> value cannot support
- * supplementary characters. They treat <code>char</code> values from the
- * surrogate ranges as undefined characters. For example,
- * <code>Character.isLetter('\uD840')</code> returns <code>false</code>, even though
- * this specific value if followed by any low-surrogate value in a string
- * would represent a letter.
- *
- * <li>The methods that accept an <code>int</code> value support all
- * Unicode characters, including supplementary characters. For
- * example, <code>Character.isLetter(0x2F81A)</code> returns
- * <code>true</code> because the code point value represents a letter
- * (a CJK ideograph).
- * </ul>
- *
- * <p>In the J2SE API documentation, <em>Unicode code point</em> is
- * used for character values in the range between U+0000 and U+10FFFF,
- * and <em>Unicode code unit</em> is used for 16-bit
- * <code>char</code> values that are code units of the <em>UTF-16</em>
- * encoding. For more information on Unicode terminology, refer to the
- * <a href="http://www.unicode.org/glossary/">Unicode Glossary</a>.
- *
- * @author Lee Boynton
- * @author Guy Steele
- * @author Akira Tanaka
- * @since 1.0
- */
- public final
- class Character extends Object implements java.io.Serializable, Comparable<Character> {
- /**
- * The minimum radix available for conversion to and from strings.
- * The constant value of this field is the smallest value permitted
- * for the radix argument in radix-conversion methods such as the
- * <code>digit</code> method, the <code>forDigit</code>
- * method, and the <code>toString</code> method of class
- * <code>Integer</code>.
- *
- * @see java.lang.Character#digit(char, int)
- * @see java.lang.Character#forDigit(int, int)
- * @see java.lang.Integer#toString(int, int)
- * @see java.lang.Integer#valueOf(java.lang.String)
- */
- public static final int MIN_RADIX = 2;
- /**
- * The maximum radix available for conversion to and from strings.
- * The constant value of this field is the largest value permitted
- * for the radix argument in radix-conversion methods such as the
- * <code>digit</code> method, the <code>forDigit</code>
- * method, and the <code>toString</code> method of class
- * <code>Integer</code>.
- *
- * @see java.lang.Character#digit(char, int)
- * @see java.lang.Character#forDigit(int, int)
- * @see java.lang.Integer#toString(int, int)
- * @see java.lang.Integer#valueOf(java.lang.String)
- */
- public static final int MAX_RADIX = 36;
- /**
- * The constant value of this field is the smallest value of type
- * <code>char</code>, <code>'\u0000'</code>.
- *
- * @since 1.0.2
- */
- public static final char MIN_VALUE = '\u0000';
- /**
- * The constant value of this field is the largest value of type
- * <code>char</code>, <code>'\uFFFF'</code>.
- *
- * @since 1.0.2
- */
- public static final char MAX_VALUE = '\uffff';
- /**
- * The <code>Class</code> instance representing the primitive type
- * <code>char</code>.
- *
- * @since 1.1
- */
- public static final Class<Character> TYPE = Class.getPrimitiveClass("char");
- /*
- * Normative general types
- */
- /*
- * General character types
- */
- /**
- * General category "Cn" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- UNASSIGNED = 0;
- /**
- * General category "Lu" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- UPPERCASE_LETTER = 1;
- /**
- * General category "Ll" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- LOWERCASE_LETTER = 2;
- /**
- * General category "Lt" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- TITLECASE_LETTER = 3;
- /**
- * General category "Lm" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- MODIFIER_LETTER = 4;
- /**
- * General category "Lo" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- OTHER_LETTER = 5;
- /**
- * General category "Mn" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- NON_SPACING_MARK = 6;
- /**
- * General category "Me" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- ENCLOSING_MARK = 7;
- /**
- * General category "Mc" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- COMBINING_SPACING_MARK = 8;
- /**
- * General category "Nd" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- DECIMAL_DIGIT_NUMBER = 9;
- /**
- * General category "Nl" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- LETTER_NUMBER = 10;
- /**
- * General category "No" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- OTHER_NUMBER = 11;
- /**
- * General category "Zs" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- SPACE_SEPARATOR = 12;
- /**
- * General category "Zl" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- LINE_SEPARATOR = 13;
- /**
- * General category "Zp" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- PARAGRAPH_SEPARATOR = 14;
- /**
- * General category "Cc" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- CONTROL = 15;
- /**
- * General category "Cf" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- FORMAT = 16;
- /**
- * General category "Co" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- PRIVATE_USE = 18;
- /**
- * General category "Cs" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- SURROGATE = 19;
- /**
- * General category "Pd" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- DASH_PUNCTUATION = 20;
- /**
- * General category "Ps" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- START_PUNCTUATION = 21;
- /**
- * General category "Pe" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- END_PUNCTUATION = 22;
- /**
- * General category "Pc" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- CONNECTOR_PUNCTUATION = 23;
- /**
- * General category "Po" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- OTHER_PUNCTUATION = 24;
- /**
- * General category "Sm" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- MATH_SYMBOL = 25;
- /**
- * General category "Sc" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- CURRENCY_SYMBOL = 26;
- /**
- * General category "Sk" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- MODIFIER_SYMBOL = 27;
- /**
- * General category "So" in the Unicode specification.
- * @since 1.1
- */
- public static final byte
- OTHER_SYMBOL = 28;
- /**
- * General category "Pi" in the Unicode specification.
- * @since 1.4
- */
- public static final byte
- INITIAL_QUOTE_PUNCTUATION = 29;
- /**
- * General category "Pf" in the Unicode specification.
- * @since 1.4
- */
- public static final byte
- FINAL_QUOTE_PUNCTUATION = 30;
- /**
- * Error or non-char flag
- * @since 1.4
- */
- static final char CHAR_ERROR = '\uFFFF';
- /**
- * Undefined bidirectional character type. Undefined <code>char</code>
- * values have undefined directionality in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_UNDEFINED = -1;
- /**
- * Strong bidirectional character type "L" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0;
- /**
- * Strong bidirectional character type "R" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1;
- /**
- * Strong bidirectional character type "AL" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2;
- /**
- * Weak bidirectional character type "EN" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3;
- /**
- * Weak bidirectional character type "ES" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4;
- /**
- * Weak bidirectional character type "ET" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5;
- /**
- * Weak bidirectional character type "AN" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6;
- /**
- * Weak bidirectional character type "CS" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7;
- /**
- * Weak bidirectional character type "NSM" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_NONSPACING_MARK = 8;
- /**
- * Weak bidirectional character type "BN" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9;
- /**
- * Neutral bidirectional character type "B" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10;
- /**
- * Neutral bidirectional character type "S" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11;
- /**
- * Neutral bidirectional character type "WS" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_WHITESPACE = 12;
- /**
- * Neutral bidirectional character type "ON" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13;
- /**
- * Strong bidirectional character type "LRE" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14;
- /**
- * Strong bidirectional character type "LRO" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15;
- /**
- * Strong bidirectional character type "RLE" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16;
- /**
- * Strong bidirectional character type "RLO" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17;
- /**
- * Weak bidirectional character type "PDF" in the Unicode specification.
- * @since 1.4
- */
- public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18;
- /**
- * The minimum value of a Unicode high-surrogate code unit in the
- * UTF-16 encoding. A high-surrogate is also known as a
- * <i>leading-surrogate</i>.
- *
- * @since 1.5
- */
- public static final char MIN_HIGH_SURROGATE = '\uD800';
- /**
- * The maximum value of a Unicode high-surrogate code unit in the
- * UTF-16 encoding. A high-surrogate is also known as a
- * <i>leading-surrogate</i>.
- *
- * @since 1.5
- */
- public static final char MAX_HIGH_SURROGATE = '\uDBFF';
- /**
- * The minimum value of a Unicode low-surrogate code unit in the
- * UTF-16 encoding. A low-surrogate is also known as a
- * <i>trailing-surrogate</i>.
- *
- * @since 1.5
- */
- public static final char MIN_LOW_SURROGATE = '\uDC00';
- /**
- * The maximum value of a Unicode low-surrogate code unit in the
- * UTF-16 encoding. A low-surrogate is also known as a
- * <i>trailing-surrogate</i>.
- *
- * @since 1.5
- */
- public static final char MAX_LOW_SURROGATE = '\uDFFF';
- /**
- * The minimum value of a Unicode surrogate code unit in the UTF-16 encoding.
- *
- * @since 1.5
- */
- public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE;
- /**
- * The maximum value of a Unicode surrogate code unit in the UTF-16 encoding.
- *
- * @since 1.5
- */
- public static final char MAX_SURROGATE = MAX_LOW_SURROGATE;
- /**
- * The minimum value of a supplementary code point.
- *
- * @since 1.5
- */
- public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x010000;
- /**
- * The minimum value of a Unicode code point.
- *
- * @since 1.5
- */
- public static final int MIN_CODE_POINT = 0x000000;
- /**
- * The maximum value of a Unicode code point.
- *
- * @since 1.5
- */
- public static final int MAX_CODE_POINT = 0x10ffff;
- /**
- * Instances of this class represent particular subsets of the Unicode
- * character set. The only family of subsets defined in the
- * <code>Character</code> class is <code>{@link Character.UnicodeBlock
- * UnicodeBlock}</code>. Other portions of the Java API may define other
- * subsets for their own purposes.
- *
- * @since 1.2
- */
- public static class Subset {
- private String name;
- /**
- * Constructs a new <code>Subset</code> instance.
- *
- * @exception NullPointerException if name is <code>null</code>
- * @param name The name of this subset
- */
- protected Subset(String name) {
- if (name == null) {
- throw new NullPointerException("name");
- }
- this.name = name;
- }
- /**
- * Compares two <code>Subset</code> objects for equality.
- * This method returns <code>true</code> if and only if
- * <code>this</code> and the argument refer to the same
- * object; since this method is <code>final</code>, this
- * guarantee holds for all subclasses.
- */
- public final boolean equals(Object obj) {
- return (this == obj);
- }
- /**
- * Returns the standard hash code as defined by the
- * <code>{@link Object#hashCode}</code> method. This method
- * is <code>final</code> in order to ensure that the
- * <code>equals</code> and <code>hashCode</code> methods will
- * be consistent in all subclasses.
- */
- public final int hashCode() {
- return super.hashCode();
- }
- /**
- * Returns the name of this subset.
- */
- public final String toString() {
- return name;
- }
- }
- /**
- * A family of character subsets representing the character blocks in the
- * Unicode specification. Character blocks generally define characters
- * used for a specific script or purpose. A character is contained by
- * at most one Unicode block.
- *
- * @since 1.2
- */
- public static final class UnicodeBlock extends Subset {
- private static Map map = new HashMap();
- /**
- * Create a UnicodeBlock with the given identifier name.
- * This name must be the same as the block identifier.
- */
- private UnicodeBlock(String idName) {
- super(idName);
- map.put(idName.toUpperCase(Locale.US), this);
- }
- /**
- * Create a UnicodeBlock with the given identifier name and
- * alias name.
- */
- private UnicodeBlock(String idName, String alias) {
- this(idName);
- map.put(alias.toUpperCase(Locale.US), this);
- }
- /**
- * Create a UnicodeBlock with the given identifier name and
- * alias names.
- */
- private UnicodeBlock(String idName, String[] aliasName) {
- this(idName);
- if (aliasName != null) {
- for(int x=0; x<aliasName.length; ++x) {
- map.put(aliasName[x].toUpperCase(Locale.US), this);
- }
- }
- }
- /**
- * Constant for the "Basic Latin" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock BASIC_LATIN =
- new UnicodeBlock("BASIC_LATIN", new String[] {"Basic Latin", "BasicLatin" });
- /**
- * Constant for the "Latin-1 Supplement" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LATIN_1_SUPPLEMENT =
- new UnicodeBlock("LATIN_1_SUPPLEMENT", new String[]{ "Latin-1 Supplement", "Latin-1Supplement"});
- /**
- * Constant for the "Latin Extended-A" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LATIN_EXTENDED_A =
- new UnicodeBlock("LATIN_EXTENDED_A", new String[]{ "Latin Extended-A", "LatinExtended-A"});
- /**
- * Constant for the "Latin Extended-B" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LATIN_EXTENDED_B =
- new UnicodeBlock("LATIN_EXTENDED_B", new String[] {"Latin Extended-B", "LatinExtended-B"});
- /**
- * Constant for the "IPA Extensions" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock IPA_EXTENSIONS =
- new UnicodeBlock("IPA_EXTENSIONS", new String[] {"IPA Extensions", "IPAExtensions"});
- /**
- * Constant for the "Spacing Modifier Letters" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock SPACING_MODIFIER_LETTERS =
- new UnicodeBlock("SPACING_MODIFIER_LETTERS", new String[] { "Spacing Modifier Letters",
- "SpacingModifierLetters"});
- /**
- * Constant for the "Combining Diacritical Marks" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS =
- new UnicodeBlock("COMBINING_DIACRITICAL_MARKS", new String[] {"Combining Diacritical Marks",
- "CombiningDiacriticalMarks" });
- /**
- * Constant for the "Greek and Coptic" Unicode character block.
- * <p>
- * This block was previously known as the "Greek" block.
- *
- * @since 1.2
- */
- public static final UnicodeBlock GREEK
- = new UnicodeBlock("GREEK", new String[] {"Greek and Coptic", "GreekandCoptic"});
- /**
- * Constant for the "Cyrillic" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CYRILLIC =
- new UnicodeBlock("CYRILLIC");
- /**
- * Constant for the "Armenian" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ARMENIAN =
- new UnicodeBlock("ARMENIAN");
- /**
- * Constant for the "Hebrew" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HEBREW =
- new UnicodeBlock("HEBREW");
- /**
- * Constant for the "Arabic" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ARABIC =
- new UnicodeBlock("ARABIC");
- /**
- * Constant for the "Devanagari" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock DEVANAGARI =
- new UnicodeBlock("DEVANAGARI");
- /**
- * Constant for the "Bengali" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock BENGALI =
- new UnicodeBlock("BENGALI");
- /**
- * Constant for the "Gurmukhi" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GURMUKHI =
- new UnicodeBlock("GURMUKHI");
- /**
- * Constant for the "Gujarati" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GUJARATI =
- new UnicodeBlock("GUJARATI");
- /**
- * Constant for the "Oriya" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ORIYA =
- new UnicodeBlock("ORIYA");
- /**
- * Constant for the "Tamil" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock TAMIL =
- new UnicodeBlock("TAMIL");
- /**
- * Constant for the "Telugu" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock TELUGU =
- new UnicodeBlock("TELUGU");
- /**
- * Constant for the "Kannada" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock KANNADA =
- new UnicodeBlock("KANNADA");
- /**
- * Constant for the "Malayalam" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock MALAYALAM =
- new UnicodeBlock("MALAYALAM");
- /**
- * Constant for the "Thai" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock THAI =
- new UnicodeBlock("THAI");
- /**
- * Constant for the "Lao" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LAO =
- new UnicodeBlock("LAO");
- /**
- * Constant for the "Tibetan" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock TIBETAN =
- new UnicodeBlock("TIBETAN");
- /**
- * Constant for the "Georgian" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GEORGIAN =
- new UnicodeBlock("GEORGIAN");
- /**
- * Constant for the "Hangul Jamo" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HANGUL_JAMO =
- new UnicodeBlock("HANGUL_JAMO", new String[] {"Hangul Jamo", "HangulJamo"});
- /**
- * Constant for the "Latin Extended Additional" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL =
- new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL", new String[] {"Latin Extended Additional",
- "LatinExtendedAdditional"});
- /**
- * Constant for the "Greek Extended" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GREEK_EXTENDED =
- new UnicodeBlock("GREEK_EXTENDED", new String[] {"Greek Extended", "GreekExtended"});
- /**
- * Constant for the "General Punctuation" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GENERAL_PUNCTUATION =
- new UnicodeBlock("GENERAL_PUNCTUATION", new String[] {"General Punctuation", "GeneralPunctuation"});
- /**
- * Constant for the "Superscripts and Subscripts" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS =
- new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS", new String[] {"Superscripts and Subscripts",
- "SuperscriptsandSubscripts" });
- /**
- * Constant for the "Currency Symbols" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CURRENCY_SYMBOLS =
- new UnicodeBlock("CURRENCY_SYMBOLS", new String[] { "Currency Symbols", "CurrencySymbols"});
- /**
- * Constant for the "Combining Diacritical Marks for Symbols" Unicode character block.
- * <p>
- * This block was previously known as "Combining Marks for Symbols".
- * @since 1.2
- */
- public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS =
- new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS", new String[] {"Combining Diacritical Marks for Symbols",
- "CombiningDiacriticalMarksforSymbols",
- "Combining Marks for Symbols",
- "CombiningMarksforSymbols" });
- /**
- * Constant for the "Letterlike Symbols" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock LETTERLIKE_SYMBOLS =
- new UnicodeBlock("LETTERLIKE_SYMBOLS", new String[] { "Letterlike Symbols", "LetterlikeSymbols"});
- /**
- * Constant for the "Number Forms" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock NUMBER_FORMS =
- new UnicodeBlock("NUMBER_FORMS", new String[] {"Number Forms", "NumberForms"});
- /**
- * Constant for the "Arrows" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ARROWS =
- new UnicodeBlock("ARROWS");
- /**
- * Constant for the "Mathematical Operators" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock MATHEMATICAL_OPERATORS =
- new UnicodeBlock("MATHEMATICAL_OPERATORS", new String[] {"Mathematical Operators",
- "MathematicalOperators"});
- /**
- * Constant for the "Miscellaneous Technical" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock MISCELLANEOUS_TECHNICAL =
- new UnicodeBlock("MISCELLANEOUS_TECHNICAL", new String[] {"Miscellaneous Technical",
- "MiscellaneousTechnical"});
- /**
- * Constant for the "Control Pictures" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CONTROL_PICTURES =
- new UnicodeBlock("CONTROL_PICTURES", new String[] {"Control Pictures", "ControlPictures"});
- /**
- * Constant for the "Optical Character Recognition" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock OPTICAL_CHARACTER_RECOGNITION =
- new UnicodeBlock("OPTICAL_CHARACTER_RECOGNITION", new String[] {"Optical Character Recognition",
- "OpticalCharacterRecognition"});
- /**
- * Constant for the "Enclosed Alphanumerics" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ENCLOSED_ALPHANUMERICS =
- new UnicodeBlock("ENCLOSED_ALPHANUMERICS", new String[] {"Enclosed Alphanumerics",
- "EnclosedAlphanumerics"});
- /**
- * Constant for the "Box Drawing" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock BOX_DRAWING =
- new UnicodeBlock("BOX_DRAWING", new String[] {"Box Drawing", "BoxDrawing"});
- /**
- * Constant for the "Block Elements" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock BLOCK_ELEMENTS =
- new UnicodeBlock("BLOCK_ELEMENTS", new String[] {"Block Elements", "BlockElements"});
- /**
- * Constant for the "Geometric Shapes" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock GEOMETRIC_SHAPES =
- new UnicodeBlock("GEOMETRIC_SHAPES", new String[] {"Geometric Shapes", "GeometricShapes"});
- /**
- * Constant for the "Miscellaneous Symbols" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock MISCELLANEOUS_SYMBOLS =
- new UnicodeBlock("MISCELLANEOUS_SYMBOLS", new String[] {"Miscellaneous Symbols",
- "MiscellaneousSymbols"});
- /**
- * Constant for the "Dingbats" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock DINGBATS =
- new UnicodeBlock("DINGBATS");
- /**
- * Constant for the "CJK Symbols and Punctuation" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION =
- new UnicodeBlock("CJK_SYMBOLS_AND_PUNCTUATION", new String[] {"CJK Symbols and Punctuation",
- "CJKSymbolsandPunctuation"});
- /**
- * Constant for the "Hiragana" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HIRAGANA =
- new UnicodeBlock("HIRAGANA");
- /**
- * Constant for the "Katakana" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock KATAKANA =
- new UnicodeBlock("KATAKANA");
- /**
- * Constant for the "Bopomofo" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock BOPOMOFO =
- new UnicodeBlock("BOPOMOFO");
- /**
- * Constant for the "Hangul Compatibility Jamo" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HANGUL_COMPATIBILITY_JAMO =
- new UnicodeBlock("HANGUL_COMPATIBILITY_JAMO", new String[] {"Hangul Compatibility Jamo",
- "HangulCompatibilityJamo"});
- /**
- * Constant for the "Kanbun" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock KANBUN =
- new UnicodeBlock("KANBUN");
- /**
- * Constant for the "Enclosed CJK Letters and Months" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS =
- new UnicodeBlock("ENCLOSED_CJK_LETTERS_AND_MONTHS", new String[] {"Enclosed CJK Letters and Months",
- "EnclosedCJKLettersandMonths"});
- /**
- * Constant for the "CJK Compatibility" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CJK_COMPATIBILITY =
- new UnicodeBlock("CJK_COMPATIBILITY", new String[] {"CJK Compatibility", "CJKCompatibility"});
- /**
- * Constant for the "CJK Unified Ideographs" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS =
- new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS", new String[] {"CJK Unified Ideographs",
- "CJKUnifiedIdeographs"});
- /**
- * Constant for the "Hangul Syllables" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HANGUL_SYLLABLES =
- new UnicodeBlock("HANGUL_SYLLABLES", new String[] {"Hangul Syllables", "HangulSyllables"});
- /**
- * Constant for the "Private Use Area" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock PRIVATE_USE_AREA =
- new UnicodeBlock("PRIVATE_USE_AREA", new String[] {"Private Use Area", "PrivateUseArea"});
- /**
- * Constant for the "CJK Compatibility Ideographs" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS =
- new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS",
- new String[] {"CJK Compatibility Ideographs",
- "CJKCompatibilityIdeographs"});
- /**
- * Constant for the "Alphabetic Presentation Forms" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ALPHABETIC_PRESENTATION_FORMS =
- new UnicodeBlock("ALPHABETIC_PRESENTATION_FORMS", new String[] {"Alphabetic Presentation Forms",
- "AlphabeticPresentationForms"});
- /**
- * Constant for the "Arabic Presentation Forms-A" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_A =
- new UnicodeBlock("ARABIC_PRESENTATION_FORMS_A", new String[] {"Arabic Presentation Forms-A",
- "ArabicPresentationForms-A"});
- /**
- * Constant for the "Combining Half Marks" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock COMBINING_HALF_MARKS =
- new UnicodeBlock("COMBINING_HALF_MARKS", new String[] {"Combining Half Marks",
- "CombiningHalfMarks"});
- /**
- * Constant for the "CJK Compatibility Forms" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock CJK_COMPATIBILITY_FORMS =
- new UnicodeBlock("CJK_COMPATIBILITY_FORMS", new String[] {"CJK Compatibility Forms",
- "CJKCompatibilityForms"});
- /**
- * Constant for the "Small Form Variants" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock SMALL_FORM_VARIANTS =
- new UnicodeBlock("SMALL_FORM_VARIANTS", new String[] {"Small Form Variants",
- "SmallFormVariants"});
- /**
- * Constant for the "Arabic Presentation Forms-B" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_B =
- new UnicodeBlock("ARABIC_PRESENTATION_FORMS_B", new String[] {"Arabic Presentation Forms-B",
- "ArabicPresentationForms-B"});
- /**
- * Constant for the "Halfwidth and Fullwidth Forms" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS =
- new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS",
- new String[] {"Halfwidth and Fullwidth Forms",
- "HalfwidthandFullwidthForms"});
- /**
- * Constant for the "Specials" Unicode character block.
- * @since 1.2
- */
- public static final UnicodeBlock SPECIALS =
- new UnicodeBlock("SPECIALS");
- /**
- * @deprecated As of J2SE 5, use {@link #HIGH_SURROGATES},
- * {@link #HIGH_PRIVATE_USE_SURROGATES}, and
- * {@link #LOW_SURROGATES}. These new constants match
- * the block definitions of the Unicode Standard.
- * The {@link #of(char)} and {@link #of(int)} methods
- * return the new constants, not SURROGATES_AREA.
- */
- @Deprecated
- public static final UnicodeBlock SURROGATES_AREA =
- new UnicodeBlock("SURROGATES_AREA");
- /**
- * Constant for the "Syriac" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock SYRIAC =
- new UnicodeBlock("SYRIAC");
- /**
- * Constant for the "Thaana" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock THAANA =
- new UnicodeBlock("THAANA");
- /**
- * Constant for the "Sinhala" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock SINHALA =
- new UnicodeBlock("SINHALA");
- /**
- * Constant for the "Myanmar" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock MYANMAR =
- new UnicodeBlock("MYANMAR");
- /**
- * Constant for the "Ethiopic" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock ETHIOPIC =
- new UnicodeBlock("ETHIOPIC");
- /**
- * Constant for the "Cherokee" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock CHEROKEE =
- new UnicodeBlock("CHEROKEE");
- /**
- * Constant for the "Unified Canadian Aboriginal Syllabics" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =
- new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS",
- new String[] {"Unified Canadian Aboriginal Syllabics",
- "UnifiedCanadianAboriginalSyllabics"});
- /**
- * Constant for the "Ogham" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock OGHAM =
- new UnicodeBlock("OGHAM");
- /**
- * Constant for the "Runic" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock RUNIC =
- new UnicodeBlock("RUNIC");
- /**
- * Constant for the "Khmer" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock KHMER =
- new UnicodeBlock("KHMER");
- /**
- * Constant for the "Mongolian" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock MONGOLIAN =
- new UnicodeBlock("MONGOLIAN");
- /**
- * Constant for the "Braille Patterns" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock BRAILLE_PATTERNS =
- new UnicodeBlock("BRAILLE_PATTERNS", new String[] {"Braille Patterns",
- "BraillePatterns"});
- /**
- * Constant for the "CJK Radicals Supplement" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock CJK_RADICALS_SUPPLEMENT =
- new UnicodeBlock("CJK_RADICALS_SUPPLEMENT", new String[] {"CJK Radicals Supplement",
- "CJKRadicalsSupplement"});
- /**
- * Constant for the "Kangxi Radicals" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock KANGXI_RADICALS =
- new UnicodeBlock("KANGXI_RADICALS", new String[] {"Kangxi Radicals", "KangxiRadicals"});
- /**
- * Constant for the "Ideographic Description Characters" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS =
- new UnicodeBlock("IDEOGRAPHIC_DESCRIPTION_CHARACTERS", new String[] {"Ideographic Description Characters",
- "IdeographicDescriptionCharacters"});
- /**
- * Constant for the "Bopomofo Extended" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock BOPOMOFO_EXTENDED =
- new UnicodeBlock("BOPOMOFO_EXTENDED", new String[] {"Bopomofo Extended",
- "BopomofoExtended"});
- /**
- * Constant for the "CJK Unified Ideographs Extension A" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =
- new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A", new String[] {"CJK Unified Ideographs Extension A",
- "CJKUnifiedIdeographsExtensionA"});
- /**
- * Constant for the "Yi Syllables" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock YI_SYLLABLES =
- new UnicodeBlock("YI_SYLLABLES", new String[] {"Yi Syllables", "YiSyllables"});
- /**
- * Constant for the "Yi Radicals" Unicode character block.
- * @since 1.4
- */
- public static final UnicodeBlock YI_RADICALS =
- new UnicodeBlock("YI_RADICALS", new String[] {"Yi Radicals", "YiRadicals"});
- /**
- * Constant for the "Cyrillic Supplementary" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock CYRILLIC_SUPPLEMENTARY =
- new UnicodeBlock("CYRILLIC_SUPPLEMENTARY", new String[] {"Cyrillic Supplementary",
- "CyrillicSupplementary"});
- /**
- * Constant for the "Tagalog" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock TAGALOG =
- new UnicodeBlock("TAGALOG");
- /**
- * Constant for the "Hanunoo" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock HANUNOO =
- new UnicodeBlock("HANUNOO");
- /**
- * Constant for the "Buhid" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock BUHID =
- new UnicodeBlock("BUHID");
- /**
- * Constant for the "Tagbanwa" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock TAGBANWA =
- new UnicodeBlock("TAGBANWA");
- /**
- * Constant for the "Limbu" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock LIMBU =
- new UnicodeBlock("LIMBU");
- /**
- * Constant for the "Tai Le" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock TAI_LE =
- new UnicodeBlock("TAI_LE", new String[] {"Tai Le", "TaiLe"});
- /**
- * Constant for the "Khmer Symbols" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock KHMER_SYMBOLS =
- new UnicodeBlock("KHMER_SYMBOLS", new String[] {"Khmer Symbols", "KhmerSymbols"});
- /**
- * Constant for the "Phonetic Extensions" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock PHONETIC_EXTENSIONS =
- new UnicodeBlock("PHONETIC_EXTENSIONS", new String[] {"Phonetic Extensions", "PhoneticExtensions"});
- /**
- * Constant for the "Miscellaneous Mathematical Symbols-A" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A =
- new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A",
- new String[]{"Miscellaneous Mathematical Symbols-A",
- "MiscellaneousMathematicalSymbols-A"});
- /**
- * Constant for the "Supplemental Arrows-A" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock SUPPLEMENTAL_ARROWS_A =
- new UnicodeBlock("SUPPLEMENTAL_ARROWS_A", new String[] {"Supplemental Arrows-A",
- "SupplementalArrows-A"});
- /**
- * Constant for the "Supplemental Arrows-B" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock SUPPLEMENTAL_ARROWS_B =
- new UnicodeBlock("SUPPLEMENTAL_ARROWS_B", new String[] {"Supplemental Arrows-B",
- "SupplementalArrows-B"});
- /**
- * Constant for the "Miscellaneous Mathematical Symbols-B" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B
- = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B",
- new String[] {"Miscellaneous Mathematical Symbols-B",
- "MiscellaneousMathematicalSymbols-B"});
- /**
- * Constant for the "Supplemental Mathematical Operators" Unicode character block.
- * @since 1.5
- */
- public static final UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS =
- new UnicodeBlock("SUPPLEMENTAL_MATHEMATICAL_OPERATORS",
- new String[]{"Supplemental Mathematical Operators",
- "SupplementalMathematica