你在用哪種程式設計字型?
哪種字型最適合程式設計?在本文中,我們將看看各式編輯器所使用的預設字型,考察其他的程式設計字型以及探討在評估程式設計字型時,希望得到什麼。
程式設計師喜歡定製自己的開發環境。他們會安裝酷酷的主題,順手的外掛。不過,通常這並不包括定製字型。事實上,我猜很多程式設計師都不知道正使用的編輯器中的字型。忽略字型未必是件壞事,因為大多預設字型都相當棒。不過, 如果你每天使用一種編輯器 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。最好去了解下哪種字型可以在這些作業系統中同時使用。
其他字型
在上文列出的預設字型之外,還有許多字型可供選擇。下面是幾個經常被討論和提及的非預設字型: