Nerd Fonts 是一个使用大量字体图标来解决程序员在开发过程中缺少合适字体的问题的项目。它可以从流行的字体图标库中将大量外部字体引入待开发的项目中,它支持的字体图标库包括 Font Awesome ➶, Devicons ➶, Octicons ➶, and others.
下面的桑基图展示了Nerd Fonts中现有的字形组合:
创建图表的工具为: @SankeyMATICLatest Release ➶ | Fonts | Patcher | VimDevIcons ➶ | Font Package Downloads ➶ |
---|---|---|---|---|
master
分支的文件路径 不稳定! 验证你的 repository URI references- 除非你想成为开发贡献者,不然最好不要克隆这个 repository。
- 1 - 手动
- 2 - 下载发布存档
- 3 - 安装脚本
- 4 - Homebrew Fonts (macOS (OS X))
- 5 - 克隆 Repo
- 6 - Ad Hoc Curl 下载
- 7 - Arch User Repository (AUR) (Arch Linux)
- 8 - 你自己的字体补丁
附加信息
Nerd Fonts 中包含流行的程序字体和字形。 如果你想要的字体没有在现有的字体库中,你可以使用 font patcher来自定义字体。 更多信息请见 wiki。如果你正在寻找Vim插件,请见 VimDevIcons ➶。
如果你...
选项 1.
需要快速从patched-fonts/
directory下载一个 独立字体选项 2.
需要去下载包含粗体、斜体等等一系列字体的 字体家族,请见 下载档案选项 3.
需要自动安装或使用脚本,请见 安装脚本选项 4.
是macOS的使用者,并且想要使用Homebrew,请见 Homebrew Fonts选项 5.
想要 完全控制,请见 克隆这个 repo选项 6.
想要使用curl
command 或者使用 scripts,请见 Ad Hoc Curl 下载选项 7.
是Arch Linux的使用者,并且想要使用AUR packages,请见 Unofficial Arch User Repositories选项 8.
想要打包你自定义的字体,请见 字体补丁
- FontForge Python script 可以打包任何字体
- 包括建立Monospaced (fixed-pitch, fixed-width) 或者 double-width (non-monospaced) 字形
- 更多详情请见 Font Patcher 段落
39
已经 打包了字体家族- Over
87,000
独立的 组合/变型 字体 (更多详情) - Over
1,300
字形/图标 组合 (更多详情)- 当前的字形集包括: Powerline with Extra Symbols, Font Awesome, Devicons, Octicons, Font Linux, Pomicons
- 每种字体的Monospaced (fixed-pitch, fixed-width) 和 double-width (non-monospaced) 版本
- 这指的是Nerd Font字形本身,并不一定需要将字体作为一个整体考虑
- 一个 开发者/贡献者提供了 bash script 来为所有字体再打包
🔍 🔍 你现在可以通过NerdFonts.com中的Cheat Sheet对字形进行搜索
基于 Seti-UI Icomoon 的额外自定义字形。
一个为开发者,code jedis,ninjas,HTTPsters,evangelists 和 nerds(sic)制作的图标字体。 / (repo) / (website)
* To avoid conflicts between icon sets, these were modified in the 'Complete' fonts. To view the original codepoints see the Wiki.
提供额外的 Powerline separator 字体 和 a column number glyph (CN). / (repo)
向Unicode中加入新字符 / (website)
Font-linux 是一个包含LOGO和linux流行布局的图标字体。 / (repo)
8 个符号 "Pomodoro Technique"®. / (repo)
从bin/scripts/lib/路径中下载 .sh
文件, 推荐的文件位置为 ~/.local/share/fonts/
或者 ~/bin/
.
i_all.sh
- 帮助你加载你下载的所有文件i_dev.sh
- Devicons (198 icons, 8 does not have an established name)i_fa.sh
- Font Awesome (675 icons, 111 aliases)i_fae.sh
- Font Awesome Extension (170 icons)i_iec.sh
- IEC Power Symbols (5 icons)i_linux.sh
- Font Linux (20 icons)i_oct.sh
- Octicons (172 icons)i_ple.sh
- Powerline Extra Symbols (37 icons, 2 aliases, 16 does not have an established name)i_pom.sh
- Pomicons (11 icons)i_seti.sh
- Seti-UI + Custom (50 icons, 2 aliases, 5 does not have an established name)
然后 source
所需的文件并且输出 $i_*
variables 去寻找字体:
source ~/.local/share/fonts/i_oct.sh
echo $i_oct_heart
# Output:
# ♥
NOTE: You have to use one of the Nerd Fonts to see correct icons for some icon sets (Devicons, Font Awesome Extension, Font Linux), but other sets should work with their standard fonts too.
*RFN = Reserved Font Name
- 超过
87,000个
独立的 变化/组合(Power Set)字体包:39个
字体合集169个
字体家族676个
‘完全’的 变化/组合字体86,702个
有可能的 变化/组合字体87,378个
总字体数 (676 + 86,702)
- 每种字体的组合都是任意 Variations的组合
- no flags given (defaults to only Seti-UI + Custom and Devicons)
- double (variable/proportional) or single (fixed/monospaced) width glyphs
- Font Awesome
- Font Awesome Extension
- GitHub Octicons
- Font Linux
- Powerline Extra Symbols
- IEC Power Symbols
- Pomicons
- Windows Compatibility
安装特定 单独字体 的最快方法。
下载你选中的特定字体 patched font
适用于当你需要archive或者完整的字体家族(Bold, Italic, etc.)的情况。
你可以以压缩包的形式从latest release下载所需的字体
适用于当你想要 自动 安装或者使用 scripts 的情况。
注: 仅适用于 Linux & macOS (OS X) 注: Requires cloning the repo as of now
- 安装全部的字体包 (警告:字体的数量众多,需要下载的文件体积巨大)
./install.sh
- 安装你所需的单独字体
./install.sh <FontName>
./install.sh Hack
./install.sh HeavyData
适用于 macOS系统的Homebrew使用者。
所有字体都可以通过 Homebrew 字体 从 macOS (OS X)平台上找到
brew tap caskroom/fonts
brew cask install font-hack-nerd-font
适用于要使用 完全控制, 所有 或者 多数 字体的情况,或者为Nerd Fonts的开发 添一份力的情况。
基于效率考虑,如果你只想使用有限的几种字体,我们不推荐克隆这个 repository。
但是如果你想要克隆这个repo,请确认你_shallow_克隆了它:
git clone --depth 1
适用于当你想要使用
curl
command 或者在 scripts中使用它的情况。
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
注: deprecated alternative paths: ~/.fonts
cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
适用于 Arch Linux 下使用 AUR packages的情况
下列字体可以在Arch Linux通过 AUR packages 下载:
- Nerd Fonts Complete (double-width)
- Nerd Fonts Complete (single-width)
- Nerd Fonts DejaVu Complete
- Nerd Fonts Source Code Pro Complete
- Nerd Fonts Git (out of date)
适用于 patching 你的 个人字体 或者深度 自定义 字体补丁。
在你的个人字体中使用 Python 命令行脚本去增加新的字形并生成字体包
请见: Font Patcher 的使用方法
- 这个选项适用于当你 不想 使用 fonts provided的情况
- 你需要复制已经生成好的字体到你系统中正确的字体文件夹中
可以通过VimDevIcons ➶打包你选中的字体:
- 需要: Python 2 (or Python 3), python-fontforge package (version 20141231 或者更新版本,请见 安装说明)
- OSX上的替代安装方法为:
brew install fontforge
- 使用:
./font-patcher PATH_TO_FONT
- 替代方案: 使用script flag通过FontForge binary来执行打包:
./fontforge -script font-patcher PATH_TO_FONT
usage: font-patcher [-h] [-v] [-s] [-l] [-q] [-w] [-c] [--fontawesome]
[--fontawesomeextension] [--fontlinux] [--octicons]
[--powersymbols] [--pomicons] [--powerline]
[--powerlineextra] [--custom [CUSTOM]]
[--postprocess [POSTPROCESS]]
[--progressbars | --no-progressbars] [--careful]
[-ext [EXTENSION]] [-out [OUTPUTDIR]]
font
Nerd Fonts Font Patcher: patches a given font with programming and development related glyphs
* Website: https://www.nerdfonts.com
* Version: 1.2.0
* Development Website: https://github.com/ryanoasis/nerd-fonts
* Changelog: https://github.com/ryanoasis/nerd-fonts/blob/master/changelog.md
positional arguments:
font The path to the font to patch (e.g., Inconsolata.otf)
optional arguments:
-h, --help 显示帮助信息和退出
-v, --version 显示程序版本号和退出
-s, --mono, --use-single-width-glyphs
设置生成的字体是single-width还是double-width (默认是 double-width)
-l, --adjust-line-height
设置是否调整 line heights (一般应该尝试 center powerline separators)
-q, --quiet, --shutup
不生成 verbose output
-w, --windows 将内部字体名称限制在31个字符内 (为了 Windows 兼容性)
-c, --complete 加入所有可用的字体
--fontawesome 加入 Font Awesome Glyphs字体 (http://fontawesome.io/)
--fontawesomeextension
加入 Font Awesome 补充字体 (https://andrelzgava.github.io/font-awesome-extension/)
--fontlinux 加入 Font Linux 字体 (https://github.com/Lukas-W/font-linux)
--octicons 加入 Octicons 字体 (https://octicons.github.com)
--powersymbols 加入 IEC Power Symbols (https://unicodepowersymbol.com/)
--pomicons 加入 Pomicon 字体 (https://github.com/gabrielelana/pomicons)
--powerline 加入 Powerline 字体
--powerlineextra 加入 Powerline 字体 (https://github.com/ryanoasis/powerline-extra-symbols)
--custom [CUSTOM] 指定一个自定义图标字体,所有新字形都会在不缩放的情况下被拷贝。
--postprocess [POSTPROCESS]
指定一个针对后续进程的脚本
--progressbars 显示每个Glyph Set的完成度进度条
--no-progressbars 不显示每个Glyph Set的完成度进度条
--careful 如果发现了已经存在的字形,不要对它进行复写
-ext [EXTENSION], --extension [EXTENSION]
更改字体文件的文件格式去创建新文件 (e.g., ttf, otf)
-out [OUTPUTDIR], --outputdir [OUTPUTDIR]
将修补后的字体文件输出到特定目录
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -s -q
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --use-single-width-glyphs --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf -w
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --quiet
./font-patcher Droid\ Sans\ Mono\ for\ Powerline.otf --windows --pomicons --quiet
./font-patcher Inconsolata.otf --fontawesome
./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons
./font-patcher Inconsolata.otf
-
针对贡献者和开发者使用
-
在未打包的路径中re-patches 所有 字体:
./gotta-patch-em-all-font-patcher\!.sh
- 可以选择限制到特定字体名称模式:
./gotta-patch-em-all-font-patcher\!.sh Hermit
See contributing.md
注意 release 分支 不是 master分支因为路径会因为新版本发布而改变
- 举例:
- ✅ Use:
https://github.com/ryanoasis/nerd-fonts/blob/0.9.0/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ❌ Instead of:
https://github.com/ryanoasis/nerd-fonts/blob/
master/patched-fonts/Hermit/Medium/complete/Hurmit%20Medium%20Nerd%20Font%20Complete.otf
- ✅ Use:
- 一个包含更多好字体的列表,可惜的是,因为许可问题我们不能提供或分享它们:
- Input Mono (license restriction)
- Possibly coming with external hosting :)
- PragmataPro (not free)
- Consolas (proprietary)
See changelog.md
MIT © Ryan L McIntyre