2014-12-03 43 views
0

Zend PDF标准字体通常等于Latin1字符,因此要与其他语言一起使用适当的ttf字体应该被引用,这就是我所知做....Zend PDF加载ttf语言支持,但仍不能渲染字符,如俄语或波兰语

回报Zend_Pdf_Font :: fontWithPath($本 - > _ getFontFileDir()$ fontFile。)

的字体是绝对被使用,但语言的特定字符无法呈现:俄罗斯 - цдгчкфсшдгч或波兰语 - źóźżćć

我已经尝试了一些字体与适当e语言支持,包括例如dompdf库附带的DejaVuSans。

我还检查字符编码发送给前 - >的drawText(

 $addressItem = @iconv(mb_detect_encoding($addressItem), "UTF-8", addressItem);   

     $page->drawText(
      $addressItem, 
      $this->_width, 
      $this->_height, 
      'UTF-8' 
     ); 

也许有人已经用在这种情况下,已经出现了字体上面

+0

我们是不是在存储8位字符的127到255之间的字节中的字符的iso-8859-x编码和存储字符的单字节或多字节序列中表示公平块的utf-8之间存在一些混淆涵盖大多数世界语言的字形的unicode。可能是因为字形中的字形由127-255范围内的值表示,而不是http://en.wikipedia.org/wiki/Cyrillic_script_in_Unicode中的高数字表示,因此必须以某种方式从一种转换为另一种。 – 2014-12-03 01:20:39

回答

0

失败的字符来?这只是一个字体问题,因为我在渲染土耳其语和波兰语文本时遇到了同样的问题:它们在屏幕上正常打印(从PHP回显它们),但PDF(带Zend_Pdf)未呈现良好,显示(或未显示在所有)正方形代替几个字符。 我必须导入并尝试几个外部.ttf字体之前找到一个工作的:我用了一个普通的Arial TTF字体。 我希望这有助于!