8

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

显然,没有进行剪切的字体具有或缺少 gVim 对其加载的字体所需的某些属性。有谁知道这些是什么,如果有的话,人们可能会做些什么来修改现有字体以使其符合这些标准?

特别是,以下字体失败:

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

4

2 回答 2

7

你读了:h guifont吗?

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

在这种情况下,“Cronos Display”显然不是等宽的,所以它不可能工作。我不知道“Monospace”,但我很惊讶“Liberation Mono”不起作用。

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

于 2012-04-27T06:04:22.457 回答
2

这是我在同一周提出的一个类似问题,很奇怪。

就我而言,它归结为两件事,我可以使用 FontForge 进行调整:

  1. 拥有“等宽”而不是“均匀宽度”的正确 PANOSE 标签(无论是什么)
  2. 所有字符必须具有相同的宽度。我可以通过执行以下操作来解决此问题:

    1. 选择所有元素
    2. 元素 -> 验证 -> 查找问题
    3. 选择随机 -> 位图/轮廓提前不匹配
    4. 选择 BB -> Check Advance: 600
    5. 选择确定

就我而言,它一一列出了所有宽度为 0 的元素的列表,并让我可以选择将它们修复为 600 宽度。

改变这些似乎对我有用,但我可能犯了某种字体。

于 2015-11-27T23:40:22.607 回答