TCPDF字体转换导致缺少字形

时间:2011-07-18 23:37:12

标签: pdf unicode tcpdf glyph cjk

我正在使用TCPDF库每天在cronjob中生成服务器端PDF。该库从DB获取UTF8字符串,并使用Arial Unicode MS字体将其写入PDF(也将其嵌入PDF中)。

为了能够使用这种字体,我必须按照以下说明将其转换为PHP友好格式:http://www.tcpdf.org/fonts.php

然而,虽然大部分语言似乎都是正确的(希伯来语,中文,日语,葡萄牙语等字形都是正确的),但是韩语字形在PDF中显示为方形框。

我在运行上面链接中描述的ttf2ufm二进制文件时发现了很多(数百个)错误:

Previous entry type: M
Warning: **** closepath on empty path in glyph "_d_8235" ****

我怀疑这与此问题有关(无法正确转换这几百个字形,从而导致无效的字体文件)。

我做错了吗?或者这只是这个库的限制?

1 个答案:

答案 0 :(得分:0)

最新的TCPDF版本使用addTTFfont()方法自动将字体转换为TCPDF格式。删除了旧的字体程序和脚本。

例如:

// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = $pdf->addTTFfont('/path-to-font/FreeSerifItalic.ttf', 'TrueTypeUnicode', '', 96);

// use the font
$pdf->SetFont($fontname, '', 14, '', false);