gfx_glyph

Fast GPU cached text rendering using gfx-rs & rusttype.

Makes use of three kinds of caching to optimise frame performance.

```rust extern crate gfxglyph; use gfxglyph::{Section, Layout, GlyphBrushBuilder};

let arial = includebytes!("examples/Arial Unicode.ttf"); let mut glyphbrush = GlyphBrushBuilder::usingfont(arial) .build(gfxfactory.clone());

let section = Section { text: "Hello gfx_glyph", ..Section::default() // color, position, etc };

glyphbrush.queue(section, &Layout::default()); glyphbrush.queue(someothersection, &Layout::default());

glyphbrush.drawqueued(&mut gfxencoder, &gfxtarget).unwrap(); ```

Limitations

The current implementation only supports OpenGL 3.0 or later. But other rendering languages (that are supported by gfx) should be easy enough to add. Send in your PRs!

Examples

Have a look at * cargo run --example paragraph --release * cargo run --example performance --release

Issues

There is currently a rendering bug in rusttype gpu cache code that can cause missing glyphs, add the following to your Cargo.toml to fix this until the bug is addressed in mainline rusttype. ```toml [replace]

Missing glyph bug awaiting fix in main rusttype repo, see https://github.com/dylanede/rusttype/issues/52

"rusttype:0.2.1" = { git = "https://github.com/alexheretic/rusttype", branch = "fix-missing-glyphs" } ```