Crates.io | tectonic_bridge_harfbuzz |
lib.rs | tectonic_bridge_harfbuzz |
version | 0.2.9 |
source | src |
created_at | 2021-01-16 00:03:10.818376 |
updated_at | 2024-02-05 01:41:15.568076 |
description | Expose the Harfbuzz C/C++ APIs to Rust/Cargo. |
homepage | https://tectonic-typesetting.github.io/ |
repository | https://github.com/tectonic-typesetting/tectonic/ |
max_upload_size | |
id | 342617 |
size | 5,988,758 |
tectonic_bridge_harfbuzz
crateThis crate is part of the Tectonic project. It exposes the C API of the Harfbuzz text shaping library the Rust/Cargo build framework, with no Rust bindings. By default, a static, local version of the Harfbuzz library is built.
While there are a variety of other Harfbuzz-related crates in the Rust ecosystem, Tectonic has specialized needs (e.g. support for the graphite2 smart font library). Hence this specialized crate.
If your project depends on this crate, Cargo will export for your build script
an environment variable named DEP_HARFBUZZ_INCLUDE_PATH
, which will be a
semicolon-separated list of C include directories enabling your code to include
the harfbuzz/
headers.
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_harfbuzz;
This crate provides the following Cargo features:
external-harfbuzz
: instead of building a local copy of Harfbuzz,
discover it as an external dependency using pkg-config or vcpkg, as determined
by the tectonic_dep_support
crate. This requires that all libraries upon
which Harfbuzz depends also be found externally, since the external library can't
then link against a local vendored version.