PHPでPDFを表示、生成するソフトにFPDFというフリーのライブラリがあります。
このライブラリを使用してマルチバイトの日本語を表示することもできるのですが、デフォルトでは明朝体やゴシック体程度しか表示されません。しかし、その他のフォントも表示できるのですがその方法がちょっと面倒です。

下記にTTCのフォントを使用してそのフォントのライブラリを作る(改造)する方法を示します。
ちなみにTTCフォントはTTFフォントを複数組み合わせたフォントのことです。

この方法はWindowsで明記していますが、FPDFを使用するにはLinuxでも問題ありません。
ライブラリを作成するためにはWindowsでの環境で行う必要があります。また、最後の「mkttfdefで定義ファイルを作る」箇所に関してはPHP4も必要になります。(PHP5で行ってみたところうまく動作しませんでした)

  1. 1.FPDFインストール
    • FPDFをここからダウンロードする。
    • 解凍ソフトで解凍する。
    • 解凍したフォルダ内をPHPにinclude_pathへコピーする。
      たとえばinclude_pathが「.;c:phpincludes」となっている場合は「fpdf」フォルダを作成し、その中へfpdf.phpやfontをコピーする。
  2. Multi-Byte FPDFのインストール
    • ここからmbfpdf10b.zipをダウンロードする。
    • 解凍ソフトで解凍する。
    • 解凍したフォルダ内の各ファイルをFPDFをインストールしたフォルダへコピーする。
      mbfpdf.php→C:phpincludesmbfpdf.php
      fontmbttfdef.php→C:phpincludesfontmbttfdef.php
      fontmakefontmkttfdef.bat→C:phpincludesfontmakefontmkttfdef.bat
      fontmakefontmkttfdef.dat→C:phpincludesfontmakefontmkttfdef.dat
      fontmakefontmkttfdef.php→C:phpincludesfontmakefontmkttfdef.php
      fontmakefontttf2pt1.exe→C:phpincludesfontmakefontttf2pt1.exe
    • 解凍したフォルダ内の「exja.php」をDocumentRootフォルダへコピーして日本語のフォントがPDFで表示されるのを確認する。
  3. TTCからTTFへ分割
    • ここからBREAKTTC.EXEをダウンロードする。
    • 解凍ソフトで解凍する。
    • 解凍したフォルダをC:ttsdkへコピーする。
    • 分割するフォントをC:ttsdkTTCへコピーする。
    • コマンドプロンプトでC:ttsdkTTCへ移動する。
      C:> cd C:ttsdkTTC
    • BREAKTTC.EXEを実行してフォントを分割
      C:ttsdkTTC > BREAKTTC ????.TTC
    • C:ttsdkTTCにFONT00.TTF、FONT01.TTF、FONT02.TTF…などのファイル名でそれぞれが分割される。
  4. TTFフォントをType1とフォントメトリックファイル(.afm)を生成
    • 上記でダウンロードしたmbfpdf10b.zipの中にttf2pt1.exeファイルがあるのでC:ttf2pt1へコピーする。
    • 生成するフォントをC:ttf2pt1へコピーする。
      C:> cd C:ttf2pt1
    • コマンドプロンプトでC:ttf2pt1へ移動する。
    • ttf2pt1.exeを実行してファイルを生成
      C:ttf2pt1 > ttf2pt1 -b FONT00.TTF font00
    • C:ttf2pt1にfont00.pfbとfont00.afmが生成される。
  5. マルチバイトフォント定義ファイルにフォント情報の追加
    • font00.afmをC:phpincludesfontmakefontへコピーする。
    • コマンドプロンプトでC:phpincludesfontmakefontへ移動。
      C:> cd C:phpincludesfontmakefont
    • mkttfdefで定義ファイルを作成する。
      C:phpincludesfontmakefont> mkttfdef font00.afm
    • C:phpincludesfontmbttfdef.phpファイルの最後に追加したフォントの定義ファイルができているので確認する。
    • C:phpincludesmbfpdf.phpファイルを開いて38行目付近に定数を設定する。
      DEFINE(“〔定数名〕”, ‘〔mbttfdef.phpファイルで追加された配列の連想配列名〕’);