Printing Chinese Characters on Zebra Labels in NP Retail
NP Retail supports printing Chinese characters (Simplified Chinese, Hanzi, CJK) on labels sent to Zebra ZPL label printers.
NP Retail supports printing Chinese characters (Simplified Chinese, Hanzi, CJK) on labels sent to Zebra ZPL label printers. Support was added in NP Retail in September 2025 and is part of the core product - no PTE or partner extension is required.
Support works by selecting a SimSun font in the print template layout. SimSun is a Chinese TrueType font that must be resident in the printer’s own memory. NP Retail does not upload the font; it only references it in the generated ZPL.
Note: This applies to label printing via Zebra ZPL only. It does not apply to receipt printers (for example Epson TM series), which are a separate device integration and were not changed.
Requirements
- A Zebra printer that supports downloadable TrueType fonts (the ZPL
^A@command). This is not limited to a single printer model - any Zebra ZPL printer with font support and enough flash memory will work. Customers do not need to buy one specific model. - The SimSun font present in printer flash memory as
E:SIM000.TTF.- Printers purchased in Asia usually ship with SimSun already installed.
- Printers purchased in Europe usually do not have it. The font must be installed manually.
- The print template’s device setting
ENCODINGset toutf-8.
Step 1 - Install the SimSun font on the printer (only if missing)
Use Zebra’s ZebraDesigner Fonts and Graphics Downloader (also distributed as the Zebra Font Downloader) to send the SimSun TrueType font to the printer.
- Target memory location:
E:(flash memory - so the font survives a power cycle). - Target file name:
SIM000.TTF.
The file name and location are important. NP Retail hardcodes the reference E:SIM000.TTF in the ZPL it generates. If the font is stored under a different name or in RAM (R:) instead of flash (E:), the printer will not find it and will print blanks, boxes, or fall back to a default font.
Note: Because the reference is a fixed file name rather than a fixed font, any TrueType font uploaded as
E:SIM000.TTFwill be used. This can be used to print Traditional Chinese or another CJK font (for example SimHei) by uploading that font file under the nameSIM000.TTF. NP Retail itself only ships the SimSun-named presets.
Step 2 - Set the print template encoding to UTF-8
Chinese characters cannot be transmitted in the Windows-1252 code page. The template must be switched to UTF-8.
- Open Template List and select the label template.
- On the Template Card, choose Edit Device Settings.
- Add or edit the setting named
ENCODINGand set its value toutf-8.
NP Retail then sends ^CI28 (UTF-8 international character set) at the start of the label. With the default Windows-1252 value it sends ^CI27 instead, and Chinese text will print as question marks or garbage regardless of which font is selected.
Step 3 - Select a SimSun font
The font can be set in two places: on the template layout (no code), or from AL code when a label is built programmatically. Both take the same font string.
Option A - on the template layout
- On the Template Card, choose Edit Layout to open the Template Matrix Designer.
- On the layout line that carries the Chinese text, open the lookup on the Font field.
- Three SimSun presets are available:
SIMSUN 15,15- smallSIMSUN 25,25- mediumSIMSUN 45,45- large
Option B - from AL code
When a label is built programmatically rather than from a stored layout, set the font with SetFont on the public codeunit NPR RP Matrix Print before adding the fields that should use it:
SetFont applies to every field added after it, so switch back to a resident font (for example SetFont('Font A')) for lines that print only Latin text. The font string is not restricted to the three presets - any valid SIMSUN <height>,<width> value is accepted.
Note: A programmatic print job does not read the template’s device settings, so the UTF-8 encoding from Step 2 must be supplied on the call itself. Add a row named
ENCODINGwith valueutf-8to theNPR Printer Device Settingsrecord passed toProcessBuffer. If it is missing, the driver falls back to Windows-1252 without raising an error, and the Chinese characters are lost even though the font is correct.
Size, alignment and rotation
The two numbers in the font string are height,width in dots. They are not fixed sizes - any value can be used, for example SIMSUN 100,100 for very large characters or SIMSUN 40,25 for tall narrow ones. The format is always SIMSUN <height>,<width>.
Alignment (left, centre, right) and Rotation (0, 90, 180, 270 degrees) both work with the SimSun font.
Only fields whose font is a SIMSUN ... value use the Chinese font. All other fields keep whatever resident Zebra font they had, so Latin-only lines should not be switched to SimSun.
