我想在Windows 7的gvim中获得对符文字符的支持。我有字体Free Mono和GNU Unifont(它们都支持这个范围)安装在我的字体目录中,但是它们没有出现在字体菜单中,gvim给出了我以下行无效的字体消息:
set guifont=unifont:h12:cANSI set guifont=GNU_Unifont:h12:cANSI set guifont=Free_Mono:h12:cANSI set guifont=Free_Monospaced:h12:cANSI set guifont=FreeMono:h12:cANSI etc...
我如何得到这个工作? 我注意到字体都是字体家族的一部分,“中”,而工作的Ubuntu Mono被标记为“Regular”。 这有什么区别吗? 一般来说,在gvim上更改字体,甚至是等宽字体,都没有多less运气。
你让我好奇为什么这不起作用,所以我安装了fontforge
来探听字体。 事实证明,你是正确的关于字体本身的问题: PANOSE比例代码是“均匀宽度”(4),而不是“等宽”(9)。 由于vim过滤掉了非等宽字体,这就解释了为什么它们不会显示在对话框中。
如果你有兴趣的话,我可以通过这个日本研究人员编写的独立的cygwin / X版本来获得Windows的fontforge
,通过这个页面进行英文讨论。 安装完成后,打开字体并查看Element-> Font Info-> OS / 2-> Panose。
我尝试改变设置并保存文件,但1)保存的字体文件是原来的10倍大,并花了几分钟的时间来保存文件,所以可能出错了,然后2)Windows拒绝加载它,抱怨这不是一个有效的字体文件。 我已经达到了我的好奇心,但也许你可以让它工作。
对于Win32,GTK,Motif,Mac OS和Photon:
:set guifont=*
会弹出一个字体请求者,在那里你可以选择你想要的字体。
类型:set guifont?
获取设置,并将其放入您的.vimrc
。 当你把它放到.vimrc文件中时,如果有空格,你将不得不转义空格。 例如,如果':set guifont?' 输出'Gnu Unifont 10',它需要在.vimrc中设置为:
set guifont=Gnu\ Unifont\ 10
我最近有同样的问题,并用fontforge
修复它。 这里是生成工作unifontmono.ttf
字体的工作unifontmono.ttf
:
fontforge
并打开unifont.ttf
字体。 在Debian上,这是安装在 /usr/share/fonts/truetype/unifont/unifont.ttf
Element
– > Font Info...
PS Names
更改Fontname
Family Name
, Family Name
和Name for Humans
,例如UnifontMono
。 OS/2
– > Panose
变化Proportion
到Monospaced
。 Save
。 在弹出菜单中选择Change
。 File
– > Generate Fonts...
在左边的请求者中选择TrueType
,选择No Bitmap Fonts
, Validate Before Saving
禁用Validate Before Saving
。 Save
这应该保存一个可以在Windows下安装的TTF文件。
在Windows上使用gvim
的字体:
Install
。 以管理员身份启动gvim
:
Edit
– > Startup Settings
。 设置guifont = UnifontMono:h12:cANSI
gvim
,现在应该使用转换的字体。