1

出于 PDF 字体嵌入的目的,我的任务是从 CFF OpenType 文件中删除未使用字形的字形轮廓数据以减小其大小。

问题在于,与 TTF 不同,CFF 将其字形轮廓数据“压缩”到子例程中,并在字形之间创建依赖关系,我不能只从 cmap 和轮廓数据中删除字形及其匹配的字符。

由于有几个像 otfcc 这样的开源 CFF 库可以子程序化 CFF 文件,我想知道是否有库可以做相反的事情并撤消子程序化。

更新:我使用的库是 otfcc 和 sfntly。Sfntly 没有 CFF 解析器,所以我正在扩展一个,otfcc 确实有一个,但似乎没有子集选项,但源看起来更有希望。我还查看了 freetype,虽然它确实有 CFF 加载器,但似乎没有子集。

我目前已将 pdfbox 的 fontbox 从 Apache 移植到 sfntly 完成了一半。解析器工作,但子集仍然不完整。

4

1 回答 1

3

最后我最终使用了 AFDKO,我没有意识到它是开源的!它拥有从子集 CFF 到使用它制作 otf 字体的所有内容。

于 2017-06-29T00:32:15.760 回答