From a7333f8381362cd283b08c875682d905d4fd0646 Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Fri, 28 Mar 2025 14:34:05 +0900 Subject: [PATCH 1/7] Add Indic_Conjunct_Break property. --- components/properties/src/names.rs | 8 + components/properties/src/props.rs | 63 + components/properties/src/provider.rs | 37 +- components/properties/src/provider/names.rs | 18 + components/properties/src/runtime.rs | 1 + components/properties/src/trievalue.rs | 16 +- ffi/capi/bindings/c/CodePointMapData8.h | 5 + ffi/capi/bindings/c/IndicConjunctBreak.d.h | 25 + ffi/capi/bindings/c/IndicConjunctBreak.h | 30 + .../c/PropertyValueNameToEnumMapper.h | 5 + .../cpp/icu4x/CodePointMapData8.d.hpp | 14 + .../bindings/cpp/icu4x/CodePointMapData8.hpp | 15 + .../cpp/icu4x/IndicConjunctBreak.d.hpp | 77 + .../bindings/cpp/icu4x/IndicConjunctBreak.hpp | 62 + .../icu4x/PropertyValueNameToEnumMapper.d.hpp | 14 + .../icu4x/PropertyValueNameToEnumMapper.hpp | 15 + .../bindings/dart/CodePointMapData8.g.dart | 31 + .../bindings/dart/IndicConjunctBreak.g.dart | 61 + .../dart/PropertyValueNameToEnumMapper.g.dart | 31 + ffi/capi/bindings/dart/lib.g.dart | 1 + ffi/capi/bindings/js/CodePointMapData8.d.ts | 14 + ffi/capi/bindings/js/CodePointMapData8.mjs | 38 + ffi/capi/bindings/js/IndicConjunctBreak.d.ts | 44 + ffi/capi/bindings/js/IndicConjunctBreak.mjs | 127 + .../js/PropertyValueNameToEnumMapper.d.ts | 14 + .../js/PropertyValueNameToEnumMapper.mjs | 38 + ffi/capi/bindings/js/index.d.ts | 2 + ffi/capi/bindings/js/index.mjs | 2 + ffi/capi/src/properties_enums.rs | 45 + ffi/capi/src/properties_maps.rs | 26 +- ffi/capi/src/properties_names.rs | 25 + provider/data/properties/data/mod.rs | 8 + ...perty_enum_indic_conjunct_break_v1.rs.data | 75 + ..._name_long_indic_conjunct_break_v1.rs.data | 75 + ...name_parse_indic_conjunct_break_v1.rs.data | 75 + ...name_short_indic_conjunct_break_v1.rs.data | 75 + provider/data/properties/fingerprints.csv | 4 + provider/data/properties/stubdata/mod.rs | 8 + ...perty_enum_indic_conjunct_break_v1.rs.data | 75 + ..._name_long_indic_conjunct_break_v1.rs.data | 75 + ...name_parse_indic_conjunct_break_v1.rs.data | 75 + ...name_short_indic_conjunct_break_v1.rs.data | 75 + provider/registry/src/lib.rs | 4 + .../PropertyEnumIndicConjunctBreakV1.json | 4967 +++++++++++++++++ .../PropertyNameLongIndicConjunctBreakV1.json | 5 + ...PropertyNameParseIndicConjunctBreakV1.json | 5 + ...PropertyNameShortIndicConjunctBreakV1.json | 5 + .../src/properties/enum_codepointtrie.rs | 9 + provider/source/src/tests/data.rs | 1 + .../data/icuexport/uprops/small/InCB.toml | 1148 ++++ .../tests/data/icuexport/uprops/small/vo.toml | 2 +- .../make/download-repo-sources/globs.rs.data | 1 + 52 files changed, 7655 insertions(+), 16 deletions(-) create mode 100644 ffi/capi/bindings/c/IndicConjunctBreak.d.h create mode 100644 ffi/capi/bindings/c/IndicConjunctBreak.h create mode 100644 ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp create mode 100644 ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp create mode 100644 ffi/capi/bindings/dart/IndicConjunctBreak.g.dart create mode 100644 ffi/capi/bindings/js/IndicConjunctBreak.d.ts create mode 100644 ffi/capi/bindings/js/IndicConjunctBreak.mjs create mode 100644 provider/data/properties/data/property_enum_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/stubdata/property_enum_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data create mode 100644 provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data create mode 100644 provider/source/data/debug/properties/PropertyEnumIndicConjunctBreakV1.json create mode 100644 provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json create mode 100644 provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json create mode 100644 provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json create mode 100644 provider/source/tests/data/icuexport/uprops/small/InCB.toml diff --git a/components/properties/src/names.rs b/components/properties/src/names.rs index 1aa107fd3bb..93b93b639ec 100644 --- a/components/properties/src/names.rs +++ b/components/properties/src/names.rs @@ -882,6 +882,14 @@ impl_value_getter! { } } +impl_value_getter! { + impl IndicConjunctBreak { + PropertyNameParseIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1; + PropertyEnumToValueNameLinearMap / PropertyNameShortIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1; + PropertyEnumToValueNameLinearMap / PropertyNameLongIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1; + } +} + impl_value_getter! { impl IndicSyllabicCategory { PropertyNameParseIndicSyllabicCategoryV1 / SINGLETON_PROPERTY_NAME_PARSE_INDIC_SYLLABIC_CATEGORY_V1; diff --git a/components/properties/src/props.rs b/components/properties/src/props.rs index 579e08f19f0..aa4fcb5edee 100644 --- a/components/properties/src/props.rs +++ b/components/properties/src/props.rs @@ -1425,6 +1425,59 @@ make_enumerated_property! { ule_ty: u8; } +/// Property Indic_Conjunct_Break. +/// See UAX #44: +/// . +/// +/// # Example +/// +/// ``` +/// use icu::properties::{CodePointMapData, props::IndicConjunctBreak}; +/// +/// assert_eq!(CodePointMapData::::new().get('a'), IndicConjunctBreak::None); +/// assert_eq!(CodePointMapData::::new().get('\u{094d}'), IndicConjunctBreak::Linker); +/// assert_eq!(CodePointMapData::::new().get('\u{0915}'), IndicConjunctBreak::Consonant); +/// assert_eq!(CodePointMapData::::new().get('\u{0300}'), IndicConjunctBreak::Extend); +/// ``` +#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +#[cfg_attr(feature = "datagen", derive(databake::Bake))] +#[cfg_attr(feature = "datagen", databake(path = icu_properties::props))] +#[allow(clippy::exhaustive_structs)] // newtype +#[repr(transparent)] +pub struct IndicConjunctBreak(pub(crate) u8); + +impl IndicConjunctBreak { + /// Returns an ICU4C `UIndicConjunctBreak` value. + pub const fn to_icu4c_value(self) -> u8 { + self.0 + } + /// Constructor from an ICU4C `UIndicConjunctBreak` value. + pub const fn from_icu4c_value(value: u8) -> Self { + Self(value) + } +} + +create_const_array! { +#[allow(missing_docs)] // These constants don't need individual documentation. +#[allow(non_upper_case_globals)] +impl IndicConjunctBreak { + pub const None: IndicConjunctBreak = IndicConjunctBreak(0); + pub const Consonant: IndicConjunctBreak = IndicConjunctBreak(1); + pub const Extend: IndicConjunctBreak = IndicConjunctBreak(2); + pub const Linker: IndicConjunctBreak = IndicConjunctBreak(3); +} +} + +make_enumerated_property! { + name: "Indic_Conjunct_Break"; + short_name: "InCB"; + ident: IndicConjunctBreak; + data_marker: crate::provider::PropertyEnumIndicConjunctBreakV1; + singleton: SINGLETON_PROPERTY_ENUM_INDIC_CONJUNCT_BREAK_V1; + ule_ty: u8; +} + /// Property Indic_Syllabic_Category. /// See UAX #44: /// . @@ -3096,6 +3149,16 @@ mod test_enumerated_property_completeness { ); } + // This test is ignored since all names aren't defined in IcCB.toml into icuexport. + #[test] + #[ignore] + fn test_incb() { + check_enum( + crate::provider::Baked::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1, + IndicConjunctBreak::ALL_VALUES, + ); + } + #[test] fn test_insc() { check_enum( diff --git a/components/properties/src/provider.rs b/components/properties/src/provider.rs index 44441eb65e6..c59360d549d 100644 --- a/components/properties/src/provider.rs +++ b/components/properties/src/provider.rs @@ -21,22 +21,23 @@ pub use names::{ PropertyNameLongBidiClassV1, PropertyNameLongCanonicalCombiningClassV1, PropertyNameLongEastAsianWidthV1, PropertyNameLongGeneralCategoryV1, PropertyNameLongGraphemeClusterBreakV1, PropertyNameLongHangulSyllableTypeV1, - PropertyNameLongIndicSyllabicCategoryV1, PropertyNameLongJoiningTypeV1, - PropertyNameLongLineBreakV1, PropertyNameLongScriptV1, PropertyNameLongSentenceBreakV1, - PropertyNameLongVerticalOrientationV1, PropertyNameLongWordBreakV1, - PropertyNameParseBidiClassV1, PropertyNameParseCanonicalCombiningClassV1, - PropertyNameParseEastAsianWidthV1, PropertyNameParseGeneralCategoryMaskV1, - PropertyNameParseGeneralCategoryV1, PropertyNameParseGraphemeClusterBreakV1, - PropertyNameParseHangulSyllableTypeV1, PropertyNameParseIndicSyllabicCategoryV1, + PropertyNameLongIndicConjunctBreakV1, PropertyNameLongIndicSyllabicCategoryV1, + PropertyNameLongJoiningTypeV1, PropertyNameLongLineBreakV1, PropertyNameLongScriptV1, + PropertyNameLongSentenceBreakV1, PropertyNameLongVerticalOrientationV1, + PropertyNameLongWordBreakV1, PropertyNameParseBidiClassV1, + PropertyNameParseCanonicalCombiningClassV1, PropertyNameParseEastAsianWidthV1, + PropertyNameParseGeneralCategoryMaskV1, PropertyNameParseGeneralCategoryV1, + PropertyNameParseGraphemeClusterBreakV1, PropertyNameParseHangulSyllableTypeV1, + PropertyNameParseIndicConjunctBreakV1, PropertyNameParseIndicSyllabicCategoryV1, PropertyNameParseJoiningTypeV1, PropertyNameParseLineBreakV1, PropertyNameParseScriptV1, PropertyNameParseSentenceBreakV1, PropertyNameParseVerticalOrientationV1, PropertyNameParseWordBreakV1, PropertyNameShortBidiClassV1, PropertyNameShortCanonicalCombiningClassV1, PropertyNameShortEastAsianWidthV1, PropertyNameShortGeneralCategoryV1, PropertyNameShortGraphemeClusterBreakV1, - PropertyNameShortHangulSyllableTypeV1, PropertyNameShortIndicSyllabicCategoryV1, - PropertyNameShortJoiningTypeV1, PropertyNameShortLineBreakV1, PropertyNameShortScriptV1, - PropertyNameShortSentenceBreakV1, PropertyNameShortVerticalOrientationV1, - PropertyNameShortWordBreakV1, + PropertyNameShortHangulSyllableTypeV1, PropertyNameShortIndicConjunctBreakV1, + PropertyNameShortIndicSyllabicCategoryV1, PropertyNameShortJoiningTypeV1, + PropertyNameShortLineBreakV1, PropertyNameShortScriptV1, PropertyNameShortSentenceBreakV1, + PropertyNameShortVerticalOrientationV1, PropertyNameShortWordBreakV1, }; pub use crate::props::gc::GeneralCategoryULE; @@ -143,6 +144,7 @@ const _: () = { impl_property_enum_general_category_v1!(Baked); impl_property_enum_grapheme_cluster_break_v1!(Baked); impl_property_enum_hangul_syllable_type_v1!(Baked); + impl_property_enum_indic_conjunct_break_v1!(Baked); impl_property_enum_indic_syllabic_category_v1!(Baked); impl_property_enum_joining_type_v1!(Baked); impl_property_enum_line_break_v1!(Baked); @@ -156,6 +158,7 @@ const _: () = { impl_property_name_long_general_category_v1!(Baked); impl_property_name_long_grapheme_cluster_break_v1!(Baked); impl_property_name_long_hangul_syllable_type_v1!(Baked); + impl_property_name_long_indic_conjunct_break_v1!(Baked); impl_property_name_long_indic_syllabic_category_v1!(Baked); impl_property_name_long_joining_type_v1!(Baked); impl_property_name_long_line_break_v1!(Baked); @@ -170,6 +173,7 @@ const _: () = { impl_property_name_parse_general_category_v1!(Baked); impl_property_name_parse_grapheme_cluster_break_v1!(Baked); impl_property_name_parse_hangul_syllable_type_v1!(Baked); + impl_property_name_parse_indic_conjunct_break_v1!(Baked); impl_property_name_parse_indic_syllabic_category_v1!(Baked); impl_property_name_parse_joining_type_v1!(Baked); impl_property_name_parse_line_break_v1!(Baked); @@ -183,6 +187,7 @@ const _: () = { impl_property_name_short_general_category_v1!(Baked); impl_property_name_short_grapheme_cluster_break_v1!(Baked); impl_property_name_short_hangul_syllable_type_v1!(Baked); + impl_property_name_short_indic_conjunct_break_v1!(Baked); impl_property_name_short_indic_syllabic_category_v1!(Baked); impl_property_name_short_joining_type_v1!(Baked); impl_property_name_short_line_break_v1!(Baked); @@ -619,6 +624,12 @@ icu_provider::data_marker!( PropertyCodePointMap<'static, crate::props::HangulSyllableType>, is_singleton = true, ); +icu_provider::data_marker!( + /// Data marker for the 'IndicConjunctBreak' Unicode property + PropertyEnumIndicConjunctBreakV1, + PropertyCodePointMap<'static, crate::props::IndicConjunctBreak>, + is_singleton = true, +); icu_provider::data_marker!( /// Data marker for the 'IndicSyllabicCategory' Unicode property PropertyEnumIndicSyllabicCategoryV1, @@ -688,6 +699,7 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameLongGeneralCategoryV1::INFO, PropertyNameLongGraphemeClusterBreakV1::INFO, PropertyNameLongHangulSyllableTypeV1::INFO, + PropertyNameLongIndicConjunctBreakV1::INFO, PropertyNameLongIndicSyllabicCategoryV1::INFO, PropertyNameLongJoiningTypeV1::INFO, PropertyNameLongLineBreakV1::INFO, @@ -702,6 +714,7 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameParseGeneralCategoryV1::INFO, PropertyNameParseGraphemeClusterBreakV1::INFO, PropertyNameParseHangulSyllableTypeV1::INFO, + PropertyNameParseIndicConjunctBreakV1::INFO, PropertyNameParseIndicSyllabicCategoryV1::INFO, PropertyNameParseJoiningTypeV1::INFO, PropertyNameParseLineBreakV1::INFO, @@ -715,6 +728,7 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameShortGeneralCategoryV1::INFO, PropertyNameShortGraphemeClusterBreakV1::INFO, PropertyNameShortHangulSyllableTypeV1::INFO, + PropertyNameShortIndicConjunctBreakV1::INFO, PropertyNameShortIndicSyllabicCategoryV1::INFO, PropertyNameShortJoiningTypeV1::INFO, PropertyNameShortLineBreakV1::INFO, @@ -793,6 +807,7 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyEnumGeneralCategoryV1::INFO, PropertyEnumGraphemeClusterBreakV1::INFO, PropertyEnumHangulSyllableTypeV1::INFO, + PropertyEnumIndicConjunctBreakV1::INFO, PropertyEnumIndicSyllabicCategoryV1::INFO, PropertyEnumJoiningTypeV1::INFO, PropertyEnumLineBreakV1::INFO, diff --git a/components/properties/src/provider/names.rs b/components/properties/src/provider/names.rs index 9f6b8a0ec73..a15b4693302 100644 --- a/components/properties/src/provider/names.rs +++ b/components/properties/src/provider/names.rs @@ -61,6 +61,12 @@ icu_provider::data_marker!( PropertyValueNameToEnumMap<'static>, is_singleton = true ); +icu_provider::data_marker!( + /// `PropertyNameParseIndicConjunctBreakV1` + PropertyNameParseIndicConjunctBreakV1, + PropertyValueNameToEnumMap<'static>, + is_singleton = true +); icu_provider::data_marker!( /// `PropertyNameParseIndicSyllabicCategoryV1` PropertyNameParseIndicSyllabicCategoryV1, @@ -163,6 +169,18 @@ icu_provider::data_marker!( PropertyEnumToValueNameLinearMap<'static>, is_singleton = true ); +icu_provider::data_marker!( + /// `PropertyNameLongIndicConjunctBreakV1` + PropertyNameLongIndicConjunctBreakV1, + PropertyEnumToValueNameLinearMap<'static>, + is_singleton = true +); +icu_provider::data_marker!( + /// `PropertyNameShortIndicConjunctBreakV1` + PropertyNameShortIndicConjunctBreakV1, + PropertyEnumToValueNameLinearMap<'static>, + is_singleton = true +); icu_provider::data_marker!( /// `PropertyNameLongIndicSyllabicCategoryV1` PropertyNameLongIndicSyllabicCategoryV1, diff --git a/components/properties/src/runtime.rs b/components/properties/src/runtime.rs index 1581d81b211..0433ac34cd9 100644 --- a/components/properties/src/runtime.rs +++ b/components/properties/src/runtime.rs @@ -138,6 +138,7 @@ enum EnumeratedProperty { GeneralCategory = 0x1005, GraphemeClusterBreak = 0x1012, HangulSyllableType = 0x100B, + IndicConjunctBreak = 0x101A, IndicPositionalCategory = 0x1016, IndicSyllabicCategory = 0x1017, JoiningGroup = 0x1006, diff --git a/components/properties/src/trievalue.rs b/components/properties/src/trievalue.rs index e946abef013..9b19d8a6390 100644 --- a/components/properties/src/trievalue.rs +++ b/components/properties/src/trievalue.rs @@ -5,8 +5,8 @@ use crate::bidi::BidiMirroringGlyph; use crate::props::{ BidiClass, CanonicalCombiningClass, EastAsianWidth, GeneralCategory, GeneralCategoryGroup, - GraphemeClusterBreak, HangulSyllableType, IndicSyllabicCategory, JoiningType, LineBreak, - Script, SentenceBreak, VerticalOrientation, WordBreak, + GraphemeClusterBreak, HangulSyllableType, IndicConjunctBreak, IndicSyllabicCategory, + JoiningType, LineBreak, Script, SentenceBreak, VerticalOrientation, WordBreak, }; use crate::script::ScriptWithExt; use core::convert::TryInto; @@ -151,6 +151,18 @@ impl TrieValue for SentenceBreak { } } +impl TrieValue for IndicConjunctBreak { + type TryFromU32Error = TryFromIntError; + + fn try_from_u32(i: u32) -> Result { + u8::try_from(i).map(Self) + } + + fn to_u32(self) -> u32 { + u32::from(self.0) + } +} + impl TrieValue for IndicSyllabicCategory { type TryFromU32Error = TryFromIntError; diff --git a/ffi/capi/bindings/c/CodePointMapData8.h b/ffi/capi/bindings/c/CodePointMapData8.h index 86152da8b06..4783914bc7a 100644 --- a/ffi/capi/bindings/c/CodePointMapData8.h +++ b/ffi/capi/bindings/c/CodePointMapData8.h @@ -50,6 +50,11 @@ CodePointMapData8* icu4x_CodePointMapData8_create_hangul_syllable_type_mv1(void) typedef struct icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result; icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(const DataProvider* provider); +CodePointMapData8* icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(void); + +typedef struct icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result; +icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(const DataProvider* provider); + CodePointMapData8* icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(void); typedef struct icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result; diff --git a/ffi/capi/bindings/c/IndicConjunctBreak.d.h b/ffi/capi/bindings/c/IndicConjunctBreak.d.h new file mode 100644 index 00000000000..fa6545eb951 --- /dev/null +++ b/ffi/capi/bindings/c/IndicConjunctBreak.d.h @@ -0,0 +1,25 @@ +#ifndef IndicConjunctBreak_D_H +#define IndicConjunctBreak_D_H + +#include +#include +#include +#include +#include "diplomat_runtime.h" + + + + + +typedef enum IndicConjunctBreak { + IndicConjunctBreak_None = 0, + IndicConjunctBreak_Consonant = 1, + IndicConjunctBreak_Extend = 2, + IndicConjunctBreak_Linker = 3, +} IndicConjunctBreak; + +typedef struct IndicConjunctBreak_option {union { IndicConjunctBreak ok; }; bool is_ok; } IndicConjunctBreak_option; + + + +#endif // IndicConjunctBreak_D_H diff --git a/ffi/capi/bindings/c/IndicConjunctBreak.h b/ffi/capi/bindings/c/IndicConjunctBreak.h new file mode 100644 index 00000000000..d4a7dcd416b --- /dev/null +++ b/ffi/capi/bindings/c/IndicConjunctBreak.h @@ -0,0 +1,30 @@ +#ifndef IndicConjunctBreak_H +#define IndicConjunctBreak_H + +#include +#include +#include +#include +#include "diplomat_runtime.h" + + +#include "IndicConjunctBreak.d.h" + + + + + + +IndicConjunctBreak icu4x_IndicConjunctBreak_for_char_mv1(char32_t ch); + +uint8_t icu4x_IndicConjunctBreak_to_integer_value_mv1(IndicConjunctBreak self); + +typedef struct icu4x_IndicConjunctBreak_from_integer_value_mv1_result {union {IndicConjunctBreak ok; }; bool is_ok;} icu4x_IndicConjunctBreak_from_integer_value_mv1_result; +icu4x_IndicConjunctBreak_from_integer_value_mv1_result icu4x_IndicConjunctBreak_from_integer_value_mv1(uint8_t other); + + + + + + +#endif // IndicConjunctBreak_H diff --git a/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h b/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h index 1d29529c698..b7d88916b2b 100644 --- a/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h +++ b/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h @@ -41,6 +41,11 @@ PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_bidi_c typedef struct icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result; icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(const DataProvider* provider); +PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(void); + +typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result; +icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(const DataProvider* provider); + PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(void); typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result; diff --git a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp index e7116908785..86b5e48e046 100644 --- a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp +++ b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp @@ -143,6 +143,20 @@ class CodePointMapData8 { */ inline static diplomat::result, icu4x::DataError> create_hangul_syllable_type_with_provider(const icu4x::DataProvider& provider); + /** + * Create a map for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + inline static std::unique_ptr create_indic_conjunct_break(); + + /** + * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + inline static diplomat::result, icu4x::DataError> create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider); + /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp index 0bbd24a78bb..468de92d167 100644 --- a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp +++ b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp @@ -52,6 +52,11 @@ namespace capi { typedef struct icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result; icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(const icu4x::capi::DataProvider* provider); + icu4x::capi::CodePointMapData8* icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(void); + + typedef struct icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result; + icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(const icu4x::capi::DataProvider* provider); + icu4x::capi::CodePointMapData8* icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(void); typedef struct icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result; @@ -169,6 +174,16 @@ inline diplomat::result, icu4x::DataEr return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); } +inline std::unique_ptr icu4x::CodePointMapData8::create_indic_conjunct_break() { + auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); + return std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result)); +} + +inline diplomat::result, icu4x::DataError> icu4x::CodePointMapData8::create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider) { + auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(provider.AsFFI()); + return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); +} + inline std::unique_ptr icu4x::CodePointMapData8::create_indic_syllabic_category() { auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(); return std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result)); diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp new file mode 100644 index 00000000000..f3aba3a5b61 --- /dev/null +++ b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp @@ -0,0 +1,77 @@ +#ifndef icu4x_IndicConjunctBreak_D_HPP +#define icu4x_IndicConjunctBreak_D_HPP + +#include +#include +#include +#include +#include +#include +#include +#include "../diplomat_runtime.hpp" + +namespace icu4x { +class IndicConjunctBreak; +} + + +namespace icu4x { +namespace capi { + enum IndicConjunctBreak { + IndicConjunctBreak_None = 0, + IndicConjunctBreak_Consonant = 1, + IndicConjunctBreak_Extend = 2, + IndicConjunctBreak_Linker = 3, + }; + + typedef struct IndicConjunctBreak_option {union { IndicConjunctBreak ok; }; bool is_ok; } IndicConjunctBreak_option; +} // namespace capi +} // namespace + +namespace icu4x { +/** + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ +class IndicConjunctBreak { +public: + enum Value { + None = 0, + Consonant = 1, + Extend = 2, + Linker = 3, + }; + + IndicConjunctBreak() = default; + // Implicit conversions between enum and ::Value + constexpr IndicConjunctBreak(Value v) : value(v) {} + constexpr operator Value() const { return value; } + // Prevent usage as boolean value + explicit operator bool() const = delete; + + /** + * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. + */ + inline static icu4x::IndicConjunctBreak for_char(char32_t ch); + + /** + * Convert to an integer value usable with ICU4C and CodePointMapData + * + * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. + */ + inline uint8_t to_integer_value(); + + /** + * Convert from an integer value from ICU4C or CodePointMapData + * + * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. + */ + inline static std::optional from_integer_value(uint8_t other); + + inline icu4x::capi::IndicConjunctBreak AsFFI() const; + inline static icu4x::IndicConjunctBreak FromFFI(icu4x::capi::IndicConjunctBreak c_enum); +private: + Value value; +}; + +} // namespace +#endif // icu4x_IndicConjunctBreak_D_HPP diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp new file mode 100644 index 00000000000..d169a373682 --- /dev/null +++ b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp @@ -0,0 +1,62 @@ +#ifndef icu4x_IndicConjunctBreak_HPP +#define icu4x_IndicConjunctBreak_HPP + +#include "IndicConjunctBreak.d.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include "../diplomat_runtime.hpp" + + +namespace icu4x { +namespace capi { + extern "C" { + + icu4x::capi::IndicConjunctBreak icu4x_IndicConjunctBreak_for_char_mv1(char32_t ch); + + uint8_t icu4x_IndicConjunctBreak_to_integer_value_mv1(icu4x::capi::IndicConjunctBreak self); + + typedef struct icu4x_IndicConjunctBreak_from_integer_value_mv1_result {union {icu4x::capi::IndicConjunctBreak ok; }; bool is_ok;} icu4x_IndicConjunctBreak_from_integer_value_mv1_result; + icu4x_IndicConjunctBreak_from_integer_value_mv1_result icu4x_IndicConjunctBreak_from_integer_value_mv1(uint8_t other); + + + } // extern "C" +} // namespace capi +} // namespace + +inline icu4x::capi::IndicConjunctBreak icu4x::IndicConjunctBreak::AsFFI() const { + return static_cast(value); +} + +inline icu4x::IndicConjunctBreak icu4x::IndicConjunctBreak::FromFFI(icu4x::capi::IndicConjunctBreak c_enum) { + switch (c_enum) { + case icu4x::capi::IndicConjunctBreak_None: + case icu4x::capi::IndicConjunctBreak_Consonant: + case icu4x::capi::IndicConjunctBreak_Extend: + case icu4x::capi::IndicConjunctBreak_Linker: + return static_cast(c_enum); + default: + abort(); + } +} + +inline icu4x::IndicConjunctBreak icu4x::IndicConjunctBreak::for_char(char32_t ch) { + auto result = icu4x::capi::icu4x_IndicConjunctBreak_for_char_mv1(ch); + return icu4x::IndicConjunctBreak::FromFFI(result); +} + +inline uint8_t icu4x::IndicConjunctBreak::to_integer_value() { + auto result = icu4x::capi::icu4x_IndicConjunctBreak_to_integer_value_mv1(this->AsFFI()); + return result; +} + +inline std::optional icu4x::IndicConjunctBreak::from_integer_value(uint8_t other) { + auto result = icu4x::capi::icu4x_IndicConjunctBreak_from_integer_value_mv1(other); + return result.is_ok ? std::optional(icu4x::IndicConjunctBreak::FromFFI(result.ok)) : std::nullopt; +} +#endif // icu4x_IndicConjunctBreak_HPP diff --git a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp index 6e3929253cb..a3fdc7e7e69 100644 --- a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp +++ b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp @@ -112,6 +112,20 @@ class PropertyValueNameToEnumMapper { */ inline static diplomat::result, icu4x::DataError> create_bidi_class_with_provider(const icu4x::DataProvider& provider); + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + inline static std::unique_ptr create_indic_conjunct_break(); + + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + inline static diplomat::result, icu4x::DataError> create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider); + /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp index 574507d9d57..df581740fb5 100644 --- a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp +++ b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp @@ -43,6 +43,11 @@ namespace capi { typedef struct icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result; icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(const icu4x::capi::DataProvider* provider); + icu4x::capi::PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(void); + + typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result; + icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(const icu4x::capi::DataProvider* provider); + icu4x::capi::PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(void); typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result; @@ -137,6 +142,16 @@ inline diplomat::result, i return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); } +inline std::unique_ptr icu4x::PropertyValueNameToEnumMapper::create_indic_conjunct_break() { + auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); + return std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result)); +} + +inline diplomat::result, icu4x::DataError> icu4x::PropertyValueNameToEnumMapper::create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider) { + auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(provider.AsFFI()); + return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); +} + inline std::unique_ptr icu4x::PropertyValueNameToEnumMapper::create_indic_syllabic_category() { auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(); return std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result)); diff --git a/ffi/capi/bindings/dart/CodePointMapData8.g.dart b/ffi/capi/bindings/dart/CodePointMapData8.g.dart index fe3023e2ff5..b08b9436224 100644 --- a/ffi/capi/bindings/dart/CodePointMapData8.g.dart +++ b/ffi/capi/bindings/dart/CodePointMapData8.g.dart @@ -169,6 +169,27 @@ final class CodePointMapData8 implements ffi.Finalizable { return CodePointMapData8._fromFfi(result.union.ok, []); } + /// Create a map for the `Indic_Conjunct_Break` property, using compiled data. + /// + /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + factory CodePointMapData8.indicConjunctBreak() { + final result = _icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); + return CodePointMapData8._fromFfi(result, []); + } + + /// Create a map for the `Indic_Conjunct_Break` property, using a particular data source. + /// + /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + /// + /// Throws [DataError] on failure. + factory CodePointMapData8.indicConjunctBreakWithProvider(DataProvider provider) { + final result = _icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(provider._ffi); + if (!result.isOk) { + throw DataError.values[result.union.err]; + } + return CodePointMapData8._fromFfi(result.union.ok, []); + } + /// Create a map for the `Indic_Syllabic_Property` property, using compiled data. /// /// See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html) for more information. @@ -408,6 +429,16 @@ external ffi.Pointer _icu4x_CodePointMapData8_create_hangul_syllable // ignore: non_constant_identifier_names external _ResultOpaqueInt32 _icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(ffi.Pointer provider); +@_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_conjunct_break_mv1') +@ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_conjunct_break_mv1') +// ignore: non_constant_identifier_names +external ffi.Pointer _icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); + +@_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1') +@ffi.Native<_ResultOpaqueInt32 Function(ffi.Pointer)>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1') +// ignore: non_constant_identifier_names +external _ResultOpaqueInt32 _icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(ffi.Pointer provider); + @_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_syllabic_category_mv1') @ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_syllabic_category_mv1') // ignore: non_constant_identifier_names diff --git a/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart b/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart new file mode 100644 index 00000000000..a58dd042ea1 --- /dev/null +++ b/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart @@ -0,0 +1,61 @@ +// generated by diplomat-tool +// dart format off + +part of 'lib.g.dart'; + +/// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. +enum IndicConjunctBreak { + /// See the [Rust documentation for `None`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.None) for more information. + none, + + /// See the [Rust documentation for `Consonant`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Consonant) for more information. + consonant, + + /// See the [Rust documentation for `Extend`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Extend) for more information. + extend, + + /// See the [Rust documentation for `Linker`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Linker) for more information. + linker; + + /// See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. + static IndicConjunctBreak forChar(Rune ch) { + final result = _icu4x_IndicConjunctBreak_for_char_mv1(ch); + return IndicConjunctBreak.values[result]; + } + + /// Convert to an integer value usable with ICU4C and CodePointMapData + /// + /// See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. + int toIntegerValue() { + final result = _icu4x_IndicConjunctBreak_to_integer_value_mv1(index); + return result; + } + + /// Convert from an integer value from ICU4C or CodePointMapData + /// + /// See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. + static IndicConjunctBreak? fromIntegerValue(int other) { + final result = _icu4x_IndicConjunctBreak_from_integer_value_mv1(other); + if (!result.isOk) { + return null; + } + return IndicConjunctBreak.values[result.union.ok]; + } +} + +@_DiplomatFfiUse('icu4x_IndicConjunctBreak_for_char_mv1') +@ffi.Native(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_for_char_mv1') +// ignore: non_constant_identifier_names +external int _icu4x_IndicConjunctBreak_for_char_mv1(Rune ch); + +@_DiplomatFfiUse('icu4x_IndicConjunctBreak_to_integer_value_mv1') +@ffi.Native(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_to_integer_value_mv1') +// ignore: non_constant_identifier_names +external int _icu4x_IndicConjunctBreak_to_integer_value_mv1(int self); + +@_DiplomatFfiUse('icu4x_IndicConjunctBreak_from_integer_value_mv1') +@ffi.Native<_ResultInt32Void Function(ffi.Uint8)>(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_from_integer_value_mv1') +// ignore: non_constant_identifier_names +external _ResultInt32Void _icu4x_IndicConjunctBreak_from_integer_value_mv1(int other); + +// dart format on diff --git a/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart b/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart index 9e72c5b0fb8..42f5ba44267 100644 --- a/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart +++ b/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart @@ -135,6 +135,27 @@ final class PropertyValueNameToEnumMapper implements ffi.Finalizable { return PropertyValueNameToEnumMapper._fromFfi(result.union.ok, []); } + /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. + /// + /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + factory PropertyValueNameToEnumMapper.indicConjunctBreak() { + final result = _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); + return PropertyValueNameToEnumMapper._fromFfi(result, []); + } + + /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. + /// + /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + /// + /// Throws [DataError] on failure. + factory PropertyValueNameToEnumMapper.indicConjunctBreakWithProvider(DataProvider provider) { + final result = _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(provider._ffi); + if (!result.isOk) { + throw DataError.values[result.union.err]; + } + return PropertyValueNameToEnumMapper._fromFfi(result.union.ok, []); + } + /// Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. /// /// See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicSyllabicCategory.html) for more information. @@ -338,6 +359,16 @@ external ffi.Pointer _icu4x_PropertyValueNameToEnumMapper_create_bid // ignore: non_constant_identifier_names external _ResultOpaqueInt32 _icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(ffi.Pointer provider); +@_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1') +@ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1') +// ignore: non_constant_identifier_names +external ffi.Pointer _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); + +@_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1') +@ffi.Native<_ResultOpaqueInt32 Function(ffi.Pointer)>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1') +// ignore: non_constant_identifier_names +external _ResultOpaqueInt32 _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(ffi.Pointer provider); + @_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1') @ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1') // ignore: non_constant_identifier_names diff --git a/ffi/capi/bindings/dart/lib.g.dart b/ffi/capi/bindings/dart/lib.g.dart index 88fdefba756..088760b3cae 100644 --- a/ffi/capi/bindings/dart/lib.g.dart +++ b/ffi/capi/bindings/dart/lib.g.dart @@ -85,6 +85,7 @@ part 'GraphemeClusterSegmenter.g.dart'; part 'HangulSyllableType.g.dart'; part 'IanaParser.g.dart'; part 'IanaParserExtended.g.dart'; +part 'IndicConjunctBreak.g.dart'; part 'IndicSyllabicCategory.g.dart'; part 'IsoDate.g.dart'; part 'IsoDateTime.g.dart'; diff --git a/ffi/capi/bindings/js/CodePointMapData8.d.ts b/ffi/capi/bindings/js/CodePointMapData8.d.ts index 2ba2e6f1ff8..dd3a96e69fd 100644 --- a/ffi/capi/bindings/js/CodePointMapData8.d.ts +++ b/ffi/capi/bindings/js/CodePointMapData8.d.ts @@ -123,6 +123,20 @@ export class CodePointMapData8 { */ static createHangulSyllableTypeWithProvider(provider: DataProvider): CodePointMapData8; + /** + * Create a map for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreak(): CodePointMapData8; + + /** + * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreakWithProvider(provider: DataProvider): CodePointMapData8; + /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/js/CodePointMapData8.mjs b/ffi/capi/bindings/js/CodePointMapData8.mjs index 71a67b7e269..d5d42225b49 100644 --- a/ffi/capi/bindings/js/CodePointMapData8.mjs +++ b/ffi/capi/bindings/js/CodePointMapData8.mjs @@ -299,6 +299,44 @@ export class CodePointMapData8 { } } + /** + * Create a map for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreak() { + const result = wasm.icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); + + try { + return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); + } + + finally {} + } + + /** + * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreakWithProvider(provider) { + const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); + + const result = wasm.icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); + + try { + if (!diplomatReceive.resultFlag) { + const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); + throw new globalThis.Error('DataError: ' + cause.value, { cause }); + } + return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); + } + + finally { + diplomatReceive.free(); + } + } + /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/js/IndicConjunctBreak.d.ts b/ffi/capi/bindings/js/IndicConjunctBreak.d.ts new file mode 100644 index 00000000000..ab575c0807a --- /dev/null +++ b/ffi/capi/bindings/js/IndicConjunctBreak.d.ts @@ -0,0 +1,44 @@ +// generated by diplomat-tool +import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; + + +/** + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + + +export class IndicConjunctBreak { + + + static fromValue(value : IndicConjunctBreak | string) : IndicConjunctBreak; + + get value() : string; + + get ffiValue() : number; + + static None : IndicConjunctBreak; + static Consonant : IndicConjunctBreak; + static Extend : IndicConjunctBreak; + static Linker : IndicConjunctBreak; + + /** + * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. + */ + static forChar(ch: codepoint): IndicConjunctBreak; + + /** + * Convert to an integer value usable with ICU4C and CodePointMapData + * + * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. + */ + toIntegerValue(): number; + + /** + * Convert from an integer value from ICU4C or CodePointMapData + * + * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. + */ + static fromIntegerValue(other: number): IndicConjunctBreak | null; + + constructor(value: IndicConjunctBreak | string ); +} \ No newline at end of file diff --git a/ffi/capi/bindings/js/IndicConjunctBreak.mjs b/ffi/capi/bindings/js/IndicConjunctBreak.mjs new file mode 100644 index 00000000000..f103d139bb4 --- /dev/null +++ b/ffi/capi/bindings/js/IndicConjunctBreak.mjs @@ -0,0 +1,127 @@ +// generated by diplomat-tool +import wasm from "./diplomat-wasm.mjs"; +import * as diplomatRuntime from "./diplomat-runtime.mjs"; + + +/** + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. + */ + + +export class IndicConjunctBreak { + + #value = undefined; + + static #values = new Map([ + ["None", 0], + ["Consonant", 1], + ["Extend", 2], + ["Linker", 3] + ]); + + static getAllEntries() { + return IndicConjunctBreak.#values.entries(); + } + + #internalConstructor(value) { + if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) { + // We pass in two internalConstructor arguments to create *new* + // instances of this type, otherwise the enums are treated as singletons. + if (arguments[1] === diplomatRuntime.internalConstructor ) { + this.#value = arguments[2]; + return this; + } + return IndicConjunctBreak.#objectValues[arguments[1]]; + } + + if (value instanceof IndicConjunctBreak) { + return value; + } + + let intVal = IndicConjunctBreak.#values.get(value); + + // Nullish check, checks for null or undefined + if (intVal != null) { + return IndicConjunctBreak.#objectValues[intVal]; + } + + throw TypeError(value + " is not a IndicConjunctBreak and does not correspond to any of its enumerator values."); + } + + static fromValue(value) { + return new IndicConjunctBreak(value); + } + + get value() { + return [...IndicConjunctBreak.#values.keys()][this.#value]; + } + + get ffiValue() { + return this.#value; + } + static #objectValues = [ + new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0), + new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1), + new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2), + new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3), + ]; + + static None = IndicConjunctBreak.#objectValues[0]; + static Consonant = IndicConjunctBreak.#objectValues[1]; + static Extend = IndicConjunctBreak.#objectValues[2]; + static Linker = IndicConjunctBreak.#objectValues[3]; + + /** + * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. + */ + static forChar(ch) { + const result = wasm.icu4x_IndicConjunctBreak_for_char_mv1(ch); + + try { + return new IndicConjunctBreak(diplomatRuntime.internalConstructor, result); + } + + finally {} + } + + /** + * Convert to an integer value usable with ICU4C and CodePointMapData + * + * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. + */ + toIntegerValue() { + const result = wasm.icu4x_IndicConjunctBreak_to_integer_value_mv1(this.ffiValue); + + try { + return result; + } + + finally {} + } + + /** + * Convert from an integer value from ICU4C or CodePointMapData + * + * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. + */ + static fromIntegerValue(other) { + const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); + + const result = wasm.icu4x_IndicConjunctBreak_from_integer_value_mv1(diplomatReceive.buffer, other); + + try { + if (!diplomatReceive.resultFlag) { + return null; + } + return new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); + } + + finally { + diplomatReceive.free(); + } + } + + constructor(value) { + return this.#internalConstructor(...arguments) + } +} \ No newline at end of file diff --git a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts index 354e7e22c89..195ac017c26 100644 --- a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts +++ b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts @@ -93,6 +93,20 @@ export class PropertyValueNameToEnumMapper { */ static createBidiClassWithProvider(provider: DataProvider): PropertyValueNameToEnumMapper; + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreak(): PropertyValueNameToEnumMapper; + + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreakWithProvider(provider: DataProvider): PropertyValueNameToEnumMapper; + /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs index c35d19fd23e..81dad2a3fc2 100644 --- a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs +++ b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs @@ -245,6 +245,44 @@ export class PropertyValueNameToEnumMapper { } } + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreak() { + const result = wasm.icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); + + try { + return new PropertyValueNameToEnumMapper(diplomatRuntime.internalConstructor, result, []); + } + + finally {} + } + + /** + * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. + * + * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. + */ + static createIndicConjunctBreakWithProvider(provider) { + const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); + + const result = wasm.icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); + + try { + if (!diplomatReceive.resultFlag) { + const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); + throw new globalThis.Error('DataError: ' + cause.value, { cause }); + } + return new PropertyValueNameToEnumMapper(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); + } + + finally { + diplomatReceive.free(); + } + } + /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/bindings/js/index.d.ts b/ffi/capi/bindings/js/index.d.ts index 9da115b2dba..401f73ba15e 100644 --- a/ffi/capi/bindings/js/index.d.ts +++ b/ffi/capi/bindings/js/index.d.ts @@ -306,6 +306,8 @@ export { GraphemeClusterBreak } from "./GraphemeClusterBreak" export { HangulSyllableType } from "./HangulSyllableType" +export { IndicConjunctBreak } from "./IndicConjunctBreak" + export { IndicSyllabicCategory } from "./IndicSyllabicCategory" export { JoiningType } from "./JoiningType" diff --git a/ffi/capi/bindings/js/index.mjs b/ffi/capi/bindings/js/index.mjs index 7fe4ae69c10..54e86e24bfc 100644 --- a/ffi/capi/bindings/js/index.mjs +++ b/ffi/capi/bindings/js/index.mjs @@ -304,6 +304,8 @@ export { GraphemeClusterBreak } from "./GraphemeClusterBreak.mjs" export { HangulSyllableType } from "./HangulSyllableType.mjs" +export { IndicConjunctBreak } from "./IndicConjunctBreak.mjs" + export { IndicSyllabicCategory } from "./IndicSyllabicCategory.mjs" export { JoiningType } from "./JoiningType.mjs" diff --git a/ffi/capi/src/properties_enums.rs b/ffi/capi/src/properties_enums.rs index 3d28087e98d..489f6eedcbd 100644 --- a/ffi/capi/src/properties_enums.rs +++ b/ffi/capi/src/properties_enums.rs @@ -1568,6 +1568,51 @@ pub mod ffi { } } + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] + #[diplomat::enum_convert(icu_properties::props::IndicConjunctBreak, needs_wildcard)] + pub enum IndicConjunctBreak { + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::None, EnumVariant)] + None = 0, + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Consonant, EnumVariant)] + Consonant = 1, + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Extend, EnumVariant)] + Extend = 2, + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Linker, EnumVariant)] + Linker = 3, + } + + impl IndicConjunctBreak { + #[diplomat::rust_link(icu::properties::props::EnumeratedProperty::for_char, FnInTrait)] + #[cfg(feature = "compiled_data")] + pub fn for_char(ch: DiplomatChar) -> Self { + icu_properties::CodePointMapData::::new() + .get32(ch) + .into() + } + #[diplomat::rust_link( + icu::properties::props::IndicConjunctBreak::to_icu4c_value, + FnInStruct + )] + /// Convert to an integer value usable with ICU4C and CodePointMapData + pub fn to_integer_value(self) -> u8 { + self as u8 + } + #[diplomat::rust_link( + icu::properties::props::IndicConjunctBreak::from_icu4c_value, + FnInStruct + )] + /// Convert from an integer value from ICU4C or CodePointMapData + pub fn from_integer_value(other: u8) -> Option { + Some(match other { + 0 => Self::None, + 1 => Self::Consonant, + 2 => Self::Extend, + 3 => Self::Linker, + _ => return None, + }) + } + } + #[diplomat::rust_link(icu::properties::props::IndicSyllabicCategory, Struct)] #[diplomat::enum_convert(icu_properties::props::IndicSyllabicCategory, needs_wildcard)] pub enum IndicSyllabicCategory { diff --git a/ffi/capi/src/properties_maps.rs b/ffi/capi/src/properties_maps.rs index b590f564e7d..918c5a0b22d 100644 --- a/ffi/capi/src/properties_maps.rs +++ b/ffi/capi/src/properties_maps.rs @@ -10,8 +10,8 @@ pub mod ffi { #[cfg(any(feature = "compiled_data", feature = "buffer_provider"))] use icu_properties::props::{ BidiClass, CanonicalCombiningClass, EastAsianWidth, GeneralCategory, GraphemeClusterBreak, - HangulSyllableType, IndicSyllabicCategory, JoiningType, LineBreak, Script, SentenceBreak, - VerticalOrientation, WordBreak, + HangulSyllableType, IndicConjunctBreak, IndicSyllabicCategory, JoiningType, LineBreak, + Script, SentenceBreak, VerticalOrientation, WordBreak, }; use crate::properties_enums::ffi::GeneralCategoryGroup; @@ -207,6 +207,28 @@ pub mod ffi { &provider.get_unstable()? )?)) } + /// Create a map for the `Indic_Conjunct_Break` property, using compiled data. + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] + #[diplomat::attr(auto, named_constructor = "indic_conjunct_break")] + #[cfg(feature = "compiled_data")] + pub fn create_indic_conjunct_break() -> Box { + convert_8( + icu_properties::CodePointMapData::::new().static_to_owned(), + ) + } + /// Create a map for the `Indic_Conjunct_Break` property, using a particular data source. + #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] + #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors), named_constructor = "indic_conjunct_break_with_provider")] + #[cfg(feature = "buffer_provider")] + pub fn create_indic_conjunct_break_with_provider( + provider: &DataProvider, + ) -> Result, DataError> { + Ok(convert_8(icu_properties::CodePointMapData::< + IndicConjunctBreak, + >::try_new_unstable( + &provider.get_unstable()? + )?)) + } /// Create a map for the `Indic_Syllabic_Property` property, using compiled data. #[diplomat::rust_link(icu::properties::props::IndicSyllabicCategory, Struct)] #[diplomat::attr(auto, named_constructor = "indic_syllabic_category")] diff --git a/ffi/capi/src/properties_names.rs b/ffi/capi/src/properties_names.rs index 87df5f6ffc7..9f343cebfaa 100644 --- a/ffi/capi/src/properties_names.rs +++ b/ffi/capi/src/properties_names.rs @@ -164,6 +164,31 @@ pub mod ffi { .erase(), ))) } + /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. + #[diplomat::rust_link(icu_properties::props::IndicConjunctBreak, Struct)] + #[diplomat::attr(auto, named_constructor = "indic_conjunct_break")] + #[cfg(feature = "compiled_data")] + pub fn create_indic_conjunct_break() -> Box { + Box::new(PropertyValueNameToEnumMapper(icu_properties::PropertyParser::::new().static_to_owned().erase())) + } + /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. + #[diplomat::rust_link(icu_properties::props::IndicConjunctBreak, Struct)] + #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors), named_constructor = "indic_conjunct_break_with_provider")] + #[cfg(feature = "buffer_provider")] + pub fn create_indic_conjunct_break_with_provider( + provider: &DataProvider, + ) -> Result, DataError> { + Ok( + Box::new( + PropertyValueNameToEnumMapper( + icu_properties::PropertyParser::< + icu_properties::props::IndicConjunctBreak, + >::try_new_unstable(&provider.get_unstable()?)? + .erase(), + ), + ), + ) + } /// Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. #[diplomat::rust_link(icu_properties::props::IndicSyllabicCategory, Struct)] #[diplomat::attr(auto, named_constructor = "indic_syllabic_category")] diff --git a/provider/data/properties/data/mod.rs b/provider/data/properties/data/mod.rs index 167449dedd9..c5b40ba8a7e 100644 --- a/provider/data/properties/data/mod.rs +++ b/provider/data/properties/data/mod.rs @@ -56,6 +56,7 @@ include!("property_binary_variation_selector_v1.rs.data"); include!("property_enum_word_break_v1.rs.data"); include!("property_name_short_east_asian_width_v1.rs.data"); include!("property_name_short_sentence_break_v1.rs.data"); +include!("property_name_short_indic_conjunct_break_v1.rs.data"); include!("property_name_long_bidi_class_v1.rs.data"); include!("property_binary_prepended_concatenation_mark_v1.rs.data"); include!("property_name_short_joining_type_v1.rs.data"); @@ -85,11 +86,13 @@ include!("property_name_long_word_break_v1.rs.data"); include!("property_binary_changes_when_titlecased_v1.rs.data"); include!("property_enum_bidi_class_v1.rs.data"); include!("property_binary_sentence_terminal_v1.rs.data"); +include!("property_enum_indic_conjunct_break_v1.rs.data"); include!("property_name_long_general_category_v1.rs.data"); include!("property_binary_ascii_hex_digit_v1.rs.data"); include!("property_enum_line_break_v1.rs.data"); include!("property_enum_east_asian_width_v1.rs.data"); include!("property_name_parse_grapheme_cluster_break_v1.rs.data"); +include!("property_name_parse_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_general_category_v1.rs.data"); include!("property_binary_logical_order_exception_v1.rs.data"); include!("property_binary_case_ignorable_v1.rs.data"); @@ -98,6 +101,7 @@ include!("property_binary_grapheme_extend_v1.rs.data"); include!("property_enum_bidi_mirroring_glyph_v1.rs.data"); include!("property_name_parse_general_category_mask_v1.rs.data"); include!("property_binary_nfc_inert_v1.rs.data"); +include!("property_name_long_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_script_v1.rs.data"); include!("property_binary_lowercase_v1.rs.data"); include!("property_name_long_joining_type_v1.rs.data"); @@ -206,6 +210,7 @@ macro_rules! impl_data_provider { impl_property_enum_word_break_v1!($provider); impl_property_name_short_east_asian_width_v1!($provider); impl_property_name_short_sentence_break_v1!($provider); + impl_property_name_short_indic_conjunct_break_v1!($provider); impl_property_name_long_bidi_class_v1!($provider); impl_property_binary_prepended_concatenation_mark_v1!($provider); impl_property_name_short_joining_type_v1!($provider); @@ -235,11 +240,13 @@ macro_rules! impl_data_provider { impl_property_binary_changes_when_titlecased_v1!($provider); impl_property_enum_bidi_class_v1!($provider); impl_property_binary_sentence_terminal_v1!($provider); + impl_property_enum_indic_conjunct_break_v1!($provider); impl_property_name_long_general_category_v1!($provider); impl_property_binary_ascii_hex_digit_v1!($provider); impl_property_enum_line_break_v1!($provider); impl_property_enum_east_asian_width_v1!($provider); impl_property_name_parse_grapheme_cluster_break_v1!($provider); + impl_property_name_parse_indic_conjunct_break_v1!($provider); impl_property_name_parse_general_category_v1!($provider); impl_property_binary_logical_order_exception_v1!($provider); impl_property_binary_case_ignorable_v1!($provider); @@ -248,6 +255,7 @@ macro_rules! impl_data_provider { impl_property_enum_bidi_mirroring_glyph_v1!($provider); impl_property_name_parse_general_category_mask_v1!($provider); impl_property_binary_nfc_inert_v1!($provider); + impl_property_name_long_indic_conjunct_break_v1!($provider); impl_property_name_parse_script_v1!($provider); impl_property_binary_lowercase_v1!($provider); impl_property_name_long_joining_type_v1!($provider); diff --git a/provider/data/properties/data/property_enum_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_enum_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..d58f355fc5c --- /dev/null +++ b/provider/data/properties/data/property_enum_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 6724B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_enum_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_ENUM_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::PropertyCodePointMap::CodePointTrie(icu::collections::codepointtrie::CodePointTrie::from_parts(icu::collections::codepointtrie::CodePointTrieHeader { high_start: 918016u32, shifted12_high_start: 225u16, index3_null_offset: 383u16, data_null_offset: 0u32, null_value: 0u32, trie_type: icu::collections::codepointtrie::TrieType::Small }, unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x90\0\0\0\0\0\0\0\0\0\xCD\0\0\0\0\0\0\0\xFC\0:\x01j\x01\x9F\x01\0\0\xD0\x01\xFF\x014\x02T\x01I\x02\x87\x02\xB5\x02\xDE\x02\x14\x03Q\x03\x90\x03\xD0\x03\x0F\x04N\x04\x8D\x04\xCC\x04\x0B\x05K\x05\x88\x05\xC6\x05\x04\x06D\x06\x83\x06\xC2\x06\x01\x07A\x07\x80\x07\xBF\x07\xF5\x07\x15\x08P\x08_\x08\xC8\0\x9C\x08\xD6\x08\x10\t\xC2\x05\xD6\x05\xEF\x05\xFC\x05\x12\x062\x06M\x06e\x06\x84\x06\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xA4\x06\0\0\x10\0 \x000\0@\0P\0`\0p\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\x80\0\x90\0\xA0\0\xB0\0\x90\0\xA0\0\xB0\0\xC0\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\xCD\0\xDD\0\xED\0\xFD\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\xFC\0\x0C\x01\x1C\x01,\x01:\x01J\x01Z\x01j\x01z\x01\x8A\x01\x9A\x01\x9F\x01\xAF\x01\xBF\x01\xCF\x01\0\0\x10\0 \x000\0\xD0\x01\xE0\x01\xF0\x01\0\x02\xFF\x01\x0F\x02\x1F\x02/\x024\x02D\x02T\x02d\x02T\x01d\x01t\x01\x84\x01I\x02Y\x02i\x02y\x02\x87\x02\x97\x02\xA7\x02\xB7\x02\xB5\x02\xC5\x02\xD5\x02\xE5\x02\xDE\x02\xEE\x02\xFE\x02\x0E\x03\x14\x03$\x034\x03D\x03Q\x03a\x03q\x03\x81\x03\x90\x03\xA0\x03\xB0\x03\xC0\x03\xD0\x03\xE0\x03\xF0\x03\0\x04\x0F\x04\x1F\x04/\x04?\x04N\x04^\x04n\x04~\x04\x8D\x04\x9D\x04\xAD\x04\xBD\x04\xCC\x04\xDC\x04\xEC\x04\xFC\x04\x0B\x05\x1B\x05+\x05;\x05K\x05[\x05k\x05{\x05\x88\x05\x98\x05\xA8\x05\xB8\x05\xC6\x05\xD6\x05\xE6\x05\xF6\x05\x04\x06\x14\x06$\x064\x06D\x06T\x06d\x06t\x06\x83\x06\x93\x06\xA3\x06\xB3\x06\xC2\x06\xD2\x06\xE2\x06\xF2\x06\x01\x07\x11\x07!\x071\x07A\x07Q\x07a\x07q\x07\x80\x07\x90\x07\xA0\x07\xB0\x07\xBF\x07\xCF\x07\xDF\x07\xEF\x07\xF5\x07\x05\x08\x15\x08%\x085\x08E\x08P\x08`\x08p\x08\x80\x08_\x08o\x08\x7F\x08\x8F\x08\xC8\0\xD8\0\xE8\0\xF8\0\x9C\x08\xAC\x08\xBC\x08\xCC\x08\xD6\x08\xE6\x08\xF6\x08\x06\t\x10\t \t0\t@\t\xC2\x05\xD2\x05\xE2\x05\xF2\x05\0\0\0\0s\0P\t\0\0_\t\xBF\0\xF9\x01o\t\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0}\t\0\0\xCC\x02\0\0\xB0\x03\0\0\xB0\x03\0\0\0\0\0\0\x89\t@\x08y\x02\0\0\0\0\x97\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC8\x04\0\0\xC6\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xA6\t\xB4\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC0\t\0\0\0\0\0\0\xCC\t\xDA\t\xE7\t\0\0\0\0\0\0\x80\0\xB1\0\0\0\0\0\0\0\xBC\0\0\0\0\0\xF7\t\xCC\x02\0\0u\0\xBC\0\xBE\0\0\0\x05\n\0\0\0\0\0\0\x13\n\xBC\0\0\0\0\0t\0\"\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x003\x032\n;\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\0\0\0\0v\0\0\0\0\0\0\0\0\0\0\0\0\0\xC4\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0K\n\0\0r\0\0\0\0\0\0\0\0\0\0\0\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y\n\0\0e\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC9\x04\0\0\x80\0u\n\0\0\0\0Q\x08\0\0y\0>\x01\0\0\0\0\xBD\0\0\0\0\0\x81\n\xBF\0\0\0\xCA\x01\0\0\0\0\x8F\n\x9E\n\xAB\n\0\0\0\0\xC3\x01\0\0\0\0\0\0\xBB\n@\x01\0\0\xB1\x04\xC9\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xCB\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC1\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xD9\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xE8\n\0\0\0\0\xF8\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC8\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xF0\n\0\0\0\0\0\0\x08\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB2\x04\0\0\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0z\0\xBF\0\0\0\0\0}\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\x01\0\0\0\0x\0\xB9\0\0\0\0\0\x15\x0B\xBE\0\0\0\0\0!\x0B\xCD\x01\0\0\0\0\0\0\xBD\0\0\0,\x0B\xBB\0\0\0\0\0\0\0\xCC\x01\xBE\0\0\0\0\0n\x02;\x0B\0\0\0\0\0\0q\0F\x0B@\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0T\x08\0\0\xBE\0\0\0\0\0U\x0B\x04\x06\xC8\x01\xCA\0\xBB\0\0\0\0\0\0\0>\x08a\x0B?\x01\xB1\x03\0\0\0\0\0\0x\0m\x0B\xC1\x01\0\0\0\0\0\0\0\0\0\0}\x0BM\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\x8D\x0B\xBF\0\xB1\x04\0\0\0\0\0\0\x9D\x0B\xBF\0\0\0\0\0\0\0\0\0\0\0\xAD\x0B\xB8\0\0\0\0\0\0\0\0\0\0\0\xC4\x08\xBB\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\r\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x19\x0B\xCC\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \x0B\xBF\0\0\0\xCA\x0B\0\0\0\0\xD7\x0B\xC8\x01\xE6\x0B\0\0\0\0v\0\xF6\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x0C\0\0\0\0\0\0\0\0\0\0~\0\x15\x0C$\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\x003\x0CE\x05\0\0\0\0\0\0\0\0B\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xCA\x04\xBE\0\0\0\0\0\xD9\n\xBD\0\xC5\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0R\x0C\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0Y\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xBB\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0q\0\xBD\0\0\0\0\0\0\0\0\0\xCB\x01\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\xB2\0\x80\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x0Cv\x0C\x83\x0C\0\0\x1A\x0B\0\0\0\0\0\0\0\0\0\0\xCC\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x88\x0C\x80\0\x80\0\xB3\0\xCA\x01\xCB\x01u\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0/\x03\x93\x0C\xA1\x0C\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC1\x01\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\xCC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0u\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\0\0y\0\x89\0\xA1\0\xC0\0\xE0\0\0\x01 \x01>\x01^\x01i\x01\x7F\x01\x8E\x01\xAE\x01\xCD\x01\xED\x01\x7F\x01\r\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x1F\x02\x7F\x01?\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01Y\x02y\x02\x98\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB7\x02\x7F\x01\xD7\x02\xF1\x02\x11\x03\x7F\x01\x7F\x01\x7F\x011\x03@\x03W\x03w\x03\x95\x03\xB4\x03\xD2\x03\xF0\x03\x10\x04-\x04G\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01c\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01r\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x85\x04\x7F\x01\x99\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB9\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xC9\x04\xDE\x04\xFA\x04\x7F\x01\x7F\x01\x7F\x01\x1A\x05\x7F\x01\x7F\x01:\x05P\x05b\x05\x7F\x01\x81\x05\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x96\x05\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB6\x05") }, unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\0\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x03\0\0\0\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x02\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x01\x01\0\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\x02\x02\0\0\x02\x02\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x02\0\0\0\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x02\x02\x02\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\x01\x01\0\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\x03\0\0\0\0\0\0\0\x02\x02\0\x01\x01\x01\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\0\x02\0\0\0\x02\x02\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x02\0\0\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\x02\x02\0\0\x02\0\0\x02\x02\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\0\0\0\0\x02\x02\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\0\0\x02\0\0\0\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\x02\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\x02\0\x02\x02\0\0\0\x02\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\0\0\x02\0\0\0\0\x02\0\0\0\0\0\x02\x02\0\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\x02\x02\0\0\0\0\0\x02\0\0\x02\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\0\0\0\x02\x02\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\x02\0\0\x02\0\x02\x02\x02\0\0\0\0\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\0\x02\0\0\x02\0\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\x02\x02\0\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\0\0\x02\0\x02\x02\0\x02\x02\0\0\0\x02\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\0\0") }, icu::properties::props::IndicConjunctBreak(0u8))); + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_ENUM_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_enum_indic_conjunct_break_v1 as impl_property_enum_indic_conjunct_break_v1; diff --git a/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..1a064305daa --- /dev/null +++ b/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 30B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_long_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_long_indic_conjunct_break_v1 as impl_property_name_long_indic_conjunct_break_v1; diff --git a/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..d4f300a374e --- /dev/null +++ b/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 29B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_parse_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyValueNameToEnumMap { map: zerotrie::ZeroTrieSimpleAscii { store: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"None\x80") } } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_parse_indic_conjunct_break_v1 as impl_property_name_parse_indic_conjunct_break_v1; diff --git a/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..3f0d5b5737e --- /dev/null +++ b/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 30B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_short_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_short_indic_conjunct_break_v1 as impl_property_name_short_indic_conjunct_break_v1; diff --git a/provider/data/properties/fingerprints.csv b/provider/data/properties/fingerprints.csv index 5a7313c4682..b128eca776c 100644 --- a/provider/data/properties/fingerprints.csv +++ b/provider/data/properties/fingerprints.csv @@ -71,6 +71,7 @@ property/enum/east/asian/width/v1, , 5028B, 4971B, cbe33fdd284572e5 property/enum/general/category/v1, , 17572B, 17516B, fa8858c0d81ead14 property/enum/grapheme/cluster/break/v1, , 7840B, 7783B, bd0d2d3da35038da property/enum/hangul/syllable/type/v1, , 888B, 829B, 67c6d3aaab48ff19 +property/enum/indic/conjunct/break/v1, , 6724B, 6667B, 855285c232bd1220 property/enum/indic/syllabic/category/v1, , 6248B, 6189B, c10d1f8e12ae80ea property/enum/joining/type/v1, , 7072B, 7015B, dff64b1d9027a0e6 property/enum/line/break/v1, , 15284B, 15228B, ec2f73fe17e5fb1c @@ -84,6 +85,7 @@ property/name/long/east/asian/width/v1, , 80B, 57B, 9444c688fd2242aa property/name/long/general/category/v1, , 506B, 484B, ff6477ec3729edf4 property/name/long/grapheme/cluster/break/v1, , 169B, 147B, 882e84c4c5082a5a property/name/long/hangul/syllable/type/v1, , 108B, 85B, 739628a2dc2347a5 +property/name/long/indic/conjunct/break/v1, , 30B, 7B, 66137b8202e0a8b4 property/name/long/indic/syllabic/category/v1, , 622B, 600B, 9664fa6930864c55 property/name/long/joining/type/v1, , 107B, 84B, 67264eb9f128eed3 property/name/long/line/break/v1, , 616B, 594B, 5d261982131cd276 @@ -98,6 +100,7 @@ property/name/parse/general/category/mask/v1, , 744B, 723B, a0acd137d property/name/parse/general/category/v1, , 619B, 598B, fc71812cb4e744a7 property/name/parse/grapheme/cluster/break/v1, , 194B, 173B, 723a51eaaf05233e property/name/parse/hangul/syllable/type/v1, , 116B, 94B, 70df5ae746d5b32f +property/name/parse/indic/conjunct/break/v1, , 29B, 7B, 4f20af0967ec939 property/name/parse/indic/syllabic/category/v1, , 510B, 489B, 543dd0a1fa40fe58 property/name/parse/joining/type/v1, , 117B, 95B, 4a919456a9260ca7 property/name/parse/line/break/v1, , 780B, 759B, e8e1cfec25a22d9f @@ -111,6 +114,7 @@ property/name/short/east/asian/width/v1, , 43B, 20B, d949f2e523fb2e7d property/name/short/general/category/v1, , 144B, 121B, 5459db34538b2181 property/name/short/grapheme/cluster/break/v1, , 97B, 74B, 690edf19931f003f property/name/short/hangul/syllable/type/v1, , 46B, 23B, 7b01686176b2ed0a +property/name/short/indic/conjunct/break/v1, , 30B, 7B, 66137b8202e0a8b4 property/name/short/indic/syllabic/category/v1, , 622B, 600B, 9664fa6930864c55 property/name/short/joining/type/v1, , 42B, 19B, 162afda01b84cd1f property/name/short/line/break/v1, , 217B, 195B, cdf91c5f64c791b1 diff --git a/provider/data/properties/stubdata/mod.rs b/provider/data/properties/stubdata/mod.rs index 167449dedd9..c5b40ba8a7e 100644 --- a/provider/data/properties/stubdata/mod.rs +++ b/provider/data/properties/stubdata/mod.rs @@ -56,6 +56,7 @@ include!("property_binary_variation_selector_v1.rs.data"); include!("property_enum_word_break_v1.rs.data"); include!("property_name_short_east_asian_width_v1.rs.data"); include!("property_name_short_sentence_break_v1.rs.data"); +include!("property_name_short_indic_conjunct_break_v1.rs.data"); include!("property_name_long_bidi_class_v1.rs.data"); include!("property_binary_prepended_concatenation_mark_v1.rs.data"); include!("property_name_short_joining_type_v1.rs.data"); @@ -85,11 +86,13 @@ include!("property_name_long_word_break_v1.rs.data"); include!("property_binary_changes_when_titlecased_v1.rs.data"); include!("property_enum_bidi_class_v1.rs.data"); include!("property_binary_sentence_terminal_v1.rs.data"); +include!("property_enum_indic_conjunct_break_v1.rs.data"); include!("property_name_long_general_category_v1.rs.data"); include!("property_binary_ascii_hex_digit_v1.rs.data"); include!("property_enum_line_break_v1.rs.data"); include!("property_enum_east_asian_width_v1.rs.data"); include!("property_name_parse_grapheme_cluster_break_v1.rs.data"); +include!("property_name_parse_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_general_category_v1.rs.data"); include!("property_binary_logical_order_exception_v1.rs.data"); include!("property_binary_case_ignorable_v1.rs.data"); @@ -98,6 +101,7 @@ include!("property_binary_grapheme_extend_v1.rs.data"); include!("property_enum_bidi_mirroring_glyph_v1.rs.data"); include!("property_name_parse_general_category_mask_v1.rs.data"); include!("property_binary_nfc_inert_v1.rs.data"); +include!("property_name_long_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_script_v1.rs.data"); include!("property_binary_lowercase_v1.rs.data"); include!("property_name_long_joining_type_v1.rs.data"); @@ -206,6 +210,7 @@ macro_rules! impl_data_provider { impl_property_enum_word_break_v1!($provider); impl_property_name_short_east_asian_width_v1!($provider); impl_property_name_short_sentence_break_v1!($provider); + impl_property_name_short_indic_conjunct_break_v1!($provider); impl_property_name_long_bidi_class_v1!($provider); impl_property_binary_prepended_concatenation_mark_v1!($provider); impl_property_name_short_joining_type_v1!($provider); @@ -235,11 +240,13 @@ macro_rules! impl_data_provider { impl_property_binary_changes_when_titlecased_v1!($provider); impl_property_enum_bidi_class_v1!($provider); impl_property_binary_sentence_terminal_v1!($provider); + impl_property_enum_indic_conjunct_break_v1!($provider); impl_property_name_long_general_category_v1!($provider); impl_property_binary_ascii_hex_digit_v1!($provider); impl_property_enum_line_break_v1!($provider); impl_property_enum_east_asian_width_v1!($provider); impl_property_name_parse_grapheme_cluster_break_v1!($provider); + impl_property_name_parse_indic_conjunct_break_v1!($provider); impl_property_name_parse_general_category_v1!($provider); impl_property_binary_logical_order_exception_v1!($provider); impl_property_binary_case_ignorable_v1!($provider); @@ -248,6 +255,7 @@ macro_rules! impl_data_provider { impl_property_enum_bidi_mirroring_glyph_v1!($provider); impl_property_name_parse_general_category_mask_v1!($provider); impl_property_binary_nfc_inert_v1!($provider); + impl_property_name_long_indic_conjunct_break_v1!($provider); impl_property_name_parse_script_v1!($provider); impl_property_binary_lowercase_v1!($provider); impl_property_name_long_joining_type_v1!($provider); diff --git a/provider/data/properties/stubdata/property_enum_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_enum_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..d58f355fc5c --- /dev/null +++ b/provider/data/properties/stubdata/property_enum_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 6724B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_enum_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_ENUM_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::PropertyCodePointMap::CodePointTrie(icu::collections::codepointtrie::CodePointTrie::from_parts(icu::collections::codepointtrie::CodePointTrieHeader { high_start: 918016u32, shifted12_high_start: 225u16, index3_null_offset: 383u16, data_null_offset: 0u32, null_value: 0u32, trie_type: icu::collections::codepointtrie::TrieType::Small }, unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x90\0\0\0\0\0\0\0\0\0\xCD\0\0\0\0\0\0\0\xFC\0:\x01j\x01\x9F\x01\0\0\xD0\x01\xFF\x014\x02T\x01I\x02\x87\x02\xB5\x02\xDE\x02\x14\x03Q\x03\x90\x03\xD0\x03\x0F\x04N\x04\x8D\x04\xCC\x04\x0B\x05K\x05\x88\x05\xC6\x05\x04\x06D\x06\x83\x06\xC2\x06\x01\x07A\x07\x80\x07\xBF\x07\xF5\x07\x15\x08P\x08_\x08\xC8\0\x9C\x08\xD6\x08\x10\t\xC2\x05\xD6\x05\xEF\x05\xFC\x05\x12\x062\x06M\x06e\x06\x84\x06\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xEF\x05\xA4\x06\0\0\x10\0 \x000\0@\0P\0`\0p\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\x80\0\x90\0\xA0\0\xB0\0\x90\0\xA0\0\xB0\0\xC0\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\xCD\0\xDD\0\xED\0\xFD\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\0\0\x10\0 \x000\0\xFC\0\x0C\x01\x1C\x01,\x01:\x01J\x01Z\x01j\x01z\x01\x8A\x01\x9A\x01\x9F\x01\xAF\x01\xBF\x01\xCF\x01\0\0\x10\0 \x000\0\xD0\x01\xE0\x01\xF0\x01\0\x02\xFF\x01\x0F\x02\x1F\x02/\x024\x02D\x02T\x02d\x02T\x01d\x01t\x01\x84\x01I\x02Y\x02i\x02y\x02\x87\x02\x97\x02\xA7\x02\xB7\x02\xB5\x02\xC5\x02\xD5\x02\xE5\x02\xDE\x02\xEE\x02\xFE\x02\x0E\x03\x14\x03$\x034\x03D\x03Q\x03a\x03q\x03\x81\x03\x90\x03\xA0\x03\xB0\x03\xC0\x03\xD0\x03\xE0\x03\xF0\x03\0\x04\x0F\x04\x1F\x04/\x04?\x04N\x04^\x04n\x04~\x04\x8D\x04\x9D\x04\xAD\x04\xBD\x04\xCC\x04\xDC\x04\xEC\x04\xFC\x04\x0B\x05\x1B\x05+\x05;\x05K\x05[\x05k\x05{\x05\x88\x05\x98\x05\xA8\x05\xB8\x05\xC6\x05\xD6\x05\xE6\x05\xF6\x05\x04\x06\x14\x06$\x064\x06D\x06T\x06d\x06t\x06\x83\x06\x93\x06\xA3\x06\xB3\x06\xC2\x06\xD2\x06\xE2\x06\xF2\x06\x01\x07\x11\x07!\x071\x07A\x07Q\x07a\x07q\x07\x80\x07\x90\x07\xA0\x07\xB0\x07\xBF\x07\xCF\x07\xDF\x07\xEF\x07\xF5\x07\x05\x08\x15\x08%\x085\x08E\x08P\x08`\x08p\x08\x80\x08_\x08o\x08\x7F\x08\x8F\x08\xC8\0\xD8\0\xE8\0\xF8\0\x9C\x08\xAC\x08\xBC\x08\xCC\x08\xD6\x08\xE6\x08\xF6\x08\x06\t\x10\t \t0\t@\t\xC2\x05\xD2\x05\xE2\x05\xF2\x05\0\0\0\0s\0P\t\0\0_\t\xBF\0\xF9\x01o\t\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0}\t\0\0\xCC\x02\0\0\xB0\x03\0\0\xB0\x03\0\0\0\0\0\0\x89\t@\x08y\x02\0\0\0\0\x97\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC8\x04\0\0\xC6\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xA6\t\xB4\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC0\t\0\0\0\0\0\0\xCC\t\xDA\t\xE7\t\0\0\0\0\0\0\x80\0\xB1\0\0\0\0\0\0\0\xBC\0\0\0\0\0\xF7\t\xCC\x02\0\0u\0\xBC\0\xBE\0\0\0\x05\n\0\0\0\0\0\0\x13\n\xBC\0\0\0\0\0t\0\"\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x003\x032\n;\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\0\0\0\0v\0\0\0\0\0\0\0\0\0\0\0\0\0\xC4\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0K\n\0\0r\0\0\0\0\0\0\0\0\0\0\0\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y\n\0\0e\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC9\x04\0\0\x80\0u\n\0\0\0\0Q\x08\0\0y\0>\x01\0\0\0\0\xBD\0\0\0\0\0\x81\n\xBF\0\0\0\xCA\x01\0\0\0\0\x8F\n\x9E\n\xAB\n\0\0\0\0\xC3\x01\0\0\0\0\0\0\xBB\n@\x01\0\0\xB1\x04\xC9\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xCB\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC1\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\0\0\x80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC2\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xD9\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xE8\n\0\0\0\0\xF8\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC8\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xF0\n\0\0\0\0\0\0\x08\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB2\x04\0\0\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0z\0\xBF\0\0\0\0\0}\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\x01\0\0\0\0x\0\xB9\0\0\0\0\0\x15\x0B\xBE\0\0\0\0\0!\x0B\xCD\x01\0\0\0\0\0\0\xBD\0\0\0,\x0B\xBB\0\0\0\0\0\0\0\xCC\x01\xBE\0\0\0\0\0n\x02;\x0B\0\0\0\0\0\0q\0F\x0B@\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0T\x08\0\0\xBE\0\0\0\0\0U\x0B\x04\x06\xC8\x01\xCA\0\xBB\0\0\0\0\0\0\0>\x08a\x0B?\x01\xB1\x03\0\0\0\0\0\0x\0m\x0B\xC1\x01\0\0\0\0\0\0\0\0\0\0}\x0BM\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\x8D\x0B\xBF\0\xB1\x04\0\0\0\0\0\0\x9D\x0B\xBF\0\0\0\0\0\0\0\0\0\0\0\xAD\x0B\xB8\0\0\0\0\0\0\0\0\0\0\0\xC4\x08\xBB\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\r\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x19\x0B\xCC\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \x0B\xBF\0\0\0\xCA\x0B\0\0\0\0\xD7\x0B\xC8\x01\xE6\x0B\0\0\0\0v\0\xF6\x0B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x06\x0C\0\0\0\0\0\0\0\0\0\0~\0\x15\x0C$\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\x003\x0CE\x05\0\0\0\0\0\0\0\0B\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xCA\x04\xBE\0\0\0\0\0\xD9\n\xBD\0\xC5\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0R\x0C\xBA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0Y\x0C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xBB\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0q\0\xBD\0\0\0\0\0\0\0\0\0\xCB\x01\xBE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\xB2\0\x80\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x0Cv\x0C\x83\x0C\0\0\x1A\x0B\0\0\0\0\0\0\0\0\0\0\xCC\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x88\x0C\x80\0\x80\0\xB3\0\xCA\x01\xCB\x01u\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0/\x03\x93\x0C\xA1\x0C\0\0\0\0\0\0\0\0\0\0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xC1\x01\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xB9\0\0\0\0\0\0\0\0\0\0\0\0\0\xCC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0u\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\x80\0\0\0y\0\x89\0\xA1\0\xC0\0\xE0\0\0\x01 \x01>\x01^\x01i\x01\x7F\x01\x8E\x01\xAE\x01\xCD\x01\xED\x01\x7F\x01\r\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x1F\x02\x7F\x01?\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01Y\x02y\x02\x98\x02\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB7\x02\x7F\x01\xD7\x02\xF1\x02\x11\x03\x7F\x01\x7F\x01\x7F\x011\x03@\x03W\x03w\x03\x95\x03\xB4\x03\xD2\x03\xF0\x03\x10\x04-\x04G\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01c\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01r\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x85\x04\x7F\x01\x99\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB9\x04\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xC9\x04\xDE\x04\xFA\x04\x7F\x01\x7F\x01\x7F\x01\x1A\x05\x7F\x01\x7F\x01:\x05P\x05b\x05\x7F\x01\x81\x05\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x96\x05\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\x7F\x01\xB6\x05") }, unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\0\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x03\0\0\0\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x02\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x01\x01\0\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\x02\x02\0\0\x02\x02\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x02\0\0\0\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x02\x02\x02\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\x01\x01\0\x01\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\x03\0\0\0\0\0\0\0\x02\x02\0\x01\x01\x01\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\0\x02\0\0\0\x02\x02\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\0\x02\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\x02\0\0\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\x02\x02\0\0\0\0\x02\x02\0\0\x02\0\0\x02\x02\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\0\0\0\0\x02\x02\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\0\0\x02\0\0\0\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\x02\0\x02\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\x02\0\x02\x02\0\0\0\x02\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\x02\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\0\0\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\0\0\x02\0\0\0\0\x02\0\0\0\0\0\x02\x02\0\0\0\0\0\x02\0\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\x02\x02\0\0\0\0\0\x02\0\0\x02\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\0\0\0\x02\x02\x02\0\x02\x02\0\0\0\0\0\x02\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\0\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\0\x02\0\0\x02\0\x02\x02\x02\0\0\0\0\x02\x02\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\x02\x02\x02\x02\x02\x02\0\x02\0\0\x02\0\x02\0\0\x02\x02\x02\x02\0\0\0\0\0\0\x02\x02\0\x02\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\0\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\0\0\0\x02\0\x02\x02\0\x02\x02\0\0\0\x02\0\x02\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\0\x02\x02\x02\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\x02\x02\x02\x02\x02\0\x02\x02\0\x02\x02\x02\x02\x02\0\0\0\0\0\0") }, icu::properties::props::IndicConjunctBreak(0u8))); + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_ENUM_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_enum_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_enum_indic_conjunct_break_v1 as impl_property_enum_indic_conjunct_break_v1; diff --git a/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..1a064305daa --- /dev/null +++ b/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 30B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_long_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_long_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_long_indic_conjunct_break_v1 as impl_property_name_long_indic_conjunct_break_v1; diff --git a/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..d4f300a374e --- /dev/null +++ b/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 29B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_parse_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyValueNameToEnumMap { map: zerotrie::ZeroTrieSimpleAscii { store: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"None\x80") } } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_parse_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_parse_indic_conjunct_break_v1 as impl_property_name_parse_indic_conjunct_break_v1; diff --git a/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data new file mode 100644 index 00000000000..3f0d5b5737e --- /dev/null +++ b/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data @@ -0,0 +1,75 @@ +// @generated +/// Implement `DataProvider` on the given struct using the data +/// hardcoded in this file. This allows the struct to be used with +/// `icu`'s `_unstable` constructors. +/// +/// Using this implementation will embed the following data in the binary's data segment: +/// * 30B[^1] for the singleton data struct +/// +/// [^1]: these numbers can be smaller in practice due to linker deduplication +#[doc(hidden)] +#[macro_export] +macro_rules! __impl_property_name_short_indic_conjunct_break_v1 { + ($ provider : ty) => { + #[clippy::msrv = "1.81"] + const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; + #[clippy::msrv = "1.81"] + impl $provider { + #[doc(hidden)] + pub const SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; + } + #[clippy::msrv = "1.81"] + impl icu_provider::DataProvider for $provider { + fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , ITER) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; + ($ provider : ty , DRY) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + }; + ($ provider : ty , DRY , ITER) => { + __impl_property_name_short_indic_conjunct_break_v1!($provider); + #[clippy::msrv = "1.81"] + impl icu_provider::DryDataProvider for $provider { + fn dry_load(&self, req: icu_provider::DataRequest) -> Result { + if req.id.locale.is_default() { + Ok(icu_provider::DataResponseMetadata::default()) + } else { + Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) + } + } + } + #[clippy::msrv = "1.81"] + impl icu_provider::IterableDataProvider for $provider { + fn iter_ids(&self) -> Result>, icu_provider::DataError> { + Ok([Default::default()].into_iter().collect()) + } + } + }; +} +#[doc(inline)] +pub use __impl_property_name_short_indic_conjunct_break_v1 as impl_property_name_short_indic_conjunct_break_v1; diff --git a/provider/registry/src/lib.rs b/provider/registry/src/lib.rs index 4c1ff6a470d..402a52cbf7f 100644 --- a/provider/registry/src/lib.rs +++ b/provider/registry/src/lib.rs @@ -80,6 +80,7 @@ macro_rules! registry( icu::properties::provider::PropertyNameLongGeneralCategoryV1: PropertyNameLongGeneralCategoryV1, icu::properties::provider::PropertyNameLongGraphemeClusterBreakV1: PropertyNameLongGraphemeClusterBreakV1, icu::properties::provider::PropertyNameLongHangulSyllableTypeV1: PropertyNameLongHangulSyllableTypeV1, + icu::properties::provider::PropertyNameLongIndicConjunctBreakV1: PropertyNameLongIndicConjunctBreakV1, icu::properties::provider::PropertyNameLongIndicSyllabicCategoryV1: PropertyNameLongIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameLongJoiningTypeV1: PropertyNameLongJoiningTypeV1, icu::properties::provider::PropertyNameLongLineBreakV1: PropertyNameLongLineBreakV1, @@ -94,6 +95,7 @@ macro_rules! registry( icu::properties::provider::PropertyNameParseGeneralCategoryV1: PropertyNameParseGeneralCategoryV1, icu::properties::provider::PropertyNameParseGraphemeClusterBreakV1: PropertyNameParseGraphemeClusterBreakV1, icu::properties::provider::PropertyNameParseHangulSyllableTypeV1: PropertyNameParseHangulSyllableTypeV1, + icu::properties::provider::PropertyNameParseIndicConjunctBreakV1: PropertyNameParseIndicConjunctBreakV1, icu::properties::provider::PropertyNameParseIndicSyllabicCategoryV1: PropertyNameParseIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameParseJoiningTypeV1: PropertyNameParseJoiningTypeV1, icu::properties::provider::PropertyNameParseLineBreakV1: PropertyNameParseLineBreakV1, @@ -107,6 +109,7 @@ macro_rules! registry( icu::properties::provider::PropertyNameShortGeneralCategoryV1: PropertyNameShortGeneralCategoryV1, icu::properties::provider::PropertyNameShortGraphemeClusterBreakV1: PropertyNameShortGraphemeClusterBreakV1, icu::properties::provider::PropertyNameShortHangulSyllableTypeV1: PropertyNameShortHangulSyllableTypeV1, + icu::properties::provider::PropertyNameShortIndicConjunctBreakV1: PropertyNameShortIndicConjunctBreakV1, icu::properties::provider::PropertyNameShortIndicSyllabicCategoryV1: PropertyNameShortIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameShortJoiningTypeV1: PropertyNameShortJoiningTypeV1, icu::properties::provider::PropertyNameShortLineBreakV1: PropertyNameShortLineBreakV1, @@ -185,6 +188,7 @@ macro_rules! registry( icu::properties::provider::PropertyEnumGeneralCategoryV1: PropertyEnumGeneralCategoryV1, icu::properties::provider::PropertyEnumGraphemeClusterBreakV1: PropertyEnumGraphemeClusterBreakV1, icu::properties::provider::PropertyEnumHangulSyllableTypeV1: PropertyEnumHangulSyllableTypeV1, + icu::properties::provider::PropertyEnumIndicConjunctBreakV1: PropertyEnumIndicConjunctBreakV1, icu::properties::provider::PropertyEnumIndicSyllabicCategoryV1: PropertyEnumIndicSyllabicCategoryV1, icu::properties::provider::PropertyEnumJoiningTypeV1: PropertyEnumJoiningTypeV1, icu::properties::provider::PropertyEnumLineBreakV1: PropertyEnumLineBreakV1, diff --git a/provider/source/data/debug/properties/PropertyEnumIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyEnumIndicConjunctBreakV1.json new file mode 100644 index 00000000000..0eb6adefa11 --- /dev/null +++ b/provider/source/data/debug/properties/PropertyEnumIndicConjunctBreakV1.json @@ -0,0 +1,4967 @@ +{ + "CodePointTrie": { + "header": { + "high_start": 918016, + "shifted12_high_start": 225, + "index3_null_offset": 383, + "data_null_offset": 0, + "null_value": 0, + "trie_type": "Small" + }, + "index": [ + 0, + 64, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 144, + 0, + 0, + 0, + 0, + 205, + 0, + 0, + 0, + 252, + 314, + 362, + 415, + 0, + 464, + 511, + 564, + 340, + 585, + 647, + 693, + 734, + 788, + 849, + 912, + 976, + 1039, + 1102, + 1165, + 1228, + 1291, + 1355, + 1416, + 1478, + 1540, + 1604, + 1667, + 1730, + 1793, + 1857, + 1920, + 1983, + 2037, + 2069, + 2128, + 2143, + 200, + 2204, + 2262, + 2320, + 1474, + 1494, + 1519, + 1532, + 1554, + 1586, + 1613, + 1637, + 1668, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1519, + 1700, + 0, + 16, + 32, + 48, + 64, + 80, + 96, + 112, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 128, + 144, + 160, + 176, + 144, + 160, + 176, + 192, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 205, + 221, + 237, + 253, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 0, + 16, + 32, + 48, + 252, + 268, + 284, + 300, + 314, + 330, + 346, + 362, + 378, + 394, + 410, + 415, + 431, + 447, + 463, + 0, + 16, + 32, + 48, + 464, + 480, + 496, + 512, + 511, + 527, + 543, + 559, + 564, + 580, + 596, + 612, + 340, + 356, + 372, + 388, + 585, + 601, + 617, + 633, + 647, + 663, + 679, + 695, + 693, + 709, + 725, + 741, + 734, + 750, + 766, + 782, + 788, + 804, + 820, + 836, + 849, + 865, + 881, + 897, + 912, + 928, + 944, + 960, + 976, + 992, + 1008, + 1024, + 1039, + 1055, + 1071, + 1087, + 1102, + 1118, + 1134, + 1150, + 1165, + 1181, + 1197, + 1213, + 1228, + 1244, + 1260, + 1276, + 1291, + 1307, + 1323, + 1339, + 1355, + 1371, + 1387, + 1403, + 1416, + 1432, + 1448, + 1464, + 1478, + 1494, + 1510, + 1526, + 1540, + 1556, + 1572, + 1588, + 1604, + 1620, + 1636, + 1652, + 1667, + 1683, + 1699, + 1715, + 1730, + 1746, + 1762, + 1778, + 1793, + 1809, + 1825, + 1841, + 1857, + 1873, + 1889, + 1905, + 1920, + 1936, + 1952, + 1968, + 1983, + 1999, + 2015, + 2031, + 2037, + 2053, + 2069, + 2085, + 2101, + 2117, + 2128, + 2144, + 2160, + 2176, + 2143, + 2159, + 2175, + 2191, + 200, + 216, + 232, + 248, + 2204, + 2220, + 2236, + 2252, + 2262, + 2278, + 2294, + 2310, + 2320, + 2336, + 2352, + 2368, + 1474, + 1490, + 1506, + 1522, + 0, + 0, + 115, + 2384, + 0, + 2399, + 191, + 505, + 2415, + 450, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 115, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2429, + 0, + 716, + 0, + 944, + 0, + 944, + 0, + 0, + 0, + 2441, + 2112, + 633, + 0, + 0, + 2455, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1224, + 0, + 454, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2470, + 2484, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2496, + 0, + 0, + 0, + 2508, + 2522, + 2535, + 0, + 0, + 0, + 128, + 177, + 0, + 0, + 0, + 188, + 0, + 0, + 2551, + 716, + 0, + 117, + 188, + 190, + 0, + 2565, + 0, + 0, + 0, + 2579, + 188, + 0, + 0, + 116, + 2594, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 819, + 2610, + 2619, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 128, + 128, + 450, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 191, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 190, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 0, + 0, + 118, + 0, + 0, + 0, + 0, + 0, + 0, + 1220, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 2635, + 0, + 114, + 0, + 0, + 0, + 0, + 0, + 190, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2649, + 0, + 2661, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1225, + 0, + 128, + 2677, + 0, + 0, + 2129, + 0, + 121, + 318, + 0, + 0, + 189, + 0, + 0, + 2689, + 191, + 0, + 458, + 0, + 0, + 2703, + 2718, + 2731, + 0, + 0, + 451, + 0, + 0, + 0, + 2747, + 320, + 0, + 1201, + 457, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2763, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 449, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 0, + 128, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 114, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 450, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 191, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2777, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2792, + 0, + 0, + 2808, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1224, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2800, + 0, + 0, + 0, + 2824, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1202, + 0, + 0, + 0, + 0, + 116, + 0, + 0, + 0, + 0, + 122, + 191, + 0, + 0, + 2429, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 320, + 0, + 0, + 120, + 185, + 0, + 0, + 2837, + 190, + 0, + 0, + 2849, + 461, + 0, + 0, + 0, + 189, + 0, + 2860, + 187, + 0, + 0, + 0, + 460, + 190, + 0, + 0, + 622, + 2875, + 0, + 0, + 0, + 113, + 2886, + 320, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 2132, + 0, + 190, + 0, + 0, + 2901, + 1540, + 456, + 202, + 187, + 0, + 0, + 0, + 2110, + 2913, + 319, + 945, + 0, + 0, + 0, + 120, + 2925, + 449, + 0, + 0, + 0, + 0, + 0, + 2941, + 1101, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 2957, + 191, + 1201, + 0, + 0, + 0, + 2973, + 191, + 0, + 0, + 0, + 0, + 0, + 2989, + 184, + 0, + 0, + 0, + 0, + 0, + 2244, + 3003, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 2317, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2841, + 460, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2848, + 191, + 0, + 3018, + 0, + 0, + 3031, + 456, + 3046, + 0, + 0, + 118, + 3062, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3078, + 0, + 0, + 0, + 0, + 0, + 126, + 3093, + 3108, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3123, + 1349, + 0, + 0, + 0, + 0, + 3138, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1226, + 190, + 0, + 0, + 2777, + 189, + 453, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3154, + 186, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 114, + 3161, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 187, + 0, + 0, + 0, + 185, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 113, + 0, + 0, + 0, + 113, + 189, + 0, + 0, + 0, + 0, + 459, + 190, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1200, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 178, + 128, + 185, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3177, + 3190, + 3203, + 0, + 2842, + 0, + 0, + 0, + 0, + 0, + 716, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 128, + 3208, + 128, + 128, + 179, + 458, + 459, + 117, + 127, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 815, + 3219, + 3233, + 0, + 0, + 0, + 0, + 0, + 113, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 185, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 449, + 0, + 0, + 0, + 116, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 116, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 114, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 185, + 0, + 0, + 0, + 0, + 0, + 0, + 204, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 117, + 0, + 0, + 128, + 128, + 128, + 128, + 128, + 128, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 128, + 0, + 121, + 137, + 161, + 192, + 224, + 256, + 288, + 318, + 350, + 361, + 383, + 398, + 430, + 461, + 493, + 383, + 525, + 383, + 383, + 383, + 383, + 383, + 543, + 383, + 575, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 601, + 633, + 664, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 695, + 383, + 727, + 753, + 785, + 383, + 383, + 383, + 817, + 832, + 855, + 887, + 917, + 948, + 978, + 1008, + 1040, + 1069, + 1095, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 1123, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 1138, + 383, + 383, + 383, + 383, + 1157, + 383, + 1177, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 1209, + 383, + 383, + 383, + 383, + 383, + 383, + 383, + 1225, + 1246, + 1274, + 383, + 383, + 383, + 1306, + 383, + 383, + 1338, + 1360, + 1378, + 383, + 1409, + 383, + 383, + 383, + 383, + 1430, + 383, + 383, + 383, + 383, + 383, + 383, + 1462 + ], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 2, + 0, + 0, + 2, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 2, + 2, + 0, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 2, + 2, + 0, + 2, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } +} diff --git a/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json new file mode 100644 index 00000000000..705d9da9682 --- /dev/null +++ b/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json @@ -0,0 +1,5 @@ +{ + "map": [ + "None" + ] +} diff --git a/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json new file mode 100644 index 00000000000..6a6d1119f8f --- /dev/null +++ b/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json @@ -0,0 +1,5 @@ +{ + "map": { + "None": 0 + } +} diff --git a/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json new file mode 100644 index 00000000000..705d9da9682 --- /dev/null +++ b/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json @@ -0,0 +1,5 @@ +{ + "map": [ + "None" + ] +} diff --git a/provider/source/src/properties/enum_codepointtrie.rs b/provider/source/src/properties/enum_codepointtrie.rs index ce1f27cb657..bff6f8441ed 100644 --- a/provider/source/src/properties/enum_codepointtrie.rs +++ b/provider/source/src/properties/enum_codepointtrie.rs @@ -466,6 +466,15 @@ expand!( ), "ea" ), + ( + PropertyEnumIndicConjunctBreakV1, + PropertyNameParseIndicConjunctBreakV1, + ( + linear: PropertyNameShortIndicConjunctBreakV1, + PropertyNameLongIndicConjunctBreakV1 + ), + "InCB" + ), ( PropertyEnumIndicSyllabicCategoryV1, PropertyNameParseIndicSyllabicCategoryV1, diff --git a/provider/source/src/tests/data.rs b/provider/source/src/tests/data.rs index 21ede4fcd22..0b7085d07ca 100644 --- a/provider/source/src/tests/data.rs +++ b/provider/source/src/tests/data.rs @@ -630,6 +630,7 @@ impl SourceDataProvider { ("uprops/small/IDS.toml", include_bytes!("../../tests/data/icuexport/uprops/small/IDS.toml").as_slice()), ("uprops/small/IDSB.toml", include_bytes!("../../tests/data/icuexport/uprops/small/IDSB.toml").as_slice()), ("uprops/small/IDST.toml", include_bytes!("../../tests/data/icuexport/uprops/small/IDST.toml").as_slice()), + ("uprops/small/InCB.toml", include_bytes!("../../tests/data/icuexport/uprops/small/InCB.toml").as_slice()), ("uprops/small/InSC.toml", include_bytes!("../../tests/data/icuexport/uprops/small/InSC.toml").as_slice()), ("uprops/small/Join_C.toml", include_bytes!("../../tests/data/icuexport/uprops/small/Join_C.toml").as_slice()), ("uprops/small/jt.toml", include_bytes!("../../tests/data/icuexport/uprops/small/jt.toml").as_slice()), diff --git a/provider/source/tests/data/icuexport/uprops/small/InCB.toml b/provider/source/tests/data/icuexport/uprops/small/InCB.toml new file mode 100644 index 00000000000..2678abd9883 --- /dev/null +++ b/provider/source/tests/data/icuexport/uprops/small/InCB.toml @@ -0,0 +1,1148 @@ +# Copyright (C) 2021 and later: Unicode, Inc. and others. +# License & terms of use: http://www.unicode.org/copyright.html +# +# file name: InCB +# +# machine-generated by: icuexportdata.cpp + +icu_version = "77.1" +unicode_version = "16.0" + +[[enum_property]] +long_name = "Indic_Conjunct_Break" +short_name = "InCB" +uproperty_discr = 0x101A +values = [ + {discr = 0, long = "None", short = "None"}, +] +# Code points `a` through `b` have value `v`, corresponding to `name`. +ranges = [ + {a=0x0, b=0x2ff, v=0, name="None"}, + {a=0x300, b=0x36f, v=2, name="Extend"}, + {a=0x370, b=0x482, v=0, name="None"}, + {a=0x483, b=0x489, v=2, name="Extend"}, + {a=0x48a, b=0x590, v=0, name="None"}, + {a=0x591, b=0x5bd, v=2, name="Extend"}, + {a=0x5be, b=0x5be, v=0, name="None"}, + {a=0x5bf, b=0x5bf, v=2, name="Extend"}, + {a=0x5c0, b=0x5c0, v=0, name="None"}, + {a=0x5c1, b=0x5c2, v=2, name="Extend"}, + {a=0x5c3, b=0x5c3, v=0, name="None"}, + {a=0x5c4, b=0x5c5, v=2, name="Extend"}, + {a=0x5c6, b=0x5c6, v=0, name="None"}, + {a=0x5c7, b=0x5c7, v=2, name="Extend"}, + {a=0x5c8, b=0x60f, v=0, name="None"}, + {a=0x610, b=0x61a, v=2, name="Extend"}, + {a=0x61b, b=0x64a, v=0, name="None"}, + {a=0x64b, b=0x65f, v=2, name="Extend"}, + {a=0x660, b=0x66f, v=0, name="None"}, + {a=0x670, b=0x670, v=2, name="Extend"}, + {a=0x671, b=0x6d5, v=0, name="None"}, + {a=0x6d6, b=0x6dc, v=2, name="Extend"}, + {a=0x6dd, b=0x6de, v=0, name="None"}, + {a=0x6df, b=0x6e4, v=2, name="Extend"}, + {a=0x6e5, b=0x6e6, v=0, name="None"}, + {a=0x6e7, b=0x6e8, v=2, name="Extend"}, + {a=0x6e9, b=0x6e9, v=0, name="None"}, + {a=0x6ea, b=0x6ed, v=2, name="Extend"}, + {a=0x6ee, b=0x710, v=0, name="None"}, + {a=0x711, b=0x711, v=2, name="Extend"}, + {a=0x712, b=0x72f, v=0, name="None"}, + {a=0x730, b=0x74a, v=2, name="Extend"}, + {a=0x74b, b=0x7a5, v=0, name="None"}, + {a=0x7a6, b=0x7b0, v=2, name="Extend"}, + {a=0x7b1, b=0x7ea, v=0, name="None"}, + {a=0x7eb, b=0x7f3, v=2, name="Extend"}, + {a=0x7f4, b=0x7fc, v=0, name="None"}, + {a=0x7fd, b=0x7fd, v=2, name="Extend"}, + {a=0x7fe, b=0x815, v=0, name="None"}, + {a=0x816, b=0x819, v=2, name="Extend"}, + {a=0x81a, b=0x81a, v=0, name="None"}, + {a=0x81b, b=0x823, v=2, name="Extend"}, + {a=0x824, b=0x824, v=0, name="None"}, + {a=0x825, b=0x827, v=2, name="Extend"}, + {a=0x828, b=0x828, v=0, name="None"}, + {a=0x829, b=0x82d, v=2, name="Extend"}, + {a=0x82e, b=0x858, v=0, name="None"}, + {a=0x859, b=0x85b, v=2, name="Extend"}, + {a=0x85c, b=0x896, v=0, name="None"}, + {a=0x897, b=0x89f, v=2, name="Extend"}, + {a=0x8a0, b=0x8c9, v=0, name="None"}, + {a=0x8ca, b=0x8e1, v=2, name="Extend"}, + {a=0x8e2, b=0x8e2, v=0, name="None"}, + {a=0x8e3, b=0x902, v=2, name="Extend"}, + {a=0x903, b=0x914, v=0, name="None"}, + {a=0x915, b=0x939, v=1, name="Consonant"}, + {a=0x93a, b=0x93a, v=2, name="Extend"}, + {a=0x93b, b=0x93b, v=0, name="None"}, + {a=0x93c, b=0x93c, v=2, name="Extend"}, + {a=0x93d, b=0x940, v=0, name="None"}, + {a=0x941, b=0x948, v=2, name="Extend"}, + {a=0x949, b=0x94c, v=0, name="None"}, + {a=0x94d, b=0x94d, v=3, name="Linker"}, + {a=0x94e, b=0x950, v=0, name="None"}, + {a=0x951, b=0x957, v=2, name="Extend"}, + {a=0x958, b=0x95f, v=1, name="Consonant"}, + {a=0x960, b=0x961, v=0, name="None"}, + {a=0x962, b=0x963, v=2, name="Extend"}, + {a=0x964, b=0x977, v=0, name="None"}, + {a=0x978, b=0x97f, v=1, name="Consonant"}, + {a=0x980, b=0x980, v=0, name="None"}, + {a=0x981, b=0x981, v=2, name="Extend"}, + {a=0x982, b=0x994, v=0, name="None"}, + {a=0x995, b=0x9a8, v=1, name="Consonant"}, + {a=0x9a9, b=0x9a9, v=0, name="None"}, + {a=0x9aa, b=0x9b0, v=1, name="Consonant"}, + {a=0x9b1, b=0x9b1, v=0, name="None"}, + {a=0x9b2, b=0x9b2, v=1, name="Consonant"}, + {a=0x9b3, b=0x9b5, v=0, name="None"}, + {a=0x9b6, b=0x9b9, v=1, name="Consonant"}, + {a=0x9ba, b=0x9bb, v=0, name="None"}, + {a=0x9bc, b=0x9bc, v=2, name="Extend"}, + {a=0x9bd, b=0x9bd, v=0, name="None"}, + {a=0x9be, b=0x9be, v=2, name="Extend"}, + {a=0x9bf, b=0x9c0, v=0, name="None"}, + {a=0x9c1, b=0x9c4, v=2, name="Extend"}, + {a=0x9c5, b=0x9cc, v=0, name="None"}, + {a=0x9cd, b=0x9cd, v=3, name="Linker"}, + {a=0x9ce, b=0x9d6, v=0, name="None"}, + {a=0x9d7, b=0x9d7, v=2, name="Extend"}, + {a=0x9d8, b=0x9db, v=0, name="None"}, + {a=0x9dc, b=0x9dd, v=1, name="Consonant"}, + {a=0x9de, b=0x9de, v=0, name="None"}, + {a=0x9df, b=0x9df, v=1, name="Consonant"}, + {a=0x9e0, b=0x9e1, v=0, name="None"}, + {a=0x9e2, b=0x9e3, v=2, name="Extend"}, + {a=0x9e4, b=0x9ef, v=0, name="None"}, + {a=0x9f0, b=0x9f1, v=1, name="Consonant"}, + {a=0x9f2, b=0x9fd, v=0, name="None"}, + {a=0x9fe, b=0x9fe, v=2, name="Extend"}, + {a=0x9ff, b=0xa00, v=0, name="None"}, + {a=0xa01, b=0xa02, v=2, name="Extend"}, + {a=0xa03, b=0xa3b, v=0, name="None"}, + {a=0xa3c, b=0xa3c, v=2, name="Extend"}, + {a=0xa3d, b=0xa40, v=0, name="None"}, + {a=0xa41, b=0xa42, v=2, name="Extend"}, + {a=0xa43, b=0xa46, v=0, name="None"}, + {a=0xa47, b=0xa48, v=2, name="Extend"}, + {a=0xa49, b=0xa4a, v=0, name="None"}, + {a=0xa4b, b=0xa4d, v=2, name="Extend"}, + {a=0xa4e, b=0xa50, v=0, name="None"}, + {a=0xa51, b=0xa51, v=2, name="Extend"}, + {a=0xa52, b=0xa6f, v=0, name="None"}, + {a=0xa70, b=0xa71, v=2, name="Extend"}, + {a=0xa72, b=0xa74, v=0, name="None"}, + {a=0xa75, b=0xa75, v=2, name="Extend"}, + {a=0xa76, b=0xa80, v=0, name="None"}, + {a=0xa81, b=0xa82, v=2, name="Extend"}, + {a=0xa83, b=0xa94, v=0, name="None"}, + {a=0xa95, b=0xaa8, v=1, name="Consonant"}, + {a=0xaa9, b=0xaa9, v=0, name="None"}, + {a=0xaaa, b=0xab0, v=1, name="Consonant"}, + {a=0xab1, b=0xab1, v=0, name="None"}, + {a=0xab2, b=0xab3, v=1, name="Consonant"}, + {a=0xab4, b=0xab4, v=0, name="None"}, + {a=0xab5, b=0xab9, v=1, name="Consonant"}, + {a=0xaba, b=0xabb, v=0, name="None"}, + {a=0xabc, b=0xabc, v=2, name="Extend"}, + {a=0xabd, b=0xac0, v=0, name="None"}, + {a=0xac1, b=0xac5, v=2, name="Extend"}, + {a=0xac6, b=0xac6, v=0, name="None"}, + {a=0xac7, b=0xac8, v=2, name="Extend"}, + {a=0xac9, b=0xacc, v=0, name="None"}, + {a=0xacd, b=0xacd, v=3, name="Linker"}, + {a=0xace, b=0xae1, v=0, name="None"}, + {a=0xae2, b=0xae3, v=2, name="Extend"}, + {a=0xae4, b=0xaf8, v=0, name="None"}, + {a=0xaf9, b=0xaf9, v=1, name="Consonant"}, + {a=0xafa, b=0xaff, v=2, name="Extend"}, + {a=0xb00, b=0xb00, v=0, name="None"}, + {a=0xb01, b=0xb01, v=2, name="Extend"}, + {a=0xb02, b=0xb14, v=0, name="None"}, + {a=0xb15, b=0xb28, v=1, name="Consonant"}, + {a=0xb29, b=0xb29, v=0, name="None"}, + {a=0xb2a, b=0xb30, v=1, name="Consonant"}, + {a=0xb31, b=0xb31, v=0, name="None"}, + {a=0xb32, b=0xb33, v=1, name="Consonant"}, + {a=0xb34, b=0xb34, v=0, name="None"}, + {a=0xb35, b=0xb39, v=1, name="Consonant"}, + {a=0xb3a, b=0xb3b, v=0, name="None"}, + {a=0xb3c, b=0xb3c, v=2, name="Extend"}, + {a=0xb3d, b=0xb3d, v=0, name="None"}, + {a=0xb3e, b=0xb3f, v=2, name="Extend"}, + {a=0xb40, b=0xb40, v=0, name="None"}, + {a=0xb41, b=0xb44, v=2, name="Extend"}, + {a=0xb45, b=0xb4c, v=0, name="None"}, + {a=0xb4d, b=0xb4d, v=3, name="Linker"}, + {a=0xb4e, b=0xb54, v=0, name="None"}, + {a=0xb55, b=0xb57, v=2, name="Extend"}, + {a=0xb58, b=0xb5b, v=0, name="None"}, + {a=0xb5c, b=0xb5d, v=1, name="Consonant"}, + {a=0xb5e, b=0xb5e, v=0, name="None"}, + {a=0xb5f, b=0xb5f, v=1, name="Consonant"}, + {a=0xb60, b=0xb61, v=0, name="None"}, + {a=0xb62, b=0xb63, v=2, name="Extend"}, + {a=0xb64, b=0xb70, v=0, name="None"}, + {a=0xb71, b=0xb71, v=1, name="Consonant"}, + {a=0xb72, b=0xb81, v=0, name="None"}, + {a=0xb82, b=0xb82, v=2, name="Extend"}, + {a=0xb83, b=0xbbd, v=0, name="None"}, + {a=0xbbe, b=0xbbe, v=2, name="Extend"}, + {a=0xbbf, b=0xbbf, v=0, name="None"}, + {a=0xbc0, b=0xbc0, v=2, name="Extend"}, + {a=0xbc1, b=0xbcc, v=0, name="None"}, + {a=0xbcd, b=0xbcd, v=2, name="Extend"}, + {a=0xbce, b=0xbd6, v=0, name="None"}, + {a=0xbd7, b=0xbd7, v=2, name="Extend"}, + {a=0xbd8, b=0xbff, v=0, name="None"}, + {a=0xc00, b=0xc00, v=2, name="Extend"}, + {a=0xc01, b=0xc03, v=0, name="None"}, + {a=0xc04, b=0xc04, v=2, name="Extend"}, + {a=0xc05, b=0xc14, v=0, name="None"}, + {a=0xc15, b=0xc28, v=1, name="Consonant"}, + {a=0xc29, b=0xc29, v=0, name="None"}, + {a=0xc2a, b=0xc39, v=1, name="Consonant"}, + {a=0xc3a, b=0xc3b, v=0, name="None"}, + {a=0xc3c, b=0xc3c, v=2, name="Extend"}, + {a=0xc3d, b=0xc3d, v=0, name="None"}, + {a=0xc3e, b=0xc40, v=2, name="Extend"}, + {a=0xc41, b=0xc45, v=0, name="None"}, + {a=0xc46, b=0xc48, v=2, name="Extend"}, + {a=0xc49, b=0xc49, v=0, name="None"}, + {a=0xc4a, b=0xc4c, v=2, name="Extend"}, + {a=0xc4d, b=0xc4d, v=3, name="Linker"}, + {a=0xc4e, b=0xc54, v=0, name="None"}, + {a=0xc55, b=0xc56, v=2, name="Extend"}, + {a=0xc57, b=0xc57, v=0, name="None"}, + {a=0xc58, b=0xc5a, v=1, name="Consonant"}, + {a=0xc5b, b=0xc61, v=0, name="None"}, + {a=0xc62, b=0xc63, v=2, name="Extend"}, + {a=0xc64, b=0xc80, v=0, name="None"}, + {a=0xc81, b=0xc81, v=2, name="Extend"}, + {a=0xc82, b=0xcbb, v=0, name="None"}, + {a=0xcbc, b=0xcbc, v=2, name="Extend"}, + {a=0xcbd, b=0xcbe, v=0, name="None"}, + {a=0xcbf, b=0xcc0, v=2, name="Extend"}, + {a=0xcc1, b=0xcc1, v=0, name="None"}, + {a=0xcc2, b=0xcc2, v=2, name="Extend"}, + {a=0xcc3, b=0xcc5, v=0, name="None"}, + {a=0xcc6, b=0xcc8, v=2, name="Extend"}, + {a=0xcc9, b=0xcc9, v=0, name="None"}, + {a=0xcca, b=0xccd, v=2, name="Extend"}, + {a=0xcce, b=0xcd4, v=0, name="None"}, + {a=0xcd5, b=0xcd6, v=2, name="Extend"}, + {a=0xcd7, b=0xce1, v=0, name="None"}, + {a=0xce2, b=0xce3, v=2, name="Extend"}, + {a=0xce4, b=0xcff, v=0, name="None"}, + {a=0xd00, b=0xd01, v=2, name="Extend"}, + {a=0xd02, b=0xd14, v=0, name="None"}, + {a=0xd15, b=0xd3a, v=1, name="Consonant"}, + {a=0xd3b, b=0xd3c, v=2, name="Extend"}, + {a=0xd3d, b=0xd3d, v=0, name="None"}, + {a=0xd3e, b=0xd3e, v=2, name="Extend"}, + {a=0xd3f, b=0xd40, v=0, name="None"}, + {a=0xd41, b=0xd44, v=2, name="Extend"}, + {a=0xd45, b=0xd4c, v=0, name="None"}, + {a=0xd4d, b=0xd4d, v=3, name="Linker"}, + {a=0xd4e, b=0xd56, v=0, name="None"}, + {a=0xd57, b=0xd57, v=2, name="Extend"}, + {a=0xd58, b=0xd61, v=0, name="None"}, + {a=0xd62, b=0xd63, v=2, name="Extend"}, + {a=0xd64, b=0xd80, v=0, name="None"}, + {a=0xd81, b=0xd81, v=2, name="Extend"}, + {a=0xd82, b=0xdc9, v=0, name="None"}, + {a=0xdca, b=0xdca, v=2, name="Extend"}, + {a=0xdcb, b=0xdce, v=0, name="None"}, + {a=0xdcf, b=0xdcf, v=2, name="Extend"}, + {a=0xdd0, b=0xdd1, v=0, name="None"}, + {a=0xdd2, b=0xdd4, v=2, name="Extend"}, + {a=0xdd5, b=0xdd5, v=0, name="None"}, + {a=0xdd6, b=0xdd6, v=2, name="Extend"}, + {a=0xdd7, b=0xdde, v=0, name="None"}, + {a=0xddf, b=0xddf, v=2, name="Extend"}, + {a=0xde0, b=0xe30, v=0, name="None"}, + {a=0xe31, b=0xe31, v=2, name="Extend"}, + {a=0xe32, b=0xe33, v=0, name="None"}, + {a=0xe34, b=0xe3a, v=2, name="Extend"}, + {a=0xe3b, b=0xe46, v=0, name="None"}, + {a=0xe47, b=0xe4e, v=2, name="Extend"}, + {a=0xe4f, b=0xeb0, v=0, name="None"}, + {a=0xeb1, b=0xeb1, v=2, name="Extend"}, + {a=0xeb2, b=0xeb3, v=0, name="None"}, + {a=0xeb4, b=0xebc, v=2, name="Extend"}, + {a=0xebd, b=0xec7, v=0, name="None"}, + {a=0xec8, b=0xece, v=2, name="Extend"}, + {a=0xecf, b=0xf17, v=0, name="None"}, + {a=0xf18, b=0xf19, v=2, name="Extend"}, + {a=0xf1a, b=0xf34, v=0, name="None"}, + {a=0xf35, b=0xf35, v=2, name="Extend"}, + {a=0xf36, b=0xf36, v=0, name="None"}, + {a=0xf37, b=0xf37, v=2, name="Extend"}, + {a=0xf38, b=0xf38, v=0, name="None"}, + {a=0xf39, b=0xf39, v=2, name="Extend"}, + {a=0xf3a, b=0xf70, v=0, name="None"}, + {a=0xf71, b=0xf7e, v=2, name="Extend"}, + {a=0xf7f, b=0xf7f, v=0, name="None"}, + {a=0xf80, b=0xf84, v=2, name="Extend"}, + {a=0xf85, b=0xf85, v=0, name="None"}, + {a=0xf86, b=0xf87, v=2, name="Extend"}, + {a=0xf88, b=0xf8c, v=0, name="None"}, + {a=0xf8d, b=0xf97, v=2, name="Extend"}, + {a=0xf98, b=0xf98, v=0, name="None"}, + {a=0xf99, b=0xfbc, v=2, name="Extend"}, + {a=0xfbd, b=0xfc5, v=0, name="None"}, + {a=0xfc6, b=0xfc6, v=2, name="Extend"}, + {a=0xfc7, b=0x102c, v=0, name="None"}, + {a=0x102d, b=0x1030, v=2, name="Extend"}, + {a=0x1031, b=0x1031, v=0, name="None"}, + {a=0x1032, b=0x1037, v=2, name="Extend"}, + {a=0x1038, b=0x1038, v=0, name="None"}, + {a=0x1039, b=0x103a, v=2, name="Extend"}, + {a=0x103b, b=0x103c, v=0, name="None"}, + {a=0x103d, b=0x103e, v=2, name="Extend"}, + {a=0x103f, b=0x1057, v=0, name="None"}, + {a=0x1058, b=0x1059, v=2, name="Extend"}, + {a=0x105a, b=0x105d, v=0, name="None"}, + {a=0x105e, b=0x1060, v=2, name="Extend"}, + {a=0x1061, b=0x1070, v=0, name="None"}, + {a=0x1071, b=0x1074, v=2, name="Extend"}, + {a=0x1075, b=0x1081, v=0, name="None"}, + {a=0x1082, b=0x1082, v=2, name="Extend"}, + {a=0x1083, b=0x1084, v=0, name="None"}, + {a=0x1085, b=0x1086, v=2, name="Extend"}, + {a=0x1087, b=0x108c, v=0, name="None"}, + {a=0x108d, b=0x108d, v=2, name="Extend"}, + {a=0x108e, b=0x109c, v=0, name="None"}, + {a=0x109d, b=0x109d, v=2, name="Extend"}, + {a=0x109e, b=0x135c, v=0, name="None"}, + {a=0x135d, b=0x135f, v=2, name="Extend"}, + {a=0x1360, b=0x1711, v=0, name="None"}, + {a=0x1712, b=0x1715, v=2, name="Extend"}, + {a=0x1716, b=0x1731, v=0, name="None"}, + {a=0x1732, b=0x1734, v=2, name="Extend"}, + {a=0x1735, b=0x1751, v=0, name="None"}, + {a=0x1752, b=0x1753, v=2, name="Extend"}, + {a=0x1754, b=0x1771, v=0, name="None"}, + {a=0x1772, b=0x1773, v=2, name="Extend"}, + {a=0x1774, b=0x17b3, v=0, name="None"}, + {a=0x17b4, b=0x17b5, v=2, name="Extend"}, + {a=0x17b6, b=0x17b6, v=0, name="None"}, + {a=0x17b7, b=0x17bd, v=2, name="Extend"}, + {a=0x17be, b=0x17c5, v=0, name="None"}, + {a=0x17c6, b=0x17c6, v=2, name="Extend"}, + {a=0x17c7, b=0x17c8, v=0, name="None"}, + {a=0x17c9, b=0x17d3, v=2, name="Extend"}, + {a=0x17d4, b=0x17dc, v=0, name="None"}, + {a=0x17dd, b=0x17dd, v=2, name="Extend"}, + {a=0x17de, b=0x180a, v=0, name="None"}, + {a=0x180b, b=0x180d, v=2, name="Extend"}, + {a=0x180e, b=0x180e, v=0, name="None"}, + {a=0x180f, b=0x180f, v=2, name="Extend"}, + {a=0x1810, b=0x1884, v=0, name="None"}, + {a=0x1885, b=0x1886, v=2, name="Extend"}, + {a=0x1887, b=0x18a8, v=0, name="None"}, + {a=0x18a9, b=0x18a9, v=2, name="Extend"}, + {a=0x18aa, b=0x191f, v=0, name="None"}, + {a=0x1920, b=0x1922, v=2, name="Extend"}, + {a=0x1923, b=0x1926, v=0, name="None"}, + {a=0x1927, b=0x1928, v=2, name="Extend"}, + {a=0x1929, b=0x1931, v=0, name="None"}, + {a=0x1932, b=0x1932, v=2, name="Extend"}, + {a=0x1933, b=0x1938, v=0, name="None"}, + {a=0x1939, b=0x193b, v=2, name="Extend"}, + {a=0x193c, b=0x1a16, v=0, name="None"}, + {a=0x1a17, b=0x1a18, v=2, name="Extend"}, + {a=0x1a19, b=0x1a1a, v=0, name="None"}, + {a=0x1a1b, b=0x1a1b, v=2, name="Extend"}, + {a=0x1a1c, b=0x1a55, v=0, name="None"}, + {a=0x1a56, b=0x1a56, v=2, name="Extend"}, + {a=0x1a57, b=0x1a57, v=0, name="None"}, + {a=0x1a58, b=0x1a5e, v=2, name="Extend"}, + {a=0x1a5f, b=0x1a5f, v=0, name="None"}, + {a=0x1a60, b=0x1a60, v=2, name="Extend"}, + {a=0x1a61, b=0x1a61, v=0, name="None"}, + {a=0x1a62, b=0x1a62, v=2, name="Extend"}, + {a=0x1a63, b=0x1a64, v=0, name="None"}, + {a=0x1a65, b=0x1a6c, v=2, name="Extend"}, + {a=0x1a6d, b=0x1a72, v=0, name="None"}, + {a=0x1a73, b=0x1a7c, v=2, name="Extend"}, + {a=0x1a7d, b=0x1a7e, v=0, name="None"}, + {a=0x1a7f, b=0x1a7f, v=2, name="Extend"}, + {a=0x1a80, b=0x1aaf, v=0, name="None"}, + {a=0x1ab0, b=0x1ace, v=2, name="Extend"}, + {a=0x1acf, b=0x1aff, v=0, name="None"}, + {a=0x1b00, b=0x1b03, v=2, name="Extend"}, + {a=0x1b04, b=0x1b33, v=0, name="None"}, + {a=0x1b34, b=0x1b3d, v=2, name="Extend"}, + {a=0x1b3e, b=0x1b41, v=0, name="None"}, + {a=0x1b42, b=0x1b44, v=2, name="Extend"}, + {a=0x1b45, b=0x1b6a, v=0, name="None"}, + {a=0x1b6b, b=0x1b73, v=2, name="Extend"}, + {a=0x1b74, b=0x1b7f, v=0, name="None"}, + {a=0x1b80, b=0x1b81, v=2, name="Extend"}, + {a=0x1b82, b=0x1ba1, v=0, name="None"}, + {a=0x1ba2, b=0x1ba5, v=2, name="Extend"}, + {a=0x1ba6, b=0x1ba7, v=0, name="None"}, + {a=0x1ba8, b=0x1bad, v=2, name="Extend"}, + {a=0x1bae, b=0x1be5, v=0, name="None"}, + {a=0x1be6, b=0x1be6, v=2, name="Extend"}, + {a=0x1be7, b=0x1be7, v=0, name="None"}, + {a=0x1be8, b=0x1be9, v=2, name="Extend"}, + {a=0x1bea, b=0x1bec, v=0, name="None"}, + {a=0x1bed, b=0x1bed, v=2, name="Extend"}, + {a=0x1bee, b=0x1bee, v=0, name="None"}, + {a=0x1bef, b=0x1bf3, v=2, name="Extend"}, + {a=0x1bf4, b=0x1c2b, v=0, name="None"}, + {a=0x1c2c, b=0x1c33, v=2, name="Extend"}, + {a=0x1c34, b=0x1c35, v=0, name="None"}, + {a=0x1c36, b=0x1c37, v=2, name="Extend"}, + {a=0x1c38, b=0x1ccf, v=0, name="None"}, + {a=0x1cd0, b=0x1cd2, v=2, name="Extend"}, + {a=0x1cd3, b=0x1cd3, v=0, name="None"}, + {a=0x1cd4, b=0x1ce0, v=2, name="Extend"}, + {a=0x1ce1, b=0x1ce1, v=0, name="None"}, + {a=0x1ce2, b=0x1ce8, v=2, name="Extend"}, + {a=0x1ce9, b=0x1cec, v=0, name="None"}, + {a=0x1ced, b=0x1ced, v=2, name="Extend"}, + {a=0x1cee, b=0x1cf3, v=0, name="None"}, + {a=0x1cf4, b=0x1cf4, v=2, name="Extend"}, + {a=0x1cf5, b=0x1cf7, v=0, name="None"}, + {a=0x1cf8, b=0x1cf9, v=2, name="Extend"}, + {a=0x1cfa, b=0x1dbf, v=0, name="None"}, + {a=0x1dc0, b=0x1dff, v=2, name="Extend"}, + {a=0x1e00, b=0x200c, v=0, name="None"}, + {a=0x200d, b=0x200d, v=2, name="Extend"}, + {a=0x200e, b=0x20cf, v=0, name="None"}, + {a=0x20d0, b=0x20f0, v=2, name="Extend"}, + {a=0x20f1, b=0x2cee, v=0, name="None"}, + {a=0x2cef, b=0x2cf1, v=2, name="Extend"}, + {a=0x2cf2, b=0x2d7e, v=0, name="None"}, + {a=0x2d7f, b=0x2d7f, v=2, name="Extend"}, + {a=0x2d80, b=0x2ddf, v=0, name="None"}, + {a=0x2de0, b=0x2dff, v=2, name="Extend"}, + {a=0x2e00, b=0x3029, v=0, name="None"}, + {a=0x302a, b=0x302f, v=2, name="Extend"}, + {a=0x3030, b=0x3098, v=0, name="None"}, + {a=0x3099, b=0x309a, v=2, name="Extend"}, + {a=0x309b, b=0xa66e, v=0, name="None"}, + {a=0xa66f, b=0xa672, v=2, name="Extend"}, + {a=0xa673, b=0xa673, v=0, name="None"}, + {a=0xa674, b=0xa67d, v=2, name="Extend"}, + {a=0xa67e, b=0xa69d, v=0, name="None"}, + {a=0xa69e, b=0xa69f, v=2, name="Extend"}, + {a=0xa6a0, b=0xa6ef, v=0, name="None"}, + {a=0xa6f0, b=0xa6f1, v=2, name="Extend"}, + {a=0xa6f2, b=0xa801, v=0, name="None"}, + {a=0xa802, b=0xa802, v=2, name="Extend"}, + {a=0xa803, b=0xa805, v=0, name="None"}, + {a=0xa806, b=0xa806, v=2, name="Extend"}, + {a=0xa807, b=0xa80a, v=0, name="None"}, + {a=0xa80b, b=0xa80b, v=2, name="Extend"}, + {a=0xa80c, b=0xa824, v=0, name="None"}, + {a=0xa825, b=0xa826, v=2, name="Extend"}, + {a=0xa827, b=0xa82b, v=0, name="None"}, + {a=0xa82c, b=0xa82c, v=2, name="Extend"}, + {a=0xa82d, b=0xa8c3, v=0, name="None"}, + {a=0xa8c4, b=0xa8c5, v=2, name="Extend"}, + {a=0xa8c6, b=0xa8df, v=0, name="None"}, + {a=0xa8e0, b=0xa8f1, v=2, name="Extend"}, + {a=0xa8f2, b=0xa8fe, v=0, name="None"}, + {a=0xa8ff, b=0xa8ff, v=2, name="Extend"}, + {a=0xa900, b=0xa925, v=0, name="None"}, + {a=0xa926, b=0xa92d, v=2, name="Extend"}, + {a=0xa92e, b=0xa946, v=0, name="None"}, + {a=0xa947, b=0xa951, v=2, name="Extend"}, + {a=0xa952, b=0xa952, v=0, name="None"}, + {a=0xa953, b=0xa953, v=2, name="Extend"}, + {a=0xa954, b=0xa97f, v=0, name="None"}, + {a=0xa980, b=0xa982, v=2, name="Extend"}, + {a=0xa983, b=0xa9b2, v=0, name="None"}, + {a=0xa9b3, b=0xa9b3, v=2, name="Extend"}, + {a=0xa9b4, b=0xa9b5, v=0, name="None"}, + {a=0xa9b6, b=0xa9b9, v=2, name="Extend"}, + {a=0xa9ba, b=0xa9bb, v=0, name="None"}, + {a=0xa9bc, b=0xa9bd, v=2, name="Extend"}, + {a=0xa9be, b=0xa9bf, v=0, name="None"}, + {a=0xa9c0, b=0xa9c0, v=2, name="Extend"}, + {a=0xa9c1, b=0xa9e4, v=0, name="None"}, + {a=0xa9e5, b=0xa9e5, v=2, name="Extend"}, + {a=0xa9e6, b=0xaa28, v=0, name="None"}, + {a=0xaa29, b=0xaa2e, v=2, name="Extend"}, + {a=0xaa2f, b=0xaa30, v=0, name="None"}, + {a=0xaa31, b=0xaa32, v=2, name="Extend"}, + {a=0xaa33, b=0xaa34, v=0, name="None"}, + {a=0xaa35, b=0xaa36, v=2, name="Extend"}, + {a=0xaa37, b=0xaa42, v=0, name="None"}, + {a=0xaa43, b=0xaa43, v=2, name="Extend"}, + {a=0xaa44, b=0xaa4b, v=0, name="None"}, + {a=0xaa4c, b=0xaa4c, v=2, name="Extend"}, + {a=0xaa4d, b=0xaa7b, v=0, name="None"}, + {a=0xaa7c, b=0xaa7c, v=2, name="Extend"}, + {a=0xaa7d, b=0xaaaf, v=0, name="None"}, + {a=0xaab0, b=0xaab0, v=2, name="Extend"}, + {a=0xaab1, b=0xaab1, v=0, name="None"}, + {a=0xaab2, b=0xaab4, v=2, name="Extend"}, + {a=0xaab5, b=0xaab6, v=0, name="None"}, + {a=0xaab7, b=0xaab8, v=2, name="Extend"}, + {a=0xaab9, b=0xaabd, v=0, name="None"}, + {a=0xaabe, b=0xaabf, v=2, name="Extend"}, + {a=0xaac0, b=0xaac0, v=0, name="None"}, + {a=0xaac1, b=0xaac1, v=2, name="Extend"}, + {a=0xaac2, b=0xaaeb, v=0, name="None"}, + {a=0xaaec, b=0xaaed, v=2, name="Extend"}, + {a=0xaaee, b=0xaaf5, v=0, name="None"}, + {a=0xaaf6, b=0xaaf6, v=2, name="Extend"}, + {a=0xaaf7, b=0xabe4, v=0, name="None"}, + {a=0xabe5, b=0xabe5, v=2, name="Extend"}, + {a=0xabe6, b=0xabe7, v=0, name="None"}, + {a=0xabe8, b=0xabe8, v=2, name="Extend"}, + {a=0xabe9, b=0xabec, v=0, name="None"}, + {a=0xabed, b=0xabed, v=2, name="Extend"}, + {a=0xabee, b=0xfb1d, v=0, name="None"}, + {a=0xfb1e, b=0xfb1e, v=2, name="Extend"}, + {a=0xfb1f, b=0xfdff, v=0, name="None"}, + {a=0xfe00, b=0xfe0f, v=2, name="Extend"}, + {a=0xfe10, b=0xfe1f, v=0, name="None"}, + {a=0xfe20, b=0xfe2f, v=2, name="Extend"}, + {a=0xfe30, b=0xff9d, v=0, name="None"}, + {a=0xff9e, b=0xff9f, v=2, name="Extend"}, + {a=0xffa0, b=0x101fc, v=0, name="None"}, + {a=0x101fd, b=0x101fd, v=2, name="Extend"}, + {a=0x101fe, b=0x102df, v=0, name="None"}, + {a=0x102e0, b=0x102e0, v=2, name="Extend"}, + {a=0x102e1, b=0x10375, v=0, name="None"}, + {a=0x10376, b=0x1037a, v=2, name="Extend"}, + {a=0x1037b, b=0x10a00, v=0, name="None"}, + {a=0x10a01, b=0x10a03, v=2, name="Extend"}, + {a=0x10a04, b=0x10a04, v=0, name="None"}, + {a=0x10a05, b=0x10a06, v=2, name="Extend"}, + {a=0x10a07, b=0x10a0b, v=0, name="None"}, + {a=0x10a0c, b=0x10a0f, v=2, name="Extend"}, + {a=0x10a10, b=0x10a37, v=0, name="None"}, + {a=0x10a38, b=0x10a3a, v=2, name="Extend"}, + {a=0x10a3b, b=0x10a3e, v=0, name="None"}, + {a=0x10a3f, b=0x10a3f, v=2, name="Extend"}, + {a=0x10a40, b=0x10ae4, v=0, name="None"}, + {a=0x10ae5, b=0x10ae6, v=2, name="Extend"}, + {a=0x10ae7, b=0x10d23, v=0, name="None"}, + {a=0x10d24, b=0x10d27, v=2, name="Extend"}, + {a=0x10d28, b=0x10d68, v=0, name="None"}, + {a=0x10d69, b=0x10d6d, v=2, name="Extend"}, + {a=0x10d6e, b=0x10eaa, v=0, name="None"}, + {a=0x10eab, b=0x10eac, v=2, name="Extend"}, + {a=0x10ead, b=0x10efb, v=0, name="None"}, + {a=0x10efc, b=0x10eff, v=2, name="Extend"}, + {a=0x10f00, b=0x10f45, v=0, name="None"}, + {a=0x10f46, b=0x10f50, v=2, name="Extend"}, + {a=0x10f51, b=0x10f81, v=0, name="None"}, + {a=0x10f82, b=0x10f85, v=2, name="Extend"}, + {a=0x10f86, b=0x11000, v=0, name="None"}, + {a=0x11001, b=0x11001, v=2, name="Extend"}, + {a=0x11002, b=0x11037, v=0, name="None"}, + {a=0x11038, b=0x11046, v=2, name="Extend"}, + {a=0x11047, b=0x1106f, v=0, name="None"}, + {a=0x11070, b=0x11070, v=2, name="Extend"}, + {a=0x11071, b=0x11072, v=0, name="None"}, + {a=0x11073, b=0x11074, v=2, name="Extend"}, + {a=0x11075, b=0x1107e, v=0, name="None"}, + {a=0x1107f, b=0x11081, v=2, name="Extend"}, + {a=0x11082, b=0x110b2, v=0, name="None"}, + {a=0x110b3, b=0x110b6, v=2, name="Extend"}, + {a=0x110b7, b=0x110b8, v=0, name="None"}, + {a=0x110b9, b=0x110ba, v=2, name="Extend"}, + {a=0x110bb, b=0x110c1, v=0, name="None"}, + {a=0x110c2, b=0x110c2, v=2, name="Extend"}, + {a=0x110c3, b=0x110ff, v=0, name="None"}, + {a=0x11100, b=0x11102, v=2, name="Extend"}, + {a=0x11103, b=0x11126, v=0, name="None"}, + {a=0x11127, b=0x1112b, v=2, name="Extend"}, + {a=0x1112c, b=0x1112c, v=0, name="None"}, + {a=0x1112d, b=0x11134, v=2, name="Extend"}, + {a=0x11135, b=0x11172, v=0, name="None"}, + {a=0x11173, b=0x11173, v=2, name="Extend"}, + {a=0x11174, b=0x1117f, v=0, name="None"}, + {a=0x11180, b=0x11181, v=2, name="Extend"}, + {a=0x11182, b=0x111b5, v=0, name="None"}, + {a=0x111b6, b=0x111be, v=2, name="Extend"}, + {a=0x111bf, b=0x111bf, v=0, name="None"}, + {a=0x111c0, b=0x111c0, v=2, name="Extend"}, + {a=0x111c1, b=0x111c8, v=0, name="None"}, + {a=0x111c9, b=0x111cc, v=2, name="Extend"}, + {a=0x111cd, b=0x111ce, v=0, name="None"}, + {a=0x111cf, b=0x111cf, v=2, name="Extend"}, + {a=0x111d0, b=0x1122e, v=0, name="None"}, + {a=0x1122f, b=0x11231, v=2, name="Extend"}, + {a=0x11232, b=0x11233, v=0, name="None"}, + {a=0x11234, b=0x11237, v=2, name="Extend"}, + {a=0x11238, b=0x1123d, v=0, name="None"}, + {a=0x1123e, b=0x1123e, v=2, name="Extend"}, + {a=0x1123f, b=0x11240, v=0, name="None"}, + {a=0x11241, b=0x11241, v=2, name="Extend"}, + {a=0x11242, b=0x112de, v=0, name="None"}, + {a=0x112df, b=0x112df, v=2, name="Extend"}, + {a=0x112e0, b=0x112e2, v=0, name="None"}, + {a=0x112e3, b=0x112ea, v=2, name="Extend"}, + {a=0x112eb, b=0x112ff, v=0, name="None"}, + {a=0x11300, b=0x11301, v=2, name="Extend"}, + {a=0x11302, b=0x1133a, v=0, name="None"}, + {a=0x1133b, b=0x1133c, v=2, name="Extend"}, + {a=0x1133d, b=0x1133d, v=0, name="None"}, + {a=0x1133e, b=0x1133e, v=2, name="Extend"}, + {a=0x1133f, b=0x1133f, v=0, name="None"}, + {a=0x11340, b=0x11340, v=2, name="Extend"}, + {a=0x11341, b=0x1134c, v=0, name="None"}, + {a=0x1134d, b=0x1134d, v=2, name="Extend"}, + {a=0x1134e, b=0x11356, v=0, name="None"}, + {a=0x11357, b=0x11357, v=2, name="Extend"}, + {a=0x11358, b=0x11365, v=0, name="None"}, + {a=0x11366, b=0x1136c, v=2, name="Extend"}, + {a=0x1136d, b=0x1136f, v=0, name="None"}, + {a=0x11370, b=0x11374, v=2, name="Extend"}, + {a=0x11375, b=0x113b7, v=0, name="None"}, + {a=0x113b8, b=0x113b8, v=2, name="Extend"}, + {a=0x113b9, b=0x113ba, v=0, name="None"}, + {a=0x113bb, b=0x113c0, v=2, name="Extend"}, + {a=0x113c1, b=0x113c1, v=0, name="None"}, + {a=0x113c2, b=0x113c2, v=2, name="Extend"}, + {a=0x113c3, b=0x113c4, v=0, name="None"}, + {a=0x113c5, b=0x113c5, v=2, name="Extend"}, + {a=0x113c6, b=0x113c6, v=0, name="None"}, + {a=0x113c7, b=0x113c9, v=2, name="Extend"}, + {a=0x113ca, b=0x113cd, v=0, name="None"}, + {a=0x113ce, b=0x113d0, v=2, name="Extend"}, + {a=0x113d1, b=0x113d1, v=0, name="None"}, + {a=0x113d2, b=0x113d2, v=2, name="Extend"}, + {a=0x113d3, b=0x113e0, v=0, name="None"}, + {a=0x113e1, b=0x113e2, v=2, name="Extend"}, + {a=0x113e3, b=0x11437, v=0, name="None"}, + {a=0x11438, b=0x1143f, v=2, name="Extend"}, + {a=0x11440, b=0x11441, v=0, name="None"}, + {a=0x11442, b=0x11444, v=2, name="Extend"}, + {a=0x11445, b=0x11445, v=0, name="None"}, + {a=0x11446, b=0x11446, v=2, name="Extend"}, + {a=0x11447, b=0x1145d, v=0, name="None"}, + {a=0x1145e, b=0x1145e, v=2, name="Extend"}, + {a=0x1145f, b=0x114af, v=0, name="None"}, + {a=0x114b0, b=0x114b0, v=2, name="Extend"}, + {a=0x114b1, b=0x114b2, v=0, name="None"}, + {a=0x114b3, b=0x114b8, v=2, name="Extend"}, + {a=0x114b9, b=0x114b9, v=0, name="None"}, + {a=0x114ba, b=0x114ba, v=2, name="Extend"}, + {a=0x114bb, b=0x114bc, v=0, name="None"}, + {a=0x114bd, b=0x114bd, v=2, name="Extend"}, + {a=0x114be, b=0x114be, v=0, name="None"}, + {a=0x114bf, b=0x114c0, v=2, name="Extend"}, + {a=0x114c1, b=0x114c1, v=0, name="None"}, + {a=0x114c2, b=0x114c3, v=2, name="Extend"}, + {a=0x114c4, b=0x115ae, v=0, name="None"}, + {a=0x115af, b=0x115af, v=2, name="Extend"}, + {a=0x115b0, b=0x115b1, v=0, name="None"}, + {a=0x115b2, b=0x115b5, v=2, name="Extend"}, + {a=0x115b6, b=0x115bb, v=0, name="None"}, + {a=0x115bc, b=0x115bd, v=2, name="Extend"}, + {a=0x115be, b=0x115be, v=0, name="None"}, + {a=0x115bf, b=0x115c0, v=2, name="Extend"}, + {a=0x115c1, b=0x115db, v=0, name="None"}, + {a=0x115dc, b=0x115dd, v=2, name="Extend"}, + {a=0x115de, b=0x11632, v=0, name="None"}, + {a=0x11633, b=0x1163a, v=2, name="Extend"}, + {a=0x1163b, b=0x1163c, v=0, name="None"}, + {a=0x1163d, b=0x1163d, v=2, name="Extend"}, + {a=0x1163e, b=0x1163e, v=0, name="None"}, + {a=0x1163f, b=0x11640, v=2, name="Extend"}, + {a=0x11641, b=0x116aa, v=0, name="None"}, + {a=0x116ab, b=0x116ab, v=2, name="Extend"}, + {a=0x116ac, b=0x116ac, v=0, name="None"}, + {a=0x116ad, b=0x116ad, v=2, name="Extend"}, + {a=0x116ae, b=0x116af, v=0, name="None"}, + {a=0x116b0, b=0x116b7, v=2, name="Extend"}, + {a=0x116b8, b=0x1171c, v=0, name="None"}, + {a=0x1171d, b=0x1171d, v=2, name="Extend"}, + {a=0x1171e, b=0x1171e, v=0, name="None"}, + {a=0x1171f, b=0x1171f, v=2, name="Extend"}, + {a=0x11720, b=0x11721, v=0, name="None"}, + {a=0x11722, b=0x11725, v=2, name="Extend"}, + {a=0x11726, b=0x11726, v=0, name="None"}, + {a=0x11727, b=0x1172b, v=2, name="Extend"}, + {a=0x1172c, b=0x1182e, v=0, name="None"}, + {a=0x1182f, b=0x11837, v=2, name="Extend"}, + {a=0x11838, b=0x11838, v=0, name="None"}, + {a=0x11839, b=0x1183a, v=2, name="Extend"}, + {a=0x1183b, b=0x1192f, v=0, name="None"}, + {a=0x11930, b=0x11930, v=2, name="Extend"}, + {a=0x11931, b=0x1193a, v=0, name="None"}, + {a=0x1193b, b=0x1193e, v=2, name="Extend"}, + {a=0x1193f, b=0x11942, v=0, name="None"}, + {a=0x11943, b=0x11943, v=2, name="Extend"}, + {a=0x11944, b=0x119d3, v=0, name="None"}, + {a=0x119d4, b=0x119d7, v=2, name="Extend"}, + {a=0x119d8, b=0x119d9, v=0, name="None"}, + {a=0x119da, b=0x119db, v=2, name="Extend"}, + {a=0x119dc, b=0x119df, v=0, name="None"}, + {a=0x119e0, b=0x119e0, v=2, name="Extend"}, + {a=0x119e1, b=0x11a00, v=0, name="None"}, + {a=0x11a01, b=0x11a0a, v=2, name="Extend"}, + {a=0x11a0b, b=0x11a32, v=0, name="None"}, + {a=0x11a33, b=0x11a38, v=2, name="Extend"}, + {a=0x11a39, b=0x11a3a, v=0, name="None"}, + {a=0x11a3b, b=0x11a3e, v=2, name="Extend"}, + {a=0x11a3f, b=0x11a46, v=0, name="None"}, + {a=0x11a47, b=0x11a47, v=2, name="Extend"}, + {a=0x11a48, b=0x11a50, v=0, name="None"}, + {a=0x11a51, b=0x11a56, v=2, name="Extend"}, + {a=0x11a57, b=0x11a58, v=0, name="None"}, + {a=0x11a59, b=0x11a5b, v=2, name="Extend"}, + {a=0x11a5c, b=0x11a89, v=0, name="None"}, + {a=0x11a8a, b=0x11a96, v=2, name="Extend"}, + {a=0x11a97, b=0x11a97, v=0, name="None"}, + {a=0x11a98, b=0x11a99, v=2, name="Extend"}, + {a=0x11a9a, b=0x11c2f, v=0, name="None"}, + {a=0x11c30, b=0x11c36, v=2, name="Extend"}, + {a=0x11c37, b=0x11c37, v=0, name="None"}, + {a=0x11c38, b=0x11c3d, v=2, name="Extend"}, + {a=0x11c3e, b=0x11c3e, v=0, name="None"}, + {a=0x11c3f, b=0x11c3f, v=2, name="Extend"}, + {a=0x11c40, b=0x11c91, v=0, name="None"}, + {a=0x11c92, b=0x11ca7, v=2, name="Extend"}, + {a=0x11ca8, b=0x11ca9, v=0, name="None"}, + {a=0x11caa, b=0x11cb0, v=2, name="Extend"}, + {a=0x11cb1, b=0x11cb1, v=0, name="None"}, + {a=0x11cb2, b=0x11cb3, v=2, name="Extend"}, + {a=0x11cb4, b=0x11cb4, v=0, name="None"}, + {a=0x11cb5, b=0x11cb6, v=2, name="Extend"}, + {a=0x11cb7, b=0x11d30, v=0, name="None"}, + {a=0x11d31, b=0x11d36, v=2, name="Extend"}, + {a=0x11d37, b=0x11d39, v=0, name="None"}, + {a=0x11d3a, b=0x11d3a, v=2, name="Extend"}, + {a=0x11d3b, b=0x11d3b, v=0, name="None"}, + {a=0x11d3c, b=0x11d3d, v=2, name="Extend"}, + {a=0x11d3e, b=0x11d3e, v=0, name="None"}, + {a=0x11d3f, b=0x11d45, v=2, name="Extend"}, + {a=0x11d46, b=0x11d46, v=0, name="None"}, + {a=0x11d47, b=0x11d47, v=2, name="Extend"}, + {a=0x11d48, b=0x11d8f, v=0, name="None"}, + {a=0x11d90, b=0x11d91, v=2, name="Extend"}, + {a=0x11d92, b=0x11d94, v=0, name="None"}, + {a=0x11d95, b=0x11d95, v=2, name="Extend"}, + {a=0x11d96, b=0x11d96, v=0, name="None"}, + {a=0x11d97, b=0x11d97, v=2, name="Extend"}, + {a=0x11d98, b=0x11ef2, v=0, name="None"}, + {a=0x11ef3, b=0x11ef4, v=2, name="Extend"}, + {a=0x11ef5, b=0x11eff, v=0, name="None"}, + {a=0x11f00, b=0x11f01, v=2, name="Extend"}, + {a=0x11f02, b=0x11f35, v=0, name="None"}, + {a=0x11f36, b=0x11f3a, v=2, name="Extend"}, + {a=0x11f3b, b=0x11f3f, v=0, name="None"}, + {a=0x11f40, b=0x11f42, v=2, name="Extend"}, + {a=0x11f43, b=0x11f59, v=0, name="None"}, + {a=0x11f5a, b=0x11f5a, v=2, name="Extend"}, + {a=0x11f5b, b=0x1343f, v=0, name="None"}, + {a=0x13440, b=0x13440, v=2, name="Extend"}, + {a=0x13441, b=0x13446, v=0, name="None"}, + {a=0x13447, b=0x13455, v=2, name="Extend"}, + {a=0x13456, b=0x1611d, v=0, name="None"}, + {a=0x1611e, b=0x16129, v=2, name="Extend"}, + {a=0x1612a, b=0x1612c, v=0, name="None"}, + {a=0x1612d, b=0x1612f, v=2, name="Extend"}, + {a=0x16130, b=0x16aef, v=0, name="None"}, + {a=0x16af0, b=0x16af4, v=2, name="Extend"}, + {a=0x16af5, b=0x16b2f, v=0, name="None"}, + {a=0x16b30, b=0x16b36, v=2, name="Extend"}, + {a=0x16b37, b=0x16f4e, v=0, name="None"}, + {a=0x16f4f, b=0x16f4f, v=2, name="Extend"}, + {a=0x16f50, b=0x16f8e, v=0, name="None"}, + {a=0x16f8f, b=0x16f92, v=2, name="Extend"}, + {a=0x16f93, b=0x16fe3, v=0, name="None"}, + {a=0x16fe4, b=0x16fe4, v=2, name="Extend"}, + {a=0x16fe5, b=0x16fef, v=0, name="None"}, + {a=0x16ff0, b=0x16ff1, v=2, name="Extend"}, + {a=0x16ff2, b=0x1bc9c, v=0, name="None"}, + {a=0x1bc9d, b=0x1bc9e, v=2, name="Extend"}, + {a=0x1bc9f, b=0x1ceff, v=0, name="None"}, + {a=0x1cf00, b=0x1cf2d, v=2, name="Extend"}, + {a=0x1cf2e, b=0x1cf2f, v=0, name="None"}, + {a=0x1cf30, b=0x1cf46, v=2, name="Extend"}, + {a=0x1cf47, b=0x1d164, v=0, name="None"}, + {a=0x1d165, b=0x1d169, v=2, name="Extend"}, + {a=0x1d16a, b=0x1d16c, v=0, name="None"}, + {a=0x1d16d, b=0x1d172, v=2, name="Extend"}, + {a=0x1d173, b=0x1d17a, v=0, name="None"}, + {a=0x1d17b, b=0x1d182, v=2, name="Extend"}, + {a=0x1d183, b=0x1d184, v=0, name="None"}, + {a=0x1d185, b=0x1d18b, v=2, name="Extend"}, + {a=0x1d18c, b=0x1d1a9, v=0, name="None"}, + {a=0x1d1aa, b=0x1d1ad, v=2, name="Extend"}, + {a=0x1d1ae, b=0x1d241, v=0, name="None"}, + {a=0x1d242, b=0x1d244, v=2, name="Extend"}, + {a=0x1d245, b=0x1d9ff, v=0, name="None"}, + {a=0x1da00, b=0x1da36, v=2, name="Extend"}, + {a=0x1da37, b=0x1da3a, v=0, name="None"}, + {a=0x1da3b, b=0x1da6c, v=2, name="Extend"}, + {a=0x1da6d, b=0x1da74, v=0, name="None"}, + {a=0x1da75, b=0x1da75, v=2, name="Extend"}, + {a=0x1da76, b=0x1da83, v=0, name="None"}, + {a=0x1da84, b=0x1da84, v=2, name="Extend"}, + {a=0x1da85, b=0x1da9a, v=0, name="None"}, + {a=0x1da9b, b=0x1da9f, v=2, name="Extend"}, + {a=0x1daa0, b=0x1daa0, v=0, name="None"}, + {a=0x1daa1, b=0x1daaf, v=2, name="Extend"}, + {a=0x1dab0, b=0x1dfff, v=0, name="None"}, + {a=0x1e000, b=0x1e006, v=2, name="Extend"}, + {a=0x1e007, b=0x1e007, v=0, name="None"}, + {a=0x1e008, b=0x1e018, v=2, name="Extend"}, + {a=0x1e019, b=0x1e01a, v=0, name="None"}, + {a=0x1e01b, b=0x1e021, v=2, name="Extend"}, + {a=0x1e022, b=0x1e022, v=0, name="None"}, + {a=0x1e023, b=0x1e024, v=2, name="Extend"}, + {a=0x1e025, b=0x1e025, v=0, name="None"}, + {a=0x1e026, b=0x1e02a, v=2, name="Extend"}, + {a=0x1e02b, b=0x1e08e, v=0, name="None"}, + {a=0x1e08f, b=0x1e08f, v=2, name="Extend"}, + {a=0x1e090, b=0x1e12f, v=0, name="None"}, + {a=0x1e130, b=0x1e136, v=2, name="Extend"}, + {a=0x1e137, b=0x1e2ad, v=0, name="None"}, + {a=0x1e2ae, b=0x1e2ae, v=2, name="Extend"}, + {a=0x1e2af, b=0x1e2eb, v=0, name="None"}, + {a=0x1e2ec, b=0x1e2ef, v=2, name="Extend"}, + {a=0x1e2f0, b=0x1e4eb, v=0, name="None"}, + {a=0x1e4ec, b=0x1e4ef, v=2, name="Extend"}, + {a=0x1e4f0, b=0x1e5ed, v=0, name="None"}, + {a=0x1e5ee, b=0x1e5ef, v=2, name="Extend"}, + {a=0x1e5f0, b=0x1e8cf, v=0, name="None"}, + {a=0x1e8d0, b=0x1e8d6, v=2, name="Extend"}, + {a=0x1e8d7, b=0x1e943, v=0, name="None"}, + {a=0x1e944, b=0x1e94a, v=2, name="Extend"}, + {a=0x1e94b, b=0x1f3fa, v=0, name="None"}, + {a=0x1f3fb, b=0x1f3ff, v=2, name="Extend"}, + {a=0x1f400, b=0xe001f, v=0, name="None"}, + {a=0xe0020, b=0xe007f, v=2, name="Extend"}, + {a=0xe0080, b=0xe00ff, v=0, name="None"}, + {a=0xe0100, b=0xe01ef, v=2, name="Extend"}, + {a=0xe01f0, b=0x10ffff, v=0, name="None"}, +] + +[enum_property.code_point_trie] +index = [ + 0,0x40,0,0,0,0,0,0,0,0,0,0,0x80,0x90,0,0, + 0,0,0xcd,0,0,0,0xfc,0x13a,0x16a,0x19f,0,0x1d0,0x1ff,0x234,0x154,0x249, + 0x287,0x2b5,0x2de,0x314,0x351,0x390,0x3d0,0x40f,0x44e,0x48d,0x4cc,0x50b,0x54b,0x588,0x5c6,0x604, + 0x644,0x683,0x6c2,0x701,0x741,0x780,0x7bf,0x7f5,0x815,0x850,0x85f,0xc8,0x89c,0x8d6,0x910,0x5c2, + 0x5d6,0x5ef,0x5fc,0x612,0x632,0x64d,0x665,0x684,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef, + 0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef, + 0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef, + 0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x5ef,0x6a4,0,0x10,0x20,0x30,0x40,0x50,0x60, + 0x70,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20, + 0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0x80,0x90,0xa0,0xb0,0x90,0xa0,0xb0, + 0xc0,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0xcd,0xdd,0xed,0xfd,0,0x10,0x20, + 0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0xfc,0x10c,0x11c,0x12c,0x13a,0x14a,0x15a, + 0x16a,0x17a,0x18a,0x19a,0x19f,0x1af,0x1bf,0x1cf,0,0x10,0x20,0x30,0x1d0,0x1e0,0x1f0,0x200, + 0x1ff,0x20f,0x21f,0x22f,0x234,0x244,0x254,0x264,0x154,0x164,0x174,0x184,0x249,0x259,0x269,0x279, + 0x287,0x297,0x2a7,0x2b7,0x2b5,0x2c5,0x2d5,0x2e5,0x2de,0x2ee,0x2fe,0x30e,0x314,0x324,0x334,0x344, + 0x351,0x361,0x371,0x381,0x390,0x3a0,0x3b0,0x3c0,0x3d0,0x3e0,0x3f0,0x400,0x40f,0x41f,0x42f,0x43f, + 0x44e,0x45e,0x46e,0x47e,0x48d,0x49d,0x4ad,0x4bd,0x4cc,0x4dc,0x4ec,0x4fc,0x50b,0x51b,0x52b,0x53b, + 0x54b,0x55b,0x56b,0x57b,0x588,0x598,0x5a8,0x5b8,0x5c6,0x5d6,0x5e6,0x5f6,0x604,0x614,0x624,0x634, + 0x644,0x654,0x664,0x674,0x683,0x693,0x6a3,0x6b3,0x6c2,0x6d2,0x6e2,0x6f2,0x701,0x711,0x721,0x731, + 0x741,0x751,0x761,0x771,0x780,0x790,0x7a0,0x7b0,0x7bf,0x7cf,0x7df,0x7ef,0x7f5,0x805,0x815,0x825, + 0x835,0x845,0x850,0x860,0x870,0x880,0x85f,0x86f,0x87f,0x88f,0xc8,0xd8,0xe8,0xf8,0x89c,0x8ac, + 0x8bc,0x8cc,0x8d6,0x8e6,0x8f6,0x906,0x910,0x920,0x930,0x940,0x5c2,0x5d2,0x5e2,0x5f2,0,0, + 0x73,0x950,0,0x95f,0xbf,0x1f9,0x96f,0x1c2,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x73,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x97d, + 0,0x2cc,0,0x3b0,0,0x3b0,0,0,0,0x989,0x840,0x279,0,0,0x997,0, + 0,0,0,0,0,0,0x4c8,0,0x1c6,0,0,0,0,0,0,0, + 0x9a6,0x9b4,0,0,0,0,0,0,0,0,0,0,0,0,0x9c0,0, + 0,0,0x9cc,0x9da,0x9e7,0,0,0,0x80,0xb1,0,0,0,0xbc,0,0, + 0x9f7,0x2cc,0,0x75,0xbc,0xbe,0,0xa05,0,0,0,0xa13,0xbc,0,0,0x74, + 0xa22,0,0,0,0,0,0,0,0,0,0x333,0xa32,0xa3b,0,0,0, + 0,0,0,0,0,0,0,0,0,0x80,0x80,0x80,0x80,0x1c2,0,0, + 0,0,0,0,0,0,0,0,0,0,0x80,0x80,0xbf,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0xbe,0, + 0,0,0,0,0,0,0x71,0,0,0,0,0,0,0x80,0x80,0, + 0,0x76,0,0,0,0,0,0,0x4c4,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x71, + 0xa4b,0,0x72,0,0,0,0,0,0xbe,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0xa59,0,0xa65,0,0,0,0, + 0,0,0,0,0,0x4c9,0,0x80,0xa75,0,0,0x851,0,0x79,0x13e,0, + 0,0xbd,0,0,0xa81,0xbf,0,0x1ca,0,0,0xa8f,0xa9e,0xaab,0,0,0x1c3, + 0,0,0,0xabb,0x140,0,0x4b1,0x1c9,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0xacb,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0x1c1,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0x80,0,0x80,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x1c2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xbf, + 0,0,0,0,0,0,0,0,0xad9,0,0,0,0,0,0,0, + 0,0xae8,0,0,0xaf8,0,0,0,0,0,0,0,0,0,0,0x4c8, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0xaf0,0,0,0,0xb08,0,0,0,0,0,0,0,0,0, + 0,0x4b2,0,0,0,0,0x74,0,0,0,0,0x7a,0xbf,0,0,0x97d, + 0,0,0,0,0,0,0,0x140,0,0,0x78,0xb9,0,0,0xb15,0xbe, + 0,0,0xb21,0x1cd,0,0,0,0xbd,0,0xb2c,0xbb,0,0,0,0x1cc,0xbe, + 0,0,0x26e,0xb3b,0,0,0,0x71,0xb46,0x140,0,0,0,0,0,0, + 0,0,0x71,0x854,0,0xbe,0,0,0xb55,0x604,0x1c8,0xca,0xbb,0,0,0, + 0x83e,0xb61,0x13f,0x3b1,0,0,0,0x78,0xb6d,0x1c1,0,0,0,0,0,0xb7d, + 0x44d,0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0xb8d, + 0xbf,0x4b1,0,0,0,0xb9d,0xbf,0,0,0,0,0,0xbad,0xb8,0,0, + 0,0,0,0x8c4,0xbbb,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0x71,0x90d,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0xb19,0x1cc,0,0,0,0,0,0,0,0,0xb20,0xbf,0, + 0xbca,0,0,0xbd7,0x1c8,0xbe6,0,0,0x76,0xbf6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0xc06,0,0,0,0,0,0x7e,0xc15,0xc24,0,0,0,0,0,0,0, + 0xc33,0x545,0,0,0,0,0xc42,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0x4ca,0xbe,0,0,0xad9,0xbd,0x1c5,0,0,0, + 0,0,0,0,0,0,0,0xc52,0xba,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0x72,0xc59,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0xbb,0,0,0,0xb9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0,0, + 0,0x71,0xbd,0,0,0,0,0x1cb,0xbe,0,0,0,0,0,0,0, + 0,0,0x4b0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0x80,0x80,0xb2,0x80,0xb9,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0xc69,0xc76,0xc83,0,0xb1a,0,0,0,0,0,0x2cc,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0x80,0x80,0x80,0xc88,0x80,0x80, + 0xb3,0x1ca,0x1cb,0x75,0x7f,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0x32f,0xc93,0xca1,0,0,0, + 0,0,0x71,0,0,0,0,0,0,0,0,0,0,0xb9,0,0, + 0,0,0,0,0,0,0,0,0,0,0x1c1,0,0,0,0x74,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0x72,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb9,0, + 0,0,0,0,0,0xcc,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0x75,0,0,0x80,0x80,0x80,0x80,0x80,0x80,0,0, + 0,0,0,0,0,0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x80,0,0x79,0x89,0xa1,0xc0,0xe0,0x100,0x120,0x13e,0x15e,0x169, + 0x17f,0x18e,0x1ae,0x1cd,0x1ed,0x17f,0x20d,0x17f,0x17f,0x17f,0x17f,0x17f,0x21f,0x17f,0x23f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x259, + 0x279,0x298,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x2b7, + 0x17f,0x2d7,0x2f1,0x311,0x17f,0x17f,0x17f,0x331,0x340,0x357,0x377,0x395,0x3b4,0x3d2,0x3f0,0x410, + 0x42d,0x447,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x463,0x17f,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x472,0x17f,0x17f, + 0x17f,0x17f,0x485,0x17f,0x499,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x4b9,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x17f,0x4c9,0x4de,0x4fa,0x17f,0x17f, + 0x17f,0x51a,0x17f,0x17f,0x53a,0x550,0x562,0x17f,0x581,0x17f,0x17f,0x17f,0x17f,0x596,0x17f,0x17f, + 0x17f,0x17f,0x17f,0x17f,0x5b6 +] +data_8 = [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,0,2,2,0,2,2, + 0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2, + 2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,2, + 2,2,2,2,2,0,0,2,2,0,2,2,2,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,0, + 0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, + 2,0,2,2,2,2,2,2,2,2,2,0,2,2,2,0, + 2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,2,0,2,0,0, + 0,2,2,2,2,2,2,2,2,0,0,0,0,3,0,0, + 0,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1, + 0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1, + 0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1, + 1,0,1,0,0,0,1,1,1,1,0,0,2,0,2,0, + 2,2,2,2,0,0,0,0,0,0,0,0,3,0,0,0, + 0,0,0,0,0,0,2,0,0,0,0,1,1,0,1,0, + 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1, + 1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,2, + 0,0,0,0,2,2,0,0,2,2,2,0,0,0,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0, + 0,0,2,0,0,0,0,0,0,0,0,0,0,2,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1, + 0,1,1,1,1,1,0,0,2,0,0,0,2,2,2,2, + 2,0,2,2,0,0,0,0,3,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,2,2,2,2,2,2,0,2,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,0, + 1,1,1,1,1,0,0,2,0,2,2,2,2,0,0,0, + 0,0,0,0,0,3,0,0,0,0,0,0,0,2,2,2, + 0,0,0,0,1,1,0,1,0,0,2,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 2,0,2,2,0,0,0,0,0,2,2,2,0,2,2,2, + 3,0,0,0,0,0,0,0,2,2,0,1,1,1,0,0, + 0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, + 0,2,0,2,0,0,0,2,2,2,0,2,2,2,2,0, + 0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0, + 0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,2,0,2, + 0,2,2,2,2,0,0,0,0,0,0,0,0,3,0,0, + 0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, + 0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, + 0,0,0,0,2,0,0,2,2,2,0,2,0,0,0,0, + 0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,2,0,0,2,2,2,2,2,2,2, + 0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,0,2,2,0,0,0,0,0,2,2,2, + 2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, + 2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0, + 2,0,2,2,2,2,2,2,0,2,2,0,0,2,2,0, + 0,0,0,0,0,0,0,2,2,0,0,0,0,2,2,0, + 0,2,0,0,2,2,0,0,0,0,0,0,2,0,0,2, + 2,2,2,0,0,0,0,0,0,0,0,0,0,2,2,0, + 2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0, + 0,0,2,2,2,0,2,2,2,0,0,0,0,2,2,0, + 0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,2, + 0,0,0,0,0,0,0,2,2,0,0,2,0,0,0,0, + 0,0,2,0,2,2,2,2,2,2,2,0,2,0,0,2, + 2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2, + 2,2,2,2,0,0,2,0,0,0,0,2,2,2,2,2, + 2,2,2,2,2,0,0,2,2,2,2,0,0,2,2,2, + 2,2,2,0,0,0,0,0,0,2,0,2,2,0,0,0, + 2,0,2,2,2,2,0,0,2,2,0,0,0,0,0,0, + 0,0,2,0,2,2,2,2,2,2,2,0,0,0,0,2, + 0,0,0,2,2,0,0,0,0,0,0,2,2,2,0,2, + 2,2,2,2,2,2,2,2,2,0,0,2,0,0,0,2, + 0,0,0,0,2,0,0,0,0,0,2,2,0,0,0,0, + 0,2,0,0,0,2,2,0,0,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,2,2,2,2,0,0,2,2,0, + 0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,2, + 2,0,0,2,2,0,0,0,0,0,0,0,0,0,2,0, + 0,0,0,0,0,0,0,2,0,0,0,2,0,2,2,2, + 0,0,2,2,0,0,0,0,0,2,2,0,0,0,0,0, + 2,0,0,2,0,0,0,0,2,0,0,0,0,0,0,2, + 2,2,2,2,0,0,0,0,0,2,2,2,0,2,2,0, + 0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0, + 2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0, + 0,2,2,2,2,2,0,0,2,2,0,0,0,0,0,0, + 0,0,0,0,2,2,2,2,0,0,2,2,0,0,0,0, + 0,0,0,2,2,2,2,2,0,2,2,2,0,0,0,0, + 0,0,0,0,2,2,2,2,0,0,2,2,2,2,0,0, + 0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0, + 2,2,0,2,0,0,2,0,2,2,2,0,0,0,0,2, + 2,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0, + 2,2,2,2,2,2,0,2,0,0,2,0,2,0,0,2, + 2,2,2,0,0,0,0,0,0,2,2,0,2,0,0,0, + 2,2,2,2,2,2,2,2,0,0,2,0,2,0,0,0, + 0,0,0,0,0,0,0,0,2,0,2,0,0,2,2,2, + 2,0,2,2,2,2,2,0,0,0,0,2,2,2,2,2, + 2,2,2,2,2,0,0,0,0,0,2,2,2,2,2,2, + 0,0,2,2,2,2,0,2,2,2,2,2,2,0,0,2, + 2,2,0,0,0,0,2,2,2,2,2,2,2,0,2,2, + 0,0,0,0,0,0,2,2,2,2,2,2,2,0,2,2, + 2,2,2,2,0,2,2,2,2,2,2,2,2,0,0,2, + 2,2,2,2,2,0,2,2,0,2,2,0,0,0,0,0, + 0,0,0,0,2,2,2,2,2,2,0,0,0,2,0,2, + 2,0,2,2,0,0,0,2,0,2,0,0,0,0,0,0, + 0,0,2,0,0,0,0,0,0,2,2,2,2,2,2,2, + 2,2,2,0,0,0,2,2,2,0,0,0,0,0,2,2, + 2,2,2,0,0,0,2,2,2,0,0,0,0,0,0,0, + 0,2,2,2,2,2,0,0,2,2,2,2,2,2,2,0, + 0,0,0,2,2,2,2,2,2,2,2,2,0,0,2,2, + 2,2,2,0,2,2,0,2,2,2,2,2,0,0,0,0, + 0,0 +] +indexLength = 1701 +dataLength = 3250 +highStart = 0xe0200 +shifted12HighStart = 0xe1 +type = 1 +valueWidth = 2 +index3NullOffset = 0x17f +dataNullOffset = 0x0 +nullValue = 0x0 diff --git a/provider/source/tests/data/icuexport/uprops/small/vo.toml b/provider/source/tests/data/icuexport/uprops/small/vo.toml index 54060445d4b..5fdea047446 100644 --- a/provider/source/tests/data/icuexport/uprops/small/vo.toml +++ b/provider/source/tests/data/icuexport/uprops/small/vo.toml @@ -5,7 +5,7 @@ # # machine-generated by: icuexportdata.cpp -icu_version = "77.0.1" +icu_version = "77.1" unicode_version = "16.0" [[enum_property]] diff --git a/tools/make/download-repo-sources/globs.rs.data b/tools/make/download-repo-sources/globs.rs.data index 7caecbb367b..49ed66769e0 100644 --- a/tools/make/download-repo-sources/globs.rs.data +++ b/tools/make/download-repo-sources/globs.rs.data @@ -156,6 +156,7 @@ const ICUEXPORTDATA_GLOB: &[&str] = &[ "uprops/small/IDS.toml", "uprops/small/IDSB.toml", "uprops/small/IDST.toml", + "uprops/small/InCB.toml", "uprops/small/InSC.toml", "uprops/small/Join_C.toml", "uprops/small/jt.toml", From 309973e2bc0caf96a1745f80a1f8354eb505a37f Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Fri, 28 Mar 2025 18:04:10 +0900 Subject: [PATCH 2/7] Fix rustfmt --- ffi/capi/src/properties_names.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ffi/capi/src/properties_names.rs b/ffi/capi/src/properties_names.rs index 9f343cebfaa..4fa6eaf153f 100644 --- a/ffi/capi/src/properties_names.rs +++ b/ffi/capi/src/properties_names.rs @@ -169,7 +169,11 @@ pub mod ffi { #[diplomat::attr(auto, named_constructor = "indic_conjunct_break")] #[cfg(feature = "compiled_data")] pub fn create_indic_conjunct_break() -> Box { - Box::new(PropertyValueNameToEnumMapper(icu_properties::PropertyParser::::new().static_to_owned().erase())) + Box::new(PropertyValueNameToEnumMapper( + icu_properties::PropertyParser::::new() + .static_to_owned() + .erase(), + )) } /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. #[diplomat::rust_link(icu_properties::props::IndicConjunctBreak, Struct)] From b9a4bb6a51104fff12b0b819d589ca2c492cacbb Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Tue, 1 Apr 2025 15:52:34 +0900 Subject: [PATCH 3/7] Add #[doc(hidden)] --- components/properties/src/props.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/components/properties/src/props.rs b/components/properties/src/props.rs index aa4fcb5edee..9149c14cbfc 100644 --- a/components/properties/src/props.rs +++ b/components/properties/src/props.rs @@ -1439,6 +1439,7 @@ make_enumerated_property! { /// assert_eq!(CodePointMapData::::new().get('\u{0915}'), IndicConjunctBreak::Consonant); /// assert_eq!(CodePointMapData::::new().get('\u{0300}'), IndicConjunctBreak::Extend); /// ``` +#[doc(hidden)] // draft API in ICU4C #[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "datagen", derive(databake::Bake))] From 2b406cd0392f72f1dee444713f92158fd9222794 Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Thu, 3 Apr 2025 16:46:17 +0900 Subject: [PATCH 4/7] Remove parser, short name and long name --- components/properties/src/names.rs | 8 -- components/properties/src/props.rs | 10 --- components/properties/src/provider.rs | 29 +++---- .../c/PropertyValueNameToEnumMapper.h | 5 -- .../cpp/icu4x/IndicConjunctBreak.d.hpp | 2 +- .../bindings/cpp/icu4x/IndicConjunctBreak.hpp | 2 +- .../icu4x/PropertyValueNameToEnumMapper.d.hpp | 14 ---- .../icu4x/PropertyValueNameToEnumMapper.hpp | 15 ---- .../dart/PropertyValueNameToEnumMapper.g.dart | 31 -------- .../js/PropertyValueNameToEnumMapper.d.ts | 14 ---- .../js/PropertyValueNameToEnumMapper.mjs | 38 ---------- ffi/capi/src/properties_names.rs | 29 ------- provider/data/properties/data/mod.rs | 6 -- ..._name_long_indic_conjunct_break_v1.rs.data | 75 ------------------- ...name_parse_indic_conjunct_break_v1.rs.data | 75 ------------------- ...name_short_indic_conjunct_break_v1.rs.data | 75 ------------------- provider/data/properties/fingerprints.csv | 3 - provider/data/properties/stubdata/mod.rs | 6 -- ..._name_long_indic_conjunct_break_v1.rs.data | 75 ------------------- ...name_parse_indic_conjunct_break_v1.rs.data | 75 ------------------- ...name_short_indic_conjunct_break_v1.rs.data | 75 ------------------- provider/registry/src/lib.rs | 3 - .../PropertyNameLongIndicConjunctBreakV1.json | 5 -- ...PropertyNameParseIndicConjunctBreakV1.json | 5 -- ...PropertyNameShortIndicConjunctBreakV1.json | 5 -- 25 files changed, 13 insertions(+), 667 deletions(-) delete mode 100644 provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data delete mode 100644 provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data delete mode 100644 provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data delete mode 100644 provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data delete mode 100644 provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data delete mode 100644 provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data delete mode 100644 provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json delete mode 100644 provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json delete mode 100644 provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json diff --git a/components/properties/src/names.rs b/components/properties/src/names.rs index 93b93b639ec..1aa107fd3bb 100644 --- a/components/properties/src/names.rs +++ b/components/properties/src/names.rs @@ -882,14 +882,6 @@ impl_value_getter! { } } -impl_value_getter! { - impl IndicConjunctBreak { - PropertyNameParseIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1; - PropertyEnumToValueNameLinearMap / PropertyNameShortIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1; - PropertyEnumToValueNameLinearMap / PropertyNameLongIndicConjunctBreakV1 / SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1; - } -} - impl_value_getter! { impl IndicSyllabicCategory { PropertyNameParseIndicSyllabicCategoryV1 / SINGLETON_PROPERTY_NAME_PARSE_INDIC_SYLLABIC_CATEGORY_V1; diff --git a/components/properties/src/props.rs b/components/properties/src/props.rs index 9149c14cbfc..7d0e5aea1ef 100644 --- a/components/properties/src/props.rs +++ b/components/properties/src/props.rs @@ -3150,16 +3150,6 @@ mod test_enumerated_property_completeness { ); } - // This test is ignored since all names aren't defined in IcCB.toml into icuexport. - #[test] - #[ignore] - fn test_incb() { - check_enum( - crate::provider::Baked::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1, - IndicConjunctBreak::ALL_VALUES, - ); - } - #[test] fn test_insc() { check_enum( diff --git a/components/properties/src/provider.rs b/components/properties/src/provider.rs index c59360d549d..0f77e7fe6be 100644 --- a/components/properties/src/provider.rs +++ b/components/properties/src/provider.rs @@ -21,23 +21,22 @@ pub use names::{ PropertyNameLongBidiClassV1, PropertyNameLongCanonicalCombiningClassV1, PropertyNameLongEastAsianWidthV1, PropertyNameLongGeneralCategoryV1, PropertyNameLongGraphemeClusterBreakV1, PropertyNameLongHangulSyllableTypeV1, - PropertyNameLongIndicConjunctBreakV1, PropertyNameLongIndicSyllabicCategoryV1, - PropertyNameLongJoiningTypeV1, PropertyNameLongLineBreakV1, PropertyNameLongScriptV1, - PropertyNameLongSentenceBreakV1, PropertyNameLongVerticalOrientationV1, - PropertyNameLongWordBreakV1, PropertyNameParseBidiClassV1, - PropertyNameParseCanonicalCombiningClassV1, PropertyNameParseEastAsianWidthV1, - PropertyNameParseGeneralCategoryMaskV1, PropertyNameParseGeneralCategoryV1, - PropertyNameParseGraphemeClusterBreakV1, PropertyNameParseHangulSyllableTypeV1, - PropertyNameParseIndicConjunctBreakV1, PropertyNameParseIndicSyllabicCategoryV1, + PropertyNameLongIndicSyllabicCategoryV1, PropertyNameLongJoiningTypeV1, + PropertyNameLongLineBreakV1, PropertyNameLongScriptV1, PropertyNameLongSentenceBreakV1, + PropertyNameLongVerticalOrientationV1, PropertyNameLongWordBreakV1, + PropertyNameParseBidiClassV1, PropertyNameParseCanonicalCombiningClassV1, + PropertyNameParseEastAsianWidthV1, PropertyNameParseGeneralCategoryMaskV1, + PropertyNameParseGeneralCategoryV1, PropertyNameParseGraphemeClusterBreakV1, + PropertyNameParseHangulSyllableTypeV1, PropertyNameParseIndicSyllabicCategoryV1, PropertyNameParseJoiningTypeV1, PropertyNameParseLineBreakV1, PropertyNameParseScriptV1, PropertyNameParseSentenceBreakV1, PropertyNameParseVerticalOrientationV1, PropertyNameParseWordBreakV1, PropertyNameShortBidiClassV1, PropertyNameShortCanonicalCombiningClassV1, PropertyNameShortEastAsianWidthV1, PropertyNameShortGeneralCategoryV1, PropertyNameShortGraphemeClusterBreakV1, - PropertyNameShortHangulSyllableTypeV1, PropertyNameShortIndicConjunctBreakV1, - PropertyNameShortIndicSyllabicCategoryV1, PropertyNameShortJoiningTypeV1, - PropertyNameShortLineBreakV1, PropertyNameShortScriptV1, PropertyNameShortSentenceBreakV1, - PropertyNameShortVerticalOrientationV1, PropertyNameShortWordBreakV1, + PropertyNameShortHangulSyllableTypeV1, PropertyNameShortIndicSyllabicCategoryV1, + PropertyNameShortJoiningTypeV1, PropertyNameShortLineBreakV1, PropertyNameShortScriptV1, + PropertyNameShortSentenceBreakV1, PropertyNameShortVerticalOrientationV1, + PropertyNameShortWordBreakV1, }; pub use crate::props::gc::GeneralCategoryULE; @@ -158,7 +157,6 @@ const _: () = { impl_property_name_long_general_category_v1!(Baked); impl_property_name_long_grapheme_cluster_break_v1!(Baked); impl_property_name_long_hangul_syllable_type_v1!(Baked); - impl_property_name_long_indic_conjunct_break_v1!(Baked); impl_property_name_long_indic_syllabic_category_v1!(Baked); impl_property_name_long_joining_type_v1!(Baked); impl_property_name_long_line_break_v1!(Baked); @@ -173,7 +171,6 @@ const _: () = { impl_property_name_parse_general_category_v1!(Baked); impl_property_name_parse_grapheme_cluster_break_v1!(Baked); impl_property_name_parse_hangul_syllable_type_v1!(Baked); - impl_property_name_parse_indic_conjunct_break_v1!(Baked); impl_property_name_parse_indic_syllabic_category_v1!(Baked); impl_property_name_parse_joining_type_v1!(Baked); impl_property_name_parse_line_break_v1!(Baked); @@ -187,7 +184,6 @@ const _: () = { impl_property_name_short_general_category_v1!(Baked); impl_property_name_short_grapheme_cluster_break_v1!(Baked); impl_property_name_short_hangul_syllable_type_v1!(Baked); - impl_property_name_short_indic_conjunct_break_v1!(Baked); impl_property_name_short_indic_syllabic_category_v1!(Baked); impl_property_name_short_joining_type_v1!(Baked); impl_property_name_short_line_break_v1!(Baked); @@ -699,7 +695,6 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameLongGeneralCategoryV1::INFO, PropertyNameLongGraphemeClusterBreakV1::INFO, PropertyNameLongHangulSyllableTypeV1::INFO, - PropertyNameLongIndicConjunctBreakV1::INFO, PropertyNameLongIndicSyllabicCategoryV1::INFO, PropertyNameLongJoiningTypeV1::INFO, PropertyNameLongLineBreakV1::INFO, @@ -714,7 +709,6 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameParseGeneralCategoryV1::INFO, PropertyNameParseGraphemeClusterBreakV1::INFO, PropertyNameParseHangulSyllableTypeV1::INFO, - PropertyNameParseIndicConjunctBreakV1::INFO, PropertyNameParseIndicSyllabicCategoryV1::INFO, PropertyNameParseJoiningTypeV1::INFO, PropertyNameParseLineBreakV1::INFO, @@ -728,7 +722,6 @@ pub const MARKERS: &[DataMarkerInfo] = &[ PropertyNameShortGeneralCategoryV1::INFO, PropertyNameShortGraphemeClusterBreakV1::INFO, PropertyNameShortHangulSyllableTypeV1::INFO, - PropertyNameShortIndicConjunctBreakV1::INFO, PropertyNameShortIndicSyllabicCategoryV1::INFO, PropertyNameShortJoiningTypeV1::INFO, PropertyNameShortLineBreakV1::INFO, diff --git a/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h b/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h index b7d88916b2b..1d29529c698 100644 --- a/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h +++ b/ffi/capi/bindings/c/PropertyValueNameToEnumMapper.h @@ -41,11 +41,6 @@ PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_bidi_c typedef struct icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result; icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(const DataProvider* provider); -PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(void); - -typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result; -icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(const DataProvider* provider); - PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(void); typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result {union {PropertyValueNameToEnumMapper* ok; DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result; diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp index f3aba3a5b61..a0c52ec1c20 100644 --- a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp +++ b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp @@ -58,7 +58,7 @@ class IndicConjunctBreak { * * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. */ - inline uint8_t to_integer_value(); + inline uint8_t to_integer_value() const; /** * Convert from an integer value from ICU4C or CodePointMapData diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp index d169a373682..d38dce40d10 100644 --- a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp +++ b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp @@ -50,7 +50,7 @@ inline icu4x::IndicConjunctBreak icu4x::IndicConjunctBreak::for_char(char32_t ch return icu4x::IndicConjunctBreak::FromFFI(result); } -inline uint8_t icu4x::IndicConjunctBreak::to_integer_value() { +inline uint8_t icu4x::IndicConjunctBreak::to_integer_value() const { auto result = icu4x::capi::icu4x_IndicConjunctBreak_to_integer_value_mv1(this->AsFFI()); return result; } diff --git a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp index a3fdc7e7e69..6e3929253cb 100644 --- a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp +++ b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.d.hpp @@ -112,20 +112,6 @@ class PropertyValueNameToEnumMapper { */ inline static diplomat::result, icu4x::DataError> create_bidi_class_with_provider(const icu4x::DataProvider& provider); - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - inline static std::unique_ptr create_indic_conjunct_break(); - - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - inline static diplomat::result, icu4x::DataError> create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider); - /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp index df581740fb5..574507d9d57 100644 --- a/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp +++ b/ffi/capi/bindings/cpp/icu4x/PropertyValueNameToEnumMapper.hpp @@ -43,11 +43,6 @@ namespace capi { typedef struct icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result; icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(const icu4x::capi::DataProvider* provider); - icu4x::capi::PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(void); - - typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result; - icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1_result icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(const icu4x::capi::DataProvider* provider); - icu4x::capi::PropertyValueNameToEnumMapper* icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(void); typedef struct icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result {union {icu4x::capi::PropertyValueNameToEnumMapper* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_with_provider_mv1_result; @@ -142,16 +137,6 @@ inline diplomat::result, i return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); } -inline std::unique_ptr icu4x::PropertyValueNameToEnumMapper::create_indic_conjunct_break() { - auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); - return std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result)); -} - -inline diplomat::result, icu4x::DataError> icu4x::PropertyValueNameToEnumMapper::create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider) { - auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(provider.AsFFI()); - return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); -} - inline std::unique_ptr icu4x::PropertyValueNameToEnumMapper::create_indic_syllabic_category() { auto result = icu4x::capi::icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1(); return std::unique_ptr(icu4x::PropertyValueNameToEnumMapper::FromFFI(result)); diff --git a/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart b/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart index 42f5ba44267..9e72c5b0fb8 100644 --- a/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart +++ b/ffi/capi/bindings/dart/PropertyValueNameToEnumMapper.g.dart @@ -135,27 +135,6 @@ final class PropertyValueNameToEnumMapper implements ffi.Finalizable { return PropertyValueNameToEnumMapper._fromFfi(result.union.ok, []); } - /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. - /// - /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - factory PropertyValueNameToEnumMapper.indicConjunctBreak() { - final result = _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); - return PropertyValueNameToEnumMapper._fromFfi(result, []); - } - - /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. - /// - /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - /// - /// Throws [DataError] on failure. - factory PropertyValueNameToEnumMapper.indicConjunctBreakWithProvider(DataProvider provider) { - final result = _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(provider._ffi); - if (!result.isOk) { - throw DataError.values[result.union.err]; - } - return PropertyValueNameToEnumMapper._fromFfi(result.union.ok, []); - } - /// Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. /// /// See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicSyllabicCategory.html) for more information. @@ -359,16 +338,6 @@ external ffi.Pointer _icu4x_PropertyValueNameToEnumMapper_create_bid // ignore: non_constant_identifier_names external _ResultOpaqueInt32 _icu4x_PropertyValueNameToEnumMapper_create_bidi_class_with_provider_mv1(ffi.Pointer provider); -@_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1') -@ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1') -// ignore: non_constant_identifier_names -external ffi.Pointer _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); - -@_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1') -@ffi.Native<_ResultOpaqueInt32 Function(ffi.Pointer)>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1') -// ignore: non_constant_identifier_names -external _ResultOpaqueInt32 _icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(ffi.Pointer provider); - @_DiplomatFfiUse('icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1') @ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_PropertyValueNameToEnumMapper_create_indic_syllabic_category_mv1') // ignore: non_constant_identifier_names diff --git a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts index 195ac017c26..354e7e22c89 100644 --- a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts +++ b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.d.ts @@ -93,20 +93,6 @@ export class PropertyValueNameToEnumMapper { */ static createBidiClassWithProvider(provider: DataProvider): PropertyValueNameToEnumMapper; - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreak(): PropertyValueNameToEnumMapper; - - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreakWithProvider(provider: DataProvider): PropertyValueNameToEnumMapper; - /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs index 81dad2a3fc2..c35d19fd23e 100644 --- a/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs +++ b/ffi/capi/bindings/js/PropertyValueNameToEnumMapper.mjs @@ -245,44 +245,6 @@ export class PropertyValueNameToEnumMapper { } } - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreak() { - const result = wasm.icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_mv1(); - - try { - return new PropertyValueNameToEnumMapper(diplomatRuntime.internalConstructor, result, []); - } - - finally {} - } - - /** - * Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu_properties/latest/icu_properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreakWithProvider(provider) { - const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); - - const result = wasm.icu4x_PropertyValueNameToEnumMapper_create_indic_conjunct_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); - - try { - if (!diplomatReceive.resultFlag) { - const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); - throw new globalThis.Error('DataError: ' + cause.value, { cause }); - } - return new PropertyValueNameToEnumMapper(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); - } - - finally { - diplomatReceive.free(); - } - } - /** * Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. * diff --git a/ffi/capi/src/properties_names.rs b/ffi/capi/src/properties_names.rs index 4fa6eaf153f..87df5f6ffc7 100644 --- a/ffi/capi/src/properties_names.rs +++ b/ffi/capi/src/properties_names.rs @@ -164,35 +164,6 @@ pub mod ffi { .erase(), ))) } - /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using compiled data. - #[diplomat::rust_link(icu_properties::props::IndicConjunctBreak, Struct)] - #[diplomat::attr(auto, named_constructor = "indic_conjunct_break")] - #[cfg(feature = "compiled_data")] - pub fn create_indic_conjunct_break() -> Box { - Box::new(PropertyValueNameToEnumMapper( - icu_properties::PropertyParser::::new() - .static_to_owned() - .erase(), - )) - } - /// Create a name-to-enum mapper for the `Indic_Conjunct_Break` property, using a particular data source. - #[diplomat::rust_link(icu_properties::props::IndicConjunctBreak, Struct)] - #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors), named_constructor = "indic_conjunct_break_with_provider")] - #[cfg(feature = "buffer_provider")] - pub fn create_indic_conjunct_break_with_provider( - provider: &DataProvider, - ) -> Result, DataError> { - Ok( - Box::new( - PropertyValueNameToEnumMapper( - icu_properties::PropertyParser::< - icu_properties::props::IndicConjunctBreak, - >::try_new_unstable(&provider.get_unstable()?)? - .erase(), - ), - ), - ) - } /// Create a name-to-enum mapper for the `Indic_Syllabic_Category` property, using compiled data. #[diplomat::rust_link(icu_properties::props::IndicSyllabicCategory, Struct)] #[diplomat::attr(auto, named_constructor = "indic_syllabic_category")] diff --git a/provider/data/properties/data/mod.rs b/provider/data/properties/data/mod.rs index c5b40ba8a7e..baf10e59b0d 100644 --- a/provider/data/properties/data/mod.rs +++ b/provider/data/properties/data/mod.rs @@ -56,7 +56,6 @@ include!("property_binary_variation_selector_v1.rs.data"); include!("property_enum_word_break_v1.rs.data"); include!("property_name_short_east_asian_width_v1.rs.data"); include!("property_name_short_sentence_break_v1.rs.data"); -include!("property_name_short_indic_conjunct_break_v1.rs.data"); include!("property_name_long_bidi_class_v1.rs.data"); include!("property_binary_prepended_concatenation_mark_v1.rs.data"); include!("property_name_short_joining_type_v1.rs.data"); @@ -92,7 +91,6 @@ include!("property_binary_ascii_hex_digit_v1.rs.data"); include!("property_enum_line_break_v1.rs.data"); include!("property_enum_east_asian_width_v1.rs.data"); include!("property_name_parse_grapheme_cluster_break_v1.rs.data"); -include!("property_name_parse_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_general_category_v1.rs.data"); include!("property_binary_logical_order_exception_v1.rs.data"); include!("property_binary_case_ignorable_v1.rs.data"); @@ -101,7 +99,6 @@ include!("property_binary_grapheme_extend_v1.rs.data"); include!("property_enum_bidi_mirroring_glyph_v1.rs.data"); include!("property_name_parse_general_category_mask_v1.rs.data"); include!("property_binary_nfc_inert_v1.rs.data"); -include!("property_name_long_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_script_v1.rs.data"); include!("property_binary_lowercase_v1.rs.data"); include!("property_name_long_joining_type_v1.rs.data"); @@ -210,7 +207,6 @@ macro_rules! impl_data_provider { impl_property_enum_word_break_v1!($provider); impl_property_name_short_east_asian_width_v1!($provider); impl_property_name_short_sentence_break_v1!($provider); - impl_property_name_short_indic_conjunct_break_v1!($provider); impl_property_name_long_bidi_class_v1!($provider); impl_property_binary_prepended_concatenation_mark_v1!($provider); impl_property_name_short_joining_type_v1!($provider); @@ -246,7 +242,6 @@ macro_rules! impl_data_provider { impl_property_enum_line_break_v1!($provider); impl_property_enum_east_asian_width_v1!($provider); impl_property_name_parse_grapheme_cluster_break_v1!($provider); - impl_property_name_parse_indic_conjunct_break_v1!($provider); impl_property_name_parse_general_category_v1!($provider); impl_property_binary_logical_order_exception_v1!($provider); impl_property_binary_case_ignorable_v1!($provider); @@ -255,7 +250,6 @@ macro_rules! impl_data_provider { impl_property_enum_bidi_mirroring_glyph_v1!($provider); impl_property_name_parse_general_category_mask_v1!($provider); impl_property_binary_nfc_inert_v1!($provider); - impl_property_name_long_indic_conjunct_break_v1!($provider); impl_property_name_parse_script_v1!($provider); impl_property_binary_lowercase_v1!($provider); impl_property_name_long_joining_type_v1!($provider); diff --git a/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data deleted file mode 100644 index 1a064305daa..00000000000 --- a/provider/data/properties/data/property_name_long_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 30B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_long_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_long_indic_conjunct_break_v1 as impl_property_name_long_indic_conjunct_break_v1; diff --git a/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data deleted file mode 100644 index d4f300a374e..00000000000 --- a/provider/data/properties/data/property_name_parse_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 29B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_parse_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyValueNameToEnumMap { map: zerotrie::ZeroTrieSimpleAscii { store: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"None\x80") } } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_parse_indic_conjunct_break_v1 as impl_property_name_parse_indic_conjunct_break_v1; diff --git a/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data b/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data deleted file mode 100644 index 3f0d5b5737e..00000000000 --- a/provider/data/properties/data/property_name_short_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 30B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_short_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_short_indic_conjunct_break_v1 as impl_property_name_short_indic_conjunct_break_v1; diff --git a/provider/data/properties/fingerprints.csv b/provider/data/properties/fingerprints.csv index b128eca776c..c059727879a 100644 --- a/provider/data/properties/fingerprints.csv +++ b/provider/data/properties/fingerprints.csv @@ -85,7 +85,6 @@ property/name/long/east/asian/width/v1, , 80B, 57B, 9444c688fd2242aa property/name/long/general/category/v1, , 506B, 484B, ff6477ec3729edf4 property/name/long/grapheme/cluster/break/v1, , 169B, 147B, 882e84c4c5082a5a property/name/long/hangul/syllable/type/v1, , 108B, 85B, 739628a2dc2347a5 -property/name/long/indic/conjunct/break/v1, , 30B, 7B, 66137b8202e0a8b4 property/name/long/indic/syllabic/category/v1, , 622B, 600B, 9664fa6930864c55 property/name/long/joining/type/v1, , 107B, 84B, 67264eb9f128eed3 property/name/long/line/break/v1, , 616B, 594B, 5d261982131cd276 @@ -100,7 +99,6 @@ property/name/parse/general/category/mask/v1, , 744B, 723B, a0acd137d property/name/parse/general/category/v1, , 619B, 598B, fc71812cb4e744a7 property/name/parse/grapheme/cluster/break/v1, , 194B, 173B, 723a51eaaf05233e property/name/parse/hangul/syllable/type/v1, , 116B, 94B, 70df5ae746d5b32f -property/name/parse/indic/conjunct/break/v1, , 29B, 7B, 4f20af0967ec939 property/name/parse/indic/syllabic/category/v1, , 510B, 489B, 543dd0a1fa40fe58 property/name/parse/joining/type/v1, , 117B, 95B, 4a919456a9260ca7 property/name/parse/line/break/v1, , 780B, 759B, e8e1cfec25a22d9f @@ -114,7 +112,6 @@ property/name/short/east/asian/width/v1, , 43B, 20B, d949f2e523fb2e7d property/name/short/general/category/v1, , 144B, 121B, 5459db34538b2181 property/name/short/grapheme/cluster/break/v1, , 97B, 74B, 690edf19931f003f property/name/short/hangul/syllable/type/v1, , 46B, 23B, 7b01686176b2ed0a -property/name/short/indic/conjunct/break/v1, , 30B, 7B, 66137b8202e0a8b4 property/name/short/indic/syllabic/category/v1, , 622B, 600B, 9664fa6930864c55 property/name/short/joining/type/v1, , 42B, 19B, 162afda01b84cd1f property/name/short/line/break/v1, , 217B, 195B, cdf91c5f64c791b1 diff --git a/provider/data/properties/stubdata/mod.rs b/provider/data/properties/stubdata/mod.rs index c5b40ba8a7e..baf10e59b0d 100644 --- a/provider/data/properties/stubdata/mod.rs +++ b/provider/data/properties/stubdata/mod.rs @@ -56,7 +56,6 @@ include!("property_binary_variation_selector_v1.rs.data"); include!("property_enum_word_break_v1.rs.data"); include!("property_name_short_east_asian_width_v1.rs.data"); include!("property_name_short_sentence_break_v1.rs.data"); -include!("property_name_short_indic_conjunct_break_v1.rs.data"); include!("property_name_long_bidi_class_v1.rs.data"); include!("property_binary_prepended_concatenation_mark_v1.rs.data"); include!("property_name_short_joining_type_v1.rs.data"); @@ -92,7 +91,6 @@ include!("property_binary_ascii_hex_digit_v1.rs.data"); include!("property_enum_line_break_v1.rs.data"); include!("property_enum_east_asian_width_v1.rs.data"); include!("property_name_parse_grapheme_cluster_break_v1.rs.data"); -include!("property_name_parse_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_general_category_v1.rs.data"); include!("property_binary_logical_order_exception_v1.rs.data"); include!("property_binary_case_ignorable_v1.rs.data"); @@ -101,7 +99,6 @@ include!("property_binary_grapheme_extend_v1.rs.data"); include!("property_enum_bidi_mirroring_glyph_v1.rs.data"); include!("property_name_parse_general_category_mask_v1.rs.data"); include!("property_binary_nfc_inert_v1.rs.data"); -include!("property_name_long_indic_conjunct_break_v1.rs.data"); include!("property_name_parse_script_v1.rs.data"); include!("property_binary_lowercase_v1.rs.data"); include!("property_name_long_joining_type_v1.rs.data"); @@ -210,7 +207,6 @@ macro_rules! impl_data_provider { impl_property_enum_word_break_v1!($provider); impl_property_name_short_east_asian_width_v1!($provider); impl_property_name_short_sentence_break_v1!($provider); - impl_property_name_short_indic_conjunct_break_v1!($provider); impl_property_name_long_bidi_class_v1!($provider); impl_property_binary_prepended_concatenation_mark_v1!($provider); impl_property_name_short_joining_type_v1!($provider); @@ -246,7 +242,6 @@ macro_rules! impl_data_provider { impl_property_enum_line_break_v1!($provider); impl_property_enum_east_asian_width_v1!($provider); impl_property_name_parse_grapheme_cluster_break_v1!($provider); - impl_property_name_parse_indic_conjunct_break_v1!($provider); impl_property_name_parse_general_category_v1!($provider); impl_property_binary_logical_order_exception_v1!($provider); impl_property_binary_case_ignorable_v1!($provider); @@ -255,7 +250,6 @@ macro_rules! impl_data_provider { impl_property_enum_bidi_mirroring_glyph_v1!($provider); impl_property_name_parse_general_category_mask_v1!($provider); impl_property_binary_nfc_inert_v1!($provider); - impl_property_name_long_indic_conjunct_break_v1!($provider); impl_property_name_parse_script_v1!($provider); impl_property_binary_lowercase_v1!($provider); impl_property_name_long_joining_type_v1!($provider); diff --git a/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data deleted file mode 100644 index 1a064305daa..00000000000 --- a/provider/data/properties/stubdata/property_name_long_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 30B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_long_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_LONG_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_long_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_long_indic_conjunct_break_v1 as impl_property_name_long_indic_conjunct_break_v1; diff --git a/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data deleted file mode 100644 index d4f300a374e..00000000000 --- a/provider/data/properties/stubdata/property_name_parse_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 29B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_parse_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyValueNameToEnumMap { map: zerotrie::ZeroTrieSimpleAscii { store: unsafe { zerovec::ZeroVec::from_bytes_unchecked(b"None\x80") } } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_PARSE_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_parse_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_parse_indic_conjunct_break_v1 as impl_property_name_parse_indic_conjunct_break_v1; diff --git a/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data b/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data deleted file mode 100644 index 3f0d5b5737e..00000000000 --- a/provider/data/properties/stubdata/property_name_short_indic_conjunct_break_v1.rs.data +++ /dev/null @@ -1,75 +0,0 @@ -// @generated -/// Implement `DataProvider` on the given struct using the data -/// hardcoded in this file. This allows the struct to be used with -/// `icu`'s `_unstable` constructors. -/// -/// Using this implementation will embed the following data in the binary's data segment: -/// * 30B[^1] for the singleton data struct -/// -/// [^1]: these numbers can be smaller in practice due to linker deduplication -#[doc(hidden)] -#[macro_export] -macro_rules! __impl_property_name_short_indic_conjunct_break_v1 { - ($ provider : ty) => { - #[clippy::msrv = "1.81"] - const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; - #[clippy::msrv = "1.81"] - impl $provider { - #[doc(hidden)] - pub const SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1: &'static ::DataStruct = &icu::properties::provider::names::PropertyEnumToValueNameLinearMap { map: unsafe { zerovec::vecs::VarZeroVec16::from_bytes_unchecked(b"\x01\0None") } }; - } - #[clippy::msrv = "1.81"] - impl icu_provider::DataProvider for $provider { - fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(Self::SINGLETON_PROPERTY_NAME_SHORT_INDIC_CONJUNCT_BREAK_V1), metadata: icu_provider::DataResponseMetadata::default() }) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , ITER) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; - ($ provider : ty , DRY) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - }; - ($ provider : ty , DRY , ITER) => { - __impl_property_name_short_indic_conjunct_break_v1!($provider); - #[clippy::msrv = "1.81"] - impl icu_provider::DryDataProvider for $provider { - fn dry_load(&self, req: icu_provider::DataRequest) -> Result { - if req.id.locale.is_default() { - Ok(icu_provider::DataResponseMetadata::default()) - } else { - Err(icu_provider::DataErrorKind::InvalidRequest.with_req(::INFO, req)) - } - } - } - #[clippy::msrv = "1.81"] - impl icu_provider::IterableDataProvider for $provider { - fn iter_ids(&self) -> Result>, icu_provider::DataError> { - Ok([Default::default()].into_iter().collect()) - } - } - }; -} -#[doc(inline)] -pub use __impl_property_name_short_indic_conjunct_break_v1 as impl_property_name_short_indic_conjunct_break_v1; diff --git a/provider/registry/src/lib.rs b/provider/registry/src/lib.rs index 402a52cbf7f..821b6bd264c 100644 --- a/provider/registry/src/lib.rs +++ b/provider/registry/src/lib.rs @@ -80,7 +80,6 @@ macro_rules! registry( icu::properties::provider::PropertyNameLongGeneralCategoryV1: PropertyNameLongGeneralCategoryV1, icu::properties::provider::PropertyNameLongGraphemeClusterBreakV1: PropertyNameLongGraphemeClusterBreakV1, icu::properties::provider::PropertyNameLongHangulSyllableTypeV1: PropertyNameLongHangulSyllableTypeV1, - icu::properties::provider::PropertyNameLongIndicConjunctBreakV1: PropertyNameLongIndicConjunctBreakV1, icu::properties::provider::PropertyNameLongIndicSyllabicCategoryV1: PropertyNameLongIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameLongJoiningTypeV1: PropertyNameLongJoiningTypeV1, icu::properties::provider::PropertyNameLongLineBreakV1: PropertyNameLongLineBreakV1, @@ -95,7 +94,6 @@ macro_rules! registry( icu::properties::provider::PropertyNameParseGeneralCategoryV1: PropertyNameParseGeneralCategoryV1, icu::properties::provider::PropertyNameParseGraphemeClusterBreakV1: PropertyNameParseGraphemeClusterBreakV1, icu::properties::provider::PropertyNameParseHangulSyllableTypeV1: PropertyNameParseHangulSyllableTypeV1, - icu::properties::provider::PropertyNameParseIndicConjunctBreakV1: PropertyNameParseIndicConjunctBreakV1, icu::properties::provider::PropertyNameParseIndicSyllabicCategoryV1: PropertyNameParseIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameParseJoiningTypeV1: PropertyNameParseJoiningTypeV1, icu::properties::provider::PropertyNameParseLineBreakV1: PropertyNameParseLineBreakV1, @@ -109,7 +107,6 @@ macro_rules! registry( icu::properties::provider::PropertyNameShortGeneralCategoryV1: PropertyNameShortGeneralCategoryV1, icu::properties::provider::PropertyNameShortGraphemeClusterBreakV1: PropertyNameShortGraphemeClusterBreakV1, icu::properties::provider::PropertyNameShortHangulSyllableTypeV1: PropertyNameShortHangulSyllableTypeV1, - icu::properties::provider::PropertyNameShortIndicConjunctBreakV1: PropertyNameShortIndicConjunctBreakV1, icu::properties::provider::PropertyNameShortIndicSyllabicCategoryV1: PropertyNameShortIndicSyllabicCategoryV1, icu::properties::provider::PropertyNameShortJoiningTypeV1: PropertyNameShortJoiningTypeV1, icu::properties::provider::PropertyNameShortLineBreakV1: PropertyNameShortLineBreakV1, diff --git a/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json deleted file mode 100644 index 705d9da9682..00000000000 --- a/provider/source/data/debug/properties/PropertyNameLongIndicConjunctBreakV1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "map": [ - "None" - ] -} diff --git a/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json deleted file mode 100644 index 6a6d1119f8f..00000000000 --- a/provider/source/data/debug/properties/PropertyNameParseIndicConjunctBreakV1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "map": { - "None": 0 - } -} diff --git a/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json b/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json deleted file mode 100644 index 705d9da9682..00000000000 --- a/provider/source/data/debug/properties/PropertyNameShortIndicConjunctBreakV1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "map": [ - "None" - ] -} From 2fc45fdbdb79152458497c57ec4e0d875894e41c Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Fri, 4 Apr 2025 09:16:34 +0900 Subject: [PATCH 5/7] Add #[doc(hidden)] instead of #[allow(missing_docs)]. --- components/properties/src/props.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/properties/src/props.rs b/components/properties/src/props.rs index 7d0e5aea1ef..7a38699498b 100644 --- a/components/properties/src/props.rs +++ b/components/properties/src/props.rs @@ -1460,7 +1460,7 @@ impl IndicConjunctBreak { } create_const_array! { -#[allow(missing_docs)] // These constants don't need individual documentation. +#[doc(hidden)] // draft API in ICU4C #[allow(non_upper_case_globals)] impl IndicConjunctBreak { pub const None: IndicConjunctBreak = IndicConjunctBreak(0); From ac895e0b0c45b07e5d2deaa1efe5c6b22d3563ec Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Mon, 7 Apr 2025 21:27:15 +0900 Subject: [PATCH 6/7] Remove FFI for InCB --- ffi/capi/bindings/c/CodePointMapData8.h | 5 - ffi/capi/bindings/c/IndicConjunctBreak.d.h | 25 ---- ffi/capi/bindings/c/IndicConjunctBreak.h | 30 ----- .../cpp/icu4x/CodePointMapData8.d.hpp | 14 -- .../bindings/cpp/icu4x/CodePointMapData8.hpp | 15 --- .../cpp/icu4x/IndicConjunctBreak.d.hpp | 77 ----------- .../bindings/cpp/icu4x/IndicConjunctBreak.hpp | 62 --------- .../bindings/dart/CodePointMapData8.g.dart | 31 ----- .../bindings/dart/IndicConjunctBreak.g.dart | 61 --------- ffi/capi/bindings/dart/lib.g.dart | 1 - ffi/capi/bindings/js/CodePointMapData8.d.ts | 14 -- ffi/capi/bindings/js/CodePointMapData8.mjs | 38 ------ ffi/capi/bindings/js/IndicConjunctBreak.d.ts | 44 ------ ffi/capi/bindings/js/IndicConjunctBreak.mjs | 127 ------------------ ffi/capi/bindings/js/index.d.ts | 2 - ffi/capi/bindings/js/index.mjs | 2 - ffi/capi/src/properties_enums.rs | 45 ------- ffi/capi/src/properties_maps.rs | 26 +--- 18 files changed, 2 insertions(+), 617 deletions(-) delete mode 100644 ffi/capi/bindings/c/IndicConjunctBreak.d.h delete mode 100644 ffi/capi/bindings/c/IndicConjunctBreak.h delete mode 100644 ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp delete mode 100644 ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp delete mode 100644 ffi/capi/bindings/dart/IndicConjunctBreak.g.dart delete mode 100644 ffi/capi/bindings/js/IndicConjunctBreak.d.ts delete mode 100644 ffi/capi/bindings/js/IndicConjunctBreak.mjs diff --git a/ffi/capi/bindings/c/CodePointMapData8.h b/ffi/capi/bindings/c/CodePointMapData8.h index 4783914bc7a..86152da8b06 100644 --- a/ffi/capi/bindings/c/CodePointMapData8.h +++ b/ffi/capi/bindings/c/CodePointMapData8.h @@ -50,11 +50,6 @@ CodePointMapData8* icu4x_CodePointMapData8_create_hangul_syllable_type_mv1(void) typedef struct icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result; icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(const DataProvider* provider); -CodePointMapData8* icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(void); - -typedef struct icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result; -icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(const DataProvider* provider); - CodePointMapData8* icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(void); typedef struct icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result {union {CodePointMapData8* ok; DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result; diff --git a/ffi/capi/bindings/c/IndicConjunctBreak.d.h b/ffi/capi/bindings/c/IndicConjunctBreak.d.h deleted file mode 100644 index fa6545eb951..00000000000 --- a/ffi/capi/bindings/c/IndicConjunctBreak.d.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef IndicConjunctBreak_D_H -#define IndicConjunctBreak_D_H - -#include -#include -#include -#include -#include "diplomat_runtime.h" - - - - - -typedef enum IndicConjunctBreak { - IndicConjunctBreak_None = 0, - IndicConjunctBreak_Consonant = 1, - IndicConjunctBreak_Extend = 2, - IndicConjunctBreak_Linker = 3, -} IndicConjunctBreak; - -typedef struct IndicConjunctBreak_option {union { IndicConjunctBreak ok; }; bool is_ok; } IndicConjunctBreak_option; - - - -#endif // IndicConjunctBreak_D_H diff --git a/ffi/capi/bindings/c/IndicConjunctBreak.h b/ffi/capi/bindings/c/IndicConjunctBreak.h deleted file mode 100644 index d4a7dcd416b..00000000000 --- a/ffi/capi/bindings/c/IndicConjunctBreak.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef IndicConjunctBreak_H -#define IndicConjunctBreak_H - -#include -#include -#include -#include -#include "diplomat_runtime.h" - - -#include "IndicConjunctBreak.d.h" - - - - - - -IndicConjunctBreak icu4x_IndicConjunctBreak_for_char_mv1(char32_t ch); - -uint8_t icu4x_IndicConjunctBreak_to_integer_value_mv1(IndicConjunctBreak self); - -typedef struct icu4x_IndicConjunctBreak_from_integer_value_mv1_result {union {IndicConjunctBreak ok; }; bool is_ok;} icu4x_IndicConjunctBreak_from_integer_value_mv1_result; -icu4x_IndicConjunctBreak_from_integer_value_mv1_result icu4x_IndicConjunctBreak_from_integer_value_mv1(uint8_t other); - - - - - - -#endif // IndicConjunctBreak_H diff --git a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp index 86b5e48e046..e7116908785 100644 --- a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp +++ b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.d.hpp @@ -143,20 +143,6 @@ class CodePointMapData8 { */ inline static diplomat::result, icu4x::DataError> create_hangul_syllable_type_with_provider(const icu4x::DataProvider& provider); - /** - * Create a map for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - inline static std::unique_ptr create_indic_conjunct_break(); - - /** - * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - inline static diplomat::result, icu4x::DataError> create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider); - /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp index 468de92d167..0bbd24a78bb 100644 --- a/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp +++ b/ffi/capi/bindings/cpp/icu4x/CodePointMapData8.hpp @@ -52,11 +52,6 @@ namespace capi { typedef struct icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result; icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1_result icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(const icu4x::capi::DataProvider* provider); - icu4x::capi::CodePointMapData8* icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(void); - - typedef struct icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result; - icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1_result icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(const icu4x::capi::DataProvider* provider); - icu4x::capi::CodePointMapData8* icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(void); typedef struct icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result {union {icu4x::capi::CodePointMapData8* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData8_create_indic_syllabic_category_with_provider_mv1_result; @@ -174,16 +169,6 @@ inline diplomat::result, icu4x::DataEr return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); } -inline std::unique_ptr icu4x::CodePointMapData8::create_indic_conjunct_break() { - auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); - return std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result)); -} - -inline diplomat::result, icu4x::DataError> icu4x::CodePointMapData8::create_indic_conjunct_break_with_provider(const icu4x::DataProvider& provider) { - auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(provider.AsFFI()); - return result.is_ok ? diplomat::result, icu4x::DataError>(diplomat::Ok>(std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result.ok)))) : diplomat::result, icu4x::DataError>(diplomat::Err(icu4x::DataError::FromFFI(result.err))); -} - inline std::unique_ptr icu4x::CodePointMapData8::create_indic_syllabic_category() { auto result = icu4x::capi::icu4x_CodePointMapData8_create_indic_syllabic_category_mv1(); return std::unique_ptr(icu4x::CodePointMapData8::FromFFI(result)); diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp deleted file mode 100644 index a0c52ec1c20..00000000000 --- a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.d.hpp +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef icu4x_IndicConjunctBreak_D_HPP -#define icu4x_IndicConjunctBreak_D_HPP - -#include -#include -#include -#include -#include -#include -#include -#include "../diplomat_runtime.hpp" - -namespace icu4x { -class IndicConjunctBreak; -} - - -namespace icu4x { -namespace capi { - enum IndicConjunctBreak { - IndicConjunctBreak_None = 0, - IndicConjunctBreak_Consonant = 1, - IndicConjunctBreak_Extend = 2, - IndicConjunctBreak_Linker = 3, - }; - - typedef struct IndicConjunctBreak_option {union { IndicConjunctBreak ok; }; bool is_ok; } IndicConjunctBreak_option; -} // namespace capi -} // namespace - -namespace icu4x { -/** - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ -class IndicConjunctBreak { -public: - enum Value { - None = 0, - Consonant = 1, - Extend = 2, - Linker = 3, - }; - - IndicConjunctBreak() = default; - // Implicit conversions between enum and ::Value - constexpr IndicConjunctBreak(Value v) : value(v) {} - constexpr operator Value() const { return value; } - // Prevent usage as boolean value - explicit operator bool() const = delete; - - /** - * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. - */ - inline static icu4x::IndicConjunctBreak for_char(char32_t ch); - - /** - * Convert to an integer value usable with ICU4C and CodePointMapData - * - * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. - */ - inline uint8_t to_integer_value() const; - - /** - * Convert from an integer value from ICU4C or CodePointMapData - * - * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. - */ - inline static std::optional from_integer_value(uint8_t other); - - inline icu4x::capi::IndicConjunctBreak AsFFI() const; - inline static icu4x::IndicConjunctBreak FromFFI(icu4x::capi::IndicConjunctBreak c_enum); -private: - Value value; -}; - -} // namespace -#endif // icu4x_IndicConjunctBreak_D_HPP diff --git a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp b/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp deleted file mode 100644 index d38dce40d10..00000000000 --- a/ffi/capi/bindings/cpp/icu4x/IndicConjunctBreak.hpp +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef icu4x_IndicConjunctBreak_HPP -#define icu4x_IndicConjunctBreak_HPP - -#include "IndicConjunctBreak.d.hpp" - -#include -#include -#include -#include -#include -#include -#include -#include "../diplomat_runtime.hpp" - - -namespace icu4x { -namespace capi { - extern "C" { - - icu4x::capi::IndicConjunctBreak icu4x_IndicConjunctBreak_for_char_mv1(char32_t ch); - - uint8_t icu4x_IndicConjunctBreak_to_integer_value_mv1(icu4x::capi::IndicConjunctBreak self); - - typedef struct icu4x_IndicConjunctBreak_from_integer_value_mv1_result {union {icu4x::capi::IndicConjunctBreak ok; }; bool is_ok;} icu4x_IndicConjunctBreak_from_integer_value_mv1_result; - icu4x_IndicConjunctBreak_from_integer_value_mv1_result icu4x_IndicConjunctBreak_from_integer_value_mv1(uint8_t other); - - - } // extern "C" -} // namespace capi -} // namespace - -inline icu4x::capi::IndicConjunctBreak icu4x::IndicConjunctBreak::AsFFI() const { - return static_cast(value); -} - -inline icu4x::IndicConjunctBreak icu4x::IndicConjunctBreak::FromFFI(icu4x::capi::IndicConjunctBreak c_enum) { - switch (c_enum) { - case icu4x::capi::IndicConjunctBreak_None: - case icu4x::capi::IndicConjunctBreak_Consonant: - case icu4x::capi::IndicConjunctBreak_Extend: - case icu4x::capi::IndicConjunctBreak_Linker: - return static_cast(c_enum); - default: - abort(); - } -} - -inline icu4x::IndicConjunctBreak icu4x::IndicConjunctBreak::for_char(char32_t ch) { - auto result = icu4x::capi::icu4x_IndicConjunctBreak_for_char_mv1(ch); - return icu4x::IndicConjunctBreak::FromFFI(result); -} - -inline uint8_t icu4x::IndicConjunctBreak::to_integer_value() const { - auto result = icu4x::capi::icu4x_IndicConjunctBreak_to_integer_value_mv1(this->AsFFI()); - return result; -} - -inline std::optional icu4x::IndicConjunctBreak::from_integer_value(uint8_t other) { - auto result = icu4x::capi::icu4x_IndicConjunctBreak_from_integer_value_mv1(other); - return result.is_ok ? std::optional(icu4x::IndicConjunctBreak::FromFFI(result.ok)) : std::nullopt; -} -#endif // icu4x_IndicConjunctBreak_HPP diff --git a/ffi/capi/bindings/dart/CodePointMapData8.g.dart b/ffi/capi/bindings/dart/CodePointMapData8.g.dart index b08b9436224..fe3023e2ff5 100644 --- a/ffi/capi/bindings/dart/CodePointMapData8.g.dart +++ b/ffi/capi/bindings/dart/CodePointMapData8.g.dart @@ -169,27 +169,6 @@ final class CodePointMapData8 implements ffi.Finalizable { return CodePointMapData8._fromFfi(result.union.ok, []); } - /// Create a map for the `Indic_Conjunct_Break` property, using compiled data. - /// - /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - factory CodePointMapData8.indicConjunctBreak() { - final result = _icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); - return CodePointMapData8._fromFfi(result, []); - } - - /// Create a map for the `Indic_Conjunct_Break` property, using a particular data source. - /// - /// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - /// - /// Throws [DataError] on failure. - factory CodePointMapData8.indicConjunctBreakWithProvider(DataProvider provider) { - final result = _icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(provider._ffi); - if (!result.isOk) { - throw DataError.values[result.union.err]; - } - return CodePointMapData8._fromFfi(result.union.ok, []); - } - /// Create a map for the `Indic_Syllabic_Property` property, using compiled data. /// /// See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicSyllabicCategory.html) for more information. @@ -429,16 +408,6 @@ external ffi.Pointer _icu4x_CodePointMapData8_create_hangul_syllable // ignore: non_constant_identifier_names external _ResultOpaqueInt32 _icu4x_CodePointMapData8_create_hangul_syllable_type_with_provider_mv1(ffi.Pointer provider); -@_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_conjunct_break_mv1') -@ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_conjunct_break_mv1') -// ignore: non_constant_identifier_names -external ffi.Pointer _icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); - -@_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1') -@ffi.Native<_ResultOpaqueInt32 Function(ffi.Pointer)>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1') -// ignore: non_constant_identifier_names -external _ResultOpaqueInt32 _icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(ffi.Pointer provider); - @_DiplomatFfiUse('icu4x_CodePointMapData8_create_indic_syllabic_category_mv1') @ffi.Native Function()>(isLeaf: true, symbol: 'icu4x_CodePointMapData8_create_indic_syllabic_category_mv1') // ignore: non_constant_identifier_names diff --git a/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart b/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart deleted file mode 100644 index a58dd042ea1..00000000000 --- a/ffi/capi/bindings/dart/IndicConjunctBreak.g.dart +++ /dev/null @@ -1,61 +0,0 @@ -// generated by diplomat-tool -// dart format off - -part of 'lib.g.dart'; - -/// See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. -enum IndicConjunctBreak { - /// See the [Rust documentation for `None`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.None) for more information. - none, - - /// See the [Rust documentation for `Consonant`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Consonant) for more information. - consonant, - - /// See the [Rust documentation for `Extend`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Extend) for more information. - extend, - - /// See the [Rust documentation for `Linker`](https://docs.rs/icu/latest/icu/properties/props/enum.IndicConjunctBreak.html#variant.Linker) for more information. - linker; - - /// See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. - static IndicConjunctBreak forChar(Rune ch) { - final result = _icu4x_IndicConjunctBreak_for_char_mv1(ch); - return IndicConjunctBreak.values[result]; - } - - /// Convert to an integer value usable with ICU4C and CodePointMapData - /// - /// See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. - int toIntegerValue() { - final result = _icu4x_IndicConjunctBreak_to_integer_value_mv1(index); - return result; - } - - /// Convert from an integer value from ICU4C or CodePointMapData - /// - /// See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. - static IndicConjunctBreak? fromIntegerValue(int other) { - final result = _icu4x_IndicConjunctBreak_from_integer_value_mv1(other); - if (!result.isOk) { - return null; - } - return IndicConjunctBreak.values[result.union.ok]; - } -} - -@_DiplomatFfiUse('icu4x_IndicConjunctBreak_for_char_mv1') -@ffi.Native(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_for_char_mv1') -// ignore: non_constant_identifier_names -external int _icu4x_IndicConjunctBreak_for_char_mv1(Rune ch); - -@_DiplomatFfiUse('icu4x_IndicConjunctBreak_to_integer_value_mv1') -@ffi.Native(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_to_integer_value_mv1') -// ignore: non_constant_identifier_names -external int _icu4x_IndicConjunctBreak_to_integer_value_mv1(int self); - -@_DiplomatFfiUse('icu4x_IndicConjunctBreak_from_integer_value_mv1') -@ffi.Native<_ResultInt32Void Function(ffi.Uint8)>(isLeaf: true, symbol: 'icu4x_IndicConjunctBreak_from_integer_value_mv1') -// ignore: non_constant_identifier_names -external _ResultInt32Void _icu4x_IndicConjunctBreak_from_integer_value_mv1(int other); - -// dart format on diff --git a/ffi/capi/bindings/dart/lib.g.dart b/ffi/capi/bindings/dart/lib.g.dart index 088760b3cae..88fdefba756 100644 --- a/ffi/capi/bindings/dart/lib.g.dart +++ b/ffi/capi/bindings/dart/lib.g.dart @@ -85,7 +85,6 @@ part 'GraphemeClusterSegmenter.g.dart'; part 'HangulSyllableType.g.dart'; part 'IanaParser.g.dart'; part 'IanaParserExtended.g.dart'; -part 'IndicConjunctBreak.g.dart'; part 'IndicSyllabicCategory.g.dart'; part 'IsoDate.g.dart'; part 'IsoDateTime.g.dart'; diff --git a/ffi/capi/bindings/js/CodePointMapData8.d.ts b/ffi/capi/bindings/js/CodePointMapData8.d.ts index dd3a96e69fd..2ba2e6f1ff8 100644 --- a/ffi/capi/bindings/js/CodePointMapData8.d.ts +++ b/ffi/capi/bindings/js/CodePointMapData8.d.ts @@ -123,20 +123,6 @@ export class CodePointMapData8 { */ static createHangulSyllableTypeWithProvider(provider: DataProvider): CodePointMapData8; - /** - * Create a map for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreak(): CodePointMapData8; - - /** - * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreakWithProvider(provider: DataProvider): CodePointMapData8; - /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/js/CodePointMapData8.mjs b/ffi/capi/bindings/js/CodePointMapData8.mjs index d5d42225b49..71a67b7e269 100644 --- a/ffi/capi/bindings/js/CodePointMapData8.mjs +++ b/ffi/capi/bindings/js/CodePointMapData8.mjs @@ -299,44 +299,6 @@ export class CodePointMapData8 { } } - /** - * Create a map for the `Indic_Conjunct_Break` property, using compiled data. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreak() { - const result = wasm.icu4x_CodePointMapData8_create_indic_conjunct_break_mv1(); - - try { - return new CodePointMapData8(diplomatRuntime.internalConstructor, result, []); - } - - finally {} - } - - /** - * Create a map for the `Indic_Conjunct_Break` property, using a particular data source. - * - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - static createIndicConjunctBreakWithProvider(provider) { - const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); - - const result = wasm.icu4x_CodePointMapData8_create_indic_conjunct_break_with_provider_mv1(diplomatReceive.buffer, provider.ffiValue); - - try { - if (!diplomatReceive.resultFlag) { - const cause = new DataError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); - throw new globalThis.Error('DataError: ' + cause.value, { cause }); - } - return new CodePointMapData8(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []); - } - - finally { - diplomatReceive.free(); - } - } - /** * Create a map for the `Indic_Syllabic_Property` property, using compiled data. * diff --git a/ffi/capi/bindings/js/IndicConjunctBreak.d.ts b/ffi/capi/bindings/js/IndicConjunctBreak.d.ts deleted file mode 100644 index ab575c0807a..00000000000 --- a/ffi/capi/bindings/js/IndicConjunctBreak.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -// generated by diplomat-tool -import type { pointer, codepoint } from "./diplomat-runtime.d.ts"; - - -/** - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - - -export class IndicConjunctBreak { - - - static fromValue(value : IndicConjunctBreak | string) : IndicConjunctBreak; - - get value() : string; - - get ffiValue() : number; - - static None : IndicConjunctBreak; - static Consonant : IndicConjunctBreak; - static Extend : IndicConjunctBreak; - static Linker : IndicConjunctBreak; - - /** - * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. - */ - static forChar(ch: codepoint): IndicConjunctBreak; - - /** - * Convert to an integer value usable with ICU4C and CodePointMapData - * - * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. - */ - toIntegerValue(): number; - - /** - * Convert from an integer value from ICU4C or CodePointMapData - * - * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. - */ - static fromIntegerValue(other: number): IndicConjunctBreak | null; - - constructor(value: IndicConjunctBreak | string ); -} \ No newline at end of file diff --git a/ffi/capi/bindings/js/IndicConjunctBreak.mjs b/ffi/capi/bindings/js/IndicConjunctBreak.mjs deleted file mode 100644 index f103d139bb4..00000000000 --- a/ffi/capi/bindings/js/IndicConjunctBreak.mjs +++ /dev/null @@ -1,127 +0,0 @@ -// generated by diplomat-tool -import wasm from "./diplomat-wasm.mjs"; -import * as diplomatRuntime from "./diplomat-runtime.mjs"; - - -/** - * See the [Rust documentation for `IndicConjunctBreak`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html) for more information. - */ - - -export class IndicConjunctBreak { - - #value = undefined; - - static #values = new Map([ - ["None", 0], - ["Consonant", 1], - ["Extend", 2], - ["Linker", 3] - ]); - - static getAllEntries() { - return IndicConjunctBreak.#values.entries(); - } - - #internalConstructor(value) { - if (arguments.length > 1 && arguments[0] === diplomatRuntime.internalConstructor) { - // We pass in two internalConstructor arguments to create *new* - // instances of this type, otherwise the enums are treated as singletons. - if (arguments[1] === diplomatRuntime.internalConstructor ) { - this.#value = arguments[2]; - return this; - } - return IndicConjunctBreak.#objectValues[arguments[1]]; - } - - if (value instanceof IndicConjunctBreak) { - return value; - } - - let intVal = IndicConjunctBreak.#values.get(value); - - // Nullish check, checks for null or undefined - if (intVal != null) { - return IndicConjunctBreak.#objectValues[intVal]; - } - - throw TypeError(value + " is not a IndicConjunctBreak and does not correspond to any of its enumerator values."); - } - - static fromValue(value) { - return new IndicConjunctBreak(value); - } - - get value() { - return [...IndicConjunctBreak.#values.keys()][this.#value]; - } - - get ffiValue() { - return this.#value; - } - static #objectValues = [ - new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 0), - new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 1), - new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 2), - new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.internalConstructor, 3), - ]; - - static None = IndicConjunctBreak.#objectValues[0]; - static Consonant = IndicConjunctBreak.#objectValues[1]; - static Extend = IndicConjunctBreak.#objectValues[2]; - static Linker = IndicConjunctBreak.#objectValues[3]; - - /** - * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information. - */ - static forChar(ch) { - const result = wasm.icu4x_IndicConjunctBreak_for_char_mv1(ch); - - try { - return new IndicConjunctBreak(diplomatRuntime.internalConstructor, result); - } - - finally {} - } - - /** - * Convert to an integer value usable with ICU4C and CodePointMapData - * - * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.to_icu4c_value) for more information. - */ - toIntegerValue() { - const result = wasm.icu4x_IndicConjunctBreak_to_integer_value_mv1(this.ffiValue); - - try { - return result; - } - - finally {} - } - - /** - * Convert from an integer value from ICU4C or CodePointMapData - * - * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.IndicConjunctBreak.html#method.from_icu4c_value) for more information. - */ - static fromIntegerValue(other) { - const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true); - - const result = wasm.icu4x_IndicConjunctBreak_from_integer_value_mv1(diplomatReceive.buffer, other); - - try { - if (!diplomatReceive.resultFlag) { - return null; - } - return new IndicConjunctBreak(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer)); - } - - finally { - diplomatReceive.free(); - } - } - - constructor(value) { - return this.#internalConstructor(...arguments) - } -} \ No newline at end of file diff --git a/ffi/capi/bindings/js/index.d.ts b/ffi/capi/bindings/js/index.d.ts index 401f73ba15e..9da115b2dba 100644 --- a/ffi/capi/bindings/js/index.d.ts +++ b/ffi/capi/bindings/js/index.d.ts @@ -306,8 +306,6 @@ export { GraphemeClusterBreak } from "./GraphemeClusterBreak" export { HangulSyllableType } from "./HangulSyllableType" -export { IndicConjunctBreak } from "./IndicConjunctBreak" - export { IndicSyllabicCategory } from "./IndicSyllabicCategory" export { JoiningType } from "./JoiningType" diff --git a/ffi/capi/bindings/js/index.mjs b/ffi/capi/bindings/js/index.mjs index 54e86e24bfc..7fe4ae69c10 100644 --- a/ffi/capi/bindings/js/index.mjs +++ b/ffi/capi/bindings/js/index.mjs @@ -304,8 +304,6 @@ export { GraphemeClusterBreak } from "./GraphemeClusterBreak.mjs" export { HangulSyllableType } from "./HangulSyllableType.mjs" -export { IndicConjunctBreak } from "./IndicConjunctBreak.mjs" - export { IndicSyllabicCategory } from "./IndicSyllabicCategory.mjs" export { JoiningType } from "./JoiningType.mjs" diff --git a/ffi/capi/src/properties_enums.rs b/ffi/capi/src/properties_enums.rs index 489f6eedcbd..3d28087e98d 100644 --- a/ffi/capi/src/properties_enums.rs +++ b/ffi/capi/src/properties_enums.rs @@ -1568,51 +1568,6 @@ pub mod ffi { } } - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] - #[diplomat::enum_convert(icu_properties::props::IndicConjunctBreak, needs_wildcard)] - pub enum IndicConjunctBreak { - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::None, EnumVariant)] - None = 0, - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Consonant, EnumVariant)] - Consonant = 1, - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Extend, EnumVariant)] - Extend = 2, - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak::Linker, EnumVariant)] - Linker = 3, - } - - impl IndicConjunctBreak { - #[diplomat::rust_link(icu::properties::props::EnumeratedProperty::for_char, FnInTrait)] - #[cfg(feature = "compiled_data")] - pub fn for_char(ch: DiplomatChar) -> Self { - icu_properties::CodePointMapData::::new() - .get32(ch) - .into() - } - #[diplomat::rust_link( - icu::properties::props::IndicConjunctBreak::to_icu4c_value, - FnInStruct - )] - /// Convert to an integer value usable with ICU4C and CodePointMapData - pub fn to_integer_value(self) -> u8 { - self as u8 - } - #[diplomat::rust_link( - icu::properties::props::IndicConjunctBreak::from_icu4c_value, - FnInStruct - )] - /// Convert from an integer value from ICU4C or CodePointMapData - pub fn from_integer_value(other: u8) -> Option { - Some(match other { - 0 => Self::None, - 1 => Self::Consonant, - 2 => Self::Extend, - 3 => Self::Linker, - _ => return None, - }) - } - } - #[diplomat::rust_link(icu::properties::props::IndicSyllabicCategory, Struct)] #[diplomat::enum_convert(icu_properties::props::IndicSyllabicCategory, needs_wildcard)] pub enum IndicSyllabicCategory { diff --git a/ffi/capi/src/properties_maps.rs b/ffi/capi/src/properties_maps.rs index 918c5a0b22d..b590f564e7d 100644 --- a/ffi/capi/src/properties_maps.rs +++ b/ffi/capi/src/properties_maps.rs @@ -10,8 +10,8 @@ pub mod ffi { #[cfg(any(feature = "compiled_data", feature = "buffer_provider"))] use icu_properties::props::{ BidiClass, CanonicalCombiningClass, EastAsianWidth, GeneralCategory, GraphemeClusterBreak, - HangulSyllableType, IndicConjunctBreak, IndicSyllabicCategory, JoiningType, LineBreak, - Script, SentenceBreak, VerticalOrientation, WordBreak, + HangulSyllableType, IndicSyllabicCategory, JoiningType, LineBreak, Script, SentenceBreak, + VerticalOrientation, WordBreak, }; use crate::properties_enums::ffi::GeneralCategoryGroup; @@ -207,28 +207,6 @@ pub mod ffi { &provider.get_unstable()? )?)) } - /// Create a map for the `Indic_Conjunct_Break` property, using compiled data. - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] - #[diplomat::attr(auto, named_constructor = "indic_conjunct_break")] - #[cfg(feature = "compiled_data")] - pub fn create_indic_conjunct_break() -> Box { - convert_8( - icu_properties::CodePointMapData::::new().static_to_owned(), - ) - } - /// Create a map for the `Indic_Conjunct_Break` property, using a particular data source. - #[diplomat::rust_link(icu::properties::props::IndicConjunctBreak, Struct)] - #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors), named_constructor = "indic_conjunct_break_with_provider")] - #[cfg(feature = "buffer_provider")] - pub fn create_indic_conjunct_break_with_provider( - provider: &DataProvider, - ) -> Result, DataError> { - Ok(convert_8(icu_properties::CodePointMapData::< - IndicConjunctBreak, - >::try_new_unstable( - &provider.get_unstable()? - )?)) - } /// Create a map for the `Indic_Syllabic_Property` property, using compiled data. #[diplomat::rust_link(icu::properties::props::IndicSyllabicCategory, Struct)] #[diplomat::attr(auto, named_constructor = "indic_syllabic_category")] From a6633f0ddc376ac33724ee0d1c556a81cec20ab5 Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Mon, 7 Apr 2025 23:12:16 +0900 Subject: [PATCH 7/7] Remove the markers for name and parse of InCB --- components/properties/src/provider/names.rs | 18 ---------- .../src/properties/enum_codepointtrie.rs | 36 ++++++++++++++----- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/components/properties/src/provider/names.rs b/components/properties/src/provider/names.rs index a15b4693302..9f6b8a0ec73 100644 --- a/components/properties/src/provider/names.rs +++ b/components/properties/src/provider/names.rs @@ -61,12 +61,6 @@ icu_provider::data_marker!( PropertyValueNameToEnumMap<'static>, is_singleton = true ); -icu_provider::data_marker!( - /// `PropertyNameParseIndicConjunctBreakV1` - PropertyNameParseIndicConjunctBreakV1, - PropertyValueNameToEnumMap<'static>, - is_singleton = true -); icu_provider::data_marker!( /// `PropertyNameParseIndicSyllabicCategoryV1` PropertyNameParseIndicSyllabicCategoryV1, @@ -169,18 +163,6 @@ icu_provider::data_marker!( PropertyEnumToValueNameLinearMap<'static>, is_singleton = true ); -icu_provider::data_marker!( - /// `PropertyNameLongIndicConjunctBreakV1` - PropertyNameLongIndicConjunctBreakV1, - PropertyEnumToValueNameLinearMap<'static>, - is_singleton = true -); -icu_provider::data_marker!( - /// `PropertyNameShortIndicConjunctBreakV1` - PropertyNameShortIndicConjunctBreakV1, - PropertyEnumToValueNameLinearMap<'static>, - is_singleton = true -); icu_provider::data_marker!( /// `PropertyNameLongIndicSyllabicCategoryV1` PropertyNameLongIndicSyllabicCategoryV1, diff --git a/provider/source/src/properties/enum_codepointtrie.rs b/provider/source/src/properties/enum_codepointtrie.rs index bff6f8441ed..0271ad9f698 100644 --- a/provider/source/src/properties/enum_codepointtrie.rs +++ b/provider/source/src/properties/enum_codepointtrie.rs @@ -411,6 +411,33 @@ impl crate::IterableDataProviderCached } } +// Special handling for IndicConjunctBreak +impl DataProvider for SourceDataProvider { + fn load( + &self, + req: DataRequest, + ) -> Result, DataError> { + self.check_req::(req)?; + let source_cpt_data = &self.get_enumerated_prop("InCB")?.code_point_trie; + + let code_point_trie = CodePointTrie::try_from(source_cpt_data).map_err(|e| { + DataError::custom("Could not parse CodePointTrie TOML").with_display_context(&e) + })?; + let data_struct = PropertyCodePointMap::CodePointTrie(code_point_trie); + Ok(DataResponse { + metadata: Default::default(), + payload: DataPayload::from_owned(data_struct), + }) + } +} + +impl crate::IterableDataProviderCached for SourceDataProvider { + fn iter_ids_cached(&self) -> Result>, DataError> { + self.get_enumerated_prop("InCB")?; + Ok(HashSet::from_iter([Default::default()])) + } +} + expand!( ( PropertyEnumCanonicalCombiningClassV1, @@ -466,15 +493,6 @@ expand!( ), "ea" ), - ( - PropertyEnumIndicConjunctBreakV1, - PropertyNameParseIndicConjunctBreakV1, - ( - linear: PropertyNameShortIndicConjunctBreakV1, - PropertyNameLongIndicConjunctBreakV1 - ), - "InCB" - ), ( PropertyEnumIndicSyllabicCategoryV1, PropertyNameParseIndicSyllabicCategoryV1,