2

自从更新到 OpenSuse 12.2 我不能再使用 phantomjs(从 1.5 更新到 1.8.1 64 位版本)来创建屏幕截图。问题是缺少对 serif/sansserif 字体的字体支持。仅使用类似 courier/monospace 的字体。

此外,phantomjs 的渲染速度真的很慢(5 秒以上--> 已解决)。

我尝试安装 google-droid-fonts、free-ttf-fonts、bitstream-vera-fonts、freetype、font-config 等软件包——但唯一的结果是使用了其他一些难看的字体。

有谁知道如何配置 OpenSuse 12.2 以启用一些可用的字体(如 googles droid 字体)作为 phantomjs 的后备?还是我错过了安装重要的字体渲染库(渲染缓慢)?

更新

  • 从源头构建解决了性能问题
  • 安装“Arial”等 Microsoft Core 字体并没有帮助
  • "fc-match" 返回正确的结果
  • “strace -e open”显示,phantomjs 可以访问 /etc/fonts 下的配置

更新 2

  • 问题似乎起源于我项目的 CSS。尝试不同的站点,大多数都很好。
  • 经过测试的 PhantomJS 1.9 版本具有相同的结果
  • 重现错误的公共 URL:http ://www.berlin.de/kennedy/
4

2 回答 2

4

我有一个类似的问题,安装 urw-fonts 包为我解决了它。

在我的情况下,根本没有渲染字体,所以这可能不是你的解决方案,但值得一试:

yum 安装 urw-fonts

于 2013-04-16T09:25:24.590 回答
1

一些主要的 CSS 重写解决了这个问题,包括 Twitter Bootstrap 的更新。在某种程度上,一些 CSS 规则干扰了正确的渲染。

对于较新的操作系统版本,我也无法重现该错误。

于 2014-07-07T08:06:21.613 回答