Как работает цветной эмулятор Apple, и есть ли версия для Android?

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

Интересно:

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

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

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

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

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

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

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

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