utf8proc 0.1.2

Rust bindings to the utf8proc library
Documentation
//! Rust bindings to the [utf8proc] library supporting normalization,
//! case-folding, and character class testing.
//!
//! A statically linked binary is under 350K, yet can replace the functionality of the  [`unicode-width`] and [`unicode-normalization`] crates, among others.
//! It is used for Unicode implementation in the Julia programming language.
//!
//! # Limitations
//! The underlying utf8proc library does not support any "derived properties", including the `XID_Start`/`XID_Continue` properties.
//! For this purpose, the [`unicode-ident`] crate is recommended.
//! It is very fast and needs only ~10KiB of static storage.
//! Emulating this functionality would be slow and/or require additional static storage.
//!
//! It also does not support lookup or resolution of character names.
//! For that, consider the [`unicode_names2`] crate.
//!
//! The safe bindings does not (yet) wrap all the functionality that the C library does.
//! PRs are welcome.
//!
//! [utf8proc]: https://juliastrings.github.io/utf8proc/
//! [`unicode-ident`]: https://docs.rs/unicode-ident/1/unicode_ident/
//! [`unicode-width`]: https://docs.rs/unicode-width/latest/unicode_ident/
//! [`unicode_names2`]: https://docs.rs/unicode_names2/2/unicode_names2/
//! [`unicode-normalization`]: https://docs.rs/unicode-normalization/latest/unicode_normalization/
#![deny(missing_docs)]
#![forbid(clippy::cast_sign_loss, reason = "prefer cast_unsigned")]

pub mod case;
mod error;
pub mod grapheme;
pub mod properties;
pub mod transform;
mod version;

pub use self::error::{Error, ErrorKind};
pub use self::version::*;