你在用哪种编程字体?

哪种字体最适合编程?在本文中,我们将看看各式编辑器所使用的默认字体,考察其他的编程字体以及探讨在评估编程字体时,希望得到什么。

程序员喜欢定制自己的开发环境。他们会安装酷酷的主题,顺手的插件。不过,通常这并不包括定制字体。事实上,我猜很多程序员都不知道正使用的编辑器中的字体。忽略字体未必是件坏事,因为大多默认字体都相当棒。不过, 如果你每天使用一种编辑器 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。最好去了解下哪种字体可以在这些操作系统中同时使用。

其他字体

在上文列出的默认字体之外,还有许多字体可供选择。下面是几个经常被讨论和提及的非默认字体:

编程字体小汇总,总会有你喜欢的那一款!

如果你正在使用一种非默认字体并偏爱它,我很有兴趣了解是哪种字体。

打赏支持我翻译更多好文章,谢谢!

打赏译者

打赏支持我翻译更多好文章,谢谢!

4 16 收藏 19 评论

关于作者:七桃我就走

学习Python中。Dota2老菜鸟。 个人主页 · 我的文章 · 15 ·  

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部