Hello Andy,

> I'm not sure if this is a bug or intentional behavior, but the following
> example using  NoteColumn.force-hshift illustrates  the problem  where I
> have a  dotted eigth  followed by a  sixteenth in one  voice and  then a
> quarter  in the  other voice.  In this  arrangement, it  seems that  the
> quarter note steals the dot from the eigth note.

It is neither a bug nor intentional. It is undefined behaviour. You are using 
`force-hshift`. This (like `extra-offset`) is a property to tweak around 
Lilypond’s default spacing procedures, with the risk of running into 
collisions. In your case you are using this to shift the head to the left. 
Since 
usually heads don’t start at the left `DotColumn.positioning-done` assumes it 
makes no sense to move Dots to the left. So the Dots more or less sit at 
horizontal position 0, which is where that quarter just happens to be.

Using such tweaking interfaces like `force-hshift` means that spacing routines 
might not work as intended anymore. Here it becomes your responsibility for 
making sure spacing works out.

Sadly there is no such Dots property like `NoteColumn.ignore-collision` for 
NoteHeads to make DotColumn ignore certain Dots.

Now how to solve this? Well, if all you want is for the dotted 8th to be left 
of 
the 4th, then simple use the proper interface of the NoteCollision grob:

    \once\override Staff.NoteCollision.prefer-dotted-right = ##f

After all, Lilypond doing this is a feature, so rather simply turn said feature 
off.

If you want to rather use `force-hshift` then add something like

    \once\override Dots.extra-offset = #'(-2 . 0)

to move the Dots to where you want them.

Cheers,
Tina

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to