00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef USCRIPT_H
00017 #define USCRIPT_H
00018 #include "unicode/utypes.h"
00019
00052 typedef enum UScriptCode {
00053
00054
00055
00056
00057
00058
00059
00061 USCRIPT_INVALID_CODE = -1,
00063 USCRIPT_COMMON = 0,
00065 USCRIPT_INHERITED = 1,
00067 USCRIPT_ARABIC = 2,
00069 USCRIPT_ARMENIAN = 3,
00071 USCRIPT_BENGALI = 4,
00073 USCRIPT_BOPOMOFO = 5,
00075 USCRIPT_CHEROKEE = 6,
00077 USCRIPT_COPTIC = 7,
00079 USCRIPT_CYRILLIC = 8,
00081 USCRIPT_DESERET = 9,
00083 USCRIPT_DEVANAGARI = 10,
00085 USCRIPT_ETHIOPIC = 11,
00087 USCRIPT_GEORGIAN = 12,
00089 USCRIPT_GOTHIC = 13,
00091 USCRIPT_GREEK = 14,
00093 USCRIPT_GUJARATI = 15,
00095 USCRIPT_GURMUKHI = 16,
00097 USCRIPT_HAN = 17,
00099 USCRIPT_HANGUL = 18,
00101 USCRIPT_HEBREW = 19,
00103 USCRIPT_HIRAGANA = 20,
00105 USCRIPT_KANNADA = 21,
00107 USCRIPT_KATAKANA = 22,
00109 USCRIPT_KHMER = 23,
00111 USCRIPT_LAO = 24,
00113 USCRIPT_LATIN = 25,
00115 USCRIPT_MALAYALAM = 26,
00117 USCRIPT_MONGOLIAN = 27,
00119 USCRIPT_MYANMAR = 28,
00121 USCRIPT_OGHAM = 29,
00123 USCRIPT_OLD_ITALIC = 30,
00125 USCRIPT_ORIYA = 31,
00127 USCRIPT_RUNIC = 32,
00129 USCRIPT_SINHALA = 33,
00131 USCRIPT_SYRIAC = 34,
00133 USCRIPT_TAMIL = 35,
00135 USCRIPT_TELUGU = 36,
00137 USCRIPT_THAANA = 37,
00139 USCRIPT_THAI = 38,
00141 USCRIPT_TIBETAN = 39,
00143 USCRIPT_CANADIAN_ABORIGINAL = 40,
00145 USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL,
00147 USCRIPT_YI = 41,
00148
00150 USCRIPT_TAGALOG = 42,
00152 USCRIPT_HANUNOO = 43,
00154 USCRIPT_BUHID = 44,
00156 USCRIPT_TAGBANWA = 45,
00157
00158
00160 USCRIPT_BRAILLE = 46,
00162 USCRIPT_CYPRIOT = 47,
00164 USCRIPT_LIMBU = 48,
00166 USCRIPT_LINEAR_B = 49,
00168 USCRIPT_OSMANYA = 50,
00170 USCRIPT_SHAVIAN = 51,
00172 USCRIPT_TAI_LE = 52,
00174 USCRIPT_UGARITIC = 53,
00175
00177 USCRIPT_KATAKANA_OR_HIRAGANA = 54,
00178
00179
00181 USCRIPT_BUGINESE = 55,
00183 USCRIPT_GLAGOLITIC = 56,
00185 USCRIPT_KHAROSHTHI = 57,
00187 USCRIPT_SYLOTI_NAGRI = 58,
00189 USCRIPT_NEW_TAI_LUE = 59,
00191 USCRIPT_TIFINAGH = 60,
00193 USCRIPT_OLD_PERSIAN = 61,
00194
00195
00197 USCRIPT_BALINESE = 62,
00199 USCRIPT_BATAK = 63,
00201 USCRIPT_BLISSYMBOLS = 64,
00203 USCRIPT_BRAHMI = 65,
00205 USCRIPT_CHAM = 66,
00207 USCRIPT_CIRTH = 67,
00209 USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68,
00211 USCRIPT_DEMOTIC_EGYPTIAN = 69,
00213 USCRIPT_HIERATIC_EGYPTIAN = 70,
00215 USCRIPT_EGYPTIAN_HIEROGLYPHS = 71,
00217 USCRIPT_KHUTSURI = 72,
00219 USCRIPT_SIMPLIFIED_HAN = 73,
00221 USCRIPT_TRADITIONAL_HAN = 74,
00223 USCRIPT_PAHAWH_HMONG = 75,
00225 USCRIPT_OLD_HUNGARIAN = 76,
00227 USCRIPT_HARAPPAN_INDUS = 77,
00229 USCRIPT_JAVANESE = 78,
00231 USCRIPT_KAYAH_LI = 79,
00233 USCRIPT_LATIN_FRAKTUR = 80,
00235 USCRIPT_LATIN_GAELIC = 81,
00237 USCRIPT_LEPCHA = 82,
00239 USCRIPT_LINEAR_A = 83,
00241 USCRIPT_MANDAIC = 84,
00243 USCRIPT_MANDAEAN = USCRIPT_MANDAIC,
00245 USCRIPT_MAYAN_HIEROGLYPHS = 85,
00247 USCRIPT_MEROITIC_HIEROGLYPHS = 86,
00249 USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS,
00251 USCRIPT_NKO = 87,
00253 USCRIPT_ORKHON = 88,
00255 USCRIPT_OLD_PERMIC = 89,
00257 USCRIPT_PHAGS_PA = 90,
00259 USCRIPT_PHOENICIAN = 91,
00261 USCRIPT_MIAO = 92,
00263 USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO,
00265 USCRIPT_RONGORONGO = 93,
00267 USCRIPT_SARATI = 94,
00269 USCRIPT_ESTRANGELO_SYRIAC = 95,
00271 USCRIPT_WESTERN_SYRIAC = 96,
00273 USCRIPT_EASTERN_SYRIAC = 97,
00275 USCRIPT_TENGWAR = 98,
00277 USCRIPT_VAI = 99,
00279 USCRIPT_VISIBLE_SPEECH = 100,
00281 USCRIPT_CUNEIFORM = 101,
00283 USCRIPT_UNWRITTEN_LANGUAGES = 102,
00285 USCRIPT_UNKNOWN = 103,
00286
00288 USCRIPT_CARIAN = 104,
00290 USCRIPT_JAPANESE = 105,
00292 USCRIPT_LANNA = 106,
00294 USCRIPT_LYCIAN = 107,
00296 USCRIPT_LYDIAN = 108,
00298 USCRIPT_OL_CHIKI = 109,
00300 USCRIPT_REJANG = 110,
00302 USCRIPT_SAURASHTRA = 111,
00304 USCRIPT_SIGN_WRITING = 112,
00306 USCRIPT_SUNDANESE = 113,
00308 USCRIPT_MOON = 114,
00310 USCRIPT_MEITEI_MAYEK = 115,
00311
00313 USCRIPT_IMPERIAL_ARAMAIC = 116,
00315 USCRIPT_AVESTAN = 117,
00317 USCRIPT_CHAKMA = 118,
00319 USCRIPT_KOREAN = 119,
00321 USCRIPT_KAITHI = 120,
00323 USCRIPT_MANICHAEAN = 121,
00325 USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,
00327 USCRIPT_PSALTER_PAHLAVI = 123,
00329 USCRIPT_BOOK_PAHLAVI = 124,
00331 USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,
00333 USCRIPT_SAMARITAN = 126,
00335 USCRIPT_TAI_VIET = 127,
00337 USCRIPT_MATHEMATICAL_NOTATION = 128,
00339 USCRIPT_SYMBOLS = 129,
00340
00342 USCRIPT_BAMUM = 130,
00344 USCRIPT_LISU = 131,
00346 USCRIPT_NAKHI_GEBA = 132,
00348 USCRIPT_OLD_SOUTH_ARABIAN = 133,
00349
00351 USCRIPT_BASSA_VAH = 134,
00353 USCRIPT_DUPLOYAN = 135,
00354 #ifndef U_HIDE_DEPRECATED_API
00355
00356 USCRIPT_DUPLOYAN_SHORTAND = USCRIPT_DUPLOYAN,
00357 #endif
00358
00359 USCRIPT_ELBASAN = 136,
00361 USCRIPT_GRANTHA = 137,
00363 USCRIPT_KPELLE = 138,
00365 USCRIPT_LOMA = 139,
00367 USCRIPT_MENDE = 140,
00369 USCRIPT_MEROITIC_CURSIVE = 141,
00371 USCRIPT_OLD_NORTH_ARABIAN = 142,
00373 USCRIPT_NABATAEAN = 143,
00375 USCRIPT_PALMYRENE = 144,
00377 USCRIPT_KHUDAWADI = 145,
00379 USCRIPT_SINDHI = USCRIPT_KHUDAWADI,
00381 USCRIPT_WARANG_CITI = 146,
00382
00384 USCRIPT_AFAKA = 147,
00386 USCRIPT_JURCHEN = 148,
00388 USCRIPT_MRO = 149,
00390 USCRIPT_NUSHU = 150,
00392 USCRIPT_SHARADA = 151,
00394 USCRIPT_SORA_SOMPENG = 152,
00396 USCRIPT_TAKRI = 153,
00398 USCRIPT_TANGUT = 154,
00400 USCRIPT_WOLEAI = 155,
00401
00403 USCRIPT_ANATOLIAN_HIEROGLYPHS = 156,
00405 USCRIPT_KHOJKI = 157,
00407 USCRIPT_TIRHUTA = 158,
00408
00410 USCRIPT_CAUCASIAN_ALBANIAN = 159,
00412 USCRIPT_MAHAJANI = 160,
00413
00415 USCRIPT_AHOM = 161,
00417 USCRIPT_HATRAN = 162,
00419 USCRIPT_MODI = 163,
00421 USCRIPT_MULTANI = 164,
00423 USCRIPT_PAU_CIN_HAU = 165,
00425 USCRIPT_SIDDHAM = 166,
00426
00438 USCRIPT_CODE_LIMIT = 167
00439 } UScriptCode;
00440
00460 U_STABLE int32_t U_EXPORT2
00461 uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
00462
00473 U_STABLE const char* U_EXPORT2
00474 uscript_getName(UScriptCode scriptCode);
00475
00485 U_STABLE const char* U_EXPORT2
00486 uscript_getShortName(UScriptCode scriptCode);
00487
00496 U_STABLE UScriptCode U_EXPORT2
00497 uscript_getScript(UChar32 codepoint, UErrorCode *err);
00498
00514 U_STABLE UBool U_EXPORT2
00515 uscript_hasScript(UChar32 c, UScriptCode sc);
00516
00548 U_STABLE int32_t U_EXPORT2
00549 uscript_getScriptExtensions(UChar32 c,
00550 UScriptCode *scripts, int32_t capacity,
00551 UErrorCode *errorCode);
00552
00560 typedef enum UScriptUsage {
00562 USCRIPT_USAGE_NOT_ENCODED,
00564 USCRIPT_USAGE_UNKNOWN,
00566 USCRIPT_USAGE_EXCLUDED,
00568 USCRIPT_USAGE_LIMITED_USE,
00570 USCRIPT_USAGE_ASPIRATIONAL,
00572 USCRIPT_USAGE_RECOMMENDED
00573 } UScriptUsage;
00574
00587 U_STABLE int32_t U_EXPORT2
00588 uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode);
00589
00590 #if U_SHOW_CPLUSPLUS_API
00591
00592 U_NAMESPACE_BEGIN
00593 class UnicodeString;
00594 U_NAMESPACE_END
00595
00605 U_COMMON_API icu::UnicodeString U_EXPORT2
00606 uscript_getSampleUnicodeString(UScriptCode script);
00607
00608 #endif
00609
00619 U_STABLE UScriptUsage U_EXPORT2
00620 uscript_getUsage(UScriptCode script);
00621
00630 U_STABLE UBool U_EXPORT2
00631 uscript_isRightToLeft(UScriptCode script);
00632
00642 U_STABLE UBool U_EXPORT2
00643 uscript_breaksBetweenLetters(UScriptCode script);
00644
00653 U_STABLE UBool U_EXPORT2
00654 uscript_isCased(UScriptCode script);
00655
00656 #endif