我在codeigniter项目中使用了mPDF。它适用于英语和俄语,但是在意第绪语中仅显示点(。)和逗号(,),如下所示:
我要写的内容是:
这是我的代码:
$mpdf = new \Mpdf\Mpdf();
$mpdf->SetFont('avenirnext');
$mpdf->SetTitle($title);
$mpdf->SetAuthor('Blavatnik');
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($stylesheet2, 1);
$mpdf->WriteHTML($stylesheet3, 1);
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->SetHtmlHeader($header, 'OE');
$mpdf->SetHTMLFooter($footer, 'OE');
$mpdf->WriteHTML($html);
if ($html2 != '' && $html3 != '') {
$mpdf->SetHtmlHeader($secondHeader, 'OE');
$mpdf->WriteHTML($html2);
$mpdf->SetHtmlHeader($header, 'OE');
$mpdf->WriteHTML($html3);
}
if ($transcriptHtml2 != '' && $transcriptHtml3 != '') {
$mpdf->WriteHTML($transcriptHtml2);
$mpdf->WriteHTML($transcriptHtml3);
}
$mpdf->Output($title . '.pdf', 'I');
我也尝试过使用以下解决方案:
$mpdf = new mPDF('utf-8');
$mpdf->SetDirectionality('rtl');
我还能对其进行哪些更改,以使其适用于所有语言或主要适用于该意第绪语。谢谢!
答案 0 :(得分:1)
您必须使用支持希伯来字符的字体。此外,avenirnext
不在标准发行版中,您还没有configured an additional font。
删除SetFont
呼叫并使用
$mpdf->autoLangToFont = true;
与lang="yi"
或lang="he"
中的div
或span
一起在希伯来语/意第绪语周围。
您还可以在autofont mPDF example file中找到示例代码。
答案 1 :(得分:0)
如果您使用$mpdf = new \Mpdf\Mpdf();
简单的解决方案是在其下面添加:
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
仅此而已