titanf 1.0.0

Blazingly fast, no_std compatible font rasterizer written in pure Rust
Documentation

TitanF

The font rasterizer that doesn't slow down

Rust License no_std crates.io


Quick Start

use titanf::TrueTypeFont;

fn main() {
    let font_data = include_bytes!("Roboto-Medium.ttf");
    let mut font = TrueTypeFont::load_font(font_data);
    
    // Render a character!
    let (metrics, bitmap) = font.get_char::<false>('A', 16);
    
    //Enable built-in glyph caching
    let (metrics, bitmap) = font.get_char::<true>('B', 16);
    //                                      ^^^^
}

Add to your Cargo.toml:

[dependencies]

titanf = "1.0.0"


Features

  • 🚀 Blazingly Fast
  • 🦀 Zero Dependencies — Pure Rust, no external crates
  • 📦 no_std Compatible — Originally built for my own OS, it works fine in baremetal environments (just needs alloc)
  • 💯 Stable Rust — No nightly features, no unsafe code
  • 🔧 Built-in TrueType Parser — Handles CMAP, GLYF, HEAD, HHEA, HMTX, KERN, LOCA, MAXP and keeps it dependency free

Benchmarking Notes

Hardware: All benchmarks run on the same machine with consistent methodology.

Methodology:

  • Each rasterizer called with identical parameters
  • Results wrapped in black_box() to prevent optimization
  • Multiple runs averaged for consistency
  • No caching enabled

Reproducibility: Benchmark code available in the repo. Run it yourself:

cargo bench


License

Licensed under the MIT License.


Contributing

Found a bug? Have a performance improvement? Contributions are welcome!

Please open an issue or PR on GitHub.