De Casteljau
LeMo aka PatternMan aka Frank E Blokland
Posts: 723
Recently I asked Lukas Schneider (https://www.revolvertype.com/) whether he would be interested to script a small tool in Python that (live) visualizes the construction of cubic Bézier curves in one’s own type design –for educational purposes. I prefer this a little bit more than demonstrating the construction with/on an a more or less arbitrary shape. With such a tool students (and educators) can explore and demonstrate the construction using their own letter forms in their preferred font editor.
I was not surprised that Lukas almost immediately started to script. Not only do I know him as a highly talented and prolific type designer, he has also become a very experienced Python scripter. In the past years we worked together on the LS Cadencer and Cadenculator (https://www.revolvertype.com/tools/) and also on some proprietary consistency tools for the font production.
The tool in question shows the De Casteljau’s method to construct cubic Bézier curves (one can find a lot of information about its origin and the math behind it on the web). Also it can reveal how the resolution of the contour is defined, as shown in the image above.
The De Casteljau tool is available for RoboFont and Glyphs from Github:
https://github.com/luke-snider/de-casteljau/archive/master.zip
https://github.com/luke-snider/de-casteljau-for-GlyphsApp/archive/master.zip
Installing is simply done by double-clicking on the (unzipped) extension. In Glyphs it should show up as De Casteljau in the ‘Edit’ menu and in RoboFont under the same name in the ‘Extensions’ menu.
I was not surprised that Lukas almost immediately started to script. Not only do I know him as a highly talented and prolific type designer, he has also become a very experienced Python scripter. In the past years we worked together on the LS Cadencer and Cadenculator (https://www.revolvertype.com/tools/) and also on some proprietary consistency tools for the font production.
The tool in question shows the De Casteljau’s method to construct cubic Bézier curves (one can find a lot of information about its origin and the math behind it on the web). Also it can reveal how the resolution of the contour is defined, as shown in the image above.
The De Casteljau tool is available for RoboFont and Glyphs from Github:
https://github.com/luke-snider/de-casteljau/archive/master.zip
https://github.com/luke-snider/de-casteljau-for-GlyphsApp/archive/master.zip
Installing is simply done by double-clicking on the (unzipped) extension. In Glyphs it should show up as De Casteljau in the ‘Edit’ menu and in RoboFont under the same name in the ‘Extensions’ menu.
6
Comments
-
Thanks Frank.
I just quickly made a small screen recording of the tool.
0 -
It looks really amazing. I'm very curious how it works.0
-
The tool must be a Reporter Plugin for Glyphs. It's current implementation from a menu is very counter-intuitive to use, especially since it doesn't remember its settings.I don't like how the tool window stays open when not in edit mode.I know that Speed Punk used to work that way, but at least the window would disappear when not used, and I've since turned it into a Reporter Plugin with the tool window hidden in the context menu.Otherwise it's an interesting tool to use. I'm particularly interested in seeing just the connection lines between the offcurve points ('1' button), as it helps a lot to see what's going on in the curve between them.So the tool is total overkill for that. It doesn't have to, if it would remember its settings.0
-
Thanks @Saber Javanmard and @yanone for your comments, really appreciated.I have to admit that I am not used to the GlyphsApp plugin(s)/API in general, because I am using another editor in my workflow. So basically I was just happy I could make it work in GlyphsApp as well.Generally I would be pleased if others would contribute in improving the tool.0
-
I don't like how the tool window stays open when not in edit mode.Initially the free tool was meant for educational purposes, as mentioned in my introduction. Hence, opening/closing it should not be a problem if it is purely used for demonstration purposes. However, one could perhaps use it also for checking the quality of the curvature, I reckon. It would indeed be interesting to see improved and additional functionally added by third parties, as Lukas mentions.
0 -
Thank you Frank and Lukas for sharing this great educational tool under a libre license
0 -
Dave, you’re very welcome, of course: I hope that it will be used a lot for educational purposes. Sharing a tool like De Casteljau under a libre license, perfectly makes sense, I reckon. In this context I will see what to do with with LeMo (and its related method), if only because LeMo is a perfect tool to explain the basic principles of typography (and its relation to writing) at elementary schools. However, this will require some thorough methodical support and I will have to find ways to financially support this all (perhaps via crowdfunding).
0 -
LeMo aka PatternMan aka Frank E Blokland said: ...if only because LeMo is a perfect tool to explain the basic principles of typography (and its relation to writing) at elementary schools.1
-
[…] I will have to find ways to financially support this all […]Actually, I expected Dave to respond within ten days with ‘Wow, such a nice educational project, which would worldwide increase the awareness and spread of knowledge of typography (and calligraphy, of course), would be highly interesting for Google to support’, so this silence is a bit disappointing TBH.
0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 803 Font Technology
- 1K Technique and Theory
- 622 Type Business
- 444 Type Design Critiques
- 542 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 485 Typography
- 303 History of Typography
- 114 Education
- 68 Resources
- 499 Announcements
- 80 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 270 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports