Issue 2535: Staccato on stem side alignment when other articulations are present
The default positioning of staccato dots in combination with other articulations
is poor, because the dot is positioned midway between the center of the note head
and the stem, while all other scripts are centered on the note head.
A mechanism is needed to allow a staccato dot to be positioned differently when alone
and when in combination with other articulations. This patch introduces a new property,
called 'toward-stem-shift-in-column, which works alongside 'toward-stem-shift to control
a script's position relative to the stem. If set for a script appearing within a column,
the new property overrides any setting in 'toward-stem-shift. The new property has
been set only for staccato and staccatissimo.
The previous default of 0.5 for staccato has been changed to 1.0, in accordance with
Gould's recommendation that a staccato dot be centered on the stem.
In order to allow a script to recognize the column organizing it, a pointer to
ScriptColumn, called 'script-column, has been added to script-interface.
Other changes:
--The regtest script-shift.ly has been modified to use scripts other than
staccato.
--A new regtest, script-shift-staccato.ly, illustrates the idiosyncratic
behavior of staccato dots.
--Documentation of the property 'toward-stem-shift has been made more
accurate.