Section Nine - The Printer Editor

Printing with a dot-matrix printer? This is where you should be

With PipeDream, you can create documents containing highlight codes that specify particular type styles and effects, such as bold and underlined text, superscripts and subscripts, and alternative fonts. Because different printers use different techniques to achieve these effects, the Cambridge Z88 uses a printer driver to convert the standard PipeDream highlights to each particular printer's codes. The printer driver can then be altered to suit a particular printer's facilities.

The Cambridge Z88 comes with a built-in driver, which interfaces with the widely-used Epson series of dot-matrix printers, or other printers compatible with this.

Creating a new printer driver or modifying an existing one

The Cambridge Z88 PrinterEd application allows you to create your own printer driver definition, editing the options used by the built-in driver to add your own special printing effects to your documents.

Alternatively, you can design a printer driver definition for a make of printer not catered for by the built-in driver. To do this you will need to consult the printer handbook, to find out which codes are needed for each facility you want to use.

Having created a new printer driver definition, you can use this to replace the built-in driver with the Update Driver command.

To run the editor select PrinterEd from the Index APPLICATIONS list, or press E from any application.

The driver definition is displayed on two pages. You can move between the pages with the following commands:

 

SHIFT
 move from page 1 to page 2

 

SHIFT
 move from page 2 to page 1.

While developing and testing a printer driver it is sensible to keep PrinterEd as a suspended activity. On completing a driver definition, and saving it to the filing system, the PrinterEd activity can be deleted from the Index with KILL.

Editing the driver definition

The printer driver definition is altered by moving the cursor to the appropriate field on the page with the cursor keys, and  and then typing the required value for the option. The editing commands are summarised on the PrinterEd CURSOR menu.

Some options take a Yes/No value; in this case you can toggle between the values with the Next Option command, J, or select the appropriate value by typing Y or N.

Most options take a list of one or more codes, separated by commas.

Code values

Printer codes can be entered in any of the following forms:

TypeExample 1Example 2
Decimal number9027
Hexadecimal number$5A$1B
ASCII character"Z" 
ASCII symbol ESC

The two examples show equivalent representations of the same values.

Any of the standard ASCII symbols can be used to represent the values 0 to 31, or $0 to $1F.A full list is given in Appendix D - Character Set.

Highlight codes

Page 1 of the PrinterEd application allows the behaviour of each of the eight PipeDream, highlight codes to be specified.

The recommended assignment of highlight codes to printer functions is as follows:

CodeFunctionPrinted example
1Underlineunderlined type
2Boldbold type
3Extended sequence 
4Italicitalic type
5SubscriptH2O
6Superscripte=mc2
7Alternative fontAlternative font
8User defined

      

In every case the same highlight turns the facility off, and in all cases except 7 and 8, the facility is also turned off at the end of a slot.

The highlight table contains three columns specifying the following information for each of the eight highlights, 1 to 8:

ON StringThe sequence of codes needed to turn the facility on
OFF StringThe sequence of codes needed to turn the facility off
Off at CRYe s or No , to determine whether the facility should be cancelled at the end of a slot.

You can move between columns using the cursor keys  and , and between lines with  and .

ON String and OFF String

The ON String specifies the sequence of codes to turn the corresponding printer facility on, and the OFF String the sequence of codes to turn it off. Each of these sequences of codes is output on alternate occurrences of the specified highlight code in the document.

If the facility is toggled on and off by the same sequence of codes, the OFF String can be omitted, and the ON String will be output on every occurrence of the highlight.

Overprinting

On some printers special effects can be obtained by outputting a sequence of codes for every character printed. For example, some daisy-wheel printers underline by backspacing, and then printing an underscore character, for every character printed.

You can set up highlights that work on this principle by including the special '?' character in the ON String. When the highlight is active, the specified ON String sequence will be output for every character printed, with '?' replaced by that character. This facility is toggled on and off by successive occurrences of the specified highlight code.

For example, to underline by backspacing and overprinting an underscore character, give the sequence

1    ON    Underline ?,BS,"_"

If '? occurs in the ON String the OFF String is ignored, and should be left blank.

Off at CR

The final column specifies for each code whether the facility should be turned off automatically at the end of each slot. In general, all highlights which are normally inserted on a word by word basis, such as underlining and bold type, should specify Yes (the default) in this column.

Off at CR should also be set to Yes if the printer itself turns off the corresponding facility at a carriage return.

Off at CR should be set to No in the case of highlights, such as alternative font, which are applied to a large section of a document. Note that in this case headers and footers within the highlighted area will also be affected.

Printer options

Page 2 of the PrinterEd application allows the driver definition options to be specified, and up to nine character translations to be set up. In OZ 2.2 and 3.0 UK, the £ character is translated by default.

When OZ 4.0 was introduced all the default translation codes were removed to free up space for additional coding. If your screen looks like this:-

Translations removed

and printing the £ symbol is required, these numbers will need to be added. See Translations for further details.

Printer on

Specifies a sequence of codes to be sent to the printer before printing a document. For example, the codes 27,64 in the Epson driver definition initialise the printer.

Printer off

Can be used to reset the printer to its previous settings so that subsequent printing will not be affected.

End of page

Specifies a sequence of codes to be sent to the printer at the end of each page. If the sequence contains a form-feed character, 12 (or FF), PipeDream will not output linefeeds to the end of page, resulting in faster and quieter page ejects on printers that support this.

Allow line feed

Determines whether a line feed code (LF) is sent at the end of each line, in addition to a carriage return (CR). This option is set to Yes in the default Epson driver. If unwanted extra line feeds are produced, so that all printing is double-spaced, change the option value to No .

Note: With Operating Systems 3.0 and earlier, selecting  No will cause ASCII 0 (NULL) to be sent instead of ASCII 10 (LF).

Microspacing - HMI

Certain printers allow the horizontal movement of the print head to be controlled to 1/120th of an inch, which means that text will be justified with an almost perfectly even distribution of the space. The following sample is printed without microspacing:

This sample of  text  demonstrates the

improvement gained by justifying text with

microspacing.

The same sample with microspacing is shown below:

This sample of text demonstrates the improvement

gained by justifying text with microspacing.

Microspacing requires a Horizontal Motion Increment, or HMI, to be specified to the printer as the number of 120ths of an inch to be allocated to the printing of subsequent characters. This is normally given after a prefix code, although for some printers a suffix is also required. For example, the Ricoh, Flowriter 1600, and JUKI 6100 use the following prefix:

HMI prefix ESC,31

HMI suffix

HMI offset 1

Translations

Printing the £ symbol

If you get ]eMq,M5M=6MBMy]a7I in-between the £ symbol and the numbers, this is because the default translation characters have been removed. Add them in this section.

The character translation table allows up to 9 single-character substitutions to be made before printing, so that alterations can be made to the character set supplied by the printer. The sequence may include a string of codes, which will scroll within the window as they are entered.

For example, the default Epson driver uses the following sequence to print a '£' sign, assuming it is set up to use the USA character set:

27,82,3,35,27,82,0

which is equivalent to:

ESC R" 3select UK character set
35print pound sign
ESC R" 0restore USA character set

Some printers do not print a space for the 'Hard space' character, decimal code 160. To correct this, enter a translation to change character 160 to 32.

PrinterEd FILES menu

The PrinterEd FILES menu provides commands to allow driver definitions to be used for subsequent printing, or to be saved and loaded as named files. You can also reset the driver definition to the standard Epson driver.

The name of the current driver definition, initially Epson,is displayed on the Printer Editor screen and is shown for the PrinterEd activity in the Index YOUR REF. column.

FL

File Load

 

Allows a driver definition to be loaded into the Printer Editor. Gives the prompt:

Filename 

Note that the driver definition is not actually installed until the Update Driver command is given.

FS

File Save

 Saves the current driver definition with a specified name.

FC

File Name

 Sets the name of the current driver definition.

FNEW

File New

 Resets the driver definition in the Printer Editor to the options for the default Epson driver, and resets the driver used for printing to this driver.

FU

File Update

                    

Creates a printer driver from the definition currently in the Printer Editor, and installs it for use in subsequent printing.

IMPORTANT

This command must be used after any changes are made otherwise the changes will be ignored.