Google are rewriting fontmake in Rust and have shipped Skrifa as well as replacement for FreeType (which isn’t Python, but still points to the rust rewrite direction).
Harfrust is a rust port of Harfbuzz maintained by the Harfbuzz team
I have an update about experimental HarfRust performance that I like to share:
"To beat @HarfBuzz with #HarfRust" docs.google.com/document/d/1…
TL;DR:
Previous performance comparisons of HarfRust to HarfBuzz were flawed in that the HarfBuzz code tested had assert statements enabled. This skewed the numbers in favor of HarfRust. Moreover, since the last measurements in September 2025, both HarfBuzz & HarfRust got faster, but at a rate that made HarfRust fall further behind HarfBuzz in comparison.
In this work, proof-of-concept unsafe patch to font-codegen & read-fonts as well as removing bounds-checking from HarfRust buffer type show massive speedup benchmarks: from being 20% to 80% slower, down to being less than 10% slower.
In June, we announced HarfRust, a fully safe port of @HarfBuzz to Rust. At that time, HarfRust was 2x to 4x slower than HarfBuzz for a variety of benchmarks, so we have been working on addressing that.
Today, Chad Brokaw and I are pleased to present HarfRust 0.2.0, which is less than 25% slower than HarfBuzz, on both OpenType and AAT shaping benchmarks. We have also addressed all known correctness issues.
Charts:
docs.google.com/spreadsheets…
HarfBuzz 11.3.0 is out:
- As always, lots of optimization work. Significantly faster drawing of mega variable-fonts, as well as vertical text layout.
- Rename "harfruzz" shaper to "harfrust" as per upstream project name change.
github.com/harfbuzz/harfbuzz…