1<?php 2 3namespace Mpdf\Conversion; 4 5use Mpdf\Mpdf; 6 7class DecToOther 8{ 9 10 /** 11 * @var \Mpdf\Mpdf 12 */ 13 private $mpdf; 14 15 public function __construct(Mpdf $mpdf) 16 { 17 $this->mpdf = $mpdf; 18 } 19 20 public function convert($num, $cp, $check = true) 21 { 22 // From printlistbuffer: font is set, so check if character is available 23 // From docPageNum: font is not set, so no check 24 $nstr = (string) $num; 25 $rnum = ''; 26 27 for ($i = 0; $i < strlen($nstr); $i++) { 28 if (!$check || $this->mpdf->_charDefined($this->mpdf->CurrentFont['cw'], $cp + ((int) $nstr[$i]))) { 29 $rnum .= code2utf($cp + (int) $nstr[$i]); 30 } else { 31 $rnum .= $nstr[$i]; 32 } 33 } 34 35 return $rnum; 36 } 37 38 /** 39 * @param string $script 40 * @return int 41 */ 42 public function getCodePage($script) 43 { 44 $codePages = [ 45 'arabic-indic' => 0x0660, 46 'persian' => 0x06F0, 47 'urdu' => 0x06F0, 48 'bengali' => 0x09E6, 49 'devanagari' => 0x0966, 50 'gujarati' => 0x0AE6, 51 'gurmukhi' => 0x0A66, 52 'kannada' => 0x0CE6, 53 'malayalam' => 0x0D66, 54 'oriya' => 0x0B66, 55 'telugu' => 0x0C66, 56 'tamil' => 0x0BE6, 57 'thai' => 0x0E50, 58 'khmer' => 0x17E0, 59 'cambodian' => 0x17E0, 60 'lao' => 0x0ED0, 61 ]; 62 63 return isset($codePages[$script]) ? $codePages[$script] : 0; 64 } 65 66} 67