Une remarque ? Une suggestion ?...

Merci de participer à l'amélioration de ce site. Prenez le temps de rédiger votre remarque le plus précisément possible :

@font-palette-values - Directive CSS

@font-palette-values

Résumé des caractéristiques de la directive @font-palette-values

Description rapide
Définit une palette de couleurs appliable ensuite à une police de caractères.
Statut
Standard
Module W3C
Module CSS - Polices de caractères
Références (W3C)
Statut du document: WD (document de travail)

Description de la directive @font-palette-values.

Certaines polices de caractères acceptent plusieurs couleurs pour chaque symbole ou même des dégradés. Elles sont dites "Color fonts" ou "Chromatic fonts", ou polices chromatiques en français, par opposition aux polices classiques qui sont dites monochromatiques. Cette technologie, nommée COLRv1 (Color Gradient Vector Fonts version 1), est relativement récente mais commence à être bien acceptée par les navigateurs courants.

Voici trois polices chromatiques parmi celles qui sont disponibles sur Google Fonts :

Blaka Ink
Bungee Spice
Nabla

Une ou plusieurs palette de couleurs sont déjà incluses dans le fichier de police lui-même. La directive @font-palette-values permet de sélectionner celle qui sera utilisée. La police Nabla comporte 5 palettes prédéfinies, numérotées de 1 à 5 :

Palette 1
Palette 2
Palette 3
Palette 4
Palette 5

 

A l'intérieur même d'une palette prédéfinie, il est possible avec @font-palette-values de changer une ou plusieurs des couleurs. Exemple à partir de la palette numéro 4 :

Nabla

@font-palette-values ne fait que définir la palette ou les couleurs à utiliser. Ces paramètres doivent ensuite être appliqués avec la propriété font-palette.

Syntaxes pour @font-palette-values.

  • @font-palette-values: --nom-de-la-palette { font-family:'Nabla'; base-palette: 1; }

    Cette syntaxe définit une palette à utiliser pour la police de caractères Nabla. Le --nom-de-la-palette doit obligatoirement commencer par un double tiret, comme tous les identifiants personnalisés en CSS.

    base-palette indique la palette choisie. Le nombre de palettes disponibles dépend de la police. Les palettes peuvent être identifiées par un numéro ou par un nom, cela dépend aussi de la police.

    La propriété font-palette applique ensuite cette déclaration avec la syntaxe habituelle :

    #id { font-family: 'Nabla'; font-palette: --nom-de-la-palette; }
  • @font-palette-values: --nom-de-la-palette { font-family:'Nabla'; base-palette: 1; override-colors: 5 blue, 6 green; }

    Le descripteur override-colors donne accès à la modification individuelle des couleurs d'une palette. Notre exemple modifie les couleurs numéro 5 et 6 de la palette numéro 1.

    Le nombre de couleurs disponibles dans chaque palette est lui aussi dépendant de la police choisie. La référence à un numéro de couleur inexistant dans la palette est sans effet mais n'invalide pas la syntaxe.

Exemples pour @font-palette-values.

La police de caractères Bungee Spice est chromatique. Il est donc possible de modifier les couleurs qui composent ses caractères avec @font-palette-values.
Deux variantes ont été définies et sont ensuite appliquées à chacune des lignes de l'exemple ci-dessous.

Bungee Spice
Bungee Spice

Prise en charge par les navigateurs (compatibilité).

La première colonne du tableau de compatibilité montre la prise en charge du protocole COLRv1 concernant les polices de caractères chromatiques. La deuxième colonne est plus spécifique à la directive CSS @font-palette-values.

1
Spécification
COLRv1
2
Directive
@font-palette-values
Estimation de la prise en charge globale.
77%
89%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Androïd Brower

Baidu Browser

Chrome

Chrome pour Androïd

Edge

Firefox

Firefox pour Androïd

Internet Explorer

KaiOS Browser

Opéra

Opéra Mobile

QQ Browser

Safari

Safari sur IOS

Samsung Internet

UC Browser pour Androïd

Opéra mini

Évolution de la directive @font-palette-values.

Voir aussi, au sujet des polices de caractères.

La directive @font-palette-values est présentée dans la spécification "Module CSS - Polices de caractères" (CSS Fonts Module).
Ces autres définitions sont également décrites dans ce même module.

Propriétés :

Raccourci pour définir la plupart des propriétés concernant les polices de caractères.
Permet d'appliquer quelques effets au texte : relief, bordure...
Définit le nom de la police de caractères.
Permet d'exploiter les fonctionnalités spécifiques des polices de caractères OTF, WOFF, etc.
Ajustement du crénage entre caractères.
Définit le langage à prendre en compte lors du choix des caractères.
Optimise la forme des caractères en fonction de leur taille.
Définit la palette de couleurs utilisable pour les polices de caractères colorées.
Ajuste la taille des caractères.
Définition du coefficient d'aspect de la police.
Modifie l'étirement ou la compression des caractères.
Sélectionne les styles italique ou oblique de la police de caractères.
Autorise ou non le calcul des styles manquants dans la police de caractères.
Autorise ou non le navigateur à synthétiser les caractères en exposant ou en indice.
Autorise ou non le navigateur à calculer le glyphes des caractères en petites capitales.
Définit si le navigateur est autorisé à synthétiser les formes italiques des caractères.
Définit si le navigateur peut calculer ou non le glyphe des caractères gras.
Raccourci permettant de définir les attributs typographiques évolués : ligatures, substitution de caractères, etc.
Définit la substitution de caractères (polices OTF, WOFF).
Applique une capitalisation des caractères.
Typographie spécifique aux caractères chinois ou japonais.
Choisit entre une présentation en emoji ou en texte.
Active ou désactive la ligature des caractères.
Définit le mode d'affichage des nombres évolués : fractions, numéros, etc.
Mise en exposant ou en indice des caractères.
Donne accès aux possibilités stylistiques des polices OTF
Sélectionne une graisse pour les caractères.
Synonmye de font-stretch (largeur/élargissement des caractères).

Directives :

Définit tous les paramètres d'une police de caractères téléchargeable.
Définit les variantes typographiques à utiliser.