平衡点
2007/11/15
_ etch で dvips -> ps2pdfwr
とりあえず TeX環境の構築が終わったんで, dvi から pdf への変換についてまとめ. Debian の流儀として正攻法では無いかもしれないけど, こうやったらやりたいことできたよ, という話.
やりたい事は以下の二つ. dvi ファイルから...
- 任意のフォントを埋め込んだ PDF 作成
- フォントを埋め込まない PDF 作成
方法は
- dvipdfmx を使って
- dvips -> ps2pdfwr を使って
の二種類(prosper とか pstrick は dvips 使わないと駄目だし).
環境は Debian GNU/Linux 4.0(etch) です.
dvips -> ps2pdfwr
導入と初期設定
gs-esp を使いましょう(gs-afpl, gs-gpl は試してません). あと, cmap-adobe-japan1 を install して, optional と extra も選択しておきます.
$ sudo aptitude install gs-esp gs-cjk-resource \ cmap-adobe-japan1 $ sudo dpkg-reconfigure cmap-adobe-japan1 ... 全部選択する.
あとはさざなみフォントとか, IPA フォントとか, 埋め込みたいフォントを入れておく.Debian パッケージになっていないフォントの追加方法は
$ sudo -s # cp hogehoge.ttf /usr/local/share/fonts/ # defoma-hints -c truetype /usr/local/share/fonts/hogehoge.ttf \ > /etc/defoma/hints/hogehoge.hints ... # defoma-font -vt register-all /etc/defoma/hints/hogehoge.hints
とか.
次に, <URL:http://kmuto.jp/d/index.cgi/debian/gs-esp-8151.htm:title>にある通り, 環境変数 GS_LIB でフォントの場所を指定しておく.
# for ps2pdfwr export GS_LIB=/usr/share/fonts:/usr/local/share/fonts:${HOME}/.fonts
これで
$ platex hogehoge.tex $ dvips -Ppdf -z hogehoge.dvi $ ps2pdfwr hogehoge.ps
で, PDF が作成できる.
フォントの埋め込み
この段階で生成された PDF はフォントが埋め込まれている. 埋め込まれるフォントは /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap で設定されている. デフォルト設定は, 多分 defoma の hints ファイルの Priority で決まっているんだろうかと. 埋め込むフォントを変更したい場合には直接修正するか,
$ sudo -s # dfontmgr
で, [Application] -> [gs] と選んで, Ryumin-Light とか GothicBBB-Medium なんかの Subst を適宜 install すれば良いかと(日本語以外でもできると思う. コマンドラインだと, どうやるんだろう?)
フォントを埋め込まない
完全に <URL:http://www.eaflux.com/replacecjkfonts/:title> 任せで. 埋め込まれたフォントの情報は Adobe Reader の Properity から確認できるので, これを Ryumin-Light とか GothicBBB-Medium に戻すように, replacecjkfonts.pl を弄っておくと良い.
...NeverEmbed ってできるのかしら?
dvipdfmx
導入と初期設定
導入は
$ sudo aptitude install dvipdfmx \ cmap-adobe-japan1(install してないなら)
jarticle.cls を使用している場合は, この段階で PDF へ変換可能. 奥村先生の jsarticle.cls を使用している場合は, /etc/texmf/dvipdfm/jis-cjk.map が読み込まれるように設定する必要があった.
/etc/texmf/dvipdfm/dvipdfmx.cfg の末尾に
f jis-cjk.map
を追加すると PDF に変換できる. この段階ではフォントは埋め込まれていないので, これで良いならこのまま.
フォントの埋め込み
フォントを埋め込む際には /etc/texmf/dvipdfm/{jis-cjk.map|cid-x.map} 内の rml とか gbm にフォントファイル名(拡張子無し) を記述しておく.例えば ipa(m|g) を使う場合には
$ sudo vi /etc/texmf/dvipdfm/jis-cjk.map %% for jis fonts of ptex-jisfonts %rml-jis H Ryumin-Light rml-jis H :0:ipam %gbm-jis H GothicBBB-Medium gbm-jis H :0:ipag
とか
$ sudo vi /etc/texmf/dvipdfm/cid-x.map : %rml H Ryumin-Light rml H :0:ipam %gbm H GothicBBB-Medium gbm H :0:ipag :
とかで. :0: はフォントファイルが .ttc だった場合に先頭のフォントを使う, という意味.
まとめ
まとまってません.
man を見たり, ググッたりしつつ, ad hoc になんどか試した結果, 上記の様に落ちつきました. とりあえずこれで良しとすることにします.
...lenny になったら TeXLive になるんだろうか...