Interested in writing a cups driver...

Collin Day dcday137 at
Fri Sep 5 17:46:11 PDT 2008

> Collin Day wrote:
> > ...
> > 1.  I need to create a PCL3GUI driver filter, which will read the
> > cups raster data -> i.e. CUPS would take my 16bit/channel yuck.tif
> > and run it through this filter which would convert it to PCL3GUI data
> > and then send it to the printer.  One question - is the PPD the
> > driver as well?  I know that all of the settings / printer
> > capabilities go in the PPD, but is the PCL3GUI filter an entirely
> > separate entity?
> Yes, and the PPD file points to it so that CUPS knows to run the
> filter when printing.
> > 2.  I need to figure out the channel mappings to the printer and then
> > create mappings for different media types (plain paper, glossy, etc.)
> > I suppose these could be profiled (that is getting ahead of myself -
> > I should probably just get something working first).  I should
> > examine the DDK further to figure out how to do this - but most of
> > the info is in section 6 talking about raster color management.
> Keep in mind that only CUPS on Mac OS X has any real notion of color
> management at this time.  On Linux we currently only support basic
> mapping to/from sRGB and leave all of the device color management up
> to the driver (thus the code in the DDK...)
> What I'd recommend is to take in grayscale data using the sRGB gamma
> LUT, linearize it with an inverse map, and then dither using the
> calibrated luminance values you get from a densitometer or
> spectrophotometer for each ink and dot size supported by the printer
> (again, adjusting the values to compensate for dot gain...)
> --
> ______________________________________________________________________
> Michael R Sweet                        Senior Printing System Engineer
Thanks again.  One last question - are there any examples of how to write filters?  I suppose that I could always look at the code for the ones already present (I assume in the PPD I would use DriverType custom, create the equivalent for commandtopclx and rastertopclx for pclgui3, although I may not need to if hp-pcl works), but it would be nice if there was a simple step by step to look at.  Also, is PCL5 backward compatible with PCL3GUI in some way?  I can't find any pcl3gui doc's, just a brief mention in the DDK docs that hp-pcl may support some of the commands.

Thanks for your time.


More information about the cups-devel mailing list