缺少phantomjs屏幕截图字体,而是渲染框
我正在Centos 6.3上使用PhantomJs 1.8.1进行自动化ui测试。当测试失败时,屏幕截图会保存到文件系统中 我的问题是,即使保存了屏幕截图,它们也不包含可读的字体 因此,如果网站的内容如下:缺少phantomjs屏幕截图字体,而是渲染框,phantomjs,Phantomjs,我正在Centos 6.3上使用PhantomJs 1.8.1进行自动化ui测试。当测试失败时,屏幕截图会保存到文件系统中 我的问题是,即使保存了屏幕截图,它们也不包含可读的字体 因此,如果网站的内容如下: <style type="text/css"> @font-face { font-family:MyFont; src: url('MyFont.ttf') format('truetype'); } #barcodefont { font-famil
<style type="text/css">
@font-face
{
font-family:MyFont;
src: url('MyFont.ttf') format('truetype');
}
#barcodefont
{
font-family:MyFont;
font-size: 42px;
color:black;
}
</style>
你好,世界
该站点的屏幕截图如下所示:
因此,它渲染并保存小方框,而不是实际的字母
该系统是centos 6.3。
还安装了Freetype和Fontconfig
我怎样才能着手解决这个问题呢
谢谢 我也有同样的问题 安装urw字体软件包为我解决了这个问题: yum安装urw字体
我对日文字体也有类似的问题。(PhantomJS 1.9.1,亚马逊EC2上的Redhat) 英文字符显示得很好,但日文字符显示为方框 我是如何修复的: 1) 使用
yum-install
安装(日语)IPA字体(Mincho和哥特式)
(使用yum-list
检查确切的软件包名称。)
2) IPA.ttf
文件已安装到:
/usr/share/font/IPA-Gothic/
/usr/share/font/IPA Mincho/
.ttf
文件移动到此目录:(创建它)
/usr/share/font/ipa/
/etc/fonts/fonts.conf
5) 编辑原始的/etc/fonts/fonts.conf
,并用以下内容填充:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts/ipa</dir>
<cachedir>/var/cache/fontconfig</cachedir>
<cachedir>~/.fontconfig</cachedir>
<alias>
<family>serif</family>
<prefer>
<family>IPAP Mincho</family>
</prefer>
</alias>
<alias>
<family>sans serif</family>
<prefer>
<family>IPAP Gothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>IPA Gothic</family>
</prefer>
</alias>
</fontconfig>
/usr/share/fonts/ipa
/var/cache/fontconfig
~/.fontconfig
衬线
伊帕普明乔
无衬线
伊帕普哥特式
单空间
伊帕哥特式
6) 使用fc cache-vf刷新字体缓存
7) 享受你的新工作字体
格查斯:
- 如果您没有字符(空白),则您的字体缓存可能已过期。
尝试
fc cache-vf
重新生成它
- 在1.9.1版本中,对日语/汉语/韩语字符进行了修复。不确定它是否会有所不同,但可能值得从1.9.0升级
您也可以尝试安装依赖项-FontConfig和FreeType
yum install fontconfig
yum install freetype*
我在AmazonEC2上也有同样的问题
我通过以下方式解决它:
yum install cjkuni-ukai-fonts
对于中文字体,我通过以下步骤解决:
sudo apt-get install language-pack-zh-hans
sudo apt-get install ttf-arphic-uming
sudo apt-get install ttf-dejavu ttf-wqy-microhei
sudo fc-cache -f -v
操作系统是Ubuntu 12.04 LTS您可以使用命令行参数运行脚本:
phanthomjs --output-encoding=cp866 [params] [filename]
我在使用阿拉伯语字体时也遇到了同样的问题。这就是我所做的
yum groupinstall 'Arabic Support'.
安装阿拉伯语支持为我解决了这个问题。用中文试试这个
yum install bitmap-fonts bitmap-fonts-cjk
不要使用/etc/fonts/fonts.conf文件。上面的例子是只让日本人工作
yum安装-y ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch cjkuni-ukai-fonts.noarch位图字体位图字体cjk urw字体fontconfig freetype*
yum groupinstall-y“韩语支持”“中文支持”“日语支持”“卡纳达语支持”“印地语支持”“阿拉伯语支持”
fc cache-vf将样式部分添加到HTML部分,如下所示:
<style type="text/css">
@font-face
{
font-family:MyFont;
src: url('MyFont.ttf') format('truetype');
}
#barcodefont
{
font-family:MyFont;
font-size: 42px;
color:black;
}
</style>
@字体
{
字体系列:MyFont;
src:url('MyFont.ttf')格式('truetype');
}
#条形码字体
{
字体系列:MyFont;
字体大小:42px;
颜色:黑色;
}
然后,要在主HTML代码中使用字体,请执行以下操作:
<div id="MyFont">Your text using MyFont</div>
使用MyFont编辑文本
要使其正常工作,您的HTML文件和MyFont.ttf文件都必须位于您正在进行转换的PhantomJS目录中。您是否针对一些不同的站点测试过PhantomJS?我有一个类似的问题,它似乎是特定于项目的。@ArtjomB。有道理,不需要casperJStag@nemoo抱歉,删除了我之前的评论。这是普通幻影的一个问题。其他框架可能会使用phantomjs,但我们无法将它们全部添加到这个问题中,因为这与这些框架无关:[selenium]、[capybara]、[casperjs]、[噩梦],…在CentOS 6.4上超级工作这解决了我大多数字体的问题,但仍然看到一些字体混乱,这解决了我在CentOS 6.2上的问题我认为这是云服务的一个常见问题,我在vultr上。是的,这项工作在CentOS 6.5上对我有效