字体调查:42 种最佳等宽编程字体






4.91/5 (106投票s)
本文介绍了常用的编程字体,并提供了 ClearType 和非 ClearType 模式下的字体示例。
引言
最近我看到一些博客在讨论哪些 字体 最适合用于编程。有些博客列出了两三种字体,有些列出了十种字体。但我知道还有更多我没读到的字体,所以我决定四处看看能找到多少。
以下是我在选择编程字体时会考虑的一些因素:
![]() |
易读性 - 字母清晰,标点符号易于区分 |
![]() |
等宽性 - 这点其实是基于上一点。虽然我知道有些程序员坚持认为 Arial 或 Verdana 可以在 IDE 或编程编辑器中使用,但我本次调查只包含了 固定宽度的字体。 |
![]() |
适当的留白 - 过于紧凑的字体更难阅读,也更容易出错 |
![]() |
区分相似字符(1 和 l,0 和 O)易于辨认 |
字体
下表按字母顺序列出了最常被引用的编程字体。其中许多是免费的,但有些只能通过购买获得,价格从 8 美元到 150 美元不等。作为参考,您可以查看 CodeProject 的最佳编程字体列表。我对字体的看法与其他编程工具无异——它们是专业的投资。我不鼓励非法使用或复制字体。如果您找到一种您离不开的字体,那么如果它是商业销售的,您就应该购买它。当您把花费在上面所有的时间加起来时,字体的价格每小时只相当于几分钱。
下表中标明了每种字体示例使用的字号。我尽量使用能够轻松查看字体特征的字号——这些字号不一定是在正常编辑时会使用的字号。所有示例图片均使用 Visual Studio 2005 拍摄。
使用 ClearType | 未使用 ClearType |
AdaptiveCode Regular 11磅 | |
![]() |
![]() |
[OTF 版本的注释。] AdaptiveCode Regular 最初于 1999 年为一家软件开发商设计,当时是一个 OEM 字体。该字体的“可变衬线”处理允许字符适应其构建所基于的 560em 网格。微妙的人文主义触感平衡了机械/技术结构,并结合对微调的细致关注,带来了出色的可读性。数字非常漂亮,感叹号上的微小衬线也很独特。这是一款高品质的商业字体,可从 PSY/OPS Type Foundry 购买,价格为 20 美元。 | |
Akkurat-Mono 11磅 | |
![]() |
![]() |
Akkurat-Mono 是一款商业字体,由 Laurenz Brunner(其常规 Akkurat 字体曾用于 Al Gore 的著作《难以忽视的真相》、Prada 网站和 Nike 篮球)于 2004 年为 Lineto 字库设计。它的行距比 Bitstream Vera Sans Mono 更大。其双层结构的 g 很有特色,比一些其他无衬线字体中的卷曲式 g 更好看。我认为这款字体具有某种欧洲风格——看看小写 a 上的小尾巴,以及大写 G,它比 Andale Mono 或 Consolas 更封闭。数字也显示了 Helvetica 风格的 5 和 9 底部上扬的曲线。1(数字一)易于与小写 l 区分,i 带有完整的衬线,并且有一个斜线的零。Akkurat-Mono 可能是本次调查中最易读的字体。 Print Magazine 称“Brunner 的杰作,无衬线 Akkurat,是中性、无花哨——且华丽——字体的典范。” 这是一款高品质、吸引人的字体,即使在小字号下也非常清晰;长时间工作也会很舒适。唯一的缺点是价格超过 150 美元。这比本次调查中其他任何字体的价格都要高 40%。尽管如此,这款字体值得一看——其品质足以作为一项长期投资,物有所值。 | |
Andale Mono 11磅 | |
![]() |
![]() |
可能是微软提供的最好的等宽字体,Andale Mono 最初名为 Monotype.com,由 Steven Matteson 为 Apple/IBM Taligent 项目设计。非常清晰、无衬线,留白很多,带有点状零(这可能是该字体唯一的缺陷——在小字号下,点状零可能被误认为是 8)。在最佳编程字体列表中,它一直位列前十,包括 CodeProject 上的列表。有关此字体的更多信息,请参阅 此处。微软网页核心字体之一。在此处下载:此处。 | |
Anonymous 10磅 | |
![]() |
![]() |
Anonymous 是 Mark Simonson 的衬线 TrueType 版本,源自 Anonymous 9,后者是 Susan Lesch 和 David Lamkins 在 90 年代中期开发的免费 Macintosh 位图字体。非常清晰,不如 Andale Mono 紧凑,留白很多,带有一个略显奇怪的斜线零,斜线方向是从左到右,而不是从右到左。Anonymous 一直在最佳编程字体列表中位列前十。免费字体,在此处下载:此处。 | |
Arial Monospaced 11磅 | |
![]() |
![]() |
Arial Monospaced 是我用过的最易读的字体之一,也是我购买过的为数不多的字体之一。唯一的缺点是缺少斜线零(大写 O 和零非常相似),我用字体编辑程序很快就解决了这个问题。这是一款 Monotype 字体,使用其 ESQ 技术生产,可在许多字体网站上在线购买。典型价格:20 美元。 | |
Aurulent Sans Mono 11磅 | |
![]() |
![]() |
Aurulent Sans Mono 由 Stephen G. Hartke(Verily Serif Mono 字体的创建者)设计。它是一款非常清晰、易读的字体,但缺少斜线零(零比大写 O 稍窄)。它是公共领域字体。在此处下载:此处。 | |
Bitstream Vera Sans Mono 11磅 | |
![]() |
![]() |
我总是回到这款出色的可读字体。它绝对是 Arial Monospaced 的竞争对手,并且有两个优势:它带有点状零,而且是免费的。它有一个完整的衬线 i 和出色的数字,以及一个容易与 1(数字一)区分的小写 l。在 CodeProject 的最佳编程字体列表中并列第五。据字体设计师 Jim Lyles 所说:“Bitstream Vera 实质上是 Bitstream Prima 的降级版。Gnome 要求我们修改等宽字体中的一些字符,特别是为了提高编码的可读性。我们在零上增加了一个中心点,并修改了小写 l 以区别于数字一。虽然我设计了 Vera(Prima),但实际上是 Sue Zafarana 将其改编为等宽版本,有时这是一项非常艰巨的任务。” Bitstream, Inc. 已免费发布 Vera 字体以供使用和分发(这些字体本身不能出售)。在此处阅读更多信息:此处。另请参阅 DejaVu Sans Mono。 | |
BPMono 11磅 | |
![]() |
![]() |
与 Bitstream Vera Sans Mono 类似,这款清晰的字体易于阅读,带有斜线零,但不如 Vera 那样清晰——例如,比较一下大写 W 和数字。花括号弯曲程度特别大。来自设计师的网站:“BPmono 和 BPmono Bold 是经过手动微调的 9px 到 16px 字体,适用于各种高级文本和编程编辑器(例如 Visual Studio)……”。在此处或在此处下载:此处 或 此处。 | |
Century Schoolbook Mono BT 11磅 | |
![]() |
![]() |
清晰的衬线字体,无斜线零(零比大写 O 稍窄)。小写 l 与 1(数字一)非常相似。可在许多字体网站上在线购买。典型价格:25 美元。 | |
Consolas 11磅 | |
![]() |
![]() |
Consolas 是由著名设计师 Luc(as) de Groot 为微软创建的开发者字体,专为 ClearType 设计。许多程序员喜欢它,并且它在 CodeProject 的最佳编程字体列表中排名第二。水平方向稍显紧凑,垂直留白充裕,并带有斜线零。等号 (=) 的两条线比其他字体靠得更近,在小字号下更难区分。大写 I、1(数字一)和小写 l 都带有完全相同的衬线——与 Bitstream Vera 或 Onuava 比较一下。Consolas 字体包可从微软在此处下载:此处。Consolas 也包含在 PowerPoint Viewer 2007 中。 | |
Courier 12磅 | |
![]() |
![]() |
标准的 Windows 字体,无斜线零(零与大写 O 相比呈方形)。与 ClearType 无异。最初于 1956 年由 Howard Kettler 为 IBM 新的革命性系列电动打字机设计。 | |
Courier New 11磅 | |
![]() |
![]() |
标准的 Windows 字体,无斜线零(零比大写 O 稍窄且高)。由 Adrian Frutiger 为 Windows 3.1 从 Courier 重设计,比原版稍细且更清晰。在 CodeProject 的最佳编程字体列表中排名第一。 | |
Crystal 12磅 | |
![]() |
![]() |
Crystal 由 Jerry Fitzpatrick 创建,非常易读且清晰。它带有斜线零,并且比 Bitstream Vera Sans Mono 等字体略显紧凑。它在编程字体列表中一直排名靠前。请注意易于区分的大写 I、小写 l 和 1(数字一)。该字体不显示重音符(`),而是显示一个中心点。在此处下载:此处。 | |
DejaVu Sans Mono 11磅 | |
![]() |
![]() |
DejaVu Sans Mono 基于 Bitstream Vera Sans Mono 字体,并拥有比 Bitstream Vera 更广泛的字符集。此处列出了更改:此处。在此处下载 DejaVu Sans Mono:此处。 | |
Dina 10磅 | |
![]() |
![]() |
据其设计师 Jørgen Ibsen 所说:“Dina 是一款等宽位图字体,主要面向程序员。它相对紧凑,可以在屏幕上显示更多代码,同时(希望)足够清晰,即使在高分辨率下也能保持可读性。我制作这款字体是在尝试了我能找到的所有免费编程字体之后。不知何故,它们各自都有一些细节让我无法长期使用。我发现最接近完美的是 Proggy 字体,其作者很慷慨地允许我修改。于是我开始以 Proggy 为基础,并受到 Tobi、Fixedsys 和我过去喜欢的一些旧 DOS 字体的启发来构建这款字体。” Dina 似乎比 Proggy 字体更易读。像它们一样,Dina 带有斜线零。Dina 的小写 l 和 1(数字一)比 Proggy Clean 中的相同字符更容易区分。与 Proggy 字体不同,Dina 在 ClearType 下没有区别。Dina 在喜欢的编程字体列表中经常被提及。典型评价:“是我用过的最好的编程字体。”在此处下载:此处。 | |
DPCustomMono2 10磅 | |
![]() |
![]() |
来自 Distributed Proofreaders 的免费 DPCustomMono2 字体旨在使校对人员能最大程度地提高文本的可读性。基于此目标,重点在于字符的独特性和标点的清晰度。我可能不会一直使用它,但当您疲倦且试图阅读不熟悉的 [代码] 时,它肯定会有帮助。在此处下载:此处。 | |
Droid Sans Mono 11磅 | |
![]() |
![]() |
我最初听到这个名字时以为是开玩笑,但 Droid Sans Mono 实际上非常易读,数字也很漂亮,只是缺少斜线零(零比大写 O 稍窄)。Droid 字体系列由 Ascender Corporation 的 Steve Matteson 为 Google 的 Open Handest Alliance 的 Android 平台设计。获取方式具有挑战性,因为它包含在免费的 Android SDK 中,该 SDK 在 Apache 许可证下发布。在此处下载 Android SDK(92MB!):此处,或者直接使用 Damien Guard 提供的下载:此处。 | |
Envy Code R 11磅 | |
![]() |
![]() |
Envy Code R 是一款很棒的免费字体,由 Damien Guard 设计,他最近加入了微软从事 Linq 产品工作。Envy Code R 非常易读且带有斜线零,但在清晰度方面不如 Bitstream Vera(例如,看看大写 W)。它包含了许多用于命令行(dosbox)窗口的框线、阴影和符号。这款字体的一个有趣特点是“斜体即粗体”变体,通过将斜体标记为粗体,克服了 Visual Studio 对斜体的反感。在 Visual Studio 的“选项”的“字体和颜色”部分选择“Envy Code R VS”,并在任何您想要斜体的地方选择粗体。在 CodeProject 的最佳编程字体列表中并列第五。在此处下载:此处。 | |
Everson Mono 11磅 | |
![]() |
![]() |
Everson Mono 的设计师 Michael Everson 说:“Everson Mono 是一款简单、优雅的等宽字体。我从 1994 年开始设计它,主要是为了提供支持 Unicode 和 ISO/IEC 10646-1 中非汉字符的字形,尽管我希望用户可以将其作为 Courier 和 Monaco 的一个令人愉快的替代品,用于通用目的、电子邮件等。我发现它在小至 4 点的字号下也相当易读。它比 Courier 更轻,间距也稍大。”这款字体行距较大。无斜线零;大写 O 比零更短更宽。在此处下载:此处。共享软件,40 美元。 | |
HelvMono 11磅 | |
![]() |
![]() |
这款看起来像 Arial 的字体,其大写 O 与零无法区分,大写 I 与小写 l 无法区分。6 和 9 几乎是闭合的,在小字号下难以阅读。在此处下载:此处。 | |
Inconsolata 12磅 | |
![]() |
![]() |
Inconsolata 是一款由 Raph Levien 设计的免费 OpenType 字体,他深受 Luc(as) de Groot 的 Consolas 字体的启发。与 Consolas 一样,Inconsolata 与 ClearType 配合效果更好——例如看看小写 l 和 m。非常清晰,带有斜线零。可在の处获取:此处。 | |
Liberation Mono 11磅 | |
![]() |
![]() |
来自 Wikipedia:“这些字体由 Steve Matteson(Droid 字体和 Andale Mono 的创建者)在 Ascender Corp. 开发,名称为 Ascender Sans 和 Ascender Serif。2007 年,该字体系列的变体增加了等宽字体和开源许可证,被 Red Hat, Inc. 授权为 Liberation 字体系列。”这款字体(LiberationMono-Regular.ttf)有一个点状零,尽管根据 Wikipedia 2008 年的一个较新版本有斜线零(我找不到)。小写 l 易于与 1(数字一)区分,i 带有完整的衬线。这是一款非常清晰、易读的字体。在此处或在此处下载:此处 或 此处。 | |
Lucida Console 11磅 | |
![]() |
![]() |
Lucida Console 是 Lucida Sans Typewriter 的一个变体,行距较小,并且具有较大的 x-height,使其在所有字号下都易读。无斜线零,但零比大写 O 稍窄且高。Lucida Console 在 CodeProject 的最佳编程字体列表中排名第三。Lucida 是 Charles Bigelow 和 Kris Holmes 于 1985 年设计的一系列相关字体的扩展。 | |
Lucida Sans Typewriter 11磅 | |
![]() |
![]() |
与 Lucida Console 非常相似,但行距更大。大写 O 和零的区分度不如前者——它们的高度相同,尽管零仍然稍窄一些。 | |
Luxi Mono 11磅 | |
![]() |
![]() |
Luxi 是由 Bigelow and Holmes Inc. 的 Kris Holmes 和 Charles Bigelow 最初为 X Window System 设计的一系列字体。Luxi 类似于 Lucida(他们之前的字体设计)。Luxi 字体常见于 Linux 等免费软件操作系统。它们是 Red Hat 的 Bluecurve 主题的默认字体。与 Lucida 字体一样,Luxi Mono 没有斜线零;大写 O 和零的高度相同,尽管零稍窄一些。与 Lucida 不同的是,小写 l 和 1(数字一)之间的区别较小;两者都带有完整的衬线。在此处或在此处下载:此处 或 此处。 | |
Monaco 10磅 | |
![]() |
![]() |
Monaco 最初是一款 Mac 字体,经常出现在喜欢的编程字体列表中。它非常清晰,留白多,带有斜线零,并且 i 带有微小的衬线。这是一款可以让你整天工作的字体。在此处下载:此处。 | |
Monospace 821 BT 10磅 | |
![]() |
![]() |
这款免费的无衬线 TrueType 字体非常清晰且易于阅读,即使在 10 磅字号下也是如此,部分原因是其较大的行距。它缺少斜线零(大写 O 和零几乎相同),带有完整的衬线小写 i,其小写 l 易于与 1(数字一)区分。在此处下载:此处。 | |
Nu Sans Mono 10磅 | |
![]() |
![]() |
Nu Sans Mono 由 Martin Pfeiffer 设计,他称其为“Courier 的出色无衬线替代品”。我不会不同意。它带有斜线零,数字可读性极强,小写 l 易于与 1(数字一)区分。比 Courier 或 Courier New 好得多,即使在 10 磅字号下也非常易读。一套四种字体仅售 8 美元。设计师网站上提供的演示下载“包含常规版本(不含国际字符或其他附加功能)”。如果您是 Courier 或 Lucida 的爱好者,绝对值得尝试。 | |
Onuava 10磅 | |
![]() |
![]() |
Onuava 是我名单上的一个后期补充。这款漂亮的字体比 Monaco 稍显紧凑,但仍然非常易读,带有斜线零,完整的衬线 i,漂亮的数字,以及易于与 1(数字一)区分的小写 l(尽管 Onuava 中的 1(数字一)缺乏 Bitstream Vera Sans Mono 的衬线)。Onuava 是 Bitstream Vera Sans Mono 的一个非常接近的竞争对手。来自设计师的网站:“它专为屏幕显示定制,具有强大的线条和更容易阅读的字符形状。”在此处阅读更多信息:此处。字体有免费的演示版本,包含所有标准字符。完整字体(包含国际字符)售价约 18 美元。在此处下载演示版(个人使用免费):此处。 | |
Osaka Unicode 11磅 | |
![]() |
![]() |
Osaka Unicode 是 Apple 的 Osaka 字体的衍生产品。这是一款有吸引力、非常清晰的字体,带有斜线零,并为相似字符提供了独特的形状:小写 l 和 i 共享相同的半衬线底部,而 1(数字一)则带有完整的衬线。数字非常漂亮——即使在小字号下也清晰易读。小写 b、p 和 q 的倾斜曲线使这款字体略带草书风格。在此处或在此处下载:此处 或 此处。 | |
Pragmata 11磅 | |
![]() |
![]() |
Pragmata 是一款相对较新的等宽字体,由 Fabrizio Schiavi 设计。它已迅速在程序员中获得了近乎狂热的地位,并且大多数在线列表都将其排名很高。它也是我列表中价格第二高的字体,售价 113 美元。经过手工微调以达到最佳可读性,它是一款相当高的字体,在 11 磅及以下字号下效果最佳。它与 ClearType 配合效果最好——例如,请看示例中的数字 8。您可以在设计师的网站上购买。 | |
ProFontWindows 12磅 | |
![]() |
![]() |
ProFontWindows 是另一款免费字体,在较低字号下效果最佳。它相当清晰,带有斜线零,但小写 l 和 1(数字一)都带有衬线(因此很容易混淆),并且 x-height 比通常的小。这会导致一些字符变形,例如小写 y 和小写 s。在此处下载:此处。 | |
Proggy Clean with Slashed Zero 12磅 | |
![]() |
![]() |
Proggy Clean 出现在大多数喜欢的编程字体列表中,并在 CodeProject 的最佳编程字体列表中排名第四。它专为小字号设计。有关其他专为小字号设计的字体,请参阅下载页面。在此处下载:此处。 | |
QuickType Mono 11磅 | |
![]() |
![]() |
QuickType Mono 随早期版本的 TurboTax 一起发布。它与 Arial Monospaced 非常相似,这并不奇怪,因为它们都是 Monotype 字体。零不是斜线;大写 O 与零无法区分。小写 l 与 1(数字一)有区别,但 1(数字一)没有许多其他等宽字体中典型的倾斜顶部。实际上,1(数字一)看起来更像小写 l。所有数字都非常清晰。在此处下载:此处。 | |
Raize 10磅 | |
![]() |
![]() |
这款来自 Raize Software 的方形无衬线字体带有完整的衬线 i 和斜线零。行距较大。它相当清晰,但小写 l 和 1(数字一)相似。较小的 x-height 使字符在垂直方向上看起来被压缩了。结合较小的字符间距,这款字体的可读性不如其他字体。与 ClearType 无异。在此处下载:此处。 | |
saxMono 11磅 | |
![]() |
![]() |
这款免费的无衬线字体行距较大,但没有斜线零(零与大写 O 相比呈方形)。小写 i 带有衬线;小写 l 比 1(数字一)高,但其他方面相同。在此处下载:此处。 | |
Selectric 12磅 | |
![]() |
![]() |
这款清晰的衬线字体可以替代 Courier 字体。与它们一样,它没有斜线零(零与大写 O 相比呈方形且稍短)。但是,在小于 12 磅时它无法使用——大写字母的顶部会被截断。在此处下载:此处。 | |
Share-TechMono 11磅 | |
![]() |
![]() |
这是一款清晰、略微紧凑的字体,带有斜线零。如果您觉得 Liberation Mono 的留白太多,这款字体将是一个不错的选择。总体而言,它非常易读,尽管水平压缩可能会导致大写 S 和 5(数字五)之间产生一些混淆。小写 l 易于与 1(数字一)区分,i 带有半衬线。在此处下载:此处。 | |
Slashed Zero Arial 10磅 | |
![]() |
![]() |
与 HelvMono 类似,但行距更大,并带有斜线零。在此处下载:此处。 | |
Terminal 9磅 | |
![]() |
![]() |
来自 Wikipedia:“Terminal 是一系列等宽位图字体。与 Courier 相比,它相对较小。它使用交叉零,并且设计旨在近似 MS-DOS 或 Linux 等其他基于文本的控制台中常用的字体。在 Microsoft Windows 中,它被用作命令提示符的默认字体。”与 ClearType 无异。9 到 12 磅之间没有尺寸。对我来说,这款字体太重,不适合正常编辑,但我确实见过有人推荐它。 | |
Terminus 12磅 | |
![]() |
![]() |
这款免费的、略带方形的字体带有微小的衬线 i 和斜线零。它清晰易读,尽管某些字符(参见大写 W)可以做得更好。花括号与括号非常相似。数字漂亮。小写 l 和 1(数字一)的区别可以做得更好一些。它由 Dimitar Zhekov 创建,对于位图字体来说非常出色。与 ClearType 无异。在此处或在此处下载:此处 或 此处。 | |
Ti92Pluspc 11磅 | |
![]() |
![]() |
这是一款清晰、外观漂亮的字体,带有斜线零,随 TI-Connect 和 TI-GraphLink 软件(与 TI 计算器随附)一起提供。它在多个喜欢的编程字体列表上排名很高。在此处下载:此处。 | |
Verily Serif Mono 11磅 | |
![]() |
![]() |
Verily Serif Mono 由 Stephen G. Hartke(Aurulent Sans Mono 字体的创建者)设计。这是一款非常清晰的字体,带有点状零。可读性极佳,是偏爱衬线字体的不错选择。所有数字都很清晰,尽管 1(数字一)与小写 l 有点相似。Verily Serif Mono 源自 Bitstream Vera Serif,其比例与 Bitstream Vera Sans Mono 相同。仅修改了主要的 ASCII 字符。它是公共领域字体。在此处下载:此处。 |
参考
对于任何想了解更多关于字体的人,我推荐 Fonts and Encodings。有关 ClearType 的更多信息,请参阅 此处。微软创建了一个 ClearType Tuner,可让您为正在使用的显示器优化 ClearType。
修订历史
版本 1.5.1 - 2010 年 8 月 5 日
- 添加了 AdaptiveCode Regular
版本 1.5 - 2009 年 9 月 23 日
- 添加了 Share TechMono 字体
- 更新了 Liberation Mono 样本
版本 1.4 - 2008 年 10 月 28 日
- 更新了样本文本,包含完整的数字
- 添加了字体:Akkurat、Everson、HelvMono、Liberation、Luxi、Osaka、QuickType 和 Slashed Zero Arial。
版本 1.3 - 2008 年 10 月 11 日
- 更新了样本文本,包含易混淆的字符
- 当字体没有斜线零时,描述会比较大写 O 和零
版本 1.2 - 2008 年 10 月 10 日
- 重置了 ClearType 并重新截屏
版本 1.1 - 2008 年 10 月 10 日
- 修正了一些拼写错误
- 编辑了 Inconsolata 的注释
版本 1.0 - 2008 年 10 月 9 日
- 首次公开发布