Das Spielen mit den Schriftartendefinitionen von Emacs sollte die Antwort sein.
Nach dem Lesen
In unserer Init-Datei sollten wir in der Lage sein, eine Schriftart für den gesamten Zeichenbereich festzulegen:
(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))
Um eine Schriftart für eine Reihe von Zeichen festzulegen und als Fallback-Schriftart für Zeichen zu erzwingen, die nicht von ihr unterstützt werden, müssen wir außerdem Folgendes nil
als Ziel hinzufügen :
(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))
Nun, wie wir unter Punkt (Cursor) mit C-u C-x =
oder sehen können 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')
Wichtiger Teil: Anzeige: Keine Schriftart verfügbar .
Es sollte möglich sein, dies in unserer .Xresources- Datei festzulegen :
Mit der X-Ressource 'Emacs.Font' können Sie einen Schriftartennamen genau wie einen tatsächlichen Schriftnamen angeben.
Ich weiß allerdings nicht, was eine richtige Syntax dafür ist.
Vor dieser Änderung konnte ich viele Unicode-Glyphen sehen, die von der Schriftart meiner Wahl nicht unterstützt wurden. Nach dieser Änderung kann ich in meinen Emacs nur eine Schriftart und leere Platzhalter für Glyphen sehen, die von dieser nicht unterstützt werden.
Es funktioniert in meinem System und sollte vorerst ausreichen, bevor Ihnen jemand anderes eine detaillierte, technische und korrekte Antwort gibt .
(set-fontset-font t nil MY-FONT)
woMY-FONT
ist der Name Ihrer Schrift?