设置中文字体为 "终端更纱黑体-简 Nerd"时遇到问题

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

安装平台为:win11

在 elisp 中输出 font-family-list 对应该字体的结果为

( "\326ն˸\374ɴ\272\332\314\345-\274\362 Nerd" "\326ն˸\374ɴ\272\332\314\345-\274\362 Nerd Extralight" "\326ն˸\374ɴ\272\332\314\345-\274\362 Nerd Light" "\326ն˸\374ɴ\272\332\314\345-\274\362 Nerd Semibold" "System" "Terminal" ...)

依照原仓库的说明, 字体的名称应该为 Sarasa Term SC Nerd,但是我设置该字体并未生效,同样,我使用其中文名称的话也不可以。

所以我该怎么做?

小白发问,有不妥之处先饶了我这一次555

1 个赞

你先试试 describe-char 命令,看看你目前中文字体所用的字体,另外给出你字体的配置

是这样子的,我能看到我使用的中文字体是宋体,并不是我配置文件中的字体,我配置文件中是利用这一语句返回我的目标字体

((member "Sarasa Term SC Nerd" (font-family-list)) "Sarasa Term SC Nerd")

也就是说,我的目标字体名字叫做 Sarasa Term SC Nerd,但是,我在 *scratch* 打印 font-family-list 时,得到的结果并没有名为 “Sarasa Term SC Nerd” 的字体,只有以其中文名字为名的字体,也就是原提问中那一串码。所以我想问的问题是:

  1. font-family-list 中给出中文名字是正常的吗?
  2. 在这样的情况下我依然使用"Sarasa Term SC Nerd"能否设置成功? 谢谢。

开启菜单栏,在 Options =》 Set Default Font 里面设置你想要的字体,然后 describe-char 查看字体名字,再通过代码设置

字体的名称应该是“终端更纱黑体-简 nerd”,我的习惯是使用 set-face-attribute 来配置字体,像是

(set-face-attribute 'default nil
                             :family "终端更纱黑体-简 nerd")

然后 再执行 describe-char命令,看看是否字体正常。当然你也可以用其他方式。

谢谢,直接用中文名字的确是可以的,不过还是好奇为什么英文名字不可以,我在另一台设备上(fedora37)上安装同款字体后直接使用英文名配置就可以。