Unicode

glibc の wcwidth の話の続き

glibc の wcwidth() の「曖昧な文字幅」についての動作の話の続き。 やっぱり、UTF-8 の charmap を全部書き換えてしまうのは良くないと思い、以下のようにしてみた。 まず、/usr/share/i18n/charmaps/UTF-8.gz を改造して ambiguous width な文字の幅を 2 …

glibc の wcwidth() の「曖昧な文字幅」についての動作

glibc の wcwidth() の動作を自分の手できちんと検証したことがなかったので実験してみた。対象バージョンは Debian lenny に含まれていた 2.7-18。 実験に使ったのは以下のプログラム。 #define _XOPEN_SOURCE #include <stdio.h> #include <locale.h> #include <wchar.h> void print_wc</wchar.h></locale.h></stdio.h>…

Debian lenny の screen の cjkwidth パッチが壊れてる件

あるいは「Unicode の曖昧な文字幅(ambiguous width)問題 その3」。*1 Debian lenny の screen にはGNU screen bug #16666の cjkwidth パッチがあてられていて*2、UTF-8 環境で aptitude とか w3m とかのレイアウトが崩れなくなるぜ……と思ったら全然ダメだっ…

Unicode の曖昧な文字幅問題 その2

9月30日の続き。 UTF-8 環境で w3m のメニュー表示が崩れる原因が分かった。俺は GNU screen を常用してるんだが、実はそちらが原因だった。(使っていることを忘れるくらいに使いまくってるため、screen 以外の環境でテストすることを思いつかなかった。間抜…

w3m - Unicode の曖昧な文字幅問題 その1

ふと思いついて、作業環境(Debian sarge)の文字コードを EUC-JP から UTF-8 へ移行することにした。Debian の次期 stable (etch) では UTF-8 が標準になるそうだし。 ほとんどのソフトウェアは locale の設定を変えるだけで問題なく移行できたんだが*1、PuTT…