+ Interval he;
+ if (has_interface<Paper_column> (him))
+ /*
+ PaperColumn extents aren't reliable (they depend on size and alignment
+ of PaperColumn's children), so we align on NoteColumn instead.
+ This happens e.g. for lyrics without associatedVoice.
+ */
+ he = Paper_column::get_interface_extent
+ (him, ly_symbol2scm ("note-column-interface"), a);
+ else
+ {
+ if (to_boolean (me->get_property ("X-align-on-main-noteheads"))
+ && has_interface<Note_column> (him))
+ he = Note_column::calc_main_extent(him);
+ else
+ he = him->extent (him, a);
+ }