5 款适合程序员的开源字体
创始人
2024-03-02 02:17:30
0

编程字体有些在普通字体中没有的特点,这五种字体你可以看看。

什么是最好的编程字体呢?首先,你需要考虑到字体被设计出来的初衷可能并不相同。当选择一款用于休闲阅读的字体时,读者希望该字体的字母能够顺滑地衔接,提供一种轻松愉悦的体验。一款标准字体的每个字符,类似于拼图的一块,它需要被仔细的设计,从而与整个字体的其他部分融合在一起。

然而,在编写代码时,通常来说对字体的要求更具功能性。这也是为什么大多数程序员在选择时更偏爱使用固定宽度的等宽字体。选择一款带有容易分辨的数字和标点的字体在美学上令人愉悦;但它是否拥有满足你需求的版权许可也是非常重要的。

某些功能使得字体更适合编程。首先要清楚是什么使得等宽字体看上去井然有序。这里,让我们对比一下字母 w 和字母 i。当选择一款字体时,重要的是要考虑字母本身及周围的空白。在纸质的书籍和报纸中,有效地利用空间是极为重要的,为瘦小的 i 分配较小的空间,为宽大的字母 w 分配较大的空间是有意义的。

然而在终端中,你没有这些限制。每个字符享有相等的空间将非常有用。这么做的首要好处是你可以随意扫过一段代码来“估测”代码的长度。第二个好处是能够轻松地对齐字符和标点,高亮在视觉上更加明显。另外打印纸张上的等宽字体比均衡字体更加容易通过 OCR 识别。

在本篇文章中,我们将探索 5 款卓越的开源字体,使用它们来编程和写代码都非常理想。

1、Firacode:最佳整套编程字体

FiraCode 示例

FiraCode, Andrew Lekashman

在我们列表上的首款字体是 FiraCode,一款真正符合甚至超越了其职责的编程字体。FiraCode 是 Fira 的扩展,而后者是由 Mozilla 委托设计的开源字体族。使得 FiraCode 与众不同的原因是它修改了在代码中常使用的一些符号的组合或连字,使得它看上去更具可读性。这款字体有几种不同的风格,特别是还包含 Retina 选项。你可以在它的 GitHub 主页中找到它被使用到多种编程语言中的例子。

FiraCode compared to Fira Mono

FiraCode 与 Fira Mono 的对比,Nikita Prokopov,源自 GitHub

2、Inconsolata:优雅且由卓越设计者创造

Inconsolata 示例

Inconsolata, Andrew Lekashman

Inconsolata 是最为漂亮的等宽字体之一。从 2006 年开始它便一直是一款开源和可免费获取的字体。它的创造者 Raph Levien 在设计 Inconsolata 时秉承的一个基本原则是:等宽字体并不应该那么糟糕。使得 Inconsolata 如此优秀的两个原因是:对于 0o 这两个字符它们有很大的不同,另外它还特别地设计了标点符号。

3、DejaVu Sans Mono:许多 Linux 发行版的标准配置,庞大的字形覆盖率

DejaVu Sans Mono example

DejaVu Sans Mono, Andrew Lekashman

受在 GNOME 中使用的带有版权和闭源的 Vera 字体的启发,DejaVu Sans Mono 是一个非常受欢迎的编程字体,几乎在每个现代的 Linux 发行版中都带有它。在 Book Variant 风格下 DejaVu 拥有惊人的 3310 个字形,相比于一般的字体,它们含有 100 个左右的字形。在工作中你将不会出现缺少某些字符的情况,它覆盖了 Unicode 的绝大部分,并且一直在活跃地增长着。

4、Source Code Pro:优雅、可读性强,由 Adobe 中一个小巧但天才的团队打造

Source Code Pro example

Source Code Pro, Andrew Lekashman

由 Paul Hunt 和 Teo Tuominen 设计,Source Code Pro由 Adobe 创造的,成为了它的首款开源字体。Source Code Pro 值得注意的地方在于它极具可读性,且对于容易混淆的字符和标点,它有着非常好的区分度。Source Code Pro 也是一个字体族,有 7 中不同的风格:Extralight、Light、Regular、Medium、Semibold、Bold 和 Black,每种风格都还有斜体变体。

Differentiating potentially confusable characters

潜在易混淆的字符之间的区别,Paul D. Hunt 源自 Adobe Typekit 博客。

Metacharacters with special meaning in computer languages

在计算机领域中有特别含义的特殊元字符, Paul D. Hunt 源自 Adobe Typekit 博客。

5、Noto Mono:巨量的语言覆盖率,由 Google 中的一个大团队打造

Noto Mono example

Noto Mono, Andrew Lekashman

在我们列表上的最后一款字体是 Noto Mono,这是 Google 打造的庞大 Note 字体族中的等宽版本。尽管它并不是专为编程所设计,但它在 209 种语言(包括 emoji 颜文字!)中都可以使用,并且一直在维护和更新。该项目非常庞大,是 Google 宣称 “组织全世界信息” 的使命的延续。假如你想更多地了解它,可以查看这个绝妙的关于这些字体的视频

选择合适的字体

无论你选择那个字体,你都有可能在每天中花费数小时面对它,所以请确保它在审美和哲学层面上与你产生共鸣。选择正确的开源字体是确保你拥有最佳生产环境的一个重要部分。这些字体都是很棒的选择,每个都具有让它脱颖而出的功能强大的特性。


via: https://opensource.com/article/17/11/how-select-open-source-programming-font

作者:Andrew Lekashman 译者:FSSlc 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

卓易信息:通过多智能体协作...
证券之星消息,卓易信息(688258)07月04日在投资者关系平台...
2025-07-04 18:13:00
华为仓颉编程语言首个 LT...
IT之家 7 月 1 日消息,华为仓颉编程语言首个 LTS 版本 ...
2025-07-01 21:12:49
【AI贵阳】贵阳人的“咖啡...
当咖啡控遇上毛笔狂, 贵阳街头“啡”常涂鸦! 墨汁混着咖啡香, 喝...
2025-06-30 12:42:35
速递|谷歌“终端智能体”的...
图片来源:谷歌 谷歌正在推出一款新型 AI Agent工具,旨在...
2025-06-27 13:12:21
AI编程再突破,首个多智能...
曾经有着较高技术门槛的编程,正随着AI技术的普及加速成为人人可用的...
2025-06-24 17:13:18
昆仑万维正式发布并开源Sk...
人民财讯6月20日电,6月20日,昆仑万维发布软件工程(SWE)自...
2025-06-20 15:40:28

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...