From 0098506094adb842135a4b3bdcb8a69036155a8f Mon Sep 17 00:00:00 2001 From: "Shane F. Carr" Date: Wed, 13 Aug 2025 23:56:15 -0700 Subject: [PATCH 1/2] Add icu_provider_adapter::delegate module with helper macro --- provider/adapters/src/delegate.rs | 97 +++++++++++++++++++++++++++++++ provider/adapters/src/lib.rs | 4 ++ 2 files changed, 101 insertions(+) create mode 100644 provider/adapters/src/delegate.rs diff --git a/provider/adapters/src/delegate.rs b/provider/adapters/src/delegate.rs new file mode 100644 index 00000000000..936c795c09a --- /dev/null +++ b/provider/adapters/src/delegate.rs @@ -0,0 +1,97 @@ +// This file is part of ICU4X. For terms of use, please see the file +// called LICENSE at the top level of the ICU4X source tree +// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). + +//! Macros for delegating impls to inner data providers. + +/// Delegate an impl of `DataProvider` to a field of a struct. +/// +/// # Examples +/// +/// ``` +/// use icu_provider::hello_world::*; +/// use icu_locale::locale; +/// +/// struct Wrap(HelloWorldProvider); +/// +/// // Delegate `DataProvider` to the field `self.0` +/// icu_provider_adapters::delegate::data_provider_to_field!(Wrap, HelloWorldV1, &self.0); +/// +/// // Test that it works +/// let wrap = Wrap(HelloWorldProvider::default()); +/// HelloWorldFormatter::try_new_unstable(&wrap, locale!("de").into()).unwrap(); +/// ``` +/// +/// Also works if the field is a [`BufferProvider`]: +/// +/// ``` +/// use icu_provider::hello_world::*; +/// use icu_locale::locale; +/// +/// struct Wrap(HelloWorldJsonProvider); +/// +/// // Delegate `DataProvider` to the field `self.0`, calling `as_deserializing()` on the field +/// icu_provider_adapters::delegate::data_provider_to_field!(Wrap, HelloWorldV1, &self.0.as_deserializing()); +/// +/// // Test that it works +/// let wrap = Wrap(HelloWorldProvider::default().into_json_provider()); +/// HelloWorldFormatter::try_new_unstable(&wrap, locale!("de").into()).unwrap(); +/// ``` +/// +/// [`BufferProvider`]: icu_provider::prelude::BufferProvider +#[doc(hidden)] // macro +#[macro_export] +macro_rules! __data_provider_to_field { + ($provider:path, $marker:path, &self.$field:tt.as_deserializing()) => { + impl $crate::icu_provider::DataProvider<$marker> for $provider { + fn load(&self, req: $crate::icu_provider::DataRequest) -> Result<$crate::icu_provider::DataResponse<$marker>, $crate::icu_provider::DataError> { + let provider = $crate::icu_provider::prelude::AsDeserializingBufferProvider::as_deserializing(&self.$field); + $crate::icu_provider::DataProvider::<$marker>::load(&provider, req) + } + } + }; + ($provider:path, $marker:path, &self.$field:tt) => { + impl $crate::icu_provider::DataProvider<$marker> for $provider { + fn load(&self, req: $crate::icu_provider::DataRequest) -> Result<$crate::icu_provider::DataResponse<$marker>, $crate::icu_provider::DataError> { + $crate::icu_provider::DataProvider::<$marker>::load(&self.$field, req) + } + } + }; +} + +#[doc(inline)] +pub use __data_provider_to_field as data_provider_to_field; + +#[cfg(test)] +mod tests { + use icu_locale::locale; + use icu_provider::hello_world::{ + HelloWorldFormatter, HelloWorldJsonProvider, HelloWorldProvider, HelloWorldV1, + }; + + use super::*; + + #[test] + fn test_delegate() { + struct Wrap(HelloWorldProvider); + data_provider_to_field!(Wrap, HelloWorldV1, &self.0); + + let hello1 = HelloWorldProvider::default(); + let wrap = Wrap(hello1); + + let formatter = HelloWorldFormatter::try_new_unstable(&wrap, locale!("de").into()).unwrap(); + assert_eq!(formatter.format_to_string(), "Hallo Welt"); + } + + #[test] + fn test_delegate_to_buffer() { + struct Wrap(HelloWorldJsonProvider); + data_provider_to_field!(Wrap, HelloWorldV1, &self.0.as_deserializing()); + + let hello1 = HelloWorldProvider::default().into_json_provider(); + let wrap = Wrap(hello1); + + let formatter = HelloWorldFormatter::try_new_unstable(&wrap, locale!("de").into()).unwrap(); + assert_eq!(formatter.format_to_string(), "Hallo Welt"); + } +} diff --git a/provider/adapters/src/lib.rs b/provider/adapters/src/lib.rs index 2b172a5d733..d238009a3a9 100644 --- a/provider/adapters/src/lib.rs +++ b/provider/adapters/src/lib.rs @@ -28,9 +28,13 @@ extern crate alloc; +pub mod delegate; pub mod either; pub mod empty; pub mod fallback; pub mod filter; pub mod fixed; pub mod fork; + +#[doc(hidden)] // internal for macros +pub use icu_provider; From b2894c88ce44d994a0000fdfa3e6cbc12da01d87 Mon Sep 17 00:00:00 2001 From: "Shane F. Carr" Date: Wed, 13 Aug 2025 23:56:38 -0700 Subject: [PATCH 2/2] Add custom collator example --- components/icu/Cargo.toml | 4 + components/icu/examples/coll_mis.rs | 104 +++++++++++++++++++++++++ components/icu/mis_collation.postcard | Bin 0 -> 1455 bytes components/icu/root_collation.postcard | Bin 0 -> 161213 bytes 4 files changed, 108 insertions(+) create mode 100644 components/icu/examples/coll_mis.rs create mode 100644 components/icu/mis_collation.postcard create mode 100644 components/icu/root_collation.postcard diff --git a/components/icu/Cargo.toml b/components/icu/Cargo.toml index f68edba47ec..829e124569e 100644 --- a/components/icu/Cargo.toml +++ b/components/icu/Cargo.toml @@ -153,6 +153,10 @@ required-features = ["compiled_data"] name = "code_line_diff" required-features = ["serde"] +[[example]] +name = "coll_mis" +required-features = ["serde"] + [[example]] name = "and_list" diff --git a/components/icu/examples/coll_mis.rs b/components/icu/examples/coll_mis.rs new file mode 100644 index 00000000000..387ac573bd6 --- /dev/null +++ b/components/icu/examples/coll_mis.rs @@ -0,0 +1,104 @@ +// This file is part of ICU4X. For terms of use, please see the file +// called LICENSE at the top level of the ICU4X source tree +// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). + +#![no_main] // https://github.com/unicode-org/icu4x/issues/395 +icu_benchmark_macros::instrument!(); + +use icu_benchmark_macros::println; + +use icu::collator::Collator; +use icu::locale::locale; +use icu_collator::options::CollatorOptions; +use icu_collator::provider::*; +use icu_collator::CollatorPreferences; +use icu_normalizer::provider::*; +use icu_provider_adapters::fork::ForkByMarkerProvider; +use icu_provider_blob::BlobDataProvider; + +fn main() { + let mis_blob = std::fs::read("mis_collation.postcard").unwrap(); + let root_blob = std::fs::read("root_collation.postcard").unwrap(); + + let blob_provider = ForkByMarkerProvider::new( + BlobDataProvider::try_new_from_blob(mis_blob.clone().into()).unwrap(), + BlobDataProvider::try_new_from_blob(root_blob.into()).unwrap(), + ); + + struct MyProvider { + blob: BlobDataProvider, + collator: icu::collator::provider::Baked, + normalizer: icu::normalizer::provider::Baked, + } + + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationMetadataV1, + &self.blob.as_deserializing() + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationTailoringV1, + &self.blob.as_deserializing() + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationDiacriticsV1, + &self.collator + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationJamoV1, + &self.collator + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationReorderingV1, + &self.collator + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationRootV1, + &self.collator + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + CollationSpecialPrimariesV1, + &self.collator + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + NormalizerNfdDataV1, + &self.normalizer + ); + icu_provider_adapters::delegate::data_provider_to_field!( + MyProvider, + NormalizerNfdTablesV1, + &self.normalizer + ); + + let prefs = CollatorPreferences::from(locale!("mis")); + let options = CollatorOptions::default(); + + let blob_or_baked_provider = MyProvider { + blob: BlobDataProvider::try_new_from_blob(mis_blob.into()).unwrap(), + collator: icu::collator::provider::Baked, + normalizer: icu::normalizer::provider::Baked, + }; + + let default_collator = Collator::try_new(prefs, options).unwrap(); + let custom_blob_collator = + Collator::try_new_with_buffer_provider(&blob_provider, prefs, options).unwrap(); + let custom_baked_collator = + Collator::try_new_unstable(&blob_or_baked_provider, prefs, options).unwrap(); + + println!("Default: {:?}", default_collator.compare("ı", "I")); + println!( + "Custom All Blob: {:?}", + custom_blob_collator.as_borrowed().compare("ı", "I") + ); + println!( + "Custom Blob Baked Hybrid: {:?}", + custom_baked_collator.as_borrowed().compare("ı", "I") + ); +} diff --git a/components/icu/mis_collation.postcard b/components/icu/mis_collation.postcard new file mode 100644 index 0000000000000000000000000000000000000000..a35075f2f2bf81e79b38e7a047fa91b621d41e02 GIT binary patch literal 1455 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 literal 0 HcmV?d00001