A pixel font that's actually good for programming.
Pixel Code is a monospace pixel art style programming font which is designed to maximize readability
and code-friendliness, while sticking to a pixel grid.
Each glyph was carefully designed to be as legible as possible, with special consideration given to
their roles in programming. Furthermore, the OpenType Contextual Alternates feature has been leveraged
to provide pseudo-kerning, eliminating uneven gaps caused by thin letters like 'i' and 'l', while
avoiding the need to reduce their legibility by making them wider.
Pixel Code also includes a full set of programming ligatures inspired by those in fonts like Fira Code.
Ligatures reduce visual noise, consolidating the meanings of multi-glyph structures automatically, so
that the programmer's brain can spend more of its resources on actually programming.
I hope you enjoy the font, I put a lot of work in to it!
Download the latest release from GitHub and install your desired weights
and styles on your computer. If you don't know which format to install, I
recommend using the TTF versions.
Once the font is installed you should be able to configure your editor to
use it using the name "Pixel Code".
Weights and Styles
Comes in a complete range of weights and regular/italic styles.
These alternate weights are automatically generated from the default (400).
100 Thin + Italic | * The Five Boxing Wizards Jump Quickly * 200 ExtraLight + Italic | * The Five Boxing Wizards Jump Quickly * 300 Light + Italic | * The Five Boxing Wizards Jump Quickly * 400 Regular + Italic | * The Five Boxing Wizards Jump Quickly * 500 Medium + Italic | * The Five Boxing Wizards Jump Quickly * 600 DemiBold + Italic | * The Five Boxing Wizards Jump Quickly * 700 Bold + Italic | * The Five Boxing Wizards Jump Quickly * 800 ExtraBold + Italic | * The Five Boxing Wizards Jump Quickly * 900 Black + Italic | * The Five Boxing Wizards Jump Quickly * 950 ExtraBlack + Italic | * The Five Boxing Wizards Jump Quickly *
Unicode Coverage
Language support & various useful glyphs.
Pixel Code supports Latin, Greek, Cyrillic, and Hebrew alphabets.
All human beings are born free and equal in dignity and rights. Они наделены разумом и совестью и должны поступать в отношении друг друга в духе братства. Tout individu a droit à la vie, à la liberté et à la sûreté de sa personne. Ніхто не повинен зазнавати тортур, або жорстокого, нелюдського, або такого, що принижує його гідність, поводження і покарання. Καθένας, όπου και αν βρίσκεται, έχει δικαίωμα στην αναγνώριση της νομικής του προσωπικότητας. Nie wolno nikogo czynić niewolnikiem ani nakładać na nikogo służebności; niewolnictwo i handel niewolnikami są zakazane we wszystkich swych postaciach. Todos los niños, nacidos de matrimonio o fuera de matrimonio, tienen derecho a igual protección social.
כל אדם זכאי להיות מוכר בכל מקום כאשיות בפני החוק.
And has box drawing characters, geometric shapes, dingbats, and various technical symbols.
You can explore the togglable OpenType features of this font below.
Programming Ligatures
(to reduce visual noise)
Can be toggled with the "Ligatures" OpenType feature.
(liga)
Ligatures
Comments:
// Single-line
/* Multi-line *//// Triple slash
<!-- HTML-style -->
Comparisons:
x >= y
x <= y
x != y
x == y
x !== y
x === y
Arrows:
=>-><-
Assignments:
a := b
a *= b
a /= b
a |= b
a >>= b
a <<= b
a +|= b
a -|= b
a *|= b
a <<|= b
Bitwise:
p >> q
p << q
p >>> q
p <<< q
Miscellaneous:
j || k
j ** k
std::namespace
optional?.chaining
https://example.com
Context Aware Punctuation
for better visual flow.
Can be toggled with the "Contextual Alternates" OpenType feature.
(calt)
0xFF 1920x1080 | Simplified x for hexadecimal and dimensions.
*EQ *eq | Asterisks, colons, hyphens and plus signs
A:E a:e | will move up or down depending on if they
C-O c-o | follow (or precede) an uppercase or lower
X+Z x+z | case letter.
Pseudo-Kerning
to avoid unseemly gaps.
Most monospace fonts simply use wide serifs on the i and l characters in order to
make them fit nicely in with other glyphs without creating unnatural gaps on either
side. I was not satisfied with this, as doing so reduces their legibility by making
the letterforms less identifiable. So instead, I implemented "pseudo-kerning" that
uses contextual subsitution of the l character to push it to the left by a pixel
when it follows a letter with a wide right bearing like i and u.
I recommend enabling this feature for static text, but not for editable text, where
it can be jarring to have the characters jump around as you type.
Can be enabled with the "Stylistic Set 20" OpenType feature.
(ss20)
will ......|. Notice, that even though
hull ......| toggling the calt feature
frill .....|.. moves these 'l's to the
tailing ...|.. left, the characters to
module ....|. the right remain unmoved.
castle ....|..........................
soliloquy .|... Monospace is preserved.
Stylistic Alternates
(for those who prefer)
There are some alternate styles available for certain sets of glyphs.
(onum)
Oldstyle Figures (onum)
10, 9, 8, 7, 6, 5, 4, 3, 2, 1 -- Lift-off!
What was it? 525_600 minutes in a year?
const PI = 3.14159265358979323846264338; // TODO: Increase precision.
let [x1, y1] = [0.12569, 0.45780];
(ss01)
Straight Comma (ss01)
{a:b.c,d:e}; | Originally, when Pixel Code was first released, it had a
:;:;:;:;:;:; | less distinct style for the comma and semicolon; the old
,.,.,.,.,.,. | style has been made available as a togglable feature, so
.:;,.:;,.:;, | that it can still be used if you preferred it.