Thermal_Receipt_Printer_Program_Manual-v1.0
Thermal_Receipt_Printer_Program_Manual-v1.0
PROGRAMMING MANUAL
1. Command List
Command Name
HT Horizontal tab
LF Print and line feed
FF Print and return to standard mode (in page mode)
CR Print and carriage return
CAN Cancel print data in page mode
DLE EOT n Real-time status transmission
DLE ENQ n Real-time request to printer
DLE DC4 n Generate pulse at real-time
ESC FF Print data in page mode
ESC SP n Set right-side character spacing
ESC ! n Select print mode(s)
ESC $ nL nH Set absolute print position
ESC % n Select/cancel user-defined character set
ESC & y c1 c2 Define user-defined characters
ESC * Select bit-image mode
ESC - n Turn underline mode on/off
ESC 2 n Select default line spacing
ESC 3 n Set line spacing
ESC = n Select peripheral device
ESC ? n Cancel user-defined characters
ESC @ Initialize printer
ESC D Set horizontal tab positions
ESC E n Turn emphasized mode on/off
ESC G n Turn double-strike mode on/off
ESC J n Print and feed paper
ESC L Select page mode
ESC R n Select an international character set
ESC S Select standard mode _ Ignored
ESC T n Select print direction in page mode
ESC V n Turn 90°clockwise rotation mode on/off
ESC W Set printing area in page mode
ESC \ nL nH Set relative print position
ESC a n Select justification
ESC c 3 n Select paper sensor(s) to output paper-end signals
ESC c 4 n Select paper sensor(s) to stop printing
ESC c 5 n Enable/disable panel buttons
ESC d n Print and feed n lines
ESC p m t1 t2 General pulse
ESC t n Select character code table
ESC { Turn upside-down printing mode on/off
Command classification
Executing: Printer executes the command, which does not then affect the following data.
Setting: Printer uses flags to make settings, and those settings affect the following data.
HT
[Name] Horizontal tab
[Format] ASCII HT
Hex 09
Decimal 9
[Description] Moves the print position to the next horizontal tab position.
[Details] • This command is ignored unless the next horizontal tab position has been set.
• If the next horizontal tab position exceeds the printing area, the printer sets the
printing position to [Printing area width +1].
• Horizontal tab positions are set with ESCD.
• If this command is received when the printing position is at [printing area width
+ 1], the printer executes print buffer-full printing of the current line and
horizontal tab processing from the beginning of the next line.
• The default setting of the horizontal tab position for the paper roll is font A
(12 ╳ 24) every 8th character (9th, 17th, 25th, ... column).
[Reference] ESC D
LF
[Name] Print and line feed
[Format] ASCII LF
Hex 0A
Decimal 10
[Description] Prints the data in the print buffer and feeds one line based on the current line
spacing.
[Note] This command sets the print position to the beginning of the line.
[Reference] ESC 2, ESC 3
FF
[Name] Print and return to standard mode in page mode
[Format] ASCII FF
Hex 0C
Decimal 12
[Description] Prints the data in the print buffer collectively and returns to standard mode.
[Details] The buffer data is deleted after being printed.
The printing area set by ESC W is reset to the default setting.
The printer does not execute paper cutting.
This command sets the print position to the beginning of the line.
This command is enabled only in page mode.
[Reference] ESC FF, ESC L, ESC S
CR
[Name] Print and carriage return
[Format] ASCII CR
Hex 0D
Decimal 13
CAN
[Name] Cancel print data in page mode
[Format] ASCII CAN
Hex 18
Decimal 24
[Description] In page mode, deletes all the print data in the current printable area.
[Details] This command is enabled only in page mode.
If data that existed in the previously specified printing area also exists in the
currently specified printing area, it is deleted.
[Reference] ESC L, ESC W
DLE EOT n
[Name] Real-time status transmission
[Format] ASCII DLE EOT n
Hex 10 04 n
Decimal 16 4 n
[Range] 1 <= n <= 4
[Description] Transmits the selected printer status specified by n in real-time, according to the
following parameters:
n = 1: Transmit printer status
n = 2: Transmit off-line status
n = 3: Transmit error status
n = 4: Transmit paper roll sensor status
[Details] The status is transmitted whenever the data sequence of <10>H<04>H< n>
(1 <= n <= 4) is received.
Example:
In ESC m nL nH d1...dk, d1=<10>H, d2=<04>H, d3=<01>H
This command should not be used within the data sequence of another
command that consists of 2 or more bytes.
Example:
If you attempt to transmit ESC 3 n to the printer, but DTR (DSR for the host
computer) goes to MARK before n is transmitted and then DLE EOT 3
interrupts before n is received, the code <10>H for DLE EOT 3 is processed
as the code for ESC 3 <10>H.
Even though the printer is not selected using ESC = (select peripheral device),
this command is effective.
The printer transmits the current status. Each status is represented by onebyte
data.
n = 2: Off-line status
Bit Off/On Hex Decimal Function
0 0 00 0 Not used.Fixed to Off.
1 1 02 2 Not used.Fixed to On.
2 0 00 0 Cover is closed.
1 04 4 Cover is open.
3 0 00 0 Paper is not being fed by using the FEED button.
1 08 8 Paper is beging fed by the FEED button.
4 1 10 16 Not used.Fixed to On.
5 0 00 0 No paper-end stop.
1 20 32 Printing is being stopped.
6 0 00 0 No error.
1 40 64 Error occurs.
7 0 00 0 Not used.Fixed to Off.
DLE ENQ n
[Name] Real-time request to printer
[Format] ASCII DLE ENQ n
Hex 10 05 n
Decimal 16 5 n
[Range] 1 <= n <= 2
[Description] Responds to a request from the host computer. n specifies the requests as
follows:
n Request
1 Recover from an error and restart printing from the line where the error occurred
2 Recover from an error aft clearing the receive and print buffers
[Details] This command is effective only when an auto-cutter error occurs.
The printer starts processing data upon receiving this command.
This command is executed even when the printer is off-line, the receive buffer
is full, or there is an error status with a serial interface model.
With a parallel interface model, this command can not be executed when the
printer is busy. This command is executed even when the printer is off-line or
DLE DC4 n m t
[Name] Generate pulse at real-time
[Format] ASCII DLE DC4 n m t
Hex 10 14 n m t
Decimal 16 20 n m t
[Range] n=1
m = 0, 1
1 <= t <=8
[Description] Outputs the pulse specified by t to connector pin m as follows:
m Connector pin
0 Drawer kick-out connector pin 2.
1 Drawer kick-out connector pin 5.
The pulse ON time is [ t 100 ms] and the OFF time is [ t 100ms].
[Details] When the printer is in an error status when this command is processed, this
command is ignored.
When the pulse is output to the connector pin specified while ESC p or DEL
DC4 is executed while this command is processed, this command is ignored.
The printer executes this command upon receiving it.
With a serial interface model, this command is executed even when the printer
is off-line, the receive buffer is full, or there is an error status.
ESC FF
[Name] Print data in page mode
[Format] ASCII ESC FF
Hex 1B 0C
Decimal 27 12
[Description] In page mode, prints all buffered data in the printing area collectively.
[Details] This command is enabled only in page mode.
After printing, the printer does not clear the buffered data, setting values for
ESC T and ESC W, and the position for buffering character data.
[Reference] FF, ESC L, ESC S
ESC SP n
[Name] Set right-side character spacing
[Format] ASCII ESC SP n
Hex 1B 20 n
Decimal 27 32 n
[Range] 0 ≤ n ≤ 255
[Description] Sets the character spacing for the right side of the character to [ n horizontal
orvertical motion units].
[Details] • The right-side character spacing for double-width mode is twice the normal
value. When characters are enlarged, the right-side character spacing is n
times normal value.
• This command does not affect the setting of kanji characters.
• This command sets values independently in each mode (standard and page
modes).
• The horizontal and vertical motion unit are specified by GS P. Changing the
horizontal or vertical motion unit does not affect the current right-side spacing.
• The GS P command can change the horizontal (and vertical) motion unit.
However, the value cannot be less than the minimum horizontal movement
amount, and it must be in even units of the minimum horizontal movement
amount.
• In standard mode, the horizontal motion unit is used.
• In page mode, the horizontal or vertical motion unit differs in page mode,
depending on starting position of the printable area asfollows:
1 When the starting position is set to the upper left or lower right of the
printable area using ESC T, the horizontal motion unit ( x) is used.
2 When the starting position is set to the upper right or lower left of the
ESC ! n
[Name] Select print mode(s)
[Format] ASCII ESC ! n
Hex 1B 21 n
Decimal 27 33 n
[Range] 0 ≤ n ≤ 255
[Description] Selects print mode(s) using n asfollows:
Bit Off/On Hex Decimal Function
0 Off 00 0 Character font A (12 ╳ 24).
On 01 1 Character font B (9 ╳ 17).
1 - - - Undefined.
2 - - - Undefined.
3 Off 00 0 Emphasized mode not selected.
On 08 8 Emphasized mode selected.
4 Off 00 0 Double-height mode not selected.
On 10 16 Double-height mode selected.
5 Off 00 0 Double-width mode not selected.
On 20 32 Double-width mode selected.
6 - - - Undefined.
7 Off 00 0 Underline mode not selected.
On 80 128 Underline mode selected.
[Details] • When both double-height and double-width modes are selected, quadruple size
characters are printed.
• The printer can underline all characters, but can not underline the space set by
HT or 90° clockwise rotated characters.
• The thickness of the underline is that selected by ESC , regardless of the
character size.
• When some characters in a line are double or more height, all the characters
on the line are aligned atthe baseline.
• ESC E can also turn on or off emphasized mode. However, the setting of the
last received command is effective.
• ESC — can also turn on or off underline mode. However, the setting of the
lasrt eceived command is effective.
• GS ! can also select character size. However, the setting of the last received
command is effective.
• Emphasized mode is effective for alphanumeric and Kanji. All print modes
except emphasized mode is effective only foralphanumeric.
[Default] n =0
[Reference] ESC -, ESC E, GS!
ESC % n
[Name] Select/cancel user-defined character set
[Format] ASCII ESC % n
Hex 1B 25 n
Decimal 27 37 n
[Range] 0 ≤ nL ≤ 255
[Description] Selects or cancels the user-defined characterset.
• When the LSB of n is 0, the user-defined character set is canceled.
• When the LSB of n is 1, the user-defined character set is selected.
[Details] • When the user-defined character set is canceled, the internal character set is
automatically selected.
• n is available only for the least significant bit.
[Default] n=0
[Reference] ESC &, ESC ?
[Details] • If the values of m is out of the specified range, nL and data following are
processed as normal data.
• The nL and nH indicate the number of dots of the bit image in the horizontal
direction. The number of dots is calculated by nL + nH ╳ 256.
• If the bit-image data input exceeds the number of dots to be printed on a line,
the excess data is ignored.
• d indicates the bit-image data. Set a corresponding bit to 1 to print a dot or to 0
[Details] • The printer can underline all characters (including right-side character spacing),
but cannot underline the space set by HT.
• The printer cannot underline 90 clockwise rotated characters and white/black
inverted characters.
• When underline mode id turned off by setting the value of n to 0 or 48, the
following data is not underlined, and the underline thickness set before the
mode is turned off does not change. The default underline thickness is 1dot.
• Changing the character size does not affect the current underline thickness.
• Underline mode can also be turned on or off by using ESC !. Note, however,
that the last received command iseffective.
•This command does not affect the setting of Kanjicharacters.
[Default] n =0
[Reference] ESC !
ESC 3 n
[Name] Set line spacing
[Format] ASCII ESC 3 n
Hex 1B 33 n
Decimal 27 51 n
[Range] 0 ≤ n ≤ 255
[Description] Sets the line spacing to [ n ╳ vertical or horizontal motion unit] inches. [Details]
• The line spacing can be set independently in standard mode and in page mode.
• The horizontal and vertical motion unit are specified by GS P. Changing the
horizontal or vertical motion unit does not affect the current line spacing.
• The GS P command can change the horizontal (and vertical) motion unit.
However, the value cannot be less than the minimum vertical movement
amount, and it must be in even units of the minimum vertical movement
amount.
• In standard mode, the vertical motion unit (y) is used.
• In page mode, this command functions as follows, depending on the starting
position of the printablearea:
① When the starting position is set to the upper left or lower right of the
printable area using ESC T, the vertical motion unit (y) is used.
② When the starting position is set to the upper right or lower left of the print
able area using ESC T, the horizontal motion unit ( x) is used.
• The maximum paper feed amount is 1016 mm (40 inches). Even if a paper
feed amount of more than 1016 mm (40 inches) is set, the printer feeds the
paper only 1016 mm (40inches).
[Default] Line spacing equivalent to approximately 4.23mm (1/6 inches).
[Reference] ESC 2, GS P
ESC = n
[Name] Set peripheral device
[Format] ASCII ESC = n
Hex 1B 3D n
Decimal 27 61 n
[Range] 1≤ n≤ 255
[Description] Selects device to which host computer sends data, using n as follows:
Bit Off/On Hex Decimal Function
Off 00 0 Printer disabled
0
On 01 1 Printer enabled
1-7 - - - Undefined
[Details] When the printer is disabled, it ignores all data except for error-recovery commands (DLE EOT,
ESC ? n
[Name] Cancel user-defined characters
[Format] ASCII ESC ? n
Hex 1B 3F n
Decimal 27 63 n
[Range] 32 ≤ n ≤ 126
[Description] Cancels user-defined characters.
[Details] • This command cancels the pattern defined for the character code specified by
n. After the user-defined characters is canceled, the corresponding pattern for
the internal character is printed.
• This command deletes the pattern defined for the specified code in the font
selected by ESC !.
• If a user-defined character has not been defined for the specified character
code, the printer ignores thiscommand.
[Reference] ESC &, ESC %
ESC @
[Name] Initialize printer
[Format] ASCII ESC @
Hex 1B 40
Decimal 27 64
[Description] Clears the data in the print buffer and resets the printer mode to the mode that
was in effect when the power was turned on.
[Details] • The DIP switch settings are not checked again.
• The data in the receive buffer is not cleared.
• The macro definition is notcleared.
• The NV bit image data is not cleared.
• The data of the user NV memory is not cleared.
ESC E n
[Name] Turn emphasized mode on/off
[Format] ASCII ESC E n
Hex 1B 45 n
Decimal 27 69 n
[Range] 0 <= n <= 255
[Description] Turns emphasized mode on or off
• When the LSB of n is 0, emphasized mode is turned off.
• When the LSB of n is 1, emphasized mode is turned
on.[Details] • Only the least significant bit of n is enabled.
• This command and ESC ! turn on and off emphasized mode in the same way.
Be careful when this command is used with ESC !.
[Default] n=0
[Reference] ESC !
ESC G n
[Name] Turn on/off double-strike mode
[Format] ASCII ESC G n
Hex 1B 47 n
Decimal 27 71 n
[Range] 0 ≤ n ≤ 255
[Description] Turns double-strike mode on oroff.
• When the LSB of n is 0, double-strike mode is turned off.
• When the LSB of n is 1, double-strike mode is turned on.
[Details] • Only the lowest bit of n is enabled.
• Printer output is the same in double-strike mode and in emphasized mode.
[Default] n =0
[Reference] ESC E
ESC J n
[Name] Print and feed paper
[Format] ASCII ESC J n
Hex 1B 4A n
ESC L
[Name] Select page mode
[Format] ASCII ESC L
Hex 1B 4C
Decimal 27 76
[Description] Switches from standard mode to page mode.
[Details] • This command is enabled only when processed at the beginning of a line in
standard mode.
• This command has no effect in page mode.
• After printing by FF is completed or by using ESC S, the printer returns to
standard mode.
• This command sets the position where data is buffered to the position specified
by ESC T within the printing area defined by ESC W.
• This command switches the settings for the following commands (in which the
values can be set independently in standard mode and page mode) to those for
page mode:
① Set right-side character spacing: ESC SP, FS S
② Select default line spacing: ESC 2, ESC 3
• Only valve settings is possible for the following commands in page mode; these
commands are not executed.
① Turn 90°clockwise rotation mode on/off: ESC V
② Select justification: ESC a
③ Turn upside-down printing mode on/off: ESC {
④ Set left margin: GS L
ESC M n
[Name] Select character font
[Format] ASCII ESC M n
Hex 1B 4D n
Decimal 27 77 n
[Range] n = 0, 1, 48, 49
[Description] Selects character fonts.
n Function
0,48 Character font A (12 24) selected.
1,49 Character font B (9 17) selected.
ESC R n
[Name] Select an international character set
[Format] ASCII ESC R n
Hex 1B 52 n
Decimal 27 82 n
[Range] 0 ≤ n ≤ 15
[Description] Selects an international character set n from the following table:
n Character
0 U.S.A.
1 France
2 Germany
3 U.K.
4 Denmark
5 Sweden
6 Italy
7 Spain
8 Japan
9 Norway
10 Denmark
11 Spain
12 Latin
ESC S
[Name] Select standard mode
[Format] ASCII ESC S
Hex 1B 53
Decimal 27 83
[Description] Switches from page mode to standard mode.
[Details] This command is effective only in page mode.
Data buffered in page mode are cleared.
This command sets the print position to the beginning of the line.
The printing area set by ESC W are initialized.
This command switches the settings for the following commands (in which the
values can be set independently in standard mode and page mode) to those for
standard mode:
① Set right-side character spacing: ESC SP, FS S
② Select default line spacing: ESC 2, ESC 3
The following commands are enabled only to set in standard mode.
① Set printing area in page mode: ESC W
② Select print direction in page mode: ESC T
The following commands are ignored in standard mode.
① Set absolute vertical print position in page mode: GS $
② Set relative vertical print position in page mode: GS \
Standard mode is selected automatically when power is turned on, the printerisreset,
or command ESC @ is used.
[Reference] FF, ESC FF, ESC L
ESC T n
[Name] Select print direction in page mode
[Format] ASCII ESC T n
Hex 1B 54 n
Decimal 27 84 n
[Range] 0 <= n <= 3
48 <= n <= 51
[Description] Selects the print direction and starting position in page mode.
n specifies the print direction and starting position as follows:
n Print Direction Starting Position
0, 48 Left to right Upper left
[Details] When the command is input in standard mode, the printer executes only
internal flag operation. This command does not affect printing in standard
mode.
This command sets the position where data is buffered within the printing area
set by ESC W.
Parameters for horizontal or vertical motion units ( x or y) differ as follows,
depending on the starting position of the printing area:
① If the starting position is the upper left or lower right of the printing area, data
is buffered in the direction perpendicular to the paper feed direction:
Commands using horizontal motion units: ESC SP, ESC $, ESC \
Commands using vertical motion units: ESC 3, ESC J, GS $, GS \
② If the starting position is the upper right or lower left of the printing area, data
is buffered in the paper feed direction:
Commands using horizontal motion units: ESC 3, ESC J, GS $, GS \
Commands using vertical motion units: ESC SP, ESC $, ESC \
[Default] n=0
[Reference] ESC $, ESC L, ESC W, ESC \, GS $, GS P, GS \
ESC V n
[Name] Turn 90 clockwise rotation mode on/off
[Format] ASCII ESC V n
Hex 1B 56 n
Decimal 27 86 n
[Range] 0 <= n <= 1, 48 <= n <= 49
[Description] Turns 90 clockwise rotation mode on/off
n is used as follows:
n Function
0, 48 Turns off 90 clockwise rotation mode
1, 49 Turns on 90 clockwise rotation mode
ESC \ nL nH
[Name] Set relative printposition
[Format] ASCII ESC \ nL nH
Hex 1B 5C nL nH
Decimal 27 92 nL nH
[Range] 0 ≤ nL ≤ 255
0 ≤ nH ≤ 255
[Description] Sets the print starting position based on the current position by using the
horizontal or vertical motion unit.
• This command sets the distance from the current position to [( nL + nH ╳ 256) ╳
horizontal or vertical motion unit]
[Details] • Any setting that exceeds the printable area isignored.
• When pitch Nis specified to the right:
nL+ nH ╳ 256 = N
When pitch N is specified to the left (the negative direction), use the
complement of 65536.
When pitch N is specified to the left:
nL+ nH ╳ 256 = 65536 - N
• The print starting position moves from the current position to [ N ╳ horizontal or
vertical motion unit]
ESC a n
[Name] Select justification
[Format] ASCII ESC a n
Hex 1B 61 n
Decimal 27 97 n
[Range] 0 <= n <= 2, 48 <= n <= 50
[Description] Aligns all the data in one line to the specified position
n selects the justification as follows:
n Justification
0,48 Left justification
1, 49 Centering
2, 50 Right justification
[Details] The command is enabled only when processed at the beginning of the linein
standard mode.
If this command is input in page mode, the printer performs only internal flag
operations.
This command has no effect in page mode.
This command executes justification in the printing area.
This command justifies the space area according to HT, ESC $ or ESC \.
[Default] n=0
[Example]
ESC c 3 n
[Name] Select paper sensor(s) to output paper end signals
[Format] ASCII ESC c 3 n
Hex 1B 63 33 n
Decimal 27 99 51 n
[Range] 0 <= n <= 255
[Description] Selects the paper sensor(s) to output paper end signals
ESC c 4 n
[Name] Select paper sensor(s) to stop printing
[Format] ASCII ESC c 4 n
Hex 1B 63 34 n
Decimal 27 99 52 n
[Range] 0 <= n <=255
[Description] Selects the paper sensor(s) used to stop printing when a paper-end is detected, using n as follows:
Bit Off/On Hex Decimal Function
Off 00 0 Paper roll near-end sensor disabled
0
On 01 1 Paper roll near-end sensor enabled
Off 00 0 Paper roll end sensor disabled
1
On 02 2 Paper roll near-end sensor enabled
2-7 - - - Undefined
[Details] When a paper sensor is enabled with this command, printing is stopped only when the corresponding
paper is selected for printing.
When a paper-end is detected by the paper roll sensor, the printer goes offline after printing stops.
When either bit 0 or 1 is on, the printer selects the paper roll near-end sensor for the paper sensorto
stop printing.
[Default] n=0
ESC d n
[Name] Print and feed n lines
[Format] ASCII ESC d n
Hex 1B 64 n
Decimal 27 100 n
[Range] 0 ≤ n ≤ 255
[Description] Prints the data in the print buffer and feeds n lines.
[Details] • This command sets the print starting position to the beginning of the line.
• This command does not affect the line spacing set by ESC 2 or ESC 3.
• The maximum paper feed amount is 1016 mm (40 inches). If the paper feed
amount ( nx line spacing) of more than 1016 mm (40 inches) is specified, the
printer feeds the paper only 1016 mm(40 inches).
[Reference] ESC 2, ESC 3
ESC p m t1 t2
[Name] Generate pulse
[Format] ASCII ESC p m t1 t2
Hex 1B 70 m t1 t2
Decimal 27 112 m t1 t2
[Range] m = 0, 1, 48,49
0 ≤ t1 ≤ 255, 0≤ t2 ≤ 255
[Description] Outputs the pulse specified by t1 and t2 to connector pin m as follows:
m Connector pin
0, 48 Drawer kick-out connector pin 2.
1, 49 Drawer kick-out connector pin 5.
[Details] • The pulse ON time is [ t1 ╳ 2 ms] and the OFF time is [ t2 ╳ 2 ms].
• If t2 < t1, the OFF time is [ t1x 2 ms]
[Reference] DLE DC4
ESC { n
[Name] Turns on/off upside-down printing mode
[Format] ASCII ESC { n
Hex 1B 7B n
Decimal 27 123 n
[Range] 0 <= n <= 255
[Description] Turns upside-down printing mode on or off.
When the LSB of n is 0, upside-down printing mode is turned off.
When the LSB of n is 1, upside-down printing mode is turned on.
[Details] Only the lowest bit of n is valid.
This command is enabled only when processed at the beginning of a linein
standard mode.
When this command is input in page mode, the printer performs only internal
flag operations.
This command does not affect printing in page mode.
In upside-down printing mode, the printer rotates the line to be printed by 180
and then prints it.
FS p n m
[Name] Print NV bit image
[Format] ASCII FS p n m
Hex 1C 70 n m
Decimal 28 112 n m
[Range] 0 <= n <= 255
0 <= m <= 3 , 48 <= m <= 51
[Description] Prints a NV bit image n using the mode specified by m.
m Mode Vertical Dot Density Horizontal Dot Density
0, 48 Normal 200 dpi 200 dpi
1, 49 Double-width 200 dpi 100 dpi
2, 50 Double-height 100 dpi 200 dpi
3, 51 Quadruple 100 dpi 100 dpi
[dpi: dots per 25.4 mm {1"}]
n is the number of the NV bit image (defined using the FS q command).
m specifies the bit image mode.
[Details] NV bit image means a bit image which is defined in a non-volatile memory by
FS q and printed by FS p.
This command is not effective when the specified NV bit image has not been defined.
In standard mode, this command is effective only when there is no data in the print buffer.
In page mode, this command is not effective.
This command is not affected by print modes (emphasized, double-strike, underline,character size,
white/black reverse printing, or 90 rotated characters, etc.), except upside-down printing mode.
If the printing area width set by GS L and GS W for the NV bit image is less than one vertical
line, the following processing is performed only on the line in question. However, in NV bit
image mode, one vertical line means 1 dot in normal mode (m 0, 48) and in double-height mode
(m 2, 50), and it means 2 dots in double-width mode (m 1, 49) and in quadruple mode(m 3,
51).
①The printing area width is extended to the right in NV bit image mode up to one line vertically.
In this case, printing does not exceed the printable area.
GS * x y d1...d(x ╳ y ╳ 8)
[Name] Define downloaded bit image
[Format] ASCII GS * x y d1...d(x ╳ y ╳ 8)
Hex 1D 2A x y d1...d(x ╳ y ╳ 8)
Decimal 29 42 x y d1 ...d(x ╳ y ╳ 8)
[Range] 1 ≤ x ≤ 255
1≤ y ≤ 48
x ≤ y ≤ 1536
0 ≤ d ≤ 255
[Description] Defines a downloaded bit image using the number of dots specified by x and y
• x specifies the number of dots in the horizontal direction.
• y specifies the number of dots in the vertical direction.
[Details] • The number of dots in the horizontal direction is x ╳ 8, in the vertical directionit
is y ╳ 8.
• If x ╳ y is out of the specified range, this command is disabled.
• The d indicates bit-image data. Data ( d) specifies a bit printed to 1 and not
printed to 0.
• The downloaded bit image definition is clearedwhen:
[Reference] GS /
GS / m
[Name] Print downloaded bit image
[Format] ASCII GS / m
Hex 1D 2F m
Decimal 29 47 m
[Range] 0 ≤ m ≤ 3, 48 ≤ m ≤ 51
[Description] Prints a downloaded bit image using the mode specified by m.
m selects a mode from the table below:
GS :
[Name] Start/end macro definition
[Format] ASCII GS :
Hex 1D 3A
Decimal 29 58
[Description] Starts or ends macro definition.
[Details] Macro definition starts when this command is received during normal operation.
Macro definition ends when this command is received during macro definition.
When GS ^ is received during macro definition, the printer ends macro
definition and clears the definition.
Macro is not defined when the power is turned on.
The defined contents of the macro are not cleared by ESC @. Therefore,
ESC @ can be included in the contents of the macro definition.
If the printer receives GS : again immediately after previously receiving GS :
the printer remains in the macro undefined state.
The contents of the macro can be defined up to 2048 bytes. If the macro
definition exceed 2048 bytes, excess data is not stored.
[Reference] GS ^
GS B n
[Name] Turn white/black reverse printing mode
[Format] ASCII GS B n
Hex 1D 42 n
Decimal 29 66 n
[Range] 0 <= n <= 255
[Description] Turns on or off white/black reverse printing mode.
When the LSB of n is 0, white/black reverse mode is turned off.
When the LSB of n is 1, white/black reverse mode is turned on.
[Details] Only the lowest bit of n is valid.
This command is available for built-in characters and user-defined characters.
When white/black reverse printing mode is on, it also applied to character
spacing set by ESC SP.
This command does not affect bit image, user-defined bit image, bar code, HRI
characters, and spacing skipped by HT, ESC $, and ESC \.
This command does not affect the space between lines.
White/black reverse mode has a higher priority than underline mode. Even if
underline mode is on, it is disabled (but not canceled) when white/black reverse
mode is selected.
[Default] n=0
GS L nL nH
[Name] Set left margin
[Format] ASCII GS L nL nH
Hex 1D 4C nL nH
Decimal 29 76 nL nH
[Range] 0 ≤ nL ≤ 255
0 ≤ nH ≤ 255
[Description] Sets the left margin using nLand nH.
• The left margin is set to [( nL + nH ╳ 256) ╳ horizontal motion unit]] inches.
Printable area
Left margin Printing area width
[Details] • This command is effective only processed at the beginning of the line in
standard mode.
• If this command is input in page mode, the printer performs only internal flag
operations.
• This command does not affect printing in page mode.
• If the setting exceeds the printable area, the maximum value of the printable
area is used.
• The horizontal and vertical motion units are specified by GS P. Changing the
horizontal and vertical motion unit does not affect the current leftmargin.
• The horizontal motion unit (x) is used for calculating the left margin. The
calculated result is truncated to the minimum value of the mechanical pitch.
[Default] nL = 0, nH =0
[Reference] GS P, GS W
① GS V m ② GS V m n
[Name] Select cut mode and cut paper
[Format] ①ASCII GS V m
Hex 1D 56 m
Decimal 29 86 m
②ASCII GS V m n
Hex 1D 56 m n
Decimal 29 86 m n
[Range] ① m =1,49
② m = 66, 0 ≤ n ≤ 255
m Print mode
0, 1, 49 Partial cut (one point left uncut)
66 Feeds paper (cutting position + [ n ╳ (vertical motion unit)]), and cuts the paper partially (one
point left uncut).
GS W nL nH
[Name] Set printing area width
[Format] ASCII GS W nL nH
Hex 1D 57 nL nH
Decimal 29 87 nL nH
[Range] 0 ≤ nL ≤ 255
0 ≤ nH ≤ 255
[Description] Sets the printing area width to the area specified by nL and nH.
• The printing area width is set to [( nL + nH ╳ 256) ╳ horizontal motion
unit]inches.
[Details] • This command is effective only processed at the beginning of the line.
• In page mode, the printer performs only internal flag operations.
• This command does not affect printing in page mode.
• If the [left margin +printing area width] exceeds the printable area, [printable
area width - left margin) isused.
• The horizontal and vertical motion units are specified by GS P. Changing the
horizontal and vertical motion units does not affect the current leftmargin.
• The horizontal motion unit ( x) is used for calculating the printing area width.
The calculated result is truncated to the minimum value ofthe mechanical pitch.
• If the width set for the printing area is less than the width of one character,
when the character data is developed, the following processing is performed:
① The printing area width is extended to the right to accommodate one
character.
② If the printing area width cannot be extended sufficiently, the left margin is
reduced to accommodate one character.
GS \ nL nH
[Name] Set relative vertical print position in page mode
[Format] ASCII GS \ nL nH
Hex 1D 5C nL nH
Decimal 29 92 nL nH
[Range] 0 ≤ nL ≤ 255
0 ≤ nH ≤ 255
[Description] Sets the relative vertical print starting position from the current position in page mode.
• This command sets the distance from the current position to [(nL + nH × 256)
× vertical or horizontal motion unit].
[Details] • This command is ignored unless page mode is selected.
• When pitch N is specified to the movement downward:
nL + nH × 256 = N
When pitch N is specified to the movement upward (the negative direction), use the
complement of 65536.
When pitch N is specified to the movement upward:
nL + nH × 256 = 65536 - N
• Any setting that exceeds the specified printing area is ignored.
• This command function as follows, depending on the print starting position set by ESC T:
When the starting position is set to the upper left or lower right of the printing, the vertical
motion unit (y) is used.
When the starting position is set to the upper right or lower left of the printing area, the
GS ^ r t m
[Name] Execute macro
[Format] ASCII GS ^ r t m
Hex 1D 5E r t m
Decimal 29 94 r t m
[Range] 0 <= r <= 255
0 <= t <= 255
m 0, 1
[Description] Executes a macro.
r specifies the number of times to execute the macro.
t specifies the waiting time for executing the macro.
m specifies macro executing mode.
When the LSB of m = 0:
The macro executes r times continuously at the interval specified by t.
When the LSB of m = 1:
After waiting for the period specified by t, the PAPER OUT LED indicators
blink and the printer waits for the FEED button to be pressed. After the
button is pressed, the printer executes the macro once. The printer
repeats the operation r times.
[Details] The waiting time is t 100 ms for every macro execution.
If this command is received while a macro is being defined, the macro definition
is aborted and the definition is cleared.
If the macro is not defined or if r is 0, nothing is executed.
When the macro is executed (m = 1), paper always cannot be fed by using the
FEED button.
[Reference] GS :
GS a n
[Name] Enable/Disable Automatic Status Back (ASB)
[Format] ASCII GS a n
Hex 1D 61 n
Decimal 29 97 n
[Range] 0 <=n <=255
[Description] Enables or disables ASB and specifies the status items to include, using n as follows:
Bit Off/On Hex Decimal Status for ASB
0 Off 00 0 Drawer kick-out connector pin 3 status
disabled.
GS f n
[Name] Select font for Human Readable Interpretation (HRI) characters
[Format] ASCII GS f n
Hex 1D 66 n
Decimal 29 102 n
[Range] n = 0, 1, 48, 49
[Description] Selects a font for the HRI characters used when printing a bar code.
n selects a font from the following table:
n Font
0, 48 Font A (12 24)
1, 49 Font B (9 17)
[Details] HRI indicates Human Readable Interpretation.
HRI characters are printed at the position specified by GS
H.[Default] n=0
[Reference] GS H, GS k
GS r n
[Name] Transmit status
[Format] ASCII GS r n
Hex 1D 72 n
Decimal 29 114 n
[Range] n = 1, 2, 49, 50
[Description] Transmits the status specified by n as follows:
n Function
1, 49 Transmits paper sensor status
2, 50 Transmits drawer kick-out connector status
[Details] When using a serial interface
When DTR/DSR control is selected, the printer transmits only 1 byte after confirming the host is ready to
receive data (DSR signal is SPACE). If the host computer is not ready to receive data (DSR signal is
MARK), the printer waits until the host is ready.
When XON/XOFF control is selected, the printer transmits only 1 byte without confirming the condition of
the DSR signal.
This command is executed when the data in the receive buffer is developed. Therefore,there may be a time
lagbetween receiving this command and transmitting the status,depending on the receive buffer status.
When Auto Status Back (ASB) is enabled using GS a, the status transmitted by GS r and the ASB status
mustbe differentiated using the table in Appendix G.
The status types to be transmitted are shown below:
Paper sensor status (n = 1, 49):
Bit Off/On Hex Decimal Status for ASB
0,1 Off 00 0 Paper roll near-end sensor: paper adequate.
On 03 3 Paper roll near-end sensor: paper near end.
2,3 Off 00 0 Paper roll end sensor: paper adequate.
On 0C 12 Paper roll near-end sensor: paper near end.
4 Off 00 0 Not used. Fixed to Off.
5,6 - - - Undefined.
7 Off 00 0 Not used. Fixed to Off.
Bits 2 and 3: When the paper end sensor detects a paper end, the printer goes offline and does not execute this
command. Therefore, bits 2 and 3 do not transmit the status of paper end.
Bit Off/On Hex Decimal Status for ASB
GS v 0 m xL xH yL yH d1....dk
[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
[Range] 0 <= m <= 3, 48 <= m
<
=510 <= xL <= 255
0 <= xH <= 255
0 <= yL <= 255
0 <= d <=255
k = ( xL + xH 256) ( yL + yH 256) ( k 0)
[Description] Selects Raster bit-image mode. The value of m selects the mode, as follows:
m Mode Vertical Dot Density Horizontal Dot ensity
0, 48 Normal 200 DPI 200 DPI
1, 49 Double-width 200 DPI 100 DPI
2, 50 Double-height 100 DPI 200 DPI
3, 51 Quadruple 100 DPI 100 DPI
xL, xH, select the number of data bits ( xL+ xH 256) in the horizontal direction for the bit
image.
yL, yH, select the number of data bits ( yL+ yH 256) in the vertical direction for the bit image.
[Details] In standard mode, this command is effective only when there is no data in the
print buffer.
This command has no effect in all print modes (character size, emphasized,
double-strike, upside-down, underline, white/black reverse printing, etc.) for
raster bit image.
If the printing area width set by GS L and GS W is less than the minimum width,
the printing area is extended to the minimum width only on the line in question.
The minimum width means 1 dot in normal (m=0, 48) and double-height (m=2,
50), 2 dots in double-width (m=1, 49) and quadruple (m=3, 51) modes.
Data outside the printing area is read in and discarded on a dot-by-dot basis.
The position at which subsequent characters are to be printed for raster bit
image is specified by HT (Horizontal Tab), ESC $ (Set absolute print position),
ESC \ ( Set relative print position), and GS L (Set left margin ). If the position at
which subsequent characters are to be printed is not a multiple of 8, print speed
may decline.
The ESC a (Select justification) setting is also effective on raster bit images.
When this command is received during macro definition, the printer ends macro
FS ! n
[Name] Set print mode(s) for Kanjicharacters
[Format] ASCII FS ! n
Hex 1C 21 n
Decimal 28 33 n
[Range] 0 ≤ n ≤ 255
[Description] Sets the print mode for Kanji characters, using n as follows:
[Details] • When both double-width and double-height modes are set (including right- and
left-side character spacing), quadruple-size characters are printed.
• The printer can underline all characters (including right- and left-side character
spacing), but cannot underline the space set by HT and 90° clockwise-rotated
characters.
• The thickness of the underline is that specified by FS , regardless of the
character size.
• When some of the characters in a line are double or more height, all the
characters on the line are aligned at the baseline.
• It is possible to emphasize the Kanji character using FS W or GS !, the setting
of the last received command iseffective.
• It is possible to turn under line mode on or off using FS , and the setting of the
last received command is effective.
[Default] n=0
[Reference] FS -, FS W, GS !
FS &
[Name] Select Kanji character mode
[Format] ASCII FS &
Hex 1C 26
Decimal 28 38
[Description] Selects Kanji character mode.
[Reference] FS ., FS C
FS – n
[Name] Turn underline mode on/off for Kanjicharacters
[Format] ASCII FS - n
Hex 1C 2D n
Decimal 28 45 n
[Range] 0 ≤ n ≤ 2, 48 ≤ n ≤ 50
[Description] Turns underline mode for Kanji characters on or off, based on the following values
of n.
n Function
0, 48 Turns off underline mode for Kanji characters
1, 49 Turns on underline mode for Kanji characters (1-dot thick)
2, 50 Turns on underline mode for Kanji characters (2-dot thick)
[Details] • The printer can underline all characters (including right- and left-side character
spacing), but cannot underline the space set by HT and 90° clockwise-rotated
characters.
• After the underline mode for Kanji characters is turned off by setting n to 0,
underline printing is no longer performed, but the previously specified underline
thickness is not changed. The default underline thickness is 1 dot.
• The specified line thickness does not change even when the character size
changes.
• It is possible to turn underline mode on or off using FS !, and the last received
command is effective.
[Default] n =0
FS .
[Name] Cancel Kanji character mode
[Format] ASCII FS .
Hex 1C 2E
Decimal 28 46
[Description] Cancels nKanji character mode.
[Reference] FS &, FS C
FS 2 c1 c2 d1...dk
[Name] Define user-defined Kanji characters
[Format] ASCII FS 2 c1 c2 d1...dk
Hex 1C 32 c1 c2 d1...dk
Decimal 28 50 c1 c2 d1...dk
[Range] c1 and c2 indicate character codes for the defined characters. The range of
values for c1 and c2 differ depending on the character code systemused.
Model type c1 c2
Japanese Kanji supporting model c1 = 77H 21H ≤ c2 ≤ 7EH
(JIS code system)
Japanese Kanji supporting model c1 = ECH 40H ≤ c2 ≤ 7EH
(SHIFT-JIS code system) 80H ≤ c2 ≤ 9EH
Chinese Kanji supporting model c1 = FEH A1H ≤ c2 ≤ FEH
Taiwanese Kanji supporting model c1 = FEH A1H≤ c2 ≤ FEH
0 ≤ d ≤ 255
k = 72
[Description] Defines user-defined Kanji characters for the character codes specified by c1 and
c2.
[Details] • c1 and c2 indicate character codes for the defined characters. c1 specifies for
the first byte, and c2 for the second byte.
• d indicates the dot data. Set a corresponding bit to 1 to print a dot or to 0 to not
print a dot.
[Default] All spaces.
[Reference] FS C
FS W n
[Name] Turn quadruple-size mode on/off for Kanjicharacters
[Format] ASCII FS W n
Hex 1C 57 n
Decimal 28 87 n
[Range] 0 ≤ n ≤ 255
[Description] Turns quadruple-size mode on or off for Kanji characters.
• When the LSB of n is 0, quadruple-size mode for Kanji characters is turned off.
• When the LSB of n is 1, quadruple-size mode for Kanji characters is turned on.
[Details] • Only the lowest bit of n is valid.
• In quadruple-size mode, the printer prints the same size characters as when
double-width and double-height modes are both turnedon.
• When quadruple-size mode is turned off using this command, the following
characters are printed in normalsize.
• When some of the characters on a line are different in height, all the characters
on the line are aligned atthe baseline.
• FS ! or GS ! can also select and cancel quadruple-size mode by selecting
double-height and double-width modes, and the setting of the last received
command is effective.
[Default] n=0
[Reference] FS !, GS !