bug-lilypond
[Top][All Lists]
Advanced

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

Re: Word hyphenation in LilyPond version 2.18.2.


From: ul
Subject: Re: Word hyphenation in LilyPond version 2.18.2.
Date: Wed, 28 Dec 2016 14:26:10 +0100
User-agent: Roundcube Webmail/1.2.0

Am 2016-12-26 10:15, schrieb Werner LEMBERG:
Remember that I suggest applying the "lyrics" rule as a second
pass. So:

"re-al" and "Teak-holz" are the results of the first pass, then:

Teakholz isn't interesting at all as it doesn't have vowels at
syllable borders.  The "e" and the "a" in "real" wouldn't match
either because they *are* vowels at syllable borders - but
hyphenating them would leave the "r" or the "l", which are no
syllables anymore. So the rule would be "vowels at the border of
syllables with at least three letters (and at least one other
vowel?) can be hyphenated as a syllable in lyrics".

Please give some examples.  I think I don't fully understand what you
are really talking about.

And of course I don't think it's necessary to catch 100% of the
cases.  I'd say anything that is better than 50% is an improvement
...

The very problem is to not introduce false positives, which can be
easily missed.

OK, point taken.

But I still think it should be possible to define some rules to apply as a second pass to lyrics that have been hyphenated by Frescobaldi, and I think this should be possible without false positives (although being strict on this may leave out a few border cases that are *not* hyphenated automatically.

1) A leading vowel may be split from a syllable (trailing vowels are never hyphenated)
2) Diphtongs are note separated
3) The remaining syllable must have at least two characters
4) One of the remaining characters must be a vowel

Examples (always: original -> default hyphenation -> [ additional hyphenation | comment ]):

oder -> oder -> o -- der
hallo -> hal -- lo -> "lo" is not hyphenated because of rule 3
lauwarm -> lau -- warm -> rule 2
ich -> ich -> rule 4
ist -> ist -> rule 4
Rebe -> Re -- be -> rule 3
Adele (name) -> Ade -- le -> A -- de -- le -> "de" and "le" not split because of rule 3 Esche -> Esche -> E -- sche -> not Esch -- e because of rule 1 (same with a -- de and not ad -- e)
Reise -> Rei -- se -> "Rei" is not split because of rule 2

This all goes for German, in other languages it may not fully work. I know at least that in Italian and Latin there are combinations of two vowels and trailing vowels that may be hyphenated (music may set Ky -- ri -- e or e -- le -- i -- son (or e -- lei -- son)).

I'm not sure how to proceed, but I think that e.g. Frescobaldi could produce the hyphenation according to the dictionaries like it does already and then apply the additional rules to the results. Should not be too hard to implement, at least if there are no complex issues with languages. Probably the rules should be defined independently and according to the language they are used/applied or not.

But please correct me if I'm still missing anything.

Best
Urs




    Werner



reply via email to

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