TeX/Font

Type 1 フォント

Type 1 フォントとは、Adobe 社が開発したページ記述言語である PostScript 形式で記述されたフォントで、文字の拡大・縮小が簡単にできるアウトラインフォントです。PostScript プリンタに導入したり、コンピュータ上で使ったりすることができます。

TeX でももちろん使うことができます。特に、Type 1 フォントがインストールされているときれいな PS, PDF ファイル等を出力することができます。

拡張子は .pfb(バイナリファイル)、.pfa(ASCII ファイル)がよく使われます。

市販されている欧文用 PostScript フォント集

#amazon(484431937X,left,[TrueType フォントパーフェクトコレクション])

#amazon(,clear)

Type 1 フォントの使用例

TeX での Type 1 フォントの利用

TeX で Type 1 フォントを利用するためには、 若干の作業をしなければなりません。具体的な手順としては

  1. ファイル名の変更(Berry 則にもとづいて)
  2. .afm ファイルの生成と修正(.afm ファイルが付属していなければ) [pf2afm, type1afm]
  3. .tfm ファイルの生成 [afm2tfm]
  4. .vf ファイルの生成 [afm2tfm]
  5. .enc ファイルの生成 [afm2tfm]
  6. .fd, .map ファイルの作成
  7. .sty ファイルの作成

を行います([ ] 内は使用するプログラムの名前です)。

3-6(3-7)の作業を自動でやってくれるのが fontinst パッケージです。この後説明します。

準備

次のようなツールが必要になる場合があります。

インストール方法については上のページを参考にしてください。

ファイル名の変更

フォント名 を参考にしてファイル名を変更します。

.afm ファイルの生成

pf2afm(t1utils に付属)

$ pf2afm xxxx.pfb

を実行します。同じディレクトリ内にある複数の .pfb ファイルを処理する場合は次のようにすると簡単でしょう。

$ for i in *.pfb; do pf2afm $i; done

pf2afm を実行すると

.notdef character ocurred among kern pairs
you'd better check the resulting AFM file.

のような警告が出る場合がありますが、今は無視します。

type1afm(t1lib に付属)

$ type1afm xxxx.pfb

を実行します。同じディレクトリ内にある複数の .pfb ファイルを処理する場合は次のようにすると簡単でしょう。

$ for i in *.pfb; do type1afm $i; done

.tfm, .vf, .enc ファイルの生成

teTeX ディストリビューションに標準で付属する

を用い、.afm ファイルを元に、.tfm, .vf, .enc ファイルを生成します。おおまかな流れは以下の通りです。

  1. afm2tfm の引数に .afm ファイルを指定し、以下のオプションをつけて実行する(.tfm ファイルと .vpl ファイルができる)。
    • -p dviware(dvips, dvipdfm など)で用いるエンコーディングを記述したファイルを指定する。
    • -t TeX 側で用いるエンコーディングを記述したファイルを指定する。
    • -v .vpl ファイルのファイル名を指定する。
  2. vptovf を用いて .vpl ファイルから .vf, .tfm ファイルを作成する。

実際には次のように実行します。

$ afm2tfm hoge8a.afm -p 8r.enc -t ec.enc -v hoge8t.vpl hoge8r.tfm

8r.enc は TeX Base 1 用のエンコーディングファイルです。ec.enc は EC フォント用のエンコーディングファイルです(T1 エンコーディングに近いものです)。

これで hoge8r.tfmhoge8t.vpl が作成されます。上を実行すると

hoge Hoge " TeXBase1Encoding ReEncodeFont " <8r.enc

のような出力が得られますので、これを

hoge Hoge " TeXBase1Encoding ReEncodeFont " <8r.enc <hoge.pfb

に変更して hoge.map に書き込んでおきます。

次に

$ vptovf hoge8t.vpl

を実行し、hoge8t.vf, hoge8t.tfm ファイルを生成します。これで .tfm ファイルは hoge8r.tfmhoge8t.tfm の2種類ができたことになります(両方とも必要です)。

fontinst パッケージ

fontinst パッケージを用いると、多くの作業を自動で行ってくれます。fontinst パッケージの概要については上のページをご覧ください。

参考


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