I went through the conjunctions and prepositions listed in the Ambar
Eldaron Quenya Dictionary [1] and the Omikhleia Sindarin Dictionary [2]
and added all the ones with a single light syllable to the list as
unstressed (with one exception). I think this improves the way some
texts are read a little bit (though I have to admit I find it hard to
tell the difference).
[1]: https://ambar-eldaron.com/telechargements/quenya-engl-A4.pdf
[2]: https://www.jrrvf.com/hisweloke/sindar/index.html
According to the regular stress rules from Appendix E of The Lord of the
Rings, all three of these words should be stressed on the penultimate
(second) syllable, since that syllable is followed by two consonants;
however, the way they are used in poems suggests they should actually be
stressed on the antepenultimate (first) syllable (example: “in IMlaDRIS
it DWELLS”). According to Concerning Stress Placement In Sindarin [1],
this can be attributed to a hypothetical “muta cum liquida” rule like in
Latin, where some syllables count as light even if they’re followed by
two consonants, because both consonants belong to the following syllable
(e.g. IM-la-dris instead of im-LAD-ris). However, the rule is apparently
not applied systematically: according to [2], in another poem the word
“nogothrim”, which is quite similar in structure to “Nargothrond”, is
clearly stressed on the penultimate syllable. For this reason, we don’t
try to define the “muta cum liquida” rule in sjn_rules (or qya_rules),
but only add the three names Imladris, Menegroth and Nargothrond as
exceptions to the sjn_list.
[1]: https://menegroth.github.io/stress-in-sindarin.html
[2]: https://mildred-of-midgard.dreamwidth.org/158375.html#comment-cmt49575
This prepares the languages of Quenya and Sindarin, setting up their
infrastructure without declaring a lot of rules yet – just enough for
“Eä” (a Quenya word, but I can’t think of a similarly simple one for
Sindarin). Phonemes are inherited from Esperanto for now.
Use the NetBSD getopt_long implementation on Windows.
This makes the espeak-ng.c and speak-ng.c source code easier to
read and maintain. It also addresses bugs in command-line argument
parsing with the espeak implementation, for example it treats
`--compile-phonemes` as `--compile` due to an argument matching bug.
This is from the old espeak RiscOS port that has been removed.
If/when the espeak-ng program is ported to RiscOS, this will be
done in a different, more maintainable way.