# ZX Spectrum system font

Old computer fonts are fascinating. Making a consistent-looking font is a remarkable achievement in its own right, but designing a monospaced font that is readable on a very low-resolution screen, is aesthetically pleasing, and has a distinct personality — that's a whole other level of difficulty.

The ZX Spectrum system font is a nice example of this. It's an 8x8 pixel bitmap font used on the ZX Spectrum, a home computer released in the United Kingdom in 1982, and it's still recognized today (more than 40 years later!) as part of the machine's unique visual identity.

I mean, just look at it:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676281955861/8326886f-c5b8-4623-b0f8-c1c989da6fd0.png align="center")

Sure, the font is a bit of a mess, but it's a charming mess.

By the way, the screenshots in this post were made using [Fuse](https://fuse-emulator.sourceforge.net/), the Free Unix Spectrum Emulator. It's a delightful application, and I had a blast playing around with it.

The Sinclair BASIC program producing the output above is as follows:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676281982838/0687580a-51bb-4f87-b40c-8c8d6297dc47.png align="center")

Typing this in on a regular keyboard was interesting: the BASIC keywords are their own code points, so pressing P while in keyword mode produces `PRINT` as a single character, R is `RUN`, and so on. Had to look some of them up, since I never remembered the ZX Spectrum's keyboard layout in the first place.

---

To better appreciate the original font design, compare it to a modern ZX Spectrum font, [Clairsys](http://www.type-invaders.com/sinclair/clairsys/), designed by Paul van der Laan in 2002:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676282045135/8112a049-49ee-46fd-a18d-c175ecb09dc5.png align="center")

Clairsys features less blocky letters, generally narrower than in the original font, and with larger counters. The letter spacing, as a result, is super wide.

And here's the same one-liner from before, typeset in Clairsys:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676282069696/0c91eec1-5192-459a-bf18-879cefcd1411.png align="center")

Dotted zero is a retribution for our collective sins. Other than that, I don't have any overarching conclusions for this post.

I'll try to make this into a series on pixel fonts. Let's see how that goes.
