FiraCode Versions Save

Free monospaced font with programming ligatures

6.2

2 years ago
  • Fixed monospaced property #1325

6.1

2 years ago
  • Fixed hinting settings to match Glyphs export #1315

6

2 years ago

Overview

Two main features of this release: character variants and progress bar. Also, lots of fixes, lots of new Unicode characters. Enjoy!

character_variants ligature_variants

Full changelog

Unicode:

  • Fixed height of U+2211 N-ARY SUMMATION #1083
  • Added U+2241..U+224B ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≉ ≊ ≋ #1090
  • Added new enclosed characters from Unicode 13 U+0229C , U+1F10D 🄍, U+1F10E 🄎, U+1F10F 🄏, U+1F16D 🅭, U+1F16E 🅮, U+1F16F 🅯, U+1F1AD 🆭 #1070
  • Redrew U+27F0..U+27FF Supplemental Arrows-A to be strict monospace ⟲⟳⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿ #1109 #1123
  • Added U+220E End of Proof #1115
  • Added U+FFFD Replacement Character #1137, thanks @gjvnq
  • Added U+EE00..U+EE0B Progress Bar  #1182
  • Added U+2237 Propotion #1219
  • Added U+21AA Rightwards Arrow with Hook #1307

Changed:

  • Fixed weird look of ::< ::> <:: >:: #1145
  • --- now makes a line #1190

Removed:

  • C-style compound assignment >>= <<= ||= |= are not combined with equal sign by default. Old behavior is moved into ss09 #974
  • Restored short | by default, long one moved to cv30 #843 #1160
  • Moved .- into cv25 #670 #860 #1103
  • Moved .= into cv32 #670
  • Named “Retina” instance from FiraCode-VF.ttf (you can still get it by setting wght=450)

Added (variants):

  • Alternative a cv01 #949
  • Alternative g cv02 #886
  • Alternative i cv03-cv06
  • Alternative l cv07-cv10 #899
  • Alternative 0 cv11-cv13
  • Alternative 3 cv14
  • Top-aligned * cv15
  • Hexagonal * cv16 #708 #1134
  • Top-aligned ~ cv17
  • Alternative % cv18
  • <= with a horizontal bar cv19
  • <= as an arrow cv20 #34 #696 #858
  • =< as less than or equal cv21 #34
  • =< as less than or equal with horizontal bar cv22 #34
  • >= with a horizontal bar cv23
  • /= as not equals cv24 #125
  • Added :- to cv26 #790
  • Returned [] as cv27
  • Returned {. .} as cv28 #875 #635 #409 #279 #264 #214
  • Alternative {} cv29
  • Returned full ligatures for Fl Tl fi fj fl ft as ss10
  • Alternative () cv31 #1198

5.2

3 years ago
  • Fixed hinting problems caused by build_ttf #1075

5.1

3 years ago
  • Fixed monospace property broken by adding threeemdash #1073

5

3 years ago

Changelist

  • Fixed Box drawing diagonal lines U+2571 U+2572 U+2573 #929
  • Added U+2236 Ratio #926
  • Added U+2E3A 2-em dash , U+2E3B 3-em dash #1019
  • Fixed arrows next to lowercase letters #1049 #1059
  • Vertically-aligned colons, greater/less signs #980 #1061
  • Make U+2388 Helm Symbol single-width #1036
  • Disable =/ because of conflicts with paths PATH=/... #1056
  • Fixed STAT table in FiraCode-VF.ttf #770 #1054
  • Added //= =// =//= #816
  • Added U+21B0..U+21B3 ↰ ↱ ↲ ↳, U+2770..U+2771 ❰ ❱ #1032
  • Fixed U+27F8 U+27F9 U+27FA U+27FD U+27FE U+27FF that were broken in v4 #1067
  • Added ss08 that adds gaps to == === != !== #383
  • Removed OTF from distr to avoid confusion #939

Acknowledgment

HUGE thanks to my patrons who made this release possible. I would not make it without your support:

  • Dustin Getz, Emin Hasanov, refset, Zalán Forró;
  • akeylimepie, Alexander Savchenko, Alexis King, Andrew Neverov, Anton Chebotaev, Anton Smyk, Brian Lalonde, Chris Smothers, Dmitry Grach, Dmitriy Semyushkin, Emmanuel, Igor Bondarenko, Igor Dzreyev, Kanon Kakuno, Lance, Luke VanderHart, Michael Dubakov, Miguel Montalban, Nolan, Ryan, the-alchemist, zhmur;
  • Alexander Gudulin, Andreas Pizsa, Andrei-Mihai Nicolae, Ben Brinckerhoff, Dan Abrams, Dan Martinez, Daniel Egan, Daniel Woelfel, Dave Farinelli, David Nachman, David Whittington, Devon Zuegel, Dieter Komendera, Ikuru Kanuma, Ivan Inozemtsev, Jash Lam, Jerome Hodges, Kamol Chalermviriya, Majnu Schäfer, Matija Marohnić, Michael Everson, Mike Fikes, Nikolay Lopin, Noah Bogart, Odin Hole Standal, Oliver George, Pavel Glushkov, pcdevil, Ronald Sala, Tomas Heran, Tomi Joki-Korpela, Vadim Pisarevsky.

4

4 years ago

What changed?

  • Removed 44 individual arrow ligatures.
  • Replaced them with four universal, combinative substitutions.
  • Infinite amount of arrow combinations.
  • 100-150% faster shaping performance.

P.S.

  • Redesigned font page.

Changelist

  • Arbitrary-long combinative hyphen-based arrows #346 #494 #713 #826 #968 #983 #1029
  • Arbitrary-long combinative equal-based arrows #229 #234 #346 #494 #698 #826 #919 #931 #946 #948 #968 #1016 #1018 #1022
  • Arbitrary-long underscores #120 #269 #346 #494
  • Arbitrary-long numbersign sequences #1014
  • Fixed descender in U+040F Џ
  • Undid #995 and properly fixed U+04CB Ӌ, U+04CCӌ #1001 and U+0449 щ #1007
  • Added ||| to prevent partial ligatures in |||-||| |||=||| #346

Process

Me looking at 52K generated reasonably different arrow combinations:

asddasd

Acknowledgment

HUGE thanks to my patrons who made this release possible. I would not make it without your support:

  • Emin Hasanov, refset, Zalán Forró;

  • akeylimepie, Alexander Savchenko, Alexis King, Andrew Neverov, Anton Chebotaev, Anton Smyk, Brian Lalonde, Chris Smothers, Dmitry Grach, Dmitriy Semyushkin, Emmanuel, Igor Bondarenko, Igor Dzreyev, John Faulkenbury, Kanon Kakuno, Lance, Luke VanderHart, Michael Dubakov, Miguel Montalban, Nikolas Göbel, the-alchemist, zhmur;

  • Alexander Gudulin, Andreas Pizsa, Ben Brinckerhoff, Dan Martinez, Daniel Egan, Daniel Woelfel, Dave Farinelli, David Nachman, David Whittington, Devon Zuegel, Dieter Komendera, Ikuru Kanuma, Ivan Inozemtsev, Jash Lam, Jerome Hodges, Kamol Chalermviriya, Kyli Rouge, Majnu Schäfer, Michael Everson, Mike Fikes, Mikhail Epikhin, Nikolay Lopin, Noah Bogart, Odin Hole Standal, Oliver George, Pavel Glushkov, Ronald Sala, sergey, Tomas Heran, Tomi Joki-Korpela.

3.1

4 years ago
  • Fixed width of Germandbls, cornerbracketleft, cornerbracketleft, negativeAcknowledge-control, cornerbracketleft.half, cornerbracketright.half [#1000]
  • Fixed misplaced descenders on U+04B3 ҳ U+04CB Ӌ and U+04CCӌ [#995]
  • Fixed U+03F4 ϴ [#996]
  • Fixed U+0314 COMBINING REVERSED COMMA ABOVE [#997]

3

4 years ago
  • Disabled ligatures in progress bars [-> [--> [---> [=> [==> [===> [#968]
  • Added set letters U+2102 U+210D U+2115 U+2119 U+211A U+211D U+2124 and U+1D539 𝔹 [#841]
  • Removed ?: [#970]
  • Added missing set operations U+2200 U+2203..U+2205 ∃ ∄ ∅ U+2207 U+2282..U+228B ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ U+2208..U+220# ∈ ∉ ∊ ∋ ∌ ∍ U+222A [#822]
  • Added U+300C U+300D Corner brackets 「」 and U+FF62 U+FF63 Halfwidth Corner brackets 「」 [#940]
  • Added <<->> [#919]
  • Disabled fl Fl Tl ligatures, adjusted l height in combination with [F T I f] instead [#902]
  • Added U+25A4..25A9 Squares with fill ▤ ▥ ▦ ▧ ▨ ▩ [#450]
  • Slightly tuned multiple ampersands in ss03 [#831]
  • Fixed horizontal bar height in <!-- [#917]
  • Fixed multiply sign in 0xFF and 10x10 with combination of onum and zero [#888]
  • Fixed dollar sign in <$ $> <$> when ss04 is active [#830]
  • Removed ss19 and ss20 (they are covered by zero and onum)
  • Added =~ and !~ to ss07 [#293]
  • Removed ~= [#381]
  • Re-added ..= with just a subtle spacing adjustment [#934]
  • Added U+2630..U+2637 ☰☱☲☳☴☵☶☷ (Bagua trigrams) [#859]
  • Disabled <?= (?= after <) [#850]
  • Added SemiBold weight [#987]
  • Replaced single LIG with per-glyph *.spacer

Some new characters drawn for this release:

Screenshot 2020-04-09 at 15 14 20

HUGE thanks to my patrons who made this release possible. I would not make it without your support:

Emin Hasanov, refset, Ivan Mikushin, Volodymyr Kushnir, Zalán Forró, Dustin Getz, Andrey Okonetchnikov, Alexander Solovyov, Jan Rychter, Pedro Girardi, Ruben Bakker, Sergey Trofimov, Aleksandr Shparun, Dmytro Liakhov, Johnny, Michael Dubakov, Eugene Sandulenko, Lance, Andrew Neverov, Anton Smyk, Derek Gabriel, Kanon Kakuno, Kirill Salykin, Mykola Basov, pcdevil, Alexis King, Dmytro, John Faulkenbury, Aleksandr Mansurov, orwell, Dmitriy Semyushkin, Igor Bondarenko, Luke VanderHart, Nikolas Göbel, Alexander Savchenko, Anton Chebotaev, Brian Lalonde, Miguel Montalban, nsa, Sebastian Bensusan, Igor Dzreyev, Chris Smothers, Mark Addleman, Vitaly Lishchenko, zhmur, Dmitry Palamarchuk, Ryan Olivieri, the-alchemist, Matthew Chadwick, Not Invader Zim, Dmitry Grach, Ben Brinckerhoff, Daniel Woelfel, Dieter Komendera, Ivan Inozemtsev, Magnar Sveen, Odin Hole Standal, Majnu Schäfer, Noah Bogart, Pavel Glushkov, Andreas Pizsa, Alexander Gudulin, Andrey Salomatin, David Whittington, Daniel Egan, Michiel Trimpe, Tomi Joki-Korpela, David Nachman, Jash Lam, Michael Everson, Андрей Титов, Maxim Samoilov, Mike Fikes, Roman Shamin, Daniil Churikov, Dmytro Filipenko, Endominus, Grekov Serg, Kaien Liao, Paul Boschmann, Pavel Gurkov, Anton Zadorozhniy, Fernando Via Canel, Marius Wingerei, Nie(sha), Dave Achuk, Kyli Rouge, Ronald Sala, Christopher Hagmann, DavidMz, M, Evgeny, Nikolay Lopin, Visnu Pitiyanuvath, Alexander Kotliarskyi, Chris Dupin, Dan Martinez, Dávid Tóth, Paul B. Joiner, Jerome Hodges, Kamol Chalermviriya, michel laevens, Mikhail Epikhin, Ikuru Kanuma, César Díez Sánchez, Dave Farinelli, Никита Ложников, Devon Zuegel, Josh Tilles, Andrey Denisov, Ahmed Brown, Bratton, Anton V., Kirill Ch, Adam Frey, A S, Anton Podviaznikov, Alex Melman, Didier Arslanian, Nicolas Musset, Vítězslav, Anton Yakutovich, Andy One, Emmaly Wilson, Irina Goldsmith, Red Ochsenbein, Rob Napier, Anton, Johny Woller Skovdal, Martin, Pratyush M, Max Barnash, Malte Sandstede, Alan Reyes, Anthony Panettiere, Ben Duguid, Daniel Newman, Ivan Buncic, Kingsley Omon-Edo, Mashehu, Pavel Perestoronin, Serg Rogovtsev, Shahin, Daniel Cloud, Evan Purcer, John Cido, Jorin Vogel, Ruslan Kolmakov, Shannon Soper, Grayson Leigh, Roman, So Fast, Yegor, Yu Jen Chu, Stanislav Savulchik, Саша Беспоясов, Aleksei Trifonov, Alex Baumgertner, Anton, Chakat Sneakpaw, cocasema, PTKDev, Артем Русских, Stephen Thunder Nixon, CODY W GEISLER, David XLVRS, Jason D. Moss, Joaquin Triñanes Alvarez, Jordan T. Thevenow-Harrison, Ludovic Kuty, Matthew Lyon, Nicholas Farley, Piotr Jagielski, Sergey Zolotorev, Shawn MacIntyre, Tomáš Kafka, 0xk175un3, Artem Yakshin, deleter, Michail Pishchagin, Darafei Praliaskouski, Avi Flax, jgoodhcg, Jos van Bakel, Luciano Maiwald, Shaun Lebron, daiyi!, Nickolay Marchenko, Alexey Ivanov, IC Rainbow, Anton, Magnus Köhler, Gor Martsen, vladimir s, Gautham Velchuru, Ihor Kopyl, Veha Suwatphisankij, Xidorn Quan, Artem Laman, Joshua Armstrong, Joshua Mitchell, Roman Liutikov, Alexander, Bob, Diego Mauricio, Ivan Krechetov, Jeffrey Smith, Leo, Mikael, Nick Vance, Thiago Nogueira, Trevor Keller, Zoe, JC, Sebastian Bensusan.

2

4 years ago

HUGE UPDATE!

136 new glyphs! 55 existing glyphs updated! 42 issues closed. 5 months in the making. Huge extension in Unicode support (technical symbols, math, box-drawing). Eight stylistic sets with character variants (if your editor supports it).

all_ligatures
  • Characters U+25DE and U+25DF were swapped [#761]
  • Added Box Drawing Light Arcs U+256D U+256E U+256F U+2570 [#702] [#714] [#725]
  • Added Mathematical Angle Brackets U+27E8 U+27E9 [#763]
  • Added Light and heavy dashed lines U+2504..U+250B ┄┅┆┇┈┉┊┋ [#702]
  • Adjusted Box drawings double dashes U+254C..U+254F ╌╍╎╏
  • Fixed outlines of U+04FA Ӻ and U+04FB ӻ [#806]
  • Added Not identical to U+2262 [#396]
  • Added Latin Capital Letter Sharp S U+1E9E [#587]
  • Tuned position and width of U+2044 Fraction Slash [#588] and U+2215 Division Slash [#805]
  • Added U+1405 Canadian Syllabics O and U+140A Canadian Syllabics A [#666]
  • Added U+2234 Therefore and U+2235 Because [#669]
  • Added U+239B..U+23AD multi-line brackets [#675]
⎛ 1 ⎞ ⎡ a ⎤ ⎧ x ⎫
⎜ 2 ⎟ ⎢ b ⎥ ⎪ y ⎪
⎜ 3 ⎟ ⎢ c ⎥ ⎨ z ⎬
⎜ 4 ⎟ ⎢ d ⎥ ⎪ y ⎪
⎝ 5 ⎠ ⎣ e ⎦ ⎩ x ⎭
  • Added U+27F0..U+27FF Supplemental Arrows-A ⟲⟳⟰⟱⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿ [#677]
  • Added U+2400..U+2426 Control Pictures ␆␈␇␣␢␘␍␐␡␥␔␑␓␒␙␃␄␗␅␛␜␌␝␉␊␕␤␀␞␏␎␠␁␂␚␦␖␟␋ [#764]
  • Added U+2388 Helm Symbol [#766]
  • Added U+2016 Double Vertical Line [#780]
  • Tuned metrics (1870,-530 -> 1800,-600, upm 2000 -> 1950, hopefully fix [#552] [#798])
  • Box characters to not overflow line height, taller | [#449]
  • Added few technical symbols [#799]:
    • U+21A9 Leftwards arrow with hook (Return)
    • U+21DE Upwards arrow with double stroke (Page Up)
    • U+21DF Downwards arrow with double stroke (Page down)
    • U+21E4 Left Tab Arrow
    • U+21E5 Right Tab Arrow
    • U+2300 Diameter sign
    • U+2303 Up Arrowhead (Control)
    • U+2304 Down Arrowhead
    • U+2305 Projective
    • U+2306 Perspective
    • U+2318 Place of interest sign (Command)
    • U+2324 Up Arrowhead between two horizontal bars
    • U+2325 Option Key
    • U+2387 Alternative Key Symbol
    • U+238B Broken Circle with Northwest Arrow (Escape)
    • U+23CF Eject symbol
  • Added Coq logical and /\ and logical or \/ ligatures, U+2227 and U+2228 [#191] [#488] [#738] [#810]
  • Added SystemVerilog |-> |=> and <-| <=| for symmetry [#695]
  • Added Forces ||- ligature and U+22A2..U+22AF ⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ [#709]
  • Added fl Fl Tl ligatures, adjusted fi fj pairs [#795]
  • Disabled ligatures after regexp lookahead/lookbehinds (?<=< (?<=> (?<==> (?<=| (?<== (?=:= (?=!= (?== (?=== (?==> (?=> (?=>> (?=<< (?=/= (?!! (?!!. (?!= (?!== (?<!! (?<!!. (?<!= (?<!== (?<!-- [#578]
  • Removed ..= [#757]
  • Alternatives (stylistic sets):
    • Lowercase r (ss01) [#601]
    • Less than/greater than <= >= (ss02) [#263] [#617]
    • Ampersand & (ss03) [#617]
    • Dollar sign $ (ss04) [#617]
    • At sign @ (ss05) [#617] [#748] [#817]
    • Thin backslash (ss06) [#577 #720 #825]
    • Dotted zero 0 (zero, ss19)
    • Old-style figures (onum, ss20) [#561] [#715]
  • Old-style figures no longer prevent ligatures [#561] [#715]

stylistic_sets

HUGE thanks to my patrons who made this release possible. I would not make it without your support:

Victor Klochikhin Emin Hasanov Ivan Mikushin refset Alexander Solovyov Alexander Temerev Igor Bondarenko Luke VanderHart Nikolas Göbel nsa Vitaly Lishchenko Александр Лунев Alexander Savchenko Anton Chebotaev Kevin Lynagh Mark Addleman Ryan Olivieri Dmitry Palamarchuk Sebastian Bensusan Zalán Forró Ikuru Kanuma Brian Lalonde Miguel Santesmases Montalban Pedro Girardi Ruben Bakker Sergey Trofimov Anton Yakutovich Aleksandr Shparun Alex Vykaliuk Andrey Okonetchnikov Dmytro Liakhov Igor Dzreyev Johnny Eradus Jan Rychter Chris Smothers Max Barnash Malte Sandstede Andre Richards Andrey Salomatin Ben Brinckerhoff Daniel Woelfel Dieter Komendera Ivan Inozemtsev Magnar Sveen Michiel Trimpe Odin Hole Standal zhmur Majnu Schäfer Noah Pavel Glushkov Андрей Титов Anton V. Andreas Pizsa Maxim Samoilov Roman Shamin Volodymyr Kushnir Alexander Gudulin Paul Boschmann Pavel Gurkov Anton Zadorozhniy David Whittington Derek Gabriel Kirill Salykin Marius Wingerei Mykola Basov Stanislav Savulchik Daniel Egan Christopher Hagmann Dave Achuk DavidMz Dmytro Martti the-alchemist Саша Беспоясов Josh T. Ahmed Brown Evgeny Tomi Joki-Korpela Anton Podviaznikov Kirill Ch Adam Frey Aleksandr Mansurov Alexander Kotliarskyi Chris Dupin David Nachman Dávid Tóth Jash Lam Michael Everson orwell Paul B. Joiner Fernando Via Canel michel laevens Mike Fikes Nicolas Musset Nie(sha) A S daiyi! Darafei Praliaskouski Jos van Bakel Nickolay Marchenko Sergey Kalistratov Avi Flax jgoodhcg Luciano Maiwald Shaun Lebron César Díez Sánchez Matthew Chadwick Никита Ложников Alex Melman Martin Alexey Ivanov Church Turing Ivan Buncic Andrey Denisov Anton Bratton Magnus Köhler Roman Liutikov Vítězslav Heiko Borchers Daniil Churikov Endominus Gor Martsen Grekov Serg Jorin Vogel vladimir s Gautham Velchuru Veha Suwatphisankij Xidorn Quan Artem Laman Didier Arslanian Joshua Armstrong Joshua Mitchell Sergey Zolotorev Andy One Artem Yakshin Emmaly Wilson Irina Goldsmith Matthew Lyon Michail Pishchagin Red Ochsenbein Rob Napier Alexander Anton Ivan Krechetov Jeffrey Smith Johny Woller Skovdal Pratyush M Thiago Nogueira Trevor Keller