home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1996
/
ARCHIVE_96.iso
/
discs
/
mag_discs
/
volume_4
/
issue_04
/
printers
/
!PrinterDM
/
!Help
< prev
next >
Wrap
Text File
|
1990-08-02
|
16KB
|
324 lines
This is PrinterDM, version 2.44 (23-Jul-90)
Introduction
============
Documentation on how to use PrinterDM can be found in Edition 2 of the
Archimedes User Guide, but this version has significant enhancements, so
please read the notes below.
The way in which a file is printed depends upon its type:
File type: Printed as:
---------------------------------
Command (&FFE) "plain" text - as under original printer drivers
Obey (&FEB) "plain" text - as under original printer drivers
Text (&FFF) "fancy" text - line numbering, titling, highlights etc.
Printout (&FF4) all bytes sent straight to the printer
For anything else, the application checks if other applications know how to
print the file. If this fails it checks with the user whether to print the
file, giving him the choice of printing it as "plain" text, "fancy" text, or
not at all. This is so that 1st Word Plus files can be printed as "fancy"
text. The "fancy" text file format is mainly the same as the 1st Word Plus
file format, and so most of the highlighting is printed correctly by release
2 of the printer drivers. This means you don't have to load 1st Word Plus to
print out your 1st Word Plus files (although there are some restrictions,
described below, including headers, footers and graphics). Note that if you
have already 'seen' 1st Word Plus then it will automatically be loaded when
you try to print.
You can override the application's treatment of a particular type file by
setting system variables of the form Alias$@PrintType_xxx, where xxx is the
appropriate type. If the variable exists, then the application performs
*@PrintType_xxx <filename> before doing anything else. It then checks for
the existence of <Printer$Temp>. If this exists then it is printed (using
plain, fancy or literal printing, depending upon the type of this file). You
can therefore print via a print utility program by using:
*Set Alias$@PrintType_xxx *PrintUtil %0 -to <Printer$Temp>
Try looking at the !Boot files of !Draw and !Paint for some examples of
this.
Using the printer drivers
=========================
Select
======
Clicking SELECT on the icon produces a window with data about the current
printer driver settings.
Printer:
-------
Clicking on the name field steps through the printers and dump modes
enumerated in the file "PrData" (see below).
Monochrome graphics:
-------------------
Graphics printing can be speeded up by using the monochrome option; this
does, however, stop sprites and fonts being halftoned, and reduces the range
of halftone options available on other plotted items.
Paper feed:
----------
The "manual feed" option causes a window to pop-up at the end of each page,
of "fancy" text printing, and between files of any type when multiple files
are printed. This allows the user to manually insert another sheet of paper
into the printer before proceeding. Clicking on the close box of this
window leaves the printer "paused" - it can be re-started by clicking SELECT
or ADJUST over its icon.
Title:
-----
Puts file name, time and page number at top of each "fancy" text page.
Number lines:
------------
Prints the number of each line in "fancy" text files.
Print line feeds:
----------------
When printing either "fancy" or "plain" text, a carriage-return character is
sent to the printer at the end of each line. If this button is "on", then a
line-feed character is sent as well. Select "off" if your printer generates
its own line-feeds, otherwise choose "on". If you find that your printer is
producing a blank line after each line of text, or is printing everything on
one line, you probably need to change this setting.
Print quality:
-------------
For printers which have both draft and near-letter-quality printing modes,
it is possible to select the print quality for "fancy" text printing. For
draft-only printers (e.g Epson FX), only draft may be selected.
Control codes:
-------------
This alters the way in which control characters in "fancy" text files are
handled. For most purposes, it should be set to "standard". The "display"
option causes all control characters (other than end-of-line characters) and
top-bit-set characters to be expanded to a printable hex representation,
e.g. "[7f]" for the DELETE character. If "ignore" is chosen, all control
characters (except end-of-line characters) and top-bit-set characters are
ignored, and only the normal printable characters are sent to the printer.
Menu
====
Clicking MENU on the icon produces a menu which allows the print destination
to be set, and the paper size to be altered.
Graphics page size information:
------------------------------
Page size and margins supplied here must reflect the actual printable area
of the page, and cannot be used to alter the format of text printed as a
result of dragging text files onto the printer icon. The paper limits are
used to ensure correct positioning of graphics on the page, and are also
reported back to applications such as Draw for information purposes. The
values given refer to portrait-orientation paper - the corresponding values
for landscape printing are deduced from these.
Text page size information:
--------------------------
These values apply to "fancy" text printing only. Note that printing is
right-ragged, and there is no right-margin control: lines that are too long
for the printer will wrap round without the printer driver being made aware
of this. A 1stWord+ page-layout format line at the start of a document can
override the menu margin and page-length settings, provided the page length
specified in the file is not greater than the menu value.
NFS printing:
------------
There is a new option on the printer drivers in additions to Serial,
Parallel, Econet and File. This is for NFS printing, for use with the TCP/IP
suite available from Acorn. For more details about the options read your
TCP/IP manual.
Additional notes
================
Multiple file printing:
----------------------
If a file is dragged from a directory viewer on to the printer icon while
the printer is printing or paused, then the file is added to the end of a
queue of files. When the current print finishes, the printer driver always
looks in its queue, and if it isn't empty starts printing the first entry.
If a selection of files are dragged together on to the printer, then they
are all placed in the queue.
The queue stores names only, and if the queue is full when a file is dropped
on to the printer then this file is rejected with a "Printer queue full"
error message. When a file name is retrieved from the queue for printing,
the printer driver checks it for readability. If the file cannot be found,
or cannot be read, then it is discarded from the queue with an error
message.
Files cannot be dragged out of application windows on to the printer while
it is printing. Any attempt to do so will produce an "Already printing"
error message. This is because such files would have to be physically
copied rather than remembered by name.
To print all or some of the files in a directory, the directory must be
opened, and a selection of files chosen and dragged on to the printer. It is
not possible to print the contents of a directory by dragging the directory
icon to the printer.
After a fancy text file is printed, then if the print queue is not empty and
"manual" paper-feed is selected, the usual page-prompt is produced, so that
the user can change paper. If the print queue is not empty when printing a
plain text file finishes, an additional single blank line is output. At the
end of the day, it is up to the user to think about the implications of
printing together a particular group of files.
Clicking on the "Stop printing" main menu item while printing aborts
printing completely, i.e. it gives-up printing the current file and flushes
the file queue. Clicking "No" on the page-prompt window has the same
effect. Slightly more subtle control is available from the "Stop printing"
sub-menu:
Stop printing => Abandon all
Cancel current
Cancel others
Clicking "Abandon all" is the same as clicking "Stop printing". Clicking
"Cancel current" skips to the end of the current document, tidies-up, and
starts printing of the next queued file (or stops printing if the queue is
empty). Clicking "Cancel others" allows printing of the current document to
continue, but flushes the rest of the file queue (this option is greyed-out
if the queue is empty).
"Stop printing" and "Abandon all" should be used if your printer gets jammed
up, if, say, the ribbon breaks or the paper gets scrunged. This can leave
the printer in an odd state, so beware! The other two options are for more
delicate handling controls, and they can only leave the printer in a
sensible state.
Fancy text:
----------
The standard control sequences recognised in "fancy" text files are a subset
of those used by 1stWord+. For instance, Pica/Elite/condensed/expanded,
italics, underline, formfeed, etc. It is not intended that this feature be
used to print faithfully all possible features that may be included in a
file produced by 1stWord+ (use 1stWord+ to print these!), but rather that
simple features may be included in text files and printed without having to
load a word-processing application. All printable characters (including
top-bit-set ones) may be translated into arbitrary strings on a
printer-by-printer basis, as specified in the "PrData" file (see the example
for the pound character in the file "PrDataSrc").
Plain text:
----------
Control characters (other than end-of-line) in files printed as "plain" text
are sent literally to the printer. This allows printer-dependent codes to be
sent from a normal file.
Getting the best out of graphics printing
=========================================
Graphics printing can be slow. It is important that the user knows how to
get the best and fastest printouts from the computer without losing quality.
To perform a printout the printer driver grabs all the available memory in
the 'Next' and 'Free' slots shown on the Task Window (menu on the task
manager icon and select 'Task display'). The more memory available here, the
faster things go. An average A4 page printed at a resolution of 200 by 100
dpi requires about 1600 by 1100 dots (A4 is 11 inches up by 8 inches wide).
This requires 1600*1100 bytes (1.76 MB) for a grey-scale dump, 1600*1100
bits (220 kB) for a monochrome dump. If there is not enough memory available
then the printer driver will do the job in sections. If you have 140 kB free
and are doing a monochrome dump, then it will do two half pages of 110 kB
each. If you are printing a !Draw document which only covers the bottom 1/4
of the page, then the printer driver will not require a full page-worth of
memory, and so it goes faster still.
So, to get the maximum speed out of your printouts do the following:
a) Decide if you can print in monochrome instead of grey-scaled. This can
give a speed improvement of up to 8, so it is worth doing. You only need
grey-scaled output if you are using fonts or sprites in anything other than
black and white. Most of the time monochrome dumps will do.
b) Make sure you have plenty of available memory in the 'Next' and 'Free'
slots. Shrink your RMA as much as possible, dispose of any sprites you might
have in the sprite pool, get rid of an empty RAM disc. Remember - the more
memory available, the faster it works.
'Fancy text' file format:
-------------------------
The 'fancy' text file format is fairly simple. It consists of plain text,
with added special sequences:
Character sequence Meaning Action
<8> Backspace character Backspace if possible
<9> Tab character Tabulate to next 8th column
<10> Linefeed character Possible end-of-line
(depends on options)
<11><x> Conditional pagebreak Page break if less than x-16
lines left on page, else a new
line.
<12> Unconditional pagebreak Go to a new page (i.e. a page
break)
<13> Return character Possible end-of-line
(depends on options)
<24><x><y>,<n> Footnote reference Reference to footnote <n>, so
print <n>.
<25> Soft hyphen Print a hyphen
<27> Escape character Start escape sequence
<28>,<29> or <30> Soft space Discard if precedes a <10>,
<11>, <12> or <13>, else print
a space
<31> Format character Start format sequence
(reserved for Acorn use)
<127> Delete character Ignored
Escape sequence Meaning
<27><%11000000> Start literal escape sequence
<27><%10fedcba> If 'a' is 1 then toggle bold style (on=>off, off=>on)
If 'b' is 1 then toggle light style (on=>off, off=>on)
If 'c' is 1 then toggle italic style (on=>off, off=>on)
If 'd' is 1 then toggle underline (on=>off, off=>on)
If 'e' is 1 then toggle superscript (on=>off,off=>on)
If 'f' is 1 then toggle subscript (on=>off, off=>on)
<27><other> Ignored
A literal escape sequence is a sequence of characters which are sent
directly to the printer - and hence are printer specific. The sequence is
ended by a <27><0>. A "||" pair sends a "|" character, a "|?" pair sends a
<127>, and any other "|<x>" sequence sends <x AND 31>. Thus to send an
escape character use "|[".
The file format is almost a subset of the 1st Word Plus file format, the
basic omissions being headers and footers, and an incomplete implementation
of footnotes.
The "PrData" file:
-----------------
This file contains printer configuration information. It is read when the
application starts, and updated by the "Save choices" menu item. Included in
the file are the printer-specific control sequences used to print "fancy"
text features. "PrData" is a compressed file containing no comments. A
commented version is provided as "PrDataSrc", and there is a compression
utility, "PrSquasher". The printer driver can read uncompressed commented
PrData files, but they cause it to start-up more slowly. To produce your
own PrData files for different printers, edit a copy of "PrDataSrc", check
it for mistakes (!!), then use "PrSquasher" from the command-line to make a
new "PrData" from it. If you increase the number of entries in "PrData",
you may also need to increase the "Wimpslot" size in "!Run". To run
PrSquasher you should open the printer application directory (using
shift-SELECT), and double-click on the BASIC program PrSquasher. You must
then type in the absolute path-names of the input (unsquashed PrDataSrc) and
output (squashed PrData) files.
Which dump types work on which printers:
----------------------------------------
All LQ dumps work on the EPSON LQ-850. Note that some LQ-compatibles do not
support 360 dpi dumps.
All FX dumps work on the EPSON FX-80 and FX-850.
All LQ dumps except 360 by 360 dpi work on an EPSON LQ-800.
The NEC PinWriter P6plus is as the LQ-850, except that the 360 by 360 dump
is slightly different; a P6plus-specific alternative is provided.
The FX dumps also work on a Brother M-1409.