加入CODE CHINA

· 不限速    · 不限空间    · 不限人数    · 私仓免费

免费加入
    README.md

    Fira Code: free monospaced font with programming ligatures

    Fira Code

    Problem

    Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like ->, <= 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.

    Solution

    Fira 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.

    Download & Install

    Fira_Code_v5.2.zip - June 12, 2020 - 2.3 MB

    Then:

    Support

    Sponsor

    Fira Code is a personal, free-time project with no funding and a huge feature request backlog. If you love it, consider supporting its development via GitHub Sponsors or Patreon. Any help counts!

    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, so that everyone can choose what’s best for them. How to enable

    Being a programming font, Fira Code has fantastic support for ASCII/box drawing, powerline and other forms of console UIs.

    Unicode coverage makes Fira Code a great choice for mathematical writing.

    How does it look?

    Editor compatibility list

    Works Doesn’t work
    Abricotine Arduino IDE
    Android Studio (2.3+, instructions) Adobe Dreamweaver
    Anjuta (unless at the EOF) Delphi IDE
    AppCode (2016.2+, instructions) Standalone Emacs (workaround)
    Atom 1.1 or newer (instructions) Godot (issue)
    BBEdit/TextWrangler (v. 11 only, instructions) gVim (Windows workaround)
    Brackets (with this plugin) IDLE
    Chocolat KDevelop 4
    CLion (2016.2+, instructions) Monkey Studio IDE
    Cloud9 (instructions) UltraEdit
    Coda 2
    CodeLite
    CodeRunner
    CotEditor
    Eclipse
    elementary Code
    Geany (1.37+)
    gEdit / Pluma
    GNOME Builder
    GoormIDE (instructions)
    IntelliJ IDEA (2016.2+, instructions)
    Kate, KWrite
    KDevelop 5+
    Komodo
    Leafpad
    LibreOffice
    LightTable (instructions)
    LINQPad
    MacVim 7.4 or newer (instructions)
    Mancy
    MATLAB (instructions)
    Meld
    Mousepad
    NeoVim-gtk
    NetBeans
    Notepad (Windows)
    Notepad++ (with a workaround)
    Notepad3 (instructions)
    Nova
    PhpStorm (2016.2+, instructions)
    PyCharm (2016.2+, instructions)
    QOwnNotes (21.16.6+)
    QtCreator
    Rider
    RStudio (instructions)
    RubyMine (2016.2+, instructions)
    Scratch
    Scribus (1.5.3+)
    SublimeText (3146+)
    Spyder IDE (only with Qt5)
    SuperCollider 3
    TextAdept (Linux, macOS)
    TextEdit
    TextMate 2
    VimR (instructions)
    Visual Studio (2015+, instructions)
    Visual Studio Code (instructions)
    WebStorm (2016.2+, instructions)
    Xamarin Studio/Monodevelop
    Xcode (8.0+, otherwise with plugin)
    Xi
    Probably work: Smultron, Vico Under question: Code::Blocks IDE

    Terminal compatibility list

    Platform Works Doesn’t work
    macOS Hyper (see #3607)
    iTerm 2
    Kitty
    Terminal.app
    ZOC
    Alacritty
    Windows Hyper (see #3607)
    Mintty
    Token2Shell
    Windows Terminal
    Alacritty
    Cmder
    ConEmu
    PuTTY
    Windows Console
    ZOC
    Linux Hyper (see #3607)
    Kitty
    Konsole
    QTerminal
    Termux
    st (patch)
    Alacritty
    GNOME Terminal
    libvte-based terminals (bug report):
    • gtkterm
    • guake
    • LXTerminal
    • sakura
    • Terminator
    • xfce4-terminal
    mate-terminal
    rxvt
    terminology
    xterm
    ChromeOS crosh (instructions)

    Browser support

    <!-- HTML -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/tonsky/FiraCode@5.2/distr/fira_code.css">
    /* CSS */
    @import url(https://cdn.jsdelivr.net/gh/tonsky/FiraCode@5.2/distr/fira_code.css);
    /* Specify in CSS */
    code { font-family: 'Fira Code', monospace; }
    
    @supports (font-variation-settings: normal) {
      code { font-family: 'Fira Code VF', monospace; }
    }
    • IE 10+, Edge Legacy: enable with font-feature-settings: "calt";
    • Firefox
    • Safari
    • Chromium-based browsers (Chrome, Opera)
    • ACE
    • CodeMirror (enable with font-variant-ligatures: contextual;)

    Projects using Fira Code

    Alternatives

    Free monospaced fonts with ligatures:

    Paid monospaced fonts with ligatures:

    Building Fira Code locally

    In case you want to alter FiraCode.glyphs and build OTF/TTF/WOFF files yourself, this is the setup I use on macOS:

    # install all required build tools
    ./script/bootstrap
    
    # build the font files
    ./script/build
    
    # install OTFs to ~/Library/Fonts
    ./script/install

    Credits

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/tonsky/FiraCode

    发行版本 26

    5.2

    全部发行版

    贡献者 100

    全部贡献者

    开发语言

    • Clojure 51.6 %
    • Shell 20.1 %
    • Python 14.2 %
    • HTML 8.8 %
    • CSS 2.9 %