# OpenType

OpenType (OT) est un format de fonte numérique, correspondant à la norme ISO de Open Font Format (OFF). Il a été développé à l'origine par Microsoft, en ajoutant à la structure de base de TrueType de nombreuses structures complexes enrichissant les possibilités typographiques.
La spécification débuta au sein de Microsoft, Adobe contribuant également au moment de l'annonce publique en 1996. La spécification continue à être développée activement, gagnant les caractéristiques d'un format ouvert. Cependant, le nom OpenType reste une marque déposée de Microsoft.
Étant maintenant un format répandu, offrant une grande richesse typographique, y compris des dispositions pour représenter la majorité des systèmes d'écriture, les fontes OpenType sont utilisées couramment aujourd'hui sous tous les systèmes d'exploitation.

## Histoire

Annoncées en 1996, les fontes OpenType n’ont commencé à être disponibles en nombre qu’en 2000-2001. Vers la fin de 2002, Adobe a terminé la conversion de l'ensemble de sa typothèque. OpenType a été conçu par Adobe et Microsoft pour améliorer les formats TrueType (développé par Apple et Microsoft) et PostScript Type 1 (Adobe). Il reprend la structure générale d’une fonte TrueType Windows, mais peut comporter des tracés TrueType ou PostScript (format CFF/Type 2).
OpenType n’est pas la première tentative pour résoudre certaines de ces questions. Apple avait déjà fait la même chose avec GX Typography (en). Apple a continué à développer GX Typography en le rendant compatible avec Unicode et le rebaptisant Apple Advanced Typography (AAT), puis en le liant dans Mac OS X avec le système typographique hérité d’OPENSTEP. Aujourd'hui, c’est toutefois OpenType qui s’est imposé.
En 2007, le format OpenType 1.4 est adopté comme norme ISO/CEI 14496-22 sous le nom “Open Font Format” (“OpenType” étant une marque déposée de Microsoft).

## Description

* Les tracés TrueType utilisent des courbes de Bézier quadratiques.
* Les tracés CFF utilisent des splines de Bézier cubiques.
Les fontes OpenType sont une sorte d’emballage de fontes TrueType ou Postcript Type 1 : le conteneur sfnt est hérité de la structure générale d'une fonte TrueType, avec la possibilité de tables additionnelles qui améliorent les possibilités typographiques de la fonte ainsi que sa compatibilité linguistique. Les données vectorielles des glyphes dans une fonte OpenType peuvent être dans l'un des deux formats : soit des courbes TrueType (courbes de Bézier quadratiques) dans une table « glyf » ; soit des courbes Compact Font Format (CFF) dans une table « CFF » (le nom de cette table est long de quatre caractères, le 4e caractère étant une espace). Les données vectorielles CFF sont basées sur le format PostScript Type 2 (des courbes de Bézier cubiques, une variante compacte du Type 1).
Microsoft distribue son système d’exploitation Microsoft Windows avec des fontes OpenType TrueType alors que les logiciels Adobe sont généralement distribués avec des fontes OpenType CFF.
OpenType a plusieurs caractéristiques spécifiques :
* les fontes OpenType peuvent avoir jusqu’à 65 536 glyphes
* le codage des fontes est basé sur Unicode et peut être utilisé pour n’importe quel système d’écriture connu d’Unicode, avec un mélange possible entre écritures. Néanmoins, aucune fonte ne comporte tous les caractères Unicode
* les fichiers des fontes sont indépendants de la plateforme : Windows, Mac OS, Linux, BSD, etc.
* les fontes peuvent avoir des fonctions typographiques évoluées, qui permettent le traitement typographique approprié des écritures complexes, et avoir des effets typographiques avancés pour des écritures plus simples, telles que l’anglais.

### Glyphes au format SVG

Il est maintenant possible d'utiliser des glyphes au format SVG dans une fonte OpenType. Ce qui permet d'utiliser des glyphes en plusieurs couleurs ou bien animés. Ce format a commencé comme un sous-ensemble des spécifications SVG 1.1. Les fontes SVG sont un format indépendant supporté en septembre 2014 par la majorité des navigateurs, sauf IE et Firefox, et déprécié dans Chrome (et donc Chromium). Elles sont maintenant plus généralement dépréciées en faveur du standard sur lequel tous les développeurs des principaux navigateurs se sont accordés, les glyphes SVG dans une fonte OpenType (donc inclus dans le Web Open Font Format), nommé SVG OpenType. Firefox supporte SVG OpenType, depuis la version 26. La majorité des autres devraient suivre rapidement.

### Propriété intellectuelle

L’utilisation des fontes étant protégée comme celle d’une œuvre artistique ou un logiciel, les fichiers contiennent les règles d’usage sous la forme d’une licence.
De plus, le format OpenType permet de limiter l’incorporation de la fonte dans un document en indiquant dans la table « OS/2 », paramètre fsType, quel est le degré d'incorporation autorisé :
* Incorporation et installation permises : autorise la fonte à être incluse dans un document et à être installée définitivement sur la machine cible.
* Incorporation pour édition permise : autorise la fonte à être incluse dans un document et à être installée temporairement sur le récepteur.
* Incorporation pour impression et prévisualisation permise : autorise la fonte à être incluse dans un document et à être installée temporairement sur le récepteur, le document étant en lecture seule.
* Incorporation restreinte par la licence : n’autorise pas la fonte à être incluse dans un document.
Ce droit n’étant pas visualisé par la plupart des outils, le problème se pose au moment où le document est transféré sur un autre système. Si l’émetteur utilise une fonte qui ne permet pas l’inclusion dans les documents et que le récepteur ne possède pas la fonte, il ne pourra pas visualiser légalement un document identique. Ce problème se pose parfois pour les documents de type bureautique comme Microsoft Word, ODF ou similaires, qui sont créés avec des outils qui ne proposent pas l’incorporation des fontes par défaut. Des logiciels qui traitent des formats vectoriels comme PDF ou SVG proposent au contraire d’inclure la fonte (uniquement si on le choisit) ou de conserver dans le document une version vectorisée (transformation en chemin).
La distinction entre la licence, qui indique les conditions générales d’utilisation, et le paramètre fsType, qui indique le droit d’incorporation, doit être soulignée puisque des sociétés comme Microsoft et Adobe, qui éditent à la fois des fontes et des logiciels permettant l’incorporation des fontes, diffusent des fontes avec un paramètre fsType libéral (au minimum, jamais d’incorporation interdite), tout en utilisant par ailleurs une licence commerciale assez classique.

### Extension des fichiers

Indépendamment du système d'exploitation, les extensions des fichiers sont normalisées et sont utilisées pour déterminer leur Type MIME :
* .otf (pour OpenType Font) est utilisée pour les fontes au format OpenType dont les glyphes utilisent des courbes PostScript.
* .ttf (pour TrueType Font) est conservée pour les fontes au format OpenType dont les glyphes utilisent des courbes TrueType.
* .ttc (pour TrueType Collection) est utilisée pour un fichier contenant plusieurs fontes au format OpenType dont les glyphes utilisent des courbes TrueType.

## Évolution vers les polices variables

La norme OpenType continue elle aussi d'évoluer. La version de la norme OpenType a créé les polices variables. L'idée est que la police variable contient, dans un seul fichier, les caractéristiques nécessaires pour créer, à la volée, les polices italique, grasse ou toutes les variantes possibles d'une police, sans avoir besoin de créer et gérer autant que fichiers différents qu'il n'y a de variations (ce qui est la méthode habituellement utilisée).
Deux options sont disponibles pour intégrer une police variable dans votre projet web:
* Si la police variable provient d'une web font, vous pouvez utiliser la balise HTML <link> comme dans l'exemple ci-dessous.
* En revanche, si vous avez une font qui est hébergée localement, il faudra l'intégrer en utilisant la règle @font-face directement dans le fichier CSS comme le montre l'exemple suivant.
Cette technologie, inventée pour faciliter l'usage des CSS, permet de paramétrer finement l'affichage à l'écran, au travers de paramètres d'une seule police, et non d'appel individuels de polices différentes. La fonctionnalité des fontes variables a été introduite dans la norme OpenType avec la version 1.8. Cette nouveauté a été annoncée par des représentants d'Adobe, Apple, Google et Microsoft le 14 septembre 2016, à la conférence ATypI qui s'est tenue à Varsovie.

## Outils

* FontForge est le premier éditeur de fontes libre capable de lire, modifier et générer des fontes vectorielles OpenType (CFF, Mac, CID). Il gère également, les fontes PS (Type 1, Multiple Master, Type 3, Type 0, CID fonts (en)), TrueType, CFF Type 42, Type 11 (CID2), et enfin les fontes multicalques SVG. Les formats de fonts bitmap les plus courants sont également gérés (Opentype bitmap, X11, Apple, BDF, PS Type 3, Win, NFNT, etc.).
* TTX est un outil écrit en Python qui permet de passer de la représentation binaire d’une fonte OpenType à une représentation XML et vice versa. Cela permet d’accéder directement à n’importe quel paramètre d’une fonte, et de le modifier à volonté en altérant la version « XMLisée » avant de réexporter au format binaire.
* Adobe Font Development Kit for OpenType, distribué gratuitement par Adobe Systems, est une collection d’outils pour le développement de fontes OpenType.
* FontLab est un éditeur de fontes commercial. Il gère de multiples formats (Type 1, Multiple Master, TrueType en plus d'OpenType).
* « OpenType Font Shell Extension » : extension de Windows permettant de visualiser plusieurs propriétés d’une fonte.

## Versions

Historique des versions de OpenType :
* 1.9.1, mai 2024
* 1.9, décembre 2021
* 1.8.4, novembre 2020
* 1.8.3, août 2018
* 1.8.2, juillet 2017
* 1.8.1, janvier 2017
* 1.8, septembre 2016
* 1.7, mars 2015
* 1.6, 3 avril 2009
* 1.5, mai 2008
* 1.4, 11 octobre 2002
* 1.3, avril 2001
* 1.25, juillet 2000
* 1.2, novembre 1998
* 1.1, avril 1998
* 1.01, octobre 1997
* 1.0, avril 1997