最近は三日月型シグマ(lunate sigma)で組まれた校訂本も増えてきています。LaTeX 用に配布されているフォントには三日月型シグマを含んだものはあまりありません。ドイツの Teubner 社の古典叢書(Bibliotheca Teubneriana)で伝統的に使われてきたフォントを模した、grml フォントに三日月型シグマを追加してみることにしました。
$ cp /path/to/grml1000.pfb ./ls-grml1000.pfb $ fontforge ls-grml1000.pfb
FontForge が起動したら、後で修正するときのことを考えて「ファイル」-「別名で保存」で ls-grml1000.sfd というファイル名で保存しておきます。大文字・小文字ともオミクロンをベースにするのが簡単でしょう。FontForge 上で大文字・小文字のシグマの位置にコピーしておきます。他の字形(グリフ)は不要なので削除しておきます。なお、オミクロンを半分に割っただけでは文字幅が狭く感じますので、両端を引き伸ばすようにするとよいようです。
「ファイル」-「フォントを出力」で .pfb, .tfm, .enc ファイルを出力します。できた ls-grml1000.tfm を読める形に変換します。
$ tftopl ls-grml1000.tfm ls-grml1000
次のような記述があります。後で使います(*)。
(CHARACTER C S (CHARWD R 0.66) <- 後で使う (CHARHT R 0.705999) <- 後で使う (CHARDP R 0.021363) <- 後で使う ) (CHARACTER C s (CHARWD R 0.403) <- 後で使う (CHARHT R 0.441271) <- 後で使う (CHARDP R 0.012545) <- 後で使う )
仮想フォントを作ります。grml1000.tfm を読める形に変換します。
$ cp /path/to/grml1000.tfm ./ $ tftopl grml1000.tfm ls-grml.vpl
ls-grml.vpl ファイルの最初の方に FONTDIMEN というセクションがありますので、その下に次のような記述を加えます。
(MAPFONT D 0 (FONTNAME grml1000) (FONTAT R 1.0) (FONTDSIZE R 10.0) ) (MAPFONT D 1 (FONTNAME ls-grml1000) (FONTAT R 1.0) (FONTDSIZE R 10.0) )
次に、CHARACTER C S という記述を探します。(*)で控えた行で置き換え、MAP セクションを加えます。
(CHARACTER C S (CHARWD R 0.66) <- 置き換え (CHARHT R 0.705999) <- 置き換え (CHARDP R 0.021363) <- 置き換え (MAP <- 追加 (SELECTFONT D 1) <- 追加 (SETCHAR C S) <- 追加 ) <- 追加 . . . )
同様に CHARACTER C c, CHARACTER C s に対して小文字のシグマの記述を行います。
仮想フォントを作成します。
$ vptovf ls-grml.vpl ls-grml
ot1ls-grml.fd ファイルを作成します。
¥DeclareFontFamily{OT1}{ls-grml}{} ¥DeclareFontShape{OT1}{ls-grml}{m}{n}{ <-> ls-grml }{} ¥DeclareFontShape{OT1}{ls-grml}{bx}{n}{ <-> sub ls-grml/m/n }{} ¥DeclareFontShape{OT1}{ls-grml}{b}{n}{ <-> sub ls-grml/m/n }{} ¥DeclareFontShape{OT1}{ls-grml}{m}{sl}{ <-> sub ls-grml/m/n }{} ¥DeclareFontShape{OT1}{ls-grml}{m}{it}{ <-> sub ls-grml/m/n }{} ¥endinput
これらに加えて ot1 を t1, lgr に変えたもの(t1ls-grml.fd, lgrls-grml.fd)も作っておきます。
ls-grml.map ファイルは次のようになります。
grml1000 grml1000 "" <grml1000.pfb ls-grml1000 ls-grml1000 "" <ls-grml1000.pfb
$ tex testfont . . . *¥table¥bye $ dvipdfmx -f ls-grml.map testfont
次のような test.tex を作成します。
¥documentclass{article} ¥usepackage[greek,english]{babel} ¥languageattribute{greek}{polutoniko} ¥begin{document} {¥usefont{LGR}{ls-grml}{m}{n} Test, test} ¥end{document}
次のように処理します。
$ latex test $ dvipdfmx -f ls-grml.map test
必要なファイルをインストールします。.map ファイルの登録は次のようにします。
$ updmap(-sys) --enable Map=ls-grml.map
必要に応じて ls-grml.sty ファイルを作成してインストールします。