mirror of
https://github.com/openharmony/third_party_rust_unicode-normalization.git
synced 2026-07-19 15:03:34 -04:00
5d0443bd920cfd8d77bba462ecbcde772b9bbcf4
char::is_combining_mark function.
This is used for international domain name validation: http://unicode.org/reports/tr46/#Validity_Criteria > The label must not begin with a combining mark, that is: General_Category=Mark.
Unicode character composition and decomposition utilities as described in Unicode Standard Annex #15.
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, "ÅΩ");
}
crates.io
You can use this package in your project by adding the following
to your Cargo.toml:
[dependencies]
unicode-normalization = "0.1.1"
Description
Languages
Rust
96.5%
Python
3.5%