ここで扱うこと 結合文字列を解消する目的でUnicode正規化形式のNFCを適用する方法がよく紹介されています。このように合成を目的としてNFCを利用するのは大変に危険です。なにが危険なのかを説明します。 用語の選定 Unicode標準とUCS(ISO/IEC 10646)は用語体系が異なります。その違いがここでは深刻な影響を与えるため、慎重に用語の選定をしなければいけません。ここで扱う問題はUCSの用語では説明不可能なので、Unicode標準の用語を選びます。 Unicode標準では「合成」を「結合文字列から合成済み文字にすること」のみを指します。 なにが危険なのか NFCが合成だけをするのならいいのですが、それだけではなく、意図しないところで別の文字に変わってしまう現象が発生します。とくに漢字でそれが大量に発生します。下図はその一例。 このようにNFCを適用すると、別の漢字に変わってし