Используйте SVG с внешним шрифтом в GIMP - PullRequest
0 голосов
/ 01 апреля 2019

Я создал этот 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 рендерить шрифты Google?

Завершение теста 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>

1 Ответ

1 голос
/ 01 апреля 2019

Проблема идет дальше, чем внешние шрифты Google:

1) Gimp (или любой другой SVG-парсер) требователен к синтаксису (обычно стиль должен быть в CDATA)

2) Даже с исправлением CDATA (которое, по крайней мере, останавливает неприятные сообщения в консоли Gimp), Gimp не будет придерживаться стиля font-family даже для общесистемных шрифтов.

...