Анимированные растровые изображения (APNG) в шрифтах OTF
Стандарт формата шрифтов Open Type 1.7 официально поддерживает три типа цветных глифов, как это требуется для смайликов. По состоянию на конец 2016 года в версии 1.8 добавлена поддержка другого варианта. Поддержка платформы варьируется:
- От Microsoft /Mozilla,
COLR
/CPAL
таблицы используют стандартный Truetypeglyf
или постскриптумCFF
очертания. - Mozilla's/Adobe's / W3C's
SVG
Таблица использует SVG- контуры и CSS-переменные. - Google - х
CBDT
/CBLC
таблицы используют встроенные растровые изображения PNG. - Apple,
sbix
В таблице используются встроенные растровые изображения PNG, JPEG или TIFF (и PDF-файлы вне стандарта). Планируется поддержка масок и псевдонимов.
SVG
Таблица явно учитывает анимацию - с использованием CSS, JS, SMIL или встроенных файлов - но я не уверен, что это было реализовано где-либо еще:
Глиф рендеринга
Описания глифов SVG могут отображаться статически или с включенной анимацией.
Поддерживает ли какая-либо из реализаций на основе PNG анимацию с использованием APNG? Как насчет инструментов?
Сжатые цветные растровые изображения
Изображения для каждого отдельного символа хранятся в виде прямых данных PNG. В таких данных PNG допускаются только следующие фрагменты:
IHDR
,PLTE
,tRNS
,sRGB
,IDAT
, а такжеIEND
, Если присутствуют другие чанки, поведение не определено.
JFTR, APNG опирается на три дополнительных блока, которые изначально поддерживаются как OS X / macOS, так и iOS:
acTL
Управление анимациейfcTL
Frame ControlfdAT
Данные кадра
Так что, если я не ошибаюсь, APNG должны работать в sbix
дословно, но не в CBDT
,
1 ответ
Похоже, что APNG поддерживается только в Firefox и Safari, поэтому он будет таким же, когда используется в качестве шрифтовых символов.
Я полагаю, что вы уже учли это, но если GIF достаточно, лучшим вариантом будет OpenType SVG. Он имеет самую широкую поддержку, и вы можете встраивать растровые изображения в SVG: см. Глиф 0050 в этом тестовом шрифте.
Что касается не растровых анимаций в OpenType SVG, к сожалению, вы не можете использовать JavaScript-анимации, а с SMIL на выходе вы застряли с CSS-анимациями... которые в настоящее время не работают в Firefox и Edge