简介
FiraCode是一种出色的编程连字等宽字体,这是我最常使用的字体之一。由于其连字特点,使得代码看起来更加优雅,满足人类对字体的认知。这款字体在GitHub上已经获得了超40K的Stars,足以说明它的受欢迎程度,而其卓越品质是其受欢迎的主要原因。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/f1429b43-d2bb-463c-bae4-a4b789fa7aeb.jpg)
GitHub
https://github.com/tonsky/FiraCode
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/b257f483-9ad1-44ed-b98c-f84408aca4a2.jpg)
普通字体的问题
我们在选择字体时会关注以下几个方面:
- 相似特征的区分,例如 0|O,1|I
- 字体风格(线宽、字符宽度/高度)是否易于阅读
- 安装便捷性
- 分辨率支持情况
- 是否开源和免费
程序员经常使用大量符号,通常需要用多个字符进行编码。对于人脑,像->,<=或者:=这样的序列是一个独立的逻辑符号,即使它们在屏幕上需要两个或三个字符。眼睛需要耗费精力去扫描、解析并合并多个字符成一个逻辑符号。理想情况下,所有编程语言都应使用面向操作员的完整Unicode符号,但现实情况并非如此。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/5d777360-0033-40a6-91da-2d713af2a577.jpg)
Fira Code是Fira Mono字体的扩展,包含了一组常见编程多字符组合的连字。这只是字体渲染功能:基础代码保持ASCII兼容。这有助于更快地阅读和理解代码。对于..或//这样的频繁序列,连字允许我们调整间距。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/88ac01b8-806b-48ab-9e76-9b9bd09c239a.jpg)
代码效果预览
下面展示一些Fira Code在不同编程语言中的效果(来源于GitHub):
- Ruby
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/820c3e8a-737a-463f-aa93-f71c7fcd57ee.jpg)
- Go语言
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/9d4b379f-9f49-47d5-b41b-06aeed39f112.jpg)
- JavaScript
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/019845e0-9b75-4474-a680-2a071b6e4d01.jpg)
- PHP
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/6998ffc4-ac47-4a29-b6b3-f5019f2207a4.jpg)
- LiveScript
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/875af19a-2f1e-4200-937b-2c782eddcd43.jpg)
- Clojure
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/5bd2ade6-41df-467d-a019-8fc5b16f16d2.jpg)
终端和编辑器支持
以下是其支持和不支持的终端展示:
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/ccf08264-d358-4753-8fb5-a033226af416.jpg)
这是支持和不支持的编辑器列表(左侧为支持的,右侧为不支持的):
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/e0c6ad40-4069-4ab4-af4f-ed215d87d6e4.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/1487ef05-3e8e-49dc-81c7-b4189f6224a2.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/a3b9f792-de0f-45d7-9d24-6599c1ae5d42.jpg)
Web浏览器支持
<!-- HTML --> <link rel="stylesheet" href="FiraCode@1.207/distr/fira_code.css"> /* CSS */ @import url(FiraCode@1.207/distr/fira_code.css); /* Specify in CSS */ font-family: 'Fira Code', monospace;
以下是浏览器支持情况:
- IE 10+, Edge: 通过 font-feature-settings: "calt" 1; 启用
- Firefox
- Safari
- 基于Chromium的浏览器(Chrome, Opera等)
- ACE编辑器
- CodeMirror(通过 font-variant-ligatures: contextual; 启用)
样式集设置
通过样式集,您可以按功能调用字体的额外可选部分。在Fira Code中,它们允许你启用/禁用替代字符变体。Fira Code v2支持以下样式集(仅在支持的编辑器中才能启用样式集):
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/f083cc6d-1017-49e4-a1a8-a55cab90dbf1.jpg)
如何设置样式集,可以参考GitHub上对于各个编辑器的介绍!
编辑器预览
以下是我常用的IDE或编辑器的预览效果,字体已放大:
- VSCode
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/af080e6b-2ab4-4de0-9d14-189ed045562f.jpg)
- IDE家族
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/3c0197c6-a7b5-4fbc-915d-4580651de7ab.jpg)
总结
我使用过多款字体,每一种都有其独特的优点,FiraCode是在其中使用最多的。其他如 Input、Source Code Pro、Anonymous Pro、Ubuntu Mono、Menlo、Consolas、Hack 也非常出色。想了解这些字体的更多信息,可以参考以下链接:
文章为用户上传,仅供非商业浏览。发布者:Lomu,转转请注明出处: https://www.daogebangong.com/articles/detail/kai-yuan-mian-fei-de-cheng-xu-yuan-zhuan-shu-bian-cheng-zi-ti-FiraCode.html
评论列表(196条)
测试