WOFF

Web Open Font Format — il primo formato di font progettato specificamente per il web.

.woff Web Open Font Format 1.0
TipoBinario compresso
Compressionezlib (deflate)
Dimensione file~40% più piccolo del TTF
Supporto98%+ dei browser
Ideale perFallback per browser più vecchi
BobcornEsportazione opzionale

Che cos'è WOFF?

WOFF 1.0 è stato sviluppato congiuntamente da Mozilla, Opera e Microsoft come il primo formato di font creato da zero per il web. È diventato una Raccomandazione W3C nel dicembre 2012, segnando una pietra miliare nella tipografia web.

Nella sua essenza, WOFF è un wrapper attorno ai dati di font TrueType o OpenType esistenti. Applica la compressione zlib per ridurre le dimensioni del file e include campi di metadati opzionali per la licenza e l'attribuzione. Prima di WOFF, gli sviluppatori web dovevano distribuire file TTF o OTF grezzi — grandi, non compressi e privi di qualsiasi modo standard per incorporare le informazioni sulla licenza.

L'innovazione principale consisteva nel creare un contenitore di font web ad hoc che risolvesse tre problemi contemporaneamente: dimensioni dei file ridotte grazie alla compressione, un blocco di metadati standard per le licenze dei font e un formato che i browser potessero validare e isolare facilmente per motivi di sicurezza.

Come Funziona

Il contenitore WOFF racchiude le tabelle dei font esistenti (da file TTF o OTF) con compressione zlib per tabella. Ogni tabella del font originale — contorni dei glifi, dati di crenatura, record di denominazione — viene compressa in modo indipendente, consentendo al browser di decomprimere solo le tabelle di cui ha bisogno.

L'intestazione WOFF inizia con una firma di quattro byte (wOFF), seguita dal flavor del font (che indica se i dati racchiusi sono TrueType o CFF), la dimensione totale compressa e un puntatore al blocco di metadati opzionale. Il browser legge questa intestazione, decomprime le singole tabelle riportandole alla loro forma originale e passa i dati del font ricostruiti al motore di rendering del testo.

Dal punto di vista del motore di rendering, un file WOFF decompresso è identico al TTF o OTF originale — la compressione è completamente trasparente.

Utilizzo tipico di @font-face
@font-face {
  font-family: 'MyIcons';
  src: url('icons.woff2') format('woff2'),
       url('icons.woff') format('woff');
}

Il browser tenta ogni voce src in ordine. I browser moderni caricheranno il file WOFF2 (più piccolo, più veloce); i browser più vecchi che non comprendono WOFF2 ricorreranno al file WOFF. Questo approccio a cascata garantisce prestazioni ottimali con la massima compatibilità.

Vantaggi e Svantaggi

    Vantaggi
  • Buona compressione — circa il 40% più piccolo del TTF grezzo
  • Ampiamente supportato, incluso IE 9+
  • Raccomandazione W3C (standard web ufficiale)
  • Include supporto per metadati e licenze
  • Conversione semplice da sorgenti TTF o OTF
    Svantaggi
  • Superato da WOFF2, che offre una migliore compressione
  • ~30% più grande del file WOFF2 equivalente
  • La compressione zlib è meno efficiente di Brotli

Supporto Browser

WOFF è supportato da tutti i principali browser sin dai primi anni 2010, rendendolo il formato di fallback più sicuro per i font web. Copre una gamma ancora più ampia di browser rispetto a WOFF2, poiché include il supporto per le versioni più vecchie di Internet Explorer.

BrowserVersione minima
Chrome6+
Firefox3.5+
Safari5.1+
Internet Explorer9+
EdgeTutte le versioni
Opera11.1+

Con una copertura globale dei browser superiore al 98%, WOFF è compreso da praticamente ogni browser ancora in uso attivo. L'unica lacuna significativa è IE 6-8, che richiede invece EOT.

WOFF vs WOFF2

WOFF2 è il successore di WOFF e, nella maggior parte dei casi pratici, rappresenta un miglioramento netto. Ecco un confronto:

AspettoWOFFWOFF2
Compressionezlib (deflate)Brotli
Rapporto di compressione~40% più piccolo del TTF~30% più piccolo di WOFF
PreelaborazioneNessunaTrasformazione dati glifo
Velocità di decompressioneVelocePiù veloce
Supporto IEIE 9+Solo Edge (no IE)
Standard W3C20122018

WOFF2 offre circa il 30% di compressione in più rispetto a WOFF grazie a Brotli e a una fase di preelaborazione specializzata che rende i dati dei glifi più comprimibili. È anche più veloce da decomprimere. Il supporto browser moderno per WOFF2 è altrettanto ampio — l'unica lacuna è Internet Explorer 9-11, che supporta WOFF ma non WOFF2.

Per la maggior parte dei progetti che puntano ai browser dal 2024 in poi, solo WOFF2 è sufficiente. L'unico vantaggio rimanente di WOFF è la copertura di IE 9-11.

Quando Usare WOFF

Nonostante sia stato superato da WOFF2, ci sono ancora validi motivi per includere WOFF nel proprio font stack:

  • Come fallback insieme a WOFF2 — elencare WOFF2 per primo nella dichiarazione @font-face e WOFF per secondo, offrendo ai browser moderni il file più piccolo garantendo al tempo stesso che i browser più vecchi ricevano comunque il font.
  • Quando è richiesto il supporto a IE 11 — IE 11 supporta WOFF ma non WOFF2, quindi WOFF è il miglior formato compresso disponibile per quel browser.
  • In ambienti senza Brotli — alcuni strumenti di build, proxy o CDN più vecchi potrebbero non gestire correttamente la compressione Brotli di WOFF2; la compressione zlib di WOFF è universalmente supportata.

Se nessuna di queste condizioni si applica al progetto, è possibile ignorare WOFF in modo sicuro e distribuire solo WOFF2.

In Bobcorn
Nella finestra di dialogo di esportazione di Bobcorn, WOFF è un formato opzionale. Se il progetto necessita del supporto a IE 11, abilitarlo insieme al WOFF2, che è sempre incluso. Per la maggior parte dei progetti moderni, è possibile ignorare WOFF completamente e affidarsi unicamente a WOFF2.