2016-05-17 67 views
0

我試圖產生與德國詞「möchte」 PDF(信ö是這裏的問題).. (開放三世)在/ttfonts文件夾,並將其放在config_fonts.php ..MPDF開放Sans字體無法呈現一些德國的信件

"open_sans" => array(
    'B' => "OpenSans-Bold.ttf", 
    'BI' => "OpenSans-BoldItalic.ttf", 
    'EB' => "OpenSans-ExtraBold.ttf", 
    'EBI' => "OpenSans-ExtraBoldItalic.ttf", 
    'I' => "OpenSans-Italic.ttf", 
    'L' => "OpenSans-Light.ttf", 
    'LI' => "OpenSans-LightItalic.ttf", 
    'R' => "OpenSans-Regular.ttf", 
    'SB' => "OpenSans-Semibold.ttf", 
    'SBI' => "OpenSans-SemiboldItalic.ttf", 
     'useOTL' => 0xFF, 
     'useKashida' => 75, 
    ) 

我也看了https://mpdf.github.io/fonts-languages/fonts-in-mpdf-6-x.html並試圖修改config_lang2fonts.php ..我甚至都將其設置爲open_sans

$unifont = "open_sans"; 
return array($coreSuitable ,$unifont); 

PS:我下載的Open Sans字體文件已經沒有子集。

但產量仍沒有像我想象的,它表明: enter image description here

PHP

$mpdf = new mPDF('','A4','','open_sans' , 30 , 12 , 12 , 12 , 10 , 10);

標記

@font-face{ 
font-family:open_sans; 
src: url('mypath/mpdf60/ttfonts/OpenSans-Regular.ttf'); 
} 

我嘗試使用默認字體mPDF l ike dejavusans,它完美的作品。但是我需要的是Open Sans。我錯過了mPDF中的配置還是什麼?問題是什麼?

+0

您是否已將編碼設置爲UTF-8? – kejsu

+0

是的,先生,像**Ü**字符的作品。只有**ö,ä和ü**不起作用。奇怪是不是? – rmondesilva

回答

0

事實上,你看到一個常規的o後面跟着一個未知的字符強烈建議第二個字符是一個單一的非間距diaeresis,而不是你正在使用的字體。

檢查DejaVu Sans和Open Sans的字符集證明我的預感是正確的。 DejaVu Sans 確實包含'組合DIAERESIS'U+0308: ¨。 OpenSans不是而是

在您的輸入文本中使用Unicode標準化替換序列o+¨及其合成字符öU+00F6äU+00E4üO+00FC也是如此。