在Phantomjs 1.7/1.8/1.9中只有Courier-Fonts,也许是CSS特有的。[英] Only Courier-Fonts with Phantomjs 1.7/1.8/1.9, perhaps CSS specific

问题描述

自从更新到 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 的后备?还是我错过了安装一个重要的 font-render-lib(渲染慢)?

更新

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

更新 2

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

推荐答案

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

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

本文地址:https://www.itbaoku.cn/post/1739981.html