字体命名后缀解释
NF
NF: Nerd Fonts
Nerd Fonts 是一个开源项目,它提供了一系列专门为开发者和终端用户设计的字体,它们包含大量的字形和符号。这些图体内置了图标集合,如 Powerline、FontAwesome、Devicons、Octicons、Material Design Icons 等,使得用户能够在代码编辑器、终端或其他开发工具中轻松地使用图标。
PL
PL: Powerline
一个嵌入了 Powerline 符号的字体版本,如 Cascadia Code PL。
PL 和 NF 的关系:NF 是 PL 的超集,NF 包含了 PL。
Mono
Mono: Monospace(等宽字体)
-
一个字体的 Mono 变体提供该字体的没有连字功能的版本,如 Cascadia Mono。相比于 Cascadia Code,Cascadia Mono 是 Cascadia Code 字体家族中的非连字版本,适用于不需要或不想使用连字的场景。
-
对于 Nerd Fonts 来说,Mono 表示 Nerd Fonts 的字形将是等宽的,但并不意味着整个字体都是等宽的。由于某些原因,一些终端可能只能显示等宽字体,这时一个字体的 Mono 版本就很好用。比如说,对于 Meslo 字体家族在 Windows Terminal 以及 Visual Studio Code 内置终端上的显示情况,当终端字体设置为
MesloLGM Nerd Font
时,字体中的图标字型会宽于正常文本。当我们把终端字体设置为MesloLGM Nerd Font Mono
时,图标字型就和正常文本一样宽了。因此在终端上最好使用MesloLGM Nerd Font Mono
。 -
字体设置为
MesloLGM Nerd Font
时的情况:
- 字体设置为
MesloLGM Nerd Font Mono
时的情况:
Prop
Proportion(比例)
如果你在比例环境中工作(GUI 元素或编辑演示文稿等),请选择具有 Nerd Font Propo(或 NFP)的字体。
参考 nerd-fonts/patched-fonts
/Meslo
Script
Script: 手写体
一个字体的 Script Variant(手写变体)指的是模仿手写或书法风格的字体。一般来说 Script Variant 应用于一个字体的斜体版本,使得该字体的斜体看起来像手写的一样,增加一定的趣味性。
例:Monolisa 字体的正常斜体和手写变体的比较
斜体:
手写体:
NL
NL: No Ligature(无连字)
提供一个字体的无连字功能的版本。某些文本编辑器不支持手动关闭字体的连字功能,这时可以使用该字体的 NL 版本。
LG, L, M, S, DZ, SZ
LG - Line Gap 行距
L - Large 大
M - Medium 中等
S - Small S - 小
以 Meslo 字体为例,MesloLGL 表示 Meslo 字体的大行距版本, MesloLGM 表示 Meslo 字体的中等行距版本,而 MesloLGS 表示 Meslo 字体的小行距版本。
DZ - Dotted Zero 点零(0 的中间是点号,而不是斜杠)
SZ - Slashed Zero 斜杠零
如 MesloLGMDZ 就表示 Meslo 字体的中等行距、使用点零的版本。(而 MesloLGM 则使用斜杠零)
点零:
斜杠零:
Lig
Lig: Ligature(连字)
有连字,提供一个字体的有连字功能的版本
SSm
SSm: ScreenSmart
指一系列为屏幕显示而优化的字体。如 Hoefler & Co. 字体公司的 Operator ScreenSmart 字体,该字体是 Operator 字体针对网页使用的屏幕优化版本,可在小至九磅字体大小的文本中使用。
Operator ScreenSmart 和 Operator Mono ScreenSmart 是专为屏幕设计的改编字体,并可在网页上使用。为了确保在像素尺寸小至九个像素的屏幕上出色地呈现,我们仔细调整了字体的适应性、颜色和比例,并精心安排了它们权重的变化,使每种样式都与其邻近者明显不同。就像所有 ScreenSmart 字体一样,他们配备有一套详细指示称为“hints”,这些 hints 告诉它们的轮廓如何适应不同点大小的像素网格,以确保字体始终保持其易读性和个性。
Display
Display 字体用于在大字号情况下提供更好的视觉效果。它缩短了字间距,以便在相同大小的区域内显示更多文本。Display 字体的例子如苹果公司设计的 SF Pro 和 SF Pro Display。
附:可变字体与静态字体的区别
可变字体(Variable fonts)是 OpenType 字体规范上的演进,它允许将同一字体的多个变体统合进单独的字体文件中。从而无需再将不同字宽、字重或不同样式的字体分割成不同的字体文件。
标准(静态)字体
过去,一个字体家族往往由大量独立字体文件组成,每个字体文件都代表某一特定的宽度/字重/样式的组合。因此你会看到有单独的字体文件叫做“Roboto Regular”、“Roboto Bold”,或是“Roboto Bold Italic”——这意味着你可能需要 20 或 30 个不同的字体文件才能算是有了一整个字体家族(对于有着不同宽度的大型字体来说,这个数量还要翻上几倍)。
在这样的情景下,为了在一个单纯显示进行正文展示的页面中使用一个字体,你至少需要四个字体文件:常规、斜体、加粗、斜体加粗。如果你想添加更多的字重,比如让题注更轻或让额外强调的地方更重,意味着你需要更多文件。这就导致了更多大量 HTTP 请求的产生,同时也需要下载更多的数据(通常每个文件至少有 20k 或更多)。
可变字体
通过使用可变字体,所有这些情况的排列组合都可以被装进一个文件中。这个文件可能比常规的单个字体文件大一些。但通常情况下,都不会大于,并且常常是小于你因为要展示正文所需要下载的四个文件的尺寸总和。使用可变字体的优势是你可以直接使用所有可用的字重、宽度和样式的字体,而不必像过去一样仅仅受限于使用其中单独的某一种。
这允许使用常见的排版技术,例如在不同的字重中设置不同大小的标题,以便在每种大小下都具有更好的可读性,或者在数据密集展示时使用稍窄一点的字体宽度。相比之下,在杂志的印刷系统中,在整个出版物中使用 10-15 种或更多不同的字重和宽度组合是很典型的——这比目前在 web 上的典型样式提供了更广泛的样式范围 (或者仅从性能方面考虑确实很实用)。