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

Read comments on this page, or add one.

This page is for LilyPond-2.5.11 (development-branch).

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

Other languages: English.
Using automatic language selection.