以前は日本語パッチが散在していて、作るのがややこしいと言われていた xdvi ですが、千葉大の山賀さんがパッチの取りまとめを行ってくださったお かげで、最近では非常に簡単になりました。
まず xdvik-18f の本体 xdvik-18f.tar.gz
を入手します。この文書の通
りにこれまで実行してきた方はすでに手元にあるでしょう。これは通常の
pTeX と一緒に配布されており、
pTeX のソース
の節で示したところにあります。
山賀さんがまとめてくださっている日本語パッチは
ftp://ftp.ipc.chiba-u.ac.jp/pub/pub.yamaga/
が一次配布元になっています。 97/03/19 現在は
xdvik18f-j1.1p5.patch.gz
が最新版のようでした。
make の手順は付属の文書に非常に丁寧に記述されています。ここでは概略の み示します。
xdvik-18f.tar.gz
と xdvik18f-j1.1p5.patch.gz
を適
当なディレクトリに置きます。
% zcat xdvik-18f.tar.gz | tar xf -
% cd xdvik-18f/xdvik
% zcat ../../xdvik18f-j1.1p5.patch.gz | patch -p
ここで README.xdvik18f-j1.1p5.patch
を良く読めば、問題無く設定と
作成が行えるはずです。以下は最も簡単な設定で行います。
XDEFS
の行に -DNOVFONTMAP
を指定
します。こうすると日本語の使える書体が明朝とゴシックのみになります。多
書体を使いたい方は、付属の文書を良く読んでください。
% cd ..
% ./configure
% make
% cd xdvik
% su
# make install
最後に /usr/local/lib/texmf/web2c/texmf.cnf
の
PKFONTS.xdvi
セクションに、先ほど PK フォントを置いたディレクト
リを追加します。私の場合は
PKFONTS.xdvi = .:/usr/share/fonts/pk//:$pkdir/$MAKETEX_MODE:
dvi ファイルを PostScript に変換する dviware です。同じ機能を持ったも のに jdvi2kps、 dvipsk などもあります。 dvi2ps 系ではページイメージを 縮小して一枚に複数のページを印刷する nup というコマンドが付属してきま す。日本語の文字を出力する際に VFlib を利用してラスタイズまで行うこと ができ、こうすると PS プリンタ側に日本語フォントが必要なくなります。
dvi2ps-j 本体のソースは
ftp://ftp.math.s.chiba-u.ac.jp/tex/
にあります。ファイル名は dvi2ps-2.0j-gamma.tar.gz
です。
また dvi2ps で用いる virtual フォントを用意するために以下が必要です。
japaneseAFM.tar.gz
vftool-1.2.tar.gz
前者は漢字 PostScript フォントの AFM ファイルで、フォントメトリックの 情報が記述されているものです。アスキー pTeX と一緒に配布されています。 pTeX のソース の節をご覧ください。
後者は前者を用いて virtual フォントを作成するツールです。一次配布元は ftp://ftp.math.s.chiba-u.ac.jp/tex/ です。各所でミラーされているようですので archie してみてください。
コンパイル作業は特に難しくありません。ソースのアーカイブを展開し、
doc
install.doc/ の指示に従って Makefile
を書き換え、 make→
make install するだけです。これまでの作業によって VFlib が入っており、
これを利用する場合の作業は以下のようになります。
% zcat dvi2ps-2.0j-gamma.tar.gz | tar xf -
% cd dvi2ps-2.0j-gamma
Makefile
を編集します。私が変えた点は以下のようなものです。
CC=gcc
に変更CFLAGS=-O -DPOSIX
に変更
% make
% su
# make install
virtual フォントは各種 PostScript プリンタが持っている日本語フォントの 癖を吸収するために導入されたもので、 dvi ファイルのフォントメトリック 情報と日本語 PostScript フォントの間の仲立ちをします。 VFlib と併用す る際には、最も基本的な日本語 PS フォントであるモリサワフォントのメトリッ ク情報を用いることにします。
/usr/share/fonts/AFM-j/
などに展開するなら
# mkdir /usr/share/fonts/AFM-j
# zcat (somewhere)/japaneseAFM.tar.gz /usr/share/fonts/AFM-j | tar xf -
% zcat (somewhere)/vftools-1.2.tar.gz | tar xf -
% cd vftools-1.2
Makefile
を編集します。
JFM
エントリを
/usr/local/lib/texmf/fonts/public/ptex/tfm
に変更。AFM
エントリを、先ほど日本語 AFM ファイルを展開した
ディレクトリに変更bkfonts
エントリに ${t3}
${t4}
を追加
% make a2bk
jfm
、 vf-a2bk
ディレクトリができ、その中に日本語のフォントメ
トリックと virtual フォントができます。
# mkdir /usr/local/lib/texmf/fonts/kanji
# cp -r jfm/ vf-a2bk/ /usr/local/lib/texmf/fonts/kanji/
fontdesc
の編集fontdesc
は dvi2ps-j で用いるフォント情報を指定するファイルです。
普通に dvi2ps-j のインストールを行った場合は
/usr/local/lib/dvi2ps/fontdesc
にあるはずです。指定にあたって
は dvi ファイル中のフォントをラスタイズするかどうかでいくつかの選択肢
があります。
VFlib を使って日本語フォントをビットマップに展開する場合、非日本語対応 PostScript でも印刷できるようになります。ただ、私のところでは縦書きを させることができませんでした(本当はできるのかもしれません。情報 をお待ちしております)。
日本語 PostScript ファイルを印刷できる環境の場合は、漢字の情報を展開し
ないで保存しておけば縦書き印刷ができます。この場合作成される .ps
ファイルが小さくなるというメリットもあります。
英字フォントに関してもラスタイズしないでおくことは可能ですが、この場 合は PostScript プリンタで印刷する際に cm フォントなどの ps 版が必要 になります。
以下、私の設定例を示します。
# dvi2ps font description file for VFlib with MJ-700V2C # # printer spec # resolution 360 # # header # include dvi2.ps # # configs # vfontcap /etc/vfontcap define f /usr/local/lib/texmf/fonts # # ascii font # font pk * 3 /usr/share/fonts/pk/pk360/%f.%mpk # # MakeTeXPK # define mode bjtenex define gen /usr/local/lib/texmf/fonts/tmp/pk/$mode font pk * 0 $gen/%f.%mpk font func * 0 \ !pre(dm),!pre(dg),!pre(min),!pre(goth),!pre(tmin),!pre(tgoth),\ exec(/usr/local/bin/MakePK %f %m %R %M $mode $gen),\ pk($gen/%f.%mpk) # # kanji font # # for VFlib kanji of ASCII Nihongo TeX # First, convert ASCII dvi -> VFlib kanji dvi by virtual font # font jvf * 0 $f/kanji/vf-a2bk/%f.vf # # Use VFlib Kanji Metrics # font jfm * 0 $f/kanji/jfm/%f.tfm # # VFlib mapping # map rml JSNR ^r-microsoft-mincho map gbm JSNR ^r-microsoft-gothic map ryumin-l JSNR ^r-microsoft-mincho map gtbbb-m JSNR ^r-microsoft-gothic # # If PS printer have Morisawa-Kanji # #map rml JSNR Ryumin-Light-H #map gbm JSNR GothicBBB-Medium-H #map rmlv JSNR Ryumin-Light-V #map gbmv JSNR GothicBBB-Medium-V #map ryumin-l JSNR Ryumin-Light-H #map gtbbb-m JSNR GothicBBB-Medium-H #map ryumin-l-v JSNR Ryumin-Light-V #map gtbbb-m-v JSNR GothicBBB-Medium-V
MS-DOS では非常にポピュラーだった dviware です。 Unix 用には 2.43.3c というテスト版があり、少々の変更で Linux でも動くようになります。 またある意味で VFlib の元になったプログラムであるため、 TrueType フォ ントの使い方はほとんど同じで、 VFlib のインストール の作業を行っていれば設定ファイルを書くだけで TrueType フォントが利用で きるようになります。縦書きにも対応しています。
ソースは ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/dviout/test/t2433csr.tar.gz にあります。これを適当なディレクトリに置いたところから作業を始めます。
% mkdir dviprt
% cd dviprt
% zcat ../t2433csr.tar.gz | tar xf -
Makefile
を編集します。
-DBSD -I/usr/include/bsd
を追加。$(CC) -o dviprt $(OBJS) -lm -lbsd
環境設定に関しては DOS の dviprt とほとんど同じです。 まずプリンタ用のコンフィグレーションファイルを手に入れる必要があります。 DOS 用のものが Vector Design のライブラリ にありますので、ここから取ってくるのがわかりやすいと思います。 必要なファイルが入っているアーカイブは
utils/files.utl
というファイルを読めば、目
的のプリンタに対応したコンフィグレーションファイルが見付かると思います。
utils/cfg/
というディレクトリにあるはずです。
ちなみに Epson の MJ-700V2C には mj_360.cfg
、 HP の LaserJet IIIp
には hp_ljp.cfg
というファイルを使いました。
これを /usr/local/lib/texmf/
にコピーし、次いで設定ファイルを
二つ作ります。 dviprt.par
と dviprt.vfn
が必要になります。
雛形は上記アーカイブの utils/par/
にあります。これらを EUC コー
ドに変換し、行末を CRLF → LF にして
/usr/local/lib/texmf/dviprt.par
/usr/local/lib/texmf/dviprt.vfn
dviprt.par を編集します。上記ファイルには詳細なコメントが入っています ので、おそらくそれを見ながら設定できると思います。ちなみに私の手元のも のを、コメントを全部とった形でのせておきます。
TEXPK=/usr/share/fonts/pk/pk360/%s.%dpk;/usr/local/lib/texmf/fonts/public/ptex/tfm/%s.tfm -p=omj_360.cfg -LM=2.6mm -TM=8.5mm -vfn+
それぞれ
TEXPK
欧文 pk フォントと日本語のフォントメトリックファイルの位 置を指定
-p
プリンタを指定。標準でサポートされているもの以外は
=o(cfgファイル)
という文法を用いる。
LM, TM
プリンタ上部、左部の印刷不能領域の設定。
TrueType フォントを使う指定
-=common.par
次いで dviprt.vfn を編集します。これもコメントの通りでほぼ大丈夫だと思 います。同様に私の手元のものをのせます。
%version = 2 %vfont_list 1, /usr/share/fonts/TrueType/msmincho, 1000, 1000, 0 2, /usr/share/fonts/TrueType/msgothic, 1000, 1000, 0 %jfm_list min, 1, a, a, n40, 100;0;0, , , 0 goth, 2, a, a, n40, 100;0;0, , 1, 0 tmin, 1, a, a, n40, 100;0;0, , , 0 tgoth, 2, a, a, n40, 100;0;0, , 1, 0