Web Open Font Format (.woff)
W3C StandardWeb Open Font Format (WOFF) er det historiske førstehånds åpne standard-webfontformatet godkjent av W3C. Det pakker inn standard TrueType- eller OpenType-skrifter med zlib-komprimering og XML-lisensieringsmetadata.
Undersøk og metadata
Operativsystemer og filanalysatorer identifiserer WOFF-filer ved å undersøke den innledende binære bytesekvensen:
Byte-nivå hodesignatur (Magic Bytes)
Operativsystemer og filanalysatorer identifiserer WOFF-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
77 4F 46 46ASCII-REPRESENTASJON: wOFF
Standardisering: W3C Recommendation (2012)
Tekniske spesifikasjoner
| Beholderarkitektur | 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 |
| Bytterekkefølge | Big-Endian (SFNT standard) |
| Fargerom | Inherited from underlying font tables |
| Kanaler og struktur | TrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features |
| Maks. dimensjoner | Up to 65,535 glyphs per font file |
| Gjennomsiktighet | Inherited from underlying font format |
| Strømming og progressiv | Table-by-table decompression enables streaming font loading |
Teknisk sammenligningsmatrise: WOFF vs konkurrenter
| Teknisk attributt | WOFF (Gjeldende) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Komprimeringskodek | Deflate (zlib) per tabell | Brotli med tabellforbehandling | Ukomprimert SFNT | Ukomprimert SFNT |
| Magisk signatur | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| Relativ filstørrelse | ~40 % mindre enn TTF | ~60 % mindre enn TTF | Baselinestandard (100 %) | Baselinestandard (100 %) |
| Målmiljø | Eldre nettlesere (IE9+, Safari 5+) | Moderne nettlesere (Universell) | Stasjonære operativsystemer | Skrivebordspublisering og trykk |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Nettleserkonsolladvarsel: 'Failed to decode downloaded font: OTS parsing error'.
Underliggende årsak: Uoverensstemmelse i deklarert ukomprimert tabellengde eller skadet zlib-strøm.
Utbedring: Komprenner skrifttabeller på nytt eller konverter til WOFF2 ved hjelp av File2File Font Converter.
Sikkerhetsanalyse og parser-angrepsvektorer
Nettlesere analyserer WOFF-filer lastet ned fra utrygge nettsteder ved hjelp av OpenType Sanitizer (OTS) for å blokkere utnyttelsesnyttelast.
Kjente angrepsvektorer
- Buffer over-read under zlib-dekomprimering av korrupte skrifttabellbiter.
- Mismatchede tabelllengdefelt som utløser heap buffer overflows i skriftgjengivere.
- Denial of service gjennom minneutmattelse under utvidelse av skrifttabeller.
Beste praksis for forsvar:
Historisk opprinnelse og milepæler
Viktige fordeler
- Reduserer webfontfiler med 30 % til 50 % sammenlignet med rå, ukomprimerte TTF- eller OTF-filer.
- Universell bakoverkompatibilitet på tvers av alle stasjonære og mobile nettlesere utgitt siden 2011.
- Inkluderer en valgfri XML-metadatablokk for skriftlisensiering, forfatterkreditter og opphavsrettsinformasjon for skriftstøperi.
Tekniske begrensninger og ulemper
- Erstattet av WOFF2, som komprimerer omtrent 30 % mindre ved hjelp av Brotli-algoritmen.
- Kan ikke installeres direkte på stasjonære operativsystemer (Windows/Mac) uten konvertering til TTF/OTF.
- Eldre zlib-komprimeringsalgoritme er mindre effektiv enn moderne entropikodere.
Interessante tekniske fakta
- Magiske byte for WOFF 1.0 er 'wOFF' (0x77 0x4F 0x46 0x46), mens WOFF 2.0 bruker 'wOF2'.
- Skriftstøperier gikk med på å tillate skriftene sine på nettet først etter at WOFF ble opprettet, fordi den spesialiserte beholderen skilte webskrifter fra piratkopierbare stasjonære skrifter.
- WOFF ble opprinnelig implementert i Firefox 3.6 i 2010 før det ble en offisiell W3C-anbefaling.
Ofte stilte tekniske spørsmål
Hva er forskjellen mellom WOFF og WOFF2?
WOFF bruker zlib-kompresjon, mens WOFF2 bruker Googles nyere Brotli-algoritme og tabelltransformasjoner, noe som resulterer i filer som er omtrent 30 % mindre enn WOFF.
Hvordan kan jeg konvertere en WOFF-skrift til TTF eller OTF for skrivebordsbruk?
Du kan konvertere WOFF-filer til installerbare TTF- eller OTF-skrifter for skrivebordet på sekunder ved hjelp av File2File.app direkte i nettleseren din.
Trenger jeg fremdeles WOFF 1.0 på moderne nettsteder?
Nei. Alle moderne nettlesere støtter WOFF2 innfødt. WOFF 1.0 er bare nødvendig hvis du må støtte utdaterte eldre nettlesere som Internet Explorer.