Chơi với các định nghĩa phông chữ của Emacs nên là câu trả lời.
Sau khi đọc
Trong tệp init của chúng tôi, chúng tôi sẽ có thể đặt một phông chữ cho đầy đủ các ký tự:
(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))
Nhưng để đặt phông chữ cho một phạm vi ký tự và buộc nó là phông chữ dự phòng cho các ký tự không được hỗ trợ, chúng ta cũng phải thêm nil
làm mục tiêu:
(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))
Bây giờ như chúng ta có thể thấy dưới điểm (con trỏ) với C-u C-x =
hoặc 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')
Phần quan trọng: hiển thị: không có phông chữ .
Có thể đặt nó trong tệp .Xresource của chúng tôi :
Với tài nguyên X 'Emacs.Font', bạn có thể chỉ định tên phông chữ giống như tên phông chữ thực tế.
Tôi không biết thế nào là một cú pháp thích hợp cho điều đó.
Trước sự thay đổi đó, tôi đã có thể thấy rất nhiều glyph unicode không được hỗ trợ bởi phông chữ mà tôi chọn. Sau thay đổi đó - tôi chỉ có thể thấy một phông chữ trong Emacs và hộp giữ chỗ trống cho glyphs không được hỗ trợ bởi nó.
Nó hoạt động trong hệ thống của tôi và bây giờ là đủ trước khi người khác cung cấp cho bạn câu trả lời chi tiết, kỹ thuật và chính xác .
(set-fontset-font t nil MY-FONT)
màMY-FONT
là tên của phông chữ của bạn?