SPrinter
by David Pilling

The idea is a printer driver which when printed to produces a sprite. This is
an easy way of getting anything which can be printed into the form of a bit
map. The process is similar to faxing, and you may notice the parallels with
e.g. ArcFax. Unlike ArcFax the results can be of any resolution and in
colour.


Installation of SPrinter
Firstly the Dumper Module 'PDumperSP' should be installed inside !Printers in
the PDumpers directory. If you have a new machine with !Printers in ROM. The
correct location will be something like;
 ADFS::HardDisc4.$.!Boot.Choices.Printers.PDumpers

If this directory does not exist, you should create it.

Secondly the Printer Definition File (PDF) 'SPrinter' should be installed in
!Printers either by dragging to the printer control window, or by
double-clicking.

After that you should click with menu on 'SPrinter' in the Printer control
window and use the connections entry. Select printing to 'File' and enter a
path of 'SPrinter:Printout'.

Use 'Configure' on the printer control window menu, and set the sort of
output you want from the printer driver. This can be colour or grey scale and
various resolutions. 90dpi is the usual screen resolution. Beware - A4 size
printed at 720dpi will produce massive files.

Finally, the !SPrinter application should be run. Sprites can only be saved
whilst this is on the icon bar.

To use, select the 'Sprite' printer driver on the icon bar by clicking with
'Select', print in the usual way. When printing has finished, a save box will
appear, and you can drag this to the desired destination for the sprite.


Hints and Tips
Sprinter is a printer driver, and although it is producing sprites it has to
inherit some attributes of a physical printer. So it has a paper size, and if
you attempt to print beyond this output will be clipped. When you install the
PDF you can choose a suitably large paper size. A good choice is A4 paper
size which will give a printing area of the full size of A4.

By the same token, options on the printer configuration window for half
toning etc. appear but have no effect.

If you want antialiased output, for example if you want to convert a Draw
file into a sprite for use on a web page, then the trick is to use SPrinter
at 180 dpi (for example) and then use a program like ImageMaster to scale the
results down to 90dpi.

Programs like ImageMaster will allow you to get output in other desirable
formats like small colour depths, or to save as JPEG's etc.

If you print more than one page at a time, each page will appear as an image
in the resulting sprite file.

By default the quality options provided by Printers are:
 Grey, halftoned (fine)
 Colour, halftoned (fine)
 Colour, halftoned

If you set the system variable Printers$DPLJfullQ like this;
 Set Printers$DPLJfullQ Full

You may then perhaps extend the options (within a !Boot file,
or perhaps the !Run file for Printers) to:
 Mono, small halftone
 Grey, small halftone
 256 colours, small halftone
 256 colours, large halftone
 16 million, small halftone
 16 million, large halftone

This allows you to produce 256 colour sprites direct, and half toned black
and white sprites. Unlike the other options, half toning does work for Mono.

This feature only works with Printers 1.52 and 1.53.


Technical Details
I have used Acorns Sprite dumper number (i.e. 0) for PDumperSP. Although
Acorns dumper exists, it has never been finished or released, as far
as I know.

You can create new graphics modes using PrintEdit on the PDF, typically
these will have different resolutions. 

Note that all sprites produced will have a resolution of 90 dpi. But
printing at 180 dpi will produce a 90 dpi sprite with twice the number of X
and Y pixels that printing at 90 dpi will. You can easily tell your image
processing software the correct resolution of the final bitmap.

If !Printers complains about not being able to find the SPrinter path on
running, a simple fix is to select another printer as the current one,
and then click on save choices on !Printers.

A more complex fix is to set up SPrinter$Path as part of the boot sequence
or to enter an absolute path when installing the PDF.

Copyright  David Pilling 1999