Moduler l'apparence des traits d'union avec IndyFont
May 18, 2017 | IndyFont | fr | en
Bien qu'IndyFont (et Unicode) admettent des traits d'union différenciés tels que U+2010 TRAIT D’UNION
, U+2011 TRAIT D’UNION INSÉCABLE
, et bien sûr U+00AD TRAIT D’UNION CONDITIONNEL
, il apparaît qu'InDesign rechigne à distinguer le caractère du glyphe dans ce domaine particulier. En clair, InDesign tend à dessiner tous les traits d'union de la même façon, ce qui n'est pas toujours l'effet recherché…
Le trait d’union vu d'InDesign
Le trait d'union est un signe de ponctuation servant aussi bien à joindre des unités lexicales (mots composés) qu'à les diviser (césure syllabique). Les typographes distinguent d'ailleurs ces deux concepts, l'un orthographique pour lequel ils réservent le terme de trait d'union (au sens strict), l'autre typographique pour lequel ils emploient le mot division (ou div), désignant spécialement la marque d'une coupure de mot (césure). Quoi qu'il en soit, l'entité ortho/typo/graphique que nous appellerons trait d'union implique et des caractères et des glyphes distincts, pour ses emplois dits insécable, conditionnel, etc.
Entre autres avatars, le trait d'union au sens large intervient dans le mécanisme de la césure automatique, situation dans laquelle aucun caractère n'a été effectivement saisi par le metteur en page bien qu'un signe imprimé soit finalement produit logiciellement. Inversement, le trait d'union conditionnel réalise un caractère explicite (formellement, U+00AD
) qui peut rester muet, graphiquement invisible, selon sa position dans la ligne composée.
Une terminologie claire est indispensable pour aborder la diversité de ces situations. Voici celle adoptée dans cet article :
Trait d'union... | Caractère saisi | Glyphe | Remarques |
---|---|---|---|
Normal | U+002D TRAIT D'UNION SIGNE MOINS | /hyphen | Dans InDesign, presque tous les effets de césure reposent sur le glyphe de ce caractère, qu'on appelle parfois trait d'union Ascii. |
Unicode | U+2010 TRAIT D'UNION | /hyphentwo | Sous-employé (y compris dans InDesign), il devrait en principe se comporter comme le trait d'union normal, bien que son glyphe puisse s'en distinguer. |
Insécable | U+2011 TRAIT D'UNION INSÉCABLE | /hyphen (devrait être /u2011) | IndyFont permet d'assigner un glyphe dédié à ce caractère, mais InDesign n'en tiendra pas compte. |
Conditionnel (visible) | U+00AD TRAIT D'UNION CONDITIONNEL | /hyphen (devrait être /sfthyphen) | IndyFont permet d'assigner un glyphe dédié à ce caractère, mais InDesign n'en tiendra pas compte. Appelé «tiret conditionnel» dans InDesign, il s'active seulement lorsque le caractère sous-jacent occupe la position d'une césure possible dans la composition courante. |
Conditionnel (inactif) | U+00AD TRAIT D'UNION CONDITIONNEL | aucun | Même caractère que ci-dessus, mais inhibé tant qu'il n'est pas en situation de césure. |
Automatique | aucun | /hyphen | Pas de caractère sous-jacent, mais le glyphe est produit logiciellement au point de coupure de ligne, en accord avec les options de césure réglées par l'utilisateur. InDesign utilise alors le glyphe du trait d'union normal. |
Note. — Le présent article se concentre sur les traits d'union, au sens donné ci-dessus, compte tenu de leur fonctionnement particulier dans InDesign. Il ne sera pas fait mention des tirets cadratin et demi-cadratin, moins et autres traits horizontaux, tous étrangers au processus de césure. IndyFont vous permet de personnaliser les glyphes de tels caractères sans contrainte notable. (À propos des caractères spéciaux sous InDesign, cf. cet article plus ancien.)
Récapitulons les règles adoptées par InDesign en matière de traits d'union :
Le glyphe du trait d'union normal (U+002D
) est réinvesti partout où un trait d'union, quelle que soit sa nature véritable, doit apparaître. InDesign signale d'ailleurs la substitution — en jaune — pour les traits d'union insécable et automatique. La règle s'applique également au trait d'union conditionnel actif. Toutefois, concernant le trait d'union Unicode, InDesign se résout à employer son glyphe s'il est disponible dans la police courante.
La terrible vérité
Techniquement, IndyFont serait en mesure d'assigner un glyphe distinct à tous les caractères que nous avons décrits ci-dessus, mais InDesign ignorera purement et simplement vos efforts à cause de la substitution automatique des glyphes. Pour en faire la démonstration, testons une fonte minimale où chaque trait d'union revêt un glyphe dédié :
Dans ce modèle IndyFont, le trait d'union normal subit une lègère inclinaison, de façon à repérer immédiatement toute occurrence de cette forme. Puis, une ligne verticale figure le trait d'union conditionnel (visible), un triangle figure le trait d'union Unicode, et un disque le trait d'union insécable.
Voici le dialogue IndyFont avant l'export OTF. Notez que tous les caractères et glyphes sont parfaitement valides. La conversion OpenType se déroulera sans anicroche :
Maintenant que notre police TestHyphens-Regular
est opérationnelle, voyons comment elle agit dans un bloc-texte échantillon où seraient introduits tous les traits d'union possibles. On n'oublie pas d'activer la césure automatique des paragraphes afin d'observer aussi le trait d'union automatique (à la fin du texte). Notez enfin que, dans la capture ci-dessous, le trait d'union insécable est sélectionné :
(Cliquez sur l'image pour voir le contenu de la palette Glyphes.) Ainsi, tous les glyphes additionnels sont inhibés, à l'exception de notre trait d'union Unicode triangulaire (U+2010
). Ceci confirme bien qu'InDesign traite le glyphe du trait d'union normal comme représentation canonique de tous les caractères de cette espèce, y compris lorsque la police fournit un dessin exclusif pour lesdits caractères. Le trait d'union insécable étant sélectionné sous InDesign CC 2017, nous observons en passant que son glyphe théorique devrait être un disque, comme en témoigne la mini-fenêtre surgissante sous la sélection. Mais qu'il n'en est point ainsi.
Vers une solution propre
Quelle conclusion tirer à ce stade ? Qu'il est vain de déclarer et de définir des traits d'union additionnels dans IndyFont, puisqu'InDesign ne veut bien discuter qu'avec le trait d'union standard.
Mais imaginons que votre client réclame une mise en forme particulière à la césure automatique et conditionnelle. Par exemple, que ces traits d'union-là soient figurés par des tildes (~
), tandis que le dessin habituel serait maintenu pour le trait d'union normal et sa contrepartie insécable. Une idée simple vient à l'esprit : nous pourrions créer sous IndyFont une variante de glyphe, disons /hyphen.swash
, et faire en sorte que cet attribut OpenType soit sélectionné pour les caractères qui nous intéressent. Pour ce faire, il suffira d'un style de caractère ad hoc et d'une redirection sur ce dernier par le truchement d'un style Grep. Facile !
Cependant, gardons en tête que le trait d'union automatique n'est pas un caractère, et qu'en conséquence il ne peut être la proie d'aucune expression Grep. La mise en forme de la césure automatique résulte par héritage du style possédé par le caractère situé en amont dans le flux textuel, style que nous devons donc considérer comme appliqué « par défaut », c'est-à-dire sans variante de glyphe. De là s'ensuit que, dans notre modèle IndyFont, nous devons retravailler le glyphe du trait d'union standard (/hyphen
) de sorte qu'il corresponde aux emplois automatique et conditionnel, tandis que la variante « italique ornée » (/hyphen.swash
) sera spécialement utilisée pour les caractères effectivement accessibles au Grep InDesign, à savoir le trait d'union normal U+002D
et le trait d'union insécable U+2011
.
Voici à quoi ressemble notre modèle de police après ces modifications :
Relançons IndyFont pour produire la nouvelle version de cette police de caractères. Observez que deux glyphes sont enregistrés, /hyphen
et /hyphen.swash
, pour le seul et unique caractère U+002D
:
L'étape suivante consiste à créer le style de caractère « Swash » dans le document InDesign, en activant simplement l'option « Variantes de lettres italiques ornées » :
Il nous faut maintenant un style de paragraphe doté d'un style Grep affectant la classe [-~~]
, instruction qui représente aussi bien le trait d'union normal que le trait d'union insécable :
La magie va-t-elle opérer ? Le trait d'union normal et le trait d'union automatique vont-ils enfin nous apparaître sous des habits différents ? Un nouvel échantillon de texte en fera la preuve :
Ce qui fait le charme de la solution proposée ici, à mon avis, est qu'elle ne transgresse pas la sémantique des caractères Unicode et n'opère aucun détour vers une fonte secondaire. Tout est géré au sein de votre police de caractères principale.
Un grand merci à Camilo Umana pour avoir posé la question prétexte à cet article.
Comments
I downloaded and installed iF but when I run it, it just crashes ID...ie ID hangs and I have to use TaskManager to shut it down. Please advise.
Hi Wayno,
Thanks for your feedback.
> (…)ID hangs and I have to use TaskManager to shut it down
This sounds like a screen problem that other users have reported.
Do you use a 4K screen and/or a dual display system?
In such case IndyFont's main dialog may wrongly display outside of the visible areas, which make you feel like InDesign just crashed. In fact, the dialog is active although hidden. (Pressing [Esc] should unload it, by the way.)
I have a non-official fix to this particular issue:
1. Download ScreenFix.zip from here: http://indiscripts.com/blog/public/...
2. Unzip the package. It contains a file 'fix.jsx'.
3. Move 'fix.jsx' to the folder where IndyFontTry.jsx (or IndyFontPro.jsx) is already installed.
4. Restart InDesign and try to run the script again.
Does this solve the problem?
@+
Marc
Bonjour Marc,
A nouveau, vous mettez au point une solution assez simple pour parer une limite constatée d'InDesign.
Bravo et merci à vous !
Et toujours une lecture didactique délectable, ceci devient (trop) rare... je le souligne.
Amicalement,
Nico
Bonjour Nico,
Merci pour ce commentaire sympathique et gratifiant.
À mon tour de le souligner, les soutiens comme le vôtre deviennent (trop) rares… C'est pourtant le carburant qui fait que je persévère dans la production d'articles en français, en dépit d'une certaine désaffection du lectorat francophone.
Bonne continuation,
Marc