技术文章第一时间送达!

作者:局长

JetBrains 推出了一款名为 "Mono" 的字体。按照官方的说法,Mono 是专为开发者打造的编程字体,希望借此提升他们在查阅代码时的体验。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_ide

JetBrains 还解释了他们打造 Mono 的缘由。因为开发者大部分时间都在查阅代码,并且他们也会花时间寻找一款适合自己的“最佳”字体来获得最好的阅读体验。

但 JetBrains 认为这些“网红”编程字体大多数没有充分考虑到通读代码和普通阅读之间的区别,从而导致开发者很容易眼干眼涩眼疲劳……为此他们决定打造一种能让每个人都可以更轻松使用代码的字体。

查阅代码时,开发者的目光在屏幕上随处地快速扫过(眼睛需要随时沿垂直和水平方向移动),所以眼睛十分容易疲劳,而普通阅读时,眼睛通常是沿着同一方向移动,相对来说就更轻松。

因此,在设计 Mono 字体之初,团队充分考虑了长时间查阅代码可能导致的眼睛疲劳问题,以及受影响的因素,比如字母的大小和形状、空间量、自然等宽平衡、不必要的细节、连字、以及难以区分的符号或字母(l 和 I)和连字等。

首先来看一下 Mono 字体长什么样,它在不同编程语言中的显示效果如下:

Kotlin

IDEA专为程序员推出新字体,开源免费,快来试试吧!_java_02

Java

IDEA专为程序员推出新字体,开源免费,快来试试吧!_ide_03

Go

IDEA专为程序员推出新字体,开源免费,快来试试吧!_开发者_04

Python

IDEA专为程序员推出新字体,开源免费,快来试试吧!_redis_05

事实上,刚看到 Mono 字体时,由于本人对字体不太敏感,一时竟分不清它和 Consolas 字体的区别。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_ide_06

▲ JetBrains Mono 和 Consolas 字体的对比

乍一看两者的区别不大,但字体考验的就是对细节的把控,虽然 Mono 粗看平平无奇,其实里面却暗含许多门道。

Mono 字体在保证字符采用标准宽度的前提下,增加了小写字母的高度,如此一来,每个字母将会使用更多的像素,有助于改进渲染效果。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_redis_07

另外,Mono 字体舍弃了许多不必要的细节,这样做的目的是当字体较小时,仍可保证文本的清晰显示。更重要的是,字体的形式越简单,眼睛感知的速度就越快,也就更容易辨识。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_redis_08

下图是几个容易给使用者造成混(成)淆(功)的案例,对于这种情况,Mono 字体也进行了优化,相信开发者会更容易分辨。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_ide_09

虽然 Mono 字体有许多优点,但它支持的 143 门语言中没有中文,因此对于中文的显示支持可能不会太好、对了,Mono 字体还是一款开源且免费的字体,使用者可免费用作任何商业或非商业用途。

IDEA专为程序员推出新字体,开源免费,快来试试吧!_新版本_10

使用方式

如果使用的是最新版本 JetBrains IDE,可以直接在里面设置 Mono 字体;如果使用的是旧版本或其他的 IDE,需要手动下载字体安装。

END

Java面试题专栏

【40期】说一下线程池内部工作原理【39期】Mybatis面试18问,你想知道的都在这里了!【38期】一份tcp、http面试指南,常考点都给你了【37期】请你详细说说类加载流程,类加载机制及自定义类加载器【36期】说说 如何停止一个正在运行的线程?【35期】谈谈你对Java线程之间通信方式的理解【34期】谈谈为什么要拆分数据库?有哪些方法?【33期】分别谈谈联合索引生效和失效的条件【32期】你知道Redis的字符串是怎么实现的吗?【31期】了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?应对措施是什么

 

IDEA专为程序员推出新字体,开源免费,快来试试吧!_ide_11