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)
Boundary-preserving Mask R-CNN (ECCV 2020)

BMaskR-CNN This code is developed on Detectron2 Boundary-preserving Mask R-CNN ECCV 2020 Tianheng Cheng, Xinggang Wang, Lichao Huang, Wenyu Liu Video

Hust Visual Learning Team 178 Nov 28, 2022
Official repository of "Investigating Tradeoffs in Real-World Video Super-Resolution"

RealBasicVSR [Paper] This is the official repository of "Investigating Tradeoffs in Real-World Video Super-Resolution, arXiv". This repository contain

Kelvin C.K. Chan 566 Dec 28, 2022
f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation

f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation [Paper] [PyTorch] [MXNet] [Video] This repository provides code for training

Visual Understanding Lab @ Samsung AI Center Moscow 516 Dec 21, 2022
Official pytorch implementation of "Scaling-up Disentanglement for Image Translation", ICCV 2021.

Official pytorch implementation of "Scaling-up Disentanglement for Image Translation", ICCV 2021.

Aviv Gabbay 41 Nov 29, 2022
HarDNeXt: Official HarDNeXt repository

HarDNeXt-Pytorch HarDNeXt: A Stage Receptive Field and Connectivity Aware Convolution Neural Network HarDNeXt-MSEG for Medical Image Segmentation in 0

5 May 26, 2022
Proof of concept GnuCash Webinterface

Proof of Concept GnuCash Webinterface This may one day be a something truly great. Milestones [ ] Browse accounts and view transactions [ ] Record sim

Josh 14 Dec 28, 2022
Official repository for the paper "Instance-Conditioned GAN"

Official repository for the paper "Instance-Conditioned GAN" by Arantxa Casanova, Marlene Careil, Jakob Verbeek, Michał Drożdżal, Adriana Romero-Soriano.

Facebook Research 510 Dec 30, 2022
A little Python application to auto tag your photos with the power of machine learning.

Tag Machine A little Python application to auto tag your photos with the power of machine learning. Report a bug or request a feature Table of Content

Florian Torres 14 Dec 21, 2022
Machine Translation Implement By Bi-GRU And Transformer

Seq2Seq Translation Implement By Bidirectional GRU And Transformer In Pytorch Before You Run The Code You should download the data through the link be

He Wang 2 Oct 27, 2021
学习 python3 以来写的一些垃圾玩具……

和东哥做兄弟 Author: chiupam 版权 未经本人同意,仓库内所有资源文件,禁止任何公众号、自媒体、开发者进行任何形式的转载、发布、搬运。 声明 这不是一个开源项目,只是把 GitHub 当作一个代码的存储空间,本项目不接受任何开源要求。 仅用于学习研究,禁止用于商业用途,不能保证其合法性

Chiupam 67 Mar 26, 2022
Style transfer, deep learning, feature transform

FastPhotoStyle License Copyright (C) 2018 NVIDIA Corporation. All rights reserved. Licensed under the CC BY-NC-SA 4.0 license (https://creativecommons

NVIDIA Corporation 10.9k Jan 02, 2023
PerfFuzz: Automatically Generate Pathological Inputs for C/C++ programs

PerfFuzz Performance problems in software can arise unexpectedly when programs are provided with inputs that exhibit pathological behavior. But how ca

Caroline Lemieux 125 Nov 18, 2022
ML-Decoder: Scalable and Versatile Classification Head

ML-Decoder: Scalable and Versatile Classification Head Paper Official PyTorch Implementation Tal Ridnik, Gilad Sharir, Avi Ben-Cohen, Emanuel Ben-Baru

189 Jan 04, 2023
Spline is a tool that is capable of running locally as well as part of well known pipelines like Jenkins (Jenkinsfile), Travis CI (.travis.yml) or similar ones.

Welcome to spline - the pipeline tool Important note: Since change in my job I didn't had the chance to continue on this project. My main new project

Thomas Lehmann 29 Aug 22, 2022
Evaluation suite for large-scale language models.

This repo contains code for running the evaluations and reproducing the results from the Jurassic-1 Technical Paper (see blog post), with current support for running the tasks through both the AI21 S

71 Dec 17, 2022
Weighing Counts: Sequential Crowd Counting by Reinforcement Learning

LibraNet This repository includes the official implementation of LibraNet for crowd counting, presented in our paper: Weighing Counts: Sequential Crow

Hao Lu 18 Nov 05, 2022
A unofficial pytorch implementation of PAN(PSENet2): Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network

Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network Requirements pytorch 1.1+ torchvision 0.3+ pyclipper opencv3 gcc

zhoujun 400 Dec 26, 2022
[ICCV 2021] A Simple Baseline for Semi-supervised Semantic Segmentation with Strong Data Augmentation

[ICCV 2021] A Simple Baseline for Semi-supervised Semantic Segmentation with Strong Data Augmentation

CodingMan 45 Dec 12, 2022
U-Net Implementation: Convolutional Networks for Biomedical Image Segmentation" using the Carvana Image Masking Dataset in PyTorch

U-Net Implementation By Christopher Ley This is my interpretation and implementation of the famous paper "U-Net: Convolutional Networks for Biomedical

Christopher Ley 1 Jan 06, 2022
This program will stylize your photos with fast neural style transfer.

Neural Style Transfer (NST) Using TensorFlow Demo TensorFlow TensorFlow is an end-to-end open source platform for machine learning. It has a comprehen

Ismail Boularbah 1 Aug 08, 2022