Home

Fabricator font update

March 24, 2015

First beta of the fabricator font code library and plug-in have been released, see discourse topic for download links to documentation and binaries.

In this post I shall explain how to add custom symbols to a fab font and how to invoke them inside text.

Step 1. Open the font you wish to extend. It’s also possible to create a new font with only the custom graphics and merge it with a pre-existing font manually, but in this post we’ll work with font source geometry.

The AtoB default font that ships with the fabricator font library.

The AtoB default font that ships with the fabricator font library.

Step 2. Decide where to put the new graphics. Every symbol has to be entirely within a unicode character cell. We’ll pick ‘L’ because we’re going to add logo graphics.

The upper-case L unicode cell.

The upper-case L unicode cell.

Step 3. Add a new layer to the 3dm file whose name matches the style name of the graphics you wish to add. You can pick whatever name you want, as long as it consists of only alphanumeric characters. In this case, the new style is called ‘Logo’.

A new layer represents a new style.

A new layer represents a new style.

Step 4. Draw the new graphics into the ‘L’ cell on the correct layer. The original L geometry has been hidden, but is still part of the ‘Default’ layer. I’ve shamelessly ripped off the old Buro Happold logo, just because I like it, it’s easy to draw and it consists of only lines. Note that only Lines, Circles and Arcs can be used as symbol geometry.

New geometry inside the 'L' cell, on the 'Logo' layer.

New geometry inside the ‘L’ cell, on the ‘Logo’ layer.

Step 5. Publish the new extended font. The style name ‘Logo’ now appears in the publishing messages.

Publishing messages.

Publishing messages.

Step 6. Once you have an extended font, you’ll have to specifically import it during the FontMakeText command, otherwise the default font is used. You’ll also have to add a mapping that converts all occurrences of the string “<logo>” with the string “L” in the Logo style.

Custom symbols in an extended font can be accessed with a custom mapping.

Custom symbols in an extended font can be accessed with a custom mapping.