似た文字

UTF-8でE2 88 92という3バイト(以下甲)がサクラエディタで化ける。iconvでCP932に変換すると81 7Cという2バイト(以下乙)になり、サクラエディタでもきちんと表示される。これを再度UTF-8に変換すると元通りになるので、文字コードとして不正というわけでもないと思われる。
サクラエディタのバグ、又は制限だろうと納得しかけたのだが、甲乙それぞれをemacsで表示させると、違うグリフで表示されるのだ。試しにFirefoxで表示させても結果はemacsでの表示と同じだ。具体的に言うと甲は半角幅で、乙は全角幅になっている。似て非なる文字がiconvでは混同されているのだろうか?必ずしも一対一にマッピングできるものでもないので、そういった場合の扱いにポリシーの差があるのだろうか?
文字コードの問題は混沌としていて深入りするときりがないので、とりあえずいくつかの文字が問題を起しがちであるということを覚えておくことにしよう。ちょうどいいタイミングでmixiでアポストロフィの文字コードを取り上げていた方がおり、そこで紹介されていた文章のURLを書いておく。
http://www.stained-g.net/shinichiro/EUC-JP-Horizontal-Ellipsis.html
実際問題としては、文字コードの策定や扱いをいくら綿密に考えぬいたところでユーザーがその理念を全部理解しているというわけにもいかない。規格も入り組んでおり、各種ソフトウェアの実装も完璧を目指すのは難しいだろう。なかなか単純ではない問題だ。
Document ID: b65d364dcbe943f978564d5fa268f380