也談編程等寬字體

http://be-evil.org/post-42.html

 

作爲程序開發者,每天打交道最多的就是程序代碼了,而每天讀寫幾千行的代碼讓眼睛很容易產生疲勞,我自己對此已經是深惡痛絕了.爲了保護自己眼睛同時提高自己的代碼讀寫效率,顯然是要從顯示程序代碼的字體入手.下面講講我編程多年以來代碼字體的選擇之路

目前很多人都還在使用宋體作爲自己IDE的程序顯示字體,這個字體英文和數字的顯示顯然讓我不敢恭維,看上十五分鐘眼睛都酸脹到不行...

 

宋體代碼顯示樣子,單獨看估計也看不出什麼效果

我對編程字體的要求比較高:字體大小要適中、字體必須是等寬,能輕鬆的分辨0,O,間距適中,才方便識別的條件下儘可能的顯示更多的代碼行數,下面就是我的個人比較推薦的等寬編程字體:

首先出場:Courier New

 

Courier New 是老牌的經典等寬編程字體了,Windows系統自帶,很多代碼編輯器默認的字體都是它,程序的教科書上也能經常看到它的身影。經典歸經典但是我卻不太喜歡它,用10px的吧,無論是液晶還是CRT顯示器下都顯的毛呼呼的,辨認起來很困難眼睛容易疲勞,用11px吧,字體幾乎大了50%,本來字體間距就很寬,一變大,屏幕可視範圍內無論是橫向還是縱向就沒有多少代碼能看到了。沒辦法,用了一段時間後淘汰了它。

 

Fixedsys

 

Fixedsys是和Courier New一樣經典的字體,Windows系統自帶,很多開發者都在用它,它屬於點陣型字體,方方正正。但是由於是點陣字體,字體很粗且符號顯示很難看,特別是複雜點的正則表達式讀起來真是要我命3000.用了一段時間後淘汰...繼續尋找。。

Consolas

 

Consolas是2005年微軟隨着VS.NET 2005發佈的一款專用編程字體,憑着“專用”這2個字就讓我使用了它很久,等寬,字體粗細均勻,用起來的確很不錯。不過很可惜它也沒讓我堅持下來,原因有下:11px大小下粗體爆醜,完全和不粗的時候是2個樣子,感覺就像發福了的美女。然後括號過高,多行代碼開起來沒有整齊的美感(天哪,我太完美主義了。。),在我變態的要求下,Consolas也被我pass了

Lucida Console

 

Lucida Console也是Windows自帶的一款經典等寬字體,字體大小適中,字形美觀大方,我看到時非常喜歡,但是使用一段時間後發現一個嚴重的問題:字行距太緊,2行代碼之間幾乎只有1px的距離,看多行代碼時感覺一堆字符擠在一起十分難受,沒辦法,淘汰。。。

Monaco

Monaco據說是來自Mac的一位美女,認識她時我就深深的喜歡上了它,優雅的字體和符號讓我使用了很久,但是用久了以後苛刻的我又挑出2個理由淘汰了它:字體過於細長,比起其他的字體識別起來要長,長時間閱讀容易疲勞。字體行距距過長,與Lucida Console相反,Monaco行距相當高,加上字體本身就是細長的,導致一個頁面顯示行數比其他字體最多少出10行之多,每天我就不知道要多轉多少次鼠標滾輪,所以。。淘汰。。

最後 Lucida Sans Typewriter

 

 它與Lucida Console本是同根生,擁有着Lucida家族的所有長處,而且最好的地方就是解決了Lucida  Console行距過短的問題,它無論是大小,可讀性,美觀我都無可挑剔,而且先前那些字體的不足它全部都沒有。目前我將所有的編輯器的字體都設置爲  Lucida Sans Typewriter ,不知道在未來我是否能夠在它身上找出問題,但是至少它是我覺得最好的編程字體,現在我會一直使用它的。。

附錄:


編程用字體選擇標準:
1. 所有字符等寬
2. 簡潔、清晰、規範的字符形體
3. 支持ASCII碼爲128以上的擴展字符集
4. 空白字符(ASCII: 0x20)與其他字符等寬
5. '1'、'l'和'i'等三個字符易於區分
6. '0'、'o'和'O'等三個字符易於區分
7. 雙引號、單引號的前後部分易於區分,最好是鏡像對稱的
8. 清晰的標點符號外形,尤其是大括符、圓括符和方括符

Monospace/Fixed Width Programmer's Fonts: http://www.lowing.org/fonts/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章