v1.100
A free retro monospaced font inspired by 20th century electrical and mechanical design. It's open source, a solid choice for writing code, and pairs well with krafftachrome or shellectric colors.
This project actually contains 2 fonts: Brass Mono (no ligatures) and Brass Mono Code (with code ligatures), similar to Fira Code (but with way less ligatures).
Fonts like this are all over the place. They're type-written in service manuals, stamped on elecrtical components, molded in steel, and pressed into fresh concrete. I made this font in an attempt to capture the beautifully functional, completely unplanned aesthetic that emerged as people who work with their hands built a world around them. I don't know that there's a specific font I'm talking about here, but you know it when you see it.
I made this font shortly after becoming a software engineer. While I loved writing in the blocky monospaced fonts that all code is written in, I couldn't shake the feeling that something was missing. Eventually I gave in and, despite not having any font making education, found some open source tools and got to work. I started out just tracing a couple other fonts I liked (wish I could remember which ones) and making modifications wherever I felt like it. As soon as I had enough letters, I started using my new creation, going back and tweaking as I went until, eventually, I decided Brass Mono was polished enough to share with the world, just like the open-source tools that let me create it.
It wasn't until after I got so used to reading and writing in this font that I learned I have dyslexia. I've tried a few dyslexia-focused fonts and, while I do believe work on these fonts is worthwhile, most of them feel no less choppy to me. Reading in Brass Mono still has it's challenges, but it feels like butter to my eyes. I'd love to take credit for cracking this problem, but I read somewhere that people with dyslexia exert less mental energy when reading their own handwriting, and I think this is just a digital version of that for me.
If you like Brass Mono as much as I do, give it a download and feel free to use it in your own creations, even commercial ones!
The build pipeline is fully scripted – main source file is src/BrassMono.svg
which contains the svg glyphs that can be edited via the inkscape svg font editor. From there, ttf
font files are compiled into /dist/BrassMono
using fontforge.
flowchart LR
svg(src/BrassMono.svg) --> forge{bin/docker/forge.pe}
forge --> reg(dist/BrassMono-Regular.ttf)
forge --> code-reg(dist/BrassMonoCode-Regular.ttf)
forge --> bold(dist/BrassMono-Bold.ttf)
forge --> code-bold(dist/BrassMonoCode-Bold.ttf)
svg --> forge-ital{bin/docker/forge-italic.pe}
forge-ital --> ital(dist/BrassMono-Italic.ttf)
forge-ital --> code-ital(dist/BrassMonoCode-Italic.ttf)
forge-ital --> bold-ital(dist/BrassMono-BoldItalic.ttf)
forge-ital --> code-bold-ital(dist/BrassMonoCode-BoldItalic.ttf)
This repo is built to google-fonts spec, which is enforced via fontbakery (bin/lint
). It's not fully compliant yet, but will be eventually!
To start working:
- install docker if you haven't yet
- run
bin/init
to initialize git submodules- you can skip this if you cloned or pulled with
--recurse-submodules
- you can skip this if you cloned or pulled with
- create your docker image with
bin/build
- will compile and zip fonts
- edit
src/BrassMono.svg
in inkscape with changes - run
bin/rebuild
to re-compile and zip fonts - test compiled font quality with
bin/lint
- manually test on your computer with
bin/install
- will update if already installed in ~/.fonts/BrassMonoFonts
- or just open
/dist/BrassMono
with Font Book if you're using a mac
- run
bin/help
to see all project management commands