Last week, I wrote about trailing words in name only. This week, I’d like to look at avoiding them in automated way, for two reasons:
- As a type designer, they are probably something that you’d like to avoid in the materials you produce for typographers anyway
- Resolving them is an interesting microcosm for designing layout systems
When you’re designing something static and one-off, it can be relatively easy to avoid certain typographic issues, as you can resolve them yourself.
However, if you are designing something that is going to be generated, or the content is dynamic, you’ve probably found yourself needing to make these work-arounds part of design system itself.
Identity design applications, websites, translated user interfaces, books and PDF generation, social media templates, more—these would be designed as representative examples, but the actual design is the system itself.
So, the typographic niceties we’d like to have as part of the graphic design system, can and should become part of the software.
I’ve been working on a little software helper for preventing trailing words when writing Markdown.
Markdown has gotten a lot better known, but in case you haven’t encountered it: it’s a way of writing in easy-to-read plain text, while still indicating how the document should ultimately be formatted.
For people who write using Markdown or plain text, this tiny plugin I’ve written will make it possible to insert a non-breaking space when the content is rendered.
That’s enough to prevent a trailing word from existing, because the last two words will always be kept together.
While the software details are completely different, this is still pretty conceptually similar to the older takes on a “Widont” plugin.
The reason to prevent trailing words is to keep paragraphs feeling balanced—structurally sound, like they aren’t about to fall over.
What happens when the line length is very short? Typically, you still end up with a trailing word, putting two words together that may disrupt the second-to-last line of the paragraph you were trying to balance anyway.
So for next time: my one tiny conceptual addition to these kinds of plugins is how to handle trailing words responsively.
Until next time,