NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2481 most downloaded on crates.io
A pure Rust alternative to libraries like FreeType. RustType provides an API for loading, querying and rasterising TrueType fonts. It also provides an implementation of a dynamic GPU glyph cache for hardware font rendering.
Last release 4 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 2.4 years
Most releases are documented
notes for 28 of 38 stable releases
2 versions withdrawn
withdrawn after publishing
11 years old
40 releases · first in 2016
Nothing published for this version
Update ttf-parser -> 0.6 . Use more flexible lifetime bounds for Font::layout .
0.6.Font::layout.0.6.Font::layout.One column per quarter.
Use crate owned_ttf_parser to provide OwnedFont eliminating direct unsafe usage in rusttype. Remove unused legacy trait BoundingBox . Add ScaledGlyph:
OwnedFont eliminating direct unsafe usage in rusttype.BoundingBox.ScaledGlyph::build_outline & PositionedGlyph::build_outline methods.OwnedFont eliminating direct unsafe usage in rusttype.BoundingBox.ScaledGlyph::build_outline & PositionedGlyph::build_outline methods.Major rework to use crates ttf-parser & ab_glyph_rasterizer to respectively read and render OpenType .oft format fonts. Remove dependencies approx , s
.standalone() variants which are sparsely used..standalone() variants which are sparsely used.Remove arrayvec dependency. Add Default implementations for geometry structs.
Default implementations for geometry structs.Default implementations for geometry structs.Update crossbeam-utils -> 0.7 . Update libm -> 0.2.1 .
0.7.0.2.1.Update arrayvec -> 0.5 .
0.5.Support no-std usage by disabling the new default feature std and using new features libm-math and has-atomics . The gpu_cache module/feature requires
std and using new features libm-math and has-atomics. The gpu_cache module/feature requires std.Use semver trick to re-export rusttype 0.8 with default-features on.
0.8 with default-features on.0.8 with default-features on.yanked
yanked
gpu_cache: Add CacheBuilder::align_4x4 method which forces texture updates to align to 4x4 pixel boxes. gpu_cache: Disable multithread code and remove
CacheBuilder::align_4x4 method which forces texture updates to align to 4x4 pixel boxes.GlyphIter and LayoutIter provide the lifetime of the font data.
GlyphIter and LayoutIter provide the lifetime of the font data.gpu_cache: Cache::cache_queued now returns CachedBy for successes which can allow callers to tell that the texture cache has been re-ordered.
Cache::cache_queued now returns CachedBy for successes which can allow callers to tell that the texture cache has been re-ordered.Add fn PositionedGlyph::set_position gpu_cache: Update crossbeam-deque -> 0.7 , use Injector for minor rasterization performance boost.
PositionedGlyph::set_position
0.7, use Injector for minor rasterization performance boost.PositionedGlyph::set_position0.7, use Injector for minor rasterization performance boost.gpu_cache: Update crossbeam-utils -> 0.6
0.6
Update ordered-float -> 1
1
Fix PositionedGlyph::pixel_bounding_box() size inconsistencies at different positions with identical sub-pixel positions.
PositionedGlyph::pixel_bounding_box() size inconsistencies at different positions with identical sub-pixel positions.…Cache::builder().multithread(false) . Remove all deprecated API. Add Debug implementations for Font , Glyph , ScaledGlyph & PositionedGlyph Add and im…
CacheBuilder to use methods to allow non-breaking additions
in future. New style is Cache::builder().dimensions(512, 512).build().Cache::builder().multithread(false).Debug implementations for Font, Glyph, ScaledGlyph &
PositionedGlyph
4-core Haswell benchmark comparison
name 0.6.4 ns/iter 0.7 ns/iter diff ns/iter diff % speedup
cache::multi_font_population 8,239,309 2,570,034 -5,669,275 -68.81% x 3.21
cache_bad_cases::moving_text_thrashing 21,589,054 6,691,719 -14,897,335 -69.00% x 3.23
cache_bad_cases::resizing 15,162,054 4,607,499 -10,554,555 -69.61% x 3.29
Re-export rusttype 0.7 non-breaking main API, while keeping the current version of the gpu_cache module.
0.7 non-breaking main API, while keeping the current
version of the gpu_cache module.0.7 non-breaking main API, while keeping the current
version of the gpu_cache module.Add CacheBuilder::rebuild & Cache::to_builder methods.
CacheBuilder::rebuild & Cache::to_builder methods.Avoid depending on unused dependency default-features
Add From<&AsRef<[u8]>> for SharedBytes.
From<&AsRef<[u8]>> for SharedBytes.gpu_cache hashing to improve benchmark performance by ~30%.Optimise rasterizer removing internal hashing. Improves draw benchmark performance by 11-91%.
Nothing published for this version
Add gpu cache glyph padding option to fix texture bleeding from other glyphs when using interpolated texture coordinates near edges. Use CacheBuilder
CacheBuilder to construct a Cache that makes use of padding.Fix tree removal on row clear (gpu_cache).
Nothing published for this version
Improve gpu_cache performance ~6-17%
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix NLL migration warning
Nothing published for this version
Nothing published for this version
Made the API more convenient (courtesy of @mitchmindtree, @I1048576).
Nothing published for this version
Fixed issue #8
Fixed issue #8
Fixed issue #7
Fixed issue #7
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →