是否有用于子集化OpenType PS(CFF)字体的库?

时间:2013-08-21 07:42:05

标签: fonts subset postscript opentype

是否有用于对OpenType PS(CFF)字体进行子集化的C / C ++库(最好是开源)? FontForge 可以参考,但我发现very negative comments关于它的稳定性。

2 个答案:

答案 0 :(得分:1)

Windows API包含一个Font Embedding Services Library我相信它会在准备嵌入文档的字体时执行子集化。特别参见CreateFontPackage function。 Windows API可以从C / C ++中调用。当然,它的实现不是开源的。

Adobe Font Development Kit for Opentype (AFDKO)拥有可让您执行各种操作的库。也许它可以做你想要的那种子集化。它的库最常用Python语言调用,但是可以为Python库构建C / C ++绑定,反之亦然。 AFDKO有一个最终用户许可协议,据我所知是专有但不繁琐的。你应该自己判断。

我没有使用这些API中的任何一个用于子集化字体,我只是通过声誉来了解它们。

答案 1 :(得分:-1)

不幸的是,我认为你找不到一个。

我试图在互联网上找到你想要的lib,但是失败了。似乎没有开源库可以做到这一点,虽然有十几个lib可以枚举TrueType字体......

最后,我自己做了。因为代码归我所工作的公司所有,所以我无法给你代码。

如果你想实现它,我认为阅读"紧凑字体格式规范"(" Adob​​e技术说明#5176")和" Type 2 Charstring Format"(" Adob​​e Technical Note#5177")。 MicroSoft的页面https://www.microsoft.com/typography/otspec/otff.htm也很有帮助。要做的主要事情是从OpenType文件的CFF读取数据,并将要保留的数据重写到新文件中。

祝你好运!