#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
#[allow(dead_code)] #[derive(Clone, PartialEq, Debug)]
#[non_exhaustive]
#[repr(i32)]
enum EnumeratedProperty {
BidiClass = 0x1000,
CanonicalCombiningClass = 0x1002,
EastAsianWidth = 0x1004,
GeneralCategory = 0x1005,
GeneralCategoryGroup = 0x2000,
LineBreak = 0x1008,
Script = 0x100A,
GraphemeClusterBreak = 0x1012,
SentenceBreak = 0x1013,
WordBreak = 0x1014,
ScriptExtensions = 0x7000, InvalidCode = -1, }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(BidiClassULE)]
pub struct BidiClass(pub u8);
#[allow(non_upper_case_globals)]
impl BidiClass {
pub const LeftToRight: BidiClass = BidiClass(0);
pub const RightToLeft: BidiClass = BidiClass(1);
pub const EuropeanNumber: BidiClass = BidiClass(2);
pub const EuropeanSeparator: BidiClass = BidiClass(3);
pub const EuropeanTerminator: BidiClass = BidiClass(4);
pub const ArabicNumber: BidiClass = BidiClass(5);
pub const CommonSeparator: BidiClass = BidiClass(6);
pub const ParagraphSeparator: BidiClass = BidiClass(7);
pub const SegmentSeparator: BidiClass = BidiClass(8);
pub const WhiteSpace: BidiClass = BidiClass(9);
pub const OtherNeutral: BidiClass = BidiClass(10);
pub const LeftToRightEmbedding: BidiClass = BidiClass(11);
pub const LeftToRightOverride: BidiClass = BidiClass(12);
pub const ArabicLetter: BidiClass = BidiClass(13);
pub const RightToLeftEmbedding: BidiClass = BidiClass(14);
pub const RightToLeftOverride: BidiClass = BidiClass(15);
pub const PopDirectionalFormat: BidiClass = BidiClass(16);
pub const NonspacingMark: BidiClass = BidiClass(17);
pub const BoundaryNeutral: BidiClass = BidiClass(18);
pub const FirstStrongIsolate: BidiClass = BidiClass(19);
pub const LeftToRightIsolate: BidiClass = BidiClass(20);
pub const RightToLeftIsolate: BidiClass = BidiClass(21);
pub const PopDirectionalIsolate: BidiClass = BidiClass(22);
}
#[derive(Copy, Clone, PartialEq, Eq, Debug, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_enums)] #[zerovec::make_ule(GeneralCategoryULE)]
#[repr(u8)]
pub enum GeneralCategory {
Unassigned = 0,
UppercaseLetter = 1,
LowercaseLetter = 2,
TitlecaseLetter = 3,
ModifierLetter = 4,
OtherLetter = 5,
NonspacingMark = 6,
SpacingMark = 8,
EnclosingMark = 7,
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,
InitialPunctuation = 28,
FinalPunctuation = 29,
OtherPunctuation = 23,
MathSymbol = 24,
CurrencySymbol = 25,
ModifierSymbol = 26,
OtherSymbol = 27,
}
#[derive(Copy, Clone, PartialEq, Debug, Eq)]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
pub struct GeneralCategoryGroup(pub(crate) u32);
use GeneralCategory as GC;
use GeneralCategoryGroup as GCG;
#[allow(non_upper_case_globals)]
impl GeneralCategoryGroup {
pub const UppercaseLetter: GeneralCategoryGroup = GCG(1 << (GC::UppercaseLetter as u32));
pub const LowercaseLetter: GeneralCategoryGroup = GCG(1 << (GC::LowercaseLetter as u32));
pub const TitlecaseLetter: GeneralCategoryGroup = GCG(1 << (GC::TitlecaseLetter as u32));
pub const ModifierLetter: GeneralCategoryGroup = GCG(1 << (GC::ModifierLetter as u32));
pub const OtherLetter: GeneralCategoryGroup = GCG(1 << (GC::OtherLetter as u32));
pub const CasedLetter: GeneralCategoryGroup = GCG(1 << (GC::UppercaseLetter as u32)
| 1 << (GC::LowercaseLetter as u32)
| 1 << (GC::TitlecaseLetter as u32));
pub const Letter: GeneralCategoryGroup = GCG(1 << (GC::UppercaseLetter as u32)
| 1 << (GC::LowercaseLetter as u32)
| 1 << (GC::TitlecaseLetter as u32)
| 1 << (GC::ModifierLetter as u32)
| 1 << (GC::OtherLetter as u32));
pub const NonspacingMark: GeneralCategoryGroup = GCG(1 << (GC::NonspacingMark as u32));
pub const EnclosingMark: GeneralCategoryGroup = GCG(1 << (GC::EnclosingMark as u32));
pub const SpacingMark: GeneralCategoryGroup = GCG(1 << (GC::SpacingMark as u32));
pub const Mark: GeneralCategoryGroup = GCG(1 << (GC::NonspacingMark as u32)
| 1 << (GC::EnclosingMark as u32)
| 1 << (GC::SpacingMark as u32));
pub const DecimalNumber: GeneralCategoryGroup = GCG(1 << (GC::DecimalNumber as u32));
pub const LetterNumber: GeneralCategoryGroup = GCG(1 << (GC::LetterNumber as u32));
pub const OtherNumber: GeneralCategoryGroup = GCG(1 << (GC::OtherNumber as u32));
pub const Number: GeneralCategoryGroup = GCG(1 << (GC::DecimalNumber as u32)
| 1 << (GC::LetterNumber as u32)
| 1 << (GC::OtherNumber as u32));
pub const SpaceSeparator: GeneralCategoryGroup = GCG(1 << (GC::SpaceSeparator as u32));
pub const LineSeparator: GeneralCategoryGroup = GCG(1 << (GC::LineSeparator as u32));
pub const ParagraphSeparator: GeneralCategoryGroup = GCG(1 << (GC::ParagraphSeparator as u32));
pub const Separator: GeneralCategoryGroup = GCG(1 << (GC::SpaceSeparator as u32)
| 1 << (GC::LineSeparator as u32)
| 1 << (GC::ParagraphSeparator as u32));
pub const Control: GeneralCategoryGroup = GCG(1 << (GC::Control as u32));
pub const Format: GeneralCategoryGroup = GCG(1 << (GC::Format as u32));
pub const PrivateUse: GeneralCategoryGroup = GCG(1 << (GC::PrivateUse as u32));
pub const Surrogate: GeneralCategoryGroup = GCG(1 << (GC::Surrogate as u32));
pub const Unassigned: GeneralCategoryGroup = GCG(1 << (GC::Unassigned as u32));
pub const Other: GeneralCategoryGroup = GCG(1 << (GC::Control as u32)
| 1 << (GC::Format as u32)
| 1 << (GC::PrivateUse as u32)
| 1 << (GC::Surrogate as u32)
| 1 << (GC::Unassigned as u32));
pub const DashPunctuation: GeneralCategoryGroup = GCG(1 << (GC::DashPunctuation as u32));
pub const OpenPunctuation: GeneralCategoryGroup = GCG(1 << (GC::OpenPunctuation as u32));
pub const ClosePunctuation: GeneralCategoryGroup = GCG(1 << (GC::ClosePunctuation as u32));
pub const ConnectorPunctuation: GeneralCategoryGroup =
GCG(1 << (GC::ConnectorPunctuation as u32));
pub const InitialPunctuation: GeneralCategoryGroup = GCG(1 << (GC::InitialPunctuation as u32));
pub const FinalPunctuation: GeneralCategoryGroup = GCG(1 << (GC::FinalPunctuation as u32));
pub const OtherPunctuation: GeneralCategoryGroup = GCG(1 << (GC::OtherPunctuation as u32));
pub const Punctuation: GeneralCategoryGroup = GCG(1 << (GC::DashPunctuation as u32)
| 1 << (GC::OpenPunctuation as u32)
| 1 << (GC::ClosePunctuation as u32)
| 1 << (GC::ConnectorPunctuation as u32)
| 1 << (GC::OtherPunctuation as u32)
| 1 << (GC::InitialPunctuation as u32)
| 1 << (GC::FinalPunctuation as u32));
pub const MathSymbol: GeneralCategoryGroup = GCG(1 << (GC::MathSymbol as u32));
pub const CurrencySymbol: GeneralCategoryGroup = GCG(1 << (GC::CurrencySymbol as u32));
pub const ModifierSymbol: GeneralCategoryGroup = GCG(1 << (GC::ModifierSymbol as u32));
pub const OtherSymbol: GeneralCategoryGroup = GCG(1 << (GC::OtherSymbol as u32));
pub const Symbol: GeneralCategoryGroup = GCG(1 << (GC::MathSymbol as u32)
| 1 << (GC::CurrencySymbol as u32)
| 1 << (GC::ModifierSymbol as u32)
| 1 << (GC::OtherSymbol as u32));
pub fn contains(&self, val: GeneralCategory) -> bool {
0 != (1 << (val as u32)) & self.0
}
}
impl From<GeneralCategory> for GeneralCategoryGroup {
fn from(subcategory: GeneralCategory) -> Self {
GeneralCategoryGroup(1 << (subcategory as u32))
}
}
impl From<u32> for GeneralCategoryGroup {
fn from(mask: u32) -> Self {
GeneralCategoryGroup(mask)
}
}
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(ScriptULE)]
pub struct Script(pub u16);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl Script {
pub const Adlam: Script = Script(167);
pub const Ahom: Script = Script(161);
pub const AnatolianHieroglyphs: Script = Script(156);
pub const Arabic: Script = Script(2);
pub const Armenian: Script = Script(3);
pub const Avestan: Script = Script(117);
pub const Balinese: Script = Script(62);
pub const Bamum: Script = Script(130);
pub const BassaVah: Script = Script(134);
pub const Batak: Script = Script(63);
pub const Bengali: Script = Script(4);
pub const Bhaiksuki: Script = Script(168);
pub const Bopomofo: Script = Script(5);
pub const Brahmi: Script = Script(65);
pub const Braille: Script = Script(46);
pub const Buginese: Script = Script(55);
pub const Buhid: Script = Script(44);
pub const CanadianAboriginal: Script = Script(40);
pub const Carian: Script = Script(104);
pub const CaucasianAlbanian: Script = Script(159);
pub const Chakma: Script = Script(118);
pub const Cham: Script = Script(66);
pub const Cherokee: Script = Script(6);
pub const Chorasmian: Script = Script(189);
pub const Common: Script = Script(0);
pub const Coptic: Script = Script(7);
pub const Cuneiform: Script = Script(101);
pub const Cypriot: Script = Script(47);
pub const CyproMinoan: Script = Script(193);
pub const Cyrillic: Script = Script(8);
pub const Deseret: Script = Script(9);
pub const Devanagari: Script = Script(10);
pub const DivesAkuru: Script = Script(190);
pub const Dogra: Script = Script(178);
pub const Duployan: Script = Script(135);
pub const EgyptianHieroglyphs: Script = Script(71);
pub const Elbasan: Script = Script(136);
pub const Elymaic: Script = Script(185);
pub const Ethiopian: Script = Script(11);
pub const Georgian: Script = Script(12);
pub const Glagolitic: Script = Script(56);
pub const Gothic: Script = Script(13);
pub const Grantha: Script = Script(137);
pub const Greek: Script = Script(14);
pub const Gujarati: Script = Script(15);
pub const GunjalaGondi: Script = Script(179);
pub const Gurmukhi: Script = Script(16);
pub const Han: Script = Script(17);
pub const Hangul: Script = Script(18);
pub const HanifiRohingya: Script = Script(182);
pub const Hanunoo: Script = Script(43);
pub const Hatran: Script = Script(162);
pub const Hebrew: Script = Script(19);
pub const Hiragana: Script = Script(20);
pub const ImperialAramaic: Script = Script(116);
pub const Inherited: Script = Script(1);
pub const InscriptionalPahlavi: Script = Script(122);
pub const InscriptionalParthian: Script = Script(125);
pub const Javanese: Script = Script(78);
pub const Kaithi: Script = Script(120);
pub const Kannada: Script = Script(21);
pub const Katakana: Script = Script(22);
pub const Kawi: Script = Script(198);
pub const KayahLi: Script = Script(79);
pub const Kharoshthi: Script = Script(57);
pub const KhitanSmallScript: Script = Script(191);
pub const Khmer: Script = Script(23);
pub const Khojki: Script = Script(157);
pub const Khudawadi: Script = Script(145);
pub const Lao: Script = Script(24);
pub const Latin: Script = Script(25);
pub const Lepcha: Script = Script(82);
pub const Limbu: Script = Script(48);
pub const LinearA: Script = Script(83);
pub const LinearB: Script = Script(49);
pub const Lisu: Script = Script(131);
pub const Lycian: Script = Script(107);
pub const Lydian: Script = Script(108);
pub const Mahajani: Script = Script(160);
pub const Makasar: Script = Script(180);
pub const Malayalam: Script = Script(26);
pub const Mandaic: Script = Script(84);
pub const Manichaean: Script = Script(121);
pub const Marchen: Script = Script(169);
pub const MasaramGondi: Script = Script(175);
pub const Medefaidrin: Script = Script(181);
pub const MeeteiMayek: Script = Script(115);
pub const MendeKikakui: Script = Script(140);
pub const MeroiticCursive: Script = Script(141);
pub const MeroiticHieroglyphs: Script = Script(86);
pub const Miao: Script = Script(92);
pub const Modi: Script = Script(163);
pub const Mongolian: Script = Script(27);
pub const Mro: Script = Script(149);
pub const Multani: Script = Script(164);
pub const Myanmar: Script = Script(28);
pub const Nabataean: Script = Script(143);
pub const NagMundari: Script = Script(199);
pub const Nandinagari: Script = Script(187);
pub const NewTaiLue: Script = Script(59);
pub const Newa: Script = Script(170);
pub const Nko: Script = Script(87);
pub const Nushu: Script = Script(150);
pub const NyiakengPuachueHmong: Script = Script(186);
pub const Ogham: Script = Script(29);
pub const OlChiki: Script = Script(109);
pub const OldHungarian: Script = Script(76);
pub const OldItalic: Script = Script(30);
pub const OldNorthArabian: Script = Script(142);
pub const OldPermic: Script = Script(89);
pub const OldPersian: Script = Script(61);
pub const OldSogdian: Script = Script(184);
pub const OldSouthArabian: Script = Script(133);
pub const OldTurkic: Script = Script(88);
pub const OldUyghur: Script = Script(194);
pub const Oriya: Script = Script(31);
pub const Osage: Script = Script(171);
pub const Osmanya: Script = Script(50);
pub const PahawhHmong: Script = Script(75);
pub const Palmyrene: Script = Script(144);
pub const PauCinHau: Script = Script(165);
pub const PhagsPa: Script = Script(90);
pub const Phoenician: Script = Script(91);
pub const PsalterPahlavi: Script = Script(123);
pub const Rejang: Script = Script(110);
pub const Runic: Script = Script(32);
pub const Samaritan: Script = Script(126);
pub const Saurashtra: Script = Script(111);
pub const Sharada: Script = Script(151);
pub const Shavian: Script = Script(51);
pub const Siddham: Script = Script(166);
pub const SignWriting: Script = Script(112);
pub const Sinhala: Script = Script(33);
pub const Sogdian: Script = Script(183);
pub const SoraSompeng: Script = Script(152);
pub const Soyombo: Script = Script(176);
pub const Sundanese: Script = Script(113);
pub const SylotiNagri: Script = Script(58);
pub const Syriac: Script = Script(34);
pub const Tagalog: Script = Script(42);
pub const Tagbanwa: Script = Script(45);
pub const TaiLe: Script = Script(52);
pub const TaiTham: Script = Script(106);
pub const TaiViet: Script = Script(127);
pub const Takri: Script = Script(153);
pub const Tamil: Script = Script(35);
pub const Tangsa: Script = Script(195);
pub const Tangut: Script = Script(154);
pub const Telugu: Script = Script(36);
pub const Thaana: Script = Script(37);
pub const Thai: Script = Script(38);
pub const Tibetan: Script = Script(39);
pub const Tifinagh: Script = Script(60);
pub const Tirhuta: Script = Script(158);
pub const Toto: Script = Script(196);
pub const Ugaritic: Script = Script(53);
pub const Unknown: Script = Script(103);
pub const Vai: Script = Script(99);
pub const Vithkuqi: Script = Script(197);
pub const Wancho: Script = Script(188);
pub const WarangCiti: Script = Script(146);
pub const Yezidi: Script = Script(192);
pub const Yi: Script = Script(41);
pub const ZanabazarSquare: Script = Script(177);
}
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(EastAsianWidthULE)]
pub struct EastAsianWidth(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl EastAsianWidth {
pub const Neutral: EastAsianWidth = EastAsianWidth(0); pub const Ambiguous: EastAsianWidth = EastAsianWidth(1); pub const Halfwidth: EastAsianWidth = EastAsianWidth(2); pub const Fullwidth: EastAsianWidth = EastAsianWidth(3); pub const Narrow: EastAsianWidth = EastAsianWidth(4); pub const Wide: EastAsianWidth = EastAsianWidth(5); }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(LineBreakULE)]
pub struct LineBreak(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl LineBreak {
pub const Unknown: LineBreak = LineBreak(0); pub const Ambiguous: LineBreak = LineBreak(1); pub const Alphabetic: LineBreak = LineBreak(2); pub const BreakBoth: LineBreak = LineBreak(3); pub const BreakAfter: LineBreak = LineBreak(4); pub const BreakBefore: LineBreak = LineBreak(5); pub const MandatoryBreak: LineBreak = LineBreak(6); pub const ContingentBreak: LineBreak = LineBreak(7); pub const ClosePunctuation: LineBreak = LineBreak(8); pub const CombiningMark: LineBreak = LineBreak(9); pub const CarriageReturn: LineBreak = LineBreak(10); pub const Exclamation: LineBreak = LineBreak(11); pub const Glue: LineBreak = LineBreak(12); pub const Hyphen: LineBreak = LineBreak(13); pub const Ideographic: LineBreak = LineBreak(14); pub const Inseparable: LineBreak = LineBreak(15); pub const InfixNumeric: LineBreak = LineBreak(16); pub const LineFeed: LineBreak = LineBreak(17); pub const Nonstarter: LineBreak = LineBreak(18); pub const Numeric: LineBreak = LineBreak(19); pub const OpenPunctuation: LineBreak = LineBreak(20); pub const PostfixNumeric: LineBreak = LineBreak(21); pub const PrefixNumeric: LineBreak = LineBreak(22); pub const Quotation: LineBreak = LineBreak(23); pub const ComplexContext: LineBreak = LineBreak(24); pub const Surrogate: LineBreak = LineBreak(25); pub const Space: LineBreak = LineBreak(26); pub const BreakSymbols: LineBreak = LineBreak(27); pub const ZWSpace: LineBreak = LineBreak(28); pub const NextLine: LineBreak = LineBreak(29); pub const WordJoiner: LineBreak = LineBreak(30); pub const H2: LineBreak = LineBreak(31); pub const H3: LineBreak = LineBreak(32); pub const JL: LineBreak = LineBreak(33); pub const JT: LineBreak = LineBreak(34); pub const JV: LineBreak = LineBreak(35); pub const CloseParenthesis: LineBreak = LineBreak(36); pub const ConditionalJapaneseStarter: LineBreak = LineBreak(37); pub const HebrewLetter: LineBreak = LineBreak(38); pub const RegionalIndicator: LineBreak = LineBreak(39); pub const EBase: LineBreak = LineBreak(40); pub const EModifier: LineBreak = LineBreak(41); pub const ZWJ: LineBreak = LineBreak(42); }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(GraphemeClusterBreakULE)]
pub struct GraphemeClusterBreak(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl GraphemeClusterBreak {
pub const Other: GraphemeClusterBreak = GraphemeClusterBreak(0); pub const Control: GraphemeClusterBreak = GraphemeClusterBreak(1); pub const CR: GraphemeClusterBreak = GraphemeClusterBreak(2); pub const Extend: GraphemeClusterBreak = GraphemeClusterBreak(3); pub const L: GraphemeClusterBreak = GraphemeClusterBreak(4); pub const LF: GraphemeClusterBreak = GraphemeClusterBreak(5); pub const LV: GraphemeClusterBreak = GraphemeClusterBreak(6); pub const LVT: GraphemeClusterBreak = GraphemeClusterBreak(7); pub const T: GraphemeClusterBreak = GraphemeClusterBreak(8); pub const V: GraphemeClusterBreak = GraphemeClusterBreak(9); pub const SpacingMark: GraphemeClusterBreak = GraphemeClusterBreak(10); pub const Prepend: GraphemeClusterBreak = GraphemeClusterBreak(11); pub const RegionalIndicator: GraphemeClusterBreak = GraphemeClusterBreak(12); pub const EBase: GraphemeClusterBreak = GraphemeClusterBreak(13); pub const EBaseGAZ: GraphemeClusterBreak = GraphemeClusterBreak(14); pub const EModifier: GraphemeClusterBreak = GraphemeClusterBreak(15); pub const GlueAfterZwj: GraphemeClusterBreak = GraphemeClusterBreak(16); pub const ZWJ: GraphemeClusterBreak = GraphemeClusterBreak(17); }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(WordBreakULE)]
pub struct WordBreak(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl WordBreak {
pub const Other: WordBreak = WordBreak(0); pub const ALetter: WordBreak = WordBreak(1); pub const Format: WordBreak = WordBreak(2); pub const Katakana: WordBreak = WordBreak(3); pub const MidLetter: WordBreak = WordBreak(4); pub const MidNum: WordBreak = WordBreak(5); pub const Numeric: WordBreak = WordBreak(6); pub const ExtendNumLet: WordBreak = WordBreak(7); pub const CR: WordBreak = WordBreak(8); pub const Extend: WordBreak = WordBreak(9); pub const LF: WordBreak = WordBreak(10); pub const MidNumLet: WordBreak = WordBreak(11); pub const Newline: WordBreak = WordBreak(12); pub const RegionalIndicator: WordBreak = WordBreak(13); pub const HebrewLetter: WordBreak = WordBreak(14); pub const SingleQuote: WordBreak = WordBreak(15); pub const DoubleQuote: WordBreak = WordBreak(16); pub const EBase: WordBreak = WordBreak(17); pub const EBaseGAZ: WordBreak = WordBreak(18); pub const EModifier: WordBreak = WordBreak(19); pub const GlueAfterZwj: WordBreak = WordBreak(20); pub const ZWJ: WordBreak = WordBreak(21); pub const WSegSpace: WordBreak = WordBreak(22); }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(SentenceBreakULE)]
pub struct SentenceBreak(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl SentenceBreak {
pub const Other: SentenceBreak = SentenceBreak(0); pub const ATerm: SentenceBreak = SentenceBreak(1); pub const Close: SentenceBreak = SentenceBreak(2); pub const Format: SentenceBreak = SentenceBreak(3); pub const Lower: SentenceBreak = SentenceBreak(4); pub const Numeric: SentenceBreak = SentenceBreak(5); pub const OLetter: SentenceBreak = SentenceBreak(6); pub const Sep: SentenceBreak = SentenceBreak(7); pub const Sp: SentenceBreak = SentenceBreak(8); pub const STerm: SentenceBreak = SentenceBreak(9); pub const Upper: SentenceBreak = SentenceBreak(10); pub const CR: SentenceBreak = SentenceBreak(11); pub const Extend: SentenceBreak = SentenceBreak(12); pub const LF: SentenceBreak = SentenceBreak(13); pub const SContinue: SentenceBreak = SentenceBreak(14); }
#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "datagen", derive(databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_properties))]
#[allow(clippy::exhaustive_structs)] #[repr(transparent)]
#[zerovec::make_ule(CanonicalCombiningClassULE)]
pub struct CanonicalCombiningClass(pub u8);
#[allow(missing_docs)] #[allow(non_upper_case_globals)]
impl CanonicalCombiningClass {
pub const NotReordered: CanonicalCombiningClass = CanonicalCombiningClass(0); pub const Overlay: CanonicalCombiningClass = CanonicalCombiningClass(1); pub const HanReading: CanonicalCombiningClass = CanonicalCombiningClass(6); pub const Nukta: CanonicalCombiningClass = CanonicalCombiningClass(7); pub const KanaVoicing: CanonicalCombiningClass = CanonicalCombiningClass(8); pub const Virama: CanonicalCombiningClass = CanonicalCombiningClass(9); pub const CCC10: CanonicalCombiningClass = CanonicalCombiningClass(10); pub const CCC11: CanonicalCombiningClass = CanonicalCombiningClass(11); pub const CCC12: CanonicalCombiningClass = CanonicalCombiningClass(12); pub const CCC13: CanonicalCombiningClass = CanonicalCombiningClass(13); pub const CCC14: CanonicalCombiningClass = CanonicalCombiningClass(14); pub const CCC15: CanonicalCombiningClass = CanonicalCombiningClass(15); pub const CCC16: CanonicalCombiningClass = CanonicalCombiningClass(16); pub const CCC17: CanonicalCombiningClass = CanonicalCombiningClass(17); pub const CCC18: CanonicalCombiningClass = CanonicalCombiningClass(18); pub const CCC19: CanonicalCombiningClass = CanonicalCombiningClass(19); pub const CCC20: CanonicalCombiningClass = CanonicalCombiningClass(20); pub const CCC21: CanonicalCombiningClass = CanonicalCombiningClass(21); pub const CCC22: CanonicalCombiningClass = CanonicalCombiningClass(22); pub const CCC23: CanonicalCombiningClass = CanonicalCombiningClass(23); pub const CCC24: CanonicalCombiningClass = CanonicalCombiningClass(24); pub const CCC25: CanonicalCombiningClass = CanonicalCombiningClass(25); pub const CCC26: CanonicalCombiningClass = CanonicalCombiningClass(26); pub const CCC27: CanonicalCombiningClass = CanonicalCombiningClass(27); pub const CCC28: CanonicalCombiningClass = CanonicalCombiningClass(28); pub const CCC29: CanonicalCombiningClass = CanonicalCombiningClass(29); pub const CCC30: CanonicalCombiningClass = CanonicalCombiningClass(30); pub const CCC31: CanonicalCombiningClass = CanonicalCombiningClass(31); pub const CCC32: CanonicalCombiningClass = CanonicalCombiningClass(32); pub const CCC33: CanonicalCombiningClass = CanonicalCombiningClass(33); pub const CCC34: CanonicalCombiningClass = CanonicalCombiningClass(34); pub const CCC35: CanonicalCombiningClass = CanonicalCombiningClass(35); pub const CCC36: CanonicalCombiningClass = CanonicalCombiningClass(36); pub const CCC84: CanonicalCombiningClass = CanonicalCombiningClass(84); pub const CCC91: CanonicalCombiningClass = CanonicalCombiningClass(91); pub const CCC103: CanonicalCombiningClass = CanonicalCombiningClass(103); pub const CCC107: CanonicalCombiningClass = CanonicalCombiningClass(107); pub const CCC118: CanonicalCombiningClass = CanonicalCombiningClass(118); pub const CCC122: CanonicalCombiningClass = CanonicalCombiningClass(122); pub const CCC129: CanonicalCombiningClass = CanonicalCombiningClass(129); pub const CCC130: CanonicalCombiningClass = CanonicalCombiningClass(130); pub const CCC132: CanonicalCombiningClass = CanonicalCombiningClass(132); pub const CCC133: CanonicalCombiningClass = CanonicalCombiningClass(133); pub const AttachedBelowLeft: CanonicalCombiningClass = CanonicalCombiningClass(200); pub const AttachedBelow: CanonicalCombiningClass = CanonicalCombiningClass(202); pub const AttachedAbove: CanonicalCombiningClass = CanonicalCombiningClass(214); pub const AttachedAboveRight: CanonicalCombiningClass = CanonicalCombiningClass(216); pub const BelowLeft: CanonicalCombiningClass = CanonicalCombiningClass(218); pub const Below: CanonicalCombiningClass = CanonicalCombiningClass(220); pub const BelowRight: CanonicalCombiningClass = CanonicalCombiningClass(222); pub const Left: CanonicalCombiningClass = CanonicalCombiningClass(224); pub const Right: CanonicalCombiningClass = CanonicalCombiningClass(226); pub const AboveLeft: CanonicalCombiningClass = CanonicalCombiningClass(228); pub const Above: CanonicalCombiningClass = CanonicalCombiningClass(230); pub const AboveRight: CanonicalCombiningClass = CanonicalCombiningClass(232); pub const DoubleBelow: CanonicalCombiningClass = CanonicalCombiningClass(233); pub const DoubleAbove: CanonicalCombiningClass = CanonicalCombiningClass(234); pub const IotaSubscript: CanonicalCombiningClass = CanonicalCombiningClass(240); }