X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=reporting%2Fincludes%2Fclass.pdf.inc;h=ab76ab46ed20fb3311ef59e971682608a97b64ae;hb=19ddc3939071044c8e94b628f1d6a039f50cc493;hp=7b5ee8d2f6637d06154023ba21448b5854278dff;hpb=dac720786b6783fccdd1be729186f118c707086c;p=fa-stable.git diff --git a/reporting/includes/class.pdf.inc b/reporting/includes/class.pdf.inc index 7b5ee8d2..ab76ab46 100644 --- a/reporting/includes/class.pdf.inc +++ b/reporting/includes/class.pdf.inc @@ -63,9 +63,9 @@ include_once (dirname(__FILE__).'/fpdi/fpdi.php'); class Cpdf extends FPDI { - function Cpdf($pageSize='A4', $lang=null, $pageOrientation='P') + function __construct($pageSize='A4', $lang=null, $pageOrientation='P') { - $this->TCPDF($pageOrientation, 'pt', $pageSize);//, $uni, $enc); + parent::__construct($pageOrientation, 'pt', $pageSize);//, $uni, $enc); $this->SetLang($lang); $this->setPrintHeader(false); $this->setPrintFooter(false); @@ -79,15 +79,21 @@ class Cpdf extends FPDI { */ function SetLang($code=null) { - global $installed_languages, $dflt_lang, $path_to_root; + global $installed_languages, $dflt_lang, $path_to_root, $local_path_to_root, $GetText; if (!$code) $code = $dflt_lang; $lang = array_search_value($code, $installed_languages, 'code'); - $_SESSION['get_text']->set_language($lang['code'], strtoupper($lang['encoding'])); - $_SESSION['get_text']->add_domain($lang['code'], $path_to_root . "/lang", @$lang['version']); + $GetText->set_language($lang['code'], strtoupper($lang['encoding'])); + // $local_path_to_root is set inside find_custom_file. + // Select extension domain if po file is provided + // otherwise use global translation. + if (file_exists($local_path_to_root.'/lang/'.$lang['code'].'/LC_MESSAGES/'.$lang['code'].'.po')) + $GetText->add_domain($lang['code'], $local_path_to_root . "/lang"); + else + $GetText->add_domain($lang['code'], $path_to_root . "/lang", @$lang['version']); // re-read translated sys names. include($path_to_root.'/includes/sysnames.inc'); @@ -114,7 +120,6 @@ class Cpdf extends FPDI { $this->FontFamily = 'helvetica'; $this->FontStyle = ''; $this->FontSizePt = 12; -// $this->utf8Bidi(array("")); } @@ -169,7 +174,14 @@ class Cpdf extends FPDI { default : $fontname = "freesans5"; break; } } - // else use built-in adobe fonts helvetica. + elseif ($this->encoding === "ISO-8859-13") + { + switch ($this->l['a_meta_language']) + { + default : $fontname = "freesans13"; break; + } + } + // else use built-in adobe fonts helvetica. } $this->SetFont($fontname, $style); } @@ -245,7 +257,7 @@ class Cpdf extends FPDI { * nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a * pretty crappy shape at 2, as we are approximating with bezier curves. */ - function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0) + function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0, $dummy=null) { parent::Ellipse($x0, $y0, $r1, $r2, $angle, $astart. $afinish, ($close?'C':''), "", "", $nSeg); } @@ -296,6 +308,7 @@ class Cpdf extends FPDI { else $align = 'R'; + $txt = parent::unhtmlentities($txt); // If horizontal scaling was requested, check to see if we're trying to scale // too much. If so, cut back string first and then scale it. $maxScaleFactor = 1.4; @@ -307,7 +320,7 @@ class Cpdf extends FPDI { $ret = $txt[1]; $txt = $txt[0]; $this->SetXY($xb, $this->h - $yb - $h); - $txt = parent::unhtmlentities($txt); + if ($this->isunicode && $this->encoding != "UTF-8") $txt = iconv($this->encoding, "UTF-8", $txt); $this->Cell($w, $h, $txt, $border, 0, $align, $fill, $link, $stretch); @@ -321,4 +334,3 @@ class Cpdf extends FPDI { } // end of class -?> \ No newline at end of file