WU3 Segments – a free font based on Vienna subway displays

A display on the U3 subway line in Vienna

When I first was on the U3 subway in Vienna last year I noticed how many segments the characters have on these displays. It looked absurdly many, but I really liked the shape of the characters, so the next time when I was around I took a few pictures and started to draw it in Inkscape. I counted 84 segments in the end.

Characters of the display recreated in Inkscape. Note: there is one extra segment, the bottom left internal rounding (seen in G), that was my mistake

At this time I already fell in love with these shapes. I was also joking about making a font out of it, but… well…

Creating the font

After looking around for a bit I found Birdfont, a free open source font editor. Checking out the Intro to Birdfont tutorial by Spencer Saunders was enough to get me started.

Birdfont has a few sample fonts but you can really open any TTF file with it. As I had no idea what would be the correct shape and dimensions in the SVGs, I have opened a TTF font and exported a wide and full height letter with accents (“Ë” in my case) and based my characters on its shape (although it turned out to be a bit too low in the previews).

The letter “Ë”, overlaid with the segments used in the font, the normal uppercase letter height is aligned so the font size should be more or less precise, the width (with spacing) is based on the real displays

Birdfont has a really great approach when importing the characters from SVGs. Basically you can import a directory containing one SVG per character with an easy to follow naming scheme:

  • the base of the file name is the character to import (C.svg will imported as “C”)
  • everything after # is treated as comment (C#v0.2.1.svg will be “C”)
  • special characters (or anything, really) can be imported based on its Unicode codepoint (U+<codepoint>.svg, so U+2e.svg will be “.”, U+5b.svg will be “[“)

It can also set the character width based on the SVG document size. These were my SVG Folder Import settings:

SVG Folder Import settings in Birdfont

Although I had to manually unselect a few files, but that was just a few clicks.

It can also export EOT and SVG formats, the OTF is unfortunately a “plus version” feature. It can also tune spacing, kerning, ligatures, but I didn’t need these.

After making a few characters I exported a TTF to play around with. It looked great! So I added the rest of the characters I had a photo of and also found some photos online (see the Sources in the readme), and then guessed the rest of the characters based on these. The full character set as of v0.12 looks like this:

All the characters in the WU3 Segments v0.12 font. The ones with gray background are duplicates (lowercase letters are substituted with uppercase ones), the ones marked with a blue dot are guesses

I did a side-by-side comparison with a photo and also a bit of a test run.

Some dummy text with the WU3 Segments font overlaid on a photo of a real display

And well, I could not resist to try it in a terminal…

A screenshot of a PuTTY terminal using the WU3 Segments font, connected to an Ubuntu machine

Downloading the font

I put everything in the wu3-segments GitHub repo, you can download the font files under the releases tab:
https://github.com/gheja/wu3-segments/releases/

Feel free to use it and I’d appreciate any feedback you might have!

Further?

At this point I thought the font was quite complete and I didn’t expect any major changes – except… derloris on Mastodon showed me two photos they took with lowercase letters displayed!

A screenshot of a Toot from mastodon, with two photos showing the lowercase letters on these displays

I did not expect this. Although they look a bit janky (the spacing is all over the place) now I feel the font is not quite as complete as I thought. And maybe now I should add these characters, too…

Some notes

Collecting all the characters needed for a font seems to be an impossible task, as only a few station names and the numbers are displayed, apart from occasional messages like “Use public transport, save the climate!” (“Öffis nützen, Klima schützen!”, which actually led to misbehave/crash the mobile apps and other connected services). So long story short, I had to guess several characters (surprisingly Q, X, Y are amongst those).

If you have any pictures of any letters that are missing or marked as guesses, I’d happy to update the font, see the About section of the readme for details.

Posting about it on Mastodon (okay, tooting is the correct verb) was a big part of kicking this project forward. Each of my posts about it got more and more positive reactions and encouragement: my first impressions, kind of joking about making a font, releasing the preview TTF font file, they all got great reactions.

Marcin Wichary made a really nice Segmented type appreciation corner webpage to play around with segmented fonts, I think you might like it.

Similar Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.