PhantomJS 字体字距调整问题

PhantomJS fonts kerning issue

某些字体的字母间距大多不对称 - 在某些情况下甚至根本没有间隙。 服务器是 "CentOS Linux release 7.0"(有一个较旧的服务器版本,这个版本提供了更好的结果,但仍然不是很好) phantomjs 版本是 1.9.8 我使用的 html 是

<p><span style="font-family:arial,helvetica,sans-serif;">10px</span></p>

<p><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size: 10px;">ABCDEFGHIJKMLNOPQRSTUVWXYZ</span></span></p>

<p><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size: 10px;">abcdefghijklmnopqrstuvwxyz</span></span></p>

<p>&nbsp;</p>

<p><span style="font-family:arial,helvetica,sans-serif;">12px</span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:12px;">ABCDEFGHIJKMLNOPQRSTUVWXYZ</span></span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:12px;">abcdefghijklmnopqrstuvwxyz</span></span></p>

<p style="line-height: 20.7999992370605px;">&nbsp;</p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;">14px</span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:14px;">ABCDEFGHIJKMLNOPQRSTUVWXYZ</span></span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:14px;">abcdefghijklmnopqrstuvwxyz</span></span></p>

<p style="line-height: 20.7999992370605px;">&nbsp;</p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;">16px</span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:16px;">ABCDEFGHIJKMLNOPQRSTUVWXYZ</span></span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:16px;">abcdefghijklmnopqrstuvwxyz</span></span></p>

<p style="line-height: 20.7999992370605px;">&nbsp;</p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;">18px</span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:18px;">ABCDEFGHIJKMLNOPQRSTUVWXYZ</span></span></p>

<p style="line-height: 20.7999992370605px;"><span style="font-family:arial,helvetica,sans-serif;"><span style="font-size:18px;">abcdefghijklmnopqrstuvwxyz</span></span></p>

我尝试在服务器上以多种格式手动安装不同的字体 - 没有帮助。 svg 格式是不可接受的,因为它可以复制粘贴并且文件太大。

爱丽儿有亮点

没有亮点的爱丽儿

无亮点次数

我有什么选择?

谢谢。

通过以下方式解决

  1. 从机器上的源代码编译 phantomjs 2.0.0(稳定版)
  2. 已将字体从 ubuntu -> /etc/fonts 复制到 /etc/fonts

我发现的最佳解决方案是使用 SVG 字体进行 PDF 呈现。这消除了我所有的字母间距(aka kerning)问题。