Text & Fonts
Fonts in ZPL - resident, downloaded and image text
ZPL has three font strategies. Which one to use depends on the font, the language
Fonts in ZPL - resident, downloaded and image text
ZPL has three font strategies. Which one to use depends on the font, the language
(Unicode?) and the printer model.
1. Resident fonts (fast, no upload)
^XA
^FO50,50^A0N,30,30^FDHello^FS
^XZ
^A0N,30,30- font A (standard), normal orientation, height 30 dots, width 30 dots- Resident fonts:
A(standard),B(block),C–F(OCR),G–H(smooth),
0 (default), GS (scalable).
Height in dots → pt: pt = dots × 72 / DPI. At 203 dpi: 30 dots ≈ 10.6 pt.
2. Downloaded fonts (memory fonts, ^A@)
Upload a TrueType font once (~DYE:ARIAL.TTF), then use it:
^XA
^A@N,40,40,E:ARIAL.TTF^FDHello^FS
^XZ
^A@a,b,c,d - orientation, height dots, width dots, font path on the printer.
3. Image text (TrueType rendered in the backend)
The zplCloud designer renders the text with a TrueType font in the backend and
embeds it as a monochrome graphic (^GF). This guarantees identical output on every
printer and supports any font/Unicode - at the cost of larger ZPL.
^XA
^FO50,50^GFA,1234,1234,77,...^FS
^XZ
Tips
- Unicode (Umlauts, Cyrillic): resident fonts only cover Latin-1. Use a downloaded
Unicode TTF (E:ARIAL_UNICODE.TTF) or image text.
- Native mode is much faster on long print runs (no graphic transfer).
- Font size in the designer:
fontUnit: 'pt'is converted to dots via
dots = pt × DPI / 72.