Hi Gabriel,
Baselines vs. descenders has always been a bit of a bane of my Lilypond
existence…
> The problem, I think, is that \general-align uses the wrong baseline if the
> markup block to which it applies contains a descender (in this case, the
> lowercase letter “y”).
How about using a [transparent] strut?
%%% SNIPPET BEGINS
\version "2.24.4"
struttj = \markup \transparent "Tj"
musicAdvent = \relative c' {
\time 7/4 f1 f4 d2 | \bar "||"
\time 8/4 f1 f4 d4 e2 | \bar "||"
}
collectAdvent = \lyricmode {
\markup
% The following line of code works,
% because “Lord announced unto” contains no descenders …
\general-align #Y #-0.835
{
\concat { "℣. "
\column {
\line { The Angel of the }
\combine \struttj \line { Lord announced unto }
}
}
}
Ma -- ry.
\markup
% The following line of code *does not work,*
% because the word “by” has a descender …
\general-align #Y #-0.835
{
\concat { "℟. "
\column {
\line \bold { And she }
\line \bold { conceived by the }
}
}
}
Ho -- ly Ghost.
}
\score {
<<
\new Voice = "firstversicle" \musicAdvent
\new Lyrics \lyricsto "firstversicle" \collectAdvent
>>
}
%%% SNIPPET ENDS
I believe the #-0.835 can remain constant regardless of the lyric that follows,
but you’ll have to do more testing to confirm — for example, changing Mary
[which has a descender] to Marvin [which does not] seems to keep
proper/expected alignment.
Hope that helps!
Kieren.
__________________________________________________
My work day may look different than your work day. Please do not feel obligated
to read or respond to this email outside of your normal working hours.