#freetype #font #glyph

ft2

FreeType 字体库的绑定

5 个版本

使用旧的 Rust 2015

0.2.1 2021年7月10日
0.2.0 2018年12月1日
0.1.2 2018年12月1日
0.1.1 2018年8月30日
0.1.0 2018年1月10日

#527 in 图形API

每月 29 次下载

MIT 许可证

105KB
1K SLoC

freetype-rs 构建状态

FreeType 库的Rust绑定

要求

  • Cargo:我们使用Cargo编译项目。
  • FreeType2 开发库:有关安装说明,请参阅freetype-sys

构建

克隆此仓库,然后运行

cd freetype-rs
cargo build

示例

要构建示例,请使用 cargo test。它们都构建在 ./target/debug/examples/* 中。

要运行示例,请使用 cargo run --example name,例如

cargo run --example single_glyph examples/assets/FiraSans-Regular.ttf A

如何贡献


lib.rs:

Rust 对FreeType 2库的包装

初始化

要创建新的FreeType上下文,如下实例化Library结构。Library(以及其它对象)遵循RAII,当结构超出作用域时会被销毁。

示例

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());
}

请参阅 examples/ 文件夹中的更多示例。

外部链接

依赖关系

~9.5MB
~198K SLoC