ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JetBrains Mono Nerd Font 使用指南:图标集组成、字体变体选择与打补丁实战

JetBrains Mono Nerd Font 使用指南:图标集组成、字体变体选择与打补丁实战 开发工具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 仓库中patched-fonts/JetBrainsMono/README.md为核心系统讲解 JetBrains Mono Nerd Font 的图标集构成、三种字体变体NF / NFM / NFP的适用场景、连字Ligatures行为以及下载现成补丁字体与用 font-patcher 自行打补丁两条完整落地路径。读完本文你将能够根据自己的终端、编辑器与界面场景正确挑选并安装 JetBrains Mono Nerd Font也能独立使用仓库提供的打补丁工具定制自己的字体变体。JetBrains Mono 与 Nerd Fonts 版本JetBrains Mono 是 JetBrains 为开发者设计的一款等宽字体其官方定位是made for developers。本仓库中收录的 JetBrains Mono 上游版本为2.304对应的 Nerd Fonts 补丁产物位于 patched-fonts/JetBrainsMono。Nerd Fonts 的工作方式是把一系列知名图标字体iconic fonts中的字形glyphs以补丁方式合并进目标字体从而让代码字体内置编程、开发相关图标。JetBrains Mono Nerd Font 即是在原始 JetBrains Mono 之上聚合了下方 14 个图标集的结果。内置图标集构成下表完整列出 JetBrains Mono Nerd Font 当前合并的图标集及其上游来源、版本与许可证与 src/glyphs/README.md 中的全局图标集清单一致Icon set nameupstreamversionlicenseCodiconsmicrosoft/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从仓库结构看这些图标集对应的源字形文件实际存放在 src/glyphs 目录下例如font-awesome/、materialdesign/、octicons/、powerline-symbols/等font-patcher打补丁时正是从这些目录读取字形并写入目标字体。需要注意Seti and original中的字形由 src/svgs 下的 SVG 自动生成因此 src/glyphs 的维护说明特别强调不要直接编辑该源字体文件。如何选择字体变体TL;DR 快速决策如果你的环境受限于等宽字体比如终端请选择带有Nerd Font Mono缩写NFM的字体如果你想要更大的图标通常约为普通字母宽度的 1.5 倍请选择不带Mono的Nerd Font缩写NF。大多数终端支持这种用法但效果因终端而异ymmv如果你工作于比例非等宽上下文GUI 元素、编辑幻灯片等请选择带有Nerd Font Propo缩写NFP的字体。连字Ligatures说明Nerd Fonts 补丁版字体一般会保留原字体的连字特性。历史上Nerd Fontsv2.0.0在Nerd Font Mono字体中去掉了连字但从v2.1.0起这一限制已被取消。如果你使用支持连字的终端但不想启用连字通常可以直接在终端设置里关闭该特性。对应到仓库目录JetBrains Mono 的补丁产物被拆分为 Ligatures 与 NoLigatures 两个子目录分别提供保留连字与不带连字的版本两个子目录内部都按Bold、Italic、Regular、SemiBold、Thin等 16 种字形风格组织并各提供 NF、NFM、NFP 三种命名后缀的.ttf文件。三种变体的命名与文件分布在 Ligatures 目录下可以看到三类文件JetBrainsMonoNerdFont-*.ttf标准版图标为双宽/大图标JetBrainsMonoNerdFontMono-*.ttf等宽图标版图标单宽适配终端JetBrainsMonoNerdFontPropo-*.ttf比例图标版图标不额外占用横向空间适配 GUI 与文档排版。NoLigatures 目录中的文件则在家族名中带有NL例如JetBrainsMonoNLNerdFont-Regular.ttf用于在保留图标集的前提下显式移除连字。方案一直接下载已打补丁的字体适用场景你只是想快速用上 JetBrains Mono Nerd Font不做任何定制。对于稳定版本可以从项目的release 页面下载字体压缩包JetBrains Mono 对应提供JetBrainsMono.zip与体积更小的JetBrainsMono.tar.xz两种归档也可以直接使用当前仓库master分支下 patched-fonts/JetBrainsMono 目录中的开发版字体文件注意主 README 明确提醒master分支上的文件路径不视为稳定正式环境建议引用 release 标签或分支。跨平台安装方式主 READMEreadme.md 的 Font Installation 章节给出了多种安装途径JetBrains Mono 作为已收录字体同样适用Release 归档下载在脚本中拉取某字体最新归档时可把命令中的字体名替换为JetBrainsMono例如用curl下载JetBrainsMono.tar.xzHomebrewmacOSbrew install font-jetbrains-mono-nerd-fontLinux 上需在install后追加--caskChocolatey / ScoopWindowschoco install nerd-fonts-jetbrainsmono或scoop bucket add nerd-fonts后scoop install JetBrainsMono-NFArch Linux可通过 Arch 官方 Extra 软件包或 AUR 安装nerd-fonts系列包PowerShell 安装器仓库提供 install.ps1可交互安装或指定字体例如./install.ps1 JetBrainsMono安装脚本Linux/macOS 下运行 install.sh全部字体执行./install.sh单字体执行./install.sh JetBrainsMono。该方式目前需要浅克隆仓库且同样受新版字体不再进仓库的限制字体回退Font Fallback若不想替换主字体可使用NerdFontsSymbolsOnly这类仅含符号的字体作为回退Linux/fontconfig 系统可搭配仓库根目录的 10-nerd-font-symbols.conf 配置文件使用该文件需手动安装。其优点是一个符号字体即可覆盖所有文本字体缺点则是回退符号的缩放与位置可能不尽如人意。下载到.ttf/.otf文件后通常还需要按操作系统惯例双击安装到字体目录例如 Linux 的~/.local/share/fontsmacOS 的~/Library/Fonts再在终端、编辑器中把字体切换为对应的 Nerd Font 变体。方案二使用 font-patcher 自行打补丁适用场景你希望针对自己的字体或定制需求打补丁例如只合并部分图标集以减小字体体积。仓库根目录的 font-patcher 是一个 FontForge Python 脚本主 README 的 Font Patcher 章节给出了完整的运行方式。运行前提需要FontForge、Python 3、python-fontforge 与 argparse包FontForge 可通过系统包管理器安装macOS 可用 Homebrew也可使用官方 AppImage使用 AppImage 时所有传入路径必须是绝对路径且必须显式指定输出目录可用$PWD简写推荐调用方式为fontforge -script font-patcher PATH_TO_FONT若环境支持也可直接./font-patcher PATH_TO_FONT也可以使用 Docker 镜像nerdfonts/patcher通过挂载输入/输出目录运行例如docker run --rm -v /path/to/fonts:/in:Z -v /path/for/output:/out:Z nerdfonts/patcher [OPTIONS]默认并行打补丁设置环境变量PN1可单进程运行较慢PN10可指定 10 个并行任务docker pull nerdfonts/patcher可更新镜像。需要完全控制调用过程时可进入容器交互模式后执行fontforge --script ../nerd/font-patcher [OPTIONS] your_font.ttf。核心参数速查打补丁命令的核心参数如下以仓库当前版本输出为准参数说明font位置参数要打补丁的字体路径如Inconsolata.otf--careful检测到已有字形时不覆盖--mono, -s生成等宽字体新字形为单宽隐含--single-width-glyphs即 Nerd Font Mono--single-width-glyphs字形按单宽而非双宽生成默认双宽--variable-width-glyphs不调整字宽无overhang即 Nerd Font Propo--outputdir, -out输出目录--complete, -c添加全部可用字形日常打补丁通常需要它--codicons/--fontawesome/--fontawesomeext/--fontlogos/--material/--octicons/--pomicons/--powerline/--powerlineextra/--powersymbols/--weather按需选择要合并的图标集--extension, -ext更改输出字体文件类型如 ttf、otf--quiet, -q不输出冗长信息--name FORCE_NAME指定命名来源full、postscript、filename或自定义名称字符串--configfile CONFIGFILE指定配置文件可参考 src/config.sample.cfg--removeligs, --removeligatures按配置文件移除连字需配合--configfile--adjust-line-height, -l调整行高让 Powerline 分隔符居中更均匀--boxdrawing强制覆盖合并框线绘制字形--cell CELLOPT调整或查询单元尺寸如0:1000:-200:800或?--dry只检查命名不实际打补丁或保存--has-no-italic字体族无 Italic 而只有 Oblique 时使用帮助生成正确的 RIBBI 集合--metrics {HHEA,TYPO,WIN}选择垂直度量来源处理疑难字体--postprocess POSTPROCESS指定打补丁后的后处理脚本--xavgcharwidth [XAVGWIDTH]调整 xAvgCharWidth可指定具体值--debug [{0,1,2,3}]/--progressbars/--no-progressbars调试与进度条控制实操示例./font-patcher Droid Sans Mono for Powerline.otf ./font-patcher Droid Sans Mono for Powerline.otf --mono --quiet ./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons ./font-patcher Inconsolata.otf --complete ./FontForge.AppImage -script $PWD/font-patcher $PWD/CascadiaMonoPL-Semibold.ttf --octicons -out $HOME命名规则打补丁后字体的家族名font family会被设置为原家族名去掉空白并转成 CamelCase 后追加Nerd Font。例如iosevka term会变成IosevkaTerm Nerd Font。这一点与仓库中 patched-fonts/JetBrainsMono 目录的实际文件命名JetBrainsMonoNerdFont-*、JetBrainsMonoNerdFontMono-*、JetBrainsMonoNerdFontPropo-*完全对应。仓库级批量打补丁对于贡献者或需要批量重建字体的开发者仓库提供了gotta-patch-em-all-font-patcher!.sh脚本主 README Gotta Patch em All Font Patcher! 章节可一次重打src/unpatched-fonts下的全部字体支持按字体名模式或目录过滤例如./gotta-patch-em-all-font-patcher\!.sh Hermit ./gotta-patch-em-all-font-patcher\!.sh /Heavy常见问题与提示连字无法关闭如果使用支持连字的终端但希望关闭请在终端设置中查找 ligatures 相关选项一般均可手动禁用图标太大或太小图标宽度由所选变体决定——终端受限环境选NFM单宽图标追求大图标选NF约 1.5 倍字宽比例排版场景选NFPLicense 提醒JetBrains Mono 相关补丁字体的许可信息见各子目录中的OFL.txt图标集各自的许可证以上文表格为准其中 Powerline Symbols、Power Symbols IEC 等使用 MIT 等宽松许可。参考资料关联文档patched-fonts/JetBrainsMono/README.md补丁字体目录patched-fonts/JetBrainsMono含 Ligatures 与 NoLigatures全局图标集清单src/glyphs/README.md打补丁脚本font-patcher配置示例见 src/config.sample.cfg安装脚本install.sh 与 install.ps1fontconfig 回退配置见 10-nerd-font-symbols.conf赞分享开发工具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点击查看免费下载相关推荐JetBrains Mono Nerd Font 补丁字体指南Ligatures 变体选择、连字保留与自行打补丁实战JetBrains Mono Nerd Font 补丁字体指南Ligatures 变体选择、连字保留与自行打补丁实战 导读 本篇技术指南以 patched f开发工具CLIFantasque Sans Mono Nerd Font 补丁字体完全指南图标集、变体选择与打补丁实践Fantasque Sans Mono Nerd Font 补丁字体完全指南图标集、变体选择与打补丁实践 导读 Fantasque Sans Mono 是一款开发工具CLIAgave Nerd Font 使用指南字体变体选择、图标集组成与自行打补丁实战Agave Nerd Font 使用指南字体变体选择、图标集组成与自行打补丁实战 Agave 是一款以多肉植物命名的紧凑型等宽编程字体经 Nerd Font开发工具CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表