TCPDFにおいてデフォルトで使用可能なフォントは限られており、
それ以外はすべて手動でフォントをインストールする作業が必要となる。
こちらのサイトを参考にさせていただいた。
が、大いに留意すべき事項として、PDFにおける「文字エンコーディング」である。
TCPDFでは、フォントを埋め込まない設定が可能であるが、
フォントファイルのインストール後、とくに何の設定もせずに出力すると、文字化けが起こりうるのである。
しかしこれは発見が難しい。というのも、当該ファイルを作成したPC以外のクライアントPCで
文字化け現象が確認できるにとどまり、開発者としては気がつきにくいときた。
基本的にPDFでは、「Identity-H」というエンコード方式が用いられるようであるのだが、これが文字化けの原因のようだ。
この解決策としては、
フォントファイル(.php)の$enc以下を次のように書きかえることである。
$enc=’UniJIS-UTF16-H’;
//UniJIS-UTF16-V にしたら縦書きフォントになる
$cidinfo=array(’Registry’=>’Adobe’, ‘Ordering’=>’Japan1′,’Supplement’=>5);
include(dirname(__FILE__).’/uni2cid_aj16.php’);
プログラムを始めたころに、フォントや文字コードというのに泣かされた経験は、
おそらく私以外の方々も共有されているのではないだろうか。
常に意識・注意しておかなければならない重要なポイントの一つである。
Leave a Reply