harfbuzz_sys/lib.rs
1// Copyright 2023 The Servo Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution.
3//
4// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
5// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
6// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7// option. This file may not be copied, modified, or distributed
8// except according to those terms.
9
10//! # harfbuzz-sys
11//!
12//! This crate provides raw bindings to the [HarfBuzz](https://harfbuzz.github.io/)
13//! text shaping library.
14//!
15//! ## Features
16//!
17//! - `freetype` - Enables bindings to the FreeType font engine. (Enabled by default.)
18//! - `coretext` - Enables bindings to the CoreText font engine. (Apple platforms only) (Enabled by default.)
19//! - `directwrite` - Enables bindings to the DirectWrite font engine. (Windows only) (Enabled by default.)
20//!
21//! - `bundled` - Use the bundled copy of the harfbuzz library rather than one installed on the system.
22
23#![no_std]
24#![warn(clippy::doc_markdown)]
25
26#[cfg(all(target_vendor = "apple", feature = "coretext"))]
27pub mod coretext;
28
29#[cfg(all(target_family = "windows", feature = "directwrite"))]
30pub mod directwrite;
31
32#[cfg(feature = "freetype")]
33pub mod freetype;
34
35#[allow(non_camel_case_types)]
36#[allow(non_snake_case)]
37#[allow(non_upper_case_globals)]
38#[allow(clippy::unreadable_literal)]
39#[allow(rustdoc::bare_urls)]
40#[allow(rustdoc::broken_intra_doc_links)]
41mod bindings;
42
43pub use crate::bindings::*;