xfce4-terminal や gnome-terminal で East Asian Ambiguous Width な文字を全角として表示させる
gnome-terminal や xfce4-terminal では、「△」や「○」のような文字が半角として認識されており、文字が重なって表示されてしまいます*1。
gnoem-terminal や xfce4-terminal は、libvte を使っており、libvte では設定するための環境変数が用意されているので、
解決するには、VTE_CJK_WIDTH=1 を設定すれば良いようです。
それで、どうやら、xfce4-terminal では、xfce4 が起動する前*2にこの設定をしてやらねばならないようです。
自分の環境では、.xsession に書いたのでは読んでくれなかったので、.xsessionrc に書いたら上手く認識してくれました。
# /etc/X11/Xsession ファイルを眺めてたら、このファイルを読んでいる風であったので、試してみたら、上手くいった。
ファイルは、以下のように書きました。
#!/bin/sh VTE_CJK_WIDTH=1 export VTE_CJK_WIDTH # .xsessionrc ends here
あとは、X を再起動して〜…です。
libvte を使ってない KDE の konsole ではどうするんだろうとか思ってたりします。
# コード眺めた限り、konsole_wcwidth_cjk て関数が用意されてたけど、#if 0 で無効にされてた。まあ konsole、使ってないからいいっちゃいいけど、ちょっと気になる…。
そんなこんなで。
更新時刻
- 2010/01/12/2:20