dvips はデフォルトでは pk フォントを使うようになっています。 これは、プリンタに密接した設定で、例えば A というプリンタにとっての 最適な解像度と B というプリンタのそれが違う場合は いちいち dvips の config.ps を変更しなければなりません。 これを解決する方法が、ベクトルフォントの利用です。
ベクトルフォントについては、実はいまいちよくわかっていません。 ここでは、AMS が配布しているフォントを使った設定の仕方を説明します。
インストールには ports を利用します。
# cd /usr/ports/print/cmpsfont
# make install
# cd /usr/ports/print/amspsfnt
# make install
フォントの本体は /usr/local/share/texmf/fonts/type1/ に入ります。
なお、4.4-RELEASE で japanese/ptex-euc をインストールした場合は、 これらに相当するものはすでにインストールされているようです。
dvips の設定ファイルである /usr/local/share/texmf/dvips/base/config.ps を変更します。 書き込み許可が落ちていますので、まずは許可を出してから 次のように変更します。
# cd /usr/local/share/texmf/dvips/base
# cp -p config.ps config.ps.orig
# chmod +w config.ps
変更前
config.ps
* p +cmfonts.map
* p +lafonts.map
* p +cyrfonts.map
* p +eufonts.map
変更後
config.ps
p +cmfonts.map
p +lafonts.map
p +cyrfonts.map
p +eufonts.map
p +/usr/local/share/texmf/dvips/mapfiles/psfonts.cmz
p +/usr/local/share/texmf/dvips/mapfiles.ams/psfonts.amz
なお、4.4-RELEASE で japanese/ptex-euc をインストールした場合は、 psfonts.cmz と psfonts.amz は /usr/local/share/texmf/dvips/bluesky にあります。
ちなみに、/usr/local/share/texmf/dvips/mapfiles/ には psfonts.cm, psfonts.cmx, psfonts.cmz の 3つのマップファイルがあります。 これらはそれぞれ次のような意味です。
psfonts.cm PSファイルにフォントを埋めこまない (プリントアウトするごとに使う。つまり出来栄えがマシンによって変わる) psfonts.cmx PSファイルに ASCII フォントを埋め込む。 psfonts.cmz PSファイルに バイナリフォントを埋め込む。もし psfonts.cm を使いたければ、p +/usr/... の最後を psfonts.cmz ではなく、psfonts.cm に変更すればOKですが、 バイナリフォントを埋め込むのがよいと思います。
dvips を使って dvi ファイルを ps ファイルに変換するとき、 lcircle10.pfb や lcirclew10.pfb がない、 といってうまく変換できないことがあります。 このようなときは、とりあえず /usr/local/share/texmf/fonts/type1/ の lcircle1.pfb や lcirclew.pfb を代用しておきます。
# cd /usr/local/share/texmf/fonts/type1/
# ln -s lcircle1.pfb lcircle10.pfb
# ln -s lcirclew.pfb lcirclew10.pfb
# cd /usr/local/share/texmf
# cp -p ls-R ls-R.bak
# mktexlsr
このあと、mapfile に lcircle* の情報を書き加えておきます。
# cd /usr/local/share/texmf/dvips/mapfiles
# cp -p psfonts.cmz psfonts.cmz.orig
# chmod +w psfonts.cmz
# vi psfonts.cmz
書き加える内容
psfonts.cmz
lcircle1 LCIRCLE1 <lcircle1.pfb
lcircle10 LCIRCLE10 <lcircle10.pfb
lcirclew LCIRCLEW <lcirclew.pfb
lcirclew10 LCIRCLEW10 <lcirclew10.pfb
他にも、pfb ファイルはあるが、psfonts.cmz に記載されていない フォントとして、次が挙げられます。
これらも、lcircle* たちと同様に psfonts.cmz に書き加えておくとよいで しょう。書き加えた psfonts.cmz です。
- lasy10.pfb
- lasy5.pfb
- lasy6.pfb
- lasy7.pfb
- lasy8.pfb
- lasy9.pfb
- lasyb10.pfb
- lcmss8.pfb
- lcmssb8.pfb
- lcmssi8.pfb
- line10.pfb
- linew10.pfb
- logo10.pfb
- logo8.pfb
- logo9.pfb
- logobf10.pfb
- logosl10.pfb
計算機に入っている日本語フォントより、PSプリンタに入っている 日本語フォントの方が美しい場合があります。 その場合には、計算機のフォントを埋め込むよりも、 PSプリンタのフォントを使うような設定にした方がよいでしょう。 やり方は、/usr/local/share/texmf/dvips/base/psfonts.map の 最後にある min, goth などの日本語フォントに関する記述を変更します。 なお、psfonts.map は書き込み禁止になっていますので、 書き込み許可を出してから作業をします。変更前
psfonts.map
rml Ryumin-Light-H <`min
gbm GothicBBB-Medium-H <`goth
rmlv Ryumin-Light-V <`min
gbmv GothicBBB-Medium-V <`goth
変更後
psfonts.map
rml Ryumin-Light-H
gbm GothicBBB-Medium-H
rmlv Ryumin-Light-V
gbmv GothicBBB-Medium-V
<`min などが「計算機にある min フォントを埋め込め」という 命令ですが、これを削除することにより適当な所 (今の場合は PS プリンタ)からフォントを取ってくるようになります。
システム全体ではなく、個人的にプリンタフォントを使いたい場合には、 ~/.dvipsrc というファイルを使います。 「変更後」の4行を例えば ~/.myfonts.map というファイルで保存し、
と書いておけば、そのユーザのみがプリンタフォントを使うことになります。
~/.dvipsrc
p +~/.myfonts.map
なお、この ~/.dvipsrc は上の方でやった psfonts.cmz の追加を 個人的にのみ行うときにも使えます。