☰
Nerd Fonts 中 Monoid 字体补丁包使用指南:家族选择、连字保留与自行打补丁
2026/10/2 13:32:36 网站建设 项目流程
  • 开发工具
  • 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

项目地址:https://gitcode.com/GitHub_Trending/ne/nerd-fonts
点击查看免费下载

Monoid 是一款高度可定制的编程字体,以可区分的字形、简洁的连字(ligatures)和上下文定位(contextual positioning)著称,在 12px/9pt 小字号下依然清晰锐利。本篇指南以 patched-fonts/Monoid/Italic/README.md 为骨架,结合 nerd-fonts 仓库的 fonts.json 字体元数据与 font-patcher 打补丁脚本源码,为你完整讲解:如何在 Nerd Font Mono / Nerd Font / Nerd Font Propo 三种家族间做选择、补丁后连字行为的变化,以及「下载现成补丁字体」与「自行用 font-patcher 定制」两条获取路径,帮助你在终端、编辑器与 GUI 场景中正确选用 Monoid。

Monoid 与 Nerd Fonts:字体概况

Monoid 是 Andreas Larsen 设计的一款开源编程字体,其定位是「可定制(customisable)的编码字体,包含 alternates(变体字形)、连字与上下文定位」,官方介绍强调其「Crazy crisp at 12px/9pt」——即在小字号下仍保持极高的可读性。在 nerd-fonts 仓库中,Monoid 属于已打补丁(patched)字体家族之一,仓库的 fonts.json 对其描述为:拥有连字、可通过短上行/下行部(ascenders/descenders)区分的字形,以及放大的运算符与标点。

从仓库元数据可以确认以下事实:

  • 上游版本号:0.61(见 patched-fonts/Monoid/Italic/README.md 第 9 行,以及 fonts.json 中的"version": "0.61");
  • 许可协议:MIT OR OFL-1.1-no-RFN双许可(见 fonts.json 的licenseId字段),对应文件为 patched-fonts/Monoid/Italic/LICENSE 与 patched-fonts/Monoid/LICENSE;
  • 属于等宽字体(fonts.json 中"isMonospaced": true),并标记repoRelease: true,即随仓库发布包分发;
  • 未使用保留字体名机制("RFN": false),因此补丁后的派生字体命名自由度更高,无需额外授权即可使用新的字体名。

仓库中 Monoid 的补丁字体位于 patched-fonts/Monoid/,按字重拆分为Bold、Italic、Regular、Retina四个子目录(每个子目录内各含一份 README 与 LICENSE),并在目录根部提供全部 12 个.ttf文件;对应的未补丁上游字体则存放于 src/unpatched-fonts/Monoid/,包含Monoid-Bold.ttf、Monoid-Italic.ttf、Monoid-Regular.ttf、Monoid-Retina.ttf四个原始文件,供自行打补丁使用。

Which font?三步快速选型(TL;DR)

原文档给出的选型逻辑非常直白,按使用场景分三类:

  • 受限等宽场景(终端等):选择名称带Nerd Font Mono(缩写NFM)的字体。此类变体保证所有字形——包括后补的图标——都是单宽度(single-width),不会破坏终端行列对齐;
  • 希望图标更大(通常约为普通字母宽度的 1.5 倍):选择不带Mono后缀的Nerd Font(缩写NF)。大多数终端都支持这种可变宽度图标,但效果因人而异(文档原文为 ymmv,your mileage may vary);
  • 比例/等比上下文(GUI 组件、演示文稿编辑等):选择名称带Nerd Font Propo(缩写NFP)的变体,图标按比例宽度排布,与正文混排更自然。

在 patched-fonts/Monoid/ 目录中可以直观对照这三种后缀的产物,例如:

  • MonoidNerdFont-Italic.ttf(NF 版,图标可超宽);
  • MonoidNerdFontMono-Italic.ttf(NFM 版,全部单宽);
  • MonoidNerdFontPropo-Italic.ttf(NFP 版,比例宽度)。

每种家族都覆盖Bold、Italic、Regular、Retina四个字重,共 12 个补丁文件,外加Bold/、Italic/、Regular/、Retina/四个子目录中的分开发布副本。

三种后缀的源码级含义

从 font-patcher 的参数定义(第 2228 行与第 2233 行附近)可以看出三种后缀并非随意命名,而是对应脚本的实际行为:

  • --mono(短参数-s):创建等宽字体,使既有字形与新增字形全部单宽(Create monospaced font, existing and added glyphs are single-width (implies --single-width-glyphs)),该选项可以重复传入以覆盖其他冲突设置;
  • --variable-width-glyphs:不调整字符前进步宽(advance width),即不产生「悬挂/超宽」字形,产出对应Nerd Font Propo变体(脚本注释明确标注(Nerd Font Propo));
  • 当--mono或--single-width-glyphs与--variable-width-glyphs同时指定时,脚本会在第 2383 行给出矛盾警告并忽略后者(Ignoring --variable-width-glyphs)。

也就是说,你最终拿到的NFM、NF、NFP三个版本的差异,本质上是 font-patcher 在「是否强制单宽」「是否保留超宽图标」两个维度上的不同输出组合。

连字(Ligatures):补丁后的保留与行为变化

原文档专门用一节说明连字在补丁流程中的命运,要点如下:

  • 连字通常会被保留:Monoid 本身以连字为卖点,Nerd Fonts 的打补丁流程不会破坏这些连字特性;
  • 历史版本差异:Nerd Fontsv2.0.0时代,Nerd Font Mono系列字体不含连字;该限制从v2.1.0起被取消,因此当前版本的NFM变体同样保留连字;
  • 如何关闭连字:如果你使用的终端支持连字渲染,而又不希望看到连字效果,通常可以在终端设置中直接关闭(ligature-aware 终端一般提供对应开关)。

需要说明的是:本仓库当前使用的补丁逻辑基于v2.1.0之后的机制,因此无论是Nerd Font Mono还是Nerd Font、Nerd Font Propo版本,Monoid 的连字都不会因为打补丁而丢失。若你的终端不支持连字或希望获得「无连字」体验,请优先在终端配置层面处理,而不是退回旧版字体。

获取补丁字体的两条路径

选定家族与字重之后,原文档给出两种获取方式。

Option 1:直接下载已打补丁的字体

  • 稳定版:从项目的 release 页面下载对应字体压缩包(官方发布包中 Monoid 提供.zip与更小的.tar.xz两种格式);
  • 开发版:直接使用仓库内patched-fonts目录下的文件,即本仓库 patched-fonts/Monoid/ 中的 12 个.ttf(或按字重进入Bold/、Italic/、Regular/、Retina/子目录获取独立副本)。每个子目录内均附带一份 README.md 与 LICENSE,便于分发时一并携带。

安装方式与仓库其他补丁字体一致:将.ttf复制到系统字体目录(如 Linux 的~/.local/share/fonts或 Windows 的字体文件夹)后刷新字体缓存即可;仓库根目录同时提供了 install.sh 与 install.ps1 脚本,可批量安装指定的补丁字体家族。

Option 2:使用 font-patcher 自行打补丁

如果你需要「不是全部符号都打进去、以减小字体体积」之类的定制需求,可以使用仓库根目录的 font-patcher 脚本对上游字体自行处理:

  • 上游原始字体位于 src/unpatched-fonts/Monoid/,其中Monoid-Italic.ttf正是本目录(Italic)补丁的输入;
  • 打补丁前的示例命令(以生成等宽版为例):
./font-patcher --mono src/unpatched-fonts/Monoid/Monoid-Italic.ttf
  • 常用参数速览:
    • --mono, -s:强制等宽(对应Nerd Font Mono变体,可重复传入以覆盖冲突设置);
    • --variable-width-glyphs:保持比例宽度(对应Nerd Font Propo变体);
    • 其余参数(如--complete全量图标集、--careful等)可运行./font-patcher --help查看完整列表。

也可以先通过 src/config.sample.cfg 了解配置文件驱动的打补丁方式(脚本在检测到配置请求时会打印No trying --mono as requested by configfile; exiting之类的提示,详见 font-patcher 第 2380 行附近的逻辑)。关于「选哪种字体」的更多故障排查信息,原文档指向项目 FAQ 的 Which font 小节,本仓库的 src/readme-per-directory-addendum.md 亦汇总了与「Which font」相关的通用说明。

许可与分发注意事项

Monoid 采用MIT 与 SIL OFL 1.1 双许可(选择其一即可),详见 patched-fonts/Monoid/Italic/LICENSE:

  • 按 MIT 条款:可自由使用、复制、修改、合并、发布、再分发;
  • 按 OFL 1.1 条款:字体软件本身不得单独出售,派生作品必须沿用 OFL,且不得使用保留字体名(Reserved Font Name)。

由于 Monoid 在仓库元数据中标记RFN: false(未声明保留字体名),Nerd Fonts 对其进行改名打补丁不涉及 RFN 授权问题;而 src/readme-rfn-addendum.md 中关于 Reserved Font Name 机制的说明,主要适用于其他存在 RFN 约束的字体家族(例如 Mononoki 在 fonts.json 中即标记为RFN: true并附有例外说明)。分发补丁字体时,建议连同对应子目录中的 LICENSE 文件一起发布,以满足 OFL「副本须包含版权声明与许可」的要求。

小结

对于 Monoid 用户,一次完整的选型决策可以归结为:终端等宽场景选Nerd Font Mono,追求大图标视觉选Nerd Font,GUI/演示文稿等比例场景选Nerd Font Propo;连字在所有当前补丁变体中均被保留,如需关闭请在终端设置中操作;版本方面以仓库标注的上游 0.61 为准,稳定发布走 release 包、需要定制时用 font-patcher 配合 src/unpatched-fonts/Monoid/ 原始字体自行生成,并留意 MIT/OFL 双许可下的分发要求。

  • 开发工具
  • 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

项目地址:https://gitcode.com/GitHub_Trending/ne/nerd-fonts
点击查看免费下载
上一篇:vLLM部署指南:如何在NVIDIA Blackwell硬件上运行Mistral-Medium-3.5-128B-NVFP4
下一篇:FanControl 使用指南:一套温度-转速曲线搞定 Windows 风扇静音控制

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询