「痩」と「瘦」

いわゆる康煕字典体とする案が提示、討議は平行線のまま(速報) - もじのなまえ


トラックバックが化けてる件。
元のページ((新)常用漢字の新字旧字「痩」と「瘦」)はUTF-8なので問題なく表示できてるけど、はてなトラックバックする際に文字化けしてる。


仕様としては合ってる?

意図する字形
JIS X 0213 1-01-54 1-33-73 1-01-55 1-04-40 1-01-54 1-94-93 1-01-55
元ページ(UTF-8) E3 80 8C E7 97 A9 E3 80 8D E3 81 A8 E3 80 8C E7 98 A6 E3 80 8D
はてな(EUC) A1 D6 C1 E9 A1 D7 A4 C8 A1 D6 8F CD F7 A1 D7


はてなトラックバックする際、瘦(UTF-8:E7 98 A6)を、EUC(J)の8F CD F7に変換している。8FはEUC(J)のSS3であり、即ちG3面を指定したシングルシフトである。CD F7は区点表記に直すと4D 77であり、更に10進数の区点番号に直して45-87、EUC-JIS-2004でのG3面はJIS X0213での2面なのでSS3とあわせて2-45-87となる。
実は、JIS X0213:2004では2-45-87は未定義になっている。(JIS X0212からJIS X0213でコード位置が変わった文字の1つ)
JIS X0213:2004における瘦は1-94-93が正しい。つまりJIS X0213:2004に従うならば、はてなは8F CD F7と符号化するのではなく、FE FDと符号化しなければならない。


では 8F CD F7 とは何か?
実はこれはJIS X0212-1990(いわゆる補助漢字)での2-45-87で、やはり瘦が割り当てられている。つまり、はてなはJIS X0213対応しているEUC-JIS-2004ではなく、古いEUC-JPを使っていることになる。


規格的には古いか新しいかだけの違いで、いちおう準拠していることにはなるので、一概にどちらが悪いかは言えないが、今後はEUC-JIS-2004の方がメジャーになっていくと思われるのでいずれはてなのシステムも修正した方がいいんだろうな。ただしこの辺のメカニズムは根本に関わるので影響範囲をつぶさに調べて気をつけないと、多大な影響(不具合)が出そうだよな〜。はてさてどうなることか。
というか一番影響が少ないのはトラックバック部分の処理も数値文字参照に置き換えることか。本文だと瘦でも化けないのは、はてなが自動的に瘦に置き換えているから。UTF-8ページからのトラックバックだとこの置換処理が抜けてるのかな?
ちなみに、EUCページ(はてな)からトラックバックした場合は、もとから数値文字参照になっているので正しく表示される?かと思いきや、数値文字参照がさらにエスケープされて『「痩」と「瘦」』などと表示されてしまったw
どうもこの辺の処理が怪しいようだ…


それはそれとして、エンコードEUC-JPの時うちのXP SP2+IE6は『「痩」と「女浴v 』などと興味をそそる変な具合に文字化けしてくれるのだがこれはどういう理屈なんだろう。不思議だ〜
IE6(というかXP SP2)は補助漢字サポートしてないんだっけ? サポートしてないのはいいとして、何でこんな化け方になるのか…


IE6のエンコーディングに「日本語(EUC-JIS-2004)」を追加してくれというのもあるかも...
Vista+IE7/IE8とかだったらEUC-JIS-2004でちゃんと表示されるのかな?