编程字体后缀全解析:从 Mono、Ligatured 到 FC 的技术含义与应用场景
Contents
日常开发里很容易看到类似 JetBrains Mono、Fira Code Ligatured、Hack Nerd Font Mono FC 的字体名。后缀通常不是“营销词”,而是在告诉你:这款字体的行为/变体/面向平台是什么。
下面按“你最可能遇到的后缀”做一份速查表。
常见后缀速查
Mono(等宽)
等宽字体把所有字符(含空格)渲染为相同宽度,代码缩进与表格对齐会更稳定。
- 常见场景:代码编辑器、终端输出(例如
ls -l对齐) - 例子:
Consolas、Hack Nerd Font Mono
Ligatured / Lig(连字)
连字会把 =>、!=、<= 等符号组合渲染成“看起来更顺眼”的单个字形,本质是 OpenType 的 GSUB 字形替换。
- 编辑器要求:需要启用连字渲染,例如 VS Code:
"editor.fontLigatures": true - 例子:
Fira Code(连字代表作);JetBrains Mono(很多发行版默认支持连字,不一定写在名字里)
NL(No Ligature,无连字)
表示该变体强制不启用连字。适合不想要连字,或所在终端/IDE 不方便单独关连字的情况。
- 例子:
MesloLGS NF NL
Prop / Propo(比例字体)
比例字体按字形“自然宽度”渲染,读起来可能更像正文排版,但代码对齐通常会变差。
- 慎用场景:代码编辑(缩进对齐容易崩)
- 例外:有些字体会用中英文 2:1 等比例“伪等宽”(例如
Maple Mono Propo)
FC(Fontconfig)
通常表示面向 Linux 的 Fontconfig/字体渲染链路做过适配(包含渲染参数、字形优先级等)。
- 例子:
WenQuanYi Micro Hei FC
SSm / ScreenSmart(小字号清晰度优化)
多见于一些商业字体变体,强调在低分辨率或小字号(例如 9–12px)下更清晰,本质是 hinting 与像素网格对齐策略不同。
- 例子:
Operator Mono ScreenSmart
DZ / SZ(数字 0 样式)
用于区分数字 0 与字母 O:
- DZ:点零(0 中心有点)
- SZ:斜杠零(0 带斜杠)
LG / M / S(行距)
同一字体的不同 line height 变体,影响“看起来松/紧”:
- L:大行距
- M:中等行距
- S:小行距(更紧凑)
例子:MesloLGL NF(大行距)、MesloLGS NF(小行距)
文件格式与字符集
文件格式
| 后缀 | 格式 | 典型使用场景 |
|---|---|---|
.ttf |
TrueType | 跨平台通用(Windows/macOS) |
.otf |
OpenType | 更偏排版与高级 OpenType 特性 |
.woff2 |
Web Open Font | 网页字体(压缩率更高) |
字符集标识
- PRO:扩展字符集(希腊字母、音标、货币符号等更全)
- STD:基础字符集(更“轻”,覆盖更少)