0xProto is a programming font focused on source code legibility.
Ensuring code readability is your own responsibility ;)
- Download font files
- Unzip the archive and install the font:
- macOS: Drag & Drop the font file to Font Book (or the other font management app)
- Windows: right-click any of them, then pick
Install
from the menu
When it comes to programming fonts, legibility is paramount, particularly the clear differentiation of each letter. Maintaining clarity in coding is critical as it minimizes ambiguity and helps prevent errors that could lead to software bugs.
0xProto is a cohesive font ingeniously designed to enhance differentiation between similar-looking letters.
Software engineers often work with fonts in small print on their preferred text editor or terminal software. Thus, we've adjusted the font to ensure that the interior of each character is sufficiently wide to be easily visible, even at smaller font sizes.
Additionally, there's a feature called Texture Healing that enhances the legibility of naturally wide characters like m
.
This feature slightly widens characters like m
to improve legibility when they're next to narrower characters like i
and l
, or symbols like periods, colons, and spaces, while still keeping them within their monospace width. GitHub incorporates this feature in 'monaspace'.
Compared to regular typefaces, monospaced fonts often exhibit uneven distribution of dark and light spaces. 0xProto effectively mitigates this issue by employing unique letter shapes to maintain visual balance.
Software engineers frequently use a variety of symbols while programming.
As Fira Code suggests, sequences such as :=
or =>
function as single logical tokens, even though they are composed of two characters on the screen.
However, many programming fonts, such as Fira Code, use ligatures, for example, to change the appearance of !=
to change its appearance to ≠
and other ligatures. Although !=
is commonly used to represent ≠
in many programming languages, in my view, ligatures that alter the original meaning do not truly fit the definition of "ligatures".
From a functional or usability standpoint, ligatures that transform the meaning of ≠
or other overly distorted ligatures make it challenging to anticipate their meaning if any part of the string is erased.
For these reasons, 0xProto has made a conscious decision to abstain from using ligatures that modify both meaning and form.
If you prefer the programming ligature so far, I recommend Fira Code because it is very clean and useful!
In the Italic family of 0xProto, some characters can be changed to script.
How to enable:
- Visual Studio Code
- other tools
- This is a Fira Code document; the Script Variant for 0xProto is
ss01
.
- This is a Fira Code document; the Script Variant for 0xProto is
- Open
Settings
- Go
Text Editor
->Font
->Font Family
- Input box type:
"0xProto"
(Enclose0xProto
in quotation marks'
or double quotation marks"
.)
To enable ligatures:
- Go
Text Editor
->Font
->Font Ligatures
- Click
Edit in settings.json
- Change
"editor.fontLigatures"
totrue
insettings.json
Q. Can I legally use 0xProto for my purpose?
A. Most likely YES. 0xProto is free and open source. For details, read the LICENSE.
Q. Where can I get 0xProto?
A. Here
Q. What is "0xProto NL"?
No Ligatures fonts. Why: #116
Q. What is "Zx Proto"?
Same as 0xProto. Why: #112
Q. Other questions?
Feel free to create an issue and ask questions. But please make sure that there is a previous issue with the same question.
The SIL Open Font License, Version 1.1
Copyright (c) 2025 0xType