Next: , Previous: Markup construction in Scheme, Up: Markup programmer interface



8.2.2 How markups work internally

In a markup like

\raise #0.5 "foo"

\raise is actually represented by the raise-markup function. The markup expression is stored as

(list raise-markup 0.5 (list simple-markup 'latin1 "foo"))

In this case, latin1 is the input encoding, which is set with the \encoding command.

When the markup is converted to printable objects (Stencils), the raise markup is called as

(apply raise-markup
       \layout object
       list of property alists
       0.5
       the "foo" markup)

The raise-markup first creates the stencil for the foo string, and then it raises that Stencil by 0.5 staff space. This is a rather simple example; more complex examples are in the rest of this section, and in scm/define-markup-commands.scm.

This page is for LilyPond-2.4.5 (stable-branch).

Report errors to <bug-lilypond@gnu.org>.

Other languages: English.
Using automatic language selection.