Home | History | Annotate | Download | only in lang
      1 /* GENERATED SOURCE. DO NOT MODIFY. */
      2 //  2016 and later: Unicode, Inc. and others.
      3 // License & terms of use: http://www.unicode.org/copyright.html#License
      4 /**
      5 *******************************************************************************
      6 * Copyright (C) 1996-2016, International Business Machines Corporation and
      7 * others. All Rights Reserved.
      8 *******************************************************************************
      9 */
     10 
     11 package android.icu.lang;
     12 
     13 /**
     14  * <p>Selection constants for Unicode properties.
     15  * <p>These constants are used in functions like
     16  * UCharacter.hasBinaryProperty(int) to select one of the Unicode properties.
     17  *
     18  * <p>The properties APIs are intended to reflect Unicode properties as
     19  * defined in the Unicode Character Database (UCD) and Unicode Technical
     20  * Reports (UTR).
     21  * <p>For details about the properties see <a href=http://www.unicode.org>
     22  * http://www.unicode.org</a>.
     23  * <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
     24  *
     25  * <p>Important: If ICU is built with UCD files from Unicode versions below
     26  * 3.2, then properties marked with "new" are not or not fully
     27  * available. Check UCharacter.getUnicodeVersion() to be sure.
     28  * @author Syn Wee Quek
     29  * @see android.icu.lang.UCharacter
     30  */
     31 public interface UProperty
     32 {
     33     // public data member --------------------------------------------------
     34 
     35     /**
     36      * Special value indicating undefined property.
     37      * @deprecated This API is ICU internal only.
     38      * @hide original deprecated declaration
     39      * @hide draft / provisional / internal are hidden on Android
     40      */
     41     @Deprecated
     42     public static final int UNDEFINED = -1;
     43 
     44     /**
     45      * <p>Binary property Alphabetic.
     46      * <p>Property for UCharacter.isUAlphabetic(), different from the property
     47      * in UCharacter.isalpha().
     48      * <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.
     49      */
     50     public static final int ALPHABETIC = 0;
     51 
     52     /**
     53      * First constant for binary Unicode properties.
     54      */
     55     public static final int BINARY_START = ALPHABETIC;
     56 
     57     /**
     58      * Binary property ASCII_Hex_Digit (0-9 A-F a-f).
     59      */
     60     public static final int ASCII_HEX_DIGIT = 1;
     61 
     62     /**
     63      * <p>Binary property Bidi_Control.
     64      * <p>Format controls which have specific functions in the Bidi Algorithm.
     65      */
     66     public static final int BIDI_CONTROL = 2;
     67 
     68     /**
     69      * <p>Binary property Bidi_Mirrored.
     70      * <p>Characters that may change display in RTL text.
     71      * <p>Property for UCharacter.isMirrored().
     72      * <p>See Bidi Algorithm; UTR 9.
     73      */
     74     public static final int BIDI_MIRRORED = 3;
     75 
     76     /**
     77      * <p>Binary property Dash.
     78      * <p>Variations of dashes.
     79      */
     80     public static final int DASH = 4;
     81 
     82     /**
     83      * <p>Binary property Default_Ignorable_Code_Point (new).
     84      *
     85      * <p>Property that indicates codepoint is ignorable in most processing.
     86      *
     87      * <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) +
     88      * Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)
     89      */
     90     public static final int DEFAULT_IGNORABLE_CODE_POINT = 5;
     91 
     92     /**
     93      * <p>Binary property Deprecated (new).
     94      * <p>The usage of deprecated characters is strongly discouraged.
     95      */
     96     public static final int DEPRECATED = 6;
     97 
     98     /**
     99      * <p>Binary property Diacritic.
    100      * <p>Characters that linguistically modify the meaning of another
    101      * character to which they apply.
    102      */
    103     public static final int DIACRITIC = 7;
    104 
    105     /**
    106      * <p>Binary property Extender.
    107      * <p>Extend the value or shape of a preceding alphabetic character, e.g.
    108      * length and iteration marks.
    109      */
    110     public static final int EXTENDER = 8;
    111 
    112     /**
    113      * <p>Binary property Full_Composition_Exclusion.
    114      * <p>CompositionExclusions.txt + Singleton Decompositions +
    115      * Non-Starter Decompositions.
    116      */
    117     public static final int FULL_COMPOSITION_EXCLUSION = 9;
    118 
    119     /**
    120      * <p>Binary property Grapheme_Base (new).
    121      * <p>For programmatic determination of grapheme cluster boundaries.
    122      * [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ
    123      */
    124     public static final int GRAPHEME_BASE = 10;
    125 
    126     /**
    127      * <p>Binary property Grapheme_Extend (new).
    128      * <p>For programmatic determination of grapheme cluster boundaries.
    129      * <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ
    130      */
    131     public static final int GRAPHEME_EXTEND = 11;
    132 
    133     /**
    134      * <p>Binary property Grapheme_Link (new).
    135      * <p>For programmatic determination of grapheme cluster boundaries.
    136      */
    137     public static final int GRAPHEME_LINK = 12;
    138 
    139     /**
    140      * <p>Binary property Hex_Digit.
    141      * <p>Characters commonly used for hexadecimal numbers.
    142      */
    143     public static final int HEX_DIGIT = 13;
    144 
    145     /**
    146      * <p>Binary property Hyphen.
    147      * <p>Dashes used to mark connections between pieces of words, plus the
    148      * Katakana middle dot.
    149      */
    150     public static final int HYPHEN = 14;
    151 
    152     /**
    153      * <p>Binary property ID_Continue.
    154      * <p>Characters that can continue an identifier.
    155      * <p>ID_Start+Mn+Mc+Nd+Pc
    156      */
    157     public static final int ID_CONTINUE = 15;
    158 
    159     /**
    160      * <p>Binary property ID_Start.
    161      * <p>Characters that can start an identifier.
    162      * <p>Lu+Ll+Lt+Lm+Lo+Nl
    163      */
    164     public static final int ID_START = 16;
    165 
    166     /**
    167      * <p>Binary property Ideographic.
    168      * <p>CJKV ideographs.
    169      */
    170     public static final int IDEOGRAPHIC = 17;
    171 
    172     /**
    173      * <p>Binary property IDS_Binary_Operator (new).
    174      * <p>For programmatic determination of Ideographic Description Sequences.
    175      */
    176     public static final int IDS_BINARY_OPERATOR = 18;
    177 
    178     /**
    179      * <p>Binary property IDS_Trinary_Operator (new).
    180      * <p>For programmatic determination of Ideographic Description
    181      * Sequences.
    182      */
    183     public static final int IDS_TRINARY_OPERATOR = 19;
    184 
    185     /**
    186      * <p>Binary property Join_Control.
    187      * <p>Format controls for cursive joining and ligation.
    188      */
    189     public static final int JOIN_CONTROL = 20;
    190 
    191     /**
    192      * <p>Binary property Logical_Order_Exception (new).
    193      * <p>Characters that do not use logical order and require special
    194      * handling in most processing.
    195      */
    196     public static final int LOGICAL_ORDER_EXCEPTION = 21;
    197 
    198     /**
    199      * <p>Binary property Lowercase.
    200      * <p>Same as UCharacter.isULowercase(), different from
    201      * UCharacter.islower().
    202      * <p>Ll+Other_Lowercase
    203      */
    204     public static final int LOWERCASE = 22;
    205 
    206     /** <p>Binary property Math.
    207      * <p>Sm+Other_Math
    208      */
    209     public static final int MATH = 23;
    210 
    211     /**
    212      * <p>Binary property Noncharacter_Code_Point.
    213      * <p>Code points that are explicitly defined as illegal for the encoding
    214      * of characters.
    215      */
    216     public static final int NONCHARACTER_CODE_POINT = 24;
    217 
    218     /**
    219      * <p>Binary property Quotation_Mark.
    220      */
    221     public static final int QUOTATION_MARK = 25;
    222 
    223     /**
    224      * <p>Binary property Radical (new).
    225      * <p>For programmatic determination of Ideographic Description
    226      * Sequences.
    227      */
    228     public static final int RADICAL = 26;
    229 
    230     /**
    231      * <p>Binary property Soft_Dotted (new).
    232      * <p>Characters with a "soft dot", like i or j.
    233      * <p>An accent placed on these characters causes the dot to disappear.
    234      */
    235     public static final int SOFT_DOTTED = 27;
    236 
    237     /**
    238      * <p>Binary property Terminal_Punctuation.
    239      * <p>Punctuation characters that generally mark the end of textual
    240      * units.
    241      */
    242     public static final int TERMINAL_PUNCTUATION = 28;
    243 
    244     /**
    245      * <p>Binary property Unified_Ideograph (new).
    246      * <p>For programmatic determination of Ideographic Description
    247      * Sequences.
    248      */
    249     public static final int UNIFIED_IDEOGRAPH = 29;
    250 
    251     /**
    252      * <p>Binary property Uppercase.
    253      * <p>Same as UCharacter.isUUppercase(), different from
    254      * UCharacter.isUpperCase().
    255      * <p>Lu+Other_Uppercase
    256      */
    257     public static final int UPPERCASE = 30;
    258 
    259     /**
    260      * <p>Binary property White_Space.
    261      * <p>Same as UCharacter.isUWhiteSpace(), different from
    262      * UCharacter.isSpace() and UCharacter.isWhitespace().
    263      * Space characters+TAB+CR+LF-ZWSP-ZWNBSP
    264      */
    265     public static final int WHITE_SPACE = 31;
    266 
    267     /**
    268      * <p>Binary property XID_Continue.
    269      * <p>ID_Continue modified to allow closure under normalization forms
    270      * NFKC and NFKD.
    271      */
    272     public static final int XID_CONTINUE = 32;
    273 
    274     /**
    275      * <p>Binary property XID_Start.
    276      * <p>ID_Start modified to allow closure under normalization forms NFKC
    277      * and NFKD.
    278      */
    279     public static final int XID_START = 33;
    280 
    281     /**
    282      * <p>Binary property Case_Sensitive.
    283      * <p>Either the source of a case
    284      * mapping or _in_ the target of a case mapping. Not the same as
    285      * the general category Cased_Letter.
    286      */
    287     public static final int CASE_SENSITIVE = 34;
    288 
    289     /**
    290      * Binary property STerm (new in Unicode 4.0.1).
    291      * Sentence Terminal. Used in UAX #29: Text Boundaries
    292      * (http://www.unicode.org/reports/tr29/)
    293      */
    294     public static final int S_TERM = 35;
    295 
    296     /**
    297      * Binary property Variation_Selector (new in Unicode 4.0.1).
    298      * Indicates all those characters that qualify as Variation Selectors.
    299      * For details on the behavior of these characters,
    300      * see StandardizedVariants.html and 15.6 Variation Selectors.
    301      */
    302     public static final int VARIATION_SELECTOR = 36;
    303 
    304     /**
    305      * Binary property NFD_Inert.
    306      * ICU-specific property for characters that are inert under NFD,
    307      * i.e., they do not interact with adjacent characters.
    308      * Used for example in normalizing transforms in incremental mode
    309      * to find the boundary of safely normalizable text despite possible
    310      * text additions.
    311      *
    312      * There is one such property per normalization form.
    313      * These properties are computed as follows - an inert character is:
    314      * a) unassigned, or ALL of the following:
    315      * b) of combining class 0.
    316      * c) not decomposed by this normalization form.
    317      * AND if NFC or NFKC,
    318      * d) can never compose with a previous character.
    319      * e) can never compose with a following character.
    320      * f) can never change if another character is added.
    321      * Example: a-breve might satisfy all but f, but if you
    322      * add an ogonek it changes to a-ogonek + breve
    323      *
    324      * See also com.ibm.text.UCD.NFSkippable in the ICU4J repository,
    325      * and icu/source/common/unormimp.h .
    326      */
    327     public static final int NFD_INERT = 37;
    328 
    329     /**
    330      * Binary property NFKD_Inert.
    331      * ICU-specific property for characters that are inert under NFKD,
    332      * i.e., they do not interact with adjacent characters.
    333      * Used for example in normalizing transforms in incremental mode
    334      * to find the boundary of safely normalizable text despite possible
    335      * text additions.
    336      * @see #NFD_INERT
    337      */
    338     public static final int NFKD_INERT = 38;
    339 
    340     /**
    341      * Binary property NFC_Inert.
    342      * ICU-specific property for characters that are inert under NFC,
    343      * i.e., they do not interact with adjacent characters.
    344      * Used for example in normalizing transforms in incremental mode
    345      * to find the boundary of safely normalizable text despite possible
    346      * text additions.
    347      * @see #NFD_INERT
    348      */
    349     public static final int NFC_INERT = 39;
    350 
    351     /**
    352      * Binary property NFKC_Inert.
    353      * ICU-specific property for characters that are inert under NFKC,
    354      * i.e., they do not interact with adjacent characters.
    355      * Used for example in normalizing transforms in incremental mode
    356      * to find the boundary of safely normalizable text despite possible
    357      * text additions.
    358      * @see #NFD_INERT
    359      */
    360     public static final int NFKC_INERT = 40;
    361 
    362     /**
    363      * Binary Property Segment_Starter.
    364      * ICU-specific property for characters that are starters in terms of
    365      * Unicode normalization and combining character sequences.
    366      * They have ccc=0 and do not occur in non-initial position of the
    367      * canonical decomposition of any character
    368      * (like " in NFD(a-umlaut) and a Jamo T in an NFD(Hangul LVT)).
    369      * ICU uses this property for segmenting a string for generating a set of
    370      * canonically equivalent strings, e.g. for canonical closure while
    371      * processing collation tailoring rules.
    372      */
    373     public static final int SEGMENT_STARTER = 41;
    374 
    375     /**
    376      * Binary property Pattern_Syntax (new in Unicode 4.1).
    377      * See UAX #31 Identifier and Pattern Syntax
    378      * (http://www.unicode.org/reports/tr31/)
    379      */
    380     public static final int PATTERN_SYNTAX = 42;
    381 
    382     /**
    383      * Binary property Pattern_White_Space (new in Unicode 4.1).
    384      * See UAX #31 Identifier and Pattern Syntax
    385      * (http://www.unicode.org/reports/tr31/)
    386      */
    387     public static final int PATTERN_WHITE_SPACE = 43;
    388 
    389     /**
    390      * Binary property alnum (a C/POSIX character class).
    391      * Implemented according to the UTS #18 Annex C Standard Recommendation.
    392      * See the UCharacter class documentation.
    393      */
    394     public static final int POSIX_ALNUM = 44;
    395 
    396     /**
    397      * Binary property blank (a C/POSIX character class).
    398      * Implemented according to the UTS #18 Annex C Standard Recommendation.
    399      * See the UCharacter class documentation.
    400      */
    401     public static final int POSIX_BLANK = 45;
    402 
    403     /**
    404      * Binary property graph (a C/POSIX character class).
    405      * Implemented according to the UTS #18 Annex C Standard Recommendation.
    406      * See the UCharacter class documentation.
    407      */
    408     public static final int POSIX_GRAPH = 46;
    409 
    410     /**
    411      * Binary property print (a C/POSIX character class).
    412      * Implemented according to the UTS #18 Annex C Standard Recommendation.
    413      * See the UCharacter class documentation.
    414      */
    415     public static final int POSIX_PRINT = 47;
    416 
    417     /**
    418      * Binary property xdigit (a C/POSIX character class).
    419      * Implemented according to the UTS #18 Annex C Standard Recommendation.
    420      * See the UCharacter class documentation.
    421      */
    422     public static final int POSIX_XDIGIT = 48;
    423 
    424     /**
    425      * Binary property Cased.
    426      * For Lowercase, Uppercase and Titlecase characters.
    427      */
    428     public static final int CASED=49;
    429     /**
    430      * Binary property Case_Ignorable.
    431      * Used in context-sensitive case mappings.
    432      */
    433     public static final int CASE_IGNORABLE=50;
    434     /**
    435      * Binary property Changes_When_Lowercased.
    436      */
    437     public static final int CHANGES_WHEN_LOWERCASED=51;
    438     /**
    439      * Binary property Changes_When_Uppercased.
    440      */
    441     public static final int CHANGES_WHEN_UPPERCASED=52;
    442     /**
    443      * Binary property Changes_When_Titlecased.
    444      */
    445     public static final int CHANGES_WHEN_TITLECASED=53;
    446     /**
    447      * Binary property Changes_When_Casefolded.
    448      */
    449     public static final int CHANGES_WHEN_CASEFOLDED=54;
    450     /**
    451      * Binary property Changes_When_Casemapped.
    452      */
    453     public static final int CHANGES_WHEN_CASEMAPPED=55;
    454     /**
    455      * Binary property Changes_When_NFKC_Casefolded.
    456      */
    457     public static final int CHANGES_WHEN_NFKC_CASEFOLDED=56;
    458     /**
    459      * Binary property Emoji.
    460      * See http://www.unicode.org/reports/tr51/#Emoji_Properties
    461      *
    462      * @hide draft / provisional / internal are hidden on Android
    463      */
    464     public static final int EMOJI=57;
    465     /**
    466      * Binary property Emoji_Presentation.
    467      * See http://www.unicode.org/reports/tr51/#Emoji_Properties
    468      *
    469      * @hide draft / provisional / internal are hidden on Android
    470      */
    471     public static final int EMOJI_PRESENTATION=58;
    472     /**
    473      * Binary property Emoji_Modifier.
    474      * See http://www.unicode.org/reports/tr51/#Emoji_Properties
    475      *
    476      * @hide draft / provisional / internal are hidden on Android
    477      */
    478     public static final int EMOJI_MODIFIER=59;
    479     /**
    480      * Binary property Emoji_Modifier_Base.
    481      * See http://www.unicode.org/reports/tr51/#Emoji_Properties
    482      *
    483      * @hide draft / provisional / internal are hidden on Android
    484      */
    485     public static final int EMOJI_MODIFIER_BASE=60;
    486 
    487     /**
    488      * One more than the last constant for binary Unicode properties.
    489      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    490      * @hide unsupported on Android
    491      */
    492     @Deprecated
    493     public static final int BINARY_LIMIT = 61;
    494 
    495     /**
    496      * Enumerated property Bidi_Class.
    497      * Same as UCharacter.getDirection(int), returns UCharacterDirection values.
    498      */
    499     public static final int BIDI_CLASS = 0x1000;
    500 
    501     /**
    502      * First constant for enumerated/integer Unicode properties.
    503      */
    504     public static final int INT_START = BIDI_CLASS;
    505 
    506     /**
    507      * Enumerated property Block.
    508      * Same as UCharacter.UnicodeBlock.of(int), returns UCharacter.UnicodeBlock
    509      * values.
    510      */
    511     public static final int BLOCK = 0x1001;
    512 
    513     /**
    514      * Enumerated property Canonical_Combining_Class.
    515      * Same as UCharacter.getCombiningClass(int), returns 8-bit numeric values.
    516      */
    517     public static final int CANONICAL_COMBINING_CLASS = 0x1002;
    518 
    519     /**
    520      * Enumerated property Decomposition_Type.
    521      * Returns UCharacter.DecompositionType values.
    522      */
    523     public static final int DECOMPOSITION_TYPE = 0x1003;
    524 
    525     /**
    526      * Enumerated property East_Asian_Width.
    527      * See http://www.unicode.org/reports/tr11/
    528      * Returns UCharacter.EastAsianWidth values.
    529      */
    530     public static final int EAST_ASIAN_WIDTH = 0x1004;
    531 
    532     /**
    533      * Enumerated property General_Category.
    534      * Same as UCharacter.getType(int), returns UCharacterCategory values.
    535      */
    536     public static final int GENERAL_CATEGORY = 0x1005;
    537 
    538     /**
    539      * Enumerated property Joining_Group.
    540      * Returns UCharacter.JoiningGroup values.
    541      */
    542     public static final int JOINING_GROUP = 0x1006;
    543 
    544     /**
    545      * Enumerated property Joining_Type.
    546      * Returns UCharacter.JoiningType values.
    547      */
    548     public static final int JOINING_TYPE = 0x1007;
    549 
    550     /**
    551      * Enumerated property Line_Break.
    552      * Returns UCharacter.LineBreak values.
    553      */
    554     public static final int LINE_BREAK = 0x1008;
    555 
    556     /**
    557      * Enumerated property Numeric_Type.
    558      * Returns UCharacter.NumericType values.
    559      */
    560     public static final int NUMERIC_TYPE = 0x1009;
    561 
    562     /**
    563      * Enumerated property Script.
    564      * Same as UScript.getScript(int), returns UScript values.
    565      */
    566     public static final int SCRIPT = 0x100A;
    567 
    568     /**
    569      * Enumerated property Hangul_Syllable_Type, new in Unicode 4.
    570      * Returns UCharacter.HangulSyllableType values.
    571      */
    572     public static final int HANGUL_SYLLABLE_TYPE = 0x100B;
    573 
    574     /**
    575      * Enumerated property NFD_Quick_Check.
    576      * Returns numeric values compatible with Normalizer.QuickCheckResult.
    577      */
    578     public static final int NFD_QUICK_CHECK = 0x100C;
    579 
    580     /**
    581      * Enumerated property NFKD_Quick_Check.
    582      * Returns numeric values compatible with Normalizer.QuickCheckResult.
    583      */
    584     public static final int NFKD_QUICK_CHECK = 0x100D;
    585 
    586     /**
    587      * Enumerated property NFC_Quick_Check.
    588      * Returns numeric values compatible with Normalizer.QuickCheckResult.
    589      */
    590     public static final int NFC_QUICK_CHECK = 0x100E;
    591 
    592     /**
    593      * Enumerated property NFKC_Quick_Check.
    594      * Returns numeric values compatible with Normalizer.QuickCheckResult.
    595      */
    596     public static final int NFKC_QUICK_CHECK = 0x100F;
    597 
    598     /**
    599      * Enumerated property Lead_Canonical_Combining_Class.
    600      * ICU-specific property for the ccc of the first code point
    601      * of the decomposition, or lccc(c)=ccc(NFD(c)[0]).
    602      * Useful for checking for canonically ordered text;
    603      * see Normalizer.FCD and http://www.unicode.org/notes/tn5/#FCD .
    604      * Returns 8-bit numeric values like CANONICAL_COMBINING_CLASS.
    605      */
    606     public static final int LEAD_CANONICAL_COMBINING_CLASS = 0x1010;
    607 
    608     /**
    609      * Enumerated property Trail_Canonical_Combining_Class.
    610      * ICU-specific property for the ccc of the last code point
    611      * of the decomposition, or lccc(c)=ccc(NFD(c)[last]).
    612      * Useful for checking for canonically ordered text;
    613      * see Normalizer.FCD and http://www.unicode.org/notes/tn5/#FCD .
    614      * Returns 8-bit numeric values like CANONICAL_COMBINING_CLASS.
    615      */
    616     public static final int TRAIL_CANONICAL_COMBINING_CLASS = 0x1011;
    617 
    618     /**
    619      * Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
    620      * Used in UAX #29: Text Boundaries
    621      * (http://www.unicode.org/reports/tr29/)
    622      * Returns UCharacter.GraphemeClusterBreak values.
    623      */
    624     public static final int GRAPHEME_CLUSTER_BREAK = 0x1012;
    625 
    626     /**
    627      * Enumerated property Sentence_Break (new in Unicode 4.1).
    628      * Used in UAX #29: Text Boundaries
    629      * (http://www.unicode.org/reports/tr29/)
    630      * Returns UCharacter.SentenceBreak values.
    631      */
    632     public static final int SENTENCE_BREAK = 0x1013;
    633 
    634     /**
    635      * Enumerated property Word_Break (new in Unicode 4.1).
    636      * Used in UAX #29: Text Boundaries
    637      * (http://www.unicode.org/reports/tr29/)
    638      * Returns UCharacter.WordBreak values.
    639      */
    640     public static final int WORD_BREAK = 0x1014;
    641 
    642     /**
    643      * Enumerated property Bidi_Paired_Bracket_Type (new in Unicode 6.3).
    644      * Used in UAX #9: Unicode Bidirectional Algorithm
    645      * (http://www.unicode.org/reports/tr9/)
    646      * Returns UCharacter.BidiPairedBracketType values.
    647      */
    648     public static final int BIDI_PAIRED_BRACKET_TYPE = 0x1015;
    649 
    650     /**
    651      * One more than the last constant for enumerated/integer Unicode properties.
    652      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    653      * @hide unsupported on Android
    654      */
    655     @Deprecated
    656     public static final int INT_LIMIT = 0x1016;
    657 
    658     /**
    659      * Bitmask property General_Category_Mask.
    660      * This is the General_Category property returned as a bit mask.
    661      * When used in UCharacter.getIntPropertyValue(c),
    662      * returns bit masks for UCharacterCategory values where exactly one bit is set.
    663      * When used with UCharacter.getPropertyValueName() and UCharacter.getPropertyValueEnum(),
    664      * a multi-bit mask is used for sets of categories like "Letters".
    665      */
    666     public static final int GENERAL_CATEGORY_MASK = 0x2000;
    667 
    668     /**
    669      * First constant for bit-mask Unicode properties.
    670      */
    671     public static final int MASK_START = GENERAL_CATEGORY_MASK;
    672 
    673     /**
    674      * One more than the last constant for bit-mask Unicode properties.
    675      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    676      * @hide unsupported on Android
    677      */
    678     @Deprecated
    679     public static final int MASK_LIMIT = 0x2001;
    680 
    681     /**
    682      * Double property Numeric_Value.
    683      * Corresponds to UCharacter.getUnicodeNumericValue(int).
    684      */
    685     public static final int NUMERIC_VALUE = 0x3000;
    686 
    687     /**
    688      * First constant for double Unicode properties.
    689      */
    690     public static final int DOUBLE_START = NUMERIC_VALUE;
    691 
    692     /**
    693      * One more than the last constant for double Unicode properties.
    694      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    695      * @hide unsupported on Android
    696      */
    697     @Deprecated
    698     public static final int DOUBLE_LIMIT = 0x3001;
    699 
    700     /**
    701      * String property Age.
    702      * Corresponds to UCharacter.getAge(int).
    703      */
    704     public static final int AGE = 0x4000;
    705 
    706     /**
    707      * First constant for string Unicode properties.
    708      */
    709     public static final int STRING_START = AGE;
    710 
    711     /**
    712      * String property Bidi_Mirroring_Glyph.
    713      * Corresponds to UCharacter.getMirror(int).
    714      */
    715     public static final int BIDI_MIRRORING_GLYPH = 0x4001;
    716 
    717     /**
    718      * String property Case_Folding.
    719      * Corresponds to UCharacter.foldCase(String, boolean).
    720      */
    721     public static final int CASE_FOLDING = 0x4002;
    722 
    723     /**
    724      * Deprecated string property ISO_Comment.
    725      * Corresponds to UCharacter.getISOComment(int).
    726      * @deprecated ICU 49
    727      * @hide original deprecated declaration
    728      */
    729     @Deprecated
    730     public static final int ISO_COMMENT = 0x4003;
    731 
    732     /**
    733      * String property Lowercase_Mapping.
    734      * Corresponds to UCharacter.toLowerCase(String).
    735      */
    736     public static final int LOWERCASE_MAPPING = 0x4004;
    737 
    738     /**
    739      * String property Name.
    740      * Corresponds to UCharacter.getName(int).
    741      */
    742     public static final int NAME = 0x4005;
    743 
    744     /**
    745      * String property Simple_Case_Folding.
    746      * Corresponds to UCharacter.foldCase(int, boolean).
    747      */
    748     public static final int SIMPLE_CASE_FOLDING = 0x4006;
    749 
    750     /**
    751      * String property Simple_Lowercase_Mapping.
    752      * Corresponds to UCharacter.toLowerCase(int).
    753      */
    754     public static final int SIMPLE_LOWERCASE_MAPPING = 0x4007;
    755 
    756     /**
    757      * String property Simple_Titlecase_Mapping.
    758      * Corresponds to UCharacter.toTitleCase(int).
    759      */
    760     public static final int SIMPLE_TITLECASE_MAPPING = 0x4008;
    761 
    762     /**
    763      * String property Simple_Uppercase_Mapping.
    764      * Corresponds to UCharacter.toUpperCase(int).
    765      */
    766     public static final int SIMPLE_UPPERCASE_MAPPING = 0x4009;
    767 
    768     /**
    769      * String property Titlecase_Mapping.
    770      * Corresponds to UCharacter.toTitleCase(String).
    771      */
    772     public static final int TITLECASE_MAPPING = 0x400A;
    773 
    774     /**
    775      * String property Unicode_1_Name.
    776      * This property is of little practical value.
    777      * Beginning with ICU 49, ICU APIs return null or an empty string for this property.
    778      * Corresponds to UCharacter.getName1_0(int).
    779      * @deprecated ICU 49
    780      * @hide original deprecated declaration
    781      */
    782     @Deprecated
    783     public static final int UNICODE_1_NAME = 0x400B;
    784 
    785     /**
    786      * String property Uppercase_Mapping.
    787      * Corresponds to UCharacter.toUpperCase(String).
    788      */
    789     public static final int UPPERCASE_MAPPING = 0x400C;
    790 
    791     /**
    792      * String property Bidi_Paired_Bracket (new in Unicode 6.3).
    793      * Corresponds to UCharacter.getBidiPairedBracket.
    794      */
    795     public static final int BIDI_PAIRED_BRACKET = 0x400D;
    796 
    797     /**
    798      * One more than the last constant for string Unicode properties.
    799      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    800      * @hide unsupported on Android
    801      */
    802     @Deprecated
    803     public static final int STRING_LIMIT = 0x400E;
    804 
    805     /**
    806      * Miscellaneous property Script_Extensions (new in Unicode 6.0).
    807      * Some characters are commonly used in multiple scripts.
    808      * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
    809      * Corresponds to UScript.hasScript and UScript.getScriptExtensions.
    810      */
    811     public static final int SCRIPT_EXTENSIONS=0x7000;
    812     /**
    813      * First constant for Unicode properties with unusual value types.
    814      */
    815     public static final int OTHER_PROPERTY_START=SCRIPT_EXTENSIONS;
    816     /**
    817      * One more than the last constant for Unicode properties with unusual value types.
    818      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    819      * @hide unsupported on Android
    820      */
    821     @Deprecated
    822     public static final int OTHER_PROPERTY_LIMIT=0x7001;
    823 
    824     /**
    825      * Selector constants for UCharacter.getPropertyName() and
    826      * UCharacter.getPropertyValueName().  These selectors are used to
    827      * choose which name is returned for a given property or value.
    828      * All properties and values have a long name.  Most have a short
    829      * name, but some do not.  Unicode allows for additional names,
    830      * beyond the long and short name, which would be indicated by
    831      * LONG + i, where i=1, 2,...
    832      *
    833      * @see UCharacter#getPropertyName
    834      * @see UCharacter#getPropertyValueName
    835      */
    836     public interface NameChoice {
    837         /**
    838          * Selector for the abbreviated name of a property or value.
    839          * Most properties and values have a short name; those that do
    840          * not return null.
    841          */
    842         static final int SHORT = 0;
    843 
    844         /**
    845          * Selector for the long name of a property or value.  All
    846          * properties and values have a long name.
    847          */
    848         static final int LONG = 1;
    849 
    850         /**
    851          * The number of predefined property name choices.  Individual
    852          * properties or values may have more than COUNT aliases.
    853          * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
    854          * @hide unsupported on Android
    855          */
    856         @Deprecated
    857         static final int COUNT = 2;
    858     }
    859 }
    860