WOFF
Web Open Font Format — le premier format de police conçu spécifiquement pour le Web.
Qu'est-ce que WOFF ?
WOFF 1.0 a été développé conjointement par Mozilla, Opera et Microsoft comme premier format de police conçu de A à Z pour le Web. Il est devenu une recommandation W3C en décembre 2012, marquant une étape importante dans la typographie web.
À sa base, WOFF est une enveloppe autour des données de polices TrueType ou OpenType existantes. Il applique la compression zlib pour réduire la taille des fichiers et inclut des champs de métadonnées optionnels pour les licences et les attributions. Avant WOFF, les développeurs web devaient servir des fichiers TTF ou OTF bruts — volumineux, non compressés et sans moyen standard d'incorporer des informations de licence.
L'innovation clé a été la création d'un conteneur de polices web dédié qui résolvait trois problèmes à la fois : des tailles de fichiers plus petites grâce à la compression, un bloc de métadonnées standard pour les licences de polices, et un format que les navigateurs pouvaient facilement valider et mettre en sandbox pour la sécurité.
Fonctionnement
Le conteneur WOFF encapsule les tables de polices existantes (provenant de fichiers source TTF ou OTF) avec une compression zlib par table. Chaque table de la police originale — contours de glyphes, données de crénage, enregistrements de noms — est compressée indépendamment, ce qui permet au navigateur de décompresser uniquement les tables dont il a besoin.
L'en-tête WOFF commence par une signature de quatre octets (wOFF), suivi de la saveur de la police (indiquant si les données encapsulées sont TrueType ou CFF), de la taille compressée totale et d'un pointeur vers le bloc de métadonnées optionnel. Le navigateur lit cet en-tête, décompresse les tables individuelles pour revenir à leur forme originale, et transmet les données de police reconstituées au moteur de rendu de texte.
Du point de vue du moteur de rendu, un fichier WOFF décompressé est identique au TTF ou OTF original — la compression est entièrement transparente.
Utilisation typique de @font-face@font-face {
font-family: 'MyIcons';
src: url('icons.woff2') format('woff2'),
url('icons.woff') format('woff');
}
Le navigateur essaie chaque entrée src dans l'ordre. Les navigateurs modernes chargeront le fichier WOFF2 (plus petit, plus rapide) ; les navigateurs plus anciens qui ne comprennent pas WOFF2 utiliseront le fichier WOFF en solution de repli. Cette approche en cascade vous offre des performances optimales avec une compatibilité maximale.
Avantages et inconvénients
- Bonne compression — environ 40 % plus petit que le TTF brut
- Largement pris en charge, y compris IE 9+
- Recommandation W3C (norme web officielle)
- Inclut la prise en charge des métadonnées et des licences
- Conversion simple depuis des sources TTF ou OTF
- Supplanté par WOFF2, qui offre une meilleure compression
- ~30 % plus grand que le fichier WOFF2 équivalent
- La compression zlib est moins efficace que Brotli
Prise en charge par les navigateurs
WOFF est pris en charge par tous les principaux navigateurs depuis le début des années 2010, ce qui en fait le format de solution de repli le plus sûr pour les polices web. Il couvre une gamme de navigateurs encore plus large que WOFF2 car il inclut la prise en charge des versions plus anciennes d'Internet Explorer.
| Navigateur | Version minimale |
|---|---|
| Chrome | 6+ |
| Firefox | 3.5+ |
| Safari | 5.1+ |
| Internet Explorer | 9+ |
| Edge | Toutes versions |
| Opera | 11.1+ |
Avec une couverture mondiale de 98 %+ des navigateurs, WOFF est compris par pratiquement tous les navigateurs encore en usage actif. Le seul écart notable est IE 6-8, qui nécessite EOT à la place.
WOFF vs WOFF2
WOFF2 est le successeur de WOFF, et dans la pratique, c'est une amélioration stricte. Voici comment ils se comparent :
| Aspect | WOFF | WOFF2 |
|---|---|---|
| Compression | zlib (deflate) | Brotli |
| Taux de compression | ~40 % plus petit que TTF | ~30 % plus petit que WOFF |
| Prétraitement | Aucun | Transformation des données de glyphes |
| Vitesse de décompression | Rapide | Plus rapide |
| Support IE | IE 9+ | Edge uniquement (pas IE) |
| Norme W3C | 2012 | 2018 |
WOFF2 offre environ 30 % de meilleure compression que WOFF grâce à Brotli et à une étape de prétraitement spécialisée qui rend les données de glyphes plus compressibles. Il est également plus rapide à décompresser. La prise en charge moderne des navigateurs pour WOFF2 est tout aussi large — le seul écart est Internet Explorer 9-11, qui prend en charge WOFF mais pas WOFF2.
Pour la plupart des projets ciblant les navigateurs à partir de 2024, WOFF2 seul est suffisant. Le seul avantage restant de WOFF est la couverture d'IE 9-11.
Quand utiliser WOFF
Malgré sa supplantation par WOFF2, il y a encore des raisons valables d'inclure WOFF dans votre pile de polices :
- Comme solution de repli aux côtés de WOFF2 — listez WOFF2 en premier dans votre déclaration
@font-faceet WOFF en second, donnant aux navigateurs modernes le fichier plus petit tout en garantissant que les navigateurs plus anciens reçoivent quand même la police. - Lorsque le support IE 11 est requis — IE 11 prend en charge WOFF mais pas WOFF2, donc WOFF est le meilleur format compressé disponible pour ce navigateur.
- Dans les environnements sans Brotli — certains outils de compilation plus anciens, proxies ou CDN peuvent ne pas gérer correctement la compression Brotli de WOFF2 ; la compression zlib de WOFF est universellement prise en charge.
Si aucun de ces cas ne s'applique à votre projet, vous pouvez ignorer WOFF en toute sécurité et n'utiliser que WOFF2.