我使用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是一樣的。 –