Adobe 社の販売している Minion-Pro フォントを TeX で使えるようにしてみます。LCDF Typetools が必要です。TeX/Font/OpenType をご覧ください。
次のフォントを作業用ディレクトリにコピーします。
それぞれのフォントの情報を見るには次のようにします。
$ otfinfo -f MinionPro-Regular.otf
LCDF Typetools は、入手した OpenType フォントにつけられているわかりやすい名前(MinionPro など)を元にファイル名を決定することを推奨していますが、Type 1 フォントを自分でインストールしている人にとっては、Berry 則にもとづいたファイル名にした方が管理しやすいでしょう。それにこの方が .fd ファイルを使いまわせます*1。
ファイル名の決定については フォント名 をご覧ください。Adobe Minion の場合は pmn で始まります。実際のファイル名の例についてはこの後の「otftotfm --- コマンドの実行」の部分をご覧ください。
.fd ファイルは自動で生成されません。Adobe Minion(Type 1 PostScript)用の .fd ファイルを入手してそれを流用します。
Adobe Minion 用の .fd は CTAN にありますが、サーバによってはない場合もありますので、適当に探してみてください。例えば次のような場所にありました。
用意されている .fd ファイルは念のため全て入手しておきましょう。
.tfm ファイルを生成します。
まず、どのエンコーディングを用いるか、決定しなければなりません。LCDF Typetools が推奨する OpenType フォント用のエンコーディングは LY1 ですが、一般にはあまり使われていないでしょう。Type 1 フォント を使っていれば、それと同じ T1 エンコーディングにすると都合がよさそうです。なお、OT1 エンコーディングなど、他のエンコーディングも使えるはずですので、試してみるのもよいでしょう。
さて、各種 .enc ファイルは ${TEXMF,TEXMFDIST}/fonts/enc/dvips/base/ にあります。代表的なエンコーディングの種類と .enc ファイルの対応は次の通りです。
エンコーディング | .enc ファイル |
---|---|
T1 | cork.enc |
LY1 | texnansx.enc |
OT1 エンコーディングの場合は LCDF Typetools の導入ディレクトリ(例えば /usr/local/share/lcdf-typetools/ など)にある 7t.enc を用います。
それでは T1 用の .enc ファイルを作業用ディレクトリにコピーします。
$ cp /usr/local/teTeX/share/texmf-dist/fonts/enc/dvips/base/cork.enc ./
TeX をインストールした場所に応じて適宜変更してください。
.map ファイルに書き込みながら .tfm ファイルを生成するので、空の .map ファイルを作っておきます。
$ touch pmn.map
otftotfm を実行して .tfm, .vf, .enc ファイルを生成し、同時に .map ファイルに書き込んでいきましょう。
otftotfm にはオプションが多数用意されています。詳細は otftotfm のマニュアル(TeX/Font/OpenType/LCDFTypeTools 参照)に譲るとして、ここではよく使うオプションを確認しておきましょう。
オプション | 詳細の指定 | 機能 |
---|---|---|
-e | エンコーディングファイルを指定する | |
-f feature | feature で指定した機能を有効にする | |
-fkern | カーニングを有効にする | |
-fliga | リガチャを有効にする | |
-fsmcp | スモールキャップ体を有効にする | |
-fonum | オールドスタイルの数字を有効にする | |
-n | 出力するファイル名を指定する | |
-S amt | -S 0.167 | amt で指定された角度だけ傾斜させる(Slant) |
エンコーディングファイルには cork.enc を用い、出力するファイル名を指定し、リガチャとカーニングを有効にした上で、スモールキャップ体・オールドスタイル・傾斜は必要なところのみ有効にします。
コマンドの概要は次のようになります。
$ otftotfm -e cork.enc -fkern -fliga -n xxxx8a MinionPro-xxxx.otf >>pmn.map
これに必要なオプションを付け加え、xxxx8a の部分にファイル名を指定し、元のファイル名を MinionPro-xxxx.otf に当てはめて実行します。8a は T1 エンコーディングの場合です。他のエンコーディングの場合は適宜読みかえてください。
字体 | オプション | ファイル名 |
---|---|---|
Regular | pmnr8a | |
Regular (old style number) | -fonum | pmnr8aj |
Regular Small Caps | -fsmcp | pmnrc8a |
Regular Slant | -S 0.167 | pmnro8a |
Regular Slant (old style number) | -fonum -S 0.167 | pmnro8aj |
Italic | pmnri8a | |
Italic (old style number) | -fonum | pmnri8aj |
Bold | pmnb8a | |
Bold (old style number) | -fonum | pmnb8aj |
Bold Small Caps | -fsmcp | pmnbc8a |
Bold Slant | -S 0.167 | pmnbo8a |
Bold Slant (old style number) | -fonum -S 0.167 | pmnbo8aj |
Bold Italic | pmnbi8a | |
Bold Italic (old style number) | -fonum | pmnbi8aj |
Semibold | pmns8a | |
Semibold (old style number) | -fonum | pmns8aj |
Semibold Small Caps | -fsmcp | pmnsc8a |
Semibold Slant | -S 0.167 | pmnso8a |
Semibold Slant (old style number) | -fonum -S 0.167 | pmnso8aj |
Semibold Italic | pmnsi8a | |
Semibold Italic (old style number) | -fonum | pmnsi8aj |
Black | pmnc8a | |
Black (old style number) | -fonum | pmnc8aj |
Black Small Caps | -fsmcp | pmncc8a |
Black Slant | -S 0.167 | pmnco8a |
Black Slant (old style number) | -fonum -S 0.167 | pmnco8aj |
実行の際にエラーが出ることがありますが、大抵の場合は無視して大丈夫です。
できた .map ファイルを確認して、不要な記述があれば削除しておきます。不要な記述とは次のようなものです。
I had to ...
.map ファイルを TeX が見つけてこられるところにコピーします。
/usr/local/teTeX/share/ の部分は自分のシステムに合わせて読みかえてください。上の他に .fd, .sty ファイルが必要です。自分で作成することもできますが、先ほどの
で配布されていますので、これを使うのが便利でしょう。次のディレクトリにコピーしておきます。
TeX から使えるようにします。
# mktexlsr # updmap-sys --enable Map=pmn.map
うまく使えるかどうか、フォントテーブルを作成して確認します。作業用ディレクトリで次のコマンドを実行します。
$ tex testfont Name of the font to test = pmnr8a *\table *\end
testfont.dvi というファイルができているので、xdvi などで見るか、dvipdfmx で PDF にします。
$ dvipdfmx testfont.dvi
フォントテーブルの作成については フォントテーブル も参考にしてください。
次のようなファイルを作って latex でコンパイルしてみます*2。
\documentclass[a4paper,12pt]{article} \usepackage{minion} \title{Minion} \begin{document} %%%%% TEXT START %%%%% \maketitle Minion \begin{quote} ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ 0123456789\\ ffi ffl\\ \textit{abcdefg}\\ \textbf{abcdefg}\\ \textsc{0123456789} \end{quote} %%%%% TEXT END %%%%% \end{document}
リガチャが適切に処理されているかどうか(ffi, ffl)、イタリック体・ボールド体が出力されているかどうか、スモールキャップ体の場合の数字がオールドスタイルになっているかどうか、などを確認してください。