- From: Rik Cabanier <cabanier@adobe.com>
- Date: Mon, 20 Aug 2012 13:47:02 -0700
- To: Leonard Rosenthol <lrosenth@adobe.com>, "public-svg-wg@w3.org" <public-svg-wg@w3.org>
> > You mean n-channels in an ICC profile or actual NChannel colors, as an > extension to DeviceN color? There is a big difference... I don't know. Chris' spec doesn't specify. He probably isn't thinking of introducing concepts like hexachrome, so it probably DeviceN. > > First, do you handle Spots as PDF does or as XPS does (or something > completely different)? Second, what do you do about "alternate colors" (for > which SVG doesn't currently have a concept of)? Third, there is the tint > transfer function to handle spot tints, which are quite common - how is that > going to work in SVG? Yes, that all needs to be added. A simplistic model that just interpolates is likely good enough for now. > > As you point out, if you are going to actually introduce CMYK and Spot into > (any) rendering model, then you also need to introduce Overprinting - > because it's part of the physical graphics model of an ink-based device. And, > as you note, that means introducing OP preview. > > "Simply converting to RGB" for transparency isn't going to provide the > correct results in most cases - especially if you want to have something that > even vaguely represents the printed output. This is what most PDF viewers do today. I don't think the use case to have the display match the print is that strong. Most clients just want to be able to use CMYK when printing. > > -----Original Message----- > From: Rik Cabanier > Sent: Monday, August 20, 2012 4:30 PM > To: Leonard Rosenthol; public-svg-wg@w3.org > Subject: RE: svg2: merge in content from SVG Color > > > Please don't... Trying to introduce Spot and/or DeviceN colourants into > SVG > > (or the web in general) is just going to cause a nightmare of specification > and > > implementation details - especially in transparency handling. > > Why would that be? > We have done this before and we know how to handle this. For screen > display, everything will simply map to RGB before compositing. > The CMYK + spot data will only be used when printing (or if someone is > ambitious enough to implement overprint preview) > > Chris' spec has support for NChannel which is much harder than a simple spot > color. > > > > > I also think that there are various things in this SVG Color work that should > > also be "subset" to keep things simple and focused for screen-based > viewing. > > > > Leonard > > > > -----Original Message----- > > From: Rik Cabanier > > Sent: Monday, August 20, 2012 3:51 PM > > To: Leonard Rosenthol; public-svg-wg@w3.org > > Subject: RE: svg2: merge in content from SVG Color > > > > I agree, this is great. > > Any chance that you can squeeze in spot colors? > > > > > -----Original Message----- > > > From: Leonard Rosenthol [mailto:lrosenth@adobe.com] > > > Sent: Monday, August 20, 2012 12:08 PM > > > To: public-svg-wg@w3.org > > > Subject: RE: svg2: merge in content from SVG Color > > > > > > This is all great stuff - but it's pretty useless unless you can get the rest of > > the > > > "HTML family of standards" to also adopt it. > > > > > > For example, if I have an image with an embedded ICC profile, it should > > > render exactly the same regardless of whether it is specified in HTML, > CSS, > > > SVG, Canvas, etc...Right now, it's completely inconsistent. > > > > > > Any chance we could get the rest of the world to align with some/all of > > these > > > various color aspects. > > > > > > Leonard > > > > > > -----Original Message----- > > > From: SVG Working Group repository [mailto:cam@mcc.id.au] > > > Sent: Monday, August 20, 2012 2:44 PM > > > To: public-svg-wg@w3.org > > > Subject: svg2: merge in content from SVG Color > > > > > > details: https://svgwg.org/hg/svg2/rev/2d7ac3e5d383 > > > branches: > > > changeset: 323:2d7ac3e5d383 > > > user: Chris Lilley <chris@w3.org> > > > date: Mon Aug 20 20:44:03 2012 +0200 > > > description: > > > merge in content from SVG Color > > > > > > diffstat: > > > > > > master/color.html | 754 > ++++++++++++++++++++++++++++++++++++- > > -- > > > ------- > > > master/refs.html | 5 + > > > master/style/default.css | 13 +- > > > 3 files changed, 603 insertions(+), 169 deletions(-) > > > > > > diffs (969 lines): > > > > > > diff --git a/master/color.html b/master/color.html > > > --- a/master/color.html > > > +++ b/master/color.html > > > @@ -59,36 +59,318 @@ > > > <th>Owner:</th> > > > <td>Chris (no action)</td> > > > </tr> > > > </table> > > > </div> > > > > > > > > > <h2 id="ColorIntroduction">Introduction</h2> > > > + > > > + <p>This introduction is non-normative</p> > > > + > > > + <p>Several properties used in SVG take a color specification. Also, > > > + external media such as images or video contain colors.</p> > > > > > > -<p class="issue"> > > > - This section should include an overall discussion of color in SVG as well > as > > > links to all the places color > > > - is discussed in the specification: currentColor, SVG colors, etc. > > > -</p> > > > - > > > -<p>All SVG colors are specified in the sRGB color space -[<a > > > href="refs.html#ref-SRGB">SRGB</a>]. At a minimum, SVG user -agents > > shall > > > conform to the color behavior requirements specified in the -<a > > > href="http://www.w3.org/TR/2011/REC-CSS2- > > > 20110607/syndata.html#color-units">color units section</a> -defined in > > the > > > CSS 2.1 specification.</p> > > > +<p>All SVG colors used as property values include a fallback specified > > > +in the sRGB color space [<a href="refs.html#ref-SRGB">SRGB</a>]. </p> > > > > > > <p>Additionally, SVG content can specify an alternate color specification > > > using an ICC profile [<a href="refs.html#ref-ICC42">ICC42</a>] > > > -as described in <a href="painting.html#SpecifyingPaint">Specifying > > > paint</a>. > > > -If ICC-based colors are provided and the SVG user agent supports ICC > > color, > > > +<!-- check paint chapter for content that should be here, and move it -- > >. > > > +If ICC-based colors are provided, > > > then the ICC-based color takes precedence over the sRGB color > > > specification; -otherwise, the RGB fallback colors must be used. > > > -Note that, in this specification, color interpolation occurs in an RGB > color > > > space even if an -ICC-based color specification is provided (see <a>'color- > > > interpolation'</a>).</p> > > > +otherwise, the sRGB fallback colors will be used. > > > +Note that, in this specification, by default color interpolation occurs > > > +in sRGB color space even if an ICC-based color specification is > > > +provided, but this can be changed (see > > > +<a>'color-interpolation'</a>).</p> > > > + > > > + <div class="ready-for-wider-review"> > > > + <h2 id="color-managed-images">Color-managed Images</h2> > > > + > > > + <p class="note"> > > > + New in SVG2.</p> > > > + > > > + <p>Implementations of SVG2 are required to color-manage all > images. > > > + The embedded profile is used. If there is no embedded profile, sRGB is > > > + assumed, for RGB images.</p> > > > + > > > + <p class="issue">Define processing for untagged greyscale and CMYK > > > + images. Could be a default profile, or an 'explicitly undefined' with > > > + a warning to avoid untagged non-RGB images when authoring.</p> > > > + > > > + > > > + <div class="requirement" id="assert_taggedImages"> > > > + <p> > > > + If a referenced image contains color profile information, a > > > + Color-managed User Agent MUST use that profile to render the > > image > > > + </p> > > > + </div> > > > + > > > + <div class="requirement" id="assert_untaggedImages"> > > > + <p> > > > + If a referenced image contains no color profile information, a > > > + Color-managed User Agent MUST use the sRGB profile to render > the > > > image > > > + </p> > > > + </div> > > > + > > > + > > > + <h2 id="Color_syntax">Color syntax</h2> > > > + > > > + > > > + <h3 id="sRGBcolor"> > > > + sRGB colors</h3> > > > + > > > + <p class="prop-value"><a href="#color"><color></a></p> > > > + > > > + <p>Example (these all represent the same color):</p> > > > + <div class="example"> > > > + <pre> > > > + <circle fill="rgb(205,133,63)"/> > > > + <circle fill="peru"/> > > > + <circle fill="rgb(80.392%, 52.157%, 24.706%)"/> > > > + <circle fill="#CD853F"/> > > > + <circle fill="hsl(30, 59%, 53%)"/></pre> > > > + </div> > > > + > > > + <p class="note"> > > > + Includes all syntactic forms supported by SVG 1.1, adds hsl() from > [<a > > > href="refs.html#ref-CSS3COLOR">CSS3COLOR</a>].</p> > > > + <p class="note">See the CSS Color Module Level 3 specification for > the > > > + definition of the color type. > > > + [<a href="refs.html#ref-CSS3COLOR">CSS3COLOR</a>]</p> > > > + > > > + <div class="requirement" id="assert_base_syntax"> > > > + <p>All the syntactic forms for an sRGB color, including the full set of > > > color keywords, shall be supported by an SVG2 User Agent.</p> > > > + </div> > > > + > > > + <p>The rendering requirements for sRGB colors are more strict than > for > > > SVG 1.1 User Agents, > > > + where color management is optional.</p> > > > + <div class="requirement" id="assert_render_sRGB"> > > > + <p> > > > + When an sRGB color is used - because it is the sole color > > specification, > > > or in a > > > + permitted fallback situation - a conformant SVG2 User Agent > > > + shall render it in conformance with the ICC profile for sRGB, to > obtain > > > the > > > + desired color appearance. > > > + </p> > > > + </div> > > > + > > > + <p class="issue"> > > > + Define 'permitted fallback situation' and link to it. > > > + </p> > > > + > > > + <h3 id="sRGBcoloralpha"> > > > + sRGB colors with alpha</h3> > > > + > > > + <p class="prop-value"><a href="#color">rgba(r, g, b, a)</a></p> > > > + > > > + <p>Example </p> > > > + <div class="example"> > > > + <pre> > > > + <circle fill="rgba(205,133,63, 0.5)"/></pre> > > > + </div> > > > + > > > + > > > + <p class="note"> > > > + New in SVG2, added from [<a > > > + href="refs.html#ref-CSS3COLOR">CSS3COLOR</a>].</p> > > > + > > > + <div class="requirement" id="assert_combine-alpha"> > > > + <p>When an sRGB color with alpha is used in a property value, an > > SVG2 > > > User Agent shall combine the alpha value with any separately specified > > alpha > > > value that applies to that property, by multiplying the alpha values > > > together.</p> > > > + </div> > > > + > > > + <p>Example (these render as the same color)</p> > > > + <div class="example"> > > > + <pre> > > > + <circle fill="rgba(205,133,63, 0.25)"/> > > > + <circle fill="rgba(205,133,63, 1.0)" fill-opacity="0.25"/> > > > + <circle fill="rgba(205,133,63, 0.5)" fill-opacity="0.5"/></pre> > > > +</div> > > > + > > > + > > > + <div class="requirement" id="assert_render_sRGB"> > > > + <p> > > > + When an sRGB color with alpha is used - because it is the sole color > > > specification, or in a > > > + permitted fallback situation - a conformant SVG2 User Agent > > > + shall render it in conformance with the ICC profile for sRGB, to > obtain > > > the > > > + desired color appearance. > > > + </p> > > > + </div> > > > + > > > + <h3 id="icc-colors"> > > > + ICC colors</h3> > > > + > > > + <p class="prop-value"><a href="#fallback"><fallback></a> > > > + <a href="#icccolor"> icc-color(<name> > > > + [,<icccolorvalue>]*) </a></p> > > > + > > > + <p>Example:</p> > > > + <div class="example"> > > > + <pre> > > > + <style>@color-profile { > > > + name="acmecmyk" > > > + src="http://printers.example.com/acmecorp/model1234"} > > > + </style> > > > + <circle fill="#CD853F icc-color(acmecmyk, 0.11, 0.48, 0.83, > > > 0.00)"/></pre> > > > + </div> > > > + > > > + <p>Example:</p> > > > + <div class="example"> > > > + <pre> > > > + <color-profile name="acmecmyk" > > > href="http://printers.example.com/acmecorp/model1234"/> > > > + <circle fill="#CD853F icc-color(acmecmyk, 0.11, 0.48, 0.83, > > > 0.00)"/></pre> > > > + </div> > > > + > > > + <p class="note">Same syntax as SVG 1.1, increased conformance > > > + requirement.</p> > > > + > > > + <p>SVG2 uses the extended ICC color specification from SVG 1.1. > > > + In SVG 1.1, parsing the syntax was required but implementing the ICC > > > + colour itself was optional, as indicated by phrases such as "If > > > + ICC-based colors are provided and the SVG user agent supports ICC > > > + color, then...". An SVG 1.1 user agent which also conforms to this > > > + specification "supports ICC color" for the purposes of conforming to > > > + SVG 1.1.</p> > > > + > > > + <p> > > > + As with SVG Full 1.1, SVG Color content may specify color using an > ICC > > > profile (see > > > + [<a href="#ref-ICC42">ICC42</a>]); an sRGB fallback must still be > > > provided. > > > + </p> > > > + > > > + <p>An SVG2 User Agent searches the color profile description > database > > > for > > > + a <a href="#ColorProfileDescriptions">color profile description</a> > > > entry whose > > > + name descriptor matches <name> and uses the last matching > > entry > > > that is found; > > > + painting shall be done using the given ICC color, where the comma- > > > separated list > > > + (with optional white space) of > > <strong><icccolorvalue></strong>'s > > > is a set > > > + of ICC-profile-specific color values, expressed as <a > > > > > > href="http://www.w3.org/TR/SVGMobile12/types.html#DataTypeNumber"> > > > + <number></a>s (see <a href="#icc-colors">ICC colors</a>). If > > no > > > match is > > > + found, then the fallback sRGB color is used. > > > + </p> > > > + > > > + <div class="requirement" id="assert_ICCColorPrecedence"> > > > + <p> > > > + If ICC-based colors are provided, an SVG2 User Agent > > > + MUST use the the ICC-based color in preference to the sRGB > fallback > > > color, > > > + unless the ICC color profile cannot be used (is unavailable, > > malformed, > > > or uses an unsupported profile connection > > > + space).</p> > > > + </div> > > > + <div class="requirement" id="assert_useICC"> > > > + <p>When rendering, if both ICC and sRGB fallback colors are > provided > > > and the referenced ICC profile can be used, a Color-managed User Agent > > > MUST render using the ICC color values, using the specified ICC profile as > > the > > > input profile.</p> > > > + </div> > > > + > > > + <h3 id="LAB">LAB color</h3> > > > + > > > + <p class="note"> > > > + New in SVG2.</p> > > > + > > > + <p class="prop-value"><a href="#fallback"><fallback></a> > > > + <a href="#cielabcolor">cielab(<Lightness>, <a> > > > <b>)</a> | <br /> > > > + <a href="#fallback"><fallback></a> > > > + <a href="#cielchabcolor">cielchab(<Lightness> > <Chroma>, > > > <Hue> )</a> > > > + </p> > > > + > > > +<div class="example"> > > > + <pre> > > > + <circle fill="#CD853F cielab(62.253188, 23.950124, 48.410653)"/> > > > + <circle fill="#CD853F cielch(62.253188, 54.011108, 63.677091)"/> > > > +</pre> > > > + </div> > > > + > > > + > > > + <p>An SVG2User Agent directly uses the CIE LAB or CIE LCHab values, > > > where the comma-separated list > > > + (with optional white space) of > > <strong><icccolorvalue></strong>'s > > > is a set > > > + of Lightness, a and b or Lightness, Hue and Chroma values, > expressed > > as > > > <a > > > > > > href="http://www.w3.org/TR/SVGMobile12/types.html#DataTypeNumber"> > > > + <number></a>s. A color profile is not referenced in the SVG, > > > although profile-based implementations may > > > + choose to implement this by providing and using an LAB profile.</p> > > > + > > > + <p>The white point is D50, which is the whitepoint defined by the > > CIE > > > for CIELab profile connection space and the > > > + whitepoint used for image editors that provide LAB functionality. > > > + LAB measurements relative to a different whitepoint should be > > > + adapted to D50 to be used in SVG2; the linear Bradford chromatic > > > + adaptation transform [<a href="refs.html#ref- > > Bradford">BRADFORD</a>] > > > + is suggested for this.</p> > > > + > > > + <div class="requirement" id="assert_LABColorPrecedence"> > > > + <p> > > > + If LAB-based colors are provided, an SVG2 User Agent > > > + MUST use the the LAB-based color in preference to the sRGB > fallback > > > color.</p> > > > + </div> > > > + <div class="requirement" id="assert_useLAB"> > > > + <p>When rendering, if both LAB and sRGB fallback colors are > provided, > > a > > > Color-managed User Agent MUST render using the ICC color values, using > > > the specified ICC profile as the input profile.</p> > > > + </div> > > > + > > > + <p>A fallback sRGB color must still be provided, for > > > + non-colormanaged user agents.</p> > > > + > > > + <h3 id="named"> > > > + ICC named color</h3> > > > + > > > + <p class="note"> > > > + New in SVG2.</p> > > > + > > > + > > > + <p class="prop-value"><a href="#fallback"><fallback></a> > > > + <a href="#iccnamedcolor">icc-named-color(<name>, > > > + <namedColor>)</a></p> > > > + > > > + <p>Example:</p> > > > + <div class="example"> > > > + <pre > > > > + <color-profile name="FooColors" > > > href="http://swatches.example.com/Foo"/> > > > + <circle fill="#CD853F icc-color(FooColors, Sandy23C"/></pre> > > > + </div> > > > + > > > + <p> > > > + SVG Color introduces the ability to specify a color using a 'Named > > Color > > > Profile'. > > > + </p> > > > + <p>An SVG2 User Agent searches the color profile description > database > > > for > > > + a <a href="#ColorProfileDescriptions">color profile description</a> > > > entry whose > > > + name descriptor matches <name> and uses the last matching > > entry > > > that is found; > > > + painting shall be done using the given ICC color, where namedColor > is > > a > > > <a > > > > href="http://www.w3.org/TR/SVGMobile12/types.html#DataTypeString"> > > > + <string></a> indicating the named color to use.</p> > > > + > > > + <p>ICC named color profiles provide a platform- and implementation- > > > neutral way > > > + to share a swatch of colors, or to use user-created names for > > > + colors.</p> > > > + > > > + <div class="requirement" id="assert_ICCNamedColorPrecedence"> > > > + <p> > > > + If ICC-based named colors are provided, a conformant SVG2 User > > > Agent > > > + MUST use the the ICC-based named color in preference to the sRGB > > > fallback > > > + color, unless the ICC named color profile is unavailable, malformed, > > or > > > uses a profile > > > + connection space other than CIE XYZ or CIE LAB.</p> > > > + </div> > > > + <div class="requirement" id="assert_useICCNamed"> > > > + <p> > > > + When an ICC named color is used, a conformant Color-managed > User > > > Agent > > > + shall render it in conformance with the specified ICC profile to > obtain > > > the > > > + desired color appearance.</p> > > > + </div> > > > + > > > + </div> > > > + > > > +<div class="ready-for-wider-review"> > > > + <h2 id="Unmanaged">Unmanaged colors</h2> > > > + <h3 id="#device"> > > > + Uncalibrated device color</h3> > > > + > > > + <p class="note"> > > > + New in SVG2.</p> > > > + > > > + <p class="prop-value"><a href="#fallback"><fallback></a> > > > + <a href="#devicegray">device-gray(<gray>) </a> | <br /> > > > + <a href="#fallback"><fallback></a> > > > + <a href="#devicergb">device-rgb(<red> <green> > > <blue>) > > > </a> | <br /> > > > + <a href="#fallback"><fallback></a> > > > + <a href="#devicecmyk">device-cmyk(<cyan> <magenta> > > > <yellow> > > > + <black>) </a> | <br /> > > > + <a href="#fallback"><fallback></a> > > > + <a href="#devicegray">device-nchannel(<number>+) </a> | > </p> > > > + > > > + > > > + <div class="example"> > > > + <pre> > > > + <circle fill="#CD853F device-cmyk(0.11, 0.48, 0.83, > > > + 0.00)"/></pre> </div> > > > + > > > + <p> > > > + SVG2 introduces a method of specifying uncalibrated device colors. > > This > > > + is sometimes useful in print workflows, for example to produce > patches > > > of known > > > + ink density used for quality control purposes. </p> > > > + > > > + <p>An SVG2 User Agent which supports the indicated class of output > > > device > > > + will pass the values through without color management. If the class of > > > output device > > > + (for example, cmyk) is not supported, then the fallback > > > + sRGB color is used. > > > + </p> > > > + <p> > > > + As these are uncalibrated, any interpolation or compositing occurs > > using > > > the fallback > > > + sRGB color value.</p> > > > + > > > +</div> > > > > > > <div class="ready-for-wider-review"> > > > <h2 id="ColorProperty">The effect of the <span > > > class="property">'color'</span> property</h2> > > > > > > <p class="note">See the CSS Color Module Level 3 specification for the > > > definition of <a>'color'</a>. > > > [<a href="refs.html#ref-CSS3COLOR">CSS3COLOR</a>]</p> > > > > > > @@ -133,49 +415,42 @@ svg { border: 1px solid #888; background > > > <p class="caption">The text and arrow in the SVG fragment are filled > > > with the same color as the inherited <a>'color'</a> property.</p> > > > </div> > > > </div> > > > </div> > > > > > > <h2 id="ColorProfileDescriptions">Color profile descriptions</h2> > > > > > > -<h3 id="ColorProfileDescriptionsOverview">Overview of color profile > > > descriptions</h3> > > > - > > > -<p>The <a href="http://www.color.org/">International Color - > > > Consortium</a> has established a standard, the ICC Profile -[<a > > > href="refs.html#ref-ICC42">ICC42</a>], for -documenting the color > > > characteristics of input and output -devices. Using these profiles, it is > > > possible to build a -transform and correct visual data for viewing on > > different > > > -devices.</p> > > > - > > > -<p>A <dfn id='color-profile-description'>color profile description</dfn> - > > > provides the bridge between an ICC profile and references to -that ICC > > > profile within SVG content. The color profile -description is added to the > > user > > > agent's list of known color -profiles and then used to select the relevant > > > profile. The -color profile description contains descriptors for the > location - > > > of the color profile on the Web, a name to reference the -profile and > > > information about rendering intent.</p> > > > + <h3 id="ColorProfileDescriptionsOverview"> > > > + Overview of color profile descriptions</h3> <p> > > > + The <a href="http://www.color.org/">International Color > > > Consortium</a> has established > > > + a standard, the ICC Profile [<a href="http://www.color.org/ICC- > > 1A_1999- > > > 04.PDF">ICC32</a>], > > > + for documenting the color characteristics of input and output devices. > > > Using these > > > + profiles, it is possible to build a transform and correct visual data for > > > viewing > > > + on different devices.</p> > > > + <p> > > > + A <span class="SVG-Term">color profile description</span> provides > > the > > > bridge between > > > + an ICC profile and references to that ICC profile within SVG content. > > The > > > color > > > + profile description is added to the user agent's list of known color > > profiles > > > and > > > + then used to select the relevant profile. The color profile description > > > contains > > > + descriptors for the location of the color profile on the Web, a name > to > > > reference > > > + the profile and information about rendering intent.</p> > > > > > > <h3 id="ColorProfileAlternatives">Alternative ways of defining a color > > > profile description</h3> > > > > > > <p>Color profile descriptions can be specified in either of the following > > > ways:</p> > > > > > > <ul> > > > <li>a <a>'color-profile element'</a> element</li> > > > > > > - <li>an <em>@color-profile</em> rule within a CSS style sheet (only > > > - applicable for user agents which support using CSS to style the SVG > > > - content</li> > > > + <li>an <em>@color-profile</em> rule within a CSS style sheet </li> > > > </ul> > > > > > > -<p class="issue">The above used to reference CSS2. @color-profile was > - > > > removed from the latest draft of css3-color, too.</p> > > > > > > <p>If a color profile with the same <em>name</em> value has been > > > identified by both a <a>'color-profile element'</a> element and > > > <em>@color-profile</em> rules within a CSS style sheet, then the user > > > agent shall first attempt to locate the profile by using the specifications > in > > > the <em>@color-profile</em> rules first.</p> > > > > > > @@ -183,61 +458,61 @@ first.</p> > > > > > > <edit:with element='color-profile'> > > > > > > <edit:elementsummary name='color-profile'/> > > > > > > <div class="adef-list"> > > > <p><em>Attribute definitions:</em></p> > > > <dl> > > > - <dt id="ColorProfileElementHrefAttribute"><span > > > class="adef">xlink:href</span> = "<span > > > + <dt id="ColorProfileElementHrefAttribute"><span > > > + class="adef">href</span> = "<span > > > class="attr-value"><a > > > href="types.html#DataTypeIRI"><iri></a></span>"</dt> > > > <dd>The location of an ICC profile resource.<br /> > > > <span class="anim-target"><a > > > href="animate.html#Animatable">Animatable</a>: > > > - no.</span></dd> > > > - <dt id="ColorProfileElementLocalAttribute"><span > > > class="adef">local</span> = "<span > > > + no.</span> > > > + > > > + <dt id="ColorProfileElementLocalAttribute"><span > > > + class="adef">local</span> = sRGB | "<span > > > class="attr-value"><string></span>"</dt> > > > <dd>The unique ID for a locally stored color profile. > > > <string> is the profile's unique ID as specified by > > > <a href="http://www.color.org/">International Color > > > - Consortium</a>. If both the <a>'xlink:href'</a> and the > > <a>'local'</a> > > > - attributes are specified, > > > - then the user agent shall search the local system for the > > > - locally stored color profile first, and, if not available > > > - locally, then attempt to use the resource identified by the > > > - <a>'xlink:href'</a> attribute. (Note: > > > - Profile description fields do <em>not</em> represent a > > > - profile's unique ID. With current ICC proposals, the > > > - profile's unique ID is an MD5-encoded value within the > > > - profile header.)<br /> > > > + Consortium</a>. > > > + <div class="requirement" id="assert_sRGBCaseInsensitive"> > > > + When used in a style sheet, > > > + for consistency with <a > > > href="http://www.w3.org/TR/CSS2/grammar.html">CSS lexical > > > + scanning and parsing rules</a>, the keyword "sRGB" MUST be > > case- > > > insensitive. However, > > > + it is recommended that the mixed capitalization "sRGB" SHOULD > be > > > used for consistency > > > + with common industry practice.</div> > > > + </dd> > > > + <div class="requirement" id="assert_localColorProfilesFirst"> > > > + If both the <a href="#ColorProfileElementHrefAttribute"><span > > > class="attr-name">href</span></a> > > > + and the <span class="attr-name">local</span> attributes are > > > specified, then the > > > + user agent MUST search the local system for the locally stored > > color > > > profile first, > > > + and, if not available locally, then attempt to use the resource > > > identified by the > > > + <a href="#ColorProfileElementHrefAttribute"><span class="attr- > > > name">href</span></a> > > > + attribute.</div> > > > + (Note: Profile description fields do <em>not</em> represent a > > > profile's unique ID. > > > + With current ICC proposals, the profile's unique ID is an MD5- > > encoded > > > value within > > > + the profile header.).<br /> > > > <span class="anim-target"><a > > > href="animate.html#Animatable">Animatable</a>: > > > no.</span></dd> > > > <dt id="ColorProfileElementNameAttribute"><span > > > class="adef">name</span> = "<span > > > class="attr-value"><identifier></span>"</dt> > > > <dd>The name which is used as the first parameter for <span > > > class="prop-value">icc-color</span> specifications within > > > <a>'fill'</a>, <a>'stroke'</a>, <a>'stop-color'</a>, > > > <a>'flood-color'</a> and <a>'lighting-color'</a> property > > > values to identify the color profile to use for the ICC > > > color specification and the name which can be the value of > > > the <a>'color-profile element'</a> property. Note > > > that if 'name' is not provided, it will be impossible > > > - to reference the given color profile description. The name > > > - "sRGB" is predefined; any color profile descriptions with > > > - <span class="attr-value"><identifier></span> set to "sRGB" > > > - will be ignored. For consistency with <a > > > - href="http://www.w3.org/TR/2011/REC-CSS2- > > > 20110607/grammar.html#scanner">CSS > > > - lexical scanning and parsing rules</a> > > > - ([<a href="refs.html#ref-CSS21">CSS21</a>], section G.2), the > > keyword > > > "sRGB" > > > - is case-insensitive; however, it is recommended that the > > > - mixed capitalization "sRGB" be used for consistency with > > > - common industry practice.<br /> > > > + to reference the given color profile description. > > > <span class="anim-target"><a > > > href="animate.html#Animatable">Animatable</a>: > > > no.</span></dd> > > > <dt id="ColorProfileElementRenderingIntentAttribute"><span > > > class="adef">rendering-intent</span> = "<span > > > class="attr-value">auto | perceptual | > > > relative-colorimetric | saturation | > > > absolute-colorimetric</span>"</dt> > > > <dd> > > > @@ -247,57 +522,111 @@ first.</p> > > > primarily to color profiles corresponding to CMYK color > > > spaces. The different options cause different methods to > > > be used for translating colors to the color gamut of the > > > target rendering device:</p> > > > <dl> > > > <dt><span class='prop-value'>auto</span></dt> > > > <dd>This is the default behavior. The user agent > > > determines the best intent based on the content type. > > > - For image content containing an embedded profile, it > > > - shall be assumed that the intent specified within the > > > - profile is the desired intent. Otherwise, the user > > > - agent shall use the current profile and force the > > > - intent, overriding any intent that might be stored in > > > - the profile itself.</dd> > > > + <div class="requirement" id="assert_renderingIntentAuto"> > > > + For image content containing an embedded profile, the User > > Agent > > > MUST use the intent > > > + specified within the profile. Otherwise, the user agent MUST > use > > > the current profile > > > + and force the intent, overriding any intent that might be stored > in > > > the profile > > > + itself. > > > + </div></dd> > > > <dt><span class='prop-value'>perceptual</span></dt> > > > - <dd>This method, often the preferred choice for images, > > > - preserves the relationship between colors. It attempts > > > - to maintain relative color values among the pixels as > > > - they are mapped to the target device gamut. Sometimes > > > - pixel values that were originally within the target > > > - device gamut are changed in order to avoid hue shifts > > > - and discontinuities and to preserve as much as possible > > > - the overall appearance of the scene.</dd> > > > + <dd> <p>This method is often the preferred choice for > > images, > > > especially when > > > + there are substantial differences between the source and > > > destination > > > + (such as a CRT display image reproduced on a reflection print). It > > > takes > > > + the colors of the source image and re-optimizes the appearance > > for > > > the > > > + destination medium using proprietary methods. This re- > > optimization > > > may > > > + result in colors within both the source and destination gamuts > > being > > > + changed, although perceptual transforms are supposed to > > maintain > > > the > > > + basic artistic intent of the original in the reproduction. They will > > not > > > + attempt to correct errors in the source image. > > > + </p> > > > + <p class="note">With v2 ICC profiles there is no specified > > > perceptual reference > > > + medium, which can cause interoperability problems. When v2 > ICC > > > profiles > > > + are used it may be safer to use the media-relative colorimetric > > > + rendering intent with black point compensation, instead of the > > > perceptual > > > + rendering intent, unless the specific source and destination > > profiles > > > to > > > + be used have been checked to ensure the combination > produces > > > the desired > > > + result. > > > + </p> > > > + <div class="requirement" > id="assert_renderingIntentPerceptual"> > > > + This method SHOULD maintain relative color values among the > > > pixels as they are mapped > > > + to the target device gamut. This method MAY change pixel > values > > > that were originally > > > + within the target device gamut, in order to avoid hue shifts and > > > discontinuities > > > + and to preserve as much as possible the overall appearance of > > the > > > scene. > > > + </div> > > > + </dd> > > > <dt><span class='prop-value'>saturation</span></dt> > > > - <dd>Preserves the relative saturation (chroma) values > > > - of the original pixels. Out of gamut colors are > > > - converted to colors that have the same saturation but > > > - fall just inside the gamut.</dd> > > > + <dd> <p>This option was created to preserve the relative > > > saturation (chroma) of > > > + the original, and to keep solid colors pure. However, it > > experienced > > > + interoperability problems like the perceptual intent, and as solid > > > color > > > + preservation is not amenable to a reference medium solution > > using > > > v4 > > > + profiles does not solve the problem. Use of this rendering intent > is > > > <em>not > > > + recommended</em> unless the specific source and destination > > > profiles to be > > > + used have been checked to ensure the combination produces > the > > > desired > > > + result. > > > + </p> > > > + <div class="requirement" > id="assert_renderingIntentSaturation"> > > > + This option SHOULD preserve the relative saturation (chroma) > > > values of the original > > > + pixels. Out of gamut colors SHOULD be converted to colors > that > > > have the same saturation > > > + but fall just inside the gamut. > > > + </div></dd> > > > <dt><span class='prop-value'>relative-colorimetric</span></dt> > > > - <dd>Leaves colors that fall inside the gamut unchanged. > > > - This method usually converts out of gamut colors to > > > - colors that have the same lightness but fall just > > > - inside the gamut.</dd> > > > + <dd> <p>Media-relative colorimetric > > > + is required to leave source colors that fall inside the destination > > > + medium gamut unchanged relative to the respective media > white > > > points. > > > + Source colors that are out of the destination medium gamut are > > > mapped to > > > + colors on the gamut boundary using a variety of different > > > + methods.</p> > > > + > > > + <p>NOTE The media-relative colorimetric rendering intent is > often > > > used with > > > + black point compensation, where the source medium black > point > > is > > > mapped > > > + to the destination medium black point as well.</p> > > > + > > > + <div class="requirement" > > > id="assert_renderingIntentRelativeColorimetric"> > > > + This method MUST map the source white point to the > desination > > > white point. > > > + If black point compensation is in use, the source black point > > MUST > > > also be mapped to the destination black point. > > > + Adaptation algorithms SHOULD be used to adjust for the > change > > in > > > white point. Relative relationships of colors inside > > > + both source and destination gamuts SHOULD be preserved. > > > + Relative relationships of colors outside the destination gamut > > MAY > > > be changed. > > > + </div></dd> > > > <dt><span class='prop-value'>absolute-colorimetric</span></dt> > > > - <dd>Disables white point matching when converting > > > - colors. This option is generally not recommended.</dd> > > > + <dd><p>ICC-absolute colorimetric is > > > + required to leave source colors that fall inside the destination > > > medium > > > + gamut unchanged relative to the adopted white (a perfect > > reflecting > > > + diffuser). Source colors that are out of the destination medium > > > gamut > > > + are mapped to colors on the gamut boundary using a variety of > > > different > > > + methods. This method produces the most accurate color > matching > > > of > > > + in-gamut colors, but will result in highlight clipping if the > > > + destination medium white point is lower than the source > medium > > > white > > > + point. For this reason it is recommended for use > <em>only</em> > > in > > > applications > > > + that need exact color matching and where highlight clipping is > not > > a > > > + concern. > > > + </p> > > > + <div class="requirement" > > > id="assert_renderingIntentAbsoluteColorimetric"> > > > + This method MUST disable white point matching and black > point > > > matching when converting colors. > > > + </div> > > > + In general, this option is not recommended.</dd> > > > </dl> > > > <br /> > > > <span class="anim-target"><a > > > href="animate.html#Animatable">Animatable</a>: no.</span> > > > </dd> > > > </dl> > > > </div> > > > - > > > + <p class="issue">Fallback behaviour needs to be specified, for when > > > + the requested rendering intent does not have a corresponding table in > > > + the profile; or when all rendering-intents are provided using the same > > > + table.</p> > > > </edit:with> > > > > > > <h3 id="ColorProfileAtRule">The CSS <strong>@color-profile</strong> > > > rule</h3> > > > > > > -<p>When the document is styled using CSS, the > > > +<p>When the document is styled using CSS, the CSS > > > <strong>@color-profile</strong> rule can be used to specify a color > > profile > > > description. The general form is:</p> > > > > > > <pre> > > > @color-profile { <color-profile-description> } </pre> > > > > > > <p>where the <color-profile-description> has the form:</p> @@ - > > > 449,97 +778,186 @@ child elements.</p> > > > </tr> > > > </table> > > > </dd> > > > </dl> > > > </div> > > > > > > <p>See the description for the <a>'color-profile/rendering-intent'</a> > > > attribute on the <a>'color-profile element'</a> element.</p> > > > - > > > -<h3 id="ColorProfile">The <span class="property">'color-profile'</span> > > > property</h3> > > > - > > > -<table class="propdef"> > > > - <tr> > > > - <th>Name:</th> > > > - <td><dfn id="ColorProfileProperty">color-profile</dfn></td> > > > - </tr> > > > - <tr> > > > - <th>Value:</th> > > > - <td>auto | sRGB | <a><identifier></a> | > > > <a><funciri></a></td> > > > - </tr> > > > - <tr> > > > - <th>Initial:</th> > > > - <td>none</td> > > > - </tr> > > > - <tr> > > > - <th>Applies to:</th> > > > - <td><a>'image'</a> elements that refer to raster images</td> > > > - </tr> > > > - <tr> > > > - <th>Inherited:</th> > > > - <td>yes</td> > > > - </tr> > > > - <tr> > > > - <th>Percentages:</th> > > > - <td>N/A</td> > > > - </tr> > > > - <tr> > > > - <th>Media:</th> > > > - <td>visual</td> > > > - </tr> > > > - <tr> > > > - <th>Computed value:</th> > > > - <td>as specified, but with <a><funciri></a> values made > > > absolute</td> > > > - </tr> > > > - <tr> > > > - <th><a>Animatable</a>:</th> > > > - <td>yes</td> > > > - </tr> > > > -</table> > > > - > > > -<dl> > > > - <dt><span class='prop-value'>auto</span></dt> > > > - <dd>This is the default behavior. All colors are presumed to > > > - be defined in the sRGB color space unless a more precise > > > - embedded profile is specified within content data. For images > > > - that do have a profile built into their data, that profile is > > > - used. For images that do not have a profile, the sRGB profile > > > - is used.</dd> > > > - > > > - <dt><span class='prop-value'>sRGB</span></dt> > > > - <dd> > > > - <p>The source profile is assumed to be sRGB. This differs > > > - from auto in that it overrides an embedded profile inside an > > > - image.</p> > > > - > > > - <p>For consistency with <a href="http://www.w3.org/TR/2011/REC- > > > CSS2-20110607/grammar.html#scanner">CSS lexical scanning and > parsing > > > rules</a> > > > - ([<a href="refs.html#ref-CSS21">CSS21</a>], section G.2), the > keyword > > > "sRGB" is > > > - case-insensitive; however, it is recommended that the mixed > > > - capitalization "sRGB" be used for consistency with common > > > - industry practice.</p> > > > - </dd> > > > - > > > - <dt><span class='prop-value'><a><identifier></a></span></dt> > > > - <dd>A name corresponding to a defined color profile that is > > > - in the user agent's color profile description database. The > > > - user agent searches the color profile description database > > > - for a <a href="color.html#ColorProfileDescriptions">color > > > - profile description</a> entry whose name descriptor matches > > > - <identifier> and uses the last matching entry that is found. > > > - If a match is found, the corresponding profile overrides an > > > - embedded profile inside an image. If no match is found, then > > > - the embedded profile inside the image is used.</dd> > > > - > > > - <dt><span class='prop-value'><a > > > - href="types.html#DataTypeIRI"><iri></a></span></dt> > > > - <dd>An <a>IRI reference</a> to the source color profile. The > referenced > > > - color profile overrides an embedded profile inside the > > > - image.</dd> > > > -</dl> > > > + > > > + > > > + <div class="ready-for-wider-review"> > > > + <h2 id="syntax">Color syntax</h2> > > > + <p>The EBNF grammar is as used in the <a > > > href="http://www.w3.org/TR/REC-xml/#sec-notation">XML > > > specification</a>, > > > + with the addition of a <em>case-insensitive literal</em>: > > > + characters in the ASCII range (only) are case-insensitive. ~"Hello" will > > > match (H|h)(e|e)(l|L)(l|L)(o|O). This makes the productions much easier > to > > > read.</p> <table> > > > + <tr><td>?</td><td>optional, zero or one</td></tr> > > > + <tr><td>+</td><td>one or more</td></tr> > > > + <tr><td>*</td><td>zero or more</td></tr> > > > + <tr><td>|</td><td>alternation</td></tr> > > > + <tr><td>"string"</td><td>literal</td></tr> > > > + <tr><td>~"string"</td><td>case-insensitive literal</td></tr> > > > + <tr><td>[]</td><td>a character range</td></tr> > > > + <tr><td>[^]</td><td>excluded character range</td></tr> > > > + <tr><td>()</td><td>grouping</td></tr> > > > + </table> > > > + > > > + > > > + <pre> > > > + <span id="icccolor">icccolor</span> ::= > > > + ~"icc-color(" <a href="#name">name</a> (<a href="#comma- > > > wsp">comma-wsp</a> <a href="#number">number</a>)+ ")" > > > + > > > + <span id="iccnamedcolor">iccnamedcolor</span> ::= > > > + ~"icc-named-color(" <a href="#name">name</a> <a href="#comma- > > > wsp">comma-wsp</a> <a href="#namedColor">namedColor</a> ")" > > > + > > > + <span id="cielabcolor">cielabcolor</span> ::= > > > + ~"cielab(" <a href="#lightness">lightness</a> <a href="#comma- > > > wsp">comma-wsp</a> <a href="#a-value">a-value</a> <a > href="#comma- > > > wsp">comma-wsp</a> <a href="#b-value">b-value</a> ")" > > > + > > > + <span id="cielchabcolor">cielchabcolor</span> ::= > > > + ~"cielchab(" <a href="#lightness">lightness</a> <a href="#comma- > > > wsp">comma-wsp</a> <a href="#chroma">chroma</a> <a > > href="#comma- > > > wsp">comma-wsp</a> <a href="#hue">hue</a> ")" > > > + > > > + <span id="devicecolor">devicecolor</span> ::= > > > + <a href="#devicegray">device-gray</a> | <a > > > + href="#devicergb">devicergb</a> | <a > > > href="#devicecmyk">devicecmyk</a> > > > + | <a href="#devicenchannel">devicenchannel</a> > > > + > > > + <span id="devicegray">devicegray</span> ::= > > > + ~"device-gray(" <a href="#gray">gray</a> ")" > > > + > > > + <span id="devicergb">devicergb</span> ::= > > > + ~"device-rgb(" <a href="#red">red</a> <a href="#green">green</a> > <a > > > href="#blue">blue</a> ")" > > > + > > > + <span id="devicecmyk">devicecmyk</span> ::= > > > + ~"device-cmyk(" <a href="#cyan">cyan</a> <a > > > href="#magenta">magenta</a> <a href="#yellow">yellow</a> ><a > > > href="#black">black</a> ")" > > > + > > > + <span id="devicenchannel">devicenchannel</span> ::= > > > + ~"device-nchannel(" <a href="#number">number</a>+ ")" > > > + > > > + <span id="name">name</span> ::= > > > + <a href="#namestartchar">namestartchar</a> (<a > > > + href="#namechar">namechar</a>)* > > > + > > > + <span id="lightness">lightness</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="a-value">a-value</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="b-value">b-value</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="chroma">chroma</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="hue">hue</span> ::= > > > + <a href="#number">number</a> > > > + > > > + > > > + <span id="gray">gray</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="red">red</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="green">green</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="blue">blue</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="cyan">cyan</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="magenta">magenta</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="yellow">yellow</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="black">black</span> ::= > > > + <a href="#number">number</a> > > > + > > > + <span id="namedColor">namedColor</span> ::= > > > + <a href="#name">name</a> > > > + > > > + <span id="fallback">fallback</span> ::= > > > + <a href="#color">color</a> > > > + > > > + <span id="color">color</span> ::= > > > + "#" <a href="#hexdigit">hexdigit</a> <a > href="#hexdigit">hexdigit</a> > > > <a href="#hexdigit">hexdigit</a> (<a href="#hexdigit">hexdigit</a> <a > > > href="#hexdigit">hexdigit</a> <a href="#hexdigit">hexdigit</a>)? > > > + | ~"rgb(" <a href="#wsp">wsp</a>* <a href="#integer">integer</a> > <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#wsp">wsp</a>* ")" > > > + | ~"rgb(" <a href="#wsp">wsp</a>* <a href="#integer">integer</a> > > "%" > > > <a href="#comma">comma</a> <a href="#integer">integer</a> "%" <a > > > href="#comma">comma</a> <a href="#integer">integer</a> "%" <a > > > href="#wsp">wsp</a>* ")" > > > + | ~"hsl(" <a href="#wsp">wsp</a>* <a href="#integer">integer</a> > <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#wsp">wsp</a>* ")" > > > + | ~"hsla(" <a href="#wsp">wsp</a>* <a > href="#integer">integer</a> > > > <a href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#comma">comma</a> <a href="#integer">integer</a> <a > > > href="#wsp">wsp</a>* ")" > > > + | <a href="#color-keyword">color-keyword</a> > > > + > > > + <span id="hexdigit">hexdigit</span> ::= > > > + [0-9A-Fa-f] > > > + > > > + <span id="number">number</span> ::= > > > + <a href="#sign">sign</a>? <a > > > + href="#digit-sequence">digit-sequence</a>? "." <a > > > + href="#digit-sequence">digit-sequence</a> > > > + > > > + <span id="sign">sign</span>::= > > > + "+" | "-" > > > + > > > + <span id="integer">integer</span> ::= > > > + <a href="#digit-sequence">digit-sequence</a> > > > + > > > + <span id="digit-sequence">digit-sequence</span> ::= > > > + [0-9]+ > > > + > > > + <span id="namestartchar">namestartchar</span> ::= > > > + ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [ > > > + #xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | > > > + [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | > > > + [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] > > > + > > > + <span id="namechar">namechar</span> ::= > > > + <a href="#namestartchar">namestartchar</a> | "-" | "." | [0-9] | > #xB7 > > | > > > [#x0300-#x036F] | > > > + [#x203F-#x2040] > > > + > > > + > > > + <span id="comma-wsp">comma-wsp</span> ::= > > > + (<a href="#wsp">wsp</a>+ <a href="#comma">comma</a>? <a > > > + href="#wsp">wsp</a>*) | (<a href="#comma">comma</a> <a > > > + href="#wsp">wsp</a>*) > > > + > > > + <span id="comma">comma</span> ::= > > > + "," > > > + > > > + <span id="wsp">wsp</span> ::= > > > + (#x20 | #x9 | #xD | #xA) > > > + > > > + <span id="color-keyword">color-keyword</span> ::= > > > + ~"aliceblue" | ~"antiquewhite" | ~"aqua" | ~"aquamarine" | ~"azure" > | > > > ~"beige" | > > > + ~"bisque" | ~"black" | ~"blanchedalmond" | ~"blue" | ~"blueviolet" | > > > ~"brown" | > > > + ~"burlywood" |~"cadetblue" | ~"chartreuse" | ~"chocolate" | > ~"coral" | > > > ~"cornflowerblue" | > > > + ~"cornsilk" | ~"crimson" | ~"cyan" | ~"darkblue" | ~"darkcyan" | > > > ~"darkgoldenrod" | > > > + ~"darkgray" | ~"darkgreen" | ~"darkgrey" | ~"darkkhaki" | > > > ~"darkmagenta" | ~"darkolivegreen" | > > > + ~"darkorange" | ~"darkorchid" | ~"darkred" | ~"darksalmon" | > > > ~"darkseagreen" | ~"darkslateblue" | > > > + ~"darkslategray" | ~"darkslategrey" | ~"darkturquoise" | ~"darkviolet" > | > > > ~"deeppink" | ~"deepskyblue" | > > > + ~"dimgray" | ~"dimgrey" | ~"dodgerblue" | ~"firebrick" | > ~"floralwhite" > > | > > > ~"forestgreen" | > > > + ~"fuchsia" | ~"gainsboro" | ~"ghostwhite" | ~"gold" | ~"goldenrod" | > > > ~"gray" | > > > + ~"grey" | ~"green" | ~"greenyellow" | ~"honeydew" | ~"hotpink" | > > > ~"indianred" | > > > + ~"indigo" | ~"ivory" | ~"khaki" | ~"lavender" | ~"lavenderblush" | > > > ~"lawngreen" | > > > + ~"lemonchiffon" | ~"lightblue" | ~"lightcoral" | ~"lightcyan" | > > > ~"lightgoldenrodyellow" | ~"lightgray" | > > > + ~"lightgreen" | ~"lightgrey" | ~"lightpink" | ~"lightsalmon" | > > > ~"lightseagreen" | ~"lightskyblue" | > > > + ~"lightslategray" | ~"lightslategrey" | ~"lightsteelblue" | > ~"lightyellow" > > | > > > ~"lime" | > > > + ~"limegreen" | ~"linen" | ~"magenta" | ~"maroon" | > > > ~"mediumaquamarine" | ~"mediumblue" | > > > + ~"mediumorchid" | ~"mediumpurple" | ~"mediumseagreen" | > > > ~"mediumslateblue" | ~"mediumspringgreen" | ~"mediumturquoise" | > > > + ~"mediumvioletred" | ~"midnightblue" | ~"mintcream" | ~"mistyrose" > | > > > ~"moccasin" | ~"navajowhite" | > > > + ~"navy" | ~"oldlace" | ~"olive" | ~"olivedrab" | ~"orange" | > > ~"orangered" > > > | > > > + ~"orchid" | ~"palegoldenrod" | ~"palegreen" | ~"paleturquoise" | > > > ~"palevioletred" | ~"papayawhip" | > > > + ~"peachpuff" | ~"peru" | ~"pink" | ~"plum" | ~"powderblue" | > ~"purple" > > | > > > + ~"red" | ~"rosybrown" | ~"royalblue" | ~"saddlebrown" | ~"salmon" | > > > ~"sandybrown" | > > > + ~"seagreen" | ~"seashell" | ~"sienna" | ~"silver" | ~"skyblue" | > > > ~"slateblue" | > > > + ~"slategray" | ~"slategrey" | ~"snow" | ~"springgreen" | ~"steelblue" > | > > > ~"tan" | > > > + ~"teal" | ~"thistle" | ~"tomato" | ~"turquoise" | ~"violet" | ~"wheat" > | > > > + ~"white" | ~"whitesmoke" | ~"yellow" | ~"yellowgreen" > > > + </pre> > > > + > > > + > > > + </div> > > > + > > > > > > <h2 id="DOMInterfaces">DOM interfaces</h2> > > > > > > <h3 id="InterfaceSVGColorProfileElement">Interface > > > SVGColorProfileElement</h3> > > > > > > > > > <edit:with element='color-profile'> > > > > > > diff --git a/master/refs.html b/master/refs.html > > > --- a/master/refs.html > > > +++ b/master/refs.html > > > @@ -475,16 +475,21 @@ > > > <br/>The <a href="http://www.w3.org/TR/xsl/">latest edition of > > XSL</a> > > > is available at > > > http://www.w3.org/TR/xsl/. > > > </dd> > > > </dl> > > > > > > <h2 id="InformativeReferences">Informative references</h2> > > > > > > <dl class="references"> > > > + <dt id="ref-BRADFORD" class="informref">[BRADFORD]</dt> > > > + <dd>Originally described in <cite>K.M. Lam, <i>Metamerism and Colour > > > Constancy</i>, > > > + Ph.D. Thesis, University of > > > + Bradford, 1985.</cite>. The linearised Bradford is a simplificaton, > > > + widely used in practice, and expressible as a 3x3 matrix. See for > > > + example Lindbloom, <a > > > + > > > > > > href="http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html" > > > >Ch > > > + romatic Adaptation</a>.</dd> > > > + > > > <dt id="ref-CHARMOD" class="informref">[CHARMOD]</dt> > > > <dd> > > > <cite class="w3crec"><a href="http://www.w3.org/TR/2005/REC- > > > charmod-20050215/">Character Model for the World Wide Web 1.0: > > > Fundametnals</a></cite>, > > > M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin, eds. > > > World Wide Web Consortium, 15 February 2005. > > > <br/>This edition of Charmod Fundamentals is > > > http://www.w3.org/TR/2005/REC-charmod-20050215/. > > > <br/>The <a href="http://www.w3.org/TR/charmod/">latest edition > of > > > Charmod Fundamentals</a> is available at > > > http://www.w3.org/TR/charmod/. > > > diff --git a/master/style/default.css b/master/style/default.css > > > --- a/master/style/default.css > > > +++ b/master/style/default.css > > > @@ -156,17 +156,17 @@ code.css { font-family: inherit; font-si > > > code.html { color: #600 } /* inline HTML */ > > > code.xml { color: #600 } /* inline XML */ > > > .property { font: inherit; white-space: nowrap; } /* name of a CSS > > > property (SPAN) */ > > > .descriptor { } /* name of a CSS descriptor (SPAN) */ > > > .type { font-style: italic } /* A <type> value for a property */ > > > > > > dfn { font-weight: bolder; /*font-size: 1em*/ } > > > > > > -p.issue, div.issue, p.note, div.note, div.example { > > > +p.issue, div.issue, p.note, div.note, div.example, div.requirement { > > > padding: .5em; > > > border-left-width: .5em; > > > border-left-style: solid; > > > } > > > > > > /* Open issue / editorial remark; not intended for a final publication */ > > > p.issue, div.issue { > > > border-color: #E05252; > > > @@ -178,16 +178,27 @@ p.issue:before, div.issue:before { > > > content: "Issue " counter(issue); > > > padding-right: 1em; > > > text-transform: uppercase; > > > color: #E05252; > > > } > > > > > > span.issue { color: red; } > > > > > > +/* Conformance requirement */ > > > + > > > +div.requirement { > > > + border-color: #007070; > > > + background: #A0E0E0; > > > + } > > > + > > > +div.requirement > p { > > > + margin-top: 0 > > > + } > > > + > > > /* Class note is a non-normative note. May be inline or a P or DIV */ > > p.note, > > > div.note { > > > border-color: #52E052; > > > background: #E9FBE9; > > > } > > > > > > span.note { color: green; } > > > > > >
Received on Monday, 20 August 2012 20:47:31 UTC