lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Horizontal alingment of lyrics hyphens?


From: Knut Petersen
Subject: Re: Horizontal alingment of lyrics hyphens?
Date: Tue, 27 Sep 2016 14:45:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Am 25.09.2016 um 11:34 schrieb Simon Albrecht:

Simon showed how to whiteout barlines, but Krzysztof also asked about aligning 
hyphens in verses. Have a look
at the attached pdf and compare Lilyponds output to the hand-engraved original.

Seems like a good feature request. Could you please write a concise description 
with the examples, preferably as images, and write to address@hidden
Best, Simon

Any non-hackish solution would be anything but trivial, and I doubt that there 
is enough interrest in that area.
One example: The feature request to allow the use of the original hyphen of the 
lyrics font is more than 6 years old ;-)

A sketch of a hackish solution:

Use some kind of marker mechanism, change lyric-hyphen.cc a bit to pass that 
marker information
to the postscript output, postprocess that file and finally generate the pdf.

A marker could be e.g. something like "ch = { \once \override 
Lyrics.LyricHyphen.thickness = #-1.3 }" , used in
a lyric definition like foo = \lyricmode {Ro -- bins \ch Hoch -- zeit gehn wir 
heut; }.

Intercepting the negative thickness in lyrics-hypen.cc is easy, a colored box 
giving the information about
the spanner bounds could be emitted. (See attached file)

Identifying such marked places in the postscript code is easy again, you only 
have to look for the appropriate
setrgbcolor command:

gsave 0.0000 1.0000 0.0000 setrgbcolor
109.2199 -47.9884 moveto 7.7519 0.0558 0.0446 0.4646 0.0893 draw_round_box
grestore

gsave 0.0000 1.0000 0.0000 setrgbcolor
111.0878 -40.9884 moveto 4.9000 0.0558 0.0446 0.4646 0.0893 draw_round_box
grestore

gsave 0.0000 1.0000 0.0000 setrgbcolor
109.2199 -51.4884 moveto 7.1896 0.0558 0.0446 0.4646 0.0893 draw_round_box
grestore

These postscript command blocks then would  be replaced by code to generate 
hyphens according
to a set of alignment and spacing  rules yet to be formulated ...

Advantages of this solution: All that could be done in c / c++ / postscript, no 
need for scheme.
As there is no need to understand and change the blackbox lilypond it's much 
easier and faster
to implement.

Cheers,
 Knut

Attachment: LyricSyncMark.jpg
Description: JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]