[Openicc] Print-colormanagement, application->CUPS->gutenprint
Michael Sweet
mike at easysw.com
Tue Apr 19 05:06:43 EST 2005
Hal V Engel wrote:
> ...
> I am confused. I just looked at the ppd file for my printer and the
> only colorspace listed is *DefaultColorSpace: RGB. This appears to
> be a generic (non-device specific) color space. Are you telling me
> that if I change this to point to a custom printer profile that CUPS
> (or what?) will do the color space conversion from the document color
> space (using the embedded ICC profile - for example AdobeRGB 1998) to
> this custom ICC profile before sending it to the printer? Or is
> this something that is going to be available in an unreleased version
> of CUPS?
OK, there are three separate issues here, and I'll break them up.
1. DefaultColorSpace; this keyword specifies the device's default
PostScript colorspace that is used with the setcolor operator.
This has no relation to the document/source colorspace and is
only of academic interest if you are hand-creating PostScript
code and don't care about portability or unreliable behavior.
In short, ignore this attribute completely, nothing to see
here! :)
2. ColorModel + DefaultColorModel; this UI keyword specifies the
desired color model for the job. The Adobe-defined option
keywords are Gray (grayscale), RGB (RGB color), and CMYK (CMYK
color), and they generally tell the printer whether to print in
color.
A typical CUPS driver will use the ColorModel keyword to define
the various colorspaces the driver supports, and use PostScript
code to set the cupsColorSpace, cupsColorOrder, and
cupsBitsPerColor attributes in the PostScript page device
dictionary, which in turn tells the RIP what kind of color
data to produce.
3. cupsICCProfile/cupsProfile; these keywords specify a mapping
from the PCS to the device/destination colorspace. In the
case of cupsICCProfile, the PCS is typically CIE Lab, while
cupsProfile uses CMYK as the PCS.
cupsProfile has been supported since CUPS 1.0.
cupsICCProfile is supported in CUPS 1.1.x on MacOS X 10.3 and
higher and will be supported later this year in CUPS 1.2 and
ESP Ghostscript 8.15.x (x>1) using (surprise surprise) LCMS.
In summary, DefaultColorSpace is not applicable, but instead the
ColorModel/DefaultColorModel stuff is used for a CUPS driver to
determine the device/destination colorspace. The conversion from
document/source colorspace to destination colorspace is further
governed by optional color profiles.
> ...
> other than paper size settings) requires a different profile to be
> totally correct. In addition, each printer of the same model
> requires different profiles since these will behave differently
> because of manufacturing variations.
Keep in mind that MOST people will never create their own ICC
profiles and are 100% OK with using profiles created by the
developer, so our focus in CUPS is to support simple profile
selection with support for custom profiles if the user wants to
create and use them.
> ...
> I need a good way to manage these in conjunction with the related
> printer settings that go with each profile. This needs to be simple
> to do for those who are responsible for creating and installing
> profiles but transparent to regular users.
> ...
Our current design is to support user-installed profiles in
addition to the usual profile auto-selection based on the current
job options. How the user installs the profiles is beyond the
scope of CUPS, however the design makes it as simple as an admin
user creating a symlink or a nice GUI doing this for the user.
--
______________________________________________________________________
Michael Sweet, Easy Software Products mike at easysw dot com
Internet Printing and Document Software http://www.easysw.com
More information about the openicc
mailing list