鉴于现在为某些代码点提供了文本和表情符号显示的选择器,这些代码点的适当分解形式是什么?例如,❤︎(U + 2764)默认为文本表示形式,但是如果后面跟随VS-16(U + fe0f),则可以成为表情符号:❤️。您可以使用VS-15(U + fe0e)强制进行文本表示。这是否意味着U + 2764的NFD应该变成U + 2764 U + fe0e?是否应该将U + 2764 U + fe0e和U + 2764视为相同(以相同的方式é(U + 00e9)与é(U + 0065 U + 0301))?文字和表情符号表示法怎么样?是否应该同样对待它们?

最佳答案

decomposition mapping中没有表情符号和变体选择器的Unicode database。标准even states:

变体序列中的初始字符绝不是规范可分解字符。

这意味着带有或不带有变化选择器的表情符号在NFD下不会更改。

而且,据我所知,Unicode没有指定没有变体选择器的代码点的默认表示形式。这取决于实现。

关于unicode - 正确的NFD表情符号形式和比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39596157/

10-13 07:01