#font #wrapper #search

fontconfig

Fontconfig 库的安全、高级包装器

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日

文本处理

Download history • Rust 包仓库 236/week @ 2024-04-28 • Rust 包仓库 193/week @ 2024-05-05 • Rust 包仓库 197/week @ 2024-05-12 • Rust 包仓库 212/week @ 2024-05-19 • Rust 包仓库 298/week @ 2024-05-26 • Rust 包仓库 655/week @ 2024-06-02 • Rust 包仓库 242/week @ 2024-06-09 • Rust 包仓库 283/week @ 2024-06-16 • Rust 包仓库 261/week @ 2024-06-23 • Rust 包仓库 299/week @ 2024-06-30 • Rust 包仓库 253/week @ 2024-07-07 • Rust 包仓库 287/week @ 2024-07-14 • Rust 包仓库 290/week @ 2024-07-21 • Rust 包仓库 357/week @ 2024-07-28 • Rust 包仓库 338/week @ 2024-08-04 • Rust 包仓库 783/week @ 2024-08-11 • Rust 包仓库

每月下载量 1,792
用于 7 个 crates (6 直接)

MIT 许可协议

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.pathopengl_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