#![allow(missing_docs)] #![allow(non_upper_case_globals)]
use crate::props::*;
impl BidiClass {
pub const LeftToRight: Self = Self(0);
pub const L: Self = Self::LeftToRight;
pub const RightToLeft: Self = Self(1);
pub const R: Self = Self::RightToLeft;
pub const EuropeanNumber: Self = Self(2);
pub const EN: Self = Self::EuropeanNumber;
pub const EuropeanSeparator: Self = Self(3);
pub const ES: Self = Self::EuropeanSeparator;
pub const EuropeanTerminator: Self = Self(4);
pub const ET: Self = Self::EuropeanTerminator;
pub const ArabicNumber: Self = Self(5);
pub const AN: Self = Self::ArabicNumber;
pub const CommonSeparator: Self = Self(6);
pub const CS: Self = Self::CommonSeparator;
pub const ParagraphSeparator: Self = Self(7);
pub const B: Self = Self::ParagraphSeparator;
pub const SegmentSeparator: Self = Self(8);
pub const S: Self = Self::SegmentSeparator;
pub const WhiteSpace: Self = Self(9);
pub const WS: Self = Self::WhiteSpace;
pub const OtherNeutral: Self = Self(10);
pub const ON: Self = Self::OtherNeutral;
pub const LeftToRightEmbedding: Self = Self(11);
pub const LRE: Self = Self::LeftToRightEmbedding;
pub const LeftToRightOverride: Self = Self(12);
pub const LRO: Self = Self::LeftToRightOverride;
pub const ArabicLetter: Self = Self(13);
pub const AL: Self = Self::ArabicLetter;
pub const RightToLeftEmbedding: Self = Self(14);
pub const RLE: Self = Self::RightToLeftEmbedding;
pub const RightToLeftOverride: Self = Self(15);
pub const RLO: Self = Self::RightToLeftOverride;
pub const PopDirectionalFormat: Self = Self(16);
pub const PDF: Self = Self::PopDirectionalFormat;
pub const NonspacingMark: Self = Self(17);
pub const NSM: Self = Self::NonspacingMark;
pub const BoundaryNeutral: Self = Self(18);
pub const BN: Self = Self::BoundaryNeutral;
pub const FirstStrongIsolate: Self = Self(19);
pub const FSI: Self = Self::FirstStrongIsolate;
pub const LeftToRightIsolate: Self = Self(20);
pub const LRI: Self = Self::LeftToRightIsolate;
pub const RightToLeftIsolate: Self = Self(21);
pub const RLI: Self = Self::RightToLeftIsolate;
pub const PopDirectionalIsolate: Self = Self(22);
pub const PDI: Self = Self::PopDirectionalIsolate;
}
#[cfg(feature = "datagen")]
impl databake::Bake for BidiClass {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::LeftToRight => databake::quote!(icu_properties::props::BidiClass::LeftToRight),
Self::RightToLeft => databake::quote!(icu_properties::props::BidiClass::RightToLeft),
Self::EuropeanNumber => databake::quote!(icu_properties::props::BidiClass::EuropeanNumber),
Self::EuropeanSeparator => databake::quote!(icu_properties::props::BidiClass::EuropeanSeparator),
Self::EuropeanTerminator => databake::quote!(icu_properties::props::BidiClass::EuropeanTerminator),
Self::ArabicNumber => databake::quote!(icu_properties::props::BidiClass::ArabicNumber),
Self::CommonSeparator => databake::quote!(icu_properties::props::BidiClass::CommonSeparator),
Self::ParagraphSeparator => databake::quote!(icu_properties::props::BidiClass::ParagraphSeparator),
Self::SegmentSeparator => databake::quote!(icu_properties::props::BidiClass::SegmentSeparator),
Self::WhiteSpace => databake::quote!(icu_properties::props::BidiClass::WhiteSpace),
Self::OtherNeutral => databake::quote!(icu_properties::props::BidiClass::OtherNeutral),
Self::LeftToRightEmbedding => databake::quote!(icu_properties::props::BidiClass::LeftToRightEmbedding),
Self::LeftToRightOverride => databake::quote!(icu_properties::props::BidiClass::LeftToRightOverride),
Self::ArabicLetter => databake::quote!(icu_properties::props::BidiClass::ArabicLetter),
Self::RightToLeftEmbedding => databake::quote!(icu_properties::props::BidiClass::RightToLeftEmbedding),
Self::RightToLeftOverride => databake::quote!(icu_properties::props::BidiClass::RightToLeftOverride),
Self::PopDirectionalFormat => databake::quote!(icu_properties::props::BidiClass::PopDirectionalFormat),
Self::NonspacingMark => databake::quote!(icu_properties::props::BidiClass::NonspacingMark),
Self::BoundaryNeutral => databake::quote!(icu_properties::props::BidiClass::BoundaryNeutral),
Self::FirstStrongIsolate => databake::quote!(icu_properties::props::BidiClass::FirstStrongIsolate),
Self::LeftToRightIsolate => databake::quote!(icu_properties::props::BidiClass::LeftToRightIsolate),
Self::RightToLeftIsolate => databake::quote!(icu_properties::props::BidiClass::RightToLeftIsolate),
Self::PopDirectionalIsolate => databake::quote!(icu_properties::props::BidiClass::PopDirectionalIsolate),
Self(v) => databake::quote!(icu_properties::props::BidiClass(#v)),
}
}
}
impl From<BidiClass> for u16 {
fn from(other: BidiClass) -> Self {
other.0 as u16
}
}
impl BidiClass {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::LeftToRight,
Self::RightToLeft,
Self::EuropeanNumber,
Self::EuropeanSeparator,
Self::EuropeanTerminator,
Self::ArabicNumber,
Self::CommonSeparator,
Self::ParagraphSeparator,
Self::SegmentSeparator,
Self::WhiteSpace,
Self::OtherNeutral,
Self::LeftToRightEmbedding,
Self::LeftToRightOverride,
Self::ArabicLetter,
Self::RightToLeftEmbedding,
Self::RightToLeftOverride,
Self::PopDirectionalFormat,
Self::NonspacingMark,
Self::BoundaryNeutral,
Self::FirstStrongIsolate,
Self::LeftToRightIsolate,
Self::RightToLeftIsolate,
Self::PopDirectionalIsolate,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("L", Self::LeftToRight),
("R", Self::RightToLeft),
("EN", Self::EuropeanNumber),
("ES", Self::EuropeanSeparator),
("ET", Self::EuropeanTerminator),
("AN", Self::ArabicNumber),
("CS", Self::CommonSeparator),
("B", Self::ParagraphSeparator),
("S", Self::SegmentSeparator),
("WS", Self::WhiteSpace),
("ON", Self::OtherNeutral),
("LRE", Self::LeftToRightEmbedding),
("LRO", Self::LeftToRightOverride),
("AL", Self::ArabicLetter),
("RLE", Self::RightToLeftEmbedding),
("RLO", Self::RightToLeftOverride),
("PDF", Self::PopDirectionalFormat),
("NSM", Self::NonspacingMark),
("BN", Self::BoundaryNeutral),
("FSI", Self::FirstStrongIsolate),
("LRI", Self::LeftToRightIsolate),
("RLI", Self::RightToLeftIsolate),
("PDI", Self::PopDirectionalIsolate),
].into_iter()
}
}
impl CanonicalCombiningClass {
pub const NotReordered: Self = Self(0);
pub const NR: Self = Self::NotReordered;
pub const Overlay: Self = Self(1);
pub const OV: Self = Self::Overlay;
pub const HanReading: Self = Self(6);
pub const HANR: Self = Self::HanReading;
pub const Nukta: Self = Self(7);
pub const NK: Self = Self::Nukta;
pub const KanaVoicing: Self = Self(8);
pub const KV: Self = Self::KanaVoicing;
pub const Virama: Self = Self(9);
pub const VR: Self = Self::Virama;
pub const CCC10: Self = Self(10);
pub const CCC11: Self = Self(11);
pub const CCC12: Self = Self(12);
pub const CCC13: Self = Self(13);
pub const CCC14: Self = Self(14);
pub const CCC15: Self = Self(15);
pub const CCC16: Self = Self(16);
pub const CCC17: Self = Self(17);
pub const CCC18: Self = Self(18);
pub const CCC19: Self = Self(19);
pub const CCC20: Self = Self(20);
pub const CCC21: Self = Self(21);
pub const CCC22: Self = Self(22);
pub const CCC23: Self = Self(23);
pub const CCC24: Self = Self(24);
pub const CCC25: Self = Self(25);
pub const CCC26: Self = Self(26);
pub const CCC27: Self = Self(27);
pub const CCC28: Self = Self(28);
pub const CCC29: Self = Self(29);
pub const CCC30: Self = Self(30);
pub const CCC31: Self = Self(31);
pub const CCC32: Self = Self(32);
pub const CCC33: Self = Self(33);
pub const CCC34: Self = Self(34);
pub const CCC35: Self = Self(35);
pub const CCC36: Self = Self(36);
pub const CCC84: Self = Self(84);
pub const CCC91: Self = Self(91);
pub const CCC103: Self = Self(103);
pub const CCC107: Self = Self(107);
pub const CCC118: Self = Self(118);
pub const CCC122: Self = Self(122);
pub const CCC129: Self = Self(129);
pub const CCC130: Self = Self(130);
pub const CCC132: Self = Self(132);
pub const CCC133: Self = Self(133);
pub const AttachedBelowLeft: Self = Self(200);
pub const ATBL: Self = Self::AttachedBelowLeft;
pub const AttachedBelow: Self = Self(202);
pub const ATB: Self = Self::AttachedBelow;
pub const AttachedAbove: Self = Self(214);
pub const ATA: Self = Self::AttachedAbove;
pub const AttachedAboveRight: Self = Self(216);
pub const ATAR: Self = Self::AttachedAboveRight;
pub const BelowLeft: Self = Self(218);
pub const BL: Self = Self::BelowLeft;
pub const Below: Self = Self(220);
pub const B: Self = Self::Below;
pub const BelowRight: Self = Self(222);
pub const BR: Self = Self::BelowRight;
pub const Left: Self = Self(224);
pub const L: Self = Self::Left;
pub const Right: Self = Self(226);
pub const R: Self = Self::Right;
pub const AboveLeft: Self = Self(228);
pub const AL: Self = Self::AboveLeft;
pub const Above: Self = Self(230);
pub const A: Self = Self::Above;
pub const AboveRight: Self = Self(232);
pub const AR: Self = Self::AboveRight;
pub const DoubleBelow: Self = Self(233);
pub const DB: Self = Self::DoubleBelow;
pub const DoubleAbove: Self = Self(234);
pub const DA: Self = Self::DoubleAbove;
pub const IotaSubscript: Self = Self(240);
pub const IS: Self = Self::IotaSubscript;
}
#[cfg(feature = "datagen")]
impl databake::Bake for CanonicalCombiningClass {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::NotReordered => databake::quote!(icu_properties::props::CanonicalCombiningClass::NotReordered),
Self::Overlay => databake::quote!(icu_properties::props::CanonicalCombiningClass::Overlay),
Self::HanReading => databake::quote!(icu_properties::props::CanonicalCombiningClass::HanReading),
Self::Nukta => databake::quote!(icu_properties::props::CanonicalCombiningClass::Nukta),
Self::KanaVoicing => databake::quote!(icu_properties::props::CanonicalCombiningClass::KanaVoicing),
Self::Virama => databake::quote!(icu_properties::props::CanonicalCombiningClass::Virama),
Self::CCC10 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC10),
Self::CCC11 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC11),
Self::CCC12 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC12),
Self::CCC13 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC13),
Self::CCC14 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC14),
Self::CCC15 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC15),
Self::CCC16 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC16),
Self::CCC17 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC17),
Self::CCC18 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC18),
Self::CCC19 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC19),
Self::CCC20 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC20),
Self::CCC21 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC21),
Self::CCC22 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC22),
Self::CCC23 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC23),
Self::CCC24 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC24),
Self::CCC25 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC25),
Self::CCC26 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC26),
Self::CCC27 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC27),
Self::CCC28 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC28),
Self::CCC29 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC29),
Self::CCC30 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC30),
Self::CCC31 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC31),
Self::CCC32 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC32),
Self::CCC33 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC33),
Self::CCC34 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC34),
Self::CCC35 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC35),
Self::CCC36 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC36),
Self::CCC84 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC84),
Self::CCC91 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC91),
Self::CCC103 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC103),
Self::CCC107 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC107),
Self::CCC118 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC118),
Self::CCC122 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC122),
Self::CCC129 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC129),
Self::CCC130 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC130),
Self::CCC132 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC132),
Self::CCC133 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC133),
Self::AttachedBelowLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedBelowLeft),
Self::AttachedBelow => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedBelow),
Self::AttachedAbove => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedAbove),
Self::AttachedAboveRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedAboveRight),
Self::BelowLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::BelowLeft),
Self::Below => databake::quote!(icu_properties::props::CanonicalCombiningClass::Below),
Self::BelowRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::BelowRight),
Self::Left => databake::quote!(icu_properties::props::CanonicalCombiningClass::Left),
Self::Right => databake::quote!(icu_properties::props::CanonicalCombiningClass::Right),
Self::AboveLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::AboveLeft),
Self::Above => databake::quote!(icu_properties::props::CanonicalCombiningClass::Above),
Self::AboveRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::AboveRight),
Self::DoubleBelow => databake::quote!(icu_properties::props::CanonicalCombiningClass::DoubleBelow),
Self::DoubleAbove => databake::quote!(icu_properties::props::CanonicalCombiningClass::DoubleAbove),
Self::IotaSubscript => databake::quote!(icu_properties::props::CanonicalCombiningClass::IotaSubscript),
Self(v) => databake::quote!(icu_properties::props::CanonicalCombiningClass(#v)),
}
}
}
impl From<CanonicalCombiningClass> for u16 {
fn from(other: CanonicalCombiningClass) -> Self {
other.0 as u16
}
}
impl CanonicalCombiningClass {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::NotReordered,
Self::Overlay,
Self::HanReading,
Self::Nukta,
Self::KanaVoicing,
Self::Virama,
Self::CCC10,
Self::CCC11,
Self::CCC12,
Self::CCC13,
Self::CCC14,
Self::CCC15,
Self::CCC16,
Self::CCC17,
Self::CCC18,
Self::CCC19,
Self::CCC20,
Self::CCC21,
Self::CCC22,
Self::CCC23,
Self::CCC24,
Self::CCC25,
Self::CCC26,
Self::CCC27,
Self::CCC28,
Self::CCC29,
Self::CCC30,
Self::CCC31,
Self::CCC32,
Self::CCC33,
Self::CCC34,
Self::CCC35,
Self::CCC36,
Self::CCC84,
Self::CCC91,
Self::CCC103,
Self::CCC107,
Self::CCC118,
Self::CCC122,
Self::CCC129,
Self::CCC130,
Self::CCC132,
Self::CCC133,
Self::AttachedBelowLeft,
Self::AttachedBelow,
Self::AttachedAbove,
Self::AttachedAboveRight,
Self::BelowLeft,
Self::Below,
Self::BelowRight,
Self::Left,
Self::Right,
Self::AboveLeft,
Self::Above,
Self::AboveRight,
Self::DoubleBelow,
Self::DoubleAbove,
Self::IotaSubscript,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("NR", Self::NotReordered),
("OV", Self::Overlay),
("HANR", Self::HanReading),
("NK", Self::Nukta),
("KV", Self::KanaVoicing),
("VR", Self::Virama),
("CCC10", Self::CCC10),
("CCC11", Self::CCC11),
("CCC12", Self::CCC12),
("CCC13", Self::CCC13),
("CCC14", Self::CCC14),
("CCC15", Self::CCC15),
("CCC16", Self::CCC16),
("CCC17", Self::CCC17),
("CCC18", Self::CCC18),
("CCC19", Self::CCC19),
("CCC20", Self::CCC20),
("CCC21", Self::CCC21),
("CCC22", Self::CCC22),
("CCC23", Self::CCC23),
("CCC24", Self::CCC24),
("CCC25", Self::CCC25),
("CCC26", Self::CCC26),
("CCC27", Self::CCC27),
("CCC28", Self::CCC28),
("CCC29", Self::CCC29),
("CCC30", Self::CCC30),
("CCC31", Self::CCC31),
("CCC32", Self::CCC32),
("CCC33", Self::CCC33),
("CCC34", Self::CCC34),
("CCC35", Self::CCC35),
("CCC36", Self::CCC36),
("CCC84", Self::CCC84),
("CCC91", Self::CCC91),
("CCC103", Self::CCC103),
("CCC107", Self::CCC107),
("CCC118", Self::CCC118),
("CCC122", Self::CCC122),
("CCC129", Self::CCC129),
("CCC130", Self::CCC130),
("CCC132", Self::CCC132),
("CCC133", Self::CCC133),
("ATBL", Self::AttachedBelowLeft),
("ATB", Self::AttachedBelow),
("ATA", Self::AttachedAbove),
("ATAR", Self::AttachedAboveRight),
("BL", Self::BelowLeft),
("B", Self::Below),
("BR", Self::BelowRight),
("L", Self::Left),
("R", Self::Right),
("AL", Self::AboveLeft),
("A", Self::Above),
("AR", Self::AboveRight),
("DB", Self::DoubleBelow),
("DA", Self::DoubleAbove),
("IS", Self::IotaSubscript),
].into_iter()
}
}
impl EastAsianWidth {
pub const Neutral: Self = Self(0);
pub const N: Self = Self::Neutral;
pub const Ambiguous: Self = Self(1);
pub const A: Self = Self::Ambiguous;
pub const Halfwidth: Self = Self(2);
pub const H: Self = Self::Halfwidth;
pub const Fullwidth: Self = Self(3);
pub const F: Self = Self::Fullwidth;
pub const Narrow: Self = Self(4);
pub const Na: Self = Self::Narrow;
pub const Wide: Self = Self(5);
pub const W: Self = Self::Wide;
}
#[cfg(feature = "datagen")]
impl databake::Bake for EastAsianWidth {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Neutral => databake::quote!(icu_properties::props::EastAsianWidth::Neutral),
Self::Ambiguous => databake::quote!(icu_properties::props::EastAsianWidth::Ambiguous),
Self::Halfwidth => databake::quote!(icu_properties::props::EastAsianWidth::Halfwidth),
Self::Fullwidth => databake::quote!(icu_properties::props::EastAsianWidth::Fullwidth),
Self::Narrow => databake::quote!(icu_properties::props::EastAsianWidth::Narrow),
Self::Wide => databake::quote!(icu_properties::props::EastAsianWidth::Wide),
Self(v) => databake::quote!(icu_properties::props::EastAsianWidth(#v)),
}
}
}
impl From<EastAsianWidth> for u16 {
fn from(other: EastAsianWidth) -> Self {
other.0 as u16
}
}
impl EastAsianWidth {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Neutral,
Self::Ambiguous,
Self::Halfwidth,
Self::Fullwidth,
Self::Narrow,
Self::Wide,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("N", Self::Neutral),
("A", Self::Ambiguous),
("H", Self::Halfwidth),
("F", Self::Fullwidth),
("Na", Self::Narrow),
("W", Self::Wide),
].into_iter()
}
}
#[derive(Copy, Clone, PartialEq, Eq, Debug, Ord, PartialOrd, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[allow(clippy::exhaustive_enums)] #[zerovec::make_ule(GeneralCategoryULE)]
#[cfg_attr(not(feature = "alloc"), zerovec::skip_derive(ZeroMapKV))]
#[repr(u8)]
#[allow(missing_docs)] pub enum GeneralCategory {
Unassigned = 0,
UppercaseLetter = 1,
LowercaseLetter = 2,
TitlecaseLetter = 3,
ModifierLetter = 4,
OtherLetter = 5,
NonspacingMark = 6,
EnclosingMark = 7,
SpacingMark = 8,
DecimalNumber = 9,
LetterNumber = 10,
OtherNumber = 11,
SpaceSeparator = 12,
LineSeparator = 13,
ParagraphSeparator = 14,
Control = 15,
Format = 16,
PrivateUse = 17,
Surrogate = 18,
DashPunctuation = 19,
OpenPunctuation = 20,
ClosePunctuation = 21,
ConnectorPunctuation = 22,
OtherPunctuation = 23,
MathSymbol = 24,
CurrencySymbol = 25,
ModifierSymbol = 26,
OtherSymbol = 27,
InitialPunctuation = 28,
FinalPunctuation = 29,
}
impl GeneralCategory {
pub const Cn: Self = Self::Unassigned;
pub const Lu: Self = Self::UppercaseLetter;
pub const Ll: Self = Self::LowercaseLetter;
pub const Lt: Self = Self::TitlecaseLetter;
pub const Lm: Self = Self::ModifierLetter;
pub const Lo: Self = Self::OtherLetter;
pub const Mn: Self = Self::NonspacingMark;
pub const Me: Self = Self::EnclosingMark;
pub const Mc: Self = Self::SpacingMark;
pub const Nd: Self = Self::DecimalNumber;
pub const Digit: Self = Self::DecimalNumber;
pub const Nl: Self = Self::LetterNumber;
pub const No: Self = Self::OtherNumber;
pub const Zs: Self = Self::SpaceSeparator;
pub const Zl: Self = Self::LineSeparator;
pub const Zp: Self = Self::ParagraphSeparator;
pub const Cc: Self = Self::Control;
pub const Cntrl: Self = Self::Control;
pub const Cf: Self = Self::Format;
pub const Co: Self = Self::PrivateUse;
pub const Cs: Self = Self::Surrogate;
pub const Pd: Self = Self::DashPunctuation;
pub const Ps: Self = Self::OpenPunctuation;
pub const Pe: Self = Self::ClosePunctuation;
pub const Pc: Self = Self::ConnectorPunctuation;
pub const Po: Self = Self::OtherPunctuation;
pub const Sm: Self = Self::MathSymbol;
pub const Sc: Self = Self::CurrencySymbol;
pub const Sk: Self = Self::ModifierSymbol;
pub const So: Self = Self::OtherSymbol;
pub const Pi: Self = Self::InitialPunctuation;
pub const Pf: Self = Self::FinalPunctuation;
}
#[cfg(feature = "datagen")]
impl databake::Bake for GeneralCategory {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Unassigned => databake::quote!(icu_properties::props::GeneralCategory::Unassigned),
Self::UppercaseLetter => databake::quote!(icu_properties::props::GeneralCategory::UppercaseLetter),
Self::LowercaseLetter => databake::quote!(icu_properties::props::GeneralCategory::LowercaseLetter),
Self::TitlecaseLetter => databake::quote!(icu_properties::props::GeneralCategory::TitlecaseLetter),
Self::ModifierLetter => databake::quote!(icu_properties::props::GeneralCategory::ModifierLetter),
Self::OtherLetter => databake::quote!(icu_properties::props::GeneralCategory::OtherLetter),
Self::NonspacingMark => databake::quote!(icu_properties::props::GeneralCategory::NonspacingMark),
Self::EnclosingMark => databake::quote!(icu_properties::props::GeneralCategory::EnclosingMark),
Self::SpacingMark => databake::quote!(icu_properties::props::GeneralCategory::SpacingMark),
Self::DecimalNumber => databake::quote!(icu_properties::props::GeneralCategory::DecimalNumber),
Self::LetterNumber => databake::quote!(icu_properties::props::GeneralCategory::LetterNumber),
Self::OtherNumber => databake::quote!(icu_properties::props::GeneralCategory::OtherNumber),
Self::SpaceSeparator => databake::quote!(icu_properties::props::GeneralCategory::SpaceSeparator),
Self::LineSeparator => databake::quote!(icu_properties::props::GeneralCategory::LineSeparator),
Self::ParagraphSeparator => databake::quote!(icu_properties::props::GeneralCategory::ParagraphSeparator),
Self::Control => databake::quote!(icu_properties::props::GeneralCategory::Control),
Self::Format => databake::quote!(icu_properties::props::GeneralCategory::Format),
Self::PrivateUse => databake::quote!(icu_properties::props::GeneralCategory::PrivateUse),
Self::Surrogate => databake::quote!(icu_properties::props::GeneralCategory::Surrogate),
Self::DashPunctuation => databake::quote!(icu_properties::props::GeneralCategory::DashPunctuation),
Self::OpenPunctuation => databake::quote!(icu_properties::props::GeneralCategory::OpenPunctuation),
Self::ClosePunctuation => databake::quote!(icu_properties::props::GeneralCategory::ClosePunctuation),
Self::ConnectorPunctuation => databake::quote!(icu_properties::props::GeneralCategory::ConnectorPunctuation),
Self::OtherPunctuation => databake::quote!(icu_properties::props::GeneralCategory::OtherPunctuation),
Self::MathSymbol => databake::quote!(icu_properties::props::GeneralCategory::MathSymbol),
Self::CurrencySymbol => databake::quote!(icu_properties::props::GeneralCategory::CurrencySymbol),
Self::ModifierSymbol => databake::quote!(icu_properties::props::GeneralCategory::ModifierSymbol),
Self::OtherSymbol => databake::quote!(icu_properties::props::GeneralCategory::OtherSymbol),
Self::InitialPunctuation => databake::quote!(icu_properties::props::GeneralCategory::InitialPunctuation),
Self::FinalPunctuation => databake::quote!(icu_properties::props::GeneralCategory::FinalPunctuation),
}
}
}
impl From<GeneralCategory> for u16 {
fn from(other: GeneralCategory) -> Self {
other as u16
}
}
impl GeneralCategory {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Unassigned,
Self::UppercaseLetter,
Self::LowercaseLetter,
Self::TitlecaseLetter,
Self::ModifierLetter,
Self::OtherLetter,
Self::NonspacingMark,
Self::EnclosingMark,
Self::SpacingMark,
Self::DecimalNumber,
Self::LetterNumber,
Self::OtherNumber,
Self::SpaceSeparator,
Self::LineSeparator,
Self::ParagraphSeparator,
Self::Control,
Self::Format,
Self::PrivateUse,
Self::Surrogate,
Self::DashPunctuation,
Self::OpenPunctuation,
Self::ClosePunctuation,
Self::ConnectorPunctuation,
Self::OtherPunctuation,
Self::MathSymbol,
Self::CurrencySymbol,
Self::ModifierSymbol,
Self::OtherSymbol,
Self::InitialPunctuation,
Self::FinalPunctuation,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("Cn", Self::Unassigned),
("Lu", Self::UppercaseLetter),
("Ll", Self::LowercaseLetter),
("Lt", Self::TitlecaseLetter),
("Lm", Self::ModifierLetter),
("Lo", Self::OtherLetter),
("Mn", Self::NonspacingMark),
("Me", Self::EnclosingMark),
("Mc", Self::SpacingMark),
("Nd", Self::DecimalNumber),
("Nl", Self::LetterNumber),
("No", Self::OtherNumber),
("Zs", Self::SpaceSeparator),
("Zl", Self::LineSeparator),
("Zp", Self::ParagraphSeparator),
("Cc", Self::Control),
("Cf", Self::Format),
("Co", Self::PrivateUse),
("Cs", Self::Surrogate),
("Pd", Self::DashPunctuation),
("Ps", Self::OpenPunctuation),
("Pe", Self::ClosePunctuation),
("Pc", Self::ConnectorPunctuation),
("Po", Self::OtherPunctuation),
("Sm", Self::MathSymbol),
("Sc", Self::CurrencySymbol),
("Sk", Self::ModifierSymbol),
("So", Self::OtherSymbol),
("Pi", Self::InitialPunctuation),
("Pf", Self::FinalPunctuation),
].into_iter()
}
}
impl GraphemeClusterBreak {
pub const Other: Self = Self(0);
pub const XX: Self = Self::Other;
pub const Control: Self = Self(1);
pub const CN: Self = Self::Control;
pub const CR: Self = Self(2);
pub const Extend: Self = Self(3);
pub const EX: Self = Self::Extend;
pub const L: Self = Self(4);
pub const LF: Self = Self(5);
pub const LV: Self = Self(6);
pub const LVT: Self = Self(7);
pub const T: Self = Self(8);
pub const V: Self = Self(9);
pub const SpacingMark: Self = Self(10);
pub const SM: Self = Self::SpacingMark;
pub const Prepend: Self = Self(11);
pub const PP: Self = Self::Prepend;
pub const RegionalIndicator: Self = Self(12);
pub const RI: Self = Self::RegionalIndicator;
pub const EBase: Self = Self(13);
pub const EB: Self = Self::EBase;
pub const EBaseGAZ: Self = Self(14);
pub const EBG: Self = Self::EBaseGAZ;
pub const EModifier: Self = Self(15);
pub const EM: Self = Self::EModifier;
pub const GlueAfterZwj: Self = Self(16);
pub const GAZ: Self = Self::GlueAfterZwj;
pub const ZWJ: Self = Self(17);
}
#[cfg(feature = "datagen")]
impl databake::Bake for GraphemeClusterBreak {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Other => databake::quote!(icu_properties::props::GraphemeClusterBreak::Other),
Self::Control => databake::quote!(icu_properties::props::GraphemeClusterBreak::Control),
Self::CR => databake::quote!(icu_properties::props::GraphemeClusterBreak::CR),
Self::Extend => databake::quote!(icu_properties::props::GraphemeClusterBreak::Extend),
Self::L => databake::quote!(icu_properties::props::GraphemeClusterBreak::L),
Self::LF => databake::quote!(icu_properties::props::GraphemeClusterBreak::LF),
Self::LV => databake::quote!(icu_properties::props::GraphemeClusterBreak::LV),
Self::LVT => databake::quote!(icu_properties::props::GraphemeClusterBreak::LVT),
Self::T => databake::quote!(icu_properties::props::GraphemeClusterBreak::T),
Self::V => databake::quote!(icu_properties::props::GraphemeClusterBreak::V),
Self::SpacingMark => databake::quote!(icu_properties::props::GraphemeClusterBreak::SpacingMark),
Self::Prepend => databake::quote!(icu_properties::props::GraphemeClusterBreak::Prepend),
Self::RegionalIndicator => databake::quote!(icu_properties::props::GraphemeClusterBreak::RegionalIndicator),
Self::EBase => databake::quote!(icu_properties::props::GraphemeClusterBreak::EBase),
Self::EBaseGAZ => databake::quote!(icu_properties::props::GraphemeClusterBreak::EBaseGAZ),
Self::EModifier => databake::quote!(icu_properties::props::GraphemeClusterBreak::EModifier),
Self::GlueAfterZwj => databake::quote!(icu_properties::props::GraphemeClusterBreak::GlueAfterZwj),
Self::ZWJ => databake::quote!(icu_properties::props::GraphemeClusterBreak::ZWJ),
Self(v) => databake::quote!(icu_properties::props::GraphemeClusterBreak(#v)),
}
}
}
impl From<GraphemeClusterBreak> for u16 {
fn from(other: GraphemeClusterBreak) -> Self {
other.0 as u16
}
}
impl GraphemeClusterBreak {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Other,
Self::Control,
Self::CR,
Self::Extend,
Self::L,
Self::LF,
Self::LV,
Self::LVT,
Self::T,
Self::V,
Self::SpacingMark,
Self::Prepend,
Self::RegionalIndicator,
Self::EBase,
Self::EBaseGAZ,
Self::EModifier,
Self::GlueAfterZwj,
Self::ZWJ,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("XX", Self::Other),
("CN", Self::Control),
("CR", Self::CR),
("EX", Self::Extend),
("L", Self::L),
("LF", Self::LF),
("LV", Self::LV),
("LVT", Self::LVT),
("T", Self::T),
("V", Self::V),
("SM", Self::SpacingMark),
("PP", Self::Prepend),
("RI", Self::RegionalIndicator),
("EB", Self::EBase),
("EBG", Self::EBaseGAZ),
("EM", Self::EModifier),
("GAZ", Self::GlueAfterZwj),
("ZWJ", Self::ZWJ),
].into_iter()
}
}
impl HangulSyllableType {
pub const NotApplicable: Self = Self(0);
pub const NA: Self = Self::NotApplicable;
pub const LeadingJamo: Self = Self(1);
pub const L: Self = Self::LeadingJamo;
pub const VowelJamo: Self = Self(2);
pub const V: Self = Self::VowelJamo;
pub const TrailingJamo: Self = Self(3);
pub const T: Self = Self::TrailingJamo;
pub const LVSyllable: Self = Self(4);
pub const LV: Self = Self::LVSyllable;
pub const LVTSyllable: Self = Self(5);
pub const LVT: Self = Self::LVTSyllable;
}
#[cfg(feature = "datagen")]
impl databake::Bake for HangulSyllableType {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::NotApplicable => databake::quote!(icu_properties::props::HangulSyllableType::NotApplicable),
Self::LeadingJamo => databake::quote!(icu_properties::props::HangulSyllableType::LeadingJamo),
Self::VowelJamo => databake::quote!(icu_properties::props::HangulSyllableType::VowelJamo),
Self::TrailingJamo => databake::quote!(icu_properties::props::HangulSyllableType::TrailingJamo),
Self::LVSyllable => databake::quote!(icu_properties::props::HangulSyllableType::LVSyllable),
Self::LVTSyllable => databake::quote!(icu_properties::props::HangulSyllableType::LVTSyllable),
Self(v) => databake::quote!(icu_properties::props::HangulSyllableType(#v)),
}
}
}
impl From<HangulSyllableType> for u16 {
fn from(other: HangulSyllableType) -> Self {
other.0 as u16
}
}
impl HangulSyllableType {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::NotApplicable,
Self::LeadingJamo,
Self::VowelJamo,
Self::TrailingJamo,
Self::LVSyllable,
Self::LVTSyllable,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("NA", Self::NotApplicable),
("L", Self::LeadingJamo),
("V", Self::VowelJamo),
("T", Self::TrailingJamo),
("LV", Self::LVSyllable),
("LVT", Self::LVTSyllable),
].into_iter()
}
}
impl IndicConjunctBreak {
pub const None: Self = Self(0);
pub const Consonant: Self = Self(1);
pub const Extend: Self = Self(2);
pub const Linker: Self = Self(3);
}
#[cfg(feature = "datagen")]
impl databake::Bake for IndicConjunctBreak {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::None => databake::quote!(icu_properties::props::IndicConjunctBreak::None),
Self::Consonant => databake::quote!(icu_properties::props::IndicConjunctBreak::Consonant),
Self::Extend => databake::quote!(icu_properties::props::IndicConjunctBreak::Extend),
Self::Linker => databake::quote!(icu_properties::props::IndicConjunctBreak::Linker),
Self(v) => databake::quote!(icu_properties::props::IndicConjunctBreak(#v)),
}
}
}
impl From<IndicConjunctBreak> for u16 {
fn from(other: IndicConjunctBreak) -> Self {
other.0 as u16
}
}
impl IndicConjunctBreak {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::None,
Self::Consonant,
Self::Extend,
Self::Linker,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("None", Self::None),
("Consonant", Self::Consonant),
("Extend", Self::Extend),
("Linker", Self::Linker),
].into_iter()
}
}
impl IndicSyllabicCategory {
pub const Other: Self = Self(0);
pub const Avagraha: Self = Self(1);
pub const Bindu: Self = Self(2);
pub const BrahmiJoiningNumber: Self = Self(3);
pub const CantillationMark: Self = Self(4);
pub const Consonant: Self = Self(5);
pub const ConsonantDead: Self = Self(6);
pub const ConsonantFinal: Self = Self(7);
pub const ConsonantHeadLetter: Self = Self(8);
pub const ConsonantInitialPostfixed: Self = Self(9);
pub const ConsonantKiller: Self = Self(10);
pub const ConsonantMedial: Self = Self(11);
pub const ConsonantPlaceholder: Self = Self(12);
pub const ConsonantPrecedingRepha: Self = Self(13);
pub const ConsonantPrefixed: Self = Self(14);
pub const ConsonantSubjoined: Self = Self(15);
pub const ConsonantSucceedingRepha: Self = Self(16);
pub const ConsonantWithStacker: Self = Self(17);
pub const GeminationMark: Self = Self(18);
pub const InvisibleStacker: Self = Self(19);
pub const Joiner: Self = Self(20);
pub const ModifyingLetter: Self = Self(21);
pub const NonJoiner: Self = Self(22);
pub const Nukta: Self = Self(23);
pub const Number: Self = Self(24);
pub const NumberJoiner: Self = Self(25);
pub const PureKiller: Self = Self(26);
pub const RegisterShifter: Self = Self(27);
pub const SyllableModifier: Self = Self(28);
pub const ToneLetter: Self = Self(29);
pub const ToneMark: Self = Self(30);
pub const Virama: Self = Self(31);
pub const Visarga: Self = Self(32);
pub const Vowel: Self = Self(33);
pub const VowelDependent: Self = Self(34);
pub const VowelIndependent: Self = Self(35);
pub const ReorderingKiller: Self = Self(36);
}
#[cfg(feature = "datagen")]
impl databake::Bake for IndicSyllabicCategory {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Other => databake::quote!(icu_properties::props::IndicSyllabicCategory::Other),
Self::Avagraha => databake::quote!(icu_properties::props::IndicSyllabicCategory::Avagraha),
Self::Bindu => databake::quote!(icu_properties::props::IndicSyllabicCategory::Bindu),
Self::BrahmiJoiningNumber => databake::quote!(icu_properties::props::IndicSyllabicCategory::BrahmiJoiningNumber),
Self::CantillationMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::CantillationMark),
Self::Consonant => databake::quote!(icu_properties::props::IndicSyllabicCategory::Consonant),
Self::ConsonantDead => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantDead),
Self::ConsonantFinal => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantFinal),
Self::ConsonantHeadLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantHeadLetter),
Self::ConsonantInitialPostfixed => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantInitialPostfixed),
Self::ConsonantKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantKiller),
Self::ConsonantMedial => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantMedial),
Self::ConsonantPlaceholder => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPlaceholder),
Self::ConsonantPrecedingRepha => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPrecedingRepha),
Self::ConsonantPrefixed => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPrefixed),
Self::ConsonantSubjoined => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantSubjoined),
Self::ConsonantSucceedingRepha => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantSucceedingRepha),
Self::ConsonantWithStacker => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantWithStacker),
Self::GeminationMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::GeminationMark),
Self::InvisibleStacker => databake::quote!(icu_properties::props::IndicSyllabicCategory::InvisibleStacker),
Self::Joiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::Joiner),
Self::ModifyingLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ModifyingLetter),
Self::NonJoiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::NonJoiner),
Self::Nukta => databake::quote!(icu_properties::props::IndicSyllabicCategory::Nukta),
Self::Number => databake::quote!(icu_properties::props::IndicSyllabicCategory::Number),
Self::NumberJoiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::NumberJoiner),
Self::PureKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::PureKiller),
Self::RegisterShifter => databake::quote!(icu_properties::props::IndicSyllabicCategory::RegisterShifter),
Self::SyllableModifier => databake::quote!(icu_properties::props::IndicSyllabicCategory::SyllableModifier),
Self::ToneLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ToneLetter),
Self::ToneMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::ToneMark),
Self::Virama => databake::quote!(icu_properties::props::IndicSyllabicCategory::Virama),
Self::Visarga => databake::quote!(icu_properties::props::IndicSyllabicCategory::Visarga),
Self::Vowel => databake::quote!(icu_properties::props::IndicSyllabicCategory::Vowel),
Self::VowelDependent => databake::quote!(icu_properties::props::IndicSyllabicCategory::VowelDependent),
Self::VowelIndependent => databake::quote!(icu_properties::props::IndicSyllabicCategory::VowelIndependent),
Self::ReorderingKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::ReorderingKiller),
Self(v) => databake::quote!(icu_properties::props::IndicSyllabicCategory(#v)),
}
}
}
impl From<IndicSyllabicCategory> for u16 {
fn from(other: IndicSyllabicCategory) -> Self {
other.0 as u16
}
}
impl IndicSyllabicCategory {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Other,
Self::Avagraha,
Self::Bindu,
Self::BrahmiJoiningNumber,
Self::CantillationMark,
Self::Consonant,
Self::ConsonantDead,
Self::ConsonantFinal,
Self::ConsonantHeadLetter,
Self::ConsonantInitialPostfixed,
Self::ConsonantKiller,
Self::ConsonantMedial,
Self::ConsonantPlaceholder,
Self::ConsonantPrecedingRepha,
Self::ConsonantPrefixed,
Self::ConsonantSubjoined,
Self::ConsonantSucceedingRepha,
Self::ConsonantWithStacker,
Self::GeminationMark,
Self::InvisibleStacker,
Self::Joiner,
Self::ModifyingLetter,
Self::NonJoiner,
Self::Nukta,
Self::Number,
Self::NumberJoiner,
Self::PureKiller,
Self::RegisterShifter,
Self::SyllableModifier,
Self::ToneLetter,
Self::ToneMark,
Self::Virama,
Self::Visarga,
Self::Vowel,
Self::VowelDependent,
Self::VowelIndependent,
Self::ReorderingKiller,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("Other", Self::Other),
("Avagraha", Self::Avagraha),
("Bindu", Self::Bindu),
("Brahmi_Joining_Number", Self::BrahmiJoiningNumber),
("Cantillation_Mark", Self::CantillationMark),
("Consonant", Self::Consonant),
("Consonant_Dead", Self::ConsonantDead),
("Consonant_Final", Self::ConsonantFinal),
("Consonant_Head_Letter", Self::ConsonantHeadLetter),
("Consonant_Initial_Postfixed", Self::ConsonantInitialPostfixed),
("Consonant_Killer", Self::ConsonantKiller),
("Consonant_Medial", Self::ConsonantMedial),
("Consonant_Placeholder", Self::ConsonantPlaceholder),
("Consonant_Preceding_Repha", Self::ConsonantPrecedingRepha),
("Consonant_Prefixed", Self::ConsonantPrefixed),
("Consonant_Subjoined", Self::ConsonantSubjoined),
("Consonant_Succeeding_Repha", Self::ConsonantSucceedingRepha),
("Consonant_With_Stacker", Self::ConsonantWithStacker),
("Gemination_Mark", Self::GeminationMark),
("Invisible_Stacker", Self::InvisibleStacker),
("Joiner", Self::Joiner),
("Modifying_Letter", Self::ModifyingLetter),
("Non_Joiner", Self::NonJoiner),
("Nukta", Self::Nukta),
("Number", Self::Number),
("Number_Joiner", Self::NumberJoiner),
("Pure_Killer", Self::PureKiller),
("Register_Shifter", Self::RegisterShifter),
("Syllable_Modifier", Self::SyllableModifier),
("Tone_Letter", Self::ToneLetter),
("Tone_Mark", Self::ToneMark),
("Virama", Self::Virama),
("Visarga", Self::Visarga),
("Vowel", Self::Vowel),
("Vowel_Dependent", Self::VowelDependent),
("Vowel_Independent", Self::VowelIndependent),
("Reordering_Killer", Self::ReorderingKiller),
].into_iter()
}
}
impl JoiningGroup {
pub const NoJoiningGroup: Self = Self(0);
pub const Ain: Self = Self(1);
pub const Alaph: Self = Self(2);
pub const Alef: Self = Self(3);
pub const Beh: Self = Self(4);
pub const Beth: Self = Self(5);
pub const Dal: Self = Self(6);
pub const DalathRish: Self = Self(7);
pub const E: Self = Self(8);
pub const Feh: Self = Self(9);
pub const FinalSemkath: Self = Self(10);
pub const Gaf: Self = Self(11);
pub const Gamal: Self = Self(12);
pub const Hah: Self = Self(13);
pub const TehMarbutaGoal: Self = Self(14);
pub const HamzaOnHehGoal: Self = Self::TehMarbutaGoal;
pub const He: Self = Self(15);
pub const Heh: Self = Self(16);
pub const HehGoal: Self = Self(17);
pub const Heth: Self = Self(18);
pub const Kaf: Self = Self(19);
pub const Kaph: Self = Self(20);
pub const KnottedHeh: Self = Self(21);
pub const Lam: Self = Self(22);
pub const Lamadh: Self = Self(23);
pub const Meem: Self = Self(24);
pub const Mim: Self = Self(25);
pub const Noon: Self = Self(26);
pub const Nun: Self = Self(27);
pub const Pe: Self = Self(28);
pub const Qaf: Self = Self(29);
pub const Qaph: Self = Self(30);
pub const Reh: Self = Self(31);
pub const ReversedPe: Self = Self(32);
pub const Sad: Self = Self(33);
pub const Sadhe: Self = Self(34);
pub const Seen: Self = Self(35);
pub const Semkath: Self = Self(36);
pub const Shin: Self = Self(37);
pub const SwashKaf: Self = Self(38);
pub const SyriacWaw: Self = Self(39);
pub const Tah: Self = Self(40);
pub const Taw: Self = Self(41);
pub const TehMarbuta: Self = Self(42);
pub const Teth: Self = Self(43);
pub const Waw: Self = Self(44);
pub const Yeh: Self = Self(45);
pub const YehBarree: Self = Self(46);
pub const YehWithTail: Self = Self(47);
pub const Yudh: Self = Self(48);
pub const YudhHe: Self = Self(49);
pub const Zain: Self = Self(50);
pub const Fe: Self = Self(51);
pub const Khaph: Self = Self(52);
pub const Zhain: Self = Self(53);
pub const BurushaskiYehBarree: Self = Self(54);
pub const FarsiYeh: Self = Self(55);
pub const Nya: Self = Self(56);
pub const RohingyaYeh: Self = Self(57);
pub const ManichaeanAleph: Self = Self(58);
pub const ManichaeanAyin: Self = Self(59);
pub const ManichaeanBeth: Self = Self(60);
pub const ManichaeanDaleth: Self = Self(61);
pub const ManichaeanDhamedh: Self = Self(62);
pub const ManichaeanFive: Self = Self(63);
pub const ManichaeanGimel: Self = Self(64);
pub const ManichaeanHeth: Self = Self(65);
pub const ManichaeanHundred: Self = Self(66);
pub const ManichaeanKaph: Self = Self(67);
pub const ManichaeanLamedh: Self = Self(68);
pub const ManichaeanMem: Self = Self(69);
pub const ManichaeanNun: Self = Self(70);
pub const ManichaeanOne: Self = Self(71);
pub const ManichaeanPe: Self = Self(72);
pub const ManichaeanQoph: Self = Self(73);
pub const ManichaeanResh: Self = Self(74);
pub const ManichaeanSadhe: Self = Self(75);
pub const ManichaeanSamekh: Self = Self(76);
pub const ManichaeanTaw: Self = Self(77);
pub const ManichaeanTen: Self = Self(78);
pub const ManichaeanTeth: Self = Self(79);
pub const ManichaeanThamedh: Self = Self(80);
pub const ManichaeanTwenty: Self = Self(81);
pub const ManichaeanWaw: Self = Self(82);
pub const ManichaeanYodh: Self = Self(83);
pub const ManichaeanZayin: Self = Self(84);
pub const StraightWaw: Self = Self(85);
pub const AfricanFeh: Self = Self(86);
pub const AfricanNoon: Self = Self(87);
pub const AfricanQaf: Self = Self(88);
pub const MalayalamBha: Self = Self(89);
pub const MalayalamJa: Self = Self(90);
pub const MalayalamLla: Self = Self(91);
pub const MalayalamLlla: Self = Self(92);
pub const MalayalamNga: Self = Self(93);
pub const MalayalamNna: Self = Self(94);
pub const MalayalamNnna: Self = Self(95);
pub const MalayalamNya: Self = Self(96);
pub const MalayalamRa: Self = Self(97);
pub const MalayalamSsa: Self = Self(98);
pub const MalayalamTta: Self = Self(99);
pub const HanifiRohingyaKinnaYa: Self = Self(100);
pub const HanifiRohingyaPa: Self = Self(101);
pub const ThinYeh: Self = Self(102);
pub const VerticalTail: Self = Self(103);
pub const KashmiriYeh: Self = Self(104);
pub const ThinNoon: Self = Self(105);
}
#[cfg(feature = "datagen")]
impl databake::Bake for JoiningGroup {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::NoJoiningGroup => databake::quote!(icu_properties::props::JoiningGroup::NoJoiningGroup),
Self::Ain => databake::quote!(icu_properties::props::JoiningGroup::Ain),
Self::Alaph => databake::quote!(icu_properties::props::JoiningGroup::Alaph),
Self::Alef => databake::quote!(icu_properties::props::JoiningGroup::Alef),
Self::Beh => databake::quote!(icu_properties::props::JoiningGroup::Beh),
Self::Beth => databake::quote!(icu_properties::props::JoiningGroup::Beth),
Self::Dal => databake::quote!(icu_properties::props::JoiningGroup::Dal),
Self::DalathRish => databake::quote!(icu_properties::props::JoiningGroup::DalathRish),
Self::E => databake::quote!(icu_properties::props::JoiningGroup::E),
Self::Feh => databake::quote!(icu_properties::props::JoiningGroup::Feh),
Self::FinalSemkath => databake::quote!(icu_properties::props::JoiningGroup::FinalSemkath),
Self::Gaf => databake::quote!(icu_properties::props::JoiningGroup::Gaf),
Self::Gamal => databake::quote!(icu_properties::props::JoiningGroup::Gamal),
Self::Hah => databake::quote!(icu_properties::props::JoiningGroup::Hah),
Self::TehMarbutaGoal => databake::quote!(icu_properties::props::JoiningGroup::TehMarbutaGoal),
Self::He => databake::quote!(icu_properties::props::JoiningGroup::He),
Self::Heh => databake::quote!(icu_properties::props::JoiningGroup::Heh),
Self::HehGoal => databake::quote!(icu_properties::props::JoiningGroup::HehGoal),
Self::Heth => databake::quote!(icu_properties::props::JoiningGroup::Heth),
Self::Kaf => databake::quote!(icu_properties::props::JoiningGroup::Kaf),
Self::Kaph => databake::quote!(icu_properties::props::JoiningGroup::Kaph),
Self::KnottedHeh => databake::quote!(icu_properties::props::JoiningGroup::KnottedHeh),
Self::Lam => databake::quote!(icu_properties::props::JoiningGroup::Lam),
Self::Lamadh => databake::quote!(icu_properties::props::JoiningGroup::Lamadh),
Self::Meem => databake::quote!(icu_properties::props::JoiningGroup::Meem),
Self::Mim => databake::quote!(icu_properties::props::JoiningGroup::Mim),
Self::Noon => databake::quote!(icu_properties::props::JoiningGroup::Noon),
Self::Nun => databake::quote!(icu_properties::props::JoiningGroup::Nun),
Self::Pe => databake::quote!(icu_properties::props::JoiningGroup::Pe),
Self::Qaf => databake::quote!(icu_properties::props::JoiningGroup::Qaf),
Self::Qaph => databake::quote!(icu_properties::props::JoiningGroup::Qaph),
Self::Reh => databake::quote!(icu_properties::props::JoiningGroup::Reh),
Self::ReversedPe => databake::quote!(icu_properties::props::JoiningGroup::ReversedPe),
Self::Sad => databake::quote!(icu_properties::props::JoiningGroup::Sad),
Self::Sadhe => databake::quote!(icu_properties::props::JoiningGroup::Sadhe),
Self::Seen => databake::quote!(icu_properties::props::JoiningGroup::Seen),
Self::Semkath => databake::quote!(icu_properties::props::JoiningGroup::Semkath),
Self::Shin => databake::quote!(icu_properties::props::JoiningGroup::Shin),
Self::SwashKaf => databake::quote!(icu_properties::props::JoiningGroup::SwashKaf),
Self::SyriacWaw => databake::quote!(icu_properties::props::JoiningGroup::SyriacWaw),
Self::Tah => databake::quote!(icu_properties::props::JoiningGroup::Tah),
Self::Taw => databake::quote!(icu_properties::props::JoiningGroup::Taw),
Self::TehMarbuta => databake::quote!(icu_properties::props::JoiningGroup::TehMarbuta),
Self::Teth => databake::quote!(icu_properties::props::JoiningGroup::Teth),
Self::Waw => databake::quote!(icu_properties::props::JoiningGroup::Waw),
Self::Yeh => databake::quote!(icu_properties::props::JoiningGroup::Yeh),
Self::YehBarree => databake::quote!(icu_properties::props::JoiningGroup::YehBarree),
Self::YehWithTail => databake::quote!(icu_properties::props::JoiningGroup::YehWithTail),
Self::Yudh => databake::quote!(icu_properties::props::JoiningGroup::Yudh),
Self::YudhHe => databake::quote!(icu_properties::props::JoiningGroup::YudhHe),
Self::Zain => databake::quote!(icu_properties::props::JoiningGroup::Zain),
Self::Fe => databake::quote!(icu_properties::props::JoiningGroup::Fe),
Self::Khaph => databake::quote!(icu_properties::props::JoiningGroup::Khaph),
Self::Zhain => databake::quote!(icu_properties::props::JoiningGroup::Zhain),
Self::BurushaskiYehBarree => databake::quote!(icu_properties::props::JoiningGroup::BurushaskiYehBarree),
Self::FarsiYeh => databake::quote!(icu_properties::props::JoiningGroup::FarsiYeh),
Self::Nya => databake::quote!(icu_properties::props::JoiningGroup::Nya),
Self::RohingyaYeh => databake::quote!(icu_properties::props::JoiningGroup::RohingyaYeh),
Self::ManichaeanAleph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanAleph),
Self::ManichaeanAyin => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanAyin),
Self::ManichaeanBeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanBeth),
Self::ManichaeanDaleth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanDaleth),
Self::ManichaeanDhamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanDhamedh),
Self::ManichaeanFive => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanFive),
Self::ManichaeanGimel => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanGimel),
Self::ManichaeanHeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanHeth),
Self::ManichaeanHundred => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanHundred),
Self::ManichaeanKaph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanKaph),
Self::ManichaeanLamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanLamedh),
Self::ManichaeanMem => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanMem),
Self::ManichaeanNun => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanNun),
Self::ManichaeanOne => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanOne),
Self::ManichaeanPe => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanPe),
Self::ManichaeanQoph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanQoph),
Self::ManichaeanResh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanResh),
Self::ManichaeanSadhe => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanSadhe),
Self::ManichaeanSamekh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanSamekh),
Self::ManichaeanTaw => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTaw),
Self::ManichaeanTen => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTen),
Self::ManichaeanTeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTeth),
Self::ManichaeanThamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanThamedh),
Self::ManichaeanTwenty => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTwenty),
Self::ManichaeanWaw => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanWaw),
Self::ManichaeanYodh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanYodh),
Self::ManichaeanZayin => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanZayin),
Self::StraightWaw => databake::quote!(icu_properties::props::JoiningGroup::StraightWaw),
Self::AfricanFeh => databake::quote!(icu_properties::props::JoiningGroup::AfricanFeh),
Self::AfricanNoon => databake::quote!(icu_properties::props::JoiningGroup::AfricanNoon),
Self::AfricanQaf => databake::quote!(icu_properties::props::JoiningGroup::AfricanQaf),
Self::MalayalamBha => databake::quote!(icu_properties::props::JoiningGroup::MalayalamBha),
Self::MalayalamJa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamJa),
Self::MalayalamLla => databake::quote!(icu_properties::props::JoiningGroup::MalayalamLla),
Self::MalayalamLlla => databake::quote!(icu_properties::props::JoiningGroup::MalayalamLlla),
Self::MalayalamNga => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNga),
Self::MalayalamNna => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNna),
Self::MalayalamNnna => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNnna),
Self::MalayalamNya => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNya),
Self::MalayalamRa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamRa),
Self::MalayalamSsa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamSsa),
Self::MalayalamTta => databake::quote!(icu_properties::props::JoiningGroup::MalayalamTta),
Self::HanifiRohingyaKinnaYa => databake::quote!(icu_properties::props::JoiningGroup::HanifiRohingyaKinnaYa),
Self::HanifiRohingyaPa => databake::quote!(icu_properties::props::JoiningGroup::HanifiRohingyaPa),
Self::ThinYeh => databake::quote!(icu_properties::props::JoiningGroup::ThinYeh),
Self::VerticalTail => databake::quote!(icu_properties::props::JoiningGroup::VerticalTail),
Self::KashmiriYeh => databake::quote!(icu_properties::props::JoiningGroup::KashmiriYeh),
Self::ThinNoon => databake::quote!(icu_properties::props::JoiningGroup::ThinNoon),
Self(v) => databake::quote!(icu_properties::props::JoiningGroup(#v)),
}
}
}
impl From<JoiningGroup> for u16 {
fn from(other: JoiningGroup) -> Self {
other.0 as u16
}
}
impl JoiningGroup {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::NoJoiningGroup,
Self::Ain,
Self::Alaph,
Self::Alef,
Self::Beh,
Self::Beth,
Self::Dal,
Self::DalathRish,
Self::E,
Self::Feh,
Self::FinalSemkath,
Self::Gaf,
Self::Gamal,
Self::Hah,
Self::TehMarbutaGoal,
Self::He,
Self::Heh,
Self::HehGoal,
Self::Heth,
Self::Kaf,
Self::Kaph,
Self::KnottedHeh,
Self::Lam,
Self::Lamadh,
Self::Meem,
Self::Mim,
Self::Noon,
Self::Nun,
Self::Pe,
Self::Qaf,
Self::Qaph,
Self::Reh,
Self::ReversedPe,
Self::Sad,
Self::Sadhe,
Self::Seen,
Self::Semkath,
Self::Shin,
Self::SwashKaf,
Self::SyriacWaw,
Self::Tah,
Self::Taw,
Self::TehMarbuta,
Self::Teth,
Self::Waw,
Self::Yeh,
Self::YehBarree,
Self::YehWithTail,
Self::Yudh,
Self::YudhHe,
Self::Zain,
Self::Fe,
Self::Khaph,
Self::Zhain,
Self::BurushaskiYehBarree,
Self::FarsiYeh,
Self::Nya,
Self::RohingyaYeh,
Self::ManichaeanAleph,
Self::ManichaeanAyin,
Self::ManichaeanBeth,
Self::ManichaeanDaleth,
Self::ManichaeanDhamedh,
Self::ManichaeanFive,
Self::ManichaeanGimel,
Self::ManichaeanHeth,
Self::ManichaeanHundred,
Self::ManichaeanKaph,
Self::ManichaeanLamedh,
Self::ManichaeanMem,
Self::ManichaeanNun,
Self::ManichaeanOne,
Self::ManichaeanPe,
Self::ManichaeanQoph,
Self::ManichaeanResh,
Self::ManichaeanSadhe,
Self::ManichaeanSamekh,
Self::ManichaeanTaw,
Self::ManichaeanTen,
Self::ManichaeanTeth,
Self::ManichaeanThamedh,
Self::ManichaeanTwenty,
Self::ManichaeanWaw,
Self::ManichaeanYodh,
Self::ManichaeanZayin,
Self::StraightWaw,
Self::AfricanFeh,
Self::AfricanNoon,
Self::AfricanQaf,
Self::MalayalamBha,
Self::MalayalamJa,
Self::MalayalamLla,
Self::MalayalamLlla,
Self::MalayalamNga,
Self::MalayalamNna,
Self::MalayalamNnna,
Self::MalayalamNya,
Self::MalayalamRa,
Self::MalayalamSsa,
Self::MalayalamTta,
Self::HanifiRohingyaKinnaYa,
Self::HanifiRohingyaPa,
Self::ThinYeh,
Self::VerticalTail,
Self::KashmiriYeh,
Self::ThinNoon,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("No_Joining_Group", Self::NoJoiningGroup),
("Ain", Self::Ain),
("Alaph", Self::Alaph),
("Alef", Self::Alef),
("Beh", Self::Beh),
("Beth", Self::Beth),
("Dal", Self::Dal),
("Dalath_Rish", Self::DalathRish),
("E", Self::E),
("Feh", Self::Feh),
("Final_Semkath", Self::FinalSemkath),
("Gaf", Self::Gaf),
("Gamal", Self::Gamal),
("Hah", Self::Hah),
("Teh_Marbuta_Goal", Self::TehMarbutaGoal),
("He", Self::He),
("Heh", Self::Heh),
("Heh_Goal", Self::HehGoal),
("Heth", Self::Heth),
("Kaf", Self::Kaf),
("Kaph", Self::Kaph),
("Knotted_Heh", Self::KnottedHeh),
("Lam", Self::Lam),
("Lamadh", Self::Lamadh),
("Meem", Self::Meem),
("Mim", Self::Mim),
("Noon", Self::Noon),
("Nun", Self::Nun),
("Pe", Self::Pe),
("Qaf", Self::Qaf),
("Qaph", Self::Qaph),
("Reh", Self::Reh),
("Reversed_Pe", Self::ReversedPe),
("Sad", Self::Sad),
("Sadhe", Self::Sadhe),
("Seen", Self::Seen),
("Semkath", Self::Semkath),
("Shin", Self::Shin),
("Swash_Kaf", Self::SwashKaf),
("Syriac_Waw", Self::SyriacWaw),
("Tah", Self::Tah),
("Taw", Self::Taw),
("Teh_Marbuta", Self::TehMarbuta),
("Teth", Self::Teth),
("Waw", Self::Waw),
("Yeh", Self::Yeh),
("Yeh_Barree", Self::YehBarree),
("Yeh_With_Tail", Self::YehWithTail),
("Yudh", Self::Yudh),
("Yudh_He", Self::YudhHe),
("Zain", Self::Zain),
("Fe", Self::Fe),
("Khaph", Self::Khaph),
("Zhain", Self::Zhain),
("Burushaski_Yeh_Barree", Self::BurushaskiYehBarree),
("Farsi_Yeh", Self::FarsiYeh),
("Nya", Self::Nya),
("Rohingya_Yeh", Self::RohingyaYeh),
("Manichaean_Aleph", Self::ManichaeanAleph),
("Manichaean_Ayin", Self::ManichaeanAyin),
("Manichaean_Beth", Self::ManichaeanBeth),
("Manichaean_Daleth", Self::ManichaeanDaleth),
("Manichaean_Dhamedh", Self::ManichaeanDhamedh),
("Manichaean_Five", Self::ManichaeanFive),
("Manichaean_Gimel", Self::ManichaeanGimel),
("Manichaean_Heth", Self::ManichaeanHeth),
("Manichaean_Hundred", Self::ManichaeanHundred),
("Manichaean_Kaph", Self::ManichaeanKaph),
("Manichaean_Lamedh", Self::ManichaeanLamedh),
("Manichaean_Mem", Self::ManichaeanMem),
("Manichaean_Nun", Self::ManichaeanNun),
("Manichaean_One", Self::ManichaeanOne),
("Manichaean_Pe", Self::ManichaeanPe),
("Manichaean_Qoph", Self::ManichaeanQoph),
("Manichaean_Resh", Self::ManichaeanResh),
("Manichaean_Sadhe", Self::ManichaeanSadhe),
("Manichaean_Samekh", Self::ManichaeanSamekh),
("Manichaean_Taw", Self::ManichaeanTaw),
("Manichaean_Ten", Self::ManichaeanTen),
("Manichaean_Teth", Self::ManichaeanTeth),
("Manichaean_Thamedh", Self::ManichaeanThamedh),
("Manichaean_Twenty", Self::ManichaeanTwenty),
("Manichaean_Waw", Self::ManichaeanWaw),
("Manichaean_Yodh", Self::ManichaeanYodh),
("Manichaean_Zayin", Self::ManichaeanZayin),
("Straight_Waw", Self::StraightWaw),
("African_Feh", Self::AfricanFeh),
("African_Noon", Self::AfricanNoon),
("African_Qaf", Self::AfricanQaf),
("Malayalam_Bha", Self::MalayalamBha),
("Malayalam_Ja", Self::MalayalamJa),
("Malayalam_Lla", Self::MalayalamLla),
("Malayalam_Llla", Self::MalayalamLlla),
("Malayalam_Nga", Self::MalayalamNga),
("Malayalam_Nna", Self::MalayalamNna),
("Malayalam_Nnna", Self::MalayalamNnna),
("Malayalam_Nya", Self::MalayalamNya),
("Malayalam_Ra", Self::MalayalamRa),
("Malayalam_Ssa", Self::MalayalamSsa),
("Malayalam_Tta", Self::MalayalamTta),
("Hanifi_Rohingya_Kinna_Ya", Self::HanifiRohingyaKinnaYa),
("Hanifi_Rohingya_Pa", Self::HanifiRohingyaPa),
("Thin_Yeh", Self::ThinYeh),
("Vertical_Tail", Self::VerticalTail),
("Kashmiri_Yeh", Self::KashmiriYeh),
("Thin_Noon", Self::ThinNoon),
].into_iter()
}
}
impl JoiningType {
pub const NonJoining: Self = Self(0);
pub const U: Self = Self::NonJoining;
pub const JoinCausing: Self = Self(1);
pub const C: Self = Self::JoinCausing;
pub const DualJoining: Self = Self(2);
pub const D: Self = Self::DualJoining;
pub const LeftJoining: Self = Self(3);
pub const L: Self = Self::LeftJoining;
pub const RightJoining: Self = Self(4);
pub const R: Self = Self::RightJoining;
pub const Transparent: Self = Self(5);
pub const T: Self = Self::Transparent;
}
#[cfg(feature = "datagen")]
impl databake::Bake for JoiningType {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::NonJoining => databake::quote!(icu_properties::props::JoiningType::NonJoining),
Self::JoinCausing => databake::quote!(icu_properties::props::JoiningType::JoinCausing),
Self::DualJoining => databake::quote!(icu_properties::props::JoiningType::DualJoining),
Self::LeftJoining => databake::quote!(icu_properties::props::JoiningType::LeftJoining),
Self::RightJoining => databake::quote!(icu_properties::props::JoiningType::RightJoining),
Self::Transparent => databake::quote!(icu_properties::props::JoiningType::Transparent),
Self(v) => databake::quote!(icu_properties::props::JoiningType(#v)),
}
}
}
impl From<JoiningType> for u16 {
fn from(other: JoiningType) -> Self {
other.0 as u16
}
}
impl JoiningType {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::NonJoining,
Self::JoinCausing,
Self::DualJoining,
Self::LeftJoining,
Self::RightJoining,
Self::Transparent,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("U", Self::NonJoining),
("C", Self::JoinCausing),
("D", Self::DualJoining),
("L", Self::LeftJoining),
("R", Self::RightJoining),
("T", Self::Transparent),
].into_iter()
}
}
impl LineBreak {
pub const Unknown: Self = Self(0);
pub const XX: Self = Self::Unknown;
pub const Ambiguous: Self = Self(1);
pub const AI: Self = Self::Ambiguous;
pub const Alphabetic: Self = Self(2);
pub const AL: Self = Self::Alphabetic;
pub const BreakBoth: Self = Self(3);
pub const B2: Self = Self::BreakBoth;
pub const BreakAfter: Self = Self(4);
pub const BA: Self = Self::BreakAfter;
pub const BreakBefore: Self = Self(5);
pub const BB: Self = Self::BreakBefore;
pub const MandatoryBreak: Self = Self(6);
pub const BK: Self = Self::MandatoryBreak;
pub const ContingentBreak: Self = Self(7);
pub const CB: Self = Self::ContingentBreak;
pub const ClosePunctuation: Self = Self(8);
pub const CL: Self = Self::ClosePunctuation;
pub const CombiningMark: Self = Self(9);
pub const CM: Self = Self::CombiningMark;
pub const CarriageReturn: Self = Self(10);
pub const CR: Self = Self::CarriageReturn;
pub const Exclamation: Self = Self(11);
pub const EX: Self = Self::Exclamation;
pub const Glue: Self = Self(12);
pub const GL: Self = Self::Glue;
pub const Hyphen: Self = Self(13);
pub const HY: Self = Self::Hyphen;
pub const Ideographic: Self = Self(14);
pub const ID: Self = Self::Ideographic;
pub const Inseparable: Self = Self(15);
pub const IN: Self = Self::Inseparable;
pub const Inseperable: Self = Self::Inseparable;
pub const InfixNumeric: Self = Self(16);
pub const IS: Self = Self::InfixNumeric;
pub const LineFeed: Self = Self(17);
pub const LF: Self = Self::LineFeed;
pub const Nonstarter: Self = Self(18);
pub const NS: Self = Self::Nonstarter;
pub const Numeric: Self = Self(19);
pub const NU: Self = Self::Numeric;
pub const OpenPunctuation: Self = Self(20);
pub const OP: Self = Self::OpenPunctuation;
pub const PostfixNumeric: Self = Self(21);
pub const PO: Self = Self::PostfixNumeric;
pub const PrefixNumeric: Self = Self(22);
pub const PR: Self = Self::PrefixNumeric;
pub const Quotation: Self = Self(23);
pub const QU: Self = Self::Quotation;
pub const ComplexContext: Self = Self(24);
pub const SA: Self = Self::ComplexContext;
pub const Surrogate: Self = Self(25);
pub const SG: Self = Self::Surrogate;
pub const Space: Self = Self(26);
pub const SP: Self = Self::Space;
pub const BreakSymbols: Self = Self(27);
pub const SY: Self = Self::BreakSymbols;
pub const ZWSpace: Self = Self(28);
pub const ZW: Self = Self::ZWSpace;
pub const NextLine: Self = Self(29);
pub const NL: Self = Self::NextLine;
pub const WordJoiner: Self = Self(30);
pub const WJ: Self = Self::WordJoiner;
pub const H2: Self = Self(31);
pub const H3: Self = Self(32);
pub const JL: Self = Self(33);
pub const JT: Self = Self(34);
pub const JV: Self = Self(35);
pub const CloseParenthesis: Self = Self(36);
pub const CP: Self = Self::CloseParenthesis;
pub const ConditionalJapaneseStarter: Self = Self(37);
pub const CJ: Self = Self::ConditionalJapaneseStarter;
pub const HebrewLetter: Self = Self(38);
pub const HL: Self = Self::HebrewLetter;
pub const RegionalIndicator: Self = Self(39);
pub const RI: Self = Self::RegionalIndicator;
pub const EBase: Self = Self(40);
pub const EB: Self = Self::EBase;
pub const EModifier: Self = Self(41);
pub const EM: Self = Self::EModifier;
pub const ZWJ: Self = Self(42);
pub const Aksara: Self = Self(43);
pub const AK: Self = Self::Aksara;
pub const AksaraPrebase: Self = Self(44);
pub const AP: Self = Self::AksaraPrebase;
pub const AksaraStart: Self = Self(45);
pub const AS: Self = Self::AksaraStart;
pub const ViramaFinal: Self = Self(46);
pub const VF: Self = Self::ViramaFinal;
pub const Virama: Self = Self(47);
pub const VI: Self = Self::Virama;
pub const UnambiguousHyphen: Self = Self(48);
pub const HH: Self = Self::UnambiguousHyphen;
}
#[cfg(feature = "datagen")]
impl databake::Bake for LineBreak {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Unknown => databake::quote!(icu_properties::props::LineBreak::Unknown),
Self::Ambiguous => databake::quote!(icu_properties::props::LineBreak::Ambiguous),
Self::Alphabetic => databake::quote!(icu_properties::props::LineBreak::Alphabetic),
Self::BreakBoth => databake::quote!(icu_properties::props::LineBreak::BreakBoth),
Self::BreakAfter => databake::quote!(icu_properties::props::LineBreak::BreakAfter),
Self::BreakBefore => databake::quote!(icu_properties::props::LineBreak::BreakBefore),
Self::MandatoryBreak => databake::quote!(icu_properties::props::LineBreak::MandatoryBreak),
Self::ContingentBreak => databake::quote!(icu_properties::props::LineBreak::ContingentBreak),
Self::ClosePunctuation => databake::quote!(icu_properties::props::LineBreak::ClosePunctuation),
Self::CombiningMark => databake::quote!(icu_properties::props::LineBreak::CombiningMark),
Self::CarriageReturn => databake::quote!(icu_properties::props::LineBreak::CarriageReturn),
Self::Exclamation => databake::quote!(icu_properties::props::LineBreak::Exclamation),
Self::Glue => databake::quote!(icu_properties::props::LineBreak::Glue),
Self::Hyphen => databake::quote!(icu_properties::props::LineBreak::Hyphen),
Self::Ideographic => databake::quote!(icu_properties::props::LineBreak::Ideographic),
Self::Inseparable => databake::quote!(icu_properties::props::LineBreak::Inseparable),
Self::InfixNumeric => databake::quote!(icu_properties::props::LineBreak::InfixNumeric),
Self::LineFeed => databake::quote!(icu_properties::props::LineBreak::LineFeed),
Self::Nonstarter => databake::quote!(icu_properties::props::LineBreak::Nonstarter),
Self::Numeric => databake::quote!(icu_properties::props::LineBreak::Numeric),
Self::OpenPunctuation => databake::quote!(icu_properties::props::LineBreak::OpenPunctuation),
Self::PostfixNumeric => databake::quote!(icu_properties::props::LineBreak::PostfixNumeric),
Self::PrefixNumeric => databake::quote!(icu_properties::props::LineBreak::PrefixNumeric),
Self::Quotation => databake::quote!(icu_properties::props::LineBreak::Quotation),
Self::ComplexContext => databake::quote!(icu_properties::props::LineBreak::ComplexContext),
Self::Surrogate => databake::quote!(icu_properties::props::LineBreak::Surrogate),
Self::Space => databake::quote!(icu_properties::props::LineBreak::Space),
Self::BreakSymbols => databake::quote!(icu_properties::props::LineBreak::BreakSymbols),
Self::ZWSpace => databake::quote!(icu_properties::props::LineBreak::ZWSpace),
Self::NextLine => databake::quote!(icu_properties::props::LineBreak::NextLine),
Self::WordJoiner => databake::quote!(icu_properties::props::LineBreak::WordJoiner),
Self::H2 => databake::quote!(icu_properties::props::LineBreak::H2),
Self::H3 => databake::quote!(icu_properties::props::LineBreak::H3),
Self::JL => databake::quote!(icu_properties::props::LineBreak::JL),
Self::JT => databake::quote!(icu_properties::props::LineBreak::JT),
Self::JV => databake::quote!(icu_properties::props::LineBreak::JV),
Self::CloseParenthesis => databake::quote!(icu_properties::props::LineBreak::CloseParenthesis),
Self::ConditionalJapaneseStarter => databake::quote!(icu_properties::props::LineBreak::ConditionalJapaneseStarter),
Self::HebrewLetter => databake::quote!(icu_properties::props::LineBreak::HebrewLetter),
Self::RegionalIndicator => databake::quote!(icu_properties::props::LineBreak::RegionalIndicator),
Self::EBase => databake::quote!(icu_properties::props::LineBreak::EBase),
Self::EModifier => databake::quote!(icu_properties::props::LineBreak::EModifier),
Self::ZWJ => databake::quote!(icu_properties::props::LineBreak::ZWJ),
Self::Aksara => databake::quote!(icu_properties::props::LineBreak::Aksara),
Self::AksaraPrebase => databake::quote!(icu_properties::props::LineBreak::AksaraPrebase),
Self::AksaraStart => databake::quote!(icu_properties::props::LineBreak::AksaraStart),
Self::ViramaFinal => databake::quote!(icu_properties::props::LineBreak::ViramaFinal),
Self::Virama => databake::quote!(icu_properties::props::LineBreak::Virama),
Self::UnambiguousHyphen => databake::quote!(icu_properties::props::LineBreak::UnambiguousHyphen),
Self(v) => databake::quote!(icu_properties::props::LineBreak(#v)),
}
}
}
impl From<LineBreak> for u16 {
fn from(other: LineBreak) -> Self {
other.0 as u16
}
}
impl LineBreak {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Unknown,
Self::Ambiguous,
Self::Alphabetic,
Self::BreakBoth,
Self::BreakAfter,
Self::BreakBefore,
Self::MandatoryBreak,
Self::ContingentBreak,
Self::ClosePunctuation,
Self::CombiningMark,
Self::CarriageReturn,
Self::Exclamation,
Self::Glue,
Self::Hyphen,
Self::Ideographic,
Self::Inseparable,
Self::InfixNumeric,
Self::LineFeed,
Self::Nonstarter,
Self::Numeric,
Self::OpenPunctuation,
Self::PostfixNumeric,
Self::PrefixNumeric,
Self::Quotation,
Self::ComplexContext,
Self::Surrogate,
Self::Space,
Self::BreakSymbols,
Self::ZWSpace,
Self::NextLine,
Self::WordJoiner,
Self::H2,
Self::H3,
Self::JL,
Self::JT,
Self::JV,
Self::CloseParenthesis,
Self::ConditionalJapaneseStarter,
Self::HebrewLetter,
Self::RegionalIndicator,
Self::EBase,
Self::EModifier,
Self::ZWJ,
Self::Aksara,
Self::AksaraPrebase,
Self::AksaraStart,
Self::ViramaFinal,
Self::Virama,
Self::UnambiguousHyphen,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("XX", Self::Unknown),
("AI", Self::Ambiguous),
("AL", Self::Alphabetic),
("B2", Self::BreakBoth),
("BA", Self::BreakAfter),
("BB", Self::BreakBefore),
("BK", Self::MandatoryBreak),
("CB", Self::ContingentBreak),
("CL", Self::ClosePunctuation),
("CM", Self::CombiningMark),
("CR", Self::CarriageReturn),
("EX", Self::Exclamation),
("GL", Self::Glue),
("HY", Self::Hyphen),
("ID", Self::Ideographic),
("IN", Self::Inseparable),
("IS", Self::InfixNumeric),
("LF", Self::LineFeed),
("NS", Self::Nonstarter),
("NU", Self::Numeric),
("OP", Self::OpenPunctuation),
("PO", Self::PostfixNumeric),
("PR", Self::PrefixNumeric),
("QU", Self::Quotation),
("SA", Self::ComplexContext),
("SG", Self::Surrogate),
("SP", Self::Space),
("SY", Self::BreakSymbols),
("ZW", Self::ZWSpace),
("NL", Self::NextLine),
("WJ", Self::WordJoiner),
("H2", Self::H2),
("H3", Self::H3),
("JL", Self::JL),
("JT", Self::JT),
("JV", Self::JV),
("CP", Self::CloseParenthesis),
("CJ", Self::ConditionalJapaneseStarter),
("HL", Self::HebrewLetter),
("RI", Self::RegionalIndicator),
("EB", Self::EBase),
("EM", Self::EModifier),
("ZWJ", Self::ZWJ),
("AK", Self::Aksara),
("AP", Self::AksaraPrebase),
("AS", Self::AksaraStart),
("VF", Self::ViramaFinal),
("VI", Self::Virama),
("HH", Self::UnambiguousHyphen),
].into_iter()
}
}
impl NumericType {
pub const None: Self = Self(0);
pub const Decimal: Self = Self(1);
pub const De: Self = Self::Decimal;
pub const Digit: Self = Self(2);
pub const Di: Self = Self::Digit;
pub const Numeric: Self = Self(3);
pub const Nu: Self = Self::Numeric;
}
#[cfg(feature = "datagen")]
impl databake::Bake for NumericType {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::None => databake::quote!(icu_properties::props::NumericType::None),
Self::Decimal => databake::quote!(icu_properties::props::NumericType::Decimal),
Self::Digit => databake::quote!(icu_properties::props::NumericType::Digit),
Self::Numeric => databake::quote!(icu_properties::props::NumericType::Numeric),
Self(v) => databake::quote!(icu_properties::props::NumericType(#v)),
}
}
}
impl From<NumericType> for u16 {
fn from(other: NumericType) -> Self {
other.0 as u16
}
}
impl NumericType {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::None,
Self::Decimal,
Self::Digit,
Self::Numeric,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("None", Self::None),
("De", Self::Decimal),
("Di", Self::Digit),
("Nu", Self::Numeric),
].into_iter()
}
}
impl Script {
pub const Common: Self = Self(0);
pub const Zyyy: Self = Self::Common;
pub const Inherited: Self = Self(1);
pub const Zinh: Self = Self::Inherited;
pub const Qaai: Self = Self::Inherited;
pub const Arabic: Self = Self(2);
pub const Arab: Self = Self::Arabic;
pub const Armenian: Self = Self(3);
pub const Armn: Self = Self::Armenian;
pub const Bengali: Self = Self(4);
pub const Beng: Self = Self::Bengali;
pub const Bopomofo: Self = Self(5);
pub const Bopo: Self = Self::Bopomofo;
pub const Cherokee: Self = Self(6);
pub const Cher: Self = Self::Cherokee;
pub const Coptic: Self = Self(7);
pub const Copt: Self = Self::Coptic;
pub const Qaac: Self = Self::Coptic;
pub const Cyrillic: Self = Self(8);
pub const Cyrl: Self = Self::Cyrillic;
pub const Deseret: Self = Self(9);
pub const Dsrt: Self = Self::Deseret;
pub const Devanagari: Self = Self(10);
pub const Deva: Self = Self::Devanagari;
pub const Ethiopic: Self = Self(11);
pub const Ethi: Self = Self::Ethiopic;
pub const Georgian: Self = Self(12);
pub const Geor: Self = Self::Georgian;
pub const Gothic: Self = Self(13);
pub const Goth: Self = Self::Gothic;
pub const Greek: Self = Self(14);
pub const Grek: Self = Self::Greek;
pub const Gujarati: Self = Self(15);
pub const Gujr: Self = Self::Gujarati;
pub const Gurmukhi: Self = Self(16);
pub const Guru: Self = Self::Gurmukhi;
pub const Han: Self = Self(17);
pub const Hani: Self = Self::Han;
pub const Hangul: Self = Self(18);
pub const Hang: Self = Self::Hangul;
pub const Hebrew: Self = Self(19);
pub const Hebr: Self = Self::Hebrew;
pub const Hiragana: Self = Self(20);
pub const Hira: Self = Self::Hiragana;
pub const Kannada: Self = Self(21);
pub const Knda: Self = Self::Kannada;
pub const Katakana: Self = Self(22);
pub const Kana: Self = Self::Katakana;
pub const Khmer: Self = Self(23);
pub const Khmr: Self = Self::Khmer;
pub const Lao: Self = Self(24);
pub const Laoo: Self = Self::Lao;
pub const Latin: Self = Self(25);
pub const Latn: Self = Self::Latin;
pub const Malayalam: Self = Self(26);
pub const Mlym: Self = Self::Malayalam;
pub const Mongolian: Self = Self(27);
pub const Mong: Self = Self::Mongolian;
pub const Myanmar: Self = Self(28);
pub const Mymr: Self = Self::Myanmar;
pub const Ogham: Self = Self(29);
pub const Ogam: Self = Self::Ogham;
pub const OldItalic: Self = Self(30);
pub const Ital: Self = Self::OldItalic;
pub const Oriya: Self = Self(31);
pub const Orya: Self = Self::Oriya;
pub const Runic: Self = Self(32);
pub const Runr: Self = Self::Runic;
pub const Sinhala: Self = Self(33);
pub const Sinh: Self = Self::Sinhala;
pub const Syriac: Self = Self(34);
pub const Syrc: Self = Self::Syriac;
pub const Tamil: Self = Self(35);
pub const Taml: Self = Self::Tamil;
pub const Telugu: Self = Self(36);
pub const Telu: Self = Self::Telugu;
pub const Thaana: Self = Self(37);
pub const Thaa: Self = Self::Thaana;
pub const Thai: Self = Self(38);
pub const Tibetan: Self = Self(39);
pub const Tibt: Self = Self::Tibetan;
pub const CanadianAboriginal: Self = Self(40);
pub const Cans: Self = Self::CanadianAboriginal;
pub const Yi: Self = Self(41);
pub const Yiii: Self = Self::Yi;
pub const Tagalog: Self = Self(42);
pub const Tglg: Self = Self::Tagalog;
pub const Hanunoo: Self = Self(43);
pub const Hano: Self = Self::Hanunoo;
pub const Buhid: Self = Self(44);
pub const Buhd: Self = Self::Buhid;
pub const Tagbanwa: Self = Self(45);
pub const Tagb: Self = Self::Tagbanwa;
pub const Braille: Self = Self(46);
pub const Brai: Self = Self::Braille;
pub const Cypriot: Self = Self(47);
pub const Cprt: Self = Self::Cypriot;
pub const Limbu: Self = Self(48);
pub const Limb: Self = Self::Limbu;
pub const LinearB: Self = Self(49);
pub const Linb: Self = Self::LinearB;
pub const Osmanya: Self = Self(50);
pub const Osma: Self = Self::Osmanya;
pub const Shavian: Self = Self(51);
pub const Shaw: Self = Self::Shavian;
pub const TaiLe: Self = Self(52);
pub const Tale: Self = Self::TaiLe;
pub const Ugaritic: Self = Self(53);
pub const Ugar: Self = Self::Ugaritic;
pub const KatakanaOrHiragana: Self = Self(54);
pub const Hrkt: Self = Self::KatakanaOrHiragana;
pub const Buginese: Self = Self(55);
pub const Bugi: Self = Self::Buginese;
pub const Glagolitic: Self = Self(56);
pub const Glag: Self = Self::Glagolitic;
pub const Kharoshthi: Self = Self(57);
pub const Khar: Self = Self::Kharoshthi;
pub const SylotiNagri: Self = Self(58);
pub const Sylo: Self = Self::SylotiNagri;
pub const NewTaiLue: Self = Self(59);
pub const Talu: Self = Self::NewTaiLue;
pub const Tifinagh: Self = Self(60);
pub const Tfng: Self = Self::Tifinagh;
pub const OldPersian: Self = Self(61);
pub const Xpeo: Self = Self::OldPersian;
pub const Balinese: Self = Self(62);
pub const Bali: Self = Self::Balinese;
pub const Batak: Self = Self(63);
pub const Batk: Self = Self::Batak;
pub const BlisSymbols: Self = Self(64);
pub const Blis: Self = Self::BlisSymbols;
pub const Brahmi: Self = Self(65);
pub const Brah: Self = Self::Brahmi;
pub const Cham: Self = Self(66);
pub const Cirth: Self = Self(67);
pub const Cirt: Self = Self::Cirth;
pub const OldChurchSlavonicCyrillic: Self = Self(68);
pub const Cyrs: Self = Self::OldChurchSlavonicCyrillic;
pub const DemoticEgyptian: Self = Self(69);
pub const Egyd: Self = Self::DemoticEgyptian;
pub const HieraticEgyptian: Self = Self(70);
pub const Egyh: Self = Self::HieraticEgyptian;
pub const EgyptianHieroglyphs: Self = Self(71);
pub const Egyp: Self = Self::EgyptianHieroglyphs;
pub const Khutsuri: Self = Self(72);
pub const Geok: Self = Self::Khutsuri;
pub const SimplifiedHan: Self = Self(73);
pub const Hans: Self = Self::SimplifiedHan;
pub const TraditionalHan: Self = Self(74);
pub const Hant: Self = Self::TraditionalHan;
pub const PahawhHmong: Self = Self(75);
pub const Hmng: Self = Self::PahawhHmong;
pub const OldHungarian: Self = Self(76);
pub const Hung: Self = Self::OldHungarian;
pub const HarappanIndus: Self = Self(77);
pub const Inds: Self = Self::HarappanIndus;
pub const Javanese: Self = Self(78);
pub const Java: Self = Self::Javanese;
pub const KayahLi: Self = Self(79);
pub const Kali: Self = Self::KayahLi;
pub const LatinFraktur: Self = Self(80);
pub const Latf: Self = Self::LatinFraktur;
pub const LatinGaelic: Self = Self(81);
pub const Latg: Self = Self::LatinGaelic;
pub const Lepcha: Self = Self(82);
pub const Lepc: Self = Self::Lepcha;
pub const LinearA: Self = Self(83);
pub const Lina: Self = Self::LinearA;
pub const Mandaic: Self = Self(84);
pub const Mand: Self = Self::Mandaic;
pub const MayanHieroglyphs: Self = Self(85);
pub const Maya: Self = Self::MayanHieroglyphs;
pub const MeroiticHieroglyphs: Self = Self(86);
pub const Mero: Self = Self::MeroiticHieroglyphs;
pub const Nko: Self = Self(87);
pub const Nkoo: Self = Self::Nko;
pub const OldTurkic: Self = Self(88);
pub const Orkh: Self = Self::OldTurkic;
pub const OldPermic: Self = Self(89);
pub const Perm: Self = Self::OldPermic;
pub const PhagsPa: Self = Self(90);
pub const Phag: Self = Self::PhagsPa;
pub const Phoenician: Self = Self(91);
pub const Phnx: Self = Self::Phoenician;
pub const Miao: Self = Self(92);
pub const Plrd: Self = Self::Miao;
pub const Rongorongo: Self = Self(93);
pub const Roro: Self = Self::Rongorongo;
pub const Sarati: Self = Self(94);
pub const Sara: Self = Self::Sarati;
pub const EstrangeloSyriac: Self = Self(95);
pub const Syre: Self = Self::EstrangeloSyriac;
pub const WesternSyriac: Self = Self(96);
pub const Syrj: Self = Self::WesternSyriac;
pub const EasternSyriac: Self = Self(97);
pub const Syrn: Self = Self::EasternSyriac;
pub const Tengwar: Self = Self(98);
pub const Teng: Self = Self::Tengwar;
pub const Vai: Self = Self(99);
pub const Vaii: Self = Self::Vai;
pub const VisibleSpeech: Self = Self(100);
pub const Visp: Self = Self::VisibleSpeech;
pub const Cuneiform: Self = Self(101);
pub const Xsux: Self = Self::Cuneiform;
pub const UnwrittenLanguages: Self = Self(102);
pub const Zxxx: Self = Self::UnwrittenLanguages;
pub const Unknown: Self = Self(103);
pub const Zzzz: Self = Self::Unknown;
pub const Carian: Self = Self(104);
pub const Cari: Self = Self::Carian;
pub const Japanese: Self = Self(105);
pub const Jpan: Self = Self::Japanese;
pub const TaiTham: Self = Self(106);
pub const Lana: Self = Self::TaiTham;
pub const Lycian: Self = Self(107);
pub const Lyci: Self = Self::Lycian;
pub const Lydian: Self = Self(108);
pub const Lydi: Self = Self::Lydian;
pub const OlChiki: Self = Self(109);
pub const Olck: Self = Self::OlChiki;
pub const Rejang: Self = Self(110);
pub const Rjng: Self = Self::Rejang;
pub const Saurashtra: Self = Self(111);
pub const Saur: Self = Self::Saurashtra;
pub const SignWriting: Self = Self(112);
pub const Sgnw: Self = Self::SignWriting;
pub const Sundanese: Self = Self(113);
pub const Sund: Self = Self::Sundanese;
pub const Moon: Self = Self(114);
pub const MeeteiMayek: Self = Self(115);
pub const Mtei: Self = Self::MeeteiMayek;
pub const ImperialAramaic: Self = Self(116);
pub const Armi: Self = Self::ImperialAramaic;
pub const Avestan: Self = Self(117);
pub const Avst: Self = Self::Avestan;
pub const Chakma: Self = Self(118);
pub const Cakm: Self = Self::Chakma;
pub const Korean: Self = Self(119);
pub const Kore: Self = Self::Korean;
pub const Kaithi: Self = Self(120);
pub const Kthi: Self = Self::Kaithi;
pub const Manichaean: Self = Self(121);
pub const Mani: Self = Self::Manichaean;
pub const InscriptionalPahlavi: Self = Self(122);
pub const Phli: Self = Self::InscriptionalPahlavi;
pub const PsalterPahlavi: Self = Self(123);
pub const Phlp: Self = Self::PsalterPahlavi;
pub const BookPahlavi: Self = Self(124);
pub const Phlv: Self = Self::BookPahlavi;
pub const InscriptionalParthian: Self = Self(125);
pub const Prti: Self = Self::InscriptionalParthian;
pub const Samaritan: Self = Self(126);
pub const Samr: Self = Self::Samaritan;
pub const TaiViet: Self = Self(127);
pub const Tavt: Self = Self::TaiViet;
pub const MathematicalNotation: Self = Self(128);
pub const Zmth: Self = Self::MathematicalNotation;
pub const Symbols: Self = Self(129);
pub const Zsym: Self = Self::Symbols;
pub const Bamum: Self = Self(130);
pub const Bamu: Self = Self::Bamum;
pub const Lisu: Self = Self(131);
pub const NakhiGeba: Self = Self(132);
pub const Nkgb: Self = Self::NakhiGeba;
pub const OldSouthArabian: Self = Self(133);
pub const Sarb: Self = Self::OldSouthArabian;
pub const BassaVah: Self = Self(134);
pub const Bass: Self = Self::BassaVah;
pub const Duployan: Self = Self(135);
pub const Dupl: Self = Self::Duployan;
pub const Elbasan: Self = Self(136);
pub const Elba: Self = Self::Elbasan;
pub const Grantha: Self = Self(137);
pub const Gran: Self = Self::Grantha;
pub const Kpelle: Self = Self(138);
pub const Kpel: Self = Self::Kpelle;
pub const Loma: Self = Self(139);
pub const MendeKikakui: Self = Self(140);
pub const Mend: Self = Self::MendeKikakui;
pub const MeroiticCursive: Self = Self(141);
pub const Merc: Self = Self::MeroiticCursive;
pub const OldNorthArabian: Self = Self(142);
pub const Narb: Self = Self::OldNorthArabian;
pub const Nabataean: Self = Self(143);
pub const Nbat: Self = Self::Nabataean;
pub const Palmyrene: Self = Self(144);
pub const Palm: Self = Self::Palmyrene;
pub const Khudawadi: Self = Self(145);
pub const Sind: Self = Self::Khudawadi;
pub const WarangCiti: Self = Self(146);
pub const Wara: Self = Self::WarangCiti;
pub const Afaka: Self = Self(147);
pub const Afak: Self = Self::Afaka;
pub const Jurchen: Self = Self(148);
pub const Jurc: Self = Self::Jurchen;
pub const Mro: Self = Self(149);
pub const Mroo: Self = Self::Mro;
pub const Nushu: Self = Self(150);
pub const Nshu: Self = Self::Nushu;
pub const Sharada: Self = Self(151);
pub const Shrd: Self = Self::Sharada;
pub const SoraSompeng: Self = Self(152);
pub const Sora: Self = Self::SoraSompeng;
pub const Takri: Self = Self(153);
pub const Takr: Self = Self::Takri;
pub const Tangut: Self = Self(154);
pub const Tang: Self = Self::Tangut;
pub const Woleai: Self = Self(155);
pub const Wole: Self = Self::Woleai;
pub const AnatolianHieroglyphs: Self = Self(156);
pub const Hluw: Self = Self::AnatolianHieroglyphs;
pub const Khojki: Self = Self(157);
pub const Khoj: Self = Self::Khojki;
pub const Tirhuta: Self = Self(158);
pub const Tirh: Self = Self::Tirhuta;
pub const CaucasianAlbanian: Self = Self(159);
pub const Aghb: Self = Self::CaucasianAlbanian;
pub const Mahajani: Self = Self(160);
pub const Mahj: Self = Self::Mahajani;
pub const Ahom: Self = Self(161);
pub const Hatran: Self = Self(162);
pub const Hatr: Self = Self::Hatran;
pub const Modi: Self = Self(163);
pub const Multani: Self = Self(164);
pub const Mult: Self = Self::Multani;
pub const PauCinHau: Self = Self(165);
pub const Pauc: Self = Self::PauCinHau;
pub const Siddham: Self = Self(166);
pub const Sidd: Self = Self::Siddham;
pub const Adlam: Self = Self(167);
pub const Adlm: Self = Self::Adlam;
pub const Bhaiksuki: Self = Self(168);
pub const Bhks: Self = Self::Bhaiksuki;
pub const Marchen: Self = Self(169);
pub const Marc: Self = Self::Marchen;
pub const Newa: Self = Self(170);
pub const Osage: Self = Self(171);
pub const Osge: Self = Self::Osage;
pub const HanWithBopomofo: Self = Self(172);
pub const Hanb: Self = Self::HanWithBopomofo;
pub const Jamo: Self = Self(173);
pub const SymbolsEmoji: Self = Self(174);
pub const Zsye: Self = Self::SymbolsEmoji;
pub const MasaramGondi: Self = Self(175);
pub const Gonm: Self = Self::MasaramGondi;
pub const Soyombo: Self = Self(176);
pub const Soyo: Self = Self::Soyombo;
pub const ZanabazarSquare: Self = Self(177);
pub const Zanb: Self = Self::ZanabazarSquare;
pub const Dogra: Self = Self(178);
pub const Dogr: Self = Self::Dogra;
pub const GunjalaGondi: Self = Self(179);
pub const Gong: Self = Self::GunjalaGondi;
pub const Makasar: Self = Self(180);
pub const Maka: Self = Self::Makasar;
pub const Medefaidrin: Self = Self(181);
pub const Medf: Self = Self::Medefaidrin;
pub const HanifiRohingya: Self = Self(182);
pub const Rohg: Self = Self::HanifiRohingya;
pub const Sogdian: Self = Self(183);
pub const Sogd: Self = Self::Sogdian;
pub const OldSogdian: Self = Self(184);
pub const Sogo: Self = Self::OldSogdian;
pub const Elymaic: Self = Self(185);
pub const Elym: Self = Self::Elymaic;
pub const NyiakengPuachueHmong: Self = Self(186);
pub const Hmnp: Self = Self::NyiakengPuachueHmong;
pub const Nandinagari: Self = Self(187);
pub const Nand: Self = Self::Nandinagari;
pub const Wancho: Self = Self(188);
pub const Wcho: Self = Self::Wancho;
pub const Chorasmian: Self = Self(189);
pub const Chrs: Self = Self::Chorasmian;
pub const DivesAkuru: Self = Self(190);
pub const Diak: Self = Self::DivesAkuru;
pub const KhitanSmallScript: Self = Self(191);
pub const Kits: Self = Self::KhitanSmallScript;
pub const Yezidi: Self = Self(192);
pub const Yezi: Self = Self::Yezidi;
pub const CyproMinoan: Self = Self(193);
pub const Cpmn: Self = Self::CyproMinoan;
pub const OldUyghur: Self = Self(194);
pub const Ougr: Self = Self::OldUyghur;
pub const Tangsa: Self = Self(195);
pub const Tnsa: Self = Self::Tangsa;
pub const Toto: Self = Self(196);
pub const Vithkuqi: Self = Self(197);
pub const Vith: Self = Self::Vithkuqi;
pub const Kawi: Self = Self(198);
pub const NagMundari: Self = Self(199);
pub const Nagm: Self = Self::NagMundari;
pub const ArabicNastaliq: Self = Self(200);
pub const Aran: Self = Self::ArabicNastaliq;
pub const Garay: Self = Self(201);
pub const Gara: Self = Self::Garay;
pub const GurungKhema: Self = Self(202);
pub const Gukh: Self = Self::GurungKhema;
pub const KiratRai: Self = Self(203);
pub const Krai: Self = Self::KiratRai;
pub const OlOnal: Self = Self(204);
pub const Onao: Self = Self::OlOnal;
pub const Sunuwar: Self = Self(205);
pub const Sunu: Self = Self::Sunuwar;
pub const Todhri: Self = Self(206);
pub const Todr: Self = Self::Todhri;
pub const TuluTigalari: Self = Self(207);
pub const Tutg: Self = Self::TuluTigalari;
pub const BeriaErfe: Self = Self(208);
pub const Berf: Self = Self::BeriaErfe;
pub const Sidetic: Self = Self(209);
pub const Sidt: Self = Self::Sidetic;
pub const TaiYo: Self = Self(210);
pub const Tayo: Self = Self::TaiYo;
pub const TolongSiki: Self = Self(211);
pub const Tols: Self = Self::TolongSiki;
pub const TraditionalHanWithLatin: Self = Self(212);
pub const Hntl: Self = Self::TraditionalHanWithLatin;
}
#[cfg(feature = "datagen")]
impl databake::Bake for Script {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Common => databake::quote!(icu_properties::props::Script::Common),
Self::Inherited => databake::quote!(icu_properties::props::Script::Inherited),
Self::Arabic => databake::quote!(icu_properties::props::Script::Arabic),
Self::Armenian => databake::quote!(icu_properties::props::Script::Armenian),
Self::Bengali => databake::quote!(icu_properties::props::Script::Bengali),
Self::Bopomofo => databake::quote!(icu_properties::props::Script::Bopomofo),
Self::Cherokee => databake::quote!(icu_properties::props::Script::Cherokee),
Self::Coptic => databake::quote!(icu_properties::props::Script::Coptic),
Self::Cyrillic => databake::quote!(icu_properties::props::Script::Cyrillic),
Self::Deseret => databake::quote!(icu_properties::props::Script::Deseret),
Self::Devanagari => databake::quote!(icu_properties::props::Script::Devanagari),
Self::Ethiopic => databake::quote!(icu_properties::props::Script::Ethiopic),
Self::Georgian => databake::quote!(icu_properties::props::Script::Georgian),
Self::Gothic => databake::quote!(icu_properties::props::Script::Gothic),
Self::Greek => databake::quote!(icu_properties::props::Script::Greek),
Self::Gujarati => databake::quote!(icu_properties::props::Script::Gujarati),
Self::Gurmukhi => databake::quote!(icu_properties::props::Script::Gurmukhi),
Self::Han => databake::quote!(icu_properties::props::Script::Han),
Self::Hangul => databake::quote!(icu_properties::props::Script::Hangul),
Self::Hebrew => databake::quote!(icu_properties::props::Script::Hebrew),
Self::Hiragana => databake::quote!(icu_properties::props::Script::Hiragana),
Self::Kannada => databake::quote!(icu_properties::props::Script::Kannada),
Self::Katakana => databake::quote!(icu_properties::props::Script::Katakana),
Self::Khmer => databake::quote!(icu_properties::props::Script::Khmer),
Self::Lao => databake::quote!(icu_properties::props::Script::Lao),
Self::Latin => databake::quote!(icu_properties::props::Script::Latin),
Self::Malayalam => databake::quote!(icu_properties::props::Script::Malayalam),
Self::Mongolian => databake::quote!(icu_properties::props::Script::Mongolian),
Self::Myanmar => databake::quote!(icu_properties::props::Script::Myanmar),
Self::Ogham => databake::quote!(icu_properties::props::Script::Ogham),
Self::OldItalic => databake::quote!(icu_properties::props::Script::OldItalic),
Self::Oriya => databake::quote!(icu_properties::props::Script::Oriya),
Self::Runic => databake::quote!(icu_properties::props::Script::Runic),
Self::Sinhala => databake::quote!(icu_properties::props::Script::Sinhala),
Self::Syriac => databake::quote!(icu_properties::props::Script::Syriac),
Self::Tamil => databake::quote!(icu_properties::props::Script::Tamil),
Self::Telugu => databake::quote!(icu_properties::props::Script::Telugu),
Self::Thaana => databake::quote!(icu_properties::props::Script::Thaana),
Self::Thai => databake::quote!(icu_properties::props::Script::Thai),
Self::Tibetan => databake::quote!(icu_properties::props::Script::Tibetan),
Self::CanadianAboriginal => databake::quote!(icu_properties::props::Script::CanadianAboriginal),
Self::Yi => databake::quote!(icu_properties::props::Script::Yi),
Self::Tagalog => databake::quote!(icu_properties::props::Script::Tagalog),
Self::Hanunoo => databake::quote!(icu_properties::props::Script::Hanunoo),
Self::Buhid => databake::quote!(icu_properties::props::Script::Buhid),
Self::Tagbanwa => databake::quote!(icu_properties::props::Script::Tagbanwa),
Self::Braille => databake::quote!(icu_properties::props::Script::Braille),
Self::Cypriot => databake::quote!(icu_properties::props::Script::Cypriot),
Self::Limbu => databake::quote!(icu_properties::props::Script::Limbu),
Self::LinearB => databake::quote!(icu_properties::props::Script::LinearB),
Self::Osmanya => databake::quote!(icu_properties::props::Script::Osmanya),
Self::Shavian => databake::quote!(icu_properties::props::Script::Shavian),
Self::TaiLe => databake::quote!(icu_properties::props::Script::TaiLe),
Self::Ugaritic => databake::quote!(icu_properties::props::Script::Ugaritic),
Self::KatakanaOrHiragana => databake::quote!(icu_properties::props::Script::KatakanaOrHiragana),
Self::Buginese => databake::quote!(icu_properties::props::Script::Buginese),
Self::Glagolitic => databake::quote!(icu_properties::props::Script::Glagolitic),
Self::Kharoshthi => databake::quote!(icu_properties::props::Script::Kharoshthi),
Self::SylotiNagri => databake::quote!(icu_properties::props::Script::SylotiNagri),
Self::NewTaiLue => databake::quote!(icu_properties::props::Script::NewTaiLue),
Self::Tifinagh => databake::quote!(icu_properties::props::Script::Tifinagh),
Self::OldPersian => databake::quote!(icu_properties::props::Script::OldPersian),
Self::Balinese => databake::quote!(icu_properties::props::Script::Balinese),
Self::Batak => databake::quote!(icu_properties::props::Script::Batak),
Self::BlisSymbols => databake::quote!(icu_properties::props::Script::BlisSymbols),
Self::Brahmi => databake::quote!(icu_properties::props::Script::Brahmi),
Self::Cham => databake::quote!(icu_properties::props::Script::Cham),
Self::Cirth => databake::quote!(icu_properties::props::Script::Cirth),
Self::OldChurchSlavonicCyrillic => databake::quote!(icu_properties::props::Script::OldChurchSlavonicCyrillic),
Self::DemoticEgyptian => databake::quote!(icu_properties::props::Script::DemoticEgyptian),
Self::HieraticEgyptian => databake::quote!(icu_properties::props::Script::HieraticEgyptian),
Self::EgyptianHieroglyphs => databake::quote!(icu_properties::props::Script::EgyptianHieroglyphs),
Self::Khutsuri => databake::quote!(icu_properties::props::Script::Khutsuri),
Self::SimplifiedHan => databake::quote!(icu_properties::props::Script::SimplifiedHan),
Self::TraditionalHan => databake::quote!(icu_properties::props::Script::TraditionalHan),
Self::PahawhHmong => databake::quote!(icu_properties::props::Script::PahawhHmong),
Self::OldHungarian => databake::quote!(icu_properties::props::Script::OldHungarian),
Self::HarappanIndus => databake::quote!(icu_properties::props::Script::HarappanIndus),
Self::Javanese => databake::quote!(icu_properties::props::Script::Javanese),
Self::KayahLi => databake::quote!(icu_properties::props::Script::KayahLi),
Self::LatinFraktur => databake::quote!(icu_properties::props::Script::LatinFraktur),
Self::LatinGaelic => databake::quote!(icu_properties::props::Script::LatinGaelic),
Self::Lepcha => databake::quote!(icu_properties::props::Script::Lepcha),
Self::LinearA => databake::quote!(icu_properties::props::Script::LinearA),
Self::Mandaic => databake::quote!(icu_properties::props::Script::Mandaic),
Self::MayanHieroglyphs => databake::quote!(icu_properties::props::Script::MayanHieroglyphs),
Self::MeroiticHieroglyphs => databake::quote!(icu_properties::props::Script::MeroiticHieroglyphs),
Self::Nko => databake::quote!(icu_properties::props::Script::Nko),
Self::OldTurkic => databake::quote!(icu_properties::props::Script::OldTurkic),
Self::OldPermic => databake::quote!(icu_properties::props::Script::OldPermic),
Self::PhagsPa => databake::quote!(icu_properties::props::Script::PhagsPa),
Self::Phoenician => databake::quote!(icu_properties::props::Script::Phoenician),
Self::Miao => databake::quote!(icu_properties::props::Script::Miao),
Self::Rongorongo => databake::quote!(icu_properties::props::Script::Rongorongo),
Self::Sarati => databake::quote!(icu_properties::props::Script::Sarati),
Self::EstrangeloSyriac => databake::quote!(icu_properties::props::Script::EstrangeloSyriac),
Self::WesternSyriac => databake::quote!(icu_properties::props::Script::WesternSyriac),
Self::EasternSyriac => databake::quote!(icu_properties::props::Script::EasternSyriac),
Self::Tengwar => databake::quote!(icu_properties::props::Script::Tengwar),
Self::Vai => databake::quote!(icu_properties::props::Script::Vai),
Self::VisibleSpeech => databake::quote!(icu_properties::props::Script::VisibleSpeech),
Self::Cuneiform => databake::quote!(icu_properties::props::Script::Cuneiform),
Self::UnwrittenLanguages => databake::quote!(icu_properties::props::Script::UnwrittenLanguages),
Self::Unknown => databake::quote!(icu_properties::props::Script::Unknown),
Self::Carian => databake::quote!(icu_properties::props::Script::Carian),
Self::Japanese => databake::quote!(icu_properties::props::Script::Japanese),
Self::TaiTham => databake::quote!(icu_properties::props::Script::TaiTham),
Self::Lycian => databake::quote!(icu_properties::props::Script::Lycian),
Self::Lydian => databake::quote!(icu_properties::props::Script::Lydian),
Self::OlChiki => databake::quote!(icu_properties::props::Script::OlChiki),
Self::Rejang => databake::quote!(icu_properties::props::Script::Rejang),
Self::Saurashtra => databake::quote!(icu_properties::props::Script::Saurashtra),
Self::SignWriting => databake::quote!(icu_properties::props::Script::SignWriting),
Self::Sundanese => databake::quote!(icu_properties::props::Script::Sundanese),
Self::Moon => databake::quote!(icu_properties::props::Script::Moon),
Self::MeeteiMayek => databake::quote!(icu_properties::props::Script::MeeteiMayek),
Self::ImperialAramaic => databake::quote!(icu_properties::props::Script::ImperialAramaic),
Self::Avestan => databake::quote!(icu_properties::props::Script::Avestan),
Self::Chakma => databake::quote!(icu_properties::props::Script::Chakma),
Self::Korean => databake::quote!(icu_properties::props::Script::Korean),
Self::Kaithi => databake::quote!(icu_properties::props::Script::Kaithi),
Self::Manichaean => databake::quote!(icu_properties::props::Script::Manichaean),
Self::InscriptionalPahlavi => databake::quote!(icu_properties::props::Script::InscriptionalPahlavi),
Self::PsalterPahlavi => databake::quote!(icu_properties::props::Script::PsalterPahlavi),
Self::BookPahlavi => databake::quote!(icu_properties::props::Script::BookPahlavi),
Self::InscriptionalParthian => databake::quote!(icu_properties::props::Script::InscriptionalParthian),
Self::Samaritan => databake::quote!(icu_properties::props::Script::Samaritan),
Self::TaiViet => databake::quote!(icu_properties::props::Script::TaiViet),
Self::MathematicalNotation => databake::quote!(icu_properties::props::Script::MathematicalNotation),
Self::Symbols => databake::quote!(icu_properties::props::Script::Symbols),
Self::Bamum => databake::quote!(icu_properties::props::Script::Bamum),
Self::Lisu => databake::quote!(icu_properties::props::Script::Lisu),
Self::NakhiGeba => databake::quote!(icu_properties::props::Script::NakhiGeba),
Self::OldSouthArabian => databake::quote!(icu_properties::props::Script::OldSouthArabian),
Self::BassaVah => databake::quote!(icu_properties::props::Script::BassaVah),
Self::Duployan => databake::quote!(icu_properties::props::Script::Duployan),
Self::Elbasan => databake::quote!(icu_properties::props::Script::Elbasan),
Self::Grantha => databake::quote!(icu_properties::props::Script::Grantha),
Self::Kpelle => databake::quote!(icu_properties::props::Script::Kpelle),
Self::Loma => databake::quote!(icu_properties::props::Script::Loma),
Self::MendeKikakui => databake::quote!(icu_properties::props::Script::MendeKikakui),
Self::MeroiticCursive => databake::quote!(icu_properties::props::Script::MeroiticCursive),
Self::OldNorthArabian => databake::quote!(icu_properties::props::Script::OldNorthArabian),
Self::Nabataean => databake::quote!(icu_properties::props::Script::Nabataean),
Self::Palmyrene => databake::quote!(icu_properties::props::Script::Palmyrene),
Self::Khudawadi => databake::quote!(icu_properties::props::Script::Khudawadi),
Self::WarangCiti => databake::quote!(icu_properties::props::Script::WarangCiti),
Self::Afaka => databake::quote!(icu_properties::props::Script::Afaka),
Self::Jurchen => databake::quote!(icu_properties::props::Script::Jurchen),
Self::Mro => databake::quote!(icu_properties::props::Script::Mro),
Self::Nushu => databake::quote!(icu_properties::props::Script::Nushu),
Self::Sharada => databake::quote!(icu_properties::props::Script::Sharada),
Self::SoraSompeng => databake::quote!(icu_properties::props::Script::SoraSompeng),
Self::Takri => databake::quote!(icu_properties::props::Script::Takri),
Self::Tangut => databake::quote!(icu_properties::props::Script::Tangut),
Self::Woleai => databake::quote!(icu_properties::props::Script::Woleai),
Self::AnatolianHieroglyphs => databake::quote!(icu_properties::props::Script::AnatolianHieroglyphs),
Self::Khojki => databake::quote!(icu_properties::props::Script::Khojki),
Self::Tirhuta => databake::quote!(icu_properties::props::Script::Tirhuta),
Self::CaucasianAlbanian => databake::quote!(icu_properties::props::Script::CaucasianAlbanian),
Self::Mahajani => databake::quote!(icu_properties::props::Script::Mahajani),
Self::Ahom => databake::quote!(icu_properties::props::Script::Ahom),
Self::Hatran => databake::quote!(icu_properties::props::Script::Hatran),
Self::Modi => databake::quote!(icu_properties::props::Script::Modi),
Self::Multani => databake::quote!(icu_properties::props::Script::Multani),
Self::PauCinHau => databake::quote!(icu_properties::props::Script::PauCinHau),
Self::Siddham => databake::quote!(icu_properties::props::Script::Siddham),
Self::Adlam => databake::quote!(icu_properties::props::Script::Adlam),
Self::Bhaiksuki => databake::quote!(icu_properties::props::Script::Bhaiksuki),
Self::Marchen => databake::quote!(icu_properties::props::Script::Marchen),
Self::Newa => databake::quote!(icu_properties::props::Script::Newa),
Self::Osage => databake::quote!(icu_properties::props::Script::Osage),
Self::HanWithBopomofo => databake::quote!(icu_properties::props::Script::HanWithBopomofo),
Self::Jamo => databake::quote!(icu_properties::props::Script::Jamo),
Self::SymbolsEmoji => databake::quote!(icu_properties::props::Script::SymbolsEmoji),
Self::MasaramGondi => databake::quote!(icu_properties::props::Script::MasaramGondi),
Self::Soyombo => databake::quote!(icu_properties::props::Script::Soyombo),
Self::ZanabazarSquare => databake::quote!(icu_properties::props::Script::ZanabazarSquare),
Self::Dogra => databake::quote!(icu_properties::props::Script::Dogra),
Self::GunjalaGondi => databake::quote!(icu_properties::props::Script::GunjalaGondi),
Self::Makasar => databake::quote!(icu_properties::props::Script::Makasar),
Self::Medefaidrin => databake::quote!(icu_properties::props::Script::Medefaidrin),
Self::HanifiRohingya => databake::quote!(icu_properties::props::Script::HanifiRohingya),
Self::Sogdian => databake::quote!(icu_properties::props::Script::Sogdian),
Self::OldSogdian => databake::quote!(icu_properties::props::Script::OldSogdian),
Self::Elymaic => databake::quote!(icu_properties::props::Script::Elymaic),
Self::NyiakengPuachueHmong => databake::quote!(icu_properties::props::Script::NyiakengPuachueHmong),
Self::Nandinagari => databake::quote!(icu_properties::props::Script::Nandinagari),
Self::Wancho => databake::quote!(icu_properties::props::Script::Wancho),
Self::Chorasmian => databake::quote!(icu_properties::props::Script::Chorasmian),
Self::DivesAkuru => databake::quote!(icu_properties::props::Script::DivesAkuru),
Self::KhitanSmallScript => databake::quote!(icu_properties::props::Script::KhitanSmallScript),
Self::Yezidi => databake::quote!(icu_properties::props::Script::Yezidi),
Self::CyproMinoan => databake::quote!(icu_properties::props::Script::CyproMinoan),
Self::OldUyghur => databake::quote!(icu_properties::props::Script::OldUyghur),
Self::Tangsa => databake::quote!(icu_properties::props::Script::Tangsa),
Self::Toto => databake::quote!(icu_properties::props::Script::Toto),
Self::Vithkuqi => databake::quote!(icu_properties::props::Script::Vithkuqi),
Self::Kawi => databake::quote!(icu_properties::props::Script::Kawi),
Self::NagMundari => databake::quote!(icu_properties::props::Script::NagMundari),
Self::ArabicNastaliq => databake::quote!(icu_properties::props::Script::ArabicNastaliq),
Self::Garay => databake::quote!(icu_properties::props::Script::Garay),
Self::GurungKhema => databake::quote!(icu_properties::props::Script::GurungKhema),
Self::KiratRai => databake::quote!(icu_properties::props::Script::KiratRai),
Self::OlOnal => databake::quote!(icu_properties::props::Script::OlOnal),
Self::Sunuwar => databake::quote!(icu_properties::props::Script::Sunuwar),
Self::Todhri => databake::quote!(icu_properties::props::Script::Todhri),
Self::TuluTigalari => databake::quote!(icu_properties::props::Script::TuluTigalari),
Self::BeriaErfe => databake::quote!(icu_properties::props::Script::BeriaErfe),
Self::Sidetic => databake::quote!(icu_properties::props::Script::Sidetic),
Self::TaiYo => databake::quote!(icu_properties::props::Script::TaiYo),
Self::TolongSiki => databake::quote!(icu_properties::props::Script::TolongSiki),
Self::TraditionalHanWithLatin => databake::quote!(icu_properties::props::Script::TraditionalHanWithLatin),
Self(v) => databake::quote!(icu_properties::props::Script(#v)),
}
}
}
impl From<Script> for u16 {
fn from(other: Script) -> Self {
other.0
}
}
impl Script {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Common,
Self::Inherited,
Self::Arabic,
Self::Armenian,
Self::Bengali,
Self::Bopomofo,
Self::Cherokee,
Self::Coptic,
Self::Cyrillic,
Self::Deseret,
Self::Devanagari,
Self::Ethiopic,
Self::Georgian,
Self::Gothic,
Self::Greek,
Self::Gujarati,
Self::Gurmukhi,
Self::Han,
Self::Hangul,
Self::Hebrew,
Self::Hiragana,
Self::Kannada,
Self::Katakana,
Self::Khmer,
Self::Lao,
Self::Latin,
Self::Malayalam,
Self::Mongolian,
Self::Myanmar,
Self::Ogham,
Self::OldItalic,
Self::Oriya,
Self::Runic,
Self::Sinhala,
Self::Syriac,
Self::Tamil,
Self::Telugu,
Self::Thaana,
Self::Thai,
Self::Tibetan,
Self::CanadianAboriginal,
Self::Yi,
Self::Tagalog,
Self::Hanunoo,
Self::Buhid,
Self::Tagbanwa,
Self::Braille,
Self::Cypriot,
Self::Limbu,
Self::LinearB,
Self::Osmanya,
Self::Shavian,
Self::TaiLe,
Self::Ugaritic,
Self::KatakanaOrHiragana,
Self::Buginese,
Self::Glagolitic,
Self::Kharoshthi,
Self::SylotiNagri,
Self::NewTaiLue,
Self::Tifinagh,
Self::OldPersian,
Self::Balinese,
Self::Batak,
Self::BlisSymbols,
Self::Brahmi,
Self::Cham,
Self::Cirth,
Self::OldChurchSlavonicCyrillic,
Self::DemoticEgyptian,
Self::HieraticEgyptian,
Self::EgyptianHieroglyphs,
Self::Khutsuri,
Self::SimplifiedHan,
Self::TraditionalHan,
Self::PahawhHmong,
Self::OldHungarian,
Self::HarappanIndus,
Self::Javanese,
Self::KayahLi,
Self::LatinFraktur,
Self::LatinGaelic,
Self::Lepcha,
Self::LinearA,
Self::Mandaic,
Self::MayanHieroglyphs,
Self::MeroiticHieroglyphs,
Self::Nko,
Self::OldTurkic,
Self::OldPermic,
Self::PhagsPa,
Self::Phoenician,
Self::Miao,
Self::Rongorongo,
Self::Sarati,
Self::EstrangeloSyriac,
Self::WesternSyriac,
Self::EasternSyriac,
Self::Tengwar,
Self::Vai,
Self::VisibleSpeech,
Self::Cuneiform,
Self::UnwrittenLanguages,
Self::Unknown,
Self::Carian,
Self::Japanese,
Self::TaiTham,
Self::Lycian,
Self::Lydian,
Self::OlChiki,
Self::Rejang,
Self::Saurashtra,
Self::SignWriting,
Self::Sundanese,
Self::Moon,
Self::MeeteiMayek,
Self::ImperialAramaic,
Self::Avestan,
Self::Chakma,
Self::Korean,
Self::Kaithi,
Self::Manichaean,
Self::InscriptionalPahlavi,
Self::PsalterPahlavi,
Self::BookPahlavi,
Self::InscriptionalParthian,
Self::Samaritan,
Self::TaiViet,
Self::MathematicalNotation,
Self::Symbols,
Self::Bamum,
Self::Lisu,
Self::NakhiGeba,
Self::OldSouthArabian,
Self::BassaVah,
Self::Duployan,
Self::Elbasan,
Self::Grantha,
Self::Kpelle,
Self::Loma,
Self::MendeKikakui,
Self::MeroiticCursive,
Self::OldNorthArabian,
Self::Nabataean,
Self::Palmyrene,
Self::Khudawadi,
Self::WarangCiti,
Self::Afaka,
Self::Jurchen,
Self::Mro,
Self::Nushu,
Self::Sharada,
Self::SoraSompeng,
Self::Takri,
Self::Tangut,
Self::Woleai,
Self::AnatolianHieroglyphs,
Self::Khojki,
Self::Tirhuta,
Self::CaucasianAlbanian,
Self::Mahajani,
Self::Ahom,
Self::Hatran,
Self::Modi,
Self::Multani,
Self::PauCinHau,
Self::Siddham,
Self::Adlam,
Self::Bhaiksuki,
Self::Marchen,
Self::Newa,
Self::Osage,
Self::HanWithBopomofo,
Self::Jamo,
Self::SymbolsEmoji,
Self::MasaramGondi,
Self::Soyombo,
Self::ZanabazarSquare,
Self::Dogra,
Self::GunjalaGondi,
Self::Makasar,
Self::Medefaidrin,
Self::HanifiRohingya,
Self::Sogdian,
Self::OldSogdian,
Self::Elymaic,
Self::NyiakengPuachueHmong,
Self::Nandinagari,
Self::Wancho,
Self::Chorasmian,
Self::DivesAkuru,
Self::KhitanSmallScript,
Self::Yezidi,
Self::CyproMinoan,
Self::OldUyghur,
Self::Tangsa,
Self::Toto,
Self::Vithkuqi,
Self::Kawi,
Self::NagMundari,
Self::ArabicNastaliq,
Self::Garay,
Self::GurungKhema,
Self::KiratRai,
Self::OlOnal,
Self::Sunuwar,
Self::Todhri,
Self::TuluTigalari,
Self::BeriaErfe,
Self::Sidetic,
Self::TaiYo,
Self::TolongSiki,
Self::TraditionalHanWithLatin,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("Zyyy", Self::Common),
("Zinh", Self::Inherited),
("Arab", Self::Arabic),
("Armn", Self::Armenian),
("Beng", Self::Bengali),
("Bopo", Self::Bopomofo),
("Cher", Self::Cherokee),
("Copt", Self::Coptic),
("Cyrl", Self::Cyrillic),
("Dsrt", Self::Deseret),
("Deva", Self::Devanagari),
("Ethi", Self::Ethiopic),
("Geor", Self::Georgian),
("Goth", Self::Gothic),
("Grek", Self::Greek),
("Gujr", Self::Gujarati),
("Guru", Self::Gurmukhi),
("Hani", Self::Han),
("Hang", Self::Hangul),
("Hebr", Self::Hebrew),
("Hira", Self::Hiragana),
("Knda", Self::Kannada),
("Kana", Self::Katakana),
("Khmr", Self::Khmer),
("Laoo", Self::Lao),
("Latn", Self::Latin),
("Mlym", Self::Malayalam),
("Mong", Self::Mongolian),
("Mymr", Self::Myanmar),
("Ogam", Self::Ogham),
("Ital", Self::OldItalic),
("Orya", Self::Oriya),
("Runr", Self::Runic),
("Sinh", Self::Sinhala),
("Syrc", Self::Syriac),
("Taml", Self::Tamil),
("Telu", Self::Telugu),
("Thaa", Self::Thaana),
("Thai", Self::Thai),
("Tibt", Self::Tibetan),
("Cans", Self::CanadianAboriginal),
("Yiii", Self::Yi),
("Tglg", Self::Tagalog),
("Hano", Self::Hanunoo),
("Buhd", Self::Buhid),
("Tagb", Self::Tagbanwa),
("Brai", Self::Braille),
("Cprt", Self::Cypriot),
("Limb", Self::Limbu),
("Linb", Self::LinearB),
("Osma", Self::Osmanya),
("Shaw", Self::Shavian),
("Tale", Self::TaiLe),
("Ugar", Self::Ugaritic),
("Hrkt", Self::KatakanaOrHiragana),
("Bugi", Self::Buginese),
("Glag", Self::Glagolitic),
("Khar", Self::Kharoshthi),
("Sylo", Self::SylotiNagri),
("Talu", Self::NewTaiLue),
("Tfng", Self::Tifinagh),
("Xpeo", Self::OldPersian),
("Bali", Self::Balinese),
("Batk", Self::Batak),
("Blis", Self::BlisSymbols),
("Brah", Self::Brahmi),
("Cham", Self::Cham),
("Cirt", Self::Cirth),
("Cyrs", Self::OldChurchSlavonicCyrillic),
("Egyd", Self::DemoticEgyptian),
("Egyh", Self::HieraticEgyptian),
("Egyp", Self::EgyptianHieroglyphs),
("Geok", Self::Khutsuri),
("Hans", Self::SimplifiedHan),
("Hant", Self::TraditionalHan),
("Hmng", Self::PahawhHmong),
("Hung", Self::OldHungarian),
("Inds", Self::HarappanIndus),
("Java", Self::Javanese),
("Kali", Self::KayahLi),
("Latf", Self::LatinFraktur),
("Latg", Self::LatinGaelic),
("Lepc", Self::Lepcha),
("Lina", Self::LinearA),
("Mand", Self::Mandaic),
("Maya", Self::MayanHieroglyphs),
("Mero", Self::MeroiticHieroglyphs),
("Nkoo", Self::Nko),
("Orkh", Self::OldTurkic),
("Perm", Self::OldPermic),
("Phag", Self::PhagsPa),
("Phnx", Self::Phoenician),
("Plrd", Self::Miao),
("Roro", Self::Rongorongo),
("Sara", Self::Sarati),
("Syre", Self::EstrangeloSyriac),
("Syrj", Self::WesternSyriac),
("Syrn", Self::EasternSyriac),
("Teng", Self::Tengwar),
("Vaii", Self::Vai),
("Visp", Self::VisibleSpeech),
("Xsux", Self::Cuneiform),
("Zxxx", Self::UnwrittenLanguages),
("Zzzz", Self::Unknown),
("Cari", Self::Carian),
("Jpan", Self::Japanese),
("Lana", Self::TaiTham),
("Lyci", Self::Lycian),
("Lydi", Self::Lydian),
("Olck", Self::OlChiki),
("Rjng", Self::Rejang),
("Saur", Self::Saurashtra),
("Sgnw", Self::SignWriting),
("Sund", Self::Sundanese),
("Moon", Self::Moon),
("Mtei", Self::MeeteiMayek),
("Armi", Self::ImperialAramaic),
("Avst", Self::Avestan),
("Cakm", Self::Chakma),
("Kore", Self::Korean),
("Kthi", Self::Kaithi),
("Mani", Self::Manichaean),
("Phli", Self::InscriptionalPahlavi),
("Phlp", Self::PsalterPahlavi),
("Phlv", Self::BookPahlavi),
("Prti", Self::InscriptionalParthian),
("Samr", Self::Samaritan),
("Tavt", Self::TaiViet),
("Zmth", Self::MathematicalNotation),
("Zsym", Self::Symbols),
("Bamu", Self::Bamum),
("Lisu", Self::Lisu),
("Nkgb", Self::NakhiGeba),
("Sarb", Self::OldSouthArabian),
("Bass", Self::BassaVah),
("Dupl", Self::Duployan),
("Elba", Self::Elbasan),
("Gran", Self::Grantha),
("Kpel", Self::Kpelle),
("Loma", Self::Loma),
("Mend", Self::MendeKikakui),
("Merc", Self::MeroiticCursive),
("Narb", Self::OldNorthArabian),
("Nbat", Self::Nabataean),
("Palm", Self::Palmyrene),
("Sind", Self::Khudawadi),
("Wara", Self::WarangCiti),
("Afak", Self::Afaka),
("Jurc", Self::Jurchen),
("Mroo", Self::Mro),
("Nshu", Self::Nushu),
("Shrd", Self::Sharada),
("Sora", Self::SoraSompeng),
("Takr", Self::Takri),
("Tang", Self::Tangut),
("Wole", Self::Woleai),
("Hluw", Self::AnatolianHieroglyphs),
("Khoj", Self::Khojki),
("Tirh", Self::Tirhuta),
("Aghb", Self::CaucasianAlbanian),
("Mahj", Self::Mahajani),
("Ahom", Self::Ahom),
("Hatr", Self::Hatran),
("Modi", Self::Modi),
("Mult", Self::Multani),
("Pauc", Self::PauCinHau),
("Sidd", Self::Siddham),
("Adlm", Self::Adlam),
("Bhks", Self::Bhaiksuki),
("Marc", Self::Marchen),
("Newa", Self::Newa),
("Osge", Self::Osage),
("Hanb", Self::HanWithBopomofo),
("Jamo", Self::Jamo),
("Zsye", Self::SymbolsEmoji),
("Gonm", Self::MasaramGondi),
("Soyo", Self::Soyombo),
("Zanb", Self::ZanabazarSquare),
("Dogr", Self::Dogra),
("Gong", Self::GunjalaGondi),
("Maka", Self::Makasar),
("Medf", Self::Medefaidrin),
("Rohg", Self::HanifiRohingya),
("Sogd", Self::Sogdian),
("Sogo", Self::OldSogdian),
("Elym", Self::Elymaic),
("Hmnp", Self::NyiakengPuachueHmong),
("Nand", Self::Nandinagari),
("Wcho", Self::Wancho),
("Chrs", Self::Chorasmian),
("Diak", Self::DivesAkuru),
("Kits", Self::KhitanSmallScript),
("Yezi", Self::Yezidi),
("Cpmn", Self::CyproMinoan),
("Ougr", Self::OldUyghur),
("Tnsa", Self::Tangsa),
("Toto", Self::Toto),
("Vith", Self::Vithkuqi),
("Kawi", Self::Kawi),
("Nagm", Self::NagMundari),
("Aran", Self::ArabicNastaliq),
("Gara", Self::Garay),
("Gukh", Self::GurungKhema),
("Krai", Self::KiratRai),
("Onao", Self::OlOnal),
("Sunu", Self::Sunuwar),
("Todr", Self::Todhri),
("Tutg", Self::TuluTigalari),
("Berf", Self::BeriaErfe),
("Sidt", Self::Sidetic),
("Tayo", Self::TaiYo),
("Tols", Self::TolongSiki),
("Hntl", Self::TraditionalHanWithLatin),
].into_iter()
}
}
impl SentenceBreak {
pub const Other: Self = Self(0);
pub const XX: Self = Self::Other;
pub const ATerm: Self = Self(1);
pub const AT: Self = Self::ATerm;
pub const Close: Self = Self(2);
pub const CL: Self = Self::Close;
pub const Format: Self = Self(3);
pub const FO: Self = Self::Format;
pub const Lower: Self = Self(4);
pub const LO: Self = Self::Lower;
pub const Numeric: Self = Self(5);
pub const NU: Self = Self::Numeric;
pub const OLetter: Self = Self(6);
pub const LE: Self = Self::OLetter;
pub const Sep: Self = Self(7);
pub const SE: Self = Self::Sep;
pub const Sp: Self = Self(8);
pub const SP: Self = Self::Sp;
pub const STerm: Self = Self(9);
pub const ST: Self = Self::STerm;
pub const Upper: Self = Self(10);
pub const UP: Self = Self::Upper;
pub const CR: Self = Self(11);
pub const Extend: Self = Self(12);
pub const EX: Self = Self::Extend;
pub const LF: Self = Self(13);
pub const SContinue: Self = Self(14);
pub const SC: Self = Self::SContinue;
}
#[cfg(feature = "datagen")]
impl databake::Bake for SentenceBreak {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Other => databake::quote!(icu_properties::props::SentenceBreak::Other),
Self::ATerm => databake::quote!(icu_properties::props::SentenceBreak::ATerm),
Self::Close => databake::quote!(icu_properties::props::SentenceBreak::Close),
Self::Format => databake::quote!(icu_properties::props::SentenceBreak::Format),
Self::Lower => databake::quote!(icu_properties::props::SentenceBreak::Lower),
Self::Numeric => databake::quote!(icu_properties::props::SentenceBreak::Numeric),
Self::OLetter => databake::quote!(icu_properties::props::SentenceBreak::OLetter),
Self::Sep => databake::quote!(icu_properties::props::SentenceBreak::Sep),
Self::Sp => databake::quote!(icu_properties::props::SentenceBreak::Sp),
Self::STerm => databake::quote!(icu_properties::props::SentenceBreak::STerm),
Self::Upper => databake::quote!(icu_properties::props::SentenceBreak::Upper),
Self::CR => databake::quote!(icu_properties::props::SentenceBreak::CR),
Self::Extend => databake::quote!(icu_properties::props::SentenceBreak::Extend),
Self::LF => databake::quote!(icu_properties::props::SentenceBreak::LF),
Self::SContinue => databake::quote!(icu_properties::props::SentenceBreak::SContinue),
Self(v) => databake::quote!(icu_properties::props::SentenceBreak(#v)),
}
}
}
impl From<SentenceBreak> for u16 {
fn from(other: SentenceBreak) -> Self {
other.0 as u16
}
}
impl SentenceBreak {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Other,
Self::ATerm,
Self::Close,
Self::Format,
Self::Lower,
Self::Numeric,
Self::OLetter,
Self::Sep,
Self::Sp,
Self::STerm,
Self::Upper,
Self::CR,
Self::Extend,
Self::LF,
Self::SContinue,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("XX", Self::Other),
("AT", Self::ATerm),
("CL", Self::Close),
("FO", Self::Format),
("LO", Self::Lower),
("NU", Self::Numeric),
("LE", Self::OLetter),
("SE", Self::Sep),
("SP", Self::Sp),
("ST", Self::STerm),
("UP", Self::Upper),
("CR", Self::CR),
("EX", Self::Extend),
("LF", Self::LF),
("SC", Self::SContinue),
].into_iter()
}
}
impl VerticalOrientation {
pub const Rotated: Self = Self(0);
pub const R: Self = Self::Rotated;
pub const TransformedRotated: Self = Self(1);
pub const Tr: Self = Self::TransformedRotated;
pub const TransformedUpright: Self = Self(2);
pub const Tu: Self = Self::TransformedUpright;
pub const Upright: Self = Self(3);
pub const U: Self = Self::Upright;
}
#[cfg(feature = "datagen")]
impl databake::Bake for VerticalOrientation {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Rotated => databake::quote!(icu_properties::props::VerticalOrientation::Rotated),
Self::TransformedRotated => databake::quote!(icu_properties::props::VerticalOrientation::TransformedRotated),
Self::TransformedUpright => databake::quote!(icu_properties::props::VerticalOrientation::TransformedUpright),
Self::Upright => databake::quote!(icu_properties::props::VerticalOrientation::Upright),
Self(v) => databake::quote!(icu_properties::props::VerticalOrientation(#v)),
}
}
}
impl From<VerticalOrientation> for u16 {
fn from(other: VerticalOrientation) -> Self {
other.0 as u16
}
}
impl VerticalOrientation {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Rotated,
Self::TransformedRotated,
Self::TransformedUpright,
Self::Upright,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("R", Self::Rotated),
("Tr", Self::TransformedRotated),
("Tu", Self::TransformedUpright),
("U", Self::Upright),
].into_iter()
}
}
impl WordBreak {
pub const Other: Self = Self(0);
pub const XX: Self = Self::Other;
pub const ALetter: Self = Self(1);
pub const LE: Self = Self::ALetter;
pub const Format: Self = Self(2);
pub const FO: Self = Self::Format;
pub const Katakana: Self = Self(3);
pub const KA: Self = Self::Katakana;
pub const MidLetter: Self = Self(4);
pub const ML: Self = Self::MidLetter;
pub const MidNum: Self = Self(5);
pub const MN: Self = Self::MidNum;
pub const Numeric: Self = Self(6);
pub const NU: Self = Self::Numeric;
pub const ExtendNumLet: Self = Self(7);
pub const EX: Self = Self::ExtendNumLet;
pub const CR: Self = Self(8);
pub const Extend: Self = Self(9);
pub const LF: Self = Self(10);
pub const MidNumLet: Self = Self(11);
pub const MB: Self = Self::MidNumLet;
pub const Newline: Self = Self(12);
pub const NL: Self = Self::Newline;
pub const RegionalIndicator: Self = Self(13);
pub const RI: Self = Self::RegionalIndicator;
pub const HebrewLetter: Self = Self(14);
pub const HL: Self = Self::HebrewLetter;
pub const SingleQuote: Self = Self(15);
pub const SQ: Self = Self::SingleQuote;
pub const DoubleQuote: Self = Self(16);
pub const DQ: Self = Self::DoubleQuote;
pub const EBase: Self = Self(17);
pub const EB: Self = Self::EBase;
pub const EBaseGAZ: Self = Self(18);
pub const EBG: Self = Self::EBaseGAZ;
pub const EModifier: Self = Self(19);
pub const EM: Self = Self::EModifier;
pub const GlueAfterZwj: Self = Self(20);
pub const GAZ: Self = Self::GlueAfterZwj;
pub const ZWJ: Self = Self(21);
pub const WSegSpace: Self = Self(22);
}
#[cfg(feature = "datagen")]
impl databake::Bake for WordBreak {
fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
env.insert("icu_properties");
match *self {
Self::Other => databake::quote!(icu_properties::props::WordBreak::Other),
Self::ALetter => databake::quote!(icu_properties::props::WordBreak::ALetter),
Self::Format => databake::quote!(icu_properties::props::WordBreak::Format),
Self::Katakana => databake::quote!(icu_properties::props::WordBreak::Katakana),
Self::MidLetter => databake::quote!(icu_properties::props::WordBreak::MidLetter),
Self::MidNum => databake::quote!(icu_properties::props::WordBreak::MidNum),
Self::Numeric => databake::quote!(icu_properties::props::WordBreak::Numeric),
Self::ExtendNumLet => databake::quote!(icu_properties::props::WordBreak::ExtendNumLet),
Self::CR => databake::quote!(icu_properties::props::WordBreak::CR),
Self::Extend => databake::quote!(icu_properties::props::WordBreak::Extend),
Self::LF => databake::quote!(icu_properties::props::WordBreak::LF),
Self::MidNumLet => databake::quote!(icu_properties::props::WordBreak::MidNumLet),
Self::Newline => databake::quote!(icu_properties::props::WordBreak::Newline),
Self::RegionalIndicator => databake::quote!(icu_properties::props::WordBreak::RegionalIndicator),
Self::HebrewLetter => databake::quote!(icu_properties::props::WordBreak::HebrewLetter),
Self::SingleQuote => databake::quote!(icu_properties::props::WordBreak::SingleQuote),
Self::DoubleQuote => databake::quote!(icu_properties::props::WordBreak::DoubleQuote),
Self::EBase => databake::quote!(icu_properties::props::WordBreak::EBase),
Self::EBaseGAZ => databake::quote!(icu_properties::props::WordBreak::EBaseGAZ),
Self::EModifier => databake::quote!(icu_properties::props::WordBreak::EModifier),
Self::GlueAfterZwj => databake::quote!(icu_properties::props::WordBreak::GlueAfterZwj),
Self::ZWJ => databake::quote!(icu_properties::props::WordBreak::ZWJ),
Self::WSegSpace => databake::quote!(icu_properties::props::WordBreak::WSegSpace),
Self(v) => databake::quote!(icu_properties::props::WordBreak(#v)),
}
}
}
impl From<WordBreak> for u16 {
fn from(other: WordBreak) -> Self {
other.0 as u16
}
}
impl WordBreak {
#[deprecated]
pub const ALL_VALUES: &'static [Self] = &[
Self::Other,
Self::ALetter,
Self::Format,
Self::Katakana,
Self::MidLetter,
Self::MidNum,
Self::Numeric,
Self::ExtendNumLet,
Self::CR,
Self::Extend,
Self::LF,
Self::MidNumLet,
Self::Newline,
Self::RegionalIndicator,
Self::HebrewLetter,
Self::SingleQuote,
Self::DoubleQuote,
Self::EBase,
Self::EBaseGAZ,
Self::EModifier,
Self::GlueAfterZwj,
Self::ZWJ,
Self::WSegSpace,
];
#[cfg(feature = "datagen")]
#[doc(hidden)]
pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
[
("XX", Self::Other),
("LE", Self::ALetter),
("FO", Self::Format),
("KA", Self::Katakana),
("ML", Self::MidLetter),
("MN", Self::MidNum),
("NU", Self::Numeric),
("EX", Self::ExtendNumLet),
("CR", Self::CR),
("Extend", Self::Extend),
("LF", Self::LF),
("MB", Self::MidNumLet),
("NL", Self::Newline),
("RI", Self::RegionalIndicator),
("HL", Self::HebrewLetter),
("SQ", Self::SingleQuote),
("DQ", Self::DoubleQuote),
("EB", Self::EBase),
("EBG", Self::EBaseGAZ),
("EM", Self::EModifier),
("GAZ", Self::GlueAfterZwj),
("ZWJ", Self::ZWJ),
("WSegSpace", Self::WSegSpace),
].into_iter()
}
}