戻る
k12x10.ttfのドット修正方法

フォントのドットが気に入らない場合は、 直接フォントファイルをいじって直すのが手っ取り早いのですが、 TrueTypeフォントはちと解析するのが大変だと思われますので、 どこをどのようにいじればいいのかを以下に示します。

用意するもの:バイナリエディタ
(vectorで「バイナリエディタ」で検索すれば手に入ります。 CE上で動くものはないと思うので、母艦上で修正することになります。)

k12x10.ttf の 0x100バイト目から、英文字(0x20〜0x7f)、カナ(0xa0〜0xdf)の順に、 1文字あたり 8バイト、160文字分並んでいます。
例えば、文字"g"なら、(asc("g")-0x20)*8+0x100 == 0x338で、 0x338からの 8バイトを抜き出すと、

  00 00 1e 8a 28 9e 09 c0
となっています。これをビット列に直すと、
  00000000 00000000 00011110 10001010 00101000 10011110 00001001 11000000
となり、これを6ビットづつに区切り、縦にならべると、
  000000 ←最上ドット
  000000
  000000
  011110
  100010
  100010
  100010
  011110
  000010
  011100 ←最下ドット
  0000   ←余り、使われない
となります。この逆の作業を行えば、任意のドットに入れ替えられます。 (厳密にはチェックサム達の再計算が必要ですが、CEでは問題ないようです。)

なお、漢字はこの後JISコード順に1文字あたり15バイト、7332文字並んでいます。 このように並んでいるのは、 24term で直接 k12x10.ttf をアクセスして表示を高速化するためだったりします。