1
2#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
4pub enum UnifiedCanadianAboriginalSyllabicsExtended {
5 CanadianSyllabicsOy,
7 CanadianSyllabicsAy,
9 CanadianSyllabicsAay,
11 CanadianSyllabicsWay,
13 CanadianSyllabicsPoy,
15 CanadianSyllabicsPay,
17 CanadianSyllabicsPwoy,
19 CanadianSyllabicsTay,
21 CanadianSyllabicsKay,
23 CanadianSyllabicsKway,
25 CanadianSyllabicsMay,
27 CanadianSyllabicsNoy,
29 CanadianSyllabicsNay,
31 CanadianSyllabicsLay,
33 CanadianSyllabicsSoy,
35 CanadianSyllabicsSay,
37 CanadianSyllabicsShoy,
39 CanadianSyllabicsShay,
41 CanadianSyllabicsShwoy,
43 CanadianSyllabicsYoy,
45 CanadianSyllabicsYay,
47 CanadianSyllabicsRay,
49 CanadianSyllabicsNwi,
51 CanadianSyllabicsOjibwayNwi,
53 CanadianSyllabicsNwii,
55 CanadianSyllabicsOjibwayNwii,
57 CanadianSyllabicsNwo,
59 CanadianSyllabicsOjibwayNwo,
61 CanadianSyllabicsNwoo,
63 CanadianSyllabicsOjibwayNwoo,
65 CanadianSyllabicsRwee,
67 CanadianSyllabicsRwi,
69 CanadianSyllabicsRwii,
71 CanadianSyllabicsRwo,
73 CanadianSyllabicsRwoo,
75 CanadianSyllabicsRwa,
77 CanadianSyllabicsOjibwayP,
79 CanadianSyllabicsOjibwayT,
81 CanadianSyllabicsOjibwayK,
83 CanadianSyllabicsOjibwayC,
85 CanadianSyllabicsOjibwayM,
87 CanadianSyllabicsOjibwayN,
89 CanadianSyllabicsOjibwayS,
91 CanadianSyllabicsOjibwaySh,
93 CanadianSyllabicsEasternW,
95 CanadianSyllabicsWesternW,
97 CanadianSyllabicsFinalSmallRing,
99 CanadianSyllabicsFinalRaisedDot,
101 CanadianSyllabicsRDashCreeRwe,
103 CanadianSyllabicsWestDashCreeLoo,
105 CanadianSyllabicsWestDashCreeLaa,
107 CanadianSyllabicsThwe,
109 CanadianSyllabicsThwa,
111 CanadianSyllabicsTthwe,
113 CanadianSyllabicsTthoo,
115 CanadianSyllabicsTthaa,
117 CanadianSyllabicsTlhwe,
119 CanadianSyllabicsTlhoo,
121 CanadianSyllabicsSayisiShwe,
123 CanadianSyllabicsSayisiShoo,
125 CanadianSyllabicsSayisiHoo,
127 CanadianSyllabicsCarrierGwu,
129 CanadianSyllabicsCarrierDeneGee,
131 CanadianSyllabicsCarrierGaa,
133 CanadianSyllabicsCarrierGwa,
135 CanadianSyllabicsSayisiJuu,
137 CanadianSyllabicsCarrierJwa,
139 CanadianSyllabicsBeaverDeneL,
141 CanadianSyllabicsBeaverDeneR,
143 CanadianSyllabicsCarrierDentalS,
145}
146
147impl Into<char> for UnifiedCanadianAboriginalSyllabicsExtended {
148 fn into(self) -> char {
149 match self {
150 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOy => 'ᢰ',
151 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsAy => 'ᢱ',
152 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsAay => 'ᢲ',
153 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWay => 'ᢳ',
154 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPoy => 'ᢴ',
155 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPay => 'ᢵ',
156 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPwoy => 'ᢶ',
157 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTay => 'ᢷ',
158 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsKay => 'ᢸ',
159 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsKway => 'ᢹ',
160 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsMay => 'ᢺ',
161 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNoy => 'ᢻ',
162 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNay => 'ᢼ',
163 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsLay => 'ᢽ',
164 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSoy => 'ᢾ',
165 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSay => 'ᢿ',
166 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShoy => 'ᣀ',
167 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShay => 'ᣁ',
168 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShwoy => 'ᣂ',
169 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsYoy => 'ᣃ',
170 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsYay => 'ᣄ',
171 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRay => 'ᣅ',
172 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwi => 'ᣆ',
173 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwi => 'ᣇ',
174 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwii => 'ᣈ',
175 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwii => 'ᣉ',
176 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwo => 'ᣊ',
177 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwo => 'ᣋ',
178 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwoo => 'ᣌ',
179 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwoo => 'ᣍ',
180 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwee => 'ᣎ',
181 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwi => 'ᣏ',
182 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwii => 'ᣐ',
183 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwo => 'ᣑ',
184 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwoo => 'ᣒ',
185 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwa => 'ᣓ',
186 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayP => 'ᣔ',
187 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayT => 'ᣕ',
188 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayK => 'ᣖ',
189 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayC => 'ᣗ',
190 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayM => 'ᣘ',
191 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayN => 'ᣙ',
192 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayS => 'ᣚ',
193 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwaySh => 'ᣛ',
194 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsEasternW => 'ᣜ',
195 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWesternW => 'ᣝ',
196 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsFinalSmallRing => 'ᣞ',
197 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsFinalRaisedDot => 'ᣟ',
198 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRDashCreeRwe => 'ᣠ',
199 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWestDashCreeLoo => 'ᣡ',
200 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWestDashCreeLaa => 'ᣢ',
201 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsThwe => 'ᣣ',
202 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsThwa => 'ᣤ',
203 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthwe => 'ᣥ',
204 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthoo => 'ᣦ',
205 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthaa => 'ᣧ',
206 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTlhwe => 'ᣨ',
207 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTlhoo => 'ᣩ',
208 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiShwe => 'ᣪ',
209 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiShoo => 'ᣫ',
210 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiHoo => 'ᣬ',
211 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGwu => 'ᣭ',
212 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierDeneGee => 'ᣮ',
213 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGaa => 'ᣯ',
214 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGwa => 'ᣰ',
215 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiJuu => 'ᣱ',
216 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierJwa => 'ᣲ',
217 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsBeaverDeneL => 'ᣳ',
218 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsBeaverDeneR => 'ᣴ',
219 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierDentalS => 'ᣵ',
220 }
221 }
222}
223
224impl std::convert::TryFrom<char> for UnifiedCanadianAboriginalSyllabicsExtended {
225 type Error = ();
226 fn try_from(c: char) -> Result<Self, Self::Error> {
227 match c {
228 'ᢰ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOy),
229 'ᢱ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsAy),
230 'ᢲ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsAay),
231 'ᢳ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWay),
232 'ᢴ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPoy),
233 'ᢵ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPay),
234 'ᢶ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsPwoy),
235 'ᢷ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTay),
236 'ᢸ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsKay),
237 'ᢹ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsKway),
238 'ᢺ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsMay),
239 'ᢻ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNoy),
240 'ᢼ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNay),
241 'ᢽ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsLay),
242 'ᢾ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSoy),
243 'ᢿ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSay),
244 'ᣀ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShoy),
245 'ᣁ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShay),
246 'ᣂ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsShwoy),
247 'ᣃ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsYoy),
248 'ᣄ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsYay),
249 'ᣅ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRay),
250 'ᣆ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwi),
251 'ᣇ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwi),
252 'ᣈ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwii),
253 'ᣉ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwii),
254 'ᣊ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwo),
255 'ᣋ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwo),
256 'ᣌ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsNwoo),
257 'ᣍ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayNwoo),
258 'ᣎ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwee),
259 'ᣏ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwi),
260 'ᣐ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwii),
261 'ᣑ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwo),
262 'ᣒ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwoo),
263 'ᣓ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRwa),
264 'ᣔ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayP),
265 'ᣕ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayT),
266 'ᣖ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayK),
267 'ᣗ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayC),
268 'ᣘ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayM),
269 'ᣙ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayN),
270 'ᣚ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwayS),
271 'ᣛ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOjibwaySh),
272 'ᣜ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsEasternW),
273 'ᣝ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWesternW),
274 'ᣞ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsFinalSmallRing),
275 'ᣟ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsFinalRaisedDot),
276 'ᣠ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsRDashCreeRwe),
277 'ᣡ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWestDashCreeLoo),
278 'ᣢ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsWestDashCreeLaa),
279 'ᣣ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsThwe),
280 'ᣤ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsThwa),
281 'ᣥ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthwe),
282 'ᣦ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthoo),
283 'ᣧ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTthaa),
284 'ᣨ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTlhwe),
285 'ᣩ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsTlhoo),
286 'ᣪ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiShwe),
287 'ᣫ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiShoo),
288 'ᣬ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiHoo),
289 'ᣭ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGwu),
290 'ᣮ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierDeneGee),
291 'ᣯ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGaa),
292 'ᣰ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierGwa),
293 'ᣱ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsSayisiJuu),
294 'ᣲ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierJwa),
295 'ᣳ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsBeaverDeneL),
296 'ᣴ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsBeaverDeneR),
297 'ᣵ' => Ok(UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsCarrierDentalS),
298 _ => Err(()),
299 }
300 }
301}
302
303impl Into<u32> for UnifiedCanadianAboriginalSyllabicsExtended {
304 fn into(self) -> u32 {
305 let c: char = self.into();
306 let hex = c
307 .escape_unicode()
308 .to_string()
309 .replace("\\u{", "")
310 .replace("}", "");
311 u32::from_str_radix(&hex, 16).unwrap()
312 }
313}
314
315impl std::convert::TryFrom<u32> for UnifiedCanadianAboriginalSyllabicsExtended {
316 type Error = ();
317 fn try_from(u: u32) -> Result<Self, Self::Error> {
318 if let Ok(c) = char::try_from(u) {
319 Self::try_from(c)
320 } else {
321 Err(())
322 }
323 }
324}
325
326impl Iterator for UnifiedCanadianAboriginalSyllabicsExtended {
327 type Item = Self;
328 fn next(&mut self) -> Option<Self> {
329 let index: u32 = (*self).into();
330 use std::convert::TryFrom;
331 Self::try_from(index + 1).ok()
332 }
333}
334
335impl UnifiedCanadianAboriginalSyllabicsExtended {
336 pub fn new() -> Self {
338 UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOy
339 }
340
341 pub fn name(&self) -> String {
343 let s = std::format!("UnifiedCanadianAboriginalSyllabicsExtended{:#?}", self);
344 string_morph::to_sentence_case(&s)
345 }
346}