【问题标题】:PHP mPDF: Failed to display Yiddish Language in PDFPHP mPDF:无法在 PDF 中显示意第绪语
【发布时间】:2018-10-28 12:27:41
【问题描述】:

我在 codeigniter 项目中使用 mPDF。它适用于英语和俄语,但在意第绪语中它只显示点 (.) 和逗号 (,),如下所示:

mPDF output

虽然我写的内容是:

Yiddish Content

这是我的代码:

    $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');

我还可以对其进行哪些更改以使其适用于所有语言或主要是意第绪语。谢谢!

【问题讨论】:

    标签: php codeigniter mpdf


    【解决方案1】:

    您必须使用支持希伯来字符的字体。此外,avenirnext 不在标准发行版中,您也没有configured an additional font

    删除SetFont调用并使用

    $mpdf->autoLangToFont = true;
    

    lang="yi"lang="he" 一起出现在您的希伯来语/意第绪语文本周围的divspan

    您还可以在autofont mPDF example file 中找到示例代码。

    【讨论】:

      【解决方案2】:

      如果你使用$mpdf = new \Mpdf\Mpdf();

      简单的解决方案是在它下面添加:

      $mpdf->autoScriptToLang = true; 
      $mpdf->autoLangToFont = true; 
      

      就是这样

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-06
        • 1970-01-01
        • 2021-12-18
        • 2021-01-30
        • 1970-01-01
        • 2021-02-17
        • 1970-01-01
        相关资源
        最近更新 更多