Чому для смайлів червоного серця потрібні дві кодові точки, а для інших кольорових сердець - одна?


75

Схоже, що для смайлика червоного серця (❤️) "\ u2764 \ uFE0F" потрібні дві кодові точки Unicode, зокрема Heavy Black Heart, за яким слідує селектор варіацій . Однак синій 💙 , зелений 💚 , жовтий purple та фіолетовий 💜 мають кожен свою власну кодову точку .

Чому червоний так відрізняється?

Відповіді:


63

З історичних причин. Спочатку існував лише U + 2764 HEAVY BLACK HEART, який перші програми, що підтримували Emojis, вирішили зробити червоним серцем. Ці ранні програми завжди відображали U + 2764 як Emoji. Пізніше було зрозуміло, що це погана ідея, і селектори варіацій для Emojis були стандартизовані. Коли було додано додаткові серцеві смайлики, не було необхідності в іншому червоному серці, тому воно було опущено. Натомість є окремий смайлик із чорним серцем U + 1F5A4 🖤.

Теоретично, програма може вимагати, щоб селектор варіацій Emoji був доданий до інших точок коду серця. Але не має особливого сенсу надавати персонажам, як ФІОЛЕТОВЕ СЕРЦЕ, не-емодзі. Однак це робить різницю для ВАЖКОГО ЧЕРНОГО СЕРЦЯ, яке часто призначене для надання як оригінальний, звичайний важкий чорний серцевий персонаж.


Цілком впевнений, що інші кольори сердець - добре, більшість із них, тобто не чорне серце емодзі - були в першому раунді смайлів, але лише 2764 було визначено як інтерпретацію існуючого символу. (Ну, це правда, щонайменше уникати карткових мастей.)
Алан Х.

34

HEAVY BLACK HEART було додано в Unicode за десятки років до смайлів. Коли смайлики були включені в Unicode 6, деякі вже існуючі символи просто повторно використовувались як смайлики, щоб уникнути зайвих дублікатів. Пізніше були визначені варіаційні послідовності для символів, які також перетворюються на набір символів, що не є емодзі, щоб забезпечити кращий контроль над тим, як вони відображаються. Наприклад, U + 2744 ❄ SNOWFLAKE походить від Zapf Dingbats (я вважаю), але згодом його також зробили смайликом. Отже, якщо ви хочете примусити оригінальний дисплей у текстовому стилі, ви можете використовувати VARIATION SELECTOR-15 (в результаті ❄︎), а якщо ви хочете примусити новий дисплей у стилі емодзі, ви можете використовувати VARIATION SELECTOR-16 (в результаті ❄️).

Однак зверніть увагу, що на даний момент не так багато платформ насправді правильно підтримують ці послідовності варіацій. Також не всі з них автоматично застосовують селектори варіацій при використанні клавіатури смайлів. Теоретично ❤ та ❄ (та багато інших смайликів ) за замовчуванням повинні відображатись як стиль тексту без VS16, але багато програм також ігнорують це.

У мене є список усіх точок коду, які можуть відображатися по-різному за допомогою послідовності варіацій на моєму веб-сайті, якщо ви зацікавлені . Наступне оновлення Unicode в червні додасть ще кілька.


1
Примітка: Zapf Dingbats (шрифт) ≠ Dingbats (розділ Unicode)
Алан Х.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.