ZPLToolkit

^CW

Font IdentifierPreview: not drawn

Binds a font stored on the printer to a single letter, so labels can select it the way they select a built-in font.

Syntax

^CWa,d:o.x

Parameters

ParameterDescription and accepted valuesIf omitted
aThe letter or digit the font will answer to in ^A.A to Z, or 0 to 9 — the letter this font will answer toNone — the parameter is required
d:o.xDrive, name and extension of the font file to bind to it.Drive, name and extension of the font to bind, e.g. E:TT0003M_.FNTNone — the parameter is required

How it works

^CW assigns a font file on the printer's storage to one of the letters A to Z or digits 0 to 9. After it, ^AZ means that font, exactly as ^A0 means the scalable built-in one.

That indirection is the point. A label that names the letter rather than the file keeps working when the font is replaced, and a fleet can swap a corporate typeface for a new version by re-issuing one ^CW instead of every template.

Reassigning a letter that already means something is allowed, and is how a downloaded TrueType font takes over a built-in slot. It is also how a label suddenly prints in the wrong typeface on one printer — the binding is printer state, not part of the label.

Example

ZPL
^XA
^CWZ,E:TT0003M_.FNT
^FO50,50^AZN,40,40^FDBound font^FS
^XZ

Rendering…

Binding a stored TrueType font to the letter Z, then selecting it.
Open in the viewer

How the preview on this site handles it

Not drawn. The preview has only the fonts in your browser, so it cannot load a font from a printer's storage — a field using a bound letter previews in the renderer's stand-in font at the size the field asks for. The layout is right; the typeface is not.

Common mistakes

  • Binding a font that is not on the printer. The field falls back silently, and the label prints in the wrong typeface.
  • Assuming the binding travels with the label. It is printer state — a template that depends on it breaks on a printer that never received the ^CW.
  • Overwriting a built-in slot by accident. Reassigning a letter changes every existing label that uses it.

See also