Toutes les couleurs SVG sont spécifiées dans l'espace de couleur sRGB (voir [SRGB]). Au minimum, les agents utilisateurs SVG doivent se conformer aux obligations de comportement de couleur spécifiées dans la section sur les unités de couleur vf. et dans les règles de correction du gamma minimales vf. définies dans la spécification CSS2.
En plus, un contenu SVG peut avoir une spécification de couleur alternative en utilisant un profil ICC (voir [ICC32]). Si on fournit des couleurs basées sur ICC et si l'agent utilisateur SVG gère la couleur ICC, alors la couleur basée sur ICC a préséance sur la spécification de couleur sRGB. Remarquer qu'une interpolation de couleur survient dans un espace de couleur RGB même si on spécifie une couleur basée sur ICC (voir la propriété 'color-interpolation').
On utilise la propriété 'color' pour donner une valeur de couleur potentielle indirecte (currentColor) aux propriétés 'fill', 'stroke', 'stop-color', 'flood-color' et 'lighting-color'.
| Valeur : | <couleur> | inherit vf. |
| Valeur initiale : | selon l'agent utilisateur |
| S'applique à : | ceux des éléments sur lesquels les propriétés 'fill', 'stroke', 'stop-color', 'flood-color' et 'lighting-color' s'appliquent |
| Héritée : | oui |
| Pourcentages : | sans objet |
| Médias : | visuel |
| Animable : | oui |
Excepté les compléments apportés dans cette spécification, la définition normative de la propriété se trouve dans [CSS2 vf.].
Le Consortium de la Couleur International [N.d.T. International Color Consortium] a établi un standard, le profil ICC [ICC32], pour documenter les caractéristiques de couleur en entrée et en sortie des appareils. En utilisant ces profils, il est possible de construire une transformation et des données visuelles correctes pour leur vision sur différents appareils.
Une description de profil de couleur fournit un pont entre un profil ICC et les références à ce profil ICC dans un contenu SVG. La description de profil de couleur est ajoutée à la liste des profils de couleur connus de l'agent utilisateur puis est utilisée pour la sélection du profil concerné. La description de profil de couleur contient des descripteurs pour la location du profil de couleur sur le Web, un nom qui référence le profil et des informations sur l'intention du rendu.
On peut spécifier des descriptions de profil de couleur de l'une des manières suivantes :
Si un profil de couleur avec une même valeur de nom est identifiée à la fois par un élément 'color-profile' et une règle @color-profile dans une feuille de style CSS, alors l'agent utilisateur devra d'abord essayer de trouver le profil en utilisant les spécifications dans la règle @color-profile.
<!ELEMENT color-profile (%descTitleMetadata;) > <!ATTLIST color-profile %stdAttrs; %xlinkRefAttrs; xlink:href %URI; #IMPLIED local CDATA #IMPLIED name CDATA #REQUIRED rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" > |
Définitions des attributs :
La propriété 'rendering-intent' autorise la spécification d'une intention de rendu d'un profil de couleur autre que celle par défaut. La propriété 'rendering-intent' ne concerne principalement que les profils de couleur correspondant aux espaces de couleur CMYK. Les différentes options entraîne l'utilisation de différentes méthodes de conversion de couleur vers le gamut de couleur de l'appareil de rendu cible :
Quand on style le document avec CSS, on peut utiliser la règle @color-profile pour spécifier une description de profil de couleur. La forme générale en est :
@color-profile { <description-profil-couleur> }
où le type <description-profil-couleur> a la forme :
descripteur: valeur; [...] descripteur: valeur;
Chaque règle @color-profile spécifie une valeur pour chaque descripteur de profil de couleur, soit implicitement, soit explicitement. Ceux qui ne reçoivent pas de valeur explicite dans la règle prennent la valeur initiale, qui est donnée pour chaque descripteur dans cette spécification. Ces descripteurs ne s'appliquent que dans le contexte de la règle @color-profile dans laquelle ils sont définis, et ne s'appliquent pas aux éléments du langage du document. Ainsi, il n'existe aucune notion d'éléments sur lesquels les descripteurs s'appliquent ni d'éléments enfants héritant de valeurs.
Les descripteurs pour une valeur <description-profil-couleur> sont les suivants :
"local(" + <chaîne> + ")"
où la valeur <chaîne> représente l'ID unique du profil, comme spécifié par
International Color Consortium.
(Remarque : Les champs de la description de profile ne représentent pas l'ID unique d'un profil.
Selon les propositions courantes ICC, l'ID unique du profil est une valeur encodée en MD5 dans l'en-tête du profil).| Values: | <nom> |
| Valeur initiale : | non définie |
| Médias : | visuel |
| Values: | auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric |
| Valeur initiale : | auto |
| Médias : | visuel |
| Animable : | no |
Voir la description de l'attribut rendering-intent sur l'élément 'color-profile'.
Les interfaces sont définies ci-dessous : SVGColorProfileElement, SVGColorProfileRule.
L'interface SVGColorProfileElement correspond à l'élément 'color-profile'.
interface SVGColorProfileElement :
SVGElement,
SVGURIReference,
SVGRenderingIntent {
attribute DOMString local;
// déclenche une DOMException à l'initialisation
attribute DOMString name;
// déclenche une DOMException à l'initialisation
attribute unsigned short renderingIntent;
// déclenche une DOMException à l'initialisation
};
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|
L'interface SVGColorProfileRule représente une règle @color-profile dans une feuille de style CSS. Une règle @color-profile identifie un profil ICC qui peut être appelé dans un document donné.
La gestion de l'interface SVGColorProfileRule n'est seulement requise que pour les agents utilisateurs qui gèrent le style avec CSS.
interface SVGColorProfileRule :
SVGCSSRule,
SVGRenderingIntent {
attribute DOMString src;
// déclenche une DOMException à l'initialisation
attribute DOMString name;
// déclenche une DOMException à l'initialisation
attribute unsigned short renderingIntent;
// déclenche une DOMException à l'initialisation
};
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|
| DOMException |
NO_MODIFICATION_ALLOWED_ERR : déclenchée lors d'une tentative de modifier la valeur d'un attribut en lecture seule.
|