tectonic/crates/bridge_graphite2
rm-dr eb473ee2fc
Normalize quotes in READMEs
2024-02-13 18:37:04 -08:00
..
src bridge_graphite2: iterate the rustdoc here 2021-04-03 16:52:55 -04:00
CHANGELOG.md crates/bridge_graphite2: add the graphite2 bridge crate 2021-01-03 14:03:11 -05:00
Cargo.toml crates/bridge_graphite2: specify version of dep_support dep to make this publishable 2021-01-03 14:42:17 -05:00
README.md Normalize quotes in READMEs 2024-02-13 18:37:04 -08:00
build.rs Fix everything for Rust 1.67's Clippy 2023-01-27 20:08:07 -05:00

README.md

The tectonic_bridge_graphite2 crate

This crate is part of the Tectonic project. It exposes the C API of the graphite2 "smart font" system within the Rust/Cargo build framework, with no Rust bindings. This is why it is not named graphite2-sys.

The intention is that eventually this crate will provide the option of "vendoring" the graphite2 library, so that the Tectonic C code can use the library without it needing to be installed on the system. However, this has not yet been implemented.

If your project depends on this crate, Cargo will export for your build script an environment variable named DEP_GRAPHITE2_INCLUDE_PATH, which will be a semicolon-separated list of C incude directories, such that your code can include the graphite2/* C headers. It will also export an environment variable named DEP_GRAPHITE2_DEFINE_STATIC. If non-empty, C/C++ code compiled against this library should define the C preprocessor symbol GRAPHITE2_STATIC.

You will need to ensure that your Rust code actually references this crate in order for the linker to include linked libraries. A use statement will suffice:

#[allow(unused_imports)]
#[allow(clippy::single_component_path_imports)]
use tectonic_bridge_graphite2;

Cargo features

At the moment this crate does not provide any Cargo features. It is intended that eventually it will, to allow control over whether the graphite2 library is vendored or not.