Web Open Font Format (.woff)

W3C Standard

Web 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:

Vælg eller træk filer hertil

100% privat konvertering i browseren - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 bytes uploadet til eksterne servere. Al behandling foregik lokalt i din browsers sandkasse.

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 46

ASCII-REPRÆSENTATION: wOFF

Standardisering: W3C Recommendation (2012)

Tekniske 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
BytterejsningBig-Endian (SFNT standard)
FarverumInherited from underlying font tables
Kanaler og strukturTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Maks. dimensionerUp to 65,535 glyphs per font file
GennemsigtighedInherited from underlying font format
Streaming og progressivTable-by-table decompression enables streaming font loading

Tekniske sammenligningsmatrix: WOFF vs. konkurrenter

Teknisk attributWOFF (Aktuel)WOFF2TTFOTF
KomprimeringscodecDeflate (zlib) pr. tabelBrotli med tabelpræprocesseringUkomprimeret SFNTUkomprimeret SFNT
Magisk signaturwOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relativ filstørrelse~40% mindre end TTF~60% mindre end TTFBaselinestandard (100%)Baselinestandard (100%)
MålmiljøÆldre webbrowsere (IE9+, Safari 5+)Moderne webbrowsere (Universel)Stationære operativsystemerDesktop-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

2018Afløst af WOFF2 som den foretrukne webfontsstandard på grund af overlegen Brotli-komprimering.
2012W3C udgiver officielt WOFF 1.0 som en formel webstandardanbefaling.
2009Henrik Rydgård, Tal Leming og Jonathan Kew specificerer WOFF for at løse problemer med webfontlicensering.

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.