> Here is my suggestion for the v2.25 documentation at 36.9 Aligning objects
> (LilyPond Notation Reference)
> <https://lilypond.org/doc/v2.25/Documentation/notation/aligning-objects>.

Thanks.  Where exactly should this be inserted, and shall something be
removed from the existing documentation?

> First, a note: I think that “alignment point” (language that Carl S
> and I have been using in our recent emails) is conceptually
> different from “reference point.”

Indeed, these are two completely different, unrelated concepts.

> An “alignment point” is a point associated with an object, along
> either the X axis or the Y axis, that LilyPond uses when aligning
> that object with other objects.  “Self” alignment points are within
> the object itself.  “Parent” alignment points are within the
> object’s parent.  For example, LyricText.parent-alignment-X is the
> property of a lyric that specifies the alignment point along the X
> axis of that lyric’s parent, which is the note head linked to that
> lyric.

A key information is missing IMHO: LilyPond moves a grob so that its
alignment point is at the same position as the parent's alignment
point.

I would also mention that the alignment interface is based on a grob's
extents (to be more precise, on the dimension of a grob's bounding
box); the X and Y coordinates of a grob's alignment point are given as
multiples of half the width and height of this bbox, respectively.
This means that -1, 0, and 1 represent the left/lower edge, the
middle, and the right/upper edge of a bounding box, respectively.


      -1                     0                      1
      +----------------------+----------------------+ -1
      |                                             |
      |                                             |
      +                                             +  0
      |                                             |
      |                                             |
      +----------------------+----------------------+  1


    Werner

Reply via email to