glibc の wcwidth() の「曖昧な文字幅」についての動作の話の続き。 やっぱり、UTF-8 の charmap を全部書き換えてしまうのは良くないと思い、以下のようにしてみた。 まず、/usr/share/i18n/charmaps/UTF-8.gz を改造して ambiguous width な文字の幅を 2 にしたものを /usr/share/i18n/charmaps/UTF8-8-CJK.gz として設置。*1 次に UTF-8-CJK を使って locale を再作成 $ sudo localedef -i ja_JP -c -f UTF-8-CJK ja_JP.UTF-8あるいは、/etc/locale.gen を以下のように書き換えて locale-gen コマンドを実行しても同じ。(Debian 特有?) en_US.UTF-8 UTF-8 ja_JP.EUC-