Fonctionnalités OpenType

Dernière mise à jour le 14 avril 2023 par LMD

Le format Type1 se limite à 256 glyphes. Lorsque l’on veut inclure des signes alternatifs, ligatures, petites caps ou autres, il est nécessaire d’étendre le jeu de glyphe d’une fonte.

Le format OpenType permet cela. Les glyphes de substitution seront activés par des fonctions OpenType dans les logiciels qui les supportent. C’est le cas par exemple d’Illustrator, InDesign et même Word.

1. Créer des Glyphes supplémentaires

Il faut préalablement créer les glyphes supplémentaires dont vous aurez besoin, depuis la Fenêtre Font.
FontLab 5 : Menu Glyph > Générer des Glyphes…
FontLab 7 : Menu Font > Generate Glyphs… (ou simplement New Glyph… s’il n’y en a qu’un à créer)

Pour insérer un seul glyphe, par exemple la ligature ffl, dans la zone blanche en haut de la fenêtre, taper le nom du glyphe à créer. Le nom ne doit pas comporter d’espace, ni de ponctuation, ni de signe spécial. Pour une ligature, il est possible dans FontLab 5 d’utiliser des tirets bas dans le nom pour lier les glyphes de base en un seul nouveau glyphe. Le nom de la ligature ffl peut donc être « ffl » ou « f_f_l », mais dans FontLab 7 il ne faut pas utiliser de tirets et le nom sera « ffl ».

La prévisualisation se fait dans la partie intermédiaire de la fenêtre, à condition que l’affichage des glyphes soit paramétré sur Aperçu (À partir du Menu Affichage > Barres d’outils > Afficher les calques et depuis une fenêtre de Glyphe, cliquer sur le bouton Mode Aperçu).

Laisser les cases à cocher comme ci-dessous.

generate_glyphs01

Dans FontLab 7, ci-dessous, la saisie de noms de glyphes dans la zone supérieure droite bascule automatiquement en mode « Custom ».

Après avoir cliqué sur OK, un nouveau glyphe est créé dans la fenêtre Font. Il faut en modifier le contenu pour en adapter le dessin. Les nouveaux glyphes, en plus des 256 existants, s’affichent avec une barre supérieure de nom sur fond blanc, alors que les 256 glyphes de base ont un nom sur fond jaune.

Selon les cases cochées, les nouveaux glyphes s’afficheront avec une couleur de fond différente du blanc, par défaut en bleu. Dans FontLab 5, il faut cocher la case « Mark new glyphs ». Dans FontLab 7, la case « Flag new glyphs » en bas à gauche est cochée par défaut.

Pour générer plusieurs glyphes à la fois (prenons l’exemple des petites capitales), il faut séparer les noms des glyphes par un espace ou une virgule. Le nom de chaque glyphe doit être constitué du nom d’un glyphe de base (les capitales) suivi d’un point et d’un suffixe correspondant à la fonction OpenType qui sera utilisée, ici .smcp pour Small Caps.

generate_glyphs02

Attention, les nouveaux glyphs seront rangés selon le type d’affichage, qui est généralement « names ». De fait, ils peuvent apparaitre dans le désordre. Choisissez un affichage « index » pour les remettre dans l’ordre. C’est important avant de créer une classe.

Dans FontLab 5, il faut taper à la main la totalité des noms (comme dans l’écran ci-dessus.
Dans FontLab 7, il est possible de générer ces glyphes très rapidement :
– Dans la fenêtre Font, sélectionner toutes les capitales
– Menu Font > Generate Glyphs…
– Dans la fenêtre qui s’ouvre, cliquer sur l’onglet Variants, taper smcp dans la case Suffix et garder cochées les cases Use Anchors et Link as reference. Vous pouvez également garder cochée la case en bas à gauche Flag new glyphs pour colorer les nouveaux glyphes dans la fenêtre Font.
– Cliquer sur OK.

Sélectionner les Caps
Choisir suffixe smcp et valider
Le résultat dans la fenêtre Font

2. Créer les fonctions OpenType

Il faut ensuite associer une fonction OpenType à ces nouveaux glyphes. Toutes les fonctions OpenType ont un nom qui s’écrit avec 4 caractères, bas de casse et chiffres. Par exemple « liga » pour les ligatures, « onum » pour les chiffres elzéviriens (old numbers) ou « smcp » pour les petites capitales (small caps).

• Principe général

Dans FontLab 5, ouvrir la fenêtre OpenType :
Menu Fenêtre > Panneaux > OpenType
Cliquer sur le bouton + en bas à gauche.

Une nouvelle fonction est créée avec le nom « xxxx ». Dans la partie droite de la fenêtre, un début de code est déjà écrit. Remplacer xxxx par le nom de la fonction souhaitée, au début et à la fin du code, c’est à dire avant et après les accolades. Pour les ligatures utiliser « liga ». Dans la colonne Name, à gauche, le nouveau nom remplace « xxxx » automatiquement.

opentype01

Puis, ajouter à la seconde ligne, entre « sub » et « by » ce que vous souhaitez remplacer (ici la suite de glyphes « f f l », en les séparant par des espaces) et, après « by », avant le point virgule, ce par quoi on les substitue (ici le nouveau glyphe « f_f_l », en utilisant le nom avec les tirets bas ou « ffl » selon ce que vous avez choisi plus haut).

Dans FontLab 7, ouvrir la fenêtre Feature :
Menu Window > Panels > Feature
Cliquer sur le bouton + en bas à gauche. Vous voyez apparaitre la liste ci-dessous qui vous propose de créer une fonctionnalité existante ou une fonctionnalité générique, en tête de liste.
C’est ce que vous allez faire. Choisissez Empty feature (xxxx).

Le nom « xxxx » apparait alors dans la colonne de gauche de la fenêtre. Tant que les lettres sont surlignées, tapez le nom de la fonction souhaitée. Ici, tapez « liga » et validez.
Il aurait été possible de choisir directement « Standard ligatures (liga) » dans la liste initiale. Cela aurait produit le même résultat.

Le résultat est le code qui apparait dans la partie droite de la fenêtre. En gris, il y a des commentaires. Les deux lignes de substitution existantes peuvent être complétées par la ligne « sub f f l by ffl; » pour reprendre l’exemple plus haut.

Il ne reste plus qu’à enregistrer le fichier.

• Fonction avec plusieurs glyphes

Pour certaines fonctions, il y a plusieurs substitutions à effectuer, Par exemple, pour les Old Nums (chiffres Elzéviriens), 1 par 1.onum, 2 par 2.onum, etc.

La première façon de procéder est de créer une fonction OpenType pour les Old Nums, nommée « onum » et de saisir autant de lignes de substitutions qu’il y a de glyphes à substituer. Cela donne une liste assez longue, mais parfaitement fonctionnelle.

opentupe02
• Utiliser des classes

Il y a une seconde façon de procéder, c’est d’utiliser des classes. Voir la page sur la création de classes. Partons donc du principe que nous ayons créé deux classes, une nommée « caps » pour les 26 capitales et une autre nommée « sc » pour les 26 nouveaux glyphes des petites caps.

Il suffira d’une seule ligne pour effectuer la substitution dans la fonction OpenType Small Caps. Le nom de chaque classe devra alors être précédé du signe @ pour être reconnu en tant que classe et les deux classes devront comporter exactement le même nombre de glyphes, effectivement dessinés.
Il est possible de créer les glyphes, puis les classes et la fonction OpenType et de ne modifier effectivement les nouveaux glyphes qu’a posteriori.

opentype03
• Une dernière remarque

Dans l’avant dernière image ci-dessus, vous aurez remarqué du code dans la partie basse de la fenêtre OpenType.

Vous devez saisir ce code afin d’éviter des erreurs lors de la génération de la fonte, dans FontLab 5 uniquement. Ces deux lignes sont :

languagesystem DFLT dflt;
languagesystem latn dflt;

3. Substitutions Alternatives

Il est une catégorie particulière de fonctionnalité OpenType, c’est les substitutions alternatives. Il s’agit de remplacer un glyphe par un autre dans une liste de plusieurs glyphes. Les glyphes qui constituent la liste de substitutions possible peuvent être un nombre de glyphes désignés par leur noms séparés d’un espace ou une classe.

Il y a deux sortes de substitutions alternatives, les « stylistic alternates » (salt) et les contextual alternates (calt). Vous trouverez plus de détails sur ces possibilités dans la deuxième partie de cette page : https://help.fontlab.com/fontlab/7/manual/OpenType-Features/

4. Utiliser les fonctions OpenType

Lorsqu’une fonte comporte des fonctions OpenType, elles ne s’appliquent pas automatiquement. Il faut les activer dans les logiciels, type InDesign ou Illustrator.
C’est un réglage de paragraphe, qui s’applique donc paragraphe par paragraphe et qui peut être enregistré dans une feuille de style de paragraphe.

Dans Illustrator, il faut ouvrir une palette spécifique :
Menu Fenêtre > Texte > OpenType
Les fonctions représentées par un bouton en bas de palette ne sont actifs que si ces fonctions sont détectées dans la fonte utilisée.

5. Quelques liens

Une très bonne page expliquant les fonctionnalités OpenType (en anglais), à l’intérieur de laquelle, vers la fin, un tableau récapitule toutes les fonctionalités OpenType existantes, leurs noms et leurs compatibilités avec les programmes gérant les fonctions OpenType : http://ilovetypography.com/OpenType/opentype-features.html

Il est impossible de créer des substitutions aléatoires par des fonctions OpenType, mais quelques astuces (assez ardues) existent, voir par ici, vers la fin de la page, sous le titre Fun Stuff > randomization : http://opentypecookbook.com/common-techniques.html

Et pour le fun, une fonte qui exploite astucieusement les ligatures : https://www.sansbullshitsans.com/

Design collaboratif