FreeBSD 4.11-R で ja_JP.UTF-8 を使う
国際化版 xterm

kterm に別れを告げます。長い間お世話になりました。

インストール

ports からインストールします。 xorg-clients が入っていればすでにインストールされているはずです。 UTF-8 とは関係ありませんが、Xaw3d でスクロールバーを表示したいので、 コンパイルしなおしました。

# env CONFIGURE_ARGS=-with-Xaw3d make all deinstall reinstall

Unicode フォント

通常幅と、ワイド幅用の Unicode フォントが必要です。 電子書体オープンラボ /efont/ から efont-unicode-bdf をダウンロードして使います。

ただし、私は ASCII と カナ文字のグリフに違和感をおぼえた (たぶん濁点やアクセント記号を合成しても不自然にならないように、 グリフの大きさを調整しているからだと思います) ので、 目になじんだ a14, k14 のグリフを上書きして BDF フォントファイルを再構築しました。 ちょっとプログラムを書く必要がありますが、簡単にできます。

fonts.alias に以下のような別名を定義しとくと何かと便利です。

b14 -efont-biwidth-medium-r-normal--14-140-75-75-p-70-iso10646-1
f14 -efont-fixed-medium-r-normal--14-140-75-75-c-140-iso10646-1
h14 -efont-fixed-medium-r-normal--14-140-75-75-c-70-iso10646-1

X リソース

*VT100.font: h14
*VT100.wideFont: f14
*VT100.ximFont: f14
*VT100*scrollBar: True
*VT100*rightScrollBar: True
*VT100*cjkWidth: True


*international: True
*IMProtocol: xim
*inputMethod: kinput2
*ConversionStartKeys: Ctrl<Key>backslash

cjkWidth を True にしておくと、 ギリシャ文字やキリル文字をワイド幅で扱ってくれるようになります。 FreeBSD 4.11-R には wcwidth() がまだ実装されていないので、 国際化 xterm は自前の wcwidth() を使って文字幅の判定をしてます。 この自前 wcwidth() の文字幅決定ルールを定義しているのがこのリソースです。

一方、普段主に欧文を扱っているのであれば False にしておいた方がいいでしょう。 また、emacs 21.3.50 を -nw オプションで使うときも False にしておく必要があります。



$Date: 2005/07/13 11:03:25 $