Cet article correspond, comme plusieurs autres, à un travail en cours et est mis à jour assez régulièrement… Je posterai sur les réseaux sociaux les mises à jour.
Un problème récurrent pour les lettreurs en bandes dessinées, ou pour les dessinateurs qui font eux-mêmes leur lettrage de façon numérique avec leur typo, est que ces polices numériques sont… trop régulières, qu’elles manquent de cette variété qui est le propre d’un lettrage manuel.
Ressources :
Au sujet de la différence entre le lettrage par ordinateur et le lettrage manuel, un article chez Comicalités reprend toute la difficulté de rendre naturel ce qui ne l’est pas, avec les problèmes que cela amène… en parlant également de son corollaire, le texte traduit en BD. J’en cite un passage :
Je comprends, désormais, ce qui me semble opaque, illisible, dans le lettrage mécanique de la traduction de L’Art de voler. Quand je lis la version française, c’est-à-dire la version mécanique, j’ai l’impression qu’on a arbitrairement collé sur l’espace de la vignette des portions d’espace exogènes. Le texte flotte, ignorant du dessin qu’il recouvre et encombre. Composé sur écran, plus ou moins habilement adapté au format de l’espace qui va l’accueillir, il ne rencontre certes plus le problème du « retournement » de la page imprimée ancienne : mais, préparé sur un ordinateur, et ensuite mis au format, il n’acquiert nulle part dans cette opération l’épaisseur de l’inscription spatiale, ni l’épreuve de la temporalité du geste qui le trace. La régularité de son module n’est pas le résultat d’un effort de la main : c’est une simple donnée de la composition typographique, qui a disposé les uns après les autres des caractères tous identiques et tous anonymes. Dans la vignette, l’espace que ce texte neutralisé s’apprête à occuper se trouve destitué de sa nature graphique pour être assigné arbitrairement à une identité nouvelle, celle d’une surface « maquettable », d’un « blanc » à occuper, à investir.
Alors pour ceux qui veulent le beurre et l’argent du beurre, soit la rapidité du lettrage numérique et le côté aléatoire d’une écriture manuscrite, voici une étude des différents aspects de cette question, avec des éléments de réponse simples ou complexes, d’après les chemins empruntés.
Elle vient au départ de mon collègue Jean-Paul Aussel qui, lors d’une conversation avec Ségolène Ferté, qui faisait notamment le lettrage de Black Sad, lui expliquait qu’elle numérise les lettrages puis introduit des variations.
Mais comment gérer ces variations ? Une façon simple est de mettre deux dessins différents de la même lettre, l’un dans la capitale, l’autre en bas-de-casse.
Voici ce que donne en FontLab la police de Jean-Paul Aussel avec ses variations simples entre Caps et bdc :
Si l’on travaille sur Macintosh, on a même accès directement à 4 variations possibles, la lettre de base, sa majuscule, puis les mêmes avec la touche ALT enfoncée :
que l’on peut atteindre avec les combinaisons suivantes de touches :
Sous Windows cette manipulation est moins pratique puisqu’il faut se souvenir du code correspondant à la lettre (alt-145 pour æ par exemple).
Et pour introduire le côté aléatoire d’une façon automatique dans les redoublements de lettres, on peut imaginer une suite de rechercher-remplacer qui remplace par exemple les séquences mm par Mm, cc par c© ou cC etc — ce qui peut être facilement compilé en un script en InDesign.
Plus simplement, si votre police comporte des majuscules et des minuscules, un site comme Convertcase va vous permettre de mettre les lettres en alternance en majuscule et en minuscule :
Les modes « aLtErNaNt » et « InVeRsE CaSe » permettent des combinaisons déjà utiles pour diversifier rapidement vos lettrages, en attendant de le faire avec un script ou un style imbriqué en InDesign par exemple.
Via InDesign
Il sera possible par exemple avec des styles de caractères, appliqués consécutivement via un style imbriqué ou un style Grep, de donner une apparence de mouvement ou de vie.
Voici, pour comprendre la logique de cela, un exemple de style de caractères imbriqués appliqués consécutivement :
Et l’on peut tout logiquement appliquer des styles de caractères déformant légèrement les lettres, par exemple une rotation de 3°, un parangonnage de 0,3 pt, une inclinaison, une déformation de 3% en plus ou en moins… Voici l’effet, la première ligne a ce style imbriqué, la suivante pas. Je regrette du coup le problème de crénage…
La mise à l’échelle optique des caractères suivant la force de corps utilisée est une autre façon de compenser le côté mécanique du lettrage.
Nigel French a étudié cette alternance de couleurs et de position des lettres dans un didacticiel sur LinkedinLearning.
Vincent Rousseau (les yeux fertiles) a créé une polices de caractères à l’occasion de la traduction de la Genèse de Crumb, et il explique dans cet article sa méthode de travail…
Programmation, polices variables
Une solution bien plus radicale, mais de nature très différente, est de programmer des variations de caractères, comme dans la police Liza. Un article de fond en parle sur le site Underware. Cet échange sur Graphic Design Stack également.
Rappelons que pour de nombreux typographes, la police Beowolf est celle qui pousse le plus loin et le mieux la notion de variabilité de caractères, comme en parle cet article. Les auteurs de cette police expliquent dans une interview du livre «A Programming Handbook for Visual Designers and Artists» comment ils l’ont programmée avec des moyens presque préhistoriques… La variation se faisait, via un hack PostScript, au niveau de l’impression. Une version OpenType a été refaite ensuite.
Fonctions OpenType
Une voie plus simple sera l’utilisation des fonctions OpenType aalt et calt. Si vous ne connaissez pas ce domaine, voici une excellente explication (en FR) de ce que sont les fonctions en question sur le site de GlyphsApp. Dans ces deux acronymes il faut lire alt pour alternative. Le site OpenType Cookbook étudie ces possibilités (à partir de la section «Manual Alternate Access», en français).
Une procédure vraiment détaillée est disponible, en anglais, sur l’incroyable site Society of Fonts de Brandon Buerkle qui propose dans son blog une série de didacticiels reprenant avec un grand luxe de détails et une rigueur totale la création d’une typo, Protest, à travers une série d’article. Une ressource inestimable…
Voici donc un mode d’emploi partiel, qui va s’étoffer au fur et à mesure. Il concerne le logiciel FontLab, dont les versions VI (en chiffres romains, cf. mon article sur cette mise à jour) et suivantes peuvent gérer ces fonctions OpenType. Néanmoins, le logiciel GlyphsApp peut également le faire, et un didacticiel est disponible en anglais et en français sur le site de GlyphsApp pour cela.
Ensuite, il faut créer la fonction calt en FontLab (faire apparaître le workspace Features), cliquer sur le + en bas à gauche ce qui ouvre la fonction et insère tout de suite ceci:
feature calt {
} calt;
et taper ceci entre les accolades (le code est emprunté au mode d’emploi de GlyphsApp)
sub A A' by A.ss01;
sub A.ss01 A' by A.ss02;
Donc :
La première ligne fera en sorte que lorsque deux A se succèdent, le deuxième (A’) est remplacé par A.SS01, votre variable. La seconde ligne remplace un 3e A par la variation A.SS02. Et ainsi à l’avenant.
Le stade suivant est de faire cela, non pas lettre par lettre mais classe de lettres par classe de lettres, une classe étant un groupement de lettres (les consonnes ou les bas-de-casse par exemple). Et donc il faut créer des classes de lettres logiques. Donc, ouvrons la fenêtre des classes (Window > Panels > Classes) et cliquons sur le + qui permet la création, un choix doit être fait entre les types de classes, je prends une classe OpenType :
Je vais reprendre ainsi progressivement tout l’alphabet, en tapant les lettres suivies d’une espace :
Et il me faudra être complet, et conserver l’ordre dans lequel les glyphes sont mis :
exclam quotedbl numbersign percent ampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash colon semicolon equal question A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Agrave Acircumflex Adieresis Ccedilla Egrave Eacute Ecircumflex Edieresis Icircumflex Idieresis Ograve Ocircumflex Odieresis Ugrave Ucircumflex Udieresis agrave acircumflex adieresis ccedilla egrave eacute ecircumflex edieresis icircumflex ograve ocircumflex odieresis ugrave udieresis
Dont la variation 01 sera :
exclam.ss01 quotedbl.ss01 numbersign.ss01 percent.ss01 ampersand.ss01 quotesingle.ss01 parenleft.ss01 parenright.ss01 asterisk.ss01 plus.ss01 comma.ss01 hyphen.ss01 period.ss01 slash.ss01 colon.ss01 semicolon.ss01 equal.ss01 question.ss01 A.ss01 B.ss01 C.ss01 D.ss01 E.ss01 F.ss01 G.ss01 H.ss01 I.ss01 J.ss01 K.ss01 L.ss01 M.ss01 N.ss01 O.ss01 P.ss01 Q.ss01 R.ss01 S.ss01 T.ss01 U.ss01 V.ss01 W.ss01 X.ss01 Y.ss01 Z.ss01 a.ss01 b.ss01 c.ss01 d.ss01 e.ss01 f.ss01 g.ss01 h.ss01 i.ss01 j.ss01 k.ss01 l.ss01 m.ss01 n.ss01 o.ss01 p.ss01 q.ss01 r.ss01 s.ss01 t.ss01 u.ss01 v.ss01 w.ss01 x.ss01 y.ss01 z.ss01 Agrave.ss01 Acircumflex.ss01 Adieresis.ss01 Ccedilla.ss01 Egrave.ss01 Eacute.ss01 Ecircumflex.ss01 Edieresis.ss01 Icircumflex.ss01 Idieresis.ss01 Ograve.ss01 Ocircumflex.ss01 Odieresis.ss01 Ugrave.ss01 Ucircumflex.ss01 Udieresis.ss01 agrave.ss01 acircumflex.ss01 adieresis.ss01 ccedilla.ss01 egrave.ss01 eacute.ss01 ecircumflex.ss01 edieresis.ss01 icircumflex.ss01 ograve.ss01 ocircumflex.ss01 odieresis.ss01 ugrave.ss01 udieresis.ss01
Dieu merci, on peut exporter puis importer ce type de classe depuis une autre typo :
Pour arriver à ce genre de résultat, avec une classe comportant tous les glyphes de base, puis j’ai créé deux autres classes pour les variations :
FontLab va alors générer tous les glyphes manquants. Et on va remplacer la fonction calt de base par une fonction calt basée sur les classes, qui aura exactement la même structure, attention à utiliser @ devant chaque classe pour l’identifier dans la formule :
Comme vous l’observez, chaque classe est désignée par @. Il faut compiler en cliquant sur le triangle noir en haut à gauche…
Ceci est la plus simple expression de cette variation de caractères dont nous parlons, via donc des fonctions basiques d’OpenType. Il est bien entendu que l’on peut aller plus loin…
Reste bien entendu à gérer les approches de caractères, pour lesquelles nous avons bien entendu démultiplié les occurrences. Le logiciel FontLab VI (ou 7) va chercher la variation du caractère, ce qui permet de ne pas devenir fou :
En mettant la lettre u, j’ai automatiquement la classe u avec les accents ainsi que la variation u.ss01 qui apparaissent dans la barre supérieure.
Voici en application dans le logiciel Adobe InDesign la police en question (merci Noémie Touly) – vous observerez que je dois appliquer la fonction OpenType «Contextual Alternates» depuis la palette Caractères pour que les variations fonctionnent :
Voyez dans l’exemple du créateur de caractères Shiva Nallaperumal comment les lettres, dans sa police Calcula, changent les unes en fonction des autres (à partir de 7’17 »)
Et un article sur Typotheque.com qui présente la typo Calcula
Mise à jour le 19/09/2022
Merci pour cet article très intéressant. Je pense qu’il doit aussi être possible d’intégrer des « variables » de caractère directement dans le style de paragraphe Indd en y compilant une série de Regex.
Bravo également pour toutes vos publications que je suis avec intérêt.
Cette possibilité me semble en effet une piste très intéressante… Je devrais reprendre cela ! Je vais essayer de structurer ma question pour la poser sur le groupe FB The Treasures of GREP.
Je ne suis pas expert en grep, mais j’ai fait un simple test en créant plusieurs styles de caractères de couleur différente :rose, bleu, jaune. J’ai appliqué à mon paragraphe un style dans lequel j’ai empilé ces styles de caractère de couleur dans un style grep avec un Lookbehind positif avec des valeurs numériques différentes : (?<=.{2}).{4} style rose, puis(?<=.{6}).{6} style bleu, puis (?<=.{3}).{7} style jaune…
Ça marche pas trop mal, il faudrait affiner et en fonction du texte et en fonction d’autre paramètre soit sur la taille, l’approche qui pourrait être aussi incluses… en plus des variables de forme de caractère.
J’ai essayé en styles Grep mais le problème de l’espace se posait. Du coup, je l’ai fait avec des styles imbriqués et une répétition, c’est bien plus simple…