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

Reply via email to