1900 年刊行の教会スラヴ語聖書 (Сѷнодальнаѧ тѷпографїѧ, "Біблїа, сирѣчь книги Свѧщеннаго Писанїѧ Ветхаго и Новаго Завѣта съ параллельными мѣстами", СПб., 1900 г., Репринтное веспроизведение издания 1900 г., М.: Российское библейское общество, 2005.) を眺めていて,SlavTeX フォントにない文字付略号符(буквенное титло)を見つけた。ч の文字にハットを冠したもので,私の見たことのないものだった。これは教会スラヴ語教科書にもない。教会スラヴ語 LaTeX パッケージ OldSlav の Unicode 対応をするなかで,どうしてもこの略号符を出力できるようにしたいと思った。
マクロで重ね打ちするなどの手段を考えたが,やはりフォントを作ることにした。SlavTeX フォントはもともと METAFONT で作成されており,フォントソースが添付されている。これを流用して буквенное титло ч を作ってみた。また,従来の SlavTeX フォントでは,ハイフネーションの文字はハイフン(-)だったわけだが,この聖書ではアンダースコア(_)が使用されていた。こちらのほうがそれらしいと思ったものだが,SlavTeX フォントにはアンダースコアがない。ついでにこいつも追加することにした。
METAFONT
私にとって METAFONT への取り組みは Izhitsa 教会スラヴ語パッケージの日本語対応以来である。METAFONT はタイポグラフィによほど関心のない限りなかなかとっつきにくいものがある。それでも,クヌース教授による『METAFONT ブック』を参照しながら,既存のソースを流用してなんとか作成することができた。
METAFONT フォント作成のメモを簡単にしるしておく。 .mf ファイルに描画命令を記述する。今回 exslav10.
% буквенное титло ч
beginchar(100,9u#,small#,0);
% titlo hat function (slav.mac)
hat(1,0);
% titlo character
r:=22/10u; s:=7/2u;
% right vertical line
z.u=(s+r+1/8u,small+6u);
z.d=(s+r,small+2u);
z.m=(s+r,small+10/3u);
pickup penrazor scaled 4/5u;
pp:=flex(z.u,z.m,z.d);
draw pp;
labels(u,m,d);
% curve from left upper to right vertical line
z2.2=(s+r+1/10u, small+21/5u);
z2.1l=(s,small+6u);
penpos2.1(4/5u,0);
penpos2.2(3/10u,90);
penstroke z2.1e{down}..tension 0.75..{right}z2.2e;
penlabels(2.1,2.2);
endchar;
gftodvi ゲラ刷り DVI 生成
exslav10.
ゲラ刷り DVI
mftrace アウトラインフォント生成
これでできたフォントは tfm と pk である。tfm は LaTeX で組版するときに必要となる。しかしながら,pk フォントは,紙に印刷すると暖かみのあるものだと私は思うけれども,いわゆるビットマップフォントであり,出版を想定した PDF に埋め込むには推奨されない。そこで mftrace と t1binary の両プログラムを用いて PostScript Type1 アウトラインフォントに変換した。DVIWARE にフォントを拾ってもらうための map ファイルも作成する必要がある。
以上の一連の流れのコマンドラインを以下に示す。私は Mac OS X で行ったが,FreeBSD, Linux, Windows でも手順はそれほど変わらないと思う。
% mf exslav10 % gftodvi exslav10.2602gf % tex testfont ... Name of the font to test = exslav10 ... *\table *\end ... % mftrace --magnification=4000 --encoding=tex256.enc exslav10 % t1binary exslav10.pfa exslav10.pfb % cat > oldslavex.map exslav10 exslav10 <exslav10.pfb (control-D) %
仮想フォントの作成
さて,exslav10.
フォント・インストール/試験
以上できた tfm, vf, map, pfb ファイルを TDS に従った場所にコピーし,mktexlsr,updmap-sys --enable Map=
% tftopl exslav10.tfm exslav10.vpl % emacs fslavrm.vpl exslav10.vpl & (ターゲットの fslavrm.vpl を編集し,exslav10.vpl 定義を反映する) % vptovf -verbose fslavrm.vpl % su -m # setenv TEXDIR /usr/local/teTeX/share/texmf-local # cp fslavrm.vf $TEXDIR/fonts/vf/oldslav/ # cp fslavrm.tfm exslav10.tfm $TEXDIR/fonts/tfm/oldslav/ # cp exslav10.pfb $TEXDIR/fonts/type1/oldslav/ # cp oldslavex.map $TEXDIR/fonts/map/dvips/oldslav/ # mktexlsr # updmap-sys --enable Map=oldslavex.map # exit
OldSlav に буквенное титло ч アクセント命令(\ttlh)を追加して,早速組んでみた。実際の文献でも文字付略号符は虫眼鏡でみないと判別できないくらいのシロモノだけど,まあできた,できた。ハイフネーションも聖書のマナーを再現できて満足。今回の成果を含めなるべくはやく UTF-8 対応版パッケージを整理して公開したいと思う。
буквенное титло ч タイプセット試験