メモ。
- 後述の理由で記号(○△□)とか罫線素片のグリフが2桁幅のビットマップなUnicodeフォントが欲しい
- ビットマップなUnicodeフォントといえば efont
- efontのb14 (-efont-biwidth-medium-r-normal--14-140-75-75-p-70-iso10646-1) がほぼ欲しいのもの
- b14でEastAsian Ambiguous Widthな文字たちのグリフを2桁幅のが欲しいものそのもの
- b14は複数のフォントを合成したもの
で、efont-unicode-bdf-0.4.2-src での変更個所は以下の通り。
:> h14_add.hex :> halfwidth.list vi Makefile.in --- Makefile.in.orig 2010-01-17 23:59:57.000000000 +0900 +++ Makefile.in 2010-01-18 00:50:46.000000000 +0900 @@ -292,7 +292,7 @@ mv $@.tmp $@ touch -r $< $@ b%.hex: f%.hex h%.hex - tools/hexmerge $^ > $@.tmp && \ + tools/hexmerge $^ $$(echo $^|egrep -o '^f[0-9]+.hex') > $@.tmp && \ mv $@.tmp $@ configure: configure.in
で、
./configure make b14.pcf.gz b14_b.pcf.gz b14_bi.pcf.gz b14_i.pcf.gz
欲しい理由
追記 2010-01-25
mltermの開発者の方からわざわざパッチをいただきmltermが落ちなくなったので、現在は ENCODING = EUC-JP と東雲フォントの組み合わせで使ってます。
パッチはmlterm version 2.9.4 post/cvs-1.969に対するものと、mlterm version 3.0.0 pre/cvs-1.998に対するものの2ついただきました。MacのX11.app (XQuartz 2.4.0 (xorg-server 1.5.3-apple14)) でしか発現しない問題なんじゃないかと思うのですが、同様にお困りの方は、近いうちにコミットされるそうなのでこちらからどうぞ。 http://mlterm.sourceforge.net/
- MacのターミナルはX11.appでmlterm派
- Macでだけ、mltermが落ちる
- perl -e 'print pack("N",$_) for 143..144' すると、X Error of failed request: BadValue (integer parameter out of range for operation), Major opcode of failed request: 45 (X_OpenFont), ... といって落ちる
- なので、うっかりバイナリとかutf-8とか非EUC-JPなものを出力しちゃうと落ちる。
- Linuxのmltermは落ちない
- ENCODING = EUC-JP だと落ちる
- ENCODING = UTF-8 では落ちない
- ENCODING = EUC-JISX0213 で以下の設定 (~/.mlterm/main) では落ちない
- ENCODING = EUC-JISX0213 で落ちなくなったけど、EastAsian Ambiguous Width Charactersが、グリフは1桁幅で表示されるけど、カーソルの移動とか文字としては2桁幅で認識されているようになった。
- 箇条書きに●■とかつかうし、Wanderlustのスレッド表示で罫線素片使いまくりなので、かなりキモいことに。
- じゃ、グリフの幅が2桁幅のビットマップなUnicodeフォントがあればいいじゃない
- 以上が動機