2 个版本
0.1.1 | 2022 年 6 月 21 日 |
---|---|
0.1.0 | 2022 年 6 月 21 日 |
#1548 在 文本处理
每月 161 次下载
在 fontloader 中使用
95KB
2.5K SLoC
fontconfig
freedesktop.org 的 Fontconfig 库的包装器,用于在类似 UNIX 的系统(如 Linux 和 FreeBSD)上定位字体。需要安装 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 库的情况下构建此包。相反,Fontconfig 将使用 dlopen 函数在运行时动态加载。这在交叉编译情况下可能很有用,因为您不需要在编译时为目标平台提供可用的 Fontconfig 版本。
其他 Fontconfig 包
- servo-fontconfig — 此crate仅提供低级接口。它依赖于 servo-fontconfig-sys,如果找不到兼容版本,则会回退到构建Fontconfig的私有版本。它反过来又依赖于 expat-sys,它也会执行同样的私有版本Expat的构建。这使得如果您分发需要Fontconfig的代码库时更加容易,但提供了更少的对将使用的库的控制。
- fontconfig-sys — 已被 yeslogic-fontconfig-sys 取代。
- fontconfig — 我们从中分叉的crate。
致谢
依赖项
~0.5–6MB
~20K SLoC