ptetex3のdvipdfmxを使いフォント埋め込みPDFを作る
ptetex3を導入したUbuntu 8.10*1にてフォント埋め込みのPDFを作る方法。ptetex3ならおそらくどこでも同様。
dvipdfmxで使うフォントは
/usr/local/teTeX/share/texmf-var/fonts/map/dvipdfm/updmap
にあるdvipdfm.mapで欧文フォント、kanjix.mapで日本語フォントの設定をしています。設定を変える必要があるのは日本語フォントの方。ここを直接書き換えても結果は変えられる*2けど、dvipdfmxはdviファイルと同ディレクトリにkanjix.mapがあるとそっちを参照してくれるので、元のkanjix.mapをコピーしてきて!Ryumin-Light
と!GothicBBB-Medium
と書いてある部分を適当なフォントに書き換えます。
cidgoth-h Identity-H :0:ipag cidgoth-v Identity-V :0:ipag cidmin-h Identity-H :0:ipam cidmin-v Identity-V :0:ipam futogo-b H :0:ipag futogo-b-v V :0:ipag futomin-b H FutoMinA101-Bold futomin-b-v V FutoMinA101-Bold gbm H :0:ipag gbmv V :0:ipag gtbbb-m H :0:ipag gtbbb-m-v V :0:ipag hkb H :0:ipag hkbv V :0:ipag hmr H :0:ipam hmrv V :0:ipam jun101-l H Jun101-Light jun101-l-v V Jun101-Light rml H :0:ipam rmlv V :0:ipam ryumin-l H ipam ryumin-l-v V ipam unijgoth-h UniJIS-UTF16-H :0:ipag unijgoth-v UniJIS-UTF16-V :0:ipag unijmin-h UniJIS-UTF16-H :0:ipam unijmin-v UniJIS-UTF16-V :0:ipam
この例だとIPAフォント*3の明朝体とゴシック体を埋め込むフォントとして設定した。全部書き換える必要は無かったかも。試してない。
このようなkanjix.mapを置いたディレクトリでdvipdfmxでdviをpdfに置き換えると日本語フォントを埋め込むことができる。
さらに、文字の入っているepsを図として取り込んでいるとHelveticaが利用されるがHelveticaが埋め込まれていないPDFができる。Helveticaを埋め込むためには
/usr/share/ghostscript/8.63/lib
のgs_pdfwr.ps
を
/.standardfonts [ /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats ] readonly def
として埋め込まない基本フォントとして設定している部分を
/.standardfonts [ %/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique %/Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique %/Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic %/Symbol /ZapfDingbats ] readonly def
のように書き換える。更に
/usr/local/teTeX/share/texmf/dvipdfm
のdvipdfmx.cfg
でも
D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o -dNOKANJI -c '.setpdfwrite << /NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats /Ryumin-Light /GothicBBB-Medium] >> setdistillerparams' -f %i -c quit"
のように埋め込まない基本フォントとして設定されているので
D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dUseFlateCompression=true -sOutputFile=%o -dNOKANJI -c '.setpdfwrite << /NeverEmbed [] >> setdistillerparams' -f %i -c quit"
埋め込まないフォントとして指定しないように書き換える必要がある。
今回は論文投稿の規定で「フォントを全て埋め込むこと」とあったのでHelveticaまで埋め込んだが、実際にはHelveticaなどの基本フォントを埋め込む必要はあまり無いかもしれない。
参考
- http://support.adobe.co.jp/faq/qadoc/AJ25.nsf/448b10039648c80d49256f47002c7456/0ff0fb9fde049c7c49256f8e0038dd25?OpenDocument
- http://cms.ias.tokushima-u.ac.jp/index.php?Helvetica%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%CB%E4%A4%E1%B9%FE%A4%DF
- http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Ghostscript%208.54
- http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=10
*1:色々めんどうなのでptetex3入れるんならaptからはtexliveとかdvipdfmxとか入れない方が良いと思う
*2:コメントに「このファイル直接いじんな!」とか書いてるけど
*3:Ubuntu Japanese Teamパッケージレポジトリから追加したもの