FontLab in 8 days — Day 6: Bigger, bolder, better¶
Bigger fonts with FontLab 8¶
Type design is often a solo project, but it doesn’t have to be. Sometimes it makes sense to divide up the work. Maybe you need multiple hands to meet a deadline; you hire a specialist to do the kerning or design the Greek or Cyrillic alphabet; or maybe you have a small group with a design idea on which you want to collaborate.
However, group work has its challenges. In our current work-from-home environment you can’t just pop your head over the cubicle wall to ask your co-worker to dot the i’s or cross the t’s. In fact, your co-worker might be in Paris or New Delhi or Shanghai. You need an efficient way for everyone on the team to keep everyone else up to date on the progress of the font.
Fortunately, modern font editors have tools to help: FontLab has flags, tags, notes and stickers. In a typical collaborative project, you would keep your font work file in a private repository on a service such as GitHub. When a team member wants to work on the font, they retrieve a copy of the latest version of the file and do their thing. When done they “push” the new version to the repository.
But how will other team members know what’s been done? And what if two or more work on the font at the same time? Clear communication is key. Someone will have to reconcile the versions. Rather than write lengthy notes to each other or play telephone tag, the best way to communicate is in the font file itself.
Flags are a high-level way of telling everyone the status of a group of glyphs. Flags are color coding of the glyph cells in the font window (Figure 1). Every glyph can be flagged with a color that denotes some status. You might, for instance, flag all John’s glyphs blue and all Mary’s green. Or you could assign different colors to different stages of completion. Or just flag a glyph in need of attention. Your colleagues can see at a glance the status of the whole font and direct their attention accordingly.
Tagging glyphs can help keep things organized. Tags are labels that are applied to glyphs to show that they belong to a particular group (Figure 2). E.g. you can apply the “linFig” tag to all glyphs that should have the same height as the lining numerals in the font. This makes it easy to find all the glyphs in any group by just choosing the tag in the Classes panel. You can also assign tags to font guides or zones, and FontLab will show these guides or zones only in the glyphs that have the corresponding tag. FontLab automatically assigns virtual tags to glyphs based on their writing system (Latin, Cyrillic etc.) or the way they’re constructed (blank, composite, auto layers, colored glyphs etc.).
For more detailed explanations, you can use notes and stickers. A note is a text field. For each font master, you can write your font-wide remarks in File › Font Info › Note. For each glyph, you can write a short text when you right-click its glyph cell and choose Edit Note. The font window will show the note or a small yellow icon under the glyph cell (Figure 3). Your teammate can quickly see that a glyph has a note without having to open every glyph in the font to check. This makes it easy to exchange questions and answers like, “Perhaps too bold” or, “All descenders should go to -30.”
Stickers are specific to each glyph layer. They appear in the glyph window. To add them, activate the Guides tool. You can add a simple sticker like a circle, square, arrow or star, or you can create a text sticker with a customizable text, color and an optional arrow that points to the specific areas of your drawing (Figure 4). This is incredibly helpful when discussing details of glyph design.
FontLab keeps notes, stickers, tags and flags only in your internal work file (VFC or VFJ). This info is not included when you export the font to the OpenType format. So skip the lengthy emails and zoom calls. If your team is spread out around the block or around the world there are better ways of keeping everybody on the same page.
Family matters in FontLab 8¶
Most fonts have family—-the Bold brother, the Italic sister, as well as uncles, cousins, and in-laws like Black, Narrow or Ultra Wide. These family members are called styles: designs that follow a similar concept but vary in stroke weight, glyph width, in contrast between thin and thick elements of the letter, in slope, serif length, in letter proportions and in many other aspects.
FontLab lets you prototype a bold style, a slanted italic style or a condensed style with actions. The results will often be a good starting point for manual refinement.
If a family has styles like thin, light, regular, medium, bold and black, you can say that the family has the weight variation axis. If the styles go from condensed to wide, it’s the width variation axis. These axes exist in the so-called “design space”.
Static font families only let you jump between pre-determined points along each axis: you can pick a light or a regular style, but nothing in-between. A variable font is a family rolled into one font file, so you can smoothly travel along each design space axis. You can pick a light or a bold weight, or anything in-between.
For variation to work, you need at last two “masters”. A master is a set of contours that describes the shape of the glyph using Bézier curves (you will know them from PostScript, PDF, SVG and other vector graphics). The “a” would have its Regular shape in one master, and would have a Bold “a” master as well. The number of components, contours and nodes in all masters of a glyph must be the same (this means: they match), but their positions may be different.
Then comes interpolation, which makes the points and components “travel” between these positions. FontLab can automatically produce matching masters from contour drawings that aren’t fully compatible. FontLab uses the same interpolation algorithm inside the app as the variable OpenType fonts will use when exported, so the way the designer sees the design change when interpolation is used is exactly the same as what the end-user of a variable font will see. And if you design a Regular and a Bold, you can interpolate in-between fonts (Medium, Semibold) and even extrapolate Light and Black.
This sounds more difficult than it really is. Let’s quickly make a condensed font. First open a Regular font in FontLab. Choose Add Variations from the Font menu, type Condensed (figure 1), and click OK. You now have a Width variation axis and two identical masters. To actually condense the Condensed master, select some glyphs in the Font window, choose Actions from the Tools menu, and from the Adjust section, choose Change width. Choose Glyphs: Selected to preview the change, and choose Layers: Current, because you only want to condense one master. Move the sliders to get the right result (figure 2), click OK. Select all glyphs and choose Match Masters from the Glyph menu. You have your first variation!
Choose Generate Instance from the Font menu, use the slider to choose an interpolated instance. Add it, then a few more. Go to Font Info in the File menu, and in the Instances list, give your instances names (figure 3). Finally save and Export your new font. If you export it as a Variable TT font, you can actually change the width of your text while in a variation-capable app (like Adobe InDesign 2020) to make it fit absolutely perfectly in the space you want without having to go through a lot of trial-and-error. Or export OpenType PS instances to get a family of traditional, “static” fonts that work everywhere (figure 4).
Easy-peasy, Eh! Making new friends of extended family members can be both a fun and rewarding experience.