- 追加された行はこの色です。
- 削除された行はこの色です。
[[TeX/Font/Type1/Bitstream]]
[[TeX/Font/Type1/Bitstream]]
*Caslon Old Face [#jd6fdcff]
*コピー [#k6ab1064]
CD-ROM 内の WINPS/SERIF/CASLON_OLD_FACE/ 以下に3種類のファイルがあります。そのうち
-''.PFB''
-''.PFM''
のファイルを作業用のディレクトリにコピーします。
*ファイル名の変更 [#b159c153]
これらのファイルの名前を Berry 則にもとづいて変更すればいいのですが、`Old Face' を表す記号がないので困ります。$TEXMFDIST/fonts/map/fontname/bitstrea.map にある変換表にも次のように書かれていて、どのように変更したらいいのかわかりません。
b____ CaslonOldFaceBT-Roman BT 0280 casolfcn
b____ CaslonOldFaceBT-Italic BT 0281 casolfci
b_____ CaslonOldFaceBT-Heavy BT 0342 casolfch
ここでは、`Caslon' を表すために `ca' を、`Old Face' を表すために `f' を用いることにします。
|~元ファイル名|~フォント名|~新ファイル名|
|~0280A___.PFB|Caslon Old Face Roman|bcarf8a.pfb|
|~0281A___.PFB|Caslon Old Face Roman Italic|bcarif8a.pfb|
|~0242A___.PFB|Caslon Old Face Roman Heavy|bcahf8a.pfb|
''.PFM'' ファイルも同様にファイル名を変更しておきます。
*.afm ファイルの生成 [#ta260ff7]
''pf2afm'' を使って ''.pfb'', ''.pfm'' ファイルから ''.afm'' ファイルを生成します。
**pf2afm の実行 [#i89969b0]
次のように実行します。
$ pf2afm bbvr8a.pfb
次のようにすれば、上のコマンドを4回実行する必要がなくなります。
$ for i in *.pfb; do pf2afm $i; done
**.afm ファイルの修正 [#cba4ec82]
今扱っている ''.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 [#p53d1f9e]
''.tfm'', ''.fd'', ''.vf'', ''.map'' ファイルを生成するための fontinst のファイルを作成します。ファイル名は `bcaof-driver.tex' としておきます。fontinst については [[fontinst パッケージ>TeX/Font/FontInst]] をご覧ください。
\input fontinst.sty
\needsfontinstversion{1.926}
\substitutesilent{bx}{b}
\setint{smallcapsscale}{720}
\setint{slant}{167}
\recordtransforms{bcaof-rec.tex}
%% make .tfms
\transformfont{bcarf8r}{\reencodefont{8r}{\fromafm{bcarf8a}}}
\transformfont{bcarif8r}{\reencodefont{8r}{\fromafm{bcarif8a}}}
\transformfont{bcahf8r}{\reencodefont{8r}{\fromafm{bcahf8a}}}
% slant
\transformfont{bcarof8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bcarf8a}}}
\transformfont{bcahof8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bcahf8a}}}
%% installfonts (T1)
\installfonts
\installfamily{T1}{bcaof}{}
\installfont{bcarf8t}{bcarf8r,newlatin}{t1}{T1}{bcaof}{m}{n}{}
\installfont{bcarcf8t}{bcarf8r,newlatin}{t1c}{T1}{bcaof}{m}{sc}{}
\installfont{bcarof8t}{bcarof8r,newlatin}{t1}{T1}{bcaof}{m}{sl}{}
\installfont{bcarif8t}{bcarif8r,newlatin}{t1}{T1}{bcaof}{m}{it}{}
\installfont{bcahf8t}{bcahf8r,newlatin}{t1}{T1}{bcaof}{b}{n}{}
\installfont{bcahcf8t}{bcahf8r,newlatin}{t1c}{T1}{bcaof}{b}{sc}{}
\installfont{bcahof8t}{bcahof8r,newlatin}{t1}{T1}{bcaof}{b}{sl}{}
\installfontas{bcahof8t}{T1}{bcaof}{b}{it}{}
\endinstallfonts
%% installfonts (TS1)
\installfonts
\installfamily{TS1}{bcaof}{}
\installfont{bcarf8c}{bcarf8r,textcomp}{ts1}{TS1}{bcaof}{m}{n}{}
\installfontas{bcarf8c}{TS1}{bcaof}{m}{sc}{}
\installfont{bcarof8c}{bcarof8r,textcomp}{ts1}{TS1}{bcaof}{m}{sl}{}
\installfont{bcarif8c}{bcarif8r,textcomp}{ts1}{TS1}{bcaof}{m}{it}{}
\installfont{bcahf8c}{bcahf8r,textcomp}{ts1}{TS1}{bcaof}{b}{n}{}
\installfontas{bcahf8c}{TS1}{bcaof}{b}{sc}{}
\installfont{bcahof8c}{bcahof8r,textcomp}{ts1}{TS1}{bcaof}{b}{sl}{}
\installfontas{bcahof8c}{TS1}{bcaof}{b}{it}{}
\endinstallfonts
\endrecordtransforms
\bye
上の作業で、次のシリーズ・シェイプが使えるようになります。
-ローマン体
--直立体(upright)
--スモールキャップ体(small cap)
--斜体(slant)
--イタリック(italic)
-ボールド体
--直立体(upright)
--スモールキャップ体(small cap)
--斜体(slant)
--(イタリック)
スモールキャップ体(small cap)と斜体(slant)はもともとありませんでしたが、これらは直立体から機械的に生成します。
問題はボールド体イタリックです。もともとボールド体イタリックフォントは提供されていませんので、ボールド体斜体(slant)で代用しています。
**.map ファイル生成用ファイルの作成 [#o818b0bf]
''.map'' ファイル作成に必要な情報は、''bcaof-driver.tex'' を処理した後、''bcaof-rec.tex'' ファイルに記録されます。これを処理して ''.map'' ファイルを生成するためのファイルを作成します。ファイル名は ''bcaof-map.tex'' としておきます。
\input finstmsc.sty
\resetstr{PSfontsuffix}{.pfb}
\adddriver{dvips}{bcaof.map}
\input bcaof-rec.tex
\donedrivers
\bye
**fontinst の実行 [#hf4c5177]
次のコマンドを実行します。
$ tex bcaof-driver.tex
$ tex bcaof-map.tex
**.tfm, .vf ファイルの生成 [#fd87a192]
fontinst を実行すると各種 ''.pl'', ''.vpl'' ファイルができていますので、これらを変換して ''.tfm'', ''.vf'' ファイルを生成します。
$ for i in *.pl; do pltotf $i; done
$ for i in *.vpl; do vptovf $i; done
*ファイルのコピー [#n2938c80]
それぞれのファイルをコピーします。
|~ファイルの種類|~コピー先|
|~.afm|$TEXMFLOCAL/fonts/afm/bitstrea/caslonof|
|~.tfm|$TEXMFLOCAL/fonts/tfm/bitstrea/caslonof|
|~.vf|$TEXMFLOCAL/fonts/vf/bitstrea/caslonof|
|~.pfb|$TEXMFLOCAL/fonts/type1/bitstrea/caslonof|
|~.map|$TEXMFLOCAL/fonts/map/dvips/bitstrea/caslonof|
|~.fd|$TEXMFLOCAL/tex/latex/bitstrea/caslonof|
**mktexlsr, updmap-sys [#p6f24309]
mktexlsr と updmap-sys を実行します。
# mktexlsr
# updmap-sys --enable Map=bcaof.map
*テスト [#v9987dfc]
[[Type 1 フォント>TeX/Font/Type1]] にあるテストの要領にしたがってテストします。
-[[フォント出力のテスト>TeX/Font/FontTest]]
を参考にテストしてみてください。
*.sty の作成 [#g5822b14]
テストがうまくいったら、Caslon Old Face フォントを簡単に使えるように ''bcasof.sty'' を作成しましょう。
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bcasof}[2006/10/06 v1.0 Bitstream Caslon Old Face]
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\renewcommand*{\rmdefault}{bcaof}
\endinput
これを $TEXMFLOCAL/tex/latex/bitstrea/caslonof にコピーし、''mktexlsr'' を実行しておきます。これ以降はプリアンブルに
\usepackage{bcasof}
と書いておけば、標準のフォントファミリが Caslon Old Face になります。