zpl.tools
Fonts and text

^SE - Select Encoding

Selects a downloaded encoding table.

^SE chooses which of the encoding tables in the printer's memory translates field data into the code points a font addresses its glyphs by. Its argument is a file path, not a number: ^SER:JIS.DAT, never ^SE0. ^CI is the number-shaped way to select an encoding, and for new work ^CI28 with UTF-8 field data removes the need for a table.

Syntax

^SEd:o.x

Support

Not implementedparsed: none · state: none · rendered: none

Recognised as valid ZPL and not implemented, with no plan to.

Labelary does not support it either, and it depends on ~DE, which the renderer also does not support. Use ^CI28 with UTF-8 field data instead. — not pinned by a test

Labelary does not implement it either, so there is no parity reference.

Parameters

d:o.xEncoding tablerequired · text

The encoding table to select: device R:, E:, B: or A:, a name of one to eight characters, and the fixed extension .DAT.

Invalid value
not documented, and we have not measured it. The guide requires a table name, defaults the device to R: and fixes the extension at .DAT. It does not state what a printer does when the named table is absent. Labelary's reference states no default. The renderer does not implement or measure this command.
Test coverage

Behavior

The table must exist before ^SE can select it. Tables arrive on a font card, alongside a font in flash, or by download with ~DE, so ^SE on its own accomplishes nothing.

The extension is fixed at .DAT. The guide notes that tables appear as XXXXXXX.DAT entries on a printed directory label, and an asterisk marks the one in force. That mark is the only way to see from the printer what ^SE selected.

^SE and ^CI overlap. ^CI picks a built-in character set by number. For several of its values — the double-byte and multi-byte Asian encodings — a conversion table performs the translation anyway, and Shift-JIS requires JIS.DAT. ^SE is the explicit form of the same choice, for a table with no ^CI number.

Neither Labelary nor this renderer implements ^SE, and neither implements the ~DE download it depends on, so the command changes no output. Use ^CI28 instead.

Differences from the specification

Labelary against the ZPL II guide

Where Labelary — our compatibility target — behaves differently from the printed specification.

  • Labelary's table marks ^SE unsupported. — not pinned by a test

Example

Selecting a downloaded table before the fields that need it:

^XA
^SER:JIS.DAT
^FO50,50^A0N,40^FDEncoding table selected^FS
^XZ

Open in viewer