Crates.io | fontconfig |
lib.rs | fontconfig |
version | 0.9.0 |
source | src |
created_at | 2014-12-11 14:48:28.413853 |
updated_at | 2024-07-03 05:14:09.757179 |
description | Safe, higher-level wrapper around the Fontconfig library |
homepage | https://github.com/yeslogic/fontconfig-rs |
repository | https://github.com/yeslogic/fontconfig-rs |
max_upload_size | |
id | 520 |
size | 27,360 |
A wrapper around freedesktop.org's Fontconfig library, for locating fonts on UNIX-like systems such as Linux and BSD. Requires Fontconfig to be installed.
fontconfig-dev
fontconfig
libfontconfig1-dev
fontconfig
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());
}
You could then, for example, use font.path
to create a GlyphCache
from opengl_graphics
and pass it to conrod
.
Feature | Description | Default Enabled | Extra Dependencies |
---|---|---|---|
dlopen |
dlopen libfontconfig at runtime | ❌ |
The dlopen
feature enables building this crate without dynamically linking to the Fontconfig C library at link time. Instead, Fontconfig will be dynamically loaded at runtime with the dlopen function. This can be useful in cross-compiling situations as you don't need to have a version of Fontcofig available for the target platform available at compile time.
For our needs in Prince we wanted higher-level bindings that did not fall back on vendored versions of libraries, which is what the crates in this repo provide.
Thanks to Austin Bonander for originally creating the
fontconfig
crate and allowing us to publish ours under that
name.