2016-05-17 7 views
0

いくつかのドイツ語の文字をレンダリングすることはできません私はドイツ語「möchte」(文字öがここでの問題である)でPDFを生成しようとしています。.. 私は(オープンサンセリフ追加フォントを使用して)私もhttps://mpdf.github.io/fonts-languages/fonts-in-mpdf-6-x.htmlを読み、config_lang2fonts.phpを変更しようとした/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, 
    ) 

..私もそれに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、それは完璧に動作します。しかし私が必要とするのはオープンサンです。 mPDFの設定が間に合わなかったのですか?何が問題ですか?

+0

エンコードをUTF-8に設定しましたか? – kejsu

+0

はいサー、**Ü**のような文字が動作します。 **ö、ä、ü**のみ動作しません。奇妙じゃない? – rmondesilva

答えて

0

普通のoの後ろに不明な文字があることを強く示唆していることは、2番目の文字がスペース以外の1つの分詞であり、使用しているフォントでは利用できないことを強く示唆しています。

DejaVu SansとOpen Sansの文字セットを確認すると、私の感情が正しいことが証明されます。 DejaVu Sans に 'Combining DIAERESIS' U+0308: ¨が含まれていますか? OpenSansはではなく、です。

入力テキストにUnicode正規化を使用して、シーケンスo+¨をその複合文字öU+00F6に置き換えます。 äU+00E4üO+00FCについても同様です。

関連する問題