[Openicc] Print-Color-Pipeline: Learning from TurboPrint and Photoprint
Jan-Peter Homann
homann at colormanagement.de
Fri Feb 11 01:58:13 PST 2011
Hello to all,
Reading the e-mails about implementation of cupsICC based print
colormanagement workflows, it seems, that we are far away, from having a
reliable and easy to use ICC based print workflow.
Most dicussed problems are based on the assumption, that ICC based
printing has to to implemented in the PDFtoRaster Filter with the
OutputIntent as target profile, to allow color management for PDF files,
ICCbased PDF objects.
As written in my concept for colormanagement under LINUX at the OpenICC
wiki, a faster implementation would be succesful, if we concentrate in
the first step on flat color documents. This would deliver ICC based
color management workflows for following use cases:
- sRGB based print workflow for all "color dumb" applications
- printing of digital images with workingspaces other than sRGB (e.g.
AdobeRGB, Eci_RGB, ProPhoto etc.)
- printing of graphic arts PDF files which have been rendered to
standard CMYK workingspace like e.g. SWOP, ISOcoated_v2 or GRACoL
Delivering an ICC based print pipeline for such use cases, will solve
the print colormanagement needs of 95% of all LINUX users today.
How could this implemented step by step ?
1) We need a combination of a printer driver which allows to create
settings to which a printer ICC-profile will be assigned
2) We need a bitmap based filter for ICC based color transformations
combined with the printer driver. ICC based bitmap conversion is a
standard functionality of littleCMS
Avialable combinations of printer drivers with offering pixel based ICC
conversions are e.g.:
- Turboprint (Closed source)
- Gutenprint and littleCMS as part of Photoprint (Open Source)
Turboprint offers functionalities, which are between printer-vendor
based "RGB-only" printer drivers and professional RIP solutions with
integrated colormanagement and printer drivers.
Turboprint allows the printer driver to be profiled both in RGB and CMYK
mode. Creating printer driver settings, printing testcharts and
configuring printer profiles is managed dircetly into the driver.
The integrated "bitmap ICC conversion engine" allows to define different
input profiles for differnt settings.
- Settings with sRGB as input profile will serve the needs of all the
"color dumb" applications creating DeviceRGB PDF print spool files (the
vast majority today)
- Settings with other RGB input profiles like e.g. Adobe RGB serve the
needs of photographers and digital imaging specialist
- Settings with CMYK input profiles serve the needs of print orientated
graphic designers
PDFtoRaster or PStoRaster do not need to do any colormanagement.
GhostScript and poppler can used, as they are (even the older versions)
Tehnically, Photoprint offers comparable functionalities with a
combination of Gutenprint ans littleCMS, but with a UI targeted to the
needs of photoenthusiasts.
Making ICC based printing simple as possible for the users needs in my
eyes a focus on following topic:
- How can we a link between printer driver based color management and
the UI in CPD (Common Print Dialogue).
- We need an abstraction layer, that e.g. both Turboprint or a
combination of Gutenprint and littleCMS could communicate new created
settings to the CPD.
- we need an abstraction layer, that the input colorspace could be
configured through CPD
- The standard input colorspace in CPD / printer driver would be sRGB
- The power user has the option to choose other input space through CPD
which setup the printer driver
I think, the described workflow steps could be implemented for
Gutenprint, littleCMS and CPD through a GoogleSoC 2011 project
After this, we could go futher by implementing a communication layer
between application and CPD, so that the the document colorspace of the
docucument to be printed will be used automatically as input colorspace
for CPD. This could e.g. realized through Oyranos or g-c-m/colord.
Question to Zedonet (Turboprint developers):
Would you support the described workflow approach ?
Question to Alastair M. Robinson (or others)
Could you be a mentor for a GoogleSoc project for reusing or enhancing
the code from Photoprint for implementing the described workflow ?
For the color geeks:
If we have established the described link between the printer driver
setups, associated profiles and CPD, we have a good basis for getting
the correct profile for the printer driver setting through the CPD
selector. We can than attach the printer profile automatically as
outputintnt through a PDFtoPFD filter in CUPS befor PDFtoRaster is applied.
So the described worklfow for "flat color documents" is a perfect
prepararation for more complex PDF based printing workflows
Best regards
Jan-Peter
--
---------- Please note the new adress --------------
homann colormanagement --------- fon +49 30 611 075 18
Jan-Peter Homann ------------ mobile +49 171 54 70 358
Cotheniusstr. 3 -------- http://www.colormanagement.de
10407 Berlin -------- mailto:homann at colormanagement.de
More information about the openicc
mailing list