Adobe 社の販売している Adobe Garamond Pro フォントを TeX で使えるようにしてみます。LCDF Typetools が必要です。TeX/Font/OpenType をご覧ください。
Adobe 社より購入できます。
次のフォントを作業用ディレクトリにコピーします。
それぞれのフォントの情報を見るには次のようにします。
$ 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
を参考にテストしてみてください。