00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef USCRIPT_H
00019 #define USCRIPT_H
00020 #include "unicode/utypes.h"
00021
00054 typedef enum UScriptCode {
00055
00056
00057
00058
00059
00060
00061
00063 USCRIPT_INVALID_CODE = -1,
00065 USCRIPT_COMMON = 0,
00067 USCRIPT_INHERITED = 1,
00069 USCRIPT_ARABIC = 2,
00071 USCRIPT_ARMENIAN = 3,
00073 USCRIPT_BENGALI = 4,
00075 USCRIPT_BOPOMOFO = 5,
00077 USCRIPT_CHEROKEE = 6,
00079 USCRIPT_COPTIC = 7,
00081 USCRIPT_CYRILLIC = 8,
00083 USCRIPT_DESERET = 9,
00085 USCRIPT_DEVANAGARI = 10,
00087 USCRIPT_ETHIOPIC = 11,
00089 USCRIPT_GEORGIAN = 12,
00091 USCRIPT_GOTHIC = 13,
00093 USCRIPT_GREEK = 14,
00095 USCRIPT_GUJARATI = 15,
00097 USCRIPT_GURMUKHI = 16,
00099 USCRIPT_HAN = 17,
00101 USCRIPT_HANGUL = 18,
00103 USCRIPT_HEBREW = 19,
00105 USCRIPT_HIRAGANA = 20,
00107 USCRIPT_KANNADA = 21,
00109 USCRIPT_KATAKANA = 22,
00111 USCRIPT_KHMER = 23,
00113 USCRIPT_LAO = 24,
00115 USCRIPT_LATIN = 25,
00117 USCRIPT_MALAYALAM = 26,
00119 USCRIPT_MONGOLIAN = 27,
00121 USCRIPT_MYANMAR = 28,
00123 USCRIPT_OGHAM = 29,
00125 USCRIPT_OLD_ITALIC = 30,
00127 USCRIPT_ORIYA = 31,
00129 USCRIPT_RUNIC = 32,
00131 USCRIPT_SINHALA = 33,
00133 USCRIPT_SYRIAC = 34,
00135 USCRIPT_TAMIL = 35,
00137 USCRIPT_TELUGU = 36,
00139 USCRIPT_THAANA = 37,
00141 USCRIPT_THAI = 38,
00143 USCRIPT_TIBETAN = 39,
00145 USCRIPT_CANADIAN_ABORIGINAL = 40,
00147 USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL,
00149 USCRIPT_YI = 41,
00150
00152 USCRIPT_TAGALOG = 42,
00154 USCRIPT_HANUNOO = 43,
00156 USCRIPT_BUHID = 44,
00158 USCRIPT_TAGBANWA = 45,
00159
00160
00162 USCRIPT_BRAILLE = 46,
00164 USCRIPT_CYPRIOT = 47,
00166 USCRIPT_LIMBU = 48,
00168 USCRIPT_LINEAR_B = 49,
00170 USCRIPT_OSMANYA = 50,
00172 USCRIPT_SHAVIAN = 51,
00174 USCRIPT_TAI_LE = 52,
00176 USCRIPT_UGARITIC = 53,
00177
00179 USCRIPT_KATAKANA_OR_HIRAGANA = 54,
00180
00181
00183 USCRIPT_BUGINESE = 55,
00185 USCRIPT_GLAGOLITIC = 56,
00187 USCRIPT_KHAROSHTHI = 57,
00189 USCRIPT_SYLOTI_NAGRI = 58,
00191 USCRIPT_NEW_TAI_LUE = 59,
00193 USCRIPT_TIFINAGH = 60,
00195 USCRIPT_OLD_PERSIAN = 61,
00196
00197
00199 USCRIPT_BALINESE = 62,
00201 USCRIPT_BATAK = 63,
00203 USCRIPT_BLISSYMBOLS = 64,
00205 USCRIPT_BRAHMI = 65,
00207 USCRIPT_CHAM = 66,
00209 USCRIPT_CIRTH = 67,
00211 USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68,
00213 USCRIPT_DEMOTIC_EGYPTIAN = 69,
00215 USCRIPT_HIERATIC_EGYPTIAN = 70,
00217 USCRIPT_EGYPTIAN_HIEROGLYPHS = 71,
00219 USCRIPT_KHUTSURI = 72,
00221 USCRIPT_SIMPLIFIED_HAN = 73,
00223 USCRIPT_TRADITIONAL_HAN = 74,
00225 USCRIPT_PAHAWH_HMONG = 75,
00227 USCRIPT_OLD_HUNGARIAN = 76,
00229 USCRIPT_HARAPPAN_INDUS = 77,
00231 USCRIPT_JAVANESE = 78,
00233 USCRIPT_KAYAH_LI = 79,
00235 USCRIPT_LATIN_FRAKTUR = 80,
00237 USCRIPT_LATIN_GAELIC = 81,
00239 USCRIPT_LEPCHA = 82,
00241 USCRIPT_LINEAR_A = 83,
00243 USCRIPT_MANDAIC = 84,
00245 USCRIPT_MANDAEAN = USCRIPT_MANDAIC,
00247 USCRIPT_MAYAN_HIEROGLYPHS = 85,
00249 USCRIPT_MEROITIC_HIEROGLYPHS = 86,
00251 USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS,
00253 USCRIPT_NKO = 87,
00255 USCRIPT_ORKHON = 88,
00257 USCRIPT_OLD_PERMIC = 89,
00259 USCRIPT_PHAGS_PA = 90,
00261 USCRIPT_PHOENICIAN = 91,
00263 USCRIPT_MIAO = 92,
00265 USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO,
00267 USCRIPT_RONGORONGO = 93,
00269 USCRIPT_SARATI = 94,
00271 USCRIPT_ESTRANGELO_SYRIAC = 95,
00273 USCRIPT_WESTERN_SYRIAC = 96,
00275 USCRIPT_EASTERN_SYRIAC = 97,
00277 USCRIPT_TENGWAR = 98,
00279 USCRIPT_VAI = 99,
00281 USCRIPT_VISIBLE_SPEECH = 100,
00283 USCRIPT_CUNEIFORM = 101,
00285 USCRIPT_UNWRITTEN_LANGUAGES = 102,
00287 USCRIPT_UNKNOWN = 103,
00288
00290 USCRIPT_CARIAN = 104,
00292 USCRIPT_JAPANESE = 105,
00294 USCRIPT_LANNA = 106,
00296 USCRIPT_LYCIAN = 107,
00298 USCRIPT_LYDIAN = 108,
00300 USCRIPT_OL_CHIKI = 109,
00302 USCRIPT_REJANG = 110,
00304 USCRIPT_SAURASHTRA = 111,
00306 USCRIPT_SIGN_WRITING = 112,
00308 USCRIPT_SUNDANESE = 113,
00310 USCRIPT_MOON = 114,
00312 USCRIPT_MEITEI_MAYEK = 115,
00313
00315 USCRIPT_IMPERIAL_ARAMAIC = 116,
00317 USCRIPT_AVESTAN = 117,
00319 USCRIPT_CHAKMA = 118,
00321 USCRIPT_KOREAN = 119,
00323 USCRIPT_KAITHI = 120,
00325 USCRIPT_MANICHAEAN = 121,
00327 USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,
00329 USCRIPT_PSALTER_PAHLAVI = 123,
00331 USCRIPT_BOOK_PAHLAVI = 124,
00333 USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,
00335 USCRIPT_SAMARITAN = 126,
00337 USCRIPT_TAI_VIET = 127,
00339 USCRIPT_MATHEMATICAL_NOTATION = 128,
00341 USCRIPT_SYMBOLS = 129,
00342
00344 USCRIPT_BAMUM = 130,
00346 USCRIPT_LISU = 131,
00348 USCRIPT_NAKHI_GEBA = 132,
00350 USCRIPT_OLD_SOUTH_ARABIAN = 133,
00351
00353 USCRIPT_BASSA_VAH = 134,
00355 USCRIPT_DUPLOYAN = 135,
00356 #ifndef U_HIDE_DEPRECATED_API
00357
00358 USCRIPT_DUPLOYAN_SHORTAND = USCRIPT_DUPLOYAN,
00359 #endif
00360
00361 USCRIPT_ELBASAN = 136,
00363 USCRIPT_GRANTHA = 137,
00365 USCRIPT_KPELLE = 138,
00367 USCRIPT_LOMA = 139,
00369 USCRIPT_MENDE = 140,
00371 USCRIPT_MEROITIC_CURSIVE = 141,
00373 USCRIPT_OLD_NORTH_ARABIAN = 142,
00375 USCRIPT_NABATAEAN = 143,
00377 USCRIPT_PALMYRENE = 144,
00379 USCRIPT_KHUDAWADI = 145,
00381 USCRIPT_SINDHI = USCRIPT_KHUDAWADI,
00383 USCRIPT_WARANG_CITI = 146,
00384
00386 USCRIPT_AFAKA = 147,
00388 USCRIPT_JURCHEN = 148,
00390 USCRIPT_MRO = 149,
00392 USCRIPT_NUSHU = 150,
00394 USCRIPT_SHARADA = 151,
00396 USCRIPT_SORA_SOMPENG = 152,
00398 USCRIPT_TAKRI = 153,
00400 USCRIPT_TANGUT = 154,
00402 USCRIPT_WOLEAI = 155,
00403
00405 USCRIPT_ANATOLIAN_HIEROGLYPHS = 156,
00407 USCRIPT_KHOJKI = 157,
00409 USCRIPT_TIRHUTA = 158,
00410
00412 USCRIPT_CAUCASIAN_ALBANIAN = 159,
00414 USCRIPT_MAHAJANI = 160,
00415
00417 USCRIPT_AHOM = 161,
00419 USCRIPT_HATRAN = 162,
00421 USCRIPT_MODI = 163,
00423 USCRIPT_MULTANI = 164,
00425 USCRIPT_PAU_CIN_HAU = 165,
00427 USCRIPT_SIDDHAM = 166,
00428
00430 USCRIPT_ADLAM = 167,
00432 USCRIPT_BHAIKSUKI = 168,
00434 USCRIPT_MARCHEN = 169,
00436 USCRIPT_NEWA = 170,
00438 USCRIPT_OSAGE = 171,
00439
00441 USCRIPT_HAN_WITH_BOPOMOFO = 172,
00443 USCRIPT_JAMO = 173,
00445 USCRIPT_SYMBOLS_EMOJI = 174,
00446
00448 USCRIPT_MASARAM_GONDI = 175,
00450 USCRIPT_SOYOMBO = 176,
00452 USCRIPT_ZANABAZAR_SQUARE = 177,
00453
00455 USCRIPT_DOGRA = 178,
00457 USCRIPT_GUNJALA_GONDI = 179,
00459 USCRIPT_MAKASAR = 180,
00461 USCRIPT_MEDEFAIDRIN = 181,
00463 USCRIPT_HANIFI_ROHINGYA = 182,
00465 USCRIPT_SOGDIAN = 183,
00467 USCRIPT_OLD_SOGDIAN = 184,
00468
00470 USCRIPT_ELYMAIC = 185,
00472 USCRIPT_NYIAKENG_PUACHUE_HMONG = 186,
00474 USCRIPT_NANDINAGARI = 187,
00476 USCRIPT_WANCHO = 188,
00477
00479 USCRIPT_CHORASMIAN = 189,
00481 USCRIPT_DIVES_AKURU = 190,
00483 USCRIPT_KHITAN_SMALL_SCRIPT = 191,
00485 USCRIPT_YEZIDI = 192,
00486
00487 #ifndef U_HIDE_DEPRECATED_API
00488
00494 USCRIPT_CODE_LIMIT = 193
00495 #endif // U_HIDE_DEPRECATED_API
00496 } UScriptCode;
00497
00517 U_STABLE int32_t U_EXPORT2
00518 uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
00519
00530 U_STABLE const char* U_EXPORT2
00531 uscript_getName(UScriptCode scriptCode);
00532
00542 U_STABLE const char* U_EXPORT2
00543 uscript_getShortName(UScriptCode scriptCode);
00544
00553 U_STABLE UScriptCode U_EXPORT2
00554 uscript_getScript(UChar32 codepoint, UErrorCode *err);
00555
00568 U_STABLE UBool U_EXPORT2
00569 uscript_hasScript(UChar32 c, UScriptCode sc);
00570
00600 U_STABLE int32_t U_EXPORT2
00601 uscript_getScriptExtensions(UChar32 c,
00602 UScriptCode *scripts, int32_t capacity,
00603 UErrorCode *errorCode);
00604
00612 typedef enum UScriptUsage {
00614 USCRIPT_USAGE_NOT_ENCODED,
00616 USCRIPT_USAGE_UNKNOWN,
00618 USCRIPT_USAGE_EXCLUDED,
00620 USCRIPT_USAGE_LIMITED_USE,
00622 USCRIPT_USAGE_ASPIRATIONAL,
00624 USCRIPT_USAGE_RECOMMENDED
00625 } UScriptUsage;
00626
00639 U_STABLE int32_t U_EXPORT2
00640 uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode);
00641
00642 #if U_SHOW_CPLUSPLUS_API
00643
00644 U_NAMESPACE_BEGIN
00645 class UnicodeString;
00646 U_NAMESPACE_END
00647
00657 U_COMMON_API icu::UnicodeString U_EXPORT2
00658 uscript_getSampleUnicodeString(UScriptCode script);
00659
00660 #endif
00661
00671 U_STABLE UScriptUsage U_EXPORT2
00672 uscript_getUsage(UScriptCode script);
00673
00682 U_STABLE UBool U_EXPORT2
00683 uscript_isRightToLeft(UScriptCode script);
00684
00694 U_STABLE UBool U_EXPORT2
00695 uscript_breaksBetweenLetters(UScriptCode script);
00696
00705 U_STABLE UBool U_EXPORT2
00706 uscript_isCased(UScriptCode script);
00707
00708 #endif