[[TeX/Font/Type1/Bitstream]]

*Classical Garamond (Bitstream version of Sabon) [#uce90ab1]

Classical Garamond は Sabon フォントの Bitstream 社バージョンです。

*コピー [#d35dc6ec]

CD-ROM 内の WINPS/SERIF/CLASSICAL_GARAMOND/ 以下に3種類のファイルがあります。そのうち

-''.PFB''
-''.PFM''

のファイルを作業用のディレクトリにコピーします。

*ファイル名の変更 [#l19ef111]

これらのファイルの名前を Berry 則にもとづいて変更します。一番簡単なのは $TEXMFDIST/fonts/map/fontname/bitstrea.map にある変換表にもとづいて変更することです。Berry 則については次のページを参考にしてください。

-[[フォント名>TeX/Font/FontName]]
-[[Bitstream>TeX/Font/Type1/Bitstream]]

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'' ファイルも同様にファイル名を変更しておきます。

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

''pf2afm'' を使って ''.pfb'', ''.pfm'' ファイルから ''.afm'' ファイルを生成します。

**pf2afm の実行 [#v4199bc6]

次のように実行します。

 $ pf2afm bsbr8a.pfb

次のようにすれば、上のコマンドを4回実行する必要がなくなります。

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

**.afm ファイルの修正 [#mde3c8b2]

今扱っている ''.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'' ファイルに対して修正を行ったら、忘れずに保存しておきます。

*fontinst [#qd844602]

''.tfm'', ''.fd'', ''.vf'', ''.map'' ファイルを生成するための fontinst のファイルを作成します。ファイル名は `bsb-driver.tex' としておきます。fontinst については [[fontinst パッケージ>TeX/Font/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

上の作業で、次のシリーズ・シェイプが使えるようになります。

-ローマン体
--直立体(upright)
--スモールキャップ体(small cap)
--斜体(slant)
--イタリック(italic)
-ボールド体
--直立体(upright)
--スモールキャップ体(small cap)
--斜体(slant)
--イタリック(italic)

スモールキャップ体(small cap)と斜体(slant)はもともとありませんでしたが、これらは直立体から機械的に生成します。

**.map ファイル生成用ファイルの作成 [#nb22d231]

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

**fontinst の実行 [#y314ff06]

次のコマンドを実行します。

 $ tex bsb-driver.tex
 $ tex bsb-map.tex

**.tfm, .vf ファイルの生成 [#p1e83e2e]

fontinst を実行すると各種 ''.pl'', ''.vpl'' ファイルができていますので、これらを変換して ''.tfm'', ''.vf'' ファイルを生成します。

 $ for i in *.pl; do pltotf $i; done
 $ for i in *.vpl; do vptovf $i; done

*ファイルのコピー [#p08dbcef]

それぞれのファイルをコピーします。

|~ファイルの種類|~コピー先|
|~.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 [#j8c1704d]

mktexlsr と updmap-sys を実行します。

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

*テスト [#dbf40454]

[[Type 1 フォント>TeX/Font/Type1]] にあるテストの要領にしたがってテストします。
-[[フォント出力のテスト>TeX/Font/FontTest]]

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

*.sty の作成 [#ne45599b]

テストがうまくいったら、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 になります。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS