我遇到了通过fop渲染到pdf的svg中呈现truetype字体的问题。
在最终的pdf中,字体是Times New Roman而不是我预期的truetype字体。
该文档的主要字体系列使用的是Type 1字体,并且还使用了我生成的字体指标,这些字体指标正确显示。我认为字体的truetype版本过去只是为图表添加了。
奇怪的是,这是在一个阶段工作,似乎已停止工作,我现在无法让它恢复工作,因为我不明白它将如何起作用。为了尝试让它恢复工作,我经历了Java 6,Java 5和FOP 0.95和0.93的不同组合以及最新的FOP主干都没有成功。即使在fop生成中启用完全跟踪,我也没有看到用Times New Roman替换字体,但我认为这是因为Batik对此渲染负责。
我运行了一些示例Java代码,AWT正确地看到了TrueType字体,我相信这是Batik正在使用的。
我也尝试在fop.xconf文件中使用font-substitions,但这似乎没有效果。在fop.xconf中,我只定义了Type 1字体和另一个True Type Font Zapfdingbats,它们在pdf中正确处理。我是否还应该在这里添加其他truetype字体,但检查我们的版本历史记录,它似乎过去没有。
我在这里有什么遗漏,因为我认为蜡染会采用windows ttf字体并渲染它,但这似乎不起作用。任何帮助将不胜感激。 谢谢, 喝醉
答案 0 :(得分:5)
查看FOP用户邮件列表中的以下答案:
因此,为了使这项工作,您应该执行以下操作: