- 开发工具
- 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
Meslo LG 是 Nerd Fonts 仓库中备受欢迎的等宽字体之一,本指南以其斜体(Italic)变体为切入点,系统讲解 Meslo LG 的血统与版本、集成的 14 套图标集、NF / NFM / NFP 三种变体的选择原则、连字处理方式,以及"下载现成补丁字体"与"用 font-patcher 自行打补丁"两条完整落地路径。读完本文,你将能够为终端、编辑器与 GUI 场景正确挑选并安装合适的 Meslo LG Nerd Font 变体。
Meslo LG:从 Menlo 到 Nerd Font 的血统与版本
Meslo LG 并非一款从零设计的字体,而是一份定制化的衍生作品。根据 patched-fonts/Meslo/M/Italic/README.md 的说明,它基于 Apple 的 Menlo-Regular 字体定制而来,而 Menlo 本身又是 Bitstream Vera Sans Mono 的定制版本——因此 Meslo LG 拥有一脉相承的等宽、清晰的字符形态与"斜杠零"(slashed zeros)等标志性细节。
在 Nerd Fonts 仓库中,Meslo LG 采用的是由 opeik 提供的补丁版本,并在fonts.json中有完整登记。查看 fonts.json 中该字体的条目可以看到其关键元数据:
| 元数据字段 | 值 |
|---|---|
| 上游字体名 | Meslo LG |
| 打补丁后的字体名前缀 | MesloLG |
| 版本 | 1.21 |
| 许可证 | Apache-2.0(LICENSE.txt) |
| 预览字体 | MesloLGM Nerd Font |
| 是否等宽 | 是(isMonospaced: true) |
| 是否随仓库发布 | 是(repoRelease: true) |
| 描述 | Slashed zeros, customized version of Apple's Menlo |
其中repoRelease: true意味着该字体作为仓库的正式发布产物随 Release 一起分发,这也是下文"方式一"可以直接下载打包文件的前提。
Italic 变体的目录构成
本指南对应的目录是 patched-fonts/Meslo/M/Italic/,其中每个样式目录都固定包含三份字体文件与配套的许可证、说明文件。以斜体为例,实际可用的文件为:
- MesloLGMNerdFont-Italic.ttf:标准 Nerd Font 变体(图标较宽)
- MesloLGMNerdFontMono-Italic.ttf:等宽 Nerd Font Mono 变体
- MesloLGMNerdFontPropo-Italic.ttf:比例 Nerd Font Propo 变体
- LICENSE.txt:Apache License 2.0 许可声明
需要说明的是,Meslo 家族在仓库中并非只有 M 这一档。从 patched-fonts/Meslo/ 的目录结构可以看到,它按字号档位与衍生形态分为 L、L-DZ、M、M-DZ、S、S-DZ 六组,其中 DZ 后缀代表删除锯齿("Delete Zs")风格;每组又包含 Bold、Bold-Italic、Italic、Regular 四种样式。也就是说,仅斜体一个样式,在整个 Meslo 家族中就同时存在MesloLGL、MesloLGLDZ、MesloLGM、MesloLGMDZ、MesloLGS、MesloLGSDZ六套命名,每套又各有 NF / NFM / NFP 三份文件,选择时需注意文件名中的这些关键区分。
集成的 14 套图标集
打补丁的核心价值在于将多套流行图标字体合并进 Meslo LG 的字库。根据 README 中"Icon sets"一节,当前集成情况如下:
| 图标集名称 | 版本 | 许可证 |
|---|---|---|
| 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 |
这 14 套图标集覆盖了代码编辑器(Codicons、Devicons、Seti)、版本管理(Octicons)、Powerline 状态栏(Powerline Symbols、Powerline Extra)、天气与电源符号等常见场景,这也是 Meslo LG Nerd Font 能同时胜任终端美化与编辑器文件图标显示的根本原因。值得注意的是,各图标集许可证并不统一,其中 Pomicons 标注为 OFL 1.1 RFN(Reserved Font Name,保留字体名称),使用或二次分发时需留意相应条款(仓库为此准备了 src/readme-rfn-addendum.md 的补充说明)。
如何选择 Meslo 字体变体
TL;DR 快速决策
原文档给出的选型建议非常简洁,可以直接作为决策准则:
- 如果终端等环境只允许等宽字体,选择名称带
Nerd Font Mono(缩写NFM)的变体; - 如果希望图标更大(通常约为普通字母的 1.5 倍宽),选择不带
Mono的Nerd Font(缩写NF),多数终端支持这种用法,但效果因终端而异(ymmv); - 如果是在比例字体场景下工作(GUI 元素、演示文稿等),选择带
Nerd Font Propo(缩写NFP)的变体。
对应到本文目录中,就是MesloLGMNerdFont-Italic.ttf(NF)、MesloLGMNerdFontMono-Italic.ttf(NFM)、MesloLGMNerdFontPropo-Italic.ttf(NFP)三者的取舍。
三种变体的底层实现
从源码层面看,这三种变体对应着 font-patcher 的不同打补丁参数。在 font-patcher 的参数解析部分可以找到直接证据:
--use-single-width-glyphs(即--mono系参数)用于生成等宽变体:将所有符号字形强制为单一宽度,对应 NFM 变体;--variable-width-glyphs的参数说明为 "Do not adjust advance width (no overhang) (Nerd Font Propo)",即不调整字形前进步宽、不做"悬垂"处理,对应 NFP 变体(见 font-patcher);- 默认的 NF 变体则介于两者之间:保持等宽字体的字形宽度,同时让图标略微超宽(overhang)以换取更大的图标观感。
因此,NFM 追求的是严格单宽以适配老式终端与对齐要求,NF 在单宽基础上放大图标,NFP 则放弃单宽约束完全面向比例排版。这一"一字体三形态"的设计正是 Nerd Fonts 能在不同场景通用自如的关键。
连字处理
Meslo LG 原版以连字(ligatures)支持见长,打补丁后连字通常会被保留。这里有一个版本差异需要注意:Nerd Fontsv2.0.0时期的Nerd Font Mono字体曾不包含连字,这一限制自v2.1.0起已取消,因此当前版本的 NFM 变体同样保留连字能力。
如果你使用的是支持连字的终端(如较新的 iTerm2、kitty、Alacritty 等),却又不想启用连字,通常可以直接在终端设置中关闭;而如果希望在打补丁阶段就从字体层面剔除连字,则可以使用 font-patcher 的--removeligatures参数(font-patcher),该参数需要配合--configfile指定的配置文件一起使用。仓库在 src/config.sample.cfg 中给出了可参考的配置写法,其[Subtables]节通过正则精确匹配并移除dlig(任意连字)与liga(标准连字)查找表,例如:
[Config] commandline: --removeligatures --makegroups 2 abort-mono-patch: True [Subtables] ligatures: [ "'dlig' Discretionary Ligatures lookup 12 contextual 0", "'dlig' Discretionary Ligatures lookup 11 subtable", "'dlig' Discretionary Ligatures lookup 9 subtable", ["!Italic", "'liga' Standard Ligatures in Latin lookup 6 subtable"] ]可以看到该示例还演示了带条件的形式:["!Italic", ...]表示对非 Italic 字体才移除liga子表——这也是为什么斜体与常规样式在连字表现上可能存在差异,自行打补丁时可按需定制。
获取 Meslo LG Nerd Font 的两种方式
原文档明确给出了两条获取路径,二者各有适用场景。
方式一:下载已打补丁的现成字体
- 稳定版:从 Nerd Fonts 项目的 Release 页面下载 Meslo 的打包文件,其中提供
Meslo.zip与体积更小的Meslo.tar.xz两种格式,解压后即可安装; - 开发版:直接使用本仓库 patched-fonts/Meslo/ 目录下的最新构建产物,本文所讨论的斜体文件即位于 patched-fonts/Meslo/M/Italic/。
这种方式适合绝大多数用户:无需任何工具链,拿到 TTF 后按操作系统的常规方式安装即可。
方式二:使用 font-patcher 自行打补丁
如果你需要"不包含全部符号以缩小字体体积"等定制需求,可以使用仓库根目录的 font-patcher 脚本对原始 Meslo 字体重新打补丁。其基本用法形如:
./font-patcher --variable-width-glyphs \ --configfile config.sample.cfg \ <原始字体文件路径>其中各参数含义可参考脚本内置帮助(font-patcher 附近的参数定义区):
--variable-width-glyphs:生成 NFP(比例)变体;--use-single-width-glyphs:生成 NFM(等宽)变体;- 不加上述参数则生成默认的 NF 变体;
--removeligatures --configfile <文件>:按配置文件移除指定连字查找表;--makegroups:选择补丁后字体的命名方式(默认值为 1,可取值 -1 到 6)。
从fonts.json的imagePreviewFontSource字段(值为Meslo/M/Regular/Meslo LG M Regular for Powerline.ttf)可以推断,仓库在 src/unpatched-fonts/ 下保留了 Meslo 的原始字体文件,作为自行打补丁的输入素材。
安装与后续查阅
下载或打补丁得到字体文件后,即可按系统常规方式安装。此外,仓库根目录还提供了自动化安装脚本 install.sh(Linux/macOS)与 install.ps1(Windows PowerShell),可以批量安装仓库中的已补丁字体,适合需要一次配置多款 Nerd Font 的用户。
如果你希望深入理解这份 README 的结构,可以注意到其中 "Which font?" 一节并非 Meslo 特有内容,而是仓库为所有补丁字体目录统一生成的标准章节,其模板维护在 src/readme-per-directory-addendum.md;而字体本身的图标集、版本、许可证等元数据则以 fonts.json 为权威登记源,font-patcher 脚本与各目录 README 均由它驱动生成。理解这三者的关系,有助于你在查阅任意一款 Nerd Font 时快速定位权威信息。
小结
Meslo LG Nerd Font 斜体变体的完整使用链路可以概括为:确认血统与版本(1.21、Apache-2.0)→ 理解 14 套图标集的集成范围与许可差异 → 依据场景在 NF / NFM / NFP 三者间决策 → 按需处理连字 → 通过下载现成补丁字体或 font-patcher 自行打补丁两条路径获取最终 TTF。掌握了这些要点,无论是终端美化、编辑器图标渲染还是 GUI 演示排版,都能快速选对并安装最合适的 Meslo LG 变体。
- 开发工具
- 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
相关推荐
Apache Spark SQL 标识符(Identifiers)完全指南:普通标识符、反引号定界标识符与保留系统命名空间
Apache Spark SQL 标识符(Identifiers)完全指南:普通标识符、反引号定界标识符与保留系统命名空间 导读 在 Apache Spark
开发工具CLIDagger TypeScript SDK Host 类完全指南:统一访问宿主机目录、文件、镜像与网络资源
Dagger TypeScript SDK Host 类完全指南:统一访问宿主机目录、文件、镜像与网络资源 Host 是 Dagger TypeScript S
开发工具CLIGatsby 页面创建与修改实战指南:createPages、onCreatePage 与 File System Route API 全解析
Gatsby 页面创建与修改实战指南:createPages、onCreatePage 与 File System Route API 全解析 本篇技术指南系统
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考