Subversion Repositories cheapmusic

Rev

Blame | Last modification | View Log | RSS feed

<?php


function GetLangOpts($llcc, $adobeCJK) {
        if (strlen($llcc) == 5) {
                $lang = substr(strtolower($llcc),0,2);
                $country = substr(strtoupper($llcc),3,2);
        }
        else { $lang = strtolower($llcc); $country = ''; }
        $unifonts = "";
        $coreSuitable = false;

        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":
                // Edit this value to define how mPDF behaves when using new mPDF('-x')
                // If set to TRUE, mPDF will use Adobe core fonts only when it recognises the languages above
                $coreSuitable = true;  break;



          // RTL Languages
          CASE "he":
          CASE "yi":
                $unifonts = "dejavusans,dejavusansB,dejavusansI,dejavusansBI";  break;

          // Arabic
          CASE "ar":  
                $unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI";  break;
          CASE "fa":  
                $unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI";  break;
          CASE "ps": 
                $unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break;
          CASE "ur":  
                $unifonts = "xbriyaz,xbriyazB,xbriyazI,xbriyazBI,xbzar,xbzarB,xbzarI,xbzarBI"; break;

          // Sindhi (can be Arabic or Devanagari)
          CASE "sd":
                if ($country == "IN") { $unifonts = "ind_hi_1_001"; }
        //      else if ($country == "PK") { $unifonts = ""; }
        //      else { $unifonts = ""; }
                break;


          // INDIC 
          // Assamese
          CASE "as":  $unifonts = "ind_bn_1_001"; break;
          // Bengali
          CASE "bn":  $unifonts = "ind_bn_1_001"; break;
          // Gujarati
          CASE "gu":  $unifonts = "ind_gu_1_001"; break;
          // Hindi (Devanagari)
          CASE "hi":  $unifonts = "ind_hi_1_001"; break;
          // Kannada
          CASE "kn":  $unifonts = "ind_kn_1_001"; break;
          // Kashmiri
          CASE "ks":  $unifonts = "ind_hi_1_001"; break;
          // Malayalam
          CASE "ml":  $unifonts = "ind_ml_1_001"; break;
          // Nepali (Devanagari)
          CASE "ne":  $unifonts = "ind_hi_1_001"; break;
          // Oriya
          CASE "or":  $unifonts = "ind_or_1_001"; break;
          // Punjabi (Gurmukhi)
          CASE "pa":  $unifonts = "ind_pa_1_001"; break;
          // Tamil
          CASE "ta":  $unifonts = "ind_ta_1_001"; break;
          // Telegu
          CASE "te":  $unifonts = "ind_te_1_001"; break;

          // THAI
          CASE "th":  $unifonts = "garuda,garudaB,garudaI,garudaBI,norasi,norasiB,norasiI,norasiBI";  break;

          // VIETNAMESE
          CASE "vi":  
                $unifonts = "dejavusanscondensed,dejavusanscondensedB,dejavusanscondensedI,dejavusanscondensedBI,dejavusans,dejavusansB,dejavusansI,dejavusansBI"; break;

          // CJK Langauges
          CASE "ja":  
                if ($adobeCJK) {
                        $unifonts = "sjis,sjisB,sjisI,sjisBI";
                }
/* Uncomment these lines if CJK fonts available */
//              else {
//                      $unifonts = "sun-exta,sun-extb,hannoma,hannomb";
//              }
                break;

          CASE "ko":  
                if ($adobeCJK) {
                        $unifonts = "uhc,uhcB,uhcI,uhcBI";
                }
/* Uncomment these lines if CJK fonts available */
//              else {
//                      $unifonts = "unbatang_0613"; 
//              }
                break;

          CASE "zh":
                if ($country == "HK" || $country == "TW") { 
                        if ($adobeCJK) {
                                $unifonts = "big5,big5B,big5I,big5BI"; 
                        }
/* Uncomment these lines if CJK fonts available */
//                      else {
//                              $unifonts = "sun-exta,sun-extb,hannoma,hannomb";
//                      }
                }
                else if ($country == "CN") { 
                        if ($adobeCJK) {
                                $unifonts = "gb,gbB,gbI,gbBI";  
                        }
/* Uncomment these lines if CJK fonts available */
//                      else {
//                              $unifonts = "sun-exta,sun-extb,hannoma,hannomb";
//                      }
                }
                else { 
                        if ($adobeCJK) {
                                $unifonts = "gb,gbB,gbI,gbBI"; 
                        }
/* Uncomment these lines if CJK fonts available */
//                      else {
//                              $unifonts = "sun-exta,sun-extb,hannoma,hannomb";
//                      }
                }
                break;

        }


        $unifonts_arr = array();
        if ($unifonts) {
                $unifonts_arr = preg_split('/\s*,\s*/',$unifonts);
        }
        return array($coreSuitable ,$unifonts_arr);
}

?>