Einbetten von Schriftarten in inkscape

20

Kennt jemand den aktuellen Status des Einbettens von Schriftarten in eine SVG-Datei, die von inkscape gelesen werden kann? Ich finde, dass das Fehlen eingebetteter Schriftarten die Portierbarkeit von SVG-Dateien erheblich beeinträchtigt, insbesondere wenn die Datei an eine Person gesendet wird, die keinen Administratorzugriff auf ihren Computer hat und keine Schriftarten installieren kann.

Ich habe versucht, den Anweisungen unter diesem Link zu folgen:

HOWTO: Einbetten einer Schriftart in ein Linux Inkscape SVG-Dokument

Dieser Link weist auch darauf hin, dass Folgendes möglich ist:

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

Um fair zu sein, versuche ich, dies unter Windows zum Laufen zu bringen, nicht unter Linux (ich habe momentan keinen Zugriff auf einen Linux-Rechner). Kennt jemand eine aktuelle SVG-Datei, in der diese Funktion ausgeführt wird, oder hat er Zugriff darauf?

Douglas Kastle
quelle
Möglicherweise im Zusammenhang mit dieser Frage?
Paolo Gibellini
Hi, danke dafür. Ja, ich habe es vor dem Posten hier ausprobiert und konnte es nicht zum Laufen bringen, aber ich kann auch kein funktionierendes Beispiel finden, nur Vorschläge, was funktionieren könnte.
Douglas Kastle
In den Beispielen sind die Schriftarten für die Verwendung über einen Internetbrowser (z. B. Grafiken in einer Webseite) eingebettet. Ihr Ziel ist ein bisschen anders, und im Moment habe ich keine Arbeitsbeispiele gefunden.
Paolo Gibellini
1
Beachten Sie, dass die Stapeländerung bei Fragen zu vorhandenen Funktionen in Software hilfreich ist, bei Open Source-Projekten wie Inkscape jedoch ein direkter Kontakt mit den Entwicklern möglich ist. Im Fall von inkscape würde ich vorschlagen, Ihre Frage im Channel "#inkscape" des FreeNode-IRC-Netzwerks zu stellen.
Jsbueno
Zu diesem Zweck habe ich im InkscapeForum eine Frage gestellt, aber die Anzahl der Antworten war geringer als hier. Ich werde die von Ihnen vorgeschlagene Route untersuchen.
Douglas Kastle

Antworten:

5

In der aktuellen Version von Inkscape scheint es noch nicht möglich zu sein, SVG-Schriften einzubetten (siehe auch hier ein kleines Beispiel ).

In 0.48 Versionshinweisen :

Es gibt eine bekannte Einschränkung, bei der die Liste der Glyphen im Dialogfeld noch nicht in der ausgewählten Schriftart, aber immer noch in der Systemschriftart gerendert wird

In den Versionshinweisen zu 0.47 finden Sie eine ausführlichere Erläuterung der Einschränkungen:

Als SoC 2008-Projekt implementierte JucaBlues das anfängliche Parsen und Rendern von SVG-Schriftarten. Sie können Schriftarten in Inkscape entwerfen, aber die Verwendung dieser Schriftarten zum Rendern von Text auf der Zeichenfläche wird noch nicht unterstützt. Wir warten darauf, dass libpango die User-Fonts-Funktion ordnungsgemäß unterstützt.

Das Rendern von SVG-Schriftarten wird von Firefox oder Internet Explorer nicht unterstützt. Inkscape Wiki teilt uns Folgendes mit:

SVG2.0 kann SVG-Schriftarten durch WOFF ersetzen

(Lass uns abwarten und sehen)


Momentan konnte ich nach diesem Tutorial eine WOFF-Schriftart in SVG einbetten:

<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>

Die Schriftart wurde lokal kopiert, indem dieser URL gefolgt wurde (von hier abrufen ) und der Download-Link abgerufen wurde (zweckmäßigerweise in "indie_flower.woff" umbenannt).

Die SVG-Datei verwendet eine lokale Schriftart und wird gut gerendert (getestet mit Firefox 34, Chrome 39 und Internet Explorer 11 unter Windows 8.1). Mit einer lokalen Schriftart kann ich die SVG-Datei nicht verknüpfen, Sie müssen sich mit einem Screenshot zufrieden geben:

Chrome-Screenshot

Leider (siehe oben) kann Inkscape es derzeit nicht rendern und die Standardschrift verwenden.

Im Moment ... lass uns abwarten.

Paolo Gibellini
quelle
11

Sie können eine portable SVG-Datei erstellen, indem Sie den Text in einen Vektorpfad konvertieren.

Wählen Sie das Textobjekt aus und rufen Sie das Menü PfadObjekt zum Pfad auf . (Sie können auch Strich nach Pfad verwenden, je nachdem, was Sie tun möchten.)

Natürlich kann der Text als Vektor nicht mehr als Text bearbeitet werden, aber das ist für Sie möglicherweise weniger wichtig als die Möglichkeit, Ihre SVG-Datei am anderen Ende anzuzeigen.

hackerb9
quelle
2
Dies beantwortet nicht wirklich die Frage, was das Einbetten von Schriftarten in die SVG-Datei betrifft , so dass sie weiterhin bearbeitet werden können
Luciano,
4
Es ist vielleicht keine richtige Antwort auf die Frage, aber es funktioniert wie ein Zauber, ohne viel tun zu müssen. Das ist eine wirklich gute Antwort, wenn Sie mich fragen!
Alexis Wilke
1
Ich stimme zu, das ist eine sehr nützliche Antwort. Oft gibt es mehrere Möglichkeiten, Dinge zu tun. Wenn Sie von allen Antworten abraten, die nicht genau den von der Person, die die Frage stellt, geforderten Weg verwenden, wird StackExchange meiner Meinung nach nicht zu einem sehr nützlichen und lernfreundlichen Ort.
Sybille Peters