Web Open Font Format (.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ú webszövegforma, 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 ejtsen ide fájlokat

100%-ban magánjellegű, böngészőn belüli konvertálás - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Nulla hálózati adatátviteli adatvédelmi garancia: 0 bájt lett feltöltve külső szerverekre. Minden feldolgozás helyben, az Ön böngészőjének homokozójában történt.

Bájt-szintű fejléc aláírás (Magic Bytes)

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 REPREZENTÁCIÓ: wOFF

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

Műszaki specifikációk

Konténer architektúra44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
TömörítésDeflate (zlib) compression applied to each individual font table
BájtsorrendBig-Endian (SFNT standard)
SzínterekInherited from underlying font tables
Csatornák és struktúraTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Max. méretekUp to 65,535 glyphs per font file
ÁtlátszóságInherited from underlying font format
Streaming és progresszívTable-by-table decompression enables streaming font loading

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
Magic aláíráswOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relatív fájlméret~40%-kal kisebb, mint a TTF~60%-kal kisebb, mint a TTFAlapszabvány (100%)Alapszabvány (100%)
CélkörnyezetÖrökölt webböngészők (IE9+, Safari 5+)Modern webböngészők (univerzális)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 download 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 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-tömörítsekitö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.

Védekező Legjobb Gyakorlatok:

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

  • 30%-ról 50%-ra csökkenti a webes betűtípusok fájlméretét a nyers, tömörítetlen TTF vagy OTF fájlokhoz képest.
  • Univerzális visszamenőleges kompatibilitás minden asztali és mobil webböngészőben, amelyet 2011 óta adtak ki.
  • 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

  • A WOFF2 váltotta fel, amely a Brotli algoritmus segítségével körülbelül 30%-kal kisebbre tömörít.
  • 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, míg a WOFF2 a Google újabb Brotli algoritmusát és táblatranszformációit, aminek eredményeként a fájlok körülbelül 30%-kal kisebbek, mint a WOFF.

Hogyan konvertálhatok át egy WOFF betűtípust TTF-be vagy OTF-be asztali használatra?

Másodpercek alatt konvertálhatsz WOFF fájlokat telepíthető asztali TTF vagy OTF betűtípusokká a File2File.app segítségével közvetlenül a webböngésződben.

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

Nem. Minden modern böngésző natívan támogatja a WOFF2-t. A WOFF 1.0 csak akkor szükséges, ha elavult, régi böngészőket, például az Internet Explorert is támogatnod kell.