平衡点


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 になるんだろうか...


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲