文章目录

  • 为什么要选择合适的字体编程
  • 字体推荐
    • 1. Monaco
    • 2. Source Code Pro
    • 3. Hack
    • 4. Courier New
    • 4. Consolas
    • 5. DejaVu Sans Mono and His Family
    • 6. Fira Code
    • 7. Noto Mono
    • 8. JetBrains Mono
  • 总结

为什么要选择合适的字体编程

选择编程字体最重要的是有字母区分度,无区分度容易产生字母的混淆,如

  • 数字1与小写字母L(l)
  • 小写字母L(l)与大写字母I(i)
  • 数字0与字母O(o)

再其次,字体美感也是很重要的(有时可以忽略【区分度】)。

(微软雅黑)
同一款字体看久了就比较腻了,所以这两天整理了以下几款比较优秀的编程字体,既没有字母混淆的问题(基本没有),代码美感也提升了不少。

以下推荐无顺序

字体推荐

1. Monaco

Monaco号称苹果出品最好的编程字体,符号字母都有不错的区分,在Linux和Windows下都可以安装使用。

之前在网上找到的Monaco版本会出现字体偏细,有锯齿的情况,这里推荐github上开源的MonacoB,粗体Monaco,实测2K下无锯齿,Windows下完美仿真OSX。

https://github.com/vjpr/monaco-bold

网络资源(锯齿分明,字体偏细)

粗体版(较圆润)

2. Source Code Pro

Adobe开发的一款开源、无衬线字体,和 Source Han Sans 设计风格相近,看惯了Consolas这类等宽字体会有眼前一亮的感觉。同样,被Adobe 公司号称最佳的编程字体。

scp整体较扁平,很适合看代码。这款字体在github开源,可以一试。

https://github.com/adobe-fonts/source-code-pro

效果图

3. Hack

看一下开发者介绍:

Hack is designed to be a workhorse typeface for source code. It has deep roots in the free, open source typeface community and expands upon the contributions of the Bitstream Vera & DejaVu projects. The large x-height + wide aperture + low contrast design make it legible at commonly used source code text sizes with a sweet spot that runs in the 8 - 14 range. The full set of changes to the upstream source are available in the changelog.

Hack字体设计让标准大小的代码能清晰易读,它的特征包括大字高、宽孔径和低对比。Simpkins称,在现代桌面和笔记本显示器上Hack的最佳大小是 8px-12px,在高清显示器上使用 6或7px大小的字体可以舒适的工作。Hack调整了一些容易引起混淆的字符形状,如字母o和数字0,字母l和数字1。
翻译引用:https://linux.cn/article-6125-weibo.html

Hack更像是严肃版的Monaco,行间距比Consolas略高,字体圆滑,颜值还是很高的。该字体在github开源,感兴趣的可以去试一试。

https://github.com/source-foundry/Hack

放图

4. Courier New

Courier New 是 Windows 的缺省等宽字体。历史上最早的时候,windows只有fixedsys与CN这两种等宽字体。CN是矢量字体,是唯一一款能保证所有版本Windows都预装的等宽矢量字体。因此Code::blocks,keil,还有notepad++的默认字体都是CN。

既然windows预装,在自己的电脑上可以直接使用。 非WIndows用户网上资源有很多。

4. Consolas

这套字型使用了微软的ClearType 字型平滑技术,并随同Windows Vista、Office 2007及Microsoft Visual Studio中发行,或可在微软的网站下载。在Windows Vista的6套新字型中,Consolas近似于前版Windows中 的2款内建字型:Lucida Console与Courier New,主要为程序代码的显示字型而设计的,特别之处是它的“0”字加入了一斜撇,以方便与字母“O”分辨。
在Consolas之前,程序代码的显示字型大多为Courier New或其他等宽字型,字型的柔边(反锯齿)效果则依个人喜好选择开启或关闭,然而Consolas是专为柔边效果而设计的字型,特别是为了搭配微软的ClearType技术,如果不开启ClearType,Consolas的显示效果会打大折扣。另外,ClearType技术还需要搭配液晶显示器才会有最佳表现。
引用:https://baike.baidu.com/item/Consolas

百度百科介绍的比较详细。Consolas是CN的升级,与CN相比,Consolas更窄,能够在较少的空间显示更多的内容。同时Consolas也是VS系列默认字体。

5. DejaVu Sans Mono and His Family

因为字形端正大方,笔画粗细均匀,实用性强,所以被广泛应用于包装设计、杂志期刊、名片设计等领域。同时,它也是许多Linux 发行版的标准配置。它基于Vera字体家族,已经能够支持更多的字符了,并保持了Vera的外观和感觉。

不只是Sans Mono,DejaVu家族的字体都值得一试。该字体和其font-family在github开源。

https://github.com/dejavu-fonts/dejavu-fonts

6. Fira Code

FiraCode 是 Fira 的扩展,而后者是由 Mozilla 委托设计的开源字体族。使得 FiraCode 与众不同的原因是它修改了在代码中常使用的一些符号的组合或连字,使得它看上去更具可读性。这款字体有几种不同的风格,特别是还包含 Retina 选项。该字体在github开源。

https://github.com/tonsky/FiraCode

(颜值很高)

7. Noto Mono

巨量的语言覆盖率,由 Google 中的一个大团队打造。

官方介绍:

Noto is Google’s own font that aims to support all languages in the world. Now it has supported almost all major living languages. For most languages, eight styles are supported: {regular, bold} x {normal, italic} x {sans serif, serif}. It is used by Android and Chrome OS as the default system fonts and is also recommended by Google’s Material Design. What’s more important, Noto is open source and everyone can use it for free.

这是 Google 打造的庞大 Note 字体族中的等宽版本(Noto所有字体包高达1.1G)。尽管它并不是专为编程所设计,但它在 209 种语言(包括 emoji 颜文字!)中都可以使用,并且一直在维护和更新。该项目非常庞大,是 Google 宣称 “组织全世界信息” 的使命的延续。感兴趣可以观看:google对此字体的介绍。


该字体在谷歌官网可以下载

https://www.google.cn/get/noto/

8. JetBrains Mono

JetBrains Mono 是 JetBrains 公司专为开发者打造的免费开源编程字体,希望借此提升他们在查阅代码时的体验。Mono 字体在保证字符采用标准宽度的前提下,增加了小写字母的高度,如此一来,每个字母将会使用更多的像素,有助于改进渲染效果。另外,Mono 字体舍弃了许多不必要的细节,这样做的目的是当字体较小时,仍可保证文本的清晰显示。更重要的是,字体的形式越简单,眼睛感知的速度就越快,也就更容易辨识。
了解更多细节可以去JetBrains官网对此字体的介绍

In JetBrains IDEs
The most recent version of JetBrains Mono ships with your JetBrains IDE starting with v2019.3.
Select JetBrains Mono in the IDE settings: go to Preferences/Settings → Editor → Font, and then select JetBrains Mono from the Font dropdown.

(JetBrains用户可以直接体验)

用于其他编辑器可以去github下载,README中有详细安装教程。

https://github.com/JetBrains/JetBrainsMono

总结

上述8款字体算是最常见的了,我自己一直在用Monoca(字体轻微的扭曲感像是自己手写上去的),其余7款也多多少少用过一段时间。 常换字体,为的就是在枯燥的改bug期间换一下心情,增益创造力。所以,多换字体,有益于改bug(神逻辑)。

创作不易,如果对您有所帮助,记得点赞收藏,您的支持是我创作的最大动力。

推荐几款优秀的开源编程字体相关推荐

  1. 消灭Bug!推荐7款优秀的开源Bug跟踪工具

    摘要: 在这个充满 bug 的世界里,最遥远的距离不是生与死,而是你亲手制造的 bug 就在你眼前,你却怎么都找不到她. 在过去几年里,程序员改变着世界,然而,我们手中诞生的每个新网站或 APP 都面 ...

  2. android 秒拍开源,六月份21款优秀Android开源库整理推荐

    原标题:六月份21款优秀Android开源库整理推荐 1.Android-DivergeView 仿美拍直播的点赞动画. 2.LRecyclerView RecyclerView下拉刷新,自动加载更多 ...

  3. 7款优秀的开源数据挖掘工具

    7款优秀的开源数据挖掘工具   IDMer说道:本文只对几种流行的开源数据挖掘平台进行了检视,比如Weka和R等.如果您想找寻更多的开源数据挖掘软件,可以到KDnuggets和Open Directo ...

  4. 多文档程序 两个menu框架_汇总9款优秀的开源小程序UI框架

    卧槽这玩意儿写的这么烂,我可以写一个更烂的来恶心作者--开源社区,经典语录 随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 布莱恩特:Github优秀的小程序 ...

  5. 几款优秀的开源数据挖掘工具

    几款优秀的开源数据挖掘工具 By kevinwu on December 28, 2008 2:39 AM | No Comments | No TrackBacks 本文只对几种流行的开源数据挖掘平 ...

  6. 星聚宝分享几款优秀的开源博客系统

    搭个博客不难,而写博客这事,一开始可能想半天依然不知道写点什么,我的建议是,一开始在博客上简单总结一些当下正在学习的笔记,也可以记录一些自己在学习或者工作中遇到的一些问题,然后再慢慢转向个人输出. 有 ...

  7. 福来惠源分享几款优秀的开源博客系统

    搭个博客不难,而写博客这事,一开始可能想半天依然不知道写点什么,我的建议是,一开始在博客上简单总结一些当下正在学习的笔记,也可以记录一些自己在学习或者工作中遇到的一些问题,然后再慢慢转向个人输出. 有 ...

  8. 推荐一款优秀的简历模板

    今天给大家推荐一款好用的简历模板 -- ResumeSample,希望对正在求职的或打算跳槽的小伙伴有所帮助. 该项目在 GitHub 上有着接近 25K Star 的简历模板,可见在技术圈内有着非常 ...

  9. 向设计师推荐17款漂亮的英文卡通字体

    本文向设计师推荐17款漂亮的英文卡通字体,你可以免费下载使用.这些免费英文字体特别适合网页设计师,平面设计师和电脑艺术人员. 如果你正在寻找漂亮的免费字体,那么这份清单正是为你准备的,赶紧下载吧. H ...

  10. 推荐一款好的SMT编程软件

    目前大家大多数的编程方式是,利用SMT设备上自带的坐标提取工具提取坐标,然后在excel命令里编辑,或者各家自己开发的简单工具做编程.存在的问题是编程过程长,且极性.角度.坐标等需要用眼睛一个个确认, ...

最新文章

  1. 皮一皮:到底谁才是渣王...
  2. CodeForces 508E Arthur and Brackets 贪心
  3. 2.6内核的配置与编译
  4. leetcode559. N叉树的最大深度
  5. php发卡8.0源码_素材资源解析平台PHP源码 V8.0运营版+会员功能+代理功能+卡密充值...
  6. ActiveRecord教程
  7. 报表性能优化方案之单数据集分页SQL实现层式报表
  8. 为什么构造函数不能声明为虚函数?
  9. VS2017使用github
  10. activitymq 登录界面地址
  11. 淘宝网购物车jquery源码和网易新用户注册页面表单验证的练习
  12. 计算机管理员英文是什么,超级管理员,超级管理员是什么,超级管理员英文 | 帮助信息-动天数据...
  13. 【解决方案】解除微信群二维码100人扫码限制和7天有效期!
  14. db2导出适用于mysql的数据_db2数据库导出导入数据库
  15. 数据结构与算法面试题
  16. 【Java学习笔记】 MYSQL03 学习使用JDBC访问数据 以及 JDBC的优化和封装
  17. phpwind安装空白问题解决
  18. chm打开秒退_求教hmcl启动器1.12.2非正常退出问题(百度过了,都不行)
  19. 不平衡数据集评价指标及常用解决方法
  20. 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?

热门文章

  1. 操作系统模拟进程调度实验报告java_操作系统实验2进程调度实验报告.doc
  2. pagehelper Jar包下载
  3. 《数据库系统基础教程》读书笔记——第一章 数据库系统世界
  4. html实现登录界面
  5. 谈谈图书馆座位管理系统今日崩溃
  6. 孩子学Java编程_7个最适合儿童学习编程的应用程序(上)
  7. 产品配件类目税目分类_商品和服务税收分类编码表
  8. 解决360 安装补丁智能忽略的问题!
  9. 关键词组合工具-免费在线关键词标题组合工具
  10. win10 UWP RSS阅读器