#unicode #font #shaping #opentype

sys harfbuzz-sys

Rust bindings to the HarfBuzz text shaping engine

25 releases

new 0.6.1 Apr 23, 2024
0.5.0 Jul 29, 2020
0.3.4 Jan 9, 2020
0.3.3 Nov 18, 2019
0.1.2 Nov 25, 2015

#587 in Text processing

Download history 4009/week @ 2024-01-01 4168/week @ 2024-01-08 3618/week @ 2024-01-15 4389/week @ 2024-01-22 5440/week @ 2024-01-29 5456/week @ 2024-02-05 5565/week @ 2024-02-12 4577/week @ 2024-02-19 6400/week @ 2024-02-26 7961/week @ 2024-03-04 7905/week @ 2024-03-11 8460/week @ 2024-03-18 9998/week @ 2024-03-25 7044/week @ 2024-04-01 9233/week @ 2024-04-08 11266/week @ 2024-04-15

38,289 downloads per month
Used in 56 crates (10 directly)

MIT/Apache

2MB
46K SLoC

C++ 36K SLoC // 0.3% comments Rust 4.5K SLoC // 0.0% comments Python 3.5K SLoC // 0.1% comments M4 1K SLoC // 0.3% comments Automake 671 SLoC // 0.0% comments C 303 SLoC // 0.1% comments Shell 149 SLoC // 0.1% comments

Contains (obscure autoconf code, 16KB) harfbuzz/configure.ac

harfbuzz-sys

Build Status Crates.io Docs

HarfBuzz is a text shaping engine. It solves the problem of selecting and positioning glyphs from a font given a Unicode string.

This crate provides low-level bindings to the C API.

Features

  • freetype - Enables bindings to the FreeType font engine. (Enabled by default.)

  • coretext - Enables bindings to the CoreText font engine. (Apple platforms only) (Enabled by default.)

  • directwrite - Enables bindings to the DirectWrite font engine. (Windows only) (Enabled by default.)

  • bundled - Use the bundled copy of the harfbuzz library rather than one installed on the system.

License

Licensed under either of

at your option.

Contribution

Contributions are welcome by pull request.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–2.4MB
~45K SLoC