Baskerville は Cambridge University Press の古典の書籍でよく用いられているフォントです。細身なので、リュウミンやウェイトの小さいヒラギノと一緒に用いるとよいでしょう。
以下でフォント関連のファイルの生成方法、インストール方法を解説します。
CD-ROM 内の WINPS/SERIF/BASKERVILE/ 以下に3種類のファイルがあります。そのうち
のファイルを作業用のディレクトリにコピーします。
作業用ディレクトリには以下のファイルがコピーされているはずです。
これらのファイルの名前を Berry 則にもとづいて変更します。Berry 則については次のページを参考にしてください。
次のことから、このフォントのファミリ名は `bbv' と決まります。
以上から新ファイル名を決定します。Type 1(.pfb ファイル)フォントなので、エンコーディングは 8a です。新ファイル名は全て小文字にしておきましょう。
| 元ファイル名 | フォント名 | 新ファイル名 |
|---|---|---|
| 0031A___.PFB | Baskerville Roman | bbvr8a.pfb |
| 0032A___.PFB | Baskerville Italic | bbvri8a.pfb |
| 0033A___.PFB | Baskerville Bold | bbvb8a.pfb |
| 0034A___.PFB | Baskerville Bold Italic | bbvbi8a.pfb |
.PFM ファイルも同様にファイル名を変更しておきます。
pf2afm を使って .pfb, .pfm ファイルから .afm ファイルを生成します。type1afm を使ってもよいですが、今回の場合、pf2afm で作ったものよりも情報が少なくなっていました。
pf2afm, type1afm については Type 1 フォント をご覧ください。
次のように実行します。
$ pf2afm bbvr8a.pfb
次のようにすれば、上のコマンドを4回実行する必要がなくなります。
$ for i in *.pfb; do pf2afm $i; done
今扱っている .pfb ファイルには fi や fl の合字(リガチャ)が用意されていますが、.afm ファイルからは欠落しています。これを手動で追加します。
それぞれの .afm ファイルから、`N f' と書かれている行を探します。たとえば
C 102 ; WX 322 ; N f ; B 27 -2 429 711 ;
という行です。この行の最後に
L i fi ; L l fl ;
を追加して次のようにします。
C 102 ; WX 322 ; N f ; B 27 -2 429 711 ; L i fi ; L l fl ;
これは、`f' の文字に関して、リガチャ(Ligature)を `i' と `l' の組合せに対して行う、という意味です。
4つの .afm ファイルに対して修正を行ったら、忘れずに保存しておきます。
.tfm, .fd, .vf, .map ファイルを生成するための fontinst のファイルを作成します。ファイル名は `bbv-driver.tex' としておきます。fontinst については fontinst パッケージ をご覧ください。
\input fontinst.sty
\substitutesilent{bx}{b}
\setint{smallcapsscale}{720}
\setint{slant}{167}
\recordtransforms{bbv-rec.tex}
%% make .tfms
\transformfont{bbvr8r}{\reencodefont{8r}{\fromafm{bbvr8a}}}
\transformfont{bbvri8r}{\reencodefont{8r}{\fromafm{bbvri8a}}}
\transformfont{bbvb8r}{\reencodefont{8r}{\fromafm{bbvb8a}}}
\transformfont{bbvbi8r}{\reencodefont{8r}{\fromafm{bbvbi8a}}}
% slant
\transformfont{bbvro8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bbvr8a}}}
\transformfont{bbvbo8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bbvb8a}}}
%% installfonts (T1)
\installfonts
\installfamily{T1}{bbv}{}
\installfont{bbvr8t}{bbvr8r,newlatin}{t1}{T1}{bbv}{m}{n}{}
\installfont{bbvrc8t}{bbvr8r,newlatin}{t1c}{T1}{bbv}{m}{sc}{}
\installfont{bbvro8t}{bbvro8r,newlatin}{t1}{T1}{bbv}{m}{sl}{}
\installfont{bbvri8t}{bbvri8r,newlatin}{t1}{T1}{bbv}{m}{it}{}
\installfont{bbvb8t}{bbvb8r,newlatin}{t1}{T1}{bbv}{b}{n}{}
\installfont{bbvbc8t}{bbvb8r,newlatin}{t1c}{T1}{bbv}{b}{sc}{}
\installfont{bbvbo8t}{bbvbo8r,newlatin}{t1}{T1}{bbv}{b}{sl}{}
\installfont{bbvbi8t}{bbvbi8r,newlatin}{t1}{T1}{bbv}{b}{it}{}
\endinstallfonts
%% installfonts (TS1)
\installfonts
\installfamily{TS1}{bbv}{}
\installfont{bbvr8c}{bbvr8r,textcomp}{ts1}{TS1}{bbv}{m}{n}{}
\installfontas{bbvr8c}{TS1}{bbv}{m}{sc}{}
\installfont{bbvro8c}{bbvro8r,textcomp}{ts1}{TS1}{bbv}{m}{sl}{}
\installfont{bbvri8c}{bbvri8r,textcomp}{ts1}{TS1}{bbv}{m}{it}{}
\installfont{bbvb8c}{bbvb8r,textcomp}{ts1}{TS1}{bbv}{b}{n}{}
\installfontas{bbvb8c}{TS1}{bbv}{b}{sc}{}
\installfont{bbvbo8c}{bbvbo8r,textcomp}{ts1}{TS1}{bbv}{b}{sl}{}
\installfont{bbvbi8c}{bbvbi8r,textcomp}{ts1}{TS1}{bbv}{b}{it}{}
\endinstallfonts
\endrecordtransforms
\bye
上の作業で、次のシリーズ・シェイプが使えるようになります。
スモールキャップ体(small cap)と斜体(slant)はもともとありませんでしたが、これらは直立体から機械的に生成します。
.map ファイル作成に必要な情報は、bbv-driver.tex を処理した後、bbv-rec.tex ファイルに記録されます。これを処理して .map ファイルを生成するためのファイルを作成します。ファイル名は bbv-map.tex としておきます。
\input finstmsc.sty
\resetstr{PSfontsuffix}{.pfb}
\adddriver{dvips}{bbv.map}
\input bbv-rec.tex
\donedrivers
\bye
次のコマンドを実行します。
$ tex bbv-driver.tex $ tex bbv-map.tex
fontinst を実行すると各種 .pl, .vpl ファイルができていますので、これらを変換して .tfm, .vf ファイルを生成します。
$ for i in *.pl; do pltotf $i; done $ for i in *.vpl; do vptovf $i; done
それぞれのファイルをコピーします。
| ファイルの種類 | コピー先 |
|---|---|
| .afm | $TEXMFLOCAL/fonts/afm/bitstrea/baskerville |
| .tfm | $TEXMFLOCAL/fonts/tfm/bitstrea/baskerville |
| .vf | $TEXMFLOCAL/fonts/vf/bitstrea/baskerville |
| .pfb | $TEXMFLOCAL/fonts/type1/bitstrea/baskerville |
| .map | $TEXMFLOCAL/fonts/map/dvips/bitstrea/baskerville |
| .fd | $TEXMFLOCAL/tex/latex/bitstrea/baskerville |
mktexlsr と updmap-sys を実行します。
# mktexlsr # updmap-sys --enable Map=bbv.map
を参考にテストしてみてください。
テストがうまくいったら、Baskerville フォントを簡単に使えるように bbaskerv.sty を作成しましょう。
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bbaskerv}[2006/10/02 v1.0 Bitstream Baskerville]
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\renewcommand*{\rmdefault}{bbv}
\endinput
これを $TEXMFLOCAL/tex/latex/bitstrea/baskerville にコピーし、mktexlsr を実行しておきます。これ以降はプリアンブルに
\usepackage{bbaskerv}
と書いておけば、標準のフォントファミリが Baskerville になります。