From 19b774ffc62251925fd0bc8771cf16fb34284ba3 Mon Sep 17 00:00:00 2001 From: jonsd Date: Sat, 3 Apr 2010 22:20:25 +0000 Subject: [PATCH] [1.43.16] git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@242 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/da_list | 2346 +++++++++++++++++++++++++++++++++++--- dictsource/da_rules | 1444 +++++++++++++++-------- dictsource/de_list | 6 +- dictsource/de_rules | 28 +- dictsource/dict_phonemes | 21 +- dictsource/en_list | 7 +- dictsource/en_rules | 18 +- dictsource/fr_list | 206 ++-- dictsource/fr_rules | 241 ++-- dictsource/hu_list | 37 +- dictsource/hu_rules | 89 +- dictsource/is_rules | 2 +- dictsource/ta_list | 4 +- dictsource/ta_rules | 134 ++- phsource/compile_report | 54 +- phsource/ph_danish | 28 +- phsource/ph_french | 355 +++--- phsource/ph_tamil | 9 + phsource/phonemes | 3 + phsource/vowel/u_bck2 | Bin 8314 -> 9048 bytes phsource/vwl_fr/_r | Bin 50422 -> 1230 bytes phsource/vwl_fr/r | Bin 1261 -> 1261 bytes phsource/vwl_fr/r@ | Bin 844 -> 2266 bytes phsource/vwl_fr/r_ | Bin 4924 -> 2681 bytes phsource/vwl_fr/r_@ | Bin 679 -> 3389 bytes phsource/vwl_fr/r_a | Bin 4167 -> 4511 bytes phsource/vwl_fr/r_an | Bin 678 -> 850 bytes phsource/vwl_fr/r_e | Bin 680 -> 851 bytes phsource/vwl_fr/r_i | Bin 679 -> 851 bytes phsource/vwl_fr/r_o | Bin 679 -> 851 bytes phsource/vwl_fr/r_u | Bin 679 -> 851 bytes phsource/vwl_fr/r_y | Bin 679 -> 851 bytes phsource/vwl_fr/ra | Bin 1556 -> 2266 bytes phsource/vwl_fr/raa | Bin 845 -> 2267 bytes phsource/vwl_fr/re | Bin 844 -> 2266 bytes phsource/vwl_fr/ri | Bin 844 -> 2266 bytes phsource/vwl_fr/ro | Bin 844 -> 2266 bytes phsource/vwl_fr/ru | Bin 852 -> 2266 bytes phsource/vwl_fr/ry | Bin 852 -> 2266 bytes phsource/vwl_fr/tr | Bin 850 -> 818 bytes phsource/vwl_fr/xr | Bin 4510 -> 830 bytes src/compiledict.cpp | 2 +- src/formantdlg.cpp | 47 +- src/synthdata.cpp | 2 +- src/translate.cpp | 15 +- src/transldlg.cpp | 6 +- 46 files changed, 3918 insertions(+), 1186 deletions(-) diff --git a/dictsource/da_list b/dictsource/da_list index ce69a84e..ccc3d0af 100755 --- a/dictsource/da_list +++ b/dictsource/da_list @@ -158,27 +158,27 @@ med $u+ // with af & // PB changed from [a?] to [&] - sound too short in a sentence // Also removed $u from 'af' and other words. They disappeared. ad &: // PB added 'ad' -at &: // PB changed from [at] to [&:] +at &: $u // PB changed from [at] to [&:] hos // at - PB: removed [$u+] som sVm // which / that - PB: removed [$u+] // pronouns -jeg jai // I - PB: removed [$u] -du $u+ +jeg jai $u+ // I +du du $u+ de di $u han $u hun $u -det de $u+ +det de $u vi $u i _i: $u+ -mig maj // me -dig daj +mig maj $u // me +dig daj $u dem $u ham $u hende $u sig saj os Vs $u -jer $u +jer denne $u+ // this dette $u+ disse $u+ // these @@ -207,10 +207,10 @@ jeres $u // auxillary verbs -er $u+ // is +er $u // is var vAr $u+ // was har hAr $u+ // has -havde $u+ // had +havde h&:D@ $u+ // had vil $u+ // will skal $u+ // shall kan $u+ // can @@ -245,148 +245,873 @@ y Y? z sEt ø W -// Englich words +// PB English words +bacon _^_EN bondage _^_EN -baseball _^_EN -volleyball _^_EN +baseball _^_EN $alt +volleyball _^_EN $alt dj _^_EN -deadline _^_EN -night _^_EN +deadline _^_EN $alt +night _^_EN $alt the _^_EN skinhead _^_EN skinheads _^_EN -street _^_EN -boy _^_EN +street _^_EN $alt +boy _^_EN $alt square _^_EN -appeal _^_EN -apple _^_EN -bbc _^_EN -beachbuggy _^_EN -beachvolley _^_EN -browser _^_EN -byte _^_EN -camcorder _^_EN +appeal _^_EN $alt +apple _^_EN $alt +beachbuggy _^_EN $alt +beachvolley _^_EN $alt +browser _^_EN $alt +byte _^_EN $alt +camcorder _^_EN $alt chart _^_EN -chat _^_EN +chat _^_EN $alt coach _^_EN -cia _^_EN -coke _^_EN -computer _^_EN +coke _^_EN $alt +computer _^_EN $alt cool _^_EN couch _^_EN -cursor _^_EN -cowboy _^_EN -debugger _^_EN -email _^_EN -ensemble _^_FR -event _^_EN -firewall _^_EN -freak _^_EN -fbi _^_EN -gin _^_EN -groupie _^_EN +cursor _^_EN $alt +cowboy _^_EN $alt +debugger _^_EN $alt +email _^_EN $alt +ensemble _^_FR $alt +event _^_EN $alt +firewall _^_EN $alt +freak _^_EN $alt +friendly _^_EN $alt +gin _^_EN $alt +groupie _^_EN $alt homepage _^_EN -hooligan _^_EN +hooligan _^_EN $alt interface _^_EN image _^_EN -jet _^_EN -joint _^_EN -joke _^_EN -joystick _^_EN -junkie _^_EN -laptop _^_EN -level _^_EN -login _^_EN -look _^_EN -lord _^_EN +jet _^_EN $alt +joint _^_EN $alt +joke _^_EN $alt +joystick _^_EN $alt +junkie _^_EN $alt +laptop _^_EN $alt +level _^_EN $alt +login _^_EN $alt +look _^_EN $alt +lord _^_EN $alt macho _^_EN -mail _^_EN -management _^_EN +mail _^_EN $alt +management _^_EN $alt message _^_EN (new age) _^_EN -nigger _^_EN +nigger _^_EN $alt offline _^_EN okay _^_EN online _^_EN out _^_EN pair _^_EN -password _^_EN +password _^_EN $alt penthouse _^_EN -pickup _^_EN +pickup _^_EN $alt pidgin _^_EN -plot _^_EN -producer _^_EN -ranger _^_EN +plot _^_EN $alt +producer _^_EN $alt +ranger _^_EN $alt receiver _^_EN research _^_EN remake _^_EN -roadie _^_EN -roastbeef _^_EN +roadie _^_EN $alt +roastbeef _^_EN $alt quiz _^_EN run _^_EN -scanner _^_EN +scanner _^_EN $alt science _^_EN -server _^_EN -settlement _^_EN -statement _^_EN -understatement _^_EN +server _^_EN $alt +settlement _^_EN $alt +statement _^_EN $alt +understatement _^_EN $alt sexy _^_EN -shirt _^_EN -show _^_EN -single _^_EN -skateboard _^_EN +shirt _^_EN $alt +show _^_EN $alt +single _^_EN $alt +skateboard _^_EN $alt small _^_EN -snob _^_EN +snob _^_EN $alt song _^_EN source _^_EN -spam _^_EN +spam _^_EN $alt spirit _^_EN squaw _^_EN -suite _^_EN sweatshirt _^_EN talk _^_EN teaser _^_EN tech _^_EN -terminal _^_EN +terminal _^_EN $alt trip _^_EN -tuner _^_EN +tuner _^_EN $alt unix _^_EN venture _^_EN -western _^_EN +western _^_EN $alt whipcord _^_EN -window _^_EN -word _^_EN -warrior _^_EN +window _^_EN $alt +word _^_EN $alt +warrior _^_EN $alt -// English names -austin _^_EN -bailey _^_EN -bronx _^_EN -clarence _^_EN +// PB English names +austin _^_EN $alt +bailey _^_EN $alt +barry _^_EN $alt +bbc _^_EN $alt +boston _^_EN $alt +bronx _^_EN $alt +clarence _^_EN $alt cyrus _^_EN +cia _^_EN $alt +fbi _^_EN $alt fox _^_EN -jean _^_EN +jean _^_EN $alt jones _^_EN -larry _^_EN -mansfield _^_EN -mahoney _^_EN -montreal _^_EN -oregon _^_EN -paul _^_EN +larry _^_EN $alt +leroy _^_EN $alt +luke _^_EN $alt +mansfield _^_EN $alt +mahoney _^_EN $alt +montreal _^_EN $alt +oregon _^_EN $alt +paul _^_EN $alt +reynolds _^_EN $alt purvis _^_EN -sally _^_EN -washington _^_EN +sally _^_EN $alt +washington _^_EN $alt +white _^_EN $alt new _^_EN -york _^_EN -chicago _^_EN +york _^_EN $alt +chicago _^_EN $alt -// French words +// PB French words croissant _^_FR croquis _^_FR crouton _^_FR jugement _^_FR +monsieur _^_FR +madame _^_FR +mademoiselle _^_FR -// Word with stress on the next to last syllable +// PB Words ending on -ig have stress on the previous syllable. +// They keep the stress when a syllable is added after the word +// e.g. agtv'ærdig - agtv'ærdighed +// A 'u' can be placed before most of the words, and they'll still keep the stress +// e.g. uagtv'ærdig - like English friendly, unfriendly. +// However, if you add any other word in front of them, +// they'll revert to normal stress e.g 'overagtværdig. +// Quite a few words have been omittet because they are covered by other rules. +// A large number of words beginning with u- have been removed. +// A few words might not belong here - some of them I didn't know. +adskillelig $alt +adskillig $alt +adstadig $alt +affældig $alt +afgrænselig $alt +afhængig $alt +aflæselig $alt +aflåselig $alt +afmægtig $alt +afsindig $alt +afskyelig $alt +afsættelig $alt +aftagelig $alt +aftenlig $alt +agterlig $alt +agtværdig $alt +alfaderlig $alt +almindelig $alt +almoderlig $alt +almægtig $alt +alvorlig $alt +amatøragtig $alt +andægtig $alt +anfægtelig $alt +angivelig $alt +angribelig $alt +anseelig $alt +anselig $alt +anskuelig $alt +anstændig $alt +anstødelig $alt +ansvarlig $alt +antagelig $alt +antændelig $alt +anvendelig $alt +appetitlig $alt +armodig $alt +balstyrig $alt +barmhjertig $alt +barnagtig $alt +bearbejdelig $alt +bermudarig $alt +biskoppelig $alt +bodfærdig $alt +bogstavelig $alt +brøstfældig $alt +definerlig $alt +delagtig $alt +diskontinuerlig $alt +drikfældig $alt +drilagtig $alt +dumdristig $alt +dværgagtig $alt +dybsindig $alt +efterrettelig $alt +eftertrykkelig $alt +efterviselig $alt +ejendommelig $alt +elendig $alt +elskværdig $alt +endrægtig $alt +enfoldig $alt +eventyrlig $alt +evindelig $alt +fantasirig $alt +fejlagtig $alt +figurlig $alt +finurlig $alt +foragtelig $alt +foranderlig $alt +forargelig $alt +forbindtlig $alt +fordelagtig $alt +fordragelig $alt +fordægtig $alt +fordærvelig $alt +fordøjelig $alt +fordømmelig $alt +forenelig $alt +forfængelig $alt +forfærdelig $alt +forgængelig $alt +forhåbentlig $alt +forkastelig $alt +forklarlig $alt +forkrænkelig $alt +forligelig $alt +formastelig $alt +formentlig $alt +formodentlig $alt +fornemmelig $alt +fornuftig $alt +fornærmelig $alt +fornøjelig $alt +forrådnelig $alt +forskrækkelig $alt +forskydelig $alt +forsmædelig $alt +forsonlig $alt +forstandig $alt +forståelig $alt +forsvarlig $alt +forsynlig $alt +forsætlig $alt +forsømmelig $alt +fortolkelig $alt +fortrinlig $alt +fortrolig $alt +fortrydelig $alt +fortrædelig $alt +fortræffelig $alt +forudseelig $alt +forudselig $alt +forudsigelig $alt +forunderlig $alt +forvekslelig $alt +forventelig $alt +fredsommelig $alt +fremkommelig $alt +frimodig $alt +fripostig $alt +frugtsommelig $alt +frygtagtig $alt +følgagtig $alt +gebommerlig $alt +gebrækkelig $alt +gejstlig $alt +geleagtig $alt +geléagtig $alt +gemenlig $alt +gemytlig $alt +genanvendelig $alt +genbrugelig $alt +genkendelig $alt +gennemførlig $alt +gennemsigtig $alt +gennemskinnelig $alt +gennemskuelig $alt +gennemtrængelig $alt +genopladelig $alt +genstridig $alt +gentagelig $alt +gesjæftig $alt +geskæftig $alt +gevaldig $alt +glorværdig $alt +goddædig $alt +godmodig $alt +godvillig $alt +grangivelig $alt +grinagtig $alt +guddommelig $alt +gudfrygtig $alt +gudsbespottelig $alt +gudsjammerlig $alt +gudvelbehagelig $alt +halsstarrig $alt +helbredelig $alt +herskabelig $alt +hertugelig $alt +hovedsagelig $alt +hovmodig $alt +huldsalig $alt +huskværdig $alt +husmoderlig $alt +højadelig $alt +højmodig $alt +højtidelig $alt +højærværdig $alt +håndgribelig $alt +håndterlig $alt +ihærdig $alt +indløselig $alt +indskrivelig $alt +indstillelig $alt +indstændig $alt +indvendig $alt +jomfruelig $alt +kammeratlig $alt +kedsommelig $alt +kivagtig $alt +klejnmodig $alt +koldblodig $alt +koldsindig $alt +kontinuerlig $alt +kontraktlig $alt +korporlig $alt +kortelig $alt +kradsbørstig $alt +krampagtig $alt +krampeagtig $alt +krasbørstig $alt +kreperlig $alt +kulturlig $alt +kunstfærdig $alt +kurfyrstelig $alt +kutterrig $alt +kvindagtig $alt +landflygtig $alt +landskabelig $alt +langmodig $alt +langsommelig $alt +lastværdig $alt +lavadelig $alt +lebendig $alt +lemfældig $alt +letantændelig $alt +letfærdig $alt +letopløselig $alt +letpåvirkelig $alt +letsindig $alt +lidenskabelig $alt +livagtig $alt +livsalig $alt +lovformelig $alt +lovmedholdelig $alt +lovmedholdig $alt +luvgerrig $alt +luvgirig $alt +lyksalig $alt +læseværdig $alt +løgnagtig $alt +løsagtig $alt +mandhaftig $alt +manerlig $alt +manérlig $alt +mangfoldig $alt +medgørlig $alt +mistrøstig $alt +mistænkelig $alt +misundelig $alt +misundelsesværdig $alt +modbydelig $alt +modtagelig $alt +mærkværdig $alt +møjsommelig $alt +naragtig $alt +naturfaglig $alt +navnkundig $alt +nedbrydelig $alt +nederdrægtig $alt +nedfældelig $alt +nordvestlig $alt +nordøstlig $alt +nødtørftig $alt +nødvendig $alt +nøjagtig $alt +obsternasig $alt +ombyttelig $alt +ombøjelig $alt +omgængelig $alt +omhyggelig $alt +omkringsædig $alt +omskiftelig $alt +omskrivelig $alt +omstillelig $alt +omstændelig $alt +omstødelig $alt +omsættelig $alt +omtrentlig $alt +omtvistelig $alt +omvekslelig $alt +opbyggelig $alt +opdrivelig $alt +opfattelig $alt +opladelig $alt +oplukkelig $alt +opløselig $alt +opnåelig $alt +oppustelig $alt +oprigtig $alt +oprindelig $alt +opsigelig $alt +opsætsig $alt +opsættelig $alt +optænkelig $alt +orkanagtig $alt +overdådig $alt +overflødig $alt +overhørig $alt +overkommelig $alt +overmægtig $alt +overordentlig $alt +oversigtlig $alt +overskuelig $alt +oversædig $alt +oversættelig $alt +overvindelig $alt +perspektivrig $alt +pertentlig $alt +peteranstændig $alt +pinagtig $alt +prisværdig $alt +proteinrig $alt +pudseløjerlig $alt +pudserlig $alt +pålidelig $alt +påpasselig $alt +påregnelig $alt +påståelig $alt +påtagelig $alt +påvirkelig $alt +påviselig $alt +regederlig $alt +sagtmodig $alt +samdrægtig $alt +samhørig $alt +sammenfoldelig $alt +sammenklappelig $alt +sammenlignelig $alt +sammentrækkelig $alt +sandfærdig $alt +sandsynlig $alt +selskabelig $alt +selvbehagelig $alt +selvfølgelig $alt +sendrægtig $alt +seværdig $alt +skabagtig $alt +skalkagtig $alt +skarpsindig $alt +skurkagtig $alt +slagfærdig $alt +slyngelagtig $alt +snakkesalig $alt +spagfærdig $alt +sparsommelig $alt +spidsfindig $alt +splidagtig $alt +standhaftig $alt +stilfærdig $alt +storagtig $alt +stormægtig $alt +strafskyldig $alt +strafværdig $alt +svigagtig $alt +sydvestlig $alt +sydøstlig $alt +sædvanlig $alt +sørgmodig $alt +taknemlig $alt +taknemmelig $alt +takskyldig $alt +tilbøjelig $alt +tilbørlig $alt +tilforladelig $alt +tilfældig $alt +tilgivelig $alt +tilgængelig $alt +tilladelig $alt +tilregnelig $alt +tilrådelig $alt +tilstedelig $alt +tilstrækkelig $alt +treenig $alt +trikinholdig $alt +troskyldig $alt +troværdig $alt +trykfærdig $alt +tungsindig $alt +tvivlagtig $alt +tvivlrådig $alt +tyvagtig $alt +tålmodig $alt +vankundig $alt +vederheftig $alt +vederhæftig $alt +vederstyggelig $alt +velanstændig $alt +velbehagelig $alt +velbyrdig $alt +veldædig $alt +velærværdig $alt +vemodig $alt +Venedig $alt +venskabelig $alt +videbegærlig $alt +videnskabelig $alt +viderværdig $alt +vidtløftig $alt +vidunderlig $alt +vildrådig $alt +vilkårlig $alt +vindskibelig $alt +værsartig $alt +ynkværdig $alt +ædruelig $alt +ægteskabelig $alt +ærbødig $alt +ærefrygtig $alt +ærgerrig $alt +ærværdig $alt +ømfindtlig $alt +ømtålelig $alt +ømtålig $alt +ønskværdig $alt +åbenhjertig $alt + +// words ending with -ri: stress on the last syllable +aksonometri $alt +alfonseri $alt +allegori $alt +anderi $alt +angiveri $alt +artilleri $alt +artisteri $alt +audiometri $alt +bageri $alt +barbari $alt +batteri $alt +bedrageri $alt +berederi $alt +betleri $alt +bigotteri $alt +bijouteri $alt +binderi $alt +biometri $alt +bizarreri $alt +broderi $alt +bryderi $alt +bryggeri $alt +brænderi $alt +bulteri $alt +buntmageri $alt +byggeri $alt +causeri $alt +charcuteri $alt +charlataneri $alt +chikaneri $alt +densitometri $alt +destilleri $alt +difteri $alt +dilettanteri $alt +djævleri $alt +draperi $alt +drejeri $alt +drikkeri $alt +drilleri $alt +driveri $alt +drømmeri $alt +dysenteri $alt +dødbideri $alt +egocentri $alt +empiri $alt +epigoneri $alt +eufori $alt +falskneri $alt +fantasteri $alt +farveri $alt +fasaneri $alt +fedteri $alt +fifleri $alt +filisteri $alt +fiskeri $alt +fjolleri $alt +foniatri $alt +formynderi $alt +forræderi $alt +fotometri $alt +fribytteri $alt +frieri $alt +frimureri $alt +fritænkeri $alt +fusentasteri $alt +fuskeri $alt +fyrværkeri $alt +færgeri $alt +føleri $alt +galanteri $alt +galleri $alt +gartneri $alt +garveri $alt +gendarmeri $alt +gendøberi $alt +genremaleri $alt +geometri $alt +geriatri $alt +gnaveri $alt +gnideri $alt +gnieri $alt +griseri $alt +grubleri $alt +gynandri $alt +havari $alt +hekseri $alt +hoveri $alt +huri $alt +hvori $alt +hykleri $alt +hypokondri $alt +hysteri $alt +hæleri $alt +hærderi $alt +hønseri $alt +idolatri $alt +industri $alt +infanteri $alt +infirmeri $alt +isometri $alt +jageri $alt +japperi $alt +jaskeri $alt +jobberi $alt +juleri $alt +juristeri $alt +kammerateri $alt +kantori $alt +karosseri $alt +karrieremageri $alt +karrosseri $alt +karteri $alt +kategori $alt +kavaleri $alt +kineseri $alt +kissemisseri $alt +klammeri $alt +klamphuggeri $alt +klatteri $alt +klimpreri $alt +klovneri $alt +kniberi $alt +knirkeri $alt +kobleri $alt +kogeri $alt +kogleri $alt +koketteri $alt +kolibri $alt +kolorimetri $alt +komparseri $alt +konditori $alt +kondomeri $alt +koteri $alt +kradseri $alt +krakileri $alt +kronometri $alt +krukkeri $alt +krydderi $alt +kujoneri $alt +kunstleri $alt +kurmageri $alt +kvaksalveri $alt +kvanteteori $alt +kværulanteri $alt +kæleri $alt +kæresteri $alt +kætteri $alt +kævleri $alt +københavneri $alt +lakereri $alt +lampisteri $alt +lapperi $alt +lapseri $alt +lefleri $alt +liberi $alt +liebhaveri $alt +ligemageri $alt +lingeri $alt +lodseri $alt +lotteri $alt +lumskeri $alt +luskeri $alt +lækkeri $alt +løsgængeri $alt +maleri $alt +malteri $alt +maltgøreri $alt +markskrigeri $alt +maskineri $alt +mejeri $alt +menageri $alt +mosteri $alt +myrderi $alt +mytteri $alt +mælkeri $alt +mølleri $alt +narreri $alt +natteroderi $alt +nådleri $alt +ombryderi $alt +optometri $alt +optrækkeri $alt +orangeri $alt +ordgyderi $alt +ordkløveri $alt +osteri $alt +overløberi $alt +pakkeri $alt +pamperi $alt +pandekageri $alt +papisteri $alt +parfumeri $alt +pedanteri $alt +periferi $alt +pikanteri $alt +pilleri $alt +pimperi $alt +pinderi $alt +pirateri $alt +pjækkeri $alt +plageri $alt +plangeometri $alt +plattenslageri $alt +polyandri $alt +polycentri $alt +potpourri $alt +praleri $alt +privateri $alt +psykiatri $alt +pædiatri $alt +rabulisteri $alt +raffinaderi $alt +rapseri $alt +raseri $alt +rederi $alt +reguladetri $alt +renseri $alt +rethaveri $alt +risteri $alt +roderi $alt +rotisseri $alt +rufferi $alt +rugeri $alt +rytteri $alt +røgeri $alt +røveri $alt +salateri $alt +salteri $alt +sceneri $alt +sjaskeri $alt +sjuskeri $alt +skaberi $alt +skidteri $alt +skilderi $alt +skomageri $alt +skribleri $alt +skriveri $alt +skruebrækkeri $alt +skrædderi $alt +skulkeri $alt +skumleri $alt +skyderi $alt +skylleri $alt +skælmeri $alt +skænderi $alt +skætteri $alt +slagteri $alt +slaveri $alt +sliberi $alt +slikkeri $alt +sløseri $alt +smelteri $alt +smigreri $alt +smugleri $alt +smøleri $alt +smøreri $alt +småtteri $alt +snedkeri $alt +snerperi $alt +snobberi $alt +snyderi $alt +sofisteri $alt +solderi $alt +spinderi $alt +spytslikkeri $alt +spøgeri $alt +stereometri $alt +stikkeri $alt +stikleri $alt +strikkeri $alt +strygeri $alt +stutteri $alt +støberi $alt +støkiometri $alt +surmuleri $alt +svindleri $alt +svineri $alt +sværmeri $alt +symmetri $alt +sætteri $alt +sørøveri $alt +tapperi $alt +telemetri $alt +teori $alt +tiggeri $alt +tilskæreri $alt +tosseri $alt +trakasseri $alt +trigonometri $alt +trolderi $alt +trykkeri $alt +trylleri $alt +tyveri $alt +tøjeri $alt +tørreri $alt +valkeri $alt +vaskeri $alt +vindmageri $alt +virtuoseri $alt +vrøvleri $alt +væveri $alt +våseri $alt +æreskænderi $alt +øjentjeneri $alt +økonometri $alt + +// PB verbs ending with -ere with stress on the next to last syllable abandonnere $alt abbreviere $alt abdicere $alt @@ -402,7 +1127,6 @@ accentuere $alt acceptere $alt adaptere $alt addere $alt -adfærdsregulere $alt adhærere $alt adjungere $alt administrere $alt @@ -414,40 +1138,9 @@ adsorbere $alt adstringere $alt advisere $alt advokere $alt -afbalancere $alt -afbureaukratisere $alt -afdisputere $alt -afdramatisere $alt afficere $alt -affotografere $alt -afhumanisere $alt -afideologisere $alt -afindustrialisere $alt -afinstallere $alt -afkolonisere $alt -afkontrollere $alt -afkriminalisere $alt -afmagnetisere $alt afmarchere $alt -afmilitarisere $alt -afmontere $alt -afmystificere $alt -afmytologisere $alt -afnationalisere $alt -afnazificere $alt -afparere $alt -afpatruljere $alt -afpersonalisere $alt -afpolitisere $alt -afprivatisere $alt -afrapportere $alt -afreagere $alt -afregulere $alt afrikanisere $alt -afspadsere $alt -afstabilisere $alt -aftabuere $alt -aftabuisere $alt agere $alt aggravere $alt aggregere $alt @@ -578,15 +1271,6 @@ bogstavere $alt bombardere $alt bonbonniere $alt bonitere $alt -bortadoptere $alt -bortauktionere $alt -bortcensurere $alt -borteliminere $alt -borteskamotere $alt -bortlicitere $alt -bortoperere $alt -bortrationalisere $alt -bortsanere $alt botanisere $alt braisere $alt brikettere $alt @@ -595,7 +1279,6 @@ brochere $alt brodere $alt bronkoskopere $alt bronzere $alt -brugerfinansiere $alt brunere $alt brutalisere $alt bruyere $alt @@ -639,21 +1322,17 @@ debattere $alt debitere $alt debutere $alt decelerere $alt -decentralisere $alt dechifrere $alt decidere $alt decimere $alt dedicere $alt dedikere $alt deducere $alt -deeskalere $alt defilere $alt definere $alt deflorere $alt deformere $alt -degenerere $alt degradere $alt -dehumanisere $alt dehydrere $alt dekantere $alt dekatere $alt @@ -662,7 +1341,6 @@ deklarere $alt deklassere $alt deklinere $alt dekomponere $alt -dekonstruere $alt dekorere $alt dekretere $alt dekupere $alt @@ -670,24 +1348,15 @@ delegere $alt delikatere $alt delirere $alt demarkere $alt -demaskere $alt -dematerialisere $alt dementere $alt -demilitarisere $alt demissionere $alt -demobilisere $alt demokratisere $alt demolere $alt demonstrere $alt -//demontere $alt -demoralisere $alt -demotivere $alt -denationalisere $alt denaturere $alt denotere $alt denuntiere $alt deodorisere $alt -depersonalisere $alt depilere $alt deplacere $alt deployere $alt @@ -700,23 +1369,14 @@ deputere $alt deregulere $alt derivere $alt desarmere $alt -desavouere $alt desertere $alt designere $alt -desillusionere $alt desinficere $alt desinformere $alt -desintegrere $alt -desinteressere $alt -desorganisere $alt -desorientere $alt -destabilisere $alt destillere $alt destinere $alt destruere $alt detachere $alt -detailprojektere $alt -detaljeprojektere $alt detaljere $alt detektere $alt determinere $alt @@ -789,15 +1449,12 @@ duettere $alt dupere $alt duplicere $alt duplikere $alt -dyrtidsregulere $alt dæmonisere $alt editere $alt effektivisere $alt effektuere $alt efterdatere $alt efterisolere $alt -efterrationalisere $alt -eftersynkronisere $alt egalisere $alt ejakulere $alt eksaminere $alt @@ -843,7 +1500,6 @@ emittere $alt emulere $alt emulgere $alt endossere $alt -endvidere $alt engagere $alt ensilere $alt entrere $alt @@ -1958,7 +2614,6 @@ skvadronere $alt smukkesere $alt snarere $alt snedkerere $alt -snigpremiere $alt socialisere $alt soignere $alt solidarisere $alt @@ -2167,7 +2822,6 @@ versere $alt versificere $alt versionere $alt vibrere $alt -//videre $alt vidimere $alt vikariere $alt vindicere $alt @@ -2179,7 +2833,6 @@ vitalisere $alt vitaminisere $alt vivisekere $alt vokalisere $alt -voliere $alt voltampere $alt voltere $alt voltigere $alt @@ -2190,11 +2843,1351 @@ vulkanisere $alt vurdere $alt xerografere $alt xylografere $alt -ydermere $alt ækvivalere $alt æstetisere $alt økonomisere $alt +// PB nouns ending with -ion with stress on the last syllable +abbreviation $alt +abdikation $alt +aberration $alt +absentation $alt +absolution $alt +absorption $alt +abstraktion $alt +acceleration $alt +accentuation $alt +acceptation $alt +accession $alt +adaptation $alt +adaption $alt +addition $alt +adhæsion $alt +administration $alt +admission $alt +adnotation $alt +adoption $alt +adsorption $alt +affektation $alt +affektion $alt +affirmation $alt +afreaktion $alt +agglutination $alt +aggravation $alt +aggression $alt +agitation $alt +akklamation $alt +akklimatisation $alt +akkommodation $alt +akkumulation $alt +akkvisition $alt +aktion $alt +alimentation $alt +allitteration $alt +allokation $alt +allusion $alt +alteration $alt +alternation $alt +amalgamation $alt +ambition $alt +ammunition $alt +amortisation $alt +amputation $alt +animation $alt +anion $alt +anneksion $alt +annotation $alt +anticipation $alt +antikonception $alt +apparition $alt +applikation $alt +apposition $alt +approbation $alt +approksimation $alt +argumentation $alt +arrestation $alt +artikulation $alt +aspiration $alt +assertion $alt +assimilation $alt +association $alt +attestation $alt +attraktion $alt +attribution $alt +audition $alt +augmentation $alt +auktion $alt +auskultation $alt +autentifikation $alt +automation $alt +autorisation $alt +aversion $alt +ballotation $alt +bastion $alt +benediktion $alt +billion $alt +centralisation $alt +cirkulation $alt +citation $alt +civilisation $alt +coverversion $alt +decision $alt +dedikation $alt +deduktion $alt +defibrillation $alt +definition $alt +deflation $alt +defloration $alt +deformation $alt +defækation $alt +degression $alt +deklamation $alt +deklaration $alt +deklination $alt +dekoration $alt +delegation $alt +demarkation $alt +demission $alt +demonstration $alt +denotation $alt +denuntiation $alt +depilation $alt +deportation $alt +depravation $alt +depression $alt +deprivation $alt +deputation $alt +derivation $alt +desertation $alt +desertion $alt +designation $alt +desinfektion $alt +deskription $alt +desperation $alt +destillation $alt +destination $alt +destruktion $alt +detention $alt +determination $alt +detonation $alt +deviation $alt +devotion $alt +differentiation $alt +diffraktion $alt +diffusion $alt +digestion $alt +digression $alt +diktion $alt +dilatation $alt +dimension $alt +dimission $alt +direktion $alt +diskretion $alt +diskrimination $alt +diskussion $alt +dispensation $alt +dispersion $alt +disposition $alt +disproportion $alt +dissektion $alt +dissimilation $alt +dissociation $alt +distinktion $alt +distraktion $alt +distribution $alt +diversifikation $alt +diversion $alt +divination $alt +division $alt +dokumentation $alt +donation $alt +dotation $alt +duplikation $alt +dysfunktion $alt +edition $alt +ejakulation $alt +eksaltation $alt +eksamination $alt +eksekution $alt +eksemplifikation $alt +eksklusion $alt +ekskommunikation $alt +ekskursion $alt +ekspansion $alt +ekspatriation $alt +ekspedition $alt +eksplikation $alt +eksploration $alt +eksplosion $alt +eksposition $alt +ekspropriation $alt +eksspiration $alt +ekstension $alt +ekstinktion $alt +ekstraktion $alt +ekstrapolation $alt +ekstraposition $alt +ekstroversion $alt +elevation $alt +elimination $alt +elision $alt +emanation $alt +emancipation $alt +emendation $alt +emigration $alt +emission $alt +emotion $alt +emulsion $alt +erektion $alt +erosion $alt +eruption $alt +eskalation $alt +evaporation $alt +evasion $alt +evolution $alt +excision $alt +fabrikation $alt +fabulation $alt +faktion $alt +falsifikation $alt +fascination $alt +federation $alt +fermentation $alt +fertilisation $alt +fibrillation $alt +figuration $alt +fiktion $alt +fission $alt +flagellation $alt +fleksion $alt +flotation $alt +fluktuation $alt +formation $alt +fortifikation $alt +fragmentation $alt +fraktion $alt +friktion $alt +frustration $alt +fundation $alt +funktion $alt +fusion $alt +føderation $alt +galion $alt +gemination $alt +generalisation $alt +generation $alt +gestikulation $alt +glaciation $alt +glorifikation $alt +gradation $alt +graduation $alt +granulation $alt +gratifikation $alt +gratulation $alt +gravitation $alt +habituation $alt +hallucination $alt +identifikation $alt +illumination $alt +illusion $alt +illustration $alt +imitation $alt +immatrikulation $alt +immigration $alt +immission $alt +immobilisation $alt +implantation $alt +implikation $alt +implosion $alt +improvisation $alt +incitation $alt +indignation $alt +indikation $alt +indiskretion $alt +indisposition $alt +individuation $alt +indoperation $alt +induktion $alt +infektion $alt +infiltration $alt +inflammation $alt +inflation $alt +information $alt +infusion $alt +inhalation $alt +inhibition $alt +initiation $alt +injektion $alt +inkamination $alt +inkarnation $alt +inkassation $alt +inklination $alt +inklusion $alt +inkorporation $alt +inkubation $alt +inkvisition $alt +innovation $alt +inokulation $alt +insemination $alt +insinuation $alt +inskription $alt +inspektion $alt +inspiration $alt +installation $alt +institution $alt +instruktion $alt +instrumentation $alt +insubordination $alt +integration $alt +intension $alt +intention $alt +interaktion $alt +interjektion $alt +interpellation $alt +interpolation $alt +interpretation $alt +interpunktion $alt +interrogation $alt +intervention $alt +intimidation $alt +intonation $alt +introduktion $alt +introspektion $alt +introversion $alt +intuition $alt +invasion $alt +invention $alt +inversion $alt +invitation $alt +ionisation $alt +irritation $alt +isolation $alt +jonisation $alt +junktion $alt +jurisdiktion $alt +justifikation $alt +kalkulation $alt +kanalisation $alt +kanonisation $alt +kapitulation $alt +karnation $alt +kassation $alt +kastration $alt +katekisation $alt +kation $alt +kaution $alt +kavitation $alt +klassifikation $alt +koagulation $alt +koalition $alt +kodifikation $alt +kognition $alt +kohæsion $alt +kollaboration $alt +kollation $alt +kollektion $alt +kollision $alt +kollokation $alt +kolonisation $alt +kombination $alt +kommission $alt +kommunikation $alt +kommunion $alt +kommutation $alt +komparation $alt +kompensation $alt +kompilation $alt +komplikation $alt +komposition $alt +kompression $alt +koncentration $alt +konception $alt +koncession $alt +kondemnation $alt +kondensation $alt +kondition $alt +kondolation $alt +konfederation $alt +konfektion $alt +konfession $alt +konfiguration $alt +konfirmation $alt +konfiskation $alt +konfrontation $alt +konfusion $alt +konføderation $alt +kongestion $alt +kongregation $alt +konjugation $alt +konjunktion $alt +konklusion $alt +konkretion $alt +konneksion $alt +konnotation $alt +konsekration $alt +konsignation $alt +konspiration $alt +konstellation $alt +konsternation $alt +konstipation $alt +konstitution $alt +konstriktion $alt +konstruktion $alt +konsultation $alt +konsumption $alt +konsumtion $alt +kontamination $alt +kontemplation $alt +kontinuation $alt +kontraktion $alt +kontribution $alt +kontusion $alt +konvektion $alt +konvention $alt +konversation $alt +konversion $alt +konvulsion $alt +kooperation $alt +koordination $alt +kopulation $alt +korporation $alt +korrektion $alt +korrelation $alt +korrosion $alt +korruption $alt +kreation $alt +kremation $alt +krystallisation $alt +kulmination $alt +kumulation $alt +kvadration $alt +kvadrillion $alt +kvalifikation $alt +kvintillion $alt +laktation $alt +lamentation $alt +legalisation $alt +legation $alt +legion $alt +legitimation $alt +lektion $alt +licitation $alt +likvidation $alt +luksation $alt +læsion $alt +manifestation $alt +manipulation $alt +manuduktion $alt +masturbation $alt +materialisation $alt +meditation $alt +menstruation $alt +migration $alt +million $alt +mission $alt +moderation $alt +modifikation $alt +modulation $alt +mortifikation $alt +motion $alt +motivation $alt +multiplikation $alt +mumifikation $alt +mutation $alt +mystifikation $alt +nation $alt +naturalisation $alt +navigation $alt +negation $alt +neutralisation $alt +nomination $alt +notation $alt +notifikation $alt +novation $alt +obduktion $alt +obligation $alt +observation $alt +obstipation $alt +obstruction $alt +obstruktion $alt +okkupation $alt +okulation $alt +ondulation $alt +operation $alt +opinion $alt +opposition $alt +option $alt +ordination $alt +organisation $alt +oscillation $alt +ovation $alt +ovulation $alt +oxidation $alt +participation $alt +passion $alt +pension $alt +perception $alt +perfektion $alt +perforation $alt +perkussion $alt +permission $alt +permutation $alt +perseveration $alt +personifikation $alt +perturbation $alt +perversion $alt +petition $alt +polarisation $alt +pollution $alt +polymerisation $alt +population $alt +portion $alt +position $alt +pression $alt +prion $alt +procession $alt +produktion $alt +profanation $alt +profession $alt +progression $alt +projektion $alt +proklamation $alt +prolongation $alt +promotion $alt +proportion $alt +proposition $alt +proskription $alt +prostitution $alt +protektion $alt +provision $alt +provokation $alt +præcision $alt +prædiktion $alt +prænumeration $alt +præparation $alt +præposition $alt +præsentation $alt +præstation $alt +præsupposition $alt +prætention $alt +prævention $alt +publikation $alt +pulsation $alt +punktaktion $alt +radiation $alt +ratifikation $alt +ratihabition $alt +ration $alt +reaktion $alt +realisation $alt +rebellion $alt +recension $alt +reception $alt +recession $alt +recitation $alt +redaktion $alt +reduktion $alt +refleksion $alt +reformation $alt +refraktion $alt +refusion $alt +region $alt +regression $alt +reifikation $alt +rejektion $alt +rekapitulation $alt +reklamation $alt +rekommandation $alt +rekompensation $alt +rekreation $alt +rektifikation $alt +rektion $alt +rekvisition $alt +relaksation $alt +relation $alt +relegation $alt +religion $alt +remonstration $alt +renovation $alt +reparation $alt +repartition $alt +repetition $alt +repression $alt +reproduktion $alt +repræsentation $alt +reputation $alt +reservation $alt +resignation $alt +resolution $alt +resorption $alt +respiration $alt +restauration $alt +restitution $alt +restriktion $alt +retardation $alt +retention $alt +retorsion $alt +retrofleksion $alt +retrospektion $alt +revision $alt +revolution $alt +rotation $alt +sanktion $alt +satisfaktion $alt +sedimentation $alt +segregation $alt +sekretion $alt +sektion $alt +selektion $alt +sensation $alt +separation $alt +session $alt +simplifikation $alt +simulation $alt +situation $alt +skansion $alt +skorpion $alt +socialisation $alt +solution $alt +specifikation $alt +spedition $alt +spekulation $alt +spion $alt +stadion $alt +stagflation $alt +stagnation $alt +station $alt +sterilisation $alt +stigmatisation $alt +stimulation $alt +stipulation $alt +strangulation $alt +stratifikation $alt +stæroperation $alt +sublimation $alt +subordination $alt +subskription $alt +substitution $alt +subsumption $alt +subsumtion $alt +subtraktion $alt +subvention $alt +succession $alt +suggestion $alt +supervision $alt +supposition $alt +suppression $alt +suspension $alt +symposion $alt +taksation $alt +television $alt +tension $alt +testation $alt +torsion $alt +tradition $alt +transaktion $alt +transfiguration $alt +transformation $alt +transfusion $alt +transition $alt +translation $alt +translitteration $alt +translokation $alt +transmission $alt +transpiration $alt +transplantation $alt +transposition $alt +transskription $alt +transsubstantiation $alt +trepanation $alt +triangulation $alt +trillion $alt +typifikation $alt +udkrystallisation $alt +union $alt +usurpation $alt +vaccination $alt +valorisation $alt +variation $alt +vegetation $alt +veneration $alt +ventilation $alt +verifikation $alt +versifikation $alt +version $alt +vibration $alt +vidimation $alt +vindikation $alt +vision $alt +visitation $alt +vivisektion $alt +vokalisation $alt + +// -fon list (on) +dodekafon $alt +frankofon $alt +grammofon $alt +homofon $alt +hydrofon $alt +kolofon $alt +megafon $alt +metallofon $alt +mikrofon $alt +polyfon $alt +saxofon $alt +sousafon $alt +telefon $alt +tyfon $alt +vibrafon $alt +videofon $alt +xylofon $alt + +// -on list +ballon b&l'VN $alt +beton bet'VN $alt +epsilon 'ebsilVn $alt +futon fut'VN $alt +føljeton fWljet'Vn $alt +facon f&s'Vn $alt +kupon kup'VN $alt +postillon p,Vsdilj'VN $alt +salon s&l'VN $alt +sifon sif'VN $alt +talon t&l'VN $alt +tampon tAmp'VN $alt + +// -tron list (on) +betatron $alt +bevatron $alt +citron $alt +cyklotron $alt +elektron $alt +natron n'&:tRVn $alt +neutron $alt +patron $alt +plastron $alt +synkrocyklotron $alt +synkrotron $alt + +// -kon list (VN/Vn/on) +akrostikon akrVsdik'Vn $alt +balkon b&lk'Vn $alt +diakon $alt +distikon distik'Vn $alt +flakon fl&k'VN $alt +ikon $alt +karakteristikon // Vn $alt +kokon kok'VN $alt +leksikon // Vn $alt +onomatopoietikon // Vn $alt +panoptikon // Vn $alt +patronymikon p&tron'ymikVn $alt +perikon //Vn $alt +psykofarmakon // Vn $alt +zirkon $alt + +// -gon list (Vn/VN/on) $alt +argon 'argVn $alt +dragon $alt // military horseman +epigon $alt +estragon estRag'VN $alt +glukagon $alt +heksagon $alt +jargon SjArg'VN $alt +oktagon $alt +oktogon $alt +ortogon $alt +pentagon $alt // not "the Pentagon" +polygon $alt +wagon v&g'VN $alt + +// -son list (VN/on +bison b'isVn $alt +blouson blus'VN $alt +chanson SjAns'VN $alt +garnison $alt +kortison $alt +liaison li&s'VN $alt +meson $alt +person $alt +ræson REs'VN $alt +sæson sEs'VN $alt +unison $alt + +// PB exceptions from the "be" rule in group "be" +// and a few foreign words with [_) be (] +bearbejde $3 +bearbejdelig $3 +bearbejdelse $3 +bearbejder $3 +bearbejdning $3 +bechamel beSam'e:l/3 +bechamelsauce beSam'e:l/3s'O:s +bechamelsovs beSam'e:l/3s'Vws +beduin $3 +beduinstamme $3 +beignet beNe $2 +beignetdej beNedaj $2 +bekkasin $3 +belize beli:s $2 +belizer beli:sV $2 +belizisk beli:sisg $2 +benedicere $4 +benediktiner $4 +benediktinerkloster $4 +benefice $3 +beneficeforestilling $3 +beneficeret $4 +beneficium $3 +berceuse bErsW:s $2 +bestialisering $5 +bestialitet $5 +bestyrerinde $4 + +// PB Nouns ending with -ist - stressed last syllable +absolutist $alt +absurdist $alt +adventist $alt +aktionist $alt +aktivist $alt +akvarist $alt +alkoholist $alt +alkymist $alt +alpinist $alt +altruist $alt +anabaptist $alt +anarkist $alt +anglist $alt +annalist $alt +antagonist $alt +aorist $alt +argelist $alt +artillerist $alt +artist $alt +ateist $alt +atomist $alt +autist $alt +avantgardist $alt +baissist $alt +bandagist $alt +baptist $alt +bassist $alt +basunist $alt +batist $alt +behaviorist $alt +belletrist $alt +bigamist $alt +bilist $alt +bratschist $alt +buddhist $alt +buffist $alt +calvinist $alt +campist $alt +cellist $alt +cembalist $alt +chauvinist $alt +civilist $alt +columnist $alt +cyklist $alt +dadaist $alt +darwinist $alt +defaitist $alt +deist $alt +delirist $alt +dentist $alt +detaillist $alt +determinist $alt +dirigist $alt +diætist $alt +dokumentalist $alt +dokumentarist $alt +domorganist $alt +dragist $alt +drogist $alt +dualist $alt +egoist $alt +ekshibitionist $alt +eksistentialist $alt +eksorcist $alt +ekspressionist $alt +ekstremist $alt +ekvilibrist $alt +elitist $alt +empirist $alt +encyklopædist $alt +eskapist $alt +esperantist $alt +essayist $alt +evangelist $alt +evolutionist $alt +excerpist $alt +fagottist $alt +falangist $alt +fascist $alt +fatalist $alt +fauvist $alt +federalist $alt +feminist $alt +fetichist $alt +filatelist $alt +finalist $alt +florist $alt +fløjtenist $alt +fløjtist $alt +folklorist $alt +formalist $alt +fundamentalist $alt +funktionalist $alt +futurist $alt +færist $alt +føderalist $alt +gambist $alt +gardist $alt +gaullist $alt +generalist $alt +georgist $alt +germanist $alt +gratist $alt +grossist $alt +græcist $alt +guitarist $alt +harpenist $alt +harpist $alt +haussist $alt +havarist $alt +hedonist $alt +hellebardist $alt +hellenist $alt +hinduist $alt +historist $alt +hornist $alt +humanist $alt +humorist $alt +hønserist $alt +idealist $alt +illusionist $alt +imperialist $alt +impressionist $alt +indeterminist $alt +individualist $alt +industrialist $alt +infanterist $alt +instrumentalist $alt +intellektualist $alt +internationalist $alt +iranist $alt +islamist $alt +isolationist $alt +journalist $alt +judaist $alt +jurist $alt +kabbalist $alt +kancellist $alt +kapitalist $alt +kasuist $alt +kautionist $alt +kavalerist $alt +klarinettist $alt +klassicist $alt +klokkenist $alt +kokainist $alt +kollektivist $alt +kolonialist $alt +kolonist $alt +kolorist $alt +kommanditist $alt +kommunist $alt +kommunitarist $alt +komparatist $alt +komponist $alt +koncipist $alt +konformist $alt +konkretist $alt +konstruktivist $alt +kontorist $alt +kopist $alt +korist $alt +kornettist $alt +kreationist $alt +kriminalist $alt +kubist $alt +kulturist $alt +kursist $alt +lagerist $alt +lamaist $alt +lampist $alt +latinist $alt +legitimist $alt +leninist $alt +liberalist $alt +librettist $alt +lingvist $alt +livrist $alt +lobbyist $alt +loyalist $alt +lutenist $alt +manicurist $alt +manierist $alt +manufakturist $alt +maoist $alt +marxist $alt +maskinist $alt +masochist $alt +materialist $alt +mejerist $alt +merkantilist $alt +metodist $alt +militarist $alt +minimalist $alt +modernist $alt +modist $alt +monarkist $alt +monetarist $alt +monist $alt +monopolist $alt +monoteist $alt +moralist $alt +morfinist $alt +motionist $alt +mytterist $alt +naivist $alt +narcissist $alt +nationalist $alt +nationalsocialist $alt +naturalist $alt +naturist $alt +nazist $alt +negativist $alt +neutralist $alt +nihilist $alt +nordist $alt +novellist $alt +nudist $alt +oboist $alt +obskurantist $alt +okkultist $alt +onanist $alt +operist $alt +opportunist $alt +optimist $alt +optometrist $alt +organist $alt +orientalist $alt +ortopædist $alt +pacifist $alt +pamfletist $alt +panelist $alt +panteist $alt +papist $alt +parcellist $alt +parodist $alt +partikularist $alt +paukist $alt +pensionist $alt +perfektionist $alt +perkussionist $alt +pessimist $alt +pianist $alt +pietist $alt +pluralist $alt +podagrist $alt +pointillist $alt +polygamist $alt +polyteist $alt +populist $alt +positivist $alt +primitivist $alt +privatist $alt +professionalist $alt +prokurist $alt +propagandist $alt +prosaist $alt +protektionist $alt +præliminarist $alt +publicist $alt +purist $alt +rabulist $alt +racist $alt +radikalist $alt +rationalist $alt +realist $alt +receptionist $alt +recidivist $alt +reformist $alt +regionalist $alt +relativist $alt +reservist $alt +revanchist $alt +revisionist $alt +rigorist $alt +romanist $alt +royalist $alt +sadist $alt +sadomasochist $alt +salmist $alt +satanist $alt +saxofonist $alt +sekterist $alt +seminarist $alt +sensualist $alt +separatist $alt +serialist $alt +sexist $alt +sjofelist $alt +skandinavist $alt +slavist $alt +socialist $alt +sofist $alt +solderist $alt +solist $alt +somnambulist $alt +specialist $alt +spiritist $alt +spiritualist $alt +spontanist $alt +stalinist $alt +statist $alt +stilist $alt +strukturalist $alt +stylist $alt +surrealist $alt +symbolist $alt +syndikalist $alt +tachist $alt +talmudist $alt +taoist $alt +teist $alt +telefonist $alt +telegrafist $alt +tenorist $alt +terrorist $alt +thomist $alt +torbist $alt +traditionalist $alt +trappist $alt +trist $alt +trombonist $alt +trompetist $alt +trotskist $alt +tubaist $alt +turist $alt +unionist $alt +universalist $alt +utilitarist $alt +utopist $alt +valdhornist $alt +ventrilokvist $alt +verist $alt +versionist $alt +vibrafonist $alt +violinist $alt +violoncellist $alt +vitalist $alt +vivisektionist $alt +vokalist $alt +xylofonist $alt +zionist $alt +ækvilibrist $alt + +// PB nouns ending with -ine - stressed last syllable +abonnine $alt +aubergine oberS'i:n@ $alt +barkentine $alt +blondine $alt +bobine $alt +brigantine $alt +brillantine $alt +dræsine $alt +duvetine $alt +etamine $alt +faskine $alt +filippine $alt +forfine $alt +gabardine $alt +gelatine $alt +georgine $alt +grenadine $alt +guillotine gijut'i:n@ $alt +kabine $alt +kantine $alt +kavatine $alt +kolerine $alt +konkubine $alt +krinoline $alt +kusine $alt +lavine $alt +limousine limOs'i:n@ $alt +margarine $alt +marine $alt +maskine $alt +minarine $alt +pelerine $alt +piccoline $alt +ravine $alt +rutine $alt +serpentine $alt +sonatine $alt +studine $alt +terzine $alt +tontine $alt +turbine $alt +ukraine $alt +undine $alt +vaccine $alt +vaseline $alt +vitrine $alt +vlieseline flis@l'i:n@ $alt +zibeline $alt + +// PB nouns ending with -ør (French -eur) - stress on the last syllable +akkompagnatør $alt +akkvisitør $alt +aktør $alt +akupunktør $alt +amatør $alt +ambassadør $alt +annoncør $alt +arbitragør $alt +arrangør $alt +assurandør $alt +auditør $alt +bankør $alt +causør $alt +charmør $alt +chauffør $alt +chefredaktør $alt +chikanør $alt +ciselør $alt +debattør $alt +dekatør $alt +dekoratør $alt +dekupør $alt +demonstratør $alt +desertør $alt +desinfektør $alt +destillatør $alt +detachør $alt +direktør $alt +dispachør $alt +distributør $alt +domptør $alt +dressør $alt +dusør $alt +ekspeditør $alt +eksportør $alt +eksteriør $alt +emaljør $alt +entreprenør $alt +farcør $alt +favør $alt +flanør $alt +forhør $alt +frisør $alt +galvanisør $alt +gehør $alt +gravør $alt +guvernør $alt +helsingør $alt +honnør $alt +humør $alt +hypnotisør $alt +importør $alt +inferiør $alt +informatør $alt +ingeniør $alt +innovatør $alt +inseminør $alt +inspektør $alt +installatør $alt +instruktør $alt +interiør $alt +isolatør $alt +jonglør $alt +klakør $alt +kollaboratør $alt +kollektør $alt +kolportør $alt +kommandør $alt +kommunikatør $alt +konduktør $alt +konstruktør $alt +kontrollør $alt +kooperatør $alt +korrektør $alt +korsør $alt +kreatør $alt +kronikør $alt +kulør $alt +lektør $alt +leverandør $alt +likør $alt +lydhør $alt +løgstør $alt +magnetisør $alt +malør $alt +manipulatør $alt +manuduktør $alt +markør $alt +marodør $alt +massør $alt +medaljør $alt +minør $alt +modellør $alt +montør $alt +narkotisør $alt +navigatør $alt +nivellør $alt +nummeratør $alt +observatør $alt +odør $alt +operatør $alt +parlør $alt +pastichør $alt +perforatør $alt +plantør $alt +portrættør $alt +portør $alt +posør $alt +procedør $alt +programmør $alt +projektør $alt +provokatør $alt +rapportør $alt +redaktør $alt +regissør $alt +rekommandør $alt +rekvisitør $alt +renovatør $alt +reparatør $alt +repetitør $alt +restauratør $alt +retouchør $alt +ræsonnør $alt +sabotør $alt +sanitør $alt +signalør $alt +skulptør $alt +skvadronør $alt +skælskør $alt +sminkør $alt +soignør $alt +soutenør $alt +speditør $alt +stereotypør $alt +stukkatør $alt +sufflør $alt +sympatisør $alt +tatovør $alt +traktør $alt +translatør $alt +transportør $alt +triør $alt +valør $alt +ventilatør $alt +vigør $alt +volontør $alt +voltigør $alt +vulkanisør $alt // exceptions alene al'en@ // alone @@ -2207,10 +4200,12 @@ idé id'e // idea //igen igen ny ny // new også Vs@ // also -havde h'aD@ // had idet id'e // in so far as -//sagde sa@ // said -//sig sAi // oneself +bleg blaj +blegrød blajrWD +blege blaj@ +blegemiddel bl&#j@mid@l +//blegansigt bl&#jansegt slags sl'ags // sort, type tre tr'e // the number 3 queen kw'i:n // PB English word 'queen' @@ -2288,7 +4283,8 @@ shampu Sjambo // PB Danish pronunciation - oo has been replaced b (public servicen) pVblek||s@:vis@-n // PB (tour de force) tu:@d@||'fV:s // PB (al qaeda) al||k'ajda // PB -(force majeure) fVrs||,ma'sjW:r // *PB +(force majeure) fVrs||,ma'sjW:r // PB +(quiche lorraine) kiS||lor'E:n: wien v'i:n // PB Wien - the town of Vienna calais kal'E // PB Calais - town in France date dejt // PB date - stævnemøde @@ -2302,6 +4298,7 @@ billie bile // PB the name Billie chevrolet sjEvrol'e saigon sajg3-n // PB Saigon managua m&n'&:gw& +(deja-vu) deSja||'vy // Abbreviations pga pOgR'O?n'a? $hasdot // PB short for 'på grund af' @@ -2336,8 +4333,9 @@ phil fil/3 $hasdot // PB fx cand. phil. (sig til) si||tel // PB sig til ham, at han skal ... (gav sig til) g&||saj||tel // PB han gav sig til at ... sig si $capital PB Sig = si with capital S - Sig det med blomster -// avoid [staj] as in "flæskesteg" +// PB avoid [staj] as in "flæskesteg" (han steg) h&n||st'e (hun steg) hOn||st'e (vi steg) vi||st'e (de steg) di||st'e +(alle steg) &l3||st'e diff --git a/dictsource/da_rules b/dictsource/da_rules index 84def846..2ff79f6b 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -1,10 +1,12 @@ - + // This file is UTF8 encoded // Spelling-to-phoneme rules for Danish // Rules and comments marked //PB // have been made by Peter Bjarkov pbj1234@hotmail.com +// Phonemes - vowels: i e E y Y & &# @ @# @- a 3 W V A 0 (zero) o O u + .replace ü y oo u //PB English words like 'pool' @@ -20,43 +22,53 @@ oo u //PB English words like 'pool' .L07 t k // time, kime - tone, kone - tage, bage - tanke, banke .L08 sp st sk .L09 m n // ens før vokal: naller, maller - ikke efter: nam, nan +.L10 c k +.L11 g k .group a - // a (g a_ // PB change to [a@?] ? - tage -// r) a (CK A + a &: // PB changed from a? + + a (lt & // PB alt, overalt r) a A // PB kamera -// inser) a (t 'A // PB stressed a in 'inserat' -//konglomer) a (t 'A // PB stressed a in 'konglomerat' -//litter) a (t 'A // PB stressed a in 'litterat' -//kammer) a (t 'A // PB stressed a in 'kammerat' -//desper) a (t 'A // PB stressed a in 'desperat' -// moder) a (t 'A // PB stressed a in 'moderat' -// refer) a (t 'A // PB stressed a in 'referat' - r) a (t 'A // PB direktorat + r) a (L08 a // PB rask + a (k A // PB aktuar, aktivitet + legu) a (n '& // PB stressed a in 'leguan' + r) a (t 'A // PB direktorat, inserat, kammerat priv) a (t '&: // PB privat agglomer) a (t 'A // PB stressed a in 'agglomerat' - r) a (l 'A // PB stressed a before -ral - general, neutral + @r) a (l 'A // PB stressed a in -ral - general, neutral + r) a (l@@ A // PB centralisation NEEDS MORE WORK + r) a (llel A // PB parallel a (nt '& // PB stressed a in words with -ant - interessant - Ah) a (nd '& // PB stressed a in words with -hand - behendling - ok) a (l '& // PB stressed a in 'vokal, lokal, bifokal' + Ah) a (nd '& // PB stressed a in words with -hand - behandling + ok) a (l '& // PB stressed a in 'vokal, lokal, pokal, fokal' + @vok) a (l & // PB not stressed after a syllable - bagtungevokal + @pok) a (l & // PB not stressed after a syllable - vandrepokal + @fok) a (l & // PB not stressed after a syllable - bifokal v) a (nlig '& // PB usædvanlig - stressed a +hospit) a (l '&: // PB stressed e - hospital +_psykop) a (t '& // PB psykopat - stressed a + a (r+ A: bl) a a // PB blad fr) a A // PB fra, fratage gr) a A // PB gratis - a (L03K &: // PB alle, anden + a (L03K & // PB alle, anden h) a (CK & // PB han hvabeh) ar 'A // PB hvabehar - a (L03 &: // PB foran halvvokal +// a (L03 &: // PB foran halvvokal a (v+ A // PB tavs + j) a & // PB ja + j) a (v & // PB javel + j) avert aurt // PB javert + l) a (v &:v // lave + g) a (v & // PB gav, opgave L08) a (v & // PB stav - L03) a (L03 & // PB after semivowel b) a (b+ A // PB babser - a (L03L03A a // PB anderledes -// aa O: -// r) aa O: + a (ndA a // PB anderledes r) a (n a // PB garanteret t) a (b a // PB tabte + tr) a (n A // PB tran a (b+ a // PB lab L08) a (b &: // PB skabe r) a (bel 'A // PB vulnerabel, kurabel @@ -68,24 +80,38 @@ interf) a (ce ei // PB interface _) a (e_ &: // PB ae a (fC a // PB af = au and exceptions in the f group C) a (ft A // PB haft, saft - C) a (g+ a // PB magt, sagt +// C) a (g+ a // PB magt, sagt s) a (g+ & // PB sag s) a (gt+ a // PB sagt - d) a (g+ & // PB dag + C) agd (e+ &:_ // PB sagde + sl) a (L06 a // PB slap + d) a (g_ & // PB dag + d) a (ge+ & // PB dage, uodage + d) a (g@+ A // PB daglejer j) a (g+ &: // PB jage - L06) a (g+ &: // PB bag - b) a (gC++ A // PB baghold - C) a (gde+ &: // PB sagde +// L06) a (gA A // PB bagindgang + C) a (L11 a // PB makværk, bagværk + b) a (gh+ A // PB baghold + L06) a (g_ &: // PB bag + b) ag (ved &_: // PB bagved + b) ag (g &: // PB bage + b) a (gefter & // PB bagefter + b) ag (på &? // PB bagpå + b) ag (over &_: // PB bagover + b) ag (til & // PB bagtil + b) ag (ud &_: // PB bagud r) a (ge+ A // PB andrage, rage - a (ge++ &: // PB tage + a (ge+ &: // PB tage t) ager (_ Ar // PB tager ai (K aj + aise 'E:s@ // PB mayonnaise k) ai (n a'i // PB kokain C) a (k a // PB tak mir) a (k 'a // PB mirakel - stressed a pacem) a (ker ei // PB pacemaker t) a (l &: // PB tale L09) a (l &: // PB male + L09) a (ld & // PB knald _) a (ld a // PB aldrig, alder b) a (lkan &: // PB Balkan over) a (lt '& // PB stressed a in 'overalt' @@ -97,7 +123,13 @@ interf) a (ce ei // PB interface d) a (me+ &: // PB dame j) a (men a // PB exception jamen = ja men f) a (n & // PB fanden - k) a (n '&: // PB stressed a in 'orkan, pelikan' +_astrak) a (n '& // PB astrakan + _ork) a (n '& // PB orkan + _vulk) a (n '& // PB vulkan + _dek) a (n '& // PB dekan +_pemmik) a (n '& // PB pemmikan +_pelik) a (n '& // PB pelikan + _tuk) a (n '& // PB tukan av) a (n 'V // PB avance ch) a (n a // PB chance L06) a (n & // PB tand, tante, band, bande, spand, spade @@ -107,6 +139,7 @@ interf) a (ce ei // PB interface L09) a (n+ & // PB man, mand L06) a (nC A // PB bank Am) a (n_ '&: // PB stressed - narkoman + an (ce 'AN // PB ambulance an (cienn aN L06) a (nd & // PB pande a (ndre A // PB andre @@ -122,14 +155,27 @@ amerik) a (ne '&: // PB amerikanere a (ng++ a // PB mangle, sang h) a (nk a // PB hank _rom) a (ns '&: // PB romans, romansk -restaur) ant aN - a (p+ a // PB slap +restaur) ant 'AN // PB added stress + a (pC+ a // PB slap tilb) a (ge '&: // PB stressed a in 'tilbage' a (r+ A: d) a (t '&: // PB stressed 'dat' in mandat, soldat, kandidat t) a (t '&: // PB stressed 'tat' in etat, østat, resultat + t) a (nk A // PB tankstation + _tot) a (l '& // PB total - stressed + _ment) a (l '& // PB mental - stressed + kapit) a (l '& // PB kapital + _port) a (l '& // PB portal kvadr) a (t 'A // PB stressed a in 'kvadrat' kr) a (ti 'A // PB bureaukratiske + veter) a (n 'A // PB veteran + sopr) a (n 'A // PB sopran + var) a (n 'A // PM varan + kor) a (n 'A // PM koran + membr) a (n 'A // PB membran +katamar) a (n 'A // PB katamaran +filigr) a (n 'a // PB filigran + tyr) a (n 'a // PB tyran a (tion a au aw // PB auto, autoritet e) au 'o // PB bureau, niveau @@ -141,6 +187,10 @@ restaur) ant aN h) a (v &: // PB have r) a (v A // PB ravage @k) ar (l & // PB bøssekarl + action &kSj@n // PB actionfilm + aircondition E:rkVn,i:S@n + akkordeon ak'V:deVn + attention at'EnS@n aw (K aw ay (K aj @@ -151,15 +201,131 @@ restaur) ant aN l) af (fe 'af t) af (fe af +.group ar +// PB (most of them) words from latin with stressed 'ar' +_dokument) ar 'ar + _aktu) ar 'ar +_prolet) ar 'ar + _kat) ar 'ar + _agr) ar 'ar +_aveol) ar 'ar +_antikv) ar 'ar +_arkiv) ar 'ar + _atom) ar 'ar + _bas) ar 'ar +_bibliotek) ar 'ar +_bifil) ar 'ar + _okul) ar 'ar + _pol) ar 'ar + _biz) ar 'ar + _vik) ar 'ar + _boj) ar 'ar +_brevi) ar 'ar + _bukk) ar 'ar + _cig) ar 'ar + _cit) ar 'ar + _den) ar 'ar +_dignit) ar 'ar + _din) ar 'ar +_dromed) ar 'ar +_formul) ar 'ar +_eksempl) ar 'ar + _gal) ar 'ar + _hus) ar 'ar + _hekt) ar 'ar +_honor) ar 'ar + _glos) ar 'ar +_gloss) ar 'ar + _line) ar 'ar +_stell) ar 'ar +_invent) ar 'ar + _isob) ar 'ar + _jagu) ar 'ar +_janitsh) ar 'ar +_jubil) ar 'ar + _kors) ar 'ar +_lamin) ar 'ar +_legat) ar 'ar + _line) ar 'ar + _lug) ar 'ar + _magy) ar 'ar +_mandat) ar 'ar +_millib) ar 'ar +_myanm) ar 'ar + _not) ar 'ar +_nukle) ar 'ar + _pess) ar 'ar + _puls) ar 'ar + _qat) ar 'ar +_samov) ar 'ar +_semin) ar 'ar + _skol) ar 'ar + _tat) ar 'ar + _init) ar 'ar + _valu) ar 'ar + _veg) ar 'ar +_veget) ar 'ar + _vel) ar 'ar +_vokabul) ar 'ar .group b b b bb b -// _) be (@P2 be - _) be (d bE b (il 'b - + beagle bi:g@l //PB beagle - dog + beat b'i:t // PB beat - music + beaujolais boSjol'E // PB wine, district + bebop bi:bVp // PB music + babylon b&bylVn // PB + backgammon b&g'&m3n // PB + baryton baitVn // PB + brintion brendjo:n // PB +// PB words beginning with "be" with stress on the second syllable (850) + _) be (@ b%E +// PB exceptions to the "be" rule + _) be (nmel bE + _) be (narbejde bE + _) be (nbrud bE + _) be (nbræk bE + _) be (nbbuk bE + _) be (nchmark bE + _) be (nedder bE + _) be (nende bE + _) be (nfisk bE + _) be (nfedt bE + _) be (nfri bE + _) be (ngel bE + _) be (ngna bE + _) be (nh bE + _) be (njamin bE + _) be (nkl bE + _) be (nl bE + _) be (nmel bE + _) be (npibe bE + _) be (nplads bE + _) be (nrad bE + _) be (nskinne bE + _) be (ntøj bE + _) be (nspænd bE + _) be (nv bE + _) be (de bE + _) be (dre bE + _) be (dding bE + _) be (gblende bE + _) be (gmand bE + _) be (gning bE + _) be (jds bE + _) be (jle bE + _) be (lgi bE + _) be (rb bE + _) be (rgen_ bE + _) be (tastrål bE + _) be (eta_ bE + _) be (tatron bE + _) be (taversion bE + _) be (tel bE + _) be (tl bE .group c @@ -167,7 +333,7 @@ restaur) ant aN c (y s // PB s followed by y - cykel c (e s c (i s - c (k + c (k ch (A Sj // PB check, chokolade // ch S mi) ch (a k S @@ -175,49 +341,26 @@ restaur) ant aN e) c (h k c (ha S s) c (ha // PB no extra S in 'schalburtage' + cigaret sig3r'&t cc ks - // c (yk s // PB replaced by [c (y] fa) c (ad s fa) c (on s + ceylon sajl/2Vn + cornichon kVrniS'VN + charlie _^_EN .group d -// a) d (d D -// d) d d -// i) d (ræt d -// o) d (a d -// o) d (i d -// u) d D -// u) d (A D -// u) d (er D -// _y) d (re D -// al) d (er -// al) d (o d -// al) d (rig d -// an) d (re d -// be) d (es D -// ej) d (e d -// el) d (i d -// in) d (ue d -// ma) d (d D -// mi) d (l D -// pu) d (e D -// si) d (eA D -// si) d (eC D -// ve) d (h D -// mad) d (A D -// skræ) dd (e D - //A) d D // PB spoils 'manipulerede' - //A) d (_ D // PB spoils 'manipulerede' - //nor) d (en d - //ø) d (C D + d d + l) d // omit d after l - hold, skjold hel) d d // PB heldig e) d D // PB med - n) d // PB sende + en) d (e // PB sende + n) d (el d // PB ejendel æ) d D ø) d D // PB rød, grød - in) d +// in) d mo) d D // PB mod o) dds ds // PB odds ve) d D @@ -233,21 +376,20 @@ restaur) ant aN stikor) d // PB exception - no d in 'stikord' d' d //PB d'Aviano - e.g. French and Italian names - A) d (A D +// A) d (A D Co) d (A D be) d (A d ud) d (A d A) d (C D + A) d (s // PB fødsel - deleted 30+ rules, this one does the work A) dd (AC D // PB redder u) d (C D - Co) d (C D - in) d (C +// Co) d (C D + in) d (C mo) d (C D ne) d (C D -// d (CA d - r) d (K ar) d (K d - aar) d (K +// aar) d (K ir) d (_ d pæ) d (a d re) d (a d @@ -273,33 +415,32 @@ stikor) d // PB exception - no d in 'stikord' ri) d (e D si) d (e D ti) d (e D -// ur) d (e d vi) d (e D - æl) d (e - Coe) d (e // PB boede without d +// æl) d (e + Coe) de @-D // PB boede gui) de d - ral) d (e - sag) d (e +// ral) d (e +// sag) d (e snu) d (e D A) de (_ D@ // PB change to D? in) d (eks d - mo) d (el 'd + mo) d (el d or) d (el d sed) d (el D or) d (en d gui) de (n de ver) d (en d vi) d (er D - yl) d (er +// yl) d (er gui) de (r de lu) d (ere d A) d (es D ær) d (es d A) d (et D - al) d (et +// al) d (et gui) de (t de a) d (g D - bu) d (get + bu) d (get A) d (i d in) d (i d re) d (i d @@ -322,86 +463,70 @@ stikor) d // PB exception - no d in 'stikord' æn) d (re d æn) d (re d a) d D // PB ad, udenad - dangerously broad + u) d D // PB udholde + u) d (elt d // PB udelt i) d D // PB tid _a) d (res d //PB a) => _a) - didn't work for 'smadres' - probably for 'adresse' hon) d (ura d // PB Honduras -// or) d (ret - Aor) d (ret d +// Aor) d (ret d æn) d (ri d - a) d (s - i) d (s - go) ds s - li) d (s D - pu) ds s - ro) d (s + li) d (s D // tillidsmand ti) d (s D - klo) ds s - kre) d (s - kry) d (s - sli) d (s - smu) d (s - tro) d (s -tilfre) d (s - plu) d (se sli) d (so D - be) d (st : - d (t = - e) d (t - i) d (t - ø) d (t - bu) d (t - la) d (t - le) d (t - kru) d (t - sku) d (t - go) d (t_ + A) d (t = // PÅ forbudt, skudt, ladt, bedstefar in) d (u d pro) d (u d in) d (uC d mo) d (ul 'd + pen) d (ul 'd // PB pendul + dendron d'endrVn // // PB filodendron + doubleton dVb@ltVn // PB from bridge -.group é // added by PB +.group é // added by PB é 'e .group e - e e: + e e // PB e: => e + _) er (C %er // PB er + consonant: stress on next syllable - er'hverv + _) er (go er // PB not stress on next in "ergo..." kas) e (rne 'e // PB stressed e in 'kaserne' ml) e 3 // PB gamle - hot) e (l 'e // PB hotel + tel) e 3 // PB tele + hov) e (d 3 // PB hoved afl) e 3 // PB aflevere - ov) e (r 3 // PB over + ov) e (rK+ 3 // PB overbevisende l) e (r 3 // PB forhandlere - fl) e (r e // PB flere - e (lse @ // PB fornøjelse - sk) e (t_ e // PB sket r) eau o // PB bureaukratiske ee 'e: // PB ideer, cafeer + b) ee (d ee // PB beedige am) e (rika_ 'e // PB Amerika - am) e (rikan e // amerikanere et (_ 3D // PB forsket, formet + _sk) e (t e // PB sket s) e (t e // PB set - L03) e (_ 3 // PB have L07Ag) e (_+ // no final e after g - kage, tage nt) e @ // PB tante, hente - nt) e (r V // PB tanter, henter mont) e (r e // PB montere - v) e (r+ e // PB vers, verden - e (rK+ V // PB efter - k) e (r+ e // PB forkert - er (ne V // PB kammeraterne - _) e (r_++ er // PB er - h) e (r++ e // PB her, herhen + v) e (rK+ E // PB vers, verden + av) er (+ V // PB laver, saver + lev) e (r V // levertran + _sk) e (r_ e // PB sker + @) e (r_+ V // PB efter, lever, Peter + _s) e (r_ e // PB ser + _h) e (r++ e // PB her + h) er (re+ ER // PB herre + hv) e (r+ e // PB hver + k) e (rK+ e // PB forkert + kk) er (+ V // PB rykker + br) e (L09 & // PB bremse + _) er (_++ er // PB er _sk) er (_ er // PB sker - e (ri V // PB røveri + v) e (ri V // PB røveri + ri) e 3 // PB ferie sn) e (K e? // PB sne, snebold fr) e (L03 a // PB fremme, frende, frelse fr) e (d e // PB fred fredag - l) e (t e // PB toilet + _toil) e (t 'e // PB toilet, toilette _l) er (_++ er // PB ler - hv) e (r e // PB hver - el) e (r V // PB hellere - mm) e (l @ // PB gammel - s) e (_ @ // PB rose, skose _s) e (_ e? // PB se L06) er (_ &r // PB per L06L06) er V // PB klipper @@ -409,49 +534,32 @@ L03L06) er (_ V // PB bomber _) er (_ &r // PB er _a) e (_ 3 // PB ae pl) e (men 3 // PB supplement - L06) e (l 3 // PB bibel, krumsabel - _tab) e (l 'e // PM tabel nd) e (r V // PB under r) e (j a L09) er (ne_ V // PB kameraerne - L08) e (r_ e // PB sker - t) e (rr e // PB territorium - Ct) erN V // PB alter, helikop*ter*styrt - NOT words from da_list + Ct) er V // PB alter, helikop*ter*styrt - NOT words from da_list th) e (r_ V // Luther - j) e (r e // PB jer hj) e (r E // PB hjerne - _s) e (r_+ e // PB ser - s) e (r V // PB vitser + stj) e (r+ E // PB stjerne t) erræn &r'E:N // PB terræn - g) e (rne V // PB sangerne - g) e (rne_ E // PB gerne + @g) e (rne V // PB sangerne + g) e (rne_+ E // PB gerne + @) er (ne+ V // PB kammeraterne, opgaverne kuff) e (rt V // PB kuffert - Am) e (r V // PB strømere Amm) e (r 3 // PB kammerater e (mball A // PB emballere, emballage L06) e (rC E // PB person CHECK THIS ONE f) e (rni E // PB fernis - d) e (re V // PB mordere CHECK THIS ONE invad) e (re 'e // PB invadere d) e (rn V // PB gaderne CHECK THIS ONE ød) e 3 // PB øde - b) e (ds E - d) e (_ @ +// d) e (_ @ ed) e (- @ - //g) e (C e g) e (js aj - em) e (nt a - dem) e (nt 'e // PB dement -ekskrem) e (nt 'e // PB ekskrement - cem) e (nt e - elem) e (nt e - plem) e (nter e - em) e (ntal e - glem) e (nt a - glem) e (ntal e + proc) e (nt 'e // PB procent _ni) e // PB changed from [ni)e] to[_ni)e] - niende, nier, niendedel _ni) e (ce 'E: // PB exception from the rule above (_ni)e) - c) e (_ @ // PB benefice +// c) e (_ @ // PB benefice alsac) e // PB exception from the c)e rule above - Alsace (French region) _fl) ee (ce+ i: // PB fleece, fleecejakka - material for clothing fleec) e // PB fleece - skip the final e @@ -474,66 +582,97 @@ servic) e (sektor // PB servicesektor servic) e (station // PB servicestation servic) e (ydelse // PB serviceydelse softic) e // PB softice - dr) e (n ae // PB dreng, drengestreg - adr) e (sse_ 'a // PB stressed e in adresse + dr) e (n &# // PB dreng, drengestreg + r) e (ne+ 3 // PB brødrene + _adr) e (sse 'a // PB stressed e in adresse +_kongr) e (s '& // PB kongres - stressed but not after a syllable + _regr) e (s '& // PB regres Asp) e (kt 'e // PB stressed e before -spekt - respekt, suspekt it) e (t+ 'e // stressed e in words with -itet - vulgaritet, universitet - 330 words - farv) e (l 'e // PB stressed e in 'farvel' - tal) e (nt 'e // PB stressed e in 'talent' - rødb) e (de 'e // PB stressed e in 'rødbede' + _tal) e (nt 'e // PB stressed e in 'talent' + _rødb) e (de 'e // PB stressed e in 'rødbede' _fall) e (ret 'e // PB falleret - kass) e (rer 'e // PB kasserer - e (gn a // PB tegne , hegn + _kass) e (rer 'e // PB kasserer + e (gn a // PB tegne, hegn + e (gsot &# // PB blegsot + e (gansigt &# // PB blegansigt +_aller) e (de_ E // PB allerede - otherwise the E is changed by another rule bl) e (m 3 // PB møblement - probl) e (m 'e // PB stressed e +_probl) e (m 'e // PB stressed e C) e (ring 'e // PB stressed e in words with -ering (1.000) - likvidering - e (ndig 'e // PB stressed e in words with -endig - elendig, nødvendig - ni) e (n e - ani) e (l e + _el) e (ndig 'e // PB stressed e in elendig + _leb) e (ndig 'e // PB stressed e in lebendig lini) e @ // PB changed from [e] to [@] - r) e (_N 3_: // PB mere -// r) e (_T e // PB for words in the list file with -ere +// str) e (_ r3 // PB venstre + r) e (s_ 3_: // PB gøres + ft) e @ // PB oftere r) e (nd a // PB rend n) e (r V // PM klovner + n) e (rv E // PB nerve, nervøs + n) e (rt E // PB genert hvab) e (har_ 3 // PB hvabehar - _r) e e -// r) e ( - r) e (l e -// r) e (kt aj - r) e (t+ a //PB ret - r) e (st & // PB resten + _r) e (t+ &# //PB ret FIND A VETTER VOWEL + &) et (_ @D + r) e (tøj+ @ // PB køretøj + r) e (st E // PB resten, restaurant + _arr) e (st '& // PB arrrest - stressed e @st) e (n e: // øjesten - budg) e (t 'E + h) e (n+ e // hen + _budg) e (t 'E carst) e (n @ karst) e (n @ -// Kr) e (ag e - @h) e (n+ 'e - p) e (gnin a - //r) e (CK e // PB spoils fore, forebringe juvel) e (ren 'e // PB juveleren juvel) e (rer 'e // PB juvelerer absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet + +// Words ending with e - general rule (probably covered by others) + e (_ 3 + +// Words ending with -te + t) e (_ @ + +// Words ending with se or ce + s) e (_ @ + c) e (_ @ + +// Words ending with -ske (and ste, spe) + L08) e (_ @ // PB påske, forske + +// exceptions to the -ske rule mosk) e 'e // moske, moskeen, moskeer - d) e (lse // PB tilladelse, udeladelse - for) e (t_ // PB no e - handled under group o - 'fore' måsk) e (_ 'e // PB måske + _sk) e (_ e // PB ske + _sk) e (er e // PB skeer +dessertsk) e e // PB dessertske +fugesk) e e // PB fugeske +grydesk) e e // PB grydeske +grødsk) e e // PB grødske + hulsk) e e // PB hulske + kansk) e e // PB kanske + mursk) e e // PB murske +målesk) e e // PB måleske +strøsk) e e // PB strøske +støbesk) e e // PB teeske + tesk) e e // PB måleske + + for) e (t_ // PB no e - handled under group o - 'fore' gourm) e 'e // PB gourmet @) e (kt 'e: // PB stressed e in words with -ekt - konfekt L06) eg (e aj // PB p) changed to L06 to include b - L08) eg aj // PB steg, spegepølse - problem with the verb stige/steg + L08) e (g a // PB steg, spegepølse best) eg (_ 'e // PB besteg - jav) e (l 'e // PB stressed e in 'javel' + n) egl ajl // PB negl + r) egel e?l // PB regel + r) egl e?l // PB regler + res) e (rve 'e // PB reserve - stressed m) eg (a eg eg (et a:j r) eg (er eg r) eg (n aj p) eg (n aj // PB pegning - t) eg (n aj + t) eg (n aj // tegne eg (e_ 'e: // PB added _ - ege - //r) eg (n A:j // PB - //m) eg aj // PB covered by [eg(et] above r) ej (s aj - //n) e (K e // PB no good for 'ordner' en (gage aN // engagere en (tre aN c) en (t en @@ -548,48 +687,150 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet tr) e (A e ei A:j ej (+ aj // PB changed from ai to aj - nej - v) ej (r 'e ai - ffic) e + v) ej (r 'e +_offic) e (_ // office (officepakke) ffic) e (r e &) ede (_ @D3 // PB changed from [@D@] to [@D3] + fl) e (de+ e // PB aflede + f) e (de_+ e // PB opfede &) edet (_ @D3d // PB hovedet &r) ede (N_ 3D@ &r) en (_ 3n - &r) en (ing 'en -// for) en (ing 'en &r) en (s_ 3n - &r) et (_ 3D - //&) er (_ V // PB doesn't work with 'dedikeret' should be @, not V - &) en (_ '@-n // uden - Ad) en (@ '@-n // udenlandsk, udenad + &r) en (ing 'en + &) en (_ @-n + Ad) en (@ @-n // udenlandsk, udenad + Ad) en (t en // PB identificere &) ene (_ @-n@ - &) ende (_ @-nn@ - &) ere (_T 'e:3 // PB can't get 'vurdere' to work with -ere words in list file + &) ende (_ e-n@ // PB changed from [@-nn@] - genkende + AL09) e (re_ 3 // PB strømere + &) ere (_T+ 'e:3 // PB can't get 'vurdere' to work with -ere words in list file + ere (_ 3V // PB smukkere, hellere + fl) e (re_ e // PB flere + v) e (re_T e // PB levere + d) e (re V // PB mordere CHECK THIS ONE &) eren (_ 3r3n - &) ere (NT_ 'e:3 // PB stressed - manipulere, protestere - words in list file + &) ere (T_ 'e:3 // PB stressed - manipulere, protestere - words in list file &) erede (NS2_ =D3 // PB stressed - manipulerede, protesterede - words in list file &) eres (NS1_ =s // PB stressed - manipuleres, protesteres - words in list file &) erer (NS1_ =V // PB stressed - manipuleres, protesteres - words in list file - &) eret (S1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file - _sen) ere er3 // PB senere + &) eret (NS1_ =3D // PB stressed - manipuleret, protestet 1.810 words in list file + _sen) ere 3V // PB senere + _all) erede (_ @reD@ &) eren (s_ 3r3n - &) es (_ @s ucc) es 'e - &) et (_ @D nog) et (_ D // PB noget - icha) e (l - ika) e (l ir) e (n 'e - yr) e (n 'e + styr) e (n 'e // styren ork) e (ster 'e // PB stressed e in 'orkester' forur) e (ne 'e // PB stressed - forurene st) e (ret // PB orkesteret b) ea (t i: // PB beat, beatorkester ompet) en (ce aN ress) en (timent aN // PB ressentiment - bl) e (g aj // PB bleg +// bl) eg aj // PB bleg m) edie 'edj3 // medie, kommedie - best) e (mme 'e // PB stressed e - bestemme + b) e (@ e // PB words starting with be- - bestemme - around 900 words + afst) e (dkom 'e // PB afstedkomme + +.group el + +// PB GENERAL RULE FOR WORDS ENDING WITH -EL - 1.182 words + @) el (_ @l // fødsel + @) el (s @l // fødselsdag, fødselstal + @) el (A @l // fødselar +// PB exceptions for the -el rule - most of them are stressed + _) el el // elkedel + d) el (+ el // PB dele, omdele + hot) el 'el // hotel + decib) el 'el // decibel + verbi) el 'el // adverbiel + mod) el 'el // model + u) el (+ 'el // aktuel, seksuel, visuel + ur) el (+ '&#l // konjunkturel + akvar) el 'el // akvarel + and) el el // andel + hand) el @l // handel + n) el (+ 'el // 63 words - nominel + i) el (+ 'el // arteriel, artificiel + dani) el el // Daniel + app) el 'el // appel + sk) el el // forskel + ed) el (+ el // femtedel - words where "del" means 'part of' + ked) el (+ @l // grukedel - doesn't mean 'part of' + benm) el el // benmel + uform) el 'el // uformel +hvedem) el el + bord) el 'el +brillest) el el + kast) el 'el +servantest) el el +spisest) el el +underst) el (+ el + _st) el (_ el + ond) el el // milliondel + jav) el 'el // stressed e in 'javel' + v) el el // velkommen + icha) el l // Michael + ika) el l // Mikael + brøkd) el el + byd) el el + for) el '&#l + citad) el 'el + du) el 'el + ejend) el 'el + nt) el 'el // eksperimentel + on) el (+ 'el // personel, rationel - 42 words + fid) el 'el + ded) el el // tiendedel, niendedel + farv) el 'el +grænsesk) el el +immort) el 'el + juv) el 'el + kam) el 'el + karav) el 'el +karrus) el 'el + kart) el 'el + kaut) el 'el +klient) el 'el + kord) el 'el + korn) el 'el + lam) el 'el +legemsd) el el + løsd) el el + makr) el '&#l +marksk) el el +medikament) el 'el +mortad) el 'el + mot) el 'el + nuv) el 'el + ovend) el el +parall) el 'el + c) el 'el // parcelhus + past) el 'el + ped) el 'el +procentd) el el +programm) el 'el + prop) el 'el + reb) el 'el + re) el 'el +reserved) el el + rism) el el + rond) el 'el + rugm) el el + rundd) el el + sagom) el el + sard) el 'el +sigtem) el el + skalp) el 'el + sport) el 'el +stikked) el el + såv) el 'el + tab) el 'el +tarant) el 'el +univers) el 'el +verdensd) el el + t) el (+ el .group f f f @@ -621,10 +862,11 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet a) f (ro f // PB afroasiat, afroamerikaner, afrohår etc. o) f (il 'f // PB profil, frankofil - stressed + @) fobi fob'i // PB xenofobi, hydrofobi a) f (it f a) f (on f a) f (rik f - a) f (sted + a) f (sted a) f (ten f a) f (tes_ f Ca) f (t f @@ -635,17 +877,18 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet gra) f (C f ra) f (ik f ra) f (fe f -// kra) f (t f + fire fi:V // PB fire sa) f (ar f -// ska) f (f f sta) f (e f + fettuccine fetuTS'i:n@ .group g g g - g) g - g) g (e + g) g + g) g (e g (ent g - g (entl j // PB egentlig + ru) g // PB rug, rugmel + g (ernA g // gerne gerning ami) g (o g // PB amigo &) g (r g g (ård g @@ -657,32 +900,43 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet ser) gent 'sjant // PB sergent gjorde gjo:3 // PB gjorde ki) g k // PB kig, udkig -// a) g (C ?w - a) g (e - a) g (en g + a) g (e @ // kage +// Ca) g (en j // kagen +// a) g (en g a) g (i g + ba) g (i // PB bagi + ba) g (in w // PB bagindisk + æble) grød grWD a) g (o g a) g (urk 'g - g) g - //e) g (e + g) g e) g (o g i) g (t g - i) g (t_ - i) g - i) g (A + i) g (t_ + i) g (A i) g (a g i) gen g'en i) g (ere g i) g (i g - //a) g (A j + g (entl j // PB egentlig l) g (_ j - l) g (e j l) g (s j g (n j // PB tegn, regne - n) g + ble) g (sot j // PB blegsot + ble) g (ansigt j // PB blegansigt + L08e) g j // PB steg, spegepølse + æ) g (e j + æl) g (e j // PB sælge vælge + y) g (e j // syge, ryge, myge + l) g (_ j + ø) g j // PB deleted (_ + nø) g j + sal) g j + val) g j + n) g + n) g (ø g // PB rengøre n) gr Ngr n) gæ gE - //o) g (A g Co) g w // PB sprog, tog, toge to) g (a g // PB exception toga to) g (o g // PB exception Togo @@ -691,20 +945,18 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet o) g (n u // PB g => u - vogn, sogn o) g (s u r) g (_ w -// r) g (e w or) g // PB morgen, sorg u) g g - u) g (e + u) g (e + u) g (ene S // PB ugenert + u) g (enn g // PB ugennemskuelig + u) g (enL11 g // PB ugengældt, ugenkendelig u) g (l ? u) g (t g - y) g (e j y) g (A g -// ø) g (e ø) ge @ // PB bøgetræ - ø) g (n - æ) g (e j + ø) g (n g (iv+ g // avoid letter "g" pronounced with phoneme S - Ca) g (en j dra) g (en w // PB dragen, uopdragen ha) g (l u in) ge (niør Se @@ -712,30 +964,25 @@ absorb) e (r 'e // PB absorber, absorberer, absorbere, absorberet la) g (C u la) g (t g la) gde e - li) g (ere + li) g (ere ra) g (_ w ra) g (e : // PB changed from w sa) g (n u - ør) g (s + ør) g (s ur) g (A g - l) g (_ j lA) g (a g - li) g li) g (g g mA) g (a g nA) g (a g - ta) g (A u +// ta) g (A u ta) g (C u - //&e) g j // not j in 'delegerede' &e) g (å g // PB kirkegård an) g (å g - ba) g (e - da) g (e - ba) g (C u + da) g (e ba) g (age g - ba) g (t g - ba) g (ta u - da) g (C u + ba) g (t_ g + ba) g (tal u // PB l added to post - bagtale + da) g (C w // PB changed from u - daglejer da) g (s_ ? fa) g (C u fi) g (ur g @@ -783,10 +1030,10 @@ staffa) g (e =S // PB staffage takkela) g (e =S // PB takkelage trikota) g (e =S // PB trikotage ami) g (os g // PB amigos - la) g (e - li) g (t + la) g (e + li) g (t re) g (A g - re) g (i S + _re) g (i S' re) g (iA g re) g (ist g sa) g (a =g @@ -794,35 +1041,29 @@ trikota) g (e =S // PB trikotage si) g (t g va) g (n u pli) g (t g - &ti) g + &ti) g bor) g u bud) g (et S - gti) g + gti) g gti) g (ere // PB vigtigere hol) g (er g jer) g (A w jer) g (C w rea) g (er g -// aga) g (e S aga) g (te g arran) g (e S redi) g (er g - reta) g (e -foreta) g (e - ru) g (_ + reta) g (e +foreta) g (e + ru) g (_ Ca) g (t k - //o) g u bo) g (C u æda) g (og g' - no) g (e - no) g (le - nø) g j + no) g (e + no) g (le re) g (i g bo) g (st k - ø) g j // PB deleted (_ ø) g (t g - sal) g j - val) g j lå) g (e u navi) g (er g vå) g (e u @@ -838,119 +1079,170 @@ foreta) g (e blo) g (s =g _lo) g (_ g _lo) g (g g - ør) g // PB changed from w - spørge + ør) g u // PB changed from w - spørge a) g (K // PB ? changed to " " after a vowel -// _) ge (@P2 ge // PB puts stress after ge _) ge (nere Se _) ge (nert Se _) ge (nerel ge ge (nera ge ge (nerer ge ni) gger gV // PB nigger - ble) g // PB omit g because of e = aj - bleg +// ble) g // PB omit g because of e = aj - bleg g (ene_ S // PB gene - ta) g (e + ta) g (e te) g (ori g .group h h h - h (j + h (j hv v - A) h (K + A) h (K t) h (en h w) h (isky // PB whisky - - - + hotline hVtla:jn // PB .group i - i i: - // i (CK i - ig (_ i - ige (_ i;@ + i i // PB i: => i - made a lot of rules redundant + ig (_ i // dejlig + +// PB stress on previous syllable - around 400 words in da_list +// -ig words with the prefix be- are handled by group b - the be- rule. +// To keep the list short a large number of u- words were weeded out, +// therefore u- is removed in group u before the word is translated +// since the u+list words keeps the stress. +// Any other syllable before the word reverts to normal stress + @) ig (_+T =i // velærværdig, gudvelbehagelig + @) ige (_S3 =i@ // velærværdige + @) igt (_+S3 =it // ærværdigt + ans) igt (+ igt // PB ansigt +// PB keep stress on previous syllable when -hed is added to -ig + ighed (_S5 =iheD // velerv'ærdighed + igheden (_S7 =iheD@n // velerv'ærdigheden + ighedens (_S8 =iheD@ns // velerv'ærdighedens + igheder (_S7 =iheDV // velerv'ærdigheder + igheders (_S8 =iheDVs // velerv'ærdigheders + igheds (_S6 =iheDs // velerv'ærdigheds + + ige i:@ // PB deleted [(_] - pige, pigen, stige, sige + iger i:V // PB piger + p) igen i:3n // PB pigen + ige (n ig'E // PB igen + idel i:D@l // PB idel + israel isrA:l // PB Israel + vend) ige i:3 // PB nødvendige iew j'u i (nK i + f) i (ng e // PB finger r) i (nK e // PB ring am) i (go 'i // PB amigo + magas) i 'i // PB magasin + i (sk =i // PB stress on previous - canadisk TOO BROAD (paus'efisk) + L10am) i (lla 'i // PB Camilla, Kamilla i (nn e i (mK e - i (k e // PB ikke, pik + l) i (m i // PB lim + i (kK e // PB ikke, pik + v) i (k i // PB kvik l) i (k i // PB likvid - pr) i (+ i // PB privat i (kk+ e // PB skiderikker - i (r+ i // PB Irland, irrationel -// L02) i (L03 e // PB foran halvvokal - til t) i (me i: // PB time s) i (dA+ i: // PB siden s) i (d_ e // PB sid s) i (dd+ e: // PB sidde - s) i (gA+ i // PB siger - s) i (n e // PB tusind - t) i (d+ i // PB tiden - t) i (n e // PB tin, ting + s) i (gt e // PB sigte, ansigt l) i (p e // PB slippe - //L03) i (L03K i // PB mellem to halvvokaler midt, vil, til SHOULD BE e FIND A RULE FOR Camilla with -i - L03) i (L03L03 e // PB middag - L03) i (L03 i //PB vide - L03) i (g+ i // PB ligne + l) i (dt e // PB lidt + L08) i (l e // PB spille - problem with the verb (ud)spile/(ud)spil[sbil] + m) i (dd e // PB middag + p) i (nd e // PB pind + k) i (nd+ e // PB kind + L08) i (L06 i // PB skib + tv) i (v i // PB tvivl L03) i (gt+ e // vigtig - L03) i (L03L02 e // PB spille v) i (l+ e // PB vil t) i (l e // PB til - to) i (l // PB toilet ju) i (ce // juice - skip the i soft) i (ce aj // PB softice - fr) i i // PB fri fr) i (L08 e // PB friste s) i (kC e // PB sikker, sikre - p) is es // PB pis - p) i (L08+ i // PB pisk, pistol - mag) i (_ 'i // PB magi - stressed i - polit) i 'i // PB politi, politik - stressed i - mus) i (k 'i // PB stressed i + p) is (_ es // PB pis + p) iss es // PB pisse + _mag) i (_ 'i // PB magi - stressed i + _mag) i (en_ 'i // PB magien - stressed i +_polit) i 'i // PB politi, politik - stressed i + _mus) i (k 'i // PB stressed i + i (nde 'i // PB herskerinde + _civ) i (l 'i // PB stressed - civil + all) i (gevel 'i // PB stressed i - alligevel + _band) i (t 'i // PB bandit k) i (C_ 'i k) i (CC_ 'i - kr) i (C %e // PB kritisere - omkr) i (ng 'e- // PB stressed e in 'omkring' + _vedl) i (ge 'i // PB vedligeholde + _medl) i (denhed 'i // PB medlidenhed - stressed + _omkr) i (ng 'e- // PB stressed e in 'omkring' kn) i e? // PB knippel @t) i (k 'i // PB stressed i in words with -tik - butik, politik - i (st 'i // PB folklorist, mejerist, terrorist, minister + _min) i (ster 'i // PB minister - stressed i + _mag) i (ster 'i // PB magister- stressed + _re) i (ster 'i // PB register - stressed ii r) i (st e // PB brist, rist @r) i (um =i // PB put stress on syllable before 'rium' - territ'orium @r) i (e =i // PB put stress on syllable before 'rie' - territ'orie @s) i (um =i // PB put stress on syllable before 'sium' - gym'nasium @s) i (e =i // PB put stress on syllable before 'sie' - gym'nasie - @r) i 'i // PB words ending with ri - stressed i - maleri - amer) i (k i // Amerika - r) i (sA e // PB risikere - tor) i i // PB not stressed i in 'autoritet' - @r) i (er 'i // PB stressed i - malerier - lat) i (n 'i // PB stressed i in 'latin' + r) i (si e // PB risikere + r) i (sl e // risle + p) i (lle e // PB pille lat) i (nis i // PB latinisme k) i (et 'i // PB Tyrkiet - kan) i (n 'i // PB kanin prosod) i 'i // PB prosodi, prosodien - melod) i 'i // PB melodi - parod) i 'i // PB parodi -perfid) i 'i // PB perfidi -rapsod) i 'i // PB rapsodi -ortopæd) i 'i // PB ortopædi +_melod) i 'i // PB melodi +_parod) i 'i // PB parodi +_perfid) i 'i // PB perfidi +_rapsod) i 'i // PB rapsodi +_ortopæd) i 'i // PB ortopædi v) i (L08 e // PB viskelæder l) i (e j - n) i (e i - r) i (g i r) i (gt e // PB rigtigt + l) i (gg+ e // PB ligge s) i (e j t) i (e j t) i (on // i ommitted because of sj - t) i (øs + t) i (øs s) i (on j + s) i (a j // PB passiar + c) i (a j // PB specialitet des) ign ain - ingen) i (ør + ingen) i (ør +.group in +// PB words ending with -ine in da_list with $alt - stressed i + &) ine (_T 'in@ // lavine + &) ine (n_S1 n // lavinen + &) in (er_S2 V // laviner + &) in (erne_S4 Vn@ // lavinerne + &) in (ernes_S5 Vn,@s // lavinernes +// stress -ine kept when another word is added after the -ine word + &) ine (@ 'in@ // lavinefare + + kan) in 'in // PB kanin + lat) in 'in // PB stressed i in 'latin' + s) in en // PB tusind + t) in en // PB tin, ting + _ur) in 'in // PB urin + +.group is +// PB words ending with -ist in da_list with $alt - stressed i + &) is (t_T 'is // bassist + &) is (ten_S2 @n // bassisten + &) is (ter_Se @V // bassister + &) is (tens_S3 @ns // bassistens + &) is (terne_S4 @Vn@ // bassisterne + &) is (ternes_S5 @Vn,@s // bassisternes +// stress is kept when another word is added after the -ist word + &) is (t@N 'is // bassistformand .group j @@ -965,13 +1257,17 @@ ortopæd) i 'i // PB ortopædi a) j (o S ma) j (or j // PB major j (uice dz //PB juice - + _) jer (_ jer // PB jer - er swallowed by other rules + jamsession dj&:ms'eSj@n // PB + jardiniere SjArdinj'E:r // PB jardiniere + jeton Sjet'VN // PB .group k k k kk k k (oordinat oVdi'nat + kanterel kant@r'&#l // PB s) k g pun) k (t N run) k (en N @@ -982,39 +1278,31 @@ ortopæd) i 'i // PB ortopædi -.group l +.group l // PB l changed to l/3 in ph_danish - l l/3 // PB changed from l to l/3 - ll l/3 // PB changed from l to l/3 -// ld (K l - &) ld (e_ l + l l + ll l &) ld (er l // PB anmelder se) lv l // PB selv, selvfølgelig, selvhjælp se) lv (e lv // PB selve, selvet - &) ld (ekk l - //o) ld l - //æ) ld (r ld bo) ld ld - bo) ld (A ld - fo) ld l - //he) ld l - //he) ld (ig ld - ki) ld (A l - me) ld (el l - me) ld (ing l - no) ld l - //so) ld (aC d so) ld (at ld + _) leg (_ laj // PB leg lege laj3 // PB lege +// b) lege la:j@ // blege leger lajV // PB leger - - + legem lE@m // PB legemsdel + lotion l3uSjn // PB håndlotion .group m - m m? + m m // PB m? -> m mm m m (A m + _) mere (_ mer // PB mere + matine m&tin'e // PB +// PB General rule for words with -ment A) ment m'ent // PB element +// PB exceptions for the -ment rule arrange) ment m'AN // PB arrangement avance) ment m'AN // PB avancement avertisse) ment m'AN // PB avertissement @@ -1033,7 +1321,6 @@ kompli) ment m'AN regle) ment m'AN // PB reglement regle) mente (ret ment'e // PB reglementeret abonne) ment m'AN // PB reglement -//instru) ment m'ent // PB instrument instru) mentel ment'el // PB instrument katonne) ment m'AN // PB katonnement klasse) ment m'AN // PB klassement @@ -1057,36 +1344,39 @@ bombarde) ment m'AN // PB bombardement n n // nn n + ve) nn n // PB venner ba) nd (er n? // PB takes away the d in 'bander' = 'gangs' - n => n? ka) n_ // no n - kan nd (K n nd (ow nd - nd (r nd i) nd (eks nd - i) nd (ing n + i) nd n // PB kind, kvinde, pind + y) nd n // PB tynd + ø) nd n // PB tønde u) nd n bå) nd (A n - pu) n (kt - ru) n (ke - sa) n (kt + pu) n (kt + ru) n (ke + sa) n (kt eku) nd nd pag) n (e nj ballo) n N ræso) n_ N // ræson ræso) nn n // PB ræsonnement + @) nien =ni3-n // PB Albanien, Rumænien - stress on previous syllable sæso) n N talo) n N gleme) n (t N - - - + newton nj'u:t@n + nylon najlVn + _) nag n&:j // PB nag .group ng ng (_ N ng (e N ng (s N - a) ng (A ng + _a) ng (A ng cha) ng (ement Nsj // PB changement a) ng (C N ora) nge Nsj3 // PB orange @@ -1103,11 +1393,7 @@ bombarde) ment m'AN // PB bombardement la) ng (e N li) ng (e N læ) ng (e N - ma) ng N - ma) ng (e N // PB mange ru) ng (e N - sa) ng (e N - sa) ng (er N // PB sanger se) ng (e N ti) ng (e N ti) ng (ent Ng @@ -1117,62 +1403,89 @@ bombarde) ment m'AN // PB bombardement .group o o o: - h) o 'o // PB horn + + o (lv V // PB tolv + s) o (l o // PB sol, soldat + s) o (lgt V // PB solgt - exception + h) o o // PB horn + r) o (r o // PB bror or (g+ o: // PB sorg, morgen or (l O: // PB orlov - liban) o (n V // PB Libanon - kan) o (n 'o // PB kanon - h) o (ndu V // PN Honduras + kont) o (r 'o // PB kontor - stressed + d) o (b V // PB dobbelt o (dds V: // PB odds - k) o (n V // PB konge - At) o (de 'o // PB stressed o - metode, katode - tr) o (n+ 'o // PB stressed o - patron + o (ld V // PB holde + o (ldA V // PB solde o (sse V // PB tosse, nosse j) o (b V // PB job + j) o (l V // PB jolle, fjols, fjolle + mon) o (k 'V // PB monokel - stressed o (vA+ Vu // PB over, oven + h) o (v+ V // hov, sove o (v+ V // PB sjov, lov, skov + o (f V // PB ofte + C) o (kNT 'V // PB beginning with 1 consonant followed by o and k: sok, nok, kok + o (lk V // PB folk + d) o (llar V // PB dollar - only this word plus compounds like 'dollargrin' + o (m V // PB område + _m) o (rt V // PB mortadel + L06) o (ld V // PB bold + o (k V // PB okker, lok + f) o (k o // PB fokus, fokal + o (rk V // PB orke orkester + g) o (dt V // PB godt, godte + r) o (tt V // PB rotte + d) o (g V // PB dog + v) o (g V // PB vogn, vogte + s) o (g V // PB sogn + l) o (f V l) o (ve+ Vu // PB love - h) o (v+ o // hov, sove - telef) o (n 'o // PB telefon - L08j) o (l V // PB skjold - tr) o o // PB tro + od_ VD // PB - od, vod, skod + odd (A VD // PB - odder - only this word + k) ors V:s // PB kors, korsage + c) o (rs V // PB corsage + At) o (de 'o // PB stressed o - metode, katode bistr) o 'o // PB stressed o in 'bistro' pist) o (l 'o // PB stressed o - pistol + er) o (b 'o // PB erobre - stressed o + _er) o (t 'o // PB erot - stressed o + o (disk 'o: // PB stressed o - melodisk, periodisk + L09) o (va o // PB nova renovation + r) o (vA ov // PB provokere + h) o (ved o: // PB hoved + tr) o o // PB tro _m) o (C o // PB m + o + 2 consonants: mor, mord, L08) o (l o: // PB skole, spole o (L03A o // PB - romantisk, hoved -// L02) o (L03_ V // PB consonant + o + semivowel + end of word - kom, som _C) o (_ o // PB jo, ko, lo, so - er) o (b 'o // PB erobre - stressed o f) o (d+ o // PB fodre - od_ VD // PB - od, vod, skod - odd (A VD // PB - odder - only this word - g) o (dt V // PB godt, godte C) oe (de o: // PB boede, troede - o (f V // PB ofte - l) o (f V + m) o (f o // PB grammofon, homofil r) o (f o // PB profil - r) o (tt V // PB rotte + pr) o o // PB procent spr) o (g o // PB sprog - k) ors V:s // PB kors, korsage - c) o (rs V // PB corsage o (gK o - v) o (g V // PB vogn, vogte - s) o (g V // PB sogn t) o (i wa // PB toilet - o (k V // PB okker, lok + d) o (k o // PB dokument l) o (kA o // PB lokal - o (rk V // PB orke orkester k) o (kA o // PB kokasse, kokain - C) o (kNT 'V // PB beginning with 1 consonant followed by o and k: sok, nok, kok C) o (kT+ o // PB only for words in list file - s) o (l o // PB sol, soldat - s) o (lgt V // PB solgt - h) o (ld 'V - L06) o (ld V // PB bold - f) o (lk V // PB folk - d) o (llar V // PB dollar - only this word plus compounds like 'dollargrin' - o (m V // PB område + s) o (p o // PB sopran +// f) o + oregonpine VregVn||pajn // PB + +// PB stressed o in -nom - astronom, agronom + n) o (m 'o +// PB without stressed o in -nom + uden) o (m V + inden) o (m V +norden) o (m V + neden) o (m V + oven) o (m V +rundten) o (m V +sønden) o (m V + østen) o (m V + b) o (m o // PB bombe g) o (m V // PB fom, gommen, brudgom k) o (m V // PB kom, velkommen @@ -1182,44 +1495,104 @@ bombarde) ment m'AN // PB bombardement o (m_ V // PB om, ensom BØR TJEKKES MERE o (mm V // PB omme BØR TJEKKES MERE b) o (mu V // PB bomuld - ati) o (n 'o - o (nd o: // PB ond n) o (s V // PB nosse k) o (nf V // PB konfirmand, konfekt - o (pK 'V // PB added K - helikopter + o (pK 'V // PB added K - RULE STILL TOO BROAD _n) o (r o // PB nord, nordisk v) o (rA V: // PB vores rek) o (rd 'V: // PB exception - stressed o in 'rekord' ak) o (rd 'V: // PB exception - stressed o in 'akord' o (rden O // PB orden, torden - o (disk 'o: // PB stressed o - melodisk, periodisk L02) o (rt o //PB sort, stort - L02) o (rtA V // PB sortiment + L02) o (rtA V // PB sortiment, transportere supp) o (rt 'o@ // PB support -transp) o (rt 'V: // PB transport - o (s o: // PB hos +transp) o (rtK 'V: // PB transport + o (s o // PB hos, hospital + r) o (sk V // PB Roskilde o (sA o: // PB rose, skose, pose h) o (spice V // PB hospice o (st V // PB post l) o (t V // PB flot - _er) o (t 'o // PB erot - stressed o ou 'u // PB poussin, toupe + b) ourbon W:b@n // PB bourbon whisky ough Vf // PB tough, rough - only 2 words oun aVn // PB discount + kl) oge ow,@ nark) o (tik 'o // PB narkotika, narkotisk ul) o (v 'V // PB stressed o - ulovlig + h) o (ng V // PB Hongkong + godm) o (rgen 'O: // PB stressed o - godmorgen + k) o (mmu o // PB kommunisme + +.group on + +// PB stressed o in words ending with -ion/-on - around 750 $alt words in da_list +// Words from Latin, French and other languages + &) on (_T 'on //aktion + &) on (en_S2 @n // aktionen + &) on (ens_S3 @ns // aktionens + &) on (er_S2 V // aktioner + &) on (ers_S3 Vs // aktioners + &) on (erne_S4 Vn@ // aktionerne + &) on (ernes_S5 Vn@s // aktionernes + &) on (@ 'on // aktionsenhed +// PB exceptions to the -on rule (and other -on exception) + stadi) on Vn + k) on (g Vn + ond on + ond (e on + s) on (d Vn // sondere +leksik) on Vn + liban) on Vn // Libanon + h) on (du Vn // PN Honduras + arg) on Vn + dral) on Vn +triatl) on =Vn + duatl) on =Vn + embry) on Vn +dødvægtt) on Vn + redeb) on Vn + gall) on Vn + gibb) on Vn + kol) on Vn +kompagn) on VN +orl) on Vn +perl) on Vn +@sal) on VN +@tal) on VN + tefl) on Vn + t) on (_ Vn // ton, kiloton .group or - or (dn Vr // PB ordne - or (dre V: // PB ordre v) or 'o // PB alvor f) or V // PB derfor k) or (t V // PB kort -// PB no stress on 'for' 1.550 words. Some should have stress if 'for' means "front/fore" + m) orge V: // PB morgen + _) or V // PB orientere + +// PB when "ord" means 'word', the d isn't pronunced + ord (++ or // PB ord , forord +// PB Exceptions to the or rule + k) ord (el Vrd // PB kordel + hv) ord (an Vrd // PB hvordan + ord (en+ Vrd // PB orden, ordensmagt + ord (ne+ Vrd // PB ordne + ord (nin 'Vrd // PB ordning, forordning + ordre (+ Vrdr3 // PB ordre, ordrebog + _) ord (ret+ or // PB ordret + ord (retil+ Vrd // PB ordretilgang + ord (i+ Vrd // PB ordinær + ordonnans Vrdon'&ns // PB ordonnans + ordrup ordr0b // PB Ordrup - Danish town + ore o:V // PB more, store + orel or'&#l // PB morel + +// PB no stress on 'for' - 1.550 words. +//Some should have stress if 'for' means "front/fore" _f) or (@ %Vr -// exceptions for initial 'for' below - _f) or (a_ 'V // PB fora +// exceptions to initial 'for' below + _f) or (a_ 'V // PB fora (plur. of 'forum') _f) or (an_ 'V // PB foran _f) or (ankørende 'V // PB forankørende _f) or (annævnt'V // PB forannævnt @@ -1247,7 +1620,8 @@ transp) o (rt 'V: // PB transport _f) or (dæk_ 'V // PB fordæk _f) or (dæks 'V // PB fordæks _f) or (dækkene 'V // PB fordækkene - _f) or (e 'V: // PB foreberinge, foregribe + _f) ore 'V:@ // PB foreberinge, foregribe + _f) or (el or // PB forel _f) or (et_ 'o3 // PB foret _f) or (elske++ V // PB forelske _f) ore (ne+ V'e: // PB forene @@ -1255,7 +1629,7 @@ transp) o (rt 'V: // PB transport _f) orenkl (e V'enkl // PB forenkle _f) orenkl (ing V'enkl // PB forenkling _f) orensis (k o'ransis // PB forensisk - _f) oretag (som %V3'ta: // PB foretagsom + _f) oretag (som %V3't&: // PB foretagsom _f) orev (ige V'e:v // PB forevige _f) or (fader 'o // PB forfader _f) or (far 'o // PB forfar @@ -1346,6 +1720,7 @@ transp) o (rt 'V: // PB transport _f) or (nem_ 'Vr // PB fornem _f) or (omtale 'Vr // PB foromtale _f) or (ord 'Vr // PB forord + _f) or (ordn or // PB forordning _f) or (over 'Vr // PB forover _f) or (panthaver 'Vr // PB forpanthaver _f) or (parti 'Vr // PB forparti @@ -1435,15 +1810,16 @@ transp) o (rt 'V: // PB transport _f) or (tunge 'Vr // PB fortunge _f) or (tæppe 'Vr // PB fortæppe _f) or (ud 'or // PB ud, forud, forudsætte - _f) oruden (_ or'uD-n // PB ud, foruden - _f) or (valg 'Vr // PB ud, forvalg - _f) or (varm 'Vr // PB ud, forvarme, forvarmning - _f) or (vars 'Vr // PB ud, forvarsle, forvarsling - _f) or (vask_ 'Vr // PB ud, forvask - _f) or (vejen 'Vr // PB ud, forvejen - _f) or (værelse 'Vr // PB ud, forværelse - _f) or (åd 'Vr // PB ud, foråd - _f) or (år 'Vr // PB ud, forår + _f) oruden (_ or'uD-n // PB foruden + _f) or (valg 'Vr // PB orvalg + _f) or (varm 'Vr // PB forvarme, forvarmning + _f) or (vars 'Vr // PB orvarsle, forvarsling + _f) or (vask_ 'Vr // PB forvask + _f) or (vejen 'Vr // PB forvejen + _f) or (værelse 'Vr // PB forværelse + _f) or (åd 'Vr // PB foråd + _f) or (år 'Vr // PB forår + .group p @@ -1451,7 +1827,12 @@ transp) o (rt 'V: // PB transport pp p &) p b &) pp b - p (sy + &) p (_ p: // PB hjælp + p (sy + pipeline pajplajn // PB + pitchpine peTSpa:jn // pb + praline pRAlin'e // PB + punchline pVnSlajn // PB .group ph @@ -1472,40 +1853,71 @@ transp) o (rt 'V: // PB transport r R ge) rT // PB sanger suppo) r //PB support [s@p'@t] + rickshaw rekSV: // PB rickshaw + rickshawer rekSV:V // PB rickshawer r (K r // not followed by a vowel - e) r (_ // PB end of word: no r - lager [l&:V] - ve) r (+ r // PB over, overrasket + r (KT // PB for da_list words - frisører + e) r (_ r // PB end of word: no r - lager [l&:V] + hve) r r // PB hver + ove) r (+ r // PB over, overrasket + t) r (An r // PB trin, transport r (e_ // PB end of word before e: no r - r (e_T+ r + b) r r // bror + Cd) r (e_ dr // PB andre + Ad) r (e_ R // PB andre _se) r (_ r // PB ser he) r (_ r // PB her e) r (es 3 // PB jeres, deres bu) rd (eK rd &) rd (eNKK r + sa) rd (el rd // PB sardel ve) rd (eKK rd &) rd (e_ r + y) rd (e_ rd // PB myrde, byrde o) rd (el++ rd - o) rd (en++ d // PB exception - pronounce d in 'orden, ordentlig' + o) rd (en++ rd // PB exception - pronounce d in 'orden, ordentlig' o) rd (rin d -// A) r (eN // PB bære without r - A) r (eN_ // PB hellere + e) r (eN_ // PB hellere +// re (_ 3 // PB mere, gøre, køre, flere + t) re (_ r3 // PB venstre + æ) re :@ // PB ære, skæreolie + dia) re r'e // PB diare + diar) re r'e transpo) r (t //PB transport +// PB words ending with -ri in da_list have a stressed "i" +// The stress is kept in compounds where a word is added after the word. +// If a word is added before the word, it reverts to normal stress + &) ri (_T R'i // maleri + &) ri (et_S2 @D // maleriet + &) ri (er_S2 V // malerier + &) ri (erne_S4 Vn@ // malerierne + &) ri (ernes_S5 Vn@s // maleriernes + &) ri (ers_S3 Vs // maleriers + &) ri (@ R'i // malerifabrik ??? .group s s s - &) s (T_S1 s // PB/JD words ending with -ere in da_list + + &) s (S1 s // PB/JD words ending with -ere in da_list (all @s words) + græ) s s // PB keep s for æ rule + nervø) s s // PB keep the s for the ø rule s (p s s (C s s (A s s (ie s - s (ion S' // PB stress added + s (ion S s (j s sch S // PB changed from [s(ch] - casch al) s (ace 's // PB Alsace (French region) - s) s -kompromi) s + _) sion si:Vn // PB Sion, Sions kirke + shine sjajn@ // PB + saloon sal'u:n // PB + skyline skajlajn // PB + slimline slemlajn // PB + s) s +kompromi) s succe) s ' .group t @@ -1515,15 +1927,21 @@ kompromi) s s) t d // PB stor A) t (er d // PB Peter, efter, alter A) t (ere t // PB invitere + A) t (eri t // PB materiel + ve) t (er t // PB veteran teress tr@s // PB interessant L03) t t // PB garanteret - r) t d // PB kuffert - emen) t - poin) t + er) t d // PB kuffert + r) t (e t // PB abortering + r) t (i t // PP hertil + re) t (+ t // ret + re) tt (+ t // PB rette + emen) t + poin) t cemen) t t demen) t t // PB dement elemen) t t -glemen) t +glemen) t &) tN d // PB changed from [t] A) t (_ t: emen) t (al t @@ -1532,49 +1950,83 @@ glemen) t (al t lemen) t (er t i) t (et t // PB words with 'itet' - vulgaritet, perversitet th th - &) th d -simpel) th (en th +// &) th d // PB doesn't work with 'utæthed' +//simpel) th (en th i) t (i t // PB politi e) t (_ d // PB udvisket + le) t (+ t // PB let lek) t (i S + ak) t (ie S // PB aktie t (ie t - t (ion+ sj' + t (ion+ Sj +nødsitua) t (ion S // PB nødsituation - stress on first syllable t (iøs+ sj' -// &) tt t + tredivtedel tr&fd@del // PB + tredvtedel tr&fd@del // PB .group u u u: // PB u => u: - u couldn't be heard in 'umuligt' + +// PB remove u in order to make the -ig rule (group i) work with u + -ig list words +// e.g. u+erværdig [uErv'Erdi] will keep its stress on the next to last syllable. + _) u (@@+P1 u + + // PB most of the words with ud-: [D]- udpege + _) ud (@@+P2 uD +// exceptions for ud-: [d] + _) ud (elt+P2 ud // udelt + _) ud (at+P2 ud // udateret + _) ud (rikkelig+P2 ud + _) ud (røj+P2 ud + _) ud (uelig+P2 ud + _) ud (y+P2 ud // udyd, udygtig, udyr + _) ud (øbt+P2 ud + _) ud (ød+P2 ud // udødelig + _) ud (åd+P2 ud + u (CK u u (nK u + u (ng O // PB ung u (mK O u (nd O // PB underligt, undtage + h) u (nd u // PB hund ue (_ u: // PB due, vindue, statue d) ue (s u: // PB vinduesstørrelse - _C) u (nK O // PB k) u (nne o //PB kunne d) u (k o // PB duk l) u (n_ u // PB lun l) u (ne u // PB lune l) u (f O // PB luft + l) u (g O // OB lugt s) u (pport @ // PB support j) u (ice u: // PB juice br) u (gt O // PB brugt tr) u (L02 O // PB truffet - um) u (lig 'u // PB stressed u in 'umulig' + um) u (lig 'u: // PB stressed u in 'umulig' sn) u (L06 O // PB snup hond) u (ra 'u: // PB Honduras + patr) u (lj 'u // PB patrulje + h) u (l 0 // PB hul - noun + h) u (lt u // PB hult - adjective "et hult træ" + h) u (le u: // PB hule - adjective and noun + f) u (n+ 0 // PB funktion, karpunkel + f) u (p 0 // PB fup + p) u (k 0 // PB pukle + _r) u (b_ O // PB rub + _r) u (bbe O // PB rubbe, rubbet k) u (ffert O a) u (g u b) u (dget y b) u (reau y g) ui (de ai g) u (st O - l) u (k O? + g) ulv Ol // PB gulv + l) u (k 0 l) u (kas u - m) u (k O? + L09) u (k 0 // PB O? changed to 0 - smukkere + L09) u (f O // PB fornuft r) u u r) u (m O - r) u (nd O? r) u (s u s) u (cc y comp) u (ter ju @@ -1583,31 +2035,35 @@ simpel) th (en th men) u y proced) u (re y proven) u y + nat) u (rel y // PB naturel + s) u (rrel Y // PB surreel + s) u (rrea y // PB surrrealistisk resso) u (rs 'u - + res) u (rs 'u // PB resurse (ressource) .group v v v vv v o) v (A // PB love - handled by group o + L09o) v (A v // OV nova renovation pro) v (ence v // PB Provence in France A) v (K w + i) v (l u // PB tvivl a) v (l u a) v (n w: // PB [u] changed to [w:] navn, navnebroder le) v (et // PB blevet, levet la) v (A // PB no v - laver la) v (ement @ // PB lavement - ve (lse v3 // PB øvelse + ve (lse v3 // PB øvelse, stavelse, fornøjelse &A) v v &r) v v al) v (A v - el) v (C - el) v (A - el) v (e v + el) v (C + el) v (A il) v (A v ur) v v - hal) v - + hal) v + voliere vVli'E:r .group w @@ -1618,6 +2074,10 @@ proven) u y w (eltschmerz v // PB weltschmerz w (eltervægt v // PB weltervægt w (hist v // PB whist + w (aders v // PP waders + w (adi v // PB wadi + w (alis v // PP walisisk + w (assermannprøve v // PB wassermannprøve .group x @@ -1627,38 +2087,41 @@ proven) u y n) x s - - - - .group y y y r) y Y: r) y (s+ W: // PB ryste - r) y (gt W? // PB rygte + r) y (gt '@ // PB rygte + r) y (gg '@ // PB ryggen l) y (gt W? // PB lygte, flygte l) y (k W // PB ulykke sk) y (t 'W // PB beskytte + st) y (k W // PB stykke + s) y (n_ y // PB syn, fjernsyn + s) y (ne y // PB fjernsynet r) y (CK Y - r) y (k+ W? // PB ryk - //y (CK Y- // PB doesn' work with 'knyt' + r) y (k+ W // PB ryk n) y (t Y // PB nyt n) y (k W: // PB nyk kn) y (t W: // PB tilknytte + k) y (s W // PB kys, kysse + k) y (se y: // PB kyse y (nK W // PB changed from Y to W - synge, ynde l) y (n y // PB lyn + pl) y (n W // PB plyndre + fl) y (t W // PB flyt whisk) y i // PB whisky y (nd 'W // PB begynde - stressed best) y (r 'y // PB bestyre - stressed + y (onn j // PB bayonne, mayonnaise y (mK Y + k) y (mK W // PB bekymring d) y (_ i b) y (A y n) y (A y - - .group z z s @@ -1666,69 +2129,89 @@ proven) u y zz s .group æ + æ E - æ (CK E: + + æ (CK E æ (bK E // PB dræb, slæb - æ (bt ae? // PB dræbt - FIND A BETTER VOWEL - f) æ (re 'E: // PB affære, atmosfære, sfære - v) æ (bne 'E: // PB bevæbne - @) æ (r 'E // PB gevær, besvær - gr) æ (n a // PB grænse - l) æ E: + æ (bt &# // PB dræbt + kr) æ (f &# // PB kræfter + r) æ (L01 &# // PB changed from [Aj] - rænke skr) æ (dd a // PB skrædder br) æ (dd a // PB brædder - tr) æ ae // PB træt - r) æ E - r) æ (kk aj - r) æ (v e - r) æ (L01 Ae? // PB changed from [Aj] - afh) æ (ngig 'E: // PB stgressed e - r) æ (k Aj - t) æ (C E: - v) æ E: + pr) æ (s & // PB præst + tr) æ (t & // PB træt + gr) æ (n & // PB grænse + gr) æ (s & // PB græs + f) æ (re 'E: // PB affære, atmosfære, sfære + gev) æ (r 'E // PB gevær + besv) æ (r 'E // PB besvær + afh) æ (ngig 'E: // PB stressed e + t) æge E:j@ // PB tæge pr) æ (ge E: - tr) æ E - tr) æ (k 'aj - tr) æ (kA E - + ærg E:ru@ // PB sværge + ærg (err Erg // PB ærgerrig .group ø -// røveren [V] faldt på røven [V3] og skød [W] +// røveren [V] faldt på røven [W#] og skød [W] en møgkælling [v3] ø W - ø (d W: //PB øde + ø (de W: //PB øde + ø (dd W // PB fødder, rødder ff) ø (r 'W // PB stressed in 'chauffør' g) ø (r @: h) ø (j V - ø (je V3 // PB øje - ø (jn V3 // PB øjne - h) ø (r W: - //k) ø (r W: + ø (je W# // PB øje + ø (jn W# // PB øjne l) øg (n 'Vj - l) ø (s W: + l) ø (s W + @) ø (s 'W // PB nervøs, tendentiøs - stressed + l) ø (j W# L09) ø W: // PB m => L09 (m + n) - r) ø V3 // PB [W] => [V3] - r) ø (m W: // PB strømere + n) ø (d@ 'W: // PB nød- stressed - nødsituation + r) ø (+ @ // brød + r) ø (L09 W# // PB grøn, rømme, strømme + r) ø (mer W: // PB strømere s) ø_ W: - t) ø (r W - ø (r W - sp) ør (g W: // PB spørge - //r) ø (CK W: - r) ø (v V3 // PB røv - r) ø (ver V // PB røver + sp) ør (g W:r // PB spørge + r) ø (v W# // PB røv + r) ø (g W# // PB røg + pr) ø (v W // PB prøve + ø (re_ W: // PB køre + r) ø (ver W# // PB røver k) ø (d W // PB skød, kød _) øg (_ Wj // PB 'øg' noun and verb d) øg (n Vj øj+ V:j // PB changet from [Oj] velg) ø (renhed '@ // PB stressed ø + im) ø (dekom 'W: // PB imødekomme + +//PB (mostley French -eur) words ending with -ør - stressed ø - around 150 words + &) ø (r_T 'W:r // frisør, massør, Korsør + &) ø (ren_S2T 3n // frisøren + &) ø (rer_S2T V // frisører + &) ø (rerne_S4T Vn@ // frisørerne + &) ø (rernes_S5T Vn@s // frisørernes + &) ø (rers_S3T Vs // frisørers +// add another word to the -ør word and keep the -ør stress + &) ø (r@ 'W: // frisørsalon .group å å O: // PB changed from O:? - å (CK V + å (CK o: å (d+ O: // PB råd + s) å (d V // PB sådan å (r+ O + hvorn) år 'O? // PB hvornår - stressed h) å (r V // PB hår, hård + bl) å (@ V // PB blåbær, blågrø + h) å (nd V // PB hånd + L06) å (nd V // PB bånd l) å (r V s) å O // PB så + p) å (s V // PB påstand + p) å (ske O // PB påske + sl) å (s V // PB slås + L08r) å (t V // PB skråt .group $ dVlV // PB changed from [dVlar] @@ -1738,4 +2221,3 @@ proven) u y - diff --git a/dictsource/de_list b/dictsource/de_list index 800eb458..6619a90f 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -230,7 +230,7 @@ zu tsu: $u+ $brk zum tsUm $u+ $pause zur tsu:* $u+ $pause über ,yb3 $pause $strend -unter ,Unt3 $pause $strend +unter ,Unt3 $pause $strend $only um Um $u+ $brk //(um die) %Umd%i: $brk //(um den) %Umd%e:n $brk @@ -639,11 +639,11 @@ montag mo:ntA:k mors mO*s mumie $alt +nachdem naxd'e:m nebulos $3 negligent ne:gli:dZ'Ent numero $1 -oberen o:b@*@n oboe o:b'o:@ orgie $alt ok o:k'e: @@ -704,7 +704,7 @@ vielleicht $2 vorbei fo:*b'aI vorher fo:*h'e:* vorherig fo:*h'e:*Ig# -vorig fo:*Ig +vorig fo:*Ig# //wahrscheinlich $2 warum vA:*'Um diff --git a/dictsource/de_rules b/dictsource/de_rules index 14dfb84d..fc311f49 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -155,10 +155,9 @@ ungs) be (C@ b@ _) b (eHC b _) be (C% bE - _) bei (P3 b'aI - _) bei (de baI - _) bei (ne baI - _) bei (ß baI + _) bei b'aI + _) beige be:S + _) be (inhP2 b@ _) beo (b b,@o: _) ba (lA b%a @@ -186,6 +185,7 @@ baby _^_EN beten be:t@n _) bike _^_EN + _) bis (hP3 b%Is _) blue _^_EN board _^_EN _) boom _^_EN @@ -214,8 +214,9 @@ _) c (el S _) cey tsaI - chef SEf + chef (_ SEf _) c (ent ts + chara (kt k%a*a _) ch (ic S _) ch (if S _) ch (il S @@ -252,6 +253,9 @@ _) darunter (@P8 da*'Unt@* _) daten (@P5 d'at@n _) deal _^_EN + _) de (if de: + _) de (ikP2 d%e: + _) de (instaP2 d%e: _) deme de:mE demo (g de:mo: demo (k de:mo: @@ -328,7 +332,8 @@ @) er (r E* @) er (ti E* @) er (nC E* - @) er (_S2 3 + @) er (_NS2 3 + @) er (_ @* // +suffix &) ere (_S3 @*@ &) erem (_S4 @*@m &) eren (_S4 @*@n @@ -420,6 +425,8 @@ @) eur (_ 'Y:* euse (_ 'Y:z@ eusen (_ 'Y:z@n + schl) eu (s OY + h) eu (se++ OY .group f @@ -510,6 +517,9 @@ _) hinauf (P6 hIn'aUf _) hinaus (P6 hIn'aUs _) hinein (P6 hIn'aIn + _) hingegen hIng'e:g@n + _) hinüber (P7 hIn'y:b3 + _) hinum (P5 hIn'Um _) hinunter (P8 hIn'Unt3 _) hinweg (P6 hInv'e:g _) hinzu (P5 hInts'u: @@ -773,6 +783,7 @@ og (t_ o:k _) ober (@P4 _|,o:b3 + _) ober (eX o:b@* _) ober (ste o:b3 _) ob (jek %Op _) obst (reP4 'o:pst @@ -847,7 +858,8 @@ _) rh @-* rangier @-*A:NZ'i:* - _) re (d re: + _) re (d @-*e: + ressourc @-*Es'U*s .group s _) s (_ Es @@ -874,6 +886,7 @@ _ver) sp Sp sp (eich Sp sp (err Sp + sph sf sp (r Sp &C) st (_S2 st &C) ste (_S3 st@ @@ -1020,6 +1033,7 @@ _) unum (@P4 _|'Un_|Um _) under _^_EN _) unter (@P5 _|,Unt3 + _) unter (eX Unt@* rep) u (bl u: diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 24a9be86..b4bcc8d6 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -55,14 +55,14 @@ x z Dictionary da_dict -& 0 3 @ @- a A e -E i o O u V W y -Y +& &# 0 3 @ @- a A +e E i o O u V W +W# y Y -* - : ; ? b d D -dZ f g h j k l L +* - : ? b d D dZ +f g h j k l L l/2 l/3 m n N p r R s -S t tS v w z +S t T tS v w z Dictionary hu_dict @@ -153,14 +153,14 @@ s2 t v w Z Dictionary fr_dict @ @- @2 a A A~ e E -E2 E: E~ i i- i: o O -o2 O2 o3 O~ u u: W w^i -W~ y Y +E2 E: E~ i i- i: o o2 +o3 O~ u u: w w^i W~ y +Y : b d dZ f g h j k l m n N n2 n^ p p2 r r2 s S t t2 t3 -tS v w z Z z2 z3 +tS v z Z z2 z3 Dictionary grc_dict @@ -205,6 +205,7 @@ Dictionary ta_dict a a: aI aU e E e: i I i: o o: U u u: V +V# : ; b C d d. dZ f g h H j k l l. m diff --git a/dictsource/en_list b/dictsource/en_list index d5b5914b..497cea8c 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -595,7 +595,6 @@ arcade $2 arch A@tS arches A@tSI2z archimedes A@kIm'i:di:z -archive A@kaIv archway $1 arena a2ri:n@ argue A@gju: @@ -633,7 +632,6 @@ autograph O:t@graf auto O:toU autocracy O:t'0kr@sI automobile O:t@m@bi@l -autonomous O:t'0n@m@s autopsy O:t0psI avalanche av@laanS average av@-rI2dZ @@ -765,7 +763,6 @@ caviare kavIA@ cavort ka2v'O@t cedar si:d3 celebre sEl'Ebr@ -cello tSEloU censure sEnS3 ceres si@ri:z certificate s3tIfIk@t @@ -1239,6 +1236,7 @@ hideout haIdaUt hindu hIndu: hindus hIndu:z hiya haIa2 +hmmm h'@m hmpf h'@mpf holme hoUm holster hoUlst3 @@ -2621,6 +2619,7 @@ Emily EmI2lI Emma Em@ Emmy EmI Etheridge ET@-rIdZ +Etienne EtI'En Euler OIl3 Evan Ev@n Gary garI @@ -2965,10 +2964,12 @@ might ,maIt $verbf $strend2 $only have hav $pastf $only $u $strend2 haves havz (have been) %hav%bIn $pastf +(have not) ha2vn,0t $pastf has %ha2z $pastf $only has haz $only $atend (has been) %haz%bIn $pastf (has to) haztU $atend +(has not) ha2zn,0t $pastf has haz $allcaps hath %haT $pastf $only had %had $pastf $strend2 $only diff --git a/dictsource/en_rules b/dictsource/en_rules index d5f3916b..24c1ce6d 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -1,6 +1,6 @@ // *************************************************************************** -// * Copyright (C) 2005 to 2008 by Jonathan Duddington * +// * Copyright (C) 2005 to 2010 by Jonathan Duddington * // * email: jonsd@users.sourceforge.net * // * * // * This program is free software; you can redistribute it and/or modify * @@ -31,6 +31,7 @@ .L01 l r .L02 i y +.L03 a i o u // vowel, not 'e' .replace ff ff // ligature @@ -709,6 +710,7 @@ adv) an (c an _) an (cie eIn &l) an (d @n + &l) an (di an yl) an (d an usb) an (d @n @) an (Ca_ 'an @@ -854,8 +856,8 @@ _) archai A@k'eII _) arche (o A@kI _) arch (er A@tS - _) archi (CA A@kI - -) archiv (+ A@kaIv + _) archi A@kI + _) archiv (+ A@kaIv @) arch (y A@k @) arch (i A@k an) arch 3k @@ -1099,7 +1101,7 @@ authen %O:TEn _) auto (@P4 ,O:toU // prefix auto (ma O:t@ - auto (n %O:t0 + _) auto (n %O:t0 .group av av (ail a2v @@ -1254,6 +1256,7 @@ cious S=@s cch k c (elt k + c (ellL03_ tS' cial (_ S@L ?8 cial (_ Sa2l cial S@l @@ -1342,6 +1345,8 @@ ch (ure S .group co + _) co (ag k%oU + coa (les k%oUa2 _) co (eCP2 k,oU _) coe (l si: co (hab k%oU @@ -1489,7 +1494,7 @@ .group de de (act d%i: de (arc d%i: - debug di:bVg + debu (g di:b,V _) de (ba dI2 _) de (c@ dI2 deca (den dEk@ @@ -3147,6 +3152,7 @@ _C) ity (_ ItI _ed) it It cred) it It + CAt) it (_ 'i:t //apetite v) it (al aIt t) it (l aIt &) ity (_ =I2t%I @@ -3938,7 +3944,7 @@ ?5 w) or (se VR w) or (th 3: ?5 w) or (th VR - sw) or o@ + sw) or (d o@ &) or (ous 3r orough Vr@ ?3 orough VroU diff --git a/dictsource/fr_list b/dictsource/fr_list index 783632b8..43cd763e 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2010-03-05 Michel Such +// Updated 2010-04-01 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -93,7 +93,7 @@ _dot pwE~syskr'i _grv aksA~gr'av _hac kar'O~ _mcn makr'O~ -_ogo OgOn'Ek +_ogo ogon'Ek _rng rO~t2A~S'Ef _stk b'ar _tld t'ild @@ -102,47 +102,47 @@ _tld t'ild _cap maZysk'yl _?A l'Etr -_?? sE~b'Oll +_?? sE~b'oll _#9 tabylasiO~ _#32 E2spas _" gijmE2 _# djEz -_' apostr'Of +_' apostr'of _( 'uvr@-parA~t'Ez _) f'Erm parA~t'Ez _, virgyl _- tirE2 _. _|pw%E~ -_/ bar||o2blik +_/ bar||oblik _: d'Y||pw'E~ _; pwE~||virg'yl -_< E~feri-Wr +_< E~feri-Yr _= egal -_> syperi-Wr +_> syperi-Yr _? pwE~||dE~tE2rogasj'O~ _! pwE~||dEksklamasj'O~ _[ uvr@-_kroSE2 _\ b'aksl'aS _] f'Erm_kroS'E2 -_^ sirkOnflEks +_^ sirkO~flEks __ sulin^e _` aks'A~_gr'av -_{ uvr_akOlad +_{ uvr_akolad _| bar_vErtik'al -_} f'Erm_akOl'ad +_} f'Erm_akol'ad ² pw^is'A~s||d'Y _« uvre||gijm'E2 _» fErme||gijm'E2 -_’ apostr'Of -_‘ apostr'Of +_’ apostr'of +_‘ apostr'of _µ mikr'o _§ sEksj'O~ // symbols that are normally spoken when reading text -@ _!arobaz +@ _::arobaz % pursA~ $max3 & e $u $brk _& _e_komErsi-'al @@ -158,7 +158,7 @@ _& _e_komErsi-'al ÷ diviz'e_p'ar ¼ W~_k'ar ½ W~_d@m'i -¾ trua_k'ar +¾ trwa_k'ar © _^_EN ® mark||depoz'e @@ -168,42 +168,42 @@ _& _e_komErsi-'al _0 zero $u+ _1 W~ _2 dYz2 -_3 truaz2 +_3 trwaz2 _4 katr _5 sE~k _6 siz3 _7 sEt _8 _|w^it3 -_9 nWf +_9 nYf _10 diz3 _11 _|O~z _12 duz _13 trEz -_14 katOrz +_14 katorz _15 kE~z _16 sEz _17 dis:Et _18 dizw^it3 -_19 diznWf +_19 diznYf _20 vE~ _21 vE~te:W~ _22 vE~tdYz2 -_23 vE~t:truaz2 +_23 vE~t:trwaz2 _24 vE~tkatr _25 vE~tsE~k _26 vE~tsiz3 _27 vE~tsEt _28 vE~tw^it3 -_29 vE~tnWf +_29 vE~tnYf _3X trA~t _31 trA~te:W~ _4X karA~t _41 karA~te:W~ _5X sE~kA~t _51 sE~kA~te:W~ -_6X swAsA~t: -_61 swAsA~te:W~ -_71 swAsA~te:O~z +_6X swasA~t: +_61 swasA~te:W~ +_71 swasA~te:O~z _8X katr@vE~: _80 katr@vE~z2 _0C sA~ @@ -225,7 +225,7 @@ _dpt virgyl (31 ème) trA~te:yni-Em (41 ème) karA~te:yni-Em (51 ème) sE~kA~te:yni-Em -(61 ème) swAsA~te:yni-Em +(61 ème) swasA~te:yni-Em (81 ème) katr@vE~:yni-Em // ABBREVIATIONS @@ -251,7 +251,7 @@ cio $abbrev cm centimètre $text collins kolins cpu $abbrev -ctrl _::kO~tro2l +ctrl _::kO~trol dept depart@mA~ divx diviks ebay _^_en @@ -274,8 +274,8 @@ kde $abbrev kg kilogramme $text khz kiloErts km kilomètre $text -(km player) ka,EmplE2j'Wr -(kmplayer) ka,EmplE2j'Wr +(km player) ka,EmplE2j'Yr +(kmplayer) ka,EmplE2j'Yr kw kilowatt $text m. m@siY mbit megabit @@ -287,7 +287,7 @@ mm millimètre $text mme madame $text mn minyt mns minytz2 -(mp 3) _!Empetrua +(mp 3) _|Empetrwa mr m@siY nsi $abbrev nsis $abbrev @@ -301,7 +301,7 @@ pci $abbrev pcmcia $abbrev pda $abbrev philips filips -p.s pOstskriptOm +p.s postskriptom qq quelque $text qqs quelques $text ratp $abbrev @@ -333,7 +333,7 @@ xfce iksEfse@ xy $abbrev -dr dOktWr $dot $capital +dr doktYr $dot $capital prof $dot pr professeur $text *dot $capital @@ -366,7 +366,7 @@ avant $u+ après aprEz2 $u+ (temps en temps) tA~zA~tA~ ainsi $u+ -alors alOr $u+ +alors alor $u+ aussi $u+ encore $u+ depuis $u+ @@ -374,7 +374,7 @@ depuis $u+ certes $u+ dont dO~t2 $u -lorsque lOrsk=@ $u+ +lorsque lorsk=@ $u+ puisque pw^isk=@ $u+ presque prEsk=@ $u+ que $u+ @@ -408,6 +408,7 @@ te $u $verbf se $u $verbf moi $u+ toi $u+ +soi $u+ lui $u+ $verbf ça $u+ $verbf @@ -443,14 +444,14 @@ notre $u $nounf votre $u $nounf leur $u $nounf leur $u $verb $verbextend -(la leur) la||lWr $u+ $verbf -(le leur) l@||lWr $u+ $verbf +(la leur) la||lYr $u+ $verbf +(le leur) l@||lYr $u+ $verbf nos $u $nounf vos $u $nounf leurs $u+ $nounf leurs $u $verb $verbextend -(les leur) le||lWr $u+ $verbf -(les leurs) le||lWr $u+ $verbf +(les leur) le||lYr $u+ $verbf +(les leurs) le||lYr $u+ $verbf // prepositions de $u $nounf @@ -504,13 +505,13 @@ plus $u+ guère $u+ jamais $u+ non nO~ $u+ -oui $u+ +oui _|wi $u+ // questions quand kA~t2 $u+ quoi $u+ où $u+ -comme kO2m $u+ +comme kom $u+ comment $u+ pourquoi $u+ pourtant $u+ @@ -591,7 +592,7 @@ scient si coing kwE~ convent kO~vA~ dessous d@su -hareng _!arA~ +hareng _|arA~ pastis pastis poing pwE~ ressent r@s'A~t2 @@ -615,7 +616,6 @@ tunis tynis monsieur m@sjY messieurs mesjYz2 -montréal mO~real (n'est ce pas) n'Es||p'az2 (qu'est ce que) kEsk@ $u absent absA~ @@ -626,11 +626,12 @@ adsltv adeEs'El||tev'e agenda aZE~da airbus airbuss $text alan alan -albinos albinoss $text +albinos albinos alleluia alelui'a alterego altErego anis anis any Eni $u +armageddon armagedO~ auvent ovA~ beta beta bien bi-E~n2 @@ -639,75 +640,87 @@ bissus bisys blues _^_en broglie breuil $text browglie breuil $text -buffer bWfWr +buffer bYfYr bus bys bus by $verb cancer kA~sEr -canyon kanjO2n +canyon kanjon +charles Sarl (chef d'oeuvre) chédeuvre $text (chef d'oeuvres) chédeuvres $text -choeur kWr +choeur kYr +cinema sinema cocus koky couscous kuskus delete _^_en dernier dErnjer2 +doppler doplEr éloquent elokA~t2 enfer A~fEr faut fot2 $u+ fier fjer $verb -francis franciss $text +francis frA~sis fred frEd free fri: fuel fjul gangster gA~gstEr gars ga +georges ZorZ +gilles Zil gin dZin granit granitt $text -gulf gWlf +gulf gYlf gus gys gym Zim hélas elas $u+ +jacques Zak karaoke karaoke laser lazEr -listbox listbO2ks +listbox listboks +louis lwi malus malys mai mE2 mailto mEjltu_ mapper _^_en mars mars +mas mas +mat mat merguez mErgEz mieux mi-Y $u+ mrs _^_en ours urs pataquès patakEs -peter pi:tWr +peter pi:tYr phallus falys -polder pOldEr +polder poldEr premier pr@mjer2 program _^_en (program files) program||fajlz query kueri queries kueri +quid kwid $u+ quit _^_en -recorder ricordeur $text +recorder rikordYr requiem rekw^ijEm -revolver revOlvEr +revolver revolvEr +sas sas scan skan scanner skaner2 $verb -scanner skanWr $noun -scanners skanWr +scanner skanYr $noun +scanners skanYr shampoing SA~pwE~ sir _^_EN souris suri stocker stoker2 sus sys sus sy $verb -to _^_en +to tu $u+ tuttiquanti tutikw'anti vaut $u+ vaux $u+ vénus venys -vot vOt +vot vot +yves iv gens ZA~ @@ -715,7 +728,7 @@ mens mA~z2 sens sA~s sens sA~z2 $verb (sud est) sydEst -(nord est) nOrEst +(nord est) norEst // ut (t is said) août ut @@ -723,7 +736,7 @@ azimut azim'yt brut br'yt but by $verb but byt -cut kWt +cut kYt mazout mazut michael mikaEl out aut @@ -738,7 +751,7 @@ zut zyt // et (t is said) -exocet E2gzOsEt +exocet E2gzosEt fret fr'Et budget bydZE2 hamlet hamlEt @@ -746,19 +759,19 @@ knesset knesEt lazaret lazarE2 margaret margarEt net nEt -offset OfsEt +offset ofsEt set sEt soviet soviEt stewart sti:wart // urt (t is said) kurt kurt -yaourt _!i-aurt -yoghourt _!i-ogurt -yogourt _!i-ogurt +yaourt _|i-aurt +yoghourt _|i-ogurt +yogourt _|i-ogurt // ort (t said) -short SOrt +short Sort // art (t said) steward stiwart @@ -768,22 +781,22 @@ kart kart smart smart // irt -(sweat shirt) swEtSWrt -(sweat shirts) swEtSWrt -(tee shirt) t,i:S'Wrt -(tee shirts) t,i:S'Wrt -(t shirt) t,i:S'Wrt -(t shirts) t,i:S'Wrt +(sweat shirt) swEtSYrt +(sweat shirts) swEtSYrt +(tee shirt) t,i:S'Yrt +(tee shirts) t,i:S'Yrt +(t shirt) t,i:S'Yrt +(t shirts) t,i:S'Yrt // words from other languages about _^_en acer asEr and _^_en -amazon amaz'On +amazon amaz'on apple _^_en at at $u+ -(audible manager) od,ibl||manadZ'Wr +(audible manager) od,ibl||manadZ'Yr bin bin bit bit bluetooth blut'us @@ -794,24 +807,24 @@ edit _^_en emacs E2maks emacspeak E2makspi:k end _^_en -epson E2psOn +epson E2pson espeak @spi:k ethernet etErnEt exit egzit (file zilla) f,ajl||zij'a -from frO2m $u +from from $u get _^_en -google gug=Wl -gnome gnOm +google gug=Yl +gnome gnom gnu $abbrev -hamburger _!A~b@rgWr +hamburger _|A~b@rgYr help _^_en hot _^_en in in $u+ inside _^_en internet E~tErn'Et -(internet explorer) E~tErn'Et||E2ksplOr'Wr -klaxon klaksOn +(internet explorer) E~tErn'Et||E2ksplor'Yr +klaxon klakson let _^_en lite _^_en login _^_en @@ -819,14 +832,14 @@ logon _^_en (mac os x) makoEsiks made _^_en media medja -messenger mE2sEnZWr +messenger mE2sEnZYr my maj $u+ nat nat not _^_en null _^_en ok oke $u+ -open op'Wn -(open source) op,Wn||s'urs +open op'Yn +(open source) op,Yn||s'urs outlook autlu:k paint _^_en paper _^_en @@ -848,8 +861,8 @@ constations kO~statjO~z2 contentions kO~tA~tjO~z2 dations datjO~z2 désertions dezErtjO~z2 $verb -exploitions EksplwAtjO~z2 -heurtions hWrtjO~z2 +exploitions EksplwatjO~z2 +heurtions hYrtjO~z2 partions partjO~z2 rations ratjO~z2 $verb tentions tA~tjO~z2 @@ -871,35 +884,38 @@ bayeux bajY bélarus belarys belize beliz bissau bisa'o -(burkina faso) byrkina||faso +(burkina faso) burkina||faso burundi burundi calvados calvadoss $text christmas krismas croatie kroasi esperanto E2sperA~to groenland groEnlA~d -guatemala gwAtemala -honduras _!O~dyras +guatemala gwatemala +hindi _|indi +honduras _|O~dyras kenya kenja -laos laO2s +laos laos lesotho lezoto -liechtenstein liStEnStajn -malawi malaui -mayotte majO2t +liechtenstein liStYnStajn +malawi malawi +mayotte majot +montréal mO~real +montserrat mO~sera nevis nevis niger niZEr oman oman -palaos palaO2s +palaos palaos samoa samoa -swaziland swAzilA~d -leone leO2n +swaziland swazilA~d +leone leon koweït kowEjt -taïwan tajwAn +taïwan tajwan texas tE2ks'as tuvalu tuvalu vanuatu vanuatu venezuela venezyela (viêt nam) vi-Etnam -wallis wAlis +wallis walis futuna futuna zimbabwe zimbabwe diff --git a/dictsource/fr_rules b/dictsource/fr_rules index d03fe8c0..21382cab 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2010-03-08 Michel Such +// Updated: 2010-04-01 Michel Such // // Letter classes: @@ -32,6 +32,11 @@ // Y front vowels: e i y é ê è î // K not a vowel (i.e. consonant, space, ) +.replace +œ oe +î i + + .L01 d e l n r t u .L02 b c d f g h k p t v .L03 d l m n s t v @@ -44,7 +49,6 @@ ae (_ e // reggae vitae aen A~ // caen (diff Cicero: aA~) ae ae // maestro - aî E // maître aim (K W~ // faim ain (K E~ // pain Ct) ain (_ E~n2 // certain ami @@ -95,20 +99,17 @@ août (i aus // aoûtien aut (_ ot2 a (ô // saune - au o // autruche - au (l_ O // Paul - au (re O // dinosaure - au (r_ O - _) audio (@P5 odio - _) auto (@P4 oto - _) autom (n otO - _) au (treX o2 + au o2 // au, aux + au (l_ o // Paul + au (re_ o // dinosaure + _) audio (@P5 o2dio + _) auto (@P4 o2to + _) autom (n o2to bb) aye (X ei // abbaye ay (C E // aymé ay Ej // paye ay (_ E2 // display - p) a (ys E2 // pays paysage - Xl) ayer (X E2jWr // player, layer + Xl) ayer (X E2jYr // player, layer w) an (_ an a a // bateau @@ -128,7 +129,7 @@ bird _^_en // bird board _^_en // board, keyboard box (_ _^_en // box, inbox, outbox - bug (g _^_en // debugger + bugg _^_en // debugger _) by _^_en // by, bye, bypass @@ -156,7 +157,7 @@ _) ch (oro S te) ch (_ k ch (r k // chrétien - _) chrono (@P6 kro2no + _) chrono (@P6 krono ch (l k ch (n k ch (s k @@ -208,7 +209,7 @@ _) ç' (P2v s _gran) d (_ t2 // grand ami, grand marchand Cen) d (_ t2 - Con) d (_ t2 + Con) d (_ quen) d (_ t2 r) d (_ _har) d (_ d @@ -219,7 +220,6 @@ _) ç' (P2v s dt (_ t // Schmidt _ni) d (_ // nid - _noeu) d (_ // noeud d d // don bled _expé) dien (t_ djA~ // expédient V_expé) dien (t_ di // expédient @@ -243,7 +243,7 @@ _) ç' (P2v s C) e (- e (Ce_ E - eau o // bateau cheveaux + eau o // bateau g) ea (s_ a // mangeas cap) e (la_ e gh) e (tAX e // spagheti @@ -254,18 +254,18 @@ _) ç' (P2v s _art) e (++ e // arte, artefact _cl) ef (_ e // clef _cr) e (at e - _) ein (K En // peindre + _) ein (K En // Einstein ein (K E~ // peindre pl) ein (_ E~n2 // plein emploi e (il E // vieille ei E // neige - eoi ua // asseoir + eoi wa // asseoir ell El // selle el (K El // celsius, caramel _f) em (me a // femme i) e (mA // remerciement, d�ploiement A) e (rA // remerciera - tch) e (rX W + tch) e (rX Y @) em (me a // patiemment em (b A~ // décembre em (mACC A~ // emmancher @@ -357,6 +357,8 @@ _) en (A A~n // enivrer Atim) en (t_ A~ // bâtiment _cim) en (t_ A~ // ciment _pim) en (t_ A~ // piment + gm) en (t_ A~ // fragment + Asim) en (t_ A~ // quasiment ertin) en (t_ A~ // pertinent, impertinent ontin) en (t_ A~ // continent, incontinent @@ -419,6 +421,7 @@ _) en (A A~n // enivrer AA) en (_ E~ C) en (_ En // amen, abdomen, golden + C) en (to_ En // memento nc) ens (_ A~ // encens xam) en (_ E~ // examen @@ -439,9 +442,9 @@ _) en (A A~n // enivrer _cutt) er (X Er // cutter tain) er (X Er // container _ti) er (_ Er - ack) er (K Wr + ack) er (K Yr ock) er (K Er - rock) er (K Wr + rock) er (K Yr er (_ e // parler léger er (s_ e @@ -479,13 +482,6 @@ _) en (A A~n // enivrer eu Y // eu _) eu (ss y // eu - eu (C W - eu (h_ Y - eu (x_ Y - eu (i W - eu (rC W - _l) eu (r_ W - _) eut (_ yt2 eut (_ Yt2 _) extra (uP5 E2kstra @@ -500,7 +496,7 @@ _) en (A A~n // enivrer ez (_ ez2 // nez mangez chez g) e (A // mangeons - g) eu W // vengeur + g) eu Y // vengeur g) eu (re y // gageure _d) e (ch @ @@ -533,6 +529,8 @@ _qu) e (CA @ @L06gu) e (CA @ @L06qu) e (CA @ @C) e (CA +@C) e (li @ +@ch) e (li @ @C) er (A r @C) e (rion++ @ @C) e (riez++ @ @@ -561,9 +559,9 @@ L06ch) e (CA @ _) e (CA e _) e (xC++ E2 Cr) eam i:m - Cr) eamer i:mWr - Cl) eaner i:nWr - vert) e (rX W + Cr) eamer i:mYr + Cl) eaner i:nYr + vert) e (rX Y eïn (_ 'Ein _y) en (_ En iew) er (X er2 @@ -650,7 +648,7 @@ dia) g (no g vin) gt (_neuvi t gt (_ // vingt doigts -vin) gt (A t // vingtaine doigté +An) gt (A t // vingtaine doigté gu (i g // anguille ai) gui (l gw^i // aiguillage @@ -672,7 +670,7 @@ vin) gt (A t // vingtaine doigté .group h -_) h _! +_) h _| Ca) h (_ h _) h (abi // habit, habilleur _) h (allo // hallogène @@ -707,7 +705,7 @@ _) h (orr // horreur _) h (ôt // hôtel _) h (uil // huile _) h (uiss // huissier -_) h (uî // huître +_) h (uitr // huître _) h (uma // humain _) h (umb // humble _) h (umi // humide @@ -795,7 +793,7 @@ C) i (es_ i bor) is (_ is dor) is (_ is tor) is (_ is - fl) irt Wrt + fl) irt Yrt otl) i (neX aj onl) i (ne_ aj offl) i (ne_ aj @@ -816,11 +814,6 @@ C) i (es_ i ram_f) i (le _^_en -.group î - î i // abîme - în (i in // vînimes - - .group ï ïn (C E~ // coïncider ïn (_ E~ @@ -861,7 +854,7 @@ C) i (es_ i uCi) l (_ // outil, fusil nti) l (_ // gentil ui) ll j // juillet - _) lorsqu' (P7 lO2rsk + _) lorsqu' (P7 lorsk // group l: English section less (_ _^_en // noiseless @@ -876,7 +869,7 @@ C) i (es_ i _) m' (P2v m _) mc (@P2 mak _) ms (P2 EmEs - master (_S6 mastWr + master (_S6 mastYr // group m: English section _) mail (_ _^_en // mailer @@ -898,84 +891,51 @@ C) i (es_ i .group o br) oc (_ o // broc cr) oc (_ o // escroc - o (ckK O2 - o (CerA O2 - n) od (_ o // Pernod - _) o (ff O2 - o (lC O2 - o (ll O - o (C% O - o (C%eCA O2 - om (merA O2 - _) on (l O2n - on (n O - ls) on (_ O2n - Cst) on (_ O2n - on (nerA O2 - o (rC O2 - _) os (_ Os + on (n o + ls) on (_ on + Cst) on (_ on + _) os (_ os _v) os (gY o2 - o (sC O2 - o (ss O - o (sseCA O2 s_) os (_ o x_) os (_ o - C) o (se_ o2 - C) o (ses_ o2 - o (tC O2 - o (Che@ O2 - o (Cement_ O2 o (t_ o - o (tre_ O2 - _) o (bCC o2 - _) o (bCe o2 - X) o (Co@ o2 - o (Cau o2 - o (Ceau o2 - o (Co_ o2 - o (Cos_ o2 - C) o (d_ O2 - oe (ll ua // moelleux - oe (i W // oeil + oe (ll wa // moelleux + oe (i Y // oeil _) oe (C Y // oesophage _ph) oe (C e // phoetus - oeu W // soeur coeur - oeufs @ // oeufs boeufs + _ph) oe (n_ Y // phoen + oeu Y // voeu + oeud Y // noeud + oeufs (_ Y // oeufs boeufs + oeu (x Yz2 // voeux coeur o (eC o // coefficient - _l) o (gi o2 - _p) o (ten o2 - _L02r) o (L02C O - _L02r) o (t_ o - _C) o (teri O2 _) oi (gnon o // oignons oin (C wE~ oin (_ wE~ // coin - _) oi ua // oiseau - oi ua // poil - oê (l ua // poêle - oî ua // boîte + oi wa // poil + oê (l wa // poêle om (C O~ // bombe - om (m O // nommer - om (ni O2m // omnibus + om (m o // nommer + om (ni om // omnibus n) om (X O~ // nom - om (_ Om // www.web.com - s) om (n O2m + om (_ om // www.web.com + s) om (n om on (K O~ // mon on (t_ O~t2 // mont vont sont _m) ont (pAC O~ // Montpellier _m) ont (rAal O~ // Montreal onsh (A O~z // bonshommes - onh (A On // bonhomme - _) on (z _!O~ // onze, onzi�me + onh (A on // bonhomme + _) on (z _|O~ // onze, onzi�me _c) on (_ O~ // no comment _C) on (_ O~n2 // mon appui, mon histoire, mon havre - alc) oo (l O // alcool + alc) oo (l o // alcool z) oo o // zoo - z) oo (C o2o // zoologue + z) oo (C oo // zoologue z) oo (m u // zoom _gal) op (_ o // galop @@ -986,18 +946,22 @@ C) i (es_ i ou u // hibou brouillard + ou (A w +r) ou (A u + ou (iA u + ou (il u +_) ou (at _|u // ouate où u // où oû u // coûter - oyes (_ ua // troyes - oy (A uaj // noyer voyelles + oy (A waj // noyer voyelles _b) oy (co oi- // boycott _c) oy (o oi // coyote _y) o (y o - oy ua // roy + oy wa o (_ o // zorro allégro o (z_ o // berlioz - o O - _sC) ot O2t + o o + _sC) ot ot // group o: English section @@ -1007,8 +971,8 @@ _c) oy (o oi // coyote old (er_ _^_en // folder, older C) oing (_ _^_en // going oo (Ce _^_en // boomer + oo (k _^_en // book, cook oo (X _^_en // pool - ook _^_en // book, cook C) oot _^_en // bootable football _) one _^_en oun (C _^_en // bounce, found @@ -1019,19 +983,20 @@ C) oing (_ _^_en // going .group ô - ôt (_ o // rôt - ô o // cône + ôt (_ o2 // rôt + ô o2 // cône .group p p p // pas _) para (pCP4 para - _) photo (@P5 fo2to + _) photo (@P5 foto _) poly (@P4 poli - _) post (KP4 pO2st - _) post (ACCP4 pO2st + _) post (KP4 post + _) post (ACCP4 post _) pseudo (@P6 psYdo p (p // appliquer + pays pE2iz2 // pays, paysage ph f // phrase m) ps (_ // temps champs @@ -1066,6 +1031,8 @@ C) oing (_ _^_en // going q k // coq _) qu' (AP3 k _) qua (d kwA // quadrature + _) qua (tA kwA // quaternaire + _) quan (tA kwA~ // quantique _) qua (drill ka // quadriller _a) qua kwA // aquarium _a) qu (if ku // aquifère @@ -1089,6 +1056,7 @@ C) oing (_ _^_en // going cou) rr rr // courrai mou) rr rr // mourrai cou) rr (i r // courrier +cou) rr (o r // courroie r r // rien rr r _) radio (@P5 radio @@ -1315,27 +1283,28 @@ VCi) t (_ t2 u y // cruel nuage brut ui w^i // nuit, fuite uin (K yE~ // juin - _s) u (rfX W - _s) u (rfeX W + _s) u (rfX Y + _bl) u (ff Y + _s) u (rfeX Y uy (A w^ij C) ucci utSi // capuccino - c) ueill Wj // cueillir - c) ueil (_ Wj // recueil - _g) ua ua - ag) ua (_ ua - Ctig) ua (_ ua + c) ueill Yj // cueillir + c) ueil (_ Yj // recueil + _g) ua wa + ag) ua (_ wa + Ctig) ua (_ wa _c) ul (_ y _) ultra (P5 yltra g) u (ay u - g) ueill Wj // orgueilleux - g) ueil (_ Wj // orgueil + g) ueill Yj // orgueilleux + g) ueil (_ Yj // orgueil - C) u (bX W // hub, club - C) u (gX W // bug, mug - _n) u (rse W // nurse - r) u (nX W // run, autorun - um (_ Om // album + C) u (bX Y // hub, club + C) u (gX Y // bug, mug + _n) u (rse Y // nurse + r) u (nX Y // run, autorun + um (_ om // album f) um (_ W~ // parfum um (b W~ // humble um (p W~ @@ -1350,7 +1319,7 @@ VCi) t (_ t2 g) u (A // fatigue g) u (ï y // ambiguïté g) u (ë y // ambiguë - uz (z W + uz (z Y // group u: English section _b) usi _^_en // business, businessman @@ -1370,15 +1339,15 @@ VCi) t (_ t2 .group ü ü y üs (_ ys - üm (_ Om + üm (_ om ül (_ yll .group v v v vers (_ vErz2 -dri) ver (X vWr - _) view (X vju +dri) ver (X vYr + view (X vju _) view (A vjuv // group v: English section @@ -1389,8 +1358,8 @@ dri) ver (X vWr .group w w w +_) w (A _|w w (agon v // wagon -_r) w (an u // Rwanda wa (ve_ wE:j // wave wa (re_ wE: // hardware software @@ -1410,7 +1379,7 @@ _r) w (an u // Rwanda xx ks _) x (A gz // xylophone _) x (CP1 iks // xylophone - xml (_S3 _!iksEmEl + xml (_S3 _|iksEmEl e) x (A gz // exagérer exemple L03e) x (A ks // annexe, vexer _ine) x (A gz @@ -1448,7 +1417,6 @@ _r) w (an u // Rwanda ym (_ E~ // thym y (nn i y (nA i - pa) ys (_ i X) ys (_ is yx (_ iks @@ -1457,10 +1425,9 @@ _r) w (an u // Rwanda .group z z z - zz dz t) z s // tzigane - C) zer (_ zEr - C) zer (_ zWr + t) zer (_ zEr + C) zer (_ zYr .group @@ -1471,16 +1438,16 @@ _r) w (an u // Rwanda é e // été ê E // fête ñ Ni // niño - ö O // angström - œ W - œu W: // sœur + ö o // angström + œ Y + œu Y: // sœur û y: // fûtes ü y // bülcher // symbols that are normally spoken when reading text , (D pilk:u - $ do2lar + $ dolar ° d@gre _n_) ° // n° diff --git a/dictsource/hu_list b/dictsource/hu_list index 92709e08..aa43a3cc 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -112,7 +112,7 @@ _30q hAR2_mintsAdikA _#-a A $alt2 _#-i Ei $alt2 -_#-e E $alt2 +_#-e E _#-án a:n //Need remove the $alt2 tag with this line, because some //time with the book the sentences beginning with this form, and need //spokening ordinal number alwais. For example: In 20th, the rain is raining. @@ -143,6 +143,8 @@ _#-ét e:t $alt2 _#-át a:t $alt2 _#-ének e:nEk _#-ának a:nAk +_#-vel e:vEl $alt2 +_#-val a:vAl $alt2 (1-e) elseje $text $alt2 (1-én) elsején $text $alt2 @@ -166,6 +168,7 @@ _#-ának a:nAk (1-jétől) elsejétől $text $alt2 (1-jéig) elsejéig $text $alt2 (1-ének) elsejének $text $alt2 +(1-vel) elsejével $text $alt2 (2-i) másodikai $text $alt2 (2-ig) másodikáig $text $alt2 (3-i) hAR2_mAdikAi $alt2 @@ -203,18 +206,32 @@ _#-ának a:nAk (00-s) nul:Anul:a:S (0-át) nul:a:t (0-ától) nul:a:to:l +(0-at) nul:a:t +(0-an) nul:a:n +(0-ában) nul:a:bAn +(0-ába) nul:a:bA (1-gyet) EJ:Et (1-gyes) EJ:ES (2-őt) kEt:Y:t - +(2-őn) kEt:Y:n +(2-n) kEt:Y:n +(2-m) kEt:Y:m // entries with a single digit such as (2-i) also apply to 22, 32, etc, unless $only (30-cal) hAR2mints:Al (3-al) ha:R2om:Al - +(3-on) ha:R2mon +(3-adik) hAR2mAdik //special exception +(3-adikat) hAR2mAdikAt //special exception +(3-adikon) hAR2mAdikon //special exception +(3-adikkal) hAR2mAdik:Al //special exception //4 number suffixes (4-el) ne:J:El //Nneed J: phoneme, not J phoneme contains one suffix) (4-gyel) ne:J:El //Need J: phoneme, not J phoneme (4-t) ne:JEt //special number suffix exception +(4-edik) nEJEdik //special exception +(4-ediket) nEJEdikEt //special exception +(4-ediken) nEJEdikEn //special exception +(4-edikkel) nEJEdik:El //special exception (5-tel) Yt:El (5-el) Yt:El (5-től) Yt:Y:l @@ -938,6 +955,13 @@ brit $unstressend természetes $u $1 front $unstressend szerezni $unstressend +képekben $alt3 +vélte $unstressend +vélték $unstressend +lép $unstressend +pénzt $unstressend +pénz $unstressend +nép $unstressend // word pairs @@ -951,7 +975,9 @@ szerezni $unstressend vagyok $u // to be, present vagy $u -van $unstressend +van $unstressend $alt3 +percről $alt3 +percre $alt3 vagyunk $unstressend vagytok $unstressend vannak $unstressend @@ -965,7 +991,7 @@ voltak $u leszek $u // to be, future leszel $u -lesz $u +lesz $u $alt3 leszünk $u lesztek $u lesznek $u @@ -1122,6 +1148,7 @@ _″ duplA|ApostR2o:f ∞ vEgtElEn ≠ nEmEJEnlY: _ˇ lEfEle:n^i:l +_¡ AlSo:indEks // Main Exceptions List //===================== diff --git a/dictsource/hu_rules b/dictsource/hu_rules index b9efe015..288040c1 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -37,6 +37,7 @@ tö) bb (nyire b tö) bb (nek b tová) bb (ra b + tö) bb (soro b .group c c ts @@ -70,7 +71,7 @@ kavi) cs (zátony tS har) c (cselek ts külön) c (sé ts -mala) c (sül ts + mala) c (sül ts .group ch @@ -165,10 +166,14 @@ menetren) dsz (erű d|s ötö) dsz (ör ts: ezre) d (szin d ha) d (szin d -hor) d (szí d -ezre) d (szá d -kó) d (sor d -máso) d (szin d + hor) d (szí d + ezre) d (szá d + kó) d (sor d + máso) d (szin d + ha) d (segéd d + föl) d (szerzé d + twee) dz (ak d|z + twee) dsz (ok d|s .group dz @@ -211,7 +216,6 @@ ringató) dz z 000_-) el (_ REl // double R for 1000-el 000000_-) el (_ El // ... but not 1000000-el - _) ehhez EhEz _) egyezség EJ:ESSe:g @@ -270,7 +274,7 @@ ritkasá) g (gyűjt g é) gh (ajla kh se) gg (fe g se) gg (be g -pro) g (gyak g + pro) g (gyak g .group gy gy J @@ -336,9 +340,9 @@ tizene) gy (edik J: e) gy (aránt J: e) gy (enrang J: e) gy (előre J: -e) gy (enként J: -félmege) gy (ez J: - + e) gy (enként J: +félmege) gy (ez J: + _e) gy (el J: .group h h h @@ -362,7 +366,7 @@ félmege) gy (ez J: sz) í (vatás i v) í (zére i sz) í (ve i - + t) í (zes i .group j @@ -373,7 +377,6 @@ félmege) gy (ez J: _) javíts jAvi:tS: _) javítsd jAvi:tSd - .group k k k kk k: @@ -389,7 +392,7 @@ félmege) gy (ez J: kossutht koSu:t: készségg ke:SSe:g: _a) kk (reditál k - _) köztük kYstyk + _) közt kYst .group l l l @@ -436,8 +439,8 @@ keresztü) l (j l me) ll (kas l inte) ll (ige l e) ll (ipsz l -_) e) lj (ár lj - + _) e) lj (ár lj + ha) ll (ga l .group m @@ -501,7 +504,9 @@ tulajdo) n (jog n egye) n (jogú n beto) n (járda n verse) ny (jog n^ -irá) ny (jel n^ + irá) ny (jel n^ + ö) n (jelöl n +teljesítmé) ny (javu n^ .group o o o @@ -741,7 +746,7 @@ gyalogo) ssz Ss rádió) ssz (ob Ss jelzé) ssz (erű Ss kitöré) ssz (erű Ss -hatá) ssz (üne Ss + hatá) ssz (üne Ss .group sz sz s @@ -771,6 +776,8 @@ kenyere) szs (ák SZ tava) sz (ára s rongyo) szs (ák SZ para) sztsz (ek st|s + rava) sz (ára s + .group t @@ -853,13 +860,11 @@ művele) t (sor t szige) t (sor t folyama) t (jel t hi) t (sze t - hi) t (szó t korlá) tj (ára c: t (jel t //need this general rule when any not added word contains the tjel part kür) t t kür) tj c kür) t (jel t - kür) t (szó t küldö) ttj c: o) tt t: szen) t (szék t @@ -942,7 +947,16 @@ terüle) t (cél t néme) t (juhá t pó) t (je t halo) tt (ba t -éle) t (jel t + éle) t (jel t + nemze) t (straté t + gá) tj (ár c: + pár) t (sajtó t +hangula) t (jel t +állapo) t (jel t +vizsgála) t (soroza t + á) tjátsz tja:ts: + á) tjátssz tja:ts: + .group ts ts (_S2 tS //general rule with word end of ts letters @@ -1021,6 +1035,8 @@ indula) tsz (ó t|s hű) ts tS: huncu) ts (ág tS: segi) ts (é tS: + kür) tsz (ó t|s + hi) tsz (ó t|s .group u u u @@ -1139,7 +1155,7 @@ találko) z (t s zsz z|s //general exception. Need difference first z and second sz phoneme. For example, rajzszög, rajzszeg, mézszín words. pén) z (t s rende) z (ked s - kocká) z (ta s + kocká) z (ta s hibá) z (tat s különbö) z (tet s válto) z (tat s @@ -1157,11 +1173,32 @@ tájéko) z (tass s búcsú) z (ko s nyújtó) z (ko s ő) z (sörét z -szedelő) z (kö s -alkalma) z (ko s -egye) z (ke s -egye) z (te s - +szedelő) z (kö s +alkalma) z (ko s + egye) z (ke s + egye) z (te s + há) z (tartás s + dolgo) z (t s + öltö) z (te s + inté) z (t s + ke) z (dt s + dobo) z (t s +határo) z (t s + öltö) z (kö s + oko) z (t s + ví) zsz (intes s: +szemkö) z (t s + ví) z (szint s +vonatko) z (ta s +idegkö) z (pon s +tisztá) z (t s +csatlako) z (ta s + üldö) z (t s +hiányo) z (t s + kobo) z (t s +foglalko) z (t s +tanulmányo) z (t s +magyará) z (t s .group diff --git a/dictsource/is_rules b/dictsource/is_rules index f7bd4fd5..c572d0ab 100644 --- a/dictsource/is_rules +++ b/dictsource/is_rules @@ -56,7 +56,7 @@ e (CC E e (ng eI e (nk eI - egi eI:jI + egi eI:jI ei eI: ey eI: ei (FH eI: diff --git a/dictsource/ta_list b/dictsource/ta_list index 6fc588dc..dca461c1 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -270,7 +270,7 @@ tamil தமிழ் $text // initial ட டார்ச் t.a:rtS - +டிவி t.ivi // initial ச as [tS] சீ $alt @@ -334,3 +334,5 @@ tamil தமிழ் $text தாங்ஸ் Ta:Nks // thanks டிபுடி d.EpjUt.i // deputy டிபன் t.ifVn +ஆகா a:Ha: +ஓகோ o:Ho: diff --git a/dictsource/ta_rules b/dictsource/ta_rules index eec71be3..71a38447 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -60,12 +60,16 @@ _) க (ங்கை gV _) க (டப்பாரை gV _) க (டிகார gV + _) க (டோத்கஜ gV _) க (ணபதி gV _) க (ணீர gV _) க (ணே gV _) க (ண்டங் gV _) க (திகலங் gV + _) க (திதா gV + _) க (திய gV _) க (தியில் gV + _) க (தியை gV _) க (ந்தர்வ gV _) க (னத் gV _) க (னம gV @@ -93,6 +97,7 @@ _) க (ிடுகிடு g _) க (ிரிஜா g _) க (ிரிதர g + _) க (ீதல k _) க (ுகன g _) க (ுகை g _) க (ுஜராத g @@ -101,6 +106,7 @@ _) க (ுணத் g _) க (ுணப்பட g _) க (ுணம g + _) க (ுணாதிசய g _) க (ுண்டடி g _) க (ுண்டன g _) க (ுண்டம்மா g @@ -121,19 +127,23 @@ _) க (ும்மிடிப்பூண் g _) க (ும்மிருட்ட g _) க (ுருக்கள g + _) க (ுருதேவ g _) க (ுருநா g _) க (ுருரா g _) க (ுருவா g _) க (ுருவாய g _) க (ுருவிட g _) க (ுருவின g + _) க (ுருவு g _) க (ுருவுடை g _) க (ுருவோட g _) க (ூடலூர g _) க (ெட்டி g + _) க (ேலி g _) க (ோகுல g _) க (ோதாவரி g _) க (ோதுமை g + _) க (ோத் g _) க (ோந்து g _) க (ோபப் k கோப (ால go:p @@ -155,7 +165,6 @@ _) க (ௌ g _) கௌட (ில்ய kaUt. _) க (ௌட்டில்ய k - வி) க்ட (ோரியா kt. // victoria //endsort //sort @@ -170,30 +179,38 @@ சுதா) க (ரிட kV சுதா) க (ரின kV சுதா) க (ர்_ kV + கல) க (ல kV க (வி kV + ம) க (ா H + தொல்) க (ாப்பி k கோயில்) க (ாளை k _கல்) க (ி k + மோ) க (ினி H + _) கி (ரக g + _) கி (ரகண g + கி (ரண g + _) கி (ரஹ g + _) கி (ராக்கி g + _) கி (ராம g + _) கி (ரீட k ங்) க (ிரு g + கிரு (ஷ் kri + நற்) க (ுண g க (ுமார k + _) கு (ரோத k க (ுல k _) குல்க (ந்த gulkV - ம) க (ே H + ம) க (ேசுவர H // need to restrict to _ம) and _வீரம) ?? + ம) க (ேந்திர H + ம) க (ேஷ்வ H + ம) க (ேஸ்வர H + துர்) க்க ggV# + மார்) க்க ggV# + _வர்) க்க ggV# + _சொர்) க்க ggV# + வி) க்ட (ோரியா kt. // victoria //endsort - _) கி (ராம g - _) கி (ரகண g - _) கி (ராக்கி g - கிரு (ஷ் kri - _) கி (ரீட k - _) கி (ரஹ g - _) கி (ரக g - நற்) க (ுண g - ம) க (ா H - _சொர்) க்க ggV - _வர்) க்க ggV - மார்) க்க ggV - துர்) க்க ggV - .group ங ங NV @@ -246,6 +263,7 @@ _) சி (நே s _) சி (னே s _) ச (ின் tS + _) சிரத்த (ை srVdd சி (ரம s _) சிரு (ஷ்டி sri _) ச (ீன tS @@ -254,6 +272,8 @@ _ஈ) சு s கே) சு (வ s மே) சு (வ s + வி) சு (வ s + _) சு (வாச s சு (வாதீன s சு (வாமி s சு (வாரஸ்ய s @@ -301,7 +321,9 @@ _) டென்டுல்க (ர t.ent.UlkV _) டிரேயின (ை t.re:jn _) ட (ியூஷன t. - + _) ட (ிவிய t. + _) ட (வல t.V + _) ட (வர t.V .group ண ண n.V @@ -367,6 +389,7 @@ _) த (ம்பதி dV _) த (ம்பிடி dV _) த (யவ dV + _) த (யால dV _) த (ரணி dV _) த (ரிசனங் dV _) த (ரிசி dV @@ -447,6 +470,7 @@ _) த (ுரை d _) த (ுரோண d _) த (ுர் d + _) து (வந்த_ d _) த (ுஷ் d _) த (ூசி d _) த (ூப d @@ -454,9 +478,7 @@ _) த (ூர d _) த (ெய்வ d _) த (ேக d - _) த (ேக்கடி t - _) த (ேக்கிலை t - _) த (ேக்கு t + _) த (ேக்க t _) த (ேவகி d _) த (ேவதை d _) த (ேவன d @@ -466,6 +488,7 @@ _) த (ேவாமிருத d _) த (ேவாம்ச d _) த (ேவார d + _) த (ேவாலய d _) த (ேவி d _) த (ேவேந் d _) த (ைரிய d @@ -476,22 +499,25 @@ //endsort //sort - _வசந்) த tV + _வசந்) த tV# த (ன tV + _கீ) த (ா t _ல) த (ா t அனி) த (ா t + சுஜா) த (ா t _சுனி) த (ா t _வனி) த (ா t _வினி) த (ா t பிரேமல) த (ா t _சும) த (ி t _சாந்) த (ி t + _சுகந்) த (ி t _ரேவ) த (ி t + _வசந்) த (ி t வாசந்) த (ி t - _சுகந்) த (ி t - _பார்வ) த (ி t - _வசந்) த (ி t -_கோம) த (ி t + _கோம) த (ி t + ஜெயந்) த (ி t +_பார்வ) த (ி t பிரபாவ) த (ி t _) தி (யாக t _) திரு (திரா dri @@ -502,8 +528,7 @@ _கோம) த (ி t _) து (ரோண t _) து (வேச d _) து (வேஷ d - யு) த்த ddV - யு) த்த(B dd + யு) த்த ddV# பு) த்த (ன ddV சி) த்த (ர ddV பு) த்த (ர ddV @@ -521,6 +546,7 @@ _கோம) த (ி t பவி) த (்ரா t ச) த (்ரு t த) த (்ரூப t + பா) த (்ரூம t //endsort @@ -542,27 +568,28 @@ _கோம) த (ி t _) ப (B p _) ப (T+ bV // if word has $alt attribute in ta_list _) ப (BT+ b // if word has $alt - ப்ப ppV - ப்ப (B pp + ப் (ப p + ப pV + ப (B p L02) ப pV L02) ப (B p குஷ்) ப (ு b - று) ப _pV - று) ப(B _p + று) ப _pV + று) ப(B _p - ம) ப pV - ம) ப (ா p - ம) ப (B b - த) ப pV - த) ப (ா p - த) ப (B b + ம) ப pV + ம) ப (ா p + ம) ப (B b + த) ப pV + த) ப (ா p + த) ப (B b @) பத (ி pVt ன்) பத (ி bVd ப (ுர p ப (ால p ப (ாள p - ம்) ப (ா b + ம்) ப (ா b ப (ூர p ப (ட்டர bV @@ -579,7 +606,10 @@ _கோம) த (ி t _) ப (ங்கார bV _) ப (ஜ bV _) ப (ட்சண bV + _) ப (ட்சிக்க bV + _) ப (ட்சிப்ப bV _) ப (ட்டன bV + _) ப (ட்டன_ pV _) ப (தில bV _) ப (த்திரமா bV _) ப (ந்தங்கள bV @@ -636,6 +666,7 @@ _கோம) த (ி t _) ப (ாத்ரூம b _) ப (ானு b _) ப (ாபுவ b + _) ப (ாரத b _) ப (ாரதி b _) ப (ாரத்த b _) ப (ாரம b @@ -664,6 +695,7 @@ _கோம) த (ி t _) ப (ாஸ்கர b _) ப (ாஸ்மதி b _) ப (ிக்கு b + _) ப (ிக்ஷு b _) ப (ிக்ஷூ b _) ப (ிரகதீ b _) ப (ிரகஸ்பதி b @@ -700,6 +732,7 @@ _கோம) த (ி t _) ப (ூதாகார b _) ப (ூதேவி b _) ப (ூபாள b + _) ப (ூமாதேவி b _) ப (ூமி b _) ப (ூலோக b _) ப (ூவுலக b @@ -727,6 +760,7 @@ _கோம) த (ி t //endsort //sort + நன்) ப (கல pV பின்) ப (கல pV முன்) ப (கல pV @@ -734,6 +768,7 @@ _கோம) த (ி t ப (டி pV @) ப (ட்ச+ pV ப (ண pV + பதை) ப (தை pV கல்) ப (னா pV நிரு) ப (மா pV அனு) ப (மா pV @@ -757,7 +792,16 @@ _கோம) த (ி t ப (ோதும்_+ p ப (ோதே_+ p ப (ோன்ற+ p // ?? end-of-word + suffix ?? + ப (ோய் p + ப (ோல_ p + ப (ோலக்_ p + ப (ோலச்_ p + ப (ோலத்_ p + ப (ோலப்_ p + ப (ோலவே_ p ப (ோல்_+ p + கர்) ப்ப bbV# + நிர்) ப்ப (ந்த bbV _ர) ப்ப (ர bbV துர்) ப்ப (ாக்கிய bb //endsort @@ -788,13 +832,15 @@ _கோம) த (ி t _) பி (ரச்சனை p _) பிரச (்னை prVtS _) பி (ரஜ p - _) பி (ரத p + பி (ரத p _) பி (ரதம p _) பி (ரதர்_ b _) பி (ரதீ p _) பி (ரதேச p _) பி (ரப p _) பி (ரமாத p + _) பி (ரமான p + _) பி (ரமிக்க b _) பி (ரமித் b _) பி (ரமிப்ப b _) பி (ரமுகர p @@ -814,6 +860,7 @@ _கோம) த (ி t _) பி (ரவேசி p _) பி (ரஷ்ட p _) பி (ரஸ்தா p + _) பி (ரஹலாத p _) பி (ராகார p _) பி (ராணன p _) பி (ராணி p @@ -821,7 +868,7 @@ _கோம) த (ி t _) பி (ராப் p _) பி (ராமண b _) பி (ராமணன b - _) பி (ராய p + பி (ராய p _) பி (ரார்தன p _) பி (ரார்தி p _) பி (ரிட b @@ -874,8 +921,7 @@ _கோம) த (ி t _த) ப (ால b _க) ப (ால b _கா) ப (ந்து bV - சு) ப்ப bbV - சு) ப்ப(B bb + சு) ப்ப bbV# _) ப (ோனை f @@ -909,8 +955,7 @@ _கோம) த (ி t ற RV ற (B R ற் (ற t. // RR -> t.R - ற்ச tS: - ற்ச (B tS: + ற்ச tS:V# .group ல @@ -979,6 +1024,7 @@ _கோம) த (ி t _) இ (லட்சிய // silent _) இ (ரகசிய // silent _) இ (லேச // silent + _) இ (ரத்த ஈ i: diff --git a/phsource/compile_report b/phsource/compile_report index dc35b0f6..31e5804f 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,4 +1,4 @@ -59 phoneme tables +60 phoneme tables new total base 99 99 consonants 9 107 @@ -17,10 +17,10 @@ consonants 9 107 jbo 2 111 nci 3 120 fi 40 130 - fr 54 137 + fr 55 137 fr_ca 11 137 hi 58 145 - ta 20 148 + ta 21 149 hu 24 116 lv 29 122 nl 24 119 @@ -53,12 +53,13 @@ consonants 9 107 id 15 122 sq 33 121 hy 23 114 - da 20 114 + da 23 116 rw 15 127 ml 13 147 ne 18 153 pa 14 147 prs 8 106 + gd 6 99 Data file Used by b/b [b] base @@ -103,6 +104,7 @@ d/dr [*] base [d[] base [d] base2 [d] fi + [d] fr [d.] hi [dh.] hi [d] hu @@ -122,6 +124,7 @@ d/xd [d] base [d] base2 [d] fi [d] fr + [z] fr [d.] hi [dh] hi [dh.] hi @@ -269,6 +272,7 @@ j/xj [j] base [j] de [j] zh klatt/b [b] base + [b] fr klatt/bh [B] base klatt/dz_pzd [J] base klatt/dz_pzd_ [J] base @@ -512,7 +516,6 @@ r3/r_uvl.wav [r"] base r3/rx [*] base [r/] base [r/] af - [r] fr [r/2] fr [R] fr_ca [x] pt_pt @@ -594,6 +597,7 @@ ufric/s_ [s] base [s2] consonants [s] fr [z] fr + [z2] fr [s] es [z;] ro [z] sq @@ -671,7 +675,6 @@ ustop/kl [k] base [k] zhy ustop/kr [k] base [k] base2 - [k] fr [k] el [k] zhy ustop/k_unasp [k] base @@ -706,7 +709,6 @@ ustop/pr [p] base [p-] consonants [ph] consonants [p] base2 - [p] fr ustop/p_unasp [p] base [p-] consonants [p] base2 @@ -1122,6 +1124,7 @@ voc/z [z] base voc/z_ [z] base [dz] consonants [z] fr + [z2] fr [z;] ro [z] sq voc/zh [Z] base @@ -1158,6 +1161,7 @@ vowel/& [a] en_rp [&] lv [&:] lv [&] sv + [&#] da vowel/0 [0] en [O] hi [O] pt @@ -1571,6 +1575,7 @@ vowel/o [o] base2 [oU] en_n [oU] en_wi [o:] de + [o] fr [o2] fr [o] hi [o] ta @@ -1606,6 +1611,7 @@ vowel/o_5 [O] nl vowel/o_6 [O:] nl vowel/o_7 [o] ku vowel/o_8 [o] fr + [o2] fr vowel/oe [W] af [W] de [W] hy @@ -1618,9 +1624,6 @@ vowel/o_mid [U@] en_rp [o] tr [o] ne vowel/o_mid2 [O] fr - [o] fr - [O2] fr - [o2] fr vowel/oo [O:] en_sc [O] en_wi [O:] en_wi @@ -1769,6 +1772,7 @@ vowel/uu_bck [U] en_wi [u] zhy [U] pa vowel/V [3] en_sc + [W#] da vowel/V_2 [V] en [a] af [V] ru @@ -1868,31 +1872,31 @@ vwl_fr/r [r] fr vwl_fr/_r [r] fr vwl_fr/r_ [r/2] fr vwl_fr/r_@ [r/2] fr -vwl_fr/r@ [Ég] fr +vwl_fr/r@ [ j] fr vwl_fr/@R [x] pt_pt -vwl_fr/_r2 [r] fr +vwl_fr/r_2 [r/2] fr vwl_fr/@R2 [R] fr_ca -vwl_fr/ra [Ég] fr +vwl_fr/ra [ j] fr vwl_fr/r_a [r/2] fr vwl_fr/raa [A~] fr vwl_fr/r_an [A~] fr -vwl_fr/re [Ég] fr +vwl_fr/re [ j] fr vwl_fr/r_e [r/2] fr -vwl_fr/ri [Ég] fr +vwl_fr/r_e2 [E] fr +vwl_fr/ri [ j] fr vwl_fr/r_i [r/2] fr -vwl_fr/ro [Ég] fr -vwl_fr/r_o [o] fr - [o2] fr - [r/2] fr -vwl_fr/ru [Ég] fr +vwl_fr/ro [ j] fr +vwl_fr/r_o [r/2] fr +vwl_fr/ro2 [O] fr +vwl_fr/r_o2 [O] fr +vwl_fr/ru [ j] fr vwl_fr/r_u [r/2] fr vwl_fr/ry [y] fr [w^i] fr vwl_fr/r_y [y] fr vwl_fr/tr [r] fr vwl_fr/trr [r/2] fr -vwl_fr/xr [r] fr - [r2] fr +vwl_fr/xr [ j] fr vwl_hi/l-voc [l-] base [l-] sk [l:] sk @@ -1955,12 +1959,16 @@ w/iw_ [w] base w/_w [w] base w/w_ [w] base w/w@ [w] base + [w] fr w/w2 [w2] base2 [w] pl [w] sq w/wa [w] base + [w] fr w/we [w] base + [w] fr w/wi [w] base + [w] fr [i] vi w/wi2 [i:] en [i:] en_n @@ -1972,7 +1980,9 @@ w/wi2 [i:] en [i:] sv [i:] no w/wo [w] base + [w] fr w/wu [w] base + [w] fr w/xw [w] base x/b [b] base [b] fr diff --git a/phsource/ph_danish b/phsource/ph_danish index c2db5225..3c2796c1 100644 --- a/phsource/ph_danish +++ b/phsource/ph_danish @@ -14,8 +14,6 @@ phoneme 3 FMT(vowel/a#_3) endphoneme - - phoneme i vowel starttype #i endtype #i length 150 @@ -41,6 +39,13 @@ phoneme & FMT(vowel/ee_2) endphoneme +// PB added for the æ in "dræbt" +phoneme &# + vowel starttype #e endtype #e + length 120 + FMT(vowel/&) +endphoneme + phoneme a vowel starttype #a endtype #a length 150 @@ -102,10 +107,23 @@ phoneme W FMT(vowel/oe) endphoneme - +// PB added for the ø in "røv", "røg", "øje" instead of [V3] +phoneme W# + vowel starttype #@ endtype #@ + length 150 + FMT(vowel/V) +endphoneme // CONSONANTS +// PB added l/3 +phoneme l + liquid + lengthmod 7 + ChangePhoneme(l/3) + CALL base/l +endphoneme + phoneme v // approximant, not fricative import_phoneme base/v# voicingswitch f @@ -115,6 +133,9 @@ endphoneme phoneme r // used for 'r' after a vowel (to create a diphthong) liquid lengthmod 7 + IF nextPhW(isVowel) THEN + ChangePhoneme(R) + ENDIF FMT(r/a_) endphoneme @@ -124,3 +145,4 @@ phoneme R FMT(r/aa) endphoneme + diff --git a/phsource/ph_french b/phsource/ph_french index c5ea0f9b..bf1a7b2c 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -1,7 +1,7 @@ //==================================================== // French //==================================================== -// Updated 2010-03-12 Michel Such +// Updated 2010-04-01 Michel Such phoneme #l virtual // Used for l and l/ @@ -17,15 +17,30 @@ phoneme : // Lengthen previous vowel by "length" endphoneme -procedure vowelstart_r - NextVowelStarts - VowelStart(vwl_fr/r@) - VowelStart(vwl_fr/ra, -30) - VowelStart(vwl_fr/re) - VowelStart(vwl_fr/ri) - VowelStart(vwl_fr/ro) - VowelStart(vwl_fr/ru) - EndSwitch +procedure pre_post_r + IF prevPh(isVowel) THEN + VowelEnding(vwl_fr/xr) + ENDIF + + IF nextPhW(isFinalVowel) OR next2Ph(isFinalVowel) THEN + NextVowelStarts + VowelStart(vwl_fr/r@, -10) + VowelStart(vwl_fr/ra, -15) + VowelStart(vwl_fr/re, -10) + VowelStart(vwl_fr/ri, -20) + VowelStart(vwl_fr/ro, -10) + VowelStart(vwl_fr/ru, -10) + EndSwitch + ELSE + NextVowelStarts + VowelStart(vwl_fr/r@) + VowelStart(vwl_fr/ra) + VowelStart(vwl_fr/re) + VowelStart(vwl_fr/ri) + VowelStart(vwl_fr/ro) + VowelStart(vwl_fr/ru) + EndSwitch + ENDIF endprocedure @@ -38,41 +53,22 @@ phoneme r ChangePhoneme(r/2) ENDIF - IF nextPh(isStressed) THEN - length 40 + CALL pre_post_r + + IF thisPh(isWordStart) OR prevPhW(r/2) THEN + Vowelout len=50 + FMT(vwl_fr/_r, -30) + ELIF prevPhW(g) OR prevPhW(k) OR prevPhW(p) THEN + FMT(vwl_fr/tr, -40) + ELIF prevPhW(d) OR prevPhW(t) THEN + FMT(vwl_fr/tr, -30) + ELIF prevPhW(f) OR prevPhW(v) OR prevPhW(S) THEN + FMT(vwl_fr/tr, -30) + ELIF prevPhW(b) THEN + FMT(vwl_fr/tr, -20) ENDIF - VowelEnding(vwl_fr/xr) - CALL vowelstart_r - - IF prevPh(isPause) OR prevPhW(r/2) THEN - FMT(vwl_fr/_r) - ELIF prevPhW(p) OR prevPhW(k) THEN - IF nextPh(isNotStressed) THEN - length 50 - ENDIF - FMT(vwl_fr/tr) - ELIF prevPhW(t) THEN - IF nextPh(isNotStressed) THEN - length 60 - ENDIF - FMT(vwl_fr/tr) addWav(r3/rx,30) - ELIF prevPhW(f) OR prevPhW(v) THEN - length 40 - ELIF prevPhW(g) OR prevPh(b) THEN - IF nextPh(isNotStressed) THEN - length 60 - ENDIF - ENDIF - - IF thisPh(isWordStart) THEN - IF prevPh(isVowel) OR prevPh(isPause) OR prevPh(#l) OR prevPh(r/2) THEN - FMT(vwl_fr/_r) - ENDIF - FMT(vwl_fr/_r2) addWav(r3/rx, 15) - ENDIF - - FMT(vwl_fr/r) addWav(r3/rx,25) + FMT(vwl_fr/r) endphoneme @@ -87,17 +83,16 @@ phoneme r2 // silent unless followed by vowel ChangePhoneme(NULL) ENDIF - VowelEnding(vwl_fr/xr) - CALL vowelstart_r + CALL pre_post_r + FMT(vwl_fr/r) endphoneme - phoneme r/2 // variant of [r] when not preceding a vowel - liquid rhotic uvl + liquid rhotic vel starttype #r endtype #r - Vowelout f1=2 f2=1600 -300 300 f3=-300 100 len=50 + Vowelout f1=2 f2=1600 -300 300 f3=-300 100 len=40 lengthmod 2 PrevVowelEndings @@ -109,32 +104,34 @@ phoneme r/2 // variant of [r] when not preceding a vowel VowelEnding(vwl_fr/r_u) EndSwitch - IF prevPh(t) OR prevPh(p) OR prevPh(k) THEN - FMT(vwl_fr/trr) + IF prevPh(isVowel) THEN + IF nextPh(isPause) THEN + FMT(vwl_fr/r_2) addWav(r3/rx, 20) + ELSE + FMT(vwl_fr/r_, -30) addWav(r3/rx, 20) + ENDIF ENDIF IF thisPh(isWordEnd) THEN - IF prevPhW(v) THEN - length 40 + IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN + FMT(vwl_fr/trr) addWav(r3/rx, 15) + ELIF prevPhW(v) THEN + FMT(vwl_fr/r_, -40) ELIF prevPhW(f) THEN - length 60 + FMT(vwl_fr/r_, -10) addWav(r3/rx, 15) ELIF prevPhW(d) THEN - length 80 + FMT(vwl_fr/r_) addWav(r3/rx, 15) ENDIF FMT(vwl_fr/r_) addWav(r3/rx, 15) ENDIF - IF prevPh(isVowel) THEN - length 80 - FMT(vwl_fr/r_) addWav(r3/rx, 20) - ENDIF - FMT(vwl_fr/r_) endphoneme phoneme l liquid + starttype #l endtype #l lengthmod 7 IF nextPh(isNotVowel) THEN @@ -178,6 +175,7 @@ endphoneme phoneme l/ // used for [l] when not before a vowel liquid + starttype #l endtype #l lengthmod 7 IF nextPh(isVowel) THEN @@ -190,13 +188,14 @@ phoneme l/ // used for [l] when not before a vowel VowelEnding(l/l_e) VowelEnding(l/l_i) VowelEnding(l/l_o) - VowelEnding(l/l_u, -20) + VowelEnding(l/l_u) EndSwitch - IF prevPh(i) THEN - FMT(l/l_) + IF prevPh(#r) THEN + FMT(l/_l) ENDIF - FMT(l/_l) + + FMT(l/l_) endphoneme @@ -224,8 +223,7 @@ phoneme a VowelStart(l/la, -15) ENDIF - IF prevPhW(u) THEN - length 140 + IF prevPhW(w) OR prevPhW(w/) THEN FMT(vowel/a_5) ENDIF @@ -252,6 +250,14 @@ phoneme E vowel starttype #e endtype #e length 170 + IF nextPh(r/2) THEN + VowelEnding(vwl_fr/r_e2) + ENDIF + + IF nextPhW(j) THEN + length 190 + ENDIF + FMT(vowel/e_mid) endphoneme @@ -296,14 +302,27 @@ phoneme o vowel starttype #o endtype #o length 170 - ChangeIfUnstressed(o2) - - IF nextPh(r/2) THEN - VowelEnding(vwl_fr/r_o) - FMT(vowel/o_mid2) + IF thisPh(isFinalVowel) THEN + IF thisPh(isWordEnd) THEN + FMT(vowel/o_8) + ELIF nextPh(p2) OR nextPh(t2) OR nextPh(z2) THEN + FMT(vowel/o_8) + ELSE + ChangePhoneme(O) + ENDIF + ELSE + IF nextPhW(isLiquid) AND next2Ph(isNotVowel) THEN + ChangePhoneme(O) + ELIF nextPhW(isNasal) AND next2Ph(isNotVowel) THEN + ChangePhoneme(O) + ELIF nextPhW(isNotVowel) AND next2Ph(isNasal) THEN + ChangePhoneme(O) + ELIF nextPhW(t) AND next2Ph(isLiquid) AND nextVowel(isFinalVowel) THEN + ChangePhoneme(O) + ELSE + FMT(vowel/o) + ENDIF ENDIF - - FMT(vowel/o_8) endphoneme @@ -311,32 +330,29 @@ phoneme o2 vowel starttype #o endtype #o length 170 - IF nextPh(r/2) THEN - VowelEnding(vwl_fr/r_o) - FMT(vowel/o_mid2) - ENDIF IF nextPh(l/) THEN VowelEnding(l/l_o) - FMT(vowel/o_mid2) ENDIF - FMT(vowel/o) + IF thisPh(isFinalVowel) THEN + FMT(vowel/o_8) + ELSE + FMT(vowel/o) + ENDIF endphoneme phoneme O vowel starttype #o endtype #o - length 170 + length 180 - ChangeIfUnstressed(o2) + IF prevPhW(#r) THEN + VowelStart(vwl_fr/ro2) + ENDIF - FMT(vowel/o_mid2) -endphoneme - - -phoneme O2 // Like O but no reduceto - vowel starttype #o endtype #o - length 170 + IF nextPhW(r/2) THEN + VowelEnding(vwl_fr/r_o2) + ENDIF FMT(vowel/o_mid2) endphoneme @@ -350,14 +366,7 @@ endphoneme phoneme u vowel starttype #u endtype #u - length 170 - - IF nextPh(i) THEN - Length 50 - ENDIF - IF nextPhW(a) THEN - length 110 - ENDIF + length 180 FMT(vowel/u_bck2) endphoneme @@ -377,38 +386,27 @@ phoneme y IF nextPh(l/) THEN VowelEnding(l/l_y, -30) ENDIF + IF prevPh(#r) THEN - VowelStart(vwl_fr/ry) + IF thisPh(isFinalVowel) THEN + VowelStart(vwl_fr/ry, -10) + ELSE + VowelStart(vwl_fr/ry) + ENDIF ENDIF + IF nextPh(r/2) THEN VowelEnding(vwl_fr/r_y) ENDIF - IF nextPh(E~) THEN - Length 120 + + IF nextPhW(E~) THEN + FMT(vowel/y_2, -30) ENDIF FMT(vowel/y_2) endphoneme -phoneme Y - vowel starttype #@ endtype #@ - length 170 - - ChangeIfUnstressed(W) - - IF prevPh(l) THEN - VowelStart(l/l@, -20) - ENDIF - - IF nextPh(l/) THEN - VowelEnding(l/l_@, -20) - ENDIF - - FMT(vowel/y#) -endphoneme - - phoneme W vowel starttype #@ endtype #@ length 180 @@ -425,14 +423,70 @@ phoneme W endphoneme +phoneme Y + vowel starttype #@ endtype #@ + length 170 + + IF prevPh(l) THEN + VowelStart(l/l@, -20) + ENDIF + + IF nextPh(l/) THEN + VowelEnding(l/l_@, -20) + ENDIF + + IF thisPh(isFinalVowel) THEN + IF thisPh(isWordEnd) THEN + FMT(vowel/y#) + ELIF nextPh(z2) OR nextPh(t2) THEN + FMT(vowel/y#) + ELSE + ChangePhoneme(W) + ENDIF + ELSE + IF nextPhW(isNotVowel) AND next2Ph(isLiquid) THEN + FMT(vowel/y#) + ELIF nextPhW(isNotVowel) AND next2Ph(isNotVowel) THEN + ChangePhoneme(W) + ELSE + FMT(vowel/y#) + ENDIF + ENDIF +endphoneme + + +phoneme w + vowel starttype #u endtype #u + + IF prevPhW(#r) OR prevPhW(#l) THEN + + NextVowelStarts + VowelStart(w/w@) + VowelStart(w/wa, -10) + VowelStart(w/we) + VowelStart(w/wi) + VowelStart(w/wo) + VowelStart(w/wu) + EndSwitch + ELSE + ChangePhoneme(w/) + ENDIF +endphoneme + + +phoneme w/ + import_phoneme base/w +endphoneme + + phoneme w^i vowel starttype #u endtype #i length 240 - IF prevPh(l) THEN + IF prevPhW(l) THEN VowelStart(l/lu, -20) ENDIF - IF prevPh(#r) THEN + IF prevPhW(#r) THEN VowelStart(vwl_fr/ry) ENDIF @@ -446,8 +500,13 @@ phoneme A~ IF nextPh(r/2) THEN VowelEnding(vwl_fr/r_an) ENDIF - IF prevPh(#r) THEN - VowelStart(vwl_fr/raa, -10) + + IF prevPhW(#r) THEN + IF thisPh(isFinalVowel) THEN + VowelStart(vwl_fr/raa, -15) + ELSE + VowelStart(vwl_fr/raa, -10) + ENDIF ENDIF FMT(vnasal/aa_n4) @@ -516,8 +575,11 @@ phoneme b Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk IF KlattSynth THEN - CALL base/b - RETURN + Vowelin f1=1 f2=1000 -500 -300 f3=-300 80 + IF nextPh(isPause2) THEN + FMT(klatt/b) addWav(x/b_) + ENDIF + FMT(klatt/b) addWav(x/b) ENDIF IF PreVoicing THEN @@ -545,8 +607,8 @@ phoneme d IF nextPh(isPause2) OR nextPh(isPause) THEN FMT(d/d_) addWav(x/d_, 50) -// ELIF nextPh(#r) THEN -// FMT(d/dr) addWav(x/d, 30) + ELIF nextPh(#r) THEN + FMT(d/dr) addWav(x/d, 30) ELIF prevPh(isPause) THEN FMT(d/d) addWav(x/d, 50) ENDIF @@ -577,32 +639,31 @@ endphoneme phoneme k vls vel stop voicingswitch g + length 50 lengthmod 2 Vowelin f1=0 f2=2300 200 400 f3=-100 80 Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 IF nextPh(isPause2) THEN WAV(ustop/k_) - ELIF nextPh(#r) THEN - length 50 - WAV(ustop/kr, 40) ELIF nextPh(#i) OR nextPh(;) THEN WAV(ustop/ki, 45) ELIF nextPh(#l) THEN - WAV(ustop/kl, 45) + WAV(ustop/kl, 40) ENDIF - WAV(ustop/k, 40) + WAV(ustop/k, 35) endphoneme phoneme n2 vcd alv nasal - IF nextPh(isNotVowel) THEN + IF nextPh(w) OR nextPh(isVowel) THEN + ChangePhoneme(n) + ELSE ChangePhoneme(NULL) ENDIF - ChangePhoneme(n) endphoneme @@ -619,8 +680,6 @@ phoneme p WAV(ustop/p_unasp, 60) ELIF nextPh(#l) THEN WAV(ustop/pl, 30) - ELIF nextPh(#r) THEN - WAV(ustop/pr, 25) ENDIF WAV(ustop/p_unasp_, 90) endphoneme @@ -663,6 +722,10 @@ phoneme S Vowelin f1=0 f2=1900 100 300 f3=-100 80 Vowelout f1=0 f2=1900 100 300 f3=-100 80 + IF prevPhW(t) THEN + length 60 + ENDIF + IF nextPh(isPause) THEN WAV(ufric/sh_, 45) ENDIF @@ -683,8 +746,8 @@ phoneme t ELIF nextPh(r/2) THEN WAV(ustop/t_short, 50) ENDIF - WAV(ustop/t_short, 40) + WAV(ustop/t_short, 40) endphoneme @@ -694,11 +757,12 @@ phoneme t2 // silent unless followed by vowel Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 lengthmod 2 - IF nextPh(isNotVowel) THEN + IF nextPh(isVowel) OR nextPh(w) THEN + WAV(ustop/t_short, 30) + ELSE ChangePhoneme(NULL) ENDIF - WAV(ustop/t_short, 30) endphoneme @@ -733,8 +797,10 @@ phoneme v ENDIF IF thisPh(isWordStart) AND nextPhW(isLiquid) THEN Length 70 + ELIF nextPhW(w) THEN + Length 50 ENDIF - FMT(voc/v) addWav(vocw/v, 75) + FMT(voc/v) addWav(vocw/v, 60) endphoneme @@ -744,17 +810,26 @@ phoneme z lengthmod 6 Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 + IF nextPhW(z) THEN + FMT(d/xd) + ENDIF + IF nextPh(isPause2) OR nextPh(isPause) THEN FMT(voc/z_) addWav(ufric/s_, 45) ENDIF + + IF prevPhW(t) THEN + length 60 + ENDIF + FMT(voc/z) addWav(ufric/s_, 45) endphoneme phoneme z2 // silent unless followed by vowel vcd alv frc sibilant - IF nextPh(isVowel) THEN - ChangePhoneme(z) + IF nextPh(isVowel) OR nextPh(w/) THEN + FMT(voc/z_, -20) addWav(ufric/s_, 40) ELSE ChangePhoneme(NULL) ENDIF @@ -765,7 +840,7 @@ phoneme z3 // "six" and "dix". [s] before pause, [z] before vowel, else [] vcd alv frc sibilant IF nextPh(isPause) THEN ChangePhoneme(s) - ELIF nextPh(isVowel) THEN + ELIF nextPh(isVowel) OR nextPh(w/) THEN ChangePhoneme(z) ELSE ChangePhoneme(NULL) diff --git a/phsource/ph_tamil b/phsource/ph_tamil index b6e0b442..67e85187 100644 --- a/phsource/ph_tamil +++ b/phsource/ph_tamil @@ -17,6 +17,15 @@ phoneme V FMT(vowel/V_3) endphoneme +phoneme V# // omit if the next phoneme is a vowel + vowel starttype #@ endtype #@ + length 130 + IF nextPhW(isVowel) THEN + ChangePhoneme(NULL) + ENDIF + ChangePhoneme(V) +endphoneme + phoneme a: vowel starttype #a endtype #a diff --git a/phsource/phonemes b/phsource/phonemes index b6994187..0403f6aa 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1676,3 +1676,6 @@ include ph_punjabi phonemetable prs base include ph_dari + +phonemetable gd base +include ph_s_gaelic diff --git a/phsource/vowel/u_bck2 b/phsource/vowel/u_bck2 index 05819c41453e9d4f3fb570bd77ddc5023d40329d..18d9f4b704353c60e453e33a8c0c309b2f6d1bf5 100644 GIT binary patch literal 9048 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 C`hQ*k literal 8314 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 bjUL=5xoKI9yAeiRpH@LzF1-(@^aS}oWrR!> diff --git a/phsource/vwl_fr/_r b/phsource/vwl_fr/_r index 957717256f36a2b3e5c1d146bf7e59dbec5b7c58..c84393dcf3ee4001714aa412f7ccf6a718e2797b 100755 GIT binary patch literal 1230 zcmdUvy=zlZ7{-6OxhJ`|Nt)KEv9_kfkN5#a32H^DxsV2G2W?5HQ3orCh=YSeK~WF~ z&7l872mc2hGD!yq2mgdF&Mtu>3h_DTCb4wy;C*?&p7Wl=&GX!o=1Qa9YOYp2;Qq5D zRps4JWPS|V$ZV2u^*?M`{auH_PX9BQ4R6D{Bg8svdZc@aUc%1Aa~&VQ;#Iu&Laf8f z3|Pe1;nrbWNZV_Vkez-v3tg`}LZDNKk)C!~*E6*jiDq{r*W8c|XGYbqSYlo8_klMw zdCU!Yi$}cU6^qol!d2#Ju*Qn=WzH+kDL2&DwRVdd6%JA47^f*yVv>*v4k%~I5s+4& zCL_<1*GirO2btDDCn7ms=DoXNAphM89xC-Lx1AFk*CQ zDN?FKab|Bp=x#t-tb0N-$|;f#GpdaKRg5g<&IpukAGqjiZ&HXa#JWA-#xbXw-DAxn HzA(dIrgw+7 literal 50422 zcmcG%1$Y$cwl!St)o$tTxVsQfAi;t|f)m``9WpSu1$Sp~cOBf_9fA(-9w0#eh1@d} z=KS9`_nz-kPj|YjtE;Q4Yp=cb+UtF(l3ucS)hZcL6hRR6J4F!5`1{v?sobDu&HlOq zk5lQbgWSKZn@AEwlYhN>2#;z~HK|(oTZ^bjmdA}C-jHv|OsvTys7Ah2=M;vnk0PU_kRKZ_26HB$4QG6qpq0oz1iKi+GT^iv}3emwd0`UrX$yp=eX$T z?AUH!?viR7W|?bRX}F>*uXWXwR@W;fl>72Hxw!mE+93^>8c3;9fMk(4>Am`gQ>|pqUX{B>1=ut zeSp4BKcxSlkK=JCI+}hW~HRz^vE8J@0bAxDweoP(3>l3K{R4*!v8bnQ`mQXu!7M@Wgt)p$Uowm?g z93eyVcEC=l}x2km8fb|ReaY( ze5#K6LcSs&k$1?e@2)y17d+(0>=2S}V`vDQ(;wF_FJn!PaBIx^re})Y0 z$poT(0c3Epa|mYvWMG9MBrE(C8DiCuL~H?M7^NFaj`|512;ygCAc+428QxmfSy#B! zbCz`HyjuIz^SkE%I$(96Pf%?vzCr5)$v{3}k6(;$8}DA8S?;4uc(BboF#O+FIJnntGaN>IgMTy{7!CXqDdbW@)?FPsrmU z*m}%Gwle>#&{2$)E=djKb8@^gM!Bx|s!i0H>M8ZJ>Z>WGX{70)8KN15Wss(;rmiMM zW7oV?_o)-GRkX^e7nP+-U!|H7q3N{Qw1tby1;94O8ZH;SjlCn7I-NU>5`sgBf2>L&dv4V6YpW2N!Z1l-0+WAJRa zG+62<^_IFyZKcLi4XKP2FL_I{^aA*|LL4I27h^G{O|k% zemvig@5DFdYw?x%G`jl#$GP9RMcf2#AlHp+!!_fYU}?d%I8*%lqG~}A%Sr;w~?;FmI;>O@Ml=pJ5dz?Lr+ZjB*&*ri+=gB2-mATgV%n96lZWXtI+l1R{ZZS8To5+pee&xDy zt+;wz2KFAoIgtaNu;{@m?yOQ0+9$+u9ciCs`EA}~i4|_eq?qRpE>)6%o3U(R0 zn4QngVP~?_*r`93Y3y`7|BYRU*EeF@lk5%l13}nX>B}45YGew|D#w2>-hOr^pcb6EbMoUkGghWH`@HAWr^4DYnRlkcJWY{4#Q8yc&Sx-6BJS+J=4lstS30oDB8~ICAv8eiy znuw`k$)T@;`vuJni1*9z_VIY>eCv{FjWqW%`WZa+HFO)bk=k9Fh8lzByt-VSsE$^r zs_WD{YNTeiCP2GKTUYm3*HFJ(uQ8M}bTqU##2B{d3B6tCuJzXxSNkYe<(l#GGsTu- zyr>{Hw+Q2f_Cf_AR8WQIh|Tr<6#f^)Wjde2NAsb4Fm6$NJR&p|YvTDZ#G;v(zQx>A zE{EHNE4ntKVk=vZrPyUm9mXBme>4-z=CBPAkB_-LE|+`2UF42%d$^t0eh;?~%WiHf zVqz7yoLj-I!K01bT5bV18j+d7MRFF7=031***ENK_9f!rE&G|}5P1MrPJ`HciU`?( z>wOHH#kR&LS7FPurP)$!8MY!@4bPji?b#meuk0{fq0`uTh?=#Ct1Y;#!Zkmd?T&3q zvf-=;Yhx{}3+vAMu>NcSZr*t8#NxpQvT@jFEw&}wh3$oRv}5bD<=7a!F0t>JyUcm! zFtdl*$?V48bIeWV36sm@Gc3!qEK9H-m>0}_ti8%y#_a~Sf6P2*o*|mfF`JnQOdF;o z%g)3vYxD!mD$hO z*G=Xqvzi&jv}V$oG~8M+eVO6R0KC5xeuK~S9r_}Dfxb!S(pK!f1v8G>#GJ)(JiH7spg&nt(};WM(rfnXSxze9Cd$_Ti`(GZS%S^_W=j z$&>UW8sx129s%35EVIO9tF zZCxuJs~f3(qe<3uQs*nzWM8?LbWw~FhYHvElKf5X7)SCA_!E2yVV_V_B&01;PdQF` zqKsADHRCjQH4bf@wwN|m8>98rs@mt8!xyhCazy%M{K4}{9XI%L}B+&(sf-Hz+%7yQ-_fFIr1Z7j(Z=LT@wxtE-s zPvFb)<@mzL!mqh)$e1zQLv}Ko#GYkpF^6a?9Y+-6?}(1R4>&!E7NmflUP>RAy_l4cW$s z_zbo%;#^>#;GH{gb`rpM|GGv!{i{^o-i+&H&|X{y9fA` zQ~2a1i0vMT^zuv+a%==*t|U_%5i^cigJ^%mP^<~xAOPPX824Xe-ihyPWVNiyYVg<2 zdf}BwHWmmKjbAJfTbO~q_pt9_s0;~aGu@L;qh07nsG%~c$7FxnEn?kr{l;{FlC*8g-K){pk}nwtErCESn45F zk{(Z=qVs4oFvAUXpOXm#2K8X3Fbi>OjdknkSb7EJO)Vfhll#e7Y7X_8DvN!rr%wQx zQa%o8gAm5QRQ6K9yYGPTuls+73@yp_M9Tum5XpWfA`5VaN4y95r~op2R9X=qmA~o? zZ?r1)=6{(pY!&uvJ6i&s{+=Ctl|VIQSlFP5cab}zc1AslY!)#y%n=$KG9q|YP*h;P zUvZx_&kAls9g532%PG@ygSWoEc7}Rfz9p{Z?=i>d!`wAtsFW)gQCn($(PrtI=@SfZ z4YQ1KrX41KbEdhN`HV?tG8jMVpXnrBUF|*1G)+rQn#M`?Y7 z$CV4pS!Js-Tq&YllIzI(pb^$_<55 zooWc`pK#Sv<<;9**BhTsDaYlx@?g1#+*$4*H4yA4Z z2AWNz`_sL!^o4@bgKiF0CK(z+C^VFEcs2sp_cfYeY*1Z%klQ8ZBQom?`V*~Ve39p) zaW67=kaNFkELEUC80b&bTZ)2)Q386*FnTt<3>wT=rDhDC4WmaP(#FyQu5^R64{hRDN_9M9a zHTDp@9vC+q+$j~9b{v{fUoeO1$nnR4YkN@%^kj-NJhPYX2wh|-G>LR7kD3DH7zmto z#o6t}P5_qA1G^duW>gV4l@An|%d`cWQOp_O|43j^E4mI{8hTGYG>H*VEm~3Ypm!wT z?5)9BqQMkXagMtK50`_J+-EqTUCPIm)rWsWf>ic&p+esu(Jy{r!(WksA<}-VjSw~y z1lJAf%6A2_3;BxZK@t3)3S*yYB)0)8 z{;EJm2t$p3RTl{&Odwnet^uk+CjI)Z?<(d0NrC*;de-*L(aycM*A<_`e#ZjRf`h^= zky8uRjtP#XV?RZgEF?zO3o9AC-~Y3>het!_E!#r#62k*+OEprC6KnFd*y{8=CXuVm z8-#JfWkl#MVF2{T0b)gYg!)`t#W2IP($dT}#l_41$mNwS!y0S8VHm5+)_hP-$#*4< zR8HI`^cK1ay`WL*ge80*{xfeDn@Stx7m8M+YHw5k}j=*sF^X#+LWm8+6Q%;diy zn{w=PW;?F4*K{*_7nMhrfr2!N^260@L5A4@zRR*C`w+kFN@gkY;$4PECga)DP%Cfa z+L%VqVh*t{ID-%&mXjLE9hJ^%15KFrq&8kxOXsZ{tnI3KsN9ko3k%qq>|5>=KUg>* z+!US&Z-hJ`%m?9)uocJcA*?`M(w{p6F5j5hkGK+XJe8>{WGbS1Ed7!WL39iUn?4Q3 zp2cXH0f_k?R4u9xwTwCh)$9g}s}z*KLR11(7^+wZuKVZY0dhLog{)0BA%~Hh z$Q$HmQl%8?6M2`+AzzX<;7>Z#wIY<0dQF}qkCEreYvd*JFu9#PLgtd8(A~OGzffJM zhS2a5pvMJKq0kl+u!K@3>KVC<98b08;d~x)BWcQ0uJ3mpbP*dyDt?_zAydu!Kz!qPi zR1fg5@pM1BKAi;JvktUdC!+Z#6Uw$=$D%^o%I;Txd{h^np(rxJF(00?95jdaMu$RNkRHiC0auMAG%p(n37K6rm13ITd9U%$) z7Ne+jIQGlb1E`@aG+QeWF9OGyg(G=H+kmoFa3%G^9w&f*^ujX_<}rPQJ_mGbiT!&3 z8O~>q`hg55y6*iE`~UUlugLIcZz4h{*qi7`9wa&z;0*c95+c7qHSvVcBc2rC41|jA zNP%i%vbH=q`G3F}B7}e5oA9+5Z1tT%o`ZdDfoFrygeHXtMJ$Ur9pEf+xC4eu`N>k~8kin1P6h2I7Ax@EY$oCXCO-JoR z-5^7}>5;j;b&SpIa?-ZkddS?{n5n<1eV}=Y3dAW-5St5Epa$geK0+e;7Ln*$bQ0bR zJH&<31i7;kr(RJrHJdfLs6D*2ly;d$(CF2pas}ykp$N}&q3i-wp)_-genOj2ebz-@ zXp6eC8uX(UZ7>*wi6sG{NYPz@(Tuge0;=$J&hAJp*1 z^gFsf`XYOnBS4|$_^fPHxYNEd;3L4PNw{`Dp!;EA!XQTRAhI26&5!W2AzC%v#g8oZadKZwP6S%-VR5h=Fn6psN zJDCe$A(il*Lh&6R(G5{KgtEV|JD~^$a}Bs@(1LvU*8DR5D*u6}gm?TERCV3)`+P+0 zI1s9i2UMGlsNG`OSEw_(Gi8|&R0(cO5Oj!i96>)E$uWjtpdgb_C3W^Q88SyM?Nc4f2HL=NY z)#9GV>S9kvmnqaEvUK?TkWqnte)GLj+&!FiTwbDd9R zxTZpVDNH%1R@3g#c^F0*DRVc=A?rz7W0z(wXKdT7RV^1xy^T!_)AUyTaos%K09_rO zpYFPLfYz*?tkG(+RS)&9@<8!JSA)`Y(VWz;U}hBQ;O3vIY!;ESEO zFI*{9|GoL)PyiP2OZj<-^v--~==sN?QTuSa*{bXnXh@4`f|luL^dsgB`x{q-f5#6H zD6yybRBR}nlhWi(vbQo=xu$rl)znUEPqmF&26fForIGR!9gkbkHa>{!(dig04ihJc zbI_64BJLFrVc9M&6#Iz9#n-}E!A+Qrj>0S`4LP{FM&fE4jr=!!k{SFQI!+84*x*?e}%b)n*RgCK&8{5UKiLePy%nF zuHS`-+K3wD03zxt*4)M|hq;K_0TSwaFI4#HZLNNr1xr$Z0v$=1a=u%OD@2YsL^V)i%EELcsvWG)f~tBI>XhJw|^7A5JYYGSdr#NVn3g7~?bz=8b-)kHR?Q<_|l1ck`^StNM4+LG$}nXD86FM_Q>qeTLG`UU%MIXznXv1 z|Dt)TOi=nL3CbGy8H!0u&>J`_qzmKtW#|?q^PyrBd4tO83L8>Q@6C0ry=-k=lI;iW zC+zO_wYIgEPNvF+Y@JS)o=`jz~_iJfFq7GUw@hS_LuUvs^JRwD#@hL z#i-rnQECwVnJ$G2cR!Paigp55k!QZv0%94-Up6R&`as>G>5i6NJzWP~m~Mo&i{^^5 zTFT`ou`4-2m?10{+6i951O6y~5Vr%!T%CXfOMyUR*jy+C7r>Oi=5IS4LnqQc@C?+T zztFpxmh5G8zz!nz>oH~M(crS#xIXXVwg3z{0yX+e^!&e29L>@n!FDeq$DgC#P(gHC zWY|YwJD!XyYU@9s6!fLbV*j~d0C%a!)C=V7JE%o|r{=?jFp|oqMuTmP!QTO>A)2CJ zA4AzG26Yw%Mi7b)el4tRiMpT>)flyPSM>Zxz@agQ>P^+4Qcy8;1|L`kMz9){XbvUO z@pNry_Whw!jD!9#16so@=nPYFzY)g|gPsiO(# ztjWOGx8Mt9xw>3OZajC8x$zI;(~zziChJAc>ADF zwHSTaecVazJa>*e#HHjNxL^MVGVFaZ|J$QK@BV!?K@bHwLpAa#QLR8V;m(>#_X0Y@ zExs^$s{m)%tAr4H3vh;a+FJkXT}v1K7K9nmiHH|JXjTO(VDt*>>2rK35e@xp+Q&Npn3d`*z0?vRM(nKt! zq>Z9Yd?L&j^Q3Odb=6H{8oI=+qstLWRC=@_vXGp z*Bi^cq&Fhg-eNff2U9Tk=pgzHT?L%}5c80cz#n_C`&d0!1J~DKcnDI#FFt}hgo^LQ z8`4GjBACv8%`9yd-9?>4uhGxe?aII|R1|6nLxidpj)7uuoYFsc<|f$$YoKeb#VP7 z?gzo04o2rlK&xJCv4cjNcAGHFN!f|RZwFKgR~-!vS| zzX6>IMgJ4lMbc-H@ilBexE53{l#AzL5oxaQMUYrr;4xUm`Gft(3)_Vl_(@)fky2fB ztGh|{q)_P&7@1X^Dj0-8{5!5CcNcN1VfQgZ(YbgDblOHOhJNyzIz|sc2kHP@8o&K# zE&$zVAGkvH!@-fry+ai+984w+df|K2Z#_`i+=6$lE0m9#P)bLkH{k=F=LkcCQw4+P z7?DFF(8)cG>T(p~pM{qsnlB1g(wZLvG~3Nz$5mn$LQwCfsQ24&? z-+Ca!e$pB0kltjS0?1%sPm+cL$grC)MD8wt4EvO5VqXDd=&9X6_WY@uh!B46TDI!^ zv(qWO^FP-a7;TW*!`aDmmT!7sL}>HKu`z)OSCd8*E?UG;#8@~z>16!)n8lHiq0Ixb zy)U`7u~)Y&Fm%&CRrK;Iv5(M}zrscEBzlv{Vp%vHZ}3AoGk2JGm4+*cNi(Myb9Li2jg&v6k`gHm7uO0i`1@QL-d$KD91^MuseFAzd3Ao9xL$6k zUevhhV)Rai%?AuiSwoIa*Fa%S*(`QoYo|1 zJ8PSuE34D2P)MzZ zFU3Qt|APue+)P2vDvRF4eN?yam`mux&xRJ+28!1!yp}}2N8RrRMQ#G}+eNVH8_>M= zqN_d$_*MZr*##g(0`-ubO*SBd$&bWE;x$o%oJZ1B9q0p>z#AS?yW!H~sg}?X+e4Ai zVf(676RJJ1VFX;1qk%IeseE!ddU2!3qwo}(peah!Tk;|K9v#~>u!n)bj@j7X0yq<= zfkO<%G9C)WK}7sR>K6Xa#%HvFj&~TGCkgnm6pSGr-{dwJ*htjm`K*;QaL>>?O-J@_ z#k`@1Lj`#aeEAi=-$~>~avyb=-oq?s`*ZO)XED&Jw?V=Eh~>JlK&T|#L4{RZPBbEfUQJ=oR9eUOLEbC*Y!dq>xscBie2+0R&6{{gCEy5@-5NY$ywm2s%* zizQ}lSQ-!7A)zd+hxW*?5)6iLHC0-IsN$Vw7 zxvzXt_EnnT7#1rtm8Qx&xrAIs62;~GJUHtXf=%8>&ocy9ZeOt2Ea;EX{0F$2%5o=A zGf#%IyF6k*g422#;>8t}Z&g&#S-6tVGBWD@;^<`V{e~IKp^jI9uVxjLwu9cqbV^gLwDue>0Sy8kU(e|08bfd_amJmVXo1fBv0 zy+X&}DfYb!`sGxh!Fbdby}=NI(4E>%&P9J?HkK*qLo7m1BLECyKSh9bN6|sFhQ5pL zY7aPuUyuvQ=49n>if0UB>M<1nbgB!@vm+vICr#mdt%p}|5~~4=f6i5cvhxV~aaC}s zso+ujgp4#T&6ue3f-l*^aQYvc0hnnY$)pfj;Q+=g4y3iHQ|q(p263Et2CZBpi?}N zOW|$+v%T1x%oZq&W0_ykduoW^zZ#CW5>o;k%?TgWJN!1!z~EH;5+$Hlw*!Ogi6sj< z>2l~ZI_NT8p@nP&BRPQ@<0S6?%ke32HZJ8;cCV}-$Z%3y=i8${@BV!?5&08m$RcMG zSp_)5WhR}tT%b2`mfuL6Ex;MJD>20O0-Pa0*P0CY$?5cW&JZE|%o+YW<0d*A7|S?E zS&zrwOZLYavLYu%r^hu+n4EYcF*WgY{G8YYh0ca21-ts)_b@mgSgV`#`m5?# zDVNKk5;;Xs;1HfD78d&pUHPhT^)==DiVx&$O|005Z78I`1Xd;G`$9628N?2 zHU_St7`Tr*f~^!rPMinF&}r1cwV~862UFnTAXJ!V@bFCpS7?X6`WUDX>*+1H%}15r z8lyXcF;YUsSP46FUU9k}wi^iDp%I?tfECcxYV<4vkn3+yA=rKzs;k}LA*;crr(&;@ zv1T^`WtODzqjID;zi_yU%pyfp2`iX>Y5(5^}44*X_eWux{0JGrc^n}MG<wX}^8L9A}pzwX&zpW;I))~5yb%<^Skl`tlNIWfo3|sk5#MT1HAgW~uu|U^ygZ4PN z;iqaM{BPC7e>QF+%`wyY$o;POBLAa7)k4RHUyE!Jt;V%Z&?l`-ib^_{@FDI|%*;ZE zA|gVs1^D@7yN`CXw(%CHsg>cN&Z;e^)|OMnXIyt&KQlNVxEQWU<&_)i3~eucJ7X(z zJ!=sc$}!iexH;UXxL0uxcPr!^>eAIx-?&+KM{{3ori$u9B}!QWe`9rNn)nGB#}8u} zT;*6LQS|`-7^StLgKOrAb0OAJ0ueHg-a9)IoLh1kaC$izpKg z`N8N&O+m%k7SU^l&+d0z-yJdjstCNh0(k0VRK{zd$KAwoPBJanFYH*(7w)N4 zsFH4C6LGjW7Tt@Y;$5M+aGEd1KjmI?Mfe%~b3Q;w6Uw2>>WYkb3RnCNdFe8f5g=R4gT;bJ++v-U#Zbv= zXoI8p>IEtV)G=V2cklw5p>4E>HgO9$SDxt&=iyfu<^#B$&jEc`f=lEue(1;KvQ6L} z_ePyQi{FB=BXjt67z=U?n%+C~DLl}VFyr^pKqGp~73X{Mllj^FIKDj}!~enc;ywa7 zcY?<^p`StlH9$=njd5s~k?UFfcD3Mnx{K_Q1;t3_s&aFK{YlL3T`p5p`+j^A|nGAALIKy zfrFt0c*hoaJN4hLsuR%z-#A0{pE$!yrX=yQ z05WXm_Yj*4AOoY;BA5cma92B=y!#U}{C(U+(BC*i_!~ zVeKO9g$}}hmqCns4|+OLv{{VO+2ofOt5_~C|Q%xBRmVIgO1q` z|646Y!hW#$-Ka4#7%Q}=zR<;v@f`#sJPl=}(^4^cyu3wTBG-}+NH4{w!foCIwL?08 zn2&_6z7*JXMz|{6hAMeeI4aB)8iF-XD1jn8JtR2q3slUXp$mF2;qdt+pd;spoSuhn z##v~F`+x|C;n6q=HSH8M*NYfU@DyytfO8)Ue_&}`)p2--kztsRsF&Zt5%eD84c=g@ z+t|ZSz8?*(VIH=KLx=RMpCJ$mW+#jm z8v%!VHE{d07+bX%cs>%?aE{M}X7NT~#24s$bOUDp4h``!H-z&?XR{T$sdMm~{EnLJ z5`Ou3XfD@D9y-Hgsv4NX6WRd=SD9&ykye9&J*&VnzdNu`!~1X$%yT!m$}Z>(ONL_z zGybKr7w-MfMq!U3s}W-ga0Y^{LJ$QM$mMW4EiZr!PnC4yX@P1&t8*o_KUEWdM~455 zGfa2Mv)6a);+5i8EU+CU{mx;b5%r=jL`TNi6S^igNFtJpB_B(QODrGfRmd&udVuWX z^l)|EV$ZhKwkW0SuMAPyUdRiSI9=qYF#&DbxXWUzGIZz5swL8 zN4+cfeDXfwb;={st+1mWhW~Uo%`|!$w;GBWmh1C$;kt6#%9?bwt}SdGc{|N*7=xw?99ZOXl7~k9voCv@0r617Dk;$zR}k zAspH!>#d*SE|g6g*b4(Ye(Cpe%B1Or>*;Q=g(d|ni}-T|b!40qosY?p!Y#ifx6 zdxDiLfda7$eTmz^o&Y)>U5sJ)ek18$z(mrK{X=L^+6A93qSx>o3gdZnJsK<9cGpO%a2@I7||qd?QR zH*i2yfur;@!(e1sCOF_JRzR<#8v39W(C7FaHAZu03Y5puOm8+0J;fw`I{%pW7s^8Q zNE7^oJam>P^NlfTE*JYAh<&o~xAeq_jZ^sK*TCx=R0Zl7d|WFq+B*t;p&L|j=tO#; z<8Bx7se$Z+|G0{QLf_jUiMnwUkV5wi*)gOM#s7z-f7 z0sbX%pa3#x)wYDT0B3lk^(Fte$4!*7dppxTKKLXDZV9OqUMg~16dheGreUmmTzXt$ z-2Aw-gfmHQMNBC{Md~LR;;u!u3d!()?p4FRq4ShW4{K3qiDCN2+EZ!|rHWib8YHr! z8~T84<#aV$Ycc#`x^2z3`?|$?Dn4EP5(2yewSgb}3BQKkT|6eax;R2zE?RRf^(;5c z_06YD5vD=L979Qr<{qsdqTi& z5%WP56(&OaOKG*Z0ZyffVjHoL z_(+%_#0VGo5n#L%;l&(=zUz974F64fBZbS=<<@e0xuKjalkysLR(Xu;ydk`mkNc2tNdW}Lq+u2_rWEz9HW!RLc{dsc7eByhwo+zyn=I> zAh7Q3h=-FV z?bF~{yU|PCfE>9Py4@^nKOgVkgst}@Q|`yBJHDwjhp^vs@KIewe~-V7U*r@#AUja2Ekivv7`#6P zBU}#w$x&6XP+*vT@M&zM6VYQn15f)$hJuC@&NhHQ>K$7Zt(Q2-f&*&;-60c6<0?Kn7Q}2H`fFMIB)o@H|Pzz7nQ~3hER%&)>_puGcR2$*yl52kj4B5?p55K3U6Hds`-&XPcH`KgA3- zLt8_FG1Iir`~;qe-)*048*R_6yDXK>=Z#$rmEdpKr!B5MuW6$pG$Vl&6BNBNT+T%O^X?r|m21-pqFQb+q^R*_wFUvxVAW1fN6SdL-*O)k`j#<(ssnJl&^)b=m@ zNP!hQiszu8x58`<1JHAKm(E~Dhf-pQm?HKQABZiam*{c6mg_3(mG>BiR#vU6Hic%= z0HZ|9sPU>7)RSizE4ogZsB~7!DQ1kxYAe5&x=7D3V}u@_>(N4MYLSWoe8&I}Vlh0ojc_KrNut zF(xVvuF=aZ&jq5osKzzM@$|saXLB<#vi&Nj;Vbgfp!AeOO(%=3#66;3%D|i&)1`UR zG|ZyWN-8J$!LPalXW0{HxjD}5?|c{FmY#ow_aDUQ_{sS8r7#BmG|)L7x^-vf6Y4ov z%wsc`P6jU3!<-CNz%slre*YwI!LKw(SSB0h|*wg-^WiWYA<3l zs)+}v@xHG)q4gpU{iHMG=l|?y$j|>zdJ`@#bL=5*(OyS+LRBB>{QdKV0*qqs^_U2lHtNB)Pl(HAO8(k#ij?ZBCj?PHO6T99~&#}oNIEywrJ=2%rGrt_<_V)ULFS=$(tWX4H{bgH%>$MN)Ct(&f6MQc z?`@xz-gUk5J?6WoyM1&{ayacHY;P@n&CN`&jpa-g%CT)<+_|L2gqB{t-CKy#&M*fo0E$BGC-VUF<3N;@6aFlU6?Hl6}sY@u7h#rWrP$V z3YCvRAcSY|+?)nVY~fcx+Z)OE;+vtCF3!gx4ukn1K7^0N_<<6L$wr8U!Qeo1;3Zy! zvEoy)bsyyO+VG7>11)64^+WC!cayt^$fhwvg&+C?C9$_gd`HYQGam2T0<5{n-vDCW z;4cB0_5!a~Lv3A*+bZP#Z9uFY*lHCx+7v$f8ydAkb(Vo~u73E0N8DcEP6IB0dy26M z{h>sZLKV>%b;TYy4lQs%6~fFFA#fdr!og4i8bSkL(jXwf7W9ap^9k&b=p_lNW9)hcMCPuF0Vr&_K zXFZ`wW}})ovFhm$WcVY@^d~5MU-yryiDRTUajXDm=+4$5x)^uBkZ>wBV6CP`FjL-zV+Ty-V+)|G?3)_lbz{GP+_@eOaloAJt^Teg%Z@{6Rm{F>X7zuA*o{%H# z6qY0VY!Qw?w_F8P!Xd1OCh;6Oy$dpVEL^?}_Yghwji@fBqPH>&uAv?1sNaR&|FxeU zj67Nw`u#+1DKh#Bj4J2`Cg6m-XfL|(UD*nlhvf;XgMQ%7#h^phMqRN0Rl(N|<742i}^HiF-qbKa6txMd81!Z7D_>1VBB8#CiJKm z>OwV|CagsNXeXSMoA7A9Fdg&t41+e@Tqp%bbp^b{hhGJk^9tx0=r*H6Q3^V44B|fx zXQmxoar5vEuVF-r9vVghFr^W+kh$QId8{8)jP~f8EQPD`7Wa|U@(wuQ_25HSQB7Q& z6aHVw;06a%fq(y=GyLpl$RT}*oC3%&3JT!5&q-_IcZV{r$6oe8SH}M<%^5dbV`kO15f!Yx&eU zQ)gA}3blTze!t3?jCU1>loLzMDY_rInAYC# z-DtmIyJVeVwcA2n7TVLDoZCwG1kb5nyS-=mIDI{Rr~35p-t9TUJQys9w5hKE~o`kJIou^ zQrZBn@JQaTY=bNMoc4rEhZ5a)YGaMrg zzAl4N(R77w5-)P%A)!C2iZ_@^W*}yiivX*?4F6Yu)W&sj%ld{Q8@bIulI0i$unhhG z!`yAeo|8|)_FXalU_KbYUexd>(4YCL1+0a8X&j=l4PO(PHW7Kd5V%Njuz~tm*B$Jm zKR*Dsez*<6mJ6W9{sBKol#mHG(^O#JYHD;x2cc+YKEc0X>LVwmXwW*MoZ;b4|eW&>nMdIdJ4v`RbU}s}!oDqF_c9@T?x@ z`Dz6g)fTxfY8NoM&jU|N=3!e5cSwZDAY$$r@ew#>l2@g8Ybn_&5fOZAj7TE z|IF!>pI>m?L_S%P$S;5l%Yh8b3n0TQelYQ>05Y6ZCK4wLAj2n3DEUcKaDIlra|W;f zXdcKM?I@$-vd?vhX9J&K{gMLS1m*?*5;io_9^;wNz3|PVrnEz44wq*t4Nvc!u{pyh zqfw=>@*PWM6!l819@R4FrdK;>xb3vX-@4mswK;8%tqYO8Q>`x6Tb4ltn89+r zdRBd*a_F$Q;KplSsAtrb>JaD@QK(_ADH|{!W_zVFY7kFFQQo6Ja{?XI`SNJF7ci#^ zbkAtn8)L+CrHj&PX&`)re$p55rg&7`C2kcriL0Qo4i%fDPO+gnxh`D5?WLfiS}6mM zMix+Jp11~E?#2whUzfe8)%W7>VT^V;2VA;_ecgo4dJT`yW1h<+;y!U3X3Sh8u7qy8 z3Vq#;nE7`b_OKDp=K#M3ff;o`&EFLBYt}-YmMr?9{dx_os5f*JRk)1mXE;0uUu&5N zWZ#GICk;pKPy#)rG|Up&6N<-FjAhA!)6vOY#%RnU>?34)e`XDOBU7kXWCCd*2f_8N z!R!?S&~f=l6@uGiHMHCs$o+Ac^)3~oo*H2U?J&VAPDfX%1G-ALrB~7;>6EkrT2TwA z5hbJ)sR)+BQlb;Lq$Kb{5;=OjQwMF@NBBDAeTzR@ldn z0g|MAdU(F>4`jGqfG>P~^6xpr&kCeBl|*=BO6osnZn?$QByJTzh5%s!5dfXx>ul2B zRfR{&0pd{sWXRXFC-Z+ohQE6t|1-`IuL(EYv_5i%dM@^9=f5a$U~oj}xv)7Ar=ym{ zR7u!VcuTQAN_{SWJ)=$aUYV=wj;=qYez&@oT5Br*UUqNM=J6rn1N|PjMY?phgjl9p zaxAwjmn?5A<*cWyO>Hl2tz9m=l(*;DmpHCFe{&N(C7+)D?!mjmBBDyiJd0Bk$0zkj z-kIDnd2Es;@p+ssW>93`(CUFbd~0|`dGPM@-E!QJT0!@M zT!Nnjr3b|YPV(>S`_wDa<5yQVN0Q5J>uXDK%W|{BJjx`RCK#iQj||HVoeW`yE6D6` zbWL=7v>I(`O*?gKumoM#Wsr5@-FxTH4myR@EljMq6K6 z(kv^?<;?Ns4(1$lEz1cYU_EPRYYS@$D{ozADP`Gh_Jkrb!MN6NNPkCX)HOw4b%Lgy zrkSR_rjI5Y{AIdku4awqgyxebLEA&SOuJXRQQJ=&q}{41syV7QggS8;oTe8%*)^5& z&?KUO30j3zKFGQ9Cz*q)>QuZHe=I)GEldiHIlH&XSq&LJ(NHu?#+*eMzR>As#fvKp@Gc9<6Zn4z9gL0;Xs`z%k z9ei_};=uQ1F!uh6d_Z0=FO;VNAqUAlSPSCos$VY0id#c1EV(gDoS)dU=DCyw{) zsNc(AJ=K6l{lI~8po20vrZ><`4uJ{G_@;|w;b^|{pCRB)6VdUU14U*Y7|?QPC|7t6 z-K~Mbad=!RqZ2Y0XKbOE^6Az2ng4|h|5#@zs6fV0zC>vt!=DP|OSUY*aDP=G%L`M8 zfdv%EQ_A6=6v*?M5Hj;8WcWL0_`9FszcX{oZk^U#&auOzoNr#h)nF-XZ8#Gd8`Zy% zXH0rr@kCRR-Nk}R`&4XOb!Mh(gF;OLn)Pg&+c2m0u_`;uo-BGX!B{9XbgTa?FUrl$ z{?=03v{#?59jH!HL$&X9%?*u=uZ=0Dp{7{#DvRF5-#OpCy!TtbAwjvJMIx(5C&XP& za8JHd_-zquic66PNi*a7NAnTOgLC}P`z-KE^&IVybvCDp|ROkx9~Tx0vq z8em;w3AC& z-X(`A9pS8Au541aVdlDR%4TH^=DA*oc`X;?d>%!xf#8il?0lX^&PFw1Tgj9*Ab zH4`LxNv@I|iyJa(lvGrzgjsu=pzdmk`#Mr(e0ri3AqC>qKq(U0w>(~Ng}n^MURR=* z`vTv-wA>Bf>yZ3FCV+6Tyny@U%g^Mi@;=P0HxixTG|Y_i23ya=eB4#=e-V5DZ|Mgl z%YpJr3jLvvw%|@-28kieNsN37r&^KwFw%4ed>b6R8O7j>Yz&uXSGYkY!!Jd{8Mz(R zLpJ)TrJ%js8!m|Q1eUdz4UGLiu+Im`U7#;czm}wnG&&d1lVs+H}tH=V*H9>KU4vdRT_r#@PEfi@Tk2w|VNl zHhFR0U%X~|J@9<&vDv+qn}_QchmT{ieTaRL{eeBmk?CmeDDNN~{p?3va%>x|^(;3{ zWsPg}A-c1go$425tkN9$zpF9=2(Sd`Fdu8WDCtT7c)(T65i=TdT3Y3;nE8G`a`EwR z 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 Sc5)cAi7E;1*?fUnmJtB&Rxqys delta 252 zcmaFM`Id8nmM8NE21W)Da9};O0L)+rXJBDSfiM}~{oldBz*fdo#uNz@0bvG)3MK~j zFN|LpqkwD>W?-;kWnh>r$fUqHVdE49#@OFy&YT5{Bg}LF+5-UyF-q-W`P0DWJvofo OM3n>wZoa@Q%Lo9@X)iPY diff --git a/phsource/vwl_fr/r@ b/phsource/vwl_fr/r@ index 41ece14949c610f87507c3ee9528dffba01f4495..ad2b4334329881a337e7510e5595a18f7aba1ebd 100755 GIT binary patch literal 2266 zcmaJ?c~n%_8Nb_mZ)V=SH_MxiSs56I9odwf89@|R6p^UG$Z6DSj2fb%fCh{UB;`~T zLtJnnE>WSTl@hg(L~S+NirVBPA}&>-#uPPH5u>8^BHD2JNAErF-tYeI@4L(Q-uHVG z#-*oaPZ%GC008fL5tvT<{>96d&sp^X@G{p6FZEftJ~{t|br`z(c^m?ODL@5iGM$?Y zHh~LZI|5u6?1ED$G6i&VCqX#@#Esmjf+7{5TwV>9@&NQA1Oh#5?_#do525CuME3}uZ= zzQ=vdzUS?dtd>c2htyNW(aMdAO!+L?w_Fi7hVyVNnvcvGtxoMkS|FCsV95s(@2h!E94n*F`3MJ% zfz4nG*}d%d>@(KMC2+&(`cWLuwXg*&!xk|eWC{70Br-f@tl=VMf06~s3*{d1k!^Pi;og!3qiC>E)qEl=Tl7u75ROK<=!#64%iY4+x zvddgMdzz^uKjI*AmgF$?Oe=GZIY;}YOa^0M{zXpG)2<^0WD-dxVI-Q2C5y=pa*E#P z9W>%saGoH`(iha!pYc+-)wm5yB$do0%gAa{ zO6Jg=P2?)xh4XPH9)`2=TwI1X;%$_<4Cl}lAE9gLCuGBuaV0*C&)^n(kXkeF7(9hC zoAFKj90Ssck5iAicp`oczl~Sp&G-|%376pU^e%rzC1^N`N8{n&MP+Cnnv6!EWXcLbHl#qe;n#2@ zoDXNf58zSw5IRu`8iO+FKCvi(G8`xx<)9Vl0Qv_a*h%A(fD>^X9z<&_wNhxDVsQ|S z^UvrzdZuM)EDAza6pFIZDjK(TB%|*koVQqK zlAa+2`av^v!&sOON5c#lM@P574v-F-!BY@O(TQ*}%z|F%4KnEN|M>AjnEQKp!30w$&1xLVO$iOyG4=TY@y=z09$SmlfK^Rkt7 zeG2m`8v*e4Q#S>!wtdR=vHBuY9c{ zr_8zhO5u@wFuQG9c}~ih@S)X-=cBiUoe4S+m>={*@Z8WphqZ<8ALxy!ir5`d65$`Q zap28xV|aL2WT-O)1ph7Yy#S-T+V#{g+quWV+t*w3ENjgk^E+nABDY4`=Gp5V7kzI# zTm7p1&91qwwXXH9b*?|S0tbY+F9t*htHZnz)zP;G`zQD%f9vr}eUdgdT^JTM?5p&q zp)qORA@@^$opd1n=3r|~ZsdXRfY84LtqE8^pxwX9?qu|}JLHZF_RaS3_8!|-TdeJ*b)5B#CDl@AmYZMq*#3Na(j=9DH$ zyI0FgdD1SaReB_GI;^`ZosqUlGo=C274150n)be?Rx?J^t*%igt6Nq1DnWHnEEN}v zyF^Y^sR~n{RnO5p))Z=QYKKc3q|1^)H&pkQu1vRC_o;55Zntg|wdd(Fb-}vlQj1h2 zjgyE}ug%b2&`i~wSC3FPsC-mQ#mhpXP_4YhC-NnV!}3m`}%DGlfdwfY2gb7w!o?0uqtfBis@G1C!fF$^ZZW literal 844 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 diff --git a/phsource/vwl_fr/r_a b/phsource/vwl_fr/r_a index 636933bddadd1bb6c5d41c039bb2a8db6b49e53f..53f870febdc94d79718ef82371e24bcd66c0ab15 100755 GIT binary patch delta 809 zcmaKqJ4*vW6h^x zu@w;oBiM=9*w}9)_ybaijo!(`-A$7zW|qS&ch3FpOV3$E&ZVX%=I3UHj^)@Mczyn6 zc`u5hSm1L3mY5a^p~)hXMO+xm_%eVfMJdlDk1IKg1F4D0cTKSxj3XHY(v&7m;a<-l9oSRT$@u%Xj%uiNqp)GRh_Oiv54M=grNzQL>nkg96qUk)bUb#5a}< zgqJBp+Tzy8pgEB2a74Il@hCIcuX}EEgd_Bu*MkGtuwZ%Q+0K~>J10G&YWIX;D&krI zY(Xw!ipMzX-x0QD4}=XUUCR*UI4k0j*u5wEk^=|9Kyndz0tZmg_Swwoq_aWduJ>V37)5uZ-~C^$LHKvO7Qq{q$VIt1j|@{77hE ze^rnvJ)*BD)7lC9B5g-7$@&-U)!`u6U&t(0$*-vI#ndEo#6 diff --git a/phsource/vwl_fr/r_an b/phsource/vwl_fr/r_an index 2a8a96fc2063adf2e9a9d5afb5a6ed2ad5a3e48e..177f0fcfc25acf44abd95a5f9e8dc0b35959a291 100755 GIT binary patch delta 416 zcmZ3+dWlUSIKb68BskEBg@J*gC_XW7qJVWhkjcQv!1;n{31cLX3Bn8v1xyTrF-#Mf zqJV4=W?(qL%pmxJQHH4p$Od5s1_y2i_6Lj)7+Dw@7(keT!GMQ>4_U;7Lxqol16hQD zfnUaf2_*6br~`!U7#J$#7*K>57&MgCkVLFOW`ltSi~*-7ZaM|_!Mp!E7#LW~n97(C zo|wSI!2Shj5yBG{tPBilOlnA;sNsf)AUyE^C=$UG!2}a|_kRx$1H&GsJ#Y~Qh7Mtf b2-p*jV81g+A_;*-9ORKj@OfhLGsXh|CI>>i delta 288 zcmcb_wv1IEIKb68B-k~Og@J*gC_b@nqJVWhBLn9PrX`F(5rzUL2EiDn2}~gN0cHll z7mPAswgWc<`vb-YU^NCj415r_35NX|4vKh)JFK1c}0EV|Y ANdN!< diff --git a/phsource/vwl_fr/r_e b/phsource/vwl_fr/r_e index 50b71e0731f194f50fbb643c9319e4fbb960f5c3..872daa1ddd353b8a71751c8605e80253929846a4 100755 GIT binary patch literal 851 zcmds!ze)o^5XQfoyS@B5HNhmPaCkx_q_z@7To6UHQ6ePT*eFb>ZbZW{b!{Fm*$^;wnktgmk@1Q@Um?3511FV@N%EW-ZCBJgLP_?060!3EVI1 zicMyVN<{}Y0pf7t3Yqf`Nno(4={IRNPc5=1MM-OCA|JQ0i(~8~L=iRA(ZCuaG_l2c z6)UK6U*{wxeB#s`cbH5t4P{1EoL|NQ(8+%WM6G6$Gp>;-PvsZG?*15iV-3qSXxO$42U*1N`yok8yh>Z2th1TBw}G!<7hfC;&~ zETN1F)~OdThXQAxkzqZBG*gEQ#rL~p8TMqkdaQXQde))qQP{8ptw_U@0-LyrJe9%m;;9N!t^{8Lt@;)@?X*@C&~YD=NDA(OeX*U delta 280 zcmcc2ww#qCIKb68B-k}@B8PqbyZ=)e7?^G`y<=hk0tvqzyxD!D070@Dhw73 zZVa{zG7KCH!VDq|q732;@{?s4Pu5p$-@w4Y+Q(D|)_a4|f#V(24OdwkSe2k|2;*j8 xR$@{DtKr~rU=Cmk0JGQeHZZPZS_ftqh&C{-hq^&QhJgXbwo+gMi{o;`OaK%KFYN#T diff --git a/phsource/vwl_fr/r_o b/phsource/vwl_fr/r_o index 1fb3708a177971847b8501066acfc0380cd01479..b61651ae53ad42a10354efe11e3707c2c6e4978b 100755 GIT binary patch literal 851 zcmds!ze>YU6vn@tcghV8e;(b_?C#o$`KLg$9>c=V`?q&M^{H>TGbDIZ{)5_`L;)>o8SXrkbE4fD eGl?lCO-2=9L?eSd)pDZU!Ny+_)lKq$-1!Bk(NKi| delta 280 zcmcc2ww#qCIKb68B-k}@B8PqbyZ;jy7&xXdO<`gHf(?ue0zVkfFoM_$%no91OdMcw z5iSSb2aFHE;!}7Wcp&U||10~5}JFp;Q;5h5X_SOruJh&DD#ghU$~pFl7Kv9PqTNMmE=BiLz? z%ECvmvd9ypN?{?yGqY@F*GF&;XXc;poY|e>Zyg`(pSDi6Qoz;4wdPVpd^G*{=WyTj zzLp-XbgYdxJu#ZRfc}s;lP;66sVI-tSe=VD3E!H+lloK-qD?|0OM0k=%2Qwx3NuME zn(WMxOZN0v@C+Ht36s!UyVFThug1x?X|kgpiRrpQgF|*%B}0)Ci86jpiVd_z&NLlR*4Nq#cC{OkgGyAM%fmQB1zV!O? zS962CpS$45-rYGdeF~1X1x9|}yuN|o)!mpoeN8&)PS1y$u4(7aZ9XKt#7#NQ+9b;ku0u4q6(QAy?7(whOObq-J7|(#& z37iaU4;UYS**v@q91!-q|2F&#oG|eTQVh&6c7+@R1B|Vq+`t54t1wtFxG~r=$S`m) z2s4N;-Pvq@48cS+un-{E_deKZ|>~Q?r9(G@13-dH(dZ%=Qn~LMS8T%`%7H6 zyw9~kBrWT}o1d7>9sqwRLpf!aCQx!vzH~x4qt*n%43$D~ufXGsrSEd>DSePnKg(o@>CpfJA2v-A}@W8)-utpA-m{$2wtJXCvlE%09=i z*YKTsgWaEd|1i3{bz=T0u&hIv_<8&K2AIC|Q|>$qGE@FR>&~?S8q!F)bC-{ab!SY{ cm9AJaDgYxHrO0DBCe|HP|B_ZMP5zHNzlZ8iC;$Ke delta 280 zcmcc2ww#qCIKb68B-k}@B8PqbyZqO8D@LH*3EZ1@39T(9hG_f@LoOoT>5#az$~9><(&pAKDAJ*s zNR6#)GYX>>*`G?Q#YhO&(ha2MPqUdyWfC`+K|f2>)S_PKd^_KH-se2edB5*D=j`!} z%#H3sH{ntglb`` z)m3X)wXotK2C-F`R@LHcQ`_B2O*0HiF&yyt@PaT^ST(~KhWcBEVE4Nl>@?>ivp9M2 zZ58ugO-u9-`3L=?Jsn45ZsLB|WuF_-aN_4Fi^ct7xtdtuh3_o&zQ2E5$~_a%JpDe@d~7r1*| z>8^Tbuj6}b%-F~DLB2$pe3C15mp-dU^;dG;u0uLS|H8wv-j_JaRh-9na~7}RI^M@$ z$d3M$@e?28_ql;XJe$u_CvB$t=?=P;k|~2qsg6FR30lNYa3`PQ>zu5EdZC`L6ZK{B zb?`E0v4l_z6CXWtfgWnLF?buA(*?p(HNi$GDN3xru9~ z^<2I{@6Z+s(@LtKO|*;J=?zgfQl&icI*#J+m`V|fQ6HV4<8(++4V6>1CK_SeC8|tJQQWI*9sLO;4!wR?u(jW!WAzP{%h(Z%Q2R1wnk3uOd g1PvpqOU2aNYEX@;Ys!KoD7bOuNKC2jK6sG-1K`a41^@s6 delta 328 zcmX|+KS~2Z6vlr$nVH>e7R(<}(KI$87HI@KA(oyX#DI{(GXxPO7qCdcGk5_Da{vo( zAmkkBZ2aD=I>R^bd%tgav$O5IRIAfv_?VN{Rrn^k}okAqSj^^*PdS zwAG!^r67?1??{wyQYr7M7AYxlA}va#jl_an(DQx*=Hn&g~zj`X9*O8^-_u diff --git a/phsource/vwl_fr/raa b/phsource/vwl_fr/raa index 4ac54632db4f345e673104c2d2f36a14f6653320..11998d04771c76d17d8be960e4dbdb5d965b8e04 100755 GIT binary patch literal 2267 zcmaKtd3;T08pq%5oOACz%U#aha@XACy4fQe*>kT%h&4o{Xp~MdRM8Y62~E_JwBs{E zG_^!gOOcGu$fTI0EoLY)f@wdkh-HwBrW4c<6e;sYw0!!~W?`-O-D05FB95RIpO zw;Zy0woi`J?=QDAb@y~2d$)JC8$tVgGD?5J%m622;3uB&}B--p>fa1 zLftXgBmmHanx2uKsVn4O(nX_sZd&|)O?=K5N%B*to+|hk>u1BEoTMg(Xun+BI)}#p znEz3Ki~m`NZ11#`nA;5*@&V06X}GXnm93nv_?j!`MsQxv$7OQqTr6keZnBN+3O0ug zVijx`^F7nXTw=aqjx!BR4O7NUX3`it^O&@gQ{;0}PwL2SdN+`xo{b0MK3IRj@Gn>g}yaN~DY&;0(;#s&Hug9CI=VF{kM|^;;pdXMOkH?kxAU=hg@qTJe#Ut

e+-l@DmJ3Cq7CeX5q2;CHw|nfj8oh@CICpN7KFh9hIWNC=rdO-*z>sMf*`BI*97g z9<&LqL<`U>Xb|d$;!qZviQcDu=g}?n2zAr-UPE8e_EuDmW~1?F2uh`1VaSeD=mz`} zu7`8rRQN7D4DUl1N<$-1Hk~IP1yK(tibZ*7DcXnrg$Q=hyd>ddoPhh$E1p_uG*9t3 zgy#82^bK9pVl)zkAR7utxoA1fTN_f)_mD_4G8AWFFOB!dJidd@(Nk1|O6ci|MFMJv zjj)ogAq@sV3-rKvm_=NuVIeGo%U~&-2Y&;Hz);A*R!|2j!FF&ITmkn12W9Aec=t%<)8pr3 zD{Ffd=I7H0fbRu`=~0ef3IuEi+75da=4JdNcoP9_KB`2$3Nw{>;UNsP9nkhnVSK9h zfsY5=Wq29(D$Fvm5kv_Ik8(35>gVUrF>PmL+`He{gJdq&IYKSZi#3+Wa9i#*E1~ zPTBtYgE_W&{tNtzh8DLJ8%pv^xJ9omUR_%H&duc&@7`T`ZI$1e2~}lPZ>-@fUs{=0 z?pkuG=uiQe(K@LjFKtBR!0P0)v6~}Kh3pG12>C8_R`_2dS|j)N^+i=h?Tjjo3XEFc zw927I?i_FG> zaT&e=chY{FvM;ftzb!65dS7Hv_}@ZS1+DGV7FZSVg=?AXwu=OAac}qB44xd;7BMC2 zpD}*@!sG8J%uFguHl=t|ZY4(~|CBf*VNw49aYv$szM%UR*zFF)W@WC(lY5isa9&2V${D^-&0T3v}$s+C$uTL z-8x>LEbow8Og_H2E&K2-liZkDU$ zQ8JP1bXmG{+KJk;njxBcwV!&CbWuzetA*=)GGD4XsO(g@6vbQwH<`Q7H7d%L!&Qji z!w(Qn2m{1gk(F|!RnlkD1^Nf-r1j@gm6R`8q%-0YF2%ibv aLYz2FtQ7Z&&Ei$@w%9Eq2}#}JP4R!7Y(<*@ literal 845 zcmaKqL2DC17>1vnWRuNiNt#A$t--cbLOfKfwxYD^iWIyEmR7A&!Gc#oJcJ^JUV9Mf z$(twpAKF6%58^)%uRZn$?HHf>f_}HYpW~Q3&6Y0O~-4A zd`rXcuLkop{8T*eWyYRzX1L@1!6B5ouIrv_l?7}$%Ke}pypXnlr4ZV#?LJ6bz;<;& ziUC-_p2)gecNys=&~v>U*=-I;Upp++^y6$zM$*YVS@er6b%yFhOt8R1W>sl2LY;Gr zaapXzxc=dYW)~PGBBVU*B}&p264ggFM!pi`M5@H97CZ~3LIQ;;`$nYE=8?}u?JbBD zMJ((D%dxmAJIB6IRyEdm@AsEqx*)YQ{4wQ4E@kYA=!u&@|LCaFvD*(aZ{9i@8*a~K z-h3<2I1XAlZ_+B|qu?mWoR~|fohFxRM5jr;l{zDt6I&PghjeDzIr2YmuE?2`6}_J> zJG^0+k9_4bFS*Y$bKLO0O)cD$=+cpF}EAirTyB8;&AmkRhDv^;(M-`8^L)vFPFikaWR~UyU8}P%h_x; zkX5i<%uh@kbBXzZImR?FHB1>ZnMq~rOb=-%C&|~Op45?D^ll(W$R*N40+=l3UFLT* z#>i%}MeHv24BNxHxI}I+9Y31mxn{PIW!Pe-oh%@qkR*nu9xJ&h#UB;H%0gw0a+PwJ z@{po~JIg*|mas_ifwE1-s_&^Agu&u(#SRf_y2NkAQqd*W3(3Mkb(;Dx@8KI%PSpbC ze#J$ujXlBClAmxeIYn}rI;MrW!knh+X0 zbDLiOAScL9QbIC`jRjg}yd4+dEIbJ3;F-7_ufvS42R=e0X5z8sMf*@AI)LiY zZnP1tK=aWXXb|d$Vo@fVfj*|s&ZArC5$dMvy@tM{{Vk{*%|heR5R^i_LXjP*&<*%4 zTnA^veE2>*1n)x^N<|}37M&*!1yTfz9FP0aD~?*JG*59j znCAHx^aEYfA~X^OBO3}sIcOQpTN_f)_mDs{G8AWG4~_T5Jidd@(Nk1|O6ci|L2A?v z8(}3~Ln`!x7U+g?Far*UnJ}LAI>A5*anV(E8srhpaeY+?;fsvdi=a> zW$iPCd2t#6@V=rjy~^>T90Y)ENA1rQ=5_oFxDLyt!|=>=g~=x#c$D+XJ+KEpQy8!6 zW6-Gt@@04#K2w;bLL*QMK>Lz#`e`^{JjlN!06ck8W&@;`yi}M4jxzM$B*@?U3i*Eu zGtF_rKP47Q9>26l=_50QLD7T0 z$!HuHo9-QOC-v9KdlRnrx5ef~?TrWw`*ZNhz%_l^{Hy%FaV>S-b`k&00o&X+gC>Wz zg-?n6TeMHVu(#WVz z1J*fKV4Y^E_qkzqne$9LjKnz4&?PUDHFCW)PnssJmn8YPyvMM|xX;vNZt&S?DX>P_ zF4*3&ciAU78XWf=E@zxG(HY`YI?p*aI7U0V?VsA??8j`QY$vU0)>@0w^19Df^A(ei zX}Gb}@TGiL@<^ZPdvtSjceU?nP1-+b#%UCqqvBd|srZ3dE4GW#nvXR1H2KX zE?K`z&r6e~?NW>MK;mR9-;z#Bo202yAL){QwLV>cN4G^cLU&JFqfODaXbLofW}jFl z&KI|foTgF}u05rlp?jz+(qGpPmexuaC8Io0eoHQwH^`sMyX777dTP&-v*Zx@iPS7r zNuwkp)#)?!=X4WwXSGAL^%@_|Lh+)IBvh+A`6RwnbwJsna4CwpaBebppKDZKYKm%->P^~KsCKGOtDdN0`Puvz{J;4A>Js%= c>TY$cFjc4&_6p6yRpGYKEg%tz-NH@b-)GNDhX4Qo literal 844 zcmaKqO=}ZT6o#LBn@J`!v58HrwHDh_C~;B0D~ewuQqYB9sUKAoT-aqdU4$ZnS#}}f z9}xTnZgml%i1Z({>n^%*;W9g+`ko2NOk6mZbI*I8bMKuQ-n;T(>CVHIJ4<)3Pu1#EgsUDtKbq%Gij0P}v{zmv9rH*t>? z99X~ykyXFyGt#L*$9HmMtKK7B?Xb{u;$MWfJhxyyn&b!t>O&N!#V zrkKzl)>NHjjF5oRU=%4zm#L^frW~f72rm*7sXLOgKq|l~OxYQsvejWa7qoXoq#$Bp zZ?HKMH)Zd!6H4kv%C~-huH8#NJPCGY`hU>R8G9tucXRj8w!As;2RUzkx_14$+sk>g zQ%V|#?$Bl4{3_Gfcl$1LqH=`VFj*Vjj)zHmih_~Mo6S>gKTMi)Nsj!_n=^7IVOjU5 z#aq_d;yvH^$O~?>#5pdezRfVpWuEKa-4I*kJU6+|6O9F~s=A_eXPK76O)e=<$fIiN tUX`PaDk`eu)PXQ{v#dFiN3lBQMO`;xTsLEqIgMG4$@fS-TW9W+`3n!xTHF8t diff --git a/phsource/vwl_fr/ri b/phsource/vwl_fr/ri index e0f835f89eff13d88cd7fc88a293f0190940748c..5ba4c4131f406eb56f15ec9c0cedaa839fb22768 100755 GIT binary patch literal 2266 zcmaJ?c~}%j7O$(jXQronj_x^_lK~uHIOI}pW&}|@QADB!qu)kdjZs5X6wrVXg=GC! z6eS)QH6Br6&8{p_7jo#XMt4Qsg%fae)V3}tJnR0 zJ!Vv9M(&u=F$e(g?hFK`(7AW>v6VBIJp+8q)uIc}C0w6c@Ju=ggL-)!0Dvh(g=joo z8xJ;sb6^VsTsQ276DTqP+~bacN&<)*xzP%WtN@kD8nB25;3+~N00iz)ThL{Sj6>sI zAPe5X4L!wd3toE^c?A?UQZv|{Qej5IeR0?&y1c9A+MyDf-+KJ+D^?Fsda=PL>u9zFac{v}K$)$6#oQdmVo7m-S z4jarW*ly-Wrk%OOe9s(X8kt(AjG4@&F?QxL=^!V`m!yHzlil=bBuB_4@|XlM+01*) z@2QWG&0>q#-Rv3mG3(-zxWRP)7>?&!*g}?Jir*0Gmi@y^)MX2c(zY$ACm)Ibr2w$ty)rWa6->7n` z7Ag-YE^_Vc38s$xh(pOKlE>6Dt;`kXG@TbQS&WhS7db|wT}=wfIFd>tNGusi7LaY^ zIK9tp+W$#TkX@vNWDy-{#ar=gJP`N6GB)5~JOnSmpWz!gjLaZg$+zSIF)(h%!vr!~ z<_`6%B~yr-T*IGIuXJkfkKH&1r(z#Yq?!tMpwH0~Gz>YBg^so8E*gq!a2u9LI+;cm zljWq0%%mrq$z{9)7vO9>2B z@C0hvjIZM-7?4hUgnG=vWASVFZM+EHo3XrEBNWE%XTW(0H$*Z>hc&RiN2uJQ{*hsZ|)VBNe&{ zzk%!F95@wz01v_Y(1p^_2$W6FiATZI!ii#09$Jd_p?@HPT{JIAI2kA4ezeC^DUIeS z9*5FA|BSw;F)cG=?-704>lB<6$No4zpka)oy@oAQLo$UqA>&$HMV22l`+jdTGQR`t8 z%Z3>+3Ob+>I$=MmO@)Q943@)EI1l~`4uKxXz&211s=#(|1Y8040S6`MeR%h9)wA;R zu~l`?8Rlg*0^sY#Fi)A|Wm^jXYC~Nw80K~SGcdz4&E;1NGnIJZDFqPZR}AA*tp#Uz zpq7#Rf<4NGCh(2`gd~*o0^#)2@p3I-%Tf6&hI#VDV+CXx&DMVzW}ySn-1bI70+qdx z|Hm-X9VY@)!*gP{BqXFHq_w0ard>_RNj4-EC%%#BO)N|Jxc}hTnnbF<( zRj;kct8gv3RP=QLn9(+=GB0gJ zMg>N#?|VJc6d4&29qtMPp1*~>7i@CZ1pN|_>)Pey9cyfpt*b0v%R3gys5no-W(tF1 z27Q&;G%zm1H{ed%uT%CVUhi*<%a7g{865tX(3Qb!`m_gD2Ylr!cinc8z%4=B-CZG* z!`dUJMEyO+uU~ll{e+oGMaiZVZ_2IYh~!@qXCy4@KOpXKw7Rb++!Jbb3xNjzEc+qL zHnV858IKvd43msM8OuyPrm^N_<_hyfvta(j6m2?f++^Hq>*9xrDEe(D*%`S7kX{V7G=Nr1^#j-|jkmgI%r45oKAD8zU_8Rw_n$3-Vn=A#^ zXxjzbyY_DTBuAs;p2OvgcP2SKPNnmlW20lVqsRWSJ>GuIHp+I=nr^MLC@ru1Z8Kjn z`I&|rOAVjPcO|d%k^Zr6uI{e(eXU9RN6k2mLUUAHCzgvJigjX#7^C^E=ALG%woRL( zJFZL7@7D9uWNC-gDm{=m8Oyh%lhS5sn$$0jiA{t zmWd0*9U`Zx(nM%aX=myl>WcK&^@F8#(nZNA50u}ME98yxr}7?or@Vp6v*m2rBR`Q^ zq-trDM5KCsmj0Y>qVBAAh_*rFr&%Ok6q1D+^$k9mFI62>b}C$oVlIN4%-!dj6cx(h zD#Y*M2dIy$2MBcnE9QtR#V^DQ^bgcY$1lZdF<-QZr-da#w9u~JsLofr)ereI`~iLo z{~LZGKaJ1j2k;TRi3j`-suop)YJ+O2sz5bGHA(d*ohwzlRHs!>RB`+q{xkmHe1CO` e`U`cBI!>4-R0;cp7U8OJTj&vxh{PVDOZX4T*g{VL literal 844 zcmaKqziU%b6vsdBCNFt;Nla{Fjjh<0LWx4P{-|jE^+XCTf~EebqTt}-Ac#XKQfP-N z9YkDobMlYSA#T#OlM0>s7dT~e(C@jSc`u9ia?U;HbIyG~?)NU=Uc7Nt@JSqfdI;VWy#vv!0YB6IpV}H<@b>qWxfud2TYRN`pEz z4l~Mev7@x~hjnG+j1Uo09Lxd*#U(1Lk7$j2CB})AiB-*c7Agt}WER;oBCVE3-siP9 zCz2O2vp1NJ#VxY;*b|DX##*oa`TR=+T%lRn6}l-(8GSM$f;56X7k?~FFBV57D- zq|Hu5wK=5C&oY&!Yi7>C08uiE2k;G=SsNYoQLyrnOr&-!4R1%ycm4m>-zKOcPVblrxi2C{=bP2?asM;?&?CYyPi`IPz? z*(|o0-NF9IK4M*5A~%SxAI%9|D_h7iYzfmzipU2fi4iDc1sA3Giy~NAsH{`2R1Q_{ zS9EbF*$2#G7Af9ScJQp~wyH@SB>h?HlAyX<`c^8FTvDT$EPkU(R~-;MLKE-cidThXfcrc!iKfzaUD49++k?+VoVqn}%2;C*78-(UaXXetI+;oql4Ycv z%%D4)$$7jL7vO9>5a;5VxB{=i8z^%j&Z8^dLl@95$cD$^D!dOL!>xD^wWi?Vcsymc z;LG?i2BZrgq#iTz82k!;6EDN-@JDzpF2kefUH*>B&>)n6M$vD(7S*FYs2S};jc6xY zkCvnP=ruGD^+T~J3(Y|9)49{=I(mS5=y@-p@920Fsz9^QI5ZfgP*y0iAs$_Y-@-L; zHk<rQCwo7p^QTd*|BH%6D%qzqG<<)%fc2>Ni&jRj(}1t8gtk zSNu%@nBG3IGB0&_#DLnQlQA2@j|J}zDhU25WM8|8WOGyPMn8Fm@>m|DzDKI<(7)+paIzHiyO zZ4>QH_S<%sBhHcN2yrMKr|j$OqwGDl4{dR_!@eVZk6F{L^%kY&RiDk~3nm}aFk_kF z3;iwGBY&WKq@AO^rFlnV(tNHSt5&EFNvowL(tA?9)G0-)|D?XHo}y{jsyD!0k^WKNIu*X3jK26?L7M?R-prOVLW)Naxa*WT9DX;L(8>H@W>-XoPu^QEm4 zr>;_mYmRGXXzy!_b(eL6IKqSF-fddT@jLmGJc=3OW{(KaN*n}?heyK~dQ`FE YRIy6jEw+jm#T#Oeh$JNSh}Xpb0S^mB-v9sr literal 844 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 literal 850 zcmeH^u}T9$5Qe|o++Hq;h?s~9LIfpPTM1D-5N&Lf2#MA{fk+Usu(YtSvG*;sxXS17 z8B$#-#DDMDyTjhj9cK5RZ)fgycSdK&M;D{>T?5?S7_PO}M`AzUiZ}_s)?Ra2u`yv; zF`IutG&NImsVwJkXJ}?Y7FNHhY|Kzy>j0daSTYpDi|}msw; diff --git a/phsource/vwl_fr/xr b/phsource/vwl_fr/xr index b98b3606e9cb88d4c8150c29ba0f87bc7524b003..93c421493497a1caf48c08a312ce87816bc1cde3 100755 GIT binary patch literal 830 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 diff --git a/src/compiledict.cpp b/src/compiledict.cpp index 5a89cb93..3d63065d 100755 --- a/src/compiledict.cpp +++ b/src/compiledict.cpp @@ -1061,7 +1061,7 @@ static char *compile_rule(char *input) if((c = buf[ix])==0) break; if(c==255) { - fprintf(f_log,"%5d: Bad phoneme [%c] in %s",linenum,bad_phoneme[0],input); + fprintf(f_log,"%5d: Bad phoneme [%c] in %s\n",linenum,bad_phoneme[0],input); error_count++; break; } diff --git a/src/formantdlg.cpp b/src/formantdlg.cpp index b90d245c..8940b4c5 100755 --- a/src/formantdlg.cpp +++ b/src/formantdlg.cpp @@ -103,6 +103,7 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w int xplace; int id; wxString string; + wxString control_name; int height; int width; @@ -139,77 +140,85 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w if(ix < 7) { + control_name.Printf(_T("Formant %d"),ix); t_pkfreq[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace,y+24*ix),wxSize(44,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); } + control_name.Printf(_T("Height %d"),ix); t_pkheight[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace+46,y+24*ix),wxSize(36,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); if(ix < 6) { + control_name.Printf(_T("Width %d"),ix); t_pkwidth[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace+84,y+24*ix),wxSize(60,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); } if((ix == 0) || (ix > 6)) continue; if(ix < 4) { + control_name.Printf(_T("Klatt bandwidth %d"),ix); t_klt_bw[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace+150,y+24*ix),wxSize(40,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); } + + control_name.Printf(_T("Klatt parallal %d"),ix); t_klt_ap[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace+192,y+24*ix),wxSize(36,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); + + control_name.Printf(_T("Klatt parallel bandwidth %d"),ix); t_klt_bp[ix] = new wxTextCtrl(this,id++,_T(""), wxPoint(xplace+230,y+24*ix),wxSize(40,20), - wxTE_CENTRE); + wxTE_CENTRE,wxDefaultValidator,control_name); } y=224; - t_timeframe = new wxSpinCtrl(this,T_TIMEFRAME,_T(""), wxPoint(6,y+0), wxSize(52,24), wxTE_CENTRE,0,500); + t_timeframe = new wxSpinCtrl(this,T_TIMEFRAME,_T(""), wxPoint(6,y+0), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Frame length")); t_orig_frame = new wxStaticText(this,-1,_T("mS"),wxPoint(61,y+8)); - t_ampframe = new wxSpinCtrl(this,T_AMPFRAME,_T(""), wxPoint(104,y+0), wxSize(52,24), wxTE_CENTRE,0,500); + t_ampframe = new wxSpinCtrl(this,T_AMPFRAME,_T(""), wxPoint(104,y+0), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Frame amplitude")); t_lab[3] = new wxStaticText(this,-1,_T("% amp - Frame"),wxPoint(159,y+8)); y += 40; - s_klatt[KLATT_AV] = new wxSpinCtrl(this,T_AV,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_AV] = new wxSpinCtrl(this,T_AV,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt AV")); t_klatt[KLATT_AV] = new wxStaticText(this,-1,_T("AV"),wxPoint(61,y+4)); - s_klatt[KLATT_FNZ] = new wxSpinCtrl(this,T_FNZ,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_FNZ] = new wxSpinCtrl(this,T_FNZ,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt FNZ")); t_klatt[KLATT_FNZ] = new wxStaticText(this,-1,_T("FNZ"),wxPoint(159,y+4)); y += 28; - s_klatt[KLATT_Tilt] = new wxSpinCtrl(this,T_TILT,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Tilt] = new wxSpinCtrl(this,T_TILT,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt tilt")); t_klatt[KLATT_Tilt] = new wxStaticText(this,-1,_T("Tilt"),wxPoint(61,y+4)); - s_klatt[KLATT_Aspr] = new wxSpinCtrl(this,T_ASPR,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Aspr] = new wxSpinCtrl(this,T_ASPR,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt aspiration")); t_klatt[KLATT_Aspr] = new wxStaticText(this,-1,_T("Aspr"),wxPoint(159,y+4)); - s_klatt[KLATT_Skew] = new wxSpinCtrl(this,T_SKEW,_T(""), wxPoint(202,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Skew] = new wxSpinCtrl(this,T_SKEW,_T(""), wxPoint(202,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt skew")); t_klatt[KLATT_Skew] = new wxStaticText(this,-1,_T("Skew"),wxPoint(257,y+4)); y += 28; - s_klatt[KLATT_AVp] = new wxSpinCtrl(this,T_AVP,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_AVp] = new wxSpinCtrl(this,T_AVP,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt AVp")); t_klatt[KLATT_AVp] = new wxStaticText(this,-1,_T("AVp"),wxPoint(61,y+4)); - s_klatt[KLATT_Fric] = new wxSpinCtrl(this,T_FRIC,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Fric] = new wxSpinCtrl(this,T_FRIC,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt fric amp")); t_klatt[KLATT_Fric] = new wxStaticText(this,-1,_T("Fric"),wxPoint(159,y+4)); - s_klatt[KLATT_FricBP] = new wxSpinCtrl(this,T_FRICBP,_T(""), wxPoint(202,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_FricBP] = new wxSpinCtrl(this,T_FRICBP,_T(""), wxPoint(202,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt fric bandwidth")); t_klatt[KLATT_FricBP] = new wxStaticText(this,-1,_T("FricBP"),wxPoint(257,y+4)); y += 28; - s_klatt[KLATT_Kopen] = new wxSpinCtrl(this,T_KOPEN,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Kopen] = new wxSpinCtrl(this,T_KOPEN,_T(""), wxPoint(6,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt KOpen")); t_klatt[KLATT_Kopen] = new wxStaticText(this,-1,_T("kopen"),wxPoint(61,y+4)); - s_klatt[KLATT_Turb] = new wxSpinCtrl(this,T_TURB,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500); + s_klatt[KLATT_Turb] = new wxSpinCtrl(this,T_TURB,_T(""), wxPoint(104,y), wxSize(52,24), wxTE_CENTRE,0,500,0,_T("Klatt turbulence")); t_klatt[KLATT_Turb] = new wxStaticText(this,-1,_T("Turb"),wxPoint(159,y+4)); @@ -219,7 +228,7 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w y = y2 + 46; t_amplitude = new wxSpinCtrl(this,T_AMPLITUDE,_T(""), - wxPoint(6,y),wxSize(52,24),wxTE_CENTRE,0,y+130); + wxPoint(6,y),wxSize(52,24),wxTE_CENTRE,0,y+130,0,_T("Sequence amp")); t_lab[2] = new wxStaticText(this,-1,_T("% amp - Sequence"),wxPoint(61,y+4)); // t_timeseq = new wxSpinCtrl(this,T_TIMESEQ,_T(""), // wxPoint(6,400),wxSize(52,24),wxTE_CENTRE,0,500); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 09a893a1..4aaf7b8e 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.43.12 13.Mar.10"; +const char *version_string = "1.43.14 29.Mar.10"; const int version_phdata = 0x014300; int option_device_number = -1; diff --git a/src/translate.cpp b/src/translate.cpp index ff690a51..658927dd 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -1501,7 +1501,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa { char *p2; int ok = 1; - int flags2; + int flags2 = 0; int c_word2; char ph_buf[N_WORD_PHONEMES]; @@ -1520,15 +1520,15 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa if(ok != 0) { + strcpy(ph_buf,word_phonemes); + flags2 = TranslateWord(translator, p2+1, 0, wtab+1); + if(sylimit & 0x100) { // only if the second word has $alt attribute - strcpy(ph_buf,word_phonemes); - flags2 = TranslateWord(translator, p2+1, 0, wtab+1); if((flags2 & FLAG_ALT_TRANS) == 0) { ok = 0; - strcpy(word_phonemes,ph_buf); } } @@ -1537,6 +1537,11 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa // not if the next word is end-of-sentence ok = 0; } + + if(ok == 0) + { + strcpy(word_phonemes,ph_buf); + } } if(ok) @@ -1551,6 +1556,8 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa } else { + if(flags == 0) + flags = flags2; // no flags for the combined word, so use flags from the second word eg. lang-hu "nem december 7-e" flags |= FLAG_SKIPWORDS; dictionary_skipwords = 1; } diff --git a/src/transldlg.cpp b/src/transldlg.cpp index 8c660eca..a529707b 100755 --- a/src/transldlg.cpp +++ b/src/transldlg.cpp @@ -288,7 +288,7 @@ TranslDlg::TranslDlg(wxWindow *parent) : wxPanel(parent) attr.SetFont(font); wxClientDisplayRect(&x,&y,&width, &height); -#ifdef PLATFORM_WINDOWS +#ifdef PLATFORM_WINDOWS if(height <= 768) height_ph = height - 416; #else @@ -298,12 +298,12 @@ TranslDlg::TranslDlg(wxWindow *parent) : wxPanel(parent) t_source = new wxTextCtrl(this,T_SOURCE,_T(""),wxPoint(0,4), - wxSize(298,250),wxTE_MULTILINE); + wxSize(298,250),wxTE_MULTILINE,wxDefaultValidator,_T("Text input window")); t_source->SetDefaultStyle(attr); t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262), - wxSize(298,height_ph),wxTE_MULTILINE | wxTE_READONLY); + wxSize(298,height_ph),wxTE_MULTILINE | wxTE_READONLY,wxDefaultValidator,_T("Phoneme translation window")); y = height_ph + 270; t_translate = new wxButton(this,T_TRANSLATE,_T("Translate"),wxPoint(4,y));