- 开发工具
- 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
本篇技术指南以 Nerd Fonts 仓库中 patched-fonts/Meslo/M-DZ/Bold/README.md 为骨架,系统讲解 Meslo LG M DZ Bold 这款打补丁字体的来源谱系、14 套集成图标集的版本与许可证信息,以及 NF / NFM / NFP 三种变体的选型逻辑。读完本文,你将掌握如何从仓库直接获取成品字体、如何使用font-patcher自行定制补丁字体,以及连字行为在终端中的注意事项。
Meslo LG 的字体谱系与 M-DZ 变体定位
Meslo LG 是一套定制化字体,其血统清晰可考:它基于 Apple 的 Menlo-Regular 定制而来,而 Menlo 本身又是 Bitstream Vera Sans Mono 的定制版本。本仓库中使用的 Meslo 补丁版本由 opeik 提供,整体版本号为1.21,其上游项目为 andreberg 维护的 Meslo-Font。
从仓库目录结构看,Meslo 家族按字号与字形特征划分为六个变体:L、L-DZ、M、M-DZ、S、S-DZ,分别对应patched-fonts/Meslo/下的六个子目录。其中L / M / S 表示不同的字号等级,DZ 是带点零(dotted zero)的变体——这类变体将数字0绘制为带中心点的形态,便于在代码与终端场景中与字母O明确区分。本文聚焦的M-DZ即 M 字号等级下、使用带点零字形的分支,其Bold字重目录结构如下:
patched-fonts/Meslo/M-DZ/Bold/ ├── LICENSE.txt ├── MesloLGMDZNerdFont-Bold.ttf ├── MesloLGMDZNerdFontMono-Bold.ttf ├── MesloLGMDZNerdFontPropo-Bold.ttf └── README.md对应地,未经补丁的原始字体位于 src/unpatched-fonts/Meslo/M-DZ/Bold/,即Meslo LG M DZ Bold for Powerline.ttf,它是执行补丁流程的输入素材。
成品文件命名与三种变体
M-DZ/Bold目录下的三个成品 TTF 文件遵循 Nerd Fonts 统一的命名规范,后缀直接对应使用场景:
| 文件 | 变体缩写 | 适用场景 |
|---|---|---|
MesloLGMDZNerdFont-Bold.ttf | NF | 图标较宽(约 1.5 个普通字符宽),绝大多数终端可支持 |
MesloLGMDZNerdFontMono-Bold.ttf | NFM | 强制等宽,适合对单宽度有硬性要求的终端环境 |
MesloLGMDZNerdFontPropo-Bold.ttf | NFP | 比例字宽,适合 GUI 元素、演示文稿等非等宽上下文 |
同目录下的 LICENSE.txt 保留原始字体的许可证信息,使用前请留意其中关于 Reserved Font Name(RFN)机制的约束说明,详见仓库内的 src/readme-rfn-addendum.md。
集成图标集:14 套图标源与许可证清单
作为 Nerd Fonts 生态的一员,Meslo LG M DZ Bold 通过补丁流程注入了大量图标字形。原文档明确列出了这些图标集的上游来源、集成版本与许可证,是判断字体使用合规性的关键依据:
| 图标集名称 | 版本 | 许可证 |
|---|---|---|
| Codicons | 0.0.45 | CC BY 4.0 |
| Devicons | 2.17.0 | MIT |
| extraglyphs | - | MIT |
| Font Awesome | 6.5.1 | CC BY 4.0 |
| Font Awesome Extension | 0.0.3 | MIT |
| Font Logos | 1.3.0 | unlicensed |
| MaterialDesign | Oct 6, 2022 | Apache 2.0 |
| Octicons | 18.3.0 | MIT |
| Seti and original | 0.8.1 | MIT |
| Pomicons | 1.001 | OFL 1.1 RFN |
| Powerline Extra | 1.200 | MIT |
| Powerline Symbols | 1.000 (ca 2013) | MIT |
| Power Symbols IEC | Feb 2015 | MIT |
| Weather Icons | 2.0.10 (1.100) | OFL 1.1 |
这些图标集的 SVG 素材集中存放在仓库的 src/glyphs 目录(共 94 个 SVG 文件及配套字形源),补丁流程正是基于这些矢量图形完成字形注入。如果你需要将图标集单独作为字体使用,仓库还提供 patched-fonts/NerdFontsSymbolsOnly 这类"纯符号"字体。
如何选择字体变体:NF / NFM / NFP 选型逻辑
原文档给出了简明扼要的选型指引(TL;DR):
- 如果受限于等宽字体(例如终端环境),选择带
Nerd Font Mono(缩写NFM)的字体; - 如果想要更大的图标(通常约为普通字符宽度的 1.5 倍),选择不带
Mono的Nerd Font(缩写NF),多数终端支持,但效果因人而异; - 如果在比例上下文中工作(GUI 元素、编辑演示文稿等),选择
Nerd Font Propo(缩写NFP)。
结合上文三个成品文件可以看出,仓库已经为 M-DZ Bold 同时产出了全部三种变体,无需自行转换,直接按场景取用即可。
连字(Ligatures)行为说明
补丁后的字体通常保留原始字体的连字功能。需要留意的是历史差异:Nerd Fontsv2.0.0的Nerd Font Mono字体曾不包含连字,这一限制自v2.1.0起已被取消。如果你使用的终端支持连字渲染但个人偏好关闭,通常可以在终端设置中直接禁用连字,无需更换字体。
获取方式一:直接下载已补丁的成品字体
原文档提供了两种获取途径:
- 稳定版:从项目的 release 发布页下载字体包。Meslo 系列提供两种打包格式——
Meslo.zip与Meslo.tar.xz,其中tar.xz体积更小,适合网络环境受限的场景。 - 开发版:直接从本仓库的 patched-fonts/Meslo/ 目录获取各变体的最新构建产物,即上文列出的
M-DZ/Bold等目录中的 TTF 文件。
下载完成后,即可将 TTF 文件安装到系统的字体目录,或使用仓库根目录提供的安装脚本 install.sh(Linux/macOS)与 install.ps1(Windows)批量安装。
获取方式二:使用 font-patcher 自行补丁
若不想使用现成产物,可对 src/unpatched-fonts/Meslo/M-DZ/Bold/ 中的原始字体执行补丁。例如生成等宽变体:
./font-patcher --mono "src/unpatched-fonts/Meslo/M-DZ/Bold/Meslo LG M DZ Bold for Powerline.ttf"font-patcher本体是一个位于仓库根目录的 Python 脚本(font-patcher),其参数解析逻辑集中在脚本的L2223-L2286区域,核心参数如下:
| 参数 | 别名 | 作用 |
|---|---|---|
--mono | -s | 生成等宽字体,新增与既有字形统一为单宽度,隐式启用单宽度字形模式 |
--variable-width-glyphs | - | 不做宽度对齐调整(不产生"悬垂"边距),即 Nerd Font Propo 的生成方式 |
--careful | - | 检测到目标字形已存在时不覆盖,避免破坏既有字形 |
--extension | -ext | 更改输出字体文件类型(如 ttf、otf) |
--makegroups | - | 使用备用方法为补丁字体命名(默认 1,取值范围 -1 至 6) |
--outputdir | -out | 指定补丁字体的输出目录(默认当前目录) |
--quiet | -q | 不输出详细日志 |
--progressbars/--no-progressbars | - | 控制每个图标集补丁进度的百分比进度条显示 |
从源码实现看,--mono是一个计数型参数(action='count'),当字体无法被安全判定为等宽且仅指定一次时,脚本会直接报错并提示"Font will not be patched! Give --mono (or -s) twice to force patching"(font-patcher),即需要连用两次--mono才能强制补丁;而--variable-width-glyphs与--mono同时指定时,脚本会忽略前者并给出警告(font-patcher)。
原文档特别提到一个典型诉求:不包含全部符号以缩小字体体积。这正是通过符号集开关实现的——补丁器按图标集分组注入字形,例如--fontawesome、--fontawesomeext、--fontlogos等参数可分别控制是否加入对应图标集(font-patcher):
./font-patcher --fontawesome --fontlogos --outputdir ./out "src/unpatched-fonts/Meslo/M-DZ/Bold/Meslo LG M DZ Bold for Powerline.ttf"此外,补丁器支持通过配置文件批量管理这些选项,仓库提供了示例文件 src/config.sample.cfg,可参考其格式编写自己的补丁配置。
小结
Meslo LG M DZ Bold 是一套谱系清晰(Apple Menlo → Bitstream Vera Sans Mono)、字形特征明确(带点零、M 字号、Bold 字重)的补丁字体。围绕它,你可以有三种选择:直接使用仓库中已注入 14 套图标集的成品 TTF;按 NF / NFM / NFP 语义选择对应变体;或基于font-patcher的参数体系自行裁剪图标集、调整输出格式,构建完全符合个人终端与编辑环境需求的定制字体。
- 开发工具
- 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
相关推荐
N_m3u8DL-RE 流媒体下载工具实操:从编译到直播录制的完整走通
N_m3u8DL RE 流媒体下载工具实操:从编译到直播录制的完整走通 N_m3u8DL RE 是跨平台流媒体下载器,一条命令下载 MPD、M3U8、ISM 三
开发工具CLIMeslo LG M-DZ Nerd Font 补丁字体详解:文件构成、图标集与安装选择指南
Meslo LG M DZ Nerd Font 补丁字体详解:文件构成、图标集与安装选择指南 Meslo LG 是 Nerd Fonts 项目中最受欢迎的编程字
开发工具CLIMeslo LG Nerd Font(M-DZ/Regular)补丁字体使用指南:图标字体家族选择与获取全解析
Meslo LG Nerd Font(M DZ/Regular)补丁字体使用指南:图标字体家族选择与获取全解析 本文以 Nerd Fonts 仓库中 Meslo
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考