前提・実現したいこと
PHPでTCPDFを使用してPDFを出力します。
vivaldiiというフォントを埋め込みます。
TCPDF以外のライブラリでも構いません。
発生している問題・エラーメッセージ
一部の環境で、部分的に文字化けが発生します。
1.Chromeでは意図した表示になります。
2.FireFoxでは¥記号が黒い丸になり、äのようなウムラウト文字がおかしくなります。
3.AcrobatReaderでは¥記号は、意図した通りの表示になりますがウムラウト文字が白い四角になります(Firefoxとは表示が異なる)。
4.資料として貰っているpdfでは、いずれの環境でも正しく表示されます。(つまり原理的には可能なはず)
該当のソースコード
TCPDFとVIVALDII.TTF があればそのまま実行できます
php
1include "./TCPDF/tcpdf.php"; 2$pageLayout = array(80, 20); 3$pdf = new TCPDF('L', 'mm', $pageLayout, true, 'UTF-8', false); 4TCPDF_FONTS::addTTFfont('VIVALDII.TTF', 'TrueType', '', 32); 5 6$pdf->SetAutoPageBreak(false, 0); 7$pdf->setPrintHeader(false); 8$pdf->setPrintFooter(false); 9 10$pdf->AddPage(); 11$pdf->SetFont('vivaldii', '',30); 12$pdf->Cell(0,0,'¥Kaakkomäki',0,2,'C',false,'',0,false,'L','M'); 13$pdf->Output('test.pdf', 'I');
試したこと
vivaldii.php,vivaldii.z,vivaldii.ctg.zを削除の上、
TCPDF_FONTSのインスタンスを作成するやり方も試しました。
php
1$font = new TCPDF_FONTS(); 2$pdf->setFontSubsetting(true); 3$font->addTTFfont('VIVALDII.TTF', 'TrueType', '', 32);
最初から入っているフォントではうまくいきます。
補足情報(FW/ツールのバージョンなど)
PHP 5.3.8
TCPDF 6.2.25
FireFox 62.0.3
Adobe Acrobat Reader DC 2019.008.20074
回答1件
あなたの回答
tips
プレビュー