-
Notifications
You must be signed in to change notification settings - Fork 773
Towards a replacement to the «Expand Stroke…» function #3718
Description
I, and others, have reported many Expand Stroke bugs, which no one seems to know how to fix. (For example, #3694, #3264, #3242, #3240, etc.)
Expand Stroke bugs are rarely ever fixed. I hope @skef doesn't hope me quoting him in some private correspondence to help make my point:
I'm wary of [Expand Stroke]. It seems like GW approached a lot of the tricker spline code by tinkering rather than drawing on theory or established algorithms. I stared at #3432 for a while (for example) after finding that non-termination condition and still don't have much of an idea of how the algorithm is supposed to work
@skef is much better at Bézier spline math than I am, so if he doesn't understand how GW's algorithms work, I stand no chance of doing so.
The function is also aging, and to think that we could extend it is dubious at best. For example, we might want to make it so that you could vary the width of points along the spline as is possible with the width tool in e.g. Illustrator or via multiple plugins (Letterink, etc) to Glyphs.app or in Inkscape via «Power Stroke».
My questions are:
- What “established algorithms” would help the situation?
- Perhaps InkScape's, which seems very Robust? Perhaps Noodler's, used by Glyphs.app? Something else I'm not aware of?
- Is it even possible to replace the «Expand Stroke…» dialog wholesale?
- Obviously at first we'd want to have them side-by-side until we replicated all the functionality.