Crate freetype[][src]

Rust wrapper around freetype 2 library

Initialization

To create a new freetype context, instantiate the Library struct as below. The Library (along with other objects) obeys RAII and is dropped when the struct goes out of scope.

Example

extern crate freetype;

fn main() {
    use freetype::Library;
    use freetype::face::LoadFlag;

    // Init the library
    let lib = Library::init().unwrap();
    // Load a font face
    let face = lib.new_face("/path/to/a/font/file.ttf", 0).unwrap();
    // Set the font size
    face.set_char_size(40 * 64, 0, 50, 0).unwrap();
    // Load a character
    face.load_char('A' as usize, LoadFlag::RENDER).unwrap();
    // Get the glyph instance
    let glyph = face.glyph();
    do_something_with_bitmap(glyph.bitmap());
}

See in the examples/ folder for more examples.

External links

Re-exports

pub extern crate freetype_sys;
pub use bitmap::Bitmap;
pub use bitmap_glyph::BitmapGlyph;
pub use error::FtResult;
pub use error::Error;
pub use face::Face;
pub use glyph::Glyph;
pub use glyph_slot::GlyphSlot;
pub use library::Library;
pub use library::LcdFilter;
pub use outline::Outline;
pub use render_mode::RenderMode;
pub use stroker::Stroker;
pub use stroker::StrokerLineCap;
pub use stroker::StrokerLineJoin;
pub use freetype_sys as ffi;

Modules

bitmap
bitmap_glyph
error
face
glyph
glyph_slot
library
outline
render_mode
stroker
tt_os2
tt_postscript

Type Definitions

BBox
GlyphMetrics
Matrix
Vector