Why does a red heart emoji require two code points, but other colored hearts require one?

It looks like the red heart emoji (❤️) "\ u2764 \ uFE0F" requires two unicode code points, in particular the Heavy Black Heart , followed by a Select variation . However, blue 💙 , green 💚 , yellow 💛 , and purple 💜 each have their own single code.

Why is red color different?

+61
unicode emoji
Mar 08 '17 at 19:00
source share
2 answers

For historical reasons. Initially, there was only U + 2764 HEAVY BLACK HEART, which the first applications that supported Emojis decided to display like a red heart. These early applications always displayed U + 2764 as Emoji. It later turned out that this was a bad idea, and the variation selectors for Emojis were standardized. When additional emotions of the heart were added, there was no need for another red heart, so it was omitted. Instead, there is a separate black heart emoji U + 1F5A4 🖤.

Theoretically, an application might require that the Emoji variation selector be added to other points in the heart code. But it doesn't make sense to portray characters like PURPLE HEART as non-Emoji. It really matters for a HEAVY BLACK HEART, although it is usually intended to be visualized as an original, simple, heavy black heart.

+51
Mar 08 '17 at 19:45
source share

A HEAVY BLACK HEART was added to Unicode decades before emoji. When emoji was included in Unicode 6, some pre-existing characters were simply reused as emoji to avoid unnecessary duplicates. Later, variation sequences were defined for characters that were also displayed in a character set other than emoji, to provide better control over how they are displayed. For example, U + 2744 ❄ SNOWFLAKE was originally from Zapf Dingbats (I believe), but emoji was later made. Therefore, if you want to force display the original text style, you can use VARIATION SELECTOR-15 (resulting in ❄︎), and if you want to force display the new style in emoji, you can use VARIATION SELECTOR-16 (resulting in ❄️) .

Note, however, that not many platforms actually support these variational sequences correctly at the moment. In addition, not all of them automatically apply variation selectors when using the emoji keyboard. Theoretically, ❤ and ❄ (and many other emotions ) should appear as the default text style without VS16, but many applications also ignore this.

I have a list of all code points that can be displayed differently using the variation sequence on my website, if you're interested . The next Unicode update in June will add some more.

+23
Mar 09 '17 at 19:09
source share



All Articles