4.2.2 Properties found in interfaces

Suppose now that we wish to print the lyrics in italics. What form of
\override command do we need to do this? We first look in the
IR page listing ‘All layout objects’, as before, and look for an
object that might control lyrics. We find LyricText, which
looks right. Clicking on this shows the settable properties for lyric
text. These include the font-series and font-size, but
nothing that might give an italic shape. This is because the shape
property is one that is common to all font objects, so, rather than
including it in every layout object, it is grouped together with other
similar common properties and placed in an Interface, the
font-interface.

So now we need to learn how to find the properties of interfaces,
and to discover what objects use these interface properties.

Look again at the IR page which describes LyricText. At the bottom of
the page is a list of clickable interfaces which LyricText supports.
The list has several items, including font-interface. Clicking
on this brings up the properties associated with this interface, which
are also properties of all the objects which support it, including
LyricText.

Now we see all the user-settable properties which control fonts,
including font-shape(symbol), where symbol can be
set to upright, italics or caps.

You will notice that font-series and font-size are also
listed there. This immediately raises the question: Why are the
common font properties font-series and font-size listed
under LyricText as well as under the interface
font-interface but font-shape is not? The answer is
that font-series and font-size are changed from their
global default values when a LyricText object is created, but
font-shape is not. The entries in LyricText then tell
you the values for those two properties which apply to
LyricText. Other objects which support font-interface
will set these properties differently when they are created.

Let’s see if we can now construct the \override command
to change the lyrics to italics. The object is LyricText,
the property is font-shape and the value is
italic. As before, we’ll omit the context.

As an aside, although it is an important one, note that some
properties take values that are symbols, like italic, and
must be preceded by an apostrophe, '. Symbols are then
read internally by LilyPond. Note the distinction from arbitrary
text strings, which would appear as "a text string"; for
more details about symbols and strings, see Scheme tutorial.

So we see that the \override command needed to print the lyrics
in italics is:

\override LyricText.font-shape = #'italic

This should be placed just in front of the lyrics we wish to affect,
like so: