Fonts phantomjs字体渲染问题

Fonts phantomjs字体渲染问题,fonts,render,phantomjs,Fonts,Render,Phantomjs,使用PhantomJSV1.9.7(最新版本),在我的生产服务器上呈现一些字符时出现问题。dev服务器上没有问题 在渲染phantomjs.org主页时,带有“strong”标记的字体或某些粗体字体(如“700em”)可以正确渲染,但正常字体重量不能正确渲染 我还没有注意到其他URL的这个问题 此外,任何url中的所有中文字符(我到目前为止已经检查过)都会在生产服务器上使用方框呈现,但在开发服务器上是正确的 我不知道是什么问题 以下是每台服务器的一部分的屏幕截图: 生产服务器-debian 7稳

使用PhantomJSV1.9.7(最新版本),在我的生产服务器上呈现一些字符时出现问题。dev服务器上没有问题

在渲染phantomjs.org主页时,带有“strong”标记的字体或某些粗体字体(如“700em”)可以正确渲染,但正常字体重量不能正确渲染

我还没有注意到其他URL的这个问题

此外,任何url中的所有中文字符(我到目前为止已经检查过)都会在生产服务器上使用方框呈现,但在开发服务器上是正确的

我不知道是什么问题

以下是每台服务器的一部分的屏幕截图:

生产服务器-debian 7稳定

开发服务器-Debian8测试


以下是

生产-debian 7稳定

开发服务器-Debian8测试


有什么想法吗?谢谢你的帮助。

我最后做的是将我的服务器从Debian 7升级到Ubuntu 13.10,这就解决了问题。我真的不知道是什么软件包导致了这个问题——可能是fontconfig或libfreetype6……我不知道。

关于日文、中文、印地语等字符,我在幻影JS和为这些特殊字符呈现字体方面遇到了问题,这就是我解决问题的方法:

  • 下载相应的
    .ttf
    文件。web上有几个免费站点,但是您有几个Unicode字体免费文件,用于几个不同的字符映射

  • .ttf
    文件保存在服务器/计算机的
    /etc/font
    目录或
    ~/.font
    目录中。后者也是一个unix目录,如果它不存在,则创建它,如果没有根权限,则需要它(例如,共享服务器)

  • 相应地运行
    fc cache-fv/etc/font
    fc cache-fv~/.font/
    。此命令扫描系统上的字体目录并生成字体信息缓存文件

  • 然后在phantomjs代码中,始终为文件系统使用
    utf-8

    var HTMLfile = fs.open(path + file_name, {
        mode: 'r', //read
        charset: 'utf-8' 
    });
    var content = HTMLfile.read();
    HTMLfile.close();
    
    或用于网页

    var webPage = require('webpage');
    var page = webPage.create();
    var settings = {
      operation: "POST",
      encoding: "utf8",
      headers: {
        "Content-Type": "application/json"
      },
      data: JSON.stringify({
        some: "data",
        another: ["custom", "data"]
      })
    };
    

    经过长时间的搜索,它对我很有用。

    我找到了一些关于它的线索:谢谢你的回复。在发布这篇文章之前,我已经阅读并尝试了这些,但我确实解决了这个问题(见下文)。