How to create single line fonts from scratch?

I would like to try to make some single line fonts.

I use some of the existing fonts out there for engraving on a CNC router, and I’m just not totally satisfied with any of them.

In particular, I’d like to try to make a font comprised entirely of lines and arcs, to get an efficient and legible labeling font, and I’d also like to attempt to make a single line font that can be easily onverted to brush strokes.

two questions:

  1. can anyone recommend a program that isn’t part of the Adobe universe that I can use to make single line fonts?

  2. when making single line fonts, is it possible for the lines to have reliable directionality like rhino curves do? If I can do that, I can use some basic grasshopper to do a subtle manipulation of the Z coördinates of the curve control points to create tapering engravings or brush strokes with a pen.

I’ve used FontForge before. It’s open-source, cross-platform and free. Font design is a tedious task though!

I don’t know if you’re aware of this but Rhino 7 already comes with a single line font. It’s called SLF-RHN Architect.

Honestly, no idea whether that’s possible. When you take a closer look at the Rhino single line font and inspect the curve directions, it’s hard to tell if that’s optimized for shortest paths or not. My guess would be probably not.

However, you could write some kind of pre-processor that optimizes the underlying curves before exporting to the gcode generator, or even make the gcode production part of your script or definition.

That’s a super neat idea! I need to test that at some point.

Hi Max,

I had a go at this a while back using Fontlab, but relied on a loophole that allowed the creation of fonts with unclosed curves. An upgrade closed the loophole (and the curves!).

It proved to be a frustrating quest and in the end I got too busy to reach a successful conclusion. There’s some dialogue that might be useful to you in Are there any single line Fonts? - #31 by jeremy5. Maybe when things get less busy I’ll get back to it.

Memory may fail me, but I seem to recall that it will be necessary to work with McNeel to include your single line font in a list of such within the configuration of Rhino.


1 Like

Hi Jeremy -

I’m not sure what you mean by that. Rhino will use fonts that are installed in Windows.

Hi Wim,

See Font and Single Line Font Requests - #6 by stevebaer


Here’s where to get a springloaded pen holder that just chucks straight into a CNC collet.

1 Like

I know about the Rhino single line font, I have the MecSoft font, too.

They’re both useful for labeling, I just wanted something that’s all lines and arcs for that purpose. There’s a 100% straight lines font built into the Grasshopper Ngons plugin, too.

Hi Max,
I run into the same thing as my cutter only uses vector and I have to explode all the fonts I cut.

I think the best bet is to forgot about a font and just build a library of curves/alphabet and save as a file or a block(if block explode on import to get your letters).

I know it sucks labeling this way but maybe Gh can automate that process using names and human or elefront, this way you would get your nice curve directionality. Maybe if you name the letters you could tag that and perhaps create a GH script that will copy them into text/words.
I know not ideal.

I use this in Rhino 7 Windows:

It appears that curve direction is maintained.