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

とか.

次に, http://kmuto.jp/d/index.cgi/debian/gs-esp-8151.htmにある通り, 環境変数 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 すれば良いかと(日本語以外でもできると思う. コマンドラインだと, どうやるんだろう?)


フォントを埋め込まない

完全に replacecjkfonts,cjkps2pdf (旧replacejfonts, jps2pdf, replacekochi) 任せで. 埋め込まれたフォントの情報は 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 になるんだろうか...