本页面详细介绍了 Nerd Fonts 中包含的各种图标集,以及它们如何集成到修补字体中。Nerd Fonts 集成了 Devicons、Font Awesome、Material Design Icons 等多个图标集,以提供全面的编程和开发相关字形集合。有关字形定义结构的详细信息,请参阅字形定义。
Nerd Fonts 集成了多个图标集,每个图标集都提供针对特定用例的不同类型的字形。下图展示了项目中包含的主要图标集
来源:bin/scripts/lib/i_dev.sh1-517
Nerd Fonts 中的每个图标集都遵循特定的集成过程。下图说明了图标集(以 Devicons 为例)如何被处理并集成到 Nerd Fonts 中
来源:src/glyphs/devicons/generate1-141 src/glyphs/devicons/analyze1-160
Devicons 是 Nerd Fonts 中的主要图标集之一,提供编程语言、框架和开发工具图标。它来源于 Devicons project 并被 Nerd Fonts 采用。
Devicons 在 Nerd Fonts 中的集成涉及以下几个步骤
该过程通过 src/glyphs/devicons/ 目录中的脚本实现自动化。
来源:src/glyphs/devicons/generate1-141 src/glyphs/devicons/analyze1-160 src/glyphs/devicons/mapping1-10
Devicons 映射文件遵循特定的格式,用于将原始图标代码点映射到 Nerd Fonts 代码点
DEV-code NF-code filename name [alias [...]]
其中
DEV-code:Devicons 字体中的原始代码点NF-code:Nerd Fonts 中分配的代码点filename:SVG 文件的路径name:图标的主名称alias:图标的可选别名映射文件示例
E602 E702 git/git-plain.svg git
E609 E709 github/github-original.svg github github_badge
来源:src/glyphs/devicons/mapping1-10
生成的 shell 脚本 (i_dev.sh) 通过以 i_dev_ 为前缀的变量提供对 Devicons 字形的轻松访问。此脚本用于终端应用程序中,无需直接输入代码点即可显示图标。
以下是 i_dev.sh 中定义的 shell 变量示例
| 可变 | 字形 | 描述 |
|---|---|---|
i_dev_git | '' | Git 图标 |
i_dev_github | '' | GitHub 图标 |
i_dev_nodejs | '' | Node.js 图标 |
i_dev_python | '' | Python 图标 |
i_dev_ruby | '' | Ruby 图标 |
i_dev_angular | '' | Angular 图标 |
i_dev_react | '' | React 图标 |
来源:bin/scripts/lib/i_dev.sh8-516
某些图标集需要定制才能在 Nerd Fonts 中正常工作。这包括:
下表显示了 Devicons 集中定制图标的示例
| 图标 | 原始文件 | 修复文件 | 修复原因 |
|---|---|---|---|
| Nginx | nginx/nginx-plain.svg | fixed/nginx-plain.svg | 提高清晰度或兼容性 |
| AWK | (无) | fixed/awk-plain.svg | 作为自定义图标添加 |
来源:src/glyphs/devicons/fixed/nginx-plain.svg1-2 src/glyphs/devicons/analyze22-41
Nerd Fonts 中的每个图标集都被分配了一个特定的 Unicode 代码点范围,以避免不同集之间的冲突。对于 Devicons,代码点范围从 E700 到 E8EF。
来源:bin/scripts/lib/i_dev.sh3-4 src/glyphs/devicons/generate15-16
图标集的字体生成过程涉及以下几个关键步骤
Devicons 生成过程摘录
来源:src/glyphs/devicons/generate35-51 src/glyphs/devicons/generate98-126
Nerd Fonts 中包含的图标集可以通过多种方式使用
\uE702)$i_dev_git)来源:bin/scripts/lib/i_dev.sh8-516
Nerd Fonts 中的每个图标集都根据其上游来源进行版本控制。例如,Nerd Fonts 中的 Devicons 基于原始 Devicons 项目的 v2.16.0 版本。
版本信息包含在生成的字体文件和 shell 脚本中,以帮助跟踪正在使用的原始图标集版本。
# Devicons (version v2.16.0, 496 icons, 12 aliases)
# Does not include all icons of the release
# Codepoints: E700-E8EF
# Nerd Fonts Version: 3.3.0-49
来源:bin/scripts/lib/i_dev.sh2-6 src/glyphs/devicons/generate15-16
Nerd Fonts 通过一个结构化的过程集成了多个图标集,该过程包括:
这种方法使 Nerd Fonts 能够提供一个全面的来自各种来源的图标集合,同时保持在不同平台和应用之间的兼容性和易用性。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(37f533)