12ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* GENERATED SOURCE. DO NOT MODIFY. */ 2f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// © 2016 and later: Unicode, Inc. and others. 3f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 42ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 52ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 67241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Copyright (C) 1996-2016, International Business Machines Corporation and 72ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * others. All Rights Reserved. 82ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ******************************************************************************* 92ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpackage android.icu.lang; 122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.lang.ref.SoftReference; 142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.HashMap; 152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Iterator; 162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Locale; 172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Map; 182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 19fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubertimport android.icu.impl.CaseMapImpl; 202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.IllegalIcuArgumentException; 212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.Trie2; 222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UBiDiProps; 232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCaseProps; 242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterName; 252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterNameChoice; 262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterProperty; 272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UCharacterUtility; 282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.impl.UPropertyAliases; 292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.lang.UCharacterEnums.ECharacterCategory; 302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.lang.UCharacterEnums.ECharacterDirection; 312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.text.BreakIterator; 32fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubertimport android.icu.text.Edits; 332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.text.Normalizer2; 342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.RangeValueIterator; 352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.ULocale; 362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.ValueIterator; 372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.VersionInfo; 382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/** 401537b2f39245c07b00aa78c3600f7aebcb172490Neil 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>'. 412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The UCharacter class provides extensions to the {@link java.lang.Character} class. 432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * These extensions provide support for more Unicode properties. 442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Each ICU release supports the latest version of Unicode available at that time. 452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For some time before Java 5 added support for supplementary Unicode code points, 472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The ICU UCharacter class and many other ICU classes already supported them. 482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Some UCharacter methods and constants were widened slightly differently than 492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * how the Character class methods and constants were widened later. 502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In particular, {@link Character#MAX_VALUE} is still a char with the value U+FFFF, 512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while the {@link UCharacter#MAX_VALUE} is an int with the value U+10FFFF. 522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Code points are represented in these API using ints. While it would be 542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * more convenient in Java to have a separate primitive datatype for them, 552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ints suffice in the meantime. 562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Aside from the additions for UTF-16 support, and the updated Unicode 582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * properties, the main differences between UCharacter and Character are: 592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UCharacter is not designed to be a char wrapper and does not have 612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * APIs to which involves management of that single char.<br> 622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * These include: 632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> char charValue(), 652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> int compareTo(java.lang.Character, java.lang.Character), etc. 662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UCharacter does not include Character APIs that are deprecated, nor 682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * does it include the Java-specific character information, such as 692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * boolean isJavaIdentifierPart(char ch). 702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Character maps characters 'A' - 'Z' and 'a' - 'z' to the numeric 712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values '10' - '35'. UCharacter also does this in digit and 722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getNumericValue, to adhere to the java semantics of these 732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * methods. New methods unicodeDigit, and 742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getUnicodeNumericValue do not treat the above code points 752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * as having numeric values. This is a semantic change from ICU4J 1.3.1. 762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition to Java compatibility functions, which calculate derived properties, 792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * this API provides low-level access to the Unicode Character Database. 802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode assigns each code point (not just assigned character) values for 822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * many properties. 832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Most of them are simple boolean flags, or constants from a small enumerated list. 842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For some properties, values are strings or other relatively more complex types. 852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information see 872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href="http://www.unicode/org/ucd/">"About the Unicode Character Database"</a> 882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.unicode.org/ucd/) 892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and the <a href="http://www.icu-project.org/userguide/properties.html">ICU 902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * User Guide chapter on Properties</a> 912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.icu-project.org/userguide/properties.html). 922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * There are also functions that provide easy migration from C/POSIX functions 942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * like isblank(). Their use is generally discouraged because the C/POSIX 952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * standards do not define their semantics beyond the ASCII range, which means 962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that different implementations exhibit very different behavior. 972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Instead, Unicode properties should be used directly. 982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * There are also only a few, broad C/POSIX character classes, and they tend 1002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to be used for conflicting purposes. For example, the "isalpha()" class 1012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is sometimes used to determine word boundaries, while a more sophisticated 1022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * approach would at least distinguish initial letters from continuation 1032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters (the latter including combining marks). 1042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (In ICU, BreakIterator is the most sophisticated API for word boundaries.) 1052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Another example: There is no "istitle()" class for titlecase characters. 1062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ICU 3.4 and later provides API access for all twelve C/POSIX character classes. 1082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ICU implements them according to the Standard Recommendations in 1092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions 1102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (http://www.unicode.org/reports/tr18/#Compatibility_Properties). 1112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * API access for C/POSIX character classes is as follows: 1132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre>{@code 1142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - alpha: isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC) 1152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - lower: isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE) 1162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - upper: isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE) 1176bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * - punct: ((1<<getType(c)) & ((1<<DASH_PUNCTUATION)|(1<<START_PUNCTUATION)| 1186bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * (1<<END_PUNCTUATION)|(1<<CONNECTOR_PUNCTUATION)|(1<<OTHER_PUNCTUATION)| 1196bb622ef53ee52bb04e3df4f97fc4a59f3038386Neil Fuller * (1<<INITIAL_PUNCTUATION)|(1<<FINAL_PUNCTUATION)))!=0 1202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - digit: isDigit(c) or getType(c)==DECIMAL_DIGIT_NUMBER 1212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - xdigit: hasBinaryProperty(c, UProperty.POSIX_XDIGIT) 1222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - alnum: hasBinaryProperty(c, UProperty.POSIX_ALNUM) 1232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - space: isUWhiteSpace(c) or hasBinaryProperty(c, UProperty.WHITE_SPACE) 1242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - blank: hasBinaryProperty(c, UProperty.POSIX_BLANK) 1252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - cntrl: getType(c)==CONTROL 1262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH) 1272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * - print: hasBinaryProperty(c, UProperty.POSIX_PRINT)}</pre> 1282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The C/POSIX character classes are also available in UnicodeSet patterns, 1302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * using patterns like [:graph:] or \p{graph}. 1312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1321c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * <p><strong>[icu] Note:</strong> There are several ICU (and Java) whitespace functions. 1332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Comparison:<ul> 1342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property; 1352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * most of general categories "Z" (separators) + most whitespace ISO controls 1362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (including no-break spaces, but excluding IS1..IS4 and ZWSP) 1372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces 1382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> isSpaceChar: just Z (including no-break spaces)</ul> 1391c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * 1402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p> 1412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This class is not subclassable. 1421c8a530973739aafa823d758240d2cd5dad96fe3Fredrik Roubert * 1432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @author Syn Wee Quek 1442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see android.icu.lang.UCharacterEnums 1452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpublic final class UCharacter implements ECharacterCategory, ECharacterDirection 1482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller{ 1492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public inner classes ---------------------------------------------- 1502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1521537b2f39245c07b00aa78c3600f7aebcb172490Neil 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>'. 1532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A family of character subsets representing the character blocks in the 1552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode specification, generated from Unicode Data file Blocks.txt. 1562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Character blocks generally define characters used for a specific script 1572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or purpose. A character is contained by at most one Unicode block. 1582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 1591537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> All fields named XXX_ID are specific to ICU. 1602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final class UnicodeBlock extends Character.Subset 1622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 1632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // block id corresponding to icu4c ----------------------------------- 1642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 1652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INVALID_CODE_ID = -1; 1682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BASIC_LATIN_ID = 1; 1712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_1_SUPPLEMENT_ID = 2; 1742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_A_ID = 3; 1772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_B_ID = 4; 1802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IPA_EXTENSIONS_ID = 5; 1832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACING_MODIFIER_LETTERS_ID = 6; 1862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_ID = 7; 1892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Greek and Coptic". 1912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GREEK_ID = 8; 1932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_ID = 9; 1962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 1972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 1982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARMENIAN_ID = 10; 1992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_ID = 11; 2022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_ID = 12; 2052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYRIAC_ID = 13; 2082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int THAANA_ID = 14; 2112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DEVANAGARI_ID = 15; 2142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BENGALI_ID = 16; 2172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GURMUKHI_ID = 17; 2202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GUJARATI_ID = 18; 2232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ORIYA_ID = 19; 2262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAMIL_ID = 20; 2292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TELUGU_ID = 21; 2322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANNADA_ID = 22; 2352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MALAYALAM_ID = 23; 2382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINHALA_ID = 24; 2412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int THAI_ID = 25; 2442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAO_ID = 26; 2472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIBETAN_ID = 27; 2502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_ID = 28; 2532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEORGIAN_ID = 29; 2562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_ID = 30; 2592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_ID = 31; 2622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHEROKEE_ID = 32; 2652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33; 2682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OGHAM_ID = 34; 2712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RUNIC_ID = 35; 2742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHMER_ID = 36; 2772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MONGOLIAN_ID = 37; 2802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38; 2832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GREEK_EXTENDED_ID = 39; 2862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GENERAL_PUNCTUATION_ID = 40; 2892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41; 2922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CURRENCY_SYMBOLS_ID = 42; 2952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Combining Diacritical Marks for 2972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Symbols". 2982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43; 3002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LETTERLIKE_SYMBOLS_ID = 44; 3032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMBER_FORMS_ID = 45; 3062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARROWS_ID = 46; 3092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MATHEMATICAL_OPERATORS_ID = 47; 3122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_TECHNICAL_ID = 48; 3152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTROL_PICTURES_ID = 49; 3182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50; 3212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_ALPHANUMERICS_ID = 51; 3242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOX_DRAWING_ID = 52; 3272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BLOCK_ELEMENTS_ID = 53; 3302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEOMETRIC_SHAPES_ID = 54; 3332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_ID = 55; 3362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DINGBATS_ID = 56; 3392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BRAILLE_PATTERNS_ID = 57; 3422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_RADICALS_SUPPLEMENT_ID = 58; 3452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANGXI_RADICALS_ID = 59; 3482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60; 3512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61; 3542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIRAGANA_ID = 62; 3572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA_ID = 63; 3602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOPOMOFO_ID = 64; 3632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65; 3662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANBUN_ID = 66; 3692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BOPOMOFO_EXTENDED_ID = 67; 3722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68; 3752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_ID = 69; 3782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70; 3812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71; 3842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YI_SYLLABLES_ID = 72; 3872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YI_RADICALS_ID = 73; 3902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_SYLLABLES_ID = 74; 3932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIGH_SURROGATES_ID = 75; 3962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76; 3992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LOW_SURROGATES_ID = 77; 4022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE. 4042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 4052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 4062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 4072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 4082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PRIVATE_USE_AREA_ID = 78; 4102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE_AREA. 4122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 4132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 4142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 4152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 4162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PRIVATE_USE_ID = PRIVATE_USE_AREA_ID; 4182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79; 4212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80; 4242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81; 4272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_HALF_MARKS_ID = 82; 4302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_COMPATIBILITY_FORMS_ID = 83; 4332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SMALL_FORM_VARIANTS_ID = 84; 4362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85; 4392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPECIALS_ID = 86; 4422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87; 4452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_ITALIC_ID = 88; 4482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GOTHIC_ID = 89; 4512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DESERET_ID = 90; 4542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91; 4572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MUSICAL_SYMBOLS_ID = 92; 4602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93; 4632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94; 4662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int 4692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95; 4702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGS_ID = 96; 4732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // New blocks in Unicode 3.2 4752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 4782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_SUPPLEMENTARY_ID = 97; 4802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 4822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_SUPPLEMENT_ID = 97; 4852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGALOG_ID = 98; 4882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANUNOO_ID = 99; 4912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BUHID_ID = 100; 4942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAGBANWA_ID = 101; 4972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 4982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 4992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102; 5002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_A_ID = 103; 5032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_B_ID = 104; 5062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105; 5092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106; 5122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107; 5152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VARIATION_SELECTORS_ID = 108; 5182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109; 5212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110; 5242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LIMBU_ID = 111; /*[1900]*/ 5282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_LE_ID = 112; /*[1950]*/ 5312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHMER_SYMBOLS_ID = 113; /*[19E0]*/ 5342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHONETIC_EXTENSIONS_ID = 114; /*[1D00]*/ 5372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; /*[2B00]*/ 5402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; /*[4DC0]*/ 5432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_B_SYLLABARY_ID = 117; /*[10000]*/ 5462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_B_IDEOGRAMS_ID = 118; /*[10080]*/ 5492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AEGEAN_NUMBERS_ID = 119; /*[10100]*/ 5522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UGARITIC_ID = 120; /*[10380]*/ 5552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHAVIAN_ID = 121; /*[10450]*/ 5582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OSMANYA_ID = 122; /*[10480]*/ 5612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYPRIOT_SYLLABARY_ID = 123; /*[10800]*/ 5642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; /*[1D300]*/ 5672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; /*[E0100]*/ 5702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 4.1 */ 5722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; /*[1D200]*/ 5762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_GREEK_NUMBERS_ID = 127; /*[10140]*/ 5802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_SUPPLEMENT_ID = 128; /*[0750]*/ 5842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BUGINESE_ID = 129; /*[1A00]*/ 5882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_STROKES_ID = 130; /*[31C0]*/ 5922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; /*[1DC0]*/ 5962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 5972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 5982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 5992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COPTIC_ID = 132; /*[2C80]*/ 6002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_EXTENDED_ID = 133; /*[2D80]*/ 6042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_SUPPLEMENT_ID = 134; /*[1380]*/ 6082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEORGIAN_SUPPLEMENT_ID = 135; /*[2D00]*/ 6122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GLAGOLITIC_ID = 136; /*[2C00]*/ 6162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHAROSHTHI_ID = 137; /*[10A00]*/ 6202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MODIFIER_TONE_LETTERS_ID = 138; /*[A700]*/ 6242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEW_TAI_LUE_ID = 139; /*[1980]*/ 6282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_PERSIAN_ID = 140; /*[103A0]*/ 6322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; /*[1D80]*/ 6362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; /*[2E00]*/ 6402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYLOTI_NAGRI_ID = 143; /*[A800]*/ 6442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIFINAGH_ID = 144; /*[2D30]*/ 6482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VERTICAL_FORMS_ID = 145; /*[FE10]*/ 6522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.0 */ 6542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NKO_ID = 146; /*[07C0]*/ 6582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BALINESE_ID = 147; /*[1B00]*/ 6612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_C_ID = 148; /*[2C60]*/ 6642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_D_ID = 149; /*[A720]*/ 6672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHAGS_PA_ID = 150; /*[A840]*/ 6702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHOENICIAN_ID = 151; /*[10900]*/ 6732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CUNEIFORM_ID = 152; /*[12000]*/ 6762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID = 153; /*[12400]*/ 6792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNTING_ROD_NUMERALS_ID = 154; /*[1D360]*/ 6822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUNDANESE_ID = 155; /* [1B80] */ 6862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEPCHA_ID = 156; /* [1C00] */ 6902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OL_CHIKI_ID = 157; /* [1C50] */ 6942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 6962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 6972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_EXTENDED_A_ID = 158; /* [2DE0] */ 6982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 6992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VAI_ID = 159; /* [A500] */ 7022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CYRILLIC_EXTENDED_B_ID = 160; /* [A640] */ 7062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAURASHTRA_ID = 161; /* [A880] */ 7102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAYAH_LI_ID = 162; /* [A900] */ 7142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REJANG_ID = 163; /* [A930] */ 7182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHAM_ID = 164; /* [AA00] */ 7222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANCIENT_SYMBOLS_ID = 165; /* [10190] */ 7262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PHAISTOS_DISC_ID = 166; /* [101D0] */ 7302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LYCIAN_ID = 167; /* [10280] */ 7342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CARIAN_ID = 168; /* [102A0] */ 7382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LYDIAN_ID = 169; /* [10920] */ 7422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAHJONG_TILES_ID = 170; /* [1F000] */ 7462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 7482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 7492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DOMINO_TILES_ID = 171; /* [1F030] */ 7502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.2 */ 7522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 7531fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAMARITAN_ID = 172; /*[0800]*/ 7551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID = 173; /*[18B0]*/ 7571fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_THAM_ID = 174; /*[1A20]*/ 7591fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VEDIC_EXTENSIONS_ID = 175; /*[1CD0]*/ 7611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LISU_ID = 176; /*[A4D0]*/ 7631fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BAMUM_ID = 177; /*[A6A0]*/ 7651fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMMON_INDIC_NUMBER_FORMS_ID = 178; /*[A830]*/ 7671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DEVANAGARI_EXTENDED_ID = 179; /*[A8E0]*/ 7691fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_EXTENDED_A_ID = 180; /*[A960]*/ 7711fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JAVANESE_ID = 181; /*[A980]*/ 7731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_EXTENDED_A_ID = 182; /*[AA60]*/ 7751fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAI_VIET_ID = 183; /*[AA80]*/ 7771fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEETEI_MAYEK_ID = 184; /*[ABC0]*/ 7791fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HANGUL_JAMO_EXTENDED_B_ID = 185; /*[D7B0]*/ 7811fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IMPERIAL_ARAMAIC_ID = 186; /*[10840]*/ 7831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_SOUTH_ARABIAN_ID = 187; /*[10A60]*/ 7851fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AVESTAN_ID = 188; /*[10B00]*/ 7871fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSCRIPTIONAL_PARTHIAN_ID = 189; /*[10B40]*/ 7891fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSCRIPTIONAL_PAHLAVI_ID = 190; /*[10B60]*/ 7911fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_TURKIC_ID = 191; /*[10C00]*/ 7931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RUMI_NUMERAL_SYMBOLS_ID = 192; /*[10E60]*/ 7951fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAITHI_ID = 193; /*[11080]*/ 7971fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 7982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EGYPTIAN_HIEROGLYPHS_ID = 194; /*[13000]*/ 7991fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID = 195; /*[1F100]*/ 8011fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID = 196; /*[1F200]*/ 8031fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID = 197; /*[2A700]*/ 8052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.0 */ 8072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8081fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANDAIC_ID = 198; /*[0840]*/ 8101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BATAK_ID = 199; /*[1BC0]*/ 8121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ETHIOPIC_EXTENDED_A_ID = 200; /*[AB00]*/ 8141fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BRAHMI_ID = 201; /*[11000]*/ 8161fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BAMUM_SUPPLEMENT_ID = 202; /*[16800]*/ 8181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KANA_SUPPLEMENT_ID = 203; /*[1B000]*/ 8201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PLAYING_CARDS_ID = 204; /*[1F0A0]*/ 8221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID = 205; /*[1F300]*/ 8241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EMOTICONS_ID = 206; /*[1F600]*/ 8261fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRANSPORT_AND_MAP_SYMBOLS_ID = 207; /*[1F680]*/ 8281fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALCHEMICAL_SYMBOLS_ID = 208; /*[1F700]*/ 8301fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID = 209; /*[2B740]*/ 8322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.1 */ 8342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8351fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_EXTENDED_A_ID = 210; /*[08A0]*/ 8371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID = 211; /*[1EE00]*/ 8391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHAKMA_ID = 212; /*[11100]*/ 8411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEETEI_MAYEK_EXTENSIONS_ID = 213; /*[AAE0]*/ 8431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEROITIC_CURSIVE_ID = 214; /*[109A0]*/ 8451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEROITIC_HIEROGLYPHS_ID = 215; /*[10980]*/ 8471fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIAO_ID = 216; /*[16F00]*/ 8491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHARADA_ID = 217; /*[11180]*/ 8511fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SORA_SOMPENG_ID = 218; /*[110D0]*/ 8531fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUNDANESE_SUPPLEMENT_ID = 219; /*[1CC0]*/ 8551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAKRI_ID = 220; /*[11680]*/ 8572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 7.0 */ 8592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 8601fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BASSA_VAH_ID = 221; /*[16AD0]*/ 8621fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CAUCASIAN_ALBANIAN_ID = 222; /*[10530]*/ 8641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COPTIC_EPACT_NUMBERS_ID = 223; /*[102E0]*/ 8661fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_DIACRITICAL_MARKS_EXTENDED_ID = 224; /*[1AB0]*/ 8681fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DUPLOYAN_ID = 225; /*[1BC00]*/ 8701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ELBASAN_ID = 226; /*[10500]*/ 8721fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GEOMETRIC_SHAPES_EXTENDED_ID = 227; /*[1F780]*/ 8741fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GRANTHA_ID = 228; /*[11300]*/ 8761fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHOJKI_ID = 229; /*[11200]*/ 8781fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHUDAWADI_ID = 230; /*[112B0]*/ 8801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LATIN_EXTENDED_E_ID = 231; /*[AB30]*/ 8821fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINEAR_A_ID = 232; /*[10600]*/ 8841fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAHAJANI_ID = 233; /*[11150]*/ 8861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ID = 234; /*[10AC0]*/ 8881fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MENDE_KIKAKUI_ID = 235; /*[1E800]*/ 8901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MODI_ID = 236; /*[11600]*/ 8921fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MRO_ID = 237; /*[16A40]*/ 8941fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MYANMAR_EXTENDED_B_ID = 238; /*[A9E0]*/ 8961fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NABATAEAN_ID = 239; /*[10880]*/ 8981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 8992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_NORTH_ARABIAN_ID = 240; /*[10A80]*/ 9001fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_PERMIC_ID = 241; /*[10350]*/ 9021fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ORNAMENTAL_DINGBATS_ID = 242; /*[1F650]*/ 9041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PAHAWH_HMONG_ID = 243; /*[16B00]*/ 9061fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PALMYRENE_ID = 244; /*[10860]*/ 9081fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PAU_CIN_HAU_ID = 245; /*[11AC0]*/ 9101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PSALTER_PAHLAVI_ID = 246; /*[10B80]*/ 9121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHORTHAND_FORMAT_CONTROLS_ID = 247; /*[1BCA0]*/ 9141fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SIDDHAM_ID = 248; /*[11580]*/ 9161fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINHALA_ARCHAIC_NUMBERS_ID = 249; /*[111E0]*/ 9181fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_ARROWS_C_ID = 250; /*[1F800]*/ 9201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TIRHUTA_ID = 251; /*[11480]*/ 9221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WARANG_CITI_ID = 252; /*[118A0]*/ 9242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 8.0 */ 9262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AHOM_ID = 253; /*[11700]*/ 9291fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ANATOLIAN_HIEROGLYPHS_ID = 254; /*[14400]*/ 9311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CHEROKEE_SUPPLEMENT_ID = 255; /*[AB70]*/ 9331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID = 256; /*[2B820]*/ 9351fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EARLY_DYNASTIC_CUNEIFORM_ID = 257; /*[12480]*/ 9371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HATRAN_ID = 258; /*[108E0]*/ 9391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MULTANI_ID = 259; /*[11280]*/ 9411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLD_HUNGARIAN_ID = 260; /*[10C80]*/ 9431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID = 261; /*[1F900]*/ 9451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 9462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUTTON_SIGNWRITING_ID = 262; /*[1D800]*/ 9472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 948f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /* New blocks in Unicode 9.0 */ 949f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 950f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int ADLAM_ID = 263; /*[1E900]*/ 952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int BHAIKSUKI_ID = 264; /*[11C00]*/ 954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 955f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int CYRILLIC_EXTENDED_C_ID = 265; /*[1C80]*/ 956f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int GLAGOLITIC_SUPPLEMENT_ID = 266; /*[1E000]*/ 958f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 959f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID = 267; /*[16FE0]*/ 960f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 961f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int MARCHEN_ID = 268; /*[11C70]*/ 962f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 963f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int MONGOLIAN_SUPPLEMENT_ID = 269; /*[11660]*/ 964f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 965f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int NEWA_ID = 270; /*[11400]*/ 966f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 967f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int OSAGE_ID = 271; /*[104B0]*/ 968f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 969f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int TANGUT_ID = 272; /*[17000]*/ 970f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 971f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int TANGUT_COMPONENTS_ID = 273; /*[18800]*/ 972f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 9732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 974f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal UnicodeBlock value. 975f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.BLOCK). 976f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 977f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 978ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 9792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 980f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 981f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int COUNT = 274; 9822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // blocks objects --------------------------------------------------- 9842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Array of UnicodeBlocks, for easy access in getInstance(int) 9872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private final static UnicodeBlock BLOCKS_[] = new UnicodeBlock[COUNT]; 9892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NO_BLOCK 9932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("NO_BLOCK", 0); 9942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 9952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 9962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 9972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BASIC_LATIN 9982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BASIC_LATIN", BASIC_LATIN_ID); 9992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_1_SUPPLEMENT 10022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_1_SUPPLEMENT", LATIN_1_SUPPLEMENT_ID); 10032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_A 10062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_A", LATIN_EXTENDED_A_ID); 10072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_B 10102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_B", LATIN_EXTENDED_B_ID); 10112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IPA_EXTENSIONS 10142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("IPA_EXTENSIONS", IPA_EXTENSIONS_ID); 10152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SPACING_MODIFIER_LETTERS 10182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SPACING_MODIFIER_LETTERS", SPACING_MODIFIER_LETTERS_ID); 10192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS 10222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_DIACRITICAL_MARKS", COMBINING_DIACRITICAL_MARKS_ID); 10232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Greek and Coptic". 10252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GREEK 10272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GREEK", GREEK_ID); 10282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC 10312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC", CYRILLIC_ID); 10322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARMENIAN 10352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARMENIAN", ARMENIAN_ID); 10362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HEBREW 10392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HEBREW", HEBREW_ID); 10402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC 10432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC", ARABIC_ID); 10442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SYRIAC 10472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SYRIAC", SYRIAC_ID); 10482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock THAANA 10512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("THAANA", THAANA_ID); 10522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DEVANAGARI 10552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DEVANAGARI", DEVANAGARI_ID); 10562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BENGALI 10592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BENGALI", BENGALI_ID); 10602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GURMUKHI 10632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GURMUKHI", GURMUKHI_ID); 10642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GUJARATI 10672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GUJARATI", GUJARATI_ID); 10682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ORIYA 10712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ORIYA", ORIYA_ID); 10722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAMIL 10752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAMIL", TAMIL_ID); 10762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TELUGU 10792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TELUGU", TELUGU_ID); 10802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANNADA 10832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANNADA", KANNADA_ID); 10842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MALAYALAM 10872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MALAYALAM", MALAYALAM_ID); 10882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SINHALA 10912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SINHALA", SINHALA_ID); 10922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock THAI 10952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("THAI", THAI_ID); 10962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 10972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 10982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LAO 10992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LAO", LAO_ID); 11002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIBETAN 11032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TIBETAN", TIBETAN_ID); 11042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR 11072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MYANMAR", MYANMAR_ID); 11082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEORGIAN 11112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GEORGIAN", GEORGIAN_ID); 11122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO 11152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_JAMO", HANGUL_JAMO_ID); 11162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC 11192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ETHIOPIC", ETHIOPIC_ID); 11202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHEROKEE 11232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CHEROKEE", CHEROKEE_ID); 11242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS 11272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS", 11282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID); 11292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OGHAM 11322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OGHAM", OGHAM_ID); 11332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock RUNIC 11362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("RUNIC", RUNIC_ID); 11372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHMER 11402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KHMER", KHMER_ID); 11412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MONGOLIAN 11442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MONGOLIAN", MONGOLIAN_ID); 11452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_ADDITIONAL 11482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LATIN_EXTENDED_ADDITIONAL", LATIN_EXTENDED_ADDITIONAL_ID); 11492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GREEK_EXTENDED 11522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GREEK_EXTENDED", GREEK_EXTENDED_ID); 11532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GENERAL_PUNCTUATION 11562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GENERAL_PUNCTUATION", GENERAL_PUNCTUATION_ID); 11572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS 11602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPERSCRIPTS_AND_SUBSCRIPTS", SUPERSCRIPTS_AND_SUBSCRIPTS_ID); 11612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CURRENCY_SYMBOLS 11642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CURRENCY_SYMBOLS", CURRENCY_SYMBOLS_ID); 11652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames this block to "Combining Diacritical Marks for 11672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Symbols". 11682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS 11702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_MARKS_FOR_SYMBOLS", COMBINING_MARKS_FOR_SYMBOLS_ID); 11712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LETTERLIKE_SYMBOLS 11742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LETTERLIKE_SYMBOLS", LETTERLIKE_SYMBOLS_ID); 11752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NUMBER_FORMS 11782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("NUMBER_FORMS", NUMBER_FORMS_ID); 11792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARROWS 11822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARROWS", ARROWS_ID); 11832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MATHEMATICAL_OPERATORS 11862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MATHEMATICAL_OPERATORS", MATHEMATICAL_OPERATORS_ID); 11872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_TECHNICAL 11902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_TECHNICAL", MISCELLANEOUS_TECHNICAL_ID); 11912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CONTROL_PICTURES 11942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CONTROL_PICTURES", CONTROL_PICTURES_ID); 11952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 11962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 11972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OPTICAL_CHARACTER_RECOGNITION 11982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OPTICAL_CHARACTER_RECOGNITION", OPTICAL_CHARACTER_RECOGNITION_ID); 11992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_ALPHANUMERICS 12022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ENCLOSED_ALPHANUMERICS", ENCLOSED_ALPHANUMERICS_ID); 12032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOX_DRAWING 12062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOX_DRAWING", BOX_DRAWING_ID); 12072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BLOCK_ELEMENTS 12102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BLOCK_ELEMENTS", BLOCK_ELEMENTS_ID); 12112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEOMETRIC_SHAPES 12142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GEOMETRIC_SHAPES", GEOMETRIC_SHAPES_ID); 12152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS 12182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_SYMBOLS", MISCELLANEOUS_SYMBOLS_ID); 12192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DINGBATS 12222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DINGBATS", DINGBATS_ID); 12232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BRAILLE_PATTERNS 12262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BRAILLE_PATTERNS", BRAILLE_PATTERNS_ID); 12272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_RADICALS_SUPPLEMENT 12302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_RADICALS_SUPPLEMENT", CJK_RADICALS_SUPPLEMENT_ID); 12312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANGXI_RADICALS 12342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANGXI_RADICALS", KANGXI_RADICALS_ID); 12352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS 12382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("IDEOGRAPHIC_DESCRIPTION_CHARACTERS", 12392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID); 12402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION 12432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_SYMBOLS_AND_PUNCTUATION", CJK_SYMBOLS_AND_PUNCTUATION_ID); 12442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIRAGANA 12472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIRAGANA", HIRAGANA_ID); 12482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KATAKANA 12512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KATAKANA", KATAKANA_ID); 12522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOPOMOFO 12552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOPOMOFO", BOPOMOFO_ID); 12562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_COMPATIBILITY_JAMO 12592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_COMPATIBILITY_JAMO", HANGUL_COMPATIBILITY_JAMO_ID); 12602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANBUN 12632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KANBUN", KANBUN_ID); 12642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BOPOMOFO_EXTENDED 12672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BOPOMOFO_EXTENDED", BOPOMOFO_EXTENDED_ID); 12682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS 12712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ENCLOSED_CJK_LETTERS_AND_MONTHS", 12722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_CJK_LETTERS_AND_MONTHS_ID); 12732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY 12762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY", CJK_COMPATIBILITY_ID); 12772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A 12802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A", 12812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID); 12822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS 12852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS", CJK_UNIFIED_IDEOGRAPHS_ID); 12862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YI_SYLLABLES 12892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YI_SYLLABLES", YI_SYLLABLES_ID); 12902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YI_RADICALS 12932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YI_RADICALS", YI_RADICALS_ID); 12942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 12962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_SYLLABLES 12972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANGUL_SYLLABLES", HANGUL_SYLLABLES_ID); 12982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 12992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIGH_SURROGATES 13012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIGH_SURROGATES", HIGH_SURROGATES_ID); 13022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HIGH_PRIVATE_USE_SURROGATES 13052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HIGH_PRIVATE_USE_SURROGATES", HIGH_PRIVATE_USE_SURROGATES_ID); 13062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LOW_SURROGATES 13092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LOW_SURROGATES", LOW_SURROGATES_ID); 13102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE. 13122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 13132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 13142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 13152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 13162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PRIVATE_USE_AREA 13182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("PRIVATE_USE_AREA", 78); 13192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as public static final int PRIVATE_USE_AREA. 13212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Until Unicode 3.1.1; the corresponding block name was "Private Use"; 13222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and multiple code point ranges had this block. 13232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" 13242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and adds separate blocks for the supplementary PUAs. 13252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PRIVATE_USE 13272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = PRIVATE_USE_AREA; 13282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS 13312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS", CJK_COMPATIBILITY_IDEOGRAPHS_ID); 13322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ALPHABETIC_PRESENTATION_FORMS 13352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ALPHABETIC_PRESENTATION_FORMS", ALPHABETIC_PRESENTATION_FORMS_ID); 13362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_A 13392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_A", ARABIC_PRESENTATION_FORMS_A_ID); 13402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_HALF_MARKS 13432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("COMBINING_HALF_MARKS", COMBINING_HALF_MARKS_ID); 13442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_COMPATIBILITY_FORMS 13472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_FORMS", CJK_COMPATIBILITY_FORMS_ID); 13482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SMALL_FORM_VARIANTS 13512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SMALL_FORM_VARIANTS", SMALL_FORM_VARIANTS_ID); 13522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_PRESENTATION_FORMS_B 13552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("ARABIC_PRESENTATION_FORMS_B", ARABIC_PRESENTATION_FORMS_B_ID); 13562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SPECIALS 13592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SPECIALS", SPECIALS_ID); 13602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS 13632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HALFWIDTH_AND_FULLWIDTH_FORMS", HALFWIDTH_AND_FULLWIDTH_FORMS_ID); 13642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_ITALIC 13672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OLD_ITALIC", OLD_ITALIC_ID); 13682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GOTHIC 13712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("GOTHIC", GOTHIC_ID); 13722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DESERET 13752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("DESERET", DESERET_ID); 13762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS 13792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BYZANTINE_MUSICAL_SYMBOLS", BYZANTINE_MUSICAL_SYMBOLS_ID); 13802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MUSICAL_SYMBOLS 13832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MUSICAL_SYMBOLS", MUSICAL_SYMBOLS_ID); 13842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS 13872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MATHEMATICAL_ALPHANUMERIC_SYMBOLS", 13882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID); 13892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B 13922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B", 13932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID); 13942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 13952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 13962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock 13972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT 13982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT", 13992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID); 14002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGS 14032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGS", TAGS_ID); 14042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // New blocks in Unicode 3.2 14062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 14092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_SUPPLEMENTARY 14112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC_SUPPLEMENTARY", CYRILLIC_SUPPLEMENTARY_ID); 14122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement". 14142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_SUPPLEMENT 14162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYRILLIC_SUPPLEMENT", CYRILLIC_SUPPLEMENT_ID); 14172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGALOG 14202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGALOG", TAGALOG_ID); 14212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANUNOO 14242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("HANUNOO", HANUNOO_ID); 14252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BUHID 14282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("BUHID", BUHID_ID); 14292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAGBANWA 14322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAGBANWA", TAGBANWA_ID); 14332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A 14362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A", 14372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID); 14382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_A 14412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_ARROWS_A", SUPPLEMENTAL_ARROWS_A_ID); 14422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_B 14452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_ARROWS_B", SUPPLEMENTAL_ARROWS_B_ID); 14462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B 14492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B", 14502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID); 14512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS 14542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTAL_MATHEMATICAL_OPERATORS", 14552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID); 14562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS 14592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KATAKANA_PHONETIC_EXTENSIONS", KATAKANA_PHONETIC_EXTENSIONS_ID); 14602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VARIATION_SELECTORS 14632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("VARIATION_SELECTORS", VARIATION_SELECTORS_ID); 14642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A 14672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_A", 14682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID); 14692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B 14722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SUPPLEMENTARY_PRIVATE_USE_AREA_B", 14732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID); 14742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LIMBU 14782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LIMBU", LIMBU_ID); 14792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_LE 14822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAI_LE", TAI_LE_ID); 14832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHMER_SYMBOLS 14862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("KHMER_SYMBOLS", KHMER_SYMBOLS_ID); 14872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHONETIC_EXTENSIONS 14912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("PHONETIC_EXTENSIONS", PHONETIC_EXTENSIONS_ID); 14922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 14932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 14952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS 14962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_ARROWS", 14972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID); 14982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 14992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock YIJING_HEXAGRAM_SYMBOLS 15012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("YIJING_HEXAGRAM_SYMBOLS", YIJING_HEXAGRAM_SYMBOLS_ID); 15022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_B_SYLLABARY 15052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LINEAR_B_SYLLABARY", LINEAR_B_SYLLABARY_ID); 15062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_B_IDEOGRAMS 15092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("LINEAR_B_IDEOGRAMS", LINEAR_B_IDEOGRAMS_ID); 15102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AEGEAN_NUMBERS 15132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("AEGEAN_NUMBERS", AEGEAN_NUMBERS_ID); 15142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UGARITIC 15172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("UGARITIC", UGARITIC_ID); 15182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHAVIAN 15212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("SHAVIAN", SHAVIAN_ID); 15222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OSMANYA 15252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("OSMANYA", OSMANYA_ID); 15262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYPRIOT_SYLLABARY 15292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("CYPRIOT_SYLLABARY", CYPRIOT_SYLLABARY_ID); 15302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_XUAN_JING_SYMBOLS 15332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("TAI_XUAN_JING_SYMBOLS", TAI_XUAN_JING_SYMBOLS_ID); 15342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT 15382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("VARIATION_SELECTORS_SUPPLEMENT", VARIATION_SELECTORS_SUPPLEMENT_ID); 15392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 4.1 */ 15412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION = 15452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_GREEK_MUSICAL_NOTATION", 15462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ANCIENT_GREEK_MUSICAL_NOTATION_ID); /*[1D200]*/ 15472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_GREEK_NUMBERS = 15512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_GREEK_NUMBERS", ANCIENT_GREEK_NUMBERS_ID); /*[10140]*/ 15522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_SUPPLEMENT = 15562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_SUPPLEMENT", ARABIC_SUPPLEMENT_ID); /*[0750]*/ 15572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BUGINESE = 15612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BUGINESE", BUGINESE_ID); /*[1A00]*/ 15622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_STROKES = 15662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_STROKES", CJK_STROKES_ID); /*[31C0]*/ 15672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 15712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_SUPPLEMENT", 15722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID); /*[1DC0]*/ 15732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COPTIC = new UnicodeBlock("COPTIC", COPTIC_ID); /*[2C80]*/ 15772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_EXTENDED = 15812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_EXTENDED", ETHIOPIC_EXTENDED_ID); /*[2D80]*/ 15822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_SUPPLEMENT = 15862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_SUPPLEMENT", ETHIOPIC_SUPPLEMENT_ID); /*[1380]*/ 15872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEORGIAN_SUPPLEMENT = 15912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GEORGIAN_SUPPLEMENT", GEORGIAN_SUPPLEMENT_ID); /*[2D00]*/ 15922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 15952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GLAGOLITIC = 15962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GLAGOLITIC", GLAGOLITIC_ID); /*[2C00]*/ 15972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 15982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 15992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHAROSHTHI = 16012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KHAROSHTHI", KHAROSHTHI_ID); /*[10A00]*/ 16022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MODIFIER_TONE_LETTERS = 16062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MODIFIER_TONE_LETTERS", MODIFIER_TONE_LETTERS_ID); /*[A700]*/ 16072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NEW_TAI_LUE = 16112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("NEW_TAI_LUE", NEW_TAI_LUE_ID); /*[1980]*/ 16122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_PERSIAN = 16162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_PERSIAN", OLD_PERSIAN_ID); /*[103A0]*/ 16172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT = 16212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHONETIC_EXTENSIONS_SUPPLEMENT", 16222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller PHONETIC_EXTENSIONS_SUPPLEMENT_ID); /*[1D80]*/ 16232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_PUNCTUATION = 16272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_PUNCTUATION", SUPPLEMENTAL_PUNCTUATION_ID); /*[2E00]*/ 16282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SYLOTI_NAGRI = 16322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SYLOTI_NAGRI", SYLOTI_NAGRI_ID); /*[A800]*/ 16332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIFINAGH = 16372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TIFINAGH", TIFINAGH_ID); /*[2D30]*/ 16382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VERTICAL_FORMS = 16422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("VERTICAL_FORMS", VERTICAL_FORMS_ID); /*[FE10]*/ 16432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NKO = new UnicodeBlock("NKO", NKO_ID); /*[07C0]*/ 16472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BALINESE = 16502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BALINESE", BALINESE_ID); /*[1B00]*/ 16512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_C = 16542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_C", LATIN_EXTENDED_C_ID); /*[2C60]*/ 16552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_D = 16582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_D", LATIN_EXTENDED_D_ID); /*[A720]*/ 16592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHAGS_PA = 16622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHAGS_PA", PHAGS_PA_ID); /*[A840]*/ 16632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHOENICIAN = 16662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHOENICIAN", PHOENICIAN_ID); /*[10900]*/ 16672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CUNEIFORM = 16702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CUNEIFORM", CUNEIFORM_ID); /*[12000]*/ 16712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION = 16742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CUNEIFORM_NUMBERS_AND_PUNCTUATION", 16752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID); /*[12400]*/ 16762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COUNTING_ROD_NUMERALS = 16792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COUNTING_ROD_NUMERALS", COUNTING_ROD_NUMERALS_ID); /*[1D360]*/ 16802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUNDANESE = 16842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUNDANESE", SUNDANESE_ID); /* [1B80] */ 16852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LEPCHA = 16892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LEPCHA", LEPCHA_ID); /* [1C00] */ 16902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OL_CHIKI = 16942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OL_CHIKI", OL_CHIKI_ID); /* [1C50] */ 16952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 16962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 16972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 16982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_EXTENDED_A = 16992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CYRILLIC_EXTENDED_A", CYRILLIC_EXTENDED_A_ID); /* [2DE0] */ 17002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VAI = new UnicodeBlock("VAI", VAI_ID); /* [A500] */ 17042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CYRILLIC_EXTENDED_B = 17082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CYRILLIC_EXTENDED_B", CYRILLIC_EXTENDED_B_ID); /* [A640] */ 17092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SAURASHTRA = 17132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SAURASHTRA", SAURASHTRA_ID); /* [A880] */ 17142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KAYAH_LI = 17182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KAYAH_LI", KAYAH_LI_ID); /* [A900] */ 17192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock REJANG = 17232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("REJANG", REJANG_ID); /* [A930] */ 17242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHAM = 17282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CHAM", CHAM_ID); /* [AA00] */ 17292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANCIENT_SYMBOLS = 17332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANCIENT_SYMBOLS", ANCIENT_SYMBOLS_ID); /* [10190] */ 17342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PHAISTOS_DISC = 17382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PHAISTOS_DISC", PHAISTOS_DISC_ID); /* [101D0] */ 17392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LYCIAN = 17432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LYCIAN", LYCIAN_ID); /* [10280] */ 17442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CARIAN = 17482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CARIAN", CARIAN_ID); /* [102A0] */ 17492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LYDIAN = 17532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LYDIAN", LYDIAN_ID); /* [10920] */ 17542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MAHJONG_TILES = 17582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MAHJONG_TILES", MAHJONG_TILES_ID); /* [1F000] */ 17592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 17612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 17622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DOMINO_TILES = 17632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("DOMINO_TILES", DOMINO_TILES_ID); /* [1F030] */ 17642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 5.2 */ 17662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 17671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SAMARITAN = 17692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SAMARITAN", SAMARITAN_ID); /*[0800]*/ 17701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 17722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED", 17732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID); /*[18B0]*/ 17741fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_THAM = 17762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TAI_THAM", TAI_THAM_ID); /*[1A20]*/ 17771fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock VEDIC_EXTENSIONS = 17792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("VEDIC_EXTENSIONS", VEDIC_EXTENSIONS_ID); /*[1CD0]*/ 17801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LISU = 17822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LISU", LISU_ID); /*[A4D0]*/ 17831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BAMUM = 17852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BAMUM", BAMUM_ID); /*[A6A0]*/ 17861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMMON_INDIC_NUMBER_FORMS = 17882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMMON_INDIC_NUMBER_FORMS", COMMON_INDIC_NUMBER_FORMS_ID); /*[A830]*/ 17891fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DEVANAGARI_EXTENDED = 17912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("DEVANAGARI_EXTENDED", DEVANAGARI_EXTENDED_ID); /*[A8E0]*/ 17921fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO_EXTENDED_A = 17942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("HANGUL_JAMO_EXTENDED_A", HANGUL_JAMO_EXTENDED_A_ID); /*[A960]*/ 17951fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock JAVANESE = 17972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("JAVANESE", JAVANESE_ID); /*[A980]*/ 17981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 17992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR_EXTENDED_A = 18002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MYANMAR_EXTENDED_A", MYANMAR_EXTENDED_A_ID); /*[AA60]*/ 18011fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAI_VIET = 18032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TAI_VIET", TAI_VIET_ID); /*[AA80]*/ 18041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEETEI_MAYEK = 18062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEETEI_MAYEK", MEETEI_MAYEK_ID); /*[ABC0]*/ 18071fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HANGUL_JAMO_EXTENDED_B = 18092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("HANGUL_JAMO_EXTENDED_B", HANGUL_JAMO_EXTENDED_B_ID); /*[D7B0]*/ 18101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock IMPERIAL_ARAMAIC = 18122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("IMPERIAL_ARAMAIC", IMPERIAL_ARAMAIC_ID); /*[10840]*/ 18131fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_SOUTH_ARABIAN = 18152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_SOUTH_ARABIAN", OLD_SOUTH_ARABIAN_ID); /*[10A60]*/ 18161fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AVESTAN = 18182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("AVESTAN", AVESTAN_ID); /*[10B00]*/ 18191fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INSCRIPTIONAL_PARTHIAN = 18212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("INSCRIPTIONAL_PARTHIAN", INSCRIPTIONAL_PARTHIAN_ID); /*[10B40]*/ 18221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INSCRIPTIONAL_PAHLAVI = 18242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("INSCRIPTIONAL_PAHLAVI", INSCRIPTIONAL_PAHLAVI_ID); /*[10B60]*/ 18251fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_TURKIC = 18272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_TURKIC", OLD_TURKIC_ID); /*[10C00]*/ 18281fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock RUMI_NUMERAL_SYMBOLS = 18302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("RUMI_NUMERAL_SYMBOLS", RUMI_NUMERAL_SYMBOLS_ID); /*[10E60]*/ 18311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KAITHI = 18332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KAITHI", KAITHI_ID); /*[11080]*/ 18341fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EGYPTIAN_HIEROGLYPHS = 18362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EGYPTIAN_HIEROGLYPHS", EGYPTIAN_HIEROGLYPHS_ID); /*[13000]*/ 18371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 18392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ENCLOSED_ALPHANUMERIC_SUPPLEMENT", 18402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID); /*[1F100]*/ 18411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 18432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ENCLOSED_IDEOGRAPHIC_SUPPLEMENT", 18442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID); /*[1F200]*/ 18451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 18472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C", 18482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID); /*[2A700]*/ 18492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.0 */ 18512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18521fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MANDAIC = 18542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MANDAIC", MANDAIC_ID); /*[0840]*/ 18551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BATAK = 18572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BATAK", BATAK_ID); /*[1BC0]*/ 18581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ETHIOPIC_EXTENDED_A = 18602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ETHIOPIC_EXTENDED_A", ETHIOPIC_EXTENDED_A_ID); /*[AB00]*/ 18611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BRAHMI = 18632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BRAHMI", BRAHMI_ID); /*[11000]*/ 18641fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BAMUM_SUPPLEMENT = 18662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("BAMUM_SUPPLEMENT", BAMUM_SUPPLEMENT_ID); /*[16800]*/ 18671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KANA_SUPPLEMENT = 18692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("KANA_SUPPLEMENT", KANA_SUPPLEMENT_ID); /*[1B000]*/ 18701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PLAYING_CARDS = 18722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PLAYING_CARDS", PLAYING_CARDS_ID); /*[1F0A0]*/ 18731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 18752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS", 18762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID); /*[1F300]*/ 18771fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EMOTICONS = 18792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EMOTICONS", EMOTICONS_ID); /*[1F600]*/ 18801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS = 18822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("TRANSPORT_AND_MAP_SYMBOLS", TRANSPORT_AND_MAP_SYMBOLS_ID); /*[1F680]*/ 18831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ALCHEMICAL_SYMBOLS = 18852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ALCHEMICAL_SYMBOLS", ALCHEMICAL_SYMBOLS_ID); /*[1F700]*/ 18861fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 18882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D", 18892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID); /*[2B740]*/ 18902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 6.1 */ 18922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 18931fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_EXTENDED_A = 18952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_EXTENDED_A", ARABIC_EXTENDED_A_ID); /*[08A0]*/ 18961fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 18972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 18982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS", ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID); /*[1EE00]*/ 18991fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHAKMA = new UnicodeBlock("CHAKMA", CHAKMA_ID); /*[11100]*/ 19011fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEETEI_MAYEK_EXTENSIONS = 19032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEETEI_MAYEK_EXTENSIONS", MEETEI_MAYEK_EXTENSIONS_ID); /*[AAE0]*/ 19041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEROITIC_CURSIVE = 19062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEROITIC_CURSIVE", MEROITIC_CURSIVE_ID); /*[109A0]*/ 19071fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MEROITIC_HIEROGLYPHS = 19092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MEROITIC_HIEROGLYPHS", MEROITIC_HIEROGLYPHS_ID); /*[10980]*/ 19101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MIAO = new UnicodeBlock("MIAO", MIAO_ID); /*[16F00]*/ 19121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHARADA = new UnicodeBlock("SHARADA", SHARADA_ID); /*[11180]*/ 19141fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SORA_SOMPENG = 19162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SORA_SOMPENG", SORA_SOMPENG_ID); /*[110D0]*/ 19171fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUNDANESE_SUPPLEMENT = 19192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUNDANESE_SUPPLEMENT", SUNDANESE_SUPPLEMENT_ID); /*[1CC0]*/ 19201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TAKRI = new UnicodeBlock("TAKRI", TAKRI_ID); /*[11680]*/ 19222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 19232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 7.0 */ 19242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 19251fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock BASSA_VAH = new UnicodeBlock("BASSA_VAH", BASSA_VAH_ID); /*[16AD0]*/ 19271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CAUCASIAN_ALBANIAN = 19292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CAUCASIAN_ALBANIAN", CAUCASIAN_ALBANIAN_ID); /*[10530]*/ 19301fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COPTIC_EPACT_NUMBERS = 19322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COPTIC_EPACT_NUMBERS", COPTIC_EPACT_NUMBERS_ID); /*[102E0]*/ 19331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED = 19352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("COMBINING_DIACRITICAL_MARKS_EXTENDED", COMBINING_DIACRITICAL_MARKS_EXTENDED_ID); /*[1AB0]*/ 19361fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock DUPLOYAN = new UnicodeBlock("DUPLOYAN", DUPLOYAN_ID); /*[1BC00]*/ 19381fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ELBASAN = new UnicodeBlock("ELBASAN", ELBASAN_ID); /*[10500]*/ 19401fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GEOMETRIC_SHAPES_EXTENDED = 19422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("GEOMETRIC_SHAPES_EXTENDED", GEOMETRIC_SHAPES_EXTENDED_ID); /*[1F780]*/ 19431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock GRANTHA = new UnicodeBlock("GRANTHA", GRANTHA_ID); /*[11300]*/ 19451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHOJKI = new UnicodeBlock("KHOJKI", KHOJKI_ID); /*[11200]*/ 19471fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock KHUDAWADI = new UnicodeBlock("KHUDAWADI", KHUDAWADI_ID); /*[112B0]*/ 19491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LATIN_EXTENDED_E = 19512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("LATIN_EXTENDED_E", LATIN_EXTENDED_E_ID); /*[AB30]*/ 19521fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock LINEAR_A = new UnicodeBlock("LINEAR_A", LINEAR_A_ID); /*[10600]*/ 19541fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MAHAJANI = new UnicodeBlock("MAHAJANI", MAHAJANI_ID); /*[11150]*/ 19561fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MANICHAEAN = new UnicodeBlock("MANICHAEAN", MANICHAEAN_ID); /*[10AC0]*/ 19581fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MENDE_KIKAKUI = 19602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MENDE_KIKAKUI", MENDE_KIKAKUI_ID); /*[1E800]*/ 19611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MODI = new UnicodeBlock("MODI", MODI_ID); /*[11600]*/ 19631fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MRO = new UnicodeBlock("MRO", MRO_ID); /*[16A40]*/ 19651fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MYANMAR_EXTENDED_B = 19672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("MYANMAR_EXTENDED_B", MYANMAR_EXTENDED_B_ID); /*[A9E0]*/ 19681fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock NABATAEAN = new UnicodeBlock("NABATAEAN", NABATAEAN_ID); /*[10880]*/ 19701fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_NORTH_ARABIAN = 19722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_NORTH_ARABIAN", OLD_NORTH_ARABIAN_ID); /*[10A80]*/ 19731fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_PERMIC = new UnicodeBlock("OLD_PERMIC", OLD_PERMIC_ID); /*[10350]*/ 19751fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ORNAMENTAL_DINGBATS = 19772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ORNAMENTAL_DINGBATS", ORNAMENTAL_DINGBATS_ID); /*[1F650]*/ 19781fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PAHAWH_HMONG = new UnicodeBlock("PAHAWH_HMONG", PAHAWH_HMONG_ID); /*[16B00]*/ 19801fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PALMYRENE = new UnicodeBlock("PALMYRENE", PALMYRENE_ID); /*[10860]*/ 19821fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PAU_CIN_HAU = new UnicodeBlock("PAU_CIN_HAU", PAU_CIN_HAU_ID); /*[11AC0]*/ 19841fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock PSALTER_PAHLAVI = 19862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("PSALTER_PAHLAVI", PSALTER_PAHLAVI_ID); /*[10B80]*/ 19871fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SHORTHAND_FORMAT_CONTROLS = 19892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SHORTHAND_FORMAT_CONTROLS", SHORTHAND_FORMAT_CONTROLS_ID); /*[1BCA0]*/ 19901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SIDDHAM = new UnicodeBlock("SIDDHAM", SIDDHAM_ID); /*[11580]*/ 19921fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SINHALA_ARCHAIC_NUMBERS = 19942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SINHALA_ARCHAIC_NUMBERS", SINHALA_ARCHAIC_NUMBERS_ID); /*[111E0]*/ 19951fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_ARROWS_C = 19972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_ARROWS_C", SUPPLEMENTAL_ARROWS_C_ID); /*[1F800]*/ 19981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 19992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock TIRHUTA = new UnicodeBlock("TIRHUTA", TIRHUTA_ID); /*[11480]*/ 20001fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock WARANG_CITI = new UnicodeBlock("WARANG_CITI", WARANG_CITI_ID); /*[118A0]*/ 20022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /* New blocks in Unicode 8.0 */ 20042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20051fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock AHOM = new UnicodeBlock("AHOM", AHOM_ID); /*[11700]*/ 20071fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock ANATOLIAN_HIEROGLYPHS = 20092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("ANATOLIAN_HIEROGLYPHS", ANATOLIAN_HIEROGLYPHS_ID); /*[14400]*/ 20101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CHEROKEE_SUPPLEMENT = 20122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CHEROKEE_SUPPLEMENT", CHEROKEE_SUPPLEMENT_ID); /*[AB70]*/ 20131fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 20152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E", 20162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID); /*[2B820]*/ 20171fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock EARLY_DYNASTIC_CUNEIFORM = 20192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("EARLY_DYNASTIC_CUNEIFORM", EARLY_DYNASTIC_CUNEIFORM_ID); /*[12480]*/ 20201fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock HATRAN = new UnicodeBlock("HATRAN", HATRAN_ID); /*[108E0]*/ 20221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock MULTANI = new UnicodeBlock("MULTANI", MULTANI_ID); /*[11280]*/ 20241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock OLD_HUNGARIAN = 20262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("OLD_HUNGARIAN", OLD_HUNGARIAN_ID); /*[10C80]*/ 20271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 20292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS", 20302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID); /*[1F900]*/ 20311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 20322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock SUTTON_SIGNWRITING = 20332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller new UnicodeBlock("SUTTON_SIGNWRITING", SUTTON_SIGNWRITING_ID); /*[1D800]*/ 20342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 2035f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /* New blocks in Unicode 9.0 */ 2036f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 2037f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2038f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock ADLAM = new UnicodeBlock("ADLAM", ADLAM_ID); /*[1E900]*/ 2039f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2040f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock BHAIKSUKI = new UnicodeBlock("BHAIKSUKI", BHAIKSUKI_ID); /*[11C00]*/ 2041f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2042f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock CYRILLIC_EXTENDED_C = 2043f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert new UnicodeBlock("CYRILLIC_EXTENDED_C", CYRILLIC_EXTENDED_C_ID); /*[1C80]*/ 2044f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2045f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock GLAGOLITIC_SUPPLEMENT = 2046f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert new UnicodeBlock("GLAGOLITIC_SUPPLEMENT", GLAGOLITIC_SUPPLEMENT_ID); /*[1E000]*/ 2047f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2048f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 2049f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert new UnicodeBlock("IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION", IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID); /*[16FE0]*/ 2050f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2051f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock MARCHEN = new UnicodeBlock("MARCHEN", MARCHEN_ID); /*[11C70]*/ 2052f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2053f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock MONGOLIAN_SUPPLEMENT = 2054f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert new UnicodeBlock("MONGOLIAN_SUPPLEMENT", MONGOLIAN_SUPPLEMENT_ID); /*[11660]*/ 2055f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2056f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock NEWA = new UnicodeBlock("NEWA", NEWA_ID); /*[11400]*/ 2057f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2058f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock OSAGE = new UnicodeBlock("OSAGE", OSAGE_ID); /*[104B0]*/ 2059f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2060f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock TANGUT = new UnicodeBlock("TANGUT", TANGUT_ID); /*[17000]*/ 2061f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2062f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final UnicodeBlock TANGUT_COMPONENTS = 2063f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert new UnicodeBlock("TANGUT_COMPONENTS", TANGUT_COMPONENTS_ID); /*[18800]*/ 2064f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 20652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock INVALID_CODE 20682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller = new UnicodeBlock("INVALID_CODE", INVALID_CODE_ID); 20692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller static { 20712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int blockId = 0; blockId < COUNT; ++blockId) { 20722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (BLOCKS_[blockId] == null) { 20732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new java.lang.IllegalStateException( 20742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller "UnicodeBlock.BLOCKS_[" + blockId + "] not initialized"); 20752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public methods -------------------------------------------------- 20802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20821537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the only instance of the UnicodeBlock with the argument ID. 20832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no such ID exists, a INVALID_CODE UnicodeBlock will be returned. 20842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param id UnicodeBlock ID 20852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the only instance of the UnicodeBlock with the argument ID 20862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * if it exists, otherwise a INVALID_CODE UnicodeBlock will be 20872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned. 20882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 20892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static UnicodeBlock getInstance(int id) 20902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 20912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (id >= 0 && id < BLOCKS_.length) { 20922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return BLOCKS_[id]; 20932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return INVALID_CODE; 20952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 20962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 20972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 20982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the Unicode allocation block that contains the code point, 20992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or null if the code point is not a member of a defined block. 21002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be tested 21012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the Unicode allocation block that contains the code point 21022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static UnicodeBlock of(int ch) 21042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch > MAX_VALUE) { 21062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return INVALID_CODE; 21072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UnicodeBlock.getInstance( 21102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterProperty.INSTANCE.getIntPropertyValue(ch, UProperty.BLOCK)); 21112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21147241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Alternative to the {@link java.lang.Character.UnicodeBlock#forName(String)} method. 21157241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Returns the Unicode block with the given name. <strong>[icu] Note:</strong> Unlike 21167241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * {@link java.lang.Character.UnicodeBlock#forName(String)}, this only matches 21172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * against the official UCD name and the Java block name 21182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (ignoring case). 21192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param blockName the name of the block to match 21202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the UnicodeBlock with that name 21212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if the blockName could not be matched 21222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final UnicodeBlock forName(String blockName) { 21242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller Map<String, UnicodeBlock> m = null; 21252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (mref != null) { 21262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m = mref.get(); 21272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (m == null) { 21292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m = new HashMap<String, UnicodeBlock>(BLOCKS_.length); 21302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < BLOCKS_.length; ++i) { 21312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UnicodeBlock b = BLOCKS_[i]; 21322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String name = trimBlockName( 21332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller getPropertyValueName(UProperty.BLOCK, b.getID(), 21342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.NameChoice.LONG)); 21352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m.put(name, b); 21362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller mref = new SoftReference<Map<String, UnicodeBlock>>(m); 21382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UnicodeBlock b = m.get(trimBlockName(blockName)); 21402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (b == null) { 21412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException(); 21422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return b; 21442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static SoftReference<Map<String, UnicodeBlock>> mref; 21462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static String trimBlockName(String name) { 21482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller String upper = name.toUpperCase(Locale.ENGLISH); 21492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder result = new StringBuilder(upper.length()); 21502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < upper.length(); i++) { 21512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c = upper.charAt(i); 21522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (c != ' ' && c != '_' && c != '-') { 21532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller result.append(c); 21542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return result.toString(); 21572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * {icu} Returns the type ID of this Unicode block 21612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return integer type ID of this Unicode block 21622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int getID() 21642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return m_id_; 21662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private data members --------------------------------------------- 21692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Identification code for this UnicodeBlock 21722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private int m_id_; 21742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private constructor ---------------------------------------------- 21762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeBlock constructor 21792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name name of this UnicodeBlock 21802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param id unique id of this UnicodeBlock 21812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception NullPointerException if name is <code>null</code> 21822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private UnicodeBlock(String name, int id) 21842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 21852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller super(name); 21862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller m_id_ = id; 21872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (id >= 0) { 21882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BLOCKS_[id] = this; 21892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 21922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 21932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 21942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * East Asian Width constants. 21952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#EAST_ASIAN_WIDTH 21962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UCharacter#getIntPropertyValue 21972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 21982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface EastAsianWidth 21992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 22002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEUTRAL = 0; 22032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AMBIGUOUS = 1; 22062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HALFWIDTH = 2; 22092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FULLWIDTH = 3; 22122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NARROW = 4; 22152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WIDE = 5; 22182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2219f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal EastAsianWidth value. 2220f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.EAST_ASIAN_WIDTH). 2221f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2222f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2223ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 22242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2225f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 22262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 22272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 22282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 22292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Decomposition Type constants. 22312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#DECOMPOSITION_TYPE 22322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface DecompositionType 22342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 22352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 22382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CANONICAL = 1; 22412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMPAT = 2; 22442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CIRCLE = 3; 22472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FINAL = 4; 22502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FONT = 5; 22532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FRACTION = 6; 22562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INITIAL = 7; 22592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ISOLATED = 8; 22622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEDIAL = 9; 22652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NARROW = 10; 22682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOBREAK = 11; 22712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SMALL = 12; 22742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SQUARE = 13; 22772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUB = 14; 22802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPER = 15; 22832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VERTICAL = 16; 22862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 22872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 22882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WIDE = 17; 22892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2290f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal DecompositionType value. 2291f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.DECOMPOSITION_TYPE). 2292f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2293f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2294ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 22952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2296f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 22972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 18; 22982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 22992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 23002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Joining Type constants. 23022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#JOINING_TYPE 23032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface JoiningType 23052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 23062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NON_JOINING = 0; 23092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JOIN_CAUSING = 1; 23122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DUAL_JOINING = 2; 23152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEFT_JOINING = 3; 23182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int RIGHT_JOINING = 4; 23212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRANSPARENT = 5; 23242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2325f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal JoiningType value. 2326f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.JOINING_TYPE). 2327f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2328f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2329ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 23302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2331f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 23322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 23332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 23342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 23352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Joining Group constants. 23372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#JOINING_GROUP 23382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface JoiningGroup 23402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 23412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NO_JOINING_GROUP = 0; 23442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AIN = 1; 23472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALAPH = 2; 23502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALEF = 3; 23532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BEH = 4; 23562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BETH = 5; 23592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DAL = 6; 23622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DALATH_RISH = 7; 23652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int E = 8; 23682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FEH = 9; 23712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FINAL_SEMKATH = 10; 23742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GAF = 11; 23772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GAMAL = 12; 23802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HAH = 13; 23831fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 23842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TEH_MARBUTA_GOAL = 14; 23852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HAMZA_ON_HEH_GOAL = TEH_MARBUTA_GOAL; 23882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HE = 15; 23912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEH = 16; 23942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEH_GOAL = 17; 23972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 23982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 23992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HETH = 18; 24002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAF = 19; 24032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KAPH = 20; 24062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KNOTTED_HEH = 21; 24092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAM = 22; 24122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LAMADH = 23; 24152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MEEM = 24; 24182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIM = 25; 24212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOON = 26; 24242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUN = 27; 24272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PE = 28; 24302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QAF = 29; 24332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QAPH = 30; 24362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REH = 31; 24392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REVERSED_PE = 32; 24422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SAD = 33; 24452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SADHE = 34; 24482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEEN = 35; 24512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEMKATH = 36; 24542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SHIN = 37; 24572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SWASH_KAF = 38; 24602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SYRIAC_WAW = 39; 24632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAH = 40; 24662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TAW = 41; 24692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TEH_MARBUTA = 42; 24722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TETH = 43; 24752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WAW = 44; 24782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH = 45; 24812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH_BARREE = 46; 24842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YEH_WITH_TAIL = 47; 24872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YUDH = 48; 24902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int YUDH_HE = 49; 24932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZAIN = 50; 24962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 24972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 24982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FE = 51; 24992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KHAPH = 52; 25022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZHAIN = 53; 25052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BURUSHASKI_YEH_BARREE = 54; 25081fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FARSI_YEH = 55; 25101fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NYA = 56; 25121fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ROHINGYA_YEH = 57; 25142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 25151fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ALEPH = 58; 25171fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_AYIN = 59; 25191fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_BETH = 60; 25211fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_DALETH = 61; 25231fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_DHAMEDH = 62; 25251fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_FIVE = 63; 25271fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_GIMEL = 64; 25291fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_HETH = 65; 25311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_HUNDRED = 66; 25331fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_KAPH = 67; 25351fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_LAMEDH = 68; 25371fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_MEM = 69; 25391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_NUN = 70; 25411fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ONE = 71; 25431fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_PE = 72; 25451fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_QOPH = 73; 25471fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_RESH = 74; 25491fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_SADHE = 75; 25511fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_SAMEKH = 76; 25531fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TAW = 77; 25551fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TEN = 78; 25571fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TETH = 79; 25591fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_THAMEDH = 80; 25611fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_TWENTY = 81; 25631fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_WAW = 82; 25651fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_YODH = 83; 25671fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANICHAEAN_ZAYIN = 84; 25691fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 25702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int STRAIGHT_WAW = 85; 25712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 2572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int AFRICAN_FEH = 86; 2574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int AFRICAN_NOON = 87; 2576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int AFRICAN_QAF = 88; 2578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 25792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal JoiningGroup value. 2581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.JoiningGroup). 2582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2584ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 25852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 2587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int COUNT = 89; 25882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 25892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 25902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Grapheme Cluster Break constants. 25922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#GRAPHEME_CLUSTER_BREAK 25932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface GraphemeClusterBreak { 25952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 25972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 25982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 25992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTROL = 1; 26012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 2; 26042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 3; 26072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int L = 4; 26102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 5; 26132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LV = 6; 26162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LVT = 7; 26192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int T = 8; 26222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int V = 9; 26252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACING_MARK = 10; 26282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PREPEND = 11; 26311fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 26322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 12; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 2633f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2634f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_BASE = 13; /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 2635f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2636f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_BASE_GAZ = 14; /*[EBG]*/ 2637f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2638f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_MODIFIER = 15; /*[EM]*/ 2639f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2640f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int GLUE_AFTER_ZWJ = 16; /*[GAZ]*/ 2641f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2642f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int ZWJ = 17; /*[ZWJ]*/ 26432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2644f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal GraphemeClusterBreak value. 2645f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.GRAPHEME_CLUSTER_BREAK). 2646f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2647f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2648ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 26492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2650f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 2651f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int COUNT = 18; 26522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 26532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 26542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Word Break constants. 26562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#WORD_BREAK 26572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface WordBreak { 26592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 26622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALETTER = 1; 26652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FORMAT = 2; 26682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int KATAKANA = 3; 26712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDLETTER = 4; 26742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDNUM = 5; 26772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 6; 26802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTENDNUMLET = 7; 26832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 8; 26862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 9; 26892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 10; 26922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIDNUMLET = 11; 26952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 26962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 26972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEWLINE = 12; 26981fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 26992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 13; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 27001fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_LETTER = 14; /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */ 27021fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SINGLE_QUOTE = 15; /*[SQ]*/ 27041fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 27052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DOUBLE_QUOTE = 16; /*[DQ]*/ 2706f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2707f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_BASE = 17; /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 2708f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2709f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_BASE_GAZ = 18; /*[EBG]*/ 2710f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2711f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_MODIFIER = 19; /*[EM]*/ 2712f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2713f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int GLUE_AFTER_ZWJ = 20; /*[GAZ]*/ 2714f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2715f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int ZWJ = 21; /*[ZWJ]*/ 27162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2717f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal WordBreak value. 2718f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.WORD_BREAK). 2719f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2720f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2721ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 27222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2723f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 2724f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int COUNT = 22; 27252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 27262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 27272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Sentence Break constants. 27292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#SENTENCE_BREAK 27302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface SentenceBreak { 27322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OTHER = 0; 27352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ATERM = 1; 27382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE = 2; 27412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FORMAT = 3; 27442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LOWER = 4; 27472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 5; 27502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OLETTER = 6; 27532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SEP = 7; 27562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SP = 8; 27592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int STERM = 9; 27622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UPPER = 10; 27652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CR = 11; 27682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXTEND = 12; 27712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LF = 13; 27742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SCONTINUE = 14; 27772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2778f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal SentenceBreak value. 2779f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.SENTENCE_BREAK). 2780f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2781f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2782ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 27832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2784f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 27852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 15; 27862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 27872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 27882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Line Break constants. 27902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#LINE_BREAK 27912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface LineBreak 27932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 27942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int UNKNOWN = 0; 27972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 27982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 27992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int AMBIGUOUS = 1; 28002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ALPHABETIC = 2; 28032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_BOTH = 3; 28062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_AFTER = 4; 28092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_BEFORE = 5; 28122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MANDATORY_BREAK = 6; 28152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONTINGENT_BREAK = 7; 28182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE_PUNCTUATION = 8; 28212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMBINING_MARK = 9; 28242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CARRIAGE_RETURN = 10; 28272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int EXCLAMATION = 11; 28302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int GLUE = 12; 28332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HYPHEN = 13; 28362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int IDEOGRAPHIC = 14; 28392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #INSEPARABLE 28412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSEPERABLE = 15; 28432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Renamed from the misspelled "inseperable" in Unicode 4.0.1. 28452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INSEPARABLE = 15; 28472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int INFIX_NUMERIC = 16; 28502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LINE_FEED = 17; 28532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONSTARTER = 18; 28562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 19; 28592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPEN_PUNCTUATION = 20; 28622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int POSTFIX_NUMERIC = 21; 28652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int PREFIX_NUMERIC = 22; 28682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int QUOTATION = 23; 28712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COMPLEX_CONTEXT = 24; 28742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SURROGATE = 25; 28772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SPACE = 26; 28802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int BREAK_SYMBOLS = 27; 28832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int ZWSPACE = 28; 28862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NEXT_LINE = 29; /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */ 28892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int WORD_JOINER = 30; /*[WJ]*/ 28922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int H2 = 31; /* from here on: new in Unicode 4.1/ICU 3.4 */ 28952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 28972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int H3 = 32; 28982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 28992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JL = 33; 29012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JT = 34; 29042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int JV = 35; 29071fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 29082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE_PARENTHESIS = 36; /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */ 29091fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 29102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CONDITIONAL_JAPANESE_STARTER = 37; /*[CJ]*/ /* new in Unicode 6.1/ICU 49 */ 29111fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 29122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int HEBREW_LETTER = 38; /*[HL]*/ /* new in Unicode 6.1/ICU 49 */ 29131fba789ac68efdd9120a7373f49daef42833e674Neil Fuller /***/ 29142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REGIONAL_INDICATOR = 39; /*[RI]*/ /* new in Unicode 6.2/ICU 50 */ 2915f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2916f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_BASE = 40; /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */ 2917f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2918f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int E_MODIFIER = 41; /*[EM]*/ 2919f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /***/ 2920f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int ZWJ = 42; /*[ZWJ]*/ 29212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2922f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal LineBreak value. 2923f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.LINE_BREAK). 2924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2925f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2926ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 29272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 2929f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static final int COUNT = 43; 29302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Numeric Type constants. 29342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#NUMERIC_TYPE 29352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface NumericType 29372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 29382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 29412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DECIMAL = 1; 29442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int DIGIT = 2; 29472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NUMERIC = 3; 29502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2951f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal NumericType value. 2952f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.NUMERIC_TYPE). 2953f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2954f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2955ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 29562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2957f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 29582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 4; 29592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Hangul Syllable Type constants. 29632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 29642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#HANGUL_SYLLABLE_TYPE 29652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface HangulSyllableType 29672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 29682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NOT_APPLICABLE = 0; /*[NA]*/ /*See note !!*/ 29712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LEADING_JAMO = 1; /*[L]*/ 29742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int VOWEL_JAMO = 2; /*[V]*/ 29772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TRAILING_JAMO = 3; /*[T]*/ 29802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LV_SYLLABLE = 4; /*[LV]*/ 29832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 29852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int LVT_SYLLABLE = 5; /*[LVT]*/ 29862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 2987f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal HangulSyllableType value. 2988f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.HANGUL_SYLLABLE_TYPE). 2989f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 2990f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 2991ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 29922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 2993f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 29942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 6; 29952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 29962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 29972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 29982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Bidi Paired Bracket Type constants. 29992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET_TYPE 30012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static interface BidiPairedBracketType { 30032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Not a paired bracket. 30052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int NONE = 0; 30072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Open paired bracket. 30092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int OPEN = 1; 30112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Close paired bracket. 30132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int CLOSE = 2; 30152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 3016f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * One more than the highest normal BidiPairedBracketType value. 3017f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.BIDI_PAIRED_BRACKET_TYPE). 3018f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * 3019f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 3020ff2b69bcfd12088a375804686b38e0d6bbf141acPaul Duffin * @hide unsupported on Android 30212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 3022f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 30232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int COUNT = 3; 30242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 30252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public data members ----------------------------------------------- 30272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The lowest Unicode code point value, constant 0. 30302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MIN_CODE_POINT}, same integer value as {@link Character#MIN_VALUE}. 30312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_VALUE = Character.MIN_CODE_POINT; 30332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The highest Unicode code point value (scalar value), constant U+10FFFF (uses 21 bits). 30362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MAX_CODE_POINT}. 30372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Up-to-date Unicode implementation of {@link Character#MAX_VALUE} 30392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * which is still a char with the value U+FFFF. 30402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_VALUE = Character.MAX_CODE_POINT; 30422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The minimum value for Supplementary code points, constant U+10000. 30452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#MIN_SUPPLEMENTARY_CODE_POINT}. 30462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int SUPPLEMENTARY_MIN_VALUE = Character.MIN_SUPPLEMENTARY_CODE_POINT; 30482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode value used when translating into Unicode encoding form and there 30512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is no existing character. 30522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int REPLACEMENT_CHAR = '\uFFFD'; 30542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Special value that is returned by getUnicodeNumericValue(int) when no 30572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * numeric value is defined for a code point. 30582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeNumericValue 30592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final double NO_NUMERIC_VALUE = -123456789; 30612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility constant for Java Character's MIN_RADIX. 30642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_RADIX = java.lang.Character.MIN_RADIX; 30662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility constant for Java Character's MAX_RADIX. 30692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_RADIX = java.lang.Character.MAX_RADIX; 30712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Do not lowercase non-initial parts of words when titlecasing. 30742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Option bit for titlecasing APIs that take an options bit set. 30752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * By default, titlecasing will titlecase the first cased character 30772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * of a word and lowercase all other characters. 30782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * With this option, the other characters will not be modified. 30792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #toTitleCase 30812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 30822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TITLECASE_NO_LOWERCASE = 0x100; 30832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 30842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 30852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Do not adjust the titlecasing indexes from BreakIterator::next() indexes; 30862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * titlecase exactly the characters at breaks from the iterator. 30872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Option bit for titlecasing APIs that take an options bit set. 30882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * By default, titlecasing will take each break iterator index, 30902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * adjust it by looking for the next cased character, and titlecase that one. 30912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Other characters are lowercased. 30922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 309308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * This follows Unicode 4 & 5 section 3.13 Default Case Operations: 30942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 30952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex 30962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * #29, "Text Boundaries." Between each pair of word boundaries, find the first 30972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * cased character F. If F exists, map F to default_title(F); then map each 30982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * subsequent character C to default_lower(C). 30992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 31002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #toTitleCase 31012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 31022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int TITLECASE_NO_BREAK_ADJUSTMENT = 0x200; 31042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // public methods ---------------------------------------------------- 31062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returnss the numeric value of a decimal digit code point. 31092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This method observes the semantics of 31102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <code>java.lang.Character.digit()</code>. Note that this 31112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will return positive values for code points for which isDigit 31122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returns false, just like java.lang.Character. 31132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and 31142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * prior, this did not treat the European letters as having a 31152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digit value, and also treated numeric letters and other numbers as 31162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digits. 31172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This has been changed to conform to the java semantics. 31182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>A code point is a valid digit if and only if: 31192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 31202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li>ch is a decimal digit or one of the european letters, and 31212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li>the value of ch is less than the specified radix. 31222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 31232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 31242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param radix the radix 31252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value represented by the code point in the 31262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified radix, or -1 if the code point is not a decimal digit 31272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or if its value is too large for the radix 31282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int digit(int ch, int radix) 31302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (2 <= radix && radix <= 36) { 31322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int value = digit(ch); 31332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (value < 0) { 31342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // ch is not a decimal digit, try latin letters 31352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller value = UCharacterProperty.getEuropeanDigit(ch); 31362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (value < radix) ? value : -1; 31382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 31392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; // invalid radix 31402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returnss the numeric value of a decimal digit code point. 31452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This is a convenience overload of <code>digit(int, int)</code> 31462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that provides a decimal radix. 31472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this 31482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * treated numeric letters and other numbers as digits. This has 31492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * been changed to conform to the java semantics. 31502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 31512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value represented by the code point, 31522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or -1 if the code point is not a decimal digit or if its 31532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * value is too large for a decimal radix 31542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int digit(int ch) 31562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.digit(ch); 31582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the numeric value of the code point as a nonnegative 31622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * integer. 31632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>If the code point does not have a numeric value, then -1 is returned. 31642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 31652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the code point has a numeric value that cannot be represented as a 31662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nonnegative integer (for example, a fractional value), then -2 is 31672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned. 31682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to query 31692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the numeric value of the code point, or -1 if it has no numeric 31702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * value, or -2 if it has a numeric value that cannot be represented as a 31712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nonnegative integer 31722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getNumericValue(int ch) 31742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getNumericValue(ch); 31762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 31791537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the numeric value for a Unicode code point as defined in the 318008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Unicode Character Database. 31812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>A "double" return type is necessary because some numeric values are 318208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * fractions, negative, or too large for int. 31832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For characters without any numeric values in the Unicode Character 31842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Database, this function will return NO_NUMERIC_VALUE. 318508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Note: This is different from the Unicode Standard which specifies NaN as the default value. 31862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p><em>API Change:</em> In release 2.2 and prior, this API has a 31872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * return type int and returns -1 when the argument ch does not have a 31882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * corresponding numeric value. This has been changed to synch with ICU4C 318908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 31902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This corresponds to the ICU4C function u_getNumericValue. 31912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch Code point to get the numeric value for. 31922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return numeric value of ch, or NO_NUMERIC_VALUE if none is defined. 31932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 31942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static double getUnicodeNumericValue(int ch) 31952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 31962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getUnicodeNumericValue(ch); 31972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 31982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 31992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 32012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. 32022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as java.lang.Character.isSpace(). 32032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point 32042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is a space character as 32052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined by java.lang.Character.isSpace. 32062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 320793cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 32082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 32102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSpace(int ch) { 32112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch <= 0x20 && 32122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller (ch == 0x20 || ch == 0x09 || ch == 0x0a || ch == 0x0c || ch == 0x0d); 32132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a value indicating a code point's Unicode category. 32172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.getType() 32182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * except for the above mentioned code points that had their category 32192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * changed.<br> 32202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return results are constants from the interface 32212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=UCharacterCategory.html>UCharacterCategory</a><br> 32222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with 32232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * those returned by java.lang.Character.getType. UCharacterCategory values 32242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * match the ones used in ICU4C, while java.lang.Character type 322508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * values, though similar, skip the value 17. 32262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose type is to be determined 32272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return category which is a value of UCharacterCategory 32282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getType(int ch) 32302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getType(ch); 32322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if a code point has a defined meaning in the up-to-date 32362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode standard. 32372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * E.g. supplementary code points though allocated space are not defined in 32382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode yet.<br> 32392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isDefined() 32402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is defined in the most 32412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * current version of Unicode 32422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if this code point is defined in unicode 32432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isDefined(int ch) 32452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) != 0; 32472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if a code point is a Java digit. 32512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br>This method observes the semantics of 32522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <code>java.lang.Character.isDigit()</code>. It returns true for decimal 32532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * digits only. 32542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br><em>Semantic Change:</em> In release 1.3.1 and prior, this treated 32552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * numeric letters and other numbers as digits. 32562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This has been changed to conform to the java semantics. 32572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to query 32582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if this code point is a digit 32592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isDigit(int ch) 32612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.DECIMAL_DIGIT_NUMBER; 32632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is an ISO control character. 32672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is considered to be an ISO control character if it is in 326808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * the range \u0000 through \u001F or in the range \u007F through 326908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * \u009F.<br> 32702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isISOControl() 32712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is an ISO control character 32722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a ISO control character 32732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isISOControl(int ch) 32752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch >= 0 && ch <= APPLICATION_PROGRAM_COMMAND_ && 32772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ((ch <= UNIT_SEPARATOR_) || (ch >= DELETE_)); 32782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a letter. 32822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isLetter() 32832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a letter 32842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a letter 32852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 32862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLetter(int ch) 32872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 32882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 32892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 32902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 32912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 32922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 32932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 32942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER))) != 0; 32952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 32962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 32972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 32982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a letter or digit. 32991537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> This method, unlike java.lang.Character does not regard the ascii 33002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters 'A' - 'Z' and 'a' - 'z' as digits. 33012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a letter or a digit 33022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a letter or a digit 33032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLetterOrDigit(int ch) 33052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 33072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 33082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 33092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 33102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 33112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 33122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER))) != 0; 33132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 33172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. Delegates to 33182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierStart. 33192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 33202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can start a java identifier. 33212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 332293cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 33232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 33252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaLetter(int cp) { 33262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isJavaIdentifierStart(cp); 33272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java deprecated method. This 33312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * method will always remain deprecated. Delegates to 33322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierPart. 33332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 33342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can continue a java identifier. 33352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 3.4 (Java) 333693cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 33372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 33392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaLetterOrDigit(int cp) { 33402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isJavaIdentifierPart(cp); 33412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java method, delegates to 33452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierStart. 33462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 33472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can start a java identifier. 33482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaIdentifierStart(int cp) { 33502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // note, downcast to char for jdk 1.4 compatibility 33512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.isJavaIdentifierStart((char)cp); 33522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Compatibility override of Java method, delegates to 33562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isJavaIdentifierPart. 33572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point 33582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point can continue a java identifier. 33592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isJavaIdentifierPart(int cp) { 33612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // note, downcast to char for jdk 1.4 compatibility 33622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.isJavaIdentifierPart((char)cp); 33632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a lowercase character. 33672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code points where they are 33682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 33692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> For more information about Unicode case mapping 33702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * please refer to the 33712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/>Technical report 33722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * #21</a>.<br> 33732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isLowerCase() 33742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in lowercase 33752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a lowercase character 33762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 33772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLowerCase(int ch) 33782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 33792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 33802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.LOWERCASE_LETTER; 33812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 33822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 33832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 33842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a white space character. 33852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is considered to be an whitespace character if and only 33862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * if it satisfies one of the following criteria: 33872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 33882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not 338908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * also a non-breaking space (\u00A0 or \u2007 or \u202F). 339008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u0009, HORIZONTAL TABULATION. 339108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000A, LINE FEED. 339208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000B, VERTICAL TABULATION. 339308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000C, FORM FEED. 339408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u000D, CARRIAGE RETURN. 339508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001C, FILE SEPARATOR. 339608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001D, GROUP SEPARATOR. 339708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001E, RECORD SEPARATOR. 339808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <li> It is \u001F, UNIT SEPARATOR. 33992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 34002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 34012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This API tries to sync with the semantics of Java's 34022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isWhitespace(), but it may not return 34032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the exact same results because of the Unicode version 34042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * difference. 34052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note: Unicode 4.0.1 changed U+200B ZERO WIDTH SPACE from a Space Separator (Zs) 34062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a Format Control (Cf). Since then, isWhitespace(0x200b) returns false. 34072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See http://www.unicode.org/versions/Unicode4.0.1/ 34082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a white space 34092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a white space character 34102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isWhitespace(int ch) 34122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // exclude no-break spaces 34142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 34152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) & 34162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ((1 << UCharacterCategory.SPACE_SEPARATOR) 34172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LINE_SEPARATOR) 34182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR))) != 0 34192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && (ch != NO_BREAK_SPACE_) && (ch != FIGURE_SPACE_) && (ch != NARROW_NO_BREAK_SPACE_) 34202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // TAB VT LF FF CR FS GS RS US NL are all control characters 34212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // that are white spaces. 34222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || (ch >= 0x9 && ch <= 0xd) || (ch >= 0x1c && ch <= 0x1f); 34232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a Unicode specified space 34272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character, i.e. if code point is in the category Zs, Zl and Zp. 34282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isSpaceChar(). 34292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a space 34302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a space character 34312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSpaceChar(int ch) 34332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 34352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) & ((1 << UCharacterCategory.SPACE_SEPARATOR) 34362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LINE_SEPARATOR) 34372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.PARAGRAPH_SEPARATOR))) 34382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller != 0; 34392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is a titlecase character. 34432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code points where they are 34442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 34452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> 34462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information about Unicode case mapping please refer to the 34472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/> 34482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Technical report #21</a>.<br> 34492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isTitleCase(). 34502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in title case 34512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the specified code point is a titlecase character 34522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isTitleCase(int ch) 34542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 34562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.TITLECASE_LETTER; 34572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 34582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 34592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 34602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point may be any part of a Unicode 34612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier other than the starting character. 34622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point may be part of a Unicode identifier if and only if it is 34632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one of the following: 34642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 34652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lu Uppercase letter 34662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Ll Lowercase letter 34672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lt Titlecase letter 34682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lm Modifier letter 34692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lo Other letter 34702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nl Letter number 34712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Pc Connecting punctuation character 34722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nd decimal number 34732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Mc Spacing combining mark 34742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Mn Non-spacing mark 34752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Cf formatting code 34762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 34772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 34782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isUnicodeIdentifierPart().<br> 34792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 34802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if is can be part of a Unicode 34812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier 34822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is any character belonging a unicode 34832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier suffix after the first character 34842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 34852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUnicodeIdentifierPart(int ch) 34862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 34872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 34882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // cat == format 34892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 34902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 34912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 34922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 34932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 34942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 34952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LETTER_NUMBER) 34962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.CONNECTOR_PUNCTUATION) 34972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.DECIMAL_DIGIT_NUMBER) 34982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.COMBINING_SPACING_MARK) 34992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.NON_SPACING_MARK))) != 0 35002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || isIdentifierIgnorable(ch); 35012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is permissible as the first 35052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character in a Unicode identifier. 35062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point may start a Unicode identifier if it is of type either 35072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 35082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lu Uppercase letter 35092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Ll Lowercase letter 35102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lt Titlecase letter 35112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lm Modifier letter 35122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Lo Other letter 35132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Nl Letter number 35142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 35152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 35162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isUnicodeIdentifierStart().<br> 35172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 35182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it can start a Unicode identifier 35192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is the first character belonging a unicode 35202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier 35212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUnicodeIdentifierStart(int ch) 35232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /*int cat = getType(ch);*/ 35252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 35262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ((1 << getType(ch)) 35272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller & ((1 << UCharacterCategory.UPPERCASE_LETTER) 35282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LOWERCASE_LETTER) 35292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.TITLECASE_LETTER) 35302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.MODIFIER_LETTER) 35312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.OTHER_LETTER) 35322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller | (1 << UCharacterCategory.LETTER_NUMBER))) != 0; 35332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point should be regarded as an 35372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ignorable character in a Java identifier. 35382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A character is Java-identifier-ignorable if it has the general category 35392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Cf Formatting Control, or it is a non-Java-whitespace ISO control: 35402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * U+0000..U+0008, U+000E..U+001B, U+007F..U+009F.<br> 35412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of 35422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * java.lang.Character.isIdentifierIgnorable().<br> 35432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See <a href=http://www.unicode.org/unicode/reports/tr8/>UTR #8</a>. 35442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note that Unicode just recommends to ignore Cf (format controls). 35452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it can be ignored in a Unicode 35462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifier. 35472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is ignorable 35482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isIdentifierIgnorable(int ch) 35502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // see java.lang.Character.isIdentifierIgnorable() on range of 35522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // ignorable characters. 35532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch <= 0x9f) { 35542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return isISOControl(ch) 35552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && !((ch >= 0x9 && ch <= 0xd) 35562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || (ch >= 0x1c && ch <= 0x1f)); 35572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.FORMAT; 35592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines if the specified code point is an uppercase character. 35632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData only contains case mappings for code point where they are 35642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * one-to-one mappings; it also omits information about context-sensitive 35652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * case mappings.<br> 35662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For language specific case conversion behavior, use 35672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * toUpperCase(locale, str). <br> 35682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For example, the case conversion for dot-less i and dotted I in Turkish, 35692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or for final sigma in Greek. 35702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For more information about Unicode case mapping please refer to the 35712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=http://www.unicode.org/unicode/reports/tr21/> 35722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Technical report #21</a>.<br> 35732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.isUpperCase(). 35742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is in uppercase 35752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is an uppercase character 35762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 35772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUpperCase(int ch) 35782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 35792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 35802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getType(ch) == UCharacterCategory.UPPERCASE_LETTER; 35812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 35822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 35832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 35842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The given code point is mapped to its lowercase equivalent; if the code 35852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point has no lowercase equivalent, the code point itself is returned. 35862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toLowerCase() 35872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 35882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 35892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 35902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 35912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 35922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 35932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 35942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 35952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 35962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 35972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 35982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose lowercase equivalent is to be retrieved 35992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the lowercase equivalent code point 36002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toLowerCase(int ch) { 36022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.tolower(ch); 36032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts argument code point and returns a String object representing 36072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the code point's value in UTF-16 format. 36082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The result is a string whose length is 1 for BMP code points, 2 for supplementary ones. 36092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Up-to-date Unicode implementation of java.lang.Character.toString(). 36112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point 36132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return string representation of the code point, null if code point is not 36142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined in unicode 36152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toString(int ch) 36172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE || ch > MAX_VALUE) { 36192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 36202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < SUPPLEMENTARY_MIN_VALUE) { 36232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return String.valueOf((char)ch); 36242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new String(Character.toChars(ch)); 36272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts the code point argument to titlecase. 36312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no titlecase is available, the uppercase is returned. If no uppercase 36322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is available, the code point itself is returned. 36332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toTitleCase() 36342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 36362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 36372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 36382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 36392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 36402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 36412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 36422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 36432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 36442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose title case is to be retrieved 36462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return titlecase code point 36472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toTitleCase(int ch) { 36492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.totitle(ch); 36502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Converts the character argument to uppercase. 36542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If no uppercase is available, the character itself is returned. 36552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Up-to-date Unicode implementation of java.lang.Character.toUpperCase() 36562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 36582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 36592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 36602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They take into account the string context and the language and can map 36612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to a result string with a different length as appropriate. 36622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 36632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 36642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 36652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 36662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 36672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose uppercase is to be retrieved 36682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase code point 36692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int toUpperCase(int ch) { 36712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.toupper(ch); 36722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // extra methods not in java.lang.Character -------------------------- 36752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36771537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines if the code point is a supplementary character. 36782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is a supplementary character if and only if it is greater 36792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * than <a href=#SUPPLEMENTARY_MIN_VALUE>SUPPLEMENTARY_MIN_VALUE</a> 36802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is in the supplementary 36812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * plane 36822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is a supplementary character 36832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isSupplementary(int ch) 36852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return ch >= UCharacter.SUPPLEMENTARY_MIN_VALUE && 36872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch <= UCharacter.MAX_VALUE; 36882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 36892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 36902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 36911537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines if the code point is in the BMP plane. 36922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is not a supplementary 36932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character 36942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if code point is not a supplementary character 36952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 36962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isBMP(int ch) 36972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 36982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (ch >= 0 && ch <= LAST_CHAR_MASK_); 36992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37021537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines whether the specified code point is a printable character 37032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * according to the Unicode standard. 37042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is printable 37052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is a printable character 37062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isPrintable(int ch) 37082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cat = getType(ch); 37102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 37112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (cat != UCharacterCategory.UNASSIGNED && 37122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.CONTROL && 37132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.FORMAT && 37142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.PRIVATE_USE && 37152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.SURROGATE && 37162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat != UCharacterCategory.GENERAL_OTHER_TYPES); 37172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37201537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Determines whether the specified code point is of base form. 37212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point of base form does not graphically combine with preceding 37222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters, and is neither a control nor a format character. 37232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to be determined if it is of base form 37242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point is of base form 37252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isBaseForm(int ch) 37272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cat = getType(ch); 37292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // if props == 0, it will just fall through and return false 37302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cat == UCharacterCategory.DECIMAL_DIGIT_NUMBER || 37312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.OTHER_NUMBER || 37322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.LETTER_NUMBER || 37332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.UPPERCASE_LETTER || 37342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.LOWERCASE_LETTER || 37352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.TITLECASE_LETTER || 37362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.MODIFIER_LETTER || 37372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.OTHER_LETTER || 37382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.NON_SPACING_MARK || 37392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.ENCLOSING_MARK || 37402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cat == UCharacterCategory.COMBINING_SPACING_MARK; 37412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37441537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the Bidirection property of a code point. 37452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For example, 0x0041 (letter A) has the LEFT_TO_RIGHT directional 37462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property.<br> 37472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Result returned belongs to the interface 37482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <a href=UCharacterDirection.html>UCharacterDirection</a> 37492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point to be determined its direction 37502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return direction constant from UCharacterDirection. 37512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getDirection(int ch) 37532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getClass(ch); 37552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Determines whether the code point has the "mirrored" property. 37592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This property is set for characters that are commonly used in 37602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Right-To-Left contexts and need to be displayed with a "mirrored" 37612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * glyph. 37622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose mirror is to be determined 37632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if the code point has the "mirrored" property 37642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isMirrored(int ch) 37662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.isMirrored(ch); 37682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37711537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Maps the specified code point to a "mirror-image" code point. 37722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For code points with the "mirrored" property, implementations sometimes 37732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * need a "poor man's" mapping to another code point such that the default 37742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * glyph may serve as the mirror-image of the default glyph of the 37752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified code point.<br> 37762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This is useful for text conversion to and from codepages with visual 37772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * order, and for displays without glyph selection capabilities. 37782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose mirror is to be retrieved 37792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return another code point that may serve as a mirror-image substitute, 37802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or ch itself if there is no such mapping or ch does not have the 37812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "mirrored" property 37822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 37832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getMirror(int ch) 37842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 37852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getMirror(ch); 37862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 37872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 37882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 37891537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Maps the specified character to its paired bracket character. 37902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For Bidi_Paired_Bracket_Type!=None, this is the same as getMirror(int). 37912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Otherwise c itself is returned. 37922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See http://www.unicode.org/reports/tr9/ 37932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 37942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param c the code point to be mapped 37952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the paired bracket code point, 37962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or c itself if there is no such mapping 37972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (Bidi_Paired_Bracket_Type=None) 37982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 37992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET 38002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty#BIDI_PAIRED_BRACKET_TYPE 38012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getMirror(int) 38022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getBidiPairedBracket(int c) { 38042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UBiDiProps.INSTANCE.getPairedBracket(c); 38052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38081537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the combining class of the argument codepoint 38092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point whose combining is to be retrieved 38102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the combining class of the codepoint 38112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCombiningClass(int ch) 38132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Normalizer2.getNFDInstance().getCombiningClass(ch); 38152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38181537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> A code point is illegal if and only if 38192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 38202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE 38212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> A surrogate value, 0xD800 to 0xDFFF 38222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE 38232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 38242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: legal does not mean that it is assigned in this version of Unicode. 38252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to determine if it is a legal code point by itself 38262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if and only if legal. 38272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLegal(int ch) 38292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE) { 38312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 38322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < Character.MIN_SURROGATE) { 38342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 38352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch <= Character.MAX_SURROGATE) { 38372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 38382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (UCharacterUtility.isNonCharacter(ch)) { 38402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 38412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (ch <= MAX_VALUE); 38432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38461537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> A string is legal iff all its code points are legal. 38472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * A code point is illegal if and only if 38482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 38492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Out of bounds, less than 0 or greater than UCharacter.MAX_VALUE 38502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> A surrogate value, 0xD800 to 0xDFFF 38512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Not-a-character, having the form 0x xxFFFF or 0x xxFFFE 38522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 38532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: legal does not mean that it is assigned in this version of Unicode. 38542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str containing code points to examin 38552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if and only if legal. 38562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLegal(String str) 38582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int size = str.length(); 38602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int codepoint; 38612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < size; i += Character.charCount(codepoint)) 38622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller codepoint = str.codePointAt(i); 38642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (!isLegal(codepoint)) { 38652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 38662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 38692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38721537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the version of Unicode data used. 38732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the unicode version number used 38742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static VersionInfo getUnicodeVersion() 38762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.m_unicodeVersion_; 38782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38811537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the most current Unicode name of the argument code point, or 38822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * null if the character is unassigned or outside the range 38832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name. 38842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 38852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 38862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 38872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 38882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return most current Unicode name 38892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 38902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName(int ch) 38912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 38922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.UNICODE_CHAR_NAME); 38932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 38942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 38952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 38961537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the names for each of the characters in a string 38972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param s string to format 38982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param separator string to go between names 38992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return string of names 39002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName(String s, String separator) { 39022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (s.length() == 1) { // handle common case 39032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getName(s.charAt(0)); 39042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int cp; 39062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller StringBuilder sb = new StringBuilder(); 39072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller for (int i = 0; i < s.length(); i += Character.charCount(cp)) { 39082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller cp = s.codePointAt(i); 39092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (i != 0) sb.append(separator); 39102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller sb.append(UCharacter.getName(cp)); 39112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return sb.toString(); 39132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39161537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns null. 39172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Used to return the Unicode_1_Name property value which was of little practical value. 39182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 39192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return null 39202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 392193cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 39222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 39242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getName1_0(int ch) 39252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 39262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 39272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39301537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a name for a valid codepoint. Unlike, getName(int) and 39312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * getName1_0(int), this method will return a name even for codepoints that 39322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are not assigned a name in UnicodeData.txt. 393308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 393408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>The names are returned in the following order. 39352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 39362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Most current Unicode name if there is any 39372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Unicode 1.0 name if there is any 39382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Extended name in the form of 39392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "<codepoint_type-codepoint_hex_digits>". E.g., <noncharacter-fffe> 39402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 39412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 39422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 39432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name 39442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name for the argument codepoint 39452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getExtendedName(int ch) { 39472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.EXTENDED_CHAR_NAME); 39482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39511537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the corrected name from NameAliases.txt if there is one. 39522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns null if the character is unassigned or outside the range 39532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.MIN_VALUE and UCharacter.MAX_VALUE or does not have a name. 39542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <br> 39552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 39562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 39572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the code point for which to get the name alias 39582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Unicode name alias, or null 39592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getNameAlias(int ch) 39612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 39622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getName(ch, UCharacterNameChoice.CHAR_NAME_ALIAS); 39632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39661537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns null. 39672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Used to return the ISO 10646 comment for a character. 39682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The Unicode ISO_Comment property is deprecated and has no values. 39692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 39702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch The code point for which to get the ISO comment. 39712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * It must be the case that {@code 0 <= ch <= 0x10ffff}. 39722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return null 39732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 397493cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 39752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 39772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getISOComment(int ch) 39782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 39792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 39802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39831537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Finds a Unicode code point by its most current Unicode name and 398408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * return its code point value. All Unicode names are in uppercase. 39852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 39862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 39872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name most current Unicode character name whose code point is to 39882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * be returned 39892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point or -1 if name is not found 39902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 39912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromName(String name){ 39922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName( 39932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.UNICODE_CHAR_NAME, name); 39942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 39952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 39962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 39971537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns -1. 39982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Used to find a Unicode character by its version 1.0 Unicode name and return 399908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * its code point value. 40002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name Unicode 1.0 code point name whose code point is to be 40012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * returned 40022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return -1 40032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 40042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getName1_0(int) 400593cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 40062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 40082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromName1_0(String name){ 40092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; 40102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40131537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Find a Unicode character by either its name and return its code 40142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point value. All Unicode names are in uppercase. 40152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Extended names are all lowercase except for numbers and are contained 401608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * within angle brackets. 40172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * The names are searched in the following order 40182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 40192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Most current Unicode name if there is any 40202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Unicode 1.0 name if there is any 40212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> Extended name in the form of 402208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE> 40232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 40242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 40252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 40262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name codepoint name 40272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point associated with the name or -1 if the name is not 40282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * found. 40292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromExtendedName(String name){ 40312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName( 40322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.EXTENDED_CHAR_NAME, name); 40332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40361537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Find a Unicode character by its corrected name alias and return 403708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * its code point value. All Unicode names are in uppercase. 40382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note calling any methods related to code point names, e.g. get*Name*() 40392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * incurs a one-time initialisation cost to construct the name tables. 40402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param name Unicode name alias whose code point is to be returned 40412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point or -1 if name is not found 40422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCharFromNameAlias(String name){ 40442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterName.INSTANCE.getCharFromName(UCharacterNameChoice.CHAR_NAME_ALIAS, name); 40452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40481537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the Unicode name for a given property, as given in the 40492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode database file PropertyAliases.txt. Most properties 40502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * have more than one name. The nameChoice determines which one 40512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is returned. 40522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition, this function maps the property 40542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY_MASK to the synthetic names "gcm" / 40552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "General_Category_Mask". These names are not in 40562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 40572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector. 40592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice UProperty.NameChoice selector for which name 40612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to get. All properties have a long name. Most have a short 40622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * name, but some do not. Unicode allows for additional names; if 40632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * present these will be returned by UProperty.NameChoice.LONG + i, 40642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * where i=1, 2,... 40652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name, or null if Unicode explicitly defines no name 40672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ("n/a") for a given property/nameChoice. If a given nameChoice 40682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * throws an exception, then all larger values of nameChoice will 40692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * throw an exception. If null is returned for a given 40702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice, then other nameChoice values may return non-null 40712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * results. 40722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if property or 40742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice are invalid. 40752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 40772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty.NameChoice 40782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 40792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getPropertyName(int property, 40802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int nameChoice) { 40812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyName(property, nameChoice); 40822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 40832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 40842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 40851537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the UProperty selector for a given property name, as 40862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified in the Unicode database file PropertyAliases.txt. 40872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Short, long, and any other variants are recognized. 40882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * In addition, this function maps the synthetic names "gcm" / 40902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "General_Category_Mask" to the property 40912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY_MASK. These names are not in 40922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 40932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param propertyAlias the property name to be matched. The name 40952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is compared using "loose matching" as described in 40962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyAliases.txt. 40972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 40982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a UProperty enum. 40992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if propertyAlias 41012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * is not recognized. 41022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 41042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyEnum(CharSequence propertyAlias) { 41062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int propEnum = UPropertyAliases.INSTANCE.getPropertyEnum(propertyAlias); 41072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propEnum == UProperty.UNDEFINED) { 41082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalIcuArgumentException("Invalid name: " + propertyAlias); 41092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return propEnum; 41112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41141537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the Unicode name for a given property value, as given in 41152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the Unicode database file PropertyValueAliases.txt. Most 41162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values have more than one name. The nameChoice determines 41172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * which one is returned. 41182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: Some of the names in PropertyValueAliases.txt can only be 41202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * retrieved using UProperty.GENERAL_CATEGORY_MASK, not 41212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY. These include: "C" / "Other", "L" / 41222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 41232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 41242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector constant. 41262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= property < UProperty.INT_LIMIT or 41272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= property < UProperty.BINARY_LIMIT or 41282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START < = property < UProperty.MASK_LIMIT. 41292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If out of range, null is returned. 41302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param value selector for a value for the given property. In 41322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * general, valid values range from 0 up to some maximum. There 41332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are a few exceptions: (1.) UProperty.BLOCK values begin at the 41342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * non-zero value BASIC_LATIN.getID(). (2.) 41352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.CANONICAL_COMBINING_CLASS values are not contiguous 41362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and range from 0..240. (3.) UProperty.GENERAL_CATEGORY_MASK values 41372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are mask values produced by left-shifting 1 by 41382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.getType(). This allows grouped categories such as 41392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * [:L:] to be represented. Mask values are non-contiguous. 41402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice UProperty.NameChoice selector for which name 41422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to get. All values have a long name. Most have a short name, 41432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * but some do not. Unicode allows for additional names; if 41442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * present these will be returned by UProperty.NameChoice.LONG + i, 41452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * where i=1, 2,... 41462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a name, or null if Unicode explicitly defines no name 41482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ("n/a") for a given property/value/nameChoice. If a given 41492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice throws an exception, then all larger values of 41502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * nameChoice will throw an exception. If null is returned for a 41512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * given nameChoice, then other nameChoice values may return 41522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * non-null results. 41532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown if property, value, 41552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * or nameChoice are invalid. 41562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 41582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty.NameChoice 41592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 41602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getPropertyValueName(int property, 41612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int value, 41622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int nameChoice) 41632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 41642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if ((property == UProperty.CANONICAL_COMBINING_CLASS 41652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || property == UProperty.LEAD_CANONICAL_COMBINING_CLASS 41662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller || property == UProperty.TRAIL_CANONICAL_COMBINING_CLASS) 41672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && value >= UCharacter.getIntPropertyMinValue( 41682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.CANONICAL_COMBINING_CLASS) 41692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && value <= UCharacter.getIntPropertyMaxValue( 41702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UProperty.CANONICAL_COMBINING_CLASS) 41712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller && nameChoice >= 0 && nameChoice < UProperty.NameChoice.COUNT) { 41722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // this is hard coded for the valid cc 41732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // because PropertyValueAliases.txt does not contain all of them 41742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller try { 41752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueName(property, value, 41762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller nameChoice); 41772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller catch (IllegalArgumentException e) { 41792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return null; 41802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueName(property, value, nameChoice); 41832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 41842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 41852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 41861537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Return the property value integer for a given value name, as 41872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * specified in the Unicode database file PropertyValueAliases.txt. 41882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Short, long, and any other variants are recognized. 41892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Note: Some of the names in PropertyValueAliases.txt will only be 41912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * recognized with UProperty.GENERAL_CATEGORY_MASK, not 41922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.GENERAL_CATEGORY. These include: "C" / "Other", "L" / 41932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P" 41942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * / "Punctuation", "S" / "Symbol", and "Z" / "Separator". 41952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 41962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property UProperty selector constant. 41972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= property < UProperty.INT_LIMIT or 41982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= property < UProperty.BINARY_LIMIT or 41992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START < = property < UProperty.MASK_LIMIT. 42002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Only these properties can be enumerated. 42012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 42022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param valueAlias the value name to be matched. The name is 42032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * compared using "loose matching" as described in 42042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * PropertyValueAliases.txt. 42052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 42062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return a value integer. Note: UProperty.GENERAL_CATEGORY 42072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * values are mask values produced by left-shifting 1 by 42082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacter.getType(). This allows grouped categories such as 42092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * [:L:] to be represented. 42102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 42112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 42122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if property is not a valid UProperty 42132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * selector or valueAlias is not a value of this property 42142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyValueEnum(int property, CharSequence valueAlias) { 42162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int propEnum = UPropertyAliases.INSTANCE.getPropertyValueEnum(property, valueAlias); 42172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propEnum == UProperty.UNDEFINED) { 42182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalIcuArgumentException("Invalid name: " + valueAlias); 42192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return propEnum; 42212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link #getPropertyValueEnum(int, CharSequence)}, except doesn't throw exception. Instead, returns UProperty.UNDEFINED. 42252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param property Same as {@link #getPropertyValueEnum(int, CharSequence)} 42262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param valueAlias Same as {@link #getPropertyValueEnum(int, CharSequence)} 42272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return returns UProperty.UNDEFINED if the value is not valid, otherwise the value. 42282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated This API is ICU internal only. 422993cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 4230836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 42312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 42332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getPropertyValueEnumNoThrow(int property, CharSequence valueAlias) { 42342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UPropertyAliases.INSTANCE.getPropertyValueEnumNoThrow(property, valueAlias); 42352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42391537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a code point corresponding to the two surrogate code units. 42402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 42412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param lead the lead char 42422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param trail the trail char 42432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point if surrogate characters are valid. 42442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown when the code units do 42452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * not form a valid code point 42462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCodePoint(char lead, char trail) 42482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (Character.isSurrogatePair(lead, trail)) { 42502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toCodePoint(lead, trail); 42512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal surrogate characters"); 42532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42561537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the code point corresponding to the BMP code point. 42572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 42582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param char16 the BMP code point 42592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return code point if argument is a valid character. 42602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @exception IllegalArgumentException thrown when char16 is not a valid 42612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * code point 42622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getCodePoint(char char16) 42642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 42652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (UCharacter.isLegal(char16)) { 42662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return char16; 42672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal codepoint"); 42692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 42732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the default locale and context-sensitive. 42742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 42762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(String str) 42782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4279fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toUpperCase(getDefaultCaseLocale(), str); 42802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 42832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 42842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the default locale and context-sensitive 42852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 42862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 42872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 42882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(String str) 42892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4290fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toLowerCase(getDefaultCaseLocale(), str); 42912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 42922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 42932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 429408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 42952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 42962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 42972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 42982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 42992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 43002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 430108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 43022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 430308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 430408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the default locale and context-sensitive 43052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 43062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param breakiter break iterator to determine the positions in which 43072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 43082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 43092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 43102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(String str, BreakIterator breakiter) 43112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4312fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toTitleCase(Locale.getDefault(), str, breakiter, 0); 4313fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4314fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4315fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static int getDefaultCaseLocale() { 4316fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return UCaseProps.getCaseLocale(Locale.getDefault()); 4317fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4318fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4319fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static int getCaseLocale(Locale locale) { 4320fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (locale == null) { 4321fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert locale = Locale.getDefault(); 4322fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4323fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return UCaseProps.getCaseLocale(locale); 4324fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4325fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4326fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static int getCaseLocale(ULocale locale) { 4327fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (locale == null) { 4328fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert locale = ULocale.getDefault(); 4329fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4330fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return UCaseProps.getCaseLocale(locale); 4331fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4332fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4333fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static String toLowerCase(int caseLocale, String str) { 4334fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.length() <= 100) { 4335fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.isEmpty()) { 4336fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return str; 4337fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4338fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Collect and apply only changes. 4339fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Good if no or few changes. Bad (slow) if many changes. 4340fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert Edits edits = new Edits(); 4341fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert StringBuilder replacementChars = CaseMapImpl.toLower( 4342fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert caseLocale, CaseMapImpl.OMIT_UNCHANGED_TEXT, str, new StringBuilder(), edits); 4343fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return applyEdits(str, replacementChars, edits); 4344fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } else { 4345fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return CaseMapImpl.toLower(caseLocale, 0, str, 4346fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert new StringBuilder(str.length()), null).toString(); 4347fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4348fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4349fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4350fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static String toUpperCase(int caseLocale, String str) { 4351fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.length() <= 100) { 4352fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.isEmpty()) { 4353fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return str; 4354fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4355fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Collect and apply only changes. 4356fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Good if no or few changes. Bad (slow) if many changes. 4357fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert Edits edits = new Edits(); 4358fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert StringBuilder replacementChars = CaseMapImpl.toUpper( 4359fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert caseLocale, CaseMapImpl.OMIT_UNCHANGED_TEXT, str, new StringBuilder(), edits); 4360fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return applyEdits(str, replacementChars, edits); 4361fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } else { 4362fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return CaseMapImpl.toUpper(caseLocale, 0, str, 4363fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert new StringBuilder(str.length()), null).toString(); 4364fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4365fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4366fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4367fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static String toTitleCase(int caseLocale, int options, BreakIterator titleIter, String str) { 4368fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.length() <= 100) { 4369fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.isEmpty()) { 4370fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return str; 4371fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4372fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Collect and apply only changes. 4373fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Good if no or few changes. Bad (slow) if many changes. 4374fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert Edits edits = new Edits(); 4375fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert StringBuilder replacementChars = CaseMapImpl.toTitle( 4376fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert caseLocale, options | CaseMapImpl.OMIT_UNCHANGED_TEXT, titleIter, str, 4377fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert new StringBuilder(), edits); 4378fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return applyEdits(str, replacementChars, edits); 4379fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } else { 4380fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return CaseMapImpl.toTitle(caseLocale, options, titleIter, str, 4381fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert new StringBuilder(str.length()), null).toString(); 4382fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4383fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4384fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert 4385fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert private static String applyEdits(String str, StringBuilder replacementChars, Edits edits) { 4386fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (!edits.hasChanges()) { 4387fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return str; 4388fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4389fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert StringBuilder result = new StringBuilder(str.length() + edits.lengthDelta()); 4390fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert for (Edits.Iterator ei = edits.getCoarseIterator(); ei.next();) { 4391fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (ei.hasChange()) { 4392fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert int i = ei.replacementIndex(); 4393fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert result.append(replacementChars, i, i + ei.newLength()); 4394fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } else { 4395fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert int i = ei.sourceIndex(); 4396fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert result.append(str, i, i + ei.oldLength()); 4397fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4398fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4399fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return result.toString(); 44002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 44032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 44042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive. 44052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 44082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(Locale locale, String str) 44102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4411fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toUpperCase(getCaseLocale(locale), str); 44122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 44152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the uppercase version of the argument string. 44162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive. 44172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return uppercase version of the argument string 44202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toUpperCase(ULocale locale, String str) { 4422fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toUpperCase(getCaseLocale(locale), str); 44232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 44262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 44272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive 44282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(Locale locale, String str) 44332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4434fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toLowerCase(getCaseLocale(locale), str); 44352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 44382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the lowercase version of the argument string. 44392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Casing is dependent on the argument locale and context-sensitive 44402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toLowerCase(ULocale locale, String str) { 4445fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toLowerCase(getCaseLocale(locale), str); 44462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 444908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 44502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 44512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 44522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 44532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 44542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 44552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 445608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 44572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 445808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 445908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 44602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param breakiter break iterator to determine the positions in which 44632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 44642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(Locale locale, String str, 44672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator breakiter) 44682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 4469fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toTitleCase(locale, str, breakiter, 0); 44702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 447308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 44742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 44752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 44762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 44772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 44782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 44792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 448008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 44812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 448208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 448308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 44842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 44852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 44862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 44872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 44882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 44892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 44902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(ULocale locale, String str, 44912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator titleIter) { 44922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toTitleCase(locale, str, titleIter, 0); 44932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 44942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 44952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 449608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Returns the titlecase version of the argument string. 44972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 44982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 44992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 45002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 45012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 45022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 450308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 45042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 450508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 450608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 45072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 45082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 45092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 45102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 45112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options bit set to modify the titlecasing operation 45122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 45132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 45142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_BREAK_ADJUSTMENT 45152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 45162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(ULocale locale, String str, 4517fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert BreakIterator titleIter, int options) { 45182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(titleIter == null) { 4519fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (locale == null) { 4520fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert locale = ULocale.getDefault(); 4521fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 45222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleIter = BreakIterator.getWordInstance(locale); 45232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller titleIter.setText(str); 4525fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toTitleCase(getCaseLocale(locale), options, titleIter, str); 45262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 45272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 45282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 4529f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert private static final int BREAK_MASK = 4530f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert (1<<UCharacterCategory.DECIMAL_DIGIT_NUMBER) 4531f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert | (1<<UCharacterCategory.OTHER_LETTER) 4532f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert | (1<<UCharacterCategory.MODIFIER_LETTER); 4533f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4534f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert /** 4535f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * Return a string with just the first word titlecased, for menus and UI, etc. This does not affect most of the string, 4536f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * and sometimes has no effect at all; the original string is returned whenever casing 4537f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * would not be appropriate for the first word (such as for CJK characters or initial numbers). 4538f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * Initial non-letters are skipped in order to find the character to change. 4539f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * Characters past the first affected are left untouched: see also TITLECASE_NO_LOWERCASE. 4540f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <p>Examples: 4541f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <table border='1'><tr><th>Source</th><th>Result</th><th>Locale</th></tr> 4542f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>anglo-American locale</td><td>Anglo-American locale</td></tr> 4543f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>“contact us”</td><td>“Contact us”</td></tr> 4544f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>49ers win!</td><td>49ers win!</td></tr> 4545f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>丰(abc)</td><td>丰(abc)</td></tr> 4546f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>«ijs»</td><td>«Ijs»</td></tr> 4547f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>«ijs»</td><td>«IJs»</td><td>nl-BE</td></tr> 4548f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * <tr><td>«ijs»</td><td>«İjs»</td><td>tr-DE</td></tr> 4549f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * </table> 4550f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @param locale the locale for accessing exceptional behavior (eg for tr). 4551f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @param str the source string to change 4552f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert * @return the modified string, or the original if no modifications were necessary. 45532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU internal only 455493cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 4555836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 4556f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert */ 4557f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Deprecated 4558f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert public static String toTitleFirst(ULocale locale, String str) { 4559f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert int c = 0; 4560f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert for (int i = 0; i < str.length(); i += UCharacter.charCount(c)) { 4561f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert c = UCharacter.codePointAt(str, i); 4562f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert int propertyMask = UCharacter.getIntPropertyValue(c, UProperty.GENERAL_CATEGORY_MASK); 4563f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert if ((propertyMask & BREAK_MASK) != 0) { // handle "49ers", initial CJK 4564f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert break; 4565f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 4566f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert if (UCaseProps.INSTANCE.getType(c) == UCaseProps.NONE) { 4567f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert continue; 4568f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 4569f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4570f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // we now have the first cased character 4571f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // What we really want is something like: 4572f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // String titled = UCharacter.toTitleCase(locale, str, i, outputCharsTaken); 4573f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // That is, just give us the titlecased string, for the locale, at i and following, 4574f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // and tell us how many characters are replaced. 4575f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // The following won't work completely: it needs some more substantial changes to UCaseProps 4576f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4577f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert String substring = str.substring(i, i+UCharacter.charCount(c)); 4578f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert String titled = UCharacter.toTitleCase(locale, substring, BreakIterator.getSentenceInstance(locale), 0); 4579f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4580f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // skip if no change 4581f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert if (titled.codePointAt(0) == c) { 4582f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // Using 0 is safe, since any change in titling will not have first initial character 4583f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert break; 4584f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 4585f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert StringBuilder result = new StringBuilder(str.length()).append(str, 0, i); 4586f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert int startOfSuffix; 4587f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4588f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // handle dutch, but check first for 'i', since that's faster. Should be built into UCaseProps. 4589f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4590f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert if (c == 'i' && locale.getLanguage().equals("nl") && i < str.length() && str.charAt(i+1) == 'j') { 4591f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert result.append("IJ"); 4592f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert startOfSuffix = 2; 4593f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } else { 4594f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert result.append(titled); 4595f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert startOfSuffix = i + UCharacter.charCount(c); 4596f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 4597f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert 4598f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert // add the remainder, and return 4599f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert return result.append(str, startOfSuffix, str.length()).toString(); 4600f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 4601f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert return str; // no change 4602f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert } 46032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 460508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns the titlecase version of the argument string. 46062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Position for titlecasing is determined by the argument break 46072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * iterator, hence the user can customize his break iterator for 46082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a specialized titlecasing. In this case only the forward iteration 46092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * needs to be implemented. 46102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * If the break iterator passed in is null, the default Unicode algorithm 46112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * will be used to determine the titlecase positions. 461208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 46132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Only positions returned by the break iterator will be title cased, 461408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * character in between the positions will all be in lower case. 461508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Casing is dependent on the argument locale and context-sensitive 46162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param locale which string is to be converted in 46172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str source string to be performed on 46182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param titleIter break iterator to determine the positions in which 46192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the character should be title cased. 46202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options bit set to modify the titlecasing operation 46212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return lowercase version of the argument string 46222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_LOWERCASE 46232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #TITLECASE_NO_BREAK_ADJUSTMENT 46242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String toTitleCase(Locale locale, String str, 46262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller BreakIterator titleIter, 46272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int options) { 4628fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if(titleIter == null) { 4629fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert titleIter = BreakIterator.getWordInstance(locale); 4630fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } 4631fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert titleIter.setText(str); 4632fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return toTitleCase(getCaseLocale(locale), options, titleIter, str); 46332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46361537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given character is mapped to its case folding equivalent according 46372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to UnicodeData.txt and CaseFolding.txt; if the character has no case 46382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 46392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 46412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 46422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 46432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They can map to a result string with a different length as appropriate. 46442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 46452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 46462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 46472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 46482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the character to be converted 46502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param defaultmapping Indicates whether the default mappings defined in 46512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt are to be used, otherwise the 46522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * mappings for dotted I and dotless i marked with 46532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 'T' in CaseFolding.txt are included. 46542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if 46552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * any; otherwise the character itself. 46562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(String, boolean) 46572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int foldCase(int ch, boolean defaultmapping) { 46592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return foldCase(ch, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I); 46602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46631537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given string is mapped to its case folding equivalent according to 46642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData.txt and CaseFolding.txt; if any character has no case 46652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 46662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Full", multiple-code point case folding mappings are returned here. 46672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For "simple" single-code point mappings use the API 46682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * foldCase(int ch, boolean defaultmapping). 46692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str the String to be converted 46702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param defaultmapping Indicates whether the default mappings defined in 46712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt are to be used, otherwise the 46722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * mappings for dotted I and dotless i marked with 46732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 'T' in CaseFolding.txt are included. 46742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if 46752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * any; otherwise the character itself. 46762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(int, boolean) 46772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String foldCase(String str, boolean defaultmapping) { 46792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return foldCase(str, defaultmapping ? FOLD_CASE_DEFAULT : FOLD_CASE_EXCLUDE_SPECIAL_I); 46802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 46812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 46822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46831537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Option value for case folding: use default mappings defined in 46842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CaseFolding.txt. 46852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 46862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FOLD_CASE_DEFAULT = 0x0000; 46872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 46881537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Option value for case folding: 46892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Use the modified set of mappings provided in CaseFolding.txt to handle dotted I 46902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and dotless i appropriately for Turkic languages (tr, az). 46912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that 46932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are to be included for default mappings and 46942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * excluded for the Turkic-specific mappings. 46952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 46962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that 46972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are to be excluded for default mappings and 46982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * included for the Turkic-specific mappings. 46992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 0x0001; 47012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47031537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given character is mapped to its case folding equivalent according 47042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * to UnicodeData.txt and CaseFolding.txt; if the character has no case 47052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 47062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This function only returns the simple, single-code point case mapping. 47082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings should be used whenever possible because they produce 47092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * better results by working on whole strings. 47102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * They can map to a result string with a different length as appropriate. 47112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Full case mappings are applied by the case mapping functions 47122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * that take String parameters rather than code points (int). 47132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * See also the User Guide chapter on C/POSIX migration: 47142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * http://www.icu-project.org/userguide/posix.html#case_mappings 47152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the character to be converted 47172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options A bit set for special processing. Currently the recognised options 47182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 47192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if any; otherwise the 47202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character itself. 47212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(String, boolean) 47222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int foldCase(int ch, int options) { 47242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCaseProps.INSTANCE.fold(ch, options); 47252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47281537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> The given string is mapped to its case folding equivalent according to 47292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UnicodeData.txt and CaseFolding.txt; if any character has no case 47302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * folding equivalent, the character itself is returned. 47312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * "Full", multiple-code point case folding mappings are returned here. 47322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For "simple" single-code point mappings use the API 47332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * foldCase(int ch, boolean defaultmapping). 47342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param str the String to be converted 47352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param options A bit set for special processing. Currently the recognised options 47362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * are FOLD_CASE_EXCLUDE_SPECIAL_I and FOLD_CASE_DEFAULT 47372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the case folding equivalent of the character, if any; otherwise the 47382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character itself. 47392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #foldCase(int, boolean) 47402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final String foldCase(String str, int options) { 4742fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.length() <= 100) { 4743fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert if (str.isEmpty()) { 4744fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return str; 47452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 4746fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Collect and apply only changes. 4747fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert // Good if no or few changes. Bad (slow) if many changes. 4748fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert Edits edits = new Edits(); 4749fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert StringBuilder replacementChars = CaseMapImpl.fold( 4750fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert options | CaseMapImpl.OMIT_UNCHANGED_TEXT, str, new StringBuilder(), edits); 4751fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return applyEdits(str, replacementChars, edits); 4752fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert } else { 4753fa7f12e3b3983567949f50541e4014e822e9d42cFredrik Roubert return CaseMapImpl.fold(options, str, new StringBuilder(str.length()), null).toString(); 47542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 47562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 47572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 47581537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the numeric value of a Han character. 47592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This returns the value of Han 'numeric' code points, 47612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * including those for zero, ten, hundred, thousand, ten thousand, 47622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and hundred million. 47632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This includes both the standard and 'checkwriting' 47642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * characters, the 'big circle' zero character, and the standard 47652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * zero character. 47662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Note: The Unicode Standard has numeric values for more 47682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Han characters recognized by this method 47692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (see {@link #getNumericValue(int)} and the UCD file DerivedNumericValues.txt), 47702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * and a {@link android.icu.text.NumberFormat} can be used with 47712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * a Chinese {@link android.icu.text.NumberingSystem}. 47722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 47732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to query 47742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return value if it is a Han 'numeric character,' otherwise return -1. 47752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 47762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getHanNumericValue(int ch) 47772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 47782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller switch(ch) 47792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 47802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case IDEOGRAPHIC_NUMBER_ZERO_ : 47812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_ZERO_ : 47822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 0; // Han Zero 47832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FIRST_ : 47842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_ONE_ : 47852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 1; // Han One 47862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SECOND_ : 47872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_TWO_ : 47882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 2; // Han Two 47892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_THIRD_ : 47902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_THREE_ : 47912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 3; // Han Three 47922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FOURTH_ : 47932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_FOUR_ : 47942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 4; // Han Four 47952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_FIFTH_ : 47962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_FIVE_ : 47972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 5; // Han Five 47982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SIXTH_ : 47992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_SIX_ : 48002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 6; // Han Six 48012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_SEVENTH_ : 48022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_SEVEN_ : 48032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 7; // Han Seven 48042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_EIGHTH_ : 48052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_EIGHT_ : 48062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 8; // Han Eight 48072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_NINETH_ : 48082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_NINE_ : 48092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 9; // Han Nine 48102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_TEN_ : 48112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_TEN_ : 48122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 10; 48132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_HUNDRED_ : 48142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_HUNDRED_ : 48152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 100; 48162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_THOUSAND_ : 48172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_COMPLEX_THOUSAND_ : 48182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 1000; 48192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_TEN_THOUSAND_ : 48202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 10000; 48212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case CJK_IDEOGRAPH_HUNDRED_MILLION_ : 48222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 100000000; 48232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return -1; // no value 48252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 482808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character types, iterating over codepoints. 482908ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 48302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 48312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * RangeValueIterator iterator = UCharacter.getTypeIterator(); 48322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * RangeValueIterator.Element element = new RangeValueIterator.Element(); 48332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 48342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 48352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.start) + 48362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " to codepoint \\u" + 48372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.limit - 1) + 48382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the character type " + 48392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * element.value); 48402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 48412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 48422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 48432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 48442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static RangeValueIterator getTypeIterator() 48452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 48462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterTypeIterator(); 48472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class UCharacterTypeIterator implements RangeValueIterator { 48502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterTypeIterator() { 48512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller reset(); 48522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // implements RangeValueIterator 4855f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 48562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean next(Element element) { 48572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if(trieIterator.hasNext() && !(range=trieIterator.next()).leadSurrogate) { 48582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.start=range.startCodePoint; 48592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.limit=range.endCodePoint+1; 48602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller element.value=range.value; 48612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return true; 48622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 48632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return false; 48642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // implements RangeValueIterator 4868f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 48692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void reset() { 48702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller trieIterator=UCharacterProperty.INSTANCE.m_trie_.iterator(MASK_TYPE); 48712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private Iterator<Trie2.Range> trieIterator; 48742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private Trie2.Range range; 48752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class MaskType implements Trie2.ValueMapper { 48772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // Extracts the general category ("character type") from the trie value. 4878f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 48792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public int map(int value) { 48802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return value & UCharacterProperty.TYPE_MASK; 48812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final MaskType MASK_TYPE=new MaskType(); 48842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 48852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 48862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 488708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character names, iterating over codepoints. 48882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API only gets the iterator for the modern, most up-to-date 48892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode names. For older 1.0 Unicode names use get1_0NameIterator() or 489008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * for extended names use getExtendedNameIterator(). 489108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 48922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 48932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator iterator = UCharacter.getNameIterator(); 48942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator.Element element = new ValueIterator.Element(); 48952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 48962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 48972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.codepoint) + 48982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the name " + (String)element.value); 48992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 49002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 49012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The maximal range which the name iterator iterates is from 490208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * UCharacter.MIN_VALUE to UCharacter.MAX_VALUE. 49032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 49042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getNameIterator(){ 49062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterNameIterator(UCharacterName.INSTANCE, 49072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.UNICODE_CHAR_NAME); 49082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 49111537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns an empty iterator. 491208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints. 49132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an empty iterator 49142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated ICU 49 49152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getName1_0(int) 491693cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 49172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 49192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getName1_0Iterator(){ 49202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new DummyValueIterator(); 49212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final class DummyValueIterator implements ValueIterator { 4924f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 49252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public boolean next(Element element) { return false; } 4926f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 49272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void reset() {} 4928f86f25d102340da66b9c7cb6b2d5ecdc0de43ecfFredrik Roubert @Override 49292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public void setRange(int start, int limit) {} 49302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 493308ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Returns an iterator for character names, iterating over codepoints. 49342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API only gets the iterator for the extended names. 49352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For modern, most up-to-date Unicode names use getNameIterator() or 493608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * for older 1.0 Unicode names use get1_0NameIterator(). 493708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Example of use:<br> 49382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 49392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator iterator = UCharacter.getExtendedNameIterator(); 49402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * ValueIterator.Element element = new ValueIterator.Element(); 49412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * while (iterator.next(element)) { 49422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * System.out.println("Codepoint \\u" + 49432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Integer.toHexString(element.codepoint) + 49442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * " has the name " + (String)element.value); 49452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * } 49462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 49472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The maximal range which the name iterator iterates is from 49482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an iterator 49492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static ValueIterator getExtendedNameIterator(){ 49512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return new UCharacterNameIterator(UCharacterName.INSTANCE, 49522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller UCharacterNameChoice.EXTENDED_CHAR_NAME); 49532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 495608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> Returns the "age" of the code point. 49572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The "age" is the Unicode version when the code point was first 49582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * designated (as a non-character or for Private Use) or assigned a 49592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * character. 49602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This can be useful to avoid emitting code points to receiving 496108ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * processes that do not accept newer characters. 496208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>The data is from the UCD file DerivedAge.txt. 49632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch The code point. 49642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the Unicode version number 49652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static VersionInfo getAge(int ch) 49672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 49682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_VALUE || ch > MAX_VALUE) { 49692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Codepoint out of bounds"); 49702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getAge(ch); 49722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 49732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 49742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 497508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check a binary Unicode property for a code point. 49762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode, especially in version 3.2, defines many more properties 497708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * than the original set in UnicodeData.txt. 49782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This API is intended to reflect Unicode properties as defined in 49792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the Unicode Character Database (UCD) and Unicode Technical Reports 498008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * (UTR). 49812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For details about the properties see 498208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <a href=http://www.unicode.org/>http://www.unicode.org/</a>. 49832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For names of Unicode properties see the UCD file 498408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * PropertyAliases.txt. 498508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This API does not check the validity of the codepoint. 49862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Important: If ICU is built with UCD files from Unicode versions 49872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * below 3.2, then properties marked with "new" are not or 498808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * not fully available. 49892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to test. 49901fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * @param property selector constant from android.icu.lang.UProperty, 49912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * identifies which binary property to check. 49922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true or false according to the binary Unicode property value 49932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for ch. Also false if property is out of bounds or if the 49942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unicode version does not have data for the property at all, or 49952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * not for this code point. 49962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see android.icu.lang.UProperty 49972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 49982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean hasBinaryProperty(int ch, int property) 49992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.hasBinaryProperty(ch, property); 50012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 500408ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Alphabetic Unicode property. 500508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC). 500608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Different from UCharacter.isLetter(ch)! 50072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUAlphabetic(int ch) 50102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.ALPHABETIC); 50122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 501508ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Lowercase Unicode property. 501608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE). 501708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This is different from UCharacter.isLowerCase(ch)! 50182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isULowercase(int ch) 50212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.LOWERCASE); 50232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 502608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the Uppercase Unicode property. 502708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE). 502808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>This is different from UCharacter.isUpperCase(ch)! 50292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUUppercase(int ch) 50322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.UPPERCASE); 50342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 503708ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <strong>[icu]</strong> <p>Check if a code point has the White_Space Unicode property. 503808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE). 50392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>This is different from both UCharacter.isSpace(ch) and 504008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * UCharacter.isWhitespace(ch)! 50412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch codepoint to be tested 50422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isUWhiteSpace(int ch) 50442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return hasBinaryProperty(ch, UProperty.WHITE_SPACE); 50462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 50482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 50491537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> <p>Returns the property value for an Unicode property type of a code point. 505008ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * Also returns binary and mask property values. 50512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>Unicode, especially in version 3.2, defines many more properties than 505208ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * the original set in UnicodeData.txt. 50532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>The properties APIs are intended to reflect Unicode properties as 50542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined in the Unicode Character Database (UCD) and Unicode Technical 50552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Reports (UTR). For details about the properties see 505608ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * http://www.unicode.org/. 50572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <p>For names of Unicode properties see the UCD file PropertyAliases.txt. 505808ae9f2909b2ec37f755dac4372553437e9d7cf6Paul Duffin * 50592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <pre> 50602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Sample usage: 50612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * int ea = UCharacter.getIntPropertyValue(c, UProperty.EAST_ASIAN_WIDTH); 50622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * int ideo = UCharacter.getIntPropertyValue(c, UProperty.IDEOGRAPHIC); 50632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * boolean b = (ideo == 1) ? true : false; 50642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </pre> 50652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch code point to test. 50662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 50672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 50682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 50692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT or 50702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.MASK_START <= type < UProperty.MASK_LIMIT. 50712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return numeric value that is directly the property value or, 50722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for enumerated properties, corresponds to the numeric value of 50732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * the enumerated constant of the respective property value 50742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * enumeration type (cast to enum type if necessary). 50752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns 0 or 1 (for false / true) for binary Unicode properties. 50762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a bit-mask for mask properties. 50772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns 0 if 'type' is out of bounds or if the Unicode version 50782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * does not have data for the property at all, or not for this code 50792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * point. 50802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 50812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 50822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMinValue 50832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 50842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 50852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 50862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyValue(int ch, int type) 50872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 50882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getIntPropertyValue(ch, type); 50892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 50902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 50911537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns a string version of the property value. 50922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param propertyEnum The property enum value. 50932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codepoint The codepoint value. 50942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param nameChoice The choice of the name. 50952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return value as string 50962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @deprecated This API is ICU internal only. 509793cf604e9dd0525f15bc0a7450b2a35f3884c298Neil Fuller * @hide original deprecated declaration 5098836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide draft / provisional / internal are hidden on Android 50992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller @Deprecated 51012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:OFF 51022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static String getStringPropertyValue(int propertyEnum, int codepoint, int nameChoice) { 51032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if ((propertyEnum >= UProperty.BINARY_START && propertyEnum < UProperty.BINARY_LIMIT) || 51042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller (propertyEnum >= UProperty.INT_START && propertyEnum < UProperty.INT_LIMIT)) { 51052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return getPropertyValueName(propertyEnum, getIntPropertyValue(codepoint, propertyEnum), 51062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller nameChoice); 51072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (propertyEnum == UProperty.NUMERIC_VALUE) { 51092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return String.valueOf(getUnicodeNumericValue(codepoint)); 51102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // otherwise must be string property 51122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller switch (propertyEnum) { 51132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.AGE: return getAge(codepoint).toString(); 51142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.ISO_COMMENT: return getISOComment(codepoint); 51152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.BIDI_MIRRORING_GLYPH: return toString(getMirror(codepoint)); 51162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.CASE_FOLDING: return toString(foldCase(codepoint, true)); 51172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.LOWERCASE_MAPPING: return toString(toLowerCase(codepoint)); 51182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.NAME: return getName(codepoint); 51192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_CASE_FOLDING: return toString(foldCase(codepoint, true)); 51202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_LOWERCASE_MAPPING: return toString(toLowerCase(codepoint)); 51212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_TITLECASE_MAPPING: return toString(toTitleCase(codepoint)); 51222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.SIMPLE_UPPERCASE_MAPPING: return toString(toUpperCase(codepoint)); 51232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.TITLECASE_MAPPING: return toString(toTitleCase(codepoint)); 51242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.UNICODE_1_NAME: return getName1_0(codepoint); 51252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller case UProperty.UPPERCASE_MAPPING: return toString(toUpperCase(codepoint)); 51262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IllegalArgumentException("Illegal Property Enum"); 51282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:ON 51302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51321537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the minimum value for an integer/binary Unicode property type. 51332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Can be used together with UCharacter.getIntPropertyMaxValue(int) 51341fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * to allocate arrays of android.icu.text.UnicodeSet or similar. 51352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 51362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 51372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 51382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT. 51392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Minimum value returned by UCharacter.getIntPropertyValue(int) 51402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * for a Unicode property. 0 if the property 51412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * selector 'type' is out of range. 51422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 51432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 51442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 51452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 51462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyValue 51472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyMinValue(int type){ 51492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return 0; // undefined; and: all other properties have a minimum value of 0 51512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51551537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu]</strong> Returns the maximum value for an integer/binary Unicode property. 51562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Can be used together with UCharacter.getIntPropertyMinValue(int) 51571fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * to allocate arrays of android.icu.text.UnicodeSet or similar. 51582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Examples for min/max values (for Unicode 3.2): 51592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <ul> 51602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.BIDI_CLASS: 0/18 51612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * (UCharacterDirection.LEFT_TO_RIGHT/UCharacterDirection.BOUNDARY_NEUTRAL) 51622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.SCRIPT: 0/45 (UScript.COMMON/UScript.TAGBANWA) 51632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * <li> UProperty.IDEOGRAPHIC: 0/1 (false/true) 51642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * </ul> 51652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * For undefined UProperty constant values, min/max values will be 0/-1. 51662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param type UProperty selector constant, identifies which binary 51672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property to check. Must be 51682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.BINARY_START <= type < UProperty.BINARY_LIMIT or 51692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UProperty.INT_START <= type < UProperty.INT_LIMIT. 51702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return Maximum value returned by u_getIntPropertyValue for a Unicode 51712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * property. <= 0 if the property selector 'type' is out of range. 51722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see UProperty 51732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #hasBinaryProperty 51742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getUnicodeVersion 51752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyMaxValue 51762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getIntPropertyValue 51772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int getIntPropertyMaxValue(int type) 51792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 51802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return UCharacterProperty.INSTANCE.getIntPropertyMaxValue(type); 51812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Provide the java.lang.Character forDigit API, for convenience. 51852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static char forDigit(int digit, int radix) { 51872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return java.lang.Character.forDigit(digit, radix); 51882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 51892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // JDK 1.5 API coverage 51912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+D800, same as {@link Character#MIN_HIGH_SURROGATE}. 51942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 51952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_HIGH_SURROGATE = Character.MIN_HIGH_SURROGATE; 51962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 51972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 51982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DBFF, same as {@link Character#MAX_HIGH_SURROGATE}. 51992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_HIGH_SURROGATE = Character.MAX_HIGH_SURROGATE; 52012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DC00, same as {@link Character#MIN_LOW_SURROGATE}. 52042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_LOW_SURROGATE = Character.MIN_LOW_SURROGATE; 52062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DFFF, same as {@link Character#MAX_LOW_SURROGATE}. 52092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_LOW_SURROGATE = Character.MAX_LOW_SURROGATE; 52112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+D800, same as {@link Character#MIN_SURROGATE}. 52142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MIN_SURROGATE = Character.MIN_SURROGATE; 52162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+DFFF, same as {@link Character#MAX_SURROGATE}. 52192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char MAX_SURROGATE = Character.MAX_SURROGATE; 52212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+10000, same as {@link Character#MIN_SUPPLEMENTARY_CODE_POINT}. 52242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_SUPPLEMENTARY_CODE_POINT = Character.MIN_SUPPLEMENTARY_CODE_POINT; 52262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+10FFFF, same as {@link Character#MAX_CODE_POINT}. 52292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MAX_CODE_POINT = Character.MAX_CODE_POINT; 52312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Constant U+0000, same as {@link Character#MIN_CODE_POINT}. 52342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int MIN_CODE_POINT = Character.MIN_CODE_POINT; 52362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52387241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to {@link Character#isValidCodePoint}. 52397241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * 52402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 52412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if cp is a valid code point 52422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isValidCodePoint(int cp) { 52442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return cp >= 0 && cp <= MAX_CODE_POINT; 52452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isSupplementaryCodePoint}. 52492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 52512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if cp is a supplementary code point 52522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isSupplementaryCodePoint(int cp) { 52542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isSupplementaryCodePoint(cp); 52552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isHighSurrogate}. 52592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the char to check 52612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if ch is a high (lead) surrogate 52622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isHighSurrogate(char ch) { 52642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isHighSurrogate(ch); 52652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isLowSurrogate}. 52692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param ch the char to check 52712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if ch is a low (trail) surrogate 52722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static boolean isLowSurrogate(char ch) { 52742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isLowSurrogate(ch); 52752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#isSurrogatePair}. 52792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param high the high (lead) char 52812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param low the low (trail) char 52822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return true if high, low form a surrogate pair 52832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final boolean isSurrogatePair(char high, char low) { 52852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.isSurrogatePair(high, low); 52862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 52882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 52892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#charCount}. 52902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the number of chars needed to represent the code point (1 or 2). 52912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This does not check the code point for validity. 52922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 52932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 52942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of chars needed to represent the code point 52952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 52962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int charCount(int cp) { 52972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.charCount(cp); 52982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 52992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toCodePoint}. 53022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point represented by the two surrogate code units. 53032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This does not check the surrogate pair for validity. 53042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param high the high (lead) surrogate 53062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param low the low (trail) surrogate 53072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point formed by the surrogate pair 53082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int toCodePoint(char high, char low) { 53102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toCodePoint(high, low); 53112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(CharSequence, int)}. 53152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param seq the characters to check 53192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 53202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 53212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(CharSequence seq, int index) { 53232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = seq.charAt(index++); 53242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < seq.length()) { 53262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = seq.charAt(index); 53272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 53332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(char[], int)}. 53372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 53412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 53422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 53432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(char[] text, int index) { 53452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[index++]; 53462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < text.length) { 53482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[index]; 53492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 53552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointAt(char[], int, int)}. 53592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point at index. 53602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index and index+1. 53612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 53632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index of the first or only char forming the code point 53642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the valid text 53652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point at the index 53662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointAt(char[] text, int index, int limit) { 53682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index >= limit || limit > text.length) { 53692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException(); 53702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[index++]; 53722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < limit) { 53742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[index]; 53752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c1; 53812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 53822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 53832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 53842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(CharSequence, int)}. 53852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return the code point before index. 53862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 53872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 53882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param seq the characters to check 53892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 53902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 53912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 53922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(CharSequence seq, int index) { 53932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = seq.charAt(--index); 53942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 53952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > 0) { 53962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = seq.charAt(--index); 53972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 53982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 53992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(char[], int)}. 54072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns the code point before index. 54082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 54092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 54112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 54122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 54132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(char[] text, int index) { 54152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[--index]; 54162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > 0) { 54182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[--index]; 54192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#codePointBefore(char[], int, int)}. 54292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Return the code point before index. 54302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * This examines only the characters at index-1 and index-2. 54312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 54332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index after the last or only char forming the code point 54342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the start of the valid text 54352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the code point before the index 54362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int codePointBefore(char[] text, int index, int limit) { 54382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index <= limit || limit < 0) { 54392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException(); 54402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c2 = text[--index]; 54422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isLowSurrogate(c2)) { 54432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > limit) { 54442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char c1 = text[--index]; 54452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (isHighSurrogate(c1)) { 54462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return toCodePoint(c1, c2); 54472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return c2; 54512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toChars(int, char[], int)}. 54552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Writes the chars representing the 54562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * code point into the destination at the given index. 54572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to convert 54592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param dst the destination array into which to put the char(s) representing the code point 54602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param dstIndex the index at which to put the first (or only) char 54612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the count of the number of chars written (1 or 2) 54622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if cp is not a valid code point 54632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final int toChars(int cp, char[] dst, int dstIndex) { 54652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toChars(cp, dst, dstIndex); 54662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Same as {@link Character#toChars(int)}. 54702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Returns a char array representing the code point. 54712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to convert 54732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return an array containing the char(s) representing the code point 54742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @throws IllegalArgumentException if cp is not a valid code point 54752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static final char[] toChars(int cp) { 54772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return Character.toChars(cp); 54782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 54792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 54802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 54817241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#getDirectionality(char)} method, for 54827241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * convenience. Returns a byte representing the directionality of the 54837241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * character. 54842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54857241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * <strong>[icu] Note:</strong> Unlike {@link Character#getDirectionality(char)}, this returns 54867241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * DIRECTIONALITY_LEFT_TO_RIGHT for undefined or out-of-bounds characters. 54872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * 54881537b2f39245c07b00aa78c3600f7aebcb172490Neil Fuller * <strong>[icu] Note:</strong> The return value must be tested using the constants defined in {@link 54892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacterDirection} and its interface {@link 54902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * UCharacterEnums.ECharacterDirection} since the values are different from the ones 54912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * defined by <code>java.lang.Character</code>. 54922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param cp the code point to check 54932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the directionality of the code point 54942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see #getDirection 54952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 54962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static byte getDirectionality(int cp) 54972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 54982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return (byte)getDirection(cp); 54992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55027241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#codePointCount(CharSequence, int, int)} 55037241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Counts the number of code points in the range 55047241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * of text. 55052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 55062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range 55072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the range 55082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of code points in the range 55092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int codePointCount(CharSequence text, int start, int limit) { 55112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length()) { 55122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("start (" + start + 55132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") or limit (" + limit + 55142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") invalid or out of range 0, " + text.length()); 55152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int len = limit - start; 55182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (limit > start) { 55192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(--limit); 55202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) { 55212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(--limit); 55222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) { 55232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller --len; 55242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 55252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return len; 55292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55327241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#codePointCount(char[], int, int)} method, for 55337241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * convenience. Counts the number of code points in the range of text. 55342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 55352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range 55362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param limit the limit of the range 55372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the number of code points in the range 55382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int codePointCount(char[] text, int start, int limit) { 55402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length) { 55412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("start (" + start + 55422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") or limit (" + limit + 55432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") invalid or out of range 0, " + text.length); 55442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int len = limit - start; 55472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (limit > start) { 55482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[--limit]; 55492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && limit > start) { 55502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[--limit]; 55512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE) { 55522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller --len; 55532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller break; 55542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return len; 55582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 55617241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the {@link Character#offsetByCodePoints(CharSequence, int, int)} 55627241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Adjusts the char index by a code point offset. 55632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 55642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index to adjust 55652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codePointOffset the number of code points by which to offset the index 55662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the adjusted index 55672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 55682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int offsetByCodePoints(CharSequence text, int index, int codePointOffset) { 55692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < 0 || index > text.length()) { 55702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 55712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") out of range 0, " + text.length()); 55722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 55742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (codePointOffset < 0) { 55752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (++codePointOffset <= 0) { 55762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(--index); 55772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > 0) { 55782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(--index); 55792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) { 55802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (++codePointOffset > 0) { 55812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index+1; 55822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 55872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int limit = text.length(); 55882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (--codePointOffset >= 0) { 55892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text.charAt(index++); 55902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) { 55912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text.charAt(index++); 55922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) { 55932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (--codePointOffset < 0) { 55942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index-1; 55952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 55992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index; 56022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 56057241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * Equivalent to the 56067241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * {@link Character#offsetByCodePoints(char[], int, int, int, int)} 56077241d93e30f4c7c527c019cd6ca3a791ca22d9b2Fredrik Roubert * method, for convenience. Adjusts the char index by a code point offset. 56082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param text the characters to check 56092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param start the start of the range to check 56102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param count the length of the range to check 56112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param index the index to adjust 56122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @param codePointOffset the number of code points by which to offset the index 56132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @return the adjusted index 56142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller public static int offsetByCodePoints(char[] text, int start, int count, int index, 56162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int codePointOffset) { 56172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller int limit = start + count; 56182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (start < 0 || limit < start || limit > text.length || index < start || index > limit) { 56192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") out of range " + start + 56212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ", " + limit + 56222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller " in array 0, " + text.length); 56232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (codePointOffset < 0) { 56262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (++codePointOffset <= 0) { 56272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[--index]; 56282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index < start) { 56292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") < start (" + start + 56312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ")"); 56322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_LOW_SURROGATE && ch <= MAX_LOW_SURROGATE && index > start) { 56342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[--index]; 56352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_HIGH_SURROGATE || ch > MAX_HIGH_SURROGATE) { 56362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (++codePointOffset > 0) { 56372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index+1; 56382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } else { 56432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (--codePointOffset >= 0) { 56442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller char ch = text[index++]; 56452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (index > limit) { 56462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller throw new IndexOutOfBoundsException("index ( " + index + 56472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ") > limit (" + limit + 56482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ")"); 56492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller while (ch >= MIN_HIGH_SURROGATE && ch <= MAX_HIGH_SURROGATE && index < limit) { 56512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ch = text[index++]; 56522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (ch < MIN_LOW_SURROGATE || ch > MAX_LOW_SURROGATE) { 56532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller if (--codePointOffset < 0) { 56542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index-1; 56552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller return index; 56622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 56632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private variables ------------------------------------------------- 56652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 56672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * To get the last character out from a data type 56682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int LAST_CHAR_MASK_ = 0xFFFF; 56702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 56722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * To get the last byte out from a data type 56732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 56742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int LAST_BYTE_MASK_ = 0xFF; 56752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 56762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 56772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Shift 16 bits 56782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 56792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int SHIFT_16_ = 16; 56802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 56812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 56822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Shift 24 bits 56832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 56842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int SHIFT_24_ = 24; 56852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // 56862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // /** 56872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // * Decimal radix 56882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // */ 56892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private static final int DECIMAL_RADIX_ = 10; 56902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 56922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * No break space code point 56932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int NO_BREAK_SPACE_ = 0xA0; 56952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 56962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 56972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Figure space code point 56982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 56992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int FIGURE_SPACE_ = 0x2007; 57002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Narrow no break space code point 57032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int NARROW_NO_BREAK_SPACE_ = 0x202F; 57052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Ideographic number zero code point 57082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int IDEOGRAPHIC_NUMBER_ZERO_ = 0x3007; 57102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, First code point 57132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FIRST_ = 0x4e00; 57152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Second code point 57182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SECOND_ = 0x4e8c; 57202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Third code point 57232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_THIRD_ = 0x4e09; 57252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Fourth code point 57282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FOURTH_ = 0x56db; 57302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, FIFTH code point 57332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_FIFTH_ = 0x4e94; 57352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Sixth code point 57382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SIXTH_ = 0x516d; 57402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Seventh code point 57432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_SEVENTH_ = 0x4e03; 57452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Eighth code point 57482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_EIGHTH_ = 0x516b; 57502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * CJK Ideograph, Nineth code point 57532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_NINETH_ = 0x4e5d; 57552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Application Program command code point 57582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int APPLICATION_PROGRAM_COMMAND_ = 0x009F; 57602ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Unit separator code point 57632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int UNIT_SEPARATOR_ = 0x001F; 57652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Delete code point 57682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int DELETE_ = 0x007F; 57702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Han digit characters 57732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_ZERO_ = 0x96f6; 57752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_ONE_ = 0x58f9; 57762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_TWO_ = 0x8cb3; 57772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_THREE_ = 0x53c3; 57782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_FOUR_ = 0x8086; 57792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_FIVE_ = 0x4f0d; 57802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_SIX_ = 0x9678; 57812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_SEVEN_ = 0x67d2; 57822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_EIGHT_ = 0x634c; 57832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_NINE_ = 0x7396; 57842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_TEN_ = 0x5341; 57852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_TEN_ = 0x62fe; 57862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_HUNDRED_ = 0x767e; 57872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_HUNDRED_ = 0x4f70; 57882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_THOUSAND_ = 0x5343; 57892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_COMPLEX_THOUSAND_ = 0x4edf; 57902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_TEN_THOUSAND_ = 0x824c; 57912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private static final int CJK_IDEOGRAPH_HUNDRED_MILLION_ = 0x5104; 57922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller 57932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller // private constructor ----------------------------------------------- 57942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:OFF 57952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller /** 57962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Private constructor to prevent instantiation 57972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */ 57982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller private UCharacter() 57992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller { 58002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller } 58012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller ///CLOVER:ON 58022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller} 5803