Fix chord alignment: snap to word boundaries

Improve merge_chord_lyric() to snap chord positions to the start
of the word they fall within, instead of splitting words mid-way.
Fixes artifacts like "Liebespaar \chord{C}e" → "\chord{C}Liebespaare".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
shahondin1624
2026-04-02 16:36:06 +02:00
parent d875fd225b
commit 7b99778f67
295 changed files with 1804 additions and 1782 deletions

View File

@@ -8,18 +8,18 @@
}
\begin{verse}
\chord{C}How many r \chord{F}oads must a m \chord{C}an \chord{e} walk d \chord{a}own, \\
bef \chord{C}ore you can c \chord{F}all him a m \chord{G}an \chord{G7}? \\
Yes, n h \chord{C}ow many se \chord{F}as must a w \chord{C}hite d \chord{e}ove s \chord{a}ail, \\
bef \chord{C}ore she can sle \chord{F}ep in the s \chord{G}an \chord{G7}d? \\
Yes, n h \chord{C}ow many \chord{F}times must the c \chord{C}an \chord{e}nonballs f \chord{a}ly, \\
bef \chord{C}ore they are f \chord{F}orever b \chord{G}anned?
\chord{C}How many \chord{F}roads must a \chord{C}man \chord{e}walk \chord{a}down, \\
\chord{C}before you can \chord{F}call him a \chord{G7}man? \\
Yes, n \chord{C}how many \chord{F}seas must a \chord{C}white \chord{e}dove \chord{a}sail, \\
\chord{C}before she can \chord{F}sleep in the \chord{G7}sand? \\
Yes, n \chord{C}how many \chord{F}times must the \chord{e}cannonballs \chord{a}fly, \\
\chord{C}before they are \chord{F}forever \chord{G}banned?
\end{verse}
\begin{verse}
Ref.: \\
The a \chord{d}nswer my f \chord{G7}riend, is bl \chord{C}owin in the wi \chord{a}nd \\
the a \chord{d}nswer is bl \chord{G7}owin in the w \chord{C}ind.
The \chord{d}answer my \chord{G7}friend, is \chord{C}blowin in the \chord{a}wind \\
the \chord{d}answer is \chord{G7}blowin in the \chord{C}wind.
\end{verse}
\begin{verse}