1 New features in 2.20 since 2.18
2 *******************************
4 • It is now possible to move systems with reference to their current
5 position using the ‘extra-offset’ subproperty of
6 ‘NonMusicalPaperColumn.line-break-system-details’. Both vertical
7 and horizontal changes are possible. This feature is especially
8 useful for making slight adjustments to the default vertical
9 position of individual systems. See *note
10 (lilypond-notation)Explicit staff and system positioning:: for more
13 • It is now possible to add text to analysis brackets through the
14 ‘HorizontalBracketText’ object.
18 \consists "Horizontal_bracket_engraver"
23 \once \override HorizontalBracketText.text = "a"
24 c''\startGroup d''\stopGroup
25 e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup
29 • The ends of hairpins may now be fine-tuned using the ‘shorten-pair’
30 grob property, which previously only affected text-spanners like
31 ‘TupletBracket’ and ‘OttavaBracket’. Positive values offset to the
32 right, negative to the left.
33 { \once \override Hairpin.shorten-pair = #'(2 . 2)
36 \once \override Hairpin.shorten-pair = #'(-2 . -2)
41 • In fret-diagrams the distance between frets and the distance
42 between strings is now independently adjustable. Available are
43 ‘fret-distance’ and ‘string-distance’ as subproperties of
44 ‘fret-diagram-details’.
45 fretMrkp = \markup { \fret-diagram-terse #"x;x;o;2;3;2;" }
48 \override #'(padding . 2)
56 \override #'(fret-diagram-details . ((fret-distance . 2)))
61 \override #'(fret-diagram-details . ((string-distance . 2)))
66 • Accidental rules can now be defined across ‘ChoirStaff’ contexts.
67 Two new rules ‘choral’ and ‘choral-cautionary’ are available that
68 combine the characteristics of ‘modern-voice’ and ‘piano’ or their
69 equivalents with cautionary accidentals.
71 • The music function ‘\unfoldRepeats’ can now take an optional
72 argument-list specifying which type(s) of repeated music should be
73 unfolded. Possible entries are ‘percent’, ‘tremolo’, ‘volta’. If
74 the optional argument-list is unspecified, ‘repeated-music’ will be
77 • A new ‘output-attributes’ grob property is now used for svg output
78 instead of the ‘id’ grob property. It allows multiple attributes
79 to be defined as an association list. For example, ‘#'((id . 123)
80 (class . foo) (data-whatever . “bar”))’ will produce the following
81 group tag in an SVG file: ‘<g id=“123” class=“foo”
82 data-whatever=“bar”> ... </g>’.
84 • Slurs and phrasing slurs may now be started from individual notes
85 in a chord. Several simultanous slurs per ‘Voice’ need to be
86 distinguished by ‘spanner-id’ setting.
88 • The music and grob property ‘spanner-id’ for distinguishing
89 simultaneous slurs and phrasing slurs has been changed from a
90 string to a ‘key’, a non-negative integer or symbol.
92 • There is a new command ‘\=’ for specifying the ‘spanner-id’ for
93 simultaneous slurs and phrasing slurs.
95 <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
99 • Blocks introduced with ‘\header’ can be stored in variables and
100 used as arguments to music and scheme functions and as the body of
101 ‘#{...#}’ constructs. They are represented as a Guile module.
103 While ‘\book’, ‘\bookpart’, ‘\score’, ‘\with’, ‘\layout’, ‘\midi’,
104 ‘\paper’ blocks can be passed around in similar manner, they are
105 represented by different data types.
107 • Dot-separated symbol lists like ‘FretBoard.stencil’ were already
108 supported as of version 2.18. They may now also contain unsigned
109 integers, and may alternatively be separated by commata. This
111 { \time 2,2,1 5/8 g'8 8 8 8 8 }
115 \tagGroup violin,oboe,bassoon
117 • Such lists may also be used in expressions for assignments, sets,
118 and overrides. This allows usage such as
119 { \unset Timing.beamExceptions
120 \set Timing.beatStructure = 1,2,1
124 • Association list elements could previously be assigned values
125 individually (for example, paper variables like
126 ‘system-system-spacing.basic-distance’). They may now be also
127 referenced in this manner, as with
129 \void \displayScheme \system-system-spacing.basic-distance
132 In combination with the previously mentioned changes, this allows
133 setting and referencing pseudovariables like ‘violin.1’.
135 • LilyPond source files may now be embedded inside the generated PDF
136 files. This experimental feature is disabled by default and may be
137 regarded as unsafe, as PDF documents with hidden content tend to
138 present a security risk. Please note that not all PDF viewers have
139 the ability to handle embedded documents (if not, the PDF output
140 will appear normally and source files will remain invisible). This
141 feature only works with the PDF backend.
143 • French note names are now defined specifically instead of being
144 aliased to Italian note names: in addition to the generic
145 Italian-derived syntax, the D pitch may be entered as ‘ré’. Double
146 sharps may also be entered using the ‘-x’ suffix.
148 • Additional bass strings (for lute tablature) are supported.
149 m = { f'4 d' a f d a, g, fis, e, d, c, \bar "|." }
156 tablatureFormat = #fret-letter-tablature-format
160 stringTunings = \stringTuning <a, d f a d' f'>
161 additionalBassStrings = \stringTuning <c, d, e, fis, g,>
162 fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
168 • The markup-list-command ‘\table’ is now available. Each column may
169 be aligned differently.
171 \override #'(padding . 2)
175 \underline { center-aligned right-aligned center-aligned left-aligned }
176 one "1" thousandth "0.001"
177 eleven "11" hundredth "0.01"
178 twenty "20" tenth "0.1"
179 thousand "1000" one "1.0"
184 • A new markup-command, ‘\with-dimensions-from’, makes
185 ‘\with-dimensions’ easier to use by taking the new dimensions from
186 a markup object, given as first argument.
188 \pattern #5 #Y #0 "x"
189 \pattern #5 #Y #0 \with-dimensions-from "x" "f"
190 \pattern #5 #Y #0 \with-dimensions-from "x" "g"
191 \override #'(baseline-skip . 2)
193 \pattern #5 #X #0 "n"
194 \pattern #5 #X #0 \with-dimensions-from "n" "m"
195 \pattern #5 #X #0 \with-dimensions-from "n" "!"
200 • There are two new page breaking functions. ‘ly:one-page-breaking’
201 automatically adjusts the height of the page to fit the music, so
202 that everything fits on one page.
203 ‘ly:one-line-auto-height-breaking’ is like ‘ly:one-line-breaking’,
204 placing the music on a single line and adjusting the page width
205 accordingly, however it also automatically adjusts the page height
208 • Markup-command ‘\draw-squiggle-line’ is now available. Customizing
209 is possible with overrides of ‘thickness’, ‘angularity’, ‘height’
213 \draw-squiggle-line #0.5 #'(3 . 3) ##t
216 \override #'(thickness . 4)
217 \draw-squiggle-line #0.5 #'(3 . -3) ##t
220 \override #'(angularity . -5)
221 \draw-squiggle-line #0.5 #'(-3 . -3) ##t
223 \translate #'(3 . -3)
224 \override #'(angularity . 2)
225 \override #'(height . 0.3)
226 \override #'(orientation . -1)
227 \draw-squiggle-line #0.2 #'(-3 . 3) ##t
231 • A new command, ‘\RemoveAllEmptyStaves’, has been made available,
232 which acts exactly like ‘\RemoveEmptyStaves’, except for also
233 removing empty staves on the first system in a score.
235 • Markup-commands ‘\undertie’ and ‘\overtie’ are now available, as
236 well as the generic markup-command ‘\tie’.
238 \undertie "undertied"
243 c''1 \prall -\tweak text \markup \tie "131" -1
246 { \voiceOne \m \voiceTwo \m }
249 • ‘TabStaff’ is now able to print micro-tones for bendings etc.
253 supportNonIntegerFret = ##t
257 mus = \relative { c'4 cih d dih }
260 \new Staff << \clef "G_8" \mus >>
265 • Two new styles of whiteout are now available. The ‘outline’ style
266 approximates the contours of a glyph’s outline, and its shape is
267 produced from multiple displaced copies of the glyph. The
268 ‘rounded-box’ style produces a rounded rectangle shape. For all
269 three styles, including the default ‘box’ style, the whiteout
270 shape’s ‘thickness’, as a multiple of staff-line thickness, can be
275 \filled-box #'(-1 . 15) #'(-3 . 4) #1
276 \override #'(thickness . 3)
277 \whiteout whiteout-box
281 \filled-box #'(-1 . 24) #'(-3 . 4) #1
282 \override #'(style . rounded-box)
283 \override #'(thickness . 3)
284 \whiteout whiteout-rounded-box
288 \filled-box #'(-1 . 18) #'(-3 . 4) #1
289 \override #'(style . outline)
290 \override #'(thickness . 3)
291 \whiteout whiteout-outline
294 \override Staff.Clef.whiteout-style = #'outline
295 \override Staff.Clef.whiteout = 3
300 • All of ‘\override’, ‘\revert’, ‘\set’, and ‘\unset’ now work with
301 the ‘\once’ prefix for making one-time settings.
304 \override NoteHead.color = #red
306 \once \override NoteHead.color = #green
308 \once \revert NoteHead.color
310 \revert NoteHead.color
315 • When outputting MIDI, LilyPond will now store the ‘title’ defined
316 in a score’s ‘\header’ block (or, if there is no such definition on
317 the ‘\score’ level, the first such definition found in a ‘\header’
318 block of the score’s enclosing ‘\bookpart’, ‘\book’, or top-level
319 scope) as the name of the MIDI sequence in the MIDI file.
320 Optionally, the name of the MIDI sequence can be overridden using
321 the new ‘midititle’ ‘\header’ field independently of ‘title’ (for
322 example, in case ‘title’ contains markup code which does not render
323 as plain text in a satisfactory way automatically).
325 • Music (and scheme and void) functions and markup commands that just
326 supply the final parameters to a chain of overrides, music function
327 and markup command calls can now be defined in the form of just
328 writing the expression cut short with ‘\etc’.
330 bold-red-markup = \markup \bold \with-color #red \etc
331 highlight = \tweak font-size 3 \tweak color #red \etc
333 \markup \bold-red "text"
334 \markuplist \column-lines \bold-red { One Two }
336 { c' \highlight d' e'2-\highlight -! }
339 • LilyPond functions defined with ‘define-music-function’,
340 ‘define-event-function’, ‘define-scheme-function’ and
341 ‘define-void-function’ can now be directly called from Scheme as if
342 they were genuine Scheme procedures. Argument checking and
343 matching will still be performed in the same manner as when calling
344 the function through LilyPond input. This includes the insertion
345 of defaults for optional arguments not matching their predicates.
346 Instead of using ‘\default’ in the actual argument list for
347 explicitly skipping a sequence of optional arguments,
348 ‘*unspecified*’ can be employed.
350 • Current input location and parser are now stored in GUILE fluids
351 and can be referenced via the function calls ‘(*location*)’ and
352 ‘(*parser*)’. Consequently, a lot of functions previously taking
353 an explicit ‘parser’ argument no longer do so.
355 Functions defined with ‘define-music-function’,
356 ‘define-event-function’, ‘define-scheme-function’ and
357 ‘define-void-function’ no longer use ‘parser’ and ‘location’
360 With those particular definitions, LilyPond will try to recognize
361 legacy use of ‘parser’ and ‘location’ arguments, providing
362 backwards-compatible semantics for some time.
364 • In the "english" notename language, the long notenames for pitches
365 with accidentals now contain a hyphen for better readability. You
368 instead of the previous
371 Double accidentals do not get another hyphen, so the Dutch ‘cisis’
372 has the long English notename ‘c-sharpsharp’.
374 • The visual style of tremolo slashes (shape, style and slope) is now
375 more finely controlled.
378 • Multi-measure rests have length according to their total duration,
379 under the control of ‘MultiMeasureRest.space-increment’.
382 • Page numbers may now be printed in roman numerals, by setting the
383 ‘page-number-type’ paper variable.
385 • It is now possible to use ‘\time’ and ‘\partial’ together to change
386 the time signature in mid measure.
388 \override Score.BarNumber.break-visibility = #end-of-line-invisible
389 \partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||"
390 \time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 |
393 • It is now possible to override the ‘text’ property of chord names.
396 \new ChordNames \chordmode {
398 \once \override ChordName.text = #"foo"
404 • Improved horizontal alignment when using ‘TextScript’, with
405 ‘DynamicText’ or ‘LyricText’.
407 • A new command ‘\magnifyStaff’ has been added which scales staff
408 sizes, staff lines, bar lines, beamlets and horizontal spacing
409 generally at the ‘Staff’ context level. Staff lines are prevented
410 from being scaled smaller than the default since the thickness of
411 stems, slurs, and the like are all based on the staff line
414 • ‘InstrumentName’ now supports ‘text-interface’.
416 • There is now support for controlling the ‘expression level’ of MIDI
417 channels using the ‘Staff.midiExpression’ context property. This
418 can be used to alter the perceived volume of even sustained notes
419 (albeit in a very ‘low-level’ way) and accepts a number value
420 between ‘0.0’ and ‘1.0’.
424 midiExpression = #0.6
425 midiInstrument = #"clarinet"
430 \set Staff.midiExpression = #0.7 s4\f\<
431 \set Staff.midiExpression = #0.8 s4
432 \set Staff.midiExpression = #0.9 s4
433 \set Staff.midiExpression = #1.0 s4
435 \set Staff.midiExpression = #0.9 s4\>
436 \set Staff.midiExpression = #0.8 s4
437 \set Staff.midiExpression = #0.7 s4
438 \set Staff.midiExpression = #0.6 s4\!
444 • Support for making it easier to use alternative ‘music’ fonts other
445 than the default Emmentaler in LilyPond has been added. See
446 <http://fonts.openlilylib.org/> for more information.
448 • Grobs and their parents can now be aligned separately allowing more
449 flexibility for grob positions. For example the ‘left’ edge of a
450 grob can now be aligned on the ‘center’ of its parent.
452 • Improvements to the ‘\partial’ command have been made to avoid
453 problems when using multiple, parallel contexts.
455 • ‘\chordmode’ can now use ‘< >’ and ‘<< >>’ constructs.
457 • A new command ‘\tagGroup’ has now been added. This complements the
458 existing ‘\keepWithTag’ and ‘\removeWithTag’ commands. For
461 \tagGroup #'(violinI violinII viola cello)
463 declares a list of ‘tags’ that belong to a single ‘tag group’.
465 \keepWithTag #'violinI
467 Is now only concerned with ‘tags’ from ‘violinI’’s tag group.
469 Any element of the included music tagged with one or more tags from
470 the group, but _not_ with VIOLINI, will be removed.
472 • The ‘\addlyrics’ function now works with arbitrary contexts
475 • String numbers can now also be used to print roman numerals (e.g.
476 for unfretted string instruments).
484 • The ‘thin-kern’ property of the ‘BarLine’ grob has been renamed to
487 • ‘KeyCancellation’ grobs now ignore cue clefs (like ‘KeySignature’
490 • Add support for ‘\once \unset’
492 • It is now possible to individually color both the dots and
493 parentheses in fret diagrams when using the ‘\fret-diagram-verbose’
498 \override #'(fret-diagram-details . (
499 (finger-code . in-dot))) {
500 \fret-diagram-verbose #'((mute 6)
501 (place-fret 5 3 1 red)
502 (place-fret 4 5 2 inverted)
503 (place-fret 3 5 3 green)
504 (place-fret 2 5 4 blue inverted)
505 (place-fret 1 3 1 violet)
510 \override #'(fret-diagram-details . (
511 (finger-code . below-string))) {
512 \fret-diagram-verbose #'((mute 6)
513 (place-fret 5 3 1 red parenthesized)
514 (place-fret 4 5 2 yellow
517 (place-fret 3 5 3 green)
518 (place-fret 2 5 4 blue )
526 • Two new properties have been added for use in
527 ‘fret-diagram-details’ when using the ‘\fret-diagram-verbose’
528 markup command; ‘fret-label-horizontal-offset’ which affects the
529 ‘fret-label-indication’ and ‘paren-padding’ which controls the
530 space between the dot and the parentheses surrounding it.
534 \fret-diagram-verbose #'((mute 6)
538 (place-fret 1 6 4 parenthesized)
543 \override #'(fret-diagram-details . (
544 (fret-label-horizontal-offset . 2)
545 (paren-padding . 0.25))) {
546 \fret-diagram-verbose #'((mute 6)
550 (place-fret 1 6 4 parenthesized)
558 • A new markup command ‘\justify-line’ has been added. Similar to
559 the ‘\fill-line’ markup command except that instead of setting
560 _words_ in columns, the ‘\justify-line’ command balances the
561 whitespace between them ensuring that when there are three or more
562 words in a markup, the whitespace is always consistent.
564 \markup \fill-line {oooooo oooooo oooooo oooooo}
565 \markup \fill-line {ooooooooo oooooooo oo ooo}
568 \markup \justify-line {oooooo oooooo oooooo oooooo}
569 \markup \justify-line {ooooooooo oooooooo oo ooo}
572 • A new command ‘\magnifyMusic’ has been added, which allows the
573 notation size to be changed without changing the staff size, while
574 automatically scaling stems, beams, and horizontal spacing.
577 \new Voice \relative {
579 <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
581 \new Voice \relative {
584 \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
585 r32 c'' a c a c a c r c a c a c a c
586 r c a c a c a c a c a c a c a c
592 • A new flexible template suitable for a range of choral music, is
593 now provided. This may be used to create simple choral music, with
594 or without piano accompaniment, in two or four staves. Unlike
595 other templates, this template is ‘built-in’, which means it does
596 not need to be copied and edited: instead it is simply ‘\include’’d
597 in the input file. For details, see *note
598 (lilypond-learning)Built-in templates::.
600 • The positioning of tuplet numbers for kneed beams has been
601 significantly improved. Previously, tuplet numbers were placed
602 according to the position of the tuplet bracket, even if it was not
603 printed. This could lead to stranded tuplet numbers. Now they are
604 now positioned closer to the kneed-beam when an appropriate beam
605 segment exists for its placement and when the bracket is not drawn.
607 Collision detection is also added, offsetting horizontally if too
608 close to an adjoining note column but preserving the number’s
609 vertical distance from the kneed beam. If the number itself is too
610 large to fit in the available space the original, bracket-based,
611 positioning system is used instead; and in the event of a collision
612 (e.g. with an accidental) the tuplet number is moved vertically
616 \override Beam.auto-knee-gap = 3
624 The original kneed-beam tuplet behavior is still available through
625 an ‘\override’ via a new, ‘knee-to-beam’ property.
628 \override Beam.auto-knee-gap = 3
629 \override TupletNumber.knee-to-beam = ##f
637 • ‘\lyricsto’ and ‘\addLyrics’ have been ‘harmonized’. Both now
638 accept the same kind of delimited argument list that ‘\lyrics’ and
639 ‘\chords’ accept. Backward compatibility has been added so music
640 identifiers (i.e. ‘\mus’) are permitted as arguments. A
641 ‘convert-ly’ rule has been added that removes redundant uses of
642 ‘\lyricmode’ and rearranges combinations with context starters such
643 that ‘\lyricsto’ in general is applied last (i.e. like
644 ‘\lyricmode’ would be).
646 • Scheme functions and identifiers can now be used as output
649 • Scheme expressions can now be used as chord constituents.
651 • Improved visual spacing of small and regular ‘MI’ Funk and Walker
652 noteheads so they are now the same width as other shaped notes in
653 their respective sets. ‘SOL’ noteheads are also now visually
654 improved when used with both the normal Aiken and Sacred Harp
655 heads, as well as with the thin variants.
657 • ‘LeftEdge’ now has a definable ‘Y-extent’ (i.e.vertical). See
658 *note (lilypond-internals)LeftEdge::.
660 • Added a new ‘make-path-stencil’ function that supports all ‘path’
661 commands both relative and absolute:
663 ‘lineto’, ‘rlineto’, ‘curveto’, ‘rcurveto’, ‘moveto’, ‘rmoveto’,
664 ‘closepath’. The function also supports ‘single-letter’ syntax
665 used in standard SVG path commands:
667 ‘L’, ‘l’, ‘C’, ‘c’, ‘M’, ‘m’, ‘Z’ and ‘z’. The new command is also
668 backward-compatible with the original ‘make-connected-path-stencil’
669 function. Also see ‘scm/stencil.scm’.
671 • Context properties named in the ‘alternativeRestores’ property are
672 restored to their value at the start of the _first_ alternative in
673 all subsequent alternatives.
675 Currently the default set restores ‘current meter’;
678 \repeat volta 2 { c2 e4 | }
689 \repeat volta 2 { c2 e4 | }
692 \set Timing.measurePosition = #(ly:make-moment -1/2)
703 \set chordChanges = ##t
704 \chordmode { c1:m d:m c:m d:m }
707 \repeat volta 2 { \chordmode { c1:m } }
709 { \chordmode { d:m } }
710 { \chordmode { c:m } }
717 • Improved MIDI output for breathe marks. After tied notes, breaths
718 take time _only_ from the last note of the tie; e.g. ‘{ c4~ c8
719 \breathe }’ performs as ‘{ c4~ c16 r }’ instead of ‘{ c4 r8 }’.
720 This is more consistent with articulations and how humans interpret
721 breaths after ties. It now also makes it easier to align
722 simultaneous breathe marks over multiple parts, all with different
725 • A new note head style for Tabulature has been added;
726 ‘TabNoteHead.style = #'slash’.
728 • Four new Clef glyphs have been added _Double G_, _Tenor G_,
729 _Varpercussion_ and _varC_ and their related tessitura.
730 \override Staff.Clef.full-size-change = ##t
733 \clef "tenorG" c c c c
735 \clef "altovarC" c c c c
736 \clef "tenorvarC" c c c c
737 \clef "baritonevarC" c c c c
738 \clef "varpercussion" c c c c
741 \override Staff.Clef.full-size-change = ##f
744 \clef "tenorG" c c c c
746 \clef "altovarC" c c c c
747 \clef "tenorvarC" c c c c
748 \clef "baritonevarC" c c c c
749 \clef "varpercussion" c c c c
752 • Isolated durations in music sequences now stand for unpitched
753 notes. This may be useful for specifying rhythms to music or
754 scheme functions. When encountered in the final score, the pitches
755 are provided by the preceding note or chord. Here are two examples
756 where this makes for readable input:
758 \new DrumStaff \with { \override StaffSymbol.line-count = 1 }
761 tambourine 8 \tuplet 3/2 { 16 16 16 }
762 8 \tuplet 3/2 { 16 16 16 } 8 8 |
766 \new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
769 • ‘\displayLilyMusic’ and its underlying Scheme functions no longer
770 omit redundant note durations. This makes it easier to reliably
771 recognize and format standalone durations in expressions like
774 • Beaming exceptions can now be constructed using the
775 ‘\beamExceptions’ scheme function. One can now write
778 \set Timing.beamExceptions =
779 \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
781 \repeat unfold 6 { c32 } |
784 with multiple exceptions separated with ‘|’ bar checks (writing the
785 exception pattern without pitches is convenient but not mandatory).
786 Previously, setting the beam exceptions would have required writing
788 \set Timing.beamExceptions =
790 (end . ;entry for end of beams
791 ( ;start of alist of end points
792 ((1 . 32) . (2 2 2)) ;rule for 1/32 beams -- end each 1/16
795 • The most common articulations are now reflected in MIDI output.
796 Accent and marcato make notes louder; staccato, staccatissimo and
797 portato make them shorter. Breath marks shorten the previous note.
799 This behavior is customizable through the ‘midiLength’ and
800 ‘midiExtraVelocity’ properties on ‘ArticulationEvent’. See
801 ‘script-init.ly’ for examples.
803 • The PostScript functionality of stroke adjustment is no longer
804 applied automatically but left to the discretion of the PostScript
805 device (by default, Ghostscript uses it for resolutions up to
806 150dpi when generating raster images). When it is enabled, a more
807 complex drawing algorithm designed to benefit from stroke
808 adjustment is employed mostly for stems and bar lines.
810 Stroke adjustment can be forced by specifying the command line
811 option ‘-dstrokeadjust’ to LilyPond. When generating ‘PDF’ files,
812 this will usually result in markedly better looking ‘PDF’ previews
813 but significantly larger file size. Print quality at high
814 resolutions will be unaffected.
816 • Default text fonts have been changed from ‘Century Schoolbook L’,
817 ‘sans-serif’, and ‘monospace’.
821 -----------------------------------
824 _typewriter_‘monospace’
826 ‘serif’, ‘sans-serif’, and ‘monospace’ are ‘generic-family’ in SVG
827 and CSS specifications.
830 Family Default font (alias) Alias definition lists
831 ----------------------------------------------------------------------------
832 _roman_ ‘LilyPond Serif’ TeX Gyre Schola, C059, Century
833 SchoolBook URW, Century Schoolbook L,
834 DejaVu Serif, ..., serif
835 _sans_ ‘LilyPond Sans TeX Gyre Heros, Nimbus Sans, Nimbus
836 Serif’ Sans L, DejaVu Sans, ..., sans-serif
837 _typewriter_‘LilyPond Monospace’ TeX Gyre Cursor, Nimbus Mono PS,
838 Nimbus Mono, Nimbus Mono L, DejaVu
839 Sans Mono, ..., monospace
841 ‘LilyPond Serif’, ‘LilyPond Sans Serif’, and ‘LilyPond Monospace’
842 are font aliases defined in the LilyPond dedicated FontConfig
843 configuration file ‘00-lilypond-fonts.conf’. Where a character
844 dosen’t exist in the first font listed, the next font listed will
845 be used instead for that character. For details of alias
846 definitions, please see to ‘00-lilypond-fonts.conf’ under the