写代码应该用哪种字体

等宽字体与比例字体

等宽字体(Monospaced)是指字符宽度相同的电脑字体,与此相对,字符宽度不尽相同的电脑字体称为比例字体(Proportional)。一图胜千言,如下:

等宽字体与比例字体

在早期的电脑中,由于技术的局限,无法进行字母宽度的比例调整,因此只能将每个字符都制作成一样的宽度,从而形成了等宽字体。在等宽字体中,字母 ij 显得两侧余白较多,而字母 wm 等的笔画显得相当拥挤。但是随着图形用户界面主流的更新和计算机技术的提高,处理比例字体的局限性得到了突破,因此现在排版上显得比较自然的比例字体的使用已经相当普及。这里所讨论的都是英文字体,对于中文字体而言,一般认为它们都是等宽的。
Windows 中常用的等宽字体为 Consolas;macOS 中常用的等宽字体为 Menlo;Linux 中常用的等宽字体为 Mono

衬线字体与非衬线字体

顾名思义,衬线体(Serif)和无衬线体(Sans-Serif)的区别就在于有无衬线,而衬线则指的是字形笔画末端的装饰细节部分。一图胜千言,如下:

衬线字体与非衬线字体

这里所讨论的都是英文字体,对于简体中文字体而言,习惯性称衬线字体为宋体,非衬线字体为黑体,如下:

宋体与黑体

衬线字体常用于印刷业,而且特别适用于长篇文章段落;非衬线字体简洁大方,适用于广告、标志、牌子等短句。另外,系统、程序和网页中的字体也几乎都是非衬线字体,即使是很长的段落,这是因为显示器分辨率低,字体不能减小,如果用衬线字体,那些边边角角就很难用像素显示清楚,结果反而不利于阅读。
Google 在 2015 年就将其原本的衬线体 Logo 换成了无衬线体 Logo:

Google Logo 变化

我们在写 Word 文档时,常用的英文衬线字体就是 Times New Roman;而在做 PPT 时,个人倾向于使用非衬线字体微软雅黑

编程

写代码应该使用的字体对于衬线或非衬线要求不大,但强烈建议使用等宽字体,这样可以便于代码对齐,因为比例字体的宽度不定,这会对代码对齐造成极大的困难。另外,还应该对特殊字符有较高的辨识度,比如 I(大写 i)、l(小写 L)、1(数字 1),0(数字 0)、O(大写 o) 等。最后,中文字符的宽度应该严格是英文字符宽度的 2 倍,在某些时候,你会发现这很有用。

基于以上,个人倾向于使用 be5invis 开发的 Sarasa-Gothic(更纱黑体) 系列字体,它的前身便是 Inziu Iosevka 系列字体,现在已经迁移至 Sarasa-Gothic,推荐使用其中的 Sarasa Term SC 型字体。此外,这一系列字体都是开源免费的。

术语

在下载某些字体时,可能会遇到相关术语,如下:

  • mono:即 Monospaced,等宽字体
  • sans:即 Sans-Serif,无衬线体
  • gothic:哥特体,即无衬线体
  • bold:粗体
  • italic:斜体
  • bolditalic:加粗斜体
  • regular:常规体
  • sc:即 Simplified Chinese,简体中文
  • tc:即 Traditional Chinese,繁体中文
  • cl:即 Classical Literature,《康熙字典》字形
  • j:即 Japanese,日文
  • ligature:连体字符,举例来说,会把 != 变成

配色

关于代码配色,就真是个“仁者见仁,智者见智”的问题了,个人要求满足以下两点:

  1. 采用黑色背景
  2. 官网提供多种编辑器的支持

综上,个人倾向于使用 Dracula