平衡点
2008/11/26
_ lenny で TeX 環境.
(いつのまにやら dvips+ps2pdfwr でも PDF が作成できたので, エントリ内容修正)
etch では gs-esp, gs-afpl, gs-gpl と分かれていた gs パッケージがlenny から ghostscript に統一されたらしい. News.Debian.gz によれば
ghostscript (8.61.dfsg.1~svn8187-1) unstable; urgency=low As the ESP Ghostscript development is discontinued now, the extra functionality of ESP Ghostscript is merged into upstream GPL Ghostscript from version 8.60 on. This is the first Debian/Ubuntu package of this merged Ghostscript. ...
そんなわけでetch で dvips -> ps2pdfwrの頃に書いた内容は(ちょっと)古くなってしまったのでメモ.
TeX 環境の導入
東京Debian勉強会 2008年11月事前配布資料に, 日本語 pLaTeX な環境の導入が一通り書いてあります.
導入は, だいたい以下の通り.
$ sudo -s # aptitude install ptex-bin dvipdfmx latex-beamer okumura-clsfiles \ ghostscript-x xpdf xpdf-japanese evince \ poppler-data texlive-latex-extra \ dvipsk-ja xdvik-ja gs-cjk-resource gv \ ttf-kochi-gothic ttf-kochi-mincho \ ttf-sazanami-gothic ttf-sazanami-mincho \ ttf-vlgothic \ yatex whizzytex advi advi-examples
yatex とか whizzytex とかはお好みで. 導入後に
$ sudo jisftconfig add
すると, 日本語の TeX 環境は一通り導入 & 設定される. platex による dvi の作成や dvipdfmx による PDF への変換も ok.
表示に関する雑多な設定.
xdvi-ja
表示フォントは /etc/texmf/vfontmap.d/20xdvik-ja.map で指定されており
@Mincho Roman|Mincho@ rml JIS-H % ASCII pTeX rmlv JIS-V % ASCII pTeX dm JIS-H % NTT jTeX @Gothic SansSerif|Gothic@ gbm JIS-H % ASCII pTeX gbmv JIS-V % ASCII pTeX dg JIS-H % NTT jTeX
とある. で rml や gbm はどこで設定されているか, というと/var/lib/texmf/vfontmap で指定されている. 中身は defoma の priority に応じて指定されている. 表示したいフォントを変える場合には defoma に登録する際にpriority を適切に指定すると良い, ...のかな?
手元では IPA 明朝/ゴシック の Priority を上げているので, xdvik-ja の表示にはIPA フォントが使われている.
evince
デフォルトの設定では, 明朝/ゴシックすべて VL PGothic で表示される.これは Ryumin/Gothic-BBB が指定されていないので, VL PGothic が使われているから.以前書いた様に,例えば ~/.fonts.conf に
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="pattern"> <test qual="any" name="family"> <string>Ryumin</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAMincho</string> </edit> </match> <match target="pattern"> <test qual="any" name="family"> <string>Gothic-BBB</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPAGothic</string> </edit> </match> </fontconfig>
なんて書いておくと良いかも.
デフォルトで ttf-japanese-mincho/ttf-japanese-gothic が使われるようにしたら良いんじゃないかな, とか思ったりもする.
pdf への変換
dvipdfmx
cmap を適切に導入して jisftconfig add した後ならば
$ dvipdfmx hoge.dvi
で日本語フォントを埋め込んでない PDF ファイルが生成される(Times 系の英字フォントは埋め込まれていた).
dvipdfmx を実行すると「fontmapsx が無い」という警告が出る. とりあえず
$ sudo ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx
としておく.-><URL:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505899:title> に patch があるので, これを当ててパッケージを作成しても良いかも.
フォントを埋め込みたい場合には,/etc/texmf/dvipdfm/cid-x.map(jarticle 等の場合), /etc/texmf/dvipdfm/jis-cjk.map(jsarticle 等の場合) を修正する. 例えば, jis-cjk.map の場合には
%% for jis fonts of ptex-jisfonts rml-jis H :0:ipam.ttf gbm-jis H :0:ipag.ttf
みたいに指定する.
":0:" はフォントが .ttc の場合に先頭のフォントを使用する, という意味..ttf の時にも指定しておく方が良いらしい(うろ覚え).
dvips + ps2pdfwr
PDF を作成する際には
$ dvips -Ppdf -z hogehoge.dvi $ ps2pdfwr hogehoge.ps
とする. この時点では, 日本語フォントは埋め込まれている. evince で開いて, [Alt+Return] とかしてプロパティを見ると...
これは(笑). なんで表示が化けてるのかな?
埋め込まれるフォントは /var/lib/defoma/gs.d/dirs/fonts/CIDFnmap で指定されている(cidfmap ではない). ここを修正したらさざなみ明朝/ゴシックやVL ゴシックを埋め込んだPDF が生成された. ちなみにさざなみフォントの場合,埋め込まれたフォント名の表示は乱れなかった.
さて, 埋め込まない場合はどうするかな. さざなみ明朝/ゴシックを埋め込んで,replacecjkfonts使うのかな.個人的には gs の NeverEmbed を使いたいのだけれども.