Emacs 字体设置的种种: Difference between revisions
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
在 GUI 系统中,Emacs 自行决定字族、字号、粗体斜体、中文字体、Emoji 符号、回退链。在 TUI 系统中,由各桌面决定字体相关。 | 在 GUI 系统中,Emacs 自行决定字族、字号、粗体斜体、中文字体、Emoji 符号、回退链。在 TUI 系统中,由各桌面决定字体相关。 | ||
== | == 总览 == | ||
字体设置极简总览: | |||
<syntaxhighlight lang="elisp" line> | |||
;; 统一控制总体大小 | |||
(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) | |||
</syntaxhighlight> | |||
查看字体是否安装,可以 M-x eval-expression 执行 | |||
<syntaxhighlight lang="elisp" line> | |||
;; 字体查找,能找到就有,找不着就 nil | |||
(find-font | |||
(font-spec :family "DejaVu Sans Mono")) | |||
;; 查找实际使用的英文字体 | |||
(face-font 'default nil ?A) | |||
;; 查找实际使用的中文字体 | |||
(face-font 'default nil ?中) | |||
</syntaxhighlight> | |||
== 核心 == | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ face 层。颜值 | |+ face 层。颜值 | ||
| Line 36: | Line 65: | ||
|fontset 中的 <code>symbol</code> 或具体字符范围 | |fontset 中的 <code>symbol</code> 或具体字符范围 | ||
|} | |} | ||
== 细节 == | |||
* default face 设置西文基础字体 | * default face 设置西文基础字体 | ||
* fontset 设置中文等非拉丁字符 | * fontset 设置中文等非拉丁字符 | ||
| Line 43: | Line 74: | ||
* Org 写作用可选比例字体 | * Org 写作用可选比例字体 | ||
* pixelsize 依赖 DPI 和屏幕缩放比例,用 :height 可以表达更稳定的排版字号概念 | * pixelsize 依赖 DPI 和屏幕缩放比例,用 :height 可以表达更稳定的排版字号概念 | ||
* default 用 160 这种绝对整数;其他用 1.0 1.1 这种相对比例 | |||
Revision as of 20:26, 14 July 2026
在 GUI 系统中,Emacs 自行决定字族、字号、粗体斜体、中文字体、Emoji 符号、回退链。在 TUI 系统中,由各桌面决定字体相关。
总览
字体设置极简总览:
;; 统一控制总体大小
(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 ?中)
核心
| face | 职责 |
|---|---|
default
|
普通文本的基础,也是编程环境的默认字体 |
fixed-pitch
|
明确要求等宽的内容,如代码、表格、代码块 |
variable-pitch
|
适合文章阅读的比例字体 |
variable-pitch-text
|
与 variable-pitch 类似,但默认稍大,更适合长文
|
| 字符类别 | 一般由谁决定 |
|---|---|
| 英文、数字、普通标点 | default、fixed-pitch、variable-pitch 的字体家族
|
| 汉字 | fontset 中的 han
|
| Emoji | fontset 中的 emoji
|
| 特殊符号 | fontset 中的 symbol 或具体字符范围
|
细节
- default face 设置西文基础字体
- fontset 设置中文等非拉丁字符
- append 表示备用,prepend 表示优先
- 建议编程用等宽字体
- 建议阅读用衬线字体
- Org 写作用可选比例字体
- pixelsize 依赖 DPI 和屏幕缩放比例,用 :height 可以表达更稳定的排版字号概念
- default 用 160 这种绝对整数;其他用 1.0 1.1 这种相对比例