[comp.sys.mac.programmer] Laserwriter 6.0 problems with certain pixmaps

kam@dlogics.COM (Kevin Mitchell) (12/21/90)

Please help!

When using Laserwriter 6.0, printing color pixmaps, I get wierd color changes.
Some of my lightest colors have been painted with black on the printer output.
Even worse, when the pixmap is next displayed on the screen, the colors have
changed there, too!

It turns out that the LaserWriter driver is replacing the first entry in my
color table with white and the last entry with black. I found this by isolating
the change in the color table to some point during the _Copybits call I make
when writing to the printer's grafPort. Using StepSpy, I found that the change
is made in the PDEF resource for the printer right before the part where it
sends out the color values as hex data for the _colorimage_ PostScript call.

Why does it do this? There is no reason for a pixmap to require black and white
in the "friendly" positions except when it is part of a gDevice. There is even
less reason for the LaserWriter driver to insert the black and white colors
when it subsequently disassembles the pixmap without help from QuickDraw to
obtain the color raster for the PostScript output. There is NO EXCUSE for a
printer driver to modify part of a program's data structure without permission.
(Who'd ever expect CopyBits to arbitrarily alter a pixmap's color table??!?)

The pixmap and color table are of my own construction, and have worked properly
on everything else except the LaserWriter driver, including display to the
screen and third party color-compatible printer drivers.

If anybody knows of a workaround, newer version of the LaserWriter driver that
fixes this, a way of submitting this problem to Apple, etc., please let me
know.

Kevin Mitchell

-- 
Kevin A. Mitchell                (312) 266-4485
Datalogics, Inc                  Internet: kam@dlogics.UUCP
441 W. Huron                     UUCP: ..!uunet!dlogics!kam
Chicago, IL  60610               FAX: (312) 266-4473