【问题标题】:Phantomjs not render hebrew fontsPhantomjs 不呈现希伯来字体
【发布时间】:2014-05-21 10:43:45
【问题描述】:

我在 Centos 6.3 上使用 PhantomJs 1.9.2 来进行自动化 ui 测试。当测试失败时, 截图保存到服务器。

我的问题是,即使保存了屏幕截图,它们也不包含可读字体。

所以如果网站是这样的:

无名氏

网站截图如下:

םםםםםםםםםםםםם

因此,它不是实际的字母,而是渲染和保存小盒子。

系统是centos 6.3。 Freetype 和 Fontconfig 也已安装。

我该如何解决这个问题?

谢谢!

【问题讨论】:

  • 您将屏幕截图保存为 pdf 还是 png?您是否尝试过将幻像更新(编译)到 1.9.7?
  • 我正在以 jpeg 格式保存屏幕截图,并以任何语言在我的本地计算机上截取完美的屏幕截图。但在服务器上它只呈现英文字体。
  • 我们更新了phantomjs。现在它的版本是 1.9.7 。但是字体仍然像盒子一样出现

标签: phantomjs


【解决方案1】:

按照以下步骤操作:

在 /usr/share/fonts/ 我添加了一个名为 arial 的文件夹,其中 arial.ttf 用于希伯来语 我跑了 fc-cache -vf。 就是这样!我没有编辑或更改 fonts.conf,也没有按照链接中的建议进行任何其他操作。

【讨论】:

    【解决方案2】:

    您应该使用 python 代码来截取网站的屏幕截图。有两个模块可以做任何你想做的事情 pyvirtualdisplayselenium。安装它们并编写一个类来创建屏幕截图并使用您的代码使用命令行调用它。 祝你好运...

    【讨论】:

      【解决方案3】:

      我最近不得不自己解决同样的问题。我最终做了this answer 中的建议。嗯,有点。我跳过了一些步骤:

      1. /usr/share/fonts/ 中,我添加了一个名为arial 的文件夹,其中arial.ttf 用于希伯来语
      2. 我跑了fc-cache -vf
      3. 就是这样!我没有编辑或更改fonts.conf,也没有按照链接中的建议进行任何其他操作。

      当然,我仍然在页面的某些部分遇到了一些问题(我猜这是因为他们使用了 arial 以外的字体),但最终我不需要它们。希望这对你也足够好!

      【讨论】:

      • 如何在服务器上安装 arial.ttf 字体?你能和我分享你的命令吗?
      • @user3660402 我只是在某个地方找到它,我没有安装它。要么locate它,要么......你知道,只是download it
      • 太棒了,一年后,它对我帮助很大。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2012-07-28
      • 2012-04-03
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多