17777dab0Sopenharmony_ci// © 2016 and later: Unicode, Inc. and others. 27777dab0Sopenharmony_ci// License & terms of use: http://www.unicode.org/copyright.html 37777dab0Sopenharmony_ci/* 47777dab0Sopenharmony_ci ********************************************************************** 57777dab0Sopenharmony_ci * Copyright (C) 1997-2016, International Business Machines 67777dab0Sopenharmony_ci * Corporation and others. All Rights Reserved. 77777dab0Sopenharmony_ci ********************************************************************** 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * File USCRIPT.H 107777dab0Sopenharmony_ci * 117777dab0Sopenharmony_ci * Modification History: 127777dab0Sopenharmony_ci * 137777dab0Sopenharmony_ci * Date Name Description 147777dab0Sopenharmony_ci * 07/06/2001 Ram Creation. 157777dab0Sopenharmony_ci ****************************************************************************** 167777dab0Sopenharmony_ci */ 177777dab0Sopenharmony_ci 187777dab0Sopenharmony_ci#ifndef USCRIPT_H 197777dab0Sopenharmony_ci#define USCRIPT_H 207777dab0Sopenharmony_ci#include "unicode/utypes.h" 217777dab0Sopenharmony_ci 227777dab0Sopenharmony_ci/** 237777dab0Sopenharmony_ci * \file 247777dab0Sopenharmony_ci * \brief C API: Unicode Script Information 257777dab0Sopenharmony_ci */ 267777dab0Sopenharmony_ci 277777dab0Sopenharmony_ci/** 287777dab0Sopenharmony_ci * Constants for ISO 15924 script codes. 297777dab0Sopenharmony_ci * 307777dab0Sopenharmony_ci * The current set of script code constants supports at least all scripts 317777dab0Sopenharmony_ci * that are encoded in the version of Unicode which ICU currently supports. 327777dab0Sopenharmony_ci * The names of the constants are usually derived from the 337777dab0Sopenharmony_ci * Unicode script property value aliases. 347777dab0Sopenharmony_ci * See UAX #24 Unicode Script Property (http://www.unicode.org/reports/tr24/) 357777dab0Sopenharmony_ci * and http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt . 367777dab0Sopenharmony_ci * 377777dab0Sopenharmony_ci * In addition, constants for many ISO 15924 script codes 387777dab0Sopenharmony_ci * are included, for use with language tags, CLDR data, and similar. 397777dab0Sopenharmony_ci * Some of those codes are not used in the Unicode Character Database (UCD). 407777dab0Sopenharmony_ci * For example, there are no characters that have a UCD script property value of 417777dab0Sopenharmony_ci * Hans or Hant. All Han ideographs have the Hani script property value in Unicode. 427777dab0Sopenharmony_ci * 437777dab0Sopenharmony_ci * Private-use codes Qaaa..Qabx are not included, except as used in the UCD or in CLDR. 447777dab0Sopenharmony_ci * 457777dab0Sopenharmony_ci * Starting with ICU 55, script codes are only added when their scripts 467777dab0Sopenharmony_ci * have been or will certainly be encoded in Unicode, 477777dab0Sopenharmony_ci * and have been assigned Unicode script property value aliases, 487777dab0Sopenharmony_ci * to ensure that their script names are stable and match the names of the constants. 497777dab0Sopenharmony_ci * Script codes like Latf and Aran that are not subject to separate encoding 507777dab0Sopenharmony_ci * may be added at any time. 517777dab0Sopenharmony_ci * 527777dab0Sopenharmony_ci * @stable ICU 2.2 537777dab0Sopenharmony_ci */ 547777dab0Sopenharmony_citypedef enum UScriptCode { 557777dab0Sopenharmony_ci /* 567777dab0Sopenharmony_ci * Note: UScriptCode constants and their ISO script code comments 577777dab0Sopenharmony_ci * are parsed by preparseucd.py. 587777dab0Sopenharmony_ci * It matches lines like 597777dab0Sopenharmony_ci * USCRIPT_<Unicode Script value name> = <integer>, / * <ISO script code> * / 607777dab0Sopenharmony_ci */ 617777dab0Sopenharmony_ci 627777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 637777dab0Sopenharmony_ci USCRIPT_INVALID_CODE = -1, 647777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 657777dab0Sopenharmony_ci USCRIPT_COMMON = 0, /* Zyyy */ 667777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 677777dab0Sopenharmony_ci USCRIPT_INHERITED = 1, /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */ 687777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 697777dab0Sopenharmony_ci USCRIPT_ARABIC = 2, /* Arab */ 707777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 717777dab0Sopenharmony_ci USCRIPT_ARMENIAN = 3, /* Armn */ 727777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 737777dab0Sopenharmony_ci USCRIPT_BENGALI = 4, /* Beng */ 747777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 757777dab0Sopenharmony_ci USCRIPT_BOPOMOFO = 5, /* Bopo */ 767777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 777777dab0Sopenharmony_ci USCRIPT_CHEROKEE = 6, /* Cher */ 787777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 797777dab0Sopenharmony_ci USCRIPT_COPTIC = 7, /* Copt */ 807777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 817777dab0Sopenharmony_ci USCRIPT_CYRILLIC = 8, /* Cyrl */ 827777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 837777dab0Sopenharmony_ci USCRIPT_DESERET = 9, /* Dsrt */ 847777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 857777dab0Sopenharmony_ci USCRIPT_DEVANAGARI = 10, /* Deva */ 867777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 877777dab0Sopenharmony_ci USCRIPT_ETHIOPIC = 11, /* Ethi */ 887777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 897777dab0Sopenharmony_ci USCRIPT_GEORGIAN = 12, /* Geor */ 907777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 917777dab0Sopenharmony_ci USCRIPT_GOTHIC = 13, /* Goth */ 927777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 937777dab0Sopenharmony_ci USCRIPT_GREEK = 14, /* Grek */ 947777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 957777dab0Sopenharmony_ci USCRIPT_GUJARATI = 15, /* Gujr */ 967777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 977777dab0Sopenharmony_ci USCRIPT_GURMUKHI = 16, /* Guru */ 987777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 997777dab0Sopenharmony_ci USCRIPT_HAN = 17, /* Hani */ 1007777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1017777dab0Sopenharmony_ci USCRIPT_HANGUL = 18, /* Hang */ 1027777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1037777dab0Sopenharmony_ci USCRIPT_HEBREW = 19, /* Hebr */ 1047777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1057777dab0Sopenharmony_ci USCRIPT_HIRAGANA = 20, /* Hira */ 1067777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1077777dab0Sopenharmony_ci USCRIPT_KANNADA = 21, /* Knda */ 1087777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1097777dab0Sopenharmony_ci USCRIPT_KATAKANA = 22, /* Kana */ 1107777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1117777dab0Sopenharmony_ci USCRIPT_KHMER = 23, /* Khmr */ 1127777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1137777dab0Sopenharmony_ci USCRIPT_LAO = 24, /* Laoo */ 1147777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1157777dab0Sopenharmony_ci USCRIPT_LATIN = 25, /* Latn */ 1167777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1177777dab0Sopenharmony_ci USCRIPT_MALAYALAM = 26, /* Mlym */ 1187777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1197777dab0Sopenharmony_ci USCRIPT_MONGOLIAN = 27, /* Mong */ 1207777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1217777dab0Sopenharmony_ci USCRIPT_MYANMAR = 28, /* Mymr */ 1227777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1237777dab0Sopenharmony_ci USCRIPT_OGHAM = 29, /* Ogam */ 1247777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1257777dab0Sopenharmony_ci USCRIPT_OLD_ITALIC = 30, /* Ital */ 1267777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1277777dab0Sopenharmony_ci USCRIPT_ORIYA = 31, /* Orya */ 1287777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1297777dab0Sopenharmony_ci USCRIPT_RUNIC = 32, /* Runr */ 1307777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1317777dab0Sopenharmony_ci USCRIPT_SINHALA = 33, /* Sinh */ 1327777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1337777dab0Sopenharmony_ci USCRIPT_SYRIAC = 34, /* Syrc */ 1347777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1357777dab0Sopenharmony_ci USCRIPT_TAMIL = 35, /* Taml */ 1367777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1377777dab0Sopenharmony_ci USCRIPT_TELUGU = 36, /* Telu */ 1387777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1397777dab0Sopenharmony_ci USCRIPT_THAANA = 37, /* Thaa */ 1407777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1417777dab0Sopenharmony_ci USCRIPT_THAI = 38, /* Thai */ 1427777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1437777dab0Sopenharmony_ci USCRIPT_TIBETAN = 39, /* Tibt */ 1447777dab0Sopenharmony_ci /** Canadian_Aboriginal script. @stable ICU 2.6 */ 1457777dab0Sopenharmony_ci USCRIPT_CANADIAN_ABORIGINAL = 40, /* Cans */ 1467777dab0Sopenharmony_ci /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */ 1477777dab0Sopenharmony_ci USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL, 1487777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1497777dab0Sopenharmony_ci USCRIPT_YI = 41, /* Yiii */ 1507777dab0Sopenharmony_ci /* New scripts in Unicode 3.2 */ 1517777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1527777dab0Sopenharmony_ci USCRIPT_TAGALOG = 42, /* Tglg */ 1537777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1547777dab0Sopenharmony_ci USCRIPT_HANUNOO = 43, /* Hano */ 1557777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1567777dab0Sopenharmony_ci USCRIPT_BUHID = 44, /* Buhd */ 1577777dab0Sopenharmony_ci /** @stable ICU 2.2 */ 1587777dab0Sopenharmony_ci USCRIPT_TAGBANWA = 45, /* Tagb */ 1597777dab0Sopenharmony_ci 1607777dab0Sopenharmony_ci /* New scripts in Unicode 4 */ 1617777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1627777dab0Sopenharmony_ci USCRIPT_BRAILLE = 46, /* Brai */ 1637777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1647777dab0Sopenharmony_ci USCRIPT_CYPRIOT = 47, /* Cprt */ 1657777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1667777dab0Sopenharmony_ci USCRIPT_LIMBU = 48, /* Limb */ 1677777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1687777dab0Sopenharmony_ci USCRIPT_LINEAR_B = 49, /* Linb */ 1697777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1707777dab0Sopenharmony_ci USCRIPT_OSMANYA = 50, /* Osma */ 1717777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1727777dab0Sopenharmony_ci USCRIPT_SHAVIAN = 51, /* Shaw */ 1737777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1747777dab0Sopenharmony_ci USCRIPT_TAI_LE = 52, /* Tale */ 1757777dab0Sopenharmony_ci /** @stable ICU 2.6 */ 1767777dab0Sopenharmony_ci USCRIPT_UGARITIC = 53, /* Ugar */ 1777777dab0Sopenharmony_ci 1787777dab0Sopenharmony_ci /** New script code in Unicode 4.0.1 @stable ICU 3.0 */ 1797777dab0Sopenharmony_ci USCRIPT_KATAKANA_OR_HIRAGANA = 54,/*Hrkt */ 1807777dab0Sopenharmony_ci 1817777dab0Sopenharmony_ci /* New scripts in Unicode 4.1 */ 1827777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1837777dab0Sopenharmony_ci USCRIPT_BUGINESE = 55, /* Bugi */ 1847777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1857777dab0Sopenharmony_ci USCRIPT_GLAGOLITIC = 56, /* Glag */ 1867777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1877777dab0Sopenharmony_ci USCRIPT_KHAROSHTHI = 57, /* Khar */ 1887777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1897777dab0Sopenharmony_ci USCRIPT_SYLOTI_NAGRI = 58, /* Sylo */ 1907777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1917777dab0Sopenharmony_ci USCRIPT_NEW_TAI_LUE = 59, /* Talu */ 1927777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1937777dab0Sopenharmony_ci USCRIPT_TIFINAGH = 60, /* Tfng */ 1947777dab0Sopenharmony_ci /** @stable ICU 3.4 */ 1957777dab0Sopenharmony_ci USCRIPT_OLD_PERSIAN = 61, /* Xpeo */ 1967777dab0Sopenharmony_ci 1977777dab0Sopenharmony_ci /* New script codes from Unicode and ISO 15924 */ 1987777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 1997777dab0Sopenharmony_ci USCRIPT_BALINESE = 62, /* Bali */ 2007777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2017777dab0Sopenharmony_ci USCRIPT_BATAK = 63, /* Batk */ 2027777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2037777dab0Sopenharmony_ci USCRIPT_BLISSYMBOLS = 64, /* Blis */ 2047777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2057777dab0Sopenharmony_ci USCRIPT_BRAHMI = 65, /* Brah */ 2067777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2077777dab0Sopenharmony_ci USCRIPT_CHAM = 66, /* Cham */ 2087777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2097777dab0Sopenharmony_ci USCRIPT_CIRTH = 67, /* Cirt */ 2107777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2117777dab0Sopenharmony_ci USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68, /* Cyrs */ 2127777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2137777dab0Sopenharmony_ci USCRIPT_DEMOTIC_EGYPTIAN = 69, /* Egyd */ 2147777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2157777dab0Sopenharmony_ci USCRIPT_HIERATIC_EGYPTIAN = 70, /* Egyh */ 2167777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2177777dab0Sopenharmony_ci USCRIPT_EGYPTIAN_HIEROGLYPHS = 71, /* Egyp */ 2187777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2197777dab0Sopenharmony_ci USCRIPT_KHUTSURI = 72, /* Geok */ 2207777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2217777dab0Sopenharmony_ci USCRIPT_SIMPLIFIED_HAN = 73, /* Hans */ 2227777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2237777dab0Sopenharmony_ci USCRIPT_TRADITIONAL_HAN = 74, /* Hant */ 2247777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2257777dab0Sopenharmony_ci USCRIPT_PAHAWH_HMONG = 75, /* Hmng */ 2267777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2277777dab0Sopenharmony_ci USCRIPT_OLD_HUNGARIAN = 76, /* Hung */ 2287777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2297777dab0Sopenharmony_ci USCRIPT_HARAPPAN_INDUS = 77, /* Inds */ 2307777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2317777dab0Sopenharmony_ci USCRIPT_JAVANESE = 78, /* Java */ 2327777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2337777dab0Sopenharmony_ci USCRIPT_KAYAH_LI = 79, /* Kali */ 2347777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2357777dab0Sopenharmony_ci USCRIPT_LATIN_FRAKTUR = 80, /* Latf */ 2367777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2377777dab0Sopenharmony_ci USCRIPT_LATIN_GAELIC = 81, /* Latg */ 2387777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2397777dab0Sopenharmony_ci USCRIPT_LEPCHA = 82, /* Lepc */ 2407777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2417777dab0Sopenharmony_ci USCRIPT_LINEAR_A = 83, /* Lina */ 2427777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 2437777dab0Sopenharmony_ci USCRIPT_MANDAIC = 84, /* Mand */ 2447777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2457777dab0Sopenharmony_ci USCRIPT_MANDAEAN = USCRIPT_MANDAIC, 2467777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2477777dab0Sopenharmony_ci USCRIPT_MAYAN_HIEROGLYPHS = 85, /* Maya */ 2487777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 2497777dab0Sopenharmony_ci USCRIPT_MEROITIC_HIEROGLYPHS = 86, /* Mero */ 2507777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2517777dab0Sopenharmony_ci USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS, 2527777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2537777dab0Sopenharmony_ci USCRIPT_NKO = 87, /* Nkoo */ 2547777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2557777dab0Sopenharmony_ci USCRIPT_ORKHON = 88, /* Orkh */ 2567777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2577777dab0Sopenharmony_ci USCRIPT_OLD_PERMIC = 89, /* Perm */ 2587777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2597777dab0Sopenharmony_ci USCRIPT_PHAGS_PA = 90, /* Phag */ 2607777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2617777dab0Sopenharmony_ci USCRIPT_PHOENICIAN = 91, /* Phnx */ 2627777dab0Sopenharmony_ci /** @stable ICU 52 */ 2637777dab0Sopenharmony_ci USCRIPT_MIAO = 92, /* Plrd */ 2647777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2657777dab0Sopenharmony_ci USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO, 2667777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2677777dab0Sopenharmony_ci USCRIPT_RONGORONGO = 93, /* Roro */ 2687777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2697777dab0Sopenharmony_ci USCRIPT_SARATI = 94, /* Sara */ 2707777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2717777dab0Sopenharmony_ci USCRIPT_ESTRANGELO_SYRIAC = 95, /* Syre */ 2727777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2737777dab0Sopenharmony_ci USCRIPT_WESTERN_SYRIAC = 96, /* Syrj */ 2747777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2757777dab0Sopenharmony_ci USCRIPT_EASTERN_SYRIAC = 97, /* Syrn */ 2767777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2777777dab0Sopenharmony_ci USCRIPT_TENGWAR = 98, /* Teng */ 2787777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2797777dab0Sopenharmony_ci USCRIPT_VAI = 99, /* Vaii */ 2807777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2817777dab0Sopenharmony_ci USCRIPT_VISIBLE_SPEECH = 100,/* Visp */ 2827777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2837777dab0Sopenharmony_ci USCRIPT_CUNEIFORM = 101,/* Xsux */ 2847777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2857777dab0Sopenharmony_ci USCRIPT_UNWRITTEN_LANGUAGES = 102,/* Zxxx */ 2867777dab0Sopenharmony_ci /** @stable ICU 3.6 */ 2877777dab0Sopenharmony_ci USCRIPT_UNKNOWN = 103,/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */ 2887777dab0Sopenharmony_ci 2897777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 2907777dab0Sopenharmony_ci USCRIPT_CARIAN = 104,/* Cari */ 2917777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 2927777dab0Sopenharmony_ci USCRIPT_JAPANESE = 105,/* Jpan */ 2937777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 2947777dab0Sopenharmony_ci USCRIPT_LANNA = 106,/* Lana */ 2957777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 2967777dab0Sopenharmony_ci USCRIPT_LYCIAN = 107,/* Lyci */ 2977777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 2987777dab0Sopenharmony_ci USCRIPT_LYDIAN = 108,/* Lydi */ 2997777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3007777dab0Sopenharmony_ci USCRIPT_OL_CHIKI = 109,/* Olck */ 3017777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3027777dab0Sopenharmony_ci USCRIPT_REJANG = 110,/* Rjng */ 3037777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3047777dab0Sopenharmony_ci USCRIPT_SAURASHTRA = 111,/* Saur */ 3057777dab0Sopenharmony_ci /** Sutton SignWriting @stable ICU 3.8 */ 3067777dab0Sopenharmony_ci USCRIPT_SIGN_WRITING = 112,/* Sgnw */ 3077777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3087777dab0Sopenharmony_ci USCRIPT_SUNDANESE = 113,/* Sund */ 3097777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3107777dab0Sopenharmony_ci USCRIPT_MOON = 114,/* Moon */ 3117777dab0Sopenharmony_ci /** @stable ICU 3.8 */ 3127777dab0Sopenharmony_ci USCRIPT_MEITEI_MAYEK = 115,/* Mtei */ 3137777dab0Sopenharmony_ci 3147777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3157777dab0Sopenharmony_ci USCRIPT_IMPERIAL_ARAMAIC = 116,/* Armi */ 3167777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3177777dab0Sopenharmony_ci USCRIPT_AVESTAN = 117,/* Avst */ 3187777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3197777dab0Sopenharmony_ci USCRIPT_CHAKMA = 118,/* Cakm */ 3207777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3217777dab0Sopenharmony_ci USCRIPT_KOREAN = 119,/* Kore */ 3227777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3237777dab0Sopenharmony_ci USCRIPT_KAITHI = 120,/* Kthi */ 3247777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3257777dab0Sopenharmony_ci USCRIPT_MANICHAEAN = 121,/* Mani */ 3267777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3277777dab0Sopenharmony_ci USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,/* Phli */ 3287777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3297777dab0Sopenharmony_ci USCRIPT_PSALTER_PAHLAVI = 123,/* Phlp */ 3307777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3317777dab0Sopenharmony_ci USCRIPT_BOOK_PAHLAVI = 124,/* Phlv */ 3327777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3337777dab0Sopenharmony_ci USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,/* Prti */ 3347777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3357777dab0Sopenharmony_ci USCRIPT_SAMARITAN = 126,/* Samr */ 3367777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3377777dab0Sopenharmony_ci USCRIPT_TAI_VIET = 127,/* Tavt */ 3387777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3397777dab0Sopenharmony_ci USCRIPT_MATHEMATICAL_NOTATION = 128,/* Zmth */ 3407777dab0Sopenharmony_ci /** @stable ICU 4.0 */ 3417777dab0Sopenharmony_ci USCRIPT_SYMBOLS = 129,/* Zsym */ 3427777dab0Sopenharmony_ci 3437777dab0Sopenharmony_ci /** @stable ICU 4.4 */ 3447777dab0Sopenharmony_ci USCRIPT_BAMUM = 130,/* Bamu */ 3457777dab0Sopenharmony_ci /** @stable ICU 4.4 */ 3467777dab0Sopenharmony_ci USCRIPT_LISU = 131,/* Lisu */ 3477777dab0Sopenharmony_ci /** @stable ICU 4.4 */ 3487777dab0Sopenharmony_ci USCRIPT_NAKHI_GEBA = 132,/* Nkgb */ 3497777dab0Sopenharmony_ci /** @stable ICU 4.4 */ 3507777dab0Sopenharmony_ci USCRIPT_OLD_SOUTH_ARABIAN = 133,/* Sarb */ 3517777dab0Sopenharmony_ci 3527777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3537777dab0Sopenharmony_ci USCRIPT_BASSA_VAH = 134,/* Bass */ 3547777dab0Sopenharmony_ci /** @stable ICU 54 */ 3557777dab0Sopenharmony_ci USCRIPT_DUPLOYAN = 135,/* Dupl */ 3567777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3577777dab0Sopenharmony_ci USCRIPT_ELBASAN = 136,/* Elba */ 3587777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3597777dab0Sopenharmony_ci USCRIPT_GRANTHA = 137,/* Gran */ 3607777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3617777dab0Sopenharmony_ci USCRIPT_KPELLE = 138,/* Kpel */ 3627777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3637777dab0Sopenharmony_ci USCRIPT_LOMA = 139,/* Loma */ 3647777dab0Sopenharmony_ci /** Mende Kikakui @stable ICU 4.6 */ 3657777dab0Sopenharmony_ci USCRIPT_MENDE = 140,/* Mend */ 3667777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3677777dab0Sopenharmony_ci USCRIPT_MEROITIC_CURSIVE = 141,/* Merc */ 3687777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3697777dab0Sopenharmony_ci USCRIPT_OLD_NORTH_ARABIAN = 142,/* Narb */ 3707777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3717777dab0Sopenharmony_ci USCRIPT_NABATAEAN = 143,/* Nbat */ 3727777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3737777dab0Sopenharmony_ci USCRIPT_PALMYRENE = 144,/* Palm */ 3747777dab0Sopenharmony_ci /** @stable ICU 54 */ 3757777dab0Sopenharmony_ci USCRIPT_KHUDAWADI = 145,/* Sind */ 3767777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3777777dab0Sopenharmony_ci USCRIPT_SINDHI = USCRIPT_KHUDAWADI, 3787777dab0Sopenharmony_ci /** @stable ICU 4.6 */ 3797777dab0Sopenharmony_ci USCRIPT_WARANG_CITI = 146,/* Wara */ 3807777dab0Sopenharmony_ci 3817777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3827777dab0Sopenharmony_ci USCRIPT_AFAKA = 147,/* Afak */ 3837777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3847777dab0Sopenharmony_ci USCRIPT_JURCHEN = 148,/* Jurc */ 3857777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3867777dab0Sopenharmony_ci USCRIPT_MRO = 149,/* Mroo */ 3877777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3887777dab0Sopenharmony_ci USCRIPT_NUSHU = 150,/* Nshu */ 3897777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3907777dab0Sopenharmony_ci USCRIPT_SHARADA = 151,/* Shrd */ 3917777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3927777dab0Sopenharmony_ci USCRIPT_SORA_SOMPENG = 152,/* Sora */ 3937777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3947777dab0Sopenharmony_ci USCRIPT_TAKRI = 153,/* Takr */ 3957777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3967777dab0Sopenharmony_ci USCRIPT_TANGUT = 154,/* Tang */ 3977777dab0Sopenharmony_ci /** @stable ICU 4.8 */ 3987777dab0Sopenharmony_ci USCRIPT_WOLEAI = 155,/* Wole */ 3997777dab0Sopenharmony_ci 4007777dab0Sopenharmony_ci /** @stable ICU 49 */ 4017777dab0Sopenharmony_ci USCRIPT_ANATOLIAN_HIEROGLYPHS = 156,/* Hluw */ 4027777dab0Sopenharmony_ci /** @stable ICU 49 */ 4037777dab0Sopenharmony_ci USCRIPT_KHOJKI = 157,/* Khoj */ 4047777dab0Sopenharmony_ci /** @stable ICU 49 */ 4057777dab0Sopenharmony_ci USCRIPT_TIRHUTA = 158,/* Tirh */ 4067777dab0Sopenharmony_ci 4077777dab0Sopenharmony_ci /** @stable ICU 52 */ 4087777dab0Sopenharmony_ci USCRIPT_CAUCASIAN_ALBANIAN = 159,/* Aghb */ 4097777dab0Sopenharmony_ci /** @stable ICU 52 */ 4107777dab0Sopenharmony_ci USCRIPT_MAHAJANI = 160,/* Mahj */ 4117777dab0Sopenharmony_ci 4127777dab0Sopenharmony_ci /** @stable ICU 54 */ 4137777dab0Sopenharmony_ci USCRIPT_AHOM = 161,/* Ahom */ 4147777dab0Sopenharmony_ci /** @stable ICU 54 */ 4157777dab0Sopenharmony_ci USCRIPT_HATRAN = 162,/* Hatr */ 4167777dab0Sopenharmony_ci /** @stable ICU 54 */ 4177777dab0Sopenharmony_ci USCRIPT_MODI = 163,/* Modi */ 4187777dab0Sopenharmony_ci /** @stable ICU 54 */ 4197777dab0Sopenharmony_ci USCRIPT_MULTANI = 164,/* Mult */ 4207777dab0Sopenharmony_ci /** @stable ICU 54 */ 4217777dab0Sopenharmony_ci USCRIPT_PAU_CIN_HAU = 165,/* Pauc */ 4227777dab0Sopenharmony_ci /** @stable ICU 54 */ 4237777dab0Sopenharmony_ci USCRIPT_SIDDHAM = 166,/* Sidd */ 4247777dab0Sopenharmony_ci 4257777dab0Sopenharmony_ci /** @stable ICU 58 */ 4267777dab0Sopenharmony_ci USCRIPT_ADLAM = 167,/* Adlm */ 4277777dab0Sopenharmony_ci /** @stable ICU 58 */ 4287777dab0Sopenharmony_ci USCRIPT_BHAIKSUKI = 168,/* Bhks */ 4297777dab0Sopenharmony_ci /** @stable ICU 58 */ 4307777dab0Sopenharmony_ci USCRIPT_MARCHEN = 169,/* Marc */ 4317777dab0Sopenharmony_ci /** @stable ICU 58 */ 4327777dab0Sopenharmony_ci USCRIPT_NEWA = 170,/* Newa */ 4337777dab0Sopenharmony_ci /** @stable ICU 58 */ 4347777dab0Sopenharmony_ci USCRIPT_OSAGE = 171,/* Osge */ 4357777dab0Sopenharmony_ci 4367777dab0Sopenharmony_ci /** @stable ICU 58 */ 4377777dab0Sopenharmony_ci USCRIPT_HAN_WITH_BOPOMOFO = 172,/* Hanb */ 4387777dab0Sopenharmony_ci /** @stable ICU 58 */ 4397777dab0Sopenharmony_ci USCRIPT_JAMO = 173,/* Jamo */ 4407777dab0Sopenharmony_ci /** @stable ICU 58 */ 4417777dab0Sopenharmony_ci USCRIPT_SYMBOLS_EMOJI = 174,/* Zsye */ 4427777dab0Sopenharmony_ci 4437777dab0Sopenharmony_ci /** @stable ICU 60 */ 4447777dab0Sopenharmony_ci USCRIPT_MASARAM_GONDI = 175,/* Gonm */ 4457777dab0Sopenharmony_ci /** @stable ICU 60 */ 4467777dab0Sopenharmony_ci USCRIPT_SOYOMBO = 176,/* Soyo */ 4477777dab0Sopenharmony_ci /** @stable ICU 60 */ 4487777dab0Sopenharmony_ci USCRIPT_ZANABAZAR_SQUARE = 177,/* Zanb */ 4497777dab0Sopenharmony_ci 4507777dab0Sopenharmony_ci /** @stable ICU 62 */ 4517777dab0Sopenharmony_ci USCRIPT_DOGRA = 178,/* Dogr */ 4527777dab0Sopenharmony_ci /** @stable ICU 62 */ 4537777dab0Sopenharmony_ci USCRIPT_GUNJALA_GONDI = 179,/* Gong */ 4547777dab0Sopenharmony_ci /** @stable ICU 62 */ 4557777dab0Sopenharmony_ci USCRIPT_MAKASAR = 180,/* Maka */ 4567777dab0Sopenharmony_ci /** @stable ICU 62 */ 4577777dab0Sopenharmony_ci USCRIPT_MEDEFAIDRIN = 181,/* Medf */ 4587777dab0Sopenharmony_ci /** @stable ICU 62 */ 4597777dab0Sopenharmony_ci USCRIPT_HANIFI_ROHINGYA = 182,/* Rohg */ 4607777dab0Sopenharmony_ci /** @stable ICU 62 */ 4617777dab0Sopenharmony_ci USCRIPT_SOGDIAN = 183,/* Sogd */ 4627777dab0Sopenharmony_ci /** @stable ICU 62 */ 4637777dab0Sopenharmony_ci USCRIPT_OLD_SOGDIAN = 184,/* Sogo */ 4647777dab0Sopenharmony_ci 4657777dab0Sopenharmony_ci /** @stable ICU 64 */ 4667777dab0Sopenharmony_ci USCRIPT_ELYMAIC = 185,/* Elym */ 4677777dab0Sopenharmony_ci /** @stable ICU 64 */ 4687777dab0Sopenharmony_ci USCRIPT_NYIAKENG_PUACHUE_HMONG = 186,/* Hmnp */ 4697777dab0Sopenharmony_ci /** @stable ICU 64 */ 4707777dab0Sopenharmony_ci USCRIPT_NANDINAGARI = 187,/* Nand */ 4717777dab0Sopenharmony_ci /** @stable ICU 64 */ 4727777dab0Sopenharmony_ci USCRIPT_WANCHO = 188,/* Wcho */ 4737777dab0Sopenharmony_ci 4747777dab0Sopenharmony_ci /** @stable ICU 66 */ 4757777dab0Sopenharmony_ci USCRIPT_CHORASMIAN = 189,/* Chrs */ 4767777dab0Sopenharmony_ci /** @stable ICU 66 */ 4777777dab0Sopenharmony_ci USCRIPT_DIVES_AKURU = 190,/* Diak */ 4787777dab0Sopenharmony_ci /** @stable ICU 66 */ 4797777dab0Sopenharmony_ci USCRIPT_KHITAN_SMALL_SCRIPT = 191,/* Kits */ 4807777dab0Sopenharmony_ci /** @stable ICU 66 */ 4817777dab0Sopenharmony_ci USCRIPT_YEZIDI = 192,/* Yezi */ 4827777dab0Sopenharmony_ci 4837777dab0Sopenharmony_ci /** @stable ICU 70 */ 4847777dab0Sopenharmony_ci USCRIPT_CYPRO_MINOAN = 193,/* Cpmn */ 4857777dab0Sopenharmony_ci /** @stable ICU 70 */ 4867777dab0Sopenharmony_ci USCRIPT_OLD_UYGHUR = 194,/* Ougr */ 4877777dab0Sopenharmony_ci /** @stable ICU 70 */ 4887777dab0Sopenharmony_ci USCRIPT_TANGSA = 195,/* Tnsa */ 4897777dab0Sopenharmony_ci /** @stable ICU 70 */ 4907777dab0Sopenharmony_ci USCRIPT_TOTO = 196,/* Toto */ 4917777dab0Sopenharmony_ci /** @stable ICU 70 */ 4927777dab0Sopenharmony_ci USCRIPT_VITHKUQI = 197,/* Vith */ 4937777dab0Sopenharmony_ci 4947777dab0Sopenharmony_ci /** @stable ICU 72 */ 4957777dab0Sopenharmony_ci USCRIPT_KAWI = 198,/* Kawi */ 4967777dab0Sopenharmony_ci /** @stable ICU 72 */ 4977777dab0Sopenharmony_ci USCRIPT_NAG_MUNDARI = 199,/* Nagm */ 4987777dab0Sopenharmony_ci} UScriptCode; 4997777dab0Sopenharmony_ci 5007777dab0Sopenharmony_ci/** 5017777dab0Sopenharmony_ci * Gets the script codes associated with the given locale or ISO 15924 abbreviation or name. 5027777dab0Sopenharmony_ci * Fills in USCRIPT_MALAYALAM given "Malayam" OR "Mlym". 5037777dab0Sopenharmony_ci * Fills in USCRIPT_LATIN given "en" OR "en_US" 5047777dab0Sopenharmony_ci * If the required capacity is greater than the capacity of the destination buffer, 5057777dab0Sopenharmony_ci * then the error code is set to U_BUFFER_OVERFLOW_ERROR and the required capacity is returned. 5067777dab0Sopenharmony_ci * 5077777dab0Sopenharmony_ci * <p>Note: To search by short or long script alias only, use 5087777dab0Sopenharmony_ci * u_getPropertyValueEnum(UCHAR_SCRIPT, alias) instead. That does 5097777dab0Sopenharmony_ci * a fast lookup with no access of the locale data. 5107777dab0Sopenharmony_ci * 5117777dab0Sopenharmony_ci * @param nameOrAbbrOrLocale name of the script, as given in 5127777dab0Sopenharmony_ci * PropertyValueAliases.txt, or ISO 15924 code or locale 5137777dab0Sopenharmony_ci * @param fillIn the UScriptCode buffer to fill in the script code 5147777dab0Sopenharmony_ci * @param capacity the capacity (size) of UScriptCode buffer passed in. 5157777dab0Sopenharmony_ci * @param err the error status code. 5167777dab0Sopenharmony_ci * @return The number of script codes filled in the buffer passed in 5177777dab0Sopenharmony_ci * @stable ICU 2.4 5187777dab0Sopenharmony_ci */ 5197777dab0Sopenharmony_ciU_CAPI int32_t U_EXPORT2 5207777dab0Sopenharmony_ciuscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err); 5217777dab0Sopenharmony_ci 5227777dab0Sopenharmony_ci/** 5237777dab0Sopenharmony_ci * Returns the long Unicode script name, if there is one. 5247777dab0Sopenharmony_ci * Otherwise returns the 4-letter ISO 15924 script code. 5257777dab0Sopenharmony_ci * Returns "Malayam" given USCRIPT_MALAYALAM. 5267777dab0Sopenharmony_ci * 5277777dab0Sopenharmony_ci * @param scriptCode UScriptCode enum 5287777dab0Sopenharmony_ci * @return long script name as given in PropertyValueAliases.txt, or the 4-letter code, 5297777dab0Sopenharmony_ci * or NULL if scriptCode is invalid 5307777dab0Sopenharmony_ci * @stable ICU 2.4 5317777dab0Sopenharmony_ci */ 5327777dab0Sopenharmony_ciU_CAPI const char* U_EXPORT2 5337777dab0Sopenharmony_ciuscript_getName(UScriptCode scriptCode); 5347777dab0Sopenharmony_ci 5357777dab0Sopenharmony_ci/** 5367777dab0Sopenharmony_ci * Returns the 4-letter ISO 15924 script code, 5377777dab0Sopenharmony_ci * which is the same as the short Unicode script name if Unicode has names for the script. 5387777dab0Sopenharmony_ci * Returns "Mlym" given USCRIPT_MALAYALAM. 5397777dab0Sopenharmony_ci * 5407777dab0Sopenharmony_ci * @param scriptCode UScriptCode enum 5417777dab0Sopenharmony_ci * @return short script name (4-letter code), or NULL if scriptCode is invalid 5427777dab0Sopenharmony_ci * @stable ICU 2.4 5437777dab0Sopenharmony_ci */ 5447777dab0Sopenharmony_ciU_CAPI const char* U_EXPORT2 5457777dab0Sopenharmony_ciuscript_getShortName(UScriptCode scriptCode); 5467777dab0Sopenharmony_ci 5477777dab0Sopenharmony_ci/** 5487777dab0Sopenharmony_ci * Gets the script code associated with the given codepoint. 5497777dab0Sopenharmony_ci * Returns USCRIPT_MALAYALAM given 0x0D02 5507777dab0Sopenharmony_ci * @param codepoint UChar32 codepoint 5517777dab0Sopenharmony_ci * @param err the error status code. 5527777dab0Sopenharmony_ci * @return The UScriptCode, or 0 if codepoint is invalid 5537777dab0Sopenharmony_ci * @stable ICU 2.4 5547777dab0Sopenharmony_ci */ 5557777dab0Sopenharmony_ciU_CAPI UScriptCode U_EXPORT2 5567777dab0Sopenharmony_ciuscript_getScript(UChar32 codepoint, UErrorCode *err); 5577777dab0Sopenharmony_ci 5587777dab0Sopenharmony_ci/** 5597777dab0Sopenharmony_ci * Do the Script_Extensions of code point c contain script sc? 5607777dab0Sopenharmony_ci * If c does not have explicit Script_Extensions, then this tests whether 5617777dab0Sopenharmony_ci * c has the Script property value sc. 5627777dab0Sopenharmony_ci * 5637777dab0Sopenharmony_ci * Some characters are commonly used in multiple scripts. 5647777dab0Sopenharmony_ci * For more information, see UAX #24: http://www.unicode.org/reports/tr24/. 5657777dab0Sopenharmony_ci * @param c code point 5667777dab0Sopenharmony_ci * @param sc script code 5677777dab0Sopenharmony_ci * @return true if sc is in Script_Extensions(c) 5687777dab0Sopenharmony_ci * @stable ICU 49 5697777dab0Sopenharmony_ci */ 5707777dab0Sopenharmony_ciU_CAPI UBool U_EXPORT2 5717777dab0Sopenharmony_ciuscript_hasScript(UChar32 c, UScriptCode sc); 5727777dab0Sopenharmony_ci 5737777dab0Sopenharmony_ci/** 5747777dab0Sopenharmony_ci * Writes code point c's Script_Extensions as a list of UScriptCode values 5757777dab0Sopenharmony_ci * to the output scripts array and returns the number of script codes. 5767777dab0Sopenharmony_ci * - If c does have Script_Extensions, then the Script property value 5777777dab0Sopenharmony_ci * (normally Common or Inherited) is not included. 5787777dab0Sopenharmony_ci * - If c does not have Script_Extensions, then the one Script code is written to the output array. 5797777dab0Sopenharmony_ci * - If c is not a valid code point, then the one USCRIPT_UNKNOWN code is written. 5807777dab0Sopenharmony_ci * In other words, if the return value is 1, 5817777dab0Sopenharmony_ci * then the output array contains exactly c's single Script code. 5827777dab0Sopenharmony_ci * If the return value is n>=2, then the output array contains c's n Script_Extensions script codes. 5837777dab0Sopenharmony_ci * 5847777dab0Sopenharmony_ci * Some characters are commonly used in multiple scripts. 5857777dab0Sopenharmony_ci * For more information, see UAX #24: http://www.unicode.org/reports/tr24/. 5867777dab0Sopenharmony_ci * 5877777dab0Sopenharmony_ci * If there are more than capacity script codes to be written, then 5887777dab0Sopenharmony_ci * U_BUFFER_OVERFLOW_ERROR is set and the number of Script_Extensions is returned. 5897777dab0Sopenharmony_ci * (Usual ICU buffer handling behavior.) 5907777dab0Sopenharmony_ci * 5917777dab0Sopenharmony_ci * @param c code point 5927777dab0Sopenharmony_ci * @param scripts output script code array 5937777dab0Sopenharmony_ci * @param capacity capacity of the scripts array 5947777dab0Sopenharmony_ci * @param errorCode Standard ICU error code. Its input value must 5957777dab0Sopenharmony_ci * pass the U_SUCCESS() test, or else the function returns 5967777dab0Sopenharmony_ci * immediately. Check for U_FAILURE() on output or use with 5977777dab0Sopenharmony_ci * function chaining. (See User Guide for details.) 5987777dab0Sopenharmony_ci * @return number of script codes in c's Script_Extensions, or 1 for the single Script value, 5997777dab0Sopenharmony_ci * written to scripts unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity 6007777dab0Sopenharmony_ci * @stable ICU 49 6017777dab0Sopenharmony_ci */ 6027777dab0Sopenharmony_ciU_CAPI int32_t U_EXPORT2 6037777dab0Sopenharmony_ciuscript_getScriptExtensions(UChar32 c, 6047777dab0Sopenharmony_ci UScriptCode *scripts, int32_t capacity, 6057777dab0Sopenharmony_ci UErrorCode *errorCode); 6067777dab0Sopenharmony_ci 6077777dab0Sopenharmony_ci/** 6087777dab0Sopenharmony_ci * Script usage constants. 6097777dab0Sopenharmony_ci * See UAX #31 Unicode Identifier and Pattern Syntax. 6107777dab0Sopenharmony_ci * http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers 6117777dab0Sopenharmony_ci * 6127777dab0Sopenharmony_ci * @stable ICU 51 6137777dab0Sopenharmony_ci */ 6147777dab0Sopenharmony_citypedef enum UScriptUsage { 6157777dab0Sopenharmony_ci /** Not encoded in Unicode. @stable ICU 51 */ 6167777dab0Sopenharmony_ci USCRIPT_USAGE_NOT_ENCODED, 6177777dab0Sopenharmony_ci /** Unknown script usage. @stable ICU 51 */ 6187777dab0Sopenharmony_ci USCRIPT_USAGE_UNKNOWN, 6197777dab0Sopenharmony_ci /** Candidate for Exclusion from Identifiers. @stable ICU 51 */ 6207777dab0Sopenharmony_ci USCRIPT_USAGE_EXCLUDED, 6217777dab0Sopenharmony_ci /** Limited Use script. @stable ICU 51 */ 6227777dab0Sopenharmony_ci USCRIPT_USAGE_LIMITED_USE, 6237777dab0Sopenharmony_ci /** Aspirational Use script. @stable ICU 51 */ 6247777dab0Sopenharmony_ci USCRIPT_USAGE_ASPIRATIONAL, 6257777dab0Sopenharmony_ci /** Recommended script. @stable ICU 51 */ 6267777dab0Sopenharmony_ci USCRIPT_USAGE_RECOMMENDED 6277777dab0Sopenharmony_ci} UScriptUsage; 6287777dab0Sopenharmony_ci 6297777dab0Sopenharmony_ci/** 6307777dab0Sopenharmony_ci * Writes the script sample character string. 6317777dab0Sopenharmony_ci * This string normally consists of one code point but might be longer. 6327777dab0Sopenharmony_ci * The string is empty if the script is not encoded. 6337777dab0Sopenharmony_ci * 6347777dab0Sopenharmony_ci * @param script script code 6357777dab0Sopenharmony_ci * @param dest output string array 6367777dab0Sopenharmony_ci * @param capacity number of UChars in the dest array 6377777dab0Sopenharmony_ci * @param pErrorCode standard ICU in/out error code, must pass U_SUCCESS() on input 6387777dab0Sopenharmony_ci * @return the string length, even if U_BUFFER_OVERFLOW_ERROR 6397777dab0Sopenharmony_ci * @stable ICU 51 6407777dab0Sopenharmony_ci */ 6417777dab0Sopenharmony_ciU_CAPI int32_t U_EXPORT2 6427777dab0Sopenharmony_ciuscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode); 6437777dab0Sopenharmony_ci 6447777dab0Sopenharmony_ci#if U_SHOW_CPLUSPLUS_API 6457777dab0Sopenharmony_ci 6467777dab0Sopenharmony_ciU_NAMESPACE_BEGIN 6477777dab0Sopenharmony_ciclass UnicodeString; 6487777dab0Sopenharmony_ciU_NAMESPACE_END 6497777dab0Sopenharmony_ci 6507777dab0Sopenharmony_ci/** 6517777dab0Sopenharmony_ci * Returns the script sample character string. 6527777dab0Sopenharmony_ci * This string normally consists of one code point but might be longer. 6537777dab0Sopenharmony_ci * The string is empty if the script is not encoded. 6547777dab0Sopenharmony_ci * 6557777dab0Sopenharmony_ci * @param script script code 6567777dab0Sopenharmony_ci * @return the sample character string 6577777dab0Sopenharmony_ci * @stable ICU 51 6587777dab0Sopenharmony_ci */ 6597777dab0Sopenharmony_ciU_COMMON_API icu::UnicodeString U_EXPORT2 6607777dab0Sopenharmony_ciuscript_getSampleUnicodeString(UScriptCode script); 6617777dab0Sopenharmony_ci 6627777dab0Sopenharmony_ci#endif 6637777dab0Sopenharmony_ci 6647777dab0Sopenharmony_ci/** 6657777dab0Sopenharmony_ci * Returns the script usage according to UAX #31 Unicode Identifier and Pattern Syntax. 6667777dab0Sopenharmony_ci * Returns USCRIPT_USAGE_NOT_ENCODED if the script is not encoded in Unicode. 6677777dab0Sopenharmony_ci * 6687777dab0Sopenharmony_ci * @param script script code 6697777dab0Sopenharmony_ci * @return script usage 6707777dab0Sopenharmony_ci * @see UScriptUsage 6717777dab0Sopenharmony_ci * @stable ICU 51 6727777dab0Sopenharmony_ci */ 6737777dab0Sopenharmony_ciU_CAPI UScriptUsage U_EXPORT2 6747777dab0Sopenharmony_ciuscript_getUsage(UScriptCode script); 6757777dab0Sopenharmony_ci 6767777dab0Sopenharmony_ci/** 6777777dab0Sopenharmony_ci * Returns true if the script is written right-to-left. 6787777dab0Sopenharmony_ci * For example, Arab and Hebr. 6797777dab0Sopenharmony_ci * 6807777dab0Sopenharmony_ci * @param script script code 6817777dab0Sopenharmony_ci * @return true if the script is right-to-left 6827777dab0Sopenharmony_ci * @stable ICU 51 6837777dab0Sopenharmony_ci */ 6847777dab0Sopenharmony_ciU_CAPI UBool U_EXPORT2 6857777dab0Sopenharmony_ciuscript_isRightToLeft(UScriptCode script); 6867777dab0Sopenharmony_ci 6877777dab0Sopenharmony_ci/** 6887777dab0Sopenharmony_ci * Returns true if the script allows line breaks between letters (excluding hyphenation). 6897777dab0Sopenharmony_ci * Such a script typically requires dictionary-based line breaking. 6907777dab0Sopenharmony_ci * For example, Hani and Thai. 6917777dab0Sopenharmony_ci * 6927777dab0Sopenharmony_ci * @param script script code 6937777dab0Sopenharmony_ci * @return true if the script allows line breaks between letters 6947777dab0Sopenharmony_ci * @stable ICU 51 6957777dab0Sopenharmony_ci */ 6967777dab0Sopenharmony_ciU_CAPI UBool U_EXPORT2 6977777dab0Sopenharmony_ciuscript_breaksBetweenLetters(UScriptCode script); 6987777dab0Sopenharmony_ci 6997777dab0Sopenharmony_ci/** 7007777dab0Sopenharmony_ci * Returns true if in modern (or most recent) usage of the script case distinctions are customary. 7017777dab0Sopenharmony_ci * For example, Latn and Cyrl. 7027777dab0Sopenharmony_ci * 7037777dab0Sopenharmony_ci * @param script script code 7047777dab0Sopenharmony_ci * @return true if the script is cased 7057777dab0Sopenharmony_ci * @stable ICU 51 7067777dab0Sopenharmony_ci */ 7077777dab0Sopenharmony_ciU_CAPI UBool U_EXPORT2 7087777dab0Sopenharmony_ciuscript_isCased(UScriptCode script); 7097777dab0Sopenharmony_ci 7107777dab0Sopenharmony_ci#endif 711