5 款开源字体,非常适合编程

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

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

什么是最好的编程字体?首先,你需要考虑到并非所有字体都是平等创建的。当为休闲阅读选择字体时,读者期望字母能够平滑地相互流动,从而带来轻松愉快的体验。标准字体的单个字符类似于旨在与整个字体中的每个其他部分 carefully mesh 的拼图碎片。

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

某些特性使字体最适合编程。首先,有必要详细定义一下是什么使字体成为等宽字体。以字母“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 发行版捆绑在一起。与通常轻松拥有约 100 个字形的标准字体相比,DejaVu 在 Book Variant 下包含惊人的 3,310 个字形。您将不乏可使用的字符,它对 Unicode 具有巨大的覆盖范围,并且一直在积极增长。

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

Source Code Pro example

opensource.com

Source Code Pro 由 Paul Hunt 和 Teo Tuominen 设计,由 Adobe 制作,成为其首批开源字体之一。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,因为后者的字体太宽了,在我看来,这使得行看起来非常长。
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本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.