001: /**
002: *******************************************************************************
003: * Copyright (C) 2004-2006, International Business Machines Corporation and *
004: * others. All Rights Reserved. *
005: *******************************************************************************
006: */package com.ibm.icu.lang;
007:
008: /**
009: * A container for the different 'enumerated types' used by UCharacter.
010: * @stable ICU 3.0
011: */
012: public class UCharacterEnums {
013:
014: /** This is just a namespace, it is not instantiatable. */
015: ///CLOVER:OFF
016: private UCharacterEnums() {
017: }
018:
019: /**
020: * 'Enum' for the CharacterCategory constants. These constants are
021: * compatible in name <b>but not in value</b> with those defined in
022: * <code>java.lang.Character</code>.
023: * @see UCharacterCategory
024: * @stable ICU 3.0
025: */
026: public static interface ECharacterCategory {
027: /**
028: * Unassigned character type
029: * @stable ICU 2.1
030: */
031: public static final byte UNASSIGNED = 0;
032:
033: /**
034: * Character type Cn
035: * Not Assigned (no characters in [UnicodeData.txt] have this property)
036: * @stable ICU 2.6
037: */
038: public static final byte GENERAL_OTHER_TYPES = 0;
039:
040: /**
041: * Character type Lu
042: * @stable ICU 2.1
043: */
044: public static final byte UPPERCASE_LETTER = 1;
045:
046: /**
047: * Character type Ll
048: * @stable ICU 2.1
049: */
050: public static final byte LOWERCASE_LETTER = 2;
051:
052: /**
053: * Character type Lt
054: * @stable ICU 2.1
055: */
056:
057: public static final byte TITLECASE_LETTER = 3;
058:
059: /**
060: * Character type Lm
061: * @stable ICU 2.1
062: */
063: public static final byte MODIFIER_LETTER = 4;
064:
065: /**
066: * Character type Lo
067: * @stable ICU 2.1
068: */
069: public static final byte OTHER_LETTER = 5;
070:
071: /**
072: * Character type Mn
073: * @stable ICU 2.1
074: */
075: public static final byte NON_SPACING_MARK = 6;
076:
077: /**
078: * Character type Me
079: * @stable ICU 2.1
080: */
081: public static final byte ENCLOSING_MARK = 7;
082:
083: /**
084: * Character type Mc
085: * @stable ICU 2.1
086: */
087: public static final byte COMBINING_SPACING_MARK = 8;
088:
089: /**
090: * Character type Nd
091: * @stable ICU 2.1
092: */
093: public static final byte DECIMAL_DIGIT_NUMBER = 9;
094:
095: /**
096: * Character type Nl
097: * @stable ICU 2.1
098: */
099: public static final byte LETTER_NUMBER = 10;
100:
101: /**
102: * Character type No
103: * @stable ICU 2.1
104: */
105: public static final byte OTHER_NUMBER = 11;
106:
107: /**
108: * Character type Zs
109: * @stable ICU 2.1
110: */
111: public static final byte SPACE_SEPARATOR = 12;
112:
113: /**
114: * Character type Zl
115: * @stable ICU 2.1
116: */
117: public static final byte LINE_SEPARATOR = 13;
118:
119: /**
120: * Character type Zp
121: * @stable ICU 2.1
122: */
123: public static final byte PARAGRAPH_SEPARATOR = 14;
124:
125: /**
126: * Character type Cc
127: * @stable ICU 2.1
128: */
129: public static final byte CONTROL = 15;
130:
131: /**
132: * Character type Cf
133: * @stable ICU 2.1
134: */
135: public static final byte FORMAT = 16;
136:
137: /**
138: * Character type Co
139: * @stable ICU 2.1
140: */
141: public static final byte PRIVATE_USE = 17;
142:
143: /**
144: * Character type Cs
145: * @stable ICU 2.1
146: */
147: public static final byte SURROGATE = 18;
148:
149: /**
150: * Character type Pd
151: * @stable ICU 2.1
152: */
153: public static final byte DASH_PUNCTUATION = 19;
154:
155: /**
156: * Character type Ps
157: * @stable ICU 2.1
158: */
159: public static final byte START_PUNCTUATION = 20;
160:
161: /**
162: * Character type Pe
163: * @stable ICU 2.1
164: */
165: public static final byte END_PUNCTUATION = 21;
166:
167: /**
168: * Character type Pc
169: * @stable ICU 2.1
170: */
171: public static final byte CONNECTOR_PUNCTUATION = 22;
172:
173: /**
174: * Character type Po
175: * @stable ICU 2.1
176: */
177: public static final byte OTHER_PUNCTUATION = 23;
178:
179: /**
180: * Character type Sm
181: * @stable ICU 2.1
182: */
183: public static final byte MATH_SYMBOL = 24;
184:
185: /**
186: * Character type Sc
187: * @stable ICU 2.1
188: */
189: public static final byte CURRENCY_SYMBOL = 25;
190:
191: /**
192: * Character type Sk
193: * @stable ICU 2.1
194: */
195: public static final byte MODIFIER_SYMBOL = 26;
196:
197: /**
198: * Character type So
199: * @stable ICU 2.1
200: */
201: public static final byte OTHER_SYMBOL = 27;
202:
203: /**
204: * Character type Pi
205: * @see #INITIAL_QUOTE_PUNCTUATION
206: * @stable ICU 2.1
207: */
208: public static final byte INITIAL_PUNCTUATION = 28;
209:
210: /**
211: * Character type Pi
212: * This name is compatible with java.lang.Character's name for this type.
213: * @see #INITIAL_PUNCTUATION
214: * @stable ICU 2.8
215: */
216: public static final byte INITIAL_QUOTE_PUNCTUATION = 28;
217:
218: /**
219: * Character type Pf
220: * @see #FINAL_QUOTE_PUNCTUATION
221: * @stable ICU 2.1
222: */
223: public static final byte FINAL_PUNCTUATION = 29;
224:
225: /**
226: * Character type Pf
227: * This name is compatible with java.lang.Character's name for this type.
228: * @see #FINAL_PUNCTUATION
229: * @stable ICU 2.8
230: */
231: public static final byte FINAL_QUOTE_PUNCTUATION = 29;
232:
233: /**
234: * Character type count
235: * @stable ICU 2.1
236: */
237: public static final byte CHAR_CATEGORY_COUNT = 30;
238: }
239:
240: /**
241: * 'Enum' for the CharacterDirection constants. There are two sets
242: * of names, those used in ICU, and those used in the JDK. The
243: * JDK constants are compatible in name <b>but not in value</b>
244: * with those defined in <code>java.lang.Character</code>.
245: * @see UCharacterDirection
246: * @stable ICU 3.0
247: */
248: public static interface ECharacterDirection {
249: /**
250: * Directional type L
251: * @stable ICU 2.1
252: */
253: public static final int LEFT_TO_RIGHT = 0;
254:
255: /**
256: * JDK-compatible synonym for LEFT_TO_RIGHT.
257: * @stable ICU 3.0
258: */
259: public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = (byte) LEFT_TO_RIGHT;
260:
261: /**
262: * Directional type R
263: * @stable ICU 2.1
264: */
265: public static final int RIGHT_TO_LEFT = 1;
266:
267: /**
268: * JDK-compatible synonym for RIGHT_TO_LEFT.
269: * @stable ICU 3.0
270: */
271: public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = (byte) RIGHT_TO_LEFT;
272:
273: /**
274: * Directional type EN
275: * @stable ICU 2.1
276: */
277: public static final int EUROPEAN_NUMBER = 2;
278:
279: /**
280: * JDK-compatible synonym for EUROPEAN_NUMBER.
281: * @stable ICU 3.0
282: */
283: public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = (byte) EUROPEAN_NUMBER;
284:
285: /**
286: * Directional type ES
287: * @stable ICU 2.1
288: */
289: public static final int EUROPEAN_NUMBER_SEPARATOR = 3;
290:
291: /**
292: * JDK-compatible synonym for EUROPEAN_NUMBER_SEPARATOR.
293: * @stable ICU 3.0
294: */
295: public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = (byte) EUROPEAN_NUMBER_SEPARATOR;
296:
297: /**
298: * Directional type ET
299: * @stable ICU 2.1
300: */
301: public static final int EUROPEAN_NUMBER_TERMINATOR = 4;
302:
303: /**
304: * JDK-compatible synonym for EUROPEAN_NUMBER_TERMINATOR.
305: * @stable ICU 3.0
306: */
307: public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = (byte) EUROPEAN_NUMBER_TERMINATOR;
308:
309: /**
310: * Directional type AN
311: * @stable ICU 2.1
312: */
313: public static final int ARABIC_NUMBER = 5;
314:
315: /**
316: * JDK-compatible synonym for ARABIC_NUMBER.
317: * @stable ICU 3.0
318: */
319: public static final byte DIRECTIONALITY_ARABIC_NUMBER = (byte) ARABIC_NUMBER;
320:
321: /**
322: * Directional type CS
323: * @stable ICU 2.1
324: */
325: public static final int COMMON_NUMBER_SEPARATOR = 6;
326:
327: /**
328: * JDK-compatible synonym for COMMON_NUMBER_SEPARATOR.
329: * @stable ICU 3.0
330: */
331: public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = (byte) COMMON_NUMBER_SEPARATOR;
332:
333: /**
334: * Directional type B
335: * @stable ICU 2.1
336: */
337: public static final int BLOCK_SEPARATOR = 7;
338:
339: /**
340: * JDK-compatible synonym for BLOCK_SEPARATOR.
341: * @stable ICU 3.0
342: */
343: public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = (byte) BLOCK_SEPARATOR;
344:
345: /**
346: * Directional type S
347: * @stable ICU 2.1
348: */
349: public static final int SEGMENT_SEPARATOR = 8;
350:
351: /**
352: * JDK-compatible synonym for SEGMENT_SEPARATOR.
353: * @stable ICU 3.0
354: */
355: public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = (byte) SEGMENT_SEPARATOR;
356:
357: /**
358: * Directional type WS
359: * @stable ICU 2.1
360: */
361: public static final int WHITE_SPACE_NEUTRAL = 9;
362:
363: /**
364: * JDK-compatible synonym for WHITE_SPACE_NEUTRAL.
365: * @stable ICU 3.0
366: */
367: public static final byte DIRECTIONALITY_WHITESPACE = (byte) WHITE_SPACE_NEUTRAL;
368:
369: /**
370: * Directional type ON
371: * @stable ICU 2.1
372: */
373: public static final int OTHER_NEUTRAL = 10;
374:
375: /**
376: * JDK-compatible synonym for OTHER_NEUTRAL.
377: * @stable ICU 3.0
378: */
379: public static final byte DIRECTIONALITY_OTHER_NEUTRALS = (byte) OTHER_NEUTRAL;
380:
381: /**
382: * Directional type LRE
383: * @stable ICU 2.1
384: */
385: public static final int LEFT_TO_RIGHT_EMBEDDING = 11;
386:
387: /**
388: * JDK-compatible synonym for LEFT_TO_RIGHT_EMBEDDING.
389: * @stable ICU 3.0
390: */
391: public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = (byte) LEFT_TO_RIGHT_EMBEDDING;
392:
393: /**
394: * Directional type LRO
395: * @stable ICU 2.1
396: */
397: public static final int LEFT_TO_RIGHT_OVERRIDE = 12;
398:
399: /**
400: * JDK-compatible synonym for LEFT_TO_RIGHT_OVERRIDE.
401: * @stable ICU 3.0
402: */
403: public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = (byte) LEFT_TO_RIGHT_OVERRIDE;
404:
405: /**
406: * Directional type AL
407: * @stable ICU 2.1
408: */
409: public static final int RIGHT_TO_LEFT_ARABIC = 13;
410:
411: /**
412: * JDK-compatible synonym for RIGHT_TO_LEFT_ARABIC.
413: * @stable ICU 3.0
414: */
415: public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = (byte) RIGHT_TO_LEFT_ARABIC;
416:
417: /**
418: * Directional type RLE
419: * @stable ICU 2.1
420: */
421: public static final int RIGHT_TO_LEFT_EMBEDDING = 14;
422:
423: /**
424: * JDK-compatible synonym for RIGHT_TO_LEFT_EMBEDDING.
425: * @stable ICU 3.0
426: */
427: public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = (byte) RIGHT_TO_LEFT_EMBEDDING;
428:
429: /**
430: * Directional type RLO
431: * @stable ICU 2.1
432: */
433: public static final int RIGHT_TO_LEFT_OVERRIDE = 15;
434:
435: /**
436: * JDK-compatible synonym for RIGHT_TO_LEFT_OVERRIDE.
437: * @stable ICU 3.0
438: */
439: public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = (byte) RIGHT_TO_LEFT_OVERRIDE;
440:
441: /**
442: * Directional type PDF
443: * @stable ICU 2.1
444: */
445: public static final int POP_DIRECTIONAL_FORMAT = 16;
446:
447: /**
448: * JDK-compatible synonym for POP_DIRECTIONAL_FORMAT.
449: * @stable ICU 3.0
450: */
451: public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = (byte) POP_DIRECTIONAL_FORMAT;
452:
453: /**
454: * Directional type NSM
455: * @stable ICU 2.1
456: */
457: public static final int DIR_NON_SPACING_MARK = 17;
458:
459: /**
460: * JDK-compatible synonym for DIR_NON_SPACING_MARK.
461: * @stable ICU 3.0
462: */
463: public static final byte DIRECTIONALITY_NONSPACING_MARK = (byte) DIR_NON_SPACING_MARK;
464:
465: /**
466: * Directional type BN
467: * @stable ICU 2.1
468: */
469: public static final int BOUNDARY_NEUTRAL = 18;
470:
471: /**
472: * JDK-compatible synonym for BOUNDARY_NEUTRAL.
473: * @stable ICU 3.0
474: */
475: public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = (byte) BOUNDARY_NEUTRAL;
476:
477: /**
478: * Number of directional types
479: * @stable ICU 2.1
480: */
481: public static final int CHAR_DIRECTION_COUNT = 19;
482:
483: /**
484: * Undefined bidirectional character type. Undefined <code>char</code>
485: * values have undefined directionality in the Unicode specification.
486: * @stable ICU 3.0
487: */
488: public static final byte DIRECTIONALITY_UNDEFINED = -1;
489: }
490: }
|