Classical Garamond は Sabon フォントの Bitstream 社バージョンです。
CD-ROM 内の WINPS/SERIF/CLASSICAL_GARAMOND/ 以下に3種類のファイルがあります。そのうち
のファイルを作業用のディレクトリにコピーします。
これらのファイルの名前を Berry 則にもとづいて変更します。一番簡単なのは $TEXMFDIST/fonts/map/fontname/bitstrea.map にある変換表にもとづいて変更することです。Berry 則については次のページを参考にしてください。
bitstrea.map を見ると、次のように変更すればよいことがわかります。新ファイル名は全て小文字にしておきましょう。
元ファイル名 | フォント名 | 新ファイル名 |
---|---|---|
0277A___.PFB | Classical Garamond Roman | bsbr8a.pfb |
0278A___.PFB | Classical Garamond Italic | bsbri8a.pfb |
0279A___.PFB | Classical Garamond Bold | bsbb8a.pfb |
0972A___.PFB | Classical Garamond Bold Italic | bsbbi8a.pfb |
.PFM ファイルも同様にファイル名を変更しておきます。
pf2afm を使って .pfb, .pfm ファイルから .afm ファイルを生成します。
次のように実行します。
$ 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 のファイルを作成します。ファイル名は `bsb-driver.tex' としておきます。fontinst については fontinst パッケージ をご覧ください。
\input fontinst.sty \needsfontinstversion{1.926} \substitutesilent{bx}{b} \setint{smallcapsscale}{720} \setint{slant}{167} \recordtransforms{bsb-rec.tex} %% make .tfms \transformfont{bsbr8r}{\reencodefont{8r}{\fromafm{bsbr8a}}} \transformfont{bsbri8r}{\reencodefont{8r}{\fromafm{bsbri8a}}} \transformfont{bsbb8r}{\reencodefont{8r}{\fromafm{bsbb8a}}} \transformfont{bsbbi8r}{\reencodefont{8r}{\fromafm{bsbbi8a}}} % slant \transformfont{bsbro8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bsbr8a}}} \transformfont{bsbbo8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bsbb8a}}} %% installfonts (T1) \installfonts \installfamily{T1}{bsb}{} \installfont{bsbr8t}{bsbr8r,newlatin}{t1}{T1}{bsb}{m}{n}{} \installfont{bsbrc8t}{bsbr8r,newlatin}{t1c}{T1}{bsb}{m}{sc}{} \installfont{bsbro8t}{bsbro8r,newlatin}{t1}{T1}{bsb}{m}{sl}{} \installfont{bsbri8t}{bsbri8r,newlatin}{t1}{T1}{bsb}{m}{it}{} \installfont{bsbb8t}{bsbb8r,newlatin}{t1}{T1}{bsb}{b}{n}{} \installfont{bsbbc8t}{bsbb8r,newlatin}{t1c}{T1}{bsb}{b}{sc}{} \installfont{bsbbo8t}{bsbbo8r,newlatin}{t1}{T1}{bsb}{b}{sl}{} \installfont{bsbbi8t}{bsbbi8r,newlatin}{t1}{T1}{bsb}{b}{it}{} \endinstallfonts %% installfonts (TS1) \installfonts \installfamily{TS1}{bsb}{} \installfont{bsbr8c}{bsbr8r,textcomp}{ts1}{TS1}{bsb}{m}{n}{} \installfontas{bsbr8c}{TS1}{bsb}{m}{sc}{} \installfont{bsbro8c}{bsbro8r,textcomp}{ts1}{TS1}{bsb}{m}{sl}{} \installfont{bsbri8c}{bsbri8r,textcomp}{ts1}{TS1}{bsb}{m}{it}{} \installfont{bsbb8c}{bsbb8r,textcomp}{ts1}{TS1}{bsb}{b}{n}{} \installfontas{bsbb8c}{TS1}{bsb}{b}{sc}{} \installfont{bsbbo8c}{bsbbo8r,textcomp}{ts1}{TS1}{bsb}{b}{sl}{} \installfont{bsbbi8c}{bsbbi8r,textcomp}{ts1}{TS1}{bsb}{b}{it}{} \endinstallfonts \endrecordtransforms \bye
上の作業で、次のシリーズ・シェイプが使えるようになります。
スモールキャップ体(small cap)と斜体(slant)はもともとありませんでしたが、これらは直立体から機械的に生成します。
.map ファイル作成に必要な情報は、bsb-driver.tex を処理した後、bsb-rec.tex ファイルに記録されます。これを処理して .map ファイルを生成するためのファイルを作成します。ファイル名は bsb-map.tex としておきます。
\input finstmsc.sty \resetstr{PSfontsuffix}{.pfb} \adddriver{dvips}{bsb.map} \input bsb-rec.tex \donedrivers \bye
次のコマンドを実行します。
$ tex bsb-driver.tex $ tex bsb-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/clgaramond |
.tfm | $TEXMFLOCAL/fonts/tfm/bitstrea/clgaramond |
.vf | $TEXMFLOCAL/fonts/vf/bitstrea/clgaramond |
.pfb | $TEXMFLOCAL/fonts/type1/bitstrea/clgaramond |
.map | $TEXMFLOCAL/fonts/map/dvips/bitstrea/clgaramond |
.fd | $TEXMFLOCAL/tex/latex/bitstrea/clgaramond |
mktexlsr と updmap-sys を実行します。
# mktexlsr # updmap-sys --enable Map=bsb.map
Type 1 フォント にあるテストの要領にしたがってテストします。
テストがうまくいったら、Classical Garamond フォントを簡単に使えるように bclgaram.sty を作成しましょう。
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bclgaram}[2006/10/02 v1.0 Bitstream Classical Garamond] \RequirePackage[T1]{fontenc} \RequirePackage{textcomp} \renewcommand*{\rmdefault}{bsb} \endinput
これを $TEXMFLOCAL/tex/latex/bitstrea/clgaramond にコピーし、mktexlsr を実行しておきます。これ以降はプリアンブルに
\usepackage{bclgaram}
と書いておけば、標準のフォントファミリが Classical Garamond になります。