1/* GENERATED SOURCE. DO NOT MODIFY. */
2// © 2016 and later: Unicode, Inc. and others.
3// License & terms of use: http://www.unicode.org/copyright.html#License
4/**
5 *******************************************************************************
6 * Copyright (C) 2004-2016, International Business Machines Corporation and
7 * others. All Rights Reserved.
8 *******************************************************************************
9 */
10
11package android.icu.lang;
12
13/**
14 * A container for the different 'enumerated types' used by UCharacter.
15 */
16public class UCharacterEnums {
17
18    /** This is just a namespace, it is not instantiatable. */
19    ///CLOVER:OFF
20    private UCharacterEnums() {}
21
22    /**
23     * 'Enum' for the CharacterCategory constants.  These constants are
24     * compatible in name <b>but not in value</b> with those defined in
25     * {@link java.lang.Character}.
26     * @see UCharacterCategory
27     */
28    public static interface ECharacterCategory {
29        /**
30         * Unassigned character type
31         */
32        public static final byte UNASSIGNED              = 0;
33
34        /**
35         * Character type Cn
36         * Not Assigned (no characters in [UnicodeData.txt] have this property)
37         */
38        public static final byte GENERAL_OTHER_TYPES     = 0;
39
40        /**
41         * Character type Lu
42         */
43        public static final byte UPPERCASE_LETTER        = 1;
44
45        /**
46         * Character type Ll
47         */
48        public static final byte LOWERCASE_LETTER        = 2;
49
50        /**
51         * Character type Lt
52         */
53
54        public static final byte TITLECASE_LETTER        = 3;
55
56        /**
57         * Character type Lm
58         */
59        public static final byte MODIFIER_LETTER         = 4;
60
61        /**
62         * Character type Lo
63         */
64        public static final byte OTHER_LETTER            = 5;
65
66        /**
67         * Character type Mn
68         */
69        public static final byte NON_SPACING_MARK        = 6;
70
71        /**
72         * Character type Me
73         */
74        public static final byte ENCLOSING_MARK          = 7;
75
76        /**
77         * Character type Mc
78         */
79        public static final byte COMBINING_SPACING_MARK  = 8;
80
81        /**
82         * Character type Nd
83         */
84        public static final byte DECIMAL_DIGIT_NUMBER    = 9;
85
86        /**
87         * Character type Nl
88         */
89        public static final byte LETTER_NUMBER           = 10;
90
91        /**
92         * Character type No
93         */
94        public static final byte OTHER_NUMBER            = 11;
95
96        /**
97         * Character type Zs
98         */
99        public static final byte SPACE_SEPARATOR         = 12;
100
101        /**
102         * Character type Zl
103         */
104        public static final byte LINE_SEPARATOR          = 13;
105
106        /**
107         * Character type Zp
108         */
109        public static final byte PARAGRAPH_SEPARATOR     = 14;
110
111        /**
112         * Character type Cc
113         */
114        public static final byte CONTROL                 = 15;
115
116        /**
117         * Character type Cf
118         */
119        public static final byte FORMAT                  = 16;
120
121        /**
122         * Character type Co
123         */
124        public static final byte PRIVATE_USE             = 17;
125
126        /**
127         * Character type Cs
128         */
129        public static final byte SURROGATE               = 18;
130
131        /**
132         * Character type Pd
133         */
134        public static final byte DASH_PUNCTUATION        = 19;
135
136        /**
137         * Character type Ps
138         */
139        public static final byte START_PUNCTUATION       = 20;
140
141        /**
142         * Character type Pe
143         */
144        public static final byte END_PUNCTUATION         = 21;
145
146        /**
147         * Character type Pc
148         */
149        public static final byte CONNECTOR_PUNCTUATION   = 22;
150
151        /**
152         * Character type Po
153         */
154        public static final byte OTHER_PUNCTUATION       = 23;
155
156        /**
157         * Character type Sm
158         */
159        public static final byte MATH_SYMBOL             = 24;
160
161        /**
162         * Character type Sc
163         */
164        public static final byte CURRENCY_SYMBOL         = 25;
165
166        /**
167         * Character type Sk
168         */
169        public static final byte MODIFIER_SYMBOL         = 26;
170
171        /**
172         * Character type So
173         */
174        public static final byte OTHER_SYMBOL            = 27;
175
176        /**
177         * Character type Pi
178         * @see #INITIAL_QUOTE_PUNCTUATION
179         */
180        public static final byte INITIAL_PUNCTUATION     = 28;
181
182        /**
183         * Character type Pi
184         * This name is compatible with java.lang.Character's name for this type.
185         * @see #INITIAL_PUNCTUATION
186         */
187        public static final byte INITIAL_QUOTE_PUNCTUATION = 28;
188
189        /**
190         * Character type Pf
191         * @see #FINAL_QUOTE_PUNCTUATION
192         */
193        public static final byte FINAL_PUNCTUATION       = 29;
194
195        /**
196         * Character type Pf
197         * This name is compatible with java.lang.Character's name for this type.
198         * @see #FINAL_PUNCTUATION
199         */
200        public static final byte FINAL_QUOTE_PUNCTUATION   = 29;
201
202        /**
203         * One more than the highest normal ECharacterCategory value.
204         * This numeric value is stable (will not change), see
205         * http://www.unicode.org/policies/stability_policy.html#Property_Value
206         * @hide unsupported on Android
207         */
208        public static final byte CHAR_CATEGORY_COUNT     = 30;
209    }
210
211    /**
212     * 'Enum' for the CharacterDirection constants. Some constants are
213     * compatible in name <b>but not in value</b> with those defined in
214     * {@link java.lang.Character}.
215     * @see UCharacterDirection
216     */
217    public static interface ECharacterDirection {
218        /**
219         * Directional type L
220         */
221        public static final int LEFT_TO_RIGHT              = 0;
222
223        /**
224         * Equivalent to {@link
225         * java.lang.Character#DIRECTIONALITY_LEFT_TO_RIGHT}.
226         * Synonym of {@link #LEFT_TO_RIGHT}.
227         */
228        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = (byte)LEFT_TO_RIGHT;
229
230        /**
231         * Directional type R
232         */
233        public static final int RIGHT_TO_LEFT              = 1;
234
235        /**
236         * Equivalent to {@link
237         * java.lang.Character#DIRECTIONALITY_RIGHT_TO_LEFT}.
238         * Synonym of {@link #RIGHT_TO_LEFT}.
239         */
240        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = (byte)RIGHT_TO_LEFT;
241
242        /**
243         * Directional type EN
244         */
245        public static final int EUROPEAN_NUMBER            = 2;
246
247        /**
248         * Equivalent to {@link
249         * java.lang.Character#DIRECTIONALITY_EUROPEAN_NUMBER}.
250         * Synonym of {@link #EUROPEAN_NUMBER}.
251         */
252        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = (byte)EUROPEAN_NUMBER;
253
254        /**
255         * Directional type ES
256         */
257        public static final int EUROPEAN_NUMBER_SEPARATOR  = 3;
258
259        /**
260         * Equivalent to {@link
261         * java.lang.Character#DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR}.
262         * Synonym of {@link #EUROPEAN_NUMBER_SEPARATOR}.
263         */
264        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = (byte)EUROPEAN_NUMBER_SEPARATOR;
265
266        /**
267         * Directional type ET
268         */
269        public static final int EUROPEAN_NUMBER_TERMINATOR = 4;
270
271        /**
272         * Equivalent to {@link
273         * java.lang.Character#DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR}.
274         * Synonym of {@link #EUROPEAN_NUMBER_TERMINATOR}.
275         */
276        public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = (byte)EUROPEAN_NUMBER_TERMINATOR;
277
278        /**
279         * Directional type AN
280         */
281        public static final int ARABIC_NUMBER              = 5;
282
283        /**
284         * Equivalent to {@link
285         * java.lang.Character#DIRECTIONALITY_ARABIC_NUMBER}.
286         * Synonym of {@link #ARABIC_NUMBER}.
287         */
288        public static final byte DIRECTIONALITY_ARABIC_NUMBER = (byte)ARABIC_NUMBER;
289
290        /**
291         * Directional type CS
292         */
293        public static final int COMMON_NUMBER_SEPARATOR    = 6;
294
295        /**
296         * Equivalent to {@link
297         * java.lang.Character#DIRECTIONALITY_COMMON_NUMBER_SEPARATOR}.
298         * Synonym of {@link #COMMON_NUMBER_SEPARATOR}.
299         */
300        public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = (byte)COMMON_NUMBER_SEPARATOR;
301
302        /**
303         * Directional type B
304         */
305        public static final int BLOCK_SEPARATOR            = 7;
306
307        /**
308         * Equivalent to {@link
309         * java.lang.Character#DIRECTIONALITY_PARAGRAPH_SEPARATOR}.
310         * Synonym of {@link #BLOCK_SEPARATOR}.
311         */
312        public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = (byte)BLOCK_SEPARATOR;
313
314        /**
315         * Directional type S
316         */
317        public static final int SEGMENT_SEPARATOR          = 8;
318
319        /**
320         * Equivalent to {@link
321         * java.lang.Character#DIRECTIONALITY_SEGMENT_SEPARATOR}.
322         * Synonym of {@link #SEGMENT_SEPARATOR}.
323         */
324        public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = (byte)SEGMENT_SEPARATOR;
325
326        /**
327         * Directional type WS
328         */
329        public static final int WHITE_SPACE_NEUTRAL        = 9;
330
331        /**
332         * Equivalent to {@link java.lang.Character#DIRECTIONALITY_WHITESPACE}.
333         * Synonym of {@link #WHITE_SPACE_NEUTRAL}.
334         */
335        public static final byte DIRECTIONALITY_WHITESPACE = (byte)WHITE_SPACE_NEUTRAL;
336
337        /**
338         * Directional type ON
339         */
340        public static final int OTHER_NEUTRAL              = 10;
341
342        /**
343         * Equivalent to {@link java.lang.Character#DIRECTIONALITY_OTHER_NEUTRALS}.
344         * Synonym of {@link #OTHER_NEUTRAL}.
345         */
346        public static final byte DIRECTIONALITY_OTHER_NEUTRALS = (byte)OTHER_NEUTRAL;
347
348        /**
349         * Directional type LRE
350         */
351        public static final int LEFT_TO_RIGHT_EMBEDDING    = 11;
352
353        /**
354         * Equivalent to {@link
355         * java.lang.Character#DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING}.
356         * Synonym of {@link #LEFT_TO_RIGHT_EMBEDDING}.
357         */
358        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = (byte)LEFT_TO_RIGHT_EMBEDDING;
359
360        /**
361         * Directional type LRO
362         */
363        public static final int LEFT_TO_RIGHT_OVERRIDE     = 12;
364
365        /**
366         * Equivalent to {@link
367         * java.lang.Character#DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE}.
368         * Synonym of {@link #LEFT_TO_RIGHT_OVERRIDE}.
369         */
370        public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = (byte)LEFT_TO_RIGHT_OVERRIDE;
371
372        /**
373         * Directional type AL
374         */
375        public static final int RIGHT_TO_LEFT_ARABIC       = 13;
376
377        /**
378         * Equivalent to {@link
379         * java.lang.Character#DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC}.
380         * Synonym of {@link #RIGHT_TO_LEFT_ARABIC}.
381         */
382        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = (byte)RIGHT_TO_LEFT_ARABIC;
383
384        /**
385         * Directional type RLE
386         */
387        public static final int RIGHT_TO_LEFT_EMBEDDING    = 14;
388
389        /**
390         * Equivalent to {@link
391         * java.lang.Character#DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING}.
392         * Synonym of {@link #RIGHT_TO_LEFT_EMBEDDING}.
393         */
394        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = (byte)RIGHT_TO_LEFT_EMBEDDING;
395
396        /**
397         * Directional type RLO
398         */
399        public static final int RIGHT_TO_LEFT_OVERRIDE     = 15;
400
401        /**
402         * Equivalent to {@link
403         * java.lang.Character#DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE}.
404         * Synonym of {@link #RIGHT_TO_LEFT_OVERRIDE}.
405         */
406        public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = (byte)RIGHT_TO_LEFT_OVERRIDE;
407
408        /**
409         * Directional type PDF
410         */
411        public static final int POP_DIRECTIONAL_FORMAT     = 16;
412
413        /**
414         * Equivalent to {@link
415         * java.lang.Character#DIRECTIONALITY_POP_DIRECTIONAL_FORMAT}.
416         * Synonym of {@link #POP_DIRECTIONAL_FORMAT}.
417         */
418        public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = (byte)POP_DIRECTIONAL_FORMAT;
419
420        /**
421         * Directional type NSM
422         */
423        public static final int DIR_NON_SPACING_MARK       = 17;
424
425        /**
426         * Equivalent to {@link
427         * java.lang.Character#DIRECTIONALITY_NONSPACING_MARK}.
428         * Synonym of {@link #DIR_NON_SPACING_MARK}.
429         */
430        public static final byte DIRECTIONALITY_NONSPACING_MARK = (byte)DIR_NON_SPACING_MARK;
431
432        /**
433         * Directional type BN
434         */
435        public static final int BOUNDARY_NEUTRAL           = 18;
436
437        /**
438         * Equivalent to {@link
439         * java.lang.Character#DIRECTIONALITY_BOUNDARY_NEUTRAL}.
440         * Synonym of {@link #BOUNDARY_NEUTRAL}.
441         */
442        public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = (byte)BOUNDARY_NEUTRAL;
443
444        /**
445         * Directional type FSI
446         */
447        public static final byte FIRST_STRONG_ISOLATE        = 19;
448
449        /**
450         * Directional type LRI
451         */
452        public static final byte LEFT_TO_RIGHT_ISOLATE       = 20;
453
454        /**
455         * Directional type RLI
456         */
457        public static final byte RIGHT_TO_LEFT_ISOLATE       = 21;
458
459        /**
460         * Directional type PDI
461         */
462        public static final byte POP_DIRECTIONAL_ISOLATE     = 22;
463
464        /**
465         * One more than the highest normal ECharacterDirection value.
466         * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.BIDI_CLASS).
467         *
468         * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
469         * @hide unsupported on Android
470         */
471        @Deprecated
472        public static final int CHAR_DIRECTION_COUNT       = 23;
473
474        /**
475         * Undefined bidirectional character type. Undefined <code>char</code>
476         * values have undefined directionality in the Unicode specification.
477         */
478        public static final byte DIRECTIONALITY_UNDEFINED = -1;
479    }
480}
481