IPA font を PDF に埋め込む

フォントを埋め込んだPDFを dvipdfmx で作成する方法です。

ライセンス問題

作成したPDFを配布してもよいかどうかは フォントのライセンスに依存するので注意が必要です。 IPA フォントの場合は以下を参照して下さい。

インストール

まずインストールされているフォントを調べる。
fc-list
IPA フォントがインストールされてなければインストールする。
sudo apt-get install ttf-ipafont

リンク

dvipdfmx から kpathsea 経由でフォントが見えているかどうかを確認する。
kpsewhich -format 'truetype fonts' ipam
見えていなければ、リンクを張る。 /usr/share/texmf/fonts/truetype がなければ、まず作っておく。
sudo mkdir /usr/share/texmf/fonts/truetype
sudo ln -s /usr/share/fonts/truetype/ipafont /usr/share/texmf/fonts/truetype/ipafont
キャッシュを更新する。
sudo mktexlsr
再度、フォントが見えているか確認する。
kpsewhich -format 'truetype fonts' ipam
(出力→) /usr/share/texmf/fonts/truetype/ipafont/ipam.ttf
% kpsewhich -format 'truetype fonts' ipag
(出力→) /usr/share/texmf/fonts/truetype/ipafont/ipag.ttf

dvipdfmx で埋め込む

まず、何もせずに dvipdfmx で hoge.dvi から hoge.pdf を作ってみる。
dvipdfmx hoge.dvi
できた hoge.pdf でどのようなフォントが使われているかを確認する。
pdffonts hoge.pdf
出力のうち、第1列がフォントの名前、第3列が埋め込みされているかどうかです。 no の場合は埋め込みされていません。

次に、IPA フォントを埋め込んでみます。 まず、マップファイルを作ります。

rml H ipam.ttf
gbm H ipag.ttf
rmlv V ipam.ttf
gbmv V ipag.ttf
これを、~/.fontsmap/ipa.map として保存して(名前や場所はどこでもいいです)、 dvipdfmx にマップファイルの場所を教えてあげます。
dvipdfmx -f ~/.fontsmap/ipa.map hoge.dvi
できた hoge.pdf でどのようなフォントが使われているかを確認する。
pdffonts hoge.pdf
出力の第3列がすべて yes になっていたら、埋め込み完了です。

トラブルシューティング


Last modified: Wed Jul 10 18:08:14 JST 2013