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 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.