1# unicode-normalization
2
3[![Build Status](https://travis-ci.org/unicode-rs/unicode-normalization.svg)](https://travis-ci.org/unicode-rs/unicode-normalization)
4[![Docs](https://docs.rs/unicode-normalization/badge.svg)](https://docs.rs/unicode-normalization/)
5
6Unicode character composition and decomposition utilities
7as described in
8[Unicode Standard Annex #15](http://www.unicode.org/reports/tr15/).
9
10This crate requires Rust 1.36+.
11
12```rust
13extern crate unicode_normalization;
14
15use unicode_normalization::char::compose;
16use unicode_normalization::UnicodeNormalization;
17
18fn main() {
19    assert_eq!(compose('A','\u{30a}'), Some('Å'));
20
21    let s = "ÅΩ";
22    let c = s.nfc().collect::<String>();
23    assert_eq!(c, "ÅΩ");
24}
25```
26
27## crates.io
28
29You can use this package in your project by adding the following
30to your `Cargo.toml`:
31
32```toml
33[dependencies]
34unicode-normalization = "0.1.22"
35```
36
37## `no_std` + `alloc` support
38
39This crate is completely `no_std` + `alloc` compatible. This can be enabled by disabling the `std` feature, i.e. specifying `default-features = false` for this crate on your `Cargo.toml`.
40