{"id":13393004,"url":"https://github.com/tonsky/FiraCode","last_synced_at":"2025-03-13T19:31:20.760Z","repository":{"id":23145539,"uuid":"26500787","full_name":"tonsky/FiraCode","owner":"tonsky","description":"Free monospaced font with programming ligatures","archived":false,"fork":false,"pushed_at":"2024-05-10T03:31:28.000Z","size":88626,"stargazers_count":75555,"open_issues_count":387,"forks_count":3050,"subscribers_count":712,"default_branch":"master","last_synced_at":"2024-05-18T16:46:11.005Z","etag":null,"topics":["font","ligatures","programming-ligatures"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"ofl-1.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonsky.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tonsky"],"patreon":"tonsky","custom":"https://paypal.me/nikitaprokopov"}},"created_at":"2014-11-11T19:32:38.000Z","updated_at":"2024-06-18T11:19:12.155Z","dependencies_parsed_at":"2023-02-18T15:00:54.856Z","dependency_job_id":"70c9196e-c30e-46af-b1b5-d024fcfa12b0","html_url":"https://github.com/tonsky/FiraCode","commit_stats":{"total_commits":540,"total_committers":120,"mean_commits":4.5,"dds":0.6296296296296297,"last_synced_commit":"20f11a21e0b7284e0cb40c594d2fa6091d775256"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FFiraCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FFiraCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FFiraCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FFiraCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonsky","download_url":"https://codeload.github.com/tonsky/FiraCode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243469140,"owners_count":20295694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["font","ligatures","programming-ligatures"],"created_at":"2024-07-30T17:00:40.896Z","updated_at":"2025-03-13T19:31:20.751Z","avatar_url":"https://github.com/tonsky.png","language":"Clojure","readme":"## Fira Code: free monospaced font with programming ligatures\n\n![Fira Code](./extras/logo.svg)\n\nRead in [Español](./LEEME.md) | [简体中文](./README_CN.md) | [日本語](./README_JA.md)\n\n### Problem\n\nProgrammers use a lot of symbols, often encoded with several characters. For the human brain, sequences like `-\u003e`, `\u003c=`, or `:=` are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.\n\n### Solution\n\nFira Code is a free monospaced font containing ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like `..` or `//`, ligatures allow us to correct spacing.\n\n### Download \u0026 Install\n\n\u003ca href=\"https://github.com/tonsky/FiraCode/releases/download/6.2/Fira_Code_v6.2.zip\"\u003e\u003cimg alt=\"Fira_Code_v6.2.zip - December 6, 2021 - 2.5 MB\" src=\"./extras/download.png\" width=\"520\"\u003e\u003c/a\u003e\n\nThen:\n\n- [How to Install](https://github.com/tonsky/FiraCode/wiki)\n- [Troubleshooting](https://github.com/tonsky/FiraCode/wiki#troubleshooting)\n- [News \u0026 Updates](https://twitter.com/FiraCode)\n\n### Sponsors\n\nFira Code is a personal, free-time project with no funding and a huge [feature request backlog](https://github.com/tonsky/FiraCode/issues). If you love it, consider supporting its development via [GitHub Sponsors](https://github.com/sponsors/tonsky) or [Patreon](https://patreon.com/tonsky). Any help counts!\n\nHuge thanks to:\n\n\u003ctable\u003e\n  \u003ctd align=\"center\"\u003e\n    \u003ca href=\"https://workos.com/?utm_campaign=github_repo\u0026utm_medium=referral\u0026utm_content=firacode\u0026utm_source=github\"\u003e\n      \u003cdiv\u003e\n        \u003cimg src=\"https://user-images.githubusercontent.com/629429/151508669-efb4c3b3-8fe3-45eb-8e47-e9510b5f0af1.svg\" width=\"290\" alt=\"WorkOS\"\u003e\n      \u003c/div\u003e\n      \u003cb\u003eYour app, enterprise-ready.\u003c/b\u003e\n      \u003cdiv\u003e\n        \u003csub\u003eStart selling to enterprise customers with just a few lines of code. Add Single Sign-On (and more) in minutes instead of months.\u003c/sup\u003e\n      \u003c/div\u003e\n    \u003c/a\u003e\n  \u003c/td\u003e\n\u003c/table\u003e\n\n### What’s in the box?\n\nLeft: ligatures as rendered in Fira Code. Right: same character sequences without ligatures.\n\n\u003cimg src=\"./extras/ligatures.png\" width=\"754\"\u003e\n\nFira 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!\n\n\u003cimg src=\"./extras/arrows.png\" width=\"754\"\u003e\n\nFira Code is not only about ligatures. Some fine-tuning is done for punctuation and frequent letter pairs.\n\n\u003cimg src=\"./extras/typographics.png\" width=\"754\"\u003e\n\nFira 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](https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets)\n\n\u003cimg src=\"./extras/character_variants.png\" width=\"754\"\u003e\n\nSome ligatures can be altered or enabled using stylistic sets/character variants:\n\n\u003cimg src=\"./extras/ligature_variants.png\" width=\"754\"\u003e\n\nBeing a programming font, Fira Code has fantastic support for ASCII/box drawing, powerline, and other forms of console UIs:\n\n\u003cimg src=\"./extras/console.png\" width=\"754\"\u003e\n\nFira Code is the first programming font to offer dedicated glyphs to render progress bars:\n\n\u003cimg src=\"./extras/progress.png\" width=\"754\"\u003e\n\nIn action:\n\n\u003cimg src=\"./extras/progress.gif\" width=\"560\"\u003e\n\nWe hope more programming fonts will adopt this convention and ship their own versions.\n\nUnicode coverage makes Fira Code a great choice for mathematical writing:\n\n\u003cimg src=\"./extras/math.png\" width=\"754\"\u003e\n\n### How does it look?\n\n\u003cimg src=\"./extras/samples.png\" width=\"754\"\u003e\n\u003cimg src=\"./extras/samples2.png\" width=\"754\"\u003e\n\n### Editor compatibility list\n\n| Works | Doesn’t work   |\n|-------|----------------|\n| **Arduino IDE** (2.0+,same instructions as [vscode](https://github.com/tonsky/FiraCode/wiki/VS-Code-Instructions)) | **Adobe Dreamweaver** |\n| **Abricotine** | **Delphi IDE** |\n| **Android Studio** (2.3+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) | Standalone **Emacs** ([workaround](https://github.com/tonsky/FiraCode/wiki/Emacs-instructions)) |\n| **Anjuta** (unless at the EOF) |  **IDLE** |\n| **AppCode** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) | **KDevelop 4** |\n| **Atom** 1.1 or newer ([instructions](https://github.com/tonsky/FiraCode/wiki/Atom-instructions)) | **Monkey Studio IDE** |\n| **BBEdit** (14.6+ [instructions](https://github.com/tonsky/FiraCode/wiki/BBEdit-instructions)) | **UltraEdit** (Windows) |\n| **Brackets** (with [this plugin](https://github.com/polo2ro/firacode-in-brackets)) | \n| **Chocolat** |\n| **CLion** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) | \n| **Cloud9** ([instructions](https://github.com/tonsky/FiraCode/wiki/Cloud9-Instructions)) | \n| **Coda 2** |\n| **CodeLite** |\n| **CodeRunner** |\n| **Comma** (Under: Preferences \u003e Editor \u003e Font) |\n| **CotEditor** |\n| **Eclipse** |\n| **EditPad** |\n| **elementary Code** |\n| **Geany** (1.37+) |\n| **gEdit / Pluma** |\n| **GNOME Builder** |\n| **Godot** |\n| **GoormIDE** ([instructions](https://github.com/tonsky/FiraCode/wiki/GoormIDE-Instructions)) |\n| **gVim** ([Windows](https://github.com/tonsky/FiraCode/issues/462), [GTK](https://vimhelp.org/options.txt.html#%27guiligatures%27)) |\n| **IntelliJ IDEA** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) |\n| **Kate, KWrite** |\n| **KDevelop 5+** |\n| **Komodo** |\n| **Leafpad** |\n| **LibreOffice** |\n| **LightTable** ([instructions](https://github.com/tonsky/FiraCode/wiki/LightTable-instructions)) |\n| **LINQPad** |\n| **MacVim** 7.4 or newer ([instructions](https://github.com/tonsky/FiraCode/wiki/MacVim-instructions)) |\n| **Mancy** |\n| **MATLAB** ([instructions](https://github.com/tonsky/FiraCode/wiki/MATLAB-for-Windows-Instructions)) |\n| **Meld** |\n| **Mousepad** |\n| **NeoVim-gtk** |\n| **NetBeans** |\n| **Notepad** (Windows) |\n| **Notepad++** ([instructions](https://github.com/tonsky/FiraCode/issues/1555))  |\n| **Notepad3** ([instructions](https://github.com/rizonesoft/Notepad3/issues/361#issuecomment-365977420))|\n| **Nova** |\n| **PhpStorm** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) |\n| **PyCharm** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) |\n| **QOwnNotes** (21.16.6+) |\n| **QtCreator** |\n| **Rider** |\n| **RStudio** ([instructions](https://github.com/tonsky/FiraCode/wiki/RStudio-instructions)) |\n| **RubyMine** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) |\n| **Scratch** |\n| **Scribus** (1.5.3+) |\n| **SublimeText** (3146+) |\n| **Spyder IDE** (only with Qt5) |\n| **SuperCollider 3** |\n| **TeXShop**|\n| **TextAdept** (Linux, macOS) |\n| **TextEdit** |\n| **TextMate 2** |\n| **UltraEdit (UEX)** (Linux) |\n| **VimR** ([instructions](https://github.com/qvacua/vimr/wiki#ligatures)) |\n| **Visual Studio** (2015+, [instructions](https://github.com/tonsky/FiraCode/wiki/Visual-Studio-Instructions)) |\n| **Visual Studio Code** ([instructions](https://github.com/tonsky/FiraCode/wiki/VS-Code-Instructions)) |\n| **WebStorm** (2016.2+, [instructions](https://github.com/tonsky/FiraCode/wiki/IntelliJ-products-instructions)) |\n| **Xamarin Studio/Monodevelop** |\n| **Xcode** (8.0+, otherwise [with plugin](https://github.com/robertvojta/LigatureXcodePlugin)) |\n| **Xi** |\n| Probably work: **Smultron, Vico** | Under question: **Code::Blocks IDE** |\n\n### Terminal compatibility list\n\n| Works | Doesn’t work |\n|-------|--------------|\n| crosh ([instructions](https://github.com/tonsky/FiraCode/wiki/ChromeOS-Terminal)) | Alacritty |\n| Ghostty | Asbru Connection Manager |\n| Hyper (see [#3607](https://github.com/vercel/hyper/issues/3607)) | Cmder |\n| iTerm 2 | ConEmu |\n| Kitty | GNOME Terminal ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/192)) |\n| Konsole | gtkterm ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| Mintty | guake ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| QTerminal | LXTerminal ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| st ([patch](https://st.suckless.org/patches/ligatures/)) | mate-terminal |\n| Tabby | PuTTY |\n| Terminal.app | rxvt |\n| Termux | sakura ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| Token2Shell | SecureCRT\n| Wez’s terminal | Terminator ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| Windows Terminal | terminology |\n| ZOC (macOS) | Tilix |\n| | Windows Console |\n| | xfce4-terminal ([ticket](https://gitlab.gnome.org/GNOME/vte/-/issues/1661)) |\n| | xterm |\n| | ZOC (Windows) |\n\n### Browser support\n\n```html\n\u003c!-- HTML --\u003e\n\u003clink rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css\"\u003e\n```\n\n```css\n/* CSS */\n@import url(https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css);\n```\n\n```css\n/* Specify in CSS */\ncode { font-family: 'Fira Code', monospace; }\n\n@supports (font-variation-settings: normal) {\n  code { font-family: 'Fira Code VF', monospace; }\n}\n```\n\n- IE 10+, Edge Legacy: enable with `font-feature-settings: \"calt\";`\n- Firefox\n- Safari\n- Chromium-based browsers (Chrome, Opera)\n- ACE\n- CodeMirror (enable with `font-variant-ligatures: contextual;`)\n\n### Projects using Fira Code\n\n- [CodePen](https://codepen.io/)\n- [Blink Shell](http://www.blink.sh/)\n- [Klipse](http://app.klipse.tech/)\n- [IlyaBirman.net](http://ilyabirman.net/)\n- [EvilMartians.com](https://evilmartians.com/)\n- [Web Maker](https://webmakerapp.com/)\n- [FromScratch](https://fromscratch.rocks/)\n- [PEP20.org](https://pep20.org/)\n\n### Alternatives\n\nFree monospaced fonts with ligatures:\n\n- [Hasklig](https://github.com/i-tu/Hasklig)\n- [Monoid](http://larsenwork.com/monoid/)\n- [Fixedsys Excelsior](https://github.com/kika/fixedsys)\n- [Iosevka](https://be5invis.github.io/Iosevka/)\n- [DejaVu Sans Code](https://github.com/SSNikolaevich/DejaVuSansCode)\n- [Victor Mono](https://rubjo.github.io/victor-mono/)\n- [Cascadia Code](https://github.com/microsoft/cascadia-code)\n- [JetBrains Mono](https://github.com/JetBrains/JetBrainsMono)\n\nPaid monospaced fonts with ligatures:\n\n- [PragmataPro](http://www.fsd.it/fonts/pragmatapro.htm)\n- [Mono Lisa](https://www.monolisa.dev/)\n\n### Building Fira Code locally\n\nIn case you want to alter FiraCode.glyphs and build OTF/TTF/WOFF files yourself, this is the setup I use on macOS:\n\n```bash\n# install all required build tools\n./script/bootstrap_macos.sh\n\n# build the font files\n./script/build.sh\n\n# install OTFs to ~/Library/Fonts\ncp distr/otf/*.otf ~/Library/Fonts\n```\n\nAlternatively, you can build Fira Code using Docker:\n\n```bash\n# install dependencies in a container and build the font files\nmake\n\n# package the font files from dist/ into a zip\nmake package\n```\n\nIf you want to *permanently enable* certain style sets or character variations, maybe because your editor of choice does not allow you to toggle these individually, you can provide the desired features as a comma separated list to the build script via the `-f / --features` flag.\u003cbr\u003eDefault: none.\n\nTo separate different versions of your font you can specify the desired font family name with the `-n / --family-name` flag. The special value 'features' will append a sorted, space separated list of enabled features to the default family name.\u003cbr\u003eDefault: \"Fira Code\"\n\nYou can also limit the font weights that will be created with the `-w / --weights` option.\u003cbr\u003eDefault: \"Light,Regular,Retina,Medium,SemiBold,Bold\"\n\n```bash\n# locally in your shell\n./script/build.sh --features \"ss02,ss08,ss10,cv03,cv07,cv14\" --family-name \"Fira Code straight\" --weights \"Regular,Bold\"\n\n# or via a docker container (creates the family name 'Fira Code cv01 cv02 cv06 cv31 onum ss01 ss03 ss04 zero')\ndocker run --rm -v \"${PWD}\":/opt tonsky/firacode:latest ./script/build.sh -f \"cv01,cv02,cv06,ss01,zero,onum,ss03,ss04,cv31\" -n \"features\"\n\n# in Git Bash from Git for Windows, or any other MSYS2 based shell, you might need to disable path conversion\nMSYS2_ARG_CONV_EXCL=\"*\" docker run --rm -v \"${PWD}\":/opt tonsky/firacode:latest ./script/build.sh -f \"ss02,ss03,ss04,ss05,ss06,ss07\"\n```\n\n### Credits\n\n- Author: Nikita Prokopov [@nikitonsky](https://twitter.com/nikitonsky)\n- Based on: [Fira Mono](https://github.com/mozilla/Fira)\n- Inspired by: [Hasklig](https://github.com/i-tu/Hasklig)\n","funding_links":["https://github.com/sponsors/tonsky","https://patreon.com/tonsky","https://paypal.me/nikitaprokopov"],"categories":["Diversos","Clojure","Free and commercial ready fonts collection","语言资源库","Fonts","Miscellaneous","Dependencies ##","Installation","font","Misc","Applications","Developer experience","Font","Linux生态圈用户工具","Terminal \u0026 CLI Enhancements","Tool","\u003e 30k ★","字体","Windows 软件","HarmonyOS","其他","Uncategorized","Recommended Tools","A very subjective star rating","Awesome Tools","字体列表","Special Mentions / by dev for dev","剪贴板工具","Programming fonts","Shell","Dev","6. other","Programming Fonts","Дизайн и шрифты","Monospaced","Typography"],"sub_categories":["tools","Snippets Manager","Tech stack","Fonts ###","Fonts","Monospaced","Monospace Fonts","Learning Resources","redux 扩展","macros","Windows Manager","网络服务_其他","Uncategorized","Code editor","Contenders","Coding/CLI Fonts","FiraCode v6.2","Monospaced Fonts","A11y Chrome extensions","Other","3.1 api gateway","Programming fonts","Programming Fonts"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonsky%2FFiraCode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonsky%2FFiraCode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonsky%2FFiraCode/lists"}