OKI ML321TURBO - Dot Matrix Printer

ML321TURBO - Dot Matrix Printer OKI - Free user manual and instructions

Find the device manual for free ML321TURBO OKI in PDF.

📄 180 pages English EN Download 💬 AI Question 10 questions ⚙️ Specs
Notice OKI ML321TURBO - page 9
View the manual : Français FR English EN
Pick your language and provide your email: we'll send you a specifically translated version.
Product type Dot matrix printer
Brand OKI
Model ML321TURBO
Print technology Dot matrix (impact)
Number of needles 9 needles
Print speed Up to 300 characters per second (cps)
Maximum print width Up to 283 mm (A4 landscape format)
Media types Continuous paper, single sheets, multipart forms (up to 5 copies)
Paper feed Front and rear (rear tractor for continuous paper)
Print resolution 180 x 180 dpi
Consumables Ink ribbon (model OKI 44104201 or equivalent)
Interface Parallel Centronics, USB (depending on version)
Character set ASCII, international code page, bitmap fonts
Dimensions (L x W x H) Approximately 400 x 300 x 250 mm
Weight Approximately 8 kg
Power supply 220-240 V AC, 50/60 Hz
Power consumption Operating: approximately 50 W, standby: < 10 W
Operating temperature 5 °C to 40 °C
Operating humidity 10 % to 90 % RH non-condensing
Maintenance and cleaning Clean the exterior with a soft, dry cloth. Replace the ink ribbon when worn. Clean the print head with a recommended cleaning kit.
Safety Unplug before any maintenance. Do not remove the cover while the printer is running. Keep away from liquids.
Spare parts and repairability Ink ribbon, print head, drive rollers, motherboard. Repair possible by an approved technician.
General information Robust dot matrix printer for professional applications. Compatible with major operating systems (Windows, Linux). Manual available in PDF at notice-facile.com.

Frequently Asked Questions - ML321TURBO OKI

How to install the ink ribbon on the OKI ML321TURBO?
Open the front cover, remove the old ribbon by freeing it from the guides. Insert the new ribbon by passing it between the print head and the guide, then wind it onto the spools. Close the cover and turn the tension knob if necessary. Refer to the manual for details.
Why is my printer printing faintly?
This is usually due to a worn ink ribbon. Replace it with a new one. Also check that the print density is set correctly in the driver settings.
How to load continuous paper into the OKI ML321TURBO?
Use the rear tractor: open the clamps, align the paper with the drive holes, close the clamps and adjust the guides. Make sure the paper is straight to avoid jams.
What to do in case of a paper jam?
Turn off the printer, open the cover, carefully remove the jammed paper by pulling forward. Check for any tears. Reload the paper correctly. If the problem persists, clean the rollers.
My printer does not turn on. What to check?
Make sure the power cord is properly connected and the socket works. Check the fuse on the power supply if accessible. If nothing lights up, contact a repair technician.
How to adjust the needle impact force?
The impact force can be adjusted via software or the control panel. Refer to the configuration menu: look for the 'Print Density' or 'Impact Force' option and change it according to the number of copies desired.
Where to find drivers for the OKI ML321TURBO?
Drivers are available on the OKI website or at notice-facile.com. You can also use generic drivers for 9-pin dot matrix printers (OKI ML320).
How to clean the print head?
Use a print head cleaning kit (isopropyl alcohol and lint-free cloth). Gently clean the front of the head after removing the ribbon. Let dry before reassembling.
The printer makes abnormal noise. What are the possible causes?
A grinding noise may indicate a misinstalled ribbon or dirty rollers. A clicking noise may come from a worn gear. Check and lubricate friction points with suitable oil (not supplied).
How to change the font or print style?
Use ESC/POS commands or the panel buttons. For condensed font, activate 'Condensed' mode. For bold, use the ESC E command or the setting in software.

User questions about ML321TURBO OKI

0 question about this device. Answer the ones you know or ask your own.

Ask a new question about this device

The email remains private: it is only used to notify you if someone responds to your question.

No questions yet. Be the first to ask one.

Download the instructions for your Dot Matrix Printer in PDF format for free! Find your manual ML321TURBO - OKI and take your electronic device back in hand. On this page are published all the documents necessary for the use of your device. ML321TURBO by OKI.

USER MANUAL ML321TURBO OKI

Every effort has been made to ensure that the information in this document is complete, accurate and up-to-date. Okidata assumes no responsibility for the results of errors beyond its control. Okidata also cannot guarantee that changes in software and equipment made by other manufacturers, and referred to in this handbook, will not affect the applicability of the information in this manual. Mention of software products manufactured by other companies does not necessarily constitute endorsement by Okidata.

© 1994, 1995, 1996, 1997 by OKIDATA.

Revised edition June 1997.

Written and produced by the OKIDATA Publications Department. Please address any comments on this publication

by mail to:

Publications Services Department

OKIDATA

532 Fellowship Road

Mount Laurel, NJ 08054-3405

or by eMail to:

pubs@okidata.com

We welcome you to visit our web site:

http://www.okidata.com

OKIDATA and MICROLINE are registered trademarks of Oki Electric Industry Company, Ltd.; marques déposées de Oki Electric Industry Company, Ltd. OKIDATA—Marca Registrada, Oki Electric Industry Company, Ltd.

Epson is a registered trademark of Epson America, Inc.

IBM and PC are registered trademarks of International Business Machines Corporation.

Microsoft, MS-DOS and Windows are registered trademarks or trademarks of Microsoft Corporation in the United States and other countries.

Contents

How To Use This Manual . vii

How the Manual is Organized . vii

Conventions Used in this Manual VIII

Abbreviations & Acronyms ix

Command Summary xi

IBM Proprinter Commands xi

Epson Fx Commands xix

Epson LQ Commands . xxv

Ökidata MICROLINE Standard Commands xxxii

Chapter 1: Printer Drivers 1

Usable Drivers 1

Okidata Software Drivers 2

Software Driver Selection 4

Embedded Commands 4

Chapter 2: Character Set Commands 5

IBM Character Set Commands 5

Select IBM Set I Command (IBM) 5

Select IBM Set II Command (IBM) 5

Select All Character Set [IBM Set III] Command (Epson LQ) 6

Print Data from IBM All Characters Set [IBM Set III] Command (IBM)............6

Print One Character from IBM All Characters Set [IBM Set III] Command (IBM).........7

Epson Character Set Commands 7

Select Epson Set 1 [Slanted Characters] Command (Epson)

Select Epson Set 2 [Graphics Characters] Command (Epson)

MICROLINE Character Set Commands 8

Select MICROLINE Standard Character Set Command (ML) 8

Select MICROLINE Block Graphics Symbol Set Command (ML) 8

Select MICROLINE Line Character Set Command (ML) 8

International Character Set Commands 9

Select International Character Set Command (IBM/ML) 9

Select International Character Set Command (Epson) 10

Print from Code Page Command (IBM/ML) 11

Assign Code Page Command (Epson) 12

Upper Range Control Code Commands (Epson) 13

Select Code Page Set Command (Epson) 13

Chapter 3: Character Size & Spacing Commands. 15

Pitch Setting Commands 15

Pitch Setting Commands for Non-compressed Printing (IBM/E/ML) 15

Pitch Setting Commands for Compressed Printing (IBM) 16

Pitch Setting Commands for Compressed Printing (Epson) 16

Pitch Setting Commands for Compressed Printing (ML) 17

Select Character Pitch/Point Size Command (Epson) 17

Select Character Pitch/Point Size Command (IBM-Oki unique) 19

Superscript/Subscript Commands (IBM/E/ML) 20

Double Width Commands (IBM/E/ML) 21

Double Height Commands (E/ML) 21

Double Width & Height Printing Commands 22

Double Width & Height Printing Command, 9-Pin Printers (IBM) 22

Double Width & Height Printing Command, 24-Pin Printers (IBM) 23

Combined Print Features Command (ML) 24

Character Spacing Commands 25

Proportional Spacing Commands (IBM/E/ML) 25

Intercharacter Spacing Commands (IBM/E/ML) 26

Set Horizontal Motion Index [HMI] Command (Epson LQ) 27

Chapter 4: Character Style Commands 29

Print Mode & Fonts Commands 29

Individual Print Mode & Font Commands for 9-Pin Printers (IBM/E/ML) 29

Individual Print Mode & Font Commands for 24-Pin Printers (IBM/E) 30

Combined Select Font Command (IBM) 31

Select Font Command (IBM) 32

Combined Print Mode Command (Epson) 34

Italics Print Commands (IBM/E/ML) 35

Emphasized & Enhanced Print Commands (IBM/E/ML) 36

Underline/Overscore/Strike-Through Commands 36

Underline Commands (IBM/E/ML) 36

Overscore Commands (IBM) 37

Score Style Command (Epson) 37

Outline/Shadow Commands (IBM/E) 38

Chapter 5: Custom Character Commands 39

Custom Character Commands: 9-Pin Printers 39

Designing a Custom Character for 9-Pin Printers 39

IBM Custom Character Commands for 9-Pin Printers 40

Copy ROM to RAM Command for 9-Pin Printers (IBM) 40

Down Line Load Characters Command for 9-Pin Printers (IBM) 41

Epson Custom Character Commands for 9-Pin Printers 43

Copy ROM to RAM Command for 9-Pin Printers (Epson) 43

Down Line Load Characters Command for 9-Pin Printers (Epson) 43

Custom Character Set On/Off Commands for 9-Pin Printers (Epson) 44

Okidata MICROLINE Standard Custom Character Commands for 9-Pin Printers......45

Copy ROM to RAM Command for 9-Pin Printers (ML) 45

Down Line Load Characters Commands for 9-Pin Printers (ML) 45

Select DLL Font Commands for 9-Pin Printers (ML) 45

Custom Character Commands: 24-Pin Printers 46

Designing a Custom Character for 24-Pin Printers. 46

IBM Custom Character Commands for 24-Pin Printers 47

Down Line Load Characters Command for 24-Pin Printers (IBM) 47

Epson Custom Character Commands for 24-Pin Printers 49

Copy ROM to RAM Command for 24-Pin Printers (Epson) 49

Down Line Load Characters Command for 24-Pin Printers (Epson) .50

Custom Character Set On/Off Commands for 24-Pin Printers (Epson) .51

Load Custom Character Set into Upper ASCII Command for 24-Pin Printers (Epson)..51

Chapter 6: Graphics Commands for 9-Pin Printers 53

Overview. 53

Programming Graphics in BASIC 54

Graphics Density Selection Commands (IBM/E) 54

Graphics Density Selection Commands (ML) 55

Graphics Select/Print Command (Epson) 55

Reassign Graphics Codes Command (Epson) 57

Select Graphics Command (Epson) 57

Select Graphics Mode Command (ML) 57

Graphics Print Mode Commands (ML) 59

Special Purpose Line Feed Commands (ML) 60

Chapter 7: Graphics Commands for 24-Pin Printers 61

Overview 61

Programming Graphics in BASIC 62

Graphics Density Selection Commands (IBM/E) 62

Graphics Select/Print Command (IBM AGM/E) 63

Reassign Graphics Codes Command (IBM AGM/E) 64

Graphics Resolution Command (IBM) 64

Select Graphics Aspect Ratio Command (IBM) 65

Select Graphics Mode Command (Epson) 65

Set/Reset Graphics Mode Command (Epson) 66

Print Raster Graphics Command (Epson) 66

Chapter 8: Horizontal Control Commands 69

Backspace & Carriage Return Commands (IBM/E/ML) 69

Margin Setting Commands 69

Set Left & Right Margins Command (IBM) 69

Left and Right Margin Commands (Epson) 70

Left and Right Margin Commands (ML) 72

Horizontal Tab Commands 73

Execute Horizontal Tab Command (IBM/E/ML) 73

Set Horizontal Tab Command (IBM/E) 73

Set Tabs by Character Space Command (ML) 74

Set Tabs by Dot Columns Command (ML) 74

Clear Horizontal Tab Settings Commands (IBM/E) 76

Clear Horizontal Tab Settings Commands (ML) 76

Horizontal Print Position Commands 76

Indent from Left Margin Command (IBM/ML) 76

Set Multiple Print Positions Command (IBM/E/ML) 77

Set Relative Dot Position Command (IBM) 79

Set Relative Dot Position Command (IBM) 80

Set Relative Dot Position Command (Epson) 80

Set Absolute Dot Position Command (Epson) 80

Move to the Right & Left Commands (ML) 81

Uni-Directional Printing Commands (IBM/E/ML) 82

Incremental Printing Commands (IBM/E/ML) 82

Justification Commands (Epson) 83

Chapter 9: Vertical Control Commands 85

Set Page Length Commands 85

Set Page Length in Inches Command (IBM/E/ML) 85
Set Page Length in Lines Command (IBM/E/ML) 85
Set Page Length in Defined Unit Comand (Epson) 86

Form Feed Command (IBM/E/ML) 87

Line Feed Commands 87

Line Feed with Carriage Return Command (IBM/E/ML) 87
Line Feed without Carriage Return Command (ML) 87
Line Feed & Carriage Return Selection Command (ML) 87
Fine Line Feed Commands (IBM/E/ML) 88
Perform Line Feed Command (IBM) 89
Auto Line Feed On/Off Commands (IBM) 89
Reverse Line Feed Commands (IBM/E/ML) 89

Line Spacing Commands (IBM/E/ML) 90

General Line Spacing Commands (IBM/E/ML) 90
Fine-Increment Line Spacing Commands for 9-Pin Printers (IBM/E/ML) .90
ESC A N Line Spacing Command for 24-Pin Printers (IBM/E) 91
ESC 3 n Line Spacing Command for 24-Pin Printers (IBM/E) 92
n/360-Inch Line Spacing Commands for 24-Pin Printers (IBM/E) 92
Set Vertical Units (IBM) 93

Vertical Tab Commands 93

Execute Vertical Tab Command (IBM/E/ML) 94
Set Vertical Tabs Command (IBM/E) 94
Clear Vertical Tabs Command (IBM/E) 94
Vertical Format Unit [VFU] Commands (Epson) 95
Vertical Format Unit [VFU] Commands (ML) 96

Vertical Position Commands 96

Skip Down Command (ML). 96
Set Relative Vertical Position Command (Epson) 97
Set Absolute Vertical Position Command (Epson) 97
Top of Form Commands (IBM/ML) 98
Set Page Format Command (Epson) 98

Skip Over Perforation Commands 99

Skip Over Perforation On/Off Commands (IBM/E) 99
Skip Over Perforation ON/Off Commands (ML) 100

Chapter 10: Bar Code Commands for 9-Pin Printers 101

Bar Code Commands 101

Code 39 Bar Code Commands 101

Select Code 39 Bar Code Command 102
Print Code 39 Bar Code Command 104

Code 128 Bar Code Commands 104

Select Code 128 Bar Code Command 104
Print Code 128 Bar Codes Command 105

Interleaved 2 of 5 Bar Code Commands. 106

Select Interleaved 2 of 5 Bar Code Command. 106
Print Interleaved 2 of 5 Bar Code Command 107

UPCA Bar Code Commands 107

Select UPC A Bar Code Command 107

Print UPC A Bar Code Command 108

UPC E Bar Code Commands 109

Select UPC E Bar Code Command 109

Print UPC E Bar Code Command 110

EAN 8 Bar Code Commands 110

Select EAN 8 Bar Code Command 110

Print EAN 8 Bar Code Command 111

EAN 13 Bar Code Commands. 111

Select EAN 13 Bar Code Command. 111

Print EAN 13 Bar Code Command 112

Bar Code Command 112

Select/Print Postnet Bar Code Data Command 112

Chapter 11: Bar Code Commands for 24-Pin Printers 113

Bar Code Commands 113

Code 39 Bar Code Commands 113

Select Code 39 Bar Code Command 113

Print Code 39 Bar Code Command 115

Code 128 Bar Code Commands 116

Select Code 128 Bar Code Command 116

Print Code 128 Bar Code Command 117

Interleaved 2 of 5 Bar Code Commands. 117

Select Interleaved 2 of 5 Bar Code Command. 118

Print Interleaved 2 of 5 Bar Code Command 119

UPCA Bar Code Commands 119

Select UPC A Bar Code Command 119

Print UPC A Bar Code Command 120

UPC E Bar Code Commands 120

Select UPC E Bar Code Command 120

Print UPC E Bar Code Command 121

EAN 8 Bar Code Commands 121

Select EAN 8 Bar Code Command 121

Print EAN 8 Bar Code Command 122

EAN 13 Bar Code Commands 122

Select EAN 13 Bar Code Command. 123

Print EAN 13 Bar Code Command 123

Postnet Bar Code Command 124

Select/Print Postnet Bar Code Data Command 124

Chapter 12: Miscellaneous Commands 125

Cancel Command (IBM/E/ML) 125

Change Emulation Command (IBM/E/ML) 125

Cut Sheet Feeder (CSF) Commands 126

CSF Commands (IBM/E) 126

Bin Select Command for Dual Bin CSF (IBM/E) 126

CSF Commands (ML) 126

Delete Command (Epson) 127

Half-Speed Printing Commands (E/ML) 127

Initialize Printer Commands (E/ML) 127

Most Significant Bit Commands (Epson) 128

Paper-Out Sensor Commands (IBM/E/ML) 128

Print Suppress Mode Commands 129

Print Suppress Mode On/Off Commands (IBM) 129

Print Suppress Mode On/Off Commands (E/ML) 129

Select Color Command (IBM/E) 130

Set Unit Command (Epson) 130

Software I-Prime Command (IBM/E/ML) 131

Stop Printing Command (IBM) 131

Appendix A: Interfacing 133

Parallel Interface 133

Serial Interface 134

Commonly Used Serial Cable Configurations 135

Appendix B: Listing of Tables 137

Index 141

How To Use this Manual

This Programmer's Guide/Reference Manual is a supplement to the manuals for the various model printers. It contains additional information on selecting printer drivers and on the printer commands, as well as interfacing specifications.

How the Manual is Organized

Command Summary

Tabular listings of the commands for each emulation, with references to the page in the manual on which the description for the command appears.

Chapter 1: Printer Drivers

Selecting printer drivers.

Chapters 2 through 12 -Commands

Chapter 2: Character Set Commands
- Chapter 3: Character Size & Spacing Commands
Chapter 4: Character Style Commands
Chapter 5: Custom Character Commands
Chapter 6: Graphics Commands for 9-Pin Printers
Chapter 7: Graphics Commands for 24-Pin Printers
Chapter 8: Horizontal Control Commands
Chapter 9: Vertical Control Commands
Chapter 10: Bar Code Commands for 9-Pin Printers
Chapter 11: Bar Code Commands for 24-Pin Printers
Chapter 12: Miscellaneous Commands

Appendix A: Interfacing

Pin-out diagrams for the parallel and serial interfaces. It also includes wiring diagrams for commonly used serial cable configurations.

Appendix B: Listing of Tables

Includes a complete listing of the tables in this manual.

Conventions Used in this Manual

The following conventions are used in the command chapters of this manual:

  • The emulation(s) to which each command applies is given in parentheses at the end of the heading for the command. The emulations (IBM = IBM Proprinter, E = Epson FX, and ML = OKIDATA MICROLINE Standard) are described in Chapter 1.

For example:

Proportional Spacing Commands (IBM/E/ML)

  • The printer models to which each command applies are given immediately below the command heading, preceded by a check mark () .

ML320 E/I, ML321 E/I = Models ML320 & ML321, Epson/IBM-Compatible

ML320 Std., ML321 Std. = Models ML320 & ML321, MICROLINE Standard Emulation

ML320T, ML321T = Models ML320 Turbo & ML321 Turbo

ML390T, ML391T = Models ML320 Turbo & ML321 Turbo

ML520, ML521 = Models ML520 & ML521

ML590, ML591 = Models ML590 and ML591

For example:

Proportional Spacing Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320T, ML321T

ML520,ML521

ML320 Std., ML321 Std.

ML390T, ML391T

ML590,ML591

  • Text denoting lines of BASIC programming is set in the Courier font.

For example:

  • Notes, which contain important information that you should read, are set in italics.

For example:

Note: If you send a location value outside the set left or right margin, this command will be ignored.

Abbreviations & Acronyms

The following abbreviations and acronyms are used in this manual:

ASCII American Standard Codes for Information Interchange

Cpi Characters per inch

Cpl Characters per line

CSF Cut Sheet Feeder

Dec Decimal

DLL Down Line Loading

Dpi Dots per inch

E Epson FX Emulation

E/I Epson/IBM Compatible Model

Hex Hexadecimal

HSD High Speed Draft

IBM IBM Proprinter Emulation

ML OKIDATA MICROLINE Standard Emulation

NLQ Near Letter Quality

ROM Read Only Memory

RAM Random Access Memory

Std. OKIDATA MICROLINE Standard Model

TOF Top of Form

UTL Utility

Command Summary

This summary is in four sections:

  • IBM Commands
  • Epson FX Commands
  • Epson LQ Commands
  • Okidata MICROLINE Standard Commands

Each is section arranged numerically by the decimal value for the ASCII command. The page number given in the last column refers you to the explanation of the command in this manual.

The printer models which include that particular command are listed in the third column:

Models ML320 and ML321 incorporate either the Epson FX and IBM Proprinter emulations (designated as "E/I" in the table) or the OKIDATA MICROLINE Standard emulation (designated as "Std." in the table).

Note: If you're not sure which version of the ML320 or ML321 printer you have, run the Self Test (hold LF button while turning on the printer), then look at the first line that prints: if you see EI, you have the Epson/IBM version; if you see OKI, you have the OKIDATA MICROLINE Standard version.

Models ML 320 Turbo, ML321 Turbo, ML520 and ML521 incorporate the IBM Proprinter, Epson FX and OKIDATA MICROLINE Standard emulations.

Models ML 390 Turbo, ML391 Turbo, ML590 and ML591 incorporate the IBM Proprinter, IBM Proprinter AGM, and Epson LQ emulations.

IBM Proprinter Commands

IBM Command: ASCII DecimalFunctionApplies to Model(s)Page
BS8BackspaceML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59169
HT9Execute horizontal tabML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59173
LF10Line feed (with carriage return)ML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59187
VT11Vertical tabML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59194
FF12Form feedML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59187
CR13Carriage returnML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59169
SO14Begin double width printing line by lineML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59121
SI 15Select compressed pitchML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59116
DC1 17Print suppress mode offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/591129
DC2 18Select 10 cpiML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59115
DC4 20End double width printing line by lineML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59121
CAN 24CancelML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/591125
ESC SI 27 15Select 20 cpiML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59116
ESC DLE @ PnA1A2P1P2P3P4 27 16 64 PnA1A2P1P2P3P4Set multiple print positionsML320T/321T, ML390T/391T, ML520/521, ML590/59177
ESC DLE A m n1... n8 27 16 65 m n1... n8Select bar code type and sizeML320T/321T, ML520/521101-112
ESC DLE A m n1... n8 27 16 65 m n1... n8Select bar code type and sizeML390T/391T, ML590/591113-122
ESC DLE B m n [data] 27 16 66 m n [data]Print bar code dataML320T/321T, ML520/521101-112
ESC DLE B m n [data] 27 16 66 m n [data]Print bar code dataML390T/391T, ML590/591113-122
ESC DLE C P1 [data] 27 16 67 P1 [data]Print Postnet bar code dataML320T/321T, ML520/521101, 112
ESC DLE C P1 [data] 27 16 67 P1 [data]Print Postnet bar code dataML390T/391T, ML590/591113, 124
ESC DLE F PnoPnLpHp 27 16 70 PnoPnLpHpSelect character pitch/point sizeML320T/321T, ML390T/391T, ML590/59119
ESC EM 1 27 25 49Select Bin 1 of Dual-Bin CSFML390T/391T, ML590/591126
ESC EM 2 27 25 50Select Bin 2 of Dual-Bin CSFML390T/391T, ML590/591126
ESC EM I 27 25 73Insert Sheet (Cut Sheet Feeder)ML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/591126
ESC EM R 27 25 82Eject sheet (Cut Sheet Feeder)ML320/321, ML390T/391T, ML520/521, ML590/591126
ESC SP n 27 32 nSet intercharacter spacingML390T/391T, ML590/59126
ESC ! n 27 33 nSelect international character setML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/5919
ESC # 0 27 35 48Select HSD print modeML320/321 E/I, ML320T/321T, ML520/52129
ESC 27 36Copy ROM character set to RAM character setML320/321 E/I, ML320T/321T, ML520/52140
ESC % 4 n 27 37 52 nPerform n/360" line feedML390T/391T, ML590/59188
ESC % 5 n 27 37 53 nPerform n/144" line feedML320/321 E/I, ML320T/321T, ML520/521, ML590/59188
ESC % 8 n 27 37 56 nSet line spacing to n/360"ML390T/391T, ML590/59192
ESC % 9 n 27 37 57 nSet line spacing to n/144"ML320/321 E/I, ML320T/321T, ML520/52190
ESC % B n1 n2 n3 n4 27 37 66 n1 n2 n3 n4Indent from left marginML320/321 E/I, ML320T/321T, ML520/52176
ESC % G 27 37 71Italic printing onML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59135
ESC % H 27 37 72Italic printing offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59135
ESC * m n1 n2 [data] 27 42 n1 n2 [data]Graphics select/print: AGM onlyML390T/391T, ML590/59163
ESC - 0 27 45 48Underline printing offML320/321 E/I, ML320T/321T, ML520/521, ML590/59136
ESC - 1 27 45 49Underline printing onML320/321 E/I, ML320T/321T, ML520/521, ML590/59136
ESC 0 27 48Set line spacing to 1/8"ML320/321 E/I, ML320T/321T, ML390T/ML391T, ML520/521, ML590/59190
ESC 1 27 49Set line spacing to 7/72"ML320/321 E/I, ML320T/321T, ML390T/ML391T, ML520/521, ML590/59190
ESC 2 27 50Set line feed stored by ESC A nML320/321 E/I, ML320T/321T, ML390T/ML391T, ML520/521, ML590/59189
ESC 3 n27 51 nSet line spacing to n/216"ML320/321 E/I,ML320T/321T,ML520/521, ML590/59190
ESC 3 n27 51 nSet line spacing to n/216" in PPR, or to n/180" in AGMML390T/ML391T92
ESC 427 52Set top of formML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59198
ESC 5 027 53 48Auto line feed offML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59189
ESC 5 127 53 49Auto line feed onML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59189
ESC 627 54Select IBM Set IIML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/5915
ESC 727 55Select IBM Set IML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/5915
ESC 827 56Paper-out sensor offML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/591128
ESC 927 57Paper-out sensor onML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/591128
ESC :27 58Select 12 cpiML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59115
ESC = n1 n2 # a1 a2 a3 m ad1 ad2 id1id2d1d2d3d4d5 [data]26 61 n1 n2 35 a1 a2 a3 m ad1 ad2 id1id2d1d2d3d4d5 [data]Down line load custome charactersML590/59147
ESC = c1 c2 m n a1 a2 [data]27 61 c1 c2 m n a1 a2 [data]Down line load charactersML320/321 E/I,ML320T/321T,ML520/521, ML590/59141
ESC ? m n27 63 m nReassign graphics codes:Applies to IBM AGM onlyML390/391T,ML590/59164
ESC A n27 65 nSet line spacing of n/72"ML320/321 E/I,ML320T/321T,ML520/521, ML590/59190
ESC A n27 65 nSet line spacing of n/72" in PPR, or to n/60" in AGMML390T/ML391T91
ESC B NUL27 66 0Clear vertical tabsML320/321 E/I,ML320T/321T,ML520/521, ML590/59194
ESC B n1n2...nkNUL 27 66 n1n2...nk0Set vertical tabsML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59194
ESC C n 27 67 nSet page length in lines.ML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59185
ESC C NUL n 27 67 0 nSet page length in inches.ML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59185
ESC D NUL NUL 27 68 0 0Clear horizontal tab settingsML320/321 E/I, ML320T/321T, ML520/521, ML590/59176
ESC D n1n2...nkNUL 27 68 n1n2...nk0Set horizontal tabML320/321 E/I, ML320T/321T, ML390T/391T, ML520/52173
ESC E 27 69Emphasized printing onML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59136
ESC F 27 70Emphasized printing offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59136
ESC G 27 71Enhanced printing onML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59136
ESC H 27 72Enhanced printing offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59136
ESC I n 27 73 nCombined select fontML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59131
ESC J n 27 74 nPerform n/216" line feedML320/321 E/I, ML320T/321T, ML520/521, ML590/59188
ESC J n 27 74 nPerform n/216" (PPR) or n/180" (AGM) line feedML390T/391T88
ESC K LnHn[ data] 27 75 LnHn[ data]Begin single density graphicsML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59154
ESC L LnHn[ data] 27 76 LnHn[ data]Double density graphicsML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59154
ESC N n 27 78 nSkip over perforation onML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59199
ESC O 27 79Skip over perforation offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/521, ML590/59199
ESC P 027 80 48Proportional spacing offML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59125
ESC P 127 80 49Proportional spacing onML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59125
ESC Q ETX27 81 3Print suppress mode onML320 E/I,ML320T,ML520129
ESC Q SYN27 81 16Print suppress mode onML321 E/I,ML321T,ML521129
ESC Q #27 81 23Print suppress mode onML391T,ML591129
ESC Q27 81 24Print suppress mode onML390T,ML590129
ESC R27 82Clear vertical tabs (rettes to default horizontal tabs)ML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59194
ESC S 027 83 48Start superscript printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59120
ESC S 127 83 48Start subscript printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59120
ESC T27 84Stop superscript/subscript printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59120
ESC U 027 85 48Uni-directional printing offML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59182
ESC U 127 85 49Uni-directional printing onML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59182
ESC V n27 86 nSet intercharacter spacingML320/321 E/I,ML320T/321T,ML520/52126
ESC W 027 87 48End double width printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59121
ESC W 127 87 49Begin double width printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59121
ESC X n m27 88 n mSet left & right marginsML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59169
ESC Y Ln Hn [data]27 89 Ln Hn [data]Double speed/ double density graphicsML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59154
ESC Z Ln Hn [data]27 90 Ln Hn [data]Quadruple density graphicsML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59154
ESC [ @ Ln Hn NUL n1 n227 91 64 Ln Hn 0 0 n1 n2Set character width, line spacing and character height.ML320/321 E/I,ML320T/321T,ML520/521, ML590/59122
ESC [ @ n1 n2 m1 m2 m3 m427 91 64 n1 n2 m1 m2 m3 m4Begin/end double height printing.ML390T/391T23
ESC [ T Ln Hn NUL NUL Hcp Lcp NUL27 91 84 Ln Hn 0 0 Hcp Lcp OPrint from code pageML320T/321T, ML390T/391T,ML520/521, ML590/59111
ESC [ \ 4 0 0 0 n1 n227 91 92 52 48 48 48 n1 n2Set vertical units for the line spacing command.ML390T/391T93
ESC [ g n1 n2 m [data]27 91 103 n1 n2 m [data]Set graphics resolutionML390T/391T,ML590/59164
ESC [ I Ln Hn Hfd Lfd Hfwd Lfwd f a27 91 108 Ln Hn Hfd Lfd Hfwd Lfwd f aSelect fontML390T/391T32
ESC \ Ln Hn27 92 Ln HnPrint data from the All Characters SetML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/5916
ESC ]27 93Reverse line feedML320/321 E/I,ML320T/321T,ML520/521,89
ESC ^ n27 94 nPrint one character from the All Characters SetML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/5917
ESC _027 95 48End overscore printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59137
ESC _127 95 49Begin overscore printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/521, ML590/59137
ESC d n, n227 100 n1 n2Set right relative positionML390T/391T,ML590/59180
ESC e n1 n227 101 n1 n2Set left relative positionML390T/391T,ML590/59180
ESC g27 103Select 15 cpiML390T/391T,ML520/521, ML590/59115
ESC i 027 105 48Incremental printing offML390T/391T, ML320T/321T82
ESC i 127 105 49Incremental printing onML390T/391T, ML320T/321T82
ESC j27 106Stop printing (deselect)ML390T/391T, ML590/591131
ESC k n27 107Specify typefaceML390T/391T, ML590/59130
ESC | Ln Hn27 108 Ln HnSet relative dot positionML320T/321T,ML520/52179
ESC n Pn27 110 PnSelect Graphics Aspect Ratio: PPR onlyML390T/391T, ML590/59165
ESC q n27 113 nSpecify outline/shadowML390T/391T, ML590/59138
ESC r n27 114 nSelect colorML590/591130
ESC x 027 120 48Select Utility print modeML390/391T30
ESC x 127 120 49Select LQ print modeML390/391T30
ESC { n27 123 nChange emulationML320/321 E/I, ML320T/321T, ML520/521125
ESC} NUL27 125 0Software I-PrimeML320/321T,ML390/391T, ML520/521, ML590/591131

Epson FX Commands

Epson FX Command: ASCII DecimalFunctionApplies to Model(s)Page
BS8BackspaceML320/321 E/I,ML320T/321T,ML520/52169
HT9Execute horizontal tabML320/321 E/I,ML320T/321T,ML520/52173
LF10Line feed (with carriage return)ML320/321 E/I,ML320T/321T,ML520/52187
VT11Vertical tabML320/321 E/I,ML320T/321T,ML520/52194
FF12Form feedML320/321 E/I,ML320T/321T,ML520/52187
CR13Carriage returnML320/321 E/I,ML320T/321T,ML520/52169
SO14Begin double width printing line by lineML320/321 E/I,ML320T/321T,ML520/52121
SI15Select compressed pitchML320/321 E/I,ML320T/321T,ML520/52116
DC117Print suppress mode offML320/321 E/I,ML320T/321T,ML520/521129
DC218Cancel 20 cpiML320/321 E/I,ML320T/321T,ML520/52116
DC319Print suppress mode onML320/321 E/I,ML320T/321T,ML520/521129
DC420End double width printing line by lineML320/321 E/I,ML320T/321T,ML520/52121
CAN24CancelML320/321 E/I,ML320T/321T,ML520/521125
ESC SO27 14Begin double width printing line by lineML320/321 E/I,ML320T/321T,ML520/52121
ESC SI27 15Select 20 cpiML320/321 E/I,ML320T/321T,ML520/52116
ESC DLE @ PnA1A2P1P2P3P427 16 64 PnA1A2P1P2P3P4Set multiple print positionsML320T/321T,ML520/52177
ESC DLE A m n1... n827 16 65 mn1... n8Select bar code type and sizeML320T/321T,ML520/521101-112
ESC DLE B m n [data]27 16 66 mn [data]Print bar code dataML320T/321T,ML520/521101-112
ESC DLE C P1 [data]27 16 67 P1 [data]Print Postnet bar code dataML320T/321T,ML520/521113,124
ESC EM I 27 25 73Insert sheet (Cut Sheet Feeder)ML320/321 E/I, ML320T/321T, ML520/521126
ESC EM R 27 25 82Eject sheet (Cut Sheet Feeder)ML320/321 E/I, ML320T/321T, ML520/521126
ESC SP n 27 32 nSet intercharacter spacingML320/321 E/I, ML320T/321T, ML520/52126
ESC ! n 27 33 nCombined print modeML320/321 E/I, ML320T/321T, ML520/52134
ESC # 27 35Cancel MSB controlML320/321 E/I, ML320T/321T, ML520/521128
ESC $ L_n H_n 27 36Set absolute dot positionML320/321 E/I, ML320T/321T, ML520/52180
ESC % 0 27 37 48Select standard character setML320/321 E/I, ML320T/321T, ML520/52144
ESC % 1 27 37 49Select custom character setML320/321 E/I, ML320T/321T, ML520/52144
ESC % 5 n 27 37 53Perform n/144" line feedML320/321 E/I, ML320T/321T, ML520/52188
ESC % 9 n 27 37 57 nSet line spacing to n/144"ML320/321 E/I, ML320T/321T, ML520/52190
ESC & NUL n1 n2 a [data] 27 38 0 n1 n2 a [data]Down line load charactersML320/321 E/I, ML320T/321T, ML520/52143
ESC (0 27 40 48Select HSD print modeML320/321 E/I, ML320T/321T, ML520/52129
ESC (t 3 0 Pn1 Pn2 Pn3 27 40 116 51 48 Pn1 Pn2 Pn3Assign code pageML320/321T12
ESC * m L_n H_n [data] 27 42 m L_n H_n [data]Graphics select/printML320/321 E/I, ML320T/321T, ML520/52155
ESC - 0 27 45 48Underline printing offML320/321 E/I, ML320T/321T, ML390T/391T, ML520/52136
ESC - 1 27 45 49Underline printing onML320/321 E/I, ML320T/321T, ML390T/391T, ML520/52136
ESC / n 27 47 nSelect vertical tab channelML320/321 E/I, ML320T/321T, ML520/52195
ESC 0 27 48Set line spacing to 1/8"ML320/321 E/I, ML320T/321T, ML520/52190
ESC 127 49Set line spacing to 7/72"ML320/321 E/I,ML320T/321T,ML520/52190
ESC 227 50Set line spacing to 1/6"ML320/321 E/I,ML320T/321T,ML520/52190
ESC 3 n27 51 nSet line spacing to n/216"ML320/321 E/I,ML320T/321T,ML520/52190
ESC 427 52Italic printing onML320/321 E/I,ML320T/321T,ML520/52135
ESC 527 53Italic printing offML320/321 E/I,ML320T/321T,ML520/52135
ESC 627 54Permit printing upper range control codesML320/321 E/I,ML320T/321T,ML520/52113
ESC 727 55Cancel printing upper range control codesML320/321 E/I,ML320T/321T,ML520/52113
ESC 827 56Paper-out sensor offML320/321 E/I,ML320T/321T,ML520/521128
ESC 927 57Paper-out sensor onML320/321 E/I,ML320T/321T,ML520/521128
ESC : NUL NUL NUL27 58 0 0 0Copy ROM character set to RAM character setML320/321 E/I,ML320T/321T43
ESC : NUL n NUL27 58 0 n 0Copy ROM character set to RAM character setML520/52143
ESC <27 60Print uni-directional for one line onlyML320/321 E/I,ML320T/321T,ML520/52182
ESC =27 61Set Most Significant Bit (MSB) to zeroML320/321 E/I,ML320T/321T,ML520/521128
ESC >27 62Set MSB to 1ML320/321 E/I,ML320T/321T,ML520/521128
ESC ? m n27 63 m nReassign graphicsML320/321 E/I,ML320T/321T,ML520/52157
ESC @27 64Initialize printerML320/321 E/I,ML320T/321T,ML520/521127
ESC A n27 65 nSet line spacing to n/72"ML320/321 E/I,ML320T/321T,ML520/52190
ESC B NUL 27 66 0Clear vertical tabsML320/321 E/I, ML320T/321T, ML520/52194
ESC B n1n2...nkNUL 27 66 n1n2...nk0Set vertical tabsML320/321 E/I, ML320T/321T, ML520/52194
ESC C n 27 67 nSet page length in lines.ML320/321 E/I, ML320T/321T, ML520/52185
ESC C NUL n 27 67 0 nSet page length in inches.ML320/321 E/I, ML320T/321T, ML520/52185
ESC D NUL NUL 27 68 0 0Clear horizontal tab settingsML320/321 E/I, ML320T/321T, ML520/52176
ESC D n1n2...nkNUL 27 68 n1n2...nk0Set horizontal tabML320/321 E/I, ML320T/321T, ML520/52173
ESC E 27 69Emphasized printing onML320/321 E/I, ML320T/321T, ML520/52136
ESC F 27 70Emphasized printing offML320/321 E/I, ML320T/321T, ML520/52136
ESC G 27 71Enhanced printing onML320/321 E/I, ML320T/321T, ML520/52136
ESC H 27 72Enhanced printing offML320/321 E/I, ML320T/321T, ML520/52136
ESC I 0 27 73 48Cancel printing upper range control codesML320/321 E/I, ML320T/321T, ML520/52113
ESC I 1 27 73 49Permit printing upper range control codesML320/321 E/I, ML320T/321T, ML520/52113
ESC K LnHn[ data] 27 75 LnHn[ data]Begin single density graphicsML320/321 E/I, ML320T/321T, ML520/52154
ESC L LnHn[ data] 27 76 LnHn[ data]Double density graphicsML320/321 E/I, ML320T/321T, ML520/52154
ESC M 27 77Select 12 cpiML320/321 E/I, ML320T/321T, ML520/52115
ESC N n 27 78 nSkip over perforation onML320/321 E/I, ML320T/321T, ML520/52199
ESC O 27 79Skip over perforation offML320/321 E/I, ML320T/321T, ML520/52199
ESC P 27 80Select 10 cpiML320/321 E/I, ML320T/321T, ML520/52115
ESC Q n 27 81 nSet right marginML320/321 E/I, ML320T/321T, ML520/52170
ESC R n 27 82 nSelect international character setML320/321 E/I, ML320T/321T, ML520/52110
ESC S 0 27 83 48Start superscript printingML320/321 E/I, ML320T/321T, ML520/52120
ESC S 1 27 83 49Start subscript printingML320/321 E/I, ML320T/321T, ML520/52120
ESC T 27 84Stop superscript/ subscript printingML320/321 E/I, ML320T/321T, ML520/52120
ESC U 027 85 48Uni-directional printing offML320/321 E/I,ML320T/321T, ML520/52182
ESC U 127 85 49Uni-directional printing onML320/321 E/I,ML320T/321T, ML520/52182
ESC W 027 88 48End double width printingML320/321 E/I,ML320T/321T, ML520/52121
ESC W 127 88 49Begin double width printingML320/321 E/I,ML320T/321T, ML520/52121
ESC Y Ln Hn [data]27 89 Ln Hn [data]Double speed/double density graphicsML320/321 E/I,ML320T/321T, ML520/52154
ESC Z Ln Hn [data]27 90 Ln Hn [data]Quadruple density graphicsML320/321 E/I,ML320T/321T, ML520/52154
ESC \ Ln Hn27 92 Ln HnSet relative dot positionML320/321 E/I,ML320T/321T,ML520/52180
ESC ^ m Ln Hn [data]27 94 m Ln Hn [data]Select 9-pin graphics printingML320/321 E/I,ML320T/321T,ML520/52157
ESC a 027 97 48Left justificationML320/321 E/I,ML320T/321T,ML520/52183
ESC a 127 97 49Center justificationML320/321 E/I,ML320T/321T, ML520/52183
ESC a 227 97 50Right justificationML320/321 E/I,ML320T/321T, ML520/52183
ESC a 327 97 51Full (left and right) justificationML320/321 E/I,ML320T/321T, ML520/52183
ESC b mn n1 n2 ... nk NUL27 98 mn n1 n2 ... n 0Set vertical format unit (VFU)ML320/321 E/I,ML320T/321T, ML520/52195
ESC g27 103Select 15 cpiML520/52115
ESC i 027 105 48Incremental printing offML320T/321T82
ESC i 127 105 49Incremental print onML320T/321T82
ESC k n27 107 nSelect NLO print modeML320/321 E/I,ML320T/321T, ML520/52129
ESC l n27 108 nSet left marginML320/321 E/I,ML320T/321T, ML520/52170
ESC p 027 112 48Proportional spacing offML320/321 E/I,ML320T/321T, ML520/52125
ESC p 127 112 49Proportional spacing onML320/321 E/I,ML320T/321T, ML520/52125
ESC s 027 115 48Half-speed printing offML320/321 E/I,ML320T/321T, ML520/521127
ESC s 127 115 49Half-speed printing onML320/321 E/I,ML320T/321T, ML520/521127
ESC t 027 116 48Select Epson Set 1ML320/321 E/I,ML320T/321T, ML520/5217
ESC t 127 116 49Select Epson Set 2ML320/321 E/I,ML320T/321T, ML520/5217
ESC w 027 119 48End double height printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/52121
ESC w 127 119 49Begin double height printingML320/321 E/I,ML320T/321T, ML390T/391T,ML520/52121
ESC x 027 120 48Select Utility print modeML320/321 E/I,ML320T/321T, ML520/52129
ESC x 127 120 49Select NLQ print modeML320/321 E/I,ML320T/321T, ML520/52129
ESC { n27 123 nChange emulationML320/321 E/I,ML320T/321T,ML520/521125
ESC } NUL27 125 0Software I-PrimeML520/521131
DEL127Delete one characterML320/321 E/I,ML320T/321T,ML520/521127

Epson LQ Commands

Epson LQ Command: ASCII DecimalFunctionApplies to Model(s)Page
BS8BackspaceML390T/ML391T,ML590/59169
HT9Execute horizontal tabML390T/391T,ML590/59173
LF10Line feed (with carriage return)ML390T/391T,ML590/59187
VT11Vertical tabML390T/391T,ML590/59194
FF12Form feedML590/59187
CR13Carriage returnML390T/391T,ML590/59169
SO14Begin double width printing line by lineML390T/391T,ML590/59121
SI15Select compressed pitchML390T/391T,ML590/59116
DC117Print suppress mode offML390T/391T,ML590/591129
DC218Cancel 20 cpiML390T/391T,ML590/59116
DC319Print suppress mode onML390T/391T,ML590/591129
DC420End double width printing line by lineML390T/391T,ML590/59121
CAN24CancelML390T/391T,ML590/591125
ESC SO27 14Begin double width printing line by lineML390T/391T,ML590/59121
ESC SI27 15Select 20 cpiML390T/391T,ML590/59116
ESC DLE @ PnA1A2P1P2P3P427 16 64 PnA1A2P1P2P3P4Set multiple print positionsML390T/391T,ML590/59177
ESC DLE A m n1...n827 16 65 m n1...n8Select bar code type and sizeML390T/391T,ML590/591113-122
ESC DLE B m n [data]27 16 66 m n [data]Print bar code dataML390T/391T,ML590/591113-122
ESC DLE C P1 [data]27 16 67 P1 [data]Print Postnet bar code dataML390T/391T,ML590/591113,124
ESC DLE G n 127 16 71 n 49Set/reset raster graphicsML390/391T66
ESC EM 127 25 49Select Bin 1 of Dual-Bin CSFML590/591126
ESC EM 227 25 50Select Bin 2 of Dual-Bin CSFML590/591126
ESC EM I 27 25 73Insert sheet (Cut Sheet Feeder)ML390T/391T126
ESC EM R 27 25 82Eject sheet (Cut Sheet Feeder)ML390T/391T126
ESC US 0 27 31 48End double height printingML390T/391T, ML590/59121
ESC US 1 27 31 49Begin double height printingML390T/391T, ML590/59121
ESC SP n 27 32 nSet character spacing.ML390T/391T, ML590/59126
ESC ! n 27 33 nCombined print modeML390T/391T, ML590/59134
ESC # 27 35Cancel MSB controlML390T/391T, ML590/591128
ESC $ Ln Hn 27 36 Ln HnSet absolute dot positionML390T/391T, ML590/59180
ESC % 0 27 37 48Select standard character setML390T/391T, ML590/59151
ESC % 1 27 37 49Select custom character setML390T/391T, ML590/59151
ESC % 5 n 27 37 53 nPerform n/144" line feedML590/59188
ESC & m n1 n2 d0 d1 d2 [data] 27 38 m n1 n2 d0 d1 d2 [data]Down line load charactersML390T/391T50
ESC & NUL m n1 n2 d0 d1 d2 [data] 27 38 0 m n1 n2 d0 d1 d2 [data]Down line load charactersML590/59150
ESC (-Ln Hn Pn D1 D2 27 40 45 Ln Hn Pn D1 D2Select score style: underline, overscore, or strike throughML390T/391T37
ESC (C 20 Lp Hp 27 40 67 40 48 Lp HpSet Page LengthML390T/391T86
ESC (G Ln Hn Pn 27 40 71 Ln Hn PnSelect graphics modeML390T/391T, ML590/59165
ESC (U Ln Hn Pn 27 40 85 Ln Hn PnSet increment of movementML390T/391T130
ESC (V Ln Hn Lp Hp 27 40 86 Ln Hn Lp HpAbsolute position line feedML390T/391T98
ESC (^Ln Hn [data] 27 40 94 Ln Hn [data]Select All Character SetML390T/391T, ML590/5916
ESC (c 20 Lt Ht Lb Hb 27 40 99 50 48 Ht Lt Ht Lb HbSet Page FormatML390T/391T98
ESC (t Ln Hn Pn t Pn2 Pn3 27 40 116 Ln Hn Pn1 Pn2 Pn3Select character tableML390T/391T, ML590/59113
ESC (v Ln Hn Lp Hp 27 40 118 Ln Hn Lp HpRelative position line feedML390T/391T97
ESC * m n1 n2 [data] 27 42 n1 n2 [data]Graphics select/printML390T/391T, ML590/59163
ESC + n27 43 nSet line spacing to n/360"ML390T/391T,ML590/59192
ESC - 027 45 48Underline printing offML390T/391T,ML590/59136
ESC - 127 45 49Underline printing onML390T/391T,ML590/59136
ESC . PcPvPhPmLnHn [data]27 46 PcPvPhPmLnHn [data]Print Raster GraphicsML390T/391T,ML590/59166
ESC / n27 47 nSelect vertical tab channel.ML390T/391T.ml590/59195
ESC 027 48Set line spacing to 1/8"ML390T/ML391T90
ESC 227 50Set line spacing to 1/6"ML390T/ML391T,ML590/59190
ESC 3 n27 51 nSet line spacing to n/180"ML390T/ML391T92
ESC 3 n27 51 nSet line spacing to n/216"ML590/59192
ESC 427 52Italic printing onML390T/391T35
ESC 527 53Italic printing offML390T/391T35
ESC 627 54Permit printing upper range control codesML390T/391T,ML590/59113
ESC 727 55Cancel printing upper range control codesML390T/391T,ML590/59113
ESC 827 56Paper-out sensor offML390T/391T,ML590/591128
ESC 927 57Paper-out sensor onML390T/391T,ML590/591128
ESC : NUL n NUL27 58 0 n 0Copy ROM character set to RAMcharacter setML390T, ML391T,ML590/59149
ESC <27 60Print uni-directional for one line onlyML390T, ML391T,ML590/59182
ESC =27 61Set Most Significant Bit (MSB) to zeroML390T/391T,ML590/591128
ESC >27 62Set MSB to 1ML390T/391T,ML590/591128
ESC ? m n27 63 m nReassign graphicsML390T, ML391T,ML590/59164
ESC @27 64Initialize printerML390T/391T,ML590/591127
ESC A n27 65 nSet line spacing to n/60"ML390T/ML391T,ML590/59191
ESC B NUL27 66 0Clear vertical tabsML590/59194
ESC B n, n2...nk NUL 27 66 n1 n2...nk0Set vertical tabsML390T/391T, ML590/59194
ESC C n 26 67 nSet page length in lines.ML390T/391T, ML590/59185
ESC C NUL n 27 67 0 nSet page length in inches.ML390T/391T, ML590/59185
ESC D NUL NUL 27 68 0 0Clear horizontal tab settings.ML390T/391T, ML590/59176
ESC D n, n2...nk NUL 27 68 n1 n2...nk0Set horizontal tabML590/59173
ESC E 27 69Emphasized printing onML390T/391T, ML590/59136
ESC F 27 70Emphasized printing offML390T/391T, ML590/59136
ESC G 27 71Enhanced printing onML390T/391T, ML590/59136
ESC H 27 72Enhanced printing offML390T/391T, ML590/59136
ESC J n 27 74 nExecute n/180" line feed.ML390T/391T88
ESC K LnHn[data] 27 75 LnHn[data]Begin single density graphicsML390T/391T, ML590/59162
ESC L LnHn[data] 27 76 LnHn[data]Double density graphicsML390T/391T, ML590/59162
ESC M 27 77Select 12 cpiML390T/391T, ML590/59115
ESC N n 27 78 nSkip over perforation onML390T/391T, ML590/59199
ESC O 27 79Skip over perforation offML390T/391T, ML590/59199
ESC P 27 80Select 10 cpiML390T/391T, ML590/59115
ESC O n 27 81 nSet right marginML390T/391T, ML590/59170
ESC R n 27 82 nSelect international character/Code Page setML390T/391T, ML590/59110
ESC S 0 27 83 48Start superscript printingML390T/391T, ML590/59120
ESC S 1 27 83 49Start subscript printingML390T/391T, ML590/59120
ESC T 27 84Stop superscript/ subscript printingML390T/391T, ML590/59120
ESC U 0 27 85 48Uni-directional printing offML390T/391T, ML590/59182
ESC U 1 27 85 49Uni-directional printing onML390T/391T, ML590/59182
ESC W 027 87 48End double width printingML390T/391T,ML590/59121
ESC W 127 87 49Begin double width printingML390T/391T,ML590/59121
ESC X p Pn Lp Hp27 88 70 Pn Lp HpSelect character pitch/point sizeML390T/391T,ML590/59117
ESC Y Ln Hn [data]27 89 Ln Hn [data]Double speed/double density graphicsML390T/391T62
ESC Z Ln Hn [data]27 90 Ln Hn [data]Quadruple density graphicsML390T/391T62
ESC [ n27 91 nSet line spacing to n/360"ML390T/391T,ML590/59192
ESC \ Ln Hn27 92 Ln HnSet relative dot positionML390T/391T,ML590/59180
ESC ] n27 93 nPerform n/360" line feedML390T/391T,ML590/59188
ESC a 027 97 48Left justificationML390T/391T,ML590/59183
ESC a 127 97 49Center justificationML390T/391T,ML590/59183
ESC a 227 97 50Right justificationML390T/391T,ML590/59183
ESC a 327 97 51Full (left and right) justificationML390T/391T,ML590/59183
ESC b mn n2...nk NUL27 98 mn n2...nk 0Set vertical format unit (VFU)ML390T/391T,ML590/59195
ESC c Lp Hp27 99 Lp HpSet Horizontal Motion IndexML390T/391T,ML590/59127
ESC g27 103Select 15 cpiML390T/391T,ML590/59115
ESC i 027 105 48Incremental printing offML390T/391T82
ESC i 127 105 49Incremental printing onML390T/391T82
ESC j n27 106 nn/180" reverse line feedML390T/391T,ML590/59189
ESC k n27 107 nSpecify typefaceML390T/391T30
ESC l n27 108 nSet left marginML390T/391T,ML590/59170
ESC I 027 73 48Cancel printing upper range control codesML390/391T,ML590/59113
ESC I 127 73 49Permit printing upper range control codesML390/391T,ML590/59113
ESC n Pn27 110 PnSelect Graphics Aspect RatioML390/391T,ML590/59165
ESC p 027 112 48Proportional spacing offML390T/391T,ML590/59125
ESC p 127 112 49Proportional spacing onML390T/391T,ML590/59125
ESC q n27 113 nSpecify outline/shadowML390T/391T,ML590/59138
ESC r n27 114 nSelect colorML590/591130
ESC s 027 115 48Half-speed printing offML390T/ML391T,ML590/591127
ESC s 127 115 49Half-speed printing onML390T/ML391T,ML590/591127
ESC t 027 116 48Select Epson Set 1ML390T/391T,ML590/5917
ESC t 127 116 49Select Epson Set 2ML390T/391T,ML590/5917
ESC t 227 116 50Select Custom Character SetML390T/391T,ML590/59151
ESC x n27 120 nSpecify print qualityML390T/391T,ML590/59129
ESC } NUL27 125 0Software I-PrimeML390/391T,ML590/591131
DEL127Delete one characterML390T/ML391T,ML590/591127

Okidata MICROLINE Standard Commands

ML Standard Command: ASCII DecimalFunctionApplies to Model(s)Page
ETX 3Select graphics print modeML320/321 Std., ML320T/321T, ML520/52159
ETX STX 3 2End graphics print modeML320/321 Std., ML320T/321T, ML520/52159
ETX ETX 3 3Store graphics data in one dot column bufferML320/321 Std., ML320T/321T, ML520/52160
ETX LF 3 10Graphics line feed with carriage return, text settingML320/321 Std., ML320T/321T, ML520/52160
ETX SO 3 14Graphics line feed with carriage return, graphics settingML320/321 Std., ML320T/321T, ML520/52160
ETX DC2 3 18Graphics line feed without carriage return, text settingML320/321 Std., ML320T/321T, ML520/52160
ETX DC4 3 20Graphics line feed without carriage return, graphics settingML320/321 Std., ML320T/321T, ML520/52160
BS 8BackspaceML320/321 Std., ML320T/321T, ML520/52169
HT 9Execute horizontal tabML320/321 Std., ML320T/321T, ML520/52173
LF 10Line feed (with carriage return)ML320/321 Std., ML320T/321T, ML520/52187
VT 11Vertical tabML320/321 Std., ML320T/321T, ML520/52194
VT n 11 nExecute VFU vertical tabML320/321 Std., ML320T/321T, ML520/52196
FF 12Form feedML320/321 Std., ML320T/321T, ML520/52187
CR 13Carriage returnML320/321 Std., ML320T/321T, ML520/52169
DC1 17Print suppress mode offML320/321 Std., ML320T/321T, ML520/521129
DC3 19Print suppress mode onML320/321 Std., ML320T/321T, ML520/521129
DC4 SP1...SP1 n ... SP...SP? 20 32...32 n ... 32...32 63Set vertical format unit (VFU)ML320/321 Std., ML320T/321T, ML520/52196
CAN 24CancelML320/321 Std., ML320T/321T, ML520/521125
ESC ETX x1y1z1w1 ... x16y16z16w16 CR 27 3 x1y1z1w1 ... x16y16z16w16 13Set horizontal tab by dot columnsML320/321 Std., ML320T/321T, ML520/52174
ESC ETX O CR 27 3 48 13Clear horizontal tabs set by dot columnsML320/321 Std., ML320T/321T, ML520/52176
ESC HT CR 27 9 13Clear horizontal tab settingsML320/321 Std., ML320T/321T, ML520/52176
ESC HT x1y1z1 ... x16y16z16 CR 27 9 x1y1z1 ... x16y16z16 13Set horizontal tab by charactersML320/321 Std., ML320T/321T, ML520/52174
ESC LF 27 10Reverse feedML320/321 Std., ML320T/321T, ML520/52189
ESC VT HnLn 27 11 HnLnSkip down selected number of linesML320/321 Std., ML320T/321T, ML520/52196
ESC DLE @ Pn a1 a2 P1 P2 P3 P4 27 16 64 Pn a1 a2 P1 P2 P3 P4Set multiple print positionsML320T/321T, ML520/52177
ESC DLE A m n1 ... n8 27 16 65 m n1 ... n8Select bar code type and sizeML320T/321T, ML520/521101-112
ESC DLE B m n [data] 27 16 66 m n [data]Print bar code dataML320T/321T, ML520/521101-112
ESC DLE C P1 [data] 27 16 67 P1 [data]Print Postnet bar code dataML320T/321T, ML520/521101, 112
ESC DC2 27 18Graphics line feed without carriage return)ML320/321 Std., ML320T/321T, ML520/52187
ESC CAN 27 24Initialize printerML320/321 Std., ML320T/321T, ML520/521127
ESC US 0 27 31 48End double height printingML320/321 Std., ML320T/321T, ML520/52121
ESC US 1 27 31 49Begin double height printingML320/321 Std., ML320T/321T, ML520/52121
ESC ! n 27 33 nSelect international character setML320/321 Std., ML320T/321T, ML520/5219
ESC !* 27 33 42Italics printing offML320/321 Std., ML320T/321T, ML520/52135
ESC ! / 27 33 47Italics printing onML320/321 Std., ML320T/321T, ML520/52135
ESC ! 0 27 33 48Select standard character setML320/321 Std., ML320T/321T, ML520/5218
ESC ! 1 27 33 49Select block graphics character setML320/321 Std., ML320T/321T8
ESC ! 2 27 33 50Select line character setML320/321 Std., ML320T/321T, ML520/5218
ESC # 0 27 35 48Select HSD print modeML320/321 Std., ML320T/321T, ML520/52129
ESC # 3 27 35 51Select 20 cpiML320/321 Std., ML320T/321T, ML520/52117
ESC # Q 27 35 81Double speed/ quadruple density graphicsML320/321 Std., ML320T/321T, ML520/52155
ESC $ 27 36Copy ROM character set to RAM character setML320/321 Std., ML320T/321T, ML520/52145
ESC % 5 n 27 37 53 nPerform n/144" feedML320/321 Std., ML320T/321T, ML520/52188
ESC % 9 n 27 37 57 nSet spacing to n/144"ML320/321 Std., ML320T/321T, ML520/52190
ESC % A m n1 ... n1127 37 65 m n1 ... n11Down load ascender charactersML320/321 Std., ML320T/321T, ML520/52145
ESC % B n1 n2 n3 n427 37 66 n1 n2 n3 n4Indent from left marginML320/321 Std., ML320T/321T, ML520/52176
ESC % C n1 n2 n327 37 67 n1 n2 n3Set left marginML320/321 Std., ML320T/321T, ML520/52172
ESC % D m n1 ... n1127 37 68 m n1 ... n11Down load descender charactersML320/321 Std., ML320T/321T, ML520/52145
ESC % E n1 n2 n3 n427 37 69 n1 n2 n3 n4Move to rightML320/321 Std., ML320T/321T, ML520/52181
ESC % F n1 n2 n3 n427 37 70 n1 n2 n3 n4Move to leftML320/321 Std., ML320T/321T, ML520/52181
ESC % R n1 n2 n3 n427 37 82 n1 n2 n3 n4Set right marginML320/321 Std., ML320T/321T, ML520/52172
ESC % S 027 37 83 48Skip over perforation offML320/321 Std., ML320T/321T, ML520/521100
ESC % S 127 37 83 49Skip over perforation onML320/321 Std., ML320T/321T, ML520/521100
ESC & n1 n2 n3 n4 :27 38 n1 n2 n3 n4 58Select print featuresML320/321 Std., ML320T/321T, ML520/52124
ESC * n1 n2 :27 42 n1 n2 58Select graphics modeML320/321 Std., ML320T/321T, ML520/52157
ESC -27 45Uni-directional printing onML320/321 Std., ML320T/321T, ML520/52182
ESC 027 48Select Utility print modeML320/321 Std., ML320T/321T, ML520/52129
ESC 127 49Select NLQ print modeML320/321 Std., ML320T/321T, ML520/52129
ESC 227 50Select DLL in Utility modeML320/321 Std., ML320T/321T, ML520/52145
ESC 327 51Select NLQ Gothic fontML320/321 Std., ML320T/321T, ML520/52129
ESC 527 53Set top of formML320/321 Std., ML320T/321T, ML520/52198
ESC 627 54Set spacing to 1/6"ML320/321 Std., ML320T/321T, ML520/52190
ESC 727 55Select DLL NLQ modeML320/321 Std., ML320T/321T, ML520/52145
ESC 827 56Set spacing to 1/8"ML320/321 Std., ML320T/321T, ML520/52190
ESC <27 60Half-speed printing onML320/321 Std., ML320T/321T, ML520/521127
ESC =27 61Uni-directional printing offML320/321 Std., ML320T/321T, ML520/52182
ESC >27 62Half-speed printing offML320/321 Std., ML320T/321T, ML520/521127
ESC ? n : 27 63 n 58Carriage return/feed selectionML320/321 Std., ML320T/321T, ML520/52187
ESC C 27 67Underline printing onML320/321 Std., ML320T/321T, ML520/52136
ESC D 27 68Underline printing offML320/321 Std., ML320T/321T, ML520/52136
ESC E O 27 69 48Paper-out sensor onML320/321 Std., ML320T/321T, ML520/521128
ESC E 1 27 69 49Paper-out sensor offML320/321 Std., ML320T/321T, ML520/521128
ESC F Hn Ln 27 70 Hn LnPage length set in linesML320/321 Std., ML320T/321T, ML520/52185
ESC G Hn Ln 26 71 Hn LnPage length set in inchesML320/321 Std., ML320T/321T, ML520/52185
ESC H 27 72Enhanced printing onML320/321 Std., ML320T/321T, ML520/52136
ESC J 27 74Start superscript printingML320/321 Std., ML320T/321T, ML520/52120
ESC K 27 75Stop superscript printingML320/321 Std., ML320T/321T, ML520/52120
ESC L 27 76Start subscript printingML320/321 Std., ML320T/321T, ML520/52120
ESC M 27 77Stop subscript printingML320/321 Std., ML320T/321T, ML520/52120
ESC N n 27 78 nSet intercharacter spacingML320/321 Std., ML320T/321T, ML520/52126
ESC P 27 80Single density graphicsML320/321 Std., ML320T/321T, ML520/52155
ESC Q 27 81Single density graphicsML320/321 Std., ML320T/321T, ML520/52155
ESC R 27 82Double density graphicsML320/321 Std., ML320T/321T, ML520/52155
ESC S 27 83Insert sheet (Cut Sheet Feeder)ML320/321 Std., ML320T/321T, ML520/521126
ESC T 27 84Emphasized printing onML320/321 Std., ML320T/321T, ML520/52136
ESC V 27 86Eject sheet (Cut Sheet Feeder)ML320/321 Std., ML320T/321T, ML520/521126
ESC Y 27 89Proportional spacing onML320/321 Std., ML320T/321T, ML520/52125
ESC Z 27 90Proportional spacing offML320/321 Std., ML320T/321T, ML520/52125
ESC [TLnHnNUL NUL HcpLcpNUL 27 91 84 LnHn 0 0 HcpLcp0Print from code pageML320T/321T, ML520/52111
ESC g 27 103Select 15 cpiML520/52115
ESC I 027 105 48Incremental printing onML320/321T82
ESC I 127 105 49Incremental printing offML320/321T82
ESC I27 108Emphasized/enhanced printing offML320/321 Std.,ML320T/321T, ML520/52136
ESC { n27 123 nChange emulationML320/321 Std.,ML320T/321T, ML520/521125
ESC} NUL27 125 0Software I-PrimeML320/321T,ML520/521131
FS28Select 12 cpiML320/321 Std.,ML320T/321T, ML520/52115
GS29Select 17.1 cpiML320/321 Std.,ML320T/321T, ML520/52115
RS30Select 10 cpiML320/321 Std.,ML320T/321T, ML520/52115
US31Begin double width printingML320/321 Std.,ML320T/321T, ML520/52121

Chapter 1: Printer Drivers

Usable Drivers

The tables below summarize usable drivers for each printer emulation. They are listed in order by decreasing compatibility as you go down the list: select one from as high up on the list as possible, based on what is available from among the drivers supplied with your software. If you don't see one from near the top of the list, give the software manufacturer a call to see if they have added any drivers to those supplied when you purchased your software.

Table 1: Printer Drivers for ML320 Epson/IBM & ML321 Epson/IBM

IBM Proprinter EmulationEpson FX Emulation
IBM Proprinter IIEpson FX86/286
IBM ProprinterEpson FX
IBM Graphics PrinterEpson EX800/1000

Table 2: Printer Drivers for ML320 MICROLINE Standard & ML321 MICROLINE Standard

Okidata ML Emulation
Okidata Microline 320/321
Okidata Microline 292/293
Okidata Microline 192+/193+
Okidata Microline 192/193
Okidata Microline 182/183
Okidata Microline 92/93

Table 3: Printer Drivers for Models ML320 Turbo & ML321 Turbo

IBM Proprinter EmulationEpson FX EmulationOkidata ML Standard Emulation
Okidata ML 320/1T IBMOkidata ML 320/1T EpsonOkidata Microline 320/321T
IBM Proprinter IIIEpson FX286eOkidata Microline 520/521
IBM Proprinter IIEpson FX850/1050Okidata Microline 320/321
IBM ProprinterEpson FX86/286Okidata Microline 292/293
IBM Graphics PrinterEpson FXOkidata Microline 192/193
Epson FX800/1000Okidata Microline 182/183

Table 4: Printer Drivers for Models ML390 Turbo & ML391 Turbo

IBM Proprinter EmulationIBM X24e AGM/XLe AGM EmulationEpson LQ Emulation
Okidata ML390/1T IBM IBM Proprinter X24e/XL24e IBM Proprinter X24/XL24 IBM Proprinter XLUse this emulation only when you have selected an IBM Proprinter X24e/XL24e driver and you need to use Epson LQ high-density graphics.Okidata ML390/1T Epson Epson LQ 870/1170 Epson LQ 80/1000 Epson LQ 2500 Epson LQ 1500 Epson LQ 1050

Table 5: Printer Drivers for Models ML520 & ML521

IBM Proprinter EmulationEpson FX EmulationOkidata ML Standard Emulation
Okidata ML 520/1 IBMOkidata ML 520/1 EpsonOkidata Microline 520/521
IBM Proprinter IIIEpson FX850/1050Okidata Microline 320/321
IBM Proprinter IIEpson FX86/286Okidata Microline 292/293
IBM ProprinterEpson FXOkidata Microline 192/193
IBM Graphics PrinterEpson EX800/1000Okidata Microline 182/183
Okidata Microline 92/93

Table 6: Printer Drivers for Models ML590 & ML591

IBM Proprinter EmulationIBM X24e AGM/XLe AGM EmulationEpson LQ Emulation
Okidata ML590/1 IBM IBM Proprinter X24e/XL24e IBM Proprinter X24/XL24 IBM Proprinter XLUse this emulation only when you have selected an IBM Proprinter X24e/XL24e driver and you need to use Epson LQ high-density graphics.Okidata ML590/1 Epson Epson LQ 850/1050 Epson LQ 860/2250 (use for color printing) Epson LQ 2500 Epson LQ 1500 Epson LQ

Because there are some differences in characteristics such as speed or access to various features, you may wish to experiment with different drivers.

If you must select a driver that is not listed in the table, be sure to check it thoroughly for print features such as boldface, underline and changes in pitch. Don't be surprised if boldfaced items are printed twice, underlines are misplaced, wide spaces are left between lines or the printer behaves chaotically (turn off the printer if the latter occurs). These are all characteristics of an incompatible driver selection.

OKIDATA Software Drivers

Software Drivers Online

For fastest service, you can download the latest drivers for your printer directly through

  • the Okidata Worldwide Web site: http://www.okidata.com
  • the Okidata OKLINK® BBS: (609) 234-5344
  • CompuServe®:

  • GO PCHW

  • In Library #2, select "Printer Utilities."

Table 7: Available Drivers

Printer ModelsAvailable DriversIf you can not download the driver:
ML320 Epson/IBM ML320 Std. ML321 Epson/IBM ML321 Std.Microsoft Windows: 3.0, 3.1, 95 Microsoft Word (DOS): 5.0, 5.5, 6.0 WordPerfect (DOS): 5.1, 5.2, 6.0To obtain a 3½HD diskette containing these drivers, call 1-800-OKIDATA.
ML320 Turbo ML321 TurboMicrosoft Windows 3.1x, 95, NT 3.51To obtain a3½HD diskette containing the driver you need, send a written request to OKIDATA PO Box 4603 Trenton, NJ 08650-9852 Select one: #MS-9267 for Windows 3.1x #MS-9299 for Windows 95 #MS-9300 for Windows NT
ML390 Turbo ML391 TurboMicrosoft Windows 3.1x, 95, NT 3.51, NT 4.0To obtain a3½HD diskette containing the driver you need, send a written request to OKIDATA PO Box 4603 Trenton, NJ 08650-9852 Select one: #MS-9351 for Windows 3.1x #MS-9352 for Windows 95 #MS-9353 for Windows NT 3.51 #MS-9354 for Windows NT 4.0
ML520 ML521Microsoft Windows: 3.0, 3.1, 95 Microsoft Word (DOS): 5.0, 5.5, 6.0 WordPerfect (DOS): 5.1, 5.2, 6.0To obtain a diskette containing all these drivers, send a written request to OKIDATA PO Box 4603 Trenton, NJ 08650-9852 Select one: #MS-8838 for 3½HD diskette #MS-8839 for 5½HD diskette
ML590 ML591Microsoft Windows: 3.0, 3.1, 95 Microsoft Word (DOS): 5.0, 5.5, 6.0 WordPerfect (DOS): 5.1, 5.2, 6.0Drivers are shipped with the printer

Software Driver Selection

Selecting a software printer driver is usually a part of the software application installation process. Changing printers may require use of an external routine, or may be possible from within the application through menu selection.

Note: Refer to your software documentation for information on installing printer drivers.

Embedded Commands

In some cases, commercial software packages will permit you to create and/or modify the printer driver. Even if a driver specifically designed for the printer is available, this option can provide additional room for customization.

Typically, the driver modification routine will present a list of operations with some method for entering printer commands, permitting substitution, such as entering the italic command in place of the underline command. It also permits modification of an existing driver to better fit your printer. Driver modification does require a basic familiarity with your printer's command set, so you should study the control codes in the chapters which follow thoroughly before attempting it.

Some programs also permit you to control your printer directly through embedded commands. Usage of these commands in programs can provide access to a wide range of printer capabilities that are not ordinarily supported, or, in programs like older versions of Lotus 1-2-3, printer commands can be entered as an initialization string to set the basic format for a document.

Chapter 2: Character Set Commands

This chapter describes the character set commands for your printer, including

  • IBM Character Sets I, II, and III
  • Epson Character Sets
  • Microline Character Sets
    International Character Sets
    Code Page Character Sets
  • Upper Range Control Codes
  • Character Table Selection

Special character sets can be substituted for the standard ASCII characters to provide foreign characters, line draw characters, non-printable characters such as back space (BS), form feed (FF), vertical tab (VT), etc. One of the Epson Character Sets provides italics characters.

IBM Character Set Commands

Select IBM Set I Command (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select IBM Set IESC 727 551B 37

This command selects IBM Character Set I in the IBM Proprinter emulation.

Select IBM Set II Command (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select IBM Set IIESC 627 541B 36

This command selects IBM Character Set II in the IBM Proprinter emulation.

Select All Character Set [IBM Set III] Command (Epson LQ)

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select All Character SetESC (^L_n H_n [data])27 40 94 L_n H_n[data]1B 28 5E L_n H_n[data]

Use this command to engage the All Character Set (IBM Set III) and apply it to the data which follows the command. This allows normally non-printable characters to print.

Parameters L_n and H_n

Parameters L_n and H_n are used to designate how many characters you wish to print using the All Character set:

Number of characters = L_n + (H_n × 256)

For fewer than 256 characters, substitute the number of characters for L_n and set H_n = 0 . For more than 256 characters, divide the number of characters by 256 and assign the whole number result to H_n , then assign the remainder to L_n .

L_n and H_n can have any value from 0 to 255 decimal.

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Print Specified Data from IBM All Characters SetESC \ Ln Hn27 92 Ln Hn1B 5C Ln Hn

This command will print the amount of data you specify within the command, using the IBM All Characters set (also known as Character Set III).

The IBM All Characters set contains only printable characters with the exception of decimal codes 0 and 255, and gives you a broad range of graphics characters and other special symbols. This set is also a handy debugging tool for programmers, since you can print out and examine files that contain control codes and escape sequences.

In the above command, you must use parameters L_n and H_n to specify the total count of characters to be printed. The total count is calculated as

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

If you are printing fewer than 256 characters, substitute the number of characters for the value of L_n and replace H_n with 0.

If you are printing 256 or more characters, divide the total number of characters you wish to print by 256. Replace H_n with the whole number result and assign the remainder to L_n .

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Print Specified Character from IBM Set IIIESC ^ n27 94 n1B 5E n

This command will print only the one character you specify within the command, using IBM Character Set III (also known as the All Characters set).

When the printer receives this command, it will print the character "n" from IBM Character Set III. The value of n can be from 0 to 255 decimal (00 to FF hexadecimal).

Epson Character Set Commands

Select Epson Set 1 [Slanted Characters] Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select Epson Set 1ESC t 027 116 481B 74 30

In the Epson emulation, this command specifies Epson Character Set 1 for the upper ASCII range (decimal 128 to 256). Epson Character Set 1 contains slanted characters, equivalent to italics.

Select Epson Set 2 [Graphics Characters] Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select Epson Set 2ESC t 127 116 491B 74 31

In the Epson emulation, this command specifies Epson Character Set 2 for the upper ASCII range (decimal 128 to 256). Epson Character Set 2 contains graphics characters.

MICROLINE Character Set Commands

Select MICROLINE Standard Character Set Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Standard Character SetESC ! 027 33 481B 21 30

In the Microline emulation, use this command to specify the standard Microline symbol set.

Select MICROLINE Block Graphics Symbol Set Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

FunctionASCIIDecHex
Select Block Graphics Symbol SetESC ! 127 33 491B 21 31

In the Microline emulation, use this command to specify a set of block graphics characters that can be used for drawing simple images and bar graphs. This set of characters has the standard ASCII characters decimal 32 through 127 and the block graphics in the upper ASCII range, decimal 128 through 255.

Select MICROLINE Line Character Set Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Line Character SetESC ! 227 33 501B 21 32

In the Microline emulation, use this command to specify the IBM (line graphics) symbol set which is comparable to IBM Set II. This set of characters has the standard ASCII characters decimal 32 through 127 and the line graphics in the upper ASCII characters, decimal 128 through 255.

International Character Set Commands

These commands allow you to select special international character sets which replace less-frequently used characters with symbols used in a variety of European languages or in the publishing industry.

Select International Character Set Command (IBM/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Select International Character SetESC ! n27 33 n1B 21 n

To access these characters, replace the n in the command with the appropriate value taken from column two in the table below.

Table 8: IBM/ML ESC! Command — International Character Substitutions

LanguagenCharacter Corresponding to Decimal Value
353638486479919293949596123124125126
American (slashed zero)64#&@O[\]^-'|~
American (unslashed zero)65#&0@O[\]^-'{|}~
British66£&0@O[\]^-'|~
Danish70#&0@OÆØÅÜ-'æØàü
Dutch72£&0@O[IJ]^-'IJ~
French68£&0àO·ç§^-'éüèü
French Canadian74üèààçéiiöéüèü
German67#&0§OÄÖÜ^-'äöüβ
Italian73£&§O°çé^-üàöèì
Latin American76#&0àOiÑíé-üìñóú
Norwegian71#&0@OÆØÅ^-æØà~
Publisher90#&0§O°'"±*'©®TM
Spanish75!$&0iOÑñíü-áéíóú
Swedish69§&0ÉOÁÖÅ^-éàöàü
  • For Models ML520 and ML521, character position number 95 in the Publisher Character Set is _ (underscore).

Select International Character Set Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Select International Character SetESC R n27 82 n1B 52 n

This command is used to use characters from the specified international character set to replace the standard characters. To access these characters, replace m in the command with the appropriate value taken from column two in the table below. For the ML390 Turbo and ML391 Turbo printers, substitute the value of n given in Table 3 to engage characters from the Code Page indicated.

Table 9: Epson ESC R Command - International Character Substitutions

LanguagenDecimal Value of Character
3536386479919293949596123124125126
American0#&@O[\]^-'|~
British3£&@O[\]^-`{|}~
Danish I4#&@OÆØÅ^-`æØà~
Danish II10#&ÉOÆØÅÜ-鿨àü
Dutch14£&@O[IJ]^-`ij~
French1#&àOçS^-`éüè..
French Canadian13üèàØàçèiióéüèü
German2#&SOÄÖÜ^-'äöüβ
Italian6#&@O\é^-üàòèi
Japanese8#&@O[¥]^-`{|}~
Latin American12#&àOiÑié-üíñóü
Norwegian9#&ÉOÆØÅÜ-鿨àü
Publisher64#&SO°'`±*`©®
Spanish I7Pt&@OiÑi^-``ñ~
Spanish II11#&àOiÑié-`íñóú
Swedish5#&ÉOÄÖÅÜ-éäöàü
  • For Models ML520 and ML521, character position number 95 in the Publisher Character Set is _ (underscore).

Table 10: Epson ESC R Command — Code Page Selections for ML390/391 Turbo

Code PageValue of n
Abicomp81
BRASCII80
Canada French43
Multilingual 85026
Norway 86527
Portugal28

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Print from Code PageESC [TLnHn00HcpLcp027 91 84 LnHn00HcpLcp01B 5B 54 LnHn0000HcpLcp00

This command permits you to select a Code Page character set and to print the amount of data you specify within the command from that Code Page set. It applies to both the IBM emulation (all models listed) and the Okidata Microline emulation (Models ML320/321 Turbo and ML520/521 only).

Parameters L_n and H_n

These parameters specify the total count of characters to be printed. The total count is calculated as

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

If you are printing less than 256 characters, substitute the number of characters for the value of L_n and replace H_n with 0.

If you are printing 256 or more characters, divide the total number of characters you wish to print by 256. Replace L_n with the whole number result and assign the remainder to H_n .

Parameters H_cp and L_cp

These parameters specify the Code Page set to be used when printing the characters as given in the table below.

Table 11: IBM/ML ESC [ T Command — Code Page Parameters

HcpvalueLcpvalueCode Page Set
1181USA
382Multilingual
392Canadian French
395Portugal
397Norway
416BRASCII*
417Abicomp*

*ML320/321 Turbo and ML390/391 Turbo only.

Assign Code Page Command (Epson)

ML320 Turbo, ML321 Turbo

FunctionASCIIDecHex
Assign Code Page to Character SetESC (t 3 0 Pn1 Pn2 Pn3)27 40 116 51 48 Pn1 Pn2 Pn31B 28 74 33 30 Pn1 Pn2 Pn3

This command allows you to assign a Code Page character set (see Appendix C) to Epson Character Set 1 or Set 2, which you can then select using ESC t 0 or ESC t 1, respectively.

Parameter _n1

This parameter specifies which character set you are replacing with a Code Page set:

P_n1 = 0 : replaces Epson Character Set 1

P_n1 = 1 : replaces Epson Character Set 2

Parameters _n2 and _n3

These parameters specify the Code Page set assigned to the designated Epson Character Set, as given in the table below.

Table 12: Epson 9-Pin ESC ( t Command — Code Page Parameters for P_n_2 and P_n_3 Values

Pn2 Hex ValuePn3 Hex VvalueCode Page Set
00Italic
10PC437 (USA)
30PC850 (Multilingual)
80PC863 (Canadian French)
70PC860 (Portugal)
90PC865 (Norway)
250BRASCII
260Abicomp

Upper Range Control Code Commands (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Permit Printing Upper Range Control CodesESC 627 541B 36
ororor
ESC I 1*27 73 49*1B 49 31*
Cancel Printing Upper Range Control CodesESC 727 551B 37
ororor
ESC I 0*27 73 48*1B 49 30*
  • Not available for ML390 Turbo or ML391 Turbo.

In the Epson emulation, the ASCII characters from decimal 128 through 159 are normally interpreted as control codes and cannot be printed. In some cases, you may wish to store custom characters in these locations.

The ESC 6 and ESC 7 commands allow you to print custom characters stored in these areas and then return to "normal" printing. These commands are not necessary in the ML590 and ML591 printers.

The ESC I n command allows you to print custom charters stored in the following ASCII areas: 00H to 06H, 10H, 11H, 15H to 17H, 19H to 1AH, 1CH to 1FH, 80H to 86H, 90H, 91H, 95H to 97H, 99H, 9AH, or 9CH to 9FH.

Select Code Page Set Command (Epson)

ML390 Turbo,ML391 Turbo ML590,ML591

Table 13: Epson 24-Pin ESC ( t Command —

FunctionASCIIDecHex
Select Code Page SetESC (t Ln Hn Pn1 Pn2 Pn3)27 40 116 Ln Hn Pn1 Pn2 Pn31B 28 74 Ln Hn Pn1 Pn2 Pn3

Use this command to store any four code page sets from the table below, engaged using the ESC t n command.

Parameters L_n and H_n

Parameters L_n and H_n are used to designate the number of bytes to follow in the subsequent parameters, where

$$ \text {N u m b e r o f b y t e s} = L _ {n} + \left(H _ {n} \times 2 5 6\right) $$

L_n and H_n can have any value from 0 to 255 decimal. Generally, L_n is set to 3 and H_n is set to 0.

Parameter P_n1 selects the table area in which the four code page sets will be stored. You can assign it to hexadecimal 00, 01, 02, 03, 30, 31, 32, or 33.

Parameters _n2 and _n3

Parameters P_n2 and P_n3 determine which code page set will be used, as follows:

Code Page Sets for P_n1 , P_n2 Values

Pn2Pn3Code Page Set
00Italic
10PC-437 (USA)
30PC-850 (Multilingual)
70PC-860 (Portugal)
80PC-863 (Canadian French)
90PC-865 (Norway)
25*0*BRASCII*
26*0*Abicomp*
  • Applies only to ML390 Turbo and ML391 Turbo

For example, use the command

ESC (t03H 00H 03H 09H 00H

to store the PC-865 Norwegian code page set in table area 03.

Chapter 3: Character Size & Spacing Commands

This chapter describes the commands used to set the size and spacing of characters printed:

  • Pitch Setting Commands
  • Superscript & Subscript Commands
  • Double Width & Height Commands
  • Combined Print Features Command
  • Character Spacing Commands

Pitch Setting Commands

These commands are used to select the pitch in characters per inch (cpi) used. For example, at 10 cpi, each character is 110 wide. The number of characters that will fit on a line depends on the pitch you have selected and on whether you have a narrow carriage or a wide carriage printer. You can also set pitch using the printer's front panel or the menu (see "Menu Mode" in your printer manual).

Table 14: Pitch Setting Commands — Characters Per Line (CPL) for Pitches

PitchCharacters per Line
Narrow Carriage ModelsWide Carriage Models
10 cpi80 cpl136 cpl
12 cpi96 cpl163 cpl
15 cpi*120 cpl *204 cpl *
17.1 cpi137 cpl233 cpl
20 cpi160 cpl272 cpl
  • 15 cpi is not available on Models ML320/1 E/I, ML320/1 Std. or ML320/1 Turbo.

Pitch Setting Commands for Non-compressed Printing (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionCommand: IBMCommand: EpsonCommand: ML
Select 10 cpiASCII: DC2ASCII: ESC PASCII: RS
Dec: 18Dec: 27 80Dec: 30
Hex: 12Hex: 1B 50Hex: 1E
Select 12 cpiASCII: ESC :ASCII: ESC MASCII: FS
Dec: 27 58Dec: 27 77Dec: 28
Hex: 1B 3AHex: 1B 4DHex: 1C
Select 15 cpi*ASCII: ESC gASCII: ESC gASCII: ESC g
Dec: 27 103Dec: 27 103Dec: 27 103
Hex: 1B 67Hex: 1B 67Hex: 1B 67
  • 15 cpi is not available on Models ML320/1 E/I, ML320/1 Std. or ML320/1 Turbo.

Pitch Setting Commands for Compressed Printing (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML590,ML591

FunctionCommand
Select Compressed PitchASCII: SI or ESC SIDec: 15 or 27 15Hex: OF or 1B OF
Cancel Compressed PitchNot applicable

ML390 Turbo, ML391 Turbo

FunctionCommandNotes
SelectASCII: SI or ESC SI
CompressedDec: 15 or 27 15
Pitch*Hex: OF or 1B OFSI Select item in the printer Menu must be set to 12 CPI in order to select compressed pitch.
If 10 cpi character pitch is engaged, printer will go to 17.1 cpi pitch.
If 12 cpi character pitch is engaged, printer will go to 20 cpi pitch.
  • To cancel compressed pitch, enter one of the non-compressed printing pitch setting commands.

Pitch Setting Commands for Compressed Printing (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionCommandNotes
Select Compressed PitchASCII: SI or ESC SI Dec: 15 or 27 15 Hex: OF or 1B OfIf 10 cpi is engaged, compressed pitch will be 17.1 cpi If 12 cpi is engaged, compressed pitch will be 20 cpi.
Cancel Compressed PitchASCII: DC2 Dec: 18 Hex: 12If 17.1 cpi is engaged, pitch will revert to 10 cpi. If 20 cpi is engaged, pitch will revert to 12 cpi.

Pitch Setting Commands for Compressed Printing (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDec.Hex.
Select 17.1 cpiASCII: GSDec: 29Hex: 1D
Select 20 cpiASCII: ESC # 3Dec: 27 35 51Hex: 1B 23 33

Select Character Pitch/Point Size Command (Epson)

ML320 Turbo, ML321 Turbo
ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Character Pitch/Point SizeESC X p Pn Lp Hp27 88 70 Pn Lp Hp1B 58 46 Pn Lp Hp

Use this command to place the printer in the scalable font mode and to select the character pitch and the point size. Character pitch setting range is 5 to 20 characters per inch (cpi); point size setting range is 8 to 64 points.

For the ML590 and ML591 printers, you can select any character pitch from 5 to 20 cpi for the LQ Courier, LQ Roman and LQ Swiss typefaces. The Gothic, Orator, Prestige and Swiss Bold typefaces will only print in point sizes 10, 10.5 and 21. The table below shows which typeface will print in other sizes when these typefaces are selected.

Note: If you wish to use this command to print to an ML320/321 Turbo printer in a UNIX environment, you must reboot the system after the command is entered.

Table 15: Epson ESC X Command — Font Substitution for Models ML590 & ML591

TypefaceTypeface that Prints
8 Point12 to 20 & 22 to 64 Point
GothicSwissCourier
OratorSwissCourier
PrestigeRomanCourier
Swiss BoldSwissCourier

Parameter P_n is used to set the character pitch. It can have any value from 0 to 127 decimal for ML320/321 Turbo and for ML590/591 printers, or from 0 to 255 for ML390/391 Turbo.

Table 16: Epson ESC X Command — Character Pitch Settings for P_n Values

PnCharacter Pitch
0Remains unchanged
1Proportional
18 (2 to 19)20 cpi
2018 cpi
21 (21 to 23)17.1 cpi
24 (24 to 29)15 cpi
30 (30 to 35)12 cpi
36 (36 to 41)10 cpi
42 (42 to 47)8.6 cpi
48 (48 to 59)7.5 cpi
60 (60 to 71)6 cpi
72 (72 to 127)5 cpi

Parameters L_p and H_p

Parameters L_p and H_p are used to set the point size according to the following equation:

$$ N _ {p} = \left[ L _ {p} + \left(H _ {p} \times 2 5 5 \right] \times 0. 5 \right. $$

L_p and H_p can have any value from 0 to 255 decimal.

Table 17: Epson ESC X Command — Point Sizes (1 point = 1/72") for N_p

NpPoint Size
0Unchanged
168 pt
2010 pt
2110.5 pt
2211 pt
2412 pt
2613 pt
2814 pt
3015 pt
3216 pt
3417 pt
3618 pt
3819 pt
4020 pt
4221 pt
NpPoint Size
4422 pt
4623 pt
4824 pt
5025 pt
5226 pt
5427 pt
5628 pt
5829 pt
6030 pt
6231 pt
6432 pt
6633 pt
6834 pt
7035 pt
7236 pt
NpPoint Size
7437 pt
7638 pt
7839 pt
8050 pt
8241 pt
8442 pt
8643 pt
9045 pt
9246 pt
9447 pt
9648 pt
9849 pt
10050 pt
10251 pt
10452 pt
NpPoint Size
10653 pt
10854 pt
11055 pt
11256 pt
11457 pt
11658 pt
11859 pt
12060 pt
12261 pt
12462 pt
12663 pt
12864 pt

Example

To set a point size (N_) of 216:

$$ N _ {p} = \left[ L _ {p} + \left(H _ {p} \times 2 5 5 \right] \times 0. 5 \right. $$

  1. Assign a value of 1 to H_p .
  2. Multiply 216 by 2: 216 × 2 = 432 .
  3. Subtract 255 from 432: 432 - 255 = 177 , then round this value down to the nearest even number, 176. Assign this value to L_p .

Here is a sample BASIC program to test your calculated values:

ESC= CHR(27)
LPRINT ESC$; "@";
LPRINT "This is a test of the Select Pitch and Point Size Command."
LPRINT "This is the default text mode." 

LPRINT "The characters below should be the maximum character height of 216 points."

LPRINT ESC; "X"; CHR(1); CHR(176); CHR(1)

LPRINT "Hy"

Select Character Pitch/Point Size Command (IBM-Oki unique)

ML320 Turbo, ML321 Turbo
ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Character Pitch/ Point SizeESC DLE F P no Pn Lp Hp27 16 70 P no Pn Lp Hp1B 10 46 P no Pn Lp Hp

Use this OKI unique command to select printable fonts by character pitch and point size.

Parameter P_no

This parameter is used to give the number of bytes to follow in the subsequent parameters. It can have any value from 0 to 255 decimal. Generally, a value of 3 is assigned to P_no .

Parameter P_n

Parameter P_n is used to set the character pitch. It can have the following values:

ML320 Turbo, ML321 Turbo: 0 1o 127

ML390 Turbo, ML391 Turbo: 0 to 255

ML590, ML591: 0 to 127

See "Table 16: Epson ESC X Command — Character Pitch Settings for P_n Values," above.

Parameters L_p and H_p

Parameters L_p and H_p are used to set the point size according to the following equation:

$$ N _ {p} = \left[ L _ {p} + \left(H _ {p} \times 2 5 5 \right] \times 0. 5 \right. $$

L_p and H_p can have any value from 0 to 255 decimal.

See "Table 17: Epson ESC X Command — Point Sizes for N_p Values," above.

Superscript/Subscript Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Start Superscript PrintingASCII: ESC S 0Dec: 27 83 0Hex: 1B 53 00ASCII: ESC S 0Dec: 27 83 0Hex: 1B 53 00ASCII: ESC JDec: 27 74Hex: 1B 4A
Stop Superscript PrintingASCII: ESC TDec: 27 84Hex: 1B 54ASCII: ESC TDec: 27 84Hex: 1B 54ASCII: ESC KDec: 27 75Hex: 1B 4B
Start Subscript PrintingASCII: ESC S 1Dec: 27 83 1Hex: 1B 53 01ASCII: ESC S 1Dec: 27 83 1Hex: 1B 53 01ASCII: ESC LDec: 27 76Hex: 1B 4C
Stop Subscript PrintingASCII: ESC TDec: 27 84Hex: 1B 54ASCII: ESC TDec: 27 84Hex: 1B 54ASCII: ESC MDec: 27 77Hex: 1B 4D

Superscript characters are printed above the normal print line, and are used for exponents and special typographic effects (x^2) . Subscripts are handy for chemical formulas (H_2O)

Superscripts and subscripts will print as full-width characters. They cannot be used with double-height printing.

Double Width Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Begin Double Width PrintingASCII: ESC W 1Dec: 27 87 49Hex: 1B 57 31ASCII: ESC W 1Dec: 27 87 49Hex: 1B 57 31ASCII: USDec: 31Hex: 1F
End Double Width PrintingASCII: ESC W 0Dec: 27 87 48Hex: 1B 57 30ASCII: ESC W 0Dec: 27 87 48Hex: 1B 57 30Use any of the pitch selection commands.
Begin Double Width Printing Line by LineASCII: SODec: 14Hex: 0EASCII: SO or ESC SODec: 14 or 27 14Hex: 0E or 1B 0ENot applicable
End Double Width Printing Line by LineASCII: DC4Dec: 20Hex: 14ASCII: DC4Dec: 20Hex: 14Not applicable

Double Height Commands (E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionEpsonML
Begin Double Height PrintingASCII: ESC w 1Dec: 27 119 1Hex: 1B 77 01ASCII: ESC US 1*Dec: 27 31 49Hex: 1B 1F 31
End Double Height PrintingASCII: ESC w 0Dec: 27 119 0Hex: 1B 77 00ASCII: ESC US 0*Dec: 27 31 0Hex: 1B 1F 00
  • This command is also valid for the ML390 Turbo, ML391 Turbo, ML590 and ML591 in Epson LQ emulation; it duplicates the ESC w command.

Double height printing produces characters that are twice as tall as normal size characters. It can be combined with double width and emphasized printing for an even more striking effect.

When you use double height printing, you will need to adjust the line spacing to accommodate the taller characters.

Double Width & Height Printing Commands

The double width & height commands allow you to select double width, double height, or double width and double height printing in the IBM emulation.

Double Width & Height Printing Command, 9-Pin Printers (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecimalHexadecimal
Double Width and/or Height PrintingESC [ @ Ln Hn NUL NUL n1 n227 91 64 Ln Hn 0 0 n1 n21B 5B 40 Ln Hn 00 00 n1 n2

This command lets you specify character width and line spacing in addition to character height.

Parameters n_1 and n_2

Parameters n_1 and n_2 are used to set the width, line spacing and height used. Variable n_1 sets the character height and line spacing; variable n_2 sets the character width.

These parameters specify the number of bytes of the modes, calculated as

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

Generally, L_n is 4 and H_n is 0.

Table 18: IBM ESC [ @ Command — Character Height/Line Spacing for n_1 Values

Decimal Value of n1Character HeightLine Spacing
0UnchangedUnchanged
1StandardUnchanged
2DoubleUnchanged
16UnchangedSingle
17StandardSingle
18DoubleSingle
32UnchangedDouble
33StandardDouble
34DoubleDouble

Table 19: IBM ESC [ @ Command — Character Width for n_2 Values

Decimal Value of n2Character Width
0Unchanged
1Standard
2Double

For example, to use double height characters with double the normal line spacing, without changing the width of the characters use this BASIC statement:

Double Height & Width Printing Command, 24-Pin Printers (IBM)

ML390 Turbo, ML391 Turbo

These variables specify the number of mode bytes in the command. Normally, n_1 is set to 4 and n_2 is set to 0.

Parameters m_1, m_2, m_3, m_4

These variables control the mode. Parameters m_1 and m_2 are set to 0. Parameter m_3 is used to set the line spacing and character height. Parameter m_4 is used to set the width of the character as shown in the tables below.

Table 20: IBM ESC [ @ Command — Character Height/Line Spacing for m_3 Values

Decimal Value of m3Character HeightLine Spacing
0UnchangedUnchanged
1StandardUnchanged
2DoubleUnchanged
16UnchangedSingle
17StandardSingle
18DoubleSingle
32UnchangedDouble
33StandardDouble
34DoubleDouble

Table 20a: IBM ESC [ @ Command — Character Width for m_4 Values

Decimal Value of m4Character Width
0Unchanged
1Standard
2Double

Combined Print Features Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Print FeaturesESC & n1 n2 n3 n4 :27 38 n1 n2 n3 n4 581B 26 n1 n2 n3 n4 3A

This command lets you select print quality, character pitch, and several other printing features with a single command. The values of the four variables (n_1 n_2 n_3 n_4) determine which features are selected.

To calculate the value for each variable, first find the features you want in the Variable Values table below. Next, add the corresponding values from column one for each variable. Then add the appropriate factor for each variable taken from Table 22.

Table 21: ML ESC & Command - Print Features for n_1, n_2, n_3 and n_4 Values

Valuen1n2n3n4
110 cpiCancel super/subscriptsUtilityHSD
212 cpiSubscriptsNLQN/A
417.1 cpiSuperscriptsCustom charactersUnderlining
820 cpiEmphasizedItalicsDouble height
16Double widthEnhancedN/AN/A

Table 22: ML ESC & Command — Variable Factors for n_1, n_2, n_3, n_4

VariableFactor
n132
n264
n396
n4112

Here are some pointers on using this command:

  • You don't have to use all four variables; use only the ones that control the features you want to change.
  • You can enter the variables in any order.
  • Be sure to add in the variable factor when calculating the variable values—this number tells the printer which variable is which.
  • You'll get unexpected results if you select incompatible features (e.g., if you pick both 10 and 12 cpi), or if you've added up the values incorrectly.

For example, to set 10 cpi, emphasized, NLQ and underlining using this command, you would calculate the values for n_1 , n_2 , n_3 , and n_4 as follows:

$$ \begin{array}{l} n _ {1} = 1 + 3 2 = 3 3 \ n _ {2} = 8 + 6 4 = 7 2 \ n _ {3} = 2 + 9 6 = 9 8 \ n _ {4} = 4 + 1 1 2 = 1 1 6 \ \end{array} $$

The resulting BASIC statement looks like this:

Character Spacing Commands

The character spacing commands include commands to turn proportional spacing on and off, as well as commands for increasing the standard spacing between characters at a fixed value.

Proportional Spacing Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Proportional Spacing OnASCII: ESC P 1Dec: 27 80 1Hex: 1B 50 01ASCII: ESC p 1Dec: 27 112 1Hex: 1B 70 01ASCII: ESC YDec: 27 89Hex: 1B 59
Proportional Spacing OffASCII: ESC P 0Dec: 27 80 0Hex: 1B 50 00ASCII: ESC p 0Dec: 27 112 0Hex: 1B 70 00ASCII: ESC ZDec: 27 90Hex: 1B 5A

In the ML320 E/I, ML321 E/I, ML320 Std., ML321 Std., ML320 Turbo, ML321 Turbo, ML520, and ML521, proportional spacing is available only with Near Letter Quality (NLQ) and Utility (UTL) printing.

In the ML390 Turbo, ML391 Turbo, ML590 and ML591, proportional spacing is available only with Letter Quality (LQ) printing.

This command adjusts the space between letters to compensate for the varying widths of individual characters. Unlike fixed spacing, where all characters are formed within a matrix of uniform width at a specified pitch, proportional spacing gives more horizontal space to wide characters, like w or M, and less to narrow characters, like I or f. The resulting print is more attractive and easier to read than fixed-space printing.

Because the characters have different widths, proportionally spaced fonts have no fixed pitch; therefore margin settings are only approximate unless your software specifically supports proportional spacing.

You can also select proportional spacing using the printer menu or the front panel buttons. In addition, proportional spacing is one of the features available through the composite command in the Epson mode.

Intercharacter Spacing Commands (IBM/E/ML)

Note: Intercharacter spacing can NOT be set in the HSD and bit image graphics modes.

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520, ML521

FunctionIBMEpsonML
Set Intercharacter SpacingASCII: ESC V nDec: 27 86 nHex: 1B 56 nASCII: ESC SP nDec: 27 32 nHex: 1B 20 nASCII: ESC N nDec: 27 78 nHex: 1B 4E n
Values for nn = 0 to 11n = 0 to 255n = 0 to 11

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBMEpson
Set Intercharacter SpacingML590/591 Only: ASCII: ESC SP n Dec: 27 32 n Hex: 1B 20 nASCII: ESC SP n Dec: 27 32 n Hex: 1B 20 n
Values for nn = 0 to 255n = 0 to 255*
  • For the ML390 Turbo and ML391 Turbo, bit 7 is ignored.

The standard spacing between characters is 3 dots columns. These commands are used to add additional spacing between characters, added to the right of each character. The value is expressed in dots; the number of dots per inch depends on the current print mode. The table below shows the amount of space added for each cpi setting.

Table 23: IBM ESC V and ESC SP & Epson ESC SP Commands — Character Spacing (in Inches)

SettingAmount of space added
10 cpin/120"
12 cpin/144"
15 cpin/180"
17.1 cpin/206"
20 cpin/240"

For example, to add 8/120" spacing to your printing at 10 cpi, use this BASIC command:

Table 24: ML ESC N Command — Character Spacing (in Inches)

Decimal Value of n10 cpi12 cpi17.1 cpi20 cpi
03/120"3/144"3/206"3/240"
14/120"4/144"4/206"4/240"
25/120"5/144"5/206"5/240"
36/120"6/144"6/206"6/240"
47/120"7/144"7/206"7/240"
58/120"8/144"8/206"8/240"
69/120"9/144"9/206"9/240"
710/120"10/144"10/206"10/240"
811/120"11/144"11/206"11/240"
912/120"12/144"12/206"12/240"
1013/120"13/144"13/206"13/240"
1114/120"14/144"14/206"14/240"

For example, if you are printing at 10 cpi and want to set the character spacing at 11/120" , use this BASIC command:

Set Horizontal Motion Index [HMI] Command (Epson LQ)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Set Horizontal Motion Index (HMI)ESC c Lp Hp27 99 Lp Hp1B 63 Lp Hp

Use this command to set the character spacing in LQ and Utility modes to any value from 1/360" up to 3".

Parameters L_p and H_p

Parameters L_p and H_p can have any value from 0 to 255 decimal and are used to designate the Horizontal Motion Index (HMI) according to the following equation:

$$ \mathrm {H M I} (\text {i n c h e s}) = \left[ L _ {\mathrm {p}} + \left(H _ {\mathrm {p}} \times 2 5 6\right) \right] \div 3 6 0 $$

If the HMI value is set to greater than 3":

  • ML390 Turbo and ML391 Turbo printers will ignore the command
  • ML590and ML591 printers will use 1/10" spacing.

Chapter 4: Character Style Commands

This chapter describes the commands for selecting print style including the following:

  • Print Mode & Fonts Commands
    Italics Print Commands
  • Emphasized & Enhanced Print Commands
  • Underline/Overscore/Strike-Through Commands
    Outline/Shadow Commands

Individual Print Mode & Font Commands for 9-Pin Printers (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionIBMEpsonML
Select HSD Print ModeASCII: ESC # 0Dec: 27 35 48Hex: 1B 23 30ASCII: ESC ( 0Dec: 27 40 48Hex: 1B 28 30ASCII: ESC # 0Dec: 27 35 48Hex: 1B 23 30
Select Utility Print ModeSee CombinedCommands belowASCII: ESC x 0Dec: 27 120 0Hex: 1B 78 00ASCII: ESC 0Dec: 27 48Hex: 1B 30
Select NLQ Print ModeSee CombinedCommands belowASCII: ESC x 1Dec: 27 120 49Hex: 1B 77 31andASCII: ESC k nDec: 27 107 nHex: 1B 6B nASCII: ESC 1Dec: 27 49Hex: 1B 31
Select NLQ Gothic FontSee CombinedCommands belowNot applicableASCII: ESC 3Dec: 27 51Hex: 1B 33

Use High Speed Draft (HSD) or Utility (UTL) printing for drafts and other documents that you want to print quickly. HSD is faster and its characters somewhat rougher than utility.

Near Letter Quality (NLQ) printing is slower than HSD and UTL, but the characters are crisp and more like the characters produced by a typewriter. Use NLQ for final drafts and important documents where appearance matters.

You can also use your printer's front panel or the menu to set the print quality, but settings made using the front panel are likely to be overridden by software applications.

To select the NLQ print mode in the Epson emulation, you must send two commands: ESC x 1 and ESC k n. The ESC x 1 command must be sent to the printer first, followed by the ESC k n command. Parameter n designates which font will be used as follows:

n=0: Courier NLO

n=1: Sans Serif NLO

Individual Print Mode & Font Commands for 24-Pin Printers (IBM/E)

ML390 Turbo, ML391 Turbo

FunctionASCIIDec.Hex.
Select Utility Print ModeESC x 027 120 481B 78 30
Select LQ Print ModeESC x 127 120 491B 78 31
Select LQ Print Mode & FontESC k n27 107 n1B 6B n

Use Utility printing for drafts and other documents that you want to print quickly.

Letter Quality (LQ) printing is slower than utility printing, but the characters are much crisp and sharper. Use LQ for top-quality printing of final drafts and important documents, where appearance matters.

You can also use your printer's front panel or the menu to set the print quality, but settings made using the front panel are likely to be overridden by software applications.

The ESC k n command allows you to select a specific font for the LQ mode. Substitute a value for n from the table below.

Table 25: IBM/Epson ESC k Command — Fonts for n Values

Hex. Value of nFont
00Roman
01Swiss
02Courier
03Prestige
04Script
07Orator
7ASwiss Bold
7CGothic
7EMenu Setting

Combined Select Font Command (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecimalHexadecimal
Select Print Quality and Character SpacingESC I n27 73 n1B 49 n

This command allows you to select print quality and character spacing for resident fonts for all models listed. It also allows you to select print quality and character spacing for downline loadable (DLL) fonts for all but Models ML390 Turbo and ML391 Turbo. Substitute a value for n from the table below.

Table 26: IBM ESC I Command — Print Modes Coresponding to n Values for All 9-Pin Models

Value of nPrint mode
010 cpi utility
112 cpi HSD
2NLQ Sans Serif
3NLQ Courier
410 cpi DLL utility
512 cpi DLL utility
6NLQ Sans Serif DLL
7NLQ Courier DLL
11NLQ Courier Italic*
15NLQ Courier DLL Italic*
  • ML320T, ML321T, ML520, ML521 only

Table 27: IBM IBM ESC I Command—Print Modes for n Values for 24-Pin Models ML390T & ML391T

Dec. Value of nPrint Mode
010 cpi Utility
210 cpi LQ
3Proportional LQ
812 cpi Utility
1012 cpi LQ
1617.1 cpi Utility
1817.1 cpi LQ
2415 cpi Utility
2615 cpi LQ
3220 cpi Utility
3420 cpi LQ

Table 28: IBM ESC I Command — Print Modes Coresponding to n Values for 24-Pin Models ML590 & ML591

Dec. Value of nPrint mode
010 cpi Utility Resident
210 cpi LQ Resident
3Proportional LQ Resident
410 cpi Utility DLL
610 cpi LQ DLL
7Proportional LQ DLL
812 cpi Utility Resident
1012 cpi LQ Resident
1212 cpi Utility DLL
Dec. Value of nPrint mode
1412 cpi LQ DLL
1617.1 cpi Utility Resident
1817.1 cpi LQ Resident
2017.1 cpi Utility DLL
2217.1 cpi LQ DLL
2415 cpi Utility Resident
2615 cpi LQ Resident
3220 cpi Utility
2420 cpi Utility

Select Font Command (IBM)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecimalHexadecimal
Select Typeface, Character Pitch and SpacingESC [ILnHnHfidLfidHfwdLfwdfa27 91 108 LnHnHfidLfidHfwdLfwdfa1B 5B 6C LnHnHfidLfwdHfwdLfwdfa

This command can be used to select a typeface, plus a character pitch or proportional spacing.

Parameters L_n and H_n

Parameters L_n and H_n are used to set which of the following parameters will be activated. The value calculated by the equation

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

is used to determine how the various parameters will be treated:

Table 29: IBM ESC [ / Command — Parameter Activated for Calculated L_n , H_n Values

ValueParameters Activated
0 or 1Command invalid
2 or 3Fidvalid; Fwdand faunchanged
4Fidand Fwdvalid; faunchanged
5Fid, Fwdand favalid
6 or moreFid, Fwdand favalid; parameter data dumped after 6 bytes

Parameters H_fd and L_fd

Parameters H_fid and L_fid are used to select the font to be used. The value determined from the equation

$$ \left(H _ {\text {f i d}} \times 2 5 6\right) + L _ {\text {f i d}} $$

is used to select the font as follows:

Table 30: IBM ESC [ / Command — Fonts Selected for Calcuated Hfid, Lfid Values

Table 31: IBM ESC [ / Command —

Font SelectedValue
Invalid0
Courier 10011
Courier 10 Italic018
Courier 10 Symbol008
Courier 10/10 Shalom049
Courier 12085
Courier 12 Italic092
Courier 12/12 Shalom098
Courier 15223
Courier 15/15 Shalom226
Courier Proportional171
Letter Gothic 12087
Letter Gothic 15222
Letter Gothic 17255
OCR-A 10019
OCR-B 10003
Orator 10005
Prestige Pica 10012
Prestige Elite 12086
Prestige Elite Symbol 12080
Prestige Elite 12/12 Yasmin100
Prestige 15221
Prestige Proportional164
Roman Bold Proportional159
Roman Bold Italic Proportional155
Roman Proportional/Proportional Barak167
Roman Proportional/Proportional Yasmin166
Script 12084

Parameters Hfwd and Lfwd

Parameters H_fwd and L_fwd are used to select a character pitch. The value determined from the equation

$$ \left[ \left(\mathrm {H} _ {\mathrm {f w d}} \times 2 5 6\right) + \mathrm {L} _ {\mathrm {f w d}} \right] \times 1 / 1 4 4 0 ” $$

is used to select the character pitch as follows:

Character Pitch Settings for Calculated H_fwd , L_fwd Values

Hex ValueCharacter Pitch
00Command invalid
9010 cpi
7812 cpi
6015 cpi
5417 cpi
4820 cpi

The setting made using the H_fwd and L_fwd parameters will automatically be overridden if the fa parameter is set to 02 hexadecimal.

Parameter f_a

Parameter f_a is used to engage proportional spacing.

f_a = 0.2 hexadecimal (2 decimal): engage proportional spacing

f_a = 00 hexadecimal (0 decimal):use character pitch set by parameters Hfwd and Lfwd

Combined Print Mode Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecimalHexadecimal
Select Print FeaturesESC ! n27 33 n1B 21 n

This command lets you use any combination of the features listed in the table below. The value of n can range from 0 to 255. To determine the value of n, add up the values for all the features you wish to use. To turn off all these features and return to 10 cpi printing, substitute 0 for n.

Table 32: Epson ESC! Command - Print Features for n Values

FeatureValue
Compressed printing4
Double width printing32
12 cpi (Elite) printing1
Emphasized printing8
Enhanced printing16
Italics printing64
Proportional printing2
Underline printing128

For example, to print underlined italics at 12 cpi, assign n the value of 193 (128 + 64 + 1).

Each time you send this command, it sets or cancels the values for all nine of the features it controls (the eight features listed in the table, plus 10 cpi). This means that if you've requested 12 cpi underline italics, and then want to add emphasized printing to these features, you must add 8 to 193 and resend the command as ESC! 210. If you send the command ESC! 8, it will turn off all the other features as it turns on emphasized print.

To see the range of print styles you can produce with the ESC ! n command, run the following BASIC program which prints a sample of each possible combination. Please note that since the program prints all 256 combinations, it will take a few minutes and about 12 pages for the entire sample to print.

10 FOR I = 0 TO 255
20 LPRINT:LPRINT
30 LPRINT CHR(27) ;" !";CHR(I) ;"ESC !";I; " selects this combination."
40 NEXT I

Italics Print Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521
ML590,ML591

FunctionIBMEpsonML
Italics Printing OnASCII: ESC % GDec: 27 37 71Hex: 1B 25 47ASCII: ESC 4Dec: 27 52Hex: 1B 34ASCII: ESC !/Dec: 27 33 47Hex: 1B 21 2F
Italics Printing OffASCII: ESC % HDec: 27 37 72Hex: 1B 25 48ASCII: ESC 5Dec: 27 53Hex: 1B 35ASCII: ESC !*Dec: 27 33 42Hex: 1B 21 2A

Italics printing is slanted, like this, and is used to lend emphasis to phrases, sentences, or entire paragraphs.

If you intend to print an entire document in italics, you can use the printer menu to select italics. You will find italics in the menu under the group "Font" and the setting "Style." See "Menu Mode" in your printer manual for more information on making changes in the menu settings.

Emphasized & Enhanced Print Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Emphasized Printing OnASCII: ESC EDec: 27 69Hex: 1B 45ASCII: ESC EDec: 27 69Hex: 1B 45ASCII: ESC TDec: 27 84Hex: 1B 54
Emphasized Printing OffASCII: ESC FDec: 27 70Hex: 1B 46ASCII: ESC FDec: 27 70Hex: 1B 46ASCII: ESC IDec: 27 73Hex: 1B 49
Enhanced Printing OnASCII: ESC GDec: 27 71Hex: 1B 47ASCII: ESC GDec: 27 71Hex: 1B 47ASCII: ESC HDec: 27 72Hex: 1B 48
Enhanced Printing OffASCII: ESC HDec: 27 72Hex: 1B 48ASCII: ESC HDec: 27 72Hex: 1B 48ASCII: ESC IDec: 27 73Hex: 1B 49

Your printer produces bold type by printing each dot of a character twice instead of once. In emphasized printing, the pairs of dots are offset horizontally. In enhances printing, the pairs of dots are offset vertically.

You can combine emphasized and enhanced printing for an especially bold effect. For headlines, try using them in combination with double width characters; you can also combine emphasized printing with double height characters.

Underline/Overscore/Strike-Through Commands

Underline Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Underline Printing OnASCII: ESC - 1Dec: 27 45 49Hex: 1B 2D 31ASCII: ESC - 1Dec: 27 45 49Hex: 1B 2D 31ASCII: ESC CDec: 27 67Hex: 1B 43
Underline Printing OffASCII: ESC - 0Dec: 27 45 48Hex: 1B 2D 30ASCII: ESC - 0Dec: 27 45 48Hex: 1B 2D 30ASCII: ESC DDec: 27 68Hex: 1B 44

The underline feature underscores all characters, including the space character, but does not underscore graphics or the space produced by any horizontal positioning command such as horizontal tab.

In the Epson emulation, you can also use the Combined Print Mode (ESC ! n) command to engage underlining.

Overscore Commands (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Overscore Printing OnESC _ 127 95 11B 5F 01
Overscore Printing OffESC _ 027 95 01B 5F 00

The overscore feature prints a continuous line over all characters, including the space character, but does not overscore the space produced by a horizontal tab command. This feature is available only in the IBM emulation.

Score Style Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecimalHexadecimal
Select Score StyleESC (- Ln Hn Pn D1 D227 40 45 Ln Hn Pn D1 D21B 28 2D Ln Hn Pn D1 D2

This command lets you set underline, strike-through and underscore styles: continuous, dashed, single or double lines.

Parameter Pn

Parameter Pn is set to 01 hex (1 dec, SOH ASCII).

Parameters L_n and H_n

Parameters L_n and H_n designate the quantity of data to be scored, according to the following equation:

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

If L_n and H_n are less than 3, the designated data will be dumped.

Parameters D_1 and D_2

Parameter D_1 is used to set the type of score and parameter D_2 is used to set the attributes, as indicated in the table.

Table 33: Epson ESC ( - Command — Score Styles for D_1 and D_2 Values

D1D2Score Style
11Continuous, single underline
21Continuous, single strike-through
31Continuous, single overscore
12Continuous, double underline
22Continuous, double strike-through
32Continuous, double overscore
15Dashed, single underline
25Dashed, single strike-through
35Dashed, single overscore
16Dashed, double underline
26Dashed, double strike-through
36Dashed, double overscore

Using a value of 0 for D_2 will cancel the score mode.

Note: Scores can only be used for printing characters: they can't be used to print line graphics

Outline/Shadow Commands (IBM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Outline Printing OnESC q 127 113 491B 71 31
Shadow Printing OnESC q 227 113 501B 71 32
Outline and Shadow Printing OnESC q 327 113 511B 71 33
Outline and/or Shadow Printing OffESC q 027 113 481B 71 30

The outline feature prints characters as outlines with hollow center. The shadow feature prints characters with a shadow behind them. Combining the features produces outline characters with a shadow behind them. These features can be used to produce more interesting and stylish headings. They can be combined with emphasized and/or enhanced printing, double width, etc., for an even more striking effect.

Note: Outline and shadow can only be used for printing characters: they can't be used to print line graphics.

Chapter 5: Custom Character Commands

Your printer's custom (down line loadable) character feature enables you to design your own characters and symbols, even entire character sets if you choose, and download them from your computer to the printer. You can design and store multiple characters. The actual designing of these characters requires some work on your part and can become tedious. We strongly recommend using a commercial software package to help you create new characters and download them to your printer. There are also packages that provide character sets that have already been designed for you.

This chapter describes the custom character commands for your printer, including

ROM to RAM Copy Commands
- Down Line Loading Commands
- Custom Character Set Commands
- Select DLL Font Commands

The chapter is divided into two sections: one for the 9-pin printers and one for the 24-pin printers.

Custom Character Commands: 9-Pin Printers

Designing a Custom Character for 9-Pin Printers

The technique of designing your own custom characters is much like that of designing a graphic image, but on a much smaller scale. You can design characters in either Utility or Near Letter Quality mode: simply activate the desired mode before you download the characters.

Begin by designing your character on a grid. The height of the grid for a normal character is 7 dots, each corresponding to a pin on the printer's printhead. The width of the grid usable for a character is a maximum of 11 dots (the twelfth dot in the grid width is reserved as blank).

The 7-dot grid can be adjusted up or down several dot positions by using the attribute byte in the print command. This byte specifies whether the character is an ascender (top 7 rows) or a descender (bottom 7 rows). The attribute byte also contains other information about the character, as explained later.

The character's baseline lies below the seventh dot from the top if it is an ascender, or below the sixth dot from the top if it is a descender. The columns of the matrix to the left and right of your character affect where it will appear in relation to the characters on either side of it. There is one mandatory blank column at the end of the character (column 12). If you don't leave blank columns, adjacent characters may appear to run right into your character.

Your arrangement of dots is translated into code that tells your printer the exact location of each dot within each column. The example which follows illustrates how this works.

OKI ML321TURBO - Designing a Custom Character for 9-Pin Printers - 1

This character is 9 dots wide and is flush to the left. We'll print it in 10 cpi utility mode. Just like 8-pin graphics, each byte specifies a dot column, and the value of each byte is determined by adding up the values of its bits.

Note: In all print modes, you cannot place two dots next to each other horizontally-you must skip one column.

Now we need to give the commands that download this data to the printer.

IBM Custom Character Commands for 9-Pin Printers

Copy ROM to RAM Command for 9-Pin Printers (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Copy ROM Character Set to RAM Character SetESC $27 361B 24

This command copies a complete set of the characters resident in the printer to the area of its memory reserved for custom characters. The new character will become part of this character set. This makes it possible to mix standard characters with your custom characters when you print.

Down Line Load Characters Command for 9-Pin Printers (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecimalHexadecimal
Down Line Load CharactersESC = c1c2mna1a2[data]27 61 c1c2mna1a2[data]1B 3D c1c2mna1a2[data]

Use this command with the ML520 or the ML521 printer to begin downloading the characters.

Parameters c_1 and c_2

These parameters specify the total count of characters to be downloaded. How these variables are calculated depends on which mode is engaged: Utility printing or Near Letter Quality (NLQ) printing.

For Utility printing:

$$ \text {v a l u e} = (# \text {o f c h a r a c t e r s t o b e c h a n g e d} \times 1 3) + 2 $$

For NLQ printing:

$$ \text {v a l u e} = (# \text {o f c h a r a c t e r s t o b e c h a n g e d} \times 4 8) + 2 $$

If the value obtained is less than 256, substitute the value for c_1 and replace c_2 with 0.

If the value obtained is 256 or more, divide the value by 256. Replace c_2 with the whole number result and assign the remainder to c_1 .

Parameter m

This parameter selects the print quality:

$$ \begin{array}{l} m = 2 0: \text {U t i l i t y p r i n t i n g} \ m = 2 1: N L Q \text {p r i n t i n g} \ \end{array} $$

Parameter n

This parameter specifies the ASCII value of the starting character in the set to be redefined (characters must be redefined in sequence) and can be assigned any value in the range 0 to 255.

Parameters a_1 and a_2

These parameters designate the attributes of the character.

Parameter a_1

Parameter a_1 denotes whether the character is an ascender or descender:

$$ \begin{array}{l} a _ {1} = 0: \text {a s c e n d e r} \ a _ {1} = 1 2 8: \text {d e s c e n d e r} \ \end{array} $$

Here is a breakdown of the definitions for the various bit values for a_i :

Bit b_7 :

b_7 = 0 : ascender
b_7 = 1 : descender

Note: If b_0 or b_1 is 0, b_7 is ignored.

Bits b_6,b_5,b_4,b_3,b_2 : ignored

Bits b_1 and b_0 :

b_1, b_0 = 0, 0 : No expansion to 12 dots high: b_7 valid
b_1, b_0 = 0, 1 : Selects line draw characters; data is expanded to a total height of 12 dots in two passes: b_7 ignored.
b_1, b_0 = 1, 0 : Shaded character; data is expanded to a total height of 12 dots in two passes: b_7 ignored.
b_1, b_0 = 1, 1 : NUL is expanded to a total height of 12 dots in two passes: b_7 ignored.

Parameter a_2

Parameter a_2 denotes the total width of the character in dots.

Table 34: IBM ESC = Command — Character Widths for a_2 Values

a2 (Decimal)Character Width, in Dots
0Ignored
11 column wide
22 columns wide
33 columns wide
44 columns wide
55 columns wide
66 columns wide
77 columns wide
88 columns wide
99 columns wide
1010 columns wide
1111 columns wide

End the command with the data for the character calculated from your grid. If you're downloading several characters, you only need one ESC & NUL command, and you only need to include m and n once, but you must include a value for parameter a in each set of character data.

Epson Custom Character Commands for 9-Pin Printers

Copy ROM to RAM Command for 9-Pin Printers (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

FunctionASCIIDecHex
Copy ROM Character Set to RAM Character SetESC : NUL NUL NUL27 58 0 0 01B 3A 00 00 00

This command is used with the ML320 E/I, ML321 E/I, ML320T, or ML321T printer to copy a complete set of the characters resident in the printer to the area of its memory reserved for custom characters. The new character will become part of this character set.

ML520,ML521

FunctionASCIIDecHex
Copy ROM Character Set to RAM Character SetESC : NUL n NUL27 58 0 n 01B 3A 0 n 0

This command is used with the ML520 or ML521 printer to copy a complete set of the characters resident in the printer to the area of its memory reserved for custom characters. The new character will become part of this character set. This makes it possible to mix standard characters with your custom characters when you print.

Parameter n is used to specify the NLQ font to be used:

n = 0: NLQ Courier

n = 1: NLQ Sans Serif

Down Line Load Characters Command for 9-Pin Printers (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Down Line Load CharactersESC & NUL n1 n2 a [data]27 38 0 n1 n2 a [data]1B 26 00 n1 n2 a [data]

Use this command to begin downloading the character(s).

Parameters n_1n_2

These parameters specify the range of characters to be replaced with new ones. Multiple characters must be assigned to adjacent locations. Parameter n_1 indicates the first character that will be replaced; parameter n_2 indicates the last character that will be replaced.

Custom characters can normally be assigned to decimal locations 32 to 126 and 160 to 255. If IBM Character Set II is selected (ESC 6 command), characters can also be assigned to locations 128 to 159.

Parameter a

This parameter indicates how the character will be positioned within its grid as follows:

Ascenders: a is calculated as

last dot column of character + (first dot column x 16) + 128

Descenders: a is calculated as

last dot column of character + (first dot column x 16)

Parameter a can be assigned any value in the range 0 to 255.

End the command with the data for the character calculated from your grid.

If you're downloading several characters, you only need one ESC & NUL command, and you only need to include n_1 and n_2 once, but you must include a value for parameter a in each set of character data.

Custom Character Set On/Off Commands for 9-Pin Printers (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Standard Character SetESC % 027 37 481B 25 30
Select Custom Character SetESC % 127 37 491B 25 31

To switch from the standard character set to the custom character set, use the ESC % 1 command.

To switch back to the standard character set, use the ESC % 0 command. Otherwise, the custom character set will remain in the printer's memory until one of the following happens:

you turn off the printer

you reset the printer with the ESC @ command

you overwrite them with new custom characters

you use the ESC : NUL NUL NUL command to overwrite them with the standard character set.

Okidata MICROLINE Standard Custom Character Commands for 9-Pin Printers

Copy ROM to RAM Command for 9-Pin Printers (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Copy ROM Character Set to RAM Character SetESC $27 361B 24

This command copies a complete set of the characters resident in the printer to the area of its memory reserved for custom characters. The new character will become part of this character set. This makes it possible to mix standard characters with your custom characters when you go to print.

Down Line Load Characters Commands for 9-Pin Printers (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Down Line Load Ascender CharactersESC % A m n1 ... n1127 37 65 m n1 ... n111B 25 41 m n1 ... n11
Down Line Load Descender CharactersESC % D m n1 ... n1127 37 68 m n1 ... n111B 25 44 m n1 ... n11

To begin downloading an ascender character, use the ESC % A m n₁ ... n₁₁ command. This command specifies that the new character will be an ascender.

To begin downloading a descender character, use the ESC % D m n₁ ... n₁₁ command. This command specifies that the new character will be a descender.

Parameter m

This parameter specifies the character that will be replaced by the custom character. Custom characters can be assigned to decimal locations 32 to 127 and 160 to 223.

Data n_1 through n_11

n_1 through n_11 specify the data for the character, calculated from your grid.

Select DLL Font Commands for 9-Pin Printers (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select DLL in Utility ModeESC 227 501B 32
Select DLL in Near Letter Quality ModeESC 727 551B 37

The ESC 2 command switches custom character printing on when the printer is set for the Utility mode.

The ESC 7 command switches custom character printing on when the printer is set for the Near Letter Quality (NLQ) print mode. NLQ custom characters are just like Utility custom characters, except that overprinting is used to make them match the NLQ character set.

Once you have selected the Custom Character Set, it will remain in memory until the printer is turned off. Any one of the following will also delete the Custom Character Set from the printer's

memory:

  • you reset the printer with the ESC CAN command
  • you overwrite them with new custom characters
  • you use the ESC $ command to overwrite them with the Standard Character Set.

Custom Character Commands: 24-Pin Printers

Designing a Custom Character for 24-Pin Printers

The technique for designing your own custom characters is much like that of designing a graphic image, but on a much smaller scale. You can design characters in either Utility or LQ mode: simply activate the desired mode before you download the characters.

Begin by designing your character on a grid. The height of the grid is 24 dots, each corresponding to a pin on the printhead. The width of the grid, as well as the width of the character itself, depends on the print mode.

Table 35: Custom Character Commands — Character/Grid Width for Print Modes (24-Pin Printers)

d0= space to the left of the character
d1= width of the character itself
d2= space to the right of the character
Print ModeMax. Character Width (d1)Max. Total Grid Width (d0 + d1 + d2)
Utility15 dots18 dots
LQ37 dots42 dost
Proportional37 dots42 dots

Note: If the printer is in superscript or subscript mode, only the first two or last two bytes are needed for each column.

Characters are designed on a grid made up of columns of 24 dots. Each column, in turn, is divided into three 8-dot groups, and each 8-dot group is represented by a byte of data.

When designing a character, keep the intended use for the character in mind. If the character is to be included with text, leave the top and bottom two rows of the grid blank, in keeping with general font design standards. The character's baseline occurs at the sixth dot from the bottom. The columns of the grid to the left and right of your character affect where it will appear in relation to the characters on either side. If you don't leave blank columns, adjacent characters may appear to run right into your custom character.

Your arrangement of dots is translated into code that tells the printer the exact locations of each dot in each column. The example below shows how this works.

OKI ML321TURBO - Designing a Custom Character for 24-Pin Printers - 1

The width of the grid in dots depends on the printing mode in use. This example character is 27 dots wide and has 4 blank columns on either side. We'll print it in 10 cpi Letter Quality. Since the character is being printed in 24-pin mode, three bytes of data are required to specify a single column. Just like high resolution 24-pin graphics, the first three bytes specify dot positions for the second column, and so on up to the last column in which dots will appear. The value of each byte is determined by adding up the values of its bits.

Note: In all print modes, you can NOT place two dots next of each other horizontally-you must skip one column.

The commands below are used to download this data to the printer.

IBM Custom Character Commands for 24-Pin Printers

Down Line Load Characters Command (IBM)

ML590,ML591

FunctionASCIIDecHex
Download Custom CharacterESC = n1n2# a1a2a3m ad1ad2id1id2d1d2d3d4d5 [data]27 61 n1n2 35 a1a2a3m ad1ad2id1id2d1d2d3d4d5 [data]1B 3D n1n2 23 a1a2a3m ad1ad2id1id2d1d2d3d4d5 [data]

Parameters _1_2

These parameters specify the number of bytes in the command string. The total number of bytes is calculated as follows:

$$ \text {N o . o f b y t e s} = n _ {1} + \left(n _ {2} \times 2 5 6\right) $$

Parameters a_1, a_2, a_3

Parameters a_1 and a_2 specify the starting address of the custom character data, calculated as

follows:

$$ \text {s t a r t i n g} = \mathrm {a} _ {1} + (\mathrm {a} _ {2} \times 2 5 6) $$

Parameter a_3 indicates the number of characters to be down loaded.

Note: If fewer than 256 characters are loaded, all character codes must be consecutive from the starting point.

Parameter m

The bits of this parameter determine the character pitch and print mode as follows:

b_0 : always 0

b_1 : ignored

b2, b3 = 0, 0 : Utility, all pitches

0,1:LQ,10cpi

1, 0: LQ, 12 cpi

1, 1: LQ, proportional

b_6 = 0 : Last data table

1: Another data table follows

Note: The command up to parameter m need only be included once for each down loading sequence. The following parameters apply to the specific characters, and must be included for each individual character in the sequence.

Parameters ad1 ad2

These parameters specify the starting address of the character, as follows:

$$ \text {c h a r a c t e r} = \mathrm {a d} _ {1} + \left(\mathrm {a d} _ {2} \times 2 5 6\right) $$

Parameter id

Here is a breakdown of the bit values for id:

b_0 to b_5 = Number of columns to be loaded (1 to 63)

b_6 = 0 : Load to RAM

1: Copied from ROM character generator

b_7 = 0 : Normal character

1: Elongated character

Parameter id,

Here is a breakdown of the bit values for id_2 :

b_0 to b_5 = Character width (1 to 63, proportional)

b6, b7 = 0, 0 : Data for pins 19 to 24 copied to pins 25 to 30

0, 1: Data for pins 23, 24, duplicated for pins 25, 26, 27, 28, 29, 30

1, 0: Underline

1, 1: No elongation

Parameters d_1d_2d_3d_4d_5

Each bit of the parameter bytes indicates whether the data in the specified column is identical to the previous column or is new.

bit = 0 : data is new

bit = 1 : data is a repeat of previous column

The parameters specify data repetition as follows:

d_1 :columns1to8
d_2 :columns9to16
d_3 :columns17to24
d_4 : columns 25 to 32
d_5 : columns 33 to 40

Epson Custom Character Commands for 24-Pin Printers

First use the Copy ROM to RAM command to copy a complete set of the characters resident in the printer at the area of its memory reserved for custom characters. The new character you designed will become part of this character set.

To begin downloading the custom character, use the Download Custom Characters Command to specify the range of characters that you will be replacing with new ones, to indicate how you have positioned the character within its grid, and to supply the data for the character(s), calculated from your grid(s).

To switch between the standard character set and your custom character set, use the Custom Character Set On/Off Command.

Copy ROM to RAM Command for 24-Pin Printers (Epson)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Copy ROM Character Set to RAM Character SetESC: NUL n NUL27 58 0 n 01B 3A 00 n 00

This command is used to copy a complete set of the characters resident in the printer to the area of its memory reserved for custom characters. The new character will become part of this character set.

Parameter n

Parameter n is used to specify the font to be used.

Table 36: Epson ESC : Command — Fonts for n Values

Value of nFont
0Roman
1Swiss
2Courier (default)
3Prestige
4Script
5OCR-B
Value of nFont
6OCR-A
7Orator
8Orator-S
122Swiss Bold
124Letter Gothic
126Font set on Menu

Down Line Load Characters Commands for 24-Pin Printers (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Load Custom CharactersESC & m n1 n2 d0 d1 d2 [data]27 38 m n1 n2 d0 d1 d2 [data]1B 26 m n1 n2 d0 d1 d2 [data]

ML590,ML591

FunctionASCIIDecHex
Load Custom CharactersESC & NUL m n1 n2 d0 d1 d2 [data]27 38 0 m n1 n2 d0 d1 d2 [data]1B 26 00 m n1 n2 d0 d1 d2 [data]

Use these commands to begin downloading the character(s) to the printer.

Parameter m

This parameter selects the available area in RAM. The only available values/locations are m = 0 or m = 128 .

Parameters n_1n_2

These parameters specify the range of characters to be replaced with new ones. Multiple characters must be assigned to adjacent locations.

Parameter n_1 indicates the first character that will be replaced: range 0 to 127.

Parameter n_2 indicates the last character that will be replaced: range 1 to 127.

Parameters d_0 , d_1 , d_2

These parameters define the width of the character grid in dots as follows:

d_0 = width of space before the character
d_1 = width of the character
d_2 = width of space after the character

Follow these parameters with the data calculated from your grid as shown above in the section "Designing a Custom Character for 24-Pin Printers."

Custom Character Set On/Off Command for 24-Pin Printers (Epson)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Standard Character SetESC % 027 37 01B 25 00
Select Custom Character SetESC % 127 37 11B 25 01

To switch from the standard character set to the custom character set, use the ESC % 1 command.

To switch back to the standard character set, use the ESC % 0 command. Otherwise, the custom character set will remain in the printer's memory until one of the following happens:

  • you turn off the printer
  • you reset the printer with the ESC @ command
  • you overwrite them with new custom characters
  • you use the ESC : NUL NUL NUL command to overwrite them with the standard character set.

Load Custom Character Set into Upper ASCII Command for 24-Pin Printers (Epson)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Custom Character SetESC t 227 116 21B 74 02

This command loads the custom character set (decimal 0 to 127) into the upper ASCII range (128 to 255).

Chapter 6: Graphics Commands for 9-Pin Printers

Overview

Your printhead has one column of pins. Images are created as the pins "fire," striking the ribbon against the paper to produce dots. White spaces appear where the pins don't fire. In 8-pin graphics, each column of dots is represented by a single byte of data. Models ML320, ML321, ML320 Turbo, ML321 Turbo, ML520, and ML521 use the 9-pin mode in cases where a slightly higher resolution is required: it uses two bytes to represent each dot column.

When you program a graphic image, your program has to describe the pattern of dots you want to print. Graphics data, like all other data sent to the printer, consists of a series of bytes. Each of the eight bits in a byte of graphics data corresponds to one pin on the printhead. A bit's value can be either 1 or 0. When the printer receives the data, it interprets a bit with a value of 1 as a command to fire the corresponding pin. Bits that are set to 0 don't cause pins to fire.

You can picture the byte as a column of 8 bits. In 8-pin graphics, the body of data is a series of these columns lined up next to each other. Instead of sending the data to the printer bit by bit, you'll probably want to convert this binary information into decimal or hexadecimal format for use with your programming language. In the figure below we show how to determine the decimal value for a given pattern of pins.

OKI ML321TURBO - Overview - 1

For optimum registration when printing graphics using bi-directional printing, use the Print Registration item in the printer menu to fine-tune the alignment of the vertical bars which print as part of the menu. Keep changing the setting until the lines of the vertical bar characters have the straightest vertical column.

Programming Graphics in BASIC

One important thing to remember when you're programming graphics is not to include extraneous line feeds in your programs. Using a semicolon after the data in an LPRINT statement will keep the print position on the same line.

However, there is an additional complication: by default, BASIC assigns to all printers a maximum line length of 80 characters. After the printer has received 80 bytes of data, it will automatically perform a carriage return and line feed. Since graphics data typically consists of many bytes, it's quite easy to exceed this limit. The resulting output will be garbled. You can work around this problem by setting the line length to the maximum allowable value, 255. Put one of these statements at the beginning of your program:

For parallel printers:

WIDTH "LPT1:",255

For serial printers that have been opened as #1:

WIDTH #1,255

Graphics Density Selection Commands (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Begin Single Density GraphicsESC K Ln Hn [data]27 75 Ln Hn [data]1B 4B Ln Hn [data]
Double Density Graphics CommandESC L Ln Hn [data]27 76 Ln Hn [data]1B 4C Ln Hn [data]
Double Speed/ Double Density Graphics CommandESC Y Ln Hn [data]27 89 Ln Hn [data]1B 59 Ln Hn [data]
Quadruple Density Graphics CommandESC Z Ln Hn [data]27 90 Ln Hn [data]1B 5A Ln Hn [data]

These graphics modes correspond to the 8-pin modes and are supported by most current DOS-based graphics software.

Parameters L_n and H_n

These parameters tell the printer how many bytes of graphics data to expect. Eight-pin graphics have one byte of data per column. To calculate the values for L_n and H_n' , first determine how many columns of dots there will be in your graphics image. Divide this number by 256 and assign the whole number result to H_n' ; assign the remainder to L_n .

Graphics Density Selection Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Single Density GraphicsESC P or ESC Q27 80 or 27 811B 50 or 1B 51
Select Double Density GraphicsESC R27 821B 52
Select Double Speed & Quadruple Density GraphicsESC # Q27 35 811B 23 51

Use these commands to select the density of the printing that will be used: single density (60 dpi), double density (120 dpi), or quadruple density (240 dpi). The quadruple density selection command also engages double speed.

Graphics Select/Print Command (Epson)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Graphics Select/PrintESC * m Ln Hn [data]27 42 m Ln Hn [data]1B 2A m Ln Hn [data]

This command is used to select the density, to designate the number of columns of data you'll be sending, and to specify the data to be sent.

Parameter m

This parameter specifies which density to use when printing the graphic image. The table below indicates the type of density for each value of m.

Table 37: Epson ESC * m Command — 8-Pin Graphics Density Codes for m Values (9-Pin Printers)

Value of mGraphics TypeHorizontal Density (dots per inch)
0Single Density60 dpi
1Double Density120 dpi
2High Speed Double Density120 dpi
3Quadruple Density240 dpi
4CRT I80 dpi
5Plotter (Single Density)72 dpi
6CRT II90 dpi
7Double Density Plotter144 dpi

Once you've selected the density you want to use, you have to design your graphic image.

Begin by mapping out the pattern you want to print on a piece of graph paper. Here is a sample pattern for a triangle:

OKI ML321TURBO - Parameter m - 1

Parameters L_n and H_n

These parameters tell the printer how many columns of data you'll be sending: 8-pin modes have one byte of data per column. To calculate the values, first determine how many columns of dots there will be in your graphics image. Divide this number by 256 and assign the whole number to H_n' ; assign the remainder to L_n .

In our triangle example, each triangle requires 16 columns. We'll be printing a row of 6 triangles, so the total number of columns in the image is 6 × 16 , or 96. Dividing 96 by 256 gives a value of 0 for H_n with a remainder of 96, which we'll assign to L_n .

Next, we can write a BASIC statement that sends the command begin 8-pin graphics:

Note: Be sure to include the semicolon(:) at the end of this statement. That way, the printer won't insert a carriage return and line feed before your graphics data.

The listing below is a BASIC program for the Epson emulation that will generate a row of six of our triangles in quadruple density. To print the pattern at another density, change the value of D in line 10 to one of the other density codes.

10 D=3 'Density code for quadruple density (Epson)
20WIDTH"LPT1:",255 'Set printer for maximum line width
30 LPRINT CHR(27) ;"*"; CHR (D) ; CHR(96) ; CHR (0);
40 REM CHR (D) is the density; in this case D = 3 for quadruple density
50 REM CHR (96) and CHR (0) indicate the number of columns
60 FOR I=1 TO 6 Repeat triangle pattern six times 70 FOR J=1 TO 16Each triangle has 16 columns
80 READ A 'Read the column
90 LPRINT CHR\(A); 'Send the byte to the printer
100 NEXT J 'Now print the next column
110 RESTORE 'Go back to the beginning of the DATA statements
120 NEXT I 'Now print the next triangle
130 END
140 DATA 1,3,7,15,31,63,127,255,255,127,63,31,15,7,3,1

Your printout will look like this:

OKI ML321TURBO - Parameters L_n and H_n - 1

Reassign Graphics Codes Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Reassign GraphicsESC ? m n27 63 m n1B 3F m n

You can use this command to reassign any of the 8-pin graphics modes to one of the graphics commands (ESC K, ESC L, ESC Y, or ESC Z).

Parameter m

This parameter designates which of the four commands you're redefining. Substitute one of the four letters (K, L, Y, or Z) for m in the command.

Parameter n

This parameter designates the density of the mode you are reassigning to the redefined code. Substitute the appropriate value (0 through 7) for the density you wish to select, as taken from the 8-Pin Graphics Density Codes table earlier in this chapter.

When you are ready to print a graphics pattern, send the redefined command, followed by the graphics data.

For example, the following BASIC statement reassigns quadruple density to the command ESC L:

LPRINT CHR(27);?"?";"L";CHR (3)

Select Graphics Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select 9-pin Graphics PrintingESC ^ m Ln Hn [data]27 94 m Ln Hn [data]1B 5E m Ln Hn [data]

This command permits use of all nine pins on the printhead. It operates exactly like the ESC * command, except that dot columns are given two bytes each instead of one. The first byte for each column represents the top eight pins, just like the ESC * command. The second byte is 128 if the bottom (9th) pin is to be fired, and zero if it's not to be fired.

Select Graphics Mode Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Graphics ModeESC * n1 n2:27 42 n1 n2 581B 2A n1 n2 3A

Use this command to select the density and to define the speed and "word size."

Parameter n_1

This parameter specifies the density. To calculate the value of n_1 , first select the dpi and density you want, then determine the n_1 values for each from the table below. Add them together, then add 96 to the total.

Table 38: ML ESC * Command — Densities for n_1 Values (9-Pin Printers)

Dots per inch/DensityValue of n1
60 dpi1
72 dpi2
Single density4
Double density8
Quadruple density16

For example, for 60 dpi printing at quadruple density, the value of n_1 would be calculated as follows:

$$ n _ {1} = 1 + 1 6 + 9 6 = 1 1 3 $$

Parameter n

This parameter specifies the speed of the printing and a word length of 8 bits. To calculate the value of n_2 , first select the speed and determine the value of n_2 for that speed from the table below. Next, select 7 or 8-bit graphics and determine the value of n_2 for that word size from the table. Add each of these two values together, then add 64 to the total.

Table 39: ML ESC * Command — Speed & Word Sizes for n_2 Values (9-Pin Printers)

Speed/Word SizeValue n2
Normal speed0
Double speed8
7-bit graphics0
8-bit graphics16

For example, for double speed, 8-bit graphics, the value of n_2 would be calculated as follows:

$$ n _ {2} = 8 + 1 6 + 6 4 = 8 0 $$

Graphics Print Mode Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Graphics Print ModeETX303
End Graphics Print ModeETX STX3 203 02

To begin printing graphics, you must first send the ETX command. This is followed by graphics data—bytes representing the individual dot columns you will be printing. The graphics data is followed by the ETX STX command which ends graphics printing. The listing below is a BASIC program that generates a row of six triangles in quadruple density.

10WIDTH"LPT1:,"255 'Set printer for maximum line width
20 LPRINT CHR(27);"*"; CHR (113); CHR(80);":"; CHR (3);
30 REM CHR(113) and CHR(80) are the attribute codes for normal speed, quadruple density graphics
40 REM CHR$(3) Begins graphics printing
50 FOR I=1 TO 6 `Repeat triangle pattern six times
60 FOR J=1 TO 16 'Each triangle has 16 columns
70 READ A 'Read the column
80 LPRINT CHR\(A); 'Send the byte to the printer
90 NEXT J 'Now print the next column
100 RESTORE 'Go back to the beginning of the DATA statements
110 NEXT I 'Now print the next triangle
120 LPRINT CHR(3);CHR(2); 'End graphics printing
130 END
140 DATA 128,192,224,240,248,252,254,255,255,254,252,248,240,224,192,128

Your printout will look like this:

OKI ML321TURBO - Graphics Print Mode Commands (ML) - 1

Special Purpose Line Feed Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

If you are printing more than one line of graphics, you will need to use line feeds. In the Okidata MICROLINE Standard emulation, your printer has a variety of special purpose line feed commands for use in graphics printing:

FunctionSettingASCIIDecHex
Graphics line feed with carriage returnTextETX LF3 1003 0A
Graphics line feed with carriage returnGraphicsETX SO3 1403 0E
Graphics line feed without carriage returnTextETX DC23 1803 12
Graphics line feed without carriage returnGraphicsETX DC43 2003 14
Stores graphics data in one dot column bufferN/AETX ETX3 303 03

The graphics setting is determined by whether you are using 7 or 8-bit graphics. In 7-bit graphics mode, the graphics setting is 14 / 144'' ; in 8-bit graphics mode, it is 16 / 144'' .

The text setting is determined by the current text line spacing, as set by the ESC 6 and ESC 8 commands.

Chapter 7: Graphics Commands for 24-Pin Printers

Overview

Your printhead has one column of pins. Images are created as the pins "fire," striking the ribbon against the paper to produce dots. White spaces appear where the pins don't fire. In 8-pin graphics, each column of dots is represented by a single byte of data. In the Epson LQ mode, Models ML390 Turbo, ML391 Turbo, ML590 and ML591 support 24-pin graphics, in which each dot column is represented by three bytes of data.

When you program a graphic image, your program has to describe the pattern of dots you want to print. Graphics data, like all other data sent to the printer, consists of a series of bytes. Each of the eight bits in a byte of graphics data corresponds to one pin on the printhead. A bit's value can be either 1 or 0. When the printer receives the data, it interprets a bit with a value of 1 as a command to fire the corresponding pin. Bits that are set to 0 don't cause pins to fire.

You can picture the byte as a column of 8 bits. In 8-pin graphics, the body of data is a series of these columns lined up next to each other. Instead of sending the data to the printer bit by bit, you'll probably want to convert this binary information into decimal or hexadecimal format for use with your programming language. In the figure below we show how to determine the decimal value for a given pattern of pins. For 24-pin graphics, you must perform this process a total of three times.

OKI ML321TURBO - Overview - 1
Decimal Value of this byte 215

OKI ML321TURBO - Overview - 2

OKI ML321TURBO - Overview - 3

For optimum registration when printing graphics using bi-directional printing, use the Print Registration item in the printer menu to fine-tune the alignment of the vertical bars which print as part of the menu. Keep changing the setting until the lines of the vertical bar characters have the straightest vertical column.

Programming Graphics in BASIC

One important thing to remember when you're programming graphics is not to include extraneous line feeds in your programs. Using a semicolon after the data in an LPRINT statement will keep the print position on the same line.

However, there is an additional complication: by default, BASIC assigns to all printers a maximum line length of 80 characters. After the printer has received 80 bytes of data, it will automatically perform a carriage return and line feed. Since graphics data typically consists of many bytes, it's quite easy to exceed this limit. The resulting output will be garbled. You can work around this problem by setting the line length to the maximum allowable value, 255. Put one of these statements at the beginning of your program:

For parallel printers:

WIDTH "LPT1:", 255

For serial printers that have been opened as #1:

WIDTH #1,255

Graphics Density Selection Commands (IBM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Begin Single Density GraphicsESC K Ln Hn [data]27 75 Ln Hn [data]1B 4B Ln Hn [data]
Double Density Graphics CommandESC L Ln Hn [data]27 76 Ln Hn [data]1B 4C Ln Hn [data]
Double Speed/ Double Density Graphics CommandESC Y Ln Hn [data]27 89 Ln Hn [data]1B 59 Ln Hn [data]
Quadruple Density Graphics CommandESC Z Ln Hn [data]27 90 Ln Hn [data]1B 5A Ln Hn [data]

These graphics modes correspond to the 8-pin modes and are supported by most current DOS-based graphics software.

Parameters L_n and H_n

These parameters tell the printer how many bytes of graphics data to expect. Eight-pin graphics have one byte of data per column. To calculate the values for L_n and H_n' , first determine how many columns of dots there will be in your graphics image. Divide this number by 256 and assign the whole number result to H_n' ; assign the remainder to L_n .

Graphics Select/Print Command (IBM AGM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Graphics Select/PrintESC * m n1 n2 [data]27 42 m n1 n2 [data]1B 2A m n1 n2 [data]

Note: The IBM AGM emulation combines the IBM Proprinter emulation with Epson LQ graphics for special graphics applications.

This command is used to select the density, to designate the number of columns of data you'll be sending, and to specify the data to be sent.

Parameter m

This parameter specifies which density to use when printing the graphic image. The table below indicates the type of density for each value of m.

Table 40: Epson ESC * m Command — 8-Pin Graphics Density Codes for m Values (24-Pin Printers)

Value of mGraphics TypePinsHorizontal Density (dots per inch)
0Single Density860 dpi
1Double Density8120 dpi
2High Speed Double Density8120 dpi*
3Quadruple Density8240 dpi*
4CRT I880 dpi
6CRT II890 dpi
32Single Density2460 dpi
33Double Density24120 dpi
38CRT III2490 dpi
39Triple Density24180 dpi
40Hex Density24360 dpi*
  • Extrapolated (quasi density)

These parameters tell the printer how many columns of data you'll be sending: 8-pin modes have one byte of data per column, 24-pin modes have three bytes of data per column. These parameters can be assigned any value from 0 to 255. To calculate the values, first determine how many columns of dots there will be in your graphics image. Divide this number by 256 and assign the whole number to H_n ; assign the remainder to L_n .

Reassign Graphics Codes Command (IBM AGM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Reassign GraphicsESC ? m n27 63 m n1B 3F m n

Note: The IBM AGM emulation combines the IBM Proprinter emulation with Epson LQ graphics for special graphics applications.

You can use this command to reassign any of the graphics modes to one of the graphics commands (ESC K, ESC L, ESC Y, or ESC Z).

Parameter m

This parameter designates which of the four commands you're redefining. Substitute one of the four letters—K (single density), L (double density), Y (high speed double density), or Z (quadruple density)—for m in the command.

Parameter n

This parameter designates the density of the mode you are reassigning to the redefined code. Substitute the appropriate value for the density you wish to select, as taken from the "Epson ESC * m Command — 8-Pin Graphics Density Codes for m Values (24-Pin Printers)" table in the previous command description.

When you are ready to print a graphics pattern, send the redefined command, followed by the graphics data.

Graphics Resolution Command (IBM)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Graphics Resolution/ PrintESC [ g n1 n2 m [data]27 93 103 n1 n2 m [data]1B 5D 67 n1 n2 m [data]

This command sets the graphics resolution and prints the graphic data.

Parameters n_1n_2

Range 0 to 255. These parameters specify the number of dot columns according to the following formula:

$$ \text {d o t c o l u m n s} = \mathrm {n} _ {1} + \left(\mathrm {n} _ {2} ^ {*} 2 5 6\right) + 1 $$

Parameter m

This parameter specifies the horizontal resolution of the graphics according to the following table.

Table 41: IBM ESC [g Command — Horizontal Graphics Resolution for m Values (24-Pin Printers)

Value of mResolution (dpi)PinsNotes
0608Same as ESC K
11208Same as ESC L
21208Same as ESC Y
32408Same as ESC Z
86024High resolution for ESC K
912024High resolution for ESC L
1118024
1236024

Select Graphics Aspect Ratio Command (IBM)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Set graphics aspect ratioESC n Pn27 110 Pn1B 6E Pn

This command sets the vertical-to-horizontal ratio of graphics printed using the ESC K, ESC L, ESC Y, and ESC Z graphics commands.

The possible values for P_n are:

P_n = 0,1 : Sets aspect ratio of 5:6

P_n = 2 : Sets aspect ratio of 1:1

Pn ≥ 3 : Dumps data up to receipt of ESC n pn command

Select Graphics Mode Command (Epson)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Graphics ModeESC (G Ln Hn Pn)27 40 71 Ln Hn Pn1B 28 47 Ln Hn Pn

Use this command to place the printer in graphics mode.

Parameters L_n and H_n

Parameters L_n and H_n are used to designate the number of bytes to follow in the subsequent parameters, where

$$ \text {N u m b e r o f B y t e s} = L _ {n} + \left(H _ {n} \times 2 5 6\right) $$

L_n and H_n can have any value from 0 to 255 decimal. Generally, L_n is set to 1 and H_n is set to 0.

Parameter _n

Parameter P_n sets the graphics mode. It can have a hexadecimal value of 01 or 31.

Note: To cancel the graphics mode, enter the ESC @ command.

Set/Reset Graphics Mode Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Engage Raster Graphics ModeESC DLE G n 127 16 71 n 491B 10 47 n 31
Disengage Raster Graphics ModeESC DLE G n 027 16 71 n 481B 10 47 n 30

Use this command to engage and disengage the graphics mode.

Parameter n

This parameter determines how this command is handled:

$$ \begin{array}{l} n = 0: \text {C o m m a n d i n v a l i d} \ n = 1: \text {d a t a v i d} \ n > 1: \text {d a t a v i d}; \text {d a t a t h a t f o l l o w s i s d i s c a r d e d a f t e r e n t h e c o m m a n d h a s b e e n e x e c u t e d}. \ \end{array} $$

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Print Raster GraphicsESC . PcPvPhPmLnHn [data]27 46 PcPvPhPmLnHn [data]1B 2E PcPvPhPmLnHn [data]

Use this command to print bit-image graphics horizontally.

Parameter P_c

Parameter P_c sets the mode:

$$ P _ {c} = 0: \text {F u l l G r a p h i c s M o d e} $$

$$ P _ {c} = 1: \text {C o m p r e s s e d M o d e} $$

Parameter P_

Parameter P_v sets the vertical dot density:

P_v = 10 : 360 dots per inch (dpi)

P_v = 20:180 dpi

Parameter P_h

Parameter P_h sets the horizontal dot density:

P_h = 10:360 (dpi)

P_h = 20 :180dpi

Parameter P_m

Parameter P_m sets the number of vertical dots.

Table 42: Epson ESC. Command — Valid Range of P_m Values for P_v Values

PvValueValid PmRange
100 to 48
200 to 24

Note: If P_m value is set to 0, graphics will not print.

Parameters L_n and H_n

Parameters L_n and H_n are used to designate the number of horizontal dots to be printed, where

$$ \text {N o . o f d o t s} = L _ {n} + \left(H _ {n} \times 2 5 6\right) $$

For fewer than 256 dots, substitute the number of dots for L_n and set H_n = 0 . For more than 256 dots, divide the number of dots by 256 and assign the whole number result to H_n' then assign the remainder to L_n .

L_n and H_n can have any value from 0 to 255 decimal.

The maximum number of dots allowed depends on the value of P_h and the width of the printer carriage as follows:

Table 43: Epson ESC. Command — Maximum Horizontal Dots for P_h Values

P h ValueModelMaximum Dots
10ML5902880
ML5914896
20ML5901440
ML5912448

Chapter 8: Horizontal Control Commands

This chapter describes the commands for horizontal control including the following:

Backspace/Carriage Return Commands
- Print Position Commands
- Margin Setting Commands
- Uni-directional Printing Commands
Horizontal Tab Commands
- Incremental Printing Commands
- Indent Commands
- Justification Commands

Backspace & Carriage Return Commands (IBM/E/ML)

ML320 E/I, ML321 E/I
ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo
ML390 Turbo, ML391 Turbo

ML520,ML521
ML590,ML591

FunctionASCIIDecHex
BackspaceBS808
Carriage ReturnCR130D

The backspace command moves the printhead one character to the left. The actual width of the backspace depends on the current pitch. If you're using proportional spacing, the BS command moves the printhead 1/10 to the left.

The carriage return command causes the printer to print data from the print buffer and return the printing position to the beginning of the line. If the printer menu item Auto LF (under Set-Up group) has been set to YES (factory default is NO), the printer automatically adds a line feed to each carriage return.

Margin Setting Commands

Set Left & Right Margins Command (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo
ML390 Turbo, ML391 Turbo

ML520,ML521
ML590,ML591

FunctionASCIIDecHex
Set Left & Right MarginsESC X n m27 88 n m1B 58 n m

In the IBM emulation, the margins set by the Left & Right Margin command are set by character columns. The actual position of the margin depends on the current pitch: a margin of 10 columns will come out as 1'' in 10 cpi and 1/2'' in 20 cpi. If the current pitch is proportional, the margin is set as though it were 10 cpi. However, once you've set a margin, its absolute position remains the same, even if you change the pitch, until you specifically reset the margin. This saves you the work of adjusting margins with every pitch change in your document.

Note: You should always send margin commands at the beginning of a line.

Parameter n

Parameter n sets the left margin and can be any value from 0 to 254. Use a value of 0 if you want to change the right margin only. The default setting for the left margin in the IBM emulation is 1.

Parameter m

Parameter m sets the right margin and can be any value from 0 to 255.

Note: Be sure to specify a right margin that is at least one more than the left margin. The only time you should use a value of 0 for the right margin is if you don't want to change the value for the right margin when you are changing the value for the left margin.

The default settings for the right margin are specified in the table below.

Table 44: IBM ESC X Command — Default Settings for Right Margin

PitchNarrow Carriage ModelsWide Carriage Models
10 cpi/proportional80136
12 cpi96163
15 cpi120204
17.1 cpi137233
20 cpi160255

Left and Right Margin Commands (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Set Left MarginESC I n27 108 n1B 6C n
Set Right MarginESC Q n27 81 n1B 51 n

These commands set the margins by character columns. The actual position of the margin depends on the current pitch: a margin of 10 columns will come out as one inch in 10 cpi and one-half inch in 20 cpi. If the current pitch is proportional, the margin is set as though it were 10 cpi. However, once you've set a margin, its absolute position remains the same, even if you change the pitch, until you specifically reset the margin. This saves you the work of adjusting margins with every pitch change in your document.

Sending the left margin command will cancel any horizontal tab stops you may have set, returning the printer to its default setting (tab stops every eight columns).

You should always send margin commands at the beginning of a line.

Parameter n

This parameter can range in value from 0 to 254 for the left margin and from 1 to 255 for the right margin.

Note: You must always specify a right margin that is at least one more than the left margin.

Table 45: Epson ESC L and ESC Q Commands — Range of Margin Settings, All 9-Pin Printers

PitchML320 E/I, ML320 Turbo, ML520ML321 E/I, ML321 Turbo, ML521
LeftRightLeftRight
10 cpi0-791-800-1351-136
12 cpi0-951-960-1621-163
17.1 cpi0-1361-1370-2321-233
20 cpi0-1591-1600-2541-255
Proportional0-791-800-1351-136

Table 46: Epson ESC L and ESC Q Commands — Range of Margin Settings, 24-Pin Models ML390/391 Turbo

PitchML390 TurboML391 Turbo
LeftRightLeftRight
10 cpi0-704-800-1264-136
12 cpi0-845-960-1515-163
15 cpi0-1056-1200-1896-204
17.1 cpi0-1197-1370-2157-233
20 cpi0-1408-1600-2528-255
Proportional0-1408-1600-2528-255

Table 47: Epson ESC L and ESC Q Commands — Range of Margin Settings, 24-Pin Models ML590/591

PitchML590ML591
LeftRightLeftRight
10 cpi0-764-800-1324-136
12 cpi0-915-960-1585-163
15 cpi0-1146-1200-1986-204
17.1 cpi0-1307-1370-2267-233
20 cpi0-1528-1600-2558-255
Proportional0-764-800-1324-136

Left and Right Margin Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Set Left MarginESC % C n1 n2 n327 37 67 n1 n2 n31B 25 43 n1 n2 n3
Set Right MarginESC % R n1 n2 n3 n427 37 82 n1 n2 n3 n41B 25 52 n1 n2 n3 n4

In the MICROLINE Standard emulation, margins for these commands are measured in units of 1/120" from the leftmost printing position.

Left Margin Parameters n_1, n_2, n_3

Parameters n_1, n_2, n_3 represent a three-digit ASCII number for the value of the location for the left margin. If the value you wish to assign to the left margin is 99 or less, use zero for the first digit.

Right Margin Parameters n_1, n_2, n_3, n_4

Parameters n_1, n_2, n_3, n_4 represent a four-digit ASCII number for the value of the location for the right margin. If the value you wish to assign is less than four digits, use zeros for the first digit(s). The right margin must be at least 60 units greater than the left margin. If no left margin has been set, the minimum value for the right margin is 60 units.

You must set the right margin before sending any data for the line on which it is to take effect.

The Maximum Margin Values table below lists the widest allowable margins.

Table 48: ML ESC % C and ESC % R Commands — Maximum Margin Values

ModelLeft Margin n ValueRight Margin n Value
ML320 Std., ML320 Turbo, ML52008990960
ML321 Std., ML321 Turbo, ML52109991632

For example, suppose you want to set one-inch margins on a standard 8-1/2" page. The left margin will be 120120 from the leftmost position, so the command to set it is:

LPRINT CHR$ (27); "%C"; "120"

The right margin is 7-1/2", or 900/120" from the leftmost position, so the command to set it is:

LPRINT CHR$ (27); "%R"; "0900"

Horizontal Tab Commands

Execute Horizontal Tab Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Execute Horizontal TabHT909

When you turn on your printer, its tab stops are automatically set for every eight columns. Each time you send the tab character (HT), the printhead moves eight columns to the right before printing the next character.

Set Horizontal Tab Command (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Set Horizontal TabESC D n1 n2 ... nk NUL27 68 n1 n2 ... nk 01B 44 n1 n2 ... nk 00

This command lets you set horizontal tab stops at specific columns on the page. As with margins, the actual position of the stops depends on the pitch you're using, and won't change if you switch to a different character width. Be sure to give the stops in ascending order. After you have specified all the stops, end the sequence with a NUL character (use CHR$(0) in BASIC).

If you send the command as ESC D NUL, with no stops specified, all horizontal tab stops will be cleared, including the 8-column default stops. Turning the printer off and on again restores the printer's default tab stops.

Table 49: IBM/Epson ESC D Command — Maximum Number of Horizontal Tab Stops

EmulationMax. Tab Stops
IBM28
Epson32

Table 50: IBM/Epson ESC D Command — Maximum Values for Horizontal Tab Stops

PitchNarrow Carriage modelsWide Carriage Models
10 cpi/proportional79135
12 cpi95162
15 cpi*119203
17.1 cpi136232
20 cpi159255
  • 15 cpi available only on ML390/391 Turbo, ML520/521 and ML590/591.

Set Tabs by Character Space Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Set Horizontal Tab by CharactersESC HT x1y1z1... x16y16z16 CR27 9 x1y1z1... x16y16z16 131B 09 x1y1z1... x16y16z16 OD

This command can be used to set up to 16 horizontal tab stops at the intervals of your choice. The actual distance represented by the tab depends on the character pitch in effect when the printer receives the HT command.

The tab information must be entered as three-digit ASCII numbers (xyz) separated by commas, and must be in ascending order. For tabs less than 100, enter a zero for the x and/or y digits as appropriate.

For example, suppose you wish to set tabs at the 5th, 10th, 15th and 20th columns. The value for x_1y_1z_1 would be 005; the value for x_2y_2z_2 would be 010, etc. So, you would enter the BASIC statement

LPRINT CHR\( (27);CHR\) (09);"005,010,015,020";CHR\) (13)

Here are the maximum values for x_ny_nz_n for each pitch and printer model:

Table 51: ML ESC HT Command — Maximum Values for x_ny_nz_n

PitchMaximum xyzwMaximum xyzw
ML320ML520ML321ML521
10 cpi80080136136
12 cpi96096163163
15 cpi*N/A120N/A204
17.1 cpi137137233233
20 cpi160160272272
  • 15 cpi applies only to ML520 and ML521.

Set Tabs by Dot Columns Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Set Horizontal Tab by Dot ColumnsESC ETX x1y1z1w1 ... x16y16z16w16 CR27 3 x1y1z1w1 ... x16y16z16w16 131B 03 x1y1z1w1 ... x16y16z16w16 0D

This command can be used to set up to 16 horizontal tab stops at the intervals of your choice. Setting tabs by dot columns gives you more precise control than setting tabs by character space.

The distance represented by the tab (distance from the center of one dot to the center of the next dot) depends on the character pitch in effect when the printer receives the HT command, as follows:

Table 52: MML ESC ETX Command — Shift Increment for Character Pitches

PitchIncrement of Shift
10 cpi1/120"
12 cpi1/144"
15 cpi*1/180"
17.1 cpi1/206"
20 cpi1/240"
Proportional1/120"
  • 15 cpi applies only to ML520 and ML521.

The tab information must be entered as four-digit ASCII numbers separated by commas, and must be in ascending order. For tab values less than 1000, enter a zero for the x, y and/or z digits as appropriate.

For example, suppose you want to set tabs by dot columns at (1/2", 2", 4",) and (6") from the left margin, using 12 cpi pitch. From the table above, at 12 cpi pitch, each dot produces a shift of (1/144". So, to move over (1/2") from the home position (0001, or (1/144" )), the value would be 0071 ([1/2 x 144 dpi] - 1); for (2",) the value would be 0287; for (4", 0575; ) and for (6", 0863). To set these tabs enter the BASIC statement

LPRINT CHR(27); CHR (3); "0071,0287,0575,0863"; CHR$ (13)

Here are the maximum values for x_ny_nz_nw_n for each pitch and printer model:

Table 53: ML ESC ETX Command — XYZW Values for Setting Horizontal Tabs

Maximum xyzwMaximum xyzw
PitchML320ML520ML321ML521
10 cpi0959096016311632
12 cpi1151115219561956
15 cpi*N/A1440N/A2448
17.1 cpi1643164427952796
20 cpi1917192032613264
  • 15 cpi applies only to ML520 and ML521.

Note: Using the maximum value for the x_ny_nz_nw_n tab setting may not leave enough room between the tab stop and the right margin for a full character to print.

Clear Horizontal Tab Settings Commands (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionIBMEpson
Clear Horizontal TabASCII: ESC D NUL NUL Dec: 27 68 0 0 Hex: 1B 44 00 00ASCII: ESC D NUL NUL Dec: 27 68 0 0 Hex: 1B 44 00 00
Reset Horizontal Tabs to DefaultASCII: ESC R Dec: 27 82 Hex: 1B 52Not applicable

In the IBM emulation, the ESC D NUL command will clear all horizontal tabs, including the default tabs. In the Epson and MICROLINE Standard emulations, these commands will clear out the tab settings and return the printer to the default horizontal tab settings (every eight spaces).

Clear Horizontal Tab Settings Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Clear Horizontal Tabs Set by CharactersESC HT CR27 9 131B 09 0D
Clear Horizontal Tabs Set by Dot ColumnsESC ETX 0 CR27 3 48 1411B 3 30 8D

Horizontal Print Position Commands

Indent from Left Margin Command (IBM/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML320 Std., ML321 Std.

FunctionASCIIDecimalHexadecimal
Indent from Left MarginESC % B n1 n2 n3 n427 37 66 n1 n2 n3 n41B 25 42 n1 n2 n3 n4

This command causes the printing to be indented from the left margin by the number of dot columns you specify (relative to home position, 0001).

The distance of the shift depends on the pitch engaged:

Table 54: IBM/ML ESC % B Command — Shift Increments for Left Margin Indents

PitchIncrement of Shift
10 cpi1/120"
12 cpi1/144"
15 cpi1/180"
17.1 cpi1/206"
20 cpi1/240"
Proportional1/120"

Parameters n_1 through n_4

These parameters represent a four-digit ASCII number. If the value you wish to assign is less than four digits, use zeros for the first digit(s). The value is calculated relative to the home position which is 0001 in from the left margin.

For example, suppose you wish to indent 1" from the left margin, using 12 cpi pitch. The print position will be indented 143/144" from the home position (1/144"), so the command to set it is:

LPRINT CHR$ (27) ; "%B"; "0144"

This command will be ignored if you set the print position outside either margin.

Set Multiple Print Positions Command (IBM/E/ML)

ML320 Turbo, ML321 Turbo ML520, ML521
ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBMEpsonML
Set Multiple Print Positions CommandASCII: ESC DLE @ PnA1 A2 P1 P2 P3 P4Dec: 27 16 64 PnA1 A2 P1 P2 P3 P4Hex: 1B 10 40 PnA1 A2 P1 P2 P3 P4ASCII: ESC DLE @ PnA1 A2 P1 P2 P3 P4Dec: 27 16 64 PnA1 A2 P1 P2 P3 P4Hex: 1B 10 40 PnA1 A2 P1 P2 P3 P4ASCII: ESC DLE @ Pn a1 a2P1 P2 P3 P4Dec: 27 16 64 Pn a1 a2 P1P2 P3 P4Hex: 1B 10 40 Pn a1 a2 P1P2 P3 P4

This command is used to move the print position either to the right or to the left, either as an absolute print position or a relative print position.

value = 0 to 255 for ML390/391 Turbo & ML590/591

Parameter a_1

This parameter establishes whether the print position is absolute or relative:

a_1 = 0 : Absolute print position
a_1 = 1 : Relative print position

Parameter a_2

This parameter determines whether the movement will be to the left or right:

a_2 = 0 : Move to right (forward)
a_2 = 1 Move to left (backward)

These parameters represent a four-digit ASCII number for the value of the amount of movement to take place. If the value you wish to assign is less than four digits, use zeros for the first digit(s). The actual amount of movement depends on the pitch engaged:

Table 55: IBM/E/ML ESC DLE @ Command — Shift Increments for 9-Pin Models

PitchShift Increment
10 cpi1/240"
12 cpi1/288"
15 cpi1/360"
17.1 cpi1/411"
20 cpi1/480"
Proportional1/240" for IBM & Epson, same as the corresponding value for each cpi for ML Std.

Table 56: IBM/E/ML ESC DLE @ Command — Shift Increments for 24-Pin Models

Print QualityShift Increment
Letter Quality1/360"
Utility1/240"

Suppose you have your pitch set at 20 cpi and want your ML 520 printer to move to a relative dot position (a_1 = 1) 1" backwards (a_2 = 1) . From the table above, at 20 cpi your shift will be in increments of 1/480" , so the value of P_1P_2P_3P_4 would be 0480. Send the BASIC statement

LPRINT CHR(27);CHR(16); "@"; "1"; "1"; "0480"

The table below gives the maximum values which can be designated for P_1P_2P_3P_4 for each model printer, for each pitch, with the default margins engaged.

Note: If you send a location value outside the set left or right margin, this command will be ignored.

Table 57: IBM/E/ML ESC DLE @ Command — Maximum P_1P_2P_3P_4 Values for 9-Pin Models

PitchML320 Turbo, ML520ML321 Turbo, ML521
10 cpi19203264
12 cpi23043916
1528804896
17.132915595
20 cpi38406528

Table 58: IBM/E/ML ESC DLE @ Command — Maximum P_1P_2P_3P_4 Values for 24-Pin Models

Print QualityML390 Turbo, ML590ML391 Turbo, ML591
Letter Quality22804896
Utility19203264

Set Relative Dot Position Command (IBM)

ML320 Turbo,ML321 Turbo ML520,ML521

FunctionASCIIDecHex
Set Relative Dot PositionESC | LnHn27 124 LnHn1B 7C LnHn

This command lets you move the print position very precisely to either the right or the left of the current print position. Overscore and underline characters don't print in the space between the two positions.

Parameters L_n and H_n

These parameters set the amount and direction of the movement. To determine their value, first decide the distance you want to move the text or graphics, in dots, based on 120 dots per inch.

If you want to move to the right, multiply the distance by 120 dpi, then divide the result by 256. Assign the whole number result to H_n and the remainder to L_n . For example, to move 3" to the right: (3 × 120) / 256 = 1 with a remainder of 104, so H_n = 1 and L_n = 104 .

If you want to move to the left, multiply the distance you wish to move by 120 dpi, then subtract the result from 65536. Take that value and divide it by 256: assign the whole number result to H_n and the remainder to L_n . For example, to move 3" to the left:

$$ 3 \times 1 2 0 = 3 6 0 $$

$$ 6 5 5 3 6 - 3 6 0 = 6 5 1 7 6 $$

$$ 6 5 1 7 6 / 2 5 6 = 2 5 4 \left(\mathrm {H} _ {\mathrm {n}}\right), \text {w i t h a r e m a i n d e r o f} 1 5 2 \left(\mathrm {L} _ {\mathrm {n}}\right) $$

Set Relative Dot Position Command (IBM)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Set Relative Dot Position to RightESC d n1 n227 100 n1 n21B 101 n1 n2
Set Relative Dot Position to LeftESC e n1 n227 64 n1 n21B 65 n1 n2

These commands move the printhead to the left or right of the current print position in increments of 1/120 . The number of increments equals n_1 + (n_2 × 255) . The maximum value is 1632.

Set Relative Dot Position Command (Epson)

ML320 E/I, ML321 E/I

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Set Relative Dot PositionESC \ Ln Hn27 92 Ln Hn1B 5C Ln Hn

This command lets you move the print position very precisely to either the right or the left of the current print position. Overscore characters don't print in the space between the two positions.

For the ML390 Turbo and ML391 Turbo printers, this command will move in increments established by the Set Unit command (see Chapter 12). The default basic increment of movement in the LQ mode is 1/80 ; in the Utility mode, 1/120 .

Parameters L_n and H_n

These parameters set the amount and direction of the movement. To determine their value, first decide the distance you want to move the text or graphics, in dots, then multiply the distance by 120 dots per inch. Next, divide the result by 256 Assign the whole number result to H_n and the remainder to L_n .

Set Absolute Dot Position Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Set Absolute Dot PositionESC $ L_n H_n27 36 L_n H_n1B 24 L_n H_n

This command lets you place text or graphics very precisely on the page. It uses the left margin as a reference point, and moves the print position in 1/60 increments.

Parameters L_n and H_

These variables determine the amount of movement. To calculate their values, multiply the distance you wish to move by 60, then divide the result by 256 and assign the whole number result to H_n and the remainder to L_n .

For example:

to move the print position over 2'' :

$$ 2 \times 6 0 = 1 2 0 $$

120 / 256 = 0(H_n) with a remainder of 120(L_n)

to move the print position over 5":

$$ 5 \times 6 0 = 3 0 0 $$

300 / 256 = 1(Hn) with a remainder of 44(Ln)

Move to the Right & Left Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Move to LeftESC % F n1 n2 n3 n427 37 70 F n1 n2 n3 n41B 25 46 F n1 n2 n3 n4
Move to RightESC % E n1 n2 n3 n427 37 69 n1 n2 n3 n41B 25 45 n1 n2 n3 n4

These commands move the print position to the right or to the left of the current position in the amount you specify. Underline characters don't print in the space between the two positions.

These parameters represent a four-digit ASCII number for the value of the amount of movement to take place. If the value you wish to assign is less than four digits, use zeros for the first digit(s). The actual amount of movement depends on the pitch engaged:

Table 59: ML ESC % F and ESC % E Commands — Movement Increments for Pitch Settings

PitchMovement Increments
10 cpi1/120"
12 cpi1/144"
15 cpi1/180"
17.1 cpi1/206"
20 cpi1/240"
ProportionalSame as the corresponding value for each cpi

For example, suppose you have your pitch set at 20 cpi and want your printer to move 1'' to the right. From the table above, at 20 cpi your shift will be in increments of 1/240'' , so the value of n_1n_2n_3n_4 would be 0240 ( 1'' / 1/240'' ). Send the BASIC statement

Note: If you send a location value outside the set left or right margin, this command will be ignored.

Uni-directional Printing Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML*
Uni-directional Printing OnASCII: ESC U 1Dec: 27 85 1Hex: 1B 55 01ASCII: ESC U 1Dec: 27 85 1Hex: 1B 55 01ASCII: ESC -Dec: 27 45Hex: 1B 2D
Uni-directional Printing OffASCII: ESC U 0 Dec: 27 85 0 Hex: 1B 55 00ASCII: ESC U 0 Dec: 27 85 0 Hex: 1B 55 00ASCII: ESC = Dec: 27 61 Hex: 1B 3D
Print Uni-directional for One Line OnlyNot applicableASCII: ESC < Dec: 27 60 Hex: 1B 3CNot applicable

Your printer is designed to maximize speed by printing alternately from the left and right (bi-directional printing), rather than moving the printhead back to the left margin so that each line prints from left to right (uni-directional printing). Use uni-directional printing when precise vertical alignment from line to line is critical.

You can also select uni-directional graphics printing in the printer menu (see "Menu Mode" in your printer manual).

Incremental Printing Commands (IBM/E/ML)

ML320 Turbo, ML321 Turbo
ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Incremental Printing OnESC i 127 105 11B 69 01
Incremental Printing OffESC i 027 105 01B 69 00

The Incremental Printing On command causes the printer to print each individual character as it is received, as opposed to storing information and printing a line at a time. If you have a software application that passes information to the printer one keystroke at a time, this command allows your printer to function as a typewriter.

The print location of the next character is indicated by a red "M" to the left of the printhead on the ribbon shield.

Justification Commands (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Select Left JustificationESC a 027 97 01B 61 00
Select Center JustificationESC a 127 97 11B 61 01
Select Right JustificationESC a 227 97 21B 61 02
Select Full (Left & Right) JustificationESC a 327 97 31B 61 03

These commands let you specify the alignment of text on the page: along the left or right margin, centered between the margins, or along both the left and right margins. When you are using center, right or full justification, the backspace character (ASCII BS, decimal 8) and horizontal tabs won't function. If you're using full justification, use a carriage return only at the end of a paragraph, not at the end of each line.

Chapter 9: Vertical Control Commands

This chapter describes the commands for vertical control including the following:

Page Length Commands
Vertical Position Commands
- Form Feed Command
Top of Form Commands
Line Feed Commands
- Top & Bottom Margin Command
Line Spacing Commands
- Skip Over Perforation Commands
Vertical Tab Commands

Set Page Length Commands

Set Page Length in Inches Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML320 Std., ML321 Std.

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionIBMEpsonML
Set Page Length in InchesASCII: ESC C NUL n Dec: 27 67 0 n Hex: 1B 43 00 nASCII: ESC C NUL n Dec: 27 67 0 n Hex: 1B 43 00 nASCII: ESC G Hn Ln Dec: 27 71 Hn Ln Hex: 1B 47 Hn Ln

This command sets the page length in inches. If you will most often be using one of the standard page lengths available through the printer menu (see "Menu Mode" in your printer manual), it's a good idea to use the printer menu to set the default page length and then use the page length command whenever you wish to change it temporarily.

To set the page length in inches in either the IBM or Epson emulation, use the command ESC C NUL n. This sets the page length in increments of 1" times the value of the variable "n." The value of n can be from 1 to 22.

To set the page length in inches in the MICROLINE Standard emulation, use the command ESC G Hn Ln. This sets the page length in increments of 12 x the value of the variables Hn Ln. Variables Hn Ln represent a 2-digit ASCII number ranging from 00 to 99. For lengths of less than 412 use a zero for Hn. For example, to set a page length of 14 inches, enter the BASIC statement

LPRINT CHR$ (27); "G"; "28"

Set Page Length in Lines Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML320 Std., ML321 Std.

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionIBMEpsonML
Set Page Length in LinesASCII: ESC C nDec: 27 67 nHex: 1B 43 nASCII: ESC C nDec: 27 67 nHex: 1B 43 nASCII: ESC F HnLnDec: 27 70 HnLnHex: 1B 46 HnLn

You can set the page length in either inches or lines. If you will most often be using one of the standard page lengths available through the printer menu (see "Menu Mode" in your printer manual), it's a good idea to use the printer menu to set the default page length and then use the page length command whenever you wish to change it temporarily.

To set the page length by lines in either the IBM or Epson emulation, use the command ESC C

n. The page length will be the result of multiplying the line pitch by the value of the variable "n." In the IBM emulation, the value of n can be from 1 to 255; in the Epson emulation, it can be from 1 to 127. The actual page length will depend on the line spacing engaged.

To set the page length by lines in the MICROLINE Standard emulation, use the command ESC F Hn Ln. The page length will be the result of multiplying the line pitch by the value of the variables Hn Ln. Variables Hn Ln represent a 2-digit ASCII number ranging from 00 to 99. For Hn Ln numbers less than 10, use a zero for Hn. For example, to set a page length of nine lines, enter the BASIC statement

LPRINT CHR$ (27) ; "H" ; "09"

The actual page length will depend on the line pitch engaged.

Set Page Length in Defined Unit Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Set Page Length in Defined UnitESC (C 2 0 Lp Hp)27 40 67 50 48 Lp Hp1B 28 43 32 30 Lp Hp

You can use this command to set the page length in multiples of the line spacing established by the Set Unit command (see Chapter 12).

Parameters L_p and H_p

Parameters L_p and H_p are used to designate the page length, as a multiple of whatever line spacing is engaged:

Page length = [Lp + (Hp × 256)] × line spacing increment engaged

L_p and H_p can have any value from 0 to 255 decimal.

You can set the page length over a range of from 0 to 22 inches. If you will most often be using one of the standard page lengths available through the printer menu (see "Menu Mode" in your printer manual), it's a good idea to use the printer menu to set the default page length and then use this command whenever you wish to change it temporarily.

Form Feed Command (IBM/E/ML)

^+ ML320 E/I, ML321 E/I ^+ ML320 Std., ML321 S

^+ ML320 Turbo, ML321 Turbo ^+ ML390 Turbo, ML391 Turbo

^+ ML520,ML521 ^+ ML590,ML591

FunctionASCIIDecHex
Form FeedFF120C

When you send a form feed command, the printer prints any data that is in its buffer, and the print position moves to the top of the next page. You can also use the FORM FEED button on the control panel to feed a page through the printer.

Line Feed Commands

Line Feed with Carriage Return Command (IBM/E/ML)

^+ ML320 E/I, ML321 E/I ^+ ML320 Std., ML321 Std.

^+ ML320 Turbo, ML321 Turbo ^+ ML390 Turbo, ML391 Turbo

^+ ML520,ML521 ^+ ML590,ML591

FunctionASCIIDecHex
Line Feed, with Carriage ReturnLF100A

This command makes the printer print a line, then moves the print position down one line and executes a carriage return, putting the print position at the left margin. The amount of vertical movement depends on the current line spacing. (See "Line Spacing," below for details.) In the IBM and Epson emulations, this command cancels one-line double width printing.

Line Feed without Carriage Return Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDECHex
Graphics Line Feed, without Carriage ReturnESC DC227 181B 12

This command drops the printing down a line without returning to the left margin. This makes it possible to overstrike a line of printing or create special effects such as double underlines.

Line Feed & Carriage Return Selection Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Line Feed & Carriage ReturnESC ? n :25 63 n 581B 3F n 3A

This command performs a number of different carriage return/line feed combinations, depending on the value of n:

Table 60: ML ESC ? Command — Carriage Return/Line Feed Codes for n Values

Value of nOperation
33Carriage return only
34Forward line feed, no carriage return
35Forward line feed with a carriage return
48Reverse line feed, no carriage return
49Reverse line feed with a carriage return

Fine Line Feed Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520, ML521

FunctionIBMEpsonML
Perform n/216" Line FeedASCII: ESC J nDec: 27 74 nHex: 1B 4A nASCII: ESC J nDec: 27 74 nHex: 1B 4A nNot applicable
Perform n/144" Line FeedASCII: ESC % 5 nDec: 27 37 53 nHex: 1B 25 35 nASCII: ESC % 5 nDec: 27 37 53 nHex: 1B 25 35 nASCII: ESC % 5 nDec: 27 37 53 nHex: 1B 25 35 n

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBMEpsonML
Perform n/180" Line FeedASCII: ESC J nDec: 27 74 nHex: 1B 4A nASCII: ESC J nDec: 27 74 nHex: 1B 4A nNot applicable
Perform n/360" Line FeedASCII: ESC % 4 nDec: 27 37 52 nHex: 1B 25 34 nASCII: ESC ] nDec: 27 93 nHex: 1B 5D nNot applicable

Unlike the ESC % 5 n command, the ESC J n command is not accompanied by a carriage return, and, in the IBM and Epson emulations, does not cancel one-line double width printing.

In the IBM and Epson simulations, the value of n can be any whole number from 0 to 255.

In the MICROLINE Standard emulation, the value of n can be any whole number from 0 to 127.

If you use n = 0 , no line feed will be performed.

Perform Line Feed Command (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Set Line Feed Stored by ESC A nESC 227 501B 32

The ESC 2 command sets the line feed value stored using the ESC A n command described later in this chapter under "Line Spacing Commands." It must follow the ESC A n command—if it doesn't, the printer will reset the line spacing to the current menu setting.

Auto Line Feed On/Off Commands (IBM)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Auto Line Feed OnESC 5 127 53 11B 35 01
Auto Line Feed OffESC 5 027 53 01B 35 00

When you activate automatic line feed, the printer will add a line feed to each carriage return code it receives. You can also control this feature through the printer menu (see "Menu Mode" in your printer manual).

Reverse Line Feed Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML320 Std., ML321 Std.

ML590,ML591

FunctionIBMEpsonML
9-Pin Models
Reverse Line FeedASCII: ESC ]Dec: 27 93Hex: 1B 5DSet in multiples of 1/216": see command belowASCII: ESC LF Dec: 27 10 Hex: 1B 0A
n/216" Reverse Line FeedNot applicableASCII: ESC j nDec: 27 106 nHex: 1B 6A nNot applicable
24-Pin Models
n/180" Reverse Line FeedNot applicableASCII: ESC j nDec: 27 106 nHex: 1B 6A nNot applicable

Use the reverse line feed command to move the print position up instead of down. Be careful when using reverse line feeds with the optional pull tractor: print registration may be affected.

In the Epson emulation, the reverse line feed command causes the printer to finish printing the line, then move the print position up an amount equal to n/216": n can be any whole number from 0 to 255. If you use n = 0, the command will be ignored. No carriage return is executed, regardless of the setting for Auto CR in the menu (see "Menu Mode" in your printer manual).

Line Spacing Commands

General Line Spacing Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBM PPRIBM AGMEpsonML
Set Line Spacing to 1/6"Not applicableNot applicableASCII: ESC 2ASCII: ESC 6
Dec: 27 50Dec: 27 54
Hex: 1B 32Hex: 1B 36
Set Line Spacing to 1/8"ASCII: ESC 0ASCII: ESC 0ASCII: ESC 0ASCII: ESC 8
Dec: 27 48Dec: 27 48Dec: 27 48Dec: 27 56
Hex: 1B 30Hex: 1B 30Hex: 1B 30Hex: 1B 38
Set Line Spacing to 7/72"ASCII: ESC 1ASCII: ESC 1ASCII: ESC 1Not applicable
Dec: 27 49Dec: 27 49Dec: 27 49
Hex: 1B 31Hex: 1B 31Hex: 1B 31

The most common line spacings for text are six and eight lines per inch (lpi). A spacing of 8 lpi works well with compressed character pitches, and lets you fit more lines on a page. In the IBM and Epson emulations you can also set a line spacing of 7/72" .

Fine-Increment Line Spacing Commands for 9-Pin Printers (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionIBMEpsonML
Set Line Spacing to n/72"ASCII: ESC A n* Dec: 27 65 n Hex: 1B 41 nASCII: ESC A n Dec: 27 65 n Hex: 1B 41 nNot applicable
Set Line Spacing to n/144"ASCII: ESC % 9 n Dec: 27 37 57 n Hex: 1B 25 39 nASCII: ESC % 9 n Dec: 27 37 57 n Hex: 1B 25 39 nASCII: ESC % 9 n Dec: 27 37 57 n Hex: 1B 25 39 n
Set Line Spacing to n/216"ASCII: ESC 3 n Dec: 27 51 n Hex: 1B 33 nASCII: ESC 3 n Dec: 27 51 n Hex: 1B 33 nNot applicable
  • In the IBM mode, the ESC A n command must be followed by the ESC 2 Perform Line Feed command (described earlier in this chapter) to set the value of n.

These commands let you control vertical movement in very fine increments, which helps with the precise placement of graphics. The actual amount of movement is set by the value of parameter n which can vary, depending on the emulation.

Table 61: IBM/E/ML Fine Increment Line Spacing Commands — Values of Parameter n

IncrementEmulationValues of n
n/72"IBM0 to 255
Epson0 to 85, 128 to 213
n/144"IBM0 to 127
Epson0 to 127
ML0 to 127
n/216"IBM0 to 255
Epson0 to 255

Whenever a value of zero is assigned to n , the line spacing command will be ignored.

ESC A n Line Spacing Command for 24-Pin Printers (IBM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBM PPRIBM AGMEpson
Set Line Spacing to n/60Not applicableASCII: ESC A n Dec: 27 65 n Hex: 1B 41 nASCII: ESC A n Dec: 27 65 n Hex: 1B 41 n
Set Line Spacing to n/72"ASCII: ESC A n* Dec: 27 65 n Hex: 1B 41 nNot applicableNot applicable
  • In the IBM ProPrinter mode, the ESC A n command must be followed by the ESC 2 Perform Line Feed command (described earlier in this chapter) to set the value of n.

This command sets the line spacing to either n/60" or n/72", depending on the emulation selected. The actual amount of movement is set by the value of parameter n which can vary, depending on the emulation:

Table 62: IBM/Epson ESC A Command — Values of Parameter n

IncrementEmulation(s)Values of n
n/60IBM AGM, Epson0 to 127
n/72IBM PPR1 to 255

Whenever a value of zero is assigned to n , the line spacing command will be ignored.

ESC 3 n Line Spacing Command for 24-Pin Printers (IBM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBM PPRIBM AGMEpson
Set Line Spacing to n/180"Not applicableASCII: ESC 3 n**Dec: 27 51 nHex: 1B 33 nASCII: ESC 3 nDec: 27 51 nHex: 1B 33 n
Set Line Spacing to n/216"ASCII: ESC 3 n**Dec: 27 51 nHex: 1B 33 nASCII: ESC 3 n**Dec: 27 51 nHex: 1B 33 nNot applicable

** In the IBM mode, the line spacing increment for the ESC 3 n command is controlled by the Set Vertical Unit commands described below.

This command lets you control vertical movement in fine increments, which helps with the precise placement of graphics.

In the IBM emulations, the increment of the line spacing set by this command is controlled by the Set Vertical Unit commands described below.

The actual amount of movement is set by the value of parameter n which can vary, depending on the emulation:

Table 63: IBM/Epson ESC 3 Command — Values of Parameter n

EmulationValues of n
IBM PPR1 to 255
Epson, IBM AGM0 to 255

Whenever a value of zero is assigned to n , the line spacing command will be ignored.

n/360-Inch Line Spacing Commands for 24-Pin Printers (IBM/E)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionIBM PPREpson
Set Line Spacing to n/360"ASCII: ESC % 8 nDec: 27 37 56 nHex: 1B 25 38 nASCII: ESC [ nDec: 27 91 nHex 1B 5B norASCII: ESC + nDec: 27 43 nHex: 1b 2b n

These commands let you set the line spacing in 1/360 increments for precise placement of graphics. The actual amount of movement is set by the value of parameter n which can vary, depending on the emulation:

Table 64: IBM/Epson n/360" Line Spacing Commands — Values of Parameter n

EmulationValues of n
IBM1 to 255
Epson0 to 255

Whenever a value of zero is assigned to n , the line spacing command will be ignored.

Set Vertical Units (IBM)

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Set Vertical UnitsESC [ \ 4 0 0 0 0 0 n27 91 92 52 48 48 48 48 48 n1B 5B 5C 34 30 30 30 30 30 n

This command defines the vertical spacing units used by the ESC 3 n command in the IBM emulation (described above), as follows:

Table 65: IBM ESC [ \ Command — Values of Parameter n

Values of nSpacing Unit
1801/180"
2161/216"

Vertical Tab Commands

When you turn your printer on, it doesn't have any vertical tab stops. Sending a VT command with no stops set will produce a single line feed.

The commands described below are used to set vertical tab stops. In the Epson and MICROLINE Standard emulations, you have the option of entering a single set of vertical tab stops or of using the electronic Vertical Format Unit (VFU) to program multiple sets of vertical tabs, called channels. The IBM emulation permits you to enter one set of stops, but does not have the VFU feature.

The actual position of the stops depends on the line spacing in effect when you send the command. For example, at 6 lines per inch, a tab stop of 24 will appear four inches from the top of the page, whereas at 8 lines per inch, the stop will be positioned three inches from the top of the page. However, once you've set the vertical tab stops, their position is absolute, and won't move, even if you later change the line spacing.

Execute Vertical Tab Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionASCIIDecHex
Execute Vertical TabVT111B

Set Vertical Tabs Command (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpson
Set Vertical TabsASCII: ESC B n1 n2 ... nk NULDec: 27 66 n1 n2 ... nk 0Hex: 1B 42 n1 n2 ... nk 00ASCII: ESC B n1 n2 ... nk NULDec: 27 66 n1 n2 ... nk 0Hex: 1B 42 n1 n2 ... nk 00

In the IBM and Epson emulations, you can use the ESC B n₁ n₂ ... nₖ NUL command to set vertical tab stops. Once you've set the stops, each time you issue a VT command, the print position will move down to the next stop position.

Parameters n_1 through n_k

These parameters designate the individual stops. In the IBM emulation, you can set up to 64 stops (n1 through n64 ). In the Epson emulation, you can set up to 16 stops. In both emulations, the value of each n can be any whole number from 1 to 255 (0 to 255 for Models ML390T and ML391T), designating how many lines to skip down to that tab stop. You must enter the stops in increasing order (n_1 > n_2 > n_3, etc.), and end the series with the NUL character.

Clear Vertical Tabs Command (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML590,ML591

FunctionIBM OnlyIBM & Epson
Clear Vertical TabsASCII: ESC RASCII: ESC B NUL
Dec: 27 82Dec: 27 66 0
Hex: 1B 52Hex: 1B 42 00

These commands will delete all vertical tab stops. In the IBM emulation, the ESC R command will reset the tabs to the default settings.

Vertical Format Unit [VFU] Commands (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Set Vertical Format Unit (VFU)ESC b m n1 n2 ... nk NUL27 98 m n1 n2 ... nk 01B 62 m n1 n2 ... nk 00
Select Vertical Tab ChannelESC / n27 47 n1B 2F n

The Epson emulation gives you the option of setting up to eight separate channels of vertical tab stops using the command ESC b m n1 n2 ... nk NUL.

Parameter m

Parameter m designates the channel to which the tab stops are being assigned and can have any whole number value from 0 to 7.

Parameters n_ through n_

Parameters n_1 through n_k designate the individual stops for each channel. You can set up to 16 stops ( n_1 through n_16 ). The value of n can be any whole number from 0 to 255, designating how many lines to skip down to that tab stop. You must enter the stops in increasing order ( n_1 > n_2 > n_3i , etc.), and end the series with the NUL character.

Once you've set up the channels you're using, send the ESC / n command to specify which channel to select (replace n with desired channel number, 0 through 7), followed by the VT command to advance to the next tab stop in the selected sequence.

For example, the following BASIC program will set stops in three channels, and then perform a series of vertical tabs in the different channels:

5 REM Stops in channel 0: lines 10, 20, 30, 40, 50
10 LPRINT CHR(27) ; "b" ; CHR (0) ; CHR(10) ; CHR (20) ; CHR(30) ; CHR (40) ; CHR(50) ; CHR (0)
20 REM Stops in channel 1: lines 5, 15, 35, 45, 55 30 LPRINT CHR(27); "b"; CHR(1); CHR(5); CHR(15); CHR(35); CHR(45); CHR(55); CHR(0)
40 REM Stops in channel 2: lines 12, 24, 48
50 LPRINT CHR\ (27) ; "b"; CHR\ (2) ; CHR\ (12) ; CHR\ (24) ; CHR\ (48) ; CHR\ (0)
60 LPRINT CHR(27);"/";CHR(1): REM Select channel 1
70 LPRINT CHR\(11); "This prints on line 5"
80 LPRINT CHR\ 11);CHR\ 11; "This prints on line 35"
90 LPRINT CHR(27);"/";CHR(2): REM Select channel 2
100 LPRINT CHR\(11); "This prints on line 48"
110 LPRINT CHR\ (27) ;"/";CHR\ (0): REM Select channel 0
120 LPRINT CHR\(11); "This prints on line 50"

In the MICROLINE Standard emulation, the electronic Vertical Format Unit lets you program up to 12 different sets of vertical tabs. You can load a maximum of 54 tab stops into one set of channels. The command DC4 SP...SP n ... SP...SP ? is used to set up the tabs. Then whenever the printer receives a VT code followed by a channel code, it will skip to the next tab stop in that channel.

To load in your selected tabs, follow the DC4 code with one SP code (decimal 32) for each line to be skipped to advance down the point where you want the first tab stop. For example, to advance down three lines, use DC4 SP SP SP. Then enter the value you wish to assign for the channel code n, taken from the table below. Next add more SP codes equal to the number of lines to be skipped down to the next tab stop, followed by the next channel code value. Continue this process until you've entered all the stops you want (up to a maximum of 12) for that channel. Add enough spaces at the end of the sequence so that the number of spaces in the sequence equals the number of lines on your page. Follow this with the ? character (decimal 63).

Once you've set up the channels, send the VT n command to execute a vertical tab to the next stop in the channel code sequence specified by n.

Table 66: ML VFU Commands — Usable Channel Codes for Parameter n

ASCII123456789:;<
Dec495051525354555657585960

Vertical Position Commands

Skip Down Command (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Skip Down Selected Number of LinesESC VT Hn Ln27 11 Hn Ln1B 0B Hn Ln

The skip down command makes it easy to move rapidly down a page. This is a useful feature when you are creating headings or filling in forms. The variables H_nL_n represent a 2-digit ASCII number from 00 to 99 which allows you to skip up to 99 lines; a value of 00 for H_nL_n in the command results in no line feed.

Set Relative Vertical Position Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Set Relative Vertical Print PositionESC (v Ln Hn Lp Hp)27 40 118 Ln Hn Lp Hp1B 28 76 Ln Hn Lp Hp

This command lets you move the print position very precisely either upward (up to 0.5-inch) or downward (up to 46.2 inches) from the current print position, in increments established by the Set Unit command (see Chapter 12).

Parameters L_n and H_n

Normally L_n is set to 2 and H_n is set to 0.

Parameters L_p and H_p

These parameters can have a value of 0 to 255 and are used to set the actual amount of vertical movement, using the following equation:

[Lp + (Hp × 256)] increment set by ESC (U L n H n P n command

For reverse (upward) movement, set bit 6 of H_p to 1. For forward (downward) movement, set bit 6 of H_p to 0.

Table 67: Epson ESC ( v Command — Hexadecimal Values for L_p H_p

1/360"1/180"1/120"1/90"1/72"1/60"
Forward0001-3FFF0001-207F0001-15AA0001-103F0001-0CFF0001-0AD5
Reverse7F40-7FFF7FA7-7FFF7FC5-7FFF7FD4-7FFF7FDD-7FFF7FE3-7FFF

Notes: If the reverse line feed value exceeds the Top of Form position or the top margin, the print position will start at the TOF or top margin position.

If the forward line feed value exceeds the bottom margin, the print position will start at the top margin position on the following page. If Skip Over Perforation is set and the forward line feed value exceeds the skip over perforation area, the print position will start at the Top of Form position on the next page.

Set Absolute Vertical Position Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Set Absolute Vertical Print PositionESC (V Ln Hn Lp Hp)27 40 86 Ln Hn Lp Hp1B 28 56 Ln Hn Lp Hp

This command lets you place text or graphics very precisely on the page. It uses the top margin as a reference point, and moves the print position in increments established by the Set Unit command (see Chapter 12).

Parameters L_n and H_n

Normally L_n is set to 2 and H_n is set to 0.

Parameters L_p and H_p

These parameters are used to set the actual amount of vertical movement, using the following equation:

$$ \left[ L _ {p} + \left(H _ {p} \times 2 5 6\right) \right] \times \text {i n c r e m e n t s e t b y E S C (U L} _ {n} H _ {n} P _ {n} \text {c o m m a n d} $$

Top of Form Commands (IBM/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML390 Turbo, ML391 Turbo

ML520,ML521

ML590,ML591

FunctionIBMML
Set Top of FormASCII: ESC 4ASCII: ESC 5
Dec: 27 52Dec: 27 53
Hex: 1B 34Hex: 1B 35

When you send these commands, a new top of form is set at the current position of the printhead. In both emulations, you can also set a new top of form using the front panel (see "Top of Form" in the index of your printer manual).

Set Page Format Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Set Top & Bottom MarginsESC ( c 2 0 L_t H_t L_b H_b27 40 99 50 48 L_t H_t L_b H_b1B 28 63 32 30 L_t H_t L_b H_b

This command is used to set the top and bottom margins as a multiple of the line spacing increment established by the Set Unit command (see Chapter 12)..

Parameters L_t and H_t

Parameters L_t and H_t are used to set the top margin, as a multiple of whatever line spacing is engaged:

Top margin = [L_t + (H_t × 256)] × line spacing increment engaged

L_t and H_t can have any value from 0 to 255 decimal.

Note: The top margin must be set at a value less than the bottom margin.

Parameters L_b and H_b

Parameters L_b and H_b are used to set the top margin, as a muliple of whatever line spacing is engaged:

Bottom margin = [L_b + (H_b × 256)] x line spacing increment engaged

L_b and H_b can have any value from 0 to 255 decimal.

Note: The bottom margin must be set at a value greater than the top margin and less than the page length.

Skip Over Perforation Commands

Skip Over Perforation On/Off Commands (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Skip Over Perforation OnESC N n27 78 n1B 4E n
Skip Over Perforation OffESC O27 791B 4F

If the skip over perforation is set to Yes (factory default is No) on the menu, the printer will automatically skip an inch from the bottom of one page to the top of the next.

This command changes the number of lines skipped at the bottom of the page for the IBM and Epson emulations.

Parameter n

This parameter sets the amount of the skip. "n" is any whole number from 1 to 255 for both emulations and all models except the ML390 Turbo and ML391 Turbo: for the Epson emulation in the ML390/391 Turbo printers, "n" is any whole number from 1 to 127.

The amount of skip is calculated by multiplying the current line spacing by the value of n. Once you've set the amount of skip, it won't increase or decrease if you change the line spacing.

To return the perforation skip to its default setting, enter the command ESC O.

Skip Over Perforation On/Off Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Skip Over Perforation OnESC % S 127 37 83 491B 25 53 31
Skip Over Perforation OffESC % S 027 37 83 481B 25 53 30

If the skip over perforation is set to Yes (factory default is No) on the menu, the printer will automatically skip an inch from the bottom of one page to the top of the next.

Chapter 10: Bar Code Commands for 9-Pin Printers

9-Pin models ML320 Turbo, ML321 Turbo, ML520 and ML521 incorporate eight bar codes in both the Epson FX and IBM emulations:

Code 39

  • UPC* E

Code 128

EAN**8

Interleaved 2 of 5

EAN**13

  • UPC* A

Postnet

*UPC = Universal Product Code

**EAN = European Article Numbering

These commands are the same as those given in Chapter 11 for the 24-pin printers; however, the values for the various parameters are different for the 24-pin printers.

Note: 9-pin models ML320 Epson/IBM, ML321 Epson/IBM, ML320 Standard and ML321 Standard do NOT have bar code commands

Bar Code Commands

ML320 Turbo, ML321 Turbo

ML520,ML521

FunctionASCIIDecHex
Select Bar Code Type and SizeESC DLE A m n1 ... n827 16 65 m n1 ... n81B 10 41 m n1 ... n8
Print Bar Code DataESC DLE B m n [data]27 16 66 m n [data]1B 10 42 m n [data]
Print Postnet Bar Code DataESC DLE C P1 [data]27 16 67 P1 [data]1B 10 43 P1 [data]

To print bar codes other than Postnet, you must enter two commands:

  • Select Bar Code Type & Size
  • Print Bar Code Data (provides data and initiates printing)

To print Postnet bar codes, use the command ESC DLE C P1 [data] discussed at the end of this chapter.

Code 39 Bar Code Commands

Also known as 3 of 9 Code, Code 39 is used in non-retail applications. Each character has five bars and four spaces. Code patterns have been developed for 44 different alphabetic, numeric and graphic characters. The digits can be any ASCII character from SP to Z (32 to 102 Dec, 20 to 66 Hex).

Select Code 39 Bar Code Command

The command for selecting Code 39 is

$$ E S C D L E A m 2 0 n _ {3} n _ {4} n _ {5} n _ {6} n _ {7} n _ {8} $$

Code 39 Parameter m

Parameter m designated the number of parameters to be set. The value of m is normally set to hexadecimal 08.

Code 39 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2" $$

where the total value must be less than or equal to 25.

Code 39 Parameter _5

This parameter sets the width of the narrow bars in 1/144" increments.

Table 68: IBM/Epson Select Code 39 Command — Narrow Bar Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
11/144"
22/144"
33/144"
44/144"
55/144"
66/144"
77/144"

Code 39 Parameter _6

This parameter sets the width of the narrow space characters in 1/144" increments.

Table 69: IBM/Epson Select Code 39 Command — Narrow Space Widths for Parameter n_6 Values (9-Pin Printers)

Value of n6Character Width
14/144"
25/144"
36/144"
47/144"
58/144"
69/144"
710/144"

Code 39 Parameter n_7

Parameter n_7 is used in combination with parameters n_5 and n_6 to set the width of the wide bars and the wide spaces.

Table 70: IBM/Epson Select Code 39 Command — Wide Bar Widths for Parameter n_5 , n_6 , n_7 Values (9-Pin Printers)

n5=1n5=2n5=3n5=4n5=5n5=6n5=7
n7=14/144"6/144"8/144"10/144"12/144"14/144"16/144"
n7=25/144"7/144"10/14412/144"15/144"17/144"20/144
n7=36/144"9/144"12/144"15/144"18/144"21/144"24/144"
n7=47/144"11/144"14/14418/144"21/144"25/144"28/144"
n7=59/144"13/14417/144"21/144"25/144"29/144"33/144"
n7=610/144"14/14419/144"23/144"28/144"32/144"37/144"
n7=711/144"16/144"21/144"26/144"31/144"36/144"41/144"

Table 71: IBM/Epson Select Code 39 Command — Wide Space Widths for Parameter n_5, n_6, n_7 Values (9-Pin Printers)

n6=1n6=2n6=3n6=4n6=5n6=6n6=7
n7=17/144"9/144"11/144"13/144"15/144"17/144"19/144"
n7=28/144"10/144"13/144"15/144"18/144"20/144"23/144"
n7=39/144"12/144"15/144"18/144"21/144"24/144"27/144"
n7=410/144"14/144"18/144"21/144"25/144"28/144"31/144"
n7=512/144"16/144"20/144"24/144"28/144"32/144"36/144"
n7=613/144"18/144"22/144"27/144"31/144"36/144"40/144"
n7=714/144"19/144"24/144"29/144"34/144"39/144"44/144"

Code 39 Parameters n_5, n_6 , and n_7

Together, parameters n_5 through n_7 are used to calculate the maximum width of Code 39 characters and the start and stop characters by means of the following equation:

$$ [ (n _ {5} \times 5) + n _ {6} + 3 + A ] / 1 4 4 ” $$

The value of A is determined by n_6 and n_7 :

Code 39 Parameter _g

This parameter sets whether or not the readable characters are printed.

n_8 = 0 : print readable characters in Utility mode

n_8 = 1 : print readable characters in NLQ mode

The command for printing Code 39 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Code 128 Bar Code Commands

Code 128 has 128 different characters, each of which can have any one of three different meanings, depending on which code set is engaged:

Table 72: IBM/Epson Select Code 128 Command — Usable Characters for Code Sets (9-Pin Printers)

Code SetCharacters
ASCIIDecHex
ANUL to '0 to 9600 to 60
BDC3 to DLE25 to 12719 to 7F
C0 to 948 to 5730 to 39, in 2-digit pairs

A special code at the beginning indicates which set is engaged: three shift codes are also available for use within the bar code to indicate a change in the code set engaged.

Select Code 128 Bar Code Command

The command for selecting Code 128 is

$$ E S C D L E A m 4 0 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

Which set will be engaged is entered using the Print Code 128 Bar Code Command described below.

Code 128 Parameters n_3 and n_4

These parameters set the vertical length of the bars in 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

Code 128 Parameter n_5

This parameter sets the maximum width of one character in 1/144" increments as follows:

Table 73: IBM/Epson Select Code 128 Command — Character Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
130/144"
245/144"
358/144"
471/144"
584/144"
697/144"
7110/144"

When calculating the width of the printout, you must take into consideration the Start and Stop Code patterns:

Table 74: IBM/Epson Select Code 128 Command — Start and Stop Codes for Parameter n_5 Values (9-Pin Printers)

Value of n5Start CodeStop Code
130/144"32/144"
245/144"45/144"
358/144"58/144"
471/144"71/144"
584/144"84/144"
697/144"97/144"
7110/144"110/144"

Code 128 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing Code 128 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. To indicate which code set to use, use the set letter as the first digit of the data within the command.

Each set has a different check digit.

Table 75: IBM/Epson Print Code 128 Command - Check Digits for Code 128 Code Sets (9-Pin Printers)

Code SetCheck Digit
ASCIIDecHex
Ag10367
BCAN2418
C@6440

Interleaved 2 of 5 Bar Code Commands

Interleaved 2 of 5 bar coding is used mainly in the distribution industry. Two digits are encoded: one in the bars and one in the spaces. Ten characters are encoded, each any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

The sum of the black bars and spaces becomes the maximum width of two characters.

Select Interleaved 2 of 5 Bar Code Command

The command for selecting Interleaved 2 of 5 is

$$ E S C D L E A m 3 0 n _ {3} n _ {4} n _ {5} n _ {6} n _ {7} n _ {8} $$

Interleaved 2 of 5 Parameters _3 and _4

These parameters set the vertical length of the bars in 6 / 72" , as calculated by the equation

$$ \left(n _ {3} \times 1 0\right) + n _ {4} ] \times 6 / 7 2" $$

where the total value must be less than or equal to 25.

Interleaved 2 of 5 Parameter _5

Parameter n_5 is used in combination with parameter n_7 to set the width of one character of the black bars, as follows:

Table 76: IBM/Epson Select Interleaved 2 of 5 Command — Black Bar Width for Parameter n_5 , n_7 Values (9-Pin Printers)

n5=1n5=2n5=3n5=4n5=5n5=6n5=7
n7=111/144"18/144"25/144"32/144"39/144"46/144"53/144"
n7=213/144"20/144"29/144"36/144"45/144"52/144"61/144"
n7=315/144"24/144"33/144"42/144"51/144"60/144"69/144"
n7=417/144"28/144"37/144"48/144"57/144"68/144"77/144"
n7=521/144"32/144"43/144"54/144"65/144"76/144"87/144"
n7=623/144"34/144"47/144"58/144"71/144"82/144"95/144"
n7=725/144"38/144"51/144"64/144"77/144"90/144"103/144"

Interleaved 2 of 5 Parameter _6

Parameter n_6 is used in combination with parameter n_7 to set the width of one character of the spaces, as follows:

Table 77: IBM/Epson Select Interleaved 2 of 5 Command — Space Widths for Parameter n_6 , n_7 Values (9-Pin Printers)

n6=1n6=2n6=3n6=4n6=5n6=6n6=7
n7=126/144"33/144"40/144"47/144"54/144"61/144"68/144"
n7=228/144"35/144"44/144"51/144"60/144"67/144"76/144"
n7=330/144"39/144"48/144"57/144"66/144"75/144"84/144"
n7=432/144"43/144"52/144"63/144"72/144"83/144"92/144"
n7=536/144"47/144"68/144"69144"80/144"91/144"102/144"
n7=638/144"51/144"62/144"75/144"86/144"99/144"110/144"
n7=740/144"53/144"66/144"79/144"92/144"105/144"118/144"

Interleaved 2 of 5 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing Interleaved 2 of 5 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

UPC A Bar Code Commands

UPC bar coding is used in the supermarket industry. UPC A coding contains twelve digits: the first six digits represent the manufacturer, the second six digits identify the product. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select UPC A Bar Code Command

The command for selecting UPC A is

$$ E S C D L E A m 1 0 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

These parameters set the vertical length of the bars in units of 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

UPC A Parameter n_5

This parameter sets the maximum width of one character in 1/144" increments as follows:

Table 78: IBM/Epson Select UPC A Command — Character Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
119/144"
226/144"
333/144"
440/144"
547/144"
654/144"
761/144"

When calculating the width of the printout, you must take into consideration the Start Code pattern, the Center bar pattern, and the Stop Code pattern as shown in the table which follows.

Table 79: IBM/Epson Select UPC A Command — Start/Stop Codes and Center Bar Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Start CodeCenter BarStop Code
16/144"14/144"6/144"
29/144"19/144"9/144"
312/144"24/144"12/144"
415/144"29/144"15/144"
518/144"34/144"18/144"
621/144"39/144"21/144"
724/144"44/144"24/144"

UPCA Parameter _8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing a UPC A bar code is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

UPC E Bar Code Commands

UPC E bar coding is a six-digit variation of UPC A, used for labeling small items. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select UPC E Bar Code Command

The command for selecting UPC E is

$$ E S C D L E A m 1 4 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

UPC E Parameters _3 and _4

These parameters set the vertical length of the bars in units of 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

UPC E Parameter n_5

This parameter sets the maximum width of one character in 1/144" increments as follows:

Table 80: IBM/Epson Select UPC E Command — Character Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
119/144"
226/144"
333/144"
440/144"
547/144"
654/144"
761/144"

When calculating the width of the printout, you must take into consideration the Start Code and Stop Code patterns as shown in the table which follows.

Table 81: IBM/Epson Select UPC E Command — Start and Stop Codes for Parameter n_5 Values (9-Pin Printers)

Value of n5Start CodeStop Code
16/144"15/144"
29/144"21/144"
312/144"27/144"
415/144"33/144"
518/144"39/144"
621/144"45/144"
724/144"51/144"

UPC E Parameter _g

This parameter sets whether or not the readable characters are printed.

n_ = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing a UPC E bar code is

ESC DLE B m [data]

where m designates the number of characters which will follow in the data. A check digit cannot be used with UPC E bar codes.

EAN 8 Bar Code Command s

EAN bar coding is a variation of UPC coding. EAN 8 encodes eight digits. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select EAN 8 Bar Code Command

The command for selecting EAN 8 is

$$ E S C D L E A m 0 1 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

EAN 8 Parameters n_3 and n_4

These parameters set the vertical length of the bars in 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

EAN 8 Parameter n_5

This parameter sets the maximum width of one character in 1/144" increments as follows:

Table 82: IBM/Epson Select EAN 8 Command — Maximum Character Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
119/144"
226/144"
333/144"
440/144"
547/144"
654/144"
761/144"

When calculating the width of the printout, you must take into consideration the left hand guard pattern, the center guard pattern and the right hand guard pattern.

EAN 8 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing an EAN 8 bar code is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

EAN 13 Bar Code Commands

EAN 13 encodes 13 digits and contains the same number of bars as UPC A. The thirteenth digit combined with the twelfth digit provides a code representing a country. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select EAN 13 Bar Code Command

The command for selecting EAN 13 is

$$ E S C D L E A m 0 2 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

EAN 13 Parameters n_3 and n_4

These parameters set the vertical length of the bars in 6 / 72" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 6 / 7 2" $$

where the total value must be less than or equal to 25.

EAN 13 Parameter n_5

This parameter sets the maximum width of one character in 1/144" increments as follows:

Table 83: IBM/Epson Select EAN 13 Command — Maximum Character Widths for Parameter n_5 Values (9-Pin Printers)

Value of n5Character Width
119/144"
226/144"
333/144"
440/144"
547/144"
654/144"
761/144"

When calculating the width of the printout, you must take into consideration the left hand guard pattern, the center guard pattern and the right hand guard pattern.

EAN 13 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing EAN 13 bar codes is

ESC DLE B m [data]

Chapter 10: Bar Code Commands for 9-Pin Printers

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Postnet Bar Code Command

Postnet bar coding is used by the United States Post Office for sorting mail by automated equipment. It incorporates a coding system using five bars and four spaces for each digit.

Select/Print Postnet Bar Code Data Command

The command

ESC DLE C P_1 [data]

selects Postnet bar codes and initiates the printing of the zip code + 4 data which you enter as part of the command. Each digit of data can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex). The data must be the full ZIP + 4 code.

Postnet Parameter P,

Parameter P_1 tells the printer how many bytes of bar code data to expect. Its value can be any ASCII character from NUL to DC4 (1 to 20 Dec, 01 to 14 Hex): any values for P_1 outside this range will cause the data to be ignored.

The print density for Postnet bar codes will be 240 dpi. Printing is accomplished in two print passes with a 1/144" line feed. The bar height will be as follows:

High Bar: 16/144" (eight dots in two passes)

Low Bar: 6/144" (three dots in two passes)

To include the check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Chapter 11: Bar Code Commands for 24-Pin Printers

24-pin models ML390 Turbo, ML391 Turbo, ML590 and ML591 incorporate eight bar codes, in both the Epson LQ and IBM emulations:

Code 39

  • UPC* E

Code 128

EAN 8

  • Interleaved 2 of 5

EAN*13

  • UPC* A

Postnet

*UPC = Universal Product Code

**EAN = European Article Numbering

These commands are the same as those given in Chapter 10 for the 9-pin printers; however, the values for the various parameters are different for the 9-pin printers.

Bar Code Commands

ML390 Turbo, ML391 Turbo ML590, ML591

FunctionASCIIDecHex
Select Bar Code Type and SizeESC DLE A m n1 ... n827 16 65 m n1 ... n81B 10 41 m n1 ... n8
Print Bar Code DataESC DLE B m n [data]27 16 66 m n [data]1B 10 42 m n [data]
Print Postnet Bar Code DataESC DLE C P1 [data]27 16 67 P1 [data]1B 10 43 P1 [data]

To print bar codes other than Postnet, you must enter two commands:

  • Select Bar Code Type & Size
  • Print Bar Code Data (provides data and initiates printing)

To print Postnet bar codes, use the command ESC DLE C P1 [data] discussed at the end of this chapter.

Code 39 Bar Code Command s

Also known as 3 of 9 Code, Code 39 is used in non-retail applications. Each character has five bars and four spaces. Code patterns have been developed for 44 different alphabetic, numeric and graphic characters. The digits can be any ASCII character from SP to Z (32 to 102 Dec, 20 to 66 Hex).

Select Code 39 Bar Code Command

The command for selecting Code 39 is

$$ E S C D L E A m 2 0 n _ {3} n _ {4} n _ {5} n _ {6} n _ {7} n _ {8} $$

Code 39 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

Code 39 Parameter _5

This parameter sets the width of the narrow bars in 1/360" increments.

Table 84: IBM/Epson Select Code 39 Command — Narrow Bar Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
12/360"
24/360"
37/360"
49/360"
512/360"
614/360"
717/360"

Code 39 Parameter _6

This parameter sets the width of the narrow space characters in 1/360" increments.

Table 85: IBM/Epson Select Code 39 Command — Narrow Space Widths for Parameter n_6 Values (24-Pin Printers)

Value of n6Character Width
18/360"
210/360"
313/360"
415/360"
518/360"
620/360"
723/360"

Code 39 Parameter n,

Parameter n_7 is used in combination with parameters n_5 and n_6 to set the width of the wide bars and the wide spaces.

Table 86: IBM/Epson Select Code 39 Command — Wide Bar Widths for Parameter n_5 , n_7 Values (24-Pin Printers)

n5=1n5=2n5=3n5=4n5=5n5=6n5=7
n7=17/360"11/360"17/360"21/360"27/360"31/360"37/360"
n7=29/360"14/360"22/360"27/360"32/360"39/360"47/360"
n7=312/360"18/360"27/360"33/360"42/360"48/360"57/360"
n7=414/360"21/360"32/360"39/360"49/360"56/360"67/360"
n7=517/360"25/360"36/360"45/360"57/360"65/360"77/360"
n7=619/360"28/360"41/360"51/360"64/360"73/360"87/360"
n7=722/360"32/360"47/360"57/360"72/360"82/360"97/360"

Table 87: IBM/Epson Select Code 39 Command — Wide Space Widths for Parameter n_6 , n_7 Values (24-Pin Printers)

n6=1n6=2n6=3n6=4n6=5n6=6n6=7
n7=113/360"17/360"23/360"27/360"33/360"37/360"43/360"
n7=216/360"21/360"28/360"33/360"41/360"46/360"53/360"
n7=318/360"24/360"33/360"39/360"48/360"54/360"63/360"
n7=421/360"28/360"38/360"45/360"56/360"63/360"73/360"
n7=523/360"31/360"43/360"51/360"63/360"71/360"80/360"
n7=626/360"35/360"48/360"57/360"71/360"80/360"93/360"
n7=728/360"38/360"53/360"63/360"78/360"88/360"103/360"

Code 39 Parameter _a

This parameter sets whether or not the readable characters are printed

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing Code 39 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Code 128 Bar Code Commands

Code 128 has 106 different characters, each of which can have any one of three different meanings depending on which code set is engaged:

Table 88: IBM/Epson Select Code 128 Command — Characters for Each Code Set (24-Pin Printers)

Code SetCharacters
ASCIIDecHex
ANUL to '0 to 9600 to 60
BDC3 to DLE25 to 12719 to 7F
C0 to 948 to 5730 to 39, in 2-digit pairs

A special code at the beginning indicates which set is engaged: three shift codes are also available for use within the bar code to indicate a change in the code set engaged.

Select Code 128 Bar Code Command

The command for selecting Code 128 is

$$ E S C D L E A m 4 0 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

Which set will be engaged is entered using the Print Code 128 Bar Code Command described below.

Code 128 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0" $$

where the total value must be less than or equal to 25.

Code 128 Parameter _5

This parameter sets the maximum width of one character in 1/360" increments as follows:

Table 89: IBM/Epson Select Code 128 Command — Character Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
155/360"
277/360"
3110/360"
4132/360"
5165/360"
6187/360"
7220/360"

When calculating the width of the printout, you must take into consideration the Start and Stop Code patterns:

Table 90: IBM/Epson Select Code 128 Command — Start and Stop Codes for Parameter n_5 Values (24-Pin Printers)

Value of n5Start CodeStop Code
155/360"62/360"
277/360"88/360"
3110/360"127/360"
4132/360"153/360"
5165/360"192/360"
6187/360"218/360"
7220/360"257/360"

Code 128 Parameter _g

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing Code 128 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. To indicate which set to use (A, B, or C), use the set letter as the first digit of the data within the command.

Each set has a different check digit.

Table 91: IBM/Epson Print Code 128 Command — Check Digits (24-Pin Printers)

Code SetCheck Digit
ASCIIDecHex
Ag10367
BCAN2418
C@6440

Interleaved 2 of 5 Bar Code Commands

Interleaved 2 of 5 bar coding is used mainly in the distribution industry. Two digits are encoded: one in the bars and one in the spaces. Ten characters are encoded, each any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

The sum of the black bars and spaces becomes the maximum width of two characters.

Select Interleaved 2 of 5 Bar Code Command

The command for selecting Interleaved 2 of 5 is

$$ E S C D L E A m 3 0 n _ {3} n _ {4} n _ {5} n _ {6} n _ {7} n _ {8} $$

Interleaved 2 of 5 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

Interleaved 2 of 5 Parameter n_5

Parameter n_5 is used in combination with parameter n_7 to set the width of one character of the black bars, as follows:

Table 92: IBM/Epson Select Interleaved 2 of 5 Command — Black Bar Widths for Parameter n_5 , n_7 Values (24-Pin Printers)

n5=1n5=2n5=3n5=4n5=5n5=6n5=7
n7=120/360"34/360"55/360"69/360"90/360"184/360"125/360"
n7=224/360"40/360"65/360"81/360"100/360"120/360"145/360"
n7=330/360"48/360"75/360"93/360"120/360"138/360"165/360"
n7=434/360"54/360"85/360"105/360"134/360"154/360"185/360"
n7=540/360"62/360"93/360"117/360"150/360"172/360"205/360"
n7=644/360"68/360"103/360"129/360"164/360"188/360"225/360"
n7=750/360"76/360"115/360"141/360"180/360"206/360"245/360"

Interleaved 2 of 5 Parameter n_6

Parameter n_6 is used in combination with parameter n_7 to set the width of one character of the spaces, as follows:

Table 93: IBM/Epson Select Interleaved 2 of 5 Command — Space Widths for Parameter n_6 n_7 Values (24-Pin Printers)

n6=1n6=2n6=3n6=4n6=5n6=6n6=7
n7=150/360"64/360"85/360"99/360"120/360"134/360"155/360"
n7=256/360"72/360"95/360"111/360"136/360"152/360"175/360"
n7=360/360"78/360"105/360"123/360"150/360"168/360"195/360"
n7=466/360"86/360"115/360"135/360"166/360"186/360"215/360"
n7=570/360"92/360"125/360"147/360"180/360"202/360"235/360"
n7=676/360"100/360"135/360"159/360"196/360"220/360"255/360"
n7=780/360"106/360"146/360"171/360"210/360"236/360"275/360"

Interleaved 2 of 5 Parameter _8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing Interleaved 2 of 5 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

UPC A Bar Code Commands

UPC bar coding is used in the supermarket industry. UPC A coding contains twelve digits: the first six digits represent the manufacturer, the second six digits identify the product. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select UPC A Bar Code Command

The command for selecting UPC A is

$$ E S C D L E A m 1 0 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

UPCA Parameter n_5

This parameter sets the maximum width of one character in 1/360" increments as follows:

Table 94: IBM/Epson Select UPC A Command — Character Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
135/360"
249/360"
370/360"
484/360"
5105/360"
6119/360"
7140/360"

When calculating the width of the printout, you must take into consideration the Start Code pattern, the Center bar pattern, and the Stop Code pattern as shown in the table which follows.

Table 95: IBM/Epson Select UPC A Command — Start/Stop Codes and Center Bars for Parameter n_5 Values (24-Pin Printers)

Value of n5Start CodeCenter BarStop Code
112/360"28/360"12/360"
218/360"38/360"18/360"
327/360"53/360"27/360"
433/360"63/360"33/360"
542/360"78/360"42/360"
648/360"88/360"48/360"
757/360"103/360"57/360"

UPCA Parameter _8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing a UPC A bar code is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

UPC E Bar Code Commands

UPC E bar coding is a six-digit variation of UPC A, used for labeling small items. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select UPC E Bar Code Command

The command for selecting UPC E is

$$ E S C D L E A m 1 4 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

UPC E Parameter n_5

This parameter sets the maximum width of one character in 1/360" increments as follows:

Table 96: IBM/Epson Select UPC E Command — Maximum Character Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
135/360"
249/360"
370/360"
484/360"
5105/360"
6119/360"
7140/360"

When calculating the width of the printout, you must take into consideration the Start Code and Stop Code patterns as shown in the table which follows.

UPC E Parameter _g

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing a UPC E bar code is

ESC DLE B m [data]

where m designates the number of characters which will follow in the data. A check digit cannot be used with UPC E bar codes.

EAN 8 Bar Code Commands

EAN bar coding is a variation of UPC coding. EAN 8 encodes eight digits. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select EAN 8 Bar Code Command

The command for selecting EAN 8 is

$$ E S C D L E A m 0 1 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

EAN 8 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (n _ {3} \times 1 0) + n _ {4} ] \times 1 5 / 1 8 0 ” $$

where the total value must be less than or equal to 25.

EAN 8 Parameter n_5

This parameter sets the maximum width of one character in 1/360" increments as follows:

Table 97: IBM/Epson Select EAN 8 Command — Maximum Character Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
135/360"
249/360"
370/360"
484/360"
5105/360"
6119/360"
7140/360"

When calculating the width of the printout, you must take into consideration the left hand guard pattern, the center guard pattern and the right hand guard pattern.

EAN 8 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing an EAN 8 bar code is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

EAN 13 Bar Code Commands

EAN 13 encodes 13 digits and contains the same number of bars as UPC A. The thirteenth digit combined with the twelfth digit provides a code representing a country. The digits can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex).

Select EAN 13 Bar Code Command

The command for selecting EAN 13 is

$$ E S C D L E A m 0 2 n _ {3} n _ {4} n _ {5} 0 0 n _ {8} $$

EAN 13 Parameters n_3 and n_4

These parameters set the vertical length of the bars in units of 15 / 180" , as calculated by the equation

$$ [ (\mathsf {n} _ {3} \times 1 0) + \mathsf {n} _ {4} ] \times 1 5 / 1 8 0 ^ {\prime \prime} $$

where the total value must be less than or equal to 25.

EAN 13 Parameter n_5

This parameter sets the maximum width of one character in 1/360" increments as follows:

Table 98: IBM/Epson Select EAN 13 Command — Maximum Character Widths for Parameter n_5 Values (24-Pin Printers)

Value of n5Character Width
135/360"
249/360"
370/360"
484/360"
5105/360"
6119/360"
7140/360"

When calculating the width of the printout, you must take into consideration the left hand guard pattern, the center guard pattern and the right hand guard pattern.

EAN 13 Parameter n_8

This parameter sets whether or not the readable characters are printed.

n_8 = 1 : print readable characters

n_8 = 0 : do not print readable characters

The command for printing EAN 13 bar codes is

ESC DLE B m [data]

where parameter m designates the number of characters which will follow in the data. If you wish to include a check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Postnet Bar Code Command

Postnet bar coding is used by the United States Post Office for sorting mail by automated equipment. It incorporates a coding system using five bars and four spaces for each digit.

Select/Print Postnet Bar Code Data Command

The command

ESC DLE C P_1 [data]

selects Postnet bar codes and initiates the printing of the zip code + 4 data which you enter as part of the command. Each digit of data can be any ASCII character from 0 to 9 (48 to 57 Dec, 30 to 39 Hex). The data must be the full ZIP + 4 code.

Postnet Parameter P_1

Parameter P_1 tells the printer how many bytes of bar code data to expect. Its value can be any ASCII character from NUL to DC4 (1 to 20 Dec, 01 to 14 Hex): any values for P_1 outside this range will cause the data to be ignored.

The print density for Postnet bar codes will be 240 dpi. Printing is accomplished in two print passes with a 1/144" line feed. The bar height will be as follows:

High Bar: 16/144" (eight dots in two passes)

Low Bar: 6/144" (three dots in two passes)

To include the check digit, enter the ASCII character @ (64 Dec, 40 Hex) at the end of the data.

Chapter 12: Miscellaneous Commands

This chapter describes the following commands:

  • Cancel Command
  • Paper-Out Sensor Commands
  • Change Emulation Command
  • Print Suppress Mode Commands
  • Cut Sheet Feeder Commands
  • Select Color Command
  • Delete Command
  • Set Unit Command
    Half-Speed Printing Command
  • Software I-Prime Command
  • Initialize Printer Commands
  • Stop Printing Command
  • Most Significant Bit Commands

Cancel Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321 Turbo

ML520,ML521

ML320 Std., ML321 Std.

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
CancelCAN2418

This command clears all the data from the print buffer, but does not reset printing features that have been set using control codes.

Change Emulation Command (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

FunctionASCIIDecHex
Change EmulationESC { n27 123 n1B 7B n

This command allows you to change the emulation as follows:

Table 99: IBM/E/ML ESC { Command — Emulations for n Values

Decimal Value of nEmulation
2IBM Proprinter III
33OKIDATA MICROLINE Standard
65Epson

Appendix A: Interfacing

This appendix gives the pin assignments for the parallel and serial interfaces of MICROLINE printers. It also includes the most common serial cable configurations.

Parallel Interface

Note: The parallel cable should be no longer than 6 ft. (1.8m). The cable must be shielded in order to comply with FCC requirements.

Table 102: Pin Assignments for Parallel Interface Signals

PinSignalReturn PinDirection
1Strobe19To Printer
2Data 120To Printer
3Data 221To Printer
4Data 322To Printer
5Data 423To Printer
6Data 524To Printer
7Data 625To Printer
8Data 726To Printer
9Data 827To Printer
10Acknowledge28From Printer
11Busy29From Printer
12Paper end30From Printer
13SelectNo returnFrom Printer
14†Autofeed-To Printer
15Not used--
160VNo returnSignal Ground
17Chassis GroundNo returnFrame Ground
18†+5V*-From Printer
19-300V-Ground
31†I-Prime-To Printer
32Fault-From Printer
330V-Signal Ground
34-35Not used--

† Pins controlled by jumper plugs in the printer.
* 50 mA maximum.

Serial Interface

See your Printer Handbook for serial menu settings

Note: The serial cable should be no longer than 50 ft. (15.25m). The cable must be shielded in order to comply with FCC requirements.

Table 103: Pin Assignments for Serial Interface Signals

PinSignalSymbolDirection
1Protective GroundPG-
2Transmitted DataTDFrom Printer
3Received DataRDTo Printer
4Request to SendTRSFrom Printer
5Not used--
6Data Set ReadyDSRTo Printer
7Signal GroundSG-
8–10Not used--
11Supervisory Send DataSSDFrom Printer
12–19Not used--
20Data Terminal ReadyDTRFrom Printer
21–25Not used--

Commonly Used Serial Cable Configurations

IBM 25-Pin Cable Configuration

OKI ML321TURBO - IBM 25-Pin Cable Configuration - 1

IBM 9-Pin Cable Configuration

OKI ML321TURBO - IBM 9-Pin Cable Configuration - 1

Cut Sheet Feeder (CSF) Commands

CSF Commands (IBM/E)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Insert SheetESC EM I27 25 731B 19 49
Eject SheetESC EM R27 25 821B 19 52

The insert page command feeds a sheet of paper from the cut sheet feeder (CSF) to the top of form position. If CSF paper is already in the printer, the printer will eject the page and load another.

The eject page command prints data in the print buffer and ejects the page. A line feed code (LF) at the end of the page causes the next page to feed into the printer automatically.

Bin Select Command for Dual-Bin CSF (IBM/E)

ML520,ML521
ML590,ML591

FunctionASCIIDecHex
Select Bin 1ESC EM 127 25 491B 19 31
Select Bin 2ESC EM 227 25 501B 19 32

The bin select command chooses the active bin when the optional dual-bin cut sheet feeder is installed.

CSF Commands (ML)

ML320 Std., ML321 Std.

ML320 Turbo, ML321Turbo

ML520,ML521

FunctionASCIIDecHex
Insert SheetESC S27 831B 53
Eject SheetESC V27 861B 56

The insert page command feeds a sheet of paper from the cut sheet feeder (CSF) to the top of form position. If CSF paper is already in the printer, the printer will eject the page and load another.

The eject page command prints data in the print buffer and ejects the page. A line feed code (LF) at the end of the page causes the next page to feed into the printer automatically.

Delete Command (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionASCIIDecHex
Delete One Character CommandDEL1277F

This command deletes the last character sent to the printer. It will not delete graphics data.

Half-Speed Printing Commands (E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321Turbo

ML520,ML521

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionIBMEpsonML
Half-Speed Printing OnNot applicableASCII: ESC s 1Dec: 27 115 49Hex: 1B 73 31ASCII: ESC <Dec: 27 60Hex: 1B 3C
Half-Speed Printing OffNot applicableASCII: ESC s 0Dec: 27 115 48Hex: 1B 73 30ASCII: ESC >Dec: 27 62Hex: 1B 3E

This command controls the speed of printing. Half-speed printing is quieter than full speed.

Initialize Printer Commands (E/ML)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

ML320 Std., ML321 Std.

ML390 Turbo, ML391 Turbo

ML590,ML591

FunctionIBMEpsonML
Initialize PrinterNot applicableASCII: ESC @ Dec: 27 64 Hex: 1B 40ASCII: ESC CAN Dec: 27 24 Hex: 1B 18

These commands remove any data in the printer's buffer and return the printer to the current menu settings. They will override any features set on the printer's front panel or through previous commands. Also known as the initialize printer or reset commands.

Note: In order for this command to be effective, the Reset Inhibit item in the printer Menu must be set to NO (the factory default). If the setting has been changed to YES, this command will be ignored.

Most Significant Bit Commands (Epson)

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

ML390 Turbo, ML391Turbo

ML590,ML591

FunctionASCIIDecHex
Set Most Significant Bit (MSB) to ZeroESC =27 611B 3D
Set MSB to 1ESC >27 621B 3E
Cancel MSB ControlESC #27 351B 23

The ESC = command sets the most significant bit (MSB) of an 8-bit data input to zero. The ESC > command sets the MSB to one. The ESC # command cancels the MSB control established by either command and all data is interpreted exactly as sent from the computer.

Paper-Out Sensor Commands (IBM/E/ML)

ML320 E/I, ML321 E/I

ML320 Std., ML321 Std.

ML320 Turbo, ML321Turbo

ML390 Turbo, ML391Turbo

ML520,ML521

ML590,ML591

FunctionIBMEpsonML
Paper-Out Sensor OnASCII: ESC 9ASCII: ESC 9ASCII: ESC E 0
Dec: 27 57Dec: 27 57Dec: 27 69 48
Hex: 1B 39Hex: 1B 39Hex: 1B 45 30
Paper-Out Sensor OffASCII: ESC 8ASCII: ESC 8ASCII: ESC E 1
Dec: 27 56Dec: 27 56Dec: 27 69 49
Hex: 1B 38Hex: 1B 38Hex: 1B 45 31

The paper-out sensor detects when less than one inch of paper remains (0.5-inch for ML390/391T printers). When this happens, the alarm light goes on and the printer is deselected. This command overrides the sensor so that you can print closer to the bottom of the page. (The feature is also menu selectable.) Be careful if you use this feature, since it lets the printer continue printing when there's no more paper. This can cause loss of data and may damage the printhead.

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML520,ML521

ML390 Turbo, ML391Turbo

ML590,ML591

FunctionML320 E/I, ML320T, ML520ML321 E/I, ML321T, ML521ML390T, ML590ML391T, ML591
Print Suppress Mode OnASCII: ESC Q ETX Dec: 27 81 3 Hex: 1B 51 03ASCII: ESC Q SYN Dec: 27 81 22 Hex: 1B 51 16ASCII: ESC Q $ Dec: 27 81 36 Hex: 1B 51 24ASCII: ESC Q # Dec: 27 81 35 Hex: 1B 51 23
Print Suppress Mode OffASCII: DC1 Dec: 17 Hex: 11ASCII: DC1 Dec: 17 Hex: 11ASCII: DC1 Dec: 17 Hex: 11ASCII: DC1 Dec: 17 Hex: 11

When the printer receives the command to begin Print Suppress mode, it ignores all data until it receives the DC1 code. This means that any data will be lost. The SEL light blinks when the printer is in the Print Suppress mode. These commands will only work if the Print Suppress Effective item in the printer menu is set to Yes (the factory default).

ML320 E/I, ML321 E/I

ML320 Turbo, ML321Turbo

ML590, ML591

ML320 Std., ML321 Std.

ML390 Turbo, ML391Turbo

ML520,ML521

FunctionASCIIDecHex
Print Suppress Mode OnDC31913
Print Suppress Mode OffDC11711

When the printer receives the command to begin Print Suppress mode, it ignores all data until it receives the DC1 code. This means that any data will be lost. The SEL light blinks when the printer is in the Print Suppress mode. These commands will only work if the Print Suppress Effective item in the printer menu is set to Yes (the factory default).

Select Color Command (IBM/E)

ML590,ML591

FunctionASCIIDecHex
Select ColorESCR n27 114 n1B 72 n

This command selects the color that will print when the printer has a color ribbon installed and the menu is set to any setting other than "Black Ribbon."

Table 100: IBM/Epson ESC r Command — Color Selections for n Values

Value of nColor
0Black
1Magenta
2Cyan (blue)
3Violet
4Yellow
5Orange
6Green

Set Unit Command (Epson)

ML390 Turbo, ML391 Turbo

FunctionASCIIDecHex
Set Increment of MovementESC (U Ln Hn Pn27 40 85 Ln Hn Pn1B 28 55 Ln Hn Pn

This command is used to set the increment of movement used in conjunction with the following commands:

ESC (c L_nH_nL_tH_tL_bH_b Set Page Format (see Chapter 9)

ESC ( C 20 Lp Hp Set Page Length in Defined Unit (see Chapter 9)

ESC L_nH_n Set Relative Horizontal Dot Position (see Chapter 8)

ESC (V L n H n L p H p Set Absolute Vertical Position (see Chapter 9)

ESC (v Ln Hn Lp Hp Set Relative Vertical Position (see Chapter 9)

Parameters L_n and H_n

Parameters L_n and H_n are used to designate the quantity of data, as follows:

$$ L _ {n} + (H _ {n} \times 2 5 6) $$

Parameter _n

Parameter P_n sets the increment of movement. It can have any value from 0 to 255.

Table 101: Epson ESC ( U Command — Increments of Movement for P_n Values

PnIncrement
0 to 9Unchanged
10 to 191/360"
20 to 2911/80"
30 to 391/120"
40 to 491/90"
50 to 591/72"
60 to 691/60"
70 to 255Unchanged

Software I-Prime Command (IBM/E/ML)

ML320 Turbo, ML321 Turbo

ML520,ML521

ML390 Turbo, ML391Turbo

ML590,ML591

FunctionASCIIDecHex
Software I-PrimeESC} NUL27 125 01B 7D 00

This command clears the print buffer and resets the printer to the default settings, regardless of the setting for the Reset Inhibit item in the printer menu.

If the Cut Sheet Feeder (CSF) is installed, this command will also eject any paper loaded into the printer from the CSF.

Stop Printing Command (IBM)

ML390 Turbo, ML391Turbo

ML590,ML591

FunctionASCIIDecHex
Stop Printing (Deselect)ESC j27 1061B 6A

This command deselects the printer so that it will stop printing. To resume printing, press the SEL switch, or-if "Auto Select" is set to "Yes" in the menu-reload paper.

Appendix B: Listing of Tables

Table 1: Printer Drivers for ML320 Epson/IBM & ML321 Epson/IBM
Table 2: Printer Drivers for ML320 MICROLINE Standard & ML321 MICROLINE Standard ....... 1
Table 3: Printer Drivers for Models ML320 Turbo & ML321 Turbo. 1
Table 4: Printer Drivers for Models ML390 Turbo & ML391 Turbo. 1
Table 5: Printer Drivers for Models ML520 & ML521 2
Table 6: Printer Drivers for Models ML590 & ML591 2
Table 7: Available Drivers 3
Table 8: IBM/ML ESC! Command — International Character Substitutions. 9
Table 9: Epson ESC R Command — International Character Substitutions 10
Table 10: Epson ESC R Command — Code Page Selections for ML390/391Turbo. 10
Table 11: IBM/ML ESC [ T Command — Code Page Parameters. 11
Table 12: Epson 9-Pin ESC ( t Command — Code Page Set for Pn1,Pn2 Values . 12
Table 13: Epson 24-Pin ESC ( t Command — Code Page Set for Pn1,Pn2 Values. 14
Table 14: Pitch Setting Commands — Characters per Line (CPL) for Pitches. 15
Table 15: Epson ESC X Command — Font Substitution for Models ML590 & ML591 17
Table 16: Epson ESC X Command — Character Pitch Settings for P_n Values. 18
Table 17: Epson ESC X Command — Point Sizes for N_p Values 18
Table 18: IBM ESC [ @ Command — Character Height/Line Spacing for n1 Values. 22
Table 19: IBM ESC [ @ Command — Character Width for n₂ Values 22
Table 20: IBM ESC { @ Command — Character Height/Line Spacing for m3 Values 23
Table 20a: IBM ESC { @ Command — Character Width for m_4 Values 23
Table 21: ML ESC & Command — Print Features for n_1 , n_2 , n_3 and n_4 Values 24
Table 22: ML ESC & Command — Variable Factors for n_1, n_2, n_3, n_4 24
Table 23: IBM ESC V and ESC SP & Epson ESC SP Commands — Character Spacing (in Inches) 26
Table 24: ML ESC N Command — Character Spacing (in Inches) 27
Table 25: IBM/Epson ESC k Command — Fonts for n Values. 30
Table 26: IBM ESC I Command — Print Modes Corresponding to n Values for All 9-Pin Models 31
Table 27: IBM ESC I Command — Print Modes Corresponding to n Values for 24-Pin Models ML390T & ML391T 31
Table 28: IBM ESC I Command — Print Modes Corresponding to n Values for 24-Pin Models ML590 & ML591 32
Table 29: IBM ESC [ I Command — Parameters Activated for Calculated Ln , Hn Values.......32
Table 30: IBM ESC [ I Command — Fonts Selected for Calculated H fid ,L fid Values. 33
Table 31: IBM ESC [ I Command — Character Pitch Settings for Calculated Hfwd, Lfwd Values .. 34
Table 32: Epson ESC! Command -Print Features for n Values. 35
Table 33: Epson ESC ( - Command — Score Styles for D1 and D2 Values. 38
Table 34: IBM ESC = Command — Character Widths for a₂ Values. 42
Table 35: Custom Character Commands — Character/Grid Width for Print Modes (24-Pin Printers) 46
Table 36: Epson ESC : Command — Fonts for n Values. 50
Table 37: Epson ESC * m Command — 8-Pin Graphics Density Codes for m Values 55

Table 38: ML ESC * Command — Densities (DPI) for n_1 Values. 58
Table 39: ML ESC * Command —Speed & Word Sizes for n_2 Values. 59
Table 40: Epson ESC * m Command — 8-Pin Graphics Density Codes 63
Table 41: IBM ESC [ g Command — Horizontal Graphics Resolution for m Values 65
Table 42: Epson ESC . Command — Valid Range of P_m Values for P_v Values 67
Table 43: Epson ESC . Command — Maximum Horizontal Dots for P_h Values 67
Table 44: IBM ESC X Command — Default Settings for Right Margin 70
Table 45: Epson ESC L and ESC Q Commands — Range of Margin Settings, All 9-Pin Printers 70
Table 46: Epson ESC L and ESC Q Commands — Range of Margin Settings, 24-Pin Models ML390/391 Turbo 70
Table 47: Epson ESC L and ESC Q Commands — Range of Margin Settings, 24-Pin Models ML590/591 70
Table 48: ML ESC % C and ESC % R Commands — Maximum Margin Values 72
Table 49: IBM/Epson ESC D Command — Maximum Number of Horizontal Tab Stops...... 73
Table 50: IBM/Epson ESC D Command — Maximum Values for Horizontal Tab Stops. 73
Table 51: ML ESC HT Command — Maximum Values for x_ny_nz_n 74
Table 52: ML ESC ETX Command — Shift Increment for Character Pitches 75
Table 53: ML ESC ETX Command — XYZW Values for Setting Horizontal Tabs. 75
Table 54: IBM/ML ESC % B Command — Shift Increments for Left Margin Indents 77
Table 55: IBM/E/ML ESC DLE @ Command — Shift Increments for 9-Pin Models 78
Table 56: IBM/E/ML ESC DLE @ Command — Shift Increments for 24-Pin Models 78
Table 57: IBM/E/ML ESC DLE @ Command — Maximum P1P2P3P4 Values for 9-Pin Models.... 79
Table 58: IBM/E/ML ESC DLE @ Command — Maximum P1P2P3P4 Values for 24-Pin Models.. 79
Table 59: ML ESC % F and ESC % E Commands — Movement Increments for Pitch Settings.. 81
Table 60: ML ESC ? Command — Carriage Return/Line Feed Codes for n Values 88
Table 61: IBM/E/ML Fine Increment Line Spacing Commands — Values of Parameter n. 91
Table 62: IBM/Epson ESC A Command — Values of Parameter n. 91
Table 63: IBM/Epson ESC 3 Command — Values of Parameter n 92
Table 64: IBM/Epson n/360" Line Spacing Commands — Values of Parameter n. 93
Table 65: IBM ESC [ \ Command — Values of Parameter n. 93
Table 66: ML VFU Commands — Usable Channel Codes for Parameter n 96
Table 67: Epson ESC ( v Command — Hexadecimal Values for L_pH_p 97
Table 68: IBM/Epson Select Code 39 Command — Narrow Bar Widths for Parameter n_5 Values (9-Pin Printers) 102
Table 69: IBM/Epson Select Code 39 Command — Narrow Space Widths for Parameter n_6 Values (9-Pin Printers) 102
Table 70: IBM/Epson Select Code 39 Command — Wide Bar Widths for Parameter n_5 , n_6 , n_7 Values (9-Pin Printers) 103
Table 71: IBM/Epson Select Code 39 Command — Wide Space Widths for Parameter n_5 , n_6 , n_7 Values (9-Pin Printers) 103
Table 72: IBM/Epson Select Code 128 Command — Usable Characters for Code 128 Code Sets (9-Pin Printers) 104
Table 73: IBM/Epson Select Code 128 Command — Character Widths for Parameter n_5 Values (9-Pin Printers) 105
Table 74: IBM/Epson Select Code 128 Command — Start and Stop Codes for Parameter n_5

Values (9-Pin Printers) 105
Table 75: IBM/Epson Print Code 128 Command — Check Digits for Code Sets (9-Pin Printers)105
Table 76: IBM/Epson Select Interleaved 2 of 5 Command — Black Bar Width for Parameter n_5 , n_7 Values (9-Pin Printers) 106
Table 77: IBM/Epson Select Interleaved 2 of 5 Command — Space Widths for Parameter n_6 , n_7 Values (9-Pin Printers) 106
Table 78: IBM/Epson Select UPC A Command — Character Widths for Parameter n_5 Values (9-Pin Printers) 107
Table 79: IBM/Epson Select UPC A Command — Start/Stop Codes and Center Bar Widths for Parameter n_5 Values (9-Pin Printers) 108
Table 80: IBM/Epson Select UPC E Command — Character Widths for Parameter n_5 Values (9-Pin Printers) 109
Table 81: IBM/Epson Select UPC E Command — Start and Stop Codes for Parameter n_5 Values (9-Pin Printers) 109
Table 82: IBM/Epson Select EAN 8 Command — Maximum Character Widths for Parameter n_5 Values (9-Pin Printers) 110
Table 83: IBM/Epson Select EAN 13 Command — Maximum Character Widths for Parameter n_5 Values (9-Pin Printers) 111
Table 84: IBM/Epson Select Code 39 Command — Narrow Bar Widths for Parameter n_5 Values (24-Pin Printers) 114
Table 85: IBM/Epson Select Code 39 Command — Narrow Space Widths for Parameter n_6 Values (24-Pin Printers) 114
Table 86: IBM/Epson Select Code 39 Command — Wide Bar Widths for Parameter n_5 , n_7 Values (24-Pin Printers) 115
Table 87: IBM/Epson Select Code 39 Command — Wide Space Widths for Parameter n_6 , n_7 Values (24-Pin Printers) 115
Table 88: IBM/Epson Select Code 128 Command — Usable Characters for Code 128 Code Sets (24-Pin Printers) 116
Table 89: IBM/Epson Select Code 128 Command — Character Widths for Parameter n_5 Values (24-Pin Printers) 116
Table 90: IBM/Epson Select Code 128 Command — Start and Stop Codes for Parameter n_5 Values (24-Pin Printers) 117
Table 91: IBM/Epson Print Code 128 Command — Check Digits (24-Pin Printers) 117
Table 92: IBM/Epson Select Interleaved 2 of 3 Command — Black Bar Widths for Parameter n_5 Values (24-Pin Printers) 118
Table 93: IBM/Epson Select Interleaved 2 of 3 Command — Space Widths for Parameter n_6 Values (24-Pin Printers) 118
Table 94: IBM/Epson Select UPC A Command — Character Widths for Parameter n_5 Values (24-Pin Printers). 119
Table 95: IBM/Epson Select UPC A Command — Start/Stop Codes and Center Bars for Parameter n_5 Values (24-Pin Printers) 120
Table 96: IBM/Epson Select UPC E Command — Maximum Character Widths for Parameter n_5 Values (24-Pin Printers) 121
Table 97: IBM/Epson Select EAN 8 Command — Maximum Character Widths for Parameter n_5 Values (24-Pin Printers) 122
Table 98: IBM/Epson Select EAN 13 Command — Maximum Character Widths for

Parameter n_5 Values (24-Pin Printers) 123

Table 99: IBM/E/ML ESC { Command — Emulations for n Values. 125
Table 100: IBM/Epson ESC r Command — Color Selections for n Values 130
Table 101: Epson ESC ( U Command — Increments of Movement for P. Values 131
Table 102: Pin Assignments for Parallel Interface Signals. 133
Table 103: Pin Assignments for Serial Interface Signals. 134

Index

9-pin graphics commands 53-60

24-pin graphics commands 61-66

A

Abbreviations ix

Abicomp code page commands 11-13

Absolute dot position command. 80

Acronyms ix

Ascenders.39,41-42,44,45

Auto line feed commands......89

B

Backspace command 69

Bar code commands..... 101-124

Block graphics command......8

BRASCII code page commands 11-13

British character set commands 9-10

C

Canadian French code page commands. 11-13

Cancel command. 125

Carriage return command .69 /line feed commands .87

Center justification command 83

Change emulation command 125

Character set commands 5-13 size commands. 12-23

spacing commands. 25-26 style commands. 29-38

Characters per line 15

Code page commands..... 11-13

Color command 130

Combined print features command 24 mode command 31

Command summary ......xi-xxxvi

Compressed pitch. 16-19

Control code commands 13

CRT graphics commands 55-57, 63

Custom character commands 39-51 design 39-40, 46-47

Cut sheet feeder commands. 126

D

Danish character set commands. 9-10

Delete command 127

Descenders. 39, 41-42, 44, 45

Designing custom characters. 39-40, 46-47

Dot position commands....79-81

Double
density graphics
commands.....54-56, 62-63
height commands.....21-24
width commands.....21-24

Down line load commands... 41, 43, 45, 47, 50

Draft print commands.....29-32

Drivers, printer. 1-4 Dutch character set commands.. 9-10

E

Embedded commands. 4

Emphasized print commands. 31, 34, 36

Emulations. 1-2

Enhanced print commands. 31, 34, 36

Epson command summary FX .xix-xxiv LO. xxv-xxxi emulation,drivers 1-2

F

Fine line feed commands. 88-89

Font commands 29-34

Form feed commands. 87 French Canadian character set commands .9-10

Full justification command.....83

G

German character set commands 9-10

Graphics commands. 53-67 line feed commands. 60

H

Half-speed command 127

Height, double, commands 21-24

Horizontal control
commands 69-83
motion index (HMI) 27
print position 76-81
tab 73-76

HSD print mode command. 29-32

1

I-Prime command. 131

IBM Proprinter command summary xi-xviii emulation,drivers 1-2

Incremental printing command. 82

Increment of movement command. 130-131

Indent commands.....69-72, 76

Initialize printer command... 127

Intercharacter spacing commands 25-26

Interfacing parallel 133 serial 134-135

International character set commands 9-10

Italian character set commands 9-10

Italics commands. 7, 35

J

Japanese character set command. 10

Justification commands. 83

L

Latin American character set commands. 9-10

Left justification command.....83 margin commands.69-72,76

Line
character set command....8
feed commands.....87-89
feed, graphics.....60
spacing commands.....90-93

Lotus 1-2-3. 4

M

Margin setting commands 69-72, 76

MICROLINE Standard command summary.xxxii-xxxvi emulation drivers. 1-2

Microsoft Windows. 3 Word. 3

Most significant bit commands. 128

Move to left/right commands 76-81

MSB commands 128

Multilingual code page command 11-13

Multiple print positions command 77-78

N

NLQ print mode command 29-32

Norway code page command 10-11

Norwegian character set commands 11-13

0

Okidata Microline Std command summary.xxxii-xxxvi

Okidata software drivers..... 2-3

Overscore commands 37

P

Page format command. 98 length commands.. 85-86

Paper-out sensor commands. 128

Parallel interface 133

Pitch commands 15-19

Plotter graphics commands. 55-57, 63

Portugal code page command 11-13

Postnet bar code commands. 112, 124

Print quality commands.29-32 suppress mode commands.129

Printer drivers 1-2

Programming graphics.....54,62

Proportional spacing commands. 25

Publisher character set commands. 9-10

Q

Quadruple density graphics commands. 54-56, 62-63

R

Raster graphics command ....66

Reassign graphics command 57,64

Relative dot position commands. 79-80

Reverse line feed commands. 89

Right justification command.....83 margin commands.69-72

ROM to RAM copy
commands......40, 43, 45, 49

S

Serial interface. 134-135

Single density graphics commands 54-56, 62-63

Skip down command. 96

Skip over perforation commands 99-100

Software I-prime command..131

Spanish character set commands 9-10

Stop printing command 131

Subscript commands. 20, 24

Superscript commands.....20,24

Swedish character set commands 9-10

T

Tab commands horizontal 73-76 vertical 93-96

Top of form commands. 98

U

Underline commands 36

Uni-directional print commands 82

Upper range control code commands 13

USA code page command 11-13

Utility print mode commands 29-32

V

Vertical control commands.....85-100 format unit commands.95-96 tab commands.. 93-96 unit setting command ....... 93

W

Width, double, commands 21, 22-24

Windows 3

Word, Microsoft 3

WordPerfect 3

Table of contents Click a title to access it
Manual assistant
Powered by Anthropic
Waiting for your message
Product information

Brand : OKI

Model : ML321TURBO

Category : Dot Matrix Printer