Feature request: skeleton-level glyph modelling

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?

I have thought about that and already have implemented some part of it. I need some more time a someone with more mathematical inside than me.

The implementation you refer to, is not useable for fonts as it produces a lot segments and no clean paths. But is a interesting read, thanks for sharing.

Multiple masters has never been that easy: just update weights,

I guess that works if you only draw monoline scripts typewriter faces. And if you don’t mind the height of many letters varying from font to font.

But strokes would be a useful tool to have, especially when drawing scripts, handwriting fonts, or complicated ampersands. It would definitely be a great selling point for Glyphs 2.0.