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