Встраивание шрифтов в Inkscape

20

Кто-нибудь знает, каково текущее состояние встраивания шрифтов в SVG-файл, который читается inkscape. Я нахожу, что отсутствие встроенных шрифтов сильно затрудняет перенос файлов SVG, особенно если отправка файла человеку, который не имеет прав администратора на своей машине и не может установить шрифты.

Я пытался следовать инструкциям, приведенным по этой ссылке:

HOWTO: встраивание шрифта в документ Linux Inkscape SVG

но не смогли заставить его работать, эта ссылка также предполагает, что это возможно:

https://answers.launchpad.net/inkscape/+question/83618

Честно говоря, я пытаюсь заставить это работать на Windows, а не Linux (у меня нет доступа к машине Linux сейчас). Кто-нибудь знает или имеет доступ к фактическому файлу SVG, где эта функция работает?

Дуглас Кастл
источник
Возможно, связанный с этим вопросом?
Паоло Гибеллини
Привет, спасибо за это. Да, я пробовал это до публикации здесь, и я не мог заставить это работать, но я также не могу найти работающий пример, только предложения того, что могло бы работать.
Дуглас Кастл
В примерах шрифты встроены для использования через интернет-браузер (например, графика на веб-странице). Ваша цель немного отличается, и на данный момент я не нашел связанных примеров работы.
Паоло Гибеллини
1
Обратите внимание, что хотя stackeschange отлично подходит для вопросов о существующих функциях программного обеспечения, для проектов с открытым исходным кодом, таких как Inkscape, при задании вопросов о дорожных картах и ​​будущих функциях, подобных этому, возможен прямой канал с разработчиками. В случае с inkscape я бы предложил поднять ваш вопрос на канале "#inkscape" в IRC-сети FreeNode.
Jsbueno
Я поднял вопрос на InkscapeForum по этому поводу, но в ответах было меньше, чем здесь, я буду искать маршрут, который вы предложили.
Дуглас Кастл

Ответы:

5

В текущей версии Inkscape пока не представляется возможным встраивать SVG-шрифты (см. Также небольшой пример ).

В заметках о выпуске 0.48 :

Существует известное ограничение, когда список глифов в диалоговом окне еще не отображается в выбранном шрифте, но все еще в системном шрифте.

В примечаниях к выпуску 0.47 есть более подробное объяснение ограничений:

В качестве проекта SoC 2008 JucaBlues реализовал первоначальный анализ и рендеринг SVG-шрифтов. Вы можете создавать шрифты в Inkscape, но их использование для отображения текста на холсте пока не поддерживается. Мы ожидаем, что libpango обеспечит надлежащую поддержку функции пользовательских шрифтов.

Рендеринг SVG-шрифтов не поддерживается Firefox или Internet Explorer, и Inkscape Wiki сообщает нам, что:

SVG2.0 может заменить SVG-шрифты на WOFF

(давайте подождем и посмотрим)


На данный момент после этого урока я смог встроить шрифт WOFF в SVG:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     width="100%" height="100%" viewBox="30 40 340 135">

  <title>WebFont Template for SVG</title>

  <style type="text/css"><![CDATA[
    @font-face {
        font-family: "indie_flower";
        src: url("indie_flower.woff") format("woff");
        font-weight: normal;
        font-style: normal;
    }

    text { 
        font-family: "indie_flower", serif;
        font-size: 40px;
        fill: silver;
        stroke: gray;
        stroke-width: 0.5px;
        text-anchor: middle;
    }

    textPath { 
        font-size: 35px;
        text-anchor: start;
        fill: silver;
        stroke: none;       
    }

  ]]></style>

  <text x="200" y="80">http://schepers.cc/svg-webfonts</text>  

  <path id="curve" d="M75,170 C150,140 200,140 250,160" fill="none"/>
  <text><textPath xlink:href="#curve">Google Indie Flower</textPath></text>

</svg>

Шрифт был скопирован локально, следуя этому URL (получите отсюда ) и получив ссылку для скачивания (удобно переименованную в «indie_flower.woff»).

Файл SVG использует локальный шрифт и хорошо отрисовывается (протестировано с Firefox 34, Chrome 39 и Internet Explorer 11 под Windows 8.1). Используя локальный шрифт, я не могу связать файл SVG, вы должны согласиться на снимок экрана:

Скриншот Chrome

К сожалению (см. Выше), Inkscape на данный момент не может отобразить его и использовать шрифт по умолчанию.

На данный момент ... давайте подождем и посмотрим.

Паоло Гибеллини
источник
11

Вы можете создать переносимый файл SVG, преобразовав текст в векторный путь.

Выделите текстовый объект, затем перейдите в меню ПутьОбъект к пути . (Вы также можете использовать Stroke to Path, в зависимости от того, что вы хотите сделать).

Конечно, как вектор, текст больше не будет редактироваться как текст, но это может иметь для вас такое же значение, как и возможность просмотра SVG на другом конце.

hackerb9
источник
2
на самом деле это не отвечает на вопрос о внедрении шрифтов в файл SVG, что делает его редактируемым
Luciano
4
Это может быть неправильный ответ на вопрос, но он, безусловно, работает как шарм, не делая много. Это действительно хороший ответ, если вы спросите меня!
Алексис
1
Я согласен, это очень полезный ответ. Часто есть несколько способов сделать что-то. Если вы не одобряете все ответы, которые не совсем соответствуют тому, что запрашивает человек, задающий вопрос, это не делает StackExchange очень полезным и удобным для обучения местом, ИМХО.
Сибил Питерс