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

來源:互聯網
上載者:User

  說實話, 一直使用GVIM, 但是沒能找到一個在GVIM中能用的好看的字型, 不是因為沒有字型, 而是在GVIM不能使用,
GVIM預設在執行:set guifont=*選擇字型時只支援等寬字型(貌似也並不是所有的等寬字型都能選擇), 這導致很多的字型
不能使用, 而能使用的字型卻又顯示效果非常差, 很不好看, 反正我是這樣覺得, 在Ubuntu下面顯示效果很好...

  於是乎, 想修改一下GVIM實現選擇所有字型,... 當然, 很容易想到的就是修改參數,修改傳遞給comdlg32.ChooseFontA
函數的參數(可以自己使用depends或od斷查看調用的函數), 我得到了這個結果:

其中:0x00004000位為:CF_FIXEDPITCHONLY, 表示只能使用等寬字型,............

於是手動在OD中修改其為0x00000041即可, 測試可以選擇絕大多數字型(沒數)....

修改前後, 看捲軸長度就知道了:

經測試, 不使用等寬字型,GVIM也能正常工作, 但是這麼久以來, 作者為什麼沒有作修改? 明顯, 並不是所有時候都要使用等寬字型.

好了, 現在回到OD中, 找到為Flags賦值為那條語句:

004C3126    |.  8B35 F4E75E00         MOV ESI,DWORD PTR DS:[5EE7F4]004C312C    |.  8B0D F8EA5E00         MOV ECX,DWORD PTR DS:[5EEAF8]                   ;  gvim.00400548004C3132    |.  83C4 0C               ADD ESP,0C004C3135    |.  C74424 14 3C000000    MOV DWORD PTR SS:[ESP+14],3C004C313D    |.  894C24 18             MOV DWORD PTR SS:[ESP+18],ECX004C3141    |.  C74424 28 41400000    MOV DWORD PTR SS:[ESP+28],4041004C3149    |.  85F6                  TEST ESI,ESI004C314B    |.  74 0C                 JE SHORT gvim.004C3159004C314D    |.  B9 0F000000           MOV ECX,0F004C3152    |.  8BFB                  MOV EDI,EBX004C3154    |.  F3:A5                 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]004C3156    |.  8B7D 08               MOV EDI,DWORD PTR SS:[EBP+8]004C3159    |>  8D4424 14             LEA EAX,DWORD PTR SS:[ESP+14]004C315D    |.  33D2                  XOR EDX,EDX004C315F    |.  50                    PUSH EAX                                        ; /pChooseFont004C3160    |.  895C24 24             MOV DWORD PTR SS:[ESP+24],EBX                   ; |004C3164    |.  66:895424 48          MOV WORD PTR SS:[ESP+48],DX                     ; |004C3169    |.  FF15 54805900         CALL DWORD PTR DS:[<&COMDLG32.ChooseFontA>]     ; \ChooseFontA

在16進位編輯器搜尋C744242841400000即可找到該語句, 修改成C744242841000000就行啦!

GVIM的字型比原來更好看了~~~

gvim有點大, 不便上傳, 如需要修改後的版本, 請聯絡我就行了.

女孩不哭 @ 2013-06-14 05:33:08 @ http://www.cnblogs.com/nbsofer

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.