2017-04-22 298 views
-1

全部pdf格式使用CIDFont

我正在为一种不太受欢迎的新语言编程pdf生成库。我已经完成了一些功能,包括文本输出和图像嵌入,但它只支持标准的14种字体。

我现在给它添加了大字符集支持,这意味着我必须使用除标准14字体以外的其他字体。在我看来,utf-8编码的字符可以被pdf正确识别,并且通过CIDFont CMap,它可以找到字符的字形并绘制它。

我查阅了一些关于此的文档,发现最好的方法是将字体嵌入到pdf文档中,包括标准的14种字体。

因为大字符集是一个非常大的集合,所以我认为我可以使用CharSet和CIDSet来解析它的一个子集。

我用的语言包装了JUCE,因为它是内核,我可以用它来操作字体。所以我认为我可以正常获取字体的字形。

但是作为一个跨平台(桌面操作系统和移动操作系统),JUCE不支持字体的更多信息,例如领先的,stemV,ItalicAngle,帽高等等,即使我不知道类型的字体(Type1,TrueType,OpenType或其他)。所以我不知道它是否可以用于pdf生成?

如果不行,那么我必须手动解析外部type1(ccf?)或ttf(ttc)字体文件?那么我将大员工(大约2MB)嵌入pdf?

如果可以,那么怎么做呢?我如何使用字符符号来生成嵌入字体流?并使用自定义CMap来找到它们?

另一个问题是我应该使用什么编码?我使用utf-8作为字符串编码,我不知道它是否可以用于CIDFont。

该代码位于:a pdf library for 8th

谢谢。

回答

0

您无疑需要自己解析字体,或者找到一个模块来完成它。在节点中做到这一点的模块的示例包括fontkit,ttfjsopentype。这里有太多的细节可以给出完整的答案,但是你应该能够从这些模块中得出答案。

+0

感谢您的回复。 –