UCharacter.java revision 1c8a530973739aafa823d758240d2cd5dad96fe3
12ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* GENERATED SOURCE. DO NOT MODIFY. */ 22ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 32ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 47241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Copyright (C) 1996-2016, International Business Machines Corporation and 52ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * others. All Rights Reserved. 62ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 72ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 82ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 92ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpackage android.icu.lang; 102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.lang.ref.SoftReference; 122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.HashMap; 132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Iterator; 142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Locale; 152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Map; 162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.IllegalIcuArgumentException; 182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.Trie2; 192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UBiDiProps; 202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCaseProps; 212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterName; 222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterNameChoice; 232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterProperty; 242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterUtility; 252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UPropertyAliases; 262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.lang.UCharacterEnums.ECharacterCategory; 272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.lang.UCharacterEnums.ECharacterDirection; 282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.text.BreakIterator; 292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.text.Normalizer2; 302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.RangeValueIterator; 312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.ULocale; 322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.ValueIterator; 332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.VersionInfo; 342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 361537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu enhancement]</strong> ICU's replacement for {@link java.lang.Character}. Methods, fields, and other functionality specific to ICU are labeled '<strong>[icu]</strong>'. 372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The UCharacter class provides extensions to the {@link java.lang.Character} class. 392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * These extensions provide support for more Unicode properties. 402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Each ICU release supports the latest version of Unicode available at that time. 412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For some time before Java 5 added support for supplementary Unicode code points, 432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The ICU UCharacter class and many other ICU classes already supported them. 442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Some UCharacter methods and constants were widened slightly differently than 452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * how the Character class methods and constants were widened later. 462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In particular, {@link Character#MAX_VALUE} is still a char with the value U+FFFF, 472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while the {@link UCharacter#MAX_VALUE} is an int with the value U+10FFFF. 482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Code points are represented in these API using ints. While it would be 502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * more convenient in Java to have a separate primitive datatype for them, 512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ints suffice in the meantime. 522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Aside from the additions for UTF-16 support, and the updated Unicode 542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * properties, the main differences between UCharacter and Character are: 552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UCharacter is not designed to be a char wrapper and does not have 572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * APIs to which involves management of that single char.<br> 582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * These include: 592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> char charValue(), 612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> int compareTo(java.lang.Character, java.lang.Character), etc. 622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UCharacter does not include Character APIs that are deprecated, nor 642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * does it include the Java-specific character information, such as 652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * boolean isJavaIdentifierPart(char ch). 662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Character maps characters 'A' - 'Z' and 'a' - 'z' to the numeric 672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values '10' - '35'. UCharacter also does this in digit and 682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getNumericValue, to adhere to the java semantics of these 692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * methods. New methods unicodeDigit, and 702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getUnicodeNumericValue do not treat the above code points 712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * as having numeric values. This is a semantic change from ICU4J 1.3.1. 722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition to Java compatibility functions, which calculate derived properties, 752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * this API provides low-level access to the Unicode Character Database. 762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode assigns each code point (not just assigned character) values for 782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * many properties. 792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Most of them are simple boolean flags, or constants from a small enumerated list. 802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For some properties, values are strings or other relatively more complex types. 812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information see 832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href="http://www.unicode/org/ucd/">"About the Unicode Character Database"</a> 842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.unicode.org/ucd/) 852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and the <a href="http://www.icu-project.org/userguide/properties.html">ICU 862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * User Guide chapter on Properties</a> 872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.icu-project.org/userguide/properties.html). 882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * There are also functions that provide easy migration from C/POSIX functions 902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * like isblank(). Their use is generally discouraged because the C/POSIX 912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * standards do not define their semantics beyond the ASCII range, which means 922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that different implementations exhibit very different behavior. 932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Instead, Unicode properties should be used directly. 942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * There are also only a few, broad C/POSIX character classes, and they tend 962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to be used for conflicting purposes. For example, the "isalpha()" class 972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is sometimes used to determine word boundaries, while a more sophisticated 982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * approach would at least distinguish initial letters from continuation 992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters (the latter including combining marks). 1002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (In ICU, BreakIterator is the most sophisticated API for word boundaries.) 1012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Another example: There is no "istitle()" class for titlecase characters. 1022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ICU 3.4 and later provides API access for all twelve C/POSIX character classes. 1042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ICU implements them according to the Standard Recommendations in 1052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions 1062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.unicode.org/reports/tr18/#Compatibility_Properties). 1072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * API access for C/POSIX character classes is as follows: 1092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre>{@code 1102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - alpha: isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC) 1112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - lower: isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE) 1122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - upper: isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE) 1136bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * - punct: ((1<<getType(c)) & ((1<<DASH_PUNCTUATION)|(1<<START_PUNCTUATION)| 1146bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * (1<<END_PUNCTUATION)|(1<<CONNECTOR_PUNCTUATION)|(1<<OTHER_PUNCTUATION)| 1156bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * (1<<INITIAL_PUNCTUATION)|(1<<FINAL_PUNCTUATION)))!=0 1162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - digit: isDigit(c) or getType(c)==DECIMAL_DIGIT_NUMBER 1172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - xdigit: hasBinaryProperty(c, UProperty.POSIX_XDIGIT) 1182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - alnum: hasBinaryProperty(c, UProperty.POSIX_ALNUM) 1192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - space: isUWhiteSpace(c) or hasBinaryProperty(c, UProperty.WHITE_SPACE) 1202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - blank: hasBinaryProperty(c, UProperty.POSIX_BLANK) 1212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - cntrl: getType(c)==CONTROL 1222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH) 1232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - print: hasBinaryProperty(c, UProperty.POSIX_PRINT)}</pre> 1242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The C/POSIX character classes are also available in UnicodeSet patterns, 1262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * using patterns like [:graph:] or \p{graph}. 1272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1281c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * <p><strong>[icu] Note:</strong> There are several ICU (and Java) whitespace functions. 1292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Comparison:<ul> 1302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property; 1312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * most of general categories "Z" (separators) + most whitespace ISO controls 1322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (including no-break spaces, but excluding IS1..IS4 and ZWSP) 1332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces 1342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isSpaceChar: just Z (including no-break spaces)</ul> 1351c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * 1362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This class is not subclassable. 1381c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * 1392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @author Syn Wee Quek 1402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see android.icu.lang.UCharacterEnums 1412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpublic final class UCharacter implements ECharacterCategory, ECharacterDirection 1442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller{ 1452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public inner classes ---------------------------------------------- 1462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1481537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu enhancement]</strong> ICU's replacement for {@link java.lang.Character.UnicodeBlock}. Methods, fields, and other functionality specific to ICU are labeled '<strong>[icu]</strong>'. 1492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A family of character subsets representing the character blocks in the 1512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode specification, generated from Unicode Data file Blocks.txt. 1522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Character blocks generally define characters used for a specific script 1532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or purpose. A character is contained by at most one Unicode block. 1542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1551537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> All fields named XXX_ID are specific to ICU. 1562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final class UnicodeBlock extends Character.Subset 1582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 1592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // block id corresponding to icu4c ----------------------------------- 1602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INVALID_CODE_ID = -1; 1642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BASIC_LATIN_ID = 1; 1672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_1_SUPPLEMENT_ID = 2; 1702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_A_ID = 3; 1732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_B_ID = 4; 1762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IPA_EXTENSIONS_ID = 5; 1792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACING_MODIFIER_LETTERS_ID = 6; 1822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_ID = 7; 1852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Greek and Coptic". 1872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GREEK_ID = 8; 1892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_ID = 9; 1922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARMENIAN_ID = 10; 1952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_ID = 11; 1982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_ID = 12; 2012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYRIAC_ID = 13; 2042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int THAANA_ID = 14; 2072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DEVANAGARI_ID = 15; 2102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BENGALI_ID = 16; 2132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GURMUKHI_ID = 17; 2162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GUJARATI_ID = 18; 2192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ORIYA_ID = 19; 2222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAMIL_ID = 20; 2252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TELUGU_ID = 21; 2282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANNADA_ID = 22; 2312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MALAYALAM_ID = 23; 2342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINHALA_ID = 24; 2372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int THAI_ID = 25; 2402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAO_ID = 26; 2432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIBETAN_ID = 27; 2462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_ID = 28; 2492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEORGIAN_ID = 29; 2522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_ID = 30; 2552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_ID = 31; 2582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHEROKEE_ID = 32; 2612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33; 2642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OGHAM_ID = 34; 2672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RUNIC_ID = 35; 2702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHMER_ID = 36; 2732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MONGOLIAN_ID = 37; 2762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38; 2792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GREEK_EXTENDED_ID = 39; 2822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GENERAL_PUNCTUATION_ID = 40; 2852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41; 2882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CURRENCY_SYMBOLS_ID = 42; 2912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Combining Diacritical Marks for 2932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Symbols". 2942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43; 2962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LETTERLIKE_SYMBOLS_ID = 44; 2992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMBER_FORMS_ID = 45; 3022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARROWS_ID = 46; 3052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MATHEMATICAL_OPERATORS_ID = 47; 3082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_TECHNICAL_ID = 48; 3112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTROL_PICTURES_ID = 49; 3142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50; 3172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_ALPHANUMERICS_ID = 51; 3202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOX_DRAWING_ID = 52; 3232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BLOCK_ELEMENTS_ID = 53; 3262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEOMETRIC_SHAPES_ID = 54; 3292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_ID = 55; 3322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DINGBATS_ID = 56; 3352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BRAILLE_PATTERNS_ID = 57; 3382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_RADICALS_SUPPLEMENT_ID = 58; 3412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANGXI_RADICALS_ID = 59; 3442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60; 3472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61; 3502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIRAGANA_ID = 62; 3532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA_ID = 63; 3562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOPOMOFO_ID = 64; 3592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65; 3622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANBUN_ID = 66; 3652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOPOMOFO_EXTENDED_ID = 67; 3682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68; 3712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_ID = 69; 3742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70; 3772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71; 3802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YI_SYLLABLES_ID = 72; 3832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YI_RADICALS_ID = 73; 3862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_SYLLABLES_ID = 74; 3892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIGH_SURROGATES_ID = 75; 3922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76; 3952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LOW_SURROGATES_ID = 77; 3982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE. 4002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 4012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 4022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 4032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 4042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PRIVATE_USE_AREA_ID = 78; 4062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE_AREA. 4082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 4092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 4102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 4112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 4122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PRIVATE_USE_ID = PRIVATE_USE_AREA_ID; 4142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79; 4172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80; 4202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81; 4232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_HALF_MARKS_ID = 82; 4262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_FORMS_ID = 83; 4292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SMALL_FORM_VARIANTS_ID = 84; 4322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85; 4352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPECIALS_ID = 86; 4382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87; 4412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_ITALIC_ID = 88; 4442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GOTHIC_ID = 89; 4472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DESERET_ID = 90; 4502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91; 4532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MUSICAL_SYMBOLS_ID = 92; 4562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93; 4592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94; 4622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int 4652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95; 4662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGS_ID = 96; 4692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // New blocks in Unicode 3.2 4712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 4742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_SUPPLEMENTARY_ID = 97; 4762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 4782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_SUPPLEMENT_ID = 97; 4812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGALOG_ID = 98; 4842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANUNOO_ID = 99; 4872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BUHID_ID = 100; 4902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGBANWA_ID = 101; 4932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102; 4962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_A_ID = 103; 4992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_B_ID = 104; 5022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105; 5052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106; 5082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107; 5112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VARIATION_SELECTORS_ID = 108; 5142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109; 5172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110; 5202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LIMBU_ID = 111; /*[1900]*/ 5242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_LE_ID = 112; /*[1950]*/ 5272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHMER_SYMBOLS_ID = 113; /*[19E0]*/ 5302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHONETIC_EXTENSIONS_ID = 114; /*[1D00]*/ 5332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; /*[2B00]*/ 5362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; /*[4DC0]*/ 5392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_B_SYLLABARY_ID = 117; /*[10000]*/ 5422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_B_IDEOGRAMS_ID = 118; /*[10080]*/ 5452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AEGEAN_NUMBERS_ID = 119; /*[10100]*/ 5482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UGARITIC_ID = 120; /*[10380]*/ 5512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHAVIAN_ID = 121; /*[10450]*/ 5542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OSMANYA_ID = 122; /*[10480]*/ 5572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYPRIOT_SYLLABARY_ID = 123; /*[10800]*/ 5602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; /*[1D300]*/ 5632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; /*[E0100]*/ 5662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 4.1 */ 5682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; /*[1D200]*/ 5722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_GREEK_NUMBERS_ID = 127; /*[10140]*/ 5762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_SUPPLEMENT_ID = 128; /*[0750]*/ 5802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BUGINESE_ID = 129; /*[1A00]*/ 5842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_STROKES_ID = 130; /*[31C0]*/ 5882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; /*[1DC0]*/ 5922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COPTIC_ID = 132; /*[2C80]*/ 5962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_EXTENDED_ID = 133; /*[2D80]*/ 6002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_SUPPLEMENT_ID = 134; /*[1380]*/ 6042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEORGIAN_SUPPLEMENT_ID = 135; /*[2D00]*/ 6082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GLAGOLITIC_ID = 136; /*[2C00]*/ 6122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHAROSHTHI_ID = 137; /*[10A00]*/ 6162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MODIFIER_TONE_LETTERS_ID = 138; /*[A700]*/ 6202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEW_TAI_LUE_ID = 139; /*[1980]*/ 6242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_PERSIAN_ID = 140; /*[103A0]*/ 6282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; /*[1D80]*/ 6322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; /*[2E00]*/ 6362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYLOTI_NAGRI_ID = 143; /*[A800]*/ 6402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIFINAGH_ID = 144; /*[2D30]*/ 6442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VERTICAL_FORMS_ID = 145; /*[FE10]*/ 6482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.0 */ 6502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NKO_ID = 146; /*[07C0]*/ 6542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BALINESE_ID = 147; /*[1B00]*/ 6572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_C_ID = 148; /*[2C60]*/ 6602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_D_ID = 149; /*[A720]*/ 6632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHAGS_PA_ID = 150; /*[A840]*/ 6662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHOENICIAN_ID = 151; /*[10900]*/ 6692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CUNEIFORM_ID = 152; /*[12000]*/ 6722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID = 153; /*[12400]*/ 6752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNTING_ROD_NUMERALS_ID = 154; /*[1D360]*/ 6782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUNDANESE_ID = 155; /* [1B80] */ 6822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEPCHA_ID = 156; /* [1C00] */ 6862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OL_CHIKI_ID = 157; /* [1C50] */ 6902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_EXTENDED_A_ID = 158; /* [2DE0] */ 6942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VAI_ID = 159; /* [A500] */ 6982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_EXTENDED_B_ID = 160; /* [A640] */ 7022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAURASHTRA_ID = 161; /* [A880] */ 7062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAYAH_LI_ID = 162; /* [A900] */ 7102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REJANG_ID = 163; /* [A930] */ 7142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHAM_ID = 164; /* [AA00] */ 7182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_SYMBOLS_ID = 165; /* [10190] */ 7222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHAISTOS_DISC_ID = 166; /* [101D0] */ 7262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LYCIAN_ID = 167; /* [10280] */ 7302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CARIAN_ID = 168; /* [102A0] */ 7342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LYDIAN_ID = 169; /* [10920] */ 7382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAHJONG_TILES_ID = 170; /* [1F000] */ 7422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DOMINO_TILES_ID = 171; /* [1F030] */ 7462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.2 */ 7482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAMARITAN_ID = 172; /*[0800]*/ 7511fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID = 173; /*[18B0]*/ 7531fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_THAM_ID = 174; /*[1A20]*/ 7551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VEDIC_EXTENSIONS_ID = 175; /*[1CD0]*/ 7571fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LISU_ID = 176; /*[A4D0]*/ 7591fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BAMUM_ID = 177; /*[A6A0]*/ 7611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMMON_INDIC_NUMBER_FORMS_ID = 178; /*[A830]*/ 7631fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DEVANAGARI_EXTENDED_ID = 179; /*[A8E0]*/ 7651fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_EXTENDED_A_ID = 180; /*[A960]*/ 7671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JAVANESE_ID = 181; /*[A980]*/ 7691fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_EXTENDED_A_ID = 182; /*[AA60]*/ 7711fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_VIET_ID = 183; /*[AA80]*/ 7731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEETEI_MAYEK_ID = 184; /*[ABC0]*/ 7751fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_EXTENDED_B_ID = 185; /*[D7B0]*/ 7771fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IMPERIAL_ARAMAIC_ID = 186; /*[10840]*/ 7791fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_SOUTH_ARABIAN_ID = 187; /*[10A60]*/ 7811fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AVESTAN_ID = 188; /*[10B00]*/ 7831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSCRIPTIONAL_PARTHIAN_ID = 189; /*[10B40]*/ 7851fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSCRIPTIONAL_PAHLAVI_ID = 190; /*[10B60]*/ 7871fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_TURKIC_ID = 191; /*[10C00]*/ 7891fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RUMI_NUMERAL_SYMBOLS_ID = 192; /*[10E60]*/ 7911fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAITHI_ID = 193; /*[11080]*/ 7931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EGYPTIAN_HIEROGLYPHS_ID = 194; /*[13000]*/ 7951fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID = 195; /*[1F100]*/ 7971fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID = 196; /*[1F200]*/ 7991fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID = 197; /*[2A700]*/ 8012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.0 */ 8032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANDAIC_ID = 198; /*[0840]*/ 8061fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BATAK_ID = 199; /*[1BC0]*/ 8081fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_EXTENDED_A_ID = 200; /*[AB00]*/ 8101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BRAHMI_ID = 201; /*[11000]*/ 8121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BAMUM_SUPPLEMENT_ID = 202; /*[16800]*/ 8141fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANA_SUPPLEMENT_ID = 203; /*[1B000]*/ 8161fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PLAYING_CARDS_ID = 204; /*[1F0A0]*/ 8181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID = 205; /*[1F300]*/ 8201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EMOTICONS_ID = 206; /*[1F600]*/ 8221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRANSPORT_AND_MAP_SYMBOLS_ID = 207; /*[1F680]*/ 8241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALCHEMICAL_SYMBOLS_ID = 208; /*[1F700]*/ 8261fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID = 209; /*[2B740]*/ 8282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.1 */ 8302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_EXTENDED_A_ID = 210; /*[08A0]*/ 8331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID = 211; /*[1EE00]*/ 8351fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHAKMA_ID = 212; /*[11100]*/ 8371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEETEI_MAYEK_EXTENSIONS_ID = 213; /*[AAE0]*/ 8391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEROITIC_CURSIVE_ID = 214; /*[109A0]*/ 8411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEROITIC_HIEROGLYPHS_ID = 215; /*[10980]*/ 8431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIAO_ID = 216; /*[16F00]*/ 8451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHARADA_ID = 217; /*[11180]*/ 8471fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SORA_SOMPENG_ID = 218; /*[110D0]*/ 8491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUNDANESE_SUPPLEMENT_ID = 219; /*[1CC0]*/ 8511fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAKRI_ID = 220; /*[11680]*/ 8532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 7.0 */ 8552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8561fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BASSA_VAH_ID = 221; /*[16AD0]*/ 8581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CAUCASIAN_ALBANIAN_ID = 222; /*[10530]*/ 8601fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COPTIC_EPACT_NUMBERS_ID = 223; /*[102E0]*/ 8621fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_EXTENDED_ID = 224; /*[1AB0]*/ 8641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DUPLOYAN_ID = 225; /*[1BC00]*/ 8661fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ELBASAN_ID = 226; /*[10500]*/ 8681fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEOMETRIC_SHAPES_EXTENDED_ID = 227; /*[1F780]*/ 8701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GRANTHA_ID = 228; /*[11300]*/ 8721fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHOJKI_ID = 229; /*[11200]*/ 8741fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHUDAWADI_ID = 230; /*[112B0]*/ 8761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_E_ID = 231; /*[AB30]*/ 8781fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_A_ID = 232; /*[10600]*/ 8801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAHAJANI_ID = 233; /*[11150]*/ 8821fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ID = 234; /*[10AC0]*/ 8841fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MENDE_KIKAKUI_ID = 235; /*[1E800]*/ 8861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MODI_ID = 236; /*[11600]*/ 8881fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MRO_ID = 237; /*[16A40]*/ 8901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_EXTENDED_B_ID = 238; /*[A9E0]*/ 8921fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NABATAEAN_ID = 239; /*[10880]*/ 8941fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_NORTH_ARABIAN_ID = 240; /*[10A80]*/ 8961fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_PERMIC_ID = 241; /*[10350]*/ 8981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ORNAMENTAL_DINGBATS_ID = 242; /*[1F650]*/ 9001fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PAHAWH_HMONG_ID = 243; /*[16B00]*/ 9021fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PALMYRENE_ID = 244; /*[10860]*/ 9041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PAU_CIN_HAU_ID = 245; /*[11AC0]*/ 9061fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PSALTER_PAHLAVI_ID = 246; /*[10B80]*/ 9081fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHORTHAND_FORMAT_CONTROLS_ID = 247; /*[1BCA0]*/ 9101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SIDDHAM_ID = 248; /*[11580]*/ 9121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINHALA_ARCHAIC_NUMBERS_ID = 249; /*[111E0]*/ 9141fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_C_ID = 250; /*[1F800]*/ 9161fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIRHUTA_ID = 251; /*[11480]*/ 9181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WARANG_CITI_ID = 252; /*[118A0]*/ 9202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 8.0 */ 9222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9231fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AHOM_ID = 253; /*[11700]*/ 9251fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANATOLIAN_HIEROGLYPHS_ID = 254; /*[14400]*/ 9271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHEROKEE_SUPPLEMENT_ID = 255; /*[AB70]*/ 9291fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID = 256; /*[2B820]*/ 9311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EARLY_DYNASTIC_CUNEIFORM_ID = 257; /*[12480]*/ 9331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HATRAN_ID = 258; /*[108E0]*/ 9351fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MULTANI_ID = 259; /*[11280]*/ 9371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_HUNGARIAN_ID = 260; /*[10C80]*/ 9391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID = 261; /*[1F900]*/ 9411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUTTON_SIGNWRITING_ID = 262; /*[1D800]*/ 9432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 945ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 9462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 263; 9482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // blocks objects --------------------------------------------------- 9502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Array of UnicodeBlocks, for easy access in getInstance(int) 9532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private final static UnicodeBlock BLOCKS_[] = new UnicodeBlock[COUNT]; 9552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NO_BLOCK 9592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("NO_BLOCK", 0); 9602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BASIC_LATIN 9642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BASIC_LATIN", BASIC_LATIN_ID); 9652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_1_SUPPLEMENT 9682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_1_SUPPLEMENT", LATIN_1_SUPPLEMENT_ID); 9692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_A 9722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_A", LATIN_EXTENDED_A_ID); 9732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_B 9762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_B", LATIN_EXTENDED_B_ID); 9772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IPA_EXTENSIONS 9802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("IPA_EXTENSIONS", IPA_EXTENSIONS_ID); 9812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SPACING_MODIFIER_LETTERS 9842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SPACING_MODIFIER_LETTERS", SPACING_MODIFIER_LETTERS_ID); 9852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS 9882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_DIACRITICAL_MARKS", COMBINING_DIACRITICAL_MARKS_ID); 9892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Greek and Coptic". 9912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GREEK 9932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GREEK", GREEK_ID); 9942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC 9972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC", CYRILLIC_ID); 9982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARMENIAN 10012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARMENIAN", ARMENIAN_ID); 10022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HEBREW 10052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HEBREW", HEBREW_ID); 10062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC 10092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC", ARABIC_ID); 10102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SYRIAC 10132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SYRIAC", SYRIAC_ID); 10142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock THAANA 10172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("THAANA", THAANA_ID); 10182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DEVANAGARI 10212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DEVANAGARI", DEVANAGARI_ID); 10222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BENGALI 10252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BENGALI", BENGALI_ID); 10262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GURMUKHI 10292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GURMUKHI", GURMUKHI_ID); 10302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GUJARATI 10332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GUJARATI", GUJARATI_ID); 10342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ORIYA 10372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ORIYA", ORIYA_ID); 10382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAMIL 10412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAMIL", TAMIL_ID); 10422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TELUGU 10452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TELUGU", TELUGU_ID); 10462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANNADA 10492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANNADA", KANNADA_ID); 10502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MALAYALAM 10532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MALAYALAM", MALAYALAM_ID); 10542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SINHALA 10572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SINHALA", SINHALA_ID); 10582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock THAI 10612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("THAI", THAI_ID); 10622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LAO 10652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LAO", LAO_ID); 10662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIBETAN 10692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TIBETAN", TIBETAN_ID); 10702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR 10732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MYANMAR", MYANMAR_ID); 10742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEORGIAN 10772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GEORGIAN", GEORGIAN_ID); 10782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO 10812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_JAMO", HANGUL_JAMO_ID); 10822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC 10852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ETHIOPIC", ETHIOPIC_ID); 10862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHEROKEE 10892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CHEROKEE", CHEROKEE_ID); 10902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS 10932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS", 10942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID); 10952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OGHAM 10982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OGHAM", OGHAM_ID); 10992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock RUNIC 11022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("RUNIC", RUNIC_ID); 11032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHMER 11062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KHMER", KHMER_ID); 11072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MONGOLIAN 11102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MONGOLIAN", MONGOLIAN_ID); 11112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL 11142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL", LATIN_EXTENDED_ADDITIONAL_ID); 11152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GREEK_EXTENDED 11182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GREEK_EXTENDED", GREEK_EXTENDED_ID); 11192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GENERAL_PUNCTUATION 11222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GENERAL_PUNCTUATION", GENERAL_PUNCTUATION_ID); 11232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS 11262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS", SUPERSCRIPTS_AND_SUBSCRIPTS_ID); 11272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CURRENCY_SYMBOLS 11302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CURRENCY_SYMBOLS", CURRENCY_SYMBOLS_ID); 11312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Combining Diacritical Marks for 11332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Symbols". 11342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS 11362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS", COMBINING_MARKS_FOR_SYMBOLS_ID); 11372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LETTERLIKE_SYMBOLS 11402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LETTERLIKE_SYMBOLS", LETTERLIKE_SYMBOLS_ID); 11412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NUMBER_FORMS 11442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("NUMBER_FORMS", NUMBER_FORMS_ID); 11452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARROWS 11482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARROWS", ARROWS_ID); 11492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MATHEMATICAL_OPERATORS 11522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MATHEMATICAL_OPERATORS", MATHEMATICAL_OPERATORS_ID); 11532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_TECHNICAL 11562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_TECHNICAL", MISCELLANEOUS_TECHNICAL_ID); 11572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CONTROL_PICTURES 11602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CONTROL_PICTURES", CONTROL_PICTURES_ID); 11612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OPTICAL_CHARACTER_RECOGNITION 11642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OPTICAL_CHARACTER_RECOGNITION", OPTICAL_CHARACTER_RECOGNITION_ID); 11652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_ALPHANUMERICS 11682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ENCLOSED_ALPHANUMERICS", ENCLOSED_ALPHANUMERICS_ID); 11692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOX_DRAWING 11722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOX_DRAWING", BOX_DRAWING_ID); 11732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BLOCK_ELEMENTS 11762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BLOCK_ELEMENTS", BLOCK_ELEMENTS_ID); 11772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEOMETRIC_SHAPES 11802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GEOMETRIC_SHAPES", GEOMETRIC_SHAPES_ID); 11812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS 11842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_SYMBOLS", MISCELLANEOUS_SYMBOLS_ID); 11852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DINGBATS 11882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DINGBATS", DINGBATS_ID); 11892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BRAILLE_PATTERNS 11922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BRAILLE_PATTERNS", BRAILLE_PATTERNS_ID); 11932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_RADICALS_SUPPLEMENT 11962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_RADICALS_SUPPLEMENT", CJK_RADICALS_SUPPLEMENT_ID); 11972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANGXI_RADICALS 12002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANGXI_RADICALS", KANGXI_RADICALS_ID); 12012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS 12042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("IDEOGRAPHIC_DESCRIPTION_CHARACTERS", 12052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID); 12062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION 12092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_SYMBOLS_AND_PUNCTUATION", CJK_SYMBOLS_AND_PUNCTUATION_ID); 12102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIRAGANA 12132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIRAGANA", HIRAGANA_ID); 12142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KATAKANA 12172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KATAKANA", KATAKANA_ID); 12182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOPOMOFO 12212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOPOMOFO", BOPOMOFO_ID); 12222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_COMPATIBILITY_JAMO 12252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_COMPATIBILITY_JAMO", HANGUL_COMPATIBILITY_JAMO_ID); 12262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANBUN 12292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANBUN", KANBUN_ID); 12302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOPOMOFO_EXTENDED 12332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOPOMOFO_EXTENDED", BOPOMOFO_EXTENDED_ID); 12342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS 12372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ENCLOSED_CJK_LETTERS_AND_MONTHS", 12382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_CJK_LETTERS_AND_MONTHS_ID); 12392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY 12422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY", CJK_COMPATIBILITY_ID); 12432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 12462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A", 12472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID); 12482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS 12512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS", CJK_UNIFIED_IDEOGRAPHS_ID); 12522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YI_SYLLABLES 12552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YI_SYLLABLES", YI_SYLLABLES_ID); 12562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YI_RADICALS 12592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YI_RADICALS", YI_RADICALS_ID); 12602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_SYLLABLES 12632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_SYLLABLES", HANGUL_SYLLABLES_ID); 12642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIGH_SURROGATES 12672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIGH_SURROGATES", HIGH_SURROGATES_ID); 12682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIGH_PRIVATE_USE_SURROGATES 12712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIGH_PRIVATE_USE_SURROGATES", HIGH_PRIVATE_USE_SURROGATES_ID); 12722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LOW_SURROGATES 12752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LOW_SURROGATES", LOW_SURROGATES_ID); 12762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE. 12782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 12792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 12802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 12812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 12822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PRIVATE_USE_AREA 12842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("PRIVATE_USE_AREA", 78); 12852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE_AREA. 12872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 12882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 12892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 12902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 12912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PRIVATE_USE 12932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = PRIVATE_USE_AREA; 12942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS 12972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS", CJK_COMPATIBILITY_IDEOGRAPHS_ID); 12982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ALPHABETIC_PRESENTATION_FORMS 13012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ALPHABETIC_PRESENTATION_FORMS", ALPHABETIC_PRESENTATION_FORMS_ID); 13022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_A 13052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_A", ARABIC_PRESENTATION_FORMS_A_ID); 13062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_HALF_MARKS 13092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_HALF_MARKS", COMBINING_HALF_MARKS_ID); 13102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY_FORMS 13132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_FORMS", CJK_COMPATIBILITY_FORMS_ID); 13142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SMALL_FORM_VARIANTS 13172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SMALL_FORM_VARIANTS", SMALL_FORM_VARIANTS_ID); 13182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_B 13212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_B", ARABIC_PRESENTATION_FORMS_B_ID); 13222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SPECIALS 13252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SPECIALS", SPECIALS_ID); 13262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS 13292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS", HALFWIDTH_AND_FULLWIDTH_FORMS_ID); 13302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_ITALIC 13332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OLD_ITALIC", OLD_ITALIC_ID); 13342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GOTHIC 13372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GOTHIC", GOTHIC_ID); 13382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DESERET 13412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DESERET", DESERET_ID); 13422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS 13452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BYZANTINE_MUSICAL_SYMBOLS", BYZANTINE_MUSICAL_SYMBOLS_ID); 13462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MUSICAL_SYMBOLS 13492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MUSICAL_SYMBOLS", MUSICAL_SYMBOLS_ID); 13502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS 13532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MATHEMATICAL_ALPHANUMERIC_SYMBOLS", 13542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID); 13552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B 13582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B", 13592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID); 13602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock 13632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT 13642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT", 13652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID); 13662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGS 13692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGS", TAGS_ID); 13702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 13712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // New blocks in Unicode 3.2 13722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 13732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 13752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_SUPPLEMENTARY 13772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC_SUPPLEMENTARY", CYRILLIC_SUPPLEMENTARY_ID); 13782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 13802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_SUPPLEMENT 13822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC_SUPPLEMENT", CYRILLIC_SUPPLEMENT_ID); 13832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGALOG 13862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGALOG", TAGALOG_ID); 13872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANUNOO 13902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANUNOO", HANUNOO_ID); 13912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BUHID 13942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BUHID", BUHID_ID); 13952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGBANWA 13982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGBANWA", TAGBANWA_ID); 13992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A 14022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A", 14032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID); 14042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_A 14072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_ARROWS_A", SUPPLEMENTAL_ARROWS_A_ID); 14082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_B 14112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_ARROWS_B", SUPPLEMENTAL_ARROWS_B_ID); 14122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B 14152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B", 14162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID); 14172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS 14202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_MATHEMATICAL_OPERATORS", 14212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID); 14222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS 14252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KATAKANA_PHONETIC_EXTENSIONS", KATAKANA_PHONETIC_EXTENSIONS_ID); 14262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VARIATION_SELECTORS 14292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("VARIATION_SELECTORS", VARIATION_SELECTORS_ID); 14302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A 14332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_A", 14342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID); 14352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B 14382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_B", 14392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID); 14402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LIMBU 14442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LIMBU", LIMBU_ID); 14452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_LE 14482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAI_LE", TAI_LE_ID); 14492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHMER_SYMBOLS 14522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KHMER_SYMBOLS", KHMER_SYMBOLS_ID); 14532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHONETIC_EXTENSIONS 14572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("PHONETIC_EXTENSIONS", PHONETIC_EXTENSIONS_ID); 14582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS 14622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_ARROWS", 14632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID); 14642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YIJING_HEXAGRAM_SYMBOLS 14672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YIJING_HEXAGRAM_SYMBOLS", YIJING_HEXAGRAM_SYMBOLS_ID); 14682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_B_SYLLABARY 14712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LINEAR_B_SYLLABARY", LINEAR_B_SYLLABARY_ID); 14722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_B_IDEOGRAMS 14752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LINEAR_B_IDEOGRAMS", LINEAR_B_IDEOGRAMS_ID); 14762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AEGEAN_NUMBERS 14792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("AEGEAN_NUMBERS", AEGEAN_NUMBERS_ID); 14802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UGARITIC 14832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("UGARITIC", UGARITIC_ID); 14842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHAVIAN 14872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SHAVIAN", SHAVIAN_ID); 14882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OSMANYA 14912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OSMANYA", OSMANYA_ID); 14922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYPRIOT_SYLLABARY 14952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYPRIOT_SYLLABARY", CYPRIOT_SYLLABARY_ID); 14962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_XUAN_JING_SYMBOLS 14992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAI_XUAN_JING_SYMBOLS", TAI_XUAN_JING_SYMBOLS_ID); 15002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT 15042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("VARIATION_SELECTORS_SUPPLEMENT", VARIATION_SELECTORS_SUPPLEMENT_ID); 15052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 4.1 */ 15072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION = 15112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_GREEK_MUSICAL_NOTATION", 15122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ANCIENT_GREEK_MUSICAL_NOTATION_ID); /*[1D200]*/ 15132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_GREEK_NUMBERS = 15172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_GREEK_NUMBERS", ANCIENT_GREEK_NUMBERS_ID); /*[10140]*/ 15182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_SUPPLEMENT = 15222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_SUPPLEMENT", ARABIC_SUPPLEMENT_ID); /*[0750]*/ 15232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BUGINESE = 15272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BUGINESE", BUGINESE_ID); /*[1A00]*/ 15282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_STROKES = 15322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_STROKES", CJK_STROKES_ID); /*[31C0]*/ 15332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 15372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_SUPPLEMENT", 15382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID); /*[1DC0]*/ 15392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COPTIC = new UnicodeBlock("COPTIC", COPTIC_ID); /*[2C80]*/ 15432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_EXTENDED = 15472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_EXTENDED", ETHIOPIC_EXTENDED_ID); /*[2D80]*/ 15482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_SUPPLEMENT = 15522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_SUPPLEMENT", ETHIOPIC_SUPPLEMENT_ID); /*[1380]*/ 15532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEORGIAN_SUPPLEMENT = 15572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GEORGIAN_SUPPLEMENT", GEORGIAN_SUPPLEMENT_ID); /*[2D00]*/ 15582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GLAGOLITIC = 15622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GLAGOLITIC", GLAGOLITIC_ID); /*[2C00]*/ 15632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHAROSHTHI = 15672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KHAROSHTHI", KHAROSHTHI_ID); /*[10A00]*/ 15682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MODIFIER_TONE_LETTERS = 15722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MODIFIER_TONE_LETTERS", MODIFIER_TONE_LETTERS_ID); /*[A700]*/ 15732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NEW_TAI_LUE = 15772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("NEW_TAI_LUE", NEW_TAI_LUE_ID); /*[1980]*/ 15782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_PERSIAN = 15822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_PERSIAN", OLD_PERSIAN_ID); /*[103A0]*/ 15832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT = 15872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHONETIC_EXTENSIONS_SUPPLEMENT", 15882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller PHONETIC_EXTENSIONS_SUPPLEMENT_ID); /*[1D80]*/ 15892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_PUNCTUATION = 15932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_PUNCTUATION", SUPPLEMENTAL_PUNCTUATION_ID); /*[2E00]*/ 15942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SYLOTI_NAGRI = 15982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SYLOTI_NAGRI", SYLOTI_NAGRI_ID); /*[A800]*/ 15992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIFINAGH = 16032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TIFINAGH", TIFINAGH_ID); /*[2D30]*/ 16042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VERTICAL_FORMS = 16082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("VERTICAL_FORMS", VERTICAL_FORMS_ID); /*[FE10]*/ 16092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NKO = new UnicodeBlock("NKO", NKO_ID); /*[07C0]*/ 16132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BALINESE = 16162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BALINESE", BALINESE_ID); /*[1B00]*/ 16172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_C = 16202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_C", LATIN_EXTENDED_C_ID); /*[2C60]*/ 16212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_D = 16242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_D", LATIN_EXTENDED_D_ID); /*[A720]*/ 16252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHAGS_PA = 16282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHAGS_PA", PHAGS_PA_ID); /*[A840]*/ 16292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHOENICIAN = 16322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHOENICIAN", PHOENICIAN_ID); /*[10900]*/ 16332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CUNEIFORM = 16362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CUNEIFORM", CUNEIFORM_ID); /*[12000]*/ 16372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION = 16402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CUNEIFORM_NUMBERS_AND_PUNCTUATION", 16412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID); /*[12400]*/ 16422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COUNTING_ROD_NUMERALS = 16452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COUNTING_ROD_NUMERALS", COUNTING_ROD_NUMERALS_ID); /*[1D360]*/ 16462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUNDANESE = 16502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUNDANESE", SUNDANESE_ID); /* [1B80] */ 16512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LEPCHA = 16552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LEPCHA", LEPCHA_ID); /* [1C00] */ 16562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OL_CHIKI = 16602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OL_CHIKI", OL_CHIKI_ID); /* [1C50] */ 16612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_EXTENDED_A = 16652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CYRILLIC_EXTENDED_A", CYRILLIC_EXTENDED_A_ID); /* [2DE0] */ 16662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VAI = new UnicodeBlock("VAI", VAI_ID); /* [A500] */ 16702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_EXTENDED_B = 16742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CYRILLIC_EXTENDED_B", CYRILLIC_EXTENDED_B_ID); /* [A640] */ 16752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SAURASHTRA = 16792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SAURASHTRA", SAURASHTRA_ID); /* [A880] */ 16802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KAYAH_LI = 16842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KAYAH_LI", KAYAH_LI_ID); /* [A900] */ 16852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock REJANG = 16892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("REJANG", REJANG_ID); /* [A930] */ 16902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHAM = 16942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CHAM", CHAM_ID); /* [AA00] */ 16952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_SYMBOLS = 16992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_SYMBOLS", ANCIENT_SYMBOLS_ID); /* [10190] */ 17002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHAISTOS_DISC = 17042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHAISTOS_DISC", PHAISTOS_DISC_ID); /* [101D0] */ 17052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LYCIAN = 17092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LYCIAN", LYCIAN_ID); /* [10280] */ 17102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CARIAN = 17142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CARIAN", CARIAN_ID); /* [102A0] */ 17152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LYDIAN = 17192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LYDIAN", LYDIAN_ID); /* [10920] */ 17202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MAHJONG_TILES = 17242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MAHJONG_TILES", MAHJONG_TILES_ID); /* [1F000] */ 17252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DOMINO_TILES = 17292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("DOMINO_TILES", DOMINO_TILES_ID); /* [1F030] */ 17302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.2 */ 17322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SAMARITAN = 17352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SAMARITAN", SAMARITAN_ID); /*[0800]*/ 17361fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 17382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED", 17392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID); /*[18B0]*/ 17401fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_THAM = 17422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TAI_THAM", TAI_THAM_ID); /*[1A20]*/ 17431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VEDIC_EXTENSIONS = 17452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("VEDIC_EXTENSIONS", VEDIC_EXTENSIONS_ID); /*[1CD0]*/ 17461fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LISU = 17482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LISU", LISU_ID); /*[A4D0]*/ 17491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BAMUM = 17512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BAMUM", BAMUM_ID); /*[A6A0]*/ 17521fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMMON_INDIC_NUMBER_FORMS = 17542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMMON_INDIC_NUMBER_FORMS", COMMON_INDIC_NUMBER_FORMS_ID); /*[A830]*/ 17551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DEVANAGARI_EXTENDED = 17572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("DEVANAGARI_EXTENDED", DEVANAGARI_EXTENDED_ID); /*[A8E0]*/ 17581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO_EXTENDED_A = 17602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("HANGUL_JAMO_EXTENDED_A", HANGUL_JAMO_EXTENDED_A_ID); /*[A960]*/ 17611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock JAVANESE = 17632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("JAVANESE", JAVANESE_ID); /*[A980]*/ 17641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR_EXTENDED_A = 17662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MYANMAR_EXTENDED_A", MYANMAR_EXTENDED_A_ID); /*[AA60]*/ 17671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_VIET = 17692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TAI_VIET", TAI_VIET_ID); /*[AA80]*/ 17701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEETEI_MAYEK = 17722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEETEI_MAYEK", MEETEI_MAYEK_ID); /*[ABC0]*/ 17731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO_EXTENDED_B = 17752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("HANGUL_JAMO_EXTENDED_B", HANGUL_JAMO_EXTENDED_B_ID); /*[D7B0]*/ 17761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IMPERIAL_ARAMAIC = 17782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("IMPERIAL_ARAMAIC", IMPERIAL_ARAMAIC_ID); /*[10840]*/ 17791fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_SOUTH_ARABIAN = 17812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_SOUTH_ARABIAN", OLD_SOUTH_ARABIAN_ID); /*[10A60]*/ 17821fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AVESTAN = 17842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("AVESTAN", AVESTAN_ID); /*[10B00]*/ 17851fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INSCRIPTIONAL_PARTHIAN = 17872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("INSCRIPTIONAL_PARTHIAN", INSCRIPTIONAL_PARTHIAN_ID); /*[10B40]*/ 17881fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INSCRIPTIONAL_PAHLAVI = 17902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("INSCRIPTIONAL_PAHLAVI", INSCRIPTIONAL_PAHLAVI_ID); /*[10B60]*/ 17911fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_TURKIC = 17932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_TURKIC", OLD_TURKIC_ID); /*[10C00]*/ 17941fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock RUMI_NUMERAL_SYMBOLS = 17962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("RUMI_NUMERAL_SYMBOLS", RUMI_NUMERAL_SYMBOLS_ID); /*[10E60]*/ 17971fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KAITHI = 17992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KAITHI", KAITHI_ID); /*[11080]*/ 18001fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EGYPTIAN_HIEROGLYPHS = 18022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EGYPTIAN_HIEROGLYPHS", EGYPTIAN_HIEROGLYPHS_ID); /*[13000]*/ 18031fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 18052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ENCLOSED_ALPHANUMERIC_SUPPLEMENT", 18062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID); /*[1F100]*/ 18071fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 18092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT", 18102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID); /*[1F200]*/ 18111fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 18132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C", 18142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID); /*[2A700]*/ 18152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.0 */ 18172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MANDAIC = 18202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MANDAIC", MANDAIC_ID); /*[0840]*/ 18211fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BATAK = 18232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BATAK", BATAK_ID); /*[1BC0]*/ 18241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_EXTENDED_A = 18262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_EXTENDED_A", ETHIOPIC_EXTENDED_A_ID); /*[AB00]*/ 18271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BRAHMI = 18292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BRAHMI", BRAHMI_ID); /*[11000]*/ 18301fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BAMUM_SUPPLEMENT = 18322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BAMUM_SUPPLEMENT", BAMUM_SUPPLEMENT_ID); /*[16800]*/ 18331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANA_SUPPLEMENT = 18352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KANA_SUPPLEMENT", KANA_SUPPLEMENT_ID); /*[1B000]*/ 18361fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PLAYING_CARDS = 18382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PLAYING_CARDS", PLAYING_CARDS_ID); /*[1F0A0]*/ 18391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 18412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS", 18422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID); /*[1F300]*/ 18431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EMOTICONS = 18452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EMOTICONS", EMOTICONS_ID); /*[1F600]*/ 18461fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS = 18482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TRANSPORT_AND_MAP_SYMBOLS", TRANSPORT_AND_MAP_SYMBOLS_ID); /*[1F680]*/ 18491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ALCHEMICAL_SYMBOLS = 18512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ALCHEMICAL_SYMBOLS", ALCHEMICAL_SYMBOLS_ID); /*[1F700]*/ 18521fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 18542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D", 18552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID); /*[2B740]*/ 18562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.1 */ 18582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18591fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_EXTENDED_A = 18612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_EXTENDED_A", ARABIC_EXTENDED_A_ID); /*[08A0]*/ 18621fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 18642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS", ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID); /*[1EE00]*/ 18651fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHAKMA = new UnicodeBlock("CHAKMA", CHAKMA_ID); /*[11100]*/ 18671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEETEI_MAYEK_EXTENSIONS = 18692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEETEI_MAYEK_EXTENSIONS", MEETEI_MAYEK_EXTENSIONS_ID); /*[AAE0]*/ 18701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEROITIC_CURSIVE = 18722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEROITIC_CURSIVE", MEROITIC_CURSIVE_ID); /*[109A0]*/ 18731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEROITIC_HIEROGLYPHS = 18752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEROITIC_HIEROGLYPHS", MEROITIC_HIEROGLYPHS_ID); /*[10980]*/ 18761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MIAO = new UnicodeBlock("MIAO", MIAO_ID); /*[16F00]*/ 18781fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHARADA = new UnicodeBlock("SHARADA", SHARADA_ID); /*[11180]*/ 18801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SORA_SOMPENG = 18822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SORA_SOMPENG", SORA_SOMPENG_ID); /*[110D0]*/ 18831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUNDANESE_SUPPLEMENT = 18852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUNDANESE_SUPPLEMENT", SUNDANESE_SUPPLEMENT_ID); /*[1CC0]*/ 18861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAKRI = new UnicodeBlock("TAKRI", TAKRI_ID); /*[11680]*/ 18882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 7.0 */ 18902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18911fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BASSA_VAH = new UnicodeBlock("BASSA_VAH", BASSA_VAH_ID); /*[16AD0]*/ 18931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CAUCASIAN_ALBANIAN = 18952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CAUCASIAN_ALBANIAN", CAUCASIAN_ALBANIAN_ID); /*[10530]*/ 18961fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COPTIC_EPACT_NUMBERS = 18982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COPTIC_EPACT_NUMBERS", COPTIC_EPACT_NUMBERS_ID); /*[102E0]*/ 18991fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED = 19012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_EXTENDED", COMBINING_DIACRITICAL_MARKS_EXTENDED_ID); /*[1AB0]*/ 19021fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DUPLOYAN = new UnicodeBlock("DUPLOYAN", DUPLOYAN_ID); /*[1BC00]*/ 19041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ELBASAN = new UnicodeBlock("ELBASAN", ELBASAN_ID); /*[10500]*/ 19061fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEOMETRIC_SHAPES_EXTENDED = 19082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GEOMETRIC_SHAPES_EXTENDED", GEOMETRIC_SHAPES_EXTENDED_ID); /*[1F780]*/ 19091fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GRANTHA = new UnicodeBlock("GRANTHA", GRANTHA_ID); /*[11300]*/ 19111fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHOJKI = new UnicodeBlock("KHOJKI", KHOJKI_ID); /*[11200]*/ 19131fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHUDAWADI = new UnicodeBlock("KHUDAWADI", KHUDAWADI_ID); /*[112B0]*/ 19151fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_E = 19172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_E", LATIN_EXTENDED_E_ID); /*[AB30]*/ 19181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_A = new UnicodeBlock("LINEAR_A", LINEAR_A_ID); /*[10600]*/ 19201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MAHAJANI = new UnicodeBlock("MAHAJANI", MAHAJANI_ID); /*[11150]*/ 19221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MANICHAEAN = new UnicodeBlock("MANICHAEAN", MANICHAEAN_ID); /*[10AC0]*/ 19241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MENDE_KIKAKUI = 19262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MENDE_KIKAKUI", MENDE_KIKAKUI_ID); /*[1E800]*/ 19271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MODI = new UnicodeBlock("MODI", MODI_ID); /*[11600]*/ 19291fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MRO = new UnicodeBlock("MRO", MRO_ID); /*[16A40]*/ 19311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR_EXTENDED_B = 19332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MYANMAR_EXTENDED_B", MYANMAR_EXTENDED_B_ID); /*[A9E0]*/ 19341fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NABATAEAN = new UnicodeBlock("NABATAEAN", NABATAEAN_ID); /*[10880]*/ 19361fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_NORTH_ARABIAN = 19382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_NORTH_ARABIAN", OLD_NORTH_ARABIAN_ID); /*[10A80]*/ 19391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_PERMIC = new UnicodeBlock("OLD_PERMIC", OLD_PERMIC_ID); /*[10350]*/ 19411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ORNAMENTAL_DINGBATS = 19432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ORNAMENTAL_DINGBATS", ORNAMENTAL_DINGBATS_ID); /*[1F650]*/ 19441fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PAHAWH_HMONG = new UnicodeBlock("PAHAWH_HMONG", PAHAWH_HMONG_ID); /*[16B00]*/ 19461fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PALMYRENE = new UnicodeBlock("PALMYRENE", PALMYRENE_ID); /*[10860]*/ 19481fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PAU_CIN_HAU = new UnicodeBlock("PAU_CIN_HAU", PAU_CIN_HAU_ID); /*[11AC0]*/ 19501fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PSALTER_PAHLAVI = 19522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PSALTER_PAHLAVI", PSALTER_PAHLAVI_ID); /*[10B80]*/ 19531fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHORTHAND_FORMAT_CONTROLS = 19552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SHORTHAND_FORMAT_CONTROLS", SHORTHAND_FORMAT_CONTROLS_ID); /*[1BCA0]*/ 19561fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SIDDHAM = new UnicodeBlock("SIDDHAM", SIDDHAM_ID); /*[11580]*/ 19581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SINHALA_ARCHAIC_NUMBERS = 19602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SINHALA_ARCHAIC_NUMBERS", SINHALA_ARCHAIC_NUMBERS_ID); /*[111E0]*/ 19611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_C = 19632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_ARROWS_C", SUPPLEMENTAL_ARROWS_C_ID); /*[1F800]*/ 19641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIRHUTA = new UnicodeBlock("TIRHUTA", TIRHUTA_ID); /*[11480]*/ 19661fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock WARANG_CITI = new UnicodeBlock("WARANG_CITI", WARANG_CITI_ID); /*[118A0]*/ 19682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 19692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 8.0 */ 19702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 19711fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AHOM = new UnicodeBlock("AHOM", AHOM_ID); /*[11700]*/ 19731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANATOLIAN_HIEROGLYPHS = 19752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANATOLIAN_HIEROGLYPHS", ANATOLIAN_HIEROGLYPHS_ID); /*[14400]*/ 19761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHEROKEE_SUPPLEMENT = 19782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CHEROKEE_SUPPLEMENT", CHEROKEE_SUPPLEMENT_ID); /*[AB70]*/ 19791fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 19812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E", 19822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID); /*[2B820]*/ 19831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EARLY_DYNASTIC_CUNEIFORM = 19852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EARLY_DYNASTIC_CUNEIFORM", EARLY_DYNASTIC_CUNEIFORM_ID); /*[12480]*/ 19861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HATRAN = new UnicodeBlock("HATRAN", HATRAN_ID); /*[108E0]*/ 19881fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MULTANI = new UnicodeBlock("MULTANI", MULTANI_ID); /*[11280]*/ 19901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_HUNGARIAN = 19922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_HUNGARIAN", OLD_HUNGARIAN_ID); /*[10C80]*/ 19931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 19952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS", 19962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID); /*[1F900]*/ 19971fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUTTON_SIGNWRITING = 19992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUTTON_SIGNWRITING", SUTTON_SIGNWRITING_ID); /*[1D800]*/ 20002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INVALID_CODE 20042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("INVALID_CODE", INVALID_CODE_ID); 20052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller static { 20072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int blockId = 0; blockId < COUNT; ++blockId) { 20082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (BLOCKS_[blockId] == null) { 20092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new java.lang.IllegalStateException( 20102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller "UnicodeBlock.BLOCKS_[" + blockId + "] not initialized"); 20112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public methods -------------------------------------------------- 20162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20181537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the only instance of the UnicodeBlock with the argument ID. 20192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no such ID exists, a INVALID_CODE UnicodeBlock will be returned. 20202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param id UnicodeBlock ID 20212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the only instance of the UnicodeBlock with the argument ID 20222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * if it exists, otherwise a INVALID_CODE UnicodeBlock will be 20232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned. 20242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static UnicodeBlock getInstance(int id) 20262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 20272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (id >= 0 && id < BLOCKS_.length) { 20282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return BLOCKS_[id]; 20292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return INVALID_CODE; 20312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the Unicode allocation block that contains the code point, 20352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or null if the code point is not a member of a defined block. 20362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be tested 20372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the Unicode allocation block that contains the code point 20382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static UnicodeBlock of(int ch) 20402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 20412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch > MAX_VALUE) { 20422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return INVALID_CODE; 20432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UnicodeBlock.getInstance( 20462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterProperty.INSTANCE.getIntPropertyValue(ch, UProperty.BLOCK)); 20472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20507241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Alternative to the {@link java.lang.Character.UnicodeBlock#forName(String)} method. 20517241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Returns the Unicode block with the given name. <strong>[icu] Note:</strong> Unlike 20527241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * {@link java.lang.Character.UnicodeBlock#forName(String)}, this only matches 20532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * against the official UCD name and the Java block name 20542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (ignoring case). 20552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param blockName the name of the block to match 20562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the UnicodeBlock with that name 20572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if the blockName could not be matched 20582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock forName(String blockName) { 20602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller Map<String, UnicodeBlock> m = null; 20612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (mref != null) { 20622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m = mref.get(); 20632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (m == null) { 20652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m = new HashMap<String, UnicodeBlock>(BLOCKS_.length); 20662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < BLOCKS_.length; ++i) { 20672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UnicodeBlock b = BLOCKS_[i]; 20682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String name = trimBlockName( 20692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller getPropertyValueName(UProperty.BLOCK, b.getID(), 20702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.NameChoice.LONG)); 20712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m.put(name, b); 20722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller mref = new SoftReference<Map<String, UnicodeBlock>>(m); 20742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UnicodeBlock b = m.get(trimBlockName(blockName)); 20762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (b == null) { 20772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException(); 20782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return b; 20802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static SoftReference<Map<String, UnicodeBlock>> mref; 20822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static String trimBlockName(String name) { 20842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String upper = name.toUpperCase(Locale.ENGLISH); 20852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(upper.length()); 20862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < upper.length(); i++) { 20872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c = upper.charAt(i); 20882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (c != ' ' && c != '_' && c != '-') { 20892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append(c); 20902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 20932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * {icu} Returns the type ID of this Unicode block 20972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return integer type ID of this Unicode block 20982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int getID() 21002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return m_id_; 21022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private data members --------------------------------------------- 21052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Identification code for this UnicodeBlock 21082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private int m_id_; 21102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private constructor ---------------------------------------------- 21122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeBlock constructor 21152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name name of this UnicodeBlock 21162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param id unique id of this UnicodeBlock 21172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception NullPointerException if name is <code>null</code> 21182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private UnicodeBlock(String name, int id) 21202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller super(name); 21222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m_id_ = id; 21232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (id >= 0) { 21242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BLOCKS_[id] = this; 21252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * East Asian Width constants. 21312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#EAST_ASIAN_WIDTH 21322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UCharacter#getIntPropertyValue 21332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface EastAsianWidth 21352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEUTRAL = 0; 21392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AMBIGUOUS = 1; 21422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HALFWIDTH = 2; 21452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FULLWIDTH = 3; 21482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NARROW = 4; 21512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WIDE = 5; 21542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2155ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 21562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 21582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Decomposition Type constants. 21622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#DECOMPOSITION_TYPE 21632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface DecompositionType 21652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 21692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CANONICAL = 1; 21722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMPAT = 2; 21752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CIRCLE = 3; 21782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FINAL = 4; 21812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FONT = 5; 21842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FRACTION = 6; 21872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INITIAL = 7; 21902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ISOLATED = 8; 21932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEDIAL = 9; 21962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NARROW = 10; 21992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOBREAK = 11; 22022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SMALL = 12; 22052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SQUARE = 13; 22082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUB = 14; 22112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPER = 15; 22142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VERTICAL = 16; 22172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WIDE = 17; 22202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2221ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 22222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 18; 22242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 22252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 22262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Joining Type constants. 22282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#JOINING_TYPE 22292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface JoiningType 22312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 22322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NON_JOINING = 0; 22352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JOIN_CAUSING = 1; 22382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DUAL_JOINING = 2; 22412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEFT_JOINING = 3; 22442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RIGHT_JOINING = 4; 22472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRANSPARENT = 5; 22502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2251ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 22522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 22542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 22552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 22562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Joining Group constants. 22582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#JOINING_GROUP 22592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface JoiningGroup 22612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 22622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NO_JOINING_GROUP = 0; 22652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AIN = 1; 22682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALAPH = 2; 22712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALEF = 3; 22742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BEH = 4; 22772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BETH = 5; 22802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DAL = 6; 22832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DALATH_RISH = 7; 22862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int E = 8; 22892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FEH = 9; 22922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FINAL_SEMKATH = 10; 22952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GAF = 11; 22982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GAMAL = 12; 23012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HAH = 13; 23041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 23052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TEH_MARBUTA_GOAL = 14; 23062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HAMZA_ON_HEH_GOAL = TEH_MARBUTA_GOAL; 23092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HE = 15; 23122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEH = 16; 23152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEH_GOAL = 17; 23182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HETH = 18; 23212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAF = 19; 23242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAPH = 20; 23272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KNOTTED_HEH = 21; 23302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAM = 22; 23332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAMADH = 23; 23362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEEM = 24; 23392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIM = 25; 23422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOON = 26; 23452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUN = 27; 23482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PE = 28; 23512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QAF = 29; 23542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QAPH = 30; 23572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REH = 31; 23602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REVERSED_PE = 32; 23632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAD = 33; 23662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SADHE = 34; 23692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEEN = 35; 23722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEMKATH = 36; 23752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHIN = 37; 23782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SWASH_KAF = 38; 23812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYRIAC_WAW = 39; 23842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAH = 40; 23872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAW = 41; 23902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TEH_MARBUTA = 42; 23932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TETH = 43; 23962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WAW = 44; 23992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH = 45; 24022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH_BARREE = 46; 24052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH_WITH_TAIL = 47; 24082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YUDH = 48; 24112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YUDH_HE = 49; 24142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZAIN = 50; 24172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FE = 51; 24202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHAPH = 52; 24232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZHAIN = 53; 24262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BURUSHASKI_YEH_BARREE = 54; 24291fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FARSI_YEH = 55; 24311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NYA = 56; 24331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ROHINGYA_YEH = 57; 24352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 24361fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ALEPH = 58; 24381fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_AYIN = 59; 24401fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_BETH = 60; 24421fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_DALETH = 61; 24441fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_DHAMEDH = 62; 24461fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_FIVE = 63; 24481fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_GIMEL = 64; 24501fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_HETH = 65; 24521fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_HUNDRED = 66; 24541fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_KAPH = 67; 24561fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_LAMEDH = 68; 24581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_MEM = 69; 24601fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_NUN = 70; 24621fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ONE = 71; 24641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_PE = 72; 24661fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_QOPH = 73; 24681fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_RESH = 74; 24701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_SADHE = 75; 24721fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_SAMEKH = 76; 24741fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TAW = 77; 24761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TEN = 78; 24781fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TETH = 79; 24801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_THAMEDH = 80; 24821fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TWENTY = 81; 24841fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_WAW = 82; 24861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_YODH = 83; 24881fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ZAYIN = 84; 24901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 24912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int STRAIGHT_WAW = 85; 24922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 24932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2494ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 24952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 86; 24972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 24982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 24992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Grapheme Cluster Break constants. 25012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#GRAPHEME_CLUSTER_BREAK 25022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface GraphemeClusterBreak { 25042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 25072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTROL = 1; 25102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 2; 25132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 3; 25162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int L = 4; 25192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 5; 25222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LV = 6; 25252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LVT = 7; 25282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int T = 8; 25312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int V = 9; 25342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACING_MARK = 10; 25372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PREPEND = 11; 25401fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 12; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 25422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2543ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 25442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 13; 25462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 25472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 25482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Word Break constants. 25502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#WORD_BREAK 25512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface WordBreak { 25532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 25562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALETTER = 1; 25592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FORMAT = 2; 25622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA = 3; 25652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDLETTER = 4; 25682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDNUM = 5; 25712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 6; 25742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTENDNUMLET = 7; 25772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 8; 25802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 9; 25832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 10; 25862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDNUMLET = 11; 25892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEWLINE = 12; 25921fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 13; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 25941fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_LETTER = 14; /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */ 25961fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINGLE_QUOTE = 15; /*[SQ]*/ 25981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DOUBLE_QUOTE = 16; /*[DQ]*/ 26002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2601ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 26022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 17; 26042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 26052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 26062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Sentence Break constants. 26082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#SENTENCE_BREAK 26092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface SentenceBreak { 26112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 26142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ATERM = 1; 26172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE = 2; 26202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FORMAT = 3; 26232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LOWER = 4; 26262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 5; 26292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLETTER = 6; 26322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEP = 7; 26352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SP = 8; 26382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int STERM = 9; 26412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UPPER = 10; 26442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 11; 26472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 12; 26502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 13; 26532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SCONTINUE = 14; 26562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2657ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 26582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 15; 26602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 26612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 26622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Line Break constants. 26642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#LINE_BREAK 26652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface LineBreak 26672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 26682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNKNOWN = 0; 26712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AMBIGUOUS = 1; 26742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALPHABETIC = 2; 26772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_BOTH = 3; 26802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_AFTER = 4; 26832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_BEFORE = 5; 26862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANDATORY_BREAK = 6; 26892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTINGENT_BREAK = 7; 26922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE_PUNCTUATION = 8; 26952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_MARK = 9; 26982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CARRIAGE_RETURN = 10; 27012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXCLAMATION = 11; 27042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GLUE = 12; 27072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HYPHEN = 13; 27102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IDEOGRAPHIC = 14; 27132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #INSEPARABLE 27152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSEPERABLE = 15; 27172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Renamed from the misspelled "inseperable" in Unicode 4.0.1. 27192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSEPARABLE = 15; 27212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INFIX_NUMERIC = 16; 27242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINE_FEED = 17; 27272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONSTARTER = 18; 27302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 19; 27332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPEN_PUNCTUATION = 20; 27362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int POSTFIX_NUMERIC = 21; 27392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PREFIX_NUMERIC = 22; 27422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QUOTATION = 23; 27452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMPLEX_CONTEXT = 24; 27482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SURROGATE = 25; 27512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACE = 26; 27542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_SYMBOLS = 27; 27572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZWSPACE = 28; 27602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEXT_LINE = 29; /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */ 27632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WORD_JOINER = 30; /*[WJ]*/ 27662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int H2 = 31; /* from here on: new in Unicode 4.1/ICU 3.4 */ 27692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int H3 = 32; 27722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JL = 33; 27752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JT = 34; 27782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JV = 35; 27811fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE_PARENTHESIS = 36; /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */ 27831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONDITIONAL_JAPANESE_STARTER = 37; /*[CJ]*/ /* new in Unicode 6.1/ICU 49 */ 27851fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_LETTER = 38; /*[HL]*/ /* new in Unicode 6.1/ICU 49 */ 27871fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 39; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 27892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2790ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 27912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 40; 27932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 27942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 27952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Numeric Type constants. 27972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#NUMERIC_TYPE 27982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface NumericType 28002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 28012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 28042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DECIMAL = 1; 28072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DIGIT = 2; 28102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 3; 28132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2814ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 28152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 4; 28172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 28182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Hangul Syllable Type constants. 28212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 28222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#HANGUL_SYLLABLE_TYPE 28232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface HangulSyllableType 28252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 28262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOT_APPLICABLE = 0; /*[NA]*/ /*See note !!*/ 28292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEADING_JAMO = 1; /*[L]*/ 28322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VOWEL_JAMO = 2; /*[V]*/ 28352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRAILING_JAMO = 3; /*[T]*/ 28382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LV_SYLLABLE = 4; /*[LV]*/ 28412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LVT_SYLLABLE = 5; /*[LVT]*/ 28442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2845ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 28462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 28482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 28492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Bidi Paired Bracket Type constants. 28522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 28532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET_TYPE 28542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface BidiPairedBracketType { 28562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Not a paired bracket. 28582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 28602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Open paired bracket. 28622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPEN = 1; 28642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Close paired bracket. 28662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE = 2; 28682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2869ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 28702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 3; 28722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 28732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public data members ----------------------------------------------- 28752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The lowest Unicode code point value, constant 0. 28782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MIN_CODE_POINT}, same integer value as {@link Character#MIN_VALUE}. 28792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_VALUE = Character.MIN_CODE_POINT; 28812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The highest Unicode code point value (scalar value), constant U+10FFFF (uses 21 bits). 28842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MAX_CODE_POINT}. 28852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 28862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Up-to-date Unicode implementation of {@link Character#MAX_VALUE} 28872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * which is still a char with the value U+FFFF. 28882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_VALUE = Character.MAX_CODE_POINT; 28902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The minimum value for Supplementary code points, constant U+10000. 28932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MIN_SUPPLEMENTARY_CODE_POINT}. 28942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_MIN_VALUE = Character.MIN_SUPPLEMENTARY_CODE_POINT; 28962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 28972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode value used when translating into Unicode encoding form and there 28992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is no existing character. 29002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REPLACEMENT_CHAR = '\uFFFD'; 29022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Special value that is returned by getUnicodeNumericValue(int) when no 29052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * numeric value is defined for a code point. 29062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeNumericValue 29072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final double NO_NUMERIC_VALUE = -123456789; 29092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility constant for Java Character's MIN_RADIX. 29122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_RADIX = java.lang.Character.MIN_RADIX; 29142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility constant for Java Character's MAX_RADIX. 29172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_RADIX = java.lang.Character.MAX_RADIX; 29192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Do not lowercase non-initial parts of words when titlecasing. 29222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Option bit for titlecasing APIs that take an options bit set. 29232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * By default, titlecasing will titlecase the first cased character 29252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * of a word and lowercase all other characters. 29262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * With this option, the other characters will not be modified. 29272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #toTitleCase 29292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TITLECASE_NO_LOWERCASE = 0x100; 29312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Do not adjust the titlecasing indexes from BreakIterator::next() indexes; 29342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * titlecase exactly the characters at breaks from the iterator. 29352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Option bit for titlecasing APIs that take an options bit set. 29362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * By default, titlecasing will take each break iterator index, 29382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * adjust it by looking for the next cased character, and titlecase that one. 29392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Other characters are lowercased. 29402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 294108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * This follows Unicode 4 & 5 section 3.13 Default Case Operations: 29422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex 29442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * #29, "Text Boundaries." Between each pair of word boundaries, find the first 29452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * cased character F. If F exists, map F to default_title(F); then map each 29462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * subsequent character C to default_lower(C). 29472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #toTitleCase 29492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 29502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TITLECASE_NO_BREAK_ADJUSTMENT = 0x200; 29522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public methods ---------------------------------------------------- 29542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returnss the numeric value of a decimal digit code point. 29572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This method observes the semantics of 29582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <code>java.lang.Character.digit()</code>. Note that this 29592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will return positive values for code points for which isDigit 29602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returns false, just like java.lang.Character. 29612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and 29622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * prior, this did not treat the European letters as having a 29632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digit value, and also treated numeric letters and other numbers as 29642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digits. 29652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This has been changed to conform to the java semantics. 29662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>A code point is a valid digit if and only if: 29672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 29682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li>ch is a decimal digit or one of the european letters, and 29692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li>the value of ch is less than the specified radix. 29702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 29712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 29722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param radix the radix 29732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value represented by the code point in the 29742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified radix, or -1 if the code point is not a decimal digit 29752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or if its value is too large for the radix 29762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int digit(int ch, int radix) 29782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 29792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (2 <= radix && radix <= 36) { 29802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int value = digit(ch); 29812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (value < 0) { 29822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // ch is not a decimal digit, try latin letters 29832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller value = UCharacterProperty.getEuropeanDigit(ch); 29842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (value < radix) ? value : -1; 29862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 29872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; // invalid radix 29882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returnss the numeric value of a decimal digit code point. 29932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This is a convenience overload of <code>digit(int, int)</code> 29942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that provides a decimal radix. 29952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this 29962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * treated numeric letters and other numbers as digits. This has 29972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * been changed to conform to the java semantics. 29982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 29992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value represented by the code point, 30002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or -1 if the code point is not a decimal digit or if its 30012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * value is too large for a decimal radix 30022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int digit(int ch) 30042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 30052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.digit(ch); 30062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the numeric value of the code point as a nonnegative 30102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * integer. 30112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>If the code point does not have a numeric value, then -1 is returned. 30122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 30132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the code point has a numeric value that cannot be represented as a 30142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nonnegative integer (for example, a fractional value), then -2 is 30152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned. 30162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 30172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value of the code point, or -1 if it has no numeric 30182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * value, or -2 if it has a numeric value that cannot be represented as a 30192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nonnegative integer 30202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getNumericValue(int ch) 30222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 30232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getNumericValue(ch); 30242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30271537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the numeric value for a Unicode code point as defined in the 302808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Unicode Character Database. 30292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>A "double" return type is necessary because some numeric values are 303008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * fractions, negative, or too large for int. 30312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For characters without any numeric values in the Unicode Character 30322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Database, this function will return NO_NUMERIC_VALUE. 303308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Note: This is different from the Unicode Standard which specifies NaN as the default value. 30342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p><em>API Change:</em> In release 2.2 and prior, this API has a 30352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * return type int and returns -1 when the argument ch does not have a 30362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * corresponding numeric value. This has been changed to synch with ICU4C 303708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 30382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This corresponds to the ICU4C function u_getNumericValue. 30392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch Code point to get the numeric value for. 30402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return numeric value of ch, or NO_NUMERIC_VALUE if none is defined. 30412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static double getUnicodeNumericValue(int ch) 30432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 30442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getUnicodeNumericValue(ch); 30452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 30492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. 30502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as java.lang.Character.isSpace(). 30512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point 30522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is a space character as 30532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined by java.lang.Character.isSpace. 30542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 305593cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 30562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 30582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSpace(int ch) { 30592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch <= 0x20 && 30602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller (ch == 0x20 || ch == 0x09 || ch == 0x0a || ch == 0x0c || ch == 0x0d); 30612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a value indicating a code point's Unicode category. 30652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.getType() 30662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * except for the above mentioned code points that had their category 30672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * changed.<br> 30682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return results are constants from the interface 30692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=UCharacterCategory.html>UCharacterCategory</a><br> 30702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with 30712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * those returned by java.lang.Character.getType. UCharacterCategory values 30722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * match the ones used in ICU4C, while java.lang.Character type 307308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * values, though similar, skip the value 17. 30742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose type is to be determined 30752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return category which is a value of UCharacterCategory 30762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getType(int ch) 30782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 30792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getType(ch); 30802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if a code point has a defined meaning in the up-to-date 30842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode standard. 30852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * E.g. supplementary code points though allocated space are not defined in 30862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode yet.<br> 30872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isDefined() 30882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is defined in the most 30892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * current version of Unicode 30902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if this code point is defined in unicode 30912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isDefined(int ch) 30932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 30942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) != 0; 30952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if a code point is a Java digit. 30992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This method observes the semantics of 31002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <code>java.lang.Character.isDigit()</code>. It returns true for decimal 31012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digits only. 31022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this treated 31032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * numeric letters and other numbers as digits. 31042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This has been changed to conform to the java semantics. 31052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to query 31062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if this code point is a digit 31072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isDigit(int ch) 31092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.DECIMAL_DIGIT_NUMBER; 31112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is an ISO control character. 31152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is considered to be an ISO control character if it is in 311608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * the range \u0000 through \u001F or in the range \u007F through 311708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * \u009F.<br> 31182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isISOControl() 31192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is an ISO control character 31202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a ISO control character 31212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isISOControl(int ch) 31232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch >= 0 && ch <= APPLICATION_PROGRAM_COMMAND_ && 31252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ((ch <= UNIT_SEPARATOR_) || (ch >= DELETE_)); 31262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a letter. 31302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isLetter() 31312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a letter 31322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a letter 31332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLetter(int ch) 31352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 31372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 31382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 31392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 31402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 31412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 31422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER))) != 0; 31432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a letter or digit. 31471537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> This method, unlike java.lang.Character does not regard the ascii 31482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters 'A' - 'Z' and 'a' - 'z' as digits. 31492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a letter or a digit 31502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a letter or a digit 31512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLetterOrDigit(int ch) 31532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 31552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 31562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 31572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 31582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 31592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 31602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER))) != 0; 31612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 31652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. Delegates to 31662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierStart. 31672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 31682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can start a java identifier. 31692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 317093cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 31712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 31732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaLetter(int cp) { 31742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isJavaIdentifierStart(cp); 31752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 31792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. Delegates to 31802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierPart. 31812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 31822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can continue a java identifier. 31832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 318493cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 31852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 31872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaLetterOrDigit(int cp) { 31882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isJavaIdentifierPart(cp); 31892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java method, delegates to 31932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierStart. 31942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 31952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can start a java identifier. 31962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaIdentifierStart(int cp) { 31982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // note, downcast to char for jdk 1.4 compatibility 31992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.isJavaIdentifierStart((char)cp); 32002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java method, delegates to 32042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierPart. 32052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 32062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can continue a java identifier. 32072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaIdentifierPart(int cp) { 32092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // note, downcast to char for jdk 1.4 compatibility 32102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.isJavaIdentifierPart((char)cp); 32112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a lowercase character. 32152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code points where they are 32162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 32172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> For more information about Unicode case mapping 32182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * please refer to the 32192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/>Technical report 32202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * #21</a>.<br> 32212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isLowerCase() 32222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in lowercase 32232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a lowercase character 32242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLowerCase(int ch) 32262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 32282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.LOWERCASE_LETTER; 32292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a white space character. 32332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is considered to be an whitespace character if and only 32342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * if it satisfies one of the following criteria: 32352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 32362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not 323708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * also a non-breaking space (\u00A0 or \u2007 or \u202F). 323808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u0009, HORIZONTAL TABULATION. 323908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000A, LINE FEED. 324008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000B, VERTICAL TABULATION. 324108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000C, FORM FEED. 324208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000D, CARRIAGE RETURN. 324308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001C, FILE SEPARATOR. 324408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001D, GROUP SEPARATOR. 324508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001E, RECORD SEPARATOR. 324608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001F, UNIT SEPARATOR. 32472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 32482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 32492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This API tries to sync with the semantics of Java's 32502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isWhitespace(), but it may not return 32512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the exact same results because of the Unicode version 32522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * difference. 32532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note: Unicode 4.0.1 changed U+200B ZERO WIDTH SPACE from a Space Separator (Zs) 32542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a Format Control (Cf). Since then, isWhitespace(0x200b) returns false. 32552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See http://www.unicode.org/versions/Unicode4.0.1/ 32562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a white space 32572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a white space character 32582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isWhitespace(int ch) 32602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // exclude no-break spaces 32622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 32632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) & 32642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ((1 << UCharacterCategory.SPACE_SEPARATOR) 32652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LINE_SEPARATOR) 32662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR))) != 0 32672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && (ch != NO_BREAK_SPACE_) && (ch != FIGURE_SPACE_) && (ch != NARROW_NO_BREAK_SPACE_) 32682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // TAB VT LF FF CR FS GS RS US NL are all control characters 32692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // that are white spaces. 32702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || (ch >= 0x9 && ch <= 0xd) || (ch >= 0x1c && ch <= 0x1f); 32712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a Unicode specified space 32752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character, i.e. if code point is in the category Zs, Zl and Zp. 32762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isSpaceChar(). 32772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a space 32782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a space character 32792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSpaceChar(int ch) 32812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 32832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) & ((1 << UCharacterCategory.SPACE_SEPARATOR) 32842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LINE_SEPARATOR) 32852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR))) 32862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller != 0; 32872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a titlecase character. 32912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code points where they are 32922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 32932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> 32942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information about Unicode case mapping please refer to the 32952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/> 32962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Technical report #21</a>.<br> 32972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isTitleCase(). 32982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in title case 32992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a titlecase character 33002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isTitleCase(int ch) 33022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 33042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.TITLECASE_LETTER; 33052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point may be any part of a Unicode 33092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier other than the starting character. 33102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point may be part of a Unicode identifier if and only if it is 33112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one of the following: 33122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 33132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lu Uppercase letter 33142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Ll Lowercase letter 33152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lt Titlecase letter 33162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lm Modifier letter 33172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lo Other letter 33182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nl Letter number 33192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Pc Connecting punctuation character 33202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nd decimal number 33212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Mc Spacing combining mark 33222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Mn Non-spacing mark 33232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Cf formatting code 33242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 33252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 33262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isUnicodeIdentifierPart().<br> 33272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 33282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if is can be part of a Unicode 33292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier 33302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is any character belonging a unicode 33312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier suffix after the first character 33322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUnicodeIdentifierPart(int ch) 33342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 33362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // cat == format 33372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 33382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 33392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 33402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 33412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 33422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 33432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LETTER_NUMBER) 33442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.CONNECTOR_PUNCTUATION) 33452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER) 33462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.COMBINING_SPACING_MARK) 33472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.NON_SPACING_MARK))) != 0 33482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || isIdentifierIgnorable(ch); 33492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is permissible as the first 33532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character in a Unicode identifier. 33542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point may start a Unicode identifier if it is of type either 33552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 33562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lu Uppercase letter 33572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Ll Lowercase letter 33582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lt Titlecase letter 33592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lm Modifier letter 33602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lo Other letter 33612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nl Letter number 33622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 33632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 33642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isUnicodeIdentifierStart().<br> 33652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 33662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it can start a Unicode identifier 33672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is the first character belonging a unicode 33682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier 33692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUnicodeIdentifierStart(int ch) 33712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /*int cat = getType(ch);*/ 33732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 33742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 33752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 33762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 33772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 33782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 33792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 33802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LETTER_NUMBER))) != 0; 33812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point should be regarded as an 33852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ignorable character in a Java identifier. 33862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A character is Java-identifier-ignorable if it has the general category 33872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Cf Formatting Control, or it is a non-Java-whitespace ISO control: 33882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * U+0000..U+0008, U+000E..U+001B, U+007F..U+009F.<br> 33892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 33902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isIdentifierIgnorable().<br> 33912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 33922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note that Unicode just recommends to ignore Cf (format controls). 33932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it can be ignored in a Unicode 33942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier. 33952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is ignorable 33962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isIdentifierIgnorable(int ch) 33982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // see java.lang.Character.isIdentifierIgnorable() on range of 34002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // ignorable characters. 34012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch <= 0x9f) { 34022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isISOControl(ch) 34032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && !((ch >= 0x9 && ch <= 0xd) 34042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || (ch >= 0x1c && ch <= 0x1f)); 34052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.FORMAT; 34072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is an uppercase character. 34112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code point where they are 34122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 34132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> 34142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For language specific case conversion behavior, use 34152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * toUpperCase(locale, str). <br> 34162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For example, the case conversion for dot-less i and dotted I in Turkish, 34172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or for final sigma in Greek. 34182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information about Unicode case mapping please refer to the 34192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/> 34202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Technical report #21</a>.<br> 34212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isUpperCase(). 34222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in uppercase 34232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is an uppercase character 34242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUpperCase(int ch) 34262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 34282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.UPPERCASE_LETTER; 34292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The given code point is mapped to its lowercase equivalent; if the code 34332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point has no lowercase equivalent, the code point itself is returned. 34342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toLowerCase() 34352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 34372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 34382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 34392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 34402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 34412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 34422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 34432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 34442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 34452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose lowercase equivalent is to be retrieved 34472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the lowercase equivalent code point 34482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toLowerCase(int ch) { 34502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.tolower(ch); 34512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts argument code point and returns a String object representing 34552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the code point's value in UTF-16 format. 34562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The result is a string whose length is 1 for BMP code points, 2 for supplementary ones. 34572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Up-to-date Unicode implementation of java.lang.Character.toString(). 34592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point 34612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return string representation of the code point, null if code point is not 34622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined in unicode 34632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toString(int ch) 34652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE || ch > MAX_VALUE) { 34672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 34682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < SUPPLEMENTARY_MIN_VALUE) { 34712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return String.valueOf((char)ch); 34722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new String(Character.toChars(ch)); 34752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts the code point argument to titlecase. 34792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no titlecase is available, the uppercase is returned. If no uppercase 34802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is available, the code point itself is returned. 34812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toTitleCase() 34822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 34842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 34852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 34862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 34872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 34882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 34892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 34902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 34912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 34922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose title case is to be retrieved 34942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return titlecase code point 34952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toTitleCase(int ch) { 34972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.totitle(ch); 34982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts the character argument to uppercase. 35022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no uppercase is available, the character itself is returned. 35032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toUpperCase() 35042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 35052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 35062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 35072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 35082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 35092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 35102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 35112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 35122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 35132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 35142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 35152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose uppercase is to be retrieved 35162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase code point 35172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toUpperCase(int ch) { 35192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.toupper(ch); 35202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // extra methods not in java.lang.Character -------------------------- 35232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35251537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines if the code point is a supplementary character. 35262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is a supplementary character if and only if it is greater 35272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * than <a href=#SUPPLEMENTARY_MIN_VALUE>SUPPLEMENTARY_MIN_VALUE</a> 35282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is in the supplementary 35292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * plane 35302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a supplementary character 35312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSupplementary(int ch) 35332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch >= UCharacter.SUPPLEMENTARY_MIN_VALUE && 35352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch <= UCharacter.MAX_VALUE; 35362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35391537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines if the code point is in the BMP plane. 35402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is not a supplementary 35412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character 35422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is not a supplementary character 35432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isBMP(int ch) 35452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (ch >= 0 && ch <= LAST_CHAR_MASK_); 35472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35501537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines whether the specified code point is a printable character 35512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * according to the Unicode standard. 35522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is printable 35532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is a printable character 35542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isPrintable(int ch) 35562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cat = getType(ch); 35582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 35592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (cat != UCharacterCategory.UNASSIGNED && 35602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.CONTROL && 35612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.FORMAT && 35622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.PRIVATE_USE && 35632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.SURROGATE && 35642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.GENERAL_OTHER_TYPES); 35652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35681537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines whether the specified code point is of base form. 35692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point of base form does not graphically combine with preceding 35702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters, and is neither a control nor a format character. 35712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is of base form 35722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is of base form 35732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isBaseForm(int ch) 35752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cat = getType(ch); 35772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 35782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cat == UCharacterCategory.DECIMAL_DIGIT_NUMBER || 35792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.OTHER_NUMBER || 35802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.LETTER_NUMBER || 35812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.UPPERCASE_LETTER || 35822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.LOWERCASE_LETTER || 35832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.TITLECASE_LETTER || 35842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.MODIFIER_LETTER || 35852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.OTHER_LETTER || 35862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.NON_SPACING_MARK || 35872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.ENCLOSING_MARK || 35882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.COMBINING_SPACING_MARK; 35892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35921537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the Bidirection property of a code point. 35932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For example, 0x0041 (letter A) has the LEFT_TO_RIGHT directional 35942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property.<br> 35952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Result returned belongs to the interface 35962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=UCharacterDirection.html>UCharacterDirection</a> 35972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to be determined its direction 35982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return direction constant from UCharacterDirection. 35992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getDirection(int ch) 36012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getClass(ch); 36032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines whether the code point has the "mirrored" property. 36072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This property is set for characters that are commonly used in 36082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Right-To-Left contexts and need to be displayed with a "mirrored" 36092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * glyph. 36102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose mirror is to be determined 36112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point has the "mirrored" property 36122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isMirrored(int ch) 36142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.isMirrored(ch); 36162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36191537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Maps the specified code point to a "mirror-image" code point. 36202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For code points with the "mirrored" property, implementations sometimes 36212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * need a "poor man's" mapping to another code point such that the default 36222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * glyph may serve as the mirror-image of the default glyph of the 36232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified code point.<br> 36242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This is useful for text conversion to and from codepages with visual 36252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * order, and for displays without glyph selection capabilities. 36262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose mirror is to be retrieved 36272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return another code point that may serve as a mirror-image substitute, 36282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or ch itself if there is no such mapping or ch does not have the 36292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "mirrored" property 36302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getMirror(int ch) 36322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getMirror(ch); 36342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36371537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Maps the specified character to its paired bracket character. 36382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For Bidi_Paired_Bracket_Type!=None, this is the same as getMirror(int). 36392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Otherwise c itself is returned. 36402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See http://www.unicode.org/reports/tr9/ 36412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param c the code point to be mapped 36432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the paired bracket code point, 36442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or c itself if there is no such mapping 36452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (Bidi_Paired_Bracket_Type=None) 36462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET 36482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET_TYPE 36492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getMirror(int) 36502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getBidiPairedBracket(int c) { 36522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getPairedBracket(c); 36532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36561537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the combining class of the argument codepoint 36572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose combining is to be retrieved 36582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the combining class of the codepoint 36592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCombiningClass(int ch) 36612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Normalizer2.getNFDInstance().getCombiningClass(ch); 36632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36661537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> A code point is illegal if and only if 36672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 36682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE 36692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> A surrogate value, 0xD800 to 0xDFFF 36702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE 36712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 36722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: legal does not mean that it is assigned in this version of Unicode. 36732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a legal code point by itself 36742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if and only if legal. 36752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLegal(int ch) 36772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE) { 36792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 36802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < Character.MIN_SURROGATE) { 36822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 36832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch <= Character.MAX_SURROGATE) { 36852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 36862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (UCharacterUtility.isNonCharacter(ch)) { 36882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 36892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (ch <= MAX_VALUE); 36912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36941537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> A string is legal iff all its code points are legal. 36952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is illegal if and only if 36962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 36972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE 36982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> A surrogate value, 0xD800 to 0xDFFF 36992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE 37002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 37012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: legal does not mean that it is assigned in this version of Unicode. 37022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str containing code points to examin 37032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if and only if legal. 37042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLegal(String str) 37062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int size = str.length(); 37082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int codepoint; 37092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < size; i += Character.charCount(codepoint)) 37102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller codepoint = str.codePointAt(i); 37122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (!isLegal(codepoint)) { 37132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 37142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 37172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37201537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the version of Unicode data used. 37212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the unicode version number used 37222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static VersionInfo getUnicodeVersion() 37242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.m_unicodeVersion_; 37262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37291537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the most current Unicode name of the argument code point, or 37302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * null if the character is unassigned or outside the range 37312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name. 37322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 37332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 37342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 37352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 37362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return most current Unicode name 37372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName(int ch) 37392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.UNICODE_CHAR_NAME); 37412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37441537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the names for each of the characters in a string 37452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param s string to format 37462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param separator string to go between names 37472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return string of names 37482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName(String s, String separator) { 37502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (s.length() == 1) { // handle common case 37512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getName(s.charAt(0)); 37522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cp; 37542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder sb = new StringBuilder(); 37552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < s.length(); i += Character.charCount(cp)) { 37562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cp = s.codePointAt(i); 37572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (i != 0) sb.append(separator); 37582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller sb.append(UCharacter.getName(cp)); 37592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return sb.toString(); 37612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37641537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns null. 37652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Used to return the Unicode_1_Name property value which was of little practical value. 37662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 37672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return null 37682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 376993cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 37702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 37722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName1_0(int ch) 37732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 37752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37781537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a name for a valid codepoint. Unlike, getName(int) and 37792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getName1_0(int), this method will return a name even for codepoints that 37802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are not assigned a name in UnicodeData.txt. 378108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 378208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>The names are returned in the following order. 37832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 37842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Most current Unicode name if there is any 37852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Unicode 1.0 name if there is any 37862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Extended name in the form of 37872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "<codepoint_type-codepoint_hex_digits>". E.g., <noncharacter-fffe> 37882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 37892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 37902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 37912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 37922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name for the argument codepoint 37932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getExtendedName(int ch) { 37952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.EXTENDED_CHAR_NAME); 37962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37991537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the corrected name from NameAliases.txt if there is one. 38002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns null if the character is unassigned or outside the range 38012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name. 38022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 38032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 38042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 38052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name alias 38062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Unicode name alias, or null 38072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getNameAlias(int ch) 38092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.CHAR_NAME_ALIAS); 38112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38141537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns null. 38152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Used to return the ISO 10646 comment for a character. 38162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The Unicode ISO_Comment property is deprecated and has no values. 38172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 38182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch The code point for which to get the ISO comment. 38192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * It must be the case that {@code 0 <= ch <= 0x10ffff}. 38202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return null 38212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 382293cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 38232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 38252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getISOComment(int ch) 38262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 38282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38311537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Finds a Unicode code point by its most current Unicode name and 383208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * return its code point value. All Unicode names are in uppercase. 38332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 38342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 38352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name most current Unicode character name whose code point is to 38362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * be returned 38372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point or -1 if name is not found 38382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromName(String name){ 38402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName( 38412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.UNICODE_CHAR_NAME, name); 38422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38451537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns -1. 38462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Used to find a Unicode character by its version 1.0 Unicode name and return 384708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * its code point value. 38482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name Unicode 1.0 code point name whose code point is to be 38492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned 38502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return -1 38512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 38522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getName1_0(int) 385393cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 38542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 38562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromName1_0(String name){ 38572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; 38582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38611537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Find a Unicode character by either its name and return its code 38622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point value. All Unicode names are in uppercase. 38632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Extended names are all lowercase except for numbers and are contained 386408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * within angle brackets. 38652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The names are searched in the following order 38662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 38672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Most current Unicode name if there is any 38682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Unicode 1.0 name if there is any 38692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Extended name in the form of 387008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE> 38712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 38722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 38732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 38742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name codepoint name 38752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point associated with the name or -1 if the name is not 38762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * found. 38772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromExtendedName(String name){ 38792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName( 38802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.EXTENDED_CHAR_NAME, name); 38812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38841537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Find a Unicode character by its corrected name alias and return 388508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * its code point value. All Unicode names are in uppercase. 38862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 38872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 38882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name Unicode name alias whose code point is to be returned 38892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point or -1 if name is not found 38902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromNameAlias(String name){ 38922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName(UCharacterNameChoice.CHAR_NAME_ALIAS, name); 38932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38961537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the Unicode name for a given property, as given in the 38972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode database file PropertyAliases.txt. Most properties 38982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * have more than one name. The nameChoice determines which one 38992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is returned. 39002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition, this function maps the property 39022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY_MASK to the synthetic names "gcm" / 39032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "General_Category_Mask". These names are not in 39042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 39052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector. 39072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice UProperty.NameChoice selector for which name 39092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to get. All properties have a long name. Most have a short 39102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * name, but some do not. Unicode allows for additional names; if 39112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * present these will be returned by UProperty.NameChoice.LONG + i, 39122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * where i=1, 2,... 39132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name, or null if Unicode explicitly defines no name 39152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ("n/a") for a given property/nameChoice. If a given nameChoice 39162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * throws an exception, then all larger values of nameChoice will 39172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * throw an exception. If null is returned for a given 39182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice, then other nameChoice values may return non-null 39192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * results. 39202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if property or 39222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice are invalid. 39232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 39252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty.NameChoice 39262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getPropertyName(int property, 39282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int nameChoice) { 39292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyName(property, nameChoice); 39302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39331537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the UProperty selector for a given property name, as 39342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified in the Unicode database file PropertyAliases.txt. 39352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Short, long, and any other variants are recognized. 39362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition, this function maps the synthetic names "gcm" / 39382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "General_Category_Mask" to the property 39392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY_MASK. These names are not in 39402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 39412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param propertyAlias the property name to be matched. The name 39432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is compared using "loose matching" as described in 39442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 39452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a UProperty enum. 39472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if propertyAlias 39492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is not recognized. 39502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 39522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyEnum(CharSequence propertyAlias) { 39542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int propEnum = UPropertyAliases.INSTANCE.getPropertyEnum(propertyAlias); 39552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propEnum == UProperty.UNDEFINED) { 39562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalIcuArgumentException("Invalid name: " + propertyAlias); 39572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return propEnum; 39592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39621537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the Unicode name for a given property value, as given in 39632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the Unicode database file PropertyValueAliases.txt. Most 39642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values have more than one name. The nameChoice determines 39652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * which one is returned. 39662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: Some of the names in PropertyValueAliases.txt can only be 39682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * retrieved using UProperty.GENERAL_CATEGORY_MASK, not 39692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY. These include: "C" / "Other", "L" / 39702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 39712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 39722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector constant. 39742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= property < UProperty.INT_LIMIT or 39752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= property < UProperty.BINARY_LIMIT or 39762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START < = property < UProperty.MASK_LIMIT. 39772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If out of range, null is returned. 39782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param value selector for a value for the given property. In 39802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * general, valid values range from 0 up to some maximum. There 39812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are a few exceptions: (1.) UProperty.BLOCK values begin at the 39822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * non-zero value BASIC_LATIN.getID(). (2.) 39832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.CANONICAL_COMBINING_CLASS values are not contiguous 39842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and range from 0..240. (3.) UProperty.GENERAL_CATEGORY_MASK values 39852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are mask values produced by left-shifting 1 by 39862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.getType(). This allows grouped categories such as 39872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * [:L:] to be represented. Mask values are non-contiguous. 39882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice UProperty.NameChoice selector for which name 39902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to get. All values have a long name. Most have a short name, 39912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * but some do not. Unicode allows for additional names; if 39922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * present these will be returned by UProperty.NameChoice.LONG + i, 39932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * where i=1, 2,... 39942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name, or null if Unicode explicitly defines no name 39962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ("n/a") for a given property/value/nameChoice. If a given 39972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice throws an exception, then all larger values of 39982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice will throw an exception. If null is returned for a 39992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * given nameChoice, then other nameChoice values may return 40002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * non-null results. 40012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if property, value, 40032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or nameChoice are invalid. 40042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 40062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty.NameChoice 40072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getPropertyValueName(int property, 40092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int value, 40102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int nameChoice) 40112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 40122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if ((property == UProperty.CANONICAL_COMBINING_CLASS 40132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || property == UProperty.LEAD_CANONICAL_COMBINING_CLASS 40142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || property == UProperty.TRAIL_CANONICAL_COMBINING_CLASS) 40152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && value >= UCharacter.getIntPropertyMinValue( 40162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.CANONICAL_COMBINING_CLASS) 40172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && value <= UCharacter.getIntPropertyMaxValue( 40182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.CANONICAL_COMBINING_CLASS) 40192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && nameChoice >= 0 && nameChoice < UProperty.NameChoice.COUNT) { 40202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // this is hard coded for the valid cc 40212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // because PropertyValueAliases.txt does not contain all of them 40222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller try { 40232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueName(property, value, 40242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller nameChoice); 40252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller catch (IllegalArgumentException e) { 40272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 40282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueName(property, value, nameChoice); 40312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40341537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the property value integer for a given value name, as 40352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified in the Unicode database file PropertyValueAliases.txt. 40362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Short, long, and any other variants are recognized. 40372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: Some of the names in PropertyValueAliases.txt will only be 40392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * recognized with UProperty.GENERAL_CATEGORY_MASK, not 40402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY. These include: "C" / "Other", "L" / 40412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 40422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 40432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector constant. 40452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= property < UProperty.INT_LIMIT or 40462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= property < UProperty.BINARY_LIMIT or 40472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START < = property < UProperty.MASK_LIMIT. 40482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Only these properties can be enumerated. 40492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param valueAlias the value name to be matched. The name is 40512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * compared using "loose matching" as described in 40522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyValueAliases.txt. 40532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a value integer. Note: UProperty.GENERAL_CATEGORY 40552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values are mask values produced by left-shifting 1 by 40562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.getType(). This allows grouped categories such as 40572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * [:L:] to be represented. 40582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 40602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if property is not a valid UProperty 40612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * selector or valueAlias is not a value of this property 40622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyValueEnum(int property, CharSequence valueAlias) { 40642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int propEnum = UPropertyAliases.INSTANCE.getPropertyValueEnum(property, valueAlias); 40652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propEnum == UProperty.UNDEFINED) { 40662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalIcuArgumentException("Invalid name: " + valueAlias); 40672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return propEnum; 40692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link #getPropertyValueEnum(int, CharSequence)}, except doesn't throw exception. Instead, returns UProperty.UNDEFINED. 40732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property Same as {@link #getPropertyValueEnum(int, CharSequence)} 40742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param valueAlias Same as {@link #getPropertyValueEnum(int, CharSequence)} 40752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return returns UProperty.UNDEFINED if the value is not valid, otherwise the value. 40762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated This API is ICU internal only. 407793cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 4078836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 40792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 40812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyValueEnumNoThrow(int property, CharSequence valueAlias) { 40822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueEnumNoThrow(property, valueAlias); 40832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40871537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a code point corresponding to the two surrogate code units. 40882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param lead the lead char 40902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param trail the trail char 40912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point if surrogate characters are valid. 40922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown when the code units do 40932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * not form a valid code point 40942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCodePoint(char lead, char trail) 40962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 40972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (Character.isSurrogatePair(lead, trail)) { 40982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toCodePoint(lead, trail); 40992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal surrogate characters"); 41012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41041537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the code point corresponding to the BMP code point. 41052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param char16 the BMP code point 41072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point if argument is a valid character. 41082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown when char16 is not a valid 41092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * code point 41102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCodePoint(char char16) 41122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 41132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (UCharacter.isLegal(char16)) { 41142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return char16; 41152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal codepoint"); 41172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Implementation of UCaseProps.ContextIterator, iterates over a String. 41212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See ustrcase.c/utf16_caseContextIterator(). 41222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static class StringContextIterator implements UCaseProps.ContextIterator { 41242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constructor. 41262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param s String to iterate over. 41272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringContextIterator(String s) { 41292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller this.s=s; 41302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller limit=s.length(); 41312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cpStart=cpLimit=index=0; 41322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller dir=0; 41332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Set the iteration limit for nextCaseMapCP() to an index within the string. 41372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the limit parameter is negative or past the string, then the 41382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * string length is restored as the iteration limit. 41392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This limit does not affect the next() function which always 41412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterates to the very end of the string. 41422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param lim The iteration limit. 41442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void setLimit(int lim) { 41462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(0<=lim && lim<=s.length()) { 41472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller limit=lim; 41482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 41492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller limit=s.length(); 41502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Move to the iteration limit without fetching code points up to there. 41552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void moveToLimit() { 41572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cpStart=cpLimit=limit; 41582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Iterate forward through the string to fetch the next code point 41622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to be case-mapped, and set the context indexes for it. 41632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>When the iteration limit is reached (and -1 is returned), 41652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getCPStart() will be at the iteration limit. 41662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Iteration with next() does not affect the position for nextCaseMapCP(). 41682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return The next code point to be case-mapped, or <0 when the iteration is done. 41702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int nextCaseMapCP() { 41722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cpStart=cpLimit; 41732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(cpLimit<limit) { 41742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c=s.codePointAt(cpLimit); 41752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cpLimit+=Character.charCount(c); 41762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c; 41772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 41782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; 41792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the start of the code point that was last returned 41842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * by nextCaseMapCP(). 41852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int getCPStart() { 41872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cpStart; 41882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the limit of the code point that was last returned 41922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * by nextCaseMapCP(). 41932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int getCPLimit() { 41952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cpLimit; 41962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // implement UCaseProps.ContextIterator 41992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // The following code is not used anywhere in this private class 42002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void reset(int direction) { 42012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(direction>0) { 42022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* reset for forward iteration */ 42032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller dir=1; 42042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=cpLimit; 42052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(direction<0) { 42062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* reset for backward iteration */ 42072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller dir=-1; 42082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=cpStart; 42092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 42102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // not a valid direction 42112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller dir=0; 42122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=0; 42132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int next() { 42172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c; 42182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(dir>0 && index<s.length()) { 42202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=s.codePointAt(index); 42212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index+=Character.charCount(c); 42222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c; 42232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(dir<0 && index>0) { 42242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=s.codePointBefore(index); 42252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index-=Character.charCount(c); 42262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c; 42272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; 42292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // variables 42322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller protected String s; 42332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller protected int index, limit, cpStart, cpLimit; 42342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller protected int dir; // 0=initial state >0=forward <0=backward 42352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 42392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the default locale and context-sensitive. 42402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 42422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(String str) 42442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toUpperCase(ULocale.getDefault(), str); 42462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 42502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the default locale and context-sensitive 42512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 42532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(String str) 42552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toLowerCase(ULocale.getDefault(), str); 42572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 426008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 42612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 42622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 42632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 42642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 42652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 42662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 426708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 42682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 426908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 427008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the default locale and context-sensitive 42712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param breakiter break iterator to determine the positions in which 42732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 42742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 42752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(String str, BreakIterator breakiter) 42772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toTitleCase(ULocale.getDefault(), str, breakiter); 42792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 42832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive. 42842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 42852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 42872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(Locale locale, String str) 42892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toUpperCase(ULocale.forLocale(locale), str); 42912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 42952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive. 42962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 42972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 42992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 43002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(ULocale locale, String str) { 43012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringContextIterator iter = new StringContextIterator(str); 43022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(str.length()); 43032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int[] locCache = new int[1]; 43042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c; 43052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (locale == null) { 43072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locale = ULocale.getDefault(); 43082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locCache[0]=0; 43102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while((c=iter.nextCaseMapCP())>=0) { 43122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCaseProps.INSTANCE.toFullUpper(c, iter, result, locale, locCache); 43132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* decode the result */ 43152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(c<0) { 43162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* (not) original code point */ 43172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=~c; 43182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(c<=UCaseProps.MAX_STRING_LENGTH) { 43192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* mapping already appended to result */ 43202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller continue; 43212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* } else { append single-code point mapping */ 43222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.appendCodePoint(c); 43242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 43262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 43292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 43302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive 43312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 43322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 43332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 43342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 43352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(Locale locale, String str) 43362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 43372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toLowerCase(ULocale.forLocale(locale), str); 43382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 43412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 43422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive 43432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 43442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 43452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 43462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 43472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(ULocale locale, String str) { 43482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringContextIterator iter = new StringContextIterator(str); 43492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(str.length()); 43502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int[] locCache = new int[1]; 43512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c; 43522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (locale == null) { 43542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locale = ULocale.getDefault(); 43552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locCache[0]=0; 43572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while((c=iter.nextCaseMapCP())>=0) { 43592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCaseProps.INSTANCE.toFullLower(c, iter, result, locale, locCache); 43602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* decode the result */ 43622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(c<0) { 43632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* (not) original code point */ 43642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=~c; 43652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(c<=UCaseProps.MAX_STRING_LENGTH) { 43662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* mapping already appended to result */ 43672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller continue; 43682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* } else { append single-code point mapping */ 43692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.appendCodePoint(c); 43712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 43732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 437608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 43772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 43782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 43792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 43802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 43812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 43822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 438308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 43842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 438508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 438608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 43872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 43882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 43892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param breakiter break iterator to determine the positions in which 43902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 43912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 43922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 43932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(Locale locale, String str, 43942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator breakiter) 43952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 43962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toTitleCase(ULocale.forLocale(locale), str, breakiter); 43972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 43982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 43992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 440008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 44012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 44022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 44032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 44042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 44052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 44062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 440708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 44082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 440908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 441008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 44112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 44142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 44152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(ULocale locale, String str, 44182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator titleIter) { 44192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toTitleCase(locale, str, titleIter, 0); 44202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 442308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 44242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 44252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 44262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 44272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 44282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 44292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 443008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 44312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 443208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 443308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 44342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 44372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 44382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options bit set to modify the titlecasing operation 44392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 44412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_BREAK_ADJUSTMENT 44422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(ULocale locale, String str, 44442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator titleIter, 44452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int options) { 44462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringContextIterator iter = new StringContextIterator(str); 44472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(str.length()); 44482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int[] locCache = new int[1]; 44492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c, nc, srcLength = str.length(); 44502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (locale == null) { 44522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locale = ULocale.getDefault(); 44532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locCache[0]=0; 44552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(titleIter == null) { 44572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleIter = BreakIterator.getWordInstance(locale); 44582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleIter.setText(str); 44602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int prev, titleStart, index; 44622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller boolean isFirstIndex; 44632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller boolean isDutch = locale.getLanguage().equals("nl"); 44642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller boolean FirstIJ = true; 44652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* set up local variables */ 44672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller prev=0; 44682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller isFirstIndex=true; 44692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* titlecasing loop */ 44712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while(prev<srcLength) { 44722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* find next index where to titlecase */ 44732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(isFirstIndex) { 44742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller isFirstIndex=false; 44752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=titleIter.first(); 44762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 44772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=titleIter.next(); 44782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(index==BreakIterator.DONE || index>srcLength) { 44802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller index=srcLength; 44812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* 44842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4 & 5 section 3.13 Default Case Operations: 44852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 44862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex 44872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * #29, "Text Boundaries." Between each pair of word boundaries, find the first 44882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * cased character F. If F exists, map F to default_title(F); then map each 44892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * subsequent character C to default_lower(C). 44902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 44912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In this implementation, segment [prev..index[ into 3 parts: 44922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a) uncased characters (copy as-is) [prev..titleStart[ 44932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * b) first case letter (titlecase) [titleStart..titleLimit[ 44942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * c) subsequent characters (lowercase) [titleLimit..index[ 44952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(prev<index) { 44972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* find and copy uncased characters [prev..titleStart[ */ 44982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller iter.setLimit(index); 44992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=iter.nextCaseMapCP(); 45002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if((options&TITLECASE_NO_BREAK_ADJUSTMENT)==0 45012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && UCaseProps.NONE==UCaseProps.INSTANCE.getType(c)) { 45022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while((c=iter.nextCaseMapCP())>=0 45032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && UCaseProps.NONE==UCaseProps.INSTANCE.getType(c)) {} 45042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleStart=iter.getCPStart(); 45052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(prev<titleStart) { 45062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append(str, prev, titleStart); 45072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 45092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleStart=prev; 45102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(titleStart<index) { 45132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller FirstIJ = true; 45142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* titlecase c which is from titleStart */ 45152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCaseProps.INSTANCE.toFullTitle(c, iter, result, locale, locCache); 45162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* decode the result and lowercase up to index */ 45182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for(;;) { 45192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(c<0) { 45202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* (not) original code point */ 45212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=~c; 45222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.appendCodePoint(c); 45232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(c<=UCaseProps.MAX_STRING_LENGTH) { 45242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* mapping already appended to result */ 45252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 45262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* append single-code point mapping */ 45272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.appendCodePoint(c); 45282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if((options&TITLECASE_NO_LOWERCASE)!=0) { 45312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* Optionally just copy the rest of the word unchanged. */ 45322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int titleLimit=iter.getCPLimit(); 45342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(titleLimit<index) { 45352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* Special Case - Dutch IJ Titlecasing */ 45362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isDutch && c == 0x0049 && str.charAt(titleLimit) == 'j') { 45372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append('J').append(str, titleLimit + 1, index); 45382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 45392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append(str, titleLimit, index); 45402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller iter.moveToLimit(); 45432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 45442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if((nc=iter.nextCaseMapCP())>=0) { 45452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isDutch && (nc == 0x004A || nc == 0x006A) 45462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && (c == 0x0049) && (FirstIJ == true)) { 45472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = 0x004A; /* J */ 45482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller FirstIJ = false; 45492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 45502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* Normal operation: Lowercase the rest of the word. */ 45512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCaseProps.INSTANCE.toFullLower(nc, iter, result, locale, 45522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller locCache); 45532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 45552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 45562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller prev=index; 45622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 45642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int BREAK_MASK = 45682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller (1<<UCharacterCategory.DECIMAL_DIGIT_NUMBER) 45692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1<<UCharacterCategory.OTHER_LETTER) 45702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1<<UCharacterCategory.MODIFIER_LETTER); 45712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 45732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return a string with just the first word titlecased, for menus and UI, etc. This does not affect most of the string, 45742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and sometimes has no effect at all; the original string is returned whenever casing 45752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * would not be appropriate for the first word (such as for CJK characters or initial numbers). 45762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Initial non-letters are skipped in order to find the character to change. 45772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Characters past the first affected are left untouched: see also TITLECASE_NO_LOWERCASE. 45782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Examples: 45792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <table border='1'><tr><th>Source</th><th>Result</th><th>Locale</th></tr> 45802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>anglo-American locale</td><td>Anglo-American locale</td></tr> 45812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>“contact us”</td><td>“Contact us”</td></tr> 45822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>49ers win!</td><td>49ers win!</td></tr> 45832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>丰(abc)</td><td>丰(abc)</td></tr> 45842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>«ijs»</td><td>«Ijs»</td></tr> 45852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>«ijs»</td><td>«IJs»</td><td>nl-BE</td></tr> 45862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <tr><td>«ijs»</td><td>«İjs»</td><td>tr-DE</td></tr> 45872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </table> 45882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale the locale for accessing exceptional behavior (eg for tr). 45892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str the source string to change 45902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the modified string, or the original if no modifications were necessary. 45912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU internal only 459293cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 4593836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 45942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 45952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 45962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleFirst(ULocale locale, String str) { 45972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c = 0; 45982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < str.length(); i += UCharacter.charCount(c)) { 45992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCharacter.codePointAt(str, i); 46002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int propertyMask = UCharacter.getIntPropertyValue(c, UProperty.GENERAL_CATEGORY_MASK); 46012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if ((propertyMask & BREAK_MASK) != 0) { // handle "49ers", initial CJK 46022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 46032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (UCaseProps.INSTANCE.getType(c) == UCaseProps.NONE) { 46052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller continue; 46062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // we now have the first cased character 46092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // What we really want is something like: 46102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // String titled = UCharacter.toTitleCase(locale, str, i, outputCharsTaken); 46112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // That is, just give us the titlecased string, for the locale, at i and following, 46122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // and tell us how many characters are replaced. 46132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // The following won't work completely: it needs some more substantial changes to UCaseProps 46142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String substring = str.substring(i, i+UCharacter.charCount(c)); 46162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String titled = UCharacter.toTitleCase(locale, substring, BreakIterator.getSentenceInstance(locale), 0); 46172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // skip if no change 46192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (titled.codePointAt(0) == c) { 46202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // Using 0 is safe, since any change in titling will not have first initial character 46212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 46222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(str.length()).append(str, 0, i); 46242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int startOfSuffix; 46252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // handle dutch, but check first for 'i', since that's faster. Should be built into UCaseProps. 46272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (c == 'i' && locale.getLanguage().equals("nl") && i < str.length() && str.charAt(i+1) == 'j') { 46292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append("IJ"); 46302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller startOfSuffix = 2; 46312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 46322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append(titled); 46332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller startOfSuffix = i + UCharacter.charCount(c); 46342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // add the remainder, and return 46372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.append(str, startOfSuffix, str.length()).toString(); 46382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return str; // no change 46402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 464308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns the titlecase version of the argument string. 46442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 46452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 46462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 46472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 46482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 46492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 465008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 46512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 465208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 465308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 46542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 46552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 46562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 46572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 46582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options bit set to modify the titlecasing operation 46592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 46602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 46612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_BREAK_ADJUSTMENT 46622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(Locale locale, String str, 46642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator titleIter, 46652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int options) { 46662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toTitleCase(ULocale.forLocale(locale), str, titleIter, options); 46672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46701537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given character is mapped to its case folding equivalent according 46712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to UnicodeData.txt and CaseFolding.txt; if the character has no case 46722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 46732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 46752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 46762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 46772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They can map to a result string with a different length as appropriate. 46782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 46792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 46802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 46812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 46822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the character to be converted 46842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param defaultmapping Indicates whether the default mappings defined in 46852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt are to be used, otherwise the 46862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * mappings for dotted I and dotless i marked with 46872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 'T' in CaseFolding.txt are included. 46882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if 46892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * any; otherwise the character itself. 46902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(String, boolean) 46912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int foldCase(int ch, boolean defaultmapping) { 46932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return foldCase(ch, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I); 46942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46971537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given string is mapped to its case folding equivalent according to 46982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData.txt and CaseFolding.txt; if any character has no case 46992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 47002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Full", multiple-code point case folding mappings are returned here. 47012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For "simple" single-code point mappings use the API 47022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * foldCase(int ch, boolean defaultmapping). 47032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str the String to be converted 47042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param defaultmapping Indicates whether the default mappings defined in 47052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt are to be used, otherwise the 47062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * mappings for dotted I and dotless i marked with 47072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 'T' in CaseFolding.txt are included. 47082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if 47092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * any; otherwise the character itself. 47102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(int, boolean) 47112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String foldCase(String str, boolean defaultmapping) { 47132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return foldCase(str, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I); 47142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47171537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Option value for case folding: use default mappings defined in 47182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt. 47192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FOLD_CASE_DEFAULT = 0x0000; 47212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47221537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Option value for case folding: 47232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Use the modified set of mappings provided in CaseFolding.txt to handle dotted I 47242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and dotless i appropriately for Turkic languages (tr, az). 47252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that 47272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are to be included for default mappings and 47282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * excluded for the Turkic-specific mappings. 47292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that 47312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are to be excluded for default mappings and 47322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * included for the Turkic-specific mappings. 47332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 0x0001; 47352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47371537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given character is mapped to its case folding equivalent according 47382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to UnicodeData.txt and CaseFolding.txt; if the character has no case 47392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 47402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 47422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 47432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 47442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They can map to a result string with a different length as appropriate. 47452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 47462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 47472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 47482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 47492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the character to be converted 47512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options A bit set for special processing. Currently the recognised options 47522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 47532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if any; otherwise the 47542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character itself. 47552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(String, boolean) 47562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int foldCase(int ch, int options) { 47582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.fold(ch, options); 47592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47621537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given string is mapped to its case folding equivalent according to 47632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData.txt and CaseFolding.txt; if any character has no case 47642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 47652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Full", multiple-code point case folding mappings are returned here. 47662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For "simple" single-code point mappings use the API 47672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * foldCase(int ch, boolean defaultmapping). 47682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str the String to be converted 47692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options A bit set for special processing. Currently the recognised options 47702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 47712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if any; otherwise the 47722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character itself. 47732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(int, boolean) 47742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final String foldCase(String str, int options) { 47762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(str.length()); 47772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int c, i, length; 47782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller length = str.length(); 47802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for(i=0; i<length;) { 47812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=str.codePointAt(i); 47822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller i+=Character.charCount(c); 47832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c = UCaseProps.INSTANCE.toFullFolding(c, result, options); 47842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* decode the result */ 47862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(c<0) { 47872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* (not) original code point */ 47882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller c=~c; 47892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else if(c<=UCaseProps.MAX_STRING_LENGTH) { 47902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* mapping already appended to result */ 47912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller continue; 47922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* } else { append single-code point mapping */ 47932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.appendCodePoint(c); 47952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 47972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 48001537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the numeric value of a Han character. 48012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 48022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This returns the value of Han 'numeric' code points, 48032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * including those for zero, ten, hundred, thousand, ten thousand, 48042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and hundred million. 48052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This includes both the standard and 'checkwriting' 48062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters, the 'big circle' zero character, and the standard 48072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * zero character. 48082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 48092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note: The Unicode Standard has numeric values for more 48102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Han characters recognized by this method 48112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (see {@link #getNumericValue(int)} and the UCD file DerivedNumericValues.txt), 48122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and a {@link android.icu.text.NumberFormat} can be used with 48132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a Chinese {@link android.icu.text.NumberingSystem}. 48142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 48152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to query 48162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return value if it is a Han 'numeric character,' otherwise return -1. 48172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 48182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getHanNumericValue(int ch) 48192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 48202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller switch(ch) 48212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 48222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case IDEOGRAPHIC_NUMBER_ZERO_ : 48232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_ZERO_ : 48242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 0; // Han Zero 48252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FIRST_ : 48262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_ONE_ : 48272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 1; // Han One 48282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SECOND_ : 48292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_TWO_ : 48302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 2; // Han Two 48312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_THIRD_ : 48322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_THREE_ : 48332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 3; // Han Three 48342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FOURTH_ : 48352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_FOUR_ : 48362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 4; // Han Four 48372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FIFTH_ : 48382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_FIVE_ : 48392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 5; // Han Five 48402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SIXTH_ : 48412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_SIX_ : 48422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 6; // Han Six 48432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SEVENTH_ : 48442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_SEVEN_ : 48452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 7; // Han Seven 48462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_EIGHTH_ : 48472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_EIGHT_ : 48482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 8; // Han Eight 48492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_NINETH_ : 48502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_NINE_ : 48512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 9; // Han Nine 48522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_TEN_ : 48532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_TEN_ : 48542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 10; 48552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_HUNDRED_ : 48562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_HUNDRED_ : 48572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 100; 48582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_THOUSAND_ : 48592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_THOUSAND_ : 48602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 1000; 48612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_TEN_THOUSAND_ : 48622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 10000; 48632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_HUNDRED_MILLION_ : 48642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 100000000; 48652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; // no value 48672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 487008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character types, iterating over codepoints. 487108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 48722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 48732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * RangeValueIterator iterator = UCharacter.getTypeIterator(); 48742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * RangeValueIterator.Element element = new RangeValueIterator.Element(); 48752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 48762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 48772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.start) + 48782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " to codepoint \\u" + 48792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.limit - 1) + 48802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the character type " + 48812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * element.value); 48822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 48832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 48842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 48852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 48862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static RangeValueIterator getTypeIterator() 48872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 48882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterTypeIterator(); 48892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class UCharacterTypeIterator implements RangeValueIterator { 48922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterTypeIterator() { 48932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller reset(); 48942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // implements RangeValueIterator 48972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean next(Element element) { 48982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(trieIterator.hasNext() && !(range=trieIterator.next()).leadSurrogate) { 48992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.start=range.startCodePoint; 49002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.limit=range.endCodePoint+1; 49012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.value=range.value; 49022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 49032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 49042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 49052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // implements RangeValueIterator 49092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void reset() { 49102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller trieIterator=UCharacterProperty.INSTANCE.m_trie_.iterator(MASK_TYPE); 49112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private Iterator<Trie2.Range> trieIterator; 49142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private Trie2.Range range; 49152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class MaskType implements Trie2.ValueMapper { 49172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // Extracts the general category ("character type") from the trie value. 49182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int map(int value) { 49192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return value & UCharacterProperty.TYPE_MASK; 49202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final MaskType MASK_TYPE=new MaskType(); 49232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 492608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character names, iterating over codepoints. 49272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API only gets the iterator for the modern, most up-to-date 49282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode names. For older 1.0 Unicode names use get1_0NameIterator() or 492908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * for extended names use getExtendedNameIterator(). 493008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 49312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 49322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator iterator = UCharacter.getNameIterator(); 49332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator.Element element = new ValueIterator.Element(); 49342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 49352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 49362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.codepoint) + 49372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the name " + (String)element.value); 49382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 49392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 49402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The maximal range which the name iterator iterates is from 494108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * UCharacter.MIN_VALUE to UCharacter.MAX_VALUE. 49422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 49432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getNameIterator(){ 49452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterNameIterator(UCharacterName.INSTANCE, 49462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.UNICODE_CHAR_NAME); 49472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 49501537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns an empty iterator. 495108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints. 49522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an empty iterator 49532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 49542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getName1_0(int) 495593cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 49562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 49582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getName1_0Iterator(){ 49592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new DummyValueIterator(); 49602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class DummyValueIterator implements ValueIterator { 49632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean next(Element element) { return false; } 49642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void reset() {} 49652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void setRange(int start, int limit) {} 49662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 496908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character names, iterating over codepoints. 49702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API only gets the iterator for the extended names. 49712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For modern, most up-to-date Unicode names use getNameIterator() or 497208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * for older 1.0 Unicode names use get1_0NameIterator(). 497308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 49742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 49752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator iterator = UCharacter.getExtendedNameIterator(); 49762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator.Element element = new ValueIterator.Element(); 49772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 49782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 49792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.codepoint) + 49802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the name " + (String)element.value); 49812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 49822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 49832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The maximal range which the name iterator iterates is from 49842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 49852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getExtendedNameIterator(){ 49872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterNameIterator(UCharacterName.INSTANCE, 49882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.EXTENDED_CHAR_NAME); 49892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 499208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> Returns the "age" of the code point. 49932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The "age" is the Unicode version when the code point was first 49942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * designated (as a non-character or for Private Use) or assigned a 49952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character. 49962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This can be useful to avoid emitting code points to receiving 499708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * processes that do not accept newer characters. 499808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>The data is from the UCD file DerivedAge.txt. 49992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch The code point. 50002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the Unicode version number 50012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static VersionInfo getAge(int ch) 50032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE || ch > MAX_VALUE) { 50052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Codepoint out of bounds"); 50062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getAge(ch); 50082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 501108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check a binary Unicode property for a code point. 50122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode, especially in version 3.2, defines many more properties 501308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * than the original set in UnicodeData.txt. 50142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API is intended to reflect Unicode properties as defined in 50152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the Unicode Character Database (UCD) and Unicode Technical Reports 501608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * (UTR). 50172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For details about the properties see 501808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <a href=http://www.unicode.org/>http://www.unicode.org/</a>. 50192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For names of Unicode properties see the UCD file 502008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * PropertyAliases.txt. 502108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This API does not check the validity of the codepoint. 50222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Important: If ICU is built with UCD files from Unicode versions 50232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * below 3.2, then properties marked with "new" are not or 502408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * not fully available. 50252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to test. 50261fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * @param property selector constant from android.icu.lang.UProperty, 50272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifies which binary property to check. 50282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true or false according to the binary Unicode property value 50292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for ch. Also false if property is out of bounds or if the 50302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode version does not have data for the property at all, or 50312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * not for this code point. 50322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see android.icu.lang.UProperty 50332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean hasBinaryProperty(int ch, int property) 50352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.hasBinaryProperty(ch, property); 50372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 504008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Alphabetic Unicode property. 504108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC). 504208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Different from UCharacter.isLetter(ch)! 50432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUAlphabetic(int ch) 50462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.ALPHABETIC); 50482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 505108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Lowercase Unicode property. 505208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE). 505308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This is different from UCharacter.isLowerCase(ch)! 50542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isULowercase(int ch) 50572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.LOWERCASE); 50592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 506208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Uppercase Unicode property. 506308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE). 506408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This is different from UCharacter.isUpperCase(ch)! 50652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUUppercase(int ch) 50682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.UPPERCASE); 50702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 507308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the White_Space Unicode property. 507408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE). 50752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This is different from both UCharacter.isSpace(ch) and 507608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * UCharacter.isWhitespace(ch)! 50772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUWhiteSpace(int ch) 50802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.WHITE_SPACE); 50822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 50851537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Returns the property value for an Unicode property type of a code point. 508608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Also returns binary and mask property values. 50872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode, especially in version 3.2, defines many more properties than 508808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * the original set in UnicodeData.txt. 50892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The properties APIs are intended to reflect Unicode properties as 50902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined in the Unicode Character Database (UCD) and Unicode Technical 50912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Reports (UTR). For details about the properties see 509208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * http://www.unicode.org/. 50932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For names of Unicode properties see the UCD file PropertyAliases.txt. 509408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 50952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 50962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Sample usage: 50972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * int ea = UCharacter.getIntPropertyValue(c, UProperty.EAST_ASIAN_WIDTH); 50982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * int ideo = UCharacter.getIntPropertyValue(c, UProperty.IDEOGRAPHIC); 50992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * boolean b = (ideo == 1) ? true : false; 51002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 51012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to test. 51022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 51032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 51042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 51052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT or 51062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START <= type < UProperty.MASK_LIMIT. 51072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return numeric value that is directly the property value or, 51082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for enumerated properties, corresponds to the numeric value of 51092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the enumerated constant of the respective property value 51102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * enumeration type (cast to enum type if necessary). 51112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns 0 or 1 (for false / true) for binary Unicode properties. 51122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a bit-mask for mask properties. 51132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns 0 if 'type' is out of bounds or if the Unicode version 51142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * does not have data for the property at all, or not for this code 51152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point. 51162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 51172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 51182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMinValue 51192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 51202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 51212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyValue(int ch, int type) 51232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 51242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getIntPropertyValue(ch, type); 51252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51271537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a string version of the property value. 51282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param propertyEnum The property enum value. 51292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codepoint The codepoint value. 51302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice The choice of the name. 51312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return value as string 51322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated This API is ICU internal only. 513393cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 5134836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 51352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 51372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:OFF 51382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getStringPropertyValue(int propertyEnum, int codepoint, int nameChoice) { 51392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if ((propertyEnum >= UProperty.BINARY_START && propertyEnum < UProperty.BINARY_LIMIT) || 51402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller (propertyEnum >= UProperty.INT_START && propertyEnum < UProperty.INT_LIMIT)) { 51412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getPropertyValueName(propertyEnum, getIntPropertyValue(codepoint, propertyEnum), 51422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller nameChoice); 51432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propertyEnum == UProperty.NUMERIC_VALUE) { 51452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return String.valueOf(getUnicodeNumericValue(codepoint)); 51462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // otherwise must be string property 51482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller switch (propertyEnum) { 51492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.AGE: return getAge(codepoint).toString(); 51502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.ISO_COMMENT: return getISOComment(codepoint); 51512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.BIDI_MIRRORING_GLYPH: return toString(getMirror(codepoint)); 51522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.CASE_FOLDING: return toString(foldCase(codepoint, true)); 51532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.LOWERCASE_MAPPING: return toString(toLowerCase(codepoint)); 51542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.NAME: return getName(codepoint); 51552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_CASE_FOLDING: return toString(foldCase(codepoint, true)); 51562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_LOWERCASE_MAPPING: return toString(toLowerCase(codepoint)); 51572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_TITLECASE_MAPPING: return toString(toTitleCase(codepoint)); 51582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_UPPERCASE_MAPPING: return toString(toUpperCase(codepoint)); 51592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.TITLECASE_MAPPING: return toString(toTitleCase(codepoint)); 51602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.UNICODE_1_NAME: return getName1_0(codepoint); 51612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.UPPERCASE_MAPPING: return toString(toUpperCase(codepoint)); 51622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal Property Enum"); 51642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:ON 51662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51681537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the minimum value for an integer/binary Unicode property type. 51692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Can be used together with UCharacter.getIntPropertyMaxValue(int) 51701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * to allocate arrays of android.icu.text.UnicodeSet or similar. 51712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 51722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 51732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 51742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT. 51752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Minimum value returned by UCharacter.getIntPropertyValue(int) 51762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for a Unicode property. 0 if the property 51772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * selector 'type' is out of range. 51782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 51792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 51802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 51812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 51822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyValue 51832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyMinValue(int type){ 51852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 0; // undefined; and: all other properties have a minimum value of 0 51872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51911537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the maximum value for an integer/binary Unicode property. 51922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Can be used together with UCharacter.getIntPropertyMinValue(int) 51931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * to allocate arrays of android.icu.text.UnicodeSet or similar. 51942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Examples for min/max values (for Unicode 3.2): 51952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 51962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.BIDI_CLASS: 0/18 51972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (UCharacterDirection.LEFT_TO_RIGHT/UCharacterDirection.BOUNDARY_NEUTRAL) 51982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.SCRIPT: 0/45 (UScript.COMMON/UScript.TAGBANWA) 51992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.IDEOGRAPHIC: 0/1 (false/true) 52002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 52012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For undefined UProperty constant values, min/max values will be 0/-1. 52022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 52032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 52042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 52052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT. 52062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Maximum value returned by u_getIntPropertyValue for a Unicode 52072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property. <= 0 if the property selector 'type' is out of range. 52082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 52092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 52102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 52112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 52122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyValue 52132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyMaxValue(int type) 52152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 52162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getIntPropertyMaxValue(type); 52172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Provide the java.lang.Character forDigit API, for convenience. 52212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static char forDigit(int digit, int radix) { 52232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.forDigit(digit, radix); 52242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // JDK 1.5 API coverage 52272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+D800, same as {@link Character#MIN_HIGH_SURROGATE}. 52302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_HIGH_SURROGATE = Character.MIN_HIGH_SURROGATE; 52322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DBFF, same as {@link Character#MAX_HIGH_SURROGATE}. 52352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_HIGH_SURROGATE = Character.MAX_HIGH_SURROGATE; 52372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DC00, same as {@link Character#MIN_LOW_SURROGATE}. 52402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_LOW_SURROGATE = Character.MIN_LOW_SURROGATE; 52422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DFFF, same as {@link Character#MAX_LOW_SURROGATE}. 52452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_LOW_SURROGATE = Character.MAX_LOW_SURROGATE; 52472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+D800, same as {@link Character#MIN_SURROGATE}. 52502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_SURROGATE = Character.MIN_SURROGATE; 52522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DFFF, same as {@link Character#MAX_SURROGATE}. 52552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_SURROGATE = Character.MAX_SURROGATE; 52572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+10000, same as {@link Character#MIN_SUPPLEMENTARY_CODE_POINT}. 52602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_SUPPLEMENTARY_CODE_POINT = Character.MIN_SUPPLEMENTARY_CODE_POINT; 52622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+10FFFF, same as {@link Character#MAX_CODE_POINT}. 52652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_CODE_POINT = Character.MAX_CODE_POINT; 52672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+0000, same as {@link Character#MIN_CODE_POINT}. 52702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_CODE_POINT = Character.MIN_CODE_POINT; 52722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52747241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to {@link Character#isValidCodePoint}. 52757241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * 52762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 52772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if cp is a valid code point 52782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isValidCodePoint(int cp) { 52802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cp >= 0 && cp <= MAX_CODE_POINT; 52812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isSupplementaryCodePoint}. 52852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 52872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if cp is a supplementary code point 52882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isSupplementaryCodePoint(int cp) { 52902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isSupplementaryCodePoint(cp); 52912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isHighSurrogate}. 52952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the char to check 52972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if ch is a high (lead) surrogate 52982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isHighSurrogate(char ch) { 53002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isHighSurrogate(ch); 53012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isLowSurrogate}. 53052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the char to check 53072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if ch is a low (trail) surrogate 53082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLowSurrogate(char ch) { 53102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isLowSurrogate(ch); 53112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isSurrogatePair}. 53152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param high the high (lead) char 53172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param low the low (trail) char 53182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if high, low form a surrogate pair 53192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isSurrogatePair(char high, char low) { 53212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isSurrogatePair(high, low); 53222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#charCount}. 53262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the number of chars needed to represent the code point (1 or 2). 53272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This does not check the code point for validity. 53282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 53302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of chars needed to represent the code point 53312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int charCount(int cp) { 53332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.charCount(cp); 53342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toCodePoint}. 53382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point represented by the two surrogate code units. 53392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This does not check the surrogate pair for validity. 53402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param high the high (lead) surrogate 53422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param low the low (trail) surrogate 53432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point formed by the surrogate pair 53442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int toCodePoint(char high, char low) { 53462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toCodePoint(high, low); 53472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(CharSequence, int)}. 53512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param seq the characters to check 53552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 53562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 53572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(CharSequence seq, int index) { 53592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = seq.charAt(index++); 53602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < seq.length()) { 53622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = seq.charAt(index); 53632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 53692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(char[], int)}. 53732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 53772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 53782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 53792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(char[] text, int index) { 53812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[index++]; 53822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < text.length) { 53842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[index]; 53852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 53912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(char[], int, int)}. 53952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 53992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 54002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the valid text 54012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 54022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(char[] text, int index, int limit) { 54042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index >= limit || limit > text.length) { 54052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException(); 54062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[index++]; 54082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < limit) { 54102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[index]; 54112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 54172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(CharSequence, int)}. 54212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return the code point before index. 54222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 54232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param seq the characters to check 54252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 54262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 54272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(CharSequence seq, int index) { 54292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = seq.charAt(--index); 54302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > 0) { 54322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = seq.charAt(--index); 54332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(char[], int)}. 54432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point before index. 54442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 54452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 54472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 54482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 54492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(char[] text, int index) { 54512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[--index]; 54522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > 0) { 54542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[--index]; 54552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(char[], int, int)}. 54652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return the code point before index. 54662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 54672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 54692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 54702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the start of the valid text 54712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 54722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(char[] text, int index, int limit) { 54742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index <= limit || limit < 0) { 54752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException(); 54762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[--index]; 54782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > limit) { 54802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[--index]; 54812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toChars(int, char[], int)}. 54912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Writes the chars representing the 54922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * code point into the destination at the given index. 54932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to convert 54952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param dst the destination array into which to put the char(s) representing the code point 54962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param dstIndex the index at which to put the first (or only) char 54972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the count of the number of chars written (1 or 2) 54982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if cp is not a valid code point 54992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int toChars(int cp, char[] dst, int dstIndex) { 55012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toChars(cp, dst, dstIndex); 55022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toChars(int)}. 55062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a char array representing the code point. 55072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 55082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to convert 55092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an array containing the char(s) representing the code point 55102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if cp is not a valid code point 55112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char[] toChars(int cp) { 55132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toChars(cp); 55142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55177241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#getDirectionality(char)} method, for 55187241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * convenience. Returns a byte representing the directionality of the 55197241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * character. 55202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 55217241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * <strong>[icu] Note:</strong> Unlike {@link Character#getDirectionality(char)}, this returns 55227241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * DIRECTIONALITY_LEFT_TO_RIGHT for undefined or out-of-bounds characters. 55232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 55241537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> The return value must be tested using the constants defined in {@link 55252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacterDirection} and its interface {@link 55262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacterEnums.ECharacterDirection} since the values are different from the ones 55272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined by <code>java.lang.Character</code>. 55282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 55292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the directionality of the code point 55302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getDirection 55312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static byte getDirectionality(int cp) 55332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 55342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (byte)getDirection(cp); 55352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55387241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#codePointCount(CharSequence, int, int)} 55397241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Counts the number of code points in the range 55407241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * of text. 55412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 55422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range 55432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the range 55442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of code points in the range 55452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int codePointCount(CharSequence text, int start, int limit) { 55472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length()) { 55482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("start (" + start + 55492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") or limit (" + limit + 55502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") invalid or out of range 0, " + text.length()); 55512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int len = limit - start; 55542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (limit > start) { 55552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(--limit); 55562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) { 55572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(--limit); 55582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) { 55592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller --len; 55602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 55612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return len; 55652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55687241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#codePointCount(char[], int, int)} method, for 55697241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * convenience. Counts the number of code points in the range of text. 55702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 55712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range 55722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the range 55732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of code points in the range 55742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int codePointCount(char[] text, int start, int limit) { 55762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length) { 55772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("start (" + start + 55782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") or limit (" + limit + 55792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") invalid or out of range 0, " + text.length); 55802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int len = limit - start; 55832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (limit > start) { 55842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[--limit]; 55852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) { 55862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[--limit]; 55872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) { 55882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller --len; 55892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 55902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return len; 55942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55977241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#offsetByCodePoints(CharSequence, int, int)} 55987241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Adjusts the char index by a code point offset. 55992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 56002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index to adjust 56012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codePointOffset the number of code points by which to offset the index 56022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the adjusted index 56032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int offsetByCodePoints(CharSequence text, int index, int codePointOffset) { 56052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < 0 || index > text.length()) { 56062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") out of range 0, " + text.length()); 56082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (codePointOffset < 0) { 56112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (++codePointOffset <= 0) { 56122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(--index); 56132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > 0) { 56142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(--index); 56152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) { 56162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (++codePointOffset > 0) { 56172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index+1; 56182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 56232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int limit = text.length(); 56242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (--codePointOffset >= 0) { 56252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(index++); 56262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) { 56272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(index++); 56282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) { 56292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (--codePointOffset < 0) { 56302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index-1; 56312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index; 56382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 56417241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the 56427241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * {@link Character#offsetByCodePoints(char[], int, int, int, int)} 56437241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Adjusts the char index by a code point offset. 56442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 56452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range to check 56462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param count the length of the range to check 56472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index to adjust 56482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codePointOffset the number of code points by which to offset the index 56492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the adjusted index 56502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int offsetByCodePoints(char[] text, int start, int count, int index, 56522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int codePointOffset) { 56532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int limit = start + count; 56542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length || index < start || index > limit) { 56552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") out of range " + start + 56572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ", " + limit + 56582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller " in array 0, " + text.length); 56592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (codePointOffset < 0) { 56622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (++codePointOffset <= 0) { 56632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[--index]; 56642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < start) { 56652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") < start (" + start + 56672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ")"); 56682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > start) { 56702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[--index]; 56712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) { 56722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (++codePointOffset > 0) { 56732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index+1; 56742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 56792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (--codePointOffset >= 0) { 56802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[index++]; 56812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > limit) { 56822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") > limit (" + limit + 56842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ")"); 56852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) { 56872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[index++]; 56882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) { 56892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (--codePointOffset < 0) { 56902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index-1; 56912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index; 56982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private variables ------------------------------------------------- 57012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * To get the last character out from a data type 57042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int LAST_CHAR_MASK_ = 0xFFFF; 57062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 57082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * To get the last byte out from a data type 57092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 57102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int LAST_BYTE_MASK_ = 0xFF; 57112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 57122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 57132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Shift 16 bits 57142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 57152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int SHIFT_16_ = 16; 57162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 57172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 57182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Shift 24 bits 57192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 57202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int SHIFT_24_ = 24; 57212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 57222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 57232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Decimal radix 57242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 57252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int DECIMAL_RADIX_ = 10; 57262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * No break space code point 57292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int NO_BREAK_SPACE_ = 0xA0; 57312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Figure space code point 57342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int FIGURE_SPACE_ = 0x2007; 57362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Narrow no break space code point 57392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int NARROW_NO_BREAK_SPACE_ = 0x202F; 57412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Ideographic number zero code point 57442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int IDEOGRAPHIC_NUMBER_ZERO_ = 0x3007; 57462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, First code point 57492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FIRST_ = 0x4e00; 57512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Second code point 57542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SECOND_ = 0x4e8c; 57562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Third code point 57592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_THIRD_ = 0x4e09; 57612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Fourth code point 57642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FOURTH_ = 0x56db; 57662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, FIFTH code point 57692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FIFTH_ = 0x4e94; 57712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Sixth code point 57742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SIXTH_ = 0x516d; 57762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Seventh code point 57792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SEVENTH_ = 0x4e03; 57812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Eighth code point 57842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_EIGHTH_ = 0x516b; 57862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Nineth code point 57892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_NINETH_ = 0x4e5d; 57912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Application Program command code point 57942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int APPLICATION_PROGRAM_COMMAND_ = 0x009F; 57962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unit separator code point 57992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 58002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int UNIT_SEPARATOR_ = 0x001F; 58012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 58022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 58032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Delete code point 58042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 58052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int DELETE_ = 0x007F; 58062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 58072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 58082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Han digit characters 58092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 58102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_ZERO_ = 0x96f6; 58112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_ONE_ = 0x58f9; 58122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_TWO_ = 0x8cb3; 58132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_THREE_ = 0x53c3; 58142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_FOUR_ = 0x8086; 58152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_FIVE_ = 0x4f0d; 58162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_SIX_ = 0x9678; 58172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_SEVEN_ = 0x67d2; 58182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_EIGHT_ = 0x634c; 58192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_NINE_ = 0x7396; 58202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_TEN_ = 0x5341; 58212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_TEN_ = 0x62fe; 58222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_HUNDRED_ = 0x767e; 58232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_HUNDRED_ = 0x4f70; 58242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_THOUSAND_ = 0x5343; 58252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_THOUSAND_ = 0x4edf; 58262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_TEN_THOUSAND_ = 0x824c; 58272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_HUNDRED_MILLION_ = 0x5104; 58282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 58292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private constructor ----------------------------------------------- 58302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:OFF 58312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 58322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Private constructor to prevent instantiation 58332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 58342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private UCharacter() 58352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 58362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 58372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:ON 58382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller} 5839