Hva er en WOFF2-fil?
WOFF2 er et fontfilformat som er en mer komprimert versjon av Web Open Font Format (WOFF). Den ble utviklet som en måte å redusere filstørrelsen på nettfonter, slik at de kan lastes raskere og bruke mindre båndbredde. WOFF2 bruker en komprimeringsalgoritme kalt Brotli for å komprimere skriftdataene, noe som kan resultere i filstørrelser som er betydelig mindre enn tilsvarende WOFF skrifter. Dette formatet støttes av de fleste moderne nettlesere, inkludert Chrome, Firefox, Safari, Opera og Edge (versjon 14 og utover).
WOFF2-filformat - Mer informasjon
Den interne filstrukturen til en WOFF2-fontfil består av flere forskjellige deler, inkludert en overskrift, metadata, en tabellkatalog og selve skriftdataene.
Overskriften inneholder informasjon om det overordnede formatet til filen, inkludert versjonsnummer og antall tabeller som finnes i filen.
Metadata-delen inneholder informasjon som skriftnavn, opphavsrett og annen skriftrelatert informasjon.
Tabellkatalogen inneholder informasjon om de forskjellige tabellene som utgjør skriften, inkludert plasseringen i filen og lengden.
Skriftdataene i seg selv er delt inn i flere forskjellige tabeller, som hver inneholder spesifikk informasjon om fonten, for eksempel dens tegn og tilhørende glyfer. Disse tabellene kan inneholde:
- ‘glyf’-tabellen inneholder de faktiske skriftkonturene, inkludert formen og størrelsen på hvert tegn.
- ‘head’-tabellen inneholder generell informasjon om fonten, for eksempel versjonsnummer, designstørrelse og så videre.
- ‘hmtx’-tabellen inneholder informasjon om metrikken til skriften, inkludert bredden og plasseringen av tegnene.
- Hver tabell komprimeres og lagres i WOFF2-filformat etter at den har fullført prosessen med koding.
Strukturen generelt er utformet for å tillate rask parsing og dekoding, slik at nettlesere raskt og effektivt kan laste og vise fonten på et nettsted.
WOFF2 Header
WOFF-overskriften består av en identifiserende signatur som indikerer typen data som er inkludert i filen. WOFF-overskriften sammen med feltene er som følger.
Type | Field Name | Description |
---|---|---|
UInt32 | signature | 0x774F4632 ‘wOF2’ |
UInt32 | flavor | The “sfnt version” of the input font. |
UInt32 | length | Total size of the WOFF file. |
UInt16 | numTables | Number of entries in directory of font tables. |
UInt16 | reserved | Reserved; set to zero. |
UInt32 | totalSfntSize | Total size needed for the uncompressed font data, including the sfnt header, directory, and font tables (including padding). |
UInt32 | totalCompressedSize Total length of the compressed data block. | |
UInt16 | majorVersion | Major version of the WOFF file. |
UInt16 | minorVersion | Minor version of the WOFF file. |
UInt32 | metaOffset | Offset to metadata block, from beginning of WOFF file. |
UInt32 | metaLength | Length of compressed metadata block. |
UInt32 | metaOrigLength | Uncompressed size of metadata block. |
UInt32 | privOffset | Offset to private data block, from beginning of WOFF file. |
UInt32 | privLength | Length of private data block. |