#### 4.3.4 Layout interfaces

Fingering is a layout object. Such an object is a symbol within the score. It has properties, which store numbers (like thicknesses and directions), but also pointers to related objects. A layout object is also called grob, which is short for Graphical Object.

The page for `Fingering` lists the definitions for the `Fingering` object. For example, the page says

> `padding` (dimension, in staff space):

> `0.6`

which means that the number will be kept at a distance of at least 0.6 of the note head.

Each layout object may have several functions as a notational or typographical element. For example, the Fingering object has the following aspects

- Its size is independent of the horizontal spacing, unlike slurs or beams
- It is a piece of text. Granted, it's usually a very short text.
- That piece of text is typeset with a font, unlike slurs or beams.
- Horizontally, the center of the symbol should be aligned to the center of the notehead
- Vertically, the symbol is placed next to the note and the staff.
- The vertical position is also coordinated with other super and subscript symbols

Each of these aspects is captured in a so-called interface, which are listed on the Fingering page at the bottom

> This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

Clicking any of the links will take you to the page of the respective object interface. Each interface has a number of properties. Some of them are not user-serviceable (“Internal properties”), but others are.

We have been talking of `the' `Fingering` object, but actually it does not amount to much. The initialization file scm/define-grobs.scm shows the soul of the `object',

       (Fingering
         . (
    	(print-function . ,Text_item::print)
    	(padding . 0.6)
    	(staff-padding . 0.6)
    	(self-alignment-X . 0)
    	(self-alignment-Y . 0)
    	(script-priority . 100)
    	(font-encoding . number)
    	(font-size . -5)
    	(meta . ((interfaces . (finger-interface font-interface
                   text-script-interface text-interface
                   side-position-interface self-alignment-interface
                   item-interface))))
      ))

as you can see, `Fingering` is nothing more than a bunch of variable settings, and the webpage is directly generated from this definition.

Read comments on this page, or add one. This page is for LilyPond-2.2.5 (stable-branch).