TeX/Font/OpenType

Adobe Garamond Pro(OpenType)のインストール

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 ファイルの入手

.fd ファイルは自動で生成されません。

ファイルの生成

.tfm, .vf, .pfb, .enc ファイルを生成します。

.enc のコピー

TeX/Font/OpenType#enc を参照してください。

.map ファイルの作成

.map ファイルに書き込みながら .tfm ファイルを生成するので、空の .map ファイルを作っておきます。

$ touch pad.map

otftotfm

otftotfm を実行して .tfm, .vf, .enc ファイルを生成し、同時に .map ファイルに書き込んでいきましょう。

オプション

otftotfm にはオプションが多数用意されています。詳細は otftotfm のマニュアル(TeX/Font/OpenType/LCDFTypeTools 参照)に譲るとして、ここではよく使うオプションを確認しておきましょう。

オプション詳細の指定機能
-eエンコーディングファイルを指定する
-f featurefeature で指定した機能を有効にする
-fkernカーニングを有効にする
-fligaリガチャを有効にする
-fsmcpスモールキャップ体を有効にする
-fonumオールドスタイルの数字を有効にする
-n出力するファイル名を指定する
-S amt-S 0.167amt で指定された角度だけ傾斜させる(Slant)

コマンドの実行

エンコーディングファイルには cork.enc を用い、出力するファイル名を指定し、リガチャとカーニングを有効にした上で、スモールキャップ体・オールドスタイル・傾斜は必要なところのみ有効にします。

コマンドの概要は次のようになります。

$ otftotfm -e cork.enc -fkern -fliga -n xxxx8t AGaramondPro-xxxx.otf >>pad.map

これに必要なオプションを付け加え、xxxx8t の部分にファイル名を指定し、元のファイル名を AGaramondPro-xxxx.otf に当てはめて実行します。8t は T1 エンコーディングの場合です。他のエンコーディングの場合は適宜読みかえてください。

元ファイルオプション指定するオプションファイル名
Regularpadr8t
Regular(old style number)-fonumpadr8tj
RegularSmall Caps-fsmcppadrc8t
RegularSmall Caps (old style number)-fsmcp -fonumpadrc8tj
RegularSlant-S 0.167padro8t
RegularSlant (old style number)-fonum -S 0.167padro8tj
Italicpadri8t
Italic(old style number)-fonumpadri8tj
Boldpadb8t
Bold(old style number)-fonumpadb8tj
BoldSmall Caps-fsmcppadbc8t
BoldSmall Caps (old style number)-fsmcp -fonumpadbc8tj
BoldSlant-S 0.167padbo8t
BoldSlant (old style number)-fonum -S 0.167padbo8tj
BoldItalicpadbi8t
BoldItalic (old style number)-fonumpadbi8tj
Semiboldpads8t
Semibold(old style number)-fonumpads8tj
SemiboldSmall Caps-fsmcppadsc8t
SemiboldSmall Caps (old style number)-fsmcp -fonumpadsc8tj
SemiboldSlant-S 0.167padso8t
SemiboldSlant (old style number)-fonum -S 0.167padso8tj
SemiboldItalicpadsi8t
SemiboldItalic (old style number)-fonumpadsi8tj
Blackpadc8t
Black(old style number)-fonumpadc8tj
BlackSmall Caps-fsmcppadcc8t
BlackSmall Caps (old style number)-fsmcp -fonumpadcc8tj
BlackSlant-S 0.167padco8t
BlackSlant (old style number)-fonum -S 0.167padco8tj

実行の際にエラーが出ることがありますが、大抵の場合は無視して大丈夫です。

.map ファイル

確認

できた .map ファイルを確認して、不要な記述があれば削除しておきます。不要な記述とは次のようなものです。

I had to ...

修正

スラント体の指示は .map ファイル中で次のようにされています。

padro8t--base AGaramondPro-Regular "0.167 SlantFont AutoEnc_xxx ReEncodeFont" ...

0.167 SlantFontReEncodeFont の後にきて、次のようにならなければなりません。

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

.fd ファイル

padpadj というフォントファミリを作成したので、以下のファイルが必要になります。

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

.sty ファイル

簡単に 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

テスト

を参考にテストしてみてください。


*1 Type 1 フォント用の .fd ファイルを流用できる場合があります。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS