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)
Pure python implementation reverse-mode automatic differentiation

MiniGrad A minimal implementation of reverse-mode automatic differentiation (a.k.a. autograd / backpropagation) in pure Python. Inspired by Andrej Kar

Kenny Song 76 Sep 12, 2022
Moiré Attack (MA): A New Potential Risk of Screen Photos [NeurIPS 2021]

Moiré Attack (MA): A New Potential Risk of Screen Photos [NeurIPS 2021] This repository is the official implementation of Moiré Attack (MA): A New Pot

Dantong Niu 22 Dec 24, 2022
TraSw for FairMOT - A Single-Target Attack example (Attack ID: 19; Screener ID: 24):

TraSw for FairMOT A Single-Target Attack example (Attack ID: 19; Screener ID: 24): Fig.1 Original Fig.2 Attacked By perturbing only two frames in this

Derry Lin 21 Dec 21, 2022
L-Verse: Bidirectional Generation Between Image and Text

Far beyond learning long-range interactions of natural language, transformers are becoming the de-facto standard for many vision tasks with their power and scalabilty

Kim, Taehoon 102 Dec 21, 2022
Genetic feature selection module for scikit-learn

sklearn-genetic Genetic feature selection module for scikit-learn Genetic algorithms mimic the process of natural selection to search for optimal valu

Manuel Calzolari 260 Dec 14, 2022
We simulate traveling back in time with a modern camera to rephotograph famous historical subjects.

[SIGGRAPH Asia 2021] Time-Travel Rephotography [Project Website] Many historical people were only ever captured by old, faded, black and white photos,

298 Jan 02, 2023
Binary Passage Retriever (BPR) - an efficient passage retriever for open-domain question answering

BPR Binary Passage Retriever (BPR) is an efficient neural retrieval model for open-domain question answering. BPR integrates a learning-to-hash techni

Studio Ousia 147 Dec 07, 2022
Magic tool for managing internet connection in local network by @zalexdev

Megacut ✂️ A new powerful Python3 tool for managing internet on a local network Installation git clone https://github.com/stryker-project/megacut cd m

Stryker 12 Dec 15, 2022
Implementation of Artificial Neural Network Algorithm

Artificial Neural Network This repository contain implementation of Artificial Neural Network Algorithm in several programming languanges and framewor

Resha Dwika Hefni Al-Fahsi 1 Sep 14, 2022
Using Tensorflow Object Detection API to detect Waymo open dataset

Waymo-2D-Object-Detection Using Tensorflow Object Detection API to detect Waymo open dataset Result CenterNet Training Loss SSD ResNet Training Loss C

76 Dec 12, 2022
Molecular Sets (MOSES): A Benchmarking Platform for Molecular Generation Models

Molecular Sets (MOSES): A benchmarking platform for molecular generation models Deep generative models are rapidly becoming popular for the discovery

MOSES 656 Dec 29, 2022
CS583: Deep Learning

CS583: Deep Learning

Shusen Wang 2.6k Dec 30, 2022
Interpretable-contrastive-word-mover-s-embedding

Interpretable-contrastive-word-mover-s-embedding Paper Datasets Here is a Dropbox link to the datasets used in the paper: https://www.dropbox.com/sh/n

0 Nov 02, 2021
Repositório da disciplina de APC, no segundo semestre de 2021

NOTAS FINAIS: https://github.com/fabiommendes/apc2018/blob/master/nota-final.pdf Algoritmos e Programação de Computadores Este é o Git da disciplina A

16 Dec 16, 2022
Source code and dataset of the paper "Contrastive Adaptive Propagation Graph Neural Networks forEfficient Graph Learning"

CAPGNN Source code and dataset of the paper "Contrastive Adaptive Propagation Graph Neural Networks forEfficient Graph Learning" Paper URL: https://ar

1 Mar 12, 2022
LUKE -- Language Understanding with Knowledge-based Embeddings

LUKE (Language Understanding with Knowledge-based Embeddings) is a new pre-trained contextualized representation of words and entities based on transf

Studio Ousia 587 Dec 30, 2022
STRIVE: Scene Text Replacement In Videos

STRIVE: Scene Text Replacement In Videos Dataset Types: RoboText SynthText RealWorld videos RoboText : Videos of texts collected using navigation robo

15 Jul 11, 2022
The source code of CVPR 2019 paper "Deep Exemplar-based Video Colorization".

Deep Exemplar-based Video Colorization (Pytorch Implementation) Paper | Pretrained Model | Youtube video 🔥 | Colab demo Deep Exemplar-based Video Col

Bo Zhang 253 Dec 27, 2022
Repository for code and dataset for our EMNLP 2021 paper - “So You Think You’re Funny?”: Rating the Humour Quotient in Standup Comedy.

AI-OpenMic Dataset The dataset is available for download via the follwing link. Repository for code and dataset for our EMNLP 2021 paper - “So You Thi

6 Oct 26, 2022
Computer Vision application in the web

Computer Vision application in the web Preview Usage Clone this repo git clone https://github.com/amineHY/WebApp-Computer-Vision-streamlit.git cd Web

Amine Hadj-Youcef. PhD 35 Dec 06, 2022