tectonic_bridge_harfbuzz

Crates.iotectonic_bridge_harfbuzz
lib.rstectonic_bridge_harfbuzz
version0.2.9
sourcesrc
created_at2021-01-16 00:03:10.818376
updated_at2024-02-05 01:41:15.568076
descriptionExpose the Harfbuzz C/C++ APIs to Rust/Cargo.
homepagehttps://tectonic-typesetting.github.io/
repositoryhttps://github.com/tectonic-typesetting/tectonic/
max_upload_size
id342617
size5,988,758
Mark (rm-dr)

documentation

https://docs.rs/tectonic_bridge_harfbuzz

README

The tectonic_bridge_harfbuzz crate

This 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;

Cargo features

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.
Commit count: 3625

cargo fmt