Emacs 字体设置的种种
在 GUI 系统中,Emacs 自行决定字族、字号、粗体斜体、中文字体、Emoji 符号、回退链。在 TUI 系统中,由各桌面决定字体相关。
基础知识
- default face 设置西文基础字体
- fontset 设置中文等非拉丁字符
- append 表示备用,prepend 表示优先
- 建议编程用等宽字体
- 建议阅读用衬线字体
- Org 写作用可选比例字体
- pixelsize 依赖 DPI 和屏幕缩放比例,用 :height 可以表达更稳定的排版字号概念
字体设置极简总览:
;; 统一控制总体大小
(set-face-attribute 'default nil :height 160)
;; 中文只指定家族,让 Emacs 根据总体大小匹配
(set-fontset-font "fontset-default" 'han
(font-spec :family "Noto Sans CJK SC"))
(set-fontset-font t 'han
(font-spec :family "WenQuanYi Zen Hei")
nil
'append)
查看字体是否安装,可以 M-x eval-expression 执行
;; 字体查找,能找到就有,找不着就 nil
(find-font
(font-spec :family "DejaVu Sans Mono"))
;; 查找实际使用的英文字体
(face-font 'default nil ?A)
;; 查找实际使用的中文字体
(face-font 'default nil ?中)