Dvipsk 5.78a + pTeX対応 + VFlib / jsawa@ibm.net
■dvipsk 5.78a + ASCII pTeX Patch 1.4 + VFlib Patch
|
最新のdvipsk 5.78aに日本語パッチとVFlibパッチを適用しました。
9月4日以前は、5.66a用のパッチでしたが、今回は 5.78用のもので
メイクしなおしました。
日本語対応dvipsk のVFlib対応というすごい業績を公開してくれている中山一昭 様
(nakayama@math.shinshu-u.ac.jp)に感謝いたします。
このパッケージは、vf fontsを含んでおりませんので、ない方は別途ご用意下さい。
インストールの説明などこのページの内容は、そのままHTMLの形でパッケージに同梱
していますので、オンラインで読まなくても(印刷しなくても)大丈夫です。
最新の情報はこのページに記載しまが、パッケージに入ってるHTML文書の更新はお
くれることがあるので御注意ください。
1と2は必須ですが、3を既に持っている方は必要はありません。
- dvipsk 5.78a 一式[1.2 Mb]
- kpathsea.dll一式[50kb]: ソースからの作成方法等も説明しております。
- VFlib.dll一式[260kb]: ソースからの作成方法の解説も
実は私、dvips[k]の日本語化とはVFlib対応と同義だと勘違いしてました。
コンパイルして動かして初めて知りました。要するに、日本語dviをPS化す
るときに、日本語をラスタライズ(ある意味でビットマップ化)することがで
きるということ。それにより、日本語フォント情報を取り込みますから、
PSのファイルさいずはとても大きくなります。もちろん、日本語フォントを
ラスタライズしないで、普通にPSに変換することもできます。
日本語フォントをラスタライズするメリットは何でしょうか。私の理解では、
- ポストスクリプトプリンタの場合は、プリンタに日本語フォントが
なくても印刷できる
- ポストスクリプトプリンタにハードディスクと同じフォントがあって
も、PSファイルにフォントを取り込んでいるとプリンタの計算時間が
大幅に軽減される。
- 通常のプリンタの場合ですと、ghostscriptで印刷だと思いますが、
ghostscriptがするべき日本語 TrueTypeフォントのラスタライズ作業
を dvips がやってくれていために、印刷に要する時間が短くなる。
- 他者に配布する際に、例えば行書体などの誰もが持っているとは
考えにくいフォントを使用しているならば、ラスタライズすることに
より、別の環境でも同一の結果を得ることができる。明朝とゴシック
しか使わない場合でこれはいえます。
- ラスタライズした PSファイルは日本語未対応のghostscriptでも読める。
こんなところでしょうか。要するに、日本語フォントの展開をdvipsが
やるかghostscriptにやらせるかの違いですね。ポストスクリプトプリンタ
を持っていない方が御自分の環境の中で使用する時には、これまで通りに
ラスタライズはghostscriptに任せるやり方をしていくことになると思います
が、例えば職場のポストスクリプトプリンタで印刷したいとか、日本語
未対応のghostscriptしかないマシンで印刷したい時などは大いに役立ちま
す。
問題というほどでもないかもしれないのですが、dvips + VFlib は
FreeTypeには対応してないので、ラスタライズすると画像表示も印刷の
品質もFreeType機能なしと同じになります。
■実行ファイルセット
このd578b-os2.lzh[約1.5 Mb]に含まれているものは、以下の
通りで必要なライブラリや有用なユーティリティを含んでおります。
- d578b-os2.doc: このページをほとんどそのままテキスト化した説明ファイル
- dvips.dvi: dvips 5.78a付属のマニュアル
- kpathsea.dvi: kpathsea 3.2のマニュアル。mktexlsrなどのスクリプトの説明はこれに記載。
- cmd/dvips.cmd: dvips.exeを起動するバッチファイル
- アスキーの日本語パッチおよび中山氏のVFlib対応パッチのドキュメント
- doc/README.jpatch
- doc/README.vflib
- 実行ファイル
- cmd/dvips.cmd: FreeType対応の日本語ghostscriptスクリプトのvfontcapと
そのままではvfontcapファイルを共存できないので、このようなバッチファイル
が必要になる場合があります。これを雛形として、TEXCONFIGなどの環境変数を
ご自分の環境に合わせて作成の事。もしも, dvips.cmdという名前にした場合は、
config.sysのpathで、dvips.exeよりも優先順位の低いところにおいてはなりません。
- texmf/bin/afm2tfm.exe: PSのafmファイルからtfmファイルを作成する
- texmf/bin/dvips.exe: dvipsk 5.78a本体
- texmf/bin/kpsewhich.exe: Web2c 7.2a/kpathsea3.2対応
- texmf/bin/mktexlsr: texmf/ls-R databaseを作るスクリプト
- texmf/bin/mktexlsr.exe: おくだけエグゼによる同実行ファイル
- texmf/bin/mktex*, mktex*.exe: PK fonts作成のスクリプトなど
- texmf/bin/ttf2afm.exe: 欧文TrueType fontsからPS afmを作成
- texmf/bin/ttf2tfm.cmd: 上の
- texmf/bin/vptovf.exe: virtual fonts(*.vf)を作成
- dvipsk 5.58a + VFlib + 日本語パッチのライブラリファイル
- texmf/dvips/*.enc: encodingファイル, dvips.dvi参照のこと
- texmf/dvips/*.pro: これも dvips.dvi参照
- texmf/dvips/adobe.map: adobeフォントのマップ
- texmf/dvips/base/omega.map: omega用のマップ
- texmf/dvips/config.ps: dvips.exeがデフォルトで読み込む初期設定ファイル
- texmf/dvips/cm.cfg: config.psをモディファイして、cm fontsのPS版を使用するようにしたもの。
> dvips -Pcm foo[.dvi] とするとこれが読み込まれる。
- texmf/dvips/cmnd.cfg: cm.cfgとは異なり、cm fontsをダウンロードしないようにしたもの。
> dvips -Pcmnd foo[.dvi] として使用する。
- texmf/dvips/cmfonts-nd.map: cm fontsのPS版をダウンロードしないように設定したフォントマップ
これは cmnd.cfg で指定している。
- texmf/dvips/cmfonts.map: cm fontsのPS版をダウンロードする設定。
これは cm.cfg で指定している(config.psでも)
- texmf/dvips/config.ps.original: オリジナル
- texmf/dvips/{contrib, reencode, psnfss}/*: dvips.dviを参照
- texmf/web2c/: フォント検索やフォント生成についての設定
- texmf/web2c/mktex.cnf: PK font作成の初期設定ファイル、kpathsea.dviを参照
- texmf/web2c/mktex.*: kpathsea.dvi参照
- texmf/web2c/texmf.cnf.sample: texmf.cnf のうち dvipsと mktexスクリプトに関連するところを抜き出したもの
- VFlib機能に関連するもの
- vflib-file/ttindex.exe: 日本語TrueTypeからIndexを作成
> ttindex foo.ttc などとして foo.ttiを作る
- vflib-file/vfontcap.noft: VFlib機能を使うときに必要となる vfontcapの雛形
私のページに
説明がありますので参照のこと。
- VFTOOL/*: 日本語 virtual fontsを作成するためのツール
■ インストール
- lha x d578b-os2としてHPFSで展開し、生成されたディレクトリ名と
同名のところにコピー。
TeXシステムの本体(texmf)に最初から重ねる場合は、texmf/dvips/config.psが
上書きされますので注意の事。texmf/web2c/texmf.cnfは大丈夫ですが、もしも
Web2c 7.2を使用している場合は、mktex*が texmf/bin/ and texmf/web2c/
のものに上書きされるので注意してください。
- 環境変数設定: TeX systemが j:/texmfにあると仮定すると, config.sysなどで、
- set TEXMF=j:/texmf
- set TEXMFCNF=j:/texmf/web2c
- set TEXCONFIG=j:/texmf/dvips
- texmf/web2c/texmf.cnfの設定: 同梱のtexmf.cnf.sampleと dvips.dvi and
kpathsea.dviを参考にして、必要な項目を追加。
- texmf/web2c/mktex.cnf: これは私が使用しているものです。kpathsea.dviを
参考にして設定してください。おそらくこのままでいいでしょう。
- texmf/web2c/mkex*opt: kpathsea.dviを参考にして下さい。
- texmf/dvips/config.ps: dvips.dviを読む。
- 5.78aではコメントが*になってることに注意。
- p +foo.map: cmr10などのcm fontsのポストスクリプト版がない場合は、
config.psや foo.cfgでは cmfonts.mapの指定をコメントアウトのこと。
- D 360: ご自分のプリンタに合わせて下さい。
- M canonbjc: mktex* が pk fonts/tfm fileなど生成する時のモード指定
texmf/metafont/misc/modes.mfなど texmf/web2c/mf.base
のソースをみて、必要なモードを指定してください。
mode_def canonex = %\[ LaserWriter Pro 630 (600dpi)
例えば、modes.mfにはこのような記載があります。このプリンタを使用するならば、
M canonexと指定し、texmf/web2c/mktex.cnfでも同様に、
: ${MODE=canonex}とします。
- VFlibの設定: 日本語フォントをラスタライズ(download)する場合のみ必要
中山氏のhttp://math.shinshu-u.ac.jp/~nakayama/howto/tex/tex.htmlを
参照の事。特に日本語を多書体で使用したい場合や、ポストスクリプトプリンタ
を使用する場合は。
- 日本語 TrueType fontsのインデックスファイル作成(by ttindex.exe)
- vfontcap(名前はなんでもよい)を適切に作成。私のところの日本語(VFlib対応)ghostscriptのページを参照下さい。
- set VFONTCAP=i:/gs5.10/vfontcap.no-freetypeなどと指定
- 日本語フォントをダウンロードするための専用のフォントマップを作成
- texmf/dvips/psfonts.map.ftを雛形として下さい。
rml Ryumin-Light-H <`mincho
rmlv Ryumin-Light-V <`mincho
gbm GothicBBB-Medium-H <`gothic
GothicBBB-Medium-V <`gothic
psfonts.map.ftの最後の方にあるこの4行は必須です。mincho / gothicという
エントリ名は vfontcapにあるフォント名と一致していなければなりません。
- 専用のフォントマップを読むための、dvipsの初期設定ファイルの作成
texmf/dvips/ft.cfgを雛形として作成の事。例えば、既にできあがったconfig.ps
があるならば、vflib.cfgという名前にコピーして"p psfonts.map.ft"の
行を追加するだけでオーケーです。拡張子は必ずcfg!!
- VFlib機能の使用: 専用の設定ファイルがvflib.cfgだとすると、
> dvips -Pvflib foo[.dvi] としますと日本語フォントが展開された
ファイルが生成されます。
- dvips.exe, mktex*.exe, kpsewhich.exe,vptovf.exe: dvips.dvi、kpathsea.dvi を参照。それから中山氏の
ページがとてもわかりやすくかつ有用ですのでをご覧になってください。御存知、
書籍ではLaTeX Graphics Companionがベストでしょう。dvipsがこれほど奥行き
をもっていると驚かされます。
- Font関連のユーティリティー: 添付文書を参照
☆彡 以上。御不明の点があればメールにて気軽にお問い合わせください。