#font #wrapper #fontconfig #search

yeslogic-fontconfig

重命名:使用 fontconfig crate 代替

2 个版本

使用旧的 Rust 2015

0.1.1 2020年6月11日
0.1.0 2019年12月5日

#1890 in 文本处理

MIT 许可证

43KB
910

fontconfig-rs


围绕 frees desktop.org 的 fontconfig 库 的包装器,用于在类似 UNIX 的系统(如 Linux 和 FreeBSD)上定位字体。需要已安装 fontconfig。

依赖项

  • Arch Linux: fontconfig
  • 基于 Debian 的系统: libfontconfig1-dev
  • FreeBSD: fontconfig
  • Void Linux: fontconfig-devel

用法

Cargo.toml

[dependencies]
yeslogic-fontconfig = "0.1.0"

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

其他 Fontconfig Crate

  • servo-fontconfig — 此 crate 仅提供低级接口。它依赖于 servo-fontconfig-sys,如果找不到兼容版本,它将回退到构建一个 vendored 版本的 Fontconfig。它反过来又依赖于 expat-sys,它做同样的事情,关于 vendored 版本的 Expat。这使得如果您正在分发需要 Fontconfig 但提供较少对将要使用的库的控制的基础代码,则更为容易。
  • fontconfig + fontconfig-sys — 这些 crate 自 2014 年 12 月以来没有更新。

针对我们在 Prince 中的需求,我们想要更高级的绑定,而不回退到库的 vendored 版本,这正是此存储库中的 crate 所提供的。

依赖项

~13KB