[Openicc] profile-configuration, application, CUPS, Ghostscript, Gutenprint

Jan-Peter Homann homann at colormanagement.de
Tue Apr 19 19:17:06 EST 2005


hello list

I learned a lot the last days from reading the openn-icc list.

If we are talking about colormanagement for printing, we have often a 
chain of

application->CUPS->GhostScript->Gutenprint

In ths chain, the most usable points for doing print-colormanagement are

1) Gutenprint
2) Combination of CUPS / GhostScript

I will dicuss both scenarios in this mail

Ideal workflow with print-colormanagement in Gutenprint
-------------------------------------------------------
The main involved profiles are the profile for document-colorspace, 
which is configured in the application and the profile for the 
printer/media/gutenprint-setting.

To have a transparent User Interface, it would be fine, when the 
profiles for the printer/media/gutenprint-setting are directly 
associated with this settings.
If this is the case, choosing a specific gutenprint-setting would 
automaticly assign the right-profile for this setting. This profile 
could be a cannend profile or it could be a individual made profile, 
which is configured for this setting.

If the application would be able to send the actual profile for the 
"document-colorspace" via CUPS / GhostScript to Gutenprint, we would 
have a complete-colormanagement chain with no hassle of printer-profile 
configuration either in the application or CUPS.

colormanagement for the printjob would be done in Gutenprint.

Actualy the colormanagement-chain
application->CUPS-GhostScript->Gutenprint for this workflow is broken on 
two points:

A) Configuring the Document-colorspace in CUPS
The application can´t tell CUPS the actual document-profile. This has to 
be configured manually in CUPS.

b) Also GhostScript has no possibility to deliver to profile for the 
document-colorspace to Gutenprint.

We have a second step where manual profile-configuration is necessary.
If we do the colormanagement in Gutenprint, we have to set the profile 
for document-colorspace there.


Print-colormanagement of the printjob in GhostScript
----------------------------------------------

An alternative way to do the print-colormanagement is GhostScript. We 
have to look at Gutenprint, find the right profile for the 
media/gutenprint setting, specify this profile for he printing-job in 
CUPS and tell Gutenprint to print linear without colormanagement.
Also the application can´t tell CUPS the actual document-colorspace. The 
user has to configure this manually.

Both ways are not transparent to the user.

Possibities for better print-color architecture
------------------------------------------------
If we wan´t to make it easier to the user, we have two possibilities:

1) pass through of the document-colorspace to Gutenprint
(colormanagement in Gutenprint)

2) generic-printer driver with profile-configuration
(profile-configuration is made in the printer-driver and colormanagement 
is done in GhostScript)

Lets compare both solutions:

1) pass through of the document-colorspace to Gutenprint
-----------------------------------------------------------
The profile-configuration according the 
printer/media/gutenprint-settings is controlled and executed by the 
Gutenprint-team or another group/company which delivers a 
Gutenprint-based solution with canned profiles.
Making good cannend profiles is very near to all the printer-specific 
stuff like linearization, ink-limiting, rasterization, using 
printer-specific settings etc.
The installation and configurationn of profiles for the printer should 
be done complete from Gutenprint.

If we do want to make easy printer-colormanagement in Gutenprint, we 
need a mechanism to pass through the document-colorspace from CUPS / 
GhostScript to Gutenprint.
If this would possible, there would be no need for any configuration of 
the printer-profiles in CUPS.


2) generic-printer driver with profile-configuration
----------------------------------------------------
This is a much more complex solution. It would be a generic-printer Uer 
Interface, independent from the printertype which is used and 
independent from the lowlevel-printing engine e.g. Gutenprint.

The profile configuration is made in this application. This generic 
driver delivers the profile to the CUPS and the colormanagement is done 
in GhostScript. The lowlevel engine like Gutenprint is only doing 
inklimiting and linearization.

For doing such stuff, we have to solve several things:

2a Synchronizing the settings in the generic-driver with the approriate 
setting in the lowlevel engine e.g. gutenprint

2b Make it easy to print without colormanagement, if testcharts for 
individual profiling should be printed

2c Installer for canned-profiles
We need an installer, which is able to install a bunch of canned 
profiles according the settings of the generic printer-driver.


In my view, it seems easier to implement
1) pass through of the document-colorspace to Gutenprint

In both cases we have to invent a pass-through of the 
document-colorspace to CUPS, that we need no manual configuration there.


At last I have some questions according Gutenprint:

1) How can the user specify the settings for a printjob, when Gutenprint 
is running on a server in the network ?

2) How is this GUI for such a "Gutenprint-client" connected to CUPS ?

3) How far is the implementation of littleCMS in Gutenprint ?

4) How far is the association of profiles and linearization-files in 
Gutenprint ?


colorful greetings
:-) Jan-Peter






-- 
--

homann colormanagement ------ fon/fax +49 30 611 075 18
Jan-Peter Homann ------------- mobile +49 171 54 70 358
Kastanienallee 71 ------- http://www.colormanagement.de
10435 Berlin --------- mailto:homann at colormanagement.de




More information about the openicc mailing list