真香!JetBrains 推出編程字體 Mono,開源免費可商用

java識堂 發佈 2020-01-27T14:50:54+00:00

首先來看一下Mono 字體長什麼樣,它在不同程式語言中的顯示效果如下:KotlinJavaGoPython事實上,剛看到 Mono 字體時,由於本人對字體不太敏感,一時竟分不清它和 Consolas 字體的區別。

JetBrains 推出了一款名為 "Mono" 的字體。按照官方的說法,Mono 是專為開發者打造的編程字體,希望藉此提升他們在查閱代碼時的體驗。

JetBrains 還解釋了他們打造 Mono 的緣由。因為開發者大部分時間都在查閱代碼,並且他們也會花時間尋找一款適合自己的「最佳」字體來獲得最好的閱讀體驗。但 JetBrains 認為這些「網紅」編程字體大多數沒有充分考慮到通讀代碼和普通閱讀之間的區別,從而導致開發者很容易眼乾眼澀眼疲勞……為此他們決定打造一種能讓每個人都可以更輕鬆使用代碼的字體。

查閱代碼時,開發者的目光在螢幕上隨處地快速掃過(眼睛需要隨時沿垂直和水平方向移動),所以眼睛十分容易疲勞,而普通閱讀時,眼睛通常是沿著同一方向移動,相對來說就更輕鬆。因此,在設計 Mono 字體之初,團隊充分考慮了長時間查閱代碼可能導致的眼睛疲勞問題,以及受影響的因素,比如字母的大小和形狀、空間量、自然等寬平衡、不必要的細節、連字、以及難以區分的符號或字母(l 和 I)和連字等。

首先來看一下 Mono 字體長什麼樣,它在不同程式語言中的顯示效果如下:

Kotlin

Java

Go

Python

事實上,剛看到 Mono 字體時,由於本人對字體不太敏感,一時竟分不清它和 Consolas 字體的區別。

▲ JetBrains Mono 和 Consolas 字體的對比

乍一看兩者的區別不大,但字體考驗的就是對細節的把控,雖然 Mono 粗看平平無奇,其實裡面卻暗含許多門道。

Mono 字體在保證字符採用標準寬度的前提下,增加了小寫字母的高度,如此一來,每個字母將會使用更多的像素,有助於改進渲染效果。

另外,Mono 字體捨棄了許多不必要的細節,這樣做的目的是當字體較小時,仍可保證文本的清晰顯示。更重要的是,字體的形式越簡單,眼睛感知的速度就越快,也就更容易辨識。

下圖是幾個容易給使用者造成混淆的案例,對於這種情況,Mono 字體也進行了優化,相信開發者會更容易分辨。

雖然 Mono 字體有許多優點,但它支持的 143 門語言中沒有中文,因此對於中文的顯示支持可能不會太好。對了,Mono 字體還是一款開源且免費的字體,使用者可免費用作任何商業或非商業用途。



使用方式

如果使用的是最新版本 JetBrains IDE,可以直接在裡面設置 Mono 字體;如果使用的是舊版本或其他的 IDE,需要手動下載字體安裝。

作者:京東_松花皮蛋me

連結:https://juejin.im/post/5e2d809d6fb9a02fda4f4ca7

關鍵字: