I propose adding an additional “primitive”: a skeleton curve. The skeleton-curve segment contain following parts:
- Starting and ending skeleton joints (a generic bezier curve edited by a user),
- Two outer curves (an inner and an outer one, automatically calculated bezier curves)
- Inner curve starting and ending offsets (edited by a user),
- Outer curve starting and anding offsets (edited by a user).
Pros:
- Intuitive way of designing glyphs: just draw a skeleton of a glyph and add weights,
- Multiple masters has never been that easy: just update weights,
- You can “render” it into a closed bezier path,
- Not implemented in other editors
- Source code is available
Cons:
- Computationally heavy for bezier curves (but quadratic curves are quite fast at it)
An example with an inner curve you can observe on a figure attached:
Also you can play with it on-line: http://processingjs.nihongoresources.com/bezierinfo/
Source code is available too (JS).
What others think? Will you use it?