问题是 Unifont 声称是固定宽度的,但包含双宽字符(例如组合的双波浪号,U+0360)。根据构建 Gvim 的工具包,可能不接受 TTF 字体,只接受位图。因此这个答案。
位图 (PCF) 字体的解决方案
将字体副本复制到您有权限的目录中,然后在 Fontforge 中打开它。
使用 Ctrl+A 选择所有元素(它们将突出显示)。去
- 工具栏 > 度量 > 设置宽度
- 将宽度设置为:8 {最初设置的数字的一半}
- 单击确定并等待,这将需要几分钟
操作完成后,
- 工具栏 > 元素 > 其他信息 > BDF 信息
- 在 FONT 字段中,将“Unifont”更改为“Unifix”(或您喜欢的其他名称)
- 向下滚动并单击 New > FONT ASCENT(一个数字是自动设置的,不要管它)
- 向下滚动并单击 New > FONT DESCENT(一个数字是自动设置的,不要管它)
- 点击确定
现在将 BDF 字体保存在 File > Generate Fonts 菜单 (Ctrl+Shift+G) 中。选择您喜欢的名称,否则使用默认设置。
在 Linux 中为 X11 设置字体
unifix.bdf
我将假设您在上一步中命名了字体。退出 Fontforge,返回终端并发出
bdftopcf unifix.bdf > unifix.pcf
gzip unifix.pcf
此时可以删除留下的两个PCF和BDF文件。现在选择一条路线。
拥有root权限,
mv unifix.pcf.gz /usr/share/fonts/X11/misc
mkfontdir /usr/share/fonts/X11/misc
xset fp rehash
如果您没有 root 权限或不想在主目录中对系统范围的目录大惊小怪,
mkdir .fonts
mv unifix.pcf.gz .fonts
mkfontdir .fonts
xset +fp $HOME/.fonts/
xset fp rehash
每次重新启动后都需要重复这两个 Xset 命令。
现在应该列出字体是xfontsel
并且xlsfonts
你终于可以在 Gvim 中使用它了
:set gfn=-*-unifix-*
。