@@ -45,7 +45,7 @@ At Risk: Equivalence of deprecated and un-deprecated system colors
45
45
"journal": "Color Research and Application, vol. 30. No. 1, pp. 21-30",
46
46
"date": "February 2005"
47
47
},
48
- "OKLab ": {
48
+ "Oklab ": {
49
49
"href": "https://bottosson.github.io/posts/oklab/",
50
50
"title": "A perceptual color space for image processing",
51
51
"authors": "Björn Ottosson",
@@ -791,13 +791,13 @@ Representing Colors: the <<color>> type</h2>
791
791
by CIE Lightness, Chroma, and hue
792
792
using the [[#cie-lab|CIE LCH cylindrical coordinate model]]
793
793
* ''oklab()'' ,
794
- which specifies an OKLAB color
795
- by OKLAB Lightness and its a- and b-axis hue coordinates
794
+ which specifies an Oklab color
795
+ by Oklab Lightness and its a- and b-axis hue coordinates
796
796
(red/green-ness, and yellow/blue-ness)
797
- using the [[#ok-lab|OKLAB ]] rectangular coordinate model.
797
+ using the [[#ok-lab|Oklab ]] rectangular coordinate model.
798
798
* ''oklch()'' ,
799
- which specifies an OKLAB color
800
- by OKLAB Lightness, Chroma, and hue
799
+ which specifies an Oklab color
800
+ by Oklab Lightness, Chroma, and hue
801
801
using the [[#ok-lab|OKLCH]] cylindrical coordinate model.
802
802
<!--
803
803
* ''device-cmyk()'' ,
@@ -2761,7 +2761,7 @@ Examples of HWB Colors</h3>
2761
2761
-->
2762
2762
2763
2763
<h2 id='lab-colors'>
2764
- Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2764
+ Device-independent Colors: CIE Lab and LCH, Oklab and OKLCH</h2>
2765
2765
2766
2766
<h3 id="cie-lab">CIE Lab and LCH</h3>
2767
2767
@@ -2775,7 +2775,7 @@ Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2775
2775
<!-- Simplify by saying Lab throughout rather than CIELab or
2776
2776
CIE L*a*b*, because that is what people write in practice.
2777
2777
No-one has used Hunter Lab for anything for decades. -->
2778
- <!-- But now we have OKLab so where it matters, be more specific -->
2778
+ <!-- But now we have Oklab so where it matters, be more specific -->
2779
2779
2780
2780
<dfn value export for="lab()">Lab</dfn> is a rectangular coordinate system
2781
2781
with a central Lightness axis.
@@ -2910,10 +2910,10 @@ Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2910
2910
2911
2911
This does not help with hue curvature, however.
2912
2912
2913
- <h3 id="ok-lab">OKLab and OKLCH</h3>
2913
+ <h3 id="ok-lab">Oklab and OKLCH</h3>
2914
2914
2915
- Recently, <dfn value export for="oklab()">OKLab </dfn> ,
2916
- an improved Lab-like space has been developed [[!OKLab ]] .
2915
+ Recently, <dfn value export for="oklab()">Oklab </dfn> ,
2916
+ an improved Lab-like space has been developed [[!Oklab ]] .
2917
2917
The corresponding polar form is called <dfn value export for="oklch()">OKLCH</dfn> .
2918
2918
It was produced by numerical optimisation
2919
2919
of a large dataset of visually similar colors,
@@ -2929,7 +2929,7 @@ Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2929
2929
L=0% is deep black (no light at all) while L=100% is a diffuse white.
2930
2930
2931
2931
Note: Unlike CIE Lab, which assumes adaptation to the diffuse white,
2932
- OKLab assumes adaptation to the color being defined,
2932
+ Oklab assumes adaptation to the color being defined,
2933
2933
which is intended to make it scale invariant.
2934
2934
2935
2935
As with CIE Lab, the a and b axes convey hue;
@@ -2941,7 +2941,7 @@ Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2941
2941
The illuminant is [=D65=] , the same white point
2942
2942
as most RGB color spaces.
2943
2943
2944
- OKLCH has the same L axis as OKLab ,
2944
+ OKLCH has the same L axis as Oklab ,
2945
2945
but uses polar coordinates C (chroma) and H (hue).
2946
2946
2947
2947
Note: Unlike CIE LCH, where Chroma can reach values of 200 or more,
@@ -2967,7 +2967,7 @@ Device-independent Colors: CIE Lab and LCH, OKLab and OKLCH</h2>
2967
2967
</figcaption>
2968
2968
</figure>
2969
2969
2970
- Because OKLab is more perceptually uniform,
2970
+ Because Oklab is more perceptually uniform,
2971
2971
the color difference is a straightforward distance in 3D space
2972
2972
(root sum of squares).
2973
2973
Although trivial,
@@ -3156,10 +3156,10 @@ Specifying Lab and LCH: the ''lab()'' and ''lch()'' functional notations</h3>
3156
3156
Using commas inside these functions is an error.
3157
3157
3158
3158
<h3 id="specifying-oklab-oklch">
3159
- Specifying OKLab and OKLCH: the ''oklab()'' and ''oklch()'' functional notations</h3>
3159
+ Specifying Oklab and OKLCH: the ''oklab()'' and ''oklch()'' functional notations</h3>
3160
3160
3161
3161
3162
- CSS allows colors to be directly expressed in OKLab and OKLCH.
3162
+ CSS allows colors to be directly expressed in Oklab and OKLCH.
3163
3163
3164
3164
<pre class='prod'>
3165
3165
<dfn>oklab()</dfn> = oklab( [ <<percentage>> | <<number>> | none]
@@ -3194,7 +3194,7 @@ Specifying Lab and LCH: the ''lab()'' and ''lch()'' functional notations</h3>
3194
3194
parsing/color-valid.html
3195
3195
</wpt>
3196
3196
3197
- The first argument specifies the OKLab Lightness.
3197
+ The first argument specifies the Oklab Lightness.
3198
3198
This is typically a number between ''0%''
3199
3199
(representing black)
3200
3200
and ''100%''
@@ -3208,7 +3208,7 @@ Specifying Lab and LCH: the ''lab()'' and ''lch()'' functional notations</h3>
3208
3208
3209
3209
The second and third arguments are the distances along
3210
3210
the "a" and "b" axes
3211
- in the OKLab color space,
3211
+ in the Oklab color space,
3212
3212
as described in the previous section.
3213
3213
These values are signed
3214
3214
(allow both positive and negative values)
@@ -3219,7 +3219,7 @@ Specifying Lab and LCH: the ''lab()'' and ''lch()'' functional notations</h3>
3219
3219
separated by a slash,
3220
3220
representing the [=alpha component=] .
3221
3221
3222
- If the lightness of an OKLab color is ''0%'' ,
3222
+ If the lightness of an Oklab color is ''0%'' ,
3223
3223
both the a and b components are [=powerless=] .
3224
3224
3225
3225
<div class="example" id="ex-oklab-samples">
@@ -3317,7 +3317,7 @@ Specifying Lab and LCH: the ''lab()'' and ''lch()'' functional notations</h3>
3317
3317
3318
3318
3319
3319
<h3 id='lab-to-lch'>
3320
- Converting Lab or OKLab colors to LCH or OKLCH colors</h3>
3320
+ Converting Lab or Oklab colors to LCH or OKLCH colors</h3>
3321
3321
3322
3322
Conversion to the polar form is trivial:
3323
3323
@@ -3336,7 +3336,7 @@ and treated as [=missing=] when converted into LCH or OKLCH;
3336
3336
in non-CSS contexts this might be reflected as a missing value, such as NaN.
3337
3337
3338
3338
<h3 id='lch-to-lab'>
3339
- Converting LCH or OKLCH colors to Lab or OKLab colors</h3>
3339
+ Converting LCH or OKLCH colors to Lab or Oklab colors</h3>
3340
3340
3341
3341
Conversion to the rectangular form is trivial:
3342
3342
@@ -4046,7 +4046,7 @@ The Predefined CIE XYZ Color Spaces: the ''xyz-d50'', ''xyz-d65'', and ''xyz'' k
4046
4046
4047
4047
4048
4048
<h3 id="predefined-to-lab-oklab">
4049
- Converting Predefined Color Spaces to Lab or OKLab </h3>
4049
+ Converting Predefined Color Spaces to Lab or Oklab </h3>
4050
4050
4051
4051
For all predefined RGB color spaces,
4052
4052
conversion to Lab requires several steps,
@@ -4063,25 +4063,25 @@ Converting Predefined Color Spaces to Lab or OKLab</h3>
4063
4063
<li> Convert D50-adapted XYZ to Lab
4064
4064
</ol>
4065
4065
4066
- Conversion to OKLab is similar,
4066
+ Conversion to Oklab is similar,
4067
4067
but the chromatic adaptation step
4068
4068
is only needed for ''prophoto-rgb'' .
4069
4069
4070
4070
<ol id="predefined-to-oklab">
4071
4071
<li> Convert from gamma-encoded RGB to linear-light RGB (undo gamma encoding)
4072
4072
<li> Convert from linear RGB to CIE XYZ
4073
4073
<li> If needed, convert from a [=D50=] whitepoint (used by ''prophoto-rgb'' )
4074
- to the [=D65=] whitepoint used in OKLab ,
4074
+ to the [=D65=] whitepoint used in Oklab ,
4075
4075
with the Bradford transform.
4076
- <li> Convert D65-adapted XYZ to OKLab
4076
+ <li> Convert D65-adapted XYZ to Oklab
4077
4077
</ol>
4078
4078
4079
4079
There is sample JavaScript code for these conversions
4080
4080
in [[#color-conversion-code]] .
4081
4081
4082
4082
4083
4083
<h3 id="oklab-lab-to-predefined">
4084
- Converting Lab or OKLab to Predefined RGB Color Spaces</h3>
4084
+ Converting Lab or Oklab to Predefined RGB Color Spaces</h3>
4085
4085
4086
4086
Conversion from Lab to predefined spaces like ''display-p3'' or ''rec2020''
4087
4087
also requires multiple steps,
@@ -4096,13 +4096,13 @@ Converting Lab or OKLab to Predefined RGB Color Spaces</h3>
4096
4096
<li> Convert from linear-light RGB to RGB (do gamma encoding)
4097
4097
</ol>
4098
4098
4099
- Conversion from OKLab is similar,
4099
+ Conversion from Oklab is similar,
4100
4100
but the chromatic adaptation step
4101
4101
is only needed for ''prophoto-rgb'' .
4102
4102
4103
4103
<ol id="oklab-to-predefined">
4104
- <li> Convert OKLab to (D65-adapted) XYZ
4105
- <li> If needed, convert from a [=D65=] whitepoint (used by OKLab )
4104
+ <li> Convert Oklab to (D65-adapted) XYZ
4105
+ <li> If needed, convert from a [=D65=] whitepoint (used by Oklab )
4106
4106
to the [=D50=] whitepoint used in ''prophoto-rgb'' ,
4107
4107
with the Bradford transform.
4108
4108
<li> Convert from (D65-adapted) CIE XYZ to linear RGB
@@ -4319,7 +4319,7 @@ Color Space for Interpolation</h3>
4319
4319
* In some cases, the result of physically mixing two colored lights is desired.
4320
4320
In that case, the CIE XYZ or srgb-linear color space is appropriate, because they are linear in light intensity.
4321
4321
* If colors need to be evenly spaced perceptually (such as in a gradient),
4322
- the OKLab color space (and the older Lab), are designed to be perceptually uniform.
4322
+ the Oklab color space (and the older Lab), are designed to be perceptually uniform.
4323
4323
* If avoiding graying out in color mixing is desired, i.e. maximizing chroma throughout the transition,
4324
4324
OKLCH (and the older LCH) work well for that.
4325
4325
* Lastly, compatibility with legacy Web content may be the most important consideration.
@@ -4366,7 +4366,7 @@ Color Space for Interpolation</h3>
4366
4366
4367
4367
If the host syntax does not define what color space
4368
4368
interpolation should take place in,
4369
- it defaults to OKLab .
4369
+ it defaults to Oklab .
4370
4370
4371
4371
However, user agents <em> may</em> handle interpolation
4372
4372
between legacy sRGB color formats
@@ -5112,7 +5112,7 @@ Sample Pseudocode for the Binary Search Gamut Mapping Algorithm with Local MINDE
5112
5112
to be in gamut of a destination color space |destination|:
5113
5113
5114
5114
<ol>
5115
- <li> if |destination| has no gamut limits (XYZ-D65, XYZ-D50, Lab, LCH, OKLab , OKLCH) return |origin|
5115
+ <li> if |destination| has no gamut limits (XYZ-D65, XYZ-D50, Lab, LCH, Oklab , OKLCH) return |origin|
5116
5116
<li> let |origin_OKLCH| be |origin| converted
5117
5117
from |origin color space| to the OKLCH color space</li>
5118
5118
<li> if the Lightness of |origin_OKLCH| is greater than or equal to 100%,
@@ -5267,12 +5267,12 @@ Resolving Lab and LCH values</h3>
5267
5267
</div>
5268
5268
5269
5269
<h3 id="resolving-oklab-oklch-values">
5270
- Resolving OKLab and OKLCH values</h3>
5270
+ Resolving Oklab and OKLCH values</h3>
5271
5271
5272
5272
This applies to ''oklab()'' and ''oklch()'' values.
5273
5273
5274
5274
The computed and used value
5275
- is the corresponding OKLab or OKLCH color
5275
+ is the corresponding Oklab or OKLCH color
5276
5276
paired with the specified alpha channel
5277
5277
(as a <<number>> , not a <<percentage>> ;
5278
5278
and defaulting to opaque if unspecified).
@@ -5626,7 +5626,7 @@ Serializing Lab and LCH values</h3>
5626
5626
</div>
5627
5627
5628
5628
<h3 id="serializing-oklab-oklch">
5629
- Serializing OKLab and OKLCH values</h3>
5629
+ Serializing Oklab and OKLCH values</h3>
5630
5630
5631
5631
The serialized form of ''oklch()'' and ''oklab()'' values
5632
5632
is derived from the [=computed value=]
@@ -5924,12 +5924,12 @@ highlight: js
5924
5924
5925
5925
<h3 id="color-difference-OK">ΔEOK</h3>
5926
5926
<p>
5927
- Because OKLab does not suffer from
5927
+ Because Oklab does not suffer from
5928
5928
the hue linearity, hue uniformity,
5929
5929
and chroma non-linearities of CIE Lab,
5930
5930
the color difference metric does not need to correct for them
5931
5931
and so
5932
- is simply the Euclidean distance in OKLab color space.
5932
+ is simply the Euclidean distance in Oklab color space.
5933
5933
</p>
5934
5934
5935
5935
<pre class="include-code lang-javascript">
@@ -6333,7 +6333,7 @@ Changes</h2>
6333
6333
<!-- To 05 Feb 2022 -->
6334
6334
<li> Avoided an infinite loop in gamut reduction, with colors whiter than white or darker than black</li>
6335
6335
<li> Clarified serialization of the ''none'' value</li>
6336
- <li> Clarified the opt-in to interpolation in OKLab , for non-legacy colors</li>
6336
+ <li> Clarified the opt-in to interpolation in Oklab , for non-legacy colors</li>
6337
6337
<li> Defined how premultiplication works, with the ''none'' value</li>
6338
6338
<li> Clarified that missing values in rgb serialize as 0</li>
6339
6339
<li> Clarified the use of calc() with the ''none'' value</li>
@@ -6357,7 +6357,7 @@ Changes</h2>
6357
6357
<li> Computed value of color(xyz ...) is color(xyz-d65 ...)</li>
6358
6358
<li> Added srgb-linear to interpolation color spaces</li>
6359
6359
<li> Updated Changes from Colors 3 section</li>
6360
- <li> Added Resolving OKLab and OKLCH values section</li>
6360
+ <li> Added Resolving Oklab and OKLCH values section</li>
6361
6361
<!-- to 19 Nov 2021 -->
6362
6362
<li> Added srgb-linear color space</li>
6363
6363
<li> Moved @color-profile and device-cmyk to level 5 per CSSWG resolution</li>
@@ -6368,11 +6368,11 @@ Changes</h2>
6368
6368
<!-- to Oct 16 2021-->
6369
6369
<li> Defined quirks-mode quirky hex colors</li>
6370
6370
<li> Removed fallback colors from device-cmyk</li>
6371
- <li> Host syntax that does not declare a default now uses OKLab by default</li>
6371
+ <li> Host syntax that does not declare a default now uses Oklab by default</li>
6372
6372
<li> Added sample code for deltaE OK</li>
6373
6373
<li> Added sample conversion code for OKlab and OKLCH</li>
6374
6374
<li> Added oklab() and oklch() functions</li>
6375
- <i> Added description of OKLab and OKLCH</i>
6375
+ <i> Added description of Oklab and OKLCH</i>
6376
6376
<li> Added description of CIE LCH deficiencies</li>
6377
6377
<li> Allowed all components of a color to be "missing" via the ''none'' keyword,
6378
6378
defined when components are "powerless" and automatically become missing in some cases,
0 commit comments