| 1 |
<?php |
| 2 |
|
| 3 |
|
| 4 |
function GetLangOpts($llcc, $adobeCJK) { |
| 5 |
if (strlen($llcc) == 5) { |
| 6 |
$lang = substr(strtolower($llcc),0,2); |
| 7 |
$country = substr(strtoupper($llcc),3,2); |
| 8 |
} |
| 9 |
else { $lang = strtolower($llcc); $country = ''; } |
| 10 |
$unifonts = ""; |
| 11 |
$coreSuitable = false; |
| 12 |
|
| 13 |
switch($lang){ |
| 14 |
CASE "en": |
| 15 |
CASE "ca": |
| 16 |
CASE "cy": |
| 17 |
CASE "da": |
| 18 |
CASE "de": |
| 19 |
CASE "es": |
| 20 |
CASE "eu": |
| 21 |
CASE "fr": |
| 22 |
CASE "ga": |
| 23 |
CASE "fi": |
| 24 |
CASE "is": |
| 25 |
CASE "it": |
| 26 |
CASE "nl": |
| 27 |
CASE "no": |
| 28 |
CASE "pt": |
| 29 |
CASE "sv": |
| 30 |
// Edit this value to define how mPDF behaves when using new mPDF('-x') |
| 31 |
// If set to TRUE, mPDF will use Adobe core fonts only when it recognises the languages above |
| 32 |
$coreSuitable = true; break; |
| 33 |
|
| 34 |
|
| 35 |
|
| 36 |
// RTL Languages |
| 37 |
CASE "he": |
| 38 |
CASE "yi": |
| 39 |
$unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI"; break; |
| 40 |
|
| 41 |
// Arabic |
| 42 |
CASE "ar": |
| 43 |
$unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break; |
| 44 |
CASE "fa": |
| 45 |
$unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break; |
| 46 |
CASE "ps": |
| 47 |
$unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break; |
| 48 |
CASE "ur": |
| 49 |
$unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break; |
| 50 |
|
| 51 |
// Sindhi (can be Arabic or Devanagari) |
| 52 |
CASE "sd": |
| 53 |
if ($country == "IN") { $unifonts = "ind_hi_1_001"; } |
| 54 |
// else if ($country == "PK") { $unifonts = ""; } |
| 55 |
// else { $unifonts = ""; } |
| 56 |
break; |
| 57 |
|
| 58 |
|
| 59 |
// INDIC |
| 60 |
// Assamese |
| 61 |
CASE "as": $unifonts = "ind_bn_1_001"; break; |
| 62 |
// Bengali |
| 63 |
CASE "bn": $unifonts = "ind_bn_1_001"; break; |
| 64 |
// Gujarati |
| 65 |
CASE "gu": $unifonts = "ind_gu_1_001"; break; |
| 66 |
// Hindi (Devanagari) |
| 67 |
CASE "hi": $unifonts = "ind_hi_1_001"; break; |
| 68 |
// Kannada |
| 69 |
CASE "kn": $unifonts = "ind_kn_1_001"; break; |
| 70 |
// Kashmiri |
| 71 |
CASE "ks": $unifonts = "ind_hi_1_001"; break; |
| 72 |
// Malayalam |
| 73 |
CASE "ml": $unifonts = "ind_ml_1_001"; break; |
| 74 |
// Nepali (Devanagari) |
| 75 |
CASE "ne": $unifonts = "ind_hi_1_001"; break; |
| 76 |
// Oriya |
| 77 |
CASE "or": $unifonts = "ind_or_1_001"; break; |
| 78 |
// Punjabi (Gurmukhi) |
| 79 |
CASE "pa": $unifonts = "ind_pa_1_001"; break; |
| 80 |
// Tamil |
| 81 |
CASE "ta": $unifonts = "ind_ta_1_001"; break; |
| 82 |
// Telegu |
| 83 |
CASE "te": $unifonts = "ind_te_1_001"; break; |
| 84 |
|
| 85 |
// THAI |
| 86 |
CASE "th": $unifonts = "garuda,garudaB,garudaI,garudaBI,norasi,norasiB,norasiI,norasiBI"; break; |
| 87 |
|
| 88 |
// VIETNAMESE |
| 89 |
CASE "vi": |
| 90 |
$unifonts = "dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,dejavusans,dejavusansB,dejavusansI,dejavusansBI"; break; |
| 91 |
|
| 92 |
// CJK Langauges |
| 93 |
CASE "ja": |
| 94 |
if ($adobeCJK) { |
| 95 |
$unifonts = "sjis,sjisB,sjisI,sjisBI"; |
| 96 |
} |
| 97 |
/* Uncomment these lines if CJK fonts available */ |
| 98 |
// else { |
| 99 |
// $unifonts = "sun-exta,sun-extb,hannoma,hannomb"; |
| 100 |
// } |
| 101 |
break; |
| 102 |
|
| 103 |
CASE "ko": |
| 104 |
if ($adobeCJK) { |
| 105 |
$unifonts = "uhc,uhcB,uhcI,uhcBI"; |
| 106 |
} |
| 107 |
/* Uncomment these lines if CJK fonts available */ |
| 108 |
// else { |
| 109 |
// $unifonts = "unbatang_0613"; |
| 110 |
// } |
| 111 |
break; |
| 112 |
|
| 113 |
CASE "zh": |
| 114 |
if ($country == "HK" || $country == "TW") { |
| 115 |
if ($adobeCJK) { |
| 116 |
$unifonts = "big5,big5B,big5I,big5BI"; |
| 117 |
} |
| 118 |
/* Uncomment these lines if CJK fonts available */ |
| 119 |
// else { |
| 120 |
// $unifonts = "sun-exta,sun-extb,hannoma,hannomb"; |
| 121 |
// } |
| 122 |
} |
| 123 |
else if ($country == "CN") { |
| 124 |
if ($adobeCJK) { |
| 125 |
$unifonts = "gb,gbB,gbI,gbBI"; |
| 126 |
} |
| 127 |
/* Uncomment these lines if CJK fonts available */ |
| 128 |
// else { |
| 129 |
// $unifonts = "sun-exta,sun-extb,hannoma,hannomb"; |
| 130 |
// } |
| 131 |
} |
| 132 |
else { |
| 133 |
if ($adobeCJK) { |
| 134 |
$unifonts = "gb,gbB,gbI,gbBI"; |
| 135 |
} |
| 136 |
/* Uncomment these lines if CJK fonts available */ |
| 137 |
// else { |
| 138 |
// $unifonts = "sun-exta,sun-extb,hannoma,hannomb"; |
| 139 |
// } |
| 140 |
} |
| 141 |
break; |
| 142 |
|
| 143 |
} |
| 144 |
|
| 145 |
|
| 146 |
$unifonts_arr = array(); |
| 147 |
if ($unifonts) { |
| 148 |
$unifonts_arr = preg_split('/\s*,\s*/',$unifonts); |
| 149 |
} |
| 150 |
return array($coreSuitable ,$unifonts_arr); |
| 151 |
} |
| 152 |
|
| 153 |
?> |