在GVim中使用所有的Windows字体的方法
说实话, 一直使用GVIM, 但是没能找到一个在GVIM中能用的好看的字体, 不是因为没有字体, 而是在GVIM不能使用,
GVIM默认在执行:set guifont=*选择字体时只支持等宽字体(貌似也并不是所有的等宽字体都能选择), 这导致很多的字体
不能使用, 而能使用的字体却又显示效果非常差, 很不好看, 反正我是这样觉得, 在Ubuntu下面显示效果很好...
经测试, 不使用等宽字体,GVIM也能正常工作, 但是这么久以来, 作者为什么没有作修改? 明显, 并不是所有时候都要
使用等宽字体. 虽然Vim是写代码的利器...
好吧, 说说修改方法(源代码修改):
1.修改需要用到的工具:VS(VC6,VC2012等貌似都可以)
2.下载一个你需要的版本的源代码(文件名是vim**src.zip):ftp://ftp.vim.org/pub/vim/pc/
3.解压出其中的src目录
4.找到os_mswin.c(以vim74为例)
找到函数 int get_logfont(LOGFONT *lf,char_u* name,HDC printer_dc,int verbose);(在第2684行处)
修改 cf.Flags = CF_SCREENFONTS | CF_FIXEDPITCHONLY | CF_INITTOLOGFONTSTRUCT; 为 cf.Flags = /*CF_SCREENFONTS | CF_FIXEDPITCHONLY |*/ CF_INITTOLOGFONTSTRUCT;
找到函数 static int CALLBACK font_enumproc(ENUMLOGFONT* elf,NEWTEXTMETRIC* ntm,int type,LPARAM lparam);(在第2608行处)
注释掉以下两行代码,看作者的注释就可以知道.
/* Ignore non-monospace fonts without further ado */ //if ((ntm->tmPitchAndFamily & 1) != 0) //return 1;
5.用NMAKE重建EXE
执行命令:nmake -f Make_mvc.mak GUI=yes IME=yes DEBUG=no MBYTE=yes 即可
关于makefile的命令要求:参考Make_mvc.mak
6.没有了, enjoy!
如果不想动手的, 可以直接下载我修改后的版本, 我是用VC6.0和NMAKE编译的
除了以上两个需要修改的地方, 源代码未作其它任何修改
下载地址:http://pan.baidu.com/s/1bnvlGWv
女孩不哭 @ 2013-06-14 05:33:08 @ http://www.cnblogs.com/nbsofer