0xProto is a programming font focused on source code legibility.
Ensuring code readability is your own responsibility ;)
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
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!
ss01
)In the Italic family of 0xProto, some characters can be changed to script.
How to enable:
ss01
.Install
from the menuSettings
Text Editor
-> Font
-> Font Family
"0xProto"
(Enclose 0xProto
in quotation marks '
or double quotation marks "
.)To enable ligatures:
Text Editor
-> Font
-> Font Ligatures
Edit in settings.json
"editor.fontLigatures"
to true
in settings.json
The SIL Open Font License, Version 1.1
Copyright (c) 2024 0xType