Box Drawing Week

Happy Box Drawing Week. Here in Canada, it’s that special time of year, when we improve the monospace box drawing glyphs in our fonts.

Years ago, while revising Source Code Pro, the Adobe Type Team open sourced their script to generate box drawing glyphs. Using it, you can generate all your box drawing glyphs from some key settings, rather than drawing them manually:

A screenshot showing the Glyphs app user interface, with the box drawing glyphs filled in

​​Box drawing glyphs can show up in command line user interfaces, and in developer documentation to show things like folder structure in plain text. Some developers even like showing charts, graphs, and illustrations this way, so their file can stay text-only. Box drawing glyphs can also make up more complex terminal-based user interfaces, or individual elements like loading bars or spinners.

Many of these glyphs aren’t challenging to draw manually on their own. So, if you aren’t overly comfortable running scripts while making a font, you might think it’s more trouble than it’s worth. “If I am working on a monospace font, and this might be my only one, why go to the trouble of fiddling around with a script like this?”

And it’s fair that not everything should be automated away too early. If you are literally only going to do something once, making it into a configurable script that runs in multiple type design programs would certainly be over-engineering. (This comic was hanging up on the wall at a previous co-working space of mine.)

However! In this case:

  • You don’t have to write this particular script yourself. If you’re already familiar with running scripts in your type design tool of choice, you only have to invest the time in running it.
  • If you’re not already familiar with running scripts, it might be a good self-contained test script to try out for yourself.
  • Even if you only work on one font that includes these glyphs, you might want to go through multiple rounds of revisions while drawing them. In that sense, you could be programmatically drawing these glyphs many times and getting immediate feedback about the changes, even if you only use the results of the script “once.”

This might apply in other cases where you are trying to decide whether or not to automate a small part of your type design process. If you are really only doing it something once or twice, and you’d have to write the script to automate it yourself, it might not be the right time yet. You might even have to learn more about the problem space first by doing something manually. But if re-running and revising a script like this could become part of the design process—modifying its settings along the way, giving you useful constraints to work within—it might be worth the time invested.

Box drawing glyphs and others like them, can lend themselves well to drawing through code. As the original script documentation suggests, it’s a lot more fun to re-run the script and see them all change. It’s also a lot more practical to test the result as a system. More than anything else, the the drawn lines need to, well, align.

Feel free to reply if you try the script out, or have been doing any scripting of your own—or if I’ve missed mentioning any of your favourite uses for box drawing glyphs.

Until next time,
Kenneth