Web Open Font Format (.woff)

W3C Standardi

Web Open Font Format (WOFF) on W3C:n tukema historiallinen ensimmäisen sukupolven avoin verkkofonttimuoto, joka paketoi tavalliset TrueType- tai OpenType-fontit zlib-pakkauksella ja XML-lisensointimetatiedoilla.

Tarkastele ja metatiedot

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat WOFF-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat WOFF-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEX-ALLEKIRJOITUS (OFFSET 0):

77 4F 46 46

ASCII-ESITYSTAPA: wOFF

Standardointi: W3C Recommendation (2012)

Tekniset tiedot

Säiliöarkkitehtuuri44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
PakkausDeflate (zlib) compression applied to each individual font table
Tavujärjestys (Endianness)Big-Endian (SFNT standard)
VäriavaruudetInherited from underlying font tables
Kanavat ja rakenneTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Suurimmat mitatUp to 65,535 glyphs per font file
LäpinäkyvyysInherited from underlying font format
Suoratoisto ja progressiivinen latausTable-by-table decompression enables streaming font loading

Tekninen vertailumatriisi: WOFF vs. kilpailijat

Tekninen attribuuttiWOFF (Nykyinen)WOFF2TTFOTF
PakkauskoodekkiDeflate (zlib) taulukkomuodossaBrotli taulukon esikäsittelylläPakkaamaton SFNTPakkaamaton SFNT
TaikatunnistewOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Suhteellinen tiedostokoko~40 % pienempi kuin TTF~60 % pienempi kuin TTFPerustaso (100 %)Perustaso (100 %)
KohdeympäristöVanhat verkkoselaimet (IE9+, Safari 5+)Nykyaikaiset verkkoselaimet (yleinen)TyöpöytäkäyttöjärjestelmätTyöpöytäjulkaiseminen ja painotyöt

Yleiset korruptiotilat ja heksatietojehdotusopas

Selaimen konsolissa näkyy varoitus: 'Failed to decode downloaded font: OTS parsing error'.

Perussyy: Virhe ilmoitetun pakkaamattoman taulukon pituudessa tai vioittunut zlib-virta.

Korjaus: Pakkaa fonttitaulukot uudelleen tai muunna WOFF2-muotoon File2File Font Converterilla.

Turvallisuusanalyysi ja jäsenninhyökkäysvektorit

Verkkoselaimet jäsentävät epäluotettavilta verkkotunnuksilta ladatut WOFF-tiedostot OpenType Sanitizer (OTS) -puhdistimen avulla hyökkäyshyötykuormien estämiseksi.

Tunnetut hyökkäysvektorit

  • Puskurin yliluku zlib-pakkauksen purkamisen aikana vioittuneista fonttitaulukon lohkoista.
  • Vastaamattomat taulukon pituuskentät, jotka laukaisevat keon puskuriylivuotoja fonttien renderöintimoottoreissa.
  • Palvelunesto muistin loppumisen vuoksi fonttitaulukon laajennuksen aikana.

Parhaat puolustuskäytännöt:

Historia ja virstanpylväät

2018Korvattu WOFF2:lla ensisijaisena verkkofonttistandardina ylivoimaisen Brotli-pakkauksen ansiosta.
2012W3C julkaisee virallisesti WOFF 1.0 -standardin virallisena verkkostandardisuosituksena.
2009Henrik Rydgård, Tal Leming ja Jonathan Kew määrittelevät WOFF:n verkkofonttien lisensointihuolten ratkaisemiseksi.

Tärkeimmät edut

  • Vähentää verkkofonttitiedostojen kokoa 30 % - 50 % verrattuna raakoihin pakkaamattomiin TTF- tai OTF-tiedostoihin.
  • Yleinen taaksepäin yhteensopivuus kaikissa vuodesta 2011 lähtien julkaistuissa työpöytä- ja mobiiliverkkoselaimissa.
  • Sisältää valinnaisen XML-metatietolohkon fonttien lisensointia, tekijätietoja ja valimon tekijänoikeustietoja varten.

Tekniset rajoitukset

  • Korvattu WOFF2:lla, joka pakkaa noin 30 % pienemmäksi Brotli-algoritmia käyttäen.
  • Ei voi asentaa suoraan työpöytäkäyttöjärjestelmiin (Windows/Mac) ilman muuntamista TTF/OTF-muotoon.
  • Vanhempi zlib-pakkausalgoritmi on vähemmän tehokas kuin nykyaikaiset entropiakooderit.

Mielenkiintoisia teknisiä faktoja

  • WOFF 1.0:n taikapalat (magic bytes) ovat 'wOFF' (0x77 0x4F 0x46 0x46), kun taas WOFF 2.0 käyttää tunnusta 'wOF2'.
  • Kirjasinvalimot suostuivat sallimaan fonttinsa verkossa vasta WOFF:n luomisen jälkeen, koska sen erikoistunut säiliö erotti verkkofontit kopioitavista työpöytäfonteista.
  • WOFF toteutettiin alun perin Firefox 3.6 -selaimessa vuonna 2010 ennen kuin siitä tuli virallinen W3C-suositus.

Usein kysytyt tekniset kysymykset

Mitä eroa on WOFF- ja WOFF2-muodoilla?

WOFF käyttää zlib-pakkausta, kun taas WOFF2 käyttää Googlen uudempaa Brotli-algoritmia ja taulukkomuunnoksia, minkä seurauksena tiedostot ovat noin 30 % pienempiä kuin WOFF.

Miten voin muuntaa WOFF-fontin TTF- tai OTF-muotoon työpöytäkäyttöä varten?

Voit muuntaa WOFF-tiedostot asennettaviksi työpöytä-TTF- tai OTF-fonteiksi sekunneissa File2File.app-palvelun avulla suoraan verkkoselaimessasi.

Tarvitsenko enää WOFF 1.0 -muotoa nykyaikaisilla verkkosivustoilla?

Et. Kaikki modernit selaimet tukevat WOFF2-muotoa natiivisti. WOFF 1.0 -muotoa tarvitaan vain, jos sinun on tuettava vanhentuneita selaimia, kuten Internet Exploreria.