在GIMP中使用带外部字体的svg

问题描述 投票:0回答:1

我用外部字体创建了这个svg,SVG的那部分看起来像这样:

<defs>
  <style type="text/css">@import url(https://fonts.googleapis.com/css?family=Cairo|Gloria+Hallelujah|Rokkitt|Shadows+Into+Light|Signika&gt;</style>
</defs>

在Chrome中这很好用,但是当我尝试将svg加载到GIMP中时,字体丢失了。有没有办法让GIMP渲染谷歌字体?

完成测试svg:

<?xml version="1.0"?>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
 <defs>
      <style type="text/css">@import url(https://fonts.googleapis.com/css?family=Cairo|Gloria+Hallelujah|Rokkitt|Shadows+Into+Light|Signika&gt;</style>

  </defs>
  <style>
     text {
        font-size: 30px;
        font-family: Shadows Into Light;
     }
  </style>

  <text x="20" y="35"><tspan>Test</tspan></text>
</svg>

更新:使SVG在Gimp或Inkscape中工作:

<?xml version="1.0"?>
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <style type="text/css">
      <![CDATA[
        @font-face {
          font-family: 'Shadows Into Light';
          font-style: normal;
          font-weight: normal;
          src: local('Shadows Into Light'), local('ShadowsIntoLight'), url('http://themes.googleusercontent.com/static/fonts/shadowsintolight/v3/clhLqOv7MXn459PTh0gXYHW1xglZCgocDnD_teV2lMU.woff') format('woff');
        }

        text {
          font-size: 30px;
          font-family: Shadows Into Light;
        }
      ]]>
    </style>
  </defs>

  <text x="20" y="35"><tspan>Test</tspan></text>
</svg>
svg gimp google-fonts
1个回答
1
投票

问题比外部Google字体更进一步:

1)Gimp(或者它使用的任何SVG解析器)对语法很挑剔(通常样式应该在CDATA中)

2)即使使用CDATA修复(至少在Gimp控制台中阻止令人讨厌的消息),Gimp也不会遵守font-family风格,即使对于系统范围内安装的字体也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.