以前如果你搜「最佳编程字体」,得到的推荐离不开这么几个: 熟悉 Mac 的用 Monaco、特别怀旧的用 Courier、喜欢 Windows 的用 Consolas,最多再来一个 DejaVu 或者 Andale Mono。但如今各种编程用的字体已经如雨后春笋般冒出来了,比如昨天就看到一款叫做 Hack 的新编程字体,除此之外现在还有很多其他新鲜的选择:
1. M+
先推荐 M+,他其实已经不新了,从整个家族第一款点阵字追溯起来有超过十年历史。不过长期的更新让 M+ 有了比较完整的字体家族,等宽版本有两个字宽,窄字宽包含 5 种字重,宽字宽包含 7 种字重,其中窄字宽的版本特别合适每行代码内容都特别长的情况,同时因为作者来自我们东面的邻国,所以对日文支持很好,编程环境用得到日文那就很适合 M+ 了。
M+ 官网 • Wikipedia 上的介绍页面 • M+ 的 Typekit 页面
2. Input
比起 M+,Input 同样相当有诚意,整个家族的可选范围更加恐怖,自带衬线体、无衬线体、等宽体三个版本,每个版本都包含了 7 个字重,4 个字宽,总有一款适合你。简单做一下乘法计算你就会发现这是整整 84 个不同选择,除此之外 Input 的自定义程度也很高,a、g、i、0 等字母和数字都有多种选择以适应所有人的需要。因为实在是太丰富,所以为了照顾选择犹豫症的朋友 Input 直接提供了一个预览页面方便大家自定义后直接下载。
Input 官网 • 在线预览页面
3. Fira Code
这年头如果没个自家的正文字体,都不好意思叫大厂了,Adobe 有 Source,Intel 有 Clear Sans,Apple 有 San Francisco,Google 有 Roboto,而 Mozilla 主推的字体系列是 Fira,今天介绍的这个 Fira Code 是基于 Fira Mono 等宽字体的的一个扩展,主要特点是加入了编程连字特性(ligatures),何为连字?传统西方文字排印的一个特性,比如「f」和「 i」放在一起的时候两个字母容易粘连,那设计者就会专门设计一个连字字符来替代原来单独的「f」和「i」的连字:
OpenType 格式的字体可以支持连字,任意指定当某几个特定字符一起出现时替换为设计过的连字字符。很多编程字体包括 Fira Code 就是利用了这个特性来对编程中的常用符号进行优化,比如把输入的「!=」直接显示成「≠」或者把「>=」变成「≥ 」等等,以此来提高代码的可读性,听着还挺厉害的对吧,不过请先把脱掉的裤子穿回去,因为支持这个连字属性的编辑器并不多,不可用的编辑器包括但不限于 SublimeText、XCode、Emacs、Eclipse……好了,我也不列下去了,我没有一一去测试过,反正能不能用要看天命了~
Fira Code 主页 • 原版 Fira Mono 及 Fira Sans 主页
4. PragmataPro
跟楼上那个一样,这款编程专用字体也有很多连字,除此之外另一个碉堡了的特性是作者从 9 到 48px 为这个字体做了每个字号大小的点阵字,所以如果你很倾向于使用像素位图字体的话一定会喜欢。不过……那个谁谁谁,还是先别把裤子给穿起来,因为我还没说完……这个字体收费来着,完整版 59 欧,简易版 19 欧。
PragmataPro 官网 • 全部特性的完整样张
5. Monoid
那有没有一款既在小尺寸下做过点阵字,又支持各种编程连字,同时还免费呢?在这个 open 为王的时代,显然也是有的,那就是 Monoid,虽然小尺寸只优化了 12px 版本,但是看在人家完全免费并且开源,就尝试一下吧~整体感觉跟 M+ 的窄体比较像,非常紧凑,但可读性很棒,同时作者提供了一个 Retina 版本专供高分辨率显示器
Monoid 官网 • Github 上的页面
6. Courier Prime Code
那份熟悉的味道,来自新世纪的翻新,一听 Courier 这个名字就知道是跟上面几个字体完全不同的画风,源自打字机的 Courier 是个典型的 Slab Serif 字体,在我们的电脑上服役了好多年之后有人出了翻新版 Courier Prime,同时也给他配备了去掉粗壮衬线的 Courier Prime Sans 和 Courier Prime Code。只保留骨架的 Courier Prime Code 和 Fira 略像,不过 X 高度更高、字宽更壮硕、字怀更宽阔,如果你特别钟意这种不在乎屏幕横向空间、充分外扩的霸气,那就选他了~
Courier Prime 主页
7. 其他
文章标题没有取成「十大编程字体」之类的就是因为接下来我也不打算详细介绍骗字啦~大家自己看看吧~
前面提到过的新品 Hack:
一款旧作 Envy Code R:
大师 Mark Simonson 的 Anonymous Pro:
8. 最后
安利到现在也许你想问:那 JJ 童鞋你自己用哪一款编程字体来着?我只能很诚实地告诉你,其实我自己根本不喜欢等宽字体,哪怕增加一些纠错的难度和时间也要把编辑器里常用字体设成 Source Sans Pro,哈哈哈哈,是不是想打我的心都有了,请先别下手……因为广受好评的 Source 系列字体显然有等宽的版本:Source Code Pro,七个字重,常规和斜体,良心之作,童叟无欺~