【发布时间】:2015-01-21 19:13:17
【问题描述】:
Zend PDF 标准字体通常等于 Latin1 字符,因此要使用其他语言,应该引用适当的 ttf 字体,这就是我正在做的......
return Zend_Pdf_Font::fontWithPath($this->_getFontFileDir() . $fontFile)
确实使用了该字体,但无法呈现特定语言的字符:俄语 - цдгчкфсшдгч 或波兰语 - ńóźżćć
我尝试了多种支持适当语言的字体,例如 dompdf 库附带的 DejaVuSans。
在发送到 ->drawText(
之前,我也在检查字符编码 $addressItem = @iconv(mb_detect_encoding($addressItem), "UTF-8", addressItem);
$page->drawText(
$addressItem,
$this->_width,
$this->_height,
'UTF-8'
);
也许有人在这种情况下使用了一种字体,该字体已被证明可以处理上述失败的字符?
【问题讨论】:
-
我们在将字符存储在 8 位字符的 127 和 255 之间的字节中的 iso-8859-x 编码和将字符存储在单字节或多字节序列中的 utf-8 之间是否存在一些混淆?它代表了相当一部分 unicode,涵盖了世界上大多数语言的字形。可能是您必须以某种方式从一个转换到另一个,因为您的字形在字体中由 127-255 范围内的值表示,而不是en.wikipedia.org/wiki/Cyrillic_script_in_Unicode中的高数字@