^A 缩放/点阵字体
^A(可缩放/点阵字体)命令用于内置的True Type字体。可缩放字体(也可以认为是平滑矢量字体)能够以点为单位来对横向、纵向进行扩展。点阵字体由点阵象素组成,通常高度高度大于宽度。
内置的的缩放字体(A0=CG Triumvirate Bold Condensed)默认为不旋转,15点高,12点宽。打印机将从^A命令得到字体的旋转方向、宽度、高度等参数。
^A命令的格式:
^Af,o,h,w
^A |
= | 缩放/点阵字体 | |
f |
= | 字体名 | |
默认值:0(CG Triumvirate Bold Condensed) | |||
其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必须用^CW来定义为A-Z,0-9) | |||
0 |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 字符高度 | |
曲线字体: | |||
默认值: | 15点或上一次^CF的值。 | ||
可接受的值: | 10-1500点 | ||
点阵字体: | |||
默认值: | 指定点阵字体的标准高度 | ||
其他值: | 标准高度高度的整数倍,2-10。 | ||
w |
= | 字符宽度 | |
曲线字体: | |||
默认值: | 12点或上一次^CV的值,也可以显示为0 | ||
可接受的值: | 10-1500点 | ||
点阵字体: | |||
默认值: | 指定点阵字体的标准宽度 | ||
其他值: | 标准高度高度的整数倍,2-10。 |
^A@ 使用字体名来调用字体
^A@(使用字体名来调用字体)命令使用字体的全名,来调用字体
示例: |
^XAA@N,25,25,B:CYRILLIC.FNT^FO100,20^FS |
第一行命令将查找字体卡/后备电池RAM(B:)中的“Cyrillic.FNT”字体,当字体找到后,命令将继续定义字符的方向,大小,然后在标签上打印字段数据“This is a test.”
一旦^A@定义了“Cyrillic.FNT”,它的作用将一直保持到下一个^A@命令定义一个新字体名时。
在本例中第二个^A@命令中,字符的大小增加了,设置了新的旋转方向,打印机用同样的字体打印出字段数据“This string use the B:Cyrillic.FNT.”
^A@o,h,w,n
^A@ |
= | 缩放/点阵字体 | |
f |
= | 使用字体名来调用字体 | |
默认值:0(CG Triumvirate Bold Condensed) | |||
其他值:A-Z,0-9(打印机的任何字体,包括下载字体,EPROM中储存的,当然这些字体必须用^CW来字定义为A-Z,0-9) | |||
o |
= | 字体方向 | |
默认值:上一个^FW值,如省略则为N。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 字符高度(以点为单位) | |
缩放字体:整个字符高度的点数,放大倍数不是必须的,因为字符是可缩放的。 点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本高度,得到最接近的放大倍数。 |
|||
w |
= | 字符宽度(以点为单位) | |
缩放字体:整个字符宽度的点数,放大倍数不是必须的,因为字符是可缩放的。 点阵字体:数值将四舍五入为字体基本高度的整数倍,然后再除以基本宽度,得到最接近的放大倍数。 |
|||
n | = | 字体名(按照ZPL命名惯例) | |
如果没有指定设备号的字母,默认的设备是RAM,或R:。如果不指定字体名,上一个^A@指定的字体仍将发生作用。 |
^B1 Code 11条码
^B1(Code 11)也就是USD-8码。在Code 11条码中,每个字符由三个条的两个空组成,字符集为10个数字和破折号。
打印比例调整:2.0到3.0
^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)
^B1命令的格式:
^B1o,e,h,f,g
^B1 |
= | Code 11条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
e | = | 校验位 | |
默认值:N(No) = 2位校验位 | |||
其他值: Y(Yes) = 1位校验位 | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
^B2 交叉二五码
^B2(交叉二五码)是高密度的、自校验的、连续的、数字的符号。它的每个字符由五个元素组成:五个条或五个空。这五个元素中,两个是宽的三个是窄的。条码由条和空交叉组成。
条码中,每个字符由三个条的两个空组成,字符集为10个数字和破折号。
打印比例调整:2.0到3.0
^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)
由定义可知,交叉二五码的位数必须是偶数。如果是奇数,则打印机自动在接收到的数据前加上0。
交叉二五码使用模10校验法。 字符集:数字0-10
^B2命令的格式:
^B2o,h,f,g,e
^B2 |
= | 交叉二五码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
|||
e | = | 校验位 | |
默认值:N(No) = 2位校验位 | |||
其他值: Y(Yes) = 1位校验位 |
^B3 Code 39码
^B3(Code 39码)是很多行业的标准,为美国国防部(DOD)所采用,是美国国家标准协会(ANSI)MH10.8-1983的三种识别符号之一。也叫作USD-3码或39码。
39码的每个字符由九个元素组成:五个条,四个空和字符间隙,这九个元素中,三个是宽的,六个是窄的。
打印比例调整:2.0到3.0
^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)
字符集为10个数字和破折号。
Code 39码可以兼容128位ASCII字符集,参看表A和表B
字符集:数字0-10,A-Z,space,-,。,$,/,+,%
^B3命令的格式:
^B3o,e,h,f,g
^B3 |
= | Code 39条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
e | = | 模43校验位 | |
默认值:N(No) = 不打印校验位 | |||
其他值: Y(Yes) = 打印校验位 | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
Code 39码的起始位和终止位是自动生成的。
注意:模43校验位计算方法可参考附录D
^B4 Code 49码
^B4(Code 49码)是一种多行、连续、可变长的兼容128位全ASCII字符集的条码。它较完美的实现了在较小的空间存储了大量的数据。
128码一般2到8层,每层由左空白区、层起始符、4个符号字符、层终止符及右空白区组成。层与层之间由一个模块的层分隔条分隔。Code 49码的每个符号字符可表示2个基本字符集中的字符。各层能以任意次序扫描。
可以参考 Uniform Symbology Specification USS-9 可得到更多的信息。
打印比例是固定的。
^B4命令的格式:
^B4o,h,f,m
^B4 |
= | Code 49条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 每层高度 | |
定义: 默认值:由^BY值确认。 其他值:1到标签高度 注意:1并不是可取的数值 |
|||
f |
= | 打印注释行 | |
默认值: 其他值: |
N = 不打印(No) A = 打印在条码的上方(Above) B = 打印在条码的下方(Below) |
||
注意:当条码超过2层,注释行将越过右边缘。 | |||
m | = | 开始模式 | |
默认值: | A =自动模式。打印机分析数据字段并决定起始模式。 | ||
其他值: | 0 = 规范字母数字模式 1 = 多种可读字母数字 2 = 规则数字模式 3 = 数字字母组 4 = 规则数字字母变化1 5 = 规则数字字母变化2 |
Code 49字段数据字符集
当采用起始模式为0到5时,^FD送往打印机的数据是基于Code49码的内部字符集的。它们在下图的第一列。字符:;<=>和?是Code 49码的控制字符。
使用模式0-5时,有效的字段数据都将被支持。变化字符由一个转换字符和一个非转换字符组成一个两个字符的序列。例如,打印小写的字符a,先送一个“SHIFT2”,接着再送“A”(>A),如果打印注释行,注释行上将出现小写的a。
注意:Code49码只使用大写字母。
如果检测到一个无效的字串,Code49格式化器将停止解释,并打印一个符号来代替这个无效的字串,下面就是一些无效的字串的例子。
用除了0到9或空格的任意字符结束数字模式
用了第四种模式但数据字段起始字符并不是SHIFT 1 字符集。
用了第五种模式但数据字段起始字符并不是SHIFT 2 字符集。
送了一个SHIFT 1字符但下一个字符不在SHIFT 1 字符集中。
送了一个SHIFT 2字符但下一个字符不在SHIFT 2 字符集中。
送了两个SHIFT 1 或SHIFT 2 控制字符。
使用Code 49 自动模式的优势
使用自动模式(默认值)可完全不用人工选择起始模式和人工控制字符变化。自动模式分接收的ASCII字符串,选择适当的模式,处理字符变化,以最大密度压缩数据。
注意:当大于等于5位数字时,只能选择数字模式,数字模式在数字字符串长度小于8时在与字母方式相比在条码所占空间并没有多大优势。
^B7 PDF417条码
^B7(PDF417)条码命令是一个二维、多层、连续、堆栈的符号码。这种条码可以在每个标签上打印超过1000个字节。它完美地适用于那些需要在读条码时读入大量信息的应用。
代码由3到90个堆栈层组成,每一层由开始、停止和符号字符构成的码词组成,每个码词包含四个条和四个空。每层最少必须有3个码词。
打印比例固定。
下面是一个PDF417条码的示例,这个示例显示一个如下所示的条码,^FD 和^FS 间的字符为条码右边的内容。
^B7命令的格式:
^B7o,h,s,c,r,t
^B7 |
= | PDF417条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 每层高度 | |
默认值:由^BY值确认。 其他值:1到标签高度 注意:1并不是可取的数值 |
|||
s |
= | 这个数字表示错误检查和纠错级别,默认值是只检测错误(不纠错),提高安全级别将增加纠错能力,当然也增加了符号的大小) 默认值: 0 = 只检测错误。 其他值: 1到8。 纠错能力从小到大。 |
|
注意:当条码超过2层,注释行将越过右边缘。 | |||
c | = | 编码的数据的列数 用户可以指定每列的codeword来控制符号的宽度。 默认值:1:2 层/列 其他值:1到30 |
|
r | = | 编码的层数 | |
用户可以指定层数来控制符号的高度。 默认值:1:2 层/列 其他值:3-90 示例:如果没有输入层数和列数,有72个码字,共6列12层(随着码字的不同,比例并不是一定的。) |
|||
t | = | 截去层指示和停止区 | |
默认值:N = 不截去(No),打印层指示和终止符 其他值:Y = 截去(No),不打印层指示和终止符 |
注意:
- 如果层和列都是用户自定义的,它们的乘积必须小于928。
- 如果 层 × 列 >928将什么都不打印。
- 如果 码字总数 > 层 × 列 将不打印。
- 条码不能连续变化。
- 截短功能用在标签不会损坏的场合,右连的层指示和终止符可以减少一个单独的模块。截去与不截去的条码的不同请参见 下图。
使用PDF417时特殊的^BY命令
使用PDF417时^Byw,r,h的 参数意义如下:
w |
= |
模块宽度(默认值=2),上限为10。 |
r |
= |
比例( 默认值=3)固定。在PDF417中没作用。 |
h |
= |
条码高度。整个条码的高度。如果PDF417在^B7中没有指定高度时,将使用这个值作为整个条码的高度。 |
使用PDF417时特殊的^FD字符集
除了对打印机有特殊意义的那些字符外,所有ASCII字符都可送往打印机。在所有^FD语句中CR/LF已成为合法字符。用下列办法替换。
“\&” |
= |
回车/换行 |
“\(*)” |
= |
软连字号(单词断开时使用),如果连字符放在一行的最后,它会被打印出来,如果它不是在在一行的最后,将会被忽略。(在^B7中忽略) |
“\\” |
= |
字符\,(注意必须选择^CI13 ,使它能打印 \) |
(*) |
= |
任意字母/数字 |
^B8 EAN-8 条码
^B8(EAN-8)条码命令是EAN-13的缩短版,参见EAN-13可以得到更多的关于EAN的信息。EAN是国际物品编码协会(European Article Number Association)的字母的首位。
每个EAN-8的条码符号由四个元素组成:两个条,两个空。
打印比例固定。
^FD(Field data,字段数据)限制:必须7位,ZPLII自动在大于7位时截去超过的部分,在小于7位于在前面加上0。
注意:JAN-8(日本物品编码)系统是EAN-8中的特殊应用。在这种情况下,送给打印机的前两位数据永远是49。
EAN-8字符集:0到9。
^B8命令的格式:
^B8o,h,f,g
^B8 |
= | EAN-8条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
^B9 UPC-E 条码
^B9(UPC-E)条码命令是UPC系统的一种变化用于数字系统0,UPC是美国统一代码(Universal Product Code)的缩写。它是UPC-A带有压缩0的缩短版,这样打印空间就可以减少。通常用于印制小标签。
注意:使用带压缩0的UPC码,用户必须输入满10位的字符串,ZPLII将计算并打印出缩短版UPC。
每个UPC-E的条码符号由四个元素组成:两个条,两个空。
打印比例固定。
^FD(Field data,字段数据)限制:必须10位字符,5位制造商代码,5位产品代码。
UPC-9字符集:0到9。
如想进一步了解,可参阅UPC码规范。
^B9命令的格式:
^B9o,h,f,g,e
参数意义:
^B9 = UPC-E条码
^B9 |
= | UPC-E条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
|||
e | = | 打印校验位 | |
默认值:Y = 打印(Yes) 其他值:N = 不打印(No) |
四种规则适合产品编码:
- 如果厂商编码的最后编码为000,100,或200,有效的产品编码为00000-00999。
- 如果厂商编码的最后三位为300,400,500,600,700,800或900,有效的产品编码为00000-00099。
- 如果厂商编码的最后两位为10,20,30,40,50,60,70,80或90,有效的产品编码为00000-00009。
- 如果厂商编码的最后一位不为0,有效的产品编码为00005-00009。
^BA Code 93 条码
^BA(Code 93)条码命令是一种变长、连续型符号码。它可就用在许多同39码一样的场合。它使用128位全ASCII码,但由于ZPLII不支持ASCII的控制代码或ESC序列,所以它用以下字符来替代。该代码也叫USS-93。
控制码 | ZPL II表示 |
Ctrl $ | & |
Ctrl % | % |
Ctrl / | ( |
Ctrl + | ) |
每个Code 93码的字符由六个元素组成:三个条,三个空。所不同的是,可阅读的注释上将把所用的控制代码了打印出来。
注意:控制码是成对使用的,如须知详情,参阅93码规范。
打印比例固定。
^FD(Field Data:数据字段)限制:100+字符。实际总数据由^BY的比例与标签的宽度(如果旋转,则指长度)
字符集为10个数字和破折号。
Code93字符集:0到9、A到Z,- . $ / + % & ?( ) space
如想进一步了解,可参阅UPC码规范。
^BA命令的格式:
^BAo,h,f,g,e
^BA |
= | Code 93条码 | |
o |
= | 字体方向 | |
默认值:^FW默认值或上一个^FW的值。 | |||
其他值: | N = 正常 (Normal) | ||
R = 顺时针旋转90度(Roated) | |||
I = 顺时针旋转180度(Inverted) | |||
B = 顺时针旋转270度 (Bottom) | |||
h |
= | 条码高度 | |
默认值:由^BY设置 其他值:1到9999点 |
|||
f |
= | 打印注释行 | |
默认值: Y = 打印(Yes) 其他值:N = 不打印(No) |
|||
g | = | 将注释行打印在条码上方 | |
默认值: N = 不打印在条码上方 其他值: Y = 打印在条码上方 |
|||
e | = | 打印校验位 | |
默认值:Y = 打印(Yes) 其他值:N = 不打印(No) |
Code 39码能够对前128位ASCII码字符集进行编码,请看下表。
ASCII | 93码 | ASCII | 93码 | ASCII | 93码 | ASCII | 93码 | ASCII | 93码 | ASCII | 93码 | ASCII | 93码 | ASCII | 93码 |
NUL | 'U | DEL | &P | SP | Space | 0 | 0 | @ | 'V | P | P | ' | 'W | p | )P |
SOH | &A | DC1 | &Q | ! | (A | 1 | 1 | A | A | Q | Q | a | )A | q | )Q |
STX | &B | DC2 | &R | “ | (B | 2 | 2 | B | B | R | R | b | )B | r | )R |
ETX | &C | DC3 | &S | # | (C | 3 | 3 | C | C | S | S | c | )C | s | )S |
EOT | &D | DC4 | &T | $ | $ | 4 | 4 | D | D | T | T | d | )D | t | )T |
ENQ | &E | NAK | &U | % | % | 5 | 5 | E | E | U |
|