WOFF2

Was ist eine WOFF2-Datei?

Das aktuelle Webschriftformat, rund 30 % kleiner als WOFF.

Was WOFF2 ist

WOFF2 ist ein Binärformat, das nur einem Programm etwas sagt, das es kennt. Eingesetzt wird es für das Web.

Die Endung lautet .woff2, der volle Name Web Open Font Format 2. Beides sagt weniger aus als das, was die Datei halten kann — und davon handelt der Rest dieser Seite.

Woher WOFF2 kommt

W3C hat es 2018 veröffentlicht. Die Spezifikation ist WOFF 2.0.

Das Alter ist aus einem praktischen Grund interessant: je älter ein Format, desto mehr Programme hatten Zeit, es zu lernen.

Die Spezifikation ist öffentlich

Sie ist vollständig veröffentlicht, das Format lässt sich also aus dem Dokument umsetzen statt durch Nachsehen. Deshalb taucht es in so vielen Programmen auf, und deshalb gehen Dateien von vor zwanzig Jahren heute noch auf. Veröffentlicht heißt allerdings nicht lizenzfrei: Wo ein Format einen Codec einpackt, ist die Patentfrage eine eigene, die der Standard nicht mitbeantwortet.

Es wird nichts weggeworfen

WOFF2 speichert seinen Inhalt exakt. Erneutes Speichern ändert nichts, es lässt sich also beliebig oft öffnen, bearbeiten und wieder ablegen, ohne dass sich Schaden ansammelt — genau das macht es zu einem Arbeitsformat und nicht zu einem Ausgabeformat.

Was WOFF2 öffnet

fonttools und FontForge lesen es, und die meisten Programme derselben Art ebenfalls.

Wenn eine Datei nicht aufgeht, liegt es selten am Format — häufiger daran, dass das Programm älter ist als das Format. Die Umwandlung in etwas Älteres ist der verlässliche Weg daran vorbei, und dafür gibt es den Rest dieser Website.

Im Browser öffnen

Jeder aktuelle Browser liest es.

Damit lässt es sich bedenkenlos auf eine Seite stellen oder an eine Nachricht hängen, ohne sich zu fragen, was die Gegenseite installiert hat.

Es ist ein Ausgabeformat

WOFF2 ist zum Weitergeben gedacht, nicht zum Arbeiten. Eines zu bearbeiten ist möglich und selten angenehm; der vernünftige Weg führt über die Quelle und einen neuen Export.

Ein Transportformat, keine neue Schriftart

WOFF2 ist keine Schriftart im Sinn von TrueType oder OpenType, sondern eine Hülle: dieselben Font-Tabellen, mit Brotli komprimiert und speziell auf die Struktur von Fontdaten abgestimmt, dazu ein wenig Metadaten. Wer eine WOFF2 auspackt, erhält genau die TTF oder OTF zurück, die hineingesteckt wurde.

Das erklärt, warum sie für eine Website die einzig sinnvolle Wahl ist und auf dem Schreibtisch nutzlos: Sie existiert, um die Datei für die Übertragung kleiner zu machen — üblicherweise um dreißig bis fünfzig Prozent —, und Betriebssysteme installieren sie nicht, weil es nichts zu installieren gäbe, das die Originaldatei nicht schon böte.

Der Umpack-Schritt läuft auf dem Server, nicht im Browser

Die meisten Umwandlungen auf dieser Seite laufen ausschließlich im Browser; bei Schriftarten ist das anders. Das Werkzeug hinter fontTools, mit dem TTF, OTF, WOFF und WOFF2 sich ineinander umpacken lassen, läuft in einem Container, den wir betreiben — die Datei geht also zu unserem Server und wird danach sofort wieder gelöscht.

Die Grenze liegt dort entsprechend bei 25 statt bei 100 Megabyte pro Datei, weil Serverkonvertierungen unsere Rechenzeit kosten und die im Browser laufenden nicht. Für eine einzelne Schriftdatei — selten mehr als ein paar Megabyte — ist das ohne Belang; erwähnenswert ist es trotzdem, weil die Behauptung „nichts verlässt Ihr Gerät" auf dieser einen Umwandlung schlicht falsch wäre.

Die Umrisse ändern sich nie, nur die Verpackung

Beim Umwandeln zwischen TTF, OTF, WOFF und WOFF2 wird ausschließlich die Hülle getauscht — komprimiert oder entpackt, umbenannt in ein anderes Tabellenformat. Die eigentlichen Buchstabenformen, ob als quadratische TrueType-Kurven oder als PostScript-Kurven gespeichert, bleiben in jedem Schritt exakt dieselben.

Genau deshalb weigert sich das Werkzeug, aus einer PostScript-Schrift eine als TrueType deklarierte Datei zu erzeugen: Der Umrisstyp lässt sich nicht ohne Neuberechnung der Kurven umlabeln, und eine Datei mit falsch behaupteter Kontur würde in mancher Software fehlerhaft dargestellt. Statt eines stillen Fehlers gibt es dafür eine Meldung, bevor die Datei überhaupt entsteht.

Subsetting wirkt stärker als jede Kompression

Eine gewöhnliche Desktop-Schrift deckt Latein, erweitertes Latein, Kyrillisch, Griechisch, Währungssymbole und mehrere hundert Zeichen ab, die auf einer deutschsprachigen Website niemand je tippt. All das lädt jede Besucherin mit herunter, wenn nicht vorher beschnitten wird.

Subsetting reduziert die Schrift auf die tatsächlich benötigten Zeichen, und die Ersparnis übertrifft meist das, was die Kompression allein schafft. Eine 300-KB-Desktopschrift, auf das lateinische Grundalphabet beschnitten und nach WOFF2 gewandelt, landet häufig bei etwa 25 KB. Wichtig ist die Reihenfolge — zuerst beschneiden, dann verpacken — und Vorsicht beim Subsetter: Auf die benutzten Zeichen beschränkt, wirft er ohne Warnung auch Ligatur- und Alternativtabellen weg, und CSS, das sie einschalten soll, tut dann nichts mehr.

Der Moment, in dem Text unsichtbar bleibt

Ein Browser, dem eine noch nicht heruntergeladene Schrift zugewiesen wurde, muss entscheiden, was er in der Zwischenzeit zeigt. Standardmäßig wartet er — bis zu drei Sekunden in den meisten Browsern — und zeigt nichts. Das ist der berüchtigte unsichtbare Text, und die häufigste Ursache dafür, dass eine Seite mit eigener Typografie träge wirkt.

Die Korrektur ist eine einzige Zeile: font-display: swap in der @font-face-Regel. Der Text erscheint sofort in einer Ersatzschrift und springt beim Eintreffen der eigentlichen Schrift um — sichtbar, aber weit weniger störend als eine leere Fläche. font-display: optional geht weiter: Ist die Schrift nicht fast sofort bereit, wird sie für diesen Besuch gar nicht mehr verwendet, was den Umsprung ganz entfernt, auf Kosten mancher Besucherinnen, die die Schrift dann nie sehen.

Selbst hosten statt einen Font-Dienst einbinden

Schriften von einem Drittanbieter zu laden war schneller, solange Browser ihren Cache über Websites hinweg teilten — eine Besucherin, die die Datei schon von einer anderen Seite kannte, musste sie nicht erneut holen. Seit die Browser ihre Caches je Website trennen, lädt jede Besucherin die Datei ohnehin neu herunter, plus eine zusätzliche Verbindung zu einem fremden Server, bevor die Schrift überhaupt anfängt zu laden.

Selbst hosten ist damit inzwischen fast immer die schnellere Option, und es entfernt zugleich einen Dritten aus dem Ladevorgang — relevant für den Datenschutz und dafür, dass die eigene Seite weiterläuft, wenn der fremde Dienst gerade nicht erreichbar ist. Die ein oder zwei über dem sichtbaren Bereich benötigten Schriften vorab zu laden ist der verbleibende Kniff.

Die Lizenzfrage bleibt bestehen

Eine Desktopschrift nach WOFF2 zu wandeln dauert Sekunden und verstößt dabei häufig gegen die mitgelieferte Lizenz. Desktoplizenzen decken die Installation auf Geräten und das Gestalten damit ab; Webnutzung ist gewöhnlich eine eigene, separat verkaufte Lizenz, oft nach monatlichen Seitenaufrufen gestaffelt.

Offene Lizenzen sind die bekannte Ausnahme: Schriften unter der SIL Open Font License dürfen frei gewandelt, selbst gehostet und beschnitten werden, solange sie nicht einzeln verkauft und reservierte Namen nicht weiterverwendet werden. Das deckt den Großteil dessen ab, was auf den bekannten Gratis-Font-Seiten liegt, und erklärt, warum so viel vom Web in einer Handvoll offener Schriftfamilien gesetzt ist.

Die Eckdaten auf einen Blick

Kennungen und Herkunft des Formats WOFF2.
Endung.woff2
Medientypfont/woff2
Herausgegeben vonW3C
Erstmals veröffentlicht2018
SpezifikationWOFF 2.0