diff options
Diffstat (limited to 'generator/generator.cpp')
| -rw-r--r-- | generator/generator.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
| diff --git a/generator/generator.cpp b/generator/generator.cpp index 0d073be..ad665a2 100644 --- a/generator/generator.cpp +++ b/generator/generator.cpp | |||
| @@ -573,9 +573,15 @@ namespace verbly { | |||
| 573 | } | 573 | } |
| 574 | 574 | ||
| 575 | std::string phonemes = phoneme_data[2]; | 575 | std::string phonemes = phoneme_data[2]; |
| 576 | pronunciations_.emplace_back(phonemes); | 576 | if (pronunciationByPhonemes_.count(phonemes)) { |
| 577 | pronunciation& p = pronunciations_.back(); | 577 | pronunciation& p = *pronunciationByPhonemes_[phonemes]; |
| 578 | formByText_.at(canonical)->addPronunciation(p); | 578 | formByText_.at(canonical)->addPronunciation(p); |
| 579 | } else { | ||
| 580 | pronunciations_.emplace_back(phonemes); | ||
| 581 | pronunciation& p = pronunciations_.back(); | ||
| 582 | pronunciationByPhonemes_[phonemes] = &p; | ||
| 583 | formByText_.at(canonical)->addPronunciation(p); | ||
| 584 | } | ||
| 579 | } | 585 | } |
| 580 | } | 586 | } |
| 581 | } | 587 | } |
