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