Skip to content

v1.5.0 - Reconstructed Pronunciation, Noun/Deponent Fixes

Choose a tag to compare

@Josolon Josolon released this 12 Jul 22:08
· 10 commits to main since this release

What's new

  • Reconstructed Classical Latin pronunciation. A Vox Latina-style IPA transcription now appears under the headword for entries carrying at least one macron/breve (~85% of the dictionary; skipped rather than guessed for the rest, since stress placement depends on knowing vowel length). Checked directly against Wiktionary's Module:la-pronunc output rather than derived from rules alone:
    • Vowel length/quality, c/k/qu → [k], v → [w], gn → [ŋn], ph/th/ch aspirated, ae/oe/au diphthongs
    • Dark vs. clear L — lupus[ˈɫʊ.pʊs], but lupus before i/y or in a geminate ll stays plain
    • Nasalized vowels before word-final -m or before n/m+s/f, with the nasal consonant dropped — etiam[ɛ.ti.ãː], insula[ˈĩː.sʊ.ɫa]
    • Hiatus-vowel tensing — duo[ˈdu.ɔ], not [ˈdʊ.ɔ]
    • Classical penultimate-weight stress rule, with syllabification handling the muta-cum-liquida exception
  • Fixed: nouns silently missing their declension table. Morpheus suffixes its own lemma with a homonym-disambiguating number even when L&S's key has none (equusequus1); the join now rescues the unambiguous case (~850 entries recovered) while leaving genuinely ambiguous homonyms unmatched rather than guessed.
  • Fixed: semi-deponent verbs had a broken citation form. Audeo, gaudeo, soleo, fido and compounds now get their correct 3-part citation (audeo, audere, ausus sum) instead of an empty/broken one — L&S's own tagging never marks this small closed class as deponent, so it's now recognized by a hardcoded lookup, the same shape as the adjective-suppletion handling from v1.4.1.

Regression coverage

scripts/test_dictionary.py gained checks for all of the above: noun-morphology rescue (equus), semi-deponent citations (audeo/gaudeo/soleo), and five pronunciation checks verified against real Wiktionary entries (insula, agellus, lupus, homo, duo).

Full Changelog: v1.4.1...v1.5.0