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 ja metatiedot
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat WOFF-tiedostot tarkistamalla tiedoston alun binäärisarjan:
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 46ASCII-ESITYSTAPA: wOFF
Standardointi: W3C Recommendation (2012)
Tekniset tiedot
| Säiliöarkkitehtuuri | 44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data |
| Pakkaus | Deflate (zlib) compression applied to each individual font table |
| Tavujärjestys (Endianness) | Big-Endian (SFNT standard) |
| Väriavaruudet | Inherited from underlying font tables |
| Kanavat ja rakenne | TrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features |
| Suurimmat mitat | Up to 65,535 glyphs per font file |
| Läpinäkyvyys | Inherited from underlying font format |
| Suoratoisto ja progressiivinen lataus | Table-by-table decompression enables streaming font loading |
Tekninen vertailumatriisi: WOFF vs. kilpailijat
| Tekninen attribuutti | WOFF (Nykyinen) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| Pakkauskoodekki | Deflate (zlib) taulukkomuodossa | Brotli taulukon esikäsittelyllä | Pakkaamaton SFNT | Pakkaamaton SFNT |
| Taikatunniste | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| Suhteellinen tiedostokoko | ~40 % pienempi kuin TTF | ~60 % pienempi kuin TTF | Perustaso (100 %) | Perustaso (100 %) |
| Kohdeympäristö | Vanhat verkkoselaimet (IE9+, Safari 5+) | Nykyaikaiset verkkoselaimet (yleinen) | Työpöytäkäyttöjärjestelmät | Työ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
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.