Epson Printer Interface Cartridge for the Apple IIc Specifications

Applications Manual
j
/
.-
-
Trademark
LaserPrinter
8111: Star Micro&s
Acknowledgements
Co., Ltd.
PageMaker: Aldus Corporation
Apple II +, Apples&t:
Apple Computer Inc.
Bitstream, Zapf Humanist:
Bitstream Inc.
Canon: Canon Inc.
Centronics:
HP, LaserJet
LaserControl:
Cunronics Data Computer Corporatim
III: Hewlett-Packard
Company
Insight Development
Inc.
IBM PC, IBM Proprinter: International Business Machines Corp.
Optima, Century Schoolbook: Linotype Corporatia~
Lotus l-2-3: Lotus Development
Corporation
M!?-DOS, Microsoft BASIC, Windows, Word, Microsoft
BASIC: Microsoft
Corporation
MultiMate: Multimate International
TRS-80: Radio Shack, a division of Tandy Corporatim
Epson, EX-800: Seiko Epsm Corporatim
WordPorlect: WordPerfect
Corporation
-
Ventura Publisher: Xerox Corporatim
NOTICE
l
l
l
l
All rights reserved. Reproductim
of any w
STAR’s expnxs pennissim is forbidden.
of this manual in any form whatsoever
without
‘lhe contents of this manual are. subject to changp without notice.
Alleffortshavebeenmade
toensurctheaccuracyofthe
contents ofthis manual at thetimeofpress.
However, should any ermrs be detected. STAR would greatly appreciate being informed of them.
The above notwithstanding,
Q Copyright
199 1 Star Micro&s
STAR can assume no responsibility
Co., Ltd.
for any errors in this manual.
PREFACE
About this manual
This Star LaserPrinter 8111Applications Manual gives you the information
you need to program the Star Micronics LaserPrinter 8111.
Why would you read this book? Most people using a laser printer just run
software packages with built-inprinter drivers. which look after everything
their computers send their printers. But many of us- small business people
and home computer users, not to mention the wizards who write those
software packages- want to benefit from all the new features offered by our
printers.
Do you want complete control over the characters and images you print? Do
you want to make your Star LaserPrinter 8111work like some earlier kind of
printer? This manual provides the software help you need to get the most
from your LaserPrinter 8111.
Though this Applications Manual is really intended for intermediate to
advanced computer users, we’ve tried to accommodate relative novices too.
The information is organized so you can walk through the general theory
underlying printer programming before dancing into specific details. It
makes sense, therefore, to mad the first three chapters before jumping into the
middle.
There’s a good reason to read each chapter from its start too. People learning
how to use a new printer often find the terminology a barrier. So instead of
burying what may be new jargon in a Glossary at the back, we define each
new term the first time it appears. The whole first part of the chapter on fonts,
for example, defmes different aspects of afont (a collection of characters of
the same size and style).
...
What’s in this manual?
l
l
l
l
In “Getting to Know Your Star LaserPrinter 8111”we provide a list of the
features that make this a splendid printer, to help you choose which
features you want to exploit. There’s a bit on how laser printers work,
inside and out. The chapter then explains software in general terms,
including how to write control and Escape commands to make those
features work.
“Controlling Your Printer” examines the parameters and “superset”
commands you give the StarLaserPrinter 8111to direct precisely how you
want it to behave. These let you control the printer, manage page formats,
and specify what you want printed.
For most of us, the “Fonts” chapter will be useful: how to use the fonts
built into the LaserPrinter 8111,plus those that come on cartridges or
computer disks.
You may never look atmore than one or two of chapters4 through 6, which
cover Star LaserPrinter 8111commands. Your LaserPrinter 8111emulates
other printers: it imitates other printers by accepting the same commands
they do. Just think of your Star LaserPrinter 8111as three printers hiding
inside one unit.
If you want to write or modify a program that uses one of these printersthe Hewlett-Packard LaserJet III, Epson EX-800, IBM Proprinter or chapters 4 through 6 show how your Star LaserPrinter 8111can emulate
to accordingly. The chapters first describe how to control the printer and
to format pages, then how to move the print position, and finally how to
use fonts and graphics.
The chapter on the LaserJet III is longer and more detailed than the others.
That’s because you are more likely to use laser printer commands than
commands for dot matrix printers. (If you have software designed only
for dot matrix printers, you may have manuals for those printers anyway.)
We recommend you use LaserJet III emulation whenever possible, with
EX-800 emulation as your backup mode.
l
L..
Conventions
L-.
Incidentally, one of those Technical Supplement tables suggests a couple of
typographic conventions we’ll use. Base ten (decimal) numbers will generally be used here; if we have to use base sixteen numbers (hexadecimal) we’ll
expressly say so.
L
L
L
b
The final “Technical Supplement” containing the command and character
reference tables will probably get thumbed the most.
,--
And second, the lowercase L is practically identical to the number one (l
versus 1). Because lowercase L is used in many command descriptions, we’ll
use the character /to avoid confusion.
The Star LaserPrinter 8/N Operations Manual
This manual is the companion to the Star LaserPrinter 8111 Operations
Manual that came with your printer. A laser printer is a fairly complex tool
that requires care and delicate handling. So to use this Applications Manual
best, make sure you understand that Operations Manual first.
Your Operations Manual holds essential information about the LaserPrinter
8111,such as how to:
l
l
l
l
l
l
l
l
unpack and set up your laser printer,
connect the Star LaserPrinter 8111 to your computer’s serial or parallel
pofis
link the LaserPrinter 8111into a network of several computers,
configure the LaserPrinter 8111to your needs (with variables such as paper
size and speed of data transfer),
load paper and the toner cartridge,
operate the panel switches and display,
run the LaserPrinter 8111self-test,
look after your printer to keep it in peak condition.
TABLE OF CONTENTS
CHAPTER 1 GETTING TO KNOW YOUR STAR
LASERPRINTER 8III
1
Star LaserPrinter 8111Hardware ............................................................. 1
Star LaserPrinter 8111Software ............................................................. .5
CHAPTER 2 CONTROLLING YOUR PRINTER
Printer Parameters ................................................................................
Controlling the Printer.. ........................................................................
Controlling the Page .............................................................................
Controlling the Printing .......................................................................
The Star LaserPrinter 8111 Superset ....................................................
CHAPTER 3 FONTS
Font Terminology ................................................................................
How the Star LaserPrinter 8111Stores Fonts .......................................
Symbol Sets .........................................................................................
Managing Fonts ...................................................................................
CHAPTER 4 HP LASERJET III COMMANDS
HP LaserJet III Commands ..................................................................
Controlling the Printer.. .......................................................................
Page Orientation ..................................................................................
Moving the Print Position.. ..................................................................
Controlling Fonts ..................................................................................
Using Your Own Fonts.. ......................................................................
Raster Graphics ...................................................................................
‘Pattern Graphics ..................................................................................
Vector Graphics.. .................................................................................
Macros ................................................................................................
CHAPTER 5 EPSON EX-800 COMMANDS
EX-800 Commands ............................................................................
Controlling the Printer ........................................................................
Formatting Pages ................................................................................
Moving the Print Position.. .................................................................
Controlling Fonts ................................................................................
Graphics .............................................................................................
13
13
16
21
.28
.29
33
.33
.36
.39
.4 1
49
49
.5 1
.54
.58
66
.82
.86
.89
.94
116
119
119
121
122
125
130
139
_
CHAPTER 6 IBM PROPRINTER COMMANDS
b.
i
L
145
Proprinter Commands ........................................... .. ..... .. ..................... 145
Controlling the Printer ...................................... ...*.............................. 146
Formatting Pages .. .. ............................................................ ... .. .. ......... 147
Moving the Print Position .............. ....... .............................................. 147
Controlling Fonts ................... ........................................... .................. 150
Graphics ............................................................................... ............... 153
.--
CHAPTER 7 TECHNICAL SUPPLEMENT
155
Command summary ......... .. ............... .. ............................... ................ 156
Symbol sets ........................................................................................ 164
INDEX
215
This chapter introduces both the hardware and software aspects of the Star
LaserPrinter 8111’spersonality, from fonts and print engine to ASCII and
Escape sequences.
STAR LASERPRINTER 8llI HARDWARE
Versatility
Your Star Micronics Star Laser-Printer 8111 works with practically all
commercial software programs and computers. With features that go beyond
Star’s easy, affordable 9-pin and fast, quality-printing 24-pin dot matrix
printers, the Star Laser Printer is the logical next step in the series of fine Star
Micro&s printers.
-
-.
“-.
.
.
-.
-_
.._-
Your Star LaserPrinter 8111produces pages that look close to typeset quality,
with up to 90,000 dots per square inch- no more NLQ (near letter quality)
compromises. The Star LaserPrinter 8111produces eight of those pages a
minute. These numbers translate to about five times more resolution and
speed than the average dot-matrix printer.
Star’s new printer is remarkably versatile. You can print complicated forms
(widthwise if you want) ... detailed graphs ... yourowncustomized typestyles
... digitized photographs ... other languages (including Arabic and Japanese).
You can even print your letterhead and logo as you print your letter, and
reprint them directly onto a business envelope. You don’t even need to
remove the paper tray to print the envelope: just slide it into the manual feed
slot.
-._
_..
.
1
The Star LaserPrinter 8111is ideal for desktop publishing. The pages it
produces make perfect photocopy or instant-print masters. And all the main
desktop publishing systems, including Aldus Corporation’s PageMaker and
Xerox Ventura Pubisher, work splendidly with the Star LaserPrinter 8111.
With “page makeup” programs like these you will be able- maybe for the
first time- to deliver communications with the impact of top-notch
graphics.
Font options
You can print with an amazingly wide variety of type fonts and sizes. The
Star LaserPrinter 8111comes with four built-in fonts, which can be printed
from 8.5 points to 12 points in size (apoint is about l/72 of an inch).
These fonts are:
CG Times Font
Univers Font
Courier
Font
Line Printer
Font
Besides these, you may be able to use optional cartridges and disks to give
your Star LaserPrinter 8111a variety of extra fonts, such as these:
line drawing
Helvet
Letter Gothic presentation fonts
optical character reader fonts universal product code
Bar codes
You can load your Star LaserPrinter 8111’smemory with fonts stored on
computer disks. Literally hundreds of fonts are marketed by font-supply
companies. Some fonts are even obtainable from computer “user groups” or
“electronic bulletin boards”. Fonts you get this way are in the public domain,
which means you don’t need to pay a licence fee to use them.
Ask your Star LaserPrinter 8111dealer about resources like these. Desktop
publishing with laser printers is fast-changing territory, and some Star
Micronics staff people have found electronic bulletin boards and computer
user groups quite helpful in keeping up with the changing pace. If you invest
a little time this way it may repay you well.
2
How your laser printer communicates
Your computer communicates with the Star LaserPrinter 8111through either
a parallel cable or one of two kinds of serial cable. The printer’s interjhce,
the link or boundary it shares with your computer, defines whether the printer
will accept characters and commands from your computer one byte or one bit
at a time.
A bit is the smallest unit of computer or printer memory. It has either a low
or high electric charge, which we represent with the digits 0 and 1. Usually
eight adjacent bits are grouped to form a byte. Since a byte normally
represents one character, this string of bits- 01OOOOO1-might represent
the letter A.
The serial interface accepts just one bit at a time from your computer. A
parallel interface can handle a whole byte at once, by moving data bits sideby-side along separate wires. You choose which interface method you want
to use by selecting it on the operator panel, as explained in your Star
--
C”..
LaserPrinter 8111Operations Manual.
-..
The Star LaserPrinter 8111is a computer
.
--_
..^d
The Star LaserPrinter 8111first maps the characters to be printed into its own
random access memory (RAM). That is, the printer builds a “picture” in its
memory corresponding to the page you want to print. When that’s done the
printer can reproduce the page onto paper on its own, letting your computer
get on with other work.
Your Star LaserPrinter 8111comes with one megabyte of RAM- the
equivalent of about one million characters. A Star LaserPrinter 8111option
lets you add a second megabyte of RAM if, say, you need to map full-page
graphics or store more fonts. Accompanying all that RAM is another 5 12
kilobytes of read only memory (ROM), containing a library of internal fonts
and the programs that let the Star LaserPrinter 8111 emulate other printers.
._
_.
A Motorola 68000 computer chip controls both the memory and the printing
mechanism in the printer, called the print engine. The printer stores a whole
page in RAM before printing it. (If a page is so dense that it overflows
memory-a most unlikely event-the Star LaserPrinter 8111prints the page
on two sheets.)
3
The Print engine
It’s the print engine that forms the actual characters and graphics. The engine
directs its laser, a pinpoint stream of light pulses, through mirrors and lenses
onto the surface of a positively-charged rotating drum.
Mirror
Lens
Laser
Scam ning mirror
Semiconductor
Photosensitive
laser diode
drum
As the laser scans, it “draws”the page-map stored in your printer’s memory.
Wherever a light pulse strikes, that tiny part of the drum drops to a neutral
electrical charge. That spot then attracts fine toner powder as the drum rotates
past the powder compartment.
As the drum rotates further it meets the paper. The paper itself is negatively
charged by passing by a fine corona wire. Since opposite charges attract, the
negative paper clings to the positive drum. Then heat and pressure from a
roller melt orfuse the dots of toner onto the paper, precisely reproducing the
image.
Finally the paper slides into the output bin. The paper usually comes out face
down so it stacks in the correct sequence.
4
STAR LASERPRINTER 8JlI SOFTWARE
Binary and hexadecimal arithmetic
If you already know what hexadecimal numbers am, you can skip this section
and go ahead to read about ASCII.
The decimal number system with which we’re all familiar is a positional
counting system. There’s the “ones” position, the “tens” position, the “hundreds” position and so on. Each higher position is worth ten times more than
the position to the right of it, since the decimal system uses the base of ten.
Moreover, we need ten symbols to show the actual values that may be in each
position.
The binary system is positional too. There’s the “ones” position, the “twos”
position, the “fours” position, the “eights” position and so on. In binary each
position is worth only twice that of the position to its right. And we only need
two symbols- 0 (zero) and 1 (one& to show the values that may be in any
position. So in binary we get numbers that look like 1010 or 10001100.
The hexadecimal system is made of base-sixteen numbers. Hexadecimal is
positional like the other counting systems. And each higher position is worth
sixteen times as much as the position to its right.
We need sixteen different symbols to show all the possible values one
hexadecimal digit could have. We can use our decimal system’s ten symbols,
but we’ve had to borrow a few more from our alphabet to get all the symbols
we need. In hexadecimal, therefore, you can have a number that looks like
2C7C, or even FACE.
Here’s how the decimal, binary and hexadecimal number systems compare:
Decimal
0
1
2
3
4
5
6
7
Binary
0001
0010
0011
0100
0101
0110
0111
Hexadecimal Decimal
0
8
1
9
2
10
11
3
4
12
5
13
14
6
7
15
Binary
loo0
1001
1010
1011
1100
1101
1110
1111
Hexadecimal
8
9
A
B
C
D
E
F
5
The important thing to realize is that there’s more than one way to show the
same numeric value. Computer programmers, for example, occasionally use
the hexadecimal system because it’s so compact. (Programmers often just
say “hex”.) This binary number:
101001011111110100110111111011010010110100001001
looks quite a bit tidier when it is written as A5 FD 37 ED 2D 09, which means
the same thing.
The ASCII table
Where does the Star LaserPrinter 8111get the characters and instructions it
needs to print in the first place? It gets them from your computer, which sends
a stream of text and commands to your printer.
The program in your computer that controls everything sent to the printer
(called the printer driver) will usually be included with your computer
programs, such as your word processor. But the commands could also come
from a program you’ve written, perhaps in BASIC, a programming language
that uses common English words.
Internally, computers and printers use only the binary number system to
represent both commands and all the alphabetic, numeric and other keyboard symbols. Nearly all of those machines use the same scheme to code
those symbols, the American Standards Code for Information Interchange
(ASCII).
Anexample: inourfamiliardecimal system, binary01001010 adds up to the
number 74. Depending on which program your printer is using, it can
interpret that binary string 010010 10 as either the number 74 or the symbol
J . The printer stores the symbol J at position 74 in a table in its memory.
That eight-bit binary string, or byte, can be broken into two halves. The left
or high-order part containing 0100 is called the zone portion; the right part
holding the 1010 is called the digits portion. And in the hexadecimal number
system, the zone and digit parts of that byte are represented as 4 and A
respectively (look them up in the list above).
So the laser printer understands the symbol J as 01001010, which we can
also represent as the decimal number 74 or the hexadecimal number 4A.
We’ve printed this byte vertically and horizontally below, showing how it
adds up to decimal 74 and hex 4A.
6
-..
0x2’
1x26
0x25
ox24
1~2~
ox22
1x2’
Ox2O
zone
0100
4
-
= 0
=64
= 0
= 0
= 8
= 0
= 2
= Q
74
digits
1010
A
Decimal
Binary
Hexadecimal
The ASCII table in the Technical Supplement shows all these equivalent
representations for the symbols your laser printer understands. The table
organizes them in ascending order. In fact, ASCII is organized in a way that
actually makes sense.
Flip back there for a quick look right now. See how you can slice the table
into clumps of 16 or 32, based on what’s in the zone portion under the
hexadecimal column? These clumps make subgroups of similar symbols:
hex
. hex
hex
hex
l
l
we
_..
__
l
._
00 to 1F are the command symbols called control codes,
20 to 40 are the common keyboard symbols and numerals,
41 to 60 are capital letters and the less common keyboard symbols,
61 to 7F are lowercase letters and a few final symbols.
That takes care of the first 128 ASCII symbols. However, nearly every
computer and printer manufacturer treats the second half of the table
differently. Hewlett-Packard, for example, puts a variety of accented
foreign language characters into positions 128-255 (often referred to as high
ASCII). Epson gives you a choice of either italics characters or IBM
character graphics.
Control codes
The ASCII table shows symbols like J or 2 the way they actually print on the
laser printer. But ASCII includes mom than just printable characters: none
of the control code commands at the beginning of the table actually print.
Instead, when your computer sends a control code to the laser printer it
makes your printer do other things, such as sound its beeper.
7
Control codes mostly handle communications between your computer and
the printer at the lowest level, at cable level. For example, a couple of control
codes make sure the printer buffer (your printer’s storage memory) doesn’t
overflow. In this book we’ll indicate control codes enclosed by angle
brackets to their abbreviations in the table: <FF> means the Form Feed
control code, which advances the printer to the next page just as the PRINT
button does.
-
Escapesequences
-
Control code 27, <ES0 or Escape, is a particularly important one for
printers. To tell your printer all the things you might need- setting margins,
saying where to print, choosing a particular font, starting graphics and so
on- requires many more than just two or three dozen control codes. So the
<ES0 control code has a special meaning: <ES0 means “the next
character specifies a command, not something to be printed”.
Therefore if you send just the character 4 to the printer it will print a 4 and
that’s all. But if you send the <ES0 code just before the 4 then the printer
(in EX-800 mode) will switch over to italics text. Extending the control
codes this way gives you many more commands to control your printer. In
fact, these “Escape sequences” make up most of the Star Laser Printer’s
language.
In this book we’ll leave spaces between characters when we show escape
sequences. You’ll find
a bit more readable than
<ESC> (sOplOh12vOs3T
But remember that you are not to send those spaces if you send commands
to the printer.
To sum up, printer commands are of two types. A control code is a singlecharacter command that tells your printer to do something, like move down
one line. An Escape sequence controls a printer operation too, but is more
than one character long. Since they am commands, neither control codes nor
escape sequences am usually printable characters.
8
_
-
Printer drivers
Most software packages already include the printer commands they need.
The programs that send commands to the printer so you don’t have to enter
them yourself are called printer drivers.
-.-
Many programs ask you to install or conjigure your printer, which usually
means keying into a menu the particular setup information describing your
Star LaserPrinter 8111.You enter such things as how you want to underline,
alter line spacing, or move to a new print position.
i
Some programs, such as WordPerfect and the systems from Lotus Development Corporation, let you put printer Escape sequences before or right
inside the document you want to print. To turn on boldface, for example, you
might hold down special keys on your keyboard, often labelled CONTROL
or ALT, as you press another key. Or you might use a special Function key,
such as F6.
In fact, to take real advantage of your StarLaserPrinter 8111’sspecial abilities,
you might opt for a word processor that lets you specify font changes easily.
WordPerfect and Microsoft Word are strong at this, but are by no means the
only good font manipulators.
If you have trouble using a particular program with your Star LaserPrinter
8111,you’ll probably get answers most quickly by asking your software
supplier how the program interacts with your printer.
In this manual we refer to programs, fonts and other products sold by several
companies. Please realize that mentioning these products does not mean Star
Micronics endorses them in any way.
-..
_.._
Sending your own printer commands
Without a printer driver, sending control codes and Escape sequences to
your printer properly requires some knowledge of a programming language
like BASIC or Pascal, or at least of how to put such codes into a program.
With programming languages, the computer doesn’t act on the commands
you put into a program until you tell it to run that program.
m....
L-
.
_.
.
When you give a command to the printer from a computer program, you
normally enter each part of the command as a separate character. This way
you don’t affect anything else happening on the computer. You often send
each code or character in the command by giving its position in the ASCII
table, as a decimal or hex number.
9
A BASIC example
Here’s an example you can typo in right now, to clarify what we’re saying.
It’s written in Microsoft BASIC for a computer that uses the MS-DOS
operating system, so if you have a different computer or BASIC you may
have to translate a bit. We’ll show commands the way they’re written for an
Epson dot-matrix printer because your Star LaserPrinter 8 understands those
commands.
The LPRINT commands all send data to the printer. If the data is something
you want printed you just put it in quotation marks. If the data is a control
code you just say where it is in the ASCII table, giving its position as a regular
decimal number.
BASIC usually sends a carriage return after every 80 characters, to keep the
print position moving when it hits the end of a line. Unasked-for carriage
returns can mess up your printing, however, so it’s a good habit to put in a
WIDTH statement as shown. That lets us print over the whole page area.
The cBEL> control code - ASCII code 7 - is sent in BASIC as CHR$(7).
The <ES0 code itself is CHR$(27). And because we’re using the character
4 as part of an &SC> command, we type CHR$(52) instead of “4”.
So if you start BASIC and type these commands:
NEW
10 ) EXAMPLE
20 WIDTH "LPT1:",255
30 LPRINT CHR$(7)
40 LPRINT CHR$(27);CHR$(52)
50 LPRINT "ITALICS!"
60 END
RUN
you make the printer (in EX-800 mode) first sound its bellcall it a beeper- and thenprint
theline:
most people
ITALICS!
Generally, when you send a control or Escape code it stays active until you
deactivate it. That’s what happens in line 40 of our program above. All
subsequent text will be italicized until you change it back to upright again.
10
-
Most programming languages, and some versions of BASIC, let you treat the
printer as a file to which you can send data. When you write a program with
one of these languages you “open” the printer file, print into it, and then
“close” the file when you’re done. This programming jargon sounds funny
if you’re not used to it- but it works.
L_
A few programming languages let you send commands to the printer a third
way. Applesoft BASIC is one. With it, you can switchbetween printeroutput
and screen output.
Printer emulations
L-
e-
You noticed that we said “in EX-800 mode” up there? Your Star LaserPrinter 8111responds to the same escape sequence commands that several
other printers use. Being able to emulate the Epson EX-800 lets you use your
Star LaserPrinter 8111with older programs that haven’t been updated to take
advantage of laserprinters. In fact, because it emulates three of the most
popular printers, you can use the Star LaserPrinter 8111with just about any
microcomputer program around.
Unfortunately those printers often use different escape sequences for
exactly the same function. Those printers, moreover, provide escape sequences for functions the Star LaserPrinter 8111 doesn’t need. When your
printer gets a command it doesn’t support, it just ignores the command.
Macros am single control codes you can define yourself, which do the work
of a whole long series of printer commands. If you am a programmer you will
be happy to hear the Star LaserPrinter 8111supports up to 99 macros at once.
11
NOTES
12
You can control your Star LaserPrinter 8111in two ways, either through front
panel parameters or through software commands. In this chapter we will
consider printer controls mostly from the perspective of the front panel.
However, we’ll also meet three special commands, the Star LaserPrinter 8111
superset.
Throughout this manual we approach parameters and commands the same
way: overall printer-level controls first, then page-level controls (layout and
print position movements), and finally character-level controls (fonts and
graphics). We’ll discuss these in general terms in this chapter.
The specific commands you can send to your printer to make it emulate, or
work like, other printers are described in chapters 4 through 6. The most
important fact about printer commands, though, is that you may not even
need to know how to use them. If your software systems include their own
printer drivers, you may want to read only this chapter and skip all of
chapters 4 through 6.
PRINTER PARAMETERS
The front panel
-
The easiest way to control your Star LaserPrinter 8111is through its front
panel, as explained in more detail in your Star LaserPrinter 8111Operations
Manual.
When your printer is online (connected to and under the control of your
computer), its front panel display shows you the printer’s status. For
example, the READY light blinks when the printer is warming up. The
DATA light comes on whenever the printer is holding data it hasn’t printed
yet.
When you press the ON LINE button, the printer changes from normal to
ofline mode and cannot accept data from your computer. When the printer
is offline you can use the other panel buttons. For instance, if you press the
13
printing the current page and then feeds in and prints a status sheet.
Some buttons on the panel let you perform two functions. Holding one of
those buttons down, rather than quickly pressing it, selects a different
operation. For example, holding down the TEST/PREVIOUS button for
over five seconds makes the Star LaserPrinter 8 print its test pattern.
Parameter settings
From the panel you can also change the parameters that define how your
printer works. Parameter just means “variable”. If you’re familiar with
earlier kinds of printers, you’ll understand that laser printer parameters
control pretty much the same things DIP witches do. (A DIP switch or “dual
in-line package switch’ is a set of small switches that control various printer
functions.)
The printer stores these parameters as easy-to-use program menu items that
you can select from the control panel. These parameters specify:
character (what character font to print)
layout (how pages will be formatted)
paper feed (what paper the printer will use)
command (which commands the printer will accept)
interface (how the printer communicates with your computer)
l
l
l
l
l
A default is the setting the Star LaserPrinter 8 will use if none is specifically
selected by a program. When you first turn on or later reset your printer these
default settings will take effect,
Your main use for the front panel will likely be to set the default settings you
want for these parameters. However, you will probably find the panel
convenient too when you want to switch between manual and automatic
paper feed.
Four versions of parameters
The Star LaserPrinter 8 actually stores four versions of these parameters:
its “ultimate default” factory settings,
the power-on settings in effect when you first turn on the printer,
your initial settings for one particular session,
and the current settings that the printer is using now.
l
l
l
l
These are in priority order. The current settings always override the initial
session settings, which in turn override the power-on settings, which in turn
override the factory settings.
14
-
-
-
override the factory settings.
Factory settings are programmed into the Star LaserPrinter 8111when it is
built at the factory. Your printer keeps the factory settings for its parameters
in ROM; they never change. You can copy them into the current settings or
any other settings as needed. But the only way you can return to the factory
defaults is from the front panel; no commands do this.
A few factory default settings am as follows:
Factory default setting
Item
HP LaserJet III
Emulation
Paper cassette
Feeder
Number of Copies 1
Orientation
Portrait
1O-pitch 12-point Courier (internal)
Font
6 lines per inch
Linesrtnch
The power-on settings am the normal default settings. The printer keeps
them even when you turn off the power. When you turn on the printer, these
power-on settings get copied into the initial and current parameter settings.
You probably will not often change the Star LaserPrinter 8111’sinitial setrings (sometimes called “session settings’*). You’ll likely only change them
when you want to use a different printer emulation than normal. These initial
settings stay the same as the power-on settings until you change them.
-
On the other hand, your software will probably change the current settings
many times within the same document, with every change of font or print
style.
b_
.
.
.
How to change parameters
With the printer offline, if you press the PROGRAM button the printer goes
into “program” mode. You can then step through the laser printer’s four
levels of program menu to configure your printer. That’s the process of
changing certain printer settings so your computer and printer can communicate properly.
_....
L..
It’s actually pretty easy. Flipping through and setting parameters from the
panel is described in detail in the Star LaserPrinter 8111Operations Manual.
.
-.
.
Basically, all you do is press the NEXT or PREVIOUS buttons to scroll
through the sequence of possible parameters and values, which is clearly
shown on the panel display. You press ENTER when you want to go down
15
and scroll through a lower menu level. And you also press ENTER when
you want to save a particular menu item as the value for a current parameter
setting.
The three last menu headings let you load one version of the parameters into
another version. Two move the current parameter values into either the
initial or power-up parameters. The final menu option goes the other way,
letting you load the factory parameter settings as your current settings.
CONTROLLING THE PRINTER
In this section you’ll meet two separate controls over how the Star LaserPrinter 8 itself works. The INTERFACE parameter controls communications between the printer and your computer. And the COMMAND parameter determines, among other things, which set of commands the printer will
use. You can set these INTERFACE and COMMAND parameters on the
front panel.
The 1NTERFACE parameter
The INTERFACE parameter, the most basic of the Star LaserPrinter 8’s
configuration settings, defines how your computer connects to the printer.
You can set the INTERFACE to either Serial or Parallel (in IBM or
Centronics mode). In most single-computer environments you’ll opt for the
faster Parallel interface; in a multi-user network you may be better off with
Serial.
The particular printer interface settings don’t matter as much as making sure
they match those on your computer. If you use an MS-DOS computer, you
can set your computer’s parameters with the MODE command. See your
MS-DOS manual.
Most MS-DOS and AT-compatible computers support up to three parallel
and two serial ports, which come on expansion boards you plug into your
computer. When you install such boards you must set switches to indicate
the number and addresses of these ports. If you specify the wrong addresses,
you won’t be able to print.
Serial interface: rate
If you ask for the Serial interface you’ll have to tell your printer more about
how the data will be coming in- in particular its rate and unit size and the
meanings of any special bits.
-
The Rate parameter specifies how fast data will be arriving, measured in
bati (named after the French communications engineer Jean Baudot). Rick
any of the following data transfer rates:
300 baud
600 baud
1200 baud
2400 baud
4800 baud
9600 baud (the default)
19200 baud.
Roughly, one character a second works out to 11 baud. If you’re not sure how
fast your computer will transmit, the general rule is to experiment. Try
sending a page to print at the highest speed, and work your way down until
the printer’s output looks OK.
Serial interface: special bits
In Serial mode you’ll also have to specify if your computer sends data bits
in groups of seven (most computers send eight, the default for a byte).
Sometimes an extra bit gets appended to make the sum of all bits in each
character always odd or even; that’s calledpa&y. A parity bit can help spot
transmission errors. If your computer sends that extra parity bit, you’ll have
to say whether it produces an even or odd number of “on” bits in the
character.
You’ll also have to indicate if your computer sends two stop bits to indicate
the end of a byte, instead of one, the default. These serial interface settings
are described in more detail in your Star LmerPrinter 8111 Operations
Manual.
Serial interface: protocol
Finally, in Serial mode your computer will use one of three protocols to
ensure data is sent properly. Protocol (sometimes also called “handshaking”) means “who says what when”, and is the way your printer tells your
computer it’s ready to receive data. Your computer and printer communicate
by sending protocol control codes (they’re at the front of the ASCII table).
Some programmers call the XON and XOFF control codes “kiss on and kiss
off ‘; others call the same protocol DC1 and DC3 (for device control). Either
way, these codes let your printer run the show, telling the computer when to
start and stop sending data. Your printer asks to have data held back when its
memory is nearly full or when it senses an ERROR condition.
17
DTR (Data Terminal Ready) protocol does the same thing slightly differently. The printer sends a continuous high-voltage signal over the cable as
long as it can accept data, but drops the voltage to say “whoa” to the
computer.
Conversely, it’s the computer that holds the reins with the ETX/ACK (Endof-text/Acknowledge) protocol. The computer sends an ETX control code
after each string of data, and when the printer finally gets that code it sends
an ACK code back to the computer, asking for more. This protocol is less
used by modem computers because it doesn’t hold back data when the
printer’s memory gets swamped.
Look in your computer’s operations manual, in the section dealing with
communications protocols, to see which is best for your system. You can
stick to the printer’s defaults if your computer uses neither the DTR nor the
ETX/ACK protocol, but does use XON/XOFF.
If you want to enable DTR or ETX/ACK, or disable XON/XOFF, you’ll
have to set those parameter values accordingly. Turning on one of these
protocols automatically flips off the others.
Checking your connections
Your computer and printer may have trouble communicating when you first
introduce them to each other. The quick way to find out if your settings and
printer cable are working is to send your printer a printout from your screen
(CTRL-P with MS-DOS).
When that’s done you will also have to press the print button on the printer,
which makes the printer advance to a new sheet. No laser printer prints and
ejects a page until it’s told to feed a form, or until it has received all the lines
the page can hold.
If your Star LaserPrinter 8 doesn’t print what’s on the computer screen,
recheck your connections and interface settings. With an applications
program like Lotus 1-2-3 or Microsoft Word, you use a printer setup routine
to match your computer with your printer’s operating characteristics. So
double-check your software settings; your computer’s output, for example,
might not be going to the proper port.
18
Printer emulations
-.
OK, you’ve got your printer and computer connected properly. Now let’s
focus on how your printer works.
Your Star LaserPrinter 8111understands and uses the same commands as
several earlier kinds of printers. Your printer works by emulating one of
these:
Hewlett-Packard LaserJet III
9 Epson EX-800
IBM Proprinter
l
l
Other laser printers may offer such emulations too, but often require
installation of a new circuit board for each emulation. Star Micronics has
built these three emulations into the Star LaserPrinter 8111.
You select which emulation you want either by selecting it from the print
program menu on the Star LaserPrinter 8111’sfront panel, or by sending the
printer one of the superset commands at the end of this chapter.
What are the emulated printers like?
Most of the time you will probably choose HP LaserJet III emulation, which
is the default when you turn on the Star LaserPrinter 8111.That’s because the
LaserJet III, like the Star LaserPrinter 8111,is a laser printer. This emulation
mode gives you the best control over your printer’s features, and works with
most popular applications programs.
-.
-_
The EX-800 emulation is quite powerful too. It includes all the dot-matrix
printer commands (including graphics) used by hundreds of programs.
Mostly, you’ll choose this option when you run a program that cannot send
laser printer commands.
The Proprinter, a dot-matrix printer like the EX-800, has a similar command
set. You likely will opt for Proprinter emulation only when you want to use
computer programs specifically designed for the Proprinter and IBM computer environment.
-.
b_
,I
19
The Command parameter
The Star LaserPrinter 8’s Emulation setting defines which printer it is
imitating: Hewlett-Packard LaserJet series II, Xerox Diablo 630, Epson
EX-800 or IBM Proprinter.
Most of the other COMMAND values below can be changed with Escape
codes as well as from the panel.
As the Number of Copies setting suggests, the Star LaserPrinter 8 can print
either just one copy of each page sent to it, or multiple copies up to 99. Most
word processing and other packages, however, let you look after multiple
copies of a document without using this command. You may consequently
prefer to leave this at the default (one copy), changing it only as necessary
through software commands.
Two settings are only meaningful when you are using HP LaserJet series II
commands. First, if you enable Macro Overlay, from zero to 99 macros can
be active.
Second, most of the time you’ll want to print across the width of the page,
but occasionally you may want to print up the length of the page. Unlike most
other laser printers, your Star LaserPrinter 8 lets you rotate fonts to print
either way- you don’t have to buy separate fonts to print sideways on the
page.
Your printer normally feeds a new form when you rotate a font, to avoid
accidentally printing both orientations on the same page. But if you want to
intermix orientations, just change the value of FF on Rotate to NO. (Font
orientation is explained in more detail below with the LAYOUT parameter.)
A few computers change certaincontrol or Escape codes when sending them
to the printer, which naturally causes confusion. Moreover, many programmers prefer to see hexadecimal printout when they are debugging programs.
To help with these situations, you can make your Star LaserPrinter 8 print
in hexadecimal rather than the usual ASCII mode by switching ON the HEX
DUMP parameter setting (see the sidebar below).
The last three COMMAND values concern the physical machine. You can
set the intensity of the printer’s LCD display from 1 (faint) to 7 (bright); its
default setting is 4. You can enable or disable both the beeper and the
Warning Alarm (which sounds continuously).
E
20
I
Hints: The hex dump
To make your Star LaserPrinter 8111print in hexadecimal rather than the
usual ASCII symbols, press the front panel buttons that put the printer
offline and in PROGRAM mode. Move to the COMMAND parameter’s
HEX DUMP setting and select ON.
l
l
l
l
Some control or Escape codes can be problems on a few computers; those
computers change certain codes when sending them to the printer. If you
think you have this problem you need to see exactly what your printer is
receiving. We recommend you run a short program that loops through and
prints the ASCII table. Print in hexadecimal rather than the usual
ASCII symbols.
If you spot a problem code you can try to bypass the problem, either by
sending each code directly to the printer, or by changing your system’s
printer driver. Such computer-specific solutions, though, are beyond the
scope of this manual. We suggest that if necessary you consult another
programmer more familiar with your computer.
Actually, if you are debugging any program you may find this hex-dump
mode helpful. It can be a great trouble-shooter.
CONTROLLING THE PAGE
In this section we look at two controls you have over how the Star
LaserPrinter 8111handles and formats its pages: You can set values for the
PAPER PEED and LAYOUT parameters on the front panel. At the end of
this section we’ll also preview different ways to move the print position.
The PAPER FEED parameter
The PAPER PEED parameter lets you specify both what kind of paper you
want and how the printer is to handle automatic print-position movements
(carriage returns and so on).
One convenient thing about a laser printer is that it doesn’t need continuous
sometimes called fanfold paper. Other printers feed in a stack of
forms- with pages all joined by perforations- by having sprockets engage
and pull alongpinfeed holes punched along each side of the paper. After it’s
printed you have to tear off the pinfeed-hole strips and then separate the
pages.
form,
21
With the Star LaserPrinter 8 you can print on a variety of ordinary cut sheet
pages.
For the Feeder value of this PAPER FEED parameter, you first enter either
cassette or manual feed to indicate where you want paper fed from. The
cassette tray automatically feeds single sheets, much like sheet feeders on
other types of printers. Manual feed means you feed each sheet by hand.
The default paper size is 8.5 by 11 inch letter-size paper, a different-sized
tray automatically selects that different paper size. If you choose manual
feed you can specify other sizes too:
8.5 by 14 inch legal-size paper
A4 international (used in every country except North America)
(210 by 297 mm)
B5 international (used in every country except North America)
(182 by 257 mm)
the narrower “executive” size (7.25 by 10.5 inches)
l
l
l
l
One other nice thing you can do is print directly on envelopes. With this
Paper Size parameter you can specify envelopes in sizes #lo, Monarch,
European C5 and DL. Then just work out where to put the address, set the
orientation to landscape (see below), and slide your envelope into the
manual feed slot. Easy!
In any emulation mode you can send your printer commands to change paper
size or feed in paper manually; you can also select those parameters from the
panel. Either way, a message in the printer display tells the operator what
paper size to use.
Auto parameters
The printposition refers to the point on the page where the next character will
be printed. When the printer reaches the end of a line, the Auto Parameters
settings tell it whether or not to automatically:
return the print position to the left margin (carriage return, sometimes
just called “Return”),
or move it down one line (line feed ),
or keep text out of the side margin (auto wrap ),
or keep text out of the bottom margin cform feed ).
l
l
l
l
22
l
l
l
l
return the print position to the left margin (carriage return, sometimes
just called “Return”),
or move it down one line (line feed ),
or keep text out of the side margin (auto wrap ),
or keep text out of the bottom margin uorm feed ).
Hints: Paper, labels and transparencies
l
The best paper for the Star LaserPrinter 8111has a smooth finish and is of
20 to 24 pound weight. Any paper designed for photocopiers should do
the trick though; Xerox 4024 and Canon NP print nicely. High quality
cotton bond paper, which contains up to 25 percent cotton fibms, works
passably well with even heavier weights.
The absolute limits am 16-pound paper at the light end and 35pound
stock at the heaviest. With heavy paper, open the tray so the pages will be
delivered face up.and won’t have to bend over the final rollers.
l
l
l
Be aware that any puckered or woven finish may not print as sharply as
you’d like. Avoid shiny coated paper or multipart forms. And don’t even
think about putting in stapled or ripped pages.
If you frequently change paper weights, you will probably get skewing
problems- lines that print at an angle because of misfeeding. For best
results, when your Star LaserPrinter 8111is first set up have the paper
feeder “squared” for paper of at least 20 pounds. Lighter paper, though
cheaper, isn’t really the way to economize.
Want to print on your own preprinted letterhead? Fine- so long as your
logo isn’t thermographed. Thick colored ink may look luxurious,
but it can also wind up stuck all over your printer’s roller. Stay away from
any inks that soften at relatively low temperatures; your printer fuses
pages at 200” C.
This warning applies to colored paper too, if it has been tinted with a lowtemperature dye.
l
The toner cartridge in your Star LaserPrinter 8111should print at least 4000
pages, 20 refills of the paper tray. The cost of replacing a toner cartridge
is not much more than that of replacing printwheels and ribbons on a
daisywheel printer.
23
When printing starts fading because the toner is low, remove the cartridge
and gently rock it back and forth half a dozen times. Don’t tip it up or the
toner may spill out. Redistributing the tonerpowderthis way can keep the
cartridge going for another tray of paper.
l
No question, working with single label sheets is more convenient than
with continuous label stock. Laser printers are faster and produce betterlooking labels than other printers. But laser printers, which work by
electrostatic photography rather than impact pressure, put different
stresses on label paper. Each sheet has to bend over and through the guide
rollers; moreover, fusing toner to the paper involves heat. You can
eliminate trouble by always feeding label sheets manually.
l
Both Avery’s “Lasergraphic” labels and Canon’s labels seem to work
fine. Your main concern is that the labels completely cover the backing
sheet so it shows only at the outside margins. That way individual labels
can’t easily peel off.
The safest approach is to laser-print sharp master copies on paper and then
photocopy those lists onto labels. This will avoid putting your printer’s
adjustment for paper thickness out of adjustment.
l
If you want to print transparencies for your overhead projector, some
‘films will actually melt in your laser printer. Stick to 3M’s mediumweight transparency film (type 501) or to Hewlett-Packard’s #2285J.
24
.
If you want to print transparencies for your overhead projector, some films
will actually melt in your laser printer. Stick to 3M’s medium-weight
transparency film (type 501) or to Hewlett-Packard’s #92285J.
The LAYOUT parameter
The Zayoutorformat or setup of a page refers to how text is positioned on
the page. Layout includes page orientation, margins and the spacing of
characters across and lines down the page. You can control these with the
LAYOUT parameter.
You probably won’t use the LAYOUT parameter on the front panel’s
program menu very much though. Most of the time you’ll either leave the
Star LaserPrinter 8111with its default settings, or look after page formatting
with commands you send from your computer.
L
Page orientation
A page’s orientation tells you in which direction the print goes on the page.
When you useportrait orientation the lines are printed as they are in a normal
business letter, across the width of the page. A portrait painting of a person
is usually vertical-hence the name.
landscape
-
Portrait
When you use fun&ape orientation the words are printed “on their sides,”
vertically up the length of the page. Text written with landscape orientation
only looks correct when you turn the page so its length runs side-to-side, just
like the painting of a landscape.
Envelopes must be printed with landscape orientation. You also will use
landscape regularly to print charts or banners, and spreadsheets or reports
- with so many columns they wouldn’t otherwise fit on the page.
All internal fonts, and almost all cartridge and downloaded fonts, are stored
in the Star LaserPrinter 8111with portrait orientation.
25
Margins, columns and lines
You can change margin settings for all four edges of a page. The left and right
side margins can have values from 0 to 132, defining the margin columns
between which words and images can be printed. And the top and bottom
margins can be set at anywhere from 0 to 112 lines.
Text
Length
Portrait
Orientation
Orientation
The actual meaning of a column is defined by the setting for the horizontal
motion index (HMI). The HMI just means how wide you want the space
character to be. Each column, running from page top to bottom, will be the
width of a space.
You probably will let your software worry about the space width. But if you
want, you can set the HMI parameter on the panel in increments of l/120
inch- ‘anywhere from 1 to 255 increments.
Similarly, the meaning of a line (sometimes called a”row”) is defined by the
vertical motion index (VMI). The printer moves the print position down a
line when it gets a Line Feed code, usually when it bumps into the right
margin.
Again, you’ll probably let your computer program set the line depth. But
from the panel you can set the VMI value in increments from l/48 to
255/48 of an inch.
26
Moving the print position: a preview
With dot-matrix printer, you pick where to print on the page either by moving
the printhead back and forth or by moving the paper itself. Laser printers
don’t have printheads, but the principle remains the same: you have to say
exactly where on the page each picture and string of text is to go, so each page
can be constructed in the printer’s memory.
Instead of talking about printheads we talk about moving the print position
(some people call it moving the “cursor,” using the computer-screen
analogy). Horizontally, you can move the print position with backspace and
carriage return commands. Vertically, you can move the print position down
the page by printing so many lines per inch, or by sending line-feed and half
line-feed commands. You can also move to tab settings both horizontally and
vertically (handy for tables and blank forms, or making room for your
diagrams).
But those aren’t all. Depending on which printer emulation you are using,
you can tell the Star LaserPrinter 8111to move the print position vertically or
horizontally in increments of:
l/10,
l/48,
l/300
l/720
-
l/12 or similar fractions of an inch (pitch settings),
l/60, l/72, l/120 or l/216 inch (line or column definitions),
inch (dots), or
inch (tenths of a point).
These increments reflect the history of twentieth century printing. Pitch,
referring to the number of characters printed in each horizontal inch, derives
from how typewriters space their characters. Lines and columns were first
used by earlier computer printers (on which they are called horizontal and
vertical motion indexes). You already know about the Star LaserPrinter 8111
being able to print 300 dots to the inch. And the unit by which typesetters have
measured text for centuries is the point, about 1/72nd of an inch.
One hint about moving the print position: you can confuse yourself if you use
more than one or two different units during the same session. So decide
beforehand how accurately you need to move the print position (not forgetting any graphics you want to include). Then stick to the unit(s) you
choose.
The commands that move the print position in all these ways are described
in chapters 4 through 6, with the specific printer emulation you want to use.
27
CONTROLLING THE PRINTING
The EMULATE ATTRIBUTES parameter
The EMULATE ATTRIBUTES parameter defines font attributes and setup
values (if any) for each of the Star LaserPrinter 8’s four emulation modes.
A font’s attributes or characteristics determine what that font will look like
when it is printed. The next chapter, “Fonts,” explores the details of all font
attributes in more detail. But let’s have a quick overview now, because
you’ll meet these terms on the front panel’s program menu.
Font attributes: a preview
Orientation (portrait or landscape as described earlier) is usually thought of
as one attribute of a font; it’s not really a page formatting issue. Besides
orientation, the fonts with which you print have these attributes:
Symbol set is sometimes called “character set”-
which can be confusing,
since some people say “character set” when they mean a font. Symbol sets
are subgroups of a font’s symbols that are most appropriate for particular
countries, such as the UK (g), France (a), Latin America (n) or Japan (3).
Spacing and pitch are linked. Characters can be spaced on the line proportionally, so a narrow letter such as i takes less room than a wide letter like
W. Or characters can be spaced all the same width: twelve characters to the
inch is the monospaced spacing called 12 pitch.
Pointsize defines how big characters will print, such as 10 or 12 points high.
Sryle defines whether characters print in upright or italic style.
Stroke weight defines how bold a typeface prints.
Finally, typeface itself means the artistic design of a font. Your printer’s
internal typefaces include Tms Romn, Line Printer, Courier and Prestige
Elite. With the Star LaserPrinter 8 you can also use Helvet, Gothic, Script,
Caslon, Orator and hundreds more typefaces, which you load into the printer
from cartridge or computer disk.
When you enable font setupparameters on the front panel, it means you start
off with particular font attributes as defaults when you first choose an
emulation. With the EX-800 and Diablo emulations you can enable proportional spacing and bold print as setup parameters. EX-800 mode also lets you
start up with half of your symbol set as graphics characters instead of italics.
28
THE STAR LASERPRINTER 8IlI SUPERSET
Do you need to send commands?
Here’s an important fact: you can set nearly every one of the above
parameters by sending your printer a corresponding Escape sequence
command. Those Escape sequence commands will override any setting you
make from the front panel.
L
The main thing to realize about most printer commands, though, is that you
probably don’t need to use them. Nearly all popular software packages
include printer drivers, which send commands to the printer so you don’t
have to type them yourself. Some of those programs ask you to key in setup parameters about your printer. Other programs let you put printer
commands before or inside the document you want to print.
L
-.
h.
But maybe the software you use doesn’t have printer drivers for any printer
your Star LaserPrinter 8111emulates: You still might not have to write printer
commands yourself.
.“_
--
.
. .
_
Several companies sell programs that look after laser-printing commands
for such software. Ask your dealer about LaserControl, Printworks for
Lasers, PCL.Pak and RAM Resident Printmerge. There’s not much point in
reinventing the wheel.
The Star LaserPrinter 8lll superset
Besides the commands that emulate other printers, your laser printer
understands three other commands called the StarLaserPtinter 8111superset.
The Star LaserPrinter always understands superset commands; it doesn’t
matter which emulation mode your printer is using at the moment. Superset
Escape sequence commands start with cESC> [ so you can quickly spot
them in a list of commands.
One superset command gives you another way to switch from one emulation
to another: you send the Change Emulation superset command instead of
using the front panel. The second superset command lets you change the
printing orientation, so you can print sideways up the length of the page,
instead of across its width in the usual way. The third superset command lets
you change the paper size.
29
-.
The Change Emulation command
You can think of the superset ChangeEmulation command as the key to your
Star LaserPrinter 8. The Change Emulation superset command lets you
switch from one set of printer commands to another “on the fly,” through
software.
This is the command that defines what other commands the Star LaserPrinter
8 will accept. With Change Emulation you indicate which printer emulation
program you want the printer to use.
When you start a new emulation you always start a new page.
Note: always send Carriage Return and Form Feed (control codes <CR> and
<FF>) just before you give this Change Emulation command. These force
the printer to print any partial page in its memory and start a new page with
the new emulation. If you forget to issue these control codes first the Star
LaserPrinter 8 will do them for you- butyour Change Emulation command
will just reset the printer’s parameters to their initial defaults, and not give
you the emulation you ask for.
You issue the Change Emulation command with the following Escape
sequence:
<ESC> [ E n
For the value of R you enter a number from this table:
n
EMULATION
0 (zero) HP LaserJet II
, 1 (one) Diablo 630
2
Epson EX-800
IBM Proprinter
3
-
30
The Select Orientation command
The Select Orientation superset command lets you change the “attitude” in
which the Star LaserPrinter 8111prints.
.
To change from one orientation to the other you send this Select Orientation
Escape sequence:
<ES0
-.-
For the value n you put 0 (zero) for portrait orientation,
or 1 (one) for landscape orientation.
,-..
-
-.
*-.
..
..
[0 n
.-
When you send this command to print in landscape mode, the printer
automatically rotates its current font so that it prints as landscape.
The spot or line where printing starts on the page is sometimes called the
origin or top ofform. The origin changes when you switch orientations.
That starting print position is in the upper left comer for a portrait page, but
in the lower left comer for a landscape page.
The Star LaserPrinter 8111lets you mix portrait and landscape orientations on
the same page. Because the starting print position changes when you switch
orientations though, you have to remember to re-orient commands that
move the print position. If you don’t want to allow the printer to mix
orientations, use the front panel program menu to change the COMMAND
parameter FF on ROTATE value to NO.
You probably won’t want to change orientation all that often. Every time you
do, the Star LaserPrinter 8111also resets the page margins to its limits, and
also how it defines lines and columns. So whenever you give the Select
Orientation command you may want to follow it with Escape sequences to
change the side and top margins and paper length settings. (Alternatively,
you could put the printer offline and reset these from the front panel, as
described under LAYOUT earlier.)
-..
*_
-.
_.
31
The Paper Size command
The Paper Size superset command lets you change the paper size in which
the Star LaserPrinter 8 prints.
This is the command that defines what size the Star LaserPrinter 8 will
accept. You issue the Paper Size command with the following Escape
sequence:
<ES0
[Sn
For the value of n you enter a number from this table:
n
1
2
3
4
5
11
12
13
14
SIZE
Letter size paper
Legal size paper
A4 International size paper
Executive size paper
B5 International size paper
Monarch size envelope
Corn-10 size envelope
International DL size envelope
International C5 size envelope
This command controls the size that the printer should use when next
feeding from the selected paper feeder. If the printer does not have the
requested size, the front panel will display a message instructing you to
insert the requested paper/envelope. If the operator overrides that request,
the requested size is ignored and the size of the current cassette is used.
If you have previously set the cassette selection to “automatic”, and one of
the cassettes contains the paper size requested in the command above, that
papercassette will automatically be selected, and paper feed will commence
from there. The lamps on the front panel will change after this command has
been processed, to show you what cassette has been selected.
32
-
The fonts you use determine what your pages will look like. In this chapter
we’ll first clarify the meanings of words people use when they talk about
fonts.
Next we’ll examine the three kinds of fonts (internal, cartridge and downloaded) that you can use on your Star LaserPrinter 8111.We’ll cover the
particular sets of symbols you can choose for those fonts too.
Finally, we’ll find out how to load the printer with your selection of fonts.
FONT TERMINOLOGY
Typefaces and fonts
First, a few definitions. A typeface is a family of characters with the same
basic design. The artistic character design you choose establishes the “tone
of voice” for all your documents.
Several variables can characterize typefaces, including weight (light,
medium, bold), width (condensed or extended), and style (upright or italic).
Courier, for example, is a typeface family that includes the characters in both
Courier medium italic and Courier
bold upright
Let’s consider these variables. Bold print is sometimes called “emphasized”
or “double-strike”. On earlier printers boldface is generated by printing each
character twice; dot-matrix machines print the second impression just a hair
below or to the right of the first one.
With the Star LaserPrinter 8111you can have different stroke weights in two
ways, depending on which emulation you are using. You can have two
different fonts, storing and switching between a bold and a medium version
of the font. Or you can use just one font and set bold on and off with Escape
sequences. The latter way uses just half as much font memory.
33
-
Select Simplex/duplex mode (DX type only)
You can change between simplex and duplex mode using software commands in any emulation mode. The command to do this is:
<ESC> [ D n
where n is an ASCII value of either “1” or “2”. If n is set to “l”, then the
printer will enter simplex mode, and if n is “2”, the printer will enter duplex
mode.
If the printer is in simplex mode, the “1”option will have no effect. If the “2”
option is chosen while the printer is in duplex mode, it is only valid if then
face-down output stack has been selected. The page containing this command will become the face of the double-sided page.
If the printer is in duplex mode, the “1” option will force single-sided
printing, commencing with the page containing this command. If the printer
is already in duplex mode, the page containing this command will bc forced
to be the fact of the next double-sided page.
The DUPLEX light on the front panel will indicate the current simplex/
duplex status of the printer following receipt of this command.
34
The font height (24 points) is measvcd
from ascender to descender.
The o has been kerned
closer to the f.
I
A font is a complete
set of
4
-characters
in a particular
EII:zr
size and typeface.
Baseline
uu
t
Proportionrl
spaoing
Serif
Leading is the
baseline to baseline
mcasurcment.
Font spacing and pitch
You probably first heard the word pitch in connection with typewriters.
Typewriters normally use monospaced spacing: they give each character the
same amount of space on the line.
About halfthe fonts available for laser printers use monospaced spacing too.
Pitch is always expressed as so many characters per inch. Ten-pitch, for
example, means a font with ten characters in each inch of the line.
Typesetters for centuries have used two special sizes of type for most text.
Elite characters are 10 points high and print 12 characters per inch. And pica
chararacters am 12 points high and pitched at 10 characters to the inch
You’ll often run across these monospaced font sizes in the laser printing
world.
Ideally each character in a word should nestle against its neighbours so they
appear evenly spaced. But adjacent round characters are apt to look too far
apart, while flat-sided characters may appear too close.
Proportional spacing takes into account the differences in widths among
letters (compare ii with WW). Proportionally spaced printing is easier to read
than typewriter-style printing in which all characters, including punctuation, have the same width.
Real typesetters equip certain characters with kerns, letter parts that extend
out to overlap adjoining letters. In this word Type the y is kerned closely
against the T. Kerning separates great type from good type.
35
Narrow condensed faces used to be called “compressed”. They cram about
five characters in the space where three usually go- ideal for spreadsheets.
An extended face, particularly on a dot-matrix printer, goes by several
names: “expanded, ” “enlarged” or “double-width” printing. No matter what
it’s called, extended print is wider than it is high, and can be fairly effective
in page headings.
Italic characters (sometimes called “oblique”) are slanted. Ordinary upright
characters are often called “reman”. Your Star LaserPrinter 8 comes with a
built-in upright Courier typeface. Moreover, from any of the Star LaserPrinter 8’s built-in typefaces you can select a subset of upright symbols
called Roman-8.
A font is a complete set of characters in a particular size and typeface. In the
world of laser printers, the three variables mentioned above- weight, width
and style- are a few font attributes (sometimes called “font characteristics”). Let’s consider three more attributes: font height, spacing and pitch.
Font height
The baseline is the invisible line upon which characters of type sit. Since the
first letter blocks were made of lead alloy, the distance from one baseline to
the next is called leading (pronounced “ledding”). Type itself is measured
from the top of an ascender (the part extending up in the b or k , for example)
to the bottom of a descender (the down-stroke of the y or (7).
The measurements used to describe fonts arepoints and picas (derived from
the marks and letters in medieval church almanacs). There are 12 points to
the pica, and almost exactly 6 picas (72 points) to the inch. Your Star
Laser-Printer 8 quite handily prints type from 6 to 36 points in size.
Laser printers for computers measurefont height in points. On laser printers
the “white space” above ascenders and below descenders depends on how
the fine is defined, so the line corresponds to leading. This type you’re
reading has a font height of 12 points, and is spaced a little less than 5 lines
per inch.
36
-
CG Times
CG Times
CG Times
CG Times
Univers
Univers
Univers
Univers
regular
bold
italic
bold italic
mgul=
bold
italic
bold italic
With these most frequently used fonts in ROM, a page can be assembled
much faster than if the fonts had to be loaded into the printer for each printing
job.
Cartridge and downloaded fonts
Your Star LaserPrinter 8111can use two other kinds of fonts, along with those
built into the printer.
Cartridge fonts, like the internal ones, are permanently stored on ROM
chips. The difference is that those ROMs are in removable cartridges. Your
Star LaserPrinter 8111has slots for two font cartridges.
Each cartridge may hold anywhere from half a dozen to two dozen fonts, all
differing from the internal fonts in size, style, stroke weight or symbol set.
You’ll find that cartridge fonts open up a wider range of typefaces too, such
as Helvet and Letter Gothic. Generally, cartridge and internal font typefaces
are suitable for both text and headlines.
-.
The third kind of font is neither built into your Star LaserPrinter 8111nor
available just by slipping in a cartridge. You download this kind of font,
which means you use a computer program to send characters from a
computer disk to your printer’s memory. Any downloaded font (sometimes
called a “soft” or “installed” font) that you put into the printer’s RAM
disappears when you turn off the printer, so you have to download that font
again next time you want it.
Downloadable fonts run the gamut from Egyptian hieroglyphics to those
eye-catching decorative fonts known as disphy fonts. They also include the
more exotic foreign-language characters, such as Arabic or Cyrillic, and
symbol and mathematical fonts (sometimes with fractions).
How can you compare cartridge and downloadable fonts? When you use
cartridge fonts you don’t have to take time to download them. They don’t
37
HOW THE STAR
LASERPRINTER 8 STORES FONTS
Bit-mapped fonts
Star Micronics has earned a reputation for attractive, well-designed fonts on
its printers, and this laser printer continues the tradition.
The Star LaserPrinter 8 uses bit-mapped fonts. Each character is made up
of a pattern or “map” of dots, just like characters on a dot-matrix printer or
on your computer screen. Resolution makes the difference: to make each
character the Star LaserPrinter 8 uses ten or twenty times as many dots as
a dot-matrix printer or computer screen does.
Every size of print you want, plus every italic or boldface version, has its own
bit map and is normally considered a separate font. It takes a good deal of
printer memory to hold all the fonts you might want at any given moment.
Star LaserPrinter 8 fonts can be grouped into three categories: internal,
cartridge, and downloadable fonts.
In ternal fonts
The Star LaserPrinter 8 has four built-in internal fonts that reside permanently in its read-only memory (ROM). That’s why these are sometimes
called “resident fonts”:
Courier
Prestige Elite
Tms Romn
Line
Printer
-.
Courier is the face used on the most common electric typewriters. Neither
Courier nor Prestige Elite, another typewriter face, are printed with proportional spacing. Tms Romn however, is always spaced proportionally. Tms
Romn is probably the most readable and most popular commercial typesetting face. The Line Printer font, designed originally for mainframe computers, is small and designed to pack a lot of characters into every inch of print
(great for spreadsheets).
With these most frequently used fonts in ROM, a page can be assembled
much faster than if the fonts had to be loaded into the printer for each printing
job.
38
.-
SYMBOL SETS
Let’s summarize briefly, to put the subject of symbol sets in context.
The attributes of a font determine what that font will look like when it is
printed. We covered all but orientation at the start of this chapter, and
orientation in the last chapter. A font’s attributes include:
orientation (portrait or landscape)
symbol set (which we’ll look at next)
spacing (monospaced or proportional)
pitch (10 or 16.66 characters per inch, for example)
font height (measured in points)
style (upright or italics)
. stroke weight (light, medium or bold)
typeface (Line Printer, Tms Romn, Courier and so on)
l
l
l
l
l
l
l
Though they are not font attributes, such printing features as subscripts,
superscripts and underlining are treated along with fonts in the following
chapters. Each emulation has its own way of providing these features.
Incidentally, the best way to underline is to use the underline command in the
emulation you are using, instead of backspacing and overprinting with the
separate underline character (J. If you do the latter with proportionally
spaced text, you’ll usually find the underlining is too long for the text.
What are symbol sets?
Keyboards differ from country to country. The British need their f symbol,
the French need their c and e, the Spanish need their i and A etc. Scientists
need particular mathematical signs too. There easily could be four hundred
or mote possible symbols for any given font.
However, the number of symbols printers store for a font is limited to 256
slots, as in ASCII. So some symbols, or the order of some symbols, can differ
in any font. Each unique selection and arrangement of symbols is a symbol
set (sometimes called a “graphic set” or “character set”).
The symbol at position 91 for example is an open bracket, [ , in the usual
ASCII symbol set. But the same position holds f (capital A with an umlaut)
in the German symbol set.
39
-
Hints: Where to get fonts
l
l
You can print any downloadable font that works on the HP LaserJet series
II. Several other companies sell downloadable fonts which are compatible with your Star LaserPrinter 8. The Bitstream Corporation in Boston
is one of the more popular; Conographic is another. Xerox includes a set
of fonts with its Ventura Publisher desktop publishing software, which
you can use with your printer’s LaserJet II emulation.
The SoftCraft company now markets a Bitstream-developed product
called “Fontware”. With Fontware you can generate bit-mapped fonts of
any size from a library of outline fonts. In outline fonts each character’s
profile is defined just once and the printer generates any font height from
that profile, which saves printer memory.
Outline fonts demand awesome computing power of the printer though,
so they’ve been available only on laser printers considerably more
expensive than the Star LaserPrinter 8. Now, with programs like
Fontware, your Star LaserPrinter 8 can turn out elegant print in any size
without that high price.
l
40
Don’t hesitate to ask your Star dealer where you can buy cartridge and
downloadable fonts. If you really can’t find the one you need, you can
design and download your own customized fonts. This is no easy job, but
if you’re curious it’s described in chapter 4.
TheEpsonEX-8OOemulationis really versatile. Itlets you havebothofthose
IBM symbol sets plus Epson’s own standard symbol set. This Epson symbol
set is unusual: it contains both upright and italic characters in the same set.
You may also choose from symbol sets for all the countries mentioned above,
plus a second unique set for each of Denmark and Spain.
.-
Default font attributes
When you power on your printer and choose an emulation, the internal fonts
start off with default attributes which you can change as needed. The default
symbol sets depend on the emulation: in the LaserJet III mode the default is
Roman-g, in Proprintermode it’s IBM Set 1, and in Epson EX-800 mode it’s
Epson Std USA.
L
L
Besides these, all internal fonts default to portrait orientation, upright style
(not italics) and medium boldness. The table below shows their other default
attributes:
Typeface
Spacing
Pitch Font height
Courier
monospaced
10
12 point
Line Printer
8.5
point
monospaced
16.6
Technically, you can use any of the Star LaserPrinter 8111’sresident fonts
when you send commands emulating a particular printer. But each emulation
only prints properly with the fonts designed for it. Furthermore, you can only
use symbol sets, or arrangements of those fonts, which that emulation can
handle. So be aware that, if you try using fonts other than those recommended
for a particular~emulation, you will usually get printing in the emulation’s
default font.
-
--_
If you want a character that’s not in the font you’re using, don’t hesitate to
grab it. Just send the Escape sequences that select your desired symbol set,
print with it, then go back to your original font.
-.
--
MANAGING FONTS
L.
,
You can see which fonts are currently selected on your Star LaserPrinter 8111
by printing a status sheet in offline mode, as mentioned at the beginning of
this chapter. Another TEST mode menu item, described in the Star
LaserPrinter 8111Operations Manual, also lets you print out a list of all the
fonts available on the printer at any given moment.
L.
_.
41
Selecting fonts
Most popular software packages, particularly word pmcessots, let you
choose fonts from within the program. They send the appropriate commands
to the printer and you don’t need to understand how they do it. MultiMate
uses pitch to identify different fonts, for example, while WordPer$ect uses
print formats. The point is, you may not even have to worry about selecting
which font to use.
2.
il
1
I
But not all packages do the job for you. If you are in this situation, you can
select any font attribute mentioned above, either from the front panel or by
sending an Escape sequence command in one of the emulation modes.
If you use the front panel in program mode, you’ll see these attributes under
the Font Attributes level of the EMULATION ATTRIBUTES menu. Just
press the NEXT button to get to the font attribute you want to set, press
ENTER to get to its possible values, press NEXT to scan through them, and
finally press ENTER to slap in the value you want
The procedures for selecting a font from a computer program is a bit more
complicated, and depends on which emulation mode you are using. These
font selection methods are detailed in the next three chapters.
Hints: Desktop publishing and page design
l
/
i
I
l
i
Some desktop publishing systems, such as Aldus’s PageMaker, are pageoriented: you put each page together individually. These are great for
shorter documents, such as newsletters, brochures and letters. Other
systems, such as Xerox’s Ventura Publisher, are document-oriented. That
makes them better suited to technical manuals and long proposals or
reports that go through many drafts.
Other ways in which such systems differ include whether they show on
your screen what you will get on paper (code-based programs don’t), how
well they handle pictures, and how hard they am to learn. Think about your
needs before choosing a desktop publishing system.
I
/I
I
Desktop publishing systems help you automate your specifications for
margins, cover design, typefaces, font sizes, placement of graphics and
regular features. You build the specifications you want in templates,
standard page designs you later simply call up on your screen and fill in
with text.
42
l
A few of today’s computer programs let you see several different font
sizes and typefaces on your computer screen. That capability is necessary
if you want to see on-screen exactly what will print on your Star
LaserPrinter 8111.Desktop publishers call this capability WYSIWYG“what you see is what you get”.
While “screen fonts” that match the fonts you use on your Star LaserPrinter 8111were not available when this manual was written, you may
eventually be able to get them. WYSIWYG depends on what software you
are using.
-
. When you design your pages, don’t vary font size just to fit text into the
space available. Go with a size that’s easy to read and be consistent.
-
Never be tempted to use all uppercase letters. When you want to highlight
text, switch to a bold font or draw a box around it.
-
.-.
l
Don’t be afraid to use white space. White space relieves eye fatigue and
looks more attractive.
_
Optional fonts
Many optional fonts available for your Star LaserPrinter 8111complement its
internal fonts. These can give you more variety in symbol sets, spacing, font
height, style and stroke weight. To your Courier or Tms Romn fonts, for
example, you might add italics and bold, legal or math symbol sets, and sizes
ranging from 7 to 14 points.
-.
--.
L_
Optional fonts offer different typefaces too. Ask your Star Micronics dealer
about cartridges or disks for the following:
. .
Helvet
Letter Gothic
Bar codes
_.
line drawing fonts
presentation fonts
optical character reader fonts
universal product code
-_
Using cartridge fonts
To gain access to a font on a cartridge:
.
_...
..-
1) press the ON LINE button to put the printer offline,
2) slide the cartridge you want into one of the cartridge slots on the front
of the printer,
3) press the ON LINE button to put the printer back online,
43
4) use either the front panel menu or a command from your computer to
select the font you want (explained for each emulation in following
chapters).
Note: Do not insert or pull cartridges out of the printer while the printer is
online.
You can use fonts from both cartridge slots within one document.
A couple of interesting notes about default cartridge fonts: First, say you have
selected on the front panel menu a cartridge font as your default font. Later
you turn off the printer. If you slip the cartridge back in before you turn on
the printer again, that font will still be your default font.
Second, some cartridges contain their own default font. That means as soon
as you slide such a cartridge into the printer, that cartridge’s default font
becomes the printer’s new default font automatically. To change the printer’s
default from that on the cartridge you must select another font from the front
panel.
How to download fonts
To download fonts from computer disk you’ll need more than a small 64K
microcomputer. We recommend at least a 5 12K computer with a couple of
disk drives (a hard disk is better).
Many commercial font-management programs are now on the market,
including Insight Development’sLaserControZ, Blaha Software’s HotLead,
SoftCraft’s LaserFonts, and the PCL printer driver in Microsoft’s Windows.
These utility programs help you download fonts, then let you access the fonts
automatically from your word processor or other programs.
Most font files on disk that you buy to download into your printer have
Escape sequences right in the file, which simplify the process. Usually all
you have to do is copy the file from your computer into your printer (in
LaserJet III mode you must assign a font ID number first). If you download
fonts with the MS-DOS COPY utility, make sure to use the COPY/B option.
That will keep your computer from “interpreting” the data you send, which
sometimes produces badly shaped characters.
OK, let’s look at a couple of examples.
Downloading a font: example one
Example one is for a computer tunning just MS-DOS.
Say you’ve bought Hewlett-Packard’s Century Schoolbook fonts and want
to download the regular (upright), italics and boldface characters. The HP
disk labels for each file are CNlOORPN.RSP, CNlOOIPN.R8P and
CNlfKlBPN.RgP. In case you’re interested, that’s HP’s code for CeNtury,
100 decipoints, Regular (or Italic or Bold), ProportioNal, Roman-8 symbol
set, Portrait.
One of the disks you get also contains a batch file named
DOWNLOAD.BAT. To load the regular upright font you make sure the
printer is online, then after your computer’s A> prompt you type:
DOWNLOAD CNlOORPN.R8P
When the program asks for the font ID number you key in a number between
0 and 32767. Then when the program asks whether you want the font stored
permanently or temporarily you type either P or T (a temporary font
disappears if you press the printer’s RESET button). Finally the program
asks if you want to print a sample of the font and you reply Y or N for yes or
no.
You then do the same for the italics and boldface files, for example typing
for the italics font:
DOWNLOAD CNlOOIPN.R8P
The prompts will be the same, but you have to remember to use different font
ID numbers for the upright, italic and boldface fonts.
Downloading a font: example two
Example two is for a computer running Aldus Corporation’s PageMaker
desktop publishing program with Microsoft Windows.
PageMaker provides a print driver called HPPCL.DRV, and a program
called PCLPFM.EXE which creates the data it needs to print a given font. To
create font data for your Century Schoolbook fonts, at the A> prompt you
type:
PCLPFM CNlOO*.RSP
The asterisk, a “wildcard character,” indicates that PCLPFM is to create a
data file for all three fonts-regular, italics and bold. The program asks if you
45
want to create a file called APPNDWININI to append into the Windows font
menu file: type Y for yes.
After PCLPFM has made the font data file, with your word processor open
the Windows file called WIN.INI and key in the font defaults you want to
apply. At the section referring to the HPPCL printer driver, insert the
APPNDWININI file you created earlier.
That’s it! From now on your Century Schoolbook fonts will appear on the
print menus of all your Windows applications.
With both examples, how you use the fonts depends on your applications
software. As you know, sending commands to change fonts will probably
requite some experimenting: be patient. These commands are described in
the following three chapters.
The process of downloading a font you’ve designed yourself is not so
straightforward. As you can only do this in HP LaserJet III mode, creating
and downloading fonts is described further in chapter 4.
Hints: Managing memory
Printing fancy stuff can be quite cumbersome for your printer. You trade
off fanciness against speed: if you opt for fewer flourishes, you give your
printer breathing room in memory. And that rewards you with faster
output. Any of the following will slow down your laser printer:
l
- text over 20 points,
- lots of lines or patterns,
- graphics,
- macros,
-justified text.
You may choose to add an optional RAM board to your Star LaserPrinter
8111if you need to download many fonts.
l
Alternatively, consider either a software or hardware print spooler if
printing holds up your computer more than you’d like. A spooler provides
a separate temporary memory space that holds the documents to be
printed, and is particularly handy in a multi-user system.
l
l
.Some page makeup programs automatically download each font as
needed, then flush that font from printer memory to make room for the
next font. This approach can make good sense if you’re sharing your
46
F
)‘
‘,’
printer with other people in a computer network. It keeps the printer’s
RAM from becoming overloaded. However, the downloading time can
significantly slow down your printer’s throughput.
_.
l
i
i
.-
-.
-.
-
.
More typically, you will download a font in the morning (perhaps with the
MS-DOS COPY command) before you print your first document, and
that font will then stay in the printer’s memory. If you use a single
downloaded font (or macro) throughout the day, you will find it most
efficient to keep it in the laser printer’s memory. You definitely should
download fonts this way if you use a print spooler. If you’re in a network,
however, make sure you don’t download duplicate fonts.
How many downloadable fonts can you have in one document? That’s not
so easy to answer. Most of your laser printer’s memory is not available for
storing fonts, because it has to store each page before printing it, as well
as any macros or overlays you are using.
To see how much memory is available for extra fonts, put the printer
offline and press the TEST button to print a status sheet. Your printer will
beep and show a front-panel message if you try to overload its memory by
downloading too many fonts. It then will continue printing with the closest
available font to that mquested.
As a general rule, you can include at least a dozen downloadable fonts in
a document. Added to the internal fonts, that should be plenty- it doesn’t
make good design sense to mix many typefaces. A telltale sign of
amateurish laser printing is too many fonts in one document.
To keep a wide variety of extra fonts in memory, however, many Star
LaserPrinter 8111users (especially those sharing the printer on a network)
prefer to add the optional board with the second megabyte of RAM.
47
NOTES
The Hewlett-Packard LaserJet III is an earlier kind of laser printer than your
Star LaserPrinter 8111.You should have no trouble running most popular
software packages in HP LaserJet III mode, as those programs likely can
send LaserJet III commands.
Because the LaserJet III is alaserprinter, though, its commands can give you
more control over your Star LaserPrinter 8111than is possible with the other
built-in command sets. You will probably use this emulation’s commands
more than the others. Recognizing that reality, we’ve put more examples into
this chapter.
We follow the same sequence in this chapter as we did in Chapter 2: first
some printer management and page setup commands, then we’ll cover
commands that poise the laser “pen” over the paper, next we’ll pick a font,
and finally we’ll lay down our words and pictures.
At the end of the chapter we describe how to create and use your own fonts,
and also how to save time by writing command macros.
HP LASERJET III COMMANDS
What do LaserJet III commands look like?
The LaserJet III emulation mode includes a dozen common control codes
(such as <CR> for carriage returns) and single-character Escape sequences
(such as &SC> E for resetting the printer). But all the other LaserJet III
emulation commands you can send your Star LaserPrinter 8111look like this:
<ESC> cc n C
in which the cc prefix is a symbol or two showing the gene& category of
commands to which this one belongs, n is some variable you want to use in
this command, and C is the specific command you want performed.
49
Two important details make LaserJet III commands different from the other
printer emulations. First, all Escape sequences end with a capital letter. If you
don’t make the last character uppercase, your printer won’t know when the
Escape sequence ends and will treat following characters as part of the same
command.
Second, in LaserJet III commands each number or character you put after the
<ES0 code is an actual ASCII symbol. With the other emulations, usually
any number you put after an <ES0 code identifies a character in that
position in the ASCII1 table.
For example, the LaserJet III command that sets the right margin to column
65 is:
<ESC> &a 65 M
which you would code in BASIC as:
10 LPRINT CHR$(27);"&a65M"
That command sends your printer the symbols “6” and “5,” which its
LaserJet III program interprets as the column number.
However if you were using Epson EX-800 emulation, the command that sets
the right margin looks like this:
<ES0
Q 65
which in BASIC you would write this way:
10 LPRINT CHR$(27);"Q";CHR$(65)
That command sends the printer whatever character happens to be in ASCII
position 65. Your printer’s Epson Program, though, interprets it only as a
decimal number meaning column 65.
Combining Escape sequences
Later in this chapter we describe one way to select a font, by just specifying
what font attributes you want, such as bold or proportional spacing. If you
select a font by specifying every one of its attributes, you can be certain that
you’re selecting successfully. But it could mean a fair bit of repetitive typing
each time you choose a font. This applies to other commands too, not just font
selection.
50
Here’s a way you can save yourself a few keystrokes: type in those
commands that have the same command-category prefix as just one long
Escape sequence. To combine commands this way, type the <ES0 and
command-category prefix just once, and capitalize only the last command
character.
For example, to define the style, weight and character face for the primary
font, you might send these command:
<ESC> (s 1s
<ESC> (s 7B
<ESC> (s 5T
which would produce italics boZ&ace Tms Romn. But this single command
does the same thing, all with one blow:
<ESC> (s 1s 7b 5T
CONTROLLING THE PRINTER
Self test
You can check how your LaserPrinter 8111is printing and have a look at its
parameter settings by sending this Self Test command:
<ESC> z
Notice that the z is lowercase; this is the only LaserJet III command that ends
with a smaIl letter. After you send a Self Test command, the printer finishes
printing any pages left in its memory. Then on a new page it prints its current
parameters (just important items such as number of copies and fonts in use).
The printer finishes off the page with a continuous display of all the
characters in its default font.
The printer also quickly checks its interface. Assuming it finds no trouble,
the printer is then ready for your next page. If the printer detects a problem
it shows a front panel message, which you can look up in your Star
LaserPrinter 8111Operations Manual.
51
Set number of copies
You can print up to 99 copies of each of the pages you send to the printer. You
may send this command anywhere within the text on a page; it will stay in
effect for that and all subsequent pages until you send another such command:
<ESC> &/n X
All you have to do is change the n sign in this command to the number of
pages you want. (The /character after the & is a lowercase L.)
Set feed selection
One thing you can do is print directly on envelopes as well as regular paper.
You use this Feed Select command to tell your printer to select either a page
from the paper tray, or a page or envelope from the manual feed slot:
<ES0
&6n H
For n enter one of the numbers from this table:
n
FEED SELECTED
0 (zero) the
1 (one) the
2
the
3
the
printer
printer
printer
printer
only ejects the current page
takes its next page from the paper cassette
takes a regular page manually
accepts an envelope you feed in manually
Should an unprinted page be in the printer’s memory when you give this
command, the paper for that page will feed from where you’ve indicated.
Therefore you can make this the last command on a page. The new feed
setting stays in operation until you change it.
Reset
Most software packages automatically reset the printer to the initial defaults
before starting a print job. It’s a good idea for you to follow the same practice,
just to make sure you get the settings you want.
When you want to set ah your laser printer’s parameters back to their initial
default values (some people call this “initializing” the printer), send this
command:
<ES0
52
E
-
The printer will finish printing any pages left in its memory before resetting
the parameters. Resetting clears unneeded temporary fonts from your
printer’s memory. Any permanent fonts or macros you have downloaded,
however, will still be there after you send a reset command. Permanent and
temporary fonts aredescribed at the end of this chapter’s “Controlling Fonts”
section.
_
Example: Printer controls
Let’s see what happens when we put these commands together. Say you have
just turned on your laser printer and selected LaserJet III emulation on the
front panel. What happens when you send the following commands to your
printer?
_-
<ESC> z
<ES- E
<ES0 &/2h 2X
As a BASIC program these would look like this:
..
-.
NEW
10 WIDTH "LPT1:",255
20 LPRINT CHR$(27);"z"
30 LPRINT CHR$(27);"E"
40 LPRINT CHR$(27);"&12h2X"
RUN
First, if it is working properly the printer prints a test print with all the
characters in its default font for this emulation (Courier).
Next the printer sets all its parameter valuesnumber of copies- to their initial settings.
_.
--
including feed selection and
The last command does two things: it tells the printer to accept paper you will
feed in yourself, and to print each page two times. This is handy when you
want two copies of a letter on preprinted letterhead.
You can now send your letter from your word processing program to the
printer and feed in those pages. When you’re done, you may want to send the
<ESC> E command one more time.
.-
53
PAGE ORIENTATION
You might reasonably think of page orientation as a page formatting issue.
To print words widthwise on a page, however, each letter in effect has to lie
on its back. So orientation is actually a font attribute, and is treated as such
later on in this chapter.
Page Length
The paper tray you have installed sets the default page size for your laser
printer. When you want a different size, and when you change the tray, you’ll
need to reset that page size. You should always change the page length before
you send text for printing. The Page Length command sets the number of
lines that can print on a page (lines per inch times the number of inches).
The Page Length command format is:
<ESC> &z/n P
where n is the number of text lines on the page; it can be any number between
5 and 128.
The default number of lines is the length of the paper tray times 6 lines per
inch. For 11-inch letter-size paper that works out to 66 lines (that’s also the
default when you haven’t put in a tray).
If you don’t want the default length, you should send the Page Length
command before you send text for printing. The table below should help you
pick the right number of lines. Decide which orientation and paper size you
want, then use the n under your preferred lines/inch:
ORIENTATION
Portrait
Portrait
Portrait
Portrait
Landscape
I--dscape
Landscape
Landscape
PAPER SIZE
Executive
Letter
A4
w@
Executive
Letter
A4
md
@ 6 LINES/INCH
60
66
70
84
43
51
49
*
’ @ 6 LINESANCH
80
88
93
112
58
68
66
58
* Printing landscapes onlegal paper is trickier. First set on portrait mode and
send the command &SC> &/84P and then change the orientation to
landscape
54
!
_~
An example: Say you want to manually print legal-size pages at eight lines
per inch. The following commands combine manual feeding with that page
length:
<ESC> &/2h 112P
--
If your command specifies a page length different than the paper in the tray,
the printer will go offline and display a message asking for the proper tray.
After you change the tray, press the ON LINE button to restart the printer.
It doesn’t hurt to print short pages on long paper. If you inadvertently print
alegal-size page onto executive or letter-size paper, the printer will scroll that
page across two sheets.
-
-_.
Also, the Page Length command puts all margins back to their defaults. So
after you send it, check whether you have to send any of the following
margin-setting commands.
L.
Side margins
-
_
_-
Margin settings define that part of the page on which the printer can print.
You set side margins to particular columns. The width of a column differs for
each font, depending on its pitch. Ten-pitch Courier, for example, puts
column 30 three inches from the left edge of the page (column 0). But 12pitch Prestige Elite puts column 30 just two and a half inches in.
You cannot set the left margin further over than the right margin. Use the
following command to set the left margin, setting n to be the column number
where you want the left margin to start:
<ESC>&anL
Similarly, to set the right margin, you send this command with your desired
column number:
<ESC> &a n M
If you want to put both left and right margins back to the printer’s printable
limits- in other words, to “clear” the side margins- send this command:
<ESC> 9
55
Top margin
Vertically, the LaserPrinter 8111confines its printing to its “text length,”
which should always be less than its page length. Both are measured in lines.
You can change the meaning of a “line” with line-spacing commands
described later in this chapter.
When you set the top margin though, it does not change, even when you
change the definition of a line. You can use this command to set the top
margin anytime. Just be aware that if the current print position is below your
margin, you’ll have to move the print position back up. Naturally, you have
to keep your top margin inside the page-length limit.
-
Use this command to set the top margin, setting n to be the number of lines
down from the top of the page that you want left blank before you start
printing:
<ES0 &rn E
Note that the character following the “&” is a lowercase “L”.
Text length and the bottom margin
By default, the LaserPrinter 8111automatically gives you top and bottom
margins of the same size. So you only need to send the Text Length command
when you want different top and bottom margins.
If you want a different bottom margin, first decide how many text lines will
produce the margin you want. Check that they won’t produce a bottom
margin lower than the page length. Then send the following Text Length
command, entering for n your desired number of lines:
<ES& &tn F
The Page Length, Top Margin and Text Length commands therefore work
together to set the bottom margin:
bottom margin = page length - (top margin + text length).
The bottom margin is called the “perforation region” with printers that use
continuous forms. You normally want to skip the perforations between the
continuous pages, but sometimes you don’t (for example when you print
labels).
Though you likely won’t often want to do it, the Star LaserPrinter 8111will
let you completely ignore the bottom margin too. If you choose to print below
the bottom margin, remember that you might lose words or graphics in the
56
-
unprintable region at the edge of the page. The command looks like this:
<ES0 &z/n L
If you want to allow printing below the bottom margin, for n enter 0 (zero).
-._
But if you want to forbid printing below the margin, which is the default,
enter 1 (one).
Example: Page formatting
-
OK, let’s have a go at formatting a page. The picture of the page we want is
just below. The actual width of the text on the page depends on which font
we use. Let’s plan on using our 16.66-pitch Line Printer font at eight lines per
inch.
column 10
--
column 70
tap margin = 8 lil
. .
--
text length I
100 lines
bottom margin
4 lines
pageleng!h=llZIines
I
\ cctasional
footnotes
As it prints, we also want to permit the occasional one-line footnote below
the normal bottom margin. And when we’re finished printing, let’s reset the
side margins so we can switch to our usual font width.
Here am the commands that w’illproduce this format for us:
<ES0
<ES0
<ES0
&c/l 12P
&a lOl7OM
&/8e 1OOfOL
(We’ll send our page here.)
<ES0
9
57
MOVING THE PRINT POSITION
Many ways to move
The LaserPrinter 8111provides excellent control over the print positionwhere you poise your laser “pen”. Horizontally, you can send backspace and
carriage return commands. Vertically, you can move the print position down
the page by printing so many lines per inch, or by sending line-feed and half
line-feed commands. You can move horizontally or vertically to tab settings
as well.
Those aren’t all. You can also tell the Star LaserPrinter 8111to move its print
position, either vertically or horizontally, in increments of:
l/10, l/12 or 3/50 inch (pitch settings),
l/48 or l/120 inch (line or column definitions),
l/300 inch (dots),
l/720 inch (tenths of a point).
All these commands are described below.
One hint about moving the print position: you can confuse yourself trying to
use more than two different units during the same session. So decide
beforehand how precise you need to be in moving the print position, not
forgetting any graphics you want to include. Then stick to the unit(s) you
choose.
Lines per inch
This vertical line-spacing command gives you more options than just the six
or eight lines per inch of early printers. Use this command to set how many
lines you want in each vertical inch of your page:
-cESC> 8ztn D
For n you enter the number of lines per inch you want- any of: 1,2,3,4,6,
8, 12, 16,24 or 48. If you enter a number other than these the printer will
ignore the command.
Defining the space and column
Before you use print positioning commands, you first may want to change the
definitions of the line or space (sometimes called “vertical and horizontal
motion indexes,” VMI and HMI). These definitions don’t actually move the
58
print position. Instead, they define two basic units you can use in print
position commands.
.
.
-
.
What’s important about the space is that it defines how far the print position
travels for every character you print (except for proportionally spaced text).
The space can also be thought of as the width of a vertical print column. One
column width is the width of the space character in the curmnt font, no matter
whether it is monospaced or proportionally spaced.
Occasionally you may want to change space width to override the current
pitch setting. Let’s look at an example. The space width comes in units of
1/12Othof an inch, and the Courier font can print 10 characters per inch. Each
charactercoversa tenth- 12/12Oths-ofaninch, so that font’sdefault space
width is 12 units. If we change its space width to 6, each character would halfoverlap the one before it.
L_
--
If you are using <SIB and <SO> to shift between a primary and secondary
font, it’s a good idea to change the space width after every shift.
To change the space width you send this command:
&SC> &k n H
-
-
in which for n you can enter a number fmm 0 (zero) to 840. A width of 0 will
print characters on top of each other; a width of 840 will print them seven
inches aprt.
-.
Defining line depth
me line depth (sometimes called the “vertical motion index”) specifies how
__..
far down a page the print position will move for each line feed. You probably
won’t use the line depth as much as lines-per-inch. Line depth can be more
precise but it isn’t as easy to calculate. The line depth comes in multiples of
l/4801 of an inch.
The important fact about the line depth is that when you change it you are
changing the actual meaning of a “line”. When you increase the line depth
you effectively decrease the number of lines per inch, and increase the page
length.
The command you send to set the line depth looks like this:
<ESC> &z/n C
59
-
(note that the character after the “8~”is a lower-case “L”) in which for n you
can enter a number from 0 to 336. If n is zero, lines will be printed on top of
each other, and if 336, they will be printed 7 inches apart.
Moving the PRINT position horizontally
You can use three different units to move the print position horizontally:
columns (space-widths), dots (each 1/3OOthof an inch), or tenths of a point
(decipoints). Both columns and decipoints can be fractions to two decimal
places, such as 45.75 decipoints- which provides a great degree of accuracy
for graphics applications.
-
Moreover, for each of these you can move the print position horizontally in
two ways. You can move absolutely from the left edge of the page. Or you
can move relatively, away from the current print position. To show you want
to move away from the current print position, you put a plus (+) or minus () sign before the number of units you want to move.
If you send a command that would put the print position outside either side
margin, the LaserPrinter 8111will let you do just that. However, you can’t
send the print position further than its printable limits at the edges ofthe page.
Horizontal moves: by columns, decipoints and
dots
To move the print position horizontally a number of columns, send the
command:
(, cESC> &a n C
in which for n you enter the number of columns you wish to move the print
position. So to move to column 45 you send the command:
-
&SC> &a 45C
But to move 45 columns to the rightof the curmnt print position, you send:
<ES0
&a +45C
To move the print position horizontally a certain number of decipoints, send
the command:
<ES0
&a n H
in which for n you enter the number of decipoints you wish to move the print
60
.~
position (preceded by a + or- sign if you want to move away from the current
position).
You can move the print position horizontally by dots both ways too. You can
move a number of dots away from the left edge of the page, or you can move
a number of dots away from the current print position.
To move horizontally this way, send the command:
<ESC> *p n X
in which for n you put either the number of dots away from the page edge,
or (preceded by a + or - sign) the relative number of dots away from the
current position.
So to move 20 dots from the left edge you send this command:
<ES0
*p 20X
And to move 20 dots to the left of the current position you send:
<ESC> *p -20X
You can also move the cursor 8 columns at a time horizontally by use of the
horizontal tab command. Simply send a tab character:
<HT>
to do this. Reverse tabbing is not possible.
Moving the print position vertically
You can use similar units to move the print position vertically: lines, dots, or
decipoints. Both lines and decipoints can be fractions to two decimal places.
You can also move the print position absolutely down from the top edge of
the page, or relatively, away from the current print position. Again, to show
you want to move away from the current print position you put a plus (+) or
minus (-) sign before the number of units you want to move.
The important difference about moving vertically up or down is what the
printer does when the print position hits the page top or bottom. If you try to
move above the top margin, the print position stays right at the margin. And
if you move the print position down off the page, the page is ejected and
printing continues on the next page.
61
Vertical moves: by lines, decipoints and dots
To move the print position vertically a certain number of lines, send the
command:
<ESC> &a n R
in which for n you enter the number of lines you wish to move the print
position. So to move to line 45, measured from the top edge of the page, you
send the command:
<ES0
&a 45R
.~
But to move 45 lines down from the current print position, you send:
<ES6
&a +45C
To move the print position vertically a certain number of decipoints, send the
command:
<ESC> &a n V
.-
in which for n you enter the number of decipoints you wish to move the print
position down (or precede the number with a + or- sign if you want to move
up or down from the current position).
Finally, you can move a number of dots down from the top edge of the page,
or you can move a number of dots up or down from the current print position.
To move the print position up or down an absolute or relative number of dots,
send the command:
cESC> *p n Y
-
in which for n you put either the absolute number of dots down, or (preceded
by a + or - sign) the relative number of dots up or down from the current
position.
_
So to move 20 dots down you send the command:
-
<ES0
*p 20Y
And to move 20 dots up you send:
<ESC> *p -20Y
Combining move commands
One thing about moving the print position with the above commands is that
they let you think of your page in terms of Cartesian coordinates.
62
All we mean is that you can combine horizontal and vertical movements that
use the same units. If you send this command,
<ESC> *p 40x 20Y
-
the print position will move to a spot 40 dots from the left edge of the page
and 20 dots down from the top edge. And if you send this one:
<ES0
&a +4Oh -20V
the print position will move right 40 decipoints and up 20 decipoints.
Backspace
...-
The Backspace control code works exactly as you might expect: it moves the
print position one column to the left.
<BS>
._-.
__.
--
Moving the print position back does not destroy any characters already sent.
In fact, because of that, this command can be quite useful. It lets you
superimpose one character over another.
Say you want to indicate a blank space as the letter b with a slash /through
it, an old programming symbol. Just send the b and then follow it with CBS>
and the slash, and you get this: b.
Carriage return
The Carriage Return command by itself only moves the print position back
to the left margin of the line on which it currently sits:
<CR>
If you want the print position to move down a line as well, send a separate
Line Feed command each time, or use Define Automatic Line Ends (explained below) to couple these two control codes.
Line feeds
.~
The Line Feed command advances the print position one line down the page.
The meaning of a line is set by the Line Depth command.
_-
To send a line feed just send this control code:
<LD
63
The Half Line Feed command is the one you want for subscripts. This
command moves the print position down the page one half the current line
depth:
<ES0
=
To send a reverse Half Line Feed, moving the print position up to let you print
a superscript, use this command:
cESC> &a -.5 R
Form feed
This command, like the PRINT button, makes the printer advance to a new
sheet of paper. When you send the cFF> control code you are also telling the
printer to print all its stored page information. Remember to send this
command to make sure any last partial page in your printer’s memory gets
printed:
cFF>
Define automatic line endings
When you press the Carriage Return key what do you expect to happen? Most
people think a computer keyboard should work like a typewriter, with a
Carriage Return starting a new line as well.
But computer programs don’t have to stick to that analogy. Some programs
(particularly graphics packages) want a Carriage Return to just move the
print position back to the left edge of the page. And they want a Line Feed
to move down to a new line without going back to the beginning of the line.
So you can specify exactly how you want <CR>, <LF> and cFF> to work
with this command:
<ESC> &k n G
For n enter one of the numbers from this table:
n
AUTOMATIC COMMAND
0 (zero) <CR>, <LF> and <FF> work according to their basic
definitions,
1 (one) <CR> will also generate a <LD (but <LF> and <FD stay
the same),
2
cLF> or <FF> will produce a <CR> too (<CR> by itself
won’t change),
64
.-~
3
<CR> generates a cLF> too, and either cLF> or d;F>
produces a <CR>.
After you send the command <ES0 &k 2 G for example, every time the
printer gets a Line Feed command it will move the print position down and
over to the start of the line. When it gets a Fonn Feed, the printer will also
move the print position back to the left.
Autowrap
One nice thing we get used to with a word processing program is not having
to worry about words going past the right margin. We don’t have to listen for
that typewriter bell at the margin any more.
This command does pretty much the same thing your word processing
program does. The important difference is that it does not wrap words. When
you turn on Autowrap, if you send too many characters for a line the laser
printer prints the overflow on the next line.
If Autowrap is on, when the printer gets a character that would print beyond
the right margin, it returns the print position for that character back to the left
and one line down (Carriage Return and Line Feed).
The Autowrap command works like a toggle switch:
<ES0
&s n C
If for n you enter 0 (zero) then this wrap-around mode will apply.
But if for n you put 1 (one) this automatic wrapping of characters will not
happen. The default if you don’t send a command is no wrapping.
Note: Even when Autowrap is on, the printer will print beyond the right
margin if you have sent one of the direct positioning commands described above, which move the print position past the margin.
Also, note that Autowrap doesn’t move the whole word down to the next
line- that’s a job for a word processor, not your laser printer.
Pushing and popping the print position
This provides a wonderful way to keep track of the print position. It works
by letting you keep a list of up to 20 print positions.
You can “push” the current print position onto the top of the list whenever
you want. Later, you can “pop” off whatever position is at the top of the list,
65
making it the current print position.
When would you want to save and restore print positions this way?
Whenever you need to interruptwhat you’re printing now to stick something
special onto the page. This is most handy when you need to jump from text
to graphics and back.
Say you’ve written one routine that puts the page number in the same place
on every page, and another that under certain circumstances prints two heavy
lines. You print merrily along until you have to print the lines. You then push
the current print position to execute the line-printing routine.
But part way through that you hit the page-number spot. So you push the print
position again and run the page-number routine. Then you can pop the print
position to print the second line. And when that’s done you pop it again to
return to printing text.
As you might suspect, this can involve fairly complicated programming,
typically using the macro commands described later in this chapter.
To push or pop a print position you send this command:
<ESC> &f II S
For n you enter 0 to push (save) the current print position,
or 1 to pop (restore) the last position saved off the list.
Note: The last position pushed onto the list will always be the first one
popped back later.
CONTROLLING FONTS
Font selection
The LaserJet III emulation lets you define and select fonts three ways: as
primary and secondary fonts, or by font identification number, or by
description. We’ll look at the first two.ways now, and explain selecting a font
by its attributes a little further on.
However you choose to refer to fonts, remember that a font must be available
before you select it. So if you want to select a cartridge or downloaded font,
you first have to put in the cartridge or download the font.
66
:::
F
.:,
pI’ .,
;,
):
\
Selecting primary or secondary fonts
.
-_
Of the three selection methods, you will save the most programming time by
shifting back and forth between primary and secondary fonts. That’s counterbalanced, though, by the fact that you often need mote than two fonts.
Typically, you use primary and secondary fonts to flip back and forth
between two different symbol sets- for example IBM symbol sets 1 and 2.
You can designate any two fonts, whether internal, cartridge or downloaded,
as primary and secondary.
The way you show you’re talking about a primary font in an Escape sequence
is to follow the <ES0 symbol with a left parenthesis. For example,
<ES0
b-.
(s 10 H
means you want your primary font pitched at ten characters to the inch.
Typing a right parenthesis instead means you are referring to the secondary
font:
cESC> )s 10 H
You define a font as primary or secondary as you select it. To make a font
your primary or secondary font, you use font-description Escape sequences
such as those just above, specifying the attributes you want.
-.
If you don’t explicitly indicate what attributes you want for the primary or
secondary font, the printer will use the same default font for both. This
default font’s attributes include the Roman-8 symbol set, lo-pitch spacing,
12-point height, upright style, medium weight, and Courier typeface.
After your primary font is selected, you can choose it for printing by sending
this Shift In control code:
<SI>
All the text you send after that command will print in the primary font.
Your laser printer shifts to the secondary font when you send this Shift Out
code:
<so>
67
Assigning font ID numbers
The second way to define and select fonts is by using font ID numbers. You
may prefer this method if you frequently use many fonts. While not as short
as <SI> and <SO>, it’s quicker than describing font attributes over and over
again.
To give an ID number to an internal or cartridge font, you first make it the
primary font. That is, you send a left-parenthesis Escape sequence (a font
attribute command as described below) and the Shift In control code. Then,
to assign an ID number to the font, you send this command:
<ESC> *c II D
For n you can enter any number between 0 and 32767 as the font’s ID number.
(Not that you can have more than 64 fonts in the printer at once, even with
the optional memory board. A printer would need an elephantine memory to
hold 32767 fonts!)
Selecting downloaded fonts
The easiest way to select among downloaded fonts is to use font ID numbers.
When you download a font you make the Assign Font ID command above
the first command in your sequence (see “How to download your own fonts”
later in this chapter). After you’ve assigned an ID number to a downloaded
font, you can select it as your primary font with this Select Font ID command:
<ESC> ( n X
in which n is your desired font’s ID number.
If you use many fonts you’ll use that command to select among them. But
what if you prefer to just use &I> or <SO> to shift between primary and
secondary fonts? You want to select a downloaded font ID as your secondary
font. This is the command to send:
<ESC> ) n X
Font attributes
The third way to select a font is to simply describe what font attributes you
want. (Remember, selecting a font does not modify a font. You can’t get bold
or 14-point characters if you don’t have a bold or 14-point font in the printer.)
In listing the attributes you want, it will help you to prioritize them the same
66
way your LaserPrinter 8111does. Your printer ranks the various attributes a
font can have this way (from most to least important):
orientation
symbol set
spacing (proportional or monospaced)
pitch (characters per inch)
font height (in points)
style (italic or upright)
stroke weight (light to bold)
typeface
..
c
The laser printer just zips down this chain of attributes one by one,
eliminating fonts that don’t match what you want, until it gets down to one
unique font that matches your request. If the printer matches down to, say,
style or weight but can go no further, it will give you its closest font to your
request.
And if you don’t specify a particular value for some attribute, the printer
assumes you want the value that attribute had in the lust font you specified
(or the default value if you’ve just turned on the printer). This can save you
some effort: if the font you want has an attribute the same as the current font,
you don’t have to specify that attribute again.
A_
Orientation
Portrait orientation prints text across the width of a page. Landscape
orientation prints text sideways up the length of a page.
b^
_.
-
,--.
The Star LaserPrinter 8111is more flexible about orientation than most other
laser printers; it lets you simply rotate any portrait font to the landscape
orientation or vice versa. To start you off when you change orientation, the
printer resets all its margins and its column and line definitions to their
default settings.
When you want to select the opposite orientation, send this command:
-
<ES&& /n 0
in which for n you put
.
0 to get portrait orientation,
1 to get landscape orientation,
2 to get upside-down portrait orientation,
or 3 to get upside-down landscape orientation.
_
(Notice: the /character after the & is a lowercase L.)
-
69
To select the direction in which characters, raster graphics ands fill patterns
are printed, use the following command:
<ESC>&a n P
in which for n you put
0 to select the portrait direction,
90 to select the landscape direction,
180 to select the upside-down portrait direction,
and 270 to select the upside-down landscape direction.
Symbol sets: a review
Each font can have many symbol sets, each being a subset of all the possible
characters of the font. These subgroups include different symbols for
different nations or for lawyers or artists or mathematicians. Any two symbol
sets, moreover, may store the same symbol at a different font position in the
printer’s memory.
The default LaserJet III emulation symbol set is Roman-8, which includes all
ASCII characters plus dozens of accented letters. But you can use any of the
sets shown below. Technically you can pair any symbol set with any internal,
cartridge or downloaded font; however it doesn’t make much sense to print
text with a math or line-drawing symbol set.
LaserJet III mode provides two different symbol set commands. You put a
code into one command to select aparticular symbol set for your primary or
secondary font. You use the other command to select the current or default
symbol set for your primary or secondary font.
Selectin’g a symbol set
This first symbol set command lets you select a particular symbol set for the
current font. To select a symbol set for your primary font, send this
command:
<ESC> ( n
70
For n enter one of the following symbol codes. The first character must be
a digit and the second an uppercase letter.
CODE n
OA
OB
OD
OE
OF
OG
01
OK
ON
00
OQ
OS
ou
OY
ID
IE
IF
IG
10
IQ
IS
IU
2K
24
2s
2u
3Q
3s
4s
5s
6s
8M
8Q
8U
8Y
9Q
SYMBOL SET
Math-7 symbols
Line Draw characters
IS0 60: Norwegian
Roman Extension
IS0 25: French
HP German
IS0 15: Italian
JIS ASCII
ECMA-94 Latin 1
OCR-A
Math-8A symbols
IS0 11: Swedish
US-ASCII
Bar Code 39
IS0 6 1: Norwegian
IS0 UK
IS0 69: French
IS0 21: German
OCR-B
Math-8B symbols
HP Spanish
I-4@
IS0 57: Chinese
Pi font-A symbols
IS0 17: Spanish
IS0 IRV
OCR-B Extension
IS0 10: Swedish
IS0 16: Portuguese
IS0 84: Portuguese
IS0 85: Spanish
Math-8 symbols
IBM-PC Set
Roman-8
Bar Code EAN/UPC
IBM-PC Extension
71
IBM-PC (US)
ECMA-94 7Bit
IBM-EC (Denmark/Norway)
PC-850
Pi font symbols
IOU
IIQ
IIU
12u
15u
To select a symbol set code for your secondary font, flip the parenthesis:
<ES0
)n
and for n substitute your choice from the codes above.
Selecting the current or default symbol set
Your printer can use either the primary or the secondary font as its current
font. And that current font has its current symbol set. Your printer also
remembers its default font and symbol set, which are Courier with Roman8 (unless you’ve changed their initial parameter values through the front
panel menu).
The following command lets you select one of those symbol sets for your
primary font.
<ESC> ( n @
For n enter one of the following selection values for your primary font:
n VALUE
0 (zero) or 1 (one)
2
3
SELECTION
Selects the default symbol set
Selects the current font’s symbol set (this
forces the printer to select its best matching
font)
Selects all of the default font’s attributes
(not just symbol set)
Similarly, you can select either the default or the current symbol set for your
secondary font. You also may want to use the same symbol set for both
primary and secondary fonts.
To do these tasks, you can send the following command to select which
symbol set you want for your secondary font:
<ESC> ) n @
For n enter one of the values from this table:
n VALUE
0 (zero)
72
SELECTION
Selects the default symbol set
/
1 (one)
/’
6
fi
I-
I,,i
I
I
i
2
3
_~
Then in the report you decide to use a proprietary product name, so want to
nip out to grab the @ symbol on a legal cartridge font you’ve already loaded,
then return to your German set. When your report’s all done, you want to
return the printer to its Roman-8 default.
-
I
Here are the commands that will do the job for us:
I
1 !_
/
I
same symbol set as primary font
the current font’s symbol set
all the default font’s attributes (not just
set)
Example: Symbol set commands
Let’s take a short look at how you use these commands. Here’s the scenario:
You am already using the Tms Romn typeface, but want to use the Gennan
symbol set as you am writing a report for your Berlin office and need umlaut
characters for several names in the report.
L
L
Selects
Selects
Selects
symbol
<ES0
.
-
( OG
(you s&-t your report here)
I
;ESC> ( IU @
<ESC> ( OG
j
(you finish your report here)
.
/
I -
<ESC> ( O@
If you had finished with <ESC> ( 3@ the printer would return to its standard
Courier font, not just its Roman-8 symbol set.
-.
t
i
I
j
i
.~
*
Spacing
If you specify monospaced for a font, each character prints with the same
width. But if you specify proportional spacing the design of each character
73
determines its width. To define how you want your primary font spaced, send
this command:
<ESC> (s n P
in which for n you put
0 (zero) to get monospaced,
or 1 (one) to get pxoportional spacing.
If you specify proportional spacing it doesn’t matter if you also specify pitch,
because spacing is a higher priority font attribute. The printer will just ignore
the pitch request.
To define spacing for your secondary font, use the same numbers and just flip
the parenthesis:
<ES0
)s n P
Pitch
Pitch defines how many characters per inch you want for a monospacedpitch font. Your Star LaserPrinter 8111’sinternal monospaced-pitch fonts
have settings of IO.12 or 16.66 characters per inch. Cartridge or downloaded
fonts with monospaced pitches often have other settings for characters per
inch.
To select the pitch you want for the primary font, send this command:
<ES0
(s it H
where for n you put in how many characters per inch you want. For example,
<ES0 (s 12 H will pack twelve characters into each inch.
The corresponding pitch command for the secondary font is:
<ES0
)s n H
You can use a different command instead of these for general character pitch
setting. This command, since it doesn’t have parentheses, covers both the
primary and secondary fonts. It looks like this:
<ESC> &k n S
For n you enter a pitch code from the following table:
CHARACTERS PER INCH
10 cpi (pica)
16.66 cpi (condensed)
74
PITCH CODE n
0 (zero)
2
Font height
The height of the characters you print is measured in point sizes. The
LaserJet III emulation provides fonts in 6,7,8.5, 10, 12, 14, 16, 18,24 and
36 point sizes. If the font height you specifically ask for is not available, the
printer will select the font with the size closest to your request.
To select font height for the primary font use the following command. For
n enter the font height in points that you want:
<ESC> (s n V
To select font height for the secondary font, send this command:
<ESC> )s n V
Style
Style defines whether your text is printed in italics or upright, the way these
words are. Send this command to select the style you want for the primary
font:
<ESC> (s n S
in which for n you enter
0 if you want normal upright text,
or 1 if you want italics.
To select style for the secondary font, just reverse the parenthesis and use the
same n numbers:
<Esc> )s n s
Remember that style is a relatively low-priority attribute. If a particular font
satisfies all higher priority attributes but doesn’t come in the style you want,
you’ll get that font without your style.
Stroke weight
The weight of a font defines how lightly or boldly it prints
With LaserJet III emulation you can be more flexible about stroke weight
than with the bold on/off commands of the other emulations. The following
command gives you a range of 15 degrees of boldness, though not many fonts
exploit that range.
Send this command to select a primary font with your desired stroke weight:
&SC> (s n B
in which you replace n with a number from -7 (meaning light) to +7 (very
bold). You need the negative sign to get the lighter weights. A weight of 0
75
(zero) produces medium print.
To select the stroke weight for the secondary font, use the same numbers with
this command:
cESC>)snB
I
I
An incidental note: You will likely use optional fonts to give you boldface,
so probably don’t need to know this. But it’s possible to print bold without
even having a bold font in the printer. You just print the text you want in bold
two times, with the overprint offset by 4 decipoints.
So you can use the command <ESC> &a n H to back up, you just need to
know the width in decipoints of what you want to overprint. In a monospaced-pitch font like Courier that’s easy: just keep track of how many
characters you print. In a proportional font you’d keep track of the decipoints
by using a character-width table. After backing up 4 decipoints less than the
total text width you just print your text again.
I
[
c
I
Typeface
The last attribute you can give to characters is their typeface. The design of
characters is what font designers often think of as the main determinant for
a font. But when you select a laser printer font, typeface sits at the bottom of
the list.
To assign the particular face you want for your primary font, send this
command:
<ESC> (s n T
For n enter one of the font code numbers from this table:
TYPEFACE
Line printer
Pica
Elite
Courier
Helvet
Tms Romn
Gothic
script
Prestige
Caslon
76
n
0 (zero)
1 (one)
2
3
4
5
6
7
8
9
I
:. .,
L
,.
:
L.
:’
;
-.
i
L
I
Y
__
_
Orator
Presentation
Line Draw
PC Line
OCR
Bar Code
10
11
12
13
14
15
To assign a character face to the secondary font, just flip the parenthesis and
use the same n numbers:
<ESC> )s n T
Example: Font attributes
Let’s put the last half dozen font attributes together in an example. Say we
want to select a nice font- a small Line Printer- for the footnotes in a report
we’ve finished. Let’s make it our secondary font, since the body of our report
is done in the primary font.
We’ll go with the defaults for orientation and symbol set. But let’s be specific
about the other attributes, and let’s remember to put them in priority order.
We decide on a monospaced of 16.66 characters per inch and a height of just
seven points (footnotes should look smaller than our regular text). To keep
it readable, we opt for the ordinary upright style and medium weight in the
Line Printer typeface. Our sequence of individual commands would look like
this:
<ES0
<ES0
<ESC>
<Esc>
<ESC>
<ESC>
)s OP
)s 16.668
)s 7V
)s OS
)s OB
)s OT
Since these font attributes all start with the same )s command-category
prefix, let’s put them all together in one command:
<ES0
)s Op 16.66h 7v OSOb OT
The BASIC statement we could send to select our desired font would look
like this:
77
100
And assuming
font
CHR$(27);“)sOp16.66h7vOsObOTn
LPRINT
that
we have such a font
looks
like
this
sentence
in our printer,
for
ve’d
get a
our footnotes.
Underline
Underlining is printing feature, not a font attribute.
You can underline in two ways: as a print feature, or with the _ underline
character. If you backspace and use the underline character, however, you
often find the underline doesn’t come out the same length as your text.
The underline command works better. When you turn on the underline
feature this way, the printer will underline all subsequent printable characters, including spaces.
Send this command to turn on the underlining mode:
<ESC> &d n D
in which for n you put
0 (zero) to get fixed underline,
or 3 to get floating underline.
And send this command to turn off the underline mode:
.&SC> &d @
How to print Escape sequences and control codes
You use both Escape sequences and control codes to print. So how do you
print Escape sequences and control codes?
But you actually can print commands, and in two different ways. You would
do this when you want to see everything exactly as it is sent to the printerfor example, to debug a string of text and commands that doesn’t print the
way you think it should.
The Transparent print command prints the string of data that follows it
without paying attention to any embedded Escape sequences or control
codes. Transparent print even prints Carriage Return codes without zapping
the print position back to the left margin.
To use Transparent print, just put this command immediately in front of your
print data:
76
<ESC>&pnX
For n you specify the number of bytes of data you want to print.
Display Functions, like the Transparent print command, prints Escape sequences and control codes without actually executing them. But Display
Functions pays attention to Carriage Return codes, so text looks more like the
way it normally prints. Display Functions also prints commands as blanks,
not as symbols.
i
L
L
L
--
Display Functions actually involves two Escape sequences, one to turn it on
and another to turn it off. To turn on Display Functions, send this command
just before the data you want displayed:
<ES0
L
Y
And to turn off Display Functions, send this command at the end of the
displayed print data:
L
CESCP z
That Escape Z sequence itself prints as a blank followed by a Z.
L
Font control
The Font Control command has two main functions: defining a font’s status,
and deleting fonts.
-.
L.
.-
You can make a font either permanent or temporary with the Font Control
command. Thishelps you control which fonts you delete, as permanent fonts
do not get deleted when you reset the system. The permanent or temporary
status you give to a font will apply only to the font you last specified, using
one of the font ID commands described above.
When your printer’s memory gets stuffed with fonts, you can also use this
command to delete some of them. You can only delete fonts you’ve
downloaded, as internal and cartridge fonts are never deleted. No text will get
lost when you delete a font, even when that font is on an unprinted page in
the printer’s memory.
To control fonts you send this command:
_-
cESC>*cnF
For n enter one of the numbers from this table of functions:
79
n
FUNCTION
Delete all temporary and permanent fonts
0 (zero)
Delete all temporary fonts (another way to delete
1 (one>
all temporary fonts is to send a reset command)
Delete just the font with the most recently specified ID 2
Delete just the last character of the font you have
3
downloaded
4
Make the current font ID temporary
Make the current font ID permanent
5
Make a temporary copy of the current font
6
A bit of explanation about that last function 6: When you give a font ID to
any font you first need a temporary copy of that font in memory. That copy
is already there for downloaded fonts. But you will need function 6 to create
a temporary copy of an internal or cartridge font.
Here’s how to assign ID numbers to an internal or cartridge font. You first
select the font, then send the Font ID command to give it an ID number, and
finally copy the font into memory with Font Control function 6. If you want
that copy to stay in RAM when you reset the printer, you conclude by sending
Font Control function 5.
Example: Con trolling fonts
Let’s see how those last few commands work, translated into BASIC.
Pretend you want to make a short test with your current font (it doesn’t matter
what it is): you wanttoprint what’sinASCI1 table positions 128through 130.
There’s nothing there in your normal Roman-8 symbol set, but some other
sets keep control codes or international characters there.
Assuming you like what you see printed from those ASCII positions, you
then want to make that current font permanent. Finally, you also want to
dump all the temporary fonts from printer memory to make room for some
graphics you’ll be printing.
Let’s start with a reset and an underlined heading for your test print:
100 LPRINT CHR$(27);"E";
110 LPRINT CHR$(27);"&dOD";
120 LPRINT "Underlined heading for test print
of ASCII 128 - 130";
130 LPRINT CHR$(27);"&d@"
80
_
140
150
160
170
LPRINT
LPRINT
LPRINT
LPRINT
CHR$(27);"&p3X";
CHR$(l28);CHR$(129>;CHR$(l30);
CHR$(12);
CHR$(27);"*c5flF";
i_
Line 100 is just the <ESO E reset command. Lines 110 and 130 turn on and
off the underline feature.
Line 140 turns on transparent printing, which forces printing even for
normally unprintable control codes. The three bytes you want to print are in
line 150. To see what’s there, you send a form feed command in line 160.
--.
_
And finally, line 170uses the font control command to make the current font
permanent and then delete all temporary fonts.
Example: Assigning font numbers
Now let’s do a program in BASIC. First we’ll assign font numbers to the
Courier and Line Printer resident fonts and to a cartridge font, IBM PC
Courier. Then we’ll print samples of each font.
-.~
c_
..__
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
LPRINT
CHR$(27);"(8U";
CHR$(27);"(sOp10h12vOsOb3T";
CHR$(15);
CHR$(27);"*clD";
CHR$(27);"*c6F";
CHR$(27);"(8U";
CHR$(27);"(sOp16.66h8.5vOsObOT";
CHR$(15);
CHR$(27);"*c2D";
CHR$(27);"*c6F";
CHR$(27);"(1OU";
CHR$(27);"(sOp1Oh12vOsOb3T";
CHRS(1.5);
CHR$(27);"*c3D";
CHR$(27);"*c6F";
CHR$(27);"(1X";
"Font 1 - Resident Courier"
CHR$(27);"(2X";
"Font 2 - Resident Line Printer"
CHR$(27);"(3X";
..
81
300 LPRINT "Font 2 - Cartridge PC Courier"
310 LPRINT CHR$(27);"(1X";
320 LPRINT CHR$(12)
Line 100 and 110 calls the internal Courier font and line 120 makes it the
primary font. Line 130 gives it font ID number 1, and line 140 makes it
~mporary.
Lines 150 through 190 do the same thing for the Line Printer font, and lines
200 through 240 for the cartridge font. Notice that the cartridge font has the
IBM symbol set code 1OU.
Lines 250 through 300 print out samples of the three fonts. Finally, line 3 10
resets the default to our internal Courier font, and line 320 performs the final
form feed to print the page.
USING YOUR OWN FONTS
Font design is tedious
A warning: font design is an an. Don’t expect to turn out professionallooking fonts in a few hours.
Sometimes, though, you have to build your own typeface, even if you don’t
work with a company in the font-selling business. You may, for example,
want to print your own customized company logo. It means building up
characters within a cell or grid, perhaps 50 dots high and 35 wide- lots of
dots.
Because defining yourowntypeface is so tedious, make sure you’ve checked
out as many downloadable fonts as you can find from font development
companies.
The next handiest way to do the job is to ask around, maybe where you bought
your LaserPrinter 8111,to see if you can get one of the font-creating or fontediting utility programs now on the market. FonGenIV+ is one. Keep an eye
out, too, for new word processing tools that might save you the trouble of
painstakingly figuring out details like kerning.
Even with aids like these, building a custom font is an intricate process. It
calls for the creation of a family of up to 200 characters sharing a common
design and proportional scheme, and that’s just for one type size. No mean
feat.
82
-
. ..
How to download your own fonts
Characters that you define and store yourself are called “user-defined”
characters. Let’s assume you already know what text is to be in your custom
font, and have designed its typeface, weight, width and style. Once you’ve
created your own characters, you’ll need to download them to your laser
printer.
L
The process of downloading a font you’ve designed yourself is somewhat
detailed. To download your font, you follow the following steps:
L
1)
i.
-
2)
3)
4)
3
-i
L.
i
assign a font ID number to your font,
download a font header,
identify the position of each character to be downloaded,
send a character descriptor and bit map for each character,
specify whether the file is to be permanent or temporary.
1) Assigning a font ID to your font
To assign an ID to your font, you send this command (described above under
“Assigning font ID numbers”) with an ID number for n between 0 and 32767:
<ESC> *c it D
Before sending that command though, check whether the ID number is
already allocated to another font. If it is, that existing font will be deleted with
the next command.
2) Downloading a header for your font
Even if the printer doesn’t have enough memory to create your font, it will
delete any existing font with the same ID number when you download the
header for your font.
L
A font’s header is the list of its attributes, which your printer uses to select
that font. Each font header, 26 bytes long, is stored at the front of the font.
You send a font header command to your printer just before you download
the font’s characters.
The header command looks like this:
<ES0
)s n W
and must be followed immediately by the data describing the font’s attributes. The n value is the actual number of bytes of description data, almost
always 26. Note: unlike other LaserJet III commands, you must enter the
ASCII symbols 2 and 6 here, not the number 26.
83
Here’s a typical font header command:
<ESC> )s 26W OcSUB>O1OOOcRS>O<RS>02OO1<FF>Od0MKHkETX>
Aside from the actual command at the front, the test looks like gobbledygook? But there’s 26 bytes there, each one an ASCII character, each one
specifying a particular font attribute. (The enclosed items with brackets are
single ASCII characters that happen to be control codes.)
Each byte in the header is a number, which you send as whatever symbol
happens to be stored at that numeric position in the ASCII table. Coding some
of these numbers is tricky, however, and we recommend you ask your Star
Micronics dealer to help you build your font header. To get you started, the
table below shows what each of those bytes means:
BYTE
o-1
2
3
4-5
6-7
8
9
10
11
12
13
14-15
16-17
18-19
20-22
23
24
25
MEANING
header length
blank
font size
blank
baseline position for characters
blank
cell width
blank
cell height
orientation
spacing
symbol set
pitch
line spacing
blank
style
stroke weight
typeface
3) Positioning each character in your font
Before you download each character you have to tell the printer where in its
font table to put it. You indicate where by sending this command:
<ESC> *c n E
Fo; n you put the decimal number, between 0 and 255, of the position in the
font table where you want your character stored.
84
Your printer’s font table is just like the ASCII table. Before you send each
character, say g , you have to say where you want to put it. In the ASCII table,
g is at decimal position 103. So you send this command:
__
<ES0
*c 103 E
And immediately after it you send the bits that make up the character g.
4) Describing each character in your font
The next step is to describe each of your characters, “mapping” where you
want each dot to go. Send this command before each character:
-
<Esc> (s n w
-
.-
For n you enter the number of bytes you’ll be sending after this command,
to describe and map your character. Sixteen bytes am needed for the
description; the bit-map takes as many bytes as you’ve put into each
character cell- perhaps two or three hundred bytes.
As with the font header, each byte in the character description is a number,
sent as the symbol at that position in the ASCII table. Coding character
descriptions is tricky too, so again we recommend you ask your Star
Micronics dealer for help. The table below shows what the bytes in the
character description mean:
-“~
--
--
-.
.-
BYTE
0
1
2
3
4
5
6-7
8-9
10-l 1
12- 13
14-15
MEANING
description length
blank
always 14
always 1
orientation
blank
left offset (blank space to left of character)
top offset (blank space above character)
character width
character height
print position travel (proportional spacing only)
The bit map of the character is just the pattern of dots in the character, starting
at the top left of its cell. You work your way across the cell and down to the
bottom right, giving each dot a value of 0 if it’s not to be printed and 1 if it
is. Then you group those dots as 8-bit bytes.
85
5) Permanent or temporary?
The last step in downloading your own font is to make the font permanent or
temporary, using the Font Control command described earlier. The command &SC> *c 4 F will allow the font to be erased when you reset the
printer. But the command <ESC>*c 5 F will keep your font available even
after you reset the printer.
RASTER GRAPHICS
The Star LaserPrinter 8111offers raster graphics (sometimes called “bitmapped graphics”), which specify each dot in a graphics pattern.
Be aware, though, that adding graphic elements always slows up printing
with laser printers.
Starting raster graphics
You follow these four steps when you use raster graphics, in the order shown:
Define what resolution you need.
1)
Issue the command to start graphics.
2)
Send the commands to transfer raster graphics.
3)
Send
the command to end graphics.
4)
You must define the resolution of your raster graphics before you use the
Start Raster Graphics command. To define the resolution you need in your
graphics, send this command:
<ES0
*t n R
If the value of n is greater than 150, the resolution of the final graphics image
will be 300 dots per inch (dpi); if n is from 101 to 150, the resolution will be
150 dpi; if n is from 76 to 100, the resolution will be 100 dpi; and if n is 75
or less, the resolution will be 75 dpi. The default resolution is 75 dots per inch.
After graphics have started, the printer will ignore any resolution command
until it receives the command to end graphics.
Raster graphics start printing either at the left page edge or the current print
position. To start raster graphics you send this command:
<ESC> *r n A
You can put in either 0 (zero) or 1 (one) for the n value. If you enter 0, the
margin for graphics will be set at the left most printable edge of the page (not
86
the same as the left margin for text). But if you enter 1, the margin for graphics
will be set at the column of the current print position, and your image will
appear only to the right of that graphics margin.
A programming hint: move your print position in dot increments whenever
you’re dealing with graphics. It’s easier than trying to calculate columnwidths or decipoints.
-..~
.
.._
The Raster Height command specifies the height in pixels of the next raster
graphic (between the start graphics and stop graphics commands).
-.
<ESC>*r n T
h._
. .
-._
-.
.
The value of n must be non-negative; if necessary, it is truncated to the value
of (logical page length) - (y coordinate of cursor). This command causes all
raster rows after the specified height to be clipped (disregarded), even if n =
0. It forced the cursor position to advance vertically by n TOWS,even if less
than n rows are transferred. The area maps to either opaque or transparent
depending on the source transparency mode.
The Raster Width command specifies the width in pixels of the next raster
graphic.
.-
<ESC>*r n S
*_.
The value of n must be non-negative; if necessary it is truncated to the value
of (logical page width) - ( x coordinate of cursor). It will clip all raster rows
longer than the specified width, even if n = 0. It will pad any row shorter than
the specified width with zeros. The area maps to either opaque or transparent
depending on the source transparency mode.
The default value is the width or length of the logical page, depending on the
orientation. The command is ignored when received between start and end
raster graphics commands or if n is negative.
-_
The Raster Y Offset command advances the vertical position and is ignored
when not in the raster mode.
<ESC>*b n Y
If n is negative or if the new position would exceed the current raster height
or the page limit, it is ignored.
. .
The Set Compression Mode command selects the compression mode used
for downloading raster data until the mode is changed or the printer is reset
87
and is ignored when received between start and end raster graphics commands.
<ESC>*b n M
Set n to 0 for the unencoded compression mode (the default value), 1 for the
run-length encoding compression mode, 2 for the tagged image file format,
and 3 for the delta row compression mode.
-
In the unencoded compression mode, each bit is interpreted as a single dot,
with the first dot in the row, the most significant bit of the first byte.
Run-length encoded data must be received in byte pairs; the first byte if the
repetition count and the second byte is the pattern used [repetition count] +
1 times. In this mode, a row with an odd number of bytes if ignored but the
cursor advances to the next row.
The tagged image file format (TIFF) compression mode is combination of
these two. Data is received in byte “runs”. If the first byte of a run is negative,
-n, withO<n<128,thentherunhasonlytwobytesandthesecondbyteisused
n-t1times. If the first byte is ~128, the run consists of the following [first
byte]+1 bytes and these am interpreted in the unencoded compression mode.
If the first byte is 128, the command is ignored.
In the delta row compression mode, a row is described by its difference from
the current “seed row”. The initial seed row is set to all zeros by the start raster
graphics command. Once a new tow has been built, it becomes the seed row;
the second row is rest to all zeros by advancing the raster vertical position.
The difference from the seed row is described by a command byte with the
first 3 bits specifying the number of bytes (up to 8) to be replaced and the
other 5 bits specifying the offset from the last untreated byte, with optional
additional offset bytes if the previous offset had the maximum value, up to
8 replacement bytes.
Sending and ending raster graphics
Graphics printing is independent of text margin boundaries, including the
perforation skip region. It is only limited by the printable area and the page
length.
To transfer raster graphics you send this command at the beginning of each
line of raster data:
<ESC> *b n W
88
--
For n you enter the number of bytes of graphics data to follow on this line.
The data must follow immediately after the W in this command.
i
L
Data bytes are interpreted as one line of raster graphics data (one data row).
Each byte is made up of eight bits. The bits of raster graphics data (l’s and
O’s) you send to the printer describe single dots to be printed: a 1 indicates
you want a dot printed, and a 0 indicates you do not want a dot printed.
Use the following command to end raster graphics:
i
L
<ES0
*r B
After ending graphics you can then send text to merge with it.
PATTERN GRAPHICS
The Star LaserPrinter 8111also printspattern graphics, which prints lines and
patterned blocks.
L
I
Print shops call lines of any thickness rules. A printed line in fact is a
rectangular area with one “skinny” dimension, from one to many dots thick
We will use the word “rules” too, to avoid confusion with the lines used to
measure pages.
You follow these three steps when you use rule and pattern graphics:
L
i
1) Define the dimensions you need.
2) Choose the graphics pattern you want to fill in those dimensions.
3) Print the pattern.
Remember to send the following rule or pattern commands in
that order.
Defhing
i
L
L..
L
L
rule or pattern dimensions
Defining the dimensions of the area you want to fill just means indicating the
horizontal and vertical size of the pattern, or the rule’s length and thickness.
You can indicate dimensions in either dots or decipoints (tenths of a point).
At 300 dots or 720 decipoints to the inch, decipoint measurements am more
accurate. The printer converts decipoint values into dots, using 2.4 decipoints to the dot. It rounds up fractions to the next integer. So 1225
decipoints would work out to 510.4 dots, and the printer rounds this up to 5 11
dots.
89
Your dimension commands specify an area to the right and down from the
current print position. If you define an area larger than the page, your printer
will accept the command. It will, however, cut off your pattern or rule at the
boundaries of the page’s printable area.
When the printer finishes its print “map” of your rule or pattern, the print
position automatically returns to the spot from which you started. That
means, for instance, that you can make a lightly shaded rectangle and then
start printing text right over it. This kind of box can be useful for setting off
particular information from the main body of your text.
Horizontally, you can specify the rule length or horizontal pattern size in dots
with this command:
<ES0
*c n A
in which for n you enter how many dots across the page you want the rule or
pattern to be.
Alternatively, to specify the horizontal dimension for a rule or pattern in
decipoints, you can print this command:
<ESC> *c n H
in which n is the horizontal rule or pattern size in decipoints.
Vertically, you can indicate the size of your rule or pattern in dots with this
command:
<ESC> *c n B
in which n is the number of dots defining the thickness of the rule or the depth
of the pattern
Alternatively, to show the vertical dimension in decipoints, you send this
command:
<ESC> *c n V
in which n is the number of decipoints in the rule’s thickness or the pattern’s
vertical length.
Choosing and printing
a rule or pattern
You need both of the next five commands to choose and print the particular
pattern you want to fill your defined area. These commands work together.
With the Print Pattern command (which actually comes second) you specify
90
i
c
i’
,I,
::..,
:
whether you want to fill your rectangular area with a solid black rule, a finely
dotted gray-scale pattern, or apredefined linear pattern. And with the Specify
Pattern command you can indicate which particular dotted or linear pattern
you want. You always send the Specify Pattern command before the Print
Pattern command, even if you want a solid black rule.
-
-
To indicate the particular pattern you want, send the following command.
The general meaning of the n value you enter actually depends on the
command you put after this:
<ES0
I.
*c n G
If you want a solid black rule it doesn’t matter what you put in for n, as the
printer ignores it.
If you want a l-scale dotted pattern, for n you enter here a percentage number
from 1 to 100 indicating the density with which you want the box filled, from
light to solid. Your n percentage will correspond to one of the eight grayscale densities in the chart below.
l-
-
-
-__
2%
I-I
11 - 20 %
3
- 10%
trl
21 - 35 %
..-
-.-
36 - 55 %
56 - 80 Yo
-..
-_.
-_
81 - 99 O/,
100 %
-^.
I.
_.
91
If you want a linear pattern, for n you enter here a pattern number between
1 and 6 inclusive, identifying one of the linear patterns below.
#6
You always send the following Print Pattern command after a Specify
Pattern command. This Print Pattern command identifies whether the area
you have defined is to be filled with a rule, dotted gray-scale pattern, or linear
pattern:
,<ESC>*cnP
For n enter a value from the following table. (If you select a linear pattern
here, but a dotted pattern in the previous Specify Pattern command, the
printer will ignore this Print Pattern command.)
92
n VALUE
PATTERN
0 (zero)
1
2
3
5
solid black
solid (opaque) white
shaded fill (as selected with cESC>*c n G)
cross-hatched fill (as selected with <ESC>*c n G)
current pattern fill (as selected with <ESC>*v n T)
If n = 5 has been selected, you will need the following command.
<ESC>*v n T
This command selects the current pattern type to be applied to source images
(not rectangular areas) before printing.
Pattern
Solid black
Solid white
Currently defined shading pattern
Currently defined cross-hatched pattern
n Value
0 Mm)
1
2
4
For n = 2 or 3, the pattern defined by the most recent <ESC>*c n G command
is used. To change the pattern, a new aSC>*c n G and a new <ESe>*v n
T command are needed.
The following two commands control “transparency”, whether or not white
sections of an image block out black pixels that are already in place.
<ESC>*v n N
This selects the source transparency mode, whether white areas of the source
image should be treated as transparent (and do not “white-out” black pixels
they cover) or opaque (in which case they white-out black pixels).
Set n to 0 for the transparent mode and to 1 for the opaque mode.
<ESC>*v n 0
This selects the pattern transparency mode, similarly to the above command,
whether the current pattern should be treated as transparent or opaque.
Set n to 0 for the transparent mode and to 1 for the opaque mode.
Examples: Pattern graphics
To specify a block five inches wide you could use a horizontal dimension of
1500 dots (5 inches times 300 dots). That command would look like this:
<ES0
*c 1500A
To print that area with a 25 percent gray-scale pattern, the commands you
send would be:
<ESC> *c 25G
<ES0 *c 2P
93
I
I
But to print an area filled with the horizontal bar pattern, the commands you
send would be:
<ESC> *c 1G
<ES0 *c 3P
(You could combine these commands as &SC> *c lg 3P .)
VECTOR GRAPHICS
The Star LaserPrinter 8111provides the ability to print vector graphics using
the HP-GL/Z graphics language.
Polygon mode
In HP-GL/2, there is a special mode of operation, the polygonmode, in which
many commands are not executed but store the path they would otherwise
draw in the polygon buffer. The path is stored by storing the coordinates of
all point traversed, together with the pen up/down condition. When a
appropriate command is given, the paths are drawn as if they formed a single
path (which is not necessarily connected).
The Star LaserPrinter 8111has a buffer capable of storing 1500 points, with
pen up and down commands stored as points.
The following commands clear the polygon buffer and then use it to draw:
EA, ER, EW, RA, RR, WG.
The following commands use the polygon buffer when in the polygon mode:
1AA, AR, AT, CI, PA, PD, PE, PR, PU, RT.
Other commands, if given in the polygon mode, are ignored.
If the polygon buffer overflows while executing a drawing (or edging)
command, EP is executed. If the polygon buffer overflows while executing
a filling command, FP is executed. Points that cannot fit in the buffer are
ignored.
There are two new escape sequences related to HP-GL/2, which define the
area (or picture frame) that can be used for HP-GL/2 graphics:
<ESC>*c n X
in which n is the horizontal size of the picture frame in decipoints, and
<ESC>*c n Y
in which n is the vertical size of the picture frame in decipoints.
94
-
These commands have the following side-effects: they set Pl to the lower left
comer and I?2 to the upper right comer of the picture frame, set the soft
clipping window to coincide with the picture frame, clear the polygon buffer,
and move the cursor to Pl .
If n in either of these commands is zero, the picture frame is set to its default
size.
Other escape sequences related to HP-GL/2 include:
<ESC>*c n T
This sets the picture frame anchor point, that is, the position of the upper left
comer of the picture frame. When n is set to 0, the picture frame anchor point
is set to the current point. When it is other than 0, the anchor point is set to
the upper left comer of the current logical page.
Side-effects of this command are that it sets Pl to the lower left comer and
P2 to the upper right comer of the picture frame, it sets the soft clipping
window to coincide with the picture frame, it clears the polygon buffer, and
it moves the cursor to Pl.
<ESC>*c n K in which n is the horizontal size of the HP-GL/2 plot in inches,
and <ESD*c n L in which n is the vertical size of the HP-GL/2 plot in inches.
These commands fit the HP-GL/2 plot into the picture frame, establishing
scaling factors using the formula:
(plot size)/(picture frame size divided by 720)
If n in either of these is zero, the default values (the size of the picture frame)
are used.
The following escape sequence is used to enter the HP-GL/2 mode:
<ESC>% n B
IfnisOoranevennumber,thecursorissettoitspreviouspositionwhenusing
HP-GL/2. If n is 1 or an odd number, the cursor stays in its current position.
When n is 0 and the printer is entering HP-GL/2 for the first time, the default
cursor position is Pl, the lower left comer.
This command sets the cursor and causes subsequent HP-GL/2 commands
to be interpreted as commands, not text to the printed. The printer remains
in the HP-GL/;! mode until an exit or reset command (see below) is received,
or until the printer is switched off.
95
To leave the HP-GL/Z mode, use the following escape sequence.
cESC>% n A
If n is 0 (or an even number), the cursor is reset to its position before entering
HP-GL/2; if n is 1 (or odd), the cursor remains at its current position. After
this command, subsequent HP-GL/2 commands am treated as text and will
be printed.
HP-GU2 status
When the following commands are given, they have the same results,
whether the printer is in the standard LaserJet III emulation mode or the HPGL/2 mode.
<ESC>E
the
the
9 the
. the
the
l
l
l
initialization IN command is executed.
picture frame is set to its default size.
frame anchor is set to its default position.
plot size is set to its default size.
page orientation is reset.
A reset command from the control panel will have the same effect.
cESC>&/n 0
l
l
l
l
the
the
the
the
orientation of the picture frame is changed.
picture frame is set to its default size.
frame anchor is set to its default position.
plot size is set to its default size.
<ESC>&a n P
l
The printing direction command does not effect the orientation or
position of the HP-GL/;! picture frame.
<ESC>&rn P
the picture frame is set to its default size.
the frame anchor is set to its default position.
the plot size is set to its default size.
Pl and P2 are set to their default positions.
l. the cursor is set to Pl.
the soft clip window is set to its default size.
the polygon buffer is cleared.
l
l
l
l
l
l
98
<ESC>&fn A
the picture frame is set to its default size.
the frame anchor is set to its default position.
the plot size is set to its default size.
Pl and P2 are set to their default positions.
the cursor is set to Pl.
. the clip window is set to its default size.
the polygon window is cleared.
l
l
l
l
l
l
HP-GU2 Syntax
In HP-GL/2, the command format is:
sXlsX2srPsrP....Pst
where s = 0 or a separator (space or comma)
Xl =oneofACDEFILOPRSTUWXY
(upperorlower
case)
X2 =oneofABCDEFGILMNOPTUW
(upperorlower
case)
= a numeric separator (+ (plus), - (minus) or decimal point)
r
P
= numeric (nnn~, nnnnnn, nnnnn.nnnn), printable or
control character (not terminating), or character string
(followed by terminator)
= 0, semicolon or optional command terminator
t
Numeric parameters can be of the following four types, within the ranges
given.
range
type
-2, 147.483648 to +2,147,483,647
integer
clamped integer
-32,768 to +32,767
-lo**38 to +10**38
real
-32,768 to +32,767
clamped real
HP-GU2 coordinate
system
In HP-GL/2, the coordinate system can lx set by the user. The default
coordinate system has its origin at the lower left of the picture frame (Pl),
with its x-axis horizontally to the right, and the y-axis vertically upwards.
Two types of units are available, plotter units (default) and user units. A
plotter unit is 0.025 mm (0.00098 inch, 0.294 pixels at 300 dpi). User units
can be set as required, different for the x and y axes, using the SC command.
97
HP-GU2 commands
Commands are described as follows:
mnemonic (command name) (list of parameters)
Optional parameters am enclosed in brackets [] together with their default
values in braces {].
Coordinates are considered to be integers.
Angles are expressed in degrees and are considered to be clamped real
numbers.
If a parameter is outside its specified range, the command is ignored.
Unless otherwise specified, lines are drawn using the current line type, width
and attributes, and fills use the current fill type.
The following abbreviations are used in describing commands:
cgc: current graphics cursor
Ax:
x-coordinate of point A
Ay:
y-coordinate of point A
Commands
AA (arc absolute) (xc, yc, angle [chord angle (5)])
xc:
x-coordinate of center of arc
yc:
y-coordinate of center of arc
angle:
angular size of arc, from -360 to +360
chord angle:
angle subtended by chord, from 0.5 to 180
This command draws an arc from the current pen position, as specified. After
drawing the arc, the current pen position is at the end of the arc.
AC (anchor comer) (xc, yc)
xc:
x-coordinate of start of fill pattern
yc:
y-coordinate of start of fill pattern
The default is 0.0 and “anchors” the fill to the origin of the current coordinate
system.
AD (alternate font designation (kind, value [‘kind, value, ...I)
kind: clamped integer from 1 to 7 (= font attribute)
value: depends on kind
(See the SD command)
AR (arc relative) (dxc, dye, angle, [chord angle (5)])
dxc:
x-coordinate of center, relative to cgc
98
y-coordinate of center, relative to cgc
dye:
chord angle:
angle subtended by chord, from 0.5 to 180
(For other parameters, see AA above.)
AT (absolute arc, three
xi:
yi:
xe:
ye:
chord angle:
point) (xi, yi, xe, ye, [chord angle (511)
x-coordinate of intermediate point I
y-coordinate of intermediate point I
x-coordinate of end point E
y-coordinate of end point E
angle subtended by chord, from 0.5 to 180
With the current position F, this command draws an arc containing points F,
IandE.
CF (character fill mode) (fill mode (0} [,edge pen (0) I)
clamped integer from 0 to 3
fill mode:
integer
edge pen:
The four till modes are:
solid fill
0:
no fill, only edging (applies only to outline characters)
1:
filled using current fill type FT, no edging
2:
filled using current fill type FT. with edging
3:
The two edge pens are:
0:
no pen (no edging)
pen (black edging)
1:
CI (circle) (RJchord angle IS)])
radius of circle (integer)
R:
angle subtended by chord, from 0.5 to 180
chord angle:
This command draws a circle radius R with its center at cgc.
(Since a circle is a closed polygon, in the polygon mode this command causes
the previous (sub)polygon to be closed and starts a new subpolygon after
drawing the circle.
CP (character plot) ([spaces, lines (0, -1) 1)
spaces: number of character widths
lines: number of line spaces
This command moves the current point horizontally by the value of “spaces”
and vertically by the value of “lines”. Horizontal movement is to the right
when “spaces” is positive and to the left when it is negative. Vertical
99
movement is down when “lines” is positive and up when it is negative.
(A CP command with no parameters is the same as CR, LF within a label.)
DF (default)
Resets HP-GL/2 parameters to their default values and sets the carriagereturn point to the current cursor position.
DI (absolute direction) ([x,y {l,O}])
x:
clamped real, text path “run”
clamped real, text path “rise”
Y:
These parameters determine the slope and direction of subsequent text. At
least one parameter must be non-zero, otherwise the command is ignored.
DR (relative direction) ([dx, dy ( 1,O}])
dx:
clamped real, relative run
dy:
clamped real, relative rise
This command established the run and rise of the text path relative to the
distance between points Pl and P2, as expressed by:
run = dx * @‘2x- Plx)/lOO
rise = dy * (P2y - Ply)/100
DT (define terminator) (I’ {<ETX> }[,mode ( 1) 1)
string termination character (not <null>, <LF>, <ESC> or
T:
<;>I
mode: clamped integer, determining action of control character
CharacterT is used as the terminator of strings in subsequent LB commands.
T can be a control character. The mode indicates what to do with T, besides
using it as a terminator.
mode = 0 print and/or perform the action related to T
= 1 do not print or perform the action related to T
Once specified, T remain effective until it is specified again or the printer is
reset.
DV (define variable text path) (path (0) [,line( 0}])
path: clamped integer, determines text path direction
= 0 along slope and direction set by DI or DR
= 1 at -90” to slope and direction set by DI or DR
= 2 at -180” to slope and direction set by DI or DR
= 3 at -270” to slope and direction set by DI or DR
100
.
F
line:
clamped integer, determines direction of line feed
= 0 line feed down with respect to text path direction
= 1 line feed up with respect to text path direction
EA (edge rectangle absolute) (x, y)
x:
x-coordinate of opposite comer
y-coordinate
of opposite comer
Y:
This command draws a rectangle with the current cursor position as one
corner and the diagonally opposite comer at x, y.
This command clears the polygon buffer, then uses the buffer to draw. See
the section on the polygon mode.
EP (edge polygon)
This command draws the edge of the polygon stored in the polygon buffer
(parts with the pen down). The contents of the buffer are not changed or
deleted.
ER (edge rectangle relative) (dx, dy)
dx:
relative x-coordinate of the opposite comer
dy :
relative y-coordinate of the opposite comer
This command is similar to the EA command, except that the coordinates of
the opposite comer relative to cgc are specified.
ES (extra space) (width (0) [,height( O]])
width: clamped real, extra space between characters, in inches
height: clamped real, extra space between lines, in inches
This command allows the character and line spacing to be changed. The
values are added to or subtracted from the font parameters. This remains in
effect until the next ES command or the printer is reset.
EW (edge wedge) (R, start angle, sweep angle,[chord angle {S}])
R:
signed radius of arc of wedge
start angle:
clamped real, signed start angle
sweep angle:
clamped real, signed sweep angle
chord angle:
clamped teal, the angle subtended by the chord,
from 0.5 to 180
This command draws the edge of a wedge of a circle with its center at cgc.
A positive (negative) radius causes the positive (negative) x-axis to be the
reference for the sweep angle.
Positive start and sweep angles are measured counterclockwise from the
reference axis.
101
-
A wedge whose sweep angle is 360 degrees or greater is drawn as a circle
with no line connected to the center. If the sweep angle is zero, it is a single
straight line from the center to the starting point.
This command clears then draws to the polygon buffer.
FI (select primary font by ID) (font id)
font id: a font ID as used in standard LaserJet III emulation mode
command <ESQ[(or)]nX
This command allows the selection and use as the standard or primary font
any font to which an ID has been assigned. For outline fonts, the SD
command must also be used to specify the point size.
This command executes an SB command to insure compatibility of the font
selected with the font types allowed.
FN (select secondary font by ID) (font id)
font id: a font ID as used in standard LaserJet III emulation mode
command <ESO[(or)]nX
This command does for the secondary font what FI does for the primary font.
f7 (fin PoWon)
This command uses the even-odd rule to fill the polygon currently in the
polygon buffer. The fill type is the one currently selected. All points are used,
whether stored with the pen up or down. The contents of the buffer are used
but not changed or deleted.
This command is ignored if a previous PM, RA, RR, or WG command caused
the polygon buffer to overflow and no other command cleared it.
fl (fiti 07-d ([typeI 11 Lpam2 LP-3111)
The relation between these three parameters and
the table below.
param
tYPe fill
1
solid (default) ignored
2
solid
ignored
line spacing
3
hatched
4
cross-hatched line spacing
10
shading level
WY
fill index
11
user-defined
21
LaserJet III
pattern
pattern type
102
the meanings are given in
param
ignored
ignored
line angle
line angle
ignored
ignored
ignored
-
:
--
-
i
For types 3 and 4:
. The line spacing is given in current units and is measured along the xaxis. A zero value gives a solid fill and a negative value invalidates the
command. The default value is 1% of the distance Pl to P2. If the
current units are plotter units, turning scaling on or moving Pl and P2
has no effect on the spacing. If user units are used, the spacing varies
as Pl and P2 ate moved; turning scaling off fixes the spacing in the
plotter unit equivalent to the current user unit.
The line angle is measured counterclockwise from the positive x-axis.
In cross-hatching, the two set of lines are at 90”.
The lines are drawn using the current pen, line type and line cap?
l
l
For type 10, the shading level is expressed as a percentage of black; 0 is white,
100 is black
For type 11, the fill index is as specified in command RF; if an RF command
has not been given, solid fill is used.
For type 2 1, the pattern type is a number between 1 and 6, corresponding to
the patterns defined in the standard emulation mode.
If any parameter or combination is outside the values in the table, the
command is ignored.
IN (initialize)
This command resets the parameters to their default values. It also sets the
current position to the origin of the coordinate system (the lower left comer
of the picture frame).
IP (input Pl and P2) ([Plx, Ply [lower left comer of picture frame) [,P2x,
P2y (upper right comer of picture frame)]])
This command sets control points Pl and P2. If Pl is defined but not P2, P2
tracks Pl to maintain the same relative position.
This command affects scaling and all commands which defme a size as a
percentage of the distance between Pl and P2.
The results of the following commands depend on the positions of Pl and P2:
DR, IT, IW, LB, LT, PW, RO, SC, SR, WU.
IR (input relative) ([Plrx, Plry (0,O) [,P2rx, P2ry {lOO,lOO)]])
See IP. This is the same, except that the coordinates of points Pl and P2 are
expressed as percentage of the width (height) of the picture frame.
, IW (input window) ([xll, yll, xur, yur (picture frame limits]])
x-coordinate of lower left comer of soft-clip window
Xll:
y-coordinate o f 1ower left comer of soft-clip window
yll:
103
xur:
yur:
x-coordinate of upper right comer of soft-clip window
y-coordinate of upper right comer of soft-clip window
The command sets the position and size of the soft-clip window and
determines the effective clip window as the intersection of the printable area,
the logical page, the picture frame and the soft-clip window.
LA (line attributes)
(kind, value [ 1,l } [, kind, value{ 2,1) [,kind,
v~ueWjl1)
kind: clamped integer
value: clamped integer if kind= 1, 2; otherwise, clamped real
The relation between and meaning of the parameters are given in the
following table:
value
kind
1
butt (default)
1
line end
2
square
3
triangular
4
round
1
mitered (default)
line join
2
2
mitered/beveled
triangular
3
4
round
beveled
5
none
6
to 32,767 (default: 5)
miter limit
1
3
For a line end other than a butt end, add l/2 line width to the length.
If the miter in a mitered line join exceeds the miter limit, it is truncated. If the
miter in a mitered/beveled line join exceeds the miter limit, a beveled join is
used.
The miter limit is the ratio (miter length)/(line width). Miter limits smaller
than 1 are rounded up to 1.
For thinlines (line width <= 0.35 mm), the line end is always round, and line
joins is also round.
LB (label instruction) (string)
string: a string of up to 1024 characters, terminated with the
character specified in the DT command or default &XT>.
This command prints (draws) printable characters in the string, using the
primary font selected and executes the functions of control characters in the
string. Control characters SI and SO switch between the primary and
secondary fonts.
104
Control characters recognized are:
<BS>, <LF>,
<FF>,
<CR>, <SO>, cSI>,
<ES@ <HT>, <SP>.
__
A label cannot be stated for use elsewhere on the page.
LO (label origin) (position ( 1 })
position: clamped integer; code indicating the start position of a
label relative to the current point.
In order to use this command for centering, right justification, etc., it is
necessary to store the label temporarily. The Star LaserPrinter 8111has a
buffer capable of storing the longest possible label (see LB above).
LT (line type) ([type [pattern length, mode]])
type: clamped integer, pattern code
pattern length clamped real
mode: clamped integer
When no parameters are specified, this command selects a solid line and
saves the previous line type, pattern length and any unused portion of the
pattern. If there are parameters, a pattern is selected as follows.
Patterns are described by the length of dashes and gaps, as a percentage of
the pattern length, starting with a dash. 0% represents a dot. Patterns and their
codes are:
b...
-.
_
code
0
1
pattern
0 (not a line, only one point)
0100
2
3
4
5050
7030
80 10 0
5
6
7
8
-...
.-_
-..
.
.
10
70 10 10 10
501010101010
7010010010
50100101010010
If the pattern code is negative, from -8 to -1, the pattern corresponds to the
absolute value of the code, but the pattern is “adaptive” and its length is
adjusted (up or down) to fit one or more complete patterns.
After a solid line has been selected by specifying LT without parameters,
pattern code 99 restores the previous line pattern and any residual pattern.
LT99 is ignored when a non-solid line pattern is selected. While plotting with
105
a solid line pattern, the following commands clear the previous line type and
any residual pattern: AC, DF, IN, IP, IR, IW, LA, LT, PW, RF, RO, SC, SP,
ULandWU.
The pattern length is measured as a percentage of the distance between Pl
and P2 if mode = 0, or in millimeter of mode = 1.
If not specified, the current values of pattern length and mode are used.
PA (plot absolute) ([xl, yl, x2, y2, ... xn, yn])
xl:
x-coordinate of first point
y-coordinate of first point
yl:
etc.
There is no limit to the number of arguments that can be specified. If this
command is given with no arguments, it establishes that the coordinates in
subsequent commands are absolute. If there am an odd number of arguments,
the last argument is disregarded.
This command can be interpreted in several ways, depending of the state
which is described, using the following abbreviations.
np:
pm:
polygon mode
out of polygon mode
pu:
pen down
pd:
pen up
sn:
sy:
draw a symbol
draw no symbol
li:
lo:
line type 0
linetypel-6
state
Pm
np pu sy h/lo
,nP pd SY10
nppd syli
np pu sn lo/h
np pd sn lo
nppdsnli
action of PA
stores the coordinates in the polygon buffer
draws a symbol at each point
draws a symbol and dot at each point
draws a symbol at each point and draws lines
between points (including one from cgc to the first
PoW
moves cgc to the last point in the list
draws a dot at each point
draws lines between points (including one from cgc
to the first point)
PD (pen down) ([xl, yl, ~2, ~2, ... m ynl)
xl:
x-coordinate of first point
yl:
y-coordinate of first point
etc.
This command is the same as PA except that a “pen down” flag is set. When
there are no arguments, that is the only effect of the command.
106
The coordinates are interpreted as absolute if the command is not preceded
by a PR command.
PE (polyline encoded)
flag:
value:
coordinates:
([flag, value or coordinate pair, ....flag. value or
coordinate pair])
character
character encoded
character encoded
With this command, there should be no separators between parameters, and
the command terminator <;> must be used.
The meanings of and relation between parameters are as given in the
following table:
next parameter
flag (hex ASCII)
pen number, encoded as base 64 or
3AorBA
:
select pen
32
3CorBC
<
pen UP
3EorBE
>
fraction
3DorBD
37 or B7
=
start PA
start base 32
7
coordinates of point to move to,
encoded as base 64 or 32
number of fraction bits contained
in coordinate, encoded as base 64
or 32
coordinates
encoding
Pen number specifies the pen to be used: 0 - 8 (see SP)
Number of fraction bits: from -26 to +26
When there am no parameters, this command ‘updates’ the carriage-return
point.
When there are parameters, it draws lines by sending a shorter string of data
than other commands, since all parameters other than flags am encoded. In
the polygon mode, the coordinates are stored in the polygon buffer.
The encoding uses base 64 if not otherwise specified by flag = 7. The
algorithm for encoding number x is as follows:
1. let d be the number of decimal places in x, and set
n=
round (3.33 * d)
x=
round (x * 2%)
2. ifx>=O,setx=2*x
otherwisesetx=2*-X+1
3. transform x to base 64[32]: let al, a2, a3, ....an be the ‘digits’, with al the
most significant.
107
With base 64, these digits have values 0, 1, .... 63; they am encoded as
characters as follows:
+
191
ASCII decimal code
al:
1
192
2
253
254
63
0
a2toan
1
-+
ASCII decimal code
2
63
64
125
126
63
0
With base 32, these digits have values 0, 1 ....31. they are encoded as
characters as follows:
-+
ASCII decimal code
95
al:
1
96
2
125
31
a2:
0
1
126
+
2
31
0
ASCII decimal code
63
64
93
94
Data is transmitted with the least significant digit first, so the ‘last’ digit, al,
can be recognized and used as a separator.
PG (page eject)
This command is ignored.
PM (polygon mode (mode (0))
clear the polygon buffer and enter the polygon
mode = 0:
mode
1:
close the current polygon or subpolygon and start a
new subpolygon
close the current polygon or subpolygon and exit
2:
the polygon mode
108
Mode 0 starts the polygon mode, in which the following commands can be
used:
AA, AR, AT, CI, DF, IN, PA, PD, PE, PMl, PM2, PR, PU, PR.
Reset command <ESC> E can also be given. The polygon stored using these
commands can be edged (using EP) or filled (using FP) once the polygon
mode has been left (PM2). The pen location at the time PM0 is issued
becomes the first point in the buffer.
Mode 1 closes the polygon defined so far, if not already closed. The next
point becomes the first point of the new polygon.
_-
-
L
L
L
-
PR (plot relative) ([dxl, dyl, dx2, dy2, .... dxn, dyn])
x-coordinate of first point
dxl:
y-coordinate of first point etc.
dyl:
This command is the same as PA except that the “pen up” flag is set and no
lines am drawn. If there are no parameters, this is the only effect of the
command.
The coordinates are interpreted as absolute if the command is not preceded
by a PR command, otherwise coordinates are treated as relative.
PU (pen up> ([xl, ~1, ~2, ~2, .... xn,ynl>
xl:
x-coordinate of first point
yl:
y-coordinate of first point etc.
This command is the same as PA except that the “pen up” flag is set and no
lines are drawn. If there is no argument, this is the only effect of the
command.
The coordinates are interpreted as absolute ifthe command was not preceded
by a PR command; otherwise the coordinates are treated as relative.
Pw(pen width) (width (see below) [pen {1{1)
width: clamped real, width of pen in units set by WU
pen:
integer, either 0 or 1
The default pen width is 0.35 mm or 1% of the distance Pl to P2. A width of
0 sets the thinnest line possible (one dot).
Metric widths are scaled by the ratio [size of picture frame]/[plot size].
If the pen number is not specified, the new width is applied to both. If neither
pen 0 or 1 is specified, the command is ignored.
This command does not affect the character stroke width, with the exception
of stick characters with stroke weight = 9999.
RA (fill rectangle absolute) (x, y)
x-coordinate of other end of diagonal
x:
y-coordinate of other end of diagonal
Y:
-.
109
This command fills the rectangle defined by cgc and (x,y) using the current
fill. The pen up/down status is not affected by this command and the
rectangle is drawn regardless of the pen status.
This command clears the polygon buffer, then uses the buffer to draw.
RP (raster fill) ([index [,width, height, pen [pen, ... pen]]])
index: clamped integer, number of pattern (1 to 8)
width: clamped integer, width of pattern in pixels (8, 16,32, 64)
height: clamped integer, height of pattern in pixels (8, 16.32, 64)
integer, 0 = white, 1 = black
pen:
Without parameters, this command resets all fill patterns to sold fill. With
only one parameter, it resets the indicated pattern to solid fill.
With all parameters specified, it defines a raster image consisting of ‘height’
rows, each containing ‘width’ dots.
RO (rouW (bwle IO1I>
angle:
clamped integer, 0,90, 180 or 270 (degrees)
This command rotates and translates the plotter coordinate system to obtain
the following results (with respect to the picture frame):
origin at lower left comer, x-axis horizontally to the
angle = 0:
right, y-axis vertically up
origin at lower right comer, y-axis horizontally to
angle = 90:
the left, x-axis vertically up
origin at upper right comer, x-axis horizontally to
angle = 180:
the left, y-axis vertically down
angle = 270:
origin at upper left comer, y-axis horizontally to the
right, x-axis vertically down
The user coordinate system is not affected by this command.
This command doesnot change the currentpenlocation, only its coordinates.
The coordinates of Pl and P2 are not changed, so P2 will be outside the
picture frame when angle = 90 or 270. The IP command should be used after
rotation to correct the situation.
The coordinates of the points defining the soft-clip window are not changed,
and the window is rotated.
RP (replot)
This command is ignored.
R;R (fill rectangle relative) (dx, dy)
dx:
x-coordinate of other end of diagonal
y-coordinate of other end of diagonal
dy :
110
-.
Same as RA except that the coordinates are relative.
This command clears the polygon buffer, then uses it to draw.
RT (relative arc, three points) (dxi, dyi, dxe, dye, [chord angle IS)])
x-coordinate of intermediate point I
dxi:
y-coordinate of intermediate point I
dyi:
x-coordinate
of end point E
dxe:
y-coordinate of end point E
dye:
angle subtended by chord, from 0.5 to 180.
chord angle:
Same as AT except that the coordinates are relative.
SA (select alternate font)
This command selects the font currently designated as alternate.
This command has the same effect as a shift-out SO in the string of an LB
command, except that the shift remains until the SS command is received.
SB (select font type) (n [O))
clamped integer
n:
= 0: scalable (outline and stick) fonts
= 1: any font
When any font can be used (SB 1). all fonts are handled as bit-mapped fonts?
Commands FI and FN imply an SB command and override any previous
setting.
SC (scale) (xmin, xmax, ymin, ymax [,type(O) [,left(50), bottom(50);]])
(xmin, xfact, ymin, yfact, type = 2[;])
[;I
xmin, ymin:
real
xmax, ymax:
real
xfact, yfact:
real
clamped integer, 0 to 2
type:
left:
clamped real, 0 to 100
bottom:
clamped real, 0 to 100
.
The meanings of and relationships between the parameters are:
If type = 0 (as specified or by default), SC defines antisotropic scaling; the
first form of the command is assumed and the last two parameters, left and
bottom, are ignored even if present; xmin, ymin become the user coordinates
of Pl, and ymax, ymax, the coordinates of P2.
If type = 1, SC defines isotropic scaling; the first form of the command is
assumed, and parameters left and bottom (or defaults) are used; xmin, ymin
become the user coordinates of point Ql , and xmax, ymax, the user
coordinates of point 42, defined as follows:
111
.
the rectangle whose diagonal is Ql - Q2 is the largest which is contained
in the rectangle whose diagonal is Pl - P2.
if the plotter coordinates of Ql and 42 are xql, yql and xq2, yq2, then:
(xql - xq2)/(xmin - xmax) = (yql - yq2)/(ymin - ymax)
if the two rectangles do not coincide:
if abs(xq1 - xq2) = abs(xp1 - xp2)
then, yql = ypl + bottom/100 * abs(yq1 - yq2)
and left is disregarded
if abs(yq1 - yq2) = abs(ypl - yp2)
then, xql = xpl + left/100 * abs(xq1 - xq2)
and bottom is disregarded
l
l
l
If type = 2, SC defines point-factor scaling; the second form of the command
is used (left and bottom are not used); xmin, ymin become the user
coordinates of Pl , and the user coordinates of P2 are set to:
xmin + (xp2 - xpl)/xfact, ymin + (yp2 - ypl)/yfact
Without parameters, this command eliminates scaling and sets the user
coordinate system to the plotter coordinate system.
If there are less than 4, exactly 6, or more than 7 parameters, this command
is ignored.
If xmin = xmax, of if ymin = ymax, of if xfact or yfact = 0, the command is
ignored.
When appropriate, the scaling defined by SC has priority over that obtained
from the ratio: [size of picture frame]/[plot size]
SD (standard font designation) (kind, value [kind, value, ...)
kind: clamped integer, restricted to 1 to 7 (font attribute)
,value: depends on kind
This command designates (but does not select) the standard font by specifying its attributes. The meaning of ‘kind’ is as follows:
.
112
kind
1
2
3
4
5
6
7
attribute
symbol set
spacing
pitch
height
style
weight
typeface
default
21 (ASCII)
0 (monospaced)
9 cpi
11.5 pt
0 (upright)
0 (medium)
48 (stick)
-
SI (absolute character size) ([width, height (see below)])
width: clamped real, width of characters in centimeters
height: clamped real, height of characters in centimeters
The default width and height depend on the pitch and size selected with the
AD or SD command.
Once this command is given, the width and height of characters do not
change when Pl and P2 move.
Without parameters, this command selects the size implied by AD or SD.
Width specifies the width of characters; negative values imply mirror images
about a vertical line.
Height specifies the height of capital M; negative values imply mirror images
about a horizontal line.
When using stick fonts, a change of character size will affect the thickness
of the line used to draw the characters. When appropriate, the parameters are
multiplied by the ratio [size of picture frame]/[plot size]
Whencommand SB 1 is ineffect, command SI cannot use negative parameters
and, in general, can select only approximate values of positive parameters.
In addition, only one parameters has effect, the width for monospaced fonts
and the height for proportional fonts.
SL (slant) ([tan(slant angle) IO)])
clamped real, the tangent of the angle betan(slant angle):
tween the center line of a character and the
vertical
This command modifies characters to be plotted by slanting their vertical
axes.
Positive slant angles slant to the right (like italics) and negative values slant
to the left.
SM (symbol mode) ([T {no symbol)])
any character with ASCII code 33 - 58,60 - 126.16 1, or254
T:
This command designates the character to be used as a marker or symbol.
Symbols are used only in conjunction with PA, PD, PE, PR and PU
commands (a symbol is drawn at the point(s) specified by these commands,
regardless of the state of the pen).
If T is not in the specified range, the symbol mode is canceled; otherwise
symbol T is drawn as if it was a character in a label, centered at the point.
Symbols are taken from the currently selected character set and are sized,
slanted and rotated in the same way as characters.
113
SP(=lect pen)Un WI>
n:
integer, pen number (0 or 1)
This command must be set in order to output.
Pen 0 is white; it is used when no drawing is required or to draw white lines
on a black fill, with transparency off.
Pen 1 is black; values of n greater than 1 are treated as 1.
SR (relative character size) ([width, height (.75, 1.511)
width: clamped real, width of characters, as percentage of [Plx -
=x1
height: clamped real, height of characters as percentage of [Ply RYI
SS (select standard font)
This command selects the font currently designated as standard.
It has the same effect as the shift-in <SI> is the string of a label command
except that the shift remains in effect until an SA command is received.
SV (screened vector) (type [, opt1 [, opt2]])
type: clamped integer
= 0: no screening (optl, opt2 ignored)
= 1: shaded (opt1 = shading percentage, between 0 (white)
and 100 (black); opt2 ignored)
= 2: user defined raster (see RF) (opt1 = index; the pen for
the black pixels is selected as follows: opt2 = 0, black
pen, opt2 = 1, current pen)
= 21 predefined (opt1 = fill type, opt2, ignored)
Without parameters, this command turns off screening.
If opt1 and/oropt2 is missing, the previous and appropriate default values are
used.
With parameters, this command selects the screening (fill) to be used for all
“vectors” (all lines except labels and ‘stroked’ characters).
TD (transparent data) ([mode (0) 1)
mode: clamped integer
= 0: normal
= 1: transparent
This defines how control characters are treated. In the normal mode, such
characters perform their nonnal control functions and are not printed. In the
transparent mode, all control characters are printed (non-printing characters
print as spaces) and do not perform their normal functions.
114
7-R(tmspa=ncy)([n I 1II)
n:
-
In the transparent mode, white source dots do not change the destination
pixel; in the opaque mode, such dots white out the destination pixel.
Note the similarity to the standard <ESc>*vnN command, but also note that
the opposite meanings of the parameter values. Also, there is no command
corresponding to the standard <ESC>*vnO.
L
-
clamped integer
= 0: opaque mode
= 1: transparent mode
‘C_
L
UL (userdefined line type) (index [dash], gap1 [, ... dash20, gap20]))
clamped integer, type identifier (1 - 8)
index:
clamped real, percentage of LT instruction length
dash, gap:
for type with same index
If the index is negative, its absolute value is used.
Without parameters, this command resets all line types as defined by the LT
command.
When only the first parameter is specified, the command resets the line type
as identified by the parameter defined in the LT command.
With more parameters, this command alters the pattern of the same index,
defined by the LT command. A zero dash value yields a point.
If a dash is negative, a gap is not positive, the sum of all dashes and gaps is
0, or the index is 0 or greater than 8, the command is ignored.
i
WG (wedge fill) (R, start angle, sweep angle, [chord angle (511)
signed radius of the arc of the wedge
R:
clamped real, signed start angle
start angle:
sweep angle:
clamped real, signed sweep angle
clamped real, angle subtended by chord, from 0.5 to
chord angle:
180
This command draws a filled wedge (see EW command).
This command clears the polygon buffer and uses the buffer to draw.
WU (unit for pen width) ([type (0)])
type: 0, interpret PW as metric
1, interpret PW as relative (percentage of distance Pl to P2)
.
_.~
This command selects the unit to be used by PW.
When appmpriate, metric parameters am scaled by the ratio
[size of picture frame]/[plot size]
115
MACROS
Using macros
There’s a great shortcut that simplifies the task of sending commands to your
LaserPrinter 8111:use macros. A macro is a single control code, which you
can define yourself, that does the work of a whole long series of printer
commands. Any LaserJet III emulation command can go into a macro.
Putting macros together to automatically repeat sequences of tasks is like
using a real programming language. Your Star Micronics dealer may know
of some pre-written macros already available for the Star LaserPrinter 8111.
You’ll find macros especially handy for creating letterheads and business
forms, and also for setting tabs, subscripts and superscripts.
Yourprintercan store up to 32 macros without the optional RAM expansion.
To manage printer memory you can make a macro either temporary (it
disappears when you reset the printer) orpermanent (it disappears only when
you turn off the printer).
You assign each macro an ID number when you first define it. Use this
Specify Macro ID command to specify (in place of n) the ID number of the
macro to which you wish to refer:
<ESC> &f n Y
For example say you want to delete a macro numbered 80. You would first
select that macro with the command <ES0 &f 80Y. Then you would delete
it with the Macro Control command <ESc> &f 8X as described below.
Macro Control
The Macro Control command performs several jobs for you, such as
defining, running and deleting macros. To manage macros you send the
following command:
cESC> &f n X
For n you enter a number from 0 (zero) to 10 to specify what macro control
function you want to perform. These functions are described in the following
table:
116
FUNCTION
Start defining macro. Creates a new macro with the last
specified macro number. This macro will be temporary; to
make it permanent use <ES0
&f 10X after your
deftition.The printer will make a macro of the sequence of
commands that follow this one, until it gets the command to
stop defining the macro.
1Co=)
Stop defining macro.
2
Execute macro. This option makes the printer run the last
specified macro, changing printer parameters according to
what its commands say. (The printer parameters am those you
might also set from the front panel.) When the macm is done,
the print position will be just where it was before you ran the
macro.
3
Call macro. This option also makes the printer run the last
specified macro. But before it nms the macro it saves the
current parameters, and then restores them when the macro is
finished. Again, when the macro is done the print position will
be just where it was before you ran the macro.
4
Turn on automatic macro. This option automatically runs the
last specified macm on every page you print, You can use this
option to reproduce the same design on each page (a logo or
form design pernaps). You can have more than one automatic
macro. As with the “call macro” option, this one saves current
parameters and print position, and restores them when the
macro is finished. An automatic macm will terminate if you
change orientation or page length.
5
Turn off automatic macro. Starting with the current page, this
option tenninates’the last specified automatic macro.
6
Delete all macros. This option removes all macros and automatic macros from printer memory- even macros you have
defined as permanent with option 10 below.
7
Delete temporary macros. This option also deletes temporary
automatic macros.
--
117
8
Delete last specified macro.
9
Make last specified macro temporary.
10
Make last specified macro pennanent.
Example: Macros
The following program loads and runs a macro. The macro moves an inch
and a half right and down three inches from the top left comer of the page,
where it prints a 25 percent gray-scale bar. It then ejects the paper.
100 LPRINT CHR$(27);"&f6Xn
200 LPRINT CHR$(27);"&flY"
300 LPRINT CHR$(27);"&fOX"
400 LPRINT CHR$(27);"*p450~12OOY";
500 LPRINT CHR$(27);"*c18Oh72OOV";
600 LPRINT CHR$(27);"*c25Gn;
700 LPRINT CHR$(27);"*c2Pn;
800 LPRINT CHR$(l2)
900 LPRINT CHR$(27);"&flX";
1000 LPRINT CHR$(27);"&f2X";
1100 END
Line 100 clears any existing macros, then line 200 specifies that this will be
macroID number 1. Line 300 starts downloading the macro.
Line 400 moves the print position to a spot 450 dots right and 1200 dots down
from the top left comer of the page.
Lines 5OOthmugh 700 select the 180-dot deep and 7200-dot wide pattern and
print it. Line 800 does the form feed that forces the actual printing. Line 900
ends the downloading process.
At the two line we select our macro and actually run it.
118
The small-carriage EX-800 is one of Epson’s more recent dot-matrix
printers. Because of the popularity of the IBM Personal Computer, which
was marketed with a modified Epson printer, thousands of software programs already work with Epson printer commands.
If you have a program that doesn’t work with laser printer commands, you’ll
almost certainly find it will work with the commands in the Star LaserPrinter
8111’sEX-800 emulation mode. Your Star LaserPrinter 8111will print any
documents you create with standard Epson commands.
We follow the same sequence in this chapter as we did in earlier chapters: first
some printer management and page setup commands, then we’ll cover
commands that move the print position, and finally we’ll print our document
with our choice of font attributes.
EX-800 COMMANDS
What do EX-800 commands look like?
Most commands in the EX-800 emulation look like this:
<ES0
..
C
or
<ESC> C n
in which C is the code for the particular command you want to send. If the
command includes the n sign it indicates a numeric variable the command
needs. For example, the EX-800 command to set the right margin is this:
<ESC> Q n
in which II is the column number for the right margin. So to put the right
margin at column 65 you would send this command:
<ESC> Q 65
Most EX-800 commands work like toggle switches: one <ESC> code turns
on a feature and another <ESC, code turns it off.
119
But some commands include two n variables, which are shown as nl and n2.
These normally represent bytes to be added together to produce one sum, in
which nl represents single units and n2 represents 256-unit groups.
Finally, a few commands can have many n variables (such as tab stops),
which are listed the same way. And one or two include a second kind of
variable, which are shown in this chapter as single lowercase letters, such as
corm.
Use real numbers, not ASCII symbols
An important point: with EX-800 commands any number you put after the
<ES0 code is a real number, not the printable ASCII symbol for that
numberasinLaserJetIIIcommands.
InEX-8OOmode,forthenumbershown
after an cESC> code you must enter whatever character occupies that
position in the ASCII table. We’ll always use decimal numbers in our
descriptions.
For example, in EX-800 emulation you set the right margin to column 55
with this command:
<ESC>Q55
You would write this command in BASIC as:
10 LPRINT CHR$(27);"Q";CHR$(55)
That BASIC command sends the printer the symbol Q and whatever
character happens to be in ASCII position 55. Your Star LaserPrinter 8III’s
EX-8Ot!lprogram interprets these, not as ASCII symbols, but only as the
command that means “make column 55 the right margin”.
Unsupported
commands
Your Star LaserPrinter 8111,because it is a laser printer, ignores the following
EX-800 commands:
<ESC> 8 and <ES0 9
l
paper
end
<ESC> <EM>
l
sheet feeder control
<ESC> r
l
select color
. copy, select and download character set <ESC>:<ESC>%<ESC, &
<ES0 x
t select draft/NLQ mode
<ESC> k
. select NLQ font
120
-
.
l
l
left-to-right (unidirectional) printing control <ESC> U
<ES0 s
print quiet (half speed)
print immediate
<ESC> i
(“incremental” or “typewriter” mode)
CONTROLLING THE PRINTER
Putting the printer online or offline
L
L
You can send <XOFD and <XON> control codes (described in Chapter 2
under “Serial Interface”) to put your printer offline and then online again. If
you are using a parallel interface, any data your computer sends after you put
the printer offline will not be printed.
.
To put the printer offline send this control code:
<xoFF>
L
(sometimes shown as <DC3>)
To put the printer back online, either press ONLINE on the front panel or
send this command:
<XON>
(sometimes shown as <DCl>)
If the printer is already online when you send the <XON> command, the
printer will cancel any incomplete line of print.
Reset
The EX-800 emulation reset command returns the printer to its default initial
parameters. When you send this command at the end of a print job the printer
will reset its parameters only after previous commands have finished. You
should, however, take the precaution of putting a form feed before the reset,
to make sure you lose no print data.
L
-.
I^_
To reset the Star LaserPrinter 8111,send this command:
Bell
-...
*
When you send the Bell control code the Star LaserPrinter 8111will sound its
beeper for half a second (assuming you haven’t turned it off with the front
panel menu):
<BEL>
121
FORMATTING PAGES
Page length
You can define page length in either inches or lines-a matter of personal
preference. When you first start EX-800 emulation your printer sets the page
length to 11 inches and 66 lines.
The definition of a “line” depends on the lines-per-inch spacing. If you
change line spacing after you set the page length, the page length won’t
change. And if you print pages actually longer than the installed paper tray,
the Star LaserPrinter 8111will print them on two sheets each.
To set a different page length in lines, enter this command:
<ES0
Cn
For n you enter the number of lines you want on a page (maximum 127).
To set a different page length in inches, enter this command:
<Esc> c <NuL> n
For n you enter the number of inches in length you want the page (maximum
22).
Note: the print position at the moment you set page length will be your
new top-of-page. When you change page length the Star LaserPrinter
8lII puts the bottom margin back to its default value, so you may want
to reset it.
lop and bottom margins
The EX-800 emulation provides for top and bottom margins in a unique way,
combining the top-of-page (as set by page length) with the Skip-OverPerforation command. (Remember that the dot-matrix EX-800 printer uses
continuous forms, which are joined with perforations.)
By setting the Skip-Over-Perforation you can control the number of lines
skipped at the bottom of one page and, if you want, at the top of the next. First
make sure the print position is on the line you want to be your top margin, and
set your page length. Then send this Skip-Over-Perforation command:
<ES0
Nn
in which n is any number of lines between 1 and 127.
122
For example, say you have set the page length to 84 lines (legal size paper
at 6 lines per inch), with the top-of-page 8 lines down. You then send:
<ESC> N16
This will give you 8 lines of top margin (implied by your topof-page setting)
and 8 lines of bottom margin. The printer knows you want 84-16=68 lines
of text, so it prints those, skips 8 lines at the bottom of the first page, plus 8
more lines at the top of the next page to make up the total perforation skip of
16 lines.
text - 66 lines
perforation
skp-16iines
.......
................
. .
.............................
.....
.......
..............
..............................
..............
...........................
..........
...................
.....
..............
....
....
. . ...............
. .
...............
....
........
.........
.........
....
.....
....
..............
...........................
.......
....
..............
.......
........
....
......
........
..............
...
..................
...
....
..............................
...
..........
...
....
......
If you change line spacing after giving this command, you won’t affect these
margin settings. However, if you change page length you will have to set the
perforation skip again.
To set SkipOver-Perforation to zero lines, send this command (the letter
after the <ESC> code is the capital letter “0”):
<ES0
0
123
Side margins
To set the left margin to a particular column you send this command:
<ESC> /n
in which n is the column number for the left margin. (Note that the character
t is a lowercase L.)
Column width is determined by the current pitch (for example l/12 inch for
12-pitch), or is set at l/10 inch forproportional spaced text. Once margins are
set, changing the pitch does not affect margins.
Same rules apply for the right margin: you send this command:
in which n is the column number for the right margin.
tfo w to center or justify
text
If your text processor won’t center or line up text for you, your Star
LaserPrinter 8111can do the job. Justified text prints flush against one or both
side margins on both the right and left sides of the page.
You turn on the centering or justification of text with the following command:
&SC> a n
For n enter a number from the following table:
,MODE
left justification
centering
right justification
both sides justified
:
1
2
3
Backspace and horizontal tabs will only work in left-justification mode.
Line spacing
EX-800 emulation offers five different ways to vertically space lines. The
default is 6 lines to the inch, but you can change line spacing with the
commands in the following table. (In the first four of these commands,
remember that the number following the <ESC> code is a real number, not
the ASCII symbol for 0, 1,2 or 3.)
124
P‘1
I:.
2’
--
..
DESIRED LINE SPACING
COMMAND
l/8 inch
7/72 inch
l/6 inch
increments of l/2 16 inch
<ES0
<ESC>
<ESC>
<ESC>
increments of l/72 inch
EXPLANATION
0
1
2
3n
(=N
(one)
(the default)
(in which n is the number of
increments, maximum 255)
<ESC> A n (in which n is the number of
increments, maximum 85)
MOVING THE PRINT POSITION
Space
The easiest command for moving the print position to the right across the
page is just the space control code, the same character sent by the space bar
on a keyboard:
<sP>
The actual definition of a space (which can also be thought of as the width
of a prim column) is set by the pitch.
Backspace commands
/
When you send the printer a backspace control code it moves the print
position left one space (or, with proportional spacing, the width of the last
character printed).
CBS>
The backspace code lets you print directly over the last character printed; it
does not delete that character. This lets you create symbols not ordinarily
available, such as b with a stroke / through it to represent a blank space: B:
Do not backspace right after changing any font attributes, lest the first
character in the new font print in the wrong spot. And don’t confuse
backspacing with the <DEL> control code (described later), which does
erase the last character from memory.
125
Carriage return
The printer moves the print position back to the left margin when you send
a carriage return control code. The print position will not move down to the
next line (unless on the front panel’s menu you have set the Auto Line Feed
parameter ON):
<CR>
Line feed commands
The line spacing commands define what a “line” means for the following
commands. The default vertical spacing is six lines per inch.
You use this Line Feed command to move the print position, not to the left
margin, but just down the page one line:
CLD
Variable line feed commands move the print position back to the left margin
and either down or up the page, by some increment of l/2 16 inch. If the move
puts the print position below the bottom margin a new page starts. You move
the print position davn the page with this command:
<ESC> Jn
and up the page with this command:
<ESC> j n
In both cases, the n is the number of l/2 16 inch increments you want to move
(maximum 255).
Form feed
The Star Laser-Printer 8111only prints a page when it receives a Form Feed
control code. If the last text in a document doesn’t fill up a page it may not
print immediately.
So to make sure one document doesn’t run right into the next, it’s a good idea
to make sure each document ends with a final Form Feed. In the rare event
you have set page length so two pages will print on one sheet, the sheet won’t
print until both pages are composed in memory.
The following command moves the print position to the top of the next page:
CFF>
126
_-
Left-to-right
printing
The EX-800 normally prints bidirectionally, with the print position moving
alternately left-to-right and right-to-left. Cutting down printhead motion
does speed up printing for those earlier styles of printer- though it hardly
compares with laser printing.
L
The problem with bidirectional printing is that the printhead can get slightly
out of alignment. When you’re using more primitive tools sometimes
accuracy matters more than speed, so a command for plain old left-to-right
printing (sometimes called “unidirectional printing”) is available on Epson’s
printers.
L
The following command does nothing to improve the accuracy of your Star
LaserPrinter 8111,but it’s included for software compatibility’s sake. The
command just moves the print position to the left margin, acting as a carriage
return without a line feed. Normal printing resumes with the next carriage
return.
To turn on left-to-right printing for just one line, this is the command:
<ESC> <
Moving horizontally
from the left margin
Two horizontal motion commands send the print position to a particular
position on the line. These commands are based on EX-800 dots. Unfortunately the EX-800 offers only 60 or 120 dots per inch, rather than the Star
LaserPrinter 8III’s usual density of 300 dots. So we’ll express these moves
in terms of increments of l/60 or l/120 inch.
One move command is an “absolute’*move, to the right from the left margin.
The other is a “relative” move, left or right from the current print position.
To move from the left margin in increments of l/60 inch, you send this
command:
<ES0
$ nl n2
At the beginning of the chapter we said some command variables, like nl and
n2 here, could represent bytes to be added together. This is one of those
commands. The nl represents units and n2 represents 256-unit groups. In this
move command, the actual units are the l/60 inch increments.
-
127
To complete the command, for n2 you enter the number of full groups of 256
increments you want to move. And for nl you enter the number of increments
left over.
Confused? Here’s an example. This command:
<ES0
$14 1
moves 14 + (256 x 1) = 270 increments from the left margin. That works out
to 270/60 inches, which is four and a half inches.
Moving horizontally
from the current position
The other horizontal move command, which moves away from the current
print position, comes in smaller increments of l/l 20 inch. To move this way,
first decide whether you want to move right or left, and by how many l/120
inch increments. Then send this command:
<ESC>\nl
n2
To move right, nl + (n2 x 256) must equal the number of increments you want
to move. For example, to move right two and a half inches (300/l 20 inches)
you send this command:
<ESC>\ 44 1
because 44 + (1 x 256) = 300.
To move left is a little trickier. You first subtract your desired number of
increments from 65536 (which is 256 x 256). Then you use the same formula:
nl + (n2 x 256) must equal that resulting number. So to move left three (360/
120) inches you send this command:
<ESC>\
152 254
That command moves the print position left three inches because
65536-360
=65176
= 152+(254x256)
Horizontal
tabs
When you use horizontal tabs you first may have to set the tab stops (up to
64 of them). It depends on whether or not you want to use the default, which
is a tab stop every eight columns. Column width depends on the horizontal
spacing being used when you give this command. If you change pitch later,
that won’t affect tabs.
128
-
To clear the old and set new tab stops, send this Set Horizontal Tabs
command:
<ES0
D nl n2 ... n64 dUL>
This command needs a bit of explanation. The nl and n2 and so on are the
columnnumbers where you want to set tab stops. The three dots ... just mean
you can list more columns, as many as 64 in total. List them in ascending
order. Either a final &IIJL> (control code 0), or a column number less than
that preceding it, will end the command.
To remove all horizontal tab stops, issue the Set Horizontal Tabs command
with no n column values:
<ESC> D <NUL>
The Horizontal Tab Move command advances the print position to the next
horizontal tab position (or to the left margin on the next line, if the move
would go beyond the printable limit of the page). To move to a horizontal tab
stop, send this command:
<HT>
Vertical tabs
Vertical tabs work much the same way. When you send the Vertical Tab
Move command, the print position moves down to the next vertical tab stop.
No tabs are set when you first start EX-800 emulation.
To give the Set Vertical Tabs command, send this Escape sequence:
<ES0
B nl n2 ... n64 &UL,>
The nl and n2 and so on are the line numbers where you want to set vertical
tab stops. You can set up to 64 tabs at any of up to 254 positions.
To move down to the next vertical tab stop, send the following Vertical Tab
Move command. If you’ve set no vertical tabs the Vertical Tab Move
command just moves downone line. If there are no more tab stops on the page
the printer will just move down one line too.
<VT>
To remove all vertical tab stops, send this command:
<ESC> B <NUL>
129
Vertical tabs in channels
This next pair of commands, which lets you store and use several different
sets of vertical tabs, is rarely used. They’re mostly for putting data into
preprinted forms, or for unusual reports that need different tab settings on
different pages.
The basic idea is that different sets of tabs get stored in what the Epson people
call channels (think of them as separate columns of tab stops). You can store
up to eight different channels, so long as they total no more than 64 tab stops.
To set tab stops for a given channel (shown here as c ), send this command:
<ES0
b c nl n2 ... n64 <NUL>
This is much the same as the regular vertical-tab setting command, with the
addition of the channel c (in place of which you put a number from 0 to 7).
The nl and n2 and so on are the line numbers where you want to set vertical
tab stops; again you can set tabs at any of up to 254 positions.
You can clear all the tabs in a channel by not following the channel number
c with any stops, but just the <NUL>.
To move the print position to tab stops in a channel, send this command:
<Esc> / c
where c is the number of the channel with tab stops you want to use. If that
channel has no tab stops, this command will just produce a line feed.
CONTROLLING FONTS
Selecting fonts
When you first start EX-800 emulation, the Star LaserPrinter 8111gives you
12-point ten-pitch Courier as its default font. But EX-800 commands can
give you most variations on font attributes, including subscripting, superscripting and underlining. Some of the commands in this section are
implemented by switching fonts, while others are derived from the current
font.
In a pinch, if you want to change fonts in EX-800 mode you can use the menu
on.the front panel.
130
:.
-.
Orientation
The EX-800 emulation has no command to change orientation, so use the
Select Orientation superset command if you need to print in landscape mode.
If the printer doesn’t have enough memory in which to rotate the font, it
displays that message on the panel and uses instead the closest font it has in
the orientation you’ve chosen.
Symbol set
The standard EX-800 symbol set is ASCII, at least for the first half of its 256
character slots. For the second half of the EX-800 symbol set you have a
choice of either italics (so you don’t have to switch to a separate font to get
them) or character graphics (so you don’t have to switch to Proprinter
emulation for IBM graphics).
To choose between access to italics or to character graphics, send this
command:
<ES0
tn
in which for n if you enter
0 (zero) you get italics, which is the default,
or if you enter 1 (one) you get character
graphics.
International
characters
Moreover, you can overlay the symbol set with particular country-specific
symbols. To choose which international symbols you wish to overlay, send
this command:
<ES0
Rn
For n enter from the following table the number that corresponds to the
symbols you want:
COUNTRY
US (ASCII)
France
Germany
England
Denmark1
Sweden
t
n
0
1
2
3
4
5
131
.-
6
Italy
Spain I
7
Japan
8
Norway
9
Denmark11
10
11
Spain II
Latin America 12
The particular symbols the command will give you are shown in the chart
below.
ccluN!mY
us (ASCII)
France
e-Y
England
Denmark1
Sweden
Italy
Spain I
Japan
NOmY
Denmark II
Spain II
Latin America
Because the EX-800 and Proprinter emulations are quite similar, EX-800
emulation gives your software access to the same accented alphabet characters and graphics symbols as the Proprinter emulation.
132
-
Most significant
bit
Very few computers still send just seven bits to their printers, the way the
Apple II + and TRS-80 did. But if you find yourself in this situation all is not
lost. You can still gain access to the symbols in the upper half of the EX-800
symbol set (either italics or character graphics) with the following three
commands.
These commands control the state of the eighth bit, the high-order or most
significant bit, which is the leftmost bit in a binary string. None of the
commands will affect data sent as graphics.
To make the eighth bit always on (l), which lets you print italics or character
graphics, send this command:
<ESC> >
Tokeeptheeighthbitalwaysoff(O),soyoucanonlyprinttheordinaryASCII
characters in the lower half of the symbol set, send this:
<ESC> =
To let your computer program control the eighth bit, send this command:
&SC> #
Spacing
When you combine proportional spacing with automatic justification you get
text that looks like that in professionally typeset books. Proportional spacing
also looks good without justification.
A couple of notes though: The proportional spacing command can not
change a monospaced-pitch font into a proportionally spaced one. You
should always have a proportionally spaced font selected when you send this
command. Also, you can’t condense proportionally spaced text.
To turn proportional printing on or off, send this command:
<ESC> p n
in which if n is an even number such as 2 or 4 you get proportional printing,
and if n is an odd number such as 1 or 3 you get the last-selected monospaced
pitch.
133
Character spacing
EX-800 emulation lets you control the amount of space inserted after
characters, sometimes called the offset. You might want, for example, to
justify a line of print yourself.
With the Character Spacing command you can add to the distance each
character advances, in increments of 1/12Oth inch. The command does not
affect the selected pitch.
To adjust the character spacing, send this command:
<ES0
43% n
43% is the ASCII Space character. For n you enter a figure that sets the
number of l/120-inch increments by which spacing is to increase.
Your printer cancels this command when it receives another offset command.
Pitch
You can print at lo,12 or 16.6 characters per inch with your laser printer’s
internal fonts. The EX-800 emulation default is lo-pitch. If you want a wider
pitch you can put the printer offline for a second and select either 6.5 or 8.1
characters per inch on the front panel.
To select 12-pitch (often called “elite”), you send this command:
<ES0
M
After you give this command neither condensed nor extended print commands will have any effect.
To turn off 12-pitch and return to your original character spacing, send this
command:
<ESC> P
Condensed print
Condensed print (often called “compressed”) is narrower than it is high,
which makes it good for spreadsheets. Without changing to a new font, you
can switch from lo-pitch to a condensed pitch of 16.6 characters per inch.
134
b:
E’
i:
/
To shift into condensed print, send either of these commands:
<SI>
or
<ESC> <SI>
_..
Condensed print will stay on until you select a different print mode or send
the following Cancel Condensed print control code, which returns printing
to the IO-pitch default:
<DC2>
L
Extended print
Extended print is wider than it is high; EX-800 owners sometimes call it
“double-width” print. Extended print looks good in headings. Selecting
extended print means selecting a font with wider characters. You can select
extended print either for one line or for several.
When you shift out to extended print for one line, a carriage return or a line
feed will end this mode. To shift out to extended print for one line you send
one of these commands:
<SO>
L
or
<ESC> <SO>
To turn on and off extended print across more than one line, send this
command:
<ESC> W n
If for n you enter an odd number you will start extended print; if for n you
enter an even number you will stop it and return to normal spacing.
You can also turn off extended print with the <DC4> control code. However,
neither of the last mentioned ways of turning it off will work if you have
turned on extended print with the Master Select command described below.
Font height
The EX-800 emulation offers font sizes of 8.5.10 and 12 points with the Star
LaserPrinter 8III’s internal fonts. You automatically select the appropriate
font height with the previous spacing commands.
However, you can also put the printer offline and on the front panel’s
program menu select the smaller 6 or 7 point, or the larger 14,16,18,24 and
36 point sizes.
135
.,
-
Style
EX-800 emulation lets you use italics characters without defining italics as
a separate font, since it can store italics in the upper half of its symbol set.
To select italic characters, send this command:
<ESC> 4
And to return to upright characters, send this command:
<Esc> 5
Note: in neither of these commands do you send the actual number 4
or 5. Instead, use the ASCII symbols for those numbers.
Stroke weight
The Star LaserPrinter 8111can create bold characters by printing each
character twice, slightly offset, just like the EX-800 does. To completely
emulate the EX-800 your printer does this two different ways, offsetting
either below the characters (double-strike) or to the side (emphasized).
To turn on bold print you send either of these two commands:
<ESC> E
or
<ES0 G
(emphasized print)
(double-strike)
If you send the &SC> E command you may force the printer to select a bold
font, depending on which font you ate using at the moment.
You can turn off the bold print again with these commands:
<ESC> F
or
<ESC> H
(turn off emphasized)
(turn off double-strike)
Three notes: If you try to print subscripts or superscripts in double-strike
mode, the double-strike will be turned off. (Therefore you may prefer to
always use emphasized print to get bold.) The Master Select command
described below can also turn off emphasized print. And <ES0 F will not
turn off emphasized print if you set it on with the Master Select command.
Typeface
The Star LaserPrinter 8111uses Courier font as its default EX-800 font.
You use the Select Emulation superset command to switch into another
emulation to select a cartridge or downloaded font, but you won’t be able to
bring that font back into EX-800 mode. That’s because EX-800 emulation
always starts with Courier as its default font.
Underline
The underline command under EX-800 emulation puts underlines under
spaces as well as characters. To turn underline on or off you send this
command:
<ESC> - n
If n is an odd number, underlining is turned on.
If n is an even number, underlining is turned off.
Master Select
The Master Select command is a shortcut you can use to specify which font
you want to print with. Master Select lets you combine several commands in
one- half of all the font attributes with one fell swoop. Master Select also
cancels the features you do not select with it.
The only restriction is that you can’t combine condensed or monospaced
pitches with proportional spacing. If you mix them you’ll just get proportional spacing.
To select among the various print options, use this command:
<ESC> ! n
For the value of n you just add up the values of each of your desired PRINT
modes in this table:
PRINT MODE
10 pitch (pica)
12 pitch (elite)
proportional
condensed
bold (emphasized)
bold (double-strike)
extended
italics
underline
n
0
1
2
4
8
16
32
64
128
137
An example: Proportional bold extended looks good as a title. To get it you
add up the n values for those three (2 + 8 + 32 = 42), and send the command:
<ESc>!42
Subscripts
and superscripts
Subscript mode prints characters at half of the normal height, in the lower
part of the line space. Superscript mode prints characters at half of the normal
height, but in the upper part of the line space. You may want subscripts and
superscripts for footnote numbers or mathematical formulas. The only
restriction is that you can’t use subscripts and superscripts with double-strike
mode.
You switch to subscript or superscript mode with this command:
<ESC> S n
in which if you make n any even number you get superscript mode, and if you
make n any odd number you get subscript mode.
You cancel subscript or superscript mode with this command:
<ESC> T
How to cancel a line or delete a character
When you’re printing you sometimes send a line, but then change your mind
and don’t want to print it after all. The Cancel control code lets you erase from
your printer’s memory just the last line you sent. (If you cancel a line you will
also cancel the extended print mode if you’ve been using it.)
By sending this command you make your printer cancel all the characters you
have sent since the last carriage return or line feed:
<CAN>
Sometimes you want to delete from the printer’s memory, before the page
gets printed, just the last character you have sent. Don’t confuse deleting a
character with backspacing, which doesn’t erase anything from memory.
This control code deletes only the last character sent:
<DEL>
138
I
User-defined
characters
You can create and print your own custom characters with EX-800 emulation, but you probably won’t want to. The Star LaserPrinter 8111provides
more convenient access to special symbol sets than this, particularly through
LaserJet III emulation.
-.
But if you have used a character-creation program designed for Epson
printers, you could need to get at symbols you have defined yourself. You
may have stored your characters in parts of the 256-character symbol set
normally reserved for control codes, and will need “skeleton keys” to unlock
those normally unprintable character slots.
-
>-
Here are those keys. Note: the numbers in the first two commands below are
ASCII symbols, not decimal digits.
To gain access to the symbols stored in the control-code slots of the upper
half of the symbol set, send this command:
-&SC>6
To cancel that setting and again restrict access to those reserved positions,
send:
<ESC> 7
To manage your program’s access to the symbols stored in control-code slots
in the lower half of the symbol set, send this command:
<ES0
‘v
In
If you make n an odd number your program can access those user-defined
symbols. But if you make n an even number, you won’t be able to print userdefined characters stored in those control-code slots.
GRAPHICS
If you are using a commercial graphics program, such as Lotus 1-2-3, you
won’t need to use the commands in this section. Usually you’ll just draw your
image on your screen and then send it to the printer.
Should you want to send your own graphics commands in EX-800 emulation
mode, though, it’s best to start off knowing a little binary arithmetic. If you’re
rusty on binary you can review computer arithmetic in Chapter 1. We’ll
assume you already know elementary programming in the following discussion
139
Printing dots
EX-800 emulation prints graphics as lines eight pin-dots high. You just
specify which of the eight dots to print for each dot-wide column.
That sounds easy, but it can be a lot of work. It means specifying an eightbit binary number 60 to 240 times per inch, right across the page. That’s
maybe 2000 calculations for every line! As you can imagine, graphics
software uses plenty of program loops.
The figure below shows the value of each dot on the left. The examples on
the right show how you would add up dots, to tell your printer what dots to
print for a couple of columns:
120 0
0
32 .
128 0
640
320
16 l
00
::
40
4e
20
1.
What do graphics
-
0
10
165
0
640
:
00
0
2e
0
74
commands look like?
To print EX-800 graphics you have to make four decisions:
What line spacing do you want to use?
How many dots do you want per horizontal inch? That is, what density
do you want?
How wide is the page area on which you want to “paint” your graphics?
What dot pattern will your data have?
l
l
l
l
Each EX-800 emulation graphics command you send does three things: it
turns on the graphics mode, specifies horizontal density, and says how many
columns wide the coming graphics data will be.
Graphics commands all print at the same vertical density or “resolution’72 dots per vertical inch. The commands all look the same; where they differ
is in horizontal density.
Here’s the command for the 60 dots-per-inch density:
<ESC> K nl n2
The n2 is the number of 256-column groups (either 0, 1 or 2). And the nl
represents units, the number of leftover columns.
140
-
I6.
!;
i ._
So to print just 150 columns of graphics, you would send this command:
<ES0
K 150 0
That translates to 150 + (0 x 256) = 150 columns.
But to print 260 columns of graphics at the same density, you would send this
command:
<ESC>K4
1
This one translates to 4 + (1 x 256) = 260 columns.
Remember to put exucrZythe right number of columns in your command.
Otherwise you’ll inadvertently use text as graphics data, or vice versa.
Another hint: in BASIC, the WIDTH statement can help you keep unwanted
carriage returns from messing up your graphics.
Other graphics
densities
Let’s summarize: When programming graphics, you first set the line spacing
to produce the effect you want (typically at 7/72 or 8/72 inch). Then you send
your graphics command and data. Finally, you reset line spacing and any
other text settings as needed.
How do text settings affect graphics? Neither extended print nor doublestrike bold work in graphics mode. The <DEL> command doesn’t work in
graphics either. And if you’re using “most significant bit” settings for an
older kind of computer, graphics mode ignores them.
OK, let’s have a look at graphics commands for different densities.
COMMAND NAME
single density
double density
high-speed
double density
quadruple density
screen graphics I
plotter graphics I
(single density)
screen graphics II
plotter graphics II
(double density)
DENSITY
(linedinch)
ESCAPE
SEQUENCE
GRAPHICS
MODE(m)
60
120
120.
<ESC> K nl n2
cESC> L nl n2
cESC> Y nl n2
0
1
2
240
80
72
<ESC> Z nl n2
cESC> * m nl n2
<ESC> * m nl n2
3
4
5
90
144
<ESC> * m nl n2
<ES0 *m nl n2
6
7
141
MODE
MODE
MODE
MODE
MODE
MODE
MODE
MODE
#
#
#
#
#
#
#
#
0
1
2
3
4
5
6
7
-1
m
m
-1
You’ve already seen an example of the first command, <ES0 K nl n2. The
next three commands- with L, Y and Z following the <ESC> code- work
exactly the same way.
Neither <ESC> Y nor <ES0 Z are recommended however. The EX-800
actually turns off adjacent dots to allow it to print at high speeds or densities,
and your Star LaserPrinter 8111will emulate that precisely. Stick to single or
double density if you want to see all the dots you are sending.
But how about the last four options? And what’s that Graphics Mode column
about?
Your Star LaserPrinter 8111lets you print graphics at the same densities as
computer screens or plottern. The command for all four of those last options
looks the same. In fact, you can use this single command for all graphics
densities:
<ESC> * m nl n2
The only difference between this and the other graphics commands is that
you specify a particular graphics mode number. That’s the m in the last
column of the table above. If you don’t use a valid mode number, the printer
will ignore the command.
So this “all-purpose” graphics command means you can do our first example
two different ways:
<ESC> K 150 0
and <ES0
* 0 150 0
Changing a command’s density
You can actually switch the density that a graphics command normally gives
you.
why would you want to do that? If you have a program containing many
<ES0 K commands and want to switch to double-density <ES0 L, it could
142
mean changing a lot of commands. It’s easier to send one command that
changes the density for <ES0 K instead.
To change a command’s normal density you send this command:
<ESC> ? c m
For c you substitute whichever command identifier you want to change (K,
L, Y or2). And form you enter the mode number of the new density you want
that command to have, from the table above.
Nine-pin graphics
I.
.
c-.
-
-.
c
.._
The Star LaserPrinter 8111 readily accepts another EX-800 graphics command, for nine-pin graphics. All the graphics commands discussed so far
involve eight-dot lines, but the EX-800 offers this command because its
printhead actually has nine pins. The EX-800 uses it to draw another line of
dots and speed up the printing.
The nine-pin graphics command, however, does not affect your Star
LaserPrinter 8111’sspeed.
Unlike the eight-dot commands, this nine-dot command needs two bytes for
each column of data: one byte for the top eight pins, plus one for the bottom
pin. Though only the most significant bit is actually used from the second
byte, you have to send the whole thing:
128
.
g:
_..
':
:
:
:
1 l
first byte
>
-.
_.
._
128 .
64'0
32 0
16 0
fl :
2 0
10
second byte
>
143
To print nine-pin graphics, send this command before your graphics data:
<ESC> h d nl n2
The variable d is a number indicating density. If d is any even number the
density will be 60 dots per inch, but if d is an odd number the density will be
120 dots per inch.
The n2 in this command, as with other graphics commands, means the
number of 256-column groups of data you are sending (between 0 and 4).
And nl is the number of leftover columns (0 to 255).
Why can n2 indicate up to 4 groups, when the limit is 3 with eight-dot
graphics? Because you send twice as many data bytes with nine-dot graphics.
The IBM Proprinter, like the Epson EX-800, is a dot-matrix printer. The
Proprinter and Proprinter XL have proved popular because they come with
IBM’s predictable quality.
The IBM Proprinter is quite similar to the Epson EX-800 and thus shares
most of the same commands. In this chapter, therefore, we list the commands
common to both, but describe in detail only the Proprinter commands that
differ from the EX-800.
To use Proprinter commands sensibly, read the last chapter first, then come
back and read this one. Commands are described in the same sequence here
as in earlier chapters.
PROPRINTER COMMANDS
Why use the Proprinter emulation?
This chapter is really only for those people using software specifically
designed for IBM printets. You do rwr need to use this Proprinter emulation
mode if you have an IBM or IBM-compatible computer.
It all depends on your software. As you’ve read in earlier chapters, most
popular software will run in LaserJet III mode (or EX-800 mode for
programs that don’t provide laser printer drivers).
The trouble is that software specifically designed for the Proprinter prints
incorrectly in other emulations, botching up things like page formatting and
line spacing. If your software lists only IBM printers in its printer selections,
this Proprinter emulation will work for you.
145
You may also prefer to use Proprinter mode if you need to print these special
character from IBM’s symbol set:
In fact, though, you can use the IBM symbol set with any of the other
emulations.
Unsupported commands
The Star LaserPrinter 8111ignores the following commands because they are
meaningless on a laser printer.
select draft or near-letter-quality font
<ESC> I II
ignore or observe paper end
&SC> 8 and &SC, 9
unidirectional printing
<ESC> U
<ESC> =
download character set
l
l
l
l
CONTROLLING THE PRINTER
Identical printer control commands
The following Proprinter commands are handled the same way in both EX800 and Proprinter modes. If you’re not sure how they work, see “Controlling
the Printer” in chapter 5.
Printer Online
Beeper
<XON> (sometimes written <DCl>)
<BEL>
Putting the printer offline
The following printer control command is different in the EX-800 emulation.
The command deselecrs the printer, placing it in an offline state. The
LaserPrinter 8111will stay offline either until the printer is turned off and back
on, or until it receives an <XON> code.
<ESC> Q <ETX>
146
FORMATTING PAGES
Identical formatting commands
The Proprinter commands in the following list am identical to those of the
EX-800. If you’re not sure how they work, see “Formatting Pages” in chapter
5.
Set Page Length in Lines
Set Page Length in Inches
Set Skip Over Perforation
Cancel Skip Over Pevoration
<ES0
<ESC>
<ES0
<ES0
Cn
C <NUL> n
Nn
0
Set top of page
Before you set the page top (in effect the top margin) you first move the print
position to where you want the top of the page to be. Then to set that current
print position as the page top, send this command:
<ESC> 4
What if you need to move the top margin higher than its current setting?
Here’s the trick: put the printer offline and back on again, then move the print
position to your new top margin line and give this set top-of-page command
again.
MOVING THE PRINT POSITION
Identical print positioning commands
The Proprinter commands in the following list are identical to those of the
EX-800. If you’re not sure how they work, see “Moving the print Position”
in chapter 5.
Select 1I8 Inch Line Spacing
Select 7172 Inch Line Spacing
Select n/216 Inch Line Spacing
Carriage Return
Cancel Line
Form Feed
Line Feed ’
Backspace
<ES0 0 (zero)
<ES0 1
cESC> 3 n
<CR>
<CAN>
<FF>
<LF>
<BS>
147
Set Vertical Tabs
Tab Vertically
Tab Horizontally
<ESC> B nZn2...n644UL>
<VT>
4Tl-b
Define line spacing
You can set the line spacing, in increments of l/72 inch, using the following
Define Line Spacing command. However, the value you define is only stored
inmemory until you send the <ESC> 2 command to actually put it into effect.
<ESC> A n
For n enter the number of increments you want, between 0 (zero) and 255.
Select line spacing
You can select the line spacing that you have previously defined and stored
in memory (with the <ESC, A command above), by using the following
command:
<ESC> 2
Note that the 2 in this command is the digit two, not the ASCII symbol 2.
If you have not sent a previous <ESC> A command, this <ES0
sets the line spacing to the default setting of 6 lines per inch.
2 command
Special line feed
This command produces a one-time line feed in your choice of 11216 inch
increme,nts. It does not affecting line spacing, anddoesnot produce acarriage
return (unless Auto Parameters is set that way on the front panel).
You can move the print position down this way by using this command:
<ESC> J n
For n you enter the number of l/216 inch increments you want, between 0
(zero) and 255.
148
Turning automatic line feed on or off
You can set the carriage return to move the print position just to the left
margin, or to the left margin and also down a line. Use this command:
<ESC>5n,
-._
._
-
L.
If you make n any odd number (maximum 255) the printer will do a line feed
after each carriage return. If you make n even (maximum 256) the printer will
not produce automatic line feeds. This command can override the setting of
the AUTO CR parameter on the front panel’s program menu.
Setting horizontal tabs
You can set up to 28 tab stops at any column ranging from 1 to 137. To set
tab stops, send this command:
<ESC> D nl n2 . .. cNUL>
.-
Enter the column numbers as nl, n2 and so on in ascending order. Use the
<NUL> character to end the command; a column number less than the
preceding one also terminates the command. These settings change when
you change the character pitch, with the exception of double-width.
i
To clear all tabs send:
<ES0
D <NUL>
Restoring default tab settings
-^
-.
You can reset alI vertical and horizontal tab settings to their defaults with this
command:
<ESC> R
-
--
-~
149
-
CONTROLLING FONTS
Selecting fonts
The Star LaserPrinter 8111uses Courier font as its default Proprinter font. It
switches to the Line Printer font for condensed print, and to Prestige for 12pitch.
You can select these through the front panel’s program menu.
Orientation
Portrait and landscape orientations are available through the front panel’s
program menu or the Select Orientation superset command. If the printer
doesn’t have enough memory in which to rotate your current font, it displays
a message on the panel and uses instead the closest font to the one you’ve
been using.
Symbol sets
Proprinter emulation normally works with one of two symbol sets, called
IBM Character Sets 1 and 2. Both are shown in Chapter 8.
The differences betweenthem are slight. Both contain the normal ASCII and
international characters, plus standard graphics characters used by many
software programs. The only important difference is that Character Set 2 has
accented vowels and currency symbols instead of control codes in positions
128 through159.
To select the standard IBM Character Set 1, send this command:
<ESC> 7
You should not use Character Set 2 with programs using control codes above
position 128 in the ASCII table, as those positions are occupied by intemational vowel characters and currency symbols instead. However, if you do
want access to those international characters, use this command to select
IBM Character Set 2:
<ESC> 6
150
-
Printing international characters
Control codes are not printable. But Character Set 2 stores accented vowel
characters and currency symbols in ASCII positions normally occupied by
control codes. And both symbol sets store playing card symbols (heart, club,
diamond and spade) in control code positions. You have to go out of your way
in IBM Proprinter mode to print those “protected” characters.
To print characters stored in the conttol code parts of an IBM symbol set,
send this command before each one:
<ES0
*
If you have to print a lot of characters that way it can get pretty tedious. So
to print a group of protected characters you can use this command:
<ESC>\ nl n2 (data)
You add the nl and n2 numbers together to produce one sum, the number of
characters in your (data) . The nl represents single units and n2 represents
256~unit groups. So the number of characters to be sent is nl + (n2 x 256).
Font size and style: identical commands
The Proprinter offers not only emphasized and near-letter-quality print
modes, but also double-wide and double-high. These can be used in any
combination.
The following font size commands are identical in both Proprinter and EX800 emulations. If you’re not sure how they work, see the last chapter.
Select Condensed Mode
Select Double-width (one line)
Cancel Double-width (one-line)
Turn OnJOff Double-width Mode
Select Emphasized Mode
Cancel Emphasized Mode
Select Double-Strike Mode
Cancel Double-Strike Mode
Select Superscript/Subscript Mode
Cancel SuperscriptlSubscript Mode
Turn OnlOff Underlining
<SI>
<so>
<DC4>
<ESC>
<ES0
cESC>
<ESC>
Wn
E
F
G
<ESC> H
<ES0 S n
<ESC> T
<ES0 - n
151
Pitch
Proprinter pitches include 5, 6, 10, 12 and 16.66 characters per inch, all
available from the front panel’s program menu. Ten-pitch is the default
spacing in Proprinter mode.
To change to a pitch of 12 characters per inch (elite), you can send this
command:
<ESC> :
To turn off compressed or 12-pitch printing and select lo-pitch (pica) again,
send this control code:
<Dc2>
Font height
Proprinter emulation automatically gives you the font heights that correspond to the spacing you are using. That means you automatically get 12point type when you specify ten pitch, and IO-point type when you specify
twelve pitch.
If you want a larger or smaller font height you can select the height you want
on the front panel.
Style, stroke weight and typeface
Italic print and boldface can be turned on or off through the front panel, as
well as through the commands described in chapter 5.
The Proprinteremulation uses the Courier font as its default font. It switches
to the Line Printer font for condensed print, and to Prestige for 12-pitch. If
you have loaded the printer with any of the other font typefaces listed under
the Proprinter Font Attributes part of the program menu, they will print in this
emulation as well.
152
Overscoring
An overscore is a line drawn above the characters in a word. Some people use
overscoring to indicate text they want to cross out, because it leaves the
words easy to read.
If you want an overscore, use this command:
<ESC> _ n
-._
The character after the Escape code is the underline character. If for n you
enter 1 (one) then you select an over-score; if n is 0 (zero) you turn off
overscoring.
-_
-
GRAPHICS
k__
Identical graphics commands
-.._
IBM Proprinter emulation graphics are the same as the EX-800 mode
graphics except that &SC> * (general graphics selection), cESC> ? (reassign graphics mode) and <ES0 * (nine pin graphics) are not available. The
four commands below work exactly as described at the end of the last
chapter:
--
-
.
. .
.
Select
Select
Select
Select
Single Density Graphics Mode
Double Density Graphics Mode
High Speed Double Density Graphics Mode
Quadruple Density Graphics Mode
<ES0
<ESC>
<ESC>
<ES0
K
L
Y
Z
153
NOTES
-
-
-
j
e
154
.-.
This final chapter in your Star LaserPrinter 8111Applications Manual holds
two main sections. The first on will help you with your programming job,
while the last provides the symbol set tables.
We’ve summarized all commands in ASCII order here. You’ll find them
organized by function in chapters 4 through 6.
The Star LaserPrinter’s symbol sets have been included so that you can see
exactly what characters are available to you. Roman-8 includes standard
ASCII and is the default for all emulations but Proprinter, IBM Character Set
1 is the default for that one.
155
.
COMMAND SUMMARY
HP LaserJet Ill Emulation Printer Commands
Command
Function
<BS>
cHT>
<LF>
<FF>
<CR>
<so>
<SI>
<ESC>% nA
<ESC>% n B
<ESC>&a n C
<ESC>&a n H
<ESC>&a n L
<ESC>&a n M
<ESC>&a n P
<ESC>&a n R
cESC>&a n V
<ESC>&d@
cESC>&d n D
<ESC>&f n S
<ESC>&f n X
cESC>.&f n Y
cESC>&k n G
cESC>&k n H
<ESC>&k n S
<ESC>&/ n A
cESC>&I n C
cESC>&/ n D
<ESC>&/ n E
<ESC>&/ n F
<ESC>&/ n H
<ESC>&I n L
Backspace
Horizontal tab
Line feed
Form feed
Carriage return
Select secondary font
Select primary font
Exit HP-GL/2 mode
Enter HP-GL/2 mode
Position horizontal cursor in columns
Position horizontal cursor in decipoints
Set left margin
Set right margin
Set print direction
Position vertical cursor in rows
Position vertical cursor in decipoints
Cancel underlining
Select underlining
Save and recall cursor position
Macro control
Specify macro ID
Set line termination
Horizontal Motion Index
Select font pitch
Set paper size
Vertical Motion Index
Set line spacing
Set top margin
Set text length
Select paper feeder
Perforation skip
Set page orientation
Select page length
Set number of copies
<ESC>&t n 0
<ESC>&/ n P
<ESC>&/ n X
156
Page
63
61
63
64
63
67
67
96
95
60
60
55
55
70
62
62
78
78
66
116
116
64
59
74
97
59
58
56
56
52
57
69
54
52
-
Page
79
Command
Function
<ESC>&p n X
<ESC>&s n C
Transparent print data
End-of-line wrap
Select primary font symbol set
Select default primary font
Designate downloaded font as primary
Select primary font stroke weight
Select primary font pitch
Select primary font spacing
Select primary font style
Select primary font typeface
Select primary font height
Download character descriptor/data
Select secondary font symbol set
Select default secondary font
Designate downloaded font as secondary
Select secondary font stroke weight
Select secondary font pitch
Select secondary font spacing
Select secondary font style
Select secondary font typeface
Select secondary font height
Download font descriptor
Select downloading compression mode
Transfer raster graphics data
Advanced vertical raster position
Define horizontal rectangle size in dots
Define vertical rectangle size in dots
Specify font ID
Specify character code
Font control
Specify pattern ID
Define horizontal rectangle size in
decipoints
See horizontal plot size
See vertical plot size
Fill with specified pattern
Set picture frame anchor point
Define vertical rectangle size in decipoints
cESC>(
n
<ES0 ( n@
<ES0 ( nX
cESC>(snB
cESC>(snH
<ESC>(snP
<ESC>(snS
cESC>(snT
<ESC>(snV
<ESC>(snW
&SC>)
n
n@
nX
<ESC>)
<ESC>)
<ESC>)snB
<ESC>)snH
<ESC>)snP
<ESC>)snS
<ESC>)snT
<ESC>)snV
<ESC>)sn
W
<ESC>* b n M
<ESC>* b n W
5ESC>* b n Y
<ESC>* c n A
<ESC>* c n B
<ESC>* c n D
<ESC>*cnE
<ESC>* c n F
cESC>* c n G
<ESC>* c n H
&SC>*
<ESC>*
<ESC>*
<ESC>*
<ESC>*
cnK
c nL
c nP
c nT
cnV
65
70
72
68
75
74
74
75
76
75
83
72
72
68
76
74
74
75
77
75
83
88
88
87
90
90
68
84
79
91
90
95
95
92
95
90
157
Command
<ESC>* c n X
cESC>* c n Y
cESC>*p n X
<ESC>*p n Y
cESC>*rB
<ESC>*rC
<ESC>*r n A
<ESC>*r n S
<ESC>*r n T
<ESC>*t n R
<ESC>*v n N
<ESC>*v n 0
<ESC>*v n T
<ESC>9
<Esc>=
<ESC>E
<ESC>Y
<ESC>Z
<ESC>[En
<ESC>[On
<ESC>[ Sn
<ESC>z
AA
AC
AD
AR
AT
CF
CI
CP
DF
DI
DR
DT
DV
158
Function
Page
Set picture frame horizontal size in
94
decipoints
Set picture frame vertical size in
94
decipoints
Position horizontal cursor in dots
61
62
Position vertical cursor in dots
End raster graphics
89
End raster graphics?
89
Start raster graphics
86
87
Specifies pixel width of raster graphics
87
Specifies pixel height of raster graphics
Select raster graphics resolution
86
Select transparent/opaque mode for
93
source images
Select transparent/opaque mode for patterns 93
Select fill pattern
93
Clear left and right margins
55
Half line feed
64
Reset the printer
52
Enable display function
79
Disable display function
79
Change emulation mode
30
Select orientation
31
Select paper size
32
Self test
51
(arc absolute)
98
(anchor comer)
98
(alternate font designation)
98
(arc relative)
98
(absolute arc, three point)
99
(character fill mode)
99
(circle)
99
(character plot)
99
(default)
100
(absolute direction)
100
(relative direction)
100
(define terminator)
100
(define variable text path)
100
L.-.
L.
_-
.
L..
-.
.
Command
EA
EP
ER
ES
EW
FI
FN
FP
Fr
IN
IP
IR
IW
LA
LB
LO
LT
PA
PD
PE
PG
PM
PR
PU
?W
RA
RF
RO
RP
RR
RT
SA
SB
SC
SD
SI
SL
SM
Function
(edge rectangle absolute)
(edge polygon)
(edge rectangle relative)
(extra space)
(edge wedge)
(select primary font by ID)
(select secondary font by ID)
(fill polygon)
(fill type>
(initialize)
(input Pl and P2)
(input relative)
(input window)
(line attributes)
(label instruction)
(label origin)
(line type)
(plot absolute)
(pen down)
(polyline encoded)
(page eject)
(polygon mode)
(plot relative)
(pen up)
(pen width)
(fill rectangle absolute)
(raster fill)
(rotate)
(replot)
(fill rectangle relative)
(relative arc three point)
(select altemate font)
(select font type)
(scale)
(standard font designation)
(absolute character size)
(slant) ([tan(slant angle
(symbol mode)
Page
101
101
101
101
101
102
102
102
102
103
103
103
103
104
104
105
105
106
106
107
108
108
109
109
109
109
109
110
110
110
111
111
111
111
112
113
113
113
159
Command
SP
SR
ss
sv
TD
TR
UL
WG
Function
(select pen)
(relative character size)
(select standard font)
(screened vectors)
(transparent data)
(transparency)
(user-defined line type
(fill wedge)
(unit for pen width)
Page
114
114
114
114
114
115
115
115
115
Epson EX-800 Emulation Printer Commands
Command
<BEL>
<BS>
4rl-b
CLD
<VT>
4-F>
<CR>
<so>
<SI>
<DCl>
<DC2>
<DC3>
<DC4>
<CAN>
<DEL>
<ES0 <SO>
<ESC> <SI>
cESC> <SP> n
<ESC> ! n
cESC> #
<ESC>$nln2
<ESC>*mnl n2
-&SC> - n
&SC> / c
cEsc> 0
<ESC> 1
160
Function
Bell
Backspace
Horizontal tab
Line feed
Vertical tab
Form feed
Carriage return
Select extended print
Select condensed print
Set printer on line
Cancel condensed print
Set printer off line
Cancel extended print
Cancel line
Delete last character
Select extended print
Select condensed print
Increase character spacing
Select master print mode
Cancel MSB control
Move cursor to absolute dot position
Select graphics mode
Select/cancel underlining
Select vertical tab channel
Set line spacing to l/8 inch
Set line spacing to 7/72 inch
Page
121
125
129
126
129
126
126
135
135
121
135
121
151
138
138
135
135
134
137
133
127
142
137
130
125
125
Function
Page
Set line spacing to l/6 inch
125
Set
line
spacing
to
n/216
inch
125
cESC> 3 n
<ESC> 4
Select italic characters
136
<ESC> 5
Select upright characters
136
Expand printable code area
cESC> 6
139
139
<ESC> 7
Cancel expansion of printable code area
One-line unidirectional printing
cEsc> <
127
<ESC> =
Set MSB of received codes to be 0
133
<ES0 >
Set MSB of received codes to be 1
133
<ESC> ? c m
Assign graphics mode
143
Reset
the
printer
121
<ES0 @
Set line spacing to n/72 inch
<ESC> A n
125
<ES0 B nl n2.. .<NUL> Set vertical tab stops
129
Set page length in inches
122
<ES0 C cNUL> n
<ESC> C n
Set page length in lines
122
129
cESC> D nl n2.. .cNUL> Set horizontal tab stops
<ESC> E
Emphasized print
136
<ES0 F
Cancel emphasized print
136
Double-strike print
<ES0 G
136
<ESC> H
Cancel double-strike print
136
<ESC> I n
Select control codes or printable character 139
<ESC> J n
Perform one n/216-inch line feed
126
<ESC> K nl n2
Select normal density graphics
140
<ESC> L nl n2
Select double density graphis
141
<j3C> M
Select elite pitch
134
<ESC> N n
Set bottom margin
122
<ESC> 0
Clear bottom margin
123
<ESC> P
Select pica pitch
134
Set right margin
124
cESC> Q n
cESC> R n
Select international character set
131
<ES0 S n
Select super/subscript mode
138
<ESC> T
Cancel super/subscript mode
138
<ES0 W n
Select/cancel extended print
135
<ESC> Y nl n2
Select high-speed double density graphics 141
<ES0 Z nl n2
Select quadruple density graphics
141
<ESC> [ E n
Change emulation mode
30
Select orientation
<ES0 [ 0 n
31
cESC> [ S n
Select paper size
32
Command
<Esc>2
-
--
_._..
-_
_-.
-~
161
Command
Function
Page
128
<ESC>\nl n2
Move cursor to relative dot position
144
<ES0 Ad nl n2
Set 9-pin graphics mode
124
Select justification
<ES0 a n
<ESC> b c nl n2.. .cNUL>Set vertical tab stops in channel
130
<ESC> j n
Perform one n/216-inch reverse line feed 126
124
<ESC> tn
Set left margin
133
cESC> p II
Select/cancel proportional spacing
131
<ES0 t n
Select character set
‘--
IBM Proprin ter Emulation Printer Commands
Command
<BEL>
CBS>
<H-lb
<LF>
<VT>
-SF>
<CR>
<so>
<SI>
<DCl>
<DC2>
<DC4>
<CAN>
<ESC> i II
<ES0 0
<ESC> 1
cEsc>2
<ESC>
<ES0
<ESC>
<ESC>
<ESC>
<Esc>
.&SC>
<ESC>
<ESC>
162
Function
Bell
Backspace
Horizontal tab
Line feed
Vertical tab
Form feed
Carriage return
Select extended print
Select condensed print
Set printer on line
Select pica pitch
Cancel extended print
Cancel line
Select/cancel underlining
Set line spacing to l/8 inch
Set line spacing to 7/72 inch
Execute <ESC> A definition
3n
Set line spacing to n/216 inch
4
Set top of page
5n
Select/cancel automatic line feed
6
Select IBM character set 2
7
Select IBM character set 1
:
Select elite pitch
An
Define line spacing to n/72 inch
B nl n2.. .<NUL> Set vertical tab stops
C <NUL> n
Set page length in inches
Page
146
147
148
147
148
147
147
151
151
146
152
151
147
151
147
147
148
147
147
149
150
150
152
148
148
147
--
Function
Command
Set page length in lines
<ESC> C n
<ES0 D nl n2.. .<NuL> Set horizontal tab stops
Emphasized print
<ESC> E
Cancel emphasized print
<ESC> F
Double-strike print
<ESC> G
Cancel double-strike print
<ESC> H
Perform
one n/21 6-inch line feed
&SC> J n
Select normal density graphics
<ESC> K nl n2
Select double density graphics
<ES0 L nl n2
Set bottom margin
<ES0 N n
Clear bottom margin
<ESC> 0
Set printer off line
<ESC> Q &l-X>
Restore default tab stops
<ESC> R
Select super/subscript mode
<ESC> S n
Cancel super/subscript mode
<ESC> T
Select/cancel extended print
<ESC> W n
Select high-speed double density
<ES0 Y nl n2
graphics
Select quadruple density graphics
<ESC> Z nl n2
Change emulation mode
<ES0 [ E n
Select orientation
<ESC> [ 0 n
Select paper size
<ESC> [ S n
Enable printing of all character codes
<ESD\nl
n2
Enable printing of next character
<ES0 h
Select/cancel overscoring
<ES0 _ n
Page
147
149
151
151
151
151
148
153
153
147
147
146
149
151
151
151
153
153
30
31
32
151
151
153
163
SYMBOL SETS
This section gives tables of the symbol sets for the Star Laser-Printer 8111.
The decimal character code of each character is shown in an inset to the lower
right of the character.
The hexadecimal code can be found by reading the entries at the top and left
edges of the table. For example, the character “A” is in column 4 and row 1,
so its hexadecimal character code is 41. This is equivalent (4 x 16 + l= 65)
to decimal 65, the number in the inset.
Control codes recognized by this printer are indicated by abbreviations
inside pointed brackets < >.
<Sample>
ID Number
OD
Symbol Name
IS0 60:
Hexadecimal value
(low order)
164
Hexadecimal value
E
;
,’
r
.
ID Number
Symbol Name
Math-7
OA
.-
12
0
1
-
!
9
I
1
01
3
1 16!
1 32!
4
1 48!
5
.- 1 641
6
1 801
7
-- 1 9
._
-
-..
<HT,
1 _
.
-
J3
1
IN,
9
---
9
1 25
<LF>
I
A
-.
<EM>
-
<SUB>
1
rI jT2
1cESC>
tP
-a-u
1 57
1 41
0
1 73
1
1*
8
1
1._
C
1
-
1
1 121
1 281
1
D
-
!
1 13!
1 291
1 451 y I 611 .
1
I 30
1 46
1 78
I 14
F
CSI,
1
1 441
1 601
-l=-l.l-.lu
<US,
F
~y-77
[ 62
z
1
I.,
I
1._
1t
1
c
1t
t
II
1 8’
1
1 94
P [79 1 1
1110
1126
a
P 1111 1127
165
ID 1!Jumber
OB
Symbol Name
Line Draw
-
ID Number
Symbol Name
OD
IS0 60: Norwegian
0
0
1
2
3
1
<NUL,
I
1
tOCl>
I
1
cDC2>
1
I
xDC3,
167
Symbol Name
ID Number
Roman Extension
OE
0
12
3
xNUL>
0
-
I
jT6
1
1
4
a
1
5
A
1
6
.
1
168
-
!
1
7!
1 23!
1 391
r
8!
i 24!
i SO!
' i 561
i 72!
i f
6
A
1
7
P
1112
ID Number
Symbol Name
OF
IS0 25: French
0
0
12
3
0
<NUL>
1
4
5
psi
5
P
1
6
*
7
p
1112
8
9
<SUB,
B
<VT,
)
9
*
:
J
l
K
1
<ESC,
+
1'jTi
I
1
1
1
Yiy
I
Z
'
1
fi
j
z
1122
k lit76 1123
169
Symbol Name
ID Number
HP German
0
3
12
<NUL,
n
n
I:
1
-
!
1
O!
1 16!
1 32!
1 SE'! -
1
-
!
I
I!
I 17!
I 33!
1 49!
I7
5
4
D
1 f55! -
7
6
T\
Symbol Name
ID Number
IS0 15: Italian
01
8
SBb,(LAN,
1 1 ( 1 8~Hrji.X~hfizxfi
<HT>
9
a
--
1
<LF,
. ..
<EM>
1
<SUB>
) pii
g~l~y~iEyfEi
* -:-J-Z-j-z-
[ 101
1 261
1 421
I
1 581
I
1 741
1 901 -
11061
1122
1 14
1 30
1 46
1 62
1 78
I 94
I110
1126
B
I
C
D
l?
F
CSI,
1
<us>
1
171
ID Number
OK
172
Symbol Name
JIS ASCII
ID Number
ON
Symbol Name
ECMA-94 Latin 1
ID Number
ON
Symbol Name
ECMA-94 Latin 1
(cont.)
.-
ID Number
00
Symbol Name
OCR-A
ID Number
Symbol Name
Math-8A
OQ
0
3
12
(NUL,
-
1
4
n
1
31
1 191
1 35!
1
7!
1 231
1 391
5
l-t
1 511
6
7
..
1 671
11151
8
F
176
I
a
0
0
Ill
1127
ID Number
Symbol Name
IS0 11: Swedish
OS
0
n
6
7
1
I
12
3
tNUL>
1
5
6
7
-O-B-P-B-p-
1
<BEL>
1
4
1
,
1
7
1
G
I
W
1
g
fi
w
1119
177
ID Number
Symbol Name
ou
US-ASCII
12
0
0
3
4
5
6
7
<NUL,
1112
1
L
3
I
1
CBS>
.-
9
A
I .
#
1
<oc4,
A
8
1 18
<oc3>
1
I
1
A
c
1
s
1
c
1
a
n
s
1115
t
(CAN,
1
<LF>
3
-..
9
1
1 25
<SUB,
1
( fT
’
1 41
*1
(120
1 57
:1
1 73
1 89
J pi Z 1
1105
-
1121
i-z---
-
178
Symbol Name
ID Number
Bar Code 39
OY
0
3
12
5
4
6
7
-
.-...
51
1 511
I 67
1
1 521
1
1 441
1 601
1 761
I a3
,
k..
iq
II
1
jiiz
1 921
11
L_
-
i-
-
.
.
^
-_
jiiz
ID Number
Symbol Name
1D
IS0 61: Norwegian
0
0
12
4
5
6
7
<NUL,
I
1
1
d
r\,T.
1
0 pii @ 1
pI
-
1
P
1112
<OCl>
-!-l-A-O-a_q
I 101
180
3
I 261
,CCP.
I 421
:
I
I Sal
I
I 741
I
i
z-
I go] 4 11061 I
I
ID Number
I
Symbol Name
1E
IS0 UK
0
1
2
3
1
<oc3,
<oc4,
/T
E
1
3
I
c
1
s
c
/TiT 1
s
jii?-
-S-4-D-T-d-t-
181
ID Number
Symbol Name
1F
IS0 69: French
0
12
<oc4,
4
-
3
$
1
1
1
1 101
1 261
1 421
1 11
1 27
1 43
1
1'1
<FF,
C
4
1
.
1 59
'<
pii
E
L
182
F
-
1
1 311 ’
1 471
D
1
5
T
1
6
7
dt
lloo 1116
-
D
F
4
1 63
1 75
1 s
ID Number
Symbol Name
IS0 21: German
1G
1
lob
0
<NUL>
I
CBS,
8
pi
CHT,
9
[
x
<LF,
__
1 101
-
1
1
<so>
1
3
0
1
4
5
0
6
7
*
<CAN>
1
( 1
8~HjTXEhEXEi-
) 1
g~l~y~i~y~
*
.
<EM,
1
<SUB,
T
7
i
1 261
1 27!
I 13
E
12
1 43! ' 1 591
I2
<RS,
1yT6
>
1
N
1
-
1
n
D
lllo 1126
183
ID Number
Symbol Name
10
OCR-B
0
0
pl
E
E
Ts
5
6
9
A
B
C
D
E
F
184
1r-z
<oc4,
4
T;i
j-z20
E
121
pi
122
cBEL>
F
I,
118
(OC3>
3
I
1.’
<oc2,
1
q
#
$
x
&
w
<LF,
I
<VT,
I
<FF>
1
<CR,
1
<so,
1
<SI,
1
119
X
p
E
113
r
CBS>
<IiT>
112
114
I
123
7
P
116
<OCl,
2
8
2
I
cNUL>
1
7
1
3
120
-4
2
Y
4
121
122
Symbol Name
ID Number
OCR-B
(cont.)
10
L.
8
_..
k__
-.
.._
i...
L..
-..
L
_.
.-
9
A
B
C
D
E
F
ID Number
Symbol Name
Math-8B
1Q
c
-
1
1
O!
1 16!
1 321
t 481
1 64!
1 I
1
-
1
1
11
1 17!
1 331
1 491
1 65!
1 El!
‘I
971 A
ID Number
Symbol Name
HP Spanish
1s
1
-
!
1116j
<RS>
F
1.'
(US>
fi
>
i
N
1
'
1
n
lllo I126
i'
ID Number
1U
Symbol Name
Legal
ID Number
2K
Symbol Name
IS0 57: Chinese
8
9
C
<
1124
ID Number
2Q
Symbol Name
Pi Font-A
1
IF
2
3
4
6
190
‘
-
-L
lllE
Symbol Name
ID Number
2s
I~~
IS0 17: Spanish
_-
o
n
-
I
2
3
5
6
7
(NUL,
-07s~p~‘~pE
1
32!
1 48
1 -
!
1 01 1 16!
I
1
~'Oc1'!!11-A-Q-a7q
1
4
1113
._.
-.
,
1
-_I
1
1
8
7
G
i
W
187
g
jiE
w
[119
~-8~H~X~hl-izX~
1 56
-
!
1
B!
1 24! . 1 4'3!
9
-
!
1
9!
1 25!
)19-I-Y-i
I-
pi
' 1 41!
1 5J!
i
73!
1 8’9
jiTl
1T
--_-_
191
ID Number
Symbol Name
2u
IS0 IRV
.
0
12
3
1
-!-l-A-O-a-q
li
I 171
cDCZ>
2
1
1
tDC3,
3
1
1
I 331
11
#
jTl
j-E
I
3
,
f-T
1
192
F
-
1 491
2
3
I
f2-l
[ 651 -
B
c
R
1
s
1
1 .
,
.
5
7
6
cDCl>
1
-
E
4
i
CBS,
<CAN>
I
cHT>
1
<EMI
,
(
1
1
<so, <RS,
j--E j-zi30'
8
1
b
c
97
_.
1
1
1
1
F,-jv
JO
r
s
liiiliii
H1
1
x liz
X pii h liisi
--
T
>
I-i-K
---
cl!
1
N
pi
-
CSI,
I
<us>
-/-?-0
I 151
I 311 ' 1
6
1
-~ r
1m
‘I
&
riiij
- p 53
1--(95
1
n
0
lllo fi
1111
#
1127
-
ID Number
Symbol Name
OCR-B Extension
3Q
-._
0
1
-
-~
1 11
2-
-
I2
I
1 18
331
1 49
I 34
1 50
1 66
1
1
1
1 82
cDC3,
3
1
I
1
I
1
-
1
-
I
8
-.
gI 9
1
1<DC4>
1
1
1
R
1 0
1 98
1
[i14
1
1115
1
1
1
1 JO!
I B6!
1104
1118l
1 791
1 951
11111
11271
-
._.
1
6!
1 22!
1 38!
1 54!
1 301
1 461
1 621
1 311
I 471
I 631
.-
,-.
.-.
_~
1
C
D
1
I
1
E
~
F
-
I 151
193
ID Number
Symbol Name
3s
IS0
0
n
7
3
<BEL,
1
l-3 CBS>
1
<CAN,
cHT>
<EM,
1
1
4
5
-O-@-P-‘
1 161
0
9
12
(NUL,
-
10: Swedish
,
1
I
1 I30
1 481 - 1 64!
1 32!
7
1
0
G
pi
Ll
0
6
W
1
V
1
g
7
p
1112
w
liiz /iiT
h
1121
A
-
B
-
C
D
E
F
194
<so>
1
CSI,
I
cRS>
f7rly-z
<us,
1
>
1
N
1
-
1
n
lllo jiz
ID Number
-.
Symbol Name
4s
IS0 16: Portuguese
._-
0
12
3
4
5
6
7
-
-
I I4 I
I<DCl,I,
xDC2,
2
I,A
9,
I,
In
I,
I,
I
n165vIa197y
-2-B-R-b-r
fi
‘8
-._.
-~
-_
9
-._.
-
<HT>
1
<LF,
<EM>
1
<SUB>
)
pi
*
9
1
.
I
1
T
Yiy
pz
1105 1121
R
1 101
I 261
1 421
1 581
1 741
1 901 a 11061
1 111
i 271
1 431 - 1 fl
r 751
rs
^
c-
E
<so,
I
<RS,
F
cSI>
1
~lJS>
1
>
IO'l
/
1
1
? 1
N pi
0 E--(95
-
1
n jiE
0
fi
'
i
1126
(127
195
ID Number
Symbol Name
5s
IS0 84: Portuguese
0
12
3
<NUL>
II
m
-o-‘-P-‘-D-
116
1 32
<DCl,
1
l-i
4
!
1
1 48
1
1
I
5
1 64
A
1
6
1 80
Q
pz
1 96
a
1
7
q
1112
1113
6
Id/T,
1
-
!
1
1 12!
1 131
<so,
r 14
F
196
I<ESC,
<SI,
1
I ,
I
1 281 - 1 441
1 291
<RS,
1 30
<us,
1
1 451
.
1 60!
1 76! - 1
1 611
1 771
1 931
11091
1125
Symbol Name
ID Number
6s
IS0 85: Spanish
--
I
0
’
_
n
-
2
1
4
3
6
5
7
<NUL,
L
!
1
O!
1 1’4
1 32!
1 48!
*-
2
<HT,
9
<EM>
l-7
<SUB,
<VT,
<ESC,
pc
A
1
<LF>
1
) 1
*
1
g~l~y~iliEy~.
:
1
J fi
Z1
j 1106zE
.
t
s
11
<FF,
12
#
E
F
<CR,
1 13
<so,
1 29
1 45
cRS>
j?iiyTi
1
CSI, CtJS,
115 1
I
>1
N
fTaq-4
'*126
n liiill-
197
ID Number
Symbol Name
8M
Math-8
0
3
4
5
6
198
4
5
6
7
0
w
I
1
1 17
I 33
I 49
1 65
1 81
1 22
1 38
1 54
1 70
1 86
1 30
1 46
1 62
1 78
1 94
1
I 97
’
1113
3
4
5
1
6
1 14
F
3
<NUL>
0
1
12
CSI,
1
(US>
=
I / pii 1
0 ~-~
- 1102 ‘- 1118
1110
0
1126
#
j-iii1127
ID Number
Symbol Name
8M
Math-8
(cont.)
i.
8
0
1
L
-
2
3
4
5
6
7
8
9
A
B
-
C
-_
D
-
E
F
I
9
I A
ID Number
Symbol Name
IBM-PC Set
f3Q
0
12
3
4
5
6
7
.-
ID Number
Symbol Name
8Q
IBM-PC Set
(cont.)
8
9
A
B
C
D
E
F
ID Number
Symbol Name
Roman-8
8U
2
0
1 1 01 1 161 1
3
4
1
@1
p
5
6
I
'P1
7
1112
-1,.A-0,.aTq
I
1,~ -
211
I
I
!
1
9!
<VT,
1 371
I
1 251 ' 1 411
<ESC,
1 531
I
llDll
I
1117
1
I -
I
1 691
v
r
1,
I
I
C
D
E
-
F
202
1 131
1 291
1 451
1 611
1 771 - 1 !
1 14
[ 30
1 46
1 62
1 78
1 94
1110
<SI, <us,
IT
ITi ' IT ?E0E-lT01iiiviT7
1126
ID Number
8U
b-
Symbol Name
Roman-8
(cont.)
L
L
L
L
L
i
W
-
--
I
203
ID Number
8Y
204
Symbol Name
Bar Code EAN/UPC
Symbol Name
ID Number
IBM-PC Extension
9Q
0
12
3
4
5
6
7
1
1<DC4,
L__
1A
-
b..
--
.
_.
.
.
_.
_
_
205
1
i:
t,
,’
ID Number
99
I
206
Symbol Name
IBM-PC Extension
(cont.)
ID Number
1ou
Symbol Name
IBM-PC(US)
' 7
P
lq
r
s
i
112
113
114
115
-4
126
207
ID Number
1ou
Symbol Name
IBM-PC(US)
(cont.)
A I B
208
E
F
ID Number
1lQ
-
6
Symbol Name
ECMA-94 7-bit
I 37t
I 53:
I 69/
Iloli
1117{
ID Number
Symbol Name
IBM-PC (Denmark/Norway)
11U
0
1
2
I
3
I
5
4
1
6
I
7
0
P
1
q
2
3
4
5
6
7
8
9
A
I
93
94
*
210
m
n
109
110
112
113
ID Number
11u
Symbol Name
IBM-PC (Denmark/No
(cont.)
AIB
c ID
I
4
193
f
s
T
t
-.
-.
-._
. .~
194 lr
195
209
2ia
IL 211
t,,
k
ID Number
12u
Symbol Name
PC-850
ID Number
12u
Symbol Name
PC-850
(cant
.-
I8
L.
g lAIB
E
I F
L.
h..
.
.
.
-.
-.
-_
L
L.
213
ID Number
15u
214
Symbol Name
Pi Font
IAl
ASCII, 6-11
ASCII symbol set, 39,131
attributes. See font attributes
auto line feed
Proprinter mode, 149
Auto Line Feed parameter, 22
auto parameters, 22
auto wrap, 23
Autowrap command
HP LaserJet III mode, 65
ml
backspace commands
EX-800 mode, 125
HP LaserJet III mode, 63
Proprinter mode, 149
baseline, 35
baud rate, I7
Bell, 20
bidirectional printing, 129
binary arithmetic, 5-6
bit-mapped fonts, 36
bold print, 33
bottom margin commands
EX-800 mode, 124-125
El
cancel line command
EX-800 mode, 138
Proprinter mode, 147
carriage return, 23
EX-800 mode, 126
HP LaserJet III mode, 63
Proprinter mode, 147
cartridge fonts, 37-38,43-44
centering text
EX-800 mode, 124
Change Emulation superset command,
29-32
channels, vertical tabs in, 130
character description commands
HP LaserJet III mode, 85
character graphics
EX-800 mode, 139
character parameter, 14
character position commands
HP LaserJet III mode, 84-85
character sets
Proprinter mode, 150
See also symbol sets
character spacing. See spacing
columns, 26,27
EX-800 mode, 128
HP LaserJet III mode, 55
command parameter, 14,15-16,20
compressed print
EX-800 mode, 134-135
Proprinter mode, I51
condensed print, 34
EX-800 mode, 134-135
Proprinter mode, 151
configuration, 15
configuration settings, 16
continuous-form paper, 21
control codes, 7-8.49
printing, 78
215
corona wire, 4
Courier font, 6,41,137,152
current settings, 15
ccl
DCl/DC3 protocol, 17,121
default settings, 15
Define Line Spacing command
Proprinter mode, 148
density, graphics
EX-800 mode, 141-144
descenders, 34
desktop publishing, 42-43
DIP switches, 14
Display Functions command, 79-80
double-density graphics
EX-800 mode, 142
Proprinter mode, 153
double-strike print, 33
EX-800 mode, 136
Proprinter mode, 151
double-width print
EX-800 mode, 135
Proprinter mode, 151
downloadable fonts, 38,44-47
drum, 4
DTR protocol, 18
m’
elite characters, 35
emphasized print, 33
EX-800 mode, 136
Proprinter mode, 151
Emulate Attributes parameter, 28
Emulation Attributes menu, 42
emulations, 11,19,28-30
symbol sets for, 40-41
See also EX-800 emulation mode;
HP LaserJet III emulation mode;
Proprinter emulation mode
Epson EX-800 emulation mode. See
216
EX-800 emulation mode
Escape sequences, 8,49-51
combining, 50-51
printing, in HP LaserJet III mode,
78
ETX/ACK protocol, 18
EX-800 emulation mode, 19,20,28,
119-144
font control commands, 130-139
graphics commands, 139-144
page formatting commands, 122125
printer control commands, 121
print position commands, 125-130
symbol sets, 40
unsupported commands, 120-121
extended print, 34
EX-800 mode, 135
El
factory settings, 15
font attributes, 28,34-36,41,68
default, 41
See also font orientation; pitch;
point size; spacing; stroke
weight; style; symbol set;
typeface
font control commands
EX-800 mode, 119-121
HP LaserJet III mode, 66-82
Proprinter mode, 150-153
font design
HP LaserJet III mode, 82-85
font header, 83-84
font height, 34,39,69
EX-800 mode, 135
HP LaserJet III mode, 75
Proprinter mode, 152
font ID numbers
HP LaserJet III mode, 68,80,83
font orientation, 21,25,28,29,31
EX-800 mode, 131
HP LaserJet III mode, 54-69
Proprinter mode, 150
fonts, 2,33-47
bit-mapped, 36
cartridge, 37-38,43-44
downloadable, 37-38,44-47
internal. 36-37
managing, 41-47
optional, 43
outline, 38
primary, 67
secondary, 67
sources for, 39
font selection, 42
EX-800 mode, 130
HP LaserJet III mode, 66-68
Proprinter mode, 150
font size commands
Proprinter mode, 151
font storage, 36-47
font style commands. See style
commands
form feed command, 23
EX-800 mode, 126
HP LaserJet III mode, 64
Proprinter mode, 147
front panel, 13-14,
jG(
graphics
character, 131-132
EX-800 mode, 131-132,139-144
HP LaserJet III mode, 86-115
nine-pin, 143-I 44
pattern, 89-94
plotter, 141
Proprinter mode, 153
HEX DUMB parameter, 21
high-order bit, 133
high-speed double-density graphics
EX-800 mode, 141
Proprinter mode, 153
HMI, 26
HP LaserJet III mode, 58
horizontal motion commands
EX-800 mode, 124
horizontal motion index. See HMI
horizontal print position, 58,60-61
horizontal tab commands
EX-800 mode, 128-129
Proprinter mode, 148-149
HP LaserJet III emulation mode, 19,49118
font control commands, 66-86
graphics commands, 86-96
page formatting commands, 54-59
printer control commands, 51-53
print position commands, 58-66
symbol sets, 39, 70-73
III
IBM character sets, 146
IBM Proprinter emulation mode. See
Proprinter emulation mode
interface parameter, 14,16-18
internal fonts, 36-37
international characters
EX-800 mode, 131-132
Proprinter mode, 151
italics. See style commands
El
justification
EX-800 mode, 124
IKI
kerning, 35
4m
hexadecimal arithmetic, 5-6
217
El
labels, 23-24
landscape orientation. See font
orientation
LaserJet III emulation mode. See HP
LaserJet III emulation mode
layout parameter. 14,25-26
LCD display, 20
leading, 34
left margin commands
EX-800 mode, 124
HP LaserJet III mode, 55
line depth commands
HP LaserJet III mode. 59
line feed commands
auto, 22
EX-800 mode. 126
HP LaserJet III mode, 67
Proprinter mode, 147-148
Line Printer font. 36,42,152
lines, 27,34
line spacing commands
EX-800 mode, 124-125
HP LaserJet III mode, 58
Proprinter mode, 148
Macro Control command
HP LkerJet III mode, 116
Macro Overlay setting, 20
macros, 11
HP LaserJet III mode, 116
margin commands, 26
EX-800 mode, 124
HP LaserJet III mode, 5557
Master Select command, 137-138
memory management, 46-47
MODE command, 16
monospacing, 28.35
most significant bit, 133
MS-DOS, 10,16,47
218
IN1
networks, 47
NEXT button, 15
nine-pin graphics, 143-144
number of copies command
HP LaserJet III mode. 52
Number of Copies setting, 20
lol
offset commands
EX-800 mode, 134
ON LINE button, 13
optional fonts, 43
orientation. See font orientation
outline fonts, 38
overscoring
Proprinter mode, 153
(PI
page design, 4243
page formatting commands, 21-26
EX-800 mode, 122-125
HP LaserJet III mode, 57
Proprinter mode, 147
page length commands
EX-800 mode, 122
HP LaserJet III mode, 54-56
Proprinter mode. 147
page orientation. See font orientation
paper, 23-24
continuous-form. 21
paper feed parameter, 14,21-22
paper size, 22,32
paper weight, 23
parallel interface, 3,16
parameters, 13-16
character, 28
page, 25-26
printer, 13-16
parity bit, 17
pattern graphics
-.
L.
L_
L.
-.
.._
b.-_.
L.-
L.
._
HP LaserJet III mode, 89-93
perforation region, 56
pica characters, 35
picas, 34
pitch, 27,28,35,39
EX-800 mode, 134
HP LaserJet III mode, 69, 74
Proprinter mode, 152
plotter graphics, 141
point size, 2,27,28,34
popping print position
HP LaserJet III mode, 65-66
portrait orientation. See font
orientation
PREVIOUS button, 15
primary fonts, 67
print density, 24
print direction commands
See also bidirectional printing
print drum, 4
print engine, 4
printer control commands, 13-32
EX-800 mode, 119
HP LaserJet III mode, 51-53
Proprinter mode, 146
printer deselection command
Proprinter mode, 146
printer drivers, 6,9,29
printer parameters, 13-32
Print Pattern command
HP LaserJet III mode, 90
print position commands, 22,27
EX-800 mode, 125-130
HP LaserJet III mode, 58-66
Proprinter mode, 147-149
print spoolers, 47
PROGRAM button, 15
proportional spacing, 28,35
HP LaserJet III mode, 73
Proprinter emulation mode, 19, IYJ-
fonts control commands, 150-153
graphics commands, 153
page formatting commands, 147
printer control commands, 146
print position commands, 147-148
symbol sets, 40
unsupported commands, 146
protocol, 17-18
pushing print position
HP LaserJet III mode, 65-66
CQI
quadruple-density graphics
EX-800 mode, 141
Proprinter mode, 153
IRI
RAM, 3,38,46-47
random access memory. See RAM
raster graphics
HP LaserJet III mode, 86
read-only memory. See ROM
READY light, 13
reset commands
EX-800 mode, 121
HP LaserJet III mode, 52
resident fonts. See internal fonts
right margin commands
EX-800 mode, 124
HP LaserJet III mode, 55
ROM, 3
roman style. See style commands
rules
HP LaserJet III mode, 89-93
El
screen graphics, 141
secondary fonts, 67
Select Emulation superset command,
3.
153
219
EX-800 mode, 131
HP LaserJet III mode, 70
Proprinter mode, 150
Select Orientation superset command,
31,111,145
Self Test command
HP LaserJet III mode, 51
serial interface, 3,16-l 8
side margin commands
EX-800 mode, 124
HP LaserJet III mode, 55
single-density graphics
EX-800 mode, 141
Proprinter mode, 153
Skip-Over-Perforation commands
EX-800 mode, 122
Proprinter mode, 147
space command
EX-800 mode, 125
spacing, 28,35,69
EX-800 mode, 124
HP LaserJet III mode, 73
See also line spacing commands;
monospacing; proportional spacing
Specify Macro ID command
HP LaserJet III mode, 116
Specify Pattern command
HP LaserJet III mode, 91
stop bit, 17
stroke weight, 28,33,39
EX-800 mode, 136
HP LaserJet III mode, 75
Proprinter mode, 152
style commands, 28,35-36,39,69
EX-800 mode, 136
HP LaserJet III mode, 75
Proprinter mode, 152
subscripts, 39
EX-800 mode, 138
Proprinter mode, 151
superscripts, 39
EX-800 mode, 138
Proprinter mode, 151
superset commands, 29-32
symbol sets, 28,39-41,70
220
/T(
tab commands
EX-800 mode, 124
HP LaserJet III mode, 60-61
Proprinter mode, 148-149
templates, 42
TEST/PREVIOUS button, 13
Text Length command
HP LaserJet III mode, 36
toner cartridge, 23
top margin commands
EX-800 mode, 122
HP LaserJet III mode, 56
Proprinter mode, 147
transparencies, 25
Transparent print command, 81
typeface, 28,33,69
typeface commands
EX-800 mode, 137
HP LaserJet III mode, 70-72
Proprinter mode, 152
underlining, 39
EX-800 mode, 137
HP LaserJet III mode, 78
Proprinter mode, 151
upright style. See style commands
user-defined characters
EX-800 mode, 139
user-defined fonts
HP LaserJet III mode, 82-86
-
-._.
-
El
vertical motion index. See VMI
vertical print position, 61-62
vertical tab commands
EX-800 mode, 129
VMI, 26
HP LaserJet III mode, 60
El
wamiIlgAlarm,20
WYSIWYG,43
XON/XOFF protocol, 18
221
Consumer Response
Star Micmnics Co., Ltd. invites your suggestions and comments on your
printer and this manual. Please address your correspondence to:
Worldwide Headquarters:
STAR MICRONICS CO., LTD.
194 Nakayoshida
Shizuoka, JAPAN 422-9 1
Attn: Product Manager
American Market:
STAR MICRONICS AMERICA, INC.
420 Lexington Avenue, Suite 2702-25
New York, NY 10170
Atm: Product Manager
European Market:
STAR MICRONICS DEUTSCHLAND GMBH
WesterbachstraI3e 59
P.O. Box 940330
D-6000 Frankfurt/Main 90
F.R. of Germany
Attn: Product Manager
U.K. Market:
STAR MlCRONlCS U.K., LTD.
Star House
Peregrine Business Park
Gomm Road, High Wycombe
Bucks. HP13 7DL, U.K.
Attn: Product Manager
French Market:
STAR MICRONICS FRANCE S.A.R.L.
25, rue Michael Faraday
78 180 Montigny-le-Btetonneux
Attn: Product Manager
Asian Market:
STAR MJCRONICS ASIA LTD.
Room 2408- 10 Sincere Building;
173 Des Voeux Road, Central, HONG KONG
Attn: Product Manager
.
-
-
/