1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
/// Define which syllables should be generated /// C also represents cluster /// V also represents diphthongs and glides /// All means CV, VC and CVC syllables #[derive(PartialEq, Debug, Clone)] pub enum SyllableStructure { All, CV, VC, CVC, } /// Define which diphthongs should be generated /// All: create all possible combinations /// NoLong: All without long vowels /// OnlyGiven: only supplied diphthongs, /// DisableGiven: All without supplied ones /// /// If only some U/W and I/Y/J glides should be generated, add them here #[derive(PartialEq, Debug, Clone)] pub enum Diphthongs { All, NoLong, OnlyGiven, DisableGiven, } /// Define which glides should be generated /// All: U/W and I/Y/J glides for all vowels and diphthongs /// AllOnlyU: U/W glides for all vowels and diphthongs /// AllOnlyY: I/Y/J glides for all vowels and diphthongs #[derive(PartialEq, Debug, Clone)] pub enum Glides { All, AllOnlyU, AllOnlyY, } /// Max cluster length #[derive(PartialEq, Debug, Clone)] pub enum ConsonantClusterLength { C, CC, CCC, CCCC, None, } /// Clusters represent single consonants and consonant clusters /// single consonants are automatically added, do not supply them manually /// All: create all possible cluster /// NoDouble: create all possible cluster but no same in a row (ex: no bb) /// OnlyGiven: only supplied clusters /// DisableGiven: All possible consonant clusters but exclude the given ones. #[derive(PartialEq, Debug, Clone)] pub enum ConsonantCluster { All, NoDouble, OnlyGiven, DisableGiven, } #[derive(Clone, PartialEq, Debug)] pub enum WriteOption { CSV(String), PSQL, } #[derive(Clone, PartialEq, Debug)] pub enum SyllableFormat { IPA, Romanization, }