1. lf 打印并换行.
格式: acsii:lf
十进制:[10]
十六进制:[0ah]
说明:
(1)将行缓冲器里的内容打印出来并向前走纸一行。
(2)当行缓冲器空时就只向前走纸一行。
2. cr 打印并回车
格式: acsii:cr
十进制:[13]
十六进制:[0dh]
说明:
将缓冲器里的内容打印出来,但不走纸。
3. esc sp n 设置非中文字符的右间距
格式: acsii:esc sp n
十进制:[27][32]n
十六进制:[1bh][20h]n
说明:
(1)以半点为设置单位,设置非中文字符右边间距为n 个半点距。
(2)0≤n≤255,默认n=0。
4. esc ! n 设置非中文字符打印方式
格式: acsii:esc ! n
十进制:[27][33]n
十六进制:[1bh][21h]n
说明:
(1)0≤n≤255。
(2)根据n 的值设置非中文字符打印方式,该设置对汉字无效。

5. esc % n 选择/取消用户自定义非中文字符集
格式: acsii:esc % n
十进制:[27][37]n
十六进制:[1bh][25h]n
说明:
(1)参数n 为一个字节,只有最低位有效。
(2)当n 的最低位为0 时,选择内部字符集;
(3)当n 的最低位为1 时,选择用户自定义字符集。
(4)0≤n≤255,默认n=0。
6. esc & 定义用户自定义非中文字符
格式: acsii:esc & y c1 c2 [x,d1,d2…dx×y]c2-c1+1
十进制:[27][38] y c1 c2 [x,d1,d2…dx×y]c2-c1+1
十六进制:[1bh][26h] y c1 c2 [x,d1,d2…dx×y]c2-c1+1
说明:
(1)esc &用于定义(c2-c1+1)个用户自定义字符。
(2)y 表示字符在垂直方向字节数y=1;
(3)c1,c2 表示起始码和终止码,允许定义的字符码自[20h]至[7eh]最多95 个,32≤c1≤c2≤126;
(4)x 表示自定义字符在水平方向的点数,0≤x≤6(5×7 点阵),0≤x≤10(7×7 点阵)。
(5)d 是字符点阵数据,总共(x×y)个数据。
(6)定义后自定义字符一直有效,直到再次定义或复位或关机。
7. esc * m nl nh d1…dk 选择位图模式
格式: acsii:esc * m nl nh d1…dk
十进制:[27][42]m nl nh d1…dk
十六进制:[1bh][2ah]m nl nh d1…dk
说明:
(1)该命令用来设置位图模式(m)和位图纵向点数为8,横向点数为(nl+nh×256)。
(2)m=0,1、0≤nl≤255,0≤nh≤1,0≤d≤255。
(3)位图横向点数为(nl+nh×256),该值不可超过打印机最大打印点数宽度。
m=0 时,选择正常打印,最大打印点数210/200 点。
m=1 时,选择半点打印,最大打印点数420/400 点。
(4)d 表示位阵图形数据,打印机内部将把数据转换为二进制点阵,相应位为1 则表示该点打印,相应位为0 则表示该点不打印。如果点数超过一行允许打印的最多点数,超过部分将被忽略。
(5)位图数据与打印点之间的关系如下:

8. esc - n 设置/取消非中文字符下划线
格式: acsii:esc - n
十进制:[27][45]n
十六进制:[1bh][2dh]n
说明:
(1)n=0 或48,取消非中文字符下划线;
(2)n=1 或49,设置非中文字符下划线。
9. esc 2 设置字符行间距为4.23 毫米
格式: acsii:esc 2
十进制:[27][50]
十六进制:[1bh][32h]
说明:
设置字符行间距为4.23 毫米。
10. esc 3 n 设置字符行间距为n×0.176 毫米
格式: acsii:esc 3 n
十进制:[27][51]n
十六进制:[1bh][33h]n
说明:
(1)设置字符行间距为n×0.176 毫米。
(2)0≤n≤255,默认n=24。
11. esc ? n 取消用户自定义非中文字符
格式: acsii:esc ? n
十进制:[27][63]n
十六进制:[1bh][3fh]n
说明:
(1)取消用户自定义的某个非中文字符。
(2)32≤n≤126。
12. esc @ 打印机初始化
格式: acsii:esc @
十进制:[27][64]
十六进制:[1bh][40h]
说明:
初始化打印机内部数据:清除打印缓冲器;恢复默认值;恢复字符打印方式。
13. esc d [n]k nul 设置水平制表符位置
格式: acsii:esc d [n]k nul
十进制:[27][68] [n]k [0]
十六进制:[1bh][44h] [n]k [00h]
说明:
(1)设置水平制表位置为n1,n2…nk。1≤k≤32,最多可设置32个水平位置制表符。
(2)所有水平制表位置都应在打印机允许行宽之内,选择(5×7)点阵方式时,n 的最大值为35;
(3)选择(7×7)点阵方式时,n 的最大值为42。nul 加在最后,表示该命令结束。
(4)esc d nul 命令清除所有水平制表位置。
(5)当选择(5×7)点阵方式时,缺省定位位置为8 个字符间隔(即列9,17,25,…);
(6)当选择(7×7)点阵方式时,缺省定位位置为10 个字符间隔(即列11,21,31,…)。
14. ht n 打印水平制表
格式: acsii:ht n
十进制:[9] n
十六进制:[09h] n
说明:
(1)打印机依据esc d 命令设置的水平制表位置,在下一水平制表位置打印制表符n,n 为任何一个可以打印的ascii 字符。
(2)如果当前打印位置超过最后一个水平制表位置,则ht 命令不被执行。
(3)水平制表位置由esc d 命令设置。
15. esc j n 打印并走纸n×0.176 毫米
格式: acsii:esc j n
十进制:[27][74]n
十六进制:[1bh][4ah]n
说明:
(1)将行缓冲器里的内容打印出来并向前走纸(n×0.176)毫米或n/144 英寸。
(2)该命令只对本行有效,不影响其他命令的设置值。
(3)0≤n≤255。
16. esc k n 打印并退纸n×0.176 毫米
格式: acsii:esc k n
十进制:[27][75]n
十六进制:[1bh][4bh]n
说明:
(1)将行缓冲器里的内容打印出来并向后退纸(n×0.176)毫米或n/144 英寸。
(2)该命令只对本行有效,不影响其他命令的设置值。0≤n≤48。
17. esc r n 选择国际字符集
格式: acsii:esc r n
十进制:[27][82]n
十六进制:[1bh][52h]n
说明:
选择11 个不同国家的不同ascii 字符集。
0≤n≤10,默认n=0 选择u.s.a 字符集。

18. esc u n 设置/取消单向打印
格式: acsii:esc u n
十进制:[27][85]n
十六进制:[1bh][55h]n
说明:
(1)设置/取消单向打印。参数n 为一个字节,只有最低位有效。
(2)当n 的最低位为0 时,设置双向打印;
(3)当n 的最低位为1 时,设置单向打印。
(4)0≤n≤255,默认n=0。
19. esc c 5 n 允许/禁止按键有效
格式: acsii:esc c 5 n
十进制:[27][99][53]n
十六进制:[1bh][63h][35h]n
说明:
(1)参数n 为一个字节,只有最低位有效。
(2)当n 的最低位为0 时,允许进纸按键有效;
当n 的最低位为1 时,禁止进纸按键有效。
(3)0≤n≤255,默认值为n=0。
20. esc d n 打印并进纸n 字符行
格式: acsii:esc d n
十进制:[27][100]n
十六进制:[1bh][64h]n
说明:
(1)打印行缓冲器里的数据并向前走纸n 字符行。
(2)0≤n≤255
21. esc e n 打印并退纸n 字符行
格式: acsii:esc e n
十进制:[27][101]n
十六进制:[1bh][65h]n
说明:
(1)打印行缓冲器里的数据并向后退纸n 字符行。
(2)0≤n≤2。
22. esc p m t1 t2 产生钱箱控制脉冲
格式: acsii:esc p 0 t1 t2
十进制:[27][112]m t1 t2
十六进制:[1bh][70h]m t1 t2
说明:
(1)该命令用于根据t1,t2产生一定时间间隔的脉冲以控制钱箱动作。
(2)m=0,1,48,49;0≤t1≤255,0≤t2≤255。
(3)钱箱开启脉冲高电平时间为(t1×2)毫秒,断开脉冲低电平时间为(t2×2)毫秒。
(4)如果t2[t1,低电平时间为(t1×2)毫秒。
23. gs ( a pl ph n m 进入十六进制数据转储模式
格式: acsii:gs ( a pl ph n m
十进制:[29][40][65] pl ph n m
十六进制:[1dh][28h][41h] pl ph n m
说明:
(1)打印机进入十六进制数据转储模式。
(2)pl=2,ph=0,n=0、1、2、48、49、50,m=1、49。
24. gs v m [n] 选择切纸方式及切纸进纸
格式: acsii:gs v m [n]
十进制:[29][86]m [n]
十六进制:[1dh][56h]m [n]
说明:
(1)当m=0、1、48、49 时,n 参数无效,打印机进内容到切刀位置执行直接切纸。
(2)当m=66 时,打印机进纸(n×0.176)毫米后切纸。0≤n≤255。
此命令仅在设置置于行首有效。
(3)当选择黑标定位有效时,执行gs v 66 命令时,n 值无效,前送纸距离由gs ( f 命令设置的参数确定。
25. gs z 0 t1 t2 设置在线恢复等待时间
格式: acsii:gs z 0 t1 t2
十进制:[29][122][48]t1 t2
十六进制:[1dh][7ah][30h]t1 t2
说明:
(1)在装纸后,打印机会有一个(t1×500)毫秒等待时间,此时走纸灯灭,可以按进纸键进纸。等待时间完毕后,打印机会有一个(t2×500)毫秒确认时间,此时走纸灯闪烁,可以按进纸键确认。
(2)0≤t1≤255、0≤t2≤255。
26. fs ! n 设置中文字符打印方式
格式: acsii:fs ! n
十进制:[28][33]n
十六进制:[1ch][21h]n
说明:
设置中文字符打印方式,该设置只对汉字有效。
用n 值设置汉字的打印方式如下:

27. fs & 进入汉字打印方式
格式: acsii:fs &
十进制:[28][38]
十六进制:[1ch][26h]
说明:
接收到该命令后进入汉字打印方式。默认状态下已经进入了汉字打印模式。
28. fs . 退出汉字打印方式
格式: acsii:fs .
十进制:[28][46]
十六进制:[1ch][2eh]
说明:
接收到该命令后退出汉字打印方式,转为西文打印方式。
29. fs 2 c1 c2 d1…dk 用户自定义汉字
格式: acsii:fs 2 c1 c2 d1…dk
十进制:[28][50]c1 c2 d1…dk
十六进制:[1ch][32h]c1 c2 d1…dk
说明:
c1、c2 表示自定义汉字的汉字编码。
c1=[feh]、[a1h]≤c2≤[feh]、k=32。数据格式如下图所示:

30. fs ? c1 c2 取消用户自定义的汉字
格式: acsii:fs ? c1 c2
十进制:[28][63]c1 c2
十六进制:[1ch][3fh] c1 c2
说明:
(1)取消由fs 2 定义的某位的汉字编码。
(2)c1=[feh]、[a1h]≤c2≤[feh]。
31. fs s n1 n2 设置汉字左右间距
格式: acsii:fs s n1 n2
十进制:[28][83]n1 n2
十六进制:[1ch][53h]n1 n2
说明:
0≤n1≤32 设置汉字左间距,0≤n2≤32 设置汉字右间距,默认n1=0,n2=2。
32. fs w n 设置/取消汉字四倍模式打印
格式: acsii:fs w n
十进制:[28][87]n
十六进制:[1ch][57h]n
说明:
(1)当n的最低位为0时,取消汉字四倍模式打印。
(2)当n的最低位为1时,设置汉字四倍模式打印。
(3)默认n=0。
33. gs ( f pl ph a m nl nh 设置黑标定位偏移量
格式: acsii:gs ( f pl ph a m nl nh
十进制:[29][40] [70] pl ph a m nl nh
十六进制:[1dh][28h][46] pl ph a m nl nh
说明:
(1)该命令所设参数掉电不丢失。
(2)该命令用于选择黑标定位控制允许,且设置切/撕纸位置或起始打印位置相对于黑标检测的偏移值。该值以点数计算。
(3)命令相关参数为:
pl+(ph×256)≡4 即pl=4,ph=0
a=1,2;m=0,48 或1,49
0≤(nl+nh×256)[1700
a 用来选择设置切/撕纸位置或起始打印位置的偏移量。

(4)m=0 或48,选择偏移量为前进纸方向计算;
(5)m=1,49,选择偏移量为退纸方向计算;
(6)nl, nh 设置的偏移量对应实际距离为(nl+nh×256)×0.176毫米;
(7)只有执行此命令后gs ff和gs v 命令有关黑标定位操作方有效;
(8)设置起始打印位置偏移量(a=1)在执行gs ff 命令时有效;
(9)设置切/撕纸位置偏移量(a=2)在执行gs v m 命令时有效;
(10)默认值为nl=nh=0,即黑标检测开关检测到黑标时,当前票面上对应打印头的位置为设定的起始打印位置,当前票面上对应切/撕纸口的位置为设定的切/撕纸位置。
(11)关于切/撕纸位置偏移量和起始打印位置偏移量的计算说明
1.当切/撕纸位置到黑标印刷位置的距离l与打印机构的固有机械值l0相同,而且切/撕纸位置到起始打印位置的距离q与打印机构固定的机械值q0相同时(如图1 所示),即用gs ( f命令所设置的偏移量均为0。
2.当黑标印刷位置到切/撕纸位置的距离l小于打印机的机械值l0时(如图2 所示),gs ( f 命令的切/撕纸位置偏移量计算为:
切/撕纸位置偏移量=(l0-l)/0.176(点数)。
当黑标印刷位置到切/撕纸位置的距离l大于打印机的机械值l0时(如图3 所示),gs ( f 命令的切/撕纸位置偏移量计算为:
切/撕纸位置偏移量=(l0+相邻两黑标间的距离-l)/0.176(点数)。
在设置切/撕纸位置偏移量时,gs (f 命令的参数a 应为2。
3.当切/撕纸偏移量不为零或每单的起始打印位置到切/撕纸位置的距离q大于打印机的机械值(q0)时(如图4 所示),gs ( f命令的起始打印位置偏移量计算为:
起始打印位置偏移量=(q-q0)/0.176+切/撕纸位置偏移量
在设置起始打印位置偏移量时,gs ( f 命令的参数a应为1。
4.打印机构smp2000的固有机械值
l0=44毫米, q0=18毫米,
当打印机构安装在机壳内,使得撕纸位置和打印起始位置的固有机械值发生改变时,l0=44+δl, q0=18+δl
5.δl 的测量方法如下;
1)先将空白打印纸装入打印机械,撕去出纸口上多余的打印纸;
2)给打印机发20 个字符“e”,打印在打印纸上;
3)让打印纸走出足够长度,测量纸端到打印字符“eeeeeeeeeeeeeeeeeeee”的上沿距离,该值减去18毫米,即为δl。

对于指定打印票样的黑标定位控制命令使用举例
以下举例假设为撕纸位置在打印机构撕纸口,即l0=44毫米,q0=18毫米。
【例1】票样要求:切/撕纸位置在预印刷的黑标位置,每单打印起始位置在距切/撕纸位置25毫米处。

.计算切/撕纸位置偏移量
因为黑标在切/撕纸位置,即l=0,所以切/撕纸位置偏移量=(44-0)/0.176=250 点。
1 使用如下命令设置切/撕纸偏移量
gs ( f [4][0][2][0][250][0]
2 计算起始打印位置的偏移量
(25-18)/0.176+250=290 点
3 使用如下命令设置起始打印位置偏移量
gs ( f [4][0][1][0][34][1]
4 完成上述设置后,在打印每一单票据时:
用gs ff 命令走纸到起始打印位置;
送每一单要打印的数据,并逐行打印这些数据;
用gs v m 命令走纸到切/撕纸位置,将票据切/撕下。
【例2】票样要求:切/撕纸位置到黑标的距离为12毫米,起始打印位置距切/撕纸位置的距离为18毫米。

1 计算切/撕纸位置的偏移量
因为黑标距切/撕纸线的距离<l0(44毫米),所以切/撕纸位置的偏移量为:
(44-12)/0.176=182 点
2 使用如下命令设置切/撕纸偏移量
gs ( f [4][0][2][0][182][0]
3 计算起始打印位置偏移量:
(18-18)/0.176+182=182点
4 使用如下命令设置起始打印位置偏移量
gs ( f [4][0][1][0][182][ 0]
5 完成上述设置后,在打印每一单票据时,使用的命令序列与例1 相同。
【例3】票样要求:票长150毫米,
切/撕纸位置到黑标距离为140毫米,
起始打印位置距切/撕纸位置的距离为25毫米。

1 计算切/撕纸位置的偏移量
因为黑标距切/撕纸线的偏移量>l0(44毫米),所以起始位置的偏移量为:
(44+150-140)/0.176=307 点
2 使用如下命令设置切/撕纸偏移量
gs ( f [4][0][2][0][51][1]
3 计算起始打印位置偏移量
(25-18)/0.176+307=347 点
4 使用如下命令设置起始打印位置偏移量
gs ( f [4][0][1][0][91][1]
5 完成上述设置后,在打印每一单票据时,使用的命令序列与例1 相同。
1.在切/撕纸位置偏移量和起始打印位置偏移量均为0 的情况下,只需用gs v m 可完成每一单的定位打印。
2.只要切/撕纸位置偏移量不为0,就要用gs ( f 命令分别设置切/撕纸位置偏移量(a=2)和起始打印位置偏移量(a=1)。
3.只有在设置了起始打印位置后才能使用gs ff 命令走纸到起始打印位置,否则可能出现定位不准或空走一张票的情况。
4.当用gs ( f 命令更改了上次设置的偏移量时,可能会在打印第一单票据时出现定位不准或空走一张票的情况,但以后再打印的票据是正确的。
33. gs ff 进黑标纸至打印起始位置
格式: acsii:gs ff
十进制:[29][12]
十六进制:[1dh][0ch]
说明:
(1)该命令仅在黑标定位控制允许条件下有效。
(2)检测黑标并前送纸至gs ( f(a=1)命令设置确定的打印起始位置。
(3)当黑标纸已在当前打印起始位置上,则不执行进纸操作。
(4)当有切刀且切刀设置为半切方式时,打印机将不执行退纸动作。