rusttype 0.7.5

A pure Rust alternative to libraries like FreeType. RustType provides an API for loading, querying and rasterising TrueType fonts. It also provides an implementation of a dynamic GPU glyph cache for hardware font rendering.
Documentation
use rusttype::*;

static ROBOTO_REGULAR: &[u8] = include_bytes!("../fonts/Roboto-Regular.ttf");

#[test]
fn consistent_bounding_box_subpixel_size_proxy() {
    let font = Font::from_bytes(ROBOTO_REGULAR).unwrap();
    let height_at_y = |y| {
        font.glyph('s')
            .scaled(rusttype::Scale::uniform(20.0))
            .positioned(rusttype::Point { x: 0.0, y })
            .pixel_bounding_box()
            .unwrap()
            .height()
    };
    assert_eq!(height_at_y(50.833_336), height_at_y(110.833_336));
}

#[test]
fn consistent_bounding_box_subpixel_size_standalone() {
    let font = Font::from_bytes(ROBOTO_REGULAR).unwrap();
    let height_at_y = |y| {
        font.glyph('s')
            .standalone()
            .scaled(rusttype::Scale::uniform(20.0))
            .positioned(rusttype::Point { x: 0.0, y })
            .pixel_bounding_box()
            .unwrap()
            .height()
    };
    assert_eq!(height_at_y(50.833_336), height_at_y(110.833_336));
}