[comp.sys.mac.programmer] Printer Drivers?

gillies@uiucdcsp.cs.uiuc.edu (06/01/88)

Please send me information about writing printer drivers for the
Macintosh.  I realize that MacTutor had an article on how to write a
daisywheel driver a few months (years?) ago.

I am most interested in writing a dot-matrix printer driver.  Many
commercial letter-quality printers are 24-pin and support 360*180 dots
per inch resolution.  Where else can I find out about writing this
kind of driver?

Does Apple discourages this?  They certainly don't go out of their way
to explain how to do this in Inside Macintosh, or in the Apple
Technical Notes.

Don Gillies {ihnp4!uiucdcs!gillies} U of Illinois
            {gillies@p.cs.uiuc.edu} 

gillies@uiucdcsp.cs.uiuc.edu (06/03/88)

After a little bit of research, I find that most commercial 24-pin
printers support 180*180 resolution.  This is 2.5 times the resolution
of the imagewriter.  It should be possible to do a very high-quality
printer driver for such a 24-pin printer.  Possible snares are:

  (1) Fonts.  2.5* resolution means you need a 22.5pt, 25pt, 30pt,
      45pt, 60pt font, instead of 9,10,12,18,24.  You could use the Mac's 
      font scaling, but (at least in MS-Word) this seems pretty flakey.
      Individual characters don't always scale to be the same thing
      (try typing "noon" in a 45 point font -- the o's are assymetric).
      Does anyone sell fonts in these wierd sizes?

  (2) Bitmaps.  On the other hand, 2.5 scaling of bitmaps DOES look
      pretty good (at least for one floyded image I tried).

  (3) Screen-prints.  You'd probably want to make a special exception
      and print these at 2* or 3* magnification for best quality.

  (4) Speed.  If you use a commercial printer, you need one that (for
      graphics) is both speedy AND good-looking.  Character speed is
      irrelevent.  BYTE said that the Epson 850 could dump 1367 bytes/sec
      onto the page, and the Okidata 393 could dump 2400 bytes/sec onto
      the page.  These printers were tested with parallel ports.  The
      Mac doesn't have a parallel port, I wonder if you could get this
      performance from a serial port????

A 6.5 * 9 inch page would require 236K of RAM to image a quickdraw
grafport.  A clever algorithm might be able to "trim" the whitespace
from this image to accelerate the printing.  The Okidata printer runs
at the same speed as an Imagewriter II (350 bytes/sec @ 72dpi = 2400
bytes/sec @ 180dpi), but the Epson would only run at 60% of the speed.
In any case, I suspect the Okidata could cream an Imagewriter LQ,
since the printer engine has so much horsepower.

Don Gillies {ihnp4!uiucdcs!gillies} U of Illinois
            {gillies@cs.uiuc.edu}