TeX/Font/Type1/Bitstream

Aldine 721 (Bitstream version of Platin)

Aldine 721 は Platin の Bitstream 社バージョンです。

コピー

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

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

ファイル名の変更

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

bitstrea.map を見ると、次のように変更すればよいことがわかります。新ファイル名は全て小文字にしておきましょう。

元ファイル名フォント名新ファイル名
0804A___.PFBAldine 721 Lightbpnl8a.pfb
0805A___.PFBAldine 721 Light Italicbpnli8a.pfb
0112A___.PFBAldine 721 Romanbpnr8a.pfb
0113A___.PFBAldine 721 Italicbpnri8a.pfb
0114A___.PFBAldine 721 Boldbpnb8a.pfb
0115A___.PFBAldine 721 Bold Italicbpnbi8a.pfb
0977A___.PFBAldine 721 Bold Condensedbpnb8ac.pfb

.PFM ファイルも同様にファイル名を変更しておきます。

.afm ファイルの生成

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

pf2afm の実行

次のように実行します。

$ pf2afm bpnr8a.pfb

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

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

.afm ファイルの修正

今扱っている .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

.tfm, .fd, .vf, .map ファイルを生成するための fontinst のファイルを作成します。ファイル名は `bpn-driver.tex' としておきます。fontinst については fontinst パッケージ をご覧ください。

\input fontinst.sty
\needsfontinstversion{1.926}
\substitutesilent{bx}{b}
\setint{smallcapsscale}{720}
\setint{slant}{167}
\recordtransforms{bpn-rec.tex}
%%% make .tfms
%% Light
\transformfont{bpnl8r}{\reencodefont{8r}{\fromafm{bpnl8a}}}
\transformfont{bpnli8r}{\reencodefont{8r}{\fromafm{bpnli8a}}}
%% Roman
\transformfont{bpnr8r}{\reencodefont{8r}{\fromafm{bpnr8a}}}
\transformfont{bpnri8r}{\reencodefont{8r}{\fromafm{bpnri8a}}}
%% Bold
\transformfont{bpnb8r}{\reencodefont{8r}{\fromafm{bpnb8a}}}
\transformfont{bpnbi8r}{\reencodefont{8r}{\fromafm{bpnbi8a}}}
%% Bold Condensed
\transformfont{bpnb8rc}{\reencodefont{8r}{\fromafm{bpnb8ac}}}
%% slant
% Light
\transformfont{bpnlo8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bpnl8a}}}
% Roman
\transformfont{bpnro8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bpnr8a}}}
% Bold
\transformfont{bpnbo8r}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bpnb8a}}}
% Bold Condensed
\transformfont{bpnbo8rc}{\slantfont{\int{slant}}\reencodefont{8r}{\fromafm{bpnb8ac}}}
%%% installfonts
%% (T1, bpn)
\installfonts
\installfamily{T1}{bpn}{}
% Light
\installfont{bpnl8t}{bpnl8r,newlatin}{t1}{T1}{bpn}{l}{n}{}
\installfont{bpnlc8t}{bpnl8r,newlatin}{t1c}{T1}{bpn}{l}{sc}{}
\installfont{bpnlo8t}{bpnlo8r,newlatin}{t1}{T1}{bpn}{l}{sl}{}
\installfont{bpnli8t}{bpnli8r,newlatin}{t1}{T1}{bpn}{l}{it}{}
% Roman
\installfont{bpnr8t}{bpnr8r,newlatin}{t1}{T1}{bpn}{m}{n}{}
\installfont{bpnrc8t}{bpnr8r,newlatin}{t1c}{T1}{bpn}{m}{sc}{}
\installfont{bpnro8t}{bpnro8r,newlatin}{t1}{T1}{bpn}{m}{sl}{}
\installfont{bpnri8t}{bpnri8r,newlatin}{t1}{T1}{bpn}{m}{it}{}
% Bold
\installfont{bpnb8t}{bpnb8r,newlatin}{t1}{T1}{bpn}{b}{n}{}
\installfont{bpnbc8t}{bpnb8r,newlatin}{t1c}{T1}{bpn}{b}{sc}{}
\installfont{bpnbo8t}{bpnbo8r,newlatin}{t1}{T1}{bpn}{b}{sl}{}
\installfont{bpnbi8t}{bpnbi8r,newlatin}{t1}{T1}{bpn}{b}{it}{}
% Bold Condensed
\installfont{bpnb8tc}{bpnb8rc,newlatin}{t1}{T1}{bpn}{bc}{n}{}
\installfont{bpnbc8tc}{bpnb8rc,newlatin}{t1c}{T1}{bpn}{bc}{sc}{}
\installfont{bpnbo8tc}{bpnbo8rc,newlatin}{t1}{T1}{bpn}{bc}{sl}{}
\installfontas{bpnbo8tc}{T1}{bpn}{bc}{it}{}
\endinstallfonts
%%% installfonts
%% (TS1, bpn)
\installfonts
\installfamily{TS1}{bpn}{}
% Light
\installfont{bpnl8c}{bpnl8r,textcomp}{ts1}{TS1}{bpn}{l}{n}{}
\installfontas{bpnl8c}{TS1}{bpn}{l}{sc}{}
\installfont{bpnlo8c}{bpnlo8r,textcomp}{ts1}{TS1}{bpn}{l}{sl}{}
\installfont{bpnli8c}{bpnli8r,textcomp}{ts1}{TS1}{bpn}{l}{it}{}
% Roman
\installfont{bpnr8c}{bpnr8r,textcomp}{ts1}{TS1}{bpn}{m}{n}{}
\installfontas{bpnr8c}{TS1}{bpn}{m}{sc}{}
\installfont{bpnro8c}{bpnro8r,textcomp}{ts1}{TS1}{bpn}{m}{sl}{}
\installfont{bpnri8c}{bpnri8r,textcomp}{ts1}{TS1}{bpn}{m}{it}{}
% Bold
\installfont{bpnb8c}{bpnb8r,textcomp}{ts1}{TS1}{bpn}{b}{n}{}
\installfontas{bpnb8c}{TS1}{bpn}{b}{sc}{}
\installfont{bpnbo8c}{bpnbo8r,textcomp}{ts1}{TS1}{bpn}{b}{sl}{}
\installfont{bpnbi8c}{bpnbi8r,textcomp}{ts1}{TS1}{bpn}{b}{it}{}
% Bold Condensed
\installfont{bpnb8cc}{bpnb8rc,textcomp}{ts1}{TS1}{bpn}{bc}{n}{}
\installfontas{bpnb8cc}{TS1}{bpn}{bc}{sc}{}
\installfont{bpnbo8cc}{bpnbo8rc,textcomp}{ts1}{TS1}{bpn}{bc}{sl}{}
\installfontas{bpnbo8cc}{TS1}{bpn}{bc}{it}{}
\endinstallfonts
%%% installfonts
%% (T1, bpnl)
\installfonts
\installfamily{T1}{bpnl}{}
% Light as Roman
\installfont{bpnl8t}{bpnl8r,newlatin}{t1}{T1}{bpnl}{m}{n}{}
\installfont{bpnlc8t}{bpnl8r,newlatin}{t1c}{T1}{bpnl}{m}{sc}{}
\installfont{bpnlo8t}{bpnlo8r,newlatin}{t1}{T1}{bpnl}{m}{sl}{}
\installfont{bpnli8t}{bpnli8r,newlatin}{t1}{T1}{bpnl}{m}{it}{}
% Bold
\installfont{bpnb8t}{bpnb8r,newlatin}{t1}{T1}{bpnl}{b}{n}{}
\installfont{bpnbc8t}{bpnb8r,newlatin}{t1c}{T1}{bpnl}{b}{sc}{}
\installfont{bpnbo8t}{bpnbo8r,newlatin}{t1}{T1}{bpnl}{b}{sl}{}
\installfont{bpnbi8t}{bpnbi8r,newlatin}{t1}{T1}{bpnl}{b}{it}{}
% Bold Condensed
\installfont{bpnb8tc}{bpnb8rc,newlatin}{t1}{T1}{bpnl}{bc}{n}{}
\installfont{bpnbc8tc}{bpnb8rc,newlatin}{t1c}{T1}{bpnl}{bc}{sc}{}
\installfont{bpnbo8tc}{bpnbo8rc,newlatin}{t1}{T1}{bpnl}{bc}{sl}{}
\installfontas{bpnbo8tc}{T1}{bpnl}{bc}{it}{}
\endinstallfonts
%%% installfonts
%% (TS1, bpnl)
\installfonts
\installfamily{TS1}{bpnl}{}
% Light
\installfont{bpnl8c}{bpnl8r,textcomp}{ts1}{TS1}{bpnl}{m}{n}{}
\installfontas{bpnl8c}{TS1}{bpnl}{m}{sc}{}
\installfont{bpnlo8c}{bpnlo8r,textcomp}{ts1}{TS1}{bpnl}{m}{sl}{}
\installfont{bpnli8c}{bpnli8r,textcomp}{ts1}{TS1}{bpnl}{m}{it}{}
% Bold
\installfont{bpnb8c}{bpnb8r,textcomp}{ts1}{TS1}{bpnl}{b}{n}{}
\installfontas{bpnb8c}{TS1}{bpnl}{b}{sc}{}
\installfont{bpnbo8c}{bpnbo8r,textcomp}{ts1}{TS1}{bpnl}{b}{sl}{}
\installfont{bpnbi8c}{bpnbi8r,textcomp}{ts1}{TS1}{bpnl}{b}{it}{}
% Bold Condensed
\installfont{bpnb8cc}{bpnb8rc,textcomp}{ts1}{TS1}{bpnl}{bc}{n}{}
\installfontas{bpnb8cc}{TS1}{bpnl}{b}{sc}{}
\installfont{bpnbo8cc}{bpnbo8rc,textcomp}{ts1}{TS1}{bpnl}{bc}{sl}{}
\installfontas{bpnbo8cc}{TS1}{bpnl}{bc}{it}{}
%%%
\endinstallfonts
\endrecordtransforms
\bye

上の作業で、次のシリーズ・シェイプが使えるようになります。スモールキャップ体(small cap)と斜体(slant)はもともとありませんでしたが、これらは直立体から機械的に生成します。

ライト体(light)はローマン体のバリエーションと考え、フォントファミリ bpn でローマン体を標準で使用し、bpnl でライト体を標準で使用します。詳しくは「テスト」の項目を参照してください。

.map ファイル生成用ファイルの作成

.map ファイル作成に必要な情報は、bpn-driver.tex を処理した後、bpn-rec.tex ファイルに記録されます。これを処理して .map ファイルを生成するためのファイルを作成します。ファイル名は bpn-map.tex としておきます。

\input finstmsc.sty
\resetstr{PSfontsuffix}{.pfb}
\adddriver{dvips}{bpn.map}
\input bpn-rec.tex
\donedrivers
\bye

fontinst の実行

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

$ tex bpn-driver.tex
$ tex bpn-map.tex

.tfm, .vf ファイルの生成

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/aldine721
.tfm$TEXMFLOCAL/fonts/tfm/bitstrea/aldine721
.vf$TEXMFLOCAL/fonts/vf/bitstrea/aldine721
.pfb$TEXMFLOCAL/fonts/type1/bitstrea/aldine721
.map$TEXMFLOCAL/fonts/map/dvips/bitstrea/aldine721
.fd$TEXMFLOCAL/tex/latex/bitstrea/aldine721

mktexlsr, updmap-sys

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

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

テスト

Type 1 フォント にあるテストの要領にしたがってテストします。このファミリにはいくつもの字体が含まれていますので、次のものもテストしてみるとよいでしょう。その際に

\usefont{T1}{bpn}{m}{n}

といったコマンドを使うと、それ以降の部分が指定された字体になります。

.sty の作成

テストがうまくいったら、Aldine 721 フォントを簡単に使えるように baldine721.sty を作成しましょう。

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{baldine721}[2006/10/06 v1.0 Bitstream Aldine 721]
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\DeclareOption{light}{\renewcommand*{\rmdefault}{bpnl}}
\DeclareOption{regular}{\renewcommand*{\rmdefault}{bpn}}
\ExecuteOptions{regular}
\ProcessOptions\relax
\endinput

これを $TEXMFLOCAL/tex/latex/bitstrea/aldine721 にコピーし、mktexlsr を実行しておきます。これ以降はプリアンブルに

\usepackage{baldine721}

と書いておけば、標準のフォントファミリが Aldine 721 になります。ライト体を標準にするには

\usepackage[light]{baldine721}

と書いておきます。


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