]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/automated-engraving/formatting-architecture.itexi
Docs: typos
[lilypond.git] / Documentation / automated-engraving / formatting-architecture.itexi
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10
11
12 @node formatting-architecture 
13
14 @unnumberedsec A flexible formatting architecture
15
16 Remember the music notation problem? Its solution left us with a
17 bunch of objects. The formatting architecture is built on these
18 objects. Each object carries variables:
19
20 @itemize
21 @item
22  Variables control layout decisions.  For example, many objects
23 have a @code{direction} variable that encodes the choice between up
24 and down (or left and right).  Here you see two chords, with accents
25 and arpeggio. In the first chord, the objects have all directions down
26 (or left). The second chord has all directions up (right).
27
28 @divClass{float-center}
29 @sourceimage{directions-updown,,,.png}
30 @divEnd
31
32 The process of formatting a score consists of reading and writing
33 object variables.
34
35
36
37 @item
38 Some variables have a preset value. For example, the thickness of
39  many lines – a characteristic of typographical style – are preset
40  variables. Changing them gives a different typographical impression:
41
42 @divClass{float-center}
43 @sourceimage{thickness-tweaks,,,.png}
44 @divEnd
45
46 @item
47 Formatting rules are also preset variables: each object has
48 variables containing procedures. These procedure perform the actual
49 formatting, and by substituting different ones, we can change
50 behavior. In the following example, the rule that note head objects
51 use to draw their symbol is changed during the music fragment:
52
53 @divClass{float-center}
54 @sourceimage{mc-squared,,,.png}
55 @divEnd
56
57 @end itemize
58
59 @divClass{float-right}
60 Next:
61  @ref{scoring-esthetics,Beautiful numbers}: how
62 LilyPond participates in the Miss World contests.
63 @divEnd