fontconfig

Build Status Documentation Version License


A wrapper around freedesktop.org's Fontconfig library, for locating fonts on a UNIX like systems such as Linux and FreeBSD. Requires Fontconfig to be installed.

Dependencies

Usage

main.rs:

```rust 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.

Cargo Features

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

Other Fontconfig Crates

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.

Credits

Thanks to Austin Bonander for originally creating the fontconfig crate and allowing us to publish ours under that name.