Skip to content
Back to Blog
format-comparisons

TTF vs OTF vs WOFF2 : Comparaison des formats de police

2026-05-17 9 min read

Petite histoire de ces trois formats

TrueType (TTF) a vu le jour en 1989, fruit d'un effort commun entre Apple et Microsoft. Leur objectif était de donner aux systèmes d'exploitation un contrôle direct sur le rendu des polices, se libérant ainsi de leur dépendance aux licences PostScript d'Adobe. Un fichier TTF stocke les contours des glyphes sous forme de courbes de Bézier quadratiques et rassemble tout — métriques, instructions de hinting, tables de crénage — en un seul binaire. Pendant la majeure partie des années 90, c'était le roi incontesté des polices de bureau sur Windows comme sur macOS. Puis est arrivé OpenType (OTF) en 1996, développé par Microsoft et bientôt rejoint par Adobe. Au lieu de repartir de zéro, OpenType a intelligemment étendu le conteneur TrueType. Un fichier OTF peut utiliser soit les courbes quadratiques de TrueType, soit les courbes cubiques PostScript d'Adobe (contours CFF), c'est pourquoi tu verras le terme « OTF basé sur CFF ». Plus important encore, le format a introduit un ensemble puissant de tables de mise en page — GSUB et GPOS — qui débloquent des fonctionnalités comme les ligatures, les petites capitales, les fioritures (swashes) et les alternatives contextuelles. Un OTF sophistiqué pour une écriture complexe comme l'arabe peut contenir des milliers de règles de substitution de glyphes. WOFF2 (Web Open Font Format 2) joue dans une toute autre catégorie. Ratifié comme une recommandation du W3C en 2018, ce n'est pas un nouveau format de contour mais un conteneur de compression hyper-efficace. Il prend un TTF ou un OTF existant, lui applique la compression Brotli et une étape de pré-traitement spéciale optimisée pour les polices, et crache un fichier souvent 30 à 50 % plus petit. WOFF2 a été conçu exclusivement pour la distribution sur le web. Les navigateurs le décompressent à la volée, il ne passe donc même jamais par le gestionnaire de polices de ton OS. Saisir cette distinction — format de contour contre format de distribution — est la clé pour comprendre comment les utiliser.

Taille de fichier et compression : les chiffres qui comptent vraiment

La taille brute du fichier, c'est là que ça fait mal : temps de chargement des pages, taille des bundles d'applications et coûts de bande passante CDN. Jetons un œil à quelques chiffres concrets. Une police latine modérément complexe comme Source Sans Pro Regular pèse environ 260 Ko en TTF. La version OTF, qui utilise des contours CFF plus efficaces, fait environ 155 Ko. C'est parce que les courbes cubiques de CFF peuvent souvent décrire des formes avec moins de points que les courbes quadratiques de TrueType, ce qui rend les OTF basés sur CFF 20 à 40 % plus petits pour les écritures latines. Maintenant, convertis cette même police en WOFF2 et tu obtiens un fichier d'environ 75 Ko. C'est une réduction massive de 71 % par rapport au TTF d'origine. Avec une police CJK (chinois, japonais, coréen), l'histoire est différente. Un TTF CJK complet comme Noto Sans CJK SC peut exploser à plus de 20 Mo. La compression WOFF2 aide, le ramenant peut-être à 13-15 Mo, mais ce n'est pas une solution miracle. La vraie solution pour les polices énormes est la création de sous-ensembles (subsetting), un processus distinct de la simple conversion de format. WOFF2 seul ne sauvera pas une police avec 65 000 glyphes. Quant à WOFF (version 1), c'est quasiment une pièce de musée. Il utilisait la compression zlib et a été totalement supplanté par WOFF2. Selon caniuse.com, le support de WOFF2 a atteint plus de 97 % des utilisateurs mondiaux dès 2024, couvrant tous les navigateurs modernes qui t'intéressent. Les seuls réfractaires sont d'anciens navigateurs embarqués ou des bornes fonctionnant encore sous Internet Explorer 11. Pour tout nouveau projet web, WOFF2 n'est pas seulement le meilleur choix ; c'est le seul qui soit logique.

Fonctionnalités OpenType : là où l'OTF surpasse vraiment le TTF

La différence technique la plus importante entre un bon OTF et un TTF est l'accès aux fonctionnalités de mise en page OpenType avancées. Bien que les deux types de fichiers puissent techniquement contenir les tables GSUB (Glyph Substitution) et GPOS (Glyph Positioning) nécessaires, les fonderies typographiques professionnelles intègrent presque exclusivement leurs fonctionnalités avancées dans leurs versions OTF. Dans la pratique, le meilleur se trouve dans l'OTF. Que font réellement ces fonctionnalités ? Les ligatures remplacent les séquences courantes comme « fi » et « fl » par un seul glyphe parfaitement conçu, évitant les collisions. Les ligatures discrétionnaires vont plus loin, combinant artistiquement des paires comme « ct » ou « Th » pour une touche calligraphique. Les petites capitales substituent les capitales de pleine hauteur par des versions plus petites et optiquement ajustées — ce sont des glyphes redessinés, pas juste des lettres réduites. Les chiffres elzéviriens te donnent des numéros avec des ascendantes et des descendantes, leur permettant de se fondre magnifiquement dans une ligne de texte. Un seul fichier OTF pour une police comme Minion Pro peut contenir plus de 1 700 glyphes et des dizaines de ces fonctionnalités, étiquetées « onum », « smcp », « calt », « swsh » et « hist ». En CSS, tu les actives avec `font-feature-settings: 'onum' 1;` ou `font-variant-numeric: oldstyle-nums;`. Dans Adobe InDesign, tu les trouveras sous Texte > OpenType. Même Microsoft Word 365 offre un certain support dans la boîte de dialogue de police avancée, bien qu'il soit moins complet que les outils d'Adobe. Un fichier TTF sans ces tables n'offre rien de tout cela, quelle que soit l'application. Si ton design dépend de vraies petites capitales, d'alternatives contextuelles ou de la composition complexe requise pour des écritures comme l'arabe ou le devanagari, l'OTF n'est pas juste une préférence. C'est une obligation.

Hinting et rendu : contextes bureau vs écran

Le hinting de police est un ensemble d'instructions à l'intérieur d'un fichier de police qui ajuste les contours des glyphes pour les rendre nets à petite taille sur les écrans. Quiconque a plissé les yeux devant un texte flou de 12px connaît la douleur d'un mauvais rendu ; le hinting est le remède. Sans lui, la hampe verticale d'un « n » minuscule pourrait faire un pixel de large tandis que l'autre en fait deux, créant un aspect moche et irrégulier. Un bon hinting aligne ces traits sur la grille de pixels. Les polices TTF sont célèbres pour leur hinting TrueType manuel, un langage bytecode complexe qui donne aux designers un contrôle granulaire sur chaque pixel. C'est un travail d'une intensité brutale — une police entièrement « hintée » à la main comme Arial représente des centaines d'heures. Le gain était énorme sur les anciens systèmes Windows utilisant le moteur de rendu GDI. Les polices OTF basées sur CFF utilisent un hinting PostScript plus simple. Sur macOS, qui utilise depuis longtemps un moteur de rendu qui ignore largement le hinting, cette différence est sans importance. Sur Windows, le moteur de rendu ClearType (par défaut depuis Vista) a considérablement réduit l'écart. Et sur les écrans à haute densité de pixels — en gros, n'importe quel téléphone moderne ou écran « Retina » — le hinting devient presque sans objet. Les pixels sont simplement trop petits pour que ces problèmes d'alignement sur la grille apparaissent. WOFF2 ne change rien à l'histoire du hinting ; il préserve simplement les données de hinting de la police originale qu'il a compressée. Si tu convertis un TTF bien « hinté », ces instructions sont embarquées. La conclusion pratique ? Si tes utilisateurs principaux sont sur des moniteurs Windows non-HD et que tu affiches du texte en dessous de 16px, un TTF avec hinting manuel conserve un avantage visible. Pour une utilisation web sur du matériel moderne, la différence est presque impossible à déceler.

Quand utiliser chaque format : un guide de décision pratique

Pour une installation sur ordinateur — dans ton OS, tes applis de design ou ta suite bureautique — il te faut soit du TTF, soit de l'OTF. Windows et macOS les supportent tous les deux nativement, tout comme les distributions Linux. La décision dépend de tes besoins. Si tu es un designer qui a besoin de ligatures, de fioritures et d'autres fonctionnalités typographiques avancées dans InDesign, tu veux l'OTF. Si tu es un administrateur système qui déploie une police d'entreprise sur un parc de machines Windows, un TTF avec hinting est souvent le choix le plus sûr et le plus compatible. Pour la distribution web, c'est simple : WOFF2. Fin de l'histoire. Ta déclaration CSS `@font-face` devrait toujours lister WOFF2 en premier : `src: url('font.woff2') format('woff2'), url('font.woff') format('woff');`. Servir un fichier TTF ou OTF brut sur le web est un crime contre la performance. Tu forces les utilisateurs à télécharger 2 à 3 fois plus de données que nécessaire. Si tu vois un thème hérité qui référence un .ttf dans sa feuille de style, le remplacer par un WOFF2 est un gain de performance rapide et facile. Les applications mobiles sont un contexte différent. iOS et Android utilisent nativement des fichiers TTF et OTF intégrés dans le paquet de l'application ; aucune des deux n'utilise WOFF2 à cette fin, car c'est un format de distribution réservé aux navigateurs. Les applications Flutter intègrent des TTF ou des OTF dans le répertoire des ressources et les déclarent dans `pubspec.yaml`, et React Native suit un modèle similaire. Les moteurs de jeu ont leurs propres préférences. TextMeshPro de Unity fonctionne avec OTF et TTF pour générer ses ressources de police. L'importateur d'Unreal Engine préfère le TTF. Aucun des deux n'importera un fichier WOFF2 directement, donc si c'est tout ce que tu as, tu devras d'abord le reconvertir en TTF ou OTF.

Convertir entre les formats avec CocoConvert

Besoin de passer d'un format à l'autre ? CocoConvert gère les conversions les plus critiques : TTF vers WOFF2, OTF vers WOFF2, WOFF2 vers TTF, et même OTF vers TTF. Notre processus est propulsé par `fonttools`, la même bibliothèque Python standard de l'industrie utilisée par Google Fonts. Cela garantit que tes fichiers convertis sont conformes aux standards et que les tables OpenType comme GSUB, GPOS, les enregistrements de nom et les données de hinting sont préservées. Pour créer une police prête pour le web, il suffit de téléverser ton fichier .ttf sur notre page de conversion de polices, de choisir WOFF2 en sortie, et de cliquer sur Convertir. Une police latine typique est traitée en quelques secondes. Le fichier WOFF2 résultant conserve toutes les métriques et fonctionnalités de mise en page de l'original, sans que rien ne soit supprimé par défaut. Bien sûr, CocoConvert ne fait pas tout. Il n'effectue pas de *subsetting* (création de sous-ensembles). Si tu convertis une police CJK de 20 Mo, tu obtiendras un WOFF2 compressé de 13 Mo, pas un fichier allégé de 50 Ko contenant uniquement les caractères dont tu as besoin. Pour cela, il te faudra un outil dédié comme `pyftsubset`. CocoConvert n'altère pas non plus les métadonnées de licence. Si le drapeau d'intégration d'une police (fsType) restreint son utilisation sur le web, ce drapeau reste dans le fichier converti. Rappelle-toi : convertir une police ne change pas sa licence. Si tu n'as pas les droits d'utiliser une police sur le web, la convertir en WOFF2 ne la rendra pas légale. Convertir un WOFF2 en TTF est incroyablement utile quand tu trouves une police web et que tu as besoin de l'installer pour un usage bureautique. La décompression est sans perte, ce qui signifie que les données de contour du TTF résultant sont identiques, octet pour octet, à la source originale. La conversion inverse proprement toutes les optimisations spécifiques à WOFF2, te donnant un fichier parfaitement utilisable sur ton ordinateur.

Résumé : choisir le bon format sans se prendre la tête

Allons droit au but. Ces trois formats ne sont pas des alternatives interchangeables. Ce sont des outils différents pour des tâches différentes. Le TTF, c'est l'adaptateur universel. Toutes les plateformes qui gèrent des polices peuvent traiter le TTF. C'est le bon choix quand tu as besoin d'une compatibilité maximale, que tu cibles de vieux environnements Windows où son hinting spécifique brille, ou quand un outil comme un moteur de jeu l'exige. Sa principale faiblesse est une taille de fichier plus importante par rapport aux OTF basés sur CFF et une absence typique de fonctionnalités typographiques avancées. L'OTF est le choix des professionnels pour le travail sur ordinateur. Quand une fonderie vend une police pour du design sérieux, c'est la version OTF qu'il te faut. Il contient l'ensemble complet des fonctionnalités OpenType, ses contours CFF sont compacts, et toutes les applications de design modernes le supportent. Son seul vrai inconvénient, c'est qu'il est trop lourd pour être distribué sur le web. Servir un OTF brut via HTTP est un gaspillage de bande passante. Le WOFF2, c'est pour une seule et unique chose : le web. Ce n'est pas un nouveau type de police, juste une police existante brillamment compressée pour les navigateurs. Utilise WOFF2 dans tes règles `@font-face`. Toujours. Garde le TTF ou l'OTF original comme fichier source, mais considère le WOFF2 comme un fichier jetable, optimisé pour la distribution. Voici le flux de travail simple pour tout nouveau projet : procure-toi une police OTF de qualité auprès d'une fonderie. Utilise CocoConvert pour créer une version WOFF2 pour ton site web. Garde l'OTF original pour tout travail d'impression ou de design. Et si jamais tu te retrouves avec seulement un fichier WOFF2 et que tu en as besoin sur ton ordinateur, reconvertis-le en TTF. C'est aussi simple que ça.

TTF vs OTF vs WOFF2 : Comparaison des formats de police | CocoConvert Blog