A font family with a great monospaced variant for programmers.

Overview

Fantasque Sans Mono

A programming font, designed with functionality in mind, and with some wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool. Download or see installation instructions.

Previously known as Cosmic Sans Neue Mono. It appeared that similar names were already in use for other fonts, and that people tended to extend their instinctive hatred of Comic Sans to this very font of mine (which of course can only be loved). Why the previous name? Here is my original explanation:

The name comes from my realization that at some point it looked like the mutant child of Comic Sans and Helvetica Neue. Hopefully it is not the case any more.

Inspirational sources include Inconsolata and Monaco. I have also been using Consolas a lot in my programming life, so it may have some points in common.

Weights, variants and glyph coverage

The font includes a bold version, with the same metrics as the regular one. Both versions include the same ranges of characters : latin letters, some accented glyphs (quite a lot), some greek letters, some arrows.

Please note that I have not tested all of the glyphs I have drawn (some letters have those two layers of crazy accents that I have never witnessed before), so it might look bad in some cases. Please report these problems: see next section.

It also features a good italic version, which I designed in a fashion similar to Consolas' italic version, with new glyph designs, not just an added slant.

Stylistic set(s)

ss01: nondescript k

No distractive lovely loop. Get the pre-activated version here or see the issue #67 for techniques to activate the stylistic set.

Author and license

Created by Jany Belluz <jany.belluz AT hotmail.fr>

Licensed under the SIL Open Font License (see LICENSE.txt).

Please send me an e-mail or report an issue on Github if you stumble upon bad design or rendering problems (with screen shot if possible), or if you need more characters, or if you want to compliment me (I love compliments).

Installation

You can download the latest version and install it by hand. In the NoLoopK variant, the looped lowercase k is replaced with a straight version. The LargeLineHeight variant is especially useful for users of accented capitals. For more info, see the CHANGELOG.

Automatic installation on macOS with homebrew:

brew tap homebrew/cask-fonts #You only need to do this once for cask-fonts
brew install --cask font-fantasque-sans-mono

Instructions for other platforms might follow.

Building installable font files

The build process requires:

  • FontForge with python scripting support,
  • ttfautohint
  • sfnt2woff (from the woff-tools package on Ubuntu)
  • woff2_compress from the Google WOFF2 tools or woff2 package on Ubuntu

Run make. You should see green stuff and some "OK" messages.

If you are using Ubuntu, please note that the FontForge version in the default Ubuntu repositories is much outdated at the time of this writing, and that is known to have caused subtle problems. You are advised to install FontForge from this PPA (using sudo add-apt-repository ppa:fontforge/fontforge prior to the installation). Alternatively, you can always download the latest prebuilt release of these fonts.

make install will install the TTF fonts into your local .fonts/ directory and update the font cache. It comes in handy while modifying the font.

Alternatively, if you'd like to build Fantasque without installing required dependencies, a Dockerfile is provided. Run the following command, and the fonts will be built to the ./Variants directory.

docker build -t fantasque .
docker run -v "$(pwd)/Variants:/fantasque/Variants" fantasque

Webfonts

Each variant has a Webfonts/ folder which contains various font formats for use on the web, along with the matching CSS font declarations. To use them, you must combine in the same folder:

  • a custom .css file that you can assemble from the *-decl.css fragments (you can only pick the styles that you need, e.g. normal and bold)
  • the matching .svg, .woff, .woff2 files from Webfonts/
  • the matching .ttf files from the TTF/ folder
  • the matching .otf files from the OTF/ folder.

Versions

Check out the changelog.

Comments
  • Ligatures and contextual alternatives

    Ligatures and contextual alternatives

    love your font, but having tasted the beauty that is Fira Code’s ligatures, i can’t go back.

    having both fantasque and those ligatures would be perfection!

    the contextual alternatives are also amazing: having e.g. the * in *ptr and - in foo-bar adjusted based on the height of the characters next to them… yum!

    opened by flying-sheep 29
  • Is it possible to rename the font?

    Is it possible to rename the font?

    Hi,

    First of all thanks for creating such a wonderful font. I'm trying to package this font for Debian and filed my intent for the same. Here I got some concern raised by a fellow developer on the name of font.

    Is it possible for upstream to consider a name change for the font?.

    Thank you,

    opened by copyninja 17
  • Underscores disappear at size 14 in Intellij (Windows)

    Underscores disappear at size 14 in Intellij (Windows)

    Hi,

    I'm not sure if this is actually an issue with IJ or the actual font, but I've noticed that at size 13 or 14 (I guess this is pts?) in intelliJ on windows, underscores aren't visible. See this screenshot:

    14

    It's okay at 12 or 16 though, however "12" in IntelliJ is a lot smaller than "12" in the Windows font preview tool, and a bit too small for me.

    font-preview

    Any ideas?

    Otherwise - I love this font! Thanks!

    opened by amyers735 14
  • Can't choose this font anymore in PyCharm on Linux

    Can't choose this font anymore in PyCharm on Linux

    Don't know if that's related to the renaming or the PyCharm IDE, but the latest Cosmic Sans was working flawlessly, i could choose "CosmicSansNeueMono" just fine: i then updated to the latest version via AUR (Arch Linux) and now i can't even look it up in the font selection. Any ideas?

    EDIT: just to add this is one of the most awesome coding fonts i've seen in a lot of time, this is even better than Monaco, Menlo and Meslo! Keep up the fantastic work!

    opened by manuelbua 11
  • Line height is wrong in Mac OS X

    Line height is wrong in Mac OS X

    This is how 14pt looks in Xcode, and also in Terminal. Note the caret location/size line height – it's too high, like there is too much padding on top. image

    For comparison, this is Inconsolata 14pt – line height is correct, no extra padding on top: image

    And this one is Menlo 14pt, note how big it is compared with Fantasque and Inconsolata. image

    Strangely, some apps don't show this extra padding on top, like BBEdit (but they may be using Carbon font rendering) and Java-based apps (AppCode).

    opened by glebd 10
  • Bold replaces Medium on Windows

    Bold replaces Medium on Windows

    On my Windows 7 PC, I installed the medium weight and when I tried the installing the bold weight it asked me to replace the first weight that I installed. I'm guessing that it's because the OpenType font name is the same and that's how Windows decides if it needs to replace an existing font. Let me know if you need some more details.

    Thanks for a great monospaced font!

    opened by 1deadpixl 9
  • Italic variant of lowercase 'l' somehow looks like uppercase 'L'

    Italic variant of lowercase 'l' somehow looks like uppercase 'L'

    I find it misleading from time to time when skimming the source code like this: Screenshot

    This screenshot above is Rust Syntax highlighted by Sublime Text 3 + Fantasque Sans Mono v1.7.2, macOS High Sierra.

    In case you're wondering, in Rust, like ES6 let, we use let to start the declaration of variable or constant.

    Any other variants look Okay for me, except the italic variant of lowercase l that somehow looks like uppercase L in general when skimming.

    opened by Thammachart 7
  • Closing single quote issue

    Closing single quote issue

    In GCC output, single quotes are distinct from apostrophes:

    ../fstext/deterministic-fst-compo.h:96:12: error: ‘state_table_’ was not declared in this scope
    

    I get the following rendering issue with Fantasque Sans Mono Bold 1.7 on this line: image

    opened by kartynnik 7
  • `Q` and `@` are a bit muddy/blurry at 12/13/14pt. on OS X

    `Q` and `@` are a bit muddy/blurry at 12/13/14pt. on OS X

    1 john john2x tmux attach -t work tmux at 10 19 07 am

    Not sure if this is an issue or not, as it's very subjective. But the tiny little space at the bottom of the Q is too small, and makes it look blurry/muddy.

    opened by john2x 6
  • Issues with backticks and curly-quotes

    Issues with backticks and curly-quotes

    So, I've never submitted an issue about type before, so, I'm not sure about the etiquette here … it's a bit more subjective, and artistic, than anything I've ever commented on before. So, take my complaints as ‘this is my experience using your work,’ instead of as any instruction to change your style, I suppose? :P

    I use a lot of backticks, for a variety of reasons; amongst others,

    • I write a lot of Markdown documentation for code.
    • I write a lot of shell-script (often, with Markdown documentation within it. O_O)

    Unfortunately, although I've been so happy with switching to Fantasque as my code-editing typeface (as opposed to Terminal-window typeface), it's made any task involving backticks a bit … hellish.

    Take a gander at how difficult it is to figure out what's going on in these:

    screen shot 2015-12-13 at 11 52 19 pm screen shot 2015-12-13 at 11 52 57 pm screen shot 2015-12-13 at 11 53 18 pm

    In order, those are:

    • Two backticks, followed by ‘curly single-quotes,’ and a single 'straight-quote.'
    • A "straight double-quote", a 'straight-quote', and two backticks.
    • Two pairs of backticks followed by two pairs of ‘curly single-quotes.’

    It's gotten to the point where I've bound a hotkey to swap my editor's typeface out, when I'm staring at a block of text and I just can't determine what the mess of quotes are.


    So, if I were to have my way in all things, I'd love to see:

    • Straight-quotes that are distinguishable from curly-quotes (after all, ’this’ doesn't look very pretty anyway; if you can't differentiate between start and end quotes, then why are you trying to make them faux-curly at all?), and that are preferably … well, straight. Although the latter is more of taste thing for myself than a usability issue. ¯_(ツ)_/¯
    • And, so very, very importantly for me, visually-distinguished backticks. Glancing at a couple other specimens, it looks like most editing typefaces go with a very “sharp” appearance for the backtick; but even when it's not super thin / pointed at the bottom, it's always straight as an arrow. I really do think it'd be best to make the backtick straight, to distinguish from the opening-curly-quote and straight-single-quote.

    Here's a couple samples from other fixed-width faces I've used. Out of all of them, DejaVu Sans is (unsurprisingly) the most usable, and probably, the most elegant; but I don't think the approach that works for it is going to work for Fantasque's feel, so …

    screen shot 2015-12-14 at 12 04 44 am
    opened by ELLIOTTCABLE 5
  • Thoughts on Recent Changes

    Thoughts on Recent Changes

    I absolutely love this font, and I use it in every IDE I work with. I just recently discovered that it was no longer called Cosmic Sans Neue, and thus that there were new versions available.

    I was initially excited to see what had changed, but I think I like some aspects of the older versions better. The new italic variant is too oblique: it's hard to read, and the corners of some italic glyphs overlap with the characters next to them. (This is particularly egregious with brackets and parentheses.) The old italics were already pretty easily distinguishable.

    The new quotation marks are also a bit confusing. In a vacuum, I think they'd be pretty cool. But unfortunately, a lot of text editors and IM clients have taken to substituting standard ASCII quotes with specialized left and right versions. Which, of course, don't compile if they find their way into source code. The old ones might be bland, but they're much less scary. :)

    I hope this is the right place to submit this sort of feedback; I couldn't find any other outlet for it. And either way, I have the old version of the font, so I'm good. Just wanted to do what little I could to contribute to a great project.

    opened by orochi235 5
  • Build: fix range error for missing module 'past'

    Build: fix range error for missing module 'past'

    On systems without future, there would issues with missing past.

        from past.builtins import xrange
    ModuleNotFoundError: No module named 'past'
    

    Installing future like pip install future can help, but it bothers.

    Changing xrange to range can be OK since python3 has no xrange anymore, while both 2 and 3 can have range.

    The performance impact with python2 should be minor.

    Tested OK on latest Debian bullseye/bookworm, Ubuntu jammy, and Archlinux, with python2 linked to 2.7.18, or 2.7.3, while python linked to 3.10.8, 3.10.6, or 3.9.2.

    opened by ashang 1
  • Driac notation symbol

    Driac notation symbol

    Hi,

    I found that this font does not include the Dirac notation: '⟨' and '⟩'.

    They are ubiquitous in theoretical physics and mathematics.

    Could you add them to your font?

    Another question is that I wish you could use dot zero in this font, or release another version with dot zero.

    Sincerely,

    opened by Photonico 1
  • Tilde a bit too

    Tilde a bit too "flat"

    Hi,

    FSM makes a great programmer's font, which I use a lot. The distinction between 1Iil|, 0O, 56S and 8B is excellent, and FSM does not run as wide as some other mono fonts, so it fits better when combined with proportional fonts in a documentation. The one (small) gripe I have is that the tilde ~ is a bit too flat and could be mistaken for an - on "diagonal" reading. Hack (https://github.com/source-foundry/Hack), IMHO, has a better, stronger curved, tilde.

    Thanks Engelbert

    opened by ebuxbaum 1
  • Fantasque smaller than other fonts at same font size?

    Fantasque smaller than other fonts at same font size?

    A recent YouTube video about a non-free font called Comic Code prompted me to start comparing it to a number of different free and open source monospace fonts. Fantasque Sans Mono was actually the closest I've come to finding something close to Comic Code. It's very nice. But I noticed something odd about it.

    I don't know much about font design, but I'm really curious whether it's a deliberate design choice to make Fantasque Sans Mono a bit smaller than other similar fonts. I'm using Font Manager from Flathub to compare a number of different fonts and I noticed that Fantasque is just... smaller. I was switching fonts in Visual Studio Code and noticed that I always wanted to zoom in or increase the editor font size whenever I tried Fantasque. The Font Manager app showed that this wasn't just my imagination. It really is relatively smaller at the same "size".

    The screenshot below shows the font compared to four other fonts that share the same purpose of being good monospace "coding" fonts. You can see that there is an unusually large difference in length and height with Fantasque Sans Mono and the other fonts, even though they are all being set to the same "font size" for the comparison. All the other fonts are basically exactly the same length for the same string of characters, not even a single character width of difference. Fantasque has a bit less space between some of the letters, but it's also just physically smaller in general, leading to about a dozen character widths difference in length.

    Is this something done on purpose? Or is it an issue with the settings used while generating the font that might be adjusted to match some sort of font size vs pixel dimensions standard better? Just curious.

    image

    opened by RedBearAK 4
Releases(v1.8.0)
Code basis for the paper "Camera Condition Monitoring and Readjustment by means of Noise and Blur" (2021)

Camera Condition Monitoring and Readjustment by means of Noise and Blur This repository contains the source code of the paper: Wischow, M., Gallego, G

7 Dec 22, 2022
This repository provides a PyTorch implementation and model weights for HCSC (Hierarchical Contrastive Selective Coding)

HCSC: Hierarchical Contrastive Selective Coding This repository provides a PyTorch implementation and model weights for HCSC (Hierarchical Contrastive

YUANFAN GUO 111 Dec 20, 2022
Code for Massive-scale Decoding for Text Generation using Lattices

Massive-scale Decoding for Text Generation using Lattices Jiacheng Xu, Greg Durrett TL;DR: a new search algorithm to construct lattices encoding many

Jiacheng Xu 37 Dec 18, 2022
This is a classifier which basically predicts whether there is a gun law in a state or not, depending on various things like murder rates etc.

Gun-Laws-Classifier This is a classifier which basically predicts whether there is a gun law in a state or not, depending on various things like murde

Awais Saleem 1 Jan 20, 2022
(CVPR 2021) PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds by Mutian Xu*, Runyu Ding*, Hengshuang Zhao, and Xiaojuan Qi. Int

CVMI Lab 228 Dec 25, 2022
Negative Interactions for Improved Collaborative Filtering:

Negative Interactions for Improved Collaborative Filtering: Don’t go Deeper, go Higher This notebook provides an implementation in Python 3 of the alg

Harald Steck 21 Mar 05, 2022
retweet 4 satoshi ⚡️

rt4sat retweet 4 satoshi This bot is the codebase for https://twitter.com/rt4sat please feel free to create an issue if you saw any bugs basically thi

6 Sep 30, 2022
[ICCV 2021 (oral)] Planar Surface Reconstruction from Sparse Views

Planar Surface Reconstruction From Sparse Views Linyi Jin, Shengyi Qian, Andrew Owens, David F. Fouhey University of Michigan ICCV 2021 (Oral) This re

Linyi Jin 89 Jan 05, 2023
2021-MICCAI-Progressively Normalized Self-Attention Network for Video Polyp Segmentation

2021-MICCAI-Progressively Normalized Self-Attention Network for Video Polyp Segmentation Authors: Ge-Peng Ji*, Yu-Cheng Chou*, Deng-Ping Fan, Geng Che

Ge-Peng Ji (Daniel) 85 Dec 30, 2022
Official implementation of the PICASO: Permutation-Invariant Cascaded Attentional Set Operator

PICASO Official PyTorch implemetation for the paper PICASO:Permutation-Invariant Cascaded Attentive Set Operator. Requirements Python 3 torch = 1.0 n

Samira Zare 0 Dec 23, 2021
Use .csv files to record, play and evaluate motion capture data.

Purpose These scripts allow you to record mocap data to, and play from .csv files. This approach facilitates parsing of body movement data in statisti

21 Dec 12, 2022
Two types of Recommender System : Content-based Recommender System and Colaborating filtering based recommender system

Recommender-Systems Two types of Recommender System : Content-based Recommender System and Colaborating filtering based recommender system So the data

Yash Kumar 0 Jan 20, 2022
Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators

Brax is a differentiable physics engine that simulates environments made up of rigid bodies, joints, and actuators. It's also a suite of learning algorithms to train agents to operate in these enviro

Google 1.5k Jan 02, 2023
NeurIPS 2021, "Fine Samples for Learning with Noisy Labels"

[Official] FINE Samples for Learning with Noisy Labels This repository is the official implementation of "FINE Samples for Learning with Noisy Labels"

mythbuster 27 Dec 23, 2022
This repository contains implementations and illustrative code to accompany DeepMind publications

DeepMind Research This repository contains implementations and illustrative code to accompany DeepMind publications. Along with publishing papers to a

DeepMind 11.3k Dec 31, 2022
Reinforcement Learning for finance

Reinforcement Learning for Finance We apply reinforcement learning for stock trading. Fetch Data Example import utils # fetch symbols from yahoo fina

Tomoaki Fujii 159 Jan 03, 2023
Official implementation of DreamerPro: Reconstruction-Free Model-Based Reinforcement Learning with Prototypical Representations in TensorFlow 2

DreamerPro Official implementation of DreamerPro: Reconstruction-Free Model-Based Reinforcement Learning with Prototypical Representations in TensorFl

22 Nov 01, 2022
Code for EmBERT, a transformer model for embodied, language-guided visual task completion.

Code for EmBERT, a transformer model for embodied, language-guided visual task completion.

41 Jan 03, 2023
4th place solution for the SIGIR 2021 challenge.

SIGIR-2021 (Tinkoff.AI) How to start Download train and test data: https://sigir-ecom.github.io/data-task.html Place it under sigir-2021/data/. Run py

Tinkoff.AI 4 Jul 01, 2022
Text-to-Music Retrieval using Pre-defined/Data-driven Emotion Embeddings

Text2Music Emotion Embedding Text-to-Music Retrieval using Pre-defined/Data-driven Emotion Embeddings Reference Emotion Embedding Spaces for Matching

Minz Won 50 Dec 05, 2022