在上一篇隨筆中,我發布了一個使用 Font Creator 程式建立的 TrueType 類型字型,用於解決VS編輯器中代碼字元與中文字元顯示不美觀的問題。詳細內容請參考: 這裡 。
在那篇隨筆中,有朋友提出, 能否把微軟雅黑字型(負責顯示中文字元)與 Courier New 的標準版(負責顯示英文代碼)結合。原因是我在上一篇隨筆中使用的字型是 微軟雅黑 + Courier New Bold (Courier New 的粗體版)產生的新字型。而許多人不喜歡英文字元使用粗體,覺得太黑。
第二天,我就使用了Courier New 字型與微軟雅黑字型做了一個新字型,但是新字型的顯示失敗。出現的情況是當我把新字型安裝到Font目錄然後用VS設定後,在代碼編輯器中查看顯示情況時,發現所有的英文字元的顏色(當時設定的是黑色),變得非常淡,本來Courier New 字型應該是黑色的,而實際上顯示變成了灰色,根本無法閱讀代碼,我以為是我設定開啟了ClearType效果,把這個效果關閉後,還是不行,始終顯示這種情況。
後來我到Google去尋找結果,無效。但是我查看我用的字型編輯器 Font Creator 5 的協助文檔後,發現了原因,就是Font Creator 是一個TrueType 字型的編輯器,而不是OpenType字型編輯器,雖然它支援從OpenType類型字型中匯出字元,但是最終它產生的檔案是TrueType類型的。
註:如果大家不知道什麼是 TrueType 和 OpenType ,請到Google去搜尋,有許多文章解釋。反正大家只要知道OpenType非常先進就行了。
而不幸的是,我用的字型模板微軟雅黑與Courier New 都是OpenType字型。在我把英文字元複製並覆蓋到微軟雅黑字型中之後,他的OpenType的附加資料就丟失了,僅剩下TrueType資料,所以導致顯示缺陷。
我本人也對上一版的 vccode.ttf 字型非常不滿意,它使用了WindowsXP系統內建的 Courier New Bold 字型,但是顯示的效果很不好。正好我在部落格園搜尋時,發現有人推薦一款ADOBE 公司出的 CourierStd 字型,是Courier New 字型的增強版,這個字型被附帶在幾乎所有ADOBE的軟體中。好,我安裝了Adobe Acrobat Reader 7.0 其中就有這款CourierStd字型。
我就使用了這款字型的 CourierStd-Bold.otf 檔案,同樣的原因,我必須使用粗體字,否則顯示結果與Courier New 的原因一樣。最終,經過我多次修改,製作成了英文字元使用CourierStd-Bold ,中文使用微軟雅黑的新的vscode.ttf 檔案,版本號碼是1.10。下面是使用字型瀏覽器的抓圖:
在Visual Studio 2005 中的C#代碼編輯器中的顯示效果:
大家可以看出,英文顯示仍然有些缺陷,比如說字元的文字邊緣有些小毛刺。但是與上一版不同,只要把ClearType效果關閉,就可以非常完美的顯示英文字元;可是如果關閉了ClearType,使用微軟雅黑字型的中文顯示就不好看了,原因就是英文字元不是OpenType字型的緣故。
不多說了,現把新版本的字型提供下載。如果誰下載過老版本的,請刪除原先的版本,再添加新版本。
[07年9月14日修改 :停止提供下載,請看最新的隨筆。]
注2:大家可以去到Adobe的官方網站看看Adobe的 CourierStd 檔案的效果,地址是: 這裡。
注3: 這個字型有個小Bug,就是在VS代碼編輯器使用中,必須在VS設定中將文字大小設定為“12” 以上的大小,否則在代碼中小寫英文字母 i 上的點與下面的豎杠將連成一體,但是只要將文字大小設為 12 以上就可以避免這個毛病。
因檔案件比較大,我做了三個壓縮包形式,請大家下載試用。
歡迎大家提出評論,謝謝!