svgexport在Mac OS X(10.10.3)上正确呈现字体,但在Ubuntu 14.04上没有

时间:2015-06-30 15:43:45

标签: macos ubuntu svg fonts phantomjs

<svg version="1.1" id="Layer_1" 
  xml:space="preserve"
  xmlns="http://www.w3.org/2000/svg" 
  xmlns:xlink="http://www.w3.org/1999/xlink"
  x="0px" y="0px" width="600px" height="600px" viewbox="0 0 600 600">
<style type="text/css" >
    <![CDATA[

      @font-face {
        font-family: uGillSansLocal;
        src: local('Gill Sans');
      }

      @font-face {
        font-family: uGillSansURL;
        src: url('./GillSans.ttf');
      }

    ]]>
</style>
<rect id="Border" x="0" y="0" stroke="#000000" fill="#FFFFFF" width="600" height="600"/>
<text x="100" y="30" font-size="32px" font-family="uGillSansLocal">
    <tspan>uGillSans local</tspan>
    <tspan x="100" dy="40">qwertyuiop[]\asdfghjkl;'</tspan>
    <tspan x="100" dy="40">zxcvbnm,./QWERTYUIOP[]|</tspan>
    <tspan x="100" dy="40">ASDFGHJKL:"ZXCVBNM&lt;>?</tspan>
    <tspan x="100" dy="40">1234567890-=!@#$%^&amp;s*()_+</tspan>
</text>
<text x="100" y="300" font-size="32px" font-family="uGillSansURL">
    <tspan>uGillSans url</tspan>
    <tspan x="100" dy="40">qwertyuiop[]\asdfghjkl;'</tspan>
    <tspan x="100" dy="40">zxcvbnm,./QWERTYUIOP[]|</tspan>
    <tspan x="100" dy="40">ASDFGHJKL:"ZXCVBNM&lt;>?</tspan>
    <tspan x="100" dy="40">1234567890-=!@#$%^&amp;s*()_+</tspan>
</text>
</svg>

这是一个SVG文件。在ubuntu中,渲染如下所示:rendering in ubuntu。某些字符被错误地渲染。

然而,在Mac OS X中,渲染如下:rendering in mac os x。我使用svgexport来渲染它们。

据我所知,svgexport使用PhantomJS来渲染SVG。我怀疑这不是PhantomJS中的问题,而是在Ubuntu中缺少用于字体光栅化的库。

仅供参考,两个系统都已安装所需的字体。两者都有最新版本的svgexport。我该怎么办呢?感谢。

编辑:我在Ubuntu上安装了libfreetype6和fontconfig。仍然无法正常工作。但是,SVG在两个系统上的Chrome上看起来都不错。

1 个答案:

答案 0 :(得分:1)

对我而言,它就是这样的:

@font-face {
          font-family:'FreeSans';
          src: url('http://localhost/fonts/FreeSans.ttf') format('truetype');
        }

请注意,附加了格式。也许就是这样?