Information in this document is subject to change without notice. The software described in this document
is furnished under a license agreement or nondisclosure agreement. The software may be used or copied
only in accordance with the terms of those agreements.
For further information regarding legal and proprietary statements, please go to:
SOFTWARE:zebra.com/linkoslegal
COPYRIGHTS:zebra.com/copyright
WARRANTY:zebra.com/warranty
END USER LICENSE AGREEMENT: zebra.com/eula
Terms of Use
Proprietary Statement
This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries
(“Zebra Technologies”). It is intended solely for the information and use of parties operating and
maintaining the equipment described herein. Such proprietary information may not be used, reproduced,
or disclosed to any other parties for any other purpose without the express, written permission of Zebra
Technologies.
Product Improvements
Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are
subject to change without notice.
Liability Disclaimer
Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are
correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and
disclaims liability resulting therefrom.
Limitation of Liability
In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the
accompanying product (including hardware and software) be liable for any damages whatsoever
(including, without limitation, consequential damages including loss of business profits, business
interruption, or loss of business information) arising out of the use of, the results of use of, or inability to
use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some
jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above
limitation or exclusion may not apply to you.
Publication Date
September 15, 2021
2
Contents
CPCL Fonts for Mobile Printers ........................................................................................................ 4
Built in CPCL Fonts......................................................................................................... 5
Font Encodings ................................................................................................................ 6
Font Encodings – Single Byte (ASCII Encoding)...................................................... 6
USA or Dynamic – COUNTRY USA................................................................... 6
United Kingdom – COUNTRY UK...................................................................... 6
German – COUNTRY GERMANY ..................................................................... 7
French – COUNTRY FRANCE........................................................................... 7
Italian – COUNTRY ITALY................................................................................. 7
Swedish – COUNTRY SWEDEN ....................................................................... 8
Spanish – COUNTRY SPANISH........................................................................ 8
Norwegian – COUNTRY NORWAY ................................................................... 8
LATIN 9 Encoding – COUNTRY LATIN9 ........................................................... 9
Code Page 850 Encoding – COUNTRY CP850................................................. 9
Code Page 874 Encoding – COUNTRY CP874................................................. 9
Font Encodings – Multi-byte.......................................................................................... 12
CHINA, JAPAN and KOREA Encodings ................................................................ 12
Encoding Types for Common Fonts....................................................................... 14
Single-Byte Font Character List ..................................................................................... 15
3
CPCL Fonts for
Mobile Printers
This document focuses on the fonts available and/or pre-installed on the ZQ200 series mobile printers. For
ESC/POS use of FontA/B/C, please refer to the ESC/POS ZQ210/ZQ220 Code Page Manual (part number
P1124780-01EN).
In CPCL there are a number of different supported character encodings. The active encoding in CPCL is
selected by the CHAR-SET, COUNTRY or ENCODING command.
CHAR-SET [Name]<CR><LF>
COUNTRY [Name]<CR><LF>
Command Name
Short Form Aliases
Valid Session Types
Linked SGD
This command is used to set the encoding for CPF and CSF fonts in CPCL. For more information about
the various internal supported options, see the next section.
Each country code is given a name which is used with the
activate it.
Available encodings are divided into two categories, single byte and multi-byte. Multi-byte fonts are
covered in the next section.
CHAR-SET, COUNTRY, ENCODING
None
Label and Utilities Sessions
None
CHAR-SET, COUNTRY or ENCODING command to
4
Built in CPCL Fonts
There are 7 built-in bitmap fonts in CPCL, with numbers from 0 to 7.
NOTE: There is no font 3.
The following table shows the font numbers as they would be used in the printer, followed by the size
value, the width and height multipliers, and finally the character height and character width.
The table shows font 4 with both A and B options. This font is only referred to as font 4 but has two
glyph sets.
Character
Height
Character
Width
5
CPCL Fonts for Mobile Printers
Font Encodings
Font Encodings – Single Byte (ASCII Encoding)
In the single-byte encodings, there are tables which relocate characters in the font to make up the
encoding. For these encodings, the character pages in the font must be defined using the following
character placement. This encoding is Code Page 1252, with a couple of modifications, which are
highlighted.
Not all characters are defined in all fonts, including the built in fonts.
The following encodings use this table by moving characters.
USA or Dynamic – COUNTRY USA
The USA country code has no replacements and all characters pass through directly as defined in the font
file. This can be used to replicate encodings which CPCL doesn’t support by making a custom font.
The font layout described in Font Encodings – Single Byte (ASCII Encoding) on page 6 does not contain all
the necessary characters to fill out Code Page 850, in particular the line drawing and blocks.
As a result, any characters which are not available are replaced with the space character. The highlighted
characters in the following code page 850 chart are not available in CPCL using the standard mappings.
NOTE: Please refer to the Font Encodings – Multi-byte on page 12 example to print these highlighted
characters.
CP874, when used with CPF fonts acts transparently and characters simply pass though unmodified.
9
CPCL Fonts for Mobile Printers
How To Use For Single-Byte Encoding
The following fonts can be used for single-byte encoding. The table lists commonly encountered CPF fonts
which may already be installed in your printer depending on the product configuration.
English/Latin/CyrillicCPCL Encoding Type
English/Latin (CP1252)CPCL Built in FontbitmapCP1252 single-byte encoding can
English/Latin (CP1252)SWIS721.CSFScalable
New Sans MT,
NSMTTC16.CPF16x16 bitmap
Traditional Chinese
Cyrillic (CP1251)DEJAVU12.CPF12X12 bitmapThese fonts only support the Cyrillic
Cyrillic (CP1251)DEJAVU14.CPF14X14 bitmap
Cyrillic (CP1251)DEJAVU16.CPF16X16 bitmap
Cyrillic (CP1251)DEJAVU20.CPF20X20 bitmap
support CP850, CP874, FRANCE,
GERMANY
ITALY, LATIN9, NORWAY, SPAIN,
SWEDEN, UK, USA
NOTE: SWIS721.CSF includes
Latin, Cyrillic, Hebrew, Arabic
glyphs. But it ONLY prints
CP1252 glyphs due to single-byte
encoding.
code page. No encoding command is
needed.
Encodings available for built-in CPCL resident fonts:
NameEncoding Type
CP850 USA with substitutions, single byte. Box and graphics chars
not supported.
CP874 Font defines encoding for CPF.
FRANCE USA with 7-bit substitutions, single byte.
GERMANY USA with 7-bit substitutions, single byte.
ITALY USA with 7-bit substitutions, single byte.
LATIN9 USA with substitutions, single byte.
NORWAY USA with 7-bit substitutions, single byte.
SPAIN USA with 7-bit substitutions, single byte.
SWEDEN USA with 7-bit substitutions, single byte.
UK USA with 7-bit substitutions, single byte.
USA Font defines encoding, single byte.
NOTE: All lines in the following example label files are terminated with a carriage return and line feed.
Example: Print the CSF font.
! 0 200 200 100 1
ST SWIS721.CSF 06 07 25 25 beleg sorgf
FORM
PRINT
10
CPCL Fonts for Mobile Printers
Example: Print the CPF font.
! 0 200 200 100 1
TEXT 4 0 25 25 beleg sorgf
FORM
PRINT
11
CPCL Fonts for Mobile Printers
Font Encodings – Multi-byte
In addition to the single byte encodings, there are also multi-byte encodings in CPCL.
CHINA, JAPAN and KOREA Encodings
These encodings all specify data using GBK encodings.
When low-ASCII characters are encountered, they are referenced as a character from page 0 (size 0) of
the font. When a high-ASCII character is encountered, the high bit is stripped off of the character and that
value is saved as the first character of a multi-byte sequence. When a subsequent high-ASCII character is
encountered, the high bit is also stripped off and saved as the second byte of the sequence. The first
character is used as the size (character page) for the font and the second character is used as the
character index into that page.
Some known issues with these encodings:
•If a low-ASCII character is encountered after a high-ASCII character, the low-ASCII character is printed
and the high-ASCII first byte is still saved as the first character of a multi-byte sequence. When a
subsequent high-ASCII character is received it will be treated as the second character of the sequence
and printed.
•These encodings were designed around an older GBK encoding standard and do not support second
byte characters < 0xA1 even though code page 936 as characters defined in these regions.
Example sequences:
•Only low-ASCII characters – The byte sequence 0x40, 0x41, 0x42 will print the characters 0x40, 0x41,
and 0x42 from size (character page) 0x00.
•High-ASCII sequence – The byte sequence 0xCA, 0xFE will print the character 0x7E from size
(character page) 0x4A.
•Interleaved low-ASCII character – The byte sequence 0xCA, 0x40, 0xFE will print the character 0x40
from size 0x00 followed by character 0x7E from size 0x4A.
BIG5 Encoding
The BIG5 encoding is similar to the previous set of encodings in that it prints low-ASCII characters from
font size (page) 0 and interprets any high-ASCII character as an entry into a two-byte sequence. The first
character has the high bit stripped and is saved for use as the size (character page) to use for the
character. The next character is used as the character index into the page. Unlike the previous
encodings, the high bit is not stripped and there are no issues with interleaved low-ASCII characters as
they are valid second characters in the sequence.
Example sequences:
•Only low-ASCII characters – The byte sequence 0x40, 0x41, 0x42 will print the characters 0x40, 0x41,
and 0x42 from size (character page) 0x00.
•High-ASCII sequence – The byte sequence 0xCA, 0xFE will print the character 0xFE from size
(character page) 0x4A.
•High-ASCII -> low-ASCII character – The byte sequence 0xCA, 0x40 will print the character 0x40 from
size 0x4A.
12
CPCL Fonts for Mobile Printers
JAPAN-S (Shift-JIS) Encoding
The JAPAN-S country code is similar to BIG5 except that the high-ASCII characters 0xA0 through 0xDF,
the half-width Kana characters, are not entry points into a multi-byte sequence but are printed from size
(character page) 0.
THAI Encoding
The THAI country code has 2 types of characters, single byte and double byte characters. The single byte
characters are those that fall into these ranges inclusive, 0x10 – 0x20, 0x23 – 0x7E. These characters are
referenced directly from size (character page) 0.
All other characters are the first byte of a 2 byte sequence. This encoding differs from the other encodings
as they do not strip the high bit off the first or the second byte.
VIETNAM Encoding
The VIETNAM encoding decodes a subset of UTF-8 characters, those used for the phonetic Vietnamese
alphabet, and converts them into 2 byte sequences that are used to index into the CPF font files.
Single byte UTF-8 sequences (U+0000 through U+007F) are directly printed as that character from size
(character page) 0.
UTF-8
GB18030
Two-byte sequences (U+0080 through U+07FF) follow the binary form 110ABCDE 10FGHIJK where the
letters can be either 0 or 1. These are then transformed into 2 bytes 00000ABC which is used as the size
(character page) for the font and DEFGHIJK which is the character in that page.
Three-byte sequences (U+0800 through U+FFFF) follow the binary form 1110ABCD 10EFGHIJ.
10KLMNOP. These are transformed into 2 bytes 0BCDEFGH which is used as the size (character page)
and IJKLMNOP which is used as the character index into that page.
UTF-8 is the Unicode encoding that assigns each character code point to a sequence of one to four bytes.
GB18030 is a standard required by the People’s Republic of China for operating systems of non-handheld
computers.
The available multi-byte encodings are as follows:
NameEncoding Type
BIG5 BIG5 Encoding.
CHINA GBK Encoding.
JAPAN GBK Encoding.
JAPAN-S GBK Encoding.
KOREA GBK Encoding.
THAI Thai multi-byte encoding. Superseded by CP874.
VIETNAM Font defines ECPF encoding.
UTF-8
GB18030
13
CPCL Fonts for Mobile Printers
Encoding Types for Common Fonts
The following table lists the correct country to use for commonly encountered CPF fonts which may
already be installed in your printer depending on the product configuration.
Simplified Chinese
Sim Sun, Simplified ChineseGBUNSG16.CPF16x16 bitmapUTF-8, GB18030, BIG5
M Sung, Simplified ChineseGBUNSG24.CPF24x24 bitmap
Traditional Chinese
M Kai, Traditional ChineseCTUNMK24.CPF24x24 bitmapUTF-8, BIG5, GB18030
New Sans MT, Traditional ChineseNSMTTC16.CPF16x16 bitmap
MingLiu, Traditional ChineseMINGLIU.CPF24x24 bitmap
Vietnamese
Utah, VietnameseMUTOS16.CPF16x16 bitmapUTF-8, VIETNAM
Others
Code Page: 437, Latin 9, Latin 1,
Latin 2, Cyrillic 2 and Cyrillic
Example: Print UTF-8 string via Zebra Setup Utility (ZSU)
1. Prepare a test script and save it as file in UTF-8 format.
! 0 200 200 300 1
COUNTRY UTF-8
TEXT NSMTTC16.CPF 0 25 25 Привет мир
FORM
PRINT
FONTA/FONTB/FO
NTC (Generate
from NotoSans)
None-Monosp
ace font
UTF-8
CPCL
Encoding Type
2. Open ZSU Open Communication With Printer and load the file you created in step 1.
14
CPCL Fonts for Mobile Printers
Click Send To Printer.
3.
Here is an example of the printout.
Single-Byte Font Character List
15
CPCL Fonts for Mobile Printers
16
CPCL Fonts for Mobile Printers
17
zebra.com
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.