Adobe 社の販売している Adobe Garamond Pro フォントを TeX で使えるようにしてみます。LCDF Typetools が必要です。TeX/Font/OpenType をご覧ください。
Adobe 社より購入できます。
以下の作業を行うシェルスクリプトをこのページの一番下に添付してあります。ただし、.fd ファイルの内容は、下のものとは異なります。
導入後、
# mktexlsr # updmap-sys
を実行してください。
\usepackage{agaramon}
で Adobe Garamond フォントが標準になります。オールドスタイルを標準にするには
\usepackage[oldstyle]{agaramon}
と書いておきます。
次のフォントを作業用ディレクトリにコピーします。
それぞれのフォントの情報を見るには次のようにします。
$ otfinfo -f AGaramondPro-Regular.otf
LCDF Typetools は、入手した OpenType フォントにつけられているわかりやすい名前(AGaramondPro など)を元にファイル名を決定することを推奨していますが、Type 1 フォントを自分でインストールしている人にとっては、Berry 則にもとづいたファイル名にした方が管理しやすいでしょう。それにこの方が .fd ファイルを使いまわせます*1。
ファイル名の決定については フォント名 をご覧ください。Adobe Garamond Pro の場合は pad で始まります。実際のファイル名の例についてはこの後の「otftotfm --- コマンドの実行」の部分をご覧ください。
.fd ファイルは自動で生成されません。
.tfm, .vf, .pfb, .enc ファイルを生成します。
TeX/Font/OpenType#enc を参照してください。
.map ファイルに書き込みながら .tfm ファイルを生成するので、空の .map ファイルを作っておきます。
$ touch pad.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 xxxx8t AGaramondPro-xxxx.otf >>pad.map
これに必要なオプションを付け加え、xxxx8t の部分にファイル名を指定し、元のファイル名を AGaramondPro-xxxx.otf に当てはめて実行します。8t は T1 エンコーディングの場合です。他のエンコーディングの場合は適宜読みかえてください。
| 元ファイル | オプション | 指定するオプション | ファイル名 |
|---|---|---|---|
| Regular | padr8t | ||
| Regular | (old style number) | -fonum | padr8tj |
| Regular | Small Caps | -fsmcp | padrc8t |
| Regular | Small Caps (old style number) | -fsmcp -fonum | padrc8tj |
| Regular | Slant | -S 0.167 | padro8t |
| Regular | Slant (old style number) | -fonum -S 0.167 | padro8tj |
| Italic | padri8t | ||
| Italic | (old style number) | -fonum | padri8tj |
| Bold | padb8t | ||
| Bold | (old style number) | -fonum | padb8tj |
| Bold | Small Caps | -fsmcp | padbc8t |
| Bold | Small Caps (old style number) | -fsmcp -fonum | padbc8tj |
| Bold | Slant | -S 0.167 | padbo8t |
| Bold | Slant (old style number) | -fonum -S 0.167 | padbo8tj |
| Bold | Italic | padbi8t | |
| Bold | Italic (old style number) | -fonum | padbi8tj |
| Semibold | pads8t | ||
| Semibold | (old style number) | -fonum | pads8tj |
| Semibold | Small Caps | -fsmcp | padsc8t |
| Semibold | Small Caps (old style number) | -fsmcp -fonum | padsc8tj |
| Semibold | Slant | -S 0.167 | padso8t |
| Semibold | Slant (old style number) | -fonum -S 0.167 | padso8tj |
| Semibold | Italic | padsi8t | |
| Semibold | Italic (old style number) | -fonum | padsi8tj |
| Black | padc8t | ||
| Black | (old style number) | -fonum | padc8tj |
| Black | Small Caps | -fsmcp | padcc8t |
| Black | Small Caps (old style number) | -fsmcp -fonum | padcc8tj |
| Black | Slant | -S 0.167 | padco8t |
| Black | Slant (old style number) | -fonum -S 0.167 | padco8tj |
実行の際にエラーが出ることがありますが、大抵の場合は無視して大丈夫です。
できた .map ファイルを確認して、不要な記述があれば削除しておきます。不要な記述とは次のようなものです。
I had to ...
スラント体の指示は .map ファイル中で次のようにされています。
padro8t--base AGaramondPro-Regular "0.167 SlantFont AutoEnc_xxx ReEncodeFont" ...
0.167 SlantFont は ReEncodeFont の後にきて、次のようにならなければなりません。
padro8t--base AGaramondPro-Regular " AutoEnc_xxx ReEncodeFont 0.167 SlantFont " ...
次のようにすると一括して変換できます。
cp pad.map pad.map.bak sed 's/0.167 SlantFont\(.*ReEncodeFont\)/\1 0.167 SlantFont/' pad.map.bak >pad.map
pad と padj というフォントファミリを作成したので、以下のファイルが必要になります。
t1pad.fd を元にし、必要に応じて次の変換をしてそれぞれのファイルを作成します。
次のようになります。
%Filename: t1padj.fd
%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
\ProvidesFile{t1padj.fd}[2007/08/10 T1/padj by MATSUURA Takashi]
\DeclareFontFamily{T1}{padj}{}
\DeclareFontShape{T1}{padj}{m}{n}{
<-> padr8tj
}{}
\DeclareFontShape{T1}{padj}{m}{sc}{
<-> padrc8tj
}{}
\DeclareFontShape{T1}{padj}{m}{sl}{
<-> padro8tj
}{}
\DeclareFontShape{T1}{padj}{m}{it}{
<-> padri8tj
}{}
\DeclareFontShape{T1}{padj}{b}{n}{
<-> padb8tj
}{}
\DeclareFontShape{T1}{padj}{b}{sc}{
<-> padbc8tj
}{}
\DeclareFontShape{T1}{padj}{b}{sl}{
<-> padbo8tj
}{}
\DeclareFontShape{T1}{padj}{b}{it}{
<-> padbi8tj
}{}
\DeclareFontShape{T1}{padj}{sb}{n}{
<-> pads8tj
}{}
\DeclareFontShape{T1}{padj}{sb}{sc}{
<-> padsc8tj
}{}
\DeclareFontShape{T1}{padj}{sb}{sl}{
<-> padso8tj
}{}
\DeclareFontShape{T1}{padj}{sb}{it}{
<-> padsi8tj
}{}
\DeclareFontShape{T1}{padj}{eb}{n}{
<-> padc8tj
}{}
\DeclareFontShape{T1}{padj}{eb}{sc}{
<-> padcc8tj
}{}
\DeclareFontShape{T1}{padj}{eb}{sl}{
<-> padco8tj
}{}
\DeclareFontShape{T1}{padj}{bx}{n}{<->ssub * padj/b/n}{}
\DeclareFontShape{T1}{padj}{bx}{sc}{<->ssub * padj/b/sc}{}
\DeclareFontShape{T1}{padj}{bx}{sl}{<->ssub * padj/b/sl}{}
\DeclareFontShape{T1}{padj}{bx}{it}{<->ssub * padj/b/it}{}
\DeclareFontShape{T1}{padj}{eb}{it}{<->ssub * padj/eb/sl}{}
\endinput
簡単に Adobe Garamond Pro フォントを使えるように、pminion.sty を作成します。今回オールドスタイルを使えるようにしていますので、オプションで指定できるようにしましょう。
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{agaramon}[2007/08/10 v1.0 Adobe Garamond Pro by MATSUURA Takashi]
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\DeclareOption{lining}{\renewcommand*{\rmdefault}{pad}}
\DeclareOption{oldstyle}{\renewcommand*{\rmdefault}{padj}}
\ExecuteOptions{lining}
\ProcessOptions\relax
\newcommand*{\textos}[1]{{\fontfamily{padj}\selectfont #1}}
\newcommand*{\textln}[1]{{\fontfamily{pad}\selectfont #1}}
\endinput
これで
\usepackage[oldstyle]{agaramon}
とプリアンブルに書けばオールドスタイルが標準に、
\usepackage{agaramon}
と書けばライニング(通常)が標準になります。
一部分だけオールドスタイル・ライニングにする場合はそれぞれ
\textos{0123456789}
\textln{0123456789}
を使います。
以下のファイルを TeX が見つけてこられるところにコピーします。
/usr/local/teTeX/share/texmf-local/ の部分は自分のシステムに合わせて読みかえてください。
TeX から使えるようにします。
# mktexlsr # updmap-sys --enable Map=pad.map
を参考にテストしてみてください。