Java 6はIVSを無視(ignore)しない。「Java 6 でIVSを比較すると何が起こるか」yanok.net http://yanok.net/2011/01/java-6-ivs.html
2011-01-13 13:21:45IVSは正規結合クラスが「0」なので正規化されません。UAX#15“UNICODE NORMALIZATION FORMS” http://bit.ly/ewA64D RT @okomeki: @ogwata 正規化したらどうなるんでしょうね…
2011-01-13 14:15:32IVSは正規結合クラスが「0」なので正規化されません。UAX#15“UNICODE NORMALIZATION FORMS” http://bit.ly/ewA64D RT @okomeki: @ogwata 正規化したらどうなるんでしょうね…
2011-01-13 14:15:32@ogwata Unicode正規化の影響を受けないということとCanonical_Combining_Classが0だというのは別の話では?
2011-01-13 15:08:03@ogwata Canonical_Combining_Classが0であることはstable code pointの必要条件だけど十分条件ではないってことかと。(Unicode正規化で置換されちゃう)互換漢字だってCanonical_Combining_Classは0ですよね。
2011-01-13 15:30:55@moji_memo 最初てっきりComposition Exclusion Tableにあるのかと思ったのですが、ここにはIVSは入ってないんですね。
2011-01-13 15:51:40@ogwata Composition Exclusion Tableに入っていると、Unicode正規化で置換されちゃいますよ。
2011-01-13 15:53:38@ogwata @moji_memo IVSがそもそもUnicode正規化の対象外なのだと思います。互換漢字を統合漢字にする合成除外とは違って、IVSを基底文字だけにするのならVSを削除しちゃえばいいだけですし。
2011-01-13 15:54:09@moji_memo いや、ちょっとまって、Composition Exclusion Table = 合成除外表ですよね? なんか勘違いしているのかな、おれ。
2011-01-13 15:59:55@ogwata @monokano わざわざ例外規定を設けるまでもなく、単純にUnicode正規化で置換される条件を満たしていないってことだと思いますけど。
2011-01-13 16:02:07@moji_memo @ogwata ありゃ、「VSに分解マッピングがない」ですね。互換漢字が統合漢字になるのは分解マッピングでそう置換されるからです。合成除外は置換ではなく、いったん分解されたらもう合成されない(元に戻らない)ということですよね。
2011-01-13 16:25:06@monokano ええと、UnicodeData.txtの第5カラム(左から6番目のカラム)が空白なので、IVSには分解マッピングがない、ということでしょうか?
2011-01-13 16:49:46@monokano http://unicode.org/reports/tr15/で言うとFigure 6の例がそうじゃないですか。
2011-01-13 17:59:37@moji_memo あざす! まさしく上から3番目が「結合文字列を互換合成」ですね! ちゃんと分解マッピングを積み重ねた結果になってます。IVSの互換合成はこれとは違って、基底文字を変えずにVSを削除するだけ…分解マッピングを使わない互換合成…びみょう〜w
2011-01-13 18:20:13そんなわけで、「分解マッピングフィールドが空欄ならUnicode正規化で置換されない」というのも、常に真だとは限らないんですよね。
2011-01-13 18:05:44@ogwata CETは、分解はしてもいいけど(合成を認めると互換性に問題が起きるから)合成してはいけない文字の表ですよ。
2011-01-13 18:25:03「IVSはUnicode正規化で互換合成されない。なぜなら、現在どの文字の分解マッピングにもVSが使われていないから」こんな感じかな〜
2011-01-13 19:21:42なるほど、ちょっと前の方で確かに「rendering」の語がありますね。RT @kazuhiro_kazama: @ogwata 彼は勘違いしていると思います. http://d.hatena.ne.jp/kazama/20110113/p1
2011-01-13 17:02:06