Click to focus page.

loading

# Commit Mono.

# Neutral programming typeface.

Commit Mono is an anonymous and neutral coding font focused on creating a better reading experience.

## Use keyboard to control website

- ↑ ↓ ← → navigate
- 1 2 3 ... go to section
- W A S D scroll
- + - zoom
- ENTER ESC edit text and cancel edit

Commit Mono: ASCII character table.
Since most code is written using ASCII characters, these characters are the backbone of every coding font. They have been sculpted with particularly great precision and attention to detail.

1896
1956
2013
2017
2023

> There are better ways to design than putting a big effort into making something look special. Special is generally less useful than normal, and less rewarding in the long term. Special things demand attention for the wrong reasons, interrupting potentially good atmosphere with their awkward presence.

— Jasper Morrison, Super Normal Manifesto

Smart kerning OFF
Smart kerning ON
How it works OFF
How it works ON

Commit Mono: Normal
programming typeface

SMART KERNING OFF behaves exactly like your standard monospace font. Letters are centered in their respective boxes.

Commit Mono: Normal
programming typeface

SMART KERNING ON improves overall word spacing and makes sublexical units easier to tell apart, therefore improving reading speed and accuracy.

m

o

i

Smart kerning works by looking at single letter between two other letters. If the other letters are in different width classes, the middle letter will slide closer to the narrow letter.

m

o

i

As you can see here, the ‘o’ is moved 44 units to the right, which evens out the spacing between itself, ‘m’ and ‘i’. This same process is applied to all letters.

Tip: Use B and L to view the font in different weights.

## Play a game: ‘Guess the Character’

Correctly spot 10 commonly confused characters.

## Compare different fonts

## Programming language examples

## Choose download weight

## Choose download letter spacing

Does not change actual letter width, only tracking.

## Choose download line height

Use with caution: Often handled by coding software.

## Choose download features

## Choose download alternate characters

## Choose download with custom name

Change the name of the font to CommitMono-YourName. Use to control versions and have multiple versions installed simultaneously.

Recommended download of style group with your custom settings for development.

Download all 42 cuts with your custom settings + source variable fonts (.tff & .woff2) for design. Variable fonts don’t contain custom settings. Use these OpenType features for current custom settings:

Retrieve custom settings

By uploading the ‘custom-settings.json’ file from a previous version to retrieve custom settings from that download. Alternatively, you can or copy current settings.

Changing the settings above changes the download. Recommended weight: 400 for dark mode, 450 for light mode. Alternate characters will be baked and features merged, resulting in a single static font file that is compatible in all environments. For an installation guide, see
.
Tip: Press R to reset to default settings.

1. ## Download CommitMono.zip:

2. ## Unzip the fonts. If you downloaded default or dev version, you get 4 font files that make up the Commit Mono ‘Style Group’:

   - CommitMono-400-Regular: Base version with settings and weight of your choice.

   - CommitMono-400-Italic: Italic version, same weight as regular.

   - CommitMono-700-Regular: Bold version, weight 700.

   - CommitMono-700-Italic: Bold Italic version, weight 700.

3. ## Install all 4 fonts on your system:

   - Windows: Right click the fonts in the folder and click "Install".

   - Mac: Open the fonts with Font Book from the folder and click "Install".

   - Linux: Unpack fonts to ~/.local/share/fonts (or /usr/share/fonts to install fonts system-wide) then fc-cache -f -v

4. ## Restart your editor/IDE.

5. ## Activate Commit Mono in your editor.

   Settings/Preferences → Editor → Font:
   Pick ‘CommitMono’ from the list (notice: there is no space). If you’re using VS Code, simply add these two lines to the settings.json file:
   "editor.fontFamily": "CommitMono",
   "editor.fontLigatures": true,

For a comprehensive guide on how to enable features/ligatures in your specific editor/IDE, refer to: Fira Code wiki

FAQ
Features
Alternates
Character set
Languages
My .zip file won’t work, what to do?

There have been some problems with downloading .zip files from Safari. The download is tested to work in Chrome and FireFox.

How can I be sure that I’m looking at Commit Mono?

The most noticeable characters in Commit Mono are ‘agrQ£@’. If you’re not used to looking at fonts, they can be difficult to tell apart, but if those characters match what you see here, you’re looking at Commit Mono.

Why does the font not include more ligatures?

The ligatures already in Commit Mono are added because they provide additional functionality (i.e. != becomes ≠), but they are off by default. Commit Mono won’t be updated with ligatures that purely serve aesthetic purposes (i.e. $> becomes connected).

The ligatures are not showing up, why is that?

You need to check if your editor/IDE/terminal supports ligatures. If it does you should be able to enable them through ‘enabling font ligatures’. If you’re still having trouble, have a look at Fira Code wiki.

I have downloaded a new version, but the old version is still displayed.

1. Uninstall the current version you have installed.
2. Install the new version.
3. Restart your IDE. The new version should show up.

Is there a .woff2 version of the font available?

There is a variable .woff2 version included if you "Download custom for design" in
. However, that variable font does not contain custom settings. You have to manually enable features and alternates that are OFF by default. To see the OpenType feature codes for each feature and alternate, go to

What is the licensing on Commit Mono?

Commit Mono is available under the SIL Open Font License 1.1 license. It can therefore be used freely for both commercial and non-commercial purposes. Only if you decide to make your own font based of Commit Mono, do you need to give credit, but it is always appreciated.

May I install and use Commit Mono in any editor or terminal?

Yes.

Is Commit Mono free to use in a logo or print design?

Yes.

Is Commit Mono free to use on a website, in software or an app?

Yes.

May I use Commit Mono to design my own font?

Yes, but you need to give credit and indicate that it is based on Commit Mono.

All features/ligatures are baked into the ‘calt’ OpenType Feature, which can be turned on by ‘enabling font ligatures’. In VS Code you simply put ["editor.fontLigatures": true,] in the settings.json file.

Hold O to view feature ON

The custom alternates that you choose are baked into the font and work out of the box. That way, you don’t have to enable them through OpenType Features.

Hold O to view ALT

## Full character set without alternates

Added support for Greek. Καλώς ήρθες, απόλαυσε!

Support for Cyrillic coming soon.

End of transmission.

## Currently supported languages

## Connect with me

- GitHub
- X/Twitter
- LinkedIn

## Thank you

- Hakim Mazouz for motivation to pursue the project.
- Mads Brodt and Philip Johansen for beta testing and interview.
- Beta testers for great feedback and testing.
- My teachers at DMJX for support and learning.
- Everyone who answered my survey.

## Inspiration

- Untitled Collection by Klim Type Foundry for so much inspiration.
- sampleprograms.io for code examples.
- opentype.js for generating fonts on the web.
- zip.js for zipping files on the web.
- OpenType Cookbook for all things OpenType Features.
- Fira Code and JetBrains Mono for being a huge inspiration and go-to for best practices.

## Programming font resources

- ProgrammingFonts.org: Test drive a huge variety of programming fonts.
- Article on coding fonts from Real Python.
- Other excellent free programming fonts:
  - Fira Code
  - JetBrains Mono
  - Nerd Fonts
  - Cascadia Mono
  - Source Code Pro
  - SF Mono
  - IBM Plex Mono
  - Monaspace

## Programs used

- FontLab 8 for font production.
- Figma for prototyping.
- Visual Studio Code for development environment.