zoukankan      html  css  js  c++  java
  • 在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


  • 相关阅读:
    索引
    运算符优先级
    身份运算符
    成员运算符
    位运算符
    利用java编写物品的品牌、尺寸、价格、库存(新手)
    今天聊一聊nuxt.js(上)
    初入前端,面对一个项目应注意哪些?
    小型 Web 页项目打包优化方案
    跨域的那些事儿
  • 原文地址:https://www.cnblogs.com/memset/p/vim_font.html
Copyright © 2011-2022 走看看