Nerd Fonts 字体修补器是一款工具,可让您向任何字体添加与编程和开发相关的字形。本文档提供了关于如何使用 font-patcher 脚本向您自己的字体添加各种图标集的全面指南。有关具体修补选项和标志的信息,请参阅修补选项。
字体修补器是一个Python脚本,它使用FontForge将各种图标集中的字形添加到现有字体中。它以原始字体作为输入,并生成一个带有添加字形的修补字体文件。
来源:font-patcher1-50 readme.md19-27 readme.md412-455
在使用字体修补器之前,您需要安装以下依赖项:
python-fontforge 包argparse Python 包或者,您可以使用FontForge releases上的FontForge AppImage。
字体修补器脚本是Nerd Fonts仓库的一部分。要使用它,您需要脚本本身及其支持文件。
推荐的方法是将修补器作为存档下载。
重要提示:仅下载font-patcher脚本是不够的。该脚本需要仓库中的额外文件。
Nerd Fonts还提供了一个用于修补字体的Docker镜像。
此方法不需要在本地安装依赖项。
字体修补器由几个协同工作的重要组件组成。
来源:font-patcher15-39 font-patcher323-432
或直接执行(如果设置了可执行权限)
使用FontForge AppImage
字体修补器在修补字体时遵循以下一般过程:
修补过程中涉及的关键方法是:
patch() - 处理主要修补逻辑generate() - 创建输出字体文件setup_font_names() - 根据Nerd Fonts约定重命名字体来源:font-patcher348-512 font-patcher513-529
修补后,字体的名称将根据以下规则进行修改:
例如
字体修补器具有复杂的逻辑,可以处理不同的命名情况,包括带有空格的变体。
font-patcher脚本提供了许多选项来自定义修补过程。以下是主要类别:
| 选项 | 描述 |
|---|---|
-c, --complete | 添加所有可用字形 |
--fontawesome | 添加Font Awesome字形 |
--fontawesomeext | 添加Font Awesome扩展字形 |
--fontlogos | 添加Font Logos字形 |
--octicons | 添加Octicons字形 |
--codicons | 添加Codicons字形 |
--powersymbols | 添加IEC电源符号 |
--pomicons | 添加Pomicon字形 |
--material | 添加Material Design图标 |
--weather | 添加Weather图标 |
| 选项 | 描述 |
|---|---|
-s, --mono | 生成单宽(等宽)字形 |
--variable-width-glyphs | 不调整字符前进宽度(比例) |
-l, --adjust-line-height | 调整Powerline分隔符的行高 |
| 选项 | 描述 |
|---|---|
-out OUTPUTDIR | 修补字体输出目录 |
-ext EXTENSION | 更改输出字体文件类型(例如,ttf, otf) |
来源:font-patcher462-539 readme.md462-539
当您运行字体修补器时,您将看到类似的输出:
Nerd Fonts Patcher v3.3.0-21 (4.16.1) (ff 20230101)
originalFontName: Inconsolata.otf
Font contains 782 glyphs
Patching with Powerline Symbols
Patching with Font Awesome
Patching with Font Awesome Extension
Patching with Devicons
...
Generated: 'InconsolataNerdFont-Regular.otf'
最终输出将是一个新的字体文件,位于您指定的输出目录中(如果未指定,则在当前目录)。
使用Docker容器可以简化修补过程,无需安装依赖项。
缺少依赖项:
FontForge module could not be loaded下载不完整:
Can not find symbol glyph directory字体不兼容:
--careful选项以避免覆盖现有字形。可变字体:
Source font is a variable open type font (VF)来源:font-patcher25-39 font-patcher463-477
Nerd Fonts字体修补器是一个强大的工具,用于向任何字体添加面向开发者的字形。通过遵循本指南,您应该能够修补您喜欢的字体并根据您的需求进行自定义。