[[TeX/Font/OpenType]]

*Adobe Minion(OpenType)のインストール [#i9d83f43]

Adobe 社の販売している Minion-Pro フォントを TeX で使えるようにしてみます。LCDF Typetools が必要です。[[TeX/Font/OpenType]] をご覧ください。

*フォントの用意 [#x329d269]

次のフォントを作業用ディレクトリにコピーします。

-MinionPro-Regular.otf
-MinionPro-It.otf
-MinionPro-Bold.otf
-MinionPro-BoldIt.otf
-MinionPro-Semibold.otf
-MinionPro-SemiboldIt.otf
-MinionStd-Black.otf

それぞれのフォントの情報を見るには次のようにします。

 $ otfinfo -f MinionPro-Regular.otf

*ファイル名の決定 [#l4293356]

LCDF Typetools は、入手した OpenType フォントにつけられているわかりやすい名前(MinionPro など)を元にファイル名を決定することを推奨していますが、Type 1 フォントを自分でインストールしている人にとっては、Berry 則にもとづいたファイル名にした方が管理しやすいでしょう。それにこの方が ''.fd'' ファイルを使いまわせます((Type 1 フォント用の ''.fd'' ファイルを流用できる場合があります。))。

ファイル名の決定については [[フォント名>TeX/Font/FontName]] をご覧ください。Adobe Minion の場合は ''pmn'' で始まります。実際のファイル名の例についてはこの後の「otftotfm --- コマンドの実行」の部分をご覧ください。

*.fd ファイルの入手 [#ga250561]

''.fd'' ファイルは自動で生成されません。Adobe Minion(Type 1 PostScript)用の ''.fd'' ファイルを入手してそれを流用します。

Adobe Minion 用の ''.fd'' は [[CTAN>TeX/Keyword/CTAN]] にありますが、サーバによってはない場合もありますので、適当に探してみてください。例えば次のような場所にありました。

-http://www.botik.ru/~znamensk/CTAN/fonts/metrics/adobe/minion/tex/

用意されている ''.fd'' ファイルは念のため全て入手しておきましょう。

*ファイルの生成 [#e1729f0e]

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

**.enc のコピー [#t017b541]

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

**.map ファイルの作成 [#yc3f66c4]

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

 $ touch pmn.map

**otftotfm [#gf9d805c]

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

***オプション [#t730fb89]

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

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

***コマンドの実行 [#l21817a4]

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

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

 $ otftotfm -e cork.enc -fkern -fliga -n xxxx8t MinionPro-xxxx.otf >>pmn.map

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

|~元ファイル|~オプション|~指定するオプション|~ファイル名|
|~Regular|~ ||pmnr8t|
|~Regular|~(old style number)|-fonum|pmnr8tj|
|~Regular|~Small Caps|-fsmcp|pmnrc8t|
|~Regular|~Small Caps (old style number)|-fsmcp -fonum|pmnrc8tj|
|~Regular|~Slant|-S 0.167|pmnro8t|
|~Regular|~Slant (old style number)|-fonum -S 0.167|pmnro8tj|
|~Italic|~ ||pmnri8t|
|~Italic|~(old style number)|-fonum|pmnri8tj|
|~Bold|~ ||pmnb8t|
|~Bold|~(old style number)|-fonum|pmnb8tj|
|~Bold|~Small Caps|-fsmcp|pmnbc8t|
|~Bold|~Small Caps (old style number)|-fsmcp -fonum|pmnbc8tj|
|~Bold|~Slant|-S 0.167|pmnbo8t|
|~Bold|~Slant (old style number)|-fonum -S 0.167|pmnbo8tj|
|~Bold|~Italic||pmnbi8t|
|~Bold|~Italic (old style number)|-fonum|pmnbi8tj|
|~Semibold|~ ||pmns8t|
|~Semibold|~(old style number)|-fonum|pmns8tj|
|~Semibold|~Small Caps|-fsmcp|pmnsc8t|
|~Semibold|~Small Caps (old style number)|-fsmcp -fonum|pmnsc8tj|
|~Semibold|~Slant|-S 0.167|pmnso8t|
|~Semibold|~Slant (old style number)|-fonum -S 0.167|pmnso8tj|
|~Semibold|~Italic||pmnsi8t|
|~Semibold|~Italic (old style number)|-fonum|pmnsi8tj|
|~Black|~ ||pmnc8t|
|~Black|~(old style number)|-fonum|pmnc8tj|
|~Black|~Small Caps|-fsmcp|pmncc8t|
|~Black|~Small Caps (old style number)|-fsmcp -fonum|pmncc8tj|
|~Black|~Slant|-S 0.167|pmnco8t|
|~Black|~Slant (old style number)|-fonum -S 0.167|pmnco8tj|

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

*.map ファイル [#ybc932c5]

**確認 [#o2128cc0]

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

 I had to ...

**修正 [#i0c0ed8e]

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

 pmnro8t--base MinionPro-Regular "0.167 SlantFont AutoEnc_xxx ReEncodeFont" ...

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

 pmnro8t--base MinionPro-Regular " AutoEnc_xxx ReEncodeFont 0.167 SlantFont " ...

次のようにすると一括して変換できます。

 cp pmn.map pmn.map.bak
 sed 's/0.167 SlantFont\(.*ReEncodeFont\)/\1 0.167 SlantFont/' pmn.map.bak >pmn.map

*.fd ファイル [#oa48b8e6]

先に述べたように ''.fd'', ''.sty'' ファイルが必要です。自分で作成することもできますが、先ほどの

-http://www.botik.ru/~znamensk/CTAN/fonts/metrics/adobe/minion/tex/

で Type 1 フォント用のものが配布されていますので、これを使うのが便利でしょう。ここでのやり方では、''pmn'' と ''pmnj'' というフォントファミリを作成したので、以下のファイルが必要になります。

-''t1pmn.fd''
-''t1pmnj.fd''
-''ts1pmn.fd''
-''ts1pmnj.fd''

''t1pmn.fd'' を元にし、必要に応じて次の変換をしてそれぞれのファイルを作成します。

-{''pmn''} -> {''pmnj''}
-''t1'' -> ''ts1''
-''pmnr8t'' -> ''pmnr8tj'' etc

次のようになります。

 %Filename: t1pmnj.fd
 
 %THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
 
 \ProvidesFile{t1pmnj.fd}[2006/10/07 T1/pmnj by MATSUURA Takashi]
 
 \DeclareFontFamily{T1}{pmnj}{}
 
 \DeclareFontShape{T1}{pmnj}{m}{n}{
    <-> pmnr8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{m}{sc}{
    <-> pmnrc8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{m}{sl}{
    <-> pmnro8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{m}{it}{
    <-> pmnri8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{b}{n}{
    <-> pmnb8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{b}{sc}{
    <-> pmnbc8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{b}{sl}{
    <-> pmnbo8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{b}{it}{
    <-> pmnbi8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{sb}{n}{
    <-> pmns8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{sb}{sc}{
    <-> pmnsc8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{sb}{sl}{
    <-> pmnso8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{sb}{it}{
    <-> pmnsi8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{eb}{n}{
    <-> pmnc8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{eb}{sc}{
    <-> pmncc8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{eb}{sl}{
    <-> pmnco8tj
 }{}
 
 \DeclareFontShape{T1}{pmnj}{bx}{n}{<->ssub * pmnj/b/n}{}
 \DeclareFontShape{T1}{pmnj}{bx}{sc}{<->ssub * pmnj/b/sc}{}
 \DeclareFontShape{T1}{pmnj}{bx}{sl}{<->ssub * pmnj/b/sl}{}
 \DeclareFontShape{T1}{pmnj}{bx}{it}{<->ssub * pmnj/b/it}{}
 \DeclareFontShape{T1}{pmnj}{eb}{it}{<->ssub * pmnj/eb/sl}{}
 
 \endinput

*.sty ファイル [#m236da2e]

簡単に Adobe Minion フォントを使えるように、''pminion.sty'' を作成します。今回オールドスタイルを使えるようにしていますので、オプションで指定できるようにしましょう。

 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{pminion}[2006/10/07 v1.0 Adobe Minion by MATSUURA Takashi]
 \RequirePackage[T1]{fontenc}
 \RequirePackage{textcomp}
 \DeclareOption{lining}{\renewcommand*{\rmdefault}{pmn}}
 \DeclareOption{oldstyle}{\renewcommand*{\rmdefault}{pmnj}}
 \ExecuteOptions{lining}
 \ProcessOptions\relax
 \newcommand*{\textos}[1]{{\fontfamily{pmnj}\selectfont #1}}
 \newcommand*{\textln}[1]{{\fontfamily{pmn}\selectfont #1}}
 \endinput

これで

 \usepackage[oldstyle]{pminion}

とプリアンブルに書けばオールドスタイルが標準に、

 \usepackage{pminion}

と書けばライニング(通常)が標準になります。

一部分だけオールドスタイル・ライニングにする場合はそれぞれ

 \textos{0123456789}
 \textln{0123456789}

を使います。

*コピー [#s87ca931]

以下のファイルを TeX が見つけてこられるところにコピーします。

-''.pfb'' (/usr/local/teTeX/share/texmf-local/fonts/type1/adobe/minion/)
-''.tfm'' (/usr/local/teTeX/share/texmf-local/fonts/tfm/adobe/minion/)
-''.vf'' (/usr/local/teTeX/share/texmf-local/fonts/vf/adobe/minion/)
-''.enc'' (/usr/local/teTeX/share/texmf-local/fonts/enc/dvips/adobe/minion/)
-''pmn.map'' (/usr/local/teTeX/share/texmf-local/fonts/map/dvips/adobe/minion)
-''.fd'' (/usr/local/teTeX/share/texmf-local/tex/latex/adobe/minion/)
-''pminion.sty'' (/usr/local/teTeX/share/texmf-local/tex/latex/adobe/minion/)

/usr/local/teTeX/share/texmf-local/ の部分は自分のシステムに合わせて読みかえてください。

**設定 [#q5d8454b]

TeX から使えるようにします。

 # mktexlsr
 # updmap-sys --enable Map=pmn.map

*テスト [#i7c428a9]

-[[フォント出力のテスト>TeX/Font/FontTest]]

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

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