Friendly Geek Light

by jonrgrover

Download disabled

The designer of this FontStruction has chosen not to make it available for download from this website by choosing an “All Rights Reserved" license.

Please respect their decision and desist from requesting license changes in the comments.

If you would like to use the FontStruction for a specific project, you may be able to contact the designer directly about obtaining a license.

Here is my fourth attempt to make a narrow font that accentuates diagonals. It seems to be a good programming font at size 10. It makes it surprisingly easy to read upper case consonant names.

Design is as follows:

Monospaced of course, because code pretty much requires this. Code fonts are built for both reading and editing, and when some letters are very narrow like the i and l in most fonts, that makes them very hard to select with a mouse and therefore very hard to edit and makes these fonts very hard to use for programming. In addition block cut and paste is important for programming and monospaced is required to do this easily.

Small sizes need to be easily readable. Sometimes you need to be able to see a lot of code on one screen.

Two Dimensional - designed for two dimensional grid-like work such as spread sheets and programming. Lines to draw reader's attention vertically are preferred over lines to draw reader's attention horizontally (as in most fonts). That makes this font more difficult for reading text and less difficult for reading code.

Glyphs are wide in the center of each letter so that diagonals and crossbars are easy to see, and narrow toward the top and bottom so that the characters pull away from each other and are easy to tell apart.

Bodies of the lower case letters are made relatively tall so they are easy to read in code, yet maintaining a clear difference between the height of the lower case and upper case characters - very important.

From top to bottom: 2 blocks upper diacritics, 1/6 block space, 2 blocks stems and upper case, 5.5 blocks lower case body, 1/3 block space, 2 blocks lower diacritics.

Clear distinctions exist among the members of each of the following groups of glyphs: ({[  ])}   Il1  aes   Ss56$   Zz217?   `'   .,   uUvV   coCO0D   pP   ;:   ~-  to help tell exacty what each glyph is. This is critical in programming.

Numbers are really large. It doesn't hurt at all for numbers to stand out in programming. This is ok because numbers never have diacritics. The 7 has a bit of a scoop so it does not look like a 2 when underlined.

Vertical alignment - The pairs {}  ()  and []  line up precisely vertically.

The dots are large and distinct so they show up easily in code.

Large numeric 'operators' +-/\%^~=* are easy to read in code.

At least one block touches the right edge in each glyph so that Visual Studio can figure out what's going on. This also means that many glyphs do not touch the left edge and some narrow puctuation glyphs have a tiny extra block off on the right edge.

Floating a little bit above the zero line helps in dealing with underlines.

Avoids horizontal strokes to reduce problems with pixelation at various sizes in various programming tools.

Sans Serif (mostly) so that you can cram glyphs together more tightly.


Diacritics have lots of space since the area above and below the capitals is more than 2 blocks, so they can be added later on.

Looks scripty - There is a bit of a scripty thing going on because of the wide bases for the lower case i and l, so this is enhanced a bit in the I, J, S, U, Z, f, t, u, z and s.

Narrow enough to be mistaken for an informal text font although since it is designed for two dimensional work, simple lines of text are not that easy to read.

A little too thin - A little bit too thin to be easy to read on a pixelated screen below size 10, although it does print very nicely, so I am labeling this Friendly Geek Light, and I am building a Regular and a Bold font also.

Recent Changes:

Made the 'h' lean to the right to distinguish from the 'b'. Straightened out the '+'. Made the 'F' drop below the rest of the upper case to make it look less like an 'f'. Heightened the 'v' to make it smoother.


Here is yet another monospace programming font.

Comment by jonrgrover 17th april 2018

At size 10, Friendly Geek seems to compete fairly well with regular fonts even though it is a monospace font. Here are some comparisons with other fonts.

Built on 2/3  size blocks. When it comes to programming fonts, 2/3 block is a little thin, 3/3 block is a little thick at height 12, so next time try 3/4, 5/6 or 7/8 of a block for each glyph. 5/6:12 is equivalent to 4/4:14 or 2/3:10 or 1/2:7.

The underscored fonts are the monospace fonts.

Comment by jonrgrover 19th april 2018

Works beautifully for coding:

Comment by jonrgrover 24th april 2018

Why stray bricks in the punctuation?

Comment by anonymous-1520403 3rd may 2018

The reason is that Visual Studio (my coding IDE) has trouble handling fonts properly, so to make it work, I need to have the rightmost block of each glyph touch the right edge of the fifth block. Most punctuation is too narrow to do this with naturally. So I add the tiniest block possible to make VS work.

Comment by jonrgrover 4th may 2018

Can you try using an empty brick (if you can create one)

Comment by anonymous-1520403 4th may 2018

I don't think there is a way to create an empty brick. Even if we had one, I don't know if Visual Studio would respond to it properly.

Comment by jonrgrover 4th may 2018

@zephram, thank you for the compliment. The style is almost entirely created by the needs of the font. I don't do style too well and I really enjoyed making something stylish using an engineering approach.

Comment by jonrgrover 7th may 2018

Also of Interest


Get the world’s leading font editor for OSX.

More from the Gallery

Friendly Geekby jonrgrover
Friendly Geek Extralightby jonrgrover
Lisaby jonrgrover
Wiggly Wumpusby jonrgrover
Edelweissby lakoni313
nookby four
zyklopedia eYe/FSby elmoyenique

From the Blog


The Numbers Competition Results


The Numbers Competition