Star Micronics Printer Interface Cartridge for the Apple IIc Applications Manual

Add to my manuals
232 Pages

advertisement

Star Micronics Printer Interface Cartridge for the Apple IIc Applications Manual | Manualzz

j .-

/

Applications Manual

-

Trademark Acknowledgements

LaserPrinter 8111: Star Micro&s Co., Ltd.

PageMaker: Aldus Corporation

Apple II +, Apples&t: Apple Computer Inc.

Bitstream, Zapf Humanist: Bitstream Inc.

Canon: Canon Inc.

Centronics: Cunronics Data Computer Corporatim

HP, LaserJet III: Hewlett-Packard Company

LaserControl: 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

All rights reserved. Reproductim of any w of this manual in any form whatsoever without

STAR’s expnxs pennissim is forbidden. l

‘lhe contents of this manual are. subject to changp without notice. l

Alleffortshavebeenmade toensurctheaccuracyofthe contents ofthis manual at thetimeofpress.

However, should any ermrs be detected. STAR would greatly appreciate being informed of them. l

The above notwithstanding, STAR can assume no responsibility for any errors in this manual.

Q Copyright 199 1 Star Micro&s Co., Ltd.

-

PREFACE

About this manual

This Star LaserPrinter 8111 Applications 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 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 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. l

“Controlling Your Printer” examines the parameters and “superset” want it to behave. These let you control the printer, manage page formats, and specify what you want printed. l

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. l

You may never look atmore than one or two of chapters4 through 6, which other printers: it imitates other printers by accepting the same commands they do. Just think of your Star LaserPrinter 8111 as three printers hiding inside one unit.

If you want to write or modify a program that uses one of these printers- the Hewlett-Packard LaserJet III, Epson EX-800, IBM Proprinter or - chapters 4 through 6 show how your Star LaserPrinter 8111 can 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-.

L

L

L ,-- b l

The final “Technical Supplement” containing the command and character reference tables will probably get thumbed the most.

Conventions

Incidentally, one of those Technical Supplement tables suggests a couple of typographic conventions we’ll use. Base ten (decimal) numbers will gener- ally be used here; if we have to use base sixteen numbers (hexadecimal) we’ll expressly say so.

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 unpack and set up your laser printer, connect the Star LaserPrinter 8111 to your computer’s serial or parallel pofis l l l l size and speed of data transfer), load paper and the toner cartridge, operate the panel switches and display, l l 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 8111 Hardware ............................................................. 1

Star LaserPrinter 8111 Software ............................................................. .5

CHAPTER 2 CONTROLLING YOUR PRINTER 13

Printer Parameters ................................................................................ 13

Controlling the Printer.. ........................................................................ 16

Controlling the Page ............................................................................. 21

Controlling the Printing ....................................................................... .28

The Star LaserPrinter 8111 Superset .................................................... .29

CHAPTER 3 FONTS 33

Font Terminology ................................................................................ .33

Symbol Sets ......................................................................................... .39

Managing Fonts ................................................................................... .4 1

CHAPTER 4 HP LASERJET III COMMANDS 49

HP LaserJet III Commands .................................................................. 49

Controlling the Printer.. ....................................................................... .5 1

Page Orientation .................................................................................. .54

Moving the Print Position.. .................................................................. .58

Controlling Fonts .................................................................................. 66

Using Your Own Fonts.. ...................................................................... .82

Raster Graphics ................................................................................... .86

‘Pattern Graphics .................................................................................. .89

Vector Graphics.. ................................................................................. .94

Macros ................................................................................................ 116

CHAPTER 5 EPSON EX-800 COMMANDS 119

EX-800 Commands ............................................................................ 119

Controlling the Printer ........................................................................ 121

Formatting Pages ................................................................................ 122

Moving the Print Position.. ................................................................. 125

Controlling Fonts ................................................................................ 130

Graphics ............................................................................................. 139

_ b. i

L .--

CHAPTER 6 IBM PROPRINTER COMMANDS

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’s personality, 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. with up to 90,000 dots per square inch- no more NLQ (near letter quality) compromises. The Star LaserPrinter 8111 produces 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 8111 is 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 8111 comes 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

Helvet line drawing

Letter Gothic presentation fonts

Bar codes optical character reader fonts universal product code 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 8111 dealer 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

--

C”..

-..

._

_.

. ..^d

--_

How your laser printer communicates

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 side- by-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

LaserPrinter 8111 Operations Manual.

The Star LaserPrinter 8111 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 8111 comes with one megabyte of RAM- the 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 8111 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 laser diode

Photosensitive 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 “hun- dreds” 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 Binary Hexadecimal

0

8 loo0 8

1 9 1001 9

2 10 1010 A

3

4

5

6

7

11

12

13

14

15

1011

1100

1101

1110

1111

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

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 key- board 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

-..

we

_..

-

0x2’ = 0

1x26 =64

0x25 = 0 ox24 = 0

1~2~ = 8 ox22 = 0

1x2’ = 2

Ox2O = Q

74 Decimal zone digits

0100 1010 Binary

4 A 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: l hex 00 to 1F are the command symbols called control codes,

. hex 20 to 40 are the common keyboard symbols and numerals, l hex 41 to 60 are capital letters and the less common keyboard symbols, l hex 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 single- character 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

-.- i m....

L-

-..

_.._

. .

_.

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 alter line spacing, or move to a new print position.

Some programs, such as WordPerfect and the systems from Lotus Devel- opment 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. 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.

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 bell- most people call it a beeper- and then the

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

-

L- e-

L_

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.

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

You noticed that we said “in EX-800 mode” up there? Your Star Laser-

Printer 8111 responds to the same escape sequence commands that several other printers use. Being able to emulate the Epson EX-800 lets you use your advantage of laserprinters. In fact, because it emulates three of the most microcomputer program around.

Unfortunately those printers often use different escape sequences for exactly the same function. Those printers, moreover, provide escape se- quences 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

11

12

NOTES

You can control your Star LaserPrinter 8111 in 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 8111 is through its front panel, as explained in more detail in your Star LaserPrinter 8111 Operations

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: l l l l l

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)

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: l its “ultimate default” factory settings, l l l 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.

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

-

-

-

- b_

. .

-.

. . .

_....

L.. override the factory settings.

Factory settings are programmed into the Star LaserPrinter 8111 when 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:

Item Factory default setting

Emulation HP LaserJet III

Feeder Paper cassette

Number of Copies 1

Orientation Portrait

Font

Linesrtnch

1 O-pitch 12-point Courier (internal)

6 lines per inch

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. rings (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.

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 commu- nicate properly.

It’s actually pretty easy. Flipping through and setting parameters from the panel is described in detail in the Star LaserPrinter 8111 Operations 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 Laser-

Printer 8 itself works. The INTERFACE parameter controls communica- tions between the printer and your computer. And the COMMAND parame- ter 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 “handshak- ing”) 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 differ- ently. 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 (End- of-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

b_

,I

-.

-.

-.

-_

Printer emulations

OK, you’ve got your printer and computer connected properly. Now let’s focus on how your printer works.

Your Star LaserPrinter 8111 understands and uses the same commands as several earlier kinds of printers. Your printer works by emulating one of these: l

Hewlett-Packard LaserJet III

9 Epson EX-800 l

IBM Proprinter

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 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 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 com- puter environment.

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 program- mers 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

l

To make your Star LaserPrinter 8111 print 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

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. l

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. l

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

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 form, 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.

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: l l l l

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)

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: l return the print position to the left margin (carriage return, sometimes l l l 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 ).

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

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

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. l

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 8111 is 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. l

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 low- temperature dye. l 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

l

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 better- looking 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.

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 medium- weight transparency film (type 501) or to Hewlett-Packard’s #2285J.

24

L

. 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 Zayout 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 with commands you send from your computer.

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

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,

- horizontally in increments of: l/10, l/12 or similar fractions of an inch (pitch settings), l/48, l/60, l/72, l/120 or l/216 inch (line or column definitions), l/300 inch (dots), or l/720 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 for- getting 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 propor- tionally, 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 propor- tional 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

L

L

-. h.

. _

. .

.“_

--

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.

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 set- up parameters about your printer. Other programs let you put printer commands before or inside the document you want to print.

But maybe the software you use doesn’t have printer drivers for any 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

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- but 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

3 IBM Proprinter -

-

-

30

The Select Orientation command

The Select Orientation superset command lets you change the “attitude” in

.

-.-

,-..

-

. -

-.

To change from one orientation to the other you send this Select Orientation

Escape sequence:

<ES0 [ 0 n

For the value n you put 0 (zero) for portrait orientation, or 1 (one) for landscape orientation.

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 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 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 [ S n

For the value of n you enter a number from this table:

5

11

12

13

14 n

1

2

3

4

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 down- loaded) 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. 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 com- mands 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 com- mand 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 o has been kerned closer to the f.

The font height (24 points) is measvcd from ascender to descender.

I

set of

-characters in a particular EII:zr size and typeface.

Baseline

Serif uu Proportionrl spaoing t

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 punctua- tion, 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 Laser-

Printer 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 characteris- tics”). 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

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

-.

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 8111 nor 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 perma- nently in its read-only memory (ROM). That’s why these are sometimes called “resident fonts”:

Courier

Tms Romn

Prestige Elite

Line Printer

Courier is the face used on the most common electric typewriters. Neither

Courier nor Prestige Elite, another typewriter face, are printed with propor- tional spacing. Tms Romn however, is always spaced proportionally. Tms

Romn is probably the most readable and most popular commercial typeset- ting face. The Line Printer font, designed originally for mainframe comput- ers, 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: l l l l l

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) l

style (upright or italics)

. stroke weight (light, medium or bold) l

typeface (Line Printer, Tms Romn, Courier and so on)

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

You can print any downloadable font that works on the HP LaserJet series

II. Several other companies sell downloadable fonts which are compat- ible 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. l

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

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.

-

40

L.

_.

.-

L

L

-

--_

-.

--

L.

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.

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 monospaced 16.6 8.5 point

Technically, you can use any of the Star LaserPrinter 8111’s resident 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

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 8111 Operations Manual, also lets you print out a list of all the

, fonts available on the printer at any given moment.

41

/ i

I

I

I

I i

2.

1

I

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.

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

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. l

Some desktop publishing systems, such as Aldus’s PageMaker, are page- oriented: 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.

42

-

--.

L_

. .

_.

-

-

.-.

_

-.

-_

. ..-

_... 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

“what you see is what you get”.

While “screen fonts” that match the fonts you use on your Star Laser-

Printer 8111 were 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

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.

Optional fonts offer different typefaces too. Ask your Star Micronics dealer about cartridges or disks for the following:

Helvet line drawing fonts

Letter Gothic presentation fonts

Bar codes 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

l

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:

- text over 20 points,

- lots of lines or patterns,

- graphics,

- macros,

-justified text. l

You may choose to add an optional RAM board to your Star LaserPrinter 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

.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

‘,’

_.

-.

-. i i

.-

- 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

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 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 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

<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

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 8111 Operations 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 com- mand:

<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 printer only ejects the current page

1 (one) the printer takes its next page from the paper cassette

2

3 the printer takes a regular page manually the printer 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 E

52

-

-

-

. .

-.

_.

--

_

_-

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 values- including feed selection and number of copies- to their initial settings.

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 PAPER SIZE @ 6 LINES/INCH ’ @ 6 LINESANCH

Portrait

Portrait

Executive

Letter

Portrait A4

Portrait w@

Landscape Executive

I--dscape Letter

Landscape A4

Landscape md

60

66

70

84

43

51

49

*

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

!

_~

--

-

-_.

L.

-

_-

_

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.

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 12- pitch 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 8111 confines 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 8111 automatically 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). 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 pageleng!h=llZIines bottom margin

4 lines

I

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’ill produce this format for us:

<ES0 &c/l 12P

<ES0 &a lOl7OM

<ES0 &/8e 1OOf OL

(We’ll send our page here.)

<ES0 9

57

MOVING THE PRINT POSITION

Many ways to move

The LaserPrinter 8111 provides excellent control over the print position- where 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. 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

-

-

-.

L_

--

__..

. . .

- 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/12Oth of 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 half- overlap the one before it.

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/3OOth of 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 8111 will 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 (ex- plained 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

2 the same), 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 de- scribed 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

p .,

;,

):

\

.

-_

-. b-.

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 coun- terbalanced, 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 (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

c

A_ b^

. . 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

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.

Orientation

Portrait orientation prints text across the width of a page. Landscape orientation prints text sideways up the length of a page.

_.

-

--.

-

. _

-

,- 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 direc- tion.

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

3Q

3s

4s

5s

6s

8M

8Q

8U

8Y

9Q

IU

2K

24

2s

2u

00

OQ

OS ou

OY

ID

IE

IF

IG

10

IQ

IS

CODE n

OA

OB

OD

OE

OF

OG

01

OK

ON

For n enter one of the following symbol codes. The first character must be a digit and the second an uppercase letter.

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

IOU

IIQ

IIU

12u

15u

IBM-PC (US)

ECMA-94 7Bit

IBM-EC (Denmark/Norway)

PC-850

Pi font symbols

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 Roman-

8 (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)

SELECTION

Selects the default symbol set

72

j i

/

/’

6 fi

I-

_~

I-

,,i

L

I

I i

L

-

I

I

1 -

!_

-

1 (one)

2

3

Selects same symbol set as primary font

Selects the current font’s symbol set

Selects all the default font’s attributes (not just symbol 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.

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.

Here are the commands that will do the job for us:

<ES0 ( OG

.

/ -

I - j

I

(you s&-t your report here)

;ESC> ( IU @

<ESC> ( OG

(you finish your report here)

.

/

I -

-. t .~ i

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.

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 monospaced- pitch font. Your Star LaserPrinter 8111’s internal 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 PITCH CODE n

10 cpi (pica) 0 (zero)

16.66 cpi (condensed) 2

74

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

I

I

I

[ c

I

(zero) produces medium print.

To select the stroke weight for the secondary font, use the same numbers with this command: cESC>)snB

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 mono- spaced-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.

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 n

0 (zero)

5

6

7

8

9

1 (one)

2

3

4

76

:. .,

L

,.

: L.

:’

; -. i L

_

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 )s OP

<ES0 )s 16.668

<ESC> )s 7V

<Esc> )s OS

<ESC> )s OB

<ESC> )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 OS Ob OT

The BASIC statement we could send to select our desired font would look like this:

77

100 LPRINT CHR$(27);“)sOp16.66h7vOsObOTn

And assuming we have such a font in our printer, ve’d get a font that looks like this sentence for 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 charac- ters, 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 printer- for 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

L

L

L i

L

L

L --

-.

L.

.-

_-

<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 se- quences 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.

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 Y

And to turn off Display Functions, send this command at the end of the displayed print data:

CESCP z

That Escape Z sequence itself prints as a blank followed by a Z.

Font control

The Font Control command has two main functions: defining a font’s status, and deleting fonts.

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

FUNCTION

Delete all temporary and permanent fonts n

0 (zero)

Delete all temporary fonts (another way to delete all temporary fonts is to send a reset command)

1 (one>

Delete just the font with the most recently specified ID 2

Delete just the last character of the font you have 3 downloaded

Make the current font ID temporary

Make the current font ID permanent

Make a temporary copy of the current font

4

5

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

--.

_

_ i_ c_

. .

-.~

..__

140 LPRINT CHR$(27);"&p3X";

150 LPRINT CHR$(l28);CHR$(129>;CHR$(l30);

160 LPRINT CHR$(12);

170 LPRINT CHR$(27);"*c5flF";

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.

100 LPRINT CHR$(27);"(8U";

110 LPRINT CHR$(27);"(sOp10h12vOsOb3T";

120 LPRINT CHR$(15);

130 LPRINT CHR$(27);"*clD";

140 LPRINT CHR$(27);"*c6F";

150 LPRINT CHR$(27);"(8U";

160 LPRINT CHR$(27);"(sOp16.66h8.5vOsObOT";

170 LPRINT CHR$(15);

180 LPRINT CHR$(27);"*c2D";

190 LPRINT CHR$(27);"*c6F";

200 LPRINT CHR$(27);"(1OU";

210 LPRINT CHR$(27);"(sOp1Oh12vOsOb3T";

220 LPRINT CHRS(1.5);

230 LPRINT CHR$(27);"*c3D";

240 LPRINT CHR$(27);"*c6F";

250 LPRINT CHR$(27);"(1X";

260 LPRINT "Font 1 - Resident Courier"

270 LPRINT CHR$(27);"(2X";

280 LPRINT "Font 2 - Resident Line Printer"

290 LPRINT 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 professional- looking 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 editing 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

-

-

L

-- i

L. i

. . .

-

L

L i. -

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.

The process of downloading a font you’ve designed yourself is somewhat detailed. To download your font, you follow the following steps:

1)

2)

3)

4)

3 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.

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 at- tributes. 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 gobbledy- gook? 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 MEANING o-1 header length

2

3

4-5 blank font size blank

6-7 baseline position for characters

8

9

10

11 blank cell width blank

12 cell height orientation

13 spacing

14-15 symbol set

16-17 pitch

18-19 line spacing

20-22 blank

23

24

25 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 MEANING

0

1 description length blank

2

3

4 always 14 always 1 orientation

5 blank

6-7 left offset (blank space to left of character)

8-9 top offset (blank space above character)

10-l 1 character width

12- 13 character height

14-15 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 com- mand &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 8111 offers raster graphics (sometimes called “bit- mapped 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:

1)

Define what resolution you need.

2)

Issue the command to start graphics.

3)

Send the commands to transfer raster graphics.

4) Send the command to end graphics.

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

-_

. .

-._

-. h._

. . .

.-

*_.

-..~

. .._

-. 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 column- widths 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

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 = 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 com- mands.

<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 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

-

--

i L i

L

L i

L

I

L..

L

L i

L

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.

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:

<ES0 *r B

After ending graphics you can then send text to merge with it.

PATTERN GRAPHICS

patterned blocks.

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:

1) Define the dimensions you need.

2) Choose the graphics pattern you want to fill in those dimen- sions.

3) Print the pattern.

Remember to send the following rule or pattern commands in that order.

Defhing 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 de- cipoints 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.

-_

-^.

-..

-_.

..-

-.-

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 *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 gray- scale densities in the chart below.

3 - 10% l- 2%

I-I trl

11 - 20 % 21 - 35 %

36 - 55 %

81 - 99 O/,

56 - 80 Yo

100 %

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.)

n VALUE

0 (zero)

1

2

3

5

PATTERN 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)

92

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. n Value

0 Mm)

1

2

4

Pattern

Solid black

Solid white

Currently defined shading pattern

Currently defined cross-hatched pattern

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.

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 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). 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:

1 AA, 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 HP-

GL/2 mode.

<ESC>E l the initialization IN command is executed. l the picture frame is set to its default size.

9 the frame anchor is set to its default position.

. the plot size is set to its default size. l the page orientation is reset.

A reset command from the control panel will have the same effect. cESC>&/n 0 l l l l the orientation of the picture frame is changed. 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.

<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 l l l l 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 l the soft clip window is set to its default size. the polygon buffer is cleared.

98

<ESC>&fn A l l the picture frame is set to its default size. the frame anchor is set to its default position. l l 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 clip window is set to its default size. l the polygon window is cleared.

HP-GU2 Syntax

In HP-GL/2, the command format is: sXlsX2srPsrP....Pst where s = 0 or a separator (space or comma)

Xl =oneofACDEFILOPRSTUWXY case)

X2 =oneofABCDEFGILMNOPTUW

(upperorlower

(upperorlower case) r = a numeric separator (+ (plus), - (minus) or decimal point)

P = numeric (nnn~, nnnnnn, nnnnn.nnnn), printable or control character (not terminating), or character string

(followed by terminator) t = 0, semicolon or optional command terminator

Numeric parameters can be of the following four types, within the ranges given. type integer clamped integer real clamped real range

-2, 147.483648 to +2,147,483,647

-32,768 to +32,767

-lo**38 to +10**38

-32,768 to +32,767

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: yc: x-coordinate of center of arc 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

dye: y-coordinate of center, relative to cgc chord angle: angle subtended by chord, from 0.5 to 180

(For other parameters, see AA above.)

AT (absolute arc, three point) (xi, yi, xe, ye, [chord angle (511) xi: x-coordinate of intermediate point I yi: xe: y-coordinate of intermediate point I x-coordinate of end point E ye: y-coordinate of end point E chord angle: 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) fill mode: clamped integer from 0 to 3 edge pen: integer

The four till modes are:

0: solid fill

1: no fill, only edging (applies only to outline characters)

2:

3: filled using current fill type FT, no edging filled using current fill type FT. with edging

The two edge pens are:

0:

1: no pen (no edging) pen (black edging)

CI (circle) (RJchord angle IS)])

R: radius of circle (integer) chord angle: angle subtended by chord, from 0.5 to 180

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 carriage- return point to the current cursor position.

DI (absolute direction) ([x,y { l,O}]) x:

Y: clamped real, text path “run” clamped real, text path “rise”

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)

T: string termination character (not <null>, <LF>, <ESC> or

<;>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

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: y-coordinate of opposite comer

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 meanings are given in the table below. tYPe

1

2

3

4 fill solid hatched param solid (default) ignored ignored param ignored ignored line spacing line angle cross-hatched line spacing line angle

10

11

21

WY shading level user-defined fill index ignored ignored

LaserJet III pattern pattern type ignored

102

-

-

:

-- i

-

For types 3 and 4:

. The line spacing is given in current units and is measured along the x- l l axis. 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?

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]])

Xll: x-coordinate of lower left comer of soft-clip window yll: y-coordinate f 1

103

xur: x-coordinate of upper right comer of soft-clip window yur: 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: kind

1 line end value

1 butt (default)

2 square

2 line join

3

4

1

2

3 triangular round mitered (default) mitered/beveled triangular

4

5 round beveled

3 miter limit

6

1 none to 32,767 (default: 5)

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

__

_

-...

.-_ b...

-.

-..

. .

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 8111 has 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: code

0

1

2

3

4

5

6

7

8 pattern

0 (not a line, only one point)

0100

5050

7030

80 10 0 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: yl: etc. x-coordinate of first point y-coordinate of first point

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. pm: pu: sy: li: polygon mode pen up draw a symbol linetypel-6 np: pd: sn: lo: out of polygon mode pen down draw no symbol line type 0 state

Pm np pu sy h/lo

,nP pd SY 10 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, xl:

. . . m ynl) x-coordinate of first point yl: etc. y-coordinate of first point

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 or coordinate pair, . . ..flag. value or flag: coordinate pair]) character value: character encoded coordinates: 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: flag (hex ASCII)

3AorBA : select pen next parameter pen number, encoded as base 64 or

32

3CorBC

3EorBE

3DorBD

37 or B7

<

>

=

7 pen UP coordinates of point to move to, encoded as base 64 or 32 number of fraction bits contained fraction in coordinate, encoded as base 64 or 32 start PA coordinates start base 32 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= x= round (3.33 * d) 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: al: 1

2

+ ASCII decimal code 191

192

63

0 a2toan

1

2

-+

ASCII decimal code

253

254

63

64

63

0

125

126

With base 32, these digits have values 0, 1 . ...31. they are encoded as characters as follows: al: 1

2

-+ ASCII decimal code 95

96 a2:

31

0

1

2

+

125

126

ASCII decimal code 63

64

31

0

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)) mode = 0: clear the polygon buffer and enter the polygon mode

1: close the current polygon or subpolygon and start a

2: new subpolygon close the current polygon or subpolygon and exit the polygon mode

108

_-

-

L

L -

L

-.

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.

PR (plot relative) ([dxl, dyl, dx2, dy2, . . . . dxn, dyn]) dxl: x-coordinate of first point dyl: y-coordinate of first point etc.

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, xl:

. . . . xn, ynl> 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: x-coordinate of other end of diagonal

Y: y-coordinate of other end of diagonal

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) pen: integer, 0 = white, 1 = black

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. 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): angle = 0: origin at lower left comer, x-axis horizontally to the right, y-axis vertically up angle = 90: origin at lower right comer, y-axis horizontally to the left, x-axis vertically up angle = 180: origin at upper right comer, x-axis horizontally to 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 dy : y-coordinate of other end of diagonal

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)]) dxi: x-coordinate of intermediate point I dyi: dxe: dye: y-coordinate of intermediate point I x-coordinate of end point E y-coordinate of end point E chord angle: angle subtended by chord, from 0.5 to 180.

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)) n: clamped integer

= 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 type: clamped integer, 0 to 2 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

. l l l 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

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 specify- ing its attributes. The meaning of ‘kind’ is as follows:

. 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)

112

-

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)]) tan(slant angle): clamped real, the tangent of the angle be- 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)])

T: any character with ASCII code 33 - 58,60 - 126.16 1, or254

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 1 II) n: clamped integer

= 0: opaque mode

= 1: transparent mode

-

L

- ‘C_

L i

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.

UL (userdefined line type) (index [dash], gap1 [, . . . dash20, gap20])) index: clamped integer, type identifier (1 - 8) dash, gap: clamped real, percentage of LT instruction length 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.

WG (wedge fill) (R, start angle, sweep angle, [chord angle (511)

R: signed radius of the arc of the wedge start angle: clamped real, signed start angle sweep angle: clamped real, signed sweep angle chord angle: clamped real, angle subtended by chord, from 0.5 to

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 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.

1 Co=)

2

3

4

5

6

7

Stop defining macro.

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.

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.

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.

Turn off automatic macro. Starting with the current page, this option tenninates’the last specified automatic macro.

Delete all macros. This option removes all macros and auto- matic macros from printer memory- even macros you have defined as permanent with option 10 below.

Delete temporary macros. This option also deletes temporary automatic macros.

117

8

9

10

Delete last specified macro.

Make last specified macro temporary.

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

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 pro- grams 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 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!l program interprets these, not as ASCII symbols, but only as the command that means “make column 55 the right margin”.

Unsupported commands

EX-800 commands: l paper end l sheet feeder control l select color

<ESC> 8 and <ES0 9

<ESC> <EM>

<ESC> r

. copy, select and download character set <ESC>:<ESC>%<ESC, & t select draft/NLQ mode <ES0 x

. select NLQ font <ESC> k

120

-

L

L .

L

L

-.

I^_

. l l left-to-right (unidirectional) printing control <ESC> U print quiet (half speed) <ES0 s print immediate

(“incremental” or “typewriter” mode) <ESC> i

CONTROLLING THE PRINTER

Putting the printer online or offline

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> (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.

To reset the Star LaserPrinter 8111, send this command:

-...

Bell

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,

To set a different page length in lines, enter this command:

<ES0 C n

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-Over-

Perforation 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 N n 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 side margins on both the right and left sides of the page.

You turn on the centering or justification of text with the following com- mand:

&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

/

2’

--

. .

DESIRED LINE SPACING l/8 inch

7/72 inch l/6 inch increments of l/2 16 inch increments of l/72 inch

COMMAND EXPLANATION

<ES0 0 (=N

<ESC> 1

(one)

<ESC> 2 (the default)

<ESC> 3 n (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

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

-

L

L

_-

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.

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.

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. Unfortu- nately 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

12-point ten-pitch Courier as its default font. But EX-800 commands can give you most variations on font attributes, including subscripting, super- scripting 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

:.

-. t

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 t n in which for n if you enter 0 (zero) you get italics, which is the de- fault, 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 R n

For n enter from the following table the number that corresponds to the symbols you want:

COUNTRY n

US (ASCII) 0

France 1

Germany

England

Denmark1

Sweden

2

3

4

5

131

.-

Italy

Spain I

Japan

6

7

8

Norway

Denmark11

9

10

Spain II 11

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 charac- ters 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 com- mand.

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 com- mands 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

:

L

L

_..

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>

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> 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 8111 can 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

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 propor- tional 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

-.

- >-

‘v

User-defined characters

You can create and print your own custom characters with EX-800 emula- tion, but you probably won’t want to. The Star LaserPrinter 8111 provides 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 I n

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 user- defined 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 discus- sion

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 eight- bit 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:

128 0

640

320

16 l

00

4e

20

1.

120 0

0

32 .

::

40

0

- 10

165

0

640

:

00

0

2e

0

74

What do graphics commands look like?

To print EX-800 graphics you have to make four decisions: l l l l

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?

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

-

I 6. 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 exucrZy the 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 double- strike 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)

60

120

120.

240

80

72

90

144

ESCAPE

SEQUENCE

<ESC> K nl n2 cESC> L nl n2 cESC> Y nl n2

GRAPHICS

MODE(m)

0

1

2

<ESC> Z nl n2 cESC> * m nl n2

<ESC> * m nl n2

3

4

5

<ESC> * m nl n2

<ES0 *m nl n2

6

7

141

MODE # 0

MODE # 1

MODE # 2 -1

MODE # 3 m

MODE # 4

MODE # 5

MODE # 6 m

MODE # 7 -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, 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? 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

-. c

_.

._

_..

-. c-.

-

I.

. .._ 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

The Star LaserPrinter 8111 readily accepts another EX-800 graphics com- mand, 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’s speed.

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

meaningless on a laser printer. l select draft or near-letter-quality font l l l ignore or observe paper end unidirectional printing download character set

CONTROLLING THE PRINTER

<ESC> I II

&SC> 8 and &SC, 9

<ESC> U

<ESC> =

Identical printer control commands

The following Proprinter commands are handled the same way in both EX-

800 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 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 C n

<ESC> C <NUL> n

<ES0 N n

<ES0 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 1 I8 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 2 command sets the line spacing to the default setting of 6 lines per inch.

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

--

-~

-

L.

.- i

-^

-.

-

-._

._

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,

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.

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 8111 uses Courier font as its default Proprinter font. It switches to the Line Printer font for condensed print, and to Prestige for 12- pitch.

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 intema- tional 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 EX-

800 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> W n

<ES0 E cESC> F

<ESC> G

<ESC>

<ES0

H

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 corre- spond to the spacing you are using. That means you automatically get 12- point 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

- k__

-.._

-._

-_

--

-

. . . .

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

Identical graphics commands

IBM Proprinter emulation graphics are the same as the EX-800 mode graphics except that &SC> * (general graphics selection), cESC> ? (reas- sign 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 Single Density Graphics Mode

Select Double Density Graphics Mode

Select High Speed Double Density Graphics Mode

Select Quadruple Density Graphics Mode

<ES0 K

<ESC> L

<ESC> Y

<ES0 Z

153

NOTES

j e

154

-

-

-

.-.

This final chapter in your Star LaserPrinter 8111 Applications 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

<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

<ESC>&t n 0

<ESC>&/ n P

<ESC>&/ n X

Function

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

Page

63

61

63

60

55

55

70

62

62

78

78

66

116

116

64

59

74

97

59

58

56

56

52

57

69

54

52

64

63

67

67

96

95

60

156

-

.

Command

<ESC>&p n X

<ESC>&s n C cESC>( n

<ES0 ( n@

<ES0 ( nX cESC>(snB cESC>(snH

<ESC>(snP

<ESC>(snS cESC>(snT

<ESC>(snV

<ESC>(snW

&SC>) n

<ESC>) n@

<ESC>) n X

<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>* c n K

<ESC>* c n L

<ESC>* c n P

<ESC>* c n T

<ESC>* c n V

Function

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

Page

79

65

70

72

83

72

72

68

76

74

74

75

77

75

83

88

88

68

75

74

74

75

76

75

87

90

90

68

84

79

Specify pattern ID

Define horizontal rectangle size in

91

90 decipoints

See horizontal plot size

See vertical plot size

Fill with specified pattern

95

95

92

Set picture frame anchor point 95

Define vertical rectangle size in decipoints 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

CF

CI

CP

DF

DI

DR

DT

DV

<ESC>z

AA

AC

AD

AR

AT

158

Function

Set picture frame horizontal size in decipoints

Set picture frame vertical size in decipoints

Page

94

94

Position horizontal cursor in dots

Position vertical cursor in dots

End raster graphics

End raster graphics?

Start raster graphics

Specifies pixel width of raster graphics

Specifies pixel height of raster graphics

Select raster graphics resolution

Select transparent/opaque mode for source images

87

86

93

Select transparent/opaque mode for patterns 93

Select fill pattern 93

Clear left and right margins

Half line feed

Reset the printer

Enable display function

55

64

52

79

Disable display function

Change emulation mode

79

30

61

62

89

89

86

87

Select orientation

Select paper size

Self test

(arc absolute)

(anchor comer)

(alternate font designation)

(arc relative)

(absolute arc, three point)

(character fill mode)

(circle)

(character plot)

(default)

(absolute direction)

(relative direction)

(define terminator)

(define variable text path)

31

32

51

98

98

98

98

99

99

99

99

100

100

100

100

100

_-

. .

L..

-.

L.-.

L.

PA

PD

PE

PG

PM

PR

PU

IP

IR

IW

LA

LB

LO

LT

Command

EA

EP

ER

ES

EW

FI

FN

FP

Fr

IN

?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 al temate font)

(select font type)

(scale)

(standard font designation)

(absolute character size)

(slant) ([tan(slant angle

(symbol mode)

103

104

104

105

105

106

106

107

108

108

Page

101

101

101

101

101

102

102

102

102

103

103

103

110

110

111

111

111

111

109

109

109

109

109

110

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)

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

Epson EX-800 Emulation Printer Commands

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

160

Page

121

125

129

126

129

126

126

135

135

121

135

121

151

133

127

142

137

130

125

125

138

138

135

135

134

137

Page

114

114

114

114

114

115

115

115

115

--

-

-

-

-

-_

_-

-.

-

-~

_-

._..

Command

<Esc>2 cESC> 3 n

<ESC> 4

<ESC> 5

Function

Set line spacing to l/6 inch

Set line spacing to n/216 inch

Select italic characters

Select upright characters

Page

125

125

136

136 cESC> 6

<ESC> 7 cEsc> <

<ESC> =

Expand printable code area 139

Cancel expansion of printable code area 139

One-line unidirectional printing

Set MSB of received codes to be 0

127

133

133 <ES0 >

<ESC> ? c m

Set MSB of received codes to be 1

Assign graphics mode

<ES0 @ Reset the printer

<ESC> A n Set line spacing to n/72

<ES0 B nl n2.. .<NUL> Set vertical tab stops inch

<ES0 C cNUL> n

<ESC> C n

Set page length in inches

Set page length in lines cESC> D nl n2.. .cNUL> Set horizontal tab stops

<ESC> E Emphasized print

143

121

125

129

122

122

129

136

<ES0 F

<ES0 G

<ESC> H

<ESC> I n

<ESC> J n

Cancel emphasized print

Double-strike print

Select normal density graphics

136

136

Cancel double-strike print 136

Select control codes or printable character 139

Perform one n/216-inch line feed 126

140 <ESC> K nl n2

<ESC> L nl n2

<j3C> M

<ESC> N n

<ESC> 0

<ESC> P cESC> Q n cESC> R n

<ES0 S n

<ESC> T

Select double density graphis

Select elite pitch

Set bottom margin

Clear bottom margin

Select pica pitch

Set right margin

Select international character set

Select super/subscript mode

Cancel super/subscript mode

141

134

122

123

134

124

131

138

138

<ES0 W n

<ESC> Y nl n2

<ES0 Z nl n2

<ESC> [ E n

<ES0 [ 0 n cESC> [ S n

Select/cancel extended print 135

Select high-speed double density graphics 141

Select quadruple density graphics

Change emulation mode

Select orientation

Select paper size

141

30

31

32

161

Command

<ESC>\nl n2

<ES0 A d nl n2

<ES0 a n

Function

Move cursor to relative dot position

Set 9-pin graphics mode

Select justification

Page

128

144

124

<ESC> b c nl n2.. .cNUL>Set vertical tab stops in channel

<ESC> j n

<ESC> tn cESC> p II

130

Perform one n/216-inch reverse line feed 126

Set left margin

Select/cancel proportional spacing

124

133

<ES0 t n Select character set 131

IBM Proprin ter Emulation Printer Commands

Command

<BEL>

CBS>

<H-lb

<LF>

<VT>

-SF>

<CR>

<so>

<SI>

<DCl>

Function

Bell

Backspace

Horizontal tab

Line feed

Vertical tab

Form feed

Carriage return

Select extended print

Select condensed print

Set printer on line

<DC2>

<DC4>

<CAN>

<ESC> i II

<ES0 0

<ESC> 1 cEsc>2

<ESC> 3 n

<ES0 4

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

Set line spacing to n/216 inch

Set top of page

<ESC> 5 n

<ESC> 6

<ESC> 7

<Esc> :

Select/cancel automatic line feed

Select IBM character set 2

Select IBM character set 1

.&SC> A n

Select elite pitch

Define line spacing to n/72 inch

<ESC> B nl n2.. .<NUL> Set vertical tab stops

<ESC> C <NUL> n Set page length in inches

151

147

151

147

147

148

147

147

Page

146

147

148

147

148

147

147

151

151

146

152

149

150

150

152

148

148

147

162

‘--

--

-

Command

<ESC> C n

Function

Set page length in lines

<ES0 D nl n2.. .<NuL> Set horizontal tab stops

<ESC> E

<ESC> F

<ESC> G

<ESC> H

&SC> J n

<ESC> K nl n2

Emphasized print

Cancel emphasized print

Double-strike print

Cancel double-strike print

Perform one n/21 6-inch line feed

Select normal density graphics

<ES0 L nl n2 Select double density graphics

Set bottom margin <ES0 N n

<ESC> 0

<ESC> Q &l-X>

Clear bottom margin

Set printer off line

Restore default tab stops <ESC> R

<ESC> S n

<ESC> T

<ESC> W n

Select super/subscript mode

Cancel super/subscript mode

Select/cancel extended print

<ES0 Y nl n2

<ESC> Z nl n2

<ES0 [ E n

<ESC> [ 0 n

<ESC> [ S n

Select high-speed double density graphics

Select quadruple density graphics

Change emulation mode

Select orientation

Select paper size

<ESD\nl

<ES0 h

<ES0 _ n n2 Enable printing of all character codes

Enable printing of next character

Select/cancel overscoring

153

153

147

147

146

149

151

151

151

153

Page

147

149

151

151

151

151

148

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 Symbol Name Hexadecimal value

OD IS0 60:

164

Hexadecimal value

(low order)

E

; r

,’

.

.-

._

ID Number

OA

Symbol Name

Math-7

0 12 3 4 5 6 7

1 - ! 1 01 1 16! 1 32! 1 48! .- 1 641 1 801 -- 1 9

-

-..

-.

.

9

A

I

<HT, <EM>

---

9

- -a-u

1 9 1 25 1 41 1 57 1 73 1 8’

I I I., I

<LF>

I rI jT2 0 1 8 1 c

1 _ IN, 1 t P 1 * 1 ._ 1 t 1 ._ 1 t 1

-

J3 t C

1 - 1 1 121

D

1 - ! 1 13!

1 281 1 441 1 601

-l=-l.l-.lu

1 291 1 451 y I 611 . 1

1

F

I 14 I 30 1 46

CSI, <US,

F

1 ~y-77

[ 62 1 78 1 94 1110 1126 z

1 P [79 1 1 a

P 1111 1127

165

ID 1 Symbol Name

OB Line Draw

-

-

ID Number

OD

Symbol Name

IS0 60: Norwegian

0

0 1

<NUL,

I

1

2

I

1

1 tOCl>

1 cDC2>

I xDC3,

3

167

ID Number

OE

Symbol Name

Roman Extension

0

0 xNUL>

I

12 jT6 1

-

3

1

4 a

1

5

A

1

6

A

1

7

P

1112

6

1 -

. 1 7! 1 23!

! r 8! i 24!

1 391 i SO! ' i 561 i 72! i f

168

ID Number

OF

Symbol Name

IS0 25: French

0 12

0 <NUL>

3 4 5 6 7

0

1

5 P * psi 1 p

1112

8

9

B

<VT,

<SUB,

<ESC,

*

) 9 I Yiy

1 1 I fi

: J

1

Z

1 j z

1122

+ l

1'jTi

K '

1

169

ID Number Symbol Name

HP German

0 12 3 n

1 - !

<NUL,

1 n I:

O! 1 16! 1 32! 1 SE'! -

4

D

5

1 -

I7

! I I! I 17! I 33! 1 49! 1 f55! -

6

T\

7

ID Number

01

Symbol Name

IS0 15: Italian

8

(LAN,

1 1 ( 1 8~Hrji.X~hfizxfi

<HT> <EM>

9

1

<LF, a

--

. . .

[ 101

D l?

F

B

C

I

1 14

CSI,

1 1

1 30

<us>

1 261

<SUB>

1 ) pii g~l~y~iEyfEi

* -:-J-Z-j-z-

1 421

I

1 581

I

1 741

1 46 1 62 1 78

1 901 - 11061

I 94 I110

1122

1126

171

ID Number

OK

Symbol Name

JIS ASCII

172

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

OQ

Symbol Name

Math-8A

0

(NUL,

12 n

3 4 5 6 7 l-t

. .

- 1 31 1 191 1 35! 1 511 1 671 11151

1

8

1 7! 1 231 1 391

176

F I a 0 0 Ill

1127

1

I

ID Number

OS

Symbol Name

IS0 11: Swedish n

0 tNUL>

12 3 4

-O-B-P-B-p-

5 6 7

6

7

1 1

<BEL>

,

1 1 1

7

1

G

I

W

1 g fi w

1119

177

ID Number ou

Symbol Name

US-ASCII

0

0 12

<NUL,

3 4 5 6 7

1112

3

A

1 L 1 18

<oc3>

I 1

<oc4,

I .

#

1

3

1

A c

1 n s

1 c

1 a s

1115 t

8

CBS>

.-

1

(CAN,

-..

1 ( fT (120

9

A

1 9 1 25 ’ 1 41 1 57 1 73 1 89 1105 - 1121

<LF>

I

<SUB,

1

*

1 1 J pi Z 1 i-z---

-

178

-

. .

- i-

^

-_

.-... k..

L_

-

ID Number

OY

Symbol Name

Bar Code 39

0 12 3 4 5 6 7 iq 1

51 1 511

1 521

I 67

1

I a3

II

1

, jiiz jiiz

1 441 1 601 1 761 1 921 11

ID Number

1D

Symbol Name

IS0 61: Norwegian

0

1

0 12 3 4 5 6

<NUL,

I 1 1 0 @ p I -

1

<OCl> d -!-l-A-O-a_q

7

P

1112

180

:

I 101 I 261 I 421 I Sal I

741 I go] 4 r\,T. ,CCP. I I I I i z -

11061 -

I

I

ID Number

1E

Symbol Name

IS0 UK

0

1

2

3

<oc3,

1 /T

E

1

3

I c s c s

1 /TiT 1 jii?-

<oc4,

-S-4-D-T-d-t-

181

ID Number

1F

Symbol Name

IS0 69: French

0 12 3 4 5 6 7

4

<oc4,

1 1

$

1

4

1

D T dt

1 1 lloo 1116

182

-

C

E

F

L -

D F

1

<FF,

1 11

1

1 101 1 261

1 27

1'1

1 421

1 43 . 1 59

'< pii

1 311 ’ 1 471 1 63

1 75 1 s

-

ID Number

1G

Symbol Name

IS0 21: German

1 lob 12

0

<NUL>

I 1 1

3

0

1

0

4 5

*

6 7

8

9

CBS, pi

CHT,

[

<LF,

1 101

<CAN>

1

<EM,

1

<SUB,

1 261

( 1

) 1

*

8~HjTXEhEXEi- g~l~y~i~y~

. T 7

- 1 27! 1 43! ' 1 591 i

E

I 13

<so>

I2

<RS,

1 1yT6

> N -

1 1 1 n D lllo 1126

183

ID Number

10

Symbol Name

OCR-B

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F pi cBEL>

F

CBS>

<IiT> p

<LF,

E

<VT,

I

<FF>

I

<CR,

1

1

<so,

<SI,

1

1

0 1

I

2 cNUL> pl 116

<OCl,

I

E 1.’

<oc2,

E

118

(OC3>

Ts 1r-z

T;i

<oc4, j-z20

I,

#

$ x

E

121

&

122

123

I

184 w

119

3

X

120

2

4 122 q r

113

114

7

P

112

1

-..

L

_.

.- k__

-.

L.

_..

.._ i...

L..

ID Number

10

Symbol Name

OCR-B

(cont.)

8 9 A B C D E F

ID Number

1Q

Symbol Name

Math-8B 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

1s

Symbol Name

HP Spanish

1 - ! 1116j

F

<RS>

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

190

ID Number

2Q

Symbol Name

Pi Font-A

2

1

6

4

3 IF

‘ - -L lllE

I~~

_-

ID Number

2s

Symbol Name

IS0 17: Spanish o I 2 3 n

(NUL,

1 - ! 1 01 1

I 1 1

1 1

~'Oc1'!!11-A-Q-a7q

4 5 6 7

1113

- ._.

-.

-

-_I

--

-_-

-_

,

1

7 i

G W g w pi 187 jiE [119

8

1 - ! 1 B!

~-8~H~X~hl-izX~

9

1 - !

I-

1 9!

)19-I-Y-i

1 25! ' 1 41!

1 5J! i

73! 1 8’

9 jiTl

191

ID Number

2u

Symbol Name

IS0 IRV

,

.

2

3

0

1 li

1

12 tDC3,

I cDCl>

-!-l-A-O-a-q

I 171 I 331 1 491 cDCZ>

11

1 1 jTl

2

I

1

# j-E

1 .

3

B

1

3 f2-l c

1

4

[ 651 - riiij

6

-~ r

7

R b r

1 1 liii-

1 m

5 s

1 c

1 s liii

3 , ‘I , cl!

& 6

1 1 f-T i

F,-jv

JO 1

CBS,

I cHT>

<CAN>

1

<EMI

( 1 8 1 x liz

T --

E

. F

1 -

<so, <RS, j--E j-zi30'

>

CSI,

1

I I 151 I 311 ' 1 - p 53

N - pi 1

1--(95 n - lllo fi

0

1111

#

1127

192

-

ID Number

3Q

Symbol Name

OCR-B Extension

-._

-

-

- -~

-

0

1

1 11 I 331 1 49

3

I 1 I

I2

1

1 18 cDC3,

1

1<DC4> 1

I 34

1

1

1 50

1

1

1 66

1

1 82

R

1

1 0 1

1 98

1

[i14

1

1115

1

-

-

-.

._.

.-

,-.

.-.

_~

1 - 1 1 6! 1 22! 1 38! 1 54!

1 JO! I B6! 1104 1118l

I

8 g I

9

D

E

1 ~

I

1 -

C 1

1 301 1 461 1 621

I 151 1 311 I 471 I 631 1 791 1 951 11111 11271

193

ID Number

3s

Symbol Name

IS0 10: Swedish n

-

0 12

(NUL,

3 4 5 6 7

-O-@-P-‘

481 - 1 1 p

1112

194

7 l-3

0

<BEL,

,

1 1 1

<CAN,

I

7

1

G pi

W

1

Ll

V g w liiz /iiT h

9 cHT>

1

A

<EM,

1 1121

B

C

D

E

F

<so>

1

CSI, cRS>

> f7rly-z 1

<us,

I 1

N -

1 1 n - lllo jiz

-

-

-._.

-~

-

-

-.

._-

ID Number

4s

Symbol Name

IS0 16: Portuguese

0 12 3 4 5 6 7

I 4 I I<DCl, I,

A

I, In I, I, I n165vIa197y xDC2,

2

9,

-2-B-R-b-r

‘8 fi

-_

._.

^ c-

9

--

-

<HT>

1

<LF,

<EM>

1

<SUB>

)

* pi

9

.

1

1 101 I 261 1 421 1 581

I

1

Yiy pz 1105 1121

T R

1 741 1 901 a 11061

1 111 i 271

- 1 fl r r s

E

F

<so, <RS,

I IO'l cSI>

1

~lJS>

1 / 1

> - '

1 N pi 1 n jiE 1126

? 1 0 E--(95 0 fi i

(127

195

ID Number

5s

Symbol Name

IS0 84: Portuguese

0 12

II

<NUL> m

1 l-i

116

<DCl,

1

3 4 5 6 7

-o-‘-P-‘-D-

1 32 1 48

!

1

1

I

1 64

A

1

1 80

Q pz

1 96 - 1112 a

1 q

1113

6

196

Id/T, I<ESC, I , I

1 - ! 1 12! 1 281 - 1 441 1 60!

1 76! - 1

F

1 1 131

<so,

1 291

<RS, r 14

<SI,

1 30

<us,

1 1

1 451 1 611

.

1 771 1 931 11091 1125

--

L

_ *-

ID Number

6s

Symbol Name

IS0 85: Spanish

0 1 2 3

<NUL, n

’ - ! 1 O! 1 1’4 1 32! 1 48!

4 5 6 7

I

2

<HT, <EM>

9 l-7 1 ) 1 g~l~y~iliEy~.

A

<LF> <SUB, pc 1

*

1 : 1 J fi Z 1 zE s

<VT, <ESC, . t

<FF,

11

E

F

#

<CR,

12

1 13

<so,

1 29 cRS>

1 45

I

1 j?iiyTi

> 1 N - n fTaq-4

CSI, CtJS,

115 1

197

ID Number

8M

Symbol Name

Math-8

0

0

<NUL>

0

1 w

I 1

12

1 17

3 4

I 33 I 49 1 65

5

1 81

6 7

I 97 ’ 1113

3

4

5

6

4

5

1 6

3 1

1 22 1 38 1 54 1 70 1 86 - 1102 ‘- 1118

198

F

1 14 1 30 1 46 1 62 1 78

CSI, (US>

1 I /

= pii 1 0 ~-~

1 94

0

1110 1126

#

1127

i.

-

-_

-

L -

ID Number

8M

Symbol Name

Math-8

(cont.)

8

I

9

I

A

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

ID Number f3Q

Symbol Name

IBM-PC Set

0 12 3 4 5 6 7

.-

-

-

ID Number

8Q

Symbol Name

IBM-PC Set

(cont.)

8 9 A B C D E F

ID Number

8U

Symbol Name

Roman-8

2 3 4 5

1

0

1 @ 1

-1,.A-0,.aTq p

I

6 7

1112

I I

211

I

1 371

I

1 531 1 691

I I llDll 1117

202

1,~ - ! 1 9! 1 251 ' 1 411 1

I

C

<VT, <ESC, I - v r 1, I I

1 131 1 291 1 451 1 611 1 771 - 1 !

E

-

F

1 14 [ 30

<SI, <us,

1 46 1 62 1 78 1 94 1110

IT ITi ' IT ?E0E-lT01iiiviT7

1126

I

-

--

W b-

ID Number

8U

Symbol Name

Roman-8

(cont.)

L

L

L

L

L i

203

ID Number

8Y

Symbol Name

Bar Code EAN/UPC

204

. .

_.

_

_ b..

--

. _.

L__

-

ID Number

9Q

Symbol Name

IBM-PC Extension

0 12 3 4 5 6 7

1

1<DC4,

205

1

,’ ID Number

99

Symbol Name

IBM-PC Extension

(cont.)

I

206

ID Number

1ou

Symbol Name

IBM-PC(US)

' 7

P

112 lq 113 r

114 i s

115

-4

126

207

ID Number

1ou

Symbol Name

IBM-PC(US)

(cont.)

A I B E F

208

ID Number

1lQ

Symbol Name

ECMA-94 7-bit

-

6

I 37t I 53: I 69/ Iloli 1117{

210

ID Number

11U

Symbol Name

IBM-PC (Denmark/Norway)

0

1

2

3

4

7

8

5

6

9

A

0 1 2

I

3

I

4 5

I

6

P

112 q

113

7 1

*

I 93 m 109

94 n

110

-.

-.

-._

. .~

ID Number

11u

Symbol Name

IBM-PC (Denmark/No

(cont.)

AIB c ID

T

I 4

193 f

209

194 lr

2ia t s

195 IL 211

t,, k

ID Number

12u

Symbol Name

PC-850

-.

-_

L

L.

.-

L.

L. h..

. . .

-.

ID Number

12u

Symbol Name

PC-850

(cant

I

8 g lAIB

E F

I

213

ID Number

15u

Symbol Name

Pi Font

214

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, drum, 4

DTR protocol, 18

151 downloadable fonts, 38,44-47 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

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, 122-

125 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

216

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

4m hexadecimal arithmetic, 5-6

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,49-

118 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

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

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

218

-.

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-

153 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.

219

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

EX-800 mode, 131

HP LaserJet III mode, 70

Proprinter mode, 150

/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

220

-

-

-._.

-

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

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals