孟加拉语Unicode字体未显示在MPDF中

时间:2019-07-18 06:39:02

标签: laravel fonts mpdf

我正在使用mpdf生成pdf。当文档包含孟加拉unicode字体时,它在pdf文档中不可见。

我已将字体正确包含在config / pdf.php中

'bangla' => [
            'R'  => 'SolaimanLipi.ttf', // regular font
            'B'  => 'SolaimanLipi.ttf', // optional: bold font
            'I'  => 'SolaimanLipi.ttf', // optional: italic font
            'BI' => 'SolaimanLipi.ttf', // optional: bold-italic font
            'useOTL' => 0xFF,   
            'useKashida' => 75, 
        ]

呈现孟加拉文字的CSS样式

.textLayer > div {
color: transparent;
white-space: pre;
cursor: text;
transform-origin: 0% 0%;
}

当我更改颜色时,它会显示重复的文本。

Output

1 个答案:

答案 0 :(得分:1)

您的配置正确。请确保字体文件位于 ttfonts 文件夹中。然后在html文件中这样写

    html, body, div {
      font-family: bangla;
    }

我使用了字体系列名称 bangla ,因为您在此处进行了配置

'bangla' => [
        'R'  => 'SolaimanLipi.ttf', // regular font
        'B'  => 'SolaimanLipi.ttf',
        ..........
        'useOTL' => 0xFF,
        'useKashida' => 75]

现在您应该这样称呼mPDF,

$mpdf = new \Mpdf\Mpdf([
            'default_font' => 'bangla',
            'mode' => 'utf-8'
        ]);

现在就您而言,对于这样的CSS调用,

.textLayer > div {
   font-family: bangla;
   color: transparent;
   white-space: pre;
   cursor: text;
   transform-origin: 0% 0%;
 }

应该可以。