是什么让字体在gVim中无效?

时间:2012-04-27 02:45:31

标签: vim fonts

我在Windows 7上使用gVim,最近我在C:\ Windows \ Fonts中添加了一些字体。在gVim中,我可以:set guifont=Font_Name其中一些并按预期设置,但对于其他几个我得到E596 Invalid font(s): Font_Name

显然,不进行剪切的字体具有或缺少某些gVim需要加载的字体的属性。有没有人知道它们是什么,以及如果有的话,可以修改现有字体以符合这些标准?

特别是,以下字体失败:

我不会惊讶地发现这些字体不完整或缺少Vim所需的东西。我只是不知道要检查什么。

2 个答案:

答案 0 :(得分:6)

您是否阅读了:h guifont

我已经在另一个非常相似的问题上做了疯狂的猜测,但我找不到ATM。简而言之,Windows上的GVim对其字体非常挑剔:它想要一种等宽字体,但是你尝试过的字体中的某些东西并不是它的喜好。

在这种情况下,“Cronos Display”显然不是等宽的,所以它无法工作。我不知道“Monospace”,但我很惊讶“解放单声道”不起作用。

您可以在字体编辑器中打开字体,看看它们是否真的是等宽字体。

答案 1 :(得分:1)

这是一个similar question,我很奇怪,在同一周内。

在我的情况下,它归结为我能够使用FontForge进行调整的两件事:

  1. 拥有正确的PANOSE标签(无论是什么)" Monospaced"而不是"偶数宽度"
  2. 所有字符必须具有相同的宽度。我能够通过以下方式解决这个问题:

    1. 选择所有元素
    2. 元素 - >验证 - >发现问题
    3. 选择随机 - >位图/轮廓推进不匹配
    4. 选择BB - >检查进度:600
    5. 选择确定
  3. 在我的情况下,它逐个显示了所有具有0宽度的元素的列表,并且让我可以选择将它们固定为600宽度。

    改变这些对我来说似乎有用,但我可能已经犯了某种特征。