Open Source and Non-Latin Type Design: An Interview with James Puckett of Dunwich Type Founders
TypeThursday sat down with James Puckett of Dunwich Type Founders. We talked about learning non-naive scripts, getting funding for such projects, how to handle the code in these projects, and the importance of open source resources in type design.
TypeThursday: James, thanks for being here. I really appreciate it.
James Puckett: You’re welcome.
TT: What have you been working on lately?
JP: I just finished up a font for Google Fonts, it’s called Padyakke. I think that’s how you pronounce it. I don’t speak Kannada so I’m not sure.
TT: Word. Since you have perspective as both a Latin type designer and non-Latin. What was your experience going through that? Was that your first public release of a non-Latin typeface?
Learning How to Design Devanagari
JP: Padyakke was my second. Last year [2014] I designed one called Rhodium. I took a Latin typeface that I had already built for my website and showed it to Dave Crossland and I asked him if they were interested in releasing it for Google Web fonts. And he said, “No, we’re not really doing much Latin now. We’re really focusing on Indic stuff this year. Do you want to do Devanagari?” [Devanagari is a writing system used in India and Nepal.] I said, “Well, I’m completely unqualified. I don’t know anything about it.” And Dave said, “Well, let me pay you to learn.” So I did.
I spent a couple of months, I guess three months, learning Hindi and reading about Bollywood posters. Because really the only thing written in English about Indian graphic design is about Bollywood posters. Then I went to a TypeCon workshop about Devanagari. Rob Keller and Kimya Gandhi, of Mota Italic, came over from Mumbai and did a workshop for TypeCon in DC about designing Devanagari fonts with Glyphs. I just jumped in and did it. And it was pretty cool.
The nice thing about the Indic writing systems is they’re simple, straightforward and logical.
The nice thing about the Indic writing systems is they’re simple, straightforward and logical. I mean they have a shitload of characters in them, but everything builds on something else. It’s all systematic. So in that sense, it’s a lot like Arabic, but it doesn’t have as many different styles that Arabic does. And it doesn’t have the layers of optional stuff. You have to use vowel marks in Devanagari whereas in Arabic they’re optional. So it was really easy to wrap my head around that.
Kannada looks more complicated on the surface, but it’s actually simpler than Devanagari. At least once you get past the fact that almost everything in Kannada is round — because it originated with writing on palm leaves. You can’t use a lot of straight lines and horizontals for Kannada, because you break through the palm leaf when you’re writing on it with a stylus. But their conjunct system is much simpler to understand. So that one was easier for me.
The writing system itself is very straightforward. Learning to build fonts for it is not, because that’s poorly documented.
TT: So you think it was a relatively straightforward process?
Working with Glyphs on Non-Latin Type Design
JP: The writing system itself is very straightforward. Learning to build fonts for it is not, because that’s poorly documented. To some extent I had to rely on Glyphs’ ability to automatically build features. Glyphs can build the mark-to-mark and mark-to-base open-type features for you. It can even build alternate versions of them, because some vowel marks in Devanagari switch to the left side of the letter. Then if that letter is part of a conjunct form — multiple consonants linked together — it could hang over up to five consonants. So you have to interpolate versions with different widths. Glyphs will automatically determine which widths go best with which consonants and build the OpenType feature code on the fly when you export the fonts.
To some extent I had to rely on Glyphs’ ability to automatically build features.
TT: Okay, that’s a little crazy.
JP: Yeah, because otherwise you have to do the code yourself, which would have really meant I would have hired somebody else to do the code for me.
It’s nice to have Glyphs doing it all, but at the same time I was working on all this stuff, Georg [Georg Seifert, developer of Glyphs] was still writing the code. It was all undocumented. I would have to test it and then let him know what was and wasn’t broken. I didn’t always know whether something was really broken, because I don’t understand the writing system that well, especially when it has to be used for Marathi and Nepali and Sanskrit [three other languages written with Devanagari]. Those have different rules than Hindi, which is what I had learned to get into this stuff. It gets pretty deep.
There’s thousands and thousands of lines of OpenType code in a compiled font for that.
TT: Yeah. No kidding. It seems like to me, the grammar structure and using opentype to reproduce it in a font, was one of the challenges and you had to rely on basically Glyphs development on-the-fly to figure that out.
JP: It’s just the volume of the opentype code. Rhodium has hundreds of characters. Let me pull it open and check. Let me see. Rhodium has 867 glyphs in it. And most of those are for supporting Devanagari. And then there’s thousands and thousands of lines of OpenType code in a compiled font for that.
TT: That’s per style, isn’t it?
JP: Yes. Without Glyphs I would had to write the code myself myself. I would have had to write python code to analyze the font and generate the OpenType feature code. Then put it all together by building it in the FDK [Adobe’s Font Development Kit, the standard tool for compiling fonts]. And I would have to rebuild multiple files every time I wanted to test it.
With Glyphs, it’s just like “ding,” export the font. Now the problem is the final fonts — it’s been a year — and I still haven’t figured out why Rhodium, when it’s an OTF font, doesn’t work properly with all Windows applications. Or with Microsoft Office on Mac. Nobody I’ve asked — and I’ve asked really smart, qualified people — has been able to figure out why. So one thing I’ve planned to do is sit around testing this thing feature by feature in Windows and see if I can figure out why certain things don’t work.
TT: Do you think it’s the OpenType features mostly?
JP: I have suspicions it has something with mark-to-base, mark-to-mark and kerning and the way that stuff all interacts. But it’s a lot to process.
When Glyphs came along and started doing all this stuff automatically based on the anchor system that already existed in type design, it dramatically reduced the cost.
You can do it even if you don’t have a multinational publishing company or big brand funding you.
TT: From my perspective, it’s very clear that non-Latin type design got a massive explosion of growth from Glyphs being published. Would you agree with that? As you said before Glyphs, it was very technologically advanced, very program-focused process to develop non-latin typefaces.
JP: Yes, definitely. I would not have even looked at non-Latin type design if I had to keep using VOLT. It’s a lot like VTT [Microsoft’s tool for hinting TrueType fonts]. You can learn it, but you’re going to have to find somebody who’s willing to pay you to do it. When Glyphs came along and started doing all this stuff automatically based on the anchor system that already existed in type design, it dramatically reduced the cost of that, so that you can do it if you don’t have a multinational publishing company or big brand funding it.
TT: What about kerning?
Kerning in Devanagari and Kannada
JP: Some non-Latin writing systems use kerning and some don’t. With Devanagari it made sense to kern in Metrics Machine to a large extent. Devanagari doesn’t need a lot of kerning, so the brute force method is really helpful, because you can quickly plow through the 99% of pairs in Devanagari that don’t need kerning.
That’s where Glyphs is really useful, because the metrics, the kerning and the drawing are all handled in one huge window.
With Kannada, it was different. Kannada uses a lot of kerning because Kannada conjuncts are subscripts. So the subscripts all have to be kerned to the letter they go underneath of on the left, the letter they go underneath of on the right, and to each other. And Metrics Machine is not great for that, because for that you need to be able to look at really huge batches. Take all of the conjunct subscript forms, put all of them between ಕ [ka] and ದ [da] and your really need to look at them all at once to make sure the overall feel is consistent. And that’s where Glyphs is really useful, because with Glyphs the metrics, the kerning and the drawing are all handled in one huge window.
TT: It seems like non-latin typeface design still an open territory, with many things that haven’t been figured out yet. Is that part of the reason why your designs are open source in the first place?
Sharing documentation and resources are important because the lack of knowledge of how to build and test fonts holds people back.
Open Source and Type Design
JP: It’s open source because Google’s the one commissioning it and they want these projects to be open source. It’s helpful that it’s open source and that all this stuff is finally getting put on the internet. This year Dave Crossland has been pushing people to go beyond just licensing the fonts under an open source license. Now he’s getting people to start putting their source files in GitHub repositories. So you can go to my GitHub repository and see how I build the fonts and I’ve even uploaded the proofs I’ve used to test the fonts in InDesign. We’ve got Pablo Impallari’s wonderful Open Type testing page which has been expanded with a lot of expert help for different writing systems. And I’m starting to see things like people posting their typefaces for critiques online using those proofs and using Python tools to build proofs and using Pablo’s tools to test the hinting in their fonts and such.
Especially now that the internet type scene has been around long enough that parts of it are starting to disappear. Typophile is gone.
TT: How do you feel about that?
JP: I think it’s cool. It’s important that people start doing this because one thing that holds people back is lack of knowledge of how to build and test fonts. Having good templates and tools is important. Especially now that the internet type scene has been around long enough that parts of it are starting to disappear. Typophile is gone.
TT: Yeah. Totally just black boxed out.
We’ve still got a long way to go with that, especially with the more complex writing systems.
JP: Right. It’s important that we have things like the Google Web Fonts project, making this stuff open source, and things like SIL’s Scriptsource project, scriptsource.org. I think people are going to start putting information in there. We’ve still got a long way to go with that, especially with the more complex writing systems. For example, I started this year doing Arabic instead of Kannada. After a couple months of research I gave up.
TT: Why is that?
JP: If you don’t have a client who’s going to pay to bring on a native Arab speaker and reader and writer and designer to help, it’s just too big. It’s too complicated and it’s not documented in English. You [Thomas Jockin] have your collection of little Arab street calligraphy manuals and things like that. I’ve seen you bring those around, but I had no idea where the fuck to get those in the United States.
TT: They don’t exist. I had to go to Egypt to get those.
JP: There’s nobody that imports those. I’ve tried contacting Arabic community centers in Colorado and I just get dead silence back about this kind of thing. It’s frustrating.
TT: Hopefully a TypeThursday reader will be able to help! James, it’s been a real pleasure talking to you.
JP: It’s been fun talking to you, Thomas.
Check out James’ Open Source resources. Here’s his Github page.
Love these interviews? Sign up to the TypeThursday mailing list to be the first to know about our next interview.
Was this article helpful to you? Click the Recommend button below