OTF パッケージのセットアップ

追記(2011年11月)

11月初旬に TeX Live の新パッケージ "japanese-otf" がリリースされました。このパッケージに、従来後からインストールしなければならなかった OTF パッケージは全て含まれています。つまり、ここで以下行っていることは obsolete です。もう行う必要はありません。一応参考のために残しておきますが、現時点において OTF パッケージは TeX Live にマージされています。

OTF パッケージとは何か

齋藤修三郎氏が公開している Open Type Font用VF(OTF パッケージ)に関しては、先に「なぜ TeX Live なのか」で言及した通りですが、CID フォントの任意の文字を、コード指定で直接入力することができる、非常に強力なパッケージです。また、使用する側があまり意識しないことですが、この OTF パッケージは独自のフォントメトリックを採用しており、日本語の版組における品質を上げる上で多大なる貢献をしています。

せっかく日本語で TeX / LaTeX を使うなら、この OTF パッケージを使わない手はありません。しかし、TeX Live で OTF パッケージを使おうとすると、いくつかの問題に遭遇することになります。

ovp2ovf 問題

OTF パッケージは、VF の生成を導入側で行うようになっています。この仕様自体には何も問題はないのですが、この生成のプロセスで動作する ovp2ovf というソフトの version が 2.1 以降である場合、VF の生成が正しく行われないのです。

TeX Live に添付されている ovp2ovf はversion 2.1 ですから、まさにこれに該当します。そのため、そのままインストールを行っても、不正な VF がインストールされる結果、フォントの割り当てが無茶苦茶になってしまいます。

ovp2ovf 問題の回避法

version 2.1 より前の ovp2ovf を使えるようにする

teTeX のソースから、あるいは TeX Live の過去のソースツリーから ovp2ovf を作成して、ovp2ovf だけはそれを用いるようにすれば、有効な OTF パッケージを作成することができます。

齋藤氏のページでも紹介されていますが、東京都市大学の井上浩一氏が、Mac OS X 上で動作する ofm2opl, opl2ofm, ovf2ovp, ovp2ovf の4種のバイナリをパッケージ化したものを公開されています(http://www.ma.ns.tcu.ac.jp/Pages/MacOSX/macosx.ptex.html, omegaware.pkg.tar.gz)。これは teTeX 由来のバイナリだと思われますが、これを使えば、Mac OS X 上では適切な VF 生成が可能です。

Linux の場合は…… teTeX のソース等から自力で make することになるでしょう(斎藤氏もそれを推奨されています)が、それはちょっと難しい、という方のために、以下のアーカイブを用意しました。

これは、先の井上浩一氏の公開されているパッケージと同一の中身にしてあります。Debian GNU/Linux (sid on amd64 arch.) で作成しました。

他で作成した VF を流用する

もし、他の TeX / LaTeX システムで VF の生成が適切に行われているならば、それを使えば問題は生じないはずです。たとえば、TeX Live 2009 + ptexlive の ovp2ovf は version 1.11 ですから、TeX Live 2009 + ptexlive で VF の生成を行ったものを TeX Live 2011 にインストールすれば、OTF パッケージを有効にすることができます。

これは、TeX Live 2011 上で僕が実際に使っている OTF パッケージ(ベータ版)をアーカイブしたものです。以下に示すインストール手順に従って導入していただければ、おそらく用は足りると思います。

OTF パッケージのインストール法

omegaware の配置

詳細は齋藤氏の「Open Type Font用VF」にも書かれていますので、概略を述べます。

まず、上記リンク先から OTF のアーカイブを取得します。現時点で一番拡張が進んでいる otfbeta.zip を選択します。これを作業ができるディレクトリに置き、

$ unzip otfbeta.zip
$ cd otfbeta 
ディレクトリ内にある makeotf が作成用のスクリプトです。

次に、上記リンク先から、もしくは自力でビルドした omegaware バイナリを配置し(僕は /usr/local/bin/omegaware/ に置いていますが、御自分の流儀でどうぞ。今回しか使わないつもりなら、otfbeta 内に……つまり makeotf から見たカレントパスに……置くのも手でしょう)、そこに(TeX Live の実行形式ファイルのディレクトリよりも先に)path を通しておきます。

ここで注意しなければならないのは、ovp2ovf が makeotf からだけでなく、他のスクリプトからも呼び出されることです。makeotf 中の ovp2ovf のパスだけを ad hoc に書き換えても駄目で、全てのスクリプトをチェックしなければならないことにご注意下さい。TeX Live の実行形式ファイルのディレクトリよりも先に path を通しましょう、というのは、それを避けるためです。

準備ができたら、otfbeta 内で makeotf スクリプトを実行します。VF の生成が完了するまで、2分程度かかるでしょうか……完了したら、

$ cd ..
$ sudo mkdir -p /usr/local/texlive/texmf-local/tex/latex
$ sudo mv ./otfbeta /usr/local/texlive/texmf-local/tex/latex/otfbeta
として、otfbeta ディレクトリごと、texmf-local/tex/latex/ 内に配置します。

フォントファイルは適正な場所に置かないと認識してくれませんから、以下のようにシンボリックリンクを各所に配置します。

$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/vf
$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/tfm
$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/ofm
$ cd /usr/local/texlive/texmf-local/fonts/vf
$ sudo ln -fs ../../tex/latex/otfbeta/vf ./otfbeta
$ cd ../tfm
$ sudo ln -fs ../../tex/latex/otfbeta/tfm ./otfbeta
$ cd ../ofm
$ sudo ln -fs ../../tex/latex/otfbeta/ofm ./otfbeta
終了後、mktexlsr もしくは texhash をかければ、OTF パッケージのインストールは完了です。


Go back to the top
Go back to the index

Copyright(C) 2013 Tamotsu Thomas UEDA