xref: /aosp_15_r20/external/icu/libandroidicu/include/unicode/uscript.h (revision 0e209d3975ff4a8c132096b14b0e9364a753506e)
1*0e209d39SAndroid Build Coastguard Worker // © 2016 and later: Unicode, Inc. and others.
2*0e209d39SAndroid Build Coastguard Worker // License & terms of use: http://www.unicode.org/copyright.html
3*0e209d39SAndroid Build Coastguard Worker /*
4*0e209d39SAndroid Build Coastguard Worker  **********************************************************************
5*0e209d39SAndroid Build Coastguard Worker  *   Copyright (C) 1997-2016, International Business Machines
6*0e209d39SAndroid Build Coastguard Worker  *   Corporation and others.  All Rights Reserved.
7*0e209d39SAndroid Build Coastguard Worker  **********************************************************************
8*0e209d39SAndroid Build Coastguard Worker  *
9*0e209d39SAndroid Build Coastguard Worker  * File USCRIPT.H
10*0e209d39SAndroid Build Coastguard Worker  *
11*0e209d39SAndroid Build Coastguard Worker  * Modification History:
12*0e209d39SAndroid Build Coastguard Worker  *
13*0e209d39SAndroid Build Coastguard Worker  *   Date        Name        Description
14*0e209d39SAndroid Build Coastguard Worker  *   07/06/2001    Ram         Creation.
15*0e209d39SAndroid Build Coastguard Worker  ******************************************************************************
16*0e209d39SAndroid Build Coastguard Worker  */
17*0e209d39SAndroid Build Coastguard Worker 
18*0e209d39SAndroid Build Coastguard Worker #ifndef USCRIPT_H
19*0e209d39SAndroid Build Coastguard Worker #define USCRIPT_H
20*0e209d39SAndroid Build Coastguard Worker #include "unicode/utypes.h"
21*0e209d39SAndroid Build Coastguard Worker 
22*0e209d39SAndroid Build Coastguard Worker /**
23*0e209d39SAndroid Build Coastguard Worker  * \file
24*0e209d39SAndroid Build Coastguard Worker  * \brief C API: Unicode Script Information
25*0e209d39SAndroid Build Coastguard Worker  */
26*0e209d39SAndroid Build Coastguard Worker 
27*0e209d39SAndroid Build Coastguard Worker /**
28*0e209d39SAndroid Build Coastguard Worker  * Constants for ISO 15924 script codes.
29*0e209d39SAndroid Build Coastguard Worker  *
30*0e209d39SAndroid Build Coastguard Worker  * The current set of script code constants supports at least all scripts
31*0e209d39SAndroid Build Coastguard Worker  * that are encoded in the version of Unicode which ICU currently supports.
32*0e209d39SAndroid Build Coastguard Worker  * The names of the constants are usually derived from the
33*0e209d39SAndroid Build Coastguard Worker  * Unicode script property value aliases.
34*0e209d39SAndroid Build Coastguard Worker  * See UAX #24 Unicode Script Property (http://www.unicode.org/reports/tr24/)
35*0e209d39SAndroid Build Coastguard Worker  * and http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt .
36*0e209d39SAndroid Build Coastguard Worker  *
37*0e209d39SAndroid Build Coastguard Worker  * In addition, constants for many ISO 15924 script codes
38*0e209d39SAndroid Build Coastguard Worker  * are included, for use with language tags, CLDR data, and similar.
39*0e209d39SAndroid Build Coastguard Worker  * Some of those codes are not used in the Unicode Character Database (UCD).
40*0e209d39SAndroid Build Coastguard Worker  * For example, there are no characters that have a UCD script property value of
41*0e209d39SAndroid Build Coastguard Worker  * Hans or Hant. All Han ideographs have the Hani script property value in Unicode.
42*0e209d39SAndroid Build Coastguard Worker  *
43*0e209d39SAndroid Build Coastguard Worker  * Private-use codes Qaaa..Qabx are not included, except as used in the UCD or in CLDR.
44*0e209d39SAndroid Build Coastguard Worker  *
45*0e209d39SAndroid Build Coastguard Worker  * Starting with ICU 55, script codes are only added when their scripts
46*0e209d39SAndroid Build Coastguard Worker  * have been or will certainly be encoded in Unicode,
47*0e209d39SAndroid Build Coastguard Worker  * and have been assigned Unicode script property value aliases,
48*0e209d39SAndroid Build Coastguard Worker  * to ensure that their script names are stable and match the names of the constants.
49*0e209d39SAndroid Build Coastguard Worker  * Script codes like Latf and Aran that are not subject to separate encoding
50*0e209d39SAndroid Build Coastguard Worker  * may be added at any time.
51*0e209d39SAndroid Build Coastguard Worker  *
52*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 2.2
53*0e209d39SAndroid Build Coastguard Worker  */
54*0e209d39SAndroid Build Coastguard Worker typedef enum UScriptCode {
55*0e209d39SAndroid Build Coastguard Worker     /*
56*0e209d39SAndroid Build Coastguard Worker      * Note: UScriptCode constants and their ISO script code comments
57*0e209d39SAndroid Build Coastguard Worker      * are parsed by preparseucd.py.
58*0e209d39SAndroid Build Coastguard Worker      * It matches lines like
59*0e209d39SAndroid Build Coastguard Worker      *     USCRIPT_<Unicode Script value name> = <integer>,  / * <ISO script code> * /
60*0e209d39SAndroid Build Coastguard Worker      */
61*0e209d39SAndroid Build Coastguard Worker 
62*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
63*0e209d39SAndroid Build Coastguard Worker       USCRIPT_INVALID_CODE = -1,
64*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
65*0e209d39SAndroid Build Coastguard Worker       USCRIPT_COMMON       =  0,  /* Zyyy */
66*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
67*0e209d39SAndroid Build Coastguard Worker       USCRIPT_INHERITED    =  1,  /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */
68*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
69*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ARABIC       =  2,  /* Arab */
70*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
71*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ARMENIAN     =  3,  /* Armn */
72*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
73*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BENGALI      =  4,  /* Beng */
74*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
75*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BOPOMOFO     =  5,  /* Bopo */
76*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
77*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CHEROKEE     =  6,  /* Cher */
78*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
79*0e209d39SAndroid Build Coastguard Worker       USCRIPT_COPTIC       =  7,  /* Copt */
80*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
81*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CYRILLIC     =  8,  /* Cyrl */
82*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
83*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DESERET      =  9,  /* Dsrt */
84*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
85*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DEVANAGARI   = 10,  /* Deva */
86*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
87*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ETHIOPIC     = 11,  /* Ethi */
88*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
89*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GEORGIAN     = 12,  /* Geor */
90*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
91*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GOTHIC       = 13,  /* Goth */
92*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
93*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GREEK        = 14,  /* Grek */
94*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
95*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GUJARATI     = 15,  /* Gujr */
96*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
97*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GURMUKHI     = 16,  /* Guru */
98*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
99*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HAN          = 17,  /* Hani */
100*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
101*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HANGUL       = 18,  /* Hang */
102*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
103*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HEBREW       = 19,  /* Hebr */
104*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
105*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HIRAGANA     = 20,  /* Hira */
106*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
107*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KANNADA      = 21,  /* Knda */
108*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
109*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KATAKANA     = 22,  /* Kana */
110*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
111*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHMER        = 23,  /* Khmr */
112*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
113*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LAO          = 24,  /* Laoo */
114*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
115*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LATIN        = 25,  /* Latn */
116*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
117*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MALAYALAM    = 26,  /* Mlym */
118*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
119*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MONGOLIAN    = 27,  /* Mong */
120*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
121*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MYANMAR      = 28,  /* Mymr */
122*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
123*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OGHAM        = 29,  /* Ogam */
124*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
125*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_ITALIC   = 30,  /* Ital */
126*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
127*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ORIYA        = 31,  /* Orya */
128*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
129*0e209d39SAndroid Build Coastguard Worker       USCRIPT_RUNIC        = 32,  /* Runr */
130*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
131*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SINHALA      = 33,  /* Sinh */
132*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
133*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SYRIAC       = 34,  /* Syrc */
134*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
135*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAMIL        = 35,  /* Taml */
136*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
137*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TELUGU       = 36,  /* Telu */
138*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
139*0e209d39SAndroid Build Coastguard Worker       USCRIPT_THAANA       = 37,  /* Thaa */
140*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
141*0e209d39SAndroid Build Coastguard Worker       USCRIPT_THAI         = 38,  /* Thai */
142*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
143*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TIBETAN      = 39,  /* Tibt */
144*0e209d39SAndroid Build Coastguard Worker       /** Canadian_Aboriginal script. @stable ICU 2.6 */
145*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CANADIAN_ABORIGINAL = 40,  /* Cans */
146*0e209d39SAndroid Build Coastguard Worker       /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */
147*0e209d39SAndroid Build Coastguard Worker       USCRIPT_UCAS         = USCRIPT_CANADIAN_ABORIGINAL,
148*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
149*0e209d39SAndroid Build Coastguard Worker       USCRIPT_YI           = 41,  /* Yiii */
150*0e209d39SAndroid Build Coastguard Worker       /* New scripts in Unicode 3.2 */
151*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
152*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAGALOG      = 42,  /* Tglg */
153*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
154*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HANUNOO      = 43,  /* Hano */
155*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
156*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BUHID        = 44,  /* Buhd */
157*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.2 */
158*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAGBANWA     = 45,  /* Tagb */
159*0e209d39SAndroid Build Coastguard Worker 
160*0e209d39SAndroid Build Coastguard Worker       /* New scripts in Unicode 4 */
161*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
162*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BRAILLE      = 46,  /* Brai */
163*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
164*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CYPRIOT      = 47,  /* Cprt */
165*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
166*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LIMBU        = 48,  /* Limb */
167*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
168*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LINEAR_B     = 49,  /* Linb */
169*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
170*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OSMANYA      = 50,  /* Osma */
171*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
172*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SHAVIAN      = 51,  /* Shaw */
173*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
174*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAI_LE       = 52,  /* Tale */
175*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 2.6 */
176*0e209d39SAndroid Build Coastguard Worker       USCRIPT_UGARITIC     = 53,  /* Ugar */
177*0e209d39SAndroid Build Coastguard Worker 
178*0e209d39SAndroid Build Coastguard Worker       /** New script code in Unicode 4.0.1 @stable ICU 3.0 */
179*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KATAKANA_OR_HIRAGANA = 54,/*Hrkt */
180*0e209d39SAndroid Build Coastguard Worker 
181*0e209d39SAndroid Build Coastguard Worker       /* New scripts in Unicode 4.1 */
182*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
183*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BUGINESE      = 55, /* Bugi */
184*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
185*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GLAGOLITIC    = 56, /* Glag */
186*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
187*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHAROSHTHI    = 57, /* Khar */
188*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
189*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SYLOTI_NAGRI  = 58, /* Sylo */
190*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
191*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NEW_TAI_LUE   = 59, /* Talu */
192*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
193*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TIFINAGH      = 60, /* Tfng */
194*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.4 */
195*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_PERSIAN   = 61, /* Xpeo */
196*0e209d39SAndroid Build Coastguard Worker 
197*0e209d39SAndroid Build Coastguard Worker       /* New script codes from Unicode and ISO 15924 */
198*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
199*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BALINESE                      = 62, /* Bali */
200*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
201*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BATAK                         = 63, /* Batk */
202*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
203*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BLISSYMBOLS                   = 64, /* Blis */
204*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
205*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BRAHMI                        = 65, /* Brah */
206*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
207*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CHAM                          = 66, /* Cham */
208*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
209*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CIRTH                         = 67, /* Cirt */
210*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
211*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC  = 68, /* Cyrs */
212*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
213*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DEMOTIC_EGYPTIAN              = 69, /* Egyd */
214*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
215*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HIERATIC_EGYPTIAN             = 70, /* Egyh */
216*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
217*0e209d39SAndroid Build Coastguard Worker       USCRIPT_EGYPTIAN_HIEROGLYPHS          = 71, /* Egyp */
218*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
219*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHUTSURI                      = 72, /* Geok */
220*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
221*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SIMPLIFIED_HAN                = 73, /* Hans */
222*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
223*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TRADITIONAL_HAN               = 74, /* Hant */
224*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
225*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PAHAWH_HMONG                  = 75, /* Hmng */
226*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
227*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_HUNGARIAN                 = 76, /* Hung */
228*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
229*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HARAPPAN_INDUS                = 77, /* Inds */
230*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
231*0e209d39SAndroid Build Coastguard Worker       USCRIPT_JAVANESE                      = 78, /* Java */
232*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
233*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KAYAH_LI                      = 79, /* Kali */
234*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
235*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LATIN_FRAKTUR                 = 80, /* Latf */
236*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
237*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LATIN_GAELIC                  = 81, /* Latg */
238*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
239*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LEPCHA                        = 82, /* Lepc */
240*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
241*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LINEAR_A                      = 83, /* Lina */
242*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
243*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MANDAIC                       = 84, /* Mand */
244*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
245*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MANDAEAN                      = USCRIPT_MANDAIC,
246*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
247*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MAYAN_HIEROGLYPHS             = 85, /* Maya */
248*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
249*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MEROITIC_HIEROGLYPHS          = 86, /* Mero */
250*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
251*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MEROITIC                      = USCRIPT_MEROITIC_HIEROGLYPHS,
252*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
253*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NKO                           = 87, /* Nkoo */
254*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
255*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ORKHON                        = 88, /* Orkh */
256*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
257*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_PERMIC                    = 89, /* Perm */
258*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
259*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PHAGS_PA                      = 90, /* Phag */
260*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
261*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PHOENICIAN                    = 91, /* Phnx */
262*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 52 */
263*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MIAO                          = 92, /* Plrd */
264*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
265*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PHONETIC_POLLARD              = USCRIPT_MIAO,
266*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
267*0e209d39SAndroid Build Coastguard Worker       USCRIPT_RONGORONGO                    = 93, /* Roro */
268*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
269*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SARATI                        = 94, /* Sara */
270*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
271*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ESTRANGELO_SYRIAC             = 95, /* Syre */
272*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
273*0e209d39SAndroid Build Coastguard Worker       USCRIPT_WESTERN_SYRIAC                = 96, /* Syrj */
274*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
275*0e209d39SAndroid Build Coastguard Worker       USCRIPT_EASTERN_SYRIAC                = 97, /* Syrn */
276*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
277*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TENGWAR                       = 98, /* Teng */
278*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
279*0e209d39SAndroid Build Coastguard Worker       USCRIPT_VAI                           = 99, /* Vaii */
280*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
281*0e209d39SAndroid Build Coastguard Worker       USCRIPT_VISIBLE_SPEECH                = 100,/* Visp */
282*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
283*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CUNEIFORM                     = 101,/* Xsux */
284*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
285*0e209d39SAndroid Build Coastguard Worker       USCRIPT_UNWRITTEN_LANGUAGES           = 102,/* Zxxx */
286*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.6 */
287*0e209d39SAndroid Build Coastguard Worker       USCRIPT_UNKNOWN                       = 103,/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */
288*0e209d39SAndroid Build Coastguard Worker 
289*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
290*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CARIAN                        = 104,/* Cari */
291*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
292*0e209d39SAndroid Build Coastguard Worker       USCRIPT_JAPANESE                      = 105,/* Jpan */
293*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
294*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LANNA                         = 106,/* Lana */
295*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
296*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LYCIAN                        = 107,/* Lyci */
297*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
298*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LYDIAN                        = 108,/* Lydi */
299*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
300*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OL_CHIKI                      = 109,/* Olck */
301*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
302*0e209d39SAndroid Build Coastguard Worker       USCRIPT_REJANG                        = 110,/* Rjng */
303*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
304*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SAURASHTRA                    = 111,/* Saur */
305*0e209d39SAndroid Build Coastguard Worker       /** Sutton SignWriting @stable ICU 3.8 */
306*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SIGN_WRITING                  = 112,/* Sgnw */
307*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
308*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SUNDANESE                     = 113,/* Sund */
309*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
310*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MOON                          = 114,/* Moon */
311*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 3.8 */
312*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MEITEI_MAYEK                  = 115,/* Mtei */
313*0e209d39SAndroid Build Coastguard Worker 
314*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
315*0e209d39SAndroid Build Coastguard Worker       USCRIPT_IMPERIAL_ARAMAIC              = 116,/* Armi */
316*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
317*0e209d39SAndroid Build Coastguard Worker       USCRIPT_AVESTAN                       = 117,/* Avst */
318*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
319*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CHAKMA                        = 118,/* Cakm */
320*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
321*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KOREAN                        = 119,/* Kore */
322*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
323*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KAITHI                        = 120,/* Kthi */
324*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
325*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MANICHAEAN                    = 121,/* Mani */
326*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
327*0e209d39SAndroid Build Coastguard Worker       USCRIPT_INSCRIPTIONAL_PAHLAVI         = 122,/* Phli */
328*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
329*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PSALTER_PAHLAVI               = 123,/* Phlp */
330*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
331*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BOOK_PAHLAVI                  = 124,/* Phlv */
332*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
333*0e209d39SAndroid Build Coastguard Worker       USCRIPT_INSCRIPTIONAL_PARTHIAN        = 125,/* Prti */
334*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
335*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SAMARITAN                     = 126,/* Samr */
336*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
337*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAI_VIET                      = 127,/* Tavt */
338*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
339*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MATHEMATICAL_NOTATION         = 128,/* Zmth */
340*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.0 */
341*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SYMBOLS                       = 129,/* Zsym */
342*0e209d39SAndroid Build Coastguard Worker 
343*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.4 */
344*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BAMUM                         = 130,/* Bamu */
345*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.4 */
346*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LISU                          = 131,/* Lisu */
347*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.4 */
348*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NAKHI_GEBA                    = 132,/* Nkgb */
349*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.4 */
350*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_SOUTH_ARABIAN             = 133,/* Sarb */
351*0e209d39SAndroid Build Coastguard Worker 
352*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
353*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BASSA_VAH                     = 134,/* Bass */
354*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
355*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DUPLOYAN                      = 135,/* Dupl */
356*0e209d39SAndroid Build Coastguard Worker #ifndef U_HIDE_DEPRECATED_API
357*0e209d39SAndroid Build Coastguard Worker       /** @deprecated ICU 54 Typo, use USCRIPT_DUPLOYAN */
358*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DUPLOYAN_SHORTAND             = USCRIPT_DUPLOYAN,
359*0e209d39SAndroid Build Coastguard Worker #endif  /* U_HIDE_DEPRECATED_API */
360*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
361*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ELBASAN                       = 136,/* Elba */
362*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
363*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GRANTHA                       = 137,/* Gran */
364*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
365*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KPELLE                        = 138,/* Kpel */
366*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
367*0e209d39SAndroid Build Coastguard Worker       USCRIPT_LOMA                          = 139,/* Loma */
368*0e209d39SAndroid Build Coastguard Worker       /** Mende Kikakui @stable ICU 4.6 */
369*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MENDE                         = 140,/* Mend */
370*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
371*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MEROITIC_CURSIVE              = 141,/* Merc */
372*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
373*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_NORTH_ARABIAN             = 142,/* Narb */
374*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
375*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NABATAEAN                     = 143,/* Nbat */
376*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
377*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PALMYRENE                     = 144,/* Palm */
378*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
379*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHUDAWADI                     = 145,/* Sind */
380*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
381*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SINDHI                        = USCRIPT_KHUDAWADI,
382*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.6 */
383*0e209d39SAndroid Build Coastguard Worker       USCRIPT_WARANG_CITI                   = 146,/* Wara */
384*0e209d39SAndroid Build Coastguard Worker 
385*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
386*0e209d39SAndroid Build Coastguard Worker       USCRIPT_AFAKA                         = 147,/* Afak */
387*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
388*0e209d39SAndroid Build Coastguard Worker       USCRIPT_JURCHEN                       = 148,/* Jurc */
389*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
390*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MRO                           = 149,/* Mroo */
391*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
392*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NUSHU                         = 150,/* Nshu */
393*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
394*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SHARADA                       = 151,/* Shrd */
395*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
396*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SORA_SOMPENG                  = 152,/* Sora */
397*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
398*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TAKRI                         = 153,/* Takr */
399*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
400*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TANGUT                        = 154,/* Tang */
401*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 4.8 */
402*0e209d39SAndroid Build Coastguard Worker       USCRIPT_WOLEAI                        = 155,/* Wole */
403*0e209d39SAndroid Build Coastguard Worker 
404*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 49 */
405*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ANATOLIAN_HIEROGLYPHS         = 156,/* Hluw */
406*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 49 */
407*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHOJKI                        = 157,/* Khoj */
408*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 49 */
409*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TIRHUTA                       = 158,/* Tirh */
410*0e209d39SAndroid Build Coastguard Worker 
411*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 52 */
412*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CAUCASIAN_ALBANIAN            = 159,/* Aghb */
413*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 52 */
414*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MAHAJANI                      = 160,/* Mahj */
415*0e209d39SAndroid Build Coastguard Worker 
416*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
417*0e209d39SAndroid Build Coastguard Worker       USCRIPT_AHOM                          = 161,/* Ahom */
418*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
419*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HATRAN                        = 162,/* Hatr */
420*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
421*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MODI                          = 163,/* Modi */
422*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
423*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MULTANI                       = 164,/* Mult */
424*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
425*0e209d39SAndroid Build Coastguard Worker       USCRIPT_PAU_CIN_HAU                   = 165,/* Pauc */
426*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 54 */
427*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SIDDHAM                       = 166,/* Sidd */
428*0e209d39SAndroid Build Coastguard Worker 
429*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
430*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ADLAM                         = 167,/* Adlm */
431*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
432*0e209d39SAndroid Build Coastguard Worker       USCRIPT_BHAIKSUKI                     = 168,/* Bhks */
433*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
434*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MARCHEN                       = 169,/* Marc */
435*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
436*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NEWA                          = 170,/* Newa */
437*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
438*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OSAGE                         = 171,/* Osge */
439*0e209d39SAndroid Build Coastguard Worker 
440*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
441*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HAN_WITH_BOPOMOFO             = 172,/* Hanb */
442*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
443*0e209d39SAndroid Build Coastguard Worker       USCRIPT_JAMO                          = 173,/* Jamo */
444*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 58 */
445*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SYMBOLS_EMOJI                 = 174,/* Zsye */
446*0e209d39SAndroid Build Coastguard Worker 
447*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 60 */
448*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MASARAM_GONDI                 = 175,/* Gonm */
449*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 60 */
450*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SOYOMBO                       = 176,/* Soyo */
451*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 60 */
452*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ZANABAZAR_SQUARE              = 177,/* Zanb */
453*0e209d39SAndroid Build Coastguard Worker 
454*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
455*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DOGRA                         = 178,/* Dogr */
456*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
457*0e209d39SAndroid Build Coastguard Worker       USCRIPT_GUNJALA_GONDI                 = 179,/* Gong */
458*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
459*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MAKASAR                       = 180,/* Maka */
460*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
461*0e209d39SAndroid Build Coastguard Worker       USCRIPT_MEDEFAIDRIN                   = 181,/* Medf */
462*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
463*0e209d39SAndroid Build Coastguard Worker       USCRIPT_HANIFI_ROHINGYA               = 182,/* Rohg */
464*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
465*0e209d39SAndroid Build Coastguard Worker       USCRIPT_SOGDIAN                       = 183,/* Sogd */
466*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 62 */
467*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_SOGDIAN                   = 184,/* Sogo */
468*0e209d39SAndroid Build Coastguard Worker 
469*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 64 */
470*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ELYMAIC                       = 185,/* Elym */
471*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 64 */
472*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NYIAKENG_PUACHUE_HMONG        = 186,/* Hmnp */
473*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 64 */
474*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NANDINAGARI                   = 187,/* Nand */
475*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 64 */
476*0e209d39SAndroid Build Coastguard Worker       USCRIPT_WANCHO                        = 188,/* Wcho */
477*0e209d39SAndroid Build Coastguard Worker 
478*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 66 */
479*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CHORASMIAN                    = 189,/* Chrs */
480*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 66 */
481*0e209d39SAndroid Build Coastguard Worker       USCRIPT_DIVES_AKURU                   = 190,/* Diak */
482*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 66 */
483*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KHITAN_SMALL_SCRIPT           = 191,/* Kits */
484*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 66 */
485*0e209d39SAndroid Build Coastguard Worker       USCRIPT_YEZIDI                        = 192,/* Yezi */
486*0e209d39SAndroid Build Coastguard Worker 
487*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 70 */
488*0e209d39SAndroid Build Coastguard Worker       USCRIPT_CYPRO_MINOAN                  = 193,/* Cpmn */
489*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 70 */
490*0e209d39SAndroid Build Coastguard Worker       USCRIPT_OLD_UYGHUR                    = 194,/* Ougr */
491*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 70 */
492*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TANGSA                        = 195,/* Tnsa */
493*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 70 */
494*0e209d39SAndroid Build Coastguard Worker       USCRIPT_TOTO                          = 196,/* Toto */
495*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 70 */
496*0e209d39SAndroid Build Coastguard Worker       USCRIPT_VITHKUQI                      = 197,/* Vith */
497*0e209d39SAndroid Build Coastguard Worker 
498*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 72 */
499*0e209d39SAndroid Build Coastguard Worker       USCRIPT_KAWI                          = 198,/* Kawi */
500*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 72 */
501*0e209d39SAndroid Build Coastguard Worker       USCRIPT_NAG_MUNDARI                   = 199,/* Nagm */
502*0e209d39SAndroid Build Coastguard Worker 
503*0e209d39SAndroid Build Coastguard Worker       /** @stable ICU 75 */
504*0e209d39SAndroid Build Coastguard Worker       USCRIPT_ARABIC_NASTALIQ               = 200, /* Aran */
505*0e209d39SAndroid Build Coastguard Worker 
506*0e209d39SAndroid Build Coastguard Worker #ifndef U_HIDE_DEPRECATED_API
507*0e209d39SAndroid Build Coastguard Worker     /**
508*0e209d39SAndroid Build Coastguard Worker      * One more than the highest normal UScriptCode value.
509*0e209d39SAndroid Build Coastguard Worker      * The highest value is available via u_getIntPropertyMaxValue(UCHAR_SCRIPT).
510*0e209d39SAndroid Build Coastguard Worker      *
511*0e209d39SAndroid Build Coastguard Worker      * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
512*0e209d39SAndroid Build Coastguard Worker      */
513*0e209d39SAndroid Build Coastguard Worker     USCRIPT_CODE_LIMIT    = 201
514*0e209d39SAndroid Build Coastguard Worker #endif  // U_HIDE_DEPRECATED_API
515*0e209d39SAndroid Build Coastguard Worker } UScriptCode;
516*0e209d39SAndroid Build Coastguard Worker 
517*0e209d39SAndroid Build Coastguard Worker /**
518*0e209d39SAndroid Build Coastguard Worker  * Gets the script codes associated with the given locale or ISO 15924 abbreviation or name.
519*0e209d39SAndroid Build Coastguard Worker  * Fills in USCRIPT_MALAYALAM given "Malayam" OR "Mlym".
520*0e209d39SAndroid Build Coastguard Worker  * Fills in USCRIPT_LATIN given "en" OR "en_US"
521*0e209d39SAndroid Build Coastguard Worker  * If the required capacity is greater than the capacity of the destination buffer,
522*0e209d39SAndroid Build Coastguard Worker  * then the error code is set to U_BUFFER_OVERFLOW_ERROR and the required capacity is returned.
523*0e209d39SAndroid Build Coastguard Worker  *
524*0e209d39SAndroid Build Coastguard Worker  * <p>Note: To search by short or long script alias only, use
525*0e209d39SAndroid Build Coastguard Worker  * u_getPropertyValueEnum(UCHAR_SCRIPT, alias) instead.  That does
526*0e209d39SAndroid Build Coastguard Worker  * a fast lookup with no access of the locale data.
527*0e209d39SAndroid Build Coastguard Worker  *
528*0e209d39SAndroid Build Coastguard Worker  * @param nameOrAbbrOrLocale name of the script, as given in
529*0e209d39SAndroid Build Coastguard Worker  * PropertyValueAliases.txt, or ISO 15924 code or locale
530*0e209d39SAndroid Build Coastguard Worker  * @param fillIn the UScriptCode buffer to fill in the script code
531*0e209d39SAndroid Build Coastguard Worker  * @param capacity the capacity (size) of UScriptCode buffer passed in.
532*0e209d39SAndroid Build Coastguard Worker  * @param err the error status code.
533*0e209d39SAndroid Build Coastguard Worker  * @return The number of script codes filled in the buffer passed in
534*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 2.4
535*0e209d39SAndroid Build Coastguard Worker  */
536*0e209d39SAndroid Build Coastguard Worker U_CAPI int32_t  U_EXPORT2
537*0e209d39SAndroid Build Coastguard Worker uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
538*0e209d39SAndroid Build Coastguard Worker 
539*0e209d39SAndroid Build Coastguard Worker /**
540*0e209d39SAndroid Build Coastguard Worker  * Returns the long Unicode script name, if there is one.
541*0e209d39SAndroid Build Coastguard Worker  * Otherwise returns the 4-letter ISO 15924 script code.
542*0e209d39SAndroid Build Coastguard Worker  * Returns "Malayam" given USCRIPT_MALAYALAM.
543*0e209d39SAndroid Build Coastguard Worker  *
544*0e209d39SAndroid Build Coastguard Worker  * @param scriptCode UScriptCode enum
545*0e209d39SAndroid Build Coastguard Worker  * @return long script name as given in PropertyValueAliases.txt, or the 4-letter code,
546*0e209d39SAndroid Build Coastguard Worker  * or NULL if scriptCode is invalid
547*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 2.4
548*0e209d39SAndroid Build Coastguard Worker  */
549*0e209d39SAndroid Build Coastguard Worker U_CAPI const char*  U_EXPORT2
550*0e209d39SAndroid Build Coastguard Worker uscript_getName(UScriptCode scriptCode);
551*0e209d39SAndroid Build Coastguard Worker 
552*0e209d39SAndroid Build Coastguard Worker /**
553*0e209d39SAndroid Build Coastguard Worker  * Returns the 4-letter ISO 15924 script code,
554*0e209d39SAndroid Build Coastguard Worker  * which is the same as the short Unicode script name if Unicode has names for the script.
555*0e209d39SAndroid Build Coastguard Worker  * Returns "Mlym" given USCRIPT_MALAYALAM.
556*0e209d39SAndroid Build Coastguard Worker  *
557*0e209d39SAndroid Build Coastguard Worker  * @param scriptCode UScriptCode enum
558*0e209d39SAndroid Build Coastguard Worker  * @return short script name (4-letter code), or NULL if scriptCode is invalid
559*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 2.4
560*0e209d39SAndroid Build Coastguard Worker  */
561*0e209d39SAndroid Build Coastguard Worker U_CAPI const char*  U_EXPORT2
562*0e209d39SAndroid Build Coastguard Worker uscript_getShortName(UScriptCode scriptCode);
563*0e209d39SAndroid Build Coastguard Worker 
564*0e209d39SAndroid Build Coastguard Worker /**
565*0e209d39SAndroid Build Coastguard Worker  * Gets the script code associated with the given codepoint.
566*0e209d39SAndroid Build Coastguard Worker  * Returns USCRIPT_MALAYALAM given 0x0D02
567*0e209d39SAndroid Build Coastguard Worker  * @param codepoint UChar32 codepoint
568*0e209d39SAndroid Build Coastguard Worker  * @param err the error status code.
569*0e209d39SAndroid Build Coastguard Worker  * @return The UScriptCode, or 0 if codepoint is invalid
570*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 2.4
571*0e209d39SAndroid Build Coastguard Worker  */
572*0e209d39SAndroid Build Coastguard Worker U_CAPI UScriptCode  U_EXPORT2
573*0e209d39SAndroid Build Coastguard Worker uscript_getScript(UChar32 codepoint, UErrorCode *err);
574*0e209d39SAndroid Build Coastguard Worker 
575*0e209d39SAndroid Build Coastguard Worker /**
576*0e209d39SAndroid Build Coastguard Worker  * Do the Script_Extensions of code point c contain script sc?
577*0e209d39SAndroid Build Coastguard Worker  * If c does not have explicit Script_Extensions, then this tests whether
578*0e209d39SAndroid Build Coastguard Worker  * c has the Script property value sc.
579*0e209d39SAndroid Build Coastguard Worker  *
580*0e209d39SAndroid Build Coastguard Worker  * Some characters are commonly used in multiple scripts.
581*0e209d39SAndroid Build Coastguard Worker  * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
582*0e209d39SAndroid Build Coastguard Worker  * @param c code point
583*0e209d39SAndroid Build Coastguard Worker  * @param sc script code
584*0e209d39SAndroid Build Coastguard Worker  * @return true if sc is in Script_Extensions(c)
585*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 49
586*0e209d39SAndroid Build Coastguard Worker  */
587*0e209d39SAndroid Build Coastguard Worker U_CAPI UBool U_EXPORT2
588*0e209d39SAndroid Build Coastguard Worker uscript_hasScript(UChar32 c, UScriptCode sc);
589*0e209d39SAndroid Build Coastguard Worker 
590*0e209d39SAndroid Build Coastguard Worker /**
591*0e209d39SAndroid Build Coastguard Worker  * Writes code point c's Script_Extensions as a list of UScriptCode values
592*0e209d39SAndroid Build Coastguard Worker  * to the output scripts array and returns the number of script codes.
593*0e209d39SAndroid Build Coastguard Worker  * - If c does have Script_Extensions, then the Script property value
594*0e209d39SAndroid Build Coastguard Worker  *   (normally Common or Inherited) is not included.
595*0e209d39SAndroid Build Coastguard Worker  * - If c does not have Script_Extensions, then the one Script code is written to the output array.
596*0e209d39SAndroid Build Coastguard Worker  * - If c is not a valid code point, then the one USCRIPT_UNKNOWN code is written.
597*0e209d39SAndroid Build Coastguard Worker  * In other words, if the return value is 1,
598*0e209d39SAndroid Build Coastguard Worker  * then the output array contains exactly c's single Script code.
599*0e209d39SAndroid Build Coastguard Worker  * If the return value is n>=2, then the output array contains c's n Script_Extensions script codes.
600*0e209d39SAndroid Build Coastguard Worker  *
601*0e209d39SAndroid Build Coastguard Worker  * Some characters are commonly used in multiple scripts.
602*0e209d39SAndroid Build Coastguard Worker  * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
603*0e209d39SAndroid Build Coastguard Worker  *
604*0e209d39SAndroid Build Coastguard Worker  * If there are more than capacity script codes to be written, then
605*0e209d39SAndroid Build Coastguard Worker  * U_BUFFER_OVERFLOW_ERROR is set and the number of Script_Extensions is returned.
606*0e209d39SAndroid Build Coastguard Worker  * (Usual ICU buffer handling behavior.)
607*0e209d39SAndroid Build Coastguard Worker  *
608*0e209d39SAndroid Build Coastguard Worker  * @param c code point
609*0e209d39SAndroid Build Coastguard Worker  * @param scripts output script code array
610*0e209d39SAndroid Build Coastguard Worker  * @param capacity capacity of the scripts array
611*0e209d39SAndroid Build Coastguard Worker  * @param errorCode Standard ICU error code. Its input value must
612*0e209d39SAndroid Build Coastguard Worker  *                  pass the U_SUCCESS() test, or else the function returns
613*0e209d39SAndroid Build Coastguard Worker  *                  immediately. Check for U_FAILURE() on output or use with
614*0e209d39SAndroid Build Coastguard Worker  *                  function chaining. (See User Guide for details.)
615*0e209d39SAndroid Build Coastguard Worker  * @return number of script codes in c's Script_Extensions, or 1 for the single Script value,
616*0e209d39SAndroid Build Coastguard Worker  *         written to scripts unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity
617*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 49
618*0e209d39SAndroid Build Coastguard Worker  */
619*0e209d39SAndroid Build Coastguard Worker U_CAPI int32_t U_EXPORT2
620*0e209d39SAndroid Build Coastguard Worker uscript_getScriptExtensions(UChar32 c,
621*0e209d39SAndroid Build Coastguard Worker                             UScriptCode *scripts, int32_t capacity,
622*0e209d39SAndroid Build Coastguard Worker                             UErrorCode *errorCode);
623*0e209d39SAndroid Build Coastguard Worker 
624*0e209d39SAndroid Build Coastguard Worker /**
625*0e209d39SAndroid Build Coastguard Worker  * Script usage constants.
626*0e209d39SAndroid Build Coastguard Worker  * See UAX #31 Unicode Identifier and Pattern Syntax.
627*0e209d39SAndroid Build Coastguard Worker  * http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers
628*0e209d39SAndroid Build Coastguard Worker  *
629*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
630*0e209d39SAndroid Build Coastguard Worker  */
631*0e209d39SAndroid Build Coastguard Worker typedef enum UScriptUsage {
632*0e209d39SAndroid Build Coastguard Worker     /** Not encoded in Unicode. @stable ICU 51 */
633*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_NOT_ENCODED,
634*0e209d39SAndroid Build Coastguard Worker     /** Unknown script usage. @stable ICU 51 */
635*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_UNKNOWN,
636*0e209d39SAndroid Build Coastguard Worker     /** Candidate for Exclusion from Identifiers. @stable ICU 51 */
637*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_EXCLUDED,
638*0e209d39SAndroid Build Coastguard Worker     /** Limited Use script. @stable ICU 51 */
639*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_LIMITED_USE,
640*0e209d39SAndroid Build Coastguard Worker     /** Aspirational Use script. @stable ICU 51 */
641*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_ASPIRATIONAL,
642*0e209d39SAndroid Build Coastguard Worker     /** Recommended script. @stable ICU 51 */
643*0e209d39SAndroid Build Coastguard Worker     USCRIPT_USAGE_RECOMMENDED
644*0e209d39SAndroid Build Coastguard Worker } UScriptUsage;
645*0e209d39SAndroid Build Coastguard Worker 
646*0e209d39SAndroid Build Coastguard Worker /**
647*0e209d39SAndroid Build Coastguard Worker  * Writes the script sample character string.
648*0e209d39SAndroid Build Coastguard Worker  * This string normally consists of one code point but might be longer.
649*0e209d39SAndroid Build Coastguard Worker  * The string is empty if the script is not encoded.
650*0e209d39SAndroid Build Coastguard Worker  *
651*0e209d39SAndroid Build Coastguard Worker  * @param script script code
652*0e209d39SAndroid Build Coastguard Worker  * @param dest output string array
653*0e209d39SAndroid Build Coastguard Worker  * @param capacity number of UChars in the dest array
654*0e209d39SAndroid Build Coastguard Worker  * @param pErrorCode standard ICU in/out error code, must pass U_SUCCESS() on input
655*0e209d39SAndroid Build Coastguard Worker  * @return the string length, even if U_BUFFER_OVERFLOW_ERROR
656*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
657*0e209d39SAndroid Build Coastguard Worker  */
658*0e209d39SAndroid Build Coastguard Worker U_CAPI int32_t U_EXPORT2
659*0e209d39SAndroid Build Coastguard Worker uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode);
660*0e209d39SAndroid Build Coastguard Worker 
661*0e209d39SAndroid Build Coastguard Worker #if U_SHOW_CPLUSPLUS_API
662*0e209d39SAndroid Build Coastguard Worker 
663*0e209d39SAndroid Build Coastguard Worker U_NAMESPACE_BEGIN
664*0e209d39SAndroid Build Coastguard Worker class UnicodeString;
665*0e209d39SAndroid Build Coastguard Worker U_NAMESPACE_END
666*0e209d39SAndroid Build Coastguard Worker 
667*0e209d39SAndroid Build Coastguard Worker /**
668*0e209d39SAndroid Build Coastguard Worker  * Returns the script sample character string.
669*0e209d39SAndroid Build Coastguard Worker  * This string normally consists of one code point but might be longer.
670*0e209d39SAndroid Build Coastguard Worker  * The string is empty if the script is not encoded.
671*0e209d39SAndroid Build Coastguard Worker  *
672*0e209d39SAndroid Build Coastguard Worker  * @param script script code
673*0e209d39SAndroid Build Coastguard Worker  * @return the sample character string
674*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
675*0e209d39SAndroid Build Coastguard Worker  */
676*0e209d39SAndroid Build Coastguard Worker U_COMMON_API icu::UnicodeString U_EXPORT2
677*0e209d39SAndroid Build Coastguard Worker uscript_getSampleUnicodeString(UScriptCode script);
678*0e209d39SAndroid Build Coastguard Worker 
679*0e209d39SAndroid Build Coastguard Worker #endif
680*0e209d39SAndroid Build Coastguard Worker 
681*0e209d39SAndroid Build Coastguard Worker /**
682*0e209d39SAndroid Build Coastguard Worker  * Returns the script usage according to UAX #31 Unicode Identifier and Pattern Syntax.
683*0e209d39SAndroid Build Coastguard Worker  * Returns USCRIPT_USAGE_NOT_ENCODED if the script is not encoded in Unicode.
684*0e209d39SAndroid Build Coastguard Worker  *
685*0e209d39SAndroid Build Coastguard Worker  * @param script script code
686*0e209d39SAndroid Build Coastguard Worker  * @return script usage
687*0e209d39SAndroid Build Coastguard Worker  * @see UScriptUsage
688*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
689*0e209d39SAndroid Build Coastguard Worker  */
690*0e209d39SAndroid Build Coastguard Worker U_CAPI UScriptUsage U_EXPORT2
691*0e209d39SAndroid Build Coastguard Worker uscript_getUsage(UScriptCode script);
692*0e209d39SAndroid Build Coastguard Worker 
693*0e209d39SAndroid Build Coastguard Worker /**
694*0e209d39SAndroid Build Coastguard Worker  * Returns true if the script is written right-to-left.
695*0e209d39SAndroid Build Coastguard Worker  * For example, Arab and Hebr.
696*0e209d39SAndroid Build Coastguard Worker  *
697*0e209d39SAndroid Build Coastguard Worker  * @param script script code
698*0e209d39SAndroid Build Coastguard Worker  * @return true if the script is right-to-left
699*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
700*0e209d39SAndroid Build Coastguard Worker  */
701*0e209d39SAndroid Build Coastguard Worker U_CAPI UBool U_EXPORT2
702*0e209d39SAndroid Build Coastguard Worker uscript_isRightToLeft(UScriptCode script);
703*0e209d39SAndroid Build Coastguard Worker 
704*0e209d39SAndroid Build Coastguard Worker /**
705*0e209d39SAndroid Build Coastguard Worker  * Returns true if the script allows line breaks between letters (excluding hyphenation).
706*0e209d39SAndroid Build Coastguard Worker  * Such a script typically requires dictionary-based line breaking.
707*0e209d39SAndroid Build Coastguard Worker  * For example, Hani and Thai.
708*0e209d39SAndroid Build Coastguard Worker  *
709*0e209d39SAndroid Build Coastguard Worker  * @param script script code
710*0e209d39SAndroid Build Coastguard Worker  * @return true if the script allows line breaks between letters
711*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
712*0e209d39SAndroid Build Coastguard Worker  */
713*0e209d39SAndroid Build Coastguard Worker U_CAPI UBool U_EXPORT2
714*0e209d39SAndroid Build Coastguard Worker uscript_breaksBetweenLetters(UScriptCode script);
715*0e209d39SAndroid Build Coastguard Worker 
716*0e209d39SAndroid Build Coastguard Worker /**
717*0e209d39SAndroid Build Coastguard Worker  * Returns true if in modern (or most recent) usage of the script case distinctions are customary.
718*0e209d39SAndroid Build Coastguard Worker  * For example, Latn and Cyrl.
719*0e209d39SAndroid Build Coastguard Worker  *
720*0e209d39SAndroid Build Coastguard Worker  * @param script script code
721*0e209d39SAndroid Build Coastguard Worker  * @return true if the script is cased
722*0e209d39SAndroid Build Coastguard Worker  * @stable ICU 51
723*0e209d39SAndroid Build Coastguard Worker  */
724*0e209d39SAndroid Build Coastguard Worker U_CAPI UBool U_EXPORT2
725*0e209d39SAndroid Build Coastguard Worker uscript_isCased(UScriptCode script);
726*0e209d39SAndroid Build Coastguard Worker 
727*0e209d39SAndroid Build Coastguard Worker #endif
728