Subfont Versions Save

Command line tool to optimize your webfont loading. Aggressive subsetting based on your font use, self-hosting of Google fonts and preloading

v6.0.0

3 years ago
  • Always use harfbuzz for subsetting fonts, fonttools and Python no longer required!
  • Don't use Google Web Fonts' subsetting service, always do the work locally.
  • Remove support for the --subset-per-page switch to reduce complexity. If you really need this feature, you can run subfont on each page.
  • Remove support for the --inline-fonts switch. The optimization will still be applied when it's suitable.

v5.2.1

3 years ago
  • #123 Respect silent:true wrt. the console output (Andreas Lind)
  • #126 Support subfont --formats foo,bar and fix weirdness with --formats consuming further non-option arguments (Andreas Lind)

v5.2.0

3 years ago

Use browserslist to configure which font formats to supply subsets and fallbacks in, and whether to add the JS-based preload polyfill (#120)

v5.1.1

3 years ago

Fix a regression in 5.1.0 (#121)

v5.1.0

3 years ago

New features:

  • Experimental support for local subsetting using harfbuzzjs (subfont --harfbuzz), avoiding the dependency on Python (#56)
  • Self-host the fallback CSS and fonts for Google Fonts (#116)
  • Also report the number of code points used on each page when subsetPerPage is false (#114)
  • Make all subsets available on every page where the original font is in scope, helping with server-side rendered Gatsby sites (#111)

Bugfixes:

  • Sort the code points numerically before converting to unicode ranges (#107)
  • Sometimes failing to get the woff2 written by pyftsubset (2abac1a2)
  • Convert Google fonts to woff/woff2 locally, avoid "Missing glyph fallback detected" error when generating a big subset (#115)

v5.0.7

3 years ago
  • Added CSS sourcemaps handling. Output should now correctly map to your original sources
  • Improved Unicode-range output. Output will now be smaller for contiguous ranges

v5.0.6

3 years ago

Semver Patch Changes

  • #104 Always include the space character U+20 in subsets (Andreas Lind)
  • #103 Inject unicode-range into all the @font-face declarations for the given family when glyphs are missing (Andreas Lind)
  • #102 Do not preload unused variants in a self-hosting scenario (Andreas Lind)

v5.0.4

3 years ago

v5.0.4 (2020-06-30)

  • #95 Warn if fetching an entry point results in an HTTP redirect (Andreas Lind)
  • #97 Do not preload unused variants in the JavaScript-based polyfill (Andreas Lind)
  • #100 Inject unicode-range into the original @font-face declaration when it's missing some of the glyphs that are used (Andreas Lind)
  • #99 Avoid using bluebird (Andreas Lind)

v5.0.0

3 years ago

Breaking changes

  • Dropped node 8 compatibility

Fixes

  • #90 Don't break when an unused variant points at a non-existent file (Andreas Lind)
  • #87 Fix uniq-ification of strings that might contain non-UTF-16 chars (Andreas Lind)
  • Silence pyftsubset output when checking for availability and it isn't installed
  • Fix wrong size calculation when running subsetting using google fonts service

v4.0.3

4 years ago

This release removes the INFO message about fonttools not being installed if subfont has a way to handle subsetting using google fonts. If subfont finds actual local fonts and fonttools is not installed, you'll see the INFO message with an addition of a list of the exact fonts that couldn't be optimized.

Pull requests

  • #67 Only warn about missing fonttools install if we are actually trying t… (Peter Müller)

Commits to master