Terminusフォント

先週くらいから、KnoppixのKonsoleで使われているTerminusというフォント*1PuTTYでも使いはじめた。Terminusはスラッシュゼロなので0(ゼロ)と0(ビッグオー)を間違える心配がなくてよい。昔、gccコンパイルができないと思ったらオプションが-02となっていたことがある。Terminusならこんなミスもすぐにわかるというものだ。
そんなわけで、しばらくはPuTTY上で嬉々としてコーディングをしていた(嘘)。しかし、どうも日本語の表示がおかしい。どうおかしいかというと、ものすごくギザギザなのだ。Terminusにはフォントリンクを使って日本語はMSゴシックで表示されるようにしたのだが、利いていないような感じだ。それで色々やってみた結果、どうやらPuTTYではフォントリンクが利かないみたい(Tera Termではちゃんと表示された)。でも、ここを見る限りはちゃんと機能しているっぽいので、オレの環境だけかもしれない(ちなみにConsolasでもダメだったのである*2 )。まあ、日本語自体は表示されるから設定ミスの可能性も高そうだけど。
で、日本語なんてそんなに使わないので別にそのままでも良かったのだが、「フォントがなければ作れば良いじゃないかあ」とばかり、ちょっとフォントファイルを改ざんしてみた。フォントなんて全然知らないからかなり闇雲な作業である。とりあえずTTEditを使ってみた。でもTTEditはttfファイルにビットマップフォントを埋められないっぽいのでダメ。Terminusの肝はビットマップフォントだから。次にFontForgeなるソフトを試す。Cygwin上で使ったからか、オレの操作が悪いからか、かなり不安定。でも、"Merge Fonts"という機能でフォントを併合でき、しかもビットマップフォントもちゃんと扱える。試行錯誤の結果、TeminusにIPAゴシックの日本語フォントを併合した新Terminusを作成できた。PuTTYで表示するとこんな感じ。

うーむ、なかなか良い出来だ。でも、これ、サイズ12-point以外は使い物になりません。PuTTY専用です。

FontForgeメモ

  • IPAゴシックになったのはフォントの特性(?)がTerminusに近かったから([Element]-[Font Info...]の"general"にある値。詳しいことはぜんぜん解らないけど)。あとビットマップフォントが埋め込まれているから。
  • 2つのフォントをマージする場合、片方がビットマップフォントを持っている場合、もう一方も同じ大きさのビットマップフォントを持っている必要があるっぽい。
  • マージする時、併合元となるフォントをFontForgeで開いていたらFontForgeが落ちた。
  • なぜかWindows用のビットマップフォントファイルとして出力できなかった。なのでビットマップ埋め込みTTF。
  • 埋め込んだビットマップフォントは14と16(ピクセル)。

ちなみに、この作業にほぼ1日費やしました…。

*1:http://fractal.csie.org/~eric/wiki/Terminus_fontWindowsで使えるのをダウンロードできる

*2:追記:Consolasではその後ちゃんとできた。どうやらリンク先のフォントがよくなかったみたい。MSゴシックにしたら問題なし