2017-04-07 113 views
0

我有一个SVG文件,我想将其转换为PNG,但在输出PNG中显示字体时出现问题。svg文件中的Phantomjs字体渲染问题

下面是SVG如何原来看起来Chrome浏览器:

enter image description here

下面是它的外观采用转换成PNG Phantomjs后:

enter image description here

任何想法,为什么把人伤文本?在Amazon Linux的AMI

Phantomjs v2.1的释放2017.03

编辑:

这里是(包括字体)的SVG: http://45.55.136.163/p/demo.svg

+1

提供SVG文件可能会帮助我们为您提供帮助。 –

+1

我建议你使用'电子'用于SVG或画布等图形元素。 –

回答

1

magnolia_sky字体集的度量在250个单位下行。看着这个“g”,它正在被剪切在这条线上。上升部分为750个单位,对应于“H”,“d”和“i”被剪切的位置。

PhantomJS似乎很难将每个字形剪切为由整个字体的垂直度量确定的框,而不是检查超出这些限制的字形。您可以在Fontforge中编辑指标作为解决方法。字距也没有被正确应用(或根本没有),这就是为什么字形没有按照设计者的意图连接在一起的原因。不管渲染器PhantomJS使用什么渲染器,只需对每个角色应用基本字形提升,而不需要进一步调整。