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