iOS CFStringTransform and Đ

情到浓时终转凉″ 提交于 2019-11-29 16:15:44

I am not 100% sure, but I think it can be seen from the Unicode Data Base http://www.unicode.org/Public/6.2.0/ucd/UnicodeData.txt.

For example, the entry for "à" is

00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0

where field #6 is the "Decomposition mapping" into "a" + U+0300 (COMBINING GRAVE ACCENT), therefore

CFStringTransform(..., kCFStringTransformStripCombiningMarks, ...)

transforms "à" into "a".

The entries for "Đ" and "đ" are

0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111;
0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110

where field #6 is empty, so these characters do not have a decomposition into a "base character" and a "combining mark".

So the question remains: Which standard determines that a "normalized form" of "đ / Đ" is "d / D"?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!