Type-Designer  (pour Windows) contre Fontographer (pour Macintosh ou Windows)

On ne présente plus Fontographer (actuellement dans sa version 4.1 ou 4.1.3) d'Altsys, et maintenant de Macromedia, logiciel en usage chez les typographes professionnels, aux très nombreuses possibilités (édition, création, modification des polices Type 1, Type 3, TrueType, bitmap, polices synthétiques, interpolation de plusieurs polices, vectorisation d'images bitmap, etc.), et qui bénéficie, depuis la version 4, d'un certain nombre d'outils de dessin de Freehand. Face à ce poids lourd, Type-Designer, dans sa version 2.5, semble afficher des prétentions beaucoup plus modestes, même si la version 3.1 semble manifestement avoir pour but, tant par l'interface que par le nombre des effets globaux, et aussi par l'automatisation désormais possible de certaines tâches répétitives (création des "hints", crénage), de se rapprocher de Fontographer.

Cela dit, les caractéristiques fondamentales des deux logiciels restent inchangées, pour Type-Designer donc, depuis la version 2.5, et pour Fontographer, depuis la version 3.5. Il faut entendre par là que les principaux choix relatifs aux fichiers mêmes de polices, créés par l'un et l'autre logiciels, n'ont pas été modifiés.

Quant au logiciel FontLab de Pyrus, dans sa version 2.5, ou dans la version 3 promise pour "bientôt" (on voudrait cependant quelques précisions supplémentaires de l'éditeur Pyrus, au sujet de la date de disponibilité), il mérite un autre développement. Attendons donc l'arrivée de cette dernière version. DTP Software (l'éditeur de Type-Designer, associé depuis quelque temps à Pyrus), annonce, dans sa description de FontLab (bien plus complète que celle de Pyrus ! pourquoi donc ?), la sortie du logiciel pour novembre 1997.

Type-Designer

Type-Designer avait pour principale vocation, à ses débuts, d'éditer des polices Type 1. Ce n'est que plus tard que le logiciel s'est vu ajouter la possibilité d'exporter les polices au format TrueType, et ce n'est donc pas par hasard que, même dans sa dernière version, l'utilisateur de Type-Designer est amené à enregistrer son travail sous forme de fichiers *.PFB, *.PFM, *.AFM, c'est-à-dire les fichiers propres au format Type 1, contrairement à Fontographer, qui dispose de son propre format *.FOG. Les points forts du logiciel sont liés à cette démarche.

Rappelons quelques principes applicables aux polices vectorielles, en particulier aux polices Type 1 (dites aussi polices ATM ou polices laser, et qui constituent un sous-ensemble du langage PostScript mis au point par Adobe, en tant que langage de description d'objets graphiques en général, dont les caractères d'une police ne sont qu'un cas particulier, exigeant, en raison de la grande précision requise, quelques contraintes supplémentaires), mais aussi en partie aux polices TrueType. Par opposition aux polices bitmap (cf. les ressources 'NFNT' sur Macintosh, ou les polices d'écran — fichiers *.FON — sous Windows) dont les caractères sont définis point par point à chaque fois dans une taille déterminée (d'où le fameux effet d'escalier, lorsque la police est utilisée dans une autre taille que celle prévue au départ), les caractères des polices vectorielles sont définis à l'aide de propriétés mathématiques applicables dans toutes les tailles. Les caractères des polices Type 1 et TrueType en particulier sont définis à l'aide de leurs contours, et ce n'est que dans un second temps, lors du processus appelé "rastérisation", que les contours sont convertis en points (ou pixels, pour picture elements).

La rastérisation se fait donc de la manière suivante : dans un premier temps sont tracés les contours des caractères, indépendamment de la taille qu'ils doivent avoir sur le dispositif de sortie (moniteur ou imprimante), en fonction d'une unité de mesure relative, les FUnits, subdivision d'un carré dit "em", qui correspond à peu près, par convention, au carré dans lequel peut s'inscrire un M majuscule, et donc au cadratin français, ce carré étant subdivisé en un certain nombre de petits carrés, les FUnits, en général (sans que cela soit impératif) 1000*1000 pour les polices Type 1, 2048*2048 pour les polices TrueType (ou encore une autre puissance de 2, 1024*1024 ou 4096*4096).

Les contours sont ensuite mis à l'échelle d'une grille de pixels. Ces pixels sont alors "allumés" si le centre des pixels se trouve à l'intérieur de l'enveloppe du caractère, ou restent "éteints" dans le cas contraire. Pour déterminer si le point se trouve à l'intérieur ou à l'extérieur de l'enveloppe, l'on a recours à une convention. Cette convention est toujours la même pour les polices Type 1 : les contours extérieurs sont tracés dans le sens contraire à celui des aiguilles d'une montre, les contours intérieurs dans le sens des aiguilles d'une montre (Figure 1). Pour les polices TrueType, on observe en général la convention contraire, mais de manière générale, il faut simplement que les contours intérieurs et extérieurs ne soient pas tracés dans le même sens.

Figure 1 : contours du o minuscule

Si l'on en restait là, le résultat serait bien décevant, notamment dans les corps les plus petits (voir Figure 2) : il peut en effet arriver qu'aucun pixel ne se trouve à l'intérieur de l'enveloppe, dans certaines parties du caractère, notamment les empattements ; ou encore, pour deux jambages à épaisseur égale, que l'un des deux se voie attribuer, lors de la rastérisation, une épaisseur de deux pixels, et l'autre d'un pixel, un pixel étant "allumé" de la même manière, que son centre se trouve au milieu de l'enveloppe, ou à proximité du contour (voir Figure 3).

Figure 2 : une police Times sans "hints"

Figure 3 : mauvaise rastérisation du H

C'est pour cette raison qu'existent des indications spéciales, les "hints", qui permettent de contrôler la rastérisation et de déplacer au besoin certaines parties de l'enveloppe du caractère. La partie de caractère ainsi contrôlée se trouve insérée dans une sorte de colonne ("stem", terme anglais désignant habituellement les jambages) horizontale ou verticale (diagonale aussi dans les polices TrueType), qui, lors de la rastérisation, est placée au mieux sur la grille des pixels. De cette manière, les parties de caractère identiques au départ seront également identiques sur le périphérique de sortie (moniteur ou imprimante).

Pour la même raison, les subtiles exceptions à l'alignement des caractères (le o minuscule dépassant, en hauteur et à la base, pour corriger un illusion d'optique qui a tendance à réduire les caractères arrondis, de 3 ou 4% le x) sont contrôlées par des "zones de dépassement" (par exemple les lignes qui marquent les hauteurs respectives du o et du x dans la Figure 3), qui permettent d'aligner totalement les caractères dans des corps où une différence d'un pixel représenterait bien plus de 3 ou 4% (comme le montre la Figure 4).

Figure 4 : zones de dépassement, mauvaise rastérisation

La création des "hints" et des "zones de dépassement" font l'objet d'une automatisation plus ou moins grande selon les logiciels. Nulle dans la version 2.5 de Type-Designer, elle est apparue, pour les "hints", dans la version 3.1 du logiciel. Toujours est-il qu'une police de qualité professionnelle requiert toujours l'intervention directe, dans un grand nombre de cas, du typographe.

Revenons à Type-Designer.

En ce qui concerne les "hints" notamment, s'il ignore par exemple, contrairement à Fontographer, le contrôle des diagonales propre au format TrueType, Type-Designer excelle dans l'édition des "hints" contrôlant les "stems" verticaux ou horizontaux. Pour créer un "hint", par exemple pour le contrôle d'un "stem" vertical, il faut tracer une ligne horizontale, en partant du premier point contrôlé, jusqu'à hauteur du deuxième point contrôlé. Il se trouve que le format Type 1 n'autorise pas le chevauchement des "stems", et Type-Designer a la remarquable caractéristique de pouvoir contourner cette difficulté par la technique dite du "remplacement de hint" prévue par le format Type 1 : lorsque deux "stems" doivent se chevaucher, on procède, avant le "hint" contrôlant le deuxième "stem", au "remplacement de hint". Au point de remplacement, tous les hints antérieurs sont annulés, ce qui permet d'éviter le fameux chevauchement, quitte à répéter, au besoin, certains hints, qui ont été annulés par cette opération. C'est ce qui se produit notamment pour la lettre B majuscule, en général, et a fortiori dans les polices à empattements, comme on peut s'en rendre compte dans la Figure 4, représentant le caractère B majuscule d'une police de type Helvetica, telle qu'on peut le voir dans une fenêtre de Type-Designer.

Figure 5 : le "remplacement de hint" (Type-Designer)
Figure 1

Les chiffres 1, 2 et 3 indiquent dans l'ordre les points de départ des trois contours nécessaires au dessin du caractère. Conformément à la règle appliquée aux polices Type 1, les contours extérieurs sont tracés dans le sens contraire à celui des aiguilles d'une montre (contour 1), les contours intérieurs dans le sens des aiguilles d'une montre (contours 2 et 3). Les hints sont représentés par un trait violet, dont les extrémités marquent les limites du "stem" perpendiculaire à ce trait. Les points verts représentent le point de départ du hint. Après le point 1, un premier "hint" contrôle le trait horizontal inférieur, puis un deuxième "hint", qui n'est pas visible dans la fenêtre de Type-Designer, parce que recouvert par un "hint" tracé en sens inverse à partir du point opposé placé sur le contour 2. Lorsque, dans le tracé du contour 1, l'on arrive à l'extrémité de la courbe supérieure, le "hint" nécessaire au contrôle de cette courbe entraîne un chevauchement des "stems". Pour l'éviter, on fait intervenir à ce point un "remplacement de hint" : à partir de ce point — et de ce point compris —, tous les "hints" antérieurs sont annulés. Anticipons : dans le deuxième contour, qui suit le sens des aiguilles d'une montre, lorsque l'on arrive à la courbe, le hint qui avait déjà été tracé ayant été annulé, il faut placer un nouveau "hint" pour contrôler la même courbe. On peut constater que par le même phénomène, plusieurs parties du caractères se trouvent contrôlés par deux "hints", le premier des deux ayant été annulé par un "remplacement de hint", pour éviter un chevauchement de "stems".

Type-Designer implémente donc de manière remarquable cette technique difficile, mais nécessaire à la création des polices Type 1 de grande qualité.

En outre, le rendu des zones de dépassement paraît meilleur dans les polices créées avec Type-Designer (au format TrueType comme au format Type 1), que dans celles générées par Fontographer. Il faut dire aussi que Type-Designer impose un garde-fou draconien : il n'est pas possible de saisir dans la boîte de dialogue des valeurs qui ne seraient pas conformes à celles prescrites par Adobe.