[Openicc] printing GUI vs. printerdriver, LINUX
colorinfrastructure
Leonard Rosenthol
leonardr at pdfsages.com
Mon Apr 18 11:37:29 EST 2005
At 08:59 PM 4/17/2005, Robert L Krawitz wrote:
>When I think of a "printer driver", I (and I suspect at least a few
>others here) am primarily thinking of the back end of the RIP, which
>is yet another meaning. Again, my view of the printing architecture:
>
>API => PDL => spooler => raster => printer data => printer
Assuming a raster output device, then I would agree with this
architecture. (I guess it might even be a PDL-based one if you assume that
raster and printer data are occuring on the device itself).
>I fundamentally don't like using the term "RIP" to encompass the
>entire process of converting PDL (or API) to the low level printer
>language.
No, I agree with you.
A RIP is the process of turning API/PDL into a raster image...
API/PDL -> printer language is a separate process that takes (in
my view) INSTEAD of a RIPping process when working with a non-raster
printing device. A common case of this is pdf2ps, when printing to
Postscript device on Mac OS X.
>The part that I'm interested in is where the color management should be
>performed:
Depends on who you talk to ;).
I don't think there is a single answer - it is entirely dependant
on the printing workflow involved. What type of printer is involved
(raster or vector)? What type of data is being received into the print
stream? Single colorspace raster? Single colorspace PDL? Multi-colored
PDL? Are there any profiles involved? etc.
IMO, color management has to happen (initially?) at the time of
RIPping (creation of a single colorspace raster image). It has to happen
here, because this is the last time you have the highest fidelity color
information associated with specific "objects". This may be in the source
application. It may be in the spooler (CUPS's pstoraster). It may be in a
specific RIP module. Or possibly even in the actual printer.
That said, because the "RIPping" process may take place w/o any
information about the final output device (eg. the printer's profile),
there would be the need to perform a secondary color conversion
(potentially with DeviceLink profiles, and/or non-ICC-based conversion
techniques) from the profile used to RIP to the one for the printer. This
is not only useful for something like SWOP->ISO Coated coated, but esp. for
CMYK->HiFi/Hexachrome type output.
>So the real question that I'm interested in is how the color
>management support should be distributed between the high level of the
>RIP (let's use the specific term "pstoraster" for this since it's a
>known instance of what I'm talking about) and the low level (let's use
>the term "Gutenprint").
Well, in the best of all possible worlds, Gutenprint (GP) would
provide pstoraster (P2R) with the printer profile and it (P2R) would then
perform color conversion from the source colors directly to printer
profile. And then GP would just pass a raw bitmap along to the physical
device.
However, we all know that it doesn't work that way today - P2R
(Ghostscript on Linux) sucks when it comes to color management NOR does it
support the passing of an output profile. As such, GP is going to have to
do its best to clean up after P2R using as many techniques as it can...
Leonard
---------------------------------------------------------------------------
Leonard Rosenthol <mailto:leonardr at pdfsages.com>
Chief Technical Officer <http://www.pdfsages.com>
PDF Sages, Inc. 215-938-7080 (voice)
215-938-0880 (fax)
More information about the openicc
mailing list