tonsky / FiraCode
git clone https://github.com/tonsky/FiraCode.git
6.2 · 4y ago
🔥 on GitHub Trending today
Free monospaced font with programming ligatures
+1
stars, 24h · #7,722
+~7
stars, 7 days · #8,372
+183
stars, 30 days · #2,737
82k
★ total · +0% this week
3.2k
forks · 422 open issues
Star history (as recorded here)
LanguageClojure
LicenseOFL-1.1
Created2014-11-11 (11y ago)
Last push2mo ago
Watchers710
OwnerUser
Seen on GitHub Trending
- 2026-10-21 — #5 daily in clojure · +6 ★
- 2026-10-21 — #6 monthly in clojure · +183 ★
- 2026-10-20 — #5 daily in clojure · +8 ★
- 2026-10-20 — #6 monthly in clojure · +183 ★
GitHub topics
Links
- GitHub: github.com/tonsky/FiraCode
- Releases · Issues · Hacker News mentions
README excerpt
## Fira Code: free monospaced font with programming ligatures Read in Español | 简体中文 | 日本語 | Português brasileiro ### Problem Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like `->`, ` Then: - How to Install - Troubleshooting - News & Updates ### What’s in the box? Left: ligatures as rendered in Fira Code. Right: same character sequences without ligatures. Fira Code comes with a huge variety of arrows. Even better: you can make them as long as you like and combine start/middle/end fragments however you want! Fira Code is not only about ligatures. Some fine-tuning is done for punctuation and frequent letter pairs. Fira Code comes with a few different character variants (`cv01`, `cv02`, etc), stylistic sets (`ss01`, `ss02`, etc), and other font features (`zero`, `onum`, `calt`, etc), so that everyone can choose what’s best for them. How to enable Some ligatures can be altered or enabled using stylistic sets/character variants: Being a programming font, Fira Code has fantastic support for ASCII/box drawing, powerline, and other forms of console UIs: Fira Code is the first programming font to offer dedicated glyphs to render progress bars: In action: We hope more programming fonts will adopt this convention and ship their own versions. Implementation detail: there is no way for programs to detect whether a font has progress bar glyphs at U+EE00, so they need to decide what to output without knowing if it will be rendered properly or not. We propose a new environment variable, `UNICODE_PROGRESS_BAR=true`, to use as a heuristic. If present, it’s safe to assume U+EE00..EE0B will be rendered properly. Unicode coverage makes Fira Code a great choice for mathematical writing: ### How does it look? ### Editor compatibility list | Works | Doesn’t work | |-------|----------------| | **Arduino IDE** (2.0+,same instructions as vscode) | **Adobe Dreamweaver** | | **Abricotine** | **Delphi IDE** | | **Android Studio** (2.3+, instructions) | Standalone **Emacs** (workaround) | | **Anjuta** (unless at the EOF) | **IDLE** | | **AppCode** (2016.2+, instructions) | **KDevelop 4** | | **Atom** 1.1 or newer (instructions) | **Monkey Studio IDE** | | **BBEdit** (14.6+ instructions) | **UltraEdit** (Windows) | | **Brackets** (with this plugin) | | **Chocolat** | | **CLion** (2016.2+, instructions) | | **Cloud9** (instructions) | | **Coda 2** | | **CodeLite** | | **CodeRunner** | | **Comma** (Under: Preferences > Editor > Font) | | **CotEditor** | | **Eclipse** | | **EditPad** | | **elementary Code** | | **Geany** (1.37+) | | **gEdit / Pluma** | | **GNOME Builder** | | **Godot** | | **GoormIDE** (instructions) | | **gVim** (Windows, GTK) | | **IntelliJ IDEA** (2016.2+, instructions) | | **Kate, KWrite** | | **KDevelop 5+** | | **Komodo** | | **Leafpad** | | **LibreOffice** | | **LightTable** (instructions) | | **LINQPad** | | **MacVim** 7.4 or newer (instructions) | | **Mancy** | | **MATLAB** (instructions) | |