7

私のテストでは、Unicode 6.2 の時点で、完全な互換性のある分解のすべての文字がプロパティ NFD_Quick_Check=Yes を持っていることがわかりました。

これにより、isNFKD(x) は isNFD(x) を意味し、isNFKC(x) は isNFC(x) を意味すると信じるようになります。

私の結論は正しいですか?そして、安定性はどうですか?これらの影響は、Unicode 標準の将来のバージョンでも保持されることが保証されていますか?

4

2 に答える 2

0

ここで、次のように述べていることがわかりました。

つまり、NFC と NFKC の構成段階は同じで、分解段階のみが異なり、NFKC は互換性分解を適用します。

それからこれもあります:

複合文字に変換する正規化には、正規化フォーム C と正規化フォーム KC の 2 つの形式があります。これらの違いは、結果のテキストが元の正規化されていないテキストと同等の正規のものであるか、元の正規化されていないテキストと互換性があるものであるかによって異なります。(NFKC と NFKD では、合成を表す C との混同を避けるために、互換性を表すために K が使用されます。) どちらのタイプの正規化も、さまざまな状況で役立ちます。

最初の 3 つの図では、NFKD フォームは常に NFD フォームと同じであり、NFKC フォームは常に NFC フォームと同じであるため、簡単にするためにこれらの列は省略されています。

これは、あなたの質問の少なくとも一部に光を当てるかもしれないテキストから私が選ぶことができるものです. それが役に立てば幸い

ウィキペディアの記事にも次の表があります。

NFD 正規化形式の正規分解:文字は正規等価性によって分解され、複数の結合文字が特定の順序で配置されます。

NFC 正規化形式の正規構成: 文字は分解され、正規の同等性によって再構成されます。

NFKD Normalization Form Compatibility Decomposition:文字は互換性によって分解され、複数の結合文字が特定の順序で配置されます。

NFKC 正規化形式の互換性構成: 文字は互換性によって分解され、正規の同等性によって再構成されます。

これらが何であるかの説明を見ると、一方が他方を暗示していると結論付けることはできないと思います。NFD は正規等価性によって分解されますが、NFKD は互換性によって分解されます。

同記事では次のようにも述べています。

同等基準は、標準 (NF) または互換性 (NFK) のいずれかです。

私にとってこれは、正規または互換性のいずれかを意味します。NFD と NFKD は異なることを行います。


この実装ノートの記事では、次のように述べています。

すべてのバージョンで、Unicode 4.1 より前であっても、次のポリシーに従います。

正規化された文字列は安定していることが保証されています。つまり、正規化された文字列は、Unicode の将来のすべてのバージョンに従って正規化されます。

于 2013-03-29T00:20:41.883 に答える