kashida 0.3.1

Insert Kashidas/Tatweel into Arabic text, e.g. for justification purposes.
Documentation
// @generated
include!("segmenter_break_grapheme_cluster_v1.rs.data");
include!("segmenter_break_word_v1.rs.data");
include!("segmenter_break_word_override_v1.rs.data");
#[doc = r" Marks a type as a data provider. You can then use macros like"]
#[doc = r" `impl_core_helloworld_v1` to add implementations."]
#[doc = r""]
#[doc = r" ```ignore"]
#[doc = r" struct MyProvider;"]
#[doc = r" const _: () = {"]
#[doc = r#"     include!("path/to/generated/macros.rs");"#]
#[doc = r"     make_provider!(MyProvider);"]
#[doc = r"     impl_core_helloworld_v1!(MyProvider);"]
#[doc = r" }"]
#[doc = r" ```"]
#[doc(hidden)]
#[macro_export]
macro_rules! __make_provider {
    ($ name : ty) => {
        #[clippy::msrv = "1.83"]
        impl $name {
            #[allow(dead_code)]
            pub(crate) const MUST_USE_MAKE_PROVIDER_MACRO: () = ();
        }
        icu_provider::marker::impl_data_provider_never_marker!($name);
    };
}
#[doc(inline)]
pub use __make_provider as make_provider;
#[doc = r" This macro requires the following crates:"]
#[doc = " * `icu_collections`"]
#[doc = " * `icu_provider`"]
#[doc = " * `icu_segmenter`"]
#[doc = " * `zerovec`"]
#[allow(unused_macros)]
macro_rules! impl_data_provider {
    ($ provider : ty) => {
        make_provider!($provider);
        impl_segmenter_break_grapheme_cluster_v1!($provider);
        impl_segmenter_break_word_v1!($provider);
        impl_segmenter_break_word_override_v1!($provider);
    };
}