Web Open Font Format (.woff)

W3C Štandard

Web Open Font Format (WOFF) je historický štandard webových fontov prvej generácie schválený konzorciom W3C, ktorý obaľuje štandardné fonty TrueType alebo OpenType pomocou kompresie zlib a metadát licencií vo formáte XML.

Preskúmať a metadáta

Operačné systémy a analyzátory súborov identifikujú súbory WOFF kontrolou počiatočnej binárnej bajtovej sekvencie:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

Podpis hlavičky na úrovni bajtov (Magic Bytes)

Operačné systémy a analyzátory súborov identifikujú súbory WOFF kontrolou počiatočnej binárnej bajtovej sekvencie:

HEXADECIMÁLNY PODPIS (OFFSET 0):

77 4F 46 46

ASCII REPREZENTÁCIA: wOFF

Štandardizácia: W3C Recommendation (2012)

Technické špecifikácie

Architektúra kontajnera44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
KompresiaDeflate (zlib) compression applied to each individual font table
Poradie bajtov (Endianness)Big-Endian (SFNT standard)
Farebné priestoryInherited from underlying font tables
Kanály a štruktúraTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
Max. rozmeryUp to 65,535 glyphs per font file
PriehľadnosťInherited from underlying font format
Streamovanie a postupné načítavanieTable-by-table decompression enables streaming font loading

Technická porovnávacia matica: WOFF vs konkurenti

Technický atribútWOFF (Aktuálne)WOFF2TTFOTF
Kompresný kodekDeflate (zlib) podľa tabuľkyBrotli s predbežným spracovaním tabuliekNekomprimovaný SFNTNekomprimovaný SFNT
Magický podpiswOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
Relatívna veľkosť súboru~o 40 % menší ako TTF~o 60 % menší ako TTFZákladný štandard (100 %)Základný štandard (100 %)
Cieľové prostredieStaršie webové prehliadače (IE9+, Safari 5+)Moderné webové prehliadače (univerzálne)Desktopové operačné systémyStolné publikovanie a tlač

Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde

Varovanie v konzole prehliadača: 'Failed to decode downloaded font: OTS parsing error'.

Hlavná príčina: Nesúlad v deklarovanej dĺžke nekomprimovanej tabuľky alebo poškodený prúd zlib.

Obnova: Znovu skomprimujte tabuľky fontov alebo ich konvertujte na WOFF2 pomocou konvertora fontov File2File.

Bezpečnostná analýza a vektory útokov na parser

Webové prehliadače analyzujú súbory WOFF stiahnuté z nedôveryhodných webových domén pomocou nástroja OpenType Sanitizer (OTS), aby zablokovali exploitové payloady.

Známe vektory útokov

  • Nadmerné čítanie vyrovnávacej pamäte (buffer over-read) počas zlib dekompresie poškodených častí tabuľky fontov.
  • Nesprávne polia dĺžky tabuľky vyvolávajúce pretečenie haldy (heap buffer overflow) v vykresľovačoch fontov.
  • Odopretie služby (DoS) prostredníctvom vyčerpania pamäte počas rozbaľovania tabuľky fontov.

Najlepšie obranné postupy:

Historický pôvod a míľniky

2018Nahradený formátom WtoISOString2 ako preferovaný štandard webových fontov vďaka lepšej kompresii Brotli.
2012W3C oficiálne publikuje WOFF 1.0 ako formálne odporúčanie webového štandardu.
2009Henrik Rydgård, Tal Leming a Jonathan Kew špecifikujú WOFF na vyriešenie problémov s licencovaním webových fontov.

Kľúčové výhody a prednosti

  • Zmenšuje veľkosť súborov webových fontov o 30 % až 50 % v porovnaní so surovými nekomprimovanými súbormi TTF alebo OTF.
  • Univerzálna spätná kompatibilita so všetkými desktopovými a mobilnými webovými prehliadačmi vydanými od roku 2011.
  • Obsahuje voliteľný blok metadát XML pre licencie fontov, zásluhy autorov a informácie o autorských právach slievarní písma.

Technické obmedzenia a nevýhody

  • Nahradený formátom WOFF2, ktorý komprimuje približne o 30 % efektívnejšie pomocou algoritmu Brotli.
  • Nedá sa priamo nainštalovať do desktopových operačných systémov (Windows/Mac) bez konverzie na TTF/OTF.
  • Starší kompresný algoritmus zlib je menej účinný ako moderné entropické enkodéry.

Zaujímavé technické drobnosti

  • Magické bajty pre WOFF 1.0 sú 'wOFF' (0x77 0x4F 0x46 0x46), zatiaľ čo WOFF 2.0 používa 'wOF2'.
  • Sliarenne písma súhlasili s sprístupnením svojich fontov na webe až po vytvorení formátu WOFF, pretože jeho špecializovaný kontajner odlišoval webové fonty od pirátskych desktopových fontov.
  • Formát WOFF bol pôvodne implementovaný vo Firefoxe 3.6 v roku 2010 predtým, ako sa stal oficiálnym odporučením W3C.

Často kladené technické otázky

Aký je rozdiel medzi WOFF a WOFF2?

WOFF využíva kompresiu zlib, zatiaľ čo WOFF2 používa novší algoritmus Brotli od Google a transformácie tabuliek, čo vedie k súborom, ktoré sú približne o 30 % menšie ako WOFF.

Ako môžem konvertovať font WOFF na TTF alebo OTF na použitie na pracovnej ploche?

Súbory WOFF môžete konvertovať na inštalovateľné desktopové fonty TTF alebo OTF v priebehu niekoľkých sekúnd pomocou nástroja File2File.app priamo vo vašom webovom prehliadači.

Potrebujem na moderných webových stránkach stále formát WOFF 1.0?

Nie. Všetky moderné prehliadače podporujú WOFF2 natívne. WOFF 1.0 je potrebný iba vtedy, ak musíte podporovať zastarané staršie prehliadače, ako je napríklad Internet Explorer.