菜单

字体家族指南

相关源文件

本指南提供了 Nerd Fonts 当前支持的所有字体家族的全面概述。它 catalog 了可用的字体及其关键属性,以帮助用户为他们的开发环境或其他用例选择最合适的字体。有关安装这些字体的信息,请参阅 安装 页面。

Nerd Fonts 中的字体家族组织

Nerd Fonts 将其修补字体组织成不同的字体家族。每个字体家族都基于一个原始的“未修补”字体,该字体已通过各种图标集增强了附加字形。该存储库目前支持 67 个不同的字体家族,每个家族都有多个变体。

字体修补过程

下图说明了原始字体如何转换为 Nerd Fonts

来源:readme.md190-204 bin/scripts/lib/fonts.json1-1118

字体变体

Nerd Fonts 中的每个字体家族都有多种变体可用

宽度变体

  • 等宽(固定宽度):所有字符的宽度相同,非常适合代码对齐
  • 比例(可变宽度):字符的宽度根据其形状而变化

字形集变体

字体变体可能包含以下图标集的不同组合

  • Font Awesome
  • Font Awesome Extension
  • Material Design Icons
  • 天气图标
  • GitHub Octicons
  • Font Logos (以前称为 Font Linux)
  • Powerline 额外符号
  • IEC Power Symbols
  • Pomicons
  • Codicons

样式和粗细变体

大多数字体包括常规、粗体、斜体和粗斜体变体,而有些字体则提供额外的粗细和样式。

来源:readme.md190-204

Nerd Fonts 命名约定

了解 Nerd Fonts 命名约定有助于识别字体的特定属性

来源:readme.md455-459 bin/scripts/lib/fonts.json1-1118

字体家族到代码库的映射

下图显示了字体家族概念如何映射到 Nerd Fonts 代码库中的实际文件和实体

来源:bin/scripts/lib/fonts.json1-1118 readme.md114-186

支持的字体家族

下表列出了 Nerd Fonts 当前支持的所有字体家族及其关键属性

字体名称原始字体版本RFN等宽描述
0xProto0xProto2.300一款专注于源代码可读性的编程字体
3270IBM 32703.0.1源自 x3270 字体,一种具有高度怀旧价值的字体现代格式
AgaveAgave37一种小型、等宽、轮廓清晰的字体,具有几何规则和简洁性
AnonymiceProAnonymous Pro1.002受 Macintosh 上 2009 年以来的 Anonymous 9 启发,区分 O, 0, I, l, 1
ArimoArimo1.33在度量上与 Arial 相似,全欧洲 WGL 字符集,无衬线
AtynsonMonoAtkinson Hyperlegible Mono2.001一种等宽字体,旨在提高低视力人群的可读性
AurulentSansMAurulent Sans Mono-无衬线,由 Stephen G. Hartke 设计,他还设计了 Verily Serif
BigBlueTermBigBlue Terminal-怀旧风格,紧密基于 IBM 的 8x14 EGA/VGA 字符集
BitstromWeraBitstream Vera Sans Mono1.1带点的零,紧凑的小写字符
BlexMonoIBM Plex Mono2.004它是全球性的、通用的、并且明显具有 IBM 风格
CaskaydiaCoveCascadia Code2407.24一款有趣的、新的等宽字体,为 Windows Terminal 提供了编程连字
CaskaydiaMonoCascadia Mono2407.24与 Cascadia Code 相似,但没有连字
CodeNewRomanCode New Roman2.0可调节,带斜杠的零,紧凑的较小字符
ComicShannsMonoComic Shanns Mono1.3.1自童年起您就受过训练要识别的字体
CommitMonoCommit Mono1.143一款匿名且中性的编程字体
CousineCousine1.211与 Courier New 相似,但可读性更好,带点的零
D2CodingLigatureD2Coding1.3.2一款为韩国人设计的编程字体。这是带连字的变体
DaddyTimeMonoDaddyTimeMono1.2.3一款专为程序员和其他终端爱好者设计的等宽字体
DepartureMonoDeparture Mono1.422一款具有低保真、科技感的等宽像素字体
DejaVuSansMDejaVu Sans Mono2.37带点的零,基于 Bitstream Vera Fonts,具有更广泛的字符集
DroidSansMDroid Sans Mono1.00-113适合小屏幕或字体大小
EnvyCodeREnvy Code R0.79完全可伸缩的等宽字体,专为编程和命令行设计
FantasqueSansMFantasque Sans Mono1.8.0“摇摆不定的手写体般的模糊感”,从 Inconsolata 和 Monaco 中汲取灵感
FiraCodeFira Code6.2编程连字,Fira Mono 字体的扩展,放大的运算符
FiraMonoFira3.206Mozilla 字体,带点的零
GeistMonoGeist Mono1.401代码编辑器、图表、终端的等宽字体
GoMonoGo Mono2.010专为 Go 项目创建
GohuFontGohu2.0位图字体,高大的大写字母和升部,小的衬线
HackHack3.003带点的零,短的降部,扩展了 Bitstream Vera 和 DejaVu 的工作成果
HasklugHasklig1.2等宽连字,使复合字形(例如 ->)更易读,尤其是在 Haskell 中
HeavyDataHeavy Data1新颖独特的设计,带点的零
HurmitHermit2.0符号从常用文本中脱颖而出
iMWritingiA Writer2018年12月IBM Plex 字体的深度修改
InconsolataInconsolata3.000带斜杠的零,从许多不同的字体和字形中汲取灵感
InconsolataGoInconsolataGo1.013Inconsolata 带直引号
Inconsolata LGCInconsolata LGC1.13Inconsolata 添加了西里尔字母
IntoneMonoIntel One Mono1.4.0一款富有表现力的等宽字体家族,注重清晰度和可读性
IosevkaIosevka33.2.1窄且水平紧凑的字符,带斜杠的零
IosevkaTermIosevka Term33.2.1更窄的变体,专注于终端用途
IosevkaTermSlabIosevka Term Slab33.2.1像 Iosevka 一样好,但带有厚重的衬线
JetBrainsMonoJetBrains Mono2.304JetBrains 为开发者官方创建的字体
LektonLekton34非常轻细的字符,尖锐的 m,0O 非常相似
LiterationMonoLiberation Mono2.1.50O 非常相似,降部非常短而紧凑
LilexLilex2.600现代风格,带连字
MartianMonoMartianMono1.1.0Evil Martians 提供的免费开源等宽字体
MesloLGMeslo LG1.21带斜杠的零,Apple Menlo 的定制版本
MonaspiceMonaspace1.200五种匹配的字体,都具有“纹理修复”功能以提高可读性
MonofurMonofur1.0带点的零,略微夸张的曲线字符,紧凑的字符
MonoidMonoid0.61连字,易于区分的字形,升部和降部短
MononokiMononoki1.6考虑到字符和分辨率尺寸的差异
M+MPlus1.007多种风格和字重,多种字形集(例如,假名字形)
NotoNotodiv0O 非常相似,字符要么非常弯曲,要么是直线
OpenDyslexicOpenDyslexic2.001专门设计用于减轻阅读障碍引起的阅读错误
OverpassOverpass3.0.5干净、可读、中性但友好的外观
ProFontProFont2.3, 2.2专为小尺寸编码设计,可读性极高
ProggyCleanProggyClean2004/04/15非常小但可读,屏幕空间利用率高
RecMonoRecursive Mono1.085可变字体,风格从休闲到严格
RobotoMonoRoboto Mono3.0谷歌的现代等宽字体,带轻微圆角
SauceCodeProSource Code Pro2.042Adobe 的开源等宽字体,专为代码设计
ShureTechMonoShare Tech Mono1.003现代科技风格,具有独特的字符形状
SpaceMonoSpace Mono1.001固定宽度设计,具有科技感和古怪的细节
TerminessTerminus TTF4.49.3非常清晰的位图风格字体,针对长时间编码进行了优化
TinosTinos1.23衬线字体,专为屏幕阅读设计,具有经典的比例
UbuntuUbuntu Font0.83现代、人文主义风格的字体,专为 Ubuntu OS 设计
UbuntuMonoUbuntu Font0.80Ubuntu 字体的等宽版本
UbuntuSansUbuntu Sans1.006Ubuntu 字体的无衬线版本
VictorMonoVictor Mono1.5.6干净、清晰的字体,带有草书斜体和编程连字
ZedMonoZed Mono1.2.0为代码优化的现代等宽字体,具有独特的字符形状

来源:readme.md114-186 bin/scripts/lib/fonts.json1-1118

理解字体属性

保留字体名称 (RFN)

  • RFN: 是 - 原始字体在其许可证中包含“保留字体名称”条款,这通常意味着为了符合许可证,必须重命名修补后的字体。
  • RFN: 否 - 原始字体不包含此限制,因此修补后的字体可以保留与原始字体更接近的名称。

等宽与比例

  • 等宽: 是 - 所有字符的宽度相同,这对于代码对齐是首选。
  • 等宽: 否 - 字符具有可变宽度,这可能更适合常规文本阅读。

版本

版本号是指修补原始字体的版本。这有助于跟踪兼容性和更新。

来源:readme.md188 bin/scripts/lib/fonts.json1-1118

字体选择指南

下图可以帮助您选择最适合您需求的字体

在为您的开发环境选择 Nerd Font 时,请考虑

  1. 可读性 - 选择清晰区分相似字符的字体(例如 O0, l1I
  2. 宽度 - 更窄的字体可以在屏幕上显示更多代码,但可能会降低可读性
  3. 字重 - 更轻的字体可以减轻长时间编码过程中的眼部疲劳
  4. 特殊功能 - 有些字体提供连字或其他特殊的编程功能
  5. 字符支持 - 如果您需要特定的语言支持,请检查字体是否包含这些字符

来源:readme.md190-204 bin/scripts/lib/fonts.json1-1118

字体家族类别

下图将字体家族组织成功能类别

来源:readme.md114-186 bin/scripts/lib/fonts.json1-1118

字体安装

有关如何在您的系统上安装这些字体的信息,请参阅 安装 指南。如果您想修补列表中未包含的自己的字体,请参阅 字体修补器 文档。

来源:readme.md205-412