Making Tools for Type Design
Type Designer Mark Frömberg shares how important self-made program tools are to his type design practice. Together with TypeThursday founder Thomas Jockin, Mark goes into how you can start to integrate coding into how you make fonts, a brief discussion on Higher Order Interpolation (HOI) and finally do you need to know programing to make variable fonts.
Thomas Jockin: Mark, it’s great to chat with you. I saw the recent release of your Variable Font Preview plug-in for Glyphs. I’ve been using it myself and found it quite useful. Congrats on the release!
I want to learn more about the plug-in, but first — for those who don’t know you, could we learn about your background?
I was lucky to attend the Type and Media masters in Den Haag a few years ago, and even more lucky to have incredibly inspiring classmates like James Edmondson.
Mark Frömberg: Hi Thomas, thanks for inviting me, it’s a pleasure! My background is pretty much marbled with type over and over. Long story short: during my communications design studies I focused on illustration and type because those fields made me passionate about ever since. I was lucky to attend the Type and Media masters in Den Haag a few years ago, and even more lucky to have incredibly inspiring classmates like James Edmondson [of Ohno Type Co]. That place was also where I got in touch with python programming. I was fixed from the first day, the imagination of automating type specimens and font proof documents was exiting. But coding was still very hard for me to learn. Probably my inner urge and lots of patience brought me where I am today. Programming is very pleasant for me. It’s like playing with Technics Lego back in the days.
TJ: I remember Technics Legos! You said learning how to code was difficult. Would it be fair to say the rewards of programming motivated you to stick with learning? Did James contribute to your movitiation?
MF: That’s more than fair to say so. James inspired me more in his way of working on type generally. We sat back to back and he was filling one sketchbook after the other, then called for having a beer at night while I just started to get at least something done. Another classmate was Alexandre Saumier Demers who knew already about python and he was very fast bringing ideas into the computer. Since we were roommates and work next to each other he always saw that I was struggling with some code ideas I had. I could see him observing my screen, but he was kind enough to not interfere — yet. At some point I said: ”Okay, pleeaase help me here”. So he did, but only by asking me the right questions. That was inspiring, because I learned more than before how to ask the right question to find a solution. Basically that is what design is about, and why I see a very strong connection of programming and design.
TJ: It’s like Alexandre was a coding Socrates for you. You shared before you started using code for proofing and automating type specimens. Now you produce tools to be used in the type design process directly like Show Stems, Show Recyclers, and Show Siblings. What motivated you to make such tools?
I wouldn’t do any type design without all the tools I have made. Otherwise, it would be too tedious.
Mark’s Motivation to Make Tools for Type Design
MF: I must admit I don’t know the entire Socrates legend, but Alex was legendary indeed. That’s a good question, I think there is another component to the puzzle: I’m a big fan of information graphics and I love seeing data, processes or structures being visualized. Maybe it’s connected to my very visual memory. I got a bad memory, but once I see a pattern, I can remember. Back in the days where we used telephones (do you remember keypads?) I didn’t memorize the phone number of people but the pattern. Same way as I learned playing music instruments. This all intersperse into my daily workflow and whenever there’s something that needs to be observed or be in good view, I try to make the computer do the work for me. I think I couldn’t and wouldn’t do any type design without all the tools I have made. Otherwise, it would be too tedious. Those are the most fun part for me. And the public tools are actually just a tiny fraction of what I got on my machine. For some of the tools a happy accident was the inspiration, be it from sketching or from working with code, making mistakes, seeing things overlapping falsely, thinking further that if this can be shown like this, couldn’t that be also displayed like that?
TJ: The interest in making data visual is certainly informative! It sounds like you develop tools for specific problems you face for projects. How do you balance the investment upfront to figure out the problem with code over just brute force solve the problem manually?
MF: Haha, that’s quite easy for me. The trigger is my incredible laziness. When I program a tool, I work on that in one direction, there are no repetitive steps. On the other hand when you design type (and I do a lot of non-Latin, like South East Asian scripts which are very complex) there is so much stuff you need to keep track of and do over and over again. I just don’t wanna do that. I want to reach the final thing as fast as possible with the highest quality demand. And this is one more biggie plus for computers: they are accurate as hell. If you tell them what to check and how to report those checks, you gain quite some power. I think I invest too much time into programming. Most of it is not payed and will never pay off directly, but as long as I have fun at work, I keep doing it. And I like coding on bad weather days, which we got plenty of in Berlin.
TJ: I’m getting imagery of you on a rainy day cozying up with a cup of coffee and some python. If people reading this would want to make their own tools for type design, where should they begin?
If you are a type designer and you use scripts or plugins, check the code if it’s available. You know what the tool does, now you can (try) to read how the programmer made that happen.
Where to Learn How to Program Tools for Type Design
MF: I found Codecademy very helpful. I learned JS and Python at the same time there and you get an idea of general programming mechanisms pretty quickly by doing so. If you are a beginner, I definitely recommend to really acknowledge that and start at zero. No shortcuts! Learn the object types, what a loop is, what conditions are. It’s programming, it’s design, it’s communication, it’s logic. Another tip, and this one is straight forward: try a real project. As soon as you learned the basics, try to render an idea. It can be very simple, but this subjective goal is an elusive motivation and it keeps you on the right track to solve the problem. If you are a type designer and you use scripts or plugins, check the code if it’s available. You know what the tool does, now you can (try) to read how the programmer made that happen. Imaginative reverse engineering. I think I just invented that term. And: Stackoverflow. Best coding platform. I think I could have more tips, but for the beginning that’ll suffice.
TJ: Love the idea of trying code on a real project. There’s been a lot of talk about variable fonts. From your experience, how much and what kind of programing knowledge will a designer need to know to make effective variable fonts?
Do You Need to Know Programing to Make Variable Fonts?
MF: I think you can get away with almost none programming knowledge for that. I certainly helps in order to experiment. But I know lots of designers who are not into coding and still get crazy ideas for this rather new and not yet fully explored realm. There were some unbelievably inspiring talks of Underware at TypoLabs or Typo Berlin recently. Those guys are from another star, but they really forced you into opening the mind far far beyond everything we currently consider as constraints in type design. The questions “What if …?” and “Why?” can really accelerate your thinking once you let it go. And here I got the impression that a coding oriented mind *might* have a little advantage. But maybe that’s not true. In any case there are really cool ideas for variable fonts popping out every other week now, which all add up to the bigger picture of what those are capable of. Very exiting.
TJ: I believe you are referring to the proposal from Underware of Higher Order Interpolation. Is that correct? If so, could you explain what HOI is and what implication of their proposal made you excited?
MF: I think HOI merges two unrelated things together: Linear interpolation and cubic bezier curves.
Hard so put into words, I found those manifests stimulating the subconscious in a very peculiar way. It was almost shocking to see them questioning basically everything. For good reasons. I know a bit about interpolation, the architecture of cubic and quadratic bezier curves, I tried to mess around with several algorithms for offsetting a curve (which is mathematically not 100% possible) and think that those are basically just designated conventions that worked kind of. The average designer learns how to use them and how to get the best results. But we don’t *have* to stop there. History has proven that asking for more unimaginable can indeed bring culture, society, technology, science further. Basically I was impressed on a more abstract level. It was plainly inspiring. Everyone should watch this. Not only designers.
TJ: Mark, it’s been a pleasure speaking with you. What are your next big projects and plans? Where can everyone keep track of your next release?
Where to Find Mark Online
MF: Thank you, Thomas. The pleasure was all mine! The very next thing will be a presentation at the BITs conference in Thailand next month http://bitscon.asia/speakers/2018/mark-fromberg / http://bitscon.asia I will show some work in progress tools that visualise Open Type Feature code while your editing it. They display the context in the actual font’s glyphs instead of only typed glyph names and even represent contextual kerning. Those tools are very complex, I’m in touch with Georg Seifert (the GlyphsApp master mind) and looking forward for feedback from the local type designers who are in desperate need of such tools since their scripts are very complex.
I will release free and commercial tools all the time, got a bunch in the pipeline. Best to follow my instagram and twitter for release notifications. I just started a little Variable Font Experiment series just yesterday to sweeten the waiting time. Go follow https://www.instagram.com/mark2mark_one/
mark2mark (@Mark2Mark_one) | Twitter
The latest Tweets from mark2mark (@Mark2Mark_one). 𝙼𝚊𝚛𝚔 𝙵𝚛𝚘̈𝚖𝚋𝚎𝚛𝚐 ꀫ Typeface Design & Tool Development…
And maybe my website: https://markfromberg.com
We’ll help you dot your i’s and cross your t’s
TypeThursday attendees love letterforms. Big-time. This means you’ll get detailed advice, delivered with care by fellow creators who know how much time goes into crafting crisp characters. Your work will emerge refined … no dots left behind. Submit your work to a TypeThursday near you.
Was this article interesting to you? Give us a clap below.