什么是好的编程字体:等宽字体
2010-07-30 16:55 Johnny Qian 阅读(4683) 评论(0) 编辑 收藏 举报作为程序开发者,每天打交道最多的就是程序代码了,而每天读写几千行的代码让眼睛很容易产生疲劳,我自己对此已经是深恶痛绝了.为了保护自己眼睛同时提高自己的代码读写效率,显然是要从显示程序代码的字体入手.下面讲讲我编程多年以来代码字体的选择之路.
目前很多人都还在使用宋体作为自己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. 清晰的标点符号外形,尤其是大括符、圆括符和方括符。
本文基于知识共享署名 2.5 中国大陆许可协议发布,欢迎转载、演绎或用于商业目的,但是必须保留本文的署名Johnny Qian和链接。