ターミナルやエディタで使うフォントもまた、深く、難しい。

 Windowsでは、日本語文字用のフォントと欧文文字用のフォントをそれぞれ指定できるアプリケーションは少数派で、PuTTYもその例外ではない。そして日本語フォントに入っている欧文文字は単独では美しさに欠け、バリエーションを楽しむこともできない。

 Windows XPにはFontLinkという機能があるが、残念なことに先行するフォントのグリフを以降のフォントでオーバーライドすることができない。Unicode化された欧文フォントには「○」や「→」等の記号も収録されているため。これが全角幅に引き延ばされてレンダーされるので汚い。また、フォントを編集して余計なグリフを削除しても、FontLinkによる動的な縦横比の調整はあまり美しくないのが残念だ。

 ならばと、日本語フォントの英字部分に、縦横幅を調整した欧文フォントのグリフを埋め込んでみた。ツールはfontforgeを使った。日本語フォントとしてモトヤフォントを使おうとしたのだが、編集して再保存すると、なぜか多くのグリフのオフセットがずれてしまう。仕方がないのでMSゴシックで妥協した。欧文フォントに採用したのは、お気に入りのAndale mono。「g」「l」「0」の字形が好みだ。欧文フォントを日本語フォントと組み合わせる場合、括弧が低かったりすることがあるが、それは適当に調整する。Andale monoの場合は「~」が「-」と同様に小文字の半分の背しかないので、見慣れた高さに近づけた。

 残る悩みどころはビットマップフォントだが、今回はgdi++.dllを使おうと思っていたので削除した。そこそこ満足のいく品位は得られたが、同dllによるレンダリングは速度に難があり、痛し痒しだ。同dllを使わないとつぶれてしまうし、fontforgeでAndale monoのビットマップフォントを生成し、MSゴシックに合成したが、まだ納得の行く出力は得られていない。さらに研究が必要だ。


Categories : Tech