TeX/Font

OpenType フォントの利用

以下では欧文用 OpenType フォントの利用法について解説します。想定するのは、.otf ファイルから .pfb, .tfm, .fd, .enc, .map ファイルを生成し、必要に応じて .sty ファイルを作成する方法です。つまり OpenType フォントから Type 1 フォントを生成してそれを使います。

以下の例では Adobe 社の販売している Minion-Pro フォントを用います。

準備

次のツールが必要です。

以下でインストール方法を説明します。

LCDF Typetools

ダウンロード

インストール

$ tar xvzf lcdf-typetools-2.45.tar.gz
$ cd lcdf-typetools-2.45
$ ./configure

kpathsea に関するエラーが出るときは、指示にしたがって PREFIX を指定するか、--without-kpathsea オプションをつけて無効化します。

$ ./configure --without-kpathsea
$ make
# make install

これで次のようなコマンドが使えるようになります。

otftofd

otftofd は、.otf ファイルから .fd ファイルを生成するユーティリティです。

ダウンロード

インストール

otftofd.zip を次のように解凍すればすぐに使えます(特にインストール作業は必要ありません)。

$ unzip otftofd.zip

頻繁に使うようならば次のようにインストールしてもよいでしょう。

# cp otftofd /usr/local/bin

フォントの用意

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

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

$ otfinfo -f MinionPro-Regular.otf

ot1pmn.fd ファイルの入手

これ以降の作業方針の目安とするため、ot1pmn.fd ファイルを入手します。

ot1pmn.fdCTAN にありますが、サーバによってはない場合もありますので、適当に探してみてください。例えば次のような場所にありました。

.tfm ファイルの生成

.tfm ファイルを生成します。

7t.enc のコピー

まず、TeX の基本的なエンコーディングである OT1 用の .enc ファイルを作業用ディレクトリにコピーします。

$ cp /usr/local/share/lcdf-typetools/7t.enc ./

LCDF Typetools をインストールした場所に応じて読みかえてください。

.map ファイルの作成

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

$ touch pmn.map

tfm ファイルの生成

せっかくなのでリガチャを有効にして .tfm ファイルを生成しましょう。

$ otftotfm -n pmnr7t -f kern -f liga -e 7t.enc MinionPro-Regular.otf >>pmn.map
$ otftotfm -n pmnrc7t -f kern -f liga -e 7t.enc -f smcp MinionPro-Regular.otf >>pmn.map
$ otftotfm -n pmnri7t -f kern -f liga -e 7t.enc MinionPro-It.otf >>pmn.map
$ otftotfm -n pmnb7t -f kern -f liga -e 7t.enc MinionPro-Bold.otf >>pmn.map
$ otftotfm -n pmnbc7t -f kern -f liga -e 7t.enc -f smcp MinionPro-Bold.otf >>pmn.map
$ otftotfm -n pmnbi7t -f kern -f liga -e 7t.enc MinionPro-BoldIt.otf >>pmn.map
$ otftotfm -n pmns7t -f kern -f liga -e 7t.enc MinionPro-Semibold.otf >>pmn.map 
$ otftotfm -n pmnsc7t -f kern -f liga -e 7t.enc -f smcp MinionPro-Semibold.otf >>pmn.map
$ otftotfm -n pmnsi7t -f kern -f liga -e 7t.enc MinionPro-SemiboldIt.otf >>pmn.map
$ otftotfm -n pmnc7t -f kern -f liga -e 7t.enc MinionStd-Black.otf >>pmn.map

.map ファイル

確認

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

I had to ...

コピー

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

# mkdir -p /usr/local/teTeX/share/texmf-local/fonts/map/dvips/adobe/minion
# cp pmn.map /usr/local/teTeX/share/texmf-local/fonts/map/dvips/adobe/minion

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

設定

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

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

フォントテーブルの作成

うまく使えるかどうか、フォントテーブルを作成して確認します。作業用ディレクトリで次のコマンドを実行します。

$ tex testfont
Name of the font to test = pmnr7t
*\table
*\end

testfont.dvi というファイルができているので、xdvi などで見るか、dvipdfmx で PDF にします。

$ dvipdfmx testfont.dvi

フォントテーブルの作成については フォントテーブル も参考にしてください。

ファイルのコピー

次のファイルをコピーします。かっこ内は ptetex3 の場合のインストールディレクトリです。

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

で配布されていますので、これを使うのが便利でしょう。次のディレクトリにコピーしておきます。

コピーしたら忘れずに

# mktexlsr

を実行しておきます。

テスト

次のようなファイルを作って latex でコンパイルしてみます*1

\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)、イタリック体・ボールド体が出力されているかどうか、スモールキャップスの場合の数字がオールドスタイルになっているかどうか、などを確認してください。

参考

日本語用フォント


*1 platex でもよいですが、テストをするときには日本語に依存しないものの方が何か起こったときに問題の切り分けがしやすいでしょう。

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