Jouer avec les définitions des jeux de polices d'Emacs devrait être la réponse.
Après avoir lu
Documents sur les jeux de polices :
Le jeu de polices de démarrage utilisera la police que vous spécifiez, ou une variante avec un registre et un codage différents, pour tous les caractères pris en charge par cette police, et se repliera sur «fontset-default» pour les autres caractères.
Si certains caractères apparaissent à l'écran sous forme de cases vides ou de codes hexadécimaux, cela signifie que le jeu de polices utilisé pour eux n'a pas de police pour ces caractères.
description de set-fontset-font :
CIBLE peut être un inconvénient; (FROM. TO), où FROM et TO sont des caractères. Dans ce cas, utilisez FONT-SPEC pour tous les caractères de la plage FROM et TO (inclus).
TARGET peut être un symbole de nom de script. Dans ce cas, utilisez FONT-SPEC pour tous les caractères appartenant au script.
TARGET peut être un jeu de caractères. Dans ce cas, utilisez FONT-SPEC pour tous les caractères du jeu de caractères.
CIBLE peut être nul. Dans ce cas, utilisez FONT-SPEC pour tous les caractères pour lesquels aucun FONT-SPEC n'est spécifié.
documents sur la vérification des jeux de caractères :
Il existe deux commandes qui peuvent être utilisées pour obtenir des informations sur les jeux de caractères. La commande Mx list-charset-chars demande un nom de jeu de caractères et affiche tous les caractères de ce jeu de caractères. La commande Mx describe-character-set demande un nom de jeu de caractères et affiche des informations sur ce jeu de caractères, y compris sa représentation interne dans Emacs.
Pour savoir à quel jeu de caractères appartient un caractère dans le tampon, placez-le avant et tapez Cu Cx =
Dans notre fichier init, nous devrions pouvoir définir une police pour une gamme complète de caractères:
(let ((my-font "DejaVu Sans Mono-14"))
(set-fontset-font "fontset-startup" '(#x000000 . #x3FFFFF) my-font)
(set-fontset-font "fontset-default" '(#x000000 . #x3FFFFF) my-font)
(set-fontset-font "fontset-standard" '(#x000000 . #x3FFFFF) my-font))
Mais pour définir une police pour une plage de caractères et la forcer en tant que police de remplacement pour les caractères non pris en charge, nous devons également ajouter nil
comme cible:
(let ((my-font "DejaVu Sans Mono-14")
(font-sets '("fontset-default"
"fontset-standard"
"fontset-startup")))
(mapcar
(lambda (font-set)
;; all the characters in that range (which is the full possible range)
(set-fontset-font font-set '(#x000000 . #x3FFFFF) my-font)
;; for all characters without font specification
;; in another words it is a setting for lack of fallback font
;; if e.g. ℕ called DOUBLE-STRUCK CAPITAL N is not covered by our font
;; it will be displayed as placeholder-box,
;; because fallback for our font is now... our font :)
(set-fontset-font font-set nil my-font))
font-sets))
Maintenant, comme nous pouvons le voir sous le point (curseur) avec C-u C-x =
ou M-x describe-char
:
position: 1430 of 1954 (73%), column: 16
character: ℕ (displayed as ℕ) (codepoint 8469, #o20425, #x2115)
preferred charset: unicode (Unicode (ISO10646))
code point in charset: 0x2115
script: symbol
syntax: w which means: word
category: .:Base, L:Left-to-right (strong)
to input: type "C-x 8 RET HEX-CODEPOINT" or "C-x 8 RET NAME"
buffer code: #xE2 #x84 #x95
file code: #xE2 #x84 #x95 (encoded by coding system utf-8-unix)
display: no font available
Character code properties: customize what to show
name: DOUBLE-STRUCK CAPITAL N
old-name: DOUBLE-STRUCK N
general-category: Lu (Letter, Uppercase)
decomposition: (font 78) (font 'N')
Partie importante: affichage: aucune police disponible .
Il devrait être possible de définir cela dans notre fichier .Xresources :
Avec la ressource X 'Emacs.Font', vous pouvez spécifier un nom de jeu de polices comme un vrai nom de police.
Cependant, je ne sais pas quelle est la syntaxe appropriée.
Avant ce changement, j'ai pu voir beaucoup de glyphes Unicode non pris en charge par la police de mon choix. Après ce changement - je ne peux voir qu'une seule police dans mes Emacs et des cases vides-espaces réservés pour les glyphes non pris en charge par celui-ci.
Cela fonctionne dans mon système et devrait être suffisant pour le moment avant que quelqu'un d'autre ne vous donne une réponse détaillée, technique et correcte .
(set-fontset-font t nil MY-FONT)
oùMY-FONT
est le nom de votre police?