Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

It appears that the red heart emoji (❤️) "\u2764\uFE0F" requires two Unicode codepoints, specifically Heavy Black Heart followed by a Variation Selector. However, blue 💙, green 💚, yellow 💛, and purple 💜 each have their own single codepoint.

Why is red so different?

like image 544
Newtang Avatar asked Mar 08 '17 19:03

Newtang


People also ask

What is the difference between the 2 red heart emojis?

The main difference in appearance relates to whether the elaborated hearts are shown in pink, or red. There's also design choices where some platforms show ❤️ Red Heart with a gloss and ♥️ Heart Suit as a matte heart, while others show every emoji in matte.

Why are there so many different colored heart emojis?

Each color heart means something different. For example, the yellow heart is for friendship, the red heart is for true and long-lasting love, and the purple heart means physical attraction. A green heart is for nature and St Patrick's Day, while the black heart emoji stands for sadness or a dark sense of humor.

What does this emoji ❤ mean?

The red heart emoji is used in warm emotional contexts. It can be used to express gratitude, love, happiness, hope, or even flirtatiousness.

What does 💕 mean in texting?

The two hearts emoji is used frequently in text messages relating to love. While it is a symbol of romantic love, it can also be used to show affection for other close relationships, such as with family and friends (e.g., I 💕 to the moon and back).


2 Answers

For historical reasons. Originally, there was only U+2764 HEAVY BLACK HEART which the first applications that supported Emojis decided to render as a red heart. These early applications always rendered U+2764 as Emoji. Later it was realized that this was a bad idea and the variation selectors for Emojis were standardized. When additional heart emojis were added, there was no need for another red heart, so it was omitted. Instead there's a separate black heart emoji U+1F5A4 🖤.

In theory, an application could require that the Emoji variation selector is appended to other heart code points as well. But it doesn't make much sense to render characters like PURPLE HEART as a non-Emoji. It does make a difference for HEAVY BLACK HEART, though, which is often intended to be rendered as the original, plain heavy black heart character.

like image 108
nwellnhof Avatar answered Sep 28 '22 04:09

nwellnhof


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

Note, however, that not many platforms actually support those variation sequences correctly at the moment. Also not all of them automatically apply the variation selectors when using the emoji keyboard. In theory ❤ and ❄ (and many other emoji) should display as text style by default without VS16, but many applications ignore that as well.

I have a list of all code points that can display differently via a variation sequence, on my website, if you're interested. The next Unicode update in June is going to add some more.

like image 29
CharlotteBuff Avatar answered Sep 28 '22 04:09

CharlotteBuff