LilyPond Handbuch zum Lernen: 4.2.2 Eigenschaften, die Schnittstellen besitzen können

### 4.2.2 Eigenschaften, die Schnittstellen besitzen können

Der Text unseres Beispiels soll jetzt kursiv gesetzt werden. Was für ein `\override`-Befehl wird dazu benötigt? Schauen wir uns zunächst das Inhaltsverzeichnis in der IR an: „All layout objects“, wie auch schon zuvor. Welches Objekt könnte die Darstellung des Textes (engl. lyrics) beeinflussen? Es gibt den Eintrag `LyricText`, das hört sich schon sehr gut an. Ein Klick hierauf zeigt alle Eigenschaften an, die verändert werden können. Dazu gehört `font-series` und `font-size`, aber nichts, womit man kursiven Text erreichen könnte. Das liegt daran, dass die Schnitteigenschaft allen Schrift-Objekten gemeinsam ist. Sie findet sich also nicht in jedem einzelnen Layout-Objekt aufgelistet, sondern ist mit anderen ähnlichen Eigenschaften zusammen in einem Interface – einer Schnittstelle – verortet; in diesem Fall das `font-interface`.

Jetzt müssen wir also lernen, wie wir Eigenschaften von Schnittstellen finden und wie wir herausfinden, welche Objekte diese Schnittstelleneigenschaften benutzen.

Schauen Sie sich noch einmal die Seite in der IR an, die `LyricText` beschreibt. Unten auf der Seite ist eine klickbare Liste (in der HTML-Version der IR) an Eigenschaften, die von `LyricText` unterstützt werden. Diese Liste enthält sieben Einträge, darunter auch `font-interface`. Ein Klick hierauf bringt uns zu den Eigenschaften, die mit dieser Schnittstelle verbunden sind, also auch `LyricText`.

Jetzt sehen wir alle die Eigenschaften, die der Benutzer verändern kann, um die Schriftartendarstellung zu beeinflussen. Dazu gehört nun auch `font-shape(symbol)`, wobei `symbol` auf die Werte `upright` (gerade), `italics` (kursiv) oder `caps` (Kapitälchen) gesetzt werden kann.

Sie werden gemerkt haben, dass `font-series` und `font-size` hier auch aufgelistet sind. Es stellt sich die Frage, warum diese allgemeinen Schriftarteigenschaften `font-series` und `font-size` sowohl unter der Überschrift `LyricText` als unter dem `font-interface` aufgelistet sind, aber `font-shape` befindet sich nur im `font-interface`? Die Antwort ist: Die globalen Einstellungen von `font-series` und `font-size` werden geändert, wenn ein `LyricText`-Objekt erstellt wird, aber `font-shape` wird davon nicht beeinflusst. Die zusätzlichen Einträge unter der Überschrift `LyricText` beinhalten dann die Werte der Standardeinstellungen dieser zwei Eigenschaften, wenn es sich um ein `LyricText`-Objekt handelt. Andere Objekte, die auch das `font-interface` unterstützen, setzen diese Eigenschaften anders, wenn sie erstellt werden.

Versuchen wir nun einen `\override`-Befehl zu konstruieren, der den Gesangstext kursiv setzt. Das Objekt hat die Bezeichnung `LyricText`, die Eigenschaft ist `font-shape` und der Wert `italic`. Wie vorher schon lassen wir den Kontext aus.

Am Rande sei auf das wichtige Detail hingewiesen, dass die Werte für manche Eigenschaften Symbole sind, wie z.B. `italic` und dass diese mit einem Apostroph (`'`) gekennzeichnet werden müssen. Symbole sind besondere Bezeichnungen, die LilyPond intern bekannt sind. Im Unterschied hierzu gibt es auch beliebige Zeichenketten, die immer mit Anführungszeichen, also als `"Zeichenkette"` auftreten. Für weitere Einzelheiten zu Zeichenketten und Werten, siehe Scheme-Tutorium.

Gut, der `\override`-Befehl, mit dem der Gesangstext kursiv gesetzt wird, lautet:

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

und er muss direkt vor den Text gesetzt werden, auf den er sich bezieht, etwa so:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8 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
>       }
>     }

Jetzt wird der Text kursiv gesetzt.

Achtung: Innerhalb von Gesangstext muss immer ein Leerzeichen zwischen der letzten Silbe und der schließenden Klammer gesetzt werden.

#### Siehe auch

Erweitern: Scheme-Tutorium.

#### LilyPond – Learning Manual v2.22.2 (stabiler Zweig).