Additionally, SVG content can specify an alternate color
specification using an ICC profile (see [ICC32]). If
ICC-based colors are provided and the SVG user agent supports
ICC color, then the ICC-based color takes precedence over the
sRGB color specification. Note that color interpolation occurs
in an RGB color space even if an ICC-based color specification
is provided (see 'color-interpolation').

Except for any additional information provided in this
specification, the normative definition of the property is in
[CSS2].

12.3 Color profile descriptions

12.3.1 Overview of color profile descriptions

The International Color
Consortium has established a standard, the ICC Profile [ICC32], 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.

A color profile description
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.

12.3.2 Alternative ways for defining a color profile
description

Color profile descriptions can be specified in either of the
following ways:

an @color-profile rule within a CSS style sheet
(only applicable for user agents which support using CSS [CSS2] to style the
SVG content)

If a color profile with the same name value has
been identified by both a 'color-profile' element and
@color-profile rules within a CSS style sheet, then
the user agent shall first attempt to locate the profile by
using the specifications in the @color-profile rules
first.

The unique ID for a locally stored color profile.
<string> is the profile's unique ID as specified by
International Color
Consortium. If both the xlink:href and the local 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
xlink:href attribute. (Note:
Profile description fields do not represent a
profile's unique ID. With current ICC proposals, the
profile's unique ID is an MD5-encoded value within the
profile header.).Animatable:
no.

name = "<name>"

The name which is used as the first parameter for icc-color specifications within
'fill', 'stroke', 'stop-color', 'flood-color' and 'lighting-color' property
values to identify the color profile to use for the ICC
color specification and the name which can be the value of
the 'color-profile' 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
<name> set to "sRGB"
will be ignored. For consistency with CSS
lexical scanning and parsing rules, the keyword "sRGB"
is case-insensitive; however, it is recommended that the
mixed capitalization "sRGB" be used for consistency with
common industry practice.Animatable:
no.

'rendering-intent'
permits the specification of a color profile rendering
intent other than the default.
'rendering-intent' is applicable 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:

auto

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.

perceptual

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.

saturation

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.

relative colorimetric

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.

absolute colorimetric

Disables white point matching when converting
colors. This option is generally not recommended.

12.3.4 @color-profile when using CSS
styling

When the document is styled using CSS, the
@color-profile rule can be used to specify a color
profile description. The general form is:

@color-profile { <color-profile-description> }

where the <color-profile-description> has the form:

descriptor: value;
[...]
descriptor: value;

Each @color-profile rule specifies a value for every color
profile descriptor, either implicitly or explicitly. Those not
given explicit values in the rule take the initial value listed
with each descriptor in this specification. These descriptors
apply solely within the context of the @color-profile rule in
which they are defined, and do not apply to document language
elements. Thus, there is no notion of which elements the
descriptors apply to, or whether the values are inherited by
child elements.

The source profile is the sRGB color space. For
consistency with CSS
lexical scanning and parsing rules, the keyword "sRGB" is
case-insensitive; however, it is recommended that the mixed
capitalization "sRGB" be used for consistency with common
industry practice.

<local-profile>

The source profile is a locally-stored profile. The syntax
for <local-profile> is:

"local(" + <string> + ")"

where <string> is the profile's unique ID as
specified by International
Color Consortium. (Note: Profile description fields do
not represent a profile's unique ID. With current
ICC proposals, the profile's unique ID is an MD5-encoded
value within the profile header.)

12.3.5 'color-profile'
property

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.

sRGB

The source profile is assumed to be sRGB. This differs
from auto in that it overrides an embedded profile inside an
image.

For consistency with CSS
lexical scanning and parsing rules, the keyword "sRGB" is
case-insensitive; however, it is recommended that the mixed
capitalization "sRGB" be used for consistency with common
industry practice.

<name>

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 color
profile description entry whose name descriptor matches
<name> 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.