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
11package 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 */
31public 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