TCPDF Pyidoungsu(unicode)字体顺序错误



我用这种方式添加字体和打印pdf,但字体顺序不正确。在pdf.php

require_once('tcpdf_include.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->AddPage('P', 'A7');
$fontname = TCPDF_FONTS::addTTFfont('../fonts/Pyidaungsu-2.5.1_Regular.ttf', 'TrueTypeUnicode', '', 32);
$pdf->SetFont($fontname, '', 14, true);

我写的是正确的字体顺序,但是

$block1 = <<<EOF
<table style="font-size:9px; text-align:center">
<tr>

<td style="width:160px;">

<div>

Date: $saledate

<p style="font-size:10px">Aung Kyaw Oo(တောင်းဖျာနှီးကုန်)</p>


</div>
</td>
</tr>

</table>
EOF;
$pdf->writeHTML($block1, false, false, false, false, '');

我使用数据库在utf_8general_ci

pdfတောင်းဖျာနှီးကုန်as"တ‌ောင်းဖျာနှီးကုန်"中缅甸字体(Pyidoungsu unicode Font)的字体顺序错误

我们用字形解决了这个问题。

由于TCPDF在缅甸Unicode字体中有渲染问题,但在Zawgyi字体中是可以的。因此,我们使用zawgyi字体,并使用Rabbit Converter将原始Unicode内容转换为zawgyi。

你可以在这是我们的公共仓库中看到完整的源代码。https://github.com/aungkoman/pdf_generate/

require("Rabbit.php");
function uni2zg($str){
return Rabbit::uni2zg($str);
}
$pdf->SetFont($font_family = 'zawgyi', $variant = '', $fontsize = 11);
$pdf->Text(0, 0, uni2zg("သီဟိုဠ်မှ ဉာဏ်ကြီးရှင်သည် အာယုဝဍ္ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေး ဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်။"));

最新更新