跳至主要内容

【Other】GiHub 推出的新字體 Monaspace!

MonaspaceGitHub Next 團隊其中一個 project。先來講講什麼是 GitHub Next,這個團隊就是 GitHub 的 R&D(Research and Development) Team,主要的研究產品都會在 GitHub Next 上面進行,像是 GitHub Copilot、GitHub Copilot Lab、Code Brushes 等等,而在最近 2023/11/09 上線的 Monaspace 就是 GitHub 推出的新產品。

一開始我想說 Monaspce 怎麼感覺很熟悉,原來跟一般我們使用的 Monospace 長得超像,只是把**「o」改成「a」,而 Monospace 的意思是等寬字體**,一般程式碼都會使用等寬字體,在 Vscode 中的預設字體就是 Consolas, 'Courier New', monospace",大部分認為等寬字體可以幫助程式碼對齊,讓程式碼更容易閱讀。

不過呢也有很多人覺得 Monospace 不好閱讀,因為每個字元的寬度都是一樣的,所以會造成一些字元看起來很窄,像是「m」、「w」 等等,而有些字體就會看起來很寬,像是「i」、「l」 等等。所以 Monaspace 就是來解決這個問題,在現有的等寬字體上,調整這些在視覺上會有影響的字體,讓程式碼看起來更舒服。

看一下官方 Monaspace 的字體對比圖:



把 i 跟 m 調整過後看起來就好看很多!他們把這個調整叫做 Texture healing(紋理修復),而這次所有推出的新字體都有這個功能,目前只有推出 5 種字體,分別是 Noen、Argon、tKrypton、Xenon、Radon,而這些字體都是以元素命名,撇除氦(Helium) 其他的就是惰性氣體的名字 氖(Ne)、氬(Ar)、氪(Kr)、氙(Xe)、氡(Rn),而為什麼要使用惰性氣體取名字,官方沒有特別解釋原因,不知道是不是因為這些原子結構比較穩固(等寬?),純屬個人猜測哈哈,有人知道的話可以在底下留言!



除此字體之外,Monaspace 也有包含 Code ligatures (程式碼連字) 可以去設定一些常用的符號連字,像是 ->=>=== 等等,這些連字可以讓程式碼看起來更美觀,而這些連字也是可以自訂的,可以去看看官方的說明

安裝

有提供幾種安裝方式:

  1. 最簡單的就是直接下載字體檔,然後放到電腦的字體資料夾。

  2. 如果用 Mac 可以下:

  brew tap githubnext/tap
brew install monaspace

安裝完可以去 ~/Library/Fonts 看看有沒有安裝成功。



詳細的可以看Desktop Installation

使用方法

在 Vscode 打開 User Setting 的設定檔,加上

  "editor.fontFamily": "'Monaspace Neon', monospace",

就可以使用 Monaspace Neon 這個字體了,如果要使用其他的字體,只要把 Neon 改成其他的字體名稱就可以了。

實際在程式碼看到的效果:

  • Neon


  • Argon


  • Krypton


  • Xenon


  • Radon


我自己是比較喜歡 ArgonRadon,最後是用 Argon,看起來很清爽而且數字閱讀起來很舒服!


再來是程式碼連字的部分,可以在 User Setting 的設定檔加上

   "editor.fontLigatures": "'ss01', 'ss02'",

可以把想加的連字規則加上去,比較常用的會是運算符號 ss01ss02,使用後會像這樣:



目前問題

因為這個 project 才剛推出,還有很多 Issue 問題,好像在某些 IDE 像是 JetBrain 等等會有無法使用的情況,可以持續關注看看後續的更新,希望大家都可以找到喜歡的 coding 字體!!