Web Open Font Format (.woff)

W3C Standardno

Web Open Font Format (WOFF) povijesni je otvoreni standard web fontova prve generacije koji je odobrio W3C, a koji pakira standardne TrueType ili OpenType fontove uz zlib kompresiju i XML metapodatke o licenciranju.

Pregledaj i metapodaci

Operativni sustavi i alati za analizu datoteka identificiraju WOFF datoteke provjerom početnog niza binarnih bajtova:

Odaberite ili ispustite datoteke ovdje

100% privatna pretvorba u pregledniku - datoteke nikada ne napuštaju vaš uređaj

ili zalijepi Ctrl+V
Jamstvo privatnosti nulte mrežne transmisije: 0 bajtova učitano na vanjske poslužitelje. Sva obrada odvijala se lokalno u sandčiću vašeg preglednika.

Potpis zaglavlja na razini bajtova (Magic Bytes)

Operativni sustavi i alati za analizu datoteka identificiraju WOFF datoteke provjerom početnog niza binarnih bajtova:

HEX POTPIS (POMAK 0):

77 4F 46 46

ASCII PRIKAZ: wOFF

Standardizacija: W3C Recommendation (2012)

Tehničke specifikacije

Arhitektura spremnika44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
KompresijaDeflate (zlib) compression applied to each individual font table
字节序Big-Endian (SFNT standard)
Prostori bojaInherited from underlying font tables
Kanali i strukturaTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Maksimalne dimenzijeUp to 65,535 glyphs per font file
ProzirnostInherited from underlying font format
Streaming i progresivnoTable-by-table decompression enables streaming font loading

Tehnička matrica usporedbe: WOFF vs Konkurencija

Tehnički atributWOFF (Trenutno)WOFF2TTFOTF
Algoritam kompresijeDeflate (zlib) po tabliciBrotli s pretobradom tablicaNekomprimirani SFNTNekomprimirani SFNT
Magični potpiswOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relativna veličina datoteke~40% manja od TTF-a~60% manja od TTF-aOsnovni standard (100%)Osnovni standard (100%)
Ciljno okruženjeZastarjeli web preglednici (IE9+, Safari 5+)Moderni web preglednici (univerzalno)Stolni operativni sustaviStolno izdavaštvo i tisak

Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak

Upozorenje u konzoli preglednika: 'Failed to decode downloaded font: OTS parsing error'.

Temeljni uzrok: Nepodudaranje u deklariranoj duljini nekomprimirane tablice ili oštećen zlib tok.

Oporavak: Ponovno komprimirajte tablice fontova ili pretvorite u WOFF2 pomoću alata File2File Font Converter.

Sigurnosna analiza i vektori napada na parser

Web preglednici analiziraju WOFF datoteke preuzete s nepouzdanih web domena pomoću alata OpenType Sanitizer (OTS) kako bi blokirali zlonamjerne podatke.

Poznati vektori napada

  • Pretjerano čitanje međuspremnika tijekom zlib dekompresije oštećenih dijelova tablice fonta.
  • Nepodudarna polja duljine tablice koja uzrokuju prekoračenje međuspremnika gomile u ispisivačima fontova.
  • Uskkraćivanje usluge iscrpljivanjem memorije tijekom proširivanja tablice fontova.

Najbolje obrambene prakse:

Povijesni izvori i prekretnice

2018Naslijedio ga je WOFF2 kao preferirani standard web fontova zbog superiorne Brotli kompresije.
2012W3C službeno objavljuje WOFF 1.0 kao službenu preporuku web standarda.
2009Henrik Rydgård, Tal Leming i Jonathan Kew definiraju WOFF kako bi riješili probleme s licenciranjem web fontova.

Ključne prednosti

  • Smanjuje veličinu datoteka web fontova za 30% do 50% u usporedbi s nekomprimiranim sirovim TTF ili OTF datotekama.
  • Univerzalna povratna kompatibilnost na svakom stolnom i mobilnom web pregledniku izdanom od 2011. godine.
  • Uključuje opcionalni blok XML metapodataka za licenciranje fontova, zasluge autora i informacije o autorskim pravima ljevaonice.

Tehnička ograničenja i nedostaci

  • Zamijenjen formatom WOFF2, koji komprimira otprilike 30% bolje koristeći Brotli algoritam.
  • Ne može se izravno instalirati u stolne operativne sustave (Windows/Mac) bez pretvorbe u TTF/OTF.
  • Stariji zlib algoritam kompresije manje je učinkovit od modernih kodera entropije.

Zanimljive tehničke činjenice

  • Magični bajtovi za WOFF 1.0 su 'wOFF' (0x77 0x4F 0x46 0x46), dok WOFF 2.0 koristi 'wOF2'.
  • Ljevaonice slova pristale su dopustiti svoje fontove na webu tek nakon što je stvoren WOFF, jer je njegov specijalizirani spremnik razlikovao web fontove od stolnih fontova podložnih piratstvu.
  • WOFF je izvorno implementiran u Firefoxu 3.6 2010. godine prije nego što je postao službena W3C preporuka.

Često postavljana tehnička pitanja

Koja je razlika između WOFF-a i WOFF2?

WOFF koristi zlib kompresiju, dok WOFF2 koristi Googleov noviji algoritam Brotli i transformacije tablica, što rezultira datotekama koje su otprilike 30% manje od WOFF-a.

Kako mogu pretvoriti WOFF font u TTF ili OTF za stolno računalo?

WOFF datoteke možete pretvoriti u instalacijske TTF ili OTF fontove za radnu površinu u nekoliko sekundi pomoću File2File.app izravno u svom web-pregledniku.

Trebam li još uvijek WOFF 1.0 na modernim web-stranicama?

Ne. Svi moderni preglednici izvorno podržavaju WOFF2. WOFF 1.0 potreban je samo ako morate podržavati zastarjele, starije preglednike poput Internet Explorera.