Web Open Font Format (.woff)
W3C StandardWeb 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:
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 46ASCII-REPRESENTATION: wOFF
Standardisering: W3C Recommendation (2012)
Tekniska specifikationer
| Containerarkitektur | 44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data |
| Komprimering | Deflate (zlib) compression applied to each individual font table |
| Bytessordinning | Big-Endian (SFNT standard) |
| Färgrymder | Inherited from underlying font tables |
| Kanaler och struktur | TrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features |
| Maximala dimensioner | Up to 65,535 glyphs per font file |
| Transparens | Inherited from underlying font format |
| Strömning och progressiv | Table-by-table decompression enables streaming font loading |
Teknisk jämförelsematris: WOFF vs konkurrenter
| Tekniskt attribut | WOFF (Aktuell) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Komprimeringscodec | Deflate (zlib) per tabell | Brotli med tabellförbehandling | Okomprimerad SFNT | Okomprimerad SFNT |
| Magisk signatur | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| Relativ filstorlek | ~40 % mindre än TTF | ~60 % mindre än TTF | Baslinjestandard (100 %) | Baslinjestandard (100 %) |
| Målmiljö | Äldre webbläsare (IE9+, Safari 5+) | Moderna webbläsare (universell) | Stationära operativsystem | Desktop 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
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.