早々に破綻
したYo orz。NFKC使おうとした方法は。。。
なぜ駄目なのか?
理由は簡単、可逆性がない。例えば、U+2162は"III"を1文字で表す。当然のコトながら、NFKCに書けると結果は"III"となる。そりゃそれで良いのだけど、機種依存文字を嫌う人の場合*1はなっから、U+2162なんて使わずに、IIIとタイプしてしまうコトはよくある。コーなったときに、U+2162とIIIに等価性を持たせつつトークンナイズするとなると、トークンナイズの結果が、どっちの場合も一致しなければならにゃ駄目なわけで。これを実現するには、かなりリソースを喰う操作が必要になってくる。互換等価性に関するテーブルは多分探せば出てくるけど、これを加工して、インデックスを作ったとしても、総当たりで文字を比較していかなけりゃならず、あまり現実的じゃなくなる。*2