Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/mpdf/config_cp.php

163 lines
5.3 KiB

<?php
function GetCodepage($llcc) {
if (strlen($llcc) == 5) {
$lang = substr(strtolower($llcc),0,2);
$country = substr(strtoupper($llcc),3,2);
}
else { $lang = strtolower($llcc); $country = ''; }
$unifonts = "";
$dir = "ltr";
$spacing = "";
switch($lang){
CASE "en":
CASE "ca":
CASE "cy":
CASE "da":
CASE "de":
CASE "es":
CASE "eu":
CASE "fr":
CASE "ga":
CASE "fi":
CASE "is":
CASE "it":
CASE "nl":
CASE "no":
CASE "pt":
CASE "sv":
$cp = "win-1252"; break;
// ISO-8859-2
CASE "cs":
CASE "hr":
CASE "hu":
CASE "pl":
CASE "ro":
CASE "sk":
CASE "sl":
$cp = "iso-8859-2"; break;
// ISO-8859-4
CASE "et":
CASE "kl":
CASE "lt":
CASE "lv":
$cp = "iso-8859-4"; break;
// WIN-1251
CASE "bg":
CASE "mk":
CASE "ru":
CASE "sr":
CASE "uk":
$cp = "win-1251"; break;
// ISO-8859-9 (Turkish)
CASE "tr":
$cp = "iso-8859-9"; break;
// ISO-8859-7 (Greek)
CASE "el":
$cp = "iso-8859-7"; break;
// UTF-8
CASE "id":
CASE "ms":
CASE "sh":
CASE "sq":
CASE "af":
CASE "be":
CASE "fo":
CASE "gl":
CASE "gv":
$cp = "UTF-8"; break;
// RTL Languages
CASE "he": $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI,dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,freesans,freesansB,freesansI,freesansBI,freeserif,freeserifB,freeserifI,freeserifBI,freemono,freemonoB,freemonoI,freemonoBI"; break;
// Arabic
CASE "ar": $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI,dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,ar_1_001,ar_1_002,ar_1_003,ar_1_004,ar_1_005,ar_1_006,ar_1_007,ar_2_001,ar_2_002,ar_2_003,ar_2_004,ar_k_001,ar_k_002"; break;
CASE "fa": $cp = "UTF-8"; $unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI,dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,fa_1_001,fa_1_002"; $dir = "rtl"; $spacing = "W"; break;
CASE "ps": $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "ps_1_001"; break;
CASE "ur": $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "ur_1_001"; break;
// Sindhi (Arabic or Devanagari)
CASE "sd":
if ($country == "IN") { $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_hi_1_001"; }
else if ($country == "PK") { $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "sd_1_001,sd_1_002"; }
else { $cp = "UTF-8"; $dir = "rtl"; $spacing = "W"; $unifonts = "sd_1_001,sd_1_002"; }
break;
// INDIC
// Assamese
CASE "as": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_bn_1_001"; break;
// Bengali
CASE "bn": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_bn_1_001"; break;
// Gujarati
CASE "gu": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_gu_1_001"; break;
// Hindi (Devanagari)
CASE "hi": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_hi_1_001"; break;
// Kannada
CASE "kn": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_kn_1_001"; break;
// Kashmiri
CASE "ks": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_hi_1_001"; break;
// Malayalam
CASE "ml": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_ml_1_001"; break;
// Nepali (Devanagari)
CASE "ne": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_hi_1_001"; break;
// Oriya
CASE "or": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_or_1_001"; break;
// Punjabi (Gurmukhi)
CASE "pa": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_pa_1_001"; break;
// Tamil
CASE "ta": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_ta_1_001"; break;
// Telegu
CASE "te": $cp = "UTF-8"; $spacing = "W"; $unifonts = "ind_te_1_001"; break;
// Sinhalese
CASE "si": $cp = "UTF-8"; $spacing = "W"; $unifonts = "freesans"; break;
// THAI
CASE "th": $cp = "UTF-8"; $spacing = "C"; $unifonts = "garuda,garudaB,garudaI,garudaBI,norasi,norasiB,norasiI,norasiBI,freeserif"; break;
// VIETNAMESE
CASE "vi": $cp = "UTF-8"; $unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI,dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,freeserif"; break;
// CJK Langauges
CASE "ja": $cp = "SHIFT_JIS"; $spacing = "C"; break;
CASE "ko": $cp = "UHC"; $spacing = "C"; break;
CASE "zh":
if ($country == "HK" || $country == "TW") { $cp = "BIG5"; $spacing = "C"; }
else if ($country == "CN") { $cp = "GBK"; $spacing = "C"; }
else { $cp = "GBK"; $spacing = "C"; }
break;
/*
// CJK Langauges - ALTERNATIVE
CASE "ja":
CASE "zh":
$cp = "UTF-8"; $spacing = "C"; $unifonts = "zn_hannom_a"; break;
CASE "ko": $cp = "UTF-8"; $spacing = "C"; $unifonts = "unbatang_0613"; break;
*/
// Default UTF-8
default: $cp = "UTF-8"; break; // mPDF 4.2 Don't need to set unifonts - will make all available if left blank
// Default spacing set to '' (i.e. mixed character/word)
}
$unifonts_arr = array();
if ($unifonts) {
$unifonts_arr = preg_split('/\s*,\s*/',$unifonts);
}
return array($cp,$unifonts_arr,$dir,$spacing);
}
?>