gVim 默认不支持非等宽字体,使得在 Windows 下编程中文字体的选择少很多。让我郁闷的是,有些字体明明是等宽的,在其他编辑器里使用好好的,却也没法在 gVim 中使用。到底应该怎么做,才能在 gVim 中用上喜欢而又用不了的字体呢?

gVim 是根据字体 Panose 中的 proportion 是否为 “Monospaced” 来判断等宽字体,而有些等宽字体在 Panose 的属性却不是等宽的,故无法在 gVim 中使用。

解决思路大体上有俩个:

  1. 改 gVim,使 gVim 支持非等宽字体
  2. 改字体属性,让 gVim 觉得它是等宽字体

第一种方案需要自己定制编译 gVim,或者直接使用第三方编译的 gVim 即可。鄙人很是念旧,一款软件一旦习惯,很难改变,尤其是文本编辑器这种日常必备的东西。废话这般多,怎么有种感觉这是要换编辑器呢?虽然第三方编译的 gVim 区别并不大,但我嫌麻烦,还是喜欢最新的官方版。

那只能选择第二种方案,就是改字体。一直感觉字体编辑软件很深奥、很复杂的样子,事实上就改个属性而言并不难,随手一搜便有了教程[1]。使用开源的字体编辑软件 FontForge[2],仅需几步,便可让字体有了等宽的属性。

  1. 使用 FontForge 打开所需编辑的字体文件(ttf)
  2. 菜单操作 Element -> Font Info
  3. 切换标签 OS/2 -> Panose
  4. 更改 Proportion 项为 Monospaced 并确定
  5. 生成字体 File -> Generate Fonts

使用 Windows 的文本编辑器,我喜欢使用点阵字体,看起来特别清晰,偏爱 SolidZORO 的 Zpix(最像素)[3]这款字体。

使用 Zpix C.O.D.E 的 gVim

在 Vim 我用 Zpix C.O.D.E[4],感觉良好。

参考资料

本文历史

  • 2018 年 12 月 31 日 完成初稿