Web Open Font Format (.woff)
W3C StandardiWeb 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 tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat WOFF-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat WOFF-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
77 4F 46 46ASCII-ESITYSTAPA: wOFF
Standardointi: W3C Recommendation (2012)
Tekniset tiedot
| Säiliöarkkitehtuuri | 44 tavun WOFF-otsake, jota seuraavat taulukkohakemisto, zlib-pakatut taulukkotiedot, valinnaiset laajennetut metatiedot ja yksityiset tiedot |
| Pakkaus | Deflate (zlib) -pakkaus käytetään kuhunkin fonttitaulukkoon erikseen |
| Tavujärjestys (Endianness) | Big-Endian (SFNT-standardi) |
| Väriavaruudet | Periytyy fontin alla olevista taulukoista |
| Kanavat ja rakenne | TrueType- (”glyf”) tai PostScript- (”CFF ”) -ääriviivat, metriikat ja typografiset ominaisuudet |
| Suurimmat mitat | Enintään 65 535 glyfiä fonttitiedostoa kohden |
| Läpinäkyvyys | Periytyy pohjana olevasta fonttimuodosta |
| Suoratoisto ja progressiivinen lataus | Taulukoiden purkaminen yksi kerrallaan mahdollistaa fontin lataamisen tietovirrasta |
Tekninen vertailumatriisi: WOFF vs. kilpailijat
| Tekninen attribuutti | WOFF (Nykyinen) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Pakkauskoodekki | Taulukoittain pakattu Deflate (zlib) | Brotli ja taulukoiden esikäsittely | Pakkaamaton SFNT | Pakkaamaton SFNT |
| Tunnistetavut | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| Suhteellinen tiedostokoko | Usein TTF:ää pienempi; säästö vaihtelee fontin mukaan | Usein TTF:ää pienempi; säästö vaihtelee fontin mukaan | Perustaso (100 %) | Perustaso (100 %) |
| Kohdeympäristö | Vanhat verkkoselaimet (IE9+, Safari 5+) | Tuki vaihtelee selaimen mukaan. | Työpöytäkäyttöjärjestelmät | Työpöytäjulkaiseminen ja painotyöt |
Yleiset vioittumistavat ja heksadesimaalinen palautusopas
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.app Font Converterilla.
Tietoturva-analyysi ja tiedostojäsentimien hyö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.
Tietoturvan parhaat käytännöt: Puhdista ladatut WOFF-tiedostot aina OTS:llä ennen niiden välittämistä käyttöjärjestelmän fonttimoottoreille.
Historia ja virstanpylväät
Tärkeimmät edut
- Voi pienentää verkkofonttitiedostoja raakoihin TTF- tai OTF-tiedostoihin verrattuna; säästö riippuu fontista ja kooderista.
- Monet selaimet tukevat WOFF-muotoa, myös vanhemmat versiot; yhteensopivuus riippuu selaimen versiosta ja alustasta.
- Sisältää valinnaisen XML-metatietolohkon fonttien lisensointia, tekijätietoja ja valimon tekijänoikeustietoja varten.
Tekniset rajoitukset
- WOFF2 on syrjäyttänyt WOFFin monissa verkkotyönkuluissa. Se käyttää Brotli-pakkausta ja fonttitaulukoiden muunnoksia; tiedostokoon säästö vaihtelee.
- 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 taikatavut 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ää Brotli-pakkausta ja fonttitaulukoiden muunnoksia. Tiedostokokojen ero riippuu fontista ja kooderista.
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?
Nykyiset suuret selaimet tukevat WOFF2:ta. WOFF-varatiedosto voi silti olla hyödyllinen vanhoissa selaimissa tai tietyissä sulautetuissa ympäristöissä.