New features in 2.20 since 2.18
*******************************
+ • It is now possible to move systems with reference to their current
+ position using the ‘extra-offset’ subproperty of
+ ‘NonMusicalPaperColumn.line-break-system-details’. Both vertical
+ and horizontal changes are possible. This feature is especially
+ useful for making slight adjustments to the default vertical
+ position of individual systems. See *note
+ (lilypond-notation)Explicit staff and system positioning:: for more
+ information.
+
+ • It is now possible to add text to analysis brackets through the
+ ‘HorizontalBracketText’ object.
+ \layout {
+ \context {
+ \Voice
+ \consists "Horizontal_bracket_engraver"
+ }
+ }
+
+ {
+ \once \override HorizontalBracketText.text = "a"
+ c''\startGroup d''\stopGroup
+ e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup
+ }
+ image of music
+
+ • The ends of hairpins may now be fine-tuned using the ‘shorten-pair’
+ grob property, which previously only affected text-spanners like
+ ‘TupletBracket’ and ‘OttavaBracket’. Positive values offset to the
+ right, negative to the left.
+ { \once \override Hairpin.shorten-pair = #'(2 . 2)
+ c'1~\<
+ c'2~ c'\!
+ \once \override Hairpin.shorten-pair = #'(-2 . -2)
+ c'1~\<
+ c'2~ c'\! }
+ image of music
+
+ • In fret-diagrams the distance between frets and the distance
+ between strings is now independently adjustable. Available are
+ ‘fret-distance’ and ‘string-distance’ as subproperties of
+ ‘fret-diagram-details’.
+ fretMrkp = \markup { \fret-diagram-terse #"x;x;o;2;3;2;" }
+
+ \markuplist
+ \override #'(padding . 2)
+ \table #'(0 -1) {
+ "default"
+
+ \fretMrkp
+
+ "fret-distance"
+
+ \override #'(fret-diagram-details . ((fret-distance . 2)))
+ \fretMrkp
+
+ "string-distance"
+
+ \override #'(fret-diagram-details . ((string-distance . 2)))
+ \fretMrkp
+ }
+ image of music
+
+ • Accidental rules can now be defined across ‘ChoirStaff’ contexts.
+ Two new rules ‘choral’ and ‘choral-cautionary’ are available that
+ combine the characteristics of ‘modern-voice’ and ‘piano’ or their
+ equivalents with cautionary accidentals.
+
+ • The music function ‘\unfoldRepeats’ can now take an optional
+ argument-list specifying which type(s) of repeated music should be
+ unfolded. Possible entries are ‘percent’, ‘tremolo’, ‘volta’. If
+ the optional argument-list is unspecified, ‘repeated-music’ will be
+ used, unfolding all.
+
• A new ‘output-attributes’ grob property is now used for svg output
instead of the ‘id’ grob property. It allows multiple attributes
to be defined as an association list. For example, ‘#'((id . 123)
but significantly larger file size. Print quality at high
resolutions will be unaffected.
+ • Default text fonts have been changed from ‘Century Schoolbook L’,
+ ‘sans-serif’, and ‘monospace’.
+
+ For ‘svg’ backend:
+ Family Default font
+ -----------------------------------
+ _roman_ ‘serif’
+ _sans_ ‘sans-serif’
+ _typewriter_‘monospace’
+
+ ‘serif’, ‘sans-serif’, and ‘monospace’ are ‘generic-family’ in SVG
+ and CSS specifications.
+
+ For other backends:
+ Family Default font (alias) Alias definition lists
+ ----------------------------------------------------------------------------
+ _roman_ ‘LilyPond Serif’ TeX Gyre Schola, C059, Century
+ SchoolBook URW, Century Schoolbook L,
+ DejaVu Serif, ..., serif
+ _sans_ ‘LilyPond Sans TeX Gyre Heros, Nimbus Sans, Nimbus
+ Serif’ Sans L, DejaVu Sans, ..., sans-serif
+ _typewriter_‘LilyPond Monospace’ TeX Gyre Cursor, Nimbus Mono PS,
+ Nimbus Mono, Nimbus Mono L, DejaVu
+ Sans Mono, ..., monospace
+
+ ‘LilyPond Serif’, ‘LilyPond Sans Serif’, and ‘LilyPond Monospace’
+ are font aliases defined in the LilyPond dedicated FontConfig
+ configuration file ‘00-lilypond-fonts.conf’. Where a character
+ dosen’t exist in the first font listed, the next font listed will
+ be used instead for that character. For details of alias
+ definitions, please see to ‘00-lilypond-fonts.conf’ under the
+ installed directory.
+