> Indeed. As the SVG module owner for Mozilla I've heard quite a few complaints
> about lack of linearRGB support in Mozilla's SVG implementation, especially 
> for
> gradients. It's also the source of conformance test failures for us. If cairo
> could add support that we could expose it would be a great help.
> 
> Jonathan

Jonathan, I fear you're at the heart of a big long-term problem in OS
graphics: Virtually no one cares about linearity. That's why photoshop
is simply better ;(

What's to do?

For starters, cairo might offer distinct ways to specify color:

a) native (transfer function determined by the context/its target
surface, more or less current state)
b) linear RGB
c) sRGB (sRGB transfer function, CM can be added later)

b) and c) might directly convert to a), or better: cairo's surfaces and
patterns could know their intended transfer function, so ops and
back-ends may accomodate properly.

This is relatively simple, and even if support isn't great at first, it
wouldn't harm to code against. More importantly, a widely-used API would
state that ignorance isn't bliss, and get people to at least think about
the matter. Optionally encouraged by deprecating current
cairo_set_source_rgb*() :)

Of course, that's just a small start. As you suggest, gradients need to
be worked out, and I didn't really mention the all the rest.

Cheers,

Simon
_______________________________________________
xorg-devel mailing list
xorg-devel@lists.x.org
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to