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