1. 程式人生 > 其它 >推薦幾款優秀的開源程式設計字型

推薦幾款優秀的開源程式設計字型

目錄

為什麼要選擇合適的字型程式設計

選擇程式設計字型最重要的是有字母區分度,無區分度容易產生字母的混淆,如

  • 數字1與小寫字母L(l)
  • 小寫字母L(l)與大寫字母I(i)
  • 數字0與字母O(o)

再其次,字型美感也是很重要的(有時可以忽略【區分度】)。

(微軟雅黑)
同一款字型看久了就比較膩了,所以這兩天整理了以下幾款比較優秀的程式設計字型,既沒有字母混淆的問題(基本沒有),程式碼美感也提升了不少。

以下推薦無順序

字型推薦

1. Monaco

Monaco號稱蘋果出品最好的程式設計字型,符號字母都有不錯的區分,在Linux和Windows下都可以安裝使用。

之前在網上找到的Monaco版本會出現字型偏細,有鋸齒的情況,這裡推薦github上開源的MonacoB,粗體Monaco,實測2K下無鋸齒,Windows下完美模擬OSX。

https://github.com/vjpr/monaco-bold

網路資源(鋸齒分明,字型偏細)

粗體版(較圓潤)

2. Source Code Pro

Adobe開發的一款開源、無襯線字型,和 Source Han Sans 設計風格相近,看慣了Consolas這類等寬字型會有眼前一亮的感覺。同樣,被Adobe 公司號稱最佳的程式設計字型

scp整體較扁平,很適合看程式碼。這款字型在github開源,可以一試。

https://github.com/adobe-fonts/source-code-pro

效果圖

3. Hack

看一下開發者介紹:

Hack is designed to be a workhorse typeface for source code. It has deep roots in the free, open source typeface community and expands upon the contributions of the Bitstream Vera & DejaVu projects. The large x-height + wide aperture + low contrast design make it legible at commonly used source code text sizes with a sweet spot that runs in the 8 - 14 range. The full set of changes to the upstream source are available in the changelog.

Hack字型設計讓標準大小的程式碼能清晰易讀,它的特徵包括大字高、寬孔徑和低對比。Simpkins稱,在現代桌面和筆記本顯示器上Hack的最佳大小是 8px-12px,在高清顯示器上使用 6或7px大小的字型可以舒適的工作。Hack調整了一些容易引起混淆的字元形狀,如字母o和數字0,字母l和數字1。
翻譯引用https://linux.cn/article-6125-weibo.html

Hack更像是嚴肅版的Monaco,行間距比Consolas略高,字型圓滑,顏值還是很高的。該字型在github開源,感興趣的可以去試一試。

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

放圖

4. Courier New

Courier New 是 Windows 的預設等寬字型。歷史上最早的時候,windows只有fixedsys與CN這兩種等寬字型。CN是向量字型,是唯一一款能保證所有版本Windows都預裝的等寬向量字型。因此Code::blocks,keil,還有notepad++的預設字型都是CN。

既然windows預裝,在自己的電腦上可以直接使用。 非WIndows使用者網上資源有很多。

4. Consolas

這套字型使用了微軟的ClearType 字型平滑技術,並隨同Windows Vista、Office 2007及Microsoft Visual Studio中發行,或可在微軟的網站下載。在Windows Vista的6套新字型中,Consolas近似於前版Windows中 的2款內建字型:Lucida Console與Courier New,主要為程式程式碼的顯示字型而設計的,特別之處是它的“0”字加入了一斜撇,以方便與字母“O”分辨。
在Consolas之前,程式程式碼的顯示字型大多為Courier New或其他等寬字型,字型的柔邊(反鋸齒)效果則依個人喜好選擇開啟或關閉,然而Consolas是專為柔邊效果而設計的字型,特別是為了搭配微軟的ClearType技術,如果不開啟ClearType,Consolas的顯示效果會打大折扣。另外,ClearType技術還需要搭配液晶顯示器才會有最佳表現。
引用https://baike.baidu.com/item/Consolas

百度百科介紹的比較詳細。Consolas是CN的升級,與CN相比,Consolas更窄,能夠在較少的空間顯示更多的內容。同時Consolas也是VS系列預設字型。

5. DejaVu Sans Mono and His Family

因為字形端正大方,筆畫粗細均勻,實用性強,所以被廣泛應用於包裝設計、雜誌期刊、名片設計等領域。同時,它也是許多Linux 發行版的標準配置。它基於Vera字型家族,已經能夠支援更多的字元了,並保持了Vera的外觀和感覺。

不只是Sans Mono,DejaVu家族的字型都值得一試。該字型和其font-family在github開源。

https://github.com/dejavu-fonts/dejavu-fonts

6. Fira Code

FiraCode 是 Fira 的擴充套件,而後者是由 Mozilla 委託設計的開源字型族。使得 FiraCode 與眾不同的原因是它修改了在程式碼中常使用的一些符號的組合或連字,使得它看上去更具可讀性。這款字型有幾種不同的風格,特別是還包含 Retina 選項。該字型在github開源。

https://github.com/tonsky/FiraCode

(顏值很高)

7. Noto Mono

巨量的語言覆蓋率,由 Google 中的一個大團隊打造。

官方介紹:

Noto is Google's own font that aims to support all languages in the world. Now it has supported almost all major living languages. For most languages, eight styles are supported: {regular, bold} x {normal, italic} x {sans serif, serif}. It is used by Android and Chrome OS as the default system fonts and is also recommended by Google's Material Design. What’s more important, Noto is open source and everyone can use it for free.

這是 Google 打造的龐大 Note 字型族中的等寬版本(Noto所有字型包高達1.1G)。儘管它並不是專為程式設計所設計,但它在 209 種語言(包括 emoji 顏文字!)中都可以使用,並且一直在維護和更新。該專案非常龐大,是 Google 宣稱 “組織全世界資訊” 的使命的延續。感興趣可以觀看:google對此字型的介紹


該字型在谷歌官網可以下載

https://www.google.cn/get/noto/

8. JetBrains Mono

JetBrains Mono 是 JetBrains 公司專為開發者打造的免費開源程式設計字型,希望藉此提升他們在查閱程式碼時的體驗。Mono 字型在保證字符采用標準寬度的前提下,增加了小寫字母的高度,如此一來,每個字母將會使用更多的畫素,有助於改進渲染效果。另外,Mono 字型捨棄了許多不必要的細節,這樣做的目的是當字型較小時,仍可保證文字的清晰顯示。更重要的是,字型的形式越簡單,眼睛感知的速度就越快,也就更容易辨識。
瞭解更多細節可以去JetBrains官網對此字型的介紹

In JetBrains IDEs
The most recent version of JetBrains Mono ships with your JetBrains IDE starting with v2019.3.
Select JetBrains Mono in the IDE settings: go to Preferences/Settings → Editor → Font, and then select JetBrains Mono from the Font dropdown.

(JetBrains使用者可以直接體驗)

用於其他編輯器可以去github下載,README中有詳細安裝教程。

https://github.com/JetBrains/JetBrainsMono

總結

上述8款字型算是最常見的了,我自己一直在用Monoca(字型輕微的扭曲感像是自己手寫上去的),其餘7款也多多少少用過一段時間。 常換字型,為的就是在枯燥的改bug期間換一下心情,增益創造力。所以,多換字型,有益於改bug。