GNU LilyPond – Manuel d'initiation: 4.2.2 Propriétés listées par interface

### 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
>       }
>     }

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 avant et après le 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.

#### LilyPond — Manuel d’initiation