1 unstable release
Uses new Rust 2024
new 0.1.0 | Apr 5, 2025 |
---|
#9 in #text-rendering
9.5MB
531 lines
hieroglyph
Render obscure scripts and emojis locally with zero dependencies.
hieroglyph
is a text shaping and layout engine for rendering Unicode and emoji
content without any system font dependencies.
It uses statically embedded Noto and
Twemoji fonts to produce
pixel-precise output directly into RGBA buffers, suitable for GUIs, image
generation, or text rendering in headless environments.
Installation
[dependencies]
hieroglyph = "0.1"
Usage
use hieroglyph::{DrawingContext, Segments};
let ctx = DrawingContext::new();
let segments = Segments::new("Hello 🌍 𓂀");
ctx.draw(&segments, |(x, y), color| {
your_pixel_buffer.set_pixel(x, y, color.to_rgba());
});
Fonts
All required fonts are bundled into the binary:
- Complete Noto Sans/Serif set for Unicode text
- Complete Twemoji set for emoji rendering
At runtime, the font system maps each character to the correct asset in memory, with no external dependencies. Additional fonts can be manually registered if needed.
License
This project is licensed under the MIT License.
Dependencies
~35MB
~378K SLoC