阅读西班牙语 | 简体中文 | 日本语
程序员使用大量符号,通常用多个字符进行编码。对于人脑来说,像->
、 <=
或:=
这样的序列是单个逻辑标记,即使它们在屏幕上占据两个或三个字符。您的眼睛花费非零的能量来扫描、解析并将多个字符连接成一个逻辑字符。理想情况下,所有编程语言都应该为运算符设计成熟的 Unicode 符号,但目前情况并非如此。
Fira Code 是一种免费的等宽字体,包含用于常见编程多字符组合的连字。这只是一个字体渲染功能:底层代码仍然与 ASCII 兼容。这有助于更快地阅读和理解代码。对于一些频繁的序列,如..
或//
,连字允许我们纠正间距。
然后:
如何安装
故障排除
新闻与更新
Fira Code 是一个个人的业余项目,没有资金,并且有大量的功能请求积压。如果您喜欢它,请考虑通过 GitHub Sponsors 或 Patreon 支持其开发。任何帮助都很重要!
非常感谢:
左:Fira 代码中呈现的连字。右:没有连字的相同字符序列。
Fira Code 附带了各种各样的箭头。更好的是:您可以根据需要制作它们,并根据需要组合开始/中间/结束片段!
Fira 代码不仅仅涉及连字。对标点符号和频繁出现的字母对进行了一些微调。
Fira Code 附带了一些不同的字符变体( cv01
、 cv02
等)、风格集( ss01
、 ss02
等)以及其他字体功能( zero
、 onum
、 calt
等),以便每个人都可以选择最适合自己的。如何启用
某些连字可以使用样式集/字符变体来更改或启用:
作为一种编程字体,Fira Code 对 ASCII/方框图、电力线和其他形式的控制台 UI 具有出色的支持:
Fira Code 是第一个提供专用字形来渲染进度条的编程字体:
行动中:
我们希望更多的编程字体能够采用这种约定并发布自己的版本。
Unicode 覆盖范围使 Fira 代码成为数学写作的绝佳选择:
作品 | 不起作用 |
---|---|
Arduino IDE (2.0+,与 vscode 相同的指令) | Adobe Dreamweaver |
阿布里古丁 | 德尔福集成开发环境 |
Android Studio (2.3+,说明) | 独立Emacs (解决方法) |
Anjuta (除非在 EOF) | 闲置的 |
AppCode (2016.2+,说明) | 开发4 |
Atom 1.1 或更高版本(说明) | Monkey Studio IDE |
BBEdit (14.6+ 说明) | 超级编辑(Windows) |
括号(使用此插件) | |
巧克力 | |
CLion (2016.2+,说明) | |
Cloud9 (说明) | |
尾声2 | |
代码精简版 | |
代码运行者 | |
逗号(在:首选项 > 编辑器 > 字体下) | |
婴儿床编辑器 | |
蚀 | |
基本代码 | |
杰尼(1.37+) | |
g编辑/Pluma | |
侏儒生成器 | |
戈多 | |
GoormIDE (说明) | |
gVim (Windows、GTK) | |
IntelliJ IDEA (2016.2+,说明) | |
凯特,K写 | |
开泰开发 5+ | |
科莫多龙 | |
叶垫 | |
自由办公室 | |
灯台(说明) | |
LINQPad | |
MacVim 7.4 或更高版本(说明) | |
曼西 | |
MATLAB (说明) | |
梅尔德 | |
鼠标垫 | |
NeoVim-gtk | |
网豆 | |
记事本(Windows) | |
记事本++ (说明) | |
记事本3 (说明) | |
诺瓦 | |
PhpStorm (2016.2+,说明) | |
PyCharm (2016.2+,说明) | |
QOwnNotes (21.16.6+) | |
Qt创建者 | |
骑士 | |
RStudio (说明) | |
RubyMine (2016.2+,说明) | |
划痕 | |
抄写员(1.5.3+) | |
SublimeText (3146+) | |
Spyder IDE (仅适用于 Qt5) | |
超级对撞机3 | |
电子商店 | |
TextAdept (Linux、macOS) | |
文本编辑 | |
文字伴侣2 | |
UltraEdit (UEX) (Linux) | |
VimR (说明) | |
Visual Studio (2015+,说明) | |
Visual Studio 代码(说明) | |
WebStorm (2016.2+,说明) | |
Xamarin Studio/Monodevelop | |
Xcode (8.0+,否则需要插件) | |
席 | |
可能有效: Smultron、Vico | 问题下: Code::Blocks IDE |
作品 | 不起作用 |
---|---|
克罗什(说明) | 阿拉克里蒂 |
超级(参见#3607) | 阿斯布鲁连接管理器 |
i学期2 | 指挥者 |
猫咪 | 康埃穆 |
康索尔 | GNOME 终端(票) |
薄荷 | gtkterm(票) |
Q终端 | 瓜克(票) |
st(补丁) | LX航站楼(票) |
虎斑猫 | 配对终端 |
终端程序 | 油灰 |
特穆克斯 | 接收值 |
Token2Shell | 樱花(门票) |
韦兹的终端 | 安全CRT |
Windows 终端 | 终结者(门票) |
ZOC(macOS) | 术语 |
蒂利克斯 | |
Windows 控制台 | |
xfce4-终端(票) | |
xterm | |
区域中心 (Windows) |
/* CSS */@导入网址(https://cdn.jsdelivr.net/npm/[email protected]/distr/fira_code.css);
/* 在 CSS 中指定 */code { font-family: 'Fira Code', monospace; }@supports (font-variation-settings: 正常) { code { font-family: 'Fira Code VF', monospace; } }
IE 10+、Edge Legacy:使用font-feature-settings: "calt";
火狐浏览器
狩猎之旅
基于 Chromium 的浏览器(Chrome、Opera)
高手
CodeMirror(使用font-variant-ligatures: contextual;
)
代码笔
闪烁外壳
克利普斯
伊利亚伯曼.net
邪恶火星人网站
网页制作者
从头开始
PEP20.org
带连字的免费等宽字体:
哈斯克利格
幺半群
固定系统Excelsior
约舍夫卡
DejaVu Sans 代码
维克多·莫诺
卡斯卡迪亚代码
JetBrains Mono
带连字的付费等宽字体:
实用工具
莫诺丽莎
如果您想更改 FiraCode.glyphs 并自己构建 OTF/TTF/WOFF 文件,这是我在 macOS 上使用的设置:
# 安装所有必需的构建工具。/script/bootstrap_macos.sh# 构建字体文件。/script/build.sh# 将 OTF 安装到 ~/Library/Fontscp distr/otf/*.otf ~/Library/Fonts
或者,您可以使用 Docker 构建 Fira 代码:
# 在容器中安装依赖项并构建字体文件make# 将 dist/ 中的字体文件打包到 zipmake 包中
如果您想永久启用某些样式集或字符变体,可能是因为您选择的编辑器不允许您单独切换这些,您可以通过-f / --features
将所需的功能以逗号分隔列表的形式提供给构建脚本-f / --features
标志。
默认值:无。
要分隔字体的不同版本,您可以使用-n / --family-name
标志指定所需的字体系列名称。特殊值“features”会将已排序、以空格分隔的已启用功能列表附加到默认系列名称。
默认值:“Fira 代码”
您还可以限制使用-w / --weights
选项创建的字体粗细。
默认值:“浅色、常规、视网膜、中、半粗体、粗体”
# 在 shell 本地./script/build.sh --features "ss02,ss08,ss10,cv03,cv07,cv14" --family-name "Fira Code Straight" --weights "Regular,Bold"# 或通过docker 容器(创建系列名称“Fira Code cv01 cv02 cv06 cv31 onum ss01 ss03 ss04 0”)docker run --rm -v "${PWD}":/opt tonsky/firacode:latest ./script/build.sh - f "cv01,cv02,cv06,ss01,zero,onum,ss03,ss04,cv31" -n "features"# 在 Git for Windows 的 Git Bash 或任何其他基于 MSYS2 的 shell 中,您可能需要禁用路径转换MSYS2_ARG_CONV_EXCL=" *" docker run --rm -v "${PWD}":/opt tonsky/firacode:latest ./script/build.sh -f "ss02,ss03,ss04,ss05,ss06,ss07"
作者:尼基塔·普罗科波夫@nikitonsky
基于:费拉莫诺
灵感来源:哈斯克利格