Where does mastering start?
RH: Well, it depends. For me, it starts when, for example, Ilya sends me an email and I get to look at the source files. At that point, he already has a plan for the family and knows what the fonts will contain. The CSTM Fonts’ files are particularly good and ordered, but it’s not always the case. Sometimes you get things that are not quite figured out and then you have to figure them out for the designer or together with the designer. So when I am an engineer, mastering usually starts when I get the files from a client.
But when I’m a designer, it can start at any point. Sometimes I get an idea and I want to bring it to life with an engineering thing. And only after that I do the design.
Puffling designed by Romina Hernandez
Let’s clarify, are font engineering and font mastering synonyms?
RH: I think they’re mostly synonyms. Maybe engineers who have a paper that says they’re engineers might have a different opinion. But for me, the craft of finishing fonts technically could be called mastering or engineering or post-production.
Which processes does the term “font mastering” encompass?
RH: I was talking about mastering with students yesterday and that’s how I explained it. As a designer, you do something on Glyphs or RoboFont and your goal is to make it look fine. But as an engineer you make sure that the font is working reliably in different browsers and apps (including the older ones like Microsoft Word which is the usual villain). Engineering is basically about translating the design intent, translating what the designer is trying to put on the screen and making it work.
I usually start by visually checking the outlines. Checking that there are no extra points and that nothing is missing, double checking spacing and kerning. This also allows me to get familiar with the shapes and the glyphset. Then I make a list of everything that the typeface is trying to do and implement all those things. For example, if there are going to be ligatures and substitutions, I have to write the code for those. The next big part is checking everything that goes in the font info: the family name, style names, the name of the foundry and the designer…. I have to check that everything is correct and was put in the right place. Because if a name is incorrect, the software might get confused and do something unexpected.
Then comes the post production. It used to be very simple to just export static fonts, but it’s sometimes a bit more fiddly with variable fonts. You have to do a bit of post production to the files after you generate them to make them work correctly.
And then finally comes Quality Assurance, which is just making sure that all the bits of info are indeed in the right place. Apart from installing the fonts and visually checking the important things, the tool of choice these days for QA is Fontbakery, which runs a collection of industry standard tests on your fonts and that gives you the confidence that they will work well.
You mentioned kerning. Is it a part of the design process or engineering process?
RH: I was also just talking about kerning yesterday. But since the talk was for intro students, I said that kerning is the last part of the process: Focus on spacing and don’t worry too much about it. But what I would say to more experienced designers is that it is definitely good to take it into account. At least you have to think about how you’re going to handle it if you are drawing shapes that cause spacing issues in certain combinations, or if you have a lot of ligatures.
You could get away with complicated stuff like that, but you have to have in mind that this is going to require extra plumbing. It’s not going to be a straightforward thing. So, overall, I would say that it is part of the design process because you have to understand what you’re getting into and to know if you’re going to be able to build it.
Big City Grotesque by CSTM Fonts with 1367 discretionary ligatures
IR: For me, it’s not a huge part of the design process, but I do take it into account. When I draw something cute that is going to be problematic, I say to myself: you shouldn’t be so attached to this leg on the right that is poking out weird, you don’t want to be facing all of the problems that that is going to cause.
Basically, in TypeMedia, we were taught that kerning is a part of the design process. The logic here is quite simple. The letters are not standing one by one, they form words and sentences, so letter spacing is important. It’s part of the design concept and the kerning is a part of the spacing. So basically, you can’t really hire anyone to do part of your design. I mean, you can, but in this case, you’re going to partly lose control.
Let’s imagine I have drawn 300 glyphs in Illustrator. Can I send them to you and ask you to make a font out of them?
RH: You can, but in that case I would be designing a large percentage of the font that is not designed yet. And I would classify it not as a mastering project, because when I do mastering, I get files that are almost ready. But an Illustrator file is just a catalogue of shapes that I’d have to put together in order to mock up a typeface.
It’s exactly what Ilya just said, a typeface is not just random glyphs hanging around. A typeface is made of glyphs that are meant to work together. The typeface only comes together when the letters form words and words form sentences and paragraphs.
I haven’t been asked for such a project. But I was asked to digitise someone’s calligraphy. And my response was: I can do it, but it’s way more money than you expect for a project that you think is very simple. Because to make it right, I would have to design a typeface from scratch with your forms in mind. It’s more like you’re giving me a brief to make a new typeface with your Illustrator files than you’re giving me a typeface to finish.
Windward by Denis Bashev. Mastering by Romina Hernandez
Why do type designers outsource mastering?
IR: It’s a good question, actually. Part of the answer is that I was raised that it’s better for the industry to share your projects, to invite collaborators. Because in general, that helps the industry to progress. If there are some professionals who specialise in mastering, I would rather hire them to do the job. Also, sometimes I have time to work on mastering myself, but sometimes the time is limited. And Romina and her colleagues can do the job much faster and, in most cases, with better results.
Another part of this is that it’s super hard to follow all the updates of all the software. Sometimes I’m not aware that some of the browsers completely changed the logic of their rendering, for instance, and rendering is an important thing. And Romina specialises in mastering and is obviously aware of all the updates. So in this case, I trust professionals to do the job which I actually can do myself, but with less guaranteed results.
Maregraphe by CSTM Fonts. Mastering by Romina Hernandez
So how does one charge for mastering? Per one glyph? Per one style?
RH: That is a great question. Because I have done it in different ways. Some bigger clients prefer an hourly rate, but I don’t like it as much.
It comes down to how much I like doing things. I enjoy writing OpenType features and if I spend a couple of hours on that, it’s not a big deal. But if I have to spend the same two hours just checking the direction of every outline, it’s less fun. And also sometimes things take from twice to 25 times more time than you thought because of a programming thing. Or there might be a bug you can’t catch or that is not directly your fault and you have to work around that.
So if I can choose to, I usually charge by the scope of the project. I define what I am going to be doing, evaluate the required programming, amount of glyphs, weights and how complex the design is. And then I set a price based on my experience with similar projects.
It also depends on whether I’m doing it mostly by myself or if I’m getting more help from Miguel, the engineer that works with me.
IR: I was collaborating with different people on mastering and I can see that nowadays it’s more common to come up with a fixed quote. But the old school people charge by glyphs. They’re counting glyphs to come up with the final fixed price for the whole project. So they normally would say: okay, it’s going to cost $3 per glyph. But then you’re counting the glyphs and receiving the final quote.
What software do you need for mastering?
RH: You could for example get away with just Glyphs if you only master Glyphs files. But I need Glyphs, RoboFont and FontLab just for opening files because I get files created in these applications. I could convert them, but it may cause bugs. So I like to have the same software that the designer uses.
And because I also design typefaces, and I work with RoboFont, I have all of the supporting things for it. I use SkateBoard a lot for visualising, also MetricsMachine, and Prepolator sometimes. And a bunch of smaller extensions and scripts for particular tasks that I’ve collected from many sources.
Prepolator extension by Tal Lemming
MetricsMachine extension by Tal Lemming
I also tend to build my own mastering tools. I have a folder that’s called Mastering Toolbox, and it has subfolders like Spacing, for example. And then I have one small script that, just prints spacing strings or another one that prints the vertical metrics.
And I also use a bunch of Google libraries like fontTools, UFOLib, GlyphsLib. These are very powerful open source packages, but they do not have graphic user interfaces, so I make scripts that do things to UFO files or sometimes Glyphs files, and these can take care of entire tasks, like helping set font names, or generating files for an entire project.
I could do most of those tasks with RoboFont itself or with extensions, but I like to make my own tools so that they’re all in the order that I want and they’re all automated. There are definitely people who use other tools like DTL OTMaster, which I never tried, or Adobe FDK which I don’t use very much anymore.
And if the question is about getting into mastering, what tools do I need?
RH: I would say, start with the editor that you use and learn to master in it as much as you can. Most have good tutorials for at least the basics. When you run out of options or when you need to do something custom or specific, then write a script for that same editor. Program in RoboFont if you use RoboFont, program in Glyphs if you use Glyphs. FontLab can program, too.
If you are working with a client, it depends on what tool the client is using. The rest depends on the particular project. For example, when we worked on Loos, I had to export different subsets for different scripts. I could have exported the subsets manually, but I created a tool that makes the subsets by itself and puts all the final files in the right folders.
How do you brief an engineer who will do mastering for you? What do you mention?
IR: Normally, we would just send the files. But if anything is tricky, we would describe it. I think one of the most complicated projects for Romina was the CSTM Xprmntl 03, which was partly drawn in FontLab. We wanted it to have a beautiful transformation from Blackletter form to Ustav. So it was a variable font, but also a complicated one where there had to be found in between masters. In the early days of variable technology it was quite a complicated thing to achieve. The tools were not there yet to make it happen. So I think it was a genius solution. And I’m super grateful to Romina to actually manage that. Because sometimes the font just didn’t want to be generated.
CSTM Xprmntl 03 by CSTM Fonts. Mastering by Romina Hernandez
But normally, because we are colleagues, we’re speaking the same language. In most cases, we don’t really need to really deeply explain how the font should work. There are some standards, some logic of naming. If you’re inventing some stylistic alternatives, you should name them specifically. And from the logic of those names goes the amount of OpenType features which Romina would write. In most cases, it’s all super clear.
Another complicated, but also quite logical project we collaborated on was Normalidad. Together with Romina we came up with a different logic for different variable fonts. Some of them would change just proportionally, and some of them would change just from Thin to Black. We basically created a subfamily of variable fonts.
So, coming back to your previous question, I really believe that mastering can be and should be considered as part of the design as well. It is a very valuable process where you program your font to behave in a certain way, and this is super important because you can make your font super intelligent nowadays.
Normalidad by CSTM Fonts. Mastering by Romina Hernandez
Romina, do you agree?
RH: As a whole, yes. Getting the font to show up in menus and behave in the way you expect it to is akin to designing a nice button for a physical device that has the right size and that’s convenient to press.
Mastering in part is working with the interface of the font. And, the work I did with Normalidad was even designing a bit of the product. Knowing how the variable font format expects things to be and how we can map them under the hood, I was able to make a proposal for how the fonts could be separated and named in a way that made sense to use.
A lot of the mastering work is actually just production work, but there’s tiny decisions in how you implement stuff. Well, the design process contains a lot of production work too. But I think if a designer and an engineer work together, it’s a good collaboration.
Does the language support of a typeface influence the amount of discussion you are having about the mastering?
IR: Sometimes we need some specific behaviour for some part of the Cyrillic, for example. Then we, of course, specify that in the brief. We mention what we need to support Macedonian, Serbian, and Bulgarian. Sometimes when we begin the collaboration, our colleagues ask, how would you normally support Bulgarian alternatives Bulgarian alternatives can be accessed through stylistic sets or by selecting the Bulgarian language in the language panel of a graphic editor, for instance? Would you support them through this technology or another technology?
Some of the software might recognise the language and some might not. For instance, Adobe tools still don’t recognise Serbian as a language but they recognise Bulgarian. And that’s basically forcing us to figure out how to support that.
Standard Cyrillic lowercase symbols (black) and Bulgarian lowercase symbols (blue).
Set in Guild B
RH: Latin usually needs no extra explanations. If it’s just a simple Latin font with no diacritics, then you don’t have to pretty much do anything extra. But the more languages a font supports, the more complicated it gets. It all starts with diacritics. Are there going to be anchors or are the symbols are going to be pre-composed? Does the typeface support Vietnamese? Will the designer add Vietnamese in the future (because we have to keep that in mind for the metrics)?
Bulgarian support, for example, is not super difficult. But for some minority languages I have to research what do users actually expect. And if Adobe doesn’t handle it properly, how am I going to hack it? Or if the typeface doesn’t have Latin, like it was with one of the Loos sets, tools would get confused. Sometimes they would even say that this is not a valid font because it doesn’t have Latin. So, I guess, the further you move from basic Latin, the more unexpectedly working things you have to expect.
Guild A with Vietnamese support
Everyone now says that hinting isn’t needed when the font will only be used on devices with RetinaDesk displays. Is it really?
RH: If it actually will only be used on the latest MacBooks and very high resolution displays, then yes. Maybe San Francisco doesn’t need hinting Hinting is the use of mathematical instructions to adjust the display of an outline font so that it lines up with a rasterised grid, because Apple owns it and is never going to allow putting it into a low-resolution display device. So maybe it doesn’t require TrueType hinting.
But I have a GameBoy on my desk, it doesn’t have Retina. And the fonts on it are either pixel or not hinted at all. They don’t display as beautifully as they could. But I’m not sure I want to spend a lot of time trying to hint the font to display nicely on a GameBoy screen.
In general, contemporary fonts don’t have to have as specific hinting as the fonts from the 1990s. But it’s always going to be a needed technology for some specific uses. That’s the reality of outlines and pixels.
Do you check fonts on your GameBoy?
RH: I should, actually. It’s an interesting screen. What I do is usually just check them on a big screen, on an old laptop, and on a Windows machine just for the final check.
Who decides or decided some time ago what vertical metrics should be included in the font file?
RH: My guess is that it was just random engineers at Adobe and Microsoft not working together. Everyone was figuring it out for their own application. And maybe some of them didn’t know that much about type. If I understand correctly, the three kinds of vertical metrics are mostly the same thing said differently three times by different people. And then these got used by different applications in slightly different ways.
So it was just overcomplicated by people (and Microsoft Word) misunderstanding things and then we had to deal with all of those misunderstandings over time.
I thought I almost understood the whole mess but, honestly, I don’t think I want to anymore. And it has become more simple to deal with in the last couple of years since web fonts are more and more common.
Nowadays you can set the same metrics values and have fonts set nicely in design apps, and in Chrome without major differences. And since almost everything else is either using the Chromium engine under the hood, or doesn’t stray too far from their decisions, the same values work almost everywhere. There might be some minor line spacing differences in some apps or Operating Systems, but you should be ok most of the time.
Did you have a client who commissioned a typeface that had to work on a specific unusual device?
IR: No, I don’t think so. We once had a client who specifically required support for super old mobiles because the chain was presented in very different regions where people didn’t have smartphones. The client asked us to create almost a pixel version of the font. But with the clients, it’s usually easier because they’re sitting on specific computers, they’re working with a specific software and sometimes I don’t even ask any help from engineers.
Normally, super complicated engineering is for retail fonts, because the customer can use them on any device, any platform, any software, and the art of mastering is to create the font that would work in the majority of the scenarios.
Back in 2019, Underware published a paper on higher order interpolation naming it a game changer. Did it change the game though?
RH: As far as I know, they’re the only ones that are publishing higher order interpolated fonts. I’ve looked at some of their presentations and it looks very interesting, but they didn’t publish a library with their math. So I would have to figure it out by yourself, and I don’t love trigonometry.
Their technology is very good at what it does, but I don’t think a lot of people need it. It’s really needed for very specific animations only. So, it’s not super appealing for me. I just animated something with variable fonts that don’t have HOI and it turned out fine.
Linear interpolation vs HOI
Do you give advice concerning the outlines if the client only asked for mastering, but you see flaws in the outlines quality?
RH: I guess I have good enough clients. I work with people that have sent me mostly clean outlines. Like, I’ve never had the situation when I had to say the typeface was badly drawn.
What I have done is I have worked on a library of, I guess, autotraced fonts that had texture. It’s not that they were badly drawn, but they had a lot of tiny outlines. It was a lot of data that was a bit unnecessary. The files were bought from the designer so the people asking for mastering weren’t the authors, but they were the library owners. And we decided to write a script that just takes care of the tiny ones that are messing up compiling and that would be cheaper and more quick. That was one of the rare situations where I had to touch the outlines.
If I ever get badly drawn outlines, I think I would say that the outlines need improvement and if the client will be ready to pay for that, I would do it.
Have you ever faced a situation where you had to redesign the font after sending it to mastering because mastering pointed out something in your designs?
IR: Never. Loos was a very complicated project for us. It took us many years to complete, but partly because we were experimenting with different designspaces. The original idea was completely different, we got lost a little bit in that design concept and started to redraw everything.
But quite often we create enough mess to redraw everything several times. And by the time we’re done, it’s alright to send it to mastering. Basically, our main challenge is not the mastering stage. It’s the design process.
Loos by CSTM Fonts. Mastering by Romina Hernandez
What was the most challenging mastering project you had a chance to work on?
RH: We were talking about Loos earlier. That was very difficult because I was building a more complex tool for the first time. There were subsets In our shop, you can purchase one of four subsets, depending on which scripts will be used in your project. Purchasing just the Georgian subset will be cheaper than purchasing the typeface that supports two scripts, and the two-script subset will be cheaper than the one containing Cyrillic, Georgian, and Latin for just Georgian, Latin + Cyrillic, Latin + Georgian, and all three scripts together. So we had to export mostly the same fonts, but with a little bit of specific info.
When I finally created the right tool, I was happy. But for a couple days nothing was working, I made a lot of OTFs that wouldn’t open. And also the debugging process was very difficult. So I chose to make everything hard for me for a day so that then I could make everything happen with one click. So, I think in that sense, Loos was the most challenging because I was doing mostly everything myself.
Loos by CSTM Fonts. Mastering by Romina Hernandez
Whom do I have to follow to be aware of all the new scripts and outsource tools that are available?
RH: Well, one name is Just van Rossum. He’s a great engineer and a great teacher. His brother Python was created by Guido van Rossum invented Python that we use a lot, so there’s that family thread. Just taught me a lot of the basics when I was a TypeMedia student.
But it’s difficult because mastering is a very specialised field. Sometimes it’s counterproductive to publish stuff on it because the potential audience will be very small. So many engineers just don’t. When everyone was on Twitter it was less difficult to find whom to follow. But now some people are still on Twitter, some are on Mastodon, which is very nerdy, and some are nowhere, and they are not just publishing stuff anymore, which is sad.
Drawbot (originally developed by Just van Rossum) as a Robofont extension
Usually the people who are publishing tutorials and updates are the people who are actually developing that. The Google Fonts team members like Simon Cozens usually just post whatever they’re working on. So you can follow them. There’s also Behdad Esfahbod, he doesn’t work for Google anymore, but he shares a lot of useful things.
To understand all the latest open source software you have to know how to read GitHub issues, forums and documentation. So, you definitely can check Google Fonts GitHub for updates. And they also have the Google Fonts Guide, which is sometimes quite specific to Google’s needs, but also has some good general information.
Sometimes independent engineers also post things they’re working on. For example, Mathieu Réguer published a library for drawing grids in Drawbot. I only heard about it because I accidentally saw a tweet. It’s not a tool for mastering per se, but it’s a great library for DrawBot that I’ve used a lot recently.
IR: As a RoboFont user I’m a member of a special Discord-server, where people are sharing tools and new scripts. It is a great playground. You can copy someone’s script, play with it, see what it does, and learn something from that. Type design community is very open and they’re sharing a lot.
As a personality, I would mention Tal Leming. I don’t know how to describe the importance of his work. I think he’s very little known among the designers, but he is really the person we have to be grateful to. I would build a statue for him because I literally think that his programmes have saved my back multiple times.
My TypeMedia class was the first one to use Tal’s MetricsMachine. We used to do the kerning by strings. And then in the middle of the year, Tal presented MetricsMachine and suddenly the thing we would spend hours and hours on started to take us much less time. That was almost 20 years ago.
Glyph Nanny, RoboFont extension by Tal Lemming
RH: Also I’d like to add Frederik Berlaen from RoboFont. If you ask him a question, he always invests his time in writing a small script to help you solve the issue. And then he sends you an example code.
Ramsay Street, RoboFont extension by Frederik Berlaen
Would you recommend young designers to get into mastering?
RH: Definitely, even though this is a little bit taking away my own clients, but honestly, it’s not that difficult to do. Like Ilya said, as designers, we know about 90% of mastering really, it’s just about being careful.
Sometimes there are some specific problems that you have to solve, and sometimes you have to program in order to do that, but you can get very far with just your font editor, its documentation, and the OpenType specification.
Mastering is like mechanics. Everyone can fix their own motorcycle if they want to, but to become really good at it, you have to study and to practise. It’s not a black hole of knowingness and one can never get into it. If you’re a type designer and you can read English, you can do font engineering.