Модификаторы Emoji & amp; ZWJ-последовательности с использованием Harfbuzz & amp; Фритип в яблочном цвете эмодзи

Я использую Freetype 1.9.1 и Harfbuzz 1.7.6 для рендеринга текста, возможно, включая эмодзи, однако я не знаю, как правильно отрисовывать модификаторы эмодзи и последовательности ZWJ из Apple Color Emoji (sbix цветной шрифт).

Я также попробовал Noto Color Emoji (CBDT / CBLC цветной шрифт), который работает как положено, и Segoe UI Emoji (COLR / CPAL цветной шрифт), который делает черный & белые символы, однако кажется, что поддержка COLR / CPAL просто разрабатывается в Freetype и, следовательно, не проблема для меня.

У кого-нибудь есть какие-нибудь советы по поводу того, на что обратить внимание с помощью шрифта sbix? Типы кластеров? Флаги Харфбуза …?

Ожидаемое поведение

Яблочный цвет эмодзи — не ок

Noto Color Emoji — ОК

1

Решение

HarfBuzz постепенно улучшал поддержку различных последовательностей и теперь можно использовать разные модификаторы и последовательности Emoji.

В дополнение к этому, в v2.1.0 добавлена ​​поддержка всех доступных форматов файлов Emoji с простым и лаконичным API, https://github.com/harfbuzz/harfbuzz/blob/master/src/hb-ot-color.h конечно, рендеринг частей по-прежнему будет зависеть от вас, но вам не придется иметь дело со структурами шрифтов, по крайней мере, с учетом простого в использовании API, который https://github.com/harfbuzz/harfbuzz/blob/master/src/test-ot-color.cc также хороший пример того, как использовать API.

1

Другие решения

Я довольно новичок в формировании текста, но мне удалось, используя Harfbuzz и Cairo для отображения смайликов (с модификаторами и ZWJ) в окне SDL2.

GitHub Repository.

введите описание изображения здесь

Исходя из того, что вы сказали, основное отличие состоит в том, что я использовал версию 1.8.2 HarfBuzz.

0

По вопросам рекламы [email protected]