Updates:
        Labels: Type-Enhancement Priority-Low

Comment #1 on issue 1234 by Carl.D.Sorensen: Fill-line should not use word space, but should use springs-and-rods
http://code.google.com/p/lilypond/issues/detail?id=1234

From Alexander's comments on Rietveld issue 1689041:

http://codereview.appspot.com/1689041

I reintroduced word-space property to ensure that texts don't collide. This
seems not the best way, though. Consider

\markup \column {
  \fill-line { "|" "|" "|" "|" }
  \fill-line { "|" "veeeeeeeeeeeeeeeeeeeeeeeeeeery long text"
               "veeeeeeeeeeeeeeeeeeeery long text" "|" }
}

(Without word-space in the last version of my patch, this let's the texts
collide.)
Expected output should be this text fitted into one line, not exceeding the
linewidth unless absolutely necessary (i.e., text-width + (n-1)*word-space >
linewidth).
I think the best way would be to solve some minimization problem in the
springs-and-rods style:
- fix the leftmost and rightmost markup to hit the boundaries of the line
- minimize sum over all squared distances of center of texts and optimal
  center points, which are at (2*i / (2*n+1) * line-width) for n stencils,
  subject to non-overlapping texts.
  Perhaps, a weight should be added depending on the lengths of the texts:
  The narrower the text, the more visible is the deviation from the optimal
  position, IMHO.
IIUC, the necessary code for the optimization is already there, but I don't
know where to look. I certainly could reinvent the wheel and implement the
Simplex algorithm in Scheme, but I'm sure someone already did better.
Reply


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to