[cairo] Spot colors (and CMYK)

Bill Spitzak 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 mailing list