Эффективны ли кроссплатформенные шрифты PNG-in-OTF?
Самая последняя версия формата шрифта Opentype (1.8 по состоянию на конец 2016 года) стандартизирует две разные таблицы для встраивания растровых данных PNG: Google's CBDT
(вместе с CBLC
) и Apple sbix
, Кроме того, SVG в Mozilla SVG
В таблицу также можно вставлять или ссылаться на PNG.
Можно ли встраивать фрагменты PNG один раз и использовать их как минимум в двух таблицах для создания кросс-платформенных файлов шрифтов Emoji, которые не больше необходимого?
Дополнительный вопрос: можно ли повторно использовать фрагменты PNG для нескольких глифов, например, индексированных цветовых палитр?
PS: я знаю, что операционные системы Apple переопределяют смайлики на шрифты с именем PS AppleColorEmoji
,
1 ответ
Вы не можете обмениваться изображениями между таблицами, например, использовать изображения PNG в sbix
стол в cbdt
Таблица. Но если вы используете точно такие же файлы изображений, они могут быть "дедуплицированы" в сжатом WOFF.
Странно то, что спецификация CBDT/CBLC гласит: glyf
таблица не должна присутствовать, в то время как другие форматы требуют этого. Так что вы не можете поставить cbdt
рядом с sbix
или же svg
таблица в шрифте. Но вы можете объединить последние два, чтобы получить относительно хорошую поддержку для Windows и OSX.