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


  • 相关阅读:
    浏览器的同源策略及跨域解决方案
    前端开发工具系列
    初始Vue
    form表单组件
    聚合和分组F,Q和事物,cookie,session
    js循环找id
    div模拟textarea文本域轻松实现高度自适应
    prototype原型
    Javascript异步编程方法
    js中map、filter用法
  • 原文地址:https://www.cnblogs.com/memset/p/vim_font.html
Copyright © 2011-2022 走看看