TeXも昔はゴリゴリと、自分でコンパイル・設定していたのだけれど、最近は、BSD portsやLinux RPM等に頼り切りになってしまい、自分でインストールすることは無くなってしまった。
ある時、TeXから綺麗なPDFを作りたいと思って設定をしようとしたが、「わからん!!」ちょっと触らない間に、設定が(特にフォント回りが)複雑になっている。と言うことで、昔に立ち戻りゴリゴリとコンパイル・設定をしてみた。
TeXも昔はゴリゴリと、自分でコンパイル・設定していたのだけれど、最近は、BSD portsやLinux RPM等に頼り切りになってしまい、自分でインストールすることは無くなってしまった。
ある時、TeXから綺麗なPDFを作りたいと思って設定をしようとしたが、「わからん!!」ちょっと触らない間に、設定が(特にフォント回りが)複雑になっている。と言うことで、昔に立ち戻りゴリゴリとコンパイル・設定をしてみた。
まずは、作業ディレクトリを作成して、そこに移動します。
# mkdir tex_src # cd tex_src
CTANのミラーサイトから, 必要なファイルを入手します。
ftp://ftp.lab.kdd.co.jp/CTAN/systems/unix/teTeX/3.0/distrib/以下のファイルを入手します。
そして土村さんという方が、ptetex -- teTeX 用日本語パッチ集を作って下さっているようなので、以下のファイルも入手します。
次にptetex3-20?????.tar.gzを展開して、展開されたディレクトリに移動します。
# tar xvfz ptetex3-20?????.tar.gz # cd ptetex3-20?????
展開後、rootになりmakeを走らせます。(コンパイルからインストールまで全て行うので一般ユーザではmakeは出来ません。)
# CFLAGS="-O2 -fomit-frame-pointer -pipe -march=i586 -fno-strict-aliasing -fno-strength-reduce" make
コンパイルが終了したら、CMapファイルをインストールします。CMapとは、CID形式のフォントで使われる、「フォントの内部配列と文字コードとの対応関係を示した表のようなもの」が記述されているファイルです。
まずは、ptetex-cmap-20051117.tar.gzを展開してインストールするのですが、このCMapはghostscriptでも使われているのですよ。出来れば共有したいですよね。と言うことで、共有させるための設定をします。
私の環境では、
/usr/share/ghostscript/Resource/CMapにあります。(いっぱい)
/usr/local/teTeX/share/texmf/dvipdfm/CMapにあります。(4ファイル)
ghostscriptのCMapは沢山入っているので、こちらをメインする設定をすることにします。TeX側の4つのファイルをghostscript側に移動します。
# cd /usr/local/teTeX/share/texmf/dvipdfm # mv CMap/* /usr/share/ghostscript/Resource/CMap
次に、CMapディレクトリを削除して、ghostscript側のCMapをリンクします
# rmdir CMap # ln -s /usr/share/ghostscript/Resource/CMap .
ついでにCIDフォントも共有しちゃいましょう。
# ln -s /usr/share/ghostscript/Resource/CIDFont .
その後、作業ディレクトリに移動してptetex-cmap-20051117.tar.gzを展開します。
# cd tex_src # tar xvfz ptetex-cmap-20051117.tar.gz # cd ptetex-cmap-20051117
展開したディレクトリでmakeを走らせれば、足らないCMapだけをインストールしてくれます。
# make
PostScript では一般に下記のフォントが使用されます。
TeXのdviファイルをPS形式に直すdvipsでは,Computer ModernフォントをビットマップのType 3 形式にして PSファイルに埋め込みます。これだとPDF形式にした場合、そのままビットマップとして埋め込まれてしまい、拡大した時など汚くなってしまいます。
これを回避する方法として、Type 1のフォントを使用したPostScriptを作るように設定します。
まずは、Type 1のComputer Modernフォント、cm-superがあるのでこれを持ってきます。tarファイル形式で提供していないようなので、ディレクトリごと持ってきてしまいましょう。
# ncftp ftp://ftp.lab.kdd.co.jp/CTAN/fonts/ps-type1/cm-super/ # mget -r *
次に、フォントをインストールします。
# mv pfb/* /usr/local/teTeX/share/texmf/fonts/type1/public/cm-super # mv dvips/* /usr/local/teTeX/share/texmf/dvips/cm-super # mv dvipdfm/* /usr/local/teTeX/share/texmf/dvipdfm/config/ # mv afm /usr/local/teTeX/share/texmf/fonts/afm/public/cm-super # cd /usr/local/teTeX/share/texmf/fonts/afm/public/cm-super/ # gunzip *.afm.gz
dvips で使用するので、/usr/local/teTeX/share/texmf/dvips/config/config.ps
に設定を追加します。
p +cm-super-t1.map p +cm-super-ts1.map p +cm-super-t2a.map p +cm-super-t2b.map p +cm-super-t2c.map p +cm-super-x2.map
dvipdfm(x)でも使用するので、 /usr/local/teTeX/share/texmf/dvipdfm/config/config
と /usr/local/teTeX/share/texmf/dvipdfm/config/dvipdfmx.cfg
に設定を追加します。
f cm-super-t1.map f cm-super-t2a.map f cm-super-t2b.map f cm-super-t2c.map f cm-super-ts1.map f cm-super-x2.map
pdfTeXで使用する場合、/usr/local/teTeX/share/texmf/pdftex/config/pdftex.cfg
に設定を追加します。
map +cm-super-t1.map map +cm-super-ts1.map map +cm-super-t2a.map map +cm-super-t2b.map map +cm-super-t2c.map map +cm-super-x2.map
設定し終わったら、mktexlsrを忘れずに実行させます。
デフォルトで設定されているvfontmapは、ヒラギノフォントを使用する設定になっているが、高くて買えないので、acrobatに付いている小塚フォントを使う設定に変更します。
C:\Program Files\Adobe\Acrobat x.x\Resource\CIDFont\
にある、KozMinPro-Regular-Acro.otf
とKozGoPro-Medium-Acro.otf
を/usr/X11R6/lib/X11/fonts/otf/
に入れます。その後/usr/local/teTeX/share/texmf/xdvi/vfontmap
を編集します。
# mv vfontmap vfontmap.org # vi vfontmap
/usr/X11R6/lib/X11/fonts/otf/KozMinPro-Regular-Acro.otf min tmin nmin jis jis-v /usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf goth tgoth ngoth jisg jisg-v /usr/X11R6/lib/X11/fonts/otf/KozMinPro-Regular-Acro.otf fmin /usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf fgoth /usr/X11R6/lib/X11/fonts/otf/KozGoPro-Medium-Acro.otf maru
イマイチ、TeXで使われるフォント名の意味が良くわからないので適当ですが、とりあえず表示が出来るようになりました。
.Xdefaultsに次のエントリーを書き換えて、自分の環境に適した設定にしておきます。
# vi ~/.Xdefaults
XDvi*wwwBrowser: opera XDvi.geometry: 800x900+0+0 XDvi.shrinkFactor: 8
/usr/local/teTeX/share/texmf/dvips/config/
にkanji.mapを作成します。
# vi /usr/local/teTeX/share/texmf/dvips/config/kanji.map
rml Ryumin-Light-H rmlv Ryumin-Light-V gbm GothicBBB-Medium-H gbmv GothicBBB-Medium-V ryumin-l Ryumin-Light-H ryumin-l-v Ryumin-Light-V gtbbb-m GothicBBB-Medium-H gtbbb-m-v GothicBBB-Medium-V futomin-b FutoMinA101-Bold-H futomin-b-v FutoMinA101-Bold-V futogo-b FutoGoB101-Bold-H futogo-b-v FutoGoB101-Bold-V jun101-l Jun101-Light-H jun101-l-v Jun101-Light-V unimin Ryumin-Light-UniJIS-UCS2-H unigoth GothicBBB-Medium-UniJIS-UCS2-H
新しいファイルを作ったら必ず mktexlsr と打ち込んでおきましょう。さらに,/usr/local/teTeX/share/texmf/dvips/config/config.ps の適当なところ,たとえば
% This shows how to add your own map file. % Remove the comment and adjust the name: % p +myfonts.map
の次の行あたりに,次のように追加します。
p +kanji.map
この辺の設定周りも良く解ってなかったりする....