Am 16.09.2018 um 15:44 schrieb Kieren MacMillan:
Hi Urs,
Am I getting something wrong here: why are you asking about intermediate
points? Aren't we only interested in the whiteout around the outer edges?
Consider the letter O, with 'outline #'(5 . 0). It’s easy to see that the thickness on top (at the
"N" compass point) is 5 units, and the thickness on the right (at the "E" compass point).
But we need to determine the thickness at the "NW" (45º) compass point — that requires
interpolation between 5 and 0, right?
OK, I see.
But then you can't start from / think about an interpolation of the
extreme points because that woudl require knowledge about the nature of
the shape (what about the outline of an "F" or a note with a flag?).
Instead one has to have some actual determination of the grob's outline.
Without having dug into the issue before I could see two approaches:
1) see how the skyline detection works and go from there
2) use a scaled version of the original glyph as the whiteout area:
Say you have a notehead with width 3 and height 1.5 (as measured by
X-extent and Y-extent).
'outline #'(5 . 0) is desired.
That means:
- the total height of the whiteout is 1.5 (1.5 + 2x0)
- the total width of the whiteout is 13 (3 + 2x5)
- a note head vertically scaled by 1 (1.5/1.5) and horizontally scaled
by 13/3 should have exactly the shape of the whiteout.
Does that make sense?
Would that work with non-solid shapes? If you have a letter "O" the
whiteout would not be the scaled O but the area surrounded by the scaled O.
What about the whiteout for non-contigiuos things like markup
(consecutive letters)?
How to determine the exact center of the shape to match the original and
scaled shape?
Urs
Cheers,
Kieren.
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [email protected]
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel