/* */ package com.ibm.icu.lang; /* */ /* */ import com.ibm.icu.impl.ICUResourceBundle; /* */ import com.ibm.icu.impl.UCharacterProperty; /* */ import com.ibm.icu.util.ULocale; /* */ import com.ibm.icu.util.UResourceBundle; /* */ import java.util.BitSet; /* */ import java.util.Locale; /* */ import java.util.MissingResourceException; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public final class UScript /* */ { /* */ public static final int INVALID_CODE = -1; /* */ public static final int COMMON = 0; /* */ public static final int INHERITED = 1; /* */ public static final int ARABIC = 2; /* */ public static final int ARMENIAN = 3; /* */ public static final int BENGALI = 4; /* */ public static final int BOPOMOFO = 5; /* */ public static final int CHEROKEE = 6; /* */ public static final int COPTIC = 7; /* */ public static final int CYRILLIC = 8; /* */ public static final int DESERET = 9; /* */ public static final int DEVANAGARI = 10; /* */ public static final int ETHIOPIC = 11; /* */ public static final int GEORGIAN = 12; /* */ public static final int GOTHIC = 13; /* */ public static final int GREEK = 14; /* */ public static final int GUJARATI = 15; /* */ public static final int GURMUKHI = 16; /* */ public static final int HAN = 17; /* */ public static final int HANGUL = 18; /* */ public static final int HEBREW = 19; /* */ public static final int HIRAGANA = 20; /* */ public static final int KANNADA = 21; /* */ public static final int KATAKANA = 22; /* */ public static final int KHMER = 23; /* */ public static final int LAO = 24; /* */ public static final int LATIN = 25; /* */ public static final int MALAYALAM = 26; /* */ public static final int MONGOLIAN = 27; /* */ public static final int MYANMAR = 28; /* */ public static final int OGHAM = 29; /* */ public static final int OLD_ITALIC = 30; /* */ public static final int ORIYA = 31; /* */ public static final int RUNIC = 32; /* */ public static final int SINHALA = 33; /* */ public static final int SYRIAC = 34; /* */ public static final int TAMIL = 35; /* */ public static final int TELUGU = 36; /* */ public static final int THAANA = 37; /* */ public static final int THAI = 38; /* */ public static final int TIBETAN = 39; /* */ public static final int CANADIAN_ABORIGINAL = 40; /* */ public static final int UCAS = 40; /* */ public static final int YI = 41; /* */ public static final int TAGALOG = 42; /* */ public static final int HANUNOO = 43; /* */ public static final int BUHID = 44; /* */ public static final int TAGBANWA = 45; /* */ public static final int BRAILLE = 46; /* */ public static final int CYPRIOT = 47; /* */ public static final int LIMBU = 48; /* */ public static final int LINEAR_B = 49; /* */ public static final int OSMANYA = 50; /* */ public static final int SHAVIAN = 51; /* */ public static final int TAI_LE = 52; /* */ public static final int UGARITIC = 53; /* */ public static final int KATAKANA_OR_HIRAGANA = 54; /* */ public static final int BUGINESE = 55; /* */ public static final int GLAGOLITIC = 56; /* */ public static final int KHAROSHTHI = 57; /* */ public static final int SYLOTI_NAGRI = 58; /* */ public static final int NEW_TAI_LUE = 59; /* */ public static final int TIFINAGH = 60; /* */ public static final int OLD_PERSIAN = 61; /* */ public static final int BALINESE = 62; /* */ public static final int BATAK = 63; /* */ public static final int BLISSYMBOLS = 64; /* */ public static final int BRAHMI = 65; /* */ public static final int CHAM = 66; /* */ public static final int CIRTH = 67; /* */ public static final int OLD_CHURCH_SLAVONIC_CYRILLIC = 68; /* */ public static final int DEMOTIC_EGYPTIAN = 69; /* */ public static final int HIERATIC_EGYPTIAN = 70; /* */ public static final int EGYPTIAN_HIEROGLYPHS = 71; /* */ public static final int KHUTSURI = 72; /* */ public static final int SIMPLIFIED_HAN = 73; /* */ public static final int TRADITIONAL_HAN = 74; /* */ public static final int PAHAWH_HMONG = 75; /* */ public static final int OLD_HUNGARIAN = 76; /* */ public static final int HARAPPAN_INDUS = 77; /* */ public static final int JAVANESE = 78; /* */ public static final int KAYAH_LI = 79; /* */ public static final int LATIN_FRAKTUR = 80; /* */ public static final int LATIN_GAELIC = 81; /* */ public static final int LEPCHA = 82; /* */ public static final int LINEAR_A = 83; /* */ public static final int MANDAIC = 84; /* */ public static final int MANDAEAN = 84; /* */ public static final int MAYAN_HIEROGLYPHS = 85; /* */ public static final int MEROITIC_HIEROGLYPHS = 86; /* */ public static final int MEROITIC = 86; /* */ public static final int NKO = 87; /* */ public static final int ORKHON = 88; /* */ public static final int OLD_PERMIC = 89; /* */ public static final int PHAGS_PA = 90; /* */ public static final int PHOENICIAN = 91; /* */ public static final int PHONETIC_POLLARD = 92; /* */ public static final int RONGORONGO = 93; /* */ public static final int SARATI = 94; /* */ public static final int ESTRANGELO_SYRIAC = 95; /* */ public static final int WESTERN_SYRIAC = 96; /* */ public static final int EASTERN_SYRIAC = 97; /* */ public static final int TENGWAR = 98; /* */ public static final int VAI = 99; /* */ public static final int VISIBLE_SPEECH = 100; /* */ public static final int CUNEIFORM = 101; /* */ public static final int UNWRITTEN_LANGUAGES = 102; /* */ public static final int UNKNOWN = 103; /* */ public static final int CARIAN = 104; /* */ public static final int JAPANESE = 105; /* */ public static final int LANNA = 106; /* */ public static final int LYCIAN = 107; /* */ public static final int LYDIAN = 108; /* */ public static final int OL_CHIKI = 109; /* */ public static final int REJANG = 110; /* */ public static final int SAURASHTRA = 111; /* */ public static final int SIGN_WRITING = 112; /* */ public static final int SUNDANESE = 113; /* */ public static final int MOON = 114; /* */ public static final int MEITEI_MAYEK = 115; /* */ public static final int IMPERIAL_ARAMAIC = 116; /* */ public static final int AVESTAN = 117; /* */ public static final int CHAKMA = 118; /* */ public static final int KOREAN = 119; /* */ public static final int KAITHI = 120; /* */ public static final int MANICHAEAN = 121; /* */ public static final int INSCRIPTIONAL_PAHLAVI = 122; /* */ public static final int PSALTER_PAHLAVI = 123; /* */ public static final int BOOK_PAHLAVI = 124; /* */ public static final int INSCRIPTIONAL_PARTHIAN = 125; /* */ public static final int SAMARITAN = 126; /* */ public static final int TAI_VIET = 127; /* */ public static final int MATHEMATICAL_NOTATION = 128; /* */ public static final int SYMBOLS = 129; /* */ public static final int BAMUM = 130; /* */ public static final int LISU = 131; /* */ public static final int NAKHI_GEBA = 132; /* */ public static final int OLD_SOUTH_ARABIAN = 133; /* */ public static final int BASSA_VAH = 134; /* */ public static final int DUPLOYAN_SHORTAND = 135; /* */ public static final int ELBASAN = 136; /* */ public static final int GRANTHA = 137; /* */ public static final int KPELLE = 138; /* */ public static final int LOMA = 139; /* */ public static final int MENDE = 140; /* */ public static final int MEROITIC_CURSIVE = 141; /* */ public static final int OLD_NORTH_ARABIAN = 142; /* */ public static final int NABATAEAN = 143; /* */ public static final int PALMYRENE = 144; /* */ public static final int SINDHI = 145; /* */ public static final int WARANG_CITI = 146; /* */ public static final int AFAKA = 147; /* */ public static final int JURCHEN = 148; /* */ public static final int MRO = 149; /* */ public static final int NUSHU = 150; /* */ public static final int SHARADA = 151; /* */ public static final int SORA_SOMPENG = 152; /* */ public static final int TAKRI = 153; /* */ public static final int TANGUT = 154; /* */ public static final int WOLEAI = 155; /* */ public static final int CODE_LIMIT = 156; /* */ private static final String kLocaleScript = "LocaleScript"; /* */ /* */ private static int[] findCodeFromLocale(ULocale locale) /* */ { /* */ try /* */ { /* 885 */ rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/impl/data/icudt48b", locale); /* */ /* */ /* */ } /* */ catch (MissingResourceException e) /* */ { /* */ /* 892 */ return null; /* */ } /* */ /* */ /* 896 */ ICUResourceBundle rb = (ICUResourceBundle)UResourceBundle.getBundleInstance("com/ibm/icu/impl/data/icudt48b", locale); /* */ /* */ /* */ /* */ /* */ /* */ /* 903 */ if ((rb.getLoadingStatus() == 3) && (!locale.equals(ULocale.getDefault()))) { /* 904 */ return null; /* */ } /* 906 */ UResourceBundle sub = rb.get("LocaleScript"); /* */ /* 908 */ int[] result = new int[sub.getSize()]; /* 909 */ int w = 0; /* 910 */ for (int i = 0; i < result.length; i++) { /* 911 */ int code = UCharacter.getPropertyValueEnum(4106, sub.getString(i)); /* */ /* 913 */ result[(w++)] = code; /* */ } /* */ /* */ /* 917 */ if (w < result.length) { /* 918 */ throw new IllegalStateException("bad locale data, listed " + result.length + " scripts but found only " + w); /* */ } /* */ /* */ /* 922 */ return result; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final int[] getCode(Locale locale) /* */ { /* 934 */ return findCodeFromLocale(ULocale.forLocale(locale)); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final int[] getCode(ULocale locale) /* */ { /* 945 */ return findCodeFromLocale(locale); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final int[] getCode(String nameOrAbbrOrLocale) /* */ { /* */ try /* */ { /* 962 */ return new int[] { UCharacter.getPropertyValueEnum(4106, nameOrAbbrOrLocale) }; /* */ } /* */ catch (IllegalArgumentException e) {} /* */ /* */ /* 967 */ return findCodeFromLocale(new ULocale(nameOrAbbrOrLocale)); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /** /* */ * @deprecated /* */ */ /* */ public static final int getCodeFromName(String nameOrAbbr) /* */ { /* */ try /* */ { /* 982 */ return UCharacter.getPropertyValueEnum(4106, nameOrAbbr); /* */ } /* */ catch (IllegalArgumentException e) {} /* 985 */ return -1; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final int getScript(int codepoint) /* */ { /* 997 */ if (((codepoint >= 0 ? 1 : 0) & (codepoint <= 1114111 ? 1 : 0)) != 0) { /* 998 */ int scriptX = UCharacterProperty.INSTANCE.getAdditional(codepoint, 0) & 0xC000FF; /* 999 */ if (scriptX < 4194304) /* 1000 */ return scriptX; /* 1001 */ if (scriptX < 8388608) /* 1002 */ return 0; /* 1003 */ if (scriptX < 12582912) { /* 1004 */ return 1; /* */ } /* 1006 */ return UCharacterProperty.INSTANCE.m_scriptExtensions_[(scriptX & 0xFF)]; /* */ } /* */ /* 1009 */ throw new IllegalArgumentException(Integer.toString(codepoint)); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final boolean hasScript(int c, int sc) /* */ { /* 1030 */ int scriptX = UCharacterProperty.INSTANCE.getAdditional(c, 0) & 0xC000FF; /* 1031 */ if (scriptX < 4194304) { /* 1032 */ return sc == scriptX; /* */ } /* */ /* 1035 */ char[] scriptExtensions = UCharacterProperty.INSTANCE.m_scriptExtensions_; /* 1036 */ int scx = scriptX & 0xFF; /* */ int script; /* 1038 */ int script; if (scriptX < 8388608) { /* 1039 */ script = 0; } else { int script; /* 1040 */ if (scriptX < 12582912) { /* 1041 */ script = 1; /* */ } else { /* 1043 */ script = scriptExtensions[scx]; /* 1044 */ scx = scriptExtensions[(scx + 1)]; /* */ } } /* 1046 */ if (sc == script) { /* 1047 */ return true; /* */ } /* 1049 */ while (sc > scriptExtensions[scx]) { /* 1050 */ scx++; /* */ } /* 1052 */ return sc == (scriptExtensions[scx] & 0x7FFF); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final BitSet getScriptExtensions(int c, BitSet set) /* */ { /* 1071 */ set.clear(); /* 1072 */ int scriptX = UCharacterProperty.INSTANCE.getAdditional(c, 0) & 0xC000FF; /* 1073 */ if (scriptX < 4194304) { /* 1074 */ return set; /* */ } /* */ /* 1077 */ char[] scriptExtensions = UCharacterProperty.INSTANCE.m_scriptExtensions_; /* 1078 */ int scx = scriptX & 0xFF; /* 1079 */ if (scriptX >= 12582912) { /* 1080 */ scx = scriptExtensions[(scx + 1)]; /* */ } /* */ int sx; /* */ do { /* 1084 */ sx = scriptExtensions[(scx++)]; /* 1085 */ set.set(sx & 0x7FFF); /* 1086 */ } while (sx < 32768); /* 1087 */ return set; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final String getName(int scriptCode) /* */ { /* 1098 */ return UCharacter.getPropertyValueName(4106, scriptCode, 1); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static final String getShortName(int scriptCode) /* */ { /* 1111 */ return UCharacter.getPropertyValueName(4106, scriptCode, 0); /* */ } /* */ } /* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\ibm\icu\lang\UScript.class * Java compiler version: 5 (49.0) * JD-Core Version: 0.7.1 */