10596faeddefbf198de137d5e893708495ab1584cFredrik Roubert// © 2016 and later: Unicode, Inc. and others.
264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html
3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/*
4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru **********************************************************************
564339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert *   Copyright (C) 1997-2016, International Business Machines
6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *   Corporation and others.  All Rights Reserved.
7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru **********************************************************************
8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * File USCRIPT.H
10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Modification History:
12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *   Date        Name        Description
14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *   07/06/2001    Ram         Creation.
15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru ******************************************************************************
16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef USCRIPT_H
19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define USCRIPT_H
20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h"
21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \file
24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * \brief C API: Unicode Script Information
25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
261b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert
27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Constants for ISO 15924 script codes.
29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
301b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * The current set of script code constants supports at least all scripts
311b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * that are encoded in the version of Unicode which ICU currently supports.
321b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * The names of the constants are usually derived from the
331b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Unicode script property value aliases.
341b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * See UAX #24 Unicode Script Property (http://www.unicode.org/reports/tr24/)
351b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * and http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt .
36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
3764339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * In addition, constants for many ISO 15924 script codes
381b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * are included, for use with language tags, CLDR data, and similar.
391b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Some of those codes are not used in the Unicode Character Database (UCD).
401b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * For example, there are no characters that have a UCD script property value of
411b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Hans or Hant. All Han ideographs have the Hani script property value in Unicode.
42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
4364339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * Private-use codes Qaaa..Qabx are not included, except as used in the UCD or in CLDR.
44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
451b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Starting with ICU 55, script codes are only added when their scripts
461b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * have been or will certainly be encoded in Unicode,
471b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * and have been assigned Unicode script property value aliases,
481b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * to ensure that their script names are stable and match the names of the constants.
491b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * Script codes like Latf and Aran that are not subject to separate encoding
501b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert * may be added at any time.
51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @stable ICU 2.2
53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querutypedef enum UScriptCode {
55103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    /*
56103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * Note: UScriptCode constants and their ISO script code comments
57103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * are parsed by preparseucd.py.
58103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     * It matches lines like
59103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     *     USCRIPT_<Unicode Script value name> = <integer>,  / * <ISO script code> * /
60103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius     */
61103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
62b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_INVALID_CODE = -1,
64b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
6527f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_COMMON       =  0,  /* Zyyy */
66b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
6750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_INHERITED    =  1,  /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */
68b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ARABIC       =  2,  /* Arab */
70b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ARMENIAN     =  3,  /* Armn */
72b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BENGALI      =  4,  /* Beng */
74b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BOPOMOFO     =  5,  /* Bopo */
76b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CHEROKEE     =  6,  /* Cher */
78b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_COPTIC       =  7,  /* Copt */
80b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CYRILLIC     =  8,  /* Cyrl */
82b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
83b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_DESERET      =  9,  /* Dsrt */
84b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
85b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_DEVANAGARI   = 10,  /* Deva */
86b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
87b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ETHIOPIC     = 11,  /* Ethi */
88b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
89b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GEORGIAN     = 12,  /* Geor */
90b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
91b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GOTHIC       = 13,  /* Goth */
92b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
93b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GREEK        = 14,  /* Grek */
94b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
95b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GUJARATI     = 15,  /* Gujr */
96b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
97b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GURMUKHI     = 16,  /* Guru */
98b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
99b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HAN          = 17,  /* Hani */
100b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
101b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HANGUL       = 18,  /* Hang */
102b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
103b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HEBREW       = 19,  /* Hebr */
104b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
105b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HIRAGANA     = 20,  /* Hira */
106b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
107b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KANNADA      = 21,  /* Knda */
108b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
109b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KATAKANA     = 22,  /* Kana */
110b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
111b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KHMER        = 23,  /* Khmr */
112b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
113b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LAO          = 24,  /* Laoo */
114b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
115b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LATIN        = 25,  /* Latn */
116b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
117b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MALAYALAM    = 26,  /* Mlym */
118b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
119b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MONGOLIAN    = 27,  /* Mong */
120b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
121b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MYANMAR      = 28,  /* Mymr */
122b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
123b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OGHAM        = 29,  /* Ogam */
124b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
125b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OLD_ITALIC   = 30,  /* Ital */
126b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
127b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ORIYA        = 31,  /* Orya */
128b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
129b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_RUNIC        = 32,  /* Runr */
130b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
131b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SINHALA      = 33,  /* Sinh */
132b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
133b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SYRIAC       = 34,  /* Syrc */
134b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
135b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TAMIL        = 35,  /* Taml */
136b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
137b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TELUGU       = 36,  /* Telu */
138b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
139b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_THAANA       = 37,  /* Thaa */
140b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
141b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_THAI         = 38,  /* Thai */
142b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
143b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TIBETAN      = 39,  /* Tibt */
144b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      /** Canadian_Aboriginal script. @stable ICU 2.6 */
145b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CANADIAN_ABORIGINAL = 40,  /* Cans */
146b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */
147b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_UCAS         = USCRIPT_CANADIAN_ABORIGINAL,
148b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
149b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_YI           = 41,  /* Yiii */
150b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /* New scripts in Unicode 3.2 */
151b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
152b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TAGALOG      = 42,  /* Tglg */
153b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
154b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HANUNOO      = 43,  /* Hano */
155b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
156b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BUHID        = 44,  /* Buhd */
157b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.2 */
158b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TAGBANWA     = 45,  /* Tagb */
159b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
160b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /* New scripts in Unicode 4 */
161b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
162b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BRAILLE      = 46,  /* Brai */
163b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
164b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CYPRIOT      = 47,  /* Cprt */
165b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
166b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LIMBU        = 48,  /* Limb */
167b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
168b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LINEAR_B     = 49,  /* Linb */
169b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
170b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OSMANYA      = 50,  /* Osma */
171b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
172b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SHAVIAN      = 51,  /* Shaw */
173b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
174b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TAI_LE       = 52,  /* Tale */
175b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 2.6 */
176b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_UGARITIC     = 53,  /* Ugar */
177b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
178b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      /** New script code in Unicode 4.0.1 @stable ICU 3.0 */
179b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KATAKANA_OR_HIRAGANA = 54,/*Hrkt */
18027f654740f2a26ad62a5c155af9199af9e69b889claireho
181b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /* New scripts in Unicode 4.1 */
182b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
183b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BUGINESE      = 55, /* Bugi */
184b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
185b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_GLAGOLITIC    = 56, /* Glag */
186b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
187b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KHAROSHTHI    = 57, /* Khar */
188b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
189b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SYLOTI_NAGRI  = 58, /* Sylo */
190b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
191b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_NEW_TAI_LUE   = 59, /* Talu */
192b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
193b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TIFINAGH      = 60, /* Tfng */
194b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.4 */
195b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OLD_PERSIAN   = 61, /* Xpeo */
196b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
197f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /* New script codes from Unicode and ISO 15924 */
198b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
199b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BALINESE                      = 62, /* Bali */
200b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
201b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BATAK                         = 63, /* Batk */
202b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
203b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BLISSYMBOLS                   = 64, /* Blis */
204b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
205b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_BRAHMI                        = 65, /* Brah */
206b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
207b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CHAM                          = 66, /* Cham */
208b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
209b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CIRTH                         = 67, /* Cirt */
210b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
211b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC  = 68, /* Cyrs */
212b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
213b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_DEMOTIC_EGYPTIAN              = 69, /* Egyd */
214b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
215b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HIERATIC_EGYPTIAN             = 70, /* Egyh */
216b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
217b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_EGYPTIAN_HIEROGLYPHS          = 71, /* Egyp */
218b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
219b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KHUTSURI                      = 72, /* Geok */
220b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
221b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SIMPLIFIED_HAN                = 73, /* Hans */
222b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
223b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TRADITIONAL_HAN               = 74, /* Hant */
224b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
225b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_PAHAWH_HMONG                  = 75, /* Hmng */
226b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
227b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OLD_HUNGARIAN                 = 76, /* Hung */
228b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
229b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_HARAPPAN_INDUS                = 77, /* Inds */
230b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
231b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_JAVANESE                      = 78, /* Java */
232b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
233b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_KAYAH_LI                      = 79, /* Kali */
234b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
235b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LATIN_FRAKTUR                 = 80, /* Latf */
236b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
237b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LATIN_GAELIC                  = 81, /* Latg */
238b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
239b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LEPCHA                        = 82, /* Lepc */
240b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
241b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LINEAR_A                      = 83, /* Lina */
24227f654740f2a26ad62a5c155af9199af9e69b889claireho      /** @stable ICU 4.6 */
24327f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MANDAIC                       = 84, /* Mand */
24427f654740f2a26ad62a5c155af9199af9e69b889claireho      /** @stable ICU 3.6 */
24527f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MANDAEAN                      = USCRIPT_MANDAIC,
246b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
247b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MAYAN_HIEROGLYPHS             = 85, /* Maya */
24827f654740f2a26ad62a5c155af9199af9e69b889claireho      /** @stable ICU 4.6 */
24927f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MEROITIC_HIEROGLYPHS          = 86, /* Mero */
25027f654740f2a26ad62a5c155af9199af9e69b889claireho      /** @stable ICU 3.6 */
25127f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MEROITIC                      = USCRIPT_MEROITIC_HIEROGLYPHS,
252b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
253b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_NKO                           = 87, /* Nkoo */
254b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
255b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ORKHON                        = 88, /* Orkh */
256b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
257b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OLD_PERMIC                    = 89, /* Perm */
258b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
259b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_PHAGS_PA                      = 90, /* Phag */
260b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
261b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_PHOENICIAN                    = 91, /* Phnx */
26259d709d503bab6e2b61931737e662dd293b40578ccornelius      /** @stable ICU 52 */
26359d709d503bab6e2b61931737e662dd293b40578ccornelius      USCRIPT_MIAO                          = 92, /* Plrd */
264b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
26559d709d503bab6e2b61931737e662dd293b40578ccornelius      USCRIPT_PHONETIC_POLLARD              = USCRIPT_MIAO,
266b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
267b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_RONGORONGO                    = 93, /* Roro */
268b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
269b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SARATI                        = 94, /* Sara */
270b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
271b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_ESTRANGELO_SYRIAC             = 95, /* Syre */
272b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
273b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_WESTERN_SYRIAC                = 96, /* Syrj */
274b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
275b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_EASTERN_SYRIAC                = 97, /* Syrn */
276b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
277b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_TENGWAR                       = 98, /* Teng */
278b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
279b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_VAI                           = 99, /* Vaii */
280b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
28150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_VISIBLE_SPEECH                = 100,/* Visp */
282b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
283b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CUNEIFORM                     = 101,/* Xsux */
284b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
285b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_UNWRITTEN_LANGUAGES           = 102,/* Zxxx */
286b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.6 */
287b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_UNKNOWN                       = 103,/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */
288b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
289b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
290b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_CARIAN                        = 104,/* Cari */
291b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
292b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_JAPANESE                      = 105,/* Jpan */
293b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
294b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LANNA                         = 106,/* Lana */
295b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
296b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LYCIAN                        = 107,/* Lyci */
297b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
298b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_LYDIAN                        = 108,/* Lydi */
299b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
300b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_OL_CHIKI                      = 109,/* Olck */
301b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
302b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_REJANG                        = 110,/* Rjng */
303b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
304b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SAURASHTRA                    = 111,/* Saur */
305c14898b482f76ecab9026615e2e4c6fe78358bdcFredrik Roubert      /** Sutton SignWriting @stable ICU 3.8 */
306b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SIGN_WRITING                  = 112,/* Sgnw */
307b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
308b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_SUNDANESE                     = 113,/* Sund */
309b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
310b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MOON                          = 114,/* Moon */
311b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 3.8 */
312b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru      USCRIPT_MEITEI_MAYEK                  = 115,/* Mtei */
313b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
314b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
315c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_IMPERIAL_ARAMAIC              = 116,/* Armi */
316b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
317c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_AVESTAN                       = 117,/* Avst */
318b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
319c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_CHAKMA                        = 118,/* Cakm */
320b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
321c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_KOREAN                        = 119,/* Kore */
322b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
323c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_KAITHI                        = 120,/* Kthi */
324b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
325c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_MANICHAEAN                    = 121,/* Mani */
326b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
327c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_INSCRIPTIONAL_PAHLAVI         = 122,/* Phli */
328b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
329c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_PSALTER_PAHLAVI               = 123,/* Phlp */
330b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
331c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_BOOK_PAHLAVI                  = 124,/* Phlv */
332b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
333c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_INSCRIPTIONAL_PARTHIAN        = 125,/* Prti */
334b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
335c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_SAMARITAN                     = 126,/* Samr */
336b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
337c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_TAI_VIET                      = 127,/* Tavt */
338b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
339c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_MATHEMATICAL_NOTATION         = 128,/* Zmth */
340b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.0 */
341c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru      USCRIPT_SYMBOLS                       = 129,/* Zsym */
342c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste Queru
343b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.4 */
34450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_BAMUM                         = 130,/* Bamu */
345b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.4 */
34650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_LISU                          = 131,/* Lisu */
347b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.4 */
34850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_NAKHI_GEBA                    = 132,/* Nkgb */
349b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.4 */
35050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho      USCRIPT_OLD_SOUTH_ARABIAN             = 133,/* Sarb */
35150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho
352b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
35327f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_BASSA_VAH                     = 134,/* Bass */
354f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
355f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_DUPLOYAN                      = 135,/* Dupl */
356f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#ifndef U_HIDE_DEPRECATED_API
357f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @deprecated ICU 54 Typo, use USCRIPT_DUPLOYAN */
358f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_DUPLOYAN_SHORTAND             = USCRIPT_DUPLOYAN,
359f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius#endif  /* U_HIDE_DEPRECATED_API */
360b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
36127f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_ELBASAN                       = 136,/* Elba */
362b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
36327f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_GRANTHA                       = 137,/* Gran */
364b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
36527f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_KPELLE                        = 138,/* Kpel */
366b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
36727f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_LOMA                          = 139,/* Loma */
368f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** Mende Kikakui @stable ICU 4.6 */
36927f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MENDE                         = 140,/* Mend */
370b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
37127f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_MEROITIC_CURSIVE              = 141,/* Merc */
372b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
37327f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_OLD_NORTH_ARABIAN             = 142,/* Narb */
374b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
37527f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_NABATAEAN                     = 143,/* Nbat */
376b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
37727f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_PALMYRENE                     = 144,/* Palm */
378f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
379f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_KHUDAWADI                     = 145,/* Sind */
380b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
381f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_SINDHI                        = USCRIPT_KHUDAWADI,
382b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.6 */
38327f654740f2a26ad62a5c155af9199af9e69b889claireho      USCRIPT_WARANG_CITI                   = 146,/* Wara */
38427f654740f2a26ad62a5c155af9199af9e69b889claireho
385b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
386b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_AFAKA                         = 147,/* Afak */
387b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
388b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_JURCHEN                       = 148,/* Jurc */
389b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
390b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_MRO                           = 149,/* Mroo */
391b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
392b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_NUSHU                         = 150,/* Nshu */
393b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
394b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_SHARADA                       = 151,/* Shrd */
395b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
396b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_SORA_SOMPENG                  = 152,/* Sora */
397b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
398b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_TAKRI                         = 153,/* Takr */
399b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
400b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_TANGUT                        = 154,/* Tang */
401b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      /** @stable ICU 4.8 */
402b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho      USCRIPT_WOLEAI                        = 155,/* Wole */
403b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho
404103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      /** @stable ICU 49 */
405103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      USCRIPT_ANATOLIAN_HIEROGLYPHS         = 156,/* Hluw */
406103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      /** @stable ICU 49 */
407103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      USCRIPT_KHOJKI                        = 157,/* Khoj */
408103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      /** @stable ICU 49 */
409103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius      USCRIPT_TIRHUTA                       = 158,/* Tirh */
410103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius
41159d709d503bab6e2b61931737e662dd293b40578ccornelius      /** @stable ICU 52 */
41259d709d503bab6e2b61931737e662dd293b40578ccornelius      USCRIPT_CAUCASIAN_ALBANIAN            = 159,/* Aghb */
41359d709d503bab6e2b61931737e662dd293b40578ccornelius      /** @stable ICU 52 */
41459d709d503bab6e2b61931737e662dd293b40578ccornelius      USCRIPT_MAHAJANI                      = 160,/* Mahj */
41559d709d503bab6e2b61931737e662dd293b40578ccornelius
416f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
417f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_AHOM                          = 161,/* Ahom */
418f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
419f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_HATRAN                        = 162,/* Hatr */
420f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
421f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_MODI                          = 163,/* Modi */
422f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
423f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_MULTANI                       = 164,/* Mult */
424f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
425f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_PAU_CIN_HAU                   = 165,/* Pauc */
426f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      /** @stable ICU 54 */
427f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius      USCRIPT_SIDDHAM                       = 166,/* Sidd */
428f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius
42964339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
43064339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_ADLAM                         = 167,/* Adlm */
43164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
43264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_BHAIKSUKI                     = 168,/* Bhks */
43364339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
43464339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_MARCHEN                       = 169,/* Marc */
43564339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
43664339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_NEWA                          = 170,/* Newa */
43764339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
43864339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_OSAGE                         = 171,/* Osge */
43964339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert
44064339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
44164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_HAN_WITH_BOPOMOFO             = 172,/* Hanb */
44264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
44364339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_JAMO                          = 173,/* Jamo */
44464339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      /** @stable ICU 58 */
44564339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert      USCRIPT_SYMBOLS_EMOJI                 = 174,/* Zsye */
44664339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert
447ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      /** @stable ICU 60 */
448ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      USCRIPT_MASARAM_GONDI                 = 175,/* Gonm */
449ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      /** @stable ICU 60 */
450ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      USCRIPT_SOYOMBO                       = 176,/* Soyo */
451ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      /** @stable ICU 60 */
452ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert      USCRIPT_ZANABAZAR_SQUARE              = 177,/* Zanb */
453ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert
45464339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert#ifndef U_HIDE_DEPRECATED_API
45564339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert    /**
45664339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert     * One more than the highest normal UScriptCode value.
45764339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert     * The highest value is available via u_getIntPropertyMaxValue(UCHAR_SCRIPT).
45864339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert     *
45964339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert     * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
46064339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert     */
461ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert    USCRIPT_CODE_LIMIT    = 178
46264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert#endif  // U_HIDE_DEPRECATED_API
463b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} UScriptCode;
464b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
465b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
46664339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * Gets the script codes associated with the given locale or ISO 15924 abbreviation or name.
467b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Fills in USCRIPT_MALAYALAM given "Malayam" OR "Mlym".
46864339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * Fills in USCRIPT_LATIN given "en" OR "en_US"
469f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * If the required capacity is greater than the capacity of the destination buffer,
470f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * then the error code is set to U_BUFFER_OVERFLOW_ERROR and the required capacity is returned.
471b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru *
472b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * <p>Note: To search by short or long script alias only, use
473f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * u_getPropertyValueEnum(UCHAR_SCRIPT, alias) instead.  That does
474b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * a fast lookup with no access of the locale data.
475f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius *
476b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param nameOrAbbrOrLocale name of the script, as given in
477b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * PropertyValueAliases.txt, or ISO 15924 code or locale
478b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param fillIn the UScriptCode buffer to fill in the script code
479b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param capacity the capacity (size) fo UScriptCode buffer passed in.
480b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param err the error status code.
48164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * @return The number of script codes filled in the buffer passed in
482b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @stable ICU 2.4
483b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
48464339d36f8bd4db5025fe2988eda22b491a9219cFredrik RoubertU_STABLE int32_t  U_EXPORT2
485b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruuscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
486b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
487b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
488f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * Returns the long Unicode script name, if there is one.
489f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * Otherwise returns the 4-letter ISO 15924 script code.
490f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * Returns "Malayam" given USCRIPT_MALAYALAM.
491f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius *
492b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param scriptCode UScriptCode enum
493f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * @return long script name as given in PropertyValueAliases.txt, or the 4-letter code,
494f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * or NULL if scriptCode is invalid
495b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @stable ICU 2.4
496b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
49764339d36f8bd4db5025fe2988eda22b491a9219cFredrik RoubertU_STABLE const char*  U_EXPORT2
498b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruuscript_getName(UScriptCode scriptCode);
499b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
500b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/**
501f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * Returns the 4-letter ISO 15924 script code,
502f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * which is the same as the short Unicode script name if Unicode has names for the script.
503f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * Returns "Mlym" given USCRIPT_MALAYALAM.
504f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius *
505b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param scriptCode UScriptCode enum
506f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius * @return short script name (4-letter code), or NULL if scriptCode is invalid
507b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @stable ICU 2.4
508b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
50964339d36f8bd4db5025fe2988eda22b491a9219cFredrik RoubertU_STABLE const char*  U_EXPORT2
510b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruuscript_getShortName(UScriptCode scriptCode);
511b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
51227f654740f2a26ad62a5c155af9199af9e69b889claireho/**
513b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Gets the script code associated with the given codepoint.
51464339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * Returns USCRIPT_MALAYALAM given 0x0D02
515b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param codepoint UChar32 codepoint
516b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param err the error status code.
51764339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert * @return The UScriptCode, or 0 if codepoint is invalid
518b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @stable ICU 2.4
519b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */
52064339d36f8bd4db5025fe2988eda22b491a9219cFredrik RoubertU_STABLE UScriptCode  U_EXPORT2
521b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruuscript_getScript(UChar32 codepoint, UErrorCode *err);
522b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
52327f654740f2a26ad62a5c155af9199af9e69b889claireho/**
524103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * Do the Script_Extensions of code point c contain script sc?
525103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * If c does not have explicit Script_Extensions, then this tests whether
526103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * c has the Script property value sc.
52727f654740f2a26ad62a5c155af9199af9e69b889claireho *
52827f654740f2a26ad62a5c155af9199af9e69b889claireho * Some characters are commonly used in multiple scripts.
52927f654740f2a26ad62a5c155af9199af9e69b889claireho * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
53027f654740f2a26ad62a5c155af9199af9e69b889claireho * @param c code point
53127f654740f2a26ad62a5c155af9199af9e69b889claireho * @param sc script code
532103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @return TRUE if sc is in Script_Extensions(c)
5338393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @stable ICU 49
53427f654740f2a26ad62a5c155af9199af9e69b889claireho */
5358393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_STABLE UBool U_EXPORT2
53627f654740f2a26ad62a5c155af9199af9e69b889clairehouscript_hasScript(UChar32 c, UScriptCode sc);
537b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
53827f654740f2a26ad62a5c155af9199af9e69b889claireho/**
53927f654740f2a26ad62a5c155af9199af9e69b889claireho * Writes code point c's Script_Extensions as a list of UScriptCode values
540103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * to the output scripts array and returns the number of script codes.
541103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * - If c does have Script_Extensions, then the Script property value
542103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius *   (normally Common or Inherited) is not included.
543103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * - If c does not have Script_Extensions, then the one Script code is written to the output array.
544103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * - If c is not a valid code point, then the one USCRIPT_UNKNOWN code is written.
545103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * In other words, if the return value is 1,
546103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * then the output array contains exactly c's single Script code.
547103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * If the return value is n>=2, then the output array contains c's n Script_Extensions script codes.
54827f654740f2a26ad62a5c155af9199af9e69b889claireho *
54927f654740f2a26ad62a5c155af9199af9e69b889claireho * Some characters are commonly used in multiple scripts.
55027f654740f2a26ad62a5c155af9199af9e69b889claireho * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
55127f654740f2a26ad62a5c155af9199af9e69b889claireho *
55227f654740f2a26ad62a5c155af9199af9e69b889claireho * If there are more than capacity script codes to be written, then
55327f654740f2a26ad62a5c155af9199af9e69b889claireho * U_BUFFER_OVERFLOW_ERROR is set and the number of Script_Extensions is returned.
55427f654740f2a26ad62a5c155af9199af9e69b889claireho * (Usual ICU buffer handling behavior.)
55527f654740f2a26ad62a5c155af9199af9e69b889claireho *
55627f654740f2a26ad62a5c155af9199af9e69b889claireho * @param c code point
55727f654740f2a26ad62a5c155af9199af9e69b889claireho * @param scripts output script code array
55827f654740f2a26ad62a5c155af9199af9e69b889claireho * @param capacity capacity of the scripts array
55927f654740f2a26ad62a5c155af9199af9e69b889claireho * @param errorCode Standard ICU error code. Its input value must
56027f654740f2a26ad62a5c155af9199af9e69b889claireho *                  pass the U_SUCCESS() test, or else the function returns
56127f654740f2a26ad62a5c155af9199af9e69b889claireho *                  immediately. Check for U_FAILURE() on output or use with
56227f654740f2a26ad62a5c155af9199af9e69b889claireho *                  function chaining. (See User Guide for details.)
563103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius * @return number of script codes in c's Script_Extensions, or 1 for the single Script value,
56427f654740f2a26ad62a5c155af9199af9e69b889claireho *         written to scripts unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity
5658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @stable ICU 49
56627f654740f2a26ad62a5c155af9199af9e69b889claireho */
5678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_STABLE int32_t U_EXPORT2
56827f654740f2a26ad62a5c155af9199af9e69b889clairehouscript_getScriptExtensions(UChar32 c,
56927f654740f2a26ad62a5c155af9199af9e69b889claireho                            UScriptCode *scripts, int32_t capacity,
570b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho                            UErrorCode *errorCode);
5718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
5728393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
5738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Script usage constants.
5748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * See UAX #31 Unicode Identifier and Pattern Syntax.
5758393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers
5768393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
577fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
5788393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
5798393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliustypedef enum UScriptUsage {
580fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Not encoded in Unicode. @stable ICU 51 */
5818393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_NOT_ENCODED,
582fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Unknown script usage. @stable ICU 51 */
5838393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_UNKNOWN,
584fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Candidate for Exclusion from Identifiers. @stable ICU 51 */
5858393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_EXCLUDED,
586fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Limited Use script. @stable ICU 51 */
5878393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_LIMITED_USE,
588fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Aspirational Use script. @stable ICU 51 */
5898393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_ASPIRATIONAL,
590fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    /** Recommended script. @stable ICU 51 */
5918393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    USCRIPT_USAGE_RECOMMENDED
5928393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius} UScriptUsage;
5938393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
5948393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
5958393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Writes the script sample character string.
5968393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * This string normally consists of one code point but might be longer.
5978393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * The string is empty if the script is not encoded.
5988393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
5998393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6008393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param dest output string array
6018393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param capacity number of UChars in the dest array
6028393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param pErrorCode standard ICU in/out error code, must pass U_SUCCESS() on input
6038393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return the string length, even if U_BUFFER_OVERFLOW_ERROR
604fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6058393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
606fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_STABLE int32_t U_EXPORT2
6078393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode);
6088393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6098393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#if U_SHOW_CPLUSPLUS_API
6108393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6118393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_BEGIN
6128393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliusclass UnicodeString;
6138393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_NAMESPACE_END
6148393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6158393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
6168393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns the script sample character string.
6178393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * This string normally consists of one code point but might be longer.
6188393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * The string is empty if the script is not encoded.
6198393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
6208393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6218393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return the sample character string
622fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6238393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
6248393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_COMMON_API icu::UnicodeString U_EXPORT2
6258393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_getSampleUnicodeString(UScriptCode script);
6268393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6278393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#endif
6288393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6298393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
6308393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns the script usage according to UAX #31 Unicode Identifier and Pattern Syntax.
6318393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns USCRIPT_USAGE_NOT_ENCODED if the script is not encoded in Unicode.
6328393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
6338393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6348393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return script usage
6358393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @see UScriptUsage
636fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6378393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
638fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_STABLE UScriptUsage U_EXPORT2
6398393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_getUsage(UScriptCode script);
6408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6418393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
6428393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns TRUE if the script is written right-to-left.
6438393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * For example, Arab and Hebr.
6448393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
6458393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6468393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return TRUE if the script is right-to-left
647fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6488393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
649fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_STABLE UBool U_EXPORT2
6508393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_isRightToLeft(UScriptCode script);
6518393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6528393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
6538393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns TRUE if the script allows line breaks between letters (excluding hyphenation).
6548393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Such a script typically requires dictionary-based line breaking.
6558393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * For example, Hani and Thai.
6568393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
6578393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return TRUE if the script allows line breaks between letters
659fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6608393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
661fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_STABLE UBool U_EXPORT2
6628393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_breaksBetweenLetters(UScriptCode script);
6638393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
6648393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius/**
6658393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * Returns TRUE if in modern (or most recent) usage of the script case distinctions are customary.
6668393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * For example, Latn and Cyrl.
6678393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius *
6688393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @param script script code
6698393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius * @return TRUE if the script is cased
670fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * @stable ICU 51
6718393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius */
672fceb39872958b9fa2505e63f8b8699a9e0f882f4ccorneliusU_STABLE UBool U_EXPORT2
6738393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Corneliususcript_isCased(UScriptCode script);
6748393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius
67527f654740f2a26ad62a5c155af9199af9e69b889claireho#endif
676