13.1. Utiliser plusieurs Faces de Caractères

Lors de l'utilisation d'Emacs dans un système de fenêtrage, vous pouvez utiliser plusieurs styles pour afficher les caractères. Certains aspects du style que vous contrôlez sont la police du carctère, la couleur du caractère, la couleur du fond, et si le le caractère est souligné ou non, et avec quelle couleur.

Les fonctionnalités qui s'appuient sur du texte en plusieurs faces (comme le mode Verrouillage de Police) fonctionneront aussi sur dse terminaux non fenêtrés qui peuvent afficher plusieurs faces, soit par couleurs, soit en soulignant et en mettant en gras. Ceux-ci incluent la console de GNU/Linux, un xterm avec support des couleurs, l'affichage MS-DOS (Appendix E), et la version MS-Windows invoquée avec l'option -nw. Emacs détermine automatiquement si le terminal a cette capacité.

La manière de contrôler le style de l'affichage est de définir des faces et de les nommer. Chaque face peut définir divers attributs, comme la hauteur de la police de caractères, son poids et son inclinaison, les couleurs du caractère et du fond, et le soulignement, mais n'a pas à les définir tous. En spécifiant la face ou les faces à utiliser pour une partie donnée du texte dans le tampon, vous contrôlez comment ce texte apparaît.

Le style d'affichage utilisé pour un caractère donné dans le texte est déterminé en combinant plusieurs faces. Tout aspect du style d'affichage qui n'est pas spécifié par des extensions ou des propriétés de texte provient d'une face par défaut qui hérite ces attributs du cadre lui-même.

Le mode Enrichi, mode pour éditer du texte formaté, inclut plusieurs commandes et menus pour spécifier des faces. Section 23.11.4, pour voir comment spécifier la police pour le texte du tampon. Section 23.11.5, pour voir comment spécifier les couleurs du caractère et du fond.

Pour altérer l'apparence d'une face, utilisez le tampon de personnalisation. Section 32.2.2.3. Vous pouvez aussi utiliser des ressources X pour spécifier les attributs d'une face particulière. (Section B.13).

Alternativement, vous pouvez changer les couleurs du caractère et du fond d'une face donnée avec M-x set-face-foreground et M-x set-face-background. Ces commandes demandent dans le mini-tampon un nom de face et un nom de couleur, avec complétion, puis fait utiliser cette couleur à cette face.

Pour voir quelles faces sont actuellement définies, et à quoi elles ressemblent, tapez M-x list-faces-display. Il est possible pour une face donnée d'apparaître différemment dans différents cadres ; cette commande montre l'apparence dans le cadre depuis lequel vous lancez la commande. Voici une liste des faces définies en standard :

default

Cette face est utilisée pour le texte ordinaire n'utilisant aucune autre face.

mode-line

Cette face est utilisée pour les lignes de mode. Par défaut, elle est dessinée avec des ombres pour un effet "surélevé" sur les systèmes à fenêtrage, et dessinée comme l'inverse de la face par défaut sur les terminaux non fenêtrés. Section 13.12.

header-line

Similaire à mode-line pour une ligne d'entête de fenêtre. La plupart des modes n'utilisent pas de ligne d'entête, mais le mode Info l'utilise.

highlight

Cette face est utilisée pour mettre en surbrillance des portions de texte, dans divers modes. Par exemple, le texte sensible à la souris est mis en surbrillance en utilisant cette face.

isearch

Cette face est utilisée pour mettre en surbrillance les correspondances d'une recherche incrémentale (Isearch).

isearch-lazy-highlight-face

Cette face est utilisée pour mettre en surbrillance légère les correspondances d'une recherche incrémentale autres que celle en cours.

region

Cette face est utilisée pour afficher une région sélectionnée (lorsque le mode Marque Transitoire est actif--voir plus loin).

secondary-selection

Cette face est utilisée pour afficher une sélection X secondaire (Section 19.2).

bold

Cette face utilise une variante grasse de la police par défaut, s'il en existe une.

italic

Cette face utilise une variante italique de la police par défaut, s'il en existe une.

bold-italic

Cette face utilise une variante grasse italique de la police par défaut, s'il en existe une.

underline

Cette face souligne le texte.

fixed-pitch

La face à point fixe de base.

fringe

La face pour les bordures gauche et droite des fenêtres sur des affichages graphiques. (Les bordures sont les portions étroites du cadre Emacs entre la zone de texte et les bords du cadre.

scroll-bar

Cette face détermine l'apparence visuelle de la barre de défilement.

border

Cette face détermine la couleur du bord du cadre.

cursor

Cette face détermine la couleur du curseur.

mouse

Cette face détermine la couleur du pointeur de la souris.

tool-bar

C'est la face de base pour la barre d'outils. Aucun texte n'apparaît dans la barre d'outils, mais les couleurs de la face affectent l'apparence des icônes de la barre d'outils.

tooltip

Cette face est utilisée pour les tooltips.

menu

Cette face détermine les couleurs et la police des menus d'Emacs. Définir les polices des menus LessTif/Motif est pour l'instant non supporté ; les tentatives de définir la police sont ignorées dans ce cas.

trailing-whitespace

La face pour mettre en surbrillance les espaces à la traîne lorsque show-trailing-whitespace est non nil.

variable-pitch

La face à point variable de base.

Lorsque le mode de Marque Transitoire est actif, le texte de la région est mis en surbrillance lorsque la marque est active. Pour cela, la face region est utilisée ; vous pouvez contrôler le style de la surbrillance en changeant le style de cette face (Section 32.2.2.3). Section 11.2, pour plus d'informations sur le mode de Marque Transitoire et l'activation et désactivation de la marque.

Un moyen facile d'utiliser les faces est d'activer le mode Verrouillage de Police. Ce mode mineur, qui est toujours local à un tampon particulier, s'arrange pour choisir les faces selon la syntaxe du texte que vous éditez. Il peut reconnaître les commentaires et les chaînes dans la plupart des langages ; dans plusieurs langages, il peut aussi reconnaître et mettre correctement en surbrillance plusieurs autres constructions importantes. Section 13.2, pour plus d'informations sur le mode Verrouillage de Police et la mise en surbrillance syntaxique.

Vous pouvez imprimer le tampon avec la surbrillance qui apparaît sur l'écran en utilisant la commande ps-print-buffer-with-faces. Section 31.19.