- 开发工具
- CLI
【免费下载链接】nerd-fonts
Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
Monofur 是一款由 Tobias B Koehler 设计的经典单色(monospaced)几何圆润无衬线字体,其字形基于 eurofurence 字体家族演化而来,字符集覆盖罗马、希腊与西里尔文字,并自带制表线(box drawing)字符。本指南以 Nerd Fonts 仓库中 Monofur 补丁字体目录 为蓝本,讲清楚三种补丁变体(Nerd Font、Nerd Font Mono、Nerd Font Propo)的适用场景、连字(ligature)行为,以及"直接下载已补丁字体"与"用 font-patcher 自行补丁"两条获取路径的完整实操,读完即可在终端、编辑器与 GUI 场景中正确选用 Monofur 补丁字体。
Monofur 字体与 Nerd Fonts 补丁产物
原版 Monofur 由 Tobias B Koehler 创作,是"基于 eurofurence 字体家族的单色几何圆润无衬线字体",当前仓库收录的版本号为Version: 1。在 src/unpatched-fonts/Monofur/ 中保留了未补丁的原始字体文件,包括Monofur for Powerline.ttf、Monofur Bold for Powerline.ttf、Monofur Italic for Powerline.ttf三个 TrueType 文件,从命名可以看出它们已内建 Powerline 符号支持,是终端场景的常见选择。
补丁后,仓库在 patched-fonts/Monofur/ 下按字重组织为Bold/、Italic/、Regular/三个子目录,每个目录均包含同一字重下的三套补丁变体(以Bold/为例):
| 变体 | 文件示例 | 缩写 |
|---|---|---|
| Nerd Font(普通变体,图标约 1.5 个普通字母宽) | MonofurNerdFont-Bold.ttf | NF |
| Nerd Font Mono(单宽变体,图标强制单字符宽) | MonofurNerdFontMono-Bold.ttf | NFM |
| Nerd Font Propo(比例变体,不调整 advance width) | MonofurNerdFontPropo-Bold.ttf | NFP |
顶层还直接平铺了全部 9 个补丁产物(三种字重 × 三种变体),便于按需快速取用。
快速选型(TL;DR)
原文档给出的选型口诀非常简洁,先按使用场景定位字体家族:
- 受限于等宽字体的场景(如各类终端、TUI 程序)→ 选择名字带
Nerd Font Mono(缩写NFM)的变体; - 希望图标更大(通常约为 1.5 个普通字母宽度)→ 选择不带
Mono的Nerd Font(缩写NF)变体,大多数终端支持此类字体,但效果因终端而异(原文标注ymmv); - 工作在比例(proportional)上下文(GUI 界面元素、演示文稿排版等)→ 选择名字带
Nerd Font Propo(缩写NFP)的变体。
三种变体的底层差异与 font-patcher 参数对照
从仓库根目录的 font-patcher 脚本源码可以精确印证这三种变体是如何生成的,它们对应脚本中不同的命令行参数:
- Nerd Font Mono(
--mono/-s):源码注释明确其为"Create monospaced font, existing and added glyphs are single-width",且该选项会隐含启用--single-width-glyphs,把新增图标强制为单字符宽度(默认补丁行为是双宽度,见--single-width-glyphs参数的说明)。脚本中还会通过force_panose_monospaced()等方法处理 Panose 标志,使字体在 Windows 等系统上被正确识别为等宽字体。 - Nerd Font Propo(
--variable-width-glyphs):源码说明为"Do not adjust advance width (no "overhang")",即补丁时不做宽度修正、不产生超出字宽的外扩部分,保持图标按自身天然宽度放置,适合比例排版场景。 - 普通 Nerd Font(
NF):不带以上任一参数,图标按默认的双宽度规则补入,视觉上图标更大、更醒目。
因此,NFM与NFP表面上是同一个 Monofur 字体的两个产物,实际对应的是 font-patcher 对新增字形 advance width 的两种不同处理策略;理解这一点,在自补丁时可以更准确地按场景传参。
连字(Ligatures)行为说明
Monofur 补丁字体默认保留原字体的连字。原文档特别指出一个历史变化:
- Nerd Fonts
v2.0.0时期的Nerd Font Mono字体不含连字; - 自
v2.1.0起该限制被移除,Mono变体也保留连字。
因此使用支持连字的终端时,Monofur Nerd Font Mono 也能正常呈现编程连字。若你不希望看到连字,可以直接在连字感知型终端(ligature-aware terminal)的设置中关闭连字功能——多数终端提供该开关,无需更换字体。需要从源码侧彻底移除连字的进阶做法,可参考 font-patcher 提供的--removeligs(--removeligatures)专家选项,该选项需配合配置文件使用(配置示例见 src/config.sample.cfg)。
获取方式一:直接下载已补丁字体
原文档给出两种直接获取渠道:
- 稳定版:从项目发布页下载字体包——Monofur 提供了
Monofur.zip与体积更小的Monofur.tar.xz两种打包格式; - 开发版:直接从仓库本地的 patched-fonts/Monofur/ 目录按字重子目录下载对应
ttf文件。
对多数用户,直接使用仓库中已补丁的 9 个 ttf 文件即可覆盖Bold、Italic、Regular三个字重 ×NF/NFM/NFP三种变体的组合需求。
获取方式二:使用 font-patcher 自行补丁
当内置变体无法满足需求(例如想精简部分图标集合以缩小字体体积、或需要生成指定格式文件)时,可自行补丁。核心步骤如下:
- 取原字体:仓库已提供原始未补丁文件,见 src/unpatched-fonts/Monofur/(含 Powerline 版本);
- 运行补丁器:
./font-patcher "Monofur for Powerline.ttf",脚本支持--extension指定输出格式(ttf/otf)、--outputdir指定输出目录、--mono/--variable-width-glyphs生成上述 NFM/NFP 变体、--careful保护已有字形等参数(完整参数清单见 font-patcher 的参数解析段); - 按需精简图标:原文档特别提到,自补丁的价值在于"用 font-patcher 的各种选项控制图标集"——例如通过
--fontawesome、--material、--octicons、--powerline、--weather、--codicons等按需勾选符号集合(详见 font-patcher 的 Symbol Fonts 参数组),或使用--custom引入自定义符号字体,从而在更小的字体体积下满足需求。
Monofur 顶层 README(patched-fonts/Monofur/README.md)中列出的图标集来源也佐证了补丁内容的覆盖面,包括 Font Awesome、Material Design、Octicons、Powerline Symbols、Powerline Extra、Weather Icons、Devicons、Codicons 等 14 类上游图标集合。
许可与分发说明
Monofur 属于免费软件(freeware),patched-fonts/Monofur/Bold/LICENSE.txt(与 src/unpatched-fonts/Monofur/LICENSE.txt 内容一致)明确:字体可以自由分发,但必须与本文本文件一同分发;原作者欢迎商业用户在服务器上使用时联系告知,并接受免费样张。补丁后的 Nerd Fonts 产物会因引入不同许可证的上游图标集而叠加相应条款(如 MIT、Apache 2.0、OFL 1.1、CC BY 4.0 等,见 Monofur README 图标集表格),实际使用时需留意各图标集的许可证要求。
- 开发工具
- CLI
【免费下载链接】nerd-fonts
Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
相关推荐
Victor Mono 的 Nerd Fonts 补丁字体指南:NFM/NF/NFP 变体选择、连字特性与 font-patcher 自定义方案
Victor Mono 的 Nerd Fonts 补丁字体指南:NFM/NF/NFP 变体选择、连字特性与 font patcher 自定义方案 Victor
开发工具CLIFira Code Nerd Font SemiBold 实战指南:NF/NFM/NFP 变体选择、连字保留与 font-patcher 定制打补丁
Fira Code Nerd Font SemiBold 实战指南:NF/NFM/NFP 变体选择、连字保留与 font patcher 定制打补丁 本篇技术指
开发工具CLIRoboto Mono Nerd Font 补丁字体指南:图标集构成、NF/NFM/NFP 变体选择与 font-patcher 实操
Roboto Mono Nerd Font 补丁字体指南:图标集构成、NF/NFM/NFP 变体选择与 font patcher 实操 Roboto Mono
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考