unicode_types/generated/
unified_canadian_aboriginal_syllabics_extended.rs

1
2/// An enum to represent all characters in the UnifiedCanadianAboriginalSyllabicsExtended block.
3#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
4pub enum UnifiedCanadianAboriginalSyllabicsExtended {
5    /// \u{18b0}: 'ᢰ'
6    CanadianSyllabicsOy,
7    /// \u{18b1}: 'ᢱ'
8    CanadianSyllabicsAy,
9    /// \u{18b2}: 'ᢲ'
10    CanadianSyllabicsAay,
11    /// \u{18b3}: 'ᢳ'
12    CanadianSyllabicsWay,
13    /// \u{18b4}: 'ᢴ'
14    CanadianSyllabicsPoy,
15    /// \u{18b5}: 'ᢵ'
16    CanadianSyllabicsPay,
17    /// \u{18b6}: 'ᢶ'
18    CanadianSyllabicsPwoy,
19    /// \u{18b7}: 'ᢷ'
20    CanadianSyllabicsTay,
21    /// \u{18b8}: 'ᢸ'
22    CanadianSyllabicsKay,
23    /// \u{18b9}: 'ᢹ'
24    CanadianSyllabicsKway,
25    /// \u{18ba}: 'ᢺ'
26    CanadianSyllabicsMay,
27    /// \u{18bb}: 'ᢻ'
28    CanadianSyllabicsNoy,
29    /// \u{18bc}: 'ᢼ'
30    CanadianSyllabicsNay,
31    /// \u{18bd}: 'ᢽ'
32    CanadianSyllabicsLay,
33    /// \u{18be}: 'ᢾ'
34    CanadianSyllabicsSoy,
35    /// \u{18bf}: 'ᢿ'
36    CanadianSyllabicsSay,
37    /// \u{18c0}: 'ᣀ'
38    CanadianSyllabicsShoy,
39    /// \u{18c1}: 'ᣁ'
40    CanadianSyllabicsShay,
41    /// \u{18c2}: 'ᣂ'
42    CanadianSyllabicsShwoy,
43    /// \u{18c3}: 'ᣃ'
44    CanadianSyllabicsYoy,
45    /// \u{18c4}: 'ᣄ'
46    CanadianSyllabicsYay,
47    /// \u{18c5}: 'ᣅ'
48    CanadianSyllabicsRay,
49    /// \u{18c6}: 'ᣆ'
50    CanadianSyllabicsNwi,
51    /// \u{18c7}: 'ᣇ'
52    CanadianSyllabicsOjibwayNwi,
53    /// \u{18c8}: 'ᣈ'
54    CanadianSyllabicsNwii,
55    /// \u{18c9}: 'ᣉ'
56    CanadianSyllabicsOjibwayNwii,
57    /// \u{18ca}: 'ᣊ'
58    CanadianSyllabicsNwo,
59    /// \u{18cb}: 'ᣋ'
60    CanadianSyllabicsOjibwayNwo,
61    /// \u{18cc}: 'ᣌ'
62    CanadianSyllabicsNwoo,
63    /// \u{18cd}: 'ᣍ'
64    CanadianSyllabicsOjibwayNwoo,
65    /// \u{18ce}: 'ᣎ'
66    CanadianSyllabicsRwee,
67    /// \u{18cf}: 'ᣏ'
68    CanadianSyllabicsRwi,
69    /// \u{18d0}: 'ᣐ'
70    CanadianSyllabicsRwii,
71    /// \u{18d1}: 'ᣑ'
72    CanadianSyllabicsRwo,
73    /// \u{18d2}: 'ᣒ'
74    CanadianSyllabicsRwoo,
75    /// \u{18d3}: 'ᣓ'
76    CanadianSyllabicsRwa,
77    /// \u{18d4}: 'ᣔ'
78    CanadianSyllabicsOjibwayP,
79    /// \u{18d5}: 'ᣕ'
80    CanadianSyllabicsOjibwayT,
81    /// \u{18d6}: 'ᣖ'
82    CanadianSyllabicsOjibwayK,
83    /// \u{18d7}: 'ᣗ'
84    CanadianSyllabicsOjibwayC,
85    /// \u{18d8}: 'ᣘ'
86    CanadianSyllabicsOjibwayM,
87    /// \u{18d9}: 'ᣙ'
88    CanadianSyllabicsOjibwayN,
89    /// \u{18da}: 'ᣚ'
90    CanadianSyllabicsOjibwayS,
91    /// \u{18db}: 'ᣛ'
92    CanadianSyllabicsOjibwaySh,
93    /// \u{18dc}: 'ᣜ'
94    CanadianSyllabicsEasternW,
95    /// \u{18dd}: 'ᣝ'
96    CanadianSyllabicsWesternW,
97    /// \u{18de}: 'ᣞ'
98    CanadianSyllabicsFinalSmallRing,
99    /// \u{18df}: 'ᣟ'
100    CanadianSyllabicsFinalRaisedDot,
101    /// \u{18e0}: 'ᣠ'
102    CanadianSyllabicsRDashCreeRwe,
103    /// \u{18e1}: 'ᣡ'
104    CanadianSyllabicsWestDashCreeLoo,
105    /// \u{18e2}: 'ᣢ'
106    CanadianSyllabicsWestDashCreeLaa,
107    /// \u{18e3}: 'ᣣ'
108    CanadianSyllabicsThwe,
109    /// \u{18e4}: 'ᣤ'
110    CanadianSyllabicsThwa,
111    /// \u{18e5}: 'ᣥ'
112    CanadianSyllabicsTthwe,
113    /// \u{18e6}: 'ᣦ'
114    CanadianSyllabicsTthoo,
115    /// \u{18e7}: 'ᣧ'
116    CanadianSyllabicsTthaa,
117    /// \u{18e8}: 'ᣨ'
118    CanadianSyllabicsTlhwe,
119    /// \u{18e9}: 'ᣩ'
120    CanadianSyllabicsTlhoo,
121    /// \u{18ea}: 'ᣪ'
122    CanadianSyllabicsSayisiShwe,
123    /// \u{18eb}: 'ᣫ'
124    CanadianSyllabicsSayisiShoo,
125    /// \u{18ec}: 'ᣬ'
126    CanadianSyllabicsSayisiHoo,
127    /// \u{18ed}: 'ᣭ'
128    CanadianSyllabicsCarrierGwu,
129    /// \u{18ee}: 'ᣮ'
130    CanadianSyllabicsCarrierDeneGee,
131    /// \u{18ef}: 'ᣯ'
132    CanadianSyllabicsCarrierGaa,
133    /// \u{18f0}: 'ᣰ'
134    CanadianSyllabicsCarrierGwa,
135    /// \u{18f1}: 'ᣱ'
136    CanadianSyllabicsSayisiJuu,
137    /// \u{18f2}: 'ᣲ'
138    CanadianSyllabicsCarrierJwa,
139    /// \u{18f3}: 'ᣳ'
140    CanadianSyllabicsBeaverDeneL,
141    /// \u{18f4}: 'ᣴ'
142    CanadianSyllabicsBeaverDeneR,
143    /// \u{18f5}: 'ᣵ'
144    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    /// The character with the lowest index in this unicode block
337    pub fn new() -> Self {
338        UnifiedCanadianAboriginalSyllabicsExtended::CanadianSyllabicsOy
339    }
340
341    /// The character's name, in sentence case
342    pub fn name(&self) -> String {
343        let s = std::format!("UnifiedCanadianAboriginalSyllabicsExtended{:#?}", self);
344        string_morph::to_sentence_case(&s)
345    }
346}