Skip to content

Commit 47da6ee

Browse files
committed
[css-color-4] Canonical D50, D65 fix w3c#6618
1 parent 99d4d70 commit 47da6ee

1 file changed

Lines changed: 72 additions & 21 deletions

File tree

css-color-4/Overview.bs

Lines changed: 72 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ Value Definitions</h3>
245245

246246
<figure>
247247
<img src="images/UCS-display-p3.svg"
248-
width=500 height=500
248+
width=500 height=464
249249
alt="uv chromaticity diagram of the display-p3 colorspace">
250250
<figcaption>A chromaticity diagram showing
251251
(in solid colors) the ''display-p3'' colorspace
@@ -255,6 +255,57 @@ Value Definitions</h3>
255255
</figcaption>
256256
</figure>
257257

258+
RGB colorspaces are additive,
259+
and their gamut is defined
260+
by the chromaticities of the red, green and blue primaries,
261+
plus the chromaticity of the <dfn export>white point</dfn>
262+
(the color formed by all three primaries at full intensity).
263+
264+
Most colorspaces use one of a few
265+
daylight-simulating [=white points=],
266+
which are named by the color temperature
267+
of the corresponding black-body radiator.
268+
For example, [=D65=] is a daylight whitepoint
269+
corresponding to a correlated color temperature
270+
of 6500 Kelvin
271+
(actually 6504,
272+
because the value of Plank's constant has changed
273+
since the color was originally defined).
274+
275+
To avoid cumulative round-trip errors,
276+
it is important that the identical chromaticity values
277+
are used consistently,
278+
at all places in a calculation. Thus,
279+
for maximum compatibility,
280+
for this specification,
281+
the following two standard
282+
daylight-simulating [=white points=] are defined:
283+
284+
<table class="data">
285+
<thead>
286+
<tr>
287+
<th>Name&nbsp;</th>
288+
<th>x</th>
289+
<th>y</th>
290+
<th>CCT</th>
291+
</tr>
292+
</thead>
293+
<tbody>
294+
<tr>
295+
<td><dfn export>D50</dfn></td>
296+
<td>0.345700</td>
297+
<td>0.358500</td>
298+
<td>6503K</td>
299+
</tr>
300+
<tr>
301+
<td><dfn export>D65</dfn></td>
302+
<td>0.312700</td>
303+
<td>0.329000</td>
304+
<td>6504K</td>
305+
</tr>
306+
</tbody>
307+
</table>
308+
258309

259310
When the measured physical characteristics
260311
(such as the <abbr title="measured color, irrespective of lightness">chromaticities</abbr> of the primary colors it uses,
@@ -2991,7 +3042,7 @@ Device-independent Colors: Lab and LCH</h2>
29913042

29923043
<!-- diagram here -->
29933044

2994-
The illuminant is D50 white, a standardized daylight spectrum with a color temperature of 5000K,
3045+
The illuminant is [=D50=] white, a standardized daylight spectrum with a color temperature of 5000K,
29953046
as reflected by a perfect diffuse reflector; it approximates the color of sunlight on a sunny day.
29963047
D50 is also the whitepoint used for the profile connection space in ICC color interconversion,
29973048
the whitepoint used in image editors which offer Lab editing,
@@ -3192,7 +3243,7 @@ Converting RGB colors to Lab colors</h3>
31923243
so that arithmetic operations on the values
31933244
give the correct results.
31943245
<li>Convert from linear sRGB to CIE XYZ
3195-
<li>Convert from a D65 whitepoint (used by sRGB) to the D50 whitepoint used
3246+
<li>Convert from a [=D65=] whitepoint (used by sRGB) to the [=D50=] whitepoint used
31963247
in Lab, with the Bradford transform [[!Bradford-CAT]]
31973248
<li>Convert D50-adapted XYZ to Lab
31983249
</ol>
@@ -3212,7 +3263,7 @@ Converting Lab colors to RGB colors</h3>
32123263

32133264
<ol>
32143265
<li>Convert Lab to (D50-adapted) XYZ
3215-
<li>Convert from a D50 whitepoint (used by Lab) to the D65 whitepoint used
3266+
<li>Convert from a [=D50=] whitepoint (used by Lab) to the [=D65=] whitepoint used
32163267
in display-p3, with the Bradford transform
32173268
<li>Convert from (D65-adapted) CIE XYZ to linear-light display-p3
32183269
<li>Convert from linear-light display-p3 to display-p3 (do gamma encoding)
@@ -3524,11 +3575,11 @@ and ''xyz''.</h3>
35243575
It has the following characteristics:
35253576

35263577
<table>
3527-
<thead><td></td><td>x</td><td>y</td><td>notes</td></thead>
3578+
<thead><td></td><td>x</td><td>y</td></thead>
35283579
<tr><th>Red chromaticity</th><td>0.640</td><td>0.330</td></tr>
35293580
<tr><th>Green chromaticity</th><td>0.300</td><td>0.600</td></tr>
35303581
<tr><th>Blue chromaticity</th><td>0.150</td><td>0.060</td></tr>
3531-
<tr><th>White chromaticity</th><td>0.31272</td><td>0.32903</td><td>(D65)</td></tr>
3582+
<tr><th>White chromaticity</th> <td colspan="2">[=D65=]</td></tr>
35323583
<tr><th>Transfer function</th><td colspan="2">see below</td></tr>
35333584
<tr><th>White luminance</th><td colspan="2">80.0 cd/m<sup>2</sup></td></tr>
35343585
<tr><th>Black luminance</th><td colspan="2">0.80 cd/m<sup>2</sup></td></tr>
@@ -3570,7 +3621,7 @@ and ''xyz''.</h3>
35703621
representing the red, green, and blue channels of the color,
35713622
with each having a valid range of [0, 1].
35723623
It uses the same primary chromaticities as [[!DCI-P3]],
3573-
but with a D65 whitepoint, and the same transfer curve as sRGB.
3624+
but with a [=D65=] whitepoint, and the same transfer curve as sRGB.
35743625

35753626
Modern displays, TVs, laptop screens and phone screens
35763627
are able to display all, or nearly all,
@@ -3579,11 +3630,11 @@ and ''xyz''.</h3>
35793630
It has the following characteristics:
35803631

35813632
<table>
3582-
<thead><td></td><td>x</td><td>y</td><td>notes</td></thead>
3633+
<thead><td></td><td>x</td><td>y</td></thead>
35833634
<tr><th>Red chromaticity</th><td>0.680</td><td>0.320</td></tr>
35843635
<tr><th>Green chromaticity</th><td>0.265</td><td>0.690</td></tr>
35853636
<tr><th>Blue chromaticity</th><td>0.150</td><td>0.060</td></tr>
3586-
<tr><th>White chromaticity</th><td>0.31272</td><td>0.32903</td><td>(D65)</td></tr>
3637+
<tr><th>White chromaticity</th> <td colspan="2">[=D65=]</td></tr>
35873638
<tr><th>Transfer function</th><td colspan="2">same as srgb</td></tr>
35883639
<tr><th>White luminance</th><td colspan="2">80.0 cd/m<sup>2</sup></td></tr>
35893640
<tr><th>Black luminance</th><td colspan="2">0.80 cd/m<sup>2</sup></td></tr>
@@ -3622,11 +3673,11 @@ and ''xyz''.</h3>
36223673
It has the following characteristics:
36233674

36243675
<table>
3625-
<thead><td></td><td>x</td><td>y</td><td>notes</td></thead>
3676+
<thead><td></td><td>x</td><td>y</td></thead>
36263677
<tr><th>Red chromaticity</th><td>0.6400</td><td>0.3300</td></tr>
36273678
<tr><th>Green chromaticity</th><td>0.2100</td><td>0.7100</td></tr>
36283679
<tr><th>Blue chromaticity</th><td>0.1500</td><td>0.0600</td></tr>
3629-
<tr><th>White chromaticity</th><td>0.31272</td><td>0.32903</td><td>(D65)</td></tr>
3680+
<tr><th>White chromaticity</th> <td colspan="2">[=D65=]</td></tr>
36303681
<tr><th>Transfer function</th><td colspan="2">256/563 </td></tr>
36313682
<tr><th>White luminance</th><td colspan="2">160.0 cd/m<sup>2</sup></td></tr>
36323683
<tr><th>Black luminance</th><td colspan="2">0.5557 cd/m<sup>2</sup></td></tr>
@@ -3666,7 +3717,7 @@ and ''xyz''.</h3>
36663717
with each having a valid range of [0, 1]. The transfer curve is
36673718
a gamma function with a value of 1/1.8,
36683719
and a small linear portion near black.
3669-
The white point is D50, the same as is used by CIE Lab. Thus,
3720+
The white point is [=D50=], the same as is used by CIE Lab. Thus,
36703721
conversion to Lab does not require the chromatic adaptation step.
36713722

36723723
The ProPhoto RGB space uses hyper-saturated,
@@ -3687,11 +3738,11 @@ and ''xyz''.</h3>
36873738
It has the following characteristics:
36883739

36893740
<table>
3690-
<thead><td></td><td>x</td><td>y</td><td>notes</td></thead>
3741+
<thead><td></td><td>x</td><td>y</td></thead>
36913742
<tr><th>Red chromaticity</th><td>0.734699</td><td>0.265301</td></tr>
36923743
<tr><th>Green chromaticity</th><td>0.159597</td><td>0.840403</td></tr>
36933744
<tr><th>Blue chromaticity</th><td>0.036598</td><td>0.000105</td></tr>
3694-
<tr><th>White chromaticity</th><td>0.345704</td><td>0.358540</td><td>(D50)</td></tr>
3745+
<tr><th>White chromaticity</th><td colspan="2">[=D50=]</td></tr>
36953746
<tr><th>Transfer function</th><td colspan="2">see below </td></tr>
36963747
<tr><th>White luminance</th><td colspan="2">160.0 to 640.0 cd/m<sup>2</sup></td></tr>
36973748
<tr><th>Black luminance</th><td colspan="2">See text</td></tr>
@@ -3756,11 +3807,11 @@ and ''xyz''.</h3>
37563807
It has the following characteristics:
37573808

37583809
<table>
3759-
<thead><td></td><td>x</td><td>y</td><td>notes</td></thead>
3810+
<thead><td></td><td>x</td><td>y</td></thead>
37603811
<tr><th>Red chromaticity</th><td>0.708</td><td>0.292</td></tr>
37613812
<tr><th>Green chromaticity</th><td>0.170</td><td>0.797</td></tr>
37623813
<tr><th>Blue chromaticity</th><td>0.131</td><td>0.046</td></tr>
3763-
<tr><th>White chromaticity</th><td>0.31272</td><td>0.32903</td><td>(D65)</td></tr>
3814+
<tr><th>White chromaticity</th> <td colspan="2">[=D65=]</td></tr>
37643815
<tr><th>Transfer function</th><td colspan="2">see below, from [[!Rec.2020]] table 4</td></tr>
37653816
<tr><th>Image state</th><td colspan="2">display-referred</td></tr>
37663817
<tr>
@@ -3812,7 +3863,7 @@ and ''xyz''.</h3>
38123863
representing the X,Y and Z values.
38133864
It represents the CIE XYZ color space,
38143865
scaled such that diffuse white has a luminance (Y) of 1.0
3815-
and, if necessary, chromatically adapted to a D50 reference white.
3866+
and, if necessary, chromatically adapted to a [=D50=] reference white.
38163867

38173868
Values greater than 1.0 are allowed and must not be clamped;
38183869
they represent colors brighter than diffuse white.
@@ -3868,8 +3919,8 @@ Converting predefined color spaces to Lab</h4>
38683919
<ol>
38693920
<li>Convert from gamma-encoded RGB to linear-light RGB (undo gamma encoding)
38703921
<li>Convert from linear RGB to CIE XYZ
3871-
<li>Convert from a D65 whitepoint (used by sRGB, ''display-p3'', ''a98-rgb'' and ''rec2020'') to the D50 whitepoint used in Lab,
3872-
with the Bradford transform. ''prophoto-rgb''' already has a D50 whitepoint.
3922+
<li>Convert from a [=D65=] whitepoint (used by sRGB, ''display-p3'', ''a98-rgb'' and ''rec2020'') to the [=D50=] whitepoint used in Lab,
3923+
with the Bradford transform. ''prophoto-rgb''' already has a [=D50=] whitepoint.
38733924
<li>Convert D50-adapted XYZ to Lab
38743925
</ol>
38753926

@@ -3882,7 +3933,7 @@ Converting Lab to predefined color spaces</h4>
38823933

38833934
<ol>
38843935
<li>Convert Lab to (D50-adapted) XYZ
3885-
<li>Convert from a D50 whitepoint (used by Lab) to the D65 whitepoint used in sRGB and most other RGB spaces,
3936+
<li>Convert from a [=D50=] whitepoint (used by Lab) to the [=D65=] whitepoint used in sRGB and most other RGB spaces,
38863937
with the Bradford transform. ''prophoto-rgb''' does not require this step.
38873938
<li>Convert from (D65-adapted) CIE XYZ to linear RGB
38883939
<li>Convert from linear-light RGB to RGB (do gamma encoding)
@@ -5392,7 +5443,7 @@ Changes</h2>
53925443
<li>User-defined color spaces now dashed-ident, making predefined color spaces extensible without clashes</li>
53935444
<li>Added lab option to the color() function</li>
53945445
<li>Added normative reference for CIE Lab</li>
5395-
<li>Clarified that prophoto-rgb uses D50 whitepoint so does not require adaptation</li>
5446+
<li>Clarified that prophoto-rgb uses [=D50=] whitepoint so does not require adaptation</li>
53965447
<li>Clarified direction of increasing angle in LCH</li>
53975448
<li>Clarified that color names are ASCII case insensitive</li>
53985449
<li>Initial value of the "color" property is now CanvasText</li>

0 commit comments

Comments
 (0)