Web Open Font Format (.woff)

W3C Standard

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

Granska & Metadata

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

Välj eller släpp filer här

100 % privat konvertering i webbläsaren - filer lämnar aldrig din enhet

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

Signatur för filhuvud på bytenivå (Magic Bytes)

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

HEX-SIGNATUR (OFFSET 0):

77 4F 46 46

ASCII-REPRESENTATION: wOFF

Standardisering: W3C Recommendation (2012)

Tekniska specifikationer

Containerarkitektur44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
KomprimeringDeflate (zlib) compression applied to each individual font table
BytessordinningBig-Endian (SFNT standard)
FärgrymderInherited from underlying font tables
Kanaler och strukturTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Maximala dimensionerUp to 65,535 glyphs per font file
TransparensInherited from underlying font format
Strömning och progressivTable-by-table decompression enables streaming font loading

Teknisk jämförelsematris: WOFF vs 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 filstorlek~40 % mindre än TTF~60 % mindre än TTFBaslinjestandard (100 %)Baslinjestandard (100 %)
MålmiljöÄldre webbläsare (IE9+, Safari 5+)Moderna webbläsare (universell)Stationära operativsystemDesktop publishing & 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: Kompressionera om teckensnittstabeller eller konvertera till WOFF2 med File2File 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

  • Buffertöverskrivning (over-read) under zlib-dekomprimering av korrupta teckensnittstabellok.
  • Felaktigt matchade tabellängdsfält som utlöser heap-buffertspill i teckensnittsrenderare.
  • Neka tjänst (DoS) genom minnesutmattning under expansion av teckensnittstabeller.

Rekommenderade skyddsåtgärder:

Historiskt ursprung och milstolpar

2018Ersattes av WOFF2 som det föredragna webbteckensnittsstandarden på grund av överlägsen 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

  • Minskar filstorlekar för webbteckensnitt med 30 % till 50 % jämfört med råa okomprimerade TTF- eller OTF-filer.
  • Universell bakåtkompatibilitet i alla stationära och mobila webbläsare som släppts sedan 2011.
  • Inkluderar ett valfritt XML-metadatablock för teckensnittslicensiering, författarreferenser och copyrightinformation för stilgjuteriet.

Tekniska begränsningar

  • Ersatt av WOFF2, som komprimerar cirka 30 % mindre med Brotli-algoritmen.
  • Kan inte installeras direkt i stationära operativsystem (Windows/Mac) utan konvertering till TTF/OTF.
  • Äldre zlib-komprimeringsalgoritm ä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 Googles nyare Brotli-algoritm och tabelltransformering, vilket resulterar i filer som är ungefär 30 % mindre än WOFF.

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?

Nej. Alla moderna webbläsare stöder WOFF2 inbyggt. WOFF 1.0 behövs bara om du absolut måste ha stöd för föråldrade webbläsare som Internet Explorer.