根据表情符号的要求,Open Type font format standard 1.7正式支持三个types of colored glyphs。截至2016年底,version 1.8已添加对another variant的支持。 Platform support varies:
COLR
/ CPAL
表使用标准Truetype glyf
或Postscript CFF
大纲。SVG
表使用SVG轮廓和CSS变量。 CBDT
/ CBLC
表使用嵌入式PNG位图。 sbix
表使用嵌入的PNG,JPEG或TIFF位图(以及标准之外的PDF)。 Support for masks and aliases已计划好了。 SVG
表明确考虑动画 - 使用CSS,JS,SMIL或嵌入文件 - 但我不确定它是否已在任何地方实现:
Glyph Rendering
可以静态渲染SVG字形描述或启用动画。
使用APNG是否有任何基于PNG的实现支持动画?工具怎么样?
Compressed Color Bitmaps
每个字形的图像都存储为直接PNG数据。此类PNG数据中仅允许以下块:
IHDR
,PLTE
,tRNS
,sRGB
,IDAT
和IEND
。如果存在其他块,则行为未定义。
JFTR,APNG依赖于OS X / macOS和iOS本身支持的三个额外块:
acTL
动画控制 fcTL
帧控制 fdAT
框架数据 所以,如果我没有弄错的话,APNG应该sbix
逐字地工作,而不是CBDT
。
答案 0 :(得分:1)
在Firefox and Safari only中似乎支持APNG,因此在用作字体字形时,它们将是相同的。
我认为你已经考虑过了,但如果GIF足够,你最好的选择是OpenType SVG。它具有最广泛的支持,您可以在SVG中嵌入位图图像:请参阅this test font中的字形0050。
关于OpenType SVG中的非位图动画,遗憾的是你不能使用JavaScript动画,而SMIL在你走出困境的时候就陷入了CSS动画......当前不能使用它们在Firefox和Edge中