请问一个有关 org-level 中文字体的问题

正常情况下, org-level 中文字体显示是正常的,当使用以下命令后

(add-hook 'org-mode-hook
		  (lambda ()
			(setq buffer-face-mode-face '(:family "Architects Daughter"))
			(buffer-face-mode)
			(set-fontset-font t 'han "SarasaMonoSC")
			(set-fontset-font t 'kana "SarasaMonoJ")
			(set-fontset-font t 'hangul "KoreanDOT")
			)
		  )

在 org-level 的中文字体就会部分显示不出,但内容部分可以正常显示。



请问,单独只改变 org buffer 的英文字体,应该如何正确设定才不会造成这样的问题?

可以参考注释 .emacs.d/lisp/init-setup.el at bf6d2955a6c2715f7a448ea3f606234ad559887c · LuciusChen/.emacs.d · GitHub

1 个赞

非常感谢提供参考。 :grin: 虽然没能通过参考的内容设置成预期效果,但通过参考改变了设置预期。
目前将 org-level 的 family 设置成不易产生显示问题的系统自带字体。同时,不再 add-hook 到 org-mod,改为快捷键触发更换英文字体。

  (dolist (face '((org-level-1 . 1.2)
				  (org-level-2 . 1.15)
				  (org-level-3 . 1.1)
				  (org-level-4 . 1.1)
				  (org-level-5 . 1.1)
				  (org-level-6 . 1.1)
				  (org-level-7 . 1.1)
				  (org-level-8 . 1.1)))
	(set-face-attribute (car face) nil :family (if (memq window-system '(w32 pgtk)) "微软雅黑" "WenQuanYi Zen Hei") :weight 'Bold :height (cdr face))
	)
;;
(if (boundp 'evil-mode)
	  (define-key evil-normal-state-map (kbd "SPC f a")
				  (lambda ()
					(interactive)
					(setq buffer-face-mode-face '(:family "Architects Daughter"))
					(buffer-face-mode)
					)
				  )
  )

暂时取得了可以接受的效果,能够正确显示中、英、日、韩 单独字体样式了。

请问能分享下你的这个截图中包含的emacs配置么?挺喜欢这个颜色主题和字体设置的。

主题: blove2014/blove-theme-emacs

字体:
英文类手写字体是 Architects Daughter Regular, https://fonts.gstatic.com/s/architectsdaughter/v18/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfY5q4szgE-Q.ttf
默认字体是 SauceCodePro Nerd Font ,nerd-fonts/patched-fonts/SourceCodePro at master · ryanoasis/nerd-fonts · GitHub
中、日字体是 “更纱黑体等宽”,这个网上很好找。
韩文字体是我自己 hack 的 KoreanPR

感谢分享