2014-12-03 35 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字體。 我希望這有助於!