5 款適合程式設計師的開源字型

Linux中國發表於2019-04-17

程式設計字型有些在普通字型中沒有的特點,這五種字型你可以看看。

5 款適合程式設計師的開源字型

什麼是最好的程式設計字型呢?首先,你需要考慮到字型被設計出來的初衷可能並不相同。當選擇一款用於休閒閱讀的字型時,讀者希望該字型的字母能夠順滑地銜接,提供一種輕鬆愉悅的體驗。一款標準字型的每個字元,類似於拼圖的一塊,它需要被仔細的設計,從而與整個字型的其他部分融合在一起。

然而,在編寫程式碼時,通常來說對字型的要求更具功能性。這也是為什麼大多數程式設計師在選擇時更偏愛使用固定寬度的等寬字型。選擇一款帶有容易分辨的數字和標點的字型在美學上令人愉悅;但它是否擁有滿足你需求的版權許可也是非常重要的。

某些功能使得字型更適合程式設計。首先要清楚是什麼使得等寬字型看上去井然有序。這裡,讓我們對比一下字母 w 和字母 i。當選擇一款字型時,重要的是要考慮字母本身及周圍的空白。在紙質的書籍和報紙中,有效地利用空間是極為重要的,為瘦小的 i 分配較小的空間,為寬大的字母 w 分配較大的空間是有意義的。

然而在終端中,你沒有這些限制。每個字元享有相等的空間將非常有用。這麼做的首要好處是你可以隨意掃過一段程式碼來“估測”程式碼的長度。第二個好處是能夠輕鬆地對齊字元和標點,高亮在視覺上更加明顯。另外列印紙張上的等寬字型比均衡字型更加容易通過 OCR 識別。

在本篇文章中,我們將探索 5 款卓越的開源字型,使用它們來程式設計和寫程式碼都非常理想。

1、Firacode:最佳整套程式設計字型

FiraCode 示例
FiraCode example

FiraCode, Andrew Lekashman

在我們列表上的首款字型是 FiraCode,一款真正符合甚至超越了其職責的程式設計字型。FiraCode 是 Fira 的擴充套件,而後者是由 Mozilla 委託設計的開源字型族。使得 FiraCode 與眾不同的原因是它修改了在程式碼中常使用的一些符號的組合或連字,使得它看上去更具可讀性。這款字型有幾種不同的風格,特別是還包含 Retina 選項。你可以在它的 GitHub 主頁中找到它被使用到多種程式語言中的例子。

FiraCode compared to Fira Mono
FiraCode compared to Fira Mono

FiraCode 與 Fira Mono 的對比,Nikita Prokopov,源自 GitHub

2、Inconsolata:優雅且由卓越設計者創造

Inconsolata 示例
Inconsolata example

Inconsolata, Andrew Lekashman

Inconsolata 是最為漂亮的等寬字型之一。從 2006 年開始它便一直是一款開源和可免費獲取的字型。它的創造者 Raph Levien 在設計 Inconsolata 時秉承的一個基本原則是:等寬字型並不應該那麼糟糕。使得 Inconsolata 如此優秀的兩個原因是:對於 0o 這兩個字元它們有很大的不同,另外它還特別地設計了標點符號。

3、DejaVu Sans Mono:許多 Linux 發行版的標準配置,龐大的字形覆蓋率

DejaVu Sans Mono example
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 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
Differentiating potentially confusable characters

潛在易混淆的字元之間的區別,Paul D. Hunt 源自 Adobe Typekit 部落格。

Metacharacters with special meaning in computer languages
Metacharacters with special meaning in computer languages

在計算機領域中有特別含義的特殊元字元, Paul D. Hunt 源自 Adobe Typekit 部落格。

5、Noto Mono:巨量的語言覆蓋率,由 Google 中的一個大團隊打造

Noto Mono example
Noto Mono example

Noto Mono, Andrew Lekashman

在我們列表上的最後一款字型是 Noto Mono,這是 Google 打造的龐大 Note 字型族中的等寬版本。儘管它並不是專為程式設計所設計,但它在 209 種語言(包括 emoji 顏文字!)中都可以使用,並且一直在維護和更新。該專案非常龐大,是 Google 宣稱 “組織全世界資訊” 的使命的延續。假如你想更多地瞭解它,可以檢視這個絕妙的關於這些字型的視訊

選擇合適的字型

無論你選擇那個字型,你都有可能在每天中花費數小時面對它,所以請確保它在審美和哲學層面上與你產生共鳴。選擇正確的開源字型是確保你擁有最佳生產環境的一個重要部分。這些字型都是很棒的選擇,每個都具有讓它脫穎而出的功能強大的特性。


via: opensource.com/article/17/…

作者:Andrew Lekashman 譯者:FSSlc 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章