Contents

编程字体后缀全解析:从 Mono、Ligatured 到 FC 的技术含义与应用场景

日常开发里很容易看到类似 JetBrains MonoFira Code LigaturedHack Nerd Font Mono FC 的字体名。后缀通常不是“营销词”,而是在告诉你:这款字体的行为/变体/面向平台是什么。

下面按“你最可能遇到的后缀”做一份速查表。

Mono(等宽)

等宽字体把所有字符(含空格)渲染为相同宽度,代码缩进与表格对齐会更稳定。

  • 常见场景:代码编辑器、终端输出(例如 ls -l 对齐)
  • 例子ConsolasHack 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:基础字符集(更“轻”,覆盖更少)