Hi Bertini. After follow the information(especially the link to stackoverflow) offered by you and some more searching and reading, I learned more about Unicode.
First, I have had an assumption: the "C" in the NFC means that "to compose (or combine) some characters" and the number of characters will less than or equal to the original characters after NFC. It is, as you pointed out, wrong... I have missed your point in previous reply. http://www.unicode.org/faq/normalization.html#12 (contained in the stackoveflow post) uses U+1D160 as an example but does not tell the exact results. There are other authoritative sources: * http://unicode.org/cldr/utility/transform.jsp (contained in the FAQ) * NormalizationTest.txt in http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt and https://github.com/slavapestov/factor/blob/0.96/basis/unicode/normalize/NormalizationTest.txt You are right. U+1D160 will produce U+1D158 U+1D165 and U+1D16E after NFC(and other three normalization methods). And all the libraries(including unicodedata in Python) are correct, at least for U+1D160 and other characters I have tested. Second, the stackoverflow post contains another link in which describes a similar(or worse) case: http://stackoverflow.com/questions/11176603/how-to-avoid-browsers-unicode-normalization-when-submitting-a-form-with-unicode . In this post, I knew that the normalization method performed in Chrome is NFC and it is a feature of webkit-based browsers. And the reason may be to follow the recommendation of W3C: http://www.w3.org/International/questions/qa-html-css-normalization . I'm shocked by both NFC, Chrome and W3C. especially the latter two. It will cause more problems in other browsers obviously. It is even harder and need more consideration than before to solve my problem. But I knew much more details now. Thanks a lot! ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk