unicode_types/generated/
gunjala_gondi.rs

1
2/// An enum to represent all characters in the GunjalaGondi block.
3#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
4pub enum GunjalaGondi {
5    /// \u{11d60}: '饝禒'
6    LetterA,
7    /// \u{11d61}: '饝怠'
8    LetterAa,
9    /// \u{11d62}: '饝耽'
10    LetterI,
11    /// \u{11d63}: '饝担'
12    LetterIi,
13    /// \u{11d64}: '饝丹'
14    LetterU,
15    /// \u{11d65}: '饝单'
16    LetterUu,
17    /// \u{11d67}: '饝掸'
18    LetterEe,
19    /// \u{11d68}: '饝胆'
20    LetterAi,
21    /// \u{11d6a}: '饝氮'
22    LetterOo,
23    /// \u{11d6b}: '饝但'
24    LetterAu,
25    /// \u{11d6c}: '饝惮'
26    LetterYa,
27    /// \u{11d6d}: '饝淡'
28    LetterVa,
29    /// \u{11d6e}: '饝诞'
30    LetterBa,
31    /// \u{11d6f}: '饝弹'
32    LetterBha,
33    /// \u{11d70}: '饝蛋'
34    LetterMa,
35    /// \u{11d71}: '饝当'
36    LetterKa,
37    /// \u{11d72}: '饝挡'
38    LetterKha,
39    /// \u{11d73}: '饝党'
40    LetterTa,
41    /// \u{11d74}: '饝荡'
42    LetterTha,
43    /// \u{11d75}: '饝档'
44    LetterLa,
45    /// \u{11d76}: '饝刀'
46    LetterGa,
47    /// \u{11d77}: '饝捣'
48    LetterGha,
49    /// \u{11d78}: '饝蹈'
50    LetterDa,
51    /// \u{11d79}: '饝倒'
52    LetterDha,
53    /// \u{11d7a}: '饝岛'
54    LetterNa,
55    /// \u{11d7b}: '饝祷'
56    LetterCa,
57    /// \u{11d7c}: '饝导'
58    LetterCha,
59    /// \u{11d7d}: '饝到'
60    LetterTta,
61    /// \u{11d7e}: '饝稻'
62    LetterTtha,
63    /// \u{11d7f}: '饝悼'
64    LetterLla,
65    /// \u{11d80}: '饝秬'
66    LetterJa,
67    /// \u{11d81}: '饝秮'
68    LetterJha,
69    /// \u{11d82}: '饝秱'
70    LetterDda,
71    /// \u{11d83}: '饝秲'
72    LetterDdha,
73    /// \u{11d84}: '饝秳'
74    LetterNga,
75    /// \u{11d85}: '饝秴'
76    LetterPa,
77    /// \u{11d86}: '饝秵'
78    LetterPha,
79    /// \u{11d87}: '饝秶'
80    LetterHa,
81    /// \u{11d88}: '饝秷'
82    LetterRa,
83    /// \u{11d89}: '饝秹'
84    LetterSa,
85    /// \u{11d8a}: '饝秺'
86    VowelSignAa,
87    /// \u{11d8b}: '饝秼'
88    VowelSignI,
89    /// \u{11d8c}: '饝秾'
90    VowelSignIi,
91    /// \u{11d8d}: '饝秿'
92    VowelSignU,
93    /// \u{11d8e}: '饝稁'
94    VowelSignUu,
95    /// \u{11d90}: '饝稅'
96    VowelSignEe,
97    /// \u{11d91}: '饝稇'
98    VowelSignAi,
99    /// \u{11d93}: '饝稉'
100    VowelSignOo,
101    /// \u{11d94}: '饝稊'
102    VowelSignAu,
103    /// \u{11d95}: '饝稌'
104    SignAnusvara,
105    /// \u{11d96}: '饝稏'
106    SignVisarga,
107    /// \u{11d97}: '饝稐'
108    Virama,
109    /// \u{11d98}: '饝稑'
110    Om,
111    /// \u{11da0}: '饝稜'
112    DigitZero,
113    /// \u{11da1}: '饝丁'
114    DigitOne,
115    /// \u{11da2}: '饝盯'
116    DigitTwo,
117    /// \u{11da3}: '饝叮'
118    DigitThree,
119    /// \u{11da4}: '饝钉'
120    DigitFour,
121    /// \u{11da5}: '饝顶'
122    DigitFive,
123    /// \u{11da6}: '饝鼎'
124    DigitSix,
125    /// \u{11da7}: '饝锭'
126    DigitSeven,
127    /// \u{11da8}: '饝定'
128    DigitEight,
129    /// \u{11da9}: '饝订'
130    DigitNine,
131}
132
133impl Into<char> for GunjalaGondi {
134    fn into(self) -> char {
135        match self {
136            GunjalaGondi::LetterA => '饝禒',
137            GunjalaGondi::LetterAa => '饝怠',
138            GunjalaGondi::LetterI => '饝耽',
139            GunjalaGondi::LetterIi => '饝担',
140            GunjalaGondi::LetterU => '饝丹',
141            GunjalaGondi::LetterUu => '饝单',
142            GunjalaGondi::LetterEe => '饝掸',
143            GunjalaGondi::LetterAi => '饝胆',
144            GunjalaGondi::LetterOo => '饝氮',
145            GunjalaGondi::LetterAu => '饝但',
146            GunjalaGondi::LetterYa => '饝惮',
147            GunjalaGondi::LetterVa => '饝淡',
148            GunjalaGondi::LetterBa => '饝诞',
149            GunjalaGondi::LetterBha => '饝弹',
150            GunjalaGondi::LetterMa => '饝蛋',
151            GunjalaGondi::LetterKa => '饝当',
152            GunjalaGondi::LetterKha => '饝挡',
153            GunjalaGondi::LetterTa => '饝党',
154            GunjalaGondi::LetterTha => '饝荡',
155            GunjalaGondi::LetterLa => '饝档',
156            GunjalaGondi::LetterGa => '饝刀',
157            GunjalaGondi::LetterGha => '饝捣',
158            GunjalaGondi::LetterDa => '饝蹈',
159            GunjalaGondi::LetterDha => '饝倒',
160            GunjalaGondi::LetterNa => '饝岛',
161            GunjalaGondi::LetterCa => '饝祷',
162            GunjalaGondi::LetterCha => '饝导',
163            GunjalaGondi::LetterTta => '饝到',
164            GunjalaGondi::LetterTtha => '饝稻',
165            GunjalaGondi::LetterLla => '饝悼',
166            GunjalaGondi::LetterJa => '饝秬',
167            GunjalaGondi::LetterJha => '饝秮',
168            GunjalaGondi::LetterDda => '饝秱',
169            GunjalaGondi::LetterDdha => '饝秲',
170            GunjalaGondi::LetterNga => '饝秳',
171            GunjalaGondi::LetterPa => '饝秴',
172            GunjalaGondi::LetterPha => '饝秵',
173            GunjalaGondi::LetterHa => '饝秶',
174            GunjalaGondi::LetterRa => '饝秷',
175            GunjalaGondi::LetterSa => '饝秹',
176            GunjalaGondi::VowelSignAa => '饝秺',
177            GunjalaGondi::VowelSignI => '饝秼',
178            GunjalaGondi::VowelSignIi => '饝秾',
179            GunjalaGondi::VowelSignU => '饝秿',
180            GunjalaGondi::VowelSignUu => '饝稁',
181            GunjalaGondi::VowelSignEe => '饝稅',
182            GunjalaGondi::VowelSignAi => '饝稇',
183            GunjalaGondi::VowelSignOo => '饝稉',
184            GunjalaGondi::VowelSignAu => '饝稊',
185            GunjalaGondi::SignAnusvara => '饝稌',
186            GunjalaGondi::SignVisarga => '饝稏',
187            GunjalaGondi::Virama => '饝稐',
188            GunjalaGondi::Om => '饝稑',
189            GunjalaGondi::DigitZero => '饝稜',
190            GunjalaGondi::DigitOne => '饝丁',
191            GunjalaGondi::DigitTwo => '饝盯',
192            GunjalaGondi::DigitThree => '饝叮',
193            GunjalaGondi::DigitFour => '饝钉',
194            GunjalaGondi::DigitFive => '饝顶',
195            GunjalaGondi::DigitSix => '饝鼎',
196            GunjalaGondi::DigitSeven => '饝锭',
197            GunjalaGondi::DigitEight => '饝定',
198            GunjalaGondi::DigitNine => '饝订',
199        }
200    }
201}
202
203impl std::convert::TryFrom<char> for GunjalaGondi {
204    type Error = ();
205    fn try_from(c: char) -> Result<Self, Self::Error> {
206        match c {
207            '饝禒' => Ok(GunjalaGondi::LetterA),
208            '饝怠' => Ok(GunjalaGondi::LetterAa),
209            '饝耽' => Ok(GunjalaGondi::LetterI),
210            '饝担' => Ok(GunjalaGondi::LetterIi),
211            '饝丹' => Ok(GunjalaGondi::LetterU),
212            '饝单' => Ok(GunjalaGondi::LetterUu),
213            '饝掸' => Ok(GunjalaGondi::LetterEe),
214            '饝胆' => Ok(GunjalaGondi::LetterAi),
215            '饝氮' => Ok(GunjalaGondi::LetterOo),
216            '饝但' => Ok(GunjalaGondi::LetterAu),
217            '饝惮' => Ok(GunjalaGondi::LetterYa),
218            '饝淡' => Ok(GunjalaGondi::LetterVa),
219            '饝诞' => Ok(GunjalaGondi::LetterBa),
220            '饝弹' => Ok(GunjalaGondi::LetterBha),
221            '饝蛋' => Ok(GunjalaGondi::LetterMa),
222            '饝当' => Ok(GunjalaGondi::LetterKa),
223            '饝挡' => Ok(GunjalaGondi::LetterKha),
224            '饝党' => Ok(GunjalaGondi::LetterTa),
225            '饝荡' => Ok(GunjalaGondi::LetterTha),
226            '饝档' => Ok(GunjalaGondi::LetterLa),
227            '饝刀' => Ok(GunjalaGondi::LetterGa),
228            '饝捣' => Ok(GunjalaGondi::LetterGha),
229            '饝蹈' => Ok(GunjalaGondi::LetterDa),
230            '饝倒' => Ok(GunjalaGondi::LetterDha),
231            '饝岛' => Ok(GunjalaGondi::LetterNa),
232            '饝祷' => Ok(GunjalaGondi::LetterCa),
233            '饝导' => Ok(GunjalaGondi::LetterCha),
234            '饝到' => Ok(GunjalaGondi::LetterTta),
235            '饝稻' => Ok(GunjalaGondi::LetterTtha),
236            '饝悼' => Ok(GunjalaGondi::LetterLla),
237            '饝秬' => Ok(GunjalaGondi::LetterJa),
238            '饝秮' => Ok(GunjalaGondi::LetterJha),
239            '饝秱' => Ok(GunjalaGondi::LetterDda),
240            '饝秲' => Ok(GunjalaGondi::LetterDdha),
241            '饝秳' => Ok(GunjalaGondi::LetterNga),
242            '饝秴' => Ok(GunjalaGondi::LetterPa),
243            '饝秵' => Ok(GunjalaGondi::LetterPha),
244            '饝秶' => Ok(GunjalaGondi::LetterHa),
245            '饝秷' => Ok(GunjalaGondi::LetterRa),
246            '饝秹' => Ok(GunjalaGondi::LetterSa),
247            '饝秺' => Ok(GunjalaGondi::VowelSignAa),
248            '饝秼' => Ok(GunjalaGondi::VowelSignI),
249            '饝秾' => Ok(GunjalaGondi::VowelSignIi),
250            '饝秿' => Ok(GunjalaGondi::VowelSignU),
251            '饝稁' => Ok(GunjalaGondi::VowelSignUu),
252            '饝稅' => Ok(GunjalaGondi::VowelSignEe),
253            '饝稇' => Ok(GunjalaGondi::VowelSignAi),
254            '饝稉' => Ok(GunjalaGondi::VowelSignOo),
255            '饝稊' => Ok(GunjalaGondi::VowelSignAu),
256            '饝稌' => Ok(GunjalaGondi::SignAnusvara),
257            '饝稏' => Ok(GunjalaGondi::SignVisarga),
258            '饝稐' => Ok(GunjalaGondi::Virama),
259            '饝稑' => Ok(GunjalaGondi::Om),
260            '饝稜' => Ok(GunjalaGondi::DigitZero),
261            '饝丁' => Ok(GunjalaGondi::DigitOne),
262            '饝盯' => Ok(GunjalaGondi::DigitTwo),
263            '饝叮' => Ok(GunjalaGondi::DigitThree),
264            '饝钉' => Ok(GunjalaGondi::DigitFour),
265            '饝顶' => Ok(GunjalaGondi::DigitFive),
266            '饝鼎' => Ok(GunjalaGondi::DigitSix),
267            '饝锭' => Ok(GunjalaGondi::DigitSeven),
268            '饝定' => Ok(GunjalaGondi::DigitEight),
269            '饝订' => Ok(GunjalaGondi::DigitNine),
270            _ => Err(()),
271        }
272    }
273}
274
275impl Into<u32> for GunjalaGondi {
276    fn into(self) -> u32 {
277        let c: char = self.into();
278        let hex = c
279            .escape_unicode()
280            .to_string()
281            .replace("\\u{", "")
282            .replace("}", "");
283        u32::from_str_radix(&hex, 16).unwrap()
284    }
285}
286
287impl std::convert::TryFrom<u32> for GunjalaGondi {
288    type Error = ();
289    fn try_from(u: u32) -> Result<Self, Self::Error> {
290        if let Ok(c) = char::try_from(u) {
291            Self::try_from(c)
292        } else {
293            Err(())
294        }
295    }
296}
297
298impl Iterator for GunjalaGondi {
299    type Item = Self;
300    fn next(&mut self) -> Option<Self> {
301        let index: u32 = (*self).into();
302        use std::convert::TryFrom;
303        Self::try_from(index + 1).ok()
304    }
305}
306
307impl GunjalaGondi {
308    /// The character with the lowest index in this unicode block
309    pub fn new() -> Self {
310        GunjalaGondi::LetterA
311    }
312
313    /// The character's name, in sentence case
314    pub fn name(&self) -> String {
315        let s = std::format!("GunjalaGondi{:#?}", self);
316        string_morph::to_sentence_case(&s)
317    }
318}