The idea for this font was to use as few primitive triangles as possible for every letter. The font developed very naturally from this simple idea. Admittedly, the font is not the most readable, but every letter is very distinguished from all others (except "B" and "3"). The font uses a variable width for narrow letters.
The shape of the letters is stored in the vector fo. Every letter is in one (sub-) vector. The first element is the width of the letter (usually 2, it gets scaled later with the width of all letters w). Then follows a list of polygons. Some corner points of the polygons are shifted by a small amount (e=0.02) to remove degeneracies when two polygons share a common corner point. The stl would be non-manifold at this point (actual: at this edge, as the polygons get linearly extruded).
The key to finding a certain letter in the fo vector is the string str0. It contains all the available letters:
Presently this font contains only capital letters,numbers and a few special characters.
Let me know if you need more special characters and I'll try to include them.
I'm somewhat concerned that the font will not print nicely because some letters (e.g. "T", "X") have quiet sharp corners, that the printer cant handle this and omit or shorten the ends of the letters.
Could someone with a 3d-printer make a test print and post a picture, please.
If you want to use this font in your own projects, you can just do an include:
and call the module:
The line of text can be 80 characters long. If you need more, then you need to extend the module pos() which calculates the position of every letter in the text.