4.2.2 Propriétés listées par interface

Supposons maintenant que nous voulions imprimer des paroles en italique. Quelle formulation de la commande \override allons-nous utiliser ? Nous consultons en premier lieu, comme précédemment, la page de la RPI qui contient la liste « Tous les objets de rendu », et recherchons un objet qui contrôle les paroles. Nous trouvons LyricText, qui semble approprié. Nous cliquons dessus et nous voyons apparaître les différentes propriétés des paroles, parmi lesquelles font-series et font-size. Mais aucune ne propose l’italique. Car la mise en forme des caractères est une propriété commune à tous les objets d’écriture, si bien que, au lieu de figurer dans tous les objets de rendu, elle est regroupée avec d’autres propriétés semblables et placée dans une Interface, la font-interface.

Il nous faut donc apprendre à trouver les propriétés des interfaces et découvrir les objets qui utilisent les propriétés de ces interfaces.

Retournons à la page de la RPI qui traite des paroles (LyricText). En bas de la page est dressée sous forme de liens la liste des interfaces qui concernent LyricText. Cette liste comporte plusieurs entrées, dont font-interface. En cliquant dessus, nous voyons apparaître les différentes propriétés associées à cette interface, qui sont en même temps les propriétés de tous les objets qui s’y rapportent, parmi lesquels LyricText.

Nous avons alors sous les yeux tous les réglages des propriétés qui contrôlent les polices de caractères, et notamment font-shape(symbole), où symbole peut prendre la valeur upright, italics ou caps.

Vous remarquerez que font-series et font-size figurent aussi dans la liste. La question qui ne manque pas de se poser est : « Comment se fait-il que les propriétés font-series et font-size se retrouvent à la fois dans LyricText et dans l’interface font-interface alors que ce n’est pas le cas pour font-shape ? » La réponse est que lorsqu’un objet LyricText est créé, les valeurs globales par défaut de font-series et font-size sont modifiées, mais pas celles de font-shape. Les possibilités de modification dans LyricText ne concernent donc que les valeurs à appliquer à LyricText. Les autres objets qui dépendent de font-interface fixeront leurs propriétés différemment lorsqu’ils seront créés.

Voyons maintenant si nous sommes en mesure de formuler la commande \override pour mettre les paroles en italique. L’objet est LyricText, la propriété est font-shape et la valeur est italic. Comme auparavant, nous laissons de côté le contexte.

Signalons rapidement – même si cette remarque est importante – que, puisque les valeurs de font-shape se présentent sous forme de symboles, elles doivent être précédées d’une simple apostrophe, '. C’est pour cette raison qu’il fallait une apostrophe devant thickness dans l’exemple précédent, et qu’il en faut une devant font-shape. Ce sont à chaque fois des symboles, qui sont interprétés comme tels par LilyPond. Certains symboles peuvent être des noms de propriété, comme thickness ou font-shape, d’autres sont des valeurs à attribuer aux propriétés, comme italic. À ne pas confondre avec les chaînes de caractères libres, qui se présentent comme "un texte libre" ; pour plus de détails sur les symboles et les chaînes de caractères, voir le Tutoriel Scheme.

Ainsi, la commande \override pour mettre les paroles en italique est :

\override LyricText #'font-shape = #'italic

et doit être placée juste devant et tout près des paroles à modifier, comme ceci :

{
  \key es \major
  \time 6/8
  {
    r4 bes8 bes[( g]) g |
    g8[( es]) es d[( f]) as |
    as8 g
  }
  \addlyrics {
    \override LyricText #'font-shape = #'italic
    The man who | feels love's sweet e -- | mo -- tion
  }
}

[image of music]

et voilà les paroles en italiques.

Spécification du contexte en mode lyrique

Lorsqu’il s’agit de paroles et qu’on cherche à préciser le contexte sur le modèle de ce qui a été fait précédemment, la commande échoue. Car une syllabe saisie en mode Paroles (lyricmode) se termine obligatoirement par une espace, un saut de ligne ou un nombre. Tout autre caractère compte comme un élément de la syllabe. C’est pourquoi il faut une espace ou un saut de ligne avant le } final, pour éviter qu’il ne soit assimilé à la dernière syllabe. De même, il faut insérer des espaces de part et d’autre du point, « . », qui sépare le nom de contexte du nom de l’objet, faute de quoi les deux noms seront joints et l’interpréteur ne pourra pas les reconnaître. La formulation correcte est donc :

\override Lyrics . LyricText #'font-shape = #'italic

Note : Dans la saisie des paroles, pensez à toujours laisser une espace entre la dernière syllabe et l’accolade fermante.

Note : Lorsqu’on retouche des paroles, toujours placer des espaces autour du point qui sépare le nom de contexte du nom d’objet.

Voir aussi

Manuel d’extension : Tutoriel Scheme.


Autres langues : English, česky, deutsch, español, italiano, 日本語, nederlands.
About automatic language selection.

LilyPond — Manuel d’initiation