home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 4
/
AUCD4.iso
/
acorn
/
riscos
/
releases
/
ro2extra
/
!PrinterPS
/
ReadMe
< prev
next >
Wrap
Text File
|
1989-09-22
|
8KB
|
159 lines
This is PrinterPS, version 1.12 (11-Jul-89)
Documentation on how to use PrinterPS and its associated printer driver
module can be found in Edition 2 of the Archimedes User Guide and in the
RISC OS User Guide.
PrinterPS
=========
The following remarks should be noted about this version of PrinterPS and
its documentation.
When a file is dropped on the printer driver application, a message is
broadcast to all existing applications, asking them if they are able to
print it. If no application responds to this, the printer driver then looks
for a system variable of the form Alias$@PrintType_xxx, where xxx is the
hexadecimal type of the file concerned. If it is found, it is used to load
and run an application or other program which will do the printing.
If the variable is not found, files of type PoScript (&FF5) are sent
directly to the printer. Simple text printing is applied to files of types
Text (&FFF), Command (&FFE) and Obey (&FEB). For all other file types, the
printer driver checks with the user whether to print the file; if the reply
is yes, simple text printing is used.
If an application is found to print the file, either via the broadcast
message or via the Alias$@PrintType variable, the printer driver checks for
the existence of a file <Printer$Temp> afterwards. If it is found, it is
sent directly to the printer if it is of type PoScript and printed as simple
text otherwise.
This usually results in the following behaviour:
(1) PoScript files are sent directly to the printer.
(2) Text, Command and Exec files are printed as simple text.
(3) Most graphics applications' files will be printed by the application
concerned, provided the application's !Boot file has been executed.
(4) All other files are printed as simple text, provided the user
confirms this.
You can override this treatment of a particular type file by setting the
system variables of the form Alias$@PrintType_xxx, provided no currently
loaded application thinks it can print the file. If the variable exists,
then the printer driver performs *@PrintType_xxx <filename> before doing
anything else. This command can either output directly to the printer or put
its output in the file <Printer$Temp>. If it does the latter, the printer
driver will then transmit this file to the printer.
For instance, if you have a print utility program "PrintUtil" whose output
you prefer to the printer driver's for Text files, set Alias$@PrintType_FFF
to the macro *PrintUtil <%0> -to <Printer$Temp>. If the result of the
PrintUtil program is PostScript then you should set the type of
<Printer$Temp> to PoScript in the macro or in PrintUtil; if it is straight
text, you should set the type of <Printer$Temp> to Text.
Clicking SELECT on the PrinterPS icon produces a window with data about the
current printer driver settings. Clicking on the name field steps through
the printers enumerated in the file PrData. Manual feed can also be
selected, and options set that apply to simple text printing.
The PrData file supplied with the printer driver provides settings for an
Apple LaserWriter and for a generic colour PostScript printer. The former is
totally accurate for an Apple LaserWriter, but can also be used as a generic
monochrome PostScript printer. The PrData file can be edited to add to the
set of printers if desired.
Clicking MENU on the PrinterPS icon allows you to (a) see the version of the
printer driver you've got; (b) choose between output to a file or to a
serial, parallel or network printer; (c) choose the paper size you wish to
use; (d) save your current choices in this menu and in the window brought up
by clicking SELECT, so that they will be used by default when the
application is started up again.
If the output is to the serial line and XON/XOFF protocols are being used
then a small module, SerialRxIgnore, is loaded and used to discard incoming
characters (except XON/XOFF control characters).
Simple text printing
--------------------
This prints the file using the printer's fixed pitch Courier font, in one or
more columns per page. It handles various characters as follows:
Printable characters (ASCII 32-126 and 128-255): the appropriate character
from Acorn's standard character encoding is printed. If the character isn't
defined (this is currently true for character codes 128-142) or if your
PostScript printer's Courier font doesn't contain the required character, an
ellipsis character (a triple dot) is printed in its place.
Line feed (LF = ASCII 10) and form feed (FF = ASCII 12) characters: these
terminate lines. In addition, FF terminates the current column of output and
starts a new one, starting a new page if there are no more columns on the
current page. An LF/FF combination is treated as though it were a single FF.
Other control characters (ASCII 0-9,11,13-31) and the DELETE character
(ASCII 127): these are printed in the form "[<two hex digits>]" - e.g. the
DELETE character is printed "[7F]". To distinguish them from ordinary
characters, they are printed in bold.
If a line overflows a column, it is wrapped round onto the next output line.
A bold "|" is printed at the end of each incomplete output line to indicate
that this has happened.
Two output formats can be selected from the window brought up by clicking
SELECT on the PrinterPS icon:
(a) "Portrait": this prints the text in one column, using 10 point type
and with the paper in portrait orientation.
(b) "Landscape": this prints the text in two columns, using 7 point type
and with the paper in landscape orientation.
In addition, you can select whether you want a title printed at the top of
each page of output. This title is printed using 10 point bold text, and
contains the page number, the name of the file and the time of printing.
Various additional options can be selected and/or changed by editing the
PrData file.
The printer driver module
=========================
The following remarks should be noted about this version of the printer
driver module and its documentation.
For each RISC OS font used, the printer driver needs to be told which
PostScript font to use in its place and the character encoding to be used
for it. Near the end of the file !PrinterPS.PSprolog is a list of the font
translations used. This can be added to or modified by the user as desired -
usually, you should add a suitable translation for each new font you
acquire. It is a good idea to ensure that the PostScript font you use has
similar metrics to the RISC OS font: the PostScript code used for text
printing will compensate automatically for differences between the metrics
of the two fonts, but the results are likely to be ugly if these differences
are too large.
The file !PrinterPS.PSprolog also contains two PostScript encoding vectors
(which say what actual character corresponds to each character code). One
has been chosen to conform with the ISO 8859-1 Latin 1 alphabet as far as
possible, though there are some ambiguities (e.g. character code &2D is
defined in the ISO standard to be hyphen or minus, which are usually two
different characters in PostScript fonts). The other is a special character
encoding for the Selwyn font. Both encoding vectors can be edited if
necessary - but make sure you know what you are doing.
Not all PostScript fonts contain all the characters in the encoding vectors.
The PostScript code in !PrinterPS.PSprolog is set up to ignore any character
that you try to print if it doesn't appear in the PostScript font being
used. If you would prefer a PostScript error to be generated instead, there
is a commented single line change you can make to !PrinterPS.PSprolog to
achieve this effect.
Printing RISC OS sprites to PostScript is a rather complicated business and
always generates quite a lot of PostScript output. It may also take quite a
long time to print. Under some circumstances (particularly if there are a
lot of colours in the sprite and/or if the sprite is to occupy a large
amount of space on the printed page), the time taken by the printer and/or
the application to print the sprite may become quite large (of the order of
several minutes or even more). Do not worry unduly about this.