SVG Font
Das originale Vektorschriftformat — menschenlesbares XML, das SVG-Pfade auf Schriftglyphen abbildet.
Was ist SVG Font?
SVG-Fonts wurden als Teil der SVG 1.1-Spezifikation, veröffentlicht vom W3C, definiert. Anders als traditionelle binäre Schriftformate betten SVG-Fonts Glyphen-Konturen als SVG-Pfaddaten in ein <font>-Element ein. Jede Glyphe wird durch ein <glyph>-Element dargestellt, dessen d-Attribut den Vektorpfad enthält, der die Form beschreibt.
Im Wesentlichen sind SVG-Fonts SVG-Zeichnungen, die als Schrift verpackt sind. Dieselbe Pfad-Syntax, die Sie zum Zeichnen von Formen in einer SVG-Datei verwenden, wird zur Definition von Buchstabenformen und Icon-Konturen wiederverwendet. Dies macht sie einzigartig inspizierbar — Sie können eine SVG-Font in einem beliebigen Texteditor öffnen und die tatsächliche Geometrie jeder Glyphe lesen.
Funktionsweise
Eine SVG-Font-Datei kapselt Glyphenpfade in einer Standard-XML-Struktur. Hier ist ein vereinfachtes Beispiel:
SVG-Font-Struktur<font id="MyIcons">
<font-face font-family="MyIcons" units-per-em="1024"/>
<glyph glyph-name="home" unicode=""
d="M512 0L0 448h128v576h256V640h256v384h256V448h128z"/>
<glyph glyph-name="search" unicode=""
d="M..."/>
</font>
Das <font-face>-Element deklariert den Schriftfamiliennamen und das Koordinatensystem (units-per-em). Jedes <glyph> bildet einen Unicode-Codepunkt auf einen Vektorpfad ab. Das d-Attribut verwendet genau dieselbe Pfad-Syntax wie ein reguläres SVG-<path>-Element.
Dies ist das Zwischenformat in Bobcorns Pipeline. Einzelne SVG-Icons werden zunächst in dieser SVG-Font-Struktur zusammengestellt, die dann in Binärformate konvertiert wird: SVG Font → TTF → WOFF / WOFF2 / EOT.
Vor- und Nachteile
- Menschenlesbar — in jedem Texteditor öffnbar
- Einfaches Debuggen von Glyphenpfaden und Metadaten
- Vollständig vektorbasiert, unbegrenzte Skalierbarkeit
- Keine Kompilierung erforderlich, um die Quelle anzuzeigen
- Größte Dateigröße aller Schriftformate
- Veraltet in Chrome, Firefox und Edge
- Keinerlei Komprimierung
- Kein Hinting-Support
- Schlechte Renderqualität unter Windows
Browser-Unterstützung
Die Unterstützung für SVG-Fonts wurde aus den meisten gängigen Browsern entfernt. Chrome stellte die Unterstützung für SVG-Fonts in Version 38 (2014) ein. Firefox hat sie nie implementiert. Edge (Chromium-basiert) unterstützt sie ebenfalls nicht. Der einzige verbleibende Browser ist Safari und iOS Safari, der SVG-Fonts noch rendert.
Für den praktischen Web-Einsatz ist SVG Font im Wesentlichen ein Legacy-Format. Sie sollten sich niemals darauf als Auslieferungsformat für Endnutzer verlassen. Verwenden Sie stattdessen WOFF2.
Wann SVG Font verwenden
- Debugging von Schriftgenerierungsproblemen — da es sich um einfaches XML handelt, können Sie die Pfaddaten direkt lesen und mit den originalen SVG-Icons vergleichen, um Probleme zu diagnostizieren.
- Als Quellformat in Build-Pipelines — viele Schriftgenerierungswerkzeuge (einschließlich Bobcorn) verwenden SVG Font als Zwischendarstellung, bevor sie in Binärformate konvertieren.
- Legacy iOS < 5-Unterstützung — heute extrem selten, aber ältere iOS-Geräte vor der WOFF-Unterstützung konnten für Web-Fonts nur SVG-Fonts verwenden.