Click to focus page.

loading

1

2

3

To section

W

A

S

D

Scroll

+

-

Zoom

ENTER

ESC

Edit text

R

Reset

B

L

I

Weight/italic

M

Light/dark

C

High contrast

H

Hide keys




Commit Mono.

Neutral programming typeface.


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




  • 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.









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








Commit Mono: Normal
programming typeface



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



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:


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






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 you 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


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


Programming font resources


Programs used

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