This crate is in maintenance mode. Bug fixes only — no new features.
Bug reports and fixes are welcome and will be reviewed promptly. Correctness, panics and security issues are in scope. New table support, new API surface and performance work are not, and feature requests will be closed.
For new projects, we recommend fontations (
read-fontsandskrifa), which is actively developed by Google Fonts, has broader table support, and is the direction the Rust font ecosystem is moving.
A high-level, safe, zero-allocation font parser for TrueType, OpenType, and AAT.
Can be used as a Rust or C library.
Requires Rust 1.88 and uses edition 2024.
no_std/WASM compatible.b and depth d,
a small font can force b^d visits without ever exceeding the depth.Licensed under either of
at your option.
See CONTRIBUTING.md for how to build and test the library, the C API and the benchmarks, the lint and formatting workflow, and what is expected of a change to a parser of untrusted input.
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.
(top 30 of 39)
Rust
93.4%
C++
3.6%
C
2.5%
This crate is in maintenance mode. Bug fixes only — no new features.
Bug reports and fixes are welcome and will be reviewed promptly. Correctness, panics and security issues are in scope. New table support, new API surface and performance work are not, and feature requests will be closed.
For new projects, we recommend fontations (
read-fontsandskrifa), which is actively developed by Google Fonts, has broader table support, and is the direction the Rust font ecosystem is moving.
A high-level, safe, zero-allocation font parser for TrueType, OpenType, and AAT.
Can be used as a Rust or C library.
Requires Rust 1.88 and uses edition 2024.
no_std/WASM compatible.b and depth d,
a small font can force b^d visits without ever exceeding the depth.Licensed under either of
at your option.
See CONTRIBUTING.md for how to build and test the library, the C API and the benchmarks, the lint and formatting workflow, and what is expected of a change to a parser of untrusted input.
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.
(top 30 of 39)
Rust
93.4%
C++
3.6%
C
2.5%