W3C home > Mailing lists > Public > www-style@w3.org > September 2010

Re: CIE color definitions in CSS3 color module

From: Christoph Pper <christoph.paeper@crissov.de>
Date: Sat, 11 Sep 2010 13:49:01 +0200
Message-Id: <2E3FB729-77BD-43F2-AF93-86E6C4BEC511@crissov.de>
To: "www-style@w3.org list" <www-style@w3.org>
Alexis Shaw:
> 
> A CIE XYZ color definition.

This will certainly not make it into level 3 of the Color module, but I guess you would be fine with level 4, too.

We only have HSL, not HSB/HSV or HSI and neither chroma-based HLC or HVC, so why should there be more than one kind of CIE color definitions? 
(Actually, I think CSS Color should define a syntax for every common system there is, but make only certain ones mandatory.)

  hsi(<hue>, <saturation>, <intensity>)
  hsv(<hue>, <saturation>, <brightness>)
  hlc(<hue>, <lightness>, <chroma>)
  hvc(<hue>, <brightness>, <chroma>)

As far as I understand color spaces and definitions,
- RGB is how screens build up colors (or close to it),
- CMYK is how printers build up colors (or close to it),
- HS* are compromises between how screens and people handle colors,
- CIE *** describe what colors people can see.

Is there a point to be made in favor of luma (or luminance) based YUV/YIQ or xvYCC/YCbCr ?

  ycc(<luma>, <blue chroma>, <red chroma>)

> xyz(x, y, z)
> where x, y and z are the floating point values of the CIE 1931 XYZ color space

Are x, y, z normalized to a certain interval, like [0, 1], [0, 100] or [0, 255]?
If this was not done usually, would it be okay for CSS to do so?

> xyy(x, y, Y)
> where x, y, and Y are the floating point values of the CIE 1931 xyY color space.

How does Y differ from z? If its a simple transformation, why would you need two separate ways?
Are x, y, Y normalized to a certain interval, like [0, 1], [0, 100] or [0, 255]?
If this was not done usually, would it be okay for CSS to do so?

> luv(L*, u*, v*, white_point)
> where L, u, v are the floating point values in the CIELUV colorspace.
> lab(L*, a* , b*, white_point)
> where L*, a*, b* are the floating point values in the CIELAB colorspace

  luv(<lighntess>, <u*>, <v*>)

  lab(<L*>, <a*>, <b*>)
= lab(<lightness>, <red-green>, <yellow-blue>) 

     negative positive
  a*  green     red
  b*   blue    yellow

What would be mnemonic names for a* and b*, u* and v*? 
Are L*, a*, b*, u*, v* normalized to a certain interval, like [0, 1], [0, 100] or [0, 255]? (<lightness> is a percentage as far as I know, but could exceed 100%.)
If this was not done usually, would it be okay for CSS to do so?

What about LCH?

  lch(<lightness>, <chroma>, <hue>)

Is it important to have the whitepoint specified by the author or could CSS safely select one? Could it at least be optional. Id suggest a default of D50 (whatever that means, but according to Wikipedia Photoshop and ICC use this one).

<whitepoint>
> One of the CIE standard illuminates
> A, B, C, D50, D55, D65, D75, F1-12,

Is that F1 through F12 or F1-12?

> the following common illuminants
> UL_3000, TL80, A_T8

Are the underscores important? (Authors tend to not get them right.) 

> the following black body format.
> xxxxxK

Do the 5 x stand for anything, like random digits from 0 through 9?

> or a custom white point defined by an @whitepoint rule.

What properties / descriptors would this have? 
Can you describe your standard and common illuminants with this (also xxxxxK)?
Received on Saturday, 11 September 2010 11:49:36 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:31 GMT