哪种字体最适合编程?在本文中,我们将看看各式编辑器所使用的默认字体,考察其他的编程字体以及探讨在评估编程字体时,希望得到什么。
程序员喜欢定制自己的开发环境。他们会安装酷酷的主题,顺手的插件。不过,通常这并不包括定制字体。事实上,我猜很多程序员都不知道正使用的编辑器中的字体。忽略字体未必是件坏事,因为大多默认字体都相当棒。不过, 如果你每天使用一种编辑器 8 到 10 小时,为什么不更进一步来了解下有哪些字体可选呢?
默认字体
首先,让我们看看一些编辑器和集成开发环境(IDEs)中的默认字体。
MacOS | Windows 10 | Ubuntu | |
Sublime Text | Menlo | Consolas | Monospace |
Atom | Menlo | Consolas | DejaVu Sans Mono |
IntelliJ Idea | Menlo | Monospace | DejaVu Sans Mono |
Eclipse | Monaco | Consolas | Monospace |
Visual Studio | – | Consolas | – |
Visual Studio Code | Menlo | Consolas | Droid Sans Mono |
XCode | Menlo | – | – |
Notepad++ | – | Courier New | – |
Spacemacs | Source Code Pro | Source Code Pro | Source Code Pro |
为了制作上表,我花费了比预计要更长的时间。找出特定编辑器的默认字体是一件异常困难的事情。
我找到了一些编辑器在线文档。另一些编辑器,我都安装后查看其实际用了哪种字体。一些程序遵从操作系统或运行时的字体选择,也可能列出一个通用的字体,通常叫做类似 Monospace 。这种情况在 Linux 中更为普遍。像 Vim 或者 Emacs 这类可以运行在终端中的编辑器,它们使用终端环境中的字体,所以很难把它们加到这个表格中。
从上表来看,Menlo 和 Consolas 是大赢家。如果你使用 Mac 系统,那么你可能在用 Menlo。类似地,如果你用 Windows 系统,那么你可能在用 Consolas。下面是这两种字体的样子:
正如你所见,尽管有着一些细微的差异:即 f 的尾巴、l 的衬线、0 的宽度以及 * 的大小,在 Menlo中会宽些 — 它们是非常相似的。
想要指出 Linux 系统中的默认字体,那就更加困难,因为它们随着不同的发行版而变化。甚至在 Ubuntu 内,还存在着相当一部分的变种。一些编辑器使用操作系统默认的等宽字体。不管怎样,下面是 DejaVu Sans Mono 的样子:
注意,字符零的中间是一个圆点,而不是在 Menlo 和 Consolas 中使用的斜线。
为了进一步对比,来看下 Courier New 和 Source Code Pro (同样出现在上表中)的样子:
对比并评估字体
现在,我们已经看过了一些常见的默认字体。你可能正想了解如何去评估和对比字体。虽然字体偏好是非常主观的,但一个好的编程字体仍有一些重要的可量化的特征。
等宽的
好的编程字体应该是等宽的。不言而喻,所有的编辑器和集成开发环境默认都使用了某种等宽字体。所谓“等宽”既是每个字符在屏幕上占据着相同的水平空间。这会让文本在源代码中准确地对齐。在本文中所有提及的字体都是等宽的。
字符易于区分
有几组看起来很像的字符,比如零和字母 O、数字 1 和字母 L。在优秀的编程字体中,区分这些相似的字符应该很容易。在做编程字体评估时,要对比下面这些组字符:
组1: 零和字母 O | O, o, 0 |
组2: 壹、小写字母 l 和大写字母 L | 1 I i L l |
组3: 伍、小写字母 s 和大写字母 S | 5 S s |
组4: 贰、小写字母 z 和大写字母 Z | 2 Z z |
组5: 圆括号、方括号和大括号 | ( { [ ] } ) |
让我们看看上文列出的流行字体,是如何处理这些字符的:
以上这些字体中,Courier New 显然是最差的。它在数字 0 中没有使用斜线或者点,它的数字 1 与小写字母 L 看起来几乎一样。Consolas 也有看起来相似的数字 1 和小写字母 L。剩下的字体在区分相似字符方面做的都不错。
许可证和可用性
不是所有字体在所有操作系统上可用 — 同时也不是所有字体是免费的。例如,在 Windows 上可以找到 Consolas,但如果你想在 Mac 中使用它,就必须付款购买了。通常情况下,如果你安装了微软的其他软件,比如 Office,Consolas 会随之安装上。相似地,MacOS 自带了 Menlo,在其他操作系统(例如 Windows),中就难以获得。
如果你大多时间使用同一种操作系统,这可能不是什么大问题。然而,如果你同时使用 MacOS、Windows 和 Linux。最好去了解下哪种字体可以在这些操作系统中同时使用。
其他字体
在上文列出的默认字体之外,还有许多字体可供选择。下面是几个经常被讨论和提及的非默认字体:
-----------------------------------------------------------------------------
很多年前, 哥就闲得蛋痛的折腾编程字体了, 然后自己搞了一种编程字体, 使用至今 , 可以说是俺集成了大部分编程字体的有点, 精细制作的了, 嘻嘻...喜欢的下载:
优快云收点积分,谢谢兄弟们:
https://download.youkuaiyun.com/download/hsc456/6465493
没有积分的去百度网盘下载, 我是不是很好的好人呐, 嘻嘻:
链接: https://pan.baidu.com/s/1QwwepiKpwF70fVGCtZhRCw
提取码: h2gc
截图如下所示: