[Openicc] involving other groups / cairo
Jan-Peter Homann
homann at colormanagement.de
Fri May 13 22:05:33 EST 2005
Hello Kai-Uwe, hello list
I think it would be possible to integrate colormanagement into cairo
with planned small steps, which have a clear goal.
As i understand cairo, it is able to rasterize vector-objects and images
to output-devices like a monitor or a bitmap for printing.
currently, cairo only supports the RGB-colorspace.
First we could implement in cairo a meta-informtion for RGB-color. This
would be a profile, which is valid for the whole "cairo-document".
This is comparable to the output-intent in PDF/X-1a or the working space
in dtp-applications.
In the second step, we integrate colormanagement in the rasterization to
the monitor.
This could be done with littleCMS integrated in cairo.
For the printing, the rasterized bitmap is tagged with the cairo-working
space. If the bitmap is printed via gutenprint, we have clear tagged
bitmap. The colortransformation from the cairo-workingspace to the
printing workingspace is done in gutenprint.
With this two steps, cairo would be able to handle different
RGB-workingspaces with correct rendering to the monitor and to the
printer via gutenprint.
Next step would be the implementation of the CMYK-colorspace in cairo.
As littleCMS is already implemented for rasterizing to the monitor, we
can use this infrastructure to render CMYK-data to the monitor and to
tag CMYK-data for printing with gutenprint.
Even an output-filter for saving the CMYK-cairo document as PDF/X-1a
would be an easy step.
If we have implemented this functionality in cairo, all developers for
linux-graphic arts applications could use the built-in colormanagement
in cairo for rasterizing to the monitor, printing with gutenprint and
saving PDF/X-1a files.
In all this steps, all elements of an RGB- or CMYK"cairo-document" are
in a flat-colorspace, which is described by an meta-information.
In the PDF-language, this would be deviceRGB, deviceCMYK and an
output-intent.
After (!!!) implementing succesfully (!!!) this steps, we can think
about, how to implement colormanagement for individual objects in cairo.
In the PDF-language, this would be iccbasedRGB or ICCbasedCMYK
colorspace for individual objects.
Short version of the steps
1. Meta-information for workingspace in cairo
2. Rasterizing to the monitor via littleCMS
3. Rasterizing to the printer with colormanagement in gutenprint
4. Implementing CMYK-colorspace in cairo
5. Implementing PDF/X-1a export in cairo
Handling of profiles:
- Monitor-profile is set on systemlevel
- workingspace-profile is set in the application
(for colormanagement unaware applications, sRGB is automaticly used as
workingspace)
- printer-profiles are handled in gutenprint
After thism we can go to step 6:
6. Discussion, how to implement colormanagement for individual objects
in cairo.
Greetings from Berlin
:-) Jan-Peter
Kai-Uwe Behrmann wrote:
> Jan-Peter,
>
> some time ago I tried to get in a discussion at the cairo list. After some
> emails my resumee was: discuss and create first a useful CMS and then
> introduce others to participate.
>
> While it is possible to include some little things today into projects
> like cairo, a quick and dirty CMS implementation is not a good advisor for
> an evolving linux CMS.
> I appreciate the discussions with you, now Chris and all the other
> interessted people very much, as wellas your proposals.
> The discussions may help to create a CMS API before a try and error game
> is started much too early.
> People join as they are interessted to contribute to CM.
>
> We are yet in an early state. Even with Argyll, littleCMS, Scribus,
> CinePaint and CUPS and the other projects.
>
> regards
> Kai-Uwe Behrmann
> + development for color management
> + imaging / panoramas
> + email: ku.b at gmx.de
> + http://www.behrmann.name
--
--
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