我想根据emacs中的major mode和charset来设置字体,例如,当我打开一个org文件时,我希望看到ASCII字符以“Consolas”字体显示,中文或日文字符以“字体”显示微软雅黑”。
目前我使用一种称为次要模式的方法buffer-face-mode
,可以使字体更改与主要模式相对应:
(add-hook 'org-mode-hook (lambda ()
(setq buffer-face-mode-face '(:font "Consolas-10.5"))
(buffer-face-mode)))
我查看了此页面,但似乎没有任何可以设置或更改的面部字符集属性,因此我无法继续根据不同的字符集设置字体。
而且我知道还有另一个函数set-fontset-font
可以根据字符集设置字体,但它只能应用于帧,不能应用于缓冲区或模式。
那么,有没有办法将不同的字体设置为不同的字符集buffer-face-mode
,或者有一种解决方法来实现我的原始请求?
提前致谢,
开尔文