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

来源: OSCHINA
编辑: 局长
2020-01-17

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,需要手动下载字体安装。>>> 戳这里获取下载地址

P.S. 本人尚未进行使用,因此不能提供任何反馈,各位如果有兴趣不妨下载体验一下。我们常说“JetBrains 出品,必属精品”,希望这次不会翻车 : )

展开阅读全文
81 收藏
分享
加载中
精彩评论
感觉还是courier new好看
2020-01-17 08:49
18
举报
注释直接用英文说得不好听那就叫装逼
2020-01-17 10:18
12
举报
Source Code Pro 舒服些,mono 看着别扭
2020-01-17 09:52
7
举报
这都不是事,Jetbrains他家的IDE都支持设置两个字体。Font和Fallback Font。把Font设置成英文字体,Fallback Font设置成中文字体即可。中文字体天生就是等宽的,所以可以去掉只显示等宽字体的选项,以便显示更多中文字体可供选择。

另外vscode设置的直接就是Font-Family,这玩意本身就可以支持多个字体簇,英文放前,中文放后即可,这样英文和中文都会有好看的显示效果
2020-01-17 15:05
5
举报
因为这是个机器人,只会问为什么。
2020-01-17 17:51
4
举报
最新评论 (91)
刚出来的时候我就果断换了,和liberation-mono一样,初看起来貌似没啥,但是越看越顺眼,就像陈年美酒一样需要细细品
2020-01-28 20:13
1
回复
举报
Source Code Pro 更好,字体更多
2020-01-28 20:08
0
回复
举报
我觉得要保护眼睛,首先要选一款好显示器,比如mac的Retina屏,然后是定时休息眼睛,再就是别老加班和熬夜。新年快乐!
2020-01-25 19:46
0
回复
举报
应该可以添加一个设置 是否启用操作系统 浏览器...。。的隐私保护
2020-01-20 12:56
0
回复
举报
然而我觉得一般般
2020-01-20 10:10
0
回复
举报
现在懒得换了,系统默认什么字体就什么字体!
2020-01-19 09:49
1
回复
举报
注释用英文是装逼?格局忒小了吧。
2020-01-19 00:04
2
回复
举报
你和这样的人辩驳,他就已经赢了
2020-01-26 10:15
2
回复
举报
良好的编程字体必须分得清0O、1lI,所以courier new作为编程语言都不及格。
2020-01-18 19:30
3
回复
举报
不错,说明里说了很多对于编程字体的特殊要求,的确有所获益。
另:中文字体不是你想做就做的,和拉丁文的工作量,起码差4个数量级。
2020-01-18 16:21
2
回复
举报
推荐consolas with yahei,个人觉得很棒
https://github.com/crvdgc/Consolas-with-Yahei
2020-01-18 16:19
1
回复
举报
这个是二合一了,idea里面设置主字体consolas,fallback字体雅黑,一样的。关键这么搞字体其实是有版权问题的。
2020-01-27 10:42
0
回复
举报
更多评论
91 评论
81 收藏
分享
返回顶部
顶部