[[TeX/Font]]

*Type 1 フォント [#i72fdcaf]

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

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

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

**市販されている欧文用 PostScript フォント集 [#g5d8e3b8]

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

**Type 1 フォントの使用例 [#r806e785]

-[[Bitstream>TeX/Font/Type1/Bitstream]]

*[[他形式からの変換>TeX/Font/Type1/convert]] [#x889b9c7]

METAFONT(''.mf'')などから Type 1(''.pfb'', ''.pfa'')への変換方法を解説します。

*TeX での Type 1 フォントの利用 [#c6268e6f]

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

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

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

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

**準備 [#d00b0a86]
*準備 [#d00b0a86]

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

-t1libs (type1afm)
-t1utils
-[[t1lib>TeX/Font/t1lib]] (type1afm)
-[[t1utils>TeX/Font/t1utils]]

**ファイル名の変更 [#y02d001f]
インストール方法については上のページを参考にしてください。

歴史的な理由で、TeX が扱いやすいようなファイル名にする必要があります。具体的には 8+3 形式(8文字+拡張子3文字)のファイル名にし、なるべく系統的なファイル名にします。
*ファイル名の変更 [#y02d001f]

今使われているフォントはほとんど Berry 則にもとづいて TeX での名前をつけられています。
[[フォント名>TeX/Font/FontName]] を参考にしてファイル名を変更します。

***Berry 則 [#sb29f576]
*.afm ファイルの生成 [#gfcf3a36]

-${[[CTAN>TeX/Keyword/CTAN]]}/info/fontname/fontname.pdf
**pf2afm(t1utils に付属) [#y5ca64df]

**.afm ファイルの生成 [#gfcf3a36]

 $ 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.

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

**fontinst パッケージ [#e58228d7]
**type1afm(t1lib に付属) [#ib6ffbc7]

*参考 [#rc632b5e]
 $ type1afm xxxx.pfb

-http://www.linux.or.jp/JF/JFdocs/Font-HOWTO/x470.html
-http://www.bunmeisha.co.jp/LaTeX2e/latex2e_gaiji.html
-http://gogh.phys.s.u-tokyo.ac.jp/~hikami/multiTeX.html
-http://www.linux.or.jp/JF/JFdocs/Font-HOWTO.txt
を実行します。同じディレクトリ内にある複数の ''.pfb'' ファイルを処理する場合は次のようにすると簡単でしょう。

**フォントメーカ、フォント名に関する情報 [#t3830c1c]
 $ for i in *.pfb; do type1afm $i; done

-${[[CTAN>TeX/Keyword/CTAN]]}/info/fontname/
*.tfm, .vf, .enc ファイルの生成 [#v2f4212c]

にあるファイルを見ればほとんどわかります。
teTeX ディストリビューションに標準で付属する

-''afm2tfm''
-''vptovf''

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

+''afm2tfm'' の引数に ''.afm'' ファイルを指定し、以下のオプションをつけて実行する(''.tfm'' ファイルと ''.vpl'' ファイルができる)。
--''-p'' dviware(dvips, dvipdfm など)で用いるエンコーディングを記述したファイルを指定する。
--''-t'' TeX 側で用いるエンコーディングを記述したファイルを指定する。
--''-v'' ''.vpl'' ファイルのファイル名を指定する。
+''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.tfm'' と ''hoge8t.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.tfm'' と ''hoge8t.tfm'' の2種類ができたことになります(両方とも必要です)。

**afm2tfm のオプション [#qe68ddf8]

 Usage: afm2tfm FILE[.afm] [OPTION]... [FILE[.tfm]]
   Convert an Adobe font metric file to TeX font metric format.
 
 -c REAL             use REAL for height of small caps made with -V [0.8]
 -e REAL             widen (extend) characters by a factor of REAL
 -O                  use octal for all character codes in the vpl file
 -p ENCFILE          read/download ENCFILE for the PostScript encoding
 -s REAL             oblique (slant) characters by REAL, generally <<1
 -t ENCFILE          read ENCFILE for the encoding of the vpl file
 -T ENCFILE          equivalent to -p ENCFILE -t ENCFILE
 -u                  output only characters from encodings, nothing extra
 -v FILE[.vpl]       make a VPL file for conversion to VF
 -V SCFILE[.vpl]     like -v, but synthesize smallcaps as lowercase
 --help              print this message and exit.
 --version           print version number and exit.

バージョンによって異なる可能性があります。

**afm2tfm(dvips のマニュアル) [#caac0a82]

-http://flex.ee.uec.ac.jp/texi/dvips/dvips_toc.html

*テスト [#t4e187cd]

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

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

*[[fontinst パッケージ>TeX/Font/FontInst]] [#r0a47531]

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

*参考 [#rc632b5e]

-[[TeX on UNIX の欧文多書体:http://gogh.phys.s.u-tokyo.ac.jp/~hikami/multiTeX.html]]
-[[Font HOWTO -- 9. TeX/LaTeX:http://www.linux.or.jp/JF/JFdocs/Font-HOWTO/x470.html]]


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