Skip to content

Instantly share code, notes, and snippets.

@alevis
Last active February 9, 2021 20:55
Show Gist options
  • Save alevis/302afc5652b4d6358d78572cf6a5eaa6 to your computer and use it in GitHub Desktop.
Save alevis/302afc5652b4d6358d78572cf6a5eaa6 to your computer and use it in GitHub Desktop.
veska-mono installation instructions. Veska-mono is a font based on the Iosevka font

Veska-Mono

Veska-Mono is an open-source, monospace font based on Iosevka see /dist folder after building

Customized Build

  1. git clone --depth 1 https://github.com/be5invis/Iosevka.git

  2. Configure the private-build-plans.toml or replace it with your own using the customizer.

  3. Run npm run build -- contents::<your plan name>; the name inside your private-build-plans.toml.

The built fonts would be available in dist/. Other options are:

  1. contents::<plan> : TTF (Hinted and Unhinted), WOFF(2) and Web font CSS;
  2. ttf::<plan> : TTF;
  3. ttf-unhinted::<plan> : Unhinted TTF only;
  4. webfont::<plan> : Web fonts only (CSS + WOFF2);
  5. woff2::<plan> : WOFF2 only.

Configuring Custom Build

Configuration of build plans are organized under [buildPlans.<plan name>] sections in the private-build-plans.toml. You can use the Customizer to create the build plan, and/or manulally edit them, following the instructions below.

Inside the plan, top-level properties include:

  • family: String, defines the family name of your custom variant.
  • spacing: Optional, String, denotes the spacing of the custom variant. Valid values include:
    • term: Make the symbols' width suitable for terminal emulators. Arrows and geometric symbols will become narrower.
    • fontconfig-mono: Apply term spacing changes and further apply changes to be compatible with FontConfig's Mono spacing, which recognizes a font as monospace if and only if its every non-combining characters having the same width. The changes include:
      • Completely remove wide glyphs. All non-combining glyphs will be exactly the same width.
        • As a consequence, the following characters will be removed:
          • U+27F5 LONG LEFTWARDS ARROW
          • U+27F6 LONG RIGHTWARDS ARROW
      • Remove NWID and WWID OpenType feature.
    • fixed: Apply fontconfig-mono changes and further remove ligations.
  • serifs: Optional, String, configures style of serifs.
    • When set to slab, the font will be converted into slab-serif.
    • Otherwise the font will be sans-serif.
  • no-cv-ss: Optional, Boolean, disables cv## and ss## OpenType features.
  • no-ligation: Optional, Boolean, disables ligations.

Build plan could have 5 optional subsections: ligations, variants, weights, widths and slopes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment