Have you ever wanted a magic font label that installs your custom fonts just like the one included with Rock?

First I'd like to thank Lee Peterson and Luke Potter for working on this with me 😄.

This first part of making a custom font is also covered in the documentation here

Go to Icomoon.io

Select the icons you would like to use

Screenshot_2024-02-21_at_11.03.32 AM.png

Map them to a character

Screenshot_2024-02-21_at_11.05.30 AM.png

Download your fancy new font.

(Make sure to take note of the file size of the TTF file, this one is 5332 bytes)


Screenshot_2024-02-21_at_11.09.12 AM.png


Time to make the label in Rock:

In Rock > Admin Tools > Check-In > Check-In Labels, create a new label and name it something cool and fun, like "The Awesome Automatic Font Installing Super Label" or something.

Set the Mime Type to text/plain, and save your label.

Open your label back up and go to "Edit Label Contents"

Here is our ZPL copied almost entirely from the "Install Icon Font on Printer" included with Rock.

^FX This label installs the CHURCHNAME icon font, prints a directory, and 
prints a sample label with the A, B, C, E, F, G, H, K, M, O, P, R, S, T, and X icons.
Add this label to a check-in area, then check a person in
on every kiosk. Make sure you remove it before live check-in. ^FS

~DUE:ICO000,*YOUR FILE SIZE*,*YOUR GIBBERISH*

^PW457
^XA^WDE:^XZ
^XA
^CWZ,ICO000.FNT
^FT19,220^A0N,38,38^FDIcomoon^FS
^FT20,280^A0,30,30^FDA B C E F G H K M O P R S T X^FS
^FT20,340^AZ,30,30^FDA B C E F G H K M O^FS
^FT20,400^AZ,30,30^FDP R S T X^FS
^XZ

You need to replace *Your File Size* with the size of your font file we took note of earlier (5332).

To get *Your Gibberish*

Go to Tomeko.net and choose their File -> HEX Converter

Uncheck the "Use 0x and comma as separator (C-like)" and "Insert newlines after each 16B" options.

Choose your TTF font file.

And you are presented with this, oh so beautiful, wall of gibberish 😄.

Screenshot_2024-02-21_at_2.33.02 PM.png


Click "Copy output to clipboard" and paste it to replace the *Your Gibberish* in the Label.

You should end up with something that looks something like this:

Screenshot_2024-02-21_at_2.48.36 PM.png

Then save your label and print it to the printer you want to install the font on.


You should end up with labels of the directory listing and a legend of your fonts and their associated characters. You can see the ICO000 Font listed as Z in the directory.

IMG_1838.jpg

*Tip* instead of adding the label to a check-in occurrence, from the edit label contents area, you can "Test Print to Device" and choose the printer you need to install the font on

Screenshot_2024-02-21_at_2.17.32 PM.png

BONUS

Here is our ZPL for an Icon Map or Legend we give our ministries as they plan and design their labels.

It should print this:

IMG_1839.jpg

CT~~CD,~CC^~CT~
^XA~TA000~JSN^LT0^MNW^MTD^PON^PMN^LH0,0^JMA^PR6,6~SD24^LRN^CI28^XZ
^XA
^MMC
^PW457
^LL0406
^LS0
^CWZ,E:ICO000.FNT
^CWR,E:ROC000.FNT
^FT20,60^A0N,40,40^FDRock^FS
^FT20,100^A0,40,40^FDA B F L^FS
^FT20,160^AR,40,40^FDA B F L^FS
^FT19,220^A0N,40,40^FDIcomoon^FS
^FT20,280^A0,35,35^FDA B C E F G H K M O P R S T X^FS
^FT20,340^AZ,40,40^FDA B C E F G H K^FS
^FT20,400^AZ,40,40^FDM O P R S T X^FS
^PQ1,0,1,Y^XZ
I feel like this code also shows how to call and reference fonts:

You can See I called the rock font using ^CWR,E:ROC000.FNT and then in the text I told the ZPL to print using that font with ^FT20,160^AR,40,40^FDA B F L^FS

when you look at the icomoon its the letter Z ^CWZ,E:ICO000.FNT | ^FT20,400^AZ,40,40^FDM O P R S T X^FS

and if you just want plain English its 0 ^FT19,220^A0N,40,40^FDIcomoon^FS


This was tested on Zebra GX420d and ZD421, if it works on other printers please leave a comment 🙂