Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
WOFF
Een lettertype ingepakt voor het web. Vervangen door WOFF2, maar nog nodig voor oude browsers.
WOFF
WOFF is een binair formaat dat alleen iets betekent voor een programma dat het kent. Het wordt gebruikt voor het web.
De extensie is .woff en de volledige naam Web Open Font Format. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.
W3C bracht het in 2009 uit. De specificatie is WOFF 1.0.
De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.
Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.
Het gaat overal nog open en oudere programma’s schrijven het nog, maar er wordt niets nieuws meer omheen gebouwd. Converteer wat je wilt bewaren en kies het niet voor iets dat vandaag begint.
WOFF bewaart zijn inhoud precies. Opnieuw opslaan verandert niets, dus je kunt het zo vaak openen, bewerken en wegschrijven als je wilt zonder dat er schade opstapelt — en dat is wat er een werkformaat van maakt in plaats van een afleverformaat.
FontForge en fonttools lezen het, en de meeste programma’s van dezelfde soort ook.
Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.
Elke actuele browser leest het.
Je kunt het dus zonder zorgen op een pagina zetten of aan een bericht hangen, zonder je af te vragen wat de andere kant geïnstalleerd heeft.
WOFF is bedoeld om door te geven, niet om in te werken. Er een bewerken kan en is zelden prettig; de verstandige weg loopt via de bron en een nieuwe export.
Vóór 2009 had een webpagina de keuze tussen het handjevol lettertypen op de computer van de bezoeker en een Microsoft-only format dat niemand anders implementeerde. WOFF maakte daar een einde aan: een open W3C-specificatie, die een gewoon TrueType- of OpenType-lettertype omwikkelt met compressie en een metadatablok, en — cruciaal — een format dat elke browserleverancier bereid was te ondersteunen.
Wat het veranderde was minder technisch dan politiek. Lettergieterijen hadden zich lang verzet tegen inbedding op het web, omdat dat betekende dat het ruwe lettertypebestand op een publieke server kwam te staan. WOFF voorkwam dat ook niet, maar het was een format gemaakt voor het web met een plek om licentiegegevens vast te leggen, en dat was genoeg voor de industrie om weblicenties te gaan verkopen. Vrijwel elk lettertype op het web vandaag bestaat daar dankzij die overeenkomst.
Binnen een WOFF zit dezelfde set lettertypetabellen die in de TTF of OTF zat waarvan het gemaakt is — dezelfde omtrekken, dezelfde kerning, dezelfde OpenType-functies. De wrapper voegt zlib-compressie en een klein metadatagedeelte toe, en verder niets.
Een lettertype omzetten naar WOFF en terug is dus verliesvrij, en een WOFF is nooit van hogere of lagere kwaliteit dan zijn bron. Het betekent ook dat geen enkel besturingssysteem er een installeert: er zit niets in dat het originele lettertype niet al had, en desktopsystemen willen het origineel.
De compressie, en alleen de compressie. WOFF2 verving zlib door Brotli en voegde een voorbewerkingsstap toe die lettertypetabellen herschikt tot een vorm die beter comprimeert, wat samen ongeveer nog eens dertig procent van het bestand afhaalt.
Verder verschilt er niets. Hetzelfde lettertype, dezelfde functies, dezelfde weergave — een kleinere download. Dat is waarom de overgang snel ging en waarom er geen ontwerpreden is om het oudere format ergens voor te verkiezen.
Nee. WOFF2 wordt al jaren ondersteund door elke browser die updates krijgt, inclusief Safari en elke mobiele browser. WOFF als fallback aanbieden betekent een tweede kopie van elk lettertype versturen voor een groep die zo goed als leeg is.
De uitzondering, precies gesteld zodat hij niet te breed wordt toegepast: een omgeving vastgezet op een browser van vóór ongeveer 2016 — sommige kiosken, sommige embedded systemen, sommige bedrijfsinstallaties bevroren door beleid. Is dat werkelijk je publiek, bied dan beide aan. Ben je daar niet zeker van, dan onderhoud je bestanden voor niemand.
Gaat het naar een website, zet het dan om naar WOFF2 en serveer dat. De omzetting is verliesvrij in beide richtingen omdat beide wrappers zijn rond dezelfde tabellen, en het resultaat is een derde kleiner voor geen enkele moeite.
Wil je het lettertype op je computer, zet het dan om naar TTF of OTF en installeer dat — een WOFF kan niet geïnstalleerd worden. En kwam het bestand van de website van iemand anders, dan komt de licentievraag vóór beide: een lettertype gehaald van een pagina is geen lettertype dat je mag gebruiken, en weblicenties zijn vaak gebonden aan een specifiek domein en verkeersniveau.
WOFF bevatte een optioneel XML-blok voor de gieterij, de licentie, de leverancier en een beschrijving — het mechanisme waarmee een lettertype gevonden op een server zijn eigen voorwaarden kon vermelden.
In de praktijk schrijft vrijwel niets het en leest niets het. Lettertypediensten strippen het, generators laten het weg, browsers negeren het. Het is een redelijk idee dat verloor aan dezelfde werkelijkheid als de domeinvergrendeling van Embedded OpenType: licentiëring bleek een contractprobleem te zijn in plaats van een bestandsformaatprobleem, en formaten die het in de bytes probeerden op te lossen, werden stilletjes omzeild.
WOFF verpakt een lettertype in dezelfde compressie die een ZIP-bestand gebruikt. WOFF2 verpakt het in Brotli en voegt een transformatie toe die specifiek lettertypetabellen begrijpt, wat samen zo’n dertig procent extra scheelt — een betekenisvol cijfer voor een bron die tekst blokkeert totdat hij binnen is.
Omdat de twee formaten hetzelfde werk doen tegen een andere prijs, is er bijna nooit een reden om beide te serveren. Elke browser die een site plausibel zou moeten ondersteunen, leest WOFF2, en een pagina die WOFF als fallback vermeldt, sleept die vaak mee voor browsers die al jaren niet meer gebruikt worden. Die aanname checken kost een minuut, want de fallback kost een verzoek elke keer dat hij wordt aangesproken.
Naast de dubbele download levert het geen enkel voordeel op: elke browser die WOFF nog vraagt, leest WOFF2 net zo goed, dus is er geen situatie waarin het weglaten van WOFF2 een bezoeker daadwerkelijk helpt. Het enige effect is een tragere laadtijd voor iedereen, omdat het oudere format altijd het grotere bestand is.
Testen is eenvoudig: verwijder de WOFF-regel uit de font-face-declaratie, laad de site in een browser die je onderhoudt, en controleer of het lettertype nog verschijnt. Doet het dat, dan was de WOFF-regel dode gewicht.
| Extensie | .woff |
|---|---|
| Mediatype | font/woff |
| Uitgegeven door | W3C |
| Voor het eerst gepubliceerd | 2009 |
| Specificatie | WOFF 1.0 |