SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【PDFLib】外部のフォントを使うと全角文字が半角の幅で表示される

問題

PDFLibでフォントファイルを指定してPDFを生成すると、全角文字が半角の幅で配置されたり、半角文字が全角文字の幅で配置されたりします。

なんで?

答え

それはShift_JISやEUCで書かれたプログラムでしょうか。

日本語のフォントを埋め込むときは、unicodeを使用せよとのことです。

4) 外部のフォントファイルを埋め込む方法

≪日本語を使用する際の注意点≫

TrueType フォントを埋め込む際には、出力文字列を Unicode にする必要があります。

例えば PHP の場合、出力文字列を下記の様に変換します。

    $data = "こんにちは。";
    $str = mb_convert_encoding($data, 
             "UCS-2LE", "EUC-JP,ASCII,JIS,UTF-8,SJIS");

http://www.infotek.co.jp/pdflib/pdflib/pdflib_technical_1.html

関連するメモ

コメント