TrueTypeフォントの0x5cを円記号からバックスラッシュに書き換える方法を紹介。IPAフォントに直接適用できるパッチと、TrueTypeフォント一般(ただし*.ttfのみ)を書き換えるスクリプトを提供。
試しにGNOMEを導入したのでGNOME Terminalを使い始めた。 ところがその中でIPAフォントを使ってみたら、0x5cが 円記号で表示されるのが気になって仕方がない。
そこで0x5cのグリフがバックスラッシュになるよう、fontforgeで編集した。
手順は次の通り。
- 0x5c (REVERSE SOLIDUS)に入っている円記号にしか見えないグリフを、0xa5 (YEN SIGN)にコピー。IPAフォントではここにはグリフが設定されていない。
- スラッシュ、即ち0x2f (SOLIDUS)のグリフを左右反転させて0x5cのグリフを作成。
IPAフォントへのパッチを作成した。bspatchで例えば次のようにして適用する。このコマンドは生成するファイル名を第2引数にとるのが少し変わっている。
% bspatch /path/to/ipag.ttf new.ipag.ttf ipag.ttf.patch
フォントファイルに対して上記の操作を行うスクリプトも作成した。実行にはfontforgeが必要。バックスラッシュをスラッシュの左右反転で作るので、それでも困らないフォント限定。*.ttf専用で、今のところ*.ttcには対応させていない。次のように実行する。
% ./0x5c-reverse-solidus.pe font.ttf new-font.ttf