2005/10/31

trick or treat?

気がつけば今年も残すところあと2ヶ月ですねー。ハロウィンとかとは全然関係ない生活ですけど。ということで、週末はずーっとのんびりぽわわしてましたが、何してたかっつーと、フォント作ってました。なんでそんないきなり!

話の発端はなんか同時多発的に(というほど多発でもない)Emacs/xyzzyでCodingFontTobi1(proggy_font)を使ってるみたいな話でして、へぇーそんないいのーと思って見てみたんですけど、まぁ悪くはないけどちょっと小さいんだよなぁーと。

というか、元がBitmapフォントなので、単位がpx単位なので9ptサイズで使ってFontLinkでMSゴシックを組み合わせるにもちょっとうまくいかなくて普通にこれは使えないじゃん、と。そのへんEmacs/xyzzyはASCIIフォント(欧文フォントと言うべき?)と日本語フォントを別々に設定できるんで、問題ない様子。まぁでもCodingFontTobi1自体が縦横比2:1になってないので、MSゴシックの全角文字と混ぜるとずれてるみたいなんですけど。

じゃあ、作ればいいじゃん。

…と、あとはいつもの展開になりまして、作ることにしたんですが、そもそもBitmapフォント(fonファイル)ってWindows Executiveなファイルなんですよねぇ。なんかその時点でなんともやりたくない感じなので、TTFで作ることに。

で、どうせ9ptのMSゴシックと組み合わせることしか考えていないので、そこは完全にそれ特化になるように作ればかなりの労力を省けます。9ptというのは96dpi環境では高さ12pxでラスタライズされるので、そこを利用してやることにします。必要なものはTTFフォント作成ツール(私はTTEditしか思いつかなかったのでそれを使いました)と、ペイントツール(昔っからPaintShopProです、私は)と、ドット打ちする気合いとかでしょうか。

まずTTEditで新規の等幅欧文フォントをつくるわけですが、高さ12px、幅6pxのキャンバスにドットを打つ予定なので、仮想ボディが1024なので、これを12分割して下2px分がベースラインより下(ディセント)になるようにするとー、1024÷12×2≒171ですか。ってことで(意味あるかは知らないけど)ディセント171のアセント853とかにしときます。

アセント853、ディセント171
まぁこんな感じでオレはやった。

ということで、適当なペイントツールでまずビットマップで12x6のサイズで1文字をつくります。

6x12にBを書いてみた
後ろに1pxのスペースが入るようにしないと文字がくっついちゃうんです

で、この6x12を512x1024にピクセルリサイズ(補間とかなしで)します。これをコピーして、TTEditに貼り付けると、bmp形式のインポートが行われて、輪郭検出されたアウトラインとして取り込まれます。

アウトラインフォントになりました
まぁアウトラインもへったくれもないカクカクフォント

これを全部の文字について繰り返せばオッケー…って、結構大変ですけど、0x21(!)から0x7E(~)までなんで94個ぐらいなんで、ちょっと気合いいれればまぁいつのまにかできます。

で、これを適当に名前つけて(ホントに適当なのでここではmyCodingFontと名付けました)、レジストリエディタからFontLinkの設定をします。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink とかいうところにFontLinkの設定場所があるので、そこに複数行文字列値(REG_MULTI_SZ)を作って(Win2000のregeditでは作れないのでregedt32のほうを使ってください)、そこに適当にFontLinkしたいフォントを列挙します。まぁとりあえずMSゴシックと結びつけたかったので、MSGOTHIC.TTC,MS GOTHICあたりを入れておきました。

MSゴシックとかGulimとかいれておいてみる
レジストリエディタの利用は、自己責任でお願いしますね

これらの設定をした上で、再起動するとおそらくこの自作欧文等幅フォントがFontLinkと一緒に使えるようになっていることでしょう。試しにEmEditor(言語でフォントは変えれるけど日本語文書内では欧文フォントと日本語フォントを使い分けできませんよね?)でC++のソースを開いたところをどうぞ。

白地だとちょっと見づらいような気もするけどどうかな
はい、オリジナルフォントとMSゴシックがキレイに揃ってます

どうでもいいけどプログラマ界隈の人のエディタは軒並み背景黒っぽいのはなんでだろう。まぁプログラマに限らず物書きの人はみんなそうだけどー。まさかMS-DOS時代のなごりとかでそっちが慣れてるとかいう歴史的理由なのかなぁ。

灰色地でちょっと色調整をしてみた
試しに灰色地で色をつけてみたけど、上と比べてみなさんどっちが見やすいですか?

Webサイトとかでも黒地のサイトとかちょくちょく見るけど(最たるモノは侍魂?ってイメージがあるんですけど)、私は基本的に白地で作ることしかないですねぇ。ちょっと黒地とかでも作ってみたい気はするんだけど、正直黒いサイトは黒いサイトに見えるからなぁ(なんだそれ)。世間的には白より黒の方がウケがいい部分があったりするのかしら。

ちなみに興味本位で調べてみたらcureblack.comとcureblack.netは既に取得されていますが(.orgはあいてるっぽい)、curewhiteは.com、.net、.orgともあいてるみたいです。やっぱ黒の方が人気なんだな! …っていうすげーどうでもいいオチがきた。

うされもん @acidlemonについて

|'-')/ acidlemonです。鎌倉市在住で、鎌倉で働く普通のITエンジニアです。

30年弱住んだ北海道を離れ、鎌倉でまったりぽわぽわしています。

外部サイト情報

  • twitter
  • github
  • facebook
  • instagram
  • work on kayac