Web Open Font Format (.woff)
W3C StandardWeb Open Font Format (WOFF) er det historiske første generations åbne standard-webrontformat, der er godkendt af W3C, og som indpakker standard TrueType- eller OpenType-skrifttyper med zlib-komprimering og XML-licensmetadata.
Undersøg & Metadata
Operativsystemer og filanalysatorer identificerer WOFF-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer WOFF-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
77 4F 46 46ASCII-REPRÆSENTATION: wOFF
Standardisering: W3C Recommendation (2012)
Tekniske 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 |
| Bytterejsning | Big-Endian (SFNT standard) |
| Farverum | Inherited from underlying font tables |
| Kanaler og struktur | TrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features |
| Maks. dimensioner | Up to 65,535 glyphs per font file |
| Gennemsigtighed | Inherited from underlying font format |
| Streaming og progressiv | Table-by-table decompression enables streaming font loading |
Tekniske sammenligningsmatrix: WOFF vs. konkurrenter
| Teknisk attribut | WOFF (Aktuel) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Komprimeringscodec | Deflate (zlib) pr. tabel | Brotli med tabelpræprocessering | Ukomprimeret SFNT | Ukomprimeret 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 end TTF | ~60% mindre end TTF | Baselinestandard (100%) | Baselinestandard (100%) |
| Målmiljø | Ældre webbrowsere (IE9+, Safari 5+) | Moderne webbrowsere (Universel) | Stationære operativsystemer | Desktop-publishing og print |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Browserkonsoladvarsel: 'Failed to decode downloaded font: OTS parsing error'.
Grundlæggende årsag: Uoverensstemmelse i erklæret ukomprimeret tabellængde eller beskadiget zlib-strøm.
Gendannelse: Genkomprimer fonttabeller eller konverter til WOFF2 ved hjælp af File2File Font Converter.
Sikkerhedsanalyse og parser-angrebsvektorer
Webbrowsere fortolker WOFF-filer downloadet fra utillidsvækkende webdomener ved hjælp af OpenType Sanitizer (OTS) for at blokere udnyttelsesnyttelast.
Kendte angrebsvektorer
- Buffer over-read under zlib-dekomprimering af korrupte fonttabelstumper.
- Uoverensstemmende tabellængdefelter, der udløser heap buffer overflows i fontgengivere.
- Nægtelse af tjeneste (DoS) gennem hukommelsesudmattelse under udvidelse af fonttabeller.
Defensive bedste praksisser:
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Reducerere webfont-filstørrelser med 30% til 50% sammenlignet med rå ukomprimerede TTF- eller OTF-filer.
- Universal bagudkompatibilitet på tværs af alle stationære og mobile webbrowsere udgivet siden 2011.
- Indeholder en valgfri XML-metadatablok til fontlicensering, ophavsmandskreditering og støberiopphovsretlige oplysninger.
Tekniske begrænsninger og ulemper
- Efterfulgt af WOFF2, som komprimerer ca. 30% mindre ved hjælp af Brotli-algoritmen.
- Kan ikke installeres direkte på stationære operativsystemer (Windows/Mac) uden konvertering til TTF/OTF.
- Ældre zlib-komprimeringsalgoritme er mindre effektiv end moderne entropikodere.
Interessant teknisk trivia
- Magiske bytes for WOFF 1.0 er 'wOFF' (0x77 0x4F 0x46 0x46), hvorimod WOFF 2.0 bruger 'wOF2'.
- Skriftstøberier gik kun med til at tillade deres skrifttyper på nettet, efter WOFF blev oprettet, fordi dens specialiserede beholder adskilte webskrifttyper fra piratkopierbare desktopskrifttyper.
- WOFF blev oprindeligt implementeret i Firefox 3.6 i 2010, før den blev en officiel W3C-anbefaling.
Ofte stillede tekniske spørgsmål
Hvad er forskellen mellem WOFF og WOFF2?
WOFF bruger zlib-komprimering, mens WOFF2 bruger Googles nyere Brotli-algoritme og tabeltransformationer, hvilket resulterer i filer, der er ca. 30 % mindre end WOFF.
Hvordan kan jeg konvertere en WOFF-skrifttype til TTF eller OTF til skrivebordsbrug?
Du kan konvertere WOFF-filer til installerbare TTF- eller OTF-skrifttyper til skrivebordet på få sekunder ved hjælp af File2File.app direkte i din webbrowser.
Har jeg stadig brug for WOFF 1.0 på moderne hjemmesider?
Nej. Alle moderne browsere understøtter WOFF2 indbygget. WOFF 1.0 er kun nødvendigt, hvis du skal understøtte forældede ældre browsere som Internet Explorer.