ESC Commands: Difference between revisions

From wizarPOS
(Created page with "== ESC Commands == === HT === {| class="wikitable" |- ! HT !! |- | Name|| Horizontal tab |- | Format|| ASCII HT Hex 09 Decimal 9 |- | Description|| Move the print po...")
 
No edit summary
 
(83 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== ESC Commands ==
== Technical manual==
* [http://ftp.wizarpos.com/device/WizarPOSPrinter_TechnicalManual_en_20200715.pdf Printer Technical Manual]
== ESC Commands==
 
=== HT ===
=== HT ===
{| class="wikitable"
{| class="wikitable"
Line 49: Line 52:
|-
|-
| Reference|| ESC 2,ESC 3
| Reference|| ESC 2,ESC 3
|}
=== CR ===
{| class="wikitable"
|-
! CR !! 
|-
| Name|| Carriage return
|-
| Format|| ASCII   CR
Hex   0D
Decimal  13
|-
| Description|| Adjust the print position to the starting position of this line and line
feed.
|-
| Reference|| LF
|}
=== ESC SP  ===
{| class="wikitable"
|-
! ESC SP  !! 
|-
| Name|| Set the right-side character space
|-
| Format|| ASCII   ESC SP n
Hex   1B 20 n
Decimal  27 32 n
|-
| Description|| Set the right right-side character space is [n×0.125mm]
* For double width mode, the character right margin is double than normal mode.
* The command will not effective to Chinese characte
|-
| Default|| n=0
|}
=== ESC ! (Ⅰ) ===
{| class="wikitable"
|-
! ESC ! n !! 
|-
| Name|| set the font type
|-
| Format|| ASCII   ESC ! n
Hex   1B 21 n
Decimal  27 33 n
|-
| Description|| Set the font type (italic, border, bold, double width, double height,
inverse or underline). And the bit definitions of parameter n are
shown as follows table
|-
| Reference|| ESC -, ESC E, GS !
|-
| Default|| n=0
|}
=== ESC ! (Ⅱ) ===
{| class="wikitable"
|-
| Bit
| On/off
| Hex
| Decimal
| Function 
|-
| 0 || off || 00 || 0 || Character type A (12×24)
|-
| 0 || on || 01 || 1 || Character type B (9×17)
|-
| 4 || off || 00 || 0 || Double-height mode off
|-
| 4 || on || 10 || 16 || Double-height mode on
|-
| 5 || off || 00 || 0 || Double-width mode off
|-
| 5 || on || 20 || 32 || Double-width mode on
|-
| 7 || off || 00 || 0 || Underline mode off
|-
| 7 || on || 80 || 128 || Underline mode on
|}
* If set double-width and double-height at the same time, quadrupled thecharacter size.
* Can not underline the blank generated by HT or the rotate 90 character.
* The width of under line set by ESC -, have not affected by the character size.
* ESC M also can set character type.
* ESC – also can turn on/off underline.
* GS ! also can set character size.
=== ESC $  ===
{| class="wikitable"
|-
! ESC $ nL nH !! 
|-
| Name|| Set the absolute print position
|-
| Format|| ASCII   ESC $ nL nH
Hex   ESC $ nL nH
Decimal  27 36 nL nH
|-
| Parameter Range||
* 0≤nL≤255
* 0≤nH≤255
|-
| Description|| Moves the print position to a location in a distance of (nL + nH × 256) dots from
the starting position for printing
|-
| Reference|| ESC \
|}
=== ESC *  ===
{| class="wikitable"
|-
! ESC * m nL nH d1...dk!! 
|-
| Name|| Select bit-image mode
|-
| Format|| ASCII   ESC * m nL nH d1...dk
Hex   1B 2A m nL nH d1...dk
Decimal    27 42 m nL nH d1...dk
|-
| Parameter Range||
* m = 0,1,32,33
* 0≤nL≤255
* 0≤nH≤3
* 0≤d≤255
|-
| Description|| Stores the bit image data in the print buffer using the mode specified
by bit image mode m, nl and nh specifies a bit image in the horizontal direction
as(nl+256×nh) dots, [d]k specifies the bit image data (column format)
k indicates the amount of bit image data, but it does not need to be
transmitted..
|-
| Note|| 
* If m is out of Parameter Range, the nL and the other data will regard as the normal data.
* If the bit image exceeds one line of print area, the excess part will be Ignored.
* Data [d]k specifies a bit printed to 1 and not printed to 0.
* Bold, double-strike, underline, character size, upside-down, black/white command will not affect to the command.
|}
=== ESC -  ===
{| class="wikitable"
|-
! ESC - n !! 
|-
| Name|| Turn underline mode on/off
|-
| Format|| ASCII   ESC - n
Hex   1B 2D n
Decimal  27 45 n
|-
| Description|| Turns underline mode on or off using n as follows
* if n= 0 or 48, Turns off underline mode
* if n=1 or 49, Turns on underline mode (1-dot thick)
* if n=2 or 50, Turns on underline mode (2-dots thick)
|-
| Note||
  Can not underline the blank generated by HT or the rotate 90 character.
  Default width is 1-dot thick.
  The thick is not affected by the character size.
  ESC ! can also turn on/off underline.
|-
| Default|| n=0
|-
| Reference|| ESC !
|}
=== ESC 2 ===
{| class="wikitable"
|-
! ESC 2 !! 
|-
| Name|| Set the line space to a default value 3mm
|-
| Format|| ASCII   ESC 2
Hex   1B 32
Decimal  27 50
|-
| Description||Set the line space to a default value 3mm(24×0.125mm)
|-
| Reference|| ESC 3
|}
=== ESC 3 ===
{| class="wikitable"
|-
! ESC 3 !! 
|-
| Name|| Set the line space to n dots
|-
| Format|| ASCII   ESC 3 n
Hex   1B 33 n
Decimal  27 51 n
|-
| Description|| ASet the line space to n dots
|-
| Default|| n=24
|-
| Reference|| ESC 2
|}
=== ESC SO ===
{| class="wikitable"
|-
! ESC SO !! 
|-
| Name|| Turn on double width mode
|-
| Format|| ASCII   ESC SO n
Hex   1B 0E n
Decimal  27 14 n
|-
| Parameter Range|| 0≤n≤255
|-
| Description|| Turn on double width mode
|-
| Note|| Use LF or ESC DC4 to turn off
|-
| Default|| n=2
|}
=== ESC DC4 ===
{| class="wikitable"
|-
! ESC DC4 !! 
|-
| Name|| Turn off double width mode
|-
| Format|| ASCII   ESC DC4 n
Hex   1B 14 n
Decimal  27 20 n
|-
| Parameter Range|| 0≤n≤255
|-
| Description|| Turn off double width mode
|-
| Default|| n=2
|-
| Note|| The value of n is same with the n in turn on command
|}
=== ESC @ ===
{| class="wikitable"
|-
! ESC @ !! 
|-
| Name|| Initialize the printer
|-
| Format|| ASCII   ESC @
Hex   1B 40
Decimal  27 64
|-
| Description|| Reset the printer, the print mode reset to the default setting
|-
| Note|| Can not clear the data in receive buffer
|}
=== ESC B ===
{| class="wikitable"
|-
! ESC B !! 
|-
| Name|| Set the left margin
|-
| Format|| ASCII ESC B n
Hex   1B 42 n
Decimal  27 66 n
|-
| Parameter Range|| 0≤n≤47
|-
| Description|| Set the left margin
|-
| Note|| This command just affects the character, doesn’t affect the Chinese
|-
| Default|| n=0
|}
=== ESC D ===
{| class="wikitable"
|-
! ESC D !! 
|-
| Name|| Set horizontal tab positions
|-
| Format|| ASCII   ESC D n1...nk NUL
Hex   1B 44 n1...nk 00
Decimal  27 68  n1...nk 0
|-
| Parameter range ||
* 1≤n≤255
* 0≤k≤32
|-
| Description||Set the horizontal tab positions, the meanings of parameters are as follows:
n1..nk are horizontal tab position (Unit: 8 dots), NULL is a stop character
|-
| Note||
# Horizontal tab position stored as a data, the data value is [character width×n] measured from the line begin.
# When this command is used, any previous horizontal tab settings will be canceled.
# The tab position can be switched by HT command
# The max set value is 32(k=32), larger than 32, the larger data will regard as normal data.
# Transmit [d]k in ascending order and place a NULL code at the end.
# When dk is less than or equal to dk-1, horizontal tab setting is finished, and the following data will be processed as normal data.
# ESC D NUL will cancel the horizontal tab position.
# Even the character width change, the set tab position will not change.
|-
| Defualt|| Default tab position is character type A(12×24), the eight character space
(column 9,17,25 ...)
|-
| Reference|| HT
|}
=== ESC E ===
{| class="wikitable"
|-
! ESC E !! 
|-
| Name|| Turn bold mode on/off
|-
| Format|| ASCII   ESC E n
Hex   1B 45 n
Decimal  27 69 n
|-
| Parameter range|| 0≤n≤255
|-
| Descriptiopn|| Turns bold mode on or off using n as follows:
If n = 0, turn off the bold, if n = 1, turn on the bold.
|-
| Default|| n = 0
|-
| Reference|| ESC !
|}
=== ESC J ===
{| class="wikitable"
|-
! ESC J !! 
|-
| Name|| Print and feed paper for n dots
|-
| Format|| ASCII   ESC J n
Hex   1B 4A n
Decimal  27 74 n
|-
| Parameter range || 0≤n≤255
|-
| Description||Print the data in the printer buffer and feed paper for n dots(0.125mm per
dot)
|-
| Note||
* After printing, the print position moves to the beginning of the line.
* This has not affected the set value by ESC 2 or ESC 3.
|}
=== ESC G ===
{| class="wikitable"
|-
! ESC G !! 
|-
| Name|| Print and feed paper
|-
| Format|| ASCII   ESC G n
Hex   1B 47  n
Decimal  27 71 n
|-
| Parameter range|| 0≤n≤255
|-
| Description|| Turn double-strike mode on/off:
* 0: turn off double-strike
* 1: turn on double-strike。
|-
| Note|| The double-strike has the same print with bold print
|-
| Default|| n=0
|-
| Reference|| ESC E
|}
=== ESC M ===
{| class="wikitable"
|-
! ESC M !! 
|-
| Name|| Select the character type
|-
| Format|| ASCII   ESC M n
Hex   1B 4D n
Decimal  27 77 n
|-
| Parameter range|| n = 0,1,48,49
|-
| Description|| Select character type:
If n=0 or 48,Character type A (12×24)
If n=1 or 49,Character type B (9×17)
|-
| Reference|| ESC!
|}
=== ESC R ===
{| class="wikitable"
|-
! ESC R !! 
|-
| Name|| Select international character
|-
| Format|| ASCII   ESC R n
Hex   1B 52 n
Decimal  27 82 n
|-
| Parameter range|| 0≤n≤255 
|-
| Description|| Selects an international character set n as follows::
* n=0 refer to U.S.A
* n=1 refer to France
* n=2 refer to Germany
* n=3 refer to U.K.
* n=4 refer to Denmark I
* n=5 refer to Sweden
* n=6 refer to Italy
* n=7 refer to Spain I
* n=8 refer to Japan
* n=9 refer to Norway
* n=10 refer to Denmark II
* n=11 refer to refer to Spain II
* n=12 refer to Latin America
* n=13 refer to Korea
* n=14 refer to Slovenia/Croatia
* n=15 refer to China
* n=16 refer to Vietnam
* n=17 refer to Arabia
* n=101 refer to ISO-8859-1
* n=102 refer to ISO-8859-2
* n=103 refer to ISO-8859-3
* n=104 refer to ISO-8859-4
* n=105 refer to ISO-8859-5
* n=107 refer to ISO-8859-7
* n=109 refer to ISO-8859-9
* n=113 refer to ISO-8859-13
* n=115 refer to ISO-8859-15
* n=130 refer to GB13030-2000
|-
| Default || n=0(Suggest to use n >100)
|}
=== ESC V ===
{| class="wikitable"
|-
! ESC V !! 
|-
| Name|| Turn 90° clockwise rotation mode on/off
|-
| Format|| ASCII   ESC V n
Hex   1B 56 n
Decimal  27 86 n
|-
| Parameter range|| n = 0,1,48,49
|-
| Description|| Turn 90° clockwise rotation mode on/off using n as follows:
* If n=0 or 48, Turns off 90°clockwise rotation mode
* If n=1 or 49, Turns  on 90°clockwise rotation mode
|-
| Note|| Underline is not effective for the rotation characters
|-
| Default|| n=0
|-
| Reference|| ESC !,ESC -
|}
=== ESC \ ===
{| class="wikitable"
|-
! ESC \ !! 
|-
| Name|| Print and feed paper
|-
| Format|| ASCII   ESC \ nL nH
Hex   1B 5C nL nH
Decimal  27 92 nL nH
|-
| Parameter range||
* 0≤nL≤255
* 0≤nH≤255
|-
| Description || Moves the print position to a location in a distance of (nL + nH × 256) dots from the current position
|-
| Note||
* If the position is not in print area, the set will be ignored.
* If the set position is in right of the current position, the distance N is nL+nH ×256=N
* If the set position is in left of the current position, the distance N is: nL+nH×256=65536-N
|-
| Reference|| ESC $
|}
=== ESC a ===
{| class="wikitable"
|-
! ESC a !! 
|-
| Name|| Set the print alignment mode(left, center or right)
|-
| Format|| ASCII   ESC a n
Hex   1B 61 n
Decimal  27 97 n
|-
| Parameter range|| n=0,1,2,48,49,50
|-
| Description|| Align all data in a line, the meanings of n value are as follows:
* If n = 0,48, mode is left
* If n = 1,49, mode is center
* If n = 2,50, mode is right
|-
| Note|| The settings by this command are effective at the line begin
|-
| Default|| n=0
|}
=== ESC d ===
{| class="wikitable"
|-
! ESC d !! 
|-
| Name|| Print and feed paper for n lines
|-
| Format|| ASCII   ESC d n
Hex   1B 64 n
Decimal  27 100 n
|-
| Parameter range|| 0≤n≤255
|-
| Description|| Print the data in the printer buffer and feed paper for n lines
|-
| Note||
* After printing, the print position moves to the beginning of the line.
* The line space is set by ESC 2 or ESC 3.
|-
| Reference|| ESC 2,ESC 3
|}
=== ESC t ===
{| class="wikitable"
|-
! ESC t !! 
|-
| Name|| Select character code table
|-
| Format|| ASCII   ESC t n
Hex   1B 74 n
Decimal  27 116 n
|-
| Parameter range || 0≤n≤255
|-
| Description|| Selects an code n from the character code table as follows:
n  Character code table
0 PC437: USA, Standard Europe
1 Katakana
2 PC850: Multilingual
3 PC860: Portuguese
4 PC863: Canadian-French
5 PC865: Nordic
11 PC851: Greek
12 PC853: Turkish
13 PC857: Turkish
14 PC737: Greek
15 ISO8859-7: Greek
16 WPC1252
17 PC866: Cyrillic #2
18 PC852: Latin2
19 PC858: Euro
20 KU42: Thai
21 TIS11: Thai
26 TIS18: Thai
30 TCVN-3: Vietnamese I
31 TCVN-3: Vietnamese II
32 PC720: Arabic
33 WPC775: Baltic Rim
34 PC855: Cylillic
35 PC861: Icelandic
36 PC862: Hebrew
37 PC864: Arabic
38 PC869: Greek
39 ISO8859-2: Latin2
40 ISO8859-15: Latin9
41 PC1098: Farsi
42 PC1118: Lithuanian
43 PC1119: Lithuanian
44 PC1125: Ukrainian
45 WPC1250: Latin 2
46 WPC1251: Cyrillic
47 WPC1253: Greek
48 WPC1254: Turkish
49 WPC1255: Hebrew
50 WPC1256: Arabic
51 WPC1257: Baltic Rim
52 WPC1258: Vietnamese
53 KZ1048: Kazakhstan
|-
| Default|| n=0(Suggest to use ESC R command to replace this command)
|}
===ESC { ===
{| class="wikitable"
|-
! ESC { !! 
|-
| Name|| Turn upside-down printing mode on/off
|-
| Format|| ASCII   ESC { n
Hex   1B 7b n
Decimal  27 123 n
|-
| Parameter range|| 0≤n≤255
|-
| Description||turns upside-down print mode on or off:
* 0 Upside-down print mode is turned off
* 1 Upside-down print mode is turned on
|-
| Note||The settings by this command are effective at the line begin.
|}
=== GS ! ===
{| class="wikitable"
|-
! GS ! !! 
|-
| Name||Select character size
|-
| Format|| ASCII   GS ! n
Hex   1D 21 n
Decimal  29 33 n
|-
| Parameter range|| 0≤n≤255
|-
| Description|| Function description Character height is set by the bit0~bit3 of n, and character
width is set by bit4~bit7 of n.
|-
| Note||
* If n is our of range, the command will be ignored.
* Use ESC ! also can turn on/off double-width and double height
|-
| Reference|| ESC !
|}
=== GS B ===
{| class="wikitable"
|-
! GS B !! 
|-
| Name|| Turn black/white inverse printing mode on/off
|-
| Format|| ASCII   GS B n
Hex   1D 412  n
Decimal  29 66  n
|-
| Parameter range|| 0≤n≤255
|-
| Description|| turns upside-down print mode on or off.
* 0 Black/white inverse printing mode is turned off
* 1 Black/white inverse printing mode is turned on
|-
| Note||
* Also effective the blank set by ESC SP.
* Not effective the blank set by HT、ESC $ and ESC \.
* Not effective the line space.
* This command prior to the underline mode, but can not cancel the underline mode.
|-
| Default||n=0
|}
=== GS v 0 ===
{| class="wikitable"
|-
! GS v 0 !! 
|-
| Name|| Print raster bit image
|-
| Format|| ASCII   GS v 0 m xL xH yL yH d1...dk
Hex   1D 76 30  m xL xH yL yH d1...dk
Decimal  29 118 48  m xL xH yL yH d1...dk
|-
| Parameter range||
* 0≤m≤3
* 48≤m≤51
* 0≤xL≤255
* 0≤xH≤255,1≤(xL+xH×256)≤128
* 0≤yL≤255
* 0≤yH≤8,1≤(yL+yH×256)≤4095
* 0≤d≤255
* k=(xL+xH×256)×(yL+yH×256)(k>0)
|-
| Description|| Print raster bit image, the meanings of parameter m are as follows:
{| class="wikitable"
|-
| m || Mode || Vertical dot density ||Horizontal dot density
|-
| 0, 48|| Normal ||203.2 dpi || 203.2 dpi
|-
| 1, 49|| Double width ||203.2 dpi ||101.6 dpi
|-
| 2, 50|| Double height||101.6 dpi ||203.2 dpi
|-
|3, 51 ||Double width & double height||101.6 dpi ||101.6 dpi
|}
|-
| Note||
* xL, xH specifies (xL + xH × 256) bytes in horizontal direction for the bit image.
* yL, yH specifies (yL + yH × 256) dots in vertical direction for the bit image.
* [d]k specifies the bit image data (raster format). k indicates the number of bit image data. k is an explanation parameter; therefore, it does not need to be transmitted
* The print mode command will not affect the command.
* The data out print are will be ignored.
* The print position can be set by HT, ESC $, ESC \, GS L.
* ESC a can affect the raster image.
|-
| Reference|| ESC 2,ESC 3
|}
=== DC2 *  ===
{| class="wikitable"
|-
!DC2 *  !! 
|-
| Name|| Bitmap print
|-
| Format|| ASCII   DC2 * r n d1...dn
Hex   12  2A r n d1...dn
Decimal  18 42 r n d1...dn
|-
| Parameter range||
* 0≤n≤255
* 0<r≤255
|-
| Description||
* Print the assigned height bitmap.
* r:height
* n:width
* only effective when no data in print buffer
* the print mode command will not affect this bitmap.
* The data out of print area will be decrypted.
* Dn is the print data, 1 will print, 0 will not print
|}
=== DC2 V ===
{| class="wikitable"
|-
! DC2 V !! 
|-
| Name|| MSB Bitmap print
|-
| Format|| ASCII   DC2 V n nL nH d1...d48
Hex   12 56 nL nH d1...d48
Decimal  18 86 nL nH d1...d48
|-
| Parameter range|| 0<nL+nH×256
|-
| Description||
* Print the MSB bitmap, the width is 384.
* The height of the bitmap is nL+nH×256.
* Only effective when no data in print buffer
* The print mode command will not affect this bitmap.
* The data out of print area will be decrypted.
* Dn is the print data, 1 will print, 0 will not print.
|}
=== DC2 v ===
{| class="wikitable"
|-
! DC2 v !! 
|-
| Name|| LSB Bitmap print
|-
| Format|| ASCII   DC2 v n nL nH d1...d48
Hex   12 76 nL nH d1...d48
Decimal  18 118 nL nH d1...d48
|-
| Parameter range|| 0<nL+nH×256
|-
| Description||
* Print the LSB bitmap, the width is 384.
* The height of the bitmap is nL+nH×256.
* Only effective when no data in print buffer
* The print mode command will not affect this bitmap.
* The data out of print area will be decrypted.
* Dn is the print data, 1 will print, 0 will not print.
|}
=== DC2 T ===
{| class="wikitable"
|-
! DC2 T !! 
|-
| Name|| Print test page
|-
| Format|| ASCII   DC2 T
Hex   12 54
Decimal  18 84
|-
| Description||Print test page
|}
=== ESC A ===
{| class="wikitable"
|-
! ESC A !! 
|-
| Name|| Check print module version
|-
| Format|| ASCII   ESC A
Hex   1B 41
Decimal  27 65
|-
| Description|| Send the check command, then read the return value. The return value is 32 bytes(char[32])
|}
=== ESC > ===
{| class="wikitable"
|-
! ESC > !! 
|-
| Name|| Check the font library head info
|-
| Format|| ASCII   ESC >
Hex   1B 3E
Decimal  27 62
|-
| Description|| Send the check command, then read the return value. The return value is 128 bytes.
* char magic[8];
* int version;
* int size;
* int offset;
* char md5[16]
* char time[24];
* char reserve[2];
* char describe[64];
* char unuse;
* char checksum
|}
=== GS E ===
{| class="wikitable"
|-
! GS E !! 
|-
| Name|| Set print density
|-
| Format|| ASCII   GS E n
Hex   1D 45 n
Decimal  29 69 n
|-
| Parameter range|| 0≤n≤3
|-
| Description||
{| class="wikitable"
|-
| n || description
|-
| 0|| lighter
|-
| 1|| light
|-
| 2|| dark
|-
| 3|| darker
|}
|-
| Note||This setting will effect all the time until power off the printer or reset the
command
|-
| Default|| n=1
|}
|}

Latest revision as of 03:10, 22 April 2021

Technical manual

ESC Commands

HT

HT
Name Horizontal tab
Format ASCII HT

Hex 09

Decimal 9

Description Move the print position to the next tab position.
  • If no tab position is set (it is default setting), this command will be ignored
  • The tab position is set by ESC D
  • If the tab position exceeds the print area, printing position will be moved to the starting position of next line (Considering as a line is full, print the data and feed one line).


Reference ESC D

LF

LF
Name Print and feed paper
Format ASCII LF

Hex 0A

Decimal 10

Description Print the data in the printer buffer, then feed paper for one line

according to the current line space settings. After printing, the print

position moves to the beginning of the line.

Reference ESC 2,ESC 3

CR

CR
Name Carriage return
Format ASCII CR

Hex 0D

Decimal 13

Description Adjust the print position to the starting position of this line and line

feed.

Reference LF

ESC SP

ESC SP
Name Set the right-side character space
Format ASCII ESC SP n

Hex 1B 20 n

Decimal 27 32 n

Description Set the right right-side character space is [n×0.125mm]
  • For double width mode, the character right margin is double than normal mode.
  • The command will not effective to Chinese characte
Default n=0

ESC ! (Ⅰ)

ESC ! n
Name set the font type
Format ASCII ESC ! n

Hex 1B 21 n

Decimal 27 33 n

Description Set the font type (italic, border, bold, double width, double height,

inverse or underline). And the bit definitions of parameter n are shown as follows table

Reference ESC -, ESC E, GS !
Default n=0

ESC ! (Ⅱ)

Bit On/off Hex Decimal Function
0 off 00 0 Character type A (12×24)
0 on 01 1 Character type B (9×17)
4 off 00 0 Double-height mode off
4 on 10 16 Double-height mode on
5 off 00 0 Double-width mode off
5 on 20 32 Double-width mode on
7 off 00 0 Underline mode off
7 on 80 128 Underline mode on
  • If set double-width and double-height at the same time, quadrupled thecharacter size.
  • Can not underline the blank generated by HT or the rotate 90 character.
  • The width of under line set by ESC -, have not affected by the character size.
  • ESC M also can set character type.
  • ESC – also can turn on/off underline.
  • GS ! also can set character size.

ESC $

ESC $ nL nH
Name Set the absolute print position
Format ASCII ESC $ nL nH

Hex ESC $ nL nH

Decimal 27 36 nL nH

Parameter Range
  • 0≤nL≤255
  • 0≤nH≤255
Description Moves the print position to a location in a distance of (nL + nH × 256) dots from

the starting position for printing

Reference ESC \

ESC *

ESC * m nL nH d1...dk
Name Select bit-image mode
Format ASCII ESC * m nL nH d1...dk

Hex 1B 2A m nL nH d1...dk

Decimal 27 42 m nL nH d1...dk

Parameter Range
  • m = 0,1,32,33
  • 0≤nL≤255
  • 0≤nH≤3
  • 0≤d≤255
Description Stores the bit image data in the print buffer using the mode specified

by bit image mode m, nl and nh specifies a bit image in the horizontal direction as(nl+256×nh) dots, [d]k specifies the bit image data (column format) k indicates the amount of bit image data, but it does not need to be transmitted..

Note
  • If m is out of Parameter Range, the nL and the other data will regard as the normal data.
  • If the bit image exceeds one line of print area, the excess part will be Ignored.
  • Data [d]k specifies a bit printed to 1 and not printed to 0.
  • Bold, double-strike, underline, character size, upside-down, black/white command will not affect to the command.

ESC -

ESC - n
Name Turn underline mode on/off
Format ASCII ESC - n

Hex 1B 2D n

Decimal 27 45 n

Description Turns underline mode on or off using n as follows
  • if n= 0 or 48, Turns off underline mode
  • if n=1 or 49, Turns on underline mode (1-dot thick)
  • if n=2 or 50, Turns on underline mode (2-dots thick)
Note
  Can not underline the blank generated by HT or the rotate 90 character.
  Default width is 1-dot thick.
  The thick is not affected by the character size.
  ESC ! can also turn on/off underline.
Default n=0
Reference ESC !

ESC 2

ESC 2
Name Set the line space to a default value 3mm
Format ASCII ESC 2

Hex 1B 32

Decimal 27 50

Description Set the line space to a default value 3mm(24×0.125mm)
Reference ESC 3

ESC 3

ESC 3
Name Set the line space to n dots
Format ASCII ESC 3 n

Hex 1B 33 n

Decimal 27 51 n

Description ASet the line space to n dots
Default n=24
Reference ESC 2

ESC SO

ESC SO
Name Turn on double width mode
Format ASCII ESC SO n

Hex 1B 0E n

Decimal 27 14 n

Parameter Range 0≤n≤255
Description Turn on double width mode
Note Use LF or ESC DC4 to turn off
Default n=2

ESC DC4

ESC DC4
Name Turn off double width mode
Format ASCII ESC DC4 n

Hex 1B 14 n

Decimal 27 20 n

Parameter Range 0≤n≤255
Description Turn off double width mode
Default n=2
Note The value of n is same with the n in turn on command

ESC @

ESC @
Name Initialize the printer
Format ASCII ESC @

Hex 1B 40

Decimal 27 64

Description Reset the printer, the print mode reset to the default setting
Note Can not clear the data in receive buffer

ESC B

ESC B
Name Set the left margin
Format ASCII ESC B n

Hex 1B 42 n

Decimal 27 66 n

Parameter Range 0≤n≤47
Description Set the left margin
Note This command just affects the character, doesn’t affect the Chinese
Default n=0

ESC D

ESC D
Name Set horizontal tab positions
Format ASCII ESC D n1...nk NUL

Hex 1B 44 n1...nk 00

Decimal 27 68 n1...nk 0

Parameter range
  • 1≤n≤255
  • 0≤k≤32
Description Set the horizontal tab positions, the meanings of parameters are as follows:

n1..nk are horizontal tab position (Unit: 8 dots), NULL is a stop character

Note
  1. Horizontal tab position stored as a data, the data value is [character width×n] measured from the line begin.
  2. When this command is used, any previous horizontal tab settings will be canceled.
  3. The tab position can be switched by HT command
  4. The max set value is 32(k=32), larger than 32, the larger data will regard as normal data.
  5. Transmit [d]k in ascending order and place a NULL code at the end.
  6. When dk is less than or equal to dk-1, horizontal tab setting is finished, and the following data will be processed as normal data.
  7. ESC D NUL will cancel the horizontal tab position.
  8. Even the character width change, the set tab position will not change.
Defualt Default tab position is character type A(12×24), the eight character space

(column 9,17,25 ...)

Reference HT

ESC E

ESC E
Name Turn bold mode on/off
Format ASCII ESC E n

Hex 1B 45 n

Decimal 27 69 n

Parameter range 0≤n≤255
Descriptiopn Turns bold mode on or off using n as follows:

If n = 0, turn off the bold, if n = 1, turn on the bold.

Default n = 0
Reference ESC !

ESC J

ESC J
Name Print and feed paper for n dots
Format ASCII ESC J n

Hex 1B 4A n

Decimal 27 74 n

Parameter range 0≤n≤255
Description Print the data in the printer buffer and feed paper for n dots(0.125mm per

dot)

Note
  • After printing, the print position moves to the beginning of the line.
  • This has not affected the set value by ESC 2 or ESC 3.

ESC G

ESC G
Name Print and feed paper
Format ASCII ESC G n

Hex 1B 47 n

Decimal 27 71 n

Parameter range 0≤n≤255
Description Turn double-strike mode on/off:
  • 0: turn off double-strike
  • 1: turn on double-strike。
Note The double-strike has the same print with bold print
Default n=0
Reference ESC E

ESC M

ESC M
Name Select the character type
Format ASCII ESC M n

Hex 1B 4D n

Decimal 27 77 n

Parameter range n = 0,1,48,49
Description Select character type:

If n=0 or 48,Character type A (12×24) If n=1 or 49,Character type B (9×17)

Reference ESC!

ESC R

ESC R
Name Select international character
Format ASCII ESC R n

Hex 1B 52 n

Decimal 27 82 n

Parameter range 0≤n≤255
Description Selects an international character set n as follows::
  • n=0 refer to U.S.A
  • n=1 refer to France
  • n=2 refer to Germany
  • n=3 refer to U.K.
  • n=4 refer to Denmark I
  • n=5 refer to Sweden
  • n=6 refer to Italy
  • n=7 refer to Spain I
  • n=8 refer to Japan
  • n=9 refer to Norway
  • n=10 refer to Denmark II
  • n=11 refer to refer to Spain II
  • n=12 refer to Latin America
  • n=13 refer to Korea
  • n=14 refer to Slovenia/Croatia
  • n=15 refer to China
  • n=16 refer to Vietnam
  • n=17 refer to Arabia
  • n=101 refer to ISO-8859-1
  • n=102 refer to ISO-8859-2
  • n=103 refer to ISO-8859-3
  • n=104 refer to ISO-8859-4
  • n=105 refer to ISO-8859-5
  • n=107 refer to ISO-8859-7
  • n=109 refer to ISO-8859-9
  • n=113 refer to ISO-8859-13
  • n=115 refer to ISO-8859-15
  • n=130 refer to GB13030-2000
Default n=0(Suggest to use n >100)

ESC V

ESC V
Name Turn 90° clockwise rotation mode on/off
Format ASCII ESC V n

Hex 1B 56 n

Decimal 27 86 n

Parameter range n = 0,1,48,49
Description Turn 90° clockwise rotation mode on/off using n as follows:
  • If n=0 or 48, Turns off 90°clockwise rotation mode
  • If n=1 or 49, Turns on 90°clockwise rotation mode
Note Underline is not effective for the rotation characters
Default n=0
Reference ESC !,ESC -

ESC \

ESC \
Name Print and feed paper
Format ASCII ESC \ nL nH

Hex 1B 5C nL nH

Decimal 27 92 nL nH

Parameter range
  • 0≤nL≤255
  • 0≤nH≤255
Description Moves the print position to a location in a distance of (nL + nH × 256) dots from the current position
Note
  • If the position is not in print area, the set will be ignored.
  • If the set position is in right of the current position, the distance N is nL+nH ×256=N
  • If the set position is in left of the current position, the distance N is: nL+nH×256=65536-N
Reference ESC $

ESC a

ESC a
Name Set the print alignment mode(left, center or right)
Format ASCII ESC a n

Hex 1B 61 n

Decimal 27 97 n

Parameter range n=0,1,2,48,49,50
Description Align all data in a line, the meanings of n value are as follows:
  • If n = 0,48, mode is left
  • If n = 1,49, mode is center
  • If n = 2,50, mode is right
Note The settings by this command are effective at the line begin
Default n=0

ESC d

ESC d
Name Print and feed paper for n lines
Format ASCII ESC d n

Hex 1B 64 n

Decimal 27 100 n

Parameter range 0≤n≤255
Description Print the data in the printer buffer and feed paper for n lines
Note
  • After printing, the print position moves to the beginning of the line.
  • The line space is set by ESC 2 or ESC 3.
Reference ESC 2,ESC 3

ESC t

ESC t
Name Select character code table
Format ASCII ESC t n

Hex 1B 74 n

Decimal 27 116 n

Parameter range 0≤n≤255
Description Selects an code n from the character code table as follows:

n Character code table 0 PC437: USA, Standard Europe 1 Katakana 2 PC850: Multilingual 3 PC860: Portuguese 4 PC863: Canadian-French 5 PC865: Nordic 11 PC851: Greek 12 PC853: Turkish 13 PC857: Turkish 14 PC737: Greek 15 ISO8859-7: Greek 16 WPC1252 17 PC866: Cyrillic #2 18 PC852: Latin2 19 PC858: Euro 20 KU42: Thai 21 TIS11: Thai 26 TIS18: Thai 30 TCVN-3: Vietnamese I 31 TCVN-3: Vietnamese II 32 PC720: Arabic 33 WPC775: Baltic Rim 34 PC855: Cylillic 35 PC861: Icelandic 36 PC862: Hebrew 37 PC864: Arabic 38 PC869: Greek 39 ISO8859-2: Latin2 40 ISO8859-15: Latin9 41 PC1098: Farsi 42 PC1118: Lithuanian 43 PC1119: Lithuanian 44 PC1125: Ukrainian 45 WPC1250: Latin 2 46 WPC1251: Cyrillic 47 WPC1253: Greek 48 WPC1254: Turkish 49 WPC1255: Hebrew 50 WPC1256: Arabic 51 WPC1257: Baltic Rim 52 WPC1258: Vietnamese 53 KZ1048: Kazakhstan

Default n=0(Suggest to use ESC R command to replace this command)

ESC {

ESC {
Name Turn upside-down printing mode on/off
Format ASCII ESC { n

Hex 1B 7b n

Decimal 27 123 n

Parameter range 0≤n≤255
Description turns upside-down print mode on or off:
  • 0 Upside-down print mode is turned off
  • 1 Upside-down print mode is turned on
Note The settings by this command are effective at the line begin.

GS !

GS !
Name Select character size
Format ASCII GS ! n

Hex 1D 21 n

Decimal 29 33 n

Parameter range 0≤n≤255
Description Function description Character height is set by the bit0~bit3 of n, and character

width is set by bit4~bit7 of n.

Note
  • If n is our of range, the command will be ignored.
  • Use ESC ! also can turn on/off double-width and double height
Reference ESC !

GS B

GS B
Name Turn black/white inverse printing mode on/off
Format ASCII GS B n

Hex 1D 412 n

Decimal 29 66 n

Parameter range 0≤n≤255
Description turns upside-down print mode on or off.
  • 0 Black/white inverse printing mode is turned off
  • 1 Black/white inverse printing mode is turned on
Note
  • Also effective the blank set by ESC SP.
  • Not effective the blank set by HT、ESC $ and ESC \.
  • Not effective the line space.
  • This command prior to the underline mode, but can not cancel the underline mode.
Default n=0

GS v 0

GS v 0
Name Print raster bit image
Format ASCII GS v 0 m xL xH yL yH d1...dk

Hex 1D 76 30 m xL xH yL yH d1...dk

Decimal 29 118 48 m xL xH yL yH d1...dk

Parameter range
  • 0≤m≤3
  • 48≤m≤51
  • 0≤xL≤255
  • 0≤xH≤255,1≤(xL+xH×256)≤128
  • 0≤yL≤255
  • 0≤yH≤8,1≤(yL+yH×256)≤4095
  • 0≤d≤255
  • k=(xL+xH×256)×(yL+yH×256)(k>0)
Description Print raster bit image, the meanings of parameter m are as follows:
m Mode Vertical dot density Horizontal dot density
0, 48 Normal 203.2 dpi 203.2 dpi
1, 49 Double width 203.2 dpi 101.6 dpi
2, 50 Double height 101.6 dpi 203.2 dpi
3, 51 Double width & double height 101.6 dpi 101.6 dpi
Note
  • xL, xH specifies (xL + xH × 256) bytes in horizontal direction for the bit image.
  • yL, yH specifies (yL + yH × 256) dots in vertical direction for the bit image.
  • [d]k specifies the bit image data (raster format). k indicates the number of bit image data. k is an explanation parameter; therefore, it does not need to be transmitted
  • The print mode command will not affect the command.
  • The data out print are will be ignored.
  • The print position can be set by HT, ESC $, ESC \, GS L.
  • ESC a can affect the raster image.
Reference ESC 2,ESC 3

DC2 *

DC2 *
Name Bitmap print
Format ASCII DC2 * r n d1...dn

Hex 12 2A r n d1...dn

Decimal 18 42 r n d1...dn

Parameter range
  • 0≤n≤255
  • 0<r≤255
Description
  • Print the assigned height bitmap.
  • r:height
  • n:width
  • only effective when no data in print buffer
  • the print mode command will not affect this bitmap.
  • The data out of print area will be decrypted.
  • Dn is the print data, 1 will print, 0 will not print

DC2 V

DC2 V
Name MSB Bitmap print
Format ASCII DC2 V n nL nH d1...d48

Hex 12 56 nL nH d1...d48

Decimal 18 86 nL nH d1...d48

Parameter range 0<nL+nH×256
Description
  • Print the MSB bitmap, the width is 384.
  • The height of the bitmap is nL+nH×256.
  • Only effective when no data in print buffer
  • The print mode command will not affect this bitmap.
  • The data out of print area will be decrypted.
  • Dn is the print data, 1 will print, 0 will not print.

DC2 v

DC2 v
Name LSB Bitmap print
Format ASCII DC2 v n nL nH d1...d48

Hex 12 76 nL nH d1...d48

Decimal 18 118 nL nH d1...d48

Parameter range 0<nL+nH×256
Description
  • Print the LSB bitmap, the width is 384.
  • The height of the bitmap is nL+nH×256.
  • Only effective when no data in print buffer
  • The print mode command will not affect this bitmap.
  • The data out of print area will be decrypted.
  • Dn is the print data, 1 will print, 0 will not print.

DC2 T

DC2 T
Name Print test page
Format ASCII DC2 T

Hex 12 54

Decimal 18 84

Description Print test page

ESC A

ESC A
Name Check print module version
Format ASCII ESC A

Hex 1B 41

Decimal 27 65

Description Send the check command, then read the return value. The return value is 32 bytes(char[32])

ESC >

ESC >
Name Check the font library head info
Format ASCII ESC >

Hex 1B 3E

Decimal 27 62

Description Send the check command, then read the return value. The return value is 128 bytes.
  • char magic[8];
  • int version;
  • int size;
  • int offset;
  • char md5[16]
  • char time[24];
  • char reserve[2];
  • char describe[64];
  • char unuse;
  • char checksum

GS E

GS E
Name Set print density
Format ASCII GS E n

Hex 1D 45 n

Decimal 29 69 n

Parameter range 0≤n≤3
Description
n description
0 lighter
1 light
2 dark
3 darker
Note This setting will effect all the time until power off the printer or reset the

command

Default n=1