14
0
mirror of https://github.com/belluzj/fantasque-sans.git synced 2024-12-22 15:31:31 +01:00
Unit font
Go to file
Aaron Shang c8fbf13b96 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.
2022-12-02 17:41:54 +08:00
Scripts Build: fix range error for missing module 'past' 2022-12-02 17:41:54 +08:00
Sources Bump version 2019-11-16 19:53:01 +00:00
Specimen Bump version 2016-04-03 21:09:38 +02:00
_config.yml Set theme jekyll-theme-cayman 2016-12-22 16:54:40 +01:00
.gitignore Update the build system to bake in the non-looped k 2017-07-10 18:52:39 +02:00
CHANGELOG.md Bump version 2019-11-16 19:53:01 +00:00
Dockerfile Add build Dockerfile 2020-07-02 13:23:21 +07:00
fontdiff Add font diff script 2015-12-19 22:55:52 +01:00
LICENSE.txt Update copyright years 2017-07-10 18:47:37 +02:00
Makefile Update the build system to bake in the non-looped k 2017-07-10 18:52:39 +02:00
pkg.sh Bump version 2019-11-16 19:53:01 +00:00
README.md Fixed broken install link in readme 2022-03-15 19:29:35 -04:00

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.