Unicode character composition and decomposition utilities as described in Unicode Standard Annex #15.
This crate requires Rust 1.21+.
extern crate unicode_normalization;
use unicode_normalization::char::compose;
use unicode_normalization::UnicodeNormalization;
fn main() {
assert_eq!(compose('A','\u{30a}'), Some('Å'));
let s = "ÅΩ";
let c = s.nfc().collect::<String>();
assert_eq!(c, "ÅΩ");
}
You can use this package in your project by adding the following
to your Cargo.toml
:
[dependencies]
unicode-normalization = "0.1.8"