80XX Programmer Manual(latest version)
Transcript of 80XX Programmer Manual(latest version)
Programmer Manual
Format Description
This manual applies to company's 80mm Series Thermal Receipt Printer POS-80XX series.
Command description of the programming manual includes the following sections:
1) an overview of the command names and functions. This is the first part of the command description. ASCII code is given
command of the form and function of the commandCan be summarized.
2) format. This section uses the ASCII coding forms, hexadecimal code form, decimal code in the form of three forms describing
the lifeOrder.
Which part of the range, compared with a decimal number without special instructions, such as in the following example 1 ≤ n
≤ 4, where 1 is a decimal number 1, rather than the ASCII code table “1."
3) range. Gives a range of variables.
4) description. Gives a detailed explanation of the command.
5) annotations. Notice is given command. Since the command in the different modes, with different commands, may cause the
phase Mutual influence, and this section gives the details.
6) reference. Associated with this command is given, similar to other commands.
DLE EOT n
HT
[Name]
[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 ESC D.
• 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
Horizontal tab
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
[Name]
[Format] ASCII DLE EOT n
Hex 10 04 n
Decimal 16 4 n
[Range] 1 ≤ n ≤ 4
[Description] Real-time transmission specified by the parameter n printer status
.....
[Comment] · Immediately after receiving the order to return the relevant printer status
....
[Reference]
transmit real-time status
Programmer Manual
FF(*)
CR
CAN (*)
[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
[Name] Print and carriage return
[Format] ASCII CR
Hex 0D
Decimal 13
[Description] When automatic line feed is enabled, this command functions the same as LF;
When automatic line feed is disabled, this command is ignored.
[Details] • Sets the print starting position to the beginning of the line.
• The automatic line feed is ignored with a serial interface model.
• This command is set according to the DIP switch 1-1 setting with a parallel interface model.
[Reference] LF
[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
[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 trans-
mitted andthen 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.
DLE EOT n (*)
•
• The printer transmits the current status. Each status is represented by onebyte data.
• The printer transmits the status without confirming whether the host computer can receive data.
• The printer executes this command upon receiving it.
• 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 there is an error status when DIP switch 2-1 is on with a parallel interface model.
• When Auto Status Back (ASB) is enabled using the GS a command, the status transmitted by the DLE EOT command
and the ASB status must be differentiated.
Even though the printer is not selected using ESC = (select peripheral device), this command is effective.
Bit
0
1
2
3
4
5,6
7
Off/On
0
1
0
1
0
1
1
0
Hex
00
02
00
04
00
08
10
00
Decimal
0
2
0
4
0
8
16
00
Function
Not used. Fixed to Off.
Not used. Fixed to On.
One or two cash drawer open
Both of two cash drawer closed
On-line
Off-line
Not used. Fixed to On.
Undefined.
Not used. Fixed to Off.
n = 2: Off-line Status
n = 1: Printer Status
Bit
0
1
2
3
4
5
6
7
Off/On
0
1
0
1
0
1
1
0
1
0
1
0
Hex
00
02
00
04
00
08
10
00
20
00
40
00
Decimal
0
2
0
4
0
8
16
0
32
0
64
0
Function
Not used.Fixed to Off.
Not used.Fixed to On.
Cover is closed.
Cover is open.
Paper is not being fed by using the FEED button.
Paper is beging fed by the FEED button.
Not used.Fixed to On.
No paper-end stop.
Printing is being stopped.
No error.
Error occurs.
Not used.Fixed to Off.
n = 3: Error Status
Bit
0
1
2
3
4
5
6
7
Off/On
0
1
0
1
1
0
1
0
1
0
Hex
00
02
00
08
10
00
20
00
40
00
Decimal
0
2
0
8
16
0
32
0
64
0
Function
Not used.Fixed to Off.
Not used.Fixed to On.
Undefined.
No auto-cutter error.
Auto-cutter error occurs.
Not used.Fixed to On.
No unrecoverable error.
Unrecoverable error occurs.
No auto-recoverable error.
Auto recoverable error occurs.
Not used.Fixed to Off.
Programmer Manual
Programmer Manual
n = 4: Continuous paper sensor Status
[Reference] DLE ENQ, GS a, GS r
DLE ENQ n (*)
Bit
0
1
2, 3
4
5,6
7
Off/On
0
1
0
1
1
0
1
0
Hex
00
02
00
0C
10
00
60
00
Decimal
0
2
0
12
16
0
96
0
Function
Not used.Fixed to Off.
Not used Fixed to On.
Paper roll near-end sensor:paper adequate.
Paper near-end is detected by the paper roll near-end sensor.
Not used.Fixed to On.
Paper roll sensor:Paper present.
Paper roll end detected by paper roll senso.
Not used.Fixed to Off.
[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:
[Details]
[Reference] DLE EOT
• 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 there is an error status when DIP switch 2-1 is on with a parallel interface model.
• The status is also transmitted whenever the data sequence of <10>H<05>H< n> (1 ≤ n ≤ 2) is received.
Example:
In ESC * m nL nH dk, d1 = <10>H, d2 = <05>H, d3 = <01>H
• This command should not be contained within another command that consists of two 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 DLE ENQ 2 interrupts before n is received, the code <10>H for DLE ENQ 2 is processed as the code for ESC 3
<10>H.
• DLE ENQ 2 enables the printer to recover from an error after clearing the data in the receive buffer and the print buffer.
The printer retains the settings (by ESC !, ESC 3, etc.) that were in effect when the error occurred. The printer can be
initialized completely by using this command and ESC @. This command is enabled only for errors that have the
possib-ility of recovery, except for print head temperature error.
• When the printer is disabled with ESC = (Select peripheral device), the error recovery functions (DLE ENQ 1 and DLE
ENQ 2) are enabled, and the other functions are disabled.
n
1
2
Request
Recover from an error and restart printing from the line where the error occurred
Recover from an error aft clearing the receive and print buffers
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:
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 pr-
ocessed, 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.
• With a parallel interface model, this command cannot be executed when the printer is busy. This command is executed
even when the printer is off-line or there is an error status when DIP switch 2-1 is on.
• If print data includes the same character strings as this command, the printer performs the same operation specified by
this command. The user must consider this.
• This command should not be used within the data sequence of another command that consists of 2 or more bytes.
• This command is effective even when the printer is disabled with ESC = (Select peripheral device).
[Reference] ESC p
m
0
1
Connector pin
Drawer kick-out connector pin 2.
Drawer kick-out connector pin 5.
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 or vertical 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 as follows:
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 printable area using ESC T, the vertical motion
unit ( y) is used.
• The maximum right-side spacing is 255/180 inches. Any setting exceeding the maximum is converted to the maximum
automatically.
[Default] n = 0
[Reference] GS P
Programmer Manual
Programmer Manual
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 as follows:
[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 at the 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 last received 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 for
alphanumeric.
[Default] n = 0
[Reference] ESC -, ESC E, GS !
Bit
0
1
2
3
4
5
6
7
Off/On
Off
On
-
-
Off
On
Off
On
Off
On
-
Off
On
Hex
00
01
-
-
00
08
00
10
00
20
-
00
80
Decimal
0
1
-
-
0
8
0
16
0
32
-
0
128
Function
Character font A (12 ×24).
Character font B (9 ×17).
Undefined.
Undefined.
Emphasized mode not selected.
Emphasized mode selected.
Double-height mode not selected.
Double-height mode selected.
Double-width mode not selected.
Double-width mode selected.
Undefined.
Underline mode not selected.
Underline mode selected.
ESC $ nL nH
[Name] Set absolute print position
[Format] ASCII ESC $ nL nH
Hex 1B 24 nL nH
Decimal 27 36 nL nH
[Range] 0 ≤ nL ≤ 255
0 ≤ nH ≤ 255
[Description] ·Sets the distance from the beginning of the line to the position at which subsequent characters are to be printed.
·The di stance from the beginning of the line to the print position is [( nL + nH ×256) ×(vertical or horizontal motion
unit)] inches. [Details] · Settings outside the specified printable area are ignored.
·The horizontal and vertical motion unit are specified by GS P.
·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 ( x) is used.
· In page mode, horizontal or vertical motion unit differs depending on the starting position of the printable area as
follows:
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 printable area using ESC T, the vertical motion
unit ( y) is used.
[Reference] ESC \, GS $, GS \, GS P
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 character set.
• 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 ?
ESC & y c1 c2 [x1 d1...d(y×x1)]...[xk d1...d(y ×xk)]
[Name] Define user-defined characters
[Format] ASCII ESC & y c1 c2 [x1 d1 ... d (y×x1)] ... [xk d1 ... d (y×xk)]
Hex 1B 26 y c1 c2 [x1 d1 ... d (y×x1)] ... [xk d1 ... d (y ×xk)]
Decimal 27 38 y c1 c2 [x1 d1 ... d (y×x1)] ... [xk d1 ... d (y ×xk)]
[Range] y = 3
32 ≤ c1 ≤ c2 ≤ 127
0 ≤ x ≤ 12 standard ASCII font (12×24)
0 ≤ x ≤ 9 compressed ASCII font (9×17)
0 ≤ d1 ... d (y × xk) ≤ 255
[Description] • Defines user-defined characters.
• y specifies the number of bytes in the vertical direction.
• c1 specifies the beginning character code for the definition, and c2 specifies the final code.
• x specifies the number of dots in the horizontal direction.
[Details] • The allowable character code range is from ASCII code <20>H to <7E>H (96 characters).
• It is possible to define multiple characters for consecutive character codes. If only one character is desired, use c1 = c2.
• d is the dot data for the characters. The dot pattern is in the horizontal direction from the left side. Any remaining dots
on the right side are blank.
• The data to define a user-defined character is (y×x) bytes.
• Set a corresponding bit to 1 to print a dot or 0 to not print a dot.
• This command can define different user-defined character patterns by each fonts. To select a font, use ESC !
• A user-defined character and a downloaded bit image cannot be defined simultaneously. When this command is
executed, the downloaded bit image is cleared.
• The user-defined character definition is cleared when:
① ESC @ is executed.
② ESC ? is executed.
③ FS q is executed.
④ GS *is executed.
⑤ The printer is reset or the power is turned off.
• When the user-defined characters are defined in font B (9×17), only the most significant bit of the 3rd byte of data in
vertical direction is effective.
[Default] The internal character set
[Reference] ESC %, ESC ?
[Example]
• When font A (12×24) is selected.
Programmer Manual
Programmer Manual
12dot
d1 d4 d7
d2 d5
d3 d6
24dot
d34
d35
d36
MSB
LSB
9dot
d1 d4 d7
d2 d5
d3 d6
17dot
d34
d35
d36
MSB
LSB
• When font B (9×17) is selected.
d1=
d2= <03> H
d3= <00> H
<OF> H d4=
d5= <80> H
d6= <00> H
<30> H d4=
d5= <40> H ...
d6= <20> H ...
<40> H ...
d1=
d2= <FF> H
d3= <80> H
<1F> H d4=
d5= <08> H
d6= <00> H
<08> H d4=
d5= <04> H ...
d6= <00> H ...
<10> H ...
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
[Range] m = 0, 1, 32, 33
0 ≤ nL ≤ 255
0 ≤ nH ≤ 3
0 ≤ d ≤ 255
[Description] Selects a bit-image mode using m for the number of dots specified by nL and nH, as follows:
[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 to not print a dot.
• If the width of the printing area set by GS L and GS W less than the width required by the data sent with the ESC *
command, the following will be performed on the line in question (but the printing cannot exceed the maximum
printable area):
① The width of the printing area is extended to the right to accommodate the amount of data.
② If step ① does not provide sufficient width for the data, the left margin is reduced to accommodate the data.
• After printing a bit image, the printer returns to normal data processing mode.
• This command is not affected by print modes (emphasized, double-strike, underline, character size or white/black
reverse printing), except upside-down printing mode.
• The relationship between the image data and the dots to be printed is as follows:
• When 8-dot bit image is selected:
Mode
8-dot single-density
8-dot double-density
24-dot single-density
24-dot double-density
m
0
1
32
33
Vertical Direction
Number of Dots
8
8
24
24
Dot Density
67 DPI
67 DPI
200DPI
200 DPI
Horizontal Direction
nL + nH×256
nL + nH ×256
(nL + nH×256)×3
(nL + nH×256)×3
Dot Density
100 DPI
200 DPI
100DPI
200 DPI
Number of Data (K)
d1 d2 d3
MSB
LSB
Bit-image data
Print data
d1 d2 d3
Single density Double density
Print data
1 dot
Programmer Manual
d1 d4 d7
d2 d5 d8
d3 d6 d9
MSB
LSB
Bit-image data
Print data
d1 d2 d3
Single density Double density
Print data
1 dot
Bit-image data
d4 d5 d6 d7 d8 d9
• When 24-dot bit image is selected:
ESC – n
[Name] Turn underline mode on/off
[Format] ASCII ESC - n
Hex 1B 2D n
Decimal 27 45 n
[Range] 0 ≤ n ≤ 2, 48 ≤ n ≤ 50
[Description] Turns underline mode on or off, based on the following values of n:
[Details] • The printer can underline all characters (including right-side character spacing), but cannot underline the space set by
HT.
• T h e p r i nter cannot underline 90 clockwise rotated characters and white/black inverted characters.
• W h e n 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 1 dot.
• 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 is effective.
•This command does not affect the setting of Kanji characters.
[Default] n = 0
[Reference] ESC !
n
0,48
1,49
2,50
Function
Turns off underline mode
Turns on underline mode (1-dot thick)
Turns on underline mode (2-dots thick)
Programmer Manual
ESC 2
[Name] Select default line spacing
[Format] ASCII ESC 2
Hex 1B 32
Decimal 27 50
[Description] Selects 1/ 6-inch line (approximately 4.23mm) spacing.
[Details] The line spacing can be set independently in standard mode and in page mode.
[Reference] ESC 3
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 printable area:
① When the starting position is set to the upper left or lower right of the printable area using ESC T, the vertical moti-
on 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 (40 inches).
[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:
[Details] When the printer is disabled, it ignores all data except for error-recovery commands (DLE EOT, DLE ENQ, DLE DC4)
until it is enabled by this command.
[Default] n = 1
Bit Off/On Hex Decimal Function
0
1-7
Off
On
00
01
0
1
Printer disabled
Printer enabled
Undefined
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 this command.
[Reference] ESC &, ESC %
Programmer Manual
Programmer Manual
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 not cleared.
• The NV bit image data is not cleared.
• The data of the user NV memory is not cleared.
ESC D n1...nk NUL
[Name] Set horizontal tab positions
[Format] ASCII ESC D n1...nk NUL
Hex 1B 44 n1...nk 00
Decimal 27 68 n1...nk 0
[Range] 1 ≤ n ≤ 255
0 ≤ k ≤ 32
[Description] • Sets horizontal tab positions.
• n specifies the column number for setting a horizontal tab position from the beginning of the line.
• k indicates the total number of horizontal tab positions to be set.
[Details] • The horizontal tab position is stored as a value of [character width ×n] measured from the beginning of the line. The
character width includes the right-side character spacing, and double-width characters are set with twice the width of
normal characters.
• This command cancels the previous horizontal tab settings.
• When setting n = 8, the print position is moved to column 9 by sending HT.
• Up to 32 tab positions ( k = 32) can be set. Data exceeding 32 tab positions is processed as normal data.
• Transmit [ n] k in ascending order and place a NUL code 0 at the end.
• When [ n] k is less than or equal to the preceding value [ n] k-1, tab setting is finished and the following data is
processed as normal data.
• ESC D NUL cancels all horizontal tab positions.
• The previously specified horizontal tab positions do not change, even if the character width changes.
• The character width is memorized for each standard and page mode.
[Default] The default tab positions are at intervals of 8 characters (columns 9, 17, 25,...) for font A (12 ×24).
[Reference] HT
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 or off.
• 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
Decimal 27 74 n
[Range] 0 ≤ n ≤ 255
[Description] Prints the data in the print buffer and feeds the paper [ n ×vertical or horizontal motion unit] inches.
[Details] • After printing is completed, this command sets the print starting position to the beginning of the line.
• The paper feed amount set by this command does not affect the values set by ESC 2 or ESC 3.
• The horizontal and vertical motion unit are specified by GS P.
• The GS P command can change the vertical (and horizontal) 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 printer uses the vertical motion unit ( y).
• In page mode, this command functions as follows, depending on the starting position of the printable area:
① 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 line spacing is 1016mm (40 inches). When the setting value exceeds the maximum, it is converted to the maximum automatically.
[Reference] GS P
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 {
Programmer Manual
④ Set left margin: GS L
⑤ Set printable area width: GS W
• The following command is ignored in page mode:
① Execute test print: GS ( A
• The following command is not available in page mode:
① Print NV bit image: FS p
② Define NV bit image: FS q
③ Write to user NV memory: FS g 1
④ Print raster bit image: GS v 0
• The printer returns to standard mode when power is turned on, the printer is reset, or ESC @ is used.
[Reference] FF, CAN, ESC FF, ESC S, ESC T, ESC W, GS $, GS \
Programmer Manual
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 or off.
• 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 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
0,48
1,49
Function
Tcharacter font A (12×24) selected.
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
0
1
2
3
4
5
6
Character
U.S.A
France
Germany
U.K
Denmark
Sweden
Italy
7
8
9
10
11
12
13
14
15
Spain
Japan
Norway
Denmark
Spain
Latin
Korea
Sloveina/Croatia
Chinese
The character sets for Slovenia/Croatia and China are supported only in the Simplified Chinese model.
[Default] Simplified Chinese model: n = 15
Models other than the Simplified Chinese model: n = 0
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 printer is reset, 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
0, 48
1, 49
2, 50
3, 51
Print Direction
Left to right
Bottom to top
Right to left
Top to bottom
Starting Position
Upper left
Lower left
Lower right
Upper right
Print area
B C
A D
Forw
ard
Programmer Manual
[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 perpendic-
ular to the paper feed direction: Commands using horizontal motion units: ESC SP, ESC $, ESC \ Commands using ver-
tical 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:
[Details] • This command affects printing in standard mode. However, the setting is always effective.
• When underline mode is turned on, the printer does not underline 90°clockwise-rotated.
• Double-width and double-height commands in 90° rotation mode enlarge characters in the opposite directions from
double-height and double- width commands in normal mode.
[Default] n = 0
[Reference] ESC !, ESC -
n
0,48
1,49
Function
Turns off 90° clockwise rotation mode
Turns on 90° clockwise rotation mode
ESC W xL xH yL yH dxL dxH dyL dyH (*)
[Name] Set printing area in page mode
[Format] ASC II ESC W xL xH yL yH dxL dxH dyL dyH
Hex 1B 57 xL xH yL yH dxL dxH dyL dyH
Decimal 27 87 xL xH yL yH dxL dxH dyL dyH
[Range] 0 ≤ xL, xH, yL, yH, dxL, dxH, dyL, dyH ≤ 255 (except dxL= dxH=0 or dyL= dyH=0)
[Description] • The horizontal starting position, vertical starting position, printing area width, and printing area height are defined
as x0, y0, dx (inch), dy (inch), respectively. Each setting for the printing area is calculated as follows:
x0 = [( xL + xH × 256) × (horizontal motion unit)]
y0 = [( yL + yH × 256) × (vertical motion unit)]
dx = [ dxL + dxH × 256] × (horizontal motion unit)]
dy = [ dyL + dyH × 256] × (vertical motion unit)]
The printing area is set as shown in the figure below.
[Details] • If this command is input in standard mode, the printer executes only internal flag operation. This command does not
affect printing in standard mode.
• If the horizontal or vertical starting position is set outside the printable area, the printer stops command processing and
processes the following data as normal data.
• If the printing area width or height is set to 0, the printer stops command processing and processes the following data
as normal data.
• This command sets the position where data is buffered to the position specified by ESC T within the printing area.
• If (horizontal starting position + printing area width) exceeds the printable area, the printing area width is automatically
set to (horizontal printable area - horizontal starting position).
• If (vertical starting position + printing area height) exceeds the printable area, the printing area height is automatically
Programmer Manual
set to (vertical printable area - vertical starting position).
• The horizontal and vertical motion unit are specified by GS P. Changing the horizontal or vertical motion unit does not
affect the current printing area.
• 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
minimum hori-zontal movement amount.
• Use the horizontal motion unit ( x) for setting the horizontal starting position and printing area width, and use the
vertical motion unit ( y) for setting the vertical starting position and printing area height.
• When the horizontal starting position , vertical starting position, printing area width, and printing area height are defined
as X, Y, Dx, and Dy respectively, the printing area is set as shown in the figure below.
• This printable area for this printer is approximately 72 mm in the horizontal direction and approximately 117.3 mm
(1662/360 inches) in the vertical direction.
[Default] xL = xH = yL = yH = 0
dxL = 0, dxH = 2, dyL = 126, dyH = 6
[Reference] CAN, ESC L, ESC T, GS P
(x, y)
Dy
Dx
Print atea
Fo
rwa
rd
(x+Dx-1, Dy-1)
ESC \ nL nH
[Name] Set relative print position
[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 is ignored.
• When pitch N is 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]
• The horizontal and vertical motion unit are specified by GS P.
• 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 as follows, depending on the starting point of the printing area:
①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.
②When the starting position is set to the upper right or lower left of the printable area using ESC T, the vertical motion
unit ( y) is used.
[Reference] ESC $, GS P
Programmer Manual
Programmer Manual
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:
[Details] • The command is enabled only when 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 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]
n
0,48
1,49
2,50
Justification
Left justification
Centering
Right justification
Left justification
ABCABCDABCDE
Centering
ABCABCD
ABCDE
ABCABCD
ABCDE
Right justification
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
• Each bit of n is used as follows:
[Details] • It is possible to select multiple sensors to output signals. Then, if any of the sensors detects a paper end, the paper
end signal is output.
• The command is available only with a parallel interface and is ignored with a serial interface.
• Sensor is switched when executing this command. The paper end signal switching be delayed depending on the
receive buffer state.
• If either bit 0 or bit 1 is on, the paper roll near-end sensor is selected as the paper sensor outputting paper-end signals.
• If either bit 2 or bit 3 is on, the paper roll end sensor is selected as the paper sensor outputting paper-end signals.
• When all the sensors are disabled, the paper end signal always outputs a paper present status.
[Default] n = 15
Bit
0
1
2
3
4 - 7
Off/On
Off
Off
On
On
Off
On
Off
On
Hex
00
00
01
02
- -
00
04
08
00
Decimal
0
1
-
0
0
4
0
8
Function
Paper roll near-end sensor disabled
Paper roll near-end sensor enabled
Paper roll end sensor disabled
Paper roll near-end sensor enabled
Paper roll end sensor disabled
Paper roll near-end sensor enabled
Paper roll end sensor disabled
Paper roll near-end sensor enabled
Undefined
2
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:
[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 sensor to stop printing.
[Default] n = 0
Bit
0
1
2 - 7
Off/On
Off
Off
On
On
Hex
00
00
01
02
- -
Decimal
0
1
-
0
Function
Paper roll near-end sensor disabled
Paper roll near-end sensor enabled
Paper roll end sensor disabled
Paper roll near-end sensor enabled
Undefined
2
ESC C 5 n
[Name] Enable/disable panel buttons
[Format] ASCII ESC c 5 n
Hex 1B 63 35 n
Decimal 27 99 53 n
[Range] 0 ≤ n ≤ 255
[Description] Enables or disables the panel buttons.
• When the LSB of n is 0, the panel buttons are enabled.
• When the LSB of n is 1, the panel buttons are disabled.
[Details] • Only the lowest bit of n is valid.
• When the panel buttons are disabled, none of them are usable when the printer cover is closed.
• In this printer, the panel buttons are the FEED button.
• In the macro ready mode, the FEED button are enabled regardless of the settings of this command; however, the paper
cannot be fed by using these buttons.
[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
Programmer Manual
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:
[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
Programmer Manual
m
0,48
1,49
Connector pin
Drawer kick-out connector pin 2.
Drawer kick-out connector pin 5.
ESC t n
[Name] Select character code table
[Format] ASCII ESC t n
Hex 1B 74 n
Decimal 27 116 n
[Range] 0 ≤ n ≤10, 16 ≤ n ≤ 21
[Description] Selects a page n from the character code table.
[Default] n = 0
n
0
1
2
3
4
5
6
7
8
9
10
16
17
18
19
20
21
Page
PC437 [U.S.A.Standard Europe]
Katakana
PC850:Multilingual
PC860:Portuguese
PC863 [Canadian French]
PC865:Nodic
West Europe
Greek
Hebrew
PC755:East Europe
Iran
WPC1252
PC866:Cyrillic#2
PC852:Latin2
PC858
IranII
Latvian
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 line in 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.
[Default] n = 0
[Example]
A 0
B 1
C 2
D 3
E 4
F5
A 0
B 1
C 2
D 3
E 4
F5
Paper feed direction
m
0, 48
1, 49
2, 50
3, 51
Mode
Normal
Double-width
Double-height
Quadruple
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.
[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 reve-
rse 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 rocess-
ing 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.
②If the printing area width cannot be extended by one line vertically, the left margin is reduced to accommodate one
line vertically.
• If the downloaded bit-image to be printed exceeds one line, the excess data is not printed.
• This command feeds dots (for the height n of the NV bit-image) in normal and double-widthmodes, and (for the height n
2 of the NV bit-image) in double-height and quadruple modes,regardless of the line spacing specified by ESC 2 or ESC 3.
• After printing the bit image, this command sets the print position to the beginning of the lineand processes the data that
follows as normal data.
[References] ESC , FS q, GS /, GS v 0
Vertical Dot Density
200 dpi
200 dpi
100 dpi
100 dpi
Horizontal Dot Density
200 dpi
100 dpi
200 dpi
100 dpi
Programmer Manual
Programmer Manual
FS q n [xL xH yL yH d1…dk]1…[xL xH yL yH d1…dk]n (*)
[Name] Define NV bit image
[Format] ASCII FS q n [xL xH yL yH d1...dk]1...[ xL xH yL yH d1...dk]n
Hex 1C 71 n [xL xH yL yH d1...dk]1...[ xL xH yL yH d1...dk]n
Decimal 28 113 n [xL xH yL yH d1...dk]1...[ xL xH yL yH d1...dk]n
[Range] 0 ≤ n ≤ 255
0 ≤ xL ≤ 255
0 ≤ xH ≤ 3 (when 1 ≤ (xL + xH×256) ≤ 1023)
0 ≤ yL ≤ 255
0 ≤ yL ≤ 1 (when 1 ≤ (yL + yHr256) ≤ 288)
0 ≤ d ≤ 255
k = (xL + xH×256) ×(yL + yH×256)×8
Total defined data area = 0.5M bits (64K bytes) [Description] Define the NV bit image specified by n .
• n specifies the number of the defined NV bit image.
• xL, xH specifies (xL + xH×256) × 8 dots in the horizontal direction for the NV bit image you are defining.
• yL, yH specifies (yL + yH ╳ 256) ╳ 8 dots in the vertical direction for the NV bit image you are defining.
[Details] • This command cancels all NV bit images that have already been defined by this command. The printer can not redefine
only one of several data definitions previously defined. In this case, all data needs to be sent again.
• From the beginning of the processing of this command till the finish of hardware reset, mechanical operations (includ-
ing initializing the position of the printer head when the cover is open, paper feeding by using the FEED button, etc.)
cannot be performed.
• During processing this command, the printer is in BUSY when writing the data to the NV user memory and stops
receiving data. Therefore it is prohibitted to transmit the data including the real-time commands during the execution of
this c o m m a n d .
• NV bit image means a bit image which is defined in a non-volatile memory by FS q and printed by FS p.
• In standard mode, this command is effective only when processed at the beginning of the line.
• In page mode, this command is not effective
• This command is effective when 7 bytes <FS<yH> is processed as a normal value.
• When the amount of data exceeds the capacity left in the range defined by xL, xH, yL, yH, the printer processes xL,
xH, yL, yH out of the defined range.
• In the first group of NV bit images, when any of the parameters xL, xH, yL, yH is out of the definition range, this comm-
and is disabled.
• In groups of NV bit images other than the first one, when the printer processes xL, xH, yL, yH out of the defined range,
it stops processing this command and starts writing into the NV images. At this time, NV bit images that haven¡¯t been
defined are disabled (undefined), but any NV bit images before that are enabled.
• The d indicates the definition data. In data (d) a 1 bit specifies a dot to be printed and a 0 bit specifies a dot not to be
printed.
• This command defines n as the number of a NV bit image. Numbers rise in order from NV bit image 01H. Therefore, the
first data group [xL xH yL yH d1...dk] is NV bit image 01H, and the last data group [xL xH yL yH d1...dk] is NV bit image n.
The total agrees with the number of NV bit images specified by command FS p.
• A definition data of a NV bit image consists of [xL xH yL yH d1...dk]. Therefore, when only one NV bit image is defined
n=1, the printer processes a data group [xL xH yL yH d1...dk] once. The printer uses ([data: (xL + xH × 256) ×(yL + yH ×
256) × 8] + [header :4])bytes of NV memory.
• The definition area in this printer is a maximum of 0.5M bits (64K bytes). This command can define several NV bit
images, but cannot define a bit image data whose total capacity [bit image data + header] exceeds 0.5M bits (64K bytes).
• The printer is busy immediately before writing into NV memory.
• The printer does not transmit ASB status and perform status detection during processing of this command even when
ASB is specified.
• When this command is received during macro definition, the printer ends macro definition, and begins performing this
command.
• Once a NV bit image is defined, it is not erased by performing ESC @, reset, and power off.
• This command performs only definition of a NV bit image and does not perform printing.Printing of the NV bit image is
performed by the FS p command.
[Details] • Frequent write command execution may cause damage the NV memory.
Therefore, it is recommended to write the NV memory 10 times or less a day.
• The printer performs a hardware reset after the procedure to place the image into the NV memory. Therefore, user-
defined characters, downloaded bit images, and macros should be defined only after completing this command. The printer
clears the receive and print buffers and resets the mode to the mode that was in effect at power on. At this time, DIP switch
settings are checked again.
[ Reference ] FS p
[ Example] When xL = 64, xH = 0, yL = 96, yH = 0
d1
d2
d3
d96
d97
d49057
d49152
(XL+XH×256) 8× Dot=512Dot
(YL
+Y
H×
25
6)
8×
Do
t=7
68
Do
t
GS ! n (*)
[Name] Select character size
[Format] ASCII GS ! N
Hex 1D 21 n
Decimal 29 33 n
[Range] 0 ≤ n ≤ 255
(1 ≤ vertical number of times ≤ 8, 1 ≤ horizontal number of times ≤ 8)
[Description] Selects the character height using bits 0 to 2 and selects the character width using bits 4 to 7, as follows:
Table 1 Table 2
Character Width Selection
Bit
0-3
4-7
Off/On Hex Decimal Function
Character height selection. See Table 2.
Character width selection. See Table 1.
Hex
00
10
20
30
40
50
60
70
Decimal
0
16
32
48
64
80
96
112
width
1(normal)
2(doubie-height)
3
4
5
6
7
8
Hex
00
10
20
30
40
50
60
70
Decimal
0
16
32
48
64
80
96
112
width
1(normal)
2(doubie-width)
3
4
5
6
7
8
MSB
LSB
Programmer Manual
[Details] • This command is all characters (alphanumeric and Kanji) effective except for HRI characters.
• If n is outside of the defined range, this command is ignored.
• In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is perpendicular to the
paper feed direction. However, when character orientation changes in 90° clockwise-rotation mode, the relationship
between vertical and horizontal directions is reversed.
• In page mode, vertical and horizontal directions are based on the character orientation.
• When characters are enlarged with different sizes on one line, all the characters on the line are aligned at the baseline.
The ESC ! command can also turn double-width and double-height modes on or off. However, the setting of the last
received command is effective.
[Default] n = 0
[Reference] ESC !
GS$nLnH (*)
[Name] Set absolute vertical print position in page mode
[Format] ASCII GS $ nL nH
Hex 1D 24 nL nH
Decimal 29 36 nL nH
[Range] 0 ≤ nL ≤ 255, 0 ≤ nH ≤ 255
[Description] • Sets the absolute vertical print starting position for buffer character data in page mode.
•This command sets the absolute print position to [( nL + nH × 256) × (vertical or horizontal motion unit)] inches.
[Details] • This command is effective only in page mode.
• If the [( nL + nH × 256) × (vertical or horizontal motion unit)] exceeds the specified printing area, this command is
ignored.
• The horizontal starting buffer position does not move.
• The reference starting position is that specified by ESC T.
• This command operates as follows, depending on the starting position of the printing area specified by ESC T:
GWhen the starting position is set to the upper left or lower right, this command sets the absolute position in the
vertical direction.
②When the starting position is set to the upper right or lower left, this command sets the absolute position in the
horizontal direction.
• The horizontal and vertical motion unit are specified by GS P.
• 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.
[Reference] ESC $, ESC T, ESC W, ESC \, GS P, GS \
GS * x y d1...d(x × y × 8)
[Name] Define downloaded bit image
[Format] ASCII GS * xy d1 ... d (x × y × 8)
Hex 1D 2A xy d1 ... d (x × y × 8)
Decimal 29 42 xy d1 ... d (x × y × 8)
[Range] 1 ≤ x ≤ 255,
1 ≤ y ≤ 48
x × y ≤ 912
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 direction it 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 cleared when:
ESC @ is executed.
ESC & is executed.
FS q is executed.
Printer is reset or the power is turned off.
• The following figure shows the relationship between the downloaded bit image and the printed data.
Programmer Manual
[Reference] GS /
d1
dy+1
d2
y × 8dot
d70
d71
MSB
LSB
x × 8dot
dy×2+1
dy
dy×2 dx×y 8×
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:
[Details] •This command is ignored if a downloaded bit image has not been defined.
• In standard mode, this command is effective only when there is no data in the print buffer.
• This command has no effect in the print modes (emphasized, double-strike, underline, character size, or white/black
reverse printing), except for upside down printing mode.
• If the downloaded bit-image to be printed exceeds the printable area, the excess data is not printed.
• Refer to Figure 3.12.3 for the downloaded bit image development position in page mode.
• If the printing area width set by GS L and GS W is less than one line in vertical, the following processing is performed
only on the line in question:
The printing area width is extended to the right up to one line in vertical. In this case, printing does not exceed the
printable area.
If the printing area width cannot be extended by one line in vertical, the left margin is reduced to accommodate one line
in vertical.
[Reference] GS *
m
0, 48
1, 49
2, 50
3, 51
Mode
Normal
Double-width
Double-height
Quadruple
Vertical Dot Density (DPI)
200
200
100
100
Horizontal Dot Density (DPI)
200
100
200
100
GS ( A pL pH n m
[Name] Execute print data hex dump
[Format] ASCII GS ( A pL pH n m
Hex 1D 28 41 pL pH n m
Decimal 29 40 65 pL pH n m
[Range] pL = 2, pH = 0;
n = 0,48; m = 1,49;
Programmer Manual
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 ^
GSBn (*)
[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 H n
[Name] Select printing position for HRI characters
[Format] ASCII GS H n
Hex 1D 48 n
Decimal 29 72 n
[Range] 0 ≤ n ≤ 3, 48 ≤ n ≤ 51
[Description] Selects the printing position of HRI characters when printing a bar code. n selects the printing position as follows:
•HRI indicates Human Readable Interpretation.
[Details] •HRI characters are printed using the font specified by GS f.
[Default] n = 0
[Reference] GS f, GS k
Programmer Manual
n
0,48
1,49
2,50
3,51
Print Position
Do not print
Top of the bar code
Below the barcode
The barcode are printed below
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 nL and 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 left margin.
• 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
Printable area
Left margin Printing area width
GSPxy (*)
[Name] Set horizontal and vertical motion units
[Format] ASCII GS P x y
Hex 1D 50 x y
Decimal 29 80 x y
[Range] 0 ≤ x ≤ 255
0 ≤ y ≤ 255
[Description] Sets the horizontal and vertical motion units to approximately 25.4/ x mm { 1/ x inches} and approximately 25.4/ y
mm {1/ y inches}, respectively. When x and y are set to 0, the default setting of each value is used.
[Details] • The horizontal direction is perpendicular to the paper feed direction and the vertical direction is the paper feed direction.
• In standard mode, the following commands use x or y, regardless of character rotation (upside-down or 90° clockwise
rotation): ①Commands using x: ESC SP, ESC $, ESC \, FS S, GS L, GS W ②Commands using y: ESC 3, ESC J, GS V
• In page mode, the following command use x or y, depending on character orientation:
① When the print starting position is set to the upper left or lower right of the printing area using ESC T (data is buffered
in the direction perpendicular to the paper feed direction): Commands using x: ESC SP, ESC $, ESC W, ESC \, FS S
Commands using y: ESC 3, ESC J, ESC W, GS $, GS \, GS V
② When the print starting position is set to the upper right or lower left of the printing area using ESC T (data is buffered
in the paper feed direction): Commands using x: ESC 3, ESC J, ESC W, GS $, GS \ Commands using y: ESC SP,
ESC $, ESC W, ESC \,FS S, GS V
• The command does not affect the previously specified values.
• The calculated result from combining this command with others is truncated to the minimum value of the mechanical
pitch.
[Default] x = 180, y = 360
[Reference] ESC SP, ESC $, ESC 3, ESC J, ESC W, ESC \, GS $, GS L, GS V, GS W, GS \
Programmer Manual
Programmer Manual
① 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=0,48 , m =1,49
② m = 66, 0 ≤ n ≤ 255
[Description] Selects a mode for cutting paper and executes paper cutting. The value of m selects the mode as follows:
[Details for ① and ②]
• This command is effective only processed at the beginning of a line.
[Details for ①] • Only the partial cut is available; there is no full cut.
[Details for ②] • When n = 0, the printer feeds the paper to the cutting position and cuts it.
When n = 0, the printer feeds the paper to (cutting position + [ n × vertical motion unit]) and cuts it.
• The horizontal and vertical motion unit are specified by GS P.
• The paper feed amount is calculated using the vertical motion unit (y). 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.
m
0,48
1,49
66
Print mode
one point left uncut
Partial cut
Feeds paper (cutting position + [ n × (vertical motion unit)]), and cuts the paperpartially (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) is used.
• The horizontal and vertical motion units are specified by GS P. Changing the horizontal and vertical motion units does
not affect the current left margin.
• The horizontal motion unit ( x) is used for calculating the printing area width.
The calculated result is truncated to the minimum value of the 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.
If the printing area width cannot be extended sufficiently, the right space is reduced.
• If the width set for the printing area is less than one line in vertical, the following processing is performed only on the
Printable area
Left margin Printing area width
line in question when data other than character data (e.g., bit image, user-defined bit image) is developed:
The printing area width is extended to the right to accommodate one line in vertical for the bit image within the printable
area.
If the printing area width cannot be extended sufficiently, the left margin is reduced to accommodate one line in vertical.
• The commands which set the printing area width for bit image printing and its minimum widths are as follows:
• Bit image (ESC *):
Single density mode = 2 dots
Double density mode = 1 dot
• Downloaded bit image (GS /):
Double width mode or Quadruple mode = 2 dots
Normal mode or Double-height mode = 1 dot
• NV bit image (FS p):
Double width mode or Quadruple mode = 2 dots
Normal mode or Double-height mode = 1 dot
• Raster bit image (GS r 0):
Double width mode or Quadruple mode = 2 dots
Normal mode or Double-height mode = 1 dot
[Default] nL = 0, nH = 2
For 58mm paper width model; nL = 104, nH = 1
[Reference] GS L, GS P
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 horizontal motion unit (x) is used.
• he horizontal and vertical motion unit are specified by GS P.
• 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.
[Reference] ESC $, ESC T, ESC W, ESC \, GS $, GS P
GS^rtm (*)
[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.
Programmer Manual
Programmer Manual
• 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:
Gsan (*)
[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:
Second byte (printer information) :
Third byte (paper sensor information) :
Four byte (paper sensor information) :
Bit
0-1
2
3
4
5
6
7
Off/On
Off
Off
Off
Off
Off
On
On
On
Hex
00
00
04
10
00
00
40
00
Decimal
0
0
4
0
Status for ABS
Not used Fixed to off
Drawer kick-out connector pin 3 is LOW
online
Not used. Fixed to On.
Cover is closed.
Paper is not being fed by using the PAPER FEED button.
Paper is being fed by using the PAPER FEED button.
Not used.Fixed to off
16
64
0
0
Bit
0-4
5
6
7
Off/On
Off
Off
Off
Off
On
On
Hex
00
00
20
00
00
40
Decimal
0
0
Status for ABS
Undefined
No unrecoverable error.
Unrecoverable error occurred.
No automatically recoverable error.
Automatically recoverable error occurred.
Not used. Fixed to Off.
32
64
0
0
Bit
0,1
2,3
4-7
4-7
Off/On
Off
Off
Off
On
Hex
00
00
0C
00
Decimal
0
0
Status for ABS
Not used. Fixed to Off.
Paper roll near-end sensor: paper near end.
Paper roll end sensor: paper present.
Not used. Fixed to Off.
12
0
Bit
0-3
Off/On
Off
Hex
00
Decimal
0
Status for ABS
Not defined.
Not used. Fixed to Off.
- - -
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:
[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
n
0,48
1,49
Typeface
Standard ASCII characters (12 × 24)
Compressed ASCII characters (9 × 17)
GS h n
[Name] Select bar code height
[Format] ASCII GS h n
Hex 1D 68 n
Decimal 29 104 n
[Range] 1 ≤ n ≤ 255
[Description] Selects the height of the bar code.
n specifies the number of dots in the vertical direction.
[Default] n = 162
[Reference] GS k
①GS k m d1…dk NUL ②GS k m n d1..dn
[Name] Print bar code
[Format] ① ASCII GS k m d1...dk NUL
Hex 1D 6B m d1...dk 00
Decimal 29 107 m d1...dk 0
② ASCII GS k m n d1...dn
Hex 1D 6B m n d1...dn
Decimal 29 107 m n d1...dn
[Range] ① 0 ≤ m ≤ 6 (k and d depends on the bar code system used)
② 65 ≤ m ≤73 (n and d depends on the bar code system used)
[Description] Selects a bar code system and prints the bar code.
m selects a bar code system as follows:
Character
0 9 ~
0 9 ~
0 9 ~
0 9 ~
0 9, ~
A Z ~
SP,$,%,+,
-,., /
*(Start / end character)
0 9 ~
0 9, ~
A D ~
$, +, -, .,
/,:
Remarks
48 ≤ d ≤ 57
48 ≤ d ≤ 57
48 ≤ d ≤ 57
48 ≤ d ≤ 57
45 ≤ d ≤ 57,
65 ≤ d ≤ 90,
d = 32, 36, 37,
d = 42(Start / end character)
48 ≤ d ≤ 57
48 ≤ d ≤ 57,
65 ≤ d ≤ 68,
d = 36, 43, 45, 46,
47, 58
Numder of characters
11 ≤ k ≤ 12
11 ≤ k ≤ 12
12 ≤ k ≤ 13
7 ≤ k ≤ 8
1 ≤ k ≤ 255
1 ≤ k ≤255(Even number)
1 ≤ k ≤ 255
Bar Code System
UPC-A
UPC-E
JAN13 (EAN13)
JAN8 (EAN8)
CODE39
ITF
CODABAR
43, 45, 46, 47
m
0
1
2
3
4
5
6
①
Programmer Manual
Character
0 9 ~
0 9 ~
0 9 ~
0 9 ~
0 9, ~
A Z ~
SP,$,%,+,
-,., /
*(Start / end character)
0 9 ~
0 9, ~
A D ~
$, +, -, .,
/,:
Remarks
48 ≤ d ≤ 57
48 ≤ d ≤ 57
48 ≤ d ≤ 57
48 ≤ d ≤ 57
45 ≤ d ≤ 57,
65 ≤ d ≤ 90,
d = 32, 36, 37,
d = 42(Start / end character)
48 ≤ d ≤ 57
48 ≤ d ≤ 57,
65 ≤ d ≤ 68,
d = 36, 43, 45, 46,
47, 58
Numder of characters
11 ≤ n ≤ 12
11 ≤ n ≤ 12
12 ≤ n ≤ 13
7 ≤ n ≤ 8
1 ≤ k ≤ 255
1 ≤ n ≤255(Even number)
1 ≤ n ≤ 255
Bar Code System
UPC-A
UPC-E
JAN13 (EAN13)
JAN8 (EAN8)
CODE39
ITF
CODABAR
43, 45, 46, 47
m
65
66
67
68
69
70
71
②
72
73
CODE93
CODE128
1 ≤ n ≤ 255
2 ≤ n ≤ 255
0 ≤ d ≤ 127
0 ≤ d ≤ 127
NUL~SP(7FH)
NUL~SP(7FH)
[Details for ①]
·This command ends with a NUL code.
· When the bar code system used is UPC-A or UPC-E, the printer prints the bar code data after receiving 12 bytes bar
code data and processes the following data as normal data.
· When the bar code system used is JAN13 (EAN13), the printer prints the bar code after receiving 13 bytes bar code
data and processes the following data as normal data.
· When the bar code system used is JAN8 (EAN8), the printer prints the bar code after receiving 8 bytes bar code data
and processes the following data as normal data.
·The number of data for ITF bar code must be even numbers. When an odd number of data is input, the printer ignores
the last received data.
[Details for ②]
·n indicates the number of bar code data, and the printer processes n bytes from the next character data as bar code
data.
·If n is outside of the specified range, the printer stops command processing and processes the following data as
normal data. [Details in standard mode] .
·If d is outside of the specified range, the printer only feeds paper and processes the following data as normal data.
· If the horizontal size exceeds printing area, the printer only feeds the paper.
·This command feeds as much paper as is required to print the bar code, regardless of the line spacing specified by
ESC 2 or ESC 3.
·This command is enabled only when no data exists in the print buffer. When data exists in the print buffer, the printer
processes the data following m as normal data.
·After printing bar code, this command sets the print position to the beginning of the line.
·This command is not affected by print modes (emphasized, double-strike, underline, character size, white/black reve-
rse printing, or 90° rotated character, etc.), except for upside-down printing mode.
[Details in page mode]
·This command develops bar code data in the print buffer, but does not print it. After processing bar code data, this
command moves the print position to the right side dot of the bar code.
· If d is out of the specified range, the printer stops command processing and processes the following data as normal
data. In this case the data buffer position does not change.
· If bar code width exceeds the printing area, the printer does not print the bar code but moves the data buffer position
to the left side out of the printing area.
When CODE128 (m = 73) is used:
Special character
SHIFT
CODE A
CODE B
CODE C
FNC1
ASCII
{S
{A
{B
{C
{1
Hex
7B, 53
7B, 41
7B, 42
7B, 43
7B, 31
Decimal
123,83
123, 65
123, 66
123, 67
123, 49
Transmit data
Programmer Manual
FNC2
FNC3
FNC4
"{"
{2
{3
{4
{{
7B, 32
7B, 33
7B, 34
7B, 7B
123, 50
123, 51
123, 52
123, 123
·The printer prints an HRI character ( ) as start character at the beginning of the HRI character string.
·The printer prints an HRI character ( ) as a stop character at the end of the HRI character string.
·The printer prints HRI characters (F + an alphabetic character) as a control character (<00>H to <1F>H and <7F>H):
[Examples] example print "No. 123456"
In this example, the printer first prints "No." With CODE B, followed by the rest of the digital print CODE C:
·If the character is not in the forefront of barcode data set selection, the printer will stop processing this command, and
the rest of the data as normal data.
• If "{" and followed by its combination of character is not specified above that, the printer stops processing this comm-
and, and the rest of the data as normal data.
• If the printer is not receiving character code character set data, the printer stops processing this command, and the rest
of the data as normal data.
• When the printer to print HRI characters do not print shift characters and character set selection data.
HRI characters • function character is not printed.
• Control characters (<00> H to <1F> H and <7F> H) of HRI characters are not printed;
<Other> must ensure clearance around barcode. Gap varies by type of bar code.
[Reference] GS H, GS f, GS h, GS w
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:
[Details] • This command just effect the serial interface.
• This command is executed after the data in the receive buffer is processed. Therefore,there may be a time lag between
receiving this command and transmitting the status,depending on the receive buffer status.
• The status types to be transmitted are shown below:
Paper sensor status (n = 1, 49):
Cash drawer status(n = 2, 50):
n
0,48
1,49
Function
Transmits paper sensor status
Transmits drawer kick-out connector status
Bit
2-3
0-1
4
5,6
7
Off/On
Off
Off
Off
Off
On
On
Hex
00
00
03
0C
00
—
00
Decimal
0
0
3
0
Status for ABS
Paper roll near-end sensor: paper adequate.
Paper roll near-end sensor: paper almost used up.
Paper roll end sensor: paper adequate.
Paper roll end sensor: no paper.
Not used. Fixed to Off.
Undefined.
Not used. Fixed to Off.
12
—
0
NO. 1 2 3 4 5 6
GSK731012366781114612367123456
Programmer Manual
Bit
1-3
0
4
5,6
7
Off/On
Off
Off
Off
On
Hex
00
00
01
—
—
00
Decimal
0
0
1
0
Status for ABS
Cash drawer opening.
No cash drawer opening.
Not used. Fixed to Off.
Undefined.
Undefined.
Not used. Fixed to Off.
—
—
[Reference] DLE EOT, GS a
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 ≤ 51
0 ≤ 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:
·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 definition, and begins performing this
command. The definition of this command should be cleared.
• d indicates the bit-image data. Set time a bit to 1 prints a dot and setting it to 0 does not print a dot.
n
0,48
1,49
2,50
3,51
Mode
Normal
Double-width
Double-height
Quadruple
Vertical Dot Density
200 DPI
200 DPI
100 DPI
100 DPI
Horizontal Dot ensity
200 DPI
100 DPI
200 DPI
100 DPI
Programmer Manual
1 2 3
65 66 67
62 63 64
126 127 128
.......
.......
.......
.......
K-2 K-1 k
1234567 0
MSB LSB
(xL + xH ×256) 8× dot=512dot
(yL + yH ×256) dot
GS w n
[Name] Set bar code width
[Format] ASCII GS w n
Hex 1D 77 n
Decimal 29 119 n
[Range] 2≤ n≤ 6
[Description] Set the horizontal size of the bar code.
n specifies the bar code width as follows:
·Multi-level bar codes are as follows:
UPC-A, UPC-E, JAN13 (EAN13), JAN8 (EAN8), CODE93, CODE128
·Binary-level bar codes are as follows:
CODE39, ITF, CODABAR
[Default] n = 3
[Reference] GS k
nModule Width (mm) for
Multi-level Bar Code
0.25
0.375
0.5
0.625
0.75
Thick element width (mm)
0.625
1.0
1.25
1.625
1.875
Binary-level bar codes
Thin element width (mm)
0.25
0.375
0.5
0.625
0.75
2
3
4
5
6
FS ! n
[Name] Set print mode(s) for Kanji characters
[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 is
effective.
• 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 !
Bit
0-1
2
3
4-6
7
Off/On
On
Off
Off
—
—
Off
On
On
Hex
04
00
00
—
—
00
08
80
Decimal
4
0
0
—
—
.
8
128
Undefined.
Function
Double-width mode is OFF.
Double-width mode is ON.
Double-height mode is OFF.
Double-height mode is ON.
Undefined.
Underline mode is OFF.
Underline mode is ON.
Programmer Manual
FS &
[Name] Select Kanji character mode
[Format] ASCII FS &
Hex 1C 26
Decimal 28 38
[Description] Selects Kanji character mode.
[Reference] FS .,
FS – n
[Name] Turn underline mode on/off for Kanji characters
[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.
[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
[Reference] FS !
n
0,48
1,49
Function
Turns off underline mode for Kanji characters
Turns on underline mode for Kanji characters (1-dot thick)
Turns on underline mode for Kanji characters (2-dot thick) 2,50
FS .
[Name] Cancel Kanji character mode
[Format] ASCII FS .
Hex 1C 2E
Decimal 28 46
[Description] Cancels Kanji character mode.
[Reference] FS &,
FS 2 c1 c2 d1...dk Define user-defined 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, c2 define the character of the representative character encoding
C1=FEH
A1H ≤ c2 ≤ FEH
0 ≤ d ≤ 255
k = 72
[Description]Defined by the designated c1, c2 characters
[Default] • c1, c2 on behalf of a user-defined character encoding, c1 specifies the first byte, c2 specify the second byte.
[Notes] • d represents the data. 1 to print a dot, 0 means no printing point.
No custom characters.
Between custom Kanji fonts and data relationship shown below:
Programmer Manual
24dot
d1 d4 d7
d2 d5
d3 d6
24dot
d70
d71
d72
MSB
LSB
D1=00H, D4=00H, D7=00H, D10=00H ......
D2=1FH, D5=78H, D8=60H, D11=00H ......
D3=C0H, D6=30H, D9=38H, D12=70H ......
FS S n1 n2
[Name] Set left- and right-side Kanji character spacing
[Format] ASCII FS S n1 n2
Hex 1C 53 n1 n2
Decimal 28 83 n1 n2
[Range] 0 ≤ n 1 ≤ 255
0 ≤ n 2 ≤ 255
[Description] Sets left- and right-side Kanji character spacing n1 and n2, respectively.
• When the printer model used supports GS P, the left-side character spacing is [n1 × horizontal or vertical motion
units], and the right-side character spacing is [ n2 × horizontal or vertical motion units].
[Details] • When double-width mode is set, the left- and right-side character spacing is twice the normal value.
• The horizontal and vertical motion units are set by GS P. The previously specified character spacing does not change,
even if the horizontal or vertical motion unit is changed using GS P.
• The value cannot be less than the minimum horizontal movement amount, and 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 as follows:
① When the starting position is set to the upper left or lower right of the printable area using ESC T, the horizontal
Programmer Manual
motion unit ( x) is used.
② When the starting position is set to the upper right or lower left of the printable area using ESC T, the vertical motion
unit ( y) is used.
③ The maximum right-side spacing is 255/180 inches for the paper roll and is approximately 35.983 mm {255/150
inches}. Any setting exceeding the maximum is converted to the maximum automatically.
[Default] n1 = 0, n2 = 0
[Reference] GS P
FS W n
[Name] Turn quadruple-size mode on/off for Kanji characters
[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 turned on.
• When quadruple-size mode is turned off using this command, the following characters are printed in normal size.
• When some of the characters on a line are different in height, all the characters on the line are aligned at the 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 !
The printer features a command prompt
ESC B n t
[Name] Printer to print single Beeper
[Format] ASCII ESC B n t
Hex 1B 42 n t
Decimal 27 66 n t
[Range] 1 <= n <= 9,1 <= t <= 9
[Description] • printer to print single Beeper.
• n is the number of times the buzzer.
• t is the number of tweets buzzer each time (t × 50) ms
ESC C m t n
[Name] Printer to print single Beeper and alarm light flashes
[Format] ASCII ESC C m t n
Hex 1B 43 m t n
Decimal 27 67 m t n
Range] 1 <= m <= 20,1 <= t <= 20,0 <= n <= 3,
[Description] •printer to print single Beeper and alarm lights blinking.
• m: 1 <= m <= 20, refers to the warning light flashes the number of times or buzzer.
• t: 1 <= t <= 20, refers to the warning lights flashing at intervals of t * 50 ms or buzzer interval of (t × 50) ms.
• When n = 0, the buzzer does not beep while warning light does not blink;
• When n = 1, the buzzer sounds; when n = 2, warning lights flashing;
• When n = 3, the buzzer sounds, while warning lights flashing;
Programmer Manual
Appendix X: 128 Code
X.1 128 Yard Review
128 yards through the alternate character sets A, B character set and character set C, capable of 128 and
100 ASCII characters from 00 to 99 digits , and some special characters are encoded . Each character set
encoding of characters is as follows :
• Character Set A: ASCII character codes 00H to 5FH
• Character Set B: ASCII character codes 20H to 7FH
• Character Set C: 00 ~ 99 of 100 digital
128 yards on the following special characters can be encoded :
• SHIFT character "SHIFT" to make the character behind the bar code symbol SHIFT first character from the
character set A character set conversion to B, or from character set to character set B A, began to recover
from the second character to the previously used SHIFT character set. "SHIFT" character set only character
set conversion between A and B used in the character , it does not make the current coded character set C
character enters or exits the state .
• Character set selection character (CODE A, CODE B, CODE C) These characters can convert it back to a
character set encoding of characters A, B or C.
• function character (FNC1, FNC2, FNC3, FNC4) the usefulness of these features characters depends on
the application software. In the character set C , only FNC1 available.
X.2 character set characters
A set of characters
CharactersSend data
Hex Decimal
NUL L
SOH STX ETX EOT ENQ ACKBEL BS HT LF VT FF CRSOSI
DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM
SUB ESC FSGSRSUS SP !" * $ % &
CharactersSend data
Hex DecimalCharacters
Send data
Hex Decimal
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
()*+,-./0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O
28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
PQRSTUVWX Y Z [ \ ]
_̂ FNC
1 FNC
2 FNC
3 FNC
4 SHIF
T COD EB
COD EC
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
7B,31 7B,32 7B,33 7B,34 7B,53 7B,42 7B,43
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
123,49 123,50 123,51 123,52 123,83 123,66 123,67
Programmer Manual
B set of characters
CharactersSend data
Hex Decimal
SP ! " * $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G
CharactersSend data
Hex DecimalCharacters
Send data
Hex Decimal
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
HIJKLMNOPQRSTUVWXYZ [ \ ] ^ _ ` abcdefgh i j k l
mn o
48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109 110 111
p Q r St u v WXYz { | }
—DELFNC
1 FNC
2 FNC
3 FNC
4 SHIF
TCODEA
CODEC
70 71 72 73 74 75 76 77 78 79 7A
7B,7B 7C 7D 7E 7F
7B,31 7B,32 7B,33 7B,34 7B,53 7B,41 7B,43
112 113 114 115 116 117 118 119 120 121 122
123,123 124 125 126 127
123,49 123,50 123,51 123,52 123,83 123,65 123,67
Programmer Manual
Characters in the character set C
CharactersSend data
Hex Decimal
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
CharactersSend data
Hex DecimalCharacters
Send data
Hex Decimal
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
FNC 1
CODEA
CODEB
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63
7B,31 7B,41 7B,42
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
123,49 123,65 123,66
Appendix Y: print mode and its conversion
Y.1 Summary printer has two operating modes: standard mode and page mode. In standard mode , as long as the
line printer buffer is full , or received
Print or feed command, the printer will print the paper in hand . In page mode , all of the print data and feed
commands are in the specified memory space, the printer does not perform any operation is stored . Until it receives
an ESC FF or FF command, the printer will print all the content areas are printed.
For example : When the printer is in standard mode received "ABCDEF" <LF>, it immediately "ABCDEF" to print out
a line of paper in hand . In page mode , the printer will "ABCDEF" is written in memory of the print area, the next
print data on the next line of the print area . ESC L command to switch the printer to the page mode , all data are
processed after this in page mode . All data can thus execute ESC FF command received print out all the data , but
can only execute FF command received print out, and the printer will switch to standard mode. ESC S command
execution can also switch the printer to standard mode , but it does not print in page mode the received data, and
these data will be cleared .
Standard ModeESC L
ESC S
PrintFF
Page Mode
ESCFF
Programmer Manual
Switching Y.1 standard mode and page mode between
Y. 2 set various values in standard mode and page mode
1 ) Some commands ( eg : ESC SP, ESC 2, ESC 3, and FS S) can be used both in standard mode and
can be used in page mode , and their arguments are the same. However, provided in two modes are
independent , they are stored , respectively .
Y. 3 Set Print Area
1 ) print area is set by ESC W command. If the ESC W command before receiving all of the print and pa-
per feed operations have been completed , the printer to the left ( as you face the printer ) as the print
area of the origin of coordinates (x0, y0). Width (dx dot ) extension of the rectangular printing area to
the right in the x- direction ( perpendicular to the paper feed direction ) from the origin of coordinates
(x0, y0); Height (dy point ) in the y direction ( paper feed direction ) . If you do not use ESC W set the
print area , the print area using default values.
2 ) After the printer in the print area and the print area direction ( by the ESC T command set ) is set ,
the received print data will be arranged according to the position within the print area as shown in
Figure B.2 , A point for the starting position of the print area this is a default value. ( When a character
is printed , A point as the baseline ) print data downloaded bitmap or barcode data to its current posit-
ion as the lower left corner ( Figure B.3 in point B), aligned with the baseline.
3 ) Upon receiving a command containing feed (eg : Before LF or ESC J), if the print data ( including ch-
aracter spacing ) has exceeded the print area , the printer automatically feeds the line ( how much
feed , determined by the ESC line-height 2 and ESC 3 settings ) , while the printing position to the
next column header .
4 ) The default line height is 1/6 inch , equivalent to 31 points on the vertical . If the line containing the
next print data in the longitudinal upscaling 2 times the characters, or bitmap occupies two lines or
more lines , as well as higher than normal character code , the printer can not meet the needs of the
feed volume , resulting in a character on a line of characters printed and the printed overlay. To avoid
this, the line can be increased higher .
For example
When printing a height of 6 bytes downloaded bitmap using the formula below :
{ Vertical dots (8 × 6) - printing area starting position feed point (24)} × vertical motion unit ( 200 /200 ) =24 ,
that is, to print the bitmap is complete , will require the print position based on the starting position of the
area down 24 points. With the following command :
ESC W xL, xH, yL, yH, dxL, dxH, dyL, dyH ESC T n
ESC 3 24 Å to set a new line of high-
LF
GS / 1
ESC 2 Å The row height back to the 1/6 inches
Storage location map Y.2 character data
Map
Programmer Manual
24
(x0, y0)
A dot
base line
Processing Direction
Printing chea[unit: Dot] (dx, dy)
24
12
24×2=48
12
xx8
6×8=48nH×256=nL
24
GS h n
(GS k m)
B dot B dot B dot
bitmap
bitmaps
User-defined
Barcode
base line
HRI Character(ESC + m nL NH)
+(GS xy)
B dot
24
-3
(x0, y0)
A dot
base line
Data processing of direction
Printing chea[unit: Dot] (dx, dy)
base line
27
B dot
24
-33
3
xx8
6×
8=
48
User-defined bitmaps+(GS xy)
B dot
Storage location map Y.3 print data
Storage location map Y.3 download bitmap
Programmer Manual