问题已更新,重述如下:
Spacemacs在windows系统中默认使用MS Gothic和Lucida Sans两款字体作为默认fallback字体,
本人在.spacemacs
中加入了如下命令:
(set-fontset-font "fontset-default" '(#x20a0 . #x2a3b)
(font-spec :family "Noto Sans Symbols"
:size 14) nil 'prepend)
但是尝试输入一些符号,会得到如下结果:
前三行的字体都落在(#x20a0 . #x2a3b)
的区间内,Consolas会直接fallback到MS Gothic上,更奇葩的是#x2200
居然fallback到了Adobe Myungjo上。经过实验,只有(#x20a0 . #x214F) (#x2190 . #x2b59)
区间内的字体会 fallback 到 MS Gothic 其他区间都会采用 Noto Sans Symbols 。
Noto Sans Symbols 字符所处在的Unicode区间为:
(#x20a0 . #x214F)
(#x2190 . #x2b59)
(#x2E00 . #x2E3B)
(#x4dc0 . #x4dff)
(#xa700 . #xa71f)
(#x10100 . #x101fd)
(#x1d000 . #x1d7ff)
(#x1f000 . #x1f251)
(#x1f700 . #x1F773)
其他区间都有效,只有上文所述的那两个区间内的字体有问题,如果有办法设置该区间内的字体,请指教,感谢!
附上本人.spacemacs
中有关字体的设置:
;; In (defun dotspacemacs/layers ()
;; ...
dotspacemacs-default-font '("Consolas"
:size 12
:weight normal
:width normal
:powerline-scale 1.2)
;; ...)
;; In (defun dotspacemacs/user-init ()
(spacemacs//set-monospaced-font "Consolas" "Noto Sans Mono CJK SC Regular" 12 14)
(dolist (charset '((#x20a0 . #x214F) (#x2190 . #x2b59) (#x2E00 . #x2E3B) (#x4dc0 . #x4dff) (#xa700 . #xa71f) (#x10100 . #x101fd) (#x1d000 . #x1d7ff) (#x1f000 . #x1f251) (#x1f700 . #x1F773)))
(set-fontset-font t charset
(font-spec :family "Noto Sans Symbols") nil 'prepend))
;; ...)