不管 profile 里设置的是什么字体,英文字母的字体都是 Helvetica ,期望的字体是 LXGW WenKai Mono 。别的任何 mode (包括把当前的 org buffer 切换为别的 major mode )、 mini buffer 、 tab 的字体都是正常的。
不太知道怎么 debug ,我的感觉是因为某些原因 fallback 到了这个字体,但我没有 debug 的头绪,还请论坛里的大佬帮帮忙。
不管 profile 里设置的是什么字体,英文字母的字体都是 Helvetica ,期望的字体是 LXGW WenKai Mono 。别的任何 mode (包括把当前的 org buffer 切换为别的 major mode )、 mini buffer 、 tab 的字体都是正常的。
不太知道怎么 debug ,我的感觉是因为某些原因 fallback 到了这个字体,但我没有 debug 的头绪,还请论坛里的大佬帮帮忙。
Debug可以将光标移动至Helvetica的字体然后M-x describe-face
查看信息。
可能是fixed-pitch
和variable-pitch
没设置好。
十分感谢回复!
因为我还是Emacs新手,对字体也不太了解,经过你提供的思路和一些尝试,我发现似乎是 minor mode 不对引起的。具体来说是 Buffer-Face mode
。当我 M-x variable-pitch-mode
之后一切显示就正常了( Buffer-Face mode
关闭了)。
经过检查配置发现是以下配置的问题:
(add-hook 'org-mode-hook
(lambda ()
(variable-pitch-mode 1))
这也就解释了为什么只有org-mode有问题。
但我 还有个问题 是,似乎默认应该是启用 variable-pitch-mode
的,当禁用 variable-pitch-mode
时才会启用 Buffer-Face mode
,按照我的理解,这个配置应该会启用 variable-pitch-mode
才对,为什么反而导致其禁用了呢?
variable-pitch-mode
不是默认启用的,这个mode应该是开启使用variable-pitch
这个face的buffer face mode,会让Buffer中的所有文字用variable-pitch
设置的字体。
所以实际上我正常工作的情况是关闭 buffer-face mode
,因为启用了 variable-pitch-mode
所以启用了 buffer-face mode
,从而导致了问题。因为我使用cnfonts配置的字体,所以可能会有一些冲突(我也是猜测)。