12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 5bee65486a185907111f3be60992433e133ec0e32Scott Russell * Copyright (C) 2001-2016 International Business Machines Corporation and 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved. 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.lang; 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.BitSet; 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport java.util.Locale; 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.impl.UCharacterProperty; 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.util.ULocale; 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 19f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * Constants for ISO 15924 script codes, and related functions. 20f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 21f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * <p>The current set of script code constants supports at least all scripts 22f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * that are encoded in the version of Unicode which ICU currently supports. 23f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * The names of the constants are usually derived from the 24f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * Unicode script property value aliases. 25f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * See UAX #24 Unicode Script Property (http://www.unicode.org/reports/tr24/) 26f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * and http://www.unicode.org/Public/UCD/latest/ucd/PropertyValueAliases.txt . 27f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 282d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * <p>In addition, constants for many ISO 15924 script codes 29f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * are included, for use with language tags, CLDR data, and similar. 30f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * Some of those codes are not used in the Unicode Character Database (UCD). 31f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * For example, there are no characters that have a UCD script property value of 32f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * Hans or Hant. All Han ideographs have the Hani script property value in Unicode. 33f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 342d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * <p>Private-use codes Qaaa..Qabx are not included, except as used in the UCD or in CLDR. 35f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 36f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * <p>Starting with ICU 55, script codes are only added when their scripts 37f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * have been or will certainly be encoded in Unicode, 38f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * and have been assigned Unicode script property value aliases, 39f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * to ensure that their script names are stable and match the names of the constants. 40f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * Script codes like Latf and Aran that are not subject to separate encoding 41f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * may be added at any time. 42f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic final class UScript { 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Invalid code 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int INVALID_CODE = -1; 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Common 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int COMMON = 0; /* Zyyy */ 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Inherited 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int INHERITED = 1; /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */ 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Arabic 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ARABIC = 2; /* Arab */ 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Armenian 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ARMENIAN = 3; /* Armn */ 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Bengali 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BENGALI = 4; /* Beng */ 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Bopomofo 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BOPOMOFO = 5; /* Bopo */ 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Cherokee 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CHEROKEE = 6; /* Cher */ 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Coptic 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int COPTIC = 7; /* Qaac */ 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Cyrillic 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CYRILLIC = 8; /* Cyrl (Cyrs) */ 967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Deseret 987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int DESERET = 9; /* Dsrt */ 1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Devanagari 1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int DEVANAGARI = 10; /* Deva */ 1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Ethiopic 1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ETHIOPIC = 11; /* Ethi */ 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Georgian 1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GEORGIAN = 12; /* Geor (Geon; Geoa) */ 1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gothic 1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GOTHIC = 13; /* Goth */ 1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Greek 1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GREEK = 14; /* Grek */ 1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gujarati 1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GUJARATI = 15; /* Gujr */ 1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gurmukhi 1337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GURMUKHI = 16; /* Guru */ 1367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Han 1387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HAN = 17; /* Hani */ 1417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Hangul 1437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HANGUL = 18; /* Hang */ 1467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Hebrew 1487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HEBREW = 19; /* Hebr */ 1517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Hiragana 1537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HIRAGANA = 20; /* Hira */ 1567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Kannada 1587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KANNADA = 21; /* Knda */ 1617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Katakana 1637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KATAKANA = 22; /* Kana */ 1667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Khmer 1687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KHMER = 23; /* Khmr */ 1717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Lao 1737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LAO = 24; /* Laoo */ 1767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Latin 1787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LATIN = 25; /* Latn (Latf; Latg) */ 1817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Malayalam 1837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MALAYALAM = 26; /* Mlym */ 1867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Mangolian 1887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MONGOLIAN = 27; /* Mong */ 1917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Myammar 1937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MYANMAR = 28; /* Mymr */ 1967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Ogham 1987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 1997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OGHAM = 29; /* Ogam */ 2017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Old Itallic 2037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_ITALIC = 30; /* Ital */ 2067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Oriya 2087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ORIYA = 31; /* Orya */ 2117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Runic 2137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int RUNIC = 32; /* Runr */ 2167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Sinhala 2187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SINHALA = 33; /* Sinh */ 2217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Syriac 2237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SYRIAC = 34; /* Syrc (Syrj; Syrn; Syre) */ 2267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Tamil 2287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TAMIL = 35; /* Taml */ 2317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Telugu 2337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TELUGU = 36; /* Telu */ 2367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Thana 2387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int THAANA = 37; /* Thaa */ 2417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Thai 2437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int THAI = 38; /* Thai */ 2467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Tibetan 2487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TIBETAN = 39; /* Tibt */ 2517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Unified Canadian Aboriginal Symbols 2537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.6 2547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CANADIAN_ABORIGINAL = 40; /* Cans */ 2567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Unified Canadian Aboriginal Symbols (alias) 2587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int UCAS = CANADIAN_ABORIGINAL; /* Cans */ 2617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Yi syllables 2637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int YI = 41; /* Yiii */ 2667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Tagalog 2687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TAGALOG = 42; /* Tglg */ 2717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Hanunooo 2737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HANUNOO = 43; /* Hano */ 2767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Buhid 2787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BUHID = 44; /* Buhd */ 2817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Tagbanwa 2837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 2847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 2857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TAGBANWA = 45; /* Tagb */ 2867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Braille 2882d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 2892d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 2902d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 2912d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 2927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BRAILLE = 46; /* Brai */ 2937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 2947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Cypriot 2952d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 2962d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 2972d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 2982d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 2992d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int CYPRIOT = 47; /* Cprt */ 3007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Limbu 3022d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3032d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3042d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3052d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3062d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int LIMBU = 48; /* Limb */ 3077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Linear B 3092d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3102d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3112d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3122d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3132d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int LINEAR_B = 49; /* Linb */ 3147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Osmanya 3162d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3172d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3182d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3192d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3202d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int OSMANYA = 50; /* Osma */ 3217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Shavian 3232d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3242d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3252d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3262d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3272d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int SHAVIAN = 51; /* Shaw */ 3287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Tai Le 3302d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3312d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3322d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3332d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3342d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int TAI_LE = 52; /* Tale */ 3357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Ugaritic 3372d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Script in Unicode 4 3382d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 2.6 3392d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * 3402d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 3412d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int UGARITIC = 53; /* Ugar */ 3427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.0.1 3447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.0 3457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KATAKANA_OR_HIRAGANA = 54; /*Hrkt */ 3477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BUGINESE = 55; /* Bugi */ 3537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GLAGOLITIC = 56; /* Glag */ 3587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KHAROSHTHI = 57; /* Khar */ 3637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SYLOTI_NAGRI = 58; /* Sylo */ 3687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int NEW_TAI_LUE = 59; /* Talu */ 3737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TIFINAGH = 60; /* Tfng */ 3787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script in Unicode 4.1 3807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.4 3817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_PERSIAN = 61; /* Xpeo */ 3837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 3857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 3877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 3887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BALINESE = 62; /* Bali */ 3907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 3927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 3937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BATAK = 63; /* Batk */ 3957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 3967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 3977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 3987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 3997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BLISSYMBOLS = 64; /* Blis */ 4007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BRAHMI = 65; /* Brah */ 4057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CHAM = 66; /* Cham */ 4107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CIRTH = 67; /* Cirt */ 4157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_CHURCH_SLAVONIC_CYRILLIC = 68; /* Cyrs */ 4207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int DEMOTIC_EGYPTIAN = 69; /* Egyd */ 4257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HIERATIC_EGYPTIAN = 70; /* Egyh */ 4307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int EGYPTIAN_HIEROGLYPHS = 71; /* Egyp */ 4357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KHUTSURI = 72; /* Geok */ 4407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SIMPLIFIED_HAN = 73; /* Hans */ 4457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TRADITIONAL_HAN = 74; /* Hant */ 4507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PAHAWH_HMONG = 75; /* Hmng */ 4557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_HUNGARIAN = 76; /* Hung */ 4607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HARAPPAN_INDUS = 77; /* Inds */ 4657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int JAVANESE = 78; /* Java */ 4707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KAYAH_LI = 79; /* Kali */ 4757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LATIN_FRAKTUR = 80; /* Latf */ 4807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LATIN_GAELIC = 81; /* Latg */ 4857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LEPCHA = 82; /* Lepc */ 4907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 4937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LINEAR_A = 83; /* Lina */ 4957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 4967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 4977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 4987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 4997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MANDAIC = 84; /* Mand */ 5007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MANDAEAN = MANDAIC; 5057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MAYAN_HIEROGLYPHS = 85; /* Maya */ 5107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 5137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MEROITIC_HIEROGLYPHS = 86; /* Mero */ 5157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MEROITIC = MEROITIC_HIEROGLYPHS; 5207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int NKO = 87; /* Nkoo */ 5257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ORKHON = 88; /* Orkh */ 5307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_PERMIC = 89; /* Perm */ 5357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PHAGS_PA = 90; /* Phag */ 5407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PHOENICIAN = 91; /* Phnx */ 5457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 52 5487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MIAO = 92; /* Plrd */ 5507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PHONETIC_POLLARD = MIAO; 5557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int RONGORONGO = 93; /* Roro */ 5607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SARATI = 94; /* Sara */ 5657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ESTRANGELO_SYRIAC = 95; /* Syre */ 5707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int WESTERN_SYRIAC = 96; /* Syrj */ 5757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int EASTERN_SYRIAC = 97; /* Syrn */ 5807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TENGWAR = 98; /* Teng */ 5857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int VAI = 99; /* Vaii */ 5907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int VISIBLE_SPEECH = 100;/* Visp */ 5957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 5967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 5977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 5987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 5997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CUNEIFORM = 101;/* Xsux */ 6007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 6037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int UNWRITTEN_LANGUAGES = 102;/* Zxxx */ 6057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.6 6087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int UNKNOWN = 103;/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */ 6107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6142d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 6157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CARIAN = 104;/* Cari */ 6167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int JAPANESE = 105;/* Jpan */ 6217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LANNA = 106;/* Lana */ 6267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LYCIAN = 107;/* Lyci */ 6317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LYDIAN = 108;/* Lydi */ 6367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OL_CHIKI = 109;/* Olck */ 6417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int REJANG = 110;/* Rjng */ 6467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SAURASHTRA = 111;/* Saur */ 6517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 652bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * ISO 15924 script code for Sutton SignWriting 6537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SIGN_WRITING = 112;/* Sgnw */ 6567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SUNDANESE = 113;/* Sund */ 6617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MOON = 114;/* Moon */ 6667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.8 6697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MEITEI_MAYEK = 115;/* Mtei */ 6717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 6757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int IMPERIAL_ARAMAIC = 116;/* Armi */ 6777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 6817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int AVESTAN = 117;/* Avst */ 6837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 6877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CHAKMA = 118;/* Cakm */ 6897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 6937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 6947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KOREAN = 119;/* Kore */ 6957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 6967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 6977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 6987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 6997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KAITHI = 120;/* Kthi */ 7017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MANICHAEAN = 121;/* Mani */ 7077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int INSCRIPTIONAL_PAHLAVI = 122;/* Phli */ 7137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PSALTER_PAHLAVI = 123;/* Phlp */ 7197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BOOK_PAHLAVI = 124;/* Phlv */ 7257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int INSCRIPTIONAL_PARTHIAN = 125;/* Prti */ 7317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SAMARITAN = 126;/* Samr */ 7377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TAI_VIET = 127;/* Tavt */ 7437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MATHEMATICAL_NOTATION = 128;/* Zmth */ 7497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.0 7537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SYMBOLS = 129;/* Zsym */ 7557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.4 7597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BAMUM = 130;/* Bamu */ 7617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.4 7647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LISU = 131;/* Lisu */ 7667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.4 7697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int NAKHI_GEBA = 132;/* Nkgb */ 7717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.4 7747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_SOUTH_ARABIAN = 133;/* Sarb */ 7767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 7777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 7807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int BASSA_VAH = 134;/* Bass */ 7827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 7857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int DUPLOYAN = 135;/* Dupl */ 7877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Typo, use DUPLOYAN 7897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @deprecated ICU 54 7907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert @Deprecated 7927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int DUPLOYAN_SHORTAND = DUPLOYAN; 7937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 7957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 7967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 7977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ELBASAN = 136;/* Elba */ 7987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 7997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int GRANTHA = 137;/* Gran */ 8037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KPELLE = 138;/* Kpel */ 8087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int LOMA = 139;/* Loma */ 8137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Mende Kikakui 8157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MENDE = 140;/* Mend */ 8197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MEROITIC_CURSIVE = 141;/* Merc */ 8247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int OLD_NORTH_ARABIAN = 142;/* Narb */ 8297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int NABATAEAN = 143;/* Nbat */ 8347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PALMYRENE = 144;/* Palm */ 8397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 8427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KHUDAWADI = 145;/* Sind */ 8447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SINDHI = KHUDAWADI; 8497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.6 8527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int WARANG_CITI = 146;/* Wara */ 8547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 8557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int AFAKA = 147;/* Afak */ 8607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int JURCHEN = 148;/* Jurc */ 8657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MRO = 149;/* Mroo */ 8707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int NUSHU = 150;/* Nshu */ 8757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SHARADA = 151;/* Shrd */ 8807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SORA_SOMPENG = 152;/* Sora */ 8857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TAKRI = 153;/* Takr */ 8907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TANGUT = 154;/* Tang */ 8957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 8967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 8977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 4.8 8987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 8997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int WOLEAI = 155;/* Wole */ 9007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 9017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 49 9047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int ANATOLIAN_HIEROGLYPHS = 156;/* Hluw */ 9067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 49 9097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int KHOJKI = 157;/* Khoj */ 9117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 49 9147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int TIRHUTA = 158;/* Tirh */ 9167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 52 9197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int CAUCASIAN_ALBANIAN = 159; /* Aghb */ 9217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 52 9247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MAHAJANI = 160; /* Mahj */ 9267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 9277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int AHOM = 161; /* Ahom */ 9327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int HATRAN = 162; /* Hatr */ 9377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MODI = 163; /* Modi */ 9427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int MULTANI = 164; /* Mult */ 9477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int PAU_CIN_HAU = 165; /* Pauc */ 9527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ISO 15924 script code 9547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 54 9557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 9567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int SIDDHAM = 166; /* Sidd */ 9577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 9587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 9592d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9602d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9612d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9622d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int ADLAM = 167; /* Adlm */ 9632d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9642d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9652d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9662d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9672d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int BHAIKSUKI = 168; /* Bhks */ 9682d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9692d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9702d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9712d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9722d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int MARCHEN = 169; /* Marc */ 9732d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9742d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9752d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9762d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9772d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int NEWA = 170; /* Newa */ 9782d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9792d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9802d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9812d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9822d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int OSAGE = 171; /* Osge */ 9832d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 9842d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9852d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9862d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9872d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9882d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int HAN_WITH_BOPOMOFO = 172; /* Hanb */ 9892d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9902d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9912d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9922d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9932d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int JAMO = 173; /* Jamo */ 9942d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 9952d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ISO 15924 script code 9962d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @stable ICU 58 9972d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 9982d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int SYMBOLS_EMOJI = 174; /* Zsye */ 9992d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 10002d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 10012d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * One more than the highest normal UScript code. 10022d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * The highest value is available via UCharacter.getIntPropertyMaxValue(UProperty.SCRIPT). 1003f716bda031dccdec5e47bb40e758c5901d209729Fredrik Roubert * 10042d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. 10057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 10062d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert @Deprecated 10072d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert public static final int CODE_LIMIT = 175; 10087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 10097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static int[] getCodesFromLocale(ULocale locale) { 10107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Multi-script languages, equivalent to the LocaleScript data 10117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // that we used to load from locale resource bundles. 10127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String lang = locale.getLanguage(); 10137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(lang.equals("ja")) { 10147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] { UScript.KATAKANA, UScript.HIRAGANA, UScript.HAN }; 10157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(lang.equals("ko")) { 10177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] { UScript.HANGUL, UScript.HAN }; 10187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert String script = locale.getScript(); 10207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(lang.equals("zh") && script.equals("Hant")) { 10217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] { UScript.HAN, UScript.BOPOMOFO }; 10227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Explicit script code. 10247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(script.length() != 0) { 10257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scriptCode = UScript.getCodeFromName(script); 10267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptCode != UScript.INVALID_CODE) { 10277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptCode == UScript.SIMPLIFIED_HAN || scriptCode == UScript.TRADITIONAL_HAN) { 10287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert scriptCode = UScript.HAN; 10297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] { scriptCode }; 10317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return null; 10347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 10367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 10377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Helper function to find the code from locale. 10387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param locale The locale. 10397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 10407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static int[] findCodeFromLocale(ULocale locale) { 10417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] result = getCodesFromLocale(locale); 10427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(result != null) { 10437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return result; 10447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ULocale likely = ULocale.addLikelySubtags(locale); 10467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return getCodesFromLocale(likely); 10477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 10497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 10507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets a script codes associated with the given locale or ISO 15924 abbreviation or name. 10517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns MALAYAM given "Malayam" OR "Mlym". 10527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns LATIN given "en" OR "en_US" 10537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param locale Locale 10547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return The script codes array. null if the the code cannot be found. 10557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 10567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 10577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int[] getCode(Locale locale){ 10587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return findCodeFromLocale(ULocale.forLocale(locale)); 10597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 10617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets a script codes associated with the given locale or ISO 15924 abbreviation or name. 10627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns MALAYAM given "Malayam" OR "Mlym". 10637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns LATIN given "en" OR "en_US" 10647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param locale ULocale 10657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return The script codes array. null if the the code cannot be found. 10667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 3.0 10677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 10687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int[] getCode(ULocale locale){ 10697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return findCodeFromLocale(locale); 10707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 10727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets the script codes associated with the given locale or ISO 15924 abbreviation or name. 10737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns MALAYAM given "Malayam" OR "Mlym". 10747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns LATIN given "en" OR "en_US" 10757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 10767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p>Note: To search by short or long script alias only, use 10777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * {@link #getCodeFromName(String)} instead. 10787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * That does a fast lookup with no access of the locale data. 10797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 10807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param nameOrAbbrOrLocale name of the script or ISO 15924 code or locale 10817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return The script codes array. null if the the code cannot be found. 10827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 10837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 10847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int[] getCode(String nameOrAbbrOrLocale) { 10857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert boolean triedCode = false; 10867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (nameOrAbbrOrLocale.indexOf('_') < 0 && nameOrAbbrOrLocale.indexOf('-') < 0) { 10877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int propNum = UCharacter.getPropertyValueEnumNoThrow(UProperty.SCRIPT, nameOrAbbrOrLocale); 10887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (propNum != UProperty.UNDEFINED) { 10897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] {propNum}; 10907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert triedCode = true; 10927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int[] scripts = findCodeFromLocale(new ULocale(nameOrAbbrOrLocale)); 10947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (scripts != null) { 10957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return scripts; 10967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 10977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (!triedCode) { 10987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int propNum = UCharacter.getPropertyValueEnumNoThrow(UProperty.SCRIPT, nameOrAbbrOrLocale); 10997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (propNum != UProperty.UNDEFINED) { 11007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new int[] {propNum}; 11017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return null; 11047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 11067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 11077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns the script code associated with the given Unicode script property alias 11087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (name or abbreviation). 11097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Short aliases are ISO 15924 script codes. 11107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns MALAYAM given "Malayam" OR "Mlym". 11117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 11127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param nameOrAbbr name of the script or ISO 15924 code 11137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return The script code value, or INVALID_CODE if the code cannot be found. 1114bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * @stable ICU 54 11157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 11167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int getCodeFromName(String nameOrAbbr) { 11177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int propNum = UCharacter.getPropertyValueEnumNoThrow(UProperty.SCRIPT, nameOrAbbr); 11187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return propNum == UProperty.UNDEFINED ? INVALID_CODE : propNum; 11197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 11217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 11227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets the script code associated with the given codepoint. 11237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns UScript.MALAYAM given 0x0D02 11247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param codepoint UChar32 codepoint 11257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return The script code 11267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 11277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 11287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int getScript(int codepoint){ 11297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (codepoint >= UCharacter.MIN_VALUE & codepoint <= UCharacter.MAX_VALUE) { 11307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scriptX=UCharacterProperty.INSTANCE.getAdditional(codepoint, 0)&UCharacterProperty.SCRIPT_X_MASK; 11317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptX<UCharacterProperty.SCRIPT_X_WITH_COMMON) { 11327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return scriptX; 11337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } else if(scriptX<UCharacterProperty.SCRIPT_X_WITH_INHERITED) { 11347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return UScript.COMMON; 11357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } else if(scriptX<UCharacterProperty.SCRIPT_X_WITH_OTHER) { 11367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return UScript.INHERITED; 11377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } else { 11387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return UCharacterProperty.INSTANCE.m_scriptExtensions_[scriptX&UCharacterProperty.SCRIPT_MASK_]; 11397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert }else{ 11417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert throw new IllegalArgumentException(Integer.toString(codepoint)); 11427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 11457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 11467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Do the Script_Extensions of code point c contain script sc? 11477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * If c does not have explicit Script_Extensions, then this tests whether 11487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * c has the Script property value sc. 11497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 11507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p>Some characters are commonly used in multiple scripts. 11517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For more information, see UAX #24: http://www.unicode.org/reports/tr24/. 11527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 11537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param c code point 11547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param sc script code 11557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return true if sc is in Script_Extensions(c) 11567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 49 11577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 11587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final boolean hasScript(int c, int sc) { 11597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scriptX=UCharacterProperty.INSTANCE.getAdditional(c, 0)&UCharacterProperty.SCRIPT_X_MASK; 11607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptX<UCharacterProperty.SCRIPT_X_WITH_COMMON) { 11617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return sc==scriptX; 11627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 11647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert char[] scriptExtensions=UCharacterProperty.INSTANCE.m_scriptExtensions_; 11657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scx=scriptX&UCharacterProperty.SCRIPT_MASK_; // index into scriptExtensions 11667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptX>=UCharacterProperty.SCRIPT_X_WITH_OTHER) { 11677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert scx=scriptExtensions[scx+1]; 11687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(sc>0x7fff) { 11707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Guard against bogus input that would 11717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // make us go past the Script_Extensions terminator. 11727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return false; 11737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert while(sc>scriptExtensions[scx]) { 11757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ++scx; 11767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return sc==(scriptExtensions[scx]&0x7fff); 11787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 11797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 11807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 11817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Sets code point c's Script_Extensions as script code integers into the output BitSet. 11827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <ul> 11837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <li>If c does have Script_Extensions, then the return value is 11847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * the negative number of Script_Extensions codes (= -set.cardinality()); 11857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * in this case, the Script property value 11867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (normally Common or Inherited) is not included in the set. 11877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <li>If c does not have Script_Extensions, then the one Script code is put into the set 11887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * and also returned. 11897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <li>If c is not a valid code point, then the one {@link #UNKNOWN} code is put into the set 11907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * and also returned. 11917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * </ul> 11927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * In other words, if the return value is non-negative, it is c's single Script code 11937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * and the set contains exactly this Script code. 1194bee65486a185907111f3be60992433e133ec0e32Scott Russell * If the return value is -n, then the set contains c's n>=2 Script_Extensions script codes. 11957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 11967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p>Some characters are commonly used in multiple scripts. 11977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For more information, see UAX #24: http://www.unicode.org/reports/tr24/. 11987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 11997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param c code point 12007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param set set of script code integers; will be cleared, then bits are set 12017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * corresponding to c's Script_Extensions 12027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return negative number of script codes in c's Script_Extensions, 12037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * or the non-negative single Script value 12047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 49 12057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 12067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final int getScriptExtensions(int c, BitSet set) { 12077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert set.clear(); 12087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scriptX=UCharacterProperty.INSTANCE.getAdditional(c, 0)&UCharacterProperty.SCRIPT_X_MASK; 12097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptX<UCharacterProperty.SCRIPT_X_WITH_COMMON) { 12107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert set.set(scriptX); 12117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return scriptX; 12127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 12137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert char[] scriptExtensions=UCharacterProperty.INSTANCE.m_scriptExtensions_; 12157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int scx=scriptX&UCharacterProperty.SCRIPT_MASK_; // index into scriptExtensions 12167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(scriptX>=UCharacterProperty.SCRIPT_X_WITH_OTHER) { 12177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert scx=scriptExtensions[scx+1]; 12187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 12197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int length=0; 12207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int sx; 12217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert do { 12227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert sx=scriptExtensions[scx++]; 12237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert set.set(sx&0x7fff); 12247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ++length; 12257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } while(sx<0x8000); 12267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // length==set.cardinality() 12277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return -length; 12287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 12297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 12317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns the long Unicode script name, if there is one. 12327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Otherwise returns the 4-letter ISO 15924 script code. 12337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns "Malayam" given MALAYALAM. 12347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 12357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param scriptCode int script code 12367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return long script name as given in PropertyValueAliases.txt, or the 4-letter code 12377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @throws IllegalArgumentException if the script code is not valid 12387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 12397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 12407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final String getName(int scriptCode){ 12417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return UCharacter.getPropertyValueName(UProperty.SCRIPT, 12427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert scriptCode, 12437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert UProperty.NameChoice.LONG); 12447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 12457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 12477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns the 4-letter ISO 15924 script code, 12487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * which is the same as the short Unicode script name if Unicode has names for the script. 12497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns "Mlym" given MALAYALAM. 12507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 12517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param scriptCode int script code 12527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return short script name (4-letter code) 12537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @throws IllegalArgumentException if the script code is not valid 12547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.4 12557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 12567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final String getShortName(int scriptCode){ 12577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return UCharacter.getPropertyValueName(UProperty.SCRIPT, 12587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert scriptCode, 12597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert UProperty.NameChoice.SHORT); 12607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 12617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 12637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script metadata (script properties). 12647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * See http://unicode.org/cldr/trac/browser/trunk/common/properties/scriptMetadata.txt 12657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 12667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final class ScriptMetadata { 12677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // 0 = NOT_ENCODED, no sample character, default false script properties. 12687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Bits 20.. 0: sample character 12697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Bits 23..21: usage 12717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int UNKNOWN = 1 << 21; 12727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int EXCLUSION = 2 << 21; 12737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int LIMITED_USE = 3 << 21; 12747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int ASPIRATIONAL = 4 << 21; 12757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int RECOMMENDED = 5 << 21; 12767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Bits 31..24: Single-bit flags 12787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int RTL = 1 << 24; 12797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int LB_LETTERS = 1 << 25; 12807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int CASED = 1 << 26; 12817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 12827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int SCRIPT_PROPS[] = { 12837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // Begin copy-paste output from 12847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // tools/trunk/unicode/py/parsescriptmetadata.py 12857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // or from icu/trunk/source/common/uscript_props.cpp 12867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0040 | RECOMMENDED, // Zyyy 1287bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x0308 | RECOMMENDED, // Zinh 12887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0628 | RECOMMENDED | RTL, // Arab 12897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0531 | RECOMMENDED | CASED, // Armn 12907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0995 | RECOMMENDED, // Beng 12917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x3105 | RECOMMENDED | LB_LETTERS, // Bopo 1292bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x13C4 | LIMITED_USE | CASED, // Cher 12937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x03E2 | EXCLUSION | CASED, // Copt 12947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x042F | RECOMMENDED | CASED, // Cyrl 12957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10414 | EXCLUSION | CASED, // Dsrt 12967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0905 | RECOMMENDED, // Deva 12977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x12A0 | RECOMMENDED, // Ethi 12987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10D3 | RECOMMENDED, // Geor 12997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10330 | EXCLUSION, // Goth 13007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x03A9 | RECOMMENDED | CASED, // Grek 13017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0A95 | RECOMMENDED, // Gujr 13027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0A15 | RECOMMENDED, // Guru 13037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x5B57 | RECOMMENDED | LB_LETTERS, // Hani 13047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xAC00 | RECOMMENDED, // Hang 13057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x05D0 | RECOMMENDED | RTL, // Hebr 13067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x304B | RECOMMENDED | LB_LETTERS, // Hira 13077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0C95 | RECOMMENDED, // Knda 13087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x30AB | RECOMMENDED | LB_LETTERS, // Kana 13097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1780 | RECOMMENDED | LB_LETTERS, // Khmr 13107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0EA5 | RECOMMENDED | LB_LETTERS, // Laoo 13117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x004C | RECOMMENDED | CASED, // Latn 13127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0D15 | RECOMMENDED, // Mlym 13137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1826 | ASPIRATIONAL, // Mong 13147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1000 | RECOMMENDED | LB_LETTERS, // Mymr 13157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x168F | EXCLUSION, // Ogam 13162d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x10300 | EXCLUSION, // Ital 13177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0B15 | RECOMMENDED, // Orya 13187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x16A0 | EXCLUSION, // Runr 13197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0D85 | RECOMMENDED, // Sinh 13207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0710 | LIMITED_USE | RTL, // Syrc 13217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0B95 | RECOMMENDED, // Taml 13227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0C15 | RECOMMENDED, // Telu 13237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x078C | RECOMMENDED | RTL, // Thaa 13247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0E17 | RECOMMENDED | LB_LETTERS, // Thai 13257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0F40 | RECOMMENDED, // Tibt 13267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x14C0 | ASPIRATIONAL, // Cans 13277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA288 | ASPIRATIONAL | LB_LETTERS, // Yiii 13287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1703 | EXCLUSION, // Tglg 13297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1723 | EXCLUSION, // Hano 13307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1743 | EXCLUSION, // Buhd 13317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1763 | EXCLUSION, // Tagb 1332bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x280E | UNKNOWN, // Brai 13337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10800 | EXCLUSION | RTL, // Cprt 13347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1900 | LIMITED_USE, // Limb 13357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10000 | EXCLUSION, // Linb 13367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10480 | EXCLUSION, // Osma 13377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10450 | EXCLUSION, // Shaw 13387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1950 | LIMITED_USE | LB_LETTERS, // Tale 13397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10380 | EXCLUSION, // Ugar 13407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1A00 | EXCLUSION, // Bugi 13427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x2C00 | EXCLUSION | CASED, // Glag 13437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10A00 | EXCLUSION | RTL, // Khar 13447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA800 | LIMITED_USE, // Sylo 13457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1980 | LIMITED_USE | LB_LETTERS, // Talu 13462d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x2D30 | ASPIRATIONAL, // Tfng 13477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x103A0 | EXCLUSION, // Xpeo 13487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1B05 | LIMITED_USE, // Bali 13497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1BC0 | LIMITED_USE, // Batk 13507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11005 | EXCLUSION, // Brah 13527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xAA00 | LIMITED_USE, // Cham 13537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x13153 | EXCLUSION, // Egyp 13587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x5B57 | RECOMMENDED | LB_LETTERS, // Hans 13607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x5B57 | RECOMMENDED | LB_LETTERS, // Hant 13617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x16B1C | EXCLUSION, // Hmng 1362bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x10CA1 | EXCLUSION | RTL | CASED, // Hung 13637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA984 | LIMITED_USE, // Java 13657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA90A | LIMITED_USE, // Kali 13667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1C00 | LIMITED_USE, // Lepc 13697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10647 | EXCLUSION, // Lina 13707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0840 | LIMITED_USE | RTL, // Mand 13717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10980 | EXCLUSION | RTL, // Mero 13732d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x07CA | LIMITED_USE | RTL, // Nkoo 13747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10C00 | EXCLUSION | RTL, // Orkh 13757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1036B | EXCLUSION, // Perm 13767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA840 | EXCLUSION, // Phag 13777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10900 | EXCLUSION | RTL, // Phnx 13787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x16F00 | ASPIRATIONAL, // Plrd 13797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA549 | LIMITED_USE, // Vaii 13867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x12000 | EXCLUSION, // Xsux 13887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 13897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xFDD0 | UNKNOWN, // Zzzz 13902d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x102A0 | EXCLUSION, // Cari 13917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x304B | RECOMMENDED | LB_LETTERS, // Jpan 13927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1A20 | LIMITED_USE | LB_LETTERS, // Lana 13937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10280 | EXCLUSION, // Lyci 13947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10920 | EXCLUSION | RTL, // Lydi 13957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1C5A | LIMITED_USE, // Olck 13967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA930 | EXCLUSION, // Rjng 13977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA882 | LIMITED_USE, // Saur 1398bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x1D850 | EXCLUSION, // Sgnw 13997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1B83 | LIMITED_USE, // Sund 14007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xABC0 | LIMITED_USE, // Mtei 14027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10840 | EXCLUSION | RTL, // Armi 14037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10B00 | EXCLUSION | RTL, // Avst 14047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11103 | LIMITED_USE, // Cakm 14057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xAC00 | RECOMMENDED, // Kore 14067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11083 | EXCLUSION, // Kthi 14072d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x10AD8 | EXCLUSION | RTL, // Mani 14087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10B60 | EXCLUSION | RTL, // Phli 14097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10B8F | EXCLUSION | RTL, // Phlp 14107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10B40 | EXCLUSION | RTL, // Prti 14127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x0800 | EXCLUSION | RTL, // Samr 14137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xAA80 | LIMITED_USE | LB_LETTERS, // Tavt 14147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0xA6A0 | LIMITED_USE, // Bamu 14172d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0xA4D0 | LIMITED_USE, // Lisu 14187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10A60 | EXCLUSION | RTL, // Sarb 14207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x16AE6 | EXCLUSION, // Bass 14217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1BC20 | EXCLUSION, // Dupl 14227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10500 | EXCLUSION, // Elba 14237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11315 | EXCLUSION, // Gran 14247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1E802 | EXCLUSION | RTL, // Mend 14277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x109A0 | EXCLUSION | RTL, // Merc 14287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10A95 | EXCLUSION | RTL, // Narb 14297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10896 | EXCLUSION | RTL, // Nbat 14307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10873 | EXCLUSION | RTL, // Palm 14317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x112BE | EXCLUSION, // Sind 14327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x118B4 | EXCLUSION | CASED, // Wara 14337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x16A4F | EXCLUSION, // Mroo 14367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 14377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11183 | EXCLUSION, // Shrd 14387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x110D0 | EXCLUSION, // Sora 14397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11680 | EXCLUSION, // Takr 14402d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x18229 | EXCLUSION | LB_LETTERS, // Tang 14417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0, 1442bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x14400 | EXCLUSION, // Hluw 14437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11208 | EXCLUSION, // Khoj 14447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11484 | EXCLUSION, // Tirh 14457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x10537 | EXCLUSION, // Aghb 14467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11152 | EXCLUSION, // Mahj 1447bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x11717 | EXCLUSION | LB_LETTERS, // Ahom 1448bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x108F4 | EXCLUSION | RTL, // Hatr 14497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1160E | EXCLUSION, // Modi 1450bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 0x1128F | EXCLUSION, // Mult 14517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x11AC0 | EXCLUSION, // Pauc 14527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 0x1158E | EXCLUSION, // Sidd 14532d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x1E909 | LIMITED_USE | RTL | CASED, // Adlm 14542d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x11C0E | EXCLUSION, // Bhks 14552d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x11C72 | EXCLUSION, // Marc 14562d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x11412 | LIMITED_USE, // Newa 14572d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x104B5 | LIMITED_USE | CASED, // Osge 14582d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x5B57 | RECOMMENDED | LB_LETTERS, // Hanb 14592d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0x1112 | RECOMMENDED, // Jamo 14602d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert 0, 14617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // End copy-paste from parsescriptmetadata.py 14627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert }; 14637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 14647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final int getScriptProps(int script) { 14657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if (0 <= script && script < SCRIPT_PROPS.length) { 14667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return SCRIPT_PROPS[script]; 14677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } else { 14687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return 0; 14697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 14707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 14717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 14727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 14737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 14747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Script usage constants. 14757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * See UAX #31 Unicode Identifier and Pattern Syntax. 14767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers 14777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 14787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 14797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 14807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public enum ScriptUsage { 14817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 14827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Not encoded in Unicode. 14837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 14847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 14857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert NOT_ENCODED, 14867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 14877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Unknown script usage. 14887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 14897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 14907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert UNKNOWN, 14917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 14927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Candidate for Exclusion from Identifiers. 14937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 14947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 14957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert EXCLUDED, 14967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 14977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Limited Use script. 14987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 14997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LIMITED_USE, 15017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Aspirational Use script. 15037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ASPIRATIONAL, 15067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Recommended script. 15087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert RECOMMENDED 15117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private static final ScriptUsage[] usageValues = ScriptUsage.values(); 15137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns the script sample character string. 15167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * This string normally consists of one code point but might be longer. 15177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The string is empty if the script is not encoded. 15187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 15197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param script script code 15207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return the sample character string 15217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final String getSampleString(int script) { 15247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert int sampleChar = ScriptMetadata.getScriptProps(script) & 0x1fffff; 15257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert if(sampleChar != 0) { 15267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return new StringBuilder().appendCodePoint(sampleChar).toString(); 15277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return ""; 15297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns the script usage according to UAX #31 Unicode Identifier and Pattern Syntax. 15337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns {@link ScriptUsage#NOT_ENCODED} if the script is not encoded in Unicode. 15347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 15357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param script script code 15367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return script usage 15377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @see ScriptUsage 15387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final ScriptUsage getUsage(int script) { 15417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return usageValues[(ScriptMetadata.getScriptProps(script) >> 21) & 7]; 15427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns true if the script is written right-to-left. 15467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For example, Arab and Hebr. 15477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 15487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param script script code 15497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return true if the script is right-to-left 15507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final boolean isRightToLeft(int script) { 15537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.RTL) != 0; 15547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns true if the script allows line breaks between letters (excluding hyphenation). 15587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Such a script typically requires dictionary-based line breaking. 15597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For example, Hani and Thai. 15607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 15617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param script script code 15627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return true if the script allows line breaks between letters 15637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final boolean breaksBetweenLetters(int script) { 15667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.LB_LETTERS) != 0; 15677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Returns true if in modern (or most recent) usage of the script case distinctions are customary. 15717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * For example, Latn and Cyrl. 15727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * 15737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param script script code 15747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return true if the script is cased 15757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 15767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static final boolean isCased(int script) { 15787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.CASED) != 0; 15797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 15807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 15817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:OFF 15827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 15837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Private Constructor. Never default construct 15847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 15857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private UScript(){} 15867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:ON 15877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 1588