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)
Custom studies about block sparse attention.

Block Sparse Attention 研究总结 本人近半年来对Block Sparse Attention(块稀疏注意力)的研究总结(持续更新中)。按时间顺序,主要分为如下三部分: PyTorch 自定义 CUDA 算子——以矩阵乘法为例 基于 Triton 的 Block Sparse A

Chen Kai 2 Jan 09, 2022
A curated list of Machine Learning and Deep Learning tutorials in Jupyter Notebook format ready to run in Google Colaboratory

Awesome Machine Learning Jupyter Notebooks for Google Colaboratory A curated list of Machine Learning and Deep Learning tutorials in Jupyter Notebook

Carlos Toxtli 245 Jan 01, 2023
This repo contains the official code and pre-trained models for the Dynamic Vision Transformer (DVT).

Dynamic-Vision-Transformer (Pytorch) This repo contains the official code and pre-trained models for the Dynamic Vision Transformer (DVT). Not All Ima

210 Dec 18, 2022
A curated (most recent) list of resources for Learning with Noisy Labels

A curated (most recent) list of resources for Learning with Noisy Labels

Jiaheng Wei 321 Jan 09, 2023
Combining Automatic Labelers and Expert Annotations for Accurate Radiology Report Labeling Using BERT

CheXbert: Combining Automatic Labelers and Expert Annotations for Accurate Radiology Report Labeling Using BERT CheXbert is an accurate, automated dee

Stanford Machine Learning Group 51 Dec 08, 2022
Unofficial implementation of One-Shot Free-View Neural Talking Head Synthesis

face-vid2vid Usage Dataset Preparation cd datasets wget https://yt-dl.org/downloads/latest/youtube-dl -O youtube-dl chmod a+rx youtube-dl python load_

worstcoder 68 Dec 30, 2022
Learning to Reconstruct 3D Non-Cuboid Room Layout from a Single RGB Image

NonCuboidRoom Paper Learning to Reconstruct 3D Non-Cuboid Room Layout from a Single RGB Image Cheng Yang*, Jia Zheng*, Xili Dai, Rui Tang, Yi Ma, Xiao

67 Dec 15, 2022
Self-Supervised Image Denoising via Iterative Data Refinement

Self-Supervised Image Denoising via Iterative Data Refinement Yi Zhang1, Dasong Li1, Ka Lung Law2, Xiaogang Wang1, Hongwei Qin2, Hongsheng Li1 1CUHK-S

Zhang Yi 72 Jan 01, 2023
PyTorch source code for Distilling Knowledge by Mimicking Features

LSHFM.detection This is the PyTorch source code for Distilling Knowledge by Mimicking Features. And this project contains code for object detection wi

Guo-Hua Wang 4 Dec 17, 2022
A Real-Time-Strategy game for Deep Learning research

Description DeepRTS is a high-performance Real-TIme strategy game for Reinforcement Learning research. It is written in C++ for performance, but provi

Centre for Artificial Intelligence Research (CAIR) 156 Dec 19, 2022
Lecture materials for Cornell CS5785 Applied Machine Learning (Fall 2021)

Applied Machine Learning (Cornell CS5785, Fall 2021) This repo contains executable course notes and slides for the Applied ML course at Cornell and Co

Volodymyr Kuleshov 103 Dec 31, 2022
3D Pose Estimation for Vehicles

3D Pose Estimation for Vehicles Introduction This work generates 4 key-points and 2 key-edges from vertices and edges of vehicles as ground truth. The

Jingyi Wang 1 Nov 01, 2021
A research toolkit for particle swarm optimization in Python

PySwarms is an extensible research toolkit for particle swarm optimization (PSO) in Python. It is intended for swarm intelligence researchers, practit

Lj Miranda 1k Dec 30, 2022
The CLRS Algorithmic Reasoning Benchmark

Learning representations of algorithms is an emerging area of machine learning, seeking to bridge concepts from neural networks with classical algorithms.

DeepMind 251 Jan 05, 2023
This repository contains the PyTorch implementation of the paper STaCK: Sentence Ordering with Temporal Commonsense Knowledge appearing at EMNLP 2021.

STaCK: Sentence Ordering with Temporal Commonsense Knowledge This repository contains the pytorch implementation of the paper STaCK: Sentence Ordering

Deep Cognition and Language Research (DeCLaRe) Lab 23 Dec 16, 2022
EfficientDet (Scalable and Efficient Object Detection) implementation in Keras and Tensorflow

EfficientDet This is an implementation of EfficientDet for object detection on Keras and Tensorflow. The project is based on the official implementati

1.3k Dec 19, 2022
Visualization toolkit for neural networks in PyTorch! Demo -->

FlashTorch A Python visualization toolkit, built with PyTorch, for neural networks in PyTorch. Neural networks are often described as "black box". The

Misa Ogura 692 Dec 29, 2022
Code For TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations (EMNLP2021)

TDEER (WIP) Code For TDEER: An Efficient Translating Decoding Schema for Joint Extraction of Entities and Relations (EMNLP2021) Overview TDEER is an e

Alipay 6 Dec 17, 2022
Repository for the electrical and ICT benchmark model developed in the ERIGrid 2.0 project.

Benchmark Model Electrical and ICT System This repository contains the documentation, code, and models for the electrical and ICT benchmark model deve

ERIGrid 2.0 1 Nov 29, 2021
Quick program made to generate alpha and delta tables for Hidden Markov Models

HMM_Calc Functions for generating Alpha and Delta tables from a Hidden Markov Model. Parameters: a: Matrix of transition probabilities. a[i][j] = a_{i

Adem Odza 1 Dec 04, 2021