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 次下载
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/
文件夹中的更多示例。
外部链接
- 有关更多信息,请参阅 freetype 文档
依赖关系
~9.5MB
~198K SLoC