跳转到主要内容

字体文件里的「嵌入权限」

适合谁看:做 PDF、电子书、网页或 App,想知道字体文件自带的嵌入标记是什么意思的设计师和开发者。

字体文件里有一个权限字段

OpenType 和 TrueType 字体的 OS/2 表里有一个叫 fsType 的字段,由字体厂商填写,告诉软件「这款字能不能被嵌入文档、嵌入后能做什么」[1]。Adobe 的软件导出 PDF 时、Office 嵌入字体时,都会读这个字段。

几种取值

值 名称 意思
0 可安装嵌入(Installable) 可以嵌入,接收方还可以把字体装到系统里
2 受限许可嵌入(Restricted License) 未经厂商许可不能嵌入
4 预览和打印(Preview & Print) 可以嵌入,接收方只能看和打印,不能编辑文档
8 可编辑嵌入(Editable) 可以嵌入,接收方可以编辑文档

另外还有两个附加位:

  • 0x0100:不许拆子集,嵌入时必须嵌入整个字体;
  • 0x0200:只许嵌入位图,不能嵌入轮廓。

按规范,从 OS/2 表第 3 版起,上表的几种取值只能选其一。

它和许可的关系

fsType 是给软件看的技术标记,不等于许可本身:

  • 标记写着「可安装」,许可里却禁止嵌入的,以许可为准;
  • 开源字体偶尔会出现标记比许可更严的情况。OFL 本身允许把字体整体或子集嵌入文档(OFL-FAQ 1.12),这时以许可为准,但有的软件仍会按标记拒绝嵌入,可以联系作者修正;可以联系作者修正[2];
  • 不要用工具改掉商业字体的 fsType 来绕过限制,这可能违反许可。

怎么查看

  • macOS 字体册:选中字体,查看信息里的「嵌入」项;
  • Windows:字体文件属性里的详细信息;
  • 命令行:用 fontTools 查看,ttx -t OS/2 字体文件.ttf,在输出里找 fsType。

工具的介绍见《fontTools 入门:查看、修改、转格式》。

参考资料

参考资料(2)
    1. Microsoft OpenType 规范:OS/2 表 fsType:https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fstypefsType,Microsoft
    2. OFL-FAQFAQ:SIL 1.12(开放字体许可证常见问题(英文):https://openfontlicense.org/ofl-faq/,SIL International