Analysis updated 2026-05-18
Subset a web font down to only the glyphs a page uses as part of a build step.
Convert a variable font into fixed-weight static instances for tools that cannot read variable fonts.
Shape text with real ligatures and kerning for canvas-based drawing in the browser.
Generate certificate or share-card images on a server without loading a browser.
| silly-tae/taetype | celestia-island/ratatui-markdown | dollspace-gay/thermite | |
|---|---|---|---|
| Stars | 16 | 16 | 16 |
| Language | Rust | Rust | Rust |
| Setup difficulty | — | easy | hard |
| Complexity | — | 2/5 | 5/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Taetype is a font engine written in Rust that can also run as WebAssembly, meaning it works both inside a browser and as a native library in a backend or desktop app. It reads font files in TTF, OTF, TTC, and WOFF2 formats and can decode them, pull out only the glyphs a document actually needs, shrink variable fonts down to one fixed weight, and lay out text with correct ligatures, kerning, and support for complex scripts. It was originally built as part of another project called taepdf, which needed a way to shape text and embed only the necessary font glyphs directly in the browser without a server. What it does not do is turn those glyphs into actual pixels on screen. Instead it hands back glyph shapes, positions, and measurements, and expects you to pair it with a separate renderer, such as a browser's own canvas or DOM, or a Rust rasterizing library. One notable gap is that it does not support CFF2, a less common variable font format, though it fully supports the more widely used TrueType variable font model. The README lists several practical uses: shrinking web fonts down to only the letters a page uses as part of a website build process, converting a single variable font into fixed-weight versions for tools that cannot read variable fonts, doing real text shaping for canvas-based drawing without loading a full browser text engine, generating images like certificates or share cards on a server without needing a browser, building e-book or print tools that need trimmed and embedded fonts, and checking font files during automated testing. To build it as WebAssembly you need a tool called wasm-pack, with separate build commands for browser and Node.js targets that share the same compiled binary. It can also be built as a plain native Rust library. Fonts are registered under a name and style, then referenced by that pair when you call the engine's other functions. Install it with npm for JavaScript projects or cargo for Rust projects. The README does not mention a license.
A Rust and WebAssembly font engine that decodes, subsets, and shapes fonts for browsers, servers, and native apps without doing the actual pixel rendering.
Mainly Rust. The stack also includes Rust, WebAssembly, wasm-pack.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.