我一直在从事一个需要与字体交互的相当基本的项目。计划是使用 FreeType by the Servo team 的绑定(bind)。 .但是,我很难弄清楚一个人究竟是如何使用它的。我是 FreeType 的新手,所以我关注他们的 tutorial .在这一点上让我绊倒的是创建 handle 。我确实尝试过(当然可笑)来创建库句柄,例如:
use freetype::freetype;
let library: freetype::FT_Library;
可以预见的是,这行不通。我已决定使用 font_kit
对于该项目,因为我相当确定这有点过头了。但我仍然很想知道我如何才能真正做到这一点。
最佳答案
看来您可以使用 std::ptr::null_mut
初始化 freetype::freetype::FT_Library
:
fn main() {
let mut lib: freetype::freetype::FT_Library = std::ptr::null_mut();
let result = unsafe {
freetype::freetype::FT_Init_FreeType(&mut lib)
};
println!("Initialization succeed:{}", freetype::succeeded(result));
}
基于 example .
关于rust - 如何在 Rust 中使用自由类型绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65443023/