subsetter
Reduces the size and coverage of OpenType fonts.
0.2.6
4.4M downloads/mo
#4800 most downloaded on crates.io
typst/subsetter
What this package is like to depend on
Last release 2 months ago
04 Jun 2026
Release timing varies
gaps range from 6 weeks to 1.5 years
Most releases are documented
notes for 8 of 9 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
9 releases · first in 2022
4 releases in the last 12 months
see the full history below
Release timeline
9 releases · Oct 2022 to Jun 2026Releases
latest 9-
0.2.604 Jun 2026Release notes
Open source →- For variable fonts where the selected coordinates end up at the default instance, the subsetter now avoids instancing, instead reusing the existing outlines
-
0.2.503 Jun 2026Release notes
Open source →- Fixed generated left-side bearing value for variable fonts. This bug could lead to wonky-looking kerning for variable fonts.
-
0.2.428 May 2026Release notes
Open source →- Fixed a potential crash for invalid CFF fonts
- Fixed potential crash for invalid
hheatables - Fixed a bug where CFF subroutines were not properly terminated
- Fixed that
storageOffsetinnametable was not respected - Fixed potentially invalid maxp data being emitted for variable TTF fonts
- Fixed potentially invalid hinting data being emitted for variable TTF fonts
- Fixed some potential overflows
- Bumped
skrifato0.42,kurboto0.13, andwrite-fontsto0.48 - Raised MSRV to Rust 1.85
-
0.2.309 Sep 2025Release notes
Open source →- Added support for subsetting variable fonts by instancing them
- This is feature-flagged behind the
variable-fontsfeature, which is now enabled by default - A new API
subset_with_variationswas added to specify the variation coordinates
- This is feature-flagged behind the
- Subsetting now preserves more name table records (7, 8, 9, 11, 12, 13, 14 from the spec)
- Bumped the
kurbodependency to version 0.12 - Added MSRV of Rust 1.82
- Added support for subsetting variable fonts by instancing them
-
0.2.230 Jul 2025Release notes
Open source →This release has no publicly-facing changes. Internally, the
fxhashdependency was replaced byrustc-hashasfxhashis unmaintained. -
0.2.102 Apr 2025Release notes
Open source →- Performance improvements
- Marked
GlyphRemapper::{remap, get}as inlinable - Improved performance of
GlyphRemapperby internally switching fromBTreeMaptoFxHashMap
- Marked
- Performance improvements
-
0.2.004 Sep 2024Release notes
Open source →This release contains a full rewrite of the CFF subsetting and various improvements for TrueType subsetting, yielding highly reduced output sizes. This goes along with a new public API as the crate now requires its users to remap glyph IDs (this is required for minimizing file sizes). Thanks to @LaurenzV for their work on all of this!
-
0.1.119 Mar 2023 -
0.1.014 Oct 2022Nothing published for this version