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

Reply via email to