Epson EscP printer Language summary.
Most commands will work on most epson compatible printers including Star, Citizen, and Panasonic.
Commands cannot be put together like PCL (HP) but rather must be used individually though many times, more than one command can be put on one line. Ec stands for the Escape key chr$(27).
If a code in a sequence is for example 1 (049 or ascii "1") and the command doesnt seem to work, try CHR$(n) instead.
Example: if LPRINT CHR$(27)+"U"+"1" doesn't turn the Unidirectional print ON then try instead, LPRINT CHR$(27)+"U"+CHR$(1). Most (but not all) of these commands will work on proprinter emulation also.

Page Control
Feature Command Decimal Notes
Master Reset Ec @ 027 064 Resets all values to defaults.
Performs formFeed.
Delete Character chr$(127) 127
Cancel Line chr$(24) 24
Unidirection Print ON Ec U 1 027 085 049
Unidirection Print OFF Ec U 0 027 085 048
Half-speed mode ON Ec s 1 027 115 049
Half-speed mode OFF Ec s 0 027 115 048
Select elite print speed High Speed Ec ~ B 0 027 126 066 048
Select elite print speed High Density Ec ~ B 1 027 126 066 049
Top of Form position 7/16" Ec ~ T 0 027 126 084 048
Top of Form position 0" Ec ~ T 1 027 126 084 049
Advance Paper one line chr$(10) 010
Advance Paper one top of next page (FF) chr$(12) 012
Advance Paper n/180 inch Ec J chr$(n) 027 074 # might be n/216 on some printers
Retract Paper n/180 inch Ec j chr$(n) 027 074 # might be n/216 on some printers
Set Page Length n lines Ec C # 027 067 # n (or #) should be chr$(n) for basic
Set Page Length n inches Ec C chr$(0) # 027 067 000 # n (or #) should be chr$(n) for basic
LIne Spacing 1/6 Ec 2 027 050
LIne Spacing 1/8 Ec 0 027 048
LIne Spacing n/60 Ec A n 027 065 #
LIne Spacing n/120 Ec ~ O n 027 126 079 #
LIne Spacing n/180 Ec 3 n 027 051 #
LIne Spacing n/360 Ec + n 027 043 #
Move printhead - to left margin (13) 013
Move printhead - backspace (8) 008
Move printhead - to next horiz. position (9) 009
Move printhead - absolute position Ec $ chr$(n1) chr$(n2) 027 036 # # This command moves the printhead to a position n1+256*n2 dots from the left margin. Each unit equals 1/60th of an inch.
Move printhead - relative position Ec \ chr$(n1) chr$(n2) 027 092 # # This command moves the printhead to a position n1+256*n2 dots from the current position. Each unit equals 1/60th of an inch.
Margins - Left Ec 1 chr$(n) 027 049 #
Margins - Right Ec Q chr$(n) 027 081 #
Print Quality - Letter quality Ec X chr$(1) 027 088 001
Print Quality - Draft quality Ec X chr$(0) 027 088 000


Fonts
Feature Command Decimal Notes
Select Fone - Roman Ec k chr$(0) 027 107 000
Select Fone - Sans Serif Ec k chr$(1) 027 107 001
Select Fone - Courier Ec k chr$(2) 027 107 002
Select Fone - Prestige Ec k chr$(3) 027 107 003
Select Fone - Script Ec k chr$(4) 027 107 004
Select Fone - Orator Ec k chr$(5) 027 107 005


Special Effects
Feature Command Decimal Notes
Normal Ec q chr$(0) 027 113 000
Outline Ec q chr$(1) 027 113 001
Shadow Ec q chr$(2) 027 113 002
Outline with Shadow Ec q chr$(3) 027 113 003
Underlininig On Ec - 1 027 045 049
Underlininig Off Ec - 0 027 045 048


Print Styles
Feature Command Decimal Notes
Print Style - Elite Ec ! chr$(1) 027 033 001
Print Style - Propotional Ec ! chr$(2) 027 033 002
Print Style - Condensed Ec ! chr$(4) 027 033 004
Print Style - Emphasized Ec ! chr$(8) 027 033 008
Print Style - DoubleStrike Ec ! chr$(16) 027 033 016
Print Style - Expanded Ec ! chr$(32) 027 033 032
Print Style - Italic Ec ! chr$(64) 027 033 064
Print Style - Underline Ec ! chr$(128) 027 033 128 **these can be added together to use multiple settings. Ec ! chr$(9) for example would be Elite Emphasized.


Pitch
Feature Command Decimal Notes
Pica Ec P or Ec ~ 3 0 027 080 10 CPI mode
Elite Ec M or Ec ~ 3 1 027 077 12 CPI mode
15-pitch Ec g or Ec ~ 3 6 027 103
17 pitch Ec ~ 3 2 027 126 051 050
20 pitch Ec ~ 3 7 027 126 051 055
Expanded print on Ec W 1 027 087 001 Double width letters
Expanded print off Ec W 0 027 087 000
Condensed Print on Ec chr$(15) (or just chr$(15) 027 015 This is 17 pitch I think.
Condensed Print off chr$(18) 018
Double High Print - On Ec w 1 027 119 049
Double High Print - Off Ec w 0 027 119 048
Proportional Print - On Ec p 1 027 112 049
Proportional Print - Off Ec p 0 027 112 048


Graphics - tech reference ahould be used for this. Too involved to go into detail here
Feature Command Decimal Notes
Single density Ec K n1 n2 data 027 075 n1 n2 data
Double density Ec L n1 n2 data 027 076 n1 n2 data
Hi speed Double density Ec Y n1 n2 data 027 089 n1 n2 data
Quad density Ec Z n1 n2 data 027 090 n1 n2 data
Graphic Mode Ec * m n1 n2 data 027 042 m n1 n2 data
Enable Text Graphics characters (box drawing) Ec t 1 027 116 049 Ec 6 may also do this


Colors
Feature Command Decimal Notes
Black (default) Ec r 0 027 114 000
Magenta Ec r 1 027 114 001
Cyan Ec r 2 027 114 002
Violet Ec r 3 027 114 003
Yellow Ec r 4 027 114 004
Orange Ec r 5 027 114 005
Green Ec r 6 027 114 006




Example of printing color text

LPRINT chr$(27)+"r"+chr$(1);
LPRINT "THIS is RED text"
LPRINT chr$(27)+"r"+chr$(0);
LPRINT "Back to Black"