3 ms·
A few years back I had the idea to morph fonts using vector graphic interpolation. Unfortunately it was a bit more complicated than I had anticipated and as usu
by svantana 6y ago
A few years back I had the idea to morph fonts using vector graphic interpolation. Unfortunately it was a bit more complicated than I had anticipated and as usual it was abandoned in favor of newer, shinier projects. But it's still fun to play around with:
https://heartofnoise.com/fontmix/ https://heartofnoise.com/fontmix/
- Lichtso 6y agoThis is a standard feature of modern (variable) fonts [0] However, they are limited to linear interpolation of the control point polygon, IIRC. If you want arbitrary morphing (of the actual curve) you might want to look into implicit curves [1] represented in geometric algebra [2]. Here [3] is an example of it. [0] https://v-fonts.com/ https://v-fonts.com/ [1] https://en.wikipedia.org/wiki/Implicit_curve https://en.wikipedia.org/wiki/Implicit_curve [2] https://en.wikipedia.org/wiki/Geometric_algebra https://en.wikipedia.org/wiki/Geometric_algebra [3] https://enkimute.github.io/ganja.js/examples/coffeeshop.html#c2dga_curves https://enkimute.github.io/ganja.js/examples/coffeeshop.html...
- svantana 6y agoThat's all great stuff, but my idea was rather to explore the latent space inbetween existing fonts, so to speak. V-fonts are nice but very limited. Implicit curves are cool but I don't see how they could represent existing font data?
- Lichtso 6y ago>> the latent space in between existing fonts Packing multiple different fonts into one parametrizable one is the inverse of using one parametrizable font to generate multiple different fonts, right? >> V-fonts are nice but very limited As I already mentioned, therefore I agree. >> Implicit curves are cool but I don't see how they could represent existing font data? It might not be obvious from the wikipedia page, but implicit curves are not a class of curves but a different way to formalize them (as opposed to parametric curves). So you can think of / deal with the bezier curve segments either as parametric curves or as implicit curves.