WOFF
Web Open Font Format — das erste speziell für das Web entwickelte Schriftformat.
Was ist WOFF?
WOFF 1.0 wurde gemeinsam von Mozilla, Opera und Microsoft als erstes von Grund auf für das Web entwickelte Schriftformat entwickelt. Es wurde im Dezember 2012 eine W3C-Empfehlung — ein Meilenstein in der Web-Typografie.
Im Kern ist WOFF eine Hülle um bestehende TrueType- oder OpenType-Schriftdaten. Es wendet zlib-Komprimierung an, um die Dateigröße zu reduzieren, und enthält optionale Metadatenfelder für Lizenzierung und Namensnennung. Vor WOFF mussten Web-Entwickler rohe TTF- oder OTF-Dateien ausliefern — groß, unkomprimiert und ohne standardisierte Möglichkeit, Lizenzinformationen einzubetten.
Die wichtigste Innovation war die Schaffung eines zweckgebundenen Web-Font-Containers, der drei Probleme gleichzeitig löste: kleinere Dateigrößen durch Komprimierung, einen Standard-Metadatenblock für die Schriftlizenzierung und ein Format, das Browser leicht validieren und für die Sicherheit in eine Sandbox setzen konnten.
Funktionsweise
Der WOFF-Container umhüllt bestehende Schrifttabellen (aus TTF- oder OTF-Quelldateien) mit tabellenweiser zlib-Komprimierung. Jede Tabelle in der ursprünglichen Schrift — Glyphen-Konturen, Kerning-Daten, Namenseinträge — wird unabhängig komprimiert, was dem Browser ermöglicht, nur die benötigten Tabellen zu dekomprimieren.
Der WOFF-Header beginnt mit einer Vier-Byte-Signatur (wOFF), gefolgt vom Schrift-Flavor (der angibt, ob die eingeschlossenen Daten TrueType oder CFF sind), der gesamten komprimierten Größe und einem Zeiger auf den optionalen Metadatenblock. Der Browser liest diesen Header, dekomprimiert die einzelnen Tabellen zurück in ihre Originalform und übergibt die rekonstruierten Schriftdaten an die Textwiedergabe-Engine.
Aus der Perspektive der Rendering-Engine ist eine dekomprimierte WOFF-Datei identisch mit dem ursprünglichen TTF oder OTF — die Komprimierung ist völlig transparent.
Typische @font-face-Verwendung@font-face {
font-family: 'MyIcons';
src: url('icons.woff2') format('woff2'),
url('icons.woff') format('woff');
}
Der Browser versucht jeden src-Eintrag der Reihe nach. Moderne Browser laden die WOFF2-Datei (kleiner, schneller); ältere Browser, die WOFF2 nicht verstehen, greifen auf die WOFF-Datei zurück. Dieser Kaskaden-Ansatz bietet optimale Leistung bei maximaler Kompatibilität.
Vor- und Nachteile
- Gute Komprimierung — etwa 40 % kleiner als rohes TTF
- Weit verbreitet unterstützt, einschließlich IE 9+
- W3C-Empfehlung (offizieller Webstandard)
- Enthält Metadaten- und Lizenzierungsunterstützung
- Unkomplizierte Konvertierung aus TTF- oder OTF-Quellen
- Von WOFF2 abgelöst, das eine bessere Komprimierung bietet
- ~30 % größer als die entsprechende WOFF2-Datei
- zlib-Komprimierung ist weniger effizient als Brotli
Browser-Unterstützung
WOFF wird seit den frühen 2010er Jahren von allen gängigen Browsern unterstützt und ist damit das sicherste Fallback-Format für Web-Fonts. Es deckt eine noch breitere Palette von Browsern ab als WOFF2, da es Unterstützung für ältere Versionen des Internet Explorer einschließt.
| Browser | Mindestversion |
|---|---|
| Chrome | 6+ |
| Firefox | 3.5+ |
| Safari | 5.1+ |
| Internet Explorer | 9+ |
| Edge | Alle Versionen |
| Opera | 11.1+ |
Mit einer weltweiten Browser-Abdeckung von 98 %+ wird WOFF von praktisch jedem Browser verstanden, der noch aktiv genutzt wird. Die einzige nennenswerte Lücke ist IE 6-8, der stattdessen EOT benötigt.
WOFF vs. WOFF2
WOFF2 ist der Nachfolger von WOFF und in den meisten praktischen Belangen eine klare Verbesserung. Hier ein Vergleich:
| Aspekt | WOFF | WOFF2 |
|---|---|---|
| Komprimierung | zlib (deflate) | Brotli |
| Komprimierungsverhältnis | ~40 % kleiner als TTF | ~30 % kleiner als WOFF |
| Vorverarbeitung | Keine | Glyphendaten-Transformation |
| Dekomprimierungsgeschwindigkeit | Schnell | Schneller |
| IE-Unterstützung | IE 9+ | Nur Edge (kein IE) |
| W3C-Standard | 2012 | 2018 |
WOFF2 bietet dank Brotli und einem speziellen Vorverarbeitungsschritt, der Glyphendaten kompressibler macht, etwa 30 % bessere Komprimierung als WOFF. Es ist auch schneller zu dekomprimieren. Die moderne Browser-Unterstützung für WOFF2 ist ebenso breit — die einzige Lücke ist Internet Explorer 9-11, der WOFF, aber nicht WOFF2 unterstützt.
Für die meisten Projekte, die auf Browser ab 2024 abzielen, ist WOFF2 allein ausreichend. WOFFs einziger verbleibender Vorteil ist die Abdeckung von IE 9-11.
Wann WOFF verwenden
Obwohl es von WOFF2 abgelöst wurde, gibt es noch immer triftige Gründe, WOFF in Ihren Schrift-Stack aufzunehmen:
- Als Fallback neben WOFF2 — listen Sie WOFF2 zuerst in Ihrer
@font-face-Deklaration und WOFF danach, damit moderne Browser die kleinere Datei erhalten, während ältere Browser die Schrift trotzdem bekommen. - Wenn IE 11-Unterstützung erforderlich ist — IE 11 unterstützt WOFF, aber nicht WOFF2; WOFF ist daher das beste komprimierte Format für diesen Browser.
- In Umgebungen ohne Brotli — einige ältere Build-Tools, Proxies oder CDNs verarbeiten WOFFs Brotli-Komprimierung möglicherweise nicht korrekt; WOFFs zlib-Komprimierung wird universell unterstützt.
Wenn keiner dieser Fälle auf Ihr Projekt zutrifft, können Sie WOFF sicher weglassen und nur WOFF2 verwenden.