lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vertical movement without anchors


From: David Kastrup
Subject: Re: vertical movement without anchors
Date: Mon, 25 Jul 2016 13:59:13 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Werner LEMBERG <address@hidden> writes:

> The NR, section `Text alignment', says
>
>   Vertical alignment is a bit more complex.  As stated above, markup
>   objects can be moved as a whole; however, it is also possible to
>   move specific elements inside a markup block.  In this case, the
>   element to be moved needs to be preceded with an anchor point, that
>   can be another markup element or an invisible object.  The following
>   example demonstrates these two possibilities; the last markup in
>   this example has no anchor point, and therefore is not moved.
>
>     \relative {
>       d'2^\markup {
>         Acte I
>         \raise #2 { Scène 1 }
>       }
>       a'
>       g_\markup {
>         \null
>         \lower #4 \bold { Très modéré }
>       }
>       a
>       d,^\markup {
>         \raise #4 \italic { Une forêt. }
>       }
>       a'4 a g2 a
>     }
>
> However, this seems no longer be true (and it wasn't correct for 1.18
> either): The last text `Une forêt' is moved up even without an anchor.
>
> When has this changed?  Or maybe there are still situations where an
> anchor is needed, thus the example has to be improved?

The respective diff from 2.16 to 2.18 in scm/define-grobs.scm reads:

@@ -2204,19 +2352,22 @@
         (cross-staff . ,script-or-side-position-cross-staff)
         (direction . ,DOWN)
         (extra-spacing-width . (+inf.0 . -inf.0))
+        (outside-staff-horizontal-padding . 0.2)
         (outside-staff-priority . 450)
 
         ;; sync with Fingering ?
-       (padding . 0.5)
+        (padding . 0.3)
 
         (script-priority . 200)
         (side-axis . ,Y)
         (slur-padding . 0.5)
         (staff-padding . 0.5)
         (stencil . ,ly:text-interface::print)
+        (vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
         ;; todo: add X self alignment?
+        (Y-extent . ,grob::always-Y-extent-from-stencil)
         (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
-       (Y-offset . ,ly:side-position-interface::y-aligned-side)
+        (Y-offset . ,side-position-interface::y-aligned-side)
         (meta . ((class . Item)
                  (interfaces . (font-interface
                                 instrument-specific-markup-interface

However, reverting all that does not appear to make a change (unless I
am doing something wrong here).  So I'm not sure what to attribute the
change to (the logs for lily/text-engraver.cc or lily/script-engraver.cc
do not show anything suspicious to me either).

Bisecting changes between 2.16 and 2.18 is rather tedious because of
changes in GNU make, Freetype2, and GCC.

How important is it to figure out the responsible change?

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]