Подтвердить что ты не робот

Как работает цвет Apple emoji, и есть ли версия для Android?

Я видел, что на iPhone есть шрифт TrueType под названием Apple Color Emoji. Он содержит смайлики, которые существуют на iPhone, которые могут использоваться в любом приложении.

Интересно:

  • Как этот шрифт отображается многоцветным?! Шрифты Truetype могут включать только черные и белые глифы.
  • Может ли этот шрифт или его использовать на телефонах Android?
4b9b3361

Ответ 1

Apple использует проприетарное расширение стандарта OpenType. В основном, они просто хранят предварительно растрированные цветные PNG в запатентованном "блоке" расширения в TTF файле (ссылка, подтверждение).

Единственная причина, по которой это работает, заключается в том, что они также обеспечивают полный стек между этим расширением шрифта и экраном (растеризация шрифтов, библиотека системной графики, виджеты для визуализации текста). Нет стандартизированного способа выполнить это во всех платформах/библиотеках.

Ответ 2

  • Шрифт использует встроенные PNG и хранится в таблице sbix.
  • Apple Color Emoji не может использоваться в Android, но может быть использован шрифт формата CBLC/CBDT Google.

В настоящее время существует четыре метода реализации цвета шрифтов Open Type:

  • Apple SBIX - Встроенные PNG
  • Google CBLC + CBDT - Встроенные PNG
  • Microsoft COLR + CPAL - Цветные глифы
  • Adobe/Mozilla/W3C SVG + CPAL - SVG в OpenType

Полный список таблиц OpenType.

Вы можете разобрать/собрать шрифт с помощью ttx из FontTools (pypi, github) для более подробной информации.