尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Nerd Fonts 之 Overpass:源自 Highway Gothic 的开源字体族与图标补丁实战指南
开发工具CLI【免费下载链接】nerd-fontsIconic 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点击查看免费下载Overpass是 Nerd Fonts 仓库中一款采用双许可证SIL OFL 1.1 与 LGPL 2.1的开源 Web 字体族设计灵感源自美国高速公路标识字体 Highway Gothic在仓库中同时提供 Mono 与非 Mono 两套补丁变体。本篇指南以patched-fonts/Overpass/Non-Mono/Semi-Bold/README.md为核心完整讲解 Overpass 的字重矩阵、图标集构成、Nerd Font/Nerd Font Mono/Nerd Font Propo三种变体的选型逻辑并深入剖析仓库中config.cfg与font-patcher源码所揭示的连字ligature移除机制帮助读者既能直接下载使用现成补丁字体也能基于 font-patcher 自行定制属于自己的 Overpass 变体。Overpass 在 Nerd Fonts 仓库中的定位Overpass 是一个开源 Web 字体族其上游由 Red Hat 官方维护。在当前仓库的字体元数据 fonts.json 中Overpass 被登记为版本3.0.5、许可证OFL-1.1-no-RFN or LGPL-2.1-only即「无保留字体名的 SIL OFL 1.1或 LGPL 2.1」双许可且未声明保留字体名 RFN描述为 An open source font family inspired by Highway Gothic灵感源自 Highway Gothic 的开源字体族。从源码目录结构看仓库同时维护了两条 Overpass 分支Mono 分支src/unpatched-fonts/Overpass/Mono 提供 Bold、Light、Regular、Semi-Bold 四个字重的原始字体经补丁后产出OverpassM Nerd Font、OverpassM Nerd Font Mono、OverpassM Nerd Font Propo三类文件如 patched-fonts/Overpass/Mono/Semi-Bold 下的OverpassMNerdFont-SemiBold.otfNon-Mono 分支src/unpatched-fonts/Overpass/Non-Mono 覆盖 Thin 到 Heavy 共 10 个字重及其 Italic 变体补丁后产出Overpass Nerd Font与Overpass Nerd Font Propo两类文件——即本文主角 patched-fonts/Overpass/Non-Mono/Semi-Bold 目录内含OverpassNerdFont-SemiBold.otf与OverpassNerdFontPropo-SemiBold.otf。值得注意的细节是Non-Mono 分支的字体不会生成Nerd Font Mono变体。这一行为并非偶然而是由补丁配置显式控制的——见下文「源码级原理config.cfg 如何驱动补丁行为」一节。版本与许可3.0.5 与双许可证原文档明确记录了 Overpass 的版本号为3.0.5与 fonts.json 中的version字段一致。每个补丁目录下都附带了完整的 LICENSE.md其内容声明Copyright 2015 Red Hat, Inc. This Font Software is dual licensed and available under the SIL Open Font License, Version 1.1 and also the LGPL 2.1。这表示 Overpass 字体软件同时遵循两份许可证SIL 开放字体许可证OFL1.1 版以及 GNU LGPL 2.1。OFL 允许字体被自由使用、研究、修改和再分发前提是字体本身及衍生作品不得单独售卖、衍生作品不得使用保留字体名、且必须以相同许可证继续分发。由于 Overpass 未声明保留字体名RFN 为 false补丁衍生作品可以自由使用 Overpass 这一名称——这也解释了为什么仓库中补丁字体的命名可以自然延续为OverpassNerdFont-*。使用建议若在商业软件中打包或再分发 Overpass 及其 Nerd Fonts 衍生版本请务必保留完整许可证文本并遵守 OFL/LGPL 的署名与再分发条款。图标集构成一次注入 14 套符号体系Nerd Fonts 的核心能力是把多个业界知名图标字体合并进同一款补丁字体。根据原文档的「Icon sets」表格Overpass 补丁字体总共融入了14 套图标集每套的上游来源、版本与许可证如下图标集名称上游项目版本许可证Codiconsmicrosoft/vscode-codicons0.0.45CC BY 4.0Deviconsdevicons/devicon2.17.0MITextraglyphssource-foundry/Hack-MITFont AwesomeFortAwesome/Font-Awesome6.5.1CC BY 4.0Font Awesome ExtensionAndreLZGava/font-awesome-extension0.0.3MITFont Logoslukas-w/font-logos1.3.0unlicensedMaterialDesignTemplarian/MaterialDesign-FontOct 6, 2022Apache 2.0Octiconsprimer/octicons18.3.0MITSeti and originaljesseweed/seti-ui0.8.1MITPomiconsgabrielelana/pomicons1.001OFL 1.1 RFNPowerline Extraryanoasis/powerline-extra-symbols1.200MITPowerline Symbolspowerline/powerline1.000 (ca 2013)MITPower Symbols IECjloughry/UnicodeFeb 2015MITWeather Iconserikflowers/weather-icons2.0.10 (1.100)OFL 1.1这些图标字形在仓库中有对应的 SVG 源文件见 src/glyphs 与 src/svgsfont-patcher 在补丁过程中会把它们从各自的私有 Unicode 区段映射进目标字体从而让 Overpass 同时具备编程常用图标、品牌 Logo、Powerline 符号、天气与电源符号等能力。由于各图标集许可证各不相同CC BY 4.0、MIT、Apache 2.0、OFL 等在二次分发时需分别核对对应图标集的许可证要求。如何选择字体变体NF / NFM / NFP原文档「Which font?」一节给出了非常明确的选型指南这也是所有 Nerd Fonts 补丁字体通用的决策规则TL;DR 速查受限于等宽字体如终端环境要求选择名称带Nerd Font Mono简称NFM的字体如OverpassMNerdFontMono-SemiBold.otf想要更大的图标图标宽度通常约为普通字母的 1.5 倍选择名称中不含Mono的Nerd Font简称NF如OverpassNerdFont-SemiBold.otf。大多数终端支持这种用法但效果因终端而异ymmv在比例proportional场景工作GUI 界面元素、演示文稿排版等选择名称带Nerd Font Propo简称NFP的字体如OverpassNerdFontPropo-SemiBold.otf。背后的度量原理三类变体的差异本质在于字形度量metrics是否被等比压缩Nerd Font Mono将原始字体的所有字形推进宽度advance width规整为等宽值图标与字母对齐在同一单元格内保证终端中字符严格对齐Nerd FontNon-Mono / NF保留原字体的自然宽度图标以较大的字形约 1.5 个字母宽呈现视觉更醒目Nerd Font Propo图标字形被压缩为与普通字符宽度相称的比例字形适合需要图标与文字等宽排布、又不想破坏等宽对齐的 GUI 场景。因此同一种字重如 Semi-Bold在仓库中会以多个文件形式存在以覆盖上述三种使用场景。连字Ligature处理从移除到保留原文档给出了 Overpass 特有的连字说明Thefi,fl, andldotligatures are removed because they map to only one advance width.即fi、fl、ldot这三个连字被移除因为它们只映射到一个推进宽度在等宽化后会产生单元格错位问题。同时文档也澄清了 Nerd Fonts 整体上的连字策略补丁字体通常保留原始连字Nerd Fontsv2.0.0时代的Nerd Font Mono字体不带连字但从v2.1.0开始这一限制已被取消如果终端支持连字渲染而你又不想要连字通常可以直接在终端设置中关闭连字选项。源码级原理config.cfg 如何驱动连字移除连字的移除不是手工程序写死的而是由每个字体族自己的补丁配置文件驱动的。查看 Overpass 的两份配置src/unpatched-fonts/Overpass/Non-Mono/config.cfg[Config] commandline: --removeligatures --makegroups 2 abort-mono-patch: True [Subtables] ligatures: [ Ligature Substitution lookup 20 subtable, liga Standard Ligatures in Latin lookup 18 subtable ]src/unpatched-fonts/Overpass/Mono/config.cfg[Config] commandline: --removeligatures --makegroups 2 [Subtables] ligatures: [ Ligature Substitution lookup 23 subtable ]commandline中的--removeligatures参数直接对应 font-patcher 中的同名选项源码第 2276 行定义--removeligatures说明为「Removes ligatures specified in configuration file (needs --configfile)」即它需要配合配置文件中的Subtables段使用。Subtables段则列出了要移除的具体 GSUB 连字替换子表名称。在 font-patcher 的remove_ligatures()方法中可以看到实际执行逻辑读取配置中Subtables.ligatures列表逐项调用字体引擎的removeLookupSubtable()移除对应连字替换子表。该实现还支持复杂的[regex, table]条目——用正则匹配字体全名来决定是否移除某个子表!前缀表示「正则不得匹配」这为不同字重、不同命名族提供差异化连字处理留下了空间。对 Overpass 而言Non-Mono 变体移除了Ligature Substitution lookup 20与liga Standard Ligatures in Latin lookup 18两个子表Mono 变体移除Ligature Substitution lookup 23。这与文档中「fi、fl、ldot连字被移除」的描述相互印证——被移除的正是这些单宽连字所在的替换子表。abort-mono-patch为什么 Non-Mono 没有 Mono 变体Non-Mono 的 config.cfg 中还有一个关键选项abort-mono-patch: True在 font-patcher 中存在对应逻辑当配置中abort-mono-patch为 True 时对等宽补丁流程执行中止。这就是为什么 patched-fonts/Overpass/Non-Mono/Semi-Bold 下只有OverpassNerdFont-SemiBold.otf和OverpassNerdFontPropo-SemiBold.otf两个文件而没有Nerd Font Mono变体——Overpass 原生的非等宽字形本就不适合再强行等宽化配置明确跳过了这一产出。获取 Overpass 补丁字体的两种途径原文档提供了两条使用路径覆盖「开箱即用」与「按需定制」两类需求途径一直接下载已补丁的稳定版本从 Nerd Fonts 发布页下载 Overpass 的字体压缩包Overpass.zip或体积更小的Overpass.tar.xz包也可以直接从仓库的 patched-fonts/Overpass 目录树中获取开发版本即本文涉及的 Semi-Bold 等各级目录。下载后在 Linux/macOS 上可放入~/.local/share/fonts或~/.fonts在 Windows 上右键安装即可仓库根目录还提供了 install.sh 与 install.ps1 脚本用于批量安装所有补丁字体。若希望为终端与编辑器配置字体回落font fallback可参考仓库根目录的 10-nerd-font-symbols.conf将图标字体作为符号回落字体。途径二使用 font-patcher 自行打补丁若默认的图标组合不符合需求例如希望缩小字体体积、剔除不需要的图标集可以基于原始字体自行补丁。仓库根目录的 font-patcher 是核心补丁脚本典型用法# 使用默认图标集补丁 Overpass Semi-Bold ./font-patcher src/unpatched-fonts/Overpass/Non-Mono/Semi-Bold/overpass-semibold.otf # 只包含部分图标集生成更小的字体文件 ./font-patcher src/unpatched-fonts/Overpass/Non-Mono/Semi-Bold/overpass-semibold.otf --only-symbols 2000 3000关键参数说明均可通过./font-patcher --help查看--makegroups N选择补丁字体的命名分组策略。默认值为 1取值范围 -16Overpass 的配置文件选用--makegroups 2即按字重/变体分组方式生成短家族名short family。从 font-patcher 的源码看makegroups为 2/3/5/6 时启用短家族名为 3/6 时还会启用更激进的变体缩写Overpass 采用 2 属于相对保守的命名策略--removeligatures别名--removeligs按配置文件Subtables段移除连字子表需配合--configfile使用--configfile 路径指定字体族专属配置Overpass 的配置位于 src/unpatched-fonts/Overpass/Non-Mono/config.cfg 与 src/unpatched-fonts/Overpass/Mono/config.cfg--only-symbols 范围只注入指定 Unicode 区段的图标用于缩小字体体积。对于希望完全复刻仓库产物的场景也可以直接参考配置文件中的commandline行——它本身就记录了该字体族在补丁时所用的完整命令参数。小结本文围绕 patched-fonts/Overpass/Non-Mono/Semi-Bold/README.md 展开梳理了 Overpassv3.0.5OFL 1.1 与 LGPL 2.1 双许可在 Nerd Fonts 仓库中的补丁形态14 套图标集合并注入、NF/NFM/NFP三类变体的选型规则、fi/fl/ldot连字的移除机制以及「直接下载」与「font-patcher 自助补丁」两条获取路径。配合 config.cfg 与 font-patcher 的源码读者不仅可以正确选用 Overpass 补丁字体还能理解其背后「配置文件驱动连字移除与命名策略」的补丁流水线原理进而举一反三地定制其他字体族的变体。赞分享开发工具CLI【免费下载链接】nerd-fontsIconic 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点击查看免费下载相关推荐Nerd Fonts 中的 Overpass 字体族Heavy-Italic 补丁字体解析与选用指南Nerd Fonts 中的 Overpass 字体族Heavy Italic 补丁字体解析与选用指南 Overpass 是 Red Hat 出品的开源字体族开发工具CLINerd Fonts 中的 Overpass开源字体家族的图标修补、连字处理与字体变体选择指南Nerd Fonts 中的 Overpass开源字体家族的图标修补、连字处理与字体变体选择指南 导读 本文以 Nerd Fonts 仓库中 patched f开发工具CLINerd Fonts 中的 Overpass Nerd FontMono/Regular 字体详解、图标集与安装补丁指南Nerd Fonts 中的 Overpass Nerd FontMono/Regular 字体详解、图标集与安装补丁指南 本篇指南聚焦 Nerd Fonts开发工具CLI上一篇maths-cs-ai-compendium 进阶文本生成详解文本扩散、RLHF/DPO 对齐、长上下文、SSM 与投机解码下一篇zk-nvim快速入门5分钟搭建个人知识管理系统的完整教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

前端精读周刊:手写 SQL 编译器 —— 递归下降语法分析如何用四个基本文法组合走完整个迷宫

前端精读周刊:手写 SQL 编译器 —— 递归下降语法分析如何用四个基本文法组合走完整个迷宫

文档技术博客教程 【免费下载链接】weekly 前端精读周刊。帮你理解最前沿、实用的技术。 项目地址: https://gitcode.com/GitHub_Trending/we/weekly 点击查看 免费下载 本文是「手写 SQL 编译器」系列继词法分析、文法介绍之后的第三篇,聚焦语法分析&a…

📅 2026/10/2 13:35:35
UDP 协议详解:从非连接传输原理到 DNS 使用 UDP 的底层原因(tech-interview-for-developer)

UDP 协议详解:从非连接传输原理到 DNS 使用 UDP 的底层原因(tech-interview-for-developer)

教程知识库 【免费下载链接】tech-interview-for-developer 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖 项目地址: https://gitcode.com/GitHub_Trending/te/tech-interview-for-developer 点击查看 免费下载 本文…

📅 2026/10/2 13:35:35
Replay Mod完全指南:从安装到关键帧运镜,告别传统录屏

Replay Mod完全指南:从安装到关键帧运镜,告别传统录屏

很多人第一次接触 Replay mod 的时候,第一反应基本上都是:我不是已经有录屏软件了吗,OBS 不比这个香?我当初也是这么想的,直到我在服务器里拍了半年建筑照片,被固定机位折磨得实在受不了,才真正…

📅 2026/10/2 13:35:35
MORE NEWS

更多资讯

📰

Python条件与循环全解析:掌握if、for、while与常见陷阱

1. 为什么说条件与循环是所有Python程序的心脏我经常在带新人和面试的时候问一个问题:抛开框架和第三方库,你自己独立写过最复杂的Python逻辑是什么?结果十有八九的回答里,核心无非就是几层if判断、几个for循环。这恰恰说明了一个…

📰

电转气与碳捕集耦合的综合能源系统优化调度建模与Matlab实现

做综合能源系统优化这几年,我接手的项目里出现频率最高的关键词,基本就是"综合能源系统、电转气、碳捕集系统、热电联产"这四个词的任意组合。原因不复杂:大家都在找一条既能消化富余可再生能源、又能压低系统碳排放的可行技术路径…

📰

JSP网上书店毕设实战:从环境搭建到下单事务的完整实现

简介:本资源为基于JSP的网上书店系统毕业设计全套资料,面向计算机相关专业需要完成毕业设计的学生及Java Web初学者。内容涵盖从系统开发背景、运行环境选择、功能分析与模块设计,到数据库需求分析、概念结构、逻辑结构设计及结构实现的完整过…

📰

PDMS数据库层级结构与数据一致性实战指南

简介:本资源是一份面向化工、石油、制药等行业初学者与设计新人的PDMS三维工厂设计系统入门指南,聚焦核心概念、数据库逻辑与Design模块实操,帮助用户快速建立PDMS工程思维与基础操作能力。文档为单个394KB的Word文件(.docx&#…

📰

SQL Server 2000数据库同步:复制与日志还原实战指南

简介:SQL Server 2000数据库同步常因手动修改遗漏导致数据不一致。PDF文档围绕两套数据库内容保持一致,整理了从复制前准备到发布订阅配置的完整流程,适合DBA与开发者在多环境部署或分布式维护时参考。文档先说明同名Windows用户、共享目录、…

📰

RollingGo酒店MCP工具扩容至7个:AI Agent酒店预订全流程能力解析

1. 这次更新到底改了什么:从4个工具到7个工具的跨越RollingGo酒店MCP这次把内置工具从原来的4个直接扩容到7个,补齐了酒旅全流程的能力闭环。如果你之前用过早期版本,应该记得那时候只能做基础的城市搜索、酒店列表拉取和房型查询&#xff0c…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬