Sarasa Term SC Nerd 字体是以 Sarasa Term
SC字体为基础,修改了Nerd
fonts字体补丁程序,然后用该程序将Nerd fonts合并入Sarasa Term SC, 再经过一些后处理,而最后形成的字体。该字体特别适合
简体中文用户在终端或者代码编辑器中使用。
在 laishulu/Sarasa-Term-SC-Nerd 的基础上,更新了上游版本
上游版本:
- Sarasa Term SC:1.0.16
- Nerd Font: 3.2.1
- Font Patcher: 4.13.1
Sarasa Term SC是极少数做到中文和英文 2:1 严格对齐的字体,特别适合用来写代 码, 以及中英文混合的字符式表格的对齐等。Nerd fonts提供了很多图标字体,特别适合各种 Zsh/Bash/Vim/NeoVim/Emacs 主题, 例如 zsh 的p10k,Powerline等等。- 一些符号进行了纵向拉伸,不会出现
Powerline条带中高低不一,无法上下对齐的情况。 - 原始
Sarasa Term SC字体和Sarasa Term SC Nerd字体可以共存,不会产生冲突。 - 将
OS/2表中的xAvgCharWidth属性进行了设置,避免了在 windows 系统下,一些 不支持新版本OS/2表的软件中字距不正常的问题。 - 加入了
hdmx表,解决了 windows 系统下的一些情况下无法严格对齐的问题。 - 修正了
OS/2表中的panose和post表中的isFixedPitch,使得字体被系统认出是等 宽字体。 - 删除了
Material字符集中的部分字符,避免超出字体字符数量上限
- 手工下载安装:
- 前往 release 下载
sarasa-term-sc-nerd.ttc.tar.gz。 - 将
sarasa-term-sc-nerd.ttc.tar.gz解压即可得到字体文件。
- 前往 release 下载
在你的主题配置文件中,使用 Sarasa Term SC Nerd。
根据我的实践,在原流程基础上做了一些修改,以下流程仅针对 Ubuntu 环境,其他环境可自行调整
-
安装依赖
sudo apt install python3-fontforge fontforge
-
下载并进入
nerd font源码目录,以下所有操作都在此目录下进行。git clone --filter=blob:none git@github.com:ryanoasis/nerd-fonts.git
-
将本项目
scripts目录下的文件(不含script目录自身)拷贝过去。 -
安装
python环境(建议使用 Miniconda 配置虚拟环境)pip install fonttools -
建立
sarasa目录,下载并解压SarasaTermSC-TTF.7z,并解压文件放入该目录中。 -
安装
fontpatcherwget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip unzip FontPatcher.zip && rm -rvf FontPatcher.zip -
修改
font-patcher, 其中第一行改为#!/usr/bin/python3,这是因为fontforge相关绑定安装在系统的 Python 中,而不是虚拟环境的 Python 中;找到
# Define the character ranges一行,这里定义了一系列附加字符集,由于数量较多,直接和 Sarasa 字体合并 会导致字符数量超出 65535 上限从而失败,因此需要根据需要删减一部分,删减方式为修改需要删减部分的SymStart或者SymEnd。本库中 release 的字体将Material的SymEnd改为了0xF1708。 -
运行脚本
./build,在sarasa-nerd目录下将生成.ttf字体文件。同时,所有的.ttf也被打包成一个.ttc字体合集文件。


