Current 5 bit values:
(is there any way to get rid of the space between each item in the list below?:)
00000 space
00001 a
00010 c
00011 d
00100 e
00101 g
00110 h
00111 i
01000 l
01001 m
01010 n
01011 o
01100 p
01101 r
01110 s
01111 t
10000 u
10001 v
10010 ,
10011 .
10100 ~
10101 `
10110 '
10111 ?
11000 !
11001 (
11010 )
11011 :
11100 |
11101 TBD
11110 TBD
11111 TBD
Yet another attempt to make a narrow programming font. Designed to accentuate the diagonals even though it's narrow. But then I got carried away with the little balloons, so it looks a bit odd at tiny sizes. Still readable though.
The Roman alphabet has far too many letters. 9 letters can be represented by combinations of others. This font resoves that problem. Letters replaced: FJKQVWXYZ, Letters used to replace them: BCDEGHIPSU, Other Letters: ALMNORT. Regarding V and B, instead of replacing V with BH, I could replace B with PV (which would be better).
Now that I have the set of letters down to 17, they can be stored in Hexadecimal. So the final alphabet is ABCDE.GHI..LMNOP.RSTU..... Punctuation - 13 symbols: ,-`':()<>!?|. 2 slots left over for other stuff. The space has stuff in it. Do I want that?
There are 32 characters - 17 letters and 12 symbols, a space and two empty slots.
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.
Also:
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.