lilypond-devel
[Top][All Lists]
Advanced

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

Re: Uses horizontal skylines in accidental placement (issue 6489086)


From: k-ohara5a5a
Subject: Re: Uses horizontal skylines in accidental placement (issue 6489086)
Date: Fri, 07 Sep 2012 07:11:48 +0000

The output looks very nice, even with half-sharps, reverse flats, etc.
The patch makes compilation take 6% longer (depending on accidental
density).

The reverse flats don't get any extra space around their stems, but I
haven't find a case where they need it,  because they are placed in the
same order as regular flats so they do not nest.

Maybe it would be cleaner to have a blanket rule that the skylines
always enclose the 'spine' of the glyph, assuming the spine has
x-coordinate zero, by merging a box of dimensions
  0.4* X-extent()  by  Y-extent ()
into the skylines.




http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc
File lily/accidental.cc (right):

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode86
lily/accidental.cc:86: * suicide, so it is not pure.
Is this the book of Leviticus ?   The completion of the concept is "...,
but we use this function /before/ line-breaking"

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode101
lily/accidental.cc:101: if (glyph_name == "accidentals.flat"
Since this is such a special case, it would be nicer to encode the extra
space around a flat's stem as a non-printing the glyph outline --- if we
can interest anyone with sufficient MetaFont competence.

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode110
lily/accidental.cc:110: Real left = (*sky)[LEFT].max_height ();
Doesn't matter much for the current flat symbol, but in general you
don't want to merge in a box that goes this far left.

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode111
lily/accidental.cc:111: Real right = (*sky)[RIGHT].average_height () *
0.75;
A fraction of max_height() is easier to visualize than average_height.

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode113
lily/accidental.cc:113: Real up = (*sky)[RIGHT].right ();
Maybe just use extent(Y_AXIS)?

http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode116
lily/accidental.cc:116: Skyline_pair merge_with_me (boxes, Y_AXIS);
Is it feasible to just merge with the right-hand skyline of the pair?

http://codereview.appspot.com/6489086/



reply via email to

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