1#![allow(missing_docs)] #![allow(non_upper_case_globals)] use crate::props::*;
11
12impl BidiClass {
13 pub const LeftToRight: Self = Self(0);
14 pub const L: Self = Self::LeftToRight;
15 pub const RightToLeft: Self = Self(1);
16 pub const R: Self = Self::RightToLeft;
17 pub const EuropeanNumber: Self = Self(2);
18 pub const EN: Self = Self::EuropeanNumber;
19 pub const EuropeanSeparator: Self = Self(3);
20 pub const ES: Self = Self::EuropeanSeparator;
21 pub const EuropeanTerminator: Self = Self(4);
22 pub const ET: Self = Self::EuropeanTerminator;
23 pub const ArabicNumber: Self = Self(5);
24 pub const AN: Self = Self::ArabicNumber;
25 pub const CommonSeparator: Self = Self(6);
26 pub const CS: Self = Self::CommonSeparator;
27 pub const ParagraphSeparator: Self = Self(7);
28 pub const B: Self = Self::ParagraphSeparator;
29 pub const SegmentSeparator: Self = Self(8);
30 pub const S: Self = Self::SegmentSeparator;
31 pub const WhiteSpace: Self = Self(9);
32 pub const WS: Self = Self::WhiteSpace;
33 pub const OtherNeutral: Self = Self(10);
34 pub const ON: Self = Self::OtherNeutral;
35 pub const LeftToRightEmbedding: Self = Self(11);
36 pub const LRE: Self = Self::LeftToRightEmbedding;
37 pub const LeftToRightOverride: Self = Self(12);
38 pub const LRO: Self = Self::LeftToRightOverride;
39 pub const ArabicLetter: Self = Self(13);
40 pub const AL: Self = Self::ArabicLetter;
41 pub const RightToLeftEmbedding: Self = Self(14);
42 pub const RLE: Self = Self::RightToLeftEmbedding;
43 pub const RightToLeftOverride: Self = Self(15);
44 pub const RLO: Self = Self::RightToLeftOverride;
45 pub const PopDirectionalFormat: Self = Self(16);
46 pub const PDF: Self = Self::PopDirectionalFormat;
47 pub const NonspacingMark: Self = Self(17);
48 pub const NSM: Self = Self::NonspacingMark;
49 pub const BoundaryNeutral: Self = Self(18);
50 pub const BN: Self = Self::BoundaryNeutral;
51 pub const FirstStrongIsolate: Self = Self(19);
52 pub const FSI: Self = Self::FirstStrongIsolate;
53 pub const LeftToRightIsolate: Self = Self(20);
54 pub const LRI: Self = Self::LeftToRightIsolate;
55 pub const RightToLeftIsolate: Self = Self(21);
56 pub const RLI: Self = Self::RightToLeftIsolate;
57 pub const PopDirectionalIsolate: Self = Self(22);
58 pub const PDI: Self = Self::PopDirectionalIsolate;
59}
60
61#[cfg(feature = "datagen")]
62impl databake::Bake for BidiClass {
63 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
64 env.insert("icu_properties");
65 match *self {
66 Self::LeftToRight => databake::quote!(icu_properties::props::BidiClass::LeftToRight),
67 Self::RightToLeft => databake::quote!(icu_properties::props::BidiClass::RightToLeft),
68 Self::EuropeanNumber => databake::quote!(icu_properties::props::BidiClass::EuropeanNumber),
69 Self::EuropeanSeparator => databake::quote!(icu_properties::props::BidiClass::EuropeanSeparator),
70 Self::EuropeanTerminator => databake::quote!(icu_properties::props::BidiClass::EuropeanTerminator),
71 Self::ArabicNumber => databake::quote!(icu_properties::props::BidiClass::ArabicNumber),
72 Self::CommonSeparator => databake::quote!(icu_properties::props::BidiClass::CommonSeparator),
73 Self::ParagraphSeparator => databake::quote!(icu_properties::props::BidiClass::ParagraphSeparator),
74 Self::SegmentSeparator => databake::quote!(icu_properties::props::BidiClass::SegmentSeparator),
75 Self::WhiteSpace => databake::quote!(icu_properties::props::BidiClass::WhiteSpace),
76 Self::OtherNeutral => databake::quote!(icu_properties::props::BidiClass::OtherNeutral),
77 Self::LeftToRightEmbedding => databake::quote!(icu_properties::props::BidiClass::LeftToRightEmbedding),
78 Self::LeftToRightOverride => databake::quote!(icu_properties::props::BidiClass::LeftToRightOverride),
79 Self::ArabicLetter => databake::quote!(icu_properties::props::BidiClass::ArabicLetter),
80 Self::RightToLeftEmbedding => databake::quote!(icu_properties::props::BidiClass::RightToLeftEmbedding),
81 Self::RightToLeftOverride => databake::quote!(icu_properties::props::BidiClass::RightToLeftOverride),
82 Self::PopDirectionalFormat => databake::quote!(icu_properties::props::BidiClass::PopDirectionalFormat),
83 Self::NonspacingMark => databake::quote!(icu_properties::props::BidiClass::NonspacingMark),
84 Self::BoundaryNeutral => databake::quote!(icu_properties::props::BidiClass::BoundaryNeutral),
85 Self::FirstStrongIsolate => databake::quote!(icu_properties::props::BidiClass::FirstStrongIsolate),
86 Self::LeftToRightIsolate => databake::quote!(icu_properties::props::BidiClass::LeftToRightIsolate),
87 Self::RightToLeftIsolate => databake::quote!(icu_properties::props::BidiClass::RightToLeftIsolate),
88 Self::PopDirectionalIsolate => databake::quote!(icu_properties::props::BidiClass::PopDirectionalIsolate),
89 Self(v) => databake::quote!(icu_properties::props::BidiClass(#v)),
90 }
91 }
92}
93
94
95impl From<BidiClass> for u16 {
96 fn from(other: BidiClass) -> Self {
97 other.0 as u16
98 }
99}
100
101impl BidiClass {
102 #[deprecated]
104 pub const ALL_VALUES: &'static [Self] = &[
105 Self::LeftToRight,
106 Self::RightToLeft,
107 Self::EuropeanNumber,
108 Self::EuropeanSeparator,
109 Self::EuropeanTerminator,
110 Self::ArabicNumber,
111 Self::CommonSeparator,
112 Self::ParagraphSeparator,
113 Self::SegmentSeparator,
114 Self::WhiteSpace,
115 Self::OtherNeutral,
116 Self::LeftToRightEmbedding,
117 Self::LeftToRightOverride,
118 Self::ArabicLetter,
119 Self::RightToLeftEmbedding,
120 Self::RightToLeftOverride,
121 Self::PopDirectionalFormat,
122 Self::NonspacingMark,
123 Self::BoundaryNeutral,
124 Self::FirstStrongIsolate,
125 Self::LeftToRightIsolate,
126 Self::RightToLeftIsolate,
127 Self::PopDirectionalIsolate,
128 ];
129
130 #[cfg(feature = "datagen")]
131 #[doc(hidden)]
132 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
133 [
134 ("L", Self::LeftToRight),
135 ("R", Self::RightToLeft),
136 ("EN", Self::EuropeanNumber),
137 ("ES", Self::EuropeanSeparator),
138 ("ET", Self::EuropeanTerminator),
139 ("AN", Self::ArabicNumber),
140 ("CS", Self::CommonSeparator),
141 ("B", Self::ParagraphSeparator),
142 ("S", Self::SegmentSeparator),
143 ("WS", Self::WhiteSpace),
144 ("ON", Self::OtherNeutral),
145 ("LRE", Self::LeftToRightEmbedding),
146 ("LRO", Self::LeftToRightOverride),
147 ("AL", Self::ArabicLetter),
148 ("RLE", Self::RightToLeftEmbedding),
149 ("RLO", Self::RightToLeftOverride),
150 ("PDF", Self::PopDirectionalFormat),
151 ("NSM", Self::NonspacingMark),
152 ("BN", Self::BoundaryNeutral),
153 ("FSI", Self::FirstStrongIsolate),
154 ("LRI", Self::LeftToRightIsolate),
155 ("RLI", Self::RightToLeftIsolate),
156 ("PDI", Self::PopDirectionalIsolate),
157 ].into_iter()
158 }
159}
160
161impl Block {
162 pub const NoBlock: Self = Self(0);
163 pub const NB: Self = Self::NoBlock;
164 pub const BasicLatin: Self = Self(1);
165 pub const ASCII: Self = Self::BasicLatin;
166 pub const Latin1Supplement: Self = Self(2);
167 pub const Latin1Sup: Self = Self::Latin1Supplement;
168 pub const Latin1: Self = Self::Latin1Supplement;
169 pub const LatinExtendedA: Self = Self(3);
170 pub const LatinExtA: Self = Self::LatinExtendedA;
171 pub const LatinExtendedB: Self = Self(4);
172 pub const LatinExtB: Self = Self::LatinExtendedB;
173 pub const IPAExtensions: Self = Self(5);
174 pub const IPAExt: Self = Self::IPAExtensions;
175 pub const SpacingModifierLetters: Self = Self(6);
176 pub const ModifierLetters: Self = Self::SpacingModifierLetters;
177 pub const CombiningDiacriticalMarks: Self = Self(7);
178 pub const Diacriticals: Self = Self::CombiningDiacriticalMarks;
179 pub const GreekAndCoptic: Self = Self(8);
180 pub const Greek: Self = Self::GreekAndCoptic;
181 pub const Cyrillic: Self = Self(9);
182 pub const Armenian: Self = Self(10);
183 pub const Hebrew: Self = Self(11);
184 pub const Arabic: Self = Self(12);
185 pub const Syriac: Self = Self(13);
186 pub const Thaana: Self = Self(14);
187 pub const Devanagari: Self = Self(15);
188 pub const Bengali: Self = Self(16);
189 pub const Gurmukhi: Self = Self(17);
190 pub const Gujarati: Self = Self(18);
191 pub const Oriya: Self = Self(19);
192 pub const Tamil: Self = Self(20);
193 pub const Telugu: Self = Self(21);
194 pub const Kannada: Self = Self(22);
195 pub const Malayalam: Self = Self(23);
196 pub const Sinhala: Self = Self(24);
197 pub const Thai: Self = Self(25);
198 pub const Lao: Self = Self(26);
199 pub const Tibetan: Self = Self(27);
200 pub const Myanmar: Self = Self(28);
201 pub const Georgian: Self = Self(29);
202 pub const HangulJamo: Self = Self(30);
203 pub const Jamo: Self = Self::HangulJamo;
204 pub const Ethiopic: Self = Self(31);
205 pub const Cherokee: Self = Self(32);
206 pub const UnifiedCanadianAboriginalSyllabics: Self = Self(33);
207 pub const UCAS: Self = Self::UnifiedCanadianAboriginalSyllabics;
208 pub const CanadianSyllabics: Self = Self::UnifiedCanadianAboriginalSyllabics;
209 pub const Ogham: Self = Self(34);
210 pub const Runic: Self = Self(35);
211 pub const Khmer: Self = Self(36);
212 pub const Mongolian: Self = Self(37);
213 pub const LatinExtendedAdditional: Self = Self(38);
214 pub const LatinExtAdditional: Self = Self::LatinExtendedAdditional;
215 pub const GreekExtended: Self = Self(39);
216 pub const GreekExt: Self = Self::GreekExtended;
217 pub const GeneralPunctuation: Self = Self(40);
218 pub const Punctuation: Self = Self::GeneralPunctuation;
219 pub const SuperscriptsAndSubscripts: Self = Self(41);
220 pub const SuperAndSub: Self = Self::SuperscriptsAndSubscripts;
221 pub const CurrencySymbols: Self = Self(42);
222 pub const CombiningDiacriticalMarksForSymbols: Self = Self(43);
223 pub const DiacriticalsForSymbols: Self = Self::CombiningDiacriticalMarksForSymbols;
224 pub const CombiningMarksForSymbols: Self = Self::CombiningDiacriticalMarksForSymbols;
225 pub const LetterlikeSymbols: Self = Self(44);
226 pub const NumberForms: Self = Self(45);
227 pub const Arrows: Self = Self(46);
228 pub const MathematicalOperators: Self = Self(47);
229 pub const MathOperators: Self = Self::MathematicalOperators;
230 pub const MiscellaneousTechnical: Self = Self(48);
231 pub const MiscTechnical: Self = Self::MiscellaneousTechnical;
232 pub const ControlPictures: Self = Self(49);
233 pub const OpticalCharacterRecognition: Self = Self(50);
234 pub const OCR: Self = Self::OpticalCharacterRecognition;
235 pub const EnclosedAlphanumerics: Self = Self(51);
236 pub const EnclosedAlphanum: Self = Self::EnclosedAlphanumerics;
237 pub const BoxDrawing: Self = Self(52);
238 pub const BlockElements: Self = Self(53);
239 pub const GeometricShapes: Self = Self(54);
240 pub const MiscellaneousSymbols: Self = Self(55);
241 pub const MiscSymbols: Self = Self::MiscellaneousSymbols;
242 pub const Dingbats: Self = Self(56);
243 pub const BraillePatterns: Self = Self(57);
244 pub const Braille: Self = Self::BraillePatterns;
245 pub const CJKRadicalsSupplement: Self = Self(58);
246 pub const CJKRadicalsSup: Self = Self::CJKRadicalsSupplement;
247 pub const KangxiRadicals: Self = Self(59);
248 pub const Kangxi: Self = Self::KangxiRadicals;
249 pub const IdeographicDescriptionCharacters: Self = Self(60);
250 pub const IDC: Self = Self::IdeographicDescriptionCharacters;
251 pub const CJKSymbolsAndPunctuation: Self = Self(61);
252 pub const CJKSymbols: Self = Self::CJKSymbolsAndPunctuation;
253 pub const Hiragana: Self = Self(62);
254 pub const Katakana: Self = Self(63);
255 pub const Bopomofo: Self = Self(64);
256 pub const HangulCompatibilityJamo: Self = Self(65);
257 pub const CompatJamo: Self = Self::HangulCompatibilityJamo;
258 pub const Kanbun: Self = Self(66);
259 pub const BopomofoExtended: Self = Self(67);
260 pub const BopomofoExt: Self = Self::BopomofoExtended;
261 pub const EnclosedCJKLettersAndMonths: Self = Self(68);
262 pub const EnclosedCJK: Self = Self::EnclosedCJKLettersAndMonths;
263 pub const CJKCompatibility: Self = Self(69);
264 pub const CJKCompat: Self = Self::CJKCompatibility;
265 pub const CJKUnifiedIdeographsExtensionA: Self = Self(70);
266 pub const CJKExtA: Self = Self::CJKUnifiedIdeographsExtensionA;
267 pub const CJKUnifiedIdeographs: Self = Self(71);
268 pub const CJK: Self = Self::CJKUnifiedIdeographs;
269 pub const YiSyllables: Self = Self(72);
270 pub const YiRadicals: Self = Self(73);
271 pub const HangulSyllables: Self = Self(74);
272 pub const Hangul: Self = Self::HangulSyllables;
273 pub const HighSurrogates: Self = Self(75);
274 pub const HighPrivateUseSurrogates: Self = Self(76);
275 pub const HighPUSurrogates: Self = Self::HighPrivateUseSurrogates;
276 pub const LowSurrogates: Self = Self(77);
277 pub const PrivateUseArea: Self = Self(78);
278 pub const PUA: Self = Self::PrivateUseArea;
279 pub const PrivateUse: Self = Self::PrivateUseArea;
280 pub const CJKCompatibilityIdeographs: Self = Self(79);
281 pub const CJKCompatIdeographs: Self = Self::CJKCompatibilityIdeographs;
282 pub const AlphabeticPresentationForms: Self = Self(80);
283 pub const AlphabeticPF: Self = Self::AlphabeticPresentationForms;
284 pub const ArabicPresentationFormsA: Self = Self(81);
285 pub const ArabicPFA: Self = Self::ArabicPresentationFormsA;
286 pub const CombiningHalfMarks: Self = Self(82);
287 pub const HalfMarks: Self = Self::CombiningHalfMarks;
288 pub const CJKCompatibilityForms: Self = Self(83);
289 pub const CJKCompatForms: Self = Self::CJKCompatibilityForms;
290 pub const SmallFormVariants: Self = Self(84);
291 pub const SmallForms: Self = Self::SmallFormVariants;
292 pub const ArabicPresentationFormsB: Self = Self(85);
293 pub const ArabicPFB: Self = Self::ArabicPresentationFormsB;
294 pub const Specials: Self = Self(86);
295 pub const HalfwidthAndFullwidthForms: Self = Self(87);
296 pub const HalfAndFullForms: Self = Self::HalfwidthAndFullwidthForms;
297 pub const OldItalic: Self = Self(88);
298 pub const Gothic: Self = Self(89);
299 pub const Deseret: Self = Self(90);
300 pub const ByzantineMusicalSymbols: Self = Self(91);
301 pub const ByzantineMusic: Self = Self::ByzantineMusicalSymbols;
302 pub const MusicalSymbols: Self = Self(92);
303 pub const Music: Self = Self::MusicalSymbols;
304 pub const MathematicalAlphanumericSymbols: Self = Self(93);
305 pub const MathAlphanum: Self = Self::MathematicalAlphanumericSymbols;
306 pub const CJKUnifiedIdeographsExtensionB: Self = Self(94);
307 pub const CJKExtB: Self = Self::CJKUnifiedIdeographsExtensionB;
308 pub const CJKCompatibilityIdeographsSupplement: Self = Self(95);
309 pub const CJKCompatIdeographsSup: Self = Self::CJKCompatibilityIdeographsSupplement;
310 pub const Tags: Self = Self(96);
311 pub const CyrillicSupplement: Self = Self(97);
312 pub const CyrillicSup: Self = Self::CyrillicSupplement;
313 pub const CyrillicSupplementary: Self = Self::CyrillicSupplement;
314 pub const Tagalog: Self = Self(98);
315 pub const Hanunoo: Self = Self(99);
316 pub const Buhid: Self = Self(100);
317 pub const Tagbanwa: Self = Self(101);
318 pub const MiscellaneousMathematicalSymbolsA: Self = Self(102);
319 pub const MiscMathSymbolsA: Self = Self::MiscellaneousMathematicalSymbolsA;
320 pub const SupplementalArrowsA: Self = Self(103);
321 pub const SupArrowsA: Self = Self::SupplementalArrowsA;
322 pub const SupplementalArrowsB: Self = Self(104);
323 pub const SupArrowsB: Self = Self::SupplementalArrowsB;
324 pub const MiscellaneousMathematicalSymbolsB: Self = Self(105);
325 pub const MiscMathSymbolsB: Self = Self::MiscellaneousMathematicalSymbolsB;
326 pub const SupplementalMathematicalOperators: Self = Self(106);
327 pub const SupMathOperators: Self = Self::SupplementalMathematicalOperators;
328 pub const KatakanaPhoneticExtensions: Self = Self(107);
329 pub const KatakanaExt: Self = Self::KatakanaPhoneticExtensions;
330 pub const VariationSelectors: Self = Self(108);
331 pub const VS: Self = Self::VariationSelectors;
332 pub const SupplementaryPrivateUseAreaA: Self = Self(109);
333 pub const SupPUAA: Self = Self::SupplementaryPrivateUseAreaA;
334 pub const SupplementaryPrivateUseAreaB: Self = Self(110);
335 pub const SupPUAB: Self = Self::SupplementaryPrivateUseAreaB;
336 pub const Limbu: Self = Self(111);
337 pub const TaiLe: Self = Self(112);
338 pub const KhmerSymbols: Self = Self(113);
339 pub const PhoneticExtensions: Self = Self(114);
340 pub const PhoneticExt: Self = Self::PhoneticExtensions;
341 pub const MiscellaneousSymbolsAndArrows: Self = Self(115);
342 pub const MiscArrows: Self = Self::MiscellaneousSymbolsAndArrows;
343 pub const YijingHexagramSymbols: Self = Self(116);
344 pub const Yijing: Self = Self::YijingHexagramSymbols;
345 pub const LinearBSyllabary: Self = Self(117);
346 pub const LinearBIdeograms: Self = Self(118);
347 pub const AegeanNumbers: Self = Self(119);
348 pub const Ugaritic: Self = Self(120);
349 pub const Shavian: Self = Self(121);
350 pub const Osmanya: Self = Self(122);
351 pub const CypriotSyllabary: Self = Self(123);
352 pub const TaiXuanJingSymbols: Self = Self(124);
353 pub const TaiXuanJing: Self = Self::TaiXuanJingSymbols;
354 pub const VariationSelectorsSupplement: Self = Self(125);
355 pub const VSSup: Self = Self::VariationSelectorsSupplement;
356 pub const AncientGreekMusicalNotation: Self = Self(126);
357 pub const AncientGreekMusic: Self = Self::AncientGreekMusicalNotation;
358 pub const AncientGreekNumbers: Self = Self(127);
359 pub const ArabicSupplement: Self = Self(128);
360 pub const ArabicSup: Self = Self::ArabicSupplement;
361 pub const Buginese: Self = Self(129);
362 pub const CJKStrokes: Self = Self(130);
363 pub const CombiningDiacriticalMarksSupplement: Self = Self(131);
364 pub const DiacriticalsSup: Self = Self::CombiningDiacriticalMarksSupplement;
365 pub const Coptic: Self = Self(132);
366 pub const EthiopicExtended: Self = Self(133);
367 pub const EthiopicExt: Self = Self::EthiopicExtended;
368 pub const EthiopicSupplement: Self = Self(134);
369 pub const EthiopicSup: Self = Self::EthiopicSupplement;
370 pub const GeorgianSupplement: Self = Self(135);
371 pub const GeorgianSup: Self = Self::GeorgianSupplement;
372 pub const Glagolitic: Self = Self(136);
373 pub const Kharoshthi: Self = Self(137);
374 pub const ModifierToneLetters: Self = Self(138);
375 pub const NewTaiLue: Self = Self(139);
376 pub const OldPersian: Self = Self(140);
377 pub const PhoneticExtensionsSupplement: Self = Self(141);
378 pub const PhoneticExtSup: Self = Self::PhoneticExtensionsSupplement;
379 pub const SupplementalPunctuation: Self = Self(142);
380 pub const SupPunctuation: Self = Self::SupplementalPunctuation;
381 pub const SylotiNagri: Self = Self(143);
382 pub const Tifinagh: Self = Self(144);
383 pub const VerticalForms: Self = Self(145);
384 pub const NKo: Self = Self(146);
385 pub const Balinese: Self = Self(147);
386 pub const LatinExtendedC: Self = Self(148);
387 pub const LatinExtC: Self = Self::LatinExtendedC;
388 pub const LatinExtendedD: Self = Self(149);
389 pub const LatinExtD: Self = Self::LatinExtendedD;
390 pub const PhagsPa: Self = Self(150);
391 pub const Phoenician: Self = Self(151);
392 pub const Cuneiform: Self = Self(152);
393 pub const CuneiformNumbersAndPunctuation: Self = Self(153);
394 pub const CuneiformNumbers: Self = Self::CuneiformNumbersAndPunctuation;
395 pub const CountingRodNumerals: Self = Self(154);
396 pub const CountingRod: Self = Self::CountingRodNumerals;
397 pub const Sundanese: Self = Self(155);
398 pub const Lepcha: Self = Self(156);
399 pub const OlChiki: Self = Self(157);
400 pub const CyrillicExtendedA: Self = Self(158);
401 pub const CyrillicExtA: Self = Self::CyrillicExtendedA;
402 pub const Vai: Self = Self(159);
403 pub const CyrillicExtendedB: Self = Self(160);
404 pub const CyrillicExtB: Self = Self::CyrillicExtendedB;
405 pub const Saurashtra: Self = Self(161);
406 pub const KayahLi: Self = Self(162);
407 pub const Rejang: Self = Self(163);
408 pub const Cham: Self = Self(164);
409 pub const AncientSymbols: Self = Self(165);
410 pub const PhaistosDisc: Self = Self(166);
411 pub const Phaistos: Self = Self::PhaistosDisc;
412 pub const Lycian: Self = Self(167);
413 pub const Carian: Self = Self(168);
414 pub const Lydian: Self = Self(169);
415 pub const MahjongTiles: Self = Self(170);
416 pub const Mahjong: Self = Self::MahjongTiles;
417 pub const DominoTiles: Self = Self(171);
418 pub const Domino: Self = Self::DominoTiles;
419 pub const Samaritan: Self = Self(172);
420 pub const UnifiedCanadianAboriginalSyllabicsExtended: Self = Self(173);
421 pub const UCASExt: Self = Self::UnifiedCanadianAboriginalSyllabicsExtended;
422 pub const TaiTham: Self = Self(174);
423 pub const VedicExtensions: Self = Self(175);
424 pub const VedicExt: Self = Self::VedicExtensions;
425 pub const Lisu: Self = Self(176);
426 pub const Bamum: Self = Self(177);
427 pub const CommonIndicNumberForms: Self = Self(178);
428 pub const IndicNumberForms: Self = Self::CommonIndicNumberForms;
429 pub const DevanagariExtended: Self = Self(179);
430 pub const DevanagariExt: Self = Self::DevanagariExtended;
431 pub const HangulJamoExtendedA: Self = Self(180);
432 pub const JamoExtA: Self = Self::HangulJamoExtendedA;
433 pub const Javanese: Self = Self(181);
434 pub const MyanmarExtendedA: Self = Self(182);
435 pub const MyanmarExtA: Self = Self::MyanmarExtendedA;
436 pub const TaiViet: Self = Self(183);
437 pub const MeeteiMayek: Self = Self(184);
438 pub const HangulJamoExtendedB: Self = Self(185);
439 pub const JamoExtB: Self = Self::HangulJamoExtendedB;
440 pub const ImperialAramaic: Self = Self(186);
441 pub const OldSouthArabian: Self = Self(187);
442 pub const Avestan: Self = Self(188);
443 pub const InscriptionalParthian: Self = Self(189);
444 pub const InscriptionalPahlavi: Self = Self(190);
445 pub const OldTurkic: Self = Self(191);
446 pub const RumiNumeralSymbols: Self = Self(192);
447 pub const Rumi: Self = Self::RumiNumeralSymbols;
448 pub const Kaithi: Self = Self(193);
449 pub const EgyptianHieroglyphs: Self = Self(194);
450 pub const EnclosedAlphanumericSupplement: Self = Self(195);
451 pub const EnclosedAlphanumSup: Self = Self::EnclosedAlphanumericSupplement;
452 pub const EnclosedIdeographicSupplement: Self = Self(196);
453 pub const EnclosedIdeographicSup: Self = Self::EnclosedIdeographicSupplement;
454 pub const CJKUnifiedIdeographsExtensionC: Self = Self(197);
455 pub const CJKExtC: Self = Self::CJKUnifiedIdeographsExtensionC;
456 pub const Mandaic: Self = Self(198);
457 pub const Batak: Self = Self(199);
458 pub const EthiopicExtendedA: Self = Self(200);
459 pub const EthiopicExtA: Self = Self::EthiopicExtendedA;
460 pub const Brahmi: Self = Self(201);
461 pub const BamumSupplement: Self = Self(202);
462 pub const BamumSup: Self = Self::BamumSupplement;
463 pub const KanaSupplement: Self = Self(203);
464 pub const KanaSup: Self = Self::KanaSupplement;
465 pub const PlayingCards: Self = Self(204);
466 pub const MiscellaneousSymbolsAndPictographs: Self = Self(205);
467 pub const MiscPictographs: Self = Self::MiscellaneousSymbolsAndPictographs;
468 pub const Emoticons: Self = Self(206);
469 pub const TransportAndMapSymbols: Self = Self(207);
470 pub const TransportAndMap: Self = Self::TransportAndMapSymbols;
471 pub const AlchemicalSymbols: Self = Self(208);
472 pub const Alchemical: Self = Self::AlchemicalSymbols;
473 pub const CJKUnifiedIdeographsExtensionD: Self = Self(209);
474 pub const CJKExtD: Self = Self::CJKUnifiedIdeographsExtensionD;
475 pub const ArabicExtendedA: Self = Self(210);
476 pub const ArabicExtA: Self = Self::ArabicExtendedA;
477 pub const ArabicMathematicalAlphabeticSymbols: Self = Self(211);
478 pub const ArabicMath: Self = Self::ArabicMathematicalAlphabeticSymbols;
479 pub const Chakma: Self = Self(212);
480 pub const MeeteiMayekExtensions: Self = Self(213);
481 pub const MeeteiMayekExt: Self = Self::MeeteiMayekExtensions;
482 pub const MeroiticCursive: Self = Self(214);
483 pub const MeroiticHieroglyphs: Self = Self(215);
484 pub const Miao: Self = Self(216);
485 pub const Sharada: Self = Self(217);
486 pub const SoraSompeng: Self = Self(218);
487 pub const SundaneseSupplement: Self = Self(219);
488 pub const SundaneseSup: Self = Self::SundaneseSupplement;
489 pub const Takri: Self = Self(220);
490 pub const BassaVah: Self = Self(221);
491 pub const CaucasianAlbanian: Self = Self(222);
492 pub const CopticEpactNumbers: Self = Self(223);
493 pub const CombiningDiacriticalMarksExtended: Self = Self(224);
494 pub const DiacriticalsExt: Self = Self::CombiningDiacriticalMarksExtended;
495 pub const Duployan: Self = Self(225);
496 pub const Elbasan: Self = Self(226);
497 pub const GeometricShapesExtended: Self = Self(227);
498 pub const GeometricShapesExt: Self = Self::GeometricShapesExtended;
499 pub const Grantha: Self = Self(228);
500 pub const Khojki: Self = Self(229);
501 pub const Khudawadi: Self = Self(230);
502 pub const LatinExtendedE: Self = Self(231);
503 pub const LatinExtE: Self = Self::LatinExtendedE;
504 pub const LinearA: Self = Self(232);
505 pub const Mahajani: Self = Self(233);
506 pub const Manichaean: Self = Self(234);
507 pub const MendeKikakui: Self = Self(235);
508 pub const Modi: Self = Self(236);
509 pub const Mro: Self = Self(237);
510 pub const MyanmarExtendedB: Self = Self(238);
511 pub const MyanmarExtB: Self = Self::MyanmarExtendedB;
512 pub const Nabataean: Self = Self(239);
513 pub const OldNorthArabian: Self = Self(240);
514 pub const OldPermic: Self = Self(241);
515 pub const OrnamentalDingbats: Self = Self(242);
516 pub const PahawhHmong: Self = Self(243);
517 pub const Palmyrene: Self = Self(244);
518 pub const PauCinHau: Self = Self(245);
519 pub const PsalterPahlavi: Self = Self(246);
520 pub const ShorthandFormatControls: Self = Self(247);
521 pub const Siddham: Self = Self(248);
522 pub const SinhalaArchaicNumbers: Self = Self(249);
523 pub const SupplementalArrowsC: Self = Self(250);
524 pub const SupArrowsC: Self = Self::SupplementalArrowsC;
525 pub const Tirhuta: Self = Self(251);
526 pub const WarangCiti: Self = Self(252);
527 pub const Ahom: Self = Self(253);
528 pub const AnatolianHieroglyphs: Self = Self(254);
529 pub const CherokeeSupplement: Self = Self(255);
530 pub const CherokeeSup: Self = Self::CherokeeSupplement;
531 pub const CJKUnifiedIdeographsExtensionE: Self = Self(256);
532 pub const CJKExtE: Self = Self::CJKUnifiedIdeographsExtensionE;
533 pub const EarlyDynasticCuneiform: Self = Self(257);
534 pub const Hatran: Self = Self(258);
535 pub const Multani: Self = Self(259);
536 pub const OldHungarian: Self = Self(260);
537 pub const SupplementalSymbolsAndPictographs: Self = Self(261);
538 pub const SupSymbolsAndPictographs: Self = Self::SupplementalSymbolsAndPictographs;
539 pub const SuttonSignWriting: Self = Self(262);
540 pub const Adlam: Self = Self(263);
541 pub const Bhaiksuki: Self = Self(264);
542 pub const CyrillicExtendedC: Self = Self(265);
543 pub const CyrillicExtC: Self = Self::CyrillicExtendedC;
544 pub const GlagoliticSupplement: Self = Self(266);
545 pub const GlagoliticSup: Self = Self::GlagoliticSupplement;
546 pub const IdeographicSymbolsAndPunctuation: Self = Self(267);
547 pub const IdeographicSymbols: Self = Self::IdeographicSymbolsAndPunctuation;
548 pub const Marchen: Self = Self(268);
549 pub const MongolianSupplement: Self = Self(269);
550 pub const MongolianSup: Self = Self::MongolianSupplement;
551 pub const Newa: Self = Self(270);
552 pub const Osage: Self = Self(271);
553 pub const Tangut: Self = Self(272);
554 pub const TangutComponents: Self = Self(273);
555 pub const CJKUnifiedIdeographsExtensionF: Self = Self(274);
556 pub const CJKExtF: Self = Self::CJKUnifiedIdeographsExtensionF;
557 pub const KanaExtendedA: Self = Self(275);
558 pub const KanaExtA: Self = Self::KanaExtendedA;
559 pub const MasaramGondi: Self = Self(276);
560 pub const Nushu: Self = Self(277);
561 pub const Soyombo: Self = Self(278);
562 pub const SyriacSupplement: Self = Self(279);
563 pub const SyriacSup: Self = Self::SyriacSupplement;
564 pub const ZanabazarSquare: Self = Self(280);
565 pub const ChessSymbols: Self = Self(281);
566 pub const Dogra: Self = Self(282);
567 pub const GeorgianExtended: Self = Self(283);
568 pub const GeorgianExt: Self = Self::GeorgianExtended;
569 pub const GunjalaGondi: Self = Self(284);
570 pub const HanifiRohingya: Self = Self(285);
571 pub const IndicSiyaqNumbers: Self = Self(286);
572 pub const Makasar: Self = Self(287);
573 pub const MayanNumerals: Self = Self(288);
574 pub const Medefaidrin: Self = Self(289);
575 pub const OldSogdian: Self = Self(290);
576 pub const Sogdian: Self = Self(291);
577 pub const EgyptianHieroglyphFormatControls: Self = Self(292);
578 pub const Elymaic: Self = Self(293);
579 pub const Nandinagari: Self = Self(294);
580 pub const NyiakengPuachueHmong: Self = Self(295);
581 pub const OttomanSiyaqNumbers: Self = Self(296);
582 pub const SmallKanaExtension: Self = Self(297);
583 pub const SmallKanaExt: Self = Self::SmallKanaExtension;
584 pub const SymbolsAndPictographsExtendedA: Self = Self(298);
585 pub const SymbolsAndPictographsExtA: Self = Self::SymbolsAndPictographsExtendedA;
586 pub const TamilSupplement: Self = Self(299);
587 pub const TamilSup: Self = Self::TamilSupplement;
588 pub const Wancho: Self = Self(300);
589 pub const Chorasmian: Self = Self(301);
590 pub const CJKUnifiedIdeographsExtensionG: Self = Self(302);
591 pub const CJKExtG: Self = Self::CJKUnifiedIdeographsExtensionG;
592 pub const DivesAkuru: Self = Self(303);
593 pub const KhitanSmallScript: Self = Self(304);
594 pub const LisuSupplement: Self = Self(305);
595 pub const LisuSup: Self = Self::LisuSupplement;
596 pub const SymbolsForLegacyComputing: Self = Self(306);
597 pub const TangutSupplement: Self = Self(307);
598 pub const TangutSup: Self = Self::TangutSupplement;
599 pub const Yezidi: Self = Self(308);
600 pub const ArabicExtendedB: Self = Self(309);
601 pub const ArabicExtB: Self = Self::ArabicExtendedB;
602 pub const CyproMinoan: Self = Self(310);
603 pub const EthiopicExtendedB: Self = Self(311);
604 pub const EthiopicExtB: Self = Self::EthiopicExtendedB;
605 pub const KanaExtendedB: Self = Self(312);
606 pub const KanaExtB: Self = Self::KanaExtendedB;
607 pub const LatinExtendedF: Self = Self(313);
608 pub const LatinExtF: Self = Self::LatinExtendedF;
609 pub const LatinExtendedG: Self = Self(314);
610 pub const LatinExtG: Self = Self::LatinExtendedG;
611 pub const OldUyghur: Self = Self(315);
612 pub const Tangsa: Self = Self(316);
613 pub const Toto: Self = Self(317);
614 pub const UnifiedCanadianAboriginalSyllabicsExtendedA: Self = Self(318);
615 pub const UCASExtA: Self = Self::UnifiedCanadianAboriginalSyllabicsExtendedA;
616 pub const Vithkuqi: Self = Self(319);
617 pub const ZnamennyMusicalNotation: Self = Self(320);
618 pub const ZnamennyMusic: Self = Self::ZnamennyMusicalNotation;
619 pub const ArabicExtendedC: Self = Self(321);
620 pub const ArabicExtC: Self = Self::ArabicExtendedC;
621 pub const CJKUnifiedIdeographsExtensionH: Self = Self(322);
622 pub const CJKExtH: Self = Self::CJKUnifiedIdeographsExtensionH;
623 pub const CyrillicExtendedD: Self = Self(323);
624 pub const CyrillicExtD: Self = Self::CyrillicExtendedD;
625 pub const DevanagariExtendedA: Self = Self(324);
626 pub const DevanagariExtA: Self = Self::DevanagariExtendedA;
627 pub const KaktovikNumerals: Self = Self(325);
628 pub const Kawi: Self = Self(326);
629 pub const NagMundari: Self = Self(327);
630 pub const CJKUnifiedIdeographsExtensionI: Self = Self(328);
631 pub const CJKExtI: Self = Self::CJKUnifiedIdeographsExtensionI;
632 pub const EgyptianHieroglyphsExtendedA: Self = Self(329);
633 pub const EgyptianHieroglyphsExtA: Self = Self::EgyptianHieroglyphsExtendedA;
634 pub const Garay: Self = Self(330);
635 pub const GurungKhema: Self = Self(331);
636 pub const KiratRai: Self = Self(332);
637 pub const MyanmarExtendedC: Self = Self(333);
638 pub const MyanmarExtC: Self = Self::MyanmarExtendedC;
639 pub const OlOnal: Self = Self(334);
640 pub const Sunuwar: Self = Self(335);
641 pub const SymbolsForLegacyComputingSupplement: Self = Self(336);
642 pub const SymbolsForLegacyComputingSup: Self = Self::SymbolsForLegacyComputingSupplement;
643 pub const Todhri: Self = Self(337);
644 pub const TuluTigalari: Self = Self(338);
645 pub const BeriaErfe: Self = Self(339);
646 pub const CJKUnifiedIdeographsExtensionJ: Self = Self(340);
647 pub const CJKExtJ: Self = Self::CJKUnifiedIdeographsExtensionJ;
648 pub const MiscellaneousSymbolsSupplement: Self = Self(341);
649 pub const MiscSymbolsSup: Self = Self::MiscellaneousSymbolsSupplement;
650 pub const SharadaSupplement: Self = Self(342);
651 pub const SharadaSup: Self = Self::SharadaSupplement;
652 pub const Sidetic: Self = Self(343);
653 pub const TaiYo: Self = Self(344);
654 pub const TangutComponentsSupplement: Self = Self(345);
655 pub const TangutComponentsSup: Self = Self::TangutComponentsSupplement;
656 pub const TolongSiki: Self = Self(346);
657 pub const ArchaicCuneiformNumerals: Self = Self(347);
658 pub const BengaliSupplement: Self = Self(348);
659 pub const BengaliSup: Self = Self::BengaliSupplement;
660 pub const Jurchen: Self = Self(349);
661 pub const JurchenRadicals: Self = Self(350);
662 pub const MiscellaneousSymbolsAndArrowsExtended: Self = Self(351);
663 pub const MiscArrowsExt: Self = Self::MiscellaneousSymbolsAndArrowsExtended;
664 pub const MusicalSymbolsSupplement: Self = Self(352);
665 pub const MusicSup: Self = Self::MusicalSymbolsSupplement;
666 pub const Seal: Self = Self(353);
667}
668
669#[cfg(feature = "datagen")]
670impl databake::Bake for Block {
671 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
672 env.insert("icu_properties");
673 match *self {
674 Self::NoBlock => databake::quote!(icu_properties::props::Block::NoBlock),
675 Self::BasicLatin => databake::quote!(icu_properties::props::Block::BasicLatin),
676 Self::Latin1Supplement => databake::quote!(icu_properties::props::Block::Latin1Supplement),
677 Self::LatinExtendedA => databake::quote!(icu_properties::props::Block::LatinExtendedA),
678 Self::LatinExtendedB => databake::quote!(icu_properties::props::Block::LatinExtendedB),
679 Self::IPAExtensions => databake::quote!(icu_properties::props::Block::IPAExtensions),
680 Self::SpacingModifierLetters => databake::quote!(icu_properties::props::Block::SpacingModifierLetters),
681 Self::CombiningDiacriticalMarks => databake::quote!(icu_properties::props::Block::CombiningDiacriticalMarks),
682 Self::GreekAndCoptic => databake::quote!(icu_properties::props::Block::GreekAndCoptic),
683 Self::Cyrillic => databake::quote!(icu_properties::props::Block::Cyrillic),
684 Self::Armenian => databake::quote!(icu_properties::props::Block::Armenian),
685 Self::Hebrew => databake::quote!(icu_properties::props::Block::Hebrew),
686 Self::Arabic => databake::quote!(icu_properties::props::Block::Arabic),
687 Self::Syriac => databake::quote!(icu_properties::props::Block::Syriac),
688 Self::Thaana => databake::quote!(icu_properties::props::Block::Thaana),
689 Self::Devanagari => databake::quote!(icu_properties::props::Block::Devanagari),
690 Self::Bengali => databake::quote!(icu_properties::props::Block::Bengali),
691 Self::Gurmukhi => databake::quote!(icu_properties::props::Block::Gurmukhi),
692 Self::Gujarati => databake::quote!(icu_properties::props::Block::Gujarati),
693 Self::Oriya => databake::quote!(icu_properties::props::Block::Oriya),
694 Self::Tamil => databake::quote!(icu_properties::props::Block::Tamil),
695 Self::Telugu => databake::quote!(icu_properties::props::Block::Telugu),
696 Self::Kannada => databake::quote!(icu_properties::props::Block::Kannada),
697 Self::Malayalam => databake::quote!(icu_properties::props::Block::Malayalam),
698 Self::Sinhala => databake::quote!(icu_properties::props::Block::Sinhala),
699 Self::Thai => databake::quote!(icu_properties::props::Block::Thai),
700 Self::Lao => databake::quote!(icu_properties::props::Block::Lao),
701 Self::Tibetan => databake::quote!(icu_properties::props::Block::Tibetan),
702 Self::Myanmar => databake::quote!(icu_properties::props::Block::Myanmar),
703 Self::Georgian => databake::quote!(icu_properties::props::Block::Georgian),
704 Self::HangulJamo => databake::quote!(icu_properties::props::Block::HangulJamo),
705 Self::Ethiopic => databake::quote!(icu_properties::props::Block::Ethiopic),
706 Self::Cherokee => databake::quote!(icu_properties::props::Block::Cherokee),
707 Self::UnifiedCanadianAboriginalSyllabics => databake::quote!(icu_properties::props::Block::UnifiedCanadianAboriginalSyllabics),
708 Self::Ogham => databake::quote!(icu_properties::props::Block::Ogham),
709 Self::Runic => databake::quote!(icu_properties::props::Block::Runic),
710 Self::Khmer => databake::quote!(icu_properties::props::Block::Khmer),
711 Self::Mongolian => databake::quote!(icu_properties::props::Block::Mongolian),
712 Self::LatinExtendedAdditional => databake::quote!(icu_properties::props::Block::LatinExtendedAdditional),
713 Self::GreekExtended => databake::quote!(icu_properties::props::Block::GreekExtended),
714 Self::GeneralPunctuation => databake::quote!(icu_properties::props::Block::GeneralPunctuation),
715 Self::SuperscriptsAndSubscripts => databake::quote!(icu_properties::props::Block::SuperscriptsAndSubscripts),
716 Self::CurrencySymbols => databake::quote!(icu_properties::props::Block::CurrencySymbols),
717 Self::CombiningDiacriticalMarksForSymbols => databake::quote!(icu_properties::props::Block::CombiningDiacriticalMarksForSymbols),
718 Self::LetterlikeSymbols => databake::quote!(icu_properties::props::Block::LetterlikeSymbols),
719 Self::NumberForms => databake::quote!(icu_properties::props::Block::NumberForms),
720 Self::Arrows => databake::quote!(icu_properties::props::Block::Arrows),
721 Self::MathematicalOperators => databake::quote!(icu_properties::props::Block::MathematicalOperators),
722 Self::MiscellaneousTechnical => databake::quote!(icu_properties::props::Block::MiscellaneousTechnical),
723 Self::ControlPictures => databake::quote!(icu_properties::props::Block::ControlPictures),
724 Self::OpticalCharacterRecognition => databake::quote!(icu_properties::props::Block::OpticalCharacterRecognition),
725 Self::EnclosedAlphanumerics => databake::quote!(icu_properties::props::Block::EnclosedAlphanumerics),
726 Self::BoxDrawing => databake::quote!(icu_properties::props::Block::BoxDrawing),
727 Self::BlockElements => databake::quote!(icu_properties::props::Block::BlockElements),
728 Self::GeometricShapes => databake::quote!(icu_properties::props::Block::GeometricShapes),
729 Self::MiscellaneousSymbols => databake::quote!(icu_properties::props::Block::MiscellaneousSymbols),
730 Self::Dingbats => databake::quote!(icu_properties::props::Block::Dingbats),
731 Self::BraillePatterns => databake::quote!(icu_properties::props::Block::BraillePatterns),
732 Self::CJKRadicalsSupplement => databake::quote!(icu_properties::props::Block::CJKRadicalsSupplement),
733 Self::KangxiRadicals => databake::quote!(icu_properties::props::Block::KangxiRadicals),
734 Self::IdeographicDescriptionCharacters => databake::quote!(icu_properties::props::Block::IdeographicDescriptionCharacters),
735 Self::CJKSymbolsAndPunctuation => databake::quote!(icu_properties::props::Block::CJKSymbolsAndPunctuation),
736 Self::Hiragana => databake::quote!(icu_properties::props::Block::Hiragana),
737 Self::Katakana => databake::quote!(icu_properties::props::Block::Katakana),
738 Self::Bopomofo => databake::quote!(icu_properties::props::Block::Bopomofo),
739 Self::HangulCompatibilityJamo => databake::quote!(icu_properties::props::Block::HangulCompatibilityJamo),
740 Self::Kanbun => databake::quote!(icu_properties::props::Block::Kanbun),
741 Self::BopomofoExtended => databake::quote!(icu_properties::props::Block::BopomofoExtended),
742 Self::EnclosedCJKLettersAndMonths => databake::quote!(icu_properties::props::Block::EnclosedCJKLettersAndMonths),
743 Self::CJKCompatibility => databake::quote!(icu_properties::props::Block::CJKCompatibility),
744 Self::CJKUnifiedIdeographsExtensionA => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionA),
745 Self::CJKUnifiedIdeographs => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographs),
746 Self::YiSyllables => databake::quote!(icu_properties::props::Block::YiSyllables),
747 Self::YiRadicals => databake::quote!(icu_properties::props::Block::YiRadicals),
748 Self::HangulSyllables => databake::quote!(icu_properties::props::Block::HangulSyllables),
749 Self::HighSurrogates => databake::quote!(icu_properties::props::Block::HighSurrogates),
750 Self::HighPrivateUseSurrogates => databake::quote!(icu_properties::props::Block::HighPrivateUseSurrogates),
751 Self::LowSurrogates => databake::quote!(icu_properties::props::Block::LowSurrogates),
752 Self::PrivateUseArea => databake::quote!(icu_properties::props::Block::PrivateUseArea),
753 Self::CJKCompatibilityIdeographs => databake::quote!(icu_properties::props::Block::CJKCompatibilityIdeographs),
754 Self::AlphabeticPresentationForms => databake::quote!(icu_properties::props::Block::AlphabeticPresentationForms),
755 Self::ArabicPresentationFormsA => databake::quote!(icu_properties::props::Block::ArabicPresentationFormsA),
756 Self::CombiningHalfMarks => databake::quote!(icu_properties::props::Block::CombiningHalfMarks),
757 Self::CJKCompatibilityForms => databake::quote!(icu_properties::props::Block::CJKCompatibilityForms),
758 Self::SmallFormVariants => databake::quote!(icu_properties::props::Block::SmallFormVariants),
759 Self::ArabicPresentationFormsB => databake::quote!(icu_properties::props::Block::ArabicPresentationFormsB),
760 Self::Specials => databake::quote!(icu_properties::props::Block::Specials),
761 Self::HalfwidthAndFullwidthForms => databake::quote!(icu_properties::props::Block::HalfwidthAndFullwidthForms),
762 Self::OldItalic => databake::quote!(icu_properties::props::Block::OldItalic),
763 Self::Gothic => databake::quote!(icu_properties::props::Block::Gothic),
764 Self::Deseret => databake::quote!(icu_properties::props::Block::Deseret),
765 Self::ByzantineMusicalSymbols => databake::quote!(icu_properties::props::Block::ByzantineMusicalSymbols),
766 Self::MusicalSymbols => databake::quote!(icu_properties::props::Block::MusicalSymbols),
767 Self::MathematicalAlphanumericSymbols => databake::quote!(icu_properties::props::Block::MathematicalAlphanumericSymbols),
768 Self::CJKUnifiedIdeographsExtensionB => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionB),
769 Self::CJKCompatibilityIdeographsSupplement => databake::quote!(icu_properties::props::Block::CJKCompatibilityIdeographsSupplement),
770 Self::Tags => databake::quote!(icu_properties::props::Block::Tags),
771 Self::CyrillicSupplement => databake::quote!(icu_properties::props::Block::CyrillicSupplement),
772 Self::Tagalog => databake::quote!(icu_properties::props::Block::Tagalog),
773 Self::Hanunoo => databake::quote!(icu_properties::props::Block::Hanunoo),
774 Self::Buhid => databake::quote!(icu_properties::props::Block::Buhid),
775 Self::Tagbanwa => databake::quote!(icu_properties::props::Block::Tagbanwa),
776 Self::MiscellaneousMathematicalSymbolsA => databake::quote!(icu_properties::props::Block::MiscellaneousMathematicalSymbolsA),
777 Self::SupplementalArrowsA => databake::quote!(icu_properties::props::Block::SupplementalArrowsA),
778 Self::SupplementalArrowsB => databake::quote!(icu_properties::props::Block::SupplementalArrowsB),
779 Self::MiscellaneousMathematicalSymbolsB => databake::quote!(icu_properties::props::Block::MiscellaneousMathematicalSymbolsB),
780 Self::SupplementalMathematicalOperators => databake::quote!(icu_properties::props::Block::SupplementalMathematicalOperators),
781 Self::KatakanaPhoneticExtensions => databake::quote!(icu_properties::props::Block::KatakanaPhoneticExtensions),
782 Self::VariationSelectors => databake::quote!(icu_properties::props::Block::VariationSelectors),
783 Self::SupplementaryPrivateUseAreaA => databake::quote!(icu_properties::props::Block::SupplementaryPrivateUseAreaA),
784 Self::SupplementaryPrivateUseAreaB => databake::quote!(icu_properties::props::Block::SupplementaryPrivateUseAreaB),
785 Self::Limbu => databake::quote!(icu_properties::props::Block::Limbu),
786 Self::TaiLe => databake::quote!(icu_properties::props::Block::TaiLe),
787 Self::KhmerSymbols => databake::quote!(icu_properties::props::Block::KhmerSymbols),
788 Self::PhoneticExtensions => databake::quote!(icu_properties::props::Block::PhoneticExtensions),
789 Self::MiscellaneousSymbolsAndArrows => databake::quote!(icu_properties::props::Block::MiscellaneousSymbolsAndArrows),
790 Self::YijingHexagramSymbols => databake::quote!(icu_properties::props::Block::YijingHexagramSymbols),
791 Self::LinearBSyllabary => databake::quote!(icu_properties::props::Block::LinearBSyllabary),
792 Self::LinearBIdeograms => databake::quote!(icu_properties::props::Block::LinearBIdeograms),
793 Self::AegeanNumbers => databake::quote!(icu_properties::props::Block::AegeanNumbers),
794 Self::Ugaritic => databake::quote!(icu_properties::props::Block::Ugaritic),
795 Self::Shavian => databake::quote!(icu_properties::props::Block::Shavian),
796 Self::Osmanya => databake::quote!(icu_properties::props::Block::Osmanya),
797 Self::CypriotSyllabary => databake::quote!(icu_properties::props::Block::CypriotSyllabary),
798 Self::TaiXuanJingSymbols => databake::quote!(icu_properties::props::Block::TaiXuanJingSymbols),
799 Self::VariationSelectorsSupplement => databake::quote!(icu_properties::props::Block::VariationSelectorsSupplement),
800 Self::AncientGreekMusicalNotation => databake::quote!(icu_properties::props::Block::AncientGreekMusicalNotation),
801 Self::AncientGreekNumbers => databake::quote!(icu_properties::props::Block::AncientGreekNumbers),
802 Self::ArabicSupplement => databake::quote!(icu_properties::props::Block::ArabicSupplement),
803 Self::Buginese => databake::quote!(icu_properties::props::Block::Buginese),
804 Self::CJKStrokes => databake::quote!(icu_properties::props::Block::CJKStrokes),
805 Self::CombiningDiacriticalMarksSupplement => databake::quote!(icu_properties::props::Block::CombiningDiacriticalMarksSupplement),
806 Self::Coptic => databake::quote!(icu_properties::props::Block::Coptic),
807 Self::EthiopicExtended => databake::quote!(icu_properties::props::Block::EthiopicExtended),
808 Self::EthiopicSupplement => databake::quote!(icu_properties::props::Block::EthiopicSupplement),
809 Self::GeorgianSupplement => databake::quote!(icu_properties::props::Block::GeorgianSupplement),
810 Self::Glagolitic => databake::quote!(icu_properties::props::Block::Glagolitic),
811 Self::Kharoshthi => databake::quote!(icu_properties::props::Block::Kharoshthi),
812 Self::ModifierToneLetters => databake::quote!(icu_properties::props::Block::ModifierToneLetters),
813 Self::NewTaiLue => databake::quote!(icu_properties::props::Block::NewTaiLue),
814 Self::OldPersian => databake::quote!(icu_properties::props::Block::OldPersian),
815 Self::PhoneticExtensionsSupplement => databake::quote!(icu_properties::props::Block::PhoneticExtensionsSupplement),
816 Self::SupplementalPunctuation => databake::quote!(icu_properties::props::Block::SupplementalPunctuation),
817 Self::SylotiNagri => databake::quote!(icu_properties::props::Block::SylotiNagri),
818 Self::Tifinagh => databake::quote!(icu_properties::props::Block::Tifinagh),
819 Self::VerticalForms => databake::quote!(icu_properties::props::Block::VerticalForms),
820 Self::NKo => databake::quote!(icu_properties::props::Block::NKo),
821 Self::Balinese => databake::quote!(icu_properties::props::Block::Balinese),
822 Self::LatinExtendedC => databake::quote!(icu_properties::props::Block::LatinExtendedC),
823 Self::LatinExtendedD => databake::quote!(icu_properties::props::Block::LatinExtendedD),
824 Self::PhagsPa => databake::quote!(icu_properties::props::Block::PhagsPa),
825 Self::Phoenician => databake::quote!(icu_properties::props::Block::Phoenician),
826 Self::Cuneiform => databake::quote!(icu_properties::props::Block::Cuneiform),
827 Self::CuneiformNumbersAndPunctuation => databake::quote!(icu_properties::props::Block::CuneiformNumbersAndPunctuation),
828 Self::CountingRodNumerals => databake::quote!(icu_properties::props::Block::CountingRodNumerals),
829 Self::Sundanese => databake::quote!(icu_properties::props::Block::Sundanese),
830 Self::Lepcha => databake::quote!(icu_properties::props::Block::Lepcha),
831 Self::OlChiki => databake::quote!(icu_properties::props::Block::OlChiki),
832 Self::CyrillicExtendedA => databake::quote!(icu_properties::props::Block::CyrillicExtendedA),
833 Self::Vai => databake::quote!(icu_properties::props::Block::Vai),
834 Self::CyrillicExtendedB => databake::quote!(icu_properties::props::Block::CyrillicExtendedB),
835 Self::Saurashtra => databake::quote!(icu_properties::props::Block::Saurashtra),
836 Self::KayahLi => databake::quote!(icu_properties::props::Block::KayahLi),
837 Self::Rejang => databake::quote!(icu_properties::props::Block::Rejang),
838 Self::Cham => databake::quote!(icu_properties::props::Block::Cham),
839 Self::AncientSymbols => databake::quote!(icu_properties::props::Block::AncientSymbols),
840 Self::PhaistosDisc => databake::quote!(icu_properties::props::Block::PhaistosDisc),
841 Self::Lycian => databake::quote!(icu_properties::props::Block::Lycian),
842 Self::Carian => databake::quote!(icu_properties::props::Block::Carian),
843 Self::Lydian => databake::quote!(icu_properties::props::Block::Lydian),
844 Self::MahjongTiles => databake::quote!(icu_properties::props::Block::MahjongTiles),
845 Self::DominoTiles => databake::quote!(icu_properties::props::Block::DominoTiles),
846 Self::Samaritan => databake::quote!(icu_properties::props::Block::Samaritan),
847 Self::UnifiedCanadianAboriginalSyllabicsExtended => databake::quote!(icu_properties::props::Block::UnifiedCanadianAboriginalSyllabicsExtended),
848 Self::TaiTham => databake::quote!(icu_properties::props::Block::TaiTham),
849 Self::VedicExtensions => databake::quote!(icu_properties::props::Block::VedicExtensions),
850 Self::Lisu => databake::quote!(icu_properties::props::Block::Lisu),
851 Self::Bamum => databake::quote!(icu_properties::props::Block::Bamum),
852 Self::CommonIndicNumberForms => databake::quote!(icu_properties::props::Block::CommonIndicNumberForms),
853 Self::DevanagariExtended => databake::quote!(icu_properties::props::Block::DevanagariExtended),
854 Self::HangulJamoExtendedA => databake::quote!(icu_properties::props::Block::HangulJamoExtendedA),
855 Self::Javanese => databake::quote!(icu_properties::props::Block::Javanese),
856 Self::MyanmarExtendedA => databake::quote!(icu_properties::props::Block::MyanmarExtendedA),
857 Self::TaiViet => databake::quote!(icu_properties::props::Block::TaiViet),
858 Self::MeeteiMayek => databake::quote!(icu_properties::props::Block::MeeteiMayek),
859 Self::HangulJamoExtendedB => databake::quote!(icu_properties::props::Block::HangulJamoExtendedB),
860 Self::ImperialAramaic => databake::quote!(icu_properties::props::Block::ImperialAramaic),
861 Self::OldSouthArabian => databake::quote!(icu_properties::props::Block::OldSouthArabian),
862 Self::Avestan => databake::quote!(icu_properties::props::Block::Avestan),
863 Self::InscriptionalParthian => databake::quote!(icu_properties::props::Block::InscriptionalParthian),
864 Self::InscriptionalPahlavi => databake::quote!(icu_properties::props::Block::InscriptionalPahlavi),
865 Self::OldTurkic => databake::quote!(icu_properties::props::Block::OldTurkic),
866 Self::RumiNumeralSymbols => databake::quote!(icu_properties::props::Block::RumiNumeralSymbols),
867 Self::Kaithi => databake::quote!(icu_properties::props::Block::Kaithi),
868 Self::EgyptianHieroglyphs => databake::quote!(icu_properties::props::Block::EgyptianHieroglyphs),
869 Self::EnclosedAlphanumericSupplement => databake::quote!(icu_properties::props::Block::EnclosedAlphanumericSupplement),
870 Self::EnclosedIdeographicSupplement => databake::quote!(icu_properties::props::Block::EnclosedIdeographicSupplement),
871 Self::CJKUnifiedIdeographsExtensionC => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionC),
872 Self::Mandaic => databake::quote!(icu_properties::props::Block::Mandaic),
873 Self::Batak => databake::quote!(icu_properties::props::Block::Batak),
874 Self::EthiopicExtendedA => databake::quote!(icu_properties::props::Block::EthiopicExtendedA),
875 Self::Brahmi => databake::quote!(icu_properties::props::Block::Brahmi),
876 Self::BamumSupplement => databake::quote!(icu_properties::props::Block::BamumSupplement),
877 Self::KanaSupplement => databake::quote!(icu_properties::props::Block::KanaSupplement),
878 Self::PlayingCards => databake::quote!(icu_properties::props::Block::PlayingCards),
879 Self::MiscellaneousSymbolsAndPictographs => databake::quote!(icu_properties::props::Block::MiscellaneousSymbolsAndPictographs),
880 Self::Emoticons => databake::quote!(icu_properties::props::Block::Emoticons),
881 Self::TransportAndMapSymbols => databake::quote!(icu_properties::props::Block::TransportAndMapSymbols),
882 Self::AlchemicalSymbols => databake::quote!(icu_properties::props::Block::AlchemicalSymbols),
883 Self::CJKUnifiedIdeographsExtensionD => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionD),
884 Self::ArabicExtendedA => databake::quote!(icu_properties::props::Block::ArabicExtendedA),
885 Self::ArabicMathematicalAlphabeticSymbols => databake::quote!(icu_properties::props::Block::ArabicMathematicalAlphabeticSymbols),
886 Self::Chakma => databake::quote!(icu_properties::props::Block::Chakma),
887 Self::MeeteiMayekExtensions => databake::quote!(icu_properties::props::Block::MeeteiMayekExtensions),
888 Self::MeroiticCursive => databake::quote!(icu_properties::props::Block::MeroiticCursive),
889 Self::MeroiticHieroglyphs => databake::quote!(icu_properties::props::Block::MeroiticHieroglyphs),
890 Self::Miao => databake::quote!(icu_properties::props::Block::Miao),
891 Self::Sharada => databake::quote!(icu_properties::props::Block::Sharada),
892 Self::SoraSompeng => databake::quote!(icu_properties::props::Block::SoraSompeng),
893 Self::SundaneseSupplement => databake::quote!(icu_properties::props::Block::SundaneseSupplement),
894 Self::Takri => databake::quote!(icu_properties::props::Block::Takri),
895 Self::BassaVah => databake::quote!(icu_properties::props::Block::BassaVah),
896 Self::CaucasianAlbanian => databake::quote!(icu_properties::props::Block::CaucasianAlbanian),
897 Self::CopticEpactNumbers => databake::quote!(icu_properties::props::Block::CopticEpactNumbers),
898 Self::CombiningDiacriticalMarksExtended => databake::quote!(icu_properties::props::Block::CombiningDiacriticalMarksExtended),
899 Self::Duployan => databake::quote!(icu_properties::props::Block::Duployan),
900 Self::Elbasan => databake::quote!(icu_properties::props::Block::Elbasan),
901 Self::GeometricShapesExtended => databake::quote!(icu_properties::props::Block::GeometricShapesExtended),
902 Self::Grantha => databake::quote!(icu_properties::props::Block::Grantha),
903 Self::Khojki => databake::quote!(icu_properties::props::Block::Khojki),
904 Self::Khudawadi => databake::quote!(icu_properties::props::Block::Khudawadi),
905 Self::LatinExtendedE => databake::quote!(icu_properties::props::Block::LatinExtendedE),
906 Self::LinearA => databake::quote!(icu_properties::props::Block::LinearA),
907 Self::Mahajani => databake::quote!(icu_properties::props::Block::Mahajani),
908 Self::Manichaean => databake::quote!(icu_properties::props::Block::Manichaean),
909 Self::MendeKikakui => databake::quote!(icu_properties::props::Block::MendeKikakui),
910 Self::Modi => databake::quote!(icu_properties::props::Block::Modi),
911 Self::Mro => databake::quote!(icu_properties::props::Block::Mro),
912 Self::MyanmarExtendedB => databake::quote!(icu_properties::props::Block::MyanmarExtendedB),
913 Self::Nabataean => databake::quote!(icu_properties::props::Block::Nabataean),
914 Self::OldNorthArabian => databake::quote!(icu_properties::props::Block::OldNorthArabian),
915 Self::OldPermic => databake::quote!(icu_properties::props::Block::OldPermic),
916 Self::OrnamentalDingbats => databake::quote!(icu_properties::props::Block::OrnamentalDingbats),
917 Self::PahawhHmong => databake::quote!(icu_properties::props::Block::PahawhHmong),
918 Self::Palmyrene => databake::quote!(icu_properties::props::Block::Palmyrene),
919 Self::PauCinHau => databake::quote!(icu_properties::props::Block::PauCinHau),
920 Self::PsalterPahlavi => databake::quote!(icu_properties::props::Block::PsalterPahlavi),
921 Self::ShorthandFormatControls => databake::quote!(icu_properties::props::Block::ShorthandFormatControls),
922 Self::Siddham => databake::quote!(icu_properties::props::Block::Siddham),
923 Self::SinhalaArchaicNumbers => databake::quote!(icu_properties::props::Block::SinhalaArchaicNumbers),
924 Self::SupplementalArrowsC => databake::quote!(icu_properties::props::Block::SupplementalArrowsC),
925 Self::Tirhuta => databake::quote!(icu_properties::props::Block::Tirhuta),
926 Self::WarangCiti => databake::quote!(icu_properties::props::Block::WarangCiti),
927 Self::Ahom => databake::quote!(icu_properties::props::Block::Ahom),
928 Self::AnatolianHieroglyphs => databake::quote!(icu_properties::props::Block::AnatolianHieroglyphs),
929 Self::CherokeeSupplement => databake::quote!(icu_properties::props::Block::CherokeeSupplement),
930 Self::CJKUnifiedIdeographsExtensionE => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionE),
931 Self::EarlyDynasticCuneiform => databake::quote!(icu_properties::props::Block::EarlyDynasticCuneiform),
932 Self::Hatran => databake::quote!(icu_properties::props::Block::Hatran),
933 Self::Multani => databake::quote!(icu_properties::props::Block::Multani),
934 Self::OldHungarian => databake::quote!(icu_properties::props::Block::OldHungarian),
935 Self::SupplementalSymbolsAndPictographs => databake::quote!(icu_properties::props::Block::SupplementalSymbolsAndPictographs),
936 Self::SuttonSignWriting => databake::quote!(icu_properties::props::Block::SuttonSignWriting),
937 Self::Adlam => databake::quote!(icu_properties::props::Block::Adlam),
938 Self::Bhaiksuki => databake::quote!(icu_properties::props::Block::Bhaiksuki),
939 Self::CyrillicExtendedC => databake::quote!(icu_properties::props::Block::CyrillicExtendedC),
940 Self::GlagoliticSupplement => databake::quote!(icu_properties::props::Block::GlagoliticSupplement),
941 Self::IdeographicSymbolsAndPunctuation => databake::quote!(icu_properties::props::Block::IdeographicSymbolsAndPunctuation),
942 Self::Marchen => databake::quote!(icu_properties::props::Block::Marchen),
943 Self::MongolianSupplement => databake::quote!(icu_properties::props::Block::MongolianSupplement),
944 Self::Newa => databake::quote!(icu_properties::props::Block::Newa),
945 Self::Osage => databake::quote!(icu_properties::props::Block::Osage),
946 Self::Tangut => databake::quote!(icu_properties::props::Block::Tangut),
947 Self::TangutComponents => databake::quote!(icu_properties::props::Block::TangutComponents),
948 Self::CJKUnifiedIdeographsExtensionF => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionF),
949 Self::KanaExtendedA => databake::quote!(icu_properties::props::Block::KanaExtendedA),
950 Self::MasaramGondi => databake::quote!(icu_properties::props::Block::MasaramGondi),
951 Self::Nushu => databake::quote!(icu_properties::props::Block::Nushu),
952 Self::Soyombo => databake::quote!(icu_properties::props::Block::Soyombo),
953 Self::SyriacSupplement => databake::quote!(icu_properties::props::Block::SyriacSupplement),
954 Self::ZanabazarSquare => databake::quote!(icu_properties::props::Block::ZanabazarSquare),
955 Self::ChessSymbols => databake::quote!(icu_properties::props::Block::ChessSymbols),
956 Self::Dogra => databake::quote!(icu_properties::props::Block::Dogra),
957 Self::GeorgianExtended => databake::quote!(icu_properties::props::Block::GeorgianExtended),
958 Self::GunjalaGondi => databake::quote!(icu_properties::props::Block::GunjalaGondi),
959 Self::HanifiRohingya => databake::quote!(icu_properties::props::Block::HanifiRohingya),
960 Self::IndicSiyaqNumbers => databake::quote!(icu_properties::props::Block::IndicSiyaqNumbers),
961 Self::Makasar => databake::quote!(icu_properties::props::Block::Makasar),
962 Self::MayanNumerals => databake::quote!(icu_properties::props::Block::MayanNumerals),
963 Self::Medefaidrin => databake::quote!(icu_properties::props::Block::Medefaidrin),
964 Self::OldSogdian => databake::quote!(icu_properties::props::Block::OldSogdian),
965 Self::Sogdian => databake::quote!(icu_properties::props::Block::Sogdian),
966 Self::EgyptianHieroglyphFormatControls => databake::quote!(icu_properties::props::Block::EgyptianHieroglyphFormatControls),
967 Self::Elymaic => databake::quote!(icu_properties::props::Block::Elymaic),
968 Self::Nandinagari => databake::quote!(icu_properties::props::Block::Nandinagari),
969 Self::NyiakengPuachueHmong => databake::quote!(icu_properties::props::Block::NyiakengPuachueHmong),
970 Self::OttomanSiyaqNumbers => databake::quote!(icu_properties::props::Block::OttomanSiyaqNumbers),
971 Self::SmallKanaExtension => databake::quote!(icu_properties::props::Block::SmallKanaExtension),
972 Self::SymbolsAndPictographsExtendedA => databake::quote!(icu_properties::props::Block::SymbolsAndPictographsExtendedA),
973 Self::TamilSupplement => databake::quote!(icu_properties::props::Block::TamilSupplement),
974 Self::Wancho => databake::quote!(icu_properties::props::Block::Wancho),
975 Self::Chorasmian => databake::quote!(icu_properties::props::Block::Chorasmian),
976 Self::CJKUnifiedIdeographsExtensionG => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionG),
977 Self::DivesAkuru => databake::quote!(icu_properties::props::Block::DivesAkuru),
978 Self::KhitanSmallScript => databake::quote!(icu_properties::props::Block::KhitanSmallScript),
979 Self::LisuSupplement => databake::quote!(icu_properties::props::Block::LisuSupplement),
980 Self::SymbolsForLegacyComputing => databake::quote!(icu_properties::props::Block::SymbolsForLegacyComputing),
981 Self::TangutSupplement => databake::quote!(icu_properties::props::Block::TangutSupplement),
982 Self::Yezidi => databake::quote!(icu_properties::props::Block::Yezidi),
983 Self::ArabicExtendedB => databake::quote!(icu_properties::props::Block::ArabicExtendedB),
984 Self::CyproMinoan => databake::quote!(icu_properties::props::Block::CyproMinoan),
985 Self::EthiopicExtendedB => databake::quote!(icu_properties::props::Block::EthiopicExtendedB),
986 Self::KanaExtendedB => databake::quote!(icu_properties::props::Block::KanaExtendedB),
987 Self::LatinExtendedF => databake::quote!(icu_properties::props::Block::LatinExtendedF),
988 Self::LatinExtendedG => databake::quote!(icu_properties::props::Block::LatinExtendedG),
989 Self::OldUyghur => databake::quote!(icu_properties::props::Block::OldUyghur),
990 Self::Tangsa => databake::quote!(icu_properties::props::Block::Tangsa),
991 Self::Toto => databake::quote!(icu_properties::props::Block::Toto),
992 Self::UnifiedCanadianAboriginalSyllabicsExtendedA => databake::quote!(icu_properties::props::Block::UnifiedCanadianAboriginalSyllabicsExtendedA),
993 Self::Vithkuqi => databake::quote!(icu_properties::props::Block::Vithkuqi),
994 Self::ZnamennyMusicalNotation => databake::quote!(icu_properties::props::Block::ZnamennyMusicalNotation),
995 Self::ArabicExtendedC => databake::quote!(icu_properties::props::Block::ArabicExtendedC),
996 Self::CJKUnifiedIdeographsExtensionH => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionH),
997 Self::CyrillicExtendedD => databake::quote!(icu_properties::props::Block::CyrillicExtendedD),
998 Self::DevanagariExtendedA => databake::quote!(icu_properties::props::Block::DevanagariExtendedA),
999 Self::KaktovikNumerals => databake::quote!(icu_properties::props::Block::KaktovikNumerals),
1000 Self::Kawi => databake::quote!(icu_properties::props::Block::Kawi),
1001 Self::NagMundari => databake::quote!(icu_properties::props::Block::NagMundari),
1002 Self::CJKUnifiedIdeographsExtensionI => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionI),
1003 Self::EgyptianHieroglyphsExtendedA => databake::quote!(icu_properties::props::Block::EgyptianHieroglyphsExtendedA),
1004 Self::Garay => databake::quote!(icu_properties::props::Block::Garay),
1005 Self::GurungKhema => databake::quote!(icu_properties::props::Block::GurungKhema),
1006 Self::KiratRai => databake::quote!(icu_properties::props::Block::KiratRai),
1007 Self::MyanmarExtendedC => databake::quote!(icu_properties::props::Block::MyanmarExtendedC),
1008 Self::OlOnal => databake::quote!(icu_properties::props::Block::OlOnal),
1009 Self::Sunuwar => databake::quote!(icu_properties::props::Block::Sunuwar),
1010 Self::SymbolsForLegacyComputingSupplement => databake::quote!(icu_properties::props::Block::SymbolsForLegacyComputingSupplement),
1011 Self::Todhri => databake::quote!(icu_properties::props::Block::Todhri),
1012 Self::TuluTigalari => databake::quote!(icu_properties::props::Block::TuluTigalari),
1013 Self::BeriaErfe => databake::quote!(icu_properties::props::Block::BeriaErfe),
1014 Self::CJKUnifiedIdeographsExtensionJ => databake::quote!(icu_properties::props::Block::CJKUnifiedIdeographsExtensionJ),
1015 Self::MiscellaneousSymbolsSupplement => databake::quote!(icu_properties::props::Block::MiscellaneousSymbolsSupplement),
1016 Self::SharadaSupplement => databake::quote!(icu_properties::props::Block::SharadaSupplement),
1017 Self::Sidetic => databake::quote!(icu_properties::props::Block::Sidetic),
1018 Self::TaiYo => databake::quote!(icu_properties::props::Block::TaiYo),
1019 Self::TangutComponentsSupplement => databake::quote!(icu_properties::props::Block::TangutComponentsSupplement),
1020 Self::TolongSiki => databake::quote!(icu_properties::props::Block::TolongSiki),
1021 Self::ArchaicCuneiformNumerals => databake::quote!(icu_properties::props::Block::ArchaicCuneiformNumerals),
1022 Self::BengaliSupplement => databake::quote!(icu_properties::props::Block::BengaliSupplement),
1023 Self::Jurchen => databake::quote!(icu_properties::props::Block::Jurchen),
1024 Self::JurchenRadicals => databake::quote!(icu_properties::props::Block::JurchenRadicals),
1025 Self::MiscellaneousSymbolsAndArrowsExtended => databake::quote!(icu_properties::props::Block::MiscellaneousSymbolsAndArrowsExtended),
1026 Self::MusicalSymbolsSupplement => databake::quote!(icu_properties::props::Block::MusicalSymbolsSupplement),
1027 Self::Seal => databake::quote!(icu_properties::props::Block::Seal),
1028 Self(v) => databake::quote!(icu_properties::props::Block(#v)),
1029 }
1030 }
1031}
1032
1033
1034impl From<Block> for u16 {
1035 fn from(other: Block) -> Self {
1036 other.0
1037 }
1038}
1039
1040impl Block {
1041 #[deprecated]
1043 pub const ALL_VALUES: &'static [Self] = &[
1044 Self::NoBlock,
1045 Self::BasicLatin,
1046 Self::Latin1Supplement,
1047 Self::LatinExtendedA,
1048 Self::LatinExtendedB,
1049 Self::IPAExtensions,
1050 Self::SpacingModifierLetters,
1051 Self::CombiningDiacriticalMarks,
1052 Self::GreekAndCoptic,
1053 Self::Cyrillic,
1054 Self::Armenian,
1055 Self::Hebrew,
1056 Self::Arabic,
1057 Self::Syriac,
1058 Self::Thaana,
1059 Self::Devanagari,
1060 Self::Bengali,
1061 Self::Gurmukhi,
1062 Self::Gujarati,
1063 Self::Oriya,
1064 Self::Tamil,
1065 Self::Telugu,
1066 Self::Kannada,
1067 Self::Malayalam,
1068 Self::Sinhala,
1069 Self::Thai,
1070 Self::Lao,
1071 Self::Tibetan,
1072 Self::Myanmar,
1073 Self::Georgian,
1074 Self::HangulJamo,
1075 Self::Ethiopic,
1076 Self::Cherokee,
1077 Self::UnifiedCanadianAboriginalSyllabics,
1078 Self::Ogham,
1079 Self::Runic,
1080 Self::Khmer,
1081 Self::Mongolian,
1082 Self::LatinExtendedAdditional,
1083 Self::GreekExtended,
1084 Self::GeneralPunctuation,
1085 Self::SuperscriptsAndSubscripts,
1086 Self::CurrencySymbols,
1087 Self::CombiningDiacriticalMarksForSymbols,
1088 Self::LetterlikeSymbols,
1089 Self::NumberForms,
1090 Self::Arrows,
1091 Self::MathematicalOperators,
1092 Self::MiscellaneousTechnical,
1093 Self::ControlPictures,
1094 Self::OpticalCharacterRecognition,
1095 Self::EnclosedAlphanumerics,
1096 Self::BoxDrawing,
1097 Self::BlockElements,
1098 Self::GeometricShapes,
1099 Self::MiscellaneousSymbols,
1100 Self::Dingbats,
1101 Self::BraillePatterns,
1102 Self::CJKRadicalsSupplement,
1103 Self::KangxiRadicals,
1104 Self::IdeographicDescriptionCharacters,
1105 Self::CJKSymbolsAndPunctuation,
1106 Self::Hiragana,
1107 Self::Katakana,
1108 Self::Bopomofo,
1109 Self::HangulCompatibilityJamo,
1110 Self::Kanbun,
1111 Self::BopomofoExtended,
1112 Self::EnclosedCJKLettersAndMonths,
1113 Self::CJKCompatibility,
1114 Self::CJKUnifiedIdeographsExtensionA,
1115 Self::CJKUnifiedIdeographs,
1116 Self::YiSyllables,
1117 Self::YiRadicals,
1118 Self::HangulSyllables,
1119 Self::HighSurrogates,
1120 Self::HighPrivateUseSurrogates,
1121 Self::LowSurrogates,
1122 Self::PrivateUseArea,
1123 Self::CJKCompatibilityIdeographs,
1124 Self::AlphabeticPresentationForms,
1125 Self::ArabicPresentationFormsA,
1126 Self::CombiningHalfMarks,
1127 Self::CJKCompatibilityForms,
1128 Self::SmallFormVariants,
1129 Self::ArabicPresentationFormsB,
1130 Self::Specials,
1131 Self::HalfwidthAndFullwidthForms,
1132 Self::OldItalic,
1133 Self::Gothic,
1134 Self::Deseret,
1135 Self::ByzantineMusicalSymbols,
1136 Self::MusicalSymbols,
1137 Self::MathematicalAlphanumericSymbols,
1138 Self::CJKUnifiedIdeographsExtensionB,
1139 Self::CJKCompatibilityIdeographsSupplement,
1140 Self::Tags,
1141 Self::CyrillicSupplement,
1142 Self::Tagalog,
1143 Self::Hanunoo,
1144 Self::Buhid,
1145 Self::Tagbanwa,
1146 Self::MiscellaneousMathematicalSymbolsA,
1147 Self::SupplementalArrowsA,
1148 Self::SupplementalArrowsB,
1149 Self::MiscellaneousMathematicalSymbolsB,
1150 Self::SupplementalMathematicalOperators,
1151 Self::KatakanaPhoneticExtensions,
1152 Self::VariationSelectors,
1153 Self::SupplementaryPrivateUseAreaA,
1154 Self::SupplementaryPrivateUseAreaB,
1155 Self::Limbu,
1156 Self::TaiLe,
1157 Self::KhmerSymbols,
1158 Self::PhoneticExtensions,
1159 Self::MiscellaneousSymbolsAndArrows,
1160 Self::YijingHexagramSymbols,
1161 Self::LinearBSyllabary,
1162 Self::LinearBIdeograms,
1163 Self::AegeanNumbers,
1164 Self::Ugaritic,
1165 Self::Shavian,
1166 Self::Osmanya,
1167 Self::CypriotSyllabary,
1168 Self::TaiXuanJingSymbols,
1169 Self::VariationSelectorsSupplement,
1170 Self::AncientGreekMusicalNotation,
1171 Self::AncientGreekNumbers,
1172 Self::ArabicSupplement,
1173 Self::Buginese,
1174 Self::CJKStrokes,
1175 Self::CombiningDiacriticalMarksSupplement,
1176 Self::Coptic,
1177 Self::EthiopicExtended,
1178 Self::EthiopicSupplement,
1179 Self::GeorgianSupplement,
1180 Self::Glagolitic,
1181 Self::Kharoshthi,
1182 Self::ModifierToneLetters,
1183 Self::NewTaiLue,
1184 Self::OldPersian,
1185 Self::PhoneticExtensionsSupplement,
1186 Self::SupplementalPunctuation,
1187 Self::SylotiNagri,
1188 Self::Tifinagh,
1189 Self::VerticalForms,
1190 Self::NKo,
1191 Self::Balinese,
1192 Self::LatinExtendedC,
1193 Self::LatinExtendedD,
1194 Self::PhagsPa,
1195 Self::Phoenician,
1196 Self::Cuneiform,
1197 Self::CuneiformNumbersAndPunctuation,
1198 Self::CountingRodNumerals,
1199 Self::Sundanese,
1200 Self::Lepcha,
1201 Self::OlChiki,
1202 Self::CyrillicExtendedA,
1203 Self::Vai,
1204 Self::CyrillicExtendedB,
1205 Self::Saurashtra,
1206 Self::KayahLi,
1207 Self::Rejang,
1208 Self::Cham,
1209 Self::AncientSymbols,
1210 Self::PhaistosDisc,
1211 Self::Lycian,
1212 Self::Carian,
1213 Self::Lydian,
1214 Self::MahjongTiles,
1215 Self::DominoTiles,
1216 Self::Samaritan,
1217 Self::UnifiedCanadianAboriginalSyllabicsExtended,
1218 Self::TaiTham,
1219 Self::VedicExtensions,
1220 Self::Lisu,
1221 Self::Bamum,
1222 Self::CommonIndicNumberForms,
1223 Self::DevanagariExtended,
1224 Self::HangulJamoExtendedA,
1225 Self::Javanese,
1226 Self::MyanmarExtendedA,
1227 Self::TaiViet,
1228 Self::MeeteiMayek,
1229 Self::HangulJamoExtendedB,
1230 Self::ImperialAramaic,
1231 Self::OldSouthArabian,
1232 Self::Avestan,
1233 Self::InscriptionalParthian,
1234 Self::InscriptionalPahlavi,
1235 Self::OldTurkic,
1236 Self::RumiNumeralSymbols,
1237 Self::Kaithi,
1238 Self::EgyptianHieroglyphs,
1239 Self::EnclosedAlphanumericSupplement,
1240 Self::EnclosedIdeographicSupplement,
1241 Self::CJKUnifiedIdeographsExtensionC,
1242 Self::Mandaic,
1243 Self::Batak,
1244 Self::EthiopicExtendedA,
1245 Self::Brahmi,
1246 Self::BamumSupplement,
1247 Self::KanaSupplement,
1248 Self::PlayingCards,
1249 Self::MiscellaneousSymbolsAndPictographs,
1250 Self::Emoticons,
1251 Self::TransportAndMapSymbols,
1252 Self::AlchemicalSymbols,
1253 Self::CJKUnifiedIdeographsExtensionD,
1254 Self::ArabicExtendedA,
1255 Self::ArabicMathematicalAlphabeticSymbols,
1256 Self::Chakma,
1257 Self::MeeteiMayekExtensions,
1258 Self::MeroiticCursive,
1259 Self::MeroiticHieroglyphs,
1260 Self::Miao,
1261 Self::Sharada,
1262 Self::SoraSompeng,
1263 Self::SundaneseSupplement,
1264 Self::Takri,
1265 Self::BassaVah,
1266 Self::CaucasianAlbanian,
1267 Self::CopticEpactNumbers,
1268 Self::CombiningDiacriticalMarksExtended,
1269 Self::Duployan,
1270 Self::Elbasan,
1271 Self::GeometricShapesExtended,
1272 Self::Grantha,
1273 Self::Khojki,
1274 Self::Khudawadi,
1275 Self::LatinExtendedE,
1276 Self::LinearA,
1277 Self::Mahajani,
1278 Self::Manichaean,
1279 Self::MendeKikakui,
1280 Self::Modi,
1281 Self::Mro,
1282 Self::MyanmarExtendedB,
1283 Self::Nabataean,
1284 Self::OldNorthArabian,
1285 Self::OldPermic,
1286 Self::OrnamentalDingbats,
1287 Self::PahawhHmong,
1288 Self::Palmyrene,
1289 Self::PauCinHau,
1290 Self::PsalterPahlavi,
1291 Self::ShorthandFormatControls,
1292 Self::Siddham,
1293 Self::SinhalaArchaicNumbers,
1294 Self::SupplementalArrowsC,
1295 Self::Tirhuta,
1296 Self::WarangCiti,
1297 Self::Ahom,
1298 Self::AnatolianHieroglyphs,
1299 Self::CherokeeSupplement,
1300 Self::CJKUnifiedIdeographsExtensionE,
1301 Self::EarlyDynasticCuneiform,
1302 Self::Hatran,
1303 Self::Multani,
1304 Self::OldHungarian,
1305 Self::SupplementalSymbolsAndPictographs,
1306 Self::SuttonSignWriting,
1307 Self::Adlam,
1308 Self::Bhaiksuki,
1309 Self::CyrillicExtendedC,
1310 Self::GlagoliticSupplement,
1311 Self::IdeographicSymbolsAndPunctuation,
1312 Self::Marchen,
1313 Self::MongolianSupplement,
1314 Self::Newa,
1315 Self::Osage,
1316 Self::Tangut,
1317 Self::TangutComponents,
1318 Self::CJKUnifiedIdeographsExtensionF,
1319 Self::KanaExtendedA,
1320 Self::MasaramGondi,
1321 Self::Nushu,
1322 Self::Soyombo,
1323 Self::SyriacSupplement,
1324 Self::ZanabazarSquare,
1325 Self::ChessSymbols,
1326 Self::Dogra,
1327 Self::GeorgianExtended,
1328 Self::GunjalaGondi,
1329 Self::HanifiRohingya,
1330 Self::IndicSiyaqNumbers,
1331 Self::Makasar,
1332 Self::MayanNumerals,
1333 Self::Medefaidrin,
1334 Self::OldSogdian,
1335 Self::Sogdian,
1336 Self::EgyptianHieroglyphFormatControls,
1337 Self::Elymaic,
1338 Self::Nandinagari,
1339 Self::NyiakengPuachueHmong,
1340 Self::OttomanSiyaqNumbers,
1341 Self::SmallKanaExtension,
1342 Self::SymbolsAndPictographsExtendedA,
1343 Self::TamilSupplement,
1344 Self::Wancho,
1345 Self::Chorasmian,
1346 Self::CJKUnifiedIdeographsExtensionG,
1347 Self::DivesAkuru,
1348 Self::KhitanSmallScript,
1349 Self::LisuSupplement,
1350 Self::SymbolsForLegacyComputing,
1351 Self::TangutSupplement,
1352 Self::Yezidi,
1353 Self::ArabicExtendedB,
1354 Self::CyproMinoan,
1355 Self::EthiopicExtendedB,
1356 Self::KanaExtendedB,
1357 Self::LatinExtendedF,
1358 Self::LatinExtendedG,
1359 Self::OldUyghur,
1360 Self::Tangsa,
1361 Self::Toto,
1362 Self::UnifiedCanadianAboriginalSyllabicsExtendedA,
1363 Self::Vithkuqi,
1364 Self::ZnamennyMusicalNotation,
1365 Self::ArabicExtendedC,
1366 Self::CJKUnifiedIdeographsExtensionH,
1367 Self::CyrillicExtendedD,
1368 Self::DevanagariExtendedA,
1369 Self::KaktovikNumerals,
1370 Self::Kawi,
1371 Self::NagMundari,
1372 Self::CJKUnifiedIdeographsExtensionI,
1373 Self::EgyptianHieroglyphsExtendedA,
1374 Self::Garay,
1375 Self::GurungKhema,
1376 Self::KiratRai,
1377 Self::MyanmarExtendedC,
1378 Self::OlOnal,
1379 Self::Sunuwar,
1380 Self::SymbolsForLegacyComputingSupplement,
1381 Self::Todhri,
1382 Self::TuluTigalari,
1383 Self::BeriaErfe,
1384 Self::CJKUnifiedIdeographsExtensionJ,
1385 Self::MiscellaneousSymbolsSupplement,
1386 Self::SharadaSupplement,
1387 Self::Sidetic,
1388 Self::TaiYo,
1389 Self::TangutComponentsSupplement,
1390 Self::TolongSiki,
1391 Self::ArchaicCuneiformNumerals,
1392 Self::BengaliSupplement,
1393 Self::Jurchen,
1394 Self::JurchenRadicals,
1395 Self::MiscellaneousSymbolsAndArrowsExtended,
1396 Self::MusicalSymbolsSupplement,
1397 Self::Seal,
1398 ];
1399
1400 #[cfg(feature = "datagen")]
1401 #[doc(hidden)]
1402 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
1403 [
1404 ("NB", Self::NoBlock),
1405 ("ASCII", Self::BasicLatin),
1406 ("Latin_1_Sup", Self::Latin1Supplement),
1407 ("Latin_Ext_A", Self::LatinExtendedA),
1408 ("Latin_Ext_B", Self::LatinExtendedB),
1409 ("IPA_Ext", Self::IPAExtensions),
1410 ("Modifier_Letters", Self::SpacingModifierLetters),
1411 ("Diacriticals", Self::CombiningDiacriticalMarks),
1412 ("Greek", Self::GreekAndCoptic),
1413 ("Cyrillic", Self::Cyrillic),
1414 ("Armenian", Self::Armenian),
1415 ("Hebrew", Self::Hebrew),
1416 ("Arabic", Self::Arabic),
1417 ("Syriac", Self::Syriac),
1418 ("Thaana", Self::Thaana),
1419 ("Devanagari", Self::Devanagari),
1420 ("Bengali", Self::Bengali),
1421 ("Gurmukhi", Self::Gurmukhi),
1422 ("Gujarati", Self::Gujarati),
1423 ("Oriya", Self::Oriya),
1424 ("Tamil", Self::Tamil),
1425 ("Telugu", Self::Telugu),
1426 ("Kannada", Self::Kannada),
1427 ("Malayalam", Self::Malayalam),
1428 ("Sinhala", Self::Sinhala),
1429 ("Thai", Self::Thai),
1430 ("Lao", Self::Lao),
1431 ("Tibetan", Self::Tibetan),
1432 ("Myanmar", Self::Myanmar),
1433 ("Georgian", Self::Georgian),
1434 ("Jamo", Self::HangulJamo),
1435 ("Ethiopic", Self::Ethiopic),
1436 ("Cherokee", Self::Cherokee),
1437 ("UCAS", Self::UnifiedCanadianAboriginalSyllabics),
1438 ("Ogham", Self::Ogham),
1439 ("Runic", Self::Runic),
1440 ("Khmer", Self::Khmer),
1441 ("Mongolian", Self::Mongolian),
1442 ("Latin_Ext_Additional", Self::LatinExtendedAdditional),
1443 ("Greek_Ext", Self::GreekExtended),
1444 ("Punctuation", Self::GeneralPunctuation),
1445 ("Super_And_Sub", Self::SuperscriptsAndSubscripts),
1446 ("Currency_Symbols", Self::CurrencySymbols),
1447 ("Diacriticals_For_Symbols", Self::CombiningDiacriticalMarksForSymbols),
1448 ("Letterlike_Symbols", Self::LetterlikeSymbols),
1449 ("Number_Forms", Self::NumberForms),
1450 ("Arrows", Self::Arrows),
1451 ("Math_Operators", Self::MathematicalOperators),
1452 ("Misc_Technical", Self::MiscellaneousTechnical),
1453 ("Control_Pictures", Self::ControlPictures),
1454 ("OCR", Self::OpticalCharacterRecognition),
1455 ("Enclosed_Alphanum", Self::EnclosedAlphanumerics),
1456 ("Box_Drawing", Self::BoxDrawing),
1457 ("Block_Elements", Self::BlockElements),
1458 ("Geometric_Shapes", Self::GeometricShapes),
1459 ("Misc_Symbols", Self::MiscellaneousSymbols),
1460 ("Dingbats", Self::Dingbats),
1461 ("Braille", Self::BraillePatterns),
1462 ("CJK_Radicals_Sup", Self::CJKRadicalsSupplement),
1463 ("Kangxi", Self::KangxiRadicals),
1464 ("IDC", Self::IdeographicDescriptionCharacters),
1465 ("CJK_Symbols", Self::CJKSymbolsAndPunctuation),
1466 ("Hiragana", Self::Hiragana),
1467 ("Katakana", Self::Katakana),
1468 ("Bopomofo", Self::Bopomofo),
1469 ("Compat_Jamo", Self::HangulCompatibilityJamo),
1470 ("Kanbun", Self::Kanbun),
1471 ("Bopomofo_Ext", Self::BopomofoExtended),
1472 ("Enclosed_CJK", Self::EnclosedCJKLettersAndMonths),
1473 ("CJK_Compat", Self::CJKCompatibility),
1474 ("CJK_Ext_A", Self::CJKUnifiedIdeographsExtensionA),
1475 ("CJK", Self::CJKUnifiedIdeographs),
1476 ("Yi_Syllables", Self::YiSyllables),
1477 ("Yi_Radicals", Self::YiRadicals),
1478 ("Hangul", Self::HangulSyllables),
1479 ("High_Surrogates", Self::HighSurrogates),
1480 ("High_PU_Surrogates", Self::HighPrivateUseSurrogates),
1481 ("Low_Surrogates", Self::LowSurrogates),
1482 ("PUA", Self::PrivateUseArea),
1483 ("CJK_Compat_Ideographs", Self::CJKCompatibilityIdeographs),
1484 ("Alphabetic_PF", Self::AlphabeticPresentationForms),
1485 ("Arabic_PF_A", Self::ArabicPresentationFormsA),
1486 ("Half_Marks", Self::CombiningHalfMarks),
1487 ("CJK_Compat_Forms", Self::CJKCompatibilityForms),
1488 ("Small_Forms", Self::SmallFormVariants),
1489 ("Arabic_PF_B", Self::ArabicPresentationFormsB),
1490 ("Specials", Self::Specials),
1491 ("Half_And_Full_Forms", Self::HalfwidthAndFullwidthForms),
1492 ("Old_Italic", Self::OldItalic),
1493 ("Gothic", Self::Gothic),
1494 ("Deseret", Self::Deseret),
1495 ("Byzantine_Music", Self::ByzantineMusicalSymbols),
1496 ("Music", Self::MusicalSymbols),
1497 ("Math_Alphanum", Self::MathematicalAlphanumericSymbols),
1498 ("CJK_Ext_B", Self::CJKUnifiedIdeographsExtensionB),
1499 ("CJK_Compat_Ideographs_Sup", Self::CJKCompatibilityIdeographsSupplement),
1500 ("Tags", Self::Tags),
1501 ("Cyrillic_Sup", Self::CyrillicSupplement),
1502 ("Tagalog", Self::Tagalog),
1503 ("Hanunoo", Self::Hanunoo),
1504 ("Buhid", Self::Buhid),
1505 ("Tagbanwa", Self::Tagbanwa),
1506 ("Misc_Math_Symbols_A", Self::MiscellaneousMathematicalSymbolsA),
1507 ("Sup_Arrows_A", Self::SupplementalArrowsA),
1508 ("Sup_Arrows_B", Self::SupplementalArrowsB),
1509 ("Misc_Math_Symbols_B", Self::MiscellaneousMathematicalSymbolsB),
1510 ("Sup_Math_Operators", Self::SupplementalMathematicalOperators),
1511 ("Katakana_Ext", Self::KatakanaPhoneticExtensions),
1512 ("VS", Self::VariationSelectors),
1513 ("Sup_PUA_A", Self::SupplementaryPrivateUseAreaA),
1514 ("Sup_PUA_B", Self::SupplementaryPrivateUseAreaB),
1515 ("Limbu", Self::Limbu),
1516 ("Tai_Le", Self::TaiLe),
1517 ("Khmer_Symbols", Self::KhmerSymbols),
1518 ("Phonetic_Ext", Self::PhoneticExtensions),
1519 ("Misc_Arrows", Self::MiscellaneousSymbolsAndArrows),
1520 ("Yijing", Self::YijingHexagramSymbols),
1521 ("Linear_B_Syllabary", Self::LinearBSyllabary),
1522 ("Linear_B_Ideograms", Self::LinearBIdeograms),
1523 ("Aegean_Numbers", Self::AegeanNumbers),
1524 ("Ugaritic", Self::Ugaritic),
1525 ("Shavian", Self::Shavian),
1526 ("Osmanya", Self::Osmanya),
1527 ("Cypriot_Syllabary", Self::CypriotSyllabary),
1528 ("Tai_Xuan_Jing", Self::TaiXuanJingSymbols),
1529 ("VS_Sup", Self::VariationSelectorsSupplement),
1530 ("Ancient_Greek_Music", Self::AncientGreekMusicalNotation),
1531 ("Ancient_Greek_Numbers", Self::AncientGreekNumbers),
1532 ("Arabic_Sup", Self::ArabicSupplement),
1533 ("Buginese", Self::Buginese),
1534 ("CJK_Strokes", Self::CJKStrokes),
1535 ("Diacriticals_Sup", Self::CombiningDiacriticalMarksSupplement),
1536 ("Coptic", Self::Coptic),
1537 ("Ethiopic_Ext", Self::EthiopicExtended),
1538 ("Ethiopic_Sup", Self::EthiopicSupplement),
1539 ("Georgian_Sup", Self::GeorgianSupplement),
1540 ("Glagolitic", Self::Glagolitic),
1541 ("Kharoshthi", Self::Kharoshthi),
1542 ("Modifier_Tone_Letters", Self::ModifierToneLetters),
1543 ("New_Tai_Lue", Self::NewTaiLue),
1544 ("Old_Persian", Self::OldPersian),
1545 ("Phonetic_Ext_Sup", Self::PhoneticExtensionsSupplement),
1546 ("Sup_Punctuation", Self::SupplementalPunctuation),
1547 ("Syloti_Nagri", Self::SylotiNagri),
1548 ("Tifinagh", Self::Tifinagh),
1549 ("Vertical_Forms", Self::VerticalForms),
1550 ("NKo", Self::NKo),
1551 ("Balinese", Self::Balinese),
1552 ("Latin_Ext_C", Self::LatinExtendedC),
1553 ("Latin_Ext_D", Self::LatinExtendedD),
1554 ("Phags_Pa", Self::PhagsPa),
1555 ("Phoenician", Self::Phoenician),
1556 ("Cuneiform", Self::Cuneiform),
1557 ("Cuneiform_Numbers", Self::CuneiformNumbersAndPunctuation),
1558 ("Counting_Rod", Self::CountingRodNumerals),
1559 ("Sundanese", Self::Sundanese),
1560 ("Lepcha", Self::Lepcha),
1561 ("Ol_Chiki", Self::OlChiki),
1562 ("Cyrillic_Ext_A", Self::CyrillicExtendedA),
1563 ("Vai", Self::Vai),
1564 ("Cyrillic_Ext_B", Self::CyrillicExtendedB),
1565 ("Saurashtra", Self::Saurashtra),
1566 ("Kayah_Li", Self::KayahLi),
1567 ("Rejang", Self::Rejang),
1568 ("Cham", Self::Cham),
1569 ("Ancient_Symbols", Self::AncientSymbols),
1570 ("Phaistos", Self::PhaistosDisc),
1571 ("Lycian", Self::Lycian),
1572 ("Carian", Self::Carian),
1573 ("Lydian", Self::Lydian),
1574 ("Mahjong", Self::MahjongTiles),
1575 ("Domino", Self::DominoTiles),
1576 ("Samaritan", Self::Samaritan),
1577 ("UCAS_Ext", Self::UnifiedCanadianAboriginalSyllabicsExtended),
1578 ("Tai_Tham", Self::TaiTham),
1579 ("Vedic_Ext", Self::VedicExtensions),
1580 ("Lisu", Self::Lisu),
1581 ("Bamum", Self::Bamum),
1582 ("Indic_Number_Forms", Self::CommonIndicNumberForms),
1583 ("Devanagari_Ext", Self::DevanagariExtended),
1584 ("Jamo_Ext_A", Self::HangulJamoExtendedA),
1585 ("Javanese", Self::Javanese),
1586 ("Myanmar_Ext_A", Self::MyanmarExtendedA),
1587 ("Tai_Viet", Self::TaiViet),
1588 ("Meetei_Mayek", Self::MeeteiMayek),
1589 ("Jamo_Ext_B", Self::HangulJamoExtendedB),
1590 ("Imperial_Aramaic", Self::ImperialAramaic),
1591 ("Old_South_Arabian", Self::OldSouthArabian),
1592 ("Avestan", Self::Avestan),
1593 ("Inscriptional_Parthian", Self::InscriptionalParthian),
1594 ("Inscriptional_Pahlavi", Self::InscriptionalPahlavi),
1595 ("Old_Turkic", Self::OldTurkic),
1596 ("Rumi", Self::RumiNumeralSymbols),
1597 ("Kaithi", Self::Kaithi),
1598 ("Egyptian_Hieroglyphs", Self::EgyptianHieroglyphs),
1599 ("Enclosed_Alphanum_Sup", Self::EnclosedAlphanumericSupplement),
1600 ("Enclosed_Ideographic_Sup", Self::EnclosedIdeographicSupplement),
1601 ("CJK_Ext_C", Self::CJKUnifiedIdeographsExtensionC),
1602 ("Mandaic", Self::Mandaic),
1603 ("Batak", Self::Batak),
1604 ("Ethiopic_Ext_A", Self::EthiopicExtendedA),
1605 ("Brahmi", Self::Brahmi),
1606 ("Bamum_Sup", Self::BamumSupplement),
1607 ("Kana_Sup", Self::KanaSupplement),
1608 ("Playing_Cards", Self::PlayingCards),
1609 ("Misc_Pictographs", Self::MiscellaneousSymbolsAndPictographs),
1610 ("Emoticons", Self::Emoticons),
1611 ("Transport_And_Map", Self::TransportAndMapSymbols),
1612 ("Alchemical", Self::AlchemicalSymbols),
1613 ("CJK_Ext_D", Self::CJKUnifiedIdeographsExtensionD),
1614 ("Arabic_Ext_A", Self::ArabicExtendedA),
1615 ("Arabic_Math", Self::ArabicMathematicalAlphabeticSymbols),
1616 ("Chakma", Self::Chakma),
1617 ("Meetei_Mayek_Ext", Self::MeeteiMayekExtensions),
1618 ("Meroitic_Cursive", Self::MeroiticCursive),
1619 ("Meroitic_Hieroglyphs", Self::MeroiticHieroglyphs),
1620 ("Miao", Self::Miao),
1621 ("Sharada", Self::Sharada),
1622 ("Sora_Sompeng", Self::SoraSompeng),
1623 ("Sundanese_Sup", Self::SundaneseSupplement),
1624 ("Takri", Self::Takri),
1625 ("Bassa_Vah", Self::BassaVah),
1626 ("Caucasian_Albanian", Self::CaucasianAlbanian),
1627 ("Coptic_Epact_Numbers", Self::CopticEpactNumbers),
1628 ("Diacriticals_Ext", Self::CombiningDiacriticalMarksExtended),
1629 ("Duployan", Self::Duployan),
1630 ("Elbasan", Self::Elbasan),
1631 ("Geometric_Shapes_Ext", Self::GeometricShapesExtended),
1632 ("Grantha", Self::Grantha),
1633 ("Khojki", Self::Khojki),
1634 ("Khudawadi", Self::Khudawadi),
1635 ("Latin_Ext_E", Self::LatinExtendedE),
1636 ("Linear_A", Self::LinearA),
1637 ("Mahajani", Self::Mahajani),
1638 ("Manichaean", Self::Manichaean),
1639 ("Mende_Kikakui", Self::MendeKikakui),
1640 ("Modi", Self::Modi),
1641 ("Mro", Self::Mro),
1642 ("Myanmar_Ext_B", Self::MyanmarExtendedB),
1643 ("Nabataean", Self::Nabataean),
1644 ("Old_North_Arabian", Self::OldNorthArabian),
1645 ("Old_Permic", Self::OldPermic),
1646 ("Ornamental_Dingbats", Self::OrnamentalDingbats),
1647 ("Pahawh_Hmong", Self::PahawhHmong),
1648 ("Palmyrene", Self::Palmyrene),
1649 ("Pau_Cin_Hau", Self::PauCinHau),
1650 ("Psalter_Pahlavi", Self::PsalterPahlavi),
1651 ("Shorthand_Format_Controls", Self::ShorthandFormatControls),
1652 ("Siddham", Self::Siddham),
1653 ("Sinhala_Archaic_Numbers", Self::SinhalaArchaicNumbers),
1654 ("Sup_Arrows_C", Self::SupplementalArrowsC),
1655 ("Tirhuta", Self::Tirhuta),
1656 ("Warang_Citi", Self::WarangCiti),
1657 ("Ahom", Self::Ahom),
1658 ("Anatolian_Hieroglyphs", Self::AnatolianHieroglyphs),
1659 ("Cherokee_Sup", Self::CherokeeSupplement),
1660 ("CJK_Ext_E", Self::CJKUnifiedIdeographsExtensionE),
1661 ("Early_Dynastic_Cuneiform", Self::EarlyDynasticCuneiform),
1662 ("Hatran", Self::Hatran),
1663 ("Multani", Self::Multani),
1664 ("Old_Hungarian", Self::OldHungarian),
1665 ("Sup_Symbols_And_Pictographs", Self::SupplementalSymbolsAndPictographs),
1666 ("Sutton_SignWriting", Self::SuttonSignWriting),
1667 ("Adlam", Self::Adlam),
1668 ("Bhaiksuki", Self::Bhaiksuki),
1669 ("Cyrillic_Ext_C", Self::CyrillicExtendedC),
1670 ("Glagolitic_Sup", Self::GlagoliticSupplement),
1671 ("Ideographic_Symbols", Self::IdeographicSymbolsAndPunctuation),
1672 ("Marchen", Self::Marchen),
1673 ("Mongolian_Sup", Self::MongolianSupplement),
1674 ("Newa", Self::Newa),
1675 ("Osage", Self::Osage),
1676 ("Tangut", Self::Tangut),
1677 ("Tangut_Components", Self::TangutComponents),
1678 ("CJK_Ext_F", Self::CJKUnifiedIdeographsExtensionF),
1679 ("Kana_Ext_A", Self::KanaExtendedA),
1680 ("Masaram_Gondi", Self::MasaramGondi),
1681 ("Nushu", Self::Nushu),
1682 ("Soyombo", Self::Soyombo),
1683 ("Syriac_Sup", Self::SyriacSupplement),
1684 ("Zanabazar_Square", Self::ZanabazarSquare),
1685 ("Chess_Symbols", Self::ChessSymbols),
1686 ("Dogra", Self::Dogra),
1687 ("Georgian_Ext", Self::GeorgianExtended),
1688 ("Gunjala_Gondi", Self::GunjalaGondi),
1689 ("Hanifi_Rohingya", Self::HanifiRohingya),
1690 ("Indic_Siyaq_Numbers", Self::IndicSiyaqNumbers),
1691 ("Makasar", Self::Makasar),
1692 ("Mayan_Numerals", Self::MayanNumerals),
1693 ("Medefaidrin", Self::Medefaidrin),
1694 ("Old_Sogdian", Self::OldSogdian),
1695 ("Sogdian", Self::Sogdian),
1696 ("Egyptian_Hieroglyph_Format_Controls", Self::EgyptianHieroglyphFormatControls),
1697 ("Elymaic", Self::Elymaic),
1698 ("Nandinagari", Self::Nandinagari),
1699 ("Nyiakeng_Puachue_Hmong", Self::NyiakengPuachueHmong),
1700 ("Ottoman_Siyaq_Numbers", Self::OttomanSiyaqNumbers),
1701 ("Small_Kana_Ext", Self::SmallKanaExtension),
1702 ("Symbols_And_Pictographs_Ext_A", Self::SymbolsAndPictographsExtendedA),
1703 ("Tamil_Sup", Self::TamilSupplement),
1704 ("Wancho", Self::Wancho),
1705 ("Chorasmian", Self::Chorasmian),
1706 ("CJK_Ext_G", Self::CJKUnifiedIdeographsExtensionG),
1707 ("Dives_Akuru", Self::DivesAkuru),
1708 ("Khitan_Small_Script", Self::KhitanSmallScript),
1709 ("Lisu_Sup", Self::LisuSupplement),
1710 ("Symbols_For_Legacy_Computing", Self::SymbolsForLegacyComputing),
1711 ("Tangut_Sup", Self::TangutSupplement),
1712 ("Yezidi", Self::Yezidi),
1713 ("Arabic_Ext_B", Self::ArabicExtendedB),
1714 ("Cypro_Minoan", Self::CyproMinoan),
1715 ("Ethiopic_Ext_B", Self::EthiopicExtendedB),
1716 ("Kana_Ext_B", Self::KanaExtendedB),
1717 ("Latin_Ext_F", Self::LatinExtendedF),
1718 ("Latin_Ext_G", Self::LatinExtendedG),
1719 ("Old_Uyghur", Self::OldUyghur),
1720 ("Tangsa", Self::Tangsa),
1721 ("Toto", Self::Toto),
1722 ("UCAS_Ext_A", Self::UnifiedCanadianAboriginalSyllabicsExtendedA),
1723 ("Vithkuqi", Self::Vithkuqi),
1724 ("Znamenny_Music", Self::ZnamennyMusicalNotation),
1725 ("Arabic_Ext_C", Self::ArabicExtendedC),
1726 ("CJK_Ext_H", Self::CJKUnifiedIdeographsExtensionH),
1727 ("Cyrillic_Ext_D", Self::CyrillicExtendedD),
1728 ("Devanagari_Ext_A", Self::DevanagariExtendedA),
1729 ("Kaktovik_Numerals", Self::KaktovikNumerals),
1730 ("Kawi", Self::Kawi),
1731 ("Nag_Mundari", Self::NagMundari),
1732 ("CJK_Ext_I", Self::CJKUnifiedIdeographsExtensionI),
1733 ("Egyptian_Hieroglyphs_Ext_A", Self::EgyptianHieroglyphsExtendedA),
1734 ("Garay", Self::Garay),
1735 ("Gurung_Khema", Self::GurungKhema),
1736 ("Kirat_Rai", Self::KiratRai),
1737 ("Myanmar_Ext_C", Self::MyanmarExtendedC),
1738 ("Ol_Onal", Self::OlOnal),
1739 ("Sunuwar", Self::Sunuwar),
1740 ("Symbols_For_Legacy_Computing_Sup", Self::SymbolsForLegacyComputingSupplement),
1741 ("Todhri", Self::Todhri),
1742 ("Tulu_Tigalari", Self::TuluTigalari),
1743 ("Beria_Erfe", Self::BeriaErfe),
1744 ("CJK_Ext_J", Self::CJKUnifiedIdeographsExtensionJ),
1745 ("Misc_Symbols_Sup", Self::MiscellaneousSymbolsSupplement),
1746 ("Sharada_Sup", Self::SharadaSupplement),
1747 ("Sidetic", Self::Sidetic),
1748 ("Tai_Yo", Self::TaiYo),
1749 ("Tangut_Components_Sup", Self::TangutComponentsSupplement),
1750 ("Tolong_Siki", Self::TolongSiki),
1751 ("Archaic_Cuneiform_Numerals", Self::ArchaicCuneiformNumerals),
1752 ("Bengali_Sup", Self::BengaliSupplement),
1753 ("Jurchen", Self::Jurchen),
1754 ("Jurchen_Radicals", Self::JurchenRadicals),
1755 ("Misc_Arrows_Ext", Self::MiscellaneousSymbolsAndArrowsExtended),
1756 ("Music_Sup", Self::MusicalSymbolsSupplement),
1757 ("Seal", Self::Seal),
1758 ].into_iter()
1759 }
1760}
1761
1762impl CanonicalCombiningClass {
1763 pub const NotReordered: Self = Self(0);
1764 pub const NR: Self = Self::NotReordered;
1765 pub const Overlay: Self = Self(1);
1766 pub const OV: Self = Self::Overlay;
1767 pub const HanReading: Self = Self(6);
1768 pub const HANR: Self = Self::HanReading;
1769 pub const Nukta: Self = Self(7);
1770 pub const NK: Self = Self::Nukta;
1771 pub const KanaVoicing: Self = Self(8);
1772 pub const KV: Self = Self::KanaVoicing;
1773 pub const Virama: Self = Self(9);
1774 pub const VR: Self = Self::Virama;
1775 pub const CCC10: Self = Self(10);
1776 pub const CCC11: Self = Self(11);
1777 pub const CCC12: Self = Self(12);
1778 pub const CCC13: Self = Self(13);
1779 pub const CCC14: Self = Self(14);
1780 pub const CCC15: Self = Self(15);
1781 pub const CCC16: Self = Self(16);
1782 pub const CCC17: Self = Self(17);
1783 pub const CCC18: Self = Self(18);
1784 pub const CCC19: Self = Self(19);
1785 pub const CCC20: Self = Self(20);
1786 pub const CCC21: Self = Self(21);
1787 pub const CCC22: Self = Self(22);
1788 pub const CCC23: Self = Self(23);
1789 pub const CCC24: Self = Self(24);
1790 pub const CCC25: Self = Self(25);
1791 pub const CCC26: Self = Self(26);
1792 pub const CCC27: Self = Self(27);
1793 pub const CCC28: Self = Self(28);
1794 pub const CCC29: Self = Self(29);
1795 pub const CCC30: Self = Self(30);
1796 pub const CCC31: Self = Self(31);
1797 pub const CCC32: Self = Self(32);
1798 pub const CCC33: Self = Self(33);
1799 pub const CCC34: Self = Self(34);
1800 pub const CCC35: Self = Self(35);
1801 pub const CCC36: Self = Self(36);
1802 pub const CCC84: Self = Self(84);
1803 pub const CCC91: Self = Self(91);
1804 pub const CCC103: Self = Self(103);
1805 pub const CCC107: Self = Self(107);
1806 pub const CCC118: Self = Self(118);
1807 pub const CCC122: Self = Self(122);
1808 pub const CCC129: Self = Self(129);
1809 pub const CCC130: Self = Self(130);
1810 pub const CCC132: Self = Self(132);
1811 pub const CCC133: Self = Self(133);
1812 pub const AttachedBelowLeft: Self = Self(200);
1813 pub const ATBL: Self = Self::AttachedBelowLeft;
1814 pub const AttachedBelow: Self = Self(202);
1815 pub const ATB: Self = Self::AttachedBelow;
1816 pub const AttachedAbove: Self = Self(214);
1817 pub const ATA: Self = Self::AttachedAbove;
1818 pub const AttachedAboveRight: Self = Self(216);
1819 pub const ATAR: Self = Self::AttachedAboveRight;
1820 pub const BelowLeft: Self = Self(218);
1821 pub const BL: Self = Self::BelowLeft;
1822 pub const Below: Self = Self(220);
1823 pub const B: Self = Self::Below;
1824 pub const BelowRight: Self = Self(222);
1825 pub const BR: Self = Self::BelowRight;
1826 pub const Left: Self = Self(224);
1827 pub const L: Self = Self::Left;
1828 pub const Right: Self = Self(226);
1829 pub const R: Self = Self::Right;
1830 pub const AboveLeft: Self = Self(228);
1831 pub const AL: Self = Self::AboveLeft;
1832 pub const Above: Self = Self(230);
1833 pub const A: Self = Self::Above;
1834 pub const AboveRight: Self = Self(232);
1835 pub const AR: Self = Self::AboveRight;
1836 pub const DoubleBelow: Self = Self(233);
1837 pub const DB: Self = Self::DoubleBelow;
1838 pub const DoubleAbove: Self = Self(234);
1839 pub const DA: Self = Self::DoubleAbove;
1840 pub const IotaSubscript: Self = Self(240);
1841 pub const IS: Self = Self::IotaSubscript;
1842}
1843
1844#[cfg(feature = "datagen")]
1845impl databake::Bake for CanonicalCombiningClass {
1846 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
1847 env.insert("icu_properties");
1848 match *self {
1849 Self::NotReordered => databake::quote!(icu_properties::props::CanonicalCombiningClass::NotReordered),
1850 Self::Overlay => databake::quote!(icu_properties::props::CanonicalCombiningClass::Overlay),
1851 Self::HanReading => databake::quote!(icu_properties::props::CanonicalCombiningClass::HanReading),
1852 Self::Nukta => databake::quote!(icu_properties::props::CanonicalCombiningClass::Nukta),
1853 Self::KanaVoicing => databake::quote!(icu_properties::props::CanonicalCombiningClass::KanaVoicing),
1854 Self::Virama => databake::quote!(icu_properties::props::CanonicalCombiningClass::Virama),
1855 Self::CCC10 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC10),
1856 Self::CCC11 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC11),
1857 Self::CCC12 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC12),
1858 Self::CCC13 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC13),
1859 Self::CCC14 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC14),
1860 Self::CCC15 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC15),
1861 Self::CCC16 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC16),
1862 Self::CCC17 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC17),
1863 Self::CCC18 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC18),
1864 Self::CCC19 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC19),
1865 Self::CCC20 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC20),
1866 Self::CCC21 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC21),
1867 Self::CCC22 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC22),
1868 Self::CCC23 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC23),
1869 Self::CCC24 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC24),
1870 Self::CCC25 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC25),
1871 Self::CCC26 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC26),
1872 Self::CCC27 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC27),
1873 Self::CCC28 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC28),
1874 Self::CCC29 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC29),
1875 Self::CCC30 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC30),
1876 Self::CCC31 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC31),
1877 Self::CCC32 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC32),
1878 Self::CCC33 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC33),
1879 Self::CCC34 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC34),
1880 Self::CCC35 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC35),
1881 Self::CCC36 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC36),
1882 Self::CCC84 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC84),
1883 Self::CCC91 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC91),
1884 Self::CCC103 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC103),
1885 Self::CCC107 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC107),
1886 Self::CCC118 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC118),
1887 Self::CCC122 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC122),
1888 Self::CCC129 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC129),
1889 Self::CCC130 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC130),
1890 Self::CCC132 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC132),
1891 Self::CCC133 => databake::quote!(icu_properties::props::CanonicalCombiningClass::CCC133),
1892 Self::AttachedBelowLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedBelowLeft),
1893 Self::AttachedBelow => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedBelow),
1894 Self::AttachedAbove => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedAbove),
1895 Self::AttachedAboveRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::AttachedAboveRight),
1896 Self::BelowLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::BelowLeft),
1897 Self::Below => databake::quote!(icu_properties::props::CanonicalCombiningClass::Below),
1898 Self::BelowRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::BelowRight),
1899 Self::Left => databake::quote!(icu_properties::props::CanonicalCombiningClass::Left),
1900 Self::Right => databake::quote!(icu_properties::props::CanonicalCombiningClass::Right),
1901 Self::AboveLeft => databake::quote!(icu_properties::props::CanonicalCombiningClass::AboveLeft),
1902 Self::Above => databake::quote!(icu_properties::props::CanonicalCombiningClass::Above),
1903 Self::AboveRight => databake::quote!(icu_properties::props::CanonicalCombiningClass::AboveRight),
1904 Self::DoubleBelow => databake::quote!(icu_properties::props::CanonicalCombiningClass::DoubleBelow),
1905 Self::DoubleAbove => databake::quote!(icu_properties::props::CanonicalCombiningClass::DoubleAbove),
1906 Self::IotaSubscript => databake::quote!(icu_properties::props::CanonicalCombiningClass::IotaSubscript),
1907 Self(v) => databake::quote!(icu_properties::props::CanonicalCombiningClass(#v)),
1908 }
1909 }
1910}
1911
1912
1913impl From<CanonicalCombiningClass> for u16 {
1914 fn from(other: CanonicalCombiningClass) -> Self {
1915 other.0 as u16
1916 }
1917}
1918
1919impl CanonicalCombiningClass {
1920 #[deprecated]
1922 pub const ALL_VALUES: &'static [Self] = &[
1923 Self::NotReordered,
1924 Self::Overlay,
1925 Self::HanReading,
1926 Self::Nukta,
1927 Self::KanaVoicing,
1928 Self::Virama,
1929 Self::CCC10,
1930 Self::CCC11,
1931 Self::CCC12,
1932 Self::CCC13,
1933 Self::CCC14,
1934 Self::CCC15,
1935 Self::CCC16,
1936 Self::CCC17,
1937 Self::CCC18,
1938 Self::CCC19,
1939 Self::CCC20,
1940 Self::CCC21,
1941 Self::CCC22,
1942 Self::CCC23,
1943 Self::CCC24,
1944 Self::CCC25,
1945 Self::CCC26,
1946 Self::CCC27,
1947 Self::CCC28,
1948 Self::CCC29,
1949 Self::CCC30,
1950 Self::CCC31,
1951 Self::CCC32,
1952 Self::CCC33,
1953 Self::CCC34,
1954 Self::CCC35,
1955 Self::CCC36,
1956 Self::CCC84,
1957 Self::CCC91,
1958 Self::CCC103,
1959 Self::CCC107,
1960 Self::CCC118,
1961 Self::CCC122,
1962 Self::CCC129,
1963 Self::CCC130,
1964 Self::CCC132,
1965 Self::CCC133,
1966 Self::AttachedBelowLeft,
1967 Self::AttachedBelow,
1968 Self::AttachedAbove,
1969 Self::AttachedAboveRight,
1970 Self::BelowLeft,
1971 Self::Below,
1972 Self::BelowRight,
1973 Self::Left,
1974 Self::Right,
1975 Self::AboveLeft,
1976 Self::Above,
1977 Self::AboveRight,
1978 Self::DoubleBelow,
1979 Self::DoubleAbove,
1980 Self::IotaSubscript,
1981 ];
1982
1983 #[cfg(feature = "datagen")]
1984 #[doc(hidden)]
1985 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
1986 [
1987 ("NR", Self::NotReordered),
1988 ("OV", Self::Overlay),
1989 ("HANR", Self::HanReading),
1990 ("NK", Self::Nukta),
1991 ("KV", Self::KanaVoicing),
1992 ("VR", Self::Virama),
1993 ("CCC10", Self::CCC10),
1994 ("CCC11", Self::CCC11),
1995 ("CCC12", Self::CCC12),
1996 ("CCC13", Self::CCC13),
1997 ("CCC14", Self::CCC14),
1998 ("CCC15", Self::CCC15),
1999 ("CCC16", Self::CCC16),
2000 ("CCC17", Self::CCC17),
2001 ("CCC18", Self::CCC18),
2002 ("CCC19", Self::CCC19),
2003 ("CCC20", Self::CCC20),
2004 ("CCC21", Self::CCC21),
2005 ("CCC22", Self::CCC22),
2006 ("CCC23", Self::CCC23),
2007 ("CCC24", Self::CCC24),
2008 ("CCC25", Self::CCC25),
2009 ("CCC26", Self::CCC26),
2010 ("CCC27", Self::CCC27),
2011 ("CCC28", Self::CCC28),
2012 ("CCC29", Self::CCC29),
2013 ("CCC30", Self::CCC30),
2014 ("CCC31", Self::CCC31),
2015 ("CCC32", Self::CCC32),
2016 ("CCC33", Self::CCC33),
2017 ("CCC34", Self::CCC34),
2018 ("CCC35", Self::CCC35),
2019 ("CCC36", Self::CCC36),
2020 ("CCC84", Self::CCC84),
2021 ("CCC91", Self::CCC91),
2022 ("CCC103", Self::CCC103),
2023 ("CCC107", Self::CCC107),
2024 ("CCC118", Self::CCC118),
2025 ("CCC122", Self::CCC122),
2026 ("CCC129", Self::CCC129),
2027 ("CCC130", Self::CCC130),
2028 ("CCC132", Self::CCC132),
2029 ("CCC133", Self::CCC133),
2030 ("ATBL", Self::AttachedBelowLeft),
2031 ("ATB", Self::AttachedBelow),
2032 ("ATA", Self::AttachedAbove),
2033 ("ATAR", Self::AttachedAboveRight),
2034 ("BL", Self::BelowLeft),
2035 ("B", Self::Below),
2036 ("BR", Self::BelowRight),
2037 ("L", Self::Left),
2038 ("R", Self::Right),
2039 ("AL", Self::AboveLeft),
2040 ("A", Self::Above),
2041 ("AR", Self::AboveRight),
2042 ("DB", Self::DoubleBelow),
2043 ("DA", Self::DoubleAbove),
2044 ("IS", Self::IotaSubscript),
2045 ].into_iter()
2046 }
2047}
2048
2049impl EastAsianWidth {
2050 pub const Neutral: Self = Self(0);
2051 pub const N: Self = Self::Neutral;
2052 pub const Ambiguous: Self = Self(1);
2053 pub const A: Self = Self::Ambiguous;
2054 pub const Halfwidth: Self = Self(2);
2055 pub const H: Self = Self::Halfwidth;
2056 pub const Fullwidth: Self = Self(3);
2057 pub const F: Self = Self::Fullwidth;
2058 pub const Narrow: Self = Self(4);
2059 pub const Na: Self = Self::Narrow;
2060 pub const Wide: Self = Self(5);
2061 pub const W: Self = Self::Wide;
2062}
2063
2064#[cfg(feature = "datagen")]
2065impl databake::Bake for EastAsianWidth {
2066 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2067 env.insert("icu_properties");
2068 match *self {
2069 Self::Neutral => databake::quote!(icu_properties::props::EastAsianWidth::Neutral),
2070 Self::Ambiguous => databake::quote!(icu_properties::props::EastAsianWidth::Ambiguous),
2071 Self::Halfwidth => databake::quote!(icu_properties::props::EastAsianWidth::Halfwidth),
2072 Self::Fullwidth => databake::quote!(icu_properties::props::EastAsianWidth::Fullwidth),
2073 Self::Narrow => databake::quote!(icu_properties::props::EastAsianWidth::Narrow),
2074 Self::Wide => databake::quote!(icu_properties::props::EastAsianWidth::Wide),
2075 Self(v) => databake::quote!(icu_properties::props::EastAsianWidth(#v)),
2076 }
2077 }
2078}
2079
2080
2081impl From<EastAsianWidth> for u16 {
2082 fn from(other: EastAsianWidth) -> Self {
2083 other.0 as u16
2084 }
2085}
2086
2087impl EastAsianWidth {
2088 #[deprecated]
2090 pub const ALL_VALUES: &'static [Self] = &[
2091 Self::Neutral,
2092 Self::Ambiguous,
2093 Self::Halfwidth,
2094 Self::Fullwidth,
2095 Self::Narrow,
2096 Self::Wide,
2097 ];
2098
2099 #[cfg(feature = "datagen")]
2100 #[doc(hidden)]
2101 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2102 [
2103 ("N", Self::Neutral),
2104 ("A", Self::Ambiguous),
2105 ("H", Self::Halfwidth),
2106 ("F", Self::Fullwidth),
2107 ("Na", Self::Narrow),
2108 ("W", Self::Wide),
2109 ].into_iter()
2110 }
2111}
2112
2113#[derive(#[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::marker::Copy for GeneralCategory { }Copy, #[automatically_derived]#[doc(hidden)]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
unsafe impl ::core::clone::TrivialClone for GeneralCategory { }
#[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::clone::Clone for GeneralCategory {
#[inline]
fn clone(&self) -> Self { *self }
}Clone, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::marker::StructuralPartialEq for GeneralCategory { }
#[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::cmp::PartialEq for GeneralCategory {
#[inline]
fn eq(&self, other: &Self) -> bool {
::core::intrinsics::discriminant_value(self) ==
::core::intrinsics::discriminant_value(other)
}
}PartialEq, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::cmp::Eq for GeneralCategory { }Eq, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::fmt::Debug for GeneralCategory {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_c_like_enum_write_str(f,
"Unassigned UppercaseLetter LowercaseLetter TitlecaseLetter ModifierLetter OtherLetter NonspacingMark EnclosingMark SpacingMark DecimalNumber LetterNumber OtherNumber SpaceSeparator LineSeparator ParagraphSeparator Control Format PrivateUse Surrogate DashPunctuation OpenPunctuation ClosePunctuation ConnectorPunctuation OtherPunctuation MathSymbol CurrencySymbol ModifierSymbol OtherSymbol InitialPunctuation FinalPunctuation",
match self {
GeneralCategory::Unassigned => 0usize,
GeneralCategory::UppercaseLetter => 11usize,
GeneralCategory::LowercaseLetter => 27usize,
GeneralCategory::TitlecaseLetter => 43usize,
GeneralCategory::ModifierLetter => 59usize,
GeneralCategory::OtherLetter => 74usize,
GeneralCategory::NonspacingMark => 86usize,
GeneralCategory::EnclosingMark => 101usize,
GeneralCategory::SpacingMark => 115usize,
GeneralCategory::DecimalNumber => 127usize,
GeneralCategory::LetterNumber => 141usize,
GeneralCategory::OtherNumber => 154usize,
GeneralCategory::SpaceSeparator => 166usize,
GeneralCategory::LineSeparator => 181usize,
GeneralCategory::ParagraphSeparator => 195usize,
GeneralCategory::Control => 214usize,
GeneralCategory::Format => 222usize,
GeneralCategory::PrivateUse => 229usize,
GeneralCategory::Surrogate => 240usize,
GeneralCategory::DashPunctuation => 250usize,
GeneralCategory::OpenPunctuation => 266usize,
GeneralCategory::ClosePunctuation => 282usize,
GeneralCategory::ConnectorPunctuation => 299usize,
GeneralCategory::OtherPunctuation => 320usize,
GeneralCategory::MathSymbol => 337usize,
GeneralCategory::CurrencySymbol => 348usize,
GeneralCategory::ModifierSymbol => 363usize,
GeneralCategory::OtherSymbol => 378usize,
GeneralCategory::InitialPunctuation => 390usize,
GeneralCategory::FinalPunctuation => 409usize,
})
}
}Debug, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::cmp::Ord for GeneralCategory {
#[inline]
fn cmp(&self, other: &Self) -> ::core::cmp::Ordering {
::core::cmp::Ord::cmp(&::core::intrinsics::discriminant_value(self),
&::core::intrinsics::discriminant_value(other))
}
}Ord, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::cmp::PartialOrd for GeneralCategory {
#[inline]
fn partial_cmp(&self, other: &Self)
-> ::core::option::Option<::core::cmp::Ordering> {
::core::option::Option::Some(::core::cmp::Ord::cmp(self, other))
}
}PartialOrd, #[automatically_derived]#[allow(clippy::exhaustive_enums)]
#[allow(missing_docs)]
impl ::core::hash::Hash for GeneralCategory {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
::core::hash::Hash::hash(&::core::intrinsics::discriminant_value(self),
state)
}
}Hash)]
2114#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
2115#[allow(clippy::exhaustive_enums)] #[automatically_derived]impl ::core::cmp::Eq for GeneralCategoryULE {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {
let _: ::core::cmp::AssertParamIsEq<u8>;
}
}
unsafe impl zerovec::ule::ULE for GeneralCategoryULE {
#[inline]
fn validate_bytes(bytes: &[u8]) -> Result<(), zerovec::ule::UleError> {
for byte in bytes {
match *byte {
0u8 | 1u8 | 2u8 | 3u8 | 4u8 | 5u8 | 6u8 | 7u8 | 8u8 | 9u8 |
10u8 | 11u8 | 12u8 | 13u8 | 14u8 | 15u8 | 16u8 | 17u8 | 18u8
| 19u8 | 20u8 | 21u8 | 22u8 | 23u8 | 24u8 | 25u8 | 26u8 |
27u8 | 28u8 | 29u8 => {}
_ => return Err(zerovec::ule::UleError::parse::<Self>()),
}
}
Ok(())
}
}
impl zerovec::ule::AsULE for GeneralCategory {
type ULE = GeneralCategoryULE;
fn to_unaligned(self) -> Self::ULE { GeneralCategoryULE(self as u8) }
fn from_unaligned(other: Self::ULE) -> Self {
unsafe { ::core::mem::transmute::<u8, Self>(other.0) }
}
}
impl GeneralCategory {
#[doc =
r" Attempt to construct the value from its corresponding integer,"]
#[doc = r" returning `None` if not possible"]
pub(crate) fn new_from_u8(value: u8) -> Option<Self> {
if <GeneralCategoryULE as
zerovec::ule::ULE>::validate_bytes(&[value]).is_ok() {
Some(zerovec::ule::AsULE::from_unaligned(GeneralCategoryULE(value)))
} else { None }
}
}#[zerovec::make_ule(GeneralCategoryULE)]
2117#[cfg_attr(not(feature = "alloc"), zerovec::skip_derive(ZeroMapKV))]
2118#[repr(u8)]
2119#[allow(missing_docs)] pub enum GeneralCategory {
2121 Unassigned = 0,
2122 UppercaseLetter = 1,
2123 LowercaseLetter = 2,
2124 TitlecaseLetter = 3,
2125 ModifierLetter = 4,
2126 OtherLetter = 5,
2127 NonspacingMark = 6,
2128 EnclosingMark = 7,
2129 SpacingMark = 8,
2130 DecimalNumber = 9,
2131 LetterNumber = 10,
2132 OtherNumber = 11,
2133 SpaceSeparator = 12,
2134 LineSeparator = 13,
2135 ParagraphSeparator = 14,
2136 Control = 15,
2137 Format = 16,
2138 PrivateUse = 17,
2139 Surrogate = 18,
2140 DashPunctuation = 19,
2141 OpenPunctuation = 20,
2142 ClosePunctuation = 21,
2143 ConnectorPunctuation = 22,
2144 OtherPunctuation = 23,
2145 MathSymbol = 24,
2146 CurrencySymbol = 25,
2147 ModifierSymbol = 26,
2148 OtherSymbol = 27,
2149 InitialPunctuation = 28,
2150 FinalPunctuation = 29,
2151}
2152
2153impl GeneralCategory {
2154 pub const Cn: Self = Self::Unassigned;
2155 pub const Lu: Self = Self::UppercaseLetter;
2156 pub const Ll: Self = Self::LowercaseLetter;
2157 pub const Lt: Self = Self::TitlecaseLetter;
2158 pub const Lm: Self = Self::ModifierLetter;
2159 pub const Lo: Self = Self::OtherLetter;
2160 pub const Mn: Self = Self::NonspacingMark;
2161 pub const Me: Self = Self::EnclosingMark;
2162 pub const Mc: Self = Self::SpacingMark;
2163 pub const Nd: Self = Self::DecimalNumber;
2164 pub const Digit: Self = Self::DecimalNumber;
2165 pub const Nl: Self = Self::LetterNumber;
2166 pub const No: Self = Self::OtherNumber;
2167 pub const Zs: Self = Self::SpaceSeparator;
2168 pub const Zl: Self = Self::LineSeparator;
2169 pub const Zp: Self = Self::ParagraphSeparator;
2170 pub const Cc: Self = Self::Control;
2171 pub const Cntrl: Self = Self::Control;
2172 pub const Cf: Self = Self::Format;
2173 pub const Co: Self = Self::PrivateUse;
2174 pub const Cs: Self = Self::Surrogate;
2175 pub const Pd: Self = Self::DashPunctuation;
2176 pub const Ps: Self = Self::OpenPunctuation;
2177 pub const Pe: Self = Self::ClosePunctuation;
2178 pub const Pc: Self = Self::ConnectorPunctuation;
2179 pub const Po: Self = Self::OtherPunctuation;
2180 pub const Sm: Self = Self::MathSymbol;
2181 pub const Sc: Self = Self::CurrencySymbol;
2182 pub const Sk: Self = Self::ModifierSymbol;
2183 pub const So: Self = Self::OtherSymbol;
2184 pub const Pi: Self = Self::InitialPunctuation;
2185 pub const Pf: Self = Self::FinalPunctuation;
2186}
2187
2188#[cfg(feature = "datagen")]
2189impl databake::Bake for GeneralCategory {
2190 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2191 env.insert("icu_properties");
2192 match *self {
2193 Self::Unassigned => databake::quote!(icu_properties::props::GeneralCategory::Unassigned),
2194 Self::UppercaseLetter => databake::quote!(icu_properties::props::GeneralCategory::UppercaseLetter),
2195 Self::LowercaseLetter => databake::quote!(icu_properties::props::GeneralCategory::LowercaseLetter),
2196 Self::TitlecaseLetter => databake::quote!(icu_properties::props::GeneralCategory::TitlecaseLetter),
2197 Self::ModifierLetter => databake::quote!(icu_properties::props::GeneralCategory::ModifierLetter),
2198 Self::OtherLetter => databake::quote!(icu_properties::props::GeneralCategory::OtherLetter),
2199 Self::NonspacingMark => databake::quote!(icu_properties::props::GeneralCategory::NonspacingMark),
2200 Self::EnclosingMark => databake::quote!(icu_properties::props::GeneralCategory::EnclosingMark),
2201 Self::SpacingMark => databake::quote!(icu_properties::props::GeneralCategory::SpacingMark),
2202 Self::DecimalNumber => databake::quote!(icu_properties::props::GeneralCategory::DecimalNumber),
2203 Self::LetterNumber => databake::quote!(icu_properties::props::GeneralCategory::LetterNumber),
2204 Self::OtherNumber => databake::quote!(icu_properties::props::GeneralCategory::OtherNumber),
2205 Self::SpaceSeparator => databake::quote!(icu_properties::props::GeneralCategory::SpaceSeparator),
2206 Self::LineSeparator => databake::quote!(icu_properties::props::GeneralCategory::LineSeparator),
2207 Self::ParagraphSeparator => databake::quote!(icu_properties::props::GeneralCategory::ParagraphSeparator),
2208 Self::Control => databake::quote!(icu_properties::props::GeneralCategory::Control),
2209 Self::Format => databake::quote!(icu_properties::props::GeneralCategory::Format),
2210 Self::PrivateUse => databake::quote!(icu_properties::props::GeneralCategory::PrivateUse),
2211 Self::Surrogate => databake::quote!(icu_properties::props::GeneralCategory::Surrogate),
2212 Self::DashPunctuation => databake::quote!(icu_properties::props::GeneralCategory::DashPunctuation),
2213 Self::OpenPunctuation => databake::quote!(icu_properties::props::GeneralCategory::OpenPunctuation),
2214 Self::ClosePunctuation => databake::quote!(icu_properties::props::GeneralCategory::ClosePunctuation),
2215 Self::ConnectorPunctuation => databake::quote!(icu_properties::props::GeneralCategory::ConnectorPunctuation),
2216 Self::OtherPunctuation => databake::quote!(icu_properties::props::GeneralCategory::OtherPunctuation),
2217 Self::MathSymbol => databake::quote!(icu_properties::props::GeneralCategory::MathSymbol),
2218 Self::CurrencySymbol => databake::quote!(icu_properties::props::GeneralCategory::CurrencySymbol),
2219 Self::ModifierSymbol => databake::quote!(icu_properties::props::GeneralCategory::ModifierSymbol),
2220 Self::OtherSymbol => databake::quote!(icu_properties::props::GeneralCategory::OtherSymbol),
2221 Self::InitialPunctuation => databake::quote!(icu_properties::props::GeneralCategory::InitialPunctuation),
2222 Self::FinalPunctuation => databake::quote!(icu_properties::props::GeneralCategory::FinalPunctuation),
2223 }
2224 }
2225}
2226
2227
2228impl From<GeneralCategory> for u16 {
2229 fn from(other: GeneralCategory) -> Self {
2230 other as u16
2231 }
2232}
2233
2234impl GeneralCategory {
2235 #[deprecated]
2237 pub const ALL_VALUES: &'static [Self] = &[
2238 Self::Unassigned,
2239 Self::UppercaseLetter,
2240 Self::LowercaseLetter,
2241 Self::TitlecaseLetter,
2242 Self::ModifierLetter,
2243 Self::OtherLetter,
2244 Self::NonspacingMark,
2245 Self::EnclosingMark,
2246 Self::SpacingMark,
2247 Self::DecimalNumber,
2248 Self::LetterNumber,
2249 Self::OtherNumber,
2250 Self::SpaceSeparator,
2251 Self::LineSeparator,
2252 Self::ParagraphSeparator,
2253 Self::Control,
2254 Self::Format,
2255 Self::PrivateUse,
2256 Self::Surrogate,
2257 Self::DashPunctuation,
2258 Self::OpenPunctuation,
2259 Self::ClosePunctuation,
2260 Self::ConnectorPunctuation,
2261 Self::OtherPunctuation,
2262 Self::MathSymbol,
2263 Self::CurrencySymbol,
2264 Self::ModifierSymbol,
2265 Self::OtherSymbol,
2266 Self::InitialPunctuation,
2267 Self::FinalPunctuation,
2268 ];
2269
2270 #[cfg(feature = "datagen")]
2271 #[doc(hidden)]
2272 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2273 [
2274 ("Cn", Self::Unassigned),
2275 ("Lu", Self::UppercaseLetter),
2276 ("Ll", Self::LowercaseLetter),
2277 ("Lt", Self::TitlecaseLetter),
2278 ("Lm", Self::ModifierLetter),
2279 ("Lo", Self::OtherLetter),
2280 ("Mn", Self::NonspacingMark),
2281 ("Me", Self::EnclosingMark),
2282 ("Mc", Self::SpacingMark),
2283 ("Nd", Self::DecimalNumber),
2284 ("Nl", Self::LetterNumber),
2285 ("No", Self::OtherNumber),
2286 ("Zs", Self::SpaceSeparator),
2287 ("Zl", Self::LineSeparator),
2288 ("Zp", Self::ParagraphSeparator),
2289 ("Cc", Self::Control),
2290 ("Cf", Self::Format),
2291 ("Co", Self::PrivateUse),
2292 ("Cs", Self::Surrogate),
2293 ("Pd", Self::DashPunctuation),
2294 ("Ps", Self::OpenPunctuation),
2295 ("Pe", Self::ClosePunctuation),
2296 ("Pc", Self::ConnectorPunctuation),
2297 ("Po", Self::OtherPunctuation),
2298 ("Sm", Self::MathSymbol),
2299 ("Sc", Self::CurrencySymbol),
2300 ("Sk", Self::ModifierSymbol),
2301 ("So", Self::OtherSymbol),
2302 ("Pi", Self::InitialPunctuation),
2303 ("Pf", Self::FinalPunctuation),
2304 ].into_iter()
2305 }
2306}
2307
2308impl GraphemeClusterBreak {
2309 pub const Other: Self = Self(0);
2310 pub const XX: Self = Self::Other;
2311 pub const Control: Self = Self(1);
2312 pub const CN: Self = Self::Control;
2313 pub const CR: Self = Self(2);
2314 pub const Extend: Self = Self(3);
2315 pub const EX: Self = Self::Extend;
2316 pub const L: Self = Self(4);
2317 pub const LF: Self = Self(5);
2318 pub const LV: Self = Self(6);
2319 pub const LVT: Self = Self(7);
2320 pub const T: Self = Self(8);
2321 pub const V: Self = Self(9);
2322 pub const SpacingMark: Self = Self(10);
2323 pub const SM: Self = Self::SpacingMark;
2324 pub const Prepend: Self = Self(11);
2325 pub const PP: Self = Self::Prepend;
2326 pub const RegionalIndicator: Self = Self(12);
2327 pub const RI: Self = Self::RegionalIndicator;
2328 pub const EBase: Self = Self(13);
2329 pub const EB: Self = Self::EBase;
2330 pub const EBaseGAZ: Self = Self(14);
2331 pub const EBG: Self = Self::EBaseGAZ;
2332 pub const EModifier: Self = Self(15);
2333 pub const EM: Self = Self::EModifier;
2334 pub const GlueAfterZwj: Self = Self(16);
2335 pub const GAZ: Self = Self::GlueAfterZwj;
2336 pub const ZWJ: Self = Self(17);
2337}
2338
2339#[cfg(feature = "datagen")]
2340impl databake::Bake for GraphemeClusterBreak {
2341 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2342 env.insert("icu_properties");
2343 match *self {
2344 Self::Other => databake::quote!(icu_properties::props::GraphemeClusterBreak::Other),
2345 Self::Control => databake::quote!(icu_properties::props::GraphemeClusterBreak::Control),
2346 Self::CR => databake::quote!(icu_properties::props::GraphemeClusterBreak::CR),
2347 Self::Extend => databake::quote!(icu_properties::props::GraphemeClusterBreak::Extend),
2348 Self::L => databake::quote!(icu_properties::props::GraphemeClusterBreak::L),
2349 Self::LF => databake::quote!(icu_properties::props::GraphemeClusterBreak::LF),
2350 Self::LV => databake::quote!(icu_properties::props::GraphemeClusterBreak::LV),
2351 Self::LVT => databake::quote!(icu_properties::props::GraphemeClusterBreak::LVT),
2352 Self::T => databake::quote!(icu_properties::props::GraphemeClusterBreak::T),
2353 Self::V => databake::quote!(icu_properties::props::GraphemeClusterBreak::V),
2354 Self::SpacingMark => databake::quote!(icu_properties::props::GraphemeClusterBreak::SpacingMark),
2355 Self::Prepend => databake::quote!(icu_properties::props::GraphemeClusterBreak::Prepend),
2356 Self::RegionalIndicator => databake::quote!(icu_properties::props::GraphemeClusterBreak::RegionalIndicator),
2357 Self::EBase => databake::quote!(icu_properties::props::GraphemeClusterBreak::EBase),
2358 Self::EBaseGAZ => databake::quote!(icu_properties::props::GraphemeClusterBreak::EBaseGAZ),
2359 Self::EModifier => databake::quote!(icu_properties::props::GraphemeClusterBreak::EModifier),
2360 Self::GlueAfterZwj => databake::quote!(icu_properties::props::GraphemeClusterBreak::GlueAfterZwj),
2361 Self::ZWJ => databake::quote!(icu_properties::props::GraphemeClusterBreak::ZWJ),
2362 Self(v) => databake::quote!(icu_properties::props::GraphemeClusterBreak(#v)),
2363 }
2364 }
2365}
2366
2367
2368impl From<GraphemeClusterBreak> for u16 {
2369 fn from(other: GraphemeClusterBreak) -> Self {
2370 other.0 as u16
2371 }
2372}
2373
2374impl GraphemeClusterBreak {
2375 #[deprecated]
2377 pub const ALL_VALUES: &'static [Self] = &[
2378 Self::Other,
2379 Self::Control,
2380 Self::CR,
2381 Self::Extend,
2382 Self::L,
2383 Self::LF,
2384 Self::LV,
2385 Self::LVT,
2386 Self::T,
2387 Self::V,
2388 Self::SpacingMark,
2389 Self::Prepend,
2390 Self::RegionalIndicator,
2391 Self::EBase,
2392 Self::EBaseGAZ,
2393 Self::EModifier,
2394 Self::GlueAfterZwj,
2395 Self::ZWJ,
2396 ];
2397
2398 #[cfg(feature = "datagen")]
2399 #[doc(hidden)]
2400 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2401 [
2402 ("XX", Self::Other),
2403 ("CN", Self::Control),
2404 ("CR", Self::CR),
2405 ("EX", Self::Extend),
2406 ("L", Self::L),
2407 ("LF", Self::LF),
2408 ("LV", Self::LV),
2409 ("LVT", Self::LVT),
2410 ("T", Self::T),
2411 ("V", Self::V),
2412 ("SM", Self::SpacingMark),
2413 ("PP", Self::Prepend),
2414 ("RI", Self::RegionalIndicator),
2415 ("EB", Self::EBase),
2416 ("EBG", Self::EBaseGAZ),
2417 ("EM", Self::EModifier),
2418 ("GAZ", Self::GlueAfterZwj),
2419 ("ZWJ", Self::ZWJ),
2420 ].into_iter()
2421 }
2422}
2423
2424impl HangulSyllableType {
2425 pub const NotApplicable: Self = Self(0);
2426 pub const NA: Self = Self::NotApplicable;
2427 pub const LeadingJamo: Self = Self(1);
2428 pub const L: Self = Self::LeadingJamo;
2429 pub const VowelJamo: Self = Self(2);
2430 pub const V: Self = Self::VowelJamo;
2431 pub const TrailingJamo: Self = Self(3);
2432 pub const T: Self = Self::TrailingJamo;
2433 pub const LVSyllable: Self = Self(4);
2434 pub const LV: Self = Self::LVSyllable;
2435 pub const LVTSyllable: Self = Self(5);
2436 pub const LVT: Self = Self::LVTSyllable;
2437}
2438
2439#[cfg(feature = "datagen")]
2440impl databake::Bake for HangulSyllableType {
2441 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2442 env.insert("icu_properties");
2443 match *self {
2444 Self::NotApplicable => databake::quote!(icu_properties::props::HangulSyllableType::NotApplicable),
2445 Self::LeadingJamo => databake::quote!(icu_properties::props::HangulSyllableType::LeadingJamo),
2446 Self::VowelJamo => databake::quote!(icu_properties::props::HangulSyllableType::VowelJamo),
2447 Self::TrailingJamo => databake::quote!(icu_properties::props::HangulSyllableType::TrailingJamo),
2448 Self::LVSyllable => databake::quote!(icu_properties::props::HangulSyllableType::LVSyllable),
2449 Self::LVTSyllable => databake::quote!(icu_properties::props::HangulSyllableType::LVTSyllable),
2450 Self(v) => databake::quote!(icu_properties::props::HangulSyllableType(#v)),
2451 }
2452 }
2453}
2454
2455
2456impl From<HangulSyllableType> for u16 {
2457 fn from(other: HangulSyllableType) -> Self {
2458 other.0 as u16
2459 }
2460}
2461
2462impl HangulSyllableType {
2463 #[deprecated]
2465 pub const ALL_VALUES: &'static [Self] = &[
2466 Self::NotApplicable,
2467 Self::LeadingJamo,
2468 Self::VowelJamo,
2469 Self::TrailingJamo,
2470 Self::LVSyllable,
2471 Self::LVTSyllable,
2472 ];
2473
2474 #[cfg(feature = "datagen")]
2475 #[doc(hidden)]
2476 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2477 [
2478 ("NA", Self::NotApplicable),
2479 ("L", Self::LeadingJamo),
2480 ("V", Self::VowelJamo),
2481 ("T", Self::TrailingJamo),
2482 ("LV", Self::LVSyllable),
2483 ("LVT", Self::LVTSyllable),
2484 ].into_iter()
2485 }
2486}
2487
2488impl IndicConjunctBreak {
2489 pub const None: Self = Self(0);
2490 pub const Consonant: Self = Self(1);
2491 pub const Extend: Self = Self(2);
2492 pub const Linker: Self = Self(3);
2493}
2494
2495#[cfg(feature = "datagen")]
2496impl databake::Bake for IndicConjunctBreak {
2497 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2498 env.insert("icu_properties");
2499 match *self {
2500 Self::None => databake::quote!(icu_properties::props::IndicConjunctBreak::None),
2501 Self::Consonant => databake::quote!(icu_properties::props::IndicConjunctBreak::Consonant),
2502 Self::Extend => databake::quote!(icu_properties::props::IndicConjunctBreak::Extend),
2503 Self::Linker => databake::quote!(icu_properties::props::IndicConjunctBreak::Linker),
2504 Self(v) => databake::quote!(icu_properties::props::IndicConjunctBreak(#v)),
2505 }
2506 }
2507}
2508
2509
2510impl From<IndicConjunctBreak> for u16 {
2511 fn from(other: IndicConjunctBreak) -> Self {
2512 other.0 as u16
2513 }
2514}
2515
2516impl IndicConjunctBreak {
2517 #[deprecated]
2519 pub const ALL_VALUES: &'static [Self] = &[
2520 Self::None,
2521 Self::Consonant,
2522 Self::Extend,
2523 Self::Linker,
2524 ];
2525
2526 #[cfg(feature = "datagen")]
2527 #[doc(hidden)]
2528 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2529 [
2530 ("None", Self::None),
2531 ("Consonant", Self::Consonant),
2532 ("Extend", Self::Extend),
2533 ("Linker", Self::Linker),
2534 ].into_iter()
2535 }
2536}
2537
2538impl IndicSyllabicCategory {
2539 pub const Other: Self = Self(0);
2540 pub const Avagraha: Self = Self(1);
2541 pub const Bindu: Self = Self(2);
2542 pub const BrahmiJoiningNumber: Self = Self(3);
2543 pub const CantillationMark: Self = Self(4);
2544 pub const Consonant: Self = Self(5);
2545 pub const ConsonantDead: Self = Self(6);
2546 pub const ConsonantFinal: Self = Self(7);
2547 pub const ConsonantHeadLetter: Self = Self(8);
2548 pub const ConsonantInitialPostfixed: Self = Self(9);
2549 pub const ConsonantKiller: Self = Self(10);
2550 pub const ConsonantMedial: Self = Self(11);
2551 pub const ConsonantPlaceholder: Self = Self(12);
2552 pub const ConsonantPrecedingRepha: Self = Self(13);
2553 pub const ConsonantPrefixed: Self = Self(14);
2554 pub const ConsonantSubjoined: Self = Self(15);
2555 pub const ConsonantSucceedingRepha: Self = Self(16);
2556 pub const ConsonantWithStacker: Self = Self(17);
2557 pub const GeminationMark: Self = Self(18);
2558 pub const InvisibleStacker: Self = Self(19);
2559 pub const Joiner: Self = Self(20);
2560 pub const ModifyingLetter: Self = Self(21);
2561 pub const NonJoiner: Self = Self(22);
2562 pub const Nukta: Self = Self(23);
2563 pub const Number: Self = Self(24);
2564 pub const NumberJoiner: Self = Self(25);
2565 pub const PureKiller: Self = Self(26);
2566 pub const RegisterShifter: Self = Self(27);
2567 pub const SyllableModifier: Self = Self(28);
2568 pub const ToneLetter: Self = Self(29);
2569 pub const ToneMark: Self = Self(30);
2570 pub const Virama: Self = Self(31);
2571 pub const Visarga: Self = Self(32);
2572 pub const Vowel: Self = Self(33);
2573 pub const VowelDependent: Self = Self(34);
2574 pub const VowelIndependent: Self = Self(35);
2575 pub const ReorderingKiller: Self = Self(36);
2576}
2577
2578#[cfg(feature = "datagen")]
2579impl databake::Bake for IndicSyllabicCategory {
2580 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2581 env.insert("icu_properties");
2582 match *self {
2583 Self::Other => databake::quote!(icu_properties::props::IndicSyllabicCategory::Other),
2584 Self::Avagraha => databake::quote!(icu_properties::props::IndicSyllabicCategory::Avagraha),
2585 Self::Bindu => databake::quote!(icu_properties::props::IndicSyllabicCategory::Bindu),
2586 Self::BrahmiJoiningNumber => databake::quote!(icu_properties::props::IndicSyllabicCategory::BrahmiJoiningNumber),
2587 Self::CantillationMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::CantillationMark),
2588 Self::Consonant => databake::quote!(icu_properties::props::IndicSyllabicCategory::Consonant),
2589 Self::ConsonantDead => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantDead),
2590 Self::ConsonantFinal => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantFinal),
2591 Self::ConsonantHeadLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantHeadLetter),
2592 Self::ConsonantInitialPostfixed => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantInitialPostfixed),
2593 Self::ConsonantKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantKiller),
2594 Self::ConsonantMedial => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantMedial),
2595 Self::ConsonantPlaceholder => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPlaceholder),
2596 Self::ConsonantPrecedingRepha => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPrecedingRepha),
2597 Self::ConsonantPrefixed => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantPrefixed),
2598 Self::ConsonantSubjoined => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantSubjoined),
2599 Self::ConsonantSucceedingRepha => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantSucceedingRepha),
2600 Self::ConsonantWithStacker => databake::quote!(icu_properties::props::IndicSyllabicCategory::ConsonantWithStacker),
2601 Self::GeminationMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::GeminationMark),
2602 Self::InvisibleStacker => databake::quote!(icu_properties::props::IndicSyllabicCategory::InvisibleStacker),
2603 Self::Joiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::Joiner),
2604 Self::ModifyingLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ModifyingLetter),
2605 Self::NonJoiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::NonJoiner),
2606 Self::Nukta => databake::quote!(icu_properties::props::IndicSyllabicCategory::Nukta),
2607 Self::Number => databake::quote!(icu_properties::props::IndicSyllabicCategory::Number),
2608 Self::NumberJoiner => databake::quote!(icu_properties::props::IndicSyllabicCategory::NumberJoiner),
2609 Self::PureKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::PureKiller),
2610 Self::RegisterShifter => databake::quote!(icu_properties::props::IndicSyllabicCategory::RegisterShifter),
2611 Self::SyllableModifier => databake::quote!(icu_properties::props::IndicSyllabicCategory::SyllableModifier),
2612 Self::ToneLetter => databake::quote!(icu_properties::props::IndicSyllabicCategory::ToneLetter),
2613 Self::ToneMark => databake::quote!(icu_properties::props::IndicSyllabicCategory::ToneMark),
2614 Self::Virama => databake::quote!(icu_properties::props::IndicSyllabicCategory::Virama),
2615 Self::Visarga => databake::quote!(icu_properties::props::IndicSyllabicCategory::Visarga),
2616 Self::Vowel => databake::quote!(icu_properties::props::IndicSyllabicCategory::Vowel),
2617 Self::VowelDependent => databake::quote!(icu_properties::props::IndicSyllabicCategory::VowelDependent),
2618 Self::VowelIndependent => databake::quote!(icu_properties::props::IndicSyllabicCategory::VowelIndependent),
2619 Self::ReorderingKiller => databake::quote!(icu_properties::props::IndicSyllabicCategory::ReorderingKiller),
2620 Self(v) => databake::quote!(icu_properties::props::IndicSyllabicCategory(#v)),
2621 }
2622 }
2623}
2624
2625
2626impl From<IndicSyllabicCategory> for u16 {
2627 fn from(other: IndicSyllabicCategory) -> Self {
2628 other.0 as u16
2629 }
2630}
2631
2632impl IndicSyllabicCategory {
2633 #[deprecated]
2635 pub const ALL_VALUES: &'static [Self] = &[
2636 Self::Other,
2637 Self::Avagraha,
2638 Self::Bindu,
2639 Self::BrahmiJoiningNumber,
2640 Self::CantillationMark,
2641 Self::Consonant,
2642 Self::ConsonantDead,
2643 Self::ConsonantFinal,
2644 Self::ConsonantHeadLetter,
2645 Self::ConsonantInitialPostfixed,
2646 Self::ConsonantKiller,
2647 Self::ConsonantMedial,
2648 Self::ConsonantPlaceholder,
2649 Self::ConsonantPrecedingRepha,
2650 Self::ConsonantPrefixed,
2651 Self::ConsonantSubjoined,
2652 Self::ConsonantSucceedingRepha,
2653 Self::ConsonantWithStacker,
2654 Self::GeminationMark,
2655 Self::InvisibleStacker,
2656 Self::Joiner,
2657 Self::ModifyingLetter,
2658 Self::NonJoiner,
2659 Self::Nukta,
2660 Self::Number,
2661 Self::NumberJoiner,
2662 Self::PureKiller,
2663 Self::RegisterShifter,
2664 Self::SyllableModifier,
2665 Self::ToneLetter,
2666 Self::ToneMark,
2667 Self::Virama,
2668 Self::Visarga,
2669 Self::Vowel,
2670 Self::VowelDependent,
2671 Self::VowelIndependent,
2672 Self::ReorderingKiller,
2673 ];
2674
2675 #[cfg(feature = "datagen")]
2676 #[doc(hidden)]
2677 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
2678 [
2679 ("Other", Self::Other),
2680 ("Avagraha", Self::Avagraha),
2681 ("Bindu", Self::Bindu),
2682 ("Brahmi_Joining_Number", Self::BrahmiJoiningNumber),
2683 ("Cantillation_Mark", Self::CantillationMark),
2684 ("Consonant", Self::Consonant),
2685 ("Consonant_Dead", Self::ConsonantDead),
2686 ("Consonant_Final", Self::ConsonantFinal),
2687 ("Consonant_Head_Letter", Self::ConsonantHeadLetter),
2688 ("Consonant_Initial_Postfixed", Self::ConsonantInitialPostfixed),
2689 ("Consonant_Killer", Self::ConsonantKiller),
2690 ("Consonant_Medial", Self::ConsonantMedial),
2691 ("Consonant_Placeholder", Self::ConsonantPlaceholder),
2692 ("Consonant_Preceding_Repha", Self::ConsonantPrecedingRepha),
2693 ("Consonant_Prefixed", Self::ConsonantPrefixed),
2694 ("Consonant_Subjoined", Self::ConsonantSubjoined),
2695 ("Consonant_Succeeding_Repha", Self::ConsonantSucceedingRepha),
2696 ("Consonant_With_Stacker", Self::ConsonantWithStacker),
2697 ("Gemination_Mark", Self::GeminationMark),
2698 ("Invisible_Stacker", Self::InvisibleStacker),
2699 ("Joiner", Self::Joiner),
2700 ("Modifying_Letter", Self::ModifyingLetter),
2701 ("Non_Joiner", Self::NonJoiner),
2702 ("Nukta", Self::Nukta),
2703 ("Number", Self::Number),
2704 ("Number_Joiner", Self::NumberJoiner),
2705 ("Pure_Killer", Self::PureKiller),
2706 ("Register_Shifter", Self::RegisterShifter),
2707 ("Syllable_Modifier", Self::SyllableModifier),
2708 ("Tone_Letter", Self::ToneLetter),
2709 ("Tone_Mark", Self::ToneMark),
2710 ("Virama", Self::Virama),
2711 ("Visarga", Self::Visarga),
2712 ("Vowel", Self::Vowel),
2713 ("Vowel_Dependent", Self::VowelDependent),
2714 ("Vowel_Independent", Self::VowelIndependent),
2715 ("Reordering_Killer", Self::ReorderingKiller),
2716 ].into_iter()
2717 }
2718}
2719
2720impl JoiningGroup {
2721 pub const NoJoiningGroup: Self = Self(0);
2722 pub const Ain: Self = Self(1);
2723 pub const Alaph: Self = Self(2);
2724 pub const Alef: Self = Self(3);
2725 pub const Beh: Self = Self(4);
2726 pub const Beth: Self = Self(5);
2727 pub const Dal: Self = Self(6);
2728 pub const DalathRish: Self = Self(7);
2729 pub const E: Self = Self(8);
2730 pub const Feh: Self = Self(9);
2731 pub const FinalSemkath: Self = Self(10);
2732 pub const Gaf: Self = Self(11);
2733 pub const Gamal: Self = Self(12);
2734 pub const Hah: Self = Self(13);
2735 pub const TehMarbutaGoal: Self = Self(14);
2736 pub const HamzaOnHehGoal: Self = Self::TehMarbutaGoal;
2737 pub const He: Self = Self(15);
2738 pub const Heh: Self = Self(16);
2739 pub const HehGoal: Self = Self(17);
2740 pub const Heth: Self = Self(18);
2741 pub const Kaf: Self = Self(19);
2742 pub const Kaph: Self = Self(20);
2743 pub const KnottedHeh: Self = Self(21);
2744 pub const Lam: Self = Self(22);
2745 pub const Lamadh: Self = Self(23);
2746 pub const Meem: Self = Self(24);
2747 pub const Mim: Self = Self(25);
2748 pub const Noon: Self = Self(26);
2749 pub const Nun: Self = Self(27);
2750 pub const Pe: Self = Self(28);
2751 pub const Qaf: Self = Self(29);
2752 pub const Qaph: Self = Self(30);
2753 pub const Reh: Self = Self(31);
2754 pub const ReversedPe: Self = Self(32);
2755 pub const Sad: Self = Self(33);
2756 pub const Sadhe: Self = Self(34);
2757 pub const Seen: Self = Self(35);
2758 pub const Semkath: Self = Self(36);
2759 pub const Shin: Self = Self(37);
2760 pub const SwashKaf: Self = Self(38);
2761 pub const SyriacWaw: Self = Self(39);
2762 pub const Tah: Self = Self(40);
2763 pub const Taw: Self = Self(41);
2764 pub const TehMarbuta: Self = Self(42);
2765 pub const Teth: Self = Self(43);
2766 pub const Waw: Self = Self(44);
2767 pub const Yeh: Self = Self(45);
2768 pub const YehBarree: Self = Self(46);
2769 pub const YehWithTail: Self = Self(47);
2770 pub const Yudh: Self = Self(48);
2771 pub const YudhHe: Self = Self(49);
2772 pub const Zain: Self = Self(50);
2773 pub const Fe: Self = Self(51);
2774 pub const Khaph: Self = Self(52);
2775 pub const Zhain: Self = Self(53);
2776 pub const BurushaskiYehBarree: Self = Self(54);
2777 pub const FarsiYeh: Self = Self(55);
2778 pub const Nya: Self = Self(56);
2779 pub const RohingyaYeh: Self = Self(57);
2780 pub const ManichaeanAleph: Self = Self(58);
2781 pub const ManichaeanAyin: Self = Self(59);
2782 pub const ManichaeanBeth: Self = Self(60);
2783 pub const ManichaeanDaleth: Self = Self(61);
2784 pub const ManichaeanDhamedh: Self = Self(62);
2785 pub const ManichaeanFive: Self = Self(63);
2786 pub const ManichaeanGimel: Self = Self(64);
2787 pub const ManichaeanHeth: Self = Self(65);
2788 pub const ManichaeanHundred: Self = Self(66);
2789 pub const ManichaeanKaph: Self = Self(67);
2790 pub const ManichaeanLamedh: Self = Self(68);
2791 pub const ManichaeanMem: Self = Self(69);
2792 pub const ManichaeanNun: Self = Self(70);
2793 pub const ManichaeanOne: Self = Self(71);
2794 pub const ManichaeanPe: Self = Self(72);
2795 pub const ManichaeanQoph: Self = Self(73);
2796 pub const ManichaeanResh: Self = Self(74);
2797 pub const ManichaeanSadhe: Self = Self(75);
2798 pub const ManichaeanSamekh: Self = Self(76);
2799 pub const ManichaeanTaw: Self = Self(77);
2800 pub const ManichaeanTen: Self = Self(78);
2801 pub const ManichaeanTeth: Self = Self(79);
2802 pub const ManichaeanThamedh: Self = Self(80);
2803 pub const ManichaeanTwenty: Self = Self(81);
2804 pub const ManichaeanWaw: Self = Self(82);
2805 pub const ManichaeanYodh: Self = Self(83);
2806 pub const ManichaeanZayin: Self = Self(84);
2807 pub const StraightWaw: Self = Self(85);
2808 pub const AfricanFeh: Self = Self(86);
2809 pub const AfricanNoon: Self = Self(87);
2810 pub const AfricanQaf: Self = Self(88);
2811 pub const MalayalamBha: Self = Self(89);
2812 pub const MalayalamJa: Self = Self(90);
2813 pub const MalayalamLla: Self = Self(91);
2814 pub const MalayalamLlla: Self = Self(92);
2815 pub const MalayalamNga: Self = Self(93);
2816 pub const MalayalamNna: Self = Self(94);
2817 pub const MalayalamNnna: Self = Self(95);
2818 pub const MalayalamNya: Self = Self(96);
2819 pub const MalayalamRa: Self = Self(97);
2820 pub const MalayalamSsa: Self = Self(98);
2821 pub const MalayalamTta: Self = Self(99);
2822 pub const HanifiRohingyaKinnaYa: Self = Self(100);
2823 pub const HanifiRohingyaPa: Self = Self(101);
2824 pub const ThinYeh: Self = Self(102);
2825 pub const VerticalTail: Self = Self(103);
2826 pub const KashmiriYeh: Self = Self(104);
2827 pub const ThinNoon: Self = Self(105);
2828 pub const CrownAin: Self = Self(106);
2829 pub const CrownBeh: Self = Self(107);
2830 pub const CrownFeh: Self = Self(108);
2831 pub const CrownHah: Self = Self(109);
2832 pub const CrownHeh: Self = Self(110);
2833 pub const CrownKaf: Self = Self(111);
2834 pub const CrownMeem: Self = Self(112);
2835 pub const CrownSad: Self = Self(113);
2836 pub const CrownSeen: Self = Self(114);
2837 pub const CrownTah: Self = Self(115);
2838}
2839
2840#[cfg(feature = "datagen")]
2841impl databake::Bake for JoiningGroup {
2842 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
2843 env.insert("icu_properties");
2844 match *self {
2845 Self::NoJoiningGroup => databake::quote!(icu_properties::props::JoiningGroup::NoJoiningGroup),
2846 Self::Ain => databake::quote!(icu_properties::props::JoiningGroup::Ain),
2847 Self::Alaph => databake::quote!(icu_properties::props::JoiningGroup::Alaph),
2848 Self::Alef => databake::quote!(icu_properties::props::JoiningGroup::Alef),
2849 Self::Beh => databake::quote!(icu_properties::props::JoiningGroup::Beh),
2850 Self::Beth => databake::quote!(icu_properties::props::JoiningGroup::Beth),
2851 Self::Dal => databake::quote!(icu_properties::props::JoiningGroup::Dal),
2852 Self::DalathRish => databake::quote!(icu_properties::props::JoiningGroup::DalathRish),
2853 Self::E => databake::quote!(icu_properties::props::JoiningGroup::E),
2854 Self::Feh => databake::quote!(icu_properties::props::JoiningGroup::Feh),
2855 Self::FinalSemkath => databake::quote!(icu_properties::props::JoiningGroup::FinalSemkath),
2856 Self::Gaf => databake::quote!(icu_properties::props::JoiningGroup::Gaf),
2857 Self::Gamal => databake::quote!(icu_properties::props::JoiningGroup::Gamal),
2858 Self::Hah => databake::quote!(icu_properties::props::JoiningGroup::Hah),
2859 Self::TehMarbutaGoal => databake::quote!(icu_properties::props::JoiningGroup::TehMarbutaGoal),
2860 Self::He => databake::quote!(icu_properties::props::JoiningGroup::He),
2861 Self::Heh => databake::quote!(icu_properties::props::JoiningGroup::Heh),
2862 Self::HehGoal => databake::quote!(icu_properties::props::JoiningGroup::HehGoal),
2863 Self::Heth => databake::quote!(icu_properties::props::JoiningGroup::Heth),
2864 Self::Kaf => databake::quote!(icu_properties::props::JoiningGroup::Kaf),
2865 Self::Kaph => databake::quote!(icu_properties::props::JoiningGroup::Kaph),
2866 Self::KnottedHeh => databake::quote!(icu_properties::props::JoiningGroup::KnottedHeh),
2867 Self::Lam => databake::quote!(icu_properties::props::JoiningGroup::Lam),
2868 Self::Lamadh => databake::quote!(icu_properties::props::JoiningGroup::Lamadh),
2869 Self::Meem => databake::quote!(icu_properties::props::JoiningGroup::Meem),
2870 Self::Mim => databake::quote!(icu_properties::props::JoiningGroup::Mim),
2871 Self::Noon => databake::quote!(icu_properties::props::JoiningGroup::Noon),
2872 Self::Nun => databake::quote!(icu_properties::props::JoiningGroup::Nun),
2873 Self::Pe => databake::quote!(icu_properties::props::JoiningGroup::Pe),
2874 Self::Qaf => databake::quote!(icu_properties::props::JoiningGroup::Qaf),
2875 Self::Qaph => databake::quote!(icu_properties::props::JoiningGroup::Qaph),
2876 Self::Reh => databake::quote!(icu_properties::props::JoiningGroup::Reh),
2877 Self::ReversedPe => databake::quote!(icu_properties::props::JoiningGroup::ReversedPe),
2878 Self::Sad => databake::quote!(icu_properties::props::JoiningGroup::Sad),
2879 Self::Sadhe => databake::quote!(icu_properties::props::JoiningGroup::Sadhe),
2880 Self::Seen => databake::quote!(icu_properties::props::JoiningGroup::Seen),
2881 Self::Semkath => databake::quote!(icu_properties::props::JoiningGroup::Semkath),
2882 Self::Shin => databake::quote!(icu_properties::props::JoiningGroup::Shin),
2883 Self::SwashKaf => databake::quote!(icu_properties::props::JoiningGroup::SwashKaf),
2884 Self::SyriacWaw => databake::quote!(icu_properties::props::JoiningGroup::SyriacWaw),
2885 Self::Tah => databake::quote!(icu_properties::props::JoiningGroup::Tah),
2886 Self::Taw => databake::quote!(icu_properties::props::JoiningGroup::Taw),
2887 Self::TehMarbuta => databake::quote!(icu_properties::props::JoiningGroup::TehMarbuta),
2888 Self::Teth => databake::quote!(icu_properties::props::JoiningGroup::Teth),
2889 Self::Waw => databake::quote!(icu_properties::props::JoiningGroup::Waw),
2890 Self::Yeh => databake::quote!(icu_properties::props::JoiningGroup::Yeh),
2891 Self::YehBarree => databake::quote!(icu_properties::props::JoiningGroup::YehBarree),
2892 Self::YehWithTail => databake::quote!(icu_properties::props::JoiningGroup::YehWithTail),
2893 Self::Yudh => databake::quote!(icu_properties::props::JoiningGroup::Yudh),
2894 Self::YudhHe => databake::quote!(icu_properties::props::JoiningGroup::YudhHe),
2895 Self::Zain => databake::quote!(icu_properties::props::JoiningGroup::Zain),
2896 Self::Fe => databake::quote!(icu_properties::props::JoiningGroup::Fe),
2897 Self::Khaph => databake::quote!(icu_properties::props::JoiningGroup::Khaph),
2898 Self::Zhain => databake::quote!(icu_properties::props::JoiningGroup::Zhain),
2899 Self::BurushaskiYehBarree => databake::quote!(icu_properties::props::JoiningGroup::BurushaskiYehBarree),
2900 Self::FarsiYeh => databake::quote!(icu_properties::props::JoiningGroup::FarsiYeh),
2901 Self::Nya => databake::quote!(icu_properties::props::JoiningGroup::Nya),
2902 Self::RohingyaYeh => databake::quote!(icu_properties::props::JoiningGroup::RohingyaYeh),
2903 Self::ManichaeanAleph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanAleph),
2904 Self::ManichaeanAyin => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanAyin),
2905 Self::ManichaeanBeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanBeth),
2906 Self::ManichaeanDaleth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanDaleth),
2907 Self::ManichaeanDhamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanDhamedh),
2908 Self::ManichaeanFive => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanFive),
2909 Self::ManichaeanGimel => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanGimel),
2910 Self::ManichaeanHeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanHeth),
2911 Self::ManichaeanHundred => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanHundred),
2912 Self::ManichaeanKaph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanKaph),
2913 Self::ManichaeanLamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanLamedh),
2914 Self::ManichaeanMem => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanMem),
2915 Self::ManichaeanNun => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanNun),
2916 Self::ManichaeanOne => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanOne),
2917 Self::ManichaeanPe => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanPe),
2918 Self::ManichaeanQoph => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanQoph),
2919 Self::ManichaeanResh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanResh),
2920 Self::ManichaeanSadhe => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanSadhe),
2921 Self::ManichaeanSamekh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanSamekh),
2922 Self::ManichaeanTaw => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTaw),
2923 Self::ManichaeanTen => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTen),
2924 Self::ManichaeanTeth => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTeth),
2925 Self::ManichaeanThamedh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanThamedh),
2926 Self::ManichaeanTwenty => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanTwenty),
2927 Self::ManichaeanWaw => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanWaw),
2928 Self::ManichaeanYodh => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanYodh),
2929 Self::ManichaeanZayin => databake::quote!(icu_properties::props::JoiningGroup::ManichaeanZayin),
2930 Self::StraightWaw => databake::quote!(icu_properties::props::JoiningGroup::StraightWaw),
2931 Self::AfricanFeh => databake::quote!(icu_properties::props::JoiningGroup::AfricanFeh),
2932 Self::AfricanNoon => databake::quote!(icu_properties::props::JoiningGroup::AfricanNoon),
2933 Self::AfricanQaf => databake::quote!(icu_properties::props::JoiningGroup::AfricanQaf),
2934 Self::MalayalamBha => databake::quote!(icu_properties::props::JoiningGroup::MalayalamBha),
2935 Self::MalayalamJa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamJa),
2936 Self::MalayalamLla => databake::quote!(icu_properties::props::JoiningGroup::MalayalamLla),
2937 Self::MalayalamLlla => databake::quote!(icu_properties::props::JoiningGroup::MalayalamLlla),
2938 Self::MalayalamNga => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNga),
2939 Self::MalayalamNna => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNna),
2940 Self::MalayalamNnna => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNnna),
2941 Self::MalayalamNya => databake::quote!(icu_properties::props::JoiningGroup::MalayalamNya),
2942 Self::MalayalamRa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamRa),
2943 Self::MalayalamSsa => databake::quote!(icu_properties::props::JoiningGroup::MalayalamSsa),
2944 Self::MalayalamTta => databake::quote!(icu_properties::props::JoiningGroup::MalayalamTta),
2945 Self::HanifiRohingyaKinnaYa => databake::quote!(icu_properties::props::JoiningGroup::HanifiRohingyaKinnaYa),
2946 Self::HanifiRohingyaPa => databake::quote!(icu_properties::props::JoiningGroup::HanifiRohingyaPa),
2947 Self::ThinYeh => databake::quote!(icu_properties::props::JoiningGroup::ThinYeh),
2948 Self::VerticalTail => databake::quote!(icu_properties::props::JoiningGroup::VerticalTail),
2949 Self::KashmiriYeh => databake::quote!(icu_properties::props::JoiningGroup::KashmiriYeh),
2950 Self::ThinNoon => databake::quote!(icu_properties::props::JoiningGroup::ThinNoon),
2951 Self::CrownAin => databake::quote!(icu_properties::props::JoiningGroup::CrownAin),
2952 Self::CrownBeh => databake::quote!(icu_properties::props::JoiningGroup::CrownBeh),
2953 Self::CrownFeh => databake::quote!(icu_properties::props::JoiningGroup::CrownFeh),
2954 Self::CrownHah => databake::quote!(icu_properties::props::JoiningGroup::CrownHah),
2955 Self::CrownHeh => databake::quote!(icu_properties::props::JoiningGroup::CrownHeh),
2956 Self::CrownKaf => databake::quote!(icu_properties::props::JoiningGroup::CrownKaf),
2957 Self::CrownMeem => databake::quote!(icu_properties::props::JoiningGroup::CrownMeem),
2958 Self::CrownSad => databake::quote!(icu_properties::props::JoiningGroup::CrownSad),
2959 Self::CrownSeen => databake::quote!(icu_properties::props::JoiningGroup::CrownSeen),
2960 Self::CrownTah => databake::quote!(icu_properties::props::JoiningGroup::CrownTah),
2961 Self(v) => databake::quote!(icu_properties::props::JoiningGroup(#v)),
2962 }
2963 }
2964}
2965
2966
2967impl From<JoiningGroup> for u16 {
2968 fn from(other: JoiningGroup) -> Self {
2969 other.0 as u16
2970 }
2971}
2972
2973impl JoiningGroup {
2974 #[deprecated]
2976 pub const ALL_VALUES: &'static [Self] = &[
2977 Self::NoJoiningGroup,
2978 Self::Ain,
2979 Self::Alaph,
2980 Self::Alef,
2981 Self::Beh,
2982 Self::Beth,
2983 Self::Dal,
2984 Self::DalathRish,
2985 Self::E,
2986 Self::Feh,
2987 Self::FinalSemkath,
2988 Self::Gaf,
2989 Self::Gamal,
2990 Self::Hah,
2991 Self::TehMarbutaGoal,
2992 Self::He,
2993 Self::Heh,
2994 Self::HehGoal,
2995 Self::Heth,
2996 Self::Kaf,
2997 Self::Kaph,
2998 Self::KnottedHeh,
2999 Self::Lam,
3000 Self::Lamadh,
3001 Self::Meem,
3002 Self::Mim,
3003 Self::Noon,
3004 Self::Nun,
3005 Self::Pe,
3006 Self::Qaf,
3007 Self::Qaph,
3008 Self::Reh,
3009 Self::ReversedPe,
3010 Self::Sad,
3011 Self::Sadhe,
3012 Self::Seen,
3013 Self::Semkath,
3014 Self::Shin,
3015 Self::SwashKaf,
3016 Self::SyriacWaw,
3017 Self::Tah,
3018 Self::Taw,
3019 Self::TehMarbuta,
3020 Self::Teth,
3021 Self::Waw,
3022 Self::Yeh,
3023 Self::YehBarree,
3024 Self::YehWithTail,
3025 Self::Yudh,
3026 Self::YudhHe,
3027 Self::Zain,
3028 Self::Fe,
3029 Self::Khaph,
3030 Self::Zhain,
3031 Self::BurushaskiYehBarree,
3032 Self::FarsiYeh,
3033 Self::Nya,
3034 Self::RohingyaYeh,
3035 Self::ManichaeanAleph,
3036 Self::ManichaeanAyin,
3037 Self::ManichaeanBeth,
3038 Self::ManichaeanDaleth,
3039 Self::ManichaeanDhamedh,
3040 Self::ManichaeanFive,
3041 Self::ManichaeanGimel,
3042 Self::ManichaeanHeth,
3043 Self::ManichaeanHundred,
3044 Self::ManichaeanKaph,
3045 Self::ManichaeanLamedh,
3046 Self::ManichaeanMem,
3047 Self::ManichaeanNun,
3048 Self::ManichaeanOne,
3049 Self::ManichaeanPe,
3050 Self::ManichaeanQoph,
3051 Self::ManichaeanResh,
3052 Self::ManichaeanSadhe,
3053 Self::ManichaeanSamekh,
3054 Self::ManichaeanTaw,
3055 Self::ManichaeanTen,
3056 Self::ManichaeanTeth,
3057 Self::ManichaeanThamedh,
3058 Self::ManichaeanTwenty,
3059 Self::ManichaeanWaw,
3060 Self::ManichaeanYodh,
3061 Self::ManichaeanZayin,
3062 Self::StraightWaw,
3063 Self::AfricanFeh,
3064 Self::AfricanNoon,
3065 Self::AfricanQaf,
3066 Self::MalayalamBha,
3067 Self::MalayalamJa,
3068 Self::MalayalamLla,
3069 Self::MalayalamLlla,
3070 Self::MalayalamNga,
3071 Self::MalayalamNna,
3072 Self::MalayalamNnna,
3073 Self::MalayalamNya,
3074 Self::MalayalamRa,
3075 Self::MalayalamSsa,
3076 Self::MalayalamTta,
3077 Self::HanifiRohingyaKinnaYa,
3078 Self::HanifiRohingyaPa,
3079 Self::ThinYeh,
3080 Self::VerticalTail,
3081 Self::KashmiriYeh,
3082 Self::ThinNoon,
3083 Self::CrownAin,
3084 Self::CrownBeh,
3085 Self::CrownFeh,
3086 Self::CrownHah,
3087 Self::CrownHeh,
3088 Self::CrownKaf,
3089 Self::CrownMeem,
3090 Self::CrownSad,
3091 Self::CrownSeen,
3092 Self::CrownTah,
3093 ];
3094
3095 #[cfg(feature = "datagen")]
3096 #[doc(hidden)]
3097 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
3098 [
3099 ("No_Joining_Group", Self::NoJoiningGroup),
3100 ("Ain", Self::Ain),
3101 ("Alaph", Self::Alaph),
3102 ("Alef", Self::Alef),
3103 ("Beh", Self::Beh),
3104 ("Beth", Self::Beth),
3105 ("Dal", Self::Dal),
3106 ("Dalath_Rish", Self::DalathRish),
3107 ("E", Self::E),
3108 ("Feh", Self::Feh),
3109 ("Final_Semkath", Self::FinalSemkath),
3110 ("Gaf", Self::Gaf),
3111 ("Gamal", Self::Gamal),
3112 ("Hah", Self::Hah),
3113 ("Teh_Marbuta_Goal", Self::TehMarbutaGoal),
3114 ("He", Self::He),
3115 ("Heh", Self::Heh),
3116 ("Heh_Goal", Self::HehGoal),
3117 ("Heth", Self::Heth),
3118 ("Kaf", Self::Kaf),
3119 ("Kaph", Self::Kaph),
3120 ("Knotted_Heh", Self::KnottedHeh),
3121 ("Lam", Self::Lam),
3122 ("Lamadh", Self::Lamadh),
3123 ("Meem", Self::Meem),
3124 ("Mim", Self::Mim),
3125 ("Noon", Self::Noon),
3126 ("Nun", Self::Nun),
3127 ("Pe", Self::Pe),
3128 ("Qaf", Self::Qaf),
3129 ("Qaph", Self::Qaph),
3130 ("Reh", Self::Reh),
3131 ("Reversed_Pe", Self::ReversedPe),
3132 ("Sad", Self::Sad),
3133 ("Sadhe", Self::Sadhe),
3134 ("Seen", Self::Seen),
3135 ("Semkath", Self::Semkath),
3136 ("Shin", Self::Shin),
3137 ("Swash_Kaf", Self::SwashKaf),
3138 ("Syriac_Waw", Self::SyriacWaw),
3139 ("Tah", Self::Tah),
3140 ("Taw", Self::Taw),
3141 ("Teh_Marbuta", Self::TehMarbuta),
3142 ("Teth", Self::Teth),
3143 ("Waw", Self::Waw),
3144 ("Yeh", Self::Yeh),
3145 ("Yeh_Barree", Self::YehBarree),
3146 ("Yeh_With_Tail", Self::YehWithTail),
3147 ("Yudh", Self::Yudh),
3148 ("Yudh_He", Self::YudhHe),
3149 ("Zain", Self::Zain),
3150 ("Fe", Self::Fe),
3151 ("Khaph", Self::Khaph),
3152 ("Zhain", Self::Zhain),
3153 ("Burushaski_Yeh_Barree", Self::BurushaskiYehBarree),
3154 ("Farsi_Yeh", Self::FarsiYeh),
3155 ("Nya", Self::Nya),
3156 ("Rohingya_Yeh", Self::RohingyaYeh),
3157 ("Manichaean_Aleph", Self::ManichaeanAleph),
3158 ("Manichaean_Ayin", Self::ManichaeanAyin),
3159 ("Manichaean_Beth", Self::ManichaeanBeth),
3160 ("Manichaean_Daleth", Self::ManichaeanDaleth),
3161 ("Manichaean_Dhamedh", Self::ManichaeanDhamedh),
3162 ("Manichaean_Five", Self::ManichaeanFive),
3163 ("Manichaean_Gimel", Self::ManichaeanGimel),
3164 ("Manichaean_Heth", Self::ManichaeanHeth),
3165 ("Manichaean_Hundred", Self::ManichaeanHundred),
3166 ("Manichaean_Kaph", Self::ManichaeanKaph),
3167 ("Manichaean_Lamedh", Self::ManichaeanLamedh),
3168 ("Manichaean_Mem", Self::ManichaeanMem),
3169 ("Manichaean_Nun", Self::ManichaeanNun),
3170 ("Manichaean_One", Self::ManichaeanOne),
3171 ("Manichaean_Pe", Self::ManichaeanPe),
3172 ("Manichaean_Qoph", Self::ManichaeanQoph),
3173 ("Manichaean_Resh", Self::ManichaeanResh),
3174 ("Manichaean_Sadhe", Self::ManichaeanSadhe),
3175 ("Manichaean_Samekh", Self::ManichaeanSamekh),
3176 ("Manichaean_Taw", Self::ManichaeanTaw),
3177 ("Manichaean_Ten", Self::ManichaeanTen),
3178 ("Manichaean_Teth", Self::ManichaeanTeth),
3179 ("Manichaean_Thamedh", Self::ManichaeanThamedh),
3180 ("Manichaean_Twenty", Self::ManichaeanTwenty),
3181 ("Manichaean_Waw", Self::ManichaeanWaw),
3182 ("Manichaean_Yodh", Self::ManichaeanYodh),
3183 ("Manichaean_Zayin", Self::ManichaeanZayin),
3184 ("Straight_Waw", Self::StraightWaw),
3185 ("African_Feh", Self::AfricanFeh),
3186 ("African_Noon", Self::AfricanNoon),
3187 ("African_Qaf", Self::AfricanQaf),
3188 ("Malayalam_Bha", Self::MalayalamBha),
3189 ("Malayalam_Ja", Self::MalayalamJa),
3190 ("Malayalam_Lla", Self::MalayalamLla),
3191 ("Malayalam_Llla", Self::MalayalamLlla),
3192 ("Malayalam_Nga", Self::MalayalamNga),
3193 ("Malayalam_Nna", Self::MalayalamNna),
3194 ("Malayalam_Nnna", Self::MalayalamNnna),
3195 ("Malayalam_Nya", Self::MalayalamNya),
3196 ("Malayalam_Ra", Self::MalayalamRa),
3197 ("Malayalam_Ssa", Self::MalayalamSsa),
3198 ("Malayalam_Tta", Self::MalayalamTta),
3199 ("Hanifi_Rohingya_Kinna_Ya", Self::HanifiRohingyaKinnaYa),
3200 ("Hanifi_Rohingya_Pa", Self::HanifiRohingyaPa),
3201 ("Thin_Yeh", Self::ThinYeh),
3202 ("Vertical_Tail", Self::VerticalTail),
3203 ("Kashmiri_Yeh", Self::KashmiriYeh),
3204 ("Thin_Noon", Self::ThinNoon),
3205 ("Crown_Ain", Self::CrownAin),
3206 ("Crown_Beh", Self::CrownBeh),
3207 ("Crown_Feh", Self::CrownFeh),
3208 ("Crown_Hah", Self::CrownHah),
3209 ("Crown_Heh", Self::CrownHeh),
3210 ("Crown_Kaf", Self::CrownKaf),
3211 ("Crown_Meem", Self::CrownMeem),
3212 ("Crown_Sad", Self::CrownSad),
3213 ("Crown_Seen", Self::CrownSeen),
3214 ("Crown_Tah", Self::CrownTah),
3215 ].into_iter()
3216 }
3217}
3218
3219impl JoiningType {
3220 pub const NonJoining: Self = Self(0);
3221 pub const U: Self = Self::NonJoining;
3222 pub const JoinCausing: Self = Self(1);
3223 pub const C: Self = Self::JoinCausing;
3224 pub const DualJoining: Self = Self(2);
3225 pub const D: Self = Self::DualJoining;
3226 pub const LeftJoining: Self = Self(3);
3227 pub const L: Self = Self::LeftJoining;
3228 pub const RightJoining: Self = Self(4);
3229 pub const R: Self = Self::RightJoining;
3230 pub const Transparent: Self = Self(5);
3231 pub const T: Self = Self::Transparent;
3232}
3233
3234#[cfg(feature = "datagen")]
3235impl databake::Bake for JoiningType {
3236 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
3237 env.insert("icu_properties");
3238 match *self {
3239 Self::NonJoining => databake::quote!(icu_properties::props::JoiningType::NonJoining),
3240 Self::JoinCausing => databake::quote!(icu_properties::props::JoiningType::JoinCausing),
3241 Self::DualJoining => databake::quote!(icu_properties::props::JoiningType::DualJoining),
3242 Self::LeftJoining => databake::quote!(icu_properties::props::JoiningType::LeftJoining),
3243 Self::RightJoining => databake::quote!(icu_properties::props::JoiningType::RightJoining),
3244 Self::Transparent => databake::quote!(icu_properties::props::JoiningType::Transparent),
3245 Self(v) => databake::quote!(icu_properties::props::JoiningType(#v)),
3246 }
3247 }
3248}
3249
3250
3251impl From<JoiningType> for u16 {
3252 fn from(other: JoiningType) -> Self {
3253 other.0 as u16
3254 }
3255}
3256
3257impl JoiningType {
3258 #[deprecated]
3260 pub const ALL_VALUES: &'static [Self] = &[
3261 Self::NonJoining,
3262 Self::JoinCausing,
3263 Self::DualJoining,
3264 Self::LeftJoining,
3265 Self::RightJoining,
3266 Self::Transparent,
3267 ];
3268
3269 #[cfg(feature = "datagen")]
3270 #[doc(hidden)]
3271 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
3272 [
3273 ("U", Self::NonJoining),
3274 ("C", Self::JoinCausing),
3275 ("D", Self::DualJoining),
3276 ("L", Self::LeftJoining),
3277 ("R", Self::RightJoining),
3278 ("T", Self::Transparent),
3279 ].into_iter()
3280 }
3281}
3282
3283impl LineBreak {
3284 pub const Unknown: Self = Self(0);
3285 pub const XX: Self = Self::Unknown;
3286 pub const Ambiguous: Self = Self(1);
3287 pub const AI: Self = Self::Ambiguous;
3288 pub const Alphabetic: Self = Self(2);
3289 pub const AL: Self = Self::Alphabetic;
3290 pub const BreakBoth: Self = Self(3);
3291 pub const B2: Self = Self::BreakBoth;
3292 pub const BreakAfter: Self = Self(4);
3293 pub const BA: Self = Self::BreakAfter;
3294 pub const BreakBefore: Self = Self(5);
3295 pub const BB: Self = Self::BreakBefore;
3296 pub const MandatoryBreak: Self = Self(6);
3297 pub const BK: Self = Self::MandatoryBreak;
3298 pub const ContingentBreak: Self = Self(7);
3299 pub const CB: Self = Self::ContingentBreak;
3300 pub const ClosePunctuation: Self = Self(8);
3301 pub const CL: Self = Self::ClosePunctuation;
3302 pub const CombiningMark: Self = Self(9);
3303 pub const CM: Self = Self::CombiningMark;
3304 pub const CarriageReturn: Self = Self(10);
3305 pub const CR: Self = Self::CarriageReturn;
3306 pub const Exclamation: Self = Self(11);
3307 pub const EX: Self = Self::Exclamation;
3308 pub const Glue: Self = Self(12);
3309 pub const GL: Self = Self::Glue;
3310 pub const Hyphen: Self = Self(13);
3311 pub const HY: Self = Self::Hyphen;
3312 pub const Ideographic: Self = Self(14);
3313 pub const ID: Self = Self::Ideographic;
3314 pub const Inseparable: Self = Self(15);
3315 pub const IN: Self = Self::Inseparable;
3316 pub const Inseperable: Self = Self::Inseparable;
3317 pub const InfixNumeric: Self = Self(16);
3318 pub const IS: Self = Self::InfixNumeric;
3319 pub const LineFeed: Self = Self(17);
3320 pub const LF: Self = Self::LineFeed;
3321 pub const Nonstarter: Self = Self(18);
3322 pub const NS: Self = Self::Nonstarter;
3323 pub const Numeric: Self = Self(19);
3324 pub const NU: Self = Self::Numeric;
3325 pub const OpenPunctuation: Self = Self(20);
3326 pub const OP: Self = Self::OpenPunctuation;
3327 pub const PostfixNumeric: Self = Self(21);
3328 pub const PO: Self = Self::PostfixNumeric;
3329 pub const PrefixNumeric: Self = Self(22);
3330 pub const PR: Self = Self::PrefixNumeric;
3331 pub const Quotation: Self = Self(23);
3332 pub const QU: Self = Self::Quotation;
3333 pub const ComplexContext: Self = Self(24);
3334 pub const SA: Self = Self::ComplexContext;
3335 pub const Surrogate: Self = Self(25);
3336 pub const SG: Self = Self::Surrogate;
3337 pub const Space: Self = Self(26);
3338 pub const SP: Self = Self::Space;
3339 pub const BreakSymbols: Self = Self(27);
3340 pub const SY: Self = Self::BreakSymbols;
3341 pub const ZWSpace: Self = Self(28);
3342 pub const ZW: Self = Self::ZWSpace;
3343 pub const NextLine: Self = Self(29);
3344 pub const NL: Self = Self::NextLine;
3345 pub const WordJoiner: Self = Self(30);
3346 pub const WJ: Self = Self::WordJoiner;
3347 pub const H2: Self = Self(31);
3348 pub const H3: Self = Self(32);
3349 pub const JL: Self = Self(33);
3350 pub const JT: Self = Self(34);
3351 pub const JV: Self = Self(35);
3352 pub const CloseParenthesis: Self = Self(36);
3353 pub const CP: Self = Self::CloseParenthesis;
3354 pub const ConditionalJapaneseStarter: Self = Self(37);
3355 pub const CJ: Self = Self::ConditionalJapaneseStarter;
3356 pub const HebrewLetter: Self = Self(38);
3357 pub const HL: Self = Self::HebrewLetter;
3358 pub const RegionalIndicator: Self = Self(39);
3359 pub const RI: Self = Self::RegionalIndicator;
3360 pub const EBase: Self = Self(40);
3361 pub const EB: Self = Self::EBase;
3362 pub const EModifier: Self = Self(41);
3363 pub const EM: Self = Self::EModifier;
3364 pub const ZWJ: Self = Self(42);
3365 pub const Aksara: Self = Self(43);
3366 pub const AK: Self = Self::Aksara;
3367 pub const AksaraPrebase: Self = Self(44);
3368 pub const AP: Self = Self::AksaraPrebase;
3369 pub const AksaraStart: Self = Self(45);
3370 pub const AS: Self = Self::AksaraStart;
3371 pub const ViramaFinal: Self = Self(46);
3372 pub const VF: Self = Self::ViramaFinal;
3373 pub const Virama: Self = Self(47);
3374 pub const VI: Self = Self::Virama;
3375 pub const UnambiguousHyphen: Self = Self(48);
3376 pub const HH: Self = Self::UnambiguousHyphen;
3377}
3378
3379#[cfg(feature = "datagen")]
3380impl databake::Bake for LineBreak {
3381 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
3382 env.insert("icu_properties");
3383 match *self {
3384 Self::Unknown => databake::quote!(icu_properties::props::LineBreak::Unknown),
3385 Self::Ambiguous => databake::quote!(icu_properties::props::LineBreak::Ambiguous),
3386 Self::Alphabetic => databake::quote!(icu_properties::props::LineBreak::Alphabetic),
3387 Self::BreakBoth => databake::quote!(icu_properties::props::LineBreak::BreakBoth),
3388 Self::BreakAfter => databake::quote!(icu_properties::props::LineBreak::BreakAfter),
3389 Self::BreakBefore => databake::quote!(icu_properties::props::LineBreak::BreakBefore),
3390 Self::MandatoryBreak => databake::quote!(icu_properties::props::LineBreak::MandatoryBreak),
3391 Self::ContingentBreak => databake::quote!(icu_properties::props::LineBreak::ContingentBreak),
3392 Self::ClosePunctuation => databake::quote!(icu_properties::props::LineBreak::ClosePunctuation),
3393 Self::CombiningMark => databake::quote!(icu_properties::props::LineBreak::CombiningMark),
3394 Self::CarriageReturn => databake::quote!(icu_properties::props::LineBreak::CarriageReturn),
3395 Self::Exclamation => databake::quote!(icu_properties::props::LineBreak::Exclamation),
3396 Self::Glue => databake::quote!(icu_properties::props::LineBreak::Glue),
3397 Self::Hyphen => databake::quote!(icu_properties::props::LineBreak::Hyphen),
3398 Self::Ideographic => databake::quote!(icu_properties::props::LineBreak::Ideographic),
3399 Self::Inseparable => databake::quote!(icu_properties::props::LineBreak::Inseparable),
3400 Self::InfixNumeric => databake::quote!(icu_properties::props::LineBreak::InfixNumeric),
3401 Self::LineFeed => databake::quote!(icu_properties::props::LineBreak::LineFeed),
3402 Self::Nonstarter => databake::quote!(icu_properties::props::LineBreak::Nonstarter),
3403 Self::Numeric => databake::quote!(icu_properties::props::LineBreak::Numeric),
3404 Self::OpenPunctuation => databake::quote!(icu_properties::props::LineBreak::OpenPunctuation),
3405 Self::PostfixNumeric => databake::quote!(icu_properties::props::LineBreak::PostfixNumeric),
3406 Self::PrefixNumeric => databake::quote!(icu_properties::props::LineBreak::PrefixNumeric),
3407 Self::Quotation => databake::quote!(icu_properties::props::LineBreak::Quotation),
3408 Self::ComplexContext => databake::quote!(icu_properties::props::LineBreak::ComplexContext),
3409 Self::Surrogate => databake::quote!(icu_properties::props::LineBreak::Surrogate),
3410 Self::Space => databake::quote!(icu_properties::props::LineBreak::Space),
3411 Self::BreakSymbols => databake::quote!(icu_properties::props::LineBreak::BreakSymbols),
3412 Self::ZWSpace => databake::quote!(icu_properties::props::LineBreak::ZWSpace),
3413 Self::NextLine => databake::quote!(icu_properties::props::LineBreak::NextLine),
3414 Self::WordJoiner => databake::quote!(icu_properties::props::LineBreak::WordJoiner),
3415 Self::H2 => databake::quote!(icu_properties::props::LineBreak::H2),
3416 Self::H3 => databake::quote!(icu_properties::props::LineBreak::H3),
3417 Self::JL => databake::quote!(icu_properties::props::LineBreak::JL),
3418 Self::JT => databake::quote!(icu_properties::props::LineBreak::JT),
3419 Self::JV => databake::quote!(icu_properties::props::LineBreak::JV),
3420 Self::CloseParenthesis => databake::quote!(icu_properties::props::LineBreak::CloseParenthesis),
3421 Self::ConditionalJapaneseStarter => databake::quote!(icu_properties::props::LineBreak::ConditionalJapaneseStarter),
3422 Self::HebrewLetter => databake::quote!(icu_properties::props::LineBreak::HebrewLetter),
3423 Self::RegionalIndicator => databake::quote!(icu_properties::props::LineBreak::RegionalIndicator),
3424 Self::EBase => databake::quote!(icu_properties::props::LineBreak::EBase),
3425 Self::EModifier => databake::quote!(icu_properties::props::LineBreak::EModifier),
3426 Self::ZWJ => databake::quote!(icu_properties::props::LineBreak::ZWJ),
3427 Self::Aksara => databake::quote!(icu_properties::props::LineBreak::Aksara),
3428 Self::AksaraPrebase => databake::quote!(icu_properties::props::LineBreak::AksaraPrebase),
3429 Self::AksaraStart => databake::quote!(icu_properties::props::LineBreak::AksaraStart),
3430 Self::ViramaFinal => databake::quote!(icu_properties::props::LineBreak::ViramaFinal),
3431 Self::Virama => databake::quote!(icu_properties::props::LineBreak::Virama),
3432 Self::UnambiguousHyphen => databake::quote!(icu_properties::props::LineBreak::UnambiguousHyphen),
3433 Self(v) => databake::quote!(icu_properties::props::LineBreak(#v)),
3434 }
3435 }
3436}
3437
3438
3439impl From<LineBreak> for u16 {
3440 fn from(other: LineBreak) -> Self {
3441 other.0 as u16
3442 }
3443}
3444
3445impl LineBreak {
3446 #[deprecated]
3448 pub const ALL_VALUES: &'static [Self] = &[
3449 Self::Unknown,
3450 Self::Ambiguous,
3451 Self::Alphabetic,
3452 Self::BreakBoth,
3453 Self::BreakAfter,
3454 Self::BreakBefore,
3455 Self::MandatoryBreak,
3456 Self::ContingentBreak,
3457 Self::ClosePunctuation,
3458 Self::CombiningMark,
3459 Self::CarriageReturn,
3460 Self::Exclamation,
3461 Self::Glue,
3462 Self::Hyphen,
3463 Self::Ideographic,
3464 Self::Inseparable,
3465 Self::InfixNumeric,
3466 Self::LineFeed,
3467 Self::Nonstarter,
3468 Self::Numeric,
3469 Self::OpenPunctuation,
3470 Self::PostfixNumeric,
3471 Self::PrefixNumeric,
3472 Self::Quotation,
3473 Self::ComplexContext,
3474 Self::Surrogate,
3475 Self::Space,
3476 Self::BreakSymbols,
3477 Self::ZWSpace,
3478 Self::NextLine,
3479 Self::WordJoiner,
3480 Self::H2,
3481 Self::H3,
3482 Self::JL,
3483 Self::JT,
3484 Self::JV,
3485 Self::CloseParenthesis,
3486 Self::ConditionalJapaneseStarter,
3487 Self::HebrewLetter,
3488 Self::RegionalIndicator,
3489 Self::EBase,
3490 Self::EModifier,
3491 Self::ZWJ,
3492 Self::Aksara,
3493 Self::AksaraPrebase,
3494 Self::AksaraStart,
3495 Self::ViramaFinal,
3496 Self::Virama,
3497 Self::UnambiguousHyphen,
3498 ];
3499
3500 #[cfg(feature = "datagen")]
3501 #[doc(hidden)]
3502 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
3503 [
3504 ("XX", Self::Unknown),
3505 ("AI", Self::Ambiguous),
3506 ("AL", Self::Alphabetic),
3507 ("B2", Self::BreakBoth),
3508 ("BA", Self::BreakAfter),
3509 ("BB", Self::BreakBefore),
3510 ("BK", Self::MandatoryBreak),
3511 ("CB", Self::ContingentBreak),
3512 ("CL", Self::ClosePunctuation),
3513 ("CM", Self::CombiningMark),
3514 ("CR", Self::CarriageReturn),
3515 ("EX", Self::Exclamation),
3516 ("GL", Self::Glue),
3517 ("HY", Self::Hyphen),
3518 ("ID", Self::Ideographic),
3519 ("IN", Self::Inseparable),
3520 ("IS", Self::InfixNumeric),
3521 ("LF", Self::LineFeed),
3522 ("NS", Self::Nonstarter),
3523 ("NU", Self::Numeric),
3524 ("OP", Self::OpenPunctuation),
3525 ("PO", Self::PostfixNumeric),
3526 ("PR", Self::PrefixNumeric),
3527 ("QU", Self::Quotation),
3528 ("SA", Self::ComplexContext),
3529 ("SG", Self::Surrogate),
3530 ("SP", Self::Space),
3531 ("SY", Self::BreakSymbols),
3532 ("ZW", Self::ZWSpace),
3533 ("NL", Self::NextLine),
3534 ("WJ", Self::WordJoiner),
3535 ("H2", Self::H2),
3536 ("H3", Self::H3),
3537 ("JL", Self::JL),
3538 ("JT", Self::JT),
3539 ("JV", Self::JV),
3540 ("CP", Self::CloseParenthesis),
3541 ("CJ", Self::ConditionalJapaneseStarter),
3542 ("HL", Self::HebrewLetter),
3543 ("RI", Self::RegionalIndicator),
3544 ("EB", Self::EBase),
3545 ("EM", Self::EModifier),
3546 ("ZWJ", Self::ZWJ),
3547 ("AK", Self::Aksara),
3548 ("AP", Self::AksaraPrebase),
3549 ("AS", Self::AksaraStart),
3550 ("VF", Self::ViramaFinal),
3551 ("VI", Self::Virama),
3552 ("HH", Self::UnambiguousHyphen),
3553 ].into_iter()
3554 }
3555}
3556
3557impl NumericType {
3558 pub const None: Self = Self(0);
3559 pub const Decimal: Self = Self(1);
3560 pub const De: Self = Self::Decimal;
3561 pub const Digit: Self = Self(2);
3562 pub const Di: Self = Self::Digit;
3563 pub const Numeric: Self = Self(3);
3564 pub const Nu: Self = Self::Numeric;
3565}
3566
3567#[cfg(feature = "datagen")]
3568impl databake::Bake for NumericType {
3569 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
3570 env.insert("icu_properties");
3571 match *self {
3572 Self::None => databake::quote!(icu_properties::props::NumericType::None),
3573 Self::Decimal => databake::quote!(icu_properties::props::NumericType::Decimal),
3574 Self::Digit => databake::quote!(icu_properties::props::NumericType::Digit),
3575 Self::Numeric => databake::quote!(icu_properties::props::NumericType::Numeric),
3576 Self(v) => databake::quote!(icu_properties::props::NumericType(#v)),
3577 }
3578 }
3579}
3580
3581
3582impl From<NumericType> for u16 {
3583 fn from(other: NumericType) -> Self {
3584 other.0 as u16
3585 }
3586}
3587
3588impl NumericType {
3589 #[deprecated]
3591 pub const ALL_VALUES: &'static [Self] = &[
3592 Self::None,
3593 Self::Decimal,
3594 Self::Digit,
3595 Self::Numeric,
3596 ];
3597
3598 #[cfg(feature = "datagen")]
3599 #[doc(hidden)]
3600 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
3601 [
3602 ("None", Self::None),
3603 ("De", Self::Decimal),
3604 ("Di", Self::Digit),
3605 ("Nu", Self::Numeric),
3606 ].into_iter()
3607 }
3608}
3609
3610impl Script {
3611 pub const Common: Self = Self(0);
3612 pub const Zyyy: Self = Self::Common;
3613 pub const Inherited: Self = Self(1);
3614 pub const Zinh: Self = Self::Inherited;
3615 pub const Qaai: Self = Self::Inherited;
3616 pub const Arabic: Self = Self(2);
3617 pub const Arab: Self = Self::Arabic;
3618 pub const Armenian: Self = Self(3);
3619 pub const Armn: Self = Self::Armenian;
3620 pub const Bengali: Self = Self(4);
3621 pub const Beng: Self = Self::Bengali;
3622 pub const Bopomofo: Self = Self(5);
3623 pub const Bopo: Self = Self::Bopomofo;
3624 pub const Cherokee: Self = Self(6);
3625 pub const Cher: Self = Self::Cherokee;
3626 pub const Coptic: Self = Self(7);
3627 pub const Copt: Self = Self::Coptic;
3628 pub const Qaac: Self = Self::Coptic;
3629 pub const Cyrillic: Self = Self(8);
3630 pub const Cyrl: Self = Self::Cyrillic;
3631 pub const Deseret: Self = Self(9);
3632 pub const Dsrt: Self = Self::Deseret;
3633 pub const Devanagari: Self = Self(10);
3634 pub const Deva: Self = Self::Devanagari;
3635 pub const Ethiopic: Self = Self(11);
3636 pub const Ethi: Self = Self::Ethiopic;
3637 pub const Georgian: Self = Self(12);
3638 pub const Geor: Self = Self::Georgian;
3639 pub const Gothic: Self = Self(13);
3640 pub const Goth: Self = Self::Gothic;
3641 pub const Greek: Self = Self(14);
3642 pub const Grek: Self = Self::Greek;
3643 pub const Gujarati: Self = Self(15);
3644 pub const Gujr: Self = Self::Gujarati;
3645 pub const Gurmukhi: Self = Self(16);
3646 pub const Guru: Self = Self::Gurmukhi;
3647 pub const Han: Self = Self(17);
3648 pub const Hani: Self = Self::Han;
3649 pub const Hangul: Self = Self(18);
3650 pub const Hang: Self = Self::Hangul;
3651 pub const Hebrew: Self = Self(19);
3652 pub const Hebr: Self = Self::Hebrew;
3653 pub const Hiragana: Self = Self(20);
3654 pub const Hira: Self = Self::Hiragana;
3655 pub const Kannada: Self = Self(21);
3656 pub const Knda: Self = Self::Kannada;
3657 pub const Katakana: Self = Self(22);
3658 pub const Kana: Self = Self::Katakana;
3659 pub const Khmer: Self = Self(23);
3660 pub const Khmr: Self = Self::Khmer;
3661 pub const Lao: Self = Self(24);
3662 pub const Laoo: Self = Self::Lao;
3663 pub const Latin: Self = Self(25);
3664 pub const Latn: Self = Self::Latin;
3665 pub const Malayalam: Self = Self(26);
3666 pub const Mlym: Self = Self::Malayalam;
3667 pub const Mongolian: Self = Self(27);
3668 pub const Mong: Self = Self::Mongolian;
3669 pub const Myanmar: Self = Self(28);
3670 pub const Mymr: Self = Self::Myanmar;
3671 pub const Ogham: Self = Self(29);
3672 pub const Ogam: Self = Self::Ogham;
3673 pub const OldItalic: Self = Self(30);
3674 pub const Ital: Self = Self::OldItalic;
3675 pub const Oriya: Self = Self(31);
3676 pub const Orya: Self = Self::Oriya;
3677 pub const Runic: Self = Self(32);
3678 pub const Runr: Self = Self::Runic;
3679 pub const Sinhala: Self = Self(33);
3680 pub const Sinh: Self = Self::Sinhala;
3681 pub const Syriac: Self = Self(34);
3682 pub const Syrc: Self = Self::Syriac;
3683 pub const Tamil: Self = Self(35);
3684 pub const Taml: Self = Self::Tamil;
3685 pub const Telugu: Self = Self(36);
3686 pub const Telu: Self = Self::Telugu;
3687 pub const Thaana: Self = Self(37);
3688 pub const Thaa: Self = Self::Thaana;
3689 pub const Thai: Self = Self(38);
3690 pub const Tibetan: Self = Self(39);
3691 pub const Tibt: Self = Self::Tibetan;
3692 pub const CanadianAboriginal: Self = Self(40);
3693 pub const Cans: Self = Self::CanadianAboriginal;
3694 pub const Yi: Self = Self(41);
3695 pub const Yiii: Self = Self::Yi;
3696 pub const Tagalog: Self = Self(42);
3697 pub const Tglg: Self = Self::Tagalog;
3698 pub const Hanunoo: Self = Self(43);
3699 pub const Hano: Self = Self::Hanunoo;
3700 pub const Buhid: Self = Self(44);
3701 pub const Buhd: Self = Self::Buhid;
3702 pub const Tagbanwa: Self = Self(45);
3703 pub const Tagb: Self = Self::Tagbanwa;
3704 pub const Braille: Self = Self(46);
3705 pub const Brai: Self = Self::Braille;
3706 pub const Cypriot: Self = Self(47);
3707 pub const Cprt: Self = Self::Cypriot;
3708 pub const Limbu: Self = Self(48);
3709 pub const Limb: Self = Self::Limbu;
3710 pub const LinearB: Self = Self(49);
3711 pub const Linb: Self = Self::LinearB;
3712 pub const Osmanya: Self = Self(50);
3713 pub const Osma: Self = Self::Osmanya;
3714 pub const Shavian: Self = Self(51);
3715 pub const Shaw: Self = Self::Shavian;
3716 pub const TaiLe: Self = Self(52);
3717 pub const Tale: Self = Self::TaiLe;
3718 pub const Ugaritic: Self = Self(53);
3719 pub const Ugar: Self = Self::Ugaritic;
3720 pub const KatakanaOrHiragana: Self = Self(54);
3721 pub const Hrkt: Self = Self::KatakanaOrHiragana;
3722 pub const Buginese: Self = Self(55);
3723 pub const Bugi: Self = Self::Buginese;
3724 pub const Glagolitic: Self = Self(56);
3725 pub const Glag: Self = Self::Glagolitic;
3726 pub const Kharoshthi: Self = Self(57);
3727 pub const Khar: Self = Self::Kharoshthi;
3728 pub const SylotiNagri: Self = Self(58);
3729 pub const Sylo: Self = Self::SylotiNagri;
3730 pub const NewTaiLue: Self = Self(59);
3731 pub const Talu: Self = Self::NewTaiLue;
3732 pub const Tifinagh: Self = Self(60);
3733 pub const Tfng: Self = Self::Tifinagh;
3734 pub const OldPersian: Self = Self(61);
3735 pub const Xpeo: Self = Self::OldPersian;
3736 pub const Balinese: Self = Self(62);
3737 pub const Bali: Self = Self::Balinese;
3738 pub const Batak: Self = Self(63);
3739 pub const Batk: Self = Self::Batak;
3740 pub const Blissymbols: Self = Self(64);
3742 pub const Blis: Self = Self::Blissymbols;
3744 pub const Brahmi: Self = Self(65);
3745 pub const Brah: Self = Self::Brahmi;
3746 pub const Cham: Self = Self(66);
3747 pub const Cirth: Self = Self(67);
3749 pub const Cirt: Self = Self::Cirth;
3751 pub const OldChurchSlavonicCyrillic: Self = Self(68);
3753 pub const Cyrs: Self = Self::OldChurchSlavonicCyrillic;
3755 pub const DemoticEgyptian: Self = Self(69);
3757 pub const Egyd: Self = Self::DemoticEgyptian;
3759 pub const HieraticEgyptian: Self = Self(70);
3761 pub const Egyh: Self = Self::HieraticEgyptian;
3763 pub const EgyptianHieroglyphs: Self = Self(71);
3764 pub const Egyp: Self = Self::EgyptianHieroglyphs;
3765 pub const Khutsuri: Self = Self(72);
3767 pub const Geok: Self = Self::Khutsuri;
3769 pub const SimplifiedHan: Self = Self(73);
3771 pub const Hans: Self = Self::SimplifiedHan;
3773 pub const TraditionalHan: Self = Self(74);
3775 pub const Hant: Self = Self::TraditionalHan;
3777 pub const PahawhHmong: Self = Self(75);
3778 pub const Hmng: Self = Self::PahawhHmong;
3779 pub const OldHungarian: Self = Self(76);
3780 pub const Hung: Self = Self::OldHungarian;
3781 pub const HarappanIndus: Self = Self(77);
3783 pub const Inds: Self = Self::HarappanIndus;
3785 pub const Javanese: Self = Self(78);
3786 pub const Java: Self = Self::Javanese;
3787 pub const KayahLi: Self = Self(79);
3788 pub const Kali: Self = Self::KayahLi;
3789 pub const LatinFraktur: Self = Self(80);
3791 pub const Latf: Self = Self::LatinFraktur;
3793 pub const LatinGaelic: Self = Self(81);
3795 pub const Latg: Self = Self::LatinGaelic;
3797 pub const Lepcha: Self = Self(82);
3798 pub const Lepc: Self = Self::Lepcha;
3799 pub const LinearA: Self = Self(83);
3800 pub const Lina: Self = Self::LinearA;
3801 pub const Mandaic: Self = Self(84);
3802 pub const Mand: Self = Self::Mandaic;
3803 pub const MayanHieroglyphs: Self = Self(85);
3805 pub const Maya: Self = Self::MayanHieroglyphs;
3807 pub const MeroiticHieroglyphs: Self = Self(86);
3808 pub const Mero: Self = Self::MeroiticHieroglyphs;
3809 pub const Nko: Self = Self(87);
3810 pub const Nkoo: Self = Self::Nko;
3811 pub const OldTurkic: Self = Self(88);
3812 pub const Orkh: Self = Self::OldTurkic;
3813 pub const OldPermic: Self = Self(89);
3814 pub const Perm: Self = Self::OldPermic;
3815 pub const PhagsPa: Self = Self(90);
3816 pub const Phag: Self = Self::PhagsPa;
3817 pub const Phoenician: Self = Self(91);
3818 pub const Phnx: Self = Self::Phoenician;
3819 pub const Miao: Self = Self(92);
3820 pub const Plrd: Self = Self::Miao;
3821 pub const Rongorongo: Self = Self(93);
3823 pub const Roro: Self = Self::Rongorongo;
3825 pub const Sarati: Self = Self(94);
3827 pub const Sara: Self = Self::Sarati;
3829 pub const EstrangeloSyriac: Self = Self(95);
3831 pub const Syre: Self = Self::EstrangeloSyriac;
3833 pub const WesternSyriac: Self = Self(96);
3835 pub const Syrj: Self = Self::WesternSyriac;
3837 pub const EasternSyriac: Self = Self(97);
3839 pub const Syrn: Self = Self::EasternSyriac;
3841 pub const Tengwar: Self = Self(98);
3843 pub const Teng: Self = Self::Tengwar;
3845 pub const Vai: Self = Self(99);
3846 pub const Vaii: Self = Self::Vai;
3847 pub const VisibleSpeech: Self = Self(100);
3849 pub const Visp: Self = Self::VisibleSpeech;
3851 pub const Cuneiform: Self = Self(101);
3852 pub const Xsux: Self = Self::Cuneiform;
3853 pub const UnwrittenLanguages: Self = Self(102);
3855 pub const Zxxx: Self = Self::UnwrittenLanguages;
3857 pub const Unknown: Self = Self(103);
3858 pub const Zzzz: Self = Self::Unknown;
3859 pub const Carian: Self = Self(104);
3860 pub const Cari: Self = Self::Carian;
3861 pub const Japanese: Self = Self(105);
3863 pub const Jpan: Self = Self::Japanese;
3865 pub const TaiTham: Self = Self(106);
3866 pub const Lana: Self = Self::TaiTham;
3867 pub const Lycian: Self = Self(107);
3868 pub const Lyci: Self = Self::Lycian;
3869 pub const Lydian: Self = Self(108);
3870 pub const Lydi: Self = Self::Lydian;
3871 pub const OlChiki: Self = Self(109);
3872 pub const Olck: Self = Self::OlChiki;
3873 pub const Rejang: Self = Self(110);
3874 pub const Rjng: Self = Self::Rejang;
3875 pub const Saurashtra: Self = Self(111);
3876 pub const Saur: Self = Self::Saurashtra;
3877 pub const SignWriting: Self = Self(112);
3878 pub const Sgnw: Self = Self::SignWriting;
3879 pub const Sundanese: Self = Self(113);
3880 pub const Sund: Self = Self::Sundanese;
3881 pub const Moon: Self = Self(114);
3883 pub const MeeteiMayek: Self = Self(115);
3884 pub const Mtei: Self = Self::MeeteiMayek;
3885 pub const ImperialAramaic: Self = Self(116);
3886 pub const Armi: Self = Self::ImperialAramaic;
3887 pub const Avestan: Self = Self(117);
3888 pub const Avst: Self = Self::Avestan;
3889 pub const Chakma: Self = Self(118);
3890 pub const Cakm: Self = Self::Chakma;
3891 pub const Korean: Self = Self(119);
3893 pub const Kore: Self = Self::Korean;
3895 pub const Kaithi: Self = Self(120);
3896 pub const Kthi: Self = Self::Kaithi;
3897 pub const Manichaean: Self = Self(121);
3898 pub const Mani: Self = Self::Manichaean;
3899 pub const InscriptionalPahlavi: Self = Self(122);
3900 pub const Phli: Self = Self::InscriptionalPahlavi;
3901 pub const PsalterPahlavi: Self = Self(123);
3902 pub const Phlp: Self = Self::PsalterPahlavi;
3903 pub const BookPahlavi: Self = Self(124);
3905 pub const Phlv: Self = Self::BookPahlavi;
3907 pub const InscriptionalParthian: Self = Self(125);
3908 pub const Prti: Self = Self::InscriptionalParthian;
3909 pub const Samaritan: Self = Self(126);
3910 pub const Samr: Self = Self::Samaritan;
3911 pub const TaiViet: Self = Self(127);
3912 pub const Tavt: Self = Self::TaiViet;
3913 pub const MathematicalNotation: Self = Self(128);
3915 pub const Zmth: Self = Self::MathematicalNotation;
3917 pub const Symbols: Self = Self(129);
3919 pub const Zsym: Self = Self::Symbols;
3921 pub const Bamum: Self = Self(130);
3922 pub const Bamu: Self = Self::Bamum;
3923 pub const Lisu: Self = Self(131);
3924 pub const NakhiGeba: Self = Self(132);
3926 pub const Nkgb: Self = Self::NakhiGeba;
3928 pub const OldSouthArabian: Self = Self(133);
3929 pub const Sarb: Self = Self::OldSouthArabian;
3930 pub const BassaVah: Self = Self(134);
3931 pub const Bass: Self = Self::BassaVah;
3932 pub const Duployan: Self = Self(135);
3933 pub const Dupl: Self = Self::Duployan;
3934 pub const Elbasan: Self = Self(136);
3935 pub const Elba: Self = Self::Elbasan;
3936 pub const Grantha: Self = Self(137);
3937 pub const Gran: Self = Self::Grantha;
3938 pub const Kpelle: Self = Self(138);
3940 pub const Kpel: Self = Self::Kpelle;
3942 pub const Loma: Self = Self(139);
3944 pub const MendeKikakui: Self = Self(140);
3945 pub const Mend: Self = Self::MendeKikakui;
3946 pub const MeroiticCursive: Self = Self(141);
3947 pub const Merc: Self = Self::MeroiticCursive;
3948 pub const OldNorthArabian: Self = Self(142);
3949 pub const Narb: Self = Self::OldNorthArabian;
3950 pub const Nabataean: Self = Self(143);
3951 pub const Nbat: Self = Self::Nabataean;
3952 pub const Palmyrene: Self = Self(144);
3953 pub const Palm: Self = Self::Palmyrene;
3954 pub const Khudawadi: Self = Self(145);
3955 pub const Sind: Self = Self::Khudawadi;
3956 pub const WarangCiti: Self = Self(146);
3957 pub const Wara: Self = Self::WarangCiti;
3958 pub const Afaka: Self = Self(147);
3960 pub const Afak: Self = Self::Afaka;
3962 pub const Jurchen: Self = Self(148);
3963 pub const Jurc: Self = Self::Jurchen;
3964 pub const Mro: Self = Self(149);
3965 pub const Mroo: Self = Self::Mro;
3966 pub const Nushu: Self = Self(150);
3967 pub const Nshu: Self = Self::Nushu;
3968 pub const Sharada: Self = Self(151);
3969 pub const Shrd: Self = Self::Sharada;
3970 pub const SoraSompeng: Self = Self(152);
3971 pub const Sora: Self = Self::SoraSompeng;
3972 pub const Takri: Self = Self(153);
3973 pub const Takr: Self = Self::Takri;
3974 pub const Tangut: Self = Self(154);
3975 pub const Tang: Self = Self::Tangut;
3976 pub const Woleai: Self = Self(155);
3978 pub const Wole: Self = Self::Woleai;
3980 pub const AnatolianHieroglyphs: Self = Self(156);
3981 pub const Hluw: Self = Self::AnatolianHieroglyphs;
3982 pub const Khojki: Self = Self(157);
3983 pub const Khoj: Self = Self::Khojki;
3984 pub const Tirhuta: Self = Self(158);
3985 pub const Tirh: Self = Self::Tirhuta;
3986 pub const CaucasianAlbanian: Self = Self(159);
3987 pub const Aghb: Self = Self::CaucasianAlbanian;
3988 pub const Mahajani: Self = Self(160);
3989 pub const Mahj: Self = Self::Mahajani;
3990 pub const Ahom: Self = Self(161);
3991 pub const Hatran: Self = Self(162);
3992 pub const Hatr: Self = Self::Hatran;
3993 pub const Modi: Self = Self(163);
3994 pub const Multani: Self = Self(164);
3995 pub const Mult: Self = Self::Multani;
3996 pub const PauCinHau: Self = Self(165);
3997 pub const Pauc: Self = Self::PauCinHau;
3998 pub const Siddham: Self = Self(166);
3999 pub const Sidd: Self = Self::Siddham;
4000 pub const Adlam: Self = Self(167);
4001 pub const Adlm: Self = Self::Adlam;
4002 pub const Bhaiksuki: Self = Self(168);
4003 pub const Bhks: Self = Self::Bhaiksuki;
4004 pub const Marchen: Self = Self(169);
4005 pub const Marc: Self = Self::Marchen;
4006 pub const Newa: Self = Self(170);
4007 pub const Osage: Self = Self(171);
4008 pub const Osge: Self = Self::Osage;
4009 pub const HanWithBopomofo: Self = Self(172);
4011 pub const Hanb: Self = Self::HanWithBopomofo;
4013 pub const Jamo: Self = Self(173);
4015 pub const SymbolsEmoji: Self = Self(174);
4017 pub const Zsye: Self = Self::SymbolsEmoji;
4019 pub const MasaramGondi: Self = Self(175);
4020 pub const Gonm: Self = Self::MasaramGondi;
4021 pub const Soyombo: Self = Self(176);
4022 pub const Soyo: Self = Self::Soyombo;
4023 pub const ZanabazarSquare: Self = Self(177);
4024 pub const Zanb: Self = Self::ZanabazarSquare;
4025 pub const Dogra: Self = Self(178);
4026 pub const Dogr: Self = Self::Dogra;
4027 pub const GunjalaGondi: Self = Self(179);
4028 pub const Gong: Self = Self::GunjalaGondi;
4029 pub const Makasar: Self = Self(180);
4030 pub const Maka: Self = Self::Makasar;
4031 pub const Medefaidrin: Self = Self(181);
4032 pub const Medf: Self = Self::Medefaidrin;
4033 pub const HanifiRohingya: Self = Self(182);
4034 pub const Rohg: Self = Self::HanifiRohingya;
4035 pub const Sogdian: Self = Self(183);
4036 pub const Sogd: Self = Self::Sogdian;
4037 pub const OldSogdian: Self = Self(184);
4038 pub const Sogo: Self = Self::OldSogdian;
4039 pub const Elymaic: Self = Self(185);
4040 pub const Elym: Self = Self::Elymaic;
4041 pub const NyiakengPuachueHmong: Self = Self(186);
4042 pub const Hmnp: Self = Self::NyiakengPuachueHmong;
4043 pub const Nandinagari: Self = Self(187);
4044 pub const Nand: Self = Self::Nandinagari;
4045 pub const Wancho: Self = Self(188);
4046 pub const Wcho: Self = Self::Wancho;
4047 pub const Chorasmian: Self = Self(189);
4048 pub const Chrs: Self = Self::Chorasmian;
4049 pub const DivesAkuru: Self = Self(190);
4050 pub const Diak: Self = Self::DivesAkuru;
4051 pub const KhitanSmallScript: Self = Self(191);
4052 pub const Kits: Self = Self::KhitanSmallScript;
4053 pub const Yezidi: Self = Self(192);
4054 pub const Yezi: Self = Self::Yezidi;
4055 pub const CyproMinoan: Self = Self(193);
4056 pub const Cpmn: Self = Self::CyproMinoan;
4057 pub const OldUyghur: Self = Self(194);
4058 pub const Ougr: Self = Self::OldUyghur;
4059 pub const Tangsa: Self = Self(195);
4060 pub const Tnsa: Self = Self::Tangsa;
4061 pub const Toto: Self = Self(196);
4062 pub const Vithkuqi: Self = Self(197);
4063 pub const Vith: Self = Self::Vithkuqi;
4064 pub const Kawi: Self = Self(198);
4065 pub const NagMundari: Self = Self(199);
4066 pub const Nagm: Self = Self::NagMundari;
4067 pub const ArabicNastaliq: Self = Self(200);
4069 pub const Aran: Self = Self::ArabicNastaliq;
4071 pub const Garay: Self = Self(201);
4072 pub const Gara: Self = Self::Garay;
4073 pub const GurungKhema: Self = Self(202);
4074 pub const Gukh: Self = Self::GurungKhema;
4075 pub const KiratRai: Self = Self(203);
4076 pub const Krai: Self = Self::KiratRai;
4077 pub const OlOnal: Self = Self(204);
4078 pub const Onao: Self = Self::OlOnal;
4079 pub const Sunuwar: Self = Self(205);
4080 pub const Sunu: Self = Self::Sunuwar;
4081 pub const Todhri: Self = Self(206);
4082 pub const Todr: Self = Self::Todhri;
4083 pub const TuluTigalari: Self = Self(207);
4084 pub const Tutg: Self = Self::TuluTigalari;
4085 pub const BeriaErfe: Self = Self(208);
4086 pub const Berf: Self = Self::BeriaErfe;
4087 pub const Sidetic: Self = Self(209);
4088 pub const Sidt: Self = Self::Sidetic;
4089 pub const TaiYo: Self = Self(210);
4090 pub const Tayo: Self = Self::TaiYo;
4091 pub const TolongSiki: Self = Self(211);
4092 pub const Tols: Self = Self::TolongSiki;
4093 pub const TraditionalHanWithLatin: Self = Self(212);
4095 pub const Hntl: Self = Self::TraditionalHanWithLatin;
4097 pub const ProtoCuneiform: Self = Self(213);
4098 pub const Pcun: Self = Self::ProtoCuneiform;
4099 pub const Seal: Self = Self(214);
4100}
4101
4102#[cfg(feature = "datagen")]
4103impl databake::Bake for Script {
4104 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
4105 env.insert("icu_properties");
4106 match *self {
4107 Self::Common => databake::quote!(icu_properties::props::Script::Common),
4108 Self::Inherited => databake::quote!(icu_properties::props::Script::Inherited),
4109 Self::Arabic => databake::quote!(icu_properties::props::Script::Arabic),
4110 Self::Armenian => databake::quote!(icu_properties::props::Script::Armenian),
4111 Self::Bengali => databake::quote!(icu_properties::props::Script::Bengali),
4112 Self::Bopomofo => databake::quote!(icu_properties::props::Script::Bopomofo),
4113 Self::Cherokee => databake::quote!(icu_properties::props::Script::Cherokee),
4114 Self::Coptic => databake::quote!(icu_properties::props::Script::Coptic),
4115 Self::Cyrillic => databake::quote!(icu_properties::props::Script::Cyrillic),
4116 Self::Deseret => databake::quote!(icu_properties::props::Script::Deseret),
4117 Self::Devanagari => databake::quote!(icu_properties::props::Script::Devanagari),
4118 Self::Ethiopic => databake::quote!(icu_properties::props::Script::Ethiopic),
4119 Self::Georgian => databake::quote!(icu_properties::props::Script::Georgian),
4120 Self::Gothic => databake::quote!(icu_properties::props::Script::Gothic),
4121 Self::Greek => databake::quote!(icu_properties::props::Script::Greek),
4122 Self::Gujarati => databake::quote!(icu_properties::props::Script::Gujarati),
4123 Self::Gurmukhi => databake::quote!(icu_properties::props::Script::Gurmukhi),
4124 Self::Han => databake::quote!(icu_properties::props::Script::Han),
4125 Self::Hangul => databake::quote!(icu_properties::props::Script::Hangul),
4126 Self::Hebrew => databake::quote!(icu_properties::props::Script::Hebrew),
4127 Self::Hiragana => databake::quote!(icu_properties::props::Script::Hiragana),
4128 Self::Kannada => databake::quote!(icu_properties::props::Script::Kannada),
4129 Self::Katakana => databake::quote!(icu_properties::props::Script::Katakana),
4130 Self::Khmer => databake::quote!(icu_properties::props::Script::Khmer),
4131 Self::Lao => databake::quote!(icu_properties::props::Script::Lao),
4132 Self::Latin => databake::quote!(icu_properties::props::Script::Latin),
4133 Self::Malayalam => databake::quote!(icu_properties::props::Script::Malayalam),
4134 Self::Mongolian => databake::quote!(icu_properties::props::Script::Mongolian),
4135 Self::Myanmar => databake::quote!(icu_properties::props::Script::Myanmar),
4136 Self::Ogham => databake::quote!(icu_properties::props::Script::Ogham),
4137 Self::OldItalic => databake::quote!(icu_properties::props::Script::OldItalic),
4138 Self::Oriya => databake::quote!(icu_properties::props::Script::Oriya),
4139 Self::Runic => databake::quote!(icu_properties::props::Script::Runic),
4140 Self::Sinhala => databake::quote!(icu_properties::props::Script::Sinhala),
4141 Self::Syriac => databake::quote!(icu_properties::props::Script::Syriac),
4142 Self::Tamil => databake::quote!(icu_properties::props::Script::Tamil),
4143 Self::Telugu => databake::quote!(icu_properties::props::Script::Telugu),
4144 Self::Thaana => databake::quote!(icu_properties::props::Script::Thaana),
4145 Self::Thai => databake::quote!(icu_properties::props::Script::Thai),
4146 Self::Tibetan => databake::quote!(icu_properties::props::Script::Tibetan),
4147 Self::CanadianAboriginal => databake::quote!(icu_properties::props::Script::CanadianAboriginal),
4148 Self::Yi => databake::quote!(icu_properties::props::Script::Yi),
4149 Self::Tagalog => databake::quote!(icu_properties::props::Script::Tagalog),
4150 Self::Hanunoo => databake::quote!(icu_properties::props::Script::Hanunoo),
4151 Self::Buhid => databake::quote!(icu_properties::props::Script::Buhid),
4152 Self::Tagbanwa => databake::quote!(icu_properties::props::Script::Tagbanwa),
4153 Self::Braille => databake::quote!(icu_properties::props::Script::Braille),
4154 Self::Cypriot => databake::quote!(icu_properties::props::Script::Cypriot),
4155 Self::Limbu => databake::quote!(icu_properties::props::Script::Limbu),
4156 Self::LinearB => databake::quote!(icu_properties::props::Script::LinearB),
4157 Self::Osmanya => databake::quote!(icu_properties::props::Script::Osmanya),
4158 Self::Shavian => databake::quote!(icu_properties::props::Script::Shavian),
4159 Self::TaiLe => databake::quote!(icu_properties::props::Script::TaiLe),
4160 Self::Ugaritic => databake::quote!(icu_properties::props::Script::Ugaritic),
4161 Self::KatakanaOrHiragana => databake::quote!(icu_properties::props::Script::KatakanaOrHiragana),
4162 Self::Buginese => databake::quote!(icu_properties::props::Script::Buginese),
4163 Self::Glagolitic => databake::quote!(icu_properties::props::Script::Glagolitic),
4164 Self::Kharoshthi => databake::quote!(icu_properties::props::Script::Kharoshthi),
4165 Self::SylotiNagri => databake::quote!(icu_properties::props::Script::SylotiNagri),
4166 Self::NewTaiLue => databake::quote!(icu_properties::props::Script::NewTaiLue),
4167 Self::Tifinagh => databake::quote!(icu_properties::props::Script::Tifinagh),
4168 Self::OldPersian => databake::quote!(icu_properties::props::Script::OldPersian),
4169 Self::Balinese => databake::quote!(icu_properties::props::Script::Balinese),
4170 Self::Batak => databake::quote!(icu_properties::props::Script::Batak),
4171 Self::Blissymbols => databake::quote!(icu_properties::props::Script::Blissymbols),
4172 Self::Brahmi => databake::quote!(icu_properties::props::Script::Brahmi),
4173 Self::Cham => databake::quote!(icu_properties::props::Script::Cham),
4174 Self::Cirth => databake::quote!(icu_properties::props::Script::Cirth),
4175 Self::OldChurchSlavonicCyrillic => databake::quote!(icu_properties::props::Script::OldChurchSlavonicCyrillic),
4176 Self::DemoticEgyptian => databake::quote!(icu_properties::props::Script::DemoticEgyptian),
4177 Self::HieraticEgyptian => databake::quote!(icu_properties::props::Script::HieraticEgyptian),
4178 Self::EgyptianHieroglyphs => databake::quote!(icu_properties::props::Script::EgyptianHieroglyphs),
4179 Self::Khutsuri => databake::quote!(icu_properties::props::Script::Khutsuri),
4180 Self::SimplifiedHan => databake::quote!(icu_properties::props::Script::SimplifiedHan),
4181 Self::TraditionalHan => databake::quote!(icu_properties::props::Script::TraditionalHan),
4182 Self::PahawhHmong => databake::quote!(icu_properties::props::Script::PahawhHmong),
4183 Self::OldHungarian => databake::quote!(icu_properties::props::Script::OldHungarian),
4184 Self::HarappanIndus => databake::quote!(icu_properties::props::Script::HarappanIndus),
4185 Self::Javanese => databake::quote!(icu_properties::props::Script::Javanese),
4186 Self::KayahLi => databake::quote!(icu_properties::props::Script::KayahLi),
4187 Self::LatinFraktur => databake::quote!(icu_properties::props::Script::LatinFraktur),
4188 Self::LatinGaelic => databake::quote!(icu_properties::props::Script::LatinGaelic),
4189 Self::Lepcha => databake::quote!(icu_properties::props::Script::Lepcha),
4190 Self::LinearA => databake::quote!(icu_properties::props::Script::LinearA),
4191 Self::Mandaic => databake::quote!(icu_properties::props::Script::Mandaic),
4192 Self::MayanHieroglyphs => databake::quote!(icu_properties::props::Script::MayanHieroglyphs),
4193 Self::MeroiticHieroglyphs => databake::quote!(icu_properties::props::Script::MeroiticHieroglyphs),
4194 Self::Nko => databake::quote!(icu_properties::props::Script::Nko),
4195 Self::OldTurkic => databake::quote!(icu_properties::props::Script::OldTurkic),
4196 Self::OldPermic => databake::quote!(icu_properties::props::Script::OldPermic),
4197 Self::PhagsPa => databake::quote!(icu_properties::props::Script::PhagsPa),
4198 Self::Phoenician => databake::quote!(icu_properties::props::Script::Phoenician),
4199 Self::Miao => databake::quote!(icu_properties::props::Script::Miao),
4200 Self::Rongorongo => databake::quote!(icu_properties::props::Script::Rongorongo),
4201 Self::Sarati => databake::quote!(icu_properties::props::Script::Sarati),
4202 Self::EstrangeloSyriac => databake::quote!(icu_properties::props::Script::EstrangeloSyriac),
4203 Self::WesternSyriac => databake::quote!(icu_properties::props::Script::WesternSyriac),
4204 Self::EasternSyriac => databake::quote!(icu_properties::props::Script::EasternSyriac),
4205 Self::Tengwar => databake::quote!(icu_properties::props::Script::Tengwar),
4206 Self::Vai => databake::quote!(icu_properties::props::Script::Vai),
4207 Self::VisibleSpeech => databake::quote!(icu_properties::props::Script::VisibleSpeech),
4208 Self::Cuneiform => databake::quote!(icu_properties::props::Script::Cuneiform),
4209 Self::UnwrittenLanguages => databake::quote!(icu_properties::props::Script::UnwrittenLanguages),
4210 Self::Unknown => databake::quote!(icu_properties::props::Script::Unknown),
4211 Self::Carian => databake::quote!(icu_properties::props::Script::Carian),
4212 Self::Japanese => databake::quote!(icu_properties::props::Script::Japanese),
4213 Self::TaiTham => databake::quote!(icu_properties::props::Script::TaiTham),
4214 Self::Lycian => databake::quote!(icu_properties::props::Script::Lycian),
4215 Self::Lydian => databake::quote!(icu_properties::props::Script::Lydian),
4216 Self::OlChiki => databake::quote!(icu_properties::props::Script::OlChiki),
4217 Self::Rejang => databake::quote!(icu_properties::props::Script::Rejang),
4218 Self::Saurashtra => databake::quote!(icu_properties::props::Script::Saurashtra),
4219 Self::SignWriting => databake::quote!(icu_properties::props::Script::SignWriting),
4220 Self::Sundanese => databake::quote!(icu_properties::props::Script::Sundanese),
4221 Self::Moon => databake::quote!(icu_properties::props::Script::Moon),
4222 Self::MeeteiMayek => databake::quote!(icu_properties::props::Script::MeeteiMayek),
4223 Self::ImperialAramaic => databake::quote!(icu_properties::props::Script::ImperialAramaic),
4224 Self::Avestan => databake::quote!(icu_properties::props::Script::Avestan),
4225 Self::Chakma => databake::quote!(icu_properties::props::Script::Chakma),
4226 Self::Korean => databake::quote!(icu_properties::props::Script::Korean),
4227 Self::Kaithi => databake::quote!(icu_properties::props::Script::Kaithi),
4228 Self::Manichaean => databake::quote!(icu_properties::props::Script::Manichaean),
4229 Self::InscriptionalPahlavi => databake::quote!(icu_properties::props::Script::InscriptionalPahlavi),
4230 Self::PsalterPahlavi => databake::quote!(icu_properties::props::Script::PsalterPahlavi),
4231 Self::BookPahlavi => databake::quote!(icu_properties::props::Script::BookPahlavi),
4232 Self::InscriptionalParthian => databake::quote!(icu_properties::props::Script::InscriptionalParthian),
4233 Self::Samaritan => databake::quote!(icu_properties::props::Script::Samaritan),
4234 Self::TaiViet => databake::quote!(icu_properties::props::Script::TaiViet),
4235 Self::MathematicalNotation => databake::quote!(icu_properties::props::Script::MathematicalNotation),
4236 Self::Symbols => databake::quote!(icu_properties::props::Script::Symbols),
4237 Self::Bamum => databake::quote!(icu_properties::props::Script::Bamum),
4238 Self::Lisu => databake::quote!(icu_properties::props::Script::Lisu),
4239 Self::NakhiGeba => databake::quote!(icu_properties::props::Script::NakhiGeba),
4240 Self::OldSouthArabian => databake::quote!(icu_properties::props::Script::OldSouthArabian),
4241 Self::BassaVah => databake::quote!(icu_properties::props::Script::BassaVah),
4242 Self::Duployan => databake::quote!(icu_properties::props::Script::Duployan),
4243 Self::Elbasan => databake::quote!(icu_properties::props::Script::Elbasan),
4244 Self::Grantha => databake::quote!(icu_properties::props::Script::Grantha),
4245 Self::Kpelle => databake::quote!(icu_properties::props::Script::Kpelle),
4246 Self::Loma => databake::quote!(icu_properties::props::Script::Loma),
4247 Self::MendeKikakui => databake::quote!(icu_properties::props::Script::MendeKikakui),
4248 Self::MeroiticCursive => databake::quote!(icu_properties::props::Script::MeroiticCursive),
4249 Self::OldNorthArabian => databake::quote!(icu_properties::props::Script::OldNorthArabian),
4250 Self::Nabataean => databake::quote!(icu_properties::props::Script::Nabataean),
4251 Self::Palmyrene => databake::quote!(icu_properties::props::Script::Palmyrene),
4252 Self::Khudawadi => databake::quote!(icu_properties::props::Script::Khudawadi),
4253 Self::WarangCiti => databake::quote!(icu_properties::props::Script::WarangCiti),
4254 Self::Afaka => databake::quote!(icu_properties::props::Script::Afaka),
4255 Self::Jurchen => databake::quote!(icu_properties::props::Script::Jurchen),
4256 Self::Mro => databake::quote!(icu_properties::props::Script::Mro),
4257 Self::Nushu => databake::quote!(icu_properties::props::Script::Nushu),
4258 Self::Sharada => databake::quote!(icu_properties::props::Script::Sharada),
4259 Self::SoraSompeng => databake::quote!(icu_properties::props::Script::SoraSompeng),
4260 Self::Takri => databake::quote!(icu_properties::props::Script::Takri),
4261 Self::Tangut => databake::quote!(icu_properties::props::Script::Tangut),
4262 Self::Woleai => databake::quote!(icu_properties::props::Script::Woleai),
4263 Self::AnatolianHieroglyphs => databake::quote!(icu_properties::props::Script::AnatolianHieroglyphs),
4264 Self::Khojki => databake::quote!(icu_properties::props::Script::Khojki),
4265 Self::Tirhuta => databake::quote!(icu_properties::props::Script::Tirhuta),
4266 Self::CaucasianAlbanian => databake::quote!(icu_properties::props::Script::CaucasianAlbanian),
4267 Self::Mahajani => databake::quote!(icu_properties::props::Script::Mahajani),
4268 Self::Ahom => databake::quote!(icu_properties::props::Script::Ahom),
4269 Self::Hatran => databake::quote!(icu_properties::props::Script::Hatran),
4270 Self::Modi => databake::quote!(icu_properties::props::Script::Modi),
4271 Self::Multani => databake::quote!(icu_properties::props::Script::Multani),
4272 Self::PauCinHau => databake::quote!(icu_properties::props::Script::PauCinHau),
4273 Self::Siddham => databake::quote!(icu_properties::props::Script::Siddham),
4274 Self::Adlam => databake::quote!(icu_properties::props::Script::Adlam),
4275 Self::Bhaiksuki => databake::quote!(icu_properties::props::Script::Bhaiksuki),
4276 Self::Marchen => databake::quote!(icu_properties::props::Script::Marchen),
4277 Self::Newa => databake::quote!(icu_properties::props::Script::Newa),
4278 Self::Osage => databake::quote!(icu_properties::props::Script::Osage),
4279 Self::HanWithBopomofo => databake::quote!(icu_properties::props::Script::HanWithBopomofo),
4280 Self::Jamo => databake::quote!(icu_properties::props::Script::Jamo),
4281 Self::SymbolsEmoji => databake::quote!(icu_properties::props::Script::SymbolsEmoji),
4282 Self::MasaramGondi => databake::quote!(icu_properties::props::Script::MasaramGondi),
4283 Self::Soyombo => databake::quote!(icu_properties::props::Script::Soyombo),
4284 Self::ZanabazarSquare => databake::quote!(icu_properties::props::Script::ZanabazarSquare),
4285 Self::Dogra => databake::quote!(icu_properties::props::Script::Dogra),
4286 Self::GunjalaGondi => databake::quote!(icu_properties::props::Script::GunjalaGondi),
4287 Self::Makasar => databake::quote!(icu_properties::props::Script::Makasar),
4288 Self::Medefaidrin => databake::quote!(icu_properties::props::Script::Medefaidrin),
4289 Self::HanifiRohingya => databake::quote!(icu_properties::props::Script::HanifiRohingya),
4290 Self::Sogdian => databake::quote!(icu_properties::props::Script::Sogdian),
4291 Self::OldSogdian => databake::quote!(icu_properties::props::Script::OldSogdian),
4292 Self::Elymaic => databake::quote!(icu_properties::props::Script::Elymaic),
4293 Self::NyiakengPuachueHmong => databake::quote!(icu_properties::props::Script::NyiakengPuachueHmong),
4294 Self::Nandinagari => databake::quote!(icu_properties::props::Script::Nandinagari),
4295 Self::Wancho => databake::quote!(icu_properties::props::Script::Wancho),
4296 Self::Chorasmian => databake::quote!(icu_properties::props::Script::Chorasmian),
4297 Self::DivesAkuru => databake::quote!(icu_properties::props::Script::DivesAkuru),
4298 Self::KhitanSmallScript => databake::quote!(icu_properties::props::Script::KhitanSmallScript),
4299 Self::Yezidi => databake::quote!(icu_properties::props::Script::Yezidi),
4300 Self::CyproMinoan => databake::quote!(icu_properties::props::Script::CyproMinoan),
4301 Self::OldUyghur => databake::quote!(icu_properties::props::Script::OldUyghur),
4302 Self::Tangsa => databake::quote!(icu_properties::props::Script::Tangsa),
4303 Self::Toto => databake::quote!(icu_properties::props::Script::Toto),
4304 Self::Vithkuqi => databake::quote!(icu_properties::props::Script::Vithkuqi),
4305 Self::Kawi => databake::quote!(icu_properties::props::Script::Kawi),
4306 Self::NagMundari => databake::quote!(icu_properties::props::Script::NagMundari),
4307 Self::ArabicNastaliq => databake::quote!(icu_properties::props::Script::ArabicNastaliq),
4308 Self::Garay => databake::quote!(icu_properties::props::Script::Garay),
4309 Self::GurungKhema => databake::quote!(icu_properties::props::Script::GurungKhema),
4310 Self::KiratRai => databake::quote!(icu_properties::props::Script::KiratRai),
4311 Self::OlOnal => databake::quote!(icu_properties::props::Script::OlOnal),
4312 Self::Sunuwar => databake::quote!(icu_properties::props::Script::Sunuwar),
4313 Self::Todhri => databake::quote!(icu_properties::props::Script::Todhri),
4314 Self::TuluTigalari => databake::quote!(icu_properties::props::Script::TuluTigalari),
4315 Self::BeriaErfe => databake::quote!(icu_properties::props::Script::BeriaErfe),
4316 Self::Sidetic => databake::quote!(icu_properties::props::Script::Sidetic),
4317 Self::TaiYo => databake::quote!(icu_properties::props::Script::TaiYo),
4318 Self::TolongSiki => databake::quote!(icu_properties::props::Script::TolongSiki),
4319 Self::TraditionalHanWithLatin => databake::quote!(icu_properties::props::Script::TraditionalHanWithLatin),
4320 Self::ProtoCuneiform => databake::quote!(icu_properties::props::Script::ProtoCuneiform),
4321 Self::Seal => databake::quote!(icu_properties::props::Script::Seal),
4322 Self(v) => databake::quote!(icu_properties::props::Script(#v)),
4323 }
4324 }
4325}
4326
4327
4328impl From<Script> for u16 {
4329 fn from(other: Script) -> Self {
4330 other.0
4331 }
4332}
4333
4334impl Script {
4335 #[deprecated]
4337 pub const ALL_VALUES: &'static [Self] = &[
4338 Self::Common,
4339 Self::Inherited,
4340 Self::Arabic,
4341 Self::Armenian,
4342 Self::Bengali,
4343 Self::Bopomofo,
4344 Self::Cherokee,
4345 Self::Coptic,
4346 Self::Cyrillic,
4347 Self::Deseret,
4348 Self::Devanagari,
4349 Self::Ethiopic,
4350 Self::Georgian,
4351 Self::Gothic,
4352 Self::Greek,
4353 Self::Gujarati,
4354 Self::Gurmukhi,
4355 Self::Han,
4356 Self::Hangul,
4357 Self::Hebrew,
4358 Self::Hiragana,
4359 Self::Kannada,
4360 Self::Katakana,
4361 Self::Khmer,
4362 Self::Lao,
4363 Self::Latin,
4364 Self::Malayalam,
4365 Self::Mongolian,
4366 Self::Myanmar,
4367 Self::Ogham,
4368 Self::OldItalic,
4369 Self::Oriya,
4370 Self::Runic,
4371 Self::Sinhala,
4372 Self::Syriac,
4373 Self::Tamil,
4374 Self::Telugu,
4375 Self::Thaana,
4376 Self::Thai,
4377 Self::Tibetan,
4378 Self::CanadianAboriginal,
4379 Self::Yi,
4380 Self::Tagalog,
4381 Self::Hanunoo,
4382 Self::Buhid,
4383 Self::Tagbanwa,
4384 Self::Braille,
4385 Self::Cypriot,
4386 Self::Limbu,
4387 Self::LinearB,
4388 Self::Osmanya,
4389 Self::Shavian,
4390 Self::TaiLe,
4391 Self::Ugaritic,
4392 Self::KatakanaOrHiragana,
4393 Self::Buginese,
4394 Self::Glagolitic,
4395 Self::Kharoshthi,
4396 Self::SylotiNagri,
4397 Self::NewTaiLue,
4398 Self::Tifinagh,
4399 Self::OldPersian,
4400 Self::Balinese,
4401 Self::Batak,
4402 Self::Blissymbols,
4403 Self::Brahmi,
4404 Self::Cham,
4405 Self::Cirth,
4406 Self::OldChurchSlavonicCyrillic,
4407 Self::DemoticEgyptian,
4408 Self::HieraticEgyptian,
4409 Self::EgyptianHieroglyphs,
4410 Self::Khutsuri,
4411 Self::SimplifiedHan,
4412 Self::TraditionalHan,
4413 Self::PahawhHmong,
4414 Self::OldHungarian,
4415 Self::HarappanIndus,
4416 Self::Javanese,
4417 Self::KayahLi,
4418 Self::LatinFraktur,
4419 Self::LatinGaelic,
4420 Self::Lepcha,
4421 Self::LinearA,
4422 Self::Mandaic,
4423 Self::MayanHieroglyphs,
4424 Self::MeroiticHieroglyphs,
4425 Self::Nko,
4426 Self::OldTurkic,
4427 Self::OldPermic,
4428 Self::PhagsPa,
4429 Self::Phoenician,
4430 Self::Miao,
4431 Self::Rongorongo,
4432 Self::Sarati,
4433 Self::EstrangeloSyriac,
4434 Self::WesternSyriac,
4435 Self::EasternSyriac,
4436 Self::Tengwar,
4437 Self::Vai,
4438 Self::VisibleSpeech,
4439 Self::Cuneiform,
4440 Self::UnwrittenLanguages,
4441 Self::Unknown,
4442 Self::Carian,
4443 Self::Japanese,
4444 Self::TaiTham,
4445 Self::Lycian,
4446 Self::Lydian,
4447 Self::OlChiki,
4448 Self::Rejang,
4449 Self::Saurashtra,
4450 Self::SignWriting,
4451 Self::Sundanese,
4452 Self::Moon,
4453 Self::MeeteiMayek,
4454 Self::ImperialAramaic,
4455 Self::Avestan,
4456 Self::Chakma,
4457 Self::Korean,
4458 Self::Kaithi,
4459 Self::Manichaean,
4460 Self::InscriptionalPahlavi,
4461 Self::PsalterPahlavi,
4462 Self::BookPahlavi,
4463 Self::InscriptionalParthian,
4464 Self::Samaritan,
4465 Self::TaiViet,
4466 Self::MathematicalNotation,
4467 Self::Symbols,
4468 Self::Bamum,
4469 Self::Lisu,
4470 Self::NakhiGeba,
4471 Self::OldSouthArabian,
4472 Self::BassaVah,
4473 Self::Duployan,
4474 Self::Elbasan,
4475 Self::Grantha,
4476 Self::Kpelle,
4477 Self::Loma,
4478 Self::MendeKikakui,
4479 Self::MeroiticCursive,
4480 Self::OldNorthArabian,
4481 Self::Nabataean,
4482 Self::Palmyrene,
4483 Self::Khudawadi,
4484 Self::WarangCiti,
4485 Self::Afaka,
4486 Self::Jurchen,
4487 Self::Mro,
4488 Self::Nushu,
4489 Self::Sharada,
4490 Self::SoraSompeng,
4491 Self::Takri,
4492 Self::Tangut,
4493 Self::Woleai,
4494 Self::AnatolianHieroglyphs,
4495 Self::Khojki,
4496 Self::Tirhuta,
4497 Self::CaucasianAlbanian,
4498 Self::Mahajani,
4499 Self::Ahom,
4500 Self::Hatran,
4501 Self::Modi,
4502 Self::Multani,
4503 Self::PauCinHau,
4504 Self::Siddham,
4505 Self::Adlam,
4506 Self::Bhaiksuki,
4507 Self::Marchen,
4508 Self::Newa,
4509 Self::Osage,
4510 Self::HanWithBopomofo,
4511 Self::Jamo,
4512 Self::SymbolsEmoji,
4513 Self::MasaramGondi,
4514 Self::Soyombo,
4515 Self::ZanabazarSquare,
4516 Self::Dogra,
4517 Self::GunjalaGondi,
4518 Self::Makasar,
4519 Self::Medefaidrin,
4520 Self::HanifiRohingya,
4521 Self::Sogdian,
4522 Self::OldSogdian,
4523 Self::Elymaic,
4524 Self::NyiakengPuachueHmong,
4525 Self::Nandinagari,
4526 Self::Wancho,
4527 Self::Chorasmian,
4528 Self::DivesAkuru,
4529 Self::KhitanSmallScript,
4530 Self::Yezidi,
4531 Self::CyproMinoan,
4532 Self::OldUyghur,
4533 Self::Tangsa,
4534 Self::Toto,
4535 Self::Vithkuqi,
4536 Self::Kawi,
4537 Self::NagMundari,
4538 Self::ArabicNastaliq,
4539 Self::Garay,
4540 Self::GurungKhema,
4541 Self::KiratRai,
4542 Self::OlOnal,
4543 Self::Sunuwar,
4544 Self::Todhri,
4545 Self::TuluTigalari,
4546 Self::BeriaErfe,
4547 Self::Sidetic,
4548 Self::TaiYo,
4549 Self::TolongSiki,
4550 Self::TraditionalHanWithLatin,
4551 Self::ProtoCuneiform,
4552 Self::Seal,
4553 ];
4554
4555 #[cfg(feature = "datagen")]
4556 #[doc(hidden)]
4557 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
4558 [
4559 ("Zyyy", Self::Common),
4560 ("Zinh", Self::Inherited),
4561 ("Arab", Self::Arabic),
4562 ("Armn", Self::Armenian),
4563 ("Beng", Self::Bengali),
4564 ("Bopo", Self::Bopomofo),
4565 ("Cher", Self::Cherokee),
4566 ("Copt", Self::Coptic),
4567 ("Cyrl", Self::Cyrillic),
4568 ("Dsrt", Self::Deseret),
4569 ("Deva", Self::Devanagari),
4570 ("Ethi", Self::Ethiopic),
4571 ("Geor", Self::Georgian),
4572 ("Goth", Self::Gothic),
4573 ("Grek", Self::Greek),
4574 ("Gujr", Self::Gujarati),
4575 ("Guru", Self::Gurmukhi),
4576 ("Hani", Self::Han),
4577 ("Hang", Self::Hangul),
4578 ("Hebr", Self::Hebrew),
4579 ("Hira", Self::Hiragana),
4580 ("Knda", Self::Kannada),
4581 ("Kana", Self::Katakana),
4582 ("Khmr", Self::Khmer),
4583 ("Laoo", Self::Lao),
4584 ("Latn", Self::Latin),
4585 ("Mlym", Self::Malayalam),
4586 ("Mong", Self::Mongolian),
4587 ("Mymr", Self::Myanmar),
4588 ("Ogam", Self::Ogham),
4589 ("Ital", Self::OldItalic),
4590 ("Orya", Self::Oriya),
4591 ("Runr", Self::Runic),
4592 ("Sinh", Self::Sinhala),
4593 ("Syrc", Self::Syriac),
4594 ("Taml", Self::Tamil),
4595 ("Telu", Self::Telugu),
4596 ("Thaa", Self::Thaana),
4597 ("Thai", Self::Thai),
4598 ("Tibt", Self::Tibetan),
4599 ("Cans", Self::CanadianAboriginal),
4600 ("Yiii", Self::Yi),
4601 ("Tglg", Self::Tagalog),
4602 ("Hano", Self::Hanunoo),
4603 ("Buhd", Self::Buhid),
4604 ("Tagb", Self::Tagbanwa),
4605 ("Brai", Self::Braille),
4606 ("Cprt", Self::Cypriot),
4607 ("Limb", Self::Limbu),
4608 ("Linb", Self::LinearB),
4609 ("Osma", Self::Osmanya),
4610 ("Shaw", Self::Shavian),
4611 ("Tale", Self::TaiLe),
4612 ("Ugar", Self::Ugaritic),
4613 ("Hrkt", Self::KatakanaOrHiragana),
4614 ("Bugi", Self::Buginese),
4615 ("Glag", Self::Glagolitic),
4616 ("Khar", Self::Kharoshthi),
4617 ("Sylo", Self::SylotiNagri),
4618 ("Talu", Self::NewTaiLue),
4619 ("Tfng", Self::Tifinagh),
4620 ("Xpeo", Self::OldPersian),
4621 ("Bali", Self::Balinese),
4622 ("Batk", Self::Batak),
4623 ("Blis", Self::Blissymbols),
4624 ("Brah", Self::Brahmi),
4625 ("Cham", Self::Cham),
4626 ("Cirt", Self::Cirth),
4627 ("Cyrs", Self::OldChurchSlavonicCyrillic),
4628 ("Egyd", Self::DemoticEgyptian),
4629 ("Egyh", Self::HieraticEgyptian),
4630 ("Egyp", Self::EgyptianHieroglyphs),
4631 ("Geok", Self::Khutsuri),
4632 ("Hans", Self::SimplifiedHan),
4633 ("Hant", Self::TraditionalHan),
4634 ("Hmng", Self::PahawhHmong),
4635 ("Hung", Self::OldHungarian),
4636 ("Inds", Self::HarappanIndus),
4637 ("Java", Self::Javanese),
4638 ("Kali", Self::KayahLi),
4639 ("Latf", Self::LatinFraktur),
4640 ("Latg", Self::LatinGaelic),
4641 ("Lepc", Self::Lepcha),
4642 ("Lina", Self::LinearA),
4643 ("Mand", Self::Mandaic),
4644 ("Maya", Self::MayanHieroglyphs),
4645 ("Mero", Self::MeroiticHieroglyphs),
4646 ("Nkoo", Self::Nko),
4647 ("Orkh", Self::OldTurkic),
4648 ("Perm", Self::OldPermic),
4649 ("Phag", Self::PhagsPa),
4650 ("Phnx", Self::Phoenician),
4651 ("Plrd", Self::Miao),
4652 ("Roro", Self::Rongorongo),
4653 ("Sara", Self::Sarati),
4654 ("Syre", Self::EstrangeloSyriac),
4655 ("Syrj", Self::WesternSyriac),
4656 ("Syrn", Self::EasternSyriac),
4657 ("Teng", Self::Tengwar),
4658 ("Vaii", Self::Vai),
4659 ("Visp", Self::VisibleSpeech),
4660 ("Xsux", Self::Cuneiform),
4661 ("Zxxx", Self::UnwrittenLanguages),
4662 ("Zzzz", Self::Unknown),
4663 ("Cari", Self::Carian),
4664 ("Jpan", Self::Japanese),
4665 ("Lana", Self::TaiTham),
4666 ("Lyci", Self::Lycian),
4667 ("Lydi", Self::Lydian),
4668 ("Olck", Self::OlChiki),
4669 ("Rjng", Self::Rejang),
4670 ("Saur", Self::Saurashtra),
4671 ("Sgnw", Self::SignWriting),
4672 ("Sund", Self::Sundanese),
4673 ("Moon", Self::Moon),
4674 ("Mtei", Self::MeeteiMayek),
4675 ("Armi", Self::ImperialAramaic),
4676 ("Avst", Self::Avestan),
4677 ("Cakm", Self::Chakma),
4678 ("Kore", Self::Korean),
4679 ("Kthi", Self::Kaithi),
4680 ("Mani", Self::Manichaean),
4681 ("Phli", Self::InscriptionalPahlavi),
4682 ("Phlp", Self::PsalterPahlavi),
4683 ("Phlv", Self::BookPahlavi),
4684 ("Prti", Self::InscriptionalParthian),
4685 ("Samr", Self::Samaritan),
4686 ("Tavt", Self::TaiViet),
4687 ("Zmth", Self::MathematicalNotation),
4688 ("Zsym", Self::Symbols),
4689 ("Bamu", Self::Bamum),
4690 ("Lisu", Self::Lisu),
4691 ("Nkgb", Self::NakhiGeba),
4692 ("Sarb", Self::OldSouthArabian),
4693 ("Bass", Self::BassaVah),
4694 ("Dupl", Self::Duployan),
4695 ("Elba", Self::Elbasan),
4696 ("Gran", Self::Grantha),
4697 ("Kpel", Self::Kpelle),
4698 ("Loma", Self::Loma),
4699 ("Mend", Self::MendeKikakui),
4700 ("Merc", Self::MeroiticCursive),
4701 ("Narb", Self::OldNorthArabian),
4702 ("Nbat", Self::Nabataean),
4703 ("Palm", Self::Palmyrene),
4704 ("Sind", Self::Khudawadi),
4705 ("Wara", Self::WarangCiti),
4706 ("Afak", Self::Afaka),
4707 ("Jurc", Self::Jurchen),
4708 ("Mroo", Self::Mro),
4709 ("Nshu", Self::Nushu),
4710 ("Shrd", Self::Sharada),
4711 ("Sora", Self::SoraSompeng),
4712 ("Takr", Self::Takri),
4713 ("Tang", Self::Tangut),
4714 ("Wole", Self::Woleai),
4715 ("Hluw", Self::AnatolianHieroglyphs),
4716 ("Khoj", Self::Khojki),
4717 ("Tirh", Self::Tirhuta),
4718 ("Aghb", Self::CaucasianAlbanian),
4719 ("Mahj", Self::Mahajani),
4720 ("Ahom", Self::Ahom),
4721 ("Hatr", Self::Hatran),
4722 ("Modi", Self::Modi),
4723 ("Mult", Self::Multani),
4724 ("Pauc", Self::PauCinHau),
4725 ("Sidd", Self::Siddham),
4726 ("Adlm", Self::Adlam),
4727 ("Bhks", Self::Bhaiksuki),
4728 ("Marc", Self::Marchen),
4729 ("Newa", Self::Newa),
4730 ("Osge", Self::Osage),
4731 ("Hanb", Self::HanWithBopomofo),
4732 ("Jamo", Self::Jamo),
4733 ("Zsye", Self::SymbolsEmoji),
4734 ("Gonm", Self::MasaramGondi),
4735 ("Soyo", Self::Soyombo),
4736 ("Zanb", Self::ZanabazarSquare),
4737 ("Dogr", Self::Dogra),
4738 ("Gong", Self::GunjalaGondi),
4739 ("Maka", Self::Makasar),
4740 ("Medf", Self::Medefaidrin),
4741 ("Rohg", Self::HanifiRohingya),
4742 ("Sogd", Self::Sogdian),
4743 ("Sogo", Self::OldSogdian),
4744 ("Elym", Self::Elymaic),
4745 ("Hmnp", Self::NyiakengPuachueHmong),
4746 ("Nand", Self::Nandinagari),
4747 ("Wcho", Self::Wancho),
4748 ("Chrs", Self::Chorasmian),
4749 ("Diak", Self::DivesAkuru),
4750 ("Kits", Self::KhitanSmallScript),
4751 ("Yezi", Self::Yezidi),
4752 ("Cpmn", Self::CyproMinoan),
4753 ("Ougr", Self::OldUyghur),
4754 ("Tnsa", Self::Tangsa),
4755 ("Toto", Self::Toto),
4756 ("Vith", Self::Vithkuqi),
4757 ("Kawi", Self::Kawi),
4758 ("Nagm", Self::NagMundari),
4759 ("Aran", Self::ArabicNastaliq),
4760 ("Gara", Self::Garay),
4761 ("Gukh", Self::GurungKhema),
4762 ("Krai", Self::KiratRai),
4763 ("Onao", Self::OlOnal),
4764 ("Sunu", Self::Sunuwar),
4765 ("Todr", Self::Todhri),
4766 ("Tutg", Self::TuluTigalari),
4767 ("Berf", Self::BeriaErfe),
4768 ("Sidt", Self::Sidetic),
4769 ("Tayo", Self::TaiYo),
4770 ("Tols", Self::TolongSiki),
4771 ("Hntl", Self::TraditionalHanWithLatin),
4772 ("Pcun", Self::ProtoCuneiform),
4773 ("Seal", Self::Seal),
4774 ].into_iter()
4775 }
4776}
4777
4778impl SentenceBreak {
4779 pub const Other: Self = Self(0);
4780 pub const XX: Self = Self::Other;
4781 pub const ATerm: Self = Self(1);
4782 pub const AT: Self = Self::ATerm;
4783 pub const Close: Self = Self(2);
4784 pub const CL: Self = Self::Close;
4785 pub const Format: Self = Self(3);
4786 pub const FO: Self = Self::Format;
4787 pub const Lower: Self = Self(4);
4788 pub const LO: Self = Self::Lower;
4789 pub const Numeric: Self = Self(5);
4790 pub const NU: Self = Self::Numeric;
4791 pub const OLetter: Self = Self(6);
4792 pub const LE: Self = Self::OLetter;
4793 pub const Sep: Self = Self(7);
4794 pub const SE: Self = Self::Sep;
4795 pub const Sp: Self = Self(8);
4796 pub const SP: Self = Self::Sp;
4797 pub const STerm: Self = Self(9);
4798 pub const ST: Self = Self::STerm;
4799 pub const Upper: Self = Self(10);
4800 pub const UP: Self = Self::Upper;
4801 pub const CR: Self = Self(11);
4802 pub const Extend: Self = Self(12);
4803 pub const EX: Self = Self::Extend;
4804 pub const LF: Self = Self(13);
4805 pub const SContinue: Self = Self(14);
4806 pub const SC: Self = Self::SContinue;
4807}
4808
4809#[cfg(feature = "datagen")]
4810impl databake::Bake for SentenceBreak {
4811 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
4812 env.insert("icu_properties");
4813 match *self {
4814 Self::Other => databake::quote!(icu_properties::props::SentenceBreak::Other),
4815 Self::ATerm => databake::quote!(icu_properties::props::SentenceBreak::ATerm),
4816 Self::Close => databake::quote!(icu_properties::props::SentenceBreak::Close),
4817 Self::Format => databake::quote!(icu_properties::props::SentenceBreak::Format),
4818 Self::Lower => databake::quote!(icu_properties::props::SentenceBreak::Lower),
4819 Self::Numeric => databake::quote!(icu_properties::props::SentenceBreak::Numeric),
4820 Self::OLetter => databake::quote!(icu_properties::props::SentenceBreak::OLetter),
4821 Self::Sep => databake::quote!(icu_properties::props::SentenceBreak::Sep),
4822 Self::Sp => databake::quote!(icu_properties::props::SentenceBreak::Sp),
4823 Self::STerm => databake::quote!(icu_properties::props::SentenceBreak::STerm),
4824 Self::Upper => databake::quote!(icu_properties::props::SentenceBreak::Upper),
4825 Self::CR => databake::quote!(icu_properties::props::SentenceBreak::CR),
4826 Self::Extend => databake::quote!(icu_properties::props::SentenceBreak::Extend),
4827 Self::LF => databake::quote!(icu_properties::props::SentenceBreak::LF),
4828 Self::SContinue => databake::quote!(icu_properties::props::SentenceBreak::SContinue),
4829 Self(v) => databake::quote!(icu_properties::props::SentenceBreak(#v)),
4830 }
4831 }
4832}
4833
4834
4835impl From<SentenceBreak> for u16 {
4836 fn from(other: SentenceBreak) -> Self {
4837 other.0 as u16
4838 }
4839}
4840
4841impl SentenceBreak {
4842 #[deprecated]
4844 pub const ALL_VALUES: &'static [Self] = &[
4845 Self::Other,
4846 Self::ATerm,
4847 Self::Close,
4848 Self::Format,
4849 Self::Lower,
4850 Self::Numeric,
4851 Self::OLetter,
4852 Self::Sep,
4853 Self::Sp,
4854 Self::STerm,
4855 Self::Upper,
4856 Self::CR,
4857 Self::Extend,
4858 Self::LF,
4859 Self::SContinue,
4860 ];
4861
4862 #[cfg(feature = "datagen")]
4863 #[doc(hidden)]
4864 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
4865 [
4866 ("XX", Self::Other),
4867 ("AT", Self::ATerm),
4868 ("CL", Self::Close),
4869 ("FO", Self::Format),
4870 ("LO", Self::Lower),
4871 ("NU", Self::Numeric),
4872 ("LE", Self::OLetter),
4873 ("SE", Self::Sep),
4874 ("SP", Self::Sp),
4875 ("ST", Self::STerm),
4876 ("UP", Self::Upper),
4877 ("CR", Self::CR),
4878 ("EX", Self::Extend),
4879 ("LF", Self::LF),
4880 ("SC", Self::SContinue),
4881 ].into_iter()
4882 }
4883}
4884
4885impl VerticalOrientation {
4886 pub const Rotated: Self = Self(0);
4887 pub const R: Self = Self::Rotated;
4888 pub const TransformedRotated: Self = Self(1);
4889 pub const Tr: Self = Self::TransformedRotated;
4890 pub const TransformedUpright: Self = Self(2);
4891 pub const Tu: Self = Self::TransformedUpright;
4892 pub const Upright: Self = Self(3);
4893 pub const U: Self = Self::Upright;
4894}
4895
4896#[cfg(feature = "datagen")]
4897impl databake::Bake for VerticalOrientation {
4898 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
4899 env.insert("icu_properties");
4900 match *self {
4901 Self::Rotated => databake::quote!(icu_properties::props::VerticalOrientation::Rotated),
4902 Self::TransformedRotated => databake::quote!(icu_properties::props::VerticalOrientation::TransformedRotated),
4903 Self::TransformedUpright => databake::quote!(icu_properties::props::VerticalOrientation::TransformedUpright),
4904 Self::Upright => databake::quote!(icu_properties::props::VerticalOrientation::Upright),
4905 Self(v) => databake::quote!(icu_properties::props::VerticalOrientation(#v)),
4906 }
4907 }
4908}
4909
4910
4911impl From<VerticalOrientation> for u16 {
4912 fn from(other: VerticalOrientation) -> Self {
4913 other.0 as u16
4914 }
4915}
4916
4917impl VerticalOrientation {
4918 #[deprecated]
4920 pub const ALL_VALUES: &'static [Self] = &[
4921 Self::Rotated,
4922 Self::TransformedRotated,
4923 Self::TransformedUpright,
4924 Self::Upright,
4925 ];
4926
4927 #[cfg(feature = "datagen")]
4928 #[doc(hidden)]
4929 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
4930 [
4931 ("R", Self::Rotated),
4932 ("Tr", Self::TransformedRotated),
4933 ("Tu", Self::TransformedUpright),
4934 ("U", Self::Upright),
4935 ].into_iter()
4936 }
4937}
4938
4939impl WordBreak {
4940 pub const Other: Self = Self(0);
4941 pub const XX: Self = Self::Other;
4942 pub const ALetter: Self = Self(1);
4943 pub const LE: Self = Self::ALetter;
4944 pub const Format: Self = Self(2);
4945 pub const FO: Self = Self::Format;
4946 pub const Katakana: Self = Self(3);
4947 pub const KA: Self = Self::Katakana;
4948 pub const MidLetter: Self = Self(4);
4949 pub const ML: Self = Self::MidLetter;
4950 pub const MidNum: Self = Self(5);
4951 pub const MN: Self = Self::MidNum;
4952 pub const Numeric: Self = Self(6);
4953 pub const NU: Self = Self::Numeric;
4954 pub const ExtendNumLet: Self = Self(7);
4955 pub const EX: Self = Self::ExtendNumLet;
4956 pub const CR: Self = Self(8);
4957 pub const Extend: Self = Self(9);
4958 pub const LF: Self = Self(10);
4959 pub const MidNumLet: Self = Self(11);
4960 pub const MB: Self = Self::MidNumLet;
4961 pub const Newline: Self = Self(12);
4962 pub const NL: Self = Self::Newline;
4963 pub const RegionalIndicator: Self = Self(13);
4964 pub const RI: Self = Self::RegionalIndicator;
4965 pub const HebrewLetter: Self = Self(14);
4966 pub const HL: Self = Self::HebrewLetter;
4967 pub const SingleQuote: Self = Self(15);
4968 pub const SQ: Self = Self::SingleQuote;
4969 pub const DoubleQuote: Self = Self(16);
4970 pub const DQ: Self = Self::DoubleQuote;
4971 pub const EBase: Self = Self(17);
4972 pub const EB: Self = Self::EBase;
4973 pub const EBaseGAZ: Self = Self(18);
4974 pub const EBG: Self = Self::EBaseGAZ;
4975 pub const EModifier: Self = Self(19);
4976 pub const EM: Self = Self::EModifier;
4977 pub const GlueAfterZwj: Self = Self(20);
4978 pub const GAZ: Self = Self::GlueAfterZwj;
4979 pub const ZWJ: Self = Self(21);
4980 pub const WSegSpace: Self = Self(22);
4981}
4982
4983#[cfg(feature = "datagen")]
4984impl databake::Bake for WordBreak {
4985 fn bake(&self, env: &databake::CrateEnv) -> databake::TokenStream {
4986 env.insert("icu_properties");
4987 match *self {
4988 Self::Other => databake::quote!(icu_properties::props::WordBreak::Other),
4989 Self::ALetter => databake::quote!(icu_properties::props::WordBreak::ALetter),
4990 Self::Format => databake::quote!(icu_properties::props::WordBreak::Format),
4991 Self::Katakana => databake::quote!(icu_properties::props::WordBreak::Katakana),
4992 Self::MidLetter => databake::quote!(icu_properties::props::WordBreak::MidLetter),
4993 Self::MidNum => databake::quote!(icu_properties::props::WordBreak::MidNum),
4994 Self::Numeric => databake::quote!(icu_properties::props::WordBreak::Numeric),
4995 Self::ExtendNumLet => databake::quote!(icu_properties::props::WordBreak::ExtendNumLet),
4996 Self::CR => databake::quote!(icu_properties::props::WordBreak::CR),
4997 Self::Extend => databake::quote!(icu_properties::props::WordBreak::Extend),
4998 Self::LF => databake::quote!(icu_properties::props::WordBreak::LF),
4999 Self::MidNumLet => databake::quote!(icu_properties::props::WordBreak::MidNumLet),
5000 Self::Newline => databake::quote!(icu_properties::props::WordBreak::Newline),
5001 Self::RegionalIndicator => databake::quote!(icu_properties::props::WordBreak::RegionalIndicator),
5002 Self::HebrewLetter => databake::quote!(icu_properties::props::WordBreak::HebrewLetter),
5003 Self::SingleQuote => databake::quote!(icu_properties::props::WordBreak::SingleQuote),
5004 Self::DoubleQuote => databake::quote!(icu_properties::props::WordBreak::DoubleQuote),
5005 Self::EBase => databake::quote!(icu_properties::props::WordBreak::EBase),
5006 Self::EBaseGAZ => databake::quote!(icu_properties::props::WordBreak::EBaseGAZ),
5007 Self::EModifier => databake::quote!(icu_properties::props::WordBreak::EModifier),
5008 Self::GlueAfterZwj => databake::quote!(icu_properties::props::WordBreak::GlueAfterZwj),
5009 Self::ZWJ => databake::quote!(icu_properties::props::WordBreak::ZWJ),
5010 Self::WSegSpace => databake::quote!(icu_properties::props::WordBreak::WSegSpace),
5011 Self(v) => databake::quote!(icu_properties::props::WordBreak(#v)),
5012 }
5013 }
5014}
5015
5016
5017impl From<WordBreak> for u16 {
5018 fn from(other: WordBreak) -> Self {
5019 other.0 as u16
5020 }
5021}
5022
5023impl WordBreak {
5024 #[deprecated]
5026 pub const ALL_VALUES: &'static [Self] = &[
5027 Self::Other,
5028 Self::ALetter,
5029 Self::Format,
5030 Self::Katakana,
5031 Self::MidLetter,
5032 Self::MidNum,
5033 Self::Numeric,
5034 Self::ExtendNumLet,
5035 Self::CR,
5036 Self::Extend,
5037 Self::LF,
5038 Self::MidNumLet,
5039 Self::Newline,
5040 Self::RegionalIndicator,
5041 Self::HebrewLetter,
5042 Self::SingleQuote,
5043 Self::DoubleQuote,
5044 Self::EBase,
5045 Self::EBaseGAZ,
5046 Self::EModifier,
5047 Self::GlueAfterZwj,
5048 Self::ZWJ,
5049 Self::WSegSpace,
5050 ];
5051
5052 #[cfg(feature = "datagen")]
5053 #[doc(hidden)]
5054 pub fn names() -> impl Iterator<Item = (&'static str, Self)> {
5055 [
5056 ("XX", Self::Other),
5057 ("LE", Self::ALetter),
5058 ("FO", Self::Format),
5059 ("KA", Self::Katakana),
5060 ("ML", Self::MidLetter),
5061 ("MN", Self::MidNum),
5062 ("NU", Self::Numeric),
5063 ("EX", Self::ExtendNumLet),
5064 ("CR", Self::CR),
5065 ("Extend", Self::Extend),
5066 ("LF", Self::LF),
5067 ("MB", Self::MidNumLet),
5068 ("NL", Self::Newline),
5069 ("RI", Self::RegionalIndicator),
5070 ("HL", Self::HebrewLetter),
5071 ("SQ", Self::SingleQuote),
5072 ("DQ", Self::DoubleQuote),
5073 ("EB", Self::EBase),
5074 ("EBG", Self::EBaseGAZ),
5075 ("EM", Self::EModifier),
5076 ("GAZ", Self::GlueAfterZwj),
5077 ("ZWJ", Self::ZWJ),
5078 ("WSegSpace", Self::WSegSpace),
5079 ].into_iter()
5080 }
5081}