全部
我正在为一种不太流行的新语言编写一个 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。
谢谢。