Spacemacs 怎么单独设置中文的字体

Spacemacs 怎么单独设置中文的字体?

1赞

如果不依赖Chinese layer,可以直接使用下面的代码

(dolist (charset '(kana han cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font) charset
                    (font-spec :family "微软雅黑" :size 20)))
9赞

很有用,非常感谢。

好像即使当前buffer没有中文,别的buffer有,也会导致卡,今天设了字体之后一切如丝般顺滑:laughing:

如果不想折腾字体, 可以试试我的 chinese-fonts-setup 包: https://github.com/tumashu/chinese-fonts-setup 傻瓜型的包,有漂亮的UI,可以实现中英文等宽,强力推荐(老王卖瓜)。。。

2赞

用了之后咋又变成了英文的字体了,再次导致很卡。

我是在windows环境下,系统里面有微软雅黑字体。你检查一下是否有该字体,如果没有,安装上微软雅黑,或者设置成其他的中文字体。

原谅我挖坟,但是光是

(dolist (charset '(kana han cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font) charset
                    (font-spec :family "微软雅黑" :size 20)))

怕是无效吧。要想不报错至少外面要加一层图形界面的判断

  (when (display-graphic-p)
   (dolist (charset '(kana han cjk-misc bopomofo))
     (set-fontset-font (frame-parameter nil 'font) charset
                       (font-spec :family "PingFang SC" :size 20))))

这样报错信息没有了,但是仍然不会生效,因为中文字体被Spacemacs 的英文字体覆盖了。

我是通过把上面的东西包装进函数,手动调用的,不知道大家有什么好的办法?也没找到合适的hook

既然你选择了 spacemacs, 就要容忍他的大家长模式。。。。。good luck

1赞

我把这段放在user-config里面一切正常

可能版本问题吧,后来我放在 spacemacs|do-after-display-system-init 里面,完美解决了