diff --git a/allzweckmesser/scanner.py b/allzweckmesser/scanner.py index fc7335eb4e5db5fb8b9228503b449544306650f0..db69fa58c6010ddb8fb8d5a7ee46c6c54228a507 100644 --- a/allzweckmesser/scanner.py +++ b/allzweckmesser/scanner.py @@ -226,8 +226,12 @@ def get_syllables_for_token(token: Token): def get_syllables(reading): + i = 0 for token in reading.tokens: token.syllables = get_syllables_for_token(token) + for s in token.syllables: + s.id = i + i += 1 return reading diff --git a/allzweckmesser/wordlist.py b/allzweckmesser/wordlist.py index 3e2f8a3a1c2ee4cee47f65f0e384029187cf6994..b873ca308f465cbeea7513dde9d45771ffa5a2ef 100644 --- a/allzweckmesser/wordlist.py +++ b/allzweckmesser/wordlist.py @@ -121,6 +121,13 @@ class WordList: self.cache_analyses(morpheus_analyses) else: self.unknown_forms.add(form) + + if not self.form_analyses[form] and form[0].isupper(): + # Try to look up the non-capitalized version of the form. + analyses = self.analyze(form.lower()) + if analyses: + self.cache_analyses({form: analyses}) + return self.form_analyses[form] def load_from_db(self, form: str) -> Set[FormAnalysis]: