Skip to content

简体中文终端更纱黑体+Nerd图标字体库。中英文宽度完美2:1,图标长宽经过调整,不会出现对齐问题,尤其适合作为终端字体。

License

Notifications You must be signed in to change notification settings

mzr1996/Sarasa-Term-SC-Nerd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sarasa Term SC Nerd 字体

关于

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

字体效果

  • 文字效果:以 Regular 样式为例

    文字效果

  • 图标效果:Powerline 图标

    图标效果

  • 对齐效果:终端里 emacs/org-mode 中的表格对齐

    对齐效果

特性

  • 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表中的panosepost表中的isFixedPitch,使得字体被系统认出是等 宽字体。
  • 删除了 Material 字符集中的部分字符,避免超出字体字符数量上限

安装

  • 手工下载安装:
    • 前往 release 下载 sarasa-term-sc-nerd.ttc.tar.gz
    • sarasa-term-sc-nerd.ttc.tar.gz 解压即可得到字体文件。

使用

在你的主题配置文件中,使用 Sarasa Term SC Nerd

如何生成字体

根据我的实践,在原流程基础上做了一些修改,以下流程仅针对 Ubuntu 环境,其他环境可自行调整

  1. 安装依赖

    sudo apt install python3-fontforge fontforge
  2. 下载并进入 nerd font 源码目录,以下所有操作都在此目录下进行。

    git clone --filter=blob:none [email protected]:ryanoasis/nerd-fonts.git
  3. 将本项目 scripts 目录下的文件(不含script目录自身)拷贝过去。

  4. 安装 python 环境(建议使用 Miniconda 配置虚拟环境)

    pip install fonttools
    
  5. 建立 sarasa 目录,下载并解压SarasaTermSC-TTF.7z,并解压文件放入该目录中。

  6. 安装fontpatcher

    wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FontPatcher.zip
    unzip FontPatcher.zip && rm -rvf FontPatcher.zip
    
  7. 修改 font-patcher, 其中第一行改为 #!/usr/bin/python3,这是因为 fontforge 相关绑定安装在系统的 Python 中,而不是虚拟环境的 Python 中;

    找到 # Define the character ranges 一行,这里定义了一系列附加字符集,由于数量较多,直接和 Sarasa 字体合并 会导致字符数量超出 65535 上限从而失败,因此需要根据需要删减一部分,删减方式为修改需要删减部分的 SymStart 或者 SymEnd。本库中 release 的字体将 MaterialSymEnd 改为了 0xF1708

  8. 运行脚本 ./build,在 sarasa-nerd目录下将生成.ttf字体文件。同时,所有的 .ttf也被打包成一个.ttc字体合集文件。

About

简体中文终端更纱黑体+Nerd图标字体库。中英文宽度完美2:1,图标长宽经过调整,不会出现对齐问题,尤其适合作为终端字体。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.6%
  • Shell 1.4%