5 款 理想的编程开源字体

编程字体具有您在常规字体中找不到的某些特性;这里有五款字体供您考虑。
1042 位读者喜欢这篇文章。
5 trends in open source documentation

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

什么是最好的编程字体?首先,您需要考虑到并非所有字体都是生而平等的。当为休闲阅读选择字体时,读者期望字母能流畅地相互连接,从而带来轻松愉悦的体验。标准字体的单个字符类似于拼图碎片,旨在与整个字体的其他部分巧妙地啮合。

然而,在编写代码时,您对字体的要求通常更偏向功能性。这就是为什么大多数程序员在有选择的情况下,更喜欢使用等宽字体和固定宽度的字母。选择一种具有可区分的数字和标点符号、美观且版权许可符合您需求的字体也很重要。

有一些特性使字体成为编程的最佳选择。首先,需要详细定义是什么使字体成为等宽字体。请考虑字母 “w” 与字母 “i” 的比较。当您处理字体时,重要的是要考虑字母周围的空白以及字母本身。在纸质书籍和报纸的世界中,有效利用空间通常至关重要,因此为细长的 “i” 分配比宽大的 “w” 更小的宽度是有道理的。

有一些特性使字体成为编程的最佳选择。
然而,在终端中,您没有这样的限制,并且每个字符共享相同的空间可能非常有用。主要的功能优势是,您可以通过随意浏览一段文本来有效地“估算”代码的长度。次要的好处包括可以轻松对齐字符和标点符号,高亮显示在视觉上更加明显,并且对于印刷纸张上的光学字符识别,等宽字体比比例字体更有效。

在本文中,我们将探讨五种优秀的开源字体选项,这些字体非常适合编程和编写代码。

1. Firacode:最佳综合编程字体

FiraCode example

opensource.com

我们列表中的第一款字体是 FiraCode,这是一款真正超越职责范围的编程字体。FiraCode 是 Fira 的扩展,Fira 是 Mozilla 委托开发的开源字体家族。FiraCode 的不同之处在于,它修改了代码中常用的符号组合或连字,使其具有非凡的可读性。这个字体家族有几种样式,尤其包括 Retina 选项。您可以在其 GitHub 页面上找到它如何应用于多种编程语言的示例。

FiraCode compared to Fira Mono

opensource.com

2. Inconsolata:优雅且由杰出的设计师创建

Inconsolata example

opensource.com

Inconsolata 是最漂亮的等宽字体之一。自 2006 年以来,它一直作为开源且免费可用的选项存在。其创建者 Raph Levien 在设计 Inconsolata 时秉持一个基本理念:“等宽字体不必很糟糕。” Inconsolata 的两个突出特点是 0 和 O 之间极其清晰的差异以及其明确定义的标点符号。

3. DejaVu Sans Mono:许多 Linux 发行版的标准配置,字形覆盖范围广

DejaVu Sans Mono example

opensource.com

受 GNOME 中使用的受版权保护且封闭的 Vera 字体家族的启发,DejaVu Sans Mono 是一款极其流行的编程字体,几乎与每个现代 Linux 发行版捆绑在一起。DejaVu 在 Book Variant 下包含惊人的 3,310 个字形,而标准字体通常约为 100 个字形。您将不乏可用的字符,它对 Unicode 具有巨大的覆盖范围,并且一直在积极扩展。

4. Source Code Pro:优雅且可读,由 Adobe 的一支小型才华横溢的团队创建

Source Code Pro example

opensource.com

由 Paul Hunt 和 Teo Tuominen 设计,Source Code ProAdobe 制作 的首批开源字体之一。Source Code Pro 的显著特点是它非常易读,并且在可能混淆的字符和标点符号之间具有出色的区分度。Source Code Pro 也是一个字体家族,有七种不同的样式:Extralight、Light、Regular、Medium、Semibold、Bold 和 Black,每种样式都有斜体变体。

Differentiating potentially confusable characters

opensource.com

Metacharacters with special meaning in computer languages

opensource.com

5. Noto Mono:巨大的语言覆盖范围,由 Google 的一个大型团队创建

Noto Mono example

opensource.com

我们列表中的最后一款字体是 Noto Mono,它是 Google 广泛的 Noto 字体家族的等宽版本。虽然 Noto Mono 不是专门为编程而设计的,但它支持 209 种语言(包括表情符号!),并且正在积极维护和更新。该项目非常庞大,是 Google 组织世界信息的既定使命的延伸。如果您想了解更多信息,请查看这部关于该字体的精彩 视频

选择合适的字体

无论您选择哪种字体,您都很可能每天花费数小时沉浸其中,因此请确保它在美学和哲学层面与您产生共鸣。选择合适的开源字体是确保您拥有尽可能最佳的工作效率环境的重要组成部分。这些字体中的任何一种都是绝佳的选择,并且每种选项都具有强大的功能集,使其在众多字体中脱颖而出。

Andrew Lekashman Profile Picture
我叫 Andrew Lekashman,我担任 Input Club 的业务主管,Input Club 是一家产品开发实验室,致力于发明开源键盘技术。我们的最新产品 WhiteFox 可在 https://kono.store 预订。

11 条评论

我喜欢 Source Code Pro,并且已经使用了一段时间。我发现字母和数字非常容易看到和区分。我专门在我的 GNOME 终端程序中使用 Source Code Pro。

最近,我又开始使用 VGA 字体进行编程。我从小在 GUI 之前的“控制台”上编程计算机,因此 VGA “怀旧”对我来说非常舒适。我甚至修改了我的 Gedit 主题,使其看起来像一个老式的 DOS 编辑器。我设置字体大小,以便如果编辑器占据我屏幕的一半,我可以获得大约 80 列。对我来说,这似乎是合适的尺寸;不太大,也不太小。

VGA 字体
https://int10h.org/oldschool-pc-fonts/fontlist/

Gedit 主题
http://opensource-usability.blogspot.com/2017/04/a-throwback-theme-for-…

真是个好话题。我打算现在就开始使用其中的一些字体。感谢您整理这篇文章。

仅从您的示例来看,我会说 DejaVu Sans 和 Source Code Pro 的可读性几乎相同。Firacode 的 & 和 @ 看起来很奇怪。Inconsolata 显示了区分小写字母 L 和数字 1 的问题。Noto Mono 显示了小写字母 L 的问题,以及字母 O 和数字 0 之间的混淆。这些是字体的大问题,因为您通常没有通常的语言上下文来帮助判断这些字符。

我同意,但我更喜欢 DejaVu Sans,因为它比 SourceCode Pro 更适合我的口味,SourceCode Pro 太宽了,这使得行看起来非常长。
Hack(下面提到)是一个不错的替代方案。

FiraCode 用字形替换 ===、!= 等?哎呀!
我真诚地希望这不会成为一种趋势……

回复 ,作者 Greg P

我用过 Source Code Pro,但后来切换到 Hack,此后我几乎专门使用 Hack。

https://github.com/source-foundry/Hack

很棒的文章!谢谢,我之前不知道。

我喜欢 r_ansi,我认为它是 truetype 字体,我在 Windows 上用于 Putty 和 notepad

很棒的文章!您的文章信息量很大且独特。感谢您分享这篇文章。

另一个是 IBM Plex:https://ibm.github.io/type/

完整的字体家族包括等宽版本,并提供不同的字重。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.