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

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

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

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

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

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

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

Возможно, это связано с этим вопросом?
Привет, спасибо за это. Да, я попробовал это, прежде чем публиковать здесь, и я не мог заставить его работать, но я также не могу найти рабочий пример, просто предложения того, что может работать.
В примерах шрифты встроены для использования через интернет-браузер (например, графика на веб-странице). Ваша цель немного отличается, и на данный момент я не нашел связанных рабочих примеров.
Обратите внимание, что хотя stackeschange отлично подходит для вопросов о существующих функциях программного обеспечения, для проектов с открытым исходным кодом, таких как Inkscape, при задании вопросов о дорожных картах и ​​будущих функциях, подобных этому, возможен прямой канал с разработчиками. В случае с inkscape я бы предложил поднять ваш вопрос на канале «#inkscape» в IRC-сети FreeNode.
Я поднял вопрос на InkscapeForum по этому поводу, но откликов было меньше, чем здесь, я рассмотрю предложенный вами маршрут.
Запрос функции в системе отслеживания проблем: gitlab.com/inkscape/inbox/-/issues/301 .

Ответы (2)

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

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

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

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

В текущей версии 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>

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

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

Скриншот Chrome

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

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