lang=hu, ordinal number fixes --punct, changes to intonation of punctuation names. Add language option: don't stress second part of hyphenated words. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@230 d46cf337-b52f-0410-862d-fd96e6ae7743master
| (thaba nchu) tab'A:||ntSu | (thaba nchu) tab'A:||ntSu | ||||
| europa Y@r'o@pa | europa Y@r'o@pa | ||||
| nigel _^_EN | nigel _^_EN | ||||
| nineve nIn@fi | |||||
| outeniekwa @Ut@n'ikwa | outeniekwa @Ut@n'ikwa | ||||
| oxford _^_EN | oxford _^_EN | ||||
| pelindaba p&l@nd'A:ba | pelindaba p&l@nd'A:ba | ||||
| André 'andreI | André 'andreI | ||||
| annette an'Et | annette an'Et | ||||
| antoinette antun'Et | antoinette antun'Et | ||||
| aristoteles arist'o@t@lEs | |||||
| badenhorst bA:d@nhOrst | |||||
| barbara bA:b@ra | barbara bA:b@ra | ||||
| basson $2 | basson $2 | ||||
| bea bi:ja | bea bi:ja | ||||
| belcher _^_EN | |||||
| benade b@nA:di | benade b@nA:di | ||||
| benjamin bEndZ@m@n | benjamin bEndZ@m@n | ||||
| bennett bEn@t | bennett bEn@t | ||||
| beyers beI@rs | beyers beI@rs | ||||
| blignault blIx2n@Ut | blignault blIx2n@Ut | ||||
| blomerus blum'e@rWs | blomerus blum'e@rWs | ||||
| blum blum | |||||
| botha bo@ta | botha bo@ta | ||||
| bouwer b@U@r | bouwer b@U@r | ||||
| brian _^_EN | brian _^_EN | ||||
| bruwer bruw'&:r | bruwer bruw'&:r | ||||
| caesar siz@r | caesar siz@r | ||||
| carl kA:r@L | carl kA:r@L | ||||
| carol _^_EN | |||||
| casanova kasan'o@va | casanova kasan'o@va | ||||
| cecil sEs@l | cecil sEs@l | ||||
| cecile s@si:l | cecile s@si:l | ||||
| charlie tSA:li | charlie tSA:li | ||||
| charmaine SA:m'eI:n | charmaine SA:m'eI:n | ||||
| chopin S%OpA~ | chopin S%OpA~ | ||||
| clark _^_EN | |||||
| conradie $2 | conradie $2 | ||||
| chris krIs | chris krIs | ||||
| christo krIstu | christo krIstu | ||||
| cindy sIndi | cindy sIndi | ||||
| coetzee kuts'e@ | coetzee kuts'e@ | ||||
| cronjé krOnj'e@ | cronjé krOnj'e@ | ||||
| cussons kas@ns | |||||
| cynthia _^_EN | cynthia _^_EN | ||||
| dalene dal'e@n | dalene dal'e@n | ||||
| daniël d'A:ni:@l | |||||
| #zzz | |||||
| darwin _^_EN | darwin _^_EN | ||||
| daniël d'A:ni:@l | |||||
| david _^_EN | david _^_EN | ||||
| (da vinci) da||v'intSi | (da vinci) da||v'intSi | ||||
| debora d@bo@ra | debora d@bo@ra | ||||
| elsabe &ls@bi | elsabe &ls@bi | ||||
| elsabé &ls@bi | elsabé &ls@bi | ||||
| emmarentia Emar'e~nSja | emmarentia Emar'e~nSja | ||||
| engelbrecht EN@lbr&x2t | |||||
| erasmus $2 | erasmus $2 | ||||
| ernest _^_EN | ernest _^_EN | ||||
| esegiël is'e@x2i:@l | |||||
| esegiël is'e@x2i: @l | |||||
| estelle %ist&l | estelle %ist&l | ||||
| etienne Eti@n | etienne Eti@n | ||||
| eugene judZ'i:n | eugene judZ'i:n | ||||
| eugène yZ'En | eugène yZ'En | ||||
| farao fA:ro@ | farao fA:ro@ | ||||
| ferreira f@r&:r@ | ferreira f@r&:r@ | ||||
| filemon f'il@mOn | |||||
| filemon f'il@mOn | |||||
| fischer fiS@r | fischer fiS@r | ||||
| floris $1 | |||||
| fouché fuS'e@ | |||||
| fourie fur'i | fourie fur'i | ||||
| francina $2 | francina $2 | ||||
| francois franSwa | francois franSwa | ||||
| gerhard x2&rart | gerhard x2&rart | ||||
| gerhardus $2 | gerhardus $2 | ||||
| gertruida $2 | gertruida $2 | ||||
| gilbert _^_EN | |||||
| gloria glO:ria | gloria glO:ria | ||||
| grange x2rA:nsi | grange x2rA:nsi | ||||
| grové x2ruv'e@ | grové x2ruv'e@ | ||||
| isabel is@b&l | isabel is@b&l | ||||
| iskariot isk'ariOt | iskariot isk'ariOt | ||||
| jaco jaku | jaco jaku | ||||
| jacques ZA:k | |||||
| james _^_EN | james _^_EN | ||||
| jane _^_EN | jane _^_EN | ||||
| Jean ZA~n $capital | Jean ZA~n $capital | ||||
| jimmy _^_EN | jimmy _^_EN | ||||
| joan _^_EN | joan _^_EN | ||||
| joey dZ@Ui | joey dZ@Ui | ||||
| johl jo@l | |||||
| jones _^_EN | jones _^_EN | ||||
| jordaan $2 | jordaan $2 | ||||
| joris $1 | |||||
| josef jo@s@f | josef jo@s@f | ||||
| josephina jo@s@f'ina | |||||
| juanita juan'ita | juanita juan'ita | ||||
| julia _^_EN | julia _^_EN | ||||
| khayyam kaj'am | |||||
| kelvin _^_EN | kelvin _^_EN | ||||
| kim _^_EN $capital | kim _^_EN $capital | ||||
| krige krix2@ | krige krix2@ | ||||
| liesbet lisbEt | liesbet lisbEt | ||||
| louis luI | louis luI | ||||
| louise luw'i:z | louise luw'i:z | ||||
| lukas l'ukas | |||||
| mackintosh _^_EN | mackintosh _^_EN | ||||
| madelene mad@l'e@n | madelene mad@l'e@n | ||||
| mbeki mbE:ki | mbeki mbE:ki | ||||
| madelene mad@l'e@n | |||||
| magdalena $3 | magdalena $3 | ||||
| malan mal'an | malan mal'an | ||||
| malherbe mal'&rb@ | malherbe mal'&rb@ | ||||
| neil _^_EN | neil _^_EN | ||||
| nelson _^_EN | nelson _^_EN | ||||
| niklaas niklA:s | niklaas niklA:s | ||||
| olga Olga | |||||
| ontong OntON | ontong OntON | ||||
| phillips fIl@ps | phillips fIl@ps | ||||
| pierre p'e@r | pierre p'e@r | ||||
| petrus pe@trWs | petrus pe@trWs | ||||
| phoebe fi:bi | phoebe fi:bi | ||||
| picasso pik'asu | picasso pik'asu | ||||
| piketberg pik'Etb&rx2 | |||||
| pinokkio pin'Oki;u | |||||
| pretorius pr@to@riWs | |||||
| quixote kix2'OtE | quixote kix2'OtE | ||||
| rachmaninoff rax2m'aninOf | rachmaninoff rax2m'aninOf | ||||
| rademeyer rA:d@meI@r | rademeyer rA:d@meI@r | ||||
| rall rA:l | |||||
| rebekka r@bEka | rebekka r@bEka | ||||
| reinette r@nEt | reinette r@nEt | ||||
| renette r@nEt | renette r@nEt | ||||
| retha re@ta | retha re@ta | ||||
| retief r@tif | retief r@tif | ||||
| rhodes _^_EN | rhodes _^_EN | ||||
| riekert rik@rt | |||||
| robert _^_EN | robert _^_EN | ||||
| ronel run'&l | ronel run'&l | ||||
| rossouw r@s@U | rossouw r@s@U | ||||
| salomo sA:l@mo@ | salomo sA:l@mo@ | ||||
| samuel sA:my@l | samuel sA:my@l | ||||
| sandra sandra | sandra sandra | ||||
| sappho sapfu | |||||
| schalk sk'alk | schalk sk'alk | ||||
| scheepers ske@p@rs | scheepers ske@p@rs | ||||
| schmidt Smit | schmidt Smit | ||||
| sebastian s@bastian | sebastian s@bastian | ||||
| servaas s@rfA:s | servaas s@rfA:s | ||||
| shakespeare _^_EN | shakespeare _^_EN | ||||
| sheila Si:la | |||||
| sigmund sigmunt | sigmund sigmunt | ||||
| sophia suf'i:ja | sophia suf'i:ja | ||||
| sophie _^_EN | sophie _^_EN | ||||
| stephan ste@fan | stephan ste@fan | ||||
| stephanus st@fA:nWs | stephanus st@fA:nWs | ||||
| strauss straUs | strauss straUs | ||||
| stockenström stOk@nstro@m | |||||
| suzanne suz'A:n | suzanne suz'A:n | ||||
| suzette suz'Et | suzette suz'Et | ||||
| tania tanja | tania tanja | ||||
| terblanche t@rblA:nS | terblanche t@rblA:nS | ||||
| theo tiu | theo tiu | ||||
| theron tr'On | theron tr'On | ||||
| timotheus t@m'o@tiWs | |||||
| thessalonicense tEsalo@nis'E:ns@ | |||||
| thys teIs | thys teIs | ||||
| timotheus t@m'o@tiWs | |||||
| toerien $2 | toerien $2 | ||||
| totius to@SiWs | totius to@SiWs | ||||
| trudie trudi | trudie trudi | ||||
| violet _^_EN $capital | violet _^_EN $capital | ||||
| visagie fis'A:x2i | visagie fis'A:x2i | ||||
| william _^_EN | william _^_EN | ||||
| wilson _^_EN | |||||
| yolande jul'and@ | yolande jul'and@ | ||||
| yvonne iv'On | yvonne iv'On | ||||
| zyl seIl | zyl seIl | ||||
| naspers nasp&rs | naspers nasp&rs | ||||
| peugeot pW:Z@U | peugeot pW:Z@U | ||||
| (pick n pay) p,ik||@n||p'eI | (pick n pay) p,ik||@n||p'eI | ||||
| porsche pOrS@ | |||||
| port pOrt $1 | port pOrt $1 | ||||
| rover _^_EN | rover _^_EN | ||||
| sotho su:tu | sotho su:tu | ||||
| thessalonicense tEsalo@nis'Ens@ | |||||
| toyota $2 | toyota $2 | ||||
| venda vEnda | venda vEnda | ||||
| volvo vOlvu | volvo vOlvu | ||||
| wimpy wImpi | wimpy wImpi | ||||
| // some Bible names | |||||
| levitikus $2 | |||||
| deuteronomium dY@t@ro@n'o@miWm | |||||
| josua j'o@Sia | |||||
| jesaja $2 | |||||
| jeremia j%e@r@m'ia | |||||
| hosea hus'i:a | |||||
| amos 'A:mOs | |||||
| obadja o@b'atja | |||||
| miga m'ix2a | |||||
| habakuk h'abakWk | |||||
| sefanja s@f'anja | |||||
| sagaria sax2ar'ia | |||||
| maleagi $3 | |||||
| // Some Bible names | |||||
| amos 'A:mOs | |||||
| deuteronomium dY@t@ro@n'o@miWm | |||||
| habakuk h'abakWk | |||||
| hosea hus'i:a | |||||
| jeremia j%e@r@m'ia | |||||
| jesaja $2 | |||||
| josua j'o@Sia | |||||
| levitikus $2 | |||||
| maleagi $3 | |||||
| miga m'ix2a | |||||
| obadja o@b'atja | |||||
| sagaria sax2ar'ia | |||||
| sefanja s@f'anja | |||||
| // article | // article | ||||
| almiskie $3 | almiskie $3 | ||||
| alom al_'Om | alom al_'Om | ||||
| alreeds $2 | alreeds $2 | ||||
| alternatiewe $4 | |||||
| altemit $3 | |||||
| amelee am@le@ | amelee am@le@ | ||||
| amen A:mEn | amen A:mEn | ||||
| anale an'A:l@ | anale an'A:l@ | ||||
| casino kas'i:n@U | casino kas'i:n@U | ||||
| cedille s@dIl@ | cedille s@dIl@ | ||||
| charisma kar'Isma | charisma kar'Isma | ||||
| clichés kliS'eI:s | |||||
| cliché kliS'eI: | cliché kliS'eI: | ||||
| crescendo kr@SEndu | crescendo kr@SEndu | ||||
| dadelik dA:d@lIk | dadelik dA:d@lIk | ||||
| dagorde dax2_Ord@ | |||||
| darem dar@m | darem dar@m | ||||
| dekade dEk'A:d@ | dekade dEk'A:d@ | ||||
| dekreling dEkre@l@N | dekreling dEkre@l@N | ||||
| g'n x2In | g'n x2In | ||||
| gaandeweg x2A:nd@v&x2 | gaandeweg x2A:nd@v&x2 | ||||
| garages g@rA:dZ@s | garages g@rA:dZ@s | ||||
| gebrokener x2@bro@k@n@r | |||||
| gee x2e@ | gee x2e@ | ||||
| geen x2e@n | geen x2e@n | ||||
| geldelike x2&ld@l@k@ | geldelike x2&ld@l@k@ | ||||
| genade $2 | genade $2 | ||||
| genesis x2e@n@s@s | genesis x2e@n@s@s | ||||
| //gesamentlik x2@sA:m@ntl@k | //gesamentlik x2@sA:m@ntl@k | ||||
| gewellys x2e@v@lleIs | |||||
| gladiator x2ladi'A:tOr | gladiator x2ladi'A:tOr | ||||
| globale x2lo@b'A:l@ | globale x2lo@b'A:l@ | ||||
| gooi x2OI | gooi x2OI | ||||
| hanou hA:n@U | hanou hA:n@U | ||||
| hardop hart?Op | hardop hart?Op | ||||
| heeltemal he@lt@mal | heeltemal he@lt@mal | ||||
| heimat haImat | |||||
| hek h&k | hek h&k | ||||
| hekke h&k@ | hekke h&k@ | ||||
| helaas he@l'A:s | helaas he@l'A:s | ||||
| lokaas lOk_A:s | lokaas lOk_A:s | ||||
| londense lOnd@ns@ | londense lOnd@ns@ | ||||
| lord _^_EN | lord _^_EN | ||||
| luidop lYyt_Op | |||||
| macaroni makar'o@ni | macaroni makar'o@ni | ||||
| madame mad'A:m | madame mad'A:m | ||||
| namate $2 | namate $2 | ||||
| negeer n@x2e@r | negeer n@x2e@r | ||||
| negering n@x2e@r@N | negering n@x2e@r@N | ||||
| negester ne@x2@st&r | |||||
| netjies nE:icis | netjies nE:icis | ||||
| netjiese nEicis@ | netjiese nEicis@ | ||||
| netsowel nEtso@v&l | netsowel nEtso@v&l | ||||
| nikswerd nIksv&:rt | nikswerd nIksv&:rt | ||||
| nimmermeer $1 | nimmermeer $1 | ||||
| nirvana n@rvA:na | nirvana n@rvA:na | ||||
| nogeens nOx2_e@ns | |||||
| normale nOrm'A:l@ | normale nOrm'A:l@ | ||||
| numeri nWm@ri | numeri nWm@ri | ||||
| ongelyk $1 | ongelyk $1 | ||||
| ongemak $1 | ongemak $1 | ||||
| ongerief $1 | ongerief $1 | ||||
| ongeriefie $1 | |||||
| ongewens $1 | ongewens $1 | ||||
| ongewensde $3 | ongewensde $3 | ||||
| ongewoons $1 | ongewoons $1 | ||||
| parte $1 | parte $1 | ||||
| patos pA:tOs | patos pA:tOs | ||||
| patriotisme patri|ut'Ism@ | patriotisme patri|ut'Ism@ | ||||
| pedaledemping p@dA:l@dEmp@N | |||||
| penorent pEno@rEnt | penorent pEno@rEnt | ||||
| per p@r $only | per p@r $only | ||||
| persent p@rsEnt | persent p@rsEnt | ||||
| petite p@tit | petite p@tit | ||||
| pinotage pinut'A:Z | pinotage pinut'A:Z | ||||
| pirouette p@ru:'Et | pirouette p@ru:'Et | ||||
| plaasjaap plA:sjA:p | |||||
| plasenta plas'Enta | plasenta plas'Enta | ||||
| poinsettia pOIns'Etia | |||||
| primate $2 | primate $2 | ||||
| (pro forma) pro@||f'Orma | (pro forma) pro@||f'Orma | ||||
| retoriek r@tur'ik | retoriek r@tur'ik | ||||
| rimpeling rImp@l@N | rimpeling rImp@l@N | ||||
| rinkink $2 | rinkink $2 | ||||
| rondeel $2 | |||||
| rooipers roIp&:rs | rooipers roIp&:rs | ||||
| roterende rut'e@r@nd@ | roterende rut'e@r@nd@ | ||||
| rottenes rOt@nEs | rottenes rOt@nEs | ||||
| sonore sun'o@r@ | sonore sun'o@r@ | ||||
| sover so@f&r | sover so@f&r | ||||
| staccato $2 | staccato $2 | ||||
| sterwens st&rv@ns | |||||
| stilswye $1 | stilswye $1 | ||||
| subiet sWb'it | |||||
| suburbia sWb'Wrbija | suburbia sWb'Wrbija | ||||
| swangerswaar swaN@rswA:r | |||||
| tanga taNga | tanga taNga | ||||
| tango taNx2u | tango taNx2u | ||||
| verdere f&rd@r@ | verdere f&rd@r@ | ||||
| vererger f@r&rg@r | vererger f@r&rg@r | ||||
| ver f'&:r | ver f'&:r | ||||
| vereduifie fe@r@dYyfi | |||||
| verg f&rx2 | verg f&rx2 | ||||
| vergeleë f&:rx2@l,e@@ | vergeleë f&:rx2@l,e@@ | ||||
| vergete f@rx2e@t@ | vergete f@rx2e@t@ |
| adole (ssen %ad%o@l@ // fix stress and vowel sounds: adolessent/-e/-adolessensie | adole (ssen %ad%o@l@ // fix stress and vowel sounds: adolessent/-e/-adolessensie | ||||
| ad (vies %at // move default stress: advies/-brief/-komitee and many similar | ad (vies %at // move default stress: advies/-brief/-komitee and many similar | ||||
| af (gunstig %af // move default stress: afgunstig/-e | |||||
| C) agie A:x2i | C) agie A:x2i | ||||
| a (gitA %a // fix a sound: agitasie/(ge)agiteer | a (gitA %a // fix a sound: agitasie/(ge)agiteer | ||||
| agte (los %ax2t@ // move default stress: agtelosig/-e/-heid | |||||
| agte (losig %ax2t@ // move default stress: agtelosig/-e/-heid | |||||
| agter (dogt %ax2t@r // move default stress: agterdogtig and derivatives | agter (dogt %ax2t@r // move default stress: agterdogtig and derivatives | ||||
| agtereen (volg %ax2t@r_%e@n // move default stress: agtereenvolgend/-e/-ens | agtereen (volg %ax2t@r_%e@n // move default stress: agtereenvolgend/-e/-ens | ||||
| agter (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc. | agter (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc. | ||||
| @@@smokkel) ary %ar%eI // default stress: diamant-/drank-/dwelm-/goud-/kokaïensmokkelary, etc. | @@@smokkel) ary %ar%eI // default stress: diamant-/drank-/dwelm-/goud-/kokaïensmokkelary, etc. | ||||
| amarula %am%arul%a // fix stress and a sounds: amarula and compounds | amarula %am%arul%a // fix stress and a sounds: amarula and compounds | ||||
| a (ment %a // shorten a sound: perkament/testament and compounds | a (ment %a // shorten a sound: perkament/testament and compounds | ||||
| arends A:r@nts_ // fix e sound: arendsoog/-kloue/-nes | |||||
| argen (tA %arx2@n // move default stress: Argentinië/Argentyns/-e | argen (tA %arx2@n // move default stress: Argentinië/Argentyns/-e | ||||
| a (riA 'A: // akwarium/barium/estuarium/herbarium/seminaria | a (riA 'A: // akwarium/barium/estuarium/herbarium/seminaria | ||||
| a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties | a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties | ||||
| C%C) asie A:si // restore default stress: bok-/dikmelkkasie and similar | C%C) asie A:si // restore default stress: bok-/dikmelkkasie and similar | ||||
| oub) asie A:si // restore default stress: oubasie/-s | oub) asie A:si // restore default stress: oubasie/-s | ||||
| @form) asie A:si // restore default stress to compounds ending in -formasie: graniet-/grond-/rotsformasie, etc. | @form) asie A:si // restore default stress to compounds ending in -formasie: graniet-/grond-/rotsformasie, etc. | ||||
| gl) asie A:si // restore default stress: wyn-/sjampanjeglasie, etc. | |||||
| pl) asie A:s%i // restore default stress: gemeenplasies/gemeenskapsplasies and similar | pl) asie A:s%i // restore default stress: gemeenplasies/gemeenskapsplasies and similar | ||||
| Csp) asie A:s%i // restore default stress: vloer/kantoorspasie, etc. | Csp) asie A:s%i // restore default stress: vloer/kantoorspasie, etc. | ||||
| Cst) asie A:si // restore default stress: brandweer/spoorwegstasie and similar | Cst) asie A:si // restore default stress: brandweer/spoorwegstasie and similar | ||||
| _k) a (nA %a //kanon and others | _k) a (nA %a //kanon and others | ||||
| apart %apart // fix stress: (bus-/klein)apartheid | apart %apart // fix stress: (bus-/klein)apartheid | ||||
| aphro (dit %afr%u // fix stress and ph and o sounds: Aphrodite/-dities | |||||
| _) a (po %a // apollo/apostel | _) a (po %a // apollo/apostel | ||||
| apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe | apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe | ||||
| a (politi %A: // lengthen a sound: apolitiek/apolities/-e | a (politi %A: // lengthen a sound: apolitiek/apolities/-e | ||||
| ar (gaï %ar // move default stress: argaïes/-e | ar (gaï %ar // move default stress: argaïes/-e | ||||
| arge (tip %arx2@ // move default stress: argetipe/argetipies/-e | arge (tip %arx2@ // move default stress: argetipe/argetipies/-e | ||||
| ar (moedig %ar // move default stress: armoedig/-e/-heid | ar (moedig %ar // move default stress: armoedig/-e/-heid | ||||
| arm (salig %ar@-m // move default stress: armsalig/-e/-heid/-ste | |||||
| _) arte (ri %arte@ // fix stress and e sound: arterie/-ë/-s | _) arte (ri %arte@ // fix stress and e sound: arterie/-ë/-s | ||||
| _) asbes %asbEs // fix stress and e sound: asbes and many compounds | _) asbes %asbEs // fix stress and e sound: asbes and many compounds | ||||
| a (siel %a // shorten a sound and move default stress: asiel and compounds | a (siel %a // shorten a sound and move default stress: asiel and compounds | ||||
| _) afge (@P4 'afx2@ // stress on 1st slb | _) afge (@P4 'afx2@ // stress on 1st slb | ||||
| afgryslik %afx2reIsl@k // move default stress: afgryslik and derivatives vs. afgrys/-e | afgryslik %afx2reIsl@k // move default stress: afgryslik and derivatives vs. afgrys/-e | ||||
| af (hank %af // move default stress: afhanklik/-e/-heid, etc. | af (hank %af // move default stress: afhanklik/-e/-heid, etc. | ||||
| _) af (kerig %af // move stress: afkerig/-e/-heid | |||||
| _) af (komstig %af // move default stress: afkomstig | _) af (komstig %af // move default stress: afkomstig | ||||
| afrik (aan %afr%ik // exception to af prefix and move stress to end | afrik (aan %afr%ik // exception to af prefix and move stress to end | ||||
| afrikane (K %afr%ikA:n@ // move stress to end: Afrikaner and compounds | afrikane (K %afr%ikA:n@ // move stress to end: Afrikaner and compounds | ||||
| afrika A:frika //Stress and 1st a sound: Afrika and compounds: Afrikatale/-state... | afrika A:frika //Stress and 1st a sound: Afrika and compounds: Afrikatale/-state... | ||||
| afro (dit %afr%u // alternate spelling: Afrodite/-dities | |||||
| af (sigte %af // move default stress: afsigtelik/-e/-heid | af (sigte %af // move default stress: afsigtelik/-e/-heid | ||||
| af (skuw %af // move default stress: afskuwelik and derivatives vs afsku | af (skuw %af // move default stress: afskuwelik and derivatives vs afsku | ||||
| afsonderl %afsOn@rl // stress, avoid af_ prefix and -lik suffix: afsonderlik/-e/-heid | afsonderl %afsOn@rl // stress, avoid af_ prefix and -lik suffix: afsonderlik/-e/-heid | ||||
| afwesig %afve@s@x2 // to steer clear of pre- and suffixes | afwesig %afve@s@x2 // to steer clear of pre- and suffixes | ||||
| af (wagten %af // move default stress: afwagtend/-e | af (wagten %af // move default stress: afwagtend/-e | ||||
| agenda %ax2End%a // fix stress and 1st a sound: agenda/-s/-punt, etc. | agenda %ax2End%a // fix stress and 1st a sound: agenda/-s/-punt, etc. | ||||
| age (rend %ax2e@ // fix stress and vowel sounds: agerend/-e | |||||
| a (gonie %a // fix 1st a sound and move default stress: agonies/-e | a (gonie %a // fix 1st a sound and move default stress: agonies/-e | ||||
| agonie (_N %ax2%uni // move stress to end: agonie | agonie (_N %ax2%uni // move stress to end: agonie | ||||
| agter (bak %ax2t@r // fix stress: agterbaks/-e/-heid | agter (bak %ax2t@r // fix stress: agterbaks/-e/-heid | ||||
| aan (grensen %A:n // move default stress: aangrensend/-e | aan (grensen %A:n // move default stress: aangrensend/-e | ||||
| aan (grypend %A:n // fix stress: aangrypend/-e | aan (grypend %A:n // fix stress: aangrypend/-e | ||||
| aan (hangig %A:n // move default stress: aanhangig vs. aanhang | aan (hangig %A:n // move default stress: aanhangig vs. aanhang | ||||
| aan (hank %A:n // move default stress: aanhanklik/-e/-heid | |||||
| aan (houden %A:n // move default stress: aanhoudend/-e | aan (houden %A:n // move default stress: aanhoudend/-e | ||||
| aan (lok %A:n // move default stress: aanloklik/-heid | aan (lok %A:n // move default stress: aanloklik/-heid | ||||
| aan (lok_N A:n // restore default stress: aanlok | aan (lok_N A:n // restore default stress: aanlok | ||||
| bloed (stol bl%ut // move default stress: bloedstollend/-e | bloed (stol bl%ut // move default stress: bloedstollend/-e | ||||
| _) blo (kka bl%O // move default stress: blokkade/-s and compounds | _) blo (kka bl%O // move default stress: blokkade/-s and compounds | ||||
| _) blo (kkeer bl%O // move default stress: (ge)blokkeer/-der, etc. | _) blo (kkeer bl%O // move default stress: (ge)blokkeer/-der, etc. | ||||
| blom (akker blOm_ // fix O sound, pause: blomakker/-s and compounds | |||||
| blon (dine bl%On // move default stress: blondine/-s | blon (dine bl%On // move default stress: blondine/-s | ||||
| bly (moed bl%eI // move default stress: blymoedig/-e/-heid | bly (moed bl%eI // move default stress: blymoedig/-e/-heid | ||||
| bo (botie b%u // fix stress and 1st o sound: bobotie and compounds | bo (botie b%u // fix stress and 1st o sound: bobotie and compounds | ||||
| _) deli (ka d%El%i // delikaat/delikate | _) deli (ka d%El%i // delikaat/delikate | ||||
| delika (tess d%El%ik%a // move default stress: delikatesse/-s | delika (tess d%El%ik%a // move default stress: delikatesse/-s | ||||
| deli (rium d@lI // fix stress and vowel sounds: delirium and compounds | deli (rium d@lI // fix stress and vowel sounds: delirium and compounds | ||||
| delphinium d%&lfini;Wm // fix stress and ph sound: delphinium and compounds | |||||
| @) dend (er d@nd // beduidender/behoudender | @) dend (er d@nd // beduidender/behoudender | ||||
| _) den (dri d%En // dendriet/-e/dendrities/-e | _) den (dri d%En // dendriet/-e/dendrities/-e | ||||
| @C) derm (K d&r@-m // fix e sound of derm in compounds: nersdermklier/slukdermsiekte, etc. | @C) derm (K d&r@-m // fix e sound of derm in compounds: nersdermklier/slukdermsiekte, etc. | ||||
| @) dderd (_ d@rt // ontredderd, se rule: dd d | @) dderd (_ d@rt // ontredderd, se rule: dd d | ||||
| _) derge d&rx2@ // dergelik/-e | _) derge d&rx2@ // dergelik/-e | ||||
| @) de (rosie t_%e@ // fix e sound, pause: winderosie/tyderosie and similar | |||||
| desibel dEsib&l // fix vowel sounds: desibel/-s | desibel dEsib&l // fix vowel sounds: desibel/-s | ||||
| de (skun d%E //deskundig/e in compounds | de (skun d%E //deskundig/e in compounds | ||||
| _) des (po d%Es // move default stress: despoot/despote | _) des (po d%Es // move default stress: despoot/despote | ||||
| digi (ta d%ix2%i // move default stress: digitaal/digitale | digi (ta d%ix2%i // move default stress: digitaal/digitale | ||||
| di (gK dI // force default stress: GEDIG/-TE/digbundel/digvorm, etc. | di (gK dI // force default stress: GEDIG/-TE/digbundel/digvorm, etc. | ||||
| digtere (K d@x2t@rE // move default stress: digteres/-se | digtere (K d@x2t@rE // move default stress: digteres/-se | ||||
| dik (vell d@k // move default stress: dikvellig/-e/-heid | |||||
| dilemma d@lEma // dilemma and compounds | dilemma d@lEma // dilemma and compounds | ||||
| dimen (si d@mEn // fix stress and 1st i sound: (ontwikkelings)dimensie, etc./-dimensioneel/-ele | dimen (si d@mEn // fix stress and 1st i sound: (ontwikkelings)dimensie, etc./-dimensioneel/-ele | ||||
| di (namie d%i // move default stress: dinamies/-e | di (namie d%i // move default stress: dinamies/-e | ||||
| dis (koers d@s // move default stress: diskoers/-e | dis (koers d@s // move default stress: diskoers/-e | ||||
| diskre (s d@skrE // fix stress and e sound: diskresie/diskresionêre | diskre (s d@skrE // fix stress and e sound: diskresie/diskresionêre | ||||
| _) dis (kre d@s // move default stress: diskreet/-heid/-ste/diskrete | _) dis (kre d@s // move default stress: diskreet/-heid/-ste/diskrete | ||||
| _) dis (kussA d@s // move default stress: diskussie/-s/diskusseer | |||||
| dis (loja d@s // move default stress: dislojaal/-lojale/-lojaliteit | dis (loja d@s // move default stress: dislojaal/-lojale/-lojaliteit | ||||
| _) dis (oP3 d@s // disorganisasie/disoriënteer | _) dis (oP3 d@s // disorganisasie/disoriënteer | ||||
| dis (pu d@s // move default stress: dispuut/dispute | dis (pu d@s // move default stress: dispuut/dispute | ||||
| distro (fie d@str%u // fix stress and o sound: (spier)distrofie, etc. | distro (fie d@str%u // fix stress and o sound: (spier)distrofie, etc. | ||||
| divide (nd d@v@dE //dividende etc. | divide (nd d@v@dE //dividende etc. | ||||
| d (_N t // | |||||
| d (_ t // | |||||
| dj c // palatal stop | dj c // palatal stop | ||||
| _) dj dZ // regional: djy/djou/djulle, etc. | _) dj dZ // regional: djy/djou/djulle, etc. | ||||
| @) d (roos t // fix d sound: draadrooster/maand-/strand-/veldroos | @) d (roos t // fix d sound: draadrooster/maand-/strand-/veldroos | ||||
| @) d (rose_ t // fix d sound: maand-/strand-/veldrose | @) d (rose_ t // fix d sound: maand-/strand-/veldrose | ||||
| @) d (rosie t // fix d sound: maand-/strand-/veldrosie/-s | @) d (rosie t // fix d sound: maand-/strand-/veldrosie/-s | ||||
| _) drukke (ry dr%Wk@ // move default stress: drukkery and compounds | |||||
| @) d (t // drop d: breedte/handtekening/rondte/rondtrek... | @) d (t // drop d: breedte/handtekening/rondte/rondtrek... | ||||
| du (et d%u:w // fix stress and -ue-sound: (klavier)duet/-te, etc. | du (et d%u:w // fix stress and -ue-sound: (klavier)duet/-te, etc. | ||||
| @n) d (uit t_ // fix d sound and insert short break: enduit/handuit and similar | @n) d (uit t_ // fix d sound and insert short break: enduit/handuit and similar | ||||
| verby) dw dw // fix d sound: verbydwarrel/-dwaal/-dwing | |||||
| dwelm (_ dw&l@-m // fix d and e sounds in compounds like wonderdwelm | dwelm (_ dw&l@-m // fix d and e sounds in compounds like wonderdwelm | ||||
| dw (erg dw // fix d sound: tuindwerg/-e/-ie | dw (erg dw // fix d sound: tuindwerg/-e/-ie | ||||
| @) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e | @) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e | ||||
| CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand | CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand | ||||
| CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette | CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette | ||||
| blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese | blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese | ||||
| vreugd) e (C @ // fix e sound: vreugdefees/-klokkies/-lied/-tyd... | |||||
| vriend) e (C @ // fix e sound: vriendepaar/-woorde | |||||
| juwel) e (C @ // fix e sound: juwelekissie and similar compounds | juwel) e (C @ // fix e sound: juwelekissie and similar compounds | ||||
| fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc. | fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc. | ||||
| kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar | kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar | ||||
| naald) e (C @ // fix e sound: naaldekoker/-kussing/-werk, etc. | naald) e (C @ // fix e sound: naaldekoker/-kussing/-werk, etc. | ||||
| noord) e (C @ // fix e sound: noordewind and compounds | noord) e (C @ // fix e sound: noordewind and compounds | ||||
| Colw) e (C @ // fix e sound: golweslag/wolwedans | Colw) e (C @ // fix e sound: golweslag/wolwedans | ||||
| bolw) e (rk_ & // exception to above: fix e sound: bolwerk and compounds | |||||
| ros) e (CA @ // fix e sound: rosegeur/roseweg | ros) e (CA @ // fix e sound: rosegeur/roseweg | ||||
| slang) e (C @ // fix e sound: slangebesweerder/-diens/-draer/-gebroedsel/-kuil/-teelt | slang) e (C @ // fix e sound: slangebesweerder/-diens/-draer/-gebroedsel/-kuil/-teelt | ||||
| speld) e (C @ // fix e sound: speldekop/-kussing/-punt, etc. | speld) e (C @ // fix e sound: speldekop/-kussing/-punt, etc. | ||||
| ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc. | ||||
| Cv) eer e@r // stress: (hoender/volstruisveer/dryfveer | Cv) eer e@r // stress: (hoender/volstruisveer/dryfveer | ||||
| AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer | AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer | ||||
| Cev) eer e@r // restore default stress: duiwe-/haneveer | |||||
| w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer | w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer | ||||
| u) eer 'e@r // aktueer/konstrueer/salueer, etc. | u) eer 'e@r // aktueer/konstrueer/salueer, etc. | ||||
| @) eerdheid 'e@rtheIt // fix stress: geraffineerdheid/ongedissiplineerdheid, etc. | |||||
| effek (K %ifEk // move default stress and fix e sound: effek/-te/-tief/rimpeleffek | effek (K %ifEk // move default stress and fix e sound: effek/-te/-tief/rimpeleffek | ||||
| eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste | eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste | ||||
| @) ein (dig 'eIn // nimmereindige/nimmereindigend | @) ein (dig 'eIn // nimmereindige/nimmereindigend | ||||
| C) ema (_ e@ma // words ending in ema: compounds of skema/tema | C) ema (_ e@ma // words ending in ema: compounds of skema/tema | ||||
| emfi (seem %Emf%i // move default stress: emfiseem and compounds | emfi (seem %Emf%i // move default stress: emfiseem and compounds | ||||
| C) enaar @nA:r // eienaar/lessenaar | C) enaar @nA:r // eienaar/lessenaar | ||||
| C) enare (_ @nA:r@ // fix e sound: towenare and similar | |||||
| C) enier @n'i:r // kruidenier/spysenier/valkenier/Renier | C) enier @n'i:r // kruidenier/spysenier/valkenier/Renier | ||||
| C) enheid @nheIt // opgewondenheid/bedorwenheid and many similar | C) enheid @nheIt // opgewondenheid/bedorwenheid and many similar | ||||
| _) enorm e@n'Or@_m // enorm/-s, pronunc. of rm | _) enorm e@n'Or@_m // enorm/-s, pronunc. of rm | ||||
| e (gK & | e (gK & | ||||
| @C) e (groep @ // fix e sound: beelde-/vriendegroep | @C) e (groep @ // fix e sound: beelde-/vriendegroep | ||||
| _) ega (l %e@x2A: // stress: egalig/-e | _) ega (l %e@x2A: // stress: egalig/-e | ||||
| egosentrie %e@x2%usEntri // fix stress and o sound: egosentries/-e | |||||
| _) e (gipt %e@ // move default stress: Egipte/Egiptenaar/Egipties | _) e (gipt %e@ // move default stress: Egipte/Egiptenaar/Egipties | ||||
| C) ektomie 'Ektumi // histerektomie/vasektomie | C) ektomie 'Ektumi // histerektomie/vasektomie | ||||
| &) elik (ing @l@k // verduideliking/s/vergoddeliking/verstedeliking | &) elik (ing @l@k // verduideliking/s/vergoddeliking/verstedeliking | ||||
| ff) er (@ @r // keffertjie/koffersleutel/offerande/opoffering | ff) er (@ @r // keffertjie/koffersleutel/offerande/opoffering | ||||
| stoff) er (A 'e@r // exception to rule: ff) er (@ @ | stoff) er (A 'e@r // exception to rule: ff) er (@ @ | ||||
| C) eres @r'Es // ...onderwyseres | C) eres @r'Es // ...onderwyseres | ||||
| @dans) ere (K @rE // fix stress: beroeps-/waaierdanseres/-se/-sie, etc. | |||||
| C) eress @r'Es // onderwyseresse/-sie | C) eress @r'Es // onderwyseresse/-sie | ||||
| &) e (m_ @ | &) e (m_ @ | ||||
| &l) e (m_ E // compounds ending in lem | &l) e (m_ E // compounds ending in lem | ||||
| _rasp) e (r @ // fix e sound in rasper- compounds: raspertong/-vyl, etc./rasperend | _rasp) e (r @ // fix e sound in rasper- compounds: raspertong/-vyl, etc./rasperend | ||||
| werp) e (rsA @ // fix e sound: ontwerpersolie/-sonbril/-uitrusting | werp) e (rsA @ // fix e sound: ontwerpersolie/-sonbril/-uitrusting | ||||
| lew) e (ns @ | lew) e (ns @ | ||||
| &d) e (r@+ @ // not initial or final syllable | |||||
| &d) e (r@++ @ // not initial or final syllable | |||||
| skuld) erke _&rkE // fix e sound: skulderkentennis/-erkenning | skuld) erke _&rkE // fix e sound: skulderkentennis/-erkenning | ||||
| @C) e (reë @ // fix e sound: geelperskereën/tropereën, etc. | @C) e (reë @ // fix e sound: geelperskereën/tropereën, etc. | ||||
| @d) e (rnst+ & // but fix e sound in doodernstig/-e | |||||
| @d) e (rnst++ & // but fix e sound in doodernstig/-e | |||||
| &t) e (r@ @ | &t) e (r@ @ | ||||
| Cit) e (ring e@ // fix final e sound in compounds like begrotingsmonitering | Cit) e (ring e@ // fix final e sound in compounds like begrotingsmonitering | ||||
| iënt) e (r@n e@ // fix e sound: lewensoriëntering/-rende | iënt) e (r@n e@ // fix e sound: lewensoriëntering/-rende | ||||
| _) este (t %Este@ // fix stress and vowel sounds: esteties/-e/estetika | _) este (t %Este@ // fix stress and vowel sounds: esteties/-e/estetika | ||||
| hip) e (r @ | hip) e (r @ | ||||
| _) er (b &r' // erbarm/ing | _) er (b &r' // erbarm/ing | ||||
| erke (n %&rkE // fix stress and e sounds: erken/-ning/(self)erkende | |||||
| erke (n+ %&rkE // fix stress and e sounds: erken/-ning/(self)erkende | |||||
| m) erke (nd &rk@ // kenmerkend/-e | m) erke (nd &rk@ // kenmerkend/-e | ||||
| p) erke (nd &rk@ // beperkend/-e | p) erke (nd &rk@ // beperkend/-e | ||||
| w) erke (nd &rk@ // (mede/terug)werkend/-e | w) erke (nd &rk@ // (mede/terug)werkend/-e | ||||
| elaar @lA:r //wandelaar, twyfelaar etc. | elaar @lA:r //wandelaar, twyfelaar etc. | ||||
| oord) elaar e@lA:r //beoordelaar and oordelaar/friends | oord) elaar e@lA:r //beoordelaar and oordelaar/friends | ||||
| C) ewel (A e@v@l // prewelend/wrewelig/newelig/beneweling | C) ewel (A e@v@l // prewelend/wrewelig/newelig/beneweling | ||||
| ewewig (tig %e@v@vIx2 // move default stress: ewewigtig/-e | |||||
| d) e (mons E% | d) e (mons E% | ||||
| r) e (digering E | r) e (digering E | ||||
| som) e (r @ //someraand and others. | som) e (r @ //someraand and others. | ||||
| Ceuw) e (l @ //gesneuwelde heuwelhang etc. | Ceuw) e (l @ //gesneuwelde heuwelhang etc. | ||||
| v) e (nno@+ @ //vennoot and friends | v) e (nno@+ @ //vennoot and friends | ||||
| _) euro (pe %Y@r%o@ // stress: Europees/Europese | _) euro (pe %Y@r%o@ // stress: Europees/Europese | ||||
| ev (entue %iv // fix e and v sounds: eventueel/-ele | |||||
| _) ewe (red %e@v@ // move default stress: (on)eweredig/-e/-heid | _) ewe (red %e@v@ // move default stress: (on)eweredig/-e/-heid | ||||
| ex (+ _^_EN // words containing ex are English | ex (+ _^_EN // words containing ex are English | ||||
| al) ex (and %Ekz //alexanderbaai, alexandria etc. | al) ex (and %Ekz //alexanderbaai, alexandria etc. | ||||
| _) fok (o fOk_ // fix o sound, insert short break: fokop/fokof | _) fok (o fOk_ // fix o sound, insert short break: fokop/fokof | ||||
| folio fo@li_u // fix o sounds: folio and compounds | folio fo@li_u // fix o sounds: folio and compounds | ||||
| fondue f%Ondy // fix stress and ue sound: fondue and compounds | fondue f%Ondy // fix stress and ue sound: fondue and compounds | ||||
| fone (tiek f%o@n@ // fix e sound: fonetiek and compounds | |||||
| fone (tie f%une@ // fix stress and o sound: foneties/-e | |||||
| @) fonie fun'i // kakofonie/simfonieorkes/telefonie | @) fonie fun'i // kakofonie/simfonieorkes/telefonie | ||||
| @) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies | @) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies | ||||
| @) fonie (s@@ fun'i // fix stress: simfonieseisoen and similar | @) fonie (s@@ fun'i // fix stress: simfonieseisoen and similar | ||||
| gim (naK x2@m // move default stress: gimnas/-te | gim (naK x2@m // move default stress: gimnas/-te | ||||
| gimna (siA x2@mnA: // move default stress and lenghthen a sound: gimnasium/gimnasia | gimna (siA x2@mnA: // move default stress and lenghthen a sound: gimnasium/gimnasia | ||||
| glans x2lans // glans not nasalised: glans/-ende/-papier, etc. | glans x2lans // glans not nasalised: glans/-ende/-papier, etc. | ||||
| glas (a x2las_ // shorten a sound, short pause: glasafskorting/-albaster/-apparaat... | |||||
| glas (o x2las_ // fix a sound and short break: glasoog/-ogie/-oë/-opaal/-oppervlakte | glas (o x2las_ // fix a sound and short break: glasoog/-ogie/-oë/-opaal/-oppervlakte | ||||
| gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc. | gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc. | ||||
| glise (rien gl@s@ // fix stress and g and vowel sounds: gliserien(-salf/-suur) | glise (rien gl@s@ // fix stress and g and vowel sounds: gliserien(-salf/-suur) | ||||
| bur) ger g@r | bur) ger g@r | ||||
| gee (+ x2e@ | gee (+ x2e@ | ||||
| geër (_ x2e@@r // oorgeër/pasaangeër | geër (_ x2e@@r // oorgeër/pasaangeër | ||||
| gees (drift x2%e@s // move default stress: geesdriftig and derivatives | |||||
| gees (drifti x2%e@s // move default stress: geesdriftig and derivatives | |||||
| @) gegee =x2@x2e@ | @) gegee =x2@x2e@ | ||||
| gegewens x2@x2e@v@ns // fix e sounds in many compounds: agtergrond-/fossielgegewens/-versameling | gegewens x2@x2e@v@ns // fix e sounds in many compounds: agtergrond-/fossielgegewens/-versameling | ||||
| gei (+ x2eI // geil and derivatives/geiser/geit/-e | gei (+ x2eI // geil and derivatives/geiser/geit/-e | ||||
| .group h | .group h | ||||
| h h | h h | ||||
| h (h | h (h | ||||
| _) half (geP4 h'alf // fix e sound in halfgetem(de), etc. | |||||
| half (kro@ h%alf // move default stress: halfkroon/halfkrone | half (kro@ h%alf // move default stress: halfkroon/halfkrone | ||||
| half (een h%alf_ // move default stress in this and following time expressions: halfeen/-vergadering | half (een h%alf_ // move default stress in this and following time expressions: halfeen/-vergadering | ||||
| half (twee h%alf | half (twee h%alf | ||||
| hard (ste hart // restore default stress: (ge)hardste/-s | hard (ste hart // restore default stress: (ge)hardste/-s | ||||
| harle (kyn h%arl@ // fix stress and e sound: harlekyn/-e and compounds | harle (kyn h%arl@ // fix stress and e sound: harlekyn/-e and compounds | ||||
| harmo (nie h%arm%u // fix stress and o sound: harmonie/-ë | harmo (nie h%arm%u // fix stress and o sound: harmonie/-ë | ||||
| harmonies harm'o@nis // fix stress (dis-/en-/fil-)harmonies/-e | |||||
| har (poen h%ar // move default stress: harpoen/-e and compounds | har (poen h%ar // move default stress: harpoen/-e and compounds | ||||
| @) hartig h'art@x2 // barmhartig/lighartigheid/lighartig... | @) hartig h'art@x2 // barmhartig/lighartigheid/lighartig... | ||||
| hart (roer h%art // move default stress: hartroerend/-e/-ste | hart (roer h%art // move default stress: hartroerend/-e/-ste | ||||
| &) hede (_ he@d@ | &) hede (_ he@d@ | ||||
| he (g h& | he (g h& | ||||
| heid (_S4 heIt | heid (_S4 heIt | ||||
| herinner h&r'In@r // herinner/-ing/-e|s | |||||
| herinner h%&rIn@r // herinner/-ing/-e|s | |||||
| hetero (@@P6 h%Et@-r%u // fix stress and vowel sounds: many compounds: heteroseksueel/-ele/-aliteit, etc. | hetero (@@P6 h%Et@-r%u // fix stress and vowel sounds: many compounds: heteroseksueel/-ele/-aliteit, etc. | ||||
| hex (C hEks // prevent English translation: Hex(rivier)vallei | hex (C hEks // prevent English translation: Hex(rivier)vallei | ||||
| hia (sint h%ij%a // fix stress: hiasint/-e and compounds | hia (sint h%ij%a // fix stress: hiasint/-e and compounds | ||||
| iber (i@ %ibe@r // Siberië/Siberiese/Iberiese | iber (i@ %ibe@r // Siberië/Siberiese/Iberiese | ||||
| @) ic (_ _^_EN // Words ending in -ic are English | @) ic (_ _^_EN // Words ending in -ic are English | ||||
| ie i | ie i | ||||
| tr) ie (_ 'i //stress on trie at word end | |||||
| tr) ie (_N 'i //stress on trie at word end | |||||
| ieë (K i:@ // knieë/vlieë/spieël/-tjie | ieë (K i:@ // knieë/vlieë/spieël/-tjie | ||||
| ie (uu i // split ie/uu, eu not diphthong: drieuur and similar | ie (uu i // split ie/uu, eu not diphthong: drieuur and similar | ||||
| ss) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc. | ss) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc. | ||||
| j j | j j | ||||
| j (j | j (j | ||||
| ja (broer jA: // fix a sound: jabroer/-s | ja (broer jA: // fix a sound: jabroer/-s | ||||
| _) jack _^_EN // English: Jack/-ie/-son | |||||
| _) jag (A j''ax2_ // fix stress and a sound: jagavontuur/-ekspedisie/-entoesias/-eskader/-instink... | _) jag (A j''ax2_ // fix stress and a sound: jagavontuur/-ekspedisie/-entoesias/-eskader/-instink... | ||||
| jag (end jA:x2 // but long a in jagend/-e and compounds | jag (end jA:x2 // but long a in jagend/-e and compounds | ||||
| jag (er jA:x2 // long a in jager and compounds | jag (er jA:x2 // long a in jager and compounds | ||||
| klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie | klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie | ||||
| klou (sule kl%@U // move default stress: klousule/-s | klou (sule kl%@U // move default stress: klousule/-s | ||||
| kklere =kl'e@r@ | kklere =kl'e@r@ | ||||
| kners (_ kn&rs // fix e sound: blikners/tande(ge)kners, etc. | |||||
| knip (A knIp? // knipogie/geknipoog/ | knip (A knIp? // knipogie/geknipoog/ | ||||
| _) krag (A kr''ax2_ // kragaanleg/-eenheid/-installasie/-onderbreking/-opwekker | _) krag (A kr''ax2_ // kragaanleg/-eenheid/-installasie/-onderbreking/-opwekker | ||||
| kra (gie krA: // but: kragie/-s | kra (gie krA: // but: kragie/-s | ||||
| kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds | kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds | ||||
| _) kre (o kr%i // fix stress and e sound: Kreool/Kreole/Kreoolse | _) kre (o kr%i // fix stress and e sound: Kreool/Kreole/Kreoolse | ||||
| _) kre (pe@ kr@ // fix stress and 1ste sound: krepeer/-krepering | _) kre (pe@ kr@ // fix stress and 1ste sound: krepeer/-krepering | ||||
| kriewe (l kriv@ // fix e sound: kriewelend/kriewelkous/-krapper/-siekte... | |||||
| krimi (nA kr@m@' // krimineel/kriminele/diskrimineer | krimi (nA kr@m@' // krimineel/kriminele/diskrimineer | ||||
| kri (oel kr%i // move default stress: krioel and derivatives | kri (oel kr%i // move default stress: krioel and derivatives | ||||
| kri (sant kr@ // move default stress: krisant/-e | kri (sant kr@ // move default stress: krisant/-e | ||||
| _) kontras k%Ontras // move default stress: kontras/-te/kontrasteer | _) kontras k%Ontras // move default stress: kontras/-te/kontrasteer | ||||
| kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives | kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives | ||||
| kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel | kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel | ||||
| _) kop (o kOp? // fix o sound: koponder/koponderstebo/kopomdraai/kopoperasie | |||||
| kop (o kOp? // fix o sound: koponderstebo/kopomdraai/kopoperasie/gryskoponderwyser/poenskopolifant | |||||
| kopu (lA k%Op%y // fix o sound: kopulasie/kopuleer and derivatives | kopu (lA k%Op%y // fix o sound: kopulasie/kopuleer and derivatives | ||||
| _) kor (dA k%Or // kordaat/kordon | _) kor (dA k%Or // kordaat/kordon | ||||
| ko (rint k%u // fix stress and o sound: korint/-e and compounds | ko (rint k%u // fix stress and o sound: korint/-e and compounds | ||||
| ma (kriel m%a // move default stress: makriel/-e | ma (kriel m%a // move default stress: makriel/-e | ||||
| maksi (ma@ m%aks%i // move default stress: maksimaal/-male | maksi (ma@ m%aks%i // move default stress: maksimaal/-male | ||||
| &) mal (_S3 mal | &) mal (_S3 mal | ||||
| mala (giet m%al%a // fix stress and a sounds: malagiet and compounds | |||||
| malaria mal'A:ria | malaria mal'A:ria | ||||
| mal (gas m%al // move default stress: Malgas/-se/-sies | mal (gas m%al // move default stress: Malgas/-se/-sies | ||||
| malles (_ mal@s // fix e sound: (mags)malles and similar | malles (_ mal@s // fix e sound: (mags)malles and similar | ||||
| marmer marm@r_ // fix e sound: marmerbeeld/-blad and many others | marmer marm@r_ // fix e sound: marmerbeeld/-blad and many others | ||||
| marmo (set m%arm%u // fix stress and o sound: marmoset/-te | marmo (set m%arm%u // fix stress and o sound: marmoset/-te | ||||
| mar (sje m%ar // move default stress: marsjeer and derivatives | mar (sje m%ar // move default stress: marsjeer and derivatives | ||||
| mas (biek m%as // move default stress: masbieker/-s | |||||
| ma s (biek m%as // move default stress: masbieker/-s | |||||
| masjien m@Sin // masjien and many compounds | masjien m@Sin // masjien and many compounds | ||||
| masji (na@ m%aS%i // move default stress: masjinaal/-ale | |||||
| maskara m%askA:r%a // move default stress: maskara and compounds | maskara m%askA:r%a // move default stress: maskara and compounds | ||||
| masker mask@r // fix e sound: maskerafdruk/-agtig/ontmaskering | masker mask@r // fix e sound: maskerafdruk/-agtig/ontmaskering | ||||
| masker (ade m%ask@r // move default stress: maskerade/-s | masker (ade m%ask@r // move default stress: maskerade/-s | ||||
| maso (chis m%as%u // fix vowel sounds: masochis/-te/-ties/-e/-isme | maso (chis m%as%u // fix vowel sounds: masochis/-te/-ties/-e/-isme | ||||
| mastekto (m m%astEkt%u // fix stress and vowel sounds: mastektomie and compounds | mastekto (m m%astEkt%u // fix stress and vowel sounds: mastektomie and compounds | ||||
| mate (matie m%at@ // fix vowel sounds: matematies/-e | |||||
| matemati (CA m%at@m%at%i // fix stress and vowel sounds: matematikus/-ci | matemati (CA m%at@m%at%i // fix stress and vowel sounds: matematikus/-ci | ||||
| materi (A@ m%at%e@r%i // materiaal/materiale/materiële/materieel | materi (A@ m%at%e@r%i // materiaal/materiale/materiële/materieel | ||||
| materie (+ m%ate@r%i // stress and vowel sounds: materie and many compounds | materie (+ m%ate@r%i // stress and vowel sounds: materie and many compounds | ||||
| midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend | midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend | ||||
| middel (jari m@d@l // move default stress: middeljarig and derivatives | middel (jari m@d@l // move default stress: middeljarig and derivatives | ||||
| middelli (k mId@l@ // drop one l: (on)middellik/-e | middelli (k mId@l@ // drop one l: (on)middellik/-e | ||||
| milieu m@ljy // fix stress and vowel sounds: milieu and compounds | |||||
| milit m@l@t // militêr/militaris | milit m@l@t // militêr/militaris | ||||
| mil (jA m@l // move default stress: miljoen/-e/miljard/-e | mil (jA m@l // move default stress: miljoen/-e/miljard/-e | ||||
| mille (nniA m@lE // millennium/millennia | mille (nniA m@lE // millennium/millennia | ||||
| mis (gis m@s // stress on 2nd slb | mis (gis m@s // stress on 2nd slb | ||||
| mis (gun m@s // stress on 2nd slb | mis (gun m@s // stress on 2nd slb | ||||
| mis (ha m@s // mishandel/mishaag | mis (ha m@s // mishandel/mishaag | ||||
| _) mis (inP3 m@s // fix 1st i sound, pause: misinterpretasie/misinterpreteer | |||||
| miske (n m@skE // misken/ning/onmiskenbaar | miske (n m@skE // misken/ning/onmiskenbaar | ||||
| mis (l m@s // misluk/mislei | mis (l m@s // misluk/mislei | ||||
| mis (lamp mIs // restore default stress: mislamp/-e | mis (lamp mIs // restore default stress: mislamp/-e | ||||
| mosam (biek m%o@s%am // move default stress: Mosambiek/-er/-se | mosam (biek m%o@s%am // move default stress: Mosambiek/-er/-se | ||||
| mosa (ïek m%o@s%a // move default stress: mosaïek and compounds | mosa (ïek m%o@s%a // move default stress: mosaïek and compounds | ||||
| mo (skee m%O // move default stress: moskee/-s and compounds | mo (skee m%O // move default stress: moskee/-s and compounds | ||||
| motie (C m%o@ti // handle stress: winsmotief/-tiewe and similar compounds | |||||
| motor mo@t@r // motorfiets/motorkar/vragmotor | motor mo@t@r // motorfiets/motorkar/vragmotor | ||||
| motor (ie m%uto@r // fix stress and o sounds: motories/-e | motor (ie m%uto@r // fix stress and o sounds: motories/-e | ||||
| @) mpel (A mp@l // bewimpeling/dompelaar/strompeling | @) mpel (A mp@l // bewimpeling/dompelaar/strompeling | ||||
| ment m'Ent | ment m'Ent | ||||
| mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds | mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds | ||||
| mentjie m'EiNci // monumentjie/dokumentjies | mentjie m'EiNci // monumentjie/dokumentjies | ||||
| menue (t m%En%y:;E // fix stress and vowel sounds: menuet/-te | |||||
| @C) mere (_ me@:r@ // fix penultimate e sound: sout(water)-/strandmere | @C) mere (_ me@:r@ // fix penultimate e sound: sout(water)-/strandmere | ||||
| me (riete m@ // move default stress: meriete and compounds | me (riete m@ // move default stress: meriete and compounds | ||||
| merino m@rin%u // fix stress and vowel sounds: merino/-skaap/-ram, etc. | merino m@rin%u // fix stress and vowel sounds: merino/-skaap/-ram, etc. | ||||
| oe) n (g n //soengroet, pensioengewend etc. | oe) n (g n //soengroet, pensioengewend etc. | ||||
| nuanse (K n%yans@ // move default stress: nuanse/-s and compounds | nuanse (K n%yans@ // move default stress: nuanse/-s and compounds | ||||
| nuan (seer n%y%an // fix stress: (ge)nuanseer/-d | nuan (seer n%y%an // fix stress: (ge)nuanseer/-d | ||||
| nuanse (ring n%y%anse@ // fix stress: nuansering and compounds | |||||
| nuus (kierig n%ys // move default stress: nuuskierig/-heid | nuus (kierig n%ys // move default stress: nuuskierig/-heid | ||||
| nuwer (wet n%yv@r // move default stress: nuwerwets/-e | nuwer (wet n%yv@r // move default stress: nuwerwets/-e | ||||
| @Cer) ny (_ n'eI // move default stress: lekkerny/raserny/slawerny | @Cer) ny (_ n'eI // move default stress: lekkerny/raserny/slawerny | ||||
| oase %u_A:s@ // oase/-s and compounds | oase %u_A:s@ // oase/-s and compounds | ||||
| o (terap u // psigo-/fisioterapeut | o (terap u // psigo-/fisioterapeut | ||||
| _) ob (s %Op // obskuur/obskure/obskuriteit/obsessie/obseen | _) ob (s %Op // obskuur/obskure/obskuriteit/obsessie/obseen | ||||
| obser (veer %Ops%&r // fix stress, b sound: (ge)observeer(d/-e) | |||||
| C) o (dium o@ // fix stress and o sound: jodium/podium/rodium and their compounds | C) o (dium o@ // fix stress and o sound: jodium/podium/rodium and their compounds | ||||
| oefen uf@n// oefenbroekie/oefeningboek/liggaamsoefeninge | oefen uf@n// oefenbroekie/oefeningboek/liggaamsoefeninge | ||||
| t) oeke (n uk%E // fix e sound: toeken/-ning/kuns-/watertoekenning | t) oeke (n uk%E // fix e sound: toeken/-ning/kuns-/watertoekenning | ||||
| odjie OIci | odjie OIci | ||||
| otjie OIci | otjie OIci | ||||
| offi (sier %Of@ // move default stress: offisier and compounds | offi (sier %Of@ // move default stress: offisier and compounds | ||||
| offisi %Of%iS%i; | |||||
| ofiel uf'il // franko-/hemo-/nekro-/pedo-/russofiel, etc. | ofiel uf'il // franko-/hemo-/nekro-/pedo-/russofiel, etc. | ||||
| ofilie ufil'i // hemo-/nekro-/pedofilie, etc. | ofilie ufil'i // hemo-/nekro-/pedofilie, etc. | ||||
| ofobie ufo@b'i // antropo/-xenofobie and many other -fobie words | ofobie ufo@b'i // antropo/-xenofobie and many other -fobie words | ||||
| om (sig %Om // move default stress: omsigtig/-heid | om (sig %Om // move default stress: omsigtig/-heid | ||||
| omsingel %OmsIN@l // fix stress: omsingel/fix e sound: omsingelde | omsingel %OmsIN@l // fix stress: omsingel/fix e sound: omsingelde | ||||
| _) om (sirkel %Om // move default stress: omsirkel and derivatives | _) om (sirkel %Om // move default stress: omsirkel and derivatives | ||||
| _) omskans %Omskans // fix stress: omskans/-ing/-s | |||||
| _) om (skep %Om // move default stress: omskep and derivatives | _) om (skep %Om // move default stress: omskep and derivatives | ||||
| _) om (skr %Om // move default stress: omskryf/omskrewe | _) om (skr %Om // move default stress: omskryf/omskrewe | ||||
| _) om (sluier %Om // move default stress: omsluier and derivatives | _) om (sluier %Om // move default stress: omsluier and derivatives | ||||
| ontering %Onte@r@N //ontering in compounds montering etc. | ontering %Onte@r@N //ontering in compounds montering etc. | ||||
| _) on (tooCC %On // ontoombaar/-bare/-baarheid/ontoonbaar/-bare/-baarheid/ontoornig/-e/-heid | _) on (tooCC %On // ontoombaar/-bare/-baarheid/ontoonbaar/-bare/-baarheid/ontoornig/-e/-heid | ||||
| onvoor (s %Onf%o@r //stress: onvoorsiens, onvoorstelbaar etc. | onvoor (s %Onf%o@r //stress: onvoorsiens, onvoorstelbaar etc. | ||||
| onvoor (w %Onf%o@r //stress: onvoorwaardelik etc. | |||||
| onome un'o@m@ // astronome/ekonome/gastronome | onome un'o@m@ // astronome/ekonome/gastronome | ||||
| onomie unum'i // astronomie/ekonomie/gastronomie | onomie unum'i // astronomie/ekonomie/gastronomie | ||||
| onomies un'o@mis // astronomies/-e/ekonomies/-e/gastronomies/-e | onomies un'o@mis // astronomies/-e/ekonomies/-e/gastronomies/-e | ||||
| _) on (kruid On // restore default stress: onkruid/-doder and similar | _) on (kruid On // restore default stress: onkruid/-doder and similar | ||||
| _) on (lus On // restore default stress: onlus/-te/onlusgebied, etc. | _) on (lus On // restore default stress: onlus/-te/onlusgebied, etc. | ||||
| _) onnie Oni // onnie/-s; not on- prefix | _) onnie Oni // onnie/-s; not on- prefix | ||||
| onom (stoot %On%Om // fix stress: onomstootbaar/onomstootlik and their derivatives | |||||
| _) on (paar On // restore default stress: onpaar/-skoene | _) on (paar On // restore default stress: onpaar/-skoene | ||||
| onreg (K Onr&x2 // stress: onreg/te/onregmatig | onreg (K Onr&x2 // stress: onreg/te/onregmatig | ||||
| on (regv++ %On // stress: onregverdig/e/heid | on (regv++ %On // stress: onregverdig/e/heid | ||||
| oor (heers %o@r // move default stress | oor (heers %o@r // move default stress | ||||
| _) oor (hoofs %o@r // move default stress: oorhoofs/-e | _) oor (hoofs %o@r // move default stress: oorhoofs/-e | ||||
| oorkoepel o@rk'up@l // stress and pronunc. of el: oorkoepelend/oorkoepeling | oorkoepel o@rk'up@l // stress and pronunc. of el: oorkoepelend/oorkoepeling | ||||
| oor (koom %o@r // fix stress: (on)oorkoomlik/-e | |||||
| oor (laaid %o@r // move default stress: oorlaaide/-s | oor (laaid %o@r // move default stress: oorlaaide/-s | ||||
| oor (lams %o@r // move default stress: oorlams/-e/-heid | oor (lams %o@r // move default stress: oorlams/-e/-heid | ||||
| _) oorlede o@rl'e@d@ // stress oorlede/ne/s | _) oorlede o@rl'e@d@ // stress oorlede/ne/s | ||||
| parle (ment p%arl@ // move default stress and fix e sound: parlement and compounds, eg. | parle (ment p%arl@ // move default stress and fix e sound: parlement and compounds, eg. | ||||
| parme (saan p%arm@ // move default stress: parmesaan(kaas) and compounds | parme (saan p%arm@ // move default stress: parmesaan(kaas) and compounds | ||||
| paro (di p%ar%u // fix stress and vowel sounds: parodie and compounds | paro (di p%ar%u // fix stress and vowel sounds: parodie and compounds | ||||
| parti (sa p%art%i // move default stress: partisaan/-ane | |||||
| parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds | parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds | ||||
| pase (lla p%as& // fix stress and a sound: pasella(tjie) and compounds | pase (lla p%as& // fix stress and a sound: pasella(tjie) and compounds | ||||
| pa (sifi p%a // shorten a sound: pasifis/-me/-ties/-e | pa (sifi p%a // shorten a sound: pasifis/-me/-ties/-e | ||||
| ry) pere (_ p@r@ // fix penultimate e sound: rypere | ry) pere (_ p@r@ // fix penultimate e sound: rypere | ||||
| skam) pere (_ p@r@ ?? shorten 1st e in ending | skam) pere (_ p@r@ ?? shorten 1st e in ending | ||||
| perfek p@rfEk // perfek/-te/-sie/-sionis | perfek p@rfEk // perfek/-te/-sie/-sionis | ||||
| pergola p%&rx2o@l%a // move default stress: pergola/-s and compounds | |||||
| perife (rA@ p%Er@f@ // fix stress and vowel sounds: periferie/-ë/periferaal/-ale | perife (rA@ p%Er@f@ // fix stress and vowel sounds: periferie/-ë/periferaal/-ale | ||||
| peri (o p%e@r%i // stress: periode/-s and compounds | peri (o p%e@r%i // stress: periode/-s and compounds | ||||
| peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici | peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici | ||||
| puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivatives | puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivatives | ||||
| pu (pil p%y // move default stress: pupil/-le and compounds | pu (pil p%y // move default stress: pupil/-le and compounds | ||||
| puri (tein p%yr@ // fix stress and i sound: puritein/-e/-se | puri (tein p%yr@ // fix stress and i sound: puritein/-e/-se | ||||
| pêrel p&:r@l // fix e sound: pêrelig/-e | |||||
| .group q | .group q | ||||
| rivier r@fi:r | rivier r@fi:r | ||||
| _) ri (g rI // stress on 1st slb.: rigting/-loos/-vas, etc. | _) ri (g rI // stress on 1st slb.: rigting/-loos/-vas, etc. | ||||
| robot (A ro@bOt_ // fix 2nd o sound, pause: robotarm/-oog/-oë | |||||
| ron (dawel r%On // move default stress: rondawel/-s/-tjie | ron (dawel r%On // move default stress: rondawel/-s/-tjie | ||||
| rond (borst r%Ont // move default stress: rondborstig/-e | rond (borst r%Ont // move default stress: rondborstig/-e | ||||
| rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry | rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry | ||||
| .group re | .group re | ||||
| rea (ks r%ia // reaksie/s/skokreaksie | rea (ks r%ia // reaksie/s/skokreaksie | ||||
| rea (C r%i%a // reageer/realis/me|ties | rea (C r%i%a // reageer/realis/me|ties | ||||
| re (ageren r%i // fix stress and vowel sounds: reagerend/-e | |||||
| re (bel r@ // move stress from 1st slb | re (bel r@ // move stress from 1st slb | ||||
| recce rEki // fix e and c sounds: recce/-s | recce rEki // fix e and c sounds: recce/-s | ||||
| re (dakC r@ // fix stress and e sound: redaksie/redakteur and compounds | re (dakC r@ // fix stress and e sound: redaksie/redakteur and compounds | ||||
| re (kru r@ // move stress from 1st slb | re (kru r@ // move stress from 1st slb | ||||
| _) re (la r@ // relaas/relase/relasie and compounds | _) re (la r@ // relaas/relase/relasie and compounds | ||||
| rele (van r@l@ // relevansie/relevant and derivatives | rele (van r@l@ // relevansie/relevant and derivatives | ||||
| re (liek r@ // fix stress and e sound: reliek/-e and compounds | |||||
| reli (gi r@l@ // fix stress and e sound: religie/-ë/religieus | reli (gi r@l@ // fix stress and e sound: religie/-ë/religieus | ||||
| reliëf r%e@l%iEf // fix stress and vowel sounds: reliëf and compounds | reliëf r%e@l%iEf // fix stress and vowel sounds: reliëf and compounds | ||||
| rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem | rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem | ||||
| _) spon (ta sp%On // move default stress: spontaan/spontane | _) spon (ta sp%On // move default stress: spontaan/spontane | ||||
| _) sport (@@@ sp''Ort_ // force stress on 1st slb.: sportadministrasie/-konfederasie | _) sport (@@@ sp''Ort_ // force stress on 1st slb.: sportadministrasie/-konfederasie | ||||
| spreekwoordeli spr%e@kvo@rd@l@ // move default stress: spreekwoordelik/-e, vs. spreekwoord | spreekwoordeli spr%e@kvo@rd@l@ // move default stress: spreekwoordelik/-e, vs. spreekwoord | ||||
| springbok spr''INbOk // fix o sound: Springbokafrigter/-agterspeler; fix stress: Springbokklere | |||||
| springbo (k spr''INbO // fix o sound: Springbokafrigter/-agterspeler; fix stress: Springbokklere | |||||
| sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. | sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. | ||||
| self (_ s'&lf // myself/vanself | self (_ s'&lf // myself/vanself | ||||
| K) sewe (C s'e@v@ // sewejarige/standerdseweklas | K) sewe (C s'e@v@ // sewejarige/standerdseweklas | ||||
| smelt sm< | smelt sm< | ||||
| sodom (iet s,o@dOm // fix stress and 2nd o sound: sodomiet/-e | sodom (iet s,o@dOm // fix stress and 2nd o sound: sodomiet/-e | ||||
| son (g@ sOn // songebakte/-brande/-bruinde/-droogde/songod | son (g@ sOn // songebakte/-brande/-bruinde/-droogde/songod | ||||
| son (om s''On_ // fix 1st o sound, pause: sonomspoelde/-omgewe | |||||
| sosial (i so@Sial' // sosialis/sosialisme/sosialisties | sosial (i so@Sial' // sosialis/sosialisme/sosialisties | ||||
| so (v so@ // soveel/sover | so (v so@ // soveel/sover | ||||
| soverre so@f'&r@ // stress: se rule: so (v s'o@ // soveel/sover | soverre so@f'&r@ // stress: se rule: so (v s'o@ // soveel/sover | ||||
| spas (mod sp%as // move default stress: spasmodies/-e | |||||
| speku (lA sp%Ek%y // spekulasie/spekuleer/spekulatief | speku (lA sp%Ek%y // spekulasie/spekuleer/spekulatief | ||||
| @) sper (a sp@r' //desperate/desperaatheid/rasperagtig | @) sper (a sp@r' //desperate/desperaatheid/rasperagtig | ||||
| ek) sper (im spEr // eksperimenteer/eksperimenteel | ek) sper (im spEr // eksperimenteer/eksperimenteel | ||||
| spesialis (A spESialis | spesialis (A spESialis | ||||
| spesialis spESal'Is | spesialis spESal'Is | ||||
| spesi (f sp%Es%I // spesifiek/spesifiseer | spesi (f sp%Es%I // spesifiek/spesifiseer | ||||
| stede (C ste@d@ // fix e sounds of many compounds and derivatives containing stede | |||||
| ste (laan st@ // fix e sound: eerste-/ag(t)stelaan | |||||
| spine (t sp%inE // move default stress: spinet/-te and compounds | |||||
| %Cel) ste (r st& // fix e sound: dubbelster/-re | %Cel) ste (r st& // fix e sound: dubbelster/-re | ||||
| Cet) ste (rK st& // fix e sound: ballet-/kabaret-/krieketster/-re | Cet) ste (rK st& // fix e sound: ballet-/kabaret-/krieketster/-re | ||||
| dwaal) ste (r st& // fix e sound: dwaalster/-re | dwaal) ste (r st& // fix e sound: dwaalster/-re | ||||
| suid (oos s%Yyt_ // move default stress and insert short break: suidoos/-te/-lik | suid (oos s%Yyt_ // move default stress and insert short break: suidoos/-te/-lik | ||||
| suite swit@ // fix -ui-sound: suite/-s and compounds | suite swit@ // fix -ui-sound: suite/-s and compounds | ||||
| sukses s%WksEs // sukses/suksesse/suksesvol/reusesukses | sukses s%WksEs // sukses/suksesse/suksesvol/reusesukses | ||||
| sultana s%WltA:n%a // fix stress, keep last a short in compounds: sultana/-s | |||||
| _) su (meri s%u // fix stress and u sound: sumeries/-e | _) su (meri s%u // fix stress and u sound: sumeries/-e | ||||
| su (mmier s%W // move default stress: sumier/-e | su (mmier s%W // move default stress: sumier/-e | ||||
| superintendent s,upr@nt%EndEnt // fix stress and vowel sounds: superintendent and compounds | superintendent s,upr@nt%EndEnt // fix stress and vowel sounds: superintendent and compounds | ||||
| _) sw sw // fix w sound: words beginning with sw-: swerweling/swetend | _) sw sw // fix w sound: words beginning with sw-: swerweling/swetend | ||||
| swaar (lyw sw%A:r // move default stress: swaarlywig/-e/-heid | swaar (lyw sw%A:r // move default stress: swaarlywig/-e/-heid | ||||
| swaar (moed sw%A:r // move default stress: swaarmoedig/-e/-heid | swaar (moed sw%A:r // move default stress: swaarmoedig/-e/-heid | ||||
| swag (K sv'ax2 | |||||
| swag (K svax2 // dorps-/volkswag, etc. | |||||
| swa (hili sw%a // fix stress and a sound: swahili/-'s | swa (hili sw%a // fix stress and a sound: swahili/-'s | ||||
| _) swam (A@ swam_ // shorten a sound: swamagtig/-etend/-infeksie | _) swam (A@ swam_ // shorten a sound: swamagtig/-etend/-infeksie | ||||
| swart (gal sw%art // move default stress: swartgallig | swart (gal sw%art // move default stress: swartgallig | ||||
| stapel stA:p@l // fix e sound: (op)stapeling/stapelaar | stapel stA:p@l // fix e sound: (op)stapeling/stapelaar | ||||
| staties st'A:tis | staties st'A:tis | ||||
| sta (tutA st%a // fix stress and a sound: statute/statutêr | sta (tutA st%a // fix stress and a sound: statute/statutêr | ||||
| êr) ste (_S3 st@ // preserve stress: elementêrste/primêrste, etc. | |||||
| stede (C ste@d@ // fix e sounds of many compounds and derivatives containing stede | |||||
| steding ste@d@N // besteding and compounds | steding ste@d@N // besteding and compounds | ||||
| ste (ke_ ste@ // fix e sound: by-/mes-/proefsteke | ste (ke_ ste@ // fix e sound: by-/mes-/proefsteke | ||||
| steke (lig ste@k@ // fix 2nd e sound: stekelig/-e/-heid | |||||
| C) steker ste@k@r // e sound: (aan/dop/kwaad/rugsteker/-s/-y, etc. | C) steker ste@k@r // e sound: (aan/dop/kwaad/rugsteker/-s/-y, etc. | ||||
| _ne) stel st@l // fix e sound: nestel/-end | _ne) stel st@l // fix e sound: nestel/-end | ||||
| wor) stel st@l //worstel e sound in compounds | wor) stel st@l //worstel e sound in compounds | ||||
| ste (laan st@ // fix e sound: eerste-/ag(t)stelaan | |||||
| ste (land st@ // fix e sound: vasteland and several compounds | ste (land st@ // fix e sound: vasteland and several compounds | ||||
| @) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds | @) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds | ||||
| &) stele (fo st&l@ // fix e sound in compounds: huis-/werkstelefoon/-fone | &) stele (fo st&l@ // fix e sound in compounds: huis-/werkstelefoon/-fone | ||||
| mAre) ste (r st& // fix e sound: more/môrester/-re | mAre) ste (r st& // fix e sound: more/môrester/-re | ||||
| stereo (ti st%e@r%i%u // fix stress and vowel sounds: stereotiep/-tipe/-tipeer | stereo (ti st%e@r%i%u // fix stress and vowel sounds: stereotiep/-tipe/-tipeer | ||||
| sterf (K st&rf // fix e sound: uitsterf/weg(ge)sterf/kindersterfte | sterf (K st&rf // fix e sound: uitsterf/weg(ge)sterf/kindersterfte | ||||
| sterk (_ st&rk // fix e sound: duiwel-/kapitaal-/stormsterk, etc. | |||||
| @) sterkt st&rkt // compounds ending in sterkte | @) sterkt st&rkt // compounds ending in sterkte | ||||
| stero (ïed st%e@r%u; // fix stress and vowel sounds: steroïed/-e | stero (ïed st%e@r%u; // fix stress and vowel sounds: steroïed/-e | ||||
| bok) ster (t st&:r // fix e sound: bokstert/-e/-tjie/-s | bok) ster (t st&:r // fix e sound: bokstert/-e/-tjie/-s | ||||
| teater t%iA:t@r // fix stress and e sound: teater and compounds | teater t%iA:t@r // fix stress and e sound: teater and compounds | ||||
| tea (tra t%i%a // fix stress and vowel sounds: teatraal/teatrale | tea (tra t%i%a // fix stress and vowel sounds: teatraal/teatrale | ||||
| teen (argu t''e@n // forse stress on 1st slb.: teenargument/-e/-asie | teen (argu t''e@n // forse stress on 1st slb.: teenargument/-e/-asie | ||||
| te (dom t@ // fix e sound: idiotedom and similar | |||||
| teen (oorges t%e@n_ // move default stress: teenoorgestel/-d/-e | teen (oorges t%e@n_ // move default stress: teenoorgestel/-d/-e | ||||
| @A) te (geC t@ // fix e sound: Hugenotegemeente/stategebou and similar compounds | @A) te (geC t@ // fix e sound: Hugenotegemeente/stategebou and similar compounds | ||||
| @C) te (gn t& //tegniek/iese and friends | @C) te (gn t& //tegniek/iese and friends | ||||
| ve (l f& // maagvel, stress on 1st slb | ve (l f& // maagvel, stress on 1st slb | ||||
| @) vel (A fe@l // aanbeveling/aanbevelingsbrief | @) vel (A fe@l // aanbeveling/aanbevelingsbrief | ||||
| veld (C f< // fix d sound: veldreuk/-radio/-rantsoen, etc. | |||||
| vele f'e@l@ | vele f'e@l@ | ||||
| ven (detta v%En // fix stress and v sound: vendatta and compounds | ven (detta v%En // fix stress and v sound: vendatta and compounds | ||||
| ven (dusie f@n // fix stress and e sound: vendusie and compounds | ven (dusie f@n // fix stress and e sound: vendusie and compounds | ||||
| ver (reik f&:r // fix stress and e sound: verreikend/-e | ver (reik f&:r // fix stress and e sound: verreikend/-e | ||||
| @) vers (_ f&rs // teksvers/slotvers/kindervers and similar | @) vers (_ f&rs // teksvers/slotvers/kindervers and similar | ||||
| vers (album f&:rs_ // fix e sound: versalbum/-s | vers (album f&:rs_ // fix e sound: versalbum/-s | ||||
| _) vers (b f&rs // fix e sound: versbundel/-bou/-boek | |||||
| @) vers (e_ f&rs // plurals of words like the above | @) vers (e_ f&rs // plurals of words like the above | ||||
| _) versf f''&rsf // fix stress and e sound: versfragment/-e | _) versf f''&rsf // fix stress and e sound: versfragment/-e | ||||
| ver (sie_ f&:r //words ending in versie | ver (sie_ f&:r //words ending in versie | ||||
| ver (sies_ f&:r //words ending in versies | ver (sies_ f&:r //words ending in versies | ||||
| vers (panor f&:rs // fix stress and e sound: verspanorama/-s | vers (panor f&:rs // fix stress and e sound: verspanorama/-s | ||||
| ver (spring f''&:r // fix stress and e sound: verspring/-er/-kompetisie | ver (spring f''&:r // fix stress and e sound: verspring/-er/-kompetisie | ||||
| vers (v f&rs // fix e sound: versvorm/versvoete | |||||
| verf (i f@rf //verfilm and compounds | verf (i f@rf //verfilm and compounds | ||||
| ver (flenC f@r // verflenter and derivatives/verflens; see rule: verf (C f&rf | ver (flenC f@r // verflenter and derivatives/verflens; see rule: verf (C f&rf | ||||
| ver (fris f@r // verfris and derivatives; see rule: verf (C f&rf | ver (fris f@r // verfris and derivatives; see rule: verf (C f&rf | ||||
| voort (v@@ f%o@rt // voortvarend/voortvlugtige | voort (v@@ f%o@rt // voortvarend/voortvlugtige | ||||
| _) vooruit fo@r_'Yyt // vooruit/vooruitsig/vooruitbeplanning | _) vooruit fo@r_'Yyt // vooruit/vooruitsig/vooruitbeplanning | ||||
| vooruit (strew fo@rYyt' // change stress | vooruit (strew fo@rYyt' // change stress | ||||
| voorwaard (_ f%o@rvA:rd // stress: (on)voorwaardelik | |||||
| voorwaarde (_ f%o@rvA:rd@ // stress: (on)voorwaardelik | |||||
| voorwaarde (_N fo@rvA:rd@ // fix stress: voorwaarde/-s | |||||
| vor (_ _^_EN //words ending in vor is English | vor (_ _^_EN //words ending in vor is English | ||||
| vorm fOr@m | vorm fOr@m | ||||
| vorsti (n fOrst'I // fix stress: vorstin/-ne/-netjie and compounds | vorsti (n fOrst'I // fix stress: vorstin/-ne/-netjie and compounds | ||||
| &s) w (eefs v // fix w sound: compounds like -sweefsel/tuisweefstof, etc. | &s) w (eefs v // fix w sound: compounds like -sweefsel/tuisweefstof, etc. | ||||
| @s) w (enn v // fix w sound: beurs-/groeps-/klas-/naas-/pryswenner/-wennende | @s) w (enn v // fix w sound: beurs-/groeps-/klas-/naas-/pryswenner/-wennende | ||||
| _) web vEb //webadres/se, webarea etc. | _) web vEb //webadres/se, webarea etc. | ||||
| As) weer (_ ve@r // fix w sound: kusweer/ysweer, etc. | |||||
| AAs) w (enk v // fix w sound: kombuis-/nuus-/sweiswenk/-e | AAs) w (enk v // fix w sound: kombuis-/nuus-/sweiswenk/-e | ||||
| plaas) w (erC v // fix w sound: plaaswerf/-werwe | plaas) w (erC v // fix w sound: plaaswerf/-werwe | ||||
| s) w (oeling v // fix w sound: koors-/geesteswoelinge | |||||
| s) w (ou v // fix w sound: bamboeswoud/keerkringswoud and similar | s) w (ou v // fix w sound: bamboeswoud/keerkringswoud and similar | ||||
| s) w (r v // fix w sound: skeepswrak/sielswroeging/aardswreedheid | s) w (r v // fix w sound: skeepswrak/sielswroeging/aardswreedheid | ||||
| wreed (a vre@t_ // fix d sound and insert short pause: wreedaard/-s | wreed (a vre@t_ // fix d sound and insert short pause: wreedaard/-s | ||||
| weer (leg w%e@r // move default stress: (on)weerlegbaar | weer (leg w%e@r // move default stress: (on)weerlegbaar | ||||
| weer (strew v%e@r // move default stress: weerstrewig/-e/-heid | weer (strew v%e@r // move default stress: weerstrewig/-e/-heid | ||||
| @) wees (_ ve@s // fix w sound: siekwees/volkwees | @) wees (_ ve@s // fix w sound: siekwees/volkwees | ||||
| weet (gierig v%e@t // move default stress: weetgierig/-e/-heid | |||||
| @) weg (_ v&x2 // blindweg/botweg and many similar | @) weg (_ v&x2 // blindweg/botweg and many similar | ||||
| spoor) weg v&x2 // fix e sound: spoorwegaanleg/-aansluiting/-amptenaar/-eiendom/-inkomste/-ongeluk... | spoor) weg v&x2 // fix e sound: spoorwegaanleg/-aansluiting/-amptenaar/-eiendom/-inkomste/-ongeluk... | ||||
| _) wegge (C@P5 v'&x2@ // prefix: weggeja and similar | _) wegge (C@P5 v'&x2@ // prefix: weggeja and similar | ||||
| .group y | .group y | ||||
| y eI | y eI | ||||
| %C) y (_ _^_EN // English: Betty/Eddy/Harry/Molly/Penny/Tommy | %C) y (_ _^_EN // English: Betty/Eddy/Harry/Molly/Penny/Tommy | ||||
| skapp) y (_ %eI // compounds like: handels-/versekerings-/verskepingsmaatskappy | |||||
| york j'O:k //new-yorkse and may be others | york j'O:k //new-yorkse and may be others | ||||
| ysterre (lin eIst@re@ // fix e sound: ysterreling/-s | ysterre (lin eIst@re@ // fix e sound: ysterreling/-s | ||||
| | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // Spelling-to-phoneme words for Danish | // Spelling-to-phoneme words for Danish | ||||
| _cir s'3:kVmfl,Eks | _cir s'3:kVmfl,Eks | ||||
| _dia 'umlaut | _dia 'umlaut | ||||
| _dot wiDd'0tabVv | _dot wiDd'0tabVv | ||||
| _grv gr'a:v | |||||
| _grv aks'aN gr'a:v | |||||
| _hac h'atS,Ek | _hac h'atS,Ek | ||||
| _mcn m'akr,0n | _mcn m'akr,0n | ||||
| _ogo '0g0n,Ek | _ogo '0g0n,Ek | ||||
| _, koma: | _, koma: | ||||
| _; se:mi:ko:lVn | _; se:mi:ko:lVn | ||||
| _: ko:lVn | _: ko:lVn | ||||
| _. pun^tum | |||||
| _. puNtum | |||||
| _? spWrgsmVlstajn | _? spWrgsmVlstajn | ||||
| _! udRVbstejn | _! udRVbstejn | ||||
| _- binnesdrai | _- binnesdrai | ||||
| __ bOndsdrai | |||||
| __ b'Onsdrai | |||||
| & ou | & ou | ||||
| £ pun? | £ pun? | ||||
| € euro | € euro | ||||
| © kopyrajt | © kopyrajt | ||||
| ÷ divid'eReD meD | |||||
| = l'imeD | = l'imeD | ||||
| # n'OmV | # n'OmV | ||||
| § paragr'af | |||||
| // numbers | // numbers | ||||
| _0 'nOl | _0 'nOl | ||||
| _1 'e:n | _1 'e:n | ||||
| l El | l El | ||||
| m Em | m Em | ||||
| n En | n En | ||||
| o o | |||||
| p pe: | p pe: | ||||
| q ku: | q ku: | ||||
| r Er | r Er | ||||
| eget a:j@D | eget a:j@D | ||||
| egne a:in@ | egne a:in@ | ||||
| enter entV | enter entV | ||||
| ide id'e // idea | |||||
| igen igen | igen igen | ||||
| Ny ny // new | Ny ny // new | ||||
| også Vs@ // also | også Vs@ // also | ||||
| sagde sa@ // said | sagde sa@ // said | ||||
| sig sAi // oneself | sig sAi // oneself | ||||
| Phonemes which are used in the *_rules and *_list files | Phonemes which are used in the *_rules and *_list files | ||||
| Dictionary zhy_dict | |||||
| a aa aai aan aau ai au e | |||||
| ei eo eoi eu i iu o oe | |||||
| oi ong ou u ui yu | |||||
| b c d f g h j k | |||||
| l m n N p r s t | |||||
| tS v w z | |||||
| Dictionary fr_dict | |||||
| @ @- @2 a A~ e E E2 | |||||
| E: E~ i i- i: o O o2 | |||||
| O2 o3 O~ u u: W w^i wA | |||||
| W~ y Y | |||||
| : b d dZ f g h j | |||||
| k l m n N n2 n^ p | |||||
| p2 r R r2 s S t t2 | |||||
| t3 tS v w z Z z2 z3 | |||||
| Dictionary nl_dict | |||||
| 8 @ @- A a: E e: EI | |||||
| eU i I O O: o: u VU | |||||
| Wy y Y: yU | |||||
| * : ; b C d f g | |||||
| h j k l m n N n^ | |||||
| p Q r s S t tS v | |||||
| v2 w x z | |||||
| Dictionary jbo_dict | |||||
| @ a aI aU e eI i l- | |||||
| o oI r- u | |||||
| - b d dZ f g h j | |||||
| k l m n N p R s | |||||
| S t tS v w x z Z | |||||
| Dictionary hu_dict | |||||
| A a: E e: i i: o o: | |||||
| u u: Y y y: Y: | |||||
| : b c C d dZ f g | |||||
| h j J k l l^ m n | |||||
| N n^ p R R2 s S s2 | |||||
| t tS ts v z Z | |||||
| Dictionary hy_dict | |||||
| Dictionary af_dict | |||||
| @ a aI e eI i i@ o | |||||
| u W y | |||||
| & &: 3: @ @- @L @U a | |||||
| A: aI AI aU A~ E e: e@ | |||||
| eI e~ I i iu O O: o@ | |||||
| OI oI o~ u uI W y Y@ | |||||
| Yy | |||||
| ** b c d dZ dz f g | |||||
| h j k k# l m n p | |||||
| p# r R r" s S t t# | |||||
| tS ts ts# v X z Z | |||||
| - : ; ? b c d dZ | |||||
| f g h j k l L m | |||||
| n N p r s S t T | |||||
| tS v w x x2 z Z | |||||
| Dictionary zh_dict | |||||
| Dictionary bn_dict | |||||
| @ @r a A ai Au E ei | |||||
| i i. i[ iA iE io iou N- | |||||
| o o- ong ou u u@ ua uai | |||||
| uei uo y y& y@ yE yi yu | |||||
| & a a: a~ e E e~ i | |||||
| I i: i:~ i~ l- o O o: | |||||
| O~ o~ r- U u u: u:~ u~ | |||||
| V | |||||
| ; C f h j k kh l | |||||
| L m n N p ph q r | |||||
| R s s. S; t th ts ts. | |||||
| ts. tS; tS; tsh v w x X | |||||
| z. | |||||
| * b B bh c C ch d | |||||
| d. dh dh. g gh h j J | |||||
| Jh k kh l m n N n. | |||||
| n^ p ph Q r r. s S | |||||
| s. t t. th th. tS x z | |||||
| Dictionary ca_dict | Dictionary ca_dict | ||||
| v# w z Z Z; | v# w z Z Z; | ||||
| Dictionary af_dict | |||||
| Dictionary cs_dict | |||||
| & &: 3: @ @- @L @U a | |||||
| A: aI AI aU A~ E e: e@ | |||||
| eI e~ I i iu O O: o@ | |||||
| OI oI o~ u uI W y Y@ | |||||
| Yy | |||||
| @- a a: aU e e: eI eU | |||||
| i i: l- o o: oU r- u | |||||
| u: | |||||
| - : ; ? b c d dZ | |||||
| f g h j k l L m | |||||
| n N p r s S t T | |||||
| tS v w x x2 z Z | |||||
| * ; b c d dZ dz f | |||||
| g h j J k l l^ m | |||||
| n N n^ p r R R^ R^/ | |||||
| s S t tS ts v x z | |||||
| Z | |||||
| Dictionary id_dict | |||||
| Dictionary cy_dict | |||||
| @ a aI aU e E E2 i | |||||
| o O u | |||||
| @ @- @I @Y a A: aI aU | |||||
| AY aY E e: eU I i: Iu | |||||
| O o: OI OY U u: uY V | |||||
| Y y: Yu | |||||
| * : ? b d dZ f g | |||||
| h j k l m n N n^ | |||||
| p r R R2 s S t tS | |||||
| v w x z | |||||
| : b C d D dZ f g | |||||
| h j k l L m n N | |||||
| p r s S t T v w | |||||
| x z | |||||
| Dictionary da_dict | |||||
| & 0 3 @ @- a A e | |||||
| E i o O u V W y | |||||
| Y | |||||
| * - : ; ? b d D | |||||
| dZ f g h j k l L | |||||
| m n N p r R s S | |||||
| t tS v w | |||||
| Dictionary de_dict | |||||
| 3 @ @- a A A: aI aU | |||||
| E E2 E: e: EI I i2 i: | |||||
| O o: OY U u: W y y: | |||||
| Y: | |||||
| * : ; b C C2 d D | |||||
| dZ f g h j k l m | |||||
| n N p pF r s S t | |||||
| tS ts v x z Z | |||||
| Dictionary el_dict | Dictionary el_dict | ||||
| x z Z | x z Z | ||||
| Dictionary cs_dict | |||||
| Dictionary eo_dict | |||||
| @- a a: aU e e: eI eU | |||||
| i i: l- o o: oU r- u | |||||
| u: | |||||
| @- a aI aU e eI eU i | |||||
| o oI u uI | |||||
| * ; b c d dZ dz f | |||||
| g h j J k l l^ m | |||||
| n N n^ p r R R^ R^/ | |||||
| s S t tS ts v x z | |||||
| Z | |||||
| * - b d dZ f g h | |||||
| j k l m n p r R | |||||
| s S t T tS ts v w | |||||
| x z Z | |||||
| Dictionary es_dict | |||||
| a aI aU e E eI eU i | |||||
| o O oI u | |||||
| * ** : b B d D f | |||||
| g j J J^ k l m n | |||||
| N n^ p Q R R2 s t | |||||
| T tS v v# w x z | |||||
| Dictionary eu_dict | |||||
| a aI aU e eI eU i o | |||||
| oI u Y | |||||
| * ** : ; b B c d | |||||
| D f g h j J k l | |||||
| l^ m n n^ p Q r R | |||||
| s S t tS ts tz v w | |||||
| x z | |||||
| Dictionary fi_dict | |||||
| & &i &y a a2 ai au e | |||||
| ei eu ey i I ie iu iy | |||||
| o oi ou u ui uo Y y | |||||
| Yi yi Yy yY | |||||
| : b d f g h j k | |||||
| l m n N p r s S | |||||
| s2 t v w Z | |||||
| Dictionary fr_dict | |||||
| @ @- @2 a A~ e E E2 | |||||
| E: E~ i i- i: o O o2 | |||||
| O2 o3 O~ u u: W w^i wA | |||||
| W~ y Y | |||||
| : b d dZ f g h j | |||||
| k l m n N n2 n^ p | |||||
| p2 r R r2 s S t t2 | |||||
| t3 tS v w z Z z2 z3 | |||||
| Dictionary grc_dict | Dictionary grc_dict | ||||
| T v x z | T v x z | ||||
| Dictionary cy_dict | |||||
| @ @- @I @Y a A: aI aU | |||||
| AY aY E e: eU I i: Iu | |||||
| O o: OI OY U u: uY V | |||||
| Y y: Yu | |||||
| : b C d D dZ f g | |||||
| h j k l L m n N | |||||
| p r s S t T v w | |||||
| x z | |||||
| Dictionary hbs_dict | Dictionary hbs_dict | ||||
| & @ @2 a A a: aI aU | & @ @2 a A a: aI aU | ||||
| t tS ts tS; v x z Z | t tS ts tS; v x z Z | ||||
| Dictionary it_dict | |||||
| Dictionary hi_dict | |||||
| @- a a/ aI aU e E eI | |||||
| i I o O u | |||||
| @ @- @2 @3 a a: aI aU | |||||
| e E e: E: E~ i I i: | |||||
| l- o O o: O: O~ o~ r- | |||||
| U u: u~ V | |||||
| * : ; b d dZ f g | |||||
| h j k l l^ m n N | |||||
| n^ p r R s S t tS | |||||
| ts v w w2 z | |||||
| - : b bh c ch d d. | |||||
| dh dh. f g gh h H j | |||||
| J Jh k kh l l. m n | |||||
| N n. n^ p ph Q q r | |||||
| r. s S s. t T t. th | |||||
| th. v w x z | |||||
| Dictionary sk_dict | |||||
| Dictionary hu_dict | |||||
| & @- a a: e e: i i: | |||||
| l- l: o o: oU r- r: u | |||||
| u: | |||||
| A a: E e: i i: o o: | |||||
| u u: Y y y: Y: | |||||
| * ; b d d; dZ dz f | |||||
| g h j k l l^ m n | |||||
| N n^ p r R R^ R^/ s | |||||
| S t t; tS ts v x z | |||||
| Z | |||||
| : b c C d dZ f g | |||||
| h j J k l l^ m n | |||||
| N n^ p R R2 s S s2 | |||||
| t tS ts v z Z | |||||
| Dictionary ku_dict | |||||
| Dictionary hy_dict | |||||
| 8 a e E E# eI eU i | |||||
| I o u U y | |||||
| @ a aI e eI i i@ o | |||||
| u W y | |||||
| * : b c d dZ f g | |||||
| h j J k l m n p | |||||
| q r R s S t tS v | |||||
| w x z Z | |||||
| ** b c d dZ dz f g | |||||
| h j k k# l m n p | |||||
| p# r R r" s S t t# | |||||
| tS ts ts# v X z Z | |||||
| Dictionary sq_dict | |||||
| Dictionary id_dict | |||||
| @ @/ a A a/ aI E e | |||||
| eI i I I# O OI u V | |||||
| y yE | |||||
| @ a aI aU e E E2 i | |||||
| o O u | |||||
| ** : ; b c d D dZ | |||||
| dz dZ; f g h j k l | |||||
| L ll m n n^ p r R | |||||
| R2 s S t T tS ts v | |||||
| w z Z | |||||
| * : ? b d dZ f g | |||||
| h j k l m n N n^ | |||||
| p r R R2 s S t tS | |||||
| v w x z | |||||
| Dictionary sw_dict | |||||
| Dictionary is_dict | |||||
| @- a a/ e i m- n- N- | |||||
| o u | |||||
| & @- a aI aU e E eI | |||||
| i I o O oU oU2 u W | |||||
| y y# Yy | |||||
| * : b d D f g h | |||||
| j J k l m n N n^ | |||||
| p Q R s S t T tS | |||||
| v w x z | |||||
| * ** : ; b c C d | |||||
| D f g h j J k l | |||||
| l# m m# n N n# N# n^ | |||||
| n^# p Q r R r# R2 s | |||||
| s2 t T tl# v x z | |||||
| Dictionary fi_dict | |||||
| Dictionary it_dict | |||||
| & &i &y a a2 ai au e | |||||
| ei eu ey i I ie iu iy | |||||
| o oi ou u ui uo Y y | |||||
| Yi yi Yy yY | |||||
| @- a a/ aI aU e E eI | |||||
| i I o O u | |||||
| : b d f g h j k | |||||
| l m n N p r s S | |||||
| s2 t v w Z | |||||
| * : ; b d dZ f g | |||||
| h j k l l^ m n N | |||||
| n^ p r R s S t tS | |||||
| ts v w w2 z | |||||
| Dictionary pl_dict | |||||
| Dictionary jbo_dict | |||||
| a E E# E~ i O O~ u | |||||
| y | |||||
| @ a aI aU e eI i l- | |||||
| o oI r- u | |||||
| : ; b c C d d; dZ | |||||
| dz dz; f g h j k l | |||||
| m n N n^ p r R s | |||||
| S s; S; t t; tS ts ts; | |||||
| tS; v w x z Z Z; | |||||
| - b d dZ f g h j | |||||
| k l m n N p R s | |||||
| S t tS v w x z Z | |||||
| Dictionary no_dict | |||||
| Dictionary kn_dict | |||||
| @ @2 a A a: A: AI aI | |||||
| aU E E: e: I i: O o: | |||||
| OI U u- u-: u-I u: W y | |||||
| y: Y: Yy | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: r- u u: V | |||||
| y | |||||
| : ; b d f g h j | |||||
| k l m n N p r R | |||||
| s S s; t v w x z | |||||
| : b bh c ch d d. dh | |||||
| dh. dZ f g gh h j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph R R2 s S | |||||
| s. S; t t. th th. tS v | |||||
| w z | |||||
| Dictionary vi_dict | |||||
| Dictionary ku_dict | |||||
| @ @: @:I @:U @I @U a a: | |||||
| a:I a:U aI aU E e eU EU | |||||
| i i@ iU O o OI oI u | |||||
| u@ uI y y@ yI | |||||
| 8 a e E E# eI eU i | |||||
| I o u U y | |||||
| b c d D f g h j | |||||
| J k kh l m n N n^ | |||||
| p Q r s s. t t[ ts; | |||||
| tS; v w x z Z z. | |||||
| * : b c d dZ f g | |||||
| h j J k l m n p | |||||
| q r R s S t tS v | |||||
| w x z Z | |||||
| Dictionary ro_dict | |||||
| Dictionary la_dict | |||||
| @ @- @I @U a aI aU e | |||||
| ea eI eo eU i i/ I^ iI | |||||
| iU o O Oa oI oU u uI | |||||
| y Y yI yU | |||||
| @- a a: aI aU E e: EU | |||||
| I i: O o: OI U u: y | |||||
| y: | |||||
| * *; - b b; c C d | |||||
| d; dZ f f; g h j k | |||||
| l l; m m; n N n; p | |||||
| p; r s S S; t t; tS | |||||
| ts ts; v v; w w2 x z | |||||
| Z z; Z; | |||||
| * : ; <h> ? b d f | |||||
| g h j k l m n N | |||||
| p r R s t w z | |||||
| Dictionary lv_dict | Dictionary lv_dict | ||||
| tS ts v z Z | tS ts v z Z | ||||
| Dictionary pt_dict | |||||
| Dictionary mk_dict | |||||
| & &/ &U~ &~ @ @- a A | |||||
| aI aU e E eI EI eU EU | |||||
| i I i/ iU o O oI OI | |||||
| o~ u U uI u~ y | |||||
| & @ @- @2 a A a: E | |||||
| e e: i I i: l- o o: | |||||
| oU r- u u: | |||||
| * : ; b C d dZ f | |||||
| g h j k l l^ m n | |||||
| N n^ p Q r R r- s | |||||
| S s# s; t T tS ts v | |||||
| w x z Z | |||||
| * b d dZ dz dZ; f g | |||||
| h j k k^ l l^ m n | |||||
| N n^ p r R s S t | |||||
| tS ts tS; v x z Z | |||||
| Dictionary tr_dict | |||||
| Dictionary ml_dict | |||||
| a e E i I o O u | |||||
| U u# W y Y | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: r- u u: V | |||||
| y | |||||
| * : b c d dZ f g | |||||
| h j J k l m n p | |||||
| Q r R s S t tS v | |||||
| w z Z | |||||
| : b bh c ch d d. dh | |||||
| dh. dZ f g gh h j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph R R2 s s. | |||||
| S; t t. th th. tS v w | |||||
| z z. | |||||
| Dictionary ru_dict | |||||
| Dictionary mn_dict | |||||
| 8 @- A a E e E# E2 | |||||
| E3 i I I# I2 I3 I^ ja | |||||
| ju o O u u" u# V V# | |||||
| y Y | |||||
| a e i o O o: U u | |||||
| * ; b d d; dZ; f g | |||||
| j k l l^ m m; n n^ | |||||
| p r R s S s; S; t | |||||
| t; ts ts; tS; v x z Z | |||||
| z; Z; | |||||
| : ; c f g j k L | |||||
| m n p p# R s S t | |||||
| t# tS ts ts# w x | |||||
| Dictionary eo_dict | |||||
| Dictionary ne_dict | |||||
| @- a aI aU e eI eU i | |||||
| o oI u uI | |||||
| @ @/ @2 @3 a aI aU a~ | |||||
| e E eI eU e~ E~ i I | |||||
| i~ l- o O o: oI oU O~ | |||||
| o~ r- u uI u~ V VI VU | |||||
| V~ | |||||
| * - b d dZ f g h | |||||
| j k l m n p r R | |||||
| s S t T tS ts v w | |||||
| x z Z | |||||
| - : b bh c ch d d. | |||||
| dh f g gh h H j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph Q q r r. | |||||
| s S s. t T t. th v | |||||
| w x z z. | |||||
| Dictionary mk_dict | |||||
| Dictionary nl_dict | |||||
| & @ @- @2 a A a: E | |||||
| e e: i I i: l- o o: | |||||
| oU r- u u: | |||||
| 8 @ @- A a: E e: EI | |||||
| eU i I O O: o: u VU | |||||
| Wy y Y: yU | |||||
| * b d dZ dz dZ; f g | |||||
| h j k k^ l l^ m n | |||||
| N n^ p r R s S t | |||||
| tS ts tS; v x z Z | |||||
| * : ; b C d f g | |||||
| h j k l m n N n^ | |||||
| p Q r s S t tS v | |||||
| v2 w x z | |||||
| Dictionary es_dict | |||||
| Dictionary no_dict | |||||
| a aI aU e E eI eU i | |||||
| o O oI u | |||||
| @ @2 a A a: A: AI aI | |||||
| aU E E: e: I i: O o: | |||||
| OI U u- u-: u-I u: W y | |||||
| y: Y: Yy | |||||
| * ** : b B d D f | |||||
| g j J J^ k l m n | |||||
| N n^ p Q R R2 s t | |||||
| T tS v v# w x z | |||||
| : ; b d f g h j | |||||
| k l m n N p r R | |||||
| s S s; t v w x z | |||||
| Dictionary is_dict | |||||
| Dictionary pap_dict | |||||
| & @- a aI aU e E eI | |||||
| i I o O oU oU2 u W | |||||
| y y# Yy | |||||
| a a/ aI e E eI i o | |||||
| O u y Y | |||||
| * ** : ; b c C d | |||||
| D f g h j J k l | |||||
| l# m m# n N n# N# n^ | |||||
| n^# p Q r R r# R2 s | |||||
| s2 t T tl# v x z | |||||
| : ? b d dZ f g h | |||||
| j k l m n N n^ p | |||||
| R s S t tS v w x | |||||
| z Z | |||||
| Dictionary da_dict | |||||
| Dictionary pa_dict | |||||
| & 0 3 @ @- a A e | |||||
| E i o O u V W y | |||||
| Y | |||||
| @ a a~ e E e~ E~ i | |||||
| I i~ I~ o O O~ o~ r- | |||||
| U u u~ U~ V V~ | |||||
| * - : ; ? b d D | |||||
| dZ f g h j k l L | |||||
| m n N n^ p r R s | |||||
| S t tS v w | |||||
| : ; b bh c ch d d. | |||||
| dh dh. f g gh h H j | |||||
| J Jh k kh l l. m n | |||||
| N n. n^ p ph Q R R2 | |||||
| s S t t. th th. v x | |||||
| z | |||||
| Dictionary de_dict | |||||
| Dictionary pl_dict | |||||
| 3 @ @- a A A: aI aU | |||||
| E E2 E: e: EI I i2 i: | |||||
| O o: OY U u: W y y: | |||||
| Y: | |||||
| a E E# E~ i O O~ u | |||||
| y | |||||
| * : ; b C C2 d D | |||||
| dZ f g h j k l m | |||||
| n N p pF r s S t | |||||
| tS ts v x z Z | |||||
| : ; b c C d d; dZ | |||||
| dz dz; f g h j k l | |||||
| m n N n^ p r R s | |||||
| S s; S; t t; tS ts ts; | |||||
| tS; v w x z Z Z; | |||||
| Dictionary sv_dict | |||||
| Dictionary prs_dict | |||||
| 8 @ a a2 A: E E- e: | |||||
| E: I i: O o: U u- u: | |||||
| W y y: Y: | |||||
| @ A i o | |||||
| : ; b d f g h j | |||||
| k l m n N p R s | |||||
| S s. S; sx t v w z | |||||
| b d h l t X | |||||
| Dictionary la_dict | |||||
| Dictionary pt_dict | |||||
| @- a a: aI aU E e: EU | |||||
| I i: O o: OI U u: y | |||||
| y: | |||||
| & &/ &U~ &~ @ @- a A | |||||
| aI aU e E eI EI eU EU | |||||
| i I i/ iU o O oI OI | |||||
| o~ u U uI u~ y | |||||
| * : ; <h> ? b d f | |||||
| g h j k l m n N | |||||
| p r R s t w z | |||||
| * : ; b C d dZ f | |||||
| g h j k l l^ m n | |||||
| N n^ p Q r R r- s | |||||
| S s# s; t T tS ts v | |||||
| w x z Z | |||||
| Dictionary hi_dict | |||||
| Dictionary ro_dict | |||||
| @ @- @2 @3 a a: aI aU | |||||
| e E e: E: E~ i I i: | |||||
| l- o O o: O: O~ o~ r- | |||||
| U u: u~ V | |||||
| @ @- @I @U a aI aU e | |||||
| ea eI eo eU i i/ I^ iI | |||||
| iU o O Oa oI oU u uI | |||||
| y Y yI yU | |||||
| - : b bh c ch d d. | |||||
| dh dh. f g gh h H j | |||||
| J Jh k kh l l. m n | |||||
| N n. n^ p ph Q q r | |||||
| r. s S s. t T t. th | |||||
| th. v w x z | |||||
| * *; - b b; c C d | |||||
| d; dZ f f; g h j k | |||||
| l l; m m; n N n; p | |||||
| p; r s S S; t t; tS | |||||
| ts ts; v v; w w2 x z | |||||
| Z z; Z; | |||||
| Dictionary ta_dict | |||||
| Dictionary ru_dict | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: U u u: V | |||||
| 8 @- A a E e E# E2 | |||||
| E3 i I I# I2 I3 I^ ja | |||||
| ju o O u u" u# V V# | |||||
| y Y | |||||
| : ; b C d d. dZ f | |||||
| g h j k l l. m n | |||||
| N n. n^ p r R s S | |||||
| s. t t. th tS v w z | |||||
| z. | |||||
| * ; b d d; dZ; f g | |||||
| j k l l^ m m; n n^ | |||||
| p r R s S s; S; t | |||||
| t; ts ts; tS; v x z Z | |||||
| z; Z; | |||||
| Dictionary bn_dict | |||||
| Dictionary rw_dict | |||||
| & a a: a~ e E e~ i | |||||
| I i: i:~ i~ l- o O o: | |||||
| O~ o~ r- U u u: u:~ u~ | |||||
| V | |||||
| a e i o u | |||||
| * b B bh c C ch d | |||||
| d. dh dh. g gh h j J | |||||
| Jh k kh l m n N n. | |||||
| n^ p ph Q r r. s S | |||||
| s. t t. th th. tS x z | |||||
| * : b B c d dZ f | |||||
| g h j J k l m n | |||||
| N n^ p q R s S S; | |||||
| t tS v w x z | |||||
| Dictionary eu_dict | |||||
| Dictionary sk_dict | |||||
| a aI aU e eI eU i o | |||||
| oI u Y | |||||
| & @- a a: e e: i i: | |||||
| l- l: o o: oU r- r: u | |||||
| u: | |||||
| * ** : ; b B c d | |||||
| D f g h j J k l | |||||
| l^ m n n^ p Q r R | |||||
| s S t tS ts tz v w | |||||
| x z | |||||
| * ; b d d; dZ dz f | |||||
| g h j k l l^ m n | |||||
| N n^ p r R R^ R^/ s | |||||
| S t t; tS ts v x z | |||||
| Z | |||||
| Dictionary kn_dict | |||||
| Dictionary sq_dict | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: r- u u: V | |||||
| y | |||||
| @ @/ a A a/ aI E e | |||||
| eI i I I# O OI u V | |||||
| y yE | |||||
| : b bh c ch d d. dh | |||||
| dh. dZ f g gh h j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph R R2 s S | |||||
| s. S; t t. th th. tS v | |||||
| w z | |||||
| ** : ; b c d D dZ | |||||
| dz dZ; f g h j k l | |||||
| L ll m n n^ p r R | |||||
| R2 s S t T tS ts v | |||||
| w z Z | |||||
| Dictionary ml_dict | |||||
| Dictionary sv_dict | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: r- u u: V | |||||
| y | |||||
| 8 @ a a2 A: E E- e: | |||||
| E: I i: O o: U u- u: | |||||
| W y y: Y: | |||||
| : b bh c ch d d. dh | |||||
| dh. dZ f g gh h j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph R R2 s s. | |||||
| S; t t. th th. tS v w | |||||
| z z. | |||||
| : ; b d f g h j | |||||
| k l m n N p R s | |||||
| S s. S; sx t v w z | |||||
| Dictionary mn_dict | |||||
| Dictionary sw_dict | |||||
| a e i o O o: U u | |||||
| @- a a/ e i m- n- N- | |||||
| o u | |||||
| : ; c f g j k L | |||||
| m n p p# R s S t | |||||
| t# tS ts ts# w x | |||||
| * : b d D f g h | |||||
| j J k l m n N n^ | |||||
| p Q R s S t T tS | |||||
| v w x z | |||||
| Dictionary ne_dict | |||||
| Dictionary ta_dict | |||||
| @ @/ @2 @3 a aI aU a~ | |||||
| e E eI eU e~ E~ i I | |||||
| i~ l- o O o: oI oU O~ | |||||
| o~ r- u uI u~ V VI VU | |||||
| V~ | |||||
| a a: aI aU e E e: i | |||||
| I i: o o: U u u: V | |||||
| - : b bh c ch d d. | |||||
| dh f g gh h H j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph Q q r r. | |||||
| s S s. t T t. th v | |||||
| w x z z. | |||||
| : ; b C d d. dZ f | |||||
| g h H j k l l. m | |||||
| n N n. n^ p r R s | |||||
| S s. t t. th tS v w | |||||
| z z. | |||||
| Dictionary pap_dict | |||||
| Dictionary tr_dict | |||||
| a a/ aI e E eI i o | |||||
| O u y Y | |||||
| a e E i I o O u | |||||
| U u# W y Y | |||||
| : ? b d dZ f g h | |||||
| j k l m n N n^ p | |||||
| R s S t tS v w x | |||||
| z Z | |||||
| * : b c d dZ f g | |||||
| h j J k l m n p | |||||
| Q r R s S t tS v | |||||
| w z Z | |||||
| Dictionary rw_dict | |||||
| Dictionary vi_dict | |||||
| a e i o u | |||||
| @ @: @:I @:U @I @U a a: | |||||
| a:I a:U aI aU E e eU EU | |||||
| i i@ iU O o OI oI u | |||||
| u@ uI y y@ yI | |||||
| * : b B c d dZ f | |||||
| g h j J k l m n | |||||
| N n^ p q R s S S; | |||||
| t tS v w x z | |||||
| b c d D f g h j | |||||
| J k kh l m n N n^ | |||||
| p Q r s s. t t[ ts; | |||||
| tS; v w x z Z z. | |||||
| Dictionary pa_dict | |||||
| Dictionary zh_dict | |||||
| @ a a~ e E e~ E~ i | |||||
| I i~ I~ o O O~ o~ r- | |||||
| U u u~ U~ V V~ | |||||
| @ @r a A ai Au E ei | |||||
| i i. i[ iA iE io iou N- | |||||
| o o- ong ou u u@ ua uai | |||||
| uei uo y y& y@ yE yi yu | |||||
| : ; b bh c ch d d. | |||||
| dh dh. f g gh H j J | |||||
| Jh k kh l l. m n N | |||||
| n. n^ p ph Q R s S | |||||
| t t. th th. v x z | |||||
| (u) ; C f h j k kh | |||||
| l L m n N p ph q | |||||
| r s s. S; t th ts ts. | |||||
| ts. tS; tS; tsh v w x X | |||||
| z. | |||||
| Dictionary prs_dict | |||||
| Dictionary zhy_dict | |||||
| @ A i o | |||||
| a aa aai aan aau ai au e | |||||
| ei eo eoi eu i iu o oe | |||||
| oi ong ou u ui yu | |||||
| b d h l t X | |||||
| b c d f g h j k | |||||
| l m n N p r s t | |||||
| tS v w z |
| _?? sImb@L | _?? sImb@L | ||||
| _#9 tab | _#9 tab | ||||
| _#32 speIs | _#32 speIs | ||||
| … _::d%0td,0t // for elipsis or ... while reading | |||||
| _ hA@dspeIs // U+00A0 no-break-space | _ hA@dspeIs // U+00A0 no-break-space | ||||
| _! Ekskl@m'eIS@n | _! Ekskl@m'eIS@n | ||||
| academe a2kad@mI | academe a2kad@mI | ||||
| access aksEs $onlys | access aksEs $onlys | ||||
| access aksEs $verb | access aksEs $verb | ||||
| accouche a2ku:S | |||||
| accouchement a2ku:SmO~ | |||||
| acer eIs3 | acer eIs3 | ||||
| aces eIsI2z | aces eIsI2z | ||||
| acetylene a2sEt@li:n | acetylene a2sEt@li:n | ||||
| moustache m@st'aaS | moustache m@st'aaS | ||||
| mouths maUDz $only | mouths maUDz $only | ||||
| movies mu:vI2z | movies mu:vI2z | ||||
| multitude $1 | |||||
| multiplexer $1 | |||||
| mundane $2 | mundane $2 | ||||
| murmur m3:m3 | murmur m3:m3 | ||||
| ?5 murmur mVRm3 | ?5 murmur mVRm3 | ||||
| nocturnal $2 | nocturnal $2 | ||||
| nomenclature n@mENkl@tS3 | nomenclature n@mENkl@tS3 | ||||
| nonsense n0ns@ns | nonsense n0ns@ns | ||||
| nonetheless n0nD@l'Es | |||||
| nonetheless nVnD@l'Es | |||||
| nosedive noUzdaIv | nosedive noUzdaIv | ||||
| not noUt // for noted, notable, etc | not noUt // for noted, notable, etc | ||||
| nott n0t | nott n0t | ||||
| pastry peIstrI | pastry peIstrI | ||||
| pate pateI | pate pateI | ||||
| pathos peIT0s | pathos peIT0s | ||||
| paypal peIpal | |||||
| pear pe@ | pear pe@ | ||||
| peculiar pI2kju:lI3 | peculiar pI2kju:lI3 | ||||
| pedalo pEd@loU | pedalo pEd@loU | ||||
| Graham greI@m | Graham greI@m | ||||
| Hadrian heIdri:@n | Hadrian heIdri:@n | ||||
| Harriet hari@t | Harriet hari@t | ||||
| Hugh hju: | |||||
| Hughes hju:z | |||||
| Huw hju: | Huw hju: | ||||
| Iain i:@n | Iain i:@n | ||||
| Ian i:@n | Ian i:@n | ||||
| their De@ $u $nounf $only | their De@ $u $nounf $only | ||||
| theirs De@z | theirs De@z | ||||
| none n0n | |||||
| none nVn | |||||
| noone noUw0n | noone noUw0n | ||||
| anyone EnIw0n | anyone EnIw0n | ||||
| everyone EvrIw0n | everyone EvrIw0n | ||||
| ?3 err e@ | ?3 err e@ | ||||
| ?3 fortune fO@tS@n | ?3 fortune fO@tS@n | ||||
| ?3 garage ga2rA:Z | ?3 garage ga2rA:Z | ||||
| ?3 happy hapi: | |||||
| ?3 herb 3:b | ?3 herb 3:b | ||||
| ?3 hurricane h3:@keIn | ?3 hurricane h3:@keIn | ||||
| ?3 investigative Inv,EstI2g'eItIv | ?3 investigative Inv,EstI2g'eItIv |
| ch) ar (it ar | ch) ar (it ar | ||||
| ph) ar (i ar | ph) ar (i ar | ||||
| m) ar (i @r | m) ar (i @r | ||||
| m) ar (ig ar | |||||
| m) ar (inaC ar | |||||
| _m) ar (i ar | |||||
| m) ar (in @r | |||||
| _m) ar (inaC ar | |||||
| m) ar (iner ar | m) ar (iner ar | ||||
| m) ar (io ar | m) ar (io ar | ||||
| htm) ar e@ | htm) ar e@ | ||||
| &) ar (in_ @r | &) ar (in_ @r | ||||
| v) ar (iA e@r | v) ar (iA e@r | ||||
| @) ar (ity ar | @) ar (ity ar | ||||
| ar (iu 'e@r | |||||
| ar (iu+ 'e@r | |||||
| arom (at a2roUm | arom (at a2roUm | ||||
| arre (_ A@ | arre (_ A@ | ||||
| arred (_ A@d | arred (_ A@d | ||||
| ch (é+ S | ch (é+ S | ||||
| ch (ef S | ch (ef S | ||||
| ch (em k | ch (em k | ||||
| chement (_ =SmO~ | |||||
| ch (ev S | ch (ev S | ||||
| chez SeI | chez SeI | ||||
| Ca) ch (e S | Ca) ch (e S | ||||
| en (core 0n | en (core 0n | ||||
| &) ency (_ @ns%I | &) ency (_ @ns%I | ||||
| ency (cli %EnsI | ency (cli %EnsI | ||||
| en (dA_ 'En | |||||
| _) en (d En | _) en (d En | ||||
| _) en (da %En | _) en (da %En | ||||
| eg) en (d @n | eg) en (d @n | ||||
| p) ie (_ aI | p) ie (_ aI | ||||
| pp) ie (_ I | pp) ie (_ I | ||||
| ie (f i: | ie (f i: | ||||
| iege i:dZ | |||||
| ieg (e# i:dZ | |||||
| ie (go I'eI | ie (go I'eI | ||||
| ieh (C i: | ieh (C i: | ||||
| iei (_ i:aI | iei (_ i:aI | ||||
| ie (t aI@ | ie (t aI@ | ||||
| @) ie (th i@ | @) ie (th i@ | ||||
| iesta i:'Est@ | iesta i:'Est@ | ||||
| iette I2'Et | |||||
| ie (tt I2'E | |||||
| @) iety 'aI@t%I | @) iety 'aI@t%I | ||||
| l) ieu u: | l) ieu u: | ||||
| l) ieu (te %Ef | l) ieu (te %Ef | ||||
| @) most(_S4 moUst | @) most(_S4 moUst | ||||
| &) mouth (_ m@T | &) mouth (_ m@T | ||||
| _) multi mVltI | _) multi mVltI | ||||
| _) multi (@@P5 m,VltI | |||||
| .group mi | .group mi | ||||
| millen mI2lEn | millen mI2lEn | ||||
| oa oU | oa oU | ||||
| oar (_ o@ | oar (_ o@ | ||||
| oar o@ | oar o@ | ||||
| o (atia oU | |||||
| cr) o (at oU | |||||
| br) oa (d O: | br) oa (d O: | ||||
| o (ba oU | o (ba oU | ||||
| t) o (bacc @ | t) o (bacc @ | ||||
| @) or (ic_ '0r | @) or (ic_ '0r | ||||
| or (ig 0r | or (ig 0r | ||||
| &) ored (_ @d | &) ored (_ @d | ||||
| h) ored (_S1 d | |||||
| _f) ore (C O@ | _f) ore (C O@ | ||||
| f) ore (clo %o@ | f) ore (clo %o@ | ||||
| f) ore (st 0rI | f) ore (st 0rI | ||||
| _ca) su Zu: | _ca) su Zu: | ||||
| _) sus (A su:z | _) sus (A su:z | ||||
| su (al Zu: | su (al Zu: | ||||
| n) su (al sju: | |||||
| _) su (b sV | _) su (b sV | ||||
| su (bdue s%V | su (bdue s%V | ||||
| su (bmerg s@ | su (bmerg s@ | ||||
| tsch tS | tsch tS | ||||
| _) two tu: | _) two tu: | ||||
| ttu (r t@ | ttu (r t@ | ||||
| @) tu (al tSu: | |||||
| @) tu (late =tSU | @) tu (late =tSU | ||||
| @) tur (A tS@r | @) tur (A tS@r | ||||
| @) tur (al_ tS=@r | @) tur (al_ tS=@r | ||||
| f) u (gal 'ju: | f) u (gal 'ju: | ||||
| ug (er_ u:g | ug (er_ u:g | ||||
| s) ugge (st @dZE | s) ugge (st @dZE | ||||
| h) ugh ju: | |||||
| mp) ug (n ju: | mp) ug (n ju: | ||||
| uh (C u: | uh (C u: | ||||
| u (i ju: | u (i ju: | ||||
| _f) ully UlI | _f) ully UlI | ||||
| f) ull Ul | f) ull Ul | ||||
| p) ull Ul | p) ull Ul | ||||
| _) ultra (@ ,Ultra | |||||
| u (ly u: | u (ly u: | ||||
| d) u (ly ju: | d) u (ly ju: | ||||
| u (lul V | u (lul V | ||||
| uoy OI | uoy OI | ||||
| _) us (_ Vz | _) us (_ Vz | ||||
| _) us (A ju:z | _) us (A ju:z | ||||
| usu (al ju:Zu: | |||||
| &) us (_ @s | &) us (_ @s | ||||
| usua (l ju:Zu: | |||||
| u (sh V | u (sh V | ||||
| b) u (sh U | b) u (sh U | ||||
| c) u (sh U | c) u (sh U | ||||
| En (_ @n | En (_ @n | ||||
| ?8 En (_ En | ?8 En (_ En | ||||
| En (atA @n | En (atA @n | ||||
| En (dA_ 'En | |||||
| E (ndous E | E (ndous E | ||||
| Ener (_ _n@ | Ener (_ _n@ | ||||
| Ening (_ _nI2N | Ening (_ _nI2N |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated 2009-10-09 Michel Such <[email protected]> | |||||
| // Updated 2009-10-26 Michel Such <[email protected]> | |||||
| // | // | ||||
| // * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
| // | // | ||||
| avant $u+ | avant $u+ | ||||
| après $u+ | après $u+ | ||||
| (temps en temps) tA~zA~tA~ | (temps en temps) tA~zA~tA~ | ||||
| alors alOr $u+ | |||||
| depuis $u+ | |||||
| ainsi $u+ | ainsi $u+ | ||||
| alors alOr $u+ | |||||
| aussi $u+ | aussi $u+ | ||||
| encore $u+ | |||||
| depuis $u+ | |||||
| certes $u+ | certes $u+ | ||||
| tel $u+ | tel $u+ | ||||
| telle $u+ | telle $u+ | ||||
| telles $u+ | telles $u+ | ||||
| tout t'ut2 $u+ | |||||
| toute t'ut $u+ | |||||
| toutes t'utz2 $u+ | |||||
| tous $u+ | |||||
| rien Ri-'E~n2 $u+ | |||||
| tout t'ut2 | |||||
| rien Ri-'E~n2 | |||||
| // Letters which can be words | // Letters which can be words | ||||
| //=========================== | //=========================== | ||||
| arte arte | arte arte | ||||
| auvent ovA~ | auvent ovA~ | ||||
| beta beta | beta beta | ||||
| bien bi-E~n2 $u+ | |||||
| bien bi-E~n2 | |||||
| bis bis | bis bis | ||||
| bissus bisys | bissus bisys | ||||
| blues _^_en | blues _^_en | ||||
| wallis wAlis | wallis wAlis | ||||
| futuna futuna | futuna futuna | ||||
| zimbabwe zimbabwe | zimbabwe zimbabwe | ||||
| _1M1o EzR2Edik | _1M1o EzR2Edik | ||||
| _2M1o ke:tEzR2Edik | _2M1o ke:tEzR2Edik | ||||
| _0-a A | |||||
| _0-i Ei | |||||
| _0-e E | |||||
| _0-án a:n | |||||
| _0-ára a:R2A | |||||
| _0-ére e:R2E | |||||
| _0-ra a:R2A | |||||
| _0-re e:R2E | |||||
| _0-én e:n | |||||
| _0-ai Ai | |||||
| _0-ei Ei | |||||
| (1-e) elseje $text | |||||
| (1-én) elsején $text | |||||
| (1-jén) elsején $text | |||||
| (1-i) elsejei $text | |||||
| (1-ei) elsejei $text | |||||
| (1-ére) elsejére $text | |||||
| (1-re) elsejére $text | |||||
| (2-i) másodikai $text | |||||
| (3-i) harmadikai $text | |||||
| (6-i) hatodikai $text | |||||
| (8-i) nyolcadikai $text | |||||
| (13-i) tizenharmadikai $text | |||||
| (16-i) tizenhatodikai $text | |||||
| (18-i) tizennyolcadikai $text | |||||
| (20-i) huszadikai $text | |||||
| (23-i) huszonharmadikai $text | |||||
| (26-i) huszonhatodikai $text | |||||
| (28-i) huszonnyolcadikai $text | |||||
| (30-i) harmincadikai $text | |||||
| // $alt2 means these rules only apply if the previous word | |||||
| // has $alt1 (language specific). $text implies $only (for this group only) | |||||
| _0-a A $alt2 | |||||
| _0-i Ei $alt2 | |||||
| _0-e E $alt2 | |||||
| _0-án a:n $alt2 | |||||
| _0-ára a:R2A $alt2 | |||||
| _0-ére e:R2E $alt2 | |||||
| _0-ra a:R2A $alt2 | |||||
| _0-re e:R2E $alt2 | |||||
| _0-én e:n $alt2 | |||||
| _0-ai Ai $alt2 | |||||
| _0-ei Ei $alt2 | |||||
| _0-től e:tY:l $alt2 | |||||
| _0-tól a:to:l $alt2 | |||||
| _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc. | |||||
| (1-e) elseje $text $alt2 | |||||
| (1-én) elsején $text $alt2 | |||||
| (1-jén) elsején $text $alt2 | |||||
| (1-i) elsejei $text $alt2 | |||||
| (1-ei) elsejei $text $alt2 | |||||
| (1-ére) elsejére $text $alt2 | |||||
| (1-re) elsejére $text $alt2 | |||||
| (1-től) elsejétől $text $alt2 | |||||
| (1-ig) elsejéig $text $alt2 | |||||
| (2-i) másodikai $text $alt2 | |||||
| (2-ig) másodikáig $text $alt2 | |||||
| (3-i) hAR2_mAdikAi $alt2 | |||||
| (3-ig) harmadikáig $text $alt2 | |||||
| (6-i) hAtodikAi $alt2 | |||||
| (6-ig) hatodikáig $text $alt2 | |||||
| (8-i) n^'oltsAdikAi $alt2 | |||||
| (8-ig) nyolcadikáig $text $alt2 | |||||
| (13-ig) tizenharmadikáig $text $alt2 | |||||
| (16-ig) tizenhatodikáig $text $alt2 | |||||
| (18-ig) tizennyolcadikáig $text $alt2 | |||||
| (20-i) huszadikai $text $alt2 | |||||
| (20-ig) huszadikáig $text $alt2 | |||||
| (23-ig) huszonharmadikáig $text $alt2 | |||||
| (26-ig) huszonhatodikáig $text $alt2 | |||||
| (28-ig) huszonnyolcadikáig $text $alt2 | |||||
| (30-ig) harmincadikáig $text $alt2 | |||||
| (30-i) harmincadikai $text $alt2 | |||||
| // these exceptions only for 0, not for other numbers ending in '0' | |||||
| (0-ás) nul:a:S | |||||
| (0-t) nul:a:t | |||||
| (0-val) nul:a:vAl | |||||
| // entries with a single digit such as (2-i) also apply to 22, 32, etc, unless $only | |||||
| // with these suffixes, use [J:] not [J] | |||||
| (1-es) EJ:ES | |||||
| (1-et) EJ:Et | |||||
| (1-est) EJ:ESt | |||||
| (1-esét) EJ:ESe:t | |||||
| (1-esével) EJ:ESe:vEl | |||||
| (1-essel) EJ:ES:El | |||||
| (1-eseik) EJ:ESEik | |||||
| (1-eseikkel) EJ:ESEik:El | |||||
| (1-eseiket) EJ:ESEikEt | |||||
| (1-esekkel) EJ:ESEk:El | |||||
| (1-esek) EJ:ESEk | |||||
| (1-el) EJ:El | |||||
| (2-es) kEt:ES | |||||
| (2-est) kEt:ESt | |||||
| (2-essel) kEt:ES:El | |||||
| (2-őt) kEt:Y:t | |||||
| (2-esen) kEt:ESEn | |||||
| (2-esével) kEt:ESe:vEl | |||||
| (2-n) kEt:Y:n | |||||
| (2-esekkel) kEt:ESEk:El | |||||
| (2-eseket) kEt:ESEkEt | |||||
| (2-eseik) kEt:ESEik | |||||
| (3-as) ha:R2mAS | |||||
| (3-asának) ha:R2mASa:nAk | |||||
| (3-ason) ha:R2mASon | |||||
| (3-assal) ha:R2mAS:Al | |||||
| (3-asával) ha:R2mASa:vAl | |||||
| (3-ast) ha:R2mASt | |||||
| (3-at) ha:R2mAt | |||||
| (3-al) ha:R2om:Al | |||||
| (4-el) ne:J:El //4 number suffixes (now contains one suffix) | |||||
| (5-tel) Yt:El | |||||
| (5-el) Yt:El | |||||
| (6-al) hAt:Al | |||||
| (6-tal) hAt:Al | |||||
| (7-es) hEtES | |||||
| (7-est) hEtESt | |||||
| (7-esek) hEtESEk | |||||
| (7-eseket) hEtESEkEt | |||||
| (7-esekkel) hEtESEk:El | |||||
| (7-esbe) hEtESbE | |||||
| (7-esben) hEtESbEn | |||||
| (7-esük) hEtESyk | |||||
| (7-tel) he:t:El | |||||
| (7-el) he:t:El | |||||
| (10-es) tizES // use [i] not [i:] | |||||
| (10-est) tizESt | |||||
| (10-essel) tizES:El | |||||
| (10-esével) tizESe:vEl | |||||
| (20-as) husAS // use [u] not [u:] | |||||
| (20-ast) husASt | |||||
| (20-assal) husAS:Al | |||||
| (20-asával) husASa:vAl | |||||
| //special number exceptions | |||||
| (10-el) ti:zzEl | |||||
| (20-al) hu:s:Al | |||||
| (30-al) hAR2mints:Al | |||||
| (40-el) nEJvEn:El | |||||
| (50-el) YtvEn:El | |||||
| (60-al) hAtvAn:Al | |||||
| (70-el) hEtvEn:El | |||||
| (80-al) n^oltsvAn:Al | |||||
| (90-el) kilEntsvEn:El | |||||
| // These words mean that a dot after number, immediately preceding, does not mean an ordinal number | // These words mean that a dot after number, immediately preceding, does not mean an ordinal number | ||||
| január $alt | január $alt | ||||
| //The following 12 row contains shorter hungarian month names | //The following 12 row contains shorter hungarian month names | ||||
| jan $alt | jan $alt | ||||
| feb $alt | feb $alt | ||||
| febr $alt | |||||
| márc $alt | márc $alt | ||||
| ápr $alt | ápr $alt | ||||
| máj $alt | máj $alt | ||||
| // Abbreviations | // Abbreviations | ||||
| ÁNTSZ a:Ente:Es $allcaps | ÁNTSZ a:Ente:Es $allcaps | ||||
| km kilo:me:tER2 | km kilo:me:tER2 | ||||
| GYSEV JESEv $allcaps | |||||
| GYESEV JESEv $allcaps | |||||
| HÉV he:v $allcaps | |||||
| City siti $capital | |||||
| GDP dZi:di:pi: $allcaps | |||||
| HSDPA $abbrev $allcaps | |||||
| ORTT $abbrev $allcaps | |||||
| ORFK oEREfka: $abbrev $allcaps | |||||
| MÁV ma:v $allcaps | |||||
| MTI $abbrev $allcaps | |||||
| mm milime:tER2 | mm milime:tER2 | ||||
| VDSZSZ ve:de:EsEs $allcaps | |||||
| a.m An^n^i||m'int $dot | a.m An^n^i||m'int $dot | ||||
| ún u:JnEvEzEt: $dot | |||||
| dr doktoR2 $dot | dr doktoR2 $dot | ||||
| mr mistER2 $dot //in hungarian we not use, but lot of books contains this word. | |||||
| mrs misis $dot //In hungarian we not use, but lot of book contains this word. | |||||
| gpu $abbrev | gpu $abbrev | ||||
| GB gigAba:jt $allcaps | |||||
| MB mEgAba:jt $allcaps | |||||
| OK ok $allcaps | |||||
| mvgyosz Emve:Je:oEs | mvgyosz Emve:Je:oEs | ||||
| OTP $abbrev | |||||
| OTP o:te:pe: $allcaps | |||||
| id idY:SEb: $dot | id idY:SEb: $dot | ||||
| ill illEtvE $dot | ill illEtvE $dot | ||||
| ifj ifjAb: $dot | ifj ifjAb: $dot | ||||
| // Articles | // Articles | ||||
| a $u // the | |||||
| az $u | |||||
| aki $u+ // that | |||||
| a $u $strend2 // the | |||||
| az $u $strend2 | |||||
| //aki $u+ // that | |||||
| ez $u+ // this | |||||
| ez $unstressend // this | |||||
| // Pronouns | // Pronouns | ||||
| // If these are only used for emphasis then then don't need $u | // If these are only used for emphasis then then don't need $u | ||||
| // én $u | |||||
| // te $u | |||||
| // ő $u | |||||
| // mi $u | |||||
| // ti $u | |||||
| // ők $u | |||||
| // maga $u | |||||
| // maguk $u | |||||
| én $unstressend | |||||
| te $unstressend | |||||
| ők $unstressend $pause | |||||
| mi $unstressend | |||||
| ti $unstressend | |||||
| ők $unstressend | |||||
| maga $unstressend | |||||
| maguk $unstressend | |||||
| // Conjunctions | // Conjunctions | ||||
| miatt $u // because | miatt $u // because | ||||
| bár $u $pause // although | bár $u $pause // although | ||||
| habár $u $pause // although | habár $u $pause // although | ||||
| ha $u $pause // if | ha $u $pause // if | ||||
| noha $u $pause // even thought | noha $u $pause // even thought | ||||
| // Negative | // Negative | ||||
| nem $u $combine $strend | |||||
| ne $u+ | |||||
| nem $unstressend $combine $strend | |||||
| ne $unstressend | |||||
| e $u // "-e" question | e $u // "-e" question | ||||
| e $atend // stressed at end of sentence | e $atend // stressed at end of sentence | ||||
| // Unstressed adverbs prepositions etc. | // Unstressed adverbs prepositions etc. | ||||
| néhány $u+ | |||||
| néhány $unstressend | |||||
| is $u // also | is $u // also | ||||
| elöl $u // in front of | |||||
| elől $u | |||||
| elé $u | |||||
| előtt $u | |||||
| mögül $u // behind | |||||
| mögött $u | |||||
| mögé $u | |||||
| kívül $u | |||||
| után $u // after | |||||
| alól $u | |||||
| alá $u | |||||
| alatt $u // below | |||||
| felől $u // above | |||||
| felé $u | |||||
| fölé $u | |||||
| felett $u // above | |||||
| fölött $u | |||||
| mellől $u // besides | |||||
| mellé $u | |||||
| mellett $u | |||||
| közül $u | |||||
| közé $u | |||||
| között $u | |||||
| elöl $unstressend // in front of | |||||
| elől $unstressend | |||||
| elé $unstressend | |||||
| előtt $unstressend | |||||
| mögül $unstressend // behind | |||||
| mögött $unstressend | |||||
| mögé $unstressend | |||||
| kívül $unstressend | |||||
| után $unstressend // after | |||||
| alól $unstressend | |||||
| alá $unstressend | |||||
| alatt $unstressend // below | |||||
| felől $unstressend // above | |||||
| felé $unstressend | |||||
| fölé $unstressend | |||||
| felett $unstressend // above | |||||
| fölött $unstressend | |||||
| //mellől $u // besides | |||||
| //mellé $u | |||||
| //mellett $u | |||||
| lett $unstressend | |||||
| ott $unstressend | |||||
| itt $unstressend | |||||
| neked $unstressend | |||||
| nektek $unstressend | |||||
| nekik $unstressend | |||||
| neki $unstressend | |||||
| nekem $unstressend | |||||
| //közül $u | |||||
| //közé $u | |||||
| //között $u | |||||
| an $u // so many persons | an $u // so many persons | ||||
| as $u | as $u | ||||
| ba $u // into | |||||
| ban $u // in | |||||
| be $u | |||||
| ben $u | |||||
| ból $u // from inside | |||||
| ből $u | |||||
| ba $unstressend // into | |||||
| ban $unstressend // in | |||||
| be $unstressend | |||||
| ben $unstressend | |||||
| ból $unstressend // from inside | |||||
| ből $unstressend | |||||
| e $u // in query, his/her | e $u // in query, his/her | ||||
| ei $u // his her multiole | ei $u // his her multiole | ||||
| en $u | en $u | ||||
| es $u | es $u | ||||
| hez $u | |||||
| hoz $u // to | |||||
| höz $u | |||||
| ig $u // up to | |||||
| ik $u // -th | |||||
| nak $u // of, him/her | |||||
| nek $u | |||||
| nál $u // by | |||||
| nél $u | |||||
| on $u // on | |||||
| en $u // on | |||||
| hez $unstressend | |||||
| hoz $unstressend // to | |||||
| höz $unstressend | |||||
| ig $unstressend // up to | |||||
| ik $unstressend // -th | |||||
| nak $unstressend // of, him/her | |||||
| nek $unstressend | |||||
| nál $unstressend // by | |||||
| nél $unstressend | |||||
| on $unstressend // on | |||||
| en $unstressend // on | |||||
| os $u | os $u | ||||
| ra $u // onto | |||||
| re $u | |||||
| ról $u // from top of, about | |||||
| röl $u | |||||
| ről $u | |||||
| ra $unstressend // onto | |||||
| re $unstressend | |||||
| ról $unstressend // from top of, about | |||||
| röl $unstressend | |||||
| ről $unstressend | |||||
| szer $u | szer $u | ||||
| szor $u // times | szor $u // times | ||||
| szó $unstressend | |||||
| szór $u | szór $u | ||||
| ször $u | ször $u | ||||
| tól $u // from | |||||
| töl $u | |||||
| től $u | |||||
| val $u // with | |||||
| vel $u | |||||
| tól $unstressend // from | |||||
| töl $unstressend | |||||
| től $unstressend | |||||
| val $unstressend // with | |||||
| vel $unstressend | |||||
| án $u // on that day | án $u // on that day | ||||
| é $u // his, her | é $u // his, her | ||||
| éi $u // his, her multiple | éi $u // his, her multiple | ||||
| én $u | |||||
| én $unstressend | |||||
| ón $u | ón $u | ||||
| ós $u | ós $u | ||||
| ön $u | |||||
| ön $unstressend | |||||
| ös $u | ös $u | ||||
| ellen $u // against | |||||
| elé $u // before | |||||
| óta $u // since | |||||
| sok $u // many | |||||
| kevés $u // few | |||||
| se $u // neither | |||||
| sem $u // nor | |||||
| be $u //into | |||||
| ki $u // out of | |||||
| le $u // down | |||||
| fel $u // up | |||||
| föl $u // up | |||||
| meg $u // finish an action | |||||
| el $u // away | |||||
| át $u //through | |||||
| rá $u //onto | |||||
| ide $u // here | |||||
| oda $u // there | |||||
| szét $u //apart | |||||
| össze $u //connect with | |||||
| vissza $u //back | |||||
| ellen $u //against | |||||
| volna $u // would | |||||
| részén $u //on ... part of | |||||
| nélkül $u // without | |||||
| folytán $u // because of | |||||
| úgy $u // like that | |||||
| így $u // like this | |||||
| egyaránt $u // alike | |||||
| minden $u // all | |||||
| részben $u // partly | |||||
| egyik $u // one of | |||||
| másik $u // the other | |||||
| ellen $unstressend // against | |||||
| //elé $u // before | |||||
| //óta $u // since | |||||
| sok $unstressend // many | |||||
| kevés $unstressend // few | |||||
| se $unstressend // neither | |||||
| sem $unstressend // nor | |||||
| be $unstressend //into | |||||
| ki $unstressend // out of | |||||
| le $unstressend // down | |||||
| fel $unstressend // up | |||||
| föl $unstressend // up | |||||
| meg $unstressend // finish an action | |||||
| el $unstressend // away | |||||
| át $unstressend //through | |||||
| rá $unstressend //onto | |||||
| ide $unstressend // here | |||||
| oda $unstressend // there | |||||
| szét $unstressend //apart | |||||
| //össze $u //connect with | |||||
| //vissza $u //back | |||||
| volna $unstressend // would | |||||
| //részén $u //on ... part of | |||||
| nélkül $unstressend // without | |||||
| //folytán $u // because of | |||||
| úgy $unstressend // like that | |||||
| így $unstressend // like this | |||||
| egyaránt $unstressend // alike | |||||
| //minden $strend // all | |||||
| mindent $strend | |||||
| //részben $u // partly | |||||
| egyik $unstressend // one of | |||||
| //másik $u // the other | |||||
| lehet $unstressend | |||||
| rossz $unstressend | |||||
| jó $unstressend | |||||
| jót $unstressend | |||||
| kér $unstressend | |||||
| tartják $unstressend | |||||
| erős $unstressend | |||||
| lennie $unstressend | |||||
| közt $u+ | |||||
| levegőjére $unstressend | |||||
| ad $unstressend | |||||
| kapják $unstressend | |||||
| kap $unstressend | |||||
| már $unstressend | |||||
| maradt $unstressend | |||||
| jobb $unstressend | |||||
| most $unstressend | |||||
| még $unstressend | |||||
| gép $unstressend | |||||
| részt $unstressend | |||||
| lenne $unstressend | |||||
| őt $unstressend | |||||
| helyes $u+ | |||||
| fák $unstressend | |||||
| et $unstressend | |||||
| megvédeni $unstressend | |||||
| sztrájk $unstressend | |||||
| hír $unstressend | |||||
| magukat $unstressend | |||||
| majd $unstressend | |||||
| áll $unstressend | |||||
| állt $unstressend | |||||
| arról $unstressend | |||||
| innen $unstressend | |||||
| érjen $unstressend | |||||
| nap $unstressend | |||||
| név $unstressend | |||||
| lány $unstressend | |||||
| lányt $unstressend | |||||
| vár $unstressend | |||||
| várt $unstressend | |||||
| ért $unstressend | |||||
| ér $unstressend | |||||
| tag $unstressend | |||||
| tesz $unstressend | |||||
| tett $unstressend | |||||
| tette $unstressend | |||||
| baj $unstressend | |||||
| csak $unstressend | |||||
| vált $unstressend | |||||
| jut $unstressend | |||||
| legyen $unstressend | |||||
| azt $unstressend | |||||
| ezt $unstressend | |||||
| út $unstressend | |||||
| tiszt $unstressend | |||||
| vesz $unstressend | |||||
| cég $unstressend | |||||
| járt $unstressend | |||||
| jár $unstressend | |||||
| él $unstressend | |||||
| élsz $unstressend | |||||
| élt $unstressend | |||||
| hát $unstressend | |||||
| fiú $unstressend | |||||
| srác $unstressend | |||||
| ült $unstressend | |||||
| ám $unstressend | |||||
| rám $unstressend | |||||
| tűnik $unstressend | |||||
| nyújt $unstressend | |||||
| nincsen $unstressend | |||||
| mégy $unstressend | |||||
| nő $unstressend | |||||
| nőt $unstressend | |||||
| sas $unstressend | |||||
| sast $unstressend | |||||
| fél $unstressend | |||||
| félt $unstressend | |||||
| félsz $unstressend | |||||
| düh $unstressend | |||||
| más $unstressend | |||||
| mást $unstressend | |||||
| rúd $unstressend | |||||
| mint $unstressend $brk $combine | |||||
| iránt $unstressend | |||||
| légy $unstressend | |||||
| tűnt $unstressend | |||||
| ösét $unstressend | |||||
| új $unstressend | |||||
| nyúlt $unstressend | |||||
| magát $unstressend | |||||
| engem $unstressend | |||||
| téged $unstressend | |||||
| minket $unstressend | |||||
| titeket $unstressend | |||||
| őket $unstressend | |||||
| cikk $unstressend | |||||
| vont $unstressend | |||||
| mond $unstressend | |||||
| jutni $unstressend | |||||
| jött $unstressend | |||||
| szólsz $unstressend | |||||
| lőtt $unstressend | |||||
| sor $unstressend | |||||
| árt $unstressend | |||||
| fest $unstressend | |||||
| fújt $unstressend | |||||
| kért $unstressend | |||||
| tét $unstressend | |||||
| kém $unstressend | |||||
| jön $unstressend | |||||
| bent $unstressend | |||||
| kezd $unstressend | |||||
| ránk $unstressend | |||||
| gondolt $unstressend | |||||
| dönt $unstressend | |||||
| véli $unstressend | |||||
| folyt $unstressend | |||||
| döntött $unstressend | |||||
| fájt $unstressend | |||||
| hozni $unstressend | |||||
| lát $unstressend | |||||
| kép $unstressend | |||||
| nyert $unstressend | |||||
| függ $unstressend | |||||
| hidd $unstressend | |||||
| megy $unstressend | |||||
| hírt $unstressend | |||||
| hely $unstressend | |||||
| jutott $unstressend | |||||
| mit $unstressend | |||||
| forrás $unstressend | |||||
| terv $unstressend | |||||
| mind $unstressend | |||||
| ment $unstressend | |||||
| jól $unstressend | |||||
| napját $unstressend | |||||
| több $unstressend | |||||
| tart $unstressend | |||||
| hág $unstressend | |||||
| // word pairs | // word pairs | ||||
| lesznek $u | lesznek $u | ||||
| kell $u+ // should | |||||
| kell $unstressend // should | |||||
| szabad $u+ // can (allowed) | szabad $u+ // can (allowed) | ||||
| ø $accent | ø $accent | ||||
| ß _^_DE | ß _^_DE | ||||
| . pont $max3 | |||||
| … _p%ontp%ontp%ont // 3 or more dots are changed to elipsis | |||||
| . p%ont $max3 | |||||
| _. pont | |||||
| * tSillAg $max3 | * tSillAg $max3 | ||||
| % sa:zAle:k $max3 | % sa:zAle:k $max3 | ||||
| + plus $max3 | + plus $max3 | ||||
| _] z'a:R2o:sYglEtES $max3 | _] z'a:R2o:sYglEtES $max3 | ||||
| _{ k'EzdY:kAptSoS $max3 | _{ k'EzdY:kAptSoS $max3 | ||||
| _} v'e:gkAptSoS $max3 | _} v'e:gkAptSoS $max3 | ||||
| _… pontpontpont $max3 | |||||
| _… pontpontpont | |||||
| _• di:spont | _• di:spont | ||||
| _| fyg:Y:lEgESvonAl | _| fyg:Y:lEgESvonAl | ||||
| _> nAJob | _> nAJob | ||||
| (Szvsz) eszvéesz | (Szvsz) eszvéesz | ||||
| (edik szeptember) szeptember | |||||
| (CD-k) cédék | |||||
| (cd-k) cédék | |||||
| (CD-n) cédén | |||||
| (cd-n) cédén | |||||
| (cd-d) cédéd | |||||
| (CD-d) cédéd | |||||
| (db-os) darabos | |||||
| (db-ot) darabot | |||||
| // Hungarian translation rules | // Hungarian translation rules | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| û ű | û ű | ||||
| .group a | .group a | ||||
| a A | a A | ||||
| _) a (_ %A | _) a (_ %A | ||||
| _) alattvaló _!'AlAtvAlo: | |||||
| D00_-) al (_ zAl // double z for 100-al | |||||
| 000_-) al (_ Al // ... but not 1000-al | |||||
| _) alattvaló AlAtvAlo: | |||||
| .group á | .group á | ||||
| á a: | á a: | ||||
| @) ban (_S3 bAn | @) ban (_S3 bAn | ||||
| @) ben (_S3 bEn | @) ben (_S3 bEn | ||||
| biz (A b'iz, // bizalmas etc. | |||||
| biz (A biz, // bizalmas etc. | |||||
| biedermeier bi:dER2ma:jER2 | biedermeier bi:dER2ma:jER2 | ||||
| .group c | .group c | ||||
| cs tS | cs tS | ||||
| ccs tS: | ccs tS: | ||||
| !) cz ts // in names which start with a capital letter | !) cz ts // in names which start with a capital letter | ||||
| ar) csz (e ts | |||||
| harmin) c ts | |||||
| csz ts|s | |||||
| ar) c (cson ts | |||||
| anar) ch (i C | anar) ch (i C | ||||
| balda) ch (in C | balda) ch (in C | ||||
| hierar) ch (i C | hierar) ch (i C | ||||
| szé) ch tS | szé) ch tS | ||||
| _zi) ch (y tS | _zi) ch (y tS | ||||
| c (szín tS | |||||
| dA) c (sz ts | |||||
| kilen) c (sz ts | |||||
| kvar) c (sz ts | |||||
| mala) c (sá ts | mala) c (sá ts | ||||
| nyol) c (sz ts | |||||
| har) c (sz ts | |||||
| lán) c (sz ts | |||||
| pá) c (só ts | pá) c (só ts | ||||
| per) c (sz ts | |||||
| pol) c (so ts | pol) c (so ts | ||||
| por) c (sé ts | por) c (sé ts | ||||
| por) c (sz ts | por) c (sz ts | ||||
| rán) c (sz ts | |||||
| tán) c (sz ts | |||||
| _szé) che (ny tSe: | _szé) che (ny tSe: | ||||
| _szé) ché (ny tSe: | _szé) ché (ny tSe: | ||||
| _sto) ck (holm k | _sto) ck (holm k | ||||
| har) c (csoport ts | |||||
| _) church tSYR2tS | _) church tSYR2tS | ||||
| lán) c (cs ts | |||||
| .group d | .group d | ||||
| d d | d d | ||||
| beszé) d (szin d | beszé) d (szin d | ||||
| cselé) d d | cselé) d d | ||||
| fogó) dz (kod ts | fogó) dz (kod ts | ||||
| fogó) dz (ó z | |||||
| fenyegető) dz z | fenyegető) dz z | ||||
| föl) d (sánc d | föl) d (sánc d | ||||
| ha) dd (_S2 d | |||||
| ha) d (járat d | ha) d (járat d | ||||
| ha) d (sor d | ha) d (sor d | ||||
| hor) d (szék d | hor) d (szék d | ||||
| máso) d (sor d | |||||
| akaró) dz z | |||||
| hallgató) dz z | |||||
| húzó) dz ts | |||||
| harapó) dz z | harapó) dz z | ||||
| himbáló) dz z | himbáló) dz z | ||||
| lopó) dz z | |||||
| tapogató) dz z | |||||
| villó) dz z | |||||
| e) dz (ő dz | |||||
| e) dz (és dz | |||||
| pa) d (sor d | pa) d (sor d | ||||
| ren) d (sza d | ren) d (sza d | ||||
| va) d (sző d | va) d (sző d | ||||
| kére) dz ts | kére) dz ts | ||||
| mentegető) dz z | mentegető) dz z | ||||
| dsz ts | dsz ts | ||||
| dsz (C ts | dsz (C ts | ||||
| dsz (a ds | dsz (a ds | ||||
| dsz (á ds | |||||
| a) dsz (A ts: | a) dsz (A ts: | ||||
| e) dsz (A ts: | e) dsz (A ts: | ||||
| o) dsz (A ts: | o) dsz (A ts: | ||||
| .group e | .group e | ||||
| e E | e E | ||||
| 000_-) el (_ REl // double R for 1000-el | |||||
| 000000_-) el (_ El // ... but not 1000000-el | |||||
| D_-_) es (_ %ES | |||||
| _) egyezség _!'EJ:ESSe:g | |||||
| _) egyezség EJ:ESSe:g | |||||
| .group é | .group é | ||||
| é e: | é e: | ||||
| f f | f f | ||||
| .group g | .group g | ||||
| g g | g g | ||||
| gg g: | gg g: | ||||
| _e) gy (ik J: | _e) gy (ik J: | ||||
| _e) gy (üt J: | _e) gy (üt J: | ||||
| e) gyj (elentésű Jj | e) gyj (elentésű Jj | ||||
| lá) gy (sá J | |||||
| gyön) gy (sor J | gyön) gy (sor J | ||||
| _minde) gy (ik J: | _minde) gy (ik J: | ||||
| na) gysz (a Js | na) gysz (a Js | ||||
| na) gy (sokára J | |||||
| na) gy (siet J | |||||
| _) goethe gY:tE | _) goethe gY:tE | ||||
| _) goethé gY:te: | _) goethé gY:te: | ||||
| me) g (gy g | me) g (gy g | ||||
| le) g (gy g | le) g (gy g | ||||
| orszá) g (gyűlés g | orszá) g (gyűlés g | ||||
| ú) gy (se J | |||||
| seho) gy (se J | |||||
| .group h | .group h | ||||
| h h | h h | ||||
| hertz hER2ts | |||||
| .group i | .group i | ||||
| i i | i i | ||||
| íts i:tS: | íts i:tS: | ||||
| fesz) ítsd i:tSd | fesz) ítsd i:tSd | ||||
| ford) ítsd i:tSd | ford) ítsd i:tSd | ||||
| szól) ítsd i:tSd | |||||
| áll) ítsd i:tSd | |||||
| semmis) ítsd i:tSd | semmis) ítsd i:tSd | ||||
| bizony) ítsd i:tSd | bizony) ítsd i:tSd | ||||
| .group l | .group l | ||||
| l l | l l | ||||
| fe) l (ju l | |||||
| fe) l (jö l | |||||
| fe) l (jegy l | |||||
| fe) l (jelen l | |||||
| e) l (jö l | |||||
| lj l^j | lj l^j | ||||
| cé) l (já jj | cé) l (já jj | ||||
| ly j | ly j | ||||
| lly jj | lly jj | ||||
| A) lj (A l^j | A) lj (A l^j | ||||
| e) l (jut l | |||||
| e) l (jus l | |||||
| á) ll (j j | á) ll (j j | ||||
| beszé) lj jj | beszé) lj jj | ||||
| bére) lj jj | bére) lj jj | ||||
| mi) ll (i l | mi) ll (i l | ||||
| .group m | .group m | ||||
| m m | m m | ||||
| ko) mm (uni m | ko) mm (uni m | ||||
| nj n^n^ | nj n^n^ | ||||
| nyj n^n^ | nyj n^n^ | ||||
| _) nem (- n,Em // has $combine attribute in hu_list, combine with the next word | |||||
| _) nem (- nEm // has $combine attribute in hu_list, combine with the next word | |||||
| me) nny (ország n^ | me) nny (ország n^ | ||||
| me) nny (d n^ | me) nny (d n^ | ||||
| me) nny (k n^ | |||||
| pihe) nj (_S2 n^ | |||||
| főbe) n (jár n | |||||
| szí) n (játék n | |||||
| ingye) n n | |||||
| sze) nny (víz n^ | |||||
| ajá) nlj j: | ajá) nlj j: | ||||
| o o | o o | ||||
| _r) oose (velt u:z | _r) oose (velt u:z | ||||
| _) otthon othon | |||||
| otthon othon | |||||
| .group ó | .group ó | ||||
| ó o: | ó o: | ||||
| ssz ss2 | ssz ss2 | ||||
| szts stS: | szts stS: | ||||
| sztsze stsE | sztsze stsE | ||||
| sztsza stsA | |||||
| föld) s (ánc S | föld) s (ánc S | ||||
| s (színű S | s (színű S | ||||
| hel) s (inki z | hel) s (inki z | ||||
| rend) sz (er s: | rend) sz (er s: | ||||
| robbaná) s S | robbaná) s S | ||||
| robbaná) ss S: | robbaná) ss S: | ||||
| ejtőernyő) ssz S|s | |||||
| krumpli) s (zsák S | |||||
| .group t | .group t | ||||
| tc ts: | tc ts: | ||||
| tt t: | tt t: | ||||
| ttk t:k | ttk t:k | ||||
| tth t:h | |||||
| @) tól (_S3q to:l | @) tól (_S3q to:l | ||||
| @) től (_S3q tY:l | @) től (_S3q tY:l | ||||
| tt (C tt | tt (C tt | ||||
| ttn t:n | ttn t:n | ||||
| ttm t:m | |||||
| ttl t:l | |||||
| ttr t:R2 | ttr t:R2 | ||||
| ty c | ty c | ||||
| // s) ty c: // | // s) ty c: // | ||||
| apá) ts (ág tS: | apá) ts (ág tS: | ||||
| becsüle) t t | becsüle) t t | ||||
| becsüle) tt t: | becsüle) tt t: | ||||
| bizo) ts (ág tS: | |||||
| csapa) t (jel t | |||||
| cson) t t | cson) t t | ||||
| cson) tt t: | cson) tt t: | ||||
| cson) tj c | cson) tj c | ||||
| ezüs) tt t: | ezüs) tt t: | ||||
| éle) t t | éle) t t | ||||
| éle) tt t: | éle) tt t: | ||||
| fron) t (szolgál t | |||||
| gyapo) t t | gyapo) t t | ||||
| gyapo) tt t: | gyapo) tt t: | ||||
| gondola) t (sor t | |||||
| gráni) t t | gráni) t t | ||||
| gráni) tt t: | gráni) tt t: | ||||
| já) tsz ts: | já) tsz ts: | ||||
| já) tssz ts: | já) tssz ts: | ||||
| tsz ts: | |||||
| já) tsz (m ts | |||||
| tsz (_S3 ts: | |||||
| tsz (é ts: | |||||
| tsz (o ts: | |||||
| tsz (ő ts: | |||||
| tszó (_S4 ts:o: | |||||
| tsz (a t|s | |||||
| tsz (e t|s | |||||
| tsz (á t|s | |||||
| me) tsz (et ts: | |||||
| ada) t t | |||||
| ada) tt t: | |||||
| ké) t (sarok t | |||||
| ké) t (sor t | |||||
| ké) t (sáv t | |||||
| ké) tsz (er ts: | |||||
| ö) tsz (ör ts: | |||||
| hé) tsz (er ts: | |||||
| kegyele) t t | kegyele) t t | ||||
| kegyele) tt t: | kegyele) tt t: | ||||
| korán) t (se t | |||||
| szorí) ts (a tS: | szorí) ts (a tS: | ||||
| sie) ts tS: | |||||
| üzle) tt t: | |||||
| üzle) tj c: | |||||
| ürí) ts (e tS: | ürí) ts (e tS: | ||||
| mula) ts tS: | mula) ts tS: | ||||
| nemze) ts tS: | nemze) ts tS: | ||||
| nemze) t (szo t | nemze) t (szo t | ||||
| néme) ts (ég tS: | néme) ts (ég tS: | ||||
| min) t t | min) t t | ||||
| tse tSE | |||||
| tso tSo | |||||
| ttsá tS:a: | |||||
| tsa tSA | |||||
| tsá tSa: | |||||
| ts (a tS | |||||
| ts (á tS | |||||
| ts (e tS | |||||
| ts (é tS | |||||
| ts (o tS | |||||
| ts (u tS | |||||
| tsd tSd | tsd tSd | ||||
| tsé tSe: | |||||
| t (cs t | t (cs t | ||||
| ttsé tS:e: | |||||
| tsu tSu | |||||
| tts (á tS: | |||||
| tts (é tS: | |||||
| tsö tSY | tsö tSY | ||||
| j) ts tS | j) ts tS | ||||
| C) tj c | C) tj c | ||||
| kür) t t | kür) t t | ||||
| kür) tj c | kür) tj c | ||||
| kür) t (jel t | kür) t (jel t | ||||
| kür) t (szó t | |||||
| küldö) ttj c: | küldö) ttj c: | ||||
| neve) ts (ég tS: | neve) ts (ég tS: | ||||
| o) tt t: | o) tt t: | ||||
| szen) t (szék t | szen) t (szék t | ||||
| szé) t t | szé) t t | ||||
| szé) tt t: | szé) tt t: | ||||
| szé) tszé t|se: | |||||
| szöve) ts (ég tS: | szöve) ts (ég tS: | ||||
| söté) ts (ég tS: | söté) ts (ég tS: | ||||
| sajá) ts (ág tS: | sajá) ts (ág tS: | ||||
| lehe) ts (ég tS: | lehe) ts (ég tS: | ||||
| tehe) ts (ég tS: | tehe) ts (ég tS: | ||||
| lá) tsz ts: | lá) tsz ts: | ||||
| te) tsz ts: | |||||
| lá) t (sze t | lá) t (sze t | ||||
| fize) ts (ég tS: | fize) ts (ég tS: | ||||
| segí) ts tS: | segí) ts tS: | ||||
| ha) t (száz t | ha) t (száz t | ||||
| hé) t (száz t | hé) t (száz t | ||||
| vé) ts (ég tS: | vé) ts (ég tS: | ||||
| vona) t (jegy t | |||||
| tesz) t (sor t | |||||
| tes) t (sér t | |||||
| fron) t (jár t | |||||
| á) t (söpör t | |||||
| ala) tt (jár t: | |||||
| fri) tz ts: | |||||
| fű) ts tS: | |||||
| .group u | .group u | ||||
| .group ü | .group ü | ||||
| ü y | ü y | ||||
| ütt yt: | ütt yt: | ||||
| ütty yc: | |||||
| .group ű | .group ű | ||||
| ű y: | ű y: | ||||
| .group z | .group z | ||||
| z z | z z | ||||
| zs Z | zs Z | ||||
| zzs Z: | zzs Z: | ||||
| a) z (t s | a) z (t s | ||||
| ré) z (sz z | ré) z (sz z | ||||
| tartó) z s | tartó) z s | ||||
| gá) z (sz z | gá) z (sz z | ||||
| gé) z (sz z | |||||
| gá) z (cső z | |||||
| gé) z (sz z | |||||
| ké) z (sz zz | ké) z (sz zz | ||||
| há) z (so z | há) z (so z | ||||
| _gá) zsz (ámla zs: | _gá) zsz (ámla zs: | ||||
| _gá) zsz (ámlá zs: | _gá) zsz (ámlá zs: | ||||
| _ré) zs (ó zS | _ré) zs (ó zS | ||||
| ő) zs (uta zS | |||||
| _vá) zs (or zS | _vá) zs (or zS | ||||
| _szára) zs (ág SS | _szára) zs (ág SS | ||||
| _nehé) zs (ely zS | _nehé) zs (ely zS | ||||
| _) zürich tsyR2iC | _) zürich tsyR2iC | ||||
| vigyá) zz (ba z | |||||
| vigyá) zz (t z | |||||
| .group | .group | ||||
| _) :-) v'iJoR2 | |||||
| $ dolla:R2 | $ dolla:R2 | ||||
| ä E | ä E |
| .group b | .group b | ||||
| b b | b b | ||||
| b (C b_ | |||||
| .group c | .group c | ||||
| c S | c S | ||||
| K) c (C S_! | |||||
| .group d | .group d | ||||
| d d | d d | ||||
| dj dZ | |||||
| dj dZ // ?? | |||||
| .group e | .group e | ||||
| e e | e e | ||||
| r r- // syllabic | r r- // syllabic | ||||
| A) r R | A) r R | ||||
| r (A R | r (A R | ||||
| r (C R_ // ?? do this in phonemes data instead? | |||||
| .group s | .group s |
| ! vijVppU // வியப்பு | ! vijVppU // வியப்பு | ||||
| _? ke:l.vi // கேள்வி | _? ke:l.vi // கேள்வி | ||||
| # en.||kuRi $max3 // எண் குறி | # en.||kuRi $max3 // எண் குறி | ||||
| = samVnba:d.U $max3 // சமன்பாடு | |||||
| = samVnpa:d.U $max3 // சமன்பாடு | |||||
| + ku:t.t.Vl $max3 // கூட்டல் | + ku:t.t.Vl $max3 // கூட்டல் | ||||
| * perUkkVl $max3 // பெருக்கல் | * perUkkVl $max3 // பெருக்கல் | ||||
| / sa:jvU // சாய்வு | / sa:jvU // சாய்வு | ||||
| போண்டா $alt | போண்டா $alt | ||||
| பஜ்ஜி $alt | பஜ்ஜி $alt | ||||
| பாதாம் $alt | பாதாம் $alt | ||||
| பலூன் $alt | |||||
| பிராமணன் $alt | |||||
| பிரம்மன் $alt | |||||
| பம்பாய் $alt | |||||
| போகம் $alt | போகம் $alt | ||||
| போதனை $alt | போதனை $alt | ||||
| பூகோலம் $alt | |||||
| பூலோகம் $alt | |||||
| பூமி $alt | |||||
| பூகம்பம் $alt | பூகம்பம் $alt | ||||
| பூதம் $alt | |||||
| புதன் $alt | |||||
| பலி $alt | |||||
| பலம் $alt | |||||
| பலவான் $alt | |||||
| பகவான் $alt | |||||
| பாகவதம் $alt | பாகவதம் $alt | ||||
| பகவத் $alt | பகவத் $alt | ||||
| பங்கம் $alt | பங்கம் $alt | ||||
| பீடி $alt | பீடி $alt | ||||
| பீதி $alt | பீதி $alt | ||||
| பம்பரம் $alt | |||||
| பாதுஷா $alt | |||||
| பேகம் $alt | பேகம் $alt | ||||
| தானம் $alt // initial த as [d] | |||||
| தேகம் $alt | |||||
| திரவியம் $alt | |||||
| தூபம் $alt | |||||
| தீபம் $alt | |||||
| // initial த as [d] | |||||
| தீபாவளி $alt | தீபாவளி $alt | ||||
| தீரம் $alt | |||||
| தைரியம் $alt | |||||
| திடம் $alt | |||||
| திரவம் $alt | |||||
| திடீர் $alt | |||||
| திவசம் $alt | |||||
| தியானம் $alt | |||||
| தானியம் $alt | |||||
| தண்டனை $alt | தண்டனை $alt | ||||
| துவம்சம் $alt | துவம்சம் $alt | ||||
| திருஷ்டி $alt | திருஷ்டி $alt | ||||
| தயாநிதி $alt | தயாநிதி $alt | ||||
| தயாளு $alt | தயாளு $alt | ||||
| துக்கம் $alt | |||||
| திகில் $alt | |||||
| துந்துவி $alt | துந்துவி $alt | ||||
| தயவு $alt | தயவு $alt | ||||
| தடால் $alt | தடால் $alt | ||||
| தடக் $alt | தடக் $alt | ||||
| தீக்ஷை $alt | தீக்ஷை $alt | ||||
| தடியன் $alt | தடியன் $alt | ||||
| தரிசனம் $alt | |||||
| தட்சணை $alt | |||||
| கக $alt // initial க as [g] | கக $alt // initial க as [g] | ||||
| கனம் $alt | கனம் $alt | ||||
| கணம் $alt | கணம் $alt | ||||
| கணபதி $alt | |||||
| கணீர் $alt | |||||
| கிலி $alt | கிலி $alt | ||||
| கில்லி $alt | கில்லி $alt | ||||
| கோதுமை $alt | |||||
| கோபுரம் $alt | |||||
| காந்தம் $alt | |||||
| காந்தி $alt | காந்தி $alt | ||||
| குண்டு $alt | |||||
| கோலி $alt | |||||
| குகை $alt | |||||
| கிரி $alt | கிரி $alt | ||||
| கோமதி $alt | கோமதி $alt | ||||
| கயா $alt | கயா $alt | ||||
| காயத்ரி $alt | காயத்ரி $alt | ||||
| கங்கை $alt | கங்கை $alt | ||||
| கங்கா $alt | கங்கா $alt | ||||
| குரு $alt | |||||
| குகன் $alt | |||||
| கட $alt | |||||
| கோ $alt | |||||
| கதி $alt | |||||
| பப pVpV | பப pVpV |
| _) க (BT g // $alt | _) க (BT g // $alt | ||||
| க்க kkV | க்க kkV | ||||
| க்க (B kk | க்க (B kk | ||||
| _) க (ௌ g | |||||
| க (ீத g | க (ீத g | ||||
| க (ஜ gV | க (ஜ gV | ||||
| _) க (ௌ g | |||||
| _) க (ம்பீர gV | _) க (ம்பீர gV | ||||
| _) க (ந்தர்வ gV | _) க (ந்தர்வ gV | ||||
| _) க (ோவிந்த g | _) க (ோவிந்த g | ||||
| _) க (ணே gV | _) க (ணே gV | ||||
| _) க (ருட gV | |||||
| _) க (ர்ஜ gV | |||||
| _) க (ாண்டாமிருக g | |||||
| _) க (ோந்து g | |||||
| _) க (ாந்த g | |||||
| _) க (ுண்ட g | |||||
| _) க (ோபுர g | |||||
| _) க (ுரு g | |||||
| _) க (ுகன g | |||||
| _) க (ணபதி gV | |||||
| _) க (ணீர gV | |||||
| _) க (ோதுமை g | |||||
| _) க (ுகை g | |||||
| _) க (ோஷ g | |||||
| _) க (ுண g | |||||
| _) க (தியில் gV | |||||
| _) க (டிகார gV | |||||
| ங NV | ங NV | ||||
| ட்) ச (B tS | ட்) ச (B tS | ||||
| ஞ்) ச dZV | ஞ்) ச dZV | ||||
| ஞ்) ச (B dZ | ஞ்) ச (B dZ | ||||
| _) ச (ட் tS | |||||
| _) ச (Bட் tS | |||||
| _) ச (ன் tS | |||||
| _) ச (Bன் tS | |||||
| _) ச (ிட் tS | |||||
| _) ச (ின் tS | |||||
| // _) ட (B t. | // _) ட (B t. | ||||
| ட்ட t.t.V | ட்ட t.t.V | ||||
| ட்ட (B t.t. | ட்ட (B t.t. | ||||
| ஷ்) ட t.V | |||||
| ஷ்) ட (B t. | |||||
| ண n.V | ண n.V | ||||
| ண (B n. | ண (B n. | ||||
| _) த (BT d // if word has $alt | _) த (BT d // if word has $alt | ||||
| த்த ttV | த்த ttV | ||||
| த்த (B tt | த்த (B tt | ||||
| க்) த tV | |||||
| க்) த (B t | |||||
| ஸ்) த tV | |||||
| ஸ்) த (B t | |||||
| // exceptions, த as [d] | |||||
| // exceptions, த as [d] | |||||
| _) த (ன dV | _) த (ன dV | ||||
| _) த (ர்ம dV | _) த (ர்ம dV | ||||
| _) த (ுர் d | _) த (ுர் d | ||||
| _) த (ுஷ் d | _) த (ுஷ் d | ||||
| _) த (க்ஷிணா dV | _) த (க்ஷிணா dV | ||||
| _) த (ண்ட dV | _) த (ண்ட dV | ||||
| _) த (ருமி dV | |||||
| _) த (ர்பை dV | |||||
| _) த (ாவா d | |||||
| _) த (ாதா d | |||||
| _) த (ரித்திரம dV | |||||
| _) த (ர்பார dV | |||||
| _) த (ீர்க d | |||||
| _) த (ினுச d | |||||
| _) த (ாராவி d | |||||
| _) த (ர்க dV | |||||
| _) த (ான d | |||||
| _) த (ேக d | |||||
| _) த (ேக்கு t | |||||
| _) த (ேக்கிலை t | |||||
| _) த (ேக்கடி t | |||||
| _) த (ிரவிய d | |||||
| _) த (ூப d | |||||
| _) த (ீப d | |||||
| _) த (ீர d | |||||
| _) த (ைரிய d | |||||
| _) த (ிட d | |||||
| _) த (ிரவ d | |||||
| _) த (ிடீ d | |||||
| _) த (ிவச d | |||||
| _) த (ியான d | |||||
| _) த (ானிய d | |||||
| _) த (ுக்க d | |||||
| _) த (ிகில d | |||||
| _) த (ூம d | |||||
| _) த (ாவணி d | |||||
| _) த (ாம்_தூம d | |||||
| _) த (ாடி d | |||||
| _) த (ாச d | |||||
| _) த (சரா dV | |||||
| _) த (ோஷ d | |||||
| _) த (ரணி dV | |||||
| _) த (ாரணி d | |||||
| _) த (ோசை d | |||||
| ந nV | ந nV | ||||
| ந (B n // dental n | ந (B n // dental n | ||||
| ட்) ப (B p | ட்) ப (B p | ||||
| ற்) ப pV | ற்) ப pV | ||||
| ற்) ப (B p | ற்) ப (B p | ||||
| று) ப pV | |||||
| று) ப(B p | |||||
| ன்) ப pV | |||||
| ன்) ப (B p | |||||
| ம்) ப p | |||||
| ம்) ப (ா p | |||||
| ம்) ப (B b | |||||
| த்) ப p | |||||
| த்) ப (ா p | |||||
| த்) ப (B b | |||||
| ஃ) ப fV | ஃ) ப fV | ||||
| ஃ) ப (B f | ஃ) ப (B f | ||||
| _) ப (ால b | _) ப (ால b | ||||
| _) ப (ால் p | |||||
| _) ப (ாலின் p | |||||
| _) ப (ாலை p | |||||
| _) ப (ாலில் p | |||||
| _) ப (ாலுடன் p | |||||
| _) ப (ாலினுடைய p | |||||
| _) ப (ாலாபிஷேக p | |||||
| _) ப (ாலு b | _) ப (ாலு b | ||||
| _) ப (ானு b | _) ப (ானு b | ||||
| _) ப (ீம b | _) ப (ீம b | ||||
| _) ப (காசுர bV | _) ப (காசுர bV | ||||
| _) ப (ோஜ b | _) ப (ோஜ b | ||||
| _) ப (தில bV | _) ப (தில bV | ||||
| _) ப (க்தி bV | |||||
| _) ப (ஜ bV | _) ப (ஜ bV | ||||
| _) ப (ைரவ b | |||||
| _) ப (யம bV | |||||
| _) ப (ார்கவி b | |||||
| _) ப (ூதேவி b | |||||
| _) ப (ம்பாய bV | |||||
| _) ப (ாதுஷா b | |||||
| _) ப (க்த bV | |||||
| _) ப (லம bV | |||||
| _) ப (லவான bV | |||||
| _) ப (ிராமண b | |||||
| _) ப (ிரம்ம b | |||||
| _) ப (ம்பர bV | |||||
| _) ப (லூன bV | |||||
| _) ப (ூமி b | |||||
| _) ப (ூலோக b | |||||
| _) ப (ூகோல b | |||||
| _) ப (ூத b | |||||
| _) ப (ுதன b | |||||
| _) ப (லி bV | |||||
| _) ப (கவான bV | |||||
| _) ப (ௌதிக b | |||||
| ம mV | ம mV | ||||
| ம (B m | ம (B m | ||||
| ஸ (B s | ஸ (B s | ||||
| ஹ hV | |||||
| ஹ (B h | |||||
| ஹ HV | |||||
| ஹ (B H | |||||
| க்ஷ ks.V | க்ஷ ks.V |
| id 15 127 | id 15 127 | ||||
| sq 35 128 | sq 35 128 | ||||
| hy 24 120 | hy 24 120 | ||||
| da 21 119 | |||||
| da 22 122 | |||||
| rw 15 132 | rw 15 132 | ||||
| ml 13 154 | ml 13 154 | ||||
| kn 15 154 | kn 15 154 | ||||
| mr 12 152 | mr 12 152 | ||||
| eu 6 126 | eu 6 126 | ||||
| mn 15 115 | mn 15 115 | ||||
| pa 13 153 | |||||
| pa 14 154 | |||||
| prs 8 111 | prs 8 111 | ||||
| Data file Used by | Data file Used by | ||||
| envelope/p_214 [5] vi | envelope/p_214 [5] vi | ||||
| [214] zh | [214] zh | ||||
| envelope/p_512 [6] vi | envelope/p_512 [6] vi | ||||
| [+] pa | |||||
| envelope/p_fall [2] vi | envelope/p_fall [2] vi | ||||
| [7] vi | [7] vi | ||||
| [4] zhy | [4] zhy | ||||
| n/no [(o)] base | n/no [(o)] base | ||||
| n/_nr [n.] base | n/_nr [n.] base | ||||
| n/nr_ [n.] base | n/nr_ [n.] base | ||||
| n/nr@ [(@)] base | |||||
| n/nra [(a)] base | |||||
| n/nre [(e)] base | |||||
| n/nri [(i)] base | |||||
| n/nro [(o)] base | |||||
| n/nru [(u)] base | |||||
| n^/n^u [(u)] base | n^/n^u [(u)] base | ||||
| n/nu [(u)] base | n/nu [(u)] base | ||||
| r2/_r2 [r-] base | r2/_r2 [r-] base | ||||
| [x] pt | [x] pt | ||||
| r3/r_u [(u)] base | r3/r_u [(u)] base | ||||
| r3/r_uvl [r"] base | r3/r_uvl [r"] base | ||||
| [R2] da | |||||
| [R4] da | |||||
| r3/r_uvl.wav [r"] base | r3/r_uvl.wav [r"] base | ||||
| [R] fr | [R] fr | ||||
| [r] fr | [r] fr | ||||
| [r/2] fr | [r/2] fr | ||||
| [R2] da | |||||
| [R4] da | |||||
| r3/rx [*] base | r3/rx [*] base | ||||
| [r/] base | [r/] base | ||||
| [r/] af | [r/] af | ||||
| r3/@tap2 [**] base | r3/@tap2 [**] base | ||||
| r3/@tap_rfx [r.] base | r3/@tap_rfx [r.] base | ||||
| r/a_ [r] da | r/a_ [r] da | ||||
| r/aa [R6] da | |||||
| r/r [r] base | r/r [r] base | ||||
| [r-] base | [r-] base | ||||
| [r] en_sc | [r] en_sc | ||||
| [r] de | [r] de | ||||
| [R5] da | |||||
| r/_r [r] base | r/_r [r] base | ||||
| [r] en_sc | [r] en_sc | ||||
| [r.] bn | [r.] bn | ||||
| [x] sr | [x] sr | ||||
| ufric/xx [X] base | ufric/xx [X] base | ||||
| [Q"] base | [Q"] base | ||||
| [R] da | |||||
| ustop/c [c] base | ustop/c [c] base | ||||
| ustop/k [k] base | ustop/k [k] base | ||||
| [k] en | [k] en | ||||
| [o~] bn | [o~] bn | ||||
| vnasal/o_n2 [o~] af | vnasal/o_n2 [o~] af | ||||
| [O~] fr | [O~] fr | ||||
| vnasal/oo_n [O~] en | |||||
| vnasal/oo_n2 [O~] hi | |||||
| vnasal/oo_n2 [O~] en | |||||
| [O~] hi | |||||
| [o] zh | [o] zh | ||||
| [O~] bn | [O~] bn | ||||
| vnasal/oo_n3 [O~] pl | vnasal/oo_n3 [O~] pl | ||||
| voc/Q_less [Q] nl | voc/Q_less [Q] nl | ||||
| [x2] pt | [x2] pt | ||||
| voc/Q_ulv [Q"] base | voc/Q_ulv [Q"] base | ||||
| [R] da | |||||
| voc/v [v] base | voc/v [v] base | ||||
| [v] fi | [v] fi | ||||
| [v] fr | [v] fr | ||||
| [aI@] en_sc | [aI@] en_sc | ||||
| vwl_en/aU@ [aU@] en | vwl_en/aU@ [aU@] en | ||||
| [aU@] en_n | [aU@] en_n | ||||
| [aU@] en_us | |||||
| [aU@] en_sc | [aU@] en_sc | ||||
| [aU@] en_wm | [aU@] en_wm | ||||
| vwl_en/@L [@L] en | vwl_en/@L [@L] en | ||||
| vwl_en_us/ai@ [aI@] en_us | vwl_en_us/ai@ [aI@] en_us | ||||
| vwl_en_us/ar [A:] en_us | vwl_en_us/ar [A:] en_us | ||||
| [A@] en_us | [A@] en_us | ||||
| vwl_en_us/aU@ [aU@] en_us | |||||
| vwl_en_us/ee [E] en_us | vwl_en_us/ee [E] en_us | ||||
| vwl_en_us/er [e@] en_us | vwl_en_us/er [e@] en_us | ||||
| vwl_en_us/ir [i@3] en_us | vwl_en_us/ir [i@3] en_us |
| lengthmod 7 | lengthmod 7 | ||||
| endphoneme | endphoneme | ||||
| phoneme R2 // uvular trill [r"] | |||||
| vcd uvl frc | |||||
| formants r3/r_uvl+r3/r_uvl.wav%75 | |||||
| before _ r3/r_uvl+r3/r_uvl.wav%50 | |||||
| lengthmod 6 | |||||
| phoneme R6 // | |||||
| liquid | |||||
| formants r/aa | |||||
| lengthmod 7 | |||||
| endphoneme | endphoneme | ||||
| phoneme R // voiced velar fricative [Q"] | |||||
| phoneme R4 // uvular trill [r"] without WAV | |||||
| vcd uvl frc | vcd uvl frc | ||||
| formants voc/Q_ulv+ufric/xx%80 | |||||
| before _ voc/Q_ulv+ufric/xx%60 | |||||
| formants r3/r_uvl+r3/r_uvl.wav%1 | |||||
| before _ r3/r_uvl+r3/r_uvl.wav%1 | |||||
| lengthmod 6 | lengthmod 6 | ||||
| endphoneme | endphoneme | ||||
| phoneme R5 // English r | |||||
| liquid starttype #r endtype #r | |||||
| rhotic | |||||
| length 100 | |||||
| lengthmod 7 | |||||
| beforenotvowel r/ | |||||
| formants r/r | |||||
| endphoneme | |||||
| phoneme o@ | phoneme o@ | ||||
| vowel starttype (o) endtype (@) | vowel starttype (o) endtype (@) | ||||
| length 240 | |||||
| length 250 | |||||
| formants vowel/oo_en | formants vowel/oo_en | ||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| phoneme O~ | phoneme O~ | ||||
| vowel starttype (o) endtype (o) | vowel starttype (o) endtype (o) | ||||
| length 260 | |||||
| formants vnasal/oo_n | |||||
| length 240 | |||||
| formants vnasal/oo_n2 | |||||
| endphoneme | endphoneme | ||||
| phoneme u: | phoneme u: | ||||
| vowel starttype (u) endtype (u) | vowel starttype (u) endtype (u) | ||||
| length 180 | |||||
| length 190 | |||||
| formants vdiph2/uw | formants vdiph2/uw | ||||
| endphoneme | endphoneme | ||||
| phoneme e@ | phoneme e@ | ||||
| vowel starttype (e) endtype (@) | vowel starttype (e) endtype (@) | ||||
| length 270 | |||||
| length 280 | |||||
| formants vwl_en_us/er | formants vwl_en_us/er | ||||
| appendph r | appendph r | ||||
| endphoneme | endphoneme | ||||
| phoneme i@3 | phoneme i@3 | ||||
| vowel starttype (i) endtype (@) | vowel starttype (i) endtype (@) | ||||
| length 250 | |||||
| length 280 | |||||
| formants vwl_en_us/ir | formants vwl_en_us/ir | ||||
| appendph r | appendph r | ||||
| endphoneme | endphoneme | ||||
| phoneme U@ | phoneme U@ | ||||
| vowel starttype (@) endtype (@) | vowel starttype (@) endtype (@) | ||||
| length 240 | |||||
| length 250 | |||||
| formants vwl_en_us/ur | formants vwl_en_us/ur | ||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| phoneme aU@ | phoneme aU@ | ||||
| vowel starttype (a) endtype (@) | vowel starttype (a) endtype (@) | ||||
| length 270 | |||||
| formants vwl_en/aU@ | |||||
| length 300 | |||||
| formants vwl_en_us/aU@ | |||||
| linkout r- | linkout r- | ||||
| endphoneme | endphoneme | ||||
| vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50 | vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50 | ||||
| vowelout f1=2 f2=1700 -300 300 f3=-100 80 | vowelout f1=2 f2=1700 -300 300 f3=-100 80 | ||||
| formants d/xdz+ustop/ts%140 | formants d/xdz+ustop/ts%140 | ||||
| before _ voc/z_+ustop/ts_%70 | |||||
| before _ voc/z_+ustop/ts_%60 | |||||
| after _ NULL | after _ NULL | ||||
| after @ d/xd | after @ d/xd | ||||
| lengthmod 5 | lengthmod 5 |
| phoneme a: | phoneme a: | ||||
| vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
| length 270 | |||||
| length 300 | |||||
| formants vowel/a_5 | formants vowel/a_5 | ||||
| endphoneme | endphoneme | ||||
| phoneme i: | phoneme i: | ||||
| vowel starttype (i) endtype (i) | vowel starttype (i) endtype (i) | ||||
| length 270 | |||||
| length 300 | |||||
| formants vowel/i | formants vowel/i | ||||
| endphoneme | endphoneme | ||||
| after r- r2/r2@ | after r- r2/r2@ | ||||
| after m m/m@ | after m m/m@ | ||||
| after n n/n@ | after n n/n@ | ||||
| after n. n/nr@ | |||||
| after N nn/nn@ | after N nn/nn@ | ||||
| after n^ n^/n^@ | after n^ n^/n^@ | ||||
| before l/ DFT-60+l/L1_@L | before l/ DFT-60+l/L1_@L | ||||
| after r- r2/r2a | after r- r2/r2a | ||||
| after m m/ma | after m m/ma | ||||
| after n n/na | after n n/na | ||||
| after n. n/nra | |||||
| after N nn/nna | after N nn/nna | ||||
| after n^ n^/n^a | after n^ n^/n^a | ||||
| before l/ DFT-40+l/L1_aL | before l/ DFT-40+l/L1_aL | ||||
| after r- r2/r2e | after r- r2/r2e | ||||
| after m m/me | after m m/me | ||||
| after n n/ne | after n n/ne | ||||
| after n. n/nre | |||||
| after N nn/nne | after N nn/nne | ||||
| after n^ n^/n^e | after n^ n^/n^e | ||||
| before l/ DFT-30+l/L1_eL | before l/ DFT-30+l/L1_eL | ||||
| after r- r2/r2i | after r- r2/r2i | ||||
| after m m/mi | after m m/mi | ||||
| after n n/ni | after n n/ni | ||||
| after n. n/nri | |||||
| after N nn/nni | after N nn/nni | ||||
| after n^ n^/n^i | after n^ n^/n^i | ||||
| before l/ DFT-30+l/L1_iL | before l/ DFT-30+l/L1_iL | ||||
| after r- r2/r2o | after r- r2/r2o | ||||
| after m m/mo | after m m/mo | ||||
| after n n/no | after n n/no | ||||
| after n. n/nro | |||||
| after N nn/nno | after N nn/nno | ||||
| after n^ n^/n^o | after n^ n^/n^o | ||||
| before l/ DFT-40+l/L1_oL | before l/ DFT-40+l/L1_oL | ||||
| after r- r2/r2u | after r- r2/r2u | ||||
| after m m/mu | after m m/mu | ||||
| after n n/nu | after n n/nu | ||||
| after n. n/nru | |||||
| after N nn/nnu | after N nn/nnu | ||||
| after n^ n^/n^u | after n^ n^/n^u | ||||
| before l/ DFT-40+l/L1_uL | before l/ DFT-40+l/L1_uL | ||||
| phoneme n. | phoneme n. | ||||
| vcd rfx nasal | vcd rfx nasal | ||||
| starttype n endtype n | |||||
| vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2 | vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2 | ||||
| vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2 | vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2 | ||||
| length 100 | length 100 |
| #define PATHSEP '\\' | #define PATHSEP '\\' | ||||
| #define USE_PORTAUDIO | #define USE_PORTAUDIO | ||||
| //#define USE_NANOSLEEP | //#define USE_NANOSLEEP | ||||
| #define NO_VARIADIC_MACROS | |||||
| #define __cdecl | #define __cdecl | ||||
| #define ESPEAK_API | #define ESPEAK_API | ||||
| #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" | #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" |
| #define PATHSEP '\\' | #define PATHSEP '\\' | ||||
| #define USE_PORTAUDIO | #define USE_PORTAUDIO | ||||
| //#define USE_NANOSLEEP | //#define USE_NANOSLEEP | ||||
| #define NO_VARIADIC_MACROS | |||||
| #define __cdecl | #define __cdecl | ||||
| #define ESPEAK_API | #define ESPEAK_API | ||||
| #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" | #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" |
| #define PATHSEP '\\' | #define PATHSEP '\\' | ||||
| #define USE_PORTAUDIO | #define USE_PORTAUDIO | ||||
| #define NO_VARIADIC_MACROS | |||||
| #define ESPEAK_API | #define ESPEAK_API | ||||
| //#define INCLUDE_KLATT | //#define INCLUDE_KLATT | ||||
| #define __WIN32__ | #define __WIN32__ | ||||
| #define NEED_WCSTOF | #define NEED_WCSTOF | ||||
| #define NEED_GETOPT | #define NEED_GETOPT | ||||
| #define NO_VARIADIC_MACROS | |||||
| #define USE_MBROLA_LIB | #define USE_MBROLA_LIB | ||||
| #define ESPEAK_API | #define ESPEAK_API | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| dict_line[length++] = 80 + multiple_words + multiple_numeric_hyphen; // if numeric, count a hyphen as an extra word | |||||
| dict_line[length++] = 80 + multiple_words; | |||||
| ix = multiple_string_end - multiple_string; | ix = multiple_string_end - multiple_string; | ||||
| if(multiple_numeric_hyphen) | if(multiple_numeric_hyphen) | ||||
| { | { | ||||
| // the first part is numeric, so keep the hyphen to match on | |||||
| dict_line[length++] = '-'; | |||||
| dict_line[length++] = ' '; | dict_line[length++] = ' '; | ||||
| } | } | ||||
| memcpy(&dict_line[length],multiple_string,ix); | memcpy(&dict_line[length],multiple_string,ix); |
| #else | #else | ||||
| #ifdef PLATFORM_WINDOWS | |||||
| #ifdef NO_VARIADIC_MACROS | |||||
| #define SHOW(format) // VC6 doesn't allow "..." | #define SHOW(format) // VC6 doesn't allow "..." | ||||
| #else | #else | ||||
| #define SHOW(format,...) | #define SHOW(format,...) |
| void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress) | |||||
| void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress) | |||||
| {//========================================================================================================= | {//========================================================================================================= | ||||
| /* Guess stress pattern of word. This is language specific | /* Guess stress pattern of word. This is language specific | ||||
| max_output = output + (N_WORD_PHONEMES-3); /* check for overrun */ | max_output = output + (N_WORD_PHONEMES-3); /* check for overrun */ | ||||
| // any stress position marked in the xx_list dictionary ? | // any stress position marked in the xx_list dictionary ? | ||||
| stressed_syllable = dictionary_flags & 0x7; | |||||
| if(dictionary_flags & 0x8) | |||||
| stressed_syllable = dictionary_flags[0] & 0x7; | |||||
| if(dictionary_flags[0] & 0x8) | |||||
| { | { | ||||
| // this indicates a word without a primary stress | // this indicates a word without a primary stress | ||||
| stressed_syllable = dictionary_flags & 0x3; | |||||
| stressed_syllable = dictionary_flags[0] & 0x3; | |||||
| unstressed_word = 1; | unstressed_word = 1; | ||||
| } | } | ||||
| { | { | ||||
| // option: don't stress monosyllables except at end-of-clause | // option: don't stress monosyllables except at end-of-clause | ||||
| vowel_stress[1] = 1; | vowel_stress[1] = 1; | ||||
| dictionary_flags |= FLAG_STRESS_END2; | |||||
| dictionary_flags[0] |= FLAG_STRESS_END2; | |||||
| } | } | ||||
| // heavy or light syllables | // heavy or light syllables | ||||
| } | } | ||||
| break; | break; | ||||
| case 7: // LANG=tr, the last syllable for any vowel markes explicitly as unstressed | |||||
| case 7: // LANG=tr, the last syllable for any vowel marked explicitly as unstressed | |||||
| if(stressed_syllable == 0) | if(stressed_syllable == 0) | ||||
| { | { | ||||
| stressed_syllable = vowel_count - 1; | stressed_syllable = vowel_count - 1; | ||||
| #endif | #endif | ||||
| // is it a bracket ? | // is it a bracket ? | ||||
| if(letter == 0xe000+'(') | |||||
| { | |||||
| if(pre_pause < tr->langopts.param2[LOPT_BRACKET_PAUSE]) | |||||
| pre_pause = tr->langopts.param2[LOPT_BRACKET_PAUSE]; // a bracket, aleady spoken by AnnouncePunctuation() | |||||
| } | |||||
| if(IsBracket(letter)) | if(IsBracket(letter)) | ||||
| { | { | ||||
| if(pre_pause < 4) | |||||
| pre_pause = 4; | |||||
| if(pre_pause < tr->langopts.param[LOPT_BRACKET_PAUSE]) | |||||
| pre_pause = tr->langopts.param[LOPT_BRACKET_PAUSE]; | |||||
| } | } | ||||
| // no match, try removing the accent and re-translating the word | // no match, try removing the accent and re-translating the word | ||||
| continue; | continue; | ||||
| } | } | ||||
| } | } | ||||
| if(dictionary_flags & FLAG_ALT2_TRANS) | |||||
| { | |||||
| // language specific | |||||
| if((tr->translator_name == L('h','u')) && !(tr->prev_dict_flags & FLAG_ALT_TRANS)) | |||||
| continue; | |||||
| } | |||||
| if(flags != NULL) | if(flags != NULL) | ||||
| { | { | ||||
| // set the skip words flag | // set the skip words flag | ||||
| flags[0] |= FLAG_SKIPWORDS; | flags[0] |= FLAG_SKIPWORDS; | ||||
| dictionary_skipwords = length; | dictionary_skipwords = length; | ||||
| return(1); | |||||
| return(flags[0]); | |||||
| } | } | ||||
| } | } | ||||
| return(0); | return(0); | ||||
| } | } | ||||
| return(1); | |||||
| return(flags[0]); | |||||
| } | } | ||||
| ph_out[0] = 0; | ph_out[0] = 0; |
| #include <stdio.h> | #include <stdio.h> | ||||
| #include <stdlib.h> | #include <stdlib.h> | ||||
| #include <string.h> | #include <string.h> | ||||
| #ifndef NEED_GETOPT | |||||
| #include <getopt.h> | #include <getopt.h> | ||||
| #endif | |||||
| #include <time.h> | #include <time.h> | ||||
| #include <sys/stat.h> | #include <sys/stat.h> | ||||
| } | } | ||||
| #ifdef NEED_GETOPT | |||||
| struct option { | |||||
| char *name; | |||||
| int has_arg; | |||||
| int *flag; | |||||
| int val; | |||||
| }; | |||||
| int optind; | |||||
| static int optional_argument; | |||||
| static const char *arg_opts = "abfgklpsvw"; // which options have arguments | |||||
| static char *opt_string=""; | |||||
| #define no_argument 0 | |||||
| #define required_argument 1 | |||||
| #define optional_argument 2 | |||||
| #endif | |||||
| int main (int argc, char **argv) | int main (int argc, char **argv) | ||||
| //============================== | //============================== | ||||
| int option_index = 0; | int option_index = 0; | ||||
| int c; | int c; | ||||
| int ix; | int ix; | ||||
| char *optarg2; | |||||
| int value; | int value; | ||||
| int flag_stdin = 0; | int flag_stdin = 0; | ||||
| int flag_compile = 0; | int flag_compile = 0; | ||||
| filename[0] = 0; | filename[0] = 0; | ||||
| option_punctlist[0] = 0; | option_punctlist[0] = 0; | ||||
| #ifdef NEED_GETOPT | |||||
| optind = 1; | |||||
| opt_string = ""; | |||||
| while(optind < argc) | |||||
| { | |||||
| int len; | |||||
| char *p; | |||||
| if((c = *opt_string) == 0) | |||||
| { | |||||
| opt_string = argv[optind]; | |||||
| if(opt_string[0] != '-') | |||||
| break; | |||||
| optind++; | |||||
| opt_string++; | |||||
| c = *opt_string; | |||||
| } | |||||
| opt_string++; | |||||
| p = optarg2 = opt_string; | |||||
| if(c == '-') | |||||
| { | |||||
| opt_string=""; | |||||
| for(ix=0; ;ix++) | |||||
| { | |||||
| if(long_options[ix].name == 0) | |||||
| break; | |||||
| len = strlen(long_options[ix].name); | |||||
| if(memcmp(long_options[ix].name,p,len)==0) | |||||
| { | |||||
| c = long_options[ix].val; | |||||
| optarg2 = NULL; | |||||
| if((long_options[ix].has_arg != 0) && (p[len]=='=')) | |||||
| { | |||||
| optarg2 = &p[len+1]; | |||||
| } | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| else | |||||
| if(strchr(arg_opts,c) != NULL) | |||||
| { | |||||
| opt_string=""; | |||||
| if(optarg2[0]==0) | |||||
| { | |||||
| // the option's value is in the next argument | |||||
| optarg2 = argv[optind++]; | |||||
| } | |||||
| } | |||||
| #else | |||||
| while(true) | while(true) | ||||
| { | { | ||||
| c = getopt_long (argc, argv, "a:b:f:g:hk:l:mp:qs:v:w:xXz", | c = getopt_long (argc, argv, "a:b:f:g:hk:l:mp:qs:v:w:xXz", | ||||
| /* Detect the end of the options. */ | /* Detect the end of the options. */ | ||||
| if (c == -1) | if (c == -1) | ||||
| break; | break; | ||||
| optarg2 = optarg; | |||||
| #endif | |||||
| switch (c) | switch (c) | ||||
| { | { | ||||
| case 'b': | case 'b': | ||||
| // input character encoding, 8bit, 16bit, UTF8 | // input character encoding, 8bit, 16bit, UTF8 | ||||
| if((sscanf(optarg,"%d",&value) == 1) && (value <= 4)) | |||||
| if((sscanf(optarg2,"%d",&value) == 1) && (value <= 4)) | |||||
| synth_flags |= value; | synth_flags |= value; | ||||
| else | else | ||||
| synth_flags |= espeakCHARS_8BIT; | synth_flags |= espeakCHARS_8BIT; | ||||
| break; | break; | ||||
| case 'k': | case 'k': | ||||
| option_capitals = atoi(optarg); | |||||
| option_capitals = atoi(optarg2); | |||||
| break; | break; | ||||
| case 'x': | case 'x': | ||||
| break; | break; | ||||
| case 'p': | case 'p': | ||||
| pitch = atoi(optarg); | |||||
| pitch = atoi(optarg2); | |||||
| break; | break; | ||||
| case 'q': | case 'q': | ||||
| break; | break; | ||||
| case 'f': | case 'f': | ||||
| strncpy0(filename,optarg,sizeof(filename)); | |||||
| strncpy0(filename,optarg2,sizeof(filename)); | |||||
| break; | break; | ||||
| case 'l': | case 'l': | ||||
| option_linelength = atoi(optarg); | |||||
| option_linelength = atoi(optarg2); | |||||
| break; | break; | ||||
| case 'a': | case 'a': | ||||
| volume = atoi(optarg); | |||||
| volume = atoi(optarg2); | |||||
| break; | break; | ||||
| case 's': | case 's': | ||||
| speed = atoi(optarg); | |||||
| speed = atoi(optarg2); | |||||
| break; | break; | ||||
| case 'g': | case 'g': | ||||
| wordgap = atoi(optarg); | |||||
| wordgap = atoi(optarg2); | |||||
| break; | break; | ||||
| case 'v': | case 'v': | ||||
| strncpy0(voicename,optarg,sizeof(voicename)); | |||||
| strncpy0(voicename,optarg2,sizeof(voicename)); | |||||
| break; | break; | ||||
| case 'w': | case 'w': | ||||
| option_waveout = 1; | option_waveout = 1; | ||||
| strncpy0(wavefile,optarg,sizeof(filename)); | |||||
| strncpy0(wavefile,optarg2,sizeof(filename)); | |||||
| break; | break; | ||||
| case 'z': // remove pause from the end of a sentence | case 'z': // remove pause from the end of a sentence | ||||
| case 0x101: // --compile-debug | case 0x101: // --compile-debug | ||||
| case 0x102: // --compile | case 0x102: // --compile | ||||
| strncpy0(voicename,optarg,sizeof(voicename)); | |||||
| strncpy0(voicename,optarg2,sizeof(voicename)); | |||||
| flag_compile = c; | flag_compile = c; | ||||
| quiet = 1; | quiet = 1; | ||||
| break; | break; | ||||
| case 0x103: // --punct | case 0x103: // --punct | ||||
| option_punctuation = 1; | option_punctuation = 1; | ||||
| if(optarg != NULL) | |||||
| if(optarg2 != NULL) | |||||
| { | { | ||||
| ix = 0; | ix = 0; | ||||
| while((ix < N_PUNCTLIST) && ((option_punctlist[ix] = optarg[ix]) != 0)) ix++; | |||||
| while((ix < N_PUNCTLIST) && ((option_punctlist[ix] = optarg2[ix]) != 0)) ix++; | |||||
| option_punctlist[N_PUNCTLIST-1] = 0; | option_punctlist[N_PUNCTLIST-1] = 0; | ||||
| option_punctuation = 2; | option_punctuation = 2; | ||||
| } | } | ||||
| case 0x104: // --voices | case 0x104: // --voices | ||||
| espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,0,data_path,0); | espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,0,data_path,0); | ||||
| DisplayVoices(stdout,optarg); | |||||
| DisplayVoices(stdout,optarg2); | |||||
| exit(0); | exit(0); | ||||
| case 0x106: // -- split | case 0x106: // -- split | ||||
| if(optarg == NULL) | |||||
| if(optarg2 == NULL) | |||||
| samples_split = 30; // default 30 minutes | samples_split = 30; // default 30 minutes | ||||
| else | else | ||||
| samples_split = atoi(optarg); | |||||
| samples_split = atoi(optarg2); | |||||
| break; | break; | ||||
| case 0x107: // --path | case 0x107: // --path | ||||
| data_path = optarg; | |||||
| data_path = optarg2; | |||||
| break; | break; | ||||
| case 0x108: // --phonout | case 0x108: // --phonout | ||||
| if((f_phonemes_out = fopen(optarg,"w")) == NULL) | |||||
| if((f_phonemes_out = fopen(optarg2,"w")) == NULL) | |||||
| { | { | ||||
| fprintf(stderr,"Can't write to: %s\n",optarg); | |||||
| fprintf(stderr,"Can't write to: %s\n",optarg2); | |||||
| } | } | ||||
| break; | break; | ||||
| } | } | ||||
| #ifdef deleted | |||||
| void MyFrame::OnAbout(wxCommandEvent& event) | |||||
| {//========================================= | |||||
| int result; | |||||
| char buf[300]; | |||||
| wxString url_docs; | |||||
| switch(event.GetId()) | |||||
| { | |||||
| case MENU_ABOUT: | |||||
| sprintf(buf,about_string,espeak_Info(NULL)); | |||||
| (void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); | |||||
| break; | |||||
| case MENU_DOCS: | |||||
| sprintf(buf,"%s/docs/docindex.html",path_home); | |||||
| url_docs = wxString(buf,wxConvLocal); | |||||
| result = wxLaunchDefaultBrowser(url_docs); | |||||
| if(result == 0) | |||||
| wxLogStatus(_T("Failed to launch browser")); | |||||
| break; | |||||
| } | |||||
| } | |||||
| #endif | |||||
| class HtmlWindow: public wxHtmlWindow | class HtmlWindow: public wxHtmlWindow | ||||
| { | { |
| }; | }; | ||||
| static TONE_NUCLEUS tone_nucleus_table[N_TONE_NUCLEUS_TABLE] = { | static TONE_NUCLEUS tone_nucleus_table[N_TONE_NUCLEUS_TABLE] = { | ||||
| {PITCHfall, 30, 5, PITCHfall, 32, 9, NULL, 12, 7, 0}, // 0 statement | |||||
| {PITCHfall, 29, 4, PITCHfall, 32, 9, NULL, 12, 6, 0}, // 0 statement | |||||
| {PITCHfrise, 35, 8, PITCHfrise2, 35,10, NULL, 15, 23, 0}, // 1 comma | {PITCHfrise, 35, 8, PITCHfrise2, 35,10, NULL, 15, 23, 0}, // 1 comma | ||||
| {PITCHfrise, 39,10, PITCHfrise2, 36,10, NULL, 15, 28, 0}, // 2 question | {PITCHfrise, 39,10, PITCHfrise2, 36,10, NULL, 15, 28, 0}, // 2 question | ||||
| // {PITCHfall, 41, 4, PITCHfall, 41,27, NULL, 16, 4, T_EMPH}, // 3 exclamation | // {PITCHfall, 41, 4, PITCHfall, 41,27, NULL, 16, 4, T_EMPH}, // 3 exclamation |
| #define M_MIDDLE_DOT M_DOT_ABOVE // duplicate of M_DOT_ABOVE | #define M_MIDDLE_DOT M_DOT_ABOVE // duplicate of M_DOT_ABOVE | ||||
| #define M_IMPLOSIVE M_HOOK | #define M_IMPLOSIVE M_HOOK | ||||
| static int n_digit_lookup; | |||||
| static char *digit_lookup; | |||||
| typedef struct { | typedef struct { | ||||
| const char *name; | const char *name; | ||||
| int flags; | int flags; | ||||
| } // end of CheckDotOrdinal | } // end of CheckDotOrdinal | ||||
| int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | ||||
| {//========================================================================= | {//========================================================================= | ||||
| int c; | int c; | ||||
| int found; | int found; | ||||
| int ix; | int ix; | ||||
| int units; | int units; | ||||
| int tens; | |||||
| int used_and=0; | int used_and=0; | ||||
| int found_ordinal = 0; | int found_ordinal = 0; | ||||
| int next_phtype; | int next_phtype; | ||||
| char ph_digits[50]; | char ph_digits[50]; | ||||
| char ph_and[12]; | char ph_and[12]; | ||||
| // is there a special pronunciation for this 2-digit number | |||||
| units = value % 10; | |||||
| tens = value / 10; | |||||
| found = 0; | found = 0; | ||||
| ph_ordinal[0] = 0; | ph_ordinal[0] = 0; | ||||
| if(control & 8) | |||||
| if((control & 2) && (n_digit_lookup == 2)) | |||||
| { | { | ||||
| sprintf(string,"_%df",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| // pronunciation of the final 2 digits has already been found | |||||
| strcpy(ph_out, digit_lookup); | |||||
| } | } | ||||
| else | else | ||||
| if(control & 1) | |||||
| { | |||||
| strcpy(ph_ordinal, ph_ordinal2); | |||||
| if(control & 4) | |||||
| { | |||||
| sprintf(string,"_%dox",value); // LANG=hu, special word for 1. 2. when there are no higher digits | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| if(found == 0) | |||||
| { | |||||
| sprintf(string,"_%do",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| found_ordinal = found; | |||||
| } | |||||
| if(found == 0) | |||||
| { | { | ||||
| if((value == 1) && (control & 2)) | |||||
| { | |||||
| if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins" | |||||
| return(0); | |||||
| } | |||||
| sprintf(string,"_%d",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| // no, speak as tens+units | |||||
| if((control & 0x10) && (value < 10)) | |||||
| { | |||||
| // speak leading zero | |||||
| Lookup(tr, "_0", ph_tens); | |||||
| } | |||||
| else | |||||
| { | |||||
| if(found) | |||||
| { | |||||
| ph_tens[0] = 0; | |||||
| } | |||||
| else | |||||
| if(digit_lookup[0] == 0) | |||||
| { | { | ||||
| units = (value % 10); | |||||
| if((control & 1) && ((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS))) | |||||
| // is there a special pronunciation for this 2-digit number | |||||
| if(control & 8) | |||||
| { | { | ||||
| sprintf(string,"_%dXo",value / 10); | |||||
| if(Lookup(tr, string, ph_tens) != 0) | |||||
| sprintf(string,"_%df",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| else | |||||
| if(control & 1) | |||||
| { | |||||
| strcpy(ph_ordinal, ph_ordinal2); | |||||
| if(control & 4) | |||||
| { | { | ||||
| found_ordinal = 1; | |||||
| sprintf(string,"_%dox",value); // LANG=hu, special word for 1. 2. when there are no higher digits | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | } | ||||
| if(found == 0) | |||||
| { | |||||
| sprintf(string,"_%do",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| found_ordinal = found; | |||||
| } | } | ||||
| if(found_ordinal == 0) | |||||
| if(found == 0) | |||||
| { | { | ||||
| sprintf(string,"_%dX",value / 10); | |||||
| Lookup(tr, string, ph_tens); | |||||
| if((value == 1) && (control & 2)) | |||||
| { | |||||
| if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins" | |||||
| return(0); | |||||
| } | |||||
| sprintf(string,"_%d",value); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | } | ||||
| if((ph_tens[0] == 0) && (tr->langopts.numbers & NUM_VIGESIMAL)) | |||||
| } | |||||
| // no, speak as tens+units | |||||
| if((control & 0x10) && (value < 10)) | |||||
| { | |||||
| // speak leading zero | |||||
| Lookup(tr, "_0", ph_tens); | |||||
| } | |||||
| else | |||||
| { | |||||
| if(found) | |||||
| { | { | ||||
| // tens not found, (for example) 73 is 60+13 | |||||
| units = (value % 20); | |||||
| sprintf(string,"_%dX",(value / 10) & 0xfe); | |||||
| Lookup(tr, string, ph_tens); | |||||
| ph_tens[0] = 0; | |||||
| } | } | ||||
| ph_digits[0] = 0; | |||||
| if(units > 0) | |||||
| { | |||||
| found = 0; | |||||
| if(control & 8) | |||||
| { | |||||
| // is there a variant form of this number? | |||||
| sprintf(string,"_%df",units); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| if((control & 1) && ((tr->langopts.numbers & NUM_SWAP_TENS) == 0)) | |||||
| else | |||||
| { | |||||
| if((control & 1) && ((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS))) | |||||
| { | { | ||||
| // ordinal | |||||
| sprintf(string,"_%do",units); | |||||
| if((found = Lookup(tr, string, ph_digits)) != 0) | |||||
| sprintf(string,"_%dXo", tens); | |||||
| if(Lookup(tr, string, ph_tens) != 0) | |||||
| { | { | ||||
| found_ordinal = 1; | found_ordinal = 1; | ||||
| } | } | ||||
| } | } | ||||
| if(found == 0) | |||||
| if(found_ordinal == 0) | |||||
| { | { | ||||
| sprintf(string,"_%d",units); | |||||
| Lookup(tr, string, ph_digits); | |||||
| sprintf(string,"_%dX", tens); | |||||
| Lookup(tr, string, ph_tens); | |||||
| } | |||||
| if((ph_tens[0] == 0) && (tr->langopts.numbers & NUM_VIGESIMAL)) | |||||
| { | |||||
| // tens not found, (for example) 73 is 60+13 | |||||
| units = (value % 20); | |||||
| sprintf(string,"_%dX", tens & 0xfe); | |||||
| Lookup(tr, string, ph_tens); | |||||
| } | |||||
| ph_digits[0] = 0; | |||||
| if(units > 0) | |||||
| { | |||||
| found = 0; | |||||
| if((control & 2) && (digit_lookup[0] != 0)) | |||||
| { | |||||
| // we have an entry for this digit (possibly together with the next word) | |||||
| strcpy(ph_digits, digit_lookup); | |||||
| found_ordinal = 1; | |||||
| ph_ordinal[0] = 0; | |||||
| } | |||||
| else | |||||
| { | |||||
| if(control & 8) | |||||
| { | |||||
| // is there a variant form of this number? | |||||
| sprintf(string,"_%df",units); | |||||
| found = Lookup(tr, string, ph_digits); | |||||
| } | |||||
| if((control & 1) && ((tr->langopts.numbers & NUM_SWAP_TENS) == 0)) | |||||
| { | |||||
| // ordinal | |||||
| sprintf(string,"_%do",units); | |||||
| if((found = Lookup(tr, string, ph_digits)) != 0) | |||||
| { | |||||
| found_ordinal = 1; | |||||
| } | |||||
| } | |||||
| if(found == 0) | |||||
| { | |||||
| sprintf(string,"_%d",units); | |||||
| Lookup(tr, string, ph_digits); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | |||||
| if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0)) | |||||
| { | |||||
| if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & NUM_SWAP_TENS))) | |||||
| Lookup(tr, "_ord20", ph_ordinal); | |||||
| if(ph_ordinal[0] == 0) | |||||
| Lookup(tr, "_ord", ph_ordinal); | |||||
| } | |||||
| if((tr->langopts.numbers & (NUM_SWAP_TENS | NUM_AND_UNITS)) && (ph_tens[0] != 0) && (ph_digits[0] != 0)) | |||||
| { | |||||
| Lookup(tr, "_0and", ph_and); | |||||
| if(tr->langopts.numbers & NUM_SWAP_TENS) | |||||
| sprintf(ph_out,"%s%s%s%s",ph_digits, ph_and, ph_tens, ph_ordinal); | |||||
| if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0)) | |||||
| { | |||||
| if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & NUM_SWAP_TENS))) | |||||
| Lookup(tr, "_ord20", ph_ordinal); | |||||
| if(ph_ordinal[0] == 0) | |||||
| Lookup(tr, "_ord", ph_ordinal); | |||||
| } | |||||
| if((tr->langopts.numbers & (NUM_SWAP_TENS | NUM_AND_UNITS)) && (ph_tens[0] != 0) && (ph_digits[0] != 0)) | |||||
| { | |||||
| Lookup(tr, "_0and", ph_and); | |||||
| if(tr->langopts.numbers & NUM_SWAP_TENS) | |||||
| sprintf(ph_out,"%s%s%s%s",ph_digits, ph_and, ph_tens, ph_ordinal); | |||||
| else | |||||
| sprintf(ph_out,"%s%s%s%s",ph_tens, ph_and, ph_digits, ph_ordinal); | |||||
| used_and = 1; | |||||
| } | |||||
| else | else | ||||
| sprintf(ph_out,"%s%s%s%s",ph_tens, ph_and, ph_digits, ph_ordinal); | |||||
| used_and = 1; | |||||
| } | |||||
| else | |||||
| { | |||||
| if(tr->langopts.numbers & NUM_SINGLE_VOWEL) | |||||
| { | { | ||||
| // remove vowel from the end of tens if units starts with a vowel (LANG=Italian) | |||||
| if(((ix = strlen(ph_tens)-1) >= 0) && (ph_digits[0] != 0)) | |||||
| if(tr->langopts.numbers & NUM_SINGLE_VOWEL) | |||||
| { | { | ||||
| if((next_phtype = phoneme_tab[(unsigned int)(ph_digits[0])]->type) == phSTRESS) | |||||
| next_phtype = phoneme_tab[(unsigned int)(ph_digits[1])]->type; | |||||
| if((phoneme_tab[(unsigned int)(ph_tens[ix])]->type == phVOWEL) && (next_phtype == phVOWEL)) | |||||
| ph_tens[ix] = 0; | |||||
| // remove vowel from the end of tens if units starts with a vowel (LANG=Italian) | |||||
| if(((ix = strlen(ph_tens)-1) >= 0) && (ph_digits[0] != 0)) | |||||
| { | |||||
| if((next_phtype = phoneme_tab[(unsigned int)(ph_digits[0])]->type) == phSTRESS) | |||||
| next_phtype = phoneme_tab[(unsigned int)(ph_digits[1])]->type; | |||||
| if((phoneme_tab[(unsigned int)(ph_tens[ix])]->type == phVOWEL) && (next_phtype == phVOWEL)) | |||||
| ph_tens[ix] = 0; | |||||
| } | |||||
| } | } | ||||
| sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal); | |||||
| } | } | ||||
| sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal); | |||||
| } | } | ||||
| if(tr->langopts.numbers & NUM_SINGLE_STRESS) | if(tr->langopts.numbers & NUM_SINGLE_STRESS) | ||||
| char ph_append[50]; | char ph_append[50]; | ||||
| char ph_buf[200]; | char ph_buf[200]; | ||||
| char ph_buf2[50]; | char ph_buf2[50]; | ||||
| char ph_zeros[50]; | |||||
| char suffix[20]; | char suffix[20]; | ||||
| char buf_digit_lookup[50]; | |||||
| static const char str_pause[2] = {phonPAUSE_NOLINK,0}; | static const char str_pause[2] = {phonPAUSE_NOLINK,0}; | ||||
| *flags = 0; | *flags = 0; | ||||
| digit_lookup = buf_digit_lookup; | |||||
| for(ix=0; isdigit(word[ix]); ix++) ; | for(ix=0; isdigit(word[ix]); ix++) ; | ||||
| n_digits = ix; | n_digits = ix; | ||||
| value = this_value = atoi(word); | value = this_value = atoi(word); | ||||
| ph_ordinal2[0] = 0; | ph_ordinal2[0] = 0; | ||||
| ph_zeros[0] = 0; | |||||
| ordinal = CheckDotOrdinal(tr, &word[ix], wtab, 1); | ordinal = CheckDotOrdinal(tr, &word[ix], wtab, 1); | ||||
| ix++; | ix++; | ||||
| hyphen = 0; | hyphen = 0; | ||||
| p = suffix; | p = suffix; | ||||
| if(word[ix] == '-') | |||||
| if(wtab[0].flags & FLAG_HYPHEN_AFTER) | |||||
| { | { | ||||
| *p++ = '-'; | *p++ = '-'; | ||||
| hyphen = 1; | hyphen = 1; | ||||
| ix += 2; | |||||
| ix++; | |||||
| } | } | ||||
| while((word[ix] != 0) && (word[ix] != ' ') && (ix < (sizeof(suffix)-1))) | while((word[ix] != 0) && (word[ix] != ' ') && (ix < (sizeof(suffix)-1))) | ||||
| { | { | ||||
| // this is an ordinal suffix | // this is an ordinal suffix | ||||
| ordinal = 2; | ordinal = 2; | ||||
| flags[0] |= FLAG_SKIPWORDS; | flags[0] |= FLAG_SKIPWORDS; | ||||
| dictionary_skipwords = 1 + hyphen; | |||||
| dictionary_skipwords = 1; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| return(0); // number string with leading zero, speak as individual digits | |||||
| if(n_digits > 3) | |||||
| { | |||||
| flags[0] &= ~FLAG_SKIPWORDS; | |||||
| return(0); // long number string with leading zero, speak as individual digits | |||||
| } | |||||
| // speak leading zeros | |||||
| for(ix=0; (word[ix] == '0') && (ix < (n_digits-1)); ix++) | |||||
| { | |||||
| Lookup(tr, "_0", &ph_zeros[strlen(ph_zeros)]); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| Lookup(tr, "_.", ph_append); | Lookup(tr, "_.", ph_append); | ||||
| } | } | ||||
| n_digit_lookup = 0; | |||||
| buf_digit_lookup[0] = 0; | |||||
| if(thousandplex == 0) | |||||
| { | |||||
| char *p2; | |||||
| // look for combinations of the number with the next word | |||||
| p = word; | |||||
| while(isdigit(p[1])) p++; // just use the last digit | |||||
| if(isdigit(p[-1])) | |||||
| { | |||||
| p2 = p - 1; | |||||
| if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits | |||||
| n_digit_lookup = 2; | |||||
| } | |||||
| if((buf_digit_lookup[0] == 0) && (*p != '0')) | |||||
| { | |||||
| // not found, lookup only the last digit | |||||
| if(LookupDictList(tr, &p, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // don't match '0', or entries with $only | |||||
| n_digit_lookup = 1; | |||||
| } | |||||
| } | |||||
| LookupNum3(tr, value, ph_buf, suppress_null, thousandplex, prev_thousands | ordinal); | LookupNum3(tr, value, ph_buf, suppress_null, thousandplex, prev_thousands | ordinal); | ||||
| if((thousandplex > 0) && (tr->langopts.numbers2 & 0x200)) | if((thousandplex > 0) && (tr->langopts.numbers2 & 0x200)) | ||||
| sprintf(ph_out,"%s%s%s",ph_append,ph_buf2,ph_buf); // say "thousands" before its number | |||||
| sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_append,ph_buf2,ph_buf); // say "thousands" before its number | |||||
| else | else | ||||
| sprintf(ph_out,"%s%s%s",ph_buf2,ph_buf,ph_append); | |||||
| sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_buf2,ph_buf,ph_append); | |||||
| while(decimal_point) | while(decimal_point) | ||||
| if((tr->langopts.numbers & NUM_NOPAUSE) && (next_char == ' ')) | if((tr->langopts.numbers & NUM_NOPAUSE) && (next_char == ' ')) | ||||
| utf8_in(&next_char,p); | utf8_in(&next_char,p); | ||||
| if(!iswalpha(next_char)) | |||||
| if(!iswalpha(next_char) && !(wtab[0].flags & FLAG_HYPHEN_AFTER)) | |||||
| strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | ||||
| } | } | ||||
| if(((pl = &ph_list2[k])->sourceix != 0) && (k > ix)) | if(((pl = &ph_list2[k])->sourceix != 0) && (k > ix)) | ||||
| break; | break; | ||||
| pl->stress &= 0xf; | |||||
| pl->stresslevel &= 0xf; | |||||
| if(phoneme_tab[pl->phcode]->type == phVOWEL) | if(phoneme_tab[pl->phcode]->type == phVOWEL) | ||||
| { | { | ||||
| n_syllables++; | n_syllables++; | ||||
| if(pl->stress > max_stress) | |||||
| if(pl->stresslevel > max_stress) | |||||
| { | { | ||||
| syllable_stressed = n_syllables; | syllable_stressed = n_syllables; | ||||
| max_stress = pl->stress; | |||||
| max_stress = pl->stresslevel; | |||||
| max_stress_posn = k; | max_stress_posn = k; | ||||
| } | } | ||||
| } | } | ||||
| flags |= 8; | flags |= 8; | ||||
| ch.flags = flags | word_end; | ch.flags = flags | word_end; | ||||
| ch.stress = plist2->stress; | |||||
| ch.stress = plist2->stresslevel; | |||||
| ch.stress_highest = max_stress; | ch.stress_highest = max_stress; | ||||
| ch.n_vowels = n_syllables; | ch.n_vowels = n_syllables; | ||||
| ch.vowel_this = syllable; | ch.vowel_this = syllable; | ||||
| if((replace_flags & 1) && (word_end == 0)) | if((replace_flags & 1) && (word_end == 0)) | ||||
| continue; // this replacement only occurs at the end of a word | continue; // this replacement only occurs at the end of a word | ||||
| if((replace_flags & 2) && ((plist2->stress & 0x7) > 3)) | |||||
| if((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3)) | |||||
| continue; // this replacement doesn't occur in stressed syllables | continue; // this replacement doesn't occur in stressed syllables | ||||
| // substitute the replacement phoneme | // substitute the replacement phoneme | ||||
| plist2->phcode = replace_phonemes[k].new_ph; | plist2->phcode = replace_phonemes[k].new_ph; | ||||
| if((plist2->stress > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED)) | |||||
| plist2->stress = 0; // the replacement must be unstressed | |||||
| if((plist2->stresslevel > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED)) | |||||
| plist2->stresslevel = 0; // the replacement must be unstressed | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| for(j = n_ph_list2-3; j>=0; j--) | for(j = n_ph_list2-3; j>=0; j--) | ||||
| { | { | ||||
| // start with the last phoneme (before the terminating pauses) and move forwards | // start with the last phoneme (before the terminating pauses) and move forwards | ||||
| if((plist2[j].stress & 0x7f) > max_stress) | |||||
| max_stress = plist2[j].stress & 0x7f; | |||||
| if((plist2[j].stresslevel & 0x7f) > max_stress) | |||||
| max_stress = plist2[j].stresslevel & 0x7f; | |||||
| if(plist2[j].sourceix != 0) | if(plist2[j].sourceix != 0) | ||||
| break; | break; | ||||
| } | } | ||||
| { | { | ||||
| if(plist2[j].synthflags & SFLAG_PROMOTE_STRESS) // dictionary flags indicated that this stress can be promoted | if(plist2[j].synthflags & SFLAG_PROMOTE_STRESS) // dictionary flags indicated that this stress can be promoted | ||||
| { | { | ||||
| plist2[j].stress = 4; // promote to stressed | |||||
| plist2[j].stresslevel = 4; // promote to stressed | |||||
| break; | break; | ||||
| } | } | ||||
| if(plist2[j].stress >= 4) | |||||
| if(plist2[j].stresslevel >= 4) | |||||
| { | { | ||||
| // found a stressed syllable, so stop looking | // found a stressed syllable, so stop looking | ||||
| break; | break; | ||||
| if(plist2->phcode == phonSWITCH) | if(plist2->phcode == phonSWITCH) | ||||
| { | { | ||||
| // change phoneme table | // change phoneme table | ||||
| SelectPhonemeTable(plist2->tone_number); | |||||
| SelectPhonemeTable(plist2->tone_ph); | |||||
| switched_language ^= SFLAG_SWITCHED_LANG; | switched_language ^= SFLAG_SWITCHED_LANG; | ||||
| } | } | ||||
| next = phoneme_tab[(plist2+1)->phcode]; // the phoneme after this one | next = phoneme_tab[(plist2+1)->phcode]; // the phoneme after this one | ||||
| if(ph_list3[k].sourceix) | if(ph_list3[k].sourceix) | ||||
| break; // start of the next word | break; // start of the next word | ||||
| if(ph_list3[k].stress > word_stress) | |||||
| word_stress = ph_list3[k].stress; | |||||
| if(ph_list3[k].stresslevel > word_stress) | |||||
| word_stress = ph_list3[k].stresslevel; | |||||
| } | } | ||||
| } | } | ||||
| if(ph->type == phVOWEL) | if(ph->type == phVOWEL) | ||||
| { | { | ||||
| // check for consecutive unstressed syllables | // check for consecutive unstressed syllables | ||||
| if(plist2->stress == 0) | |||||
| if(plist2->stresslevel == 0) | |||||
| { | { | ||||
| // an unstressed vowel | // an unstressed vowel | ||||
| unstress_count++; | unstress_count++; | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| plist2->stress = 1; // change stress to 'diminished' | |||||
| plist2->stresslevel = 1; // change stress to 'diminished' | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| { | { | ||||
| plist2->synthflags |= SFLAG_SYLLABLE; | plist2->synthflags |= SFLAG_SYLLABLE; | ||||
| if(ph2->type != phVOWEL) | if(ph2->type != phVOWEL) | ||||
| plist2->stress = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
| plist2->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
| } | } | ||||
| else | else | ||||
| plist2->synthflags &= ~SFLAG_SYLLABLE; | plist2->synthflags &= ~SFLAG_SYLLABLE; | ||||
| { | { | ||||
| if((ph->mnemonic == 't') && (plist2->sourceix == 0) && ((prev->type == phVOWEL) || (prev->mnemonic == 'n'))) | if((ph->mnemonic == 't') && (plist2->sourceix == 0) && ((prev->type == phVOWEL) || (prev->mnemonic == 'n'))) | ||||
| { | { | ||||
| if(((plist2+1)->sourceix == 0) && ((plist2+1)->stress < 3) && (next->type == phVOWEL)) | |||||
| if(((plist2+1)->sourceix == 0) && ((plist2+1)->stresslevel < 3) && (next->type == phVOWEL)) | |||||
| { | { | ||||
| ph = phoneme_tab[phonT_REDUCED]; | ph = phoneme_tab[phonT_REDUCED]; | ||||
| } | } | ||||
| if(ph->type == phVOWEL) | if(ph->type == phVOWEL) | ||||
| { | { | ||||
| stress_level = plist2->stress; | |||||
| stress_level = plist2->stresslevel; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| // consonant, get stress from the following vowel | // consonant, get stress from the following vowel | ||||
| if(next->type == phVOWEL) | if(next->type == phVOWEL) | ||||
| stress_level = (plist2+1)->stress; | |||||
| stress_level = (plist2+1)->stresslevel; | |||||
| else | else | ||||
| break; | break; | ||||
| } | } | ||||
| insert_ph = phonPAUSE_VSHORT; | insert_ph = phonPAUSE_VSHORT; | ||||
| } | } | ||||
| if(((plist2+1)->stress >= 4) && (tr->langopts.vowel_pause & 0x100)) | |||||
| if(((plist2+1)->stresslevel >= 4) && (tr->langopts.vowel_pause & 0x100)) | |||||
| { | { | ||||
| // pause before a words which starts with a stressed vowel | // pause before a words which starts with a stressed vowel | ||||
| insert_ph = phonPAUSE_SHORT; | insert_ph = phonPAUSE_SHORT; | ||||
| phlist[ix].type = ph->type; | phlist[ix].type = ph->type; | ||||
| phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | ||||
| phlist[ix].synthflags = plist2->synthflags | switched_language; | phlist[ix].synthflags = plist2->synthflags | switched_language; | ||||
| phlist[ix].stresslevel = plist2->stress & 0xf; | |||||
| phlist[ix].tone_ph = plist2->tone_number; | |||||
| phlist[ix].stresslevel = plist2->stresslevel & 0xf; | |||||
| phlist[ix].tone_ph = plist2->tone_ph; | |||||
| phlist[ix].sourceix = 0; | phlist[ix].sourceix = 0; | ||||
| if(plist2->sourceix != 0) | if(plist2->sourceix != 0) |
| static int sayas_mode; | static int sayas_mode; | ||||
| static int ssml_ignore_l_angle = 0; | static int ssml_ignore_l_angle = 0; | ||||
| static const char *punct_stop = ".:!?"; // pitch fall if followed by space | |||||
| static const char *punct_close = ")]}>;'\""; // always pitch fall unless followed by alnum | |||||
| // alter tone for announce punctuation or capitals | // alter tone for announce punctuation or capitals | ||||
| //static const char *tone_punct_on = "\0016T"; // add reverberation, lower pitch | //static const char *tone_punct_on = "\0016T"; // add reverberation, lower pitch | ||||
| //static const char *tone_punct_off = "\001T\001P"; | //static const char *tone_punct_off = "\001T\001P"; | ||||
| CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON, | CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON, | ||||
| CLAUSE_SEMICOLON, // en-dash | CLAUSE_SEMICOLON, // en-dash | ||||
| CLAUSE_SEMICOLON, // em-dash | CLAUSE_SEMICOLON, // em-dash | ||||
| CLAUSE_SEMICOLON, // elipsis | |||||
| CLAUSE_SEMICOLON + PUNCT_SAY_NAME, // elipsis | |||||
| CLAUSE_QUESTION, // Greek question mark | CLAUSE_QUESTION, // Greek question mark | ||||
| CLAUSE_SEMICOLON, // Greek semicolon | CLAUSE_SEMICOLON, // Greek semicolon | ||||
| if(LookupDictList(tr,&string1,phonemes,flags,0,NULL)) | if(LookupDictList(tr,&string1,phonemes,flags,0,NULL)) | ||||
| { | { | ||||
| SetWordStress(tr, phonemes, flags[0], -1, 0); | |||||
| SetWordStress(tr, phonemes, flags, -1, 0); | |||||
| DecodePhonemes(phonemes,phonemes2); | DecodePhonemes(phonemes,phonemes2); | ||||
| sprintf(text_out,"[[%s]]",phonemes2); | sprintf(text_out,"[[%s]]",phonemes2); | ||||
| option_phoneme_input |= 2; | option_phoneme_input |= 2; | ||||
| } | } | ||||
| static const char *LookupCharName(Translator *tr, int c) | |||||
| {//===================================================== | |||||
| static const char *LookupCharName(Translator *tr, int c, int only) | |||||
| {//=============================================================== | |||||
| // Find the phoneme string (in ascii) to speak the name of character c | // Find the phoneme string (in ascii) to speak the name of character c | ||||
| // Used for punctuation characters and symbols | // Used for punctuation characters and symbols | ||||
| ix = utf8_out(c,&single_letter[2]); | ix = utf8_out(c,&single_letter[2]); | ||||
| single_letter[2+ix]=0; | single_letter[2+ix]=0; | ||||
| string = &single_letter[1]; | |||||
| if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0) | |||||
| if(only) | |||||
| { | { | ||||
| // try _* then * | |||||
| string = &single_letter[2]; | string = &single_letter[2]; | ||||
| LookupDictList(tr, &string, phonemes, flags, 0, NULL); | |||||
| } | |||||
| else | |||||
| { | |||||
| string = &single_letter[1]; | |||||
| if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0) | if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0) | ||||
| { | { | ||||
| // now try the rules | |||||
| single_letter[1] = ' '; | |||||
| TranslateRules(tr, &single_letter[2], phonemes, sizeof(phonemes), NULL,0,NULL); | |||||
| // try _* then * | |||||
| string = &single_letter[2]; | |||||
| if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0) | |||||
| { | |||||
| // now try the rules | |||||
| single_letter[1] = ' '; | |||||
| TranslateRules(tr, &single_letter[2], phonemes, sizeof(phonemes), NULL,0,NULL); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| if((phonemes[0] == 0) && (tr->translator_name != L('e','n'))) | |||||
| if((only==0) && (phonemes[0] == 0) && (tr->translator_name != L('e','n'))) | |||||
| { | { | ||||
| // not found, try English | // not found, try English | ||||
| SetTranslator2("en"); | SetTranslator2("en"); | ||||
| { | { | ||||
| if(lang_name) | if(lang_name) | ||||
| { | { | ||||
| SetWordStress(translator2, phonemes, flags[0], -1, 0); | |||||
| SetWordStress(translator2, phonemes, flags, -1, 0); | |||||
| DecodePhonemes(phonemes,phonemes2); | DecodePhonemes(phonemes,phonemes2); | ||||
| sprintf(buf,"[[_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); | sprintf(buf,"[[_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); | ||||
| SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| SetWordStress(tr, phonemes, flags[0], -1, 0); | |||||
| SetWordStress(tr, phonemes, flags, -1, 0); | |||||
| DecodePhonemes(phonemes,phonemes2); | DecodePhonemes(phonemes,phonemes2); | ||||
| sprintf(buf,"[[%s]] ",phonemes2); | sprintf(buf,"[[%s]] ",phonemes2); | ||||
| } | } | ||||
| option_phoneme_input |= 2; | option_phoneme_input |= 2; | ||||
| } | } | ||||
| else | else | ||||
| if(only == 0) | |||||
| { | { | ||||
| strcpy(buf,"[[(X1)(X1)(X1)]]"); | strcpy(buf,"[[(X1)(X1)(X1)]]"); | ||||
| option_phoneme_input |= 2; | option_phoneme_input |= 2; | ||||
| const char *punctname; | const char *punctname; | ||||
| int found = 0; | int found = 0; | ||||
| int soundicon; | int soundicon; | ||||
| int attributes; | |||||
| int short_pause; | |||||
| int c2; | int c2; | ||||
| int len; | int len; | ||||
| int bufix1; | int bufix1; | ||||
| found = 1; | found = 1; | ||||
| } | } | ||||
| else | else | ||||
| if((punctname = LookupCharName(tr, c1)) != NULL) | |||||
| if((punctname = LookupCharName(tr, c1, 0)) != NULL) | |||||
| { | { | ||||
| found = 1; | found = 1; | ||||
| if((*bufix==0) || (end_clause==0)) | |||||
| if((*bufix==0) || (end_clause ==0) || (tr->langopts.param[LOPT_ANNOUNCE_PUNCT] & 2)) | |||||
| { | { | ||||
| punct_count=1; | punct_count=1; | ||||
| while(c2 == c1) | while(c2 == c1) | ||||
| if(c1 == '-') | if(c1 == '-') | ||||
| return(CLAUSE_NONE); // no pause | return(CLAUSE_NONE); // no pause | ||||
| if(bufix1 > 0) | |||||
| return(CLAUSE_SHORTCOMMA); | |||||
| if((strchr_w(punct_close,c1) != NULL) && !iswalnum(c2)) | |||||
| return(CLAUSE_SHORTFALL+4); | |||||
| if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL) | |||||
| return(punct_attributes[lookupwchar(punct_chars,c1)]); | |||||
| attributes = punct_attributes[lookupwchar(punct_chars,c1)]; | |||||
| short_pause = CLAUSE_SHORTFALL; | |||||
| if((attributes & CLAUSE_BITS_INTONATION) == 0x1000) | |||||
| short_pause = CLAUSE_SHORTCOMMA; | |||||
| if((bufix1 > 0) && !(tr->langopts.param[LOPT_ANNOUNCE_PUNCT] & 2)) | |||||
| { | |||||
| if((attributes & ~0x8000) == CLAUSE_SEMICOLON) | |||||
| return(CLAUSE_SHORTFALL); | |||||
| return(short_pause); | |||||
| } | |||||
| if(attributes & CLAUSE_BIT_SENTENCE) | |||||
| return(attributes); | |||||
| return(CLAUSE_SHORTCOMMA); | |||||
| return(short_pause); | |||||
| } // end of AnnouncePunctuation | } // end of AnnouncePunctuation | ||||
| #define SSML_SPEAK 1 | #define SSML_SPEAK 1 | ||||
| int c2; // next character | int c2; // next character | ||||
| int cprev=' '; // previous character | int cprev=' '; // previous character | ||||
| int cprev2=' '; | int cprev2=' '; | ||||
| int c_next; | |||||
| int parag; | int parag; | ||||
| int ix = 0; | int ix = 0; | ||||
| int j; | int j; | ||||
| int found; | int found; | ||||
| int any_alnum = 0; | int any_alnum = 0; | ||||
| int self_closing; | int self_closing; | ||||
| int punct_data; | |||||
| int punct_data = 0; | |||||
| int is_end_clause; | int is_end_clause; | ||||
| int announced_punctuation; | int announced_punctuation; | ||||
| int stressed_word = 0; | int stressed_word = 0; | ||||
| { | { | ||||
| is_end_clause = 0; | is_end_clause = 0; | ||||
| if((c1 == '.') && (c2 == '.')) | |||||
| { | |||||
| while((c_next = GetC()) == '.') | |||||
| { | |||||
| // 3 or more dots, replace by elipsis | |||||
| c1 = 0x2026; | |||||
| c2 = ' '; | |||||
| } | |||||
| UngetC(c_next); | |||||
| } | |||||
| punct_data = 0; | |||||
| if((punct = lookupwchar(punct_chars,c1)) != 0) | if((punct = lookupwchar(punct_chars,c1)) != 0) | ||||
| { | { | ||||
| punct_data = punct_attributes[punct]; | punct_data = punct_attributes[punct]; | ||||
| } | } | ||||
| } | } | ||||
| if(is_end_clause) | |||||
| if((punct_data & PUNCT_SAY_NAME) && (announced_punctuation == 0)) | |||||
| { | { | ||||
| int c_next; | |||||
| if((c1 == '.') && (cprev == '.')) | |||||
| // used for elipsis (and 3 dots) if a pronunciation for elipsis is given in *_list | |||||
| char *p2; | |||||
| p2 = &buf[ix]; | |||||
| sprintf(p2,"%s",LookupCharName(tr, c1, 1)); | |||||
| if(p2[0] != 0) | |||||
| { | { | ||||
| c1 = 0x2026; | |||||
| punct = 9; // elipsis | |||||
| ix += strlen(p2); | |||||
| announced_punctuation = c1; | |||||
| punct_data = punct_data & ~CLAUSE_BITS_INTONATION; // change intonation type to 0 (full-stop) | |||||
| } | } | ||||
| } | |||||
| if(is_end_clause) | |||||
| { | |||||
| nl_count = 0; | nl_count = 0; | ||||
| c_next = c2; | c_next = c2; | ||||
| } | } | ||||
| } | } | ||||
| if((nl_count==0) && (c1 == '.')) | |||||
| if(nl_count==0) | |||||
| { | { | ||||
| if((tr->langopts.numbers & NUM_ORDINAL_DOT) && | |||||
| (iswdigit(cprev) || (IsRomanU(cprev) && (IsRomanU(cprev2) || iswspace(cprev2))))) // lang=hu | |||||
| if(c1 == '.') | |||||
| { | { | ||||
| // dot after a number indicates an ordinal number | |||||
| if(!iswdigit(cprev) || iswlower(c_next) || (c_next == '<')) | |||||
| is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag) | |||||
| if((tr->langopts.numbers & NUM_ORDINAL_DOT) && | |||||
| (iswdigit(cprev) || (IsRomanU(cprev) && (IsRomanU(cprev2) || iswspace(cprev2))))) // lang=hu | |||||
| { | |||||
| // dot after a number indicates an ordinal number | |||||
| if(!iswdigit(cprev) || iswlower(c_next) || (c_next == '<')) | |||||
| is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag) | |||||
| } | |||||
| else | |||||
| if(iswlower(c_next)) | |||||
| { | |||||
| // next word has no capital letter, this dot is probably from an abbreviation | |||||
| c1 = ' '; | |||||
| is_end_clause = 0; | |||||
| } | |||||
| if(any_alnum==0) | |||||
| { | |||||
| // no letters or digits yet, so probably not a sentence terminator | |||||
| // Here, dot is followed by space or bracket | |||||
| c1 = ' '; | |||||
| is_end_clause = 0; | |||||
| } | |||||
| } | } | ||||
| else | else | ||||
| if(iswlower(c_next)) | |||||
| { | |||||
| // next word has no capital letter, this dot is probably from an abbreviation | |||||
| c1 = ' '; | |||||
| is_end_clause = 0; | |||||
| } | |||||
| if(any_alnum==0) | |||||
| { | { | ||||
| c1 = ' '; // no letters or digits yet, so probably not a sentence terminator | |||||
| is_end_clause = 0; | |||||
| if(any_alnum==0) | |||||
| { | |||||
| // no letters or digits yet, so probably not a sentence terminator | |||||
| is_end_clause = 0; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| buf[ix] = ' '; | buf[ix] = ' '; | ||||
| buf[ix+1] = 0; | buf[ix+1] = 0; | ||||
| punct_data = punct_attributes[punct]; | |||||
| if(nl_count > 1) | if(nl_count > 1) | ||||
| { | { | ||||
| if((punct_data == CLAUSE_QUESTION) || (punct_data == CLAUSE_EXCLAMATION)) | if((punct_data == CLAUSE_QUESTION) || (punct_data == CLAUSE_EXCLAMATION)) | ||||
| if(c1 == announced_punctuation) | if(c1 == announced_punctuation) | ||||
| { | { | ||||
| // const unsigned short keep_punctuation[] = { | |||||
| // '\'', '-', 0x92, 0xb4, 0x2019, 0x2032, 0 }; | |||||
| // This character has already been announced, so delete it so that it isn't spoken a second time. | // This character has already been announced, so delete it so that it isn't spoken a second time. | ||||
| // Unless it's a hyphen or apostrophe (which is used by TranslateClause() ) | // Unless it's a hyphen or apostrophe (which is used by TranslateClause() ) | ||||
| if(!IsBracket(c1)) | |||||
| if(IsBracket(c1)) | |||||
| { | |||||
| c1 = 0xe000 + '('; // Unicode private useage area. So TranslateRules() knows the bracket name has been spoken | |||||
| } | |||||
| else | |||||
| if(c1 != '-') | |||||
| { | { | ||||
| c1 = ' '; | c1 = ' '; | ||||
| } | } |
| #define ARCH_BIG | #define ARCH_BIG | ||||
| #endif | #endif | ||||
| #ifdef __QNX__ | |||||
| #define NEED_GETOPT | |||||
| #define NO_VARIADIC_MACROS | |||||
| #endif | |||||
| #define PLATFORM_POSIX | #define PLATFORM_POSIX | ||||
| #define PATHSEP '/' | #define PATHSEP '/' | ||||
| // USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile | // USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.41.18 19.Oct.09"; | |||||
| const char *version_string = "1.41.32 09.Nov.09"; | |||||
| const int version_phdata = 0x014118; | const int version_phdata = 0x014118; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| else | else | ||||
| { | { | ||||
| DoSpect(p->ph,prev->ph,phoneme_tab[phonPAUSE],2,p,0); | DoSpect(p->ph,prev->ph,phoneme_tab[phonPAUSE],2,p,0); | ||||
| if((p->newword == 0) && (next2->newword == 0)) | |||||
| { | |||||
| if((next->type == phVFRICATIVE) && (p->ph->mnemonic !='d')) | |||||
| DoPause(20,0); | |||||
| if((next->type == phFRICATIVE) || (next->type == phNASAL)) | |||||
| DoPause(12,0); | |||||
| } | |||||
| } | } | ||||
| break; | break; | ||||
| tr->langopts.param[LOPT_SONORANT_MIN] = 95; | tr->langopts.param[LOPT_SONORANT_MIN] = 95; | ||||
| tr->langopts.param[LOPT_MAXAMP_EOC] = 19; | tr->langopts.param[LOPT_MAXAMP_EOC] = 19; | ||||
| tr->langopts.param[LOPT_UNPRONOUNCABLE] = 's'; // don't count this character at start of word | tr->langopts.param[LOPT_UNPRONOUNCABLE] = 's'; // don't count this character at start of word | ||||
| tr->langopts.param[LOPT_BRACKET_PAUSE] = 4; // pause at bracket | |||||
| tr->langopts.param2[LOPT_BRACKET_PAUSE] = 2; // pauses when announcing bracket names | |||||
| tr->langopts.max_initial_consonants = 3; | tr->langopts.max_initial_consonants = 3; | ||||
| tr->langopts.replace_chars = NULL; | tr->langopts.replace_chars = NULL; | ||||
| tr->langopts.ascii_language = ""; // Non-Latin alphabet languages, use this language to speak Latin words, default is English | tr->langopts.ascii_language = ""; // Non-Latin alphabet languages, use this language to speak Latin words, default is English | ||||
| tr->langopts.vowel_pause = 0x20; | tr->langopts.vowel_pause = 0x20; | ||||
| tr->langopts.stress_rule = STRESSPOSN_1L; | tr->langopts.stress_rule = STRESSPOSN_1L; | ||||
| tr->langopts.stress_flags = 0x8036; | |||||
| tr->langopts.stress_flags = 0x8036 | STRS_HYPEN_UNSTRESS; | |||||
| tr->langopts.unstressed_wd1 = 2; | tr->langopts.unstressed_wd1 = 2; | ||||
| // tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries | |||||
| tr->langopts.param[LOPT_IT_DOUBLING] = 1; | tr->langopts.param[LOPT_IT_DOUBLING] = 1; | ||||
| tr->langopts.param[LOPT_ANNOUNCE_PUNCT] = 2; // don't break clause before announcing . ? ! | |||||
| // tr->langopts.param[LOPT_COMBINE_WORDS] = 9; // combine some prepositions with the following word | // tr->langopts.param[LOPT_COMBINE_WORDS] = 9; // combine some prepositions with the following word | ||||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED; |
| static int prev_clause_pause=0; | static int prev_clause_pause=0; | ||||
| static int max_clause_pause = 0; | static int max_clause_pause = 0; | ||||
| static int any_stressed_words; | |||||
| int pre_pause; | int pre_pause; | ||||
| { | { | ||||
| char *p; | char *p; | ||||
| // German, keep a secondary stress on the stem | // German, keep a secondary stress on the stem | ||||
| SetWordStress(tr, phonemes, dictionary_flags[0], 3, 0); | |||||
| SetWordStress(tr, phonemes, dictionary_flags, 3, 0); | |||||
| // reduce all but the first primary stress | // reduce all but the first primary stress | ||||
| ix=0; | ix=0; | ||||
| } | } | ||||
| strcpy(word_phonemes,prefix_phonemes); | strcpy(word_phonemes,prefix_phonemes); | ||||
| strcat(word_phonemes,phonemes); | strcat(word_phonemes,phonemes); | ||||
| SetWordStress(tr, word_phonemes, dictionary_flags[0], -1, 0); | |||||
| SetWordStress(tr, word_phonemes, dictionary_flags, -1, 0); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| // stress position affects the whole word, including prefix | // stress position affects the whole word, including prefix | ||||
| strcpy(word_phonemes,prefix_phonemes); | strcpy(word_phonemes,prefix_phonemes); | ||||
| strcat(word_phonemes,phonemes); | strcat(word_phonemes,phonemes); | ||||
| SetWordStress(tr, word_phonemes, dictionary_flags[0], -1, tr->prev_last_stress); | |||||
| SetWordStress(tr, word_phonemes, dictionary_flags, -1, tr->prev_last_stress); | |||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if(prefix_phonemes[0] == 0) | if(prefix_phonemes[0] == 0) | ||||
| SetWordStress(tr, phonemes, dictionary_flags[0], -1, tr->prev_last_stress); | |||||
| SetWordStress(tr, phonemes, dictionary_flags, -1, tr->prev_last_stress); | |||||
| else | else | ||||
| SetWordStress(tr, phonemes, dictionary_flags[0], -1, 0); | |||||
| SetWordStress(tr, phonemes, dictionary_flags, -1, 0); | |||||
| strcpy(word_phonemes,prefix_phonemes); | strcpy(word_phonemes,prefix_phonemes); | ||||
| strcat(word_phonemes,phonemes); | strcat(word_phonemes,phonemes); | ||||
| } | } | ||||
| dictionary_flags[0] &= ~FLAG_PAUSE1; | dictionary_flags[0] &= ~FLAG_PAUSE1; | ||||
| } | } | ||||
| if((wflags & FLAG_HYPHEN) && (tr->langopts.stress_flags & STRS_HYPEN_UNSTRESS)) | |||||
| { | |||||
| ChangeWordStress(tr,word_phonemes,3); | |||||
| } | |||||
| else | |||||
| if(wflags & FLAG_EMPHASIZED2) | if(wflags & FLAG_EMPHASIZED2) | ||||
| { | { | ||||
| // A word is indicated in the source text as stressed | // A word is indicated in the source text as stressed | ||||
| if(dictionary_flags[0] & (FLAG_STRESS_END | FLAG_STRESS_END2)) | if(dictionary_flags[0] & (FLAG_STRESS_END | FLAG_STRESS_END2)) | ||||
| ChangeWordStress(tr,word_phonemes,4); | ChangeWordStress(tr,word_phonemes,4); | ||||
| else | else | ||||
| if(dictionary_flags[0] & FLAG_UNSTRESS_END) | |||||
| if((dictionary_flags[0] & FLAG_UNSTRESS_END) && (any_stressed_words)) | |||||
| ChangeWordStress(tr,word_phonemes,3); | ChangeWordStress(tr,word_phonemes,3); | ||||
| } | } | ||||
| tr->expect_past--; | tr->expect_past--; | ||||
| } | } | ||||
| if((word_length == 1) && iswalpha(first_char) && (first_char != 'i')) | |||||
| if((word_length == 1) && (tr->translator_name == L('e','n')) && iswalpha(first_char) && (first_char != 'i')) | |||||
| { | { | ||||
| // English Specific !!!! | // English Specific !!!! | ||||
| // any single letter before a dot is an abbreviation, except 'I' | // any single letter before a dot is an abbreviation, except 'I' | ||||
| static void SetPlist2(PHONEME_LIST2 *p, unsigned char phcode) | static void SetPlist2(PHONEME_LIST2 *p, unsigned char phcode) | ||||
| {//========================================================== | {//========================================================== | ||||
| p->phcode = phcode; | p->phcode = phcode; | ||||
| p->stress = 0; | |||||
| p->tone_number = 0; | |||||
| p->stresslevel = 0; | |||||
| p->tone_ph = 0; | |||||
| p->synthflags = embedded_flag; | p->synthflags = embedded_flag; | ||||
| p->sourceix = 0; | p->sourceix = 0; | ||||
| embedded_flag = 0; | embedded_flag = 0; | ||||
| { | { | ||||
| // this word uses a different phoneme table | // this word uses a different phoneme table | ||||
| SetPlist2(&ph_list2[n_ph_list2],phonSWITCH); | SetPlist2(&ph_list2[n_ph_list2],phonSWITCH); | ||||
| ph_list2[n_ph_list2++].tone_number = switch_phonemes; // temporary phoneme table number | |||||
| ph_list2[n_ph_list2++].tone_ph = switch_phonemes; // temporary phoneme table number | |||||
| } | } | ||||
| // remove initial pause from a word if it follows a hyphen | // remove initial pause from a word if it follows a hyphen | ||||
| ph_list2[n_ph_list2].phcode = ph_code; | ph_list2[n_ph_list2].phcode = ph_code; | ||||
| ph_list2[n_ph_list2].sourceix = 0; | ph_list2[n_ph_list2].sourceix = 0; | ||||
| ph_list2[n_ph_list2].synthflags = embedded_flag; | ph_list2[n_ph_list2].synthflags = embedded_flag; | ||||
| ph_list2[n_ph_list2++].tone_number = *p++; | |||||
| ph_list2[n_ph_list2++].tone_ph = *p++; | |||||
| } | } | ||||
| else | else | ||||
| if(ph->type == phSTRESS) | if(ph->type == phSTRESS) | ||||
| // for tone languages, the tone number for a syllable follows the vowel | // for tone languages, the tone number for a syllable follows the vowel | ||||
| if(prev_vowel >= 0) | if(prev_vowel >= 0) | ||||
| { | { | ||||
| ph_list2[prev_vowel].tone_number = ph_code; | |||||
| ph_list2[prev_vowel].tone_ph = ph_code; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| // mark the previous phoneme as a syllabic consonant | // mark the previous phoneme as a syllabic consonant | ||||
| prev_vowel = n_ph_list2-1; | prev_vowel = n_ph_list2-1; | ||||
| ph_list2[prev_vowel].synthflags |= SFLAG_SYLLABLE; | ph_list2[prev_vowel].synthflags |= SFLAG_SYLLABLE; | ||||
| ph_list2[prev_vowel].stress = next_stress; | |||||
| ph_list2[prev_vowel].stresslevel = next_stress; | |||||
| } | } | ||||
| else | else | ||||
| if(ph_code == phonLENGTHEN) | if(ph_code == phonLENGTHEN) | ||||
| else | else | ||||
| { | { | ||||
| ph_list2[n_ph_list2].phcode = ph_code; | ph_list2[n_ph_list2].phcode = ph_code; | ||||
| ph_list2[n_ph_list2].tone_number = 0; | |||||
| ph_list2[n_ph_list2].tone_ph = 0; | |||||
| ph_list2[n_ph_list2].synthflags = embedded_flag | found_dict_flag; | ph_list2[n_ph_list2].synthflags = embedded_flag | found_dict_flag; | ||||
| embedded_flag = 0; | embedded_flag = 0; | ||||
| ph_list2[n_ph_list2].sourceix = srcix; | ph_list2[n_ph_list2].sourceix = srcix; | ||||
| stress = next_stress; | stress = next_stress; | ||||
| next_stress = 0; | next_stress = 0; | ||||
| if(stress >= 4) | |||||
| { | |||||
| any_stressed_words = 1; | |||||
| } | |||||
| if((prev_vowel >= 0) && (n_ph_list2-1) != prev_vowel) | if((prev_vowel >= 0) && (n_ph_list2-1) != prev_vowel) | ||||
| ph_list2[n_ph_list2-1].stress = stress; // set stress for previous consonant | |||||
| ph_list2[n_ph_list2-1].stresslevel = stress; // set stress for previous consonant | |||||
| ph_list2[n_ph_list2].synthflags |= SFLAG_SYLLABLE; | ph_list2[n_ph_list2].synthflags |= SFLAG_SYLLABLE; | ||||
| prev_vowel = n_ph_list2; | prev_vowel = n_ph_list2; | ||||
| } | } | ||||
| if(next_tone != 0) | if(next_tone != 0) | ||||
| { | { | ||||
| ph_list2[n_ph_list2].tone_number = next_tone; | |||||
| ph_list2[n_ph_list2].tone_ph = next_tone; | |||||
| next_tone=0; | next_tone=0; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ph_list2[n_ph_list2].stress = stress; | |||||
| ph_list2[n_ph_list2].stresslevel = stress; | |||||
| n_ph_list2++; | n_ph_list2++; | ||||
| first_phoneme = 0; | first_phoneme = 0; | ||||
| } | } | ||||
| // this word uses a different phoneme table, now switch back | // this word uses a different phoneme table, now switch back | ||||
| SelectPhonemeTable(voice->phoneme_tab_ix); | SelectPhonemeTable(voice->phoneme_tab_ix); | ||||
| SetPlist2(&ph_list2[n_ph_list2],phonSWITCH); | SetPlist2(&ph_list2[n_ph_list2],phonSWITCH); | ||||
| ph_list2[n_ph_list2++].tone_number = voice->phoneme_tab_ix; // original phoneme table number | |||||
| ph_list2[n_ph_list2++].tone_ph = voice->phoneme_tab_ix; // original phoneme table number | |||||
| } | } | ||||
| embedded_read = 0; | embedded_read = 0; | ||||
| option_phoneme_input &= ~2; // clear bit 1 (temporary indication) | option_phoneme_input &= ~2; // clear bit 1 (temporary indication) | ||||
| pre_pause = 0; | pre_pause = 0; | ||||
| any_stressed_words = 0; | |||||
| if((clause_start_char = count_characters) < 0) | if((clause_start_char = count_characters) < 0) | ||||
| clause_start_char = 0; | clause_start_char = 0; | ||||
| else | else | ||||
| if(c=='-') | if(c=='-') | ||||
| { | { | ||||
| if(IsAlpha(prev_in) && IsAlpha(next_in)) | |||||
| if((IsAlpha(prev_in) || iswdigit(prev_in)) && IsAlpha(next_in)) | |||||
| { | { | ||||
| // '-' between two letters is a hyphen, treat as a space | // '-' between two letters is a hyphen, treat as a space | ||||
| word_flags |= FLAG_HYPHEN; | word_flags |= FLAG_HYPHEN; | ||||
| } | } | ||||
| word = pw; | word = pw; | ||||
| // include the next few characters, in case there are an ordinal indicator | |||||
| // include the next few characters, in case there are an ordinal indicator or other suffix | |||||
| pn[0] = ' '; | pn[0] = ' '; | ||||
| memcpy(pn+1, pw, 8); | |||||
| pn[8] = 0; | |||||
| memcpy(pn+1, pw, 16); | |||||
| pn[16] = 0; | |||||
| for(pw = &number_buf[1]; pw < pn;) | for(pw = &number_buf[1]; pw < pn;) | ||||
| { | { | ||||
| // keep wflags for each part, for FLAG_HYPHEN_AFTER | |||||
| dict_flags = TranslateWord2(tr, pw, &words[ix], words[ix].pre_pause,0 ); | dict_flags = TranslateWord2(tr, pw, &words[ix], words[ix].pre_pause,0 ); | ||||
| while(*pw++ != ' '); | while(*pw++ != ' '); | ||||
| words[ix].pre_pause = 0; | words[ix].pre_pause = 0; | ||||
| words[ix].flags = 0; | |||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| if(dict_flags & FLAG_SKIPWORDS) | if(dict_flags & FLAG_SKIPWORDS) | ||||
| { | { | ||||
| ix += dictionary_skipwords; // dictionary indicates skip next word(s) | |||||
| ix += dictionary_skipwords; // dictionary indicates skip next word(s) | |||||
| } | } | ||||
| } | } | ||||
| PHONEME_LIST2 *p2; | PHONEME_LIST2 *p2; | ||||
| p2 = &ph_list2[n_ph_list2 + ix]; | p2 = &ph_list2[n_ph_list2 + ix]; | ||||
| p2->phcode = phonPAUSE; | p2->phcode = phonPAUSE; | ||||
| p2->stress = 0; | |||||
| p2->stresslevel = 0; | |||||
| p2->sourceix = source_index; | p2->sourceix = source_index; | ||||
| p2->synthflags = 0; | p2->synthflags = 0; | ||||
| } | } |
| #define FLAG_VERB_EXT 0x100 /* extend the 'verb follows' */ | #define FLAG_VERB_EXT 0x100 /* extend the 'verb follows' */ | ||||
| #define FLAG_CAPITAL 0x200 /* pronunciation if initial letter is upper case */ | #define FLAG_CAPITAL 0x200 /* pronunciation if initial letter is upper case */ | ||||
| #define FLAG_ALLCAPS 0x400 // only if the word is all capitals | #define FLAG_ALLCAPS 0x400 // only if the word is all capitals | ||||
| #define BITNUM_FLAG_ALLCAPS 0x2a | |||||
| #define FLAG_ACCENT 0x800 // character name is base-character name + accent name | #define FLAG_ACCENT 0x800 // character name is base-character name + accent name | ||||
| #define FLAG_HYPHENATED 0x1000 // multiple-words, but needs hyphen between parts 1 and 2 | #define FLAG_HYPHENATED 0x1000 // multiple-words, but needs hyphen between parts 1 and 2 | ||||
| #define BITNUM_FLAG_ALLCAPS 0x2a | |||||
| #define BITNUM_FLAG_HYPHENATED 0x2c | #define BITNUM_FLAG_HYPHENATED 0x2c | ||||
| // Punctuation types returned by ReadClause() | // Punctuation types returned by ReadClause() | ||||
| // bits 0-7 pause x 10mS, bits 12-14 intonation type, | // bits 0-7 pause x 10mS, bits 12-14 intonation type, | ||||
| // bit 15- don't need space after the punctuation | |||||
| // bit 19=sentence, bit 18=clause, bits 17=voice change | // bit 19=sentence, bit 18=clause, bits 17=voice change | ||||
| // bit 16 used to distinguish otherwise identical types | // bit 16 used to distinguish otherwise identical types | ||||
| // bit 20= punctuation character can be inside a word (Armenian) | // bit 20= punctuation character can be inside a word (Armenian) | ||||
| // bit 21= speak the name of the punctuation character | |||||
| #define CLAUSE_BIT_SENTENCE 0x80000 | #define CLAUSE_BIT_SENTENCE 0x80000 | ||||
| #define CLAUSE_BIT_CLAUSE 0x40000 | |||||
| #define CLAUSE_BIT_VOICE 0x20000 | #define CLAUSE_BIT_VOICE 0x20000 | ||||
| #define CLAUSE_BITS_INTONATION 0x7000 | |||||
| #define PUNCT_IN_WORD 0x100000 | #define PUNCT_IN_WORD 0x100000 | ||||
| #define PUNCT_SAY_NAME 0x200000 | |||||
| #define CLAUSE_NONE 0 + 0x04000 | #define CLAUSE_NONE 0 + 0x04000 | ||||
| #define CLAUSE_PARAGRAPH 70 + 0x80000 | #define CLAUSE_PARAGRAPH 70 + 0x80000 | ||||
| #define CLAUSE_EOF 35 + 0x90000 | |||||
| #define CLAUSE_EOF 40 + 0x90000 | |||||
| #define CLAUSE_VOICE 0 + 0x24000 | #define CLAUSE_VOICE 0 + 0x24000 | ||||
| #define CLAUSE_PERIOD 35 + 0x80000 | |||||
| #define CLAUSE_PERIOD 40 + 0x80000 | |||||
| #define CLAUSE_COMMA 20 + 0x41000 | #define CLAUSE_COMMA 20 + 0x41000 | ||||
| #define CLAUSE_SHORTCOMMA 4 + 0x41000 | #define CLAUSE_SHORTCOMMA 4 + 0x41000 | ||||
| #define CLAUSE_SHORTFALL 4 + 0x40000 | #define CLAUSE_SHORTFALL 4 + 0x40000 | ||||
| #define CLAUSE_QUESTION 35 + 0x82000 | |||||
| #define CLAUSE_EXCLAMATION 40 + 0x83000 | |||||
| #define CLAUSE_QUESTION 40 + 0x82000 | |||||
| #define CLAUSE_EXCLAMATION 45 + 0x83000 | |||||
| #define CLAUSE_COLON 30 + 0x40000 | #define CLAUSE_COLON 30 + 0x40000 | ||||
| #ifdef PLATFORM_RISCOS | |||||
| #define CLAUSE_SEMICOLON 30 + 0x40000 | |||||
| #else | |||||
| #define CLAUSE_SEMICOLON 30 + 0x41000 | #define CLAUSE_SEMICOLON 30 + 0x41000 | ||||
| #endif | |||||
| #define SAYAS_CHARS 0x12 | #define SAYAS_CHARS 0x12 | ||||
| #define SAYAS_GLYPHS 0x13 | #define SAYAS_GLYPHS 0x13 | ||||
| // a clause translated into phoneme codes (first stage) | // a clause translated into phoneme codes (first stage) | ||||
| typedef struct { | typedef struct { | ||||
| unsigned char phcode; | unsigned char phcode; | ||||
| unsigned char stress; | |||||
| unsigned char tone_number; | |||||
| unsigned char stresslevel; | |||||
| unsigned char tone_ph; | |||||
| unsigned char synthflags; | unsigned char synthflags; | ||||
| unsigned short sourceix; | unsigned short sourceix; | ||||
| } PHONEME_LIST2; | } PHONEME_LIST2; | ||||
| #define N_LOPTS 16 | |||||
| #define N_LOPTS 18 | |||||
| #define LOPT_DIERESES 1 | #define LOPT_DIERESES 1 | ||||
| // 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables | // 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables | ||||
| // bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word | // bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word | ||||
| // Call ApplySpecialAttributes() if $alt or $alt2 is set for a word | // Call ApplySpecialAttributes() if $alt or $alt2 is set for a word | ||||
| #define LOPT_ALT 15 | #define LOPT_ALT 15 | ||||
| // pause for bracket (default=4), pause when annoucing bracket names (default=2) | |||||
| #define LOPT_BRACKET_PAUSE 16 | |||||
| // bit 1, don't break clause before annoucning . ? ! | |||||
| #define LOPT_ANNOUNCE_PUNCT 17 | |||||
| // stress_rule | // stress_rule | ||||
| #define STRESSPOSN_1L 0 // 1st syllable | #define STRESSPOSN_1L 0 // 1st syllable | ||||
| int vowel_pause; | int vowel_pause; | ||||
| int stress_rule; // 1=first syllable, 2=penultimate, 3=last | int stress_rule; // 1=first syllable, 2=penultimate, 3=last | ||||
| #define STRS_HYPEN_UNSTRESS 0x100000 | |||||
| // bit0=don't stress monosyllables, except at end of clause | // bit0=don't stress monosyllables, except at end of clause | ||||
| // bit1=don't set diminished stress, | // bit1=don't set diminished stress, | ||||
| // bit2=mark unstressed final syllables as diminished | // bit2=mark unstressed final syllables as diminished | ||||
| // bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary" | // bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary" | ||||
| // bit18= don't lengthen short vowels more than long vowels at end-of-clause | // bit18= don't lengthen short vowels more than long vowels at end-of-clause | ||||
| // bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel | // bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel | ||||
| // bit20= hyphenated words, 2nd part is unstressed | |||||
| int stress_flags; | int stress_flags; | ||||
| int unstressed_wd1; // stress for $u word of 1 syllable | int unstressed_wd1; // stress for $u word of 1 syllable | ||||
| int unstressed_wd2; // stress for $u word of >1 syllable | int unstressed_wd2; // stress for $u word of >1 syllable | ||||
| int param[N_LOPTS]; | int param[N_LOPTS]; | ||||
| int param2[N_LOPTS]; | |||||
| unsigned char *length_mods; | unsigned char *length_mods; | ||||
| unsigned char *length_mods0; | unsigned char *length_mods0; | ||||
| int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | ||||
| int Unpronouncable(Translator *tr, char *word); | int Unpronouncable(Translator *tr, char *word); | ||||
| void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress); | |||||
| void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress); | |||||
| int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags); | int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags); | ||||
| int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab); | int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab); | ||||
| void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change); | void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change); |
| typedef struct { | |||||
| const char *mnem; | |||||
| int data; | |||||
| } keywtab_t; | |||||
| static MNEM_TAB options_tab[] = { | |||||
| {"reduce_t", LOPT_REDUCE_T}, | |||||
| {"bracket", LOPT_BRACKET_PAUSE}, | |||||
| {NULL, -1} }; | |||||
| static keywtab_t keyword_tab[] = { | |||||
| static MNEM_TAB keyword_tab[] = { | |||||
| {"name", V_NAME}, | {"name", V_NAME}, | ||||
| {"language", V_LANGUAGE}, | {"language", V_LANGUAGE}, | ||||
| {"gender", V_GENDER}, | {"gender", V_GENDER}, | ||||
| static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | ||||
| // default is: pitch 82,118 | |||||
| // voice->pitch_base = 0x49000; // default, 73 << 12; | |||||
| // voice->pitch_range = 0x0f30; // default = 0x1000 | |||||
| voice->pitch_base = 0x47000; | |||||
| voice->pitch_range = 3996; | |||||
| // default is: pitch 78,120 | |||||
| voice->pitch_base = 0x45000; | |||||
| voice->pitch_range = 4536; | |||||
| // default is: pitch 80,117 | |||||
| // voice->pitch_base = 0x47000; | |||||
| // voice->pitch_range = 3996; | |||||
| voice->formant_factor = 256; | voice->formant_factor = 256; | ||||
| // bit 4 1 = vname = full path | // bit 4 1 = vname = full path | ||||
| FILE *f_voice = NULL; | FILE *f_voice = NULL; | ||||
| keywtab_t *k; | |||||
| char *p; | char *p; | ||||
| int key; | int key; | ||||
| int ix; | int ix; | ||||
| int n; | int n; | ||||
| int value; | int value; | ||||
| int value2; | |||||
| int error = 0; | int error = 0; | ||||
| int langix = 0; | int langix = 0; | ||||
| int tone_only = control & 2; | int tone_only = control & 2; | ||||
| char translator_name[40]; | char translator_name[40]; | ||||
| char new_dictionary[40]; | char new_dictionary[40]; | ||||
| char phonemes_name[40]; | char phonemes_name[40]; | ||||
| char option_name[40]; | |||||
| const char *language_type; | const char *language_type; | ||||
| char buf[200]; | char buf[200]; | ||||
| char path_voices[sizeof(path_home)+12]; | char path_voices[sizeof(path_home)+12]; | ||||
| if(buf[0] == 0) continue; | if(buf[0] == 0) continue; | ||||
| key = 0; | |||||
| for(k=keyword_tab; k->mnem != NULL; k++) | |||||
| { | |||||
| if(strcmp(buf,k->mnem)==0) | |||||
| { | |||||
| key = k->data; | |||||
| break; | |||||
| } | |||||
| } | |||||
| key = LookupMnem(keyword_tab, buf); | |||||
| switch(key) | switch(key) | ||||
| { | { | ||||
| break; | break; | ||||
| case V_OPTION: | case V_OPTION: | ||||
| if(sscanf(p,"%d %d",&ix,&value) == 2) | |||||
| value2 = 0; | |||||
| if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) | |||||
| { | |||||
| langopts->param[ix] = value; | |||||
| langopts->param2[ix] = value2; | |||||
| } | |||||
| else | |||||
| { | { | ||||
| if((ix >= 0) && (ix < N_LOPTS)) | |||||
| langopts->param[ix] = value; | |||||
| fprintf(stderr,"Bad voice option: %s %s\n",buf,p); | |||||
| } | } | ||||
| break; | break; | ||||