查看原文
其他

JetBrains推出编程字体Mono:开源免费可商用、更好的阅读体验

局长 开源中国 2020-09-02

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,需要手动下载字体安装。

推荐阅读

Gitee发布2019年度数据报告,Dart增速255%

Java开发者需要研究JDK,Linux开发者需要研究Kernel

2019年C++有哪些发展?

把Vi改造成Vim的作者,现在又让Vim快了70倍

ZFS On Linux在Linux Kernel 5.0上陷入了困境

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存