PHPでサービスを作っていると日本語だけでなく、韓国語も合わせて使いたい!というケースがあります。
WEB出力だけなら簡単なのですが、いざPDF出力しようとすると、とたんに□文字(豆腐というらしい)となってしまいます。
ググってもなかなか出てこず苦戦しましたが、なんとかできましたので、まとめておきます。
前提条件
CakePHP3系を利用し、composer.jsonには、以下のように設定します
まずは、設定ファイルに直もしくは、別のconfigファイルを用意してフォントを追加指定します。
フォントを特定のフォルダに入れて、そのフォルダを_MPDF_SYSTEM_TTFONTSという名前でDefineします
あとは、HTMLをどうするか?となりますが、今回はHTMLとして作成し、それをPDFとする形をとりました。
HTMLのCSSとして以下のように指定します
HTMLとしては、こんな感じ
これでOK。無事に多国語を対応させることができました。
よくWEB上には、mpdfの中身を直接弄ったりするような話がありますが、composerを使う以上、よろしくありませんね。