[cairo] Spot colors (and CMYK)
spitzak at gmail.com
Thu Feb 18 11:21:33 PST 2010
Kai-Uwe Behrmann wrote:
> So you see quality problems with CM in your workflow. Thats
> interessting. I had perhaps similiar problems with lcms and CIE*XYZ and
> other big gamut differences in colour space conversions. This was really
> troublesome. However, I did not exact round trip tests for gamma as I
> work more with stills.
Yes, the libraries are often useless due to bugs when presented with
color spaces that do not resemble the printers and screens they were
designed for. Though technically spaces like XYZ and linear sRGB can be
defined for them, they fail to convert it correctly. This means we end
up doing the conversion ourselves using manual code.
This is why I am extremely doubtful of any idea that Cairo will call
some cms library. I think the result will be the same: you can use the
tiny subset that people tested, limited to the parts of the icc
definition that the library writer thought were important (ie no device
link if you use the current libraries) and you will have to bypass the
whole thing anyway as soon as you try to use interesting spaces like XYZ.
> I think ICC has slowly came to adress round trip requirements for motion
> pictures in its cinema work group. An other initiative comes from ILM
> with the OpenEXR CMS called CTL. I would expect it to meet the needs of
> exact colour conversions in the motion picture industry. Did you
> evaluate that?
CTL is using an interpreter like a shader language and I doubt is
something we want in Cairo. It also is entirely for light-emitting
devices (things like paper and viewing space are missing) and many parts
of it explicitly say there are 3 channels, therefore I don't think it
interests you. This is exactly the sort of design that I think
applications should do and where an explicit space (possibly defined by
CTL) is used as the Cairo API.
We ignore CTL, what we are doing is storing linear sRGB in OpenEXR
files. This appears to be the normal solution in most of this industry
today. The only other common alternative is to store non-linear sRGB in
the files, which I personally hate for actual imagery but the popularity
of this is why I think the non-linear sRGB api to Cairo is more
important than a linear one.
More information about the cairo