Web Open Font Format (.woff)

W3C Standard

Web Open Font Format (WOFF) är det historiska öppna webbteckensnittsformatet av första generationen som godkänts av W3C. Det kapslar in standard TrueType- eller OpenType-teckensnitt med zlib-komprimering och XML-licensieringsmetadata.

Granska och metadata

Operativsystem och filanalysverktyg identifierar WOFF-filer genom att granska den inledande sekvensen av binära byte:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

Signatur i filhuvudet på bytenivå (magiska byte)

Operativsystem och filanalysverktyg identifierar WOFF-filer genom att granska den inledande sekvensen av binära byte:

HEX-SIGNATUR (OFFSET 0):

77 4F 46 46

ASCII-REPRESENTATION: wOFF

Standardisering: W3C Recommendation (2012)

Tekniska specifikationer

Containerarkitektur44 byte långt WOFF-huvud följt av tabellkatalog, zlib-komprimerade tabelldata, valfria utökade metadata och privata data
KomprimeringDeflate-komprimering (zlib) tillämpas på varje enskild teckensnittstabell
ByteordningBig-Endian (SFNT standard)
FärgrymderÄrvs från de underliggande teckensnittstabellerna
Kanaler och strukturTrueType-glyfkonturer ('glyf') eller PostScript-konturer ('CFF '), mått och typografiska funktioner
Maximala dimensionerUpp till 65 535 glyfer per teckensnittsfil
TransparensÄrvs från det underliggande teckensnittsformatet
Strömning och progressiv visningDekomprimering tabell för tabell möjliggör strömmande inläsning av teckensnitt

Teknisk jämförelsematris: WOFF jämfört med konkurrenter

Tekniskt attributWOFF (Aktuell)WOFF2TTFOTF
KomprimeringscodecDeflate (zlib) per tabellBrotli med tabellförbehandlingOkomprimerad SFNTOkomprimerad SFNT
Magisk signaturwOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relativ filstorlekOfta mindre än TTF; besparingen varierar mellan typsnittOfta mindre än TTF; besparingen varierar mellan typsnittBaslinjestandard (100 %)Baslinjestandard (100 %)
MålmiljöÄldre webbläsare (IE9+, Safari 5+)Stödet varierar mellan webbläsare.Stationära operativsystemDesktoppublicering och tryck

Vanliga skadeorsaker och hex-återställningsguide

Varning i webbläsarkonsolen: 'Failed to decode downloaded font: OTS parsing error'.

Grundorsak: Felaktig matchning i deklarerad okomprimerad tabellängd eller skadad zlib-ström.

Återställning: Komprimera om teckensnittstabeller eller konvertera till WOFF2 med File2File.app Font Converter.

Säkerhetsanalys och attackvektorer för tolkar

Webbläsare tolkar WOFF-filer som laddats ner från otillförlitliga webbdomäner med hjälp av OpenType Sanitizer (OTS) för att blockera exploateringsnyttolaster.

Kända attackvektorer

  • Överläsning av buffert under zlib-dekomprimering av korrupta teckensnittstabellblock.
  • Felaktigt matchade tabellängdsfält som utlöser heap-buffertspill i teckensnittsrenderare.
  • Tjänsteavbrott (DoS) genom minnesutmattning under expansion av teckensnittstabeller.

Rekommenderade skyddsåtgärder: Sanera alltid nedladdade WOFF-filer med OTS innan de skickas till operativsystemets teckensnittsmotorer.

Historiskt ursprung och milstolpar

2018WOFF2 ersätter WOFF som det föredragna webbteckensnittsformatet tack vare effektivare Brotli-komprimering.
2012W3C publicerar officiellt WOFF 1.0 som en formell webbstandardrekommendation.
2009Henrik Rydgård, Tal Leming och Jonathan Kew specificerar WOFF för att lösa problem med webbteckensnittslicensiering.

Viktiga fördelar

  • Kan minska filstorleken för webbtypsnitt jämfört med råa TTF- eller OTF-filer; minskningen beror på typsnittet och kodaren.
  • WOFF stöds av många webbläsare, även äldre versioner; kompatibiliteten beror på webbläsarversion och plattform.
  • Inkluderar ett valfritt XML-metadatablock för teckensnittslicensiering, upphovspersoner och copyrightinformation för stilgjuteriet.

Tekniska begränsningar

  • Har i många webbflöden ersatts av WOFF2, som använder Brotli-komprimering och omvandling av typsnittstabeller; filstorleksbesparingen varierar.
  • Kan inte installeras direkt i stationära operativsystem (Windows/Mac) utan konvertering till TTF/OTF.
  • Den äldre zlib-komprimeringsalgoritmen är mindre effektiv än moderna entropikodare.

Intressant teknisk kuriosa

  • Magiska byten för WOFF 1.0 är 'wOFF' (0x77 0x4F 0x46 0x46), medan WOFF 2.0 använder 'wOF2'.
  • Teckensnittsstilgjuterier gick med på att tillåta sina teckensnitt på webben först efter att WOFF skapades, eftersom dess specialiserade behållare skilde webbteckensnitt från piratkopierbara stationära teckensnitt.
  • WOFF implementerades ursprungligen i Firefox 3.6 år 2010 innan det blev en officiell W3C-rekommendation.

Vanliga tekniska frågor

Vad är skillnaden mellan WOFF och WOFF2?

WOFF använder zlib-komprimering, medan WOFF2 använder Brotli-komprimering och omvandling av typsnittstabeller. Skillnaden i filstorlek beror på typsnittet och kodaren.

Hur kan jag konvertera ett WOFF-typsnitt till TTF eller OTF för skrivbordsbruk?

Du kan konvertera WOFF-filer till installerbara TTF- eller OTF-skrivbordstypsnitt på några sekunder direkt i din webbläsare med File2File.app.

Behöver jag fortfarande WOFF 1.0 på moderna webbplatser?

Aktuella större webbläsare stöder WOFF2. En WOFF-reserv kan fortfarande vara användbar för äldre webbläsare eller vissa inbyggda miljöer.