OpenType字体规范解析(四)CFF表

OpenType字体规范解析(四)CFF表

我们在设计中经常需要使用字体文件,有时候会想一窥究竟字体文件到底是以怎样的格式存储的,OpenType就是定义字体文件存储格式的规范。

这篇文章主要介绍了CFF表的格式规范。

CFF表存储了字形轮廓和一系列与渲染相关的数据,是OpenType规范中很重要的一个表。

CFF表的详细规范参见https://learn.microsoft.com/en-us/typography/opentype/spec/cff

CFF表结构

内容 描述
Header CFF 表的头部,包含版本号、头部大小和偏移等基本信息。
Name INDEX 列出字体的名称信息,存储一个或多个字体名称。
Top DICT INDEX 包含字体的全局字典信息,描述字体的顶层属性,例如字体名、字体类型、字符集编码等。可以包括指向其他数据(如 Private DICT 和 Subroutine)的指针。
String INDEX 存储字体所使用的字符串,主要是自定义的字符串信息,例如字体名称和版权声明,减少重复字符串的存储占用。
Global Subr INDEX 定义全局子程序(Subroutine)集合,使用的是 PostScript 的子程序调用机制,便于共享和复用字形的矢量操作数据,减少字形数据的冗余。
Encodings 定义字符编码方式,描述字符 ID(CID)到字形索引的映射。支持标准编码、自定义编码或多种编码格式。
Charsets 定义字符集,指定字符顺序和每个字符对应的字形名称(glyph name),用于支持复杂的字符系统。
FDSelect 用于 CID-keyed 字体,映射每个字符到特定的 Font DICT(字体字典),以支持多字体描述,例如变体或多字形字体的选择。
CharStrings INDEX 包含实际的字形描述信息,每个字形由 PostScript 的字形描述语言(CharStrings)定义,描述字符的轮廓和矢量操作。
Font DICT INDEX 仅用于 CID-keyed 字体,包含多个字体字典,每个字典定义一个字体变体或相关的字体属性。
Private DICT INDEX 存储与字体私有数据相关的字典,包括字体设计参数、字距调整(kerning)信息和对 Local Subr 的引用。
Local Subr INDEX 定义局部子程序(Local Subroutine),与 Global Subr 类似,但仅供特定字体或字符集的字形使用,进一步减少重复数据,优化空间利用。
Copyright and Trademark Notices 包含字体版权、商标声明等法律信息,通常在 String INDEX 中存储相关字符串并在其他表中引用。

DICT

在CFF表中,DICT用于保存字体的各种属性和参数。DIC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值