[Openicc] Colormanagement in Gutenprint

Hal V Engel hvengel at astound.net
Thu Apr 21 03:59:10 EST 2005


On Wednesday 20 April 2005 05:39 am, Kai-Uwe Behrmann wrote:
> Am 20.04.05, 11:42 +0200 schrieb Jan-Peter Homann:
>
> Jan-Peter,
> thanks for wading though all the details with us.
>

I agree.


> > 1. Integration of littleCMS into Gutenprint
> > --------------------------------------------
> > - The input of Gutenprint is always a  RGB or CMYK Rasterimage with 8 or
> > 16 Bit color depth.

I think that Jan-Peter (please correct me if I am wrong) it talking about what 
the native color space of the Gutenprint driver is for any given device.  In 
other words all of the device specific profiles for a given class or model of 
printer will be of one basic type.  The device may have any number of 
profiles for different media and driver settings but these will all be (RGB 
or CMYK or grayscale) and (8 bit or 16 bit).  The point is to simplify both 
the complexity of the low level device drivers and in particular for users to 
also simplify the process of generating custom profiles.  This does not in 
any way affect what source profiles may be used.
 
>
> Why this limit? The specified input document colour space should allways
> be honored.


I think that Jan-Peter (please correct me if I am wrong) it talking about the 
native color space of the Gutenprint driver is for any given device.  He is 
not talking about the document.image profile(s).  In other words all of the 
device specific profiles for a given class or model of printer will be of one 
basic type.  The device may have any number of profiles for different media 
and driver settings but these will all be (RGB or CMYK or grayscale) and (8 
bit or 16 bit).  The point is to simplify both the complexity of the low 
level device drivers and in particular for users to also simplify the process 
of generating custom profiles.  Again Jan-Peter if I am wrong please correct 
me.

snip

> > Making a good linearization, as basis for good ICC-transformtions needs
> > to steps:
> > 2a. individual linearization of the pure CMYK channels
> > 2b. Inklimiting for a maximum amount of color (GCR)
>
> Does you imaging a on the fly inklimiting profile?

Being able to setup custom linearizations and ink limiting is needed to get 
every last little bit of gamut out of any give printer/media combination.  
But will in all likely hood only be used by a very small number of 
users/organizations.  But it should still be available to those with the 
expertise and resources to implement this level of control.

> > The user should be first able to print a testchart for making 2a.
> > "individual linearization". If this is done, he prints a testchart using
> > the individual linearization curves for step 2b.   "Inklimit/GCR"
> > In the last step he prints the testchart for profiling with active GCR
> > and active individual inklinearization.
>
> This is a multi step preparation. Alternatively she/he can use the inbuild
> Gutenprint linearisations. They are allready of good quality for a lot of
> standard printers.

For many users/orginizations this is how they will operate.  But they should 
not be limited to this.  Also how good the built in linearizations are 
depends on a number of factors that are beyond the control of the Gutenprint 
developers.  For example I may use paper types and/or inks that could benefit 
from custom linearization curves.  I simply can not expect the Gutenprint 
developers to provide for this kind of special case. 

snip 


> Would'nt it suffice to have one linearisation file? The GCR can be
> specified as an option. Maybe you meant it otherwise. Please let
> us know.

I think linearization and ink limits vary with each media and resolution 
combination.  This could depend on the characteristics of the printer.  Again 
it should be possible to users to do both.

snip 

> My suggestion is to include all these setting in one profile. It is, from
> a technical point of view, no problem to embedd all setting in one mother
> profile. Later the settings can be extracted without any installation
> hassles. Simply copy a profile into a standard profile path and select it
> in the gui. No locical printer is needed.
> Of course a logical printer can be installed if one needs it. For instance
> to have a colour managed queue. Which does by default a relevant settings.
>
> For Gutenprint this means; there is logic needed to tell the colour system
> about colour options to include into the profile - the final options used
> during calibration. These options can result in a text snippet describing
> all settings in a configuration format of choice.
>
> Gutenprintgui needs further to read the same data format in (text, xml
> ...) . All colour relevant settings change to the colour options settings
> extracted from the profile and become frozen (grayed out or unavailable).
>
> Later Gutenprint gets the same data again and uses them as options.
>
> The described procedure is easy implementable for the two print plug-ins.
>
> For a general workflow there are two decissions to make. Is it possible
> with the PPD approach to set up all Gutenprint settings? Integrate
> Gutenprint PPDs into these workflow - generate a PPD from one profile or
> leave the options unsplit and dont embedd into a profile. The PPD file can
> contains all sorts of geometric options (papertray selection, positioning,
> margins ...). The complex colour options are specified together with the
> destination profile.
>

Where and how the logical printer configuration is physically stored and 
represented are probably not important at this point.  I think we need to get 
a handle on how this will used and how users will interact with it.  Once we 
have a design at that level we can dive into the implemention details.  

You are probably right that the ppd could be used.  But from my point of view 
at this stag we should be talking about high level requirements and not 
implementation details.  I know most of us are programmers and we like to 
dive into the implementation details.  I tend to do this myself and I have to 
keep reminding myself that we are not at that point yet.   So far I have had 
limited success however.

snip

> Thats completely avoidable. If a system is able to make a difference
> between sRGB and AdobeRGB there is no need to express it with special
> printing queues "logical printer". It will cause irritation to have one
> the one side a colour managed printing system and on the other side the
> applications are not able to specify the source or document
> profile/profiles .
>
> The simple rule to tread everything which is not specified as sRGB is the
> most common acepted.

I agree totally.  I may be wrong, so please correct me if I am, but I think 
Jan-Peter was trying to come up with a work around for the fact that in CUPS 
version 1.2 there is no way to pass the document profile to Gutenprint.   The 
logical printer should not be specific to the document profile.  But I think 
the concept of using logical printers to encapsulate at set of printer 
parameters for color management is valid and would result in a system that 
was much more accessable to users and easier to manage. 

Hal




More information about the openicc mailing list