看来红心表情符号(❤️)" \ u2764 \ uFE0F"需要两个Unicode代码点,特别是Heavy Black Heart后跟Variation Selector。但是,blue ,green ,yellow 和purple 都有自己的单一代码点。
为什么红色如此不同?
答案 0 :(得分:60)
由于历史原因。最初,只有U + 2764 HEAVY BLACK HEART,支持Emojis的第一批应用程序决定渲染为红心。这些早期应用程序总是将U + 2764渲染为表情符号。后来人们意识到这是一个坏主意,Emojis的变异选择器是标准化的。当添加额外的心脏表情符号时,不需要另一颗红心,因此省略了它。相反,它是一个单独的黑心表情符号U + 1F5A4。
理论上,应用程序可能要求表情符号变异选择器也附加到其他心脏代码点。但是将像PURPLE HEART这样的角色渲染为非表情符号并没有多大意义。然而,它确实对重型黑心有所不同,它常常被渲染为原始的,沉重的黑色心脏角色。
答案 1 :(得分:28)
但请注意,目前并没有多少平台能够正确支持这些变体序列。使用表情符号键盘时,并非所有这些都会自动应用变体选择器。理论上,❤和❄(以及many other emoji)默认情况下应显示为文本样式而不使用VS16,但许多应用程序也会忽略它。
I have a list of all code points that can display differently via a variation sequence, on my website, if you're interested。 6月的下一次Unicode更新将增加更多。