From 9ac1a5bffbe10131a8e635d327798e12bad31499 Mon Sep 17 00:00:00 2001 From: Lucas Werkmeister Date: Tue, 29 Jun 2021 22:04:52 +0200 Subject: [PATCH] Fix treatment of diphthongs for stress in Elvish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stress is determined based on the syllables, not the vowels, so the diphthongs need to count as a single syllable. If there is a diphthong at the end of a word, the penultimate syllable can still be unstressed if it is light. (The name of Arvedui, last king of Arthedain, is one example of this that I could think of, but I’m sure it’s not the only one.) --- dictsource/qya_rules | 23 +++++++++++++---------- dictsource/sjn_rules | 27 +++++++++++++++------------ tests/language-pronunciation.test | 2 +- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/dictsource/qya_rules b/dictsource/qya_rules index e02f15db..925e52c4 100644 --- a/dictsource/qya_rules +++ b/dictsource/qya_rules @@ -1,3 +1,6 @@ +// syllable nuclei: vowels (any length) and diphthongs +.L01 i e a o u í é á ó ú î ê â ô û ui oi ai iu eu au + .replace // turn x into cs, both because that’s how it’s pronounced // and to free up x as a single letter for ch (see immediately below) @@ -12,8 +15,8 @@ ai (+ aI au (+ aU // light penultimate syllable: put stress on antepenultimate - a (AX =a - a (CAX =a + a (L01X =a + a (CL01X =a .group á á a: @@ -42,8 +45,8 @@ e e eu (+ EU // light penultimate syllable: put stress on antepenultimate - e (AX =e - e (CAX =e + e (L01X =e + e (CL01X =e .group é é e: @@ -66,8 +69,8 @@ i i iu (+ iu // light penultimate syllable: put stress on antepenultimate - i (AX =i - i (CAX =i + i (L01X =i + i (CL01X =i .group í í i: @@ -94,8 +97,8 @@ o o oi (+ OI // light penultimate syllable: put stress on antepenultimate - o (AX =o - o (CAX =o + o (L01X =o + o (CL01X =o .group ó ó o: @@ -133,8 +136,8 @@ u u ui (+ ui // light penultimate syllable: put stress on antepenultimate - u (AX =u - u (CAX =u + u (L01X =u + u (CL01X =u .group ú ú u: diff --git a/dictsource/sjn_rules b/dictsource/sjn_rules index ae6617df..70108271 100644 --- a/dictsource/sjn_rules +++ b/dictsource/sjn_rules @@ -1,3 +1,6 @@ +// syllable nuclei: vowels (any length) and diphthongs +.L01 i e a o u y í é á ó ú ý î ê â ô û ŷ ae ai ei oe ui au + .replace // turn x into cs, both because that’s how it’s pronounced // (strictly speaking only in some Quenya, but let’s do it here too) @@ -14,8 +17,8 @@ ai (+ aI au (+ aU // light penultimate syllable: put stress on antepenultimate - a (AX =a - a (CAX =a + a (L01X =a + a (CL01X =a .group á á a: @@ -44,8 +47,8 @@ e e ei (+ eI // light penultimate syllable: put stress on antepenultimate - e (AX =e - e (CAX =e + e (L01X =e + e (CL01X =e .group é é e: @@ -68,8 +71,8 @@ i i _) i (A+ j // light penultimate syllable: put stress on antepenultimate - i (AX =i - i (CAX =i + i (L01X =i + i (CL01X =i .group í í i: @@ -97,8 +100,8 @@ o o oe (+ OI // light penultimate syllable: put stress on antepenultimate - o (AX =o - o (CAX =o + o (L01X =o + o (CL01X =o .group ó ó o: @@ -136,8 +139,8 @@ u u ui (+ ui // light penultimate syllable: put stress on antepenultimate - u (AX =u - u (CAX =u + u (L01X =u + u (CL01X =u .group û û u:: @@ -156,8 +159,8 @@ .group y y y // light penultimate syllable: put stress on antepenultimate - y (AX =y - y (CAX =y + y (L01X =y + y (CL01X =y .group ý ý y: diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test index 66509d85..0f979044 100755 --- a/tests/language-pronunciation.test +++ b/tests/language-pronunciation.test @@ -194,7 +194,7 @@ test_phon sd "s'Indhi b'o:li; 'Ind.o: jo:R'Vpi xa:nd'a:n s'a~: t[a:l'Vq R,@k#@nd J'Vnhn t['e: ,aRb'i: bo:l'i:;a J'o: b'I t[@m'a:m v'Vd.o: as'VR ,a:he: h'Ina v'aqt s'Indhi b'o:li s'Indh J'e: m'Vk# b'o:li_! 'ae~ d,@f@t['VRi z@b'a:n ,a:he:" "سنڌي ٻولي انڊو يورپي خاندان سان تعلق رکندڙ آريائي ٻولي آھي، جنھن تي عربي ٻوليءَ جو بہ تمام وڏو اثر آهي. هن وقت سنڌي ٻولي سنڌ جي مک ٻولي ۽ دفتري زبان آھي." "Arab" test_phon si "t'aw@t st#'a:n@ k'i:p@j,@kin w'a:rta: w'u: s'ul.u p'ipiri:m s'ah@ d'e:s@p,a:l@n@ p'akS@ k r'ija:k,a:ri:n 'at@r@ '&tiwu: g'&t.um h'e:tuwen 'ek 'ajeku m'ij@gos k'i:p@ d'eneku t'uwa:l@ l'aba: t'ibe:" "තවත් ස්ථාන කීපයකින් වාර්තා වූ සුළු පිපිරීම් සහ දේශපාලන පක්ෂ ක්‍රියාකාරීන් අතර ඇතිවූ ගැටුම් හේතුවෙන් එක් අයෙකු මියගොස් කීප දෙනෙකු තුවාල ලබා තිබේ." "Sinh" -test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" +test_phon sjn "'alf 'aman 'amaRT 'amon 'aRag,oRn aRn'OIdi;,ad 'aRved,ui bel'eRi;,and b'oRom,iR bRag'ollax bR'eTil bRiT'ombaR bR'uinen k'aIR kaR'aDRas k,elebR'i:an kRiss'aEgRim d'eneT,oR dR'eNgist d'u::n ekT'eli;,on 'emyn eR'i;ad,oR f'ean,oR find'uilas f'iNgon fiNg'olfin fin'aRfin f'oRox,el g'alaD,on gal'adRi;,el gR'ond gw'aIhiR j'aRwaIn j'oReT iT'ili;,en loTl'o:Ri;,en miT'eITel miTR'andiR moR'annon m'oRi;,a oR'offin osg'ili;,aT pal'anti:R p,alant'i:Ri pel'ennoR p,eRi;'annaT sil'ivRen ToR'ondoR" "alph Aman Amarth Amon Aragorn Arnoediad Arvedui Beleriand Boromir Bragollach Brethil Brithombar Bruinen Cair Caradhras Celebrían Crissaegrim Denethor Drengist dûn Ecthelion Emyn Eriador Fëanor Finduilas Fingon Fingolfin Finarfin Forochel Galadhon Galadriel Grond Gwaihir Iarwain Ioreth Ithilien Lothlórien Mitheithel Mithrandir Morannon Moria Orophin Osgiliath Palantír Palantíri Pelennor Periannath Silivren Thorondor" "Sindarin" test_phon sk "k'r:d;el^ St;'astni:Q d;'atl^ow 'utSi: pR'i;u:st;i: v'a:hu m'l:kveho k'on^a 'ophRi:zat; k'uoRu_:_: a ZR'at; tS'eRstve: m'eso p'et;ti:Zdn^,ove: v'l:tSata: n'eRvo:zn^e St;'ekaju: n'amu,ojho d;'atl^a_! v_ t'r:n^i:" "Kŕdeľ šťastných ďatľov učí pri ústí Váhu mĺkveho koňa obhrýzať kôru a žrať čerstvé mäso. Päťtýždňové vĺčatá nervózne štekajú na môjho ďatľa v tŕní." "Latn" test_phon sl "xiSn'i:tSin bR'a:tEts uzg'a:ja p'o:wZE p'o:t fik'u:sOm" "Hišničin bratec vzgaja polže pod fikusom." "Latn"