2 *******************************************************************************
\r
3 * Copyright (C) 2004-2007, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
8 package com.ibm.icu.lang;
\r
11 * A container for the different 'enumerated types' used by UCharacter.
\r
14 public class UCharacterEnums {
\r
16 /** This is just a namespace, it is not instantiatable. */
\r
18 private UCharacterEnums() {}
\r
21 * 'Enum' for the CharacterCategory constants. These constants are
\r
22 * compatible in name <b>but not in value</b> with those defined in
\r
23 * <code>java.lang.Character</code>.
\r
24 * @see UCharacterCategory
\r
27 public static interface ECharacterCategory {
\r
29 * Unassigned character type
\r
32 public static final byte UNASSIGNED = 0;
\r
36 * Not Assigned (no characters in [UnicodeData.txt] have this property)
\r
39 public static final byte GENERAL_OTHER_TYPES = 0;
\r
45 public static final byte UPPERCASE_LETTER = 1;
\r
51 public static final byte LOWERCASE_LETTER = 2;
\r
58 public static final byte TITLECASE_LETTER = 3;
\r
64 public static final byte MODIFIER_LETTER = 4;
\r
70 public static final byte OTHER_LETTER = 5;
\r
76 public static final byte NON_SPACING_MARK = 6;
\r
82 public static final byte ENCLOSING_MARK = 7;
\r
88 public static final byte COMBINING_SPACING_MARK = 8;
\r
94 public static final byte DECIMAL_DIGIT_NUMBER = 9;
\r
100 public static final byte LETTER_NUMBER = 10;
\r
103 * Character type No
\r
106 public static final byte OTHER_NUMBER = 11;
\r
109 * Character type Zs
\r
112 public static final byte SPACE_SEPARATOR = 12;
\r
115 * Character type Zl
\r
118 public static final byte LINE_SEPARATOR = 13;
\r
121 * Character type Zp
\r
124 public static final byte PARAGRAPH_SEPARATOR = 14;
\r
127 * Character type Cc
\r
130 public static final byte CONTROL = 15;
\r
133 * Character type Cf
\r
136 public static final byte FORMAT = 16;
\r
139 * Character type Co
\r
142 public static final byte PRIVATE_USE = 17;
\r
145 * Character type Cs
\r
148 public static final byte SURROGATE = 18;
\r
151 * Character type Pd
\r
154 public static final byte DASH_PUNCTUATION = 19;
\r
157 * Character type Ps
\r
160 public static final byte START_PUNCTUATION = 20;
\r
163 * Character type Pe
\r
166 public static final byte END_PUNCTUATION = 21;
\r
169 * Character type Pc
\r
172 public static final byte CONNECTOR_PUNCTUATION = 22;
\r
175 * Character type Po
\r
178 public static final byte OTHER_PUNCTUATION = 23;
\r
181 * Character type Sm
\r
184 public static final byte MATH_SYMBOL = 24;
\r
187 * Character type Sc
\r
190 public static final byte CURRENCY_SYMBOL = 25;
\r
193 * Character type Sk
\r
196 public static final byte MODIFIER_SYMBOL = 26;
\r
199 * Character type So
\r
202 public static final byte OTHER_SYMBOL = 27;
\r
205 * Character type Pi
\r
206 * @see #INITIAL_QUOTE_PUNCTUATION
\r
209 public static final byte INITIAL_PUNCTUATION = 28;
\r
212 * Character type Pi
\r
213 * This name is compatible with java.lang.Character's name for this type.
\r
214 * @see #INITIAL_PUNCTUATION
\r
217 public static final byte INITIAL_QUOTE_PUNCTUATION = 28;
\r
220 * Character type Pf
\r
221 * @see #FINAL_QUOTE_PUNCTUATION
\r
224 public static final byte FINAL_PUNCTUATION = 29;
\r
227 * Character type Pf
\r
228 * This name is compatible with java.lang.Character's name for this type.
\r
229 * @see #FINAL_PUNCTUATION
\r
232 public static final byte FINAL_QUOTE_PUNCTUATION = 29;
\r
235 * Character type count
\r
238 public static final byte CHAR_CATEGORY_COUNT = 30;
\r
242 * 'Enum' for the CharacterDirection constants. There are two sets
\r
243 * of names, those used in ICU, and those used in the JDK. The
\r
244 * JDK constants are compatible in name <b>but not in value</b>
\r
245 * with those defined in <code>java.lang.Character</code>.
\r
246 * @see UCharacterDirection
\r
249 public static interface ECharacterDirection {
\r
251 * Directional type L
\r
254 public static final int LEFT_TO_RIGHT = 0;
\r
257 * JDK-compatible synonym for LEFT_TO_RIGHT.
\r
260 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = (byte)LEFT_TO_RIGHT;
\r
263 * Directional type R
\r
266 public static final int RIGHT_TO_LEFT = 1;
\r
269 * JDK-compatible synonym for RIGHT_TO_LEFT.
\r
272 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = (byte)RIGHT_TO_LEFT;
\r
275 * Directional type EN
\r
278 public static final int EUROPEAN_NUMBER = 2;
\r
281 * JDK-compatible synonym for EUROPEAN_NUMBER.
\r
284 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = (byte)EUROPEAN_NUMBER;
\r
287 * Directional type ES
\r
290 public static final int EUROPEAN_NUMBER_SEPARATOR = 3;
\r
293 * JDK-compatible synonym for EUROPEAN_NUMBER_SEPARATOR.
\r
296 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = (byte)EUROPEAN_NUMBER_SEPARATOR;
\r
299 * Directional type ET
\r
302 public static final int EUROPEAN_NUMBER_TERMINATOR = 4;
\r
305 * JDK-compatible synonym for EUROPEAN_NUMBER_TERMINATOR.
\r
308 public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = (byte)EUROPEAN_NUMBER_TERMINATOR;
\r
311 * Directional type AN
\r
314 public static final int ARABIC_NUMBER = 5;
\r
317 * JDK-compatible synonym for ARABIC_NUMBER.
\r
320 public static final byte DIRECTIONALITY_ARABIC_NUMBER = (byte)ARABIC_NUMBER;
\r
323 * Directional type CS
\r
326 public static final int COMMON_NUMBER_SEPARATOR = 6;
\r
329 * JDK-compatible synonym for COMMON_NUMBER_SEPARATOR.
\r
332 public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = (byte)COMMON_NUMBER_SEPARATOR;
\r
335 * Directional type B
\r
338 public static final int BLOCK_SEPARATOR = 7;
\r
341 * JDK-compatible synonym for BLOCK_SEPARATOR.
\r
344 public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = (byte)BLOCK_SEPARATOR;
\r
347 * Directional type S
\r
350 public static final int SEGMENT_SEPARATOR = 8;
\r
353 * JDK-compatible synonym for SEGMENT_SEPARATOR.
\r
356 public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = (byte)SEGMENT_SEPARATOR;
\r
359 * Directional type WS
\r
362 public static final int WHITE_SPACE_NEUTRAL = 9;
\r
365 * JDK-compatible synonym for WHITE_SPACE_NEUTRAL.
\r
368 public static final byte DIRECTIONALITY_WHITESPACE = (byte)WHITE_SPACE_NEUTRAL;
\r
371 * Directional type ON
\r
374 public static final int OTHER_NEUTRAL = 10;
\r
377 * JDK-compatible synonym for OTHER_NEUTRAL.
\r
380 public static final byte DIRECTIONALITY_OTHER_NEUTRALS = (byte)OTHER_NEUTRAL;
\r
383 * Directional type LRE
\r
386 public static final int LEFT_TO_RIGHT_EMBEDDING = 11;
\r
389 * JDK-compatible synonym for LEFT_TO_RIGHT_EMBEDDING.
\r
392 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = (byte)LEFT_TO_RIGHT_EMBEDDING;
\r
395 * Directional type LRO
\r
398 public static final int LEFT_TO_RIGHT_OVERRIDE = 12;
\r
401 * JDK-compatible synonym for LEFT_TO_RIGHT_OVERRIDE.
\r
404 public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = (byte)LEFT_TO_RIGHT_OVERRIDE;
\r
407 * Directional type AL
\r
410 public static final int RIGHT_TO_LEFT_ARABIC = 13;
\r
413 * JDK-compatible synonym for RIGHT_TO_LEFT_ARABIC.
\r
416 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = (byte)RIGHT_TO_LEFT_ARABIC;
\r
419 * Directional type RLE
\r
422 public static final int RIGHT_TO_LEFT_EMBEDDING = 14;
\r
425 * JDK-compatible synonym for RIGHT_TO_LEFT_EMBEDDING.
\r
428 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = (byte)RIGHT_TO_LEFT_EMBEDDING;
\r
431 * Directional type RLO
\r
434 public static final int RIGHT_TO_LEFT_OVERRIDE = 15;
\r
437 * JDK-compatible synonym for RIGHT_TO_LEFT_OVERRIDE.
\r
440 public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = (byte)RIGHT_TO_LEFT_OVERRIDE;
\r
443 * Directional type PDF
\r
446 public static final int POP_DIRECTIONAL_FORMAT = 16;
\r
449 * JDK-compatible synonym for POP_DIRECTIONAL_FORMAT.
\r
452 public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = (byte)POP_DIRECTIONAL_FORMAT;
\r
455 * Directional type NSM
\r
458 public static final int DIR_NON_SPACING_MARK = 17;
\r
461 * JDK-compatible synonym for DIR_NON_SPACING_MARK.
\r
464 public static final byte DIRECTIONALITY_NONSPACING_MARK = (byte)DIR_NON_SPACING_MARK;
\r
467 * Directional type BN
\r
470 public static final int BOUNDARY_NEUTRAL = 18;
\r
473 * JDK-compatible synonym for BOUNDARY_NEUTRAL.
\r
476 public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = (byte)BOUNDARY_NEUTRAL;
\r
479 * Number of directional types
\r
482 public static final int CHAR_DIRECTION_COUNT = 19;
\r
485 * Undefined bidirectional character type. Undefined <code>char</code>
\r
486 * values have undefined directionality in the Unicode specification.
\r
489 public static final byte DIRECTIONALITY_UNDEFINED = -1;
\r