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