Webes nyílt betűformátum (WOFF) (.woff)

W3C Szabvány

A Web Open Font Format (WOFF) a W3C által jóváhagyott, történelmi jelentőségű, első generációs nyílt szabványú webes betűtípus-formátum, amely a szabványos TrueType vagy OpenType betűtípusokat zlib-tömörítéssel és XML licencelési metaadatokkal csomagolja.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) WOFF fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) WOFF fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

77 4F 46 46

ASCII ÁBRÁZOLÁS: wOFF

Szabványosítás: W3C Recommendation (2012)

Műszaki specifikációk

Konténer architektúra44 bájtos WOFF-fejléc, amelyet táblakatalógus, zlib-tömörített táblaadatok, opcionális bővített metaadatok és saját adatok követnek
TömörítésDeflate (zlib) tömörítés minden egyes betűtípustáblán
Bájtsorrendnagy bájtsorrend (SFNT-szabvány)
SzínterekAz alapul szolgáló betűtípustáblákból öröklődik
Csatornák és struktúraTrueType („glyf”) vagy PostScript („CFF ”) karakterkép-kontúrok, metrikák és tipográfiai funkciók
Max. méretekBetűkészletenként legfeljebb 65 535 glifa
ÁtlátszóságAz alapul szolgáló betűtípus-formátumból öröklődik
Streaming és progresszívA táblák egyenkénti kitömörítése lehetővé teszi a betűtípus adatfolyamként történő betöltését

Műszaki összehasonlító mátrix: WOFF vs. versenytársak

Technikai attribútumWOFF (Jelenlegi)WOFF2TTFOTF
Tömörítési kodekDeflate (zlib) táblázatonkéntBrotli táblázat-előfeldolgozássalTömörítetlen SFNTTömörítetlen SFNT
FájlazonosítówOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relatív fájlméretGyakran kisebb a TTF-nél; a csökkenés mértéke betűkészletenként változikGyakran kisebb a TTF-nél; a csökkenés mértéke betűkészletenként változikAlapszabvány (100%)Alapszabvány (100%)
CélkörnyezetÖrökölt webböngészők (IE9+, Safari 5+)A támogatás böngészőnként eltér.Asztali operációs rendszerekAsztali kiadványszerkesztés és nyomtatás

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Böngészőkonzol-figyelmeztetés: 'Failed to decode downloaded font: OTS parsing error'.

Kiváltó ok: Eltérés a deklarált tömörítetlen táblázathosszban vagy sérült zlib adatfolyam.

Helyreállítás: Tömörítse újra a betűtípus-táblázatokat, vagy alakítsa át WOFF2 formátumra a File2File.app Font Converter segítségével.

Biztonsági elemzés és elemző (parser) támadási vektorok

A webböngészők a nem megbízható webdoménekről letöltött WOFF-fájlokat az OpenType Sanitizer (OTS) segítségével elemzik, hogy blokkolják a kártevő payloadokat.

Ismert támadási vektorok

  • Puffertúlolvasás a sérült betűtípus-táblázat darabjainak zlib-kitömörítése során.
  • Eltérő táblázathossz-mezők, amelyek heap puffertúlcsordulást váltanak ki a betűtípus-megjelenítőkben.
  • Szolgáltatásmegtagadás memóriakimerülés révén a betűtípus-táblázat kibővítése során.

Ajánlott védekezési módszerek: A letöltött WOFF-fájlokat mindig tisztítsa meg az OTS segítségével, mielőtt átadná őket az operációs rendszer betűtípus-motorjainak.

Történeti háttér és mérföldkövek

2018A WOFF2 váltotta fel a preferált webes betűtípus-szabványként a kiváló Brotli tömörítés miatt.
2012A W3C hivatalosan is kiadja a WOFF 1.0-t hivatalos webes szabványajánlásként.
2009Henrik Rydgård, Tal Leming és Jonathan Kew specifikálja a WOFF-ot a webes betűtípus-licencelési aggályok megoldására.

Főbb előnyök

  • A WOFF a nyers TTF- vagy OTF-fájlokhoz képest csökkentheti a webes betűtípusfájlok méretét; a csökkenés a betűkészlettől és a kódolótól függ.
  • A WOFF-ot számos böngésző támogatja, köztük régebbi verziók is; a kompatibilitás a böngésző verziójától és a platformtól függ.
  • Tartalmaz egy opcionális XML metaadat-blokkot a betűtípus-licenceléshez, a szerzői kreditekhez és az öntödei szerzői jogi információkhoz.

Technikai korlátok és hátrányok

  • Számos webes munkafolyamatban a WOFF2 váltotta fel. A WOFF2 Brotli-tömörítést és betűtípustábla-átalakításokat használ; a fájlméret csökkenése változó.
  • Nem telepíthető közvetlenül asztali operációs rendszerekre (Windows/Mac) TTF/OTF formátumra való átalakítás nélkül.
  • A régebbi zlib tömörítési algoritmus kevésbé hatékony, mint a modern entrópia-kódolók.

Érdekes technikai tudnivalók

  • A WOFF 1.0 magic bájtjai a 'wOFF' (0x77 0x4F 0x46 0x46), míg a WOFF 2.0 a 'wOF2' bájtokat használja.
  • A betűtípus-öntödék csak a WOFF létrehozása után egyeztek meg abban, hogy engedélyezik betűtípusaikat a weben, mivel annak speciális tárolója megkülönböztette a webes betűtípusokat a kalózkodásra alkalmas asztali betűtípusoktól.
  • A WOFF-ot eredetileg a Firefox 3.6-ban implementálták 2010-ben, mielőtt hivatalos W3C-ajánlássá vált volna.

Gyakran Ismételt Műszaki Kérdések

Mi a különbség a WOFF és a WOFF2 között?

A WOFF zlib-tömörítést használ, a WOFF2 pedig Brotli-tömörítést és betűtípustábla-átalakításokat. A fájlméretek közötti különbség a betűkészlettől és a kódolótól függ.

Hogyan alakíthatok át egy WOFF betűtípust TTF- vagy OTF-formátumúvá asztali használatra?

A File2File.app segítségével másodpercek alatt konvertálhatja a WOFF-fájlokat telepíthető asztali TTF- vagy OTF-betűtípusokká, közvetlenül a böngészőben.

Szükségem van még a WOFF 1.0-ra a modern webhelyeken?

A jelenlegi főbb böngészők támogatják a WOFF2-t. Régebbi böngészők vagy bizonyos beágyazott környezetek esetén hasznos lehet WOFF tartalékformátumot is biztosítani.