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
WOFF2
Het huidige weblettertypeformaat, zo’n 30 % kleiner dan WOFF.
WOFF2
WOFF2 is een binair formaat dat alleen iets betekent voor een programma dat het kent. Het wordt gebruikt voor het web.
De extensie is .woff2 en de volledige naam Web Open Font Format 2. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.
W3C bracht het in 2018 uit. De specificatie is WOFF 2.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.
WOFF2 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.
fonttools en FontForge 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.
WOFF2 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.
WOFF2 is geen lettertypeformaat zoals TrueType en OpenType dat zijn. Het is een wrapper: dezelfde lettertypetabellen, gecomprimeerd met Brotli en afgestemd op hoe lettertypedata is ingedeeld, plus een beetje metadata. Pak een WOFF2 uit en je krijgt de TTF of OTF die erin ging.
Daarom is het de enige verstandige keuze voor een website en nutteloos op de desktop. Het bestaat om het bestand kleiner te maken in transport, doorgaans dertig tot vijftig procent, en besturingssystemen installeren het niet omdat er niets te installeren is dat het origineel niet al had.
Een lettertype komt op een pagina via een @font-face-regel: een familienaam, het bestand, en het gewicht en de stijl die dat bestand vertegenwoordigt. De naam is willekeurig — niets hoeft overeen te komen met hoe de gieterij het noemde.
De gewoonste fout is één bestand voor een familie declareren en dan vet gebruiken in het ontwerp. De browser weigert niet; hij synthetiseert een vette variant door het gewone gewicht uit te smeren, en het resultaat oogt merkbaar slechter dan de echte vette variant die ongebruikt in dezelfde map ligt.
Een typisch retaillettertype dekt Latijn, Latijn Uitgebreid, Cyrillisch, Grieks, valutatekens en honderden glyphs die niemand op je site ooit zal typen. Alles wordt door elke bezoeker gedownload.
Subsetten beperkt het tot de echt benodigde tekens, en de besparing overtreft meestal wat compressie oplevert. Een desktoplettertype van 300 KB, gesubset tot basis-Latijn en omgezet naar WOFF2, komt vaak rond de 25 KB uit.
Een browser die een nog niet gedownload lettertype moet gebruiken, moet beslissen wat te doen met de tekst ondertussen. Standaard wacht hij — tot drie seconden in de meeste browsers — en toont niets. Dat is de flits van onzichtbare tekst.
De oplossing is één regel: font-display: swap in de @font-face-regel. De tekst wordt meteen getekend in een terugvaloptie en stroomt opnieuw naar het echte lettertype zodra dat aankomt.
Lettertypen laden vanaf een externe dienst was vroeger sneller omdat bezoekers al aankwamen met het bestand gecachet van een andere site. Dat klopt niet meer sinds browsers hun caches per site partitioneerden.
Zelf hosten is nu in bijna elk geval de snellere optie, en het verwijdert ook een derde partij uit het verzoekpad. Het ene of twee lettertypen boven de vouw voorladen is de resterende truc die de moeite waard is.
Nee. WOFF2 wordt al jaren door elke huidige browser ondersteund, en de terugvalstapel die ooit elke @font-face-regel vergezelde — WOFF, TTF, EOT, SVG — is nu archeologie.
Alleen WOFF2 declareren is het huidige advies. Alles wat het niet kan lezen, is oud genoeg om terug te vallen op een systeemlettertype, wat prima is en veel beter dan vijf kopieën van hetzelfde lettertype naar iedereen sturen.
Een desktoplettertype omzetten naar WOFF2 kost seconden en is vaak een schending van de licentie die erbij hoorde. Desktoplicenties dekken installatie op machines; webgebruik is normaal een aparte licentie, apart verkocht.
Open licenties zijn de uitzondering: lettertypen onder de SIL Open Font License mogen vrij omgezet, gesubset en zelf gehost worden, mits niet los verkocht en zonder gereserveerde namen te hergebruiken. Dat dekt het meeste op gratis lettertypesites.
| Extensie | .woff2 |
|---|---|
| Mediatype | font/woff2 |
| Uitgegeven door | W3C |
| Voor het eerst gepubliceerd | 2018 |
| Specificatie | WOFF 2.0 |