您的位置:首页 > 其它

在GVim中使用所有的Windows字体的方法

2013-06-14 05:34 190 查看
  说实话, 一直使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: