在很長(zhǎng)的一段時(shí)間內(nèi),Visual Studio 2003/2005的代碼編輯器中的編輯字體設(shè)置,對(duì)中國(guó)的程序員來(lái)說(shuō),是一個(gè)撓頭的問(wèn)題。許多人在代碼編輯器中使用的無(wú)非是宋體、新宋體,有的安裝了Office套件后使用的是幼圓。
但是我們使用的是代碼編輯器,輸入英文代碼的數(shù)量遠(yuǎn)遠(yuǎn)大于輸入中文,而中文字體內(nèi)包含的英文字符又實(shí)在是難看,要不在設(shè)定中使用英文字體,忍受難看的中文字符,要不使用中文字體,英文顯示非常不美觀(guān)。
出現(xiàn)這種情況的原因就是Visual Studio 2002/2003/2005 中的代碼編輯器只能設(shè)定一種字體,而不能設(shè)定中文顯示用XX字體,英文顯示用YY字體。
那么最終只有一種解決辦法,就是把英文字體和中文字體合并成一個(gè)字體。我經(jīng)常想,如果有這么一種字體,其中中文字符使用的是新宋體,而字體內(nèi)的英文和標(biāo)點(diǎn)符號(hào)使用的是Courier New,就好了。我在互聯(lián)網(wǎng)中尋找了很長(zhǎng)時(shí)間,一直沒(méi)有找到。
現(xiàn)在好了,昨晚我找到一個(gè)工具,可以自己編輯你喜歡的字體,它的功能就是編輯新字體,可以把已有的多個(gè)字體文件中一部分字符復(fù)制出來(lái),然后合并成一個(gè)新字體文件。大家看看我的VS2005代碼編輯器的抓圖:

大家可以看到,上面圖片是VS2005 C# 代碼編輯器的抓圖。很明顯,上面的代碼編輯器的字體使用了兩種不同的字體:中文字體使用的是“微軟雅黑”,英文字體使用的是 “Courier New Bold”。
大家一定懷疑,我是否是修改注冊(cè)表或者修改了VS2005的編輯器。這里可以告訴大家,我沒(méi)有修改任何東西,我僅僅是使用了一個(gè)名為”Visual Studio Code Editor Font”的ttf文件而已,如下圖:

可以看出,上面的字體不是微軟附帶的字體,也不是網(wǎng)上下的字體,而是我自己制作的字體。其中的英文與標(biāo)點(diǎn)符號(hào)是Courier New Bold,中文是微軟雅黑。使用的軟件名稱(chēng)是 Font Creator 5.0 的一個(gè)軟件。
這個(gè)軟件可以使你打開(kāi)任意數(shù)量的 TTF (字體文件),顯示其中的所有字符(包括中文字符),并且可以在打開(kāi)的字體文件中任意復(fù)制粘貼任意數(shù)量的字符。
使用方法如下:
1 選擇你喜歡的中文字體文件作為模板,我選擇的是微軟雅黑字體(msyh.ttf)。
2 選擇你喜歡的英文字體文件,這里我選擇的是Courier New Bold字體(courbd.ttf)。
3 把這兩個(gè)文件從 %SystemRoot%\Font 文件夾內(nèi)復(fù)制到你指定的新文件夾內(nèi)。
4 修改msyh.ttf 的文件名,一定要取一個(gè)與Windows文件夾內(nèi)Font目錄中獨(dú)一無(wú)二的名稱(chēng)。
5 打開(kāi)Font Creator 5.0 ,打開(kāi)msyh.ttf(時(shí)間可能很長(zhǎng))。
6 打開(kāi) courbd.ttf 。
7 選擇窗口,把兩個(gè)窗口并列顯示。
8 把Courier New Bold 字體內(nèi)所有的英文字符,標(biāo)點(diǎn)符號(hào),還有空格等字符,使用復(fù)制粘貼的方式覆蓋掉微軟雅黑字體中相同位置的字符/符號(hào)。
9 檢查幾次,確認(rèn)沒(méi)有錯(cuò)誤后,單擊保存,保存字體,并把Courier New Bold 字體窗口關(guān)閉。
10 選擇“Format”菜單中的“Naming”項(xiàng),顯示出字體名稱(chēng)。因字體屬性中除了字體文件名外,主要分辨字體方式是字體的Family Name,而我們是以“微軟雅黑”作為模板的,所以必須修改這些名稱(chēng),使自己的字體名與微軟雅黑不同,否則與微軟雅黑字體名稱(chēng)沖突,無(wú)法安裝到系統(tǒng)的Font 文件夾內(nèi)。
11 修改好后,關(guān)閉程序。
12 使用系統(tǒng)資源管理器打開(kāi)Windows\Font 目錄,并安裝字體。
13 打開(kāi)VS,在工具--> 選項(xiàng) --> 字體和顏色 --> 編輯器字體 中選擇你建立的字體名。
14 成功。
需要注意的問(wèn)題:
1 注意,修改字體必須以中文字體為模板,即修改的字體文件是中文字體文件,然后打開(kāi)一個(gè)你喜歡的英文字體文件,把英文文件中的英文字符復(fù)制并粘貼到中文字體文件的對(duì)應(yīng)字符位置中。這樣工作量小,無(wú)非是大小寫(xiě)a-z字母,0-9數(shù)字,還有一些! @ # $ 符號(hào)。
2 在復(fù)制過(guò)程中,中文字體的字符位置與英文字體的字符位置是不一樣的,在Font Creator中每個(gè)字符都有一個(gè)名稱(chēng)(Unicode標(biāo)準(zhǔn)名),這個(gè)名稱(chēng)對(duì)于所有字體中的ASCII字符是相同的,所以必須確認(rèn)兩個(gè)字符名絕對(duì)等同,否則字符復(fù)制錯(cuò)誤,顯示的就是錯(cuò)字了。
3 Font Creator 使用時(shí)需要的內(nèi)存量極大,我的計(jì)算機(jī)1G內(nèi)存,在打開(kāi)/保存/測(cè)試字符時(shí),有很小一段時(shí)間程序沒(méi)有反應(yīng),這是正常的,你可以干別的事。
4 Font Creator 5.0 可以到Google中搜索,我是在華軍軟件中下的(不是廣告)。
好,教程說(shuō)完了,現(xiàn)提供我自己制作的字體(壓縮后大小8兆)英文是Courier New Bold ,中文是微軟雅黑。
博客園上傳文件被設(shè)定不得大于1.95兆,我的文件有8兆,無(wú)法上傳,誰(shuí)提供我一個(gè)FTP或幫忙上傳到博客園,謝謝!~
注:
微軟雅黑可能有人不知道,它是微軟在Vista中包含的下一代主打中文字體,被人從Vista中提取并修改,使之可以在WindowsXP中使用,可以到Google中搜索“微軟雅黑5.0”,即可下載。
update 1 :\>
1 我把我當(dāng)前使用的字體上傳了,字體使用的是微軟雅黑作為中文字體, Courier New Bold (即Courier New 的粗體)作為英文顯示。請(qǐng)大家下載,因上傳文件大小限制,分成兩個(gè)壓縮包。
[占位符:正在上傳新文件,原文件已刪除,請(qǐng)等待...]
2 我本想使用宋體字和Courier New 字體做一個(gè)字體包,給喜歡宋體字的朋友,但是我的計(jì)算機(jī)中的宋體字體文件不是TTF(True Type Font/Format)而是TTC (True Type Collections),而Font Creator 無(wú)法編輯TTC格式文件,請(qǐng)需要宋體的朋友在網(wǎng)上尋找 simsun.ttf 文件,自行修改。
3 上面提供的vscode.ttf文件,使用的是Courier New Bold ,它是Courier New 粗體格式,我現(xiàn)在正在做微軟雅黑 + Courier New 字體,給明天可以提供下載。
再次希望喜歡自定義字體的朋友,去下載Font Creator,可以自己定義自己的VS代碼編輯器字體,并提供下載謝謝!