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

*1:このファイルで00??;A #...とか;のあとに A がついている文字がたしかそう

*2:http://espion.just-size.jp/archives/07/305201555.html