关于iPhone:Apple Color Emoji字体如何工作?是否有Android版本?

How does the Apple color emoji font work, and is there an Android version?

我看到在iPhone上有一种叫做Apple Color Emoji的真型字体。它包含可在任何应用程序中使用的iPhone上的表情符号。

我想知道:

  • 该字体如何以多色显示? Truetype字体只能包含黑白字形。
  • 这种字体或类似字体可以在Android手机上使用吗?

  • Apple正在使用OpenType标准的专有扩展。基本上,它们只是将预先栅格化的彩色PNG存储在TTF文件中的专有扩展名"块"中(参考,确证)。

    起作用的唯一原因是因为它们还提供了该字体扩展名和屏幕之间的完整堆栈(字体光栅化,系统图形库,文本呈现小部件)。在所有平台/库中都没有标准化的方法来完成此任务。


  • 字体使用嵌入式PNG,它们存储在sbix表中。
  • Apple Color Emoji不能在Android中使用,但是可以使用Google CBLC / CBDT格式的字体。
  • 现在有四种方法可以在Open Type字体中实现颜色:

    • 苹果的SBIX-嵌入式PNG
    • Google的CBLC CBDT-嵌入式PNG
    • 微软的COLR CPAL-彩色字形
    • Adobe / Mozilla / W3C的SVG CPAL-OpenType中的SVG

    OpenType表的完整列表。

    您可以使用FontTools(pypi,github)中的ttx拆卸/重新组装字体,以获取更多详细信息。