国际字符集设定
esc r pn

   

    功能解释:

    (1) 设定以pn 为命令的国际字符集。

    (2) pn = 00h~0dh,40h.国际字符集设置命令。

    pn 如超出上述范围,本命令无效,在esc r pn 范围被舍去,并按以前设定的国际字符集设置执行。

   

    用户自定义字符

    esc & pn0 pn1 pn2 pd0 pd1 pd2 data

    【用户定义字符设置】

   

    功能解释:

    (1) 用户定义调用

    (2) pn1, pn2 的意义及范围如下:

    (a) 意义

    从pn1 记录范围到pn2 记录范围调用用户定义功能,并表示其设定的范围

    当为1 个字时,pn1 = pn2。最大可以到128 个字。

    (b) 范围

    0 ≤ pn1 ≤ 7fh,0 ≤ pn2 ≤ 7fh(pn1 ≤ pn2)

    不能满足上述条件时,如下所示:

   

    (3) pd0,pd1,pd2的意义及范围

    (a) 意义

    pdo – 字前间距

    pd1 – 字自身的宽

    pd2 – 字后间距

   

    (b) pdo, pd1, pd2的范围

    (i) pd1 的有效范围

    草稿draft..0 ≤ pd1 ≤ 15

    信函lq..0 ≤ pd1 ≤ 37

    在pd1 = 0 时,不调用pd0,pd1,pd2 数据接收后立即清除。

    在pd1 ] 37 时超过37 的部分不调用。

    (pd1 – 37) × 3, (pd1 – 37) × 2的部分的数据在接收后立即清除(注1)

    (pd1 × 3) byte部分的数据将无条件地调用。

    但是,在pd1 = 0 时,以前的代码所调用数据将清除。

    当超出上述所设定的有效范围时,超出部分的数据将随着接受各字符而立即被清掉。

    (ii) pd0 + pd1 + pd2的有效范围

    草稿draft..0≤pd0 + pd1 + pd2≤18

    信函lq..0≤pd0 + pd1 + pd2≤42

    pd0 及pd2 的有效范围如下:

    pd0..0 ≤ pd0 ≤ 42 - pd1

    pd2.. – (pd0 + pd1) ≤pd2≤42 – (pd0 + pd1)

    (注1)标准角标时..(pd1 – 37)× 3

    上/下角标时..(pd1 – 37)× 2

    (4) 命令格式从esc & nul 之后按起动命令、结束命令(pn2)、字符数据(pd0,pd1,pd2)、字符数据(d1 × 3)的顺序逐步传入。当对2 个字符以上进行调用时,对字符的各数据以后各内容反复按文字数部分输入。

    (5) 当命令邻接打印点时,打印点不打印而在后面打印。

    (6) 用户定义的信息格式将成为如图的式样。

    (a) 草稿格式

   

    (i) 垂直方向的点间隔为1/180 英寸

    水平方向的点间隔为1/120 英寸

    (ii) 图中[ ] 内的数字是按信息调用顺序表示的。

    (iii) 图中的cap 是按draft 字型图案的(ascenter)的上升的最上面位置的dot 及同base 一样字型图案的下降文字的最下面的位置的点数来表示。

    cap、base只表示标准数。

    (b) 信函lq/比例打印格式

   

    (i) 水平方向的点间隔为1/360英寸

    垂直方向的点间隔为1/180 英寸

    (ii) 图中[ ] 内的数字表示打印信息是以调用先后顺序进行的。

    (iii) 图中的cap是表示lq/比例打印字型成图形的上端字符最高打印点位置,base同类字符图形的下端字符打印点的最低位置。

    (7) 关于本命令的草稿draft、信函lq,比例打印选择顺序即为各指令执行顺序。同时调用3 个方式的组合时不能执行。

    (8) 本指令和设定上/下角标命令组合起来执行时,必须遵循格式定义。

    如下图所示:

   

    (a) 上角标表示纵向3 个比特中的上位2 个比特部分的数据。

    (b) 下角标表示纵向3 个比特中的下位2 个比特部分的数据。

    象下表那样以列数为基础,调用比较好(注)

   

    (注) 在调用以前,不先设定上/下角标方式的话,将调用垂直方向的图形。

    数据的调用顺序和3 比特调用方式方向相同。

    rom cg存储器的复制

    esc : nul pn nul

   

    功能解释:

    (1) 本命令把现在使用中的字符集中代码为20h~7fh的字符复制到用户定的ram20h~7fh中。

    (2) 在本命令以前,被ram 调用的字符将根据本命令的输入进行打印方式转换。

    (3) pn 表示复制的字型

    详细情况同esc k pn(lq 字体的选择)的pn 一样。

    (4) esc:后的nul 既使为00h,80h 也有效。

    用户定义设定

    esc % pn

   

    功能解释:

    (1) 执行用户定义字符集。

    (2) 本命令的意义:

    pn = 01h, 31h, 81h, b1h..用户定义字符集的设置。

    pn = 00h, 30h, 80h, b0h..解除用户定义字符集功能。

    (3) 在pn 设定上述之外的值时, 本命令无效, 并按以前的设定执行。

    图形打印

    esc k ln hn data, esc l ln hn data

    esc y ln hn data, esc z ln hn data

    【图形控制】

   

    功能解释:

    (1) 根据本命令执行图形打印。

    (2) 各命令意义如下

    (a) esc k ln hn data

    执行8 针方式单密度二进制图形图像打印。

    图像复合命令(esc * pm ln ln hn data)中,pm = 0的时候等价。

    (b) esc l ln hn data

    执行8 针方式、双密度二进制图形图像打印。

    同图像复合命令的pm = 1 时等价。

    (c) esc y ln hn data

    执行8 针一倍速单密度二进制图形图像打印。

    同图像复合命令的pm = 2 时等价。

    (d) esc z ln hn data

    执行8 针方式4 倍密度二进制图形图像打印。

    同图像复合命令的pm = 3 时等价。

    (3) ln hn的意义及范围如下

    (a) 意义:

    命令打印的列数。

    列数按下式:

    (列数)=ln + hn × 256

    (b) 范围

    0 ≤ ln ≤ 255 0 ≤ hn ≤ 255 (hn 是b5~b7 时无效)

    ln = hn = 0时本命令被舍去。

    (4) 信息数据ln, hn以设定的列数为基础来决定。(数据数) = ln + hn × 256(byte)

    图像方式选择

    esc * pm ln hn data

   

    功能解释:

    (1) 用pm 执行已设定的图像打印。

    (2) 以pm 来设定的图像种类如下:

    pm 为8 个单位。

   

    (3) ln hn的意义及范围:

    (a) 意义:

    依据下式, 执行列数的命令

    列数= ln + hn × 256

    (b) 范围

    0 ≤ ln ≤ 255 0 ≤ hn ≤ 255 (hn 为b5~b7 时无效)

    当ln = hn = 0时,接收到esc * pm ln hn后便立即清除。

    (4) 数据数是根据ln,hn,以被设定的列数为基础来决定的。

    (a) 8 针图像

    数据数= ln + hn × 256 (byte)

    (b) 24 针图像

    数据数= (ln + hn × 256) × 3 (byte)

    图形方式变换

    esc ? pm pn

   

    功能解释:

    (1) 本命令是把图像指令(esc k, esc l, ese y, esc z) 向图像复合指令变换。

    (2) pm的意义及范围如下所示:

    (a) 意义

    将复合图像向指定的图像指令变换。

    (b) 范围

    pm =“k”“l”“y”“z”

    (4bh、4ch、59h、5ah)msb 无效

    在上述值之外设定的场合,本命令在esc ? pm pn 的范围内被舍去。

    (3) pn的意义及范围如下所示:

    (a) 意义

    同图像复合命令(esc * pm ln hn data) 的pm等价,设定图像的种类(参照图像复合命令项目)

    (b) 范围pn = 0,1,2,3,4,6,32,33,38,39,40(10 进制)如设定上述范围之外的值,本命令在esc ? pm pn 范围内被舍去。

    (4) 根据本命令设定的图像命令(esc k, esc l, esc y, esc z) 同图像复合命令(esc *) 等价。

    条形码种类选择

    esc dle a p1 n1 n2 n3 n4 n5 n6 n7 n8

    【条形码控制】

   

    功能解释:

    (1) 根据本命令进行条形码种类的选择及大小的设定。

    (2) 各参数的意义如下:

    (a) p1 表示以后面的信息量(byte 数),(msb 视为无效)

    p1 = 0、1、3 本命令无效。

    p1 = 2、4、5、6、7、8 时,本命令有效。

    p1 ≥ 9 时,对n1~n8 有效,n9 无效。

    (b) n1 n2 为条码的选择(参数的上位4bit 为无效)

    n1 n2

    0 1 ean8

    0 2 ean13

    1 0 upc-a

    1 4 upc-e

    2 0 code39

    3 0 interleaved 2 of 5

    4 0 code128

    只以n1n2 共同设定时上述功能才有效。

    用无效的参数输入时,本功能视为无效。设定将按以前的方式进行。

    (c) n3n4设定条形码的纵向的长度。

    单位为15/180 英寸

    通常码的高度为

    (n3 × 10 + n4) × (15/180英寸)。

    n3 = n4 = 0 时,设定无效,以前设定的值为准。

    n3 × 10 + n4)≥25

    n3 × 10+n4) = 24

    条形码一行的长度单位为15/180 英寸。

    (d) n5进行黑色条码设定。

    ean8/ean13/upc – a/upc – e/code128时表示一个组的宽。

    code39/interleaved 2 of 5时, 表示窄码的黑色条宽。

    黑色条码的最小宽度为1/360 英寸。

    n5 = 0 时,按以前的设定执行。

    n4 ≥ 8 时,作为n5 = 7 来设定。

    n5 同一个字符的最大幅度关系如下:

    表1 ean8/ean13/upc-a/upc-e/code128一个字符的最大宽度

   

    表2 code39/ interleaved 2 of 5 黑色条码符号表

   

    code39的字符及起动停止代码的最大值从表2(黑色条码符号一览表)、表4(线间距一览表)来求得在两个图形的条码里,取得宽幅的图形作为最大幅来计算。

    图形1:

    nb = 5元素, ns = 1元素

    wb = 0 元素, ws = 3 元素

    图形2:

    nb = 3 元素, ns = 3元素

    wb = 2 元素, ws = 1 元素

    (例) 接收代码24h.010101000 (nb, ws, nb, ws, nb, ws, nb, ns, nb)

    当n5 = 2, n6 = 3, n7 = 4时

    根据表2, 表4, wb = 21 列、nb = 4 列、ws = 38 列、ns = 13 列

    图形1

    nb = 5 元素× 4 列= 20列

    ns = 1 元素× 13 列= 13 列共计147 列

    wb = 0 元素× 21 列= 0 列

    ws = 3 元素× 38 列= 114 列

    图形2

    nb = 3 元素× 4 列= 12 列

    ns = 3 元素× 13 列= 39 列共计131 列

    wb = 2 元素× 21 列= 42 列

    ws = 1 元素× 38 列= 38 列

    最大幅为147列(360dpi)

    * wb – 宽条码nb – 窄条码; ws – 宽间距ns – 窄间距

    interleaved 2 of 5 的字符码、首位码、中止码的最大值可用表2(黑色条码一览表)表4(间距一览表)来求得。

    nb = 3 元素,ns = 3 元素,wb = 2 元素,ws = 2 元素

    (例)用2 个字符构成一个条码,最大值为2 个字符。

    接收码30h..00110(nb,nb,wb,wb,nb)

    32h..01001(ns,ws,ns,ns,ws)

    在n5 = 2,n6 = 3,n7 = 4 时,

    根据表2、表4、wb = 21 列,ws = 38 列,nb = 4 列、ns = 13 列

   

    最大幅为169 列(360dpi) (2字符宽)

    首始码..0000 (nb, ns, nb, ns)

    (例) n5 = 2, n6 = 3 时,根据表4 、表6,nb = 4 列,ns = 13 列

    nb + ns + nb + ns = 4 + 13 + 4 + 13= 34

    最大幅为34 列(360dpi)

    中止码...100(wb,ns,nb)

    (例) 在n5 = 2,n6 = 3,n7 = 4 时,根据表2,表4,wb = 21 列,nb = 4 列,ns = 13 列

    wb + ns + nb = 21 + 13 + 4= 38

    最大幅为38 列(360dpi)

    * wb -宽条码ws -宽间距; ns -窄间距nb-窄条码

    ean8/ean13/upc-a/upc-e/code128

    4 级条码的打印列数表根据n5,条形码宽的倍率设定,n6 不计。

    下述列数成为执行(d)的打印条形码宽。

    表3

   

    打印组幅度表示以1/360 英寸为单位的幅宽。

    打印列数表示360dpi 时的列数。

    (e) n6间距的设定值

    ean8/ean13/upc-a/upc-e/code128被选择时, n6指令为无效。

    code39/interleaved 2 of 5 时, 表示窄线间距。

    间距最小为1/360 英寸。

    n6 = 0 时,按以前的设定执行。

    n6 ≥ 8 时,作为n6 = 7 来设定。

    n6 和倍率的关系如下:(图表略)见184 页

    表4 code39 interleaved 2 of 5 窄线间距

   

    (f) n7设定宽线元素和窄线元素的比率。

    n7 和比率的关系如下:

    表5

   

    n7 = 0 时, 按以前的设定执行

    n7 ≥ 8 时,以n7 - 7 来设定

    ean8/ean13/upc - a/upc - e/code128 选择时,本设定(与n7 有关系的)将为无效。

    (g) n8设定字符的有无和字符的种类。

    n8 和字符的有无、字符的种类之间的关系如下:

   

    字符的在与条形码的种类选择和大小的设定无关,为固定的12cpi。

    条形码数据打印

    esc dle b p1 pm data

   

    功能解释:

    (1) 根据本命令执行条形码打印

    (2) p1 表示后面的数据量(byte 数),(msb 为无效)。

    (3) pm 选择code128 的方式a,b,c,只有code128 被选择时才有效。

    41h:code128 (a 组)

    42h:code128 (b 组)

    43h:code128 (c 组)

    在上述外,本命令为无效,被舍去。

    (4) data表示条形码数据。

    (5) 在条形码数据的最后,送出检验数位码,用于附加检验数位。

    但是,如检验数位码最后没在条形码数据时,则为无效。

    (6) 在本命令中,下列字符数值为有效的字符数位。数位检验码也作为1 个字符计数

    (a) ean8 8 个字符(固定)

    (b) ean13 13 个字符(固定)

    (c) upc-a 12 个字符(固定)

    (d) upc-e 6 个字符(固定)

    (e) code39 50 个字符(最大字符数)

    (f) interleaved 2 of 5 50 个字符(最大字符数)

    (g) code128 (set a, b, c) 50 个字符(最大字符数)

    对于从(a) 到(b) 各项,上述的字符数为固定数。

    (p1 的值为固定字符数之外的值时,本命令无效)

    对于从(e) 到(g) 的各项,在不超过最大字符数范围时有效。

    p1 值在最大字符数以上(不含最大字符数)时,本命令无效。

    (7) 根据条形码的种类, 有效字符如下:(从20h 到5ah 中43 个字符有效,对于详细情况请参照代码检验表)

    (a) ean8 0 (30h)≤有效的字符数≤9 (39h)

    (b) ean13 0 (30h)≤有效的字符数≤9 (39h)

    (c) upc-a 0 (30h)≤有效的字符数≤9 (39h)

    (d) upc-e 0 (30h)≤有效的字符数≤9 (39h)

    (e) code39 sp (20h)≤有效的字符数≤z (5ah)

    (f) interleaved 2 of 5 0 (30h)≤有效的字符数≤9 (39h)

    (g) code128 (a组) 00h ≤有效的字符数≤ 66h

    (h) code128 (b组) 19h≤有效的字符数≤7fh

    (i) code128 (c组) 30h ≤有效的字符数≤ 3ch

    上述之外的字符无效(检验数位字符除外)。但是,在p1 中表示的byte 数将被计算在内。

    (8) 根据条形码的种类,检验数位字符有如下方式:

    (a) ean8 “@”(40h)

    (b) ean13 “@”(40h)

    (c) upc-a “@”(40h)

    (d) upc-e 不能指定

    (e) code39 “@”(40h)

    (f) interleaved 2 of 5 “@”(40h)

    (g) code128 (a组) “g” (67h)

    (h) code128 (b组) (18h)

    (i) code128 (c组) “@”(40h)

    code128 的检验数位只打印条形码,不进行人工再加倍字符的打印。

    (9) 首位条码、中央条码、尾条码,只在下述各类命令中才能附加。

    (a) ean 8

    (b) ean-13

    (c) upc-a

    (d) upc-e

    (10) 条形码检验数位命令能自动形成如下:

    (a) 最后的检验数位码时,取代条形码检验指令检验数位码。

    (b) ean8,upc-a,interleaved2 of 5检验数位的计算方法如下:

    把从左端开始的奇数位置信息全部加算。

    把加算的data 扩大3 倍............ a

    把左端开始的偶数位信息全部加算起来......b

    相加后再算a 的值和b 的值...........c

    从10 减算c 值(1 的位)的值即为检验数位。

    (例) 条码信息1234567@(@ 成为检验数位码)。

    1 + 3 + 5 + 7 = 16

    ↓

    16 × 3 = 48

    ↓

    2 + 4 + 6 = 12 (不包含检验数位)

    ↓

    48 + 12 = 60

    10 - 0 = 10 (10 的时候为0)

    ↓

    根据上式,检验数位时为0。

    (注)对于interleaved 2 of 5,data数(n)为奇数时,第一个data将作为0进行上述计算。

    (c) ean13检验数位的计算方法如下:

    把左端开始的偶数位置信息全部加算.

    把加算的资料扩大3 倍.......... a

    把左端开始的奇数位置data 全部加算... b

    加算a 的值和b 的值........... c

    从10 减算c 值(1 的位)的值,即为检验数位。

    (例) 条形码数据123456789012@ (@ 成为检验数位)

    2 + 4 + 6 + 8 + 0 + 2 = 22

    ↓

    22 × 3 = 66

    ↓

    1 + 3 + 5 + 7 + 9 + 1 = 26 (不含检验数位)

    ↓

    66 + 26 = 92

    ↓

    10 – 2 = 8 (10 时为0)

    ↓

    (d) upc - e 检验数位的计算方法如下:

    把6 字符向11 字符扩展

    把左端开始的奇数位数据全部相加.

    把相加后的数据扩大3 倍........a

    把左端开始的偶数位数据全部相加.... b

    相加a 的值和b 的值..........c

    从10 减算c 值(1 的位)的值,即为检验数位

    6 字符抑制方法:

    1 m1 m2 13 14 15 m3 (m3 = 0、1、2)

    m1 m2 m3 0 0 0 0 13 14 15 13 14 15 = 000~999

    2 m1 m2 m3 0 0 0 0 0 14 15

    m1 m2 m3 0 0 0 0 0 14 15 14 15 = 00~99

    3 m1 m2 m3 m4 15 4

    m1 m2 m3 m4 0 0 0 0 0 15 15 = 0~9

    4 m1 m2 m3 m4 m5 15 (15 = 5~9)

    m1 m2 m3 m4 m5 0 0 0 0 15 15 = 5~9

    m: 厂家代码i: 商品代码

    对于6 字符,遵从上述约束向10 字符扩展,其后,附加在这10 个字符的开头的0 上,使之为11 位字符。

    (例)条形码数字123451

    01210000345 按11 位字符展开

    ↓

    0 + 2 + 0 + 0 + 3 + 5 =10

    ↓

    10 × 3=30

    1 + 1 + 0 + 0 + 4 = 6

    ↓

    30 + 6 = 36

    ↓

    10 – 6 = 4

    根据上式,检验字符位变为4。

    (e) code39

    在输入数据里加入相应的数值(参照下表)。

    计算相加后的数据,分割成43 份,出来的值的剩余的部分。

    剩余部分中相应的字符位成为检验数位字符(参照下表)

   

    (f) code128检验数位的计算方法如下:

    除首位代码,在从左端各输入的数据中,相应的字符号里的附加号码进行相乘。

    (以字符no.参照) ..a

    *附加号码为除起始码外,以字符的左端开始的1、2、3、4..按递增顺序作为附加的码。

    a 的值全部相加,加上起始码字符no........b。

    算出b 的值以103 份来分割的剩余部分值。剩余值相当的字符成为检验数位。

    (例)条形码数据〖起始码a〗3 8 a 6 g (g 是检验数位)

    字符号附加号

    3 : 9 1

    8 : 24 2

    a : 33 3

    6 : 22 4

    19 × 1 + 24 × 2 + 33 × 3 + 22 × 4=254

    起始码a 的字符号为103

    254 + 103=357

    357 ÷ 103=3...余48

    在字符序号no.48 中,相应的字符p 便成为检验数位码。

   

   

    关于code128 的code c, 当数据a 数为奇数时, 数据的第一号作为0 进行检验数位的计算。

   

   

   

   
OKI MICROLINE 8450CL 相关内容:报价 | 参数 | 图片 | 论坛 | 评测