僕はかなりの作業をEmacsの中で行なっています。そのEmacsで使っているフォントは東雲ゴシック14ドットです。
このフォントはとても良いフォントですが、僕には以前から一点だけ不満がありました。それは半角ゼロのグリフです。
僕は半角ゼロと半角大文字アルファベットのオーの区別が一見して分かるように、ゼロの中に斜線が入ったグリフが好みです。しかし東雲ゴシックでは、そうなっていないんですね。そこで自分が普段利用している東雲ゴシック14ドットフォントの半角ゼロのグリフを変更してみました。
フォントの元となるBDFファイルは上記サイトから入手できます。その内変更するのは以下のものです。
- shinonome-0.9.11/bdf/shnm7x14a.bdf
- shinonome-0.9.11/bdf/shnm7x14ab.bdf
- shinonome-0.9.11/bdf/shnm7x14abi.bdf
- shinonome-0.9.11/bdf/shnm7x14ai.bdf
これらのファイル中からゼロのグリフのデータを探します。具体的にはENCODING 48の所がそれです。例えばshnm7x14a.bdfならば以下のようになっています。
STARTCHAR 30
ENCODING 48
SWIDTH 960 0
DWIDTH 7 0
BBX 7 14 0 -2
BITMAP
00
00
30
48
84
84
84
84
84
84
48
30
00
00
ENDCHAR
このデータのBITMAP以下の14個の数値はそれぞれ16進数になっていて、これを2進数に変換すると、フォントのグリフになります。
00 → 0000000000000000
00 → 0000000000000000
30 → 0011000000000000
48 → 0100100000000000
84 → 1000010000000000
84 → 1000010000000000
84 → 1000010000000000
84 → 1000010000000000
84 → 1000010000000000
84 → 1000010000000000
48 → 0100100000000000
30 → 0011000000000000
00 → 0000000000000000
00 → 0000000000000000
これのBITMAP以下の数値を次のように変更します。
00 → 0000000000000000
00 → 0000000000000000
30 → 0011000000000000
48 → 0100100000000000
8c → 1000110000000000
94 → 1001010000000000
94 → 1001010000000000
A4 → 1010010000000000
A4 → 1010010000000000
C4 → 1100010000000000
48 → 0100100000000000
30 → 0011000000000000
00 → 0000000000000000
00 → 0000000000000000
変更したファイルを保存して、以下のようにbdfファイルをpcf形式にコンパイルし、gzipで圧縮します。
% bdftopcf -o shnm7x14a.pcf shnm7x14a.bdf
% gzip shnm7x14a.pcf
出来上がったshnm7x14a.pcf.gzを、今まで使っていたフォントに上書きします(念のため元のフォントデータはどこかに保存しておいた方が良いでしょう)。僕が使っているDebian Sargeならば、該当フォントの格納場所は /usr/X11R6/lib/X11/fonts/misc/ 以下です。従って、
# mv shnm7x14a.pcf.gz /usr/X11R6/lib/X11/fonts/misc/
を行ないます。後はshnm7x14ab.bdf、shnm7x14abi.bdf、shnm7x14ai.bdfにも同じような変更を施せばOKです。
参考サイト:blankspace(->Emacs->slashed zero bdf)
0 件のコメント:
コメントを投稿