我使用Apache Batik rasterizer(Ubuntu上的Java,Oracle JRE 7)将SVG转换为PDF。该SVG包含文本和TTF字体的引用,效果很好,但字体Diehl Deco预期不会呈现:为什么Apache Batik Rasterizer渲染TrueType字体不正确?
预计:
错误:
由于您可以看到“R”流入“A”,因此字距无法正确解释,因为字体本身包含此信息(thx来自@Jongware的评论): R A -> -660
,T E -> -61
可能的解决方案:
1)我想如果我们能够交换的字体渲染蜡染使用的FreeType它可以工作,因为它在我的自由报办公室作家,其采用的FreeType正确呈现的引擎。
2)我可以将ttf字体转换为SVG字体,在SVG转换为PDF光栅化的情况下可以更好地工作。但到目前为止,我还没有成功。
3)如果有任何工具支持,我可以将SVG内的字体转换为路径。
任何意见或其他解决方案,非常欢迎!谢谢!
很可能是因为Ubuntu的字体渲染器不支持字体的某些* features *。我不完全确定这些功能是正式调用的,但是您所看到的是有条件的字距调整,其中一些字母组合可以不同地改变。 – deceze
看起来它会让字距完全错误,大概是因为无论您使用的文本渲染引擎如何解析和显示OpenType字体都没有完全理解。找出您正在使用的文本引擎,并将其更改为更好的内容。 –
Thx们,ubuntu 14确实使用了freetype 2,这与osx使用afaik是一样的。 –