UltKit

TTF, OTF ou WOFF : quel format de police choisir ?

Installez TTF ou OTF sur votre ordinateur, et servez WOFF2 sur votre site web. TrueType et OpenType sont les formats de bureau que tous les systèmes d'exploitation savent lire ; WOFF et WOFF2 contiennent les mêmes données de police, compressées pour le téléchargement, et les navigateurs privilégient WOFF2, environ 30 % plus léger.

Jonas WeberJonas WeberRédacteur en chef performance web
Mis à jour 11 min de lecture
Étagères et tiroirs remplis d'anciens caractères typographiques en bois de tailles et de couleurs variées
Answer

Quel format de police choisir : TTF, OTF, WOFF ou WOFF2 ?

Pour un ordinateur, installez du TTF ou de l'OTF : les deux fonctionnent sous Windows, macOS et Linux. Pour un site web, servez d'abord du WOFF2, et du WOFF uniquement en secours. Des fichiers TTF ou OTF bruts sur une page web sont 2 à 3 fois plus lourds que nécessaire.

TrueType, OpenType, WOFF et WOFF2 expliqués simplement

TrueType est le plus ancien des quatre. Apple l'a livré avec System 7 en 1991 et Microsoft l'a adopté pour Windows 3.1 l'année suivante. Une police TrueType décrit chaque lettre avec des courbes quadratiques, qui n'ont qu'un point de contrôle par segment courbe et étaient peu coûteuses à tracer sur le matériel de l'époque. Elle embarque aussi du hinting : de petits programmes intégrés à la police qui calent les hampes et les courbes sur la grille de pixels, pour que le texte reste net sur les écrans à basse résolution. L'extension .ttf désigne toujours les polices à contours quadratiques.

OpenType, annoncé par Microsoft et Adobe en 1996, est un conteneur plutôt qu'un nouveau type de contours. Il peut contenir des contours TrueType ou des contours PostScript stockés dans une table CFF, qui utilisent des courbes cubiques avec deux points de contrôle par segment. Autour de ces contours, il ajoute des tables de mise en page pour la typographie avancée : ligatures standard et discrétionnaires, petites capitales, chiffres elzéviriens, jeux stylistiques, alternatives contextuelles et crénage. Par convention, une police OpenType basée sur CFF est enregistrée en .otf, tandis qu'une police OpenType à contours TrueType garde l'extension .ttf.

WOFF et WOFF2 sont des conteneurs conçus pour le web. Le WOFF a été rédigé en 2009 et est devenu une recommandation du W3C en 2012 ; il compresse chaque table de la police avec zlib. Le WOFF2, recommandation du W3C en 2018, passe à Brotli et prétraite d'abord les données des glyphes, ce qui le rend généralement environ 30 % plus léger que le WOFF. Trois formats annexes complètent le tableau. L'EOT était le format web propre à Internet Explorer, les polices SVG un palliatif précoce réservé à Safari, et les polices variables, ajoutées à OpenType 1.8 en 2016, regroupent toute une gamme de graisses ou de largeurs dans un seul fichier.

  1. 1991

    TrueType

    Apple livre les contours quadratiques et le hinting avec System 7 ; Windows 3.1 suit en 1992.

  2. 1996

    OpenType

    Microsoft et Adobe annoncent un conteneur unique pour les contours TrueType ou CFF, avec des fonctions de mise en page.

  3. 2012

    WOFF 1.0

    Rédigé en 2009, il devient une recommandation du W3C : les mêmes tables, compressées avec zlib.

  4. 2016

    Polices variables

    OpenType 1.8 permet à un seul fichier de contenir des axes continus de graisse, de largeur ou d'inclinaison.

  5. 2018

    WOFF2

    Recommandation du W3C utilisant Brotli ; généralement environ 30 % plus léger que le WOFF.

Quel format de police installer sur votre ordinateur

Installez du TTF ou de l'OTF sans vous soucier de la différence. Windows 10 et 11 installent les deux d'un clic droit puis Installer, macOS les ouvre tous deux dans Livre des polices, et les bureaux Linux les prennent en compte depuis ~/.local/share/fonts une fois le cache des polices actualisé. Word, Photoshop, l'application de bureau de Figma, Affinity et LibreOffice lisent les deux. Si un graphiste vous envoie la même famille dans les deux versions, l'OTF est généralement celle dessinée par le créateur de la police, et le TTF une conversion destinée aux logiciels plus anciens.

Les cas où la différence compte sont rares. Certains logiciels de découpe et de broderie, moteurs de jeu et bibliothèques d'affichage pour microcontrôleurs ne comprennent que les contours TrueType : un OTF basé sur CFF s'y affiche mal et doit être converti d'OTF en TTF. Dans l'autre sens, aucun système de bureau n'installe directement du WOFF ou du WOFF2 : ces fichiers sont conçus pour les navigateurs. N'installez qu'une seule version d'une famille, car un TTF et un OTF portant le même nom interne perturbent les menus de polices et les applications peuvent choisir la mauvaise.

TrueType Collection.ttc · collection de polices · .otc
Un fichier unique qui regroupe plusieurs polices, généralement les styles ou variantes linguistiques d'une même famille, et leur permet de partager des glyphes identiques pour gagner de la place. Windows et macOS installent d'un coup toutes les polices qu'il contient ; les familles CJK système comme Noto Sans CJK sont souvent distribuées ainsi. Les collections basées sur des contours CFF utilisent parfois l'extension .otc.
Rangées de caractères typographiques en métal rangées dans les petits casiers d'un tiroir de casse en bois
Photo : Unsplash

Quel format de police utiliser sur un site web

Toutes les versions actuelles de Chrome, Edge, Firefox et Safari lisent le WOFF2 : il doit donc être la première source, et souvent la seule, de votre règle @font-face. Ajoutez une ligne WOFF ensuite uniquement si vos statistiques montrent encore des navigateurs antérieurs à 2016 environ, comme d'anciennes WebViews Android ou des navigateurs de télévision embarqués. Un navigateur parcourt la liste src dans l'ordre et télécharge le premier format pris en charge : le format de secours ne coûte donc rien aux visiteurs récents. Si vous avez déjà le fichier TrueType de bureau, TTF en WOFF produit ce format de secours en une seule passe.

Évitez de servir du TTF ou de l'OTF brut sur un site, sauf si une plateforme vous y oblige, comme certains éditeurs d'e-mails et anciens systèmes de gestion de contenu. Les navigateurs les affichent sans problème, mais les fichiers circulent non compressés à moins que votre serveur ne compresse les polices en gzip, et ils offrent à n'importe qui une copie prête à installer. La ligne font-display: swap ci-dessous indique au navigateur d'afficher aussitôt le texte avec une police de secours, puis de basculer sur votre police une fois chargée, au lieu de masquer le texte jusqu'à 3 secondes en attendant.

Hébergez les fichiers sur votre propre domaine dans la mesure du possible. Chrome, Safari et Firefox cloisonnent désormais leurs caches par site : une police récupérée depuis un CDN partagé n'est plus réutilisée d'un site à l'autre, et l'auto-hébergement évite une résolution DNS et une connexion. Ajoutez <link rel="preload"> uniquement pour une ou deux graisses affichées en haut de page ; précharger tous les styles fait concurrence à vos images pour la bande passante.

@font-face avec WOFF2 d'abord, WOFF en secours et swap
@font-face {
  font-family: "Source Serif";
  src: url("/fonts/source-serif-regular.woff2") format("woff2"),
       url("/fonts/source-serif-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2013-2014, U+2018-201E, U+20AC;
}

Poids habituel des fichiers de police et intérêt des sous-ensembles

Une seule graisse de texte latin enregistrée en WOFF2 pèse généralement 20–60 Ko. La même police en TTF non compressé est souvent deux à trois fois plus grosse, et une famille couvrant aussi le grec, le cyrillique et le vietnamien peut dépasser 200 Ko par style. Les polices chinoises, japonaises et coréennes sont d'une tout autre échelle : une graisse CJK complète contient des dizaines de milliers de glyphes et atteint généralement plusieurs mégaoctets même après compression WOFF2, ce qui est bien trop pour charger avant qu'une page puisse afficher son texte.

Le sous-ensemble (subsetting) supprime les caractères qu'une page n'utilise jamais, et unicode-range indique au navigateur quels caractères un fichier couvre, de sorte qu'il ne le télécharge que si la page les contient réellement. Google Fonts procède exactement ainsi pour le CJK, en découpant chaque famille en de nombreuses petites tranches chargées à la demande. Pour vos propres polices, l'option Caractères conservés du convertisseur de polices réduit un fichier à Latin + accents ou Uniquement les caractères saisis avant qu'il n'arrive sur votre serveur ; gardez Tous les caractères pour tout ce que vous installez sur un ordinateur.

Graisse de texte latin typique en WOFF2
20–60 Ko
Gain typique du WOFF2 par rapport au WOFF
≈ 30%
Graisse CJK complète typique, même en WOFF2
Plusieurs Mo

Convertir une police d'un format à l'autre : ce qui peut casser

Passer de TTF à OTF et inversement est un simple changement de conteneur pour les polices de type TrueType : la table des contours, les métriques et les fonctions de mise en page passent sans modification. Le cas intéressant est celui d'un OTF basé sur CFF converti en TTF. Les courbes cubiques ne peuvent pas être copiées dans un format de contours quadratiques : chaque courbe est donc redessinée en un ou plusieurs segments quadratiques, avec une tolérance bien inférieure à un pixel. Les hints PostScript ne peuvent pas non plus être traduits, d'où l'option Hinting de l'outil OTF en TTF : Conserver, Supprimer ou Auto-hinting.

Revenir du web vers le bureau est la conversion la plus courante. Vous téléchargez un thème ou un kit graphique, ne trouvez que des fichiers .woff ou .woff2, et avez besoin de la police dans Word ou Figma. WOFF en TTF retire la compression et réécrit les tables d'origine : glyphes, crénage et fonctions ressortent tels qu'ils sont entrés. Ce que vous ne pouvez pas récupérer, c'est ce que la version web avait déjà perdu, comme les caractères supprimés par le sous-ensemble ou les hints retirés pour gagner des octets.

La plupart des problèmes de conversion viennent de trois choses : le hinting, les fonctions de mise en page et les axes variables. La liste ci-dessous reprend les symptômes que vous êtes susceptible de remarquer après une conversion et la cause habituelle de chacun.

  • Le petit texte paraît flou ou irrégulier sous Windows après la conversion

    Les hints d'origine ont été supprimés ou n'ont pas pu être conservés. Reconvertissez avec Hinting réglé sur Auto-hinting ; sur les écrans Retina et de téléphone, la différence est rarement visible.

  • Les ligatures, petites capitales ou jeux stylistiques ne fonctionnent plus

    L'application n'expose peut-être pas les fonctions OpenType, ou une étape de sous-ensemble a supprimé les glyphes alternatifs auxquels ces fonctions renvoient. Convertissez le fichier d'origine avec Tous les caractères et vérifiez que votre application dispose d'un panneau de typographie ou OpenType.

  • Une police variable n'affiche plus qu'une seule graisse

    Certains outils aplatissent une police variable en une seule instance statique. Conservez la source variable et vérifiez que le résultat contient une liste d'axes avant de supprimer l'original.

  • La police convertie apparaît deux fois dans le menu des polices

    Les deux versions partagent le même nom de famille interne. Désinstallez l'ancien fichier, ou définissez un nouveau Nom de famille dans Réglages avancés avant de convertir.

Vérifier une police avant de l'utiliser ou de la convertir

Un fichier de police est une petite base de données, et trois de ses parties répondent à la plupart des questions. La table name contient le nom de famille, le nom du style, la version, la mention de copyright et souvent l'URL d'une licence ; Livre des polices de macOS l'affiche dans la vue d'informations, et l'aperçu de police de Windows en montre les premières lignes. La couverture des glyphes indique quelles langues la police peut composer : une police uniquement latine bascule silencieusement vers une autre police pour les caractères polonais, turcs ou vietnamiens qui lui manquent. Pour une police variable, la table fvar liste ses axes, comme la graisse de 100 à 900 ou la largeur de 75 à 125.

La licence mérite un coup d'œil avant toute mise en ligne. Les fonderies commerciales vendent souvent des licences distinctes pour le bureau, le web et les applications, et une licence bureau couvre généralement l'installation sur un nombre défini d'ordinateurs, mais pas la diffusion du fichier aux visiteurs d'un site ni son intégration dans une application mobile. Convertir une police change son format de fichier, jamais sa licence : un WOFF2 issu d'un TTF de bureau a les mêmes conditions que le TTF. Les polices sous licence SIL Open Font License, qui couvre la plupart de Google Fonts, peuvent être converties, réduites à un sous-ensemble et auto-hébergées.

  • Les noms de famille et de style sont corrects dans la table name
  • Le numéro de version correspond à la version que vous comptiez utiliser
  • Toutes les langues de votre texte disposent de leurs caractères accentués et spéciaux
  • Une police variable liste toujours ses axes de graisse ou de largeur
  • La licence couvre l'usage : bureau, site web, application ou intégration dans des documents

Tableau récapitulatif : le bon format de police pour chaque usage

La plupart des questions sur les polices se ramènent à l'endroit où le fichier sera utilisé. S'il est installé sur un ordinateur ou intégré à une application, utilisez TrueType ou OpenType ; si un navigateur le télécharge, utilisez les conteneurs web compressés. Le tableau associe les usages courants au format à choisir et à la conversion pour y arriver, pour vous permettre de passer l'historique et d'aller droit au fichier dont vous avez besoin.

Deux usages se situent entre les catégories. L'EPUB 3 accepte le TTF, l'OTF et le WOFF : les e-books peuvent donc utiliser l'une ou l'autre famille de formats, et les fichiers de polices SVG appartiennent à la même lignée que les graphiques vectoriels, mais comptent surtout aujourd'hui pour certains logiciels de traceur et de gravure plutôt que pour les navigateurs.

Quel format de police choisir, selon l'usage
UsageFormat à utiliserSi vous avez seulementConvertir
Installer sous Windows, macOS ou LinuxTTF ou OTFWOFF ou WOFF2WOFF → TTF
Logiciel qui refuse votre OTFTTFOTF basé sur CFFOTF → TTF
Police de site auto-hébergéeWOFF2TTF ou OTFTTF → WOFF2
Secours pour très anciens navigateursWOFFTTFTTF → WOFF
Site en chinois, japonais ou coréenTranches WOFF2 en sous-ensembleTTF ou OTF completSous-ensemble, puis WOFF2
Plusieurs graisses dans un fichierTTF ou WOFF2 variableTTF variableConserver les axes lors de la conversion
E-book (EPUB 3)TTF, OTF ou WOFFWOFF2WOFF2 → TTF

À retenir

  • Installez du TTF ou de l'OTF sur un ordinateur ; les deux fonctionnent sous Windows, macOS et Linux.
  • Servez d'abord du WOFF2 sur un site web, ajoutez du WOFF uniquement pour les très anciens navigateurs, et définissez font-display: swap.
  • Le WOFF et le WOFF2 sont des conteneurs compressés : les convertir change le poids du téléchargement, pas les lettres.
  • Créez des sous-ensembles par écriture et par unicode-range ; c'est surtout utile pour les polices CJK qui atteignent plusieurs mégaoctets.
  • Convertir change le format du fichier, jamais la licence, et peut supprimer le hinting ou les axes variables si l'on n'y prend pas garde.
PartagerXFacebookWhatsAppTelegram

Questions fréquentes

Une police OTF est-elle de meilleure qualité qu'une TTF ?

Pas de façon visible à des tailles normales. Les courbes cubiques et quadratiques peuvent décrire les mêmes formes de lettres, et les deux formats embarquent les mêmes fonctions OpenType. Les fichiers OTF sont souvent le dessin original du créateur, ce qui est la seule raison pratique de les préférer.

Pourquoi une police téléchargée arrive-t-elle dans un ZIP avec des fichiers TTF, WOFF et WOFF2 ?

Le fournisseur vous donne un fichier pour chaque usage. Installez le TTF sur votre ordinateur et envoyez le WOFF2 sur votre site web, plus le WOFF si vous voulez un format de secours.

WOFF2 fonctionne-t-il dans les e-mails ?

Seulement en partie. Apple Mail et Mail sur iOS chargent les polices web depuis une feuille de style liée, tandis que Gmail et Outlook sous Windows ignorent les polices personnalisées et affichent la police de secours : terminez donc toujours votre liste font-family par une police système sûre.

Peut-on utiliser un fichier TTC sur un site web ?

Pas directement. Les navigateurs attendent une police par fichier : extrayez donc les polices individuelles de la collection et convertissez chacune en WOFF2.

Les polices variables remplacent-elles les fichiers séparés pour chaque graisse ?

Souvent, oui. Un WOFF2 variable couvrant les graisses de 100 à 900 est généralement plus léger que quatre graisses statiques ou plus réunies, et tous les navigateurs actuels le prennent en charge. Si vous n'utilisez qu'une ou deux graisses, les fichiers statiques peuvent rester plus légers.

Vaut-il encore la peine de générer des polices EOT et SVG ?

Rarement. L'EOT ne concerne qu'Internet Explorer 8 et les versions antérieures, et les polices SVG sont ignorées par Chrome et Firefox actuels : elles ne valent la peine que pour des systèmes anciens ou des logiciels qui les lisent.

À lire aussi