Colin Tennyson <colintenny...@outlook.com> writes: > In a score that I am preparing I have used the following command to change > the color of the LyricText element: > > \override Lyrics.LyricText.color = #grey > > I noticed that the hyphens in the LyricText were still black. > > It occurred to me that maybe the color of the hyphens has to be set > separately. I started typing '\override Lyrics.Hyphen.color' but > Frescobaldi's syntax highlighting didn't process that, so I skipped trying > to compilie that, and I tried: > > \override Lyrics.LyricText.LyricHyphen.color = #grey > > Frescobaldi syntax highlighting did process that, and sure enough that > command was accepted by the Lilypond score compiler. Yay! > (And hurray for Frescobaldi!) > > > My question is out of sheer curiosity: > How did this situation come about? > Surely the hyphens in the lyrics are part of the LyricText.
No? > Why is the color of the hyphens a separate override? Because lyric hyphens are a different type of grob? They are variable in size and can shrink to nothing, and they are not considered part of a syllable with regard to aligning to notes. Since their behavior differs from that of LyricText, they are implemented as a separate grob. An override changes the actual defaults with which grobs are created. Those defaults are not really stored in a database consulted independently (full disclosure: LilyPond code actually _does_ contain this sort of database lookup independently from actual grob creation for the grob types "System", "Beam", "SpanBarStub" but those are very much the exception rather than the rule) but only as defaults in the process of grob creation. Different grob type, different override. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user