IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    phantomjs在linux下截图中文字体问题

    草依山发表于 2016-05-31 02:57:57
    love 0

    最近搞了搞截图的事情,碰到点小问题,刚解决完,趁着手热,记录一下。 目前我们截图用的是 webshot,它封装 phantomjs,使用起来比较方便,唯一碰到的问题就是中文展现与 真实浏览器里的有区别,问题其实就是字体的问题

    我们的样式里是这样:

    ...{
      ...
      font-family: Helvetica, arial, "microsoft yahei", Monaco, sans-serif;
      ...
    }
    

    只截取了字体设置的那段,可以看到有 5 种字体,最后的 sans-serif 默认对应是黑体,需要把这5种字体装到截图的 Linux 服务器,分别从osx和windows上copy出来,注意一下,osx 中的字体是 .ttc 和 .dfont 格式的,我们 可以借助 http://transfonter.org/ttc-unpack来转换为 Linux 支持的 .ttf 的格式

    • Helvetica : 从 osx 的 /System/Library/Fonts 拷然后转换
    • arial : 从windows拷
    • sans-serif : 默认是黑体,从 osx 拷
    • microsoft yahei : 从windows拷
    • Monaco : 从windows拷

    把这些文件拷到 Linux 服务器上,然后调用 fc-cache 更新一下

    sudo mkdir /usr/share/fonts/custom
    sudo cp *.ttf  /usr/share/fonts/custom
    fc-cache -fv
    

    如果你之前曾经在网上搜索并安装了 bitmap-fonts ,还是删除吧

    sudo yum remove bitmap-fonts bitmap-fonts-cjk  # 删除之前安装的东西
    

    更新完字体后截图就正常了


    文章来源: phantomjs在linux下截图中文字体问题
    文章的标签: nodejs phantomjs


沪ICP备19023445号-2号
友情链接