Skip to main content

DecomposingNormalizer

Struct DecomposingNormalizer 

Source
pub struct DecomposingNormalizer {
    pub(crate) decompositions: DataPayload<NormalizerNfdDataV1>,
    pub(crate) tables: DataPayload<NormalizerNfdTablesV1>,
    pub(crate) supplementary_tables: Option<DataPayload<NormalizerNfkdTablesV1>>,
    pub(crate) decomposition_passthrough_bound: u8,
    pub(crate) composition_passthrough_bound: u16,
}
Expand description

A normalizer for performing decomposing normalization.

Fields§

§decompositions: DataPayload<NormalizerNfdDataV1>§tables: DataPayload<NormalizerNfdTablesV1>§supplementary_tables: Option<DataPayload<NormalizerNfkdTablesV1>>§decomposition_passthrough_bound: u8§composition_passthrough_bound: u16

Implementations§

Source§

impl DecomposingNormalizer

Source

pub fn as_borrowed(&self) -> DecomposingNormalizerBorrowed<'_>

Constructs a borrowed version of this type for more efficient querying.

Source

pub const fn new_nfd() -> DecomposingNormalizerBorrowed<'static>

NFD constructor using compiled data.

Enabled with the compiled_data Cargo feature.

📚 Help choosing a constructor

Source

pub fn try_new_nfd_unstable<D>(provider: &D) -> Result<Self, DataError>

A version of Self::new_nfd that uses custom data provided by a DataProvider.

📚 Help choosing a constructor

⚠️ The bounds on provider may change over time, including in SemVer minor releases.
Source

pub const fn new_nfkd() -> DecomposingNormalizerBorrowed<'static>

NFKD constructor using compiled data.

Enabled with the compiled_data Cargo feature.

📚 Help choosing a constructor

Source

pub fn try_new_nfkd_unstable<D>(provider: &D) -> Result<Self, DataError>

A version of Self::new_nfkd that uses custom data provided by a DataProvider.

📚 Help choosing a constructor

⚠️ The bounds on provider may change over time, including in SemVer minor releases.
Source

pub(crate) fn try_new_uts46_decomposed_unstable<D>( provider: &D, ) -> Result<Self, DataError>

UTS 46 decomposed constructor (testing only)

This is a special building block normalization for IDNA. It is the decomposed counterpart of ICU4C’s UTS 46 normalization with two exceptions: characters that UTS 46 disallows and ICU4C maps to U+FFFD and characters that UTS 46 maps to the empty string normalize as in NFD in this normalization. In both cases, the previous UTS 46 processing before using normalization is expected to deal with these characters. Making the disallowed characters behave like this is beneficial to data size, and this normalizer implementation cannot deal with a character normalizing to the empty string, which doesn’t happen in NFD or NFKD as of Unicode 14.

Warning: In this normalization, U+0345 COMBINING GREEK YPOGEGRAMMENI exhibits a behavior that no character in Unicode exhibits in NFD, NFKD, NFC, or NFKC: Case folding turns U+0345 from a reordered character into a non-reordered character before reordering happens. Therefore, the output of this normalization may differ for different inputs that are canonically equivalent with each other if they differ by how U+0345 is ordered relative to other reorderable characters.

Trait Implementations§

Source§

impl Debug for DecomposingNormalizer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,