Re: [css-gcpm][css-color] device-cmyk() interaction with RGB-space colors.

On Thu, Sep 12, 2013 at 8:29 AM, Simon Sapin <simon.sapin@exyr.org> wrote:

> Hi,
>
> In CSS Color Level 3, all values of the <color> type (eventually) resolve
> to a (R, G, B, A) value.
>
> When multiple colors interact with each other in an interpolation
> (transition, animation, or gradient) or with alpha compositing
> (transparency), they do so in RGBA space.
>
>
> The addition of device-cmyk() changes that: not all colors are in the same
> space anymore. The spec needs to define how interpolation and alpha
> compositing works.
>
> Note that probably none of these cases are useful, we just need to pick
> something so that they’re well-defined.
>
> Possible suggestions:
>
> * Gradients whose color stops are not all in the same color space could be
> invalid.
>
> * I don’t expect any media to support both CMYK colors and
> transition/animations. But in case it happens, interpolating colors in
> different color spaces could switch at 50%, like interpolation of other
> discrete types.
>
> * Alpha compositing could be done in device CMYK space, after all RGB
> colors have been converted per a device-specific color profile.
>
>
> There may be further interactions with the Filter Effects and Compositing
> and Blending specs that need to be specified.


Drawing (= rasterization + compositing + blending + filters) should be done
in the colorspace of the output device.
In this case, if you have an element that uses CMYK colors, those colors
should be converted to RGB and then you interpolate them.

There should be a standard CMYK profile for this conversion and there
should probably be a way to change this profile (so you can specify SWOP or
EuroScale).

Rendering in the output device color space does imply that printing and
display will look different. Maybe there's also a need to specify the
colorspace of the document.

Received on Thursday, 12 September 2013 19:27:44 UTC