通过UCD检测Unicode中破坏规范化的更改

通过UCD检测Unicode中破坏规范化的更改,unicode,internationalization,unicode-string,unicode-normalization,case-folding,Unicode,Internationalization,Unicode String,Unicode Normalization,Case Folding,Unicode强调软件应该尽可能地向前兼容,默认将未分配字符视为私用代码点。这在大多数情况下都很有效,因为大多数新字符在规格化、大小写折叠等情况下都不会改变 但是,我想分析Unicode中的规范化“破坏性”更改:当应用NFx、NFKx、casefold或NFKC_casefold规范化时,这些字符的属性会导致更改。我对我对NFC或NFKC算法的理解不是100%有信心,我相信已经有一些稳定性变化限制了特殊情况的数量。如果这意味着不必处理特殊情况,我可以将分析限制在Unicode 4、5甚至6 我的

Unicode强调软件应该尽可能地向前兼容,默认将未分配字符视为私用代码点。这在大多数情况下都很有效,因为大多数新字符在规格化、大小写折叠等情况下都不会改变

但是,我想分析Unicode中的规范化“破坏性”更改:当应用NFx、NFKx、casefold或NFKC_casefold规范化时,这些字符的属性会导致更改。我对我对NFC或NFKC算法的理解不是100%有信心,我相信已经有一些稳定性变化限制了特殊情况的数量。如果这意味着不必处理特殊情况,我可以将分析限制在Unicode 4、5甚至6

我的第一次尝试是解析XML Unicode字符数据库,并根据(
ccc!=0
)、(
NFC\u QC!='Y'
NFD\u QC!='Y'
等)和(
CWKCF='Y'或CWCF='Y'
)属性选择代码点

这是最好的方法,还是我应该只看分解映射和类型