| @@ -67,7 +67,7 @@ _? spWrgsmVlstajn | |||
| _! udRVbstejn | |||
| _- binnesdrai | |||
| __ b'Onsdrai | |||
| & Vw | |||
| & _Vw | |||
| £ pun? | |||
| € euro | |||
| © kVpirajt | |||
| @@ -117,8 +117,8 @@ _6X t*'Es // PB changed from e to E | |||
| _7X h&lfj'&rs // PV a changed to & | |||
| _8X f'irs | |||
| _9X h&lf'Ems // PB a changed to & | |||
| _0C h'un*@:D | |||
| _1C ed||h'unR@:D // PB added 'et hundrede' | |||
| _0C h'un*VD | |||
| _1C ed||h'unRV:D // PB added 'et hundrede' | |||
| _0M1 t'u:s@-n | |||
| _1M1 ed||t'u:s@-n // PB added 'et' to tusind | |||
| _1M2 'e:n||milij'o:n | |||
| @@ -177,8 +177,8 @@ for | |||
| fordi fVd'i $pause // because - PB: changed stress | |||
| når nVr $pause // while | |||
| der dEr $u+ $u // PB changed from [dA] | |||
| hvor v'Vr // where | |||
| hvorfor vVf'V // why - final r deleted | |||
| hvor v'O // where | |||
| hvorfor v?Of'?V // why - final r deleted | |||
| // prepositions | |||
| på pO $u | |||
| @@ -187,16 +187,16 @@ fra $u+ // from | |||
| ved $u+ // at | |||
| om $u+ $brk // about, within | |||
| med $u+ // with | |||
| af &_| // PB changed from [a?] to [&] - sound too short in a sentence | |||
| af & // PB changed from [a?] to [&] - sound too short in a sentence | |||
| // Also removed $u from 'af' and other words. They disappeared. | |||
| ad &: // PB added 'ad' | |||
| ad & // PB added 'ad' | |||
| ad &D $atend $sentence // PB "Det må ikke skille os ad." | |||
| at &: $u // PB changed from [at] to [&:] | |||
| at & $u // PB changed from [at] to [&:] | |||
| hos // at - PB: removed [$u+] | |||
| som sVm $u // which / that - PB: removed [$u+] | |||
| // pronouns | |||
| jeg jai $u+ // I | |||
| jeg jaj $u+ // I | |||
| du du $u | |||
| de $u | |||
| han $u | |||
| @@ -272,11 +272,11 @@ q ku | |||
| r Er | |||
| s es | |||
| //t te: mooved to da_rules because of clash with T-shirt | |||
| u u? | |||
| u u | |||
| v ve | |||
| w d'Vbeltve: | |||
| x Eks | |||
| y Y? | |||
| y y | |||
| z sEt | |||
| ø W | |||
| @@ -7196,6 +7196,7 @@ suffler $alt | |||
| suggerer $alt | |||
| sulfoner $alt | |||
| summere $alt | |||
| opsummere $alt | |||
| superviser $alt | |||
| suppler $alt | |||
| supponer $alt | |||
| @@ -7303,7 +7304,7 @@ valuter $alt | |||
| vandaliser $alt | |||
| varedeklarer $alt | |||
| varier $alt | |||
| vatter $alt | |||
| vattere $alt | |||
| vegeter $alt | |||
| ventilere $alt | |||
| verbaliser $alt | |||
| @@ -11142,7 +11143,7 @@ rejiceres rejis'eVs // PB | |||
| rejicering rejis'eRiN // PB | |||
| nogle n'o:@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen' | |||
| nogen n'o:@-n // PB | |||
| ligesom lisVm // PB | |||
| ligesom l?isVm // PB | |||
| bliver blir // PB | |||
| konfirmand kVnferm'&nd // PB | |||
| konfirmander kVnferm'&nd3 // PB | |||
| @@ -11286,12 +11287,12 @@ steget ste@d | |||
| // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] | |||
| (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day | |||
| // PB legende = legend/myth and = playing | |||
| (en legende) en||leg'End@ | |||
| legenden leg'End@n | |||
| (en legende) en||leg'End@- | |||
| legenden leg'End@-n | |||
| legender leg'EndV | |||
| legenders leg'EndVs | |||
| legenderne leg'EndVn3 | |||
| legenderne leg'EndVn3s | |||
| legenderne leg'EndVn@- | |||
| legendernes leg'EndVn@-s | |||
| // PB verb "forsyne" noun "forsyn" - stress problem | |||
| (et forsyn) ed||f'Vrsyn | |||
| (forsynet har) f'Vrsyn@d||hAr | |||
| @@ -274,7 +274,7 @@ _lo l'aU | |||
| _ti tI2b'Et@n | |||
| _my mj'A:nmA@ | |||
| _ka dZ'O@dZ@n | |||
| _ko k3r'i@n | |||
| _ko h'angul | |||
| _eth i:TI'0pIk | |||
| _ja dZ'ap@ni:z | |||
| _zh tS'aIni:z | |||
| @@ -308,11 +308,15 @@ _zh tS'aIni:z | |||
| ш Sa | |||
| щ StSa | |||
| ъ jEr | |||
| ы _^_RU | |||
| ь jer | |||
| ы j'Eru | |||
| ь j'eri | |||
| э E | |||
| ю ju | |||
| я ja | |||
| ћ tS;E | |||
| ђ djE | |||
| ќ kjE | |||
| // Arabic letters | |||
| @@ -1020,6 +1024,7 @@ canine keInaIn | |||
| canoe k@nu: | |||
| canoes k@nu:z | |||
| canon kan@n | |||
| ?3 cantaloupe kant@loUp | |||
| canton kant0n | |||
| canvas kanv@s | |||
| capita kapIt@ | |||
| @@ -1192,6 +1197,8 @@ conger k0Ng3 | |||
| congressional k@ngrES@n@L | |||
| conker $1 | |||
| conscience k0nS@ns | |||
| consort $1 | |||
| consort $verb | |||
| constitute $1 | |||
| construct $1 $onlys | |||
| construct $verb | |||
| @@ -2621,7 +2628,7 @@ sierra si:'e@r@ | |||
| signage saInI2dZ | |||
| signal sIgn@l // signaled | |||
| signer saIn3 | |||
| signoff s,aIn'0f | |||
| signoff s'aIn0f | |||
| signon s,aIn'0n | |||
| signup saInVp | |||
| sikh si:k | |||
| @@ -387,6 +387,7 @@ | |||
| _r) adio (@P5 r,eIdI%oU | |||
| r) adi (oL10+ eIdI | |||
| b) ad (os_ eId | |||
| _s) ado (ma ,eIdoU | |||
| ad (iA eId | |||
| s) ad (is eId | |||
| _tr) ad (it a#d | |||
| @@ -3382,6 +3383,7 @@ | |||
| &) ion (_ =i@n | |||
| ?8 &) ion (_ =IVn | |||
| ll) ion i@n | |||
| ll) ion (_ =i@n | |||
| n) ion =i@n | |||
| v) io (l aI@ | |||
| ione (_ 'aI@ni | |||
| @@ -3572,7 +3574,6 @@ | |||
| _l) iv (eB aIv | |||
| XC) iv (el Iv | |||
| _g) iv (e Iv | |||
| _l) iv (e Iv | |||
| l) iv (er Iv | |||
| r) iv (er Iv | |||
| dr) iv (er aIv | |||
| @@ -3753,8 +3754,7 @@ | |||
| _) metall (ic m@tal | |||
| metabo m@t'ab0 | |||
| _) meta (llu m%Eta | |||
| _) mobile moUbaIl | |||
| mobile m@bi:l | |||
| &) mobile m@bi:l | |||
| mono (ga m@n'0 | |||
| mo (noto m@ | |||
| _) mono m0noU | |||
| @@ -23,13 +23,15 @@ | |||
| // Text to phoneme rules for Farsi | |||
| // replace Arabic character numbers with Latin character numbers | |||
| // replacing unknown characters and Arabic numbers with Farsi characters and Latin numbers | |||
| .replace | |||
| ٪ % | |||
| ي ی | |||
| ۍ ی | |||
| ى ی | |||
| ك ک | |||
| ە ه | |||
| ھ ه | |||
| ٠ 0 | |||
| ۰ 0 | |||
| ۱ 1 | |||
| @@ -59,12 +61,12 @@ | |||
| .L01 آ ا ی ي و | |||
| // short vowels (commonly unwritten ) | |||
| .L02 َ ُ ِ ً ٌ ٍ ّ ؤ أ إ ء ۀ | |||
| .L02 َ ُ ِ ْ ً ٌ ٍ ّ ؤ أ إ ء ۀ | |||
| // All consonants | |||
| .L03 ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن ه ة ئ | |||
| // all Farsi characters without ا آ | |||
| // all Farsi characters without ا آ and Short vowels | |||
| .L04 ض ص ث ق ف غ ع ه خ ح ج چ ش س ی ب ل ت ن م ک گ ۀ ظ ط ز ر ذ د ئ و ة ي ژ ؤ إ أ ء ؟ پ | |||
| // Group one of consonants | |||
| @@ -77,7 +79,7 @@ | |||
| .L07 ن م ت ش ک مان تان شان ند نده ندۀ ندگی ندگان گی گان گانه گانۀ ستان ست | |||
| // All vowels (long + Short) | |||
| .L08 آ ا ی ي و َ ُ ِ ً ٌ ٍ ّ ؤ أ إ ء ۀ | |||
| .L08 آ ا ی ي و َ ُ ِ ْ ً ٌ ٍ ّ ؤ أ إ ء ۀ | |||
| // all Farsi characters without short vowels | |||
| .L09 ض ص ث ق ف غ ع ه خ ح ج چ ش س ی ب ل ا ت ن م ک گ ۀ آ ظ ط ز ر ذ د ئ و ة ي ژ پ ؤ إ أ ء ؟ ّ | |||
| @@ -100,6 +102,9 @@ | |||
| L09L04) آلود (_Sm4 Alud | |||
| L09L04) آباد (_Sm4 AbAd | |||
| L09L04) آفرین (_Sm5 AfaRin | |||
| L09L09) آموخته (_Sm6 Amuxte: | |||
| L09L09) آموختۀ (_Sm6 Amuxteje | |||
| L09L09) آگاه (_Sm4 AgAh | |||
| .group ا | |||
| @@ -108,7 +113,7 @@ | |||
| -) ا (للّه_+ o | |||
| _) ا (L02_ alef? | |||
| _) ا (L02L09 | |||
| _) ا (L01 | |||
| _) ا (L01L03 | |||
| _) ا 'a: | |||
| _) ا (ع e | |||
| ا 'A | |||
| @@ -346,6 +351,8 @@ | |||
| L09L09) بخت (_Sm3 baxt | |||
| L09L09) باش (_Sm3 bAS | |||
| L09L09) بزرگ (_Sm4 bozoRg | |||
| L09L09) باور (_Sm4 bAvaR | |||
| L09L09) برانگیز (_Sm baRangiz | |||
| // arabic form of words (Babs) ب | |||
| //فواعل eg. جوامع | |||
| @@ -518,6 +525,7 @@ | |||
| L09L09) پرداز (_Sm5 paRdAz | |||
| L09L09) پندار (_Sm5 pendAR | |||
| L09L09) پرست (_Sm4 paRast | |||
| L09L09) پناه (_Sm4 panAh | |||
| // arabic form of words (Babs) پ | |||
| //فواعل eg. جوامع | |||
| @@ -1670,6 +1678,7 @@ | |||
| L09L09) درد (_Sm3 daRd | |||
| L09L09) دوش (_Sm3 duS | |||
| L09L09) دهی (_Sm3 dehi | |||
| L09L09) دوست (_Sm4 dust | |||
| // arabic form of words (Babs) د | |||
| //فواعل eg. جوامع | |||
| @@ -2473,6 +2482,7 @@ | |||
| // suffixes س | |||
| L09L01) ست (_+NSm2 st | |||
| L09L03) ست (_+NSm2 ast | |||
| -) ست (_+NSm2 st // eg. "کجاست" | |||
| L09L03) ستان (_Sm4 estAn | |||
| L09L01) ستان (_Sm4 stAn | |||
| L09L09) سان (_Sm3 sAn | |||
| @@ -2826,7 +2836,7 @@ | |||
| // Prefixes ص | |||
| _) صاحب (L04L09L09P4@ sAheb | |||
| _) صاحب (آL09L09P4@ sAheb | |||
| _) صدر (L04L09L09P5@ sadr | |||
| _) صدر (L04L09L09P3@ sadr | |||
| _) صدر (آL09L09P5@ sadr | |||
| // Suffixes ص | |||
| @@ -4663,6 +4673,7 @@ | |||
| L09L01) مون (_Sm3 mun | |||
| L09L09) مردان (_Sm5 maRdAn | |||
| L09L09) منش (_Sm3 maneS | |||
| L09L09) مآب (_Sm3 maAb | |||
| // arabic form of words (Babs) م | |||
| //فواعل eg. جوامع | |||
| @@ -5209,6 +5220,7 @@ | |||
| // Plural pronoun ها | |||
| L09L09) های (_NSm3 h'Aje | |||
| L09L09) هایی (_NSm4 h'Ai: | |||
| L09L09) هائی (_NSm4 h'Ai: | |||
| L09L09) هاست (_NSm4 h'Ast | |||
| // Plural possessive pronouns for ها | |||
| L09L09) هایم (_NSm4 hAjam | |||
| @@ -5352,6 +5364,8 @@ | |||
| _ا) ی (_+ i | |||
| L01) ی (_ je | |||
| L03) ی (_ i | |||
| ی (ٰ_ | |||
| ی (ٰL04 j | |||
| _آ) ی (L03_ ja | |||
| // Prefixes ی | |||
| @@ -5439,6 +5453,7 @@ | |||
| L09ع) یاتشان (_NSm6 ijjAteSAn | |||
| L09L09) یزاسیون (_Sm7 isAsion | |||
| L09L03) یافت (_Sm4 jAft | |||
| -) یست (_+NSm3 ist // eg. "فردایست" | |||
| // arabic form of words (Babs) ی | |||
| //فواعل eg. جوامع | |||
| @@ -5518,6 +5533,8 @@ | |||
| .group ٔ | |||
| L04) ٔ | |||
| ا) ٔ a? | |||
| ٔ | |||
| // suffixes ٔ | |||
| @@ -5530,6 +5547,7 @@ | |||
| .group ئ | |||
| ئی i: | |||
| ئ (L01 ? | |||
| ئ (L02 ? | |||
| L02) ئ ? | |||
| @@ -5560,6 +5578,13 @@ | |||
| //ة (L01 h | |||
| ة t | |||
| .group ٰ | |||
| ٰ (L04 A | |||
| ٰ (ا | |||
| ٰ (آ | |||
| //short vowels that are not usually written: | |||
| .group َ | |||
| @@ -5583,6 +5608,12 @@ | |||
| L09L09) ُ (_Sm1 o | |||
| .group ْ | |||
| ْ | |||
| // Suffixes "ْ" | |||
| L09L09) ْ (_Sm1 | |||
| .group ً | |||
| ً an | |||
| // Suffixes "ً" | |||
| @@ -411,7 +411,7 @@ _tld tildE | |||
| _#9 tAb | |||
| _#32 s'o:kYz | |||
| _cap n'AJ_| | |||
| _?? kAR2AktEr||ko:d // unknown characters (change this) | |||
| _?? kAR2AktEr // unknown characters (change this) | |||
| // Abbreviations | |||
| @@ -5419,7 +5419,6 @@ _″ duplA|ApostR2o:f | |||
| ≠ nEmEJEnlY: | |||
| _ˇ lEfEle:n^i:l | |||
| _¡ AlSo:indEks | |||
| _braille bR2Ail:E | |||
| // Alphabets | |||
| @@ -5427,6 +5426,7 @@ _ar 'AR2Ab | |||
| _cyr ts'iR2ill | |||
| _he h'e:bER2 | |||
| _zh k'i:nAi | |||
| _braille bR2Ail:E | |||
| // Main Exceptions List | |||
| @@ -460,6 +460,7 @@ shetlan) d (szige d | |||
| _tren) dsz (e d|s | |||
| vakon) d (sz d | |||
| vé) d (jeggy d | |||
| své) d (zseb d | |||
| .group dz | |||
| fogó) dz (kod ts | |||
| @@ -1743,7 +1744,7 @@ fáklyá) sz (ene Sz | |||
| para) szt (segg st | |||
| azbe) szt (sisak st | |||
| nyu) szt (süveg st | |||
| serté) szs (ír SZ | |||
| serté) szs (ír S|Z | |||
| tá) szs (in SZ | |||
| va) szs (ír SZ | |||
| szs (ák SZ //All szsák part containing part need spokening single S and Z phoneme, for example kenyereszsák, pénzeszsák, krumpliszsák, cukroszsák words | |||
| @@ -1763,6 +1764,7 @@ fáklyá) sz (ene Sz | |||
| ellenállá) sz (ón Sz | |||
| ré) sz (árás Sz | |||
| _te) szts (or st|S | |||
| serté) szs (ir S|Z | |||
| .group t | |||
| t t | |||
| @@ -645,7 +645,7 @@ alcateia $alt | |||
| alferes $alt | |||
| algozes $alt | |||
| alicerce $alt | |||
| almoço $alt $verb | |||
| almoço alt $verb | |||
| amarelo $alt | |||
| ameba $alt | |||
| amores $alt2 | |||
| @@ -665,7 +665,7 @@ aterro $alt2 $noun | |||
| atmosfera $alt | |||
| atrozes $alt | |||
| autora $alt2 | |||
| avesso $alt2 | |||
| avesso $alt2 | |||
| axé aSE | |||
| baqueta $alt2 | |||
| beco $alt2 | |||
| @@ -674,6 +674,7 @@ besta $alt2 | |||
| bilhete $alt2 | |||
| boca $alt2 | |||
| bochecha $alt2 | |||
| boio $alt | |||
| bojo $alt2 | |||
| boleia $alt | |||
| bolero $alt | |||
| @@ -690,7 +691,7 @@ cachorra $alt2 | |||
| caderneta $alt2 | |||
| camiseta $alt2 | |||
| cantora $alt2 | |||
| capacete $alt2 | |||
| capacete $alt2 | |||
| caractere $alt | |||
| caramelo $alt | |||
| careta $alt2 | |||
| @@ -702,27 +703,27 @@ cateto $alt2 | |||
| catorze $alt2 | |||
| cebola $alt2 | |||
| cefaleia $alt | |||
| cerca $alt | |||
| cerca $alt2 $noun | |||
| cerca $alt | |||
| cerca $alt2 $noun | |||
| cerco $alt $verb | |||
| chamego $alt2 | |||
| chefe $alt | |||
| checam $alt | |||
| checam $alt | |||
| cheque $alt | |||
| chinelo $alt | |||
| choro $alt2 $noun | |||
| chovesse $alt2 | |||
| chovesse $alt2 | |||
| chupeta $alt2 | |||
| clamores $alt2 | |||
| clero $alt | |||
| coco $alt2 | |||
| cofre $alt | |||
| cogumelo $alt | |||
| cogumelo $alt | |||
| coice $alt2 | |||
| colabore $alt | |||
| colete $alt2 | |||
| colchete $alt2 | |||
| colher $alt $noun | |||
| colchete $alt2 | |||
| colher $alt $noun | |||
| colheres $alt $noun | |||
| colmeia $alt | |||
| colore $alt | |||
| @@ -732,8 +733,8 @@ concerto $alt2 $noun | |||
| concordo $alt | |||
| conforto $alt $verb | |||
| consolo $alt2 $noun | |||
| controle $alt2 $noun | |||
| controlo $alt2 $noun | |||
| controle $alt2 $noun | |||
| controlo $alt2 $noun | |||
| coreia $alt | |||
| corneta $alt2 | |||
| cornos $alt | |||
| @@ -789,7 +790,7 @@ escroto $alt2 | |||
| esforço $alt $verb | |||
| esforços $alt | |||
| esgoto $alt2 $noun | |||
| esgotos $alt2 | |||
| esgotos $alt2 | |||
| esperma $alt | |||
| espeto $alt2 $noun | |||
| espiroqueta $alt2 | |||
| @@ -820,11 +821,11 @@ fogos $alt | |||
| foguete $alt2 | |||
| foice $alt2 | |||
| forca $alt2 | |||
| força $alt2 $noun | |||
| força $alt2 $noun | |||
| forças $alt2 | |||
| forço $alt | |||
| fordes $alt2 | |||
| fores $alt2 | |||
| forço $alt | |||
| fordes $alt2 | |||
| fores $alt2 | |||
| forro $alt $verb | |||
| fosse $alt2 | |||
| frevo $alt2 | |||
| @@ -833,7 +834,7 @@ galileia $alt | |||
| gameta $alt2 | |||
| geleia $alt | |||
| gelo $alt $verb | |||
| genebra $alt | |||
| genebra $alt | |||
| germe $alt | |||
| gesso $alt2 | |||
| golpe $alt | |||
| @@ -841,33 +842,33 @@ gonorreia $alt | |||
| gorda $alt2 | |||
| gosto $alt $verb | |||
| gota $alt2 | |||
| governo $alt2 $noun | |||
| gozo $alt $verb | |||
| governo $alt2 $noun | |||
| gozo $alt2 $noun | |||
| graveto $alt2 | |||
| grelha $alt | |||
| groselha $alt | |||
| grosso $alt2 | |||
| grozo $alt $verb | |||
| hemorroida $alt | |||
| hemorroida $alt | |||
| hoje $alt2 | |||
| horrores $alt2 | |||
| ideia $alt | |||
| insonoro $alt | |||
| interesse $alt2 $noun | |||
| jogo $alt2 $noun | |||
| interesse $alt2 $noun | |||
| jogo $alt2 $noun | |||
| joguete $alt2 | |||
| lambreta $alt2 | |||
| lebre $alt | |||
| leste $alt2 $verb | |||
| lopes $alt | |||
| maior $alt | |||
| maior $alt | |||
| maleta $alt2 | |||
| marcelo $alt | |||
| marmelo $alt | |||
| marreta $alt2 | |||
| martelo $alt | |||
| melhor $alt | |||
| menor $alt | |||
| melhor $alt | |||
| menor $alt | |||
| merda $alt | |||
| megera $alt | |||
| melo $alt | |||
| @@ -880,7 +881,7 @@ mexi meS'i | |||
| mexo m'eSU | |||
| minueto $alt2 | |||
| miolo $alt2 | |||
| miolos $alt | |||
| miolos $alt | |||
| moeda $alt | |||
| molho $alt2 $noun | |||
| monera $alt | |||
| @@ -889,7 +890,7 @@ morda $alt2 | |||
| moreia $alt | |||
| mortos $alt | |||
| motora $alt2 | |||
| mulher $alt | |||
| mulher $alt | |||
| mui mwi | |||
| muito mw'iNtU // -s is included as a suffix | |||
| muita mw'iNt& | |||
| @@ -907,17 +908,17 @@ onu $1 | |||
| olho $alt2 $noun | |||
| opereta $alt2 | |||
| ordens $alt | |||
| osso $alt2 | |||
| ossos $alt | |||
| osso $alt2 | |||
| ossos $alt | |||
| ostra $alt2 | |||
| ovos $alt | |||
| pachorra $alt2 | |||
| paexa paeSa | |||
| palacete $alt2 | |||
| palheta $alt2 | |||
| panfleto $alt2 | |||
| panfleto $alt2 | |||
| pangeia $alt | |||
| panqueca p,&~Nk'Ek& | |||
| panqueca p,&~Nk'Ek& | |||
| pantera $alt | |||
| paralelo $alt | |||
| parede $alt2 | |||
| @@ -929,8 +930,9 @@ pelo $alt $verb | |||
| peso $alt $verb | |||
| piloto $alt2 $noun | |||
| pintora $alt2 | |||
| pior $alt | |||
| pior $alt | |||
| pirueta $alt2 | |||
| plaqueta $alt2 | |||
| plateia $alt | |||
| plebeia $alt | |||
| polca $alt | |||
| @@ -944,7 +946,7 @@ poxa p'oS& | |||
| primavera $alt | |||
| provo $alt | |||
| quarteto $alt2 | |||
| queda $alt | |||
| queda $alt | |||
| quinteto $alt2 | |||
| recomeço $alt2 $noun | |||
| recordo $alt | |||
| @@ -959,7 +961,7 @@ reitora $alt2 | |||
| relevo $alt2 $noun | |||
| remorso $alt | |||
| reprovo $alt | |||
| retorno $alt $verb | |||
| retorno $alt $verb | |||
| rixa x'iS& | |||
| rocha $alt | |||
| rock $alt | |||
| @@ -970,9 +972,9 @@ saleta $alt2 | |||
| sarjeta $alt | |||
| seborreia $alt | |||
| seca $alt2 $noun | |||
| secas $alt2 | |||
| secas $alt2 | |||
| seco $alt2 | |||
| seco $alt $verb | |||
| seco $alt $verb | |||
| selo $alt $verb | |||
| selvagem seUv'aZeIN | |||
| sexteto $alt2 | |||
| @@ -985,14 +987,14 @@ sogra $alt | |||
| sopro $alt2 $noun | |||
| soro $alt2 | |||
| sorvete $alt2 | |||
| sossego $alt2 $noun | |||
| sossego $alt2 $noun | |||
| suborno $alt $verb | |||
| sufoco $alt2 $noun | |||
| sufocos $alt2 | |||
| suporto $alt | |||
| suor swOr | |||
| tapete $alt2 | |||
| temores $alt2 | |||
| temores $alt2 | |||
| tempero $alt2 $noun | |||
| terrores $alt2 | |||
| teta $alt2 | |||
| @@ -1001,8 +1003,8 @@ tocha $alt | |||
| toga $alt | |||
| topo $alt $verb | |||
| torno $alt $verb | |||
| torre $alt2 $noun | |||
| torres $alt2 | |||
| torre $alt2 $noun | |||
| torres $alt2 | |||
| tortos $alt | |||
| traqueia $alt | |||
| travesso $alt2 | |||
| @@ -1012,13 +1014,13 @@ troco $alt2 $noun | |||
| tropa $alt | |||
| tropeço $alt2 $noun | |||
| trombeta $alt2 | |||
| tumores $alt2 | |||
| tumores $alt2 | |||
| valeta $alt2 | |||
| vanessa $alt2 | |||
| velozes $alt | |||
| verme $alt | |||
| violeta $alt2 | |||
| violoncelo $alt | |||
| violoncelo $alt | |||
| voga $alt | |||
| vozes $alt | |||
| xarope $alt | |||
| @@ -349,7 +349,7 @@ | |||
| _d) e (L05_ E | |||
| _vi) e (L05_ E | |||
| fiz) e (L05_ E | |||
| pus) e (L05_ E / com- im- de- | |||
| pus) e (L05_ E // com- im- de- | |||
| tiv) e (L05_ E // es- | |||
| _com) e (L05_ e | |||
| _pud) e (L05_ E | |||
| @@ -359,34 +359,34 @@ | |||
| _perd) e (L05_ e | |||
| _quis) e (L05_ E | |||
| _soub) e (L05_ E | |||
| tend) e (L06_ e / a- con- en- es- | |||
| tend) e (L06_ e // a- con- en- es- | |||
| _mord) e (L06_ e | |||
| _rend) e (L06_ e | |||
| _vend) e (L06_ e | |||
| prend) e (L06_ e / a- rea- des- desa- | |||
| prend) e (L06_ e // a- rea- des- desa- | |||
| _arrepend) e (L06_ e | |||
| _defend) e (L06_ e | |||
| _depend) e (L06_ e | |||
| _escond) e (L06_ e | |||
| preend) e (L06_ e / com- a- re- sur- | |||
| preend) e (L06_ e // com- a- re- sur- | |||
| respond) e (L06_ e // cor- | |||
| bat) e (L07_ e // re- com- | |||
| ced) e (L07_ e // pro- con- su- | |||
| met) e (L07_ e // co- pro- arre- re- intro- compro- sub- | |||
| mov) e (L07_ e / re- co- | |||
| mov) e (L07_ e // re- co- | |||
| viv) e (L07_ e // re- | |||
| _beb) e (L07_ e | |||
| _com) e (L07_ e | |||
| _tem) e (L07_ e | |||
| colh) e (L07_ e // & es- | |||
| corr) e (L07_ e // per- con- in- so- dis- | |||
| ench) e (L07_ e / pre- | |||
| nasc) e (L07_ e / re- | |||
| tend) e (L07_ e / en- con- a- es- | |||
| ench) e (L07_ e // pre- | |||
| nasc) e (L07_ e // re- | |||
| tend) e (L07_ e // en- con- a- es- | |||
| torc) e (L07_ e // con- | |||
| venc) e (L07_ e // con- | |||
| vert) e (L07_ e // in- re- con- | |||
| volv) e (L07_ e de- en- re- | |||
| volv) e (L07_ e // de- en- re- | |||
| _eleg) e (L07_ e | |||
| _ergu) e (L07_ e | |||
| _mord) e (L07_ e | |||
| @@ -397,7 +397,7 @@ respond) e (L06_ e // cor- | |||
| padec) e (L07_ e // com- | |||
| parec) e (L07_ e // a- rea- com- desa- | |||
| prend) e (L07_ e // a- rea- des- | |||
| screv) e (L07_ e / e- in- ree- pre- de- | |||
| screv) e (L07_ e // e- in- ree- pre- de- | |||
| _abastec) e (L07_ e | |||
| _aborrec) e (L07_ e | |||
| _absolv) e (L07_ e | |||
| @@ -430,11 +430,11 @@ _rejuvenec) e (L07_ e | |||
| _resolv) e (L07_ e | |||
| _suspend) e (L07_ e | |||
| conhec) e (L07_ e // & re- des- | |||
| estabelec) e (L07_ e / re- | |||
| favorec) e (L07_ e / des- | |||
| obedec) e (L07_ e / des- | |||
| estabelec) e (L07_ e // re- | |||
| favorec) e (L07_ e // des- | |||
| obedec) e (L07_ e // des- | |||
| preend) e (L07_ e // sur- com- | |||
| proteg) e (L07_ e / des- | |||
| proteg) e (L07_ e // des- | |||
| respond) e (L07_ e // cor- | |||
| qu) e (brL04_ E | |||
| _hosp) e (dL03_ E | |||
| @@ -442,6 +442,8 @@ respond) e (L07_ e // cor- | |||
| _n) e (grL03_ e | |||
| _estr) ei (L03_ EI | |||
| _inv) e (jL04_ E | |||
| proteg) e (l05_ e // des- | |||
| tr) e (pL04_ E // es- | |||
| _dec) e (pL04_ E | |||
| _in) e (ptL03_ E | |||
| _p) e (quL02_ E | |||
| @@ -451,14 +453,14 @@ respond) e (L07_ e // cor- | |||
| _sev) e (rL03_ E | |||
| _reit) e (rL03_ E | |||
| _sinc) e (rL03_ E | |||
| g) e (rL04_ E / su- refri- | |||
| qu) e (rL04_ E / re- | |||
| g) e (rL04_ E // su- refri- | |||
| qu) e (rL04_ E // re- | |||
| _op) e (rL04_ E | |||
| _alt) e (rL04_ E | |||
| _sup) e (rL04_ E | |||
| _tol) e (rL04_ E | |||
| _ven) e (rL04_ E | |||
| acel) e (rL04_ E / des- | |||
| acel) e (rL04_ E // des- | |||
| _coop) e (rL04_ E | |||
| _temp) e (rL04_ E | |||
| _v) e (rbL03_ E | |||
| @@ -494,13 +496,13 @@ _obsol) e (tL03_ e | |||
| _d) e (vL03_ e | |||
| scr) e (vL03_ e // e- in- pre- ree- de- | |||
| _atr) e (vL03_ e | |||
| pr) e (zL04_ E / des- menos- | |||
| pr) e (zL04_ E // des- menos- | |||
| _embel) e (zL04_ E | |||
| _acont) e (çL01_ e | |||
| _arref) e (çL01_ e | |||
| _emagr) e (çL03 | |||
| pr) e (çL03_ e / a- | |||
| mer) e (çL03_ e / des- | |||
| pr) e (çL03_ e // a- | |||
| mer) e (çL03_ e // des- | |||
| pad) e (çL03_ e // com- | |||
| par) e (çL03_ e // a- re- com- rea- desa- | |||
| _ado) e (çL03_ e | |||
| @@ -508,7 +510,7 @@ _emagr) e (çL03 | |||
| _car) e (çL03_ e | |||
| _per) e (çL03_ e_ | |||
| conh) e (çL03_ e // re- | |||
| obed) e (çL03_ e / des- | |||
| obed) e (çL03_ e // des- | |||
| _esqu) e (çL03_ e | |||
| _forn) e (çL03_ e | |||
| _ofer) e (çL03_ e | |||
| @@ -518,6 +520,7 @@ _agrad) e (çL03_ e | |||
| _amanh) e (çL03_ e | |||
| _amort) e (çL03_ e | |||
| _anoit) e (çL03_ e | |||
| _desguarn) e (çL03_ e | |||
| _desguarnec) e (çL03_ e | |||
| _enfraqu) e (çL03_ e | |||
| _enlouqu) e (çL03_ e | |||
| @@ -531,7 +534,7 @@ _espair) e (çL03_ e | |||
| _estrem) e (çL03_ e | |||
| _fortal) e (çL03_ e | |||
| _rejuven) e (çL03_ e | |||
| estabel) e (çL03_ e / re- | |||
| estabel) e (çL03_ e // re- | |||
| //endsort | |||
| @@ -828,17 +831,17 @@ estabel) e (çL03_ e / re- | |||
| _deb) o (chL04_ O | |||
| _desabr) o (chL04_ O | |||
| _s) o (frL02_ O | |||
| r) o (gL04_ O / inter- | |||
| r) o (gL04_ O // inter- | |||
| _j) o (gL04_ O | |||
| _af) o (gL04_ O | |||
| _adv) o (gL04_ O | |||
| _ref) o (gL04_ O | |||
| _ap) oi (L01_ OI | |||
| _t) o (lL03_ o | |||
| c) o (lhL02_ O / es- en- re- | |||
| c) o (lhL02_ O // es- en- re- | |||
| _t) o (lhL02_ O | |||
| _m) o (lhL04_ O | |||
| env) o (lvL02_ O / des- | |||
| env) o (lvL02_ O // des- | |||
| _abs) o (lvL02_ O | |||
| _dev) o (lvL02_ O | |||
| _res) o (lvL02_ O | |||
| @@ -854,6 +857,7 @@ _desabr) o (chL04_ O | |||
| _r) o (snL04_ O | |||
| _c) o (spL02_ O | |||
| p) ostos (_ Ost=Us# // dispostos etc. | |||
| _g) o (zL04_ O | |||
| _ad) o (çL03_ O | |||
| _end) o (çL03_ O | |||
| //endsort | |||
| @@ -49,6 +49,8 @@ | |||
| َ z@b@R | |||
| ِ ze:R | |||
| ُ pe:S | |||
| ّ t,aSd'i:d | |||
| ً d'o:zab'aR | |||
| // The numbers | |||
| @@ -220,9 +222,6 @@ _dpt _ISaRI'Ia_ | |||
| اعلان e:l'a:n | |||
| سنئیے sUn'i:;e: | |||
| کلنگ k'IlIn,g | |||
| انتقال ,Intaq'a:l | |||
| انتقام ,Intaq'a:m | |||
| انتخاب ,Intax'a:b | |||
| چیف c'i:f | |||
| جسٹس J'ast.,Is | |||
| شکایت S,Ika:j'at | |||
| @@ -245,7 +244,6 @@ _dpt _ISaRI'Ia_ | |||
| دنوں dIn'o:n | |||
| مصر m'Is.R | |||
| مصری m'Is.R,i: | |||
| انتظام ,IntIz.'a:m | |||
| مختصر m,Uxtas.'aR | |||
| پھر p#'IR | |||
| پھرا p#'IRa: | |||
| @@ -303,6 +301,58 @@ _dpt _ISaRI'Ia_ | |||
| حاصل H'a:s.Il | |||
| شدہ S'Ud,a | |||
| بغیر baQ'e:R | |||
| امیدوار Um'i:dva:R | |||
| لکھ l'Ik# | |||
| لکھئیے l'Ik#j,e: | |||
| ممکن m'Umk,In | |||
| ممکنہ m'Unk,In,a | |||
| طرح taR'aH | |||
| الیکشن ,Ile:kS'an | |||
| ووٹنگ vo:t.'Ing | |||
| شواہد Sav'a:HId | |||
| محض me:He:z | |||
| حزب H'Izb | |||
| مخالف mUx'a:lIf | |||
| استعمال ,Iste:m'a:l | |||
| مخالفت m,Uxa:lIf'at | |||
| مخالفین m,Uxa:lIf'i:n | |||
| عشق 'ISq | |||
| عمدہ 'Umda | |||
| مارچ m'a:Rc | |||
| چرچ c'aRc | |||
| دہشت d'e:HS'at | |||
| وحشت v,e:HS'at | |||
| درست d'URUst | |||
| صحت s.e:H'at | |||
| فلم f'Ilm | |||
| فلمی f'Ilm,i: | |||
| مسلسل m,Usals'al | |||
| تسلسل tas'als,Ul | |||
| تشدد taS'adUd | |||
| پرتشدد p,URtaS'adUd | |||
| حجوم HUJ'u:m | |||
| پرحجوم p,URHUJ'u:m | |||
| تحفظ taH'afUz. | |||
| تحفظات t,aHafUz.'a:t | |||
| حفاظت H,Ifa:z.'at | |||
| ہمت HIm'at | |||
| سمیت sam'e:t | |||
| اگرچہ ,agaRc'e:H | |||
| بلکہ b,alk'e:H | |||
| حصہ H'Is.,a | |||
| حصے H'Is.e: | |||
| حصوں HIs.'o:n | |||
| حساب HIs'a:b | |||
| ہوئیں Hu:'i:n | |||
| ہوئی H'u:i: | |||
| ہوئے H'u:e: | |||
| اندسٹری ,Ind.'ast.Ri: | |||
| بخود b'axUd | |||
| تعین t'a:jUn | |||
| باعث b'a:jIs | |||
| کتب k'UtUb | |||
| سلسلہ s'Ils,Il,a | |||
| سلسلے s'Ils,Ile: | |||
| بحث be:He:s | |||
| قسمت q,Ism'at | |||
| آور a:v'aR | |||
| بظاہر baz.'a:HIR | |||
| ظاہر z.'a:HIR | |||
| حکم H'Ukm | |||
| @@ -15,6 +15,7 @@ | |||
| ٧ 7 | |||
| ٨ 8 | |||
| ٩ 9 | |||
| ي ی | |||
| @@ -54,6 +55,32 @@ _) او u: | |||
| _) ای e: | |||
| ائ a:j | |||
| اہ(_ a:H | |||
| _) اتن 'Itn | |||
| _) اتر Ut'aR | |||
| _) اتر (L01 UtR | |||
| _) الٹ Ul'at. | |||
| _) الٹ (L01 Ult. | |||
| _) الجھ Ul'aJh | |||
| _) الجھ (L01 UlJh | |||
| _) ابھر Ubh'aR | |||
| _) ابھر (L01 UbhR | |||
| _) اچھل Uch'al | |||
| _) اچھل (L01 Uchl | |||
| _) اجڑ UJ'ar. | |||
| _) اجڑ (L01 UJr. | |||
| افتتاح ,ItIt'a:H | |||
| اسلام ,Isl'a:m | |||
| _) انسان Ins'a:n | |||
| _) انت 'Int,a | |||
| _) امید Um'i:d | |||
| اً(_ 'an | |||
| _) امکان ,Imk'a:n | |||
| _) افسر ,afs'aR | |||
| _) اتفاق ,ItIf'a:q | |||
| _) ابتدا 'Ibt,Ida: | |||
| _) ایمان i:m'a:n | |||
| _) اعت 'e:tI | |||
| _) اضاف Iz'a:f | |||
| .group آ | |||
| آ a: | |||
| @@ -63,6 +90,7 @@ _) ای e: | |||
| ع a: | |||
| عا a: | |||
| _) ع a | |||
| _) عیس 'i:s | |||
| .group و | |||
| @@ -72,6 +100,8 @@ _) ای e: | |||
| و (L01 v | |||
| _) و vV | |||
| وع (_ u: | |||
| وّ vv | |||
| .group ی | |||
| ی e: | |||
| @@ -81,6 +111,8 @@ _) ای e: | |||
| یع(_ i: | |||
| @) ی i: | |||
| یں(_ e:n | |||
| یّ jj | |||
| @) یت(_ j'at | |||
| .group ے // yeh barree | |||
| ے e: | |||
| @@ -103,12 +135,31 @@ _) ای e: | |||
| بھ b#V | |||
| بھ (L01 b# | |||
| ب (L01 b | |||
| بّ bbV | |||
| بّ (L01 bb | |||
| _) بگڑ bIg'ar. | |||
| _) بگڑ (L01 b'Igr. | |||
| _) بکھر bIkh'aR | |||
| _) بکھر (L01 b'IkhR | |||
| _) بچھڑ bIch'ar. | |||
| _) بچھڑ (L01 bIchr. | |||
| _) بجھ b'UJh | |||
| بھوک bh'u:k | |||
| بھیک bh'i:k | |||
| بھیگ bh'i:g | |||
| بھول bh'u:l | |||
| .group پ | |||
| پ pV | |||
| پھ p#V | |||
| پ (L01 p | |||
| پھ (L01 p# | |||
| پّ ppV | |||
| پّ (L01 pp | |||
| _) پھر ph'IR | |||
| پھول ph'u:l | |||
| _) پہل (L01 p'e:Hl | |||
| .group ت | |||
| @@ -116,22 +167,35 @@ _) ای e: | |||
| تھ t#V | |||
| ت (L01 t | |||
| تھ (L01 t# | |||
| تّ ttV | |||
| تّ (L01 tt | |||
| .group ٹ | |||
| ٹ t.V | |||
| ٹھ t.#V | |||
| ٹ (L01 t. | |||
| ٹھ (L01 t.# | |||
| ٹّ t.t.V | |||
| ٹّ (L01 t.t. | |||
| .group ث | |||
| ث sV | |||
| ث (L01 s | |||
| ثّ ssV | |||
| ثّ (L01 ss | |||
| .group ج | |||
| ج JV | |||
| جھ J#V | |||
| ج (L01 J | |||
| جھ (L01 J# | |||
| جّ JJV | |||
| جّ (L01 JJ | |||
| _) جیت J'i:t | |||
| _) جوا J'ava: | |||
| .group چ | |||
| @@ -139,43 +203,71 @@ _) ای e: | |||
| چھ c#V | |||
| چ (L01 c | |||
| چھ (L01 c# | |||
| چّ ccV | |||
| چّ (L01 cc | |||
| .group ح | |||
| ح HV | |||
| ح (L01 H | |||
| ح (_ H | |||
| حّ HHV | |||
| حّ (L01 HH | |||
| .group خ | |||
| خ xV | |||
| خ (L01 x | |||
| خت(_ xt | |||
| خّ xxV | |||
| خّ (L01 xx | |||
| _) خوش x'US | |||
| _) خود x'Ud | |||
| _) خواہش xv'a:HIS | |||
| .group د | |||
| د dV | |||
| دھ d#V | |||
| د (L01 d | |||
| دھ (L01 d# | |||
| دّ ddV | |||
| دّ (L01 dd | |||
| .group ڈ | |||
| ڈ d.V | |||
| ڈھ d.#V | |||
| ڈ (L01 d. | |||
| ڈھ (L01 d.# | |||
| ڈّ d.d.V | |||
| ڈّ (L01 d.d. | |||
| .group ذ | |||
| ذ DV | |||
| ذ (L01 D | |||
| ذّ DDV | |||
| ذّ (L01 DD | |||
| .group ر | |||
| ر RV | |||
| ر (L01 R | |||
| رّ RRV | |||
| رّ (l01 RR | |||
| .group ڑ | |||
| ڑ r.V | |||
| ڑ (L01 r. | |||
| ڑّ r.r.V | |||
| ڑّ (L01 r.r. | |||
| ڑھ r.hV | |||
| ڑھ (L01 r.h | |||
| .group ز | |||
| ز zV | |||
| ز (L01 z | |||
| زّ zzV | |||
| زّ (L01 zz | |||
| .group ژ | |||
| ژ ZV | |||
| @@ -184,60 +276,98 @@ _) ای e: | |||
| .group س | |||
| س sV | |||
| س (L01 s | |||
| سّ ssV | |||
| سّ (L01 ss | |||
| _) سرخ s'URx | |||
| _) سن (L01 s'Un | |||
| _) سلجھ sUl'aJh | |||
| _) سلجھ (L01 sUlJh | |||
| _) سدھر sUdh'aR | |||
| _) سدھر (L01 sUdhR | |||
| .group ش | |||
| ش SV | |||
| ش (L01 S | |||
| شّ SSV | |||
| شّ (L01 SS | |||
| .group ص | |||
| ص s.V | |||
| ص (L01 s. | |||
| صّ ssV | |||
| صّ (L01 ss | |||
| .group ض | |||
| ض zV | |||
| ض (L01 z | |||
| ضّ zzv | |||
| ضّ (L01 zz | |||
| .group ط | |||
| ط tV | |||
| طھ t#V | |||
| ط (L01 t | |||
| طھ (L01 t# | |||
| طّ ttV | |||
| طّ (L01 tt | |||
| .group ظ | |||
| ظ z.V | |||
| ظ (L01 z. | |||
| ظّ z.z.V | |||
| ظّ (L01 z.z. | |||
| .group غ | |||
| غ QV | |||
| غ (L01 Q | |||
| غّ QQV | |||
| غّ (L01 QQ | |||
| .group ف | |||
| ف fV | |||
| ف (L01 f | |||
| فّ ffV | |||
| فّ (L01 ff | |||
| .group ق | |||
| ق qV | |||
| ق (L01 q | |||
| قّ qqV | |||
| قّ (L01 qq | |||
| .group ک | |||
| ک kV | |||
| کھ k#V | |||
| ک (L01 k | |||
| کھ (L01 k# | |||
| کّ kkV | |||
| کّ (L01 kk | |||
| _) کتن k'Itn | |||
| .group گ | |||
| گ gV | |||
| گھ g#V | |||
| گ (L01 g | |||
| گھ (L01 g# | |||
| گّ ggV | |||
| گّ (L01 gg | |||
| _) گرفت g'IRIft | |||
| _) گزر gUz'aR | |||
| _) گزر (L01 gUzR | |||
| .group ل | |||
| ل lV | |||
| ل (L01 l | |||
| لّ llV | |||
| لّ (L01 ll | |||
| لکھ l'Ik# | |||
| .group م | |||
| م mV | |||
| م (L01 m | |||
| مّ mmV | |||
| مّ (L01 mm | |||
| _) مشکل m'USk,Il | |||
| .group ن | |||
| ن nV | |||
| @@ -246,6 +376,13 @@ _) ای e: | |||
| @) ن (د n | |||
| @) ن (ب n | |||
| @) ن (س n | |||
| نّ nnV | |||
| نّ (L01 nn | |||
| _) نکل nIk'al | |||
| _) نکل (L01 nIkl | |||
| @) ن (چ n | |||
| _) نکال nIk'a:l | |||
| _) نگاہ nIg'a:H | |||
| .group ں | |||
| ں n // this should nasalize the vowel | |||
| @@ -258,9 +395,17 @@ _) ای e: | |||
| _) ہ Ha | |||
| _) ہ (L01 H | |||
| _) ہ (ند HI | |||
| ہّ HHV | |||
| ہّ (L01 HH | |||
| ہ (_ a | |||
| .group ّ | |||
| ّ | |||
| .group ً | |||
| ً | |||
| // Common symbols | |||
| @@ -1,5 +1,4 @@ | |||
| name Irish Gaeilge | |||
| language ga | |||
| dictrules 1 // fix for eclipsis | |||
| @@ -1,3 +1,12 @@ | |||
| // PB General rules for vowels: | |||
| // Short vowels | |||
| // ACC: Short "pille" [p?el@-] | |||
| // AC[V]: Short "piler" [p?ilV] | |||
| // A[N]: Short "bange" [b?AN@-] | |||
| // Long vowels | |||
| // A + group #@ OR group #e: Long "ae" "aer" [&:@-] | |||
| // AC + group #@ OR group #e: Long "pile" [pi:l@-] | |||
| // AC[i]: Long "smidig" [smi:Di] | |||
| phoneme @ | |||
| vowel starttype #@ endtype #@ | |||
| @@ -36,42 +45,42 @@ endphoneme | |||
| phoneme i | |||
| vowel starttype #i endtype #i | |||
| length 150 | |||
| // IfNextVowelAppend(;) | |||
| IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) THEN | |||
| glstop | |||
| length 90 | |||
| length 90 //150 | |||
| // PB long vowel followed by consonant and certain vowels "gide" | |||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // PB "tie", "stige", "krige" vowel + vowel: extra length | |||
| // What is causing this very short [i] in words with final [@-]? | |||
| // NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||
| length 240 | |||
| // "gider" TEST | |||
| IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "siden" | |||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) AND nextPhW(D) THEN | |||
| // PB long vowel followed by certain vowels - "pigen" [p'i@-n] | |||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "lise" | |||
| IF nextPhW(isNotVowel) AND nextVowel(@-) OR nextVowel(@) THEN | |||
| // Only this vowel (in this case [i]) | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||
| length 150 | |||
| ENDIF | |||
| // PB "Bishop" | |||
| IF nextPhW(S) AND next2PhW(V) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "pjækkeri", "røveri" | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||
| length 90 | |||
| // This vowel is word end - longer because it sounds too short | |||
| // "sig", "si" | |||
| IF thisPh(isWordEnd) THEN | |||
| length 120 | |||
| ENDIF | |||
| // "vilje" | |||
| // "vilje" - short followed by 2 consonants | |||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||
| length 90 | |||
| ENDIF | |||
| // PB "tie", "stige", "krige" vowel + vowel: extra length | |||
| // What is causing this very short [i] in words with final [@-]? | |||
| // NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||
| length 240 | |||
| ENDIF | |||
| FMT(vowel/i_4) | |||
| endphoneme | |||
| // PB Experimental glottal i | |||
| // PB short i | |||
| // sviret vs. svirret | |||
| phoneme ?i | |||
| vowel starttype #i endtype #i | |||
| @@ -90,31 +99,11 @@ endphoneme | |||
| phoneme e | |||
| vowel starttype #e endtype #e | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "delte", "mante", "evig" [evi] | |||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@) OR nextVowel(@-) THEN | |||
| length 90 //150 | |||
| // "delte", "mente" | |||
| IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "prinsen" - TEST | |||
| IF nextPhW(n) AND next2PhW(s) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "slesk", "sleske" short vowel | |||
| IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN | |||
| length 90 | |||
| ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN | |||
| length 90 | |||
| // "skriften" - very broad: short before 2 consonants | |||
| ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) THEN | |||
| length 90 | |||
| ENDIF | |||
| // PB "ring", "ringe" | |||
| IF nextPhW(N) THEN | |||
| length 90 | |||
| @@ -123,14 +112,18 @@ ENDIF | |||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "labyrinter" , "labyrinten" - short followed by 2 consonants | |||
| // Only "e" | |||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short | |||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||
| length 60 | |||
| length 90 | |||
| ENDIF | |||
| FMT(vowel/e) | |||
| endphoneme | |||
| // PB glottal e | |||
| // PB short e | |||
| // "skille" vs. "skele", "pille" vs. "pile" | |||
| phoneme ?e | |||
| vowel starttype #e endtype #e | |||
| @@ -140,42 +133,43 @@ endphoneme | |||
| phoneme E | |||
| vowel starttype #e endtype #e | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| // example? | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| length 50 | |||
| ENDIF | |||
| length 90 //150 | |||
| // "værelse", "breve" | |||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN | |||
| length 150 | |||
| // length 150 | |||
| ENDIF | |||
| // "fest", "feste" short vowel | |||
| IF nextPhW(s) AND next2PhW(t) AND nextVowel(@-) THEN | |||
| length 90 | |||
| ELIF nextPhW(s) AND next2PhW(k) AND nextVowel(@-) THEN | |||
| length 90 | |||
| // PB knægten | |||
| ELIF nextPhW(g) AND next2PhW(t) AND nextVowel(@-) THEN | |||
| length 90 | |||
| // "femten", "tænker" - very broad: short before 2 consonants | |||
| ELIF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND nextVowel(@-) OR nextVowel(V)THEN | |||
| length 90 | |||
| // PB "kærlig" [k'Erli]- a bit longer because og the missing [ɐ] [ˈkæɐ̯li] | |||
| ELIF nextPhW(r) AND next2PhW(isNotVowel) AND nextVowel(i) THEN | |||
| length 130 | |||
| // "ræve" | |||
| IF nextVowel(#@) OR nextVowel(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "ære", "kærester", "ærefrygt" - longer E | |||
| IF nextPhW(V) THEN | |||
| length 180 | |||
| ENDIF | |||
| // Only the letter "æ" - long | |||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "stædig" [st'EDi] long | |||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "længe" - short - 2 consonants => 1 consonant | |||
| IF nextPhW(N) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "værelse" [v'E3-Vls@_!] | |||
| IF nextPhW(3-) AND next2PhW(V) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "mælkebøtte" - short followed by 2 consonants | |||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||
| length 90 | |||
| ENDIF | |||
| FMT(vowel/e_mid2) | |||
| endphoneme | |||
| // PB Experimental glottal E | |||
| // PB short E | |||
| // "læsse" vs. "læse" | |||
| phoneme ?E | |||
| vowel starttype #e endtype #e | |||
| @@ -190,44 +184,42 @@ endphoneme | |||
| phoneme & | |||
| vowel starttype #e endtype #e | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ipa a | |||
| length 90 //150 | |||
| // "same", "sale", "bade" - consonant + gooup #e or group #@: long | |||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // ThisPh + gooup #e or group #@ | |||
| // "ae", "aer" vowel + vowel: extra length | |||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||
| length 240 | |||
| ENDIF | |||
| // This vowel is word end - longer because it sounds too short | |||
| // "ja", "Omaha" | |||
| IF thisPh(isWordEnd) THEN | |||
| length 120 | |||
| ENDIF | |||
| // PB "sable", "sabler", "anede", "David" | |||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) OR nextVowel(@-) THEN | |||
| // Only this vowel (in this case [&]) | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "stadig" [st&Di] | |||
| IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||
| length 180 | |||
| // "stadigt" [st&Dit] | |||
| ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND next2PhW(t) THEN | |||
| // "stadig" [st&Di], "stadigt" [st&Dit] | |||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||
| length 180 | |||
| // "latin" [l&t'in] | |||
| ELIF nextVowel(i) AND nextVowel(isFinalVowel) AND NOT next2PhW(t) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "ae", "aer", "dagen" vowel + vowel: extra length | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| length 240 | |||
| ENDIF | |||
| // "Alfie", "alfer" - short before 2 consonants | |||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||
| length 90 | |||
| ENDIF | |||
| // "Omaha" | |||
| IF thisPh(isWordEnd) THEN | |||
| length 90 | |||
| ENDIF | |||
| FMT(vowel/ee_2) | |||
| endphoneme | |||
| // PB Experimental glottal a | |||
| // PB Short & | |||
| // e.g. the last a in "staldkarl" | |||
| // "sale" vs. "sal" | |||
| phoneme ?& | |||
| ipa a | |||
| vowel starttype #e endtype #e | |||
| length 90 | |||
| FMT(vowel/ee_2) | |||
| @@ -237,7 +229,7 @@ endphoneme | |||
| phoneme &# | |||
| vowel starttype #e endtype #e | |||
| length 120 | |||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| @@ -255,76 +247,77 @@ phoneme ?&# | |||
| FMT(vowel/&) | |||
| endphoneme | |||
| phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| length 150 | |||
| ENDIF | |||
| FMT(vowel/a_2) | |||
| endphoneme | |||
| //phoneme a | |||
| // vowel starttype #a endtype #a | |||
| // length 90 //150 | |||
| //IF nextPhW(#@) OR nextPhW(#e) THEN | |||
| // length 150 | |||
| //ENDIF | |||
| // FMT(vowel/a_2) | |||
| //endphoneme | |||
| // PB short (glottal) a | |||
| // "bragt" | |||
| phoneme ?a | |||
| vowel starttype #a endtype #a | |||
| length 90 | |||
| FMT(vowel/a_2) | |||
| endphoneme | |||
| //phoneme ?a | |||
| // vowel starttype #a endtype #a | |||
| // length 90 | |||
| // FMT(vowel/a_2) | |||
| //endphoneme | |||
| phoneme A | |||
| phoneme A // PB changed to a_8 | |||
| vowel starttype #a endtype #a | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| length 90 //150 | |||
| // PB long vowel followed by consonant and certain vowels - "drabelig" | |||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "far", "bastard" - a bit longer followed by [r] | |||
| IF nextPhW(r) THEN | |||
| IF nextPhW(r) AND nextPhW(isWordEnd) THEN | |||
| length 120 | |||
| ENDIF | |||
| FMT(vowel/a_3) | |||
| // "bange" [bAN@-] - [N] = 2 consonants (ng) => short | |||
| IF nextPhW(N) THEN | |||
| length 90 | |||
| ENDIF | |||
| FMT(vowel/a_8) | |||
| endphoneme | |||
| // PB glottal a | |||
| // PB short A | |||
| // "drab" vs. "drabelig" | |||
| phoneme ?A | |||
| vowel starttype #a endtype #a | |||
| length 90 | |||
| // "straffeattest", "straffe" - a bit longer after R | |||
| IF prevPhW(R) AND nextPhW(isNotVowel) THEN | |||
| length 120 | |||
| // "straffeattest", "straffe", "rapid" - a bit longer after R | |||
| IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN | |||
| length 110 | |||
| ENDIF | |||
| FMT(vowel/a_3) | |||
| FMT(vowel/a_8) | |||
| endphoneme | |||
| phoneme u | |||
| vowel starttype #u endtype #u | |||
| length 150 | |||
| length 90 //150 | |||
| // Short vowel followed by consonant and NOT consonant + 3 or V or @ | |||
| // "blus" vs. "bluse" and "bluser" | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| // glstop | |||
| // length 90 | |||
| ENDIF | |||
| // "hue", "suge", "uge" | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| // "suge", "uge", bluse | |||
| IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN | |||
| length 150 | |||
| ENDIF | |||
| // extra length followed by 3 or V or @ | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| length 240 | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| // length 240 | |||
| ENDIF | |||
| // "umulig" | |||
| IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||
| length 180 | |||
| ENDIF | |||
| // Only "u" | |||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||
| length 150 | |||
| ENDIF | |||
| FMT(vowel/u_bck) | |||
| endphoneme | |||
| @@ -368,13 +361,13 @@ endphoneme | |||
| phoneme O | |||
| vowel starttype #o endtype #o | |||
| length 150 | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| length 90 // 150 | |||
| // PB "sove", "sover" - consonant + #e or #@: long | |||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // PB "gået" | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| // PB "gået" - ThisPh + #e or #@ | |||
| IF nextPhW(#e) OR nextPhW(#@) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "rådig" | |||
| @@ -418,7 +411,7 @@ ENDIF | |||
| FMT(vowel/V_4) | |||
| endphoneme | |||
| // PB Glottal (short) å | |||
| // PB Short å | |||
| // "forstår" vs. "kåre" | |||
| phoneme ?V | |||
| vowel starttype #@ endtype #@ | |||
| @@ -448,35 +441,31 @@ endphoneme | |||
| phoneme y | |||
| vowel starttype #i endtype #i | |||
| // experiment: changed to short from 150 | |||
| length 150 | |||
| // Short vowel followed by consonant and NOT consonant + 3 or V | |||
| // "lyd" vs. "lyde" and "lyder" | |||
| IF nextPhW(isNotVowel) AND NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@)AND NOT next2PhW(@-) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| // "syg" [sy] | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||
| length 90 | |||
| // Length changed to short since most vowels are short. | |||
| // It's probably easier only to make rules for long vowels. | |||
| length 90 //150 | |||
| // PB long vowel followed by consonant and certain vowels | |||
| // "lyde", "lyder" | |||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "skyd" | |||
| IF thisPh(isFinalVowel) AND nextPhW(isWordEnd) AND nextPhW(isNotVowel) THEN | |||
| length 90 | |||
| // Only this vowel (in this case [y]) | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "dydig" [dyDi] | |||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(i) THEN | |||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||
| length 150 | |||
| ENDIF | |||
| // "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) THEN | |||
| length 220 | |||
| IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN | |||
| length 200 | |||
| ENDIF | |||
| // PB "kryster" - short y | |||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||
| length 80 | |||
| // "tyve" | |||
| IF nextPhW(?u) AND next2PhW(@-) THEN | |||
| length 150 | |||
| ENDIF | |||
| // PB "gryden" | |||
| FMT(vowel/y) | |||
| endphoneme | |||
| @@ -484,7 +473,7 @@ endphoneme | |||
| // "kylling" vs. "kyle", "krybbe" vs. "krybe" | |||
| phoneme ?y | |||
| vowel starttype #i endtype #i | |||
| length 70 | |||
| length 90 | |||
| FMT(vowel/y) | |||
| endphoneme | |||
| @@ -503,24 +492,19 @@ endphoneme | |||
| phoneme W | |||
| vowel starttype #@ endtype #@ | |||
| length 160 | |||
| // Shorter vowel when followed by consonant | |||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| ENDIF | |||
| length 99 //160 | |||
| // "kløe" vowel + vowel: extra length | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||
| length 220 | |||
| ENDIF | |||
| // "klø" short W when word ends with W | |||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) THEN | |||
| length 90 | |||
| ENDIF | |||
| // røde" W + 1 consonant + 3 or W or @ | |||
| IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) THEN | |||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||
| length 160 | |||
| ENDIF | |||
| // "røveri" TEST | |||
| IF next2PhW(V) OR next2PhW(?V) THEN | |||
| length 90 | |||
| ENDIF | |||
| // PB "nødig", "nødigt", "kølige" | |||
| IF nextVowel(i) THEN | |||
| length 160 | |||
| @@ -536,7 +520,7 @@ ENDIF | |||
| FMT(vowel/oe) | |||
| endphoneme | |||
| // PB glottal W | |||
| // PB short W | |||
| // "prøv" vs. "prøve" | |||
| phoneme ?W | |||
| vowel starttype #@ endtype #@ | |||
| @@ -547,12 +531,13 @@ endphoneme | |||
| // PB added for the ø in "røv", "røg", "øje" instead of [V3] | |||
| phoneme W# | |||
| vowel starttype #@ endtype #@ | |||
| length 150 | |||
| length 90 //150 | |||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||
| glstop | |||
| length 90 | |||
| // length 90 | |||
| ENDIF | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||
| // PB long vowel followed by consonant and certain vowels | |||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | |||
| length 150 | |||
| ENDIF | |||
| FMT(vowel/V) | |||
| @@ -573,12 +558,17 @@ IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) | |||
| glstop | |||
| length 150 | |||
| ENDIF | |||
| // "dreje" [dR'aI@-_!] | |||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | |||
| length 300 | |||
| length 280 | |||
| ENDIF | |||
| // PB "drej" vs. "dreje" | |||
| IF thisPh(isWordEnd) THEN | |||
| length 140 | |||
| ENDIF | |||
| // "lejde" [l'aId@-_!], "lejder" [l'aIdV_!] | |||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN | |||
| length 190 | |||
| ENDIF | |||
| FMT(vdiph/ai) | |||
| endphoneme | |||
| @@ -591,7 +581,31 @@ phoneme l | |||
| liquid | |||
| lengthmod 7 | |||
| ChangePhoneme(l/3) | |||
| CALL base/l | |||
| // CALL base/l | |||
| endphoneme | |||
| phoneme l/3 // Replacement for [l/] | |||
| liquid | |||
| lengthmod 7 | |||
| IF nextPh(isVowel) THEN | |||
| // ChangePhoneme(l) | |||
| ENDIF | |||
| PrevVowelEndings | |||
| VowelEnding(l/l_@) | |||
| VowelEnding(l/l_a) | |||
| VowelEnding(l/l_e, -40) | |||
| VowelEnding(l/l_i, -70) | |||
| VowelEnding(l/l_o) | |||
| VowelEnding(l/l_u, -70) | |||
| EndSwitch | |||
| // IF nextPh(isLiquid) THEN | |||
| // FMT(l/_l) | |||
| // ENDIF | |||
| FMT(l/l_) | |||
| endphoneme | |||
| phoneme v // approximant, not fricative | |||
| @@ -604,7 +618,7 @@ phoneme r // used for 'r' after a vowel (to create a diphthong) | |||
| liquid | |||
| lengthmod 7 | |||
| ipa ɐ̯ | |||
| IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) THEN | |||
| IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN | |||
| ChangePhoneme(R) | |||
| ENDIF | |||
| FMT(r/a_) | |||
| @@ -663,6 +677,10 @@ phoneme t | |||
| IF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN | |||
| WAV(ustop/tr) | |||
| ENDIF | |||
| // "respekt" [REsp'Egd] | |||
| IF thisPh(isWordEnd) THEN | |||
| // ChangePhoneme(d) | |||
| ENDIF | |||
| WAV(ustop/t, 90) | |||
| endphoneme | |||
| @@ -674,7 +692,7 @@ phoneme j | |||
| NextVowelStarts | |||
| VowelStart(j/j@) | |||
| VowelStart(j/ja) | |||
| VowelStart(j/je,-40) | |||
| VowelStart(j/je,-35) | |||
| VowelStart(j/ji) | |||
| VowelStart(j/jo) | |||
| VowelStart(j/ju) | |||
| @@ -97,11 +97,8 @@ phoneme U | |||
| length 135 | |||
| ENDIF | |||
| IF nextPh(r) THEN | |||
| IF next2Ph(isVowel) THEN | |||
| ELSE | |||
| ChangePhoneme(UR) | |||
| ENDIF | |||
| IF nextPh(r) AND next2Ph(isNotVowel) THEN | |||
| ChangePhoneme(UR) | |||
| ENDIF | |||
| FMT(vowel/uu_2) | |||
| endphoneme | |||
| @@ -128,6 +125,10 @@ phoneme i: | |||
| IF prevPh(w) THEN | |||
| VowelStart(w/wi2) | |||
| ENDIF | |||
| IF nextPh(r) AND next2Ph(isNotVowel) THEN | |||
| ChangePhoneme(iR) | |||
| ENDIF | |||
| FMT(vowel/i_2) | |||
| endphoneme | |||
| @@ -341,41 +342,12 @@ endphoneme | |||
| // This version of [r] was used in eSpeak 1.44, but received complaints | |||
| phoneme r2 // uvular trill or fricative | |||
| vcd uvl frc | |||
| ipa ʀ | |||
| lengthmod 6 | |||
| length 110 | |||
| IF nextPhW(isVowel) THEN | |||
| FMT(r3/r_uvl) addWav(r3/r_uvl.wav, 50) | |||
| ELSE | |||
| IF prevPh(isFlag1) THEN | |||
| ChangePhoneme(NULL) // 'r' is already included in the previous vowel | |||
| ELSE | |||
| ChangePhoneme(V#) | |||
| ENDIF | |||
| ENDIF | |||
| endphoneme | |||
| phoneme V# // used for 'r' after a vowel (to create a diphthong) | |||
| liquid | |||
| lengthmod 7 | |||
| IF nextPhW(isVowel) THEN | |||
| ChangePhoneme(r) | |||
| ENDIF | |||
| ipa ɐ | |||
| IF prevPh(#a) OR prevPh(E) THEN | |||
| FMT(r/V_2_) | |||
| ENDIF | |||
| IF prevPh(#u) THEN | |||
| FMT(r/@_) | |||
| ENDIF | |||
| FMT(r/V_) | |||
| phoneme iR | |||
| vowel starttype #i endtype #@ | |||
| ipa iɐ | |||
| flag1 | |||
| length 180 | |||
| FMT(vdiph2/i@_2) | |||
| endphoneme | |||
| @@ -35,7 +35,7 @@ | |||
| #define mkdir(p1,p2) mkdir(p1) | |||
| #define PATHSEP '\\' | |||
| //#define USE_PORTAUDIO | |||
| #define USE_PORTAUDIO | |||
| //#define USE_NANOSLEEP | |||
| #define NO_VARIADIC_MACROS | |||
| #define __cdecl | |||
| @@ -35,7 +35,7 @@ | |||
| #define mkdir(p1,p2) mkdir(p1) | |||
| #define PATHSEP '\\' | |||
| //#define USE_PORTAUDIO | |||
| #define USE_PORTAUDIO | |||
| //#define USE_NANOSLEEP | |||
| #define NO_VARIADIC_MACROS | |||
| #define __cdecl | |||
| @@ -2,7 +2,7 @@ | |||
| [Setup] | |||
| AppName=eSpeak | |||
| AppVerName=eSpeak version 1.46.42 | |||
| AppVerName=eSpeak version 1.46.47 | |||
| AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | |||
| WindowVisible=yes | |||
| @@ -149,29 +149,34 @@ begin | |||
| $1c: Result := 'sq'; | |||
| $1d: Result := 'sv'; | |||
| $1f: Result := 'tr'; | |||
| //$20: Result := 'ur'; | |||
| $21: Result := 'id'; | |||
| $25: Result := 'et'; | |||
| //$26: Result := 'lv'; | |||
| $26: Result := 'lv'; | |||
| $27: Result := 'lt'; | |||
| $29: Result := 'fa'; | |||
| $2a: Result := 'vi'; | |||
| $2b: Result := 'hy'; | |||
| //$2c: Result := 'az'; | |||
| //$2d: Result := 'eu'; | |||
| $2f: Result := 'mk'; | |||
| $36: Result := 'af'; | |||
| $37: Result := 'kn'; | |||
| $39: Result := 'hi'; | |||
| //$3a: Result := 'mt'; | |||
| //$3c: Result := 'ga'; | |||
| $3c: Result := 'ga'; | |||
| //$3f: Result := 'kk'; | |||
| $41: Result := 'sw'; | |||
| //$44: Result := 'tt'; | |||
| $46: Result := 'pa'; | |||
| $49: Result := 'ta'; | |||
| $46: Result := 'pa'; | |||
| $4b: Result := 'kn'; | |||
| $4c: Result := 'ml'; | |||
| //$50: Result := 'mn'; | |||
| $52: Result := 'cy'; | |||
| //$5e: Result := 'am'; | |||
| //$61: Result := 'ne'; | |||
| $61: Result := 'ne'; | |||
| //$87: Result := 'rw'; | |||
| //$88: Result := 'wo'; | |||
| end; | |||
| @@ -618,7 +618,7 @@ int CTTSEngObj::ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW_st | |||
| sprintf(&cmdbuf[len],"%c%dF",CTRL_EMBEDDED,emphasis); | |||
| len += strlen(&cmdbuf[len]); | |||
| } | |||
| if(sayas != gSayas) | |||
| if((sayas != gSayas) || (sayas != 0)) | |||
| { | |||
| sprintf(&cmdbuf[len],"%c%dY",CTRL_EMBEDDED,sayas); | |||
| len += strlen(&cmdbuf[len]); | |||
| @@ -586,6 +586,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
| // return number of bytes used by the letter | |||
| // control bit 0: a non-initial letter in a word | |||
| // bit 1: say 'capital' | |||
| // bit 2: say character code for unknown letters | |||
| int n_bytes; | |||
| int letter; | |||
| @@ -743,7 +744,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
| } | |||
| } | |||
| if(!(control & 2) && (al_flags & AL_NOT_CODE)) | |||
| if(!(control & 4) && (al_flags & AL_NOT_CODE)) | |||
| { | |||
| // don't speak the character code number, unless we want full details of this character | |||
| speak_letter_number = 0; | |||
| @@ -339,7 +339,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
| ph = phoneme_tab[plist3->phcode]; | |||
| plist3[0].ph = ph; | |||
| if(plist3->phcode == phonSWITCH) | |||
| if((plist3->phcode == phonSWITCH) && !(plist3->synthflags & SFLAG_EMBEDDED)) // ?? phonSWITCH can't have SFLAG_EMBEDDED ?? | |||
| { | |||
| if((plist3[1].phcode == phonSWITCH) || ((plist3[1].type == phPAUSE) && (plist3[2].phcode == phonSWITCH))) | |||
| continue; // next phoneme is also a phonSWITCH, so ignore | |||
| @@ -51,7 +51,7 @@ | |||
| #endif | |||
| #ifdef _ESPEAKEDIT | |||
| // USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile | |||
| #define USE_PORTAUDIO | |||
| #define USE_ASYNC | |||
| #define LOG_FRAMES // write keyframe info to log-espeakedit | |||
| #endif | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.46.46 11.Mar.13"; | |||
| const char *version_string = "1.46.47 12.Mar.13"; | |||
| const int version_phdata = 0x014640; | |||
| int option_device_number = -1; | |||
| @@ -70,6 +70,7 @@ | |||
| #define OFFSET_ETHIOPIC 0x1200 | |||
| // character ranges must be listed in ascending order | |||
| ALPHABET alphabets [] = { | |||
| {"_el", OFFSET_GREEK, 0x380, 0x3ff, L('e','l'), AL_DONT_NAME | AL_NOT_LETTERS}, | |||
| {"_cyr", OFFSET_CYRILLIC, 0x400, 0x52f, 0, 0}, | |||
| @@ -97,6 +98,7 @@ ALPHABET alphabets [] = { | |||
| {"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | |||
| {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | |||
| {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | |||
| {"_ko", 0xa700, 0xa700,0xd7ff, 0, AL_NOT_CODE}, | |||
| {NULL, 0, 0, 0, 0, 0} | |||
| }; | |||
| @@ -108,9 +110,12 @@ ALPHABET *AlphabetFromChar(int c) | |||
| while(alphabet->name != NULL) | |||
| { | |||
| if((c >= alphabet->range_min) && (c <= alphabet->range_max)) | |||
| if(c <= alphabet->range_max) | |||
| { | |||
| return(alphabet); | |||
| if(c >= alphabet->range_min) | |||
| return(alphabet); | |||
| else | |||
| break; | |||
| } | |||
| alphabet++; | |||
| } | |||
| @@ -827,6 +832,7 @@ Translator *SelectTranslator(const char *name) | |||
| case L('h','i'): // Hindi | |||
| case L('n','e'): // Nepali | |||
| case L('p','a'): // Punjabi | |||
| case L('g','u'): // Gujarati | |||
| { | |||
| static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250}; | |||
| static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 }; | |||
| @@ -1543,7 +1549,7 @@ SetLengthMods(tr,3); // all equal | |||
| 0x1a1, 0x1edd, 0x1edb, 0x1edf, 0x1ee1, 0x1ee3, // ơ | |||
| 0x75, 0xf9, 0xfa, 0x1ee7, 0x169, 0x1ee5, // u | |||
| 0x1b0, 0x1eeb, 0x1ee9, 0x1eed, 0x1eef, 0x1ef1, // ư | |||
| 0x79, 0x1ef3, 0xfd, 0x1ef7, 0x1ef9, 0x1e, 0 }; // y | |||
| 0x79, 0x1ef3, 0xfd, 0x1ef7, 0x1ef9, 0x1ef5, 0 }; // y | |||
| SetupTranslator(tr,stress_lengths_vi,stress_amps_vi); | |||
| tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
| @@ -633,8 +633,10 @@ static char *SpeakIndividualLetters(Translator *tr, char *word, char *phonemes, | |||
| int capitals = 0; | |||
| int non_initial = 0; | |||
| if (spell_word > 2) | |||
| capitals = 2; | |||
| if(spell_word > 2) | |||
| capitals = 2; // speak 'capital' | |||
| if(spell_word > 1) | |||
| capitals |= 4; // speak charater code for unknown letters | |||
| while((*word != ' ') && (*word != 0)) | |||
| { | |||
| @@ -1109,7 +1111,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt | |||
| // change to another language in order to translate this word | |||
| strcpy(word_phonemes,unpron_phonemes); | |||
| if(strcmp(&unpron_phonemes[1],"en")==0) | |||
| return(FLAG_SPELLWORD); // _^_en must have been set in TranslateLetter(), not *_rules | |||
| return(FLAG_SPELLWORD); // _^_en must have been set in TranslateLetter(), not *_rules which uses only _^_ | |||
| return(0); | |||
| } | |||
| @@ -1774,6 +1776,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| word_flags = wtab[0].flags; | |||
| if(word_flags & FLAG_EMBEDDED) | |||
| { | |||
| wtab[0].flags &= ~FLAG_EMBEDDED; // clear it in case we call TranslateWord2() again for the same word | |||
| embedded_flag = SFLAG_EMBEDDED; | |||
| Word_EmbeddedCmd(); | |||
| @@ -2121,7 +2124,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| { | |||
| ph_list2[n_ph_list2].phcode = ph_code; | |||
| ph_list2[n_ph_list2].sourceix = 0; | |||
| ph_list2[n_ph_list2].synthflags = embedded_flag; | |||
| ph_list2[n_ph_list2].synthflags = 0; | |||
| ph_list2[n_ph_list2++].tone_ph = *p; | |||
| SelectPhonemeTable(*p); | |||
| p++; | |||
| @@ -23,7 +23,7 @@ | |||
| #define CTRL_EMBEDDED 0x01 // control character at the start of an embedded command | |||
| #define REPLACED_E 'E' // 'e' replaced by silent e | |||
| #define N_WORD_PHONEMES 160 // max phonemes in a word | |||
| #define N_WORD_PHONEMES 200 // max phonemes in a word | |||
| #define N_WORD_BYTES 160 // max bytes for the UTF8 characters in a word | |||
| #define N_CLAUSE_WORDS 300 // max words in a clause | |||
| #define N_RULE_GROUP2 120 // max num of two-letter rule chains | |||