我试图在Windows 7的gvim中获得对runic字符的支持。我在我的Fonts目录中安装了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...
我如何让它工作?我注意到字体都是字体系列的一部分,“Medium”,而工作的Ubuntu Mono被标记为“Regular”。这有什么不同吗?一般来说,改变gvim上的字体,即使是等宽字体也没有太多运气。
答案 0 :(得分:5)
你让我好奇为什么这不起作用,所以我安装fontforge
来窥探字体内部。事实证明你对字体本身有问题是对的:PANOSE proportion code是“偶数宽度”(4),而不是“等宽”(9)。由于vim过滤掉了非等宽字体,这就解释了为什么它们不会出现在对话框中。
如果您感兴趣,我通过this Japanese fellow准备的独立cygwin / X版本,this page通过英语讨论获得Windows fontforge
。安装完成后,打开字体并查看Element-> Font Info-> OS / 2-> Panose。
我尝试更改设置并保存文件,但1)保存的字体文件比原始文件大10倍,保存文件花了几分钟,所以可能出错了,然后2)Windows拒绝加载它,抱怨它不是一个有效的字体文件。我的好奇心已经结束了,但也许你可以让它发挥作用。
答案 1 :(得分:4)
对于Win32,GTK,Motif,Mac OS和Photon:
:set guifont=*
将调出一个字体请求者,您可以在其中选择所需的字体。
键入:set guifont?
以获取设置,并将其放入.vimrc
。将它放入.vimrc文件时,如果有空格,则必须转义空格。例如,如果':set guifont?'输出'Gnu Unifont 10',它需要在.vimrc中设置为:
set guifont=Gnu\ Unifont\ 10
答案 2 :(得分:3)
我最近遇到了同样的问题并用fontforge
修复了它。以下是生成有效unifontmono.ttf
字体的工作流程:
fontforge
并打开unifont.ttf
字体。在Debian上,这是安装在/usr/share/fonts/truetype/unifont/unifont.ttf
Element
- > Font Info...
PS Names
下更改Fontname
,Family Name
和Name for Humans
,例如更改为UnifontMono
。OS/2
下 - > Panose
将Proportion
更改为Monospaced
。Save
。在弹出窗口中选择Change
。File
- > Generate Fonts...
。在左侧请求者中选择TrueType
,选择No Bitmap Fonts
,然后停用Validate Before Saving
。Save
这应保存您可以在Windows下安装的TTF文件。
在Windows上使用gvim
字体:
Install
。以管理员身份启动gvim
:
Edit
- > Startup Settings
。设置guifont = UnifontMono:h12:cANSI
gvim
,它现在应该使用已转换的字体。答案 3 :(得分:1)
问题是 Unifont 声称是固定宽度的,但包含全角字符(例如组合的双波浪号,U+0360)。 根据 Gvim 构建的工具包,可能不接受 TTF 字体,只能接受位图。因此有了这个答案。
将字体的副本复制到您有权限的目录中 并在 Fontforge 中打开它。
使用 Ctrl+A 选择所有元素(它们将被突出显示)。前往
操作完成后,
现在将 BDF 字体保存在文件 > 生成字体菜单 (Ctrl+Shift+G) 中。选择名称 您喜欢,否则使用默认设置。
我假设您在上一步中将字体命名为 unifix.bdf
。
退出 Fontforge,返回终端并发出
bdftopcf unifix.bdf > unifix.pcf
gzip unifix.pcf
此时可以删除留下的两个PCF和BDF文件。现在选择一条路线。
具有根权限,
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-*
。