2006/03/07

Debianにotfパッケージをインストールして、dvipdfmxでOpenTypeフォントを埋め込んだPDFを吐き出すまで


前提1


dvipdfmxのインストールまでは、以下のページで完了しているものとする。

* Debian GNU/Linux (Sarge)でのLaTeX導入備忘録
http://cise.edu.mie-u.ac.jp/~okumura/texwiki/?Linux%2FDebian

ちなみに、debianでLaTeXを使うときに参考にできるURLは、事実上ここしかないと思う(ここ以外の情報は、申し訳ないけど情報が断片的すぎて使えなかった)。

前提2


仮想フォントは使わない。つまり、あくまでも正規のOpenTypeフォントのライセンスを持っている人が、それを使ってDebianでフォント埋め込みのPDFを生成することを目標とする。つまり、ぶっちゃけほとんどの人には役に立たない情報。

otfパッケージのインストール


まず、otfパッケージを導入する。以下からotfパッケージのソースを取得して、添付されているシェルスクリプト(makeotf)でインストールする。

* Open Type Font用VF
http://psitau.at.infoseek.co.jp/otf.html

なお、ソースのreadmeには「古いバージョンのovp2ovfやopl2ofmが必要」とあるが、仮想フォントを使わないのであれば不要。ここでも、あえて古いバージョンを探して入れるようなことは(パッケージ管理上も問題があると思うので)しない。シェルスクリプトそのものは、標準でplatexを入れた場合にインストールされるバージョンでも支障はないっぽい。

OpenTypeフォントのインストール


/usr/share/texmf/fonts/otf および/usr/share/texmf/dvipdfm/Fonts みたいなディレクトリを作って、そこにフォントデータをおく。その後、update-texmf(またはmktexlsr)を実行する。

この時点で、プリアンブルで\usepackage{otf}としたLaTeXのソースはコンパイルできるはず。しかし、dvipdfmxを実行しても、
[1kpathsea: Running mktexpk --mfmode ……
みたいなエラーメッセージが出るはず。

dvipdfmxでOpenTypeフォントを使えるようにする


/etc/texmf/dvipdfm/dvipdfmx.cfg の最後の行に、
f hiraginox.map
などと書く。hiraginox.mapのところは、使用するOpenTypeフォントに合わせて、kozukax.mapやmorisawax.mapを指定する。
なお、hiraginox.map などの本体は /usr/share/texmf/dvipdfm/config にある(otfパッケージを入れる際にインストールされる)。TeXの常識だとこのディレクトリに dvipdfmx.cfg を置くみたい(実際ここにも dvipdfmx.cfg があったりするかもしれないけれど)。でも Debian では、/etc/texmf/dvipdfm/dvipdfmx.cfg を上記のように修正しないと、kpathsea に文句を言われ続ける。

使う


プリアンブルに\usepackage{otf}を指定して platex と dvipdfmx を実行すればいい。
自分はプリアンブルにこんな感じに指定して使っている。
\usepackage{type1cm}
\usepackage[T1]{fontenc}
\usepackage[scaled]{helvet}
\usepackage[deluxe]{otf}
\renewcommand{\rmdefault}{ppl}
\renewcommand{\sfdefault}{phv}
\renewcommand{\ttdefault}{pcr}

[おまけ]PDF/X-1にする


印刷所に安心して入稿するには、PDF/X-1 で検証された PDF にすべき。でも、これは Adobe 社謹製の何かを使わないと実現できないんじゃないかしら。つまり、Debian だけではできなくて、Adobe Acrobat Professional 7.0 がインストールされた Win/Mac マシンで行わなければいけないと思われる。

基本的には、まず上記の方法で生成した PDF ファイルを Adobe Acrobat Professional 7.0 で開き、PS で保存し直す。それから、その PS ファイルを Adobe Acrobat Distiller 7.0 で PDF/X-1 に変換すればよい。

ただし、上述した方法で OpenType フォントを埋め込んだ PDF を生成しても、その PDF ファイルには欧文基本14書体は埋め込まれていない。したがって、Win/Mac マシンに英文のフォントがそれなりに入っていないと、Distiller による PDF/X-1 への変換でこける可能性がある(Helvetica みたいな Win マシンには標準で入っていない欧文書体は特に注意が必要な気がする)。
数式も注意。cmやamstexなどのTeXにしかないフォントを dvipdfmx がどう扱っているのか知らない。PDF に埋め込まれていたり、ビットマップに変換したりしているのでない限り、要注意かも。自分の環境では、Win マシンにもごっそり TeX の数式フォントを入れていることもあって(Illustrator とかで使いたいし)、それがなかった場合にどうなるかは検証していない。

No comments :