^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.xSupport
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 · textThe 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
^SEunsupported. — 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
Related commands
^CIChange International Font / EncodingSelects the character encoding of the field data.~DEDownload Encoding TableDownloads a character encoding table.^FHField Hexadecimal IndicatorLets the following `^FD` carry bytes as hexadecimal escapes.