Jugar con las definiciones de conjuntos de fuentes de Emacs debería ser la respuesta.
Despues de leer
Documentos de conjuntos de fuentes :
El conjunto de fuentes de inicio utilizará la fuente que especifique, o una variante con un registro y una codificación diferentes, para todos los caracteres que son compatibles con esa fuente, y recurrirá a 'fontset-default' para otros caracteres.
Si algunos caracteres aparecen en la pantalla como cuadros vacíos o códigos hexadecimales, esto significa que el conjunto de fuentes en uso para ellos no tiene fuente para esos caracteres.
descripción de set-fontset-font :
OBJETIVO puede ser una desventaja; (FROM. TO), donde FROM y TO son caracteres. En ese caso, use FONT-SPEC para todos los caracteres en el rango FROM y TO (inclusive).
TARGET puede ser un símbolo de nombre de script. En ese caso, use FONT-SPEC para todos los caracteres que pertenecen al script.
OBJETIVO puede ser un juego de caracteres. En ese caso, use FONT-SPEC para todos los caracteres en el juego de caracteres.
OBJETIVO puede ser nulo. En ese caso, use FONT-SPEC para cualquier carácter para el que no se especifique FONT-SPEC.
documentos sobre la comprobación de charsets :
Hay dos comandos que se pueden usar para obtener información sobre charsets. El comando Mx list-charset-chars solicita un nombre de conjunto de caracteres y muestra todos los caracteres de ese conjunto de caracteres. El comando Mx describe-character-set solicita un nombre de conjunto de caracteres y muestra información sobre ese conjunto de caracteres, incluida su representación interna dentro de Emacs.
Para averiguar a qué conjunto de caracteres pertenece un carácter en el búfer, ponga el punto antes y escriba Cu Cx =
En nuestro archivo init deberíamos poder configurar una fuente para la gama completa de caracteres:
(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))
Pero para establecer una fuente para un rango de caracteres y forzarla como una fuente alternativa para los caracteres no admitidos por ella , también debemos agregar nil
como destino:
(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))
Ahora, como podemos ver debajo del punto (cursor) con C-u C-x =
o 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')
Parte importante: pantalla: no hay fuente disponible .
Debería ser posible configurar eso en nuestro archivo .Xresources :
Con el recurso X 'Emacs.Font', puede especificar un nombre de conjunto de fuentes como un nombre de fuente real.
Sin embargo, no sé cuál es una sintaxis adecuada para eso.
Antes de ese cambio, pude ver muchos glifos Unicode no admitidos por mi fuente de elección. Después de ese cambio, solo puedo ver una fuente en mis Emacs y casillas vacías para marcadores de posición para glifos que no son compatibles.
Funciona en mi sistema y debería ser suficiente por ahora antes de que otra persona le dé una respuesta detallada, técnica y correcta .
(set-fontset-font t nil MY-FONT)
dóndeMY-FONT
está el nombre de tu fuente?