我在 Centos 6.3 上使用 PhantomJs 1.8.1 进行自动化 ui 测试。当测试失败时,屏幕截图会保存到文件系统中。
我的问题是,即使保存了屏幕截图,它们也不包含可读字体。
因此,如果网站是这样的:
你好世界!
该网站的屏幕截图将如下所示:
因此,它不是实际的字母,而是渲染和保存小盒子。
系统是centos 6.3。还安装了 Freetype 和 Fontconfig。
我该如何解决这个问题?
谢谢!
我在 Centos 6.3 上使用 PhantomJs 1.8.1 进行自动化 ui 测试。当测试失败时,屏幕截图会保存到文件系统中。
我的问题是,即使保存了屏幕截图,它们也不包含可读字体。
因此,如果网站是这样的:
你好世界!
该网站的屏幕截图将如下所示:
因此,它不是实际的字母,而是渲染和保存小盒子。
系统是centos 6.3。还安装了 Freetype 和 Fontconfig。
我该如何解决这个问题?
谢谢!
我有同样的问题。
安装 urw-fonts 包为我解决了这个问题:
yum 安装 urw-fonts
我对日文字体也有类似的问题。(PhantomJS 1.9.1,Amazon EC2 上的 Redhat)
英文字符显示良好,但日文字符呈现为框。
1) 使用 . 安装(日文)IPA 字体(Mincho 和 Gothic)yum install
。
(yum list
用于检查确切的包名称。)
2) IPA.ttf
文件安装到:
/usr/share/fonts/IPA-Gothic/
/usr/share/fonts/IPA-Mincho/
3)将下载的两个.ttf
文件移动到这个目录:(创建它)
/usr/share/fonts/ipa/
4) 备份/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>
6)刷新你的字体缓存fc-cache -vf
7) 享受您的新工作字体。
如果您没有收到任何字符(空格),则您的字体缓存可能已过时。尝试fc-cache -vf
重新生成它。
在 1.9.1 版本中修复了日文/中文/韩文字符。不确定它是否有所作为,但可能值得从 1.9.0 升级。
对于中文字体,我通过以下步骤解决了它:
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
我在亚马逊 ec2 上遇到了同样的问题,我通过以下方式解决了它:
yum install cjkuni-ukai-fonts
您也可以尝试安装依赖项 - FontConfig & FreeType
yum install fontconfig
yum install freetype*
您可以使用命令行参数运行脚本:
phanthomjs --output-encoding=cp866 [params] [filename]
我在使用阿拉伯字体时遇到了同样的问题。这就是我所做的。
yum groupinstall 'Arabic Support'.
安装阿拉伯语支持为我解决了这个问题。
试试这个中文。
yum install bitmap-fonts bitmap-fonts-cjk
保留 /etc/fonts/fonts.conf 文件。上面的例子是只制作日语作品
yum install -y ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch cjkuni-ukai-fonts.noarch bitmap-fonts bitmap-fonts-cjk urw-fonts fontconfig freetype*
yum groupinstall -y 'Korean Support' 'Chinese Support' 'Japanese Support' 'Kannada Support' 'Hindi Support' 'Arabic Support'
fc缓存-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>
然后要在主 HTML 代码中使用字体,请执行以下操作:
<div id="MyFont">Your text using MyFont</div>
为此,您的 HTML 文件和 MyFont.ttf 文件都必须位于您正在进行转换的 PhantomJS 目录中。