emacs 单独设置 buffer 字体问题

我是用霞鹜+iosevka 的时候,可以让 org-mode 中的 table 对齐的,C-c C-c 是可以格式化 table 使之全部对齐的。

但我想用其他的字体,所以抄了懒猫的代码,单独设置 org-mode 的字体为 iosevka,这样确实能让 org-mode 用 iosevka,也能让已经格式化的 table 对齐,但是在 table 上 C-c C-c 的时候反而会让表格全部乱掉,不对齐了。

(defun +buffer-face-mode-variable ()
  (interactive)
  (make-face 'width-font-face)
  (set-face-attribute 'width-font-face nil :font "Iosevka 14")
  (setq buffer-face-mode-face 'width-font-face)
  (buffer-face-mode))
(add-hook 'org-mode-hook '+buffer-face-mode-variable)

解决了,发现表格内的字体并不是完全与 org-mode 一致,额外加一行设置表格字体就好了。

(set-face-attribute 'org-table nil :family "Iosevka")