From fc0bd7fe798f67c71fc3c112f90c833c4d0584ca Mon Sep 17 00:00:00 2001 From: jonsd Date: Sun, 13 Mar 2011 13:30:04 +0000 Subject: [PATCH] [1.44.42] Phoneme definitions. New keyword "prevoice", always add murmer before a voiced stop, not only after a vowel. Fixed bug in nextVowel() condition. Fixed bug is condition "isRhotic". Command line options. On Windows, -- means don't treat following arguments as options. --help output now should the espeak-data path. Tools->Lexicon. Redesign Lexicon processing for Russian and Bulgarian. Numbers. Fixes for Hungarian ordinal numbers. Fixed bug where double .. was ignored. Fixed bug in reporting word event lengths in callbacks. Fixed bug in reporting marker event positions in callbacks, when non-ascii text. SSML. Allow single as well as double quotes around strings. Fix bugs in SSML "prosody rate". Speed. Only use Sonic speedups greater than x2. Use custom eSpeak speed settings when Sonic speedup is used. Mbrola. Look for Mbrola voice also at /usr/share/mbrola/xx/xx espeakedit. Try "aplay" and then "play" to play sound. Languages: Kannada (kn) now in official release. Esperanto (eo) change prosody. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@257 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/af_list | 14 +- dictsource/af_rules | 14 +- dictsource/da_list | 381 ++--- dictsource/da_rules | 1436 +++++++++++++---- dictsource/de_list | 26 +- dictsource/de_rules | 46 +- dictsource/dict_phonemes | 147 +- dictsource/en_list | 13 +- dictsource/en_rules | 20 +- dictsource/fr_list | 61 +- dictsource/fr_rules | 30 +- dictsource/hu_list | 413 ++++- dictsource/hu_rules | 28 +- dictsource/id_rules | 10 +- dictsource/it_list | 10 +- dictsource/it_listx | 151 +- dictsource/it_rules | 17 +- dictsource/nl_list | 134 +- dictsource/nl_rules | 130 +- dictsource/no_list | 2 +- dictsource/ru_rules | 1080 +++++++------ dictsource/ta_list | 27 +- dictsource/ta_rules | 552 ++++++- dictsource/tr_rules | 62 +- docs/add_language.html | 273 ++-- docs/phontab.html | 2 +- phsource/b/br | Bin 2122 -> 2122 bytes phsource/b/xbr | Bin 3172 -> 3173 bytes phsource/compile_report | 228 ++- phsource/g/gr | Bin 824 -> 1228 bytes phsource/g/xg | Bin 3172 -> 3172 bytes phsource/intonation | 6 +- phsource/ph_albanian | 2 +- phsource/ph_armenian | 9 +- phsource/ph_consonants | 18 +- phsource/ph_dutch | 87 +- phsource/ph_english | 8 +- phsource/ph_esperanto | 9 +- phsource/ph_french | 14 +- phsource/ph_german | 96 +- phsource/ph_hindi | 9 +- phsource/ph_italian | 24 +- phsource/ph_romanian | 2 +- phsource/ph_russian | 398 +++-- phsource/ph_tamil | 19 +- phsource/phonemes | 47 +- phsource/vdiph/ai_5 | Bin 6756 -> 6756 bytes phsource/vdiph/ooi_2 | Bin 49750 -> 53881 bytes phsource/vdiph/ou_4 | Bin 0 -> 1988 bytes phsource/vdiph2/{e[u => e_u} | Bin phsource/vowel/a_2 | Bin 6755 -> 6755 bytes phsource/vowel/a_3 | Bin 10121 -> 10121 bytes phsource/vowel/e_mid2 | Bin 8314 -> 9002 bytes phsource/vowel/ii_3 | Bin 17633 -> 19098 bytes phsource/vowel/ii_7 | Bin 0 -> 6756 bytes phsource/vowel/ii_en | Bin 959 -> 0 bytes phsource/vowel/o_8 | Bin 10011 -> 11303 bytes phsource/vowel/vowelchart.png | Bin 72462 -> 72886 bytes phsource/vowel/y | Bin 10625 -> 11571 bytes phsource/vwl_fr/@2r | Bin 2681 -> 939 bytes phsource/vwl_fr/a2r | Bin 2681 -> 939 bytes phsource/vwl_fr/aa2r | Bin 2682 -> 940 bytes phsource/vwl_fr/br | Bin 1678 -> 1678 bytes phsource/vwl_fr/e2r | Bin 2681 -> 1233 bytes phsource/vwl_fr/e_2r | Bin 2682 -> 1604 bytes phsource/vwl_fr/ee2r | Bin 2682 -> 2682 bytes phsource/vwl_fr/i2r | Bin 2681 -> 939 bytes phsource/vwl_fr/lo | Bin 0 -> 862 bytes phsource/vwl_fr/o2r | Bin 2681 -> 939 bytes phsource/vwl_fr/oo2r | Bin 2682 -> 2682 bytes phsource/vwl_fr/r | Bin 849 -> 849 bytes phsource/vwl_fr/r@ | Bin 1532 -> 1532 bytes phsource/vwl_fr/r@2 | Bin 1533 -> 1533 bytes phsource/vwl_fr/r_ | Bin 2266 -> 2266 bytes phsource/vwl_fr/r_@ | Bin 2061 -> 939 bytes phsource/vwl_fr/r_a | Bin 2061 -> 939 bytes phsource/vwl_fr/r_e | Bin 2725 -> 1603 bytes phsource/vwl_fr/r_i | Bin 2061 -> 939 bytes phsource/vwl_fr/r_n | Bin 3389 -> 3389 bytes phsource/vwl_fr/r_o | Bin 2061 -> 939 bytes phsource/vwl_fr/r_u | Bin 2061 -> 939 bytes phsource/vwl_fr/r_y | Bin 2061 -> 939 bytes phsource/vwl_fr/ra | Bin 1528 -> 1528 bytes phsource/vwl_fr/raa | Bin 1529 -> 1529 bytes phsource/vwl_fr/re | Bin 1896 -> 1896 bytes phsource/vwl_fr/re2 | Bin 1897 -> 1897 bytes phsource/vwl_fr/ree | Bin 1529 -> 1529 bytes phsource/vwl_fr/ri | Bin 1896 -> 1896 bytes phsource/vwl_fr/rj | Bin 1896 -> 1896 bytes phsource/vwl_fr/ro | Bin 1896 -> 1896 bytes phsource/vwl_fr/roo | Bin 1529 -> 1529 bytes phsource/vwl_fr/ru | Bin 1896 -> 1896 bytes phsource/vwl_fr/rw | Bin 1896 -> 1896 bytes phsource/vwl_fr/ry | Bin 1896 -> 1896 bytes phsource/vwl_fr/tr | Bin 1678 -> 1678 bytes phsource/vwl_fr/u2r | Bin 2681 -> 939 bytes phsource/vwl_fr/xr | Bin 1271 -> 0 bytes phsource/vwl_fr/y2r | Bin 2681 -> 939 bytes platforms/windows/espeakedit/src/speech.h | 4 +- .../windows/espeakedit/src_copy/speech.h | 4 +- platforms/windows/windows_cmd/src/speech.h | 5 +- platforms/windows/windows_dll/src/speak_lib.h | 48 +- platforms/windows/windows_dll/src/speech.h | 5 + platforms/windows/windows_sapi/src/speech.h | 6 +- src/Makefile | 5 +- src/compiledata.cpp | 16 +- src/dictionary.cpp | 7 + src/espeak.cpp | 15 +- src/extras.cpp | 135 +- src/menus.cpp | 2 +- src/numbers.cpp | 23 +- src/phoneme.h | 3 +- src/phonemelist.cpp | 2 +- src/readclause.cpp | 23 +- src/setlengths.cpp | 50 +- src/speak.cpp | 6 +- src/speak_lib.cpp | 21 +- src/speak_lib.h | 56 +- src/speech.h | 5 +- src/synth_mbrola.cpp | 8 +- src/synthdata.cpp | 20 +- src/synthesize.cpp | 16 +- src/synthesize.h | 4 +- src/tr_languages.cpp | 91 +- src/translate.cpp | 72 +- src/translate.h | 8 +- src/transldlg.cpp | 15 +- src/voices.cpp | 4 +- src/wave_sada.cpp | 1 + src/wavegen.cpp | 7 + 130 files changed, 4808 insertions(+), 1934 deletions(-) create mode 100644 phsource/vdiph/ou_4 rename phsource/vdiph2/{e[u => e_u} (100%) create mode 100644 phsource/vowel/ii_7 delete mode 100644 phsource/vowel/ii_en create mode 100644 phsource/vwl_fr/lo delete mode 100755 phsource/vwl_fr/xr diff --git a/dictsource/af_list b/dictsource/af_list index 2cc0594a..f1e15a08 100755 --- a/dictsource/af_list +++ b/dictsource/af_list @@ -207,7 +207,7 @@ _3o d'&:r _7o s'e@v@n _8o _'ax2 _9o ne@x2@n -//_0Co h'On@rtst@ +_0Co h'On@rtst@ // Place names @@ -234,6 +234,7 @@ boekarest bukarEst bogotá bOgOt'A: bolivië bul'Ivi:@ bonnievale _^_EN +boplaas bo@plA:s bordeaux bOrd'@U boston _^_EN brittanje $2 @@ -991,6 +992,7 @@ bewend be@v@nt bewering b@ve@rIN bomaat bo@mA:t bordegoed bO:rd@x2ut +borgene bOrx2@n@ boskaas $2 bostaande b'o@stA:nd@ bourgeois _^_FR @@ -1020,6 +1022,8 @@ dagorde dax2_Ord@ dagster dax2st&r daisy deIzi darem dar@m +dawidster dA:v@tst&r +déjà _^_FR dekade dEk'A:d@ dekreling dEkre@l@N deurentyd dy@r@nteIt @@ -1105,8 +1109,8 @@ helaas he@l'A:s here he@r@ herero hEr'E:ru herrysenis h&r'eIs@n@s -hiernamaals hi:rn'A:mA:ls hierso hi:rsO +hippie _^_EN hoera hur'A: hoewel huv'&l hokaai hOkAI @@ -1163,6 +1167,8 @@ kwansuis $2 lasagne las'anj@ libido l@bidu +liefdespel lifd@sp&l +lipstiek lIpstik lokaas lOk_A:s londense lOnd@ns@ lord _^_EN @@ -1200,7 +1206,7 @@ nadele nA:de@l@ nadenke $1 nagana nag'A:na namens nA:m@ns -nasaréner nasar'e@n@r +nasarener nasar'e@n@r nassau nas'@U nature nat'yr@ nalatigheid nA:l'A:t@x2eIt @@ -1429,6 +1435,7 @@ vorige fo@r@x2@ voëlent fo@@l_Ent vraprys frA:preIs vrek fr&k +vu _^_FR waarskynlik $2 waarskynlike $2 @@ -1443,3 +1450,4 @@ wentaktiek $1 willens vIl@ns wysgere veIsx2e@r@ +êrenster &:r@nst@r \ No newline at end of file diff --git a/dictsource/af_rules b/dictsource/af_rules index 243da88c..3f91b51c 100755 --- a/dictsource/af_rules +++ b/dictsource/af_rules @@ -432,6 +432,7 @@ _) bor (dA@ b%Or // geborduur/bordeel/bordele borde (r bOrd@ // fix stress and e sound: borderak/-ke bos (A@ bOs? // bosaap/bosoorlog/bosuil + bo (skrif bo@ // fix o sound: boskrif/-te and compounds bo (v bo@ // fix o sound: bovlak/-e and similar bowen bo@v@n' // bowenal/bowendien braille breI:l_ // braille/-boek/-drukker/-masjien... @@ -939,8 +940,12 @@ CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese + _eend) e (CA @ // fix e sound: eendedam/-dans/-kuil/-pastei... + _eend) e (lig e@ // but: eendelig/-e/-heid _meid) e (C @ // fix e sound: meidekamer/-naaier/-praatjies pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc. + _siel) e (@ @ // fix e sound: sielesmart/-troos/-wroeging... + _siel) e (tjie %i // but: sieletjie/-s vreugd) e (C @ // fix e sound: vreugdefees/-klokkies/-lied/-tyd... vriend) e (C @ // fix e sound: vriendepaar/-woorde juwel) e (C @ // fix e sound: juwelekissie and similar compounds @@ -995,6 +1000,7 @@ Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds @) erts (_ _&rts // fix e sound of many compounds ending in erts @p) e (rtjie @ // fix e sound: helpertjies/wegkruipertjie + @C) e (maal_ @ // fix e sound: enemaal/telkemaal C) e (maat @ // fix e sound: onderdele-/platemaatskappy and similar @C) e (male_ @ // fix e sound: enemale/telkemale C) e (man @ // e sound: briewemandjie/derdemannetjie/dowemansdeur/semantiek/semanties/Weideman @@ -1052,6 +1058,7 @@ l) e (moen @ //fix lemoen and compounds Cy) e (C+ @ // fix connecting e sound in compounds like byekorf/skilderyemuseum, etc. eier eI@r // eiergeel/eierwit/leierfiguur/leiergroep + @C) ei (land _,eI // insert short pause: skiereiland and many -eiland compounds @) ei (sen _'eI // (on)veeleisend/spoedeisend mang) el (A @l_ // fix e sound, pause: mangelontsteking/-operasie and similar r) ei (sen 'eI // rondreisend @@ -1817,6 +1824,7 @@ ha (we hA: // fix stress and a sound: hawearbeider/lewendehaweafdeling hia (sint h%ij%a // fix stress: hiasint/-e and compounds _) hi (bis h%i // move default stress: hibiskus/-se and compounds + hierna (maal h%i:rnA: // fix stress and a sound: hiernamaals/-e higië (nA h%ix2%ie@ himne himn@ // fix i sound: himne/-s and compounds hin (doe hin // fix i sound: Hindoe and compounds @@ -2217,6 +2225,7 @@ flik) kerkers k@rk&:rs // fix e sounds: flikkerkers/-e weder) ker (A k'e@r // wederkerend/wederkerig bottel) kers k&:rs // fix e sound: bottelkers/-e + fees) kers k&:rs // fix e sound: feeskers/-e and compounds @) ker (sie_ k&r // fix e sound: koekkersies and similar compounds kete (l ke@t@ // fix e sounds: stookketel/ketelmaker and many similar compounds _) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse @@ -3923,6 +3932,7 @@ &) rele (_ r'e@l@ &A) reel (_ r'e@l // stress: immoreel/kultureel/struktureel/tekstureel/temporeel reti (re r@t@ // fix stress and vowel sounds: retireer/retirerende + retina rEtina // fix e and a sounds: retina(loslating), etc. _) retro (@P5 r%Etr%u // fix stress and vowel sounds: many words beginning with retro-: retrogressie/-f, etc. re (ü r%i_ // fix stress and e sound, insert pause: reü¼nie/-s and compounds/reünifikasie @@ -4346,7 +4356,7 @@ stie (beu st%i // move default stress: stiebeuel and compounds @V) stiek st'ik // statistiek/akoestiek/artistiek and many similar @) sties =st%is // statisties/akoesties/artisties and many similar - sti (let st%i // move default stress: stilet/-te/stiletto + stile (t st%ilE // move default stress: stilet/-te/stiletto/stiletskerp stil (swy st@l // move default stress: stilswy(g)end/-e sti (pulA st@ // stipuleer/stipulering/stipulasie stof (o stOf? // fix 1st o sound: stofomslag/-omslae/stofopskoppery @@ -4893,6 +4903,7 @@ _) versf f''&rsf // fix stress and e sound: versfragment/-e ver (sie_ f&:r //words ending in versie ver (sies_ f&:r //words ending in versies + vers (kuns f&rs // fix stress and e sound: verskuns and compounds vers (panor f&:rs // fix stress and e sound: verspanorama/-s ver (spring f''&:r // fix stress and e sound: verspring/-er/-kompetisie vers (v f&rs // fix e sound: versvorm/versvoete @@ -4945,6 +4956,7 @@ volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc. vol (hou_ fOl // exception to: vo (lC f%O vol (maan fOl // exception to: vo (lC f%O + vol (mag f''Ol // fix stress: volmag and many compounds vol (mane fOl // exception to: vo (lC f%O vol (prop fOl // exception to: vo (lC f%O vol (r fOl // volrond/-rooi/-ryp: exception to: vo (lC f%O diff --git a/dictsource/da_list b/dictsource/da_list index 10590fa1..97e62e42 100755 --- a/dictsource/da_list +++ b/dictsource/da_list @@ -110,7 +110,7 @@ _18 '&d@-n // PB a changed to & _19 n'ed@-n _2X t'y:w _3X tR'&#Dv@ //PB [tR'ADv@] changed to [tR'&#Dv@] -_4X f'WRV //PB [f'W:*3] changed to [ f'WRV] +_4X f'W:V //PB [f'W:*3] changed to [ f'W:V] _5X h&l't*es // PB [a] changed to [&] _6X t*'es _7X h&lfj'&rs // PV a changed to & @@ -281,7 +281,6 @@ z sEt // PB English words bondage _^_EN -volleyball _^_EN dj _^_EN deadline _^_EN night _^_EN @@ -334,7 +333,7 @@ pickup _^_EN pidgin _^_EN ranger _^_EN receiver _^_EN -research _^_EN +//research _^_EN remake _^_EN roadie _^_EN run _^_EN @@ -380,8 +379,6 @@ clarence _^_EN $alt cyrus _^_EN cia _^_EN $alt fox _^_EN -jones _^_EN -larry _^_EN $alt leroy _^_EN $alt luke _^_EN $alt mansfield _^_EN $alt @@ -393,7 +390,6 @@ reynolds _^_EN $alt purvis _^_EN washington _^_EN $alt white _^_EN $alt -//chicago _^_EN $alt // PB French words croquis _^_FR @@ -410,7 +406,7 @@ arbitrage $alt bagage $alt bandage $alt blamage $alt -bondage b'VndidS $alt +bondage b'VndidZ $alt brækage $alt camouflage $alt collage $alt @@ -528,7 +524,7 @@ venerab $alt veritab $alt vulnerab $alt -// PB adjectives and nouns with final -ant - stressed a +// PB adjectives and nouns with final -ant/ans - stressed a acceptant $alt adjudant $alt adoptant $alt @@ -675,6 +671,36 @@ variant $alt vindikant $alt volant $alt ækvidistant $alt +// -ans +brillans $alt +diskrepans $alt +dominans $alt +finans $alt +impedans $alt +induktans $alt +instans $alt +konduktans $alt +konkordans $alt +konsonans $alt +konstans $alt +kurans $alt +luminans $alt +monstrans $alt +observans $alt +ordonnans $alt +performans $alt +pomerans $alt +protuberans $alt +prægnans $alt +redundans $alt +relevans $alt +reluktans $alt +resistans $alt +signifikans $alt +stimulans $alt +substans $alt +tolerans $alt +varians $alt // PB nouns with final -ade - stressed a ambassade $alt @@ -948,6 +974,7 @@ signal $alt sjakal $alt social $alt special $alt // beginning of a word - specialarbejder +spektral $alt spinal $alt spiral $alt subliminal $alt @@ -1085,113 +1112,113 @@ tvivlagtig $alt tyvagtig $alt // PB words with final -an - stressed a -aeroplan $alt -agraman $alt -altan $alt -angloman $alt -Aserbajdsjan $alt -astrakan $alt -banan $alt -bavian $alt -Bhutan $alt -biblioman $alt -bladan $alt -bojan $alt -brahman $alt -butan $alt -cardigan $alt -cellofan $alt -dekan $alt -dragoman $alt -dulcian $alt -elan elAN $alt -ensian $alt -erotoman $alt -eufoman $alt -filigran $alt -galan $alt -hortulan $alt -human $alt +aeroplan $alt2 +agraman $alt2 +altan $alt2 +angloman $alt2 +Aserbajdsjan $alt2 +astrakan $alt2 +banan $alt2 +bavian $alt2 +Bhutan $alt2 +biblioman $alt2 +bladan $alt2 +bojan $alt2 +brahman $alt2 +butan $alt2 +cardigan $alt2 +cellofan $alt2 +dekan $alt2 +dragoman $alt2 +dulcian $alt2 +elan elan $alt2 +ensian $alt2 +erotoman $alt2 +eufoman $alt2 +filigran $alt2 +galan $alt2 +hortulan $alt2 +human $alt2 hvordan vVd'&n $alt -inhuman $alt -kapellan $alt -karljohan $alt -Kasakhstan $alt -katamaran $alt -kleptoman $alt -klodrian $alt -koran $alt -kumpan $alt -leguan $alt -lian $alt -ludoman $alt -mangan $alt -marcipan $alt -median $alt -mediterran $alt -membran $alt -merian $alt -meridian $alt -mesan $alt -metan $alt -momentan $alt -monoman $alt -morian $alt -mytoman $alt -narkoman $alt -norman $alt -nymfoman $alt -obsidian $alt -ocean $alt -oktan $alt -Oman $alt -organ $alt -orkan $alt -osman $alt -ottoman $alt -partisan $alt -pelikan $alt -pemmikan $alt -platan $alt -polyuretan $alt -profan $alt -propan $alt -pyroman $alt -ramadan $alt -rejnfan $alt -roman $alt -safian $alt -safran $alt -sakristan $alt -samaritan $alt -sedan $alt -shaman $alt -simultan $alt -sopran $alt -spontan $alt -subkutan $alt -Sudan $alt -Tadsjikistan $alt -Taiwan $alt -talisman $alt -tarlatan $alt -tartan $alt -timian $alt -titan $alt -tukan $alt -tulipan $alt -Turkmenistan $alt -tyran $alt -urban $alt -uretan $alt -Usbekistan $alt -uvan $alt -valerian $alt -varan $alt -velan $alt -veteran $alt -vulkan $alt -ætan $alt +inhuman $alt2 +kapellan $alt2 +karljohan $alt2 +Kasakhstan $alt2 +katamaran $alt2 +kleptoman $alt2 +klodrian $alt2 +koran $alt2 +kumpan $alt2 +leguan $alt2 +lian $alt2 +ludoman $alt2 +mangan $alt2 +marcipan $alt2 +median $alt2 +mediterran $alt2 +membran $alt2 +merian $alt2 +meridian $alt2 +mesan $alt2 +metan $alt2 +momentan $alt2 +monoman $alt2 +morian $alt2 +mytoman $alt2 +narkoman $alt2 +//norman $alt2 +nymfoman $alt2 +obsidian $alt2 +ocean $alt2 +oktan $alt2 +Oman $alt2 +organ $alt2 +orkan $alt2 +osman $alt2 +ottoman $alt2 +partisan $alt2 +pelikan $alt2 +pemmikan $alt2 +platan $alt2 +polyuretan $alt2 +profan $alt2 +propan $alt2 +pyroman $alt2 +ramadan $alt2 +rejnfan $alt2 +roman $alt2 +safian $alt2 +safran $alt2 +sakristan $alt2 +samaritan $alt2 +sedan $alt2 +shaman $alt2 +simultan $alt2 +sopran $alt2 +spontan $alt2 +subkutan $alt2 +Sudan $alt2 +Tadsjikistan $alt2 +Taiwan $alt2 +talisman $alt2 +tarlatan $alt2 +tartan $alt2 +//timian $alt2 +titan $alt2 +tukan $alt2 +tulipan $alt2 +Turkmenistan $alt2 +tyran $alt2 +urban $alt2 +uretan $alt2 +Usbekistan $alt2 +uvan $alt2 +valerian $alt2 +varan $alt2 +velan $alt2 +veteran $alt2 +vulkan $alt2 +ætan $alt2 // PB words with final -at - stressed a acetat $alt @@ -2852,59 +2879,6 @@ uræmi $alt vasektomi $alt økonomi $alt -// PB stressed second syllable in words with initial ge -gebet $alt -gebis $alt -gebommerlig $alt -gebrokken $alt -gebrækkelig $alt -gebyr $alt -gebærde $alt -gedigen $alt -gedulgt $alt -gehalt $alt -gehejmeråd $alt -gehenna $alt -gehæng $alt -gehør $alt -gelassen $alt -geled $alt -gelejde $alt -gelinde $alt -gelænder $alt -gemak $alt -gemal $alt -gemen $alt -gemyse $alt -gemyt $alt -gemytlig $alt -genom $alt -gentil $alt -genuin $alt -gepard $alt -geranie $alt -geranium $alt -geråde $alt -gesandt $alt -gesandtskab $alt -gesims $alt -gesjæft $alt -geskæftig $alt -gespenst $alt -gestagen $alt -gestalt $alt -gestik $alt -gesvejsning $alt -gesvindt $alt -gevaldig $alt -gevalt $alt -gevandt $alt -gevind $alt -gevinst $alt -gevir $alt -gevækst $alt -gevær $alt - // words with final "in" - stressed i aborigin $alt adrenalin $alt @@ -2957,7 +2931,6 @@ gardin $alt gasolin $alt genuin $alt glycerin $alt -gobelin gob@l'EN $alt gratin grAt'EN $alt grosgrain $alt harlekin $alt @@ -2990,8 +2963,6 @@ lapin $alt latin $alt latrin $alt lecitin $alt -lignin $alt -lin $alt (log-in) lVk'en $alt lupin $alt magasin $alt @@ -3090,7 +3061,6 @@ eukaristi $alt faresti $alt fedesti $alt garanti $alt -graffiti grAf'iti $alt haiti h&'i:ti $alt homøopati $alt idioti $alt @@ -5809,6 +5779,7 @@ adjunger $alt administrer $alt admitter $alt adopter $alt +bortadopter $alt adoucer $alt adressere $alt adsorber $alt @@ -5930,7 +5901,7 @@ bardere $alt barrier $alt barrikader $alt basere $alt -bastarder $alt +bastardere $alt bastardiser $alt bastoner $alt basuner $alt @@ -5982,7 +5953,7 @@ chasser $alt chiffonnier $alt chifrer $alt chikaner $alt -chokere $alt +choker $alt cirer $alt cirkuler $alt ciseler $alt @@ -6069,11 +6040,11 @@ diffunder $alt diftongere $alt digitaliser $alt dikter $alt -dimensioner $alt +dimensionere $alt dimitter $alt diner $alt diriger $alt -discipliner $alt +disciplinere $alt diskriminer $alt diskuter $alt dispenser $alt @@ -6086,7 +6057,7 @@ dissider $alt dissimiler $alt dissocier $alt dissoner $alt -distancer $alt +distancere $alt distingver $alt distraher $alt distribuer $alt @@ -6135,7 +6106,7 @@ ekskommuniker $alt ekspander $alt ekspatrier $alt ekspeder $alt -eksperimenter $alt +eksperimentere $alt eksplicer $alt ekspliciter $alt eksploder $alt @@ -6238,6 +6209,7 @@ forcer $alt formaliser $alt formatere $alt formere $alt +opformere $alt formuler $alt omformuler $alt fortificer $alt @@ -6280,7 +6252,7 @@ geler $alt geminer $alt generaliser $alt genere $alt -generer $alt +generere $alt gerer $alt germaniser $alt gestikuler $alt @@ -6302,8 +6274,8 @@ gratiner $alt gratuler $alt gravere $alt graviter $alt -griller $alt -grimasser $alt +grillere $alt +grimassere $alt ggrubliser $alt grundere $alt gruppere $alt @@ -6892,11 +6864,11 @@ plastificer $alt platiner $alt plettere $alt plisser $alt -plomber $alt +plombere $alt plæder $alt pocher $alt poetiser $alt -pointer $alt +pointere $alt pokuler $alt polariser $alt polemiser $alt @@ -6971,7 +6943,7 @@ præstere $alt prætender $alt psykologiser $alt publicer $alt -pulser $alt +pulsere $alt pulveriser $alt punktere $alt purer $alt @@ -7111,7 +7083,7 @@ rouletter $alt rubricer $alt ruinere $alt rumster $alt -runder $alt +//runder $alt russificer $alt rytmiser $alt ræsonner $alt @@ -7172,7 +7144,7 @@ socialiser $alt soigner $alt solidariser $alt sondere $alt -sortere $alt +sortere $alt // Problem woth sortere = "blacker" and sorter = "sorts" soupere $alt spadser $alt spaliere $alt @@ -7185,7 +7157,7 @@ spender $alt spionere $alt spolere $alt sponser $alt -sponsorer $alt +sponsorere $alt stabiliser $alt staffer $alt stagner $alt @@ -7206,8 +7178,10 @@ strabadsere $alt stranguler $alt stratificer $alt strukturer $alt -studer $alt -subjektiver $alt +omstrukturer $alt +studere $alt +indstudere $alt +subjektivere $alt sublimer $alt subordiner $alt subsidier $alt @@ -9333,6 +9307,7 @@ manuduktion $alt masturbation $alt materialisation $alt meditation $alt +medaljon $alt menstruation $alt migration $alt million $alt @@ -9641,12 +9616,12 @@ syndrom $alt teknonom $alt // -on list -ballon b&l'VN $alt +ballon //b&l'VN $alt beton $alt bouillon $alt +chiffon $alt diakron $alt interferon $alt -epsilon 'ebsilVn $alt futon $alt føljeton fWljet'Vn $alt facon $alt @@ -9656,7 +9631,7 @@ melon $alt neuron $alt kupon $alt postillon p,Vsdilj'VN $alt -perron pER'VN +perron //pER'VN pompon $alt progesteron $alt salon s&l'VN $alt @@ -10619,6 +10594,7 @@ eksaminator $alt eksekutor $alt eksperimentator $alt elevator $alt +eliminator $alt emulgator $alt eskalator $alt evaluator $alt @@ -11090,6 +11066,7 @@ temperatur $alt tinktur $alt titulatur $alt tortur $alt +trubadur $alt // PB final -skop - stressed biblioskop $alt @@ -11152,20 +11129,9 @@ idé id'e // idea ny ny // new også Vs@ // also idet id'e // in so far as -bleg blaj -blegrød blajrWD -blegrøde blajrWD@ -//blege blaj@ -blegemiddel bl&#j@mid@l (rub og stub) R'Ob||V||sd'Ob slags sl'ags // sort, type tre tr'e // the number 3 -//barber bAb'er // PB barber -//barbere bab'eV // PB barbere -//barberer bab'eV // PB barberer -//barberes bab'eVs // PB barberes -//barbererne bab'eVn@ // PB barberene -//barberenes bab'eVn@s // PB barberenes rejicere rejis'eV // PB should not be pronounced [raje] rejicerer rejis'eV // PB rejiceres rejis'eVs // PB @@ -11178,7 +11144,6 @@ konfirmand kVnferm'&nd // PB konfirmander kVnferm'&nd3 // PB konfirmanderne kVnferm'&nd3-n@ // PB konfirmandernes kVnferm'&nd3-n@s // PB -//dollar dVlV // PB giv g'i // PB the v shouldn't be pronounced giver gir // PB the v shouldn't be pronounced jaloux sj&'lu // PB jaloux @@ -11210,13 +11175,13 @@ shampu Sjambo // PB Danish pronunciation - oo has been replaced b (diner transportable) din'e|trANspVt'abl@ // PB (quiche lorraine) kiS||lor'E:n: (fait accompli) fEtakVmpl'i // PB +(salt lake city) s'Vlt||lEjk||s'iti 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 siger sir // PB silent d (tids nok) tis||n'Vk // PB silent d skateboardet sk'eitbo@d3D // PB -billie bile // PB the name Billie (hole in one) h'oulinw,0n // PB English golf expression used in Danish (en passant) AN||p&s'AN (coney island) 'kouni||'ajl3nd // PB @@ -11228,6 +11193,7 @@ saigon sajg3-n // PB Saigon managua m&n'&:gw& (deja-vu) deSja||'vy (il duce) il||d'u:tSj@ // PB Italian Fascist +(idiot savant) idi'o||s&v'AN // Abbreviations pga pO||gR'O?n||& $hasdot // PB short for 'på grund af' @@ -11294,7 +11260,6 @@ hav hAu $atend sig $atend $sentence saj // end of a sentence - han vaskede sig. (gør sig til) g,Wr||saj||t'el // PB (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 // PB avoid [staj] as in "flæskesteg" (han steg) h&n||st'e (hun steg) hOn||st'e @@ -11306,11 +11271,6 @@ steg sdaj $atend $sentence steget ste@d // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day -// PB problem with lyst - blond = light coloured; and lyst = would like to, feel like -(lyst hår) lYst||hOr -(lys farve) lYs||fArw@ -(er lyst) &r||l'Ysd -(lyst til) lWsd||tel // PB legende = legend/myth and = playing (en legende) en||leg'End@ legenden leg'End@n @@ -11360,3 +11320,4 @@ nå nV $atstart // PB Nå, der er du (det der) d'e||der (de her) d'i||her (de der) d'i||der +(gå på af) gO||p'O||& diff --git a/dictsource/da_rules b/dictsource/da_rules index a54aebc0..0e81081c 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -33,17 +33,23 @@ a & // PB changed from [a?] au (_revoir %o // PB au revoir + au (_pair %o // PB au pair-pige a (lt & // PB alt, overalt vr) a (lt A // PB vralte // PB general rule: [A] after r - r) a (_ A // PB bagfra + r) a (_ A // PB jura, zebra + fr) a A // PB bagfra + laur) a A // PB name r) a (en A // PB rivieraen Cr) a (n A // PB transport r) a (n A // PB ran, ransage tr) a (C A // PB straf, traf, trav + str) a A // PB ekstra r) a (L06 A // PB trappe r) a (CL04 A // PB generation + vibr) a (to 'A // PB stressed + r) afae Af&'e // PB Rafael r) a (ting Ej // PB r) a (t a // PB ratgear r) a (d A // PB rad, radmager @@ -51,7 +57,7 @@ r) a (s a // PB rasende, brase r) a (v a // PB fraværende, rav, rasende, ravage L01r) a A // PB grad, gral - br) a (l A // PB cerebral, bralre + r) a (l A // PB cerebral, bralre, general, ralle kamer) a A // PB _hurr) a 'A // PB stressed a (dvar & // PB terroradvarsel @@ -76,14 +82,17 @@ gn) av (pot Aw // PB gnavpotte torn) ad (o '&d // PB stressed n) a (p A // PB + n) a (palm & // PB // PB General rule a between L02: [A] L02) a (L02 A // PB mappe - too broad? L02) a (L02e & // PB hvabehar - too broad? - L02) a (L02rL04 & // PB fabrik - too broad? + f) a (L02rL04 & // PB fabrik L02) a (L02le & // PB vable L02) a (L02ser A // PB babser + m) ameluk Am3l'u // PB p) apegøje ap@g'Vj3 // PB + p) a (v+ & // PB pave, pavillon sn) a (vs A // PB L09) a (j a // PB maj @@ -96,21 +105,22 @@ // PB general rule: [a] after consonant before m C) a (m a // PB ham, gamle, lam, Sam - C) a (mL11 & // PB Samantha + s) a (mant & // PB Samantha a (ms a // PN Amsterdam pyj) a (ma '& // PB pyjamas c) amaro &m'Ero // PB Camaro (car) + lig) a & // PB ligamester - // PB general rule: [&] after l before m + vowel +// PB general rule: [&] after l before m + vowel l) a (mA & // PB lama _rekl) a (me '& // PB stressed // PB general rule: consonant + a + labial + front vowel - C) a (L02L04+ & // PB vitamin, dynamit + C) a (mL04+ & // PB vitamin, dynamit, kamin gest) a (po 'a // PB kad) a (ver '& // PB stressed r) a (L02L04+ A // PB bravo -// f) a (vo+ a // PB favorit + f) a (vo+ a // PB favorit willi) a (m a // PB name alab) a (m '& // PB Alabama a (mf A // PB amfetamin, amfora @@ -125,6 +135,8 @@ k) a (+ & // PB kage, kaste _chik) a (ne '& // PB stressed sk) a (k A // PB skak + k) abaret abar'E // PB + _b) are (t ar'&# // PB stressed _mak) a (b '& // PB makaber - stressed // general rule: [&:] after consonant before "ne" @@ -133,6 +145,7 @@ // PB general rule: [a] after k before p L10) a (p+ a // PB kappe, kaptajn, handicap + L10) a (pL04+ & // PB kapitel dac) a (po '& // PB stressed k) a (pL11+ & // PB [&] before a/e - kapacitet, kapere k) a (pre & // PB @@ -144,8 +157,8 @@ // PB general rule: [&] after sk before p/b sk) a (L06+ & // PB skab, beredskab -// PB general rule: [A] after sk before p/b + t - sk) a (L06t+ A // PB skabt +// PB general rule: [A] after L01+ p/b + t + L01) a (L06t+ A // PB skabt, gabt // PB general rule: [a] after k before m k) a (m a // PB kam, kamp @@ -165,7 +178,9 @@ underd) a (nig '& // PB stressed a (fvi A // PB afvise ad) a (m A // PB name d) a (g@+ a // PB dagbog, daggry +// d) ag (-+ aw // PB dag-job d) a (gs@ a // PB dagsorden, dagsaktuel, dagslys +gammeld) a (gs & // PB d) agger (t AgV // PB mand) ag (s & // PB mandagsmiddag tirsd) ag (s & // PB tirsdagsmiddag @@ -175,7 +190,7 @@ underd) a (nig '& // PB stressed lørd) ag (s & // PB lørdagsmiddag sønd) ag (s & // PB søndagsmiddag hverd) ag & // PB hverdagskost - dd) a (g & // PB middagstid + dd) a (g+ & // PB middagstid _d) a (m_ a // PB dam _d) a (mm a // PB dammen d) a (fn a // PB dafnie @@ -197,6 +212,7 @@ underd) a (nig '& // PB stressed // PB general rule: [Au] after m/n before g (au) L09) ag Au // PB nagle + m) agne (t Aun'e // PB magnet m) ag (i &g // PB magi arm) agna (c &N'A // PB m) ag (asi ag // PB magasin @@ -217,10 +233,11 @@ underd) a (nig '& // PB stressed // PB general rule: [A] before cc a (cc A // accent b) accarat akar'a // PB + st) a (ccato & // PB // PB general rule: [Au] after b before v b) av (++ Au // PB forbavset - b) a (vian & // PB exception + b) a (vian+ & // PB exception // PB general rule: [a] after sp/st/sk before m L08) a (m a // skam @@ -251,6 +268,7 @@ underd) a (nig '& // PB stressed l) av (a_ &v // PB lava l) av (ae &v // PB lavaen l) av (aC &v // PB lavalampe + l) av (ine &v // PB lavine b) alaklav (a &l&kl'&:v // PB g) av (mi Au // PB gavmild @@ -259,29 +277,38 @@ underd) a (nig '& // PB stressed // PB general rule: [A] before r a (r+ A // skar + e) a (rL04+ & // PB stearin + saf) a (ri 'A // PB stressed _has) a (rd 'A // PB stressed _mal) a (ria 'A // PB stressed _al) a (rm 'A // PB stressed + _mon) a (rk 'A // PB stressed + _mon) a (rki A' // PB stressed // PB general rule: [a] before velars a (L01++ a // planke, slanke, anke, flanke, gang - _mass) a (kre 'a // PB stressed + _m) ag (_ &j // PB + _mass) a (kre 'a // PB stressed _) a (L01L04++ & // angive, ankomme + selv) a (ngiv & // PB selvangivelse p) a (gn+ & // PB kompagniskab + p) a (gL11+ & // PB propaganda @) a (krL04+ & // PB anakronisme TEST r) a (L01++ A // PB tragisk + a (kadem++ & // PB militærakademi + spr) ag (let Aw // PB a (L01e++ a // bange re) a (g+ & // PB reagere, reagensglas a (ka++ & // PB akavet, akademiker, akacie f) a (nklub+ & // PB a (nho++ & // PB anholde - a (nga++ & // PB angav + a (ngav++ & // PB angav a (ngå++ & // PB b) a (gage++ & // PB bagage - s) a (g_+ & // PB ankesag, sag - sl) a (ng & // PB - sl) a (nge a // PB - l) a (ng+ a // PB livslang + s) a (g+ & // PB ankesag, sag, sago, heksagon + sl) a (ng+ & // PB + sl) a (nge+ a // PB + livsl) a (ng+ a // PB livslang skav) a (nk 'A // PB a (nklag++ & // PB anklage ang (re aN // PB angre @@ -302,11 +329,14 @@ underd) a (nig '& // PB stressed // PB general rule: consonant + a + c/k: [a] C) a (L10 a // PB makværk, Jacob + f) a (cL11 & // PB facade att) ache &S'e // PB C) a (L10L04 & // PB pacifist - maybe not a valid rule c = s here + k) atakomb &t&k'omb // PB C) a (L10e a // PB race L08) a (L10L04 & // PB stakit pl) a (ka & // PB plakat + pl) a (ce & // PB placere st) a (ka & // PB stakat a (k & // PB akkord TEST @@ -344,25 +374,29 @@ bloody_m) ary &ri // PB _kos) a (k 'a // PB stressed - kosak _milli) a (r 'A // PB stressed - milliard _trilli) a (r 'A // PB stressed - trilliard - _sejl) a (ds '& // PB stressed + _sejl) ad (s '& // PB stressed - silent d _sah) a (ra 'A // PB stressed metast) a (se '& // PB stressed pic) a (sso '& // PB stressed +supped) a (s '& // PB stressed _o) a (se '& // PB stressed salam) a (nder '& // PB stressed _propag) a (nd '& // PB stressed -propaganda bals) a (mi '& // PB stressed - balsamico + _fas) a (n '& // PB stressed L08) av (C Au // stavn s) av (C Au // PB savklinge s) ag (C Au // PB sagfører s) a (gs+ & // PB sagsmappe s) ag (sø Au // PB sagsøge st) av (nin &v // PB stavning + bogst) av &v // PB bogstavrim - not [Au] h) av (_ & // PB hav - problem with the noun "hav" [hAu] @h) av (_ Au // PB flammehav h) av (C Au // PB havbund h) av (over Au // PB havoverfladen h) av (is Au // PB +himmel_og_h) av Au // PB "sea/ocean" not "have" h) av (aborr Au // PB havaborre h) av (ud Au // PB havudsigt h) ag (l Au // PB @@ -370,7 +404,7 @@ _propag) a (nd '& // PB stressed -propaganda p) agne '&nj@ // PB champagne ag (nos %ag // PB agnostiker hav) a (nna '& // PB Havanna - h) a (ck & // PB hacke + h) a (ck+ & // PB hacke color) ado 'Ado // PB US state _) av (_ Au // PB av _f) akultet &kult'et // PB fakultet @@ -387,6 +421,8 @@ _propag) a (nd '& // PB stressed -propaganda bl) a (ck & // PB blackout s) a (x a // PB saxofon @l) a (g &j // PB nederlag + _v) ag (_ &j // PB + _v) ag (e_ &j // PB gr) ape Eb // PB grapefrugt astaire &sd'E:r // PB name albuquerque &l/2b3kWki // PB US city @@ -394,6 +430,7 @@ _propag) a (nd '& // PB stressed -propaganda a (merikan a // PB amerikansk aids Eids // PB air Er // PB airbag + cl) aire E:r // PB name aubrey V:bri // PB name agency EjdZ@nsi // PB ginger_) ale Ejl // PB @@ -404,11 +441,13 @@ ginger_) ale Ejl // PB b) ach ax // PB name _) ahab Ejh&b // PB name allie &li // PB name + C) ayes Ejs // PB name Hayes en_l) a (ser Ej // PB l) a (serst Ej // PB laserstråle l) a (serpr Ej // PB laserprinter l) a (seren Ej // PB l) a (sernes Ej // PB + m) ay (a aj // PB // PB stressed a in final -al in $alt words in da_list &) al ($p_alt+ ''&l // the double '' enforces primary stress - fatal, monumental @@ -417,7 +456,8 @@ ginger_) ale Ejl // PB // exception - no stress because of stressed -ion r) a (l@@+ A // PB centralisation NEEDS MORE WORK an) al (fabet =&l // PB - an) al (y+ &l' // PB alalytiker + an) al (y+ &l' // PB analytiker + form) aldehyd &ld3h'yD // PB // PB words in da_list with final -ance - stressed a &) ance ($p_alt 'ANs@ // balance, romance @@ -426,8 +466,9 @@ ginger_) ale Ejl // PB &) ance (re$p_alt ANs'e // PB avancere // PB stressed "a" in words with -ant in da_list - &) ant ($p_alt '&nt // interessant + &) ant ($p_alt ''&nt // interessant &r) ant ($p_alt 'Ant // [A] after "r" - kurant + &) ans ($p_alt '&ns // varians // PB stressed a in final -at - words in da_list &) at ($p_alt '&t // attentat @@ -451,8 +492,11 @@ _oblig) atio (n &S'o // PB clash with "obligat" in da_list &) adent ($p_alt &d'ent // don't spoil the -ent rule - dekad'ent // PB nouns with final -an in da_list - stressed a - &) an ($p_alt+ ''&n // leguan, velan - &r) an ($p_alt+ 'An // varan +// alt2 is used in order not to stress -ner words in da_list +// where "er" has been removed eg. J'apan which becomes jap'ansk, jap'aner + &) an ($p_alt2+ ''&n // leguan, velan + &r) an ($p_alt2+ 'An // varan + &r) an (n$p_alt2+ 'A // tyrannen - one n // PB final -abel in da_list - stressed a &) ab (el$p_alt '&b // aimabel @@ -550,6 +594,8 @@ kanonl) avet &vet // PB exception - French origin freel) ance A:Ns // PB kl) aver (_ &v'er // PB klaver g) a (v &: // PB gav, opgave + g) avflab awfl&b // PB + g) av (tyv au // PB b) a (jer a // PB b) aby (+ eibi // PB baby _) a (nder a // PB anderledes @@ -559,9 +605,8 @@ kanonl) avet &vet // PB exception - French origin l) a (b_+ a // PB lab l) a (bb a // PB labben l) a (be & // PB laber - L08) a (b &: // PB skabe - L08) a (bt A // PB skabt - a (bso A // PB absolut + L08) a (bL11 &: // PB skabe + _) a (bs A // PB absolut, abstrakt, absurd a (bc A // PB abces ai (mabel E // PB aimabel mir) abel Ab'El // PB mirabel(le) @@ -572,10 +617,14 @@ interf) a (ce ei // PB interface busk) ad (s '& // PB _) a (e_ &: // PB ae a (fC+ a // PB af = au and exceptions in the f group + gir) a (f 'A // PB + sof) a & // PB sofafjeder + a (ffek+ & // PB affekt + a (fsted+ & // PB afstedkomme col) a & // PB colaflaske C) a (ft A // PB haft, saft sl) a (L06 a // PB slap - a (iK a +// a (iK a mount) ai (n e // PB mountain cockt) ail Ejl // PB cont) ai (n 'Ej // PB container @@ -591,11 +640,13 @@ cornfl) akes Ejgs // PB mir) a (k 'A // PB mirakel - stressed a t) a (lA &: // PB tale t) a (p a // PB tap + t) a (pL11 & // PB tapet, tapas t) a (pi & // PB tapir -// p) a (p a // PB pap _) aha (_ ah'a // PB - p) a (pi & // PB papir + p) a (pi & // PB papir - replace with: p) a (CL04 ?? + p) a (pri+ a // PB paprika L09) a (l &: // PB male + m) alaj &l'aj // PB stressed L09) a (ld & // PB knald _) a (ldr a // PB aldrig a (lde & // PB alder @@ -603,6 +654,7 @@ cornfl) akes Ejgs // PB rappenskr) a (lde 'a // PB stressed over) a (lt '& // PB stressed a in 'overalt' _eks) a (m+ '& // PB stressed - eksamen, eksaminere + parmes) a (n '& // PB stressed &eks) a (m & // PB sh) a & // PB shaman sp) a (m &: // PB @@ -635,8 +687,11 @@ rappenskr) a (lde 'a // PB stressed h) a (j a // PB haj restaur) ant 'AN // PB added stress l) a (p+ a // PB slap, lap + j) a (pp a // PB jappe + j) a (ps a // PB japser t) a (nk A // PB tankstation t) a (x a // PB taxa + mj) a (v A // PB kålr) a (bi 'A // PB kålrabi - stressed a au (++ aw // PB auto, autoritet _dinos) aur 'auV // PB stressed @@ -663,13 +718,18 @@ _dinos) aur 'auV // PB stressed avery Ejvri // PB name r) andolph &ndVlf // PB name sp) alding Old,eN // PB name + r) a (oul A' // PB name + alejandro _^_es // PB name s) ally &li // PB + sar) ah A // PB name th) a (nks & // PB thanksgiving + all (_right Ol // PB str) abads Ab'&s // PB stressed a, silent d disput) a (ts '& // PB stressed amsterd) a (m 'a // PB seb) a (stian '& // PN stressed _te) a (ter '& // PB stressed + byz) a (ns_ '& // PB stressed _domin) a (n '& // PB stressed - dominans sm) a (ck & // PB aw (K aw @@ -679,7 +739,8 @@ _domin) a (n '& // PB stressed - dominans b) acon EjkVn // PB taleb) a (n '& // PB sm) aragd ar'Awd // PB gem stone - klo) ak A:k // PB + _klo) ak (+ 'A:k // PB +volleyb) all O:l // PB .group af @@ -695,9 +756,9 @@ _domin) a (n '& // PB stressed - dominans // PB (French) nouns with final -age and with $alt flag in da_list // stressed a, "age" pronounced [aS@] - &) age ($p_alt+ '&:S@ // ravage, bagage - &) age (r$p_alt+ '&:S@ // reportager - &r) age ($p_alt+ 'A:S@ // [A] after "r" - garage + &) age ($p_alt++ '&:S@ // ravage, bagage + &) age (r$p_alt++ '&:S@ // reportager + &r) age ($p_alt++ 'A:S@ // [A] after "r" - garage &) age (re$p_alt+ &S'e@ // not for the "age" words - gagere hjertemass) age &:S@ // hjertemassage @@ -729,13 +790,14 @@ hjertemass) age &:S@ // hjertemassage s) ag (sø Au // PB sagsøge b) ag (te Ag // PB nybagte _L06) ag (_ &j // PB bag - single word - b) ag (fr &? // bagfra - b) ag (i & // PB bagi + hjemmeb) ag (_ &j // PB + b) ag (fr &, // bagfra + b) ag (i &, // PB bagi b) ag (ved &_: // PB bagved b) ag (efter &j // PB bagefter - b) ag (på &? // PB bagpå + b) ag (på &, // PB bagpå b) ag (over &_: // PB bagover - b) ag (til & // PB bagtil + b) ag (til &, // PB bagtil b) ag (ud &_: // PB bagud p) age (++ &:S@ // PB page, pagehår band) age &:S@ // PB gipsbandage @@ -755,6 +817,7 @@ hjertemass) age &:S@ // hjertemassage sl) ag (sværd au // PB pl) ag &j // PB plagsom l) ag (re &j // PB oplagres + fl) ag (re au // PB esl) ag (lA Au // PB beslaglægge sl) ag (te+ ag // PB slagter sl) ag (tn+ ag // PB slagtning @@ -770,11 +833,17 @@ hospitalsv) ag (t ag // PB sl) ag (tilf Au // PB slagtilfælde sl) ag (side Au // PB slagside sp) ag (ett &g' // PB spagetti - sp) ag (hett &g' // PB spaghetti + sp) agh (ett &g' // PB spaghetti sp) ag (num Au // PB r) ag (e+ Au // PB drage, rage C) age (+ &:j@ // PB tage, bage, kage - ss) age &S@ // PB rygmassage + age (rn &jV // PB "acorn" + _) age (_ &j3 // PB "age med heste" + _) ager (_ &jV // PB "field" + ager (høn &jV // PB agerhøne/høns + l) ag (n &j // PB lagner + ass) age &S@ // PB rygmassage + on) age &S@ // PB kontraspionage C) ager (+ &:jV // PB bagerst, kager ag (ent+ &g // PB dobbeltagent, forsikringsagent, agenten g) age (+ &:S@ // PB @@ -788,6 +857,7 @@ hospitalsv) ag (t ag // PB iagtt) ager (_ &jV // PB iagttager - noun t) ag (_ &j // PB tag t) ag (C aw // PB tagvindue + art) agnan &NAN // PB d'Artagnan t) ag (ne &j // PB tilfangetagne t) ag (fat & // PB t) agetes &g'et3s // PB @@ -795,6 +865,7 @@ hospitalsv) ag (t ag // PB t) agg (e &g // PB t) ag (liatelle _^_it // PB s) ag (t+ ag // PB sagt + _s) ag (te_ &j // PB s) ag (n Au // PB sagn rans) ag (n &j // PB ransagning las) agn (e '&nj // PB @@ -831,12 +902,14 @@ _speci) ale (_ '&:l@ _trienn) al (e '&:l _urin) al ''&:l seksu) al '&l // PB seksualliv + sped) al (sk '&l .group b b b bb b ko) bb (er w // PB + kø) b (ma // PB købmand - silent b beagle bi:g@l //PB beagle - dog braille braj: // PB bouill (on bulj // PB @@ -881,6 +954,13 @@ _trienn) al (e '&:l burgess bWdZes // PB name borough bV*V // PB Peterborough buffalo bVf3lOw // PB + barbie bArbi // PB name + billie bil/2i // PB name + bodyguard bVdigA:d // PB + bodystocking bVdistVkeN // PB + broad brOd // PB Broadway + boudoir budw'A: // PB + bouillabaisse bujab'Es // PB .group be // PB words beginning with "be" with stress on the second syllable (850) @@ -889,6 +969,7 @@ _trienn) al (e '&:l // PB exceptions to the "be" rule _) be (dste bE // bedstefar, bedstemor + _) be (dring bE _) be (nmel be _) be (narbejde be _) be (nbrud be @@ -938,9 +1019,13 @@ _trienn) al (e '&:l .group c c k + c (e s // PB chance + s) cene en3 // PB forførelsescene + s) cener enV // PB forførelsescener // PB nouns in da_list with final -ce - stress on previous syllable &) ce (_$p_alt =s@ // ekspeditrice + &) ce (n$p_alt =s@ // ekspeditricen &) ce (r$p_alt =sV // ekspeditricer &) cer ($p_alt =s''er // annoncere &) cere ($p_alt =s''er3 // annoncerede @@ -948,7 +1033,8 @@ _trienn) al (e '&:l c (y s // PB s followed by y - cykel cyper kypV // PB Cypern - c (e s // PB race, procent + curler kWlV // PB + A) c (e s // PB race, procent cadilla) c k // PB Cadilacen _offi) ce (r s'e // PB officer offi) ce (r se // PB sprogofficer @@ -958,7 +1044,9 @@ cadilla) c k // PB Cadilacen frederi) c (ia =ks // PB ch (loe k // PB Chloe c (k + c (ølibat s // PB ch (+ S // PB check, chokolade + maso) ch (isme k // PB sadomasochisme wi) ch tS // PB sandwich chicago Sik'AgOw // PB child tSajld // PB Fairchild @@ -973,7 +1061,11 @@ frederi) c (ia =ks // PB cigaret sig3r'&#t cigarett sig3r'&#t cc ks // PB accent + pu) ccini S'ini // PB name + rebe) cc (a =k // PB name so) cc (er k // PB European football + sta) cc (ato k' // PB + pi) cc (o k // PB piccolo cappu) cc (ino tSj' // PB fa) c (ad s fa) c (on s @@ -981,6 +1073,7 @@ frederi) c (ia =ks // PB cornichon kVrniS'VN // PB charlie tSAli // PB charles tSA:ls // PB + cynthia senTi& // PB name c (æsar s // PB cordelia kVd'ili-& // PB ni) ch (ol k // PB Nicholas @@ -1021,6 +1114,9 @@ piccadilly_) circus sWk@s // PB cincinnati sensin'&ti // PB chihuahua tSiw'awa // PB connor kVnV // PB name + creasy krisi // PB name + c (ello Sj // PB + cutler kVtlV // PB name .group d @@ -1030,7 +1126,16 @@ piccadilly_) circus sWk@s // PB // PB general rule: [D] after a vowel A) d D // PB sted - way too broad? - d (uk d // PB produkt + d (i d // PB redigere, hindi + drome) d (ar d // PB + mel) d (ing // PB + A) d (ig D // PB stadig + vene) d (ig d // PB + u) d (i D // PB + _pro) du (kt d'O // PB produkt + _pro) du (ktiv du // PB produktiv + bo) d (ega d // PB + d (us d // PB fidus d (ok d // PB paradoks, tørdok a) de (Cr D3 // PB badedragt - not tested y) de D3 // PB brydehold @@ -1040,6 +1145,10 @@ piccadilly_) circus sWk@s // PB @) d (elt d // PB udelt, tildelt æ) de (l+ D3 // PB ædelt mo) d (em d // PB + d (onna d // PB madonna + dil) d (o d // PB +tourne) dos d'o // PB + re) dund (ant dOnd // PB // PB general rule: silent d in final ærd ær) d (_ // PB færd, sværd @@ -1051,22 +1160,29 @@ piccadilly_) circus sWk@s // PB l) d // PB hold, skjold d (om d // PN trældom + bull) d (o d // PB bulldozer +formal) d (e d // PB formaldehyd + d (åse d // PB øldåse d (rys d // PB kaneldrys sol) d (æk d // PB + d (emens d // PB senilodemens turtel) d (ue d // PB l) d (ug d // PB meldug d (ør d // PB bildør + d (ele d // PB tildele sal) d (o d // PB C) d (etA d // PB metaldetektor ol) d (ing d // PB holdingfirma, olding d (ag d // PB gammeldags al) d (rig d // PB aldrig - d (ring d // PB skildring + il) d (ring d // PB skildring l) d (ig d // PB skyldig bal) de l3 // PB silent d - balde l) d (akin d // PB keep d in "baldakin" hel) d (i d // PB keep d in "heldig" + mo) d (ern d // PB moderne, moderniteter fær) d // silent d in færd, færdsel + vær) d (s // PB værdsætte - silent d fær) d (eC d // PB færdes, færden fær) dig di // PB keep d in "færdig" @) d (yr d // PB keep d in "muldyr" @@ -1090,31 +1206,37 @@ stikor) d // PB exception - silent d in 'stikord' // exceptions fe) dt (@ t // PB fedtet, fedtsyl ski) dt t // PB + spre) dt t // PB spredtes + sta) ds s // PB + stru) ds s // PB i) d (ti+ D // PB hidtil bu) d (apest d // PB æ) d (ru d // PB + pe) d (ro d // PB name bu) ddh d // PB buddhist y) ds s // PB kryds pi) ds s // PB spids + hi) ds s // PB hidse kra) ds s // PB kradse spa) ds (er s // PB spadsere - ri) ds s // PB ridse + ri) ds s // PB ridse A) ds (æt Ds // PB hidsætte _u) d (++ D // PB udse - A) d (sel // PB fødsel, brændsel, bidsel + A) ds (el s // PB fødsel, brændsel, bidsel ræ) d (sel D // PB ned) d (s D // PB nedsmelte - ø) d (s+ D // PB dødscelle, nødspor, ødsel - fø) d (s+ // fødsel + ø) d (s++ D // PB dødscelle, nødspor, ødsel, nødstilfælde + fø) d (s++ // fødsel gi) d (s+ // PB silend d - gidsel kre) d (s // PB silent d - kredsløb ø) d (t // PB silent d - mødtes hi) ds (e s // PB ophidse pla) ds s // PB pu) ds s // PB pudse + stu) ds s // PB studs, studse smu) ds s // PB dø) d (+ D // PB dødtræt - @fre) ds s // PB tilfreds + lfre) ds s // PB tilfreds fjer) di (ng e // PB silent d - forfjerding (1/4 of an animal ) // PB general rule: silent d before st @@ -1124,6 +1246,9 @@ stikor) d // PB exception - silent d in 'stikord' // PB general rule: dd between two vowels: [D] A) dd (A D // PB redder + gu) dd Dd // PB guddommelig, guddatter + u) dd (ann Dd // PB veluddannet + spi) d (steg D // PB spidstege ne) d (st D // PB nedstemme, nedstirre ti) ds (nok s' // PB silent d - tidsnok @@ -1138,21 +1263,12 @@ stikor) d // PB exception - silent d in 'stikord' mo) d (al 'd å) d (an d kandi) d (at 'd - me) d (b D - me) d (d D mi) dd (a d - dd (et D - i) d (e d +// i) d (e d an) d (e // PB manden, anden - silent d _fan) de (me // PB fandeme - skip de, only this word - li) d (e D - ri) d (e D - si) d (e D + gær) de V // PB silent d si) d (ent d // PB præsident - ti) d (e D - vi) d (e D - gui) de d - in) d (eks d mo) d (el d or) d (el d or) d (en d @@ -1161,13 +1277,8 @@ stikor) d // PB exception - silent d in 'stikord' gui) der dV klu) d (ere d // konkludere A) d (es D - ær) d (es d - gui) de (t de bu) d (get -// A) d (i d A) di (sk Di // overfladisk - me) d (l D - or) d (ne d An) d (rA d ma) d (ras d An) d (re d @@ -1176,9 +1287,9 @@ stikor) d // PB exception - silent d in 'stikord' hon) d (ura d // PB Honduras ti) d (s+ D // tidstabel ti) d (sel // PB silent d - sli) d (so D - A) d (t_++ // PB silent d - forbudt, skudt, ladt - A) d (te_++ // PB silent d - beskidte + A) d (t_++ // PB silent d - forbudt, skudt, ladt, godt + A) d (te_++ // PB silent d - beskidte, godte + A) d (ter_++ // PB silent d - godter i) d (t // PB skridtet, skoleridtet fo) d (C++ D // PB fodtøj fjer) d (e // PB silent d - fjerde @@ -1194,6 +1305,7 @@ stikor) d // PB exception - silent d in 'stikord' double dVb@l // PB mixed double deuce dZu:s // PB _) dav (_ dAw // PB dav + _) davs (_ dAws // PB davs detente det'A:Nt // PB doughnut downVd // PB _) doc (_ dVk // PB Doc - name @@ -1229,15 +1341,17 @@ stikor) d // PB exception - silent d in 'stikord' // PB general rules C) e (L02 E // PB stemme, lefle + _eks) e (mpel 'E // PB stressed entr) e (pr 3 // PB entreprise kr) e (bs &# // PB L03) e (L02 e // PB akademiker + andr) e V // PB vandrefalk, andres kol) e (C @ // PB skolebog C) ering ,ereN // PB lydisolering pol) e (re+ e // PB finpolere kol) e (st E // PB kolesterol - e (d E // PB sted - TEST + t) e (d E // PB sted - TEST e (dt e // PB fedtet C) e (C% E // PB celle TEST _konf) e (tti 'E // PB stressed @@ -1246,6 +1360,7 @@ stikor) d // PB exception - silent d in 'stikord' C) e (dA e // PB medalje, rede TEST val) e (ncia 'E // PB mal) er V // PB maler + mål) er V // PB måleraflæser mal) e (ri V // PB val) e (ri++ @ // PB kavaleri perl) e @ // PB @@ -1270,6 +1385,7 @@ philad) elphi (a 'Elfj // PB stressed L02r) e (C% &# // PB labial + r - fremmed aggr) e (ssor &# // PB L07r) e (m &# // PB tremme + r) e (vl &# // PB trevl, revle fr) eddie Edi // PB name fr) eddy Edi // PB name @@ -1304,8 +1420,8 @@ philad) elphi (a 'Elfj // PB stressed // PB general rule: [&#] after pr followed by double consonant TEST pr) e (C%+ &# // PB presse -// pr) e (C@+ E // PB single consonant - presenning pr) e (s+ &# // PB + pr) e (sserende E' // PB //PB general rule: [&#] after r before ns/ms r) e (L09s &# //PB rensetøj @@ -1325,6 +1441,8 @@ philad) elphi (a 'Elfj // PB stressed //PB general rule: [&#] after r before t r) e (t &# //PB ret + forr) e (t++ &# // PB + gr) e (t E // PB Greta // PB exceptions (re = prefix e.g. reanimate) r) e (tab e // PB retablere @@ -1345,8 +1463,10 @@ philad) elphi (a 'Elfj // PB stressed fr) e (l &# // frelse yr) e (+ @ // PB myretue, dyrehold r) e (h 3 // PB general rule: [3] after r before h - fårehyrde, varehus + r) e (habil e // PB rehabilitering @n) e (d 3 // PB general rule: [3] after @+n before d - måned men) e (d e // PB + n) e (dslag e // PB lynnedslag n) e (dgang e // PB m) e (di+ e // PB medicin rn) e (d+ ,e // PB derned @@ -1376,6 +1496,7 @@ philad) elphi (a 'Elfj // PB stressed ød) e 3 // PB øde hav) e 3 // PB god) e @ // PB + kod) e @ // PB kodeord pl) e (men 3 // PB supplement øbl) e (m 3 // PB møblement hvab) e (har_ 3 // PB hvabehar @@ -1385,6 +1506,7 @@ philad) elphi (a 'Elfj // PB stressed toup) e 'e // PB stressed fr) ee i: // PB Freeman w) ee (k i: // PB Newsweek + k) ee (per i: // PB ee (jer @a // PB hundeejer gr) ee (n i: // PB evergreen gr) ea (t Ej // PB English word @@ -1393,7 +1515,7 @@ philad) elphi (a 'Elfj // PB stressed h) ea (l i: // PB healer fr) ee (lan i: // PB freelance b) ee (d ee // PB beedige - en) e @ // PB ene, eneste + _en) e @ // PB ene, eneste en) e (m E // PB pærenem en) e (rgi E // PB br) e (L09 &# // PB bremse @@ -1402,10 +1524,11 @@ philad) elphi (a 'Elfj // PB stressed _sn) ee (de_ e@ // PB det sneede sn) e (rp E // PB snerpet sn) ed (k e e // PB silent d - snedker +papmach) e e // PB _s) e (_ e? // PB se e (mball A // PB emballere, emballage dir) e (kt & // PB direkte, direktør - n) eu (r Wu // PB neuron + n) eu Wu // PB neuron, neutral ed) e (- @ g) e (js aj _ni) e // PB changed from [ni)e] to[_ni)e] - niende, nier, niendedel @@ -1415,7 +1538,8 @@ philad) elphi (a 'Elfj // PB stressed fleec) e // PB fleece - skip the final e freelanc) e // PB freelance - skip the final e freelanc) e (r V // PB the word 'freelancer' -hospic) e // PB hospice - skip the final e +hospic) e (_ // PB hospice - skip the final e +hospic) et 3D // PB penc) e // PB pence - skip the e interfac) e // PB interface - skip the final e sauc) e // PB sauce, bearnaisesauce @@ -1432,14 +1556,19 @@ motorpac) e (n @ // PB motorpacen pac) e (maker // PB pacemaker - skip the e provenc) e // PB Provence - skip the e prov) e (nce 'A: // PB Provence - e (gsot &# // PB blegsot - e (gfi &# // PB blegfis - egen (@ ej@n // PB egenrådig, ehennyttig + bl) eg aj // PB bleg + e (gsot a // PB blegsot + e (gfi a // PB blegfis + bl) egem (id aj@m // PB blegemiddel, blegemidler + eg (rød aj // PB blegrød + bobl) e 3 // PB boblegummi - nothing to do with "bleg" + _) egen (@ ej@n // PB egenrådig, egennyttig r) e (ste &# // PB resten r) e (staurant E e (gansigt &# // PB blegansigt _kongr) e (s '&# // PB kongres - stressed but not after a syllable - _regr) e (s '&& // PB regres + _regr) e (s '&# // PB regres + _regr) e (ssiv &# // PB regressiv kongr) e (s &# // PB lægekongres _rødb) e (de 'e // PB stressed e in 'rødbede' _aller) e (de_ E // PB allerede - otherwise the E is changed by another rule @@ -1451,6 +1580,7 @@ _aller) e (de_ E // PB allerede - otherwise the E is changed by anot p) eabody ibVdi // PB name exchange _^_en // PB eagle i:g@l // PB + p) ea (L10 i: // PB Peacock // PB final -em - stressed e &) em (_$p_alt+ 'em // PB problem @@ -1463,11 +1593,18 @@ _aller) e (de_ E // PB allerede - otherwise the E is changed by anot leb) e (ndig 'E // PB steressed with $alt rule _ball) e (t@ 'E // PB balletdanser _en_ball) e (t 'E // PB +_vor_ball) e (t 'E // PB +_vores_ball) e (t 'E // PB +_jeres_ball) e (t 'E // PB +_deres_ball) e (t 'E // PB +_hans_ball) e (t 'E // PB +_hendes_ball) e (t 'E // PB _r) e (ndyr+ e // PB rendyrke øjest) e (n+ e // øjesten skorst) e (n e // PB murst) e (n e // PB bautast) e (n // PB +meterst) e (n e // PB kilometersten h) e (n_+ e // hen carst) e (n @ karst) e (n @ @@ -1479,18 +1616,23 @@ bautast) e (n // PB eisenhower ajs@nhAuV // PB st) ei (n_ aj // -stein in German names _h) ei (l_ aj // PB heil Hitler + s) ei (smol aj // PB seismolog eiger ajgV // PB Eiger mountain - sp) ee (d i: // PB speedbåd + sp) eed i:d // PB speedbåd t) ech Ek // PB hightech stoneh) enge EndZ // PB pal) e (rmo 'E // PB tw) ee (d i: // PB _h) ei (di aj // PB name + trap) ez 'Ets // PB stressed // PB Words ending with e - general rule @) e (_+ 3 // PB husleje afs) e (_ e // PB afse +foruds) e e // PB +kamillet) e e // PB godes) e e // PB tilgodese +efters) e e // PB _) e (_speak i // PB eSpeak - capital s makes the e one word _) e (_mail i // PB e-mail hjemv) e e // PB @@ -1499,10 +1641,13 @@ stoneh) enge EndZ // PB _uds) e (r_+ e // PB udser puds) er (+ V // PB turn) e 'e // PB + joyc) e // PB name - silent e + joyc) e (s 3 // PB name - keep the e // PB Words ending with -te t) e (_ @ _ist) e e // PB iste (cold tea) + urtet) e e // PB herbal tea komit) e 'e // PB // PB Words ending with -se or -ce @@ -1518,6 +1663,7 @@ stoneh) enge EndZ // PB mosk) e 'e // moske, moskeen, moskeer måsk) e (_ 'e // PB måske _sk) e (_ e // PB ske + _sp) e (_ e // PB in spe _sk) e (er e // PB skeer dessertsk) e e // PB dessertske fugesk) e e // PB fugeske @@ -1545,7 +1691,8 @@ _arkit) e (kt 'E _idiol) e (kt 'E _ins) e (kt 'E _intell) e (kt 'E - _koll) e (kt 'E + _koll) e (kt_ 'E + _koll) e (kte 'E kollekten _konf) e (kt 'E _korr) e (kt '& _obj) e (kt 'E @@ -1583,12 +1730,20 @@ _sakram) e (nte 'e // PB words with final -ende &) ende (_ @n@ // troende // exceptions to the -ende rule - k) ende (_ E-n@ // genkende, kende, anerkende + k) end (e_+ E-n // genkende, kende, anerkende + k) ender (_ E-nV // genkender, kender, anerkender sv) ende (_ E-n@ // PB not a -ende suffix - svende henv) ende (_ E-n@ // PB + henv) ender (_ E-nV // PB anv) ende (_ E-n@ // PB + anv) ender (_ E-nV // PB + fuld) ende E-n3 // PB røvr) ende (_ a-n@ // PB røvrende + røvr) ender (_ a-nV // PB røvrender v) ende (+ E-n@ // PB omvende + v) ender (+ E-nV // PB omvender + v) ende (tta End'E // PB stressed + fj) ende e-n@ // PB dødsfjende L08) e (gt e // PB stegt L08) e (g a // PB steg, spegepølse @@ -1610,6 +1765,8 @@ _sakram) e (nte 'e skr) eg aj // PB underl) eg ej // PB underlegen p) eg aj // PB pegefinger + s) eg (l aj // PB segl, forsegle + t) eg (l aj // PB teglværk p) eggy Egi // PB name l) ey i // PB volley _) ege (_ e:j@ // PB added _ - ege(træer) @@ -1617,18 +1774,19 @@ underl) eg ej // PB underlegen _) ege (løv e:j@ // PB _) ege (blad e:j@ // PB L06) eg (e aj // PB p) changed to L06 to include b - l) eg (e aj // PM julelege, blege + l) ege (me Ej-@ // PB fornedrelseslegeme + l) eg (e+ aj // PM julelege, blege, legene l) eg (enda eg // PB legendarisk l) eg (er eg // PB delegere + eg (evinst+ eg // PB spillegevinst overl) eg Ej // PB overlegen r) ej (s aj en (gage aN // engagere en (tre aN en (tré aN // PB - c) en (t en - c) en (tA en + c) en (t En + c) en (tA En c) en (tC en - s) eg (l aj // PB segl, forsegle p) en (sion aN r) en (ce AN // reference r) edd ED // PB redder @@ -1636,6 +1794,8 @@ underl) eg ej // PB underlegen _tr) e (tten a // tretten _tr) e (d E // tredje ej (++ aj // PB changed from ai to aj - nej, arbejde + ejer ajV // PB grundejerforening + ejern 3jErn // PB stemmejern ej (agt @j // PB menneskejagt _pleb) ej (er 'aj // PB stressed lort) e @ // PB lortejob - avoid "aj" @@ -1647,10 +1807,10 @@ underl) eg ej // PB underlegen v) ejr (er_ ajR // PB vejrer _offic) e (_ // office (officepakke) fl) e (de+ e // PB aflede - &) edet (_ @D3d // PB hovedet + ov) edet (_ @D3d // PB hovedet l) edet (+ eD@t // PB håndledet r) edet (_ ED3d // PB helbredet - st) edet (_ ED3d // PB værkstedet + st) edet (_ ED3t // PB værkstedet Ad) en (@ @-n // udenlandsk, udenad Ad) en (t en // PB identificere sir) ene 'En@ // PB @@ -1660,10 +1820,10 @@ _offic) e (_ // office (officepakke) st) evie ivi // PB name ucc) es 'e nog) et (_ D // PB noget - ir) e (n 'e + _ir) e (ne 'e // PB name styr) e (n 'e // styren diskr) e (t+ 'e // PB stressed - ork) e (ster 'e // PB stressed e in 'orkester' + ork) ester 'estV // PB stressed e in 'orkester' borgm) e (ster 'e // PB stressed prot) e (se 'e // PB stressed forur) e (ne 'e // PB stressed - forurene @@ -1671,21 +1831,24 @@ _terap) eut 'Wwd // PB stressed terap) eut Wwd // PB synsterapeut _torp) e (do 'e // PB stressed _cel) e (ber 'e // PB stressed -_parent) e (s 'e PB stressed +_parent) e (s 'e // PB stressed _kat) e (der 'e // PB stressed ekst) e (rn 'e // PB stressed + bod) e (ga 'e // PB stressed merc) e (des 'e // PB car _ant) e (nne 'E // PB stressed _el) e (v 'e // PB stressed + @el) e (v e // PB kostelev, skoleelev el) e (vat 3 // PB elevator sydv) e (st 'E // PB stressed + musk) e (t+ 'E // PB stressed // PB a few words with final -es - stressed e - abc) e (s 'e + abc) e (s 'E cypr) e (s '& - rec) e (s 'e - exc) e (s 'e - proc) e (s 'e + rec) e (s 'E + exc) e (s 'E + proc) e (s 'E b) ea (t i: // PB beat, beatorkester ompet) en (ce aN @@ -1699,6 +1862,7 @@ _parent) e (s 'e PB stressed eindhoven ajnh'o:f@n // PB einstein ajnstajn eyeliner ajlajnV // PB + _) edie (_ idi // PB name k) ey i // PB jockey eiffel ajf3l // PB Eiffeltårnet ecstacy Est&si // PB @@ -1707,6 +1871,7 @@ _parent) e (s 'e PB stressed _) earl W:l/2 // PB Earl _) earp W:b // PB name _) east i:sd // PB Eastwood + ecstasy Est&si // PB stript) ease i:s // PB l) ea (se i // PB l) ea (sing i // PB @@ -1724,6 +1889,7 @@ stript) ease i:s // PB _barn) ey i // PN name jess) e i // PB name m) ey (er aj // PB name + sylv) e (ster 'E // PB name budap) e (st 'E // PB stressed h) ei (del aj // PB Heidelberg r) eaux O // PB Devereaux @@ -1737,12 +1903,15 @@ stript) ease i:s // PB @gg) ene (_S4 @n@ // væggene tj) ene En@ // PB betjene tj) ener EnV // PB + forl) ene 'en@ // PB stressed + ur) ene (_tanker 'en@ // PB // PB stressed e in nouns with final -esse in da_list &) esse ($p_alt ''Es3 // finesse &) esse (r$p_alt ''EsV // finesser &r) esse ($p_alt '&#s3 // adresse &r) esse (r$p_alt '&#sV // adresser + @r) esse (re$p_alt &#s'e // adresseret // PB stressed e in nouns with final -ese in da_list &) ese ($p_alt 'es3 // hypotese @@ -1773,7 +1942,10 @@ stript) ease i:s // PB form) el (l 'El // PB formelle m) el (on el // PB vandmelon venezu) el (a 'el // PB + hall) el (uja 'el // PB stressed hot) el El // PB møghotel +ration) el El // PB +krimin) el El // PB småkriminel // PB final -elig in da_list - stress on previous syllable &) elig ($p_alt =@li // PB jomfruelig @@ -1797,6 +1969,7 @@ marksk) el el @f) el (t El // PB oliefelt lob) el (ia 'el // PB d) ele (+ el3 // PB dele + særd) el (es 'el // PB særdeleshed - stressed bind) ele (d 3le // PB bindeledder d) eler (+ elV // PB deler bestandd) el el // PB @@ -1903,6 +2076,7 @@ verdensd) el el // PB noun suffix -en (perlen - the pearl), -ens (perlens - the pearl's) // not a suffix any more - too many exceptions &) en (_N @n + &ier) en (_N @n // PB bankieren - avoid the r generated by [V] &r) en (_N Vn // frisøren &) ens (_ @-ns &r) ens (_ V-ns // frisørens @@ -1910,17 +2084,21 @@ verdensd) el el aft) en @n // PB avoid [Au] when aft(en) is translated _ag) en (t 'en // PB agent fænom) en 'en // PB stressed + _gem) en 'en // PB stressed ag) en (t en // PB agent &g) en (st en // PB genstand &g) en (kend en // PB genkende &g) enn (em en // ugennemskuelig kuglep) en En // PB +afløbsr) en (s &#n // PB ord) en @n anci) enn EN // anciennitet _persi) enn 'En // PB - _) en (tusias AN // PB entusiasme + en (tusias AN // PB entusiasme + en (dos AN // PB endossement, endosere dep) en En // PB fyldepen filtp) en En // PB +sportsgr) en en // PB sportsgren app) en (diks 'En // PB stressed susp) en (sion en // PB suspension retskaff) en @n @@ -1929,15 +2107,70 @@ præsid) en (t en // vicepræsident skyldsr) en en // PB uskyldsren ædelst) en en // PB _præsid) en (t 'en // præsidentfrue - herh) en En // PB herhen @sv) en (_ en // PB barndomsven v) en (sk+ en // PB venskab &b) en (_+ en // PB koben, nøgleben + skab) en (+ @-n // PB ondskaben, morskaben _åb) en (_+ @n // PB åben våb) en (++ @n // PB våben bb) en (_++ @n // PB klubben ribb) en (++ en // PB ribbenssteg +// PB sten = "stone" gravst) en en // PB +nyrest) en en // PB +bautast) en en // PB + brost) en en // PB +byggest) en en // PB +drypst) en en // PB +fedtst) en en // PB +flintest) en en // PB +flintst) en en // PB +galdest) en en // PB +grundst) en en // PB + gråst) en en // PB +hinkest) en en // PB +hjørnest) en en // PB + holst) en en // PB +kalkst) en en // PB +kampest) en en // PB +kantst) en en // PB +kedelst) en en // PB +kværnst) en en // PB +kvaderst) en en // PB + limst) en en // PB +meteorst) en en // PB +mindest) en en // PB +molerst) en en // PB +munkest) en en // PB + murst) en en // PB +møllest) en en // PB +månest) en en // PB +pimpst) en en // PB +prøvest) en en // PB +rendest) en en // PB +ranglest) en en // PB +rhinst) en en // PB +rokkest) en en // PB +rullest) en en // PB +runest) en en // PB +sandst) en en // PB +skorst) en en // PB +slibest) en en // PB +smutst) en en // PB +slutst) en en // PB +smykkest) en en // PB + småst) en en // PB +sveskest) en en // PB + tagst) en en // PB +tandst) en en // PB +teglst) en en // PB +trappest) en en // PB +trædest) en en // PB + tufst) en en // PB +tungst) en en // PB + vinst) en en // PB +ædelst) en en // PB + øjest) en en // PB tj) en (st En // PB fortjenstmedalje m) en (s+ En // PB menstruation g) en (st en // PB genstand @@ -1953,6 +2186,8 @@ _acetyl) en 'en // PB _influ) en (za 'En // PB skizofr) en 'En // PB til) end (ebr 'En // PB tilendebringe +_en_syr) en 'en // PB problem with "syren" = "the acid" + syr) en (e 'en // PB syrener, syrenen s) en (sib AN // PB sensibel _rev) en (che 'An // PB stressed @@ -1967,9 +2202,11 @@ skizofr) en 'En // PB // exceptions acc) ent (+ AN // PB ev) ent (A+ ent // PB eventyr, eventuel + v) enti (on enSj // PB konvention // PB $alt words with final -enser in da_list - stressed e &) enser ($p_alt ''EnsV // PB palæstinenser + &) enser (e$p_alt Ens'er // PB kondensere &g) enser ($p_alt g''EnsV // PB ålborgenser // PB $alt words with final -ent in da_list - stressed e @@ -1990,8 +2227,12 @@ excell) ence ($p_alt 'Ens@ // PB exception .group er r) er (_ V // PB final "er": V after r - murer t) er (_ V // PB final "er": V after t - frygter + t) er (et_ V // PB final "er": V after t - centeret r) ere (_ 3V // PB general rule: plural ending - murere +// PB -ri words in da_list preceeded by e: stressed i + @) eri ($p_alt Vr'i // røveri, bedrageri + // PB noun suffix -er (perler - pearls), -ers (perlers - pearls') -erne (perlerne - the pearls), -ernes (perlernes - the pearls') // Also verb suffix (hun elsker - she loves) - not to mention Peter // NB suffix takes away the stres from "italiener/italienere" and since @@ -2004,31 +2245,40 @@ excell) ence ($p_alt 'Ens@ // PB exception @) erne (_+ Vn@ // elskerne @) ernes (_ Vn@s // elskernes @) erste (_ Vst@ //midterste - @) ert (_ Vt // lummert + @) ert (_ Vt // lummert, slubbert + slamb) ert Vt // slamberter @) ers (C Vs // PB Petersborg, tiggerske - TEST + f) ers (k Ers // PB dåseferskner // exceptions to the "er" rule +sortep) er er // PB + beh) er (sk Er // PB beherske _t) er (_ er // PB "de ter sig underligt" g) er (_++ V // våger, læger [l'EjV] - g) er (t+ er // PB Gerta -// @g) erne (++ Vn@ // lægerne + _g) er (ta+ er // PB Gerta genfotograf) er (e er // PB røntgenfotografere fing) erne (m Vne // PB fingernem @d) erne (++ Vn@ // let the nd rule kick in - inderne g) er (n++ Er // gerning reag) ere (_ er3 // overreagere - _reag) ere (_ 'er3 // overreagere + _reag) ere (_ 'er3 // reagere vurd) ere (_ er3 // overvurdere tr) ere (+ er3 // indregistrere +opsumm) ere er3 // PB _overs) er er // PB + fj) er (_ er // PB falkefjer ov) ere (ns+ V'e // PB uoverensstemmelse, overens - stressed g) er (+ V // unger, borgerkrig + g) er (e er // PB overreagerede g) er (ani er // PB geranium g) er (man er // PB germansk mm) er (et V // PB nummeret nysg) er (ri er // PB nysgerrig revolv) er V // PB int) er (@ V // PB interaktiv + int) er (n_++ 'Er // PB intern + int) er (ne_++ 'Er // PB interne + int) er (net+ V // PB skid) er Vr // PB ønst) er (+ V // PB mønsterelev st) er (i er // PB ministerium @@ -2038,26 +2288,32 @@ revolv) er V // PB s) er (vicestation W // PB s) ervicemindet Wvismajnd@D s) er (vicemed W // PB servicemedarbejder + s) er (vicen W // PB t) er (a+ er // PB synsterapeut dent) er V // PB studentereksamen _all) er V // PB allersidst pill) er V // PB spiller, piller brugs) er V // PB bruseranvendelse + eft) er V // PB efteruddanne s) er (v+ Er // PB reservat, servo s) er (t+ Er // PB dessertere + _kons) er (vativ 'Er // PB stressed + _kons) er (ves 'Er // PB stressed bas) ere eV // PB behovbaseret tn) er V // PB partnerskab all) er (g er // PB allergisk - j) er (n+ Er // jern - j) er (ne++ Er // PB stjerne + j) er (n++++ Er // jern, stjerne talj) er (++ V // PB detaljer linj) er (++ V // PB lej) er V // PB sygeplejerske bunk) er V // PB not a -er suffix alexand) er =dV // PB Alexander report) er (+ V // PN not a suffix + scept) er V // PB scepteret kvart) er er // PB nabokvarter _kvart) er 'er // PB kvarter, kvarterarrest + fin) er er // PB krydsfiner + -fin) er 'er // PB finerplade _karakt) er 'er // PB karakter mort) er 'er // PB morterild karakt) er er // PB topkarakter @@ -2072,18 +2328,20 @@ _perif) er 'er // PB stressed flatt) er (ende 'er // PB _rivi) er (a 'er // PB stressed pass) er (sed 'er // PB passersedlen + park) er (_bil 'er // PB "parker bilen" verb, not noun = "parks" n) er (_ V // PB italiener up) er (C V // PB superfølsom @d) er (C V // PB hæderlig - TOO BROAD? Amm) er (C V // PB sommerhilsen, tømmerflåde komm) er (ciel er // PB amm) er (C V // PB hammersej - &nf) er (@ @ // PB konference + &nf) eren (c @rAN // PB konference, konferencier &nf) er (er@ @r // PB konferere // not a -erne suffix _mod) erne (++ 'ern@ mod) erne (++ ern@ + mod) ern (i+ Ern // PM moderniteter _cist) erne (+ 'ern@ cist) erne (+ ern@ fascist) erne (+ Vn@ // exception to "&cist) erne" @@ -2104,8 +2362,12 @@ fascist) erne (+ Vn@ // exception to "&cist) erne" // Exceptions to the suffix rules // Words ending with -ere - stressed e - around 1.600 words in list file @) ere (_$p_alt++ ''e:V // PB stressed - manipulere, protestere (not parfum'ereklame) + @) ere (r$p_alt++ ''e:V // PB stressed - generer + @) ere (t$p_alt++ ''e:V // PB motiveret + @) ere (re$p_alt++ 3r'e // PB stressed - generere + @) ere (de$p_alt++ ''e:V // PB stressed - appellerede @) ere (s_$p_alt++ ''e:V // PB stressed - pensioneres - @) ere (n_$p_alt++ ''e:V // PB stressed - karrieren + @i) ere (n_$p_alt++ ''e:V // PB stressed - karrieren @) er ($p_alt++ ''er // PB stressed - repeter @) er (e$p_alt+++ ''er // PB stressed - vurdere @) er (_$p_alt++ ''er // PB stressed - repeter @@ -2113,12 +2375,14 @@ fascist) erne (+ Vn@ // exception to "&cist) erne" &ik) er (_$p_alt++ =V // PB stressed - politiker // exceptions fing) er (en VR // fingeren - clsashes with 'fing'ere' - _barb) er 'er // PB + _barb) er (+ 'er // PB barber, barberen lev) er (eg+ @r // PB leveregel brod) er (en Vr // PB lev) er (en+ Vr // PB the liver _not) er (_det 'er // PB _not) er (_den 'er // PB +report) er (en+ 3r // PB clash with "reportere" = "rapportere" +report) er (e+ 3r // PB clash with "reportere" = "rapportere" // PB stressed e in words with -ering (1.100) in da_ list - likvidering &) ering ($p_alt ''ereN @@ -2161,13 +2425,17 @@ reserv) ert 'ert _kontrov) er (s 'Er // PB kontrovers yv) er (+ V // PB flyver flyv) er (ute 3r // PB flyverute - øv) er (++ V // PB øverst, røver + øv) er (st++ V // PB øverst, røver perv) er (s 'er // PB stressed e - pervers &t) er (C V // PB teatervidenskab + t) er (rier Er // PB + t) er (n+ er // PB fraternisere t) er (ror er // PB antiterrorgruppe - Cav) er (+ V // PB laver, saver + Cav) er (_+ V // PB laver, saver + @grav) er (e er // PB indgravere lev) er (C+ V // levertran led) er (@ V // lederkursus + pans) er V // PB panserdivision yst) er (@ V // PB kryst*er*agtig _myst) er (iu 'er // PB mysterium _hyst) er (i 'er // PB hysterisk @@ -2192,7 +2460,6 @@ _kontrov) er (s 'Er // PB kontrovers tt) er (C V // PB lattermild _int) er (n_++ 'Er // PB stressed int) er (nat V // PB international - int) er (net V // PB t) er (min Er // PB terminal t) er (p Er // PB terpentin, terpe t) er (mo Er // PB termometer @@ -2200,8 +2467,8 @@ _kontrov) er (s 'Er // PB kontrovers _) er (C %er // PB er + consonant: stress on next syllable - er'hverv _) er (go er // PB not stress on next in "ergo..." am) er (ika_ 'er // PB Amerika - _røv) er (i Vr' // PB røveri - stressed i - røv) er (i Vr // PB togrøveri +// _røv) er (i Vr' // PB røveri - stressed i +// røv) er (i Vr // PB togrøveri sv) er (ige Er // PB ærg) err Erg // PB ærgerrig offic) er 'er // PB officer - stressed e @@ -2225,11 +2492,11 @@ L06L06) er V // PB klipper v) er (r_ er // PB levere man) er (_ 'er // PB hundemaner oman) er (+ V // PB narkomaner, romaner - rman) er (_ V // PB formaner + orman) er (_ V // PB formaner th) er_ V // Luther gt) er V // PB agter - hj) er Er // PB hjerne - stj) er+ Er // PB stjerne +// hj) er Er // PB hjerne +// stj) er+ Er // PB stjerne øl) er V // PB brøler t) erræn &r'&#N // PB terræn _g) er (ne_+ Er // PB gerne @@ -2242,6 +2509,7 @@ L06L06) er V // PB klipper alt) er V // PB altervin d) er (byg V // PB underbygge _all) erede (_ @reD@ + alb) er (tA 'Er // PB Alberta, Alberte .group ed // PB verb suffix - ede (elskede - lovede) @@ -2251,7 +2519,9 @@ L06L06) er V // PB klipper hov) ed @D // PB hoved afst) ed (kom 'eD // PB afstedkomme - f) ede (+ eD@ // PB opfede + f) ede (++ eD@ // PB opfede + h) ede (+ eD@ // PB glohede + h) eder (+ eDV // PB muligheder vildr) ede (_+ ED@ // PB vildrede bortl) ede ED@ // PB spr) ede (_+ ED@ // PB adsprede @@ -2261,40 +2531,42 @@ L06L06) er V // PB klipper _fr) ede (_+ ED@ // PB frede vr) ede (_+ ED@ // PB vrede ler) ede (_+ ED@ // PB fuglerede - elskovsr) ede ED@ // PB +hvepser) ede (_+ ED@ // PB hvepserede +elskovsr) ede ED@ // PB rotter) ede (_+ ED@ // PB rotterede emb) ede (_+ eD@ // PB embede emb) ede (t_+ eD@ // PB embedet tilb) ede eD@ // PB + tilb) eder eDV // PB hundr) ed (+ @:D // PB hundred - dern) ed (e eD // PB dernede - hern) ed (e eD // PB dernede + dern) ed (e eD // PB dernede + hern) ed (e eD // PB dernede &k) ede (+ eD@ // PB dødkede // PB compounds with "lede" afl) ede (+ eD@ // PB aflede - bortl) ede (+ eD@ // PB indlede - forl) ede (+ eD@ // PB indlede + bortl) ede (+ eD@ // PB + forl) ede (+ eD@ // PB henl) ede (+ eD@ // PB henlede - livsl) ede (+ eD@ // PB indlede - indl) ede (+ eD@ // PB indlede - misl) ede (+ eD@ // PB indlede - opl) ede (+ eD@ // PB indlede - ret) ede (+ eD@ // PB indlede - udl) ede (+ eD@ // PB indlede - vejl) ede (+ eD@ // PB indlede - vildl) ede (+ eD@ // PB indlede + livsl) ede (+ eD@ // PB + indl) ede (+ eD@ // PB + misl) ede (+ eD@ // PB + opl) ede (+ eD@ // PB + ret) ede (+ eD@ // PB + udl) ede (+ eD@ // PB + vejl) ede (+ eD@ // PB + vildl) ede (+ eD@ // PB afl) eder (+ eDV // PB afleder - bortl) eder (+ eDV // PB indleder - forl) eder (+ eDV // PB indleder + bortl) eder (+ eDV // PB + forl) eder (+ eDV // PB henl) eder (+ eDV // PB henleder - livsl) eder (+ eDV // PB indleder - indl) eder (+ eDV // PB indleder - misl) eder (+ eDV // PB indleder - opl) eder (+ eDV // PB indleder - ret) eder (+ eDV // PB indleder - udl) eder (+ eDV // PB indleder - vejl) eder (+ eDV // PB indleder - vildl) eder (+ eDV // PB indleder + livsl) eder (+ eDV // PB + indl) eder (+ eDV // PB + misl) eder (+ eDV // PB + opl) eder (+ eDV // PB + ret) eder (+ eDV // PB + udl) eder (+ eDV // PB + vejl) eder (+ eDV // PB + vildl) eder (+ eDV // PB .group et // PB verb suffix -et (har elsket - has loved) @@ -2310,12 +2582,19 @@ sunget_du) et (_ 'Et // PB synger_du) et (_ 'Et // PB sang_du) et (_ 'Et // PB @du) et (_ 'Et // PB + konkr) et 'Et // PB stressed +en_blank) et 'Et // PB en blanket, den blanket - noun - problem with verb "blanke/blanket" +en_son) et 'Et // PB poem + son) ett (e 'Et // PB sonetten, sonetter vindu) et (_ @D // PB jazzball) et Et // PB viol) et Et // PB ultraviolet omel) et Et // PB spinatomelet +borgerr) et &#t // PB _sk) et et // PB sket pærel) et (+ et // PB pærelet + henr) et (_ &#t // PB + ordr) et (+ &#t // PB ordret oversættelse _toil) et 'Et // PB toil) et Et // PB dyretoilet toil) ett Et // PB herretoilettet - one t @@ -2323,6 +2602,8 @@ jazzball) et Et // PB guldpl) et Et // PB sølvpl) et Et // PB _geb) et (+ 'et // PB + _sekr) et (+ 'Et // PB stressed + sekr) et (ær 3t // PB _ask) et 'et // PB asketisk s) et (_+ et // PB set it) et (_+ 'et // aktivitet @@ -2344,8 +2625,11 @@ _et_kors) et 'Et // PB a corset [kVs'Et] vs the cross [kVrs@d] kvart) et Et // PB _tromp) et 'et // PB stressed tromp) et et // PB + _tap) et 'et // PB + tap) et et // PB _klarin) et 'et // PB marion) et 'Et // PB +marion) ett 'Et // PB _servi) et 'et // PB _servi) ett 'et // PB servi) et et // PB @@ -2402,7 +2686,8 @@ _bajon) ett 'Et // PB only one t _tabur) et (+ '&#t // PB bajon) et Et // PB udsl) et Et // PB udslet -intern) et Et // PB + eln) et (+ Et // PB +//intern) et Et // PB hårn) et Et // PB fisken) et Et // PB @@ -2442,6 +2727,7 @@ _vinaigr) ette '&t@ _budg) et 'Et for) et_ t // PB no e - handled under group o - 'fore' _r) et+ &#t //PB ret + _fals) et 'Et // PB stressed .group f f f @@ -2480,6 +2766,7 @@ _vinaigr) ette '&t@ a) ff (age f // PB staffage a) ff (utage f // PB ra) ff (e f // PB straffe + ra) f (l f // PB rafle ra) f (fr f // PB straffri ra) f (for f // PB strafforfølge a) ff (el f // PB vaffel, taffel @@ -2487,6 +2774,7 @@ _vinaigr) ette '&t@ la) f (re f // PB blafre @) fobi fob'i // PB xenofobi, hydrofobi @) f (laske f // PB colaflaske + f (jeder f // PB sofafjeder a) f (it f a) f (on f a) f (rik f @@ -2495,15 +2783,16 @@ _vinaigr) ette '&t@ a) f (tes_ f Ca) f (t f Ca) f (A f - ga) f (fel f +// ga) f (fel f va) f (l f // PB vafler ga) f (l f // PB gafler da) f (n f // PB dafnie ska) f f // PB retskafne - gra) f f +// gra) f f gra) f (A f - gra) f (C f +// gra) f f ra) f (ik f + stra) f f // PB strafpoint fire fi:V // PB fire sa) f (ar f sta) f (e f @@ -2516,6 +2805,9 @@ _vinaigr) ette '&t@ francesca fRanS'Esk& // PB _) fbi Efbi'aj // PB frankie fr&nki // PB name + farao fArAo // PB name + fouquet fuk'e // PB name + fontaine fONt'E:n // PB .group g g g @@ -2535,11 +2827,13 @@ _vinaigr) ette '&t@ ser) gent 'sj&nt // PB sergent gjorde gjo:V // PB gjorde ki) g k // PB kig, udkig + ki) g (host // PB kighoste - silent g ka) g (e @ // kage ba) g (e @ // bage ba) g (i || // PB bagi ba) g (in w // PB bagindisk bra) g w // PB brag, bragende + bra) g (t g // PB bragte æble) grød grWD a) g (urk g' al) geriet Sj3r'i@d // PB Algeriet @@ -2551,6 +2845,7 @@ _vinaigr) ette '&t@ gui (nnes ge // PB guard gA:d // PB ødi) g (t_ // nødigt + smi) g j // PB smigre i) g (i g e) g (entl j // PB egentlig l) g (s j @@ -2578,10 +2873,13 @@ _vinaigr) ette '&t@ æ) g (e j æl) g (e j // PB sælge vælge y) g (e j // syge, ryge, myge - l) g (_ j // valg + l) g (_ j // valg, elg + el) g (e_ j // PB elge, Helge kvæ) g j // PB l) g (et_ j // PB valget l) g (C // PB bælgmørkt, bælgplante, forfulgt + pil) g (rim g // PB + g (ran g // PB ædelgran g (ross g // PB ølgrossist ø) g j // PB deleted (_ g (le j // PB mægler, besegle @@ -2591,13 +2889,14 @@ _vinaigr) ette '&t@ val) g (t // PB silent g - valgt sy) g // PB silent g -sygdom sa) g j // PB frisag + sa) g (o g // PB sagogryn, heksagon vra) g w // PB skibsvrag spur) gte t@ // PB silent g - spurgte n) gæ gE // PB general rule: consonant + o + g: [w] Co) g w // PB tog, toge, noget // o=>w exceptions - pro) g g // PB program + pro) g (r g // PB program østro) gen g'en // PB vo) g (t g // PB bevogtning vo) g (te g // PB bevogte @@ -2610,6 +2909,8 @@ _vinaigr) ette '&t@ o) g (raf g // autograf r) g (_ w // kirurg, herberg + _pra) g w // PB Prag (city), pragmatisk + pra) g (t g // PB pragtfuld r) g (et_ w // herberget r) gerne (_ wVn3 // PB herbergerne r) gernes (_ wVn3s // PB herbergerne @@ -2644,20 +2945,20 @@ _vinaigr) ette '&t@ dra) g (t g // PB flyverdragt ra) g (e : // PB changed from w præ) g j // PB præg, prægning, udpræget + præ) g (tig g // PB exception præ) g (na g // PN prægnans lA) g (a g ba) g (tal u // PB l added to post - bagtale da) g (C w // PB changed from u - daglejer anda) g (t g // PB da) g (s_ j - dda) g (s ? // PB middagstid - _re) g (i S' + dda) g (s :? // PB middagstid + re) g (ime S // PB voldsregime _re) g (iment g // PB regiment re) g (iA g _re) g (ist g' // register sa) g (s : // PB ' => : - va) g (n u - bor) g u + va) g (n w // PB u => w gti) g (ere // PB vigtigere jer) g (A w jer) g (C w @@ -2672,21 +2973,28 @@ _vinaigr) ette '&t@ lo) g = // stress on previous syllable, no g - psykolog o) g (ram g // PB hologram, monogram gerald dZEr3l/2 // PB + fitz) gerald dZ'Er3l/2 // PB gonzales _^_ES // PB _) gin dZen // PB + _) gi (na dZi // PB name _) ginger dZendZV // PB ginger ale _) guy (_ ga:j // PB Guy - name + ginsberg gensbW:g // PB name geronimo dZer'VnimO:u // PB grady grEjdi // PB name graham (_ _^_en // PB name grahams (_ _^_en // PB name - guthrie gVTRi // PB name - g (igolo dZ // PB + guthrie gVTRi // PB name + gaulle gO:l // PB de Gaulle + g (igolo dZ // PB gouda gAwd& // PB cheese guirland girl'&nd // PB guirlander _) grande (_ grand3 // PB italian gele sjel'e // PB gele gelé sjel'e // PB gelé + guire gw'aIV // PB + gobelin gob@l'EN // PB + graffiti grAf'iti // PB // PB final -gi in da_list - stressed i &) gi ($p_alt g'i // pædagogi @@ -2734,7 +3042,10 @@ _vinaigr) ette '&t@ _) gerard SeR'A: // PB name giuseppe dZis'Ep@ // PB name _) giants dZaj&nts // PB name - gloucester glVstV // PM + gloucester glVstV // PB + bour) geoisi ZwAs'i // PB + bour) geois Zw'A // PB + grandprix grANpr'i // PB .group ge @@ -2766,6 +3077,7 @@ _korte) ge =Se lo) ge (mø Se // PB logemøde _) ge (ne_ Se // gene _) ge (nere Se // genere + _) ge (nerere_ ge // PB ge (nerøs Se // generøs ge (nert Se // genert _) ge (never Se // genever @@ -2776,12 +3088,61 @@ _korte) ge =Se ge (nital ge // PB ge (nitiv ge // PB ge (nius // PB - ge (nind ge // PB genindspille + geni (nd gene // PB genindspille, genindkalde (not [gen'i]) ger (ning gEr // PB bud) ge (t S'E // PB stressed second syllable in words with initial ge - _) ge ($w_alt %ge // PB gesjæft, gebet + ge (bet ge' + ge (bis ge' + ge (bommerlig ge' + ge (brokken ge' + ge (brækkelig ge' + ge (byr ge' + ge (bærde ge' + ge (digen ge' + ge (dulgt ge' + ge (halt ge' + ge (hejmeråd ge' + ge (henna ge' + ge (hæng ge' + ge (hør ge' + ge (lassen ge' + ge (led ge' + ge (lejde ge' + ge (linde ge' + ge (lænder ge' + ge (mak ge' + ge (mal ge' + ge (men ge' + ge (myse ge' + ge (myt ge' + ge (mytlig ge' + ge (nom ge' + ge (ntil ge' + ge (nuin ge' + ge (pard ge' + ge (ranie ge' + ge (ranium ge' + ge (råde ge' + ge (sandt ge' + ge (sims ge' + ge (sjæft ge' + ge (skæftig ge' + ge (spenst ge' + ge (stagen ge' + ge (stalt ge' + ge (stik ge' + ge (svejsning ge' + ge (svindt ge' + ge (valdig ge' + ge (valt ge' + ge (vandt ge' + ge (vind ge' + ge (vinst ge' + ge (vir ge' + ge (vækst ge' + ge (vær ge' .group h @@ -2791,7 +3152,6 @@ _korte) ge =Se A) h (K t) h (en h w) h (isky // PB whisky - silent h - spag) h (etti // PB silent h hotline hVtla:jn // PB heat hi:t // PB highhat hA:jh&d // PB @@ -2806,6 +3166,11 @@ _korte) ge =Se hudson hVdsVn // PB name holly hVli // Pb hollywood heim haIm // PB part of a German name - alzheimerpatient + hawthorne hO:Ton // PB name + _) hyde hajd // PB dr Jekyll and mr. Hyde + home hOwm // PB homebanking, home run + humveer hVmvi:V // PB + humvee hVmvi: // PB .group i i i @@ -2821,17 +3186,24 @@ _korte) ge =Se L03) i (L01%+ e // PB ligge, dikke r) i (L01% e // PB drikke, prikke L08) i (ll e // PB skille, stille + bast) ille 'ilj3 // PB sp) i (l e // PB lotterispil + sp) ilop il'Vp // PB stressed L09) i (L03%a+ e // PB middag L02) i (pp e // PB svippe, vippe L09) i (pp e // PB nippe, knippe, knippel, snippe s) i (pp e // PB sippe +mississ) i (ppi 'i // PB stressed v) i (ss e // PB visse v) i (sh e // PB uvished n) i (sse e // PB p) i (sse e // PB - i (kke+ e // PB ikke, sikkerhed, sikkert + n) i (p e // PB nips, niptang + kn) ip (tang iw // PB kniptang + i (kke e // PB ikke, sikkerhed, sikkert + ch) i (k+ i // PB chikke + sk) i (k+ i // PB skikkelse L06) i (lle e // PB billede, piller b) i (lle_+ i // PB insect b) i (ller_+ i // PB insect @@ -2839,6 +3211,12 @@ _korte) ge =Se b) i (llet+ i // PB traf) i (k i // PB juletrafikken + // PB general rule: [i] after k, [e] followed by n/m + k) i (++ i // PB kikke, kikkert, kirke, kiosk + k) i (L09++ e // PB kind, skinke, skimme, skimte + k) i (L09L11++ i // PB kime + bik) i (ni i // PB + // general rule: [e] between l and nt l) i (nt e // PB flint, klint, splint @@ -2848,24 +3226,27 @@ _korte) ge =Se // general rule: [e] before mp i (mp e // PB imperium, impuls -// PB general rule (exception): [e] before velars - r) i (ng e // ring, sikring fr) i (g i // PB frigav, frigid, frigøre l) i (L01 e // flink, link, blink hell) ig ij // PB helligånd r) ig (C i // PB rigdom - silent g -// f) i (L01 e // finke, finger + fr) ig (jo ig // PB frigjorde f) i (kCL04 i // fiktiv - f) i (kCe e // PB fikse + f) i (ks e // PB fikse, fiks + f) i (kserbad i' // PB + f) i (kservæske i' // PB + f) i (kserbilled i' // PB + f) i (ksering i' // PB _f) i (k_ e // PB s) i (nk++ e // sinke, sinkadus L07) i (fte e // PB stifte, stifter, vifte TEST - kv) i (L07++ i // PB kvit, kvittere, kvik, kvikt -// k) i (l++ i // PB kilten + _v) i (ft_ e // PB + kv) i (L07++ i // PB kvit, kvittere, kvik, kvikt v) i (ste+ i // PB afviste, viste sk) i (Ct i // PB skift, beskidt k) i (ste+ i // PB v) i (L01C++ e // vikle, forvikle, afvikle, svigt + v) i (nglas++ i // PB t) i (L01+ e // ting, folketing, stik, joystick v) i (L01 e // PB vinge v) i (L01a i // PB vikar @@ -2873,14 +3254,11 @@ _korte) ge =Se _t) i (g_+ e // PB t) i (gg+ e // PB tigge, tigger pl) i (L01+ e // PB pligt + pl) i (L01L11+ i // PB komplikation s) i (L01L07 e // PB sigte, sigt, udsigt -// ds) i (L01L07 i // PB trodsig, pudsig -// l) i (ng e // PB udvikling, forvikling, lingvist l) ig (C ij // PB lighus l) ig (i ig // PB relegiøs -// &t) ig i // PB vanvittig, mægtig, hurtig -// n) i (ng e // PB mening - _n) i (k e // PB nikke, nik + _n) i (L10 e // PB nikke, nik, Nick n) i (kL04 i // PB nikotin k) ikset (_ egs@D // PB @@ -2888,33 +3266,51 @@ _korte) ge =Se // PB miscellaneous sv) i (L09C e // PB svimle, svimmel, svindle, svind, sving + sv) i (ns i // PB svins, svinsk (not [svensk]) L02) i (p e // PB vip, svip, fipskæg L02) i (L06e i // PB Bibelen, pibe L02) i (L06re i // PB fibre C) i (mL06 e // PB simpel, vimpel p) ibe (tøj iw // PB + p) i (p+ i // PB pipfugl b) i (p+ i // PB bipper, biperson v) i (b+ i // PB vibrere - C) i (ms e // PB fims, gesims, vimse, bims, dims + C) i (mC e // PB fims, gesims, vimse, bims, dims, bimle + l) i (mni+ i // PB limning himstreg) i (ms 'e // PB stressed sk) i (n e // PB skin, skinne + kn) i (p e // PB kniplen Cr) i (mC e // PB vrimle, strimle + pr) i (m+ i // PB primtal, primus + L06r) i (nt e // PB brint, print s) i (dde e // PB sidde + s) i (dning e // PB eftersidning +læbest) i (ft e // PB +tegnest) i (ft e // PB + limst) i (ft e // PB +blyantsst) i (ft e // PB +blyantst) i (ft e // PB +slagst) i (ft e // PB +blækst) i (ft e // PB bes) i (dde i // PB våbenbesiddelse Cr) i (ll e // PB drille, brille - kr) i (ll i // PB kriller + _dr) i (l e // PB dril, drilagtig + L01r) i (ll i // PB kriller, grill jun) i (or j // PB b) i (tter e // PB b) i (tre e // PB + m) iav jaw // PB // PB [e] after gr - exception gr) i (m e // PB grimrian - C) i (ng e // PB dressing, ising, ping + C) i (ng e // PB dressing, ising, ping, ring gr) i (mL11 i: // PB grime, grimasse // PB general rule: [e] before nd/nk/ng i (nd e // PB ind, finde, vinde + f) i (nland e // PB C) i (nk e // PB spinkel, vinkel, forsinke + f) i (nkæm i // PB finkæmme v) i (ndrik+ // PB vindrikker v) i (nkæld+ i // PB vinkælder @@ -2925,7 +3321,7 @@ himstreg) i (ms 'e // PB stressed _vest) i (ndi 'e // PB vestindisk // PB general rule: [e] after sp/st/sk/r before k/l - st) i (k e // PB stik + st) i (k++ e // PB stik sk) i (l++ e // PB skildpadde, skilt sk) i (løb++ i // PB skiløber sk) i (lift+ i // PB @@ -2937,17 +3333,30 @@ himstreg) i (ms 'e // PB stressed // greneral rule: [e] between r and c/k - [i] followerd by front vowel r) i (L10 e // PB drik, skiderik + r) i (ce i // PB servitrice r) i (L10L04 i // PB frikendt, briket r) i (L10CL04 i // PB friktion fr) i (kvarter i // PB + fr) i (ken i // PB frikende // general rule: [e] between consonant and st/sp/sk l) i (L08 e // PB list r) i (L08 e // PB riste, frisk, brist, vrist, Kristus, dristig + L10r) i (stin i' // PB Christine, Kristine + tr) i (L08 i // PB trist + fr) i (sted i // PB + gr) i (L08 i // PB grisk + &r) i (sk i // PB historisk TEST f) i (L08+ e // PB fisketur + graf) i (sk i // PB + forl) i (s i // PB forliste + konf) i (sker i // PB + kl) i (st i // PB klister v) i (sk+ e // PB hviske + høv) i (sk i // PB m) i (ste e // PB miste - m) istelten istElten // PB + m) i (stanke i // PB + m) istelten istElten // PB bil) i (s i // PB spritbilist // PB "vist" exceptions @@ -2956,27 +3365,37 @@ ganske_v) i (st_ e // PB jav) i (st e // PB L07v) i (st e // PB kvist, tvist _v) i (st_ e // PB "vist" = probably/might/maybe - problem with verb "vise/vist" + v) i (stnok e, // PB _v) i (st_sig i // PB verb + v) i (s_grad e // PB "til en vis grad" - avoid [i] // PB general rule: [e] after consonant + l followed by p Cl) i (p e // PB slip, slippe, klip, glippe, glip _l) i (dt_ e // PB problem with verb "lide" _l) i (dt_skade i // PB + _l) i (dt_nederlag i // PB // PB general rule: d/l + i + k = [e] L03) i (k e // PB blik, øjeblik, dik - L03) i (kL04 i // PB helikopter + L03) i (kL04 i // PB helikopter, publikum L03) i (L10a i // PB handikap L03) i (ke i // PB klike L06) i (k e // PB pik, vatpik + b) i (kini i // PB L06) i (ke i // PB pikikerede, piké d) i (kt i // PB diktat, diktatur, diktum l) i (kv+ i // PB likvid + publ) i i // PB folkerepublik + harp) i (ks i // PB // PB words with final -id in da_list - stressed i &) id ($p_alt ''iD // hybrid +// PB nouns with final -itum in da_list - stress on previous syllable + @) itum ($p_alt =itOm // PB depositum + @) itum (m$p_alt =itO // PB depositummet - only one m + // PB words with final -isk: stress on previous syllable (1.250 words in da_list) &) isk (_$p_alt =isg // canadisk &) isk (e$p_alt =isg // canadiske @@ -2989,20 +3408,25 @@ ganske_v) i (st_ e // PB austral) ier =jV // PB // PB words with final -ik in da_list - stressed i - &) ik ($p_alt+ ''ik // romantik + @) ik ($p_alt+++ ''ik // romantik + @) ik (k$p_alt+++ ''i // musikken - only one k + @st) ik (k$p_alt+++ ''e // bestikke - only one k + @) ik (at$p_alt++ ik // duplikat, duplikator &) ik (er$p_alt =ik // romantiker &) ik (alsk$p_alt ik' // musikalsk - &r) ik ($p_alt ''ek // fabrik - &) ik (k$p_alt ''i // antikke - only one k + &r) ik ($p_alt+ ''ek // fabrik + &) ik (k$p_alt+ ''i // antikke, trafikken - only one k &r) ik (k$p_alt ''e // fabrikker - only one k - mim) ik (er ik // PB mimiker - kom) ik (er ik // PB not stressed + @) ik (ant$p_alt+ ik' // praktikant, musikant + C) ik (er+ ik // PB mimiker, spastiker, musiker + C) ik (aner++ ik // PB republikaner + mus) i (k i // PB folkemusik // PB words with final -ti in da_list - stressed i &t) i ($p_alt 'i // politi // PB words with final -isme in da_list (348) - stressed i - &) isme ($p_alt 'ism@ // kommunisme, egoisme + &) isme ($p_alt ''ism@ // kommunisme, egoisme &) isme (r$p_alt 'ismV // organismer // PB words with final -inde in da_list - stressed i @@ -3010,12 +3434,14 @@ austral) ier =jV // PB // PB put stress on the syllable before final 'ium' - words in da_list &) ium ($p_alt =iOm // territorium + &) ium (m$p_alt =iO // plutoniummet - only one m &r) i (um$p_alt ==i &r) i (et$p_alt 'i // infirmeriet // PB put stress on the syllable before final 'ie' - words in da_list &) ie ($p_alt =i3 // valkyrie &) ie (liv$p_alt =i@ // familieliv + &) ie (r$p_alt =jV // familier &s) ie ($p_alt =j3 // gymnasiereform &) ie (l$p_alt i'E // materiel &) ie (re$p_alt =i''e // injuriere, injurierende @@ -3056,6 +3482,7 @@ particul) ier j'e sen) ior jV // PB iew j'u _t) i (n e // PB tinfolie + t) i (nL11 i // PB Tina, Tine b) ingo engo // PB _m) id (t e // PB midt - silent d i (mpo e // PB imponerende @@ -3063,12 +3490,14 @@ special) i (st i // PB stålspecialist gev) i (nst e // PB f) i (nte_ e // PB r) idge idZ // PB Coleridge, bridge + br) idget idZit // PB name r) isike esike // PB risikere r) isiko isiko // PB risiko gl) i (m e // PB glimt, glimrende + l) i (nned e // PB klin) i (k i // PB fødeklinik - unstressed after syllable - @t) i (k+ i // PB ferieromantik, finanspolitik - st) i (k+ e // PB bestikke + @t) i (k_++ i // PB ferieromantik, finanspolitik + best) i (k++ e // PB bestikke plast) i (L10 i // PB plastik/c gudhjælpem) ig =aj // PB i (owa aj // PB US state @@ -3081,11 +3510,18 @@ gudhjælpem) ig =aj // PB l) i (ns e // PB linse l) i (lla e // PB t) ime (out ajm // PB + r) i (ley aj // PB name s) i (d_ e // PB sid s) i (lk e // PB silke sl) i (k e // PB slik impoten empotEn // PB impotens en_st) i (l_ i // PB stil - noun + _st) i (l_over_hende i // PB "der er stil over hende" + _st) i (l_over_ham i // PB + _st) i (l_over_deC i // PB "stil over" det/dem/deres + er_st) i (l_over_ i // PB "der er stil over" +var_st) i (l_over_ i // PB "der var stil over" +mere_st) i (l_over_ i // PB "der er mere stil over" best) i (l e // PB bestille st) i (l_ham e // PB verb - stil ham om st) i (l_op_ e // PB verb @@ -3110,6 +3546,7 @@ _jeres_st) i (l_ i // PB _deres_st) i (l_ i // PB _hans_st) i (l_ i // PB _hendes_st) i (l_ i // PB +livsst) i (l i // PB vent) i (l i // PB slangeventil st) i (le i: // PB stile ju) i (ce // PB juice - skip the i @@ -3140,12 +3577,20 @@ luksusl) i (ner aj // PB d) ie (sel i // PB dieselolie k) io (sk jV // PB kiosk suz) ie i // PB name - ann) ie i // PB name + _ann) ie i // PB name + robb) ie i // PB name h) igh aj // PB high school cl) ive ajv // PB name gr) imes ajms // PB name +new_york_t) imes ajms // PB + or) ion 'iVn // PB lou) is i // PB + lou) isiana isj'&n& // PB US state + lou) is (e 'is // PB lou) ie i // PB + lesl) ie i // PB name + ronn) ie i // PB name + idaho ajd&h'ow // PB long_) island ajl@nd // PB amnesty_) international intVn'&Son&l // PB v) irtual (_reality '3tSu-@l/2 // PB @@ -3155,6 +3600,10 @@ amnesty_) international intVn'&Son&l // PB // PB final -iker in da_list: stressed previous syllable &) iker ($p_alt+ =ikV // akademiker, teoretiker + &m) iker (e$p_alt++ =ikV // polemikere(n) + &t) iker (e$p_alt+ =ikV // fanatikere + &n) iker (e$p_alt+ ik'er // kommunikere (verb) + &tr) iker (e$p_alt+ =ikV // elektriker k) i (et 'i // PB Tyrkiet kas) i (no 'i // PB stressed @@ -3169,6 +3618,7 @@ _abbed) i 'i // PB _ortopæd) i 'i // PB ortopædi swah) i (li 'i // PB stressed i _hæmor) i (d 'i // PB hæmorider + _mil) i (ts 'i // PB stressed // stressed final i _akromegal) i 'i _anomal) i 'i @@ -3220,7 +3670,7 @@ offentl) ig i // PB s) i (e j t) i (øs s) i (on j - s) i (a j' // PB passiar + s) i (ar j' // PB passiar c) i (a j // PB specialitet des) ign ain s) ign (al in // PB lyssignal @@ -3247,8 +3697,11 @@ _princ) i (p 'i // PB stressed _el) i (te ''i // PB stressed - elitesoldat _salv) ie 'i: // PB stressed _ol) i (ven 'i // PB stressed + _int) i (m 'i // PB _algor) i (tme 'i // PB stressed _utop) i 'i // PB stressed +brintover) i (lte 'i // PB stressed + kam) i (lle 'i // PB stressed mar) i (a 'i // PB stressed dom) ing (o 'eng // PB stressed Santa Domingo _rem) i (s 'i // PB stressed - remis, remise @@ -3300,7 +3753,7 @@ suggest) i (bel 'i // PB stressed vis) i (bel 'i // PB stressed _pyram) i (d 'i // PB pyramide _medl) i (denhed 'i // PB medlidenhed - stressed - _omkr) i (ng 'e // PB stressed e in 'omkring' + _omkr) i (ng ''e // PB stressed e in 'omkring' _tyver) i 'i // PB stressed kn) i (v i // PB kniv _min) i (ster_ 'i // PB minister - stressed i @@ -3310,6 +3763,7 @@ _distr) i (kt 'e // PB stressed am) i (go 'i // PB amigo magas) i 'i // PB magasin _kap) i (tel 'i // PB stressed + _kap) i (tl 'i // PB kapitlet - stressed mask) i (n 'i // PB stressed - maskinskrive asp) i (c 'i // PB aspic - only this word _krokod) i (ll 'i // PB stressed @@ -3320,8 +3774,10 @@ _krokod) i (ll 'i // PB stressed _art) i (k 'i // PB stressed - artikkel _franc) i (sco 'i // PB benzedr) i (n 'i // PB + madr) i (d 'i // PB stressed valent) i (no ''i // PB name _sus) ie i // PB name +michel) in EN // PB Michelinguide .group ig @@ -3329,13 +3785,14 @@ valent) i (no ''i // PB name ig (_ i // dejlig, rig @) igt (_ it // PB dejligt // exceptions - ops) ig (+ eg // PB opsigt + ops) ig (t+ eg // PB opsigt pl) ig (t+ eg // PB tavshedspligt sv) ig (t+ eg // PB strømsvigt trods) ig i puds) ig i hids) ig i smuds) ig i + stad) ig i // PB stadigvæk ns) ig (t+ eg // PB ansigt døgen) igt ikt // PB puds) ig (t i // pudsigt @@ -3358,6 +3815,7 @@ skæmted) ig (t eg // PB _l) ig (_godt ek // PB _l) ig (_roligt ek // PB l) ight ajt // PB + m) ighty ajti // PB fr) igea (r igi // PB frigear ig (hed+ i // PB vittighed, evighed _k) ig (_ ig // PB kig @@ -3379,6 +3837,7 @@ skæmted) ig (t eg // PB p) igen i:3n // PB pigen gensid) ig ij // PB maybe "j" should be removed n) ige (ri ige // PB nigerianer + dir) ig (ent ig // PB _n) iger (_ igV // PB Niger (river) privil) ige ig'e // PB priviligeret n) igeria ig'eRi& // PB @@ -3403,6 +3862,9 @@ intell) ige (n ig'e // PB intelligent // PB words ending with "ine" in da_list with $alt - stressed i &) ine ($p_alt 'in@ // lavine + &) ine (tryk$p_alt 'in@ // kabinetryk + &) ine (r$p_alt 'inV // maskiner + &) ine (re$p_alt in'e // vaccinere // PB not the same word as "kabine" kab) ine (t in'E // kabinet @@ -3462,17 +3924,22 @@ _sport) iv 'iv joy dZVj // PB joystick ja (mal dZ& // PB name jerry dZeri // PB + jekyll dZek@-l // PB name dr. Jekyll jamie dZEjmi // PB name jerome Ser'om // PB name - French version jambalaya dZAmb&l'aj& // PB _) jake dZEjk // PB name + _) jakel j&k-@l // PM mester Jakel _) jill dZil // PB name j (ob dZ john dZVn johnny dZVni // PB name - joe dZOu + joe dZ0w jackie dZ&ki // PB + jones dZ0wns // PB junkie dZVnki // PB + j (unk dZ // PB junkaktie + j (unkt j // PB junktur, konjunktion jo (ckey dZV // PB _) j (im_ dZ // PB jimmy dZemi // PB @@ -3491,10 +3958,12 @@ _sport) iv 'iv en) j (ambe S // PB enjambement ro) j (ekt S // projekt a) j (ou S // ajour + j (asmin S // PB j (ongl S // PB jonglør j (ournal S // PB journal ma) j (or j' // PB major j (uice dZ //PB juice + juke (boks dZu:k // PB jukeboks _) jer (_ jEr // PB jer - er swallowed by other rules jamsession dj&:ms'eSj@n // PB jardiniere SjArdinj'E:r // PB jardiniere @@ -3505,7 +3974,7 @@ _sport) iv 'iv @) jalousi S&lusi // PB magtjalousi jamaica S&m'ajk& // PB joint dZVjnt // PB - _) james _^_EN + _) james dZEjms // PB jay dZEj // PB name jess dZEs // PB Jess jessie dZEsi // PB Jessie @@ -3513,6 +3982,7 @@ _sport) iv 'iv nin) j (a dZ // PB jeanne (_d %S&:n // PB Jeanne D'Arc jaubert Sob'Er // PB name + jehova jeh'ov& // PB .group k @@ -3535,6 +4005,8 @@ _sport) iv 'iv knight nAjt // PB name knox nVgs // PB Fort Knox knock nVk // PB knockout + the_) kid ked // PB Billy the Kid + keith ki:T // PB name .group l // PB l changed to l/3 in ph_danish @@ -3563,10 +4035,12 @@ cabrio) let l'E // PB silent t so) ld (at ld _) leg (_ laj // PB leg leger lajV // PB leger - legem lEj@m // PB legemsdel + lege (ring leg'e // PMB stressed + legem (C lEj@m // PB legemsdel lotion l3uSjn // PB håndlotion lorraine loRE:n // PB name lizzie lisi // PB name + larry l/2&*i // PB name labour lEjbV // PB British party bi) llard liad // PB game he) lg (e lj // PB Helge, helgen @@ -3581,6 +4055,9 @@ cabrio) let l'E // PB silent t g) ladys l&dis // PB name mac_) leod l'awd // PB MacLeod - name lucky lVki // PB Lucky Strike + _) lake (_ lEjk // PB Salt Lake + lloyd lVjd // PB name + limoges lim'o:Z // PB .group m m m // PB m? -> m @@ -3604,7 +4081,8 @@ cabrio) let l'E // PB silent t musketer musget'er // PB musketer milkshake _^_EN // PB _) mike (_ majk // PB Mike - mail mejl + mail mEjl // PB + e_) mail %mEjl // PB don't put stress on "mail" montre mO:ntrV mayday mEjdE:j // PB miami m&j'&:mi // PB @@ -3623,14 +4101,19 @@ cabrio) let l'E // PB silent t murphy mWfi // PB name murray mVri // PB name molyneux mVlinju: // PB name + michelle miS'El // PB name murphey mWfi // PB name + maupassant mop&s'AN // PB name murph mWf // PB nickname - marjorie mAdZOri // PB name + marjorie mAdZOri // PB name montpellier _^_fr // PB mpson msVn // PB Thompson marseille maRs'E:j musical mju:sik3l // PB mahogni m&h'oni // PB + manager m&nedZV // PB + moulin mul'&N // PB Moulin Rouge + _) mouse maws // PB Mickey Mouse .group me @@ -3686,6 +4169,7 @@ _etablisse) ment m'AN // PB etablisseement _guverne) ment m'AN // PB guvernement _gour) met m'e _kompli) ment m'AN +endosse) ment m'AN // PB _regle) ment m'AN // PB reglement _regle) mente (ret ment'e // PB reglementeret _abonne) ment m'AN // PB reglement @@ -3713,8 +4197,10 @@ _bombarde) ment m'AN // PB bombardement // PB words with final -ni in da_list - stressed i &) ni ($p_alt+ 'ni // ironi + &n) ni ($p_alt+ ''i // tyranni - only one n &) ni (sk$p_alt+ =ni // ironisk - stress on pervious syllable before sk _harmo) nika =nik& // PB stressed o + biki) ni =ni // PB // PB nouns with final -ner ("er" has been removed) in da_list // stressed previous syllable @@ -3742,29 +4228,55 @@ _harmo) nika =nik& // PB stressed o _) nicole nik'Vl // PB name _) neville nEvel/2 // PB name _) nellie nEli // PB name + nightengale najt@-ngEjl // PB name .group nd // PB general rule: nd = [n] after a vowel A) nd n // ond, onde, sunde + + en_ru) nd (e nd // PB en runde james_bo) nd nd // PB James Bond + li) nd (a nd // PB + ke) nd (is nd // PB + me) nd (oza nd' // PB name + ci) nd (y nd // PB name _bo) nd (_ nd // PB + ba) nd (age nd // PB bandage + ska) nd (a nd // PB skandale, skandaløs + ga) nd (a nd // PB propaganda + sa) nd (al nd // PB A) nd (rin nd // ændring + sru) nd (e nd // PB æresrunde, forhandlingsrunde + ko) nd (ens nd // PB kondenseret ha) nd (i nd // PB handicap, handikap a) nd (y nd // PB name A) ndn n // PB endnu -> [enu] - only one n // exceptions a) nd (el nd // PB andel, sandeltræ + vera) nd (a nd // PB + pa) nd (elok n // PB + e) nd (okri nd // PB endokrin + e) nd (oskop nd // PB endoskop + e) nd (ogen nd // PB endogen + e) nd (os nd // PB endossement + pe) nd (ul nd' // PB + norma) nd (i nd' // PB Normandiet sa) nde (lig n3 // PB + A) nd (re nd // PB mindre, andre + ply) nd (re n // PB sta) nd (+ n // PB opstandelse ba) nd (emedlem nd // PB + nd (åse nd // PB tundåse eje) nd (el nd // PB fi) nd (el nd // PB findele nd (else n // PB opfindelse fi) nd (eløn n // PB e) nd (e+ n // PB endeløs + we) nd (el nd // PB name ko) nd (emnere nd // PB ko) nd (olere nd // PB fe) nd (er nd // PB + nea) nd (er =nd // PB neandertal vi) nd (e n // PB kvinde, overvindelig vi) nd (rik nd // PB vindrikker e) nd (elig n // PB endelig @@ -3781,10 +4293,10 @@ james_bo) nd nd // PB James Bond ke) nd (el n // PB kendelse pe) nd (i nd // PB appendiks spe) nd (er nd // PB spendere -// stæ) ndig ndi // PB anstændig - silent g nd (ør nd // PB køkkendør svi) nd (el n // PB - nd (om nd // PB ejendom + nd (om nd // PB ejendom, kondom + ko) nd (ol nd // PB kondolance te) nd (ens nd // PB nd (ød nd // PB stendød fu) nd (er nd // PB fundere @@ -3810,8 +4322,11 @@ james_bo) nd nd // PB James Bond ma) nd (er nd // PB kommandere nd (ent nd // PB prætendent u) nd (re nd // PB beundre + du) nd (re n // PB dundre hu) nd (+ n // PB hundrede va) nd (re nd // PB vandretur + ma) nd (ag nd // PB + sø) nd (ag nd // PB _i) nd (er_+ nd // inder i) nd (erst+ n // PB i) nd (erkreds+ n // PB @@ -3826,10 +4341,11 @@ revalide) nd nd subtrahe) nd nd // PB general rule: nd = [nd] after a vowel before a - A) nd (a nd // mandat + A) nd (at nd // mandat kvi) nd n // PB kvindagtig va) nd (af n // PB vandafvisende la) nd (ar n // PB landarbejder + hå) nd (ar n // PB håndarbejde // PB takes away the d in 'bander' = 'gangs' - n => n? // Neither 'bander' = swears nor 'bander' = gangs is correct @@ -3837,6 +4353,9 @@ subtrahe) nd nd ba) nd (er n? ba) nd (ens nd // PB _en_ba) nd (e nd // PB + ba) nd (ekri nd // PB -krig, -kriminalitet + ba) nd (euvæsen nd // PB + ba) nd (ero nd // PB banderole forba) nd (er n // PB nd (ow nd @@ -3850,13 +4369,17 @@ _en_ba) nd (e nd // PB i) nd (imellem n // exception i) nd (erl+ n // PB inderlig a) nd (ere nd // PB propagandere + ko) nd (i nd // PB konditori, kondicykel eku) nd nd .group ng ng N // general rule - ting, ring kæ) ng (uru ng // PB + morge) ng (ry ng // PB + la) ngu (st ng'u // PB languster vi) ng (ård ng // PB vingård + pa) ng (æa ng' // PB Pangæa flami) ng (o =ng // PB stressed i ra) ng (ere NS // PB ta) ng (ent ng // PB @@ -3864,6 +4387,8 @@ _en_ba) nd (e nd // PB ng (æld ng // PB gengæld a) ng (iv ng // PB selvangivelse ng (evær ng // PB maskingevær + ng (las ng // PB vinglas + he) ng (iv ng // PB hengiven i) ngeni (ø nSin // PB ingeniør eva) ng (el ng // PB evangelie allo) ng (e NS // PB @@ -3884,6 +4409,7 @@ _en_ba) nd (e nd // PB o o oo u: // PB English words like 'pool' + nark) o o // PB narkoopgør br) ooke uk // PB name f) ood u:d // PB fl) ood Vd // PB @@ -3894,6 +4420,7 @@ _en_ba) nd (e nd // PB baz) oo 'u: // PB bazooka m) oore V: // PB name h) ood u:d // PB Robin Hood + dan) ois w'A // PB granddanois // PB final -skop - stressed o &sk) op ($p_alt 'op // gyroskop @@ -3921,39 +4448,44 @@ elektr) o (de 'o L10) o (nC V // PB konvoj, conga // PB general rule consonant + o + double consonant: [V] - C) o (C%++ V // PB korrekt, bolle, propper, kopper - L03r) o (C%++ V // PB droppe - L10r) o (C%++ V // PB kroppe - r) o (C%a++ o // PB rollator - k) o (mmo o // PB kommode - C) o (C%e_++ V // PB fjolle, jolle +// C) o (C%++ V // PB korrekt, bolle, propper, kopper + + C) o (L03% V skodde, rolle + C) o (L03%a o rollator + h) o (ll+ V // PB Holland + C) o (rr V // PB korrekt + L06) o (t V // PB pot + L06) o (tL11 o // PB pote, botaniker + r) o (C% V // PB droppe, kroppe + _r) oll (_ oul // PB rock and roll + kn) o (tt V // PB knotten + + foxtr) o (t V // PB ren) omme (+ om'e // PB ren) ommé (+ om'e // PB C) o (C%et_++ V // PB jokket - C) o (L02%L04++ V // PB koffein + C) o (C%er_++ V // PB snobber +// C) o (L02%L04++ V // PB koffein gr) o (ssi+ o // PB grossist - fr) o (C%++ o // PB frosset, frossen + fr) o (ss++ o // PB frosset, frossen fr) otte (++ ot'e // PB frottehåndklæde m) o (sset++ o // PB k) ommers (_ om'Ers // PB stressed ap) o (llo++ 'V // PB stressed k) o (mmerciel++ o // PB kommerciel - fr) o (mm++ V // fromme +// fr) o (mm++ V // fromme C) o (L09n V // PB velkomne // PB general rule k + o + double consonant + front vowel: [o] // Some people pronounce it [V] - k) o (C%L04++ o // PB korridor, korrupt, kollegium - L08) o (C% V // PB skotte, spotte - r) o (C%+ V // PB rotte, skrotte + k) o (C%L04++ o // PB korridor, korrupt, kollegium, kommode + L08) o (tt V // PB skotte, spotte + r) o (tt+ V // PB rotte, skrotte k) o (mmentA+++ o // PB kommentar, kommentere k) o (llekt_ o // PB could also be [V] k) o (lleg+++ o // PB kolleger -// PB general rule o + p/b/d + front vowel: [o] - o (L06L04 o // PB topografi, utopi - // PB general rule o + b + l + a/e/LL04: [o] o (bla+ o // PB oblat o (blL04 o // PB obligation @@ -3973,24 +4505,28 @@ elektr) o (de 'o L03) o (L09 V // PB barndom, lom, domhus, don, dommer fr) o (nt V // PB frontal L03) o (L09L04 o // PB dominere - L03) o (L09e o // PB donere - L03) o (L09a o // PB donation, donator + L03) o (L09L11 o // PB donere, donation, donator + @mel) o (n o // PB vandmelon // PB general rule sp/st/sk + r + o + velars: V L08r) o (L01 V // PB skrog + L08r) o (L01L11 o // PB østrogen V // PB skrog // PB general rule consonant + o + velars: V - C) o (L01 V // PB fjong + C) o (L01 V // PB fjong, jogge + kr) o (ketC V // PB kroketbane, -spiller, -plæne + _kr) o (kett o' // PB kroketter + C) o (L01t V // PB kogt b) o (L01L04 V // PB bongo + b) o (gorm o // PB + C) o (kL11 o // PB provokere parad) o (ks 'V // PB stressed elektr) o =o // PB elektrokromatisk L06r) o (j o // PB projektør - C) o (g o // PB BROAD RULE FOR THE RULES BELOW - n) o (get o // PB - b) o (g o // PB bogmærke - t) o (g o // PB tog (verb took, noun train) - r) o (g o // PB bedrog, krog - r) o (ga o // PB arrogant + d) o (L01rL04 o // PB endokrin TEST + C) o (g o // PB noget, bogmærke, bedrog, krog, tog (verb took, noun train) + j) o (L01%L11 V // PB jogge, jokke + l) o (L01%L11 V // PB logge, lokke sl) o (g o // PB foreslog dag) o (g o // PB pædagog o (kaC o // PB pokal, advokat @@ -4000,18 +4536,32 @@ elektr) o =o // PB elektrokromatisk L08r) o (t V // PB skrot _mask) o (t 'V // PB stressed L08) o (tL04 o // PB followed by front vowel: o - skotøj + disk) o o // PB diskotek // PB general rule o + front consonant: [V] o (L03K V // PB Olga, Volga, vold, vod, od, volt + bornh) o (lm 'V // PB L08) o (l o // PB skole, spole, spol - p) o (lsk o // PB + p) o (ls o // PB polsk + wimp) ole Owl // PB name st) o (d_ o // PB L09) o (d o // PB mod l) o (L03 o // forlod, blod + jordl) o (d V // PB + l) o (dtræk V // PB lodtrækning +trukket_l) o (d V // PB +træk_l) o (d V // PB +trække_l) o (d V // PB +trækker_l) o (d V // PB +trækkes_l) o (d V // PB +trak_l) o (d // PB r) o (d o // PB + br) o (d V // PB + br) o (der o // PB forl) o (ds V // PP g) o (d o // PB b) o (d o // PB + k) o (d o // PB kodning g) o (dt V // PB l) odret (+ VDr&#t // PB @@ -4021,34 +4571,52 @@ elektr) o =o // PB elektrokromatisk ch) o (k V // PB ch) o (ko o // PB chokolade +// PB general rule o + p/b/d + front vowel: [o] + o (L06L04+ o // PB topografi, utopi, opinion + o (pofre+ V // PB opofrelse + // PB general rule o + p/b: [V] o (L06+ V // PB op, opdrage, obstruere o (L06L11+ o // PB oktober, global, Robert, oberst + o (pad+ V // PB + k) o (par V // PB koparret L02) o (L06le+ V // PB boble L02) o (L06%e++ V // PB dobbel C) o (L06L04++ o // PB monopol, mobil + o (bbA+++ V // PB hobby, snobbet, snobbede + k) o (bber O // PB selv) o (p V // PB selvoptaget _r) o (bin++ V // PB Robin Hood - Cr) o (L06Ce o // PB problem + pr) o (ble o // PB problem r) o (L06L05+ o // PB europæer, propan le) o (pa o' // PB leopard nark) o (C o // PB narkobranchen + mikr) o o // PB mikroprocessor h) o (b+ o // PB menneskehob Cn) o (L06++ o // PB knob, knop, knoppen + gal) o (p 'V // PB stressed + kykl) o (p 'o // PB // PB general rule l + o + t: [V] l) o (t V // PB blot, plot, kaskelot + l) o (tus o: // PB pil) o (t o // PB autopilot + kil) o o // PB kiloton Ca) o (s V // PB kaos Laos L08) o (f V // PB stof + kask) o o // PB kaskoforsikring tr) o (CL04 o // PB antropolog, tropisk, troperne _) o (mC ''V // PB omgang, omformulere + o (megn V // PB o (mk V // PB deromkring k) o (nC V // PB konfirmand, konfekt, konkurrence C) o (sCL11 V // PB fosfat, koster, moster, foster + tr) os (samfund os // PB + metr) o o // PB metrostation + bek) o (st V // PB bekostning o (sCL04 V // PB osmose - C) o (stL04 o // PB kostume + k) o (stL04 o // PB kostume Cr) o (sk o // PB troskab, kroskænk n) o (s_ V // PB nos nu ikke i det g) o (slav o // PB Jugoslavien @@ -4057,14 +4625,34 @@ elektr) o =o // PB elektrokromatisk o (sko+ o // PB otoskop, mokroskopi sk) o (sværte o // PB - // PB general rule: consonant + o + m:[V] +// PB general rule: consonant + o + m:[V] C) o (m V // PB tomhændet, kedsomhed, tomt, udenoms C) o (mL04 V // PB bomuld + C) o (mL11 o // PB tomat + h) o (L09L04+ o // PB homo, honorær + Cr) o (mL04 o // PB promotor + tr) o (mme o // PB + fr) o (m V // PB + fr) o (ma o // PB fromage + tr) o (m o // PB trompet + n) o (mi o // PB økonomi + hæmat) o (m 'o // PB + +// PB general rule: labial (+r) + o + st: [V] + L02) o (st V // PB opfostre, moster, post, frost + fr) o (st V // PB frost + br) o (sten o // PB +// exceptions + p) o (stmod O // PB postmoderne + p) o (stej %o // PB leverpostej + p) o (sttrau o // PB posttraumatisk + pr) o (sti o // PB prostitueret s) o (mal o' // PB Somalia gn) o (m o // PB kr) o (m o // PB krom _l) o (s V // PB los + _p) o (t_ V // PB fall) o (s V // PB _kol) o (s 'V // PB kolos - stressed kol) o (st o // PB kolostomi @@ -4073,28 +4661,30 @@ elektr) o =o // PB elektrokromatisk k) o (ntor o // PB h) o (spice V // PB hospice v) od (ka Vd // PB - p) o (st V // PB post - p) o (stmod O // PB postmoderne - p) o (stej %o // PB leverpostej - p) o (sttrau o // PB posttraumatisk + o (ttawa V // PB term) o o // PB termostat r) o (st o // PB rost, skamrost, prostitueret - pr) o (sta V // PB prostata - fr) o (st V // PB +// pr) o (sta V // PB prostata +// fr) o (st V // PB f) oged o:@D // PB silent g bank) o (sp o // PB bankospil k) o (sko o // PB bronkoskop kok) o (s o // PB kokosnød k) o (st_ o // PB kost (broom) Problem with kost = food k) o (stskole V // PB + k) o (stplan V // PB + k) o (stråd V // PB + k) o (stvane V // PB + k) o (stpris V // PB + k) o (sttilskud V // PB hverdagsk) o (st V // PB k) o (st_og_logi V // PB board and lodging k) o (stbar V // PB helsek) o (st V // PB frok) o (st V // PB omko (st VmkV // PB omkostninger, leveomkostninger - k) otelet Vt@l'Et // PB svinekotelet - h) o (st o // PB host + k) otele (t Vt@l'E // PB svinekotelet + h) o (st+ o // PB host fC) o (t V // PB flot, fjot fC) o (tL04 o // PB flotille @@ -4106,6 +4696,7 @@ helsek) o (st V // PB _) o' ou' // PB for Irish names - O'Grady s) outh auT // PB South Pacific _h) olmes (_ oums // PB name + s) oames oums // PB name osborne Vsb,On // PB name k) oor (d oV:? // PB koordinat _biot) o (p 'o // PB stressed @@ -4114,6 +4705,7 @@ antibi) o (tik 'o // PB antibiotika lak) o (ta 'o // PB stressed _morm) o (n 'o // PB stressed o (pofre V // PB + f) o (nt V // PB døbefont, fontæne ann) on (ce VN // PB - stressed by $alt list radi) o o // PB radiobil f) o (b o // PB fobi @@ -4163,6 +4755,8 @@ _horis) o (n 'V // PB horisont _er) o (t 'o // PB erot - stressed o _pil) o (t 'o // PB stressed - pilot _idi) o (t 'o // PB stressed +_patri) o (t 'o // PB stressed +_cypri) o (t 'o // PB stressed _matr) o (s 'o // PB stressed _metad) o (n 'o // PB stressed _batalj) o (n 'o // PB stressed @@ -4181,7 +4775,7 @@ _paran) oia 'Vj& // PB stressed _huk) o (mme 'V // PB hukommelse - stressed _kuj) o (n 'o // PB stressed komp) o (st 'V // PB stressed - vagab) o (nd 'O // PB stressed + vagab) ond 'Ond // PB stressed _) oil (_ V:il/2 // PB cr) oix w'a // PB Delacroix d) o (nald V // PB name @@ -4203,12 +4797,16 @@ _paran) oia 'Vj& // PB stressed o (rga+ V // PB organ r) or (g oR // PB rorgænger ov (e+ Vu // PB over, oven, sove + h) o (vere o // PB + ov (n Vw // PB brændeovn + ov (re Vu // PB derovre C) ov (+ Vw // PB sjov, lov, skov + kr) o (væ o // PB krovært ov (erhead Ouv // PB overhead - t) ov (er ov // PB tatovere + at) ov (er ov // PB tatovere k) ov (end ov // PB kovending ov (ærn+ ov // autoværn - h) ov (+ Vu // hov +// h) ov (+ Vu // hov vuk) ov (ar ov // PB Vukovar o (vej+ o // PB kommandovej o (vi+ o // PB pseudovidenskabelig @@ -4216,6 +4814,7 @@ _paran) oia 'Vj& // PB stressed l) ov (_mig_ ow // PB from the verb "at love" v) ov (e Ov // PB vove o (fC V // PB ofte, kofte + sj) o (f o // PB sjofle h) o (f V // PB hofleverandør skiz) o (fren o // PB n) ov (a++ ov // PB nova, renovation @@ -4224,6 +4823,7 @@ _paran) oia 'Vj& // PB stressed bet) on VN // PB betonen _m) o (rt V // PB mortadel o (k V // PB general rule - okker, lok +artisk) o (k 'V // PB stressed aut) o o // PB autoklub t) or (t V:? // PB tortur t) o (t V // PB hårtot, tot, hottentot @@ -4233,6 +4833,7 @@ _paran) oia 'Vj& // PB stressed sm) o (king o: // PB o (rk V // PB orke orkester j) o (rt V // PB hjort, pjort + kj) o (rt o // PB skjorte, kjortel gj) o (rt o // PB k) or (p V: // PB korps k) or (pi or // PB korpige @@ -4240,13 +4841,16 @@ _paran) oia 'Vj& // PB stressed g) od (tr oD // PB godtroende g) od (tAg oD // PB godtage, godtog d) o (g V // PB dog + bulld) og V:g // PB v) o (g V // PB vogn, vogte + sv) o (ger O // PB _v) og (_ ow // PB "han vog den kullede greve" C) ogn Vwn // PB sogn, vogn + pr) ogn (o ogn // PB prognose col) ogn (e l'VNj // PB boul) ogn (e ''VNj // PB Bois de Boulogne s) or =V // PB professor - s) orer 'o:V // PB professorer + s) orer ''o:V // PB professorer, processorer _l) o (g_ V // PB log l) o (gfil V // PB l) o (gbog Vg // PB @@ -4254,6 +4858,8 @@ _paran) oia 'Vj& // PB stressed l) ondon VndVn // PB London bl) ond Vnd //PB Keep the d - blondine, blonde k) ors V:s // PB kors, korsage + et_k) orset Vs'Et // PB + k) orsett Vs'Et // PB korsettet, korsetter c) o (rs V // PB corsage k) o (gl V // PB kogle _d) o (n_ V // PB don juan @@ -4266,7 +4872,8 @@ _paran) oia 'Vj& // PB stressed tr) o (j V // PB trojka, Troja p) olish VliS // PB møbelpolish tr) o (kl V // PB trokle - t) or (_ V // PB faktor + t) or (_ V // PB faktor, rotor + t) or (en V // PB faktoren st) o (r+ o // PB stor past) or V // PB mot) or V // PB startmotor @@ -4295,15 +4902,18 @@ _paran) oia 'Vj& // PB stressed s) o (pra o // PB sopran oregonpine VregVn||pajn // PB oklahoma okl&h'om& // PB - p) oint wEN // PB + + p) oint (_ wEN // PB + p) ointene wEN@n3 // PB p) ointe wENt@ // PB p) ointer wENtV // PB - c) ogn (ac VN // PB + p) oint (ere Vjnt // PB + c) ognac VNak // PB b) o (m o // PB bombe, bom - b) o (mm++ o // PB bommen + b) o (mm++ o // PB bommen b) ombay Vmb,Ej // PB k) omet om'et // PB - k) o (mmo++ o // PB kommode +// k) o (mmo++ o // PB kommode komm) o (de 'o // PB stressed L01) o (mman+ o // PB kommando pomp) on VN // PB pompon @@ -4314,6 +4924,8 @@ _paran) oia 'Vj& // PB stressed o (sL11 o: // PB rose, skose, pose, prosa ou 'u // PB poussin, toupe + kont) o o // PB kontoudtog + b) ourne O:n // PB name rag) out 'u // PB silent t s) ou (l Ow // PB soulmusik slowm) otion OuS-@n // PB @@ -4329,6 +4941,7 @@ _knock) out 'awd // PB knockout _astron) out awd // PB outsider awdsajdV // PB ohio ouh'ajo // PB +noblesse_) oblige _^_fr // PB noblesse oblige d) oug Vg // PB Douglas s) onny Vni // PB name oprah Owpra // PB name @@ -4343,11 +4956,15 @@ _astron) out awd // PB r) oastbeef Ousdbif // PB roastbeef illin) ois V:j // PB ink) og (nito 'Vk // PB + br) oth (er VD // PB + outlaw awtlO: // PB + // PB final -ol words in da_list - stressed o &) ol ($p_alt+ 'ol // parabol mong) oliet ol'i@D // PB &s) ol ($p_alt+ 'Vl // konsol + &s) ol (L04$p_alt+ 'ol // konsolidere &h) ol ($p_alt+ 'Vl // alkohol &h) ol (i$p_alt+ 'ol // alkoholisk &ok) ol ($p_alt+ 'Vl // protokol @@ -4356,7 +4973,7 @@ _astron) out awd // PB &tr) ol ($p_alt+ 'Vl // kontrol &tr) ol (len$p_alt 'V // kontrollen &tr) ol (e$p_alt 'ol // petroleum - &tr) ol (l$p_alt 'o // kontrollere + &tr) ol (lle$p_alt 'o // kontrollere &st) ol (+$p_alt 'ol // pistol L08) o (lt V // PB stolt @@ -4369,6 +4986,7 @@ _astron) out awd // PB s) o (llys++ o // PB o (ld_ V // PB nathold, skjold o (lde_ V // PB skjolde, solde + is) olde 'Vld3 // PB name s) olgt Vlt // PB solgt - exception kontr) o (l V // PB billetkontrol sn) o (t V // PB snot @@ -4380,20 +4998,24 @@ _astron) out awd // PB oakland Wwkl@nd // PB _) o (liver V // PB name d) ono (van Vn3 // PB name + bl) ow '@w // PB blowjob + sp) o (nsor V // PB .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 ($p_alt 'on // aktion + &) on ($p_alt 'on // aktion, tyfon &c) on ($p_alt 'VN // facon &t) on ($p_alt 'VN // beton, futon &p) on ($p_alt 'VN // tampon, kupon, pompon - &f) on ($p_alt 'VN // sifon + &if) on ($p_alt 'VN // sifon &lef) on ($p_alt 'on // telefon &of) on ($p_alt 'on // grammofom &l) on ($p_alt 'VN // bouillon, talon + &j) on ($p_alt 'VN // medaljon &el) on ($p_alt 'on // melon + &) on (el$p_alt on // rationel // PB exceptions to the -on rule (and other -on exception) stadi) on Vn @@ -4402,7 +5024,7 @@ _astron) out awd // PB s) on (d Vn // sondere leksik) on Vn liban) on Vn // Libanon - h) on (d Vn // PN Honduras, Honda + h) on (d Vn // PB Honduras, Honda on (du Vn // ondulere, pondus p) on (t Vn // PB spontan, ponton arg) on Vn @@ -4432,6 +5054,8 @@ _maked) on 'on // PB makedoner sæs) on VN // jagtsæson tefl) on Vn t) on (_ Vn // ton, kiloton + marat) on Vn // PB maratonløb + br) on VN // PB bronze, bronkitis kart) on 'VN // PB mælkekarton t) on (ic Vn // PB t) on (s_ Vn // PB tons @@ -4439,20 +5063,24 @@ _maked) on 'on // PB makedoner alf) on (s 'VN // PB alfons f) ond Vnd // PB ball) on 'VN + perr) on 'VN // PB alis) on Vn // PB name robins) on Vn // PB name m) onty Vnti // PB name + b) on (_ VN // PB kassebon + b) onbon VNbVn // PB .group or v) or V // PB alvor or (L04+ or // PB favorit - or (L11+ or // PB favorabel + v) or (L11+ or // PB favorabel f) or V // PB derfor f) or (L04 or // PB aforisme f) or (e V // PB fagforening -// enf) or 'V // PB - k) or (t V:? // PB kort + sekt) or V // PB sektoren + k) or (t O: // PB kort + k) or (tA O: // PB korte or (to Vr // PB ortodoks m) orge V:3 // PB morgen dek) or (_ 'V:r // PB dekor @@ -4462,7 +5090,8 @@ robins) on Vn // PB name m) or (f V: // PB morfar m) or (m V: // PB mormor, mormon hum) or V // PB - sp) or (t V:? // PB sport + sp) or (t V: // PB sport + eksp) or (t 'V: // PB s) or (t or // PB sort st) or (t or // PB stort sv) or (e+ or // PB svoret @@ -4470,13 +5099,14 @@ robins) on Vn // PB name _) or (a or // PB orange orm orm // PB _h) ormon Vrm'on // PB - n) or (m O // PB + n) or (m Vr // PB st) or (m O: // PB b) or (t Vr // PB bortforklare _ab) or (t 'Vr // PB stressed or (al oR // PB oral _esk) or (te 'V: // PB eskorte _n) or or // PB nord, nordisk + n) or (sk Vr // PB norsk v) or (e+ V: // PB vores rek) or (d 'V: // PB exception - stressed o in 'rekord' ak) or (d 'V: // PB exception - stressed o in 'akord' @@ -4484,15 +5114,17 @@ robins) on Vn // PB name s) or (te or // PB sorte rep) or (ter 'V // PB stressed o s) or (tA O // PB sortiment - k) or (tA V // PB korte _transp) or (t 'V: // PB stressed - transport + n) orth V:T // PB // PB when "ord" means 'word', the d isn't pronunced ord (++ oR // PB ord , forord // PB Exceptions to the or rule - "ord" doesn't mean "word" k) ord (el Vrd // PB kordel + b) ordeaux oRd'o // PB conc) ord (e 'V:d // PB Concorde g) ord (on V:d // PB name + n) ordi (sk oRdi // PB _l) ord (_ V:d // PB _l) ord (er_ Vrd // PB _akk) ord 'V:?d // PB stressed @@ -4503,9 +5135,10 @@ _transp) or (t 'V: // PB stressed - transport f) ord (æ Vd' // PB fordærve f) ord (ø Vd' // PB fordømme ord (en+ Vrd // PB orden, ordensmagt + b) orde (nde orE // PB ord (ene+ oR // PB ordene ord (enen+ Vrd // PB ordenen - t) ord (++ ord // PB torden, tordne + _t) ord (++ ord // PB torden, tordne j) ord (en oV // PB fjorden jorden j) ord (an oRd // PB Jordan j) ord (i oRd // PB jordisk @@ -4527,11 +5160,13 @@ _transp) or (t 'V: // PB stressed - transport // PB stress on previous syllable - '-tor_' (also -or) nouns in da_list &) or ($p_alt+ ==V // karburator, rollator, multiplikator, junior + &) or (i$p_alt+ V' // konditori &) or (er$p_alt ''o: // karburatorer, juniorer &n) or ($p_alt 'or // tenor &f) or ($p_alt 'or // metafor, anafor - &t) orium ($p_alt 'oiOm // don't spoil the -ium rule - laboratorium - &) or (isk$p_alt ''o //manipulatorisk + &t) or (ie$p_alt 'or // laboratoriet - conflict with -ium rule + &t) orium ($p_alt+ 'oriOm // don't spoil the -ium rule - laboratorium + &) or (isk$p_alt ''o // manipulatorisk // PB no stress on initial 'for' - 1.550 words. // Secondary stress on the next syllable after a syllable. @@ -4604,6 +5239,7 @@ _transp) or (t 'V: // PB stressed - transport _f) or (gære+ 'V // PB forgære _f) or (gård+ 'V // PB forgård _f) or (hal+ 'V // PB forhal + f) or (halA++ %V // PB forhale, forhaling _f) or (ham+ 'V // PB forhammer _f) or (have+ 'V // PB forhave _f) or (hen+ 'V // PB forhenværende @@ -4611,6 +5247,7 @@ _transp) or (t 'V: // PB stressed - transport _f) or (hjul+ 'V // PB forhjul, forhjulstrukken _f) or (hold 'V // PB forhold, forholdsvis _f) or (holde %V // PB forholde sig til + _f) or (holdet+ 'V // PB forholdet _f) or (hud+ 'V // PB forhud _f) or (hus+ 'V // PB forhus _f) or (hæng+ 'V // PB forhæng @@ -4621,7 +5258,6 @@ _transp) or (t 'V: // PB stressed - transport _f) or (kammer 'V // PB forkammer _f) or (kant V // PB forkant _f) or (karl+ 'V // PB forkarl - _f) orka (rl+ a // PB forkarl _f) or (klog+ 'V // PB forklog, forklogskab _f) or (kontor+ 'V // PB forkontor _f) or (krop+ 'V // PB forkrop @@ -4642,11 +5278,13 @@ _transp) or (t 'V: // PB stressed - transport _f) or (lægger 'V // PB forlægger _f) or (læns 'V // PB forlæns _f) or (læse 'V // PB forlæse - _f) or (maldehyd 'V // PB formaldehyd + _f) or (maldehyd+ 'V // PB formaldehyd _f) or (mand+ 'V // PB formand, formandsskifte + _f) or (mænd+ 'V // PB formænd _f) or (mbar+ 'V // PB formbar _f) or (mbrød+ 'V // PB formbrød - _f) or (me+ 'V // PB forme + _f) or (me++ 'V // PB forme, formel + _f) or (mle+ 'V // PB formlen _f) or (melig+ 'V // PB formelig _f) ormer (_+ 'VrmV // PB former - problem with "formér" _f) or (mfast+ 'Vr // PB formfast @@ -4779,6 +5417,7 @@ _transp) or (t 'V: // PB stressed - transport _) på (ske p'O // PB not a prefix - påske _) på (lide pV // PB pålidelig på (virk pV // PB miljøpåvirkning + på (læg pV // PB håndspålæggelse &) p (_ p // PB hjælp p (syk // psykolog [s,ykol'o] sym) p (tom // PB silent p @@ -4804,10 +5443,15 @@ _transp) or (t 'V: // PB stressed - transport perkins pWkens // PB name pissoir pesw'A: // PB peace pi:s // PB Greenpeace + paille (t p&j'E // PB stressed + pasadena p&s&d'in& // PB + perth pW:T // PB .group ph ph (il f // PB spelling error - no dot in 'phil.' + phillippe fil'i:p // PB French name + phoe fi // PB Phoenix .group q @@ -4817,10 +5461,11 @@ _transp) or (t 'V: // PB stressed - transport bou) quet k''e // PB queen kwi:n // PB te) qu (ila 'k // PB tequila - quiz kvis // PB + qui (z kvi // PB quijote kiS'Vt // PB name quixote kiS'Vt // PB name qu (isling kv // PB + quarter kwOtV // PB .group r r R @@ -4832,15 +5477,20 @@ _transp) or (t 'V: // PB stressed - transport reservoir resErvoa: // PB recut rikVd // PB reggae REgEj // PB + right R'ajt // PB all right + research ris'W:tS // PB rioja ri'Vk& // PB wine ramirez _^_ES // PB name reece ri:s // PB name + roquefort rVkf'V: // PB cheese roger rVdZV // PB + russell rVs@-l // PB name resolution REsoluS'on // PB _) road (_ rWwd // PB rugby RVgbi // PB virtual_) reality ri'&liti // PB reagan REg&n // PB name + rodney rVdni // PB name r (K r // not followed by a vowel hve) r r // PB hver b) r r // bror @@ -4848,13 +5498,13 @@ virtual_) reality ri'&liti // PB // Ad) r (e_ R // PB andre se) r (_ r // PB ser he) r (_ r // PB her - je) re (s 3 // PB jeres - de) re (s 3 // PB deres + je) re (s V // PB jeres + de) re (s V // PB deres @) re (_ rV // PB "re" ending a word - være, sejre _ent) re (_ R'e // PB entre bu) rd (eK rd - A) r (er_N // silent r - skærer - A) re (_N V // silent r - skære + æ) r (er_N // silent r - skærer + æ) re (_N V // silent r - skære æ) re V // PB lærerigt sæ) reg (en rej // PB særegenhed g) re (_ rV // PB yngre @@ -4872,12 +5522,16 @@ virtual_) reality ri'&liti // PB diar) re r'e transpo) r (t //PB transport au_) revoir r@w'a:r // PB au revoir + rouge ru:S // PB + richie RitSi // PB name + rajah rAdZ& // PB + home_) run RVn // PB // 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 // If -isk is added the previous syllable gets the stress - &) ri ($p_alt R''i // maleri, infanterist + @) ri ($p_alt R''i // maleri, infanterist &) ri (sk$p_alt =Ri // malerisk, symmetrisk .group s @@ -4885,6 +5539,7 @@ transpo) r (t //PB transport s s ss s sc s // PB scene +fransi) sc (o =sk // PB ma) sc (ara sk' // PB di) sc (ount sk' // PB sc (rap sk // PB scrapbog @@ -4894,6 +5549,7 @@ transpo) r (t //PB transport sc (or sk // PB score me) sc (al sk // PB sco (t skV // PB Scotland Yard + // PB/JD s suffix - $alt words in da_list // 2-3.000 words end with s, so this cannot be a general suffix. // There would be too many exceptions. @@ -4903,16 +5559,7 @@ transpo) r (t //PB transport slå) s s // PB keep the s for the å rule - slås nervø) s s // PB keep the s for the ø rule generø) s s // PB keep the s for the ø rule -// lø) s s // PB keep the s for the el rule - mageløs -// en) s s // PB keep the s for the e rule - rense -// ti) s s // PB keep the s for the i rule - laryngitis -// ti) ss s // PB only one s - tisser -// lo) s s // PB keep the s for the o rule - kolos afte) s s // PB keep the s for the f rule - aftes -// tav) s s // PB keep the s for the a rule - tavss -// trod) s s // PB keep the s for the ds rule - trods -// god) s s // PB keep the s for the o rule - goods -// klod) s s // PB keep the s for the o rule - klods provin) s s // PB keep the s for the o rule - provins - stressed i strabad) s s // PB not a suffix jere) s s // PB not a suffix @@ -4921,7 +5568,7 @@ strabad) s s // PB not a suffix cypre) s s // PB not a suffix abce) s s // PB not a suffix rece) s s // PB not a suffix - proce) s s // PB not a suffix +// proce) s s // PB not a suffix exce) s s // PB not a suffix kommi) s (_ = // PB not a suffix, silent s, stressed i kommi) s (e // PB not a suffix, silens s - kommissen @@ -4964,7 +5611,7 @@ franci) sc (o sk // PB Francisco support sOp'Vrd // PB sheik Sajk // PB sicilien sis'ili@n // PB - Italian island - scene sen@ // PB + scene sen3 // PB scener senV // PB i) scene (s s'en@ // PB stressed 'e - iscenesætte speak spi:k // PB eSpeak @@ -4979,6 +5626,7 @@ franci) sc (o sk // PB Francisco shire S@ // PB British towns with final -shire seamus SEim@s // PB name _) steve sti:v // PB name + _) steven sti:v@n // PB name sheila Si:l& // PB name shor (t SV // PB shorts _) stone sdoun // PB namde - Stone @@ -4988,6 +5636,8 @@ franci) sc (o sk // PB Francisco la) sur sur // PB lasurfarve _) sugar (_ SugV // PB Sugar Ray savoir s&voa: // PB savoir-faire + sonya sVnj& // PB name + sightseeing sajtsi:eN // PB er_) sig (_til saj // PB avoid [si] - glæder sig [saj] til et_) sig (_til saj // PB avoid [si] - glædet sig [saj] til @@ -5010,11 +5660,14 @@ franci) sc (o sk // PB Francisco fra_) sig (_ saj // PB slå fra sig til_) sig (_ saj // PB tage noget til sig gav_) sig (_til saj // PB overgav sig til + An_) sig (_til saj // PB beslutter han/hun sig til + _de_) sig (_til saj // PB beslutter de sig til stå_) sig (_ saj // PB stå sig godt med den_) sig (_ saj // PB holder den sig flydende _) sig (_med saj // PB slå_) sig (_ saj // PB på_) sig (_ saj // PB + _i_) sig (_ saj // PB slår_) sig (_ saj // PB _) sig (_alene saj // PB klare sig alene vende_) sig (_ saj // PB @@ -5025,9 +5678,13 @@ hygge_) sig (_ saj // PB skød_) sig (_ saj // PB tog_) sig (_ saj // PB kom_) sig (_ saj // PB +tvang_) sig (_ saj // PB tiltvang sig adgang brød_) sig (_ saj // PB ør_) sig (_ saj // PB klør sig, gør sig man_) sig (_ saj // PB føler man sig + hun_) sig (_ saj // PB gemmer hun sig + han_) sig (_ saj // PB + de_) sig (_ saj // PB _) sig (_ud_ saj // PB rode sig ud i _) sig (_af_ saj // PB tage sig af _) sig (_på_ saj // PB slå sig på @@ -5036,6 +5693,7 @@ hygge_) sig (_ saj // PB gik_) sig (_ saj // PB gik sig en tur så_) sig (_om saj // PB så sig om/omkring ser_) sig (_om saj // PB ser sig om/omkring + _) sig (_om saj // PB kjolen smøg sig om kroppen red_) sig (_ saj // PB red sig en tur // PB use [sV] instead of [sO] @@ -5051,6 +5709,7 @@ vil_du_) så (_ sV // PB vil du så gøre det? vil_de_) så (_ sV // PB vil De så gøre det? vil_i_) så (_ sV // PB vil I så gøre det? vil_) så (_ sV // PB jo, du vil så +blive_) så (_ sV // PB jeg kan blive så vred _) så (_havde_ sV // PB _) så (_bliver_ sV // PB _) så (_blev_ sV // PB @@ -5066,9 +5725,14 @@ vil_i_) så (_ sV // PB vil I så gøre det? _) så (_ved_ sV // PB _) så (_vi_kan_ sV // PB _) så (_kom_ sV // PB + _) så (_kommer_ sV // PB + _) så (_tager_ sV // PB + _) så (_CACer_ sV // PB så kører TEST _) så (_god_ sV // PB _) så (_gik_ sV // PB + _) så (_hold_ sV // PB _) så (_gøre_ sV // PB + _) så (_ville_ sV // PB _) så (_sikker_ sV // PB _) så (_besværlig sV // PB _er_du_) så (_ sV // PB @@ -5077,8 +5741,18 @@ _vil_han_) så (_ sV // PB _vil_hun_) så (_ sV // PB _vil_de_) så (_ sV // PB _vil_i_) så (_ sV // PB +_ville_du_) så (_ sV // PB +_ville_han_) så (_ sV // PB +_ville_hun_) så (_ sV // PB +_ville_de_) så (_ sV // PB +_ville_i_) så (_ sV // PB +_ville_du_) så (_ sV // PB og_) så (_videre sV // PB -// _) så (_du_den sO // PB + _) så (_vi_må sV // PB + _) så (_i_må sV // PB + _) så (_de_må sV // PB + _) så (_hAn_må sV // PB + _) så (_den_må sV // PB kompromi) s ' // PB stress added succe) s ' @@ -5090,6 +5764,7 @@ kompromi) s ' // PB stress added _) sunset sVnsEt PB stealth stElT // PB sherlock SWlVk // PB name + _) sean SO:n // PB name saint s'Ejnd // PB Saint Louis signore _^_it // PB sidney sidni // PB city @@ -5098,6 +5773,9 @@ kompromi) s ' // PB stress added sullivan sVliv3n // PB name special (_branch spEsj3l // PB Special Branch scone skVn // PB + strike stRajk // PB + smythe smA:jD // PB name + shepherd SEp-Vd // PB name .group t t t @@ -5135,6 +5813,10 @@ kompromi) s ' // PB stress added world_) trade trEjd // PB the_) times tajms // PB newspaper tokyo tVkjo // PB + teak ti:k // PB + _) taj (_mahal t&S // PB + jani) tsh (ar S // PB + thackery T&k3ri // PB name // PB final -tek - stressed e _apo) tek t'ek @@ -5218,11 +5900,16 @@ meningi) ti (s =ti // PB general rule: [O] after d/l L03) u (f O // PB luft, duft -// PB general rule: [O] after consonant followed by k/g/h - C) u (L01 O // frugt, fugt, lugt, lugaf +// PB general rule: [O] after consonant followed by k/g + C) u (L01t O // frugt, fugt, lugt C) u (L01L04 u // Jugoslavien + C) u (L01L11 u // halleluja + r) u (ktL04 u // PB struktur C) u (L01e+ O // lunge + p) u (ck+ u // PB br) u (g u // PB + r) u (g u // PB rug, rugbrød + l) ugaf lOg'& // PB k) u (k u // PB b) u (gse u // PB bugsere gl) u (g u // PB glugger, glughul @@ -5230,27 +5917,42 @@ meningi) ti (s =ti u (gl+ u // PB fuglene, uglerne br) u (gt O // PB sl) u (g u // slugt, sluge - Cl) u (k O // PB sluk, pluk + s) u (g u // PB sugerør, suggestiv + l) u (k O // PB sluk, pluk, lukke l) ukaf Og'& // PB sygelukaf // PB general rule: [0] after l/d followed by ns L03) u (ns 0 // PB luns, dunst -// PB general rule: followed by ng: [O] - u (ng 0 // PB lunge, unge +// PB general rule: followed by ng/nk: [O] + u (ng+ O // PB lunge, unge + u (nk O // PB sunket, prunk + j) u (nktur++ O // PB + j) u (nk V // PB junkaktie + hal) u (nk 'O // PB stressed + _f) u (nk V // PB funkmusik + _p) u (nk V // PB punker + L06) u (nkt O // PB punkt // PB general rule: [O] followed by nd u (nd O // PB grund, rund, underligt, undtage p) u (nd u // PB pund + t) u (n@ u // PB tundåse // PB general rule: Consonant + r + u + p/b = [O] Cr) u (L06 O // PB broad general rule - skrub tr) u (L06 u // PB strube, trup gr) u (L06 u // PB gruble - + skr) u (pl u // PB skrupler m) u (L01 0 // PB mug, mukke sm) ug uw // PB i smug, smugkigge +// PB generak ruke: b/d + u + k:_ O + b) u (k O // PB bukser, buk, duk + d) u (k O // PB duk, dukke, duks + p) u (kl O // PB pukle, puklet + p) u (kke O // PB pukkel + // PB general rule: m/n + u + rre: [O] L09) u (rre O // PB snurre, knurre, murre @@ -5263,6 +5965,7 @@ meningi) ti (s =ti _) u (ng+ O // PB ungdommelig u (gle+ u // ugle _p) u (b_ V // PB + p) u (bb V // PB pubben, pubber u (hyre+ u u (enig+ u' uformel ufVm'el // PB @@ -5271,6 +5974,7 @@ meningi) ti (s =ti u (denfor+ u // PB u (dgrundelig+ u // PB u (imodståelig u // PB + u (surp u // PB usurpator u (ni++ u // uniform, universitet u (den u // udenfor u (ge++ u // ugerne @@ -5282,15 +5986,16 @@ meningi) ti (s =ti uskyldig usg'yldi // PB d) u (blin V // PB city _st) u (p_ O // PB rub og stup + st) u (kket O // PB // PB nouns with final -um in da_list - stress on previous syllable &) um ($p_alt =Om // PB jubilæum // PB stressed -ure - $alt words (French) in da_list pronounced [y:V] &) ure (+++$p_alt ''y:V // frisure - &) ure (re+++ yr''e // PB manicurerede + &) ure (re$p_alt+++ yr''e // PB manicurerede &out) ure ($p_alt 'y:r // couture - without [V] because fashion people talk like that - + &s) ure (re+++ ur''e // PB censurere // PB -ure without stress after a syllable @) bord) ure y:V @) broch) ure y:V @@ -5317,25 +6022,38 @@ meningi) ti (s =ti // PB final -tur in da_list - stressed u &t) ur ($p_alt ''ur // struktur &t) ur (el$p_alt ur' // strukturel + &d) ur ($p_alt ''ur // trubadur _komf) ur 'ur // PB // PB final -ut in da_list - stressed u &) ut ($p_alt 'ut // rekrut &) ut (t$p_alt 'u // rekrutter - avoid double t +// PB final -sur + dress) ur 'ur + cens) ur 'ur + cæs) ur 'ur + fiss) ur 'ur + glas) ur 'ur + las) ur 'ur + mens) ur 'ur + ras) ur 'ur + tons) ur 'ur + + // PB most of the words with ud-: [uD] - udpege _) ud (@@+P2 ''uD _) ude (@@+P3 ''uD@ // exceptions for ud-: [ud] - _) ud (elt+P2 ud // udelt - _) ud (at+P2 ud // udateret + _) ud (elt+P2 'ud // udelt + _) ud (at+P2 'ud // udateret _) ud (rikkelig+P2 ud - _) ud (røj+P2 ud + _) ud (røj+P2 'ud _) ud (uelig+ ud - _) ud (y+P2 ud // udyd, udygtig, udyr - _) ud (øbt+P2 ud + _) ud (y+P2 'ud // udyd, udygtig, udyr + _) ud (øbt+P2 'ud _) ud (ød+P2 ud // udødelig - _) ud (åd+P2 ud + _) ud (åd+P2 'ud _) ud (en+ uD _) ud (kig uD // udkigspost (another rule overrides a silent g rule) @@ -5363,12 +6081,16 @@ meningi) ti (s =ti _harp) u (n 'u // PB stressed _fid) u (s 'u // PB stressed _b) uket uk'Et // PB stressed + _bas) u (n 'u // PB stressed + andal) u (s 'u // PB andalusier +_klaus) u (l 'u // PB stressed _) fakt) u (ra 'u // PB _) prok) u (ra 'u // PB _) angost) u (ra 'u // PB col) u (mb 'O // PB Columbia, columbusæg kent) ucky 'Vki // PB calc) u (tta 'V // PB +stand_) u (p V // PB stand-up-komiker bl) u (fæ u // PB blufærdig sm) u (gl u // PB smugling sl) u (gt u // PB @@ -5383,6 +6105,7 @@ meningi) ti (s =ti _pr) u (st u // PB pruste ue (_ u: // PB due, vindue, statue fl) ue u3 // PB + infl) ue (nza u'E // PB stressed aven) ue 'y // PB alb) ue u: // PB albuerum st) ue u: // PB stuearrest @@ -5413,7 +6136,7 @@ vestib) u (l 'y // PB vestibule tomatp) ure yre // PB tomatp) uré yre // PB j) u (ice u: // PB juice - kn) u (b O // PB knubs + L01n) u (L06 O // PB knubs, gnubbe, snuppe _k) u (n_ 0 // PB kun kl) u (ns 0 // PB k) u (l O // PB kulmine @@ -5427,15 +6150,14 @@ hovedk) u (ls u // PB k) u (ldio O // PB kuldioxid omk) u (ld 'u // PB imp) u (ls 'u // PB stressed - k) u (C% u PB skulle, kullet - k) u (Ce u: PB skule, kule - L08) u (L02% 0 PB skuffe + k) u (ll u // PB skulle, kullet + k) u (Ce u: // PB skule, kule + L08) u (L02% O // PB skuffe sk) u (b O // PB skub, skubbe + sl) u (b O // PB slubbert k) u (lt u // PB kultur d) u (kti u // PB obduktion -// u (kk 0 // PB dukke, stukket ll) u (p V // PB bryllup -// br) u (gt O // PB brugt tr) u (ff O // PB truffet t) u (nn 0 // PB tunnel m) u (nt 0 // PB munter @@ -5446,8 +6168,8 @@ hovedk) u (ls u // PB s) u (pra u // PB latin s) u (pple u // PB suppleant s) u (bs u // PB substitut - u (nk 0 // PB sunket h) u (n u // PB hunkøn + headh) u (nt V // PB h) u (rtig O // PB hurtigtog s) u (k 0 // PB suk, sukker sl) u (p O // PB sluppet, løssluppen @@ -5455,6 +6177,7 @@ hovedk) u (ls u // PB f) u (L06 0 // PB fup h) u (l O // PB hul - noun + h) u (lL11 u // PB hula-hula smuth) u (l O // PB smuthulmager h) u (lC u // PB hulke, hulbrystet h) u (lsøm O // PB @@ -5465,8 +6188,10 @@ hovedk) u (ls u // PB h) u (ljern O // PB h) u (lle O // PB hulledame - h) u (L01% O // PB hugge + h) u (g O // PB hugge, hugorm dr) u (k O // PM fordrukken + tr) u (k O // PB foretrukne + r) u (kk O // PB trukket, krukket p) u (f O // PB f) u (n+ 0 // PB funktion, karpunkel p) u (lv 0 // PB pulver @@ -5474,19 +6199,23 @@ hovedk) u (ls u // PB _n) u (l 0 // PB nul _r) u (bbe O // PB rubbe, rubbet k) u (ffert O - g) ui (de ai + _g) uid (et ajd // PB guidet + g) uider ajdV // PB guider + g) uide ajd // PB noun: guide - problem with verb "at guide" + at_g) uid (e ajd // PB at guide + vil_g) uid (e ajd // PB vil guide aug) u (st 'O PB stressed - the month - the name is in da_list with $capital g) u (f O // PB guffe g) ulv Ol // PB gulv - silent v g) ulv (e Olv // PB gulve - sL09) u (C O // PB smukkere, smurt + sm) u (C O // PB smukkere, smurt sL09) u (t u // PB snut, smutte + sL09) u (CL11 u // PB snude sm) u (L03+ u // PB smule, smuld, smuds l) u (krere u // PB L09) u (f O // PB fornuft - m) uffin mVfen // PB + m) uffin Vfen // PB m) u (ft u // PB mufti - L06) u (nkt 0 // PB punkt val) u (ta 'u // PB stressed _der) u (d 'u // PB stressed - derud _instr) u (ks 'u // PB stressed @@ -5500,6 +6229,7 @@ _instr) u (ks 'u // PB stressed b) ureau yR'o _men) u 'y men) u y // PB festmenu + men) uet u'Et // PB parf) u (me 'y // PB proced) u (re y proven) u y @@ -5509,6 +6239,7 @@ proven) u y s) u (rrel Y // PB surreel s) u (rrea y // PB surrrealistisk t) u (berkul y // PB tuberkulose + ref) u (ser y // PB refusere (about horse) res) ume ym'e // PB res) umé ym'e // PB g) ui (tar i // PB guitar @@ -5521,6 +6252,13 @@ proven) u y b) u (ddy V // PB g) uez =es // PB Rodriguez united jun'ajted + h) urdle Wd@l // PB + h) urdlen Wdl3n // PB + utah ju:tA // PB US state + b) u (tler V // PB + b) ur (ma W: // PB + b) ur (mes W // PB burmesisk + b) u (ck V // PB name .group v v v @@ -5534,9 +6272,10 @@ proven) u y la) v (ement @ // PB lavement ve (lse v3 // PB øvelse, stavelse, fornøjelse ø) v (en w // PB røven - &A) v w // PB fiktiv, nævne +// &A) v w // PB fiktiv, nævne &A) v (_A v // PB gav ordre &A) v (A v // PB fiktive + v (n w // PB jævn, levne &r) v v al) v (e v // PB halve el) v (C @@ -5545,11 +6284,14 @@ proven) u y il) v (A v ur) v v hal) v + hal) vleg aj // PB ble) v // PB silent v - blev voliere vVli'E:r // PB vince vens // PB name verdun vErd'3N // PB village veledZ // PB + vaughn vO:n // PB name + voila vwal'a // PB .group w @@ -5558,6 +6300,7 @@ proven) u y waffe vaf3 // PB Luftwaffe wallace wVles // PB name watson wVts@-n // PB name + wayne wEjn // PB name wheel wil // PB Wheeler w (olfram v // PB wolfram w (ienerschnitzel v // PB wienerschnitzel @@ -5582,6 +6325,7 @@ proven) u y wiesenthal vis@ntAl // PB name weather wEDV // PB Fairweather work wW:k // PB workout, teamwork + weaver wi:vV // PB name .group x @@ -5613,6 +6357,7 @@ proven) u y t) y (L01%e y // PB tykke, tygge l) y (n_ y // PB lyn, kuglelyn _l) y (n y // PB lynkarriere + l) yng (limt yng // PB l) yng WN // PB sm) y (kn W // PB udsmykning l) y (g W // PB lygte, flygte @@ -5629,12 +6374,18 @@ proven) u y s) yndi (k Wndi // PB syndikat // PB general rule: consonant + y + sp/st/sk: [y] - C) y (L08+ y // PB kysk, lyst - kr) y (b+ y: // PB krybe - kr) y (bb+ y // PB krybe + C) y (L08+ y // PB kysk +// _er_l) y (st y +// kr) y (b+ y: // PB krybe + kr) y (bb+ y // PB krybbe kr) y (s+ y // PB krystal, kryster - kr) y (L01%+ @ // PB krykke - r) y (C+ @ // PB ryste, bryllup, tryg, krympe, krymmel + kr) y (L01%+ W // PB krykke + r) y (C+ W // PB ryste, bryllup, tryg, krympe, krymmel + dr) y (p W // PB + r) y (CA+ y // PB tryne + r) y (sk+ y // PB brysk + mar) y (s i // PB + r) y (L06+ y // PB rype, kryptere, kryb r) y (lle y // PB trylleri r) y (t+ y // PB rytme, rytter gr) y (n y // PB @@ -5644,6 +6395,13 @@ proven) u y fr) y (s+ y // PB forfrysning // PB exceptions +// PB problem with lyst - blond = light coloured; and lyst = would like to, feel like + l) y (st_til_ W // PB "jeg har lyst til" - "I would like" + l) y (ster W // PB "desires" + har_l) y (st W // PB + får_l) y (st W // PB +ikke_l) y (st W // PB +stor_l) y (st W // PB skrivel) y (st W // PB hævnl) y (st W // PB kappel) y (st W // PB @@ -5675,18 +6433,16 @@ virkel) y (st W // PB r) yg (_ @k // PB ryg (noun "back") - problem with "ryg" (verb) = "smoke" r) yg (_en y // PB "ryg en cigar" + str) yg yj // PB stryge r) yg (ning y // PB silent g pr) yg (l y // PB tr) yg (le y // PB trygle str) yge y:@ // PB strygetøj + karr) y i // PB lib) y i // PB Libyen _) yves i:v // PB Yves (French name) -// PB problem with lyst = blond, light coloured - har_l) y (st W // PB - får_l) y (st W // PB -ikke_l) y (st W // PB -stor_l) y (st W // PB fl) y (tn W // PB flytning + m) y (nte 'W // PB mynte, pebermynte (stressed) afl) y (t y // PB aflytning L08) y (t W // PB spyt, skyts sk) y (ti y // PB Skytien, skytisk @@ -5696,7 +6452,7 @@ stor_l) y (st W // PB sk) y (l_ W // PB skyl _molek) y (le 'y // PB stressed _lat) y (rus 'y // PB stressed - f) y (rre W // PB fyrre + f) yrre W:V // PB fyrre f) yrre (t Y:V // PB fyrretræ f) yrre (k Y:V // PB fyrrekogle n) y (t Y // PB nyt @@ -5722,10 +6478,10 @@ _molek) y (le 'y // PB stressed cit) y i // PB yatzy j&tsi // PB y (onn j // PB bayonne, mayonnaise - l) y (mf W // PB lymfe + l) y (mC W // PB lymfe n) y (mf W // PB nymfe k) y (mK W // PB bekymring - d) y (L01 W // PB dygtig + d) y (L01t W // PB dygtig l) y (nch W // PB lynchstemning yacht jagd // PB lystyacht york JV:k // PB @@ -5733,6 +6489,8 @@ _molek) y (le 'y // PB stressed yale jEjl/2 // PB yorkshire _jOkS@ // PB young jVN // PB + yard jard // PB + can) yon j3n // PB cl) yde ajd // PB b) ypass ajpa:s // PB c) y (ber aj // PB cyberspace @@ -5752,13 +6510,19 @@ brookl) y (n i // PB trinit) y i // PB name emil) y i // PB name kell) y i // PB name + ronn) y i // PB name carol) y (n i // PB name + melv) y (n i // PB name +_barnab) y i // PB name + nanc) y i // PB name +gregor) y i // PB name t) yrone aIr'Own // PB name y (asmin S // PB name - Danish version (should it be [dZ]?) amnest) y i // PB cand) y i // PB candyfloss n) y (a j // PB Kenya, Tanya y (oga j // PB + yoyo joj'o // PB _) yen jEn // PB currency kan) y (le 'Y // PB stressed _kab) y (s 'Y // PB stressed @@ -5767,9 +6531,11 @@ amnest) y i // PB _as) y (l 'y // PB stressed _rev) y 'y // PB stressed pol) y (est i' // PB polyester +pseudon) y (m 'y // PB stressed d) y (_ i d) y (s_ i // PB Kennedys d) y (p W // PB dyppe + d) y (k W // PB dykker _s) ykes ajgs // PB name ypres i:pR-3 // PB French town b) y (A y @@ -5792,9 +6558,16 @@ amnest) y i // PB // PB general rule &# after r r) æ &# // PB very broad + pr) æ (gn E // PB prægnans, prægnant for) æ (dle E // PB - pr) æ (CL04 E // PB præsident - r) æ (li E // PB ræling + æ (l+ E // PB forældet, ræling, ældre, forældre + r) æ (s E // PB kræsen, ræsson + r) æ (CL04 E // PB prærie, præcis + skr) æ (C% &# // PB skrælle + gr) æ (s &# // PB græsplæne + pr) æ (st &# // PB + pr) æ (sta E // PB præstation + // PB general rule E after tr tr) æ E // PB juletræ @@ -5805,6 +6578,7 @@ amnest) y i // PB tr) æ (ng+ &# // PB trænge r) æ (L02% &# // PB TEST r + æ + double labial - skræppe r) æ (L02t &# // PB TEST r + æ + labial + t - dræbt + r) æ (m &# // PB fugleskræmsel tr) æ (C &# // PB træværk _portr) æ (t '&# // PB stressed @@ -5812,8 +6586,6 @@ _portr) æ (t '&# // PB stressed r) æ (Ce+ E // PB træne rr) æ (Cer+ &# // PB forræderi dr) æ (ber E // PB -// r) æ (de+ &# // PB græde -// tr) æ (de+ E // PB optræden // PB general rule r + æ + d + e: &# r) æ (de+ &# // PB træde, græde @@ -5836,7 +6608,8 @@ _pythagor) æ (er 'E æld (r+ Eld // PB forældre, ældre pr) æ (k E // PB præke pr) ædi ED // PB silent i - prædiken - pr) æ (stati E // PB præstation + pr) ædi (kant Edi // PB +// pr) æ (stati E // PB præstation pr) æ (stere E // PB spr) æ (kk &# // PB sprække sp) æ (ne E: // PB opposed to "spænde" with a short æ @@ -5854,6 +6627,8 @@ _porcel) æ (n 'E // PB stressed trof) æ 'E // PB stressed _fad) æ (se 'E // PB stressed refr) æn '&N // PB stressed + _font) æ (ne 'E // PB stressed +_karant) æ (ne 'E // PB stressed t) æge E:j@ // PB tæge t) æe (r E // PB tæer ærge E:ru@ // PB sværge @@ -5884,7 +6659,8 @@ majest) æ (t 'E // PB stressed æ g) øg (l Vj // PB gøgler l) ø (s W C) ø (j+ W# // PB søjle, bøjle, sprøjte - L09) ø (g V // PB m => L09 (m + n) - møg + L09) ø (g V // PB m => L09 (m + n) - møg, smøg + sm) øg (_sig Wj // PB "katten smøg sig om benet" _n) ø (d@ 'W: // PB nød- stressed - nødsituation _n) ødt (_ Wd // PB nødt r) ø (+ W // brød @@ -5893,6 +6669,7 @@ majest) æ (t 'E // PB stressed æ r) ø (mer W: // PB strømere s) ø_ W: L08) ø (g W // PB skøge + sp) øg (en Vj // PB sp) øg (_ Vj // PB spøg = joke s) ø (g W // PB søgte sp) ør (g W:r // PB spørge @@ -5901,11 +6678,14 @@ majest) æ (t 'E // PB stressed æ r) ø (gelse W // PB for) ø (g W // PB forøge for) øg (_ W:? // PB forøg - pr) ø (ve W // PB prøve +// pr) ø (ve W // PB prøve ø (re_ W: // PB køre - r) ø (ver W# // PB røver +// r) ø (ver W# // PB røver r) ø (v W# // PB røv pr) ø (v W // PB + _r) ø (ven W# // PB + r) ø (vL11 W // PB bedrøvet +// pr) ø (v W // PB k) ød WD // PB skød, kød _) øg (_ Wj // PB 'øg' noun and verb d) øg (n Vj @@ -5926,6 +6706,7 @@ majest) æ (t 'E // PB stressed æ .group å å O // PB changed from O:? ovenp) å (_ 'O // PB stressed +// PB råd ("advice") r) å (d+ O // PB råd (advice, not rot) r) å (dn+ V // PB rådne r) å (dd+ V // PB rådden @@ -5933,10 +6714,17 @@ majest) æ (t 'E // PB stressed æ r) å (dg+ V // PB rådgive r) å (df+ V // PB rådføre r) å (dh+ V // PB rådhus - ård O:? // PB gårdmand, bondegård - silent d + r) å (dvild V // PB + r) å (dsnar V // PB + r) å (dløs V // PB + r) å (dmand V // PB + r) å (dsl V // PB rådslagning + r) å (dsp V // PB rådspørge, rådspurgte + + ård O: // PB gårdmand, bondegård - silent d g) årde O:-3 // PB ården OVn // PB gården - h) årde V:?-3 // PB + h) årde V:-3 // PB h) årdest V:r@st // PB p) å (ske O // PB påske s) å O // PB så @@ -5945,7 +6733,11 @@ majest) æ (t 'E // PB stressed æ s) å (_få V // PB s) å (kald V // PB såkaldt s) å (mænd V // PB - sp) å (d V V // PB spådom + sp) å (mand V // PB + sp) å (mænd V // PB + sp) å (kone V // PB + sp) å (kvinde V // PB + sp) å (dom V // PB _var_s) å (_ V // PB jeg var så glad jas) å (_ 'V // PB jaså alts) å V // PN altså @@ -5958,6 +6750,7 @@ uimodst) å (elig 'O // PB stressed å (nd V // PB hånd, ånd, bånd l) å (r V p) å (s V // PB påstand + gåp) å (mod 'O // PB stressed sl) å (s V // PB slås sm) å (C@ V // PB småkage, småfolk m) å (l++ O // meningsmåling @@ -5980,8 +6773,13 @@ uimodst) å (elig 'O // PB stressed gr) å (ne O // PB r) å (bt V // PB råbte r) å (lam V // PB + str) å (mand V // PB + str) å (forkort V // PB stråforkorter + str) å (hat V // PB + str) å (død V // PB + str) å (mand V // PB år V: // PB år, står - åre V3 // PB tåre + åre V:3 // PB tåre å (lti V // PB måltid .group ' diff --git a/dictsource/de_list b/dictsource/de_list index d0192dd2..3697f8d5 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -3,6 +3,7 @@ // Uses of $alt: // 1. Change ['i:] to [=I@] at end of word +// 2. age_ is French [A:Z@] // Characters @@ -151,7 +152,7 @@ chr k@rIstUs dm d'OYtS@||m'A:rk $capital $only $abbrev dr dOkt'o:r evtl e:vEntu:'El -od o:d3 +od o:d3 $only fr fraU frl frOYlaIn hr hEr @@ -196,12 +197,13 @@ sowie $2 $pause obgleich $2 $pause obwohl $2 $pause deren de:r@n $u+ $brk +ebenfalls $pause // prepositions ab ap $u+ $brk an an $u+ $brk am am $u+ $brk -auf aUf $u+ $pause +auf aUf $u+ $brk aus ,aUs $brk $strend bei baI $u+ $brk $only beim baIm $u+ $brk @@ -254,7 +256,7 @@ daran dA:r'an darauf $2 daraus $2 dabei $2 -dadurch dA:d'Urx +dadurch dA:d'UrC dafür $2 dagegen $2 daher dA:h'Er @@ -386,7 +388,7 @@ wollt %vOlt werden v,Erd@n $strend2 werde v,Erd@ wirst v,Irst -wird v,Irt +wird v,Ird werdet v,Erd@t wurden v,Urd@n wurde v,Urd@ @@ -517,7 +519,7 @@ word _^_EN abort ab'Ort absentier apzEnt'i:r abstinent $3 -achsig 'aksIg# +achso axz'o: akazie $alt allein $2 andre andr@ // andere @@ -545,6 +547,7 @@ bestie bEstI@ best bEst beten be:t@n bizarr $2 +blamage $alt bronchie $alt changier SaNZ'i:r @@ -554,6 +557,7 @@ coup ku: dahlie $alt debatte $2 deshalb $2 +detail de:t'aI dezember $2 diadem di:ad'e:m dient di:nt @@ -627,11 +631,13 @@ inkonstant $1 insbesondere $3 interess Int@r'Es intern Int'Ern +internet Int@rnEt januar janu:A:r kamelie $alt kanoe kan'u: +kartonage $alt kastanie $alt kid kId komödie $alt @@ -649,7 +655,6 @@ luetisch lu:'e:tIS machen max@n marginalie $alt materie $alt -menagier me:naZ'i:r menuette mEnu:'Et minut $2 mikrofiche mi:kro:fi:S @@ -662,8 +667,10 @@ mors mOrs mumie $alt nachdem naxd'e:m +nage $alt nebulos $3 negligent ne:gli:dZ'Ent +nisch ni:S numero $1 oboe o:b'o:@ @@ -701,14 +708,16 @@ soweit $2 sowohl $2 sparsam SpA:rzA:m spinozaisch spi:n'o:tsaIS +spionage $alt stalagmit stalagm'It subjekt $1 -system zIst'e:m tag tA:g telegen te:le:g'e:n the D@ // English theater te:'A:t3 +tonnage $alt +tragödie $alt train tre:n tsunami tsu:n'a:mi: turin $2 @@ -719,8 +728,6 @@ unten Unt@n verein fEr'aIn vielbesprochen $3 vielleicht $2 -vorbei fo:rb'aI -vorher fo:rh'e:r vorherig fo:rh'e:rIg# vorig fo:rIg# @@ -732,7 +739,6 @@ weither vaIth'Er weitum vaIt_|'Um woher vo:h'e:r - zloty slOti: zoom zu:m zugegen tsu:g'e:g@n diff --git a/dictsource/de_rules b/dictsource/de_rules index 68301a51..539d89cf 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -71,7 +71,7 @@ _) a (natioP1 'A: _) anath anat _) an (der an - _) angli (@ aNgli: + _) angli (C aNgli: _) anglo (@ ,aNglo: _) anheim (C@P6 anh'aIm _) animal ,ani:mA:l @@ -88,7 +88,7 @@ a (C_ A: @) a (bl_ 'A: @) a (bel_ 'A: - s) a (g A: + s) a (g A:Spionage @l) a (g A: schl) ag (ge A:k scl) a (g A: @@ -100,6 +100,8 @@ _) achs (@P4 'aks _) achs (el 'aks j) ag (d A:k + age (_$w_alt 'A:Z@ + age (n_$p_alt 'A:Z@ _) air _^_EN m) air (_ aI3 ai (sch A:I @@ -115,9 +117,12 @@ &sign) al (_ ,A:l r) al (_ 'A:l t) al (_ 'A:l + _) aller (@P5 'al@r m) a (lt_ A:l ker) am (ik 'A:m @) an (_ 'A:n + @) ance (_ 'A~s + fr) ance (_ 'A~s@ ein) an (der 'an @) ant (_ 'ant _) anthropo ,antro:p%o: @@ -228,6 +233,7 @@ _) cey tsaI chef (_ SEf _) c (ent ts + chance SA~s@ chara (kt k%ara _) ch (ic S _) ch (if S @@ -380,11 +386,13 @@ m) e (nt E @) ei (_ 'aI + rl) ei (_ aI &fr) ei (_ ,aI @@) erisch @rIS &) erung (_ =@rUN echo ECo: + h) ee (_ 'e: _) e (ff %E l) e (g_ 'e: eih (_ aI @@ -428,7 +436,7 @@ er (o_ 'e:r _) ergeb (nis Erg'e:b _) erst (CP4 'Erst - _) er (str+ _|%Er + _) ers (tr+ _|%ErS @) er (v Er mod) er (n Er @@ -504,12 +512,13 @@ _) ge (beX ge: geben ge:b@n ge(birg g@ - gegen (@P5 ge:g@n - gegen (_ ge:g@n + gegen (_@P5 ge:g@n + gegen ge:g@n gegn ge:gn gehen ge:@n _) geh (eX ge: gei (+ gaI + _) ge (imp g@ ge (mach g@ ge (mal g@ ge (tr g@ @@ -595,7 +604,7 @@ i (d_ 'i: i (dee %i: i (erin =i: - &) ig (+ Ig# // [ig] or [iC] + ig (+ Ig# // [ig] or [iC] igh (K _^_EN i (i i:_! @@ -624,6 +633,7 @@ z) in (_ 'i:n @) in (o_ 'i:n @) ion (_ j'o:n + g) ion (_ i'o:n @) io (n Io: io Io: @) is (_ Is @@ -643,6 +653,7 @@ ie i: ieh i: @) ie (_ 'i: + @) ie (_$w_alt =I@ &) ie (ll_ I'E &) ie (r_ 'i: @@ -761,8 +772,10 @@ formal) ie =I@ m m m) m + _) manch manC // for 'manchen' marine mA:r'i:n@ _) meß (@P3 m'Es + _) menag m%e:nA:Z _) met (all m%e:t _) meth m%e:t meter m'e:t3 @@ -776,7 +789,7 @@ formal) ie =I@ _) m (nem m // allow _mnem _) mo (rb m%O _) mono (@ m,o:no: - _) motor m%o:to:r + _) motor m'o:to:r _) ms _^_EN musik m%u:zi:k @@ -804,7 +817,7 @@ formal) ie =I@ _) ne (g ne: neglig ne:gli:Z neglige ne:gli:Z - &) ness _^_EN + &) ness (_N _^_EN news _^_EN nieder ni:d3 @@ -852,6 +865,7 @@ formal) ie =I@ &) oren (_ 'o:r@n _) orts (@P4 'Orts oso (_ 'o:zo: + _) oster 'o:st@r st) o (ss o: oy (K OY @@ -913,7 +927,7 @@ formal) ie =I@ _) r (_ Er r r r (r - b) r @-* + b) r r // uses phonemes @-* _) r r _) rh (A r // allow _rh @@ -968,6 +982,7 @@ formal) ie =I@ _be) sp Sp _ge) sp Sp _ver) sp Sp + sp (an Sp sp (eich Sp sp (err Sp sph sf @@ -1015,10 +1030,12 @@ formal) ie =I@ speed _^_EN stau) ss s + _) st (ilA st @) straße (_S6 str,A:s@ _) street _^_EN style _^_EN synthesi _^_EN + system z%Iste:m .group t _) t (_ te: @@ -1163,6 +1180,7 @@ formal) ie =I@ vater fA:t3 väter fE:t3 + _) v (ati_ f _) v (ät f _) v (ie f _) v (iet v @@ -1201,10 +1219,10 @@ formal) ie =I@ _) vor (n fOr _) vor (@P3 'fo:r - _) voraus (@P6 fo:r'aUs - _) vorbei (@P6 fo:r'baI - _) vorher (@P6 fo:rh'e:r - _) vorüber (@P7 fo:r'yb3 + _) voraus (P6 fo:r'aUs + _) vorbei (P6 fo:r'baI + _) vorher (P6 fo:rh'e:r + _) vorüber (P7 fo:r'yb3 .group w _) w (_ ve: @@ -1257,7 +1275,7 @@ formal) ie =I@ _) zere (b tse:re: _) zere (m tse:re: ziell tsj'El - _) zie (ge@P3 ts'aI + _) zie (ge@P3 ts'i: _) zeit (@P4 ts'aIt _) ziel (@P4 ts'i:l _) zier (@P4 ts'i:r diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 2f2673f0..9eee0875 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -1,7 +1,7 @@ Phonemes which are used in the *_rules and *_list files -Dictionary af_dict 2010-08-26 +Dictionary af_dict 2011-02-09 & &: 3: @ @- @L @U a A: aI AI aU A~ E e: e@ @@ -53,7 +53,7 @@ p r s S t T v w x z -Dictionary da_dict 2010-12-02 +Dictionary da_dict 2011-02-13 & &# 0 3 @ @- a A aI e E i o O u V @@ -63,10 +63,10 @@ W W# y Y dZ f g h j J k l l/2 l/3 m n N p r R s S t T tS v w x -z +z Z -Dictionary hu_dict 2010-12-19 +Dictionary hu_dict 2011-03-10 a A a: E e: i i: o o: u u: Y y y: Y: @@ -77,12 +77,12 @@ n n^ p r R R2 s S s2 t t2 tS ts v z Z -Dictionary de_dict 2010-12-19 +Dictionary de_dict 2011-03-13 3 3: @ @- a A A: aI -aU E E2 E: e: EI i I -i2 i: n- o O o: OY U -u: W y y: Y: +aU A~ e E E2 E: e: EI +i I i2 i: n- o O o: +OY U u: W y y: Y: * : ; b C d D dZ f g g# h j k l m @@ -100,7 +100,7 @@ p Q r R s s; t T ts v x z z; -Dictionary en_dict 2010-11-18 +Dictionary en_dict 2011-03-09 0 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI@ aU @@ -150,7 +150,7 @@ l m n N p r s S s2 t v w Z -Dictionary fr_dict 2010-12-10 +Dictionary fr_dict 2011-03-01 @ @- a A~ e E E: E~ i I o O O~ u u: w @@ -200,7 +200,7 @@ q r r. s S s. t T t. th th. v w x z -Dictionary ta_dict 2010-12-19 +Dictionary ta_dict 2011-03-13 a a: aI aU e E e: i I i: o o: u U u2 u: @@ -224,15 +224,15 @@ p# r R r" s S t t# tS ts ts# v X z Z -Dictionary id_dict 2010-01-07 +Dictionary id_dict 2011-02-21 @ a aI aU e E E2 i o O u -: ? b d dZ f g h -j k l m n N n^ p -r R R2 s S t tS v -w x z +: ? b C d dZ f g +h j k l m n N n^ +p r R R2 s S t tS +v w x X z Dictionary is_dict 2010-04-05 @@ -249,10 +249,10 @@ n^# p Q r R r# R2 s S s2 t T tl# v x z -Dictionary it_dict 2010-12-03 +Dictionary it_dict 2011-01-15 @- a a/ aI aU e E eI -i I o O u +i I i# o O u * : ; b d dZ f g h j k l l^ m n N @@ -325,12 +325,12 @@ k l m n p R s S t tS v w x -Dictionary nl_dict 2010-12-19 +Dictionary nl_dict 2011-03-13 -8 @ @- a A a: A~ E -E2 e: EI eU i I o O -O: o: O~ u VU Wy y Y: -yU +8 @ @- a A a: A~ e +E E2 e: EI eU i I o +O O: o: O~ u VU Wy y +Y: yU * : ; b d D dZ f g h j k l m n N @@ -338,7 +338,7 @@ n^ p Q r s S t tS v v# w x z Z -Dictionary no_dict 2010-10-25 +Dictionary no_dict 2011-03-07 @ a A a# a: A: AI aI aU E E: e: I i: O o: @@ -387,7 +387,7 @@ S s# s; t T tS ts v w x z Z -Dictionary ro_dict 2010-03-12 +Dictionary ro_dict 2011-03-10 @ @- @I @U a aI aU e ea eI eo eU i i/ I^ iI @@ -402,15 +402,14 @@ ts; v v; w w2 x z Z z; Z; -Dictionary ru_dict 2010-03-13 +Dictionary ru_dict 2011-03-10 -8 @- a A e E E# E2 -E3 i I I# I2 I3 I^ ja -ju o O u u" u# V V# -y Y +8 @- a A e E E# E% +E2 i I I# I3 I^ ja ju +o O u u" u# V y Y * ; b d d; dZ; f g -j k l l^ m m; n n^ +j k l l^ m m; n n_ p r R s S s; S; t t; ts tS; v x z Z z; Z; @@ -475,7 +474,7 @@ p R R^ s S t tS ts v w x z Z -Dictionary tr_dict 2010-07-27 +Dictionary tr_dict 2011-01-28 @ a e E i I o O u U W y Y @@ -534,18 +533,18 @@ s S t tS ts v w x z Z -Dictionary ml_dict 2009-10-10 +Dictionary ml_dict 2011-03-09 -a a: aI aU e E e: i -I i: o o: r- u u: V -y +@ a a: aI aU e E e: +i I i: o o: r- u u: +V y : b bh c ch d d. dh dh. dZ f g gh h j J Jh k kh l l. m n N -n. n^ p ph R R2 s s. -S; t t. th th. tS v w -z z. +n. n^ p ph r R r. R2 +s s. S; t t. th th. tS +v w z Dictionary ne_dict 2008-12-16 @@ -610,15 +609,14 @@ s. t T t. th th. v x z Z z. -Dictionary bg_dict 2010-05-19 +Dictionary bg_dict 2011-03-12 @ a e i o u -; b C d d; dZ dz dz; +: ; b C d d; dZ dz f g j k l L l^ m n n^ p r s S s; t -t; tS ts ts; v x z Z -z; +t; tS ts v x z Z z; Dictionary nso_dict 2010-08-27 @@ -674,3 +672,66 @@ o: u u: J k l m n N n^ p q R R2 s s2 t v w x z + + +Dictionary dv_dict 2011-01-08 + +@ @2 a a: aI e e: E: +E~ i I i: o O o: O: +O~ u U u: V + +: ? b c ch d D d. +dZ f g h j k kh l +l. m n N n. n^ p Q +q r R s S s. t T +t. th th. tS v w x z +Z + + +Dictionary kn_dict 2011-03-11 + +a a: aI aU e E e: i +I i: o o: r- u u: + +#X1 #X2 : b bh c ch d +d. dh dh. dZ f g gh h +j J Jh k kh l l. m +n N n. n^ p ph r s +S s. S; t t. th th. tS +v w z + + +Dictionary tn_dict 2011-02-17 + +@- a e i m- n- N- o +u + +* - : b B d D dZ +f g h j J k K l +l# m n N n^ p Q r +R R3 s S t T tS ts +v w x X z + + +Dictionary te_dict 2011-02-08 + +a a: aI aU e E e: i +i: l- o o: r- u u: V + +#X1 #X2 : ; b bh c ch +d d. dh dh. dZ f g gh +h j J Jh k kh l l. +m n N n. n^ p ph r +s s. S; t t. th th. tS +v w z + + +Dictionary ka_dict 2011-03-11 + +@ @- a e i o u + +: ? b c d dZ dz f +g h j k k# l m n +p p# Q q r s S t +t# tS ts ts# v w x z +Z diff --git a/dictsource/en_list b/dictsource/en_list index 308abf99..41139947 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -709,6 +709,7 @@ bourgeoisie bU@ZwA:z'i: bouquet bu:k'eI bow boU bow baU $verb +bowtie b,oUt'aI breakfast brEkf@st breath brET $onlys breath bri:D $verb $onlys @@ -1569,6 +1570,7 @@ nepenthe nI2pEnTI nescience nEsI@ns nicety naIs@tI niche ni:S +ninja nIndZ@ noah noUV nobly noUblI $verbf nobody 'noUb0dI @@ -1816,7 +1818,7 @@ rabbis rabaIz rabid reIbI2d radar reIdA@ radioactive reIdI2oU'aktIv -radon reId0n +radish radIS ragged ragI2d rainforest r'eInf,0rI2st rajah rA:dZA: @@ -1866,6 +1868,7 @@ refinery rI2faIn@rI refit ri:fIt reflex ri:flEks reflux ri:flVks +refund ri:fVnd $noun reg rEdZ regal ri:g@L regime reIZ'i:m @@ -1909,6 +1912,7 @@ restaurant rEstr0nt restful rEstf@L restoration rEst@r'eIS@n retaliatory rI2tali:@t@rI +retina rEtIn@ retrial ri:traI@l retry ri:traI reuse ri:'ju:z @@ -1965,6 +1969,7 @@ scepter sEpt3 sceptre sEpt3 sclera skli@r scourge sk3:dZ +scrotum skroUt@m scythe saID seabed si:bEd sealion si:laI@n @@ -2122,6 +2127,7 @@ tatar tA:t3 tearing te@r-I2N tear ti@3 $onlys tear te@ $verb +teargas ti@3gas teddybear t'EdIb,e@ telephony tEl'Ef@nI ten tEn // untenable @@ -2271,7 +2277,6 @@ voila vwal'a volcano v0lk'eInoU (wall st) w'O:lstr,i:t -wane weIn wannabe w0na#bi: warring wO@rIN wastage weIstI2dZ @@ -2448,6 +2453,7 @@ Donegal d0nI2g'O:l Durham dVr@m Egyptian IdZ'IpS@n Eire e@r@ +Erie i@ri Geneva dZ@ni:v@ Gdansk g@-dansk Gomera goUm'e@r@ @@ -2574,6 +2580,7 @@ Utah ju:t2A: Utrecht ju:trECt Vancouver $2 Vegas veIg@s +Vermont $2 Vienna vI'En@ Winnipeg wInI2pEg Wisconsin wI2sk'0nsIn @@ -2598,6 +2605,7 @@ Ahmed axmEd Alan al@n Alec alIk Alex alIks +Alfie alfi Alfred alfrI2d Alice alIs Allen al@n @@ -2795,6 +2803,7 @@ Tracy treIsi Tricia trIS@ Vanessa va#nEs@ Wally w0lI +Yves i:v Yvonne $2 Zoe zoUI diff --git a/dictsource/en_rules b/dictsource/en_rules index 445301fe..24e409db 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -164,7 +164,7 @@ w) ay eI _) ayle eI@L _) ayr e@ - h) a (z eI + h) a (zA eI l) a (z eI sw) a (z A: r) a (zA eI @@ -749,7 +749,7 @@ h) ang (er aN m) anoeu (v @nu: _qu) an 0n - _w) an 0n + _w) an (C 0n _w) an (g an _w) an (k an _tr) an (s %an @@ -859,8 +859,9 @@ c) arbo (h ,A@boU _) arch (@P4 ,A@tS // prefix _) archai A@k'eII - _) arche (o A@kI + _) arch (AA A@k _) arch (er A@tS + _) arch (et A@k _) archi A@kI _) archiv (+ A@kaIv @) arch (y A@k @@ -1335,7 +1336,7 @@ ch (irA k a) ch (il k bra) ch k - te) ch k + te) ch (K k ch (isC k ch (ic_ k @@Car) ch (_ k @@ -1366,6 +1367,7 @@ .group co _) co (ag k%oU + _) coa (x koUa coa (les k%oUa# _) co (eCP2 k,oU _) coe (l si: @@ -2267,6 +2269,7 @@ er (nal_ '3: &) er (n_ 3 c) er (n_ 3: + &) er (oCe_ =@r er (se 3: er (sal '3: @) er (sial '3: @@ -2486,6 +2489,7 @@ _) gaol dZeIl ge (dd g'E g (eek g + _) g (ert g geous dZ=@s g (E dZ g (i dZ @@ -2542,6 +2546,7 @@ _) he' %hi: @) head (_S4 hEd heir e@ + hero hi@roU _) hetero hEtroU K) hl l# &) hold (_S4 hoUld @@ -2590,6 +2595,7 @@ c) i (_ aI d) i (_ =I h) i (_ =aI + sh) i (_ i XC) i (_ aI &sk) i (_ =I @@h) i (_ =I @@ -3290,6 +3296,7 @@ _) jere (C dZEr@ _) jes (ui dZEz _) joa (n@ dZoU'a + n) j (a_ j j (ü j .group k @@ -3517,6 +3524,7 @@ ng (ie_ ndZ ng (iti ndZ ng (e ndZ + _ri) ng (e Ng ng (y Ng mA) ng (y ndZ u) ng (y ndZ @@ -3530,7 +3538,7 @@ i) ng (er Ng ri) ng (er N si) ng (er N - bi) ng (er ndZ + bi) ng (er ndZ gi) ng (er ndZ o) ng (er Ng you) ng (er Ng @@ -3708,6 +3716,7 @@ opolitan @p'0lIt@n oppor (tu %0p3 opp (res @p + o (shA_ oU piv) o (t @ &g) ot (_ @t rr) ot (_ @t @@ -5381,6 +5390,7 @@ E (Cia 'i: Ea (_ =i@ Ea (n_ 'i@ + Ectomy (_S6 'Ekt@mI @@) Ed (_S2vei d &C) Ed (_S2vei d &c) Ed (_S2vei t diff --git a/dictsource/fr_list b/dictsource/fr_list index 0c01daa5..9d5875bc 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2010-10-15 Michel Such +// Updated 2011-02-18 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -43,40 +43,52 @@ b be c se ç $accent d de -e @ +_e @ +e _!@ ë $accent é $accent è $accent ê $accent ë $accent -f Ef +_f Ef +f _!Ef g Ze -h aS -i i +_h aS +h _!aS +_i i +i _!i ï $accent î $accent j Zi k ka -l El -m Em -n En +_l El +l _!El +_m Em +m _!Em +_n En +n _!En ñ $accent -o o +_o o +o _!o _ô $accent ö $accent œ o||@||lie p pe q ky -r Er -s Es -u y +_r Er +r _!Er +_s Es +s _!Es +_u y +u _!y ù $accent û $accent ü $accent v ve w dubl@v'e -x iks -_y i:gr'Ek +_x iks +x _!iks +_y _!i:gr'Ek z zEd @@ -267,6 +279,7 @@ cpu $abbrev ctrl _::kO~trOl dept département $text divx diviks +dj _^_en ebay _^_en (e bay) ebay $text ebcdic @besedik @@ -295,6 +308,7 @@ m. m@siY mbit megabit mbrola Embrola mci $abbrev +mercedes mErsedEs mhz megaErts mlle mademoiselle $text mm millimètre $text @@ -321,6 +335,7 @@ qqs quelques $text ratp $abbrev riaa $abbrev riscos riskoEs +samsung samsuN sap $abbrev scsi $abbrev solaris solaris @@ -671,6 +686,7 @@ bus bys bus by $verb cancer kA~sEr canyon kanjOn +center _^_en charles Sarl (chef d'oeuvre) chédeuvre $text (chef d'oeuvres) chédeuvres $text @@ -679,6 +695,7 @@ choeur kWr cinema sinema cocus kOky couscous kuskus +cynthia sintia delete _^_en dengue dE~g dernier dErnjer2 @@ -697,7 +714,9 @@ free _^_en fuel fjul gangster gA~gstEr gars ga +geek _^_en genesis Zenezis +german _^_en georges ZOrZ gilles Zil gin dZin @@ -706,14 +725,19 @@ gus gys gym Zim han _|A~ hélas elas $u+ +hermes _|ErmEs +input _^_en +island _^_en jackpot dZakpOt jacques Zak +james _^_en karaoke karaoke kevin kevin laetitia letisja laser lazEr listbox listbOks louis lwi +luigi lwidZi malus malys mai mE mapper _^_en @@ -728,9 +752,11 @@ monsieur m@sjY mrs _^_en oasis oazis ours urs +output _^_en pataquès patakEs peter _^_en phallus falys +pokémon pokemOn polder pOldEr premier pr@mjer2 program _^_en @@ -741,6 +767,8 @@ quit _^_en recorder _^_en requiem rekyijEm revolver revOlvEr +(saint cloud) sE~klu +(st cloud) sE~klu sas sas scan _^_en scanner skaner2 $verb @@ -761,6 +789,8 @@ vaut $u+ vaux $u+ vénus venys vot vOt +waluigi waluidZi +wario warjo yves iv @@ -874,6 +904,7 @@ mailto _^_en media medja messenger _^_en nat nat +nintendo _^_en not _^_en null _^_en ok oke $u+ @@ -890,6 +921,7 @@ sun _^_en (text aloud) _^_en ubuntu ubuntu up _^_en +wii wi: yes _^_en yet _^_en @@ -961,4 +993,5 @@ venezuela venezyEla (viêt nam) vjEtnam wallis walis futuna futuna +yoshi _^_en zimbabwe zimbabwe diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 8ce7fe0f..147f9e75 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -27,7 +27,7 @@ // http://www.fluxnic.net/cicero // // Rules are now maintained by Michel Such -// Last update: 2010-12-06 Michel Such +// Last update: 2011-02-18 Michel Such // // Letter classes: @@ -70,7 +70,7 @@ // For english words ending "side" .L14 be in up ut -.L15 c f g h l s +.L15 c f g h @@ -527,8 +527,8 @@ s_couv) en (t_ // elles couvent eu (i W // feuille eu (CeX Y // meule eu (reX W // demeure -gu) eu (leX W // gueule -gu) eu (ler Y // gueuler + eu (leX W // gueule + eu (ler Y // gueuler eu (rC W // pleurnicher eu (rreX W // beurre _) eu (ss y // eusse @@ -587,7 +587,7 @@ gu) eu (ler Y // gueuler // group e: English section ea _^_en - e (CeX _^_en +_) e (CeX _^_en ed (_ _^_en ee _^_en // meeting efore (_ _^_en // before @@ -597,9 +597,10 @@ gu) eu (ler Y // gueuler el (sX El _) enter (_ _^_en // enter _) enhan _^_en + ess (_ _^_en // loudness qu) est (_ _^_en // request qu) este (X_ _^_en // requested, requester - _) even (K _^_en + even (_ _^_en _) ever _^_en oC) ever _^_en // forever, however ew (++ _^_en @@ -740,6 +741,7 @@ _quatrevin) gts (_ z2 // group h: English section _) half _^_en _) ha (C_ _^_en + hn _^_en .group i @@ -815,6 +817,7 @@ _quatrevin) gts (_ z2 ill (_ _^_en // Bill C) ill (y_ _^_en // Billy ing (_ _^_en + i (pAd _^_en C) irt (_ _^_en iven (_ _^_en ind (X _^_en // find, mind @@ -832,7 +835,7 @@ C) irt (_ _^_en ïn (K E~ // coïncidence - ma) ïs (_ is // maïs + Ca) ïs (_ is // maïs @@ -891,6 +894,10 @@ pp) l (eX l // group m: English section m (n_ _^_en // column, autumn +e) mail _^_en +d) mail _^_en +g) mail _^_en +t) mail _^_en mov (AX _^_en // move, movy mov (ie_ _^_en // move, movy @@ -1009,6 +1016,8 @@ _) o (rder_ _^_en // order oo (X _^_en // pool C) oot _^_en // bootable football _) one _^_en +l) oud (X _^_en // cloud, loud +XC) oud (X _^_en oun (C _^_en // bounce, found _) over _^_en // over _sC) ot _^_en // shot, slot, spot @@ -1099,6 +1108,7 @@ _C) oy (X _^_en // boy, toy // group r: English section _) real _^_en rst (_ _^_en + r (Cy_ _^_en _) rule _^_en @@ -1197,6 +1207,7 @@ _cACpu) s (_ s // group s: English section send (_ _^_en + server (X _^_en sh (_ _^_en sh (Ap _^_en // shop, ship sh (At _^_en // shut, shot @@ -1322,6 +1333,7 @@ _transA) t (_ t too _^_en ttl _^_en g) ton (_ _^_en // try, country +i) t (uneX _^_en try (_ _^_en // try, country sCar) t (_ _^_en // smart, start sCar) t (er_ _^_en // starter @@ -1417,6 +1429,7 @@ C) ult (_ _^_en _) w (AC _^_en _) w (ina w _) w (Ai _^_en + _) w (Att w _) w (ACo w _) we _^_en wh _^_en // why whisky when @@ -1424,6 +1437,7 @@ C) ult (_ _^_en war _^_en // war wav _^_en // wave way _^_en // way, away +A) wn _^_en wor _^_en @@ -1473,8 +1487,10 @@ C) ult (_ _^_en // group y: English section _C) y (_ _^_en +AC) y (_ _^_en C) y (e_ _^_en %C) y (_ _^_en +ss) y (_ i @CeC) y (_ _^_en nC) y (_ _^_en yze _^_en diff --git a/dictsource/hu_list b/dictsource/hu_list index 0f971cc2..6cfb6d89 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -124,7 +124,7 @@ _#-re e:R2E $alt2 _#-én e:n //need remove the $alt2 attribute with this line _#-ai Ai $alt2 _#-ei Ei $alt2 -_#-től e:tY:l //$alt2 +_#-től e:tY:l $alt2 _#-tól a:to:l $alt2 _#-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc. _#-éről e:R2Y:l @@ -196,7 +196,7 @@ _#-ikának a:nAk (3-ig) harmadikáig $text $alt2 (6-i) hAtodikAi $alt2 (6-ig) hatodikáig $text $alt2 -(8-i) n^'oltsAdikAi $alt2 +(8-i) n^oltsAdikAi $alt2 (8-ig) nyolcadikáig $text $alt2 (13-ig) tizenharmadikáig $text $alt2 (16-ig) tizenhatodikáig $text $alt2 @@ -209,7 +209,6 @@ _#-ikának a:nAk (30-ig) harmincadikáig $text $alt2 (30-i) harmincadikai $text $alt2 - // these exceptions only for 0, not for other numbers ending in '0' (0-ás) nul:a:S (0-t) nul:a:t @@ -267,14 +266,13 @@ _#-ikának a:nAk (4-edikkel) nEJEdik:El //special exception (5-tel) Yt:El (5-el) Yt:El -(5-től) Yt:Y:l (5-től) YtYdike:tY:l $alt2 (5-t) YtYt (5-ször) Yts:YR2 (6-al) hAt:Al (6-tal) hAt:Al (6-tól) hAt:o:l -(6-tól) h'Atodika:to:l $alt2 +(6-tól) hAtodika:to:l $alt2 (6-szor) hAts:oR2 (7-től) he:t:Y:l (7-től) hEtEdike:tY:l $alt2 @@ -418,17 +416,19 @@ _?? kAR2AktEr||ko:d // unknown characters (change this) // Abbreviations ADSL a:de:ESEl $allcaps //Internet connection type, we pronouns this with ádéesel ÁFAa:fA $allcaps +ÁSZ a:s $allcaps ÁNTSZ a:Ente:Es $allcaps ATM a:te:Em $allcaps //The ATM stands. We pronouns this abbreviation with átéem word. Default, Espeak pronouns this abbreviation with atéem word. cm tsEntime:tER2 km kilo:me:tER2 - +DNS de:EnES $allcaps GYSEV JESEv $allcaps GYESEV JESEv $allcaps HÉV he:v $allcaps IPTV $abbrev $allcaps GDP dZi:di:pi: $allcaps ?2 GDP $abbrev $allcaps +GSM ge:ESEm $allcaps HSDPA $abbrev $allcaps kb kYR2ylbElyl $hasdot MLSZ EmElEs $allcaps @@ -441,6 +441,7 @@ mm milime:tER2 RAM R2Am $allcaps //Espeak normaly spokening this abbreviation with erraem, but this is not good Psszt ps:t $capital // similar word with quiet word. Espeak default spokening this abbrew quiet word with letter by letter by default. Pszt ps:t $capital //same as prewious abbrewiation +TAJ tAj $allcaps VDSZSZ ve:de:EsEs $allcaps WC ve:tse: $allcaps LST ElESte: $allcaps @@ -464,6 +465,7 @@ ill illEtvE $hasdot ifj ifjAb: $hasdot mta $abbrev pl pe:lda:ul $hasdot +özv YzvEJ $hasdot $only stb SAtYb:i $hasdot u.n u:JnEvEzEt: $hasdot ú.n u:JnEvEzEt: $hasdot @@ -575,6 +577,7 @@ nekem $unstressend közül $unstressend közé $unstressend között $u $alt3 +délelőtt $alt3 idén $alt3 környékén $alt3 an $u // so many persons @@ -671,7 +674,7 @@ szét $unstressend //apart össze $unstressend //connect with vissza $unstressend //back volna $unstressend // would -//részén $u //on ... part of + nélkül $unstressend // without //folytán $u // because of @@ -1278,6 +1281,398 @@ helyiség $unstressend úton $unstressend való $unstressend fakad $unstressend +gondolja $unstressend +indokolta $unstressend +szakértő $unstressend +kapcsolt $unstressend +négy $unstressend +valakit $unstressend +védekeztek $unstressend +helyéről $unstressend +küldeni $unstressend +határozni $unstressend +követően $unstressend +változó $unstressend +nyilatkozott $unstressend +alkalmazott $unstressend +helyen $unstressend +olcsóbb $unstressend +bizottságtól $unstressend +bizottságot $unstressend +értesült $unstressend +dobni $unstressend +védelem $unstressend +kalózkodástól $unstressend +lementeni $unstressend +részlegével $unstressend +lefedettség $unstressend +képzése $unstressend +várhatók $unstressend +kártya $unstressend +kérhető $unstressend +civil $unstressend +célok $unstressend +növelése $unstressend +oldal $unstressend +cégek $unstressend +fontos $unstressend +halasztott $unstressend +érdekében $unstressend +érdek $unstressend +felelősége $unstressend +tartom $unstressend +iparba $unstressend +jelzi $unstressend +terület $unstressend +tanácsát $unstressend +tervből $unstressend +helyről $unstressend +kezdve $unstressend +mondani $unstressend +képzésekkel $unstressend +prioritással $unstressend +indulni $unstressend +akarjuk $unstressend +célkitűzés $unstressend +törekszünk $unstressend +szükség $unstressend +tételéről $unstressend +állapot $unstressend +kérdés $unstressend +ügynökséget $unstressend +fontosabb $unstressend +hiba $unstressend +forráskódnak $unstressend +forráskódot $unstressend +okoz $unstressend +szám $unstressend +hálózatokba $unstressend +szerepe $unstressend +embereknek $unstressend +ember $unstressend +világnak $unstressend +világba $unstressend +tervünk $unstressend +feltétel $unstressend +tartalmak $unstressend +hozadékot $unstressend +megoldanunk $unstressend +fejlesztésen $unstressend +lépésekkel $unstressend +gyarapodó $unstressend +ígéretet $unstressend +határidő $unstressend +igen $unstressend +teljesítéséhez $unstressend +stratégiájával $unstressend +rendszerekre $unstressend +vicc $unstressend +szakemberei $unstressend +változatból $unstressendváltozatából $unstressend +bizottságnak $unstressend +nyilatkozta $unstressend +rendelkezések $unstressend +pontja $unstressend +szemben $unstressend +fordítását $unstressend +összevetni $unstressend +átállást $unstressend +várni $unstressend +órás $unstressend +kerülő $unstressend +könyvek $unstressend +tartalom $unstressend +szoftverei $unstressend +rendszerre $unstressend +trágár $unstressend +módon $unstressend +következnek $unstressend +alapján $unstressend +kíváncsi $unstressend +kérdései $unstressend +ejteni $unstressend +javasolta $unstressend +partíció $unstressend +mappára $unstressend +mappa $unstressend +kiírni $unstressend +írsz $unstressend +járvány $unstressend +helyezni $unstressend +felhős $unstressend +ég $unstressend +eső $unstressend +fogva $unstressend +centrikus $unstressend +tehetek $unstressend +tenni $unstressend +segély $unstressend +járadék $unstressend +származó $unstressend +kérte $unstressend +mutatkozik $unstressend +esetén $unstressend +növelt $unstressend +kedvezmény $unstressend +kérdéssel $unstressend +telefonok $unstressend +nyújtó $unstressend +elterjedt $unstressend +hallgatni $unstressend +nézni $unstressend +magas $unstressend +rendszer $unstressend +azonban $unstressend +miniszternek $unstressend +jogot $unstressend +eljárást $unstressend +benyújtása $unstressend +bizonyítania $unstressend +ejtették $unstressend +egymással $unstressend +harc $unstressend +éjjel $unstressend +kész $unstressend +látom $unstressend +siettünk $unstressend +megtelt $unstressend +hely $unstressend +kijönni $unstressend +láttunk $unstressend +mentünk $unstressend +kezdett $unstressend +tolakodtak $unstressend +ordibálta $unstressend +kiabálta $unstressend +káosz $unstressend +hibáztak $unstressend +esik $unstressend +valahova $unstressend +mondott $unstressend +azzal $unstressend +tartották $unstressend +rendőrt $unstressend +tömegről $unstressend +szemtanúk $unstressend +szemtanúval $unstressend +tudott $unstressend +mondtak $unstressend +történt $unstressend +mentem $unstressend +szemmel $unstressend +jártam $unstressend +nyitottunk $unstressend +hónapot $unstressend +ellátást $unstressend +munkám $unstressend +unni $unstressend +oldani $unstressend +munka $unstressend +használom $unstressend +használok $unstressend +kódú $unstressend +környezethez $unstressend +szabbványt $unstressend +tervezve $unstressend +jelölni $unstressend +jelölésnél $unstressend +üzenet $unstressend +üzeneteket $unstressend +használnak $unstressend +tartás $unstressend +maradjanak $unstressend +helységeket $unstressend +tartásáról $unstressend +hónapig $unstressend +válna $unstressend +vágyók $unstressend +vállal $unstressend +létezik $unstressend +fogalmazott $unstressend +címen $unstressend +nevű $unstressend +föld $unstressend +csomaggal $unstressend +származik $unstressend +változik $unstressend +nyúl $unstressend +piacán $unstressend +azok $unstressend +felnövő $unstressend +szolgálna $unstressend +védekezett $unstressend +testvér $unstressend +tud $unstressend +posztját $unstressend +néven $unstressend +arany $unstressend +részesült $unstressend +piacon $unstressend +botránya $unstressend +emlegetni $unstressend +irányával $unstressend +elvet $unstressend +ahhoz $unstressend +élén $unstressend +eladni $unstressend +ismert $unstressend +felel $unstressend +végzik $unstressend +végződtek $unstressend +szólva $unstressend +tény $unstressend +testületnek $unstressend +végzés $unstressend +tették $unstressend +környékén $unstressend +valószínű $unstressend +várható $unstressend +hagyva $unstressend +okot $unstressend +tudom $unstressend +készült $unstressend +érvelt $unstressend +tudnia $unstressend +tudatta $unstressend +vezetőknek $unstressend +helyzetben $unstressend +vége $unstressend +végén $unstressend +írják $unstressend +utal $unstressend +készül $unstressend +köd $unstressend +ködös $unstressend +idő $unstressend +részek $unstressend +alakul $unstressend +véget $unstressend +helyett $unstressend +körét $unstressend +vonatkozik $unstressend +javaslat $unstressend +tagjai $unstressend +döntés $unstressend +dolgot $unstressend +tudjuk $unstressend +tudják $unstressend +tudjátok $unstressend +jársz $unstressend +könyvtár $unstressend +fájlt $unstressend +fájlját $unstressend +törvény $unstressend +jövőt $unstressend +viszont $unstressend +járna $unstressend +állnia $unstressend +írnánk $unstressend +írnák $unstressend +dolgoznak $unstressend +hozzá $unstressend +valók $unstressend +tartozik $unstressend +képlet $unstressend +leírva $unstressend +dolgozik $unstressend +ragad $unstressend +mutatja $unstressend +olyan $unstressend +dolgozni $unstressend +hal $unstressend +blikkre $unstressend +markom $unstressend +törekszik $unstressend +szánni $unstressend +motor $unstressend +tortát $unstressend +torta $unstressend +részéről $unstressend +elképzelés $unstressend +épít $unstressend +magyarázzák $unstressend +mondhatjuk $unstressend +igaz $unstressend +tekintünk $unstressend +adódik $unstressend +díjakat $unstressend +tehát $unstressend +hatóanyagú $unstressend +járhat $unstressend +látható $unstressend +megoldást $unstressend +hatna $unstressend +épülő $unstressend +gyorsítást $unstressend +felületről $unstressend +hónap $unstressend +található $unstressend +kapcsán $unstressend +rendszerbe $unstressend +járadékot $unstressend +ezren $unstressend +megnézni $unstressend +járadékát $unstressend +nyugdíjat $unstressend +bírna $unstressend +értjük $unstressend +válnak $unstressend +mértékében $unstressend +nyilvánítást $unstressend +lyukat $unstressend +tudja $unstressend +szélen $unstressend +hozták $unstressend +számlák $unstressend +törlesztés $unstressend +nézik $unstressend +fokú $unstressend +lehetséges $unstressend +korúakkal $unstressend +látják $unstressend +őrnek $unstressend +érzik $unstressend +rájuk $unstressend +lépjen $unstressend +joga $unstressend +működött $unstressend +iskolákat $unstressend +írtam $unstressend +miniszter $unstressend +álltunk $unstressend +járnak $unstressend +köthetők $unstressend +drágult $unstressend +határozott $unstressend +helyezi $unstressend +részleteiről $unstressend +foglaltakról $unstressend +rendjéről $unstressend +jelentést $unstressend +jelentések $unstressend +tagjait $unstressend +kerülnek $unstressend +javasolja $unstressend +hivatal $unstressend +támogatásból $unstressend +segélyt $unstressend +biztosítani $unstressend +adható $unstressend +gondolattal $unstressend +keres $unstressend +futnak $unstressend +íródott $unstressend +érintő $unstressend +azért $unstressend +nyilatkozatok $unstressend +zajlott $unstressend +fordultak $unstressend +vették $unstressend +fordult $unstressend +épül $unstressend +bizonyítékok $unstressend +nyilvánításra $unstressend +állók $unstressend // word pairs @@ -1540,4 +1935,6 @@ CD-m) cédém (ÁFÁ-t) áfát (MB-al) megabájttal (EU-n) eun - +(MHZ-en) megahercen +(Mhz-en) megahercen +(ORTT-től) oerrtététől //special exception diff --git a/dictsource/hu_rules b/dictsource/hu_rules index e7035523..6023dd05 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -109,6 +109,7 @@ fegyen) c (csoport ts ccs (-L01 tS // only speak one ts if followed by a consonant after the - character cs (-sz tS|s //need spokening single ts and single s phoneme ccs (-sz tS|s //need spokening single ts and single s phoneme + licen) c (sértés ts .group ch @@ -133,6 +134,7 @@ hierar) ch (i h stri) ch (el h: ar) ch (ív h ar) ch (ivál h + ar) ch (itektúr h ma) ch (iná h oligar) ch h legpe) ch (es h: @@ -273,6 +275,10 @@ standar) d (jegy d kar) d (szerű d //this word need spokening single d before s phoneme kö) d (szirén d //this word need spokening single d before s phoneme rekor) d (szerkez d //this word need spokening single d before s phoneme + kö) d (szitálás d + mó) d (javaslat d + rekor) d (szint d + kambo) dzs dZ: .group dz fogó) dz (kod ts @@ -319,6 +325,7 @@ ringató) dz z smarag) dz (öld d|z kapáló) dz z _ó) dz (ko ts + gyűrű) dz (ik z .group e e E @@ -513,11 +520,15 @@ harmince) gy (edik J: e) gys (áv J|S //egysáv beginning words for example need spokening single J and S phoneme. _e) gy (ablak J: összee) gy (esít J: + nem-e) gy (ik J: + e) gy (összeg J: + e) gys (ík J|S //for example egysíkú word need spokening single J and S phoneme .group h h h hertz hER2ts hh (-L01 h + minde) hh (ez h @@ -525,6 +536,7 @@ harmince) gy (edik J: i i @) i (_S1 i @) ig (_S2 ig + @) ihoz (_S4q ihoz .group í í i: @@ -724,6 +736,7 @@ eredmé) ny (j n^ //for example eredményjelző word need spokening helybe) n (jár n polle) n (jelen n idé) ny (jel n^ + vagyo) n (nyilatkozat n //for example vagyonnyilatkozat word need spokening single n phoneme before n^ phoneme, not two n^n^ phoneme. .group o o o @@ -775,6 +788,8 @@ helybe) n (jár n te) rr (ier R2 te) rr (ori R2 rr (-L01 R2 + konku) rr (en R2 + _a) rr (oganci R2 .group s s S @@ -997,6 +1012,8 @@ rendelteté) ssz (er Ss ss (-L01 S //if have a consonant after the - character, need spokening one S letter települé) ssz (er Ss //for example településszerkezet word need spokening single S and s phoneme. gyor) ssz (űr Ss //for example gyorsszűrő word need spokening single S and s phoneme + _a) ssz (iszt s //for example the asszisztens word need spokening one s phoneme + eltu) ss (ol S .group sz sz s @@ -1080,6 +1097,8 @@ vörösmar) ty ti használ) t (cikk t grafi) t (ceruz t //for example grafitceruzával, grafitceruze need spokening single t before c letter pamu) t (cér t + ha) t (cell t //for example hatcellás, hatcella word need spokening t before c letter. + pár) t (székház t .group tj C) tj c @@ -1138,7 +1157,9 @@ helyze) tj (el tj _á) tj (öj tj á) tj (ön tj á) tj (öt tj - + spor) tj (áték tj +rokkan) tj (áradék tj +interne) tj (egy tj .group ts ts (_S2 tS //general rule with word end of ts letters @@ -1356,8 +1377,7 @@ helyeze) tt (ről t: tty c: ttyj c: keresz) tt (űz t: - - + me) ttsz (et ts: .group u u u @@ -1535,6 +1555,8 @@ szellő) z (tet s kötö) z (kö s árví) z (súj z //for example árvízsújtott word need spokening single z phoneme, not Z phoneme magyará) z (kod s + kalau) z (ság z + pofo) z (kod s .group $ dolla:R2 diff --git a/dictsource/id_rules b/dictsource/id_rules index 98e9e8fc..eac84e65 100644 --- a/dictsource/id_rules +++ b/dictsource/id_rules @@ -17,7 +17,8 @@ .group c - c tS + c tS + ch X .group d d d @@ -41,6 +42,7 @@ .group i i i + ie i i) i _|i A_) i _|i @@ -69,7 +71,6 @@ n n ng N ny n^ -// nj n^ .group o o o @@ -81,6 +82,7 @@ .group p p p pp p + ph f _) pe (@@ p@ @@ -98,8 +100,8 @@ .group s s s ss s - sy S // perhaps [S;] ?? - sj S + sy C // perhaps [S;] ?? + sj C _) se (@@ s@ diff --git a/dictsource/it_list b/dictsource/it_list index 09ee6bc0..f5aab0cd 100644 --- a/dictsource/it_list +++ b/dictsource/it_list @@ -127,12 +127,14 @@ _17 ditSas:'Et:e _18 ditS'Ot:o _19 ditSann'ove _2X v'entj +_21 v'ent'uno +_28 v'ent'Ot:o _3X t@-*'enta _4X kw2aR'anta _5X tSinkw2'anta _6X sess'anta _7X set:'anta -_8X ot'anta +_8X ot:'anta _9X nov'anta _0C tS'ento _0M1 m'ila @@ -349,11 +351,11 @@ sarebbero $u // aux verb, to have ho $u //$double -hai $u //$double -ha $u //$double +hai aj $u //$double +ha a $u //$double abbiamo $u avete $u -hanno $u +hanno anno $u ebbi $u avesti $u diff --git a/dictsource/it_listx b/dictsource/it_listx index 4fcb5086..a30b04ee 100644 --- a/dictsource/it_listx +++ b/dictsource/it_listx @@ -90,8 +90,8 @@ alcool $1 alcor $2 alcov $alt aldebaran $4 -ale $2 alea $1 +ale $2 alen $alt2 alenia $alt aleria $2 $alt2 @@ -387,8 +387,8 @@ augure $1 aulos $3 aureol $3 ausoni $alt -austral $3 australasia $4 +austral $3 austrasia $3 autari $1 autentic $alt @@ -405,8 +405,8 @@ autopilot $alt autostop $4 $alt autoveicolo autovE'ikolo avampost $alt2 -avari $1 avaria $3 +avari $1 aven $alt2 avere $2 $alt2 avvi $2 @@ -436,8 +436,8 @@ baka $2 balaam $1 balen $alt2 balenotter $alt -bali $2 balia $2 +bali $2 balneoterapia $6 balsami $1 balsam $1 @@ -620,8 +620,8 @@ bufal $1 buffal $1 buia b'uia buio b'uio -bulgari $1 bulgaria $3 +bulgari $1 bulgar $1 bultei $2 buonarroti $alt @@ -832,12 +832,11 @@ ceram $1 ceranesi $2 cerber $1 cerc $alt2 -cerchi $alt2 cerchia $alt2 cerchi $alt2 cercine $alt2 -cerc $alt2 cercoceb $alt +cerc $alt2 cercol $alt2 cercopitec $alt cernobbi $alt @@ -1364,9 +1363,9 @@ elemosin $3 elett $alt elettr $alt elettric $alt -elettr $alt elettrod $alt elettrodott $alt2 +elettr $alt elettroforesi $alt elettrolisi $3 elettromagnete $alt @@ -1455,8 +1454,8 @@ epos $alt epsilon $1 $alt eptarchia $3 equanime $2 -equi $alt equidi $alt +equi $alt equilater $3 equipe $1 equivoc $2 @@ -1663,8 +1662,8 @@ folgaria $3 folgore $1 follia $2 fomori $1 -fon $alt fonem $alt +fon $alt fontanafredd $alt2 fontanelice $alt2 fontanigord $alt2 @@ -1689,8 +1688,8 @@ fosdinov $alt fosfor $1 $alt fossacesia $3 $alt fossanov $alt -fot $alt fotoelettric $alt +fot $alt fotogenia $4 fotolisi $2 fotoritocc $alt2 @@ -1739,9 +1738,9 @@ garofan $2 garzon $2 gasdott $alt2 gaudenzi $alt -ge $alt gebel $alt gec $alt +ge $alt gematria $3 gemin $1 gemit $1 @@ -1770,6 +1769,7 @@ gettit $1 gez $alt2 ghedi $alt ghiott $alt2 +giacom $1 giarabub $3 giaven $alt2 gijon $2 @@ -1894,7 +1894,6 @@ imenotteri $alt imol $1 impari $1 imperfett $alt -impero $3 $alt impet $1 impieg $alt implicit $2 @@ -2172,8 +2171,9 @@ malag $1 malapen $alt2 malavoglia $alt malcesine $alt2 -male $2 $alt +male $2 malebolge $alt +male $alt malesia $2 $alt malessere $alt malevol $alt @@ -2202,9 +2202,9 @@ manodoper $3 mansuet $alt manticor $2 manul $2 -mara $2 maracalagonis $alt maramao $3 +mara $2 marathon $3 maratonet $alt marciapiede $alt @@ -2218,8 +2218,9 @@ marmirol $3 marmor $1 marmore $1 marmoreo $2 -maro $2 $alt +maro $2 maroboduo $alt +maro $alt marron $2 marsia $1 marsicovetere $alt @@ -2243,7 +2244,6 @@ mazzaccher $2 mazze $2 $alt mazzin $2 mazzol $2 -medi $alt media $alt medi $alt mediceo $2 @@ -2282,8 +2282,8 @@ mercanzia $3 merce $2 meri $2 meristem $alt -merit $1 meritocrazia $5 +merit $1 merope $1 mes $alt mescal $2 @@ -2316,10 +2316,10 @@ metr $alt2 mettere $alt mexic $alt2 mezenzi $alt -mezz $alt mezzadria $3 mezzaneg $2 mezzogiorn $alt2 +mezz $alt miastenia $4 michiel $2 microcefalia $5 @@ -2356,8 +2356,8 @@ miser $1 misia $1 misoginia $4 mista $2 -mistra $2 mistral $2 +mistra $2 mitocondri $alt mixtechi $alt moa $alt @@ -2366,9 +2366,9 @@ mochi $alt moconesi $2 mod $alt modem $alt -mod $alt modestia $2 modoc $alt +mod $alt mogan $1 moggi $alt moglia $alt @@ -2379,12 +2379,12 @@ moire $3 mok $alt moken $alt mol $alt -mole $alt molecol $alt -mol $alt +mole $alt mollic $2 -moloch $alt molochi $alt +moloch $alt +mol $alt molotr $1 $alt molten $alt2 molv $alt @@ -2518,9 +2518,10 @@ niscemi $alt niteroi $alt2 nocciol $alt nod $alt -noe $2 $alt +noe $2 noem $alt noemi $alt +noe $alt noicattar $3 nol $alt nomade $1 @@ -2540,8 +2541,8 @@ nottetemp $alt noumea $alt2 noumen $2 nous $2 -nove $alt novembre $alt +nove $alt nover $1 novi $alt nov $alt @@ -2567,9 +2568,9 @@ occhi $alt ocean $2 ode $alt odi $alt -od $alt odontoiatria $6 odontotecnic $alt +od $alt ofant $1 $alt offid $alt oggebbi $alt @@ -2577,13 +2578,13 @@ oggett $alt oggigiorn $alt2 ogli $alt ognitemp $alt -oh $alt ohi $alt ohmic $alt +oh $alt oidi $2 ola $2 -ole $2 oleacee $3 +ole $2 oleodott $alt2 olg $alt oligarchia $4 @@ -2632,8 +2633,8 @@ orefice $alt2 orfan $1 orfanotrofi $alt orfei $2 -organ $1 organon $1 $alt2 +organ $1 orgia $1 origan $2 oritterop $3 @@ -2646,6 +2647,7 @@ oroscop $2 $alt orosei $3 ors $alt2 orsol $alt2 +ors $alt2 ortensia $2 $alt ortensi $alt ortic $2 @@ -2737,16 +2739,17 @@ parapett $alt paratoia $alt2 paraurti $3 paravia $3 -pare $2 parenchim $alt parentesi $2 $alt +pare $2 parere $2 $alt2 parestesie $4 parghelia $3 paria $2 parnassos $3 -parodi $2 $alt +parodi $alt parodia $3 +parodi $2 parop $alt parricid $3 parroc $1 @@ -2777,7 +2780,6 @@ pediatria $3 pedofilia $4 pedogenesi $3 peggi $alt -pel $alt2 pelag $1 pelaverg $alt2 pell $alt2 @@ -2787,6 +2789,7 @@ pelope $1 peloponnes $alt pelosi $alt2 pelot $alt +pel $alt2 pemfig $alt pend $alt2 pendi $2 @@ -2823,8 +2826,8 @@ pericle $1 perieget $alt perier $1 $alt2 perifrasi $2 -perim $2 perimetr $2 +perim $2 period $2 peripl $1 peristasi $2 @@ -2833,17 +2836,17 @@ perlomen $alt2 permafrost $1 permut $1 pernice $2 -pero $2 $alt peronospor $3 $alt +pero $2 $alt perpetua $alt perpetuo $alt perregaux $2 perrer $2 persefone $2 $alt -persia $1 persian $3 -peru $2 +persia $1 perun $2 +peru $2 pesc $alt pescasseroli $3 pesche $alt @@ -2868,11 +2871,11 @@ picche $2 $alt piccolomini $3 picnic $2 pidocchi $alt -pie $alt piece $alt piede $alt piedr $alt pieg $alt +pie $alt piet $alt pietraperzia $4 pietraroj $alt @@ -2915,8 +2918,8 @@ planimetr $2 plantagenet $alt plasmodesm $alt plasmodi $alt -platani $1 platania $3 +platani $1 platan $1 platin $1 plebe $alt @@ -2932,8 +2935,8 @@ pocol $2 podere $2 $alt2 podesta $3 podi $alt -poe $alt poem $alt +poe $alt poet $alt poggi $alt poh $alt @@ -2977,10 +2980,10 @@ pontassieve $alt pontefice $alt2 pontelandolf $alt pontremoli $2 -pop $alt pope $alt popp $alt2 poppi $alt2 +pop $alt porcile $2 porfiria $3 poriferi $2 @@ -3148,8 +3151,8 @@ rape $2 $alt rapsod $alt rapsodia $3 rapsod $2 -rate $2 rateo $1 +rate $2 razzia $2 realta $3 rebbi $alt2 @@ -3270,8 +3273,8 @@ ropaloceri $3 rore $alt ros $alt rosalia $3 -rose $2 roseo $1 $alt +rose $2 rosolia $3 rospigliosi $alt2 rosp $alt @@ -3314,8 +3317,8 @@ salemi $alt saliscendi $alt2 salmi $2 salmodia $3 -salo $2 $alt salome $3 $alt +salo $2 $alt saludeci $alt salvacondott $alt2 salvadoregn $alt @@ -3334,8 +3337,8 @@ sandia $2 sanfront $2 sanscrit $1 santabarbar $3 -sante $2 santen $1 +sante $2 sapere $2 $alt2 sarag $1 sarcofag $2 @@ -3399,15 +3402,15 @@ scrof $alt scrofol $1 scrot $alt scuolabus $3 -seb $alt seborg $alt2 +seb $alt secc $alt2 secol $alt secondogenit $4 sedan $1 $alt -sede $alt sedecia sedetS'i:a sedere $2 $alt2 +sede $alt sedia $alt sedicesim $alt sedici $alt2 @@ -3439,15 +3442,16 @@ semol $1 sempre $alt sempreverde $alt2 seneghe $1 $alt -seni $alt senile $2 -senior $1 $alt +senior $1 seniore $alt +senior $alt +seni $alt sennacherib $4 -senno $2 $alt sennori $1 $alt -sen $alt2 +senno $2 $alt senoni $1 $alt +sen $alt2 sepri $alt sepsi $alt sequals $2 @@ -3459,14 +3463,14 @@ servile $2 servofren $alt2 sesam $1 $alt sesia $1 $alt -sess $alt sessantesim $alt +sess $alt sesser $alt sessile $alt sessuofobia $4 sett $alt -sette $alt settembre $alt +sette $alt sett $alt settime $1 seul $2 @@ -3519,8 +3523,8 @@ sintesi $1 sintom $1 sintonia $3 sinuess $alt -sio $2 sion $2 +sio $2 sipont $alt sirtori $1 sisar $1 @@ -3546,8 +3550,8 @@ sofocle $1 $alt soggiorn $alt2 soggol $2 $alt2 soglia $alt -sogli $alt sogliol $1 $alt +sogli $alt solarol $3 sold $alt soleo $1 $alt @@ -3644,8 +3648,8 @@ stilopoidei $5 stipendi $alt stobi $alt stom $alt -stop $alt stopp $alt2 +stop $alt storm $alt2 storn $alt2 stranguria $3 @@ -3705,11 +3709,10 @@ tartari $1 tartar $1 tassametr $2 tassi $2 -tata $2 tatari $1 tatar $1 +tata $2 taurianov $alt -te $alt tec $alt technicolor $alt teck $alt @@ -3724,8 +3727,8 @@ teista tE'ista tel $alt2 telecamer $3 telefilm $3 -telef $1 telefon $2 $alt +telef $1 telegon $2 $alt telegraf $2 $alt telelavor $alt2 @@ -3738,13 +3741,14 @@ temen $1 $alt temi $alt temistocle $2 temnospondili $alt -tempe $alt temper $1 $alt +tempe $alt tempi $alt templ $alt +tempor $alt temp $alt -tempor $1 $alt temporaneo $3 +tempor $1 tempr $alt temu $2 tenace $2 @@ -3766,8 +3770,8 @@ teoria $3 teosofia $4 tepanechi $alt terapeut $3 -terapeuti $3 terapeutic $3 +terapeuti $3 terapia $3 terebr $1 teres $alt @@ -3790,6 +3794,7 @@ tessere $alt tessile $alt testimone $alt tetan $1 $alt +te $alt tetraedr $alt tetrametr $2 tetrapode $2 @@ -3832,12 +3837,12 @@ toltechi $alt tolve $alt tome $2 tomi $alt -ton $alt toni $alt tonn $alt2 +ton $alt top $alt -tora $2 torace $2 +tora $2 torb $alt2 torbid $alt2 torbole $alt2 @@ -3846,17 +3851,18 @@ tord $alt2 tornabuoni $alt tornarecci $alt torni $alt2 -torn $alt2 tornol $alt2 +torn $alt2 torped $alt tors $alt2 tortor $1 $alt2 tosse $alt2 -tot $alt totan $1 totem $alt -toto $2 $alt +toto $alt +tot $alt totogol $3 +toto $2 tournee $alt2 trabea $1 trabia $2 @@ -3891,6 +3897,7 @@ treppiede $alt tres $alt tresette $alt tressette $alt +tres $alt treveri $1 $alt treves $alt treviri $1 @@ -3909,8 +3916,8 @@ trigemin $2 triglif $1 trimer $1 trimetr $1 -trinita $3 trinitapoli $3 +trinita $3 triod $1 trionf $alt2 trior $alt2 @@ -4014,9 +4021,9 @@ veneti $1 $alt venet $1 $alt ventenni $alt ventesim $alt -venti $alt2 ventiquattresim $alt ventisette $alt +venti $alt2 ventol $alt ventre $alt ventriloqui $alt @@ -4028,10 +4035,10 @@ verace $2 verde $alt2 verg $alt2 vergine $alt2 -ver $alt2 verne $2 vernice $2 verolanuov $alt +ver $alt2 veroli $1 vertebr $1 vertebre $1 @@ -4051,8 +4058,8 @@ vetr $alt2 vezzen $1 viadott $alt2 vibrafon $2 -video $1 videoclip $4 +video $1 videotec $alt vidigraf $2 vigano $3 $alt @@ -4081,7 +4088,6 @@ vitoria $alt2 vitreo $1 vivace $2 viveri $1 -vo $alt vobbia $alt vodk $alt voglia $alt @@ -4099,6 +4105,7 @@ vomit $1 vosgi $alt voti $alt vot $alt +vo $alt vudu $2 vulture $1 vuot $alt diff --git a/dictsource/it_rules b/dictsource/it_rules index 9193d16f..e1652f5b 100644 --- a/dictsource/it_rules +++ b/dictsource/it_rules @@ -13,7 +13,7 @@ .group a a a ai (K aI - ao (_ aU + ao (_N aU au a%u @C) a (_S1q a // lookup it_list without suffix @@ -34,7 +34,7 @@ .group à à ''a ài (K ''aI - ào (_ ''aU + ào (_N ''aU àu ''a%u .group b @@ -49,8 +49,8 @@ cc (Y tS: ch k cch k: - ci (L01 tS - cci (L01 tS: + ci (A tS // or L01 ? + cci (A tS: // or L01 ? @) co (lA_ =ko .group d @@ -122,11 +122,12 @@ gg g: gh g g (Y dZ - gi (L01 dZj - gi (a_ dZ'i - n) gi (a_ dZj + gi (A dZ // any vowel, or L01 ? + gi (a_ dZ'i# // [i] only if stressed + gì (a_ dZ'i# // [i] only if stressed + n) gi (a_ dZ gg (Y dZ: - ggi (L01 dZ: + ggi (A dZ: // or L01 ? @) gger (lo_ =dZ:eR gl (i l^ gl (ì l^ diff --git a/dictsource/nl_list b/dictsource/nl_list index 00c3b553..c96aa3fd 100644 --- a/dictsource/nl_list +++ b/dictsource/nl_list @@ -64,7 +64,7 @@ _; p'8ntkOm,a: _? v@-*'a:xte:k@n _! 'Wyt@-*upt,e:k@n _" 'a:nha:lInxste:k@n -@ 'a:p@nst,a:rt;@ +@ _:'a:p@nst,a:rt;@_: # h'Ekj@ $max3 % p@-*o:s'Ent _( h'a:kj@_|'o:pe:n@n @@ -129,14 +129,19 @@ _0Co h'OndErtst@ // abbreviations +eu e:_y: $abbrev +kmo $abbrev +KMI $abbrev +KNMI $abbrev nr n8m@r nvda $abbrev +VMMa $abbrev // articles de d@ -het h@t -een @n +het h@t $only +een @n $only ən @n // char.replacement for 'n ət @t // char.replacement for 't @@ -151,7 +156,7 @@ u $u hij $u zij $u ze $u -het $u +het h@t //otherwise pronounced as het wij $u we $u jullie $u @@ -178,7 +183,7 @@ die $u $brk dit $u dat $u wat $u -er $u +er @r waar $pause // prepositions @@ -207,6 +212,7 @@ sommige $only $u+ // some // conjunctions en $u $pause // and +én En $pause // stressed and dus $u $pause // so maar $u $pause // but of $u $pause // or @@ -292,23 +298,52 @@ werd $u // Pronounce as English + +android _^_EN +airlines _^_EN +base _^_EN delete _^_EN -//down _^_EN +crash _^_EN escape _^_EN +(e-mail) i:me:l +enterprise _^_EN +entertainment _^_EN +exploit _^_EN +fact _^_EN home _^_EN game _^_EN +hardware _^_EN homepage _^_EN items _^_EN laptop _^_EN +malware _^_EN +medical _^_EN +milkshake _^_EN +multitouch _^_EN +netbook nEtbuk (page down) _^_EN (page up) _^_EN +offline _^_EN +online _^_EN player _^_EN -speak _^_EN +patch _^_EN +race _^_EN +research _^_EN +site _^_EN +sites _^_EN +software _^_EN +speak _^_EN the D@ +time _^_EN +tweaker tv#ik@r +ultimate _^_EN up _^_EN +website _^_EN +websites _^_EN +weekend _^_EN -// words where -eren is not a stressed verb ending +// words where -er is not a stressed verb ending achter $alt achterkleinkinder $alt @@ -1214,29 +1249,24 @@ zwijmel $alt // -s is not plural chaos xa:Os - -beiaard b'EIa:rt -boomgaard $1 -dronkaard $1 -gierigaard $1 -grijsaard $1 -gulzigaard $1 -lafaard $1 -slechtaard $1 -snoodaard $1 -standaard $1 -valsaard $1 -woestaard $1 +// all words on _aard are treated as suffix in the rules. // pronunciation exceptions -aangrijpend $2 -accessoires aksEsw'ar@s +accessoire aksEsv#'ar@ +accessoires aksEsv#'ar@s actiepunt Aksip8nt agenda $2 amino $1 amnestie $3 +april a:pr'Il +armand _^_FR +artikel art,ik@l +augustus VUQ'8st8s +be $abbrev // used as domain abbrev for Belgium and in a lot of other names +beha be:_h'a: bijziend $2 // bijziendheid +blitzkrieg blItskri:g boudoir budv#'a:r bourgondier burx'o:ndi:@r braille brAj@ @@ -1251,15 +1281,29 @@ chassis SAs'i chat tSEt check tSEk chiffon Sif'On +crèches krES@s contour ko:nt'ur +coureur ku:r'Y:r +damascering damA;s'e:rIN +december $2 +dieet $2 divers div'Ers +diftongering dIft,ON'e:rIN +doordat $2 dynastie $3 eensgelijks e:nsQ@l'EIks +elfstedentocht ,Elf'ste:d@ntoQt emaille ,e:m'Aij@ +enorm $2 eucharistie $4 +februari fe:bry'a:ri fiche fiS@ +franchise frA'Si:z@ gamasche Qa:m'AS +gazet $2 gouache Qu'AS +gefrituurd $3 +impregnering Impr,EQn'e:IN inductie $2 ingewikkeld $3 ingrijpend $2 @@ -1268,44 +1312,76 @@ ingevolge $3 ingrediënt $4 ingenieur Inzj@nj'Y:r informatie $3 +januari $3 journaal Surn'a:l maxima $1 meteen mEt'e:n +metro me:tro: minima $1 nabij nab'EI +november $2 +oktober $2 +onderhandelingsnota ,ond@r'hAnd@lINs,no:ta: ongastvrij OnQAstv@-*'EI ongelooflijk $3 ongemakkelijk $3 ongelukkig $3 ongerieflijk $3 ongrondwettig $3 +partijvoorzitters $2 pistache pist'AS proces $2 +projectielen $3 renaissance rEne:s'A~s@ reservoir re:zErvv#'a:r +revanche r@vA~nS +regime $2 sacristie $3 +saint _^_FR salomo $1 -tegenaan $3 -tegenin $3 -tegenover $3 -tegendraads $3 +september $2 +sms'jes EsEm'Es_j@s +spektakel $2 tegennatuur $4 -tegenstrijdig $3 -tegenwoordig $3 travestie $3 verderop $3 volledig $2 waarschijnlijk $2 +ziekenhuisbevalling zi:k@nhWysb@vAlIN +zover zo:v'Er // names +(al-qaeda) Al_:k'AjdA +Beckham bEk@m +Betty bE:ti charlotte $2 +Dewever d@'v#e:v@r +Henin _^_FR Inge IN@ Ingeborg INe:bOrx Ingmar INmAr Ingrid IN@-*It +Justine _^_FR kennedy kEn@dE +Laurent lo:r'An^ +Nys nEIsd'WyzEnt + +//Trademarks +Belga bElQa: +Facebook fEisbuk +Ubuntu u:'bu:ntu: +Wikipedia $3 +google gu:g@l // places +alexandrië $3 canada $1 +Kinshasa kInS'a:sa: +new york _^_EN +Rochefort roS'for +Vlaanderen vla:nd@r@n +Zelzate zelzat@ + +(vond dat de) vOn_tA_t@ diff --git a/dictsource/nl_rules b/dictsource/nl_rules index 5cd96f36..9516499c 100644 --- a/dictsource/nl_rules +++ b/dictsource/nl_rules @@ -6,22 +6,26 @@ a (x A aa a: aai a:j - ae E: + ae a: au VU + auw VU ay a:j @@C) a (_ =a: _) aan (@P3 'a:n + @) aar (_@S3 a:r + @) aard (_@S4 a:rt aa (rd_ 'a: aa (C_ 'a: @) abel (_ 'a:bE2l @) abele (_ 'a:b@l@ + m) ach (in %a:S _) af (C@P2 'Af - _) affich Af'iS + _) affich %AfiS age (_N 'a:Z@ ages (_S1 s age (_$w_alt a:Q@ - aire (_ 'E:r + aire (_ 'E:r@ air (_ 'Er @) agne (_ 'An^@ ale (_ 'a:l@ @@ -32,6 +36,7 @@ @) a (de_ 'a: @) a (ta_ 'a: + b)a (by e: .group b @@ -39,10 +44,12 @@ b) b bs (_N ps + baan ba:n &) baar (_ =ba:r _) be (@P2 b@ _) b (ee+ b _) bei (de bEI + be (lg bE _) be (ren bI: _) be (rm bE _) be (stia bE @@ -53,7 +60,9 @@ _) bezig be:z@x _) beu bY: _) bij (C@P3 b'EI + _) binnen (P6 b'In@n _) brand br'And + _) buiten (P6 b'Wyt@n _) bureau byr'o: _) buurt (@@P5 b'yrt // buurtbewoner @@ -66,6 +75,8 @@ c k ci (a S @) ci (eel S + @) ci (eus S + @) ci (euz S @) ci (ë S ci (o S ck k @@ -104,16 +115,16 @@ bro) ch (e S brun) ch S deta) ch S - ma) ch (in S' mar) ch S - para) chut S'yt _po) ch (e S + revan) ch (e S .group d d d // auto-devoice at end-of-word d) d dt t ds (_N ts +// _) de (CC@P2 d@ // Used a lot in family names .group e @@ -139,6 +150,10 @@ @) ee (rd_ 'I: @) ee (rde_ 'I: @) ee (rden_ 'I: + @) e (rende_ 'I: + @) e (renden_ 'I: + @) er (ing_ 'I:r + @) er (ingen_ 'I:r it) eit (_ 'EIt &) el (_ E2l &) eld (_ @ld @@ -151,7 +166,6 @@ &) el (de_$p_alt =@l &) el (den_$p_alt =@l &) el (end_$p_alt =@l - &) er (_$p_alt =@r &) er (e_$p_alt =@r &) er (en_$p_alt =@r @@ -160,23 +174,35 @@ &) er (de_$p_alt =@r &) er (den_$p_alt =@r &) er (end_$p_alt =@r + &) er (ende_$p_alt =@r + &) er (ing_$p_alt =@r + &) er (ingen_$p_alt =@r &) elijks @l@ks &) em (_ @m + &) e (ment @ &) en (_S2qd @n &) ens (_S3q @ns &) end (_ @nd &) ende (_ @nd@ + &) enden (_ @nd@n + eden e:d@n @) ent (_ 'Ent @) ent (e_ 'Ent @) ent (en_ 'Ent @) ent (er_ 'Ent + ag) ent 'Ent &) er (_ @r &) ere (_ @r@ &) er (en_$p_alt @r // where 'eren' is not a verb ending eren (_ 'I:r@n - &) es (_ @s + @) es (_S2qd 'Es + @) essen (_S5qd'Es@n + @) eres (_S4qd @r'Es + @) eressen (_S7sq @r'Es@n @) etten (_S3 @n + @) es (_$p_alt @s // for wors which end on [@] with multiple on 's'. + euille @'y eum (_$w_alt 'e:8m @mus) eum (_ ,e:8m // compounds @) eur (_ 'Y:r @@ -188,10 +214,16 @@ @) e (raar_ @ &) e (rC@ E2 + i) eus (_ 'Y:s + i) euze (_ 'Y:z@ + i) euzer (_ 'Y:z@r + i) euzere (_ 'Y:z@r@ + i) eust (_ 'Y:st + i) euste (_ 'Y:st@ + c) e (ntrum E // not @ _) expositie Ekspo:z'itsi - - + e (rtsD E .group f f f @@ -210,10 +242,15 @@ _) geu QY: _) ge (ven Qe: _) ge (ver Qe: + ge (val Q@ _) ge (ving Qe: ge (sprek Q@ // in compounds + @) gi (eus Z + @) gi (euz Z + reli) gi (eu Qij + .group h h h @@ -231,12 +268,18 @@ i (x I ie i ieuw iw + iee ie: d) ie (_ 'i g) ie (_ 'i m) ie (_ 'i p) ie (_ 'i - + ieus (_ ij'Y:s + ieuze (_ ij'Y:z@ + ieuzer (_ ij'Y:z@r + ieuzere (_ ij'Y:z@r@ + ieust (_ ij'Y:st + ieuste (_ ij'Y:st@ @) ibel (_ 'ib@l @) ibele (_ 'ib@l@ &) ica (_ =ika: @@ -247,18 +290,21 @@ ie (rd_ 'i @) ig (_S2dq @x @) ige (_ @Q@ + @) igen (_ @Q@n ij (_ 'EI ij (e_ 'EI @) ij (n_ 'EI + ij (en 'EI &) ika (_ =ika: &) iko (_ =iko: - _) in (C@P2 'In + _) in (C@P2 In // _) in (gP2 'In io (nage iO @) isch (_ =is @) ische (_ =is@ @) isme (_ 'Ism@ @) ist (_ 'Ist + .group j @@ -278,8 +324,13 @@ l) l &) lijk (_S4 l@k &) lijke (_S5 l@k@ + &) lijken (_S6 l@k@n &) laan (_S4 la:n + _) lange (@P5 laN@ @) loog (_ lo:x + @) loos (_S4 lo:s + @) loze (_S4 lo:z@ + @) lozen (_S5 lo:z@n @@ -302,6 +353,10 @@ _) na (C@@P2 n'a: _) na (tion na: + _) na (der na: + _) noord (@P5 no:rd + _) nieuws (@P6 n'iws + @@) nis (_@S3 nIs .group o @@ -315,6 +370,7 @@ oe u oei uj ou VU + ouw VU ou (rage u @@C) o (_ =o: @@ -323,13 +379,15 @@ pr) o (gram o: oo (X 'o: oon 'o:n // in compounds, eg. telefoongesprek + _) oost (@P4 o:st _) op (@@P2 'Op _) open (@P4 'o:p@n _) op (era 'o:p _) op (tion Op ou (che_ u ouch (en_ uS - _) over (@P4 'o:v@r + _) over (@P4 ,o:v@r + t) ou (r u: .group on @@ -337,7 +395,7 @@ _) onder (@P5 'Ond@r _) onge (@P4 ,OnQ@ _) ont (@P3 Ont - _) on (te@P2 On // ontegecht + _) on (te@P2 On // onterecht _) onder Ond@r _) ong (aarn ,OnQ' @@ -363,7 +421,9 @@ _) ph f ph (K f + parach (ut p,a:ra:S _) politie (@ po:l'itsi + @) programma (_S7 o:QrAmma @@ -381,6 +441,8 @@ C) r (A r rr *r + recherch r@SErS + revanch r@vA~nS route rut@ // route(s) .group re @@ -391,11 +453,14 @@ _) re (ceptief re: _) re (clam r@ _) re (serve_ r@ + _) re (cord re' + .group s s s s) s A) s (A z + sc s sch sx sch (_ s sch (e_ s @@ -410,11 +475,13 @@ @) ssi (o S _) standaard (@P9 st'Anda:rt + @) straat (_@S6 stra:t _vre) s (e s .group t t t + td t t) t tie (_ =tsi c) tie (_ =si @@ -425,6 +492,8 @@ tiee (l_ S'e: tië (le_ S'e: @) ti (a S + @) ti (eus S + @) ti (euz S @) ti (ë S @) ti (on S s) t (i++ t @@ -432,36 +501,38 @@ tsj tS _) th t th t - t (haar t // th is not [t] + t (haar t // th is not [t] t (hav t _) toe (@P3 t'u _) team t'i:m team (_ ti:m + touch (e tuS _) train tre:n + _) trans (@P5 tr,Ans .group te - _) tegen (P5 t'e:Q@n - _) terug (P5 t@r'8x + _) tegen (P5 t'e:Q@n' + _) terug (P5 t@r'8x' _) te (gelijkP2 t@ _) te (gemoetP2 t@ _) te (goed t@ - _) te (hui t@ // tehuis + _) te (hui t@ // tehuis _) te (keer t@ _) te (kort t@ _) te (leur t@ _) te (loor t@ _) te (meer t@ - _) te (midd t@ // temidden + _) te (midd t@ // temidden _) te (na t@ _) te (neer t@ _) te (recht t@ - _) te (sam t@ // tesamen + _) te (sam t@ // tesamen _) te (veel t@ _) te (vergeefP2 t@ _) te (voorschijn t@ - _) te (vor t@ // tevoren - _) te (vred t@ // tevreden + _) te (vor t@ // tevoren + _) te (vred t@ // tevreden _) teweeg (P6 t@v#'e:x @@ -475,11 +546,16 @@ uw (_ yU _) uit (@P3 'Wyt + u (re_ 'y + @) ute (_ 'yt .group v v v + _) van (@P3 v%An + _) vanzelf (@P7 vAnz,Elf + _) vang vAN _) ver (@P3 v@r _) ver (sie_ vEr _) verder vErd@r @@ -491,9 +567,11 @@ w (X w w (CK w - _) weg (@P3 v#'Ex - _) weg (en v#e:Q - _) weg (e_ v#e:Q // bewegelijk + _) weg (@P3 v#'Ex + _) weg (en v#e:Q + _) weg (e_ v#e:Q // bewegelijk + _) west (@P4 v#Est + _) wr vr .group x @@ -508,7 +586,8 @@ .group z z z - + zele (_@S4 ze:l@ // common suffix for cities. + _) zuid (@P4 zWyt .group @@ -519,3 +598,4 @@ , (D k'Oma: __) - (_D m'In + diff --git a/dictsource/no_list b/dictsource/no_list index ad271e23..bf083944 100755 --- a/dictsource/no_list +++ b/dictsource/no_list @@ -27,7 +27,7 @@ r E:R s Es t te: v ve: -w d'Ob:e:l,ve: +w d'Ob:El,ve: x Eks z sEt diff --git a/dictsource/ru_rules b/dictsource/ru_rules index 54b2f3e0..b7540100 100755 --- a/dictsource/ru_rules +++ b/dictsource/ru_rules @@ -1,3 +1,4 @@ +//test // Russian translation rules // This file is UTF8 encoded @@ -12,638 +13,683 @@ .group а - _) а (_ a - _) а a - а (_ a - B) а (_ V - а V + _) а (_ a + _) а a + а (_ a + B) а (_ V + а V .group б - _) б (_ bE - б (_ p - б (кь p - б (кY p - б (сь p - б (сY p - б (ть p - б (тY p - б (хь p - б (хY p - б (хкь p - б (хкY p - б (ч p - б (щ p + _) б (_ bE + б (_ p + б (кь p + б (кY p + б (сь p + б (сY p + б (ть p + б (тY p + б (хь p + б (хY p + б (хкь p + б (хкY p + б (ч p + б (щ p - б (ь b; - б (Y b; - б (бь b; - б (бY b; - б (бмь b; - б (бмY b; - б (бвь b; - б (бвY b; - б (мь b; - б (мY b; - б (вY b; - б (вь b; + б (ь b; + б (Y b; + б (бь b; + б (бY b; + б (бмь b; + б (бмY b; + б (бвь b; + б (бвY b; + б (мь b; + б (мY b; + б (вY b; + б (вь b; - б (ь_ p; - б (пь p; - б (пY p; - б (фь p; - б (фY p; - б (ффь p; - б (ффY p; + б (ь_ p; + б (пь p; + б (пY p; + б (фь p; + б (фY p; + б (ффь p; + б (ффY p; - б b + б b .group в - _) в (_ vE - в (_ f - в (кь f - в (кY f - в (сь f - в (сY f - в (ть f - в (тY f - в (хь f - в (хY f - в (хкY f - в (хкь f - в (ч f - в (щ f + _) в (_ vE + в (_ f + в (кь f + в (кY f + в (сь f + в (сY f + в (ть f + в (тY f + в (хь f + в (хY f + в (хкY f + в (хкь f + в (ч f + в (щ f - в (ь v; - в (Y v; - в (бь v; - в (бY v; - в (мь v; - в (мY v; - в (вь v; - в (вY v; - в (вбь v; - в (вбY v; - в (вмь v; - в (вмY v; + в (ь v; + в (Y v; + в (бь v; + в (бY v; + в (мь v; + в (мY v; + в (вь v; + в (вY v; + в (вбь v; + в (вбY v; + в (вмь v; + в (вмY v; - в (ь_ f; - в (п' f; - в (ф' f; + в (ь_ f; + в (п' f; + в (ф' f; - в v + в v .group г - _) г (_ gE - г (_ k - г (кь k - г (кY k - г (пY k - г (пь k - г (сь k - г (сY k - г (ть k - г (тY k - г (фь k - г (фY k - г (ффь k - г (ффY k - г (хь k - г (хY k - г (хкY k - г (хкь k + _) г (_ gE + _мно) г (о_ g + г (к x + + г (_ k + г (пY k + г (пь k + г (сь k + г (сY k + г (ть k + г (тY k + г (фь k + г (фY k + г (ффь k + г (ффY k + г (хь k + г (хY k + г (хкY k + г (хкь k - г (ь g; - г (Y g; + г (ь g; + г (Y g; + + е) г (ося_ v + _се) г (о v + Cе) г (о_ v + Cо) г (о_ v + _мое) г (о_ v +_твое) г (о_ v + _не) г (о_ v + _е) г (о_ v + _все) г (о_ v - г g + г g .group д - _) д (_ dE - д (_ t + _) д (_ dE + д (_ t - д (кь t - д (кY t - д (пь t - д (пY t - д (фь t - д (фY t - д (ффь t - д (ффY t - д (хь t - д (хY t - д (хкY t - д (хкь t - д (щ t + д (кь t + д (кY t + д (пь t + д (пY t + д (фь t + д (фY t + д (ффь t + д (ффY t + д (хь t + д (хY t + д (хкY t + д (хкь t - д (ь d; - д (Y d; - д (дь d; - д (дY d; - д (зь d; - д (зY d; - д (нь d; - д (B d; + д (ь d; + д (Y d; + д (дь d; + д (дY d; + д (зь d; + д (зY d; + д (нь d; + д (B d; - д (ь_ t; - д (ть t; - д (тY t; - д (сь t; - д (сY t; + д (ь_ t; + д (ть t; + д (тY t; + д (сь t; + д (сY t; - д (ш t - д (щ t - - д d + д d .group е - _) е (_ je - _) е jI3 //second position - A) е (_ jI3 //second position - ъ) е (_ jI3 //second position - ь) е (_ jI3 //second position + _) е (_ je + _) е jI3 //second position + A) е (_ jI3 //second position + ъ) е (_ jI3 //second position + ь) е (_ jI3 //second position - A) е jE2 - ъ) е jE2 - ь) е jE2 + инт) е (р E% // интернет, интернационал, ... ?????????? + бакт) е (р E% // бактериальный, антибактериальный, ... + барт) е (р E% + т) е (ст E% +компьют) е (р E% +// A) е jE2 +// ъ) е jE2 +// ь) е jE2 + A) е je + ъ) е je + ь) е je + е e - H) е (_ E# - H) е E2 +// H) е (_ E# +// H) е E2 - е (_ I2 - е E3 +// е (_ I2 +// е E3 .group ж - _) ж (_ ZE - ж (кY S - ж (кь S - ж (пY S - ж (пь S - ж (сь S - ж (сY S - ж (ть S - ж (тY S - ж (фь S - ж (фY S - ж (ффь S - ж (ффY S - ж (хь S - ж (хY S - ж (хкY S - ж (хкь S + _) ж (_ ZE + ж (_ S + ж (кY S + ж (кь S + ж (пY S + ж (пь S + ж (сь S + ж (сY S + ж (ть S + ж (тY S + ж (фь S + ж (фY S + ж (ффь S + ж (ффY S + ж (хь S + ж (хY S + ж (хкY S + ж (хкь S + жч S; - ж Z + ж Z .group з - _) з (_ zE + _) з (_ zE - з (_ s + з (_ s - з (кY s - з (кь s - з (пь s - з (пY s - з (фь s - з (фY s - з (ффь s - з (ффY s - з (хь s - з (хY s - з (хкY s - з (хкь s - з (щ s + з (кY s + з (кь s + з (пь s + з (пY s + з (фь s + з (фY s + з (ффь s + з (ффY s + з (хь s + з (хY s + з (хкY s + з (хкь s + з (щ s - з (ь z; - з (Y z; - з (дь z; - з (дY z; - з (зь z; - з (зY z; - з (здь z; - з (здY z; - з (знь z; - з (знY z; - з (знB z; - з (нь z; - з (нY z; - з (нB z; + з (ь z; + з (Y z; + з (дь z; + з (дY z; + з (зь z; + з (зY z; + з (здь z; + з (здY z; + з (знь z; + з (знY z; + з (знB z; + з (нь z; + з (нY z; + з (нB z; - з (зь_ s; - з (зY_ s; - з (здь_ s; - з (здY_ s; - з (знь_ s; - з (знY_ s; - з (знB_ s; - з (ть s; - з (тY s; - з (сь s; - з (сY s; + з (зь_ s; + з (зY_ s; + з (здь_ s; + з (здY_ s; + з (знь_ s; + з (знY_ s; + з (знB_ s; + з (ть s; + з (тY s; + з (сь s; + з (сY s; - з (ж Z - з (ш S - з (щ s;s; - з (ч s;s; - з z + з (ж Z + з (ш S + зщ S; + зч S; + з z .group и - _) и (_ i - _) и I - и (_ I - и I# - H) и y // preceded by hard consonant + _) и (_ i + _) и I + и (_ I + и i + ж) и y + ш) и y + H) и y // preceded by hard consonant .group й - _) й (_ ,i'k@-*'AtkOjI - й j + _) й (_ ,i'k@-*'AtkOjI + й j .group к - _) к (_ kA - к (б g - к (бь g - к (бY g - к (г g - к (гь g - к (гY g - к (д g - к (дь g - к (дY g - к (дB g - к (ж g - к (з g - к (зь g - к (зY g + _) к (_ kA + к (б g + к (бь g + к (бY g + к (г g + к (гь g + к (гY g + к (д g + к (дь g + к (дY g + к (дB g + к (ж g + к (з g + к (зь g + к (зY g - к (ь k; - к (Y k; + к (ь k; + к (Y k; - к k + к k .group л - _) л (_ El^ - л (Y l^ - л l + _) л (_ El^ + л (Y l^ + л l .group м - _) м (_ Em - м (ь m;I^ - м (Y m; - м (бь m; - м (бY m; - м (пY m; - м (пь m; - м (вь m; - м (вY m; - м (фь m; - м (фY m; - м (ффь m; - м (ффY m; - - м m + _) м (_ Em + м (ь m; + м (Y m; + м (бь m; + м (бY m; + м (пY m; + м (пь m; + м (вь m; + м (вY m; + м (фь m; + м (фY m; + м (ффь m; + м (ффY m; + + м m .group н - _) н (_ En - н (ь n^ - н (Y n; - н (B n^ - н (дь n^ - н (дY n^ - н (дB n^ - н (ть n^ - н (тY n^ - н (зь n^ - н (зY n^ - н (сь n^ - н (сY n^ - н (нь n^ - н (нY n^ - н (нB n^ + _) н (_ En_ + // н (ь n# ? + // н (Y n# ? +// н (B n^ +// н (дь n^ +// н (дY n^ +// н (дB n^ +// н (ть n^ +// н (тY n^ +// н (зь n^ +// н (зY n^ +// н (сь n^ +// н (сY n^ +// н (нь n^ +// н (нY n^ +// н (нB n^ + н (_ n_ - н n + биз) не (с nE% + + н n .group о - о o - о (B oj - о (FY oj + о o +// о (B oj +// о (FY oj .group п - _) п (_ pE - п (б b - п (г b - п (гY b - п (гь b - п (д b - п (дь b - п (дY b - п (дB b - п (ж b - п (з b - п (зь b - п (зY b + _) п (_ pE + п (б b + п (г b + п (гY b + п (гь b + п (д b + п (дь b + п (дY b + п (дB b + п (ж b + п (з b + п (зь b + п (зY b - п (ь p; - п (Y p; - п (пь p; - п (пY p; - п (пфь p; - п (пфY p; - п (пмь p; - п (пмY p; - п (фь p; - п (фY p; - п (ффь p; - п (ффY p; - п (мь p; - п (мY p; + п (ь p; + п (Y p; + п (пь p; + п (пY p; + п (пфь p; + п (пфY p; + п (пмь p; + п (пмY p; + п (фь p; + п (фY p; + п (ффь p; + п (ффY p; + п (мь p; + п (мY p; - п (б' b; - - п p + п (б' b; + + п p .group р - _) р (_ E* - р (ь RI^ - р (Y R; - р (B R; - р R + _) р (_ Er + р (ь rI^ + р (Y r; + р (B r; + р r .group с - _) с (_ Es - - с (б z - с (г z - с (д z - с (ж z - с (з z + _) с (_ Es - с (ь s; - с (Y s; - с (ть s; - с (тY s; - с (сь s; - с (сY s; - с (нь s; - с (нY s; - с (нB s; + с (б z + с (г z + с (д z + с (ж z + с (з z - с (зь z; - с (зY z; - с (дь z; - с (дY z; - с (дB z; + с (ь s; + с (Y s; + с (ть s + с (тY s; + с (сь s; + с (сY s; + с (нь s; + с (нY s; + с (нB s; - с (ж Z - с (ш S - с (щ s;s; - с (ч s;s; + с (зь z; + с (зY z; + с (дь z; + с (дY z; + с (дB z; - с s + с (ж Z + с (ш S + с (щ s;s; + сч S; + + с s .group т - _) т (_ tE + _) т (_ tE - т (б d - т (г d - т (д d - т (ж d - т (з d + т (б d + т (г d + т (д d + т (ж d + т (з d - т (ь t; - т (Y t; - т (ть t; - т (тY t; - т (сь t; - т (сY t; - т (нь t; - т (нY t; - т (нB t; + т (ь t; + т (Y t; + т (ть t; + т (тY t; + т (сь t; + т (сY t; + т (нь t; + т (нY t; + т (нB t; - т (зь d; - т (зY d; - т (дь d; - т (дY d; - т (дB d; + т (зь d; + т (зY d; + т (дь d; + т (дY d; + т (дB d; - т (ж d - - т t + т (ж d + Y) тс ts + + т t .group у - _) у (_ u - B) у u# - у u + _) у (_ u + B) у u# + у u .group ф - _) ф (_ Ef - ф (б v - ф (г v - ф (гь v - ф (гY v - ф (д v - ф (дь v - ф (дY v - ф (дB v - ф (ж v - ф (з v - ф (зь v - ф (зY v + _) ф (_ Ef + ф (б v + ф (г v + ф (гь v + ф (гY v + ф (д v + ф (дь v + ф (дY v + ф (дB v + ф (ж v + ф (з v + ф (зь v + ф (зY v - ф (ь f; - ф (Y f; - ф (пь f; - ф (пY f; - ф (пфь f; - ф (пфY f; - ф (пмь f; - ф (пмY f; - ф (фY f; - ф (фь f; - ф (мь f; - ф (мY f; + ф (ь f; + ф (Y f; + ф (пь f; + ф (пY f; + ф (пфь f; + ф (пфY f; + ф (пмь f; + ф (пмY f; + ф (фY f; + ф (фь f; + ф (мь f; + ф (мY f; - ф (б' v; - - ф f + ф (б' v; + + ф f .group х - _) х (_ xA - х (б x - х (бь x - х (бY x - х (бмь x - х (бмY x - х (бвь x - х (бвY x - х (г x - х (гь x - х (гY x - х (д x - х (дь x - х (дY x - х (дB x - х (ж x - х (з x - х (зь x - х (зY x - х (_бы x + _) х (_ xA + х (б x + х (бь x + х (бY x + х (бмь x + х (бмY x + х (бвь x + х (бвY x + х (г x + х (гь x + х (гY x + х (д x + х (дь x + х (дY x + х (дB x + х (ж x + х (з x + х (зь x + х (зY x + х (_бы x - х (ь x//С надо сделать эту фонему - х (Y x//С - х (кь x//С - х (кY x//С + х (ь x//С надо сделать эту фонему + х (Y x//С + х (кь x//С + х (кY x//С - х x + х x .group ц - _) ц (_ tsE - ц (б dz - ц (бь dz - ц (бY dz - ц (бмь dz - ц (бмY dz - ц (бвь dz - ц (бвY dz - ц (г dz - ц (гь dz - ц (гY dz - ц (д dz - ц (дь dz - ц (дY dz - ц (дB dz - ц (ж dz - ц (з dz - ц (зь dz - ц (зY dz - - ц ts + _) ц (_ tsE + ц (б dz + ц (бь dz + ц (бY dz + ц (бмь dz + ц (бмY dz + ц (бвь dz + ц (бвY dz + ц (г dz + ц (гь dz + ц (гY dz + ц (д dz + ц (дь dz + ц (дY dz + ц (дB dz + ц (ж dz + ц (з dz + ц (зь dz + ц (зY dz + + ц ts .group ч - _) ч (_ tS;e - ч (б dZ; - ч (бь dZ; - ч (бY dZ; - ч (бмь dZ; - ч (бмY dZ; - ч (бвь dZ; - ч (бвY dZ; - ч (г dZ; - ч (гь dZ; - ч (гY dZ; - ч (д dZ; - ч (дь dZ; - ч (дY dZ; - ч (дB dZ; - ч (ж dZ; - ч (з dZ; - ч (зь dZ; - ч (зY dZ; + _) ч (_ tS;e + ч (б dZ; + ч (бь dZ; + ч (бY dZ; + ч (бмь dZ; + ч (бмY dZ; + ч (бвь dZ; + ч (бвY dZ; + ч (г dZ; + ч (гь dZ; + ч (гY dZ; + ч (д dZ; + ч (дь dZ; + ч (дY dZ; + ч (дB dZ; + ч (ж dZ; + ч (з dZ; + ч (зь dZ; + ч (зY dZ; + + лу) ч (ше t - ч tS; +//Варианты окончаний женских отчеств типа Никитична + ч (на_ S + ч (ну_ S + ч (не_ S + ч (ны_ S + ч (ной_ S + коне) ч (но S + ску) ч (н S + яи) ч (ни S +пустя) ч (н S +скворе)ч (н S + деви) ч (н S + _) ч (то S + + ч tS; .group ш - _) ш (_ SA - ш (б Z - ш (бь Z - ш (бY Z - ш (бмь Z - ш (бмY Z - ш (бвь Z - ш (бвY Z - ш (г Z - ш (гь Z - ш (гY Z - ш (д Z - ш (дь Z - ш (дY Z - ш (дB Z - ш (ж Z - ш (з Z - ш (зь Z - ш (зY Z - - ш S + _) ш (_ SA + ш (б Z + ш (бь Z + ш (бY Z + ш (бмь Z + ш (бмY Z + ш (бвь Z + ш (бвY Z + ш (г Z + ш (гь Z + ш (гY Z + ш (д Z + ш (дь Z + ш (дY Z + ш (дB Z + ш (ж Z + ш (з Z + ш (зь Z + ш (зY Z + + ш S .group щ - _) щ (_ S;ja - щ (б Z; - щ (бь Z; - щ (бY Z; - щ (бмь Z; - щ (бмY Z; - щ (бвь Z; - щ (бвY Z; - щ (г Z; - щ (гь Z; - щ (гY Z; - щ (д Z; - щ (дь Z; - щ (дY Z; - щ (дB Z; - щ (ж Z; - щ (з Z; - щ (зь Z; - щ (зY Z; - - щ S; + _) щ (_ S;ja + щ (б Z; + щ (бь Z; + щ (бY Z; + щ (бмь Z; + щ (бмY Z; + щ (бвь Z; + щ (бвY Z; + щ (г Z; + щ (гь Z; + щ (гY Z; + щ (д Z; + щ (дь Z; + щ (дY Z; + щ (дB Z; + щ (ж Z; + щ (з Z; + щ (зь Z; + щ (зY Z; + + щ S; .group ъ - _) ъ (_ tv;'8@-*dyjzn'Ak - ъ (Y j - ъ + _) ъ (_ tv;'8@-*dyjzn'Ak + ъ (Y j +ъ .group ы - _) ы (_ y - ы y + _) ы (_ y + ы y .group ь - _) ь (_ m;'jak;I#jzn'Ak - ь - ь (Y j + _) ь (_ m;'jak;I#jzn'Ak +ь + ь (Y j .group э - _) э (_ e - _) э E# - э (_ E# - э E2 + _) э (_ e + _) э E# + э (_ E# + э E2 .group ю - _) ю (_ ju - ю u" - _) ю ju - ь) ю ju - ъ) ю ju - A) ю ju + _) ю (_ ju + ю u" + _) ю ju + ь) ю ju + ъ) ю ju + A) ю ju + следу) ю (щ .group я - _) я (_ ja - _) я jV //second position - A) я (_ jV //second position - ъ) я (_ jV //second position - ь) я (_ jV //second position +.. TODO: in unstressed position it sometimes sounds more like [i] than like [V] + _) я (_ ja + _) я ja //second position + A) я (_ ja //second position + ъ) я (_ ja //second position + ь) я (_ ja //second position - A) я jV - ъ) я jV - ь) я jV - я (_ V# - я I3 + A) я ja + ъ) я ja + ь) я ja + // C) я ja# ? + + я (_ V + я V .group ё - _) ё (_ j8 - _) ё j8 - ж) ё O - ш) ё O - ё 8 + _) ё (_ j8 + _) ё 'j8 + ж) ё 'O + ш) ё 'O + ё '8 // If we find a Latin letter a-z, then translate as English // (This is now done automatically by the eSpeak program) .group - $ dolar + $ dolar + diff --git a/dictsource/ta_list b/dictsource/ta_list index be434042..478b36ed 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -27,8 +27,8 @@ ஷ் is. ஸ் is ஹ் iC -U+b82 anUsvVRV -ஃ agH +U+b82 VnUsvVRV +ஃ VgH U+bcd ot.RU ஏ je: @@ -57,7 +57,7 @@ e i: f Ef g dZi: h e:tS -i a:I +i a:j j dZe:j k ke:j l El @@ -183,6 +183,8 @@ _1M3 orUko:d.ie: _dpt _pul.l.i + + // English words tamil தமிழ் $text @@ -248,7 +250,6 @@ tamil தமிழ் $text பாவ்லா $alt பீச்சில் $alt பீல் fi:l -பலத்தால் $alt புக் $alt பீர் $alt போயிங் $alt @@ -286,6 +287,10 @@ tamil தமிழ் $text பவுத்த $alt பவுத்தம் $alt பிட் $alt +பீடிக் $alt +பீச் $alt +பைக்குல $alt +ப்ராண்ட் $alt (பி . ஏ) bije: @@ -341,9 +346,10 @@ tamil தமிழ் $text தாவே $alt தருமமும் $alt தராவி $alt -தேவநேய $alt -தங்கர் $alt தவக் $alt +களில் $alt +தடிக்க $alt +தின $alt // initial ட @@ -366,7 +372,8 @@ tamil தமிழ் $text ரெட்டி red.d.i செல்லம் $alt சிக்கன் $alt - +சாரு $alt +பிரசார் prVsa:r கக $alt // initial க as [g] கனம் $alt @@ -408,6 +415,12 @@ tamil தமிழ் $text கேட்டின் $alt கேட்டுக்கு $alt கம்முனு $alt +களுக்கு $alt +குண $alt +குண்டான $alt +கன $alt +களிலும் $alt +கடம் $alt diff --git a/dictsource/ta_rules b/dictsource/ta_rules index b747d837..925f0420 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -55,6 +55,16 @@ // alternative 's' characters .L04 ச ஸ +// alternative 'r' characters +.L05 ர ற + +// H or g +.L06 க ஹ + +// words before "bottle" +.L10 பீர் கலர் சாராய சோடா தண்ணி தண்ணீர் பிராந்தி வாட்டர் விஸ்கி + + // consonants .group க @@ -81,10 +91,14 @@ க (ஜ gV //sort + _) க (ங்கா gV _) க (ங்காரு kV _) க (ங்கை gV _) க (டகட gV + _) க (டத்தில gV + _) க (டத்துக்க gV + _) க (டத்தை gV _) க (டப்பாரை gV _) க (டிகார gV _) க (டோத்கஜ gV @@ -93,6 +107,7 @@ _) க (ணே gV _) க (ண்டங் gV _) க (ண்டங்கத்த kV + _) க (ண்டத்த gV _) க (தாயுத gV _) க (திகலங் gV _) க (திக் gV @@ -104,18 +119,22 @@ _) க (ந்தர்வ gV _) க (னத் gV _) க (னம gV + _) கப் (L04ா gVp _) கப்ச (ிப் gVptS _) க (ப்பெ gV _) க (ப்பென்ர gV _) க (மகம gV _) க (மவென்ற gV _) க (ம்பீர gV + _) க (யாவ gV + _) க (ராஜ gV _) க (ருட gV _) க (ர்ஜ gV _) க (ர்ப gV _) க (ர்வ gV _) க (லாட்டா gV _) க (லீர gV + _) க (லீல gV _) க (வண gV _) க (வன gV _) க (வர்னர gV @@ -132,9 +151,11 @@ _) க (ானத்த g _) க (ானம g _) க (ானவித்தை g + _) க (ானா g க (ாரன k க (ாரர k _) க (ிடுகிடு g + _) க (ின்னஸ g _) க (ின்னென்ற g _) கி (ரக g _) கி (ரகண g @@ -147,17 +168,34 @@ _) கி (ரிகோரிய g _) க (ிரிஜா g _) க (ிரிதர g + _) கிரிஸ்டோப (ர krist.o:fV _) கி (ரீட k _) கி (ரீன்லாந்த g _) கி (ரீம k + _) க (ிரீஷ g _) க (ிருகஸ்தர g + _) க (ிருகிரு g _) க (ிருஹஸ்தர g _) கி (ரேக்க g + _) கி (ரேய k _) கி (ரைண்டர g _) கி (ரௌண்ட g + _) கி (ளப்_ k + _) கிளப்ப (ில kl.Vbb + _) கிளப்ப (ுக் kl.Vbb + _) கிளப்ப (ை kl.Vbb _) கி (ளாஸ g + _) கிளிட kl.it.V# _) கி (ளினிக் k - _) கிளியோப (ாட்ரா klijo:p + _) கிளிப் (_ kl.ip + _) கி (ளிப்பில k + _) கி (ளிப்பை k + _) கிளிப் (ல kl.ip + _) கி (ளியர k + _) கிளியோபாட் (ரா klijo:pa:t + _) கி (ளீன k + _) கி (ளேச k + _) கி (ளௌ k _) க (ீதல k _) க (ீத்த k _) க (ுகநாத g @@ -169,14 +207,19 @@ _) க (ுடியாத்த g _) க (ுடுகுடு g _) க (ுணங் g + _) குணச (ித்திர gun.VtS _) க (ுணசீல g _) க (ுணசேகர g + _) க (ுணச் g _) க (ுணத் g _) க (ுணநல g + _) க (ுணபர g _) க (ுணப்பட g _) க (ுணம g + _) க (ுணவதி g _) க (ுணவான g _) க (ுணாதிசய g + _) க (ுணாளன g _) க (ுண்டடி g _) க (ுண்டன g _) க (ுண்டம்மா g @@ -203,6 +246,7 @@ _) க (ும்மெ g _) க (ுருக்கள g _) க (ுருக்குல g + _) க (ுருசாமி g _) க (ுருதேவ g _) க (ுருநா g _) க (ுருபூஜை g @@ -217,7 +261,9 @@ _) க (ுருவுடை g _) க (ுருவை g _) க (ுருவோட g - _) குவாலிட(ி kva:lit. + _) க (ுவஹாத்தி g + _) குவாலிட(ி kwa:lit. + _) குவ (ாலிபிகேஷன kw _) கு (வாலியர g _) க (ுஸ்தி g _) க (ூகிள g @@ -226,11 +272,17 @@ _) கூர்க (ா gu:rk _) க (ூர்க்கர g _) க (ூர்க்கா g + _) க (ெஜ g _) க (ெட்டி g + _) க (ெட்டிக்க_ k + _) க (ெட்டிக்கனும k + _) க (ெட்டிக்கி k _) க (ெட்டிரு k _) க (ெத் g - _) கெள gaU - _) கெள (ம்ப kel.V + _) கெள (தம gaU + _) கெள (ரவ gaU + _) கெள (ரி gaU + _) க (ெஸ்ட g _) க (ேட்டண்டை g _) க (ேட்டிலிருந்த g _) க (ேட்டுக்குப் g @@ -238,8 +290,12 @@ _) க (ேட்டைத் g _) க (ேட்டைப் g _) க (ேலி g + _) க (ொணத் g + _) க (ொணம g + _) க (ொரில g _) கோக (ிலா go:k _) க (ோகுல g + _) கோட்ச (ே go:d.s _) க (ோதாவரி g _) க (ோதுமை g _) க (ோத்திரங் g @@ -250,6 +306,7 @@ _) க (ோந்து g _) க (ோபப் k கோப (ால go:p + _) கோப (ிகா+ go:p _) க (ோபிகை g _) க (ோபிசெட் g _) கோப (ித்து ko:b @@ -257,6 +314,8 @@ _) க (ோபிய g _) க (ோபுர g _) க (ோமதி g + _) க (ோமாதா g + _) க (ோமிய g _) க (ோயல g _) க (ோர_ g _) க (ோர_மாட்ட k @@ -274,17 +333,23 @@ _) க (ோவிந்த g _) க (ோஷ g _) க (ௌ g + _) கௌசிக kaUsikV# _) கௌட (ில்ய kaUt. _) க (ௌட்டில்ய k _) க (ௌவ k _) க் (ரவுண்ட g _) க் (ரிகோரிய g + _) க்ரிஸ்டோப (ர krist.o:fV _) க் (ரூப g _) க் (ரௌண்ட g + _) க்வ (A kw _) க் (வாலியர g //endsort //sort + _கோபி) க kV# + _ஸ்டா) க kV# +_வெங்) கட kVt.V# அலை) க (டல kV சமையல்) க (ட் kV உச்ச) க (ட்ட kV @@ -299,6 +364,7 @@ கொல்) க (த்தா kV மோ) க (ன HV _லிங்) க (ன kV +_தலைக்) க (ன gV _வீண்) க (னவ kV _வெல்) க (ம kV தின) க (ர kV @@ -311,10 +377,20 @@ அசௌ) க (ரிய kV சுதா) க (ர்_ kV விஸ்வ) க (ர்மா kV + _விண்) க (ற் kV + _மெடி) க (ல kV +_ப்ராக்டி) க (ல kV சகல) க (லா kV + _சசி) க (லா kV + _சத்ய) க (லா kV +_சத்திய) க (லா kV +_சந்திர) க (லா kV +_சித்திர) க (லா kV +_சூரிய) க (லா kV _ஜீவ) க (லை kV பஞ்ச) க (ல்யாண kV _ரண) க (ள kV + _விண்) க (ள kV வீண்) க (வலை kV மகா) க (வி kV மஹா) க (வி kV @@ -325,12 +401,27 @@ வீண்) க (ஷ்ட kV ம) க (ா H _தாலு) க (ா k + _ராதி) க (ா k + _லங்) க (ா k இலா) க (ா k + _கீர்த்தி) க (ா k _தாலூ) க (ா k + _தேவி) க (ா k + _யுரே) க (ா k + _ரேணு) க (ா k +_கார்த்தி) க (ா k +_கிருத்தி) க (ா k +_சந்திரி) க (ா k +_மாளவி) க (ா k +_மோனி) க (ா k +_மௌனி) க (ா k +_ஹன்L04ி) க (ா k _ஹாங்) க (ாங் k _தென்) க (ாசி k _நேர்) க (ாணல k _கண்) க (ாணா k + _ராம) க (ாதை k + இராம) க (ாதை k விவே) க (ானந்த k _வலை) க (ாப் k தொல்) க (ாப்பி k @@ -342,6 +433,7 @@ _சமையல்) க (ாரி k _சம) க (ால k அந்திம) க (ால k கோயில்) க (ாளை k + ஆ) க (ாஷ k _கல்) க (ி k வால்மீ) க (ி k _ம) க (ிந்த H @@ -362,14 +454,22 @@ _சமையல்) க (ாரி k மலைக்) க (ுகை g _பால்) க (ுட k _வளை) க (ுட k + _பரம) க (ுடி k + _பரம) கு (டி ku2 + அரிய) க (ுடி k ஆதி) க (ுடி k _பூர்வ) க (ுடி k _மூத்த) க (ுடி k + அரிய) கு (டி ku2 // Don't change to [U] மன்னார்) கு (டி ku2 நற்) க (ுண g _சற்) க (ுண g + ஏறிக்) க (ுதி g +_கண்ணியா) க (ுமரி k க (ுமார k +_டா) குமெண்ட kUmen.tV# அழு) க (ுரல k + _மெர்) க (ுரி k _) கு (ரோத k L03து) க (ுறித்த k அரை) க (ுறை k @@ -385,6 +485,8 @@ _சமையல்) க (ாரி k ம) க (ேசுவர H // need to restrict to _ம) and _வீரம) ?? சீர்) க (ேட k ம) க (ேந்திர H + _ரா) க (ேஷ k + _மு) க (ேஷ k ம) க (ேஷ்வ H ம) க (ேஸ்வர H அங்) க (ொ g @@ -392,6 +494,8 @@ _சமையல்) க (ாரி k _செடி) க (ொடி k க (ொண்ட k க (ொள் k + _வை) க (ோ k + _ஷி) க (ோ k யூனி) க (ோட k அஷ்ட) க (ோணல k வீண்) க (ோப k @@ -399,13 +503,17 @@ _சமையல்) க (ாரி k _ட) க் k _மை) க் k _ஷா) க் (_ k +_விவே) க் (_ k துர்) க்க ggV# மார்) க்க ggV# மூர்) க்க ggV# _வர்) க்க ggV# _சொர்) க்க ggV# _ஸ்வர்) க்க ggV# + _கை) க்க (டிகார kgV +_துணை) க்க (ண்ட ggV நிர்) க்க (தி ggV + _தீர்) க்க (மாக ggV தீர்) க்க (ாலோசநை gg _ல) க்க (ின gg _வி) க்க (ினம்_ gg @@ -427,20 +535,30 @@ _கவிதா) க்க (ினி gg இ) க்கி (ராம gg _மு) க்க (ுண gg அணு) க்க (ுண்ட gg +_துப்பாக்கி) க்க (ுண்ட gg ஜன) க்க (ும்பல gg + _ல) க்க (ேஜ gg _வி) க்ச (னரி ks.V _பி) க்ச (ர ktSV _மெ) க்சிக (ோ ksik க்ட kt.V# // English words + எல) க்டி (ரானிக் kt. _எல) க்டிரானிக் (ஸ kt.ira:nik + எ) க்ட (ே gd. + _ஹெ) க்ட (ே gd. அ) க (்டோபர k வி) க்ட (ோரியா kt. // victoria + க்ட் kt. // English words _எலெ) க்ட்ரிக (ல kt.rikV + _ல) க் (னோ k _ரு) க் (மணி k _சௌ) க் (ய k அசௌ) க் (ய k + _செ) க்யூரிட (ி kjU:rit. + _ச) க்ரப (ாணி krVp வி) க (்ரம k ஆ) க (்ரோஷ k + _பை) க் (ல_ k என்சை) க்லோப (ீடியா klo:p க் (ஸ k _மெ) க்ஸிக (ோ ksik @@ -494,8 +612,10 @@ _கவிதா) க்க (ினி gg _ஹட்) ச (ன sV _வாட்) ச (ன sV _) ச (ப்பாத்தி tSV + _டின்) ச (ர tSV _) சரசு (வதி sVrVs _) சர்ச (ி tSVrtS + _) ச (ர்ச்சில tSV மருதா) ச (ல tSV வேதா) ச (ல tSV _சேஷா) ச (ல tSV @@ -503,10 +623,13 @@ _தணிகா) ச (ல tSV அருணா) ச (ல tSV வெங்கடா) ச (ல tSV வேங்கடா) ச (ல tSV + _) சாக்ப (ீL04 tSa:kp + _) சாக்லேட் tSa:kle:t. _) ச (ாணக்கிய tS ச (ாந்தி s. _தே) ச (ாந்திர s _) ச (ான்ஸ tS + _) சாப் (ளின tSa:p _) ச (ாமுண்ட tS _) ச (ாய்ஸ tS அப) ச (ார tS @@ -514,10 +637,17 @@ _தணிகா) ச (ல tSV கலா) ச (ார tS சமா) ச (ார tS விப) ச (ார tS + _கிரL06) ச (ார tS ராஜோப) ச (ார tS + ஆ) ச (ார_ tS + ஆ) ச (ாரத் tS + ஆ) ச (ாரம tS + _) சாருலத (ா tSa:rUlVt + _) ச (ாருவ tS _) ச (ார்ஜை tS _) ச (ார்ஜ்_ tS _) ச (ார்லஸ tS + _) ச (ார்லி tS _) ச (ாளுக்கிய tS _) சிக (ாகோ tSik _) ச (ிக்கனு tS @@ -548,9 +678,12 @@ _தணிகா) ச (ல tSV _) ச (ிப்பை tS _) ச (ிப்ஸ tS சி (ரம s + _) சி (ரார்த்த s _) சிரு (ஷ்டி sri _) ச (ிற்றம்பல tS _) ச (ிலிய tS + _) ச (ில்L05 tS + _) ச (ில்லL05ை tS _சு) ச (ீந்திர tS _) ச (ீன_ tS _) ச (ீனத்து tS @@ -576,21 +709,33 @@ _தணிகா) ச (ல tSV _) சுவாரசி (ய sva:rVs சு (வாரஸ்ய s _) சு (விட்ச s + _) சு (வீட s + _) செக் (_ tSek + _) ச (ெக்கோL04 tS + _) செச (னியா tSetSV + _) செச (ன்யா tSetSV + _) செச் (னியா tSetS _) ச (ெட்டிப்பாளைய tS _) ச (ெட்டியார tS ச (ெண்பக s. _) ச (ென்னி tS _) ச (ென்னை tS + _) ச (ெயின tS + _) செயின்ட sejint.V# + _) ச (ெய்ன tS + _) செய்ன்ட sejnt.V# _) ச (ெல்லக்குட்டி tS _) ச (ெல்லத்துக்கு tS _) ச (ெல்லத்தை tS _) ச (ெல்லப்ப tS _) ச (ெல்லமா tS _) ச (ெஸ் tS - _கோட்) ச (ே s + _) ச (ேஞ்ச tS _) ச (ேனல tS _) ச (ேரி tS + _) ச (ேர்மேன tS _) ச (ேலஞ் tS + _) ச (ேஷ்டை tS _) ச (ைனாவ tS _) ச (ைனீஸ tS _) ச (ௌதரி tS @@ -602,6 +747,8 @@ _தணிகா) ச (ல tSV ஜ dZV ஜ (B dZ _) ஜு (வால dZ + _டின்) ஜ (ர tSV + .group ஞ ஞ n^V @@ -622,33 +769,56 @@ _தணிகா) ச (ல tSV //sort +_கமெண்) ட t.V# +_ரிப்போர்) ட t.V# +அL04ால்) ட t.V# அர்ஜண்) ட t.V# அர்ஜெண்) ட t.V# +இண்டர்மீடியே) ட t.V# + _) ட (க்கர t.V + ங்) ட (ன t.V // -ington _மில்) ட (ன t.V _) ட (ன் t.V - ங்) ட (ன் t.V // -ington + _) ட (ப்_ t.V + _) டப்ப (ில t.Vbb _) ட (ம்ப்லர t.V _) ட (ம்ப்ளர t.V + _) ட (ம்ளர t.V _) ட (யரில t.V _) ட (யரு t.V _) ட (யர் t.V + _ப்ரிண்) ட (ர t.V _ஸ்கூ) ட (ர t.V என்கவுண்) ட (ர t.V என்கௌண்) ட (ர t.V + சானி) ட (ரி t.V + _மில) ட (ரி t.V + _மிலி) ட (ரி t.V + இண்) ட (ர் t.V + எண்) டர்பி (ரைL04 t.Vrp + _மெண்) ட (ல t.V _) ட (வர t.V _) ட (வல t.V _) ட (வுன t.V ஸ்டே) ட (ஸ t.V + அல்) ட (ா t. + உல்) ட (ா t. + _மால்) ட (ா t. + _) டாக் (_ t.a:k _) ட (ாக்க t. // talkies _) டாக்ட (ர d.a:kt.V _) டாக (்ஸி t.a:k _) டாங்க (ர t.a:NkV _) டாங்க (ி t.a:Nk _) டாட (ா t.a:t. + _) ட (ான்சானிய t. + _) ட (ான்ஜானிய t. அண்) டார்டிக t.a:rt.ikV# _) ட (ாலமி t. _) ட (ால்ஸ்டாய t. + _) ட (ாஸ்மாக் t. _டியூ) ட (ி t. + _ட்யூ) ட (ி t. _ராயல்) ட (ி t. _க்வாலி) ட (ி t. _நாவல்) ட (ி t. @@ -657,41 +827,86 @@ _நாவல்) ட (ி t. _போர்) ட (ிகோ t. ஆர்) டிக் t.ik _) ட (ிக்க t. + _மார்) ட (ின t. + காண்) டினெண்ட (ல t.inen.t.V + கான்) டினென்ட (ல t.inent.V + _) ட (ின் t. _) டின்க (ரிங் t.inkV + _சர்) டிபிகேட t.ifige:t.V# + _) ட (ிப்ஸ t. _) டி (யூசன t. + _) டியூட (ி d.jU:t. _) டி (யூஷன t. + _) டி (ரங் t. _) டி (ரங்கு t. + _) டிரம்பெட் t.rVmpet. _) டிர (ஸ d.re + _) டிர (ஸ்ட t.rV _) டிராஃபிக் t.ra:fik - _) டிராக்ட (ர t.ira:gt.V + _) டிராக் t.ra:k + _காண்) டி (ராக்டர t. + _) டி (ராஜ t. _) டி (ரான்சிஸ்டர t. + _) டி (ரான்ஸ்ஃபர t. + _) டிரான்ஸ்ப (ர t.ra:nsfV + _) டி (ரான்ஸ்பாண்டர t. + _) டிரான்ஸ்பிரண்ட t.ra:nspirVn.t.V# + _) டி (ரான்ஸ்மீட்டர t. + _) டி (ரான்ஸ்லே t. + _) டி (ரான்ஸ்வேல t. _) டிராபிக் t.ra:fik _) ட (ிராம t. கொலஸ்) டி (ரால _|t. _) டி (ராலி t. _) டி (ராவல t. _) டி (ராவெல t. + _) டிரிக (ர t.riggV + _) டிரிக்க (ர t.riggV + _) டி (ரிம் t. _) டிரெயி(லர t.rej _) டி (ரெயின t. _) டி (ரெய்லர t. _) டி (ரெஸ d. _) டிரேயின (ை t.re:jn - _) ட (ிரை_செஞ்ச t. - _) ட (ிரை_செய்ய t. - _) ட (ிரை_பண்ண t. - _) டி (ரைவர d. + _) டி (ரை_ d. + _) டி (ரை_செஞ்ச t. + _) டி (ரை_செய் t. + _) டி (ரை_பண் t. + _) டி (ரைவ d. கண்) டி (ரோல t. + _) ட (ிவிக t. _) ட (ிவிய t. + _) ட (ிவில t. + _) ட (ுனிசியா t. + _) ட (ுனிஸ t. + _) ட (ுனீL04 t. + _) ட (ுனீஷிய t. + _கார்) ட (ூன t. + _) ட (ூர t. + _) டெக் (னாலஜி t.ek + _) டெக்னிக (ல t.eknikV _) ட (ெக்ஸாஸ t. + _) ட (ெண்டுல்கர t. _) டென்டுல்க (ர t.ent.UlkV +_டேபிள்_) ட (ென்னிஸ t. +_லான்_) ட (ென்னிஸ t. + _) ட (ென்னிஸ்_கோர்ட t. + _) ட (ென்னிஸ்_பந்த t. + _) ட (ென்னிஸ்_மேச் t. _) ட (ென்ஷன t. _) டெம்ப (ர t.empV _) டெம்ப (ோ t.emp + _) டெலஸ்கோப் t.elVsko:p + _) ட (ெலிஃபோன t. + _) டெலிகீ (ராம t.elig + _) டெலிபத (ி t.elipVt + _) டெலிபிரிண்ட (ர t.eliprint.V டெலிப (ோன t.elif _) ட (ெலிவிஷன t. _) ட (ெல்_அவீவ t. // tel aviv _) டெஸ்ட t.est.V# - _) ட (ேக் t. + _வெஜி) ட (ே t. + _) டேக் t.e:k _) டேங்க (ர t.e:NkV _) ட (ேப t. _) ட (ேஸ்ட t. @@ -702,23 +917,64 @@ _நாவல்) ட (ி t. _) ட (ோக்கியோ t. _) டோரண்ட (ோ t.o:rVn.t. _ப்ரி) ட (ோரிய t. +இண்டர்நெ) ட் t. _ல) ட்ட d.d.V# _ரெ) ட்ட (ியா d.d. இ) ட்ட (ிலி d.d. +அப்பாயிண்) ட்மெண்ட t.men.t.V# ஸ்) ட் (ர _|t. // ?? make t. distinct + _) ட் (ரங் t. _) ட் (ரங்கு t. + _) ட்ரம்பெட் t.rVmpet. + _) ட் (ரஸ்ட t. + _த) ட் (ரா t. + _நீ) ட் (ரா t. + ஆ) ட் (ரா t. _) ட்ராஃபிக் t.ra:fik + _) ட்ராக் t.ra:k + _காண்) ட் (ராக்டர t. + _) ட் (ராஜ t. _) ட (்ரான்சிஸ்டர t. + _) ட் (ரான்ஸ்ஃபர t. + _) ட்ரான்ஸ்ப (ர t.ra:nsfV + _) ட் (ரான்ஸ்பாண்டர t. + _) ட்ரான்ஸ்பிரண்ட t.ra:nspirVn.t.V# + _) ட் (ரான்ஸ்மீட்டர t. + _) ட் (ரான்ஸ்லே t. + _) ட் (ரான்ஸ்வேல t. _) ட்ராபிக் t.ra:fik _) ட் (ராலி t. _) ட் (ராவல t. _) ட் (ராவெல t. + _) ட்ரிக (ர t.riggV + _) ட்ரிக்க (ர t.riggV + _) ட் (ரிம் t. + _வி) ட் (ரு t. + _கே) ட் (ரு t. + _போ) ட் (ரு t. _) ட்ரெயி (லர t.rej _) ட் (ரெய்லர t. + _) ட் (ரை_செஞ்ச t. + _) ட் (ரை_செய் t. + _) ட் (ரை_பண் t. _) ட் (ரையல t. _பெ) ட் (ரோ t. + _மெ) ட் (ரோ t. கண்) ட் (ரோல t. + _த) ட் (றா t. + _நீ) ட் (றா t. + ஆ) ட் (றா t. + _த) ட் (ல t. _வீ) ட் (ல t. + _கா) ட் (ல t. + _கூ) ட் (ல t. + _நா) ட் (ல t. + _பா) ட் (ல t. + _ரூ) ட் (ல t. + _நோ) ட் (ல t. + _ரோ) ட் (ல t. +_நடுரோ) ட் (ல t. + இ) ட் (லர t. _ஹி) ட் (லர t. அ) ட்லாண்ட t.la:n.t.V# // atlant //endsort @@ -746,7 +1002,9 @@ _நாவல்) ட (ி t. ப்) த (B t // exceptions, த as [d] + //sort + _) த (L04ாவதார dV _) த (கதக dV _) த (கன dV _) த (கி dV @@ -766,9 +1024,11 @@ _நாவல்) ட (ி t. _) த (டிJ_பயல dV _) த (டிJ_புத்தக dV _) த (டிJ_மாட dV - _) த (டிக்க dV + _) த (டிக்காம dV + _) த (டிக்கும dV _) த (டித்த dV _) த (டிப் dV + _) த (டிமன dV _) த (டிமாட dV _) த (டியன dV _) த (டியர dV @@ -814,6 +1074,7 @@ _நாவல்) ட (ி t. _) த (ரிசனத் dV _) த (ரிசி dV _) த (ரித்திரம dV + _) த (ருமச் dV _) த (ருமத் dV _) த (ருமன dV _) தருமப (ுரி dVrUmVp @@ -830,6 +1091,7 @@ _நாவல்) ட (ி t. _) த (வத்த dV _) த (வப் dV _) த (வம dV + _) தவுலதாப (ாத dVvUlVda:b _) த (ாக்கா d _) த (ாக்காம t _) த (ாக்காவிட்டா t @@ -849,6 +1111,9 @@ _நாவல்) ட (ி t. _) த (ாம்_தூம d _) த (ாயாதி d _) த (ாரணி d + _) த (ாரா_சிக்கோ d + _) த (ாரா_சிங் d + _) த (ாரா_ஷிகோ d _) த (ாராசுர d _) த (ாராபுர d _) த (ாராள d @@ -857,6 +1122,7 @@ _நாவல்) ட (ி t. _) த (ாவா d _) த (ாவேய d _) த (ாஸ d + _) த (ிகம்பர d _) த (ிகில d _) த (ிகுதிகு d _) த (ிக்கில d @@ -864,6 +1130,7 @@ _நாவல்) ட (ி t. _) த (ிக்கு_முக்க t _) த (ிக்கு_வாய t _) த (ிக்குமுக்கா t + _) த (ிக்கென d _) த (ிக்கே d _) த (ிக்கை d _) திக்த (ிக்யெ digd @@ -872,12 +1139,14 @@ _நாவல்) ட (ி t. _) த (ிசை d _) த (ிடகாத்திர d _) திடசங்கல்ப did.VsVNgVlpV# + _) த (ிடசித்த d _) த (ிடப d _) த (ிடம d _) த (ிடீ d _) த (ிடீர d _) த (ிடுக் d _) த (ிடுதிடு d + _) த (ிடுதிப் d _) த (ிடும d _) த (ிடுவெ d _) த (ிண்டிவன d @@ -891,12 +1160,18 @@ _நாவல்) ட (ி t. _) த (ினம d _) த (ினுச d _) த (ினேஷ d + _) த (ிபுதிபு d _) த (ிம்ம d - _) தி (யான dj + _) தி (யாக t + _) தி (யான d _) த (ிரவ d _) த (ிரவிய d + _) தி (ராட்சை d _) தி (ராவிட d + _) திரு (திரா dri + _) திரு (ஷ்டி dri _) த (ிரௌபதி d + _) தி (ரௌபதி t _) த (ில்லி d _) த (ில்லு_ d _) த (ில்லு_முல்லு t @@ -923,13 +1198,18 @@ _நாவல்) ட (ி t. _) த (ீரரை d _) த (ீர்க d _) த (ீர்க்க t + _) தீர்க்க (தரிச di:rggV _) த (ீர்க்கமா d + _) தீர்க்க (மி di:rggV + _) தீர்க்க (ம்_ di:rggV + _) து(ரோக d _) த (ுக்க d _) த (ுச்சம d _) த (ுச்சாதனன d _) த (ுட்ட d _) த (ுபாய d _) த (ுப்பட்டா d + _) த (ுமளி d _) த (ுரதிருஷ்ட d _) த (ுரதிர்ஷ்ட d _) த (ுரதிஷ்ட d @@ -941,23 +1221,32 @@ _நாவல்) ட (ி t. _) த (ுருவப் d _) த (ுரை d _) த (ுரோண d + _) து (ரோண t _) த (ுர் d _) து (வந்த_ d _) துவாப (ர dva:pV _) துவ (ார dv + _) து (வேச d + _) து (வேஷ d + _) துவைத dvaItV# _) த (ுஷ் d _) த (ூச d _) த (ூசி d _) த (ூப d _) த (ூம d _) த (ூர d + _) த (ூரத்_ t + _) த (ூரத்துவ t + _) த (ூரத்தொட t _) த (ூரன t + _) த (ூரல t _) த (ூரிகை t _) த (ூர்_ t _) த (ூர்ந் t _) த (ூர்வ t _) த (ூஷணை d _) த (ூஷித்த d + _) த (ெண்ட d _) த (ெய்வ d _) த (ேக d _) த (ேக்க t @@ -967,7 +1256,9 @@ _நாவல்) ட (ி t. _) த (ேவகுல d _) த (ேவக் d _) த (ேவசேன d + _) த (ேவதூத d _) த (ேவதை d + _) த (ேவநேய d _) த (ேவன d _) த (ேவராஜ d _) த (ேவராட்டி d @@ -983,6 +1274,7 @@ _நாவல்) ட (ி t. _) த (ேவார d _) த (ேவாலய d _) த (ேவி d + _) த (ேவிடியா t _) த (ேவேந் d _) த (ைரிய d _) த (ொனி d @@ -993,11 +1285,13 @@ _நாவல்) ட (ி t. _) த (ோசை d _) த (ோஷ d _) த (ோஸ்த் d + _) த (ோஹா d + _) தௌலதாப (ாத daUlVd.a:b + _) த (்ராட்சை d //endsort //sort - - _வசந்) த tV# +_வசந்) த tV# _ப) த (ஞ்சலி tV _கீழ்) த (ட்ட tV _மேல்) த (ட்ட tV @@ -1015,6 +1309,7 @@ _நாவல்) ட (ி t. _சுனி) த (ா t _வனி) த (ா t _வினி) த (ா t +_நிவேதி) த (ா t _புஷ்பல) த (ா t பிரேமல) த (ா t _மும்) த (ாஜ t @@ -1030,23 +1325,20 @@ _புஷ்பல) த (ா t _கோம) த (ி t ஜெயந்) த (ி t _பார்வ) த (ி t +_பிரசார்_பார) த (ி t பிரபாவ) த (ி t + _ஜோ) திக (ா tik + _கார்) திக் tik சட்ட) த (ிட்ட t - _) தி (யாக t - _) திரு (திரா dri - _) திரு (ஷ்டி dri - _) தி (ரௌபதி t _பிர) த (ீ t - _) து(ரோக d - _) து (ரோண t த (ுறை t - _) து (வேச d - _) து (வேஷ d - _) துவைத dvaItV# வீண்) த (ேவை t வீண்) த (ொல்லை t அம்பே) த்க tkV# யு) த்த ddV# + _சிரார்) த்த ddV# + _ஸ்ரார்) த்த ddV# +_சிறை) த்த (ண்டனை ddV பு) த்த (ன ddV பு) த்த (ர ddV _விரு) த்தாச (ல dda:tSV @@ -1055,6 +1347,7 @@ _பார்வ) த (ி t சி) த்த (ார் dd பு) த்த (ி dd அயோ) த்த (ி dd + எட்டு) த்த (ிக்க dd _ம) த்த (ிக்கு dd சில) த்த (ினங் dd பல) த்த (ினங் dd @@ -1062,6 +1355,7 @@ _பார்வ) த (ி t ம) த்த (ிய dd வா) த்த (ிய dd வை) த்த (ிய dd + _சா) த்த (ிய_ tt பு) த்த (ியி dd _சா) த்த (ியிரு tt உ) த்த (ியோக dd @@ -1090,12 +1384,15 @@ _பார்வ) த (ி t வி) த்த (ையை dd ச) த (்ய t நி) த (்ய t + இ) த் (யாதி t +_காமசூ) த் (ர t ச) த்ரபதி trVpVti சி) த (்ரா t பவி) த (்ரா t ச) த (்ரு t த) த (்ரூப t பா) த (்ரூம t + _மை) த் (ரேய t //endsort @@ -1138,28 +1435,34 @@ _பார்வ) த (ி t //sort பி_._) ப(ி_._சி b // b.b.c + _) ப (L06ுகுணா bV _) ப (கதூர bV + _) ப (கத்சிங் bV _) ப (கவதி bV _) ப (கவன bV _) ப (கவான bV _) ப (காசுர bV + _) ப (காசூரன bV _) ப (கிரங்க bV _) ப (கிஷ்க bV _) ப (கீர bV + _) ப (குள bV _) ப (க்கெட் bV _) ப (க்கென்ற bV _) பக் (த bVk _) பக் (ரீத bVk + _) ப (க்ருதீன fV _) ப (ங்கம bV _) ப (ங்களா bV _) ப (ங்கார bV _) ப (சவகல்யாண bV _) ப (ச்சன bV - _) ப (ச்சான b + _) ப (ச்சான bV _) ப (ஜ bV _) ப (ட்சண bV _) ப (ட்சிக்க bV _) ப (ட்சிப்ப bV + _) ப (ட்ஜட bV _) ப (ட்ஜெட் bV _) ப (ட்டக்ஸ bV _) ப (ட்டன bV @@ -1168,6 +1471,8 @@ _பார்வ) த (ி t _) பத்த (ிரகாளி bVdd _) ப (த்திரப்பட bV _) ப (த்திரமா bV +_சொந்த_) ப (ந்த bV + _) ப (ந்த_பாச bV _) ப (ந்தங்கள bV _) ப (ந்தத் bV _) ப (ந்தப் bV @@ -1183,6 +1488,7 @@ _பார்வ) த (ி t _) ப (யங்கர bV _) ப (யத் bV _) ப (யத்த_ pV + _) ப (யத்தஞ் pV _) ப (யத்தம்_ pV _) ப (யந் bV _) ப (யபக்தி bV @@ -1194,7 +1500,9 @@ _பார்வ) த (ி t _) ப (ரதநாட்டிய bV _) ப (ரதன bV _) ப (ரதர bV + _) ப (ரத்வாஜ bV _) ப (ராக்_ஒபாமா bV + _) பரூக் fVrU:k _) ப (ரோட bV _) ப (ர்கர bV _) ப (ர்னாலா bV @@ -1204,6 +1512,7 @@ _பார்வ) த (ி t _) ப (லங் bV _) ப (லசாலி bV _) ப (லதேவ bV + _) ப (லத்தால bV _) ப (லத்தினா bV _) ப (லத்தினுட bV _) ப (லத்துட bV @@ -1212,7 +1521,9 @@ _பார்வ) த (ி t _) ப (லப்படு bV _) ப (லப்பரீட்சை bV _) ப (லம bV + _) ப (லமடங்க pV _) ப (லமுறை pV + _) ப (லமொழி pV _) ப (லராம bV _) ப (லவந்த bV _) ப (லவான bV @@ -1226,6 +1537,7 @@ _பார்வ) த (ி t _) ப (லிஜா bV _) ப (லிபீட bV _) ப (லிய bV + _) ப (லீஜா bV _) பலுச (ிஸ்தான bVlUtS _) ப (லூன bV _) ப (ல்கேரிய bV @@ -1248,6 +1560,7 @@ _பார்வ) த (ி t _) ப (ாகப் b _) ப (ாகம b _) ப (ாகவதர b + _) ப (ாகியான f _) ப (ாகீரதி b _) ப (ாக்கிக் b _) ப (ாக்கிய b @@ -1260,19 +1573,23 @@ _பார்வ) த (ி t _) ப (ாசுர p _) ப (ாடி_பில்டிங் b _) ப (ாட்டலியன b + _L10_) ப (ாட்டில b // bottle _) ப (ாட்டிலி b _) ப (ாட்டிலுக் b _) ப (ாட்டிலை b _) ப (ாட்டில்கள b _) ப (ாணங் b + _) ப (ாணமு b _) ப (ாணி b _) ப (ாதிக்க b _) ப (ாதிக்கு_ p _) ப (ாதிக்கும்_குறை p + _) ப (ாதிக்கும்_மேற் p _) ப (ாதிக்கும்_மேற்பட்ட_ p _) ப (ாதிக்கும்_மேல p _) ப (ாதித்த b _) ப (ாதிப்ப b + _) ப (ாதிப்பேர p _) பாத (ிமா fa:t _) ப (ாதுஷா b _) ப (ாத்திமா f @@ -1280,19 +1597,25 @@ _பார்வ) த (ி t _) பாத்த (ியம்_ ba:dd _) ப (ாத்யதை b _) ப (ாத்ரூம b + _) ப (ானங்கள b _) ப (ானத்த b + _) ப (ானமு b _) ப (ானு b _) ப (ானெட் b _) பாப (ர ba:bV + _) பாப (ாசாகேப் ba:b + _) பாப (ாசாஹேப் ba:b _) ப (ாபிலோனியா b _) ப (ாபுவ b _) ப (ாமாவ b _) ப (ாமினி b + _) ப (ாம்பே b _) ப (ாரத b _) ப (ாரதி b _) ப (ாரத்த b _) ப (ாரம b _) ப (ாரம்பரிய p + _) ப (ாராமுல்லா b _) ப (ாரிஸ்டர b _) ப (ார்L04லோனா b _) ப (ார்கவி b @@ -1304,6 +1627,7 @@ _பார்வ) த (ி t _) ப (ாலதண் b _) பாலப (ாட ba:lVp _) ப (ாலமுர b + _) ப (ாலய்யா b _) ப (ாலாஜி b _) ப (ாலாபிஷேக p _) ப (ாலாம்பிக b @@ -1350,21 +1674,26 @@ _ராகத்தின்_) ப (ாவ b _) ப (ாஷை b _) ப (ாஷ்ய b _) ப (ாஸ்கர b + _) ப (ாஸ்கி b _) ப (ாஸ்டன b _) ப (ாஸ்மதி b + _) ப (ாஹியான f _) பி(ராந்தியு b _) ப (ி_._பி_._சி b // b.b.c _) ப (ிகர f + _) ப (ிகில b _) ப (ிக்கு b _) ப (ிக்ஷு b _) ப (ிக்ஷூ b _) ப (ிங்கர்_ f _) ப (ிசினஸ b _) ப (ிசிய b + _) ப (ிட்சு b _) ப (ிட்டடி b _) ப (ினாமி b _) ப (ினிஷ f _) ப (ின்லாந்த f + _) பிப (ி bip _) ப (ிபிசி b // bbc _) ப (ிம்ப b இயற்) ப (ியல b @@ -1401,6 +1730,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரதேச p _) பி (ரப p _) பி (ரமாண p + _) பி (ரமாண்ட b _) பி (ரமாத p _) பி (ரமான p _) பி (ரமிக்க b @@ -1421,6 +1751,7 @@ _ராகத்தின்_) ப (ாவ b _) பி (ரலய p _) பி (ரளய p _) பி (ரவாக p + _) பி (ரவீண p _) பி (ரவுச b _) பி (ரவேச p _) பி (ரவேசி p @@ -1432,11 +1763,13 @@ _ராகத்தின்_) ப (ாவ b _) பி (ராகார p _) பி (ராகிருத p _) பி (ராக்கள b + _) பிராக்டிக(ல pra:kt.ikV _) பி (ராட்வே b _) பி (ராண_ p _) பி (ராணன p _) பி (ராணி p _) பி (ராண்ட p + _) பி (ராண்ட்_ b _) பி (ராதித் p _) பி (ராந்தி_ b _) பி (ராந்தியங் p @@ -1461,8 +1794,11 @@ _ராகத்தின்_) ப (ாவ b _) பி (ராவில b _) பி (ராவுக்கு b _) பி (ராவை b + _) பி (ரிகேட b _) பி (ரிட b _) பிரிட (ோரிய prit. + _) பி (ரிட்டோரிய p + _) பிரிண்ட (ர prin.t.V _) ப (ிரித்தானி b _) பி (ரித்தானி b _) பிரின்சிப (ால prinsip @@ -1480,20 +1816,26 @@ _ராகத்தின்_) ப (ாவ b _) பிரிஸ்ப (ேன brisb _) பிரு (கன்நளை bri _) பிரு (ந்தா bri - _) பி (ரெஞ்சு f - _) பி (ரெஞ்ச் f + _) பிரெஞ்ச fren^tSV# + _) பிரெட்ரிக் fred.rik _) பி (ரெண்ட்ஸ f _) பி (ரெயில b + _) பி (ரெய்ல b _) பி (ரே p _) பி (ரேக்க b _) பி (ரேசில b + _) பி (ரைல b _) பி (ரோகிதர p _) பி (ரௌச b _) ப (ில்டிங் b - _) ப (ில்லியன் b + _) ப (ில்லியன b + _) பி (ளவுஸ b + _) பி (ளஸ p _) பி (ளஸ்_ p + _) பி (ளா p _) பி (ளாட்பார p _) பி (ளாஸ்க் f // flask + _) பி (ளீஸ p _) பிள (ைட் fl. _) பி (ளௌஸ b _) பிஷப் bis.Vp @@ -1503,15 +1845,20 @@ _ராகத்தின்_) ப (ாவ b _) ப (ிஸ்கெட் b _) ப (ிஸ்கோத் b _) ப (ீகார b + _) ப (ீச்சில b _) ப (ீச்சு b + _) பீச் (ல bi:tS _) ப (ீஜ b _) ப (ீஜிங b _) ப (ீடிகள b _) ப (ீடிகை p + _) ப (ீடிக்கடை b _) ப (ீடித்த p _) ப (ீடிப்புகை b _) ப (ீடிய b _) பீட்ரூட் bi:t.ru:t. + _) பீத (ோவன bi:t + _) ப (ீத்தோவன b _) ப (ீப்பொலி b _) ப (ீம b _) ப (ீரங்கி b @@ -1527,16 +1874,23 @@ _ராகத்தின்_) ப (ாவ b _) ப (ுக்ல b _) ப (ுஜ b _) ப (ுட்டி b +_பெனசீர்_) ப (ுட்டோ b _) ப (ுதன b _) புத்த(K buddV _) புத் (தJ_புத+ put _) புத்த (க puttV _) புத்த (ம்_புதிய puttV _) புத்த (ம்_புது puttV + _) புத்த (ரிசி puttV _) ப (ுத்திக் b _) ப (ுத்திசாலி b _) ப (ுத்திய b + _) புரஃப (L04ர profV + _) புரப (L04ர profV + _) புரபொ (சர profV _) பு (ரவுச b + _) புரொப (சர profV + _) புரொபொ (சர profV _) ப (ுரோக்கர b _) பு (ரோக்கர b _) பு (ரௌச b @@ -1549,6 +1903,7 @@ _ராகத்தின்_) ப (ாவ b _) ப (ுஸ்ஸெ b _) ப (ூகம்ப b _) ப (ூகோல b + _) பூட (ான bu:t. _) ப (ூட்ஸ b _) ப (ூதகணங்க b _) ப (ூதங் b @@ -1561,28 +1916,41 @@ _ராகத்தின்_) ப (ாவ b _) ப (ூதேவி b _) பூப (தி bu:pV _) ப (ூபாள b + _) ப (ூமத்திய b + _) ப (ூமாதா b _) ப (ூமாதேவி b _) ப (ூமி b + _) ப (ூர்ஷ b _) ப (ூலோக b + _) ப (ூஷன b _) ப (ெங்களூர b _) ப (ெங்கால b - _) பெஞ்ச bentSV# + _) பெஞ்ச ben^tSV# _) ப (ெஞ்சமின b _) பெஞ்ச (மின ben^dZV _) பெட்ட (ுக்கு bed.d. _) ப (ெட்ரூம b + _) ப (ெனசீர b _) ப (ெப்ரவரி f + _) ப (ெர்னான்ட f _) ப (ெர்னார்ட b _) ப (ெர்முடா b _) ப (ெர்லிங b _) ப (ெர்லின b _) ப (ெல் b _) ப (ெஸ்ட் b + _) ப (ேகத் b + _) ப (ேகம b + _) ப (ேச்சலர b + _) ப (ேச்சிலர b + _) ப (ேச்சுலர b _) ப (ேஜார b _) ப (ேட்டரி b _) ப (ேட்டா b _) ப (ேதலித்த b _) ப (ேதி b + _) ப (ேனர b + _) ப (ேபி b _) ப (ேமிலி f _) ப (ேலன்ஸ b _) ப (ேஷன f @@ -1590,22 +1958,34 @@ _ராகத்தின்_) ப (ாவ b _) ப (ைக்குகள b _) ப (ைபிள b _) ப (ைரவ b + _) ப (ொம்மன b _) ப (ொம்மல b _) ப (ொம்மை b _) ப (ோகங்க b + _) ப (ோகத்திற்க b + _) ப (ோகத்தில b + _) ப (ோகத்துக்க b + _) ப (ோகத்தை b _) ப (ோகர b _) ப (ோகித் b _) ப (ோகிப் b + _) ப (ோகிய b _) ப (ோஜ b + _) ப (ோட்டோக்க f _) ப (ோண்டி b + _) ப (ோதகன b + _) ப (ோதகர b _) ப (ோதன b _) ப (ோதிக்க b _) ப (ோதித் b + _) ப (ோதிப்ப b + _) ப (ோதியி b + _) ப (ோதியை b _) ப (ோதை b - _) ப (ோனிய b + _) ப (ோனியாக b _) ப (ோன்கள f _) ப (ோன்ஸ்லே b - _) ப (ோபால b + _) போப (ால bo:p _) ப (ோர்ஜரி f _) ப (ோஷி b _சந்திர_) ப (ோஸ b @@ -1614,30 +1994,45 @@ _சந்திர_) ப (ோஸ b _) ப (ௌதிக b _) ப (ௌத்த b _) ப் (ரசல்ஸ b + _) ப்ரபொ (சர profV _) ப் (ரம்ம b _) ப் (ரவுச b _) ப் (ரஸல்ஸ b + _) ப் (ரான்சிஸ்க f + _) ப் (ரான்ஸ f _) ப் (ராவ b _) ப்ரிஸ்ப (ேன brisb _) ப் (ரெஞ்ச் f + _) ப்ரெட்ரிக் fred.rik _) ப் (ரெயில b + _) ப் (ரெய்ல b _) ப் (ரேக்க b _) ப் (ரேசில b + _) ப் (ரைல b + _) ப்ரொப (சர profV + _) ப்ரொபொ (சர profV _) ப் (ரோக்கர b _) ப் (ரௌச b + _) ப் (ளவுஸ b _) ப் (ளோரிடா f _) ப் (ளௌஸ b //endsort //sort + இடர்) ப pV# + _பிரதீ) ப pV# + ஒலிம்) ப pV# சங்கல்) ப pV# _பயன்) ப pV _விகல்) ப pV# + அடால்) ப fV# பரிதா) ப (+ bV# அநுதா) ப (+ bV# அனுதா) ப (+ bV# பிரஸ்தா) ப (+ bV# +_பச்சாதா) ப (+ bV# மனஸ்தா) ப (+ bV# + அல்) ப (_ pV# நன்) ப (கல pV பின்) ப (கல pV முன்) ப (கல pV @@ -1645,14 +2040,19 @@ _சந்திர_) ப (ோஸ b தென்) ப (குதி pV ப (க்கK pV பரம) ப (க்த bV + _தா) ப (ங்கள bV பிரதா) ப (ங்கள bV க) ப (ட bV கரம்) ப (ட pV + _பயண்) ப (ட bV ப (டி pV மறு) ப (டி bV @) ப (ட்ச+ pV + ஆரிய) ப (ட்டா bV ஸ்தா) ப (ண bV அடி) ப (ணி pV + அஸ்) ப (ண்ட bV + _ஹஸ்) ப (ண்ட bV _சிவ) ப (த pV _கல்) ப (தரு pV கஜ) பதி pVti @@ -1668,7 +2068,9 @@ _சந்திர_) ப (ோஸ b பிரகஸ்) பதி pVti லக்ஷ்மி) பதி pVti வித்யா) பதி pVti +_ராஷ்டிர) ப (தி pV அம்பிகா) பதி pVti +இராஷ்டிர) ப (தி pV வளையா) பதி pVti வேங்கட) பதி pVti _புகு) ப (திகை pV @@ -1677,11 +2079,19 @@ _சந்திர_) ப (ோஸ b _முன்) ப (திவ pV பதை) ப (தை pV _க) ப (த் bV + அல்) ப (த் pV + _தா) ப (த்த bV வீர) ப (த்தினி pV + _கால்) ப (ந்த pV +_சொந்த) ப (ந்த bV உ) ப (ந்நியாச pV + ஓ) ப (ன pV _லிஸ்) ப (ன bV கல்) ப (னா pV _கம்) ப (னி pV + அல்) பப் pVp + _தா) ப (ம bV + அல்) ப (ம pV பிரதா) ப (ம bV நிரு) ப (மா pV அனு) ப (மா pV @@ -1692,11 +2102,16 @@ _சந்திர_) ப (ோஸ b _ஒலி) ப (ரப் pV _ஒளி) ப (ரப் pV வீர) ப (ராக்கிரம pV + ஆ) ப (ரேசன pV ஆ) ப (ரேஷன pV + _கார்) ப (ரேஷன pV + _பம்) ப (ர்_ pV கரம்) ப (ற் pV ப (ற்றி_ pV + _பக்க) ப (ல bV _பக்கப்) ப (ல bV படைப்) ப (ல bV +_முனிசி) ப (ல pV ஆயுதப்) ப (ல bV _மகா) ப (லி bV _மூடு) ப (ல்லக் pV @@ -1707,26 +2122,51 @@ _சந்திர_) ப (ோஸ b _தீ) ப (ா p _கலி) ப (ா f _கலீ) ப (ா f + _சில்) ப (ா p + _ஷில்) ப (ா p + _முஸ்த) ப (ா f +_போதும்) ப (ா p +_போலாம்) ப (ா p +_வேண்டாம்) ப (ா p + ஏம்) ப (ா_ p + _தரேம்) ப (ா_ p + _வரேம்) ப (ா_ p +_போறேம்) ப (ா_ p _சம) ப (ாக b முதற்) ப (ாக b உதிரிப்) ப (ாக b +_வெளிப்) ப (ாக b + _கல்) ப (ாக்க p _பிக்) ப (ாக்க+ p உ) ப (ாசனை p + _வழி) ப (ாட p சமன்) ப (ாட p முரன்) ப (ாட p _க) ப (ாடபுர+ b + _விட்ட) ப (ாடாக p _பட்ட) ப (ாட்ட p ராம) ப (ாண b // also இராமபாண _யாழ்) ப (ாண p தண்ட) ப (ாணி p + _சக்கிர) ப (ாணி p பஞ்ச) ப (ாண்ட p ப (ாண்டி p + ஆமதா) ப (ாத b +அL06மதா) ப (ாத b +ஒளரங்கா) ப (ாத b +ஔரங்கா) ப (ாத b ப (ாதை p ஜிந்தா) ப (ாத் b ச) பாபதி ba:pVti + அ) பாயிண்ட்மெண்ட pa:jin.t.ment.V# _டீ) ப (ாய் p எதிர்) ப (ார p கண்) ப (ார்வை p + இரு) ப (ால p + ஒரு) ப (ால p + ஆண்) ப (ால p + _பெண்) ப (ால p +L03தன்) ப (ால p _ப்ரின்சி) ப (ால p _சிவ) ப (ாலன b _கா) ப (ாலி b @@ -1741,24 +2181,29 @@ _ப்ரின்சி) ப (ால p அடி) ப (ாவி p _நவ) ப (ாஷ p வாதா) ப (ி p - கோ) ப (ி p சித்தப்) பி(ரமை b _கன்) ப (ிகர f - ஆ) பி (கராம b + வாலி) பிக (ேஷன fik _பசி) ப (ிக் f கண்டு) ப (ிடி p திமிர்) ப (ிடி p ராவல்) ப (ிண்டி p + ஒ) ப (ினியன p அன்) ப (ின் b + _பண்) ப (ின் b ர்) ப (ின்_ b @) ப (ின்_ p ம்) ப (ின்_ b + _ரா) ப (ின்_ b _முன்) ப (ின்_ p @) ப (ின்நாலும்_ p @) ப (ின்னர்_ p @) ப (ின்னால்_ p _) ப (ிப்ரவரி f _லெஸ்) ப (ியன b + _ஞான) பிரக (ா prVk +_ஞானப்) பிரக (ா prVk + ஆ) பி (ரகாம b பிரக (ாஷ prVk மதப்) பிரச (ார prVtS பி (ரத p @@ -1775,7 +2220,12 @@ _ப்ரின்சி) ப (ால p ப (ிறகு+ p தேய்) ப (ிறை p வளர்) ப (ிறை p + _) பிலிப filipV# + _) பி (லெட்சர f _சிம்) ப (ிள p + _) பி (ளே p + ஏரோ) பி (ளேன p + ப (ிள்ளை p சிறு) ப (ிள்ளை p ஆண்) ப (ிள்ளை p பெண்) ப (ிள்ளை p @@ -1783,6 +2233,7 @@ _ப்ரின்சி) ப (ால p _திம்) ப (ு p _அன்) ப (ுட b _மார்) ப (ுட b + _) புத்தம்ப (ுத puttVmp வாயு) ப (ுத்திர p அக்னி) ப (ுத்திர p பாடலி) ப (ுத்திர p @@ -1794,12 +2245,17 @@ _ப்ரின்சி) ப (ால p இன்) ப (ுற b _துன்) ப (ுற b ப (ுறK p + _) பு (ளோரன்ஸ f மண்) ப (ுழு p + ப (ூச்சி p ம்) ப (ூர b ராம்) ப (ூர p அ) ப (ூர்வ b இன்ஸ்) ப (ெக்டர p + _) பெஞ்ச (ா_ pen^dZ + _) பெஞ்ச (ாலும pen^dZ இளம்) ப (ெண் p + _கார்) பெண்ட (ர pen.t.V _வட) ப (ெண்ணை p _தென்) ப (ெண்ணை p _கம்) ப (ெனி p @@ -1807,6 +2263,8 @@ _ப்ரின்சி) ப (ால p _புலம்) ப (ெயர p மொழி) ப (ெயர் p ப (ெருமான p + _வீர) ப (ெருமாள p + _கலிய) ப (ெருமாள p ப (ெற p // ?? end-of-word + suffix ?? _க) ப (ே f _கை) ப (ேசி p @@ -1817,6 +2275,7 @@ _ப்ரின்சி) ப (ால p _வெல்) ப (ேர f ப (ேரில்_ p ப (ேர்_ p + _தவிடு) ப (ொடி p _வன்) ப (ொரு p _மென்) ப (ொரு p _பழம்) ப (ொருள p @@ -1835,6 +2294,8 @@ _ப்ரின்சி) ப (ால p ப (ோகும்_ p பொழுது) ப (ோக் p _வீண்) ப (ோக்க p + இம்) ப (ோசிஷன p + _காம்) ப (ோசிஷன p _மார்) ப (ோட b _சத்தம்) ப (ோட p ப (ோதிலும்+ p @@ -1851,28 +2312,38 @@ _ப்ரின்சி) ப (ால p ப (ோன்ற+ p // ?? end-of-word + suffix ?? ப (ோயிரு p ப (ோய் p + ஏர்) போர்ட po:rt.V# கலி) ப (ோர்னிய f ப (ோல_ p ப (ோலக்_ p ப (ோலச்_ p ப (ோலத்_ p ப (ோலப்_ p + ப (ோலவும்_ p ப (ோலவே_ p ப (ோலும்_ p ப (ோல்_+ p ப (ோவத p _கம்) ப (ோஸ p _டே) ப (் p + _போ) ப் p + _லாக) ப் p + ஆ) ப் (கானிய f ஆ) ப் (கானிஸ்தான f + _லி) ப் (ட f _மைக்ரோசா) ப் (ட f கர்) ப்ப bbV# _நவா) ப்ப bbV# + _ராமசு) ப்ப bbV# L03) ப்ப (ங்களா bbV L03) ப்ப (தில bbV நிர்) ப்ப (ந்த bbV நிர்) ப்ப (ய bbV _ர) ப்ப (ர bbV + ஆ) ப்ப (ரிக்க fV +தென்னா) ப்ப (ரிக்க fV அடி) ப்ப (ாக bb + இறுதி) ப்ப (ாக bb துர்) ப்ப (ாக்கிய bb ஆர்) ப்ப (ாட்ட bb _ஜ) ப்ப (ார bb @@ -1886,11 +2357,19 @@ _மைக்ரோசா) ப் (ட f _பர) ப்பி (ரம்ம pb L03) ப்பி (ரவாக pp _நதி) ப்பி (ரவாக pp + _மன) ப்பி (ரவாக pp தேச) ப்பி (ரஷ்ட pp + ஆ) ப்பி (ரிக்க f +தென்னா) ப்பி (ரிக்க fV +_சந்தேக) ப்ப (ுத்தி bb + இ) ப்ப (ூமி bb _ல) ப்ப (ை bb துர்) ப்ப (ோதனை bb கம்) ப்யூட (ர pjU:t.V + _) ப் (லெட்சர f _மா) ப் (ள p + ஏரோ) ப் (ளேன p + _) ப் (ளோரன்ஸ f ப் (ஸ p //endsort @@ -2039,10 +2518,13 @@ _மைக்ரோசா) ப் (ட f இ i இ (யேச இ (ரகசிய // silent + இ (ரகுமான + இ (ரகுராம இ (ரசனை இ (ரசாயன இ (ரசிக இ (ரசிக்க + இ (ரசித்த இ (ரத்த இ (ரயில இ (ராக @@ -2063,6 +2545,7 @@ _மைக்ரோசா) ப் (ட f இ (ராவுத்த இ (ராஷ்டிர இ (லகுவாக + இ (லட்சக் இ (லட்சங் இ (லட்சண இ (லட்சத் @@ -2103,6 +2586,7 @@ _மைக்ரோசா) ப் (ட f ஒள (வை aU // bad scanning ஒள (ஷத aU ஒள (டத aU + ஒள (ரங்க aU ஓ o: diff --git a/dictsource/tr_rules b/dictsource/tr_rules index 84edcb4d..99fdb7ce 100644 --- a/dictsource/tr_rules +++ b/dictsource/tr_rules @@ -20,13 +20,13 @@ @) a (_S1 a - acak (_S3 adZak - acakmış (_S7 adZakm%@S - ayım (_S4 aj@m - alım (_S4 al@m - asın (_S4 as@n + @) acak (_S3 adZak + @) acakmış (_S7 adZakm%@S + @) ayım (_S4 aj@m + @) alım (_S4 al@m + @) asın (_S4 as@n - avru (pa avr'u + @) avru (pa avr'u .group b b b @@ -84,11 +84,11 @@ @) e (_S1 e - ecek (_S4 edZek - ecekmiş (_S7 edZekm%iS - eyim (_S4 ejim - elim (_S4 elim - esin (_S4 esin + @) ecek (_S4 edZek + @) ecekmiş (_S7 edZekm%iS + @) eyim (_S4 ejim + @) elim (_S4 elim + @) esin (_S4 esin .group f @@ -117,11 +117,11 @@ @) i (_S1 i - im (_S2 %im - iniz (_S4 %iniz - iz (_S2 %iz - iyor (_S4 ij%oR - in (_S2 in + @) im (_S2 %im + @) iniz (_S4 %iniz + @) iz (_S2 %iz + @) iyor (_S4 ij%oR + @) in (_S2 in .group ı @@ -129,11 +129,11 @@ @) ı (_S1 @ - ım (_S2 %@m - ınız (_S2 %@n@z - ız (_S2 %@z - ıyor (_S4 @j%oR - ın (_S2 @n + @) ım (_S2 %@m + @) ınız (_S2 %@n@z + @) ız (_S2 %@z + @) ıyor (_S4 @j%oR + @) ın (_S2 @n .group j @@ -248,11 +248,11 @@ @) u (_S1 u - um (_S2 %um - unuz (_S4 %unuz - uz (_S2 %uz - uyor (_S4 uj%oR - un (_S2 un + @) um (_S2 %um + @) unuz (_S4 %unuz + @) uz (_S2 %uz + @) uyor (_S4 uj%oR + @) un (_S2 un .group ü @@ -260,11 +260,11 @@ @) ü (_S1 y - üm (_S2 %ym - ünüz (_S4 %ynyz - üz (_S2 %yz - üyor (_S4 yj%oR - ün (_S2 yn + @) üm (_S2 %ym + @) ünüz (_S4 %ynyz + @) üz (_S2 %yz + @) üyor (_S4 yj%oR + @) ün (_S2 yn .group v diff --git a/docs/add_language.html b/docs/add_language.html index 5b938878..4cfa5536 100644 --- a/docs/add_language.html +++ b/docs/add_language.html @@ -1,128 +1,161 @@ - + - - eSpeak: Adding a Language - - -Back -
+ + + + + +

6. ADDING OR IMPROVING A LANGUAGE

-
-Most of the work doesn't need any programming knowledge. Just an understanding of the language, an -awareness of its features, patience and attention to detail. Wikipedia is a good source of basic phonetic information, eg -http://en.wikipedia.org/wiki/Vowel +

-In many cases it should be fairly easy to add a rough implementation of a new language, hopefully -enough to be intelligible.

-After that it's a gradual process of improvement to: -

    -
  • Make the spelling-to-phoneme translation rules more accurate, including the position of stressed -syllables within words. Some languages are easier than others. I expect most are easier than English. -

  • Improve the sounds of the phonemes. It may be that a phoneme should sound different depending on adjacent sounds, or whether it's at the start or the end of a word, between vowels, etc. This may consist of making small adjustments to vowel and diphthong quality, -or adjusting the strength of consonants. Bigger changes may be recording new or replacement consonant -sounds, or even writing program code to implement new types of sounds. -

  • Some common words should be added to the dictionary (the *_list file for the language) with an "unstressed" attribute (eg. in English, words such as "the", "is", "had", "my", "she", "of", "in", "some"), or should be preceded -by a short pause (such as "and", "but", "which"), or have other attributes, in order to make the speech flow better. -

  • Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable, -or depending on the following phonemes. This is important for making the speech sound good for the language. -

  • Identify or implement new functions in the program to improve the speech, or to deal with -characteristics of the language which are not currently implemented. For example, a different intonation module. -
-If you are interested in working on a language, please contact me so that I can set up the initial data and discuss the features of the language. -

-For most of the eSpeak voices, I do not speak or understand the language, and I do not know how it should sound. I can only make improvements as a result of feedback from speakers of that language. If you want to help to improve a language, listen carefully and try to identify individual errors, either in the spelling-to-phoneme translation, the position of stressed syllables within words, or the sound of phonemes, or problems with rhythm and vowel lengths. -


+Most of the work doesn't need any programming knowledge. Just an understanding of the language, an awareness of its features, patience and attention to detail. Wikipedia is a good source of basic phonetic information, eg http://en.wikipedia.org/wiki/Vowel. +

+

+ In many cases it should be fairly easy to add a rough implementation of a new language, hopefully enough to be intelligible. After that it's a gradual process of improvement. +

+

6.1 Language Code

-

Generally, the language's international ISO 639-1 code is used to -identify the language. It is used in the filenames which -contains the language's data. In the examples below the code "en" -(English) is used as an example. Replace this with the code of your -language.

-It is possible to have different variants of a language, for example where the sound of some phonemes changed, -or where some of the pronunciation rules differ. -


-

6.2 Phoneme File

-

You must first decide on the set of phonemes to be used for the -language. These should be listed and defined in a phonemes file such as -ph_english. A reference to this file is then included at the end of -the phonemes, file (the master phoneme file), eg:

-
   phonemetable  en  base
-   include  ph_english

-This example defines a phoneme table "en" which inherits -the contents of phoneme table "base". Its contents are -found in the file ph_english.

-

The base phoneme table contains definitions of a basic set of -consonants, and also some "control" phonemes such as stress marks and -pauses. The phoneme table for a language will generally inherit this, -or alternatively it may inherit the phoneme table of another language -which in turn inherits the base phoneme table.

-

The phonemes file for the language defines those additional -phonemes which are not inherited (generally the vowels and diphthongs, plus any additional -consonants), or phonemes whose definitions differ from the -inherited version (eg. the redefinition of a consonant).

-

Details of the contents of phonemes files are given in -phontab.html.

-The Compile phoneme data function of the espeakedit -program compiles the phonemes files to produce the files -espeak-data/phontab, phonindex, and phondata.

-For information on how to analyse recorded sounds of the language and to -prepare the corresponding phoneme data, see espeakedit and analysis).

-For an initial draft a language will often be able to use vowels and -consonants which have already been set up for another language. -


-

6.3 Dictionary Files

-

Once the language's phonemes have been -defined, then pronunciation dictionary data can be produced in order -to translate the language's source text into phonemes. This consists -of two source files: en_rules (the spelling to phoneme rules) and -en_list (an exceptions list, and attributes of certain words). The corresponding compiled data -file is espeak-data/en_dict which is produced from en_rules -and en_list sources by the command: speak  --compile=en.

-

Details of the contents of the -dictionary files are given in dictionary.html.

-

The en_list file contains not -only pronunciation exceptions, but also gives attributes to specific -words, Most notable of these are:

-

$u Some common words should be -marked as "unstressed" in order to make the speech flow better. -These words generally include articles (eg: a, the, this, that), -auxillary verbs (eg: is, have, will, can, may), pronouns and -possessive adjectives (eg: he, his), some common prepositions (eg: -of, to, in, of), some common conjunctions (eg. and, or, if), some -common adverbs and adjectives (eg. any, already)

-

$pause Some words should be marked to have a short pause -before then, in order to produce natural pauses in long sentences. -These include conjunctions (eg. and, or, but, however, which) and perhaps -some prepositions.

-
-

6.4 Voice File

-

Each language should have one or more -voice files in espeak-data/voices. The filename of the default voice -for a language should be the same as the language code.

-

Details of the contants of voice files -are given in voices.html.

-

The simplest voice file would contain -just a single line to give the language code, eg:

-
   language en

-This language code specifies the phoneme table (i.e. phonemetable en and the -dictionary (i.e. espeak-data/en_dict) to be used. If needed, these can be -overridden by phonemes and dictionary attributes in the -voices file.

-
-

6.5 Program Code

-

The behaviour of the speak program is -controlled by various options (eg. whether words are stressed on the first, -last, or penultimate syllable). The function SetTranslator() at the -start of the tr_languages.cpp file recognizes the language -code and sets the appropriate set of options.

-

For a new language, you would add its -language code and the required options in SetTranslator(). However, this -may not be necessary during testing because most of the options can also be -set from the voice file in -espeak-data/voices.

+

+Generally, the language's international ISO 639-1 code is used to identify the language. It is used in the filenames which contain the language's data. In the examples below the code "fr" is used as an example. Replace this with the code of your language. +

+

+If the language does not have a 2-letter ISO_639-1 code, then use the 3-letter ISO_639-3 code. Language codes may differ from country codes. +

+

+It is possible to have different variants of a language for different dialects. For example the sound of some phonemes are changed, or some of the pronunciation rules differ. +

+
+

6.2 Language Files

+

+The following files are needed for your language. +

+
    +
  • espeak-data/voices/fr. The voice file. This gives the language name and may set some options. +

    +
  • phsource/ph_french. The phoneme definition file. This contains phoneme definitions for the vowels and consonants which the language uses. Usually it will contain mostly vowels. Most consonants will be inherited from the common phoneme definitions in the master phoneme file, phsource/phonemes. The master phoneme file needs to be edited to call your new ph_french file. +

    +
  • dictsource/fr_rules. This contains the spelling-to-phoneme translation rules. +

    +
  • dictsource/fr_list. This contains pronunciations for numbers, letter and symbol names, and words with exceptional pronunciations. It also gives attributes such as "unstressed" and "pause" to some common words. +
+

+The fr_rules and fr_list files are compiled to produce the file espeak-data/fr_dict, which eSpeak uses when it is speaking. +

+
+

6.3 Voice File

+

+Each language needs a voice file in espeak-data/voices or espeak-data/voices/test. The filename of the default voice for a language should be the same as the language code (eg. "fr" for French). +

+

+Details of the contents of voice files are given in voices.html. +

+

+The simplest voice file would contain just 2 lines to give the language name and language code, eg: +

+
+  name french
+  language fr
+
+

+

+This language code specifies which phoneme table and dictionary to use (i.e. phonemetable fr and espeak-data/fr_dict) to be used. If needed, these can be overridden by phonemes and dictionary attributes in the voice file. For example you may want to start the implementation of a new language by using the phoneme table of an existing language. +

+
+

6.4 Phoneme Definition File

+

+You must first decide on the set of phonemes (vowel and consonant sounds) for the language. These should be defined in a phoneme definition file ph_xxxx, where "ph_xxxx" is the name of your language. A reference to this file is then included at the end of the master phoneme file, phsource/phonemes, eg: +

+
+  phonemetable  fr  base
+  include  ph_french
+
+

+

+This example defines a phoneme table "fr" which inherits the contents of phoneme table "base". Its contents are found in the file ph_french. +

+

+The base phoneme table contains definitions of a basic set of consonants, and also some "control" phonemes such as stress marks and pauses. These are defined in phsource/phonemes. The phoneme table for a language will inherit these, or alternatively it may inherit the phoneme table of another language which in turn inherits the base phoneme table. +

+

+The phonemes file for the language defines those additional phonemes which are not inherited (generally the vowels and diphthongs, plus any additional consonants that are needed), or phonemes whose definitions differ from the inherited version (eg. the redefinition of a consonant). +

+

+Details of phonemes files are given in phontab.html. +

+

+The Compile phoneme data function of the espeakedit program compiles the phonemes files of all languages to produce the files espeak-data/phontab, phonindex, and phondata which are used by eSpeak. +

+

+For many languages, the consonant phonemes which are already available in eSpeak, together with the available vowel files which can be used to define vowel phonemes, will be sufficient. At least for an initial implementation. +

+
+

6.5 Dictionary Files

+

+Once the language's phonemes have been defined, then pronunciation dictionary data can be produced in order to translate the language's source text into phonemes. This consists of two source files: fr_rules (the spelling to phoneme rules) and fr_list (an exceptions list, and attributes of certain words). The corresponding compiled data file is espeak-data/fr_dict which is produced from fr_rules and fr_list sources by the command: +

+
+ espeak --compile=fr. +
+

+

+Or by using the espeakedit program. +

+

+Details of the contents of the dictionary files are given in dictionary.html. +

+

+The fr_list file contains: +

+
    +
  • Pronunciations which exceptions to the rules in fr_rules, (eg. foreign names). +
  • Pronunciation of letter names, symbol names, and punctuation names. +
  • Pronunciation of numbers. +
  • Attributes for words. For example, common function words which should not be stressed, or conjunctions which should be preceded by a pause. +
+
+

6.6 Program Code

+

+The behaviour of the eSpeak program is controlled by various options such as: +

+
    +
  • Default rules for which syllable of a word has the main stress. +
  • Relative lengths and amplitude of vowels in stressed and unstressed syllables. +
  • Which intonation tunes to use. +
  • Rules for speaking numbers. +
- - \ No newline at end of file +

+The function SetTranslator() at the start of the source code file tr_languages.cpp recognizes the language code and sets the appropriate options. For a new language, you would add its language code and the required options in SetTranslator(). However, this may not be necessary during testing because most of the options can also be set in the voice file in espeak-data/voices (see Voice files). +

+
+

6.7 Improving a Language

+

+Listen carefully to the eSpeak voice. Try to identify what sounds wrong and what needs to be improved. +

+
    +
  • Make the spelling-to-phoneme translation rules more accurate, including the position of stressed syllables within words. Some languages are easier than others. I expect most are easier than English. +

    +
  • Improve the sounds of the phonemes. It may be that a phoneme should sound different depending on adjacent sounds, or whether it's at the start or the end of a word, between vowels, in a stressed or unstressed syllable, etc. This may consist of making small adjustments to vowel and diphthong quality or length, or adjusting the strength of consonants. Phoneme definitions can include conditional statements which can be used to change the sound of a phoneme depending on its environment. Bigger changes may be recording new or replacement consonant sounds, or may even need program code to implement new types of sounds. +

    +
  • Some common words should be added to the dictionary (the fr_list file for the language) with an "unstressed" attribute $u or $u+ (eg. in English, words such as "the", "is", "had", "my", "she", "of", "in", "some"), or should be preceded by a short pause (such as "and", "but", "which"), or have other attributes, in order to make the speech flow better. +

    +
  • Improve the rhythm of the speech by adjusting the relative lengths of vowels in different contexts, eg. stressed/unstressed syllable, or depending on the following phonemes. This is important for making the speech sound good for the language. +

    +
  • Make new intonation "tunes" for statements or questions (see Intonation). +
+ +

+If you are interested in working on a language, please contact me so that I can set up the initial data and discuss the features of the language. +

+

+For most of the eSpeak voices, I do not speak or understand the language, and I do not know how it should sound. I can only make improvements as a result of feedback from speakers of that language. If you want to help to improve a language, listen carefully and try to identify individual errors, either in the spelling-to-phoneme translation, the position of stressed syllables within words, or the sound of phonemes, or problems with rhythm and vowel lengths. +

+
+ + + + diff --git a/docs/phontab.html b/docs/phontab.html index c625e69c..96112213 100644 --- a/docs/phontab.html +++ b/docs/phontab.html @@ -254,7 +254,7 @@ Can be:
Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none.

PreVoicing() -
This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmer before the stop. +
This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmur before the stop.

KlattSynth()
Returns true if the voice is using the Klatt synthesizer rather than the eSpeak synthesizer. diff --git a/phsource/b/br b/phsource/b/br index 2a1b998181bbdf760dd3f12eeba032e751e2534e..c89427b59a9d329753041f0dd4cff8aa3327a7e2 100755 GIT binary patch delta 176 zcmX>la7ti98cY2S1_mw(#t_Cx1_p*m2396Dh6PLv9DA5Jn4*9pQ4Cz{0Sp^h7+4~h z-ZAw6MS2)yxE?TQa51nxV0^&H!pOkD!WhfDo8c8V0}DdLgkPI6fscV1A;Q2=G34)Vw%rW0RFZ&qN{Vg>;4S|lt0 delta 164 zcmX>la7ti98cTf%0|To9vjTG@0|P@O11pmn!waBD5OWZ-4NxSCfr~wW;SMVU^E;+@ zOesK-9tIh%2Ml_g3`}e+Y%HsQA}oxtyt^5m@Gvk+u}HD7FoHx(__Y}&1Q;0iFzsQ2 rh%hkJIM;|WFn~n90M&pn14G5c)BJ*#3>wPF5@r)$OK(pVPs%nVKm|0%WD(QN@|>>B0GER%O#lD@ delta 95 zcmaDV@kD|zIKb68BskEBiGhKkB55Ok5y#|o79ool3=FJ6%t6dHK;b9`ZgwArJFE=M w@0i{(r2s{G7?ilG81y(9nAlj@SXKc=SQt%sH#0opnY@uDgwbrX0;el803PiWcK`qY diff --git a/phsource/compile_report b/phsource/compile_report index f0fe0a52..b6f2961a 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,7 +1,7 @@ -68 phoneme tables +73 phoneme tables new total base 107 107 -consonants 9 115 +consonants 10 116 base2 26 123 en 48 148 en-n 32 148 @@ -12,7 +12,7 @@ consonants 9 115 en-wi 30 148 af 39 136 cy 29 132 - de 37 138 + de 38 139 eo 13 114 jbo 2 114 nci 3 123 @@ -20,17 +20,18 @@ consonants 9 115 fr 59 140 fr-ca 11 140 hi 59 150 - ta 21 153 + ta 22 153 + kn 16 150 hu 25 122 lv 29 125 - nl 25 126 + nl 33 127 pl 22 120 sk 28 135 cs 6 135 hr 25 140 mk 3 141 sr 14 140 - it 18 126 + it 19 127 la 21 124 es 10 123 es-la 1 123 @@ -43,7 +44,7 @@ consonants 9 115 sv 22 127 no 28 132 is 42 139 - ru 39 133 + ru 49 137 vi 41 139 zhy 41 136 zh 64 153 @@ -55,19 +56,23 @@ consonants 9 115 hy 23 117 da 27 120 rw 15 130 - ml 13 151 + ml 18 151 ne 18 157 pa 14 151 prs 8 111 sl 10 135 gd 6 107 - bg 10 121 + bg 11 121 nso 12 111 ht 11 140 az 10 127 ak 8 109 am 8 123 wo 18 118 + dv 14 150 + te 16 150 + tn 27 119 + ka 19 112 Data file Used by b/b [b] base @@ -77,6 +82,7 @@ b/b_ [b] base [b] fr b/b@ [b] base b/b@2 [b] base + [bh] hi b/ba [b] base b/be [b] base b/bi [b] base @@ -216,17 +222,20 @@ g/g [g] base [g] cy [g] fr [g] es + [g] ru g/g_ [g] base [g-] en [g] cy [g] fr [g] es + [g] ru g/gr [g] fr g/xg [g] base [g-] en [g] cy [g] fr [g] es + [g] ru g/xgr [g] fr h/h_ [h] base [h] fi @@ -297,12 +306,16 @@ klatt/dz_pzd [J] base [J] tr klatt/dz_pzd_ [J] base klatt/m [m] base + [m;] ru klatt/m_ [m] base + [m;] ru klatt/m-syl [m-] base klatt/n [n] base [n] fr klatt/n^ [n^] base + [n#] ru klatt/n^@ [n^] base + [n#] ru klatt/nn [N] base klatt/nr [n.] base klatt/n-syl [n-] base @@ -347,11 +360,12 @@ l/l_ [l] base [l/] fr l/l_@ [l/3] base [l/] fr -l/l@ [hVt] base +l/l@ [h¶p] base [l#] base [l] fr [l/2] fr [K] nso + [K] tn l/L1_aL [l] base [l/] base [l/] de @@ -380,30 +394,33 @@ l/L2_oL [l/2] base l/L2_uL [l/2] base l/l_3 [l/] de l/l_4 [ll] sq -l/la [hVt] base +l/la [h¶p] base [l#] base [l] fr [l/2] fr [K] nso + [K] tn l/l_a [l/3] base [l/] fr -l/le [hVt] base +l/le [h¶p] base [l#] base [l] fr [l/2] fr [K] nso + [K] tn l/l_e [l/3] base [l/] fr l/L_eL_af [&] af [&:] af l/l_front [L] sq l/l_front_ [l/4] sq -l/li [hVt] base +l/li [h¶p] base [l#] base [l] fr [l/2] fr [l] zh [K] nso + [K] tn l/l_i [l/3] base [l/] fr [i] sq @@ -411,19 +428,22 @@ ll/ll [L] bg ll/_ll [L] bg l/l_long [l] base [l] fr -l/lo [hVt] base +l/lo [h¶p] base [l#] base - [l] fr [l/2] fr [K] nso + [K] tn l/l_o [l/3] base [l/] fr l^/l_rfx [l.] base -l/lu [hVt] base + [l] ru + [l^] ru +l/lu [h¶p] base [l#] base [l] fr [l/2] fr [K] nso + [K] tn l/l_u [l/3] base [l/] fr l/l_vi [l] vi @@ -440,6 +460,7 @@ l/xl [l] base [l] hu [ll] sq [K] nso + [K] tn m/_m [m] base m/m_ [m] base m/m@ [m] base @@ -447,13 +468,18 @@ m/m#_ [m#] is m/ma [m] base m/me [m] base m/mi [m] base + [m;] ru m/mj [m] base + [m;] ru m/mo [m] base m/m-syl [m-] base m/mu [m] base n^/_n^ [n^] base + [n#] ru n^/n^_ [n^] base + [n#] ru n^/n^@ [n^] base + [n#] ru n^/n^#_ [n^#] is n/_n [n] base [n] fr @@ -466,18 +492,21 @@ n/n@ [n] base [n] zh n/n#_ [n#] is n^/n^a [n^] base + [n#] ru n/na [n] base [n.] base [n] fr [n#] is [n] zh n^/n^e [n^] base + [n#] ru n/ne [n] base [n.] base [n] fr [n#] is [n] zh n^/n^i [n^] base + [n#] ru n/ni [n] base [n.] base [n] fr @@ -516,6 +545,7 @@ nn/nnu [N] base [N#] is [N] zh n^/n^o [n^] base + [n#] ru n/no [n] base [n.] base [n] fr @@ -525,6 +555,7 @@ n/_nr [n.] base n/nr_ [n.] base n/n-syl [n-] base n^/n^u [n^] base + [n#] ru n/nu [n] base [n.] base [n] fr @@ -532,17 +563,22 @@ n/nu [n] base [n] zh r/@_ [V#] de r2/r2@ [r-] en + [r-] tn r2/r2a [r-] en + [r-] tn r2/r2e [r-] en + [r-] tn r2/r2i [r-] en + [r-] tn r2/r2o [r-] en + [r-] tn r2/r2u [r-] en + [r-] tn r3/r_ [r/] base [r/] af - [r/] ru + [r/] tn r3/r#_ [r#] is r3/r_n [r/] base - [r/] ru r3/r_ru [R4] ru r3/r_ru2 [R4] ru r3/r_trill [R2] base @@ -552,12 +588,15 @@ r3/r_trill [R2] base [R] pl [r*] sr [x] pt + [r] ru + [r] tn r3/r_trill2 [R] base [r] cy r3/r_trill2.wav [R] base [r] cy r3/r_trill3.wav [R3] base [r] af + [r] tn r3/r_trill_short [R2] fi r3/r_trill.wav [R2] base [R2] fi @@ -565,10 +604,11 @@ r3/r_trill.wav [R2] base [R] pl [r*] sr [x] pt + [r] ru r3/r_uvl [r"] base - [r] de + [r2] de r3/r_uvl.wav [r"] base - [r] de + [r2] de r3/rx [*] base [r/] base [r/] af @@ -577,7 +617,7 @@ r3/rx [*] base [x] pt-pt [*;] ro [r#] is - [r/] ru + [r/] tn r3/rz_cs [R^] sk [R^/] sk r3/@tap [**] base @@ -587,44 +627,43 @@ r/a_ [r] da r/aa [R] da r/r [r] base [r-] en + [r-] tn r/_r [r] base r/r@ [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/ra [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/re [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/ri [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/ro [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/rr [r/] base [r] ro - [r] ru r/ru [r] base [R3] base [r] af [r] ro - [r] ru + [r] tn r/tr [r] base r/trr [r/] base [r] ro - [r] ru r/V_ [V#] de r/V_2_ [V#] de r/xr [r] base @@ -632,6 +671,8 @@ r/xr [r] base [r-] en [r] af [r] ro + [r] tn + [r-] tn ufric/ch [C] base [J^] base ufric/ch_ [C] base @@ -652,6 +693,7 @@ ufric/s [s] base [s] fr [z2] fr [s] es + [s] ru [z] sq [s] da ufric/s_ [s] base @@ -695,12 +737,14 @@ ufric/th [T] base ufric/th_ [T] base ufric/tl# [tl#] is ufric/tlh [K] nso + [K] tn ufric/x [x] base [kh] vi ufric/x2 [x2] af [x] ku ufric/x_hr [x] base [x] hr + [x] ru ufric/x_sr [h] sr [x] sr ufric/xx [X] base @@ -718,6 +762,7 @@ ustop/k_ [k] base ustop/k_asp [kh] consonants [gh] hi [kh] zh + [kh] tn ustop/ki [k] base [k] base2 [c] af @@ -736,6 +781,7 @@ ustop/kl [k] base [k] lv [k] el [k] zhy + [kh] tn ustop/kr [k] base [k] base2 [k] el @@ -747,6 +793,7 @@ ustop/k_unasp [k] base [k] el [k] zhy [k] sq + [k-] tn ustop/k_unasp_ [k] zh ustop/null [?] base [t2] hu @@ -757,10 +804,11 @@ ustop/p [p] base ustop/p_ [p] base [ph] consonants [p] fr + [ph] tn ustop/p_asp [ph] consonants [bh] hi [ph] zh - [p#] hy + [ph] tn ustop/percus02 [#X2] hi ustop/percus10 [#X1] base ustop/pl [p] base @@ -772,11 +820,12 @@ ustop/pl [p] base [p] sk [p] sq [p] da + [ph] tn ustop/pr [p] base [p-] consonants - [ph] consonants [p] base2 [p] da + [ph] tn ustop/p_unasp [p] base [p-] consonants [p] base2 @@ -800,6 +849,7 @@ ustop/t [t] base [t] zhy [t] da ustop/t_ [t] base + [t-] consonants [t] en-us [t] fr [t] lv @@ -826,18 +876,24 @@ ustop/ts [ts] consonants [ts] hu [z] zhy [tsh] zh + [ts] tn ustop/ts_ [ts] consonants [dz] consonants [ts] lv + [ts] tn ustop/ts2 [ts] lv [ts] hy + [ts] ka ustop/tsh [tS] base [c] zhy + [tS] tn ustop/tsh_ [tS] base [c] zhy + [tS] tn ustop/tsh2 [tS] hr [dZ] hr -ustop/t_short [t] fr +ustop/t_short [t-] consonants + [t] fr [t2] fr [t.] hi [t] lv @@ -850,6 +906,7 @@ ustop/ts_pzd [tS;] base [Jh] hi [tS;] ru [dZ;] sq + [tS;] tn ustop/ts_pzd_ [c2] consonants ustop/ts_pzd2 [c2] consonants ustop/ts_pzd3 [tS;] hr @@ -882,7 +939,7 @@ vdiph2/ei_4 [eI] en-us [ei] zh [eI] sq vdiph2/eo [eo] ro -vdiph2/e[u [e[u] ro +vdiph2/e_u [e[u] ro vdiph2/i@ [i@] en-n [i@] hy vdiph2/i@_2 [i@] en-wm @@ -891,6 +948,7 @@ vdiph2/ie [i@] en-wi vdiph2/ie_2 [ie] lv vdiph2/ii@ [i@] en [i@3] en + [ja] ru vdiph2/ii@_3 [i@] vi vdiph2/iioo [io] zh vdiph2/iu [iU] base2 @@ -946,7 +1004,10 @@ vdiph/aau_2 [aU] en-wi [aU] la [aau] zhy vdiph/aau_3 [aU] hi + [aU] kn + [aU] ml [aU] ne + [aU] te vdiph/aau_4 [aU] vi vdiph/aau_6 [aU] de vdiph/ae [E:] fr-ca @@ -955,6 +1016,7 @@ vdiph/ae_2 [aI] en-n vdiph/ai [aI] base2 [aI] en-wi [aI] eo + [aI] kn [aI] sk [aI] hr [aI] it @@ -963,6 +1025,8 @@ vdiph/ai [aI] base2 [aI] id [aI] hy [aI] da + [aI] ml + [aI] te vdiph/ai_2 [aI] en [aI] cy [aY] cy @@ -976,7 +1040,9 @@ vdiph/ai_7 [aI] en-sc [aI] is [aI:] is vdiph/ai_8 [aI] ta + [aI] dv vdiph/aoo [aU] en-us + [aU] it vdiph/au [aU] en [aU] af [aU] ta @@ -989,7 +1055,6 @@ vdiph/au_4 [aU] base2 [aU] cy [aU] eo [aU] sk - [aU] it [aU] id vdiph/ee-e [E:] hi vdiph/eei [EI] base2 @@ -1041,6 +1106,7 @@ vdiph/@i_2 [eI] af [@I] cy [@Y] cy vdiph/i@_2 [e@] af + [e@] tn vdiph/@i_3 [eI] en-wm [@I] ro [ai] zhy @@ -1060,12 +1126,12 @@ vdiph/ooi [OI] en [OI] en-n [OI] cy [OY] cy - [oI] eo [oi] fi [oi] lv [OI] no [oi] zhy vdiph/ooi_2 [OI] af + [oI] eo vdiph/ooi_3 [OI] en-rp [aI] en-wm vdiph/ooi_4 [OI] en-us @@ -1079,6 +1145,7 @@ vdiph/ou_2 [oU] sk [oU] ro vdiph/ou_3 [oU] is [oU:] is +vdiph/ou_4 [o:] nl vdiph/@u [u:] en-wm [@U] vi [@:U] vi @@ -1101,7 +1168,6 @@ vdiph/Vi [VI] ne vdiph/Vu [@U] af [VU] ne vdiph/Vu_2 [oU] en-wm -vdiph/Vu_3 [o:] nl vdiph/&y [&y] fi [Wy] nl vdiph/yi [yi] fi @@ -1118,7 +1184,8 @@ vdiph/y#y_3 [Y:] nl vnasal/aa_n [a~] hi vnasal/aa_n2 [A~] en vnasal/aa_n3 [A~] af -vnasal/aa_n4 [A~] fr +vnasal/aa_n4 [A~] de + [A~] fr [A~] ht vnasal/a#_n [&~] pt vnasal/a#u_n [&U~] pt @@ -1226,11 +1293,13 @@ vowel/@ [@] base [@] en-rp [V] cy [@4] hi + [@] kn [@] hy - [@] ml [@] sl [@] wo [@:] wo + [@] te + [@] ka vowel/@- [@-] base [r*] hr vowel/& [a] en-rp @@ -1239,6 +1308,7 @@ vowel/& [a] en-rp [&] lv [&:] lv [&] sv + [ja#] ru [&#] da [&] az vowel/0 [0] en @@ -1249,6 +1319,7 @@ vowel/0_2 [0] en-n [O] pt-pt [o] sw [o] nso + [o] tn vowel/0_3 [O:] en-us [O] en-sc [0] en-rp @@ -1284,6 +1355,7 @@ vowel/8_2 [U] en-us vowel/8_3 [eo] zhy vowel/8_5 [8] ku vowel/8_6 [V] sq + [y] ml vowel/8_7 [@] lv vowel/a [a] base [a] en @@ -1316,6 +1388,8 @@ vowel/a# [a] base2 [a#] rw [a/] rw [a] wo + [a] dv + [a:] dv vowel/a_2 [a] base2 [a] en-wi [A:] en-wi @@ -1328,18 +1402,23 @@ vowel/a_2 [a] base2 [a] el [a] da [a] rw -vowel/a#_2 [A] nl +vowel/a#_2 [a] kn + [A] nl [a:] nl [a#] pl [&] hr [a] sv [a] is [a/] sw + [a] ml [a] nso + [a] te + [a] ka vowel/a_3 [a] en-sc [a/] en-sc [A:] en-sc [aa] en-sc + [a:] kn [a] lv [a:] lv [a:] cs @@ -1378,6 +1457,8 @@ vowel/a_5 [a:] ta [a] sv [a] sw [a:] ml + [a:] te + [a] tn vowel/a_6 [a] ca [a:] vi [a:] wo @@ -1398,6 +1479,7 @@ vowel/aa_2 [A:] en [A@] en [A:] cy [A] zh + [A@] tn vowel/aa_3 [A:] af [A] sq [A] prs @@ -1434,9 +1516,10 @@ vowel/e [e] base [eI] en-wi [e:] af [e:] cy - [e] eo [e] ta [e:] ta + [e] kn + [e:] kn [e] hr [e/] it [e:] la @@ -1456,6 +1539,9 @@ vowel/e [e] base [e] sl [e] wo [e:] wo + [e] dv + [e:] dv + [e:] te vowel/e# [I] en-sc vowel/e_2 [eI] en-sc [e:] de @@ -1475,6 +1561,7 @@ vowel/e_8 [E:] de [e] fr vowel/ee [E] en-n [E] sv + [e] ka vowel/e_e [E] en-sc [E:] is vowel/ee# [E#] pl @@ -1495,6 +1582,7 @@ vowel/ee_2 [E] cy [E] pa vowel/ee#_2 [E-] sv [E#] sq + [e] tn vowel/ee_3 [&] af [&:] af [E] pt @@ -1504,6 +1592,7 @@ vowel/ee_5 [E] en [E] ak [E] wo [E:] wo + [E] tn vowel/ee_6 [&] sk [E3] sv [E] ku @@ -1533,14 +1622,17 @@ vowel/e_mid [E] en-rp [E] prs [e] bg [E] ht + [e] ka vowel/e_mid2 [E] af [E] de [E2] de + [e] eo [e] jbo [e] nci [e] fi [E] nl [e] sk + [e/] it [e] es [e] ro [e] el @@ -1552,6 +1644,7 @@ vowel/e_mid2 [E] af [e] nso [e] az [e] am + [e] te vowel/@_fnt [@] en-wi [@2] en-wi [@2] hr @@ -1567,6 +1660,7 @@ vowel/i [i] base [i:] cy [i] eo [i:] ta + [i:] kn [i:] hu [i] it [i] pt-pt @@ -1586,6 +1680,9 @@ vowel/i [i] base [i] ak [i] am [i:] wo + [i:] dv + [i:] te + [i] ka vowel/i# [y:] cy vowel/i_2 [i2] de [i:] de @@ -1607,6 +1704,7 @@ vowel/i#_5 [y] pt-pt [y] ro vowel/i_6 [i] hi [i] ta + [i] kn [i] lv [i:] lv [i] hr @@ -1615,6 +1713,8 @@ vowel/i_6 [i] hi [i] id [i] ml [i] bg + [i] dv + [i] te vowel/i#_6 [i.] zh vowel/i_7 [i] pl [i] sq @@ -1640,11 +1740,12 @@ vowel/ii [I] en-n [i] zhy [I] ku [I#] sq + [I] ml + [i] tn vowel/ii# [Y] cy [Y] ru [I] ku [i] sq - [y] ml vowel/ii_2 [I] en [i] zh vowel/ii#_2 [y] pl @@ -1661,7 +1762,9 @@ vowel/ii_3 [I] cy vowel/ii#_3 [I2] en-us vowel/ii_4 [I2] en [I] en-us -vowel/ii_5 [I] la + [I2] tn +vowel/ii_5 [i] ta + [I] la [i] zh [i] bg [i] az @@ -1675,7 +1778,7 @@ vowel/ii_6 [I] en-wm [i] is [I] sq [i] wo -vowel/ii_en [i] en +vowel/ii_7 [i] en [i] sq vowel/ii_final [i] en-us [i] en-rp @@ -1689,6 +1792,7 @@ vowel/@_low [@] en-rp [@] ro [a#] no [@] id + [@] ml [V] ne [@/] ne [@] pa @@ -1701,10 +1805,13 @@ vowel/o [o] base2 [oU] en-n [oU] en-wi [o:] de + [o] eo [o] fr [o] hi [o] ta [o:] ta + [o] kn + [o:] kn [o] it [o/] it [O] la @@ -1723,6 +1830,8 @@ vowel/o [o] base2 [o] ak [o] wo [o:] wo + [o] te + [o:] te vowel/o_2 [o:] cy [o:] hi [o:] hu @@ -1736,9 +1845,9 @@ vowel/o_3 [oU] en-sc vowel/o-_3 [U] en-rp vowel/o-_4 [o] ro [o] am -vowel/o_5 [O] nl - [O] da -vowel/o_6 [O:] nl +vowel/o_5 [O] da +vowel/o_6 [O] nl + [O:] nl vowel/o_7 [o] ku vowel/o_8 [o] fr [o] ht @@ -1755,6 +1864,8 @@ vowel/o_mid [U@] en-rp [o] ne [o] bg [o] az + [o] dv + [o:] dv vowel/o_mid2 [O] fr [O] ht vowel/oo [o] base @@ -1763,7 +1874,6 @@ vowel/oo [o] base [O:] en-wi [O@] en-wi [O] de - [o] eo [O] es [O] ca [o] el @@ -1783,13 +1893,17 @@ vowel/oo_1 [O:] en-n [O:] en-wm [O@] en-wm [O:] af + [o] eo [o] fi [o] lv [o:] lv [o] sk [o:] sk [o] hr + [o/] it [O] sq + [O] tn + [o] ka vowel/oo_2 [0] en-sc [O] cy [o] cs @@ -1860,6 +1974,7 @@ vowel/u#_4 [U] en-sc vowel/u_5 [u] sw [u] nso [u] az + [u] tn vowel/u#_5 [y] vi vowel/u_6 [u:] en-rp [u] ta @@ -1868,6 +1983,10 @@ vowel/u_6 [u:] en-rp [U] pt-pt [u] pt-pt [u] ku + [u] dv + [u:] dv + [u] te + [u:] te vowel/u_7 [u] vi vowel/u#_7 [@] tr [@] az @@ -1898,6 +2017,7 @@ vowel/u_bck [u] base2 [u] ne [u] pa [u] bg + [u] ka vowel/u_bck2 [u] fr [u:] fr [u:] la @@ -1905,6 +2025,7 @@ vowel/u_bck2 [u] fr vowel/uu [U] en [U] en-n [U] en-wm + [U] tn vowel/uu# [U] ku vowel/uu_2 [U] base2 [U] de @@ -1917,6 +2038,8 @@ vowel/uu_4 [U] fi vowel/uu_bck [U] en-wi [U] fr-ca [U] hi + [u] kn + [u:] kn [u] hu [U] pt [U] no @@ -1928,12 +2051,11 @@ vowel/V [3] en-sc vowel/V_2 [V] en [a] af [V] fr + [@] ta [V] ru [V#] ru [V] ku vowel/V_3 [V] en-rp - [3] de - [3:] de [V] hi [V] ta [V] pa @@ -2037,6 +2159,7 @@ vwl_fr/e_2r [] fr vwl_fr/ee2r [] fr vwl_fr/i2r [] fr vwl_fr/j [j/] fr +vwl_fr/lo [l] fr vwl_fr/o2r [] fr vwl_fr/oo2r [] fr vwl_fr/r [r] fr @@ -2096,9 +2219,9 @@ vwl_ru/E@ [E2] ru [E3] ru vwl_ru/E# [E#] ru vwl_ru/ee [e] ru -vwl_ru/i [i] ru vwl_ru/i# [y] ru vwl_ru/ii [I] ru + [i] ru [I2] ru [I3] ru vwl_ru/ii- [I^] ru @@ -2110,6 +2233,9 @@ vwl_ru/oo [O] ru vwl_ru/u [u] ru vwl_ru/u# [u#] ru vwl_ru/u#u [u"] ru +vwl_tn/@ [@] tn +vwl_tn/I [I] tn +vwl_tn/r@ [@] tn vwl_zh/aang [aan] zhy vwl_zh/aau [Au] zh vwl_zh/a_n [a] zh @@ -2212,8 +2338,10 @@ x/g_ [g] base [g] fr [g] es [g] is + [g] ru x/g2 [g] base [g] cy [g] es [g] is x/g2_ [g-] en +x/g3 [g] ru diff --git a/phsource/g/gr b/phsource/g/gr index 3222a12777f614bf97adacd725e9717b0f2c174e..024907ad1f6970c99eb2a66d661c53ceed559ad6 100755 GIT binary patch delta 398 zcmdnNc7~HbIKb68BskEBiGhJ3y@+`tzYG)ef{nV}jP(voAAn*Y;J|tg!e9sj((zC> z1H&|i2KErf35=0I5fElz*uvPr*2NUTWCLVJfkmv@7?>k~A}K_IU=7Xz~llMK@; zAdiI+B=nM}0mzqO0`VXsHv9~xXhQ2G8W{F4?P2-?R0P5d411)37)8WHadHmRnaN8S zb?QO(LBI|M1}+K45F}SFU}E6d!^FV^av{W(8(0`vBADJWfm{f2r3M!R>jTCIj0iWq q;$~n$6-nS@U`7>rAkDxCc9Is{l?;;Tu5^$`7BQXpT6*#nrX>LHnn7*= delta 149 zcmX@Zxr2>AIKb68BskEBiGhK^J&0){zYG&g&qm#D#>qa+64{|ZQ3xnuU|>~XR$z_< zazU7Z;RH}5h&hPa2FQ*Ai`-#lV1CE+jwuDm>j8`CaWXKmv9PhM0`gcGK|)V>7#O8k Zq*y>ah=_y$1LGd1Jrmd3POe}&001!^7gqoP diff --git a/phsource/g/xg b/phsource/g/xg index 4cbb58ea7693913157769dfea6785f7fd8d5527a..0a8f464a52438a826321c775109679a988664f39 100644 GIT binary patch delta 242 zcmaDN@kC;R6L$pz45Uo-Rkql})WGD$S1Kltst|~OcOn5h=85YAY%V@*D`3^@1 M^JFg$9qO7009e>6(f|Me delta 242 zcmaDN@kC;R6L&2G43tdtRkpam&cO5z2&Vx>dl*Ey3K*2Q85r4E*jOYO85md?4SByX zyx?VElwy%$VF8O&^0P5X2y9%jg&Enb$&DQ7hADAXp&4evyBW=}7=Bqs34zUbI69ao KdvWMc*F*q3swlqz diff --git a/phsource/intonation b/phsource/intonation index ad53fce1..8bc10510 100644 --- a/phsource/intonation +++ b/phsource/intonation @@ -98,9 +98,9 @@ endtune tune c3 prehead 46 57 headenv fall 16 -head 4 80 30 -5 -15 -headextend 0 63 38 13 0 -nucleus0 fall-rise 75 40 +head 4 70 30 -8 -5 +// headextend 0 63 38 13 0 +nucleus0 fall-rise 75 50 endtune // question mark "?" - point d'interrogation diff --git a/phsource/ph_albanian b/phsource/ph_albanian index 080268c9..47e87705 100644 --- a/phsource/ph_albanian +++ b/phsource/ph_albanian @@ -88,7 +88,7 @@ phoneme i ENDIF IF nextPh(l/3) THEN VowelEnding(l/l_i, -30) - FMT(vowel/ii_en) + FMT(vowel/ii_7) ENDIF FMT(vowel/i_7) endphoneme diff --git a/phsource/ph_armenian b/phsource/ph_armenian index 27e836cf..a8170a27 100644 --- a/phsource/ph_armenian +++ b/phsource/ph_armenian @@ -79,11 +79,7 @@ endphoneme phoneme p# // more aspiration - vls blb stop - lengthmod 2 - voicingswitch b - CALL base/p - WAV(ustop/p_asp) + import_phoneme consonants/ph endphoneme @@ -98,8 +94,7 @@ endphoneme phoneme k# - import_phoneme base/k - length 80 + import_phoneme consonants/kh endphoneme diff --git a/phsource/ph_consonants b/phsource/ph_consonants index 8b1d1625..97e98991 100644 --- a/phsource/ph_consonants +++ b/phsource/ph_consonants @@ -41,7 +41,7 @@ phoneme p- // unaspirated Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 IF nextPh(l) THEN WAV(ustop/pl) - ELIF nextPh(r) THEN + ELIF nextPh(isRhotic) THEN WAV(ustop/pr) ELIF nextPh(isPause2) THEN WAV(ustop/p_unasp_, 80) @@ -59,9 +59,6 @@ phoneme ph // aspirated IF nextPh(isPause2) THEN WAV(ustop/p_) ENDIF - IF nextPh(r) THEN - WAV(ustop/pr) - ENDIF IF nextPh(l) THEN WAV(ustop/pl) ENDIF @@ -69,6 +66,19 @@ phoneme ph // aspirated endphoneme +phoneme t- + vls alv stop + lengthmod 2 + voicingswitch d + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + IF nextPh(isPause2) THEN + WAV(ustop/t_) + ENDIF + WAV(ustop/t_short) +endphoneme + + phoneme c2 vls pal afr sibilant lengthmod 2 diff --git a/phsource/ph_dutch b/phsource/ph_dutch index c3f53b2b..42c3beaf 100644 --- a/phsource/ph_dutch +++ b/phsource/ph_dutch @@ -64,8 +64,8 @@ endphoneme phoneme O vowel starttype #o endtype #o - length 150 - FMT(vowel/o_5) + length 140 + FMT(vowel/o_6) endphoneme phoneme O: // for "oor" @@ -125,7 +125,7 @@ endphoneme phoneme o: vowel starttype #o endtype #u length 200 - FMT(vdiph/Vu_3) + FMT(vdiph/ou_4) endphoneme @@ -166,7 +166,7 @@ endphoneme //=========== -phoneme r // from Afrikaans +phoneme r import_phoneme base/R2 endphoneme @@ -194,4 +194,83 @@ phoneme Q endphoneme +phoneme ! // Short pause, replaces assimilated t,d,p,b at end of word + pause + ipa NULL + starttype _ endtype _ + lengthmod 1 + length 25 +endphoneme + + +phoneme k + import_phoneme consonants/k- // unaspirated +endphoneme + + +phoneme t + IF thisPh(isWordEnd) THEN + IF nextPh(t) OR nextPh(d) THEN + ChangePhoneme(!) + ENDIF + ENDIF + CALL consonants/t- +endphoneme + +phoneme d + IF thisPh(isWordEnd) THEN + IF nextPh(t) OR nextPh(d) THEN + ChangePhoneme(!) + ENDIF + ENDIF + + IF prevPh(!) THEN // previous was [t] or [d], now assimilated + ChangePhoneme(t) + ENDIF + CALL base/d +endphoneme + +phoneme p + IF thisPh(isWordEnd) THEN + IF nextPh(p) OR nextPh(b) THEN + ChangePhoneme(!) + ENDIF + ENDIF + CALL consonants/p- // unaspirated +endphoneme + +phoneme b + IF thisPh(isWordEnd) THEN + IF nextPh(p) OR nextPh(b) THEN + ChangePhoneme(!) + ENDIF + ENDIF + + IF prevPh(!) THEN // previous was [p] or [b], now assimilated + ChangePhoneme(p) + ENDIF + CALL base/b +endphoneme + +phoneme s + IF thisPh(isWordEnd) THEN + IF nextPh(s) OR nextPh(z) THEN + ChangePhoneme(!) + ENDIF + ENDIF + CALL base/s // unaspirated +endphoneme + +phoneme z + IF thisPh(isWordEnd) THEN + IF nextPh(s) OR nextPh(z) THEN + ChangePhoneme(!) + ENDIF + ENDIF + + IF prevPh(!) THEN // previous was [s] or [z], now assimilated + ChangePhoneme(s) + ENDIF + CALL base/s +endphoneme diff --git a/phsource/ph_english b/phsource/ph_english index 6b8d96fa..29ee05d9 100644 --- a/phsource/ph_english +++ b/phsource/ph_english @@ -31,10 +31,10 @@ phoneme l // use dark [l/2] before not-vowel IF nextPhW(isVowel) THEN ELSE - IF prevPh(isNotVowel) THEN - ChangePhoneme(l/) - ELSE + IF prevPh(isVowel) OR prevPh(j) OR prevPh(w) THEN ChangePhoneme(l/2) + ELSE + ChangePhoneme(l/) ENDIF ENDIF @@ -207,7 +207,7 @@ phoneme i // optional variant of [I] for end of words ipa ɪ length 140 IfNextVowelAppend(;) - FMT(vowel/ii_en) + FMT(vowel/ii_7) endphoneme diff --git a/phsource/ph_esperanto b/phsource/ph_esperanto index b0607a1d..da9a0791 100644 --- a/phsource/ph_esperanto +++ b/phsource/ph_esperanto @@ -14,7 +14,7 @@ endphoneme phoneme e vowel starttype #e endtype #e length 170 - FMT(vowel/e) + FMT(vowel/e_mid2) endphoneme @@ -29,7 +29,10 @@ endphoneme phoneme o vowel starttype #o endtype #o length 170 - FMT(vowel/oo) + IF thisPh(isWordEnd) THEN + FMT(vowel/o) + ENDIF + FMT(vowel/oo_1) endphoneme @@ -71,7 +74,7 @@ endphoneme phoneme oI vowel starttype #o endtype #i length 250 - FMT(vdiph/ooi) + FMT(vdiph/ooi_2) endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 71ee67ba..7ed038f5 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -1,7 +1,7 @@ //==================================================== // French //==================================================== -// Updated 2010-11-19 Michel Such +// Updated 2011-03-04 Michel Such phoneme #l virtual // Used for l and l/ @@ -180,7 +180,7 @@ phoneme l VowelStart(l/la, -10) VowelStart(l/le, -15) VowelStart(l/li, -15) - VowelStart(l/lo, -10) + VowelStart(vwl_fr/lo, -10) VowelStart(l/lu, -20) EndSwitch @@ -193,7 +193,7 @@ phoneme l IF prevPh(isPause) OR thisPh(isWordStart) THEN FMT(l/_l) ENDIF - IF prevPh(isRhotic) THEN + IF prevPh(isRhotic) OR prevPh(isNasal) THEN FMT(l/_l) ENDIF @@ -210,7 +210,7 @@ endphoneme phoneme l/ // used for [l] when not before a vowel - liquid + liquid rfx starttype #l endtype #l lengthmod 7 @@ -275,7 +275,7 @@ endphoneme phoneme a vowel starttype #a endtype #a - IF nextPh(isVowel) THEN + IF nextPhW(isVowel) THEN length 220 ELSE length 170 @@ -356,7 +356,7 @@ endphoneme phoneme j/ // Short "i" between "r" and a vowel vowel starttype #i endtype #i - length 100 + length 80 // unstressed NextVowelStarts @@ -434,7 +434,7 @@ phoneme y IF nextPhW(E~) OR nextPhW(#i) THEN length 110 - FMT(vowel/y) + FMT(vowel/y, 80) ENDIF length 180 diff --git a/phsource/ph_german b/phsource/ph_german index cfb0261e..95e6d106 100755 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -20,32 +20,27 @@ phoneme @ // Schwa endphoneme -phoneme 3 // Schwa+r - vowel starttype #a endtype #a +phoneme 3 // open Schwa+r + vowel starttype #@ endtype #@ unstressed flag1 - length 170 - IF thisPh(isWordEnd) THEN - FMT(vowel/V_3) - ELSE - FMT(vowel/a#_3) - ENDIF + length 160 + FMT(vowel/a#_3) // in eSpeak 1.44, this used vowel/V_3 at end-of-word endphoneme -phoneme 3: // Schwa+r - vowel starttype #a endtype #a +phoneme 3: // open Schwa+r + vowel starttype #@ endtype #@ unstressed flag1 - length 220 - IF thisPh(isWordEnd) THEN - FMT(vowel/V_3) - ELSE - FMT(vowel/a#_3) - ENDIF + length 210 + FMT(vowel/a#_3) endphoneme phoneme a vowel starttype #a endtype #a length 110 + IF nextPh(isRhotic) THEN + length 125 + ENDIF FMT(vowel/a) endphoneme @@ -53,6 +48,9 @@ endphoneme phoneme E vowel starttype #e endtype #e length 120 + IF nextPh(*) THEN + length 135 + ENDIF FMT(vowel/e_mid2) endphoneme @@ -61,6 +59,9 @@ phoneme E2 // as[E] but reduces to @ if unstressed vowel starttype #e endtype #e length 120 ChangeIfDiminished(@) + IF nextPh(*) THEN + length 135 + ENDIF FMT(vowel/e_mid2) endphoneme @@ -68,6 +69,9 @@ endphoneme phoneme I vowel starttype #i endtype #i length 120 + IF nextPh(*) THEN + length 135 + ENDIF IfNextVowelAppend(;) FMT(vowel/ii) endphoneme @@ -83,6 +87,9 @@ endphoneme phoneme O vowel starttype #o endtype #o length 120 + IF nextPh(*) THEN + length 135 + ENDIF FMT(vowel/oo) endphoneme @@ -90,6 +97,10 @@ endphoneme phoneme U vowel starttype #u endtype #u length 120 + IF nextPh(*) THEN + length 135 + ENDIF + IF nextPh(r) THEN IF next2Ph(isVowel) THEN ELSE @@ -204,6 +215,9 @@ phoneme y vowel starttype #u endtype #u ipa ʏ length 110 + IF nextPh(*) THEN + length 115 + ENDIF FMT(vowel/yy_4) endphoneme @@ -218,6 +232,9 @@ endphoneme phoneme W vowel starttype #@ endtype #@ length 150 + IF nextPh(*) THEN + length 160 + ENDIF FMT(vowel/oe) endphoneme @@ -301,8 +318,34 @@ phoneme j endphoneme +phoneme r + vcd alv flp rhotic + lengthmod 6 -phoneme r // uvular trill or fricative + IF prevPhW(@-) THEN + ELSE + IF nextPhW(isVowel) THEN + IF prevPhW(isVowel) THEN + ChangePhoneme(R) + ELSE +// IF thisPh(isWordStart) THEN +// ELSE + InsertPhoneme(@-) +// ENDIF + ENDIF + ENDIF + ENDIF + + IF prevPh(isFlag1) THEN + ChangePhoneme(NULL) // 'r' is already included in the previous vowel + ENDIF + + CALL base/* +endphoneme + + +// This version of [r] was used in eSpeak 1.44, but received complaints +phoneme r2 // uvular trill or fricative vcd uvl frc ipa ʀ lengthmod 6 @@ -348,23 +391,18 @@ phoneme UR endphoneme -phoneme r2 - vcd alv flp - - IF prevPhW(isVowel) THEN - ChangePhoneme(*) - ENDIF - - InsertPhoneme(@-) - ChangePhoneme(*) -endphoneme - phoneme oU // for English words import_phoneme en-us/oU endphoneme +phoneme A~ + vowel starttype #a endtype #a + length 260 + FMT(vnasal/aa_n4) +endphoneme + // translate from English to German phonemes @@ -386,7 +424,7 @@ aI aI aI@ aI 3 aU aU aU@ aU 3 -A~ O n +A~ A~ E E e: e: e@ E: r diff --git a/phsource/ph_hindi b/phsource/ph_hindi index afbe6f45..58bd6431 100644 --- a/phsource/ph_hindi +++ b/phsource/ph_hindi @@ -289,7 +289,7 @@ phoneme bh FMT(b/xb) ENDIF - FMT( b/xb) addWav(ustop/p_asp, 70) + FMT( b/b@2) addWav(ustop/p_asp, 70) endphoneme @@ -474,7 +474,10 @@ phoneme gh FMT(g2/xg) ENDIF - FMT(g2/xg) addWav(ustop/k_asp, 70) + IF nextPh(isPause2) THEN + FMT(g2/xg) addWav(ustop/k_asp, 35) + ENDIF + FMT(g2/xg) addWav(ustop/k_asp, 50) endphoneme //================ @@ -482,7 +485,7 @@ endphoneme phoneme #X2 // click, use for indicating combining long vowels vls alv frc sibilant lengthmod 3 - WAV(ustop/percus02) + WAV(ustop/percus02, 60) endphoneme diff --git a/phsource/ph_italian b/phsource/ph_italian index 6a6b6dcc..7a4c8def 100644 --- a/phsource/ph_italian +++ b/phsource/ph_italian @@ -34,7 +34,11 @@ endphoneme phoneme e/ vowel starttype #e endtype #e length 170 - FMT(vowel/e) + IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN + FMT(vowel/e_mid2) + ELSE + FMT(vowel/e) + ENDIF endphoneme @@ -55,6 +59,14 @@ phoneme i endphoneme +phoneme i# // Used for 'gia_' where [i] is only spoken if stressed + vowel starttype #i endtype #i + length 140 + ChangeIfNotStressed(NULL) + ChangePhoneme(i) +endphoneme + + phoneme I vowel starttype #i endtype #i length 150 @@ -74,7 +86,11 @@ endphoneme phoneme o/ vowel starttype #o endtype #o length 170 - FMT(vowel/o) + IF nextPhW(isNasal) OR nextPhW(isLiquid) THEN + FMT(vowel/oo_1) + ELSE + FMT(vowel/o) + ENDIF endphoneme @@ -101,9 +117,9 @@ endphoneme phoneme aU - vowel starttype #a endtype #u + vowel starttype #a endtype #o length 270 - FMT(vdiph/au_4) + FMT(vdiph/aoo) endphoneme diff --git a/phsource/ph_romanian b/phsource/ph_romanian index e83ffa8b..d82ff3c2 100644 --- a/phsource/ph_romanian +++ b/phsource/ph_romanian @@ -136,7 +136,7 @@ endphoneme phoneme e[u vowel starttype #e endtype #u length 250 - FMT(vdiph2/e[u) + FMT(vdiph2/e_u) endphoneme phoneme Oa diff --git a/phsource/ph_russian b/phsource/ph_russian index 4b40df71..fe90ec27 100755 --- a/phsource/ph_russian +++ b/phsource/ph_russian @@ -1,45 +1,154 @@ +phoneme g + vcd vel stop prevoice + voicingswitch k + lengthmod 5 + Vowelin f1=2 f2=2300 200 300 f3=-300 80 + Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk + + IF PreVoicing THEN + FMT(g/xg) + ENDIF + + IF nextPh(isPause2) THEN + FMT(g/g_) addWav(x/g_) + ENDIF + FMT(g/g) addWav(x/g3, 90) +endphoneme + + +phoneme p + import_phoneme consonants/p- +endphoneme + + + +phoneme x + vls vel frc + lengthmod 3 + Vowelin f1=0 f2=2300 200 400 f3=-100 80 + Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20 +// IF nextPh(isPause) THEN +// WAV(ufric/x, 120) +// ENDIF + WAV(ufric/x_hr, 30) +endphoneme + + +phoneme k + import_phoneme consonants/k- +endphoneme + + + phoneme l - import_phoneme en/l + + liquid rfx + ipa ɭ + lengthmod 7 + length 40 + FMT(l^/l_rfx) +endphoneme + +phoneme l^ + liquid rfx palatal + ipa ɭ +// lengthmod 7 +length 80 +// FMT(l^/l^) + FMT(l^/l_rfx) +endphoneme + +phoneme s + vls alv frc sibilant +// voicingswitch z + lengthmod 3 + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + +// IF nextPh(isPause) THEN +// WAV(ufric/s_) +// ELIF nextPh(p) OR nextPh(t) OR nextPh(k) THEN +// WAV(ufric/s!) +// ENDIF + WAV(ufric/s) +endphoneme + +phoneme s; + import_phoneme en/s +//CALL en/s +endphoneme + + + +//phoneme n +// vcd pal nasal +// FMT(n/nru) +// +// import_phoneme en/n +// length 200 +//endphoneme + +phoneme n_ +// vcd pal nasal +// FMT(n/nru) + + import_phoneme en/n +// length 200 +endphoneme + + + + +phoneme n# + vcd pal nasal palatal + ipa ɲ + Vowelout f1=3 f2=2500 300 500 f3=100 80 len=45 brk rate + lengthmod 4 + + IF KlattSynth THEN + VowelStart(klatt/n^@) + FMT(klatt/n^) + ENDIF + + NextVowelStarts + VowelStart(n^/n^@) + VowelStart(n^/n^a) + VowelStart(n^/n^e) + VowelStart(n^/n^i) + VowelStart(n^/n^o) + VowelStart(n^/n^u) + EndSwitch + + IF prevPh(isPause) THEN + FMT(n^/_n^) + ELIF nextPh(isNotVowel) THEN + IF nextPhW(n^) THEN + Length 75 + ELIF prevPhW(n^) THEN + Length 100 + ENDIF + FMT(n^/n^_) + ENDIF endphoneme phoneme r - liquid - trill - lengthmod 7 - - NextVowelStarts - VowelStart(r/r@, -15) - VowelStart(r/ra, -15) - VowelStart(r/re, -15) - VowelStart(r/ri, -15) - VowelStart(r/ro, -15) - VowelStart(r/ru, -15) - EndSwitch - - IF nextPh(isNotVowel) THEN - ChangePhoneme(r/) + liquid rhotic nolink + alv trill + length 80 + IF prevPhW(isVowel) THEN + ELSE + InsertPhoneme(@-) ENDIF - IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN - FMT(r/trr) - ENDIF - FMT(r/rr) + FMT(r3/r_trill,80) addWav(r3/r_trill.wav, 50) endphoneme -phoneme r/ // used for [r] when not preceding a vowel - liquid - lengthmod 2 - IF nextPh(n) THEN - FMT(r3/r_n) addWav(r3/rx) - ENDIF - FMT(r3/r_) addWav(r3/rx) -endphoneme - phoneme ts + Length 10 import_phoneme consonants/ts endphoneme @@ -51,11 +160,11 @@ phoneme dZ; Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70 IF PreVoicing THEN - FMT(dzh/xdzh) + FMT(dzh/xdzh) ENDIF IF nextPh(isPause2) THEN - FMT(dzh/dzh_) addWav(x/dzh_) + FMT(dzh/dzh_) addWav(x/dzh_) ENDIF endphoneme @@ -89,20 +198,54 @@ phoneme d; import_phoneme pl/d; endphoneme +//phoneme m; +// import_phoneme ro/m; +//endphoneme + phoneme m; - import_phoneme ro/m; + vcd blb nasal + Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk + lengthmod 4 + + IF KlattSynth THEN + Vowelin f1=0 f2=1000 -50 -200 f3=-200 80 + IF nextPh(isPause2) THEN + FMT(klatt/m_) + ENDIF + FMT(klatt/m) + ENDIF + + VowelStart(m/mi) + +// NextVowelStarts +// VowelStart(m/m@) +// VowelStart(m/ma) +// VowelStart(m/me) +// VowelStart(m/mi) +// VowelStart(m/mo) +// VowelStart(m/mu) +// EndSwitch + +// IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN + FMT(m/mj) +// ELIF prevPh(isPause) THEN +// FMT(m/_m) +// ELIF nextPh(isNotVowel) THEN +// FMT(m/m_) +// ENDIF endphoneme -phoneme I^ // "silent i", palatilizes the preceding consonant + +phoneme I^ // "silent i", palatilizes the preceding consonant vowel starttype #i endtype #i unstressed nonsyllabic Length 70 IF nextPh(isVowel) THEN - ChangePhoneme(;) + ChangePhoneme(;) ENDIF IF prevPh(m;) THEN - FMT(vwl_ro/mi) + FMT(vwl_ro/mi) ENDIF FMT(vwl_ru/ii-) endphoneme @@ -114,9 +257,12 @@ endphoneme //******************************************************************* phoneme i + IF prevPh(Z) THEN + ChangePhoneme(y) + ENDIF vowel starttype #i endtype #i - Length 100 - FMT(vwl_ru/i) + Length 50 + FMT(vwl_ru/ii) endphoneme @@ -124,10 +270,10 @@ phoneme I# vowel starttype #i endtype #i Length 80 IF nextVowel(isMaxStress) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(i) + ChangePhoneme(i) ENDIF FMT(vwl_ru/ii#) endphoneme @@ -145,11 +291,11 @@ phoneme I Length 80 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(a) - ELSE - ChangePhoneme(i) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(a) + ELSE + ChangePhoneme(i) + ENDIF ENDIF FMT(vwl_ru/ii) endphoneme @@ -159,10 +305,10 @@ phoneme I2 vowel starttype #i endtype #i Length 80 IF thisPh(isMaxStress) THEN - ChangePhoneme(e) + ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme @@ -172,14 +318,14 @@ phoneme I3 vowel starttype #i endtype #i Length 80 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(ja) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(ja) + ENDIF ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF FMT(vwl_ru/ii) endphoneme @@ -187,7 +333,7 @@ endphoneme phoneme E vowel starttype #e endtype #e - Length 200 + Length 100 FMT(vwl_ru/e) endphoneme @@ -196,11 +342,11 @@ phoneme E# vowel starttype #e endtype #e Length 100 IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(E) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(E) + ENDIF ENDIF FMT(vwl_ru/E#) endphoneme @@ -210,19 +356,19 @@ phoneme E2 vowel starttype #e endtype #e Length 80 IF nextVowel(isMaxStress) THEN - IF prevPh(j) THEN - ChangePhoneme(I3) - ELSE - ChangePhoneme(E#) - ENDIF + IF prevPh(j) THEN + ChangePhoneme(I3) + ELSE + ChangePhoneme(E#) + ENDIF ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(e) - ELSE - ChangePhoneme(E) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(e) + ELSE + ChangePhoneme(E) + ENDIF ENDIF FMT(vwl_ru/E@) @@ -233,21 +379,29 @@ phoneme E3 vowel starttype #e endtype #e Length 80 IF nextVowel(isMaxStress) THEN - ChangePhoneme(I) + ChangePhoneme(I) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(e) + ChangePhoneme(e) ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(E2) + ChangePhoneme(E2) ENDIF FMT(vwl_ru/E@) endphoneme +phoneme E% // е in prefix "интер" + vowel + // starttype #e endtype #e + //ChangeIfNotStressed(y) + ChangePhoneme(E#) +endphoneme + phoneme o vowel starttype #o endtype #o Length 100 + ChangeIfNotStressed(V) FMT(vwl_ru/o) endphoneme @@ -256,10 +410,10 @@ phoneme O vowel starttype #o endtype #o Length 80 IF prevPhW(isPalatal) THEN - ChangePhoneme(8) + ChangePhoneme(8) ENDIF IF thisPh(isMaxStress) THEN - ChangePhoneme(o) + ChangePhoneme(o) ENDIF FMT(vwl_ru/oo) endphoneme @@ -285,7 +439,7 @@ endphoneme phoneme 8 vowel starttype #o endtype #o - Length 150 + Length 100 ChangeIfNotStressed(V) FMT(vwl_ru/8) endphoneme @@ -293,6 +447,19 @@ endphoneme phoneme e vowel starttype #e endtype #e Length 100 + IF prevPh(Z) THEN + ChangeIfNotStressed(y) + ChangePhoneme(E) + ENDIF + IF prevPh(S) THEN + ChangeIfNotStressed(y) + ChangePhoneme(E) + ENDIF + IF prevPh(ts) THEN + ChangeIfNotStressed(y) + ChangePhoneme(E) + ENDIF + ChangeIfNotStressed(i) FMT(vwl_ru/ee) endphoneme @@ -304,29 +471,51 @@ endphoneme phoneme ja vowel starttype #i endtype #a - Length 200 - FMT(vwl_ru/ja) + IF thisPh(isMaxStress) THEN + Length 200 + FMT(vwl_ru/ja) + ELSE + FMT(vdiph2/ii@) + ENDIF endphoneme +phoneme ja# + vowel starttype #i endtype #a + IF thisPh(isMaxStress) THEN + FMT(vowel/&) + // ChangePhoneme(A) + ELSE + IF prevPhW(isPalatal) THEN + ChangePhoneme(I) + ENDIF + ENDIF + +// Length 200 +// FMT(vwl_ru/ja) +endphoneme + + + + phoneme V# vowel starttype #a endtype #@ unstressed Length 80 // IF nextVowel(isMaxStress) THEN - // not needed? because V# is only used at end-of-word -// ChangePhoneme(I3) + // not needed? because V# is only used at end-of-word +// ChangePhoneme(I3) // ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(A) - ELSE - ChangePhoneme(ja) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(A) + ELSE + ChangePhoneme(ja) + ENDIF ENDIF IF prevPhW(isPalatal) THEN - ChangePhoneme(V) + ChangePhoneme(V) ENDIF FMT(vowel/V_2) @@ -354,21 +543,21 @@ phoneme a IF prevPhW(j) THEN ELSE - IF thisPh(isMaxStress) THEN - IF prevPhW(isPalatal) THEN - ChangePhoneme(ja) - ELSE - ChangePhoneme(A) - ENDIF - ELSE - IF prevPhW(isPalatal) THEN - ChangePhoneme(I) - ENDIF - ENDIF + IF thisPh(isMaxStress) THEN + IF prevPhW(isPalatal) THEN + ChangePhoneme(ja) + ELSE + ChangePhoneme(A) + ENDIF + ELSE + IF prevPhW(isPalatal) THEN + ChangePhoneme(I) + ENDIF + ENDIF ENDIF IF thisPh(isWordEnd) THEN - FMT(vowel/a#_3) + FMT(vowel/a#_3) ENDIF FMT(vwl_ru/aa) endphoneme @@ -380,17 +569,17 @@ phoneme V unstressed IF nextVowel(isMaxStress) THEN - ChangePhoneme(a) + ChangePhoneme(a) ENDIF IF thisPh(isMaxStress) THEN - IF prevPhW(j) THEN - ChangePhoneme(a) - ELIF prevPhW(isPalatal) THEN - ChangePhoneme(ja) - ELSE - ChangePhoneme(A) - ENDIF + IF prevPhW(j) THEN + ChangePhoneme(a) +// ELIF prevPhW(isPalatal) THEN +// ChangePhoneme(ja) + ELSE + ChangePhoneme(A) + ENDIF ENDIF FMT(vowel/V_2) @@ -412,3 +601,4 @@ phoneme R4 FMT(r3/r_ru2) addWav(r3/r_ru, 50) endphoneme + diff --git a/phsource/ph_tamil b/phsource/ph_tamil index b13bbc9d..d1185dbe 100644 --- a/phsource/ph_tamil +++ b/phsource/ph_tamil @@ -3,6 +3,11 @@ // This inherits from ph_hindi +phoneme @ + vowel starttype #@ endtype #@ + length 130 + FMT(vowel/V_2) +endphoneme phoneme a vowel starttype #a endtype #a @@ -13,8 +18,11 @@ endphoneme phoneme V vowel starttype #@ endtype #@ - ipa ɐ + ipa ʌ length 130 + IF nextPh(isWordEnd) AND nextPh(m) THEN + ChangePhoneme(@) + ENDIF FMT(vowel/V_3) endphoneme @@ -52,6 +60,9 @@ endphoneme phoneme i vowel starttype #i endtype #i length 130 + IF thisPh(isWordEnd) AND thisPh(isNotStressed) THEN + FMT(vowel/ii_5) + ENDIF FMT(vowel/i_6) endphoneme @@ -100,7 +111,7 @@ endphoneme phoneme u: vowel starttype #u endtype #u - length 260 + length 280 IF prevPhW(isVel) THEN ELSE ChangeIfNotStressed(U:) @@ -111,7 +122,7 @@ endphoneme phoneme U: vowel starttype #u endtype #u ipa ʉ - length 240 + length 270 FMT(vowel/u#_3) endphoneme @@ -124,7 +135,7 @@ endphoneme phoneme aU vowel starttype #a endtype #u - length 260 + length 270 FMT(vdiph/au) endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 243053ea..0d97de87 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -149,8 +149,8 @@ phoneme @- // very short schwa unstressed nonsyllabic ipa ə - IF nextPhW(*) THEN - ipa NULL + IF nextPhW(*) OR nextPhW(r) THEN + ipa NULL // @-* is used to make 'r' ENDIF length 50 FMT(vowel/@-) @@ -239,7 +239,7 @@ endphoneme phoneme #X1 // click, use for indicating capital letters vls alv frc sibilant lengthmod 3 - WAV(ustop/percus10) + WAV(ustop/percus10, 60) endphoneme @@ -479,6 +479,14 @@ phoneme l/ // used for [l] when not before a vowel VowelEnding(l/L1_uL, -40) EndSwitch + // we need to replace these with new FMT sequeces for jl and wl + IF prevPhW(j) THEN + FMT(l/L1_eL) + ENDIF + IF prevPhW(w) THEN + FMT(l/L1_eL) + ENDIF + FMT(l/l_) endphoneme @@ -492,6 +500,13 @@ phoneme l/2 // 'dark' [l] after a vowel CALL vowelstart_l + IF prevPhW(j) THEN + FMT(l/L2_eL) + ENDIF + IF prevPhW(w) THEN + FMT(l/L2_uL) + ENDIF + PrevVowelEndings VowelEnding(l/L2_@L, -60) VowelEnding(l/L2_aL, -50) @@ -833,7 +848,7 @@ endphoneme phoneme * // flap - vcd alv flp + vcd alv flp rhotic brkafter ipa ɾ lengthmod 3 @@ -1377,7 +1392,7 @@ phoneme c IF nextPh(isPause2) THEN WAV(ustop/t_pzd, 30) ENDIF - WAV(ustop/c, 130) + WAV(ustop/c, 150) endphoneme @@ -1574,7 +1589,7 @@ phoneme x IF nextPh(isPause) THEN WAV(ufric/x, 120) ENDIF - WAV(ufric/x_hr, 30) + WAV(ufric/x_hr, 25) endphoneme @@ -1673,12 +1688,17 @@ include ph_french phonemetable fr-ca fr include ph_french_ca + phonemetable hi base include ph_hindi phonemetable ta hi include ph_tamil +phonemetable kn hi +include ph_kannada + + phonemetable hu base include ph_hungarian @@ -1793,9 +1813,6 @@ include ph_kinyarwanda phonemetable ml hi include ph_malayalam -//phonemetable kn hi -//include ph_kannada - //phonemetable bn hi //include ph_bengali @@ -1843,3 +1860,15 @@ include ph_amhari phonemetable wo base include ph_wolof + +phonemetable dv hi +include ph_divehi + +phonemetable te hi +include ph_telugu + +phonemetable tn base +include ph_setswana + +phonemetable ka base +include ph_georgian diff --git a/phsource/vdiph/ai_5 b/phsource/vdiph/ai_5 index b561f3609e669b7543ad6f23ce44811a36a447cd..44dcf5472282b17cd44861c5d609aaccd7107a8d 100644 GIT binary patch delta 146 zcmaE2^2B7rQ5Gec2&O4aO$-bSQ4A5RQy4T@86=i4PGRZ+iu5peamp}m+5DVEk%cjQ zGAE}Tvg$zA8EC5AIsY(h+3d-g$ilc_^J-pQ7C{E~c}%YuBY|c`GJIxIVT{=PQZNuG R%!Uwt$ixN|_7;<50RTy0BL)Bf delta 146 zcmaE2^2B7rQ5GfH2&O4aO$-bSQ4A5RQy4T@4@fRyoWj%t6zO5`;*??R+5DVEk%cj0 zGAE}Tvg$zA8EC5AIsY*9Z1&_#WC3bg&8y2I=)f_L=@nxn(5y&?&rB+e$(vsa2C@h? Qup@*YGO+=Ly~QM10NA`F{{R30 diff --git a/phsource/vdiph/ooi_2 b/phsource/vdiph/ooi_2 index 46bc6b8aa6b04103cec4749564e37fe844a66eef..0edfae5806158f4204387c893b0c41661f4c5ba7 100644 GIT binary patch delta 9541 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 txD=4Dk5;rs$jY}fqnuuG(C2B?{ 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 BPuu_i diff --git a/phsource/vdiph/ou_4 b/phsource/vdiph/ou_4 new file mode 100644 index 0000000000000000000000000000000000000000..e5c82c535ba32eeec3024a3fbc05bb85df4343ae GIT binary patch literal 1988 zcmb`I-%FEG7{|ZwwpZWHIk&0Hxpz8s+A4pPf`LMNDT*S6QUi-h=m(f6VitH2wTqyT z3^Mux*@~q?^6tw{=hx01%1R39wYsqzzigaL2vujP4={m)^ zbl|4jsvD(phjZz`N3R{oYFW*r0n&kNMW)iJbQuc)7)}L9#Gs4vgKtO&<{IECRZ=Z& z4y9i`ifh7iK2K^ti+WUXXEiE01`t#&#P4dJ6QUZV8sJz7A9qyo+y=gxU^mgox8rOvMEIMvd{%?> z&wKW5^)D^`TO#*&E&V}mf}%D67cS)0zv1BiCk~yPICL8SmqQw7F@?9dh4Wa&8;qb6 zEp*+aA7SN6ls+|LJGya{JNM!uP9Q}^XqniBcDfftlSjX^T98XUC5Bl`Oswy#B5J#^lv2}(ip`w-r+huULlDQ z`rW2HlIRu}10=GIY}#=IGvqLdAyP>y_u}NRL&bcMd;IJky6s~#$iu7Nm$jR7;UK!4 z8Km2iQ%RoM%G2WfmYj?5gc{Nn4qtk%D1R;eb2ewR-MkAfu{KflSJXn3mhgq086`hyCPmnfY)H<9Li0 zthF6indr35jB5;>PlM z*9Wb5L(FLiX0>sxctf0a+g{W4-f=@L8+O?y5-QpYz5~1=HYizh<9)Cd68jk6Q+SOV zto{%22m{L5X1ZEOM?;MEFlp2=T07834ilKg8Qvp1nI|Tnv@)iXjAW_pNfN21_d-G3 nmm5K7hSmMx`C%Y@Eoa4O2% literal 0 HcmV?d00001 diff --git a/phsource/vdiph2/e[u b/phsource/vdiph2/e_u similarity index 100% rename from phsource/vdiph2/e[u rename to phsource/vdiph2/e_u diff --git a/phsource/vowel/a_2 b/phsource/vowel/a_2 index cafadec2f649cdac22432ac5371bbff01e4ab322..622d1846711d752ae56cc2e9460b0369a1b6b9d7 100644 GIT binary patch delta 687 zcmaEC^4LTuIKb68BskEBnSp^JG2V!cA#kJ6T$cI|3=F*MnC~%10)-rmH33DU81Az=F)UzZkdR=S!qfv4>0wyN^@w2_*8u?`CLtykMg|5J#<_f3n3nJ! z;CaCKfDs~6C&D&X2N=I030ZPzD8C1aOy=ZM z*__EbkGVbtqz(*Fo$APJissaptd3|-oym0_&8c_!TG5<(Rd5Q1Q%yMFPE~}u)ylO3 z&8Z9wNKQS?33O@{)S+e^s7|$FHbZmjdsbUCr%vaRVMGnpk9_uMPF*25kqu9%!kh{W zRvb><%*l6#87;~!nN83f_kqT$cJb3k-2OE(QS?CKo0aMg|5J#<_f3m~QYM z;CaCKfDs~6C&D&X4U9ZY2q8-j4dop`k;&OY zDw{J|=P}nOfYgBjs#6`AP0^hClGPE-sWZ8*qdE01Un`nZuL@4VaHbw=NI4U!T5zh=AuR~HICZKODhR#mBy_0= zPCA54l0_=O~1Je@sz}>@fx2M`z-d@IkA8SYp^+?%;BMSO)MbElYCVut573rV)=?H zzE#<_`3Bo2kmXtKE4$V&W!D0Vycj6rD4vb_N~8M+q)|^VjT1?HluCq^iO#w1llu44 z+dq8FD*=ORxZDjG8tel0S!OiP@&UsW?GENOZ=}Uq%x7pB@9@LGScO%Xf8+1wQ|y?T zk-l=pt}0R6Gy4i~U3bqz?I=A4KrkpFN!%}$aCu)jjA7kVb3R17T|yY+H@hfdywvVX z7Gp9E=m|<_VWP@fMDDZ^GKWwqpS~|#U2}%AUiZ(5A6LFr3I2I0U09Qqd#@Rj?P;g6-eOF96`GLkg;sifB|WD9(?8@#oCYS(I54 zWdgCOJ;o-1m=cDXA`l1WTO1IG6?;-$ksyY&Y`SBpZWRZm)orM-a%e;8@df2C0ya86 delta 990 zcmZ{jOK1~O6o${eGi5U4%rs4tNzBV8p&?QNS*RcqBg9$}g-Trne9&%e(eA8bLC91$ ziZ5C!U5GA1K&;t~2tpR6R4AqBrY_or1mhy0gh--l zwvpk%^o5bZ^Ru>-6RQAF#Z_EKKByyr25O)&<|vFY08t#pG&c)0*U4M_0&MXB8Jxit z;TKgA0E)PX)nC9Jm!4~>+d(}8#3G%na41h{G)~4cZlDk}(S$3H^5`aW1}2$`;~!E# z_9gsa``jf|LSOl5_{N`hX!(#>rtD&q*D}Cyo9qX=lL1s3rRP{g##&Y;yK>aEc3bED zMqz{ZfVph&YHSW_g!hx5GI(zBu7w9+@*=zQKC+hS>L_T?-Z8R;RxoH?!aalbSt#s5 z+he+fn5VM(Y*pli8rkJ4lLeXVlI7k*lgu_C%o(&%;TUc1GHKam(q`^5)7EzxqOS0V zd+s~GNVhz5`=5Ec{c;e8&nmASk9SJ!=u<`#l!-n|%vD$-`UJQV1c*LPVIG{SGMYX` zAx9N=)dwv4wAB(Feg5!aN5He`f7SOPG9F!y^$a|UUrNj?``izyEXKOU8z=x9q{a#} z3@fBYl3Ru(snJsJ+#(hi#3{NU>b4$9nikvbro|ZRHQsc;wNt%|u2E0i7Y|N{y#4IK zgmT^Y)ZD~6io!anu*TegHBw}L zA??FWdVV}F=VW?>E}y3rEjt^xe$ev%20wtkd&4y)h@7?G7*>B_O08KjD_YfSE54+k z)dJ>ep4wET4Hp8RsRdMs3UNwBPGPk%qE;s2SI_#X?CDaqfIVW5$V4I~4=GXtOp3{D zM7HmOw6*~GX3#mx3+#7kzd0+Y`xbVy4*NN-j`tle?X&$4@kP2KxiWw@6 zv#4Z-l)0W#rq@tvZx^NZ|7=L!@aILGpFc=W{cN0po^)SneX~ z%!>+0cjS6wx@9uA5I0;WEji~TMo``s~a?Cdz&JHUfR6abEPU_Jp zyX0<-(rf&rQ8t^GG)l8|Cx`NO)niIyx^98!CRJ3PjRRZ5!SY2@d}|bCca{QhN(UX% zD6Kh^VdJ4jc_&?3-mE-twL7K7vJ(3whmt-r7{w{AMN_Qju4T@Qbv>LBr9O@Ek=&+b zWYj39E>>J^W&+KuxI)$@5wun^1`t_w!Y!@_l@*8K-LzAI1u#~>n0HpiX&7-ft2*Sn z=umC$9^WU8Av(!sRm}VjF*d6XSl^2S+N`qeoLObt`mBVX; zyo(joLRWZif52RQ0R^?~^}M<0rAhR%TyzJnqnjZf6g|R&BJZU(WFAI{ArjW0NN9-v z{8F3z@Xfr4KKcWF3}FSnfW;6qMgL%iA!^MCY8j%*ZWm2jL4_pC1gXO>B=y!VsGvGG zXA7!H@`9?Pd#GcK#Ih4eEb~sND@A|e3S*R+VU#gOO-Wp+uQBWkhQ@FTYG04ec(tm4 Kf;!l6*!M3t%1Yw^ delta 2126 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 diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index a22da11c92abd484e3136ce22f994f7b3a64a3c8..c6b7efabb6623b4a7146fef1ac386941b9ae1bc5 100644 GIT binary patch literal 72886 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 literal 72462 zcmaI81z1&E7d3nU6_5@Eq&q}F47v^q0!m3pi-4e{bcY^F5R?=pMY@!36cmJmfGFJp z(nxpw^MLpL?sxC~zx~|jDtOM`YwxwzoMVnL<_=a>mM1!W?lb~{AX2z-O&x(a#fw1T zFyUdtZ=~FYR^bmE2c&`q9v=go9;IW?_FjgScl4xMFut0xrt%#c5>k|!sh=@n z05R*tXL>&3Sm9hOx#pWppMIT-zcuQ1$hGibSAAwJFT1iXDbm4pN5N@QTSe1FbKf;F z!;~3idby;eL`O%*uv#r<($}V-$M0ldTSL)B#rV@E*Dc%2Ukso=aP*=&ONH^qZaI)j z>OJHaFY9N2g`{5?zw(NY)Iu|_V@2*`;%V#t#Sy%`gLfP#(n4NK`jc?K2!wPmegPZh z(O(gljYrvj)OzjO+uO6SvQkh`n16lcw7p^$c(SmtaDG<;pE=QcXQsSdSSLnFQPFCA zC2D7DYYT-svAd%>nLjkxRb`oEXDQ@#@K8dxi(qAwZniy9V)qMc_%(UVA+_>_)x14X zbM}Gft@43e5o}%u+f(C>&q9KOXGZD{8=uieD>_HM&zv{%M_&@$6(Xz<(n}KVc6NGud#kI(cSmgci?eEKhH8H$xD1Q9E{)E7&!DBH zHS*q`Y-v#p+_{~htiyX&&nwfu$7XSMs6?f_I_4ivM5{P3Sa0pj(1NV&Q7qd`B0M0`GPiVpF`N^ z_4@R;@d4X9&6YCTk+9HEjTUzcPjlvXVuNZUx7^&^;K{W8?wqnwr>YlI^WQl*!w~=C zS)q>@Wg@Qcl&H9dRdEg8H)i5IX;mqvbPEJm8 zasdlw3JMCw#>R?@Pxl2gRFW7ZJpe0IJkB}#gUaxu?6maVGDb?K2D z8?>4Ad;qf^&T;eQQp@=Q{VL~$*{&S^y1kXuaLMc+-?u8&Z{Pm@TAG2akUi?BH%>5r3_u~Txov9>-2Q*b_g`gCJqAfsB`e&S1WBxg^7 z(eHP?UtbHE+`AWL4{K|vYoz=U>(cQ!a$p?B127IN%s9I94PM8^Rowf0S|MVw>UV8J zAj$dl%eDFX750;Z6%HB72@z~r<>js)AD`6J)FiLs)^K%|yMI_85JEbQ)nn`X82#YH z<1r7U4sQ%xSzA++h(Y{L7B>%1c5ZHHklkSM%a<=-3)%8a(hAvdU5XOx8JNmIzI3Rn zzzk!o4~Aij83u#T-m-|puRD2KIbEV28}oa6o@t4VJ<;$8u2^=n9UW28(F=V=@>%9W z{-;RVzswtP!Kzob+dsus9xum4ErwrWJy05V$^77#P#w+1d#Jp^{CvJESGqPb2?lWZ z1BmH&0;Tq3xEUqf9j7}|X4jcp&0rWAL*f&$-Km=U)0=gN`<-b@<3BM+44=Wy?#Q8G zR>rcES?@dJ4gT#$;*0Sw#zgp#$&7#Y8R@w;`N=D0=kj_CJ*+?YVwtzatLb!l;~egf z97?dV%Ek>yv9g*p1Q4}g^UZnT-z@tv@YSHEYGc`?sv`6|*AKmtqCBc{Ehnmql&p51 zSBZ(WFb|V;HU|qM2MZZe`&sG*fsHO_v8x*B*M~G9wyCNveH9wUDvy}b=fS+Pda zC9;xqIG9H~$-1)PQlVlEGinNJRAgQDx)c?&=%#pqJbG!?0W5qbiLVyU-`oZyIb#v z^cx>g&gS*^brb04RE7+8=wGc}D1#fOxpe=gDdw2yeQ#2?^^+jYkmT8K8$D#ijtx1I z*QmDI<@d0fn%ejDTf4BmqZGXsIh>fQDKs6+eXL-Kj%7-{oB}Du87KF9bIFKOySQNPtYlFT|wgg?;qg%dWxr>iXW#e-`_Wo z$KPNYy@7NJ{p+-nEcj^wYZS*fWb_=hg4g%weDK5Z{YZa!ftvNrBcc3jkkxX38%nmx zU-!L4rjXgjOmh54Mo<3zAuzoEjkx~Tb7+gWa5kj-;pb1C}j`vR9T!sExKAK_1` z+tl&kIE!QHR`6EYPz1WihMc@CFft=9PMi8EOF*l5Bb2t{7M|7PTU^#5Pe_L^T9p1w z0n@~V2wMFZiDKArxw*Lv67Fmq9ItMsH#W-E$(akRp;kCUJ|q9k1M-Re6Wh5bKR@q# zKX@?n=6XnDD9!gYrPv-L9|<9$&84vh@32l`cnCC4R*o)<$KJNNMJ#l{dPCxH{ zZxI~ae7qj9Z{R&z=r8dnpgK!QX+a-?`O2rEODnF<3`b{7$+qmt&&$hGtVm1y99gzD z+l98e>a)>j?iZ@`zeVkc)Ya8}@Zf=^rKO3<_}=!aW=#Agb7e0tFAon7NT-EnXhA{2 z$7kOXzd)U){If?$Bd%KYzH^vr19a5d+WOw4DVta1(a&p<&6G4WaWOI7ot=e{P?Aq( z$=+z?#*8J!x8{jo&W{Uoyfk#mcpjT$mOBv!&R4?^k+k(@**N4>g(&H zqA2rlzA-3p9Ws4CadZ|sIuZMciRQ@9pFiv3z9C>s@n(|7Sr(0c!xDG2AEYg~{^V?? zeHH~cw*onGBJ5G??nKxN>r|oR$+D_+Ug+=d&yLd5)zyf}&B;-^b*tp-ZH8a_$~TZ+ zO_C&L=X2=jh%XH{H8!4RE-Weu%L^RK(lg;lYC!3s=UQ zKN|Z`FF+z0u6C0Nr8@ei#eGPiVlIoJ&z^m4ZKV@)&g~wfmebC|=^&emisbdU%=NoV z+h~9E35mE)UEulS+pUaFO!S`by*PkANpRM6g^wH?mVZ~iK^4G&{yHBYg$UlWAv-U{ zPE8)&neWmy6)vMZ-ICcMmys^f<6W4{KBdg*=w&ZW-ojb8zhJw&vGDrUtA{x=cCGY( zZ3>CO8J8foC>2B3F@FFm7JsS*-{Fg#QJWjTNBGh9_wU~~ANkUH9LSjlA$klG@K?Vx zZ6=>`x4(IGiwI)sunajbadT_yJbud!)B9X{f*~)`@EGYfF#k>(aRWIMWzXncsoYyP zkw}+vOQdb!a2Jd`)KR?XHl2)(!x-T|=jou}QQf;DvE4!VOIW^lW~c7pfVE=w z*|c%eHOz^8y`Q5xslz*Q;!6%UM|@z3*jUhWVE!eU0!H|Pw7vr8M+f04cIGI2<|uEK zjmiUl4i3z=@g&1)TOa-r8z3MD!Ds8gi z#x)fm_0(&3V{&5Rnw%U52S?khD|0K8Xzy?$%%w&NB2-1wLa(aZt0*#ZrAY-T7Ci6l z?7SXw_R5tj2IY2RDS-?vup4Ej0{PI(a}`hst-sCJqW|cBPp4k-8+pql7$7p^$l3RaDkZ@Q0Glhbl5-3QpzA zaW`MQcmZMm!i5WP-Bph6C02ByL-)*K5Unqc#Y3!<_0nT5f;~%vuOFmpaL``^S#;W^NDieNvu6g$M3{UiH%rRG1 zK6c5BlYwe^gP&${Dj_{R9dPfpYvo^G&t)6;tz#b9XlSD9$KevfJ zW2$l)Fb{dv)z$Cbsm@7@`WcX5K1)1}f96gh?|Ge!!!4hCi(l$u>C<^)&H9*eu3VOt zG?>~jc57RAEL?gec&8Imy<|mq6GyaJpUAqM{wG|wm>p6kwEeYf*REf`Zf{?h*Jw;* zaE1H$Ui9B^Mls`a>dKqC?oQ~&nzfsmZCjt??xjFNHD?a%VdKi_kk9qYN5hay(NW11 zn5Rq@ByCUZWN*1DLit!)gwmRujX$jQ*6XV!Wo5e}K>omi47x9o5_M5kcYi&Z4B1LQ zQy%9aFUm2BVw!v_v1?F7~@RwOZV6^g|FCE2KGnK7Dm{^*eW7MnwGFJHKm+a=3@|-;+%Urmq}b&p(Pf zs-HhiU`^R%#yXgD#fD_DF}1X`z@nZ0mI~WA$z!ns=0!zv`_sr+V8MTFFnvBPBO{-c ziRSgW9h zhY9B&7#fxdKSXL69B~YCq>u5>-!H0w;XyUa%E~Gz*g1*e8k8aR61}=TqLXlLGWO-m zUWlhrQBhqv+9MSXO=Y+I8bwQvPRGOsnCB#?ay;aB_uYlE5@NO=|J-ggA)oJ!jHNXg zTD2rXffdQ7U>21``X()H5@>~iGTVau{Hw3ON?PGMer!0NxD>^4HjO*azO24-KmYgA zU-+e(KYmf)U`NOEgoK5HGw#AID&GKB8aD)3_Z3b;c3sy-bSP#xAE5#i0|$ptDS)gq zR8&4|-{gUO=n;+S0QTduNh4u2chbC@a9nJkmG??B=kKcDlF@438!Rj=i^DZ@&971% z5{8a89;sq6W0<@-mrA)++TY@ahVTD&UPoQdx@nY=q2X}W?Tr3`0orrtezhftS@&N) zY((60Ej)fu8V{0Ck9!i`XR``wcOHIu&b+c|GhChJq?#fdGl@c>0Hbnnat=JCbFEn+ zmfyaWAnNq1H4auPfIMz)Zrj@J^d29A%AcE9iI^R8my)pQduX6+*?cVQ>;r=Y102!M z6>j^zqx4}bXiPHty55uY#M|+qFDK^nC~^a~l=$!G?ScbN6SZ*F?eA_{(&IgTcJ#oR z;%8X!{fYa+_tab7z9CeMnG6aFdiwPAu9`P7`kjMp#Om>ie}^P*p`I@ycMK3L_6=Kk zlK4Iqv!+lYHLXhZmsSSH8jsQ*0)?nyOG#duh_hsy$6OrYI|jL(iur`dQ9ehIx;sXp zShnw_UiMeC?9e*;$cH=dyT=lh*Dz;9_^Kkw6?-%)uf2G4T&J9R0|aUC8FLGcjIvIi^*E}#7RzhW ztHxZH;suqWOk@4*xsEb2!l+kJmDtSHk1gtbb7A$q?-zR3sjzLC0xphcM}zx7Rmdx5 zp3wa?$*yVPN&-j9%f#y2rHrJCJc@JDN25dNe}6!J+7K_t&sCg-^ypV6%=l(j$nt4K zv>3-)hLiTM29`5NXc~`{`4daU#}xY)gB@97i^@aA0ekfM-jS-IUsmJ27+SQ51G`!O ze3T0Sk%KZ1-p1k(goCbB`S4Glpa}WV+e^Jiy_W_Y-v@2Q)7>%t@6AkQYcEAT^CCdC zYaQJc_SYeL7lG)Q7(U%%i`JJH4JsYo_SbtH92`g(CF%AA_KCH z4#F~30J8GwQ^B~KLNCrPefedsRoZU>p zYzGL-si~<1r%xYjl+|%ZTU%rDyw}cJaCo@SLP-zZu>IQfHvl@YCKVzcK75#dGme~! zs;9`j9murtrtn?!oZ{p;HcHkN?1{8kLs9p&X+R--29;23ZLfV-8SplHe}|Y})U-r5 z<7S+o?XWn}lQrV3BR0Y}pHAF$35u7g_M|$;nN9$M(Jj&EwSipS*;*dQ{ML2(&Hf79 z1cQ|KUZvAqqUVaj?#}-~U;K_fkw>&cW^-Fxw;QT5t^o5UhWqT9C`9CHS<1+K z3}p1qtTyY(H>h!6k6@bt4jF)qywvtYBvZh=d0$^&1lyy%qnY1BkA>+?o)Q-m^8hFT zTQ!z#1_(4r$Pg}L*|>#-%5rmWR$MGI+G^%Z8mx9(1xUF?a=1i7To=K{Eh%{bJf24P z{cG+%p|5zWg5H&uUOj(aDbn@F43EH6dXaxmo}SR8HZlnAsin{p7`dska;rV2CEH7< z-1E5%7S@z6+Du$!eusZGrT79d()BwXsy(KkpgqqyI9*kK*Y#OC!3kZ>^TpL_?=r;4 zwik+c(F+R;us~k0fdn8SC|H=6cPrv8R7Bp86b!1Io$k1HB+I}<=~d#dnW)a5>nYII z(9qD?`l~%j%67OK0NuvMMkJ@otD78otfz(5 z)sAMwM?p#H{Dlj!Fs-eu;-!3Qcj{q<9);PjFfEtvx2p22uC5Xg5bzsTyROf6y?Mhj zP~Y6#415!0;T-J(t%nfKZyOnn3=a?g_)%=tR~Q-^im=uo^^8TSGi>$z_~8inDUiXP zOGrpN%V#RVg_uFyb!TnnNH>WA31!`#qil5ErK?x3Ub^Hk-}`=+ApG2w*^ju4)vzT&S4#3Za7(lQ z{Pav#Ru-QoQW^8l43lS1dGV2WEDw}FF&8e2&T4H*@?SWRYW zXtV)C)o30UG?`ICKruY*%J$yhQHa3&WfC2Gh_2fUQS=Ios`CHtRDY1>F3-bmDQ%w9 zrvBhPWEg;15fS9;WvGX*&kvaS%yUl~oen9KPR@9NP1oDWMd!qzt~*~IROWLOhM6on zzkd&>7rXCKarYy(ixN+4mQoDwqs-skc?10=z~dOqRlj3X*c^0d2bw<0-o_?BFX#C; zkv9Cvr4M!AGgKgI>2n{hWk^YQ?G(G$a9YuD1q$vd)wq0^O7fAk87v22b+Er{J6L|v zLTx5cwt!3TR7(osi75LM0L@!S_T9zJ(b6JOm;^Q5O%kD6$lLVkQ&ep1fchgL+u_jQ zV6_$rkB#a_;{on9qJK(Z(M0$7ndX|ibK@qF2?=?Z$NP%RId8pM`$VClU+YqqJ_xC>k$hw{S<_#!cq=^zK z^ZV*|yt#SdQh^$jq^fMUG3QogiMODCu_#R31&8A-lD4N8$Q|KiovhOch&H74E@Tn1jATGoNj= z(ZNb=9j{*L{Bjecc7Zl0iu%>q%X;cp-#)$_2hj)SE1a@(CY-6tezK*)VM;kcbbYITNX` zJp2Je4+JHq?r`()V9MvfeBE88cPhooEV{Z8;-}QsD9(CS2&q!Y30+6WwO3ax$&U`e z?Hlub-?PdB4H*=7#^O~=?We6d9Q{q7^3T6+tDy1vbi*4i#zb1lb6D;%n#7BSoHd(M zP&;ev6=+ptHc%I(!I(GH+iNiwce0N9s@2PVC7bu+QoMnLH1u~8JAJ??5hYQ~`+99V#89_XRv)+m^+kFK^3{-Db`q5nv z4Qf3_!mAxeKg$bWy!al53s3@LW-Tm-4kQNiAeA2efTHr)3-EFnwO1-)T8l5FGr|CO{vJt!^3kkAbwhBYXVr#?3^6hD-Sgc42HhE zU@ZwdnUb5CIlWLeVuLAzW*SJO;;&f7I6OlOG5n7|l_Ba87TqOV>`X(yGj1rg>RSQf z^px;r%mU=4=EwI}e(&?)wzIP{6S>^j^FZ};OKASOn>TJy1LEq=(=*e_&(7`?* zJUR7@`r^H&FnVMV4leP{MDf0g#!1?cr%!p#pJ!#M-wdhw8~LsE8!a!)!t!%*s0s@o zLyh8HVzw^;khKX)p~3*Q)oQ9GZGdU4Ys5UqVo8!?<8P!S2|KE{+Ree(IEC~c;4_fx z$dE4~ZH^&vN9xa3Qa_xEL10`}dCy z_O?rR+PqP#D=V=1yC6SybO=E1fABs1B)cc(zCY3MiwOz{A(z42R`JRqWTvfg~ zTo568onL`#yl~yGFk>z7v^QIu4riK_h8;Fuvp8jP^f6J?tFknqpUOg5C4q1Y>g{9T^#DsxRW>bJfR}_#_>NQ-6MPYLChu9l`$*ER^gA|Ik?e{2CZGR&c~5er5T?a(=ANK>CIeBaYF`P60A%oM*O-HI#U8NR$Zgo>|C>i;BBydBV$H?BWP8pU&o-88yy(-8F;ss-SH3e>& z{Q+-R_u(my${Xshme1q+caWmy>~?Jg!&_n3jh{uK%@a&Ag0-;J)HI`y& zuccE3aR}Yq92^>Y^X5%R8Qp-bpR5JS0wGziAbnW5FD)J@wU=fhJ*W0GfGnL)M;4wcXb?9b-ImRJgS_#HIrsjtU zz`kBV8G4SDTdH=7KLFqiEO3B;U>wTf)zZ?sfAxsJo|}WOLHPFEPGwecCU1?3#F^xm zm|6tN>jTs8fs+PM*fQ3+_q1{ zOb@WPlHPl+Ah>)Ep<0L?0ptfX22}i;U~v=8efs;fN~X{jd`ZIAE|nmGO@mq&Y+~U1 z!&sBX#~}b2JV}Ry0m>8bM`e1NPgqEnWnJa!cA0 zCB&qpjOK!>uVF$flilp>tlYD6n%dez_7gW$V#@CDLJ1E@=$yE#U9!n{)t4FZ@z>?$ z3yy^}X6BUKTr04yVa9h3ZYmF0;kQwTFfQVAm%q4;0Wja&+e_M?Hz!^@_w+? z(V;nq*lU)IB_qywHgb5d3F!0STevryLg%rst2pe7M@ub1nFQW6E~5lO00mI9w6s+2 z`gMhfA0Q$c*DTCQFf+?=TY(q_0F{TNxUbY&59()F6_-7?mZYs7_jrnHiX6t8zl>iQ zq^E5QAfmm07;(s^>>9#E%)_R>a^2GTibc#ued zf#}uB8uVX8p~`2>@x;kgOw1oEZt|)a2Y*S=Yl-h z(e{bG$$O{>$Y z6_wD@L3QTL*OwP%vs&BR`FVM(U6+4?)eu0d6#*wFXHR!GM4f!Y8r`gKQ!dw^Z@>Qt z0%G>?XbPKSglYtv=Am*qZ(ufj19+u(khOu!5CcEnudlC5!oDP}d^!aQp#Jl<7c+%~ zh>q9)WJu_{l_K7XlePba92H1Wk-WIt^ zM@dP^#>okLQCLI-lfYnV33Q*k|2n?0u>Tk50#Y%~DZ+O~wJ_APA(KG4c#Qc|vC;cz zpNM3n^#sanmWV;ol+~LR?i>W|zMe0IR%p@v@8yh9Pb&P{{AQjeHr(Ek2F6A6AkAy% zLC&610^=KZ8%?LiXM-Fku6~ruu~yrW7U?<6@cd%LSfkp1YxbYUHEyqDx=&|>yB%kX zujf4Uj}bb(p<(ge`7l63g$v~?{@xf)nwJW>z<2S}8PCnsw`tSUClCP?>J*XZk@if6 zcfP*;A`Kjcuk@v#lWAx_*QLi~o08QHwZwwws%4owDHQRRRmSODoS!%SJgMB@L zY!FNF&}12rN`c&ifu(eY!w-l`vnaF@Gir6Ts{C==P!Es;Lr~6%yEQa&c`(+R7~#?o z4X2PQAi0k;y_V)iL@kOt2+5R4`0j)&BeeK50o1or4d-e<~h!{@?G=IIm zP210aL2Grf5Z=Z~f%a_*P8Q2QKQnqR`RxobP4Ob|9(T}$WyEV(agq#($nBfT-cy$v zT#!+T`u}0SpL6*=AK#9h0=*Y1_^l==@qz1hKiuE!(yoHSWn;tH2bTbWCts`2&U22I z7NYqc-C0EPDl(fh%Cu+ut5(C|1L_dc`g`xWJUSkhY|MP00@Asq0Cq8uVqnCX-^+(Y z3$^#B&!5*Jhk_#t!nh1@bhX5F;{U7b^TcQMysVEwF0GKD6E5O|t*E$WMb&()nGPNq z8CeQ16M6+A(PG`<0p!MvjEp4VNA(+q0rG&;{B_B*i^wS`Ae1FWL=-|m04t0IJ+U{F zq~x%vV9jcqSPL48$K!ffVe&$m%}{n`=9lJXd_`aBJDJ(p5oX(dxD3LcTkm+$larHR z9G&f%W@l&j_xFbyUWR}ifpCecj`qTy0~!&ynL^#X+rZun*(RdRz!XW^t-!^64Om5} z*1=D0XkcJ{6}BoKKszU|*-`eikn;+8zLqo7*;Ik|$@FNOx{>M3UYE z1O*AK688EBKb)?DZ{c7@0#y~V+1*q42;Zr*7j%C>m2t!r+$3>F;HAG)Msim=&Ip1- z>w;cs_3mPoZWFdVh5)^I?^77P7>X2^nC_*xTVYE*G6;&~3;N~nl9N|gHL+DODdypi zOhDuS{ImIWfW+3(p&|RYeG-v;8;E`N(@;6J-o-t|M|^61{3W}ZIU3rcovFhSpAMQ@{W7{979Jy-P%&9uc#ciS2Zta6&$m@jIFR5~yu_)qhMij?2lKCbZ_SHZ=kDgqZ3M;w8`!VDUbQJjHwoyvm_O740bCT2s5{IIa60r8r3;_A-_jo_d%mL7_ z+w1}eUoqnZ)GH{LTH`K({0!z>01CsNtGDu4S6(}D`lAbFfWHq2I2CgUm~G0hHdpeY=Dhm;N=k_b&+bDW?B)d4*fTYygwMX-R^> z>VnLUt!%b2czoPFMR5Y$KY@yAQc;g~Spj-sGLqTTxaWh>Oa7g>Eh*|VB$Gq8ZKEVr ziK7*LGF81o!}gs)g1*lEqo>EknH`9Y1406NOyt$z*-t^P!-FXOzv=6KA1u-M*H(49 zun+-1;E-}4Mt|2=a#9kG!IZ*Qf*qubi=DcovV8@T7Un?7sBrl^H0d75_L7?Fgarj< zW@g?{Rxa%l=55G7QCvSohDa8Qe~plCuV=?UBRRzYu{5aK$Lq$`>166DdMe2(@>*3% zJYv?BgWKL;=f>rAQW}D)N4~V9wy|h_y)IB`c|Qv^O3|LtJTJodae)}3<5Ix5e>$82 z>UNF|tvEZigB0mTyc6+Iap?8M;_M2oTxv5j(%RadN(!eH;^W}B-(UOyeBW#C624Eq zuK0+=)<|m6D-(e&${UXi?qMvDO#@FoG4!B-q`4)0^+{*f;gc_8%d@^R+)eKyJk)oj zxdV$={Ul7kJcmjhfbY#DNdq(g!!?ydjPn!*%Oz#f6t@1zAFMnHmmhResE9v;0v`aC z*Un6ap%usIO_6>f^kLfGmiN*?5|uOf^g!1^$N_!m+i`}kVY&YK>Q_1N2dg(SLrt!_ZWRsptVxW)t0h(|pNpC@N$Ydk#dx0DX}L-FzPCG+h7T%XsYao9(vnjc+RA27|7rqP*%1sC}QS`B0|+J>g7vU@KS;eN)ieYP%2=SL%PYZu+%g) zVS{EwSvN$jtgcEZeACj_Ha9ihDzArl4?qk9TL5m;LMVctNEsP_e-1z-Os;>dgGdDY zHu(Oe-Yo+u4R!1OQ(BTzR$IGY~h`tg5&yJY?n+zfC6 zVotL^z?C}$g$#HZw<;BU&8sE1w85+h$cyP39z3+?*T_%v!6L;pD(ID3xor-)0F{ZC z3-L%TRStN)XLKT+k&_qBq5-<+WM`iuVVEC34SFs}aFNe3$5M{b{zHJ<31JLNGUg-) zBOvp_1H5(X7Lns!cwl&%giQqG1FpC@w;CzQ$R2?p34jCp^F~(j*TrHCR@N&6J#k$9OW{?G!-H+=1_36onQt6KRE^X8?@jkKRi#~G?FOUv`$8ztpr+7 zr`1)rzgHX`GNl3V~1d7=+gL(xwdzfqi)4jRwJhnYjTgE4t&QoOb&*29T>0+0P*-|@sfe`#O4 zT%a$Q>~0`W#*o&#T^r^PoMSOc4WveRt?Xtz38xKxY;p$SyYzOjQZ)37heqwE60E(D zG1rev=rM@n=J4QWHkMDcxWsfH3$WE|nV!vNeX{?-gzTTAM`B5&U@JG%4Uk_pe8$vBKzD$^t<9iQ@|3wcA(Bl}#%#29*SObO5U{hfJR1A0DH z&3x_uq93pbDI2emD_-KSS?h!mfSBnFQQ^y%FBwVRx@Kbl{Epn!QOW+eOv0bc`phsM zZGn6!ZbL%}^HO~m1?W^R0ViFzJMNI5W& zLLlV8s|%ixS-FxaPb^iyrN$7OA!)|N#X+{y)LHpwRFDaw2#|)Q1PC9{Hkcr`k`A|% zfb@_AfiSTeedkbHmVswtU-4}PZ-Xonj~NxeHWXeTDMU;oI02y_yvRUjYwP3|7dw7? za~(o4oWpfGCD7i%VV_bMmQ4M1clRA|(LhDQ2ly8>_vkszF=+bWc$tDcgpQx3fIm1NH6>??#40;C)BezK#w^TNrf?qg1{WkTLrTmjl=z91=1I`Zq8hK+NsaiojJ6 zu3;JDGa;)))$c1MMaC7}d>LU*0se5C4fI_1_Vx~Bd=E-v&2l3x7&rZ%K^Cu3=TnTM zIK33xQRQ^qu7g6+D87pSA^i(R0WOjys(v5em#Ul|rc z;M}C7NWQc>&}{>)Y@vuzW@t>RHa{vbKU#v?0(KG27BCQ(x=%8*0{>@*MAnx-8ZWgO z;z5HYS~Kwcd{+)w5Dx%|W1qPQ&Cp}p8lkhdFZY{}%ORFX6}V2|C!`?5R}KSVSka8` zV>@d9=yb4NM+O1kL3Q@*X=b@_2CrYOG|Z@GQ~R<+=y(J)T2@vjbma<^IlO?cxyEo1 zr0LK_qp7C$5i?+7xB`h==5tdiyutsw3I&Ra16}BK3wS$Vo39Y`F#WTkrT$jg>4bPEYbNeIjLAkRsxLj@wnZZ^a15(GPwQc!=nP zJ8JKL3L*p2S64pUWoBju#LJ=@eb7+ys{hJXWA3m*<6@A;Xy4UI90bM-2LR_h56|h- zr=b+jbP`@VMMWr`3`t7nO{-ba9sOvw2k*?k1ag3|q^ulTk6m4pQud4Ub$j_c?k2{M2t4vIdifUwy(s3H(A~kD8N6 z?b$(Dp6IpF2NPA5gSD5|kkjCic<2#l0}_fk+>A!tn{QZ=0@%LLcP2xtXwH?FDxD1O zb&wzLo15qSKzOGNPod3Jj{I=1Fk68XDIEGm*1{4D9~VvJu3bYZ5|N&0i4B)!m`$8= zn;=4bP->H~6Ul&fvBw|5L!P?A?#wspGDyneI$tHpZ8kY)n59N@yXardVvW*)r;Yw+ zomEXcg~zc==C)y0*IQ<5q^ztAot~iZ-9K)5mpa5k_$CVAo8SRLm?)fQW+20HeVk}{ zNE!p+;^@5qs(9p+gx0&F&XUGC@%12YQC-lz43;SH{#76B%mLsDBw-}h&s_57MMJEF z`WrCR;zQrNvrFiv1ZLR)jQI~-dgFTF&^XxrU8M(szSZh#I5fC{P73Ju4?y^B42kUS z%Fg4DZtMt+=O`pbKZr5YnIWHC)T>HQZ`9)Buw$bJzXd&6vREtr$%f}7<0qFpA#@fb!EiUs7IH?daC?+Nb_7arRLaR?vQIUaj=-*pGK0YIs?#=qU=Rrbe_}+V7P$#mp9|C?&kH!!aZ2?8kf98A>9KK6S{9qz5N%7soZ{pOjI;`_N^ zBv=KSQR3~kM99Y*{5Xz+PA(sl`Hl?_enFhcQ85~ItT>*~s5Sj1@~5Z2c!ySL7Z}Mh zYHMq2YHGkC2X3aD71$qKz$%xPmIg&35R9u+?PXmA|4};7Wd6@9F2&CNxk1YM*g57K zh;f}2j#O0LwTt;TO>@Cc?PS=#!AmciC6I7CPVP#oUR8Ozs<`0=-dT=FZs;=v=R{hX z8FZxRe!^pV`%k1$au~gGO+2Toe{eAV)vN5<#0+qpLveae&@`y?kwMHPbjw%j-8t$E zeMF`b?gH&ZY)5S^+AJ5OId4Z3oWcdeVSkKC2;v@-UGki~yss@Sv)2%X z(GZY)?Z#t68{M}Z^hA<}lG(c8f`dhfMCe)_N*Tad)kz~flkR@O1S7eRcH+~IN$aoD zMm=+QCI(7}p=Wi$xX!f2Y3YRdw?&qu$hT;%z!t~8mZ&5^5;yRSM<^8E8y*bubKWLV zS*$f8pMG8?CYY~2Y6Pp6bz{U`Q3ua>S6O@89@FFr)?13n-HVsoun>+ngqLk3j@rXO zz@B~%E@~0ZGZv+21S3Db0W{xD|fbJ9ZC| zEVBDsbVnKsF?!NPhwt| z^re9h8bZo+-3{X#`r)$)5t@Da=cAGY6s|ixRn)!{^4Wg6gBf0@VAc}lw)%@Z8iuW3 zZ1D|J5Qvdc5fSR(h>+<(kRtf%*4Pw8;oT8{C84(>$Jh#ipsxS;1Xm?d+zq@xO0j$w z;H4f}n0G>et{l!NWsAbH z%0I)0p6-Ae0!na3dU~Lb;SBj2;NErz&ntM307YX;2apeQt)C-C`H#i}7N|M6R)8NC zbW#AXa!V0&V1!U`?nJd1ffQ(4y(|a87sO{bw+ibqU?C)yKT&{Q5AAG)a?9r$j-4OP zK8Lc<=kD+qVaTyet&BuIR)_wHLLwN8> zL87|+6j+ugH2+T-@?%K*OQ6JI*l{!nas@6_3Op))faUP26kzoMmYT50A{MzSGU9%k zx2Q%2Q>w%*yEnpsjbfv$Z-d$q79*x^g|Ii!9*2!+yZ^XnH_m7zM~iiYe3)Fu_El~yxB*OK6Olx2_6%@bVy9O_gNn>bpYwHhDI)rH2nxB292Gnmq z+pYgmIIW{2fQ~!klJNzcW%AF?twSI0u+QN>q|0`x!)kSSGs#n^Iziq9w;U0*zz6Sb zkP)Ee2!y!b{#1rbyJu%mM(56|I$~N!tnPP@mNA>4>0m1cH`_7z*>H&JpwLM#pu<#K(k|3t=7bwK7H9rVa@cJS z|4(rOPdju?4M-Ia1erp+-wCG6_{>+)hm)!mItK-JIo!4zaS%+>!p*1fhzOk6QbK3{ ztLwsLE5^2NzZ9(SAl>4PoeZ-BXpBI{VOmr+cI>l@dQ3gXu@Iz8@uoPa0DsYdaT-lC zv&rAyn^hANroe20VFIQG;C&8n!QcYeIOs(kxo$9H`+lsTC0+0oxdJRPpq7gC^k09} zH!=OA6cTU)Nuvo)7O;GQI^xtmQ%ktzcng7vn;G)#_7vk85tgBOMr6VUNCoq2bdB;l;mEe(S zJuGVfzgaRMJkmqh*crtA7gWQ&qzgB&rDidRJVn#696B3kp6E6itqlby` zE$oQ%t@@vc_BK5o@C>df#;d*+YhPB9t_I!Yzt9x0ICxlC-oORnXkdr#Avo9-vX4N) zX-|s)Q?xYqa!GJd(2^+|KxKp@ zn9$T)LUzA1wy+X5$(Bc&^-1ESVMd&*99_seV4h4#aXtNgDYgI|^C#d?p)bRq6e9sS z{0b#Svg7=RLU!ThH|)ct8V?f7pRK#6B%iqA;WBf{e8|vB%sp#?HXDe2*hLkkrJa*j zoOXgVQ;T%OKk!MGqQCBWt}`d!8!+l6mCqXDF$|a)Sf07qf3G+%^Yhc|YDyvO$+Sz- zeW!k=lYo|6rS6Hry^9H z{k!fh1c5zo5HjUdYh0>&7PJ=P;NTFc?7^FzV6hUMc>M0&J4lZ{Am+v3gU|}6A+Zxp zH25fzi9no9t}PlWv81ww9+09QPWvhOqZS%rCJm%tDl5t&9I;O29Aj;^hR58`D!reO z_dZV>27*A~_^mP{czsFfS*2?x+kc{CFT%@O?otP+waY%TUR)i}lKj%Os)|Dwy$8Ds zUQY#&6|@S}HI@f9HVk%-h_I8GOZl>YYkw8Z_I!Bh8_r#uS+`8@P{sU5$@i zjskYqKu)jw`BOM|M@}6~D(!Pa+LwZUj;wp*A{t1ny?{O19utRX)z-RAv$X=nw3UsG zTBo_QUeoXxpWu?**U_qxXCp5uEq&OYQCSH#rIzpCzYh&bh>7ij8W7_SRzR>+3KgGH zOpWZ8)nR8q;2Mvff7@2IldD(8cj?miPal`h0L$a7#6_vd76BdlFNY-npMib}MC=a_ zq^#_9mKT0;gP<7{7hh&!sh=Oiw7W_Bk`!CBsSKj!Rs9j}zwnoJX!1i^rPuP%fbkY4CNsS1yKulD2z zha|6!xbSe5yU950FJ7Rq-!WdsN&6O~2(?h!Y5#kjZxyipeCM{otX|H56F|bq7p+*g zGkbp3e_^!0Y{mu_pRb7^$K>19;8`~=io__Ft);P`AUr>50cc$Y1UW;eOo`w!H=k;2 zQ|^aX4mcNl2WyWzR9*LppJLt@^bS{_C`we9WF0sojOPMu^vXAGB<~lSgFd7mUJCC? zfQn;raS@7E&~X(aIpQw5%U`!lzTDx?Wr@P9{+RRxTS3Xmw|+T+Z-mB^dUJmMyqBfX z52hj`qu*m=WVE!F5q;RbX&_la(s6NiJ~ok`ODxaMernbSuOQRoxS9wra{6$fkk$!a zsHG*l^+YJCvNtVWf;M!Gg$(Zmyr=;*8W0i7P6E@2K)f?)oOpferHJ5xu0f+w!yI%1 zU^>qo94LY@E%wwrlplOS--37gWiT)>0D}wAwQ?+28}8n5Mjd^kk&*f(oisn}yi(R@lL{@V>+-Ph%D`S`_tug_mYcu+Dh*y!zo93gOip*W1*^Cq2yJLSn0 z#3`^Mrj(Y(RAKDpI20HQ$R61;F)ZW_U(z>Ta>L%vBJ?`d5TfBu=Q1P!q@5+9@D9ws z^6b)zI8|>084pZg>U(rlWB{N)&}Zl+J$w885WYkWGp>jY6R9fw)USoP85!ofy8V!1 zXWo;c3k?koVR?a}-%)X)#V+T>?|0%<)0m}zI3%)T;-qDXMFS}b+#Sd&<_mWaR)n>7 zS+Yl~w@Gx6;nr?P;D+74{&L1XJzL*%!=6`?;5vo}v5oL?YK_w$QM9GM(GBPtt z8dg$?Qb@@xWrQ*+GgS7T+4pJK2`@R3@I@j%Vc)wro*X!|oJnrjp4U?4)Th<>WNU(kCozGu|mjoFC z*anpk3N*@}+|Qo~)rv<)eMjC4GC+fL{dH?DSyjiKrLXFlgmdn?Ccr4z3r@Y;>Tizb zeqEf^yHgXekQ>DbuNrC3jbAdsPZw4C{nMLb__WZU;W2-?Cj>pe&973jQUxL=EL@v^ z5sfX--;vQ#6C)#!u2Qnm6oA5ui;D%XUTLN^pvONZrf$Znx-FVP8J;K15o53h!i11` zRpxcJgNKJygC%JRmxZ)tLyFn4G-3Ve{r2qoZer-cpr3&=Z8_W7E2KfP^1&hM7#C%#B&|sI$kV zn6`AZzV_*kd3X0`e-LGcF9lbL6)YrDM^Xw3pic_!P08epPEEB4Y{*+MO3C&429+Z2 zq&+qtghWJaj-j7?qiO#0Qniv@E?MdEm$cVZIY@qQ_7;*#5r0EY;s@8j$Crk&4?ph7 zlSA90jbyi}J#fm@Q&xvQ%+phb#}euo*f+KXj5~Wj6Us<%J+481R%pGMuu%1Bn}l02 z8&2ksleR?tyy^ZWlA1KUVb_i7$D9uy;@H0eqqZnD|8OW0_UUI0v2vW;?&>!@{8*Mj&XieZR|;#;1gr{d+O`@`cy0hBo6&Ci#VIR5o}v!=CUn!JoWKTDfxjiM_JI zasI>+mMjsghx2|gm4ZPTQ!+pEx}w5DJU}nEZ}MIymAbTx#(w+ujn#>Tz0=!$;`_mTngcYR=@RJr9n^!<*$u?kBKvIVbC{LZ|C(v z#EwEAaC@Ol)@@i&P;eYA_|()cLBZx??}BfHfsgLSs3ogv+K~%hUY)O8!xW~wUQm3gFY`J+#wq|0M7`QW>#{UAfwMeXUH|Z5 z95q@Gz7_ZI^YPV-R0VPOP_Tb~ClFsT6d$I$N+1TB)4UVQoO4yDwF{(yrvWVpkLd>lN$tU+*=>!SIs5Dh=D zjVAypm+0F&V0R+Cz*g+|r6FOuD96owx0`noJ!q0oMgXSpR$Ro`*j}lgGiT0#+vQNW zC{-p3Am7#9U9z2?)T^{-yGFO)!pVs3KCNt8dF=6&=kHdZ-hJ$@&*rcXTgb`D(F4tn zvktpKR5;EF-y%rzReZM9zGQ>rb$rRClDGOg?Tmn* zUE6W=(q-bcGPbf@LZp7+)_wZw+`g7p9un)e>zYu}m6es{b9uT7U)Mw!4ht*mL$RW7 zYLCMhCOs0Y`+m4eB``TuK{BJbJbjd&{wlf_I0A~Ae1bYp@Zooj-^_8lQT~S)907pM zWg_gRXDIwWzl(X?;~;*hf}-Phe{qyM&>6@>?qO5YEP4F+c|ViQSM6`V2Ln$4C@97+ zU%e_Gf3qGC{`l;yWJ^2QFGt9xpdD%d3gZFCsEva;@vIb!&A!ZNuT-8Bj_Ny)tV=&b z3>-GyBW9+DJBu3ZUcP0jRS{!7*+zZ7-tJEHth*ZpOTx|b=g%W<2JVPsvJ9~)PMb!T zbSyfg|91F$$3BLY6Yh41&Vb+G&!h15;t18=v=5)u?_K;}$piFd9ot3*-Oq}CJW+Hf zl8Pkv?6UX4f?Dsfv<)Ln6aC}QKntODwQ4~Vin)M&P6S0RQktcqvt>i8W5l~QdQ|)S z>wQ5?7VW;MR+^oO%Ky8`!O=EQ)pO4CC8o2&q9WL!4lY7?zLhcL<@3(wWk8f&0L7QBbUsJeg;g;>Yj)jJWMHtV~z1i;*!?-Sx zF{B$6mIz*83z7ykZEO2bofoRzD-jWCjm~2)(BzqHu12Z^{Lq)tg69Mg(Pw7IS=1F* z4@1we+#iK<9iTf)t!>9t^SyU9)#Ya-$b0Q`#8lH+U9Htu^T*E52uyP6u8f9tsOH-K zHaZIy5i1x7P(p3XYHJ@unb`S;YBBcu^}WaifHc}34+(@eRS2tK4T@IhWenjJ6BC2! zNls3Vm$w^-WzmPw`xyte9oEr_X!${jwIVefJ$K#xtQ4M~=i?yJl%gOUa_poaE={S65dD zm~*2tDiaqQTNP26phmu{C&+*3j%`gQ^?xQJ(G!Kl*Tb*k`}!c|y7S6>%<-gU#>D+k zGCJQK3JxZ)sj-q3lY$jYegI2RI`S^6FDrGLWyL7Z6vSO9naPR?G>`vJv)sP%(jRr( z9|LfC=#G{Q=?}1LXycP?We`36pzG}3vrs+Y#TfE-dSt2FQ3354m}_c`Hjl7mdOx? zBbg3e6apDBuN>AOTJ4M0@5mo+`*PH#O&xM>n4<{~Ei$us88uv7ax_vecRss0cBk~j zYAYpP>3Ziz1viu+kyo$Uu<}btT=NmN&EyPJ-pI;YnV?hE=UPG3)qy{b*xrmE*!IeE z=FyECO}M0h(2m97E)pGQel8;3NUmem7(myDdWv>r?yx^fc- z&Y#b{sl1jFS+{CWA#;S2eTFMyS^RM7vY_+A@hT7*+M9ntf|O7~4jftCcCEqUDTa&izk z}zxX=@!9vrrA5Fd4%I{u3-giay>{y4qy_#j&f__ytf*oIt=bJA+8|PHR3sMPB z&sXWztSl_$eLD~0_c=>^5%wGW zl>EW|cl+E>bq(J~_KbX}Omtq~Qra*&6xuZ(nmQ(l$?s=Qb?wHy5AO=>n|8N~-j50F zThCMzY;{aP-~qs9Pys`?`2_|0q5JH_t%Rl!F+&*>56f@cK)Lbt>sRZLO?XSmV{>-@ZpHHKkff8R#dGV$@Me`x`Dx&gmp;2exi*RA_^ z`L!Rq!ZH)`yI|!ww(XlL!gx#~ZJ#J4g{JE7q#!4^mEF2kDP5mEF_EF6zCJoGE)Qa- zDYd?rdNgbKmE4uu4Ksa)ucFAN9T|W(Tvk>VA_Ha)4lhWHnbZbIxv?UxLvP{{ecicO zt8_Bnv#N^V?P_n*X-J{?fm*&s}8HAgf?EOBh=aJcPHz%IxWoVY2f&n&NmxnTkM7K~c65?(x6P zu}_No5GY{zCG!|sxNXsbd-rZy8?|ilGG5t&J>U34@WwTZ5neRLSBo_TBVw2+rnXc@ z1(XY2Bn6rCGScwy!XB5MJqc|vq-T4Vf}kVPK6&ya6n%V`iRQP?Y}Z=7I|xfbt}V!T zyr52`Fl5ry*3Qhz8p8-^XIE8Q3vqS~-;eVW>dO9Xg#8kF12hMkX-Bp)5YThH4Ner6 z+w$=MLDp7hpL#Zjt0Pp6Y(L=qY%bYcLA+~RjtVkEHg;HWRr@bzWnd7e&40AyEf;Zx z=AR02aB)33TT>IO)itBBf4@J>m$3MTy@P5D_{G9~LazHikPPvLq&Vqo)cIqHy$9!w zJD|7(+=JGS!{?7$^qTZecbPtG&Ot982=HXKOFbF>4x zsKZ61Q$%@r;t!~+R{}7_oA_;Z$oKjCbj$jXzDcU0k%gWNg{ag3r@<3Pm$iD!s0gAc zU53P~37njSgak%puOMFL_-K5A5ERwn*==l8$=YOP_8l5NFe76q9m|rwe*Vb%2!EfKhFzJD-%uqZKEbzNt zH)GBuk+`1nJAh9sF00UX@aSoj|%o(P5W7;cvDKl zvAO_39DrbOA`J}=(mK?D3dC9U_|YRz3|~TQJk2kPSzJ$TRu zt1ygN4kOJYY%zLfs$ja4#H}5OSDY3RR`EpCl!PADWlcf+2$Q;F+z`@}%*1*e zvOnZSqx2vbf`@?`5wC=!!X!)E%0M$seCt-fJQUGunrX#5Iz4_wAYbk}p7L}+A`mnS zZA#sa-pPpFXOK#vbaC|}C~?Yj^+v`np7p?06S}Smy-90JOFlBA5SERab5lw)b$)Kn zxWwnA5DQuxoV3Ro(;7FMUObBf788g#Z4Oo$pqZ{dIN*UI9T$|e;7>oU5a7SZ*^XeK zNE`>LqpN!csibAp=DrO459CUmH#Emy{BH%jApi*>;Z}w@z{_h9(k$$aIIC4YU`xPC zzh7U&xxbzGii7X5*Rz33m&m!fxt|d=XL)G}W{w%1V+ICplieDM#H$1+cy_ip@dKP? zh>}IT`mL9!JMa9bE8Ipl$j?BHa-hvW4Z?;==1ZUdly(M%R(IF5Q0h$2xEMvM_3aw+j1%-RaY~ zFyD(a@#8!(eo1J?qf4=Ybft{bnwgs=|CX>w0m0ul?5V5M;1%65AySN^^Ir@LC8zA*l+`E(P zyL#1>I>)
  • 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 diff --git a/phsource/vowel/y b/phsource/vowel/y index aae16f511639e3c95785e4c885f6c4bc38f5d9ba..43a4855034292aa2124a9286304de455c1d15ae3 100644 GIT binary patch delta 2190 zcmcJQO=uHA7>2)@jl*uTJ3)%tV93FQq=`t{Sg18E#h()N;197e2}RqQL$B&V4??OD zgi?@V!BU~#Yd_47+^H?&Qhyy|WLK zYF12M89jF`c{MgKj^u%jO*YdwjWg_;fnGGoCO{QcQI=J*P$9!?0t9go&#}rJ^h*Tw zOGd@P);f?+IS)R?c#lzuyT3!+4N$@*Y*g5z@ZgY9sn&OZ5mvhI<4Ua3<2P60`g8Ts z^XF#o`u6p>P-l1yKxXhvgW)(DhHeC1)5wbrhA*TS-jQ9|i@gnofbc58`H}9fNw;(SYDZgi##AoQN_x z1!Yb|OsYYQ6G4>}P)@`S{Q*0a7oll35t`PC2z5Yg2@yd95aA$HatTxpVpe*IW;qB! z83TcXDAOX8Ef6ib$qu1uf8R}N&6PFUX-MQrM_vALq#wSxY{LU#Hkj#Dm zQ@&%##y$GkmW`;mmyOZ-zoqZrQ8o%)rhqpgLg=Ce;scqs1bn;>VGj5=IcI@L&?h#C z6HN$%K|iEAf=C=`nTzWsfcTGI`rr#; L|37-ygAw63iC=99 delta 1366 zcmb7^T}V@59LE3ed-AX|&p9GuI9h6Ler&0mAE{Hrn}gf28fp+L(( zkUo$E#mML;^(KlVX(fYh#3-%1s4K~VH)TRz2v%#Sz2|Hf!tn0l<#7Jb?|I(;E4Xjk z74}9;t;23PH>^0?w+H|(?7~K50wV(0M4Ko?n;}F4*FW^RcO!sESbiO94A8GdGRO$*0mE{X&zeTXQ?TY5B-WEZPEL7k&0Ns!K z@gZb}3` zLOxcwRdly>!(=;akTuKdD-&i^u4Bj&&l>X7b&5WtEDvN z-6glJQMN}KkGB1T?Uvi_;oru!ZBQg?`&qHKbhYB}k#5Uxo7<6fVNDoIZ-`ztaeN*+ zC69ki2juadxbdG@zdYW`55|ozOgLV6qViAyDd1vs7K%y0vyp&jNx)8JJ$5Ri`!&P1 z!3-PSFBR_tRl8;}zW1bK|U4`T#*Kxx7Q1bLhthH-*C z#W$m=-5~$WA;@B#I@Bs7-=d$&$b520My}$Lko0!AQXf*gc{`YF=fTVQg7J^(T5Yeb R$Fc72YJKUO60-Ga)IXy=K92wZ diff --git a/phsource/vwl_fr/@2r b/phsource/vwl_fr/@2r index 2a705d0b75d4f56409623267e1a9baefd4f7e1e1..f8e2ee62d16dede5006f60fed370697f2a317ade 100755 GIT binary patch literal 939 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 literal 2682 zcmeHI`EOKJ6h8NybKiTj^ie5gscmO!YiU6fC^luW?W9mBYk`)fB+3#n8U)3dQbA}9 zvPeik6Og4w5R3vf5}Qhq#tfJO8Ww|LHDF0A0g7T+MUZ;l4DGb=2lxx`=HB<6@1Ap) zbLM?hG&X;5anZO827u|)Gu|SYDX9Gu(EB%s?SOs=Ai_-ohW_DcIM)IyXkEf>szey4 z1H6gBs5)%IDT1925Tu|Tk7IF_V5b8FJYY1a2E_`%=>UDa0e43x#RjV*(uB-SvZr%` z+q_COG_A0Rrb6P+M`lnY6v;Q4-j+}w^e5&oPqTiw1%`*=eBtW zR&j;Cu3D?J!nF>@yFoX!RcD7c4sUsa9AU~jA5fF*AVnBwuS-vZ+9bJ;ROfh)0CZ$d z`ij~yt-m6G$E%a*n%aqD`}Qb~U!NH5Kj5$T$N5hs#w0YyE$rSDJ2<8``XzgmcZ0jo z^{VxYxxgH4=9&RB-^?@nncd7kjlIS)W4zJRu#B7fvToGp^$C4Q*XT-Jp{MB_ouD6Z z6CdU8xtgnZyYw2a=kxr4Q*@zTtanLFSEImq$JlP1G#(g9=0J0pte;_e%p*prp^XK) ziOcw79;7|uvD)lweP^Y+N?nz%4_zZ&`>ba3lyOflG0t#!_9G!E;Xe3{bu7*Ety`n0~Ff0p;Vxe_9HIk$(+s4b3Y!#^LZ=(DEGN8?RP%RU-CjO;HUUBZK1g|gr21?6iYp6IL)W8 z=_>W+*LVvb=er!MQ*|$$tfTb}iL2z9oXQvJ3yI1Te?O&C24z!#28iXRCj1uP!;$F2 zI2kMP7LK5Gbe3W`k6+Lp?hO`u8iIxVA3^ciiWavCRh`3cK$7!JU3 zSc>a#C+^0*xCg6o2Y!O9a6Z0_LopLyzyh3&Yh~_N{0r~leL3$%JTCSYT#j?G1czg` zc=g5vbmJfDpxU6`P_xtrYM;8Jk}wBHW1;Mmg+0Z?hy8FOF2Qf`H)KkZybPp4)Soh? zWeLiWJY`Y3-4rSjD%RiOHdbrrTkKGea#kS6Q|RiehLfJ#>Xz%e)gSD~AD zj})#@4OV?rqUx%ADpRaks#H~|_f@%iTg_0zRWGI0S*U_Funp?r0^9*p#i-o-D>I{< z4;dl~6EeeG2Zf3JW7Gn;2TD%D`tK;rW(2Db)~c}nI|{Q)`ENy delta 249 zcmeCA0yQzH xF{z>0$-wY{@c|8DT8`CH>(P%@Q*=6bWi!+&- zbAIPPXFlBj-Pm*Az1fW$nkWD~)$}}pCq+;>GU~grfg;G@$jw5A{!^AH09(s3OhR7Y zM}8)Kg7m=~N)N0fdFyXwTG=efW|+`ULYoTaoN_~vy++`I?kkbVkXcX)3KPAU@|ks% z4ww*GAWoDh+wF|DKmgKwZE}b_L<-8BxFr`rF3c#4NlWdr3UY@O6-Q$^xOFzH_$L(zN1t;&`>0gY! zw4^G&KQSH5hCd~9OZ!vbq%NfHN_8(?o4hUD8H7PiuqBub{t8xy-C;KD3Y$X=KMv}H z?nG^TYDsm~>;7`D&VA9L&P4RV=(qMg_L%jD*<)TYP8&1E9<#%0w3kJbj^kc;&w5+^ zOMZQ9L+sI5SF9%Xqkq`%^XvV2Z`wQVZSsC`A8?1A@#rc018c;5+Gvl2dKF)zZBs|_ zOEymr(Q9;w{mzzSE3QHx336=2EDqv(IEIJt03N}!IES6;lv<}9&~9jbe4KyBuXC#F zI@dw}lYh_8@V9v{_xMF^zt*cIv>((lwMU)9w?wxAHbZyNHoA*mp9C`Hbwv|y$mp809#C+uz@Zng%Fe+$&m%W zLqd3d5y{k4lK=C&4;J`P4K=V5QjmlITrk0dxHwg?MH~?dISmnU!Bh~RQS6$?IG{My zB1fT+YB_a5HK1b2OcNDND4E#RB9*u0A~!Sf`9zh8oCzW$D)jQL(hXH)^1fuHs8pv# NH7V-KJ!D;K{{!R>)B*qi literal 2681 zcmeHI`EOKJ6h6zn@6DT;4wWuIX*;dOE}#h%n-;L`q*y3xDU_uoDiUfi2#PUn1)*bD zH6)-3C{SY&jRG|iNoA`BnzW!{F&I_@mUJXQixNQ=!Qy!{wA1Pz;4i$JbKg1NJ?Fl2 z&&mDXlu3mnOQ)1%G60lkzRoa5lD`c=t~~$SokZ(}UMgltztZ>*6C;zFlbVv^l1?W^CA7sY?i+|18MPl*FXvvi(L z&>bqEj;Zg|E>)+tiPWnmbwPEg0lHW()jK67)+jRGG`1P1j1D8&9Bz)5{WDFMdDN&d zw6RDBRF(QbjnFRfSZfY(>~myT6;_S)o;A)o=x8%f8~5}wgBbRPw>+~6YQU56K zw{($?)mPPF$@YC!p=PLD^^_W_CaOxcRedk#`9sF9>WKP6EmlS9F?EKw@B)68pWtYY z;WQq@mHZXA^C0!I+M-UVyDCPf>VY~%N9r3ASEJ^rRCS3zm#6~qPvTV0>QA&j!BC59Hdkag#*M=czoMU*VO!nLpu8T+JnN zmLI5^M$<4Vp$ghSJ7_oUr@gd`w$n$nhAQcK8bw+3G!@Z2S}$uq({;K>_a)y;bVBSc zw2Br`8I7S_@ft)4qWpjqq`3{|woR-i;%Ak09l1gcX)UA~q(uZMEk+EFF`4XSRF1|r$ zsX;2am}bcSZVKRjTqil?;o}&GshEw0I39~IN33?(3Wd-Be?z*UQ?U#uqYqQ?FE|d( z&<=gXdz@g!I1&eABF3T@v&1UL3iRW0tj0HRHjcr8sPP=s!8-U9n&2Yb1{0$&|Nggg zeZd*%ab`n_<$OzHWSC zGt5<2h}%PaVl&Jv4{(@s>`Yqv`>;W(6=oRd2hbDodAlQ7T?cr?Fpn7K5ySky4D%2C CQaN(~ diff --git a/phsource/vwl_fr/e_2r b/phsource/vwl_fr/e_2r index bb2850f3d3492ba6132b82f0553ba361757ab036..6830bb5a6e9e2462f574d93debd2b50738453217 100755 GIT binary patch literal 1604 zcmaKsdu&ui6vk)IcjnIQy>}Pd@~VCEC|#fkDdiCgb{irg5D}y(twsR>d5Sz@M2&zv zOiYVK2&kwf5rGPV0z#n$D#6I3h)5uSAO!@f7N|h53IXSC3oZWP{W5pX{LVLLayL6? z*pSEjFQiW=F~&rVpRlYsHy{GSTvMM2V}0Lgk$AgLh~f2gsJ=c7@eI z%A3sLl3;lw;vG0Lehv+$O5aVh%Ns(J#R*?yGDK&zPH9BCd#1<}x*t54dqk(T_&Dy1 zqz~FWlX5q7q4SH~-tYBYpHH&xhVO(AWPRSZqW8?6`?}S138ZC)=C?baoSiT)wxD@d z)I|4?8fz~Ols3tY+8dqS>{|2vEjPqYjXM!vl2DcKM8es)Rk52|q{bvRSz#ZMZ>tjj zQ9H+(=PYs-J0Cj5&JJgHk(|>T{}CEmV`#P?e!#RJFCoT4If{dRkG|EqPg9l-06UlI1soRV%CHF}X{wmicm; z94>pyBx%WO{4?+8?YxeQcq!-e0-non@oe*6$cuP6ujIA7fj9D(yqZ^VfyqtfQT#MN z$pg7RXLBZJa0gE07`7QK_#S-BY_Vd=#J6z+RXB}9C_^!pVm2n>ISfZG#$ygX#ZH{W zby(b-lR3nlIo(w2&fT~RcjWfmmfLV^PU2V&nz~nU1{K(i%~*$3D8ffrh9xLO0p7(s zn2))p`kR=AS1|+A@G>T2A|{w~Ucxw|F&K@JcplGUggO5y48|Y~K!5Z@HnQ*-`l1gq z(Hp(c6Wx)Hu6Pt_=!gyo8KoMvM+(}ZEm|WH@rXrBG($9+B8ULodId}ztS2@!EHHey zM|bHC-KKx&Z>pug=oa0i8+4s&=qg>IKj=5AqRVvYKe|Z2(s?>Zm2{SVF*-x1=@gx$ z6Lg%8(NQ{L?(SjwfeulH(LtjFw2!{0y|jnQX&3FJGAgAVw4F+58+}7tXmdncOuW^Q z5|i2SAip)@*hF8`M#{SVXWmbd`xll45ANappn**hO&j&35+UqXz8qg&hcWJ~l_Yc- z>G}@ik*~}@WQ6(Zx(?%24B0|9^b?Q#?g)OEj0_4qOe#%3DKp>K&|yTZ=`s(Ia8hIP ze;p=91VoHzDUw7dktpKDBO*$;B3iUEvn7HiwvEG+VUezzlDtOhy?eo3|CA-fnMD{YsjZ`FYHm4e=rvzjs#M4$G{({T{1}>hg%VDdM|d J!^?Z#e*w(cKi2>N literal 2682 zcmeHI{ZH0a6hHTzbHCr`jRz9&g@ETl2tjL8h=DJ_cNqHkf{5Y^Zl!bLY`&DO0f`FD ze5tufZCWa=%v!0mT#kgGrf#S;Uzp9;rr{u$V&&2_)3oz_5FWHYpkKUq_kPd$+;i?d z_nh6&ck1N)(Zy4X(ii|rXQ#bFFi)i3&C&-x?9wg$K!6Z70~khiEyMZymI8Mx#bSvd z_5cW=6%~Q4I7?)E0K}Tr(aUirt{2%J(p>u@+fy zazi}q0Z8Z|5^Du@|@-nQqkw2s`R!7YZ0oT8CwHeCHJA~ zoER|U5#*F_W-lbGC(i#?C*Cx`-F-w{1JvLWJm z??lgLSD|x(;|Ft@SzzXxmYHwnndxRf^Eac(SYu2v1{n_HhQ6%Z^#y%WAJ+A{R#)pe zI!DLpd)&dt_*>q?b-Y7HJ-6@$zQ;+rP_NXx#iy?kFkUlu7^jSTMuIuQ94q^$nQrr_ zQD$gkneN~UewRmTw^(d2hdI7>q&mx-wa&Ml6P)`Uo#tudj$UP;<1J^q%kbRv)Q64r ze(vq`s_+}$L*6QHf_G2YsIYyWJkJ4luDjmlb5%GS9Oun;FDgIekG_X$Zf_+xP_E=4hR)2kS%~p|6WyEzjd*zC@pjSDx7WDVfqJn=BeGnu|K{ zD|{U%pbukYuEjrbJZ++L6v=r!pI7i2uI7bua(`~4PiQF>(ikeH#k7_-(+6U?f~L!k zxA7wWj&W2%HPlGQ=qT+Ksgw$6mRL5^FLYm?O((U8$6}gBGiVX5p{?{0ZJ{bElDmA5 zRX7%hV-c3&CftR4u?ZV-5AMYGaXpsf3pfTd@L3GtLfj~8KjJmKgLfs~OL#)`ZMYVf zUF9UW4K;gXT@6rf!3_mi8h<5_H$ zOjgPZOh*rPs3uh-G32O$Dn=!%OqH)Ds({K8?J8`Cd}xM$AVtt=szgmumP%BA!*MtW zSD~L+PY|q7jaEZdyy~lbDnqnVRi>)d8>&jZs^+S3YOvDk9MnM#d<-pc5pIF0B316) zZx&d=7a3xho(K8}!-W1A4FKi{$w?Rg+YGY^frny)>f(Q!VRkdn6*cz(|Jw|c;sPDw z6PsbKxS43P}87;Z8wVPfFaVYHJJHU((0cvIVBJIF9 zo9O}L7oaW>W?;A^>99GM=_#|i1Y-yz!U+qQ7&!JYaUeNi0}BI71k=0Cm28YG00jOl AmH+?% delta 185 zcmew*@=IjHJI4A`Tv<#JOpy!>43P}87;Z8wVY21aWxBu=1r&*5_{M&M;RMSqwttKf zOg%u69)=FiX$(4Cylf8`A26~oGBB_(uHunm(&UL^MTk@g9b>HJyUUCa0cvIVBAvxJ zo9O}L7oaW>W?;A^>AN|X=_#|i71JgpCoEuM;4om?!H96e1{MaESBy!UE7=%X0D^HY A9RL6T diff --git a/phsource/vwl_fr/i2r b/phsource/vwl_fr/i2r index a6d5470a20b99b3c1a2bad0f20cefe1a9f2d551a..d6af653aab448aacf3f2fb04d2bab33556078ac5 100755 GIT binary patch literal 939 zcmd^6J5Iwu6r6qjZ5$ImDF_4+(V$3l7SyqX=s`&VR1`ERXy5{AXb{{X7eGQ(6fRQc z1k|Z1sHjo^^PG=ui5sv_<9#!4c5Q3Arzgj~?pf>r=*PE$Yc|D|cu#YhxZ_2))NZhb z{?h)6f%_nzazRCb&bt{^tbCbE5(PRVANJeq%Oi;b_z4GgYNp0DfC6}qU?YhnSMF95 zH>MDO>GDv)t=gK^>cD;Q+hX!8X_RhxCQxs$mi^DXYsxq9=JC;6AAN#@zV0b#@ROrGRWU{kS@C;7rpJ!jf^lI;-Q i#7qiFepKO>m8%+@vNBr;G0l>aw2I3AO!5~czDQ31 literal 2681 zcmeHI`%jit9RFUHFcrZyfmBFrr{u`V(5~*q)FfBeL-H1ygX;ab}02ZXb!7xuiZwgU>#ysBW$D4m)Z#)_sNh2qag?Sg9D-=24bN%_#p`bf_s7wqNI(H z;*xn2oKo##fR^(c!nwr8ExkkL9KzVGUF`YJ!oVS{g$;WWkRT=FPR<@XL!1#pUF&GE z)v~7@LEeKyD>jB=w~VzVtHX$Hwzr27SLZAap?#PPlS9aE_P_zh)W_M`0_UNGz?m#J z7|zZe^C$$hrEg(pcGfyK!2%Z;SMe%_v$N9^M*}>TZpGFPrmW{-tnpcV5ASs__Fg~q zv#_RHc24!RpgVKMABIK-K@&ghiZg&i^Y59P{((UG-s)^%K5%?yz`)=#XM^~&?^mctaCQG z49^`;t#^#?YhQ~Gd$jqE_{x2Wz8ddH?*UJ~=a4(kUF-6@%A9qMi)NE?Oz%?HI8B{Y zGjz2+r!VWDrGHx&>R$S~Ix5kApi0#&m7|_j!_*|TL~U0;%6a~j^1C{wzEaCnp?XT4 z<88c%pXUJ_!?8S&$MO>XhHvm-wLooCr__BFt5ftKous4mZSkv8^Hhqu!e5G4zSsvi zh0{5QEgmi-7dO)$dWXi7pW>vgqQ7VyZ{iCat@72&YPqUZ6{K3%4p6wk%Hf%owVKF)gu&F6_cTP*AOD!0qCY2gO(Sjf|PCcny+ z{4syVTezI3$XR}(avDR!X$qCnCfY@NX+Q0w8rn&p(0W=zFVbkrpy#NNN@%0Z{Ytm! z0X>v>uh1zOZ=*G|h>B?}<%rc_iYFKSfk$vNzJ~MhT|9_)F_CgTpPr#2QKUW8L=MTraJi9j zT*!IiA7D4%rt|V-0QK+>qzXG7 zi*YJin1p}BNjMBQpto3$7cPjSa0n(~FZ5%EjOJr0R^Tcu$2V~SQ!@d8xC2KXEr z;4<6=6QeQj;kpcO=rwjJOvm$-&g!NxU4M)^09Ur$Nm&1Fh1p8r7(#Us3bR|}@H)=z z(0^NDQeB`Mu`xnnuDd~XF}A|Y@d0-+b|j7c0PDLc4D&38Q*@rg~EY3FppGc4W65R^}X3OUFFuGm!o)Wj?Ek8)}Z54icM@> z1J+=!5|xLM*R?1=jKtG@$09$(u%^3a;mA31G9+9WM6TJQ|MoBdWXz2D^4J0MRWJ0tc{gq{&__&$*k(WbUNA9PP4kynbLdCtINDzFu_?>1qt8h EH$Z%8C;$Ke literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/o2r b/phsource/vwl_fr/o2r index 5f2c23b954ec47785c19ea27867bae0c43a7f54c..68d7e692ff66d8e963fccbca8258f9659a8bcd1d 100755 GIT binary patch literal 939 zcmd^6J5Iw;5S+Kqzr-X0QV^1eK!YODMNr2Qf)areiBCm==nxVOtq%Yl2gm^^C{wtg z;~K6hs5k(#b`sl&8?dYK+nG0OTbl9d(cxr#HnaflhYx}q4&{p6=Q)j>>0(-HcUZ;w z(*BA#xRn>Vq@uv+SmJP3dU8dgz^LQIjcqDVBnnpjy_TBPI0jGvA7K6^fKM0L*3dnsy-~C%;$|yr^Bb0sk*I@IdjPzwh%U(EdBbee8VHtebw?Q zzqgrNGT-7IdavH1iX{KiG|3|S8B=MSi7Aqt3W7v}Qj%}{)eHG5B{`_WO)E)$hWM4+ abrZJgNts(Bi4;jTC_j8>g9< zoLkhqgwoQil}gLSNKDp{4YlT_*}OIl2e}l>mgFT(`o8A?2kZ~%7vE>k^L(Dq^Zh=T z?|0AVojxUZOyTsYsSE&1Q(tG8FQEJ9*9|*EW54bI5awoqg6z;VTxzd?ddFtkOhv-j z6<|LGBJbjHoFmw-02vIu^2kA(1ltwhyamoCY(j+qb_Hl~`K_MJHV>FRnYI|vHq#~^ zb_FPn_ft1zM2lQN> zrQ`HN)uK+SZ&kIbQhTJhtc8SHi=5WV1juflds!u7zFuRHW24pVG~Bn{H4$Sy zUwB$Q*sINR)Klh3@Ki@U7g6udaW}ZKT{TXxv(&0}Tr!)D<9eUE#wqHQnyIVwd3{Cy zApJ_6ulwrj>X@ANeO0Vxt4#Hb8lfhu617`>C-?bN$}j4;`dqD0`RWOEo_FyQeu1Cj zJ{--1c^sGUmwbbVs)cHoI<4-hXq}{o=tLcU-pNu0`=?B|g( za&ilOO>fZz@=}bnmGl>l=dFB^qg0N1MXgfnR6s3~o%^dM{*;$-0q1ccFXr`J!5@j` zDxN7T-lHpYlj69D%lROmA)Cas~b=x0)# zAaNPRqd9}qq@)YVk~pPvip2RYosl!GqREs(vGg<*(prgIGdUy=BPAl^IiIt|-^VV# zMHi?}BDsQQ%ld9=!9!RsXUM`QF$R+`9dmIa=3|D8ZoqEHg*x~Ll7*dtMK}%pn23MF zDL4W*pr2Sz5Uv2n;4qBGzUaj?87;tK4B*>XhHv0J9EU?t<3*@~a`*%q;R@UV6QeNu z!N#D}f^ MHb$1s5^PB<0L%Xl(EtDd delta 174 zcmew*@=IjH2gZ6orX`G#3=9mB46_(+GL$hfa7r-AFhv1Hq8PrhpI}I3abWwvD8tkP z6zO5;;GD)_#nr(2fbjt%3nK#q3*#ytDW>1t4oD&uLdO_$_!^iIYJgf9u1PyE&SrYR l_ywp7gc%qvNjfmhmO&A^CLh9pP-L8F??e`!LWgaf#nrr(#G;u FRsd$04e$T} diff --git a/phsource/vwl_fr/r@2 b/phsource/vwl_fr/r@2 index cad0b48a3189e9959191eca520e0404e501ac698..64e7f7ba4b24700b6584395dd78944e8f5ceb0a1 100755 GIT binary patch delta 50 zcmey%{g-<}pt=NO2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZev9& FD*#T)4N3q2 delta 50 zcmey%{g-<}pt=>)CZ8F??e`!LWgaf#nrr(#DEb FRsd%z4fFs2 diff --git a/phsource/vwl_fr/r_ b/phsource/vwl_fr/r_ index 91402bbe43a8efab37eb5a13dbf9ee30c52b3f49..7e5448c4aa7847a2ae16378488617f64753f2772 100755 GIT binary patch delta 218 zcmca5cuR1C4&#=Ix{5IeI3yTD7$X@N7$O;FG2CRxVPat2!^FW91r&*5_{M&MVFSwn z<_M;DOg%u69)=FiX$%@%4r~!j5lk$M3=Axct9YcCUU7rez(gv9jxi?iF)(jj^@};f r5vUCUb}%4Y*32G@W?41oS2W8e^Vl<@S_U!+)iRI>$g<5mtml{keF7^i delta 218 zcmca5cuR1C4&#D}x{5Ij>{d*hm?9Y%7$O;FG2CRxVPar0VA{bL1r&*5_{M&MVFL>T z^DD+ArXHY34?_p%GzJYW2G$3R4;Wb(85md?SMf+Oz2atIMu=1h9b-)3Yhc>A>KAi{ s4Nw~d>|j8)teHI)&9Z9FuV|J{=CNl)wG3nus%0P%kY$^BSkEy70FvV@mjD0& diff --git a/phsource/vwl_fr/r_@ b/phsource/vwl_fr/r_@ index 17df123a7c55f5467c93931b3c11e886d1fd3897..ebe41296b08b424e2d66ad012e37c5a09387082d 100755 GIT binary patch delta 271 zcmeAbSk0~%9N_945*%p6%)r1<6z{;qkOE{N0|(Y#DA$2?%j5|xqLcI4xS~oJ7})1A zi7`h4V-%1B!VLBcSsS=zfFeCW4hSm k1k*bvgnb%Z4r~!j5ljgCUU7reAd4jMF)(kw&Su6403UKH^8f$< literal 2061 zcmd^=iEq?J6vt=Zd-I#$wF_;bxNZ-QLKkR-K%t}syA2T$f`SyKc$GusC~`Fh)JTyl zF)bD$pjH7Ra>%6xq0j=AVB{zw5(pqj0g;LY8X#DOfbX|kx~2LbIN!`~-hAfGn_u?r zyx-8lPxQ?iI;0y4A*Q_&Krx1m#w{Rg&-V|4fLs|Ig$Uq=K2wAC4wn#9>gfgd2o09I9L+n2ZoxFjssg^Q{;r1xyM=nVu^W453xIs$9ge$Ti7I6yq>pZLCv z|FG@z?eF<7CXep^L9g$6f0}VGa5r!;Y*fJwx zf_+%MYA$k@HOr3J7n#}OddmZ?HhCxePR5kRR>uyCJ?C5HEs0KyifdME9+mH^QsbDJ zWzDe`T8pfYtaa8-YoAqNt+i%aDb{Ionn~s|BgHtYFVVAfpMFtoP&3p(m84p$&T4>q zQ*BrGRhGV8Pc%L^+M8?4wpNjK)#_%4GNR2gbBg7+PuP>)HST_%w>9= z4b-S5wI)9$Q#X#*gSt}}>O>u=9kr!46i;6AaNKKn7AtWNZo&1q3RmFAxD*#-5fxgm&cruxI!?vcF&8J`cs}Pf9LpMmqc8_w#usonpZ_dAjRUbi_QSrIi5d7f z_QBqmj%nBnQ?Unj!>;%kCSfP+h<;Wgs{^*j1Z;$|Mr{NTwgcEQaj=@p*5sttQa2P6Chgb(;KYS1SU@ug_ZrBCoPzF0;2b98g_y)GZ zmY}w>y^TpJuk37C-xl;Jfv;gRWZXG(t~Pl80lGndXjE%9SBtzXRFIhY*bGiV%j;u>Jh3r4jJu9ZbB-3%Us1A zIb30W@(vOYlN0en8<8GPpkVuVg^3bw5hYrQc+pwJi5T&yh!D1j6p!$z2@l&QdpNS# z(wS+(U}-|}Oc#|1*>S0J9it ARsaA1 diff --git a/phsource/vwl_fr/r_a b/phsource/vwl_fr/r_a index 40c6019fe28e9afa4e8dc7ec378afb02faa9c0aa..039fa650b49940d38cec1d1d3b85ad5b00f7973b 100755 GIT binary patch delta 267 zcmeAbSk0~%9N_945*%p6%)r1<6rae%kOE{N0|(Y#DA$3tY4QXX`6va(2Cg*bd(4qQ zaS&#(k6?BX%wbx=)CA;2fkiY}5AZKxoWe8>$m;=#F!XRaa6Mprz{tYLzyQJw3@7Ar^%!(WuF7+Ci(aWH}Gg4nl#o@RT@d>;xE$Cbm?D@E_Pyc;sX-P=;A3Fke4WjV5dbQ4D=Gj0 literal 2061 zcmd^=i*Hm#6o+TeIdkXky?3{?<>A^VkJ1H-kWwgV!MzQU5C{rVl%i2UtUQY46$5Id zJWWgsMH*16LL%}I1T6@K@>mH*o+1(mAddnf6$>;#unGas-IngQ@jvkXGI!4T=FH69 zoSicxhCMSNcf{~?6hcgYbu5bUY(ze`th+QQ1Z=q~)C*zb#{Sbn_70a2nT>R~p6n_z z^6>)ZG078NSG^d8c60%(gLzCwi!E3n{4yA|+EoV2nG}mEy+9Njwo&b>b`h^dt|?}! znCcOFm;|GWXs_3fAkK!#@q(O~yFANjLd;4O5J`sV{*Ij^NN*=7^rSyFn)*I5X>C7^ z`zq<94lkxW^k3=zTCWfL{?PBUz(f0ieJJo{|07v5GY|Bt>)}bu_AlskIXNd`zOSTB zAbOH@RK0F2^;AXWMemQvX??5B!FHQ`g>k3jD-&uGh9+E$TkWf8n;M%KRc;)Y^Hin# zgpq5`Hy4{r&5zCX=1z0J88p|Kv&{_itTEjnV}(1zeO@oqbM-j=irT1VsUa#&C97^~ zuzFiw26#gaitf*zrZh%{0p3FtoF!5Tb=M{yUf$13a2mde1vm*O@;+~1K5IOV!!h^@zJ#NA|L5^p9D;*zAP&GB z4B*q)ANyf8W?^5<#NL>WJ@F|_!>-r`{j5}0XH3CP*b&=fBF3W++hJ>r!B*%+4_b}# zuftZA2Y2BP+=e>12{+(R_ycO-8vNcuSK&9f440r9 zF2V)Yc{m4W;S8LHQ*aVaz;XB)j=@iG6ppYCvkt)l_!0KQJ_y1d*bTd&3UN+1WI{Efi4!-@;}H+&_1*E_D8ES<-k8ZD=4|VVc+!(Mk+$I;RIj zk;;e16^3!36oRrZSD4Z4I86lhQIIZhg(+soX* zx-|I#hjGjS4hhB(#z>$n2s7B{Ffp+1Vd7wl0&+l@!F~hF0peg2VFrd*+#of`A_;s9%$xH$%@_eB+8m|; delta 375 zcmX@ivs6?dIKb68BskEBnSp_!C_a^WqJWG9>jEGL1RR*x*cO6WI~f@mY&N=>v(zuX z&IOTU{qWEO!eaWs0F(v-RP_O1F$RV}ji{Jz#vm$O1H+g)x^~ok4}?xi2$9=m38M zOEupGBoUB}>@o`&XEQxu`~uVl!VCb1{dVqh^~+QA5MDM(}k3j^~j#w4gqK^ACmF|Z<>1rmA1&4A{t N1il8Q&AhB;i~uBBNb>*y diff --git a/phsource/vwl_fr/r_i b/phsource/vwl_fr/r_i index 1576ac2ece280d3a05020e7f84e42c37fb665bf0..263c16ac178a7ebf8c32160b28e6d172a766745b 100755 GIT binary patch delta 277 zcmeAbSk0~%9N_945*%p6%)r1<6rah&kOE{N0|(Y#DA$4I#N-JqqA8hh=`{=tOt+Zc zF+~DJK$yYafw6)A0pl0OC?E%f8SKw6 literal 2061 zcmd^=i*FT06o+TeIkU5Ockk^JuwL5oXz2xt5Gaqd;Jpoz5D4-rYO7H|L<&WoF`!0@ z6iiHuMF^;zuL7$TGafB~_y4sG%xV zwNqWy5cP)It{$l@W4n>!`rMUlt}{DW#nv^ek3Gd+Y_GJ7?QyoWXIX2_Rjx^ftxDuN zDy3Z6SwE`hs6#5rm}o3F_84_WH&?N%wOMISw|sWBJX(7$0w`m@~7tvx`L91y!ZKf^sC9S2ERK&h% zG>)F3;WUH>Q6^Ok!&k>be1d9UL+JdAs=3^(B#T!kOw za$JhVScLE4yI6qpIs02U7hlI&I0Ik9Je-WVyw0mQku?Fw<5+wVpU3BT{ZaTd4#mMZ z2nS*&`teB|fc-H8)3G1+#opKxd*Bn8ie0cX`dBHfPMC~I*b&=f0=C6CY=f~Fjgja< zH`*b&+4h8pi3aLOsNo}c2oK;s{0aA<0serya0hO~EvV=7cnyAs-=G$*z_0(%W%vay z!Ud>-^YAn49GvA7d>T$cHJpSKa14HgqwoV9fy1mrtb?#0zK1H<2YX>R?BWwx2^Fvd z%3(Wv16!disI6>oV^YqZiYEWIU_>c=4O_r}|7Ond;Q0&4qR=@EKz-P1VpByVSB`Mo zCIb4XrV7K8O%%_`LxWYIyb4|BitA#6!Lz3-$x~_#Qj6=#i3h!yn zD@>JlqgK|U!W@qqCR&o}#No|IZzoZ({ky`%2)Bq4ZA7BzDiTCn@wkW*wulywajy#x z+a^aive+`1>B7a*h2oJRB=>rdOO9}&9l4k)f&4fl#U90x#BV)Fo!QO0#*LoW`KR#lRZD6v4#8$iTqDxQa)L=@mCfO$5{A|15GFcmH7aS%G3`8pB$uP;F7Mgc{l7{0NeVA#OI!2F6aiKz!D z(!-f7TvM2) zFhv4IK$yW^fr&v_hDnAg3djLr2KyFf2Z;!vNDq($!VC;II1lhWV0^&H!pOh?!VC;c zxEpv;MJ6scVPasIcvow3ChIL$kQ#=`9&E-j2RI}cLl_bE}Pd<+W~KK%on?(m;8n1$P^i5C{rVlvbmF$g@~^L_v)d zd6<|Mi!`8Cg+$~b2wD&dB_5G)X>}?Jq9u3psI{S@c zD28k%*~0Cp6$v0bF%SbeOmf5~%oX!7*lrY)0wx8bT+bD!oE7d$N2P;!EpkjXlf+6h z-xVPhE%K?*U7-X-qJQnp12kz#xePpDsvt; zvdnqrB6G3%fw|V)ZtgWJ%r)k0GtE3>OgG3_=1g;*(~I>i-KSqt>(wkZL?x>P)lCgn zuc@u-zRJ?K>PgN|ot=!;MhCOVyk_>crdW%t6067>V@YdR zj%YdRpi0!o>r3_BdbOV7EONFn%8i#zzje~eb5*+rx?guMaF2DjbieDmXnCwubFeYf z`Hh~TUr=k+LN!GVS82+lsZo7ltF3Kh2qFV1|bQ$j}9WzNRcF^@f;q)-M9(Y;YwVNAL3G6f<;(} z@8H`wALsJwZ{Tcv1!v$id#mmgI;WltuPu}q8nXkh2>(~ z9VQ0qs3D;P@54Q~3w7`}`~|h}C)|PCa0_li4P1w7@H_klRd5AhfL*W?c0f67hiy;>Tj6Wi z44XpQ%=Q*0W$fAB=-(2GD21{M${h7~g-yQX z&%5dv8@?;-HT_0?)vv!RY;x5U59DpMJ3mzQBQce}pkoLBQzMxaULl&3V0=^Z|IFk+ DNz-b? diff --git a/phsource/vwl_fr/r_u b/phsource/vwl_fr/r_u index eb2f72df9bc888722515ed47f4c36cc67c5a42bc..04d2aa9b54929bff8ef715e3cf58003d0bb016d9 100755 GIT binary patch delta 277 zcmeAbSk0~%9N_945*%p6%)r1<6kp23kOE{N0|(Y#DA$4I#N-JqqA7lG=?x4FOvivQ z5-0+~4E7F;3?g3`zc5AtIUvknZ^F#LGmG&WV-Ju6!VC-+oDA#_7#}dQFfuTJFarY* zFS^LYDyWen z4-?X25dun8NJOB#EeM73lA!VwkkA0~C?Ha?K!paY5b)gX_No7Y_m{bI=9_b7ZgzIg z88-Cke(A%~x}y+c>ML)e7|llgCm<`X35eL=^UNtwhUVk|T<>IMC-gc)g*J7E75h)SYo6b(Z)5kLCsKuRDx=yI;(-|9koL} zR_VqLBi{9;tG&6#Y-8nFx2#_FM0=r~Z|B(~ZD~)lR+}qa;|yDEkZY)r#>xJ;ID zQkQq=XF5zfX+5o=C6q(+Xg0l1v-mxq7Sb|WNo#2nZKjR1n(`@^=O)ugdX9$BKO$RlwVu?2x>6_VKy9fFwWc`ol84v5jTiA4?!&FP9#`QCT#id|G3H?|F2E0Q zF3#rF-@}>s7EZ${_&R3c1RT%%jKwjm(Krf6;LG?TzQFrGi_hR79Dx0?AEu%opTfS_ z2U9Q^ldw1T#O~M)pTq?0gdNexif47e_Sg>FVrz`WmgvRi*c2nM33||tc1UivJt1PE zfjSau_!u6+LwEpx!(UJZf5LsJgnMuoD&RKUg5TjcD1#gDYa?BUU*IZSfl{~(msl6! z0-T3)a287744j5ja1u_yk8m80v5vBiz#;en4#EN04|`z`?1p041v{Y#cEC5V4Ymfg zjqUABig;#M?fmwjMjmXC6by_}Wl)4P_lXrw@NJ`@B zlb+6I!ROx@CQ`UXq-ZYUL}w8zT8b7TT-YK)Ji)y#JZzin;mBgkV5SQfOBaeqhLGIr zK`zVM}p2TlGNS$b>L1-j-#21Li#Kf_X{hht4BXk})@eZrDs^>B2 z4MD$}HJo|J_rFfE=6B#)(cmQOs!Nd&Dj5nxwSxWqS^QDmpeR%;9I}N!@1`~is%wR_ urq2|OPV%ND8lBq+Pj;{lRM!(Hsx&&F?dE@K-AM|s5DiHnu0HvHp5#9`IcypL diff --git a/phsource/vwl_fr/r_y b/phsource/vwl_fr/r_y index aa92d32bd7741c4787874b016997103b9f1335f1..0ed74639985ef45a5171a515f372e52ea1951f82 100755 GIT binary patch delta 277 zcmeAbSk0~%9N_945*%p6%)r1<6ko~2kOE{N0|(Y#DA$2y!Q=@nqA3Az=@teCws}nR zm?D89Ak1Jd!N?$-!6?HN1>}G*gZ&P+13WTJGE6-{4hSo$im3L0KyCm zPk0!3P(>y#H(_F6n0Qxfawh97R*)Ko$sTORF$Xv#7(*Bl_T?}!ud8PMKDD$A?$m_4N`+FlEBBny!kqt86yCCbSa+z literal 2061 zcmd^A3vU!v6ux`TxpQY{W|uyAt=+af3SFQGf%32gcN>%thze5FR-*+g@+cyY7*QjO zJWNbmix5z&KqB%G1S|*(2=_t+aQ)zE;dr}4h{q!AD1Dx& z(3Zh6$YCZ&xE-~ky+c?N9A3y}CRc360uj=L;RP=gGE*qZ^#YON6spou=^$Q<98=6x zaoK9hRJ00Go?Dnv4Nn#M9)UJE%kx^vz4T*dZ%%uBWJt zKX#IJM7?4xbd|TtiQN~M)%s?e1MN0=rY4;7h7zk1pGZ8Pu+mf3HZ?w}RjF}IzNbRY z<3_eQ*DN*{nxB|!%^l`Gv%*|s&N9=@Gsbj-jHS+W=Q(|`o~w(wge3b`5pE?Vj%*=Z&$}6&3)=JQv4Ag36l{_JL%T=;a zPLpF~hD?^4yh%UP0oqRMXgMvWLYhx==v|u4_XSi;OKAnIp$)W=zNS@FN=2NTN@M96 zdWweAP|BiAN~dm=MDb)0lAs6ZAR>(vNdmfux3LP(;t|}5YjH8o#>w~sj=>z9fI(b_ zyYMvLLXFx`2l7!*>cgw`qrTLOx>Hx`Or5ABC6kBTyzUJ=hlgf-Nxj3^OdWqAx7c&)9mbyOFaoldj;+aaSF~V)2|-6G z`$yDa7I}iAIdd|3bQ7kZy-@i2x5LB>mxvebM6&21l7v@0Bw~dn;zWDyHR0yiV1*5n zBb_--I2oEyJko{aUJLV*6}H+2TPFj#*(1dn#Y*D47G~|)c7w=B@`zs#kBJ#OLe|@R z)z8p)WY4#``lvpSVKszx4QtqWTl-&?Ya#pb3U%(I58$ym~ zB{%WoU2}|UQc0g7T2%6yDO%Jm&m9cAezdlg2?57W{!*ir6doa(GlAr$%>T2J{{TyU BXfpr+ diff --git a/phsource/vwl_fr/ra b/phsource/vwl_fr/ra index 9bd9526dab8da2caa5500a69d91f2c7ace26c402..8069600d8d615b5d28aece8ae2c823d7dd081666 100755 GIT binary patch delta 50 zcmeyt{eyc#fVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZew{P FD*#NW4LSe- delta 50 zcmeyt{eyc#fVvgaCZ8F??e`!LWgaf#nrr(#G;e FRsdxP4deg- diff --git a/phsource/vwl_fr/raa b/phsource/vwl_fr/raa index e6164ec6d58a6a4de3e0a444b4ed9b463898622f..682a58cc0a08e45de01764fa4854f182963133b4 100755 GIT binary patch delta 50 zcmey#{gZn_pt=NO2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZev9w FD*#P84L$$> delta 50 zcmey#{gZn_pt=>)CZ8F??e`!LWgaf#nrr(#DEL FRsdz14d?&> diff --git a/phsource/vwl_fr/re b/phsource/vwl_fr/re index 07e5222bba9e9f56e9e61f741fed4a70c55b6f7d..1a8a817e79b3cd1da5aa8a7c6347331509f97611 100755 GIT binary patch delta 50 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZe#gJ FHULP84Uqr< delta 50 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#GC4m$t< diff --git a/phsource/vwl_fr/re2 b/phsource/vwl_fr/re2 index a2cf48747b8bda4a943bb3d40e899646de26e372..def709338a4b566b38ab1c173443ebdfb51a09ac 100755 GIT binary patch delta 50 zcmaFK_mXcypt=NO2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZeztq FHULQ*4V3@@ delta 50 zcmaFK_mXcypt=>)CZ8F??e`!LWgaf#nrr(#DF9 FYye?<4nF_@ diff --git a/phsource/vwl_fr/ree b/phsource/vwl_fr/ree index 54b4f3795322b7f0523e5105a2c094302595a6b6..a967a992d1c6bec28f155e7e729f8fe10a595311 100755 GIT binary patch delta 50 zcmey#{gZn_pt=NO2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZev9w FD*#P84L$$> delta 50 zcmey#{gZn_pt=>)CZ8F??e`!LWgaf#nrr(#DEL FRsdz14d?&> diff --git a/phsource/vwl_fr/ri b/phsource/vwl_fr/ri index 86c838315876e7a06bf908b71531bfe1a53a1516..ead6710b35f6c73647343222a55c25c700524c44 100755 GIT binary patch delta 50 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZe#gJ FHULP84Uqr< delta 50 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#GC4m$t< diff --git a/phsource/vwl_fr/rj b/phsource/vwl_fr/rj index c5a51cc45d536cb6c6eb57e6e1e55e92c580fc20..013e6375cf2af8b6bbc3f69bcc745334cd297448 100755 GIT binary patch delta 87 zcmaFC_kwRifR6-Y2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!Jgqj;RMI o(!8F??e`!LWgaf#nrr5>pRQ oq=%t{a~gvN7X#}9#s`cnj0_AcjH`I0m|k%+uz*B1&N;&d0MwEeF#rGn diff --git a/phsource/vwl_fr/ro b/phsource/vwl_fr/ro index b445fe153185de2514195e259702c4d381c9ca7e..aad396a582fdcf06d8242957d1baf6d000be220b 100755 GIT binary patch delta 50 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZe#gJ FHULP84Uqr< delta 50 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#GC4m$t< diff --git a/phsource/vwl_fr/roo b/phsource/vwl_fr/roo index f8aec09496861e5d4f0fd37ef408162ce703e460..bae8c9a8435292100c9405d31470f562ad8d38f1 100755 GIT binary patch delta 50 zcmey#{gZn_pt=NO2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZev9w FD*#P84L$$> delta 50 zcmey#{gZn_pt=>)CZ8F??e`!LWgaf#nrr(#DEL FRsdz14d?&> diff --git a/phsource/vwl_fr/ru b/phsource/vwl_fr/ru index 277bfa612019ce56c0385e57c06558bebf59b578..ef69ab42bdcc98593d17d35fd138d4ff12fd4a3d 100755 GIT binary patch delta 50 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZe#gJ FHULP84Uqr< delta 50 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#GC4m$t< diff --git a/phsource/vwl_fr/rw b/phsource/vwl_fr/rw index 08ed5be8113b49bbfc23c120ec207322ada5c783..0e454d5a25a820c8494ce544f183923d0a1f47e3 100755 GIT binary patch delta 50 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZe#gJ FHULP84Uqr< delta 50 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#GC4m$t< diff --git a/phsource/vwl_fr/ry b/phsource/vwl_fr/ry index 5614c3791598f542e85fd69e51fdf69b97544668..22d57ca73a7835fff1a9e169218ef9fac57aff9d 100755 GIT binary patch delta 59 zcmaFC_kwRifVu=@2xBAz14AUkEQXs53z!%<_AqfUMFB;k7{0NeVA#OIz!JgqZezJM P3-dgtd7HPgY-R!g%TN$I delta 59 zcmaFC_kwRifVvgaCZ8F??e`!LWgaf#nrr(#CRY P7Ul+~hRs`9HZuVL=mrp} diff --git a/phsource/vwl_fr/tr b/phsource/vwl_fr/tr index 99c18e25400a6549737937ce0c02d9987d290b74..f928fbc3d0a8d5ee90bb1931b9893b1cc99da17d 100755 GIT binary patch delta 331 zcmeCh*g%kBFar;O r4cu(S6wK(2=E4JP7zVPS8|VNOiC{u85Xg^U+I)kV$_AFPN-zQd^=UOg delta 331 zcmeC>jX)2A2c# z1I7o86+j*fBS`2Kw*!#>fN|rTAV!~WXa*i&bzsb31Q`Z1@Br&0pc;^2FasOF27(NO w8F&C};AShPU`B5yR2Lp#+ktK%%QG|s9auo_K{1dCB(nJiGnEZ2W0hb808ko01^@s6 diff --git a/phsource/vwl_fr/u2r b/phsource/vwl_fr/u2r index 49da6ecb805e77ce0a8ba218b6fb86f9701d6458..063143ef51f4c541532747258615e10519a1079e 100755 GIT binary patch literal 939 zcmd^7J5Iwu6r6o)ubmGOBn5#WBDzR)5lD2gglHoWDS(QCmIjH6#s`2qaD)^T6s{-` z6=iDI6ci{2V4f4lal{SSr}4g-oo8E`JwH7;9-W`{Er9#}o#2Me@{0VYIgPxJyjy6u zSjTW-e?jcU@-CND6c|hl>P?xND-s0;KQ<2D%)~sBD1dPVE;Xs~44?oW>hR0TXCqqi z9CczDN@}K@Pyk6MGG*mpZ&^81Q?`0}v)Ef$LkpYeVjsKM!8SHfM-y%C4h{BII<#u+ zLTU~bmP0@m!sqTX-KRs{S{14RETJsmNkFH^r^{5GR>++BWFAWhn{}3c{nl*4k?Fi@ zvu<{7Gq+^E{2h9(-eMI={-tS>MfR^iwQWYGNb*?_CK5`KUFY*{iPR_Em$I fma@HWz?PM?1CvO?TaqV0g;qOX7 literal 2681 zcmeHIdrX#97=JG3yzl#6_$0ZgD10AbT(mYt7ozy1Igh>$4UI&;c9@#Q|gw`{0;W)Ki_!a30F&xFddd3Kc3% zU+SsOTE|9E&O+VVQ=Oge7>af;31mK4ugd-{xY85Wi?PqzJ$MOjk!pmhb866B=*yh( z_GbR8I&qHY`>CjrgGz?H9~bUx@iqHmd}re#Vmo4%4Q!9fi)ajg)-%Pu$ywxh(fZz8 zY8IL~rr*prbInoa0P|PlpiyH?Gm;F;=+swro4%w^>!Z3s*Xe3KS7+;3eP6Y!6Y49q zSJkT>(i>E>x}@%_p}I(~(0gP}v{7KZZtO758262MbBsAb_D?lk=5eFk(8f~Tt}4}g zYOHpN$J^#e>q{%eQSPX7yyKYcIAnF0XN|jhl|j}zN1M}d-*PvEP4MjYba=2|r{{>L z$`kL|8#XTNYj>{uuq(&a;Pg5x9gWsSv&}fBcd4tKqE4!rx?Z2tm-Tn@enS`NXnjo` zm1y5pic2)G}3|9#iLd8!zIg`3a8XC{E&uT*067 zbsnx>Qrpxibw@?%L_JI==x}{g*43%`Dp6hGPi0lE`1?4KQ#p(MJX$O#x6?jaNt4M- zF*4TCA2f+K@&%4ix#|VAT-B&*RVF77RIU68FXkd1&n3K&*YGC(P&}9OOxf`cU8Wlp z%cWe)2lxaZ=ly~fa3RkT&nEtvyX3R!;AUB|kZ15Lewk}{3xC9$xr&SBF5glWO`y?K zOy#tZcF}%1NC#*y?W7NAJyp>yeP12##vLJ9+e0Qxe1Z*L~O=K}xM|3?b*NMRl+%>St{{{Te)G`9c% diff --git a/phsource/vwl_fr/xr b/phsource/vwl_fr/xr deleted file mode 100755 index 394c29126ab686c7a7bfcaa56a45731562305270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1271 zcmeH`ze>YU6vn^Y~-ix z^(T|2+66pZkK13rpMfA&AL^2dI1nlLLucg3u6F01*Y!)Pq3)@O19$nZGo*PAAPx-k zKu2{{s>B5#R`Hb5D_dp672-Uqvr1T-R`yMkgsn-IB%9d9F%GbXEXt^03CpNq19j#l z%%jLyq2*Z5AfSu+(0qTNT8=$=p0liFsYn!)dSWhIlWVGWr2;<>HBqc4*MZS|lcoD; z_G;c!p5X9vFnBSKo=zh4`1NPB|LOe7biUqp-p7-8i0n+#80th59uju?f0&&H_Hcq0 z*2zbe+^o{-*hZ7g%+VI9udrGqAp!qk;UPm7EG;>z3+$0vU>GVe3SGjJB}N!=$wOvB cNy3XZ9m@0zkG4lhv$SaLY40YK+V#Tc4;(Cfy8r+H diff --git a/phsource/vwl_fr/y2r b/phsource/vwl_fr/y2r index 6925f4aa7152c13496ffcfcdbaf797b65898b4a9..048173c9a035633a131fb5845f26c7ee8ae104ed 100755 GIT binary patch literal 939 zcmd^6t4;$^6r6i@@9yn0Kn0~VG`J?X26Q(eSW?moKp_Yy3=YQ!fI}04KqC-{egdC> zSV<5l6pA_9?hE(>?#b*uGiT23CNm!GY){5}0}sH(;9PLbrg$QIJ*ScV%DPlL!vaQ` z{T6U1aw7*+6d1mm%f^f8${~pY!zUX#k*-{kD1e6wTx??F8$bb^)_*ETO@w97eFw5D zvH9eN0(kqSY_7LV?%7gPa{6hL-7PfG!ZLc;z#6*fU=ejJq0Ku$lYNyAtr|N=EkK18 zAS83Jyn{rybf{aaLN$a(C<{3W>Gb&w5>>YqGG~^|X9?jYokzcZYqk-P>Aq^SZZ`K4 zwQ`M%tHxsr$q0{0SxptUK=Kn=LVP*9N+e8H_^PMXcM*&4p3(0t9g zr8Oy)OtV%hEtexPSyMOEnlH`fYtwL$OR;QfnlC}m_g>{f{Q>>r_w1bWIiK@9=jC~J zKHrk(^GBAJOh{({SdjiY!wdmkzkoitB{UA`hXBId6i|>CnuZG<%OGHGrp;6)j8g&n zVzqZB#?dsvP6cQ%_PgUKj@AfvDnPPbZ8l>wDg4KkS75NQZjzTIb%D>89@|YM~khNJ)INe z-aoixeemo7W7VwXAw<_ZIzou+vgZcTUQC9PAaa^rP-7Q%W@jUug9^H5^^{zMvUA%! z0_|#mz9IPvWoMOL1L!K(&7IlV;fbY4&;DSXL;0HD^AMJMhjw9{y{h{a;U}d( z938LQRjWF#zE!(bo!Tz7UNxzUs$C`PV!cG~5})2ifw92YZk#sSjYM;}Ia=0FH{Iqj zqtejELfxw7tM}Ci?G}r7%)!<-R+?RD*V^msvGxJ0%{*h=*GmnuR@*Hu!*knHA2Hhd zg}2R%J#Kjqd#k*O-rW(;M(p?Gc@DaB-SsY?YrfrJT`*gWqk5;h!fEP+nyl;eS$#?W zApM)VK=;;H)e$-EyQ)%6RoUtpHAIb9^VBx=o!sY!lwZ_Q^|@N43e*$oEN|sG{2V{U zy*Qftb0N>;FZmh|RIjM5>ZH1>qIHTMpp$f@zA1jSYKBTtm-#dC$`gA(r*JxFbAX4* z$i=PnHN8b+$w#r$*3zFehHLmdN2xsZvRbTGsA@G!cJ8a1`BR?D#XO2jc{Z=)4g8T< zF6POy;$6B#*D0RMcrEYc<9v+w2&&*Bo+g%!{400JvuWcd@tDn%cnZJDD|i!s%p19i zC&*pCrz#pv!)O9kQVs2-J+zPZ(r(&8AJQ6{M=#PS%AlcCK(lDQ%>6`v(0zI!=eH0hAth5#j>IXG(7k* z4_0SH1YcuVVIDqD=>pvpCj7@}0B{YLn1uA-QJ5_R)*x!Yu)^#TIlPL~yC_Vm3;v}r wSKT2c@2W5mRQvEhqPZVnqeLsLFc1UKoeB85G8vs0c&spw73Q(R{J#qG5A0_$+yDRo diff --git a/platforms/windows/espeakedit/src/speech.h b/platforms/windows/espeakedit/src/speech.h index 277a5ea1..b981d9f1 100755 --- a/platforms/windows/espeakedit/src/speech.h +++ b/platforms/windows/espeakedit/src/speech.h @@ -18,6 +18,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#ifndef SPEECH_H +#define SPEECH_H #define LOG_FRAMES // write keyframe info to src/log @@ -37,7 +39,6 @@ //#define USE_NANOSLEEP #define NO_VARIADIC_MACROS #define __cdecl -#define ESPEAK_API #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" typedef unsigned short USHORT; @@ -63,3 +64,4 @@ int GetFileLength(const char *filename); char *Alloc(int size); void Free(void *ptr); +#endif SPEECH_H diff --git a/platforms/windows/espeakedit/src_copy/speech.h b/platforms/windows/espeakedit/src_copy/speech.h index 277a5ea1..b981d9f1 100755 --- a/platforms/windows/espeakedit/src_copy/speech.h +++ b/platforms/windows/espeakedit/src_copy/speech.h @@ -18,6 +18,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#ifndef SPEECH_H +#define SPEECH_H #define LOG_FRAMES // write keyframe info to src/log @@ -37,7 +39,6 @@ //#define USE_NANOSLEEP #define NO_VARIADIC_MACROS #define __cdecl -#define ESPEAK_API #define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data" typedef unsigned short USHORT; @@ -63,3 +64,4 @@ int GetFileLength(const char *filename); char *Alloc(int size); void Free(void *ptr); +#endif SPEECH_H diff --git a/platforms/windows/windows_cmd/src/speech.h b/platforms/windows/windows_cmd/src/speech.h index a2450349..45fe7ace 100755 --- a/platforms/windows/windows_cmd/src/speech.h +++ b/platforms/windows/windows_cmd/src/speech.h @@ -20,6 +20,9 @@ // Windows command-line version of eSpeak +#ifndef SPEECH_H +#define SPEECH_H + // conditional compilation options @@ -31,7 +34,6 @@ #define PATHSEP '\\' #define USE_PORTAUDIO #define NO_VARIADIC_MACROS -#define ESPEAK_API #define INCLUDE_KLATT #define INCLUDE_MBROLA @@ -61,3 +63,4 @@ int GetFileLength(const char *filename); char *Alloc(int size); void Free(void *ptr); +#endif // SPEECH_H diff --git a/platforms/windows/windows_dll/src/speak_lib.h b/platforms/windows/windows_dll/src/speak_lib.h index 9ca01f59..7eb464b6 100644 --- a/platforms/windows/windows_dll/src/speak_lib.h +++ b/platforms/windows/windows_dll/src/speak_lib.h @@ -24,6 +24,8 @@ /* This is the header file for the library version of espeak */ /* */ /*************************************************************/ +#define ESPEAK_API __declspec(dllexport) + #include #include @@ -157,6 +159,8 @@ typedef enum { EE_NOT_FOUND=2 } espeak_ERROR; +#define espeakINITIALIZE_PHONEME_EVENTS 0x0001 +#define espeakINITIALIZE_DONT_EXIT 0x8000 #ifdef __cplusplus extern "C" @@ -169,8 +173,8 @@ int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *pat path: The directory which contains the espeak-data directory, or NULL for the default location. - options: bit 0: 1=allow espeakEVENT_PHONEME events. - + options: bit 0: 1=allow espeakEVENT_PHONEME events. + bit 15: 1=don't exit if espeak_data is not found (used for --help) Returns: sample rate in Hz, or -1 (EE_INTERNAL_ERROR). */ @@ -180,7 +184,7 @@ typedef int (t_espeak_callback)(short*, int, espeak_EVENT*); #ifdef __cplusplus extern "C" #endif -void espeak_SetSynthCallback(t_espeak_callback* SynthCallback); +ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback); /* Must be called before any synthesis functions are called. This specifies a function in the calling program which is called when a buffer of speech sound data has been produced. @@ -208,7 +212,7 @@ int SynthCallback(short *wav, int numsamples, espeak_EVENT *events); #ifdef __cplusplus extern "C" #endif -void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); +ESPEAK_API void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); /* This function may be called before synthesis functions are used, in order to deal with