Consider this input:
{
\once \override DynamicText #'X-offset = #'-5.0
%\once \override DynamicText #'Y-offset = #'5.0
c\ff
}
\paper {
ragged-right = ##t
}
As can be seen in the attached image, lilypond doesn't move the ff
symbol up -- this is the right action. However, if you comment out
the line overriding the Y-offset property you can see that it has no
effect, which is problematic. I'm not sure how this can be solved
elegantly. Perhaps it's necessary to give Y-offset a new meaning for
grobs which are floating below and above the staff, something like:
`pretend that the parent's vertical position is moved by that amount'.
I don't see that this is a problem. If a user wants the symbol to be moved from its default position, they can set extra-offset instead of Y-offset. If a user wants the symbol to be positioned at an absolute offset from its Y-parent, they can just set outside-staff-position to () in addition to setting Y-offset.