Hey all,
I just released daegun 1.2.0. It's a text engine written in Rust: it parses fonts, shapes complex scripts, lays out lines, hints and subsets, no_std with zero dependencies and a C ABI.
The big change in this release is that daegun doesn't rasterize anymore. I took out both of its built-in rasterizers and replaced them with an API built around handing your rasterizer what it needs, so technically it's not an all-in-one anymore:
- prepared_outline: outlines in pixels onto any OutlinePen, with hinting, transforms, stroking and synthetic bold and oblique
- glyph_quads: quadratic curves for GPU shaders
- flatten and resolve_overlaps: polygons for scanline rasterizers
- colr_scene: color glyphs as fills, clips and layers, with gradient sampling and compositing
As a test, the demo images in the README are now drawn by wgpu straight from glyph_quads, with an 89-line shader.
It also passes 731 of 753 cases in Unicode's text-rendering-tests.
Heads-up: this release removes public API, and Cargo treats 1.1 → 1.2 as a compatible update, so pin =1.1.7 if you rely on the old rasterizers.
- Crate: crates.io: Rust Package Registry
- Docs: https://dg.calia.cc
- Release notes: Release daegun 1.2.0 · zztaeha/daegun · GitHub
Feedback is very welcome!
1 post - 1 participant
