作为一个完美主义者,我常常为了程序编辑器、网页上用什么英文字体而烦恼。今天专门 google 了一下,了解了一些字体和可读性的知识。记录于此。
1. 什么是 serif 字体?什么是 sans-serif 字体?以及两者的区别?
serif 字体通常不同笔顺的粗细有别,且起笔落笔处有多余的小折线。
sans-serif 字体笔画不论方向粗细相同,且起笔落笔没有多余折线。
中文字体中,可以与此类比:
宋体相当于 serif 字体,黑体相当于 sans-serif 字体。
正文中应该用 serif 字体以提高可读性,标题可以用 sans serif 字体以示强调。
serif 字体在视觉上强调单词的整体,因此作为正文更可读;而 sans serif 强调单个的字母。
研究显示,在 web 中 sans-serif 字体更易阅读。
正文字体比较好的选择:Arial 9.75 或 MS Sans Serif 9.75
为了提高阅读准确性和速度,最好的字体大小是 8.25, 9.0, 或 9.75("MS Serif 8.25" 除外)。
2. 作为一个编程人员痛苦的选择
一般适合用作程序代码显示的字体,我认为有下列几个:
Courier New 9pt,
Verdana,
Lucida Console
首先说说 Courier New, 这个字体虽说经典,但总体感觉其实不好。因为它是等宽字体,所以对编程而言,其优点是每个字符区分的十分清楚,方便查找程序中的输入错误。不好的地方在于,因为是等宽字体,特别浪费显示空间,在看代码的时候恨不得自己的显示器变成 21寸的才好。。 总之就是感觉用来看那种大的框架的源代码的时候,非常不适合。一屏只能看到很少的几句代码,有只见树木,不见森林之感,不利于从宏观角度理解代码的逻辑。
另外在 VS.net 2003 里面该字体显示的中文特别大,而且很丑陋 -_-!
Verdana: 非等宽字体。总体可读性好些,但是小的错误,比如多一个少一个空格之类的,很难排查。
Lucida Console 是等宽字体。可读性也不错,但是 vs.net 显示出来有锯齿,郁闷。
(宋体,新宋体等不在讨论之列。)
欢迎大家谈谈自己喜欢的编程用的字体,并说说理由。
参考资料:
1. Readability of Fonts in the Windows Environment
http://www.acm.org/sigchi/chi95/proceedings/intpost/tst_bdy.htm
2. Font Choices for Readability
http://personal-computer-tutor.com/abc2/v13/fran13.htm