123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- <?php
- function GetLangOpts($llcc, $adobeCJK, &$fontdata)
- {
- $tags = preg_split('/-/', $llcc);
- $lang = strtolower($tags[0]);
- $country = '';
- $script = '';
- if (isset($tags[1]) && $tags[1]) {
- if (strlen($tags[1]) == 4) {
- $script = strtolower($tags[1]);
- } else {
- $country = strtolower($tags[1]);
- }
- }
- if (isset($tags[2]) && $tags[2]) {
- $country = strtolower($tags[2]);
- }
- $unifont = "";
- $coreSuitable = false;
- switch ($lang) {
-
- CASE "en": CASE "eng":
- CASE "eu": CASE "eus":
- CASE "br": CASE "bre":
- CASE "ca": CASE "cat":
- CASE "co": CASE "cos":
- CASE "kw": CASE "cor":
- CASE "cy": CASE "cym":
- CASE "cs": CASE "ces":
- CASE "da": CASE "dan":
- CASE "nl": CASE "nld":
- CASE "et": CASE "est":
- CASE "fo": CASE "fao":
- CASE "fi": CASE "fin":
- CASE "fr": CASE "fra":
- CASE "gl": CASE "glg":
- CASE "de": CASE "deu":
- CASE "ht": CASE "hat":
- CASE "hu": CASE "hun":
- CASE "ga": CASE "gle":
- CASE "is": CASE "isl":
- CASE "it": CASE "ita":
- CASE "la": CASE "lat":
- CASE "lb": CASE "ltz":
- CASE "li": CASE "lim":
- CASE "lt": CASE "lit":
- CASE "lv": CASE "lav":
- CASE "gv": CASE "glv":
- CASE "no": CASE "nor":
- CASE "nn": CASE "nno":
- CASE "nb": CASE "nob":
- CASE "pl": CASE "pol":
- CASE "pt": CASE "por":
- CASE "ro": CASE "ron":
- CASE "gd": CASE "gla":
- CASE "es": CASE "spa":
- CASE "sv": CASE "swe":
- CASE "sl": CASE "slv":
- CASE "sk": CASE "slk":
- $unifont = "dejavusanscondensed";
-
-
- $coreSuitable = true;
- break;
- CASE "ru": CASE "rus":
- CASE "ab": CASE "abk":
- CASE "av": CASE "ava":
- CASE "ba": CASE "bak":
- CASE "be": CASE "bel":
- CASE "bg": CASE "bul":
- CASE "ce": CASE "che":
- CASE "cv": CASE "chv":
- CASE "kk": CASE "kaz":
- CASE "kv": CASE "kom":
- CASE "ky": CASE "kir":
- CASE "mk": CASE "mkd":
- CASE "cu": CASE "chu":
- CASE "os": CASE "oss":
- CASE "sr": CASE "srp":
- CASE "tg": CASE "tgk":
- CASE "tt": CASE "tat":
- CASE "tk": CASE "tuk":
- CASE "uk": CASE "ukr":
- $unifont = "dejavusanscondensed";
- break;
- CASE "hy": CASE "hye":
- $unifont = "dejavusans";
- break;
- CASE "ka": CASE "kat":
- $unifont = "dejavusans";
- break;
- CASE "el": CASE "ell":
- $unifont = "dejavusanscondensed";
- break;
- CASE "cop":
- $unifont = "quivira";
- break;
- CASE "got":
- $unifont = "freeserif";
- break;
-
- CASE "nqo":
- $unifont = "dejavusans";
- break;
-
-
- CASE "vai":
- $unifont = "freesans";
- break;
- CASE "am": CASE "amh":
- CASE "ti": CASE "tir":
- $unifont = "abyssinicasil";
- break;
-
- CASE "ar": CASE "ara":
- $unifont = "xbriyaz";
- break;
- CASE "fa": CASE "fas":
- $unifont = "xbriyaz";
- break;
- CASE "ps": CASE "pus":
- $unifont = "xbriyaz";
- break;
- CASE "ku": CASE "kur":
- $unifont = "xbriyaz";
- break;
- CASE "ur": CASE "urd":
- $unifont = "xbriyaz";
- break;
- CASE "he": CASE "heb":
- CASE "yi": CASE "yid":
- $unifont = "taameydavidclm";
- break;
- CASE "syr":
- $unifont = "estrangeloedessa";
- break;
-
-
- CASE "xcr":
- $unifont = "aegean";
- break;
- CASE "xlc":
- $unifont = "aegean";
- break;
- CASE "xld":
- $unifont = "aegean";
- break;
-
-
- CASE "phn":
- $unifont = "aegean";
- break;
-
- CASE "uga":
- $unifont = "aegean";
- break;
-
- CASE "bo": CASE "bod":
- CASE "dz": CASE "dzo":
- $unifont = "jomolhari";
- break;
-
-
-
-
-
- CASE "as": CASE "asm":
- $unifont = "freeserif";
- break;
- CASE "bn": CASE "ben":
- $unifont = "freeserif";
- break;
- CASE "ks": CASE "kas":
- $unifont = "freeserif";
- break;
- CASE "hi": CASE "hin":
- CASE "bh": CASE "bih":
- CASE "sa": CASE "san":
- $unifont = "freeserif";
- break;
- CASE "gu": CASE "guj":
- $unifont = "freeserif";
- break;
- CASE "pa": CASE "pan":
- $unifont = "freeserif";
- break;
- CASE "kn": CASE "kan":
- $unifont = "lohitkannada";
- break;
- CASE "mr": CASE "mar":
- $unifont = "freeserif";
- break;
- CASE "ml": CASE "mal":
- $unifont = "freeserif";
- break;
- CASE "ne": CASE "nep":
- $unifont = "freeserif";
- break;
- CASE "or": CASE "ori":
- $unifont = "freeserif";
- break;
- CASE "si": CASE "sin":
- $unifont = "kaputaunicode";
- break;
- CASE "ta": CASE "tam":
- $unifont = "freeserif";
- break;
- CASE "te": CASE "tel":
- $unifont = "pothana2000";
- break;
-
- CASE "sd": CASE "snd":
- if ($country == "IN") {
- $unifont = "freeserif";
- } else if ($country == "PK") {
- $unifont = "lateef";
- } else {
- $unifont = "lateef";
- }
- break;
-
-
- CASE "lif":
- $unifont = "sun-exta";
- break;
-
-
- CASE "syl":
- $unifont = "mph2bdamase";
- break;
-
- CASE "dv": CASE "div":
- $unifont = "freeserif";
- break;
-
- CASE "km": CASE "khm":
- $unifont = "khmeros";
- break;
- CASE "lo": CASE "lao":
- $unifont = "dhyana";
- break;
- CASE "my": CASE "mya":
- $unifont = "tharlon";
-
-
- break;
- CASE "th": CASE "tha":
- $unifont = "garuda";
- break;
-
- CASE "vi": CASE "vie":
- $unifont = "dejavusanscondensed";
- break;
-
-
-
- CASE "bug":
- $unifont = "freeserif";
- break;
-
-
- CASE "su":
- $unifont = "sundaneseunicode";
- break;
- CASE "tdd":
- $unifont = "tharlon";
- break;
- CASE "blt":
- $unifont = "taiheritagepro";
- break;
-
- CASE "bku":
- $unifont = "quivira";
- break;
- CASE "hnn":
- $unifont = "quivira";
- break;
- CASE "tl":
- $unifont = "quivira";
- break;
- CASE "tbw":
- $unifont = "quivira";
- break;
-
- CASE "zh": CASE "zho":
- if ($country == "HK" || $country == "TW") {
- if ($adobeCJK) {
- $unifont = "big5";
- } else {
- $unifont = "sun-exta";
- }
- } else if ($country == "CN") {
- if ($adobeCJK) {
- $unifont = "gb";
- } else {
- $unifont = "sun-exta";
- }
- } else {
- if ($adobeCJK) {
- $unifont = "gb";
- } else {
- $unifont = "sun-exta";
- }
- }
- break;
- CASE "ko": CASE "kor":
- if ($adobeCJK) {
- $unifont = "uhc";
- } else {
- $unifont = "unbatang";
- }
- break;
- CASE "ja": CASE "jpn":
- if ($adobeCJK) {
- $unifont = "sjis";
- } else {
- $unifont = "sun-exta";
- }
- break;
- CASE "ii": CASE "iii":
- if ($adobeCJK) {
- $unifont = "gb";
- } else {
- $unifont = "sun-exta";
- }
- CASE "lis":
- $unifont = "quivira";
- break;
-
- CASE "chr":
- CASE "oj": CASE "oji":
- CASE "cr": CASE "cre":
- CASE "iu": CASE "iku":
- $unifont = "aboriginalsans";
- break;
-
- CASE "und":
- switch ($script) {
-
- CASE "latn":
- $unifont = "dejavusanscondensed";
- break;
- CASE "cyrl":
- $unifont = "dejavusanscondensed";
- break;
- CASE "cprt":
- $unifont = "aegean";
- break;
- CASE "glag":
- $unifont = "mph2bdamase";
- break;
- CASE "linb":
- $unifont = "aegean";
- break;
- CASE "ogam":
- $unifont = "dejavusans";
- break;
- CASE "ital":
- $unifont = "aegean";
- break;
- CASE "runr":
- $unifont = "sun-exta";
- break;
- CASE "shaw":
- $unifont = "mph2bdamase";
- break;
-
- CASE "egyp":
- $unifont = "aegyptus";
- break;
- CASE "ethi":
- $unifont = "abyssinicasil";
- break;
-
-
- CASE "osma":
- $unifont = "mph2bdamase";
- break;
- CASE "tfng":
- $unifont = "dejavusans";
- break;
-
- CASE "arab":
- $unifont = "xbriyaz";
- break;
- CASE "xsux":
- $unifont = "akkadian";
- break;
-
-
-
-
-
-
-
-
-
- CASE "khar":
- $unifont = "mph2bdamase";
- break;
- CASE "mtei":
- $unifont = "eeyekunicode";
- break;
-
-
-
- CASE "kali":
- $unifont = "freemono";
- break;
-
- CASE "lana":
- $unifont = "lannaalif";
- break;
- CASE "talu":
- $unifont = "daibannasilbook";
- break;
-
- CASE "hans":
- if ($adobeCJK) {
- $unifont = "gb";
- } else {
- $unifont = "sun-exta";
- }
- break;
- CASE "bopo":
- $unifont = "sun-exta";
- break;
-
- CASE "yiii":
- $unifont = "sun-exta";
- break;
-
- CASE "dsrt":
- $unifont = "mph2bdamase";
- break;
-
- CASE "brai":
- $unifont = "dejavusans";
- break;
- }
- break;
- }
- return array($coreSuitable, $unifont);
- }
|