OldSlav fonts error

あるロシア人から拙作 OldSlav 教会スラヴ語 LaTeX パッケージについて問い合わせメールをもらった。インストールして使いたいのだが,前提の SlavTeX-2.2 フォントアーカイブが手に入らず,フォントが拾えずエラーになる,どうすればよいか,という内容だった。

OldSlav は,SlavTeX のオールドスタイルのキリルフォントを用いて教会スラヴ語をタイプセットするために,かれこれ六,七年前に開発したものである。最新バージョンは 1.3-beta で,これをリリースしてからですらすでに二年以上経過している。自分でパッケージを書いたのに,いい加減設計内容を忘却してしまっており,最近 LaTeX に触れるのもユーザとしてのみなので,この質問にきちんと回答できるかちょっと不安になった。

SlavTeX-2.2 アーカイブを設置していたボロネジ大学の ftp サーバ ftp://ftp.vsu.ru/ は,残念ながら確かに,現在運用を停止してしまっているようである。OldSlav 英文マニュアルは,あらかじめ SlavTeX-2.2 アーカイブを取得し SlavTeX をインストールしておかなくてはならない記述になっている。ユーザが途方に暮れるのも無理はない。しかし,SlavTeX のフォントメトリックファイル slav10.tfm と,私がソースから生成した PostScript Type1 アウトラインフォント slav10.pfb とを OldSlav パッケージに添付してあるので,実際のところは,SlavTeX なしでも組版できるようになっている。ただし,SlavTeX METAFONT フォントソースまではバンドルしていない(気が退けた)ので,仮に pk ビットマップフォントで組みたいという時代遅れの要求に応えるには,SlavTeX パッケージが別途必要になる。

問い合わせて来たロシア人にはまずそう回答した。ところが,latex コマンドで dvi ファイルは出来たようだが,やはり OldSlav フォントが拾えず xdvi で表示できない,と再度メールして来た。添付してあった端末ログを確認する。

mypc: /home/user $ xdvi test
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 slav10
mktexpk: don't know how to create bitmap font for slav10.
mktexpk: perhaps slav10 is missing from the map file.
kpathsea: Appending font creation commands to missfont.log.
xdvi-xaw: Warning: Character 138 not defined in font cmr10
xdvi-xaw: Warning: Character 168 not defined in font cmr10
xdvi-xaw: Warning: Character 224 not defined in font cmr10
xdvi-xaw: Warning: Character 171 not defined in font cmr10
...

slav10 の適当な印字用フォントが見つからず,ビットマップフォントを生成しようとしてフォントソースも見つからず,代用の cmr10(コンピュータモダン)標準フォントを使いにいき,cmr は 7 bit フォントなので,当然,8 bit 領域(十進数 128 以上の文字コード)の文字がないという警告がぼろぼろ出ている。

これは dvi ファイル中の OldSlav slav10.tfm メトリックフォントに対して slav10.pfb アウトラインフォントを使うような設定になっていないためである。つまり,パッケージのインストールにおいて OldSlav フォントマップの登録がきちんと出来ていない。問い合わせのユーザは UNIX をお使いのようだったので,次のように updmap-sys でフォントマップを処理するよう回答した。

# updmap-sys --nomkmap --enable Map=oldslav.map
# updmap-sys --enable Map=oldslavex.map

これでうまく行ったようだった。ああ,OldSlav マクロを見直さなくてはならないかなー,とちょっと憂鬱だったのだが,簡単に済んでほっとした。SlavTeX が入手できなくなったとなると,マニュアルは書き直したほうがよさそうである。このロシア人の LaTeX 環境は TeX Live 2012 だった。私はいまだに ptexlive 2009 with e-pLaTeX なんである。私は OS にせよ,LaTeX にせよ,まず三年間は同じバージョンを使う。バージョンアップが面倒だから。でも,こういう問い合わせをもらうと,そろそろ最新版に更改しないといけないかなと思ってしまう。

20130507-oldslav-ex.png
OldSlav typeset sample in the user's manual