8 次重大发布
0.9.0 | 2024年7月3日 |
---|---|
0.8.0 | 2024年1月18日 |
0.7.0 | 2023年11月21日 |
0.6.0 | 2022年10月18日 |
0.0.1 | 2014年12月11日 |
在 文本处理
每月下载量 1,792
用于 7 个 crates (6 直接)
55KB
1K SLoC
fontconfig
是针对 freedesktop.org 的 Fontconfig 库 的包装器,用于在 UNIX-like 系统如 Linux 和 BSD 上定位字体。需要已安装 Fontconfig。
依赖
- Alpine Linux:
fontconfig-dev
- Arch Linux:
fontconfig
- 基于 Debian 的系统:
libfontconfig1-dev
- FreeBSD:
fontconfig
- Void Linux:
fontconfig-devel
使用
main.rs
:
use fontconfig::Fontconfig;
fn main() {
let fc = Fontconfig::new().unwrap();
// `Fontconfig::find()` returns `Option` (will rarely be `None` but still could be)
let font = fc.find("freeserif", None).unwrap();
// `name` is a `String`, `path` is a `Path`
println!("Name: {}\nPath: {}", font.name, font.path.display());
}
例如,您可以使用 font.path
从 opengl_graphics
创建一个 GlyphCache
,并将其传递给 conrod
。
Cargo 功能
功能 | 描述 | 默认启用 | 额外依赖 |
---|---|---|---|
dlopen |
dlopen libfontconfig 在运行时 | ❌ |
dlopen
功能允许在链接时无需动态链接到 Fontconfig C 库构建此 crate。相反,Fontconfig 将通过 dlopen 函数在运行时动态加载。这在交叉编译情况下很有用,因为您不需要在编译时为目标平台提供 Fontconfig 版本。
其他 Fontconfig Crates
- servo-fontconfig — 此 crate 仅提供低级接口。它依赖于 servo-fontconfig-sys,如果找不到兼容版本,将回退到构建 Fontconfig 的供应商版本。它反过来依赖于 expat-sys,它以相同的方式处理 Expat 的供应商版本。这使得在需要 Fontconfig 的代码库中进行分发时更容易,但使用库的控制较少。
- fontconfig-sys — 已由 yeslogic-fontconfig-sys 取代。
- yeslogic-fontconfig — 这个crate之前以这个名字发布过,在我们获得发布权限之前,它被发布为 fontconfig。
为了满足Prince的需求,我们希望使用高级绑定,而不是回退到库的供应商版本,这正是本仓库中crate提供的。
致谢
感谢 Austin Bonander 最初创建 fontconfig
crate,并允许我们以该名称发布我们的版本。
依赖
~0.1–5MB