pub trait UnicodeNormalization<I: Iterator<Item = char>> {
fn nfd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
;
fn nfkd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
;
fn nfc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
;
fn nfkc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
;
fn cjk_compat_variants(self) -> Replacements<I>ⓘNotable traits for Replacements<I>impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
;
fn stream_safe(self) -> StreamSafe<I>ⓘNotable traits for StreamSafe<I>impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;
;
}
Expand description
Methods for iterating over strings while applying Unicode normalizations as described in Unicode Standard Annex #15.
Required methods
fn nfd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
fn nfd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
Returns an iterator over the string in Unicode Normalization Form D (canonical decomposition).
fn nfkd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
fn nfkd(self) -> Decompositions<I>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
Returns an iterator over the string in Unicode Normalization Form KD (compatibility decomposition).
fn nfc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
fn nfc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
An Iterator over the string in Unicode Normalization Form C (canonical decomposition followed by canonical composition).
fn nfkc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
fn nfkc(self) -> Recompositions<I>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
An Iterator over the string in Unicode Normalization Form KC (compatibility decomposition followed by canonical composition).
fn cjk_compat_variants(self) -> Replacements<I>ⓘNotable traits for Replacements<I>impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
fn cjk_compat_variants(self) -> Replacements<I>ⓘNotable traits for Replacements<I>impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
A transformation which replaces CJK Compatibility Ideograph codepoints with normal forms using Standardized Variation Sequences. This is not part of the canonical or compatibility decomposition algorithms, but performing it before those algorithms produces normalized output which better preserves the intent of the original text.
Note that many systems today ignore variation selectors, so these may not immediately help text display as intended, but they at least preserve the information in a standardized form, giving implementations the option to recognize them.
fn stream_safe(self) -> StreamSafe<I>ⓘNotable traits for StreamSafe<I>impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;
fn stream_safe(self) -> StreamSafe<I>ⓘNotable traits for StreamSafe<I>impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;
An Iterator over the string with Conjoining Grapheme Joiner characters inserted according to the Stream-Safe Text Process (UAX15-D4)
Implementations on Foreign Types
fn nfd(self) -> Decompositions<Chars<'a>>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
fn nfkd(self) -> Decompositions<Chars<'a>>ⓘNotable traits for Decompositions<I>impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Decompositions<I> type Item = char;
fn nfc(self) -> Recompositions<Chars<'a>>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
fn nfkc(self) -> Recompositions<Chars<'a>>ⓘNotable traits for Recompositions<I>impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Recompositions<I> type Item = char;
fn cjk_compat_variants(self) -> Replacements<Chars<'a>>ⓘNotable traits for Replacements<I>impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for Replacements<I> type Item = char;
fn stream_safe(self) -> StreamSafe<Chars<'a>>ⓘNotable traits for StreamSafe<I>impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;
impl<I: Iterator<Item = char>> Iterator for StreamSafe<I> type Item = char;