- 开发工具
- 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/Overpass/Non-Mono/Italic/README.md 为骨架,系统讲解 Red Hat 开源字体Overpass的 Nerd Fonts 斜体(Italic)补丁版本:它内置了哪些图标集、如何在Nerd Font/Nerd Font Mono/Nerd Font Propo三种变体中做出正确选择、如何通过发布包安装或使用 font-patcher 自行打补丁,并深入到 fonts.json 与 src/config.sample.cfg 等仓库源码,揭示补丁字体的元数据与默认配置实现。读完本文,你将能准确判断 Overpass Italic 是否适合你的终端或 GUI 场景,并掌握两条完整的获取路径。
Overpass 字体家族简介
Overpass是 Red Hat 出品的一款开源 Web 字体家族,其设计灵感来源于美式高速公路指示牌字体(Highway Gothic),这一点在仓库的字体元数据中也有明确记录:fonts.json中 Overpass 条目的描述为 "An open source font family inspired by Highway Gothic"(参见 fonts.json)。
在 Nerd Fonts 仓库中,Overpass 被整理为两个主分支:
- Mono:等宽版本(Overpass Mono),基于
overpass-mono-regular.otf等上游文件; - Non-Mono:比例(非等宽)版本,即本文的主角。
其中 Non-Mono 分支下按字重与风格细分为 16 个样式目录,包括Regular、Bold、Thin、Light、Extra-Light、Semi-Bold、Extra-Bold、Heavy,以及它们各自的 Italic 斜体(详见 patched-fonts/Overpass/Non-Mono/)。本文讨论的正是Non-Mono/Italic目录。
该补丁字体的上游原始版本为3.0.5,与fonts.json中记录的version: "3.0.5"完全一致(见 fonts.json)。
本目录提供的补丁字体文件
patched-fonts/Overpass/Non-Mono/Italic/目录下包含三个实际可用的字体文件与一份许可证:
| 文件 | 变体类型 | 适用场景 |
|---|---|---|
OverpassNerdFont-Italic.otf | Nerd Font(NF) | 图标宽度约为 1.5 个普通字符,适合大多数终端与编辑器 |
OverpassNerdFontPropo-Italic.otf | Nerd Font Propo(NFP) | 图标宽度调整为比例字体字宽,适合 GUI 与演示文稿等比例排版场景 |
LICENSE.md | 许可证 | 记录 Overpass 的双许可证(SIL OFL 1.1 与 LGPL 2.1) |
值得注意:Non-Mono 分支下的字体文件均为.otf格式(OpenType/CFF),且不提供Nerd Font Mono变体——因为 Overpass 的等宽版本(Mono分支)才能打上Mono标记。如果你需要等宽斜体图标字体,请前往 patched-fonts/Overpass/Mono/ 目录获取OverpassMNerdFontMono-*.otf。
内置图标集(Icon Sets)
Overpass Italic 补丁字体通过 font-patcher 合并了以下 14 组上游图标,覆盖编程语言 Logo、版本控制符号、Powerline 状态栏符号、天气图标与电源符号等场景。下表完整继承自原文档:
| Icon set name | upstream | version | license |
|---|---|---|---|
| Codicons | microsoft/vscode-codicons | 0.0.45 | CC BY 4.0 |
| Devicons | devicons/devicon | 2.17.0 | MIT |
| extraglyphs | source-foundry/Hack | - | MIT |
| Font Awesome | FortAwesome/Font-Awesome | 6.5.1 | CC BY 4.0 |
| Font Awesome Extension | AndreLZGava/font-awesome-extension | 0.0.3 | MIT |
| Font Logos | lukas-w/font-logos | 1.3.0 | unlicensed |
| MaterialDesign | Templarian/MaterialDesign-Font | Oct 6, 2022 | Apache 2.0 |
| Octicons | primer/octicons | 18.3.0 | MIT |
| Seti and original | jesseweed/seti-ui | 0.8.1 | MIT |
| Pomicons | gabrielelana/pomicons | 1.001 | OFL 1.1 RFN |
| Powerline Extra | ryanoasis/powerline-extra-symbols | 1.200 | MIT |
| Powerline Symbols | powerline/powerline | 1.000 (ca 2013) | MIT |
| Power Symbols IEC | jloughry/Unicode | Feb 2015 | MIT |
| Weather Icons | erikflowers/weather-icons | 2.0.10 (1.100) | OFL 1.1 |
这些图标集的 SVG 源文件统一存放在 src/glyphs/ 与 src/svgs/ 目录中,供 font-patcher 在打补丁时按需嵌入。如果你需要某个具体图标的 Unicode 码点,可以查阅仓库根目录的 glyphnames.json。
关于连字(Ligatures)的处理
原文档对 Overpass 补丁字体给出了一条重要的工程说明:
fi、fl与ldot三个连字被移除,因为它们只映射到一个前进宽度(advance width)。
也就是说,Overpass 上游字体中这三个连字字形占用的宽度与普通字符没有差异,保留它们反而会徒增字体体积,因此 Nerd Fonts 在打补丁时将其删除。除此之外,其余连字在补丁字体中一般都会被保留。
关于连字还有两点历史背景需要了解(继承自原文档):
- Nerd Fonts
v2.0.0时代,Nerd Font Mono变体不含连字;该限制自v2.1.0起被取消,Mono变体也保留连字; - 如果你使用支持连字的终端(如 iTerm2、kitty、Alacritty 等),又不希望看到
->、=>被渲染为连字,通常可以在终端设置中直接关闭连字功能,无需更换字体。
如何选择正确的变体:Which font?
TL;DR 快速决策
原文档给出了最简决策路径,这里逐条展开:
- 如果你被限制在等宽字体环境(例如终端、代码编辑器、表格数据对齐场景),请选择带
Nerd Font Mono(缩写NFM)字样的字体。对 Overpass 而言,应前往 patched-fonts/Overpass/Mono/ 选择OverpassMNerdFontMono-*; - 如果你希望图标更大(通常约为普通字母宽度的 1.5 倍),选择不带
Mono的Nerd Font(缩写NF)变体。多数终端都支持此类字体,但具体效果因终端而异(原文档提示 "ymmv")。Overpass 的斜体对应文件即为OverpassNerdFont-Italic.otf; - 如果你工作在比例排版环境(GUI 元素、幻灯片演示、文档排版等),选择带
Nerd Font Propo(缩写NFP)字样的变体,即OverpassNerdFontPropo-Italic.otf,其图标宽度被调整为与比例字体协调。
两条获取路径
在确定字体家族(Overpass)与风格(Italic)之后,原文档提供了两种主流选择:
Option 1:直接下载已补丁的字体(推荐新手)
- 从 Nerd Fonts 发布页面下载稳定版本,Overpass 的打包下载链接为
Overpass.zip(或体积更小的Overpass.tar.xz); - 或者直接在本仓库的 patched-fonts/Overpass/ 目录中按分支与样式选取开发版本文件。
Option 2:使用 font-patcher 自行打补丁(适合定制需求)
- 运行仓库根目录的 font-patcher 脚本,对 src/unpatched-fonts/Overpass/ 下的原始字体打补丁;
- 你可以通过参数控制打补丁的行为,例如只嵌入部分图标集(
--onlyglyphs),从而在图标数量与字体体积之间取得平衡,得到比官方发布版更精简的字体。
从源码看补丁器的默认行为
仓库根目录的 src/config.sample.cfg 展示了 font-patcher 的典型配置用法:
commandline: --removeligatures --makegroups 2 abort-mono-patch: True其中--removeligatures会移除字体中的连字(这与本 README 中 Overpass 移除fi/fl/ldot连字的处理逻辑一脉相承),--makegroups 2按字形分组组织图标,而abort-mono-patch: True则用于在异常场景下中止等宽补丁过程。当你希望保留连字时,在自行打补丁时省略--removeligatures即可。更多参数说明可查阅 font-patcher 脚本顶部的帮助文本。
许可证与合规提示
Overpass 采用双许可证发布:SIL Open Font License 1.1 与 LGPL 2.1。本目录下的 LICENSE.md 完整保留了 Red Hat 的版权声明(Copyright 2015 Red Hat, Inc.)与两份许可证正文。需要注意:
- 字体文件本身不能脱离捆绑的软件单独销售;
- 衍生字体必须继续以相同许可证发布,但使用该字体生成的内容(如文档、网页)不受此限制;
- Overpass 在
fonts.json中被标记为RFN: false(见 fonts.json),即未使用 Reserved Font Name 机制,因此衍生字体可以合法沿用 "Overpass" 这一名称;关于 RFN 机制的背景,可参考 src/readme-rfn-addendum.md。
结语
Overpass Nerd Font Italic 是比例(Non-Mono)斜体场景下的优质选择:它继承了 Overpass 3.0.5 的公路标牌风格设计,并融合了 14 组、数千个 Nerd Fonts 图标。安装时请根据终端/GUI 场景在NF与NFP之间取舍,等宽需求则转向Mono分支;进阶用户可以直接使用 font-patcher 配合 src/config.sample.cfg 的配置模式,打造只包含所需图标集的精简版本。
- 开发工具
- 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
相关推荐
Overpass Nerd Font:3.0.5 补丁字体家族的选择、安装与自定义补丁指南
Overpass Nerd Font:3.0.5 补丁字体家族的选择、安装与自定义补丁指南 导读 本文以 patched fonts/Overpass/Non
开发工具CLIDejaVu Sans Mono Nerd Font Italic 变体全解析:字体选择指南与 --has-no-italic 打补丁实践
DejaVu Sans Mono Nerd Font Italic 变体全解析:字体选择指南与 has no italic 打补丁实践 本文以 Nerd Fon
开发工具CLIGo Mono Nerd Font 补丁字体全指南:Bold-Italic 变体的选择、获取与自行补丁
Go Mono Nerd Font 补丁字体全指南:Bold Italic 变体的选择、获取与自行补丁 本文以 Nerd Fonts 仓库中 Go Mono/B
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考