From 1dd3863ca8286676eefeca45a54645c8d4175b67 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 11 May 2013 23:06:20 +0100 Subject: [PATCH 01/18] src/espeakdata.cpp: don't load phoneme data before compiling the phoneme data (it may not exist) --- src/espeakedit.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/espeakedit.cpp b/src/espeakedit.cpp index 73445913..f70a4a87 100644 --- a/src/espeakedit.cpp +++ b/src/espeakedit.cpp @@ -144,7 +144,6 @@ if(argc > 1) if(strcmp(param,"--compile")==0) { - LoadPhData(NULL); samplerate_native = samplerate = 22050; CompilePhonemeData(); CompileIntonation(); From 11217a510d1a7399a4a293e7394030a697993826 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 12 May 2013 10:02:44 +0100 Subject: [PATCH 02/18] autotools: allow CXXFLAGS to be overrided from the environment. This is based on the patch for the Debian bug #707925 by Jason White . --- src/Makefile.am | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index cf919be6..5d725e11 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -64,17 +64,17 @@ endif endif endif -CXXFLAGS = -O2 -Wall -c -CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" +CXXFLAGS ?= -O2 -Wall +CPPFLAGS = -pedantic -fno-exceptions -D PATH_ESPEAK_DATA=\"$(DATADIR)\" .cpp.o: - $(CXX) $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $< + $(CXX) -c $(CXXFLAGS) $(USE_AUDIO) -I. $(CPPFLAGS) $< e_%.o: %.cpp - $(CXX) $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o + $(CXX) -c $(CXXFLAGS) $(espeakedit_CXXFLAGS) $(USE_AUDIO) $(CPPFLAGS) -I. $< -o e_$*.o x_%.o: %.cpp - $(CXX) $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \ + $(CXX) -c $(CXXFLAGS) $(USE_AUDIO) -fpic -fvisibility=hidden \ -I. -D LIBRARY $(CPPFLAGS) $< -o x_$*.o all: $(SPEAK) $(LIBESPEAK) $(STATIC_LIBESPEAK) $(ESPEAK) $(ESPEAKEDIT) From 8d29ab3a644e2c3328d2bc66473db17c9fd2a3df Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 12 May 2013 10:58:14 +0100 Subject: [PATCH 03/18] Fix a USE_PORTAUDIO macro redefinition warning when building espeakedit. --- src/speech.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/speech.h b/src/speech.h index 23fc7242..02886ed6 100644 --- a/src/speech.h +++ b/src/speech.h @@ -51,7 +51,6 @@ #endif #ifdef _ESPEAKEDIT -#define USE_PORTAUDIO #define USE_ASYNC #define LOG_FRAMES // write keyframe info to log-espeakedit #endif From 8e4d23343c2177f1639fd7f225896a41aab62085 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 12 May 2013 19:19:02 +0100 Subject: [PATCH 04/18] espeakedit: don't build the dictionaries when compiling the phoneme data on the command line --- src/compiledata.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/compiledata.cpp b/src/compiledata.cpp index b845cbae..50b1f953 100644 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -3672,6 +3672,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references LoadVoice(voice_name2,0); CompileReport(); + if(gui_flag != 0) report_dict = CompileAllDictionaries(); #ifdef MAKE_ENVELOPES DrawEnvelopes(); From 056cb393e8a67877e38553bb3dda4f8f85d2b5ef Mon Sep 17 00:00:00 2001 From: gude432 Date: Fri, 17 May 2013 11:01:36 +0300 Subject: [PATCH 05/18] Create om --- espeak-data/voices/test/om | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 espeak-data/voices/test/om diff --git a/espeak-data/voices/test/om b/espeak-data/voices/test/om new file mode 100644 index 00000000..0cbea3fc --- /dev/null +++ b/espeak-data/voices/test/om @@ -0,0 +1,2 @@ +oromo test +language om From 52f53522d9eafb91943d4062eb423fcd90626f1b Mon Sep 17 00:00:00 2001 From: gude432 Date: Fri, 17 May 2013 11:02:56 +0300 Subject: [PATCH 06/18] Create om --- espeak-data/voices/test/om | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 espeak-data/voices/test/om diff --git a/espeak-data/voices/test/om b/espeak-data/voices/test/om new file mode 100644 index 00000000..9e133e37 --- /dev/null +++ b/espeak-data/voices/test/om @@ -0,0 +1,2 @@ +name oromo-test +language om From 4a0ba3efadbb1eb2058ca309434cde05794ec932 Mon Sep 17 00:00:00 2001 From: gude432 Date: Fri, 17 May 2013 11:40:57 +0300 Subject: [PATCH 07/18] Create om_rules --- dictsource/om_rules | 144 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 dictsource/om_rules diff --git a/dictsource/om_rules b/dictsource/om_rules new file mode 100644 index 00000000..8486d44e --- /dev/null +++ b/dictsource/om_rules @@ -0,0 +1,144 @@ +// Oromo translation rules + +.group a + a a + aa a: + + +.group b + b b + bb b: + + +.group c + c tS' + + +.group d + d d + dd d: + + +.group e + e e + ee e: + +.group f + f f + + +.group g + g g + gg g: + + +.group h + h h + + +.group i + i i + ii i: + + +.group j + j dZ + + +.group k + k k + kk k: + + +.group l + l l + ll l: + + +.group m + m m + mm m: + + +.group n + n n + nn n: + +.group o + o o + oo o: + + + + +.group p + p p + pp p: + + +.group q + q k + qq k: + + +.group r + r r + rr r: + +.group s + s s + ss s: + + +.group t + t t + tt t: + + +.group u + u u + uu u: + + +.group v + v v + + +.group w + w v + + +.group x + x t` + xx t`: + + +.group y + y y + yy y: + + + +.group z + z ts + zz ts + + +.group ch + ch tS + + +.group sh + sh S + ssh S: + +.group ph + ph p` + + +.group dh + dh d` // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive + + +.group ny + ny n^ From 9d17fb5482e19ecaa0c0bd243540e9e9e5b138f2 Mon Sep 17 00:00:00 2001 From: jonsd Date: Sat, 18 May 2013 11:25:44 +0000 Subject: [PATCH 08/18] [1.47.11a] Fix: Flush stderr() after espeak_CompileDictionary(). Fix: parallel formant parameters for Klatt synthesizer. Changes for Malayalam numbers. Language changes: en-us, nl, pt, sl, ta, ur. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@359 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/dict_phonemes | 26 +-- dictsource/en_list | 1 + dictsource/ml_list | 343 ++++++++++++++++++++++----------------- dictsource/nl_list | 34 +++- dictsource/nl_rules | 157 ++++++++++++------ dictsource/pt_list | 38 +++-- dictsource/pt_rules | 26 ++- dictsource/ru_rules | 14 ++ dictsource/sl_list | 27 +-- dictsource/sl_rules | 14 +- dictsource/ta_list | 4 +- dictsource/ta_rules | 131 +++++++++++++-- dictsource/ur_list | 26 ++- dictsource/ur_rules | 30 ++-- phsource/ph_english_us | 4 +- phsource/ph_malayalam | 2 +- phsource/phonemes | 1 - phsource/vdiph/ooi_3 | Bin 26275 -> 26275 bytes src/compiledict.cpp | 1 + src/klatt.cpp | 6 +- src/numbers.cpp | 37 ++++- src/phonemelist.cpp | 3 +- src/spectseq.cpp | 2 +- src/synthdata.cpp | 2 +- src/tr_languages.cpp | 10 +- src/translate.cpp | 3 +- src/translate.h | 2 + 27 files changed, 630 insertions(+), 314 deletions(-) diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index fbdb0e63..c4925e82 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -148,7 +148,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2013-05-03 +Dictionary en_dict 2013-05-17 0 0# 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI3 @@ -462,7 +462,7 @@ N n^ p r R s S t tS ts tS; v x z Z -Dictionary ml_dict 2013-03-31 +Dictionary ml_dict 2013-05-18 @ a a# a: aI aU e E e: i I i: o o: r- u @@ -512,7 +512,7 @@ r r. s S s. t t# t. t.# v w x z -Dictionary nl_dict 2013-04-25 +Dictionary nl_dict 2013-05-16 8 @ @- a A a: A~ e E e# E2 e: EI eU i I @@ -574,7 +574,7 @@ S s; S; t t; tS ts tS; ts; v w x z Z Z; -Dictionary pt_dict 2013-05-03 +Dictionary pt_dict 2013-05-09 & &/ &U~ &~ @ @- a A aI aU e E eI EI eU EU @@ -603,17 +603,17 @@ ts; v v; w w2 x z Z z; Z; -Dictionary ru_dict 2013-04-01 +Dictionary ru_dict 2013-05-16 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_ -p r R s S s; S; t -t; ts tS; v x z Z z; -Z; +* ; b d d; dZ dZ; f +g j k l l^ m m; n +n_ p r R s S s; S; +t t; ts tS; v w x z +Z z; Z; Dictionary si_dict 2013-04-30 @@ -642,7 +642,7 @@ s S t t; tS ts v w x z Z -Dictionary sl_dict 2013-05-03 +Dictionary sl_dict 2013-05-16 @ @- a e E E# i o O o+ u y @@ -688,7 +688,7 @@ p Q R s S t T tS v w x z -Dictionary ta_dict 2013-03-16 +Dictionary ta_dict 2013-05-10 a a: aI aU e E e: i I i: o o: u U u2 u: @@ -725,7 +725,7 @@ n p Q r R s S t tS v w z Z -Dictionary ur_dict 2013-04-30 +Dictionary ur_dict 2013-05-09 @ a a: aI aU e E e: i I i: O o: u U u: diff --git a/dictsource/en_list b/dictsource/en_list index b755b119..ca17dadc 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -2461,6 +2461,7 @@ question kwEstS@n quiche ki:S quiver kwIv3 +rabbi rabaI rabbis rabaIz rabid reIbId radar reIdA@ diff --git a/dictsource/ml_list b/dictsource/ml_list index 0fac186d..befaf6ea 100644 --- a/dictsource/ml_list +++ b/dictsource/ml_list @@ -1,151 +1,192 @@ - -// This file is UTF8 encoded -// Spelling to phoneme words and exceptions for Malayalam - - -// letter names (consonants) - -U+d02 'a#m -U+d03 visarg@m -U+d3d avagraha -U+d4d c#andraka:r@m -U+d4e c#il.ac#aram // ?? - -ൺ _'yn. // chillu consonants -ൻ _in -ർ _'yR -ൽ _il -ൾ _'yl. -ൿ _ik -ണൎ _'yn. // eSpeak uses unofficial 0xd4e for "virama + U+200d" to indicate 'chillu' characters -നൎ _in -റൎ _'yR -ലൎ _il -ളൎ _'yl. -കൎ _ik - - - -// combining vowels, precede by a click so they can be distinguished from stand-alone vowels -ാ #X2a:: -ി #X1i -ീ #X2i:: -ു #X1u -ൂ #X2u:: -ൃ #X1ri -ൄ #X2ri:: -െ #X1e -േ #X2e:: -ൈ #X2aI -ൊ #X1o -ോ #X2o:: -ൌ #X2aU -ൗ #X2aU - - -// speak Latin letters as English -a e:j -b bi: -c si: -d di: -e i: -f Ef -g dZi: -h e:tS -i a:j -j dZe:j -k ke:j -l El -m Em -n En -o o: -p pi: -q kju: -r a:R -s Es -t t#i: -u ju: -v vi: -w dVbVlju: -x Eks -y wa:j -z zEd - -// symbols -% S;at@ma:n@m $max3 -* ast@risk $max3 // or [[ta:rika]] -= sam@m -+ ku:t.t.@n.@m -& samuccaj@m -_. bindu -_, aNkuS;@m -_; ro:d#ini -_? co:dj@cihn@m -_! a:S;c@rjacihn@m - - -// numbers -_0 p'u:Jj@m -_1 'onny -_2 r@n.d#y -_3 m'u:nny -_4 n'a:ly -_5 'an^cy -_6 'a:R2y -_7 'e:r.y -_8 'et.t.y -_9 'onpaty -_10 p'atty -_1X p'ati - -_11 p'atinonny -_12 p'antran.t.y -_19 p'attompatu -_20 'irup'aty -_2X 'irupatti -_30 m'uppaty -_3X m'uppatti': -_40 n'a:lppaty -_4X n'a:lppatti -_50 'anpaty -_5X 'anpatti -_60 'aR2upaty -_6X 'aR2upatti -_70 'er.'upaty -_7X 'er.'upatti -_80 'en.paty -_8X 'en.patti -_90 t'on.n.u:r: -_9X t'on.n.u:t.t.i - -_0C n'u:R -_1C0 n'u:r: -_1C n'u:t.t.i -_2C0 irunn'u:r -_2C irunn'u:t.t.i -_3C0 munn'u:r -_3C munn'u:t.t.i -_4C0 na:nnu:r -_4C na:nnu:t.t.i -_5C0 'an^cu:r -_5C 'an^cu:t.t.i -_6C0 aR2unu:r -_6C aR2unu:t.t.i -_7C0 'er.'unu:r -_7C 'er.'unu:t.t.i -_8C0 'en.n.u:r -_8C 'en.n.u:t.t.i -_9C0 tol.l.'a:jiRam -_9C tol.l.'a:jiRatti - -_0M1x 'a:jiRam -_0M1 'a:jiRat.t.i -_0M2x l'aks.am -_0M2 l'aks.at.t.i -_0M3 k'o:t.i - -_dpt _d'aS;a:mS;@m_ - - - - + +// This file is UTF8 encoded +// Spelling to phoneme words and exceptions for Malayalam + + +// letter names (consonants) + +U+d02 'a#m +U+d03 visarg@m +U+d3d avagraha +U+d4d c#andraka:r@m +U+d4e c#il.ac#aram // ?? + +ൺ _'yn. // chillu consonants +ൻ _in +ർ _'yR +ൽ _il +ൾ _'yl. +ൿ _ik +ണൎ _'yn. // eSpeak uses unofficial 0xd4e for "virama + U+200d" to indicate 'chillu' characters +നൎ _in +റൎ _'yR +ലൎ _il +ളൎ _'yl. +കൎ _ik + + + +// combining vowels, precede by a click so they can be distinguished from stand-alone vowels +ാ #X2a:: +ി #X1i +ീ #X2i:: +ു #X1u +ൂ #X2u:: +ൃ #X1ri +ൄ #X2ri:: +െ #X1e +േ #X2e:: +ൈ #X2aI +ൊ #X1o +ോ #X2o:: +ൌ #X2aU +ൗ #X2aU + + +// speak Latin letters as English +a e:j +b bi: +c si: +d di: +e i: +f Ef +g dZi: +h e:tS +i a:j +j dZe:j +k ke:j +l El +m Em +n En +o o: +p pi: +q kju: +r a:R +s Es +t t#i: +u ju: +v vi: +w dVbVlju: +x Eks +y wa:j +z zEd + +// symbols +% S;at@ma:n@m $max3 +* ast@risk $max3 // or [[ta:rika]] += sam@m ++ ku:t.t.@n.@m +& samuccaj@m +_. bindu +_, aNkuS;@m +_; ro:d#ini +_? co:dj@cihn@m +_! a:S;c@rjacihn@m + + +// numbers +_0 p'u:Jj@m +_1 'onny +_2 r@n.dy +_3 mu:nny +_4 na:ly +_5 'an^cy +_6 'a:R2y +_7 'e:r.y +_8 'et.ty +_9 'onpaty +_10 patty +_1X pati + +_11 patinonny +_12 pantran.ty +_15 patin'an^cy +_16 patin'a:R2y +_17 patin'e:r.y +_18 patin'et.ty +_19 pattompaty +_20 iryvaty +_2X iruvatti +_30 m'uppaty +_3X m'uppatti +_40 n'a:ppaty +_4X na:ppatti +_50 anpaty +_5X anpatti +_60 aR2uvaty +_6X aR2uvatti +_70 er.'uvaty +_7X er.'uvatti +_80 en.paty +_8X en.patt +_83 en.pattim'u:nny +_84 en.pattina:ly +_90 t'on.n.u:r:y +_9X t'on.n.u:t.t.i + +_0C0 n'u:r:y +_0C nu:t.t.i +_2C0 iRynn'u:ry +_2C irunnu:t.t.i +_3C0 munn'u:ry +_3C munnu:t.t.i +_4C0 n'a:nnu:ry +_4C n'a:nnu:t.t.i +_5C0 an^ju:ry +_5C an^ju:t.t.i +_6C0 aR2unu:ry +_6C aR2unu:t.t.i +_7C0 er.'unu:ry +_7C er.'unu:t.t.i +_8C0 en.n.u:ry +_8C en.n.u:t.t.i +_9C0 tol.l.'a:jiRam +_9C tol.l.'a:jiRatti + +// thousands +_0M1x 'a:jiRam +_0M1 'a:jiRatti + +_1f 'onn +_2f 'r@n.d +_3f 'imu:v +_3fx m'u:v // no tens +_4f 'ina:l +_4fx n'a:l +_5f 'ai:j +_6f 'a:R2 +_7f 'e:r. +_8f 'enn +_9f omp'atin + +_10f p'atin +_1Xf p'at +_12f p'antran.t +_13f p'atimu:v +_14f p'atina:l +_19f p'attomp'atin +_20f 'iruvatin +_2Xf 'iruvatt +_30f m'uppatin +_3Xf m'uppatt +_40f n'a:ppatin +_4Xf n'a:ppatt +_50f 'anpatin +_5Xf 'anpatt +_60f 'aR2uvatin +_6Xf 'aR2uvatt +_70f 'er.uvatin +_7Xf 'er.uvatt +_80f 'en.patin +_8Xf 'en.patt +_90f t'on.n.u:r: +_9Xf t'on.n.u:t.t. + +// higher powers +_0M2x l'aks.am +_0M2 l'aks.at.t.i +_0M3 k'o:t.i + +_dpt _d'aS;a:mS;@m_ + + diff --git a/dictsource/nl_list b/dictsource/nl_list index c3cfbe86..3e7dc56b 100644 --- a/dictsource/nl_list +++ b/dictsource/nl_list @@ -3,6 +3,7 @@ // $alt2, remove s from plural, remove en from plural // Use $alt3 where 'ng' and 'nk' is 'n+g' not [N] +// Use $alt4 for stressed final syllable ( es ) // Letters // If a letter has a "word" pronunciation which is different from its @@ -24,7 +25,7 @@ n En p pe: q ky r Er -s Es +//s Es // 's morgens t te: v fe: w ve: @@ -35,6 +36,7 @@ z zEt _s Es _t te: + _cap h'o:fdlEt@r _sub s'8pskrIpt|| _sup s'yp@rskrIpt|| @@ -406,7 +408,7 @@ baster $alt beender $alt belemmer $alt beter $alt -beirer $alt +beier $alt bibber $alt bitter $alt bladder $alt @@ -432,8 +434,9 @@ consuminder $alt counter $alt cover k8v@r $alt dabber $alt +dapper $alt daver $alt -deemstar $alt +deemster $alt dender $alt dobber $alt dokter $alt @@ -441,11 +444,9 @@ donder $alt donker $alt dotter $alt duister $alt -dwater $alt eergister $alt eier $alt emmer $alt -ender $alt enter $alt erger $alt etter $alt @@ -502,7 +503,6 @@ kamfer $alt kanker $alt kaper $alt kaver $alt -keilder $alt kenter $alt keper $alt kerker $alt @@ -554,7 +554,6 @@ leger $alt lekker $alt lemmer $alt lepper $alt -ler $alt letter $alt leuter $alt lever $alt @@ -564,6 +563,7 @@ lodder $alt lommer $alt louter $alt lubber $alt +luguber $alt luier $alt luimer $alt luister $alt @@ -585,6 +585,7 @@ monster $alt mopper $alt nader $alt neder $alt +nijver $alt nuchter $alt nummer $alt ober $alt @@ -600,6 +601,7 @@ peiger $alt peper $alt peuter $alt pieker $alt +pienter $alt pieter $alt pinkster $alt pleister $alt @@ -610,6 +612,8 @@ poeder $alt poeier $alt poker $alt polder $alt +pover $alt +proper $alt puber $alt pulver $alt purper $alt @@ -630,6 +634,8 @@ schilder $alt schipper $alt schitter $alt schouder $alt +schrander $alt +schuchter $alt schutter $alt sidder $alt sjacher $alt @@ -642,10 +648,12 @@ slinger $alt slobber $alt slodder $alt sloeber $alt +slommer $alt sluier $alt sluimer $alt snater $alt snipper $alt +snugger $alt snotter $alt snuister $alt sober $alt @@ -667,6 +675,7 @@ tater $alt teder $alt teister $alt temper $alt +tenger $alt tetter $alt teuter $alt timmer $alt @@ -714,6 +723,7 @@ Vlaander $alt // -s is not a suffix as $alt +bordes $alt4 bres $alt chaos $alt $1 es $alt @@ -1433,9 +1443,11 @@ berin bI:r'In beste bEst@ bevend be:v@nd bijziend $2 // bijziendheid +binnenshuis bIn@nsh'Wys blitzkrieg blItskri:g boudoir budw'a:r bourgondier burx'o:ndi:@r +buitenshuis bWyt@nsh'Wys cafe ka:f'e: circuit sIrku'i chalet Sa:lE @@ -1462,6 +1474,7 @@ diner din'e: //discussie $2 divers div'Ers diftongering dIft,ON'e:rIN +doelmatig $2 $alt2 doordat $2 dynastie $3 eensgelijks e:nsQ@l'EIks @@ -1482,6 +1495,7 @@ gefrituurd $3 hysterie hIstI:r'i impregnering Impr,EQn'e:IN inductie $2 +informatieve InfOrma:t'iv@ ingewikkeld $3 ingrijpend $2 ingeval $3 @@ -1491,6 +1505,7 @@ ingenieur Inzj@nj'Y:r informatie $3 invasie $2 januari $3 +jury Zyri kadaster $2 leesregel le:sre:Q@l lunch l8nS @@ -1539,6 +1554,7 @@ ongerieflijk $3 //ongrondwettig $3 partijvoorzitters $2 periferie pI:rifI:r'i +perron $2 pistache pist'AS privilege privil'e:Z@ $alt2 proces $2 @@ -1548,6 +1564,7 @@ reservoir re:zErvw'a:r revanche r@vA~nS regime $2 roman $2 +romance ro:m'A~s@ $alt2 rubriek rybr'ik sacristie $3 saint _^_FR @@ -1557,6 +1574,8 @@ september $2 serie sI:ri sms'jes EsEm'Es_j@s spektakel $2 +sportief $2 +sportieve $2 tegennatuur $4 tralie $1 travestie $3 @@ -1576,6 +1595,7 @@ wanluidend $2 wanschapen $2 wantrouwend $2 weliswaar v#ElIsw'a:r +werktuigelijk $2 ziekenhuisbevalling zi:k@nhWysb@vAlIN diff --git a/dictsource/nl_rules b/dictsource/nl_rules index 9431fd84..270ff4a7 100644 --- a/dictsource/nl_rules +++ b/dictsource/nl_rules @@ -14,6 +14,7 @@ aa a: aai a:j ae a: + ai Aj au VU auw VU ay a:j @@ -31,6 +32,12 @@ @) ace (_ e:s // ?? interface m) ach (in %a:S _) actie (@P5 'Aksi + @) achtig (_S6 Axt@Q // not -ig sufix + Km) acht (ig+ Axt // not -achtig + kr) acht (ig+ Axt + + _) a (dress+++ a: + _) adres (@P5 a:dr'Es _) af (C@P2 'Af _) affich %AfiS age (_ 'a:Z@ @@ -74,6 +81,7 @@ _) bijeen bEI'e:n _) binnen (P6 b'In@n _) boek (@P4 b'uk + _) boek (je b'uk _) boven (P5 b'o:v@n _) braille (@P7 br'Aj@ _) brand br'And @@ -124,6 +132,7 @@ ck k ces (_ s'Es + ce (s_$p_alt1 s@ coach ko:tS _) computer (@P8 kOmpj'ut@r _) congres kOnQr'Es @@ -177,6 +186,8 @@ _) dj dZ dj tj + _) doel (@P4 d'ul + .group e e e# // [e:] but change to [@] in unstressed syllables @@ -195,10 +206,11 @@ &C) e (_S1qd @ KAC) e (_S1e @ // remove 'e' and double the vowel + c) e (_++ @ KAj) e (_S1 @ el) e (_+S1qd @ er) e (_+S1qd @ - ig) e (_+S1qd @ + ig) e (_+S1qdm @ ea (_ 'e:a: eau 'o: //words with French origin @@ -214,6 +226,7 @@ @) e (renden_ 'I it) eit (_ 'EIt @) el (_ 'El + app) el (_ @l &) eld (_ @ld &) ele (_ 'e:l@ @@ -232,52 +245,11 @@ &) elijks @l@ks &) em (_ @m &) e (ment @ - &) e (nissen_ @ - - &) en (_S2qd @n - KAC) en (_S2e @n // flag 'e' means double the previous vowel - KAj) en (_S2 @n - and) en (_S2 @n - el) en (_+S2qd @n - er) en (_+S2qd @n - - &) en (e_$p_altS3e =@n@ // flag 'e' means double the previous vowel - &) en (en_$p_altS4e =@n@n - &) en (t_$p_altS3e =@nt - - &) ens (_S3q @ns - ll) en (_S3 @n - &) end (_ @nd - &) ende (_S1 @ - &) enden (_S2 @n eden (_ e:d@n // ?? - @) ent (_ 'Ent - @) ent (e_ 'Ent - @) ent (en_ 'Ent - @) ent (er_ 'Ent - @) ent (ere_ 'Ent - @) ent (st_ 'Ent - @) ent (ste_ 'Ent - ag) ent 'Ent - X) es (_ Es - @j) es (_S1 s - @z) es (_S1 s - @) es (_S2qd 'Es // double the previous vowel - @) es (_$w_alt2S1 s // just remove 's' + @) e (s_$p_alt2+S1 s - KAC) es (_S2e @s - mb) es (_S1 s - nd) es (_S1 s - rd) es (_S1 s - gt) es (_S1 s - wt) es (_S1 s - es (ie_ e:z - @) 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'. - @) esisch 'e:zis euille @'y eum (_$w_alt 'e:8m @@ -296,6 +268,7 @@ i) euzere (_ 'Y:z@r@ i) eust (_ 'Y:st i) euste (_ 'Y:st@ + exe (_ 'Eks@ proc) e (du e: s) e (cuur @ // secure @@ -304,6 +277,35 @@ _) expositie Ekspo:z'itsi e (rtsD E +.group en + &) en (issen_ @n + + &) en (_S2qd @n + KAC) en (_S2e @n // flag 'e' means double the previous vowel + KAj) en (_S2 @n + and) en (_S2 @n + el) en (_+S2qd @n + er) en (_+S2qd @n + + &) en (e_$p_altS3e =@n@ // flag 'e' means double the previous vowel + &) en (en_$p_altS4e =@n@n + &) en (t_$p_altS3e =@nt + + &) ens (_S3q @ns + ll) en (_S3 @n + &) end (_ @nd + &) ende (_S1 @ + &) enden (_S2 @n + @) ent (_ 'Ent + @) ent (e_ 'Ent + @) ent (en_ 'Ent + @) ent (er_ 'Ent + @) ent (ere_ 'Ent + @) ent (st_ 'Ent + @) ent (ste_ 'Ent + ag) ent 'Ent + + .group er @) er (ing_ 'I:r @) er (ingen_ 'I:r @@ -314,16 +316,24 @@ &) er (d_$p_alt =@r &) er (de_$p_alt =@r &) er (den_$p_alt =@r + &) er (der_$p_alt =@r &) er (end_$p_alt =@r &) er (ende_$p_alt =@r &) er (ing_$p_alt =@r &) er (ingen_$p_alt =@r + &) er (st_$p_alt =@r + &) er (ste_$p_alt =@r _) er (@P2 Er &) er (_ @r &) ere (_ @r@ &) er (en_$p_alt @r // where 'eren' is not a verb ending eren (_ 'I:r@n + erend (_ 'I:r@nd + @) eres (_S4qd @r'Es + @) eressen (_S7sq @r'Es@n +// @) erder (_ @rd@r + erie (_ @r'i er (ij_ @r tol) er (abel @r @@ -333,13 +343,38 @@ &) era (_ @ra: @) er (aar_ @r &) er (C@ E2r + +.group es + es (_$w_alt4+ 'Es + X) es (_ Es + @j) es (_S1 s + @z) es (_S1 s + @) es (_S2qd 'Es // double the previous vowel + @) es (_$w_alt2S1 s // just remove 's' + KAC) es (_S2e @s + mb) es (_S1 s + fd) es (_S1 s + nd) es (_S1 s + rd) es (_S1 s + gt) es (_S1 s + nt) es (_S1 s + wt) es (_S1 s + es (ie_ e:z + @) essen (_S5qd 'Es@n + @) es (_$p_alt @s // for wors which end on [@] with multiple on 's'. + @) esisch 'e:zis + .group ê ê E .group f f f f) f + f (b v + f (d v + + _) familie (@P7 fa:m'ili .group g @@ -347,10 +382,18 @@ gg Q s) g x + g (é Z + g (ee_ Z + _lo) g (eer Z + _lo) g (eren Z + collee) g Z // college @) gi (eus Z @) gi (euz Z reli) gi (eu Qij _) goog (el gu:g + ener) g (ie Z + + si) gn (a n^ .group ge @@ -359,8 +402,10 @@ _) gebruikers (@P10 Q@br'Wyk@rs _) gee Qe: _) gei QEI + _) ge (kC QE gener (aal Q,e:n@r _) gelijk Q@lEIk + _) gemeente (@P8 Q@m'e:nt@ _) ge (lC QE _) ge (rC QE _) ge (lenL02 Qe: @@ -373,19 +418,20 @@ ge (sprek Q@ // in compounds - .group h h h C) h (K + _) handicap hEndikEp _) her (@P3 hEr _) her (en hI:r _) herinn h%ErIn // herinneren _) hersen h'Ers@n &) heid (_S4 hEIt _) honden (@P6 h'Ond@n + _) hoogte (@P6 h'o:xt@ _) hulp (@@P4 h'8lp @@ -417,6 +463,8 @@ &) ici (_ =isi &) ico (_ =iko: &) icus (_ =ik8s + r) ice (_ 'is@ + r) ices (_ 'is@s i (che_ i ie (X 'i ie (Ce_ 'i @@ -432,7 +480,7 @@ CAns) ie (_ =i CAss) ie (_ =i @) ig (_S2dq =@x - @) ige (_S3dq =@Q@ + @) ige (_S1m @ @) igen (_ =@Q@n @) iger (_ =@Q@r @) igere (_ =@Q@r@ @@ -445,10 +493,13 @@ ij (en 'EI &) ika (_ =ika: &) iko (_ =iko: + fam) i (lie 'i _) in (C@P2 'In - _) in (do In + _) in (do In + _) in (forma In ine (_ 'in@ ines (_ 'in@s + _) informatie (@P10 InfOrm'a:tsi _) inn (@P2 'I // ?? inneren _) inter Int@r io (nage iO @@ -556,6 +607,7 @@ _) natuur na:t'yr na (tur n%a: na (vig n%a: + _) navigatie (@P9 na:viQ'a:tsi _) na (vr na: _) na (volg@ n%a: _) nieuws (@P6 n'iws @@ -588,6 +640,8 @@ c) oi (ffu v#A pr) o (gram o: omgeving OmQ'e:vIN + on (_ 'On + onen (_ 'On@n oo (X 'o: oon 'o:n // in compounds, eg. telefoongesprek oo (C_ 'o: @@ -676,6 +730,7 @@ _) re (ceptief re: _) re (ces r@ _) re (clam r@ + _) redactie (P8 r@d'Aksi _) register r@Q'Ist@r reme (die r@m'e: _) re (serve_ r@ @@ -714,11 +769,13 @@ &) sel (_ =s@l &) selen (_ =s@l@n service s8v@s + sh (op S @) si (o S A) si (o Z @) ssi (o S CAr) sie (_ =zi + _) sport (@P5 sp'Ort _) stads (@P5 st'Ats _) stage (@P5 st'a:Z@ _) standaard (@P9 st'Anda:rt @@ -813,8 +870,7 @@ _) ver (sie_ vEr _) verder vErd@r _) verkeers (@P8 v@rk'I:rs -// _) verge (@P5 vErg@ -// _) verge (le v@rQ'e: + _) voor v'O:r _) voorjaars (@P9 v'O:rja:rs _) voort (@P5 v'O:rt _) vrijwilligers (@P13 vrEIv#'Il@Q@rs @@ -842,6 +898,7 @@ _) weg (en v#e:Q _) weg (e_ v#e:Q // bewegelijk _) werk (@P4 v#'Erk + _) werk (el v#'Erk _) west (@P4 v#Est _) woon (@P4 v#'o:n _) wr (@ vr @@ -865,7 +922,7 @@ zele (_S4 ze:l@ // common suffix for cities. @) zelf (_S4 s'Elf - _) zoge (@P4 z,og@ + _) zoge (@P4 z,oQ@ _) zuid (@P4 zWyt diff --git a/dictsource/pt_list b/dictsource/pt_list index c022c439..5923cbb1 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -659,6 +659,7 @@ adore $alt adorno $alt $verb aeroporto $alt2 aeroportos $alt +aflore $alt alcateia $alt alcova $alt2 alegro $alt2 $noun @@ -670,6 +671,7 @@ amuleto $alt2 ampere $alt ampola $alt2 ampulheta $alt2 +anchova $alt2 andorra $alt2 antonieta $alt2 apego $alt2 $noun @@ -694,14 +696,14 @@ axé aSE azeda $alt $verb azedo $alt $verb bairro b'aIxU -baqueta $alt2 -banqueta $alt2 banquete $alt2 bastonete $alt2 beco $alt2 besta $alt2 bilhete $alt2 bissulfeto $alt2 +blazer bl'eIzer +blazers bl'eIzers boca $alt2 boceta $alt2 bofe $alt @@ -719,7 +721,6 @@ boxe $alt brejo $alt bromelha $alt broto $alt2 $noun -cabelo $alt2 cabresto $alt2 cacete $alt2 cachorra $alt2 @@ -729,7 +730,6 @@ cãibra k'&~IbR& caibro k'aIbRU caixeta $alt2 camelha $alt -camelo $alt2 camiseta $alt2 canaleta $alt2 canhoto $alt2 @@ -757,6 +757,7 @@ chamego $alt2 $verb chaveta $alt2 chefe $alt checam $alt +choça $alt choro $alt2 $noun chovesse $alt2 chupeta $alt2 @@ -773,6 +774,8 @@ colher $alt $noun colheres $alt $noun colmeia $alt colore $alt +colosso $alt2 +colostro $alt2 começo $alt $verb comodo $alt2 concerto $alt2 $noun @@ -832,16 +835,18 @@ diego $alt2 diogo $alt2 discordo $alt dissabores $alt2 -dispneia dZIspyn'EI& +?2 dispneia dZIspyn'EI& dobro $alt2 dobro $alt $verb doce $alt2 +dorminhoco $alt2 doutora $alt2 doze $alt2 dueto $alt2 elixir eliSir emprego $alt2 emprego $alt2 $noun +encasqueta $alt encosto $alt $verb endereço $alt $verb enforco $alt @@ -870,7 +875,6 @@ esgoto $alt2 esgoto $alt $verb esperma $alt espeto $alt2 $noun -espiroqueta $alt2 espoleta $alt2 esposa $alt2 esqueleto $alt2 @@ -881,10 +885,10 @@ estrela $alt2 estrofe $alt estrogonofe $alt eta $alt2 -etiqueta $alt2 europa $alt europeia $alt exagero $alt $verb +exorto $alt explore $alt faceta $alt2 falangeta $alt2 @@ -896,6 +900,7 @@ fezes $alt filete $alt2 ?1 fixe fiSy flerte $alt2 $noun +flexora $alt2 foda $alt2 $verb fodo $alt2 fogo $alt2 @@ -918,6 +923,7 @@ galeto $alt2 galhofa $alt galileia $alt gangorra $alt2 +gazeta $alt2 geleia $alt gelo $alt2 gelo $alt $verb @@ -929,6 +935,7 @@ gol gow golpe $alt gorda $alt2 gorjeta $alt2 +gosma $alt gosto $alt $verb gota $alt2 governo $alt2 @@ -957,6 +964,8 @@ jogos $alt joguete $alt2 lagosta $alt2 lambreta $alt2 +laser l'eIzer +lasers l'eIzers lebre $alt leitora $alt2 lembrete $alt2 @@ -970,9 +979,11 @@ logro $alt lopes $alt macete $alt2 maior $alt +major $alt maleta $alt2 maniçoba $alt marieta $alt2 +mariposa $alt2 marreta $alt2 megera $alt melhor $alt @@ -1025,6 +1036,7 @@ paella pa'el^& palacete $alt2 paleta $alt2 palheta $alt2 +palhoça $alt panfleto $alt2 pangeia $alt pantera $alt @@ -1046,7 +1058,6 @@ pintora $alt2 pior $alt pipoco $alt2 $noun pirueta $alt2 -plaqueta $alt2 plateia $alt plebeia $alt polca $alt @@ -1056,7 +1067,7 @@ porque $alt2 porra $alt2 porreta $alt2 porrete $alt2 -porto $alt2 +porto $alt $verb portos $alt pose $alt2 povos $alt @@ -1134,13 +1145,15 @@ sulfeto $alt2 sulfureto $alt2 super s'Uper suporto $alt -suor swOr +suor suOr sutiã sutSi'&~N +tabefe $alt tapete $alt2 temores $alt2 tempero $alt2 $noun tenores $alt2 terrores $alt2 +teses $alt teta $alt2 togo $alt2 topo $alt2 $noun @@ -1198,7 +1211,11 @@ blind bl'aind ?1 doc d'Ok ?1 delete d'il'it ?1 design d,iz'ain +?2 design dez'aIn +?2 designer dez'aIner +?2 designers dez'aIners ?1 dj d,i:dZ'eI +?2 diesel dZ'izEU ?1 down d'a,wn ?1 download d'a,wnl'oud ?2 download daUNl'owd @@ -1271,6 +1288,7 @@ símbolo s'imbolU ?1 sporting sp'Ort,ing tab t'aby tablet t'ablet + taser t'eIzer ?1 telemóvel t,El,Em'OvEl ?1 telemóveis t,El,Em'OveIs# ?1 up &p diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 5b737b22..79c52688 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -30,7 +30,6 @@ a a &) a (_ =& // in final unstressed syllable &) a (s_ =& - &) a (_a =&/ // ?? elide final a before a A_l) a (_ & &) a (_à =&/ ?1 a (_ =& // in final unstressed syllable @@ -191,7 +190,7 @@ e (bL02_ E e (cL04_ E - +@c) e (L07_ e e (chL04_ E r) e (cho_ e @@ -261,9 +260,8 @@ m) e (tL03_ e An) e (tA_ e on) e (te_ E - gaz) e (ta_ e - - e (vL04_ E +qu) e (ta_ e + e (vL04_ E t) e (ve_ e e (rrAs_ E @@ -388,8 +386,7 @@ respond) e (L05_ e diss) e (L06_ E // contra- m) e (L07_ e // comeste, etc. eb) e (L07_ e // recebeste, etc. - ec) e (L07_ e // pareceram, etc. - eg) e (L07_ e // elegeste, etc. + eg) e (L07_ e // elegeste, etc. _cr) e (L07_ e _do) e (L07_ e _mo) e (L07_ e @@ -397,8 +394,7 @@ respond) e (L05_ e bat) e (L07_ e // re- com- ced) e (L07_ e // pro- con- su- end) e (L07_ e // vendeste, etc. - esc) e (L07_ e // cresceste, etc. - met) e (L07_ e // co- pro- arre- re- intro- compro- sub- + met) e (L07_ e // meteste, cometeste, etc. mex) e (L07_ e mov) e (L07_ e // re- co- olv) e (L07_ e // devolveste, etc. @@ -410,9 +406,6 @@ respond) e (L05_ e _coz) e (L07_ e colh) e (L07_ e // & es- ench) e (L07_ e // pre- - nasc) e (L07_ e // re- - torc) e (L07_ e // con- - venc) e (L07_ e // con- vert) e (L07_ e // in- re- con- _ergu) e (L07_ e _mord) e (L07_ e @@ -429,6 +422,8 @@ _troux) e (L07_ E _amanc) e (bL03_ E qu) e (brL04_ E _cel) e (brL04_ E + _dilac) e (rL04_ E + _encarc) e (rL04_ E _boch) e (chL04_ e _ex) e (crL04_ E _enr) e (dL01_ E @@ -461,6 +456,7 @@ _enver) e (dL03_ E _op) e (rL04_ E gen) e (rL04_ E // de- re- _alt) e (rL04_ E + _ent) e (sL04_ E _enc) e (rL04_ E _imp) e (rL04_ E _min) e (rL04_ E @@ -530,6 +526,7 @@ _embel) e (zL04_ E p) e (çL03_ E _m) e (çL03_ E _entorp) e (çL03_ e +_caC) e (lo_ e //endsort @@ -914,7 +911,7 @@ _remem) o (rL04_ O f) o (rmL03_ O c) o (rrL01_ o // incorra, corra, etc. _m) o (rrL01_ o - p) o (rtL03_ O // im- trans- de- re- com- a- ex- + @p) o (rtL03_ O // importo, etc. t) o (rçL03_ o // con- _r) o (snL04_ O _c) o (spL02_ O @@ -1015,7 +1012,8 @@ _remem) o (rL04_ O r (_ r r (C *@- A) r (A * - A) r (_A * + r (_A * + ?2 r (_h * C) r (A R rr x _) r x diff --git a/dictsource/ru_rules b/dictsource/ru_rules index b7540100..b8d4d583 100755 --- a/dictsource/ru_rules +++ b/dictsource/ru_rules @@ -690,6 +690,20 @@ _твое) г (о_ v // (This is now done automatically by the eSpeak program) .group + // other cyrillic letters + ђ dZ; + ј j // U+458 + љ lj + ћ tS; + џ dZ + ќ kj + ѓ dZ; + ґ g + є jE + і i + ї ji + ў w + $ dolar diff --git a/dictsource/sl_list b/dictsource/sl_list index 077f7cef..ac6e863e 100755 --- a/dictsource/sl_list +++ b/dictsource/sl_list @@ -12,23 +12,23 @@ b b@ c ts@ č tS@ d d@ -e e +e e: f f@ g g@ -_h h@ +h x@ $atend j j@ -_k k@ +k k@ $atend l l@ m m@ n n@ -_o o +o o: $atend p p@ r R@ -_s s@ +s s@ $atend š S@ t t@ -_v v@ -_z z@ +v v@ $atend +z z@ $atend ž Z@ q ku @@ -42,10 +42,13 @@ y 'ipsilon ë $accent ö $accent ü $accent +ß 'o:stri||s'@ -// accent names (please fix) -_dia prEgl'asa +// accent names +_dia sprEgl'asom +// languages +_cyr tsiR'i:litSno // numbers _0 n'i:tS @@ -66,7 +69,7 @@ _14 St'i:Rinajst _15 p'e:tnajst _16 S'e:stnajst _17 s'e:d@mnajst -_18 'o@s@mnajst +_18 'o:s@mnajst _19 d'Ev'e:tnajst _2X dv#'a:jsEt _3X tR'i:dEsEt @@ -114,9 +117,9 @@ s s v w $combine z z $combine -a a $atend +a a: $atend k k@ $atend // letter-k -o o $atend // letter-o +o o: $atend // letter-o s s@ $atend v v@ $atend z z@ $atend diff --git a/dictsource/sl_rules b/dictsource/sl_rules index 634c3860..d844b8df 100755 --- a/dictsource/sl_rules +++ b/dictsource/sl_rules @@ -4,6 +4,7 @@ .L01 b d g j l m n v z ž // voiced consonants +.L03 a e .L04 l v @@ -12,6 +13,8 @@ a (X$w_alt3+ 'a a (č_ 'a: + a (l_ 'a: + .group b b b @@ -34,6 +37,7 @@ .group e e e: e (X$w_alt3+ 'E + ee i: @) e (n_ E# @C) e (r_ E# @@ -60,8 +64,10 @@ i (X$w_alt3+ 'i i (A j - @) i (ja_ =i - r) i (ja_ i: + @) i (jL03_ =i + r) i (jL03_ i: + z) i (jL03_ i: + i (l_ 'i: .group j j j @@ -110,6 +116,8 @@ o (L04+ o: o (č_ 'o: + o (l_ 'o: + oo u: .group p p p @@ -153,7 +161,7 @@ v (-A+ v // preposition 'v' before a vowel A) v (K w K) v (K %u - K) v (r v + v (r v L01) v (A v# diff --git a/dictsource/ta_list b/dictsource/ta_list index 7b44a559..21ae589e 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -270,8 +270,6 @@ tamil தமிழ் $text போகம் $alt போதனை $alt பூகம்பம் $alt -பாகவதம் $alt -பகவத் $alt பங்கம் $alt பேகம் $alt பார்லி $alt @@ -491,7 +489,6 @@ tamil தமிழ் $text கயா $alt காயத்ரி $alt கட $alt -கோ $alt கதி $alt கோபி $alt கச்சாமி $alt @@ -573,3 +570,4 @@ tamil தமிழ் $text பிட் bit. புட் fud. உப்ப ubbV +ஜென் zen diff --git a/dictsource/ta_rules b/dictsource/ta_rules index 111ab1f6..a9fd9127 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -163,6 +163,7 @@ _) க (ங்கபாடி gV _) க (ங்கர gV _) க (ங்கா gV + _) க (ங்காணி kV _) க (ங்காரு kV _) க (ங்குலி gV _) க (ங்கூலி gV @@ -193,6 +194,7 @@ _) க (தியில் gV _) க (தியை gV _) க (ந்தக gV + _) க (ந்தகிரி kV _) க (ந்தர்வ gV _) கனக (ச்சித gVnVkV _) க (னக்க gV @@ -225,7 +227,11 @@ _) க (லீர gV _) க (லீல gV _) க (லீஷிய gV + _) க (ல்ஃப gV _) கல்த (ா gVlt + _) க (ல்பி gV + _) க (ல்பை gV + _) க (ல்ப் gV _) க (ளுக் gV _) க (வண gV _) க (வன gV @@ -266,6 +272,7 @@ _) க (ின்னஸ g _) க (ின்னென்ற g _) கிப் (ட gif + _) க (ிப்ரான g _) க (ியர g _) கி (யூ k _) கி (ரக g @@ -282,6 +289,7 @@ _) கி (ராக்கி g _) கி (ராக்கு k _) கிராணைட gra:naIt.V# + _) கி (ராண்ட g _) கி (ராதக k _) கிராபைட gra:faIt.V# _) கிராப் kra:p @@ -292,6 +300,8 @@ _) க (ிரிஜா g _) க (ிரிதர g _) க (ிரிதார g + _) கிரிப்பிரதக்ஷ (ண giripprVdVks.V + _) கிரிப்பிரதட்ச (ண giripprVdVks.V _) கி (ரிமினல k _) கி (ரியா_ k _) க (ிரியாக g @@ -405,6 +415,7 @@ _மன்மதக்) க (ுகை g _) க (ுபேர g _) குப் (த gup _) க (ுப்புன g + _) க (ுப்பென g _) க (ுப்பென்ற g _) க (ுமாஸ்தா g _) க (ுமுகுமு g @@ -484,6 +495,7 @@ _மன்மதக்) க (ுகை g _) க (ேட்டைக் g _) க (ேட்டைத் g _) க (ேட்டைப் g + _) க (ேப்ரியல g _) க (ேமை g _) க (ேம்ஸ g _) கேரண்ட ge:rVn.t.V# @@ -598,6 +610,7 @@ _வெங்) கட kVt.V# _தலைக்) க (ன gV _வீண்) க (னவ kV _வெல்) க (ம kV + _வெங்) க (ய்யா kV தின) க (ர kV மது) க (ர kV ஷங்) க (ர kV @@ -723,6 +736,7 @@ _தொன்ம) க (ால k க (ீழே_ k க (ீழ்_ k _பல்) க (ு k + _கற்) க (ுகை g மலைக்) க (ுகை g _பால்) க (ுட k _பரம) க (ுடி k @@ -792,6 +806,7 @@ _நினைவு) க (ூர k _லொ) க (ேஷன k ம) க (ேஷ்வ H ம) க (ேஸ்வர H + _வெங்) க (ையா k அங்) க (ொ g இங்) க (ொ g _செடி) க (ொடி k @@ -801,6 +816,7 @@ _நினைவு) க (ூர k _வை) க (ோ k _ஷி) க (ோ k யூனி) க (ோட k + _தன) க (ோடி k _ஜீவ) க (ோடி k _பக்த) க (ோடி k _தேவ) க (ோட்ட k @@ -868,6 +884,7 @@ _சத்தியா) க்கி (ரஹ gg _சாலி) க்கி (ராம gg _சாள) க்கி (ராம gg L03) க்க (ுகை gg + _மன) க்க (ுகை gg _நிர்) க்க (ுண gg _மு) க்க (ுண gg L03) க்க (ுண gg @@ -912,6 +929,8 @@ _துப்பாக்கி) க்க (ுண்ட gg _பை) க் (ல_ k _நெ) க் (லஸ k என்சை) க்லோப (ீடியா klo:p + _சு) க் (ள k + _ஷு) க் (ள k க் (ஸ k _எ) க் (ஸாம g _மெ) க்ஸிக (ோ ksik @@ -953,6 +972,7 @@ _துப்பாக்கி) க்க (ுண்ட gg _) சக் (ரவர்த்தி tSVk _க) ச (க்ஸ்தான zV சங்க (ர s.VNkV + _) சங்க (ரமட sVNkV _) ச (ட்டL08ஸ்கர tSV _) ச (ட்டினி tSV _) ச (ட்னி tSV @@ -989,6 +1009,7 @@ _மீனலோ) ச (னி tSV _) ச (ப்பி tSV _) ச (ப்பு tSV _) ச (ப்பெ tSV + _) சம்ப (ாரன tSVmp _நா) ச (ர zV _ரே) ச (ர zV _டின்) ச (ர tSV @@ -1017,6 +1038,8 @@ _தணிகா) ச (ல tSV வேங்கடா) ச (ல tSV _) ச (லோ tSV _) ச (வான tSV + _பிளா) ச (ா z + _ப்ளா) ச (ா z _) ச (ாக்கட்டி tS _) சாக்ப (ீL04 tSa:kp _) சாக்லெட் tSa:klet. @@ -1034,6 +1057,7 @@ _தணிகா) ச (ல tSV _ரம்) ச (ான z அமே) ச (ான z _) சா (னல tSe: + _தான்) ச (ானிய z _) ச (ான்ஸ tS _) ச (ாப்டர tS _) சாப் (ளின tSa:p @@ -1051,24 +1075,30 @@ _தணிகா) ச (ல tSV ராஜோப) ச (ார tS ஆ) ச (ார_ tS ஆ) ச (ாரங்கள tS + _வி) ச (ாரங்கள tS ஆ) ச (ாரத் tS + _வி) ச (ாரத்த tS ஆ) ச (ாரம tS + _வி) ச (ாரம tS _சிவா) ச (ாரி tS _ரங்கா) ச (ாரி tS _வரதா) ச (ாரி tS _வேதா) ச (ாரி tS _கிருஷ்ணமா) ச (ாரி tS _கோபால) ச (ாரி tS +_கோவிந்தா) ச (ாரி tS _சங்கரா) ச (ாரி tS _தேசிகா) ச (ாரி tS _பட்டா) ச (ாரி tS _பிரம்ம) ச (ாரி tS _மத்வா) ச (ாரி tS அனந்தா) ச (ாரி tS +அன்னங்கரா) ச (ாரி tS அன்னமா) ச (ாரி tS ராஜகோபால) ச (ாரி tS ராமானுஜா) ச (ாரி tS ஆ) ச (ாரிய_ tS + ஆ) ச (ாரியர tS ஆ) ச (ாரியார tS அ) ச (ாருதீன z _) ச (ாருமதி tS @@ -1144,6 +1174,8 @@ _பக்தி_) சிரத் (தை srVd _ஃபா) ச (ில z _) சி (லாகி s _நியூ) ச (ிலாந்த z + _சுவா) ச (ிலாந்த z + _ஸ்வா) ச (ிலாந்த z _) ச (ிலிய tS _) சி (லேட s _) ச (ில்ற tS @@ -1168,6 +1200,7 @@ L28ரங்க) ச (ீப z _) ச (ுடிதார tS _) ச (ுட்டிப் tS ஆ) சுப (த்திரி spV + _) சுமித (ா smit _) ச (ுரிதார tS _) சு (ருதி s இ) சு (லா s @@ -1197,6 +1230,7 @@ _மங்களே) சு (வர s _) சு (விட்ச s _) சு (விஸ s _) சு (வீட s +_வெனி) ச (ுவேல z _) ச (ூயிங் tS _) ச (ூரண tS _) செக் (_ tSek @@ -1299,7 +1333,9 @@ _மங்களே) சு (வர s _நா) ஜ (ி z _) ஜிப்(_ zip _) ஜ (ிப்ப z - _) ஜ (ியா z + _) ஜ (ிப்பா dZ + _) ஜ (ியா_ z + _) ஜ (ியாவ z _) ஜ (ீனத் z _) ஜ (ீப்ரா z _) ஜ (ீரோ z @@ -1454,6 +1490,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) டி (யூன t. _) டி (யூப t. _) டி (யூஷன t. + _) டிரக் t.rVk _) டி (ரங் t. _) டி (ரங்கு t. _) டி (ரபிள t. @@ -1494,6 +1531,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) டி (ரிங்_ t. _) டி (ரிங்க் d. _) டி (ரிங்ஸ d. + _) டி (ரினிடாட t. _) டிரினிட (ி t.rinit. _) டிரிப் t.rip _) டி (ரிம் t. @@ -1515,6 +1553,7 @@ _செண்) டிமெண்ட t.imen.t.V# _) டி (ரைலர t. _) டி (ரைவ d. கண்) டி (ரோல t. + _ஜெண்) ட (ில t. _கௌ) ட (ில்ய t. _நெக) ட (ிவ t. _) ட (ிவிக t. @@ -1579,8 +1618,10 @@ _லான்_) ட (ென்னிஸ t. _) டைப (ாய்ட t.aIf _) டைப் t.aIp _) ட (ைம்_ t. + _ரி) ட (ையர t. _) ட (ைல்ஸ t. _) டொக் t.ok + _) ட (ொபாகோ t. _) ட (ோக்கன t. _) ட (ோக்கியோ t. _) ட (ோட்டல t. @@ -1605,11 +1646,13 @@ _மாலிவு) ட்ட d.d.V# _ஹாலிவு) ட்ட d.d.V# _ரெ) ட்ட (ிய d.d. இ) ட்ட (ிலி d.d. + _ஜி) ட்ட (ு d.d. அப்பாயிண்) ட்மெண்ட t.men.t.V# _) ட் (யூசன t. _) ட் (யூன t. _) ட் (யூப t. ஸ்) ட் (ர _|t. // ?? make t. distinct + _) ட்ரக் t.rVk _) ட் (ரங் t. _) ட் (ரங்கு t. _) ட் (ரபிள t. @@ -1647,6 +1690,7 @@ _ஹாலிவு) ட்ட d.d.V# _) ட்ரிக்க (ர t.riggV _) ட் (ரிங்_ t. _நியூ) ட் (ரின t. + _) ட் (ரினிடாட t. _) ட்ரினிட (ி t.rinit. _) ட் (ரிம் t. _) ட் (ரில்லியன t. @@ -1729,6 +1773,7 @@ _நடுரோ) ட் (ல t. _) த (க்ஷிண dV _) த (க்ஷிணா dV _) த (சகண்ட dV + _) த (சநாம dV _) த (சம dV _) த (சமி dV _) த (சரத dV @@ -1747,6 +1792,7 @@ _நடுரோ) ட் (ல t. _) த (டிJ_மாட dV _) த (டிக்காம dV _) த (டிக்கும dV + _) த (டிச்ச dV _) த (டித்த dV _) த (டிப் dV _) த (டிமன dV @@ -1774,6 +1820,8 @@ _நடுரோ) ட் (ல t. _) தண்டீசு (வர dVn.d.i:s _) த (ண்டீஸ்வர dV _) த (ண்டோரா dV + _) த (த்தாத்திரேய dV + _) தத்தாத் (ரேய dVtta:t _) தத்த (ியா dVdd _) த (னகோடி dV _) த (னசேகரன dV @@ -1823,6 +1871,7 @@ _நடுரோ) ட் (ல t. _) த (ருமத் dV _) த (ருமன dV _) தருமப (ால dVrumVb + _) தருமப (ுத்திர dVrUmVp _) த (ருமபுர dV _) தருமப (ுரி dVrUmVp _) த (ருமப் dV @@ -1924,6 +1973,7 @@ _அகாலி_) த (ள dV _) த (ினச் d _) த (ினத் d _) த (ினந் d + _) த (ினப் d _) த (ினப்படி d _) த (ினம d _) த (ினுச d @@ -2096,12 +2146,6 @@ _) தீர்க்க (_சுமங்கலி di:rggV _) த (ோஸ்த் d _) த (ோஹா d _) தௌலதாப (ாத daUlVd.a:b - _சா) த்த (ியக்கூற dd - _சா) த்த (ியங்கள dd - _சா) த்த (ியத்த dd - _சா) த்த (ியந் dd - _சா) த்த (ியப்பட dd - _சா) த்த (ியம dd _) த (்ராட்சை d //endsort @@ -2120,6 +2164,7 @@ _வசந்) த tV# _மேல்) த (ட்ட tV _சப்) த (த்த dV _சாந்) த (த்த tV# +_மனோ) த (த்துவ tV பிள்ளை) த (ன tV முட்டாள்) த (ன tV _சப்) த (ம dV @@ -2140,12 +2185,16 @@ _வசந்) த tV# சுஜா) த (ா t லலி) த (ா t _சமந்) த (ா t + _சுஜி) த (ா t _சுனி) த (ா t + _நமி) த (ா t _மம்) த (ா t _ஹரி) த (ா t _மஜந்) த (ா t _வனி) த (ா t + _விஜி) த (ா t _வினி) த (ா t + _ஸ்மி) த (ா t _சுவர்ணல) த (ா t _நிவேதி) த (ா t _புஷ்பல) த (ா t @@ -2159,6 +2208,7 @@ _ஸ்வர்ணல) த (ா t _சாந்) த (ானு tV# _சி) த (ார t _சரி) த (ாவ t + _ஹரி) த (ாஸ்_ d _சும) த (ி t அதி) த (ி t _சாந்) த (ி t @@ -2186,6 +2236,7 @@ _புஷ்பவ) த (ி t _ச) த (ீஷ t _நி) த (ீஷ t த (ுறை t +_பெருந்) த (ுறை d ஆழ்) த (ுளை t த (ூக்க t // in word வீண்) த (ேவை t @@ -2206,6 +2257,7 @@ _சோவிய) த் t _சிரார்) த்த ddV# _ஸ்ரார்) த்த ddV# அர்) த்த (L09ார ddV + L03) த்த (டவை ddV _முரட்டு) த்த (டியன ddV _முரட்டு) த்த (டியர ddV _சிறை) த்த (ண்டனை ddV @@ -2242,6 +2294,12 @@ _மL06ிஷாசுரமர்) த்த (ினி dd வை) த்த (ிய dd உபா) த்த (ிய dd _நைவே) த்த (ிய dd + _சா) த்த (ியக்கூற dd + _சா) த்த (ியங்கள dd + _சா) த்த (ியத்த dd + _சா) த்த (ியந் dd + _சா) த்த (ியப்பட dd + _சா) த்த (ியம dd _வி) த்த (ியார் dd பு) த்த (ியி dd _சா) த்த (ியிரு tt @@ -2267,6 +2325,8 @@ L03வ்வு) த்த (ியோக dd _பு) த்த (ில tt _வை) த்தீசு (வ ddi:s _வை) த்த (ீஸ்வ dd + அப்பா) த்த (ுரை dd +அண்ணா) த்த (ுரை dd ராஜ) த்து (ரோக dd _தேச) த்து (ரோகி td L03) த்த (ுர்க்க dd @@ -2306,6 +2366,7 @@ _வில்வி) த்த (ை dd நி) த (்ய t ஆதி) த் (ய t இ) த் (யாதி t + _நே) த் (ர t _பவி) த் (ர t _பா) த் (ர t _மா) த் (ர t @@ -2377,8 +2438,8 @@ _சி) த்ரலேக (ா trVle:k _) ப (ஃபூன bV _) ப (கதூர bV _) ப (கத்சிங் bV + _) ப (கவத bV _) ப (கவதி bV - _) ப (கவத்நாம bV _) ப (கவன bV _) ப (கவான bV _) ப (காசுர bV @@ -2440,6 +2501,7 @@ _சொந்த_) ப (ந்த bV _) ப (ந்தப் bV _) ப (ந்தம bV _L14_) ப (ந்தம pV + _) ப (ந்தாக்கள bV _) ப (ந்தாவ bV _) ப (ந்துக்கள bV _) பந்த (ுலு bVnt @@ -2460,6 +2522,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ம்பர bV _) ப (ம்பாய bV _) ப (ய_உணர் bV + _) ப (ய_ரேகை bV _) ப (யங் bV _) ப (யங்கர bV _) ப (யத் bV @@ -2473,6 +2536,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (யப்பன pV _) ப (யப்பவை pV _) ப (யம bV + _) ப (யரேகை bV _) ப (யாலஜி bV _) பயாஸ்கோப் bVja:sko:p _) ப (யில்வான bV @@ -2498,6 +2562,7 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ர்ஃபி bV _) ப (ர்கர bV _) ப (ர்த் bV + _) ப (ர்னஸ fV _) ப (ர்னாலா bV _) பர்னிச (ர fVrnitSV _) ப (ர்னிச்சர fV @@ -2599,9 +2664,10 @@ _டீயும்_) ப (ன்னும்_ bV _) ப (ாகத b _) ப (ாகப் b _) ப (ாகம b - _) ப (ாகவதர b + _) ப (ாகவத b _) ப (ாகியான f _) ப (ாகீரதி b + _) பாக (ுலேயன ba:H _) ப (ாக்கிக் b _) ப (ாக்கிய b _) ப (ாக்டரி_ f @@ -2611,6 +2677,7 @@ _டீயும்_) ப (ன்னும்_ bV _) பாக்ட (ீரியா ba:kt. _) பாக்த (ாத ba:gd _) ப (ாக்ய b + _) பாக் (லாந்த fa:k _) ப (ாக்ஸ b _) பாங்க (ாக் ba:Nk _) ப (ாங்கில b @@ -2675,11 +2742,13 @@ _டெட்_) ப (ாடி b _) ப (ாதிப்படைவ b _) ப (ாதிப்பதா b _) ப (ாதிப்பதை b + _) ப (ாதிப்பவை b _) ப (ாதிப்பாகி b _) ப (ாதிப்பாகிற b _) ப (ாதிப்பாகும b _) ப (ாதிப்பால b _) ப (ாதிப்பினால b + _) ப (ாதிப்பின்றி b _) ப (ாதிப்பிற்க b _) ப (ாதிப்பில b _) ப (ாதிப்புகள b @@ -2713,6 +2782,7 @@ _டெட்_) ப (ாடி b _டைம்_) ப (ாம b _) ப (ாமாவ b _) ப (ாமினி b + _) ப (ாமிலி f _) ப (ாம்பே b _ஆடு_) ப (ாம்பே p _விளையாடு_) ப (ாம்பே p @@ -2727,6 +2797,7 @@ _விளையாடு_) ப (ாம்பே p _) ப (ாரமை p _) ப (ாரம்பரிய p _) ப (ாரம்மா p + _) ப (ாரல b _) ப (ாரவி b _) ப (ாராமுல்லா b _) ப (ாரிஸ்டர b @@ -2770,7 +2841,7 @@ _விளையாடு_) ப (ாம்பே p _) ப (ாலுவ b _) ப (ாலே_L25 b _) ப (ாலை p - _) ப (ாலையா b + _) ப (ாலையாவ b _) ப (ால் p _) ப (ால்_தாக்கரே b _) பால்க (னி ba:lkV @@ -2812,9 +2883,11 @@ _விளையாடு_) ப (ாம்பே p _) ப (ாஸந்தி b _) ப (ாஸ்கர b _) ப (ாஸ்கி b + _) ப (ாஸ்கெட் b _) ப (ாஸ்டன b _) ப (ாஸ்மதி b _) ப (ாஹியான f + _) ப (ாஹுலேயன b _) பி(ராந்தியு b _) ப (ி_._பி_._சி b // b.b.c _) ப (ிகர f @@ -2834,6 +2907,10 @@ _விளையாடு_) ப (ாம்பே p _) ப (ிட்சு b _) ப (ிட்டடி b _) பிந்தி (ரன்வாலே bind + _) ப (ிந்துசார b + _) ப (ிந்துவா b + _) ப (ிந்துவி b + _) ப (ிந்துவை b _) ப (ினாமி b _) ப (ினிஷ f _) ப (ின்_லேடன b @@ -3157,12 +3234,14 @@ _பெனசீர்_) ப (ுட்டோ b _) பு (ரோட்டான p _) பு (ரௌச b _) ப (ுல்_L15 f + _) ப (ுல்கா f _) ப (ுல்டோசர b _) ப (ுல்லட் b _) ப (ுல்லா_ f _) ப (ுல்லாக்க b _) புல்லெட் bullet. _) பு (ளுடோனிய p + _) பு (ளூட்டோ p _) பு (ளூஸ b _) பு (ளோரிடா f _) ப (ுவன b @@ -3277,6 +3356,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ேஷன f _) ப (ேஷன்ட p _) ப (ேஷா b + _) ப (ேஸ்_பால b // base ball _) ப (ை_பை b _) ப (ைகுக்கு b _) ப (ைக்கின b @@ -3376,6 +3456,7 @@ _பெனசீர்_) ப (ுட்டோ b _) ப (ோஷி b _) ப (ோஸ b _) ப (ோஸிட b + _) ப (ோஸில p _) ப (ோஸ்_L22 p _) ப (ோஸ்ட p _) போ (ஸ்டன ba: @@ -3440,6 +3521,7 @@ _பெனசீர்_) ப (ுட்டோ b _பயன்) ப pV# _விகல்) ப pV# அடால்) ப fV# + அஷ்ரா) ப fV# _செயல்) ப pV# _ருடால்) ப fV# _ஷரீ) ப (+ fV# @@ -3483,6 +3565,7 @@ _விரகதா) ப (+ bV# ஆரிய) ப (ட்டா bV _நாக) ப (ட்டின pV ஸ்தா) ப (ண bV + _முன்) ப (ண pV அடி) ப (ணி pV அஸ்) ப (ண்ட bV _தின்) ப (ண்ட pV @@ -3538,6 +3621,7 @@ _சொந்த) ப (ந்த bV உ) ப (ந்நியாச pV ஓ) ப (ன pV _லிஸ்) ப (ன bV + _ஸ்டீ) ப (ன fV கல்) ப (னா pV _பின்) ப (னி pV _முன்) ப (னி pV @@ -3584,6 +3668,9 @@ _ஜெனி) ப (ர fV படைப்) ப (ல bV _முனிசி) ப (ல pV ஆயுதப்) ப (ல bV + _சம) ப (லங்கள bV + _சம) ப (லத்த bV + _சம) ப (லம bV _மகா) ப (லி bV _மூடு) ப (ல்லக் pV _மணி) ப (ல்லவ pV @@ -3626,6 +3713,7 @@ _வெளிப்) ப (ாக b ஈடு) ப (ாட p இடி) ப (ாட p _கட்டு) ப (ாட p + _துதி) ப (ாட p _மாசு) ப (ாட p _வசை) ப (ாட p _வழி) ப (ாட p @@ -3644,6 +3732,8 @@ _வெளிப்) ப (ாக b _யாழ்) ப (ாண p தண்ட) ப (ாணி p _சக்கிர) ப (ாணி p + ஆயுத) ப (ாணி b +நிராயுத) ப (ாணி b பஞ்ச) ப (ாண்ட p ப (ாண்டி p ஒரு) ப (ாத p @@ -3690,6 +3780,8 @@ _ப்ரின்சி) ப (ால p _கம்) ப (ாலா p _கா) ப (ாலி b ப (ால்_ p + _தன) ப (ால்_ b + அன்) ப (ால்_ b _டி) பால்ட fa:lt.V# _நே) ப (ாள p _தாழ்) ப (ாள p @@ -3705,6 +3797,7 @@ _ப்ரின்சி) ப (ால p _நவ) ப (ாஷ p _தமிழ்ப்) ப (ாஷ _b _பெல்) ப (ாஸ்ட f + _கல்) ப (ி f _கா) ப (ி f _குல்) ப (ி f _சில்) ப (ி p @@ -3720,6 +3813,7 @@ _தமிழ்ப்) ப (ாஷ _b வாலி) பிக (ேஷன fik _பசி) ப (ிக் f _கா) பிட(ல pit.V + அ) ப (ிடவிட f ஆள்) ப (ிடி p கண்டு) ப (ிடி p திமிர்) ப (ிடி p @@ -3761,6 +3855,7 @@ _ஞானப்) பிரக (ா prVk ஆ) பி (ரகாம b உட்) பி (ரகார p பிரக (ாஷ prVk + _ஹரி) பி (ரசாத p மதப்) பிரச (ார prVtS பிரச் (னை prVtS:i பி (ரதர b @@ -3782,6 +3877,12 @@ L03ந்தப்) பி (ரளய p பி (ராய p L03ந்தப்) பி (ராய p ஆ) ப (ிரிக்க f + _சிவ) பி (ரிய p +_சண்முக) பி (ரிய p +_லக்ஷ்மி) பி (ரிய p +_லட்சுமி) பி (ரிய p +_விஷ்ணு) பி (ரிய p +_ஷண்முக) பி (ரிய p போஜனப்) பி (ரியர p _ஸ்ரீ) பி (ரியா p _) பி (ரீயா f @@ -3815,8 +3916,10 @@ L03ந்தப்) பி (ராய p _மின்) ப (ுத்தக p _) புத்தம்ப (ுத puttVmp ராஜ) ப (ுத்திர p + _தர்ம) ப (ுத்திர p வாயு) ப (ுத்திர p அக்னி) ப (ுத்திர p + உத்தம) ப (ுத்திர p பாடலி) ப (ுத்திர p அக்கினி) ப (ுத்திர p வில்லி) ப (ுத்தூர p @@ -3874,6 +3977,7 @@ _கோலாலம்) ப (ூர p ப (ேரில்_ p அத்திம்) ப (ேர் b ப (ேர்_ p + _கல்) ப (ை f _பை_) ப (ை b அம்) ப (ையர p _ரு) ப (ையா p @@ -3956,6 +4060,7 @@ _விலை) ப (ோ p ப (ோல்_+ p ப (ோவத p _கம்) ப (ோஸ p + _கல்) ப் f _டே) ப (் p _போ) ப் p _லாக) ப் p @@ -3986,12 +4091,14 @@ _மைக்ரோசா) ப் (ட f _ர) ப்ப (ர bbV ஆ) ப்ப (ரிக்க fV தென்னா) ப்ப (ரிக்க fV + _ஹ) ப்ப (ர்ட bbV _துர்) ப்ப (ல bbV உ) ப்ப (லா bbV உ) ப்ப (லாக bbV உ) ப்ப (லான bbV _கள) ப்ப (லி bbV உயிர்) ப்ப (லி bbV + உ) ப்ப (லை bbV _உ) ப்ப (ல்_ bbV L03) ப்ப (ஸ bbV _ட) ப்ப (ா bb @@ -4015,6 +4122,7 @@ _யாதவ) ப்பி (ரகாச pp L03) ப்பி (ரகார pp _வெளி) ப்பி (ரகார pp அதிக) ப்பி (ரசங்க pp + L03) ப்பிரச (ார pprVtS _வன) ப்பி (ரதேச pp _காட்டு) ப்பி (ரதேச pp _நில) ப்பி (ரபு pp @@ -4293,6 +4401,7 @@ _சந்தேக) ப்ப (ுத்தி bb இ (லாவண்ய இலேக்க (ிய le:gg இ (லேச + இ (லையோலா //endsort .group உ @@ -4360,6 +4469,8 @@ _சந்தேக) ப்ப (ுத்தி bb _ச) ெள aU _ப) ெள aU _வ) ெள (வால aU + _ம) ெள (ரிய aU + _க) ெள (சல்ய aU ே e: diff --git a/dictsource/ur_list b/dictsource/ur_list index 080a46cd..73de5dee 100755 --- a/dictsource/ur_list +++ b/dictsource/ur_list @@ -211,7 +211,7 @@ _dpt _ISaRI'Ia_ تھیں t#'i:n $u // Pronunciation exceptions -پاکستان p'a:k'i:st'a:n +پاکستان p'a:k'Ist'a:n کچھ k'Uc# $u لنکس l'Ink,s لفظ l'afz. @@ -310,7 +310,6 @@ _dpt _ISaRI'Ia_ حجوم HUJ'u:m پرحجوم p,URHUJ'u:m تحفظ taH'afUz. -تحفظات t,aHafUz.'a:t حفاظت H,Ifa:z.'at ہمت HIm'at سمیت sam'e:t @@ -347,7 +346,6 @@ _dpt _ISaRI'Ia_ ڈاکٹر d.,a:kt.'aR اقبال ,Iqb'a:l جرم J'URm -اقتدار ,IqtId'a:R عشرت ,ISR'at نگران n,IgR'a:n نگرانی n,IgR'a:ni: @@ -527,7 +525,6 @@ _dpt _ISaRI'Ia_ حراست H,IRa:s'at بجلی b'IJl,i: اردگرد ,IRdg'IRd -ارتکاب ,IRtIk'a:b مشترکہ mUSt'aRka منتشر m,Unt'aSIR مہذب m,UHaD'ab @@ -579,7 +576,6 @@ _dpt _ISaRI'Ia_ جمعے J'Ume: منقسم m,Unq'asIm والدین v,a:lId'e:n -احمد ,EHm'ad گلشن g,UlS'an اسلوب ,Usl'u:b تحریک t,e:HR'i:k @@ -595,6 +591,22 @@ _dpt _ISaRI'Ia_ متاثر mUt'a:sIR بہر baH'aR وجوہ v'UJu:H +گہماگہمی g,EHma:g'EHmi +انور 'anvaR +عرصہ 'aRs.a +کدھر kId#'aR +عمران ,ImR'a:n +میٹنگ m'i:t.'Ing +حملہ H'amla +پرامن p,UR'amn +ملتان m,Ult'a:n +فرنٹ fR'ant. +نیشنل n,ESn'al +کمشنر k,amISn'aR +(موقع پر) m'Oqe:||p'aR +مصنوعی m,as.n'u:i +ذوالفقار D,UlfIq'a:R +بھٹو b#'Ut.o: منقلب m,Unq'alIb بجز b'aJUz تعیں ta'i:n $u @@ -604,8 +616,6 @@ _dpt _ISaRI'Ia_ رہ R'EH عہد 'EHEd انعقاد ,InIq'a:d -اختتام ,IxtIt'a:m -اختتامی ,IxtIt'a:mi: معتقدین m,OtaqId'i:n معتقد mOt'aqId لسٹ l'Ist. @@ -614,11 +624,9 @@ _dpt _ISaRI'Ia_ پولنگ po:l'Ing لہٰذا lIH'a:Da: الحق ,UlH'aq -حملہ H'aml,a: مصنوعی m,as.n'u:i: پیشکش p,e:Sk'aS باطن b'a:tIn -انور 'anvaR پرنٹ pRInt. جاوید Ja:v'e:d قیمت qi:m'at diff --git a/dictsource/ur_rules b/dictsource/ur_rules index 3955a0d5..6cbb6e55 100755 --- a/dictsource/ur_rules +++ b/dictsource/ur_rules @@ -50,6 +50,9 @@ ھ (_ H: ھ (l01 H +.group ٰ + ٰ a: + .group ا ا a: _) ا (L01 // Acts like Consonants if followed by a vowel but is silent. @@ -84,7 +87,6 @@ _) ای e: _) ایمان i:m'a:n _) اعت 'e:tI _) اضاف Iz'a:f - _) اختلاف ,IxtIl'a:f _) اسمبلی as'ambli: _) اٹھت 'Ut.#t _) اٹھن 'Ut.#n @@ -112,7 +114,11 @@ _) ای e: استعف Ist'i:f @) ات (_S2 'a:t _) انتظ 'Int,Iz. - احمق ,EHm'aq + _) اخت (L02 ,IxtI + _) اقت (L02 ,IqtI + _) اح (L02 'EH + _) است (L02 ,IstI + _) ارت (L02 ,IRtI .group آ آ a: @@ -129,10 +135,11 @@ _) ای e: عنوان Unv'a:n _) عمر 'UmR L02) عی (_ 'ai: + علیحد 'alEHd .group و و o: - وُ u: + وُ vU وٗ u: و (L01 v _) و vV @@ -202,7 +209,6 @@ _) ای e: _) بدل (L02 bad'al بوڑھ b'u:r.h _) بے (P2 b'e: - _) بھوت b#'u:t .group پ @@ -219,7 +225,6 @@ _) ای e: پوچھ p'u:c# پیچھ p'i:c# پھونک p#'u:nk - _) پور (L01 p'u:R .group ت ت tV @@ -248,8 +253,6 @@ _) ای e: ٹریفک t.R'e:fIk _) ٹکڑ t.'Ukr. _) ٹہ (L02 t.'EH - ٹس(_ t.s - _) ٹیم t.'i:m .group ث @@ -274,8 +277,6 @@ _) ای e: _) جمل J'Uml _) جہ (L02 J'EH _) جدا J'Uda: - _) جزب J'azb - _) جذب J'aDb .group چ چ cV @@ -286,8 +287,8 @@ _) ای e: چّ (L01 cc _) چکا c'Uka: _) چہ (L02 c'EH - _) چوم c'u:m _) چیز c'i:z + _) چوم c'u:m .group ح ح HV @@ -325,13 +326,13 @@ _) ای e: دیا(_ d'i:;a: درج d'aRJ دیوا d'i:va: - _) دوسر d'u:sR دفاع d'Ifa: _) دہ (L02 d'EH دنیا dUn'i:;a: دہشت d'EHS'at دلچسپ d,Ilc'asp دھیم d#'i:m + _) دوسر d'u:sR .group ڈ ڈ d.V @@ -341,7 +342,7 @@ _) ای e: ڈّ d.d.V ڈّ (L01 d.d. ڈھونڈ d.#'u:nd. - ڈز(_ d.z + @) ڈز (_ d.z .group ذ ذ DV @@ -408,7 +409,6 @@ _) ای e: سیدھ s'i:d# سیاست sja:s'at سرگرم s,aRg'aRm - ستہ(_ st,a .group ش ش SV @@ -552,7 +552,6 @@ _) ای e: مخبر m'Uxb,IR ملحق m'UlH,Iq مذہب m,aDH'ab - مرحل m,aRH'al .group ن ن nV @@ -581,6 +580,8 @@ _) ای e: نھ nH _) نکت n'Ukt _) نوا n'ava: + _) نما n'Uma: + _) نماز nam'a:z .group ں ں n // this should nasalize the vowel @@ -630,3 +631,4 @@ _) ای e: .group 0xe0a5 // devanagari 0xe0a5 _^_NE + diff --git a/phsource/ph_english_us b/phsource/ph_english_us index e1449dce..bd7c6d80 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -143,7 +143,7 @@ endphoneme phoneme A: vowel starttype #a endtype #a length 200 - IF nextPh(r) THEN + IF nextPhW(r) THEN FMT(vwl_en_us/ar) ENDIF FMT(vowel/aa_8) @@ -183,7 +183,7 @@ phoneme O: vowel starttype #o endtype #o length 200 ChangeIfDiminished(@) - IF nextPh(r) THEN + IF nextPhW(r) THEN FMT(vwl_en_us/oor) ENDIF FMT(vowel/0_3) diff --git a/phsource/ph_malayalam b/phsource/ph_malayalam index 1aba2c74..0adbc544 100644 --- a/phsource/ph_malayalam +++ b/phsource/ph_malayalam @@ -15,7 +15,7 @@ phoneme y // epenthetic vowel unstressed ipa ɨ length 80 - FMT(vowel/u#_4, 80) + FMT(vowel/u#_4, 120) endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index a3608cba..15aca447 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1949,4 +1949,3 @@ include ph_korean phonemetable kl base include ph_greenlandic - diff --git a/phsource/vdiph/ooi_3 b/phsource/vdiph/ooi_3 index 750eac6bc1c67ed836f42a0bffe31175d476dec8..01df3917c50738f1f81ad1bb6c28e87e46d364b8 100644 GIT binary patch delta 335 zcmZ2{mT~b}#trj%>KV9ZFwJ9%WME*3WYA#R$za6PAR@yg!xRM+iDH<;+`zD&*+D!4 zDAEHI>0z+q4q-^(I>7gU@c|7 ziF^U-0$~P*3ORz9%Ls7{Qtk1K@!Pb_Dr*Y?%IsxuGP$qKzC&! zxl50GG0` c)qn@t1ONX!NJlUsd*J{73OTjS1y05)0LceYU;qFB delta 321 zcmZ2{mT~b}#trj%>Ls~mFwJ9%WME*3WYA#R$za5^Swx0OhA9dt62&lwxq)FlbC!4n zP^1Sa(!*fI9m0^nb%XB#;{!$(Mg|5J#ydQV8Tff7BZ;i!JIv6__kazd2B?)mL0W?q zB=QBQ3xpXMD&*8AFHq#2cvok0IPX5;`UsF95d8nYnSlYxUG_|~fbMEQa@T6+MxeVK zkldxmy%^}O14yoT&$Aoot_CELJ$&|zy?h5y+~wq_Ak6@A*JL4H$<1pOEfg4|CO>mb Z6=C2(_Q3!D4$=-x6Zd;klatt_bp[ix] * 4; // parallel bandwidth peaks[ix].bp = (int)peaks[ix].bp1; - next = fr2->klatt_bp[ix] * 2; + next = fr2->klatt_bp[ix] * 4; peaks[ix].bp_inc = ((next - peaks[ix].bp1) * STEPSIZE) / length; peaks[ix].ap1 = fr1->klatt_ap[ix]; // parallal amplitude peaks[ix].ap = (int)peaks[ix].ap1; - next = fr2->klatt_ap[ix] * 2; + next = fr2->klatt_ap[ix]; peaks[ix].ap_inc = ((next - peaks[ix].ap1) * STEPSIZE) / length; } } diff --git a/src/numbers.cpp b/src/numbers.cpp index 84842019..485f2eb1 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -1414,6 +1414,7 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out // control bit 4: speak zero tens // control bit 5: variant of ordinal number (lang=hu) // bit 8 followed by decimal fraction +// bit 9: use #f form for both tens and units (lang=ml) int found; int ix; @@ -1458,9 +1459,13 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out // is there a special pronunciation for this 2-digit number if(control & 8) { - // is there a feminine form? - sprintf(string,"_%df",value); - found = Lookup(tr, string, ph_digits); + // is there a feminine or thousands-variant form? + sprintf(string,"_%dfx",value); + if((found = Lookup(tr, string, ph_digits)) == 0) + { + sprintf(string,"_%df",value); + found = Lookup(tr, string, ph_digits); + } } else if(is_ordinal) { @@ -1549,7 +1554,10 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out } if(found_ordinal == 0) { - sprintf(string,"_%dX", tens); + if(control & 0x200) + sprintf(string, "_%dXf", tens); + else + sprintf(string,"_%dX", tens); Lookup(tr, string, ph_tens); } @@ -1704,6 +1712,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null int ordinal; int tplex; int say_zero_hundred=0; + int say_one_hundred; char string[12]; // for looking up entries in **_list char buf1[100]; char buf2[100]; @@ -1772,6 +1781,8 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null x = 0; if(tr->langopts.numbers2 & (1 << tplex)) x = 8; // use variant (feminine) for before thousands and millions + if(tr->translator_name == L('m','l')) + x = 0x208; LookupNum2(tr, hundreds/10, x, ph_digits); } @@ -1784,6 +1795,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null if((hundreds == 0) && (say_zero_hundred == 0)) ph_100[0] = 0; suppress_null = 1; + control |= 1; } ph_digits[0] = 0; @@ -1838,7 +1850,17 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null } else { - if((hundreds > 1) || ((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) == 0)) + say_one_hundred = 1; + if(hundreds == 1) + { + if((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) != 0) + say_one_hundred = 0; + + if(((tr->langopts.numbers2 & NUM2_OMIT_1_HUNDRED_ONLY) != 0) && ((control & 1)==0)) + say_one_hundred = 0; + } + + if(say_one_hundred != 0) { LookupNum2(tr, hundreds, 0, ph_digits); } @@ -1894,6 +1916,11 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null x = 8; // use variant (feminine) for before thousands and millions } + if((tr->translator_name == L('m','l')) && (thousandplex == 1)) + { + x |= 0x208; // use #f form for both tens and units + } + if(LookupNum2(tr, tensunits, x | (control & 0x100), buf2) != 0) { if(tr->langopts.numbers & NUM_SINGLE_AND) diff --git a/src/phonemelist.cpp b/src/phonemelist.cpp index b514ddd2..80bf9f29 100644 --- a/src/phonemelist.cpp +++ b/src/phonemelist.cpp @@ -509,9 +509,10 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) if((plist3+1)->synthflags & SFLAG_LENGTHEN) { static char types_double[] = {phFRICATIVE,phVFRICATIVE,phNASAL,phLIQUID,0}; - if(strchr(types_double,next->type)) + if((j > 0) && (strchr(types_double,next->type))) { // lengthen this consonant by doubling it + // BUT, can't insert a phoneme at position plist3[0] because it crashes PrevPh() insert_ph = next->code; (plist3+1)->synthflags ^= SFLAG_LENGTHEN; } diff --git a/src/spectseq.cpp b/src/spectseq.cpp index 3c4c14b9..c74fdcba 100644 --- a/src/spectseq.cpp +++ b/src/spectseq.cpp @@ -773,7 +773,7 @@ void SpectSeq::InterpolateAdjacent(void) p->pkfreq = p1->pkfreq + int((p2->pkfreq - p1->pkfreq)*ratio); p->pkheight=p1->pkheight+int((p2->pkheight-p1->pkheight)*ratio); p->pkwidth = p1->pkwidth + int((p2->pkwidth - p1->pkwidth)*ratio); - p->pkright =p1->pkright + int((p2->pkright - p2->pkright)*ratio); + p->pkright =p1->pkright + int((p2->pkright - p1->pkright)*ratio); } frames[select]->keyframe = 1; formantdlg->ShowFrame(this,select,1,0xff); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 29be00ae..64a172a1 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.47.11 03.May.13"; +const char *version_string = "1.47.11a 18.May.13"; const int version_phdata = 0x014709; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index f9ad27e4..08fcb0b6 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -237,6 +237,7 @@ static const char transpose_map_latin[] = { tr->charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8 dictionary_name[0] = 0; + tr->dictionary_name[0] = 0; tr->dict_condition=0; tr->dict_min_size = 0; tr->data_dictrules = NULL; // language_1 translation rules file @@ -471,12 +472,13 @@ Translator *SelectTranslator(const char *name) static const short stress_lengths_ta2[8] = {230, 230, 240, 240, 0, 0, 260, 260}; static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; + tr = NewTranslator(); + strcpy(tr->dictionary_name, name); + // convert name string into a word of up to 4 characters, for the switch() while(*name != 0) name2 = (name2 << 8) + *name++; - tr = NewTranslator(); - switch(name2) { case L('a','f'): @@ -898,6 +900,8 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal); static const short stress_lengths_hr[8] = {180,160, 200,200, 0,0, 220,230}; static const short stress_lengths_sr[8] = {160,150, 200,200, 0,0, 250,260}; + strcpy(tr->dictionary_name, "hbs"); + if(name2 == L('s','r')) SetupTranslator(tr,stress_lengths_sr,stress_amps_hr); else @@ -1395,6 +1399,7 @@ SetLengthMods(tr,3); // all equal tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; tr->langopts.numbers2 = 0x100; // plural forms of millions etc tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator + tr->langopts.replace_chars = replace_cyrillic_latin; break; case L('s','q'): // Albanian @@ -1477,6 +1482,7 @@ SetLengthMods(tr,3); // all equal { tr->letter_bits_offset = OFFSET_MALAYALAM; tr->langopts.numbers = NUM_OMIT_1_THOUSAND; + tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY; } else if(name2 == L('k','n')) diff --git a/src/translate.cpp b/src/translate.cpp index 9c685341..e6f07949 100644 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -1735,7 +1735,8 @@ int SetTranslator2(const char *new_language) translator2->phoneme_tab_ix = new_phoneme_tab; } } - translator2->phonemes_repeat[0] = 0; + if(translator2 != NULL) + translator2->phonemes_repeat[0] = 0; return(new_phoneme_tab); } // end of SetTranslator2 diff --git a/src/translate.h b/src/translate.h index 212f06ef..4b9c8701 100644 --- a/src/translate.h +++ b/src/translate.h @@ -510,6 +510,7 @@ typedef struct { #define NUM2_MYRIADS 0x4000 #define NUM2_ENGLISH_NUMERALS 0x8000 #define NUM2_PERCENT_BEFORE 0x10000 +#define NUM2_OMIT_1_HUNDRED_ONLY 0x20000 // bits 1-4 use variant form of numbers before thousands,millions,etc. // bits 6-8 use different forms of thousand, million, etc (M MA MB) // bit9=(LANG=rw) say "thousand" and "million" before its number, not after @@ -519,6 +520,7 @@ typedef struct { // bit14=(LANG=ko) use myriads (groups of 4 digits) not thousands (groups of 3) // bit15=(LANG=ne) speak (non-replaced) English numerals in English // bit16=(LANG=si) say "%" before the number + // bit17=(LANG=ml) omit "one" before hundred only if there are no previous digits int numbers2; #define BREAK_THOUSANDS 0x49249248 From 32c11521157e0d41f60676d6f883da7e00b9d71f Mon Sep 17 00:00:00 2001 From: Gudeta Date: Sun, 19 May 2013 13:40:29 +0300 Subject: [PATCH 09/18] update files for OM language support --- dictsource/om_list | 40 +++++++++++ dictsource/om_rules | 143 +++++++++++++++++++++++++++++++++++++ espeak-data/voices/test/om | 2 + phsource/ph_oromiffa | 137 +++++++++++++++++++++++++++++++++++ phsource/phonemes | 2 + 5 files changed, 324 insertions(+) create mode 100644 dictsource/om_list create mode 100644 dictsource/om_rules create mode 100644 espeak-data/voices/test/om create mode 100644 phsource/ph_oromiffa diff --git a/dictsource/om_list b/dictsource/om_list new file mode 100644 index 00000000..46f2777c --- /dev/null +++ b/dictsource/om_list @@ -0,0 +1,40 @@ +// numeric +_0 duwa: +_1 tokko +_2 lem@: +_3 sedii +_4 afur +_5 S'an +_6 dZ'a:ha +_7 To:rba: +_8 seddeit: +_9 sagal +_10 kud@'n +_1X + ku'@ +_20 dig'dam@ +_2X dig'dami: +_3X sodomi: +_4X afU:rt@mI: +_5X S@nt@mi: +_6X dZat@mI: +_7X torbat@mi: +_8X s@de:t@mi: +_9X s@gal'tami: +_0C ib:'a +_1C ib:'atokko +_2C ib:'alama +_3C ib:'as@di +_4C ib:'a:furi +_5C ib:'a:S@ni +_6C ib:'a'dZa +_7C ib:'a'torb@ +_8C ib:'a's@de:ti: +_9C ib:'a'sag@li +_0of na +_0M1 kum@: +_0M2 miliyoni: +_0M3 biliyonI: +_dpt tuqa: +_. tuqa: +_roman roma:ni: \ No newline at end of file diff --git a/dictsource/om_rules b/dictsource/om_rules new file mode 100644 index 00000000..4bc8ea47 --- /dev/null +++ b/dictsource/om_rules @@ -0,0 +1,143 @@ +// Oromo translation rules + +.group a + a a + aa a: + + +.group b + b b + bb b: + + +.group c + c tS' + + +.group d + d d + dd d: + + +.group e + e e + ee e: + +.group f + f f + + +.group g + g g + gg g: + + +.group h + h h + + +.group i + i i + ii i: + + +.group j + j dZ + + +.group k + k k + kk k: + + +.group l + l l + ll l: + + +.group m + m m + mm m: + + +.group n + n n + nn n: + +.group o + o o + oo o: + + + + +.group p + p p + pp p: + + +.group q + q k + qq k: + + +.group r + r r + rr r: + +.group s + s s + ss s: + + +.group t + t t + tt t: + + +.group u + u u + uu u: + + +.group v + v v + + +.group w + w v + + +.group x + x t' + xx t': + + +.group y + y y + yy y: + + + +.group z + z ts + zz ts + + +.group ch + ch tS + + +.group sh + sh S + +.group ph + ph p' + + +.group dh + dh d' // http://en.wikipedia.org/wiki/Voiced_alveolar_implosive + + +.group ny + ny n^ \ No newline at end of file diff --git a/espeak-data/voices/test/om b/espeak-data/voices/test/om new file mode 100644 index 00000000..714f5c44 --- /dev/null +++ b/espeak-data/voices/test/om @@ -0,0 +1,2 @@ +name oromiffa +language om \ No newline at end of file diff --git a/phsource/ph_oromiffa b/phsource/ph_oromiffa new file mode 100644 index 00000000..3586c24f --- /dev/null +++ b/phsource/ph_oromiffa @@ -0,0 +1,137 @@ + +//==================================================== +// Oromiffa +//==================================================== + + +phoneme i + vowel starttype #i endtype #i + length 200 + IfNextVowelAppend(;) + FMT(vowel/ii_5) +endphoneme + +phoneme e + vowel starttype #e endtype #e + length 220 + FMT(vowel/e_mid2) +endphoneme + +phoneme y + vowel starttype #@ endtype #@ + ipa ? + length 180 + + // assume that word-final [y] are not added by am_rules + // Only allow [y] in first or last syllables +// IF thisPh(isFinalVowel) THEN +// ELIF thisPh(isFirstVowel) THEN +// ELSE +// ChangePhoneme(NULL) +// ENDIF + FMT(vowel/ii#_2) +endphoneme + + +phoneme a + vowel starttype #a endtype #a + length 220 + IF nextPhW(isPalatal) THEN + FMT(vdiph/ai_5) + ENDIF + FMT(vowel/a_6) +endphoneme + + +phoneme @ + vowel starttype #@ endtype #@ + length 220 + IF nextPhW(isPalatal) THEN + FMT(vdiph/@i_2) + ENDIF + FMT(vowel/@_3) +endphoneme + + +phoneme o + vowel starttype #o endtype #o + length 220 + FMT(vowel/o-_4) +endphoneme + + +phoneme u + vowel starttype #u endtype #u + length 220 + FMT(vowel/u_2) +endphoneme + + +phoneme r + import_phoneme base/R2 +endphoneme + + +phoneme p' + vls blb stop + lengthmod 2 + voicingswitch b + Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 gpaus + Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 + WAV(ustop/p_unasp) +endphoneme + + +phoneme b + vcd blb stop + IF prevPhW(isVowel) AND nextPhW(isVowel) THEN + ChangePhoneme(B) + ENDIF + CALL base/b +endphoneme + + +phoneme t` + vls alv stop + lengthmod 2 + voicingswitch d + Vowelin f1=0 f2=1700 -300 300 f3=-100 80 gpaus + Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + IF nextPh(isPause2) THEN + WAV(ustop/t_) + ENDIF + WAV(ustop/t_hi, 70) +endphoneme + + +phoneme tS` + vls pla afr sibilant + voicingswitch dZ + lengthmod 2 + Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus + + IF nextPh(isPause2) THEN + WAV(ustop/tsh_unasp, 80) + ENDIF + WAV(ustop/tsh_unasp, 80) +endphoneme + + +phoneme k` + vls vel stop + lengthmod 2 + Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4 + Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20 + WAV(ustop/k_ejc, 60) +endphoneme + + +phoneme x + vls vel frc + lengthmod 3 + IF prevPhW(#i) THEN + ChangePhoneme(C) + ELSE + CALL base/x + ENDIF +endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index a3608cba..3d468896 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1950,3 +1950,5 @@ include ph_korean phonemetable kl base include ph_greenlandic +phonemetable om base +include ph_oromiffa From acbbfd175dd0e71b1704c0d7016749c074df0a67 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Mon, 20 May 2013 10:17:41 +0100 Subject: [PATCH 10/18] autotools: compile the 'om' dictionary --- Makefile.am | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Makefile.am b/Makefile.am index 48c97e5a..88610c98 100644 --- a/Makefile.am +++ b/Makefile.am @@ -164,6 +164,7 @@ dictionaries: \ espeak-data/ne_dict \ espeak-data/nl_dict \ espeak-data/no_dict \ + espeak-data/om_dict \ espeak-data/pa_dict \ espeak-data/pap_dict \ espeak-data/pl_dict \ @@ -442,6 +443,12 @@ dictsource/no_extra: espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd .. +om: espeak-data/om_dict +dictsource/om_extra: + touch dictsource/om_extra +espeak-data/om_dict: src/espeak espeak-data/phontab dictsource/om_list dictsource/om_rules dictsource/om_extra + cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=om && cd .. + pa: espeak-data/pa_dict dictsource/pa_extra: touch dictsource/pa_extra From 500d2c9525c2098ee2b5232b62a390aafac3ef7d Mon Sep 17 00:00:00 2001 From: jonsd Date: Wed, 29 May 2013 10:09:12 +0000 Subject: [PATCH 11/18] [1.47.11b] Language updates: en, ga, hy, pt, sl, ta, vi git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@360 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/dict_phonemes | 30 +- dictsource/en_list | 102 +++++- dictsource/en_rules | 81 ++++- dictsource/ga_list | 14 +- dictsource/ga_rules | 68 ++-- dictsource/hy_rules | 66 ++-- dictsource/pt_list | 123 +++---- dictsource/pt_rules | 227 ++++++------ dictsource/sl_list | 98 ++++- dictsource/sl_rules | 14 +- dictsource/ta_rules | 20 +- dictsource/vi_rules | 745 ++++++++++++++++++--------------------- docs/voices.html | 2 +- phsource/compile_report | 41 ++- phsource/mbrola/in1 | 17 +- phsource/ph_armenian | 3 +- phsource/ph_irish | 11 +- phsource/ph_slovenian | 44 ++- phsource/ph_vietnam | 70 ++-- phsource/ph_vietnam_hue | 16 +- phsource/phonemes | 4 + src/intonation.cpp | 14 + src/readclause.cpp | 7 +- src/synthdata.cpp | 2 +- src/tr_languages.cpp | 5 +- src/translate.cpp | 10 +- src/voices.cpp | 5 +- 27 files changed, 1062 insertions(+), 777 deletions(-) diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index c4925e82..04fc27e4 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -148,7 +148,7 @@ p Q r R s s; t T ts v x z -Dictionary en_dict 2013-05-17 +Dictionary en_dict 2013-05-29 0 0# 3 3: @ @- @2 @5 @L a a# A: A@ aa aI aI3 @@ -236,7 +236,7 @@ p2 r r2 s S t t2 t3 tS v z Z z2 z3 -Dictionary ga_dict 2013-04-25 +Dictionary ga_dict 2013-05-18 0 0# @ a a# A: aI aI# aU aU# e E E# e: eI i @@ -245,8 +245,9 @@ U U# u1 u: u@ : ; b c C d d[ dZ f g h j k l m n -p Q Q" r R s S t -t[ tS v w x X z Z +N p Q Q" r R s S +t t[ tS v w x X z +Z Dictionary grc_dict 2008-03-03 @@ -299,7 +300,7 @@ S s2 t t2 tS ts v w z Z -Dictionary hy_dict 2013-05-03 +Dictionary hy_dict 2013-05-22 @ a aI e eI i i@ o u W y @@ -462,7 +463,7 @@ N n^ p r R s S t tS ts tS; v x z Z -Dictionary ml_dict 2013-05-18 +Dictionary ml_dict 2013-05-19 @ a a# a: aI aU e E e: i I i: o o: r- u @@ -574,7 +575,7 @@ S s; S; t t; tS ts tS; ts; v w x z Z Z; -Dictionary pt_dict 2013-05-09 +Dictionary pt_dict 2013-05-29 & &/ &U~ &~ @ @- a A aI aU e E eI EI eU EU @@ -642,15 +643,16 @@ s S t t; tS ts v w x z Z -Dictionary sl_dict 2013-05-16 +Dictionary sl_dict 2013-05-22 @ @- a e E E# i o O o+ u y -: b d dZ dz f g h -j k l l^ m n N n^ -p r R R^ s S t tS -ts tS; v v# w x z Z +* : ; b c d dZ dz +f g h j k l l^ m +n N n^ p r R R^ s +S t tS ts tS; v v# w +x z Z Dictionary sq_dict 2008-12-22 @@ -688,7 +690,7 @@ p Q R s S t T tS v w x z -Dictionary ta_dict 2013-05-10 +Dictionary ta_dict 2013-05-18 a a: aI aU e E e: i I i: o o: u U u2 u: @@ -739,7 +741,7 @@ s S s. t T t# t. t.# v w x z Z z. -Dictionary vi_dict 2013-04-21 +Dictionary vi_dict 2013-05-18 @ @- @: @:I @:U @I @U a a: a:I a:U aI aU e E eU diff --git a/dictsource/en_list b/dictsource/en_list index ca17dadc..9dc2e7fa 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -16,8 +16,8 @@ // ?7 Scottish // ?8 Use full vowel, not schwa in some word endings -// $alt1 use strong ending (-an, -table, -inal, -ier) -// $alt2 use weak ending (ard, ate, ery, ess, ile, men) +// $alt1 use strong ending (-an, -ance, -ative, -table, -inal, -ier) +// $alt2 use weak ending (ard, ate, ery, ess, ile, men, on) // $alt3 use weak first vowel, a->[a#], e->[@], o->[0#] // $alt4 separate 'h', not 'th' // $alt6 'to' @@ -318,6 +318,7 @@ _zh tS'aIni:z ћ tS;E: ђ djE: ќ kjE: +љ ljE: // Arabic letters @@ -605,6 +606,7 @@ sae $abbrev scsi skVzi ssip $abbrev st s@nt +tbsp teIb@Lspu:n th T thu T3: // Thursday ?5 thu TIR // Thursday @@ -618,6 +620,7 @@ upnp $abbrev url $abbrev usa $abbrev usb $abbrev +usda $abbrev ussr $abbrev utc $abbrev uv $abbrev @@ -899,6 +902,7 @@ aviary eIvi@ri awry a#raI axes aksI#z axon aks0n +ayuh a#j'@ backend bak'End backstory baksto@ri @@ -945,6 +949,7 @@ beta bi:t@ ?3 beta beIt@ betake bI2teIk beverage bEv@rI2dZ +bhaji bA:dZi bias baI@s biased baI@st bible baIb@L @@ -1056,6 +1061,7 @@ canton kant0n canvas kanv@s capita kapIt@ capitol kapIt@L +capri ka#pri: caprice ka#pri:s carafe ka#raf ?!3 caramel kar@mEl $onlys @@ -1135,7 +1141,8 @@ cigar sI2gA@ cigarette sIg@'rEt cinema sIn@m@ cinnamon sIn@m@n -circumference $2 +circumference s3:k'Vmfr@ns +circumstance $alt1 circumvent s3:k@mvEnt ?5 circumvent sIRk@mvEnt citadel sIt@dEl @@ -1208,6 +1215,7 @@ compat k@mpat // for compatible competed k@mp'i:tId competing k@mp'i:tIN competition k0mp@t'IS@n +?3 composite $2 compromise k0mpr@maIz compound $2 $verb ?3 comrade k0mrad @@ -1265,11 +1273,13 @@ copilot koUpaIl@t coral k0r@L ?3 cordial kO@dZ@L coronet k0r@nEt +corolla k@roUl@ corollary $2 corporal kO@pr@L corporate kO@p@r@t corps kO@ $only corral k@r'al +corsage kO@s'A:Z cosmos k0zm0s ?3 cosmos k0zmoUs cougar ku:g3 @@ -1304,6 +1314,7 @@ cutoff kVt0f cutout kVtaUt cyan saI'an cymru kVmri +cypress saIpr@s dahlia deIli:@ dais deIIs @@ -1319,6 +1330,7 @@ debunk di:b'Vnk debut deIbju: ?3 debut deIb'ju: decade dEkeId +decaf di:kaf decent di:s@nt decibel dEsI#b@L declaration dEkl@'reIS@n @@ -1488,6 +1500,7 @@ epitome I2pIt@mI epub i:pVb equal i:kw@L equation I2kweIZ@n +equipage EkwIpIdZ equivocal I2kwIv@k@L erase I2reIz // erasing erases eraser I2reIz3 @@ -1567,6 +1580,7 @@ favourites feIv@-rI2ts fedora fI2d'o@r@ feisty faIsti feline fi:laIn +felon $alt2 feminine fEm@nIn fete feIt fetus fi:t@s @@ -1575,6 +1589,7 @@ fiasco fi:'askoU fiat fi:@t fiery faI3rI ?3 fillet fI2leI +finagle fI#neIg@L finale fI2nA:li finance faInans $only finance $verb @@ -1663,6 +1678,7 @@ gimme gImi giraffe dZI2raaf github gIthVb glacier gleIS3 +goatee $2 ?3 goddess $alt2 goin ,goUI2n $only // for goin' gonna g,@n@ @@ -1692,6 +1708,7 @@ guinea gIni gurus gu:ru:z habitual $alt3 +hacienda hasI'End@ haggis hagIs haha hA:h'A: halation $alt3 // in- @@ -1715,6 +1732,7 @@ heineken haIn@k@n heist haIst helium hi:li@m helix hi:lIks +helluva hEl@v@ hello h@loU henceforth hEnsfo@T ?3 herb 3:b @@ -1734,6 +1752,7 @@ heroism hEroUIz@m heroine hEroUIn heron hEr@n herpes h3:pi:z +hiatus haI'eIt@s hideout haIdaUt hindus hIndu:z hiya haIa# @@ -1750,6 +1769,7 @@ hominem h0mInEm hooah h'u:'A: hopi hoUpi: horizontal $3 +hormonal ho@m'oUn@L (hors d'oeuvres) O@'d3:vz hospitable h0sp'It@b@L hostage h0stI2dZ @@ -1760,15 +1780,17 @@ house haUz $verb however $2 howto haUtu: hubris hu:brIs +hula hu:l@ humane $2 hunger hVNg3 -hurrah h@r'A: -hurrah hVr'eI +hurrah h@rA: +hurray h@reI hurricane hVrI2keIn ?3 hurricane h3:@keIn hussar hVz'A@ huzza h@z'A: huzzah h@z'A: +hydrangea haIdr'eIndZ@ hyperbola haIp'3:b@l@ hyperbole haIp'3:b@li hypoxia haIp'0ksi@ @@ -1832,6 +1854,7 @@ intake Int2eIk intel Int2El interim $1 intermediate Int3m'i:di@t +interment I2nt3:m@nt intern Int3:n $noun interrogatory $3 intestine I2ntEstI#n @@ -1870,6 +1893,7 @@ jasmine dZazmIn jedi dZEdaI jehovah dZ@hoUv@ jesus dZi:z@s +joie ZwA: jour ZU@ // french jukebox dZu:kb0ks july dZu:l'aI @@ -1880,7 +1904,7 @@ karate k@rA:ti kebab k@bab ?3 kebab k@bA:b kefir ki:f3 -hiatus haI'eIt@s +?3 khaki kaki kilo ki:loU kilometer kIl'0mI2t3 kilter kIlt3 @@ -1907,6 +1931,7 @@ labyrinth lab3rInT lager lA:g3 laity leI@ti landowner l'and,oUn3 +lapel $alt3 las ,las $only ?3 las ,lA:s $only lasagna l@zanj@ @@ -1953,6 +1978,7 @@ limousine lIm@zi:n lingerie l0nZ@ri ?3 lingerie l0nZ@r'eI linen lInI2n +linoleum $2 liqueur lI2kjU@ ?3 liqueur lI2k3: liter li:t3 @@ -2022,6 +2048,7 @@ marcel mA@s'El marquee mA@k'i: margarine mA@dZ3ri:n ?3 margarine mA@dZ3r@n +maroon $alt3 marquis mA@rk'i: marshall mA@S@L martinet $3 @@ -2050,10 +2077,13 @@ mercedes m3:s'eIdi:z //mercenary m3:s@n@rI merest mi@r@st meringue m@raN +merlot me@l'oU +mesa meIs@ meson mi:z0n metabolic mEt@b'0lIk metaphor mEt@fO@ metastable $alt1 +mezzanine mEz@ni:n miaou mi:'aU miaow mi:'aU mic maIk @@ -2157,6 +2187,7 @@ nescience nEsI@ns nicety naIs@ti nikon naIk0n ninja nIndZ@ +nitrous naItr@s noah noUV nobly noUblI $verbf nobody 'noUb0di @@ -2183,7 +2214,7 @@ obelisk 0b@lI2sk obesity oUb'i:s@ti obey oUb'eI obituary 0b'ItSU@i -?3 obituary 0b'ItSUe@i +?3 obituary oUb'ItSUe@i object $1 $onlys object $verb obsolete 0bs@li:t @@ -2287,6 +2318,7 @@ passersby pas3zb'aI pasted peIstI#d pasting peIstIN pastry peIstri +partake $2 pate pat2eI ?3 patent pat@nt pathe paTeI @@ -2321,6 +2353,7 @@ peruse p@ru:z petit p@ti: petite p@ti:t petroleum p@troUli:@m +?3 petulant pEtS@l@nt petunia $alt3 pharaoh fe@roU philistine fIlI2staIn @@ -2339,6 +2372,7 @@ piñatas pi:n^'ata#z piña pi:n^a# pineapple p'aInap@L pinged pINd +pinot pi:noU pint paInt pioneer paI@n'i@3 pious paI@s @@ -2588,6 +2622,7 @@ righteous raItS@s riposte rI2p0st risen rIz@n robust roUb'Vst +robusta $2 romance roUm'ans rotate $2 rotund roUt'Vnd @@ -2597,6 +2632,7 @@ rout raUt // for routed routine $2 row roU row raU $noun +royale rOI'al ruby ru:bi rugged rVgI#d ruin ru:I2n // for ruining @@ -2618,6 +2654,7 @@ salad sal@d salami $alt3 saline seIlaIn ?3 saline seIli:n +saliva $alt3 salmon sam@n ?3 salon $alt3 saloon $alt3 @@ -2657,7 +2694,6 @@ secretive si:kr@tIv secretary sEkr@trI sedan sI2dan sedate sI2deIt -seduce sI2dju:s sega seIg@ segue sEgweI separate sEp@-r@t @@ -2821,10 +2857,10 @@ tablet tabl@t taboo $2 tabu tabu: taffeta tafI#t@ +(tai chi) taI'tSi: takel tak@L talent tal@nt tallyho talI'hoU -timbre tamb3 tampon tamp0n tangerine tandZ@r'i:n taoiseach ti:S@x @@ -2843,6 +2879,7 @@ tear te@ $verb (tear off) t'e@||'0f teargas ti@3gas teddybear t'EdIb,e@ +tejano tI#hA:noU telemetry t@lEm@tri telepathy t@lEp@Ti telephony t@l'Ef@ni @@ -2858,6 +2895,7 @@ telephon tElI2foUn // for telephoning temperature tEmprI2tS3 ?!3 temporary tEmpr@rI ?3 template tEmpl@t +tetanus tEt@n@s therefore $1 thereof De@r'0v thermos T3:m@s @@ -2865,7 +2903,6 @@ thermostable $alt1 thesis Ti:sIs theta Ti:t@ tho DoU $only -thousand TaUz@nd throughout $2 thursday T3:zdeI ?5 thursday TVRzdeI @@ -2874,10 +2911,12 @@ tidy taIdi tierra tI'e@r@ tikka ti:k@ tilde tIld@ +timbre tamb3 timetable taImteIb@L timider tImId3 tiny taIni tirade taIr'eId +tiramisu tIramI'su: tis tIz $only toboggan t@b0g@n today t@deI @@ -2933,6 +2972,8 @@ twilight twaIlaIt twos tu:z typo taIpoU tyr taI3 +tyranny tIr@ni +?3 tyranny ti@3r@ni ukulele ju:k@l'eIli ultraviolet $3 @@ -2941,6 +2982,7 @@ unable Vn'eIb@L unaware Vn@w'e@ uncle VNk@L undeny VndIn'aI +underground $1 $noun underling $1 underlings Vnd3lINz underworld $1 @@ -2967,8 +3009,7 @@ upgrade $1 $onlys upgrade $verb uproot $2 uplift $2 -upset $1 $onlys -upset Vps'Et $past +upset $1 $noun upstart $1 uptight $2 urine jU@rIn @@ -2999,6 +3040,7 @@ veg vEdZ vegetable vEdZI2t@b@L vehicle vi@k@L vega vi:g@ +vegetative $alt1 veggy vEdZI vengeance vEndZ@ns ventriloquist $2 @@ -3023,6 +3065,7 @@ visa vi:z@ vitamin vIt@mI#n ?3 vitamin vaIt@mI#n vitriol vItri:@l +vivre vi:vr@- voila vwal'A: ?3 voila vwA:l'A: volcano v0lk'eInoU @@ -3060,6 +3103,7 @@ wind waInd $verb (winds up) w'aIndz||'Vp winded wIndI#d winged wINd +wino waInoU wither wID3 // not with+er without $2 wordprocessor $2 @@ -3140,6 +3184,7 @@ Malvern mO:lv3n Morecambe mo@k@m Norfolk nO@f@k Norwich n0rI2tS +Piccadilly $3 Plymouth plIm@T Regis ri:dZI2s Rhyl rIl @@ -3179,6 +3224,8 @@ Armageddon A@ma#g'Ed@n Arkansas A@k@nsO: Atlantis atl'antIs Athens aTI2nz +Augusta $2 +Baja bA:hA: Bahrain $2 Bangledesh baNgl@d'ES Barbados bA@'beId0s @@ -3307,6 +3354,7 @@ Levant l@vant Liberia laIb'i@ri:@ Lima li:ma# Ljubljana lju:blj'A:n@ +Lorraine $alt3 Louisiana lu:,i:zi:'an@ Luxembourg lVks@mb3:g Lvov l@-v0v @@ -3322,6 +3370,7 @@ Mandalay $3 Manhatten $2 Manila $alt3 Massachusetts $3 +Maui maUi: Maya maI@ Mayan maI@n Melbourne mElb3n @@ -3331,6 +3380,7 @@ Mexico $1 Miami maI'ami Michigan mISIg@n Milan $2 +Milwaukee $2 Mindanao mInd@n'aU Mineola mIni:'oUl@ Minneapolis mIni:'ap@lI2s @@ -3396,6 +3446,7 @@ Seville s@vIl Seychelle seIS'El Shanghai $2 Shiloh SaIloU +Shreveport Sri:vpo@t Siam saI'am Sicily sIsI2li Sinai saInaI @@ -3457,6 +3508,7 @@ Abe eIb Abu abu: Abraham eIbr@ham Ada eId@ $onlys +Adolphus $alt3 Adrian eIdri@n Agatha aga#T@ Aggie agi @@ -3486,6 +3538,7 @@ Andreas A:ndr'eI@s Angela andZ@l@ Angelika $2 Anita $alt3 +Annamaria an@ma#r'i:@ Anthony ant@ni Anton ant0n Aoife i:f@ @@ -3589,6 +3642,7 @@ Eva i:v@ Evan Ev@n Evette I2vEt Fainne fan;@ +Felipe fI#li:peI Freda fri:d@ Fírinne fi:rIn;@ Gareth gar@T @@ -3609,6 +3663,7 @@ Guido gwi:doU Guinevere gwInI#vi@3 Hadrian heIdri:@n Hamish heImIS +Harold har@Ld Harriet hari@t Harvey hA@vi Heidi haIdi @@ -3659,8 +3714,8 @@ Leroy li:rOI Liam li:@m Lindsay lInzi Lindsey lInzi -Llewellyn l#@w'ElIn -Llywelyn l#@w'ElIn +Llewellyn lUw'ElIn +Llywelyn lUw'ElIn Loinnir lVni@ Lois loUIs Louis lu:i @@ -3691,6 +3746,7 @@ Megan mEg@n Mellisa $alt3 Mellissa $alt3 Melissa $alt3 +Meredith mEr@dIT Michele mI2SEl Michelle mI2SEl Miguel mi:Q'El @@ -3780,6 +3836,7 @@ Thomas t0m@s Timothy tIm@Ti Tina ti:n@ Titania tIt'A:ni@ +Titus taIt@s Tracy treIsi Triani tri:'ani Trina tri:n@ @@ -3807,15 +3864,18 @@ Capone ka#poUn Carnegie kA@n@gi Cohen koU@n Connolly $1 +Cortez $2 Cthulhu k@-Tu:l#u: Chrysler kraIsl3 (da vinci) da#vIntSi Dante dA:nt2eI Deslauriers dI2lo@rIeI Deveraux dEv3roU +Digiorno dI#Zo@noU Disney dIzni ?3 Dolby doUlbi Dolce d0ltSeI +Dulles dVl@s Dvorak d@-vo@Zak Emory Em3ri Fleming flEmIN @@ -3826,9 +3886,11 @@ Guinness gInIs Gutierrez gu:tj'ErEz Hades heIdi:z Hamilton ham@Lt@n +Heinz haInz Hoosier hu:Z3 Jacobi dZa#koUbi Kendell kEnd@L +Khrushchev kru:StSEf Kyocera kaI|@s'i@r@ Lamaze la#mA:z Laurell $2 @@ -3838,6 +3900,7 @@ Medusa m@du:s@ Michelangelo maIk@L'andZ@loU Montague m0nt2@gju: Mozart moUtsA@t +Nietzsche ni:tSi Niro ni@roU Patel $alt3 Perez p3rEz @@ -3856,6 +3919,7 @@ Sanchez santSEz Shakur Sa#kU@ Tzu tsu: Versace v3sA:tSi +Volkswagen v'oUlksv,A:g@n Wii wi:: Yaesu jeIsu: Yamaha jam@hA: @@ -3952,6 +4016,7 @@ unto ,VntU upon @p0n $u2 from fr0m $u ?3 from frVm $u +(from the) fr,VmD@ (from where) %frVm||w'e@ $pause (from which) %frVm||w'ItS $pause up ,Vp $strend2 @@ -4162,6 +4227,8 @@ we'd wi:d $u $pastf I aI $u+ $verbf $only (I am) %aIa#m (I am) %aIam $atend +(I shall) %aIS,a#l +(I shall) aIS'al $atend he hi: $u $verbsf she Si: $u $only $verbsf it It $u $verbsf @@ -4171,6 +4238,8 @@ it It $u $verbsf ?3 (it was) %It||wVz $atend it $allcaps $abbrev we wi: $u $verbf $only +(we shall) w%i:S,a#l +(we shall) wi:S'al $atend you ju: $u $verbf they DeI $u $verbf @@ -4230,7 +4299,7 @@ whenever wEnEv3 $u2 $pause whoever hu:Ev3 $2 whatever w0tEv3 $2 $pause ?3 whatever wVtEv3 $2 $pause -while w,aIl $pause $strend +while w,aIl $brk $strend whilst w,aIlst $pause @@ -4269,9 +4338,12 @@ that Dat $u $nounf $strend2 $verbsf (that a) ,Dat@ $nounf (that an) ,Dat@n $nounf (that it) ,Da#tIt $verbsf +(that was) Da#t||w0z $atend (that one) D'atw,0n ?3 (that one) D'atw,Vn (that the) %DatD@2 +(that has been) Da#tha#zbIn $u+ +(that's been) Da#tsbIn $u+ these Di:z $u $nounf $strend2 $only those DoUz $u $nounf $strend2 $only there De@ $u $strend2 $only diff --git a/dictsource/en_rules b/dictsource/en_rules index ecd117e5..e96839b5 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -295,6 +295,7 @@ y) ache (_ eIk d) aches (_ eIks h) aches (_ eIks + k) aches (_ eIks r) aches (_ eIks rt) aches (_ eIks tr) ach (e @k @@ -323,6 +324,7 @@ _) ac (ri ak ac (ro ak m) acro (@ akr@ + ac (rum_ 'eIk _) ac (t ak ac (tory 'ak actu (A aktSu: @@ -465,7 +467,8 @@ ague eIg ag (a_ 'A:g agi (_ 'A:gI - @) agua (_ 'agju:@ + agua (_ 'agju:@ +?3 agua (_ 'A:gw@ .group ai _) ai eI @@ -514,6 +517,8 @@ _) al (ast al m) alay @l'eI _) al (b al + _) al (ban O:l + _) al (bani al _) alber (tA alb'3: _) al (c al alco (h alk@ @@ -658,6 +663,7 @@ h) al (v A: ?3 h) al (v a m) al (no %al + but) al (_ A:l .group am _) am (_ %am @@ -672,7 +678,7 @@ @erd) am (_ am ?!3 &h) am (_N @m &s) am (_ @m - @r) am (a_ 'A:m +?3 @r) am (a_ 'am _) am (al a#m amateur am@t3 ?3 amateur am@tS3 @@ -764,6 +770,7 @@ _f) an (at a#n pl) an (t_ an &) an (ce_ @n + &) an (ce_$w_alt1 an ?8 &) an (ce_ a#n fin) an (c 'an h) an (ce_ aan @@ -910,6 +917,7 @@ &l) ar (_ 3 &l) ar (ist 3 &m) ar (_ 3 + lun) ar (_ =3 _p) ara ar@ qu) ar (a 0r _p) ara (de @reI @@ -998,6 +1006,7 @@ @) ar (ity ar ar (iu+ 'e@r _p) arlia A@l@ + @) ar (ol @r arom (at a#roUm arre (_ A@ arred (_ A@d @@ -1108,6 +1117,7 @@ _s) ata (n eIt@ _g) ator eIt3 &) ate (_$w_alt2 @t + &) ately (_ @tli der) ated (_ eItI#d pal) ate (_ @t consul) ate (_ @t @@ -1122,12 +1132,14 @@ mper) ate (_ @t _it_separ) ate (_ @t par) ates (_ eIt|s + ct) ate (_ =eIt @) ated (++_ eItId _s) ate (ll at@ @) ati (_ 'A:ti at (im_ 'eIt @) ating (++_ eItIN &) at (ive @t + &) at (ive_$w_alt1 eIt // &) ately (_ @tl%I ul) at (ory 'eIt sen) at @t @@ -1174,7 +1186,7 @@ d) ata eIt@ f) at (al eIt str) at (eg at - m) at (er at + m) at (er@ at p) at (ern @t f) ath (er A:D b) ath aaT @@ -1323,6 +1335,8 @@ _) be (th bE be (tray bI2 _) be (w bI2 + d) bed (_ bEd + E) bed (_ bEd h) bed (_ bEd er) bed (_ bEd t) bed (_ bEd @@ -1560,7 +1574,7 @@ co (mplex_ k0 co (mplica k0 co (mplim k0 - co (mposit k0 + co (mposit k0# co (mpost k0 co (mpou k0 co (mprehen k0 @@ -1633,6 +1647,7 @@ _) co (rri k0 co (rro k@ co (rrup k@ + _) co (sm k0 _) costar koUstA@ _) counter (@P7 k'aUnt3 // prefix @@ -1776,6 +1791,7 @@ _) devas dEv@s de (via di: de (vil dE + de (vill d@ de (vio di: de (von dE @@ -1899,6 +1915,7 @@ _) e (ffac %I e (ffec %I e (ffic %I + e (ffica E efier (_ I2faI3 e (ful _) e (ffu %I @@ -1941,8 +1958,10 @@ e (qual i: _) e (quat %I _s) e (que i: - e (quip %I - equiv %IkwIv + _) equi (@ ,i:kwI# + _) equ (in@ Ekw + _) equi (p %IkwI + equiv (@ %IkwIv h) e (sion_ 'i: @) e (tio i: discr) e (tion E @@ -2096,6 +2115,7 @@ h) ed (ral 'i:d h) ed (ron 'i:d h) ed (ra 'i:d + @) ed (th_ @d @) edur 'i:dZ3 &) ed (y @d @@ -2145,6 +2165,7 @@ _) ele (g ElI _) elem ElIm _) ele (p ElI + _) el (er El sk) ele (t ElI# _) ele (va ElI el (igi 'El @@ -2161,6 +2182,7 @@ &) elling @lI2N &) eling @lI2N &) ell (ous @l + &) el (ous_ @l cib) el (_ El xc) el (_ 'El onn) el (_ 'El @@ -2184,6 +2206,7 @@ .group em _) em %Em _) em (a I2m + &) em (a_ @m &) em (_ @m em (ail i:m f) em (ale i:m @@ -2310,6 +2333,8 @@ mill) en (ia 'En l) eni (e i:nI v) eni (e i:nI + en (sia En + en (tsi En &) en (t_ @n ?8 &) en (t_ En @) en (tal 'En @@ -2591,7 +2616,7 @@ &l) et (_ @t j) et (_ Et s) et (_ Et - t) et (_ Et + t) et (_ 'Et @@An) et (_ Et phab) et (_ Et ber) et (_ eI @@ -2607,8 +2632,9 @@ .group eu eu ju: + l) eu u: ?3 n) eu u: -?3 n) eu (r U@ +?3 n) eu (r@ U@ r) eu (d OI eu (m_ 'i:@ s) eu (m_ 'i@ @@ -2714,8 +2740,6 @@ for (ward f'o@ // straightforward ft (en f &) ful (_S3i f@L - &) fully (_S5 f@li - &) fulness (_S7 f@Ln@s .group g g g @@ -2752,6 +2776,7 @@ gh (C g gh (an g gm (_ m + gm (y_ m gn (_ n _poi) gn nj _) gnu g@nu: @@ -2849,6 +2874,7 @@ i (CCi_ 'I XC) i (Ca_ i: @) i (Cate_ =I# + @) i (Cator_ =I# &) i (Cenc I &) i (Cent I @) i (Cer I @@ -2909,6 +2935,8 @@ _) ich Ik iche (_N 'i:S m) ichael 'aIk@L + l) ich (_ Ix + l) ich (er_ Ix &) i (ciCe_ =I i (cial 'I ician 'IS@n @@ -2998,6 +3026,7 @@ r) ia (b I2@ t) ia (b I2@ &) iage (_ I2dZ + &l) iage (_ I2I2dZ iah (_ 'aI@ ia (m i@ &) ia (n i@ @@ -3196,7 +3225,7 @@ imm (ig Im imm (in Im immo (bi Im'oU - imm (unis Im + imm (uniL06 Im _) immu (no I2mju: @) imous (_ =Im@s im (pac Im @@ -3304,6 +3333,7 @@ _) in (sole In _) in (somu In _) in (spir In + _) in (stag In _) in (stan In _) instant Inst@nt _) in (sti In @@ -3427,7 +3457,8 @@ ll) ion (_ =i@n n) ion =i@n v) io (l aI@ - ione (_ 'aI@ni + @) ione (_ 'aI@ni + ione (_ aI'oUni g) io (n+ @ m) io (n I20 sh) io (n @ @@ -3585,6 +3616,7 @@ &) itous =I#t@s l) itre i:t3 n) it (rA aIt + _n) itro (@ ,aItroU n) itro aItroU n) itro (ge aItr@ it (um aIt @@ -3647,6 +3679,7 @@ _) k (L01Y k _) k (hY k _) k (wY k + _) kh (r@@ k _) kj (e@ kj _) kn (Y n kn (if n @@ -3707,6 +3740,7 @@ ief) ly (_S2 l%i ff) ly (_S2 l%i of) ly (_S2 l%i + &ful) ly (_S2m l%i o) ly (_ l%i multip) ly laI &p) ly (_S2 l%i @@ -3850,8 +3884,8 @@ _) nano (P4 n,anoU nause nO:sI necessit n@sEsIt - &) ness (_S4i n@s -?8 &) ness (_S4i nEs + &) ness (_S4im n@s +?8 &) ness (_S4im nEs @) n (cC N @) n (ch n n (c_ N @@ -3920,7 +3954,7 @@ o 0 _) o 0 X) o 0# - X) o ($w_alt3 %0# + X) o ($w_alt3++ %0# _) o'(P2 %oU // prefix o'er o@ o (Ba_ 'oU @@ -3997,6 +4031,7 @@ _h) o (cu oU cr) o (cu oU o (cyte_ =@ + _) o (dA oU _b) o (dy 0 cust) o (d @ k) o (dA oU @@ -4172,6 +4207,7 @@ s) ol (idi @l f) ol (k oU y) ol (k oU + n) oll oUl p) oll (u @l r) oll oUl tr) oll (A 0l @@ -4186,6 +4222,8 @@ olo (gic @l'0 &) ol (ous_ @l olt oUlt + v) olt oUlt + v) ol (C 0l w) olv Ulv N_p) oly ,0lI _) ol (ym @l @@ -4233,6 +4271,7 @@ .group on @@) on (_ @n + @) on (_$w_alt2 @n ?8 @) on (_++ 0n %C) on (_ @n &b) on (_ @n @@ -4992,7 +5031,7 @@ _) re (creat ,ri: _) re (creati rE re (ct rE - re (dC rE + _) re (dC rE _) re (deCP2 ,ri: un) rede (C ,ri:dI2 re (dem+ rI2 @@ -5027,6 +5066,7 @@ re (act rI2 _c) re (mat rI2 rement rIm@nt + _) re (mons rE _) re (nC rE re (nova rE _) reper (t rEp3 @@ -5035,6 +5075,7 @@ re (pli rE re (prim rE re (pt rE + re (quis rE _) re (scu rE re (sidue rE res (ign rI2z @@ -5094,7 +5135,7 @@ _) s (va s _) s (ve s _) s (wY s - _) s (zY s + _) sz (@@ Sz sche (m ski: _) sch (ism sk @@ -5105,7 +5146,6 @@ _e) sch S ?3 sch (ed sk _) sch (il S - _) scar (A ske@ _) scar (a skar scarc ske@s sc (L02 s @@ -5148,6 +5188,7 @@ e) s (d z _) se (clu sI2 secur sI2kjU@ + _) se (duc sI2 self (_ 'sElf selves (_ 'sElvz _) semi (@@P4 s,EmI2 @@ -5370,6 +5411,7 @@ th (old th th (ole th _) th (om@ t + thousand TaUz@nd ph) th T smoo) th D wor) th (_ T @@ -5489,6 +5531,7 @@ @) u (da_ 'ju: ?3 @L08) u (da_ 'u: b) u (ddh U +?3 b) u (ddh u: u (esq ju: u (ga_ 'u: f) u (gal 'ju: @@ -5538,6 +5581,7 @@ d) u (ly ju: z) u (l_ 'u: &) um (_ @m + circ) um @m vol) u (me ju: u (ma_ 'u: h) u (man ju: @@ -5747,7 +5791,6 @@ ?3 _) vibra (t v'aIbreI vivi (@ vIvI viv (_ vaIv - _) vo (lC v0 .group w w w diff --git a/dictsource/ga_list b/dictsource/ga_list index d2ea684d..1e5d314b 100755 --- a/dictsource/ga_list +++ b/dictsource/ga_list @@ -1,7 +1,7 @@ // Irish Gaeilge dictionary // written by Ronan McGuirk // 2013 -// version 2.6.1 +// version 2.7 // Please send comments and suggestions to espeak.gaeilge@gmail.com // This file is UTF8 encoded @@ -29,7 +29,7 @@ _o oU p pi: q kju: r ar -s Es +_s Es t ti: $atend u ju: v vi: @@ -142,6 +142,7 @@ abhaile @w'0l;E ach 0x $u ag Eg $verbf $u anall @n'aUl +anam '0n@m aige @g'E air Er acu 0k'U @@ -149,13 +150,13 @@ ar Er $u arsa @rs@ agaibh 0g@Iv agus 0g@s +aisfhilleadh ,aS'Il;@ amach @m'0x amárach @m'A:r@x amuigh @mu1'I amháin @w'A:in am aUm anaithnid '0nah@nIdZ -anois @nIS anonn @naUn ann aUn anseo @nS'O @@ -183,6 +184,7 @@ chlainne xl'InE chun xUn $u crainn kri:n chrainn xri:n +cúlslais ku:lslaS de dE $u+ des dEs $u @@ -240,10 +242,10 @@ os o:s rabh raU raibh rEv raidió r'adi:o: -réamhrá r'e:@vr,a: réidh re: -'s s -samhain saUIn +rímhaith R'i:w0 +(s é) S'e: +(s í) S'i: san s@n seo S@_ tabhair t'u:@r diff --git a/dictsource/ga_rules b/dictsource/ga_rules index cef882c0..1f19d38e 100755 --- a/dictsource/ga_rules +++ b/dictsource/ga_rules @@ -2,7 +2,7 @@ // translation rules for Irish Gaeilge // This file is UTF-8 encoded // written by Ronan McGuirk 2013 -// Version 2.6.1 +// Version 2.7 // Please send comments and suggestions to espeak.gaeilge@gmail.com @@ -11,10 +11,10 @@ .L01 e i é í // slender vowels .L02 c ch d g gh n s // following ea gets ; sounds -.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid +.L03 b bh mb c ch f m mh dh p ph // used for words likemuir or cuid .L04 b bh mb // for words like beag .L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a -.L06 aidh idh aí á eá eadh adh ad adsa imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h +.L06 aidh idh aí á eá eadh adh ad ead adsaeadsa imid aimid imis aimis ainn ainnse inn innse idís aidís éin // word endings where f changes to h .L07 b c g ch bh gh mb .L08 lc ll nt bhse // for words like cailc .L09 cl cr chr f @@ -24,12 +24,12 @@ .L13 oc omb .L14 río dún gnío // followed with mh .L15 c ch f bhf m d dh g gc gh mh // aoi following -.L16 b c bh ch gr ghr // for inn word ending +.L16 b c bh ch gr ghr t th // for inn word ending .L17 l le li niste nn .L18 n nt nte neann neadh ntear nim nfear nfinn nfidh nfidis neamar .L19 na nea ra rea la llea arga // word endings with silent dh .L20 eo eoir eá eabh io iu iú // slender m -.L21 ll nn ndán nntán +.L21 ll nn nna nnta ndán nntán nntáin .L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine eann .L23 ea eo i .L24 b mb bh g gh p ph bp m mh @@ -41,6 +41,7 @@ adh (C aI abht aU#t[ amhr aUr // words like amhras + amha aU@ K) amhl aUl abh (C aU // words like slabhra aghaidh aIg @@ -56,6 +57,7 @@ X) a (nn_ aU# X) a (ll_ aU# abha aU@ + abhai aU@ am (pla aUm ama (_ aU#m@ athair 'ah@r @@ -64,7 +66,7 @@ agh (d aI agh (s aI _) ath 0h - + a (rraige a ai (m_ @ aí i: aoi @i: @@ -83,6 +85,7 @@ amhna (_ aUn@ arraing arIng _) ath (@@P3 ,0_ + _) athr '0hr .group á á A: @@ -99,16 +102,17 @@ ai a# L04) ai (L17 0# aile (_ '0l;E // words like baile - Xc) ai (l '0# - ch) ai (l '0# + Xc) ai (lA '0# + ch) ai (lA '0# m) ai (n 0# c) ai (th 0# ch) ai (th 0# + ai (lleach 0# ai (tín 0# ai (d 0# p) ai (l 0# @) ai (L11_ I - ai (L08+ aI# + ai (L08++ aI# c) ai (l_ I ai (msi 'aI // words like aimsir _L04) ai (L18_++ u1'I//words like bain @@ -118,7 +122,9 @@ X) aigh 'aI aigh aI# L04) aill (_ wi:l aing (_ Ing - ai (llimh '0 // words like Gaillimh + ailleach '0l;@x + ai (llimh++ '0 // words like Gaillimh + aidhm aIm .group b @@ -190,7 +196,8 @@ deirfiúr d;r@f'u:r dheirfiúr g;r@f'u:r _) do (Ch@@P2 d[,U_ - _) dí (@@P2 d,i: + _) dí (C@@P2 d,i: + dícheall d;'i:Ca#l .group e e E# @@ -206,6 +213,8 @@ eo o: eoi o: + eoi (CC_ o:I + eoi (g o:I eogha o: eoghai o: d) eo (ch O# @@ -214,6 +223,7 @@ s) eo (_ @ + .group é é 'e: éi 'e: @@ -251,8 +261,12 @@ fh (éin_ h fh (L22 ; // slender @) f (L06_ h + fios fIs + fhios Is _) fo (C@@P2 f,U _) fogh f'aU + _) forb f'Orb + _) foc (@++ fOk ?1 _bh_) f (@ ?1 _bh_) f (L22 ; @@ -284,6 +298,7 @@ i I _) i I ia i@ + iu U ia (tha i: io O# io (dá I @@ -319,8 +334,9 @@ ll (L23 l; l (g l@ l (b l@ + ll (b l _) lorg (@@P4 l,Or@g - _) lán (C@@P3 l,A:n + _) lán (@@P3 l,A:n .group m m m // broad @@ -344,14 +360,15 @@ ?1 _) n (_L01 n; _) nd n // urú _) nd (L01 n; // urú slender - _) ng n - _) ng (L01 n; + _) ng N + _) ng (L01 N; ?1 _) n (_d n // urú ?1 _) n (_dL01 n; // urú slender -?1 _) n (_g n -?1 _) n (_gL01 n; +?1 _) n (_g N +?1 _) n (_gL01 N; nn n - nn (L01 n; // slender + nn (L01 nj // slender + i) nn (_ N n (b n@ n (m n@ n (bh n@ @@ -394,6 +411,8 @@ _L15) oi (+ @'I _) oi (b I oi (de I + oi (di I + oi (c_ I h) oi (b I _) oi (r I r) oi I @@ -406,12 +425,14 @@ oi (nnío @ oi (mis @ ois (++ O#S + n) ois (_++ IS oill w'i:l _) oi (leá 'I oidh aI oir (_ 'ERR _sc) oi (r O oigh (ea aI + oighn aIXn .group p @@ -435,13 +456,14 @@ r (bh r@ s) r (A R _) ramh raU + _) réamh (@P5 r,e:v .group s s s // broad L01) s S // slender s (L01 S // slender - s (cL01 S + s (CL01 S s (CCL01 S // slender s (pCé s // broad ?1 _t_) s (@ @@ -482,10 +504,10 @@ uai u@ uai (g ui uai (d ui + uainn u:iN uá u:'A: ui I - ui (s U - ui (sce_ I + uinn (_ 'i:n uinti U#'i:ntI _b) uí wi: @@ -506,7 +528,10 @@ ú u: únmh u:nv - úi (r u: + úi u: + úinn (_ u:IN + úibh (_ u:Iv + // words which contain j k q v w x y z, speak as English @@ -521,6 +546,7 @@ .group v v _^_EN + véarsa ve:rs@ .group w w _^_EN diff --git a/dictsource/hy_rules b/dictsource/hy_rules index 053e38eb..775a89ed 100755 --- a/dictsource/hy_rules +++ b/dictsource/hy_rules @@ -19,15 +19,15 @@ .group բ բ b - _) բ (C b@ + _) բ (B b@ .group գ գ g - _) գ (C g@ + _) գ (B g@ .group դ դ d - _) դ (C d@ + _) դ (B d@ .group ե ե e @@ -37,8 +37,8 @@ .group զ զ z - _) զ (L01 @z - _) զ (C z@ + _) զ (L01+ @z + _) զ (B z@ .group է է e @@ -50,7 +50,7 @@ .group թ թ t# - _) թ (C t#@ + _) թ (B t#@ .group ժ ժ Z @@ -63,57 +63,57 @@ .group լ լ l - _) լ (C l@ + _) լ (B l@ .group խ խ X .group ծ ծ ts - _) ծ (C ts@ + _) ծ (B ts@ .group կ կ k - _) կ (C k@ + _) կ (B k@ .group հ հ h - _) հ (C h@ + _) հ (B h@ .group ձ ձ dz - _) ձ (C dz@ + _) ձ (B dz@ .group ղ ղ r" - _) ղ (C r"@ + _) ղ (B r"@ .group ճ ճ tS - _) ճ (C tS@ + _) ճ (B tS@ .group մ մ m - _) մ (C m@ + _) մ (B m@ C) մ (_ @m L02) մ (_ m .group յ յ j - _) յ (C j@ + _) յ (B j@ ?1 _) յ h -?1 _) յ (C h@ +?1 _) յ (B h@ .group ն ն n - _) ն (C n@ + _) ն (B n@ C) ն (_ @n L02) ն (_ n .group շ շ S _) շ (տ @S - _) շ (C S@ + _) շ (B S@ .group ո ո o @@ -126,63 +126,63 @@ .group չ չ tS# - _) չ (C tS#@ + _) չ (B tS#@ .group պ պ p - _) պ (C p@ + _) պ (B p@ .group ջ ջ dZ - _) ջ (C dZ@ + _) ջ (B dZ@ .group ռ - ռ R2 - _) ռ (C R2@ + ռ R + _) ռ (B R@ ?1 L02) ռ (L02 * .group ս ս s - _) ս (L01 @s - _) ս (C s@ + _) ս (L01+ @s + _) ս (B s@ .group վ վ v - _) վ (C v@ + _) վ (B v@ .group տ տ t // ?? [dd] - _) տ (C t@ + _) տ (B t@ .group ր ր r ?1 L02) ր (L02 r - _) ր (C r@ + _) ր (B r@ C) ր (_ @r L02) ր (_ r .group ց ց ts# - _) ց (C ts#@ + _) ց (B ts#@ .group ւ ւ v - _) ւ (C v@ + _) ւ (B v@ .group փ փ p# - _) փ (C p'@ + _) փ (B p#@ .group ք ք k# // ?? [kk] - _) ք (C k#@ + _) ք (B k#@ .group օ օ o .group ֆ ֆ f - _) ֆ (C f@ + _) ֆ (B f@ diff --git a/dictsource/pt_list b/dictsource/pt_list index 5923cbb1..4cb3303c 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -1,4 +1,3 @@ - // This file in UTF8 encoded // Options @@ -58,7 +57,7 @@ _à $accent // à can be a word _é $accent // é can be a word ê $accent í $accent -ó $accent +_ó $accent ô $accent õ $accent ú $accent @@ -341,6 +340,7 @@ elas $u+ $verbf me $u $verbf // reflexive te $u $verbf nos $u $nounf +vos vus $u la $u lo lU $u las $u @@ -405,7 +405,7 @@ numas $u $nounf por $u $nounf // by,for,through pelo $u $nounf -?2 pela $u $nounf p'el& +?2 pela $u $nounf ao $u $nounf à ,a: @@ -438,7 +438,7 @@ com $u // with // conjunctions ?1 e i $u // and ?2 e i $u // and -se $u+ // if +se $u+ $verbf // if ?2 mas $u // but @@ -475,7 +475,7 @@ se $u+ // if ?2 mal // as soon as, hardly ?2 (logo que) l'Oguki/ // as soon as ?2 (antes que) '&~NtSiski/ // before -?2 (depois que) dep'OIski/ // after +?2 (depois que) dep'oIski/ // after ?2 (sempre que) s'eNpriki/ // whenever ?2 enquanto // while @@ -645,7 +645,6 @@ jamais $u+ $verbf // $alt changes stressed [e] or [o] phoneme to open [E] or [O] // $alt2 changes stressed [E] or [O] phoneme to close [e] or [o] -abacaxi abakaSy abordo $alt aborto $alt $verb absorta $alt2 @@ -655,10 +654,8 @@ acocho $alt2 $noun acordo $alt $verb acervo $alt2 adepto $alt -adore $alt adorno $alt $verb aeroporto $alt2 -aeroportos $alt aflore $alt alcateia $alt alcova $alt2 @@ -690,19 +687,19 @@ assopro $alt2 $noun ateia $alt aterro $alt2 aterro $alt $verb -autora $alt2 avesso $alt2 axé aSE azeda $alt $verb azedo $alt $verb bairro b'aIxU banquete $alt2 +barreto $alt2 bastonete $alt2 beco $alt2 besta $alt2 bilhete $alt2 bissulfeto $alt2 -blazer bl'eIzer +blazer bl'eIzer blazers bl'eIzers boca $alt2 boceta $alt2 @@ -723,21 +720,19 @@ bromelha $alt broto $alt2 $noun cabresto $alt2 cacete $alt2 -cachorra $alt2 caderneta $alt2 cadete $alt2 -cãibra k'&~IbR& caibro k'aIbRU +cãibra k'&~IbR& caixeta $alt2 camelha $alt camiseta $alt2 canaleta $alt2 canhoto $alt2 -cantora $alt2 capacete $alt2 caractere $alt carbureto $alt2 -careta $alt2 +caroços $alt carrapeta $alt2 carreta $alt2 carroça $alt @@ -749,14 +744,14 @@ cedro $alt cefaleia $alt centopeia $alt cerebelo $alt2 -cerca $alt2 $noun +cerca $alt $verb cerco $alt $verb -cerda $alt cetro $alt chamego $alt2 $verb chaveta $alt2 chefe $alt checam $alt +chofer $alt choça $alt choro $alt2 $noun chovesse $alt2 @@ -775,7 +770,8 @@ colheres $alt $noun colmeia $alt colore $alt colosso $alt2 -colostro $alt2 +colossos $alt2 +colostro $alt2 começo $alt $verb comodo $alt2 concerto $alt2 $noun @@ -805,10 +801,11 @@ cotovelo $alt2 cratera $alt crede $alt2 credo $alt -crepe $alt decore $alt decoro $alt2 $noun degelo $alt2 +desaforo $alt2 +desamores $alt2 desapego $alt2 $noun descordo $alt desemprego $alt2 @@ -820,7 +817,6 @@ desmantelo $alt2 $noun despojo $alt2 $noun despojos $alt desporto $alt2 -desportos $alt desprezo $alt2 $noun desse $alt2 desse $alt $verb @@ -828,6 +824,7 @@ deste $alt2 deste $alt $verb desterro $alt2 destroem $alt +deteriore $alt deveras $alt dez $alt diarreia $alt @@ -835,18 +832,20 @@ diego $alt2 diogo $alt2 discordo $alt dissabores $alt2 +?1 dispneia dISpyn'EI& ?2 dispneia dZIspyn'EI& dobro $alt2 dobro $alt $verb doce $alt2 -dorminhoco $alt2 -doutora $alt2 +dorminhoco $alt2 +dorminhocos $alt doze $alt2 dueto $alt2 +edson $alt elixir eliSir emprego $alt2 emprego $alt2 $noun -encasqueta $alt +encasqueta $alt encosto $alt $verb endereço $alt $verb enforco $alt @@ -878,6 +877,7 @@ espeto $alt2 $noun espoleta $alt2 esposa $alt2 esqueleto $alt2 +ester $alt estilete $alt2 estorno $alt $verb estorvo $alt $verb @@ -888,14 +888,12 @@ eta $alt2 europa $alt europeia $alt exagero $alt $verb -exorto $alt +exorto $alt explore $alt faceta $alt2 falangeta $alt2 farofa $alt farolete $alt2 -febre $alt -feitora $alt2 fezes $alt filete $alt2 ?1 fixe fiSy @@ -950,7 +948,6 @@ gueto $alt2 hemorroida $alt hoje $alt2 horrores $alt2 -humores $alt2 ideia $alt inovo $alt interesse $alt2 @@ -964,34 +961,26 @@ jogos $alt joguete $alt2 lagosta $alt2 lambreta $alt2 -laser l'eIzer -lasers l'eIzers -lebre $alt -leitora $alt2 +laser l'eIzer +lasers l'eIzers lembrete $alt2 lepra $alt leste $alt2 $verb ?2 lhe l^y -lingueta $alt2 lisboeta $alt2 +livreto $alt2 lodo $alt2 logro $alt lopes $alt macete $alt2 -maior $alt -major $alt -maleta $alt2 maniçoba $alt marieta $alt2 -mariposa $alt2 +mariposa $alt2 marreta $alt2 megera $alt melhor $alt menor $alt -mentora $alt2 -merda $alt meta $alt $noun -meteoro $alt metro $alt minueto $alt2 miolo $alt2 @@ -1006,8 +995,6 @@ monera $alt morcego $alt2 morda $alt2 moreia $alt -mortos $alt -motora $alt2 mui mwi muleta $alt2 mureta $alt2 @@ -1018,8 +1005,8 @@ naquele $alt2 $nounf nervo $alt2 nojo $alt2 novelo $alt2 -novos $alt odisseia $alt +off $alt onu $1 olho $alt2 $noun olhos $alt @@ -1027,14 +1014,10 @@ onomatopeia $alt opereta $alt2 ordens $alt osso $alt2 -ossos $alt ostra $alt2 -ovos $alt -pachorra $alt2 paexa paeSa paella pa'el^& palacete $alt2 -paleta $alt2 palheta $alt2 palhoça $alt panfleto $alt2 @@ -1042,22 +1025,21 @@ pangeia $alt pantera $alt papoco $alt2 $noun parede $alt2 -pastora $alt2 peba $alt pedra $alt -pela $alt $verb +pela $alt2 pelo $alt2 -pelo $alt $verb +penhores $alt2 $noun +perda $alt2 pereba $alt +peres $alt peroba $alt -peses $alt +peses $alt peseta $alt2 peso $alt $verb piloto $alt2 $noun -pintora $alt2 pior $alt pipoco $alt2 $noun -pirueta $alt2 plateia $alt plebeia $alt polca $alt @@ -1068,9 +1050,7 @@ porra $alt2 porreta $alt2 porrete $alt2 porto $alt $verb -portos $alt pose $alt2 -povos $alt poxa p'oS& primavera $alt primores $alt2 @@ -1089,17 +1069,16 @@ reconstroem $alt recordo $alt recorto $alt rede $alt2 -redor $alt reembolso $alt $verb reforço $alt $verb reforços $alt refresco $alt $verb rego $alt2 $noun -reitora $alt2 relevo $alt2 $noun remoem $alt remorso $alt renovo $alt $verb +represa $alt2 retorno $alt $verb reuva x'EUv& rigores $alt2 @@ -1113,11 +1092,9 @@ rolo $alt2 $noun rota $alt2 rota $alt $noun rubores $alt2 -rumores $alt2 sabonete $alt2 sabores $alt2 saibro s'aIbRU -saleta $alt2 sarjeta $alt2 seborreia $alt seca $alt2 $noun @@ -1148,12 +1125,13 @@ suporto $alt suor suOr sutiã sutSi'&~N tabefe $alt +tapera $alt tapete $alt2 temores $alt2 tempero $alt2 $noun tenores $alt2 terrores $alt2 -teses $alt +teses $alt teta $alt2 togo $alt2 topo $alt2 $noun @@ -1162,7 +1140,6 @@ tornozelo $alt2 torre $alt2 $noun torres $alt2 torro $alt -tortos $alt toso $alt transtorno $alt $verb traqueia $alt @@ -1174,12 +1151,11 @@ troco $alt2 $noun tropa $alt tropeço $alt2 $noun trombeta $alt2 -tumores $alt2 -valeta $alt2 vanessa $alt2 vareta $alt2 vera $alt verbete $alt2 +verde $alt2 violeta $alt2 violoncelo $alt voga $alt @@ -1217,6 +1193,7 @@ blind bl'aind ?1 dj d,i:dZ'eI ?2 diesel dZ'izEU ?1 down d'a,wn +?2 down d'aUN ?1 download d'a,wnl'oud ?2 download daUNl'owd ?2 downloads daUNl'owds @@ -1231,11 +1208,13 @@ drivers dR'aIveRs ?2 Explorer ekspl'O*er ?1 eyes 'aiz ?2 eyes 'aIs +flash flES ?1 frame fr'eImy ?2 frame fR'eImi game g'eImy ?1 gmail g,em'eIl ?2 Gmail Zem'eIl +get gEt ?1 google g'u:g&l ?2 google g'ugol ?1 hardware 'ard,w'Er- @@ -1250,16 +1229,19 @@ happy x'Epy ?2 Intranet iNtRan'Et ?1 kernel k'Ern,El ?2 kernel k'Ern@l +left $alt laptop lEptOp +laptops lEptOps ?1 line l'ain layout l'eI,aUt ?2 login logiN ?1 lock l'Ok mail m'eIl mails m'eIls +marketing m'arketSiN ?2 mouse m'aUzi ?1 menu menu -?1 next n'Ekst +next n'Ekst ok Ok'eI ?2 offline Ofl'aIN ?2 online oNlaIN @@ -1270,6 +1252,7 @@ laptop lEptOp pizza p'its& python p'aIT&~N ?1 readme r'i:dmi: +right r'aIt ?1 sapi s,ap'i ?1 scanner sk'En&r sky sk'ay @@ -1288,6 +1271,7 @@ símbolo s'imbolU ?1 sporting sp'Ort,ing tab t'aby tablet t'ablet + tablets t'ablets taser t'eIzer ?1 telemóvel t,El,Em'OvEl ?1 telemóveis t,El,Em'OveIs# @@ -1296,6 +1280,7 @@ update &pd'eIt upgrade &pgR'eId upload &pl'oud ?2 web w'Eb +writer r'aIter ?1 yahoo 'i,ah'u ?2 yahoo iah'u ?1 yes j'Es @@ -1311,6 +1296,7 @@ louis _^_FR ?1 adobe &d'Oby android &NdR'Oid apple 'Epow +baby b'eIby chrome kR'owmi debian d'Ebj&~N ?1 excel ,Eks'El @@ -1321,7 +1307,9 @@ facebook feIsybuk ?1 fedora _^_EN firefox f'ai@fOks ?1 front fr'ont +high haI ?1 jaws dZ'au:z +lady l'eIdy ?1 linux l,in'uks ?2 linux l'inUks live l'aiv @@ -1356,6 +1344,7 @@ mac mEk ?2 Skype sk'aIp Slackware sl'akwe@- ?1 smart sm'art // nero StartSmart +?2 society sos'aIty speak spi:k suse z'u:ts@ ?1 start st'art // nero StartSmart @@ -1379,15 +1368,19 @@ darwin d'Arwin dijkstra d'ijkstrA: einstein _!'aInSt,aIn ?2 einstein _!'aInst,aIn +feuerbach _^_DE feynman f'ainm@n freud fR'OId friedrich fR'i:dRiS gauss g'aUs geisel g'aIzEU -gottfried g'Otfri:t +gottfried g'OtfRi:t +hegel x'egel +heidegger h'aIdege hawking h'o:king heisenberg h'aIzEnberg hitler h'itler +husserl x'usEl isaac iz'&k lavoisier lavwazj'e leibniz l'aIbni:ts @@ -1397,8 +1390,8 @@ newton n'i;utoN oppenheimer _!'Op@nh,aImar richard x'iS&rd riemann r'i:man -rijndael x'ain;d'al -?2 rousseau xus'o +rijndael x'ain;d'al +rousseau xus'o schrödinger Sr'edinger stephen st'i:v@n steve st'i:v diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 79c52688..dd8c2569 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -20,7 +20,7 @@ .L03 a am o .L04 a am e em o ue uem .L05 r ra ram re rem rde rmo -.L06 ra ram ste re rem rmo +.L06 r ra ram ste sse ssem re rem rmo .L07 sse ssem ste @@ -37,11 +37,7 @@ ?1 a (_a =&/ // ?? elide final a before a ?1 a (_à =&/ - a (C_ & - a (r_ 'a ?1 p) a (d_ =E - a (CC_ & - a (h_ a ?1 a (l_ 'A // eg: Portugal, capital, etc. ?1 a (lK ,A // Algarve, Almerinda, etc... ?2 al (K aU @@ -60,10 +56,7 @@ an (K+ &~N anh (A &~n^ am (_ =&U~ - a (t_ a - a (ts_ a - a (x_ a - a (z_ 'a //eg: paz, rapaz, capaz, etc... + ?1 C) acç 'a's // eg: selecção, etc... ai aI @@ -74,23 +67,23 @@ ao (_ aU au aU au (s aU - a (uCK a - âB) a (CA_ & - âBC) a (CA_ & - êC) a (CA_ & - êCC) a (CA_ & - ôB) a (CA_ & - ôBC) a (CA_ & - áC) a (CA_ & - áCC) a (CA_ & - éC) a (CA_ & + au (CK aU + âB) a (C@ & + âBC) a (C@ & + êC) a (C@ & + êCC) a (C@ & + ôB) a (C@ & + ôBC) a (C@ & + áC) a (C@ & + áCC) a (C@ & + éC) a (C@ & í) a (CA_ & - íC) a (CA_ & - íCC) a (CA_ & - óC) a (CA_ & - óCC) a (CA_ & - óC) a (CCA_ & - úC) a (CA_ & + íC) a (C@ & + íCC) a (C@ & + óC) a (C@ & + óCC) a (C@ & + úC) a (C@ & + úCC) a (C@ & ation (_ 'eIS&~N @@ -186,11 +179,9 @@ e (lh+ e e (ll+ E - e (bL02_ E - e (cL04_ E -@c) e (L07_ e + @c) e (L07_ e e (chL04_ E r) e (cho_ e @@ -209,10 +200,9 @@ h) e (gL04_ e - e (guL02_ E - e (lL04_ E - + C) e (pL04_ E + e (ptL04_ E i) e (r_ E qu) e (r_ E @@ -229,7 +219,7 @@ sp) e (rL04_ E f) e (rL04_ E - + e (rdL04_ E e (quL02_ E e (rbL04_ E e (rgL04_ E @@ -260,8 +250,8 @@ m) e (tL03_ e An) e (tA_ e on) e (te_ E -qu) e (ta_ e - e (vL04_ E + u) e (ta_ e + e (vL04_ E t) e (ve_ e e (rrAs_ E @@ -347,65 +337,60 @@ qu) e (ta_ e ef) e (tuL02_ e t) e (tra E - âC) e (CA_ e - âCC) e (CA_ e - êC) e (CA_ e - êCC) e (CA_ e - ôC) e (CA_ e - áC) e (CA_ e - áCC) e (CA_ e - íC) e (CA_ e - íCC) e (CA_ e - óC) e (Ca_ e - óCC) e (CA_ e - úC) e (CA_ e + âC) e (C@ e + âCC) e (C@ e + êC) e (C@ e + êCC) e (C@ e + ôC) e (C@ e + áC) e (C@ e + áCC) e (C@ e + éCCC) e (C@ e + íC) el (_ eU + íC) e (C@ e + íCC) e (C@ e + óC) e (C@ e + óCC) e (C@ e + úC) e (C@ e úC) el (_ eU ection (_ 'EkS&~N //sort _d) e (L05_ E - em) e (L05_ e // temeram, etc. rd) e (L05_ e // perderam, etc. _vi) e (L05_ E - end) e (L05_ e // entenderam, etc. fiz) e (L05_ E + oub) e (L05_ E // soubeste, etc. tiv) e (L05_ E // es- - viv) e (L05_ e - _com) e (L05_ e - _cos) e (L05_ e _pud) e (L05_ E - _coub) e (L05_ E _exag) e (L05_ E - _houv) e (L05_ E _mulh) e (L05_ E - _soub) e (L05_ E _talh) e (L05_ E -_escond) e (L05_ e _troux) e (L05_ E -respond) e (L05_ e + @m) e (L06_ e // temeram, etc. + end) e (L06_ e // entenderam, etc. + viv) e (L06_ e + _cos) e (L06_ e diss) e (L06_ E // contra- - m) e (L07_ e // comeste, etc. + _houv) e (L06_ E +_escond) e (L06_ e +respond) e (L06_ e eb) e (L07_ e // recebeste, etc. - eg) e (L07_ e // elegeste, etc. + eg) e (L07_ e // elegeste, etc. + _@o) e (L07_ e // doeste, etc. _cr) e (L07_ e - _do) e (L07_ e - _mo) e (L07_ e - _ro) e (L07_ e bat) e (L07_ e // re- com- ced) e (L07_ e // pro- con- su- - end) e (L07_ e // vendeste, etc. - met) e (L07_ e // meteste, cometeste, etc. + met) e (L07_ e // meteste, cometeste, etc. mex) e (L07_ e mov) e (L07_ e // re- co- olv) e (L07_ e // devolveste, etc. ond) e (L07_ e // escondeste, etc. orr) e (L07_ e // correste, etc. - viv) e (L07_ e // re- _ard) e (L07_ e - _cos) e (L07_ e _coz) e (L07_ e colh) e (L07_ e // & es- ench) e (L07_ e // pre- + romp) e (L07_ e // cor- inter- vert) e (L07_ e // in- re- con- _ergu) e (L07_ e _mord) e (L07_ e @@ -415,15 +400,12 @@ respond) e (L05_ e screv) e (L07_ e // e- in- ree- pre- de- _atrev) e (L07_ e _corro) e (L07_ e -_interromp) e (L07_ e _troux) e (L07_ E _ens) e (bL03_ E - _v) e (lhL03_ E _amanc) e (bL03_ E qu) e (brL04_ E - _cel) e (brL04_ E - _dilac) e (rL04_ E - _encarc) e (rL04_ E + cel) e (brL04_ E + _C) e (bre_ E _boch) e (chL04_ e _ex) e (crL04_ E _enr) e (dL01_ E @@ -439,10 +421,9 @@ _enver) e (dL03_ E estr) ei (L04_ EI _r) e (jL03_ E _inv) e (jL04_ E + _v) e (lhL03_ E + _caC) e (lo_ e ?2 el (ton_ 'EU - tr) e (pL04_ E // es- - _dec) e (pL04_ E - _in) e (ptL03_ E ad) e (quL04_ E _dig) e (rL02_ E _ing) e (rL02_ E @@ -456,7 +437,6 @@ _enver) e (dL03_ E _op) e (rL04_ E gen) e (rL04_ E // de- re- _alt) e (rL04_ E - _ent) e (sL04_ E _enc) e (rL04_ E _imp) e (rL04_ E _min) e (rL04_ E @@ -471,6 +451,8 @@ _enver) e (dL03_ E _exub) e (rL04_ E _temp) e (rL04_ E _adult) e (rL04_ E +_dilac) e (rL04_ E +_encarc) e (rL04_ E _incin) e (rL04_ E _persev) e (rL04_ E _recup) e (rL04_ E @@ -478,10 +460,7 @@ _refrig) e (rL04_ E _c) e (rcL02_ E _ex) e (rcL02_ E _alic) e (rcL02_ E - _p) e (rdL02_ E - _l) e (rdL03_ E - _h) e (rdL04_ E - _des) e (rdL04_ E + _esqu) e (rdL03_ e s_colh) e (res_ E _) e (rgL03_ e _re) e (rgL03_ e @@ -493,6 +472,8 @@ s_colh) e (res_ E _alic) e (rçL03_ E _p) e (sL01_ E _l) e (sL03_ E + _repr) e (sL03_ E + _ent) e (sL04_ E _refr) e (scL01_ E _d) e (scL02_ E _cr) e (scL02_ E @@ -502,6 +483,7 @@ s_colh) e (res_ E _p) e (squL02_ E _refr) e (squL02_ E _l) e (ssL02_ e + _ac) e (ssL02_ E _esp) e (ssL03_ e _c) e (stL03_ e _pr) e (tL03_ e @@ -509,6 +491,8 @@ s_colh) e (res_ E _rem) e (tL03_ e _derr) e (tL03_ e _obsol) e (tL03_ e + _Cal) e (ta_ e + _caC) e (ta_ e _sol) e (trL03_ E _pen) e (trL04_ E _n) eu (trL03_ 'eU @@ -517,8 +501,7 @@ _obsol) e (tL03_ e _atr) e (vL03_ e m) e (xL03_ e _r) e (zL04_ E - _pr) e (zL04_ E - spr) e (zL04_ E + pr) e (zL04_ E // des- _enf) e (zL04_ E _rev) e (zL04_ E _embel) e (zL04_ E @@ -526,7 +509,6 @@ _embel) e (zL04_ E p) e (çL03_ E _m) e (çL03_ E _entorp) e (çL03_ e -_caC) e (lo_ e //endsort @@ -553,7 +535,7 @@ _caC) e (lo_ e êm (C ''eIm ên (K ''eIN ênh ''en^ - êm (_ ''eIN + êu ''eU .group f @@ -610,6 +592,8 @@ _caC) e (lo_ e i (e i i (ã i i (õ i + i (á i + i (ó i i (ú i i (o i Cr) i i @@ -628,9 +612,7 @@ _caC) e (lo_ e in (k iN inh in^ - i (A_ 'i - i (am_ 'i - i (em_ 'i + i (L04_ 'i io (_ iU io (s_ iU @@ -661,6 +643,7 @@ _caC) e (lo_ e ?1 @) ings (_ _^_EN ?2 il (ton_ 'iU ?2 i (rton_ 'i +?2 ight (_ 'aIt ?1 ight (_ _^_EN ?1 ights (_ _^_EN @@ -782,9 +765,8 @@ _caC) e (lo_ e o (lvL02_ O - o (sA_ O + o (sL04_ O o (so_N o // not for osos_ - o (sAm_ O o (ssL04_ O @@ -832,12 +814,15 @@ _caC) e (lo_ e o (ze_ O o (rL04_ O c) o (re_ o - d) o (re_ o + @d) o (ra_ o + @d) o (re_ o + ri) o (re_ o l) o (re_ o - t) o (re_ o + s) o (ra_ o + s) o (re_ o + @t) o (ra_ o + @t) o (re_ o v) o (re_ o - - @@) o (rA_ o b) o (rL04_ O o (p_ O ?1 _) o (C O // eg: olá, orla, opção, etc... @@ -848,26 +833,27 @@ _caC) e (lo_ e ?1 _s) o (lu u // solução, soluções. ?1 interr) o (g u // eg: interrogação ?1 f) o (rmulá u // eg: formulário, formulários. -?1 v) o (lt O o (luem_ o o (ssuem_ o - êC) o (CA_ o - êCC) o (CA_ o - ôC) o (CA_ o - áC) o (CA_ o - - éC) o (CA_ o - éCC) o (CA_ o - í) o (CA_ U - íC) o (CA_ o - íCC) o (CA_ o - óC) o (CA_ o - óCC) o (CA_ o - úC) o (CA_ o - úCC) o (CA_ o + âBC) o (C@ o + êC) o (C@ o + êCC) o (C@ o + ôC) o (C@ o + áC) o (C@ o + áCC) o (C@ o + éC) o (C@ o + éCC) o (C@ o + í) o (CA U + íC) o (C@ o + íCC) o (C@ o + óC) o (C@ o + óCC) o (C@ o + úC) o (C@ o + úCC) o (C@ o //sort _f) o (L05_ o + _red) o (L05_ O _pormen) o (L05_ O _f) o (L07_ o _s) o (bL02_ O @@ -888,6 +874,7 @@ _pormen) o (L05_ O _emp) o (lgL04_ O _) o (lhL04_ O m) o (lhL04_ O + emb) o (lsL02_ O _env) o (ltL03_ o ent) o (pL02_ O _c) o (pL03_ O @@ -900,28 +887,30 @@ _pormen) o (L05_ O _) o (ptL04_ O p) o (rL02_ o _dev) o (rL02_ O + _apav) o (rL02_ O _defl) o (rL02_ O _impl) o (rL02_ O - _inod) o (rL03_ O -_inson) o (rL03_ O -_comem) o (rL04 O - _enam) o (rL04_ O -_aprim) o (rL04_ O -_remem) o (rL04_ O + _ad) o (rL04_ O + _ma@) o (r_ O + _@um) o (re_ o f) o (rmL03_ O c) o (rrL01_ o // incorra, corra, etc. _m) o (rrL01_ o - @p) o (rtL03_ O // importo, etc. + _Cach) o (rra_ o + @p) o (rtL03_ O // importo, etc. + ortos (_ O*@-t=Us# // tortos, mortos, etc.ortos (_ 'O*@-tUs t) o (rçL03_ o // con- _r) o (snL04_ O _c) o (spL02_ O _enr) o (squL02_ O - p) ostos (_ Ost=Us# // dispostos etc. + ossos (_ Os=Us# // nossos, grossos, etc. + p) ostos (_ Ost=Us# // dispostos etc.ortos (_ 'O*@-tUs _gar) o (tL03_ o _mar) o (tL03_ o _escr) o (tL03_ o _ch) o (vL01_ o pr) o (vL03_ O + ovos (_ Ov=Us# novos, povos, etc. _g) o (zL04_ O _esb) o (çL01_ O _r) o (çL03_ O @@ -963,6 +952,8 @@ _remem) o (rL04_ O ?3 p (t p ?3 p (_C p_ ph f + play pl'eI +?2 _) práxis (_ pR'aksis .group q @@ -974,6 +965,8 @@ _remem) o (rL04_ O qu (Y k qu (K ku _) que (_ ky +?2 por_) que (_ ke +?2 por_) que (_é ky ?1 _) qua kwa // quatro, etc. ?1 _) que ke // quente, etc. ?1 _) quei (C k'eI // queira, queima, etc @@ -1012,8 +1005,8 @@ _remem) o (rL04_ O r (_ r r (C *@- A) r (A * - r (_A * - ?2 r (_h * + r (_A * + r (_h * C) r (A R rr x _) r x @@ -1157,9 +1150,11 @@ _remem) o (rL04_ O a) x (ar S a) x (ei S xA) x (A S +_abaca) x (i S ale) x (a S bau) x (A S brA) x (A S + _bu) x (o_ S bY) x (A S _ca) x (A S _co) x (A S diff --git a/dictsource/sl_list b/dictsource/sl_list index ac6e863e..0f79b20c 100755 --- a/dictsource/sl_list +++ b/dictsource/sl_list @@ -5,6 +5,7 @@ // $alt1 open vowel [E] or [O] in the stressed syllable // $alt2 open vowel [o] or [o] in the stressed syllable // $alt3 short stress on final syllable +// $alt4 final 'e' is schwa // letter names @@ -44,11 +45,81 @@ y 'ipsilon ü $accent ß 'o:stri||s'@ +а a: +б b@ +в v@ +г g@ +д d@ +е e: +ё jo: +ж Z@ +з z@ +и i: +й ,ik@-*'atkOji +к k@ +л l@ +м m@ +н n@ +о o: +п p@ +р R@ +с s@ +т t@ +у u: +ф f@ +х x@ +ц ts@ +ч tS@ +ш S@ +щ StS@ +э E: +ю ju: +я ja: +ћ tS;@ +ђ dj@ +ќ kj@ + + // accent names -_dia sprEgl'asom +_dia spREgl'asom // languages -_cyr tsiR'i:litSno +_cyr tsiR'i:litSni + +// symbols + +@ 'a:fna +# l'e:stvitsa +$ d'o:laR +% Otst'o:tOw +& 'i:n +* zv'e:ditsa ++ plu:s += En'akO +/ pOS'e:wnitsa +\ l'e:va||pOS'e:wnitsa +_. p'i:ka +_! klic'a:j +_? upRaS'a:j +_" naREkOv'a:j +_' En'o:jni||naREkOv'a:j +_` OstR'i:vEts +_, v'e:jitsa +_- pOS'e:wnitsa +_: dv#'o:p'i:tSjE +_; p'Odp'i:tSjE +_( OklEp'a:j +_) zaklEp'a:j +_[ Og;'a:ti||OklEp'a:j +_] Og;'a:ti||zaklEp'a:j +_{ zav'i:ti||OklEp'a:j +_} zav'i:ti||zaklEp'a:j +_… El'i:psa +__ pOttS@Rt'a:j +_< jE||m'a:njSe +_> jE||v'etSjE +_| nawp'i:tSna||tS'@Rta + // numbers _0 n'i:tS @@ -154,12 +225,19 @@ bili $u // exceptions // (these are just a few example exceptions) -deset $2 -devet $2 -dim $alt3 -ena $alt1 -oba $2 -šel S@w -tisoč $1 -žena $alt1 +deset $2 +devet $2 +dim $alt3 +ena $alt1 +oba $2 +osem $alt4 +poševnica $2 +sedem $alt4 +šel S@w +tisoč $1 +žena $alt1 + +// names +estonija $2 +slovenija $2 diff --git a/dictsource/sl_rules b/dictsource/sl_rules index d844b8df..8c5de2fe 100755 --- a/dictsource/sl_rules +++ b/dictsource/sl_rules @@ -13,6 +13,7 @@ a (X$w_alt3+ 'a a (č_ 'a: + a (j_ 'a: a (l_ 'a: @@ -39,6 +40,7 @@ e (X$w_alt3+ 'E ee i: + e (X$w_alt4 @ @) e (n_ E# @C) e (r_ E# @@ -64,9 +66,6 @@ i (X$w_alt3+ 'i i (A j - @) i (jL03_ =i - r) i (jL03_ i: - z) i (jL03_ i: i (l_ 'i: .group j @@ -94,6 +93,7 @@ m (g N m (k N K) m (K m@- // unstressed + K) m (r m .group n @@ -102,6 +102,7 @@ n (k N K) n (K n@- // unstressed + K) n (r n nj n^ nj (A nj nj (i n^ @@ -116,6 +117,7 @@ o (L04+ o: o (č_ 'o: + o (j_ 'o: o (l_ 'o: oo u: @@ -137,6 +139,7 @@ .group s s s + sch S .group š @@ -154,6 +157,7 @@ u (A w A) u (K w + C) ue (C u: // German names .group v @@ -161,7 +165,7 @@ v (-A+ v // preposition 'v' before a vowel A) v (K w K) v (K %u - v (r v + v (r+ v L01) v (A v# @@ -203,5 +207,3 @@ ü y: ß _^_DE - $ d'olaR - diff --git a/dictsource/ta_rules b/dictsource/ta_rules index a9fd9127..8afdfb07 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -429,7 +429,9 @@ _மன்மதக்) க (ுகை g _) க (ுருகுல g _) க (ுருக்கள g _) க (ுருக்குல g + _) க (ுருக்ஷேத்திர g _) க (ுருசாமி g + _) குருச (ேத்திர gurUs. _) க (ுருஜி g _) க (ுருதேவ g _) க (ுருநா g @@ -446,6 +448,7 @@ _மன்மதக்) க (ுகை g _) க (ுருமூர்த்தி g _) க (ுருரா g _) க (ுருவடி g + _) க (ுருவம்ச g _) க (ுருவருள g _) க (ுருவா g _) க (ுருவாய g @@ -457,6 +460,8 @@ _மன்மதக்) க (ுகை g _) க (ுருவை g _) க (ுருவோ g _) க (ுருவோட g + _) க (ுருஷேத்திர g + _) கு (ரூப் g _) க (ுலாப g _) க (ுலாம g _) க (ுலேபா g @@ -589,7 +594,7 @@ _மன்மதக்) க (ுகை g _கோபி) க kV# _ஸ்டா) க kV# _ஜமாய்) க kV# -_வெங்) கட kVt.V# + _வெங்) கட kVt.V# அலை) க (டல kV சமையல்) க (ட் kV உச்ச) க (ட்ட kV @@ -679,6 +684,7 @@ _ஹன்L04ி) க (ா k சித்திரலே) க (ா k _ஹாங்) க (ாங் k _தென்) க (ாசி k + _சு) க (ாசினி H அ) க (ாடமி k _நேர்) க (ாணல k _கண்) க (ாணா k @@ -771,7 +777,9 @@ _டா) குமெண்ட kUmen.tV# L03து) க (ுறித்த k அரை) க (ுறை k _கீழ்) க (ுல k + _ரா) க (ுல H அரச) க (ுல k + இரா) க (ுல H ராஜ) க (ுல k _குரு) க (ுல k _கோ) க (ுல k @@ -889,6 +897,7 @@ _சத்தியா) க்கி (ரஹ gg _மு) க்க (ுண gg L03) க்க (ுண gg _போர்) க்க (ுண gg + _கை) க்க (ுண்ட gg அணு) க்க (ுண்ட gg _கோலி) க்க (ுண்ட gg _வெடி) க்க (ுண்ட gg @@ -3234,7 +3243,7 @@ _பெனசீர்_) ப (ுட்டோ b _) பு (ரோட்டான p _) பு (ரௌச b _) ப (ுல்_L15 f - _) ப (ுல்கா f + _) புல்க (ா fulk _) ப (ுல்டோசர b _) ப (ுல்லட் b _) ப (ுல்லா_ f @@ -3509,6 +3518,7 @@ _பெனசீர்_) ப (ுட்டோ b //endsort //sort + _நீர்) ப pV# _ப்ரூ) ப fV# இடர்) ப pV# நடை) ப pV# @@ -3522,6 +3532,7 @@ _பெனசீர்_) ப (ுட்டோ b _விகல்) ப pV# அடால்) ப fV# அஷ்ரா) ப fV# +_ஒL10ி) ப pV# _செயல்) ப pV# _ருடால்) ப fV# _ஷரீ) ப (+ fV# @@ -3531,6 +3542,7 @@ _ருடால்) ப fV# அநுதா) ப (+ bV# அனுதா) ப (+ bV# பிரஸ்தா) ப (+ bV# +_கோபதா) ப (+ bV# _பச்சாதா) ப (+ bV# _விரகதா) ப (+ bV# மனஸ்தா) ப (+ bV# @@ -3644,8 +3656,6 @@ _சொந்த) ப (ந்த bV கா) ப (ர bV _ஜெனி) ப (ர fV நாகா) ப (ரண bV - _ஒலி) ப (ரப் pV - _ஒளி) ப (ரப் pV வீர) ப (ராக்கிரம pV _மறு) ப (ரிசீலனை pV ஆ) ப (ரேசன pV @@ -3943,7 +3953,6 @@ _ஷண்முக) பி (ரிய p ராம்) ப (ூர p _கோலாலம்) ப (ூர p அ) ப (ூர்வ b -ஒL10ி) ப (ெ p இன்ஸ்) ப (ெக்டர p _) பெஞ்ச (ா_ pen^dZ _) பெஞ்ச (ாலும pen^dZ @@ -4310,6 +4319,7 @@ _சந்தேக) ப்ப (ுத்தி bb பெர்னாண்ட) ஸ zV# _ம) ஸ்த (ூர zd அரி) ஸ (ோன z + _சூய) ஸ zV# .group ஹ ஹ HV diff --git a/dictsource/vi_rules b/dictsource/vi_rules index e0479fb7..f6b8d6d1 100644 --- a/dictsource/vi_rules +++ b/dictsource/vi_rules @@ -78,101 +78,119 @@ ỵ ỵ // Consonants //================================ .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge -.L02 n +.L02 n a .L03 t ch nh - +.L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ .group b b b _) b _b //b($w_alt2 _^_EN - - + .group c c g //k c (_ kh - _) ch tS; // try [tS;] [tS] [c] c -?2 _) ch c -?1 _) ch c - ch (_ c - ce (_ _^_EN + _) ch tS; // try [tS;] [tS] [c] c +?2 _) ch c +?1 _)ch c + ch (_ c + ce (_ _^_EN _) cl _^_EN - - - - + + + .group d - d J^ // try [z] [J] [dZ] [dZ;] [J^] + d z // try [z] [J] [dZ] [dZ;] [J^] +?2 d J^ +?1 d J^ + d (_ _^_EN - - - - + + + .group đ đ d _) đ _d - - - - + + + .group f //f f _) f _^_EN f (_ _^_EN - - - + + .group g - g Q // try [g] [Q] + g (L04 Q // try [g] [Q] gh Q // or [g] [Q] - //g (i J^ // try [D] [z] [j] [J^] [z;] [J] [dZ] - //g (ì J^ - //g (í J^ - //g (ỉ J^ - //g (ĩ J^ - //g (ị J^ - gi J^ + gi z // try [D] [z] [j] [J^] [z;] [J] [dZ] + g (ì z + g (í z + g (ỉ z + g (ĩ z + g (ị z + +?1 g (ì J^ +?1 g (í J^ +?1 g (ỉ J^ +?1 g (ĩ J^ +?1 g (ị J^ + +?2 g (ì J^ +?2 g (í J^ +?2 g (ỉ J^ +?2 g (ĩ J^ +?2 g (ị J^ + +?1 gi J^ +?2 gi J^ ?1 giết J^'iE3g - giết J^'iE3t[ - giếc J^'iE3kh +?2 giết J^'iE3g +?1 giếng J^'iE3N +?2 giếng J^'iE3N +?1 giêng J^'iE1N +?2 giêng J^'iE1N + + giết z'iE3t[ + giếc z'iE3kh + giêng z'iE1N + giếng z'iE3N + giểng z'iE4N + giễng z'iE5N + giệng z'iE6N + ?1 giệt J^'iE6g - giệt J^'iE6t[ - giệc J^'iE6kh + giệt z'iE6t[ + giệc z'iE6kh _) gol _^_EN _) gat _^_EN - ght (_ _^_EN - - - + ght (_ _^_EN + + .group h h h - - - +?2 hu w + .group j j Z - - - + + .group k k k //k (_ kh kh x k (_ _^_EN - - - + + .group l l l l (_ _^_EN le (_ _^_EN - - - + + .group m m m - - - + + .group n n n ?1 n (_ N //n @@ -180,93 +198,83 @@ ỵ ỵ ng N ngh N nh n^ +?2 L02) nh n nd (_ _^_EN - - - + + .group ñ ñ n^ - - - + + .group p p p ph f - - - + + .group q q k q (_ kh qu w //kw - - - + + .group r - r z // try [z] [z.] [r] [z;] -?2 r Q -?1 r z. - r (_ _^_EN + r z // try [z] [z.] [r] [z;] +?2 r Q +?1 r z. + r (_ _^_EN rm (_ _^_EN - - - + + .group s s s. // try [s.] [s] [S] _) sh _^_EN s (_ _^_EN st (_ _^_EN se (_ _^_EN - - - + + .group t t t[ ?1 t (_ kh -?2 t (_ kh +?2 t (_ kh th t - tr tS //cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;] -?1 tr cr + tr tS //cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;] +?1 tr cr ?2 tr c - ts (_ _^_EN + ts (_ _^_EN te (_ _^_EN th (_ _^_EN tt (_ _^_EN - - - + + .group v v v -?2 v J^ +?2 v J^ ve (_ _^_EN - - - + + .group w w w _) w _^_EN w (_ _^_EN - - - + + .group x x s x (_ _^_EN - - - + + .group z z z z (_ _^_EN - - + + //================================ // Vowels //================================ - - - - + + + .group a a a: ai a:I @@ -276,8 +284,8 @@ ỵ ỵ aĩ a:I5 aị a:I6 ay aI -?2 ay a:I - +?2 ay a:I + aỳ aI2 aý aI3 aỷ aI4 @@ -290,7 +298,7 @@ ỵ ỵ aõ a:U5 aọ a:U6 au aU -?2 au a:U +?2 au a:U aù aU2 aú aU3 aủ aU4 @@ -298,145 +306,130 @@ ỵ ỵ aụ aU6 a (L01 _^_EN ai (L02 _^_EN - - - + + .group à à a:2 ài a:I2 ày aI2 -?2 ày a:I2 - - - - +?2 ày a:I2 + + + + ào a:U2 àu aU2 -?2 àu a:U2 - - +?2 àu a:U2 + .group á á a:3 ái a:I3 áy aI3 áo a:U3 áu aU3 -?2 áu a:U3 -?2 áy a:I3 - + ?2 áu a:U3 + ?2 áy a:I3 .group ả ả a:4 ải a:I4 ảy aI4 ảo a:U4 ảu aU4 -?2 ảu a:U4 -?2 ảy a:I4 - +?2 ảu a:U4 +?2 ảy a:I4 .group ã ã a:5 ãi a:I5 ãy aI5 ão a:U5 ãu aU5 -?2 ãu a:U5 -?2 ãy a:I5 - +?2 ãu a:U5 +?2 ãy a:I5 .group ạ ạ a:6 ại a:I6 ạy aI6 ạo a:U6 ạu aU6 -?2 ạu a:U6 -?2 ạy a:I6 - +?2 ạu a:U6 +?2 ạy a:I6 + //================================ .group ă ă a - - - - + + + .group ằ ằ a2 - - - - + + + .group ắ ắ a3 - - - - + + + .group ẳ ẳ a4 - - - - + + + .group ẵ ẵ a5 - - - - + + + .group ặ ặ a6 - - + + //================================= .group â â @ ây @I âu @U1 -?2 â (L03 a -?1 â (L03 a - - - +?2 â (L03 a +?1 â (L03 a + + .group ầ ầ @2 ầy @I2 ầu @U2 -?2 ầ (L03 a2 -?1 ầ (L03 a2 - - - +?2 ầ (L03 a2 +?1 ầ (L03 a2 + + .group ấ ấ @3 ấy @I3 ấu @U3 -?2 ấ (L03 a3 -?1 ấ (L03 a3 - - - +?2 ấ (L03 a3 +?1 ấ (L03 a3 + + .group ẩ ẩ @4 ẩy @I4 ẩu @U4 - - - - + + + .group ẫ ẫ @5 ẫy @I5 ẫu @U5 - - - - + + + .group ậ ậ @6 ậy @I6 ậu @U6 -?2 ậ (L03 a6 -?1 ậ (L03 a6 - +?2 ậ (L03 a6 +?1 ậ (L03 a6 + //=========================== .group e e E @@ -448,89 +441,77 @@ ỵ ỵ eọ EU6 e (L01 _^_EN ey (_ _^_EN - - - + + .group è è E2 èo EU2 - - - - + + + .group é é E3 éo EU3 - - - - + + + .group ẻ ẻ E4 ẻo EU4 - - - - + + + .group ẽ ẽ E5 ẽo EU5 - - - - + + + .group ẹ ẹ E6 ẹo EU6 - - + + //============================ - - + .group ê ê e êu eU1 -?2 ê (L03 @: -?2 ê (L02 @: - - +?2 ê (L03 @: +?2 ê (L02 @: + .group ề ề e2 ều eU2 -?2 ề (L03 @:2 -?2 ề (L02 @:2 - - + ?2 ề (L03 @:2 + ?2 ề (L02 @:2 + .group ế ế e3 ếu eU3 - -?2 ế (L03 @:3 -?2 ế (L02 @:3 - + + ?2 ế (L03 @:3 +?2 ế (L02 @:3 .group ể ể e4 ểu eU4 -?2 ể (L03 @:4 -?2 ể (L02 @:4 - - + ?2 ể (L03 @:4 +?2 ể (L02 @:4 + .group ễ ễ e5 ễu eU5 -?2 ễ (L03 @:5 -?2 ễ (L02 @:5 - - + ?2 ễ (L03 @:5 + ?2 ễ (L02 @:5 + .group ệ ệ e6 ệu eU6 -?2 ệ (L03 @:6 -?2 ệ (L02 @:6 - +?2 ệ (L03 @:6 +?2 ệ (L02 @:6 + //============================ - - + .group i i i //i (A j @@ -559,19 +540,17 @@ ỵ ỵ iễu iU5 iệu iU6 i (L01 _^_EN -?2 i (L03 @ +?2 i (L03 @ ?1 i (L03 @ ?2 i (L02 @ - .group ì ì i2 ì (A j2 ìa i@2 ìu iU2 -?2 ì (L03 @2 +?2 ì (L03 @2 ?1 ì (L03 @2 ?2 ì (L02 @2 - .group í í i3 í (A j3 @@ -580,27 +559,24 @@ ỵ ỵ ?2 í (L03 @3 ?1 í (L03 @3 ?2 í (L02 @3 - .group ỉ ỉ i4 ỉ (A j4 ỉa i@4 ỉu iU4 -?2 ỉ (L03 @4 +?2 ỉ (L03 @4 ?1 ỉ (L03 @4 -?2 ỉ (L02 @4 - - +?2 ỉ (L02 @4 + .group ĩ ĩ i5 ĩ (A j5 ĩa i@5 ĩu iU5 -?2 ĩ (L03 @5 +?2 ĩ (L03 @5 ?1 ĩ (L03 @5 -?2 ĩ (L02 @5 - - +?2 ĩ (L02 @5 + .group ị ị i6 ị (A j6 @@ -609,14 +585,19 @@ ỵ ỵ ?2 ị (L03 @6 ?1 ị (L03 @6 ?2 ị (L02 @6 - + //========================= - - + .group o o O oa o@ // modify oa sound example: hoa,khoa // o (A w - oi OI + oà o@2 + oá o@3 + oả o@4 + oã o@5 + oạ o@6 + oo o@ + oi OI oì OI2 oí OI3 oỉ OI4 @@ -625,165 +606,147 @@ ỵ ỵ ong O# oe o& // Adding oe sound example: lóe sáng,toét mắt o (L01 _^_EN - oai Oi // oai sound - oại Oi6 - oài Oi2 - oái Oi3 - oải Oi4 - oãi Oi5 - - + oai Oi // oai sound + oại Oi6 + oài Oi2 + oái Oi3 + oải Oi4 + oãi Oi5 + .group ò ò O2 òi OI2 òa o@2 //ò (A w2 òng O#2 òe o&2 - - - - + + + .group ó ó O3 ói OI3 óa o@3 //ó (A w3 óng O#3 óe o&3 - - - - + + + .group ỏ ỏ O4 ỏi OI4 ỏa o@4 //ỏ (A w4 ỏng O#4 ỏe o&4 - - - - + + + .group õ õ O5 õi OI5 õa o@5 //õ (A w5 õng O#5 õe o&5 - - - - + + + .group ọ ọ O6 ọi OI6 ọa o@6 //ọ (A w6 ọng O#6 ọe o&6 - - - + + + //============================= - - + .group ô ô o ôi oI ông o# // ông sound ?2 ôi O- //south dialect - - + .group ồ ồ o2 ồi oI2 ồng o#2 ?2 ồi O-2 - - - + + .group ố ố o3 ối oI3 ống o#3 -?2 ối O-3 - - - + ?2 ối O-3 + + .group ổ ổ o4 ổi oI4 ổng o#4 -?2 ổi O-4 - - - + ?2 ổi O-4 + + .group ỗ ỗ o5 ỗi oI5 ỗng o#5 - + ?2 ỗi O-5 - - + .group ộ ộ o6 ội oI6 ộng o#6 ?2 ội O-6 - - + + //============================= - - + .group ơ ơ @: ơi @:I ơu @:U ?2 ơi @- //south dialect - - - + + .group ờ ờ @:2 ời @:I2 ờu @:U2 -?2 ời @-2 - - - + ?2 ời @-2 + + .group ớ ớ @:3 ới @:I3 ớu @:U3 -?2 ới @-3 - - - +?2 ới @-3 + + .group ở ở @:4 ởi @:I4 ởu @:U4 -?2 ởi @-4 - - - +?2 ởi @-4 + + .group ỡ ỡ @:5 ỡi @:I5 ỡu @:U5 ?2 ỡi @-5 - - - + + .group ợ ợ @:6 ợi @:I6 ợu @:U6 -?2 ợi @-6 - - +?2 ợi @-6 + + //============================= - - + .group u u u u (A w @@ -816,60 +779,54 @@ ỵ ỵ u (L01 _^_EN ui (L01 _^_EN ua (L01 _^_EN -?2 u u- - - +?2 u u- + .group ù ù u2 ù (A w2 ùi uI2 ùa u@2 //ùng u#2 - -?2 ù u-2 - - + +?2 ù u-2 + .group ú ú u3 ú (A w3 úi uI3 úa u@3 //úng u#3 -?2 ú u-3 - - - + ?2 ú u-3 + + .group ủ ủ u4 ủ (A w4 ủi uI4 ủa u@4 //ủng u#4 - -?2 ủ u-4 - - + +?2 ủ u-4 + .group ũ ũ u5 ũ (A w5 ũi uI5 ũa u@5 //ũng u#5 -?2 ũ u-5 - - - +?2 ũ u-5 + + .group ụ ụ u6 ụ (A w6 ụi uI6 ụa u@6 //ụng u#6 -?2 ụ u-6 - + ?2 ụ u-6 + //============================= - - + .group ư ư y ưi yI @@ -893,56 +850,50 @@ ỵ ỵ ưởu y@w4 ưỡu y@w5 ượu y@w6 - - - - + + + .group ừ ừ y2 ừi yI2 ừa y@2 ừu yw2 - - - - + + + .group ứ ứ y3 ứi yI3 ứa y@3 ứu yw3 - - - - + + + .group ử ử y4 ửi yI4 ửa y@4 ửu yw4 - - - - + + + .group ữ ữ y5 ữi yI5 ữa y@5 ữu yw5 - - - - + + + .group ự ự y6 ựi yI6 ựa y@6 ựu yw6 - - + + //============================= - - + .group y y i // y (A j @@ -958,56 +909,49 @@ ỵ ỵ yể i@4 yễ i@5 yệ i@6 - // yêu i@U - + // yêu i@U y (L01 _^_EN - - + .group ỳ ỳ i2 ỳ (A j2 ỳa i@2 - - - - + + + .group ý ý i3 ý (A j3 ýa i@3 - - - - + + + .group ỷ ỷ i4 ỷ (A j4 ỷa i@4 - - - - + + + .group ỹ ỹ i5 ỹ (A j5 ỹa i@5 - - - - + + + .group ỵ ỵ i6 ỵ (A j6 ỵa i@6 - - + + //============================= - - + .group 0xce // Greek letters // 0xce is the first byte of the utf-8 code for these characters - - + + α a:1n_|f'a:1 ά a:1n_|f'a:1 β b'e1_|t['a:1 @@ -1027,13 +971,12 @@ ỵ ỵ ν nw'i1 ξ s'i7 ο o1_|m'i1_|kz.'O7n - - - - + + + .group 0xcf // Greek letters - - + + π p'i1 ρ z.'o1 σ s'i3c_|m'a:1 @@ -1047,12 +990,11 @@ ỵ ỵ ω o1_|m'e1_|Q'a:7 ώ o1_|m'e1_|Q'a:7 ό o1_|m'i1_|kz.'O7n - - - - - - + + + + + .group % f'@2n||cr'am ! _:c'@3m_|t'a:7n_: @@ -1063,14 +1005,13 @@ ỵ ỵ != x'o#_|_b'a2N_ >= l'@:3n_|h'@:1n_|hw,a6kh_b'a2N <= n^'O4_|h'@:1n_|hw,a6kh_b'a2N - - + + __) - (_D cr'y2 A_) - (_D _ C_) - (_D _ - + . c'@3m_ . (. _: \.) . - - + diff --git a/docs/voices.html b/docs/voices.html index 3bcd8c0f..4aaea500 100644 --- a/docs/voices.html +++ b/docs/voices.html @@ -36,7 +36,7 @@ The language attribute is mandatory. All the other attributes
language  <language code> [<priority>]
This attribute should appear before the other attributes which are listed below.

-It selectes the default behaviour and characteristics for the language, and sets default values for +It selects the default behaviour and characteristics for the language, and sets default values for "phonemes", "dictionary" and other attributes. The <language code> should be a two-letter ISO 639-1 language code. One or more language variant codes may be appended, separated by hyphens. (eg. en-uk-north).

The optional <priority> value gives the preference of this voice compared with others for the specified language. A low value indicates a more preferred voice. The default value is 5.

More than one language line may be present. A voice may be selected for other related languages (variants which have the same initial 2 letter language code as the specified language), but it will be less preferred for these. Different language variants may be specified by additional language lines in order to indicate that this is a preferred voice for them also. Eg.

diff --git a/phsource/compile_report b/phsource/compile_report
index c3d99c2f..c58605b0 100644
--- a/phsource/compile_report
+++ b/phsource/compile_report
@@ -57,8 +57,8 @@ consonants  11  119
       no  28  134
       is  42  141
       vi  57  150
-  vi-hue  15  150
-  vi-sgn  17  150
+  vi-hue  17  150
+  vi-sgn  18  150
      zhy  41  138
       zh  64  155
       sw   9  110
@@ -72,7 +72,7 @@ consonants  11  119
       fa   9  112
       rw  15  132
      prs   8  113
-      sl  16  125
+      sl  18  125
       gd   6  109
      nso  12  113
       ht  11  146
@@ -241,9 +241,11 @@ dzh/xdz_pzd     [J] base
                 [J#] ml
                 [J] tr
                 [J] ku
-envelope/i_risefall  [11] zh
+envelope/i_risefall  [1] vi-sgn
+                [11] zh
 envelope/i_risefall2  [+2] rw
 envelope/p_214  [5] vi
+                [5] vi-sgn
                 [214] zh
 envelope/p_512  [+] pa
                 [6] vi
@@ -266,23 +268,22 @@ envelope/p_fall  [2] vi
                 [+] rw
 envelope/p_fallrise  [4] vi
                 [3] vi-hue
+                [4] vi-sgn
 envelope/p_level  [1] vi
                 [1] vi-hue
                 [7] vi-hue
-                [1] vi-sgn
                 [1] zhy
                 [3] zhy
                 [6] zhy
                 [55] zh
 envelope/p_rise  [3] vi
                 [3] vi-sgn
-                [4] vi-sgn
-                [5] vi-sgn
                 [2] zhy
                 [5] zhy
                 [44] zh
                 [35] zh
 envelope/vi_5amp  [5] vi
+                [4] vi-sgn
 envelope/vi_6amp  [6] vi
                 [2] vi-hue
                 [5] vi-hue
@@ -876,12 +877,14 @@ ustop/c         [c] base
 ustop/k         [k] base
                 [k] fr
                 [k] zhy
+                [k] sl
 ustop/k_        [k] base
                 [k] base2
                 [k] fr
                 [k] lv
                 [k] el
                 [k] sq
+                [k] sl
 ustop/k_asp     [k#] consonants
                 [kh] consonants
                 [g#] hi
@@ -909,6 +912,7 @@ ustop/ki        [k] base
                 [c] tr
                 [J] ku
                 [c] ku
+                [k] sl
 ustop/kl        [k] base
                 [kh] consonants
                 [k] base2
@@ -917,12 +921,14 @@ ustop/kl        [k] base
                 [k] lv
                 [k] el
                 [k] zhy
+                [k] sl
                 [kh] tn
 ustop/kr        [k] base
                 [k] base2
                 [k] et
                 [k] el
                 [k] zhy
+                [k] sl
 ustop/k_unasp   [k] base
                 [k-] consonants
                 [k] base2
@@ -931,6 +937,7 @@ ustop/k_unasp   [k] base
                 [k] el
                 [k] zhy
                 [k] sq
+                [k] sl
                 [k-] tn
 ustop/k_unasp_  [k] zh
                 [k-] ko
@@ -1011,6 +1018,7 @@ ustop/t_dnt     [t] base
                 [t] lt
                 [t] pl
                 [t] hr
+                [t] sl
 ustop/t_dnt2    [t] base2
                 [d] kn
 ustop/t_hi      [t[] base
@@ -1311,7 +1319,6 @@ vdiph/eu_2      [eu] fi
                 [eu] mt
 vdiph/@i        [Yi] et
                 [@I] vi
-                [@:I] vi
 vdiph/&i        [&i] fi
                 [&i] et
                 [aI] hi
@@ -1351,12 +1358,12 @@ vdiph/ooi       [OI] en
                 [oi] mt
 vdiph/ooi_2     [OI] af
                 [oI] eo
+                [OI] vi
                 [Oi] vi-hue
                 [Oi] vi-sgn
 vdiph/ooi_3     [OI] en-us
                 [OI] en-rp
                 [aI] en-wm
-                [OI] vi
                 [Oi] vi
 vdiph/ooi_4     [OI] sq
 vdiph/oou       [oU] cs
@@ -1406,10 +1413,13 @@ vdiph/yi        [yi] fi
                 [yi] zh
                 [yi] mt
 vdiph/y#i       [Yi] fi
+                [@:I] vi
                 [Yi] mt
 vdiph/y#i_2     [Yy] is
                 [Yy:] is
 vdiph/y#y       [Yy] fi
+                [@:I] vi-hue
+                [@:I] vi-sgn
                 [Yy] mt
 vdiph/y#y_2     [Yy] af
                 [eoi] zhy
@@ -1577,11 +1587,8 @@ vowel/0         [0] en
                 [O] hi
                 [O] pt
                 [O] grc
-                [O] vi-hue
-                [O] vi-sgn
 vowel/0_2       [0] en-n
                 [O] pt-pt
-                [O] vi
                 [o] sw
                 [O] sl
                 [o] nso
@@ -1733,6 +1740,7 @@ vowel/a#_3      [a#] en
 vowel/a_4       [a] ga
                 [a] es
                 [a] el
+                [a] vi
 vowel/a#_4      [a:] nl
                 [a] ml
                 [a] bg
@@ -1748,7 +1756,6 @@ vowel/a_5       [a:] hi
                 [a] tn
                 [a] kk
 vowel/a_6       [a] ca
-                [a] vi
                 [a] am
                 [a:] wo
 vowel/a_7       [a] fr
@@ -1878,6 +1885,7 @@ vowel/ee        [E] en-n
                 [&] tt
 vowel/e_e       [E] en-sc
                 [E:] is
+                [E] vi
 vowel/ee#       [E#] pl
 vowel/ee_1      [E] base2
                 [e@] en
@@ -1889,6 +1897,7 @@ vowel/ee_1      [E] base2
                 [E] grc
                 [E:] sv
                 [E:] no
+                [E] vi-sgn
                 [e] zhy
 vowel/ee_2      [E] cy
                 [E2] nl
@@ -1905,7 +1914,6 @@ vowel/ee#_2     [E1] et
 vowel/ee_3      [&] af
                 [&:] af
                 [E] pt
-                [E] vi
 vowel/ee_4      [E] sq
 vowel/ee_5      [E] en
                 [E] ak
@@ -2028,6 +2036,7 @@ vowel/i         [i] base
                 [i] tt
                 [i] kl
 vowel/i#        [y:] cy
+                [i] vi-sgn
 vowel/i_2       [i2] de
                 [i:] de
                 [i] nl
@@ -2287,6 +2296,7 @@ vowel/oo_1      [O:] en-n
                 [o:] sk
                 [o] hr
                 [o/] it
+                [O] vi-sgn
                 [O] sq
                 [o] ka
                 [o] si
@@ -2296,11 +2306,13 @@ vowel/oo_1      [O:] en-n
 vowel/oo_2      [0] en-sc
                 [O] cy
                 [o] cs
+                [O] vi
                 [0] da
                 [?0] da
                 [O] ak
                 [@] ko
 vowel/oo_3      [O] af
+                [O] vi-hue
 vowel/oo_4      [O] base2
                 [0] en-wm
                 [V] en-wi
@@ -2310,6 +2322,7 @@ vowel/oo_4      [O] base2
                 [O] pa
                 [O] it
                 [O] an
+                [O] sl
 vowel/oo_5      [O] bn
                 [O] pl
                 [O] is
diff --git a/phsource/mbrola/in1 b/phsource/mbrola/in1
index d2caa089..ee35fa48 100644
--- a/phsource/mbrola/in1
+++ b/phsource/mbrola/in1
@@ -3,7 +3,7 @@
 0  r/ NULL   0  r
 0  r- NULL   0  r
 0  l- NULL   0  l
-0  w/ NULL   0  w
+0  w/ NULL   0  v
 0  j/ NULL   0  j
 0  ;  NULL   0  NULL
 0  g- NULL   0  NULL
@@ -40,16 +40,25 @@
 0  u~ NULL   60  uu n
 
 0  H  NULL   0  h
+0  p# NULL   0  ph
+0  b# NULL   0  bh
+0  t# NULL   0  th
+0  d# NULL   0  dh
 0  t. NULL   0  T
-0  t.h NULL  0  Th
+0  t.# NULL  0  Th
 0  d. NULL   0  D
-0  d.h NULL  0  Dh
+0  d.# NULL  0  Dh
+0  c# NULL   0  ch
 0  J  NULL   0  j
-0  Jh NULL   0  jh
+0  J# NULL   0  jh
+0  k# NULL   0  kh
+0  g# NULL   0  gh
 0  n. NULL   0  N
 0  n^ NULL   0  N
 0  j  NULL   0  y
 0  S  NULL   0  sh
 0  s. NULL   0  sh
 0  l. NULL   0  l
+0  w  NULL   0  v
+
 
diff --git a/phsource/ph_armenian b/phsource/ph_armenian
index dd1300f0..aff1599f 100644
--- a/phsource/ph_armenian
+++ b/phsource/ph_armenian
@@ -94,7 +94,8 @@ endphoneme
 
 
 phoneme k#
-  import_phoneme consonants/kh
+//  import_phoneme consonants/kh
+  import_phoneme base/k
 endphoneme
 
 
diff --git a/phsource/ph_irish b/phsource/ph_irish
index a7d0eb3c..8cdc4602 100755
--- a/phsource/ph_irish
+++ b/phsource/ph_irish
@@ -1,4 +1,6 @@
-// Version 2.4 January 2013
+// Irish Phonemes
+//Please contact espeak.gaeilge@gmail.com
+// Version 2.7  2013
 
 // short vowels
 
@@ -19,6 +21,11 @@ phoneme @    //  Schwa, but always unstressed
     Length 80
     FMT(vwl_af/r@)
   ENDIF
+  IF prevPh(i:) THEN
+    Length 60
+    FMT(vwl_af/r@)
+  ENDIF
+  
   FMT(vwl_af/@)
 endphoneme
 
@@ -66,8 +73,10 @@ phoneme I
   FMT(vowel/ii_2)
 endphoneme
 
+
 phoneme i   // non syllabic i for end of words
   vowel  starttype #i  endtype #i
+  unstressed
   ipa iU+032F
   length 45
   FMT(vowel/ii_7)
diff --git a/phsource/ph_slovenian b/phsource/ph_slovenian
index e6a9ca22..1b02a83a 100644
--- a/phsource/ph_slovenian
+++ b/phsource/ph_slovenian
@@ -82,7 +82,10 @@ phoneme o+   // doesn't reduce to [O]
 phoneme O
   vowel starttype #o endtype #o
   length 170
-  FMT(vowel/0_2)
+  IF thisPh(isStressed) THEN
+    FMT(vowel/0_2)
+  ENDIF
+  FMT(vowel/oo_4)
 endphoneme
 
 
@@ -92,6 +95,45 @@ phoneme v
 endphoneme
 
 
+phoneme t
+  vls dnt stop
+  lengthmod 2
+  voicingswitch d
+  Vowelin f1=0  f2=1600 -300 300  f3=-100 80
+  Vowelout f1=0 f2=1600 -300 250  f3=-100 80  rms=20
+  IF nextPh(isPause2) AND prevPhW(isVowel) THEN
+    WAV(ustop/t_dnt, 40)
+  ENDIF
+  WAV(ustop/t_dnt, 60)
+endphoneme
+
+
+phoneme k
+  vls vel stop
+  voicingswitch g
+  lengthmod 2
+  Vowelin f1=0  f2=2300 200 300  f3=-200 80
+  Vowelout f1=0 f2=2300 300 400  f3=-200 80  rms=20
+
+  IF KlattSynth THEN
+    Vowelout f1=0 f2=2300 200 300  f3=-200 80  rms=20
+  ENDIF
+
+  IF nextPh(isPause2) AND prevPhW(isVowel) THEN
+    WAV(ustop/k_)
+  ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
+    WAV(ustop/kr)
+  ELIF nextPh(#i) OR nextPh(;) THEN
+    WAV(ustop/ki)
+  ELIF nextPh(l) THEN
+    WAV(ustop/kl)
+  ELIF nextPh(@-) THEN
+    WAV(ustop/k_unasp, 70)
+  ENDIF
+  WAV(ustop/k)
+endphoneme
+
+
 // for foreign letters
 phoneme y
   vowel starttype #i endtype #i
diff --git a/phsource/ph_vietnam b/phsource/ph_vietnam
index 95ddc9c6..59ea7b04 100755
--- a/phsource/ph_vietnam
+++ b/phsource/ph_vietnam
@@ -6,25 +6,25 @@
 
 phoneme 1   //  ngang tone: level
   stress
-  Tone(28, 32, envelope/p_level, NULL)
+  Tone(28,32, envelope/p_level, NULL) // 28 29
 endphoneme
 
 
 phoneme 2   //  huyền tone: low falling
   stress
-  Tone(20,  8, envelope/p_fall, NULL) //20
+  Tone(20, 8, envelope/p_fall, NULL) //20 8
 endphoneme
 
 
 phoneme 3   //  sắc Tone(rising
   stress
-  Tone(30, 60, envelope/p_rise, NULL) // 25 50
+  Tone(20, 80, envelope/p_rise, NULL) // 30 60
 endphoneme
 
 
 phoneme 4   //  hỏi Tone(curve (dipping rising)
   stress
-  Tone(40,  5, envelope/p_fallrise, NULL) //30
+  Tone(30, 5, envelope/p_fallrise, NULL) //33 31
 endphoneme
 
 
@@ -37,7 +37,7 @@ endphoneme
 phoneme 6   //  nặng Tone(drop  (constricted)
   stress
   //length 150 // ignore because it make too short sound 75  // reduce the length of the vowel
-  Tone(40, 20, envelope/p_512, envelope/vi_6amp)
+  Tone(33, 21, envelope/p_512, envelope/vi_6amp) //40 20
 endphoneme
 
 
@@ -55,20 +55,24 @@ endphoneme
 phoneme a
   vowel starttype #@ endtype #@
   	length 140
-	  FMT(vowel/a_6)  //a_4)
+	  FMT(vowel/a_4)  //a_4)
 endphoneme
 
 phoneme a:
   vowel starttype #a endtype #a
-  length 240 //280
+  IF nextPh(n^) OR nextPh(c) THEN
+  length 100
+  ELSE
+  length 170 //280
+  ENDIF
     FMT(vowel/a_8)
 endphoneme
 
 
 phoneme E
   vowel starttype #e endtype #e
-  length 240
-  FMT(vowel/ee_3)
+  length 200
+  FMT(vowel/e_e)   //ee_3)
 endphoneme
 
 phoneme e
@@ -80,14 +84,15 @@ endphoneme
 
 phoneme i
   vowel  starttype #i  endtype #i
-  length 240
-  IfNextVowelAppend(;)
+    IfNextVowelAppend(;)
   IF prevPhW(w) THEN
     VowelStart(w/wi)
   ENDIF
   IF nextPh(n^) OR nextPh(c) THEN
+  length 100
   FMT(vnasal/ii_n)
-ELSE
+  ELSE
+  length 240
 FMT(vowel/i_4)
 ENDIF
 endphoneme
@@ -100,7 +105,7 @@ phoneme O
 	ELSE
 	length 200
 	ENDIF
-    FMT(vowel/0_2) //aa_4)
+    FMT(vowel/oo_2)
 endphoneme
 
 phoneme o
@@ -141,7 +146,7 @@ phoneme @
  IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
 	length 120
 	ELSE
-	length 200
+	length 170
 	ENDIF
   FMT(vowel/V)   //vowel/@_2)
 endphoneme
@@ -182,7 +187,7 @@ endphoneme
 phoneme @:I
   vowel starttype #@ endtype #i
   length 200 //250
-  FMT(vdiph/@i)
+  FMT(vdiph/y#i)
 endphoneme
 
 
@@ -202,8 +207,8 @@ endphoneme
 
 phoneme OI
   vowel starttype #o endtype #i
-  length 200
-  FMT(vdiph/ooi_3)
+  length 150
+  FMT(vdiph/ooi_2)
 endphoneme
 
 
@@ -231,28 +236,28 @@ endphoneme
 
 phoneme aU
   vowel starttype #a endtype #u
-  length 200
+  length 150
   FMT(vdiph/aau_4)
 endphoneme
 
 
 phoneme a:U
   vowel starttype #a endtype #u
-  length 200 //270
+  length 150 //270
   FMT(vdiph/au)
 endphoneme
 
 
 phoneme eU
   vowel starttype #e endtype #u
-  length 200
+  length 150
   FMT(vdiph/eu)
 endphoneme
 
 
 phoneme EU
   vowel starttype #e endtype #u
-  length 200
+  length 150
   FMT(vdiph/eeu)
 endphoneme
 
@@ -310,7 +315,7 @@ endphoneme
 
 
 phoneme o@
-  vowel  starttype #o endtype #o
+  vowel  starttype #o endtype #a
   length 140
   FMT(vdiph2/oa)
 endphoneme
@@ -366,7 +371,7 @@ endphoneme
 
 phoneme l
   liquid
-  Vowelin f1=0  f2=1700 -300 300  f3=-100 80 len=30
+  Vowelin f1=0  f2=1700 -300 300  f3=-100 80 len=15
   //lengthmod 7
    //IF nextPh(isNotVowel) THEN
    // ChangePhoneme(l/2)
@@ -380,7 +385,7 @@ phoneme t
   vls alv stop
   //voicingswitch d
   lengthmod 2
-  Vowelin f1=0  f2=1700 -300 300  f3=-100 80 len=30
+  Vowelin f1=0  f2=1700 -300 300  f3=-100 80 len=15
   Vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
 
   WAV(vietnam/th, 50)
@@ -390,7 +395,7 @@ phoneme cr
   vls pla afr sibilant
   //voicingswitch dZ
   lengthmod 2
-  Vowelin f1=0  f2=2300 200 400  f3=-100 80 len=30
+  Vowelin f1=0  f2=2300 200 400  f3=-100 80 len=15
 
   
   WAV(vietnam/tr,10)
@@ -400,7 +405,7 @@ phoneme d
   vcd alv stop
     //	lengthmod 5
 	
- Vowelin f1=1  f2=1700 -300 300  f3=-100 80 len=30
+ Vowelin f1=1  f2=1700 -300 300  f3=-100 80 len=15
   Vowelout f1=2 f2=1700 -300 300  f3=-100 80 brk len=30
 WAV(vietnam/dd)
  endphoneme
@@ -410,8 +415,8 @@ WAV(vietnam/dd)
   //voicingswitch J
   lengthmod 2
   length 2
-    Vowelin f1=0  f2=2700 400 600  f3=300 80 len=30 brk
-  Vowelout f1=1  f2=2700 400 600  f3=200 70 len=30 colr=1
+    Vowelin f1=0  f2=2700 400 600  f3=300 80 len=15 brk
+  Vowelout f1=1  f2=2700 400 600  f3=200 70 len=15 colr=1
 
   
   WAV(vietnam/ch,5)
@@ -430,8 +435,8 @@ endphoneme
 
 phoneme n
   vcd alv nasal
-  Vowelin  f1=0  f2=1000 -50 -100  f3=-200 80 amp=11 brk len=30
-  Vowelout f1=2 f2=1700 -300 250  f3=-100 80  rms=20 brk len=30
+  Vowelin  f1=0  f2=1000 -50 -100  f3=-200 80 amp=11 brk len=15
+  Vowelout f1=2 f2=1700 -300 250  f3=-100 80  rms=20 brk len=15
     lengthmod 4
 	length 75
 FMT(n/nr_)
@@ -442,11 +447,12 @@ phoneme t[        // dental variant of /t/
   voicingswitch d[
   lengthmod 2
   length 5
-  Vowelin f1=1  f2=1500 -250 250  f3=-100 80  amp=16 len=30
-  Vowelout f1=0 f2=1500 -300 250  f3=-100 80  rms=20 len=30
+  Vowelin f1=1  f2=1500 -250 250  f3=-100 80  amp=16 len=15
+  Vowelout f1=0 f2=1500 -300 250  f3=-100 80  rms=20 len=15
 
   IF nextPh(isPause2) THEN
     WAV(ustop/t_unasp2, 5)
   ENDIF
   WAV(ustop/t_hi, 70)
 endphoneme
+
diff --git a/phsource/ph_vietnam_hue b/phsource/ph_vietnam_hue
index ee843f33..e1079ea6 100644
--- a/phsource/ph_vietnam_hue
+++ b/phsource/ph_vietnam_hue
@@ -6,7 +6,7 @@
 
 phoneme 1   //  ngang tone: level
   stress
-  Tone(40, 5, envelope/p_level, NULL) // similar Hue dialect tone
+  Tone(10 ,60, envelope/p_level, NULL) // 40 5 similar Hue dialect tone
 endphoneme
 
 
@@ -76,7 +76,7 @@ endphoneme
 phoneme O
  CALL vi/O
  length 150
- FMT(vowel/0)
+ FMT(vowel/oo_3)
 endphoneme
 
 phoneme Oi
@@ -84,3 +84,15 @@ phoneme Oi
  length 100
  FMT(vdiph/ooi_2)
 endphoneme
+
+// Redefine consonants
+
+phoneme n
+import_phoneme vi/n
+Vowelin  f1=0  f2=1000 -50 -100  f3=-200 80 rms=5 brk len=15
+endphoneme
+
+phoneme @:I
+ CALL vi/@:I
+  FMT(vdiph/y#y)
+endphoneme
diff --git a/phsource/phonemes b/phsource/phonemes
index 15aca447..1d59c748 100644
--- a/phsource/phonemes
+++ b/phsource/phonemes
@@ -1949,3 +1949,7 @@ include ph_korean
 
 phonemetable kl base
 include ph_greenlandic
+
+
+//phonemetable en2 en
+//include ph_english_test
diff --git a/src/intonation.cpp b/src/intonation.cpp
index 891c3901..b6dfa71e 100644
--- a/src/intonation.cpp
+++ b/src/intonation.cpp
@@ -1246,10 +1246,24 @@ void CalcPitches(Translator *tr, int clause_type)
 			}
 
 			count_pitch_vowels(st_start, ix, n_st);
+			if((ix < n_st) || (clause_type == 0))
+			{
+				calc_pitches(option, st_start, ix, group_tone);   // split into > 1 tone groups
+
+				if((clause_type==1) || (clause_type==2))
+					group_tone = tr->langopts.tunes[1];  // , or ?  remainder has comma-tone
+				else
+					group_tone = tr->langopts.tunes[0];  // . or !  remainder has statement tone
+			}
+			else
+				calc_pitches(option, st_start, ix, group_tone);
+
+#ifdef deleted
 			if((ix < n_st) || (clause_type == 0))
 				calc_pitches(option, st_start, ix, group_tone_emph);   // split into > 1 tone groups, use emphatic tone
 			else
 				calc_pitches(option, st_start, ix, group_tone);
+#endif
 
 			st_start = ix;
 		}
diff --git a/src/readclause.cpp b/src/readclause.cpp
index 2fcc5d87..4305c0ab 100644
--- a/src/readclause.cpp
+++ b/src/readclause.cpp
@@ -1596,6 +1596,7 @@ static int GetVoiceAttributes(wchar_t *pw, int tag_type)
 	wchar_t *name;
 	wchar_t *age;
 	wchar_t *variant;
+	int value;
 	const char *new_voice_id;
 	SSML_STACK *ssml_sp;
 
@@ -1641,7 +1642,9 @@ static int GetVoiceAttributes(wchar_t *pw, int tag_type)
 
 		attrcopy_utf8(ssml_sp->language,lang,sizeof(ssml_sp->language));
 		attrcopy_utf8(ssml_sp->voice_name,name,sizeof(ssml_sp->voice_name));
-		ssml_sp->voice_variant_number = attrnumber(variant,1,0)-1;
+		if((value = attrnumber(variant,1,0)) > 0)
+			value--;    // variant='0' and variant='1' the same
+		ssml_sp->voice_variant_number = value;
 		ssml_sp->voice_age = attrnumber(age,0,0);
 		ssml_sp->voice_gender = attrlookup(gender,mnem_gender);
 		ssml_sp->tag_type = tag_type;
@@ -2288,7 +2291,7 @@ f_input = f_in;  // for GetC etc
 				return(CLAUSE_EOF);
 			}
 
-			if((skip_characters > 0) && (count_characters > skip_characters))
+			if((skip_characters > 0) && (count_characters >= skip_characters))
 			{
 				// reached the specified start position
 				// don't break a word
diff --git a/src/synthdata.cpp b/src/synthdata.cpp
index 64a172a1..9f3cc273 100644
--- a/src/synthdata.cpp
+++ b/src/synthdata.cpp
@@ -35,7 +35,7 @@
 #include "translate.h"
 #include "wave.h"
 
-const char *version_string = "1.47.11a  18.May.13";
+const char *version_string = "1.47.11b  28.May.13";
 const int version_phdata  = 0x014709;
 
 int option_device_number = -1;
diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp
index 08fcb0b6..742ae2f9 100644
--- a/src/tr_languages.cpp
+++ b/src/tr_languages.cpp
@@ -965,7 +965,8 @@ SetLengthMods(tr,3);  // all equal
 			static const short stress_lengths_hy[8] = {250, 200,  250, 250,  0, 0,  250, 250};
 			static const char hy_vowels[] = {0x31, 0x35, 0x37, 0x38, 0x3b, 0x48, 0x55, 0};
 			static const char hy_consonants[] = {0x32,0x33,0x34,0x36,0x39,0x3a,0x3c,0x3d,0x3e,0x3f,
-				0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
+				0x40,0x41,0x42,0x43,0x44,   0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
+			static const char hy_consonants2[] = {0x45,0};
 
 			SetupTranslator(tr,stress_lengths_hy,NULL);
 			tr->langopts.stress_rule = STRESSPOSN_1R;  // default stress on final syllable
@@ -974,7 +975,9 @@ SetLengthMods(tr,3);  // all equal
 			memset(tr->letter_bits,0,sizeof(tr->letter_bits));
 			SetLetterBits(tr,LETTERGP_A,hy_vowels);
 			SetLetterBits(tr,LETTERGP_VOWEL2,hy_vowels);
+			SetLetterBits(tr,LETTERGP_B,hy_consonants);    // not including 'j'
 			SetLetterBits(tr,LETTERGP_C,hy_consonants);
+			SetLetterBits(tr,LETTERGP_C,hy_consonants2);   // add 'j'
 			tr->langopts.max_initial_consonants = 6;
 			tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_OMIT_1_HUNDRED;
 		//	tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1;   // disable check for unpronouncable words
diff --git a/src/translate.cpp b/src/translate.cpp
index e6f07949..973592e7 100644
--- a/src/translate.cpp
+++ b/src/translate.cpp
@@ -2559,6 +2559,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
 	int dict_flags = 0;        // returned from dictionary lookup
 	int word_flags;        // set here
 	int next_word_flags;
+	int new_sentence2;
 	int embedded_count = 0;
 	int letter_count = 0;
 	int space_inserted = 0;
@@ -2639,16 +2640,19 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
 		if(clause_pause < 0)
 			clause_pause = 0;
 
-		terminator &= ~CLAUSE_BIT_SENTENCE;  // clear sentence bit
+		if(new_sentence)
+			terminator |= CLAUSE_BIT_SENTENCE;  // carry forward an end-of-sentence indicator
 		max_clause_pause += clause_pause;
+		new_sentence2 = 0;
 	}
 	else
 	{
 		max_clause_pause = clause_pause;
+		new_sentence2 = new_sentence;
 	}
 	tr->clause_terminator = terminator;
 
-	if(new_sentence)
+	if(new_sentence2)
 	{
 		count_sentences++;
 		if(skip_sentences > 0)
@@ -3459,7 +3463,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
 		clause_pause = 10;
 	}
 
-	MakePhonemeList(tr, clause_pause, new_sentence);
+	MakePhonemeList(tr, clause_pause, new_sentence2);
 	phoneme_list[N_PHONEME_LIST].ph = NULL;   // recognize end of phoneme_list array, in Generate()
 	phoneme_list[N_PHONEME_LIST].sourceix = 1;
 
diff --git a/src/voices.cpp b/src/voices.cpp
index 566fc7ef..4e8470a1 100644
--- a/src/voices.cpp
+++ b/src/voices.cpp
@@ -177,7 +177,7 @@ static MNEM_TAB keyword_tab[] = {
 
 #define N_VOICE_VARIANTS   12
 const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0};
-const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,0};
+const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,7,0};
 const char variants_female[N_VOICE_VARIANTS] = {11,12,13,14,0};
 const char *variant_lists[3] = {variants_either, variants_male, variants_female};
 
@@ -300,7 +300,7 @@ static espeak_VOICE *ReadVoiceFile(FILE *f_in, const char *fname, const char*lea
 	espeak_VOICE *voice_data;
 	int priority;
 	int age;
-	int n_variants = 3;    // default, number of variants of this voice before using another voice
+	int n_variants = 4;    // default, number of variants of this voice before using another voice
 	int gender;
 
 #ifdef PLATFORM_WINDOWS
@@ -1067,6 +1067,7 @@ voice_t *LoadVoice(const char *vname, int control)
 		if((ix = SelectPhonemeTableName(phonemes_name)) < 0)
 		{
 			fprintf(stderr,"Unknown phoneme table: '%s'\n",phonemes_name);
+			ix = 0;
 		}
 		voice->phoneme_tab_ix = ix;
 		new_translator->phoneme_tab_ix = ix;

From b5035d73f800894e191728ca044392bc828f8754 Mon Sep 17 00:00:00 2001
From: jonsd 
Date: Fri, 31 May 2013 19:18:18 +0000
Subject: [PATCH 12/18] [1.47.11c] Change API function:
 espeak_TextToPhonemes(). Fix bug: number following a non-ascii character
 could cause crash.

git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@361 d46cf337-b52f-0410-862d-fd96e6ae7743
---
 dictsource/dict_phonemes |   8 +-
 dictsource/en_list       |  41 ++++----
 dictsource/en_rules      |  12 ++-
 dictsource/ml_list       |   4 +
 dictsource/pt_list       |   7 +-
 dictsource/pt_rules      |  24 +++--
 dictsource/sl_list       |   9 ++
 dictsource/sl_rules      |   9 +-
 phsource/ph_slovenian    |   4 +-
 src/dictionary.cpp       | 196 ++++++++++++++++++++-------------------
 src/numbers.cpp          |  26 +++---
 src/speak_lib.cpp        |   9 +-
 src/speak_lib.h          |   5 +-
 src/synthdata.cpp        |   2 +-
 src/synthesize.cpp       |   7 +-
 src/tr_languages.cpp     |   2 +-
 src/translate.cpp        |   4 +-
 src/translate.h          |   3 +-
 src/transldlg.cpp        |   7 +-
 19 files changed, 215 insertions(+), 164 deletions(-)

diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes
index 04fc27e4..9f2b632b 100644
--- a/dictsource/dict_phonemes
+++ b/dictsource/dict_phonemes
@@ -148,7 +148,7 @@ p    Q    r    R    s    s;   t    T
 ts   v    x    z    
 
 
-Dictionary en_dict  2013-05-29
+Dictionary en_dict  2013-05-31
 
 0    0#   3    3:   @    @-   @2   @5   
 @L   a    a#   A:   A@   aa   aI   aI3  
@@ -463,7 +463,7 @@ N    n^   p    r    R    s    S    t
 tS   ts   tS;  v    x    z    Z    
 
 
-Dictionary ml_dict  2013-05-19
+Dictionary ml_dict  2013-05-30
 
 @    a    a#   a:   aI   aU   e    E    
 e:   i    I    i:   o    o:   r-   u    
@@ -575,7 +575,7 @@ S    s;   S;   t    t;   tS   ts   tS;
 ts;  v    w    x    z    Z    Z;   
 
 
-Dictionary pt_dict  2013-05-29
+Dictionary pt_dict  2013-05-31
 
 &    &/   &U~  &~   @    @-   a    A    
 aI   aU   e    E    eI   EI   eU   EU   
@@ -643,7 +643,7 @@ s    S    t    t;   tS   ts   v    w
 x    z    Z    
 
 
-Dictionary sl_dict  2013-05-22
+Dictionary sl_dict  2013-05-31
 
 @    @-   a    e    E    E#   i    o    
 O    o+   u    y    
diff --git a/dictsource/en_list b/dictsource/en_list
index 9dc2e7fa..a93b02bf 100644
--- a/dictsource/en_list
+++ b/dictsource/en_list
@@ -682,7 +682,7 @@ accouchement	a#ku:SmO~
 accusation	akju:z'eIS@n
 acer		eIs3
 acetylene	a#sEt@li:n
-accurate	akjUr@t
+accurate	$alt2
 accursed	a#k3:sI#d
 ?5 accursed	a#kVRsI#d
 achille		a#kIli:
@@ -837,6 +837,7 @@ apparatus	ap@r'eIt@s
 apprentice	a#prEnt2Is
 approximate	a#pr0ksIm@t   $only
 approximate	a#pr0ksImeIt  $verb
+approximately	a#pr0ksIm@tli
 aqueduct	akwI#dVkt
 arab		ar@b
 arabic		$1
@@ -1129,6 +1130,7 @@ chimera		kaIm'i@r@
 chimpanzee	$3
 chipotle	tSI2poUtleI
 chisel		tSIz@L
+chivalrous	SIv@Lr@s
 chloroplast	$1
 chocolate	tS0kl@t
 cholera		k0l@r@
@@ -1185,7 +1187,6 @@ coliseum	k0l@s'i:@m
 collage		k0l'A:Z
 collarbone	k0l3boUn
 college		k0lI2dZ
-collegiate	k@li:dZI@t
 colloquial	k@loUkwI@L
 colon		koUl@n
 color		kVl3
@@ -1276,7 +1277,7 @@ coronet		k0r@nEt
 corolla		k@roUl@
 corollary	$2
 corporal	kO@pr@L
-corporate	kO@p@r@t
+corporate	$alt2
 corps		kO@           $only
 corral		k@r'al
 corsage		kO@s'A:Z
@@ -1348,8 +1349,8 @@ deity		deI@ti
 ?3 deity	di:@t2i
 deja		deIZA:        $only
 deli		dElI
-deliberate	dI2lIb@r@t
-delicate	dElI2k@t
+deliberate	$alt2
+delicate	$alt2
 delimit		dI2lImIt     // delimited
 delivery	$alt2
 demolish	dI2m0lIS
@@ -1587,6 +1588,7 @@ fetus		fi:t@s
 fi		f,aI		// as in "hi-fi"
 fiasco		fi:'askoU
 fiat		fi:@t
+ficus		fIk@s
 fiery		faI3rI
 ?3 fillet	fI2leI
 finagle		fI#neIg@L
@@ -1625,7 +1627,7 @@ foyer		fOIeI
 freelance	fri:laans
 freon		fri:0n
 fricassee	frIka#seI
-frigate		frIg@t
+frigate		$alt2
 fringer		frIndZ3	// infringer
 fringing	frIndZIN
 frisson		fri:s'O~
@@ -1691,7 +1693,7 @@ gossamer	g0s@m3
 goto		goUtu:
 gourmand	gU@mA:nd
 gourmet		gU@meI
-graduate	gradju:@t
+graduate	$alt2
 graduate	gradju:eIt      $verb
 graffiti	$alt3
 grandson	gr'andsVn
@@ -1708,7 +1710,7 @@ guinea		gIni
 gurus		gu:ru:z
 
 habitual	$alt3
-hacienda	hasI'End@
+hacienda	hA:sI'End@
 haggis		hagIs
 haha		hA:h'A:
 halation	$alt3  // in-
@@ -1811,20 +1813,20 @@ impi		$1
 impinging	Imp'IndZIN
 implacable	Impl'ak@b@L
 imprecise	ImprIs'aIs
-inanimate	In'anIm@t
-inappropriate	,Ina#proUpri@t
+inanimate	$alt2
+inappropriate	Ina#pr'oUpri@t
 incense		Ins'Ens       $verb
 incoming	InkVmIN
 increase	Inkr'i:s      $verb
 indefine	$3
-indeterminate	IndI2t'3:mI2n@t
+indeterminate	$alt2
 indicative	$2
 indices		IndI2si:z
 indict		Ind'aIt
 indie		Indi
 indirect	$3
 ?3 indirect	Ind3r'Ekt
-indiscriminate	IndI2skr'ImI2n@t
+indiscriminate	$alt2
 indo		IndoU
 indoor		$1           $only
 industry	IndVstrI
@@ -1882,7 +1884,6 @@ iris		aIrIs
 iron		aI3n
 irony		aIr@nI
 isosceles	aIs'0s@li:z
-itinerary	aIt'In@r@rI
 
 ja		jA:
 jagged		dZagI#d
@@ -1928,7 +1929,9 @@ labored		leIb@d
 laborer		leIb@r3
 laborious	$alt3
 labyrinth	lab3rInT
+lascivious	$alt3
 lager		lA:g3
+lagoon		$alt3
 laity		leI@ti
 landowner	l'and,oUn3
 lapel		$alt3
@@ -2077,7 +2080,7 @@ mercedes	m3:s'eIdi:z
 //mercenary	m3:s@n@rI
 merest		mi@r@st
 meringue	m@raN
-merlot		me@l'oU
+merlot		m3:l'oU
 mesa		meIs@
 meson		mi:z0n
 metabolic	mEt@b'0lIk
@@ -2214,7 +2217,7 @@ obelisk		0b@lI2sk
 obesity		oUb'i:s@ti
 obey		oUb'eI
 obituary	0b'ItSU@i
-?3 obituary	oUb'ItSUe@i
+?3 obituary	oUb'ItSu:e@i
 object		$1 $onlys
 object		$verb
 obsolete	0bs@li:t
@@ -2251,6 +2254,7 @@ oregano		0rIg'A:noU
 orion		0r'aI@n
 ornate		$2
 orphan		O@f@n          // orphaned
+ottoman		0t@m@n
 outage		aUtI2dZ
 outback		$1
 outcome		$1
@@ -2796,6 +2800,7 @@ spinal		spaIn@L
 spoonfed	spu:nfEd
 squirrel	skwIr@L
 staccato	$alt3
+stasis		steIsI#s
 standby		standbaI
 stagnate	$2
 ?3 stalagmite	$alt3
@@ -2894,7 +2899,7 @@ testes		tEsti:z
 telephon	tElI2foUn     // for telephoning
 temperature	tEmprI2tS3
 ?!3 temporary	tEmpr@rI
-?3 template	tEmpl@t
+?3 template	$alt2
 tetanus		tEt@n@s
 therefore	$1
 thereof		De@r'0v
@@ -3209,6 +3214,7 @@ Aires		aIrIz
 Alamo		al@moU
 Albuquerque	alb@k3:ki
 Algiers		$2
+Altura		O:lt'U@r@
 Amman		a#m'A:n
 Andes		andi:z
 Angeles		andZ@li:s
@@ -3394,6 +3400,7 @@ Montana		m0nt'an@
 Monte		m0nt2i
 Munich		mju:nIk
 Myanmar		mjA:nmA@
+Niagara		naI'agr@
 Nairobi		naIr'oUbi
 Naples		neIp@Lz
 Nauru		naUru:
@@ -4016,7 +4023,7 @@ unto             ,VntU
 upon             @p0n		$u2
 from             fr0m		$u
 ?3 from          frVm		$u
-(from the)       fr,VmD@
+(from the)       %frVmD@2
 (from where)     %frVm||w'e@	$pause
 (from which)     %frVm||w'ItS	$pause
 up               ,Vp		$strend2
diff --git a/dictsource/en_rules b/dictsource/en_rules
index e96839b5..be8386e7 100644
--- a/dictsource/en_rules
+++ b/dictsource/en_rules
@@ -1117,7 +1117,6 @@
         _s) ata (n       eIt@
         _g) ator         eIt3
          &) ate (_$w_alt2    @t
-         &) ately (_     @tli
        der) ated (_      eItI#d
        pal) ate (_       @t
     consul) ate (_       @t
@@ -1214,6 +1213,7 @@
          g) au (s        aU
 ?!3      s) au (s        0
 ?!3         au (str      0
+            au (sch      aU
             au (_        aU
          _) auch         %O:x
             aud (_       'O:d
@@ -1641,10 +1641,11 @@
          _) co (nw       k0
          _) copy         k0pI
          _) copoly       k'oUp,0lI
+?!3      _) co (rL03     k0#
             coro (ll     k0#r0
             co (rrect    k@
             correspo     k,0rIsp'0
-         _) co (rri      k0
+         _) co (rr       k0
             co (rro      k@
             co (rrup     k@
          _) co (sm       k0
@@ -3610,6 +3611,7 @@
          l) ith (er      ID
         _t) ith          aID
             it (i_       'i:t
+         _) it (iner     %aIt
             itius (_     'IS@s
             itis (_      'aItIs
          &) it (ive_     =I2t
@@ -3883,6 +3885,7 @@
          &) name (_S4    neIm
          _) nano (P4     n,anoU
             nause        nO:sI
+         _) navig        navIg
             necessit     n@sEsIt
          &) ness (_S4im  n@s
 ?8       &) ness (_S4im  nEs
@@ -4983,7 +4986,7 @@
             rEr (_       r3
          C) rh           r
             rheu         ru:
-            rhi (n       raI
+            rhi (n#      raI
             rhi (z       raI
          _) rho (d       roU
          _) rhodo (@     roUd@
@@ -5385,6 +5388,7 @@
             th (ill      th
         ee) thing        DI2N
             the (_       D
+         &) th (L03_     =T
         ou) thed (_      Dd
             th (en_      D
          g) th (en_      T
@@ -5872,6 +5876,8 @@
         %B) y (_S1d      I
         _C) y (Ce        aI
          C) y (i         I
+        &C) y (an_      =I
+        &C) y (en_      =I
             y (iC_       j
         sf) y (_         aI
         Cf) y (_         %I
diff --git a/dictsource/ml_list b/dictsource/ml_list
index befaf6ea..4427306b 100644
--- a/dictsource/ml_list
+++ b/dictsource/ml_list
@@ -126,6 +126,8 @@ _9X	t'on.n.u:t.t.i
 
 _0C0	n'u:r:y
 _0C	nu:t.t.i
+_1C0	orynu:ry
+_1C	orynu:t.t.i
 _2C0	iRynn'u:ry
 _2C	irunnu:t.t.i
 _3C0	munn'u:ry
@@ -164,6 +166,8 @@ _1Xf	p'at
 _12f	p'antran.t
 _13f	p'atimu:v
 _14f	p'atina:l
+_15f	patin'ai:j
+_18f	patin'enn
 _19f	p'attomp'atin
 _20f	'iruvatin
 _2Xf	'iruvatt
diff --git a/dictsource/pt_list b/dictsource/pt_list
index 4cb3303c..1e44be77 100755
--- a/dictsource/pt_list
+++ b/dictsource/pt_list
@@ -340,7 +340,7 @@ elas	$u+	$verbf
 me	$u	$verbf	// reflexive
 te	$u	$verbf
 nos	$u	$nounf
-vos	vus	$u
+vos	$u
 la	$u
 lo	lU	$u
 las	$u
@@ -1060,6 +1060,7 @@ proveta		$alt2
 quarteto	$alt2
 queda		$alt
 quede		$alt2
+quimera		$alt
 quitinete	$alt
 quinteto	$alt2
 ramalhete	$alt2
@@ -1069,7 +1070,8 @@ reconstroem	$alt
 recordo		$alt
 recorto		$alt
 rede		$alt2
-reembolso	$alt  $verb
+reembolso	$alt2
+reembolso	$alt $verb
 reforço		$alt  $verb
 reforços	$alt
 refresco	$alt  $verb
@@ -1111,6 +1113,7 @@ sinopse		$alt
 soco		$alt2
 soco		$alt $verb
 sogra		$alt
+sopa		$alt2
 sopro		$alt2 $noun
 soro		$alt2
 sorvete		$alt2
diff --git a/dictsource/pt_rules b/dictsource/pt_rules
index dd8c2569..e0abc3f0 100755
--- a/dictsource/pt_rules
+++ b/dictsource/pt_rules
@@ -210,7 +210,6 @@
     ib) e (rL04_   E
      d) e (rL04_   E
     ed) e (rL04_   e
-     m) e (rL04_   E
     iv) e (rL04_   E
    pod) e (rA_     e
 
@@ -343,13 +342,14 @@
    êCC) e (C@      e
     ôC) e (C@      e
     áC) e (C@      e
-   áCC) e (C@      e
+   áCC) e (CA_     e
+   éCC) e (CA_     e
   éCCC) e (C@      e
     íC) el (_      eU
     íC) e (C@      e
    íCC) e (C@      e
     óC) e (C@      e
-   óCC) e (C@      e
+   óCC) e (CA_     e
     úC) e (C@      e
     úC) el (_      eU
         ection (_  'EkS&~N
@@ -427,6 +427,7 @@ _enver) e (dL03_   E
     ad) e (quL04_  E
   _dig) e (rL02_   E
   _ing) e (rL02_   E
+    _m) e (rL03_   E
   _sev) e (rL03_   E
  _reit) e (rL03_   E
  _sinc) e (rL03_   E
@@ -438,6 +439,8 @@ _enver) e (dL03_   E
    gen) e (rL04_   E         // de- re-
   _alt) e (rL04_   E
   _enc) e (rL04_   E
+  _esm) e (rL04_   E
+  _esm) e (rL04_   E
   _imp) e (rL04_   E
   _min) e (rL04_   E
   _sug) e (rL04_   E
@@ -448,9 +451,11 @@ _enver) e (dL03_   E
   eson) e (rL04_   E
  _apod) e (rL04_   E
  _coop) e (rL04_   E
+ _enum) e (rL04_   E
  _exub) e (rL04_   E
  _temp) e (rL04_   E
 _adult) e (rL04_   E
+_aglom) e (rL04_   E
 _dilac) e (rL04_   E
 _encarc) e (rL04_  E
 _incin) e (rL04_   E
@@ -512,7 +517,6 @@ _entorp) e (çL03_  e
 //endsort
 
 
-
 .group é
         é          ''E
         éi         ''EI
@@ -727,6 +731,9 @@ _entorp) e (çL03_  e
 ?2   _) os (_      Us
 ?2   _) os (_A     Uz
 ?2   _) os (_G     Uz
+?2  _v) os (_      us
+?2  _v) os (_A     uz
+?2  _v) os (_G     uz
         ou         ow
         oi         oI
         oi ($w_alt OI
@@ -825,6 +832,7 @@ _entorp) e (çL03_  e
      v) o (re_     o
      b) o (rL04_   O
         o (p_      O
+     C) o (pL04_   O
 ?1   _) o (C       O         // eg: olá, orla, opção, etc...
 ?1  _C) o (CACAC   u         // Documento, documentação, localizar, etc.
 ?1   f) o (rmat    u         // formatar, formato.
@@ -862,6 +870,7 @@ _pormen) o (L05_   O
  _engl) o (bL04_   O
   _sal) o (brL03_  o
      _) o (cL03_   o
+ _barr) o (cL03_   o
     _m) o (fL01_   O
     _m) o (fL02_   O
    _af) o (fL04_   O
@@ -874,13 +883,8 @@ _pormen) o (L05_   O
   _emp) o (lgL04_  O
      _) o (lhL04_  O
      m) o (lhL04_  O
-   emb) o (lsL02_  O
+   emb) o (lsL04_  O
   _env) o (ltL03_  o
-   ent) o (pL02_   O
-    _c) o (pL03_   O
-    _t) o (pL04_   O
-  _ens) o (pL04_   O
-  _gal) o (pL04_   O
     _s) o (prL04_  O
    _al) o (prL04_  O
   _ass) o (prL04_  O
diff --git a/dictsource/sl_list b/dictsource/sl_list
index 0f79b20c..4d9c5522 100755
--- a/dictsource/sl_list
+++ b/dictsource/sl_list
@@ -206,6 +206,15 @@ bom	bo+m $u   // example of unstressed [o]
 skozi	sko+zi $u+
 za	$u+
 
+le	lE
+
+
+// conjunctions
+če	tSE	$u
+ker	kER
+ter	tER	$u+
+vseeno	us'E:Eno
+
 
 // verb: to be
 sem	s@m $u
diff --git a/dictsource/sl_rules b/dictsource/sl_rules
index 8c5de2fe..35e39572 100755
--- a/dictsource/sl_rules
+++ b/dictsource/sl_rules
@@ -38,8 +38,12 @@
 .group e
         e        e:
         e (X$w_alt3+  'E
-        ee       i:
         
+        ee       i:
+    _n) ee       E:E
+    _r) ee       E:E
+   _pr) ee       E:E
+
         e (X$w_alt4 @
      @) e (n_    E#
     @C) e (r_    E#
@@ -119,7 +123,8 @@
         o (č_    'o:
         o (j_    'o:
         o (l_    'o:
-        oo	u:
+        o (oč    o:
+
         
 .group p
         p        p
diff --git a/phsource/ph_slovenian b/phsource/ph_slovenian
index 1b02a83a..a34538a5 100644
--- a/phsource/ph_slovenian
+++ b/phsource/ph_slovenian
@@ -119,7 +119,9 @@ phoneme k
     Vowelout f1=0 f2=2300 200 300  f3=-200 80  rms=20
   ENDIF
 
-  IF nextPh(isPause2) AND prevPhW(isVowel) THEN
+  IF thisPh(isWordEnd) THEN
+    WAV(ustop/k)
+  ELIF nextPh(isPause2) THEN
     WAV(ustop/k_)
   ELIF nextPh(r) OR nextPh(R) OR nextPh(R2) THEN
     WAV(ustop/kr)
diff --git a/src/dictionary.cpp b/src/dictionary.cpp
index cf33a6f3..87ef77b0 100644
--- a/src/dictionary.cpp
+++ b/src/dictionary.cpp
@@ -526,6 +526,10 @@ unsigned short ipa1[96] = {
 	0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f
 };
 
+#define N_PHON_OUT  500
+static char *phon_out_buf = NULL;
+static int phon_out_size = 0;
+
 
 char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags)
 {//===================================================================================================
@@ -629,8 +633,8 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int
 
 
 
-void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode)
-{//===============================================================================
+const char *GetTranslatedPhonemeString(int phoneme_mode)
+{//=======================================================
 	/* Called after a clause has been translated into phonemes, in order
 	   to display the clause in phoneme mnemonic form.
 
@@ -640,7 +644,6 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode
 
 	int  ix;
 	unsigned int  len;
-	unsigned int  max_len;
 	int  phon_out_ix=0;
 	int  stress;
 	int c;
@@ -668,108 +671,107 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode
 		use_tie = 0;
 	}
 
-	if(phon_out != NULL)
+	for(ix=1; ix<(n_phoneme_list-2); ix++)
 	{
-		for(ix=1; ix<(n_phoneme_list-2); ix++)
+		buf = phon_buf;
+
+		plist = &phoneme_list[ix];
+
+		WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
+		if(plist->newword)
+			*buf++ = ' ';
+		else
 		{
-			buf = phon_buf;
-
-			plist = &phoneme_list[ix];
-
-			WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
-			if(plist->newword)
-				*buf++ = ' ';
-			else
+			if((separate_phonemes != 0) && (ix > 1))
 			{
-				if((separate_phonemes != 0) && (ix > 1))
+				utf8_in(&c, phon_buf2);
+				if((c < 0x2b0) || (c > 0x36f))  // not if the phoneme starts with a superscript letter
 				{
-					utf8_in(&c, phon_buf2);
-					if((c < 0x2b0) || (c > 0x36f))  // not if the phoneme starts with a superscript letter
-					{
-						*buf++ = separate_phonemes;
-					}
+					*buf++ = separate_phonemes;
 				}
 			}
-
-			if(plist->synthflags & SFLAG_SYLLABLE)
-			{
-				if((stress = plist->stresslevel) > 1)
-				{
-					c = 0;
-					if(stress > 5) stress = 5;
-
-					if(use_ipa)
-					{
-						c = 0x2cc;  // ipa, secondary stress
-						if(stress > 3)
-							c = 0x02c8;  // ipa, primary stress
-					}
-					else
-					{
-						c = stress_chars[stress];
-					}
-
-					if(c != 0)
-					{
-						buf += utf8_out(c, buf);
-//						if(separate_phonemes)
-//							*buf++ = separate_phonemes;
-					}
-				}
-			}
-
-			flags = 0;
-			count = 0;
-			for(p=phon_buf2; *p != 0;)
-			{
-				p += utf8_in(&c, p);
-				if(use_tie > 0)
-				{
-					// look for non-inital alphabetic character, but not diacritic, superscript etc.
-					if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
-					{
-						buf += utf8_out(char_tie[use_tie-1], buf);
-					}
-				}
-				buf += utf8_out(c, buf);
-				count++;
-			}
-
-			if(plist->ph->code != phonSWITCH)
-			{
-				if(plist->synthflags & SFLAG_LENGTHEN)
-				{
-					buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa, NULL);
-				}
-				if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL))
-				{
-					// syllablic consonant
-					buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa, NULL);
-				}
-				if(plist->tone_ph > 0)
-				{
-					buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa, NULL);
-				}
-			}
-
-			len = buf - phon_buf;
-			max_len = (n_phon_out - phon_out_ix - 5);   // allow for " ..." and zero byte terminator
-			if(len > max_len)
-			{
-				strcpy(&phon_buf[max_len], " ...");
-				len = max_len + 4;
-			}
-			phon_buf[len] = 0;
-			strcpy(&phon_out[phon_out_ix], phon_buf);
-			phon_out_ix += len;
-
-			if(len > max_len)
-			{
-				break;
-			}
 		}
-		phon_out[phon_out_ix] = 0;
+
+		if(plist->synthflags & SFLAG_SYLLABLE)
+		{
+			if((stress = plist->stresslevel) > 1)
+			{
+				c = 0;
+				if(stress > 5) stress = 5;
+
+				if(use_ipa)
+				{
+					c = 0x2cc;  // ipa, secondary stress
+					if(stress > 3)
+						c = 0x02c8;  // ipa, primary stress
+				}
+				else
+				{
+					c = stress_chars[stress];
+				}
+
+				if(c != 0)
+				{
+					buf += utf8_out(c, buf);
+//						if(separate_phonemes)
+//							*buf++ = separate_phonemes;
+				}
+			}
+		}
+
+		flags = 0;
+		count = 0;
+		for(p=phon_buf2; *p != 0;)
+		{
+			p += utf8_in(&c, p);
+			if(use_tie > 0)
+			{
+				// look for non-inital alphabetic character, but not diacritic, superscript etc.
+				if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
+				{
+					buf += utf8_out(char_tie[use_tie-1], buf);
+				}
+			}
+			buf += utf8_out(c, buf);
+			count++;
+		}
+
+		if(plist->ph->code != phonSWITCH)
+		{
+			if(plist->synthflags & SFLAG_LENGTHEN)
+			{
+				buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa, NULL);
+			}
+			if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL))
+			{
+				// syllablic consonant
+				buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa, NULL);
+			}
+			if(plist->tone_ph > 0)
+			{
+				buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa, NULL);
+			}
+		}
+
+		len = buf - phon_buf;
+		if((phon_out_ix + len) >= phon_out_size)
+		{
+			// enlarge the phoneme buffer
+			phon_out_size = phon_out_ix + len + N_PHON_OUT;
+			if((phon_out_buf = (char *)realloc(phon_out_buf, phon_out_size)) == NULL)
+			{
+				phon_out_size = 0;
+				return("");
+			}
+		}
+
+		phon_buf[len] = 0;
+		strcpy(&phon_out_buf[phon_out_ix], phon_buf);
+		phon_out_ix += len;
 	}
+	phon_out_buf[phon_out_ix] = 0;
+
+	return(phon_out_buf);
 }  // end of GetTranslatedPhonemeString
 
 
diff --git a/src/numbers.cpp b/src/numbers.cpp
index 485f2eb1..4e21ae2b 100644
--- a/src/numbers.cpp
+++ b/src/numbers.cpp
@@ -1831,17 +1831,24 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
 			}
 			else
 			{
-				if((!found) && (tensunits == 0))
+				if((hundreds==1) && (tr->langopts.numbers2 & NUM2_OMIT_1_HUNDRED_ONLY) && ((control & 1)==0))
 				{
-					// is there a special pronunciation for exactly n00 ?
-					sprintf(string,"_%dC0",hundreds);
-					found = Lookup(tr, string, ph_digits);
+					// only look for special 100 if there are previous thousands
 				}
-
-				if(!found)
+				else
 				{
-					sprintf(string,"_%dC",hundreds);
-					found = Lookup(tr, string, ph_digits);  // is there a specific pronunciation for n-hundred ?
+					if((!found) && (tensunits == 0))
+					{
+						// is there a special pronunciation for exactly n00 ?
+						sprintf(string,"_%dC0",hundreds);
+						found = Lookup(tr, string, ph_digits);
+					}
+
+					if(!found)
+					{
+						sprintf(string,"_%dC",hundreds);
+						found = Lookup(tr, string, ph_digits);  // is there a specific pronunciation for n-hundred ?
+					}
 				}
 
 				if(found)
@@ -1855,9 +1862,6 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
 					{
 						if((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) != 0)
 							say_one_hundred = 0;
-
-						if(((tr->langopts.numbers2 & NUM2_OMIT_1_HUNDRED_ONLY) != 0) && ((control & 1)==0))
-							say_one_hundred = 0;
 					}
 
 					if(say_one_hundred != 0)
diff --git a/src/speak_lib.cpp b/src/speak_lib.cpp
index c0d197c5..dfbbd687 100644
--- a/src/speak_lib.cpp
+++ b/src/speak_lib.cpp
@@ -1164,14 +1164,15 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
 }   //  end of espeak_SetPhonemes
 
 
-ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode)
-{//==============================================================================================================
+ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode)
+{//=================================================================================================
 	/* phoneme_mode  bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
 	                 bits 4-7:   0=eSpeak phoneme names, 1=IPA
 	*/
+
 	option_multibyte = textmode & 7;
-	TranslateClause(translator, NULL, text, NULL, NULL);
-	GetTranslatedPhonemeString(buffer, size, phonememode);
+	*textptr = TranslateClause(translator, NULL, *textptr, NULL, NULL);
+	return(GetTranslatedPhonemeString(phonememode));
 }
 
 
diff --git a/src/speak_lib.h b/src/speak_lib.h
index d39dba8c..a5b2604c 100644
--- a/src/speak_lib.h
+++ b/src/speak_lib.h
@@ -34,7 +34,7 @@
 #define ESPEAK_API
 #endif
 
-#define ESPEAK_API_REVISION  7
+#define ESPEAK_API_REVISION  9
 /*
 Revision 2
    Added parameter "options" to eSpeakInitialize()
@@ -58,6 +58,9 @@ Revision 7  24.Dec.2011
 Revision 8  26.Apr.2013
   Added function espeak_TextToPhonemes().
 
+Revision 9  30.May.2013
+  Changed function espeak_TextToPhonemes().
+
 */
          /********************/
          /*  Initialization  */
diff --git a/src/synthdata.cpp b/src/synthdata.cpp
index 9f3cc273..889c9641 100644
--- a/src/synthdata.cpp
+++ b/src/synthdata.cpp
@@ -35,7 +35,7 @@
 #include "translate.h"
 #include "wave.h"
 
-const char *version_string = "1.47.11b  28.May.13";
+const char *version_string = "1.47.11c  31.May.13";
 const int version_phdata  = 0x014709;
 
 int option_device_number = -1;
diff --git a/src/synthesize.cpp b/src/synthesize.cpp
index 7fec4d84..a2444fc1 100644
--- a/src/synthesize.cpp
+++ b/src/synthesize.cpp
@@ -1865,6 +1865,7 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
 	char *voice_change;
 	static FILE *f_text=NULL;
 	static const void *p_text=NULL;
+	const char *phon_out;
 
 	if(control == 4)
 	{
@@ -1957,14 +1958,14 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
 		if(option_phonemes >= 3)
 			phoneme_mode = 0x10 + option_phonemes-3;   // 0x10=ipa, 0x11=ipa with tie, 0x12=ipa with ZWJ, 0x13=ipa with separators
 
-		GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), phoneme_mode);
+		phon_out = GetTranslatedPhonemeString(phoneme_mode);
 		if(option_phonemes > 0)
 		{
-			fprintf(f_trans,"%s\n",translator->phon_out);
+			fprintf(f_trans,"%s\n",phon_out);
 		}
 		if(phoneme_callback != NULL)
 		{
-			phoneme_callback(translator->phon_out);
+			phoneme_callback(phon_out);
 		}
 	}
 
diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp
index 742ae2f9..3a718796 100644
--- a/src/tr_languages.cpp
+++ b/src/tr_languages.cpp
@@ -1484,7 +1484,7 @@ SetLengthMods(tr,3);  // all equal
 			if(name2 == L('m','l'))
 			{
 				tr->letter_bits_offset = OFFSET_MALAYALAM;
-				tr->langopts.numbers = NUM_OMIT_1_THOUSAND;
+				tr->langopts.numbers = NUM_OMIT_1_THOUSAND | NUM_OMIT_1_HUNDRED;
 				tr->langopts.numbers2 = NUM2_OMIT_1_HUNDRED_ONLY;
 			}
 			else
diff --git a/src/translate.cpp b/src/translate.cpp
index 973592e7..b65d0ae9 100644
--- a/src/translate.cpp
+++ b/src/translate.cpp
@@ -3041,7 +3041,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
 					c = ' ';
 					pre_pause_add = 4;
 				}
-				else if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))
+				else if((prev_out == ' ') && IsAlpha(prev_out2) && !IsAlpha(prev_in))
 				{
 					// insert extra space between a word + space + hyphen, to distinguish 'a -2' from 'a-2'
 					sbuf[ix++] = ' ';
@@ -3139,7 +3139,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
 								decimal_sep_count = 1;
 							}
 						}
-						else if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in))
+						else if((prev_out == ' ') && IsAlpha(prev_out2) && !IsAlpha(prev_in))
 						{
 							// insert extra space between a word and a number, to distinguish 'a 2' from 'a2'
 							sbuf[ix++] = ' ';
diff --git a/src/translate.h b/src/translate.h
index 4b9c8701..6172440d 100644
--- a/src/translate.h
+++ b/src/translate.h
@@ -581,7 +581,6 @@ typedef struct
 	const char *transpose_map;
 	char dictionary_name[40];
 
-	char phon_out[500];
 	char phonemes_repeat[20];
 	int  phonemes_repeat_count;
 	int  phoneme_tab_ix;
@@ -723,7 +722,7 @@ int iswlower2(int c);
 int iswupper2(int c);
 int towlower2(unsigned int c);
 int towupper2(unsigned int c);
-void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode);
+const char *GetTranslatedPhonemeString(int phoneme_mode);
 const char *WordToString2(unsigned int word);
 ALPHABET *AlphabetFromChar(int c);
 ALPHABET *AlphabetFromName(const char *name);
diff --git a/src/transldlg.cpp b/src/transldlg.cpp
index c75eda58..58c7507b 100644
--- a/src/transldlg.cpp
+++ b/src/transldlg.cpp
@@ -406,6 +406,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
 	int translate_text = 0;
 	char buf[1000];
 	char phon_out[N_PH_LIST*2];
+	const char *phon_out2;
 	int clause_tone;
 	int clause_count;
 	int use_ipa = 0;
@@ -495,11 +496,11 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
 			CalcPitches(translator,clause_tone);
 			CalcLengths(translator);
 
-			GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
+			phon_out2 = GetTranslatedPhonemeString(use_ipa);
 			if(clause_count++ > 0)
 				strcat(phon_out," ||");
-			strcat(phon_out,translator->phon_out);
-			t_phonetic->SetValue(wxString(translator->phon_out,wxConvUTF8));
+			strcat(phon_out, phon_out2);
+			t_phonetic->SetValue(wxString(phon_out2, wxConvUTF8));
 
 			if((n_ph_list + n_phoneme_list) >= N_PH_LIST)
 			{

From c87a607d813978dcb46ab8e5c3a378d490f42c7a Mon Sep 17 00:00:00 2001
From: "Reece H. Dunn" 
Date: Fri, 31 May 2013 22:47:14 +0100
Subject: [PATCH 13/18] speak_lib.h: correct the updated signature of
 espeak_TextToPhonemes

---
 src/speak_lib.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/speak_lib.h b/src/speak_lib.h
index a5b2604c..fd38ceba 100644
--- a/src/speak_lib.h
+++ b/src/speak_lib.h
@@ -484,14 +484,10 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
 #ifdef __cplusplus
 extern "C"
 #endif
-ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
+ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode);
 /* Translates text into phonemes.  Call espeak_SetVoiceByName() first, to select a language.
    text: The text to translate, terminated by a zero character.
 
-   buffer: Output buffer for the phoneme translation.
-
-   size: Size of the output buffer in bytes.
-
    textmode: Type of character codes, one of:
          espeakCHARS_UTF8     UTF8 encoding
          espeakCHARS_8BIT     The 8 bit ISO-8859 character set for the particular language.

From 81e3e188cf46024df25a5cf2421f4077c8a5a9b1 Mon Sep 17 00:00:00 2001
From: jonsd 
Date: Sat, 1 Jun 2013 02:28:37 +0000
Subject: [PATCH 14/18] Update function prototype for espeak_TextToPhonemes()
 in speak_lib.h

git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@362 d46cf337-b52f-0410-862d-fd96e6ae7743
---
 src/speak_lib.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/speak_lib.h b/src/speak_lib.h
index a5b2604c..65d153c1 100644
--- a/src/speak_lib.h
+++ b/src/speak_lib.h
@@ -484,13 +484,15 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
 #ifdef __cplusplus
 extern "C"
 #endif
-ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
+ESPEAK_API const char *espeak_TextToPhonemes(const void **textptr, int textmode, int phonememode);
 /* Translates text into phonemes.  Call espeak_SetVoiceByName() first, to select a language.
-   text: The text to translate, terminated by a zero character.
 
-   buffer: Output buffer for the phoneme translation.
+   It returns a pointer to a character string which contains the phonemes for the text up to
+   end of a sentence, or comma, semicolon, colon, or similar punctuation.
 
-   size: Size of the output buffer in bytes.
+   textptr: The address of a pointer to the input text which is terminated by a zero character.
+      On return, the pointer has been advanced past the text which has been translated, or else set
+      to NULL to indicate that the end of the text has been reached.
 
    textmode: Type of character codes, one of:
          espeakCHARS_UTF8     UTF8 encoding

From 507caaaca268cbff973f6c0aa4c2ac8d7485a161 Mon Sep 17 00:00:00 2001
From: jonsd 
Date: Tue, 11 Jun 2013 11:24:57 +0000
Subject: [PATCH 15/18] [1.47.11d] Language updates: da, en, nl, pt, vi

git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@363 d46cf337-b52f-0410-862d-fd96e6ae7743
---
 dictsource/bn_rules           |    3 +-
 dictsource/da_list            |  154 +-
 dictsource/da_rules           | 5542 ++++++++++++++++++---------------
 dictsource/dict_phonemes      |   29 +-
 dictsource/en_list            |   23 +-
 dictsource/en_rules           |   18 +-
 dictsource/hi_rules           |   39 +-
 dictsource/hu_rules           |  137 +-
 dictsource/nl_list            |  207 +-
 dictsource/nl_rules           |   12 +-
 dictsource/pt_list            |  127 +-
 dictsource/pt_rules           |   63 +-
 dictsource/sl_list            |    5 +-
 dictsource/sl_rules           |    1 +
 dictsource/sw_rules           |    2 +
 dictsource/vi_rules           |  794 +++--
 phsource/compile_report       |   19 +-
 phsource/ph_bengali           |    4 +-
 phsource/ph_danish            |  530 +++-
 phsource/ph_vietnam           |   44 +-
 phsource/ustop/tsh_unasp2.wav |  Bin 0 -> 2224 bytes
 src/synthdata.cpp             |    2 +-
 22 files changed, 4487 insertions(+), 3268 deletions(-)
 create mode 100755 phsource/ustop/tsh_unasp2.wav

diff --git a/dictsource/bn_rules b/dictsource/bn_rules
index a405eda2..8698cea8 100755
--- a/dictsource/bn_rules
+++ b/dictsource/bn_rules
@@ -286,7 +286,8 @@
 .group য়
         য়       jV
      _) য় (B    j    
-        য় (B        // used to separate 2 vowels    
+        য় (B        // used to separate 2 vowels
+        য় (_    jo
 
         
 .group য
diff --git a/dictsource/da_list b/dictsource/da_list
index 9e13ce6f..bb67c07d 100755
--- a/dictsource/da_list
+++ b/dictsource/da_list
@@ -92,15 +92,15 @@ __	b'OnsdrAi
 _0	'nOl
 _1	'e:n
 _2	t'o
-_3	tR'e
-_4	f'i:V
-_5	f'Em
-_6	s'Egs
-_7	s'yw
+_3	tR'?e
+_4	f'iV
+_5	f'?Em
+_6	s'?Egs
+_7	s'?yw
 _8	'O:d@
-_9	n'i
-_10	t'i
-_11	'Elv@
+_9	n'?i
+_10	t'?i
+_11	'?Elv@
 _12	t'Vl
 _13	t*'?&#d@-n 
 _14	fj'ord@-n
@@ -110,11 +110,11 @@ _17	s'?Wd@-n
 _18	'?&d@-n  
 _19	n'?ed@-n
 _2X	t'y:?u
-_3X	t*'&#Dv@              
-_4X	 f'?W:_|V             
-_5X	h&l't*Es             
+_3X	t*'?&#Dv@              
+_4X	 f'?W_|V             
+_5X	h?&l't*?Es             
 _6X	t*'Es                
-_7X	h&lfj'Ers
+_7X	h?&lfj'?Ers
 _8X	f'irs
 _9X	h&lf'Ems // PB a changed to &
 _0C	h'unRVD
@@ -174,25 +174,25 @@ men		$pause	// but
 eller	// or
 mens		$pause	// while
 for	
-fordi	fVd'i $pause	// because
+fordi	f?Vd'?i $pause	// because
 når	nVr		$pause	// while
-der	dEr	$u+ $u    // PB changed from [dA]
+der	d?Er	$u+ $u    // PB changed from [dA]
 hvor	v'O	// where
-hvorfor	v?Of'?V	// why - final r deleted
+hvorfor	vOf'?V	// why - final r deleted
 
 // prepositions
-på		pO	$u
+på		p?O	$u
 til			$u+	// toward
 fra			$u+	// from
 ved			$u+	// at
 om			$u+ $brk	// about, within
 med			$u+	// with
-af      &_!  	
-ad      &_!  
-ad &D $atend $sentence // "Det må ikke skille os ad."
-at		&_! $u 
+af      ?&_!  	
+ad      ?&_!  
+ad ?&D $atend $sentence // "Det må ikke skille os ad."
+at		$u 
 hos			
-som	sVm	 $u   // which / that 
+som	s?Vm	 $u   // which / that 
 
 // pronouns
 jeg	jAj	$u+	// I 
@@ -204,8 +204,8 @@ det	de $u
 dét de
 vi	vi $u
 i	_i_! $u+
-mig	mAj	$u	// me
-dig	dAj	$u+
+mig	m?Aj	$u	// me
+dig	d?Aj	$u+
 dem	$u
 ham	$u
 hende	$u
@@ -224,7 +224,7 @@ mine	m'in@-
 din	d'in $u+
 dit	d'it	$u
 dine	d'in@-
-deres dE:Vs	$u
+deres dEVs	$u
 hans	$u+
 hendes	$u+
 dens	$u+
@@ -241,8 +241,8 @@ jeres	$u+
 
 // auxillary verbs
 er	Er	$u	// is/are
-var	vAr	$u+	// was/were
-har	hAr	$u+	// has/have
+var	vA	$u+	// was/were
+har	hA	$u+	// has/have
 havde	h&D@	$u+	// had
 vil		$u+	// will
 skal		$u+	// shall
@@ -344,16 +344,13 @@ snob		_^_EN
 song		_^_EN
 source		_^_EN
 spirit      _^_EN
-squaw		_^_EN
 sweatshirt	_^_EN
 talk		_^_EN
 teaser		_^_EN
 tech		_^_EN
 trip		_^_EN
-tuner		_^_EN
 unix		_^_EN
 venture		_^_EN
-western     _^_EN
 whipcord	_^_EN
 window		_^_EN
 word		_^_EN
@@ -362,6 +359,7 @@ warrior     _^_EN
 // Names
 august OgOsd $capital
 austin      _^_EN
+arlene Al'i:n $capital
 bailey      _^_EN
 bbc		    _^_EN
 boston      _^_EN
@@ -2999,7 +2997,7 @@ sardin  $alt
 satin   $alt
 serpentin  $alt
 sordin  $alt
-(stand-in) st&nd'in  $alt
+(stand-in) st&nd'en  $alt
 stearin  $alt
 streptomycin  $alt
 stryknin  $alt
@@ -4688,6 +4686,7 @@ rafaelisk  $alt
 rakitisk  $alt
 rapsodisk  $alt
 rationalistisk  $alt
+rhodesisk $alt
 realistisk  $alt
 recitativisk  $alt
 reflektorisk  $alt
@@ -5677,6 +5676,7 @@ skylleri   $alt
 skælmeri   $alt
 skænderi   $alt
 skætteri   $alt
+skyderi $alt
 slagteri   $alt
 slaveri   $alt
 sliberi   $alt
@@ -5958,7 +5958,7 @@ datamatiser   $alt
 dater   $alt
 debattere   $alt
 debiter   $alt
-debuter   $alt
+debutere   $alt
 decelerer   $alt
 dechifrer   $alt
 decider   $alt
@@ -6783,7 +6783,6 @@ origamer   $alt
 orkere   $alt
 orkestrer   $alt
 ornamenter   $alt
-orner   $alt
 osciller   $alt
 oxider   $alt
 oxyder   $alt
@@ -9635,7 +9634,7 @@ postillon  p,Vsdilj'VN $alt
 perron //pER'VN
 pompon $alt
 progesteron $alt
-salon s&l'VN $alt
+salon $alt
 sifon  $alt
 synkron $alt
 talon  $alt
@@ -9705,13 +9704,13 @@ bearbejdelig   $3
 bearbejdelse   $3
 bearbejder   $3
 bearbejdning   $3
-bechamel  beSam'e:l/3
-bechamelsauce  beSam'e:l/3s'O:s
-bechamelsovs   beSam'e:l/3s'Vws
+bechamel  b?eS?&m'?el/3
+bechamelsauce  b?eS?&m'?el/3s'O:s
+bechamelsovs   b?eS?&m'?el/3s'?Vws
 beduin   $3
 beduinstamme   $3
 beignet  beNe $2
-beignetdej  beNedaj $2
+beignetdej  b?EN'?ed?Aj $2
 bekkasin   $3
 belize  beli:s $2
 belizer  beli:sV $2
@@ -10083,7 +10082,6 @@ complet  $alt
 duatlet  $alt
 dublet  $alt
 epaulet  $alt
-//filet  $alt
 flageolet  $alt
 ifolet  $alt
 kavalet  $alt
@@ -10135,7 +10133,7 @@ konkubine   $alt
 krinoline   $alt
 kusine   $alt
 lavine   $alt
-limousine  limOs'i:n@  $alt
+limousine  l?im?Os'in@-  $alt
 margarine   $alt
 marine   $alt
 maskine   $alt
@@ -11123,42 +11121,33 @@ sinecure  $alt
 tournure  $alt
 
 // exceptions
-alene	&l'en@-	// alone
-egen _|aj@-n
-mc mak' $capital // PB McDonald
-egne	ajn@-
-enter	entV
-ide	id'e	// idea
-idé	id'e	// idea
-tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune]
+alene	?&l'?en@-	// alone
+egen _|Aj@-n
+mc m?Ak' $capital // PB McDonald
+egne	?Ajn@-
+enter	?Ent?V
+ide	?id'?e	// idea
+idé	?id'?e	// idea
+tune tun@- $capital // PB Tune lufthavn - not "tune a car" [tjune]
 ny	ny	// new
 også	?Vs@-	// also
-idet	id'e	// in so far as
-(rub og stub)  R'Ob||V||sd'Ob
-tre	tr'E	// the number 3
-rejicere rejis'eV          // PB should not be pronounced [raje]
-rejicerer rejis'eV         // PB
+idet	?id'?e	// in so far as
+(rub og stub)  R'?Ob||V||sd'?Ob
+tre	tr'?E	// the number 3
+rejicere r?Ej?is'?e?V          // PB should not be pronounced [raje]
+rejicerer r?Ej?is'?e?V         // PB
 rejiceres rejis'eVs        // PB
 rejicering rejis'eRiN      // PB
 nogle  n'o@-n             // PB English: 'some' - must be pronounced like the Danish word 'nogen'
 nogen  n'o@-n             // PB
-ligesom l?isVm              // PB
-bliver blir                // PB
-konfirmand kVnferm'&nd     // PB
-konfirmander kVnferm'&nd3  // PB
+ligesom l?is?Vm              // PB
+bliver bl?ir                // PB
+konfirmand k?Vnf?irm'?&nd     // PB
+konfirmander k?Vnf?irm'?&nd?V  // PB
 konfirmanderne kVnferm'&nd3-n@  // PB
-konfirmandernes kVnferm'&nd3-n@s  // PB
-giv g'i                    // PB the v shouldn't be pronounced
-giver gir                  // PB the v shouldn't be pronounced
-opgiver Vpgir    // PB
-jaloux sj&'lu              // PB jaloux
-aficionado afisjo'nA:do    // PB
-breakdance  brEig'd&:ns    // PB breakdance
-breakdancen  brEig'd&:ns@-n // PB breakdancen
-breakdancer  brEig'd&:nsV   // PB breakdancer
-breakdancere  brEig'd&:nsV3   // PB breakdancere
-breakdancerne  brEig'd&:nsV-n@ // PB breakdancerne
-breakdancernes  brEig'd&:nsV-n@s // PB breakdancernes
+konfirmandernes k?Vnf?irm'?&ndVn@-s  // PB
+jaloux sj?&'l?u              // PB jaloux
+aficionado ?&f?isj?o'nA:do    // PB
 squaredance  skw'EVd&:ns    // PB squaredance
 squaredancer  skw'EVd&:nsV  // PB squaredancer
 squaredancere  skw'EVd&:nsV3  // PB squaredancere
@@ -11167,19 +11156,19 @@ squaredancerne  skw'EVd&:nsV-n@ // PB squaredancerne
 squaredancernes  skw'EVd&:nsV-n@s // PB squaredancernes
 baguette b?&'gEt // French word used in Danish
 jambore djAmboR'E             // PB English? word used in Danish - stressed e
-shampu SjAmbo                // PB Danish pronunciation - oo has been replaced by u
-(en face)  AN||f'as           // PB 'en face' - French used in Danish
-(en bloc) AN||'blVk           // PB 'en bloc' - French used in Danish
-(haute couture) %o:tku'ty:r   // PB - french word
-(par excellence) pA:Egs@'la:Ns // PB - french word
-(public service) pVblek||sW:vis // PB
-(public servicen) pVblek||sW:vis@-n // PB
-(tour de force) tu:@d@||'fV:s  // PB
-(al qaeda) al||k'ajda          // PB
-(force majeure) fVrs||,ma'sjW:r // PB
-(diner transportable) din'e|trANspVt'abl@- // PB
-(quiche lorraine) kiS||lor'E:n:
-(fait accompli) fEt&kVmpl'i // PB
+shampoo Sj?Amb?o                // PB Danish pronunciation
+(en face)  AN||f'as           // 'en face' - French used in Danish
+(en bloc) AN||'blVk           // 'en bloc' - French used in Danish
+(haute couture) %o:tk?u'ty:r   // french word
+(par excellence) pA:Egs@-'la:Ns // french word
+(public service) p?Vbl?ek||sW:v?is
+(public servicen) p?Vbl?ek||sW:v?is@-n
+(tour de force) tu:@d@||'fV:s
+(al qaeda) al||k'?Ajd?&
+(force majeure) fVrs||,m?&'sjW:r
+(diner transportable) d?in'?e|tr?ANspVt'Abl@-
+(quiche lorraine) k?iS||l?or'E:n:
+(fait accompli) f?Et?&k?Vmpl'?i
 (salt lake city) s'Vlt||lEjk||s'iti
 wien     v'i:n                  // PB Wien - the town of Vienna
 calais   k&l'E                   // PB Calais - town in France 
@@ -11247,7 +11236,7 @@ ikes ajks // PB
 
 // Try to catch errors
 
-(et kvarter) et||kvA'ter      // PB
+(et kvarter) et||kvA'ter 
 (mit kvarter) mit||kvA'ter  
 (vores kvarter) vV:s||kvA'ter  
 (deres kvarter) dE:Vs||kvA'ter
@@ -11257,6 +11246,7 @@ ikes ajks // PB
 (at have) &||h&                
 (vil have) vel||h'& 
 (ville have) v?il3||h'& 
+(skulle have) sg'?ul@-||h'&
 (du have) du||h&_!
 (må have)  mO:||h&  
 (skal have)  sk?&||h&  
diff --git a/dictsource/da_rules b/dictsource/da_rules
index 3d4b593c..a5536cc0 100755
--- a/dictsource/da_rules
+++ b/dictsource/da_rules
@@ -36,13 +36,14 @@
 
 .group a
 
-        a          &         // changed from [a?]
+        a          ?&        // Defalut short a TEST
      _) at (_      &
      h) al (fback  A
         aaron      ArVn      // name
    zol) a          '&        // name
      m) ary        &ri       // name
     _t) ate        Ejt       // name
+     b) ates (_    Ejts      // name
 shangh) ai         Aj
     bl) a (zer     E
    vin) ai (gre    'E        // stressed
@@ -50,8 +51,18 @@ shangh) ai         Aj
  _gymn) a (sti     &         // avoid secondary stress in gymnastik
  stigm) a (ta      '&        // stressed
    arm) ad (a      '&:d      // stressed
+ _priv) a (t       '?&       // stressed
+  _pen) a (lhus    '?&       // stressed
+    di) abetes     ?&b'et@-s
         avondale   _^_en
 
+// Long a
+        a (Ce      &         // ane
+   L08) a (C       ?&        // staten
+    bl) anche      AntS      // name & in stead of A?
+    sp) a (de      &
+  _imp) a (la      '&:       // stressed
+
 // Short vowel before double consonant
      r) a (C%++    ?A        // trappe
         a (C%+     ?&        // pladder, basser, masser
@@ -80,16 +91,17 @@ shangh) ai         Aj
     pl) a (ner     ?&        // planer
     pl) a (nen     ?&        // planen
    bef) a (l       ?&        // befale
+     h) a (vet     ?&        // havet "the sea"
 
 // long & before de(n) - made long in ph_danish
         a (de      &         // gade
         a (den     &         //gaden
 
 // combinations with "lade = l&
-     l) ade (_være &
-     l) ader (_være A
-     l) ade (_dig  &
-     l) ade (_sig  &
+    _l) ade (_være_ &
+    _l) ader (_være_ A
+    _l) ade (_dig_ &
+    _l) ade (_sig_ &
 
 // Have = "oceans" vs. the verb have
  _vi_h) ave (_     &         // hvad skal vi have?
@@ -98,6 +110,8 @@ shangh) ai         Aj
   _i_h) ave (_     &         // hvad skal I have?
 _jeg_h) ave (_     &         // hvad skal jeg have?
 _vil_h) ave (_     &
+_han_h) ave (_     &
+_hun_h) ave (_     &
  _må_h) ave (_     &
 _kunne_h) ave (_   &         // kunne have sagt
 _kan_h) ave (_     &         // kunne have sagt
@@ -105,8 +119,18 @@ _burde_h) ave (_   &         // burde have sagt
 _også_h) ave (_    &
 _nok_h) ave (_     &
 _nødig_h) ave (_   &
+_bare_h) ave (_    &
+_kun_h) ave (_     &
 _ikke_h) ave (_    &
 _stadig_h) ave (_  &
+ _jo_h) ave (_     &
+_straks_h) ave (_  &
+_altid_h) ave (_   &
+_godt_h) ave (_    &
+_bør_h) ave (_     &
+    _h) ave (_et_  &
+    _h) ave (_en_  &
+    _h) ave (_tænkt_ &
 
      t) abernak    abVn'ak   // tabernakel, tabernakler
    mil) a (no      '&:       // stressed
@@ -122,7 +146,7 @@ _stadig_h) ave (_  &
      r) a (dio++   A         // shortend too much by ph_danish
     br) ady        Ejdi      // name
     br) adbury     &db@-re   // name
-        a (dress+  &         // afsenderadresse
+        a (dress++ &         // afsenderadresse
   _der) af (_      ,&        //
         a (nstreng++ &       // overanstrengelse
         a (ntal+   &         // meterantal
@@ -207,7 +231,7 @@ _stadig_h) ave (_  &
    L09) a (L02e+   &         // mave
    can) averal     '&v3r3l   // Cape Canaveral
     gn) av (pot    Aw        // gnavpotte
-  torn) ad (o      '&d       // stressed
+  torn) ado        '&d?o     // stressed
      n) a (p       A         //
    kan) ape        &p'e      // kanape
    kan) apé        &p'e      // kanapé
@@ -219,63 +243,64 @@ _stadig_h) ave (_  &
 
 // General rule a between L02: [A]
    L02) a (L02+    ?A        // mappe, pap - too broad?
-    _p) a (m_+     &         // Pam - name
-   L02) a (L02e+   &         // hvabehar - too broad?
-    _b) abe (_     Ejp       // Babe Ruth
-     f) a (brL04+  &         // fabrik
+    _p) a (m_+     ?&        // Pam - name
+   L02) a (be+     ?&        // hvabehar - too broad?
+    _b) abe (_     ?Ejp      // Babe Ruth
+     f) a (brL04+  ?&        // fabrik
    L02) a (ble     &         // vable
-  prim) a          &         // primaballerina
-   L02) a (L02ser  A         // babser
-     m) amelu (k   Am@-l'u   //
-     p) apegøje    Ab@-g'Vj@- //
+  prim) a          ?&        // primaballerina
+_reprim) and (e    '?&nd
+   L02) a (L02ser  ?A        // babser
+     m) amelu (k   ?Am@-l'?u //
+     p) apegøje    ?Ab@-g'?Vj@- //
      p) a (v+      &         // pave, pavillon
     sv) a (b       &         // svabre
 
-    sn) a (vs      A         //
-     m) a (jo+     &         // major, majonæse
+    sn) a (vs      ?A        //
+     m) a (jo+     ?&        // major, majonæse
 
 // general rule: [a] after l before n
      l) a (nd      ?&        // land, lande, landlig - short &
-     l) an (cer    AN        // lancere
-    pl) an (ch     AN        // planche
-   cas) ablan (ca  &bl'AN    // Casablanca
-   atl) a (ntis    '&        // stressed
+     l) an (cer    ?AN       // lancere
+    pl) an (ch     ?AN       // planche
+   cas) ablan (ca  ?&bl'?AN  // Casablanca
+   atl) a (ntis    '?&       // stressed
 
 // general rule: [A] after consonant before m
-     C) a (m+      A         // ham, gamle, lam, Sam, samarbejde
-     s) a (mL04+   &         // Samoa, Samuel
-   met) a (+       &         // metamorfose
-   _im) a (m       '&        // stressed
-     s) amurai     &mur'aI   // samurai
-     c) a (mp+     &         // camping
-        a (mulet   A         //
-     C) a (mæ+     &         // kamæleon TEST
-     C) a (mø+     &         // famøs TEST
-     g) ama (ch    &m'&      // gamacher
-   pan) a (ma      &         //
+     C) a (m+      ?A        // ham, gamle, lam, Sam, samarbejde
+     s) a (mL04+   ?&        // Samoa, Samuel
+   met) a (+       ?&        // metamorfose
+   _im) a (m       '?&       // stressed
+     s) amurai     ?&m?ur'aI // samurai
+     c) a (mp+     ?&        // camping
+        a (mulet   ?A        //
+     C) a (mæ+     ?&        // kamæleon TEST
+     C) a (mø+     ?&        // famøs TEST
+     g) ama (ch    ?&m'?&    // gamacher
+   pan) a (ma      ?&        //
   _dyn) a (mo      '&        // stressed
-   inf) a (m       '&        // stressed
-     h) a (mburger &         // junkfood
-     s) a (mant    &         // Samantha
-        a (ms      A         // PN Amsterdam
+   inf) a (m       '?&       // stressed
+     h) a (mburger ?&        // junkfood
+     s) a (mant    ?&        // Samantha
+        a (ms      ?A        // PN Amsterdam
    pyj) a (ma      '&        // pyjamas
-     c) amaro      &m'Ero    // Camaro (car)
-   lig) a          &         // ligamester
-        a (mn      A         // amning
+     c) amaro      ?&m'?Er?o // Camaro (car)
+   lig) a          ?&        // ligamester
+        a (mn      ?A        // amning
 
 // general rule: [&] after l before m + vowel
-     l) a (mA+     &         // lama, reklame
- _rekl) a (me      '&        // stressed
+     l) a (mA+     ?&        // lama, reklame
+ _rekl) a (me      '?&       // stressed
 
 // general rule: consonant + a + labial + front vowel
-     C) a (mi+     &         // vitamin, dynamit, kamin, familie
+     C) a (mi+     ?&        // vitamin, dynamit, kamin, familie
   gest) a (po      '?A       //
    kad) av (er     '?Aw      // stressed
-     r) a (L02L04+ A         // bravo
-     f) a (vo+     &         // favorit
- willi) a (m       A         // name
+     r) a (L02L04+ ?A        // bravo
+     f) a (vo+     ?&        // favorit
+ willi) a (m       ?A        // name
   alab) a (m       '&        // Alabama
-        a (mf      A         // amfetamin, amfora
+        a (mf      ?A        // amfetamin, amfora
 
 // general rule: [&] after f before m/n
      f) a (L09     &         // familie, fane
@@ -284,10 +309,12 @@ _stadig_h) ave (_  &
 
 // general rule: [&] after k
      k) a (+       &         // kage
+     k) a (s       ?&        // Amerikas
      k) a (CC      ?&        // kaste
      k) a (jak     ?&'       // kajak
+     k) a (viar    ?&
    mik) ad (o      '&:d      // stressed
-     k) a (kao+    ?&        // kakao
+     k) a (kao++   ?&        // kakao
  _chik) a (ne      '&        // stressed
     sk) a (k       ?A        // skak
      k) abaret     AbAr'E    //
@@ -318,44 +345,44 @@ narkotik) a        ?&        // narkotikaproblemer
      k) a (pre+    &:        // kapre
      k) a (pring   &:        //
 
-// general rule: [&] after sk before p/b
-    sk) a (L06+    &         // skab, beredskab
+// general rule: [?&] after sk before p/b
+    sk) a (L06+    ?&        // skab, beredskab
 
-// general rule: [A] after L01+ p/b + t
-   L01) a (L06t+   A         // skabt, gabt
+// general rule: [?A] after L01+ p/b + t
+   L01) a (L06t+   ?A        // skabt, gabt
 
 // general rule: [&] after d
      d) a (mL11+   &         // dame, damask
- _endd) a (_       '&        //
+ _endd) a (_       '?&       //
   _med) a (lje     '&        // stressed
-underd) a (nig     '&        // stressed
-        a (fbryd   A         // nødafbryder
-        a (fvi     A         // afvise
+underd) a (nig     '?&       // stressed
+        a (fbryd   ?A        // nødafbryder
+        a (fvi     ?A        // afvise
     ad) a (m       A         // name
-dommed) ag         &j        // dommedagsprædikant
-gammeld) a (gs     &         //
-     d) agger (t   AgV       //
-  mand) ag (s      &         // mandagsmiddag
- tirsd) ag (s      &         // tirsdagsmiddag
-  onsd) ag (s      &         // onsdagsmiddag
- torsd) ag (s      &         // torsdagsmiddag
-  fred) ag (s      &         // fredagsmiddag
-  lørd) ag (s      &         // lørdagsmiddag
-  sønd) ag (s      &         // søndagsmiddag
- hverd) ag         &         // hverdagskost
-    dd) a (g+      &         // middagstid
+dommed) ag         ?&j       // dommedagsprædikant
+gammeld) a (gs     ?&        //
+     d) agger (t   ?Ag?V     //
+  mand) ag (s      ?&        // mandagsmiddag
+ tirsd) ag (s      ?&        // tirsdagsmiddag
+  onsd) ag (s      ?&        // onsdagsmiddag
+ torsd) ag (s      ?&        // torsdagsmiddag
+  fred) ag (s      ?&        // fredagsmiddag
+  lørd) ag (s      ?&        // lørdagsmiddag
+  sønd) ag (s      ?&        // søndagsmiddag
+ hverd) ag         ?&        // hverdagskost
+    dd) a (g+      ?&        // middagstid
 
-// general rule: [A] after d before mp
-     d) a (mp      A         // damp
+// general rule: [?A] after d before mp
+     d) a (mp      ?A        // damp
 
 // general rule: [A] after a followed by k/g plus t
         a (L01t+   A         // ak, aktionær, aktuar
 
-// general rule: [A] after k before g (au)
-     k) a (g       A         // kagle
+// general rule: [?A] after k before g (au)
+     k) a (g       ?A        // kagle
 
 // general rule: [Au] after m/n before g (au)
-   L09) ag (+      Au        // nagle
+   L09) ag (+      ?Au       // nagle
      m) agn (on    &nj       // Cro-Magnon
    arm) agh        'A:       // name
      n) agasaki    ag&s'aki  //
@@ -364,6 +391,7 @@ gammeld) a (gs     &         //
    arm) agna (c    &N'A      //
      m) ag (re     &j        // radmagre
      m) ag (asi    Ag        // magasin
+     m) ag (t+     Ag        // fuldmagt
    syn) ag (oge    &g        //
      m) agazine    &g&s'i:n  // magazine
         aggie      &gi       // Maggie
@@ -412,26 +440,38 @@ gammeld) a (gs     &         //
     _t) av (_      Aw        // han tav stille
 
 // general rule: [A] before r
-        ar (K++    A:        // skar, barsk
+        ar (+      Ar        // areal
+        ar (C+     A:        // snart
+        ar (_++    A         // skar
+        ar (CC     A:        // barsk TEST - before unvoiced consonants
+        ar (n+     A         // barn - voiced consonants like n add length to the vowel
         ar (CA++   A         // farten, kartofler
         ar (Ci++   A         // farlig
+        arr (i++   A-        // karriere
      C) ar (A+     Ar        // karikere
+   kan) ar (ie     'Ar       // kanariefugl - stressed
         ar (k+     A:        // marken
      t) ar (L04+   AR        // tarif TEST
-     C) are (+     AA        // klare, bare
-     C) arer (_    AA        // klarer
+     C) are (de+   A?A       // klarede
+     C) are (+     AA_!      // klare, bare
+        ar (evolution+ AR    // kontrarevolutionær
+     k) are (n+    A:        // name
+    kl) arer (_    AA        // klarer
+     C) arerne     A?An@-    // barerne
      _) ar (i+     A:        // arier, arisk
    L08) are (++    AA        // skare, sparepenge
         aret (+    A?A@-D    // advaret
+  marg) aret       @-R&#t    // name
         ar (ne+    A         // barnet
      p) ar (e+     AR        // reparere, parere TEST
      f) are (++    AA        // fare
+     p) ara (di+   AA        // paradis
      f) ar (et++   A3-       // faret
      f) arer (++   A:V       // farer, søfarer
      f) arere (++  A:VR@-    // søfareren
         ar (a+     AR        // arabisk, ara
      m) ar (in     AR        // marina
-        ar (_++    Ar        // sårbar
+     @) ar (_++    A         // sårbar
      C) ara (k     AA        // karakteristika
         a (rr++    ?A        // narren - short A
     ti) a (ra      'A:       // stressed
@@ -457,150 +497,151 @@ _longob) a (rd     'A        // stressed
  _bulg) a (r       'A        // bulgarer - stressed
 
 // general rule: [A] before velars
-        a (L01++   ?A        // planke, slanke, anke, flanke, gang, hank, aksel, maj, blanko
+        a (L01+++  ?A        // planke, slanke, anke, flanke, gang, hank, aksel, maj, blanko
         a (L01%++  ?A        // bakken
         a (L01L04++ ?&       // Patagonien TEST
-//		v) a (Cu++ ?& // evakuere TEST
         a (x       A         // Axel
    _ig) a (ng@     'A        // igangværende
     es) aj (as     'aI       // name
   pizz) a          &         // pizzakæde
      b) a (jonet   &         //
      l) a (gune    &         //
-     C) a (kL04++  A         // pakistan
- afrik) a (+       &         // Afrikakorpset
-     f) a (cL04++  &         // facon, facilitet
-   kap) a (cit     &         // kapacitet
-        ag (gregat &         //
-        ang (ul++  Ang       // rektangulær - not a silent g
-     j) a (L10o+   A         // Jakob, Jacob
-     h) a (nkøn++  &         //
-     h) a (nkanin  &         //
-    sp) a (nkuler  A         //
-        akryl      &kr'yl    //
-   mal) a (L01a    &         // Malaga TEST
-   beh) a (g       &         //
- big_b) a (ng      &         //
+     C) a (kL04++  ?A        // pakistan
+ afrik) a (+       ?&        // Afrikakorpset
+     f) a (cL04++  ?&        // facon, facilitet
+   kap) a (cit     ?&        // kapacitet
+        ag (gregat+ ?&       //
+        ang (ul++  ?Ang      // rektangulær - not a silent g
+     j) a (L10o+   ?A        // Jakob, Jacob
+     h) a (nkøn++  ?&        //
+     h) a (nkanin  ?&        //
+    sp) a (nkuler  ?A        //
+        akryl      ?&kr'?yl  //
+   mal) a (L01a    ?&        // Malaga TEST
+   beh) a (g       ?&        //
+ big_b) a (ng      ?&        //
   airb) a (g       &         //
-    di) a (L01+    &         // diakon
-     h) a (nkat    &         //
-    _m) ag (_+     &j        //
-     f) ag (_      &j        // hovedfag
- _mass) a (kre     'A        // stressed
-  _gal) a (kse     'A        // stressed
-     _) a (L01L04++ &        // angive, ankomme
-  selv) a (ngiv    &         // selvangivelse
-     p) a (gn+     &         // kompagniskab
-     p) a (gL11+   &         // propaganda
-     @) a (krL04+  &         // anakronisme TEST
-     r) a (L01++   A         // tragisk
-boomer) a (ng      'A        // stressed
-     r) angoon     &ng'u:n   //
+    di) a (L01+    ?&        // diakon
+     h) a (nkat    ?&        //
+    _m) ag (_+     ?&j       //
+     f) ag (_      ?&j       // hovedfag
+ _mass) a (kre     '?A       // stressed
+  _gal) a (kse     '?A       // stressed
+     _) a (L01L04++ ?&       // angive, ankomme
+  selv) a (ngiv    ?&        // selvangivelse
+     p) a (gn+     ?&        // kompagniskab
+     p) a (gL11+   ?&        // propaganda
+     @) a (krL04+  ?&        // anakronisme TEST
+     r) a (L01++   ?A        // tragisk
+boomer) a (ng      '?A       // stressed
+     r) angoon     &&ng'u:n  //
         aka (dem++ ?&k?&     // militærakademi
-        a (ggres++ &         // aggression
-   spr) ag (let    Aw        //
-     _) a (gA++    &         // agere
-  tilf) a (nge     'A        // tilfangetagelse
-michel) angelo     'andZ3lo  // name
-  firm) a (+       &         // OB firmaet
-    re) a (g+      &         // reagere, reagensglas
-        a (kaC++   &         // akavet, akademiker, akacie
-     f) a (nklub+  &         //
-        a (nho++   &         // anholde
-        a (ngav++  &         // angav
-        a (ngå++   &         //
-     b) a (gage++  &         // bagage
+        a (ggres++ ?&        // aggression
+   spr) ag (let    ?Aw       //
+     _) a (gA++    ?&        // agere
+  tilf) a (nge     '?A       // tilfangetagelse
+michel) angelo     '?and?Z3l?o // name
+  firm) a (+       ?&        // firmaet
+    re) a (g+      ?&        // reagere, reagensglas
+        a (kaC++   ?&        // akavet, akademiker, akacie
+     f) a (nklub+  ?&        //
+        a (nho++   ?&        // anholde
+        a (ngav++  ?&        // angav
+        a (ngå++   ?&        //
+     b) a (gage++  ?&        // bagage
      s) a (g+      ?&        // ankesag, sag, heksagon
      s) a (go      &
 
 // General rule: sag => sAu
-     s) ag (C+     Au        // sagfører
-     s) ag (s_+    &j        // for den sags skyld
-     s) ag (sma++  &j        // sagsmappe
-     s) ag (san++  &j        // sagsanlæg
-     s) ag (som++  &j        // sagsomkostninger
-     s) ag (sbehandl++ &j    // sagsbehandler
-snakkes) ag (lig   '&        //
-     s) ag (sø     Au        // sagsøge
+     s) ag (C+     ?Au       // sagfører
+     s) ag (s_+    ?&j       // for den sags skyld
+     s) ag (sma++  ?&j       // sagsmappe
+     s) ag (san++  ?&j       // sagsanlæg
+     s) ag (som++  ?&j       // sagsomkostninger
+     s) ag (sbehandl++ ?&j   // sagsbehandler
+snakkes) ag (lig   '?&       //
+     s) ag (sø     ?Au       // sagsøge
 
-    sl) a (ng+     &         //
-    sl) a (nge+    A         //
- livsl) a (ng+     A         // livslang
-  skav) a (nk      'A        //
-        a (nklag++ &         // anklage
-        ang (re    AN        // angre
-     _) ang (eC    AN        // anger,  angelsaksisk
-     _) ang (ol    Ang       // Angola
-        ang (ina   Ang       //
-        ang (iogr  Ang       // angiografi
-        ang (reb   &ng       // angreb
-        ang (ri+   &ng       // angribe
-     _) angela     &ndZ@l&   // name
-        a (gt      A         // agt
-     l) a (gt+     A         // lagt - avoid [au]
-  forl) a (gt_     ''A       // stressed
-  _bat) a (lje     '&        // stressed
-        alfie      &lfi      // name
+    sl) a (ng+     ?&        //
+    sl) a (nge+    ?A        //
+ livsl) a (ng+     ?A        // livslang
+  skav) a (nk      '?A       //
+        a (nklag++ ?&        // anklage
+        ang (re    ?AN       // angre
+     _) ang (eC    ?AN       // anger,  angelsaksisk
+     _) ang (ol    ?Ang      // Angola
+        ang (ina   ?Ang      //
+        ang (iogr  ?Ang      // angiografi
+        ang (reb   ?&ng      // angreb
+        ang (ri+   ?&ng      // angribe
+     _) angela     ?&ndZ@l?& // name
+        a (gt      ?A        // agt
+     l) a (gt+     ?A        // lagt - avoid [au]
+  besl) ag (l+     Aw        // beslaglagt
+  forl) a (gt_     ''?A      // stressed
+  _bat) a (lje     '?&       // stressed
+        alfie      ?&lf?i    // name
 
 // general rule: [A] before vn
-        a (vn+     A         // favn, savn, avner
+        a (vn+     ?A        // favn, savn, avner
     gn) a (vne     &         //
 
  // general rule: consonant + a + c/k: [A]
-     C) a (L10     A         // makværk, Jacob
-     l) acrosse    &kr'Vs    // game
-   tax) a          &         // taxachauffør
-     f) a (cL11    &         // facade
-   att) ache       &S'e      //
+     C) a (L10     ?A        // makværk, Jacob
+     l) acrosse    ?&kr'?Vs  // game
+   tax) a          ?&        // taxachauffør
+     f) a (cL11    ?&        // facade, facet
+   att) ache       ?&S'?e    //
      C) a (L10L04  ?&        // pacifist - maybe not a valid rule c = s here
-     k) atakomb    &t&k'omb  //
+     k) atakomb    ?&t?&k'?omb //
      C) a (L10e    A         // race
- sperm) a          &         // spermacethval
-    _p) alace      &l&s      // Buckingham Palace
+ sperm) a          ?&        // spermacethval
+    _p) alace      ?&l?&s    // Buckingham Palace
    L08) a (L10L04  &         // stakit
-    pl) a (ka      &         // plakat
-    pl) a (ce      &         // placere
-    st) a (ka      &         // stakat
-     k) a (ka++    A         // kakadue
+    pl) a (ka      ?&        // plakat
+    pl) a (ce      ?&        // placere
+    st) a (ka      ?&        // stakat
+     k) a (ka++    ?A        // kakadue
 
         a (k%o+    ?&        // akkord, akkompagnerer
         a (k%u+    ?A        // akkurat
-        a (kvA+    &         // akvarium
-        appe (tit+ Ab@-      // appetit
-        a (bnorm   A         //
-        abdo (m    Abd'o     // abdomen - stressed
-     _) a (bC      A         // Abdul, abdicere
-     s) a (ble     &:        // nedsable
-     t) a (blet    &         // sprittabletter
-        a (bb      &         // abbedi
-        a (bra     &         // Abraham
-        a (bru     &         // abrupt
+        a (kvA+    ?&        // akvarium
+        appe (tit+ ?Ab@-     // appetit
+        a (bnorm   ?A        //
+        abdo (m    ?Abd'?o   // abdomen - stressed
+     _) a (bC      ?A        // Abdul, abdicere
+     s) a (ble     ?&        // nedsable
+     t) a (blet    &&        // sprittabletter
+        a (bb      ?&        // abbedi
+        a (bra     ?&        // Abraham
+        a (bru     ?&        // abrupt
      h) a (cienda++ _^_es    //
      l) a (kr      %&        // lakrids
-     e) a          &         // Korea, azalea
-     b) ayer       aIV       // bayersk, Bayern
+     e) a          ?&        // Korea, azalea
+     b) ayer       aI?V      // bayersk, Bayern
     _b) ay (_      Ej        // Thunder Bay
         ayatollah  aI&t'Vl&  //
      b) ayreuth    aIR'Vjt   // German town
      m) anhattan   &nh'&t@n  //
-bloody_m) ary      &ri       //
+bloody_m) ary      ?&ri      //
     gu) ay         aI        // Paraguay
-        a (mp      %A        // ampul
+        a (mp      %?A       // ampul
      _) aage       O:?u@-    // name
      _) a (men_    A         //
      _) amager     AmAr      // Amager
      _) amy        Ejmi      // name
      g) aux        'o        // Margaux
-        a (ppar+   A         // apparat
-        a (ppelsin+ A        // appelsin
-        ae (ro     E         // aerobic, aerosol
+        a (ppar+   ?A        // apparat
+        a (ppelsin+ ?A       // appelsin
+        ae (ro     ?E        // aerobic, aerosol
    _st) a (ll      O         // about airplane "stall"
      t) alk (show  Ok        //
-     r) a (cerbil  E         //
-     r) a (cercyk  E         //
-     r) a (cerbane E         //
-     r) a (cervogn E         //
-     r) a (cerkør  E         //
+     r) a (cerbil+ ?E        //
+     r) a (cercyk+ ?E        //
+     r) a (cerbane+ ?E       //
+     r) a (cervogn+ ?E       //
+     r) a (cerkør+ ?E        //
+     r) a (cer-+   E:        // racer-mekaniker
   _okt) a (v       '?&       // stressed
  _konk) a (v       '?&       // stressed
   _det) a (lje     '&        // stressed
@@ -608,7 +649,7 @@ bloody_m) ary      &ri       //
   _pol) a (k       '?A       // stressed polak
   _kos) a (k       '?A       // stressed - kosak
 _milli) ar         '?A       // stressed - milliard
-_trilli) a         'AA       // stressed - trilliard
+_trilli) ar        '?A       // stressed - trilliard
  _sejl) ad (s      '?&       // stressed - silent d
   sejl) ad (s      ?&        // unstressed - silent d
   _sah) a (ra      'A        // stressed
@@ -645,8 +686,8 @@ himmel_og_h) av    A?u       // "sea/ocean" not "have" = "garden"
  champ) agne       '&nj@-    // champagne
  _kamp) agne       '&nj@-    // stressed
         ag (nos    %Ag       // agnostiker
-   hav) a (nna     '&        // Havanna
-     h) a (ck+     &         // hacke
+   hav) a (nna     '?&       // Havanna
+     h) a (ck+     ?&        // hacke
  color) ado        'Ado      // US state
      _) av (_      Au        // av
     _f) akultet    &kult'et  // fakultet
@@ -655,24 +696,24 @@ himmel_og_h) av    A?u       // "sea/ocean" not "have" = "garden"
         absolution AbsoluSon //
      _) attribution &tRibuS'on //
         attribution &tRibuSon //
-     C) a (x+      A         // fax, taxa
-     m) a (ka      &         // PN makaber
-  klim) a          &         // klimarelateret
-  klim) a (ks      A         //
-     C) a (ck      A         // tackle
-    sn) a (ck      &         //
-    bl) a (ck      &         // blackout
+     C) a (x++     ?A        // fax, taxa
+     m) a (ka      ?&        // PN makaber
+  klim) a          ?&        // klimarelateret
+  klim) a (ks      ?A        //
+     C) a (ck      ?A        // tackle
+    sn) a (ck      ?&        //
+    bl) a (ck      ?&        // blackout
 //     s) a (x       A         // saxofon
-    @l) a (g       &j        // nederlag
-    _v) ag (_      &j        //
+    @l) a (g       ?&j       // nederlag
+    _v) ag (_      ?&j       //
     _v) ag (e_     &j        //
-lidt_v) ag (t      &j        //
-    gr) ape        Eb        // grapefrugt
-        astaire    &sd'E:r   // name
-        albuquerque &l/2b3kWki // US city
+lidt_v) ag (t      ?&j       //
+    gr) ape        ?Eb       // grapefrugt
+        astaire    ?&sd'E:r  // name
+        albuquerque ?&l/2b3kWki // US city
      l) arge       AdZ       //
-        a (merikan A         // amerikansk
-        aids       Eids      //
+        a (merikan ?A        // amerikansk
+        aids       ?Eids     //
         air        E:3-      // airbag, fair
      n) ai (robi   aI'       //
     _k) airo       aIro      // Kairo
@@ -746,7 +787,7 @@ _oblig) atio (n    &S'o      // clash with "obligat" in da_list
  oblig) atio (n    &S'o      // statsobligation
 
 // (stressed a in final -ar - words in da_list
-     &) ar ($p_alt+ ''A      // antikvar, dinar
+     &) ar ($p_alt+++ ''A    // antikvar, dinar, cigarer
      &) ar (iat$p_alt ''A    // antikvariat
 
 // nouns with final -ade in da_list - stressed a
@@ -768,9 +809,9 @@ _oblig) atio (n    &S'o      // clash with "obligat" in da_list
     &r) an (ne$p_alt2+ '?A   // tyrannen - one n
 
 // final -abel in da_list - stressed a
-     &) ab (el$p_alt '?&b    // aimabel
-    &r) ab (el$p_alt '?Ab    // kurabel
-     &) ab (le$p_alt '&b     // konstabler
+     &) ab (el$p_alt ''?&b   // aimabel
+    &r) ab (el$p_alt ''?Ab   // kurabel
+     &) ab (le$p_alt ''&b    // konstabler
 
 // nouns with final -agtig in da_list - stressed a
      &) agtig ($p_alt+ 'Agti // tyvagtig
@@ -817,14 +858,14 @@ _tsarin) a         =&
 _zarin) a          =&
 
 // a few words with -akt - stressed a
-_abstr) a (kt      'A
-  _eks) a (kt      'A
-_ekstr) a (kt      'A
-  _int) a (kt      'A
-_katar) a (kt      'A
- _komp) a (kt      'A
- _kont) a (kt      'A
-_kontr) a (kt      'A
+_abstr) a (kt      '?A
+  _eks) a (kt      '?A
+_ekstr) a (kt      '?A
+  _int) a (kt      '?A
+_katar) a (kt      '?A
+ _komp) a (kt      '?A
+ _kont) a (kt      '?A
+_kontr) a (kt      '?A
 
      v) a (nlig    '&        // usædvanlig - stressed a
    pal) ad (s      '&        // palads - stressed a, silent d
@@ -856,8 +897,9 @@ _chimp) a (n       '&        // stressed - chimpanse
   _kak) a (o       '&        // stressed
   _can) a (dier    '&        // stressed
         a (sme     '&        // orgasme,  entusiasme
-    bl) a (d       &         // blad
-     h) a (n       &         // han
+    bl) a (d       ?&        // blad
+    bl) a (de      &
+     h) a (n       ?&        // han
         a (nsk     ?&        // dansk, danske - short vowel
         a (ndsk    ?&        // handske
      h) a (ndl     ?&        // handle
@@ -867,104 +909,106 @@ _chimp) a (n       '&        // stressed - chimpanse
      l) ave (_     &v@-      // lave
      l) aver (_    &vV       // laver
     sl) ave        &v@-      // slavearbejde
-    sl) aver       &vV       //
-    sl) averi      &vVr'i    //
+    sl) aver       &v?V      //
+    sl) averi      &v?Vr'i   //
  _enkl) a (ve+     '&        // stressed
- _enkl) aver       '&vV      // stressed
+ _enkl) aver       '&v?V     // stressed
    pal) a (ver+    '&        // stressed - also [aw]
-kanonl) avet       &vEd      // exception - French origin
+kanonl) avet       ?&v?Ed    // exception - French origin
  freel) ance       A:Ns      //
-    kl) aver (_    &v'er     // klaver
-     g) a (v       &:        // gav, opgave
-     g) avflab     awfl&b    //
-     g) av (tyv    a?u       //
-     b) a (jer     A         //
-     b) aby (+     Ejbi      // baby
-     _) a (nderled+ A        // anderledes
-     _) anderson   &ndVsVn   // name
-     _) angie      &ndZi     // name
-     _) a (ndet    &         // andet
-     _) a (nden    &         // anden
-     t) a (bt      A         // tabte
-     l) a (b_+     A         // lab
-    fl) a (b_+     &         //
+    kl) aver (_    ?&v'?er   // klaver
+     g) a (v       ?&        // gav, opgav
+     g) a (ve      &         // gave, opgave
+     g) avflab     ?Awfl?&b  //
+     g) av (tyv    ?a?u      //
+     b) a (jer     ?A        //
+     b) aby (+     ?Ejb?i    // baby
+     _) a (nderled+ ?A       // anderledes
+     _) anderson   ?&nd?Vs?Vn // name
+     _) angie      &ndZ?i    // name
+     _) a (ndet    ?&        // andet
+     _) a (nden    ?&        // anden
+     t) a (bt      ?A        // tabte
+     l) a (b_+     ?A        // lab
+    fl) a (b_+     ?&
      l) a (bb      ?A        // labben
      l) a (be      &         // laber
    L08) a (bL11    &:        // skabe
-     _) a (bs      A         // absolut, abstrakt, absurd
-        a (bc      A         // abces
-        ai (mabel  E         // aimabel
-   mir) abel       Ab'El     // mirabel(le)
+     _) a (bs      ?A        // absolut, abstrakt, absurd
+        a (bc      ?A        // abces
+        ai (mabel  ?E        // aimabel
+   mir) abel       ?Ab'?El   // mirabel(le)
      p) ace        Eis       // motorpace, pacemaker
  pacem) a (k       Ei        // pacemaker
 interf) a (ce      Ei        // interface
-  busk) ad (s      '&        //
+  busk) ad (s      '&
      _) a (e_      &         // ae
-        a (fC+     A         // [Af] = [au] and exceptions in the f group
-    st) af (f      &         // staffet, staffeli
+        a (fC+     ?A        // [Af] = [au] and exceptions in the f group
+    st) af (f      ?&        // staffet, staffeli
+     s) a (fran    ?&
      k) aff (e+    ?Af       // skaffe, kaffe
-     k) a (f       A         // skaf
-  vodk) a          &         // vodkaflaske
-        a (ffære+  &         //
-    st) a (ffage   &         //
-        a (ffutage &         //
-        aftershave aftVSEjv  //
-   gir) a (f       'A        //
-    ri) a (m       A         // Miriam
-   sof) a          &         // sofafjeder
-     _) a (ffekt+  &         // affekt
-        a (fsted+  &         // afstedkomme
-   col) a          &         // colaflaske
-     C) a (ft      A         // haft, saft
-        af (tal    Aw        // frokostaftale
-    sl) a (L06     A         // slap
- mount) ai (n      e         // mountain
- cockt) ail        Ejl       //
-  cont) ai (n      'Ej       // container
+     k) a (f+      ?A        // skaf
+  vodk) a          ?&        // vodkaflaske
+        a (ffære+  ?&
+    st) a (ffage   ?&
+        a (ffutage ?&
+        aftershave ?Aft?VS?Ejv
+   gir) a (f       '?A
+    ri) a (m       ?A        // Miriam
+   sof) a (+       ?&        // sofafjeder
+     _) a (ffekt+  ?&        // affekt
+        a (fsted+  ?&        // afstedkomme
+   col) a          ?&        // colaflaske
+     C) a (ft      ?A        // haft, saft
+        af (tal    ?Aw       // frokostaftale
+    sl) a (L06     ?A        // slap
+ mount) ai (n      ?e        // mountain
+ cockt) ail        ?Ejl
+  cont) ai (n      '?Ej      // container
     cr) aw         V         // Crawford
-     d) ay         Ej        // holyday, Holliday
-     h) a (sting   Ej        // Hasting
-cornfl) akes       Ejgs      //
+     d) ay         ?Ej       // holyday, Holliday
+     h) a (sting   ?Ej       // Hasting
+cornfl) akes       ?Ejgs
      w) al (k      V:        // walkie-talkie, walkman
      w) all        V:l       // WQall street
      n) aise       'E:s@-    // mayonnaise
-    br) ai (s      E         // braisere
-     k) ai (n      &|'i:     // kokain
+    br) ai (s      ?E        // braisere
+     k) ai (n      ?&|'i:    // kokain
     _k) ai (n      aI        // name Kain
-    ld) a (k       &         // baldakin
+    ld) a (k       ?&        // baldakin
    mir) a (k       'A        // mirakel - stressed a
      t) a (lA      &         // tale
-     t) a (p       A         // tap
-   kat) a (pult    &'        //
-     t) a (pL11    &         // tapet, tapas
-   _et) a (pe      'A        //
-     t) a (pi      &         // tapir
-     _) aha (_     Ah'A      //
-     p) a (pi+     &         // papir - replace with: p) a (CL04 ??
-     p) a (pri+    A         // paprika
-guatem) a (l       '&
+     t) a (p       ?A        // tap
+   kat) a (pult    ?&'
+     t) a (pL11    ?&        // tapet, tapas
+   _et) a (pe      '?A
+     t) a (pi      ?&        // tapir
+     _) aha (_     ?Ah'?A
+     p) a (pi+     ?&        // papir - replace with: p) a (CL04 ??
+     p) a (pri+    ?A        // paprika
+guatem) a (l       '?&
      m) alaj       &l'aI     // stressed
-   L09) a (ld      &         // knald
-     _) a (ldrig+  A         // aldrig
-        a (lde     &         // alder
-        aldetha    &ld'iT&   // name
+   L09) a (ld      ?&        // knald
+     _) a (ldrig+  ?A        // aldrig
+        a (lde     ?&        // alder
+        aldetha    ?&ld'iT&  // name
    skr) a (l       ?A        // skrald
-rappenskr) a (lde  'A        // stressed
-  over) a (lt      '&        // stressed a in 'overalt'
+rappenskr) a (lde  '?A       // stressed
+  over) a (lt      '?&       // stressed a in 'overalt'
   _eks) a (m+      '&        // stressed - eksamen, eksaminere
-parmes) a (n       '&        // stressed
+parmes) a (n       '?&       // stressed
   ekst) a (s       '&        // ekstase - stressed
-  &eks) a (m       &         //
-    sh) a (mL11    &         // shaman
-    sh) ah         &         // silent h
-    sh) ahen       &@-n      //
-    sp) a (m       &:        //
+  &eks) a (m       &
+    sh) a (mL11    ?&        // shaman
+    sh) ah         ?&        // silent h
+    sh) ahen       ?&@-n
+    sp) a (m       &:
    isl) a (m       'A:       // islam
-   isl) a (mi      &         // islamist
-   hav) a (na      '&        // stressed
-     j) a (men     &         // exception jamen = ja men
-    ch) a (n       A         // chance
-     v) a (j       A         // svajende, vaje
+   isl) a (mi      ?&        // islamist
+   hav) a (na      '?&       // stressed
+     j) a (men     ?&        // exception jamen = ja men
+    ch) a (n       ?A        // chance
+     v) a (j       ?A        // svajende, vaje
 
 // general rule: [&] after p/b/d before n
    L06) a (n       &         // tand, tante, band, spand, spade
@@ -1001,6 +1045,7 @@ restaur) ant       '?AN      // added stress
     mj) a (v       A         //
   kålr) a (bi      'A        // kålrabi - stressed a
         au (++     Aw        // auto, autoritet
+     l) aurence    ?0*@-ns
         aubergin   oberS'i:n //
         auggie     O:gI      // name
  vagin) a          ?&        // vaginaudvider
@@ -1026,6 +1071,8 @@ _dinos) aurer      'A?urV    // stressed
   en_k) ar (l      ?&        // "sikke en karl"
     @k) ar (l+     ?&        // bøssekarl, forkarl
     @k) ar (le+    &         // bøssekarle, forkarle
+    _k) ar (l_smart Ar
+    _k) ar (l_     Ar        // name
      k) ar (lene   &         //
  afrik) aa (n      A:        // afrikaaner
         action     &kSj@n    // actionfilm
@@ -1058,7 +1105,10 @@ _domin) a (n       '?&       // stressed - dominans
    top) a (s       '?&       // stressed
     sm) a (ck      &         //
         aw (K      Aw
-        ay (K      Ej        // a changed to E
+        ay (K      ?Aj       // malaysisk
+    pl) ay         ?Ej       // display
+     w) ay         ?Ej       // fairway
+     s) ay         ?Ej       // essay
      p) ayne       Ejn       // name
  bookm) a (ker     Ej        //
     _v) agas       Ejg@s     // Las Vegas
@@ -1074,11 +1124,14 @@ dovenl) ar (s      &         //
 .group ag
 
 // (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++ '&:SV // reportager, plamager
+// stressed a, "age" pronounced [&S@]
+     &) age ($p_alt+++ '&S@- // ravage, bagage
+     &) age (r_$p_alt++ '&S?V // reportager, plamager
+     &) age (rs_$p_alt++ '&S?V // reportagers, plamagers
+     &) age (rne$p_alt++ '&S?V // reportagerne, plamagerne, plamagernes
     &r) age ($p_alt++ 'A:S@  // [A] after "r" - garage
-     &) age (re$p_alt+ &S'e@ // not for the "age" words - gagere
+     &) age (re$p_alt++ &S'?e // not for the "age" words - gagere
+    &r) age (re$p_alt++ ?AS'?e // not for the "age" words - fouragere
 hjertemass) age    &:S@-     // hjertemassage
     et) age (+     &:S@-     // stueetage
      t) aget (+    &:@D      // kirketaget - [@-] is too short here
@@ -1088,74 +1141,80 @@ hjertemass) age    &:S@-     // hjertemassage
  varet) age        &         //
 
 // general rule: "ag" words silent g
-     d) ag (_      &j        // dag
+     d) ag (_+     ?&j       // dag
      d) ag (e++    &         // dage
-     d) ag (s_     &         // en dags tid
-     d) ag (l@+    Aw        // daglejer
-     d) ag (insti  Aw        // daginstitution
-    @d) ag (_++    &         // dommedag
-    sd) ag (+      &         // fødselsdagsgave, fødselsdagsbarn
-     d) ag (og+    &g        // pædagog
-    _j) ag (_      &j        //
+     d) ag (s_     ?&        // en dags tid
+     d) ag (l@+    ?Aw       // daglejer
+     d) ag (insti  ?Aw       // daginstitution
+    @d) ag (_++    ?&        // dommedag
+    sd) ag (+      ?&        // fødselsdagsgave, fødselsdagsbarn
+     d) ag (og+    ?&g       // pædagog
+    _j) ag (_      ?&j
      j) ag (e+     &:        // jage
-     j) ag (uar    Ag        //
-     j) ag (t      Ag        // jagt
-     b) ag (h+     Aw        // baghold
-     b) ag (l      Aw        // baglader, baglæns
-     b) ag (L01    Aw        // bagklog, baggård
-     b) ag (f      Aw        // bagflikke
-     b) ag (b      Aw        // bagbutik
-     b) ag (rud    Aw        // bagrude
-     b) ag (d      Aw        // bagdør
-     b) ag (v      Aw        // bagvendt, bagværk
-     b) ag (trap   Aw        // bagtrappe
-     b) ag (An     Aw        // Bagindien, baginder
+     j) ag (uar    ?&g
+     j) ag (t      ?Ag       // jagt
+     b) ag (h+     ?Aw       // baghold
+     b) ag (l      ?Aw       // baglader, baglæns
+     b) ag (L01    ?Aw       // bagklog, baggård
+     b) ag (f      ?Aw       // bagflikke
+     b) ag (b      ?Aw       // bagbutik
+     b) ag (rud    ?Aw       // bagrude
+     b) ag (d      ?Aw       // bagdør
+     b) ag (v      ?Aw       // bagvendt, bagværk
+     b) ag (trap   ?Aw       // bagtrappe
+     b) ag (An     ?Aw       // Bagindien, baginder
      b) agend (e   AwEn      // bagende "rear end" - problem with "bagende varm"
-     b) agend (e_varm &j3n   //
-     b) agend (e_sol &j3n    //
-     b) agend (e_hed &j3n    //
-     b) ag (k      Aw        // bagklog, bagkrop
-     b) ag (m      Aw        // bagmand
-     b) ag (p      Aw        // bagparti
-     b) ag (s      Aw        // bagside
-     b) ag (t@     Aw        // bagtøj
-     s) ag (sø     Aw        // sagsøge
-     b) ag (te     Ag        // nybagte
-  _L06) ag (_      &j        // bag - single word
-hjemmeb) ag (_     &j        //
-     b) ag (fr     &,        // bagfra
-     b) ag (i      &,        // bagi
-     b) ag (ved    &_:       // bagved
-     b) ag (efter  &j        // bagefter
-     b) ag (på     &,        // bagpå
-     b) ag (over   &_:       // bagover
-     b) ag (til    &,        // bagtil
-     b) ag (ud     &_:       // bagud
-     b) ag (udgang Au        // bagudgang
+     b) agend (e_varm &j3n
+     b) agend (e_sol &j3n
+     b) agend (e_hed &j3n
+     b) ag (k      ?Aw       // bagklog, bagkrop
+     b) ag (m      ?Aw       // bagmand
+     b) ag (p      ?Aw       // bagparti
+     b) ag (s      ?Aw       // bagside
+     b) ag (t@     ?Aw       // bagtøj
+     s) ag (sø     ?Aw       // sagsøge
+     b) ag (te     ?Ag       // nybagte
+  _L06) ag (_      ?&j       // bag - single word
+hjemmeb) ag (_     ?&j
+     b) ag (fr     ?&,       // bagfra
+     b) ag (i      ?&,       // bagi
+     b) ag (ved    ?&_:      // bagved
+     b) ag (efter  ?&j       // bagefter
+     b) ag (på     ?&,       // bagpå
+     b) ag (over   ?&_:      // bagover
+     b) ag (til    ?&,       // bagtil
+     b) ag (ud     ?&_:      // bagud
+     b) ag (udgang ?Au       // bagudgang
      p) age (++    &:S@-     // page, pagehår
   band) age        &:S@-     // gipsbandage
-    sC) ag (+      &j        // slag, slaget, Skagen, smag, forslagskasse
-    st) agn        AwN       // stagnere
-    sp) ag (at     &g        //
-    sk) ag (ler    Aw        //
+    sC) ag (+++    ?&j       // slag, slaget, smag, forslagskasse
+    st) agn        ?AwN      // stagnere
+    sp) ag (at     ?&g
+    sk) ag (ler    ?Aw
   kast) agn (et    &nj'      // kastagnetter
-    sl) ag (C@     Aw        // slagskib
-    sl) ag (_kort  Aw        // "et slag kort"
+   _sl) ag (C@++++ ?Aw       // slagskib
+   _sl) ag (_kort  ?Aw       // "et slag kort"
      l) ag (re+    &j        // PO overskudslagre
-  pell) ag (ra     &g        //
+  pell) ag (ra     &g
     sl) agg (e     ?Ak       // slagger
-     C) ag (t+     ?Ag       // venskabspagt, smagte, sagt
-     b) ag (tal    Aw        // bagtalt
+ //    C) ag (t+++++ ?Ag       // venskabspagt, smagte, sagt
+     p) ag (t      ?Ag       // pagt
+    sm) ag (t++    ?Ag       // smagte
+     s) ag (t+     ?Ag       // sagt
+     b) ag (tal    ?Aw       // bagtalt
+     b) ag (tung   ?Aw       // bagtungen
     sl) ag (ne     ?&j       // rædselsslagne
-     l) ag (_      ?&j       // lag
+     l) ag (_+     ?&j       // lag
+   opl) ag         ?&j       // oplagstal
   forl) ag         %?&j      // forlagsvirksomhed
   opsl) ag         ?&j       //
-     f) ag (@      A?u       // fagsnak, ufaglært, fagarbejde
+   gul) ag         ?Ag
+     f) ag (@      ?A?u      // fagsnak, ufaglært, fagarbejde
      f) ag (ter    ?Ag       //
      l) ag (C      A?u       // flagstang, lagkage
     fl) ag (afbrænd A?u      // flagafbrænding
   gall) agh        3g        // name
-   _sl) ag (s_     ?Ag       // slags
+   _sl) ag (s_+    ?Ag       // slags
    _sl) ag (sen    ?Ag       // slagsen
 gennemsl) ag (+    &j        // gennemslagskraft
     sl) ag (sværd  A?u       //
@@ -1165,12 +1224,13 @@ gennemsl) ag (+    &j        // gennemslagskraft
      l) ag (re     ?&j       // oplagres
     fl) ag (re+    A?u       //
    esl) ag (lA     A?u       // beslaglægge
-    sl) ag (te+    ?Ag       //  slagter
+    sl) ag (t_+++  ?Ag       //  slagter
+    sl) ag (te+++++ ?Ag      //  slagter
     sl) ag (tn+    ?Ag       //  slagtning
-    sv) ag (t      ?&j       // svagt, åndssvagt
+    sv) ag (t++    ?&j       // svagt, åndssvagt
 sikkerhedsv) ag (t ?Ag       //
-åndssv) ag         ?&j       //
-evnesv) ag         ?&j       //
+åndssv) ag (+++    ?&j
+evnesv) ag (+++    ?&j
 parkeringsv) ag (t Ag        //
  æresv) ag (t      Ag        //
 butiksv) ag (t     Ag        //
@@ -1184,31 +1244,43 @@ hospitalsv) ag (t  Ag        //
      r) ag (e+     A?u       // drage, rage
      C) age (++    &j@-      // bage, kage
     fl) age (ne    ?&j@-     // flagene
-     C) age (nK++  &j-@-     // sagen, kagen
+     C) age (nK++  &j-@-     // kagen
+   _sk) ag (en++   ?&j       // Skagen
+     s) ag (en+++  ?&j       // sagen
+     s) agd (e+++  &         // sagde
     _t) age (_+    &j@-      // tage
-    _t) age (_sig  &
-    _t) age (_imod &
- _du_t) age (_     &
-_det_t) age (_     &
- _vi_t) age (_     &
-  _i_t) age (_     &
-_jeg_t) age (_     &
-_vil_t) age (_     &
-_ville_t) age (_   &
-_kunne_t) age (_   &
-_skulle_t) age (_  &
-_måtte_t) age (_   &
-_ikke_t) age (_    &
- _at_t) age (_     &
- _må_t) age (_     &
-_godt_t) age (_    &
-    _t) age (_på_  &
-    _t) age (_mig_ &
- voldt) age (_     &
+    _t) age (_sig  ?&
+    _t) age (_imod ?&
+    _t) age (_af   ?&
+ _du_t) age (_     ?&
+_det_t) age (_     ?&
+ _vi_t) age (_     ?&
+  _i_t) age (_     ?&
+_jeg_t) age (_     ?&
+_vil_t) age (_     ?&
+_selv_t) age (_    ?&
+_ville_t) age (_   ?&
+_kunne_t) age (_   ?&
+_kan_t) age (_     ?&
+_skulle_t) age (_  ?&
+_måtte_t) age (_   ?&
+_ikke_t) age (_    ?&
+ _at_t) age (_     ?&
+ _må_t) age (_     ?&
+_godt_t) age (_    ?&
+_nok_t) age (_     ?&
+    _t) age (_på_  ?&
+    _t) age (_mig_ ?&
+    _t) age (_dem_ ?&
+    _t) age (_den_ ?&
+    _t) age (_det_ ?&
+    _t) age (_et_  ?&
+    _t) age (_en_  ?&
+ voldt) age (_     ?&
  voldt) ager (_    ?Ar
   cart) age (na    ?&g'e:    // name
      b) ag (efter++ ?&j      //
-        age (lig   '&j@-     // uindtagelig, behagelig - stressed
+        age (lig+  ''?&j@-   // uindtagelig, behagelig - stressed
    arm) aged       ?&g'Ed    // Armageddon
    arm) agedd      ?&g'Ed    // Harmagedon
    mut) age (n     &g'e      // stressed
@@ -1223,41 +1295,41 @@ _godt_t) age (_    &
    ass) age        &S@-      // rygmassage
  plant) age        &S@-      // citronplantage
     on) age        &S@-      // kontraspionage
-     C) ager (++   &jV       // bagerst, kager, opdager
+     C) ager (++   ?&jV      // bagerst, kager, opdager
      b) age (rul   &j@-      // bagerulle
      b) ag (eri+   &j        // bager'i
-    et) ager       &SV       // treetagers
- foret) ager       Ar        //
-     g) age (_+    &:S@-     //
-    fl) ager (mus  A?uV      //
+    et) ager       ?&S?V     // treetagers
+ foret) ager       ?Ar
+     g) age (_+    &S@-
+     g) age (n_++  &S@-
+    fl) ager (mus  ?A?uV     //
      l) agde       &:@-      // lagde
-     g) ager (e+   &S'e      // gagere
+     g) ager (e+   ?&S'?e    // gagere
      r) age (++++  Aw@-      // rage, fremragende, uddragene
-     _) age (nt++  &g'E      //  agent, agenten - stressed
-        age (nt++  &gE       //  superagenten, dobbeltagent, forsikringsagent
-rædselssl) age (n  &j@-      //  rædselsslagent
- suffr) age (tte   AS'E      // suffragette - stressed
-     r) ager (+++  AwV       // rager
-    tr) agedie     Ag'eDj@-  //
-    _t) ager (_+   Ar        // tager [t'Ar]
- iagtt) ager (_    &jV       // iagttager - noun
-     t) ag (_      &j        // tag
-     t) ag (C      Aw        // tagvindue
-        ag (ning   &j        // gidseltagning
-        ag (tig    Ag        // rustagtig
-   art) agnan      &NAN      // d'Artagnan
+     _) age (nt++  ?&g'?E    //  agent, agenten - stressed
+        age (nt++  ?&g?E     //  superagenten, dobbeltagent, forsikringsagent
+rædselssl) age (n  ?&j@-     //  rædselsslagent
+ suffr) age (tte   ?AS'?E    // suffragette - stressed
+    _r) ager (+++  AwV       // rager
+    tr) agedie     ?Ag'?eDj@- //
+    _t) ager (_+   ?Ar       // tager [t'Ar]
+ iagtt) ager (_    ?&j?V     // iagttager - noun
+     t) ag (_      ?&j       // tag
+     t) ag (C      ?Aw       // tagvindue
+        ag (ning   ?&j       // gidseltagning
+        ag (tig    ?Ag       // rustagtig
+   art) agnan      ?&N'?AN   // d'Artagnan
      t) ag (ne     &j        // tilfangetagne
-     t) ag (fat    &         //
-     t) agetes     &g'et3s   //
-     t) ag (selv   &'        // tagselvbord
-     t) agg (e     &g        //
+     t) ag (fat    ?&        //
+     t) agetes     ?&g'?et@-s //
+     t) ag (selv   ?&'       // tagselvbord
+     t) agg (e     ?&g       //
      t) ag (liatelle _^_it   //
-    _s) ag (te_    &j        //
-     s) ag (n      A?u       // sagn
-  rans) ag (n      &j        // ransagning
-   las) agn (e     '&nj      //
-  bret) agn (e     '&n;      //
-     s) agd (e+    &         // sagde
+    _s) ag (te_    ?&j       //
+     s) ag (n      ?A?u      // sagn
+  rans) ag (n      ?&j       // ransagning
+   las) agn (e     '?&nj     //
+  bret) agn (e     '?&n;     //
   tilb) ag (e      '&;       // stressed a in 'tilbage'
 
 .group al
@@ -1267,7 +1339,7 @@ _differenti) ale   '&l@-
   _fin) al (e      '&l
  _forh) al (e      '&l
  _form) al (e      '&l
- _fort) al (e      '&l
+ _fort) al (e_     '&l       // problem with noun "fortaler"
 _gradu) al (e      '&l
 _grati) al (e      '&l
   _kab) al (e      '&l
@@ -1325,12 +1397,12 @@ _trienn) al (e     '&l
     pe) b (er      w         // peber
      _) buffet     byf'e     //
      @) buffet     byf'e     //
-     _) balkon     b&lk'VN   //
-        balkon     b&lkVN    //
-     &) bassin     b&s'EN    // svømmebassin
-        basketball bAsgetbO:l //
-        baseball   bejsBO:l/2 //
-        butterfly  bVtVflaI  //
+     _) balkon     b?&lk'?VN //
+        balkon     b?&lk?VN  //
+     @) bassin     b&s?EN    // svømmebassin
+        basketball bAsg?EtbO:l //
+        baseball   b?EjsBO:l/2 //
+        butterfly  b?Vt?VflaI //
         beach      bi:tS     // Beach Boys
      _) blake      blEjk     // name
      _) bligh      blaI:     // name
@@ -1363,6 +1435,9 @@ _trienn) al (e     '&l
         bui (lding be        //
         browser    bRAwsV    //
      _) butte (_   bju:t     // city in Montana
+        breakdance (_ bR?Ejgd?&ns
+        breakdancer bR?Ejgd?&ns?V
+        breakdance (n bR?Ejgd?&ns@-
 
 .group be
 // words beginning with "be" with stress on the second syllable (850)
@@ -1458,6 +1533,7 @@ diskvalifi) cer    ser       //
      _) clarence   kl&R@-ns  // name
      _) capone     k&p'Own   // name
      A) c (e       s         // race, procent
+plasti) c          k         // plasticen
 cadilla) c         k         // Cadilacen
  _offi) ce (r      s'e       // officer
   offi) ce (r      se        // sprogofficer
@@ -1472,8 +1548,9 @@ frederi) c (ia     =ks
         c (k 
         c (ølibat  s
         ch (+      S         // check, chokolade
-        ch (i      tS        // chili
+        ch (ili    tS        // chili
         ch (eese   tS        // cheeseburger
+        church     tSW:tS
    _ma) ch (_      k         // sound barrier
         chaplin    tS&plin   // name
         challenge  tS&lendZ
@@ -1527,6 +1604,7 @@ frederi) c (ia     =ks
         claudette  klOd'et   // name
         churchill  tSW:Sil
         cambridge  kejmbRidZ
+        clementine kl?EmIntaIn
         canterbury k&ntVbri
         connecticut kVn'etikVd
         carlisle   kAlaIl
@@ -1588,6 +1666,7 @@ north_) carolina   k&rol'aIn&
     ba) de (@      D@-       // badeforhæng
     ga) de (@      D@-       // gadebetjent
     fe) de (@      D@-       // fedekalv
+    fe) der        D?V       // federe
     ga) der        DV
     væ) dde (@+    D@-       // væddeløb
     re) de (@      D@-       // redegørelse
@@ -1609,14 +1688,14 @@ north_) carolina   k&rol'aIn&
     bo) d (ega     d
         d (us      d         // fidus
         d (ok      d         // paradoks, tørdok
-     y) de (@      D@-       // brydehold
-     y) der        DV        // yderligere
+    ry) de (@      D@-       // brydehold
+     y) der (@     DV        // yderligere, forbrydere
    gry) de (ret    D@-       // gryderet
     sy) de (ng     DE        // sydengland
     by) de (l      de        // bydel
  indby) de         D@-       // indbydelse
     by) d (elig    D         // modbydelig
-     y) der (_     DV        // betyder
+     y) der (_     DV_!      // betyder, snyder
      @) d (elt     d         // udelt, tildelt
      æ) de (l+     D@-       // ædelt
     mo) d (em      d
@@ -1646,6 +1725,7 @@ tourne) dos        d'o       // stressed
   _mil) dred       drEd      // name
   imel) d (a       =d        // name
      _) degas      _^_fr     // name
+esmeral) d (a      d         // name
   bull) d (o       d         // bulldozer
 formal) d (e       d         // formaldehyd
         d (åse     d         // øldåse
@@ -1668,6 +1748,7 @@ turtel) d (ue      d
     ol) d (ing     d         // holdingfirma, olding
         d (ag+     d         // gammeldags, junidag
     ul) d                    // uldagtig - silent
+        d (iox     d         // kuldioxid
     al) d (rig     d         // aldrig
     il) d (ring    d         // skildring
    kil) d (re      d         // skildre
@@ -1730,10 +1811,10 @@ stikor) d                    // exception - silent d in 'stikord'
      A) ds (æt     Ds        // hidsætte
     _u) d (++      D         // udse
      A) ds (el     s         // fødsel, brændsel, bidsel
-     A) ds (le     s         // gidsler, fødsler
+     A) ds (le+    s         // gidsler, fødsler, ødsle
     ræ) d (sel     D
    ned) d (s       D         // nedsmelte
-     ø) d (s++     D         // dødscelle, nødspor, ødsel, nødstilfælde
+     ø) d (s++     D         // dødscelle, nødspor, nødstilfælde
     fø) d (s++               // fødsel
      ø) d (sel++             // silent d
    kre) d (s                 // silent d - kredsløb
@@ -1754,6 +1835,7 @@ stikor) d                    // exception - silent d in 'stikord'
     mo) d (st+     D         // modstand, modstå
      u) d (styr+   D
     bu) d (s++     D         // forbudstiden
+   gra) d (+       D         // gradstegn
    gla) dstone     dst0wn    // name
      y) d (stat+   D         // sydstaterne
    fre) d (s       D         // fredstid
@@ -1763,11 +1845,16 @@ stikor) d                    // exception - silent d in 'stikord'
    ste) d          D         // sted
    aci) d (ose     d
     fi) d (us      d
+     @) d (ue      d         // lokkeduer
+        d (ukke    d         // modedukke
      ø) d (em_     d         // ødem
+     @) d (eo      d         // rodeo
+   voo) d (oo      d
      ø) d (emer_   d         // ødemer
      ø) d (emet_   d         // ødemet
      A) dd         D         // skuddene
         d (åd+     d         // heltedåd
+        d (ans     d         // mavedanser
   melo) d (i       d         // nationalmelodi
     _i) d (e       d
     _i) d (é       d
@@ -1780,6 +1867,7 @@ stikor) d                    // exception - silent d in 'stikord'
     vi) d (er      D         // videre
     ti) d (e       D         // tider
     ti) de (@      D@-       // tidevand
+    ti) der        DV        // tiderne
  salva) dor        d'O:      // El Salvador
    via) du (kt     d'O
  bermu) d (a       d         // name
@@ -1845,7 +1933,6 @@ stikor) d                    // exception - silent d in 'stikord'
      A) d (ter_++            // silent d - godter
      i) d (t                 // skridtet, skoleridtet
     fo) d (C++     D         // fodtøj
-  fjer) d (e                 // silent d - fjerde
   L09A) d (ta      D         // modtage, medtage, nedtage
     in) d (u       d
    pro) ducer (_   dj'usV    //
@@ -1886,21 +1973,24 @@ stikor) d                    // exception - silent d in 'stikord'
         é          '?e       // idé, entré
 
 .group e
-        e          e         // e: => e
+        e          ?e        // Default short e
 
 // short (glottal) e before double consonant
-        e (C%      ?e        // leddet
+        e (C%      ?e        // leddet, effekt
         e (ll+     ?E        // heller
-   int) e (lligent e
+   int) e (lligent ?e
+   int) elle (ktu+ @-l?E     // intellektuelle
      l) e (L07%    ?E        // lettede
      n) e (L07%    ?E        // nettet
         e (nn      ?E        // denne, henne
-        e (L02%+   ?E        // modemmet, slemme
-     C) erre       ?&3-V     // herre
+        e (m%+     ?E        // modemmet, slemme
+     h) erre       ?&3-?V    // herre
      C) e (ll%     ?E        // celle
         e (ks      ?E        // heks
         e (x       ?E        // sex
+    sh) err (y     ?E3-
         ek (t_+    '?Eg      // defekt, arkitekt - stressed
+        ek (te_+   '?Eg      // defekte, perfekte - stressed
         ek (ter_+  '?Eg      // defekter
         ek (ten_+  '?Eg      // defekten
         ek (tens_+ '?Eg      // defektens
@@ -1910,19 +2000,32 @@ stikor) d                    // exception - silent d in 'stikord'
 
 // Short e - various words
     sk) e (d       ?e        // besked
-     C) e (en      '?e       // armeen, alleen - stressed
+     C) e (en      '?e:      // armeen, alleen - stressed
     ch) e (C       ?E        // chef
      p) e (ter     ?e        // name
+@disciplin) e (re  ''?e      // veldisciplinerede - stressed
+    ff) er (son    ?V        // Jefferson
+     t) er (m++    ?&r       // hydrotermisk, termin
+
+// Long e
+        e (Cig     e         // enig, ledig
+        e (Ce      e         // gedeblod
 
 // Short e followed by st, st, sk - made short in ph_danish
-     C) e (L08     E         // fest, fester, hest, heste
-    sl) e (sk      e         // slesk, sleske
-     m) e (st      e
-     m) e (ster    E         // politimester
+     C) e (L08++   ?E        // fest, fester, hest, heste
+    sl) e (sk      ?e        // slesk, sleske
+     @) e (ste_+   @-        // groveste, ondeste TEST
+     @) e (st_+    @-        // grovest
+    fl) e (st+     ?e
+    _m) e (st++    ?e
+     m) e (ster    ?E        // politimester
+  _ork) e (st      '?E       // stressed
   nærm) e          @-        // nærmeste
   kort) e          @-        // korteste
+  kort) e (ge      E         // bilkortege
     ån) e (C       @-        // månestråle
    rav) e (@       @-        // travesko
+   oks) e (@       @-        // oksesteg
    ilk) e (@       @-        // silkestrømper
   skad) e (@       @-        // skadestue
   hyld) e (s       @-        // hyldest
@@ -1937,48 +2040,60 @@ stikor) d                    // exception - silent d in 'stikord'
 
 // exceptions
    cyk) e (lløb    @-
+  tøjl) e (s       @-        // tøjlesløs
    sku) e (@       @-        // skuespil
   menn) e          @-        // menneske
     æl) e (@       @-        // sjælefred
    ill) e (@       @-        // lillebror
-  mill) enium      '?EniOm
+   gen) e (@       @-        // generation
+  gard) e (robe    @-
+   rob) e (@       @-        // garderobeskab
+  mill) enium      '?En?i?Om
    usl) e (@       @-        // puslespil
-   ill) e (gal     e
-     r) e (v       E         // brev
+   ill) e (gal     ?e
+     r) e (v       ?E        // brev
     år) e (@+      @-        // årevis
    Ass) e (@       @-        // klasseværelse
-     r) e (Ce+     E         // breve
+//     r) e (Ce+     ?E        // breve
     fr) e (d+      ?E
-    fr) e (de_     E
+    fr) e (de_     ?E
    str) ee (t      i:        // street
-    _d) e (m_      E
-     f) e (m       E         // femten
+    _d) e (m_      ?E
+     f) e (m       ?E        // femten
         e (dith    e:        // name
      t) eur        'W:r      // agent provocateur
 
 // E after r
-     r) e          ?E        // reaktion, regiment - VERY BROAD
-    @r) es (_      Vs        // koncentreres TEST
+     r) e (+       ?E        // reaktion, regiment - VERY BROAD
+     r) e (Ce      E         // rene
+    @r) es (_      ?Vs       // koncentreres TEST
+differ) e (n       ?A        // differentiere
 
 // E before n - VERY BROAD
         e (nK      ?E        // end, men, endelig
+  lump) e (n       @-
+        e (ndnu    '?e'
      C) e (nd      ?E        // kendelse, send
-        e (ns      e         // ensrette
-     _) e (n_      e
-     b) e (n       e
-   _st) e (n_      e
-    st) e (nrig    e
+        e (ns      ?e        // ensrette
+        e (nhed    ?e
+     _) e (n_      ?e
+     b) e (n       ?e
+   _st) e (n_      ?e
+    st) e (nrig    ?e
     ov) e (n       @-        // ovenpå
+   giv) e (n       @-        // begivenhed
     os) e (n       @-        // rosenknop
  sjæld) e (n       @-        // sjældent
-     _) e (ne      e         // ene, eneste
+   væs) e (n       @-        // væsentlig
+     _) e (ne      ?e        // ene, eneste
    ækk) e (net_    @-        // bækkenet
  røntg) e (n       @-        // røntgenfotografere
    gen) e (ral     @-
-    _s) e (n_      e         // sen
-    _s) e (nt_     e         // sent
-    _l) e (n_      e         // len
-    _m) e (nt      e         // ment, mente
+    _s) e (n_      ?e        // sen
+    _s) e (nt_     ?e        // sent
+    _l) e (n_      ?e        // len
+    _m) e (nt      ?e        // ment, mente
+   dys) e (nteri   ?E
 
 // e followed by ne - VERY BROAD
         e (ne_     e         // sene, mene
@@ -1986,12 +2101,12 @@ stikor) d                    // exception - silent d in 'stikord'
 // e followed by ner - VERY BROAD
         e (ner_    e         // scene, mener
 
-    sp) e (r       E         // sperm
+    sp) e (r       ?E        // sperm
 
 // stress on second syllable after initial "be" in .group be
 // Secondary stress after a syllable
-    &b) e (s@      ?e,       // hv'alrosbest,and
-   &Ab) er         V         // fibersprængning
+    &b) e (sta     ?e,       // hv'alrosbest,and
+   &Ab) er         ?V        // fibersprængning
      b) e (ret+    ?e        // stemmeberettiget
     ib) er (ia+    '?er      // Iberia, Liberia
    rob) er (ta     'Er       // name
@@ -2006,7 +2121,7 @@ stikor) d                    // exception - silent d in 'stikord'
 
         e (fter    ?E        // efter, efterse
    leg) e          @-        // legeværelse
-   leg) e (nd      E         // legende (myth, not playing)
+   leg) e (nd      ?E        // legende (myth, not playing)
    dag) e          @-        // dagevis
     op) e (r       @-        // operere, opera
 _halvf) e (ms      'E        // stressed
@@ -2015,6 +2130,7 @@ _emfys) e (m       'e        // stressed
     kn) e (b       ?e
     kn) eb (re     ?Eu       // "knebre med næbbet"
      C) e (L02a    e         // tema
+    el) e (fant    @-
   jert) e (@       @-        // hjertebarn
     ød) e (+       @-        // ødemark
 //  herr) e          @-        // herremand
@@ -2022,30 +2138,30 @@ _emfys) e (m       'e        // stressed
 _still) e (ben     ='e
     fr) e (m       ?&#       // fremad
   _eks) e (mpel    '?E       // stressed
-  entr) e (pr      V         // entreprise
+  entr) e (pr      ?V        // entreprise
   ordr) e          @-        // ordrebog
      r) e (L02s    ?&#       // revse, krebs - TEST
-    br) ev (+      Ew        // brevstemt
+    br) ev (+      ?Ew       // brevstemt
     br) eve        Ev@-      // breve
     Cr) evet       ?Ev@-D_!  // brevet, skrevet
    L03) e (L02i    ?e        // akademiker
     åd) e (++      @-        // gådefuld
-    åd) er (++     V         // gåder
+   råd) eret       @-?&#t
+    åd) er (++     ?V        // gåder
     nd) e          @-        // yndefuld
-   ind) er         V         // inder
-  andr) e          V         // vandrefalk, andres
+   ind) er         ?V        // inder
+  andr) e          ?V        // vandrefalk, andres
      r) e (nsning  &#        // tandrensning
-   tub) er (ku     E3-       // tuberkulose
+   tub) er (ku     ?E3-      // tuberkulose
 
-   kol) e (C       @-        // skolebog
-   pol) e (re+     e         // finpolere
-   kol) e (st      E         // kolesterol
-    st) e (d       E         // sted - TEST
-    st) ed (fa     e         // stedfar
-    st) ed (mo     e         // stedmor
-    st) ed (sø     e         // stedsøm
-    st) ed (da     e         // steddatter
-    st) ed (br     e         // stedbror, stedbroder, stedbrødre
+   pol) e (re+     ?e        // finpolere
+   kol) e (st      ?E        // kolesterol
+    st) e (d       ?E        // sted - TEST
+    st) ed (fa     ?e        // stedfar
+    st) ed (mo     ?e        // stedmor
+    st) ed (sø     ?e        // stedsøm
+    st) ed (da     ?e        // steddatter
+    st) ed (br     ?e        // stedbror, stedbroder, stedbrødre
         e (dt      ?e        // fedtet dt => t 2 consonants: short e
    gaz) e (lle     '?E       // stressed
    van) e (ssa     '?E       // stressed
@@ -2053,65 +2169,79 @@ _still) e (ben     ='e
  _konf) e (tti     '?E       // stressed
   kass) e (tte     '?E       // stresed
      h) e (dd      ?e        // hedde
-     m) e (dalje   e         // medalje
+     m) e (dalje   ?e        // medalje
     lv) e (de      @-        // helvedes
     hv) ede        eD@-      // hvedebrød
-   tol) ed (o      'ed       // toledostål
-   val) e (ncia    'E        // name
-   mal) er         V         // maler
-   end) er         V         // afsenderadresse
-   mål) er         V         // måleraflæser
-   mal) e (ri      V         //
+   tol) ed (o      '?ed      // toledostål
+   val) e (ncia    '?E       // name
+   mal) er         ?V        // maler
+   end) er         ?V_!      // afsenderadresse
+   mål) er         ?V        // måleraflæser
+   mal) e (ri      ?V        //
    val) e (ri++    @-        // kavaleri
   perl) e          @-        //
    aml) e          @-        // samlestykke
-  kons) e (kv      @-        // PN inkonsekvens
+  kons) e (kv      @-        // inkonsekvens
      l) e (ve      e         // samlever
+     l) e (vering  ?e
   _dil) e (mma     'E        //
-    ll) e (de                // silent e - billede
-    ll) e (det     @-        // billedet
+    ll) e (de+               // silent e - billede(r)
+    ll) e (det+    @-        // billedet
    CAs) e (ner               // silent e - væsener (also spelled "væsner")
-  midl) er         V         // midlertidig
-        elleve     Elv@-     //
-        ellever    ElvV      // elleverne
- _koll) e (ga      'e        // stressed
- _koll) eg (e      'ej       // stressed kolleger
- strat) eg (_      'ej       // strateg
-  _sem) e (ster    'E        // stressed
-_borgm) e (st      'E        // borgmester - stressed
-_kompl) e (ks      'E        // stressed
- _grot) e (s       'E        // stressed - grotesk
- _pres) e (nning   'E        // stressed
+        e (nergi++++ ?e      // bevægelsesenergi
+  midl) er         ?V        // midlertidig
+        elleve     ?Elv@-    //
+        ellever    ?ElvV     // elleverne
+ _koll) e (ga      '?e       // stressed
+ _koll) eg (e      '?ej      // stressed kolleger
+ strat) eg (_      '?ej      // strateg
+  _sem) e (ster    '?E       // stressed
+_borgm) e (st      '?E       // borgmester - stressed
+_kompl) e (ks      '?E       // stressed
+ _grot) e (s       '?E       // stressed - grotesk
+ _pres) e (nning   '?E       // stressed
 philad) elphi (a   'Elfj     // stressed
-  _inc) e (st      'E        // stressed
- sankt) e (lmsild  'E        // stressed
-banglad) esh       'ES       // stressed
-    _p) errier     eri'e     // brand name
-        eddike     Edk@-     //
+  _inc) e (st      '?E       // stressed
+ sankt) e (lmsild  '?E       // stressed
+banglad) esh       '?ES      // stressed
+    _p) errier     ?er?i'?e  // brand name
+        eddike     ?Edk@-    //
 
 // general rule: [E] after l before t/k
-     l) e (t       E         // let
-     l) e (k       E         // lektor
-  udsl) e (t++     E         // familieudslettelse, udslet (not [uDsl@D])
+     l) e (t       ?E        // let
+     l) e (kt      ?E        // lektor
+  udsl) e (t++     ?E        // familieudslettelse, udslet (not [uDsl@D])
  varsl) et         @-D       //
     ål) e (C       @-        // strålekrans
    sel) e (@       @-        // seletøj
-     l) e (der     e         // apacheleder
+     l) e (der     ?e        // apacheleder
   simp) e (l       @-        // simpelthen
 
 // general rule: E before l
-        e (lC      E         // heldig, held og lykke, helvede
+        e (lC      ?E        // heldig, held og lykke, helvede
+     h) e (lskindet ?e
+     h) e (lhjertet ?e
+     h) e (lkonserves ?e
+     h) e (lhed    ?e
+     h) e (lflugt  ?e
+     h) e (ldags   ?e
+     h) e (lforet  ?e
+     h) e (beraren ?e
+     h) e (lstegt  ?e
+     h) e (lgard   ?e        // helgardere, helgardering
+     h) e (lstøbt  ?e
   kedd) e (l       @-
   sjof) e (l       @-        // sjofelhed
+  midd) e (l       @-        // umiddelbart
 
 // general rule: E before m
-        e (m       E         // slem, slemt, hjem - short in ph_danish
+        e (m       ?E        // slem, slemt, hjem - short in ph_danish
   genn) e (m       @-        // igennem
      k) e (mo      e:        // kemo, kemoterapi
    nal) e (@       @-        // Personalemøde
    old) e (@       @-        // oldemor
  bedst) e (@       @-        // bedstemor
-     d) e (ment    e
+     d) e (ment    ?e
 
 // E before r + consonant
         e (rCe     E         // hjerte, smerte TEST
@@ -2119,11 +2249,12 @@ banglad) esh       'ES       // stressed
     _d) er (@+     E3-       // derinde
 
 // compound with eiding -er + another word
-    @C) er (C@     V         // hypermoderne - TEST
-    hj) er (t+     Er        // hjerte
-     b) er (l+++   Er        // Berlin
-     s) er (gent   Er        // chefsergent
-   eks) er (c      Er        // kampeksercits
+    @p) er (C@     ?V        // hypermoderne - TEST
+    hj) er (t+     ?Er       // hjerte
+     b) er (l+++   ?Er       // Berlin
+     s) er (gent   ?Er       // chefsergent
+   eks) er (c      ?Er       // kampeksercits
+     b) erry       ?&*I      // Queensberry, Berry
 
 // general rule: [E] after r before consonant
      r) e (d       E         // rede
@@ -2136,16 +2267,16 @@ banglad) esh       'ES       // stressed
   L07r) e (mm      ?&#       // tremme
  ekstr) e (m       'e        // stressed
      r) e (vl      ?&#       // trevl, revle
-    dr) e (des_    V         // ændredes, undredes - TEST
-    fr) eddie      Edi       // name
-    fr) eddy       Edi       // name
-    tr) e (mile    e         // tremilegrænse
+    dr) e (des_    ?V        // ændredes, undredes - TEST
+    fr) eddie      ?Edi      // name
+    fr) eddy       ?Edi      // name
+    tr) e (mile    ?E        // tremilegrænse
 
-     r) ee (l      e|E       // reelle
-     r) ey         Ej        // greyhound
-   ndr) e (A       V         // mindreårig
-    gr) e (l       &#        // grel
-  stor) e          V         // storebror
+     r) ee (l      ?e?|E     // reelle
+     r) ey         ?Ej       // greyhound
+   ndr) e (A       ?V        // mindreårig
+    gr) e (l       ?&#       // grel
+  stor) e          ?V        // storebror
    str) eg         aI        // streg, stregkode
     tr) eg (en_    aI        // stregen
     tr) eg (er_    aI        // streger
@@ -2155,83 +2286,85 @@ banglad) esh       'ES       // stressed
  overj) eg         aI        //
 himstr) eg (ims    Vg        // avoid aI
     sj) eg         aI        // fremtidsjeg
-  tuar) eg         Eg        //
-     r) e (ndt     a         // røvrendt
-     r) e (nte     &#        //
-     r) e (st      &#        // restlager
-     r) estante    Est'A:Nd@- // poste restente
-     r) e (stau    e         // restaurere
- klatr) e          V         //
-     r) e (vn      &#        // revne
- leder) e (vne     E         //
-    dr) e (vn      E         // overdrevne
-   skr) e (v       e         // skrevne
-     r) e (kto     &#        // rektor
-   &or) e (pl      V         // boreplatform
+  tuar) eg         ?Eg       //
+     r) e (ndt     ?A        // røvrendt
+     r) e (nte     ?&#       //
+     r) e (st++    ?&#       // restlager, resterne
+  tørr) e (st      ?V        // tørreste
+     r) e (stere++ ?E
+     r) estante    ?Est'?ANd@- // poste restente
+     r) e (stau    ?E        // restaurere
+ klatr) e          ?V        //
+     r) e (vn      ?&#       // revne
+ leder) e (vne     ?E        //
+    dr) e (vn      ?E        // overdrevne
+   skr) e (v       ?e        // skrevne
+     r) e (kto     ?&#       // rektor
+   &or) e (pl      ?V        // boreplatform
     ur) e (ne      @-        // murene
-   _tr) e (s       E         // tres (60)
-   opr) e (v       E         // oprevet
-    pr) e (m       E         // premiere
-   spr) e (d       E         // spredt
+   _tr) e (s       ?E        // tres (60)
+   opr) e (v       ?E        // oprevet
+    pr) e (m       ?E        // premiere
+   spr) e (d       ?E        // spredt
 
 // general rule: [&#] after pr followed by double consonant TEST
     pr) e (C%+     ?&#       // presse
     pr) e (s+      ?&#
 _ekspr) e (s       '?&#      // stressed
-    pr) e (sserende E'       // stressed
-    pr) estige (_  Est'iS    // stressed
-  depr) e (ss      E         // depressiv
+    pr) e (sserende ?E'      // stressed
+    pr) estige (_  ?Est'iS   // stressed
+  depr) e (ss      ?E        // depressiv
 
 // general rule: [&#] after r before ns/ms
-     r) e (L09s    &#        // rensetøj
-     r) e (nsku    E         // exception ren = clean - renskure
-     r) e (nskr    E         // renskrive, renskrevet
+     r) e (L09s    ?&#       // rensetøj
+     r) e (nsku    ?E        // exception ren = clean - renskure
+     r) e (nskr    ?E        // renskrive, renskrevet
 
 // general rule: [&#] after r before m
-     r) e (m       &#        //  rem, frem
+     r) e (m       ?&#       //  rem, frem
 
 // general rule: [e] after r before m + front vowel
-     r) e (mL04    e         //  remoulade, remisse
-    fr) e (mov     &#        // fremover
+     r) e (mL04    ?E        //  remoulade, remisse
+    fr) e (mov     ?&#       // fremover
 
 // general rule: [&#] after r before ng
      r) e (ng      ?&#       //  streng, dreng
-   mar) e (ng      '&#       // stressed - marengs
-     r) e (ngø     E         // rengøre
+   mar) e (ng      '?&#      // stressed - marengs
+     r) e (ngø     ?E        // rengøre
 
 // general rule: [&#] after r before t
-     r) e (t+      &#        //  ret, efterretning
-   ber) e (t++     &#        // beret, indberet
-karryr) e (t+      &#        //
-  forr) e (t++     &#        // forret
-   opr) e (t++     &#        //
-kriminalr) e (t    &#        //
-    gr) e (t       E         // Greta
+     r) e (t+      ?&#       //  ret, efterretning
+   ber) e (t++     ?&#       // beret, indberet
+karryr) e (t+      ?&#       //
+  forr) e (t++     ?&#       // forret
+   opr) e (t++     ?&#       //
+kriminalr) e (t    ?&#       //
+    gr) e (t       ?E        // Greta
 
 // exceptions (re = prefix e.g. reanimate)
-     r) e (tab     e         // retablere
-     r) e (tard    e         // retarderet
-     r) e (tention e         //
-     r) e (ti      e         // retirere
-     r) e (tor     e         // retorik
-     r) e (tou     e         // retouchere
-     r) e (tran    e         // retreansmittere
-     r) e (tro     e         // retospekt
+     r) e (tab     ?E        // retablere
+     r) e (tard    ?E        // retarderet
+     r) e (tention ?E        //
+     r) e (ti      ?E        // retirere
+     r) e (tor     ?E        // retorik
+     r) e (tou     ?E        // retouchere
+     r) e (tran    ?E        // retreansmittere
+     r) e (tro     ?E        // retospekt
      r) e (træ     %?E       // retræte - stressed æ
-     r) e (tsina   e         //
-     r) e (tur     e         // returnere
+     r) e (tsina   ?E        //
+     r) e (tur     ?E        // returnere
 
-  forr) e (tning+  '&#       // stressed
-  teor) e (t       e         // teoretisk
-   _tr) e (t       e         // tretal
-    kr) e (ta      e         // Kreta
-    fr) e (l       &#        // frelse
-     r) e (nse     &#        // nyrenset
+  forr) e (tning+  '?&#      // stressed
+  teor) e (t       ?E        // teoretisk
+   _tr) e (t       ?E        // tretal
+    kr) e (ta      ?E        // Kreta
+    fr) e (l       ?&#       // frelse
+     r) e (nse     ?&#       // nyrenset
      r) e (h       @-        // general rule: [@-] after r before h - fårehyrde, varehus
    _tr) e (+       ?E        // treholdsskift
      r) e (habil   ?E        // rehabilitering
-     r) e (nd_     &#        //
-     r) e (nde     &#        //
+     r) e (nd_     ?&#       //
+     r) e (nde     ?&#       //
 stikir) e (nddreng '?&#      //
     @n) e (d       @-        // general rule: [@-] after @+n before d -  måned
    men) e (d       ?e        //
@@ -2242,14 +2375,14 @@ stikir) e (nddreng '?&#      //
      m) e (di+     ?e        // medicin
     rn) e (d+      ,?e       // derned
   forn) eden       'eD@-n    //
-    an) er (@      V         // anerkende
+    an) er (@      ?V        // anerkende
    L09) e (de      e         // nede, nederlag
    mån) e (d       @-        // måneder
  arkim) e (des     'e        // name
-   mus) e (um      'E        // stressed
-   mus) e (et      'E        // stressed
+   mus) e (um      '?E       // stressed
+   mus) e (et      '?E       // stressed
    L09) e (ta      ?e        // metal
-     n) etop       ?Ed\,Vb   //
+     n) etop       ?Ed\,?Vb  //
 heavy_m) etal      ?Et@-l    //
    L09) e (l       ?E        // mellem
      m) e (CL04    ?e        // melodi TEST
@@ -2257,19 +2390,19 @@ heavy_m) etal      ?Et@-l    //
    L06) e (rl      ?E        // perle
    rob) e (rto     'E        // name
      r) e (re      ?E        // operere
-   sup) er         V         // superagenten
+   sup) er         ?V        // superagenten
    sup) er (lativ  '?Er      // stressed
   _arl) es         _^_fr     // French town
-    _m) e (l_      E         //
-    ed) er         V         // nederlag
+    _m) e (l_      ?e
+    ed) er         ?V        // nederlag
     tr) e (ma      ?E'       // trema
      s) e (dd      ?E        // seddel
      s) ek (sten   aI        // seksten, sekstende
-   ell) er         V         // ellers
-    fr) edag       Ed&       // fredag - not [d&j)
-   nov) e (mber    'E
-   dec) e (mber    'E
-  sept) e (mber    'E
+   ell) er         ?V        // ellers
+    fr) edag       ?Ed?&     // fredag - not [d&j)
+   nov) e (mber    '?E
+   dec) e (mber    '?E
+  sept) e (mber    '?E
         eus        Wws       // for Greek names - Zeus, Achilleus
      m) euse       W:z       // French river
     st) ew         ju        // Stewart
@@ -2279,16 +2412,16 @@ heavy_m) etal      ?Et@-l    //
    tel) eg (r      @-g       // telegram
      l) eg (iti    eg        // legitim
      l) eg (an++   @-g       // elegant
-   tel) e (x       E         //
+   tel) e (x       ?E        //
    afl) eve (r     @-ve      // aflevere
    bri) e (f                 // briefing - silent e
    hav) e          @-        // havesyg
      @) e (ment    @-        // supplement, møblement
   hvab) e (har_    @-        // hvabehar
-     v) ek (s      Eg        // veksle
-     r) eau        o         // bureaukratiske
+     v) ek (s      ?Eg       // veksle
+     r) eau        ?o        // bureaukratiske
     _m) ead (_     i:d       // name - Lake Mead
-        eer        'eV       // ideer, cafeer, veer
+        eer        'e?V      // ideer, cafeer, veer
      k) eefe       'i:f      // name
     sh) ee (la     i:        // name
     _r) eed (K     i:d       // name
@@ -2300,41 +2433,41 @@ heavy_m) etal      ?Et@-l    //
         ee (jer    @-A       // hundeejer
     gr) ee (n      i:        // evergreen
  kathl) ee (n      'i:       // name
-    gr) ea (t      Ej        // English word
-    sw) ea (ter    E         //
-    sw) ea (tre    E         //
-        easy       isi       //
+    gr) ea (t      ?Ej       // English word
+    sw) ea (ter    ?E        //
+    sw) ea (tre    ?E        //
+        easy       is?i
      h) ead        Ed        // overhead
     ch) eese       i:s       // cheeseburger
      h) ea (l      i:        // healer
     _n) eal        i:l/2     // name
     fr) ee (lan    i:        // freelance
-     b) ee (d      ee        // beedige
+     b) ee (d      ?ee       // beedige
    _en) e          @-        // ene, eneste
-    en) e (m       E         // pærenem
-    en) e (rgi+    E         //
-    br) e (L09     &#        // bremse
-    br) enda       End&      // name
-    sn) e (K+      e         //  sne, snebold, nysne
+    en) e (m       ?E        // pærenem
+    en) e (rgi+    ?E
+    br) e (L09     ?&#       // bremse
+    br) enda       ?End?&    // name
+    sn) e (K+      ?e        //  sne, snebold, nysne
  frosn) e          @-        // fastfrosne
   lAsn) e (+       @-        // lysne, løsne
-  lAsn) er (+      V         // lysner, løsner
+  lAsn) er (+      ?V        // lysner, løsner
   visn) e (+       @-        // visne
-  visn) er (+      V         // visner
+  visn) er (+      ?V        // visner
   gisn) e (+       @-        // gisne
   _isn) e (+       @-        // isne
- voksn) e          @-        //
-    sn) eg (l      aI        //
-   _sn) e (r_      e         // det sner
-   _sn) ee (de_    e@-       // det sneede
-    sn) e (rp      E         // snerpet
-    sn) e (rre     &#        // snerre
-    sn) edker      ekV       e // silent d - snedker
-papmach) e         e         //
+ voksn) e          @-
+    sn) eg (l      aI
+   _sn) e (r_      ?e        // det sner
+   _sn) ee (de_    ?e@-      // det sneede
+    sn) e (rp      ?E        // snerpet
+    sn) e (rre     ?&#       // snerre
+    sn) edker      ?ek?V     e // silent d - snedker
+papmach) e         ?'e
     _s) e (_++     ?e        // se
-        e (mball   A         // emballere, emballage
-   dir) e (kt      &#        // direkte, direktør
-     n) eu         Wu        // neuron, neutral
+        e (mball   ?A        // emballere, emballage
+   dir) e (kt      ?&#       // direkte, direktør
+     n) eu         W?u       // neuron, neutral
   vidn) e          @-        // vidneudsagn
      n) e (unge    @-        // ørneunge
     ed) e (-       @-
@@ -2344,10 +2477,10 @@ papmach) e         e         //
    _fl) ee (ce+    i:        // fleece, fleecejakka - material for clothing
  fleec) e                    // fleece - skip the final e
 freelanc) e                  // freelance - skip the final e
-freelanc) e (r     V         // the word 'freelancer'
+freelanc) e (r     ?V        // the word 'freelancer'
 hospic) e (_                 // hospice - skip the final e
-hospic) et         @-D       //
-  penc) e                    // pence - skip the e
+hospic) et         @-D
+  penc) e (+                 // pence - skip the e
 interfac) e                  // interface - skip the final e
   sauc) e                    // sauce, bearnaisesauce
   juic) e                    // juice - skip the e
@@ -2358,22 +2491,22 @@ motorpac) e (n     @-        // motorpacen
 provenc) e                   // Provence - skip the e
   prov) e (nce     'A:       // Provence
     bl) eg         aI        // bleg
-        e (gsot    a         // blegsot
-        e (gfi     a         // blegfis
+        eg (sot    aI        // blegsot
+        eg (fi     aI        // blegfis
     bl) egem (id   aI@m      // blegemiddel, blegemidler
         eg (rød    aI        // blegrød
-    _b) eg (_      aI        //
+    _b) eg (_      aI
    æbl) e (grød    @-        // æblegrød
   bobl) e          @-        // boblegummi - nothing to do with "bleg"
      _) egen (@    ?ej@-n    // egenrådig, egennyttig, egentlig
         eg (enkapital+ Aj
         eg (enbeskyd+ aI     // egenbeskydning
-    _r) e (sten_   &#        // resten
-   nyr) e (+       V         // nyresten
-     r) e (staurant E
-        e (gansigt &#        // blegansigt
-_kongr) e (s       '&#       // kongres - stressed but not after a syllable
- _regr) e (s       '&#       // regres
+    _r) e (sten_+  ?&#       // resten
+   nyr) e (@+      ?V        // nyresten
+     r) e (staurant ?E
+        eg (ansigt aI        // blegansigt
+_kongr) e (s       '?&#      // kongres - stressed but not after a syllable
+ _regr) e (s       '?&#      // regres
  _regr) e (ssiv    &#        // regressiv
  kongr) e (s       &#        // lægekongres
  _rødb) e (de      'e        // stressed e in 'rødbede'
@@ -2382,106 +2515,176 @@ _aller) e (de_     E         // allerede - otherwise the E is changed by another
  _magn) e (t       'e        // stressed
  _refl) e (ks      'E        // stressed
  divan) e (ser     'e        // stressed
-   lar) e (do      'e        //
+   lar) e (do      'e
      l) ew (is     u:        // name
      p) eabody     ibVdi     // name
-        exchange   _^_en     //
-        eagle      i:g@-l    //
+        exchange   _^_en
+        eagle      i:g@-l
      p) ea (co     i:        // Peacock
-    _p) ea (k_     i:        //
+    _p) ea (k_     i:
     dr) ea (m      i:        // English
     _d) ee (p      i:        // Deep Throat
-    _p) each       i:tS      //
+    _p) each       i:tS
      _) eton       i:t@-n    // university
+     f) er (guson  ?W        // name
+  arti) e (+                 // name silent e
+    _h) eisenberg  aIs@-nb?Erg // Heisenberg
 
 // final -em - stressed e
-     &) em (_$p_alt+ 'em     // problem
-     &) em (et$p_alt+ 'em    // problemet
-     &) em (er$p_alt+ 'em    // problemer
-     &) em (s$p_alt+ 'em     // problems
+     &) em (_$p_alt+ '?em    // problem
+     &) em (et$p_alt+ '?em   // problemet
+     &) em (er$p_alt+ '?em   // problemer
+     &) em (s$p_alt+ '?em    // problems
+
+ _syst) e (m@      ''?e      // systemanalytiker
 
 // various exceptions
     el) e (ndig    ?E        // møgelendig - steressed with $alt rule
    leb) e (ndig    'E        // steressed with $alt rule
  _ball) e (t@      'E        // balletdanser
-_en_ball) e (t     'E        //
-_vor_ball) e (t    'E        //
-_vores_ball) e (t  'E        //
-_jeres_ball) e (t  'E        //
-_deres_ball) e (t  'E        //
-_hans_ball) e (t   'E        //
-_hendes_ball) e (t 'E        //
+_en_ball) e (t     'E
+_vor_ball) e (t    'E
+_vores_ball) e (t  'E
+_jeres_ball) e (t  'E
+_deres_ball) e (t  'E
+_hans_ball) e (t   'E
+_hendes_ball) e (t 'E
     _r) e (ndyr+   e         // rendyrke
      h) e (n++     ?E        // hen, hente, derhen
-     h) e (nde+    ?e        //
+    ch) e (n_++    @-        // branchen
+     h) e (nde+    ?e
  carst) e (n       @-
  karst) e (n       @-
   hest) e (n+      @-        // hestene
   serv) e          @-        // reservehjul
    off) e (n       @-        // offentliggøre
-    tr) edive      &#Dv@     // tredive
-    tr) ediver     &#DvV     // trediverne
-    tr) edivete    &#Dft@    // tredivete
-        entente    ANt'ANt   //
-  prof) essionel   'eSonel   //
-        eisenhower aIs@nhAuV //
+   ref) e (ren     @-        // reference
+  veks) e (l       @-        // vekselvarme
+    tr) edive      ?&#Dv@-   // tredive
+    tr) ediver     ?&#DvV    // trediverne
+    tr) edivete    ?&#Dft@-  // tredivete
+        entente    ANt'ANt
+  prof) essionel   '?ES?on?El
+        eisenhower aIs@nhAuV
     st) ei (nK     aI        // -stein in German names
     _h) ei (l_     aI        // heil Hitler
      s) ei (smol   aI        // seismolog
-     t) eint       EN        //
+     t) eint       ?EN
         eiger      aIgV      // Eiger mountain
     sp) eed        i:d       // speedbåd
-     t) ech        Ek        // hightech
-stoneh) enge       EndZ      //
-   pal) e (rmo     'E        //
+     t) ech        ?Ek       // hightech
+stoneh) enge       ?EndZ
+   pal) e (rmo     'E
      w) ee         i:        // Sweeney, weekend, tweed
-    tw) eed        i:d       //
+    tw) eed        i:d
     _h) ei (di     aI        // name
     _d) ei (dre    i:        // name
-  trap) ez         'Ets      // stressed
+  trap) ez         '?Ets     // stressed
      l) eague      i:g       // Champions League
-    _m) e (d       E         // med, medgift
-     m) e (da      e         // medaljon
+    _m) e (d       ?E        // med, medgift
+     m) e (da      ?e        // medaljon
 
-// Words ending with  e - general rule
-     @) e (_+      @-_!      // husleje, vække
+// Words with final "e" - general rule
+     @) e (_++     @-_!      // husleje, vække
      @) e (s_      @-        // føles
      s) e (_+      @-_!      // galakse, skose
-    @r) e (_+      V         // tørre
-  nerv) e (C       @-        // nervesammenbrud
+    @r) e (_++     ?V        // tørre, identificere
+  nerv) e (@       @-        // nervesammenbrud
    urg) ere (_++   VV        // burgere
      r) e (re_     E         // operere
+  _alm) e (n       ?e
+
+// Compounds - words with final "e" + another word
     kk) e (@       @-        // vækkeur TEST
  studi) e (@       @-        // studiegruppe
  apach) e (@       @-        // apacheleder
   kæmp) e (@       @-        // kæmpestor
+ hjern) e (@       @-        // hjernesvulst
     ys) e (@       @-        // lysekrone
     øs) e (@       @-        // løsepenge
+    øb) e (@       @-        // løbepas
+    æv) e (@       @-        // ræverødt
+kanari) e (@       @-        // kanariegul
+    ug) e (@       @-        // sugemærke
+    ej) e (@       @-        // rejekælling
+   avl) e (@       @-        // navlestreng
+   arm) e (@       @-        // charmetrold
+  påsk) e (@       @-        // påskelilje
+skrald) e (@       @-        // skraldespand
+   æst) e (@       @-        // gæstehus
+   ægt) e (@       @-        // ægteskab
+   øjl) e (@       @-        // søjleformet
+   min) e (@       @-        // minearbejder
+    iv) e (@       @-        // skriveteknik
+   van) e (@       @-        // svanesang
+   ylt) e (@       @-        // snyltehveps
+   uCp) e (@       @-        // pumpeværk
+   læb) e (@+      @-        // læbestift
    alk) e (@       @-        // malkeko
+   ikk) e (@+++++  @-        // stikkende
+  lipp) e (@       @-        // klippeø
+   øjn) e (@       @-        // iøjnefaldende
+   ift) e (@       @-        // giftetanker
+ bronz) e (@       @-        // bronzefigur
+   odd) e (@       @-        // loddekolbe
+    bb) e (@       @-        // krabbecocktail
+   rub) e (@       @-        strubehoved
+mennesk) e (@      @-        // menneskeheden
   rupp) e (@       @-        // gruppemodel
-   ban) e (@       @-        //jernbanefolk
+   emm) e (@       @-        // hjemmefra
+   omm) e (@       @-        // trommehinde
+   egn) e (@       @-        // tegnebog
+   yld) e (@       @-        // byldepest
+   ygg) e (@+      @-        // hyggesnak, byggesten
+   ærn) e (@       @-        // værnepligt
+  hatt) e (@+      @-        // hattestativ
+    yd) e (@       @-        // skydetelt
+  ramp) e (@       @-        // krampeanfald
+   ved) e (@       @-        // svedehytte
+   ødm) e (@       @-        // sødmefuld
+   ank) e (@       @-        // tankevirksomhed
+   ban) e (@       @-        // jernbanefolk
+   lid) e (@       @-        // invalidepension
 handsk) e (@       @-        // handskerum
   bøvs) e          @-        // bøvsesen
+   ond) e (@       @-        // bondefanger
+   ton) e (@       @-        // toneleje
+  sans) e (@       @-        // sanseapparat
   fisk) e (@       @-        // fiskeforhold
- studi) er         V         //
+   ast) e (@       @-        // hasteopgave
+  utsj) e (@       @-        // rutsjebane
+ @kast) e (l       ?E        // luftkastel
+ studi) er         V
   Catt) e (@       @-        // skatteår
     ro) e (@       @-        // roesukker
    ell) e          @-        // cellevæg
+   æll) e (@       @-        // gællebue
+   ong) e (@       @-        // kongefamilie
  _lill) e          @_!
    ytt) e (@       @-        // skytteforbundet
   klog) e          @-        // klogeste
     vi) e (@       @-        // vievand
    alv) e          @-        // kalvekød
    næs) e (@       @-        // næseblod
+   Cas) e (@       @-        // basepar
+   ent) e (@       @-        // ventetid
+   ang) e (@       @-        // fangelejr
     øv) e (@       @-        // prøveperiode
+   øvr) e (@       ?V        // manøvredygtig
+   imr) e (@       ?V        // fimrehår
+ _prom) enade      @-n'&D@-  // promenade
+ _prom) enader     @-n'&D?V
     al) e (@       @-        // malebog
+  melt) e (@       @-        // smelteovn
    eng) e (@       @-        // sengetid
   dans) e (@       @-        // dansebal
    rus) e (@       @-        // brusetablet
     ås) e          @-        // dåse, gåsehud, Åse
+  skol) e (@       @-        // skolebog
     ån) e (@+      @-        // låneansøgning, månestråle
   _lev) e (@++     @-        // levevis
    arn) e (@       @-        // barnebarn
+   æbl) e (@       @-        // æbletærte
    kam) e (ra      @-
    ørv) e (@       @-        // tørvetriller
    ull) e (@       @-        // rullebræt
@@ -2491,21 +2694,46 @@ handsk) e (@       @-        // handskerum
  knogl) e (@       @-        // knoglepark
    ant) e (@       @-        // plantesaft
    ørn) e (@       @-        // børnebog
-    mm) e (@       @-        // dømmekraft
+  hvil) e (@       @-        // hvilested
+ spill) e (@+      @-        // spillerum
+ spill) er (e      V         // spillere
+  bisp) e (@       @-        // bispesæde
+   olk) e (@       @-        // folkevogn
+   ømm) e (@       @-        // dømmekraft
+   umm) e (@+      @-        // dømmeste
+    mm) er (@++    V         // sommeraften
     ab) e (@       @-        // abekat
-        e (dere    @-        // torpedere
+   bab) e (tte     '?E       // name
+     p) e (dere    @-        // torpedere
     øl) e (@+      @-        // køleskab
+   øgl) e (@       @-        // nøglering
+   pil) e (@       @-        // pilespids
+   ott) e (@       @-        // rottebur
+   æri) e (@       @-        // prærieulv
+   bid) e (@       @-        // bidemærker
    aff) e (@       @-        // straffeattest
+  temp) e (ratur   @-
+  samm) e (n@      @-        // sammenkomst
    Alj) e (@       @-        // patruljevogn
+   alm) e (@       @-        // palmekrabbe
    Avn) e (@       @-        // navneordbog
    lej) e (@       @-        // plejehjem
+    am) e (@       @-        // dameblad
+   uml) e (@       @-        // bumletog
+   cyk) e (l       @-        // cykelklokke
+ smert) e (@       @-        // smertestillende
    ild) e (@       @-        // kildevand
     yv) e (@       @-        // flyveplads
    ask) e          @-        // vaskeklud
+   yll) e (@       @-        // tryllestav
   høns) e          @-        // hønsehus
+   æft) e (@       @-        // hæftemaskine
    æpp) e (@       @-        // tæppeforretning
    bib) e (l       @-        // Bibelen
    vic) e (@       @-        // vicedirektør
+   ørk) e (n       @-        // ørkenstøvle
+    æd) e (@       @-        // smædekampagne
+
  @iker) e (_N      V         // fabrikere
  @iker) et (_      VD        // fabrikeret
 groupi) e                    // silent e
@@ -2514,212 +2742,215 @@ groupi) e                    // silent e
     ud) e (@+      @-        // studehandel, brudepige
         e (pisode++ e        // skudepisode
     øj) e (@       @-        // øjeblik
+    oz) elot       @-l'Vt    // stressed
    ukk) e          @         // smukkeste
     ol) e          @-        // tolerant TEST
     ul) e (@       @-_!      // juleaften, gulerod
-    ul) e (mp      E         // forulempe
+    ul) e (mp      ?E        // forulempe
     is) e (@       @         // spisetid, fisefornem, disede
-     s) e (rie     e         // miniserie
-    im) e (@       @-        // timevis
+     s) e (ksuel+  ?E        // biseksuel
+     s) e (rie+    ?e        // miniserie
+   tim) e (@       @-        // timevis
     åb) e (n       @-        // åbenbart
    ørr) e (@       @-        // tørresnor - TEST
-konsul) e (nt      E         // sikkerhedskonsulent
-   afs) e (_       e         // afse
-   afs) e (t_+     e         // afset
-  tils) e          e         // tilset
-foruds) e          e         //
- godes) e          e         // tilgodese
-efters) e          e         //
+konsul) e (nt      ?E        // sikkerhedskonsulent
+   afs) e (_       ?e        // afse
+   afs) e (t_+     ?e        // afset
+  tils) e          ?e        // tilset
+foruds) e          ?e
+ godes) e          ?e        // tilgodese
+efters) e          ?e
      _) e (_speak  i         // eSpeak - capital s makes the e one word
      _) e (_mail   i         // e-mail
- hjemv) e          e         //
- hjemv) ej         aI        //
-  _uds) e (_+      e         // udse
-  _uds) e (r_+     e         // udser
-  puds) er (+      V         //
-  turn) e          'e        //
-   kup) e (+       'e        // stressed
-  stud) e (re      'e        // studerende
+ hjemv) e          ?e
+ hjemv) ej         aI
+  diff) e (ren     @-        // difference
+  _uds) e (_+      ?e        // udse
+  _uds) e (r_+     ?e        // udser
+  puds) er (+      ?V
+  turn) e          '?e
+   kup) e (+       '?e       // stressed
+  stud) e (re      '?e       // studerende
   joyc) e                    // name - silent e
   joyc) e (s       @-        // name - keep the e
 
-// Words ending with -te
+// Words with final -te
      t) e (_       @-
-  _ist) e          e         // iste (cold tea)
- urtet) e          e         // herbal tea
-kamillet) e        e         //
-middagst) e        e         // eftermiddagste
- komit) e          'e        //
- komit) ee (n      'e@-      //
-variet) e          'e        //
+  _ist) e          ?e        // iste (cold tea)
+ urtet) e          ?e        // herbal tea
+kamillet) e        ?e
+middagst) e        ?e        // eftermiddagste
+ komit) e          '?e
+ komit) ee (n      '?e@-
+variet) e          '?e
 
-// Words ending with -se or -ce
+// Words with final -se or -ce
      s) e (_       @-
      c) e (_       @-
      c) e (rin     @-        // nitroglycerin
- overs) e (_       e
- overs) e (s_      e
-  _ans) e (++      e         // avoid [V] in "anser" and [@] in "anse"
-velans) e (t       e         //
+ overs) e (_       ?e
+ overs) e (s_      ?e
+  _ans) e (++      ?e        // avoid [V] in "anser" and [@] in "anse"
+velans) e (t       ?e        //
 
-// Words ending with -ske (and ste, spe)
+// Words with final -ske (and -ste, -spe)
    L08) e (_       @-        // påske, forske
 
 // exceptions to the -ske rule
-  mosk) e          'e        // moske, moskeen, moskeer
-  måsk) e (_       'e        // måske
-   _sk) e (_       e         // ske
-   _sp) e (_       e         // in spe
-   _sk) e (er      e         // skeer
-dessertsk) e       e         // dessertske
-fugesk) e          e         // fugeske
-grydesk) e         e         // grydeske
-grødsk) e          e         // grødske
- hulsk) e          e         // hulske
- kansk) e          e         // kanske
- mursk) e          e         // murske
-målesk) e          e         // måleske
-strøsk) e          e         // strøske
-støbesk) e         e         // støbeske
-dessertsk) e       e         //
-strøsk) e          e         //
-spisesk) e         e         //
-sølvsk) e          e         //
-potagesk) e        e         //
-suppesk) e         e         //
-morgent) e         e         //
-  tesk) e          e         // teske
- borts) e (+       e         //
- gourm) e          'e        // gourmet
-  _rod) e (o       'e        // stressed
+  mosk) e          '?e       // moske, moskeen, moskeer
+  måsk) e (_       '?e       // måske
+   _sk) e (_       ?e        // ske
+   _sp) e (_       ?e        // in spe
+   _sk) e (er      e:        // skeer
+dessertsk) e       ?e        // dessertske
+fugesk) e          ?e        // fugeske
+grydesk) e         ?e        // grydeske
+grødsk) e          ?e        // grødske
+ hulsk) e          ?e        // hulske
+_kansk) e (_       ?e        // kanske
+ mursk) e          ?e        // murske
+målesk) e          ?e        // måleske
+strøsk) e          ?e        // strøske
+støbesk) e         ?e        // støbeske
+dessertsk) e       ?e
+strøsk) e          ?e
+spisesk) e         ?e
+sølvsk) e          ?e
+potagesk) e        ?e
+suppesk) e         ?e
+morgent) e         ?e
+  tesk) e          ?e        // teske
+ borts) e (+       ?e
+ gourm) e          '?e       // gourmet
+  _rod) e (o       '?e       // stressed
 
 // stressed e in words with -ekt - konfekt
-  _aff) eg (t      'E
-_arkit) eg (t      'E
-  _asp) eg (t      'E
-  _def) eg (t      'E
- _desp) eg (t      'E
- _dial) eg (t      'E
-  _eff) eg (t_     'E
-_idiol) eg (t      'E
-  _ins) eg (t      'E
-_intell) eg (t     'E
- _koll) eg (t_     'E
- _koll) eg (te     'E        kollekten
- _konf) eg (t      'E
- _korr) eg (t      '&#
-  _obj) eg (t      'E
-   obj) eg (tiv    E
- _perf) eg (t      'E
- _proj) eg (t      'E
- _proj) eg (til    E
-_prosp) eg (t      'E
- _præf) eg (t      'E
- _resp) ek (t      'Eg
-  resp) eg (tabel  E
-_sociol) eg (t     'E
- _subj) eg (t      'E
- _susp) eg (t      'E
+  _aff) ek (t      '?Eg
+_arkit) ek (t      '?Eg
+  _asp) ek (t      '?Eg
+  _def) ek (t      '?Eg
+ _desp) ek (t      '?Eg
+ _dial) ek (t      '?Eg
+  _eff) ek (t_     '?Eg
+_idiol) ek (t      '?Eg
+  _ins) ek (t      '?Eg
+_intell) ek (t     '?Eg
+ _koll) ek (t_     '?Eg
+ _koll) ek (te     '?Eg      // kollekten
+ _konf) ek (t      '?Eg
+ _korr) ek (t      '&#g
+  _obj) ek (t      '?Eg
+   obj) ek (tiv    ?Eg
+ _perf) ek (t      '?Eg
+ _proj) ek (t      '?Eg
+ _proj) ek (til    Eg
+_prosp) ek (t      '?Eg
+ _præf) ek (t      '?Eg
+ _resp) ek (t      '?Eg
+  resp) ek (tabel  Eg
+_sociol) ek (t     '?Eg
+ _subj) ek (t      '?Eg
+ _susp) ek (t      '?Eg
 
  // stressed e in words with -cept - konfekt
-  _rec) e (pt      'E
- _konc) e (pt      'E
-  _acc) e (pt      'E
+  _rec) e (pt      '?E
+ _konc) e (pt      '?E
+  _acc) e (pt      '?E
 
 // stressed e in a few words inding with -est
   _arr) e (st      '&#
-  _asb) e (st      'E
-  _att) e (st      'E
+  _asb) e (st      '?E
+  _att) e (st      '?E
   @att) e (st      E         // fødselsattesten
-_manif) e (st      'E
-  _mol) e (st      'E
+_manif) e (st      '?E
+  _mol) e (st      '?E
    mol) e (stere   @-
- _prot) e (st      'E
+ _prot) e (st      '?E
  _prot) e (ster    @-        // protesterede
-  _reg) e (st      'E
+  _reg) e (st      '?E
 
   // stressed e in some words with final -ente/-ende
-_testam) e (nte    'e
-_divid) e (nte     'e
-_regim) e (nte     'e
-_sakram) e (nte    'e
+_testam) e (nte    '?e
+_divid) e (nte     '?e
+_regim) e (nte     '?e
+_sakram) e (nte    '?e
 
 // words with final -ende
      &) ende (_++  @-n@-     // troende
     @r) ende (_++  ?Vn@-     // glimrende
 // exceptions to the -ende rule
-  genk) end (e_+++ E-n       // genkende
- anerk) end (e_+++ E-n       // anerkende
-    _k) end (e_+++ E-n       // kende
+ divid) ende       '?End@-
+  genk) end (e_+++ ?E-n      // genkende
+ anerk) end (e_+++ ?E-n      // anerkende
+    _k) end (e_+++ ?E-n      // kende
   søsk) end (e++   @-n
   _erk) end (e_++  'En       // erkende
-     k) ender (_   E-nV      // genkender, kender, anerkender
-  henv) ende (_    E-n@-     //
-  henv) ender (_   E-nV      //
-    sv) ende (++   En@-      // følgesvende
-   anv) ende (_    E-n@-     //
-   anv) ender (_   E-nV      //
-  fuld) ende       E-n@-     //
-   ops) ende       E_n@-     //
-  røvr) ende (_    a-n@-     // røvrende
-  røvr) ender (_   a-nV      // røvrender
-   omv) ende (+    E-n@-     // omvende
-   omv) ender (+   E-nV      // omvender
-     v) ende (tta  End'E     // stressed
+     k) ender (_   ?E-nV     // genkender, kender, anerkender
+   omv) end (e++   ?E-n
+  henv) end (e++   ?E-n
+    sv) ende (++   ?En@-     // følgesvende
+   anv) end (e+    ?En
+  fuld) end (e+    ?En
+   ops) end (++    ?En
+   uds) end (++    ?En
+  røvr) ende (_+   ?A-n@-    // røvrende
+  røvr) ender (_   ?A-n?V    // røvrender
+     v) ende (tta  ?End'?E   // stressed
    lav) ende (l    'En@-     // stressed
-    fj) ende       e-n@-     // dødsfjende
-    fj) ender      e-nV      // dødsfjender
+    fj) ende       ?e-n@-    // dødsfjende
+    fj) ender      ?e-n?V    // dødsfjender
 
-   L08) e (gt      e         // stegt
-   L08) eg         Aj        // steg, spegepølse
+   L08) e (gt      ?e        // stegt
+   L08) eg         ?Aj       // steg, spegepølse
   fisk) eg         @-g       // tunfiskegryde
  torsk) eg         @-g       // torskegilde
-   _st) eg (_      e         // steg - verb, problem with noun = "roast"
+   _st) eg (_      ?e        // steg - verb, problem with noun = "roast"
         eg (angs   @-g       // førstegangsforbrydere.
-  best) eg (_      'e        // besteg
-  best) eg (et_    'e        // besteget
+  best) eg (_      '?e       // besteg
+  best) eg (et_    '?e       // besteget
     st) eg (et     e
-overst) eg         ej        //
+overst) eg         ?ej
     st) eg (å      @-g       // præstegård
         eg (affel  @-g       // fiskegaffel
-   _sk) eg (affel  eg        // skegaffel
-   rel) eg (ion    @-g       //
-     n) egl        Ajl       // negl
-     r) egel       Ejl       // regel
-     r) egl        Ejl       // regler
-     k) eg (le     Aj        // keglebane
-     h) eg (le     Aj        // gennemhegle
-    br) ea (k      Ej        // breakdance
-   res) e (rve     '&        // reserve - stressed
-   res) erver (_en Erv'er    // reserver en plads
+   _sk) eg (affel  ?eg       // skegaffel
+   rel) eg (ion    @-g
+     n) egl        ?Ajl      // negl
+     r) egel       ?Ejl      // regel
+     r) egl        ?Ejl      // regler
+     k) eg (le     ?Aj       // keglebane
+     h) eg (le     ?Aj       // gennemhegle
+    br) ea (k      ?Ej       // breakdance
+   res) e (rve     '?&       // reserve - stressed
+   res) erver (_en ?Erv'?er  // reserver en plads
      m) eg (a      eg        // mega, omega
-     _) eget (_    Aj@-D     // eget
-     r) eg (er     Eg        // e=> E
-        eg (n      Aj        // regn, tegning, lege
-    _v) eg (_      ej        //
-    _v) eg (et_    ej        //
-   skr) eg         Aj        //
+     _) eget (_    ?Aj@-D    // eget
+     r) eg (er     ?Eg       // e=> E
+        eg (n      ?Aj       // regn, tegning, lege
+    _v) eg (_      ?ej
+    _v) eg (et_    ?ej
+   skr) eg         ?Aj
 underl) eg         ej        // underlegen
      p) eg         aI        // pegefinger
         eg (å+     @-g       // oppegående
         eg (rund   @-g       // klippegrund
-     p) eg (asus   eg        //
-     p) egmatit    Egm&t'it  //
+     p) eg (asus   eg
+     p) egmatit    Egm&t'it
      s) eg (l      Aj        // segl, forsegle
      t) eg (l      aI        // teglværk
      p) eggy       Egi       // name
     ll) ey         i         // volley
      _) ege (_     e:j@-     // added _ - ege(træer)
-     _) ege (træ   e:j@-     // added _ - egetræe
-     _) ege (løv   e:j@-     //
-     _) ege (blad  e:j@-     //
+     _) ege (træ   e:j@-     // added _ - egetræ
+     _) ege (parket e:j@-    // egeparket
+     _) ege (løv   e:j@-
+     _) ege (blad  e:j@-
    L06) eg (e      aI        // p) changed to L06 to include b
      l) ege (me    Ej@-      // fornedrelseslegeme
      l) eg (e+     aI        // PM julelege, blege
-  coll) ege        idZ       //
+  coll) ege        idZ
      l) eg (ere    i-g       // priviligeret
-     l) egende (_børn aI@-n@- //
-     l) egende (_let aI@-n@- //
+     l) egende (_børn aI@-n@-
+     l) egende (_let aI@-n@-
      l) eg (enda   eg        // legendarisk
     _l) egende (_  eg'End@-  // "myth"
 selskabsl) eg      aI        //
@@ -2733,20 +2964,20 @@ selskabsl) eg      aI        //
         entre (hag EntrV     // entrehage
      c) en (t      En        // koncentrere
      c) en (tA     En
-     p) en (sion   aN
+     p) en (sion+  AN
      r) en (ce     AN        // reference
     br) e (d       E         // seinebred, flodbred
     br) edd        Ed        // bredde
    _tr) e (d       E         // tredje
-        ej (+++    Aj        // nej, arbejde
+        ej (+++    ?Aj       // nej, arbejde
+     s) ejr (++    ?Aj?V     // sejr, sejrrig
+     l) ejr (++    ?Aj?V     // lejr, lejrbål
+     l) ejre (+    ?Ajr?V
         eje (n++   ?Aj@-     // ejendom
         e (job+    @-_!      // ønskejob
         e (jord++  @-_!      // apachejord
         e (jæger++ @-_!      // skalpejæger
     dr) ej (+      aI        // fordrejet
-//   ykk) e (@       @-        // lykkejæger
-// skørt) e (@       @-        // skørtejæger
-// skørt) er (_ V
   hygi) ej (ne     'aI       // stressed
         ej (aku    ej        // ejakulere
    gal) ej         'aI       // stressed
@@ -2773,11 +3004,11 @@ _offic) e (_                 // office (officepakke)
     st) edet (_    ?ED@-t    // værkstedet
     Ad) en (@      @-n       // udenlandsk, udenad
     Ad) en (ti     ?En       // identificere
-   sir) ene (+     '?En@-    //
+   sir) ene (+     '?En@-
     gr) ene (+     En@-      // grene
     rr) ed         @-D       // lærred, ørred
     rr) ed (A      @-d       // herredømme
- fingr) ene        Vn@-      //
+ fingr) ene        Vn@-
    _st) evie       ivi       // name
    ucc) es         '?e
    nog) et (_      D         // noget
@@ -2793,12 +3024,13 @@ _terap) eut        'Wwd      // stressed
   _cel) e (ber     '?e       // stressed
 _parent) e (s      '?e       // stressed
   _kat) e (der     '?e       // stressed
+  _kat) e (ter     '?e       // stressed
   ekst) e (rn      '?E       // stressed
    int) e (rn+     '?E       // stressed
 splint) er         V         // splinterny
    bod) e (ga      '?e       // stressed
 halvfj) e (rds     '?&       // stressed
- _konc) e (rn      '?E       //
+ _konc) e (rn      '?E
   merc) e (des     'e        // car
 vietnam) e (ser    '?e       // stressed
   _ant) e (nne     '?E       // stressed
@@ -2806,7 +3038,7 @@ vietnam) e (ser    '?e       // stressed
     el) e (v       ?e        // kostelev, skoleelev
     el) e (vat     @-        // elevator
   sydv) e (st      '?E       // stressed
- nordv) e (st      '?E       //
+ nordv) e (st      '?E
   musk) e (t+      '?E       // stressed
    all) e (gro     'e        // stressed
    _id) e          '?e       // ide, ideen
@@ -2823,84 +3055,84 @@ havann) e (ser     '?e       // stressed
   proc) e (s       '?E
 
      k) ea (ton    i:        // name
- ompet) en (ce     AN
-  ress) en (timent AN        // ressentiment
-     m) edie       'edj3     // medie, kommedie
-     m) edier      'edjV     // medier, kommedier
-  inds) e          e         // indse
- linds) ey         i         // name
-  inds) e (r_      e         // indser
-   rak) e (t+      E         // bremseraket
-  _rak) e (t+      'E        // raket
+ ompet) en (ce     ?AN
+  ress) en (timent ?AN       // ressentiment
+     m) edie       '?edj@-   // medie, kommedie
+     m) edier      '?edj?V   // medier, kommedier
+  inds) e (+       ?e        // indse
+ linds) ey         ?i        // name
+  inds) e (r_      ?e        // indser
+   rak) e (t+      ?E        // bremseraket
+  _rak) e (t+      '?E       // raket
   _rak) e (tt+     '?E       // raketten
-        etagere    et&S'E:R  //
-        espeak     ispi:k    //
-        eindhoven  Ajnh'o:f@-n //
+        etagere    ?et?&S'E:R
+        espeak     ispi:k
+        eindhoven  Ajnh'o:f@-n
         einstein   AjnstAjn
-        eyeliner   AjlAjnV   //
-     _) edie (_    idi       // name
-     k) ey         i         // jockey
+        eyeliner   AjlAjnV
+     _) edie (_    id?i      // name
+     k) ey         ?i        // jockey
         eiffel     aIf@-l    // Eiffeltårnet
         eileen     aIl'i:n   // name
-        ecstacy    Est&si    //
+        ecstacy    Est&si
      s) ei (s      aI        // seismograf
-   rev) eill (e    'Elj      //
+   rev) eill (e    'Elj
     ef) eu         Vj        // plant
      _) earl       W:l/2     // Earl
      _) earp       W:b       // name
      _) east       i:sd      // Eastwood
-        ecstasy    Est&si    //
-stript) ease       i:s       //
-     l) ea (se     i         //
-     l) ea (sing   i         //
-        eu (ro     Ww        // Europa, euro
-        eau        'o        // bureau, niveau
+        ecstasy    ?Est?&s?i
+stript) ease       i:s
+     l) ea (se     i
+     l) ea (sing   i
+        eu (ro     ?Ww       // Europa, euro
+        eau (+     '?o       // bureau, niveau
         eau (kti   @Au       // pladeauktion
         eau (to    @Au       // hæveautomat
-        empire (_state EmpaI3 //
-    _t) e (_       e         // te
+        empire (_state EmpaI3
+    _t) e (_       ?e        // te
    kin) e (s       '?e       // kineser
      d) e (s_      @-        // mødes
-    _d) e (s_      e         // des = desto, jo
+    _d) e (s_      ?e        // des = desto, jo
    var) e          @-        // vareprøve, varevogn TEST
      _) eddie      Edi       // name
-     C) ey (_      i         // names with final ey - TEST
-  harv) ey         i         // name
-  disn) ey         i         // name
- _barn) ey         i         // PN name
-  jess) e          i         // name
+     C) ey (_      ?i        // names with final ey - TEST
+  harv) ey         ?i        // name
+  disn) ey         ?i        // name
+ _barn) ey         ?i        // PN name
+  jess) e          ?i        // name
      m) ey (er     aI        // name
-  sylv) e (ster    'E        // name
-magdal) e (n       'e        // Magdalena - name
+  sylv) e (ster    '?E       // name
+magdal) e (n       '?e       // Magdalena - name
         ebay       ibEj      // eBay
- budap) e (st      'E        // stressed
+ budap) e (st      '?E       // stressed
      h) ei (del    aI        // Heidelberg
-     r) eaux       O         // Devereaux
+     r) eaux       ?O        // Devereaux
         eugene     judZ'i:n  // name
    _ir) e (ne++    'E        // name
-        e (legi++  e         // elegi, relegion
-   ven) e (dig     'e        //
+        e (legi++  ?e        // elegi, relegion
+   ven) e (dig     '?e
      t) ea (m      i:        // teamwork
      h) eart       A:d       // Ourple Heart
-    _d) e (_la_    W         // creme de la creme
-    _d) e (_gaulle @-        // name
-    _d) e (_       i_!       //
-venstr) e          V         // venstreorienterede
-        e (venty   E         // eventyr
+    _d) e (_la_    ?W        // creme de la creme
+    _d) e (_gaulle ?W        // name
+    _d) e (_       ?i_!
+venstr) e          ?V        // venstreorienterede
+        e (venty   ?E        // eventyr
 
 // plural suffix -ene
      @) ene (_     @-n@-     // benene, pengene
      @) enes (_    @-n@-s    // benenes
-    @r) ene (_     Vn@-      // brødrene
-    @r) enes (_S4  Vn@-s     // brødrenes
+    @r) ene (_     ?Vn@-     // brødrene
+    @r) enes (_S4  ?Vn@-s    // brødrenes
    @gg) ene (_S4   @-n@-     // væggene
     tj) ene (++    En@-      // betjene
-    tj) ener (+    EnV       //
-  forl) ene        'en@-     // stressed
-    ur) ene (_tanker 'en@-   //
+    tj) ener (+    EnV
+  forl) ene        '?en@-    // stressed
+    ur) ene (_tanker 'en@-
   marl) ene        'en@-     // name
   _hel) ene        'en@-     // name
-at_form) ene       'en@-     //
+at_form) ene       'en@-
 
  charl) ene        'i:n      // name
 
@@ -2924,10 +3156,11 @@ at_form) ene       'en@-     //
      @) el (_      @-l       // fødsel
      @) el (s      @-l       // fødselsdag, fødselstal
      @) el (se     @-l       // forstoppelse
+     r) el (se     ?Vl       // værelse, størrelse
      @) el (Ar     @-l       // fødselar
      @) el (t_     @-l       // ædelt
     @r) el (_+     &#l       // multikulturel
-     t) el (t_     el        // ilttelt
+     t) el (t_     ?El       // ilttelt
    jub) el         @-l       // jubelidiot
 
  rævep) el (s+     ?El       // rævepels
@@ -2936,94 +3169,95 @@ skindp) el (s+     ?El       // skindpelsen
 
 // exceptions to the -el rule
 // final -el in da_list - stressed e
-     &) el ($p_alt+++ ''El   // model
-     &) el (t$p_alt ''El     // kommercielt
-    &r) el ($p_alt++ ''&#l   // multikulturel
+     &) el ($p_alt+++ ''?El  // model
+     &) el (t$p_alt ''?El    // kommercielt
+    &r) el ($p_alt++ ''?&#l  // multikulturel
      &) el (l$p_alt+++ ''?E  // modellen, hotellet - only one l
-    &r) el (l$p_alt+++ ''&#  // kulturelle - only one l
-     &) elet ($p_alt @l'Et   // kotelet
-  korn) el (evator el        // not [korn'El3v,&tV]
-  _app) el (sin    El        //
-person) el         El        //
-dysfunktion) el    El        //
-    _s) elv (e     ?Elv      // selve, selveste
-    _s) elv        El        // selv, selvkørende - silent d
+    &r) el (l$p_alt+++ ''?&# // kulturelle - only one l
+     &) elet ($p_alt @l'?Et  // kotelet
+     &) elet (t$p_alt @l'?E  // koteletter - only 1 t
+  korn) el (evator ?el       // not [korn'El3v,&tV]
+  _app) el (sin    ?El
+person) el         ?El
+dysfunktion) el    ?El
+    _s) elve       ?Elv@-    // selve, selveste
+    _s) elv        ?El       // selv, selvkørende - silent d
     _s) elv (om_   El        // selvom - silent d
-  isab) el         El        // name
-  marc) el         'El       // name
-  form) el (t      'El       //
-  form) el (l      'El       // formelle
-     m) el (on     el        // vandmelon
-venezu) el (a      'el       //
-  hall) el (uja    'el       // stressed
+  isab) el         ?El       // name
+  marc) el         '?El      // name
+  form) el (t      '?El
+  form) el (l      '?El      // formelle
+     m) el (on     ?el       // vandmelon
+venezu) el (a      'el
+  hall) el (uja    '?el      // stressed
      t) el (e      el        // sangtelegram
   @hot) el         ?El       // møghotel
-ration) el         El        //
-krimin) el         El        // småkriminel
-    ti) el         El        // vækstpotentiel
-        el (iksir  el        // ungdomseliksir
+ration) el         ?El
+krimin) el         ?El       // småkriminel
+    ti) el         ?El       // vækstpotentiel
+        el (iksir  ?el       // ungdomseliksir
 
 // final -elig in da_list - stress on previous syllable
-     &) elig ($p_alt =@-li   // jomfruelig
-    &s) elig ($p_alt '@-li   // foruselig
+     &) elig ($p_alt =@-l?i  // jomfruelig
+    &s) elig ($p_alt '@-l?i  // foruselig
 
 // final -elig without stress on previous syllable
      C) el (ig+    @-l       // kedelig, drabelig, fredelig
-     r) el (igi+   El        //
+     r) el (igi+   ?El
 
      _) el (C      ?El       // elkedel
      _) ell        ?El       // eller, Ellen
-muskat) el         ''El      //
+muskat) el         ''?El     //
      @) el (ske+   ?El       // naturelsker
-intellektu) el     El        // //
-  _pan) el         'el       //
-   pan) el         el        //
-    sk) el (_      El        // vandskel
-  orsk) el         el        // forskel
+intellektu) el     ?El
+  _pan) el         '?el
+   pan) el         ?el
+    sk) el (_      ?El       // vandskel
+  orsk) el         ?El       // forskel
    rsk) el         @-l       // tærskel
- flosk) el         @-l       //
-grænsesk) el       el
-marksk) el         el
-     h) el (ikopt  El        // kamphelikopter
-    &p) el (s_     El        // fåreskindspels
-     &) el (ev     el        // mønsterelev
- evang) el         el        // evangelie
-     d) el (t+     el        // tildelt
-    @f) el (t      El        // oliefelt
-   lob) el (ia     '?el      //
+ flosk) el         @-l
+grænsesk) el       ?El
+marksk) el         ?El
+     h) el (ikopt  ?El       // kamphelikopter
+    &p) el (s_     ?El       // fåreskindspels
+     &) el (ev     ?el       // mønsterelev
+ evang) el         ?el       // evangelie
+     d) el (t+     ?el       // tildelt
+    @f) el (t      ?El       // oliefelt
+   lob) el (ia     '?el
      d) el (e+     el        // dele
   særd) el (es     'el       // særdeleshed - stressed
   bind) ele (d     @-le      // bindeledder
  kvind) el (A      @-l       // kvindelejr
   djæv) el         @-l       // Djævelen
   sjof) el         @-l
-     d) eler (+    elV       // deler
-bestandd) el       ?el       //
- halvd) el         ?el       //
-landsd) el         ?el       //
+     d) eler (+    ?el?V     // deler
+bestandd) el       ?el
+ halvd) el         ?el
+landsd) el         ?el
   medd) el         ?el       // meddelsom, meddele
-nederd) el         ?el       //
-     d) el (ing    el        //
+nederd) el         ?el
+     d) el (ing    el
 _offici) el (+     '?el      // officiel
  verbi) el         '?El      // adverbiel
    mod) el         ?El       // fotomodel
-     u) el (_+     'El       // aktuel, seksuel, visuel
-     u) el (t_++   ''el      // aktuelt, seksuelt, visuelt
- _samu) el         El        // name
-  unds) el (ig     'el       //
-gennemsku) el (ig  =el
-   and) el         el        // andel
+     u) el (_+     '?El      // aktuel, seksuel, visuel
+     u) el (t_++   ''?el     // aktuelt, seksuelt, visuelt
+ _samu) el         ?El       // name
+  unds) el (ig     '?el
+gennemsku) el (ig  =@-l
+   and) el         ?el       // andel
    and) el (se     @-l       // forbandelse
   hand) el         @-l       // handel
  spani) el         @-l       // cockerspaniel
   dani) el         ?El       // Daniel
   ford) el         ?el       // fordel
      h) el (t@+    ?El       // tøffelhelt
-    _h) el (t_     el        // problem with helt = hero
+    _h) el (t_     ?el       // problem with helt = hero
      h) el (st     ?El       // allerhelst
      r) el (at     ?el       // relateret
-public_r) elation  il'EjS@-n
-     t) el (ef     el        // telefon
+public_r) elation  ?il'?EjS@-n
+     t) el (ef     ?el       // telefon
     ed) el (+      ?el       // femtedel - words where "del" means 'part of'
    led) el (se     @-l       // ledelse
    ked) el (+      @-l       // grukedel - doesn't mean 'part of'
@@ -3043,7 +3277,7 @@ underst) el (+     ?El
   icha) el         l         // Michael
    ika) el         l         // Mikael
  brøkd) el         ?el
-  bagd) el         ?el       //
+  bagd) el         ?el
    byd) el         ?el
   _for) el         '?&#l     // forel - fish
   _for) el (ig     @-l       // foreligge
@@ -3092,14 +3326,14 @@ _skalp) el         '?El
  sport) el         '?el
 stikked) el        el
    såv) el         '?El
-  _tab) el         '?El
-   tab) el         ?El
-respektab) el      @-l       //
-irritab) el        @-l       //
+  _tab) el (_      '?El
+   tab) el (_      ?El
+respektab) el      @-l
+irritab) el        @-l
 tarant) el         '?El
 univers) el        '?El
 _frikad) el (l     '?El      // stressed - frikadelle
-frikad) el (l      ?El       //
+frikad) el (l      ?El
 verdensd) el       ?el
      @) el (øs+++  @-l       // mageløs, kasteløs
    jul) eleg       @-laI     // juleleg
@@ -3111,65 +3345,109 @@ verdensd) el       ?el
 // noun suffix -en (perlen - the pearl), -ens (perlens - the pearl's)
 // not a suffix any more - too many exceptions
      &) en (_N     @-n       // brien
-     r) en (_      Vn        // skideren [ sk'iDV,Vn] TEST
-    _r) en (_      En
+     r) en (_      ?Vn       // skideren [ sk'iDV,Vn] TEST
+    gr) en (+      ?En
+    _r) en (_      ?En
      d) en (t_     @-n       // beredent
   kier) en (_N     @-n       // bankieren - avoid the r generated by [V]
      &) ens (_+    @-ns      // ungdommens
+    &r) ens (_+    ?Vns      // naturens
      k) en (en     @-n       // tallerkenen
 
 // exceptions
    aft) en         @-n       // avoid [Au] when aft(en) is translated
-   _ag) en (t      'en       // agent
- fænom) en         'en       // stressed
-  _gem) en         'en       // stressed
-  ætyl) en         'en       // stressed
- metyl) en         'en       // stressed
- _form) en (e      'en       // formene - stressed
-    ag) en (t      en        // agent
-   _ad) en (_      'en       // stressed
-    &g) en (st     en        // genstand
-    &g) en (kend   en        // genkende
-menneskev) en (+   En        // menneskeven
-    &g) enn (em    En        // ugennemskuelig
-   _ur) en (_      en        // uren hud
-afløbsr) en (s     &#n       //
+   _ag) en (t      '?En      // agent
+ fænom) en         '?en      // stressed
+  _gem) en         '?en      // stressed
+  ætyl) en         '?en      // stressed
+ metyl) en         '?en      // stressed
+ _form) en (e      '?en      // formene - stressed
+    ag) en (t      ?En       // agent
+   _ad) en (_      'En       // stressed
+    &g) en (st     ?En       // genstand
+    &g) en (kend   ?En       // genkende
+menneskev) en (+   ?En       // menneskeven
+    &g) enn (em    ?En       // ugennemskuelig
+   _ur) en (_      ?en       // uren hud
+afløbsr) en (s     &#n
    ord) en         @-n
-  anci) enn        EN        // anciennitet
-_persi) enn        'En       //
-  _pol) en (ta     'En       // stressed
-        en (tusias AN        //  entusiasme
-        en (dos    AN        // endossement, endosere
-        en (_gros  AN        // en gros
-   dep) en         En        // fyldepen
-kuglep) en         En        //
- filtp) en         En        //
-sportsgr) en       En        // sportsgren
-oliegr) en         En
+ gribb) en (e+     @-n       // gribbene
+  anci) enn        ?EN       // anciennitet
+_persi) enn        '?En
+  _pol) en (ta     '?En      // stressed
+        en (tusias ?AN       //  entusiasme
+        en (dos    ?AN       // endossement, endosere
+        en (_gros  ?AN       // en gros
+   dep) en         ?En       // fyldepen
+kuglep) en         ?En
+ filtp) en         ?En
+sportsgr) en       ?En       // sportsgren
+oliegr) en         ?En
    app) en (diks   'En       // stressed
   susp) en (sion   en        // suspension
 retskaff) en       @-n
    sid) en         @-n       // not a suffix - siden
-præsid) en (t      En        // vicepræsident
-skyldsr) en        En        // uskyldsren
-ædelst) en         en        //
-_præsid) en (t     'En       // præsidentfrue
-   @sv) en (_      En        // barndomsven
-bøssev) en         En        //
-pennev) en         En        //
- dyrev) en         En        //
-metalp) en         En        //
-     v) en (sk+    En        // venskab
+præsid) en (t      ?En       // vicepræsident
+skyldsr) en        ?En       // uskyldsren
+ædelst) en         ?en       //
+_præsid) en (t     '?En      // præsidentfrue
+   @sv) en (_      ?En       // barndomsven
+bøssev) en         ?En
+pennev) en         ?En
+ dyrev) en         ?En
+metalp) en         ?En
+     v) en (sk+    ?En       // venskab
    dov) en (++     @-n       // dovenskab
-   kob) en         en        // koben
- øgleb) en         en        // nøgleben
-  kødb) en         en        // kødben
+   kob) en         ?en       // koben
+ øgleb) en         ?en       // nøgleben
+  kødb) en         ?en       // kødben
+skinneb) en        ?en
    læb) en (++     @-n       // overlæben
    kæb) en (++     @-n
-elfenb) en (+      en        // elfenbensbande
-  bomb) en (+      @-n       //
-  ribb) en (++     en        // ribbenssteg
- gribb) en (e+     @-n       // gribbene
+  bomb) en (+      @-n
+ // ben = "leg"
+  ribb) en (++     ?en       // ribbenssteg
+  bagb) en (++     ?en
+  forb) en (++     ?en
+ marvb) en (++     ?en
+ bordb) en (++     ?en
+stoleb) en (++     ?en
+barnsb) en (++     ?en
+albueb) en (++     ?en
+brystb) en (++     ?en
+bukseb) en (++     ?en
+elfenb) en (+      ?en       // elfenbensbande
+  firb) en (++     ?en
+fiskeb) en (++     ?en
+ flueb) en (++     ?en
+   gåb) en (++     ?en
+ haleb) en (++     ?en
+ haneb) en (++     ?en
+  hælb) en (++     ?en
+højreb) en (++     ?en
+ isseb) en (++     ?en
+hofteb) en (++     ?en
+   kob) en (++     ?en
+  kødb) en (++     ?en
+ kæbeb) en (++     ?en
+lamseb) en (++     ?en
+langeb) en (++     ?en       // stork langeben
+  lårb) en (++     ?en
+ næseb) en (++     ?en
+nøgleb) en (++     ?en
+revelsb) en (++    ?en
+  rødb) en (++     ?en
+   sib) en (++     ?en
+ sideb) en (++     ?en
+sildelb) en (++    ?en
+ skamb) en (++     ?en
+ smalb) en (++     ?en
+støtteb) en (++    ?en
+  træb) en (++     ?en
+venstreb) en (++   ?en
+vinkelb) en (++    ?en
+ønskeb) en (++     ?en
+stankelb) en       ?en
 
 // sten = "stone"
 gravst) en         ?en
@@ -3255,7 +3533,9 @@ _en_syr) en        '?en      // problem with "syren" = "the acid"
    rev) en (che    AN        // not stressed after a syllable
 
 // $alt words with final -ent in da_list - stressed e
-     &) ent ($p_alt++ '?Ent  // student
+     &) ent (_$p_alt++ '?Ent // student
+     &) ent (_en$p_alt++ '?Ent // studenten
+     &) ent (er$p_alt++ '?Ent // studenter
    &es) ent ($p_alt+ 'AN     // present (gift)
    &cc) ent ($p_alt+ 'AN     // accent
     &r) ent ($p_alt+ ''?&#nt // omtrent
@@ -3274,181 +3554,190 @@ _en_syr) en        '?en      // problem with "syren" = "the acid"
 
    // $alt words with final -ens in da_list - stressed e
      @) ens (_$p_alt+ '?Ens  // frekvens
-     @) ens (e$p_alt+ ?'Ens  // frekvenser
+     @) ens (e$p_alt+ '?Ens  // frekvenser
     @r) ens ($p_alt+ '?&#ns  // kohærens
     kv) ens        ?Ens      // inkonsekvens
 
 // $alt words with final -ence in da_list - stressed e
-     &) ence ($p_alt ''ANs-@ // kadence
-     &) ence (r$p_alt ''ANsV // referencer
+     &) ence ($p_alt ''?ANs-@ // kadence
+     &) ence (r$p_alt ''?ANs?V // referencer
   emin) ence ($p_alt '?Ens-@ // exception
 excell) ence ($p_alt '?Ens-@ // exception
 
 // common affix -ender
-     &) ender (_   En?V      // anliggender, foretagender
-    &r) ender (_   an?V      // røvrender
-  _kal) ender      'En?V     //
-  bart) ender      End?V     //
+     @) ender (_   @-n?V     // anliggender, foretagender
+    &r) ender (_   ?An?V     // røvrender
+  _kal) ender      '?En?V    //
+  bart) ender      ?End?V    //
+     k) end (++++  ?En       // genkender
+    @s) ender (+   ?En?V     // afsender
 
 .group er
      C) er (_      ?V        // final "er": V after consonant - handler- TEST
-     C) eri (_     ?VR'i     // final -eri maleri, maseri
+     C) eri (_+    ?VR'i     // final -eri maleri, maseri
+     C) eri (et_+  ?VR'?i    // final -eri maleriet, maseriet, majeriet
     _p) er (_      Er        // per
      t) er (et_    ?V        // final "er": V after t - centeret
-     r) ere (_     V?V       // general rule: plural ending - murere
- relat) ere        e?V       // arbejdsrelaeret
+højest) eret       @-r&#t
+     r) ere (_     ?V?V      // general rule: plural ending - murere
+ relat) ere        ?e?V      // arbejdsrelaeret
   oper) ere        ?EV       // hasteoperere
-diskut) ere        e?V       // omdiskuteret
+diskut) ere        ?e?V      // omdiskuteret
 
 // -ri words in da_list preceeded by e: stressed i
-     @) eri ($p_alt++ ?Vr'i  // røveri, bedrageri
-     @) eri (sk$p_alt =?Vri  // røverisk, bedragerisk
-infant) eri ($p_alt @-r''i   // infanteri
-  vask) eri ($p_alt @-r''i   // vaskeriet
+     @) eri ($p_alt++ ?Vr'?i // røveri, bedrageri
+     @) eri (sk$p_alt =?Vr?i // røverisk, bedragerisk
+infant) eri ($p_alt @-r''?i  // infanteri
+  vask) eri ($p_alt @-r''?i  // vaskeriet
     st) eri (sk$p_alt 'eri   // hysterisk
-  @røv) eri        ?Vri      // bankrøveri
+  @røv) eri        ?Vr?i     // bankrøveri
 
 // 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
 // it isn't possible to mark the rule "not for $alt words" -er and -ere a not suffixes any more.
-     @) er (_N     V         // elsker
-     @) ere (_+    V%V       // elskere
-     @) eres (_    V%Vs      // elskeres
+     @) er (_N     ?V_!      // elsker
+     @) ere (_+    ?V%?V     // elskere
+     @) eres (_    ?V%?Vs    // elskeres
      @) eren (_    V:%Vn     // elskeren
-     @) erens (_   Vr%Vns    // elskerens
-     @) ers (_     Vs        // elskers
-     @) erne (_++  Vn@-      // elskerne
-     @) ernes (_   Vn@-s     // elskernes
+     @) erens (_   ?Vr%?Vns  // elskerens
+     @) ers (_     ?Vs       // elskers
+     @) erne (_++++ ?Vn@-    // elskerne
+     @) ernes (_   ?Vn@-s    // elskernes
      @) erste (_   ?Vsd@-    // midterste
      @) ert (_     ?Vd       // lummert, slubbert
      @) ert (s_    ?Vt       // Alberts
  slamb) ert        ?Vd       // slamberter
-     @) er (sC     V         // Petersborg, tiggerske - TEST
-     f) ers (k     Ers       // dåseferskner
-     @) ers (tat   Ers       // skadeserstatning
+     @) er (sC     ?V        // Petersborg, tiggerske - TEST
+     f) ers (k     ?Ers      // dåseferskner
+     @) ers (tat   ?Ers      // skadeserstatning
+@produc) ere       ?e?V      // masseproducere
+@pension) ere      ?e?V      // førtidspensionere
 
-  wien) er         V         // wienerbrød
- spejd) er         V         // spejderuniform
-    od) er         V         // moderinstinkt
-   hyp) er (@      V         // hyperaktiv
-    æd) er (@      V         // læderindtræk
-sortep) er         er        //
-  rødl) er         er
-vigtigp) er        er        //
-   beh) er (sk     Er        // beherske
-    _t) er (_      er        // "de ter sig underligt"
-     g) er (_++    V         // våger, læger [l'EjV]
-    _g) er (ta+    Er        // Gerta
-  xavi) er         'e        // name
-   gys) er         V         // gyserafdeling
+  wien) er         ?V        // wienerbrød
+   rac) er (@      ?V        // racerkører
+ spejd) er         ?V        // spejderuniform
+    od) er         ?V        // moderinstinkt
+   hyp) er (@      ?V        // hyperaktiv
+    æd) er (@      ?V        // læderindtræk
+  træn) er         ?V        // trænerkomite
+  hunn) er         ?V        // hunnerkongen
+sortep) er         ?er       //
+  rødl) er         ?er
+vigtigp) er        ?er       //
+   beh) er (sk     ?Er       // beherske
+    _t) er (_      ?er       // "de ter sig underligt"
+     g) er (_++    ?V        // våger, læger [l'EjV]
+    _g) er (ta+    ?Er       // Gerta
+  xavi) er         '?e       // name
+   gys) er         ?V        // gyserafdeling
    lys) er (ød     @-R       // lyserød
-  dans) er         V         // danserinde
-   rom) er         V         // romertal
-genfotograf) er (e er        // røntgenfotografere
-  fing) erne (m    VnE       // fingernem
-    @d) erne (++   Vn-@      // let the nd rule kick in - inderne
+  dans) er         ?V        // danserinde
+   rom) er         ?V        // romertal
+genfotograf) er (e ?er       // røntgenfotografere
+  fing) erne (m    ?Vn?E     // fingernem
+    @d) erne (++   ?Vn-@     // let the nd rule kick in - inderne
      g) er (n++    Er        // gerning
-  reag) ere (_     eV        // overreagere
- _reag) ere (_     'eV       // reagere
-  vurd) ere (_     eV        // overvurdere
-    tr) ere (++    EV        // indregistrere
-@dramatis) ere     eV        // overdramatisere
-_overs) er         er        //
-    fj) er (_      er        // falkefjer
-    ov) ere (ns++  V'e       // uoverensstemmelse, overens - stressed
-     g) er (+      V         // unger, borgerkrig
-     g) er (t      er        // Gert/Gerd
-     g) er (rig    Er        // gerrig
-     g) er (da     Er        // name
-     g) er (harK   Er        // Gerhard, Gerhart
-     g) er (e+     eV        // overreagerede, omarrangere
-    gg) ere (+     @-V       // indbyggere
-   sug) er (e      V         // blodsugere
+  reag) ere (_     ?e?V      // overreagere
+ _reag) ere (_     '?e?V     // reagere
+  vurd) ere (_     ?e?V      // overvurdere
+    tr) ere (++    ?E?V      // indregistrere
+@dramatis) ere     ?e?V      // overdramatisere
+_overs) er         ?er       //
+    fj) er (_      ?er       // falkefjer
+    ov) ere (ns++  ?V'?e     // uoverensstemmelse, overens - stressed
+     g) er (+      ?V        // unger, borgerkrig
+     g) er (t      ?er       // Gert/Gerd
+     g) er (rig    ?Er       // gerrig
+     g) er (da     ?Er       // name
+     g) er (harK   ?Er       // Gerhard, Gerhart
+     g) er (e+     e?V       // overreagerede, omarrangere
+   sug) er (e      ?V        // blodsugere
   læng) ere        V?V       //
-  borg) er (e      V         //
-     g) er (ani    er        // geranium
-     g) er (mans   er        // germansk
- aflev) ere        eV        // aflevere
-    mm) er (et     V         // nummeret
-  nysg) er (ri     er        // nysgerrig
-revolv) er (+      V         //
-   int) er (@      V         // interaktiv
- smugl) er         V         // smuglergods
+  borg) er (e      ?V        //
+     g) er (ani    ?er       // geranium
+     g) er (mans   ?er       // germansk
+ aflev) ere        ?e?V      // aflevere
+    mm) er (et     ?V        // nummeret
+  nysg) er (ri     ?er       // nysgerrig
+revolv) er (+      ?V        //
+   int) er (@      ?V        // interaktiv
+ smugl) er         ?V        // smuglergods
  smugl) ere        V?V       // smuglere
-  _int) er (n_++   'Er       // intern
-  _int) er (ne_++  'Er       // interne
-   int) erne (t+   VnE       //
+  _int) er (n_++   '?Er      // intern
+  _int) er (ne_++  '?Er      // interne
+   int) erne (t+   ?Vn?E     //
 //  skid) er         Vr        //
-  ønst) er (+      V         // mønsterelev
-    st) er (i      er        // ministerium
-   ast) er (i      -@R       // madkasteri
-    st) er (eo     er        // stereoanlæg
-    st) er (ol     Er        // kolesterol
-    st) er (ling   er        // sterling
-   ist) er         V         // minister - TEST
+  ønst) er (+      ?V        // mønsterelev
+@minist) er (i     ?er       // ministerium
+  @not) ere        ?eV       // børsnoteret
+  @ast) er (i      -@R'      // madkasteri
+    st) er (eo     ?er       // stereoanlæg
+    st) er (ol     ?Er       // kolesterol
+    st) er (ling   ?er       // sterling
+   ist) er         ?V        // minister - TEST
      s) ervicemindet WvismAjnd@-D
-kundes) ervice     Wvis      //
+kundes) ervice     Wv?is     //
      s) er (vicen  W         //
      v) ernon (++  Wn@-n     // name
-     t) er (ap+    er        // synsterapeut
-   met) er (+      V         // materantal
-  dent) er         V         // studentereksamen
-  _all) er         V         // allersidst
-  pill) er         V         // spiller, piller
-  brus) er         V         // bruseranvendelse
-   eft) er         V         // efteruddanne
-     s) er (v+     Er        // reservat, servo
-     s) ervice (fag Wvis     // servicefag
-     s) ervice (med Wvis     // servicemedarbejder
-     s) ervice (sektor Wvis  // servicesektor
-     s) ervice (station Wvis // servicestation
-     s) ervice (ydelse Wvis  // serviceydelse
-     s) ervice (eftersyn+ 'Wvis // serviceeftersyn
-     s) er (t+     Er        // dessertere
- _kons) er (vativ  'Er       // stressed
- _præs) er (vativ  'Er       //
- _kons) er (ves    'Er       // stressed
+     t) er (ap+    ?er       // synsterapeut
+   met) er (+      ?V        // materantal
+  dent) er         ?V        // studentereksamen
+  _all) er         ?V        // allersidst
+  pill) er         ?V        // spiller, piller
+  brus) er         ?V        // bruseranvendelse
+   eft) er         ?V        // efteruddanne
+     s) er (v+     ?Er       // reservat, servo
+     s) ervice (fag Wv?is    // servicefag
+     s) ervice (med Wv?is    // servicemedarbejder
+     s) ervice (sektor Wv?is // servicesektor
+     s) ervice (station Wv?is // servicestation
+     s) ervice (ydelse Wv?is // serviceydelse
+     s) ervice (eftersyn+ 'Wv?is // serviceeftersyn
+     s) er (t+     ?Er       // dessertere
+ _kons) er (vativ  '?Er      // stressed
+ _præs) er (vativ  '?Er      //
+ _kons) er (ves    '?Er      // stressed
    bas) ere        eV        // behovbaseret
-    tn) er         V         // partnerskab
-   all) er (g      er        // allergisk
-     j) er (n+++++ E3-       // jern, stjerne
-  talj) er (K+++   V         // detaljer
- trulj) er (n+++   V         // patruljerne
-  linj) er (+++    V         // telefonlinjer
-   lej) er         V         // sygeplejerske
-  bunk) er         V         // not a -er suffix
-alexand) er        =dV       // Alexander
-report) er (+      V         // PN not a suffix
- scept) er         V         // scepteret
- kvart) er         er        // nabokvarter
-_kvart) er         'er       // kvarter, kvarterarrest
-   fin) er         er        // krydsfiner
-  _fin) er         'er       // finerplade
-delfin) er         V         //
-_karakt) er        'er       // karakter
-  mort) er         'er       // morterild
-karakt) er         er        // topkarakter
- _klav) er (++     'er       // stressed
-_kaval) er         'er       // stressed
- _tall) er (k      'Er       // tallerken
-_perif) er         'er       // stressed
- perif) er         er        // not stressed after a syllable
-  klav) er (++     er        // after a syllable - værtshusklaver
- _univ) er (s+     'Er       // stressed
-  univ) er         Er        // after a syllable - skoleunivers
- flatt) er (ende   'er       //
- _rivi) er (a      'er       // stressed
-  pass) er (sed    'er       // passersedlen
-  park) er (_bil   'er       // "parker bilen" verb, not noun = "parks"
-  pass) er (_gaden 'er       //
-     n) er (_+     V         // italiener
-   _sn) er (_      er        // "det sner" - "it snows"
-    up) er (C      V         // superfølsom
-    @d) er (C      V         // hæderlig - TOO BROAD?
-   Amm) er (C      V         // sommerhilsen, tømmerflåde
-     r) er (C      V         // frimurerloge
-  komm) er (ciel   er        //
+    tn) er         ?V        // partnerskab
+   all) er (g      ?er       // allergisk
+     j) er (n+++++ ?E3-      // jern, stjerne
+  talj) er (K+++   ?V        // detaljer
+medalj) er (+++    ?V
+ trulj) er (n+++   ?V        // patruljerne
+  linj) er (+++    ?V        // telefonlinjer
+   lej) er         ?V        // sygeplejerske
+  bunk) er         ?V        // not a -er suffix
+alexand) er        =d?V      // Alexander
+report) er (+      ?V        // not a suffix
+ scept) er         ?V        // scepteret
+ kvart) er         ?er       // nabokvarter
+_kvart) er         '?er      // kvarter, kvarterarrest
+   fin) er         ?er       // krydsfiner
+  _fin) er         '?er      // finerplade
+delfin) er         ?V        //
+_karakt) er        '?er      // karakter
+  mort) er         '?er      // morterild
+karakt) er         ?er       // topkarakter
+ _klav) er (++     '?er      // stressed
+_kaval) er         '?er      // stressed
+ _tall) er (k      '?Er      // tallerken
+_perif) er         '?er      // stressed
+ perif) er         ?er       // not stressed after a syllable
+  klav) er (++     ?er       // after a syllable - værtshusklaver
+ _univ) er (s+     '?Er      // stressed
+  univ) er         ?Er       // after a syllable - skoleunivers
+ flatt) er (ende   '?er      //
+ _rivi) er (a      '?er      // stressed
+  pass) er (sed    '?er      // passersedlen
+  park) er (_bil   '?er      // "parker bilen" verb, not noun = "parks"
+  pass) er (_gaden '?er      //
+   _sn) er (_      ?er       // "det sner" - "it snows"
+    up) er (C      ?V        // superfølsom
+    @d) er (C      ?V        // hæderlig - TOO BROAD?
+   Amm) er (C      ?V        // sommerhilsen, tømmerflåde
+   mur) er (C      ?V        // frimurerloge
+  komm) er (ciel   ?er       //
    &nf) eren (c    @-rAN     // konference, konferencier
    &nf) er (er@    @-r       // konferere
    vid) ere        VV        // viderekomne
@@ -3492,7 +3781,7 @@ toplant) erne (++  Ern@-
     @r) er (er_$p_alt+++ ''?E3- // stressed - reparerer
      @) er (_$p_alt++ ''?er  // stressed - repeter
    ion) er (_$p_alt++ ?V     // unstressed - missioner, kommissioner
-     @) er (et$p_alt++++ ''?e // stressed - orienteret
+     @) er (et_$p_alt++++ ''?e // stressed - orienteret
    &ik) er (_$p_alt++ =?V    // stressed - politiker
    &ik) er (s_$p_alt++ =?V   // stressed - politikers
 
@@ -3502,6 +3791,7 @@ toplant) erne (++  Ern@-
  _barb) er (e+     'er       // barberen
    lev) er (eg+    @-r       // leveregel
 fabrik) ere (+++++++'?eV 
+_spads) ere (@+    '?e?V     // spadseretur
   brod) er (en     ?Vr       //
    lev) er (en+    ?Vr       // the liver
   _not) er (_det   '?er      //
@@ -3513,8 +3803,9 @@ orient) eret       ?er@-D    // venstreorienteret
   _kap) er (s++    ?V        //
 
 // stressed e in words with -ering (1.100) in da_ list - likvidering
-     &) ering ($p_alt++ ''e3-eN
-    @C) ering (++  ,e3-eN    // lydisolering, hjertetatovering
+     &) ering ($p_alt++ ''?e3-?eN
+    @C) ering (++  ,?e3-?eN  // lydisolering, hjertetatovering
+  nøgl) ering (+++ @-rEN
 
 // final -eret: stressed e ['er3D]
      &) eret ($p_alt++ ''er@-D // detaljeret, pikeret
@@ -3542,15 +3833,16 @@ reserv) ert        'e3-t
 
     ff) er (At     V         // probably way too broad - offeret
      c) ere        eV        // velkvalificeret, ceremoni
-     v) er (et     er        // kultiverret
+    iv) er (et     er        // kultiverret
     bl) er (e      er        // genetablere
   desp) er (at     3R        // desperat
    alt) eret       @-r@-D    //
-     d) er (fra    er        // derfra
-   urd) er (et     er        // vurderet
-   udd) er         V         // mudderet
-    _v) er (s_     Er
-     v) er (@++    Er        // verden, kontroversiel
+     d) er (fra    ?er       // derfra
+   urd) er (et     ?er       // vurderet
+   udd) er         ?V        // mudderet
+    _v) er (s_     ?Er
+     v) er (d@++   ?Er       // verden
+     v) er (siel   ?Er
      v) er (anda+  er        // veranda
      v) ermont     ?W:m'Vnt
   salv) er (++     V         // kvaksalverbutik
@@ -3577,7 +3869,7 @@ guldgrav) er (e    V         //
  kryst) er (@      V         // kryst*er*agtig
  _myst) er (iu     'er       // mysterium
   hust) er (i      er        // not stressed after a syllable - overhysterisk
-   @st) er (ie     'er       // ministeriet
+ @nist) er (ie     'er       // ministeriet
    _sk) er (_      ?er       // sker
     _s) er (_      er        // ser
     _h) er (_      er        // her
@@ -3597,58 +3889,59 @@ guldgrav) er (e    V         //
     tt) er (C      V         // lattermild
   _int) er (n_++   'Er       // stressed
    int) er (nat    V         // international
-     t) er (min    Er        // terminal
-     t) er (p      Er        // terpentin, terpe
-     t) er (mo     Er        // termometer
-     t) er (r      E         // terror
-     t) er (rass   a         // [taˈʁɑsə]
-     _) er (C      Er'       // er + consonant: stress on next syllable - er'hverv
-     _) er (go     Er        // not stress on next in "ergo..."
-        er (fari   Er        // ministererfaring
+     t) er (min    ?Er       // terminal
+     t) er (p      ?Er       // terpentin, terpe
+     t) er (mo     ?Er       // termometer
+     t) er (r      ?E        // terror
+     t) er (rass   ?A        // [taˈʁɑsə]
+     _) er (C      ?Er'      // er + consonant: stress on next syllable - er'hverv
+     _) er (go     ?Er       // not stress on next in "ergo..."
+     @) er (fari   ?Er       // ministererfaring
      _) ernie      W:ni      // name
-    am) er (ika_   'er       // Amerika
-    sv) er (ige    Er        //
-   ærg) err        Er        // ærgerrig
- offic) er         'er       // officer - stressed e
- cafet) er (i      'er       // cafeteria
-     n) er (v      Er        // nerve, nervøs
-  _gen) er (t      Er        // genert
-  _man) erer       'eV       //
-  _L06) er         Er        // per, person
-    @p) er (son    Er        // enkeltperson
-L06L06) er         V         // klipper
-  fisk) er         V         // fisker, fiskerby
+    am) er (ika_   '?er      // Amerika
+    am) er (ikas_  '?er      // Amerikas
+    sv) er (ige    ?Er       //
+   ærg) err        ?Er       // ærgerrig
+ offic) er         '?er      // officer - stressed e
+ cafet) er (i      '?er      // cafeteria
+     n) er (v+     ?Er       // nerve, nervøs
+  _gen) er (t      ?er       // genert
+  _man) erer       '?e?V     //
+  _L06) er         ?Er       // per, person
+    @p) er (son    ?Er       // enkeltperson
+L06L06) er         ?V        // klipper
+  fisk) er         ?V        // fisker, fiskerby
   elsk) er         ?V        // elskerinde
-   und) er         V         // under
+   und) er         ?V        // under
   hund) er         3r        // hunderæd
-   umm) er         V         // hummer
-   pok) er         V         // pokerspil
-     _) er (_      &r        // er
-   L09) er (ne_    V         // kameraerne
- juvel) er (en     'er       // juveleren
- juvel) erer       ''eV      // juvelerer
-  _man) erer       'eV       //
-   man) erer       eV        //
-    _l) er (_++    er        // ler
-     v) er (r_     er        // levere
-   man) er (_      'er       // hundemaner
-  oman) er (+      V         // narkomaner, romaner
-fremman) er        V         //
-der_man) er (_     V         // der er intet land, der maner ...
- orman) er (_      V         // formaner
-    th) er_        V         // Luther
-    gt) er         V         // agter
-    øl) er (+      V         // brøler, køler
-     t) erræn      &r'&N     // terræn
-    _g) er (ne_+   Er        // gerne
-     j) er (g      E3-       // bjerg
-    @m) er (sk     V         // romersk
-    ob) er (st     V         //
- rooms) ervice     Wvis      //
+   umm) er         ?V        // hummer
+   pok) er         ?V        // pokerspil
+     _) er (_      ?&r       // er
+   L09) er (ne_    ?V        // kameraerne
+ juvel) er (en     '?er      // juveleren
+ juvel) erer       ''?e?V    // juvelerer
+  _man) erer       '?e?V     //
+   man) erer       ?e?V      //
+    _l) er (_++    ?er       // ler
+     v) er (r_     ?er       // levere
+   man) er (_      '?er      // hundemaner
+  oman) er (+      ?V        // narkomaner, romaner
+fremman) er        ?V        //
+der_man) er (_     ?V        // der er intet land, der maner ...
+ orman) er (_      ?V        // formaner
+    th) er_        ?V        // Luther
+    gt) er         ?V        // agter
+    øl) er (+      ?V        // brøler, køler
+     t) erræn      ?&r'?&N   // terræn
+    _g) er (ne_+   ?Er       // gerne
+     j) er (g      ?E3-      // bjerg
+    @m) er (sk     ?V        // romersk
+    ob) er (st     ?V        //
+ rooms) ervice     Wv?is     //
      d) erby       A:bi      //
-  polt) er (ab     V         // polterabend
-   alt) er         V         // altervin
-     d) er (byg    V         // underbygge
+  polt) er (ab     ?V        // polterabend
+   alt) er         ?V        // altervin
+     d) er (byg    ?V        // underbygge
   _all) erede (_   @-rED@-
    alb) er (tA     'Er       // Alberta, Alberte
      f) ergie      W:gi      // name
@@ -3667,7 +3960,7 @@ der_man) er (_     V         // der er intet land, der maner ...
    opf) ede (++    eD@-      // opfede
      f) eder (_+   eDV       // feder
     gf) ed (e+     eD        // blegfede
-     h) ede (+     eD@-      // glohede
+  gloh) ede (+     eD@-      // glohede
     sm) ede        eD@-      // guldsmede
  sandh) ed         ?eD       // sandheden
 velocip) ed (e     '?eD      // stressed
@@ -3691,8 +3984,8 @@ rotter) ede (_+    ED@-      // rotterede
   tilb) ede        eD@-      //
   tilb) eder       eDV       //
  hundr) ed (+      VD        // hundred
-  dern) ed (e      eD        // dernede
-  hern) ed (e      eD        // dernede
+  dern) ede        eD@-      // dernede
+  hern) ede        eD@-      // hernede
   dødk) ede (+     eD@-      // dødkede
  forsk) ede        @-D@-     // uudforskede
   psyk) ede (lisk  @-d'e     // psykedelisk
@@ -3732,149 +4025,151 @@ rotter) ede (_+    ED@-      // rotterede
      @) ets (_+    @-Ds      // målets - noun ending
 
    int) et         @-D       // tilintetgøre
- staff) et         'Et       // stressed
+ staff) et         '?Et      // stressed
 
 //  PB exceptions: not a 'et suffix
- en_du) et (_      'Et       //
-synge_du) et (_    'Et       //
-sunget_du) et (_   'Et       //
-synger_du) et (_   'Et       //
-sang_du) et (_     'Et       //
-   @du) et (_      'Et       //
- @sekr) et         Et        // sædsekret
- starl) et         Et        // young actor
- konkr) et         'Et       // stressed
+ en_du) et (_      '?Et      //
+synge_du) et (_    '?Et      //
+sunget_du) et (_   '?Et      //
+synger_du) et (_   '?Et      //
+sang_du) et (_     '?Et      //
+   @du) et (_      '?Et      //
+ @sekr) et         ?Et       // sædsekret
+ starl) et         ?Et       // young actor
+ epark) et         ?Et       // egeparket
+ konkr) et         '?Et      // stressed
  harri) et         @-t       // name
-michel) et         'E        // Name - silent t
-  sorb) et         'E        // hindbærsorbet
-  dekr) et (+      'et       // stressed
-  klos) et         'Et       // kloset stressed
-  klos) ett        'Et       // klosettet stressed
+michel) et         '?E       // Name - silent t
+  sorb) et         '?E       // hindbærsorbet
+  dekr) et (+      '?et      // stressed
+  klos) et         '?Et      // kloset stressed
+  klos) ett        '?Et      // klosettet stressed
+    po) et (++     '?et      // huspoet, poetisk
 en_blank) et       'Et       // en blanket, den blanket - noun - problem with verb "blanke/blanket"
-en_son) et         'Et       // poem
-  piru) et         'Et       //
-  pinc) et         'Et       // stressed
-spermac) et        'Et       // spermacethval - stressed
-   son) ett (e     'Et       // sonetten, sonetter
+en_son) et         '?Et
+  piru) et         '?Et      //
+  pinc) et         '?Et      // stressed
+   fac) et (+      '?Et
+spermac) et        '?Et      // spermacethval - stressed
+   son) ett (e     '?Et      // sonetten, sonetter
  vindu) et (_      @-D       //
-jazzball) et       Et        //
-  viol) et         Et        //  ultraviolet
+jazzball) et       ?Et       //
+  viol) et         ?Et       //  ultraviolet
   tabl) et         ?Et       // jodtablet
   tabl) ett        ?Et       // jodtabletter
-  omel) et         Et        // spinatomelet
- uglen) et         Et        // sommerfuglenet
-leverpl) et        Et        //
-   _sk) et         et        // sket
-gennems) et        et        //
- _inds) et (_      et        //
-   _us) et (_      et        //
- pærel) et (+      Et        // pærelet
- _toil) et         'Et       //
-  toil) et         Et        // dyretoilet
-  toil) ett        Et        // herretoilettet - one t
-   spl) et (+      Et        // skønhedsplet
-guldpl) et         Et        //
-sølvpl) et         Et        //
-rustpl) et         Et
-   Apl) et (+      Et        // kaffeplet
-    pl) ett (+     Et        // kaffepletter
+  omel) et         ?Et       // spinatomelet
+ uglen) et         ?Et       // sommerfuglenet
+leverpl) et        ?Et       //
+   _sk) et         ?et       // sket
+gennems) et        ?et       //
+ _inds) et (_      ?et       //
+   _us) et (_      ?et       //
+ pærel) et (+      ?Et       // pærelet
+ _toil) et         '?Et      //
+  toil) et         ?Et       // dyretoilet
+  toil) ett        ?Et       // herretoilettet - one t
+   spl) et (+      ?Et       // skønhedsplet
+guldpl) et         ?Et       //
+sølvpl) et         ?Et       //
+rustpl) et         ?Et
+   Apl) et (+      ?Et       // kaffeplet
+    pl) ett (+     ?Et       // kaffepletter
   _geb) et (+      'et       //
  _sekr) et (+      'Et       // stressed
   sekr) et (ær     @-t       //
-  _ask) et         'et       // asketisk
-    _s) et (_+     et        // set
-  tils) et         et        //
- overs) et         et        //
-_ildes) et         et        //
-    it) et (_+     'et       // aktivitet
-    it) et (s_+    'et       // aktivitet, aktivitetsniveau
-   kar) et (++     'Et       // stressed
-  _kad) et (+      'Et       // stressed
- _viol) et (+      ''Et      // stressed
-  staf) et         'Et       // stressed
- _brik) et         'Et       //
-  brik) et         Et        //
-skampl) et         Et        //
- _toil) et         'Et       // toilet, toilette
-  _kok) et         'Et       // stressed - koketteri, koket
-_kvint) et         'Et       //
-_kvart) et         'Et       //
-_et_kors) et       'Et       // a corset [kVs'Et] vs the cross [kVrs@d]
- kvint) et         Et        //
- kvart) et         Et        //
-_tromp) et         'et       // stressed
- tromp) et         et        //
-  _tap) et         'et       //
-   tap) et         et        //
-klarin) et         Et        //
-_klarin) et        'Et       //
-marion) et         'Et       //
+  _ask) et         '?et      // asketisk
+    _s) et (_+     ?et       // set
+  tils) et         ?et       //
+ overs) et         ?et       //
+_ildes) et         ?et       //
+    it) et (_+     '?et      // aktivitet
+    it) et (s_+    '?et      // aktivitet, aktivitetsniveau
+   kar) et (++     '?Et      // stressed
+  _kad) et (+      '?Et      // stressed
+ _viol) et (+      ''?Et     // stressed
+  staf) et         '?Et      // stressed
+ _brik) et         '?Et      //
+  brik) et         ?Et       //
+skampl) et         ?Et       //
+ _toil) et         '?Et      // toilet, toilette
+  _kok) et         '?Et      // stressed - koketteri, koket
+_kvint) et         '?Et      //
+_kvart) et         '?Et      //
+_et_kors) et       '?Et      // a corset [kVs'Et] vs the cross [kVrs@d]
+ kvint) et         ?Et       //
+ kvart) et         ?Et       //
+_tromp) et         '?et      // stressed
+ tromp) et         ?et       //
+  _tap) et         '?et      //
+   tap) et         ?et       //
+klarin) et         ?Et       //
+_klarin) et        '?Et      //
+marion) et         '?Et      //
 marion) ett        '?Et      //
-_servi) et         'Et       //
+_servi) et         '?Et      //
 _servi) ett        '?Et      //
- servi) et         et        //
- _prof) et         'et       // stressed
-  prof) et         et        // dommedagsprofet
+ servi) et         ?Et       //
+ _prof) et         '?et      // stressed
+  prof) et         ?et       // dommedagsprofet
   prof) et (i      @-t       //
- _plan) et         'et       //
-_pubert) et        'et       // stressed
-   meg) et (+      et        // not a suffix
-    &m) eter       'etV      // kilometer, kometer, taxameter - stressed
-  ændr) et (+      VD        //
+ _plan) et         '?et      //
+_pubert) et        '?et      // stressed
+    &m) eter       '?et?V    // kilometer, kometer, taxameter - stressed
+  ændr) et (+      ?VD       //
     av) et (_+     @-D       // havet, lavet - avoid [Au]
    tag) et         @-D
-  amul) et         'Et       //
-_alfab) et         'et       //
- alfab) et         et        // avoid [@D]
- _bill) et         'Et       // stressed
- _park) et         'Et       // stressed
-  bill) et         Et        //
-  bill) ett        Et        //
-  _tib) et         'et       //
-   tib) et         et        //
+  amul) et         '?Et      //
+_alfab) et         '?et      //
+ alfab) et         ?et       // avoid [@D]
+ _bill) et         '?Et      // stressed
+ _park) et         '?Et      // stressed
+  bill) et         ?Et       //
+  bill) ett        ?Et       //
+  _tib) et         '?et      //
+   tib) et         ?et       //
  _bill) ett        '?Et      // stressed - only one t
- _kask) et         'Et       // stressed
+ _kask) et         '?Et      // stressed
  _kask) ett        '?Et      // stressed - only one t
-_bajon) et         'Et       // stressed
+_bajon) et         '?Et      // stressed
 _bajon) ett        '?Et      // only one t
- bajon) et         Et        //
-   eln) et (+      Et        //
-  hårn) et         Et        //
-fisken) et         Et        //
-kamuflagen) et     Et        //
-kamuflagen) ett    Et        //
- _bass) et         Et        // dog
+ bajon) et         ?Et       //
+   eln) et (+      ?Et       //
+  hårn) et         ?Et       //
+fisken) et         ?Et       //
+kamuflagen) et     ?Et       //
+kamuflagen) ett    ?Et       //
+ _bass) et         ?Et       // dog
 
  // final -ette stressed e
- _bagu) ette       'Et
- _brun) ette       'Et@-
-  _bur) ette       'Et@-
-_chemis) ette      'Et@-
-_courg) ette       'Et@-
-  _cuv) ette       'Et@-
- _disk) ette       'Et@-
- _etik) ette       ''Et@-    // etiket
- _etik) et         ''Et      // etiket
-_georg) ette       'Et
-_jambor) ette      'Et@-
-  _kok) ette       'Et@-
-_marquis) ette     'Et@-
-  _mus) ette       'Et@-
-_novell) ette      'Et@-
- _palm) ette       'Et@-
- _pian) ette       'Et@-
-  _pip) ette       'Et@-
- _plak) ette       'Et@-
- _rein) ette       'Et@-
- _roul) ette       'Et@-
+ _bagu) ette       '?Et
+ _brun) ette       '?Et@-
+  _bur) ette       '?Et@-
+_chemis) ette      '?Et@-
+_courg) ette       '?Et@-
+  _cuv) ette       '?Et@-
+ _disk) ette       '?Et@-
+ _etik) ette       ''?Et@-   // etiket
+ _etik) et         ''?Et     // etiket
+_georg) ette       '?Et
+_jambor) ette      '?Et@-
+  _kok) ette       '?Et@-
+_marquis) ette     '?Et@-
+  _mus) ette       '?Et@-
+_novell) ette      '?Et@-
+ _palm) ette       '?Et@-
+ _pian) ette       '?Et@-
+  _pip) ette       '?Et@-
+ _plak) ette       '?Et@-
+ _rein) ette       '?Et@-
+ _roul) ette       '?Et@-
 _soubr) ette       '&t@-
-_statu) ette       'Et@-
-_statu) etter      'EtV
-_suffrag) ette     'Et@-
- _toil) ette       'Et@-
+_statu) ette       '?Et@-
+_statu) etter      '?EtV
+_suffrag) ette     '?Et@-
+ _toil) ette       '?Et@-
 _vinaigr) ette     '&t@-
-   _yl) ette       'Et@-
-_nicol) ette       'Et@-     // Nicolette
+   _yl) ette       '?Et@-
+_nicol) ette       '?Et@-    // Nicolette
 
 // stressed e in nouns with -itet - vulgaritet, universitet - 304 words in da_list
    &it) et ($p_alt+ ''?et    // universitet
@@ -3890,9 +4185,9 @@ _nicol) ette       'Et@-     // Nicolette
         ff         f
 
 //    _) for (&@P3  f%V // stressed second syllable after initial "for"
-     _) fore (_    f'o@-V    // only the word 'fore'
-     _) forer (_   f'o@-V    // only the word 'forer'
-     _) fore (de_  f'o@-V    // only the word 'forede'
+     _) fore (_    f'oV      // only the word 'fore'
+     _) forer (_   f'oV      // only the word 'forer'
+     _) fore (de_  f'oV      // only the word 'forede'
      _) for (um    f'or
      _) fe (_      fe        //
 
@@ -3918,6 +4213,7 @@ _nicol) ette       'Et@-     // Nicolette
      a) f (C       w
 // exceptions to the 'a)f (C' rule below
      a) ff (ine    f         // raffineret, raffinement
+        f (lytte   f         // fraflytte
     ja) ff (a      f         //
      a) ff (abel   f         // affabel
      a) ff (ekt    f         // affekt , affekteret
@@ -3926,7 +4222,7 @@ _nicol) ette       'Et@-     // Nicolette
      a) ff (initet f         // affinitet
      a) ff (ære    f         // affære
      a) ff (age    f         // staffage
-   bla) ff (e      f
+   Cla) ff (e      f         // blaffe, plaffe
      a) ff (utage  f         //
     ra) ff (e      f         // straffe
     ra) f (le      f         // rafle
@@ -3946,6 +4242,7 @@ _nicol) ette       'Et@-     // Nicolette
      a) f (sted              // afstedkomme
      a) f (ten     f
      a) f (tes_    f
+    sa) f (ran     f
     Ca) f (t       f         // haft
      a) f (tryk    w         // fingeraftryk
     Ca) f (A       f
@@ -3956,7 +4253,7 @@ _nicol) ette       'Et@-     // Nicolette
    gra) f (A       f
     ra) f (ik      f
   stra) f          f         // strafpoint
-        fire       fi@-V     // fire (4)
+        fire       fiV       // fire (4)
         fireog     fi:V      // fireogtyve (24)
     sa) f (ar      f
    sta) f (e       f
@@ -3997,9 +4294,10 @@ _nicol) ette       'Et@-     // Nicolette
      a) g (ave     'g        // agave
     _a) g (ar      'g        // agar, agar-agar
    ser) gent       'sj&nt    // sergent
-        gjorde     gjo:V     // gjorde
+        gjorde     gjoV      // gjorde
     ki) g          k         // kig, udkig
     ki) g (host              // kighoste - silent g
+    bu) g (@                 // bugspytkirtel - silent g
     ka) g (e       @-        // kage
     ba) g (e       @-        // bage
     ba) g (i       ||        // bagi
@@ -4018,6 +4316,8 @@ _nicol) ette       'Et@-     // Nicolette
         guard      gA:d      //
         gerry      dZEri     // name
     re) ggie       dZi       // name
+        gruffydd   gR?ef?eT  // Welsh name
+        gruffudd   gR?ef?eT  // Welsh name
    ødi) g (t_                // nødigt
    smi) g          j         // smigre
      i) g (i       g
@@ -4076,6 +4376,7 @@ _nicol) ette       'Et@-     // Nicolette
         g (ran     g         // ædelgran
         g (ross    g         // ølgrossist
      ø) g (A       j_!       // møgunge - no link with next vowel
+        gøgemøg    gVj@-m?Vj
      ø) g (C       j         // møgkedelig
     rø) g (ter     g         // røgterdreng
     sø) g (ang     g         //
@@ -4130,17 +4431,19 @@ _vi_to) g                    // silent g
    _bo) g (ey      g         // nickname
 
      r) g (_       w         // kirurg, herberg
+  dvær) g          w
   _pra) g          w         // Prag (city), pragmatisk
    pra) g (t       g         // pragtfuld
      r) g (et_     w         // herberget
      r) gerne (_   wVn@-     // herbergerne
      r) gernes (_  wVn@-s    // herbergerne
-     r) gen (_     @-n       // kirurgen
+     r) gen (_     =3n       // kirurgen
+ kirur) g          =w
    mar) gen        w@-n      // fejlmargen
-     r) gen (s_    @-n       // kirurgens
+     r) gen (s_    =3n       // kirurgens
    jær) g (e       w         // bjærge
      r) g (er_     u         // herberger
-     u) ge         :@-       // uge, ugevis, bruge
+    _u) ge         :@-       // uge, ugevis, bruge
     su) g                    // silent g - sugerør, sug
      u) g (ene     S         // ugenert
         gener (_ham Sen'er   // try to solve "gener" = bother and "gener" = genes
@@ -4334,81 +4637,81 @@ frimurerlo) ge     S@-       //
  ykolo) ge (n      @-        // børnepsykologen
 proktolo) ge (n    @-        //
     lo) ge (bro    S@-       // logebror/logebroder
-  halo) ge (n      g'e       // stressed
-    lo) ge (mø     Se        // logemøde
+  halo) ge (n      g'?e      // stressed
+    lo) ge (mø     S@-       // logemøde
      _) ge (ne_    Se        // gene
-     _) ge (nere   Se        // genere
-        gener (_mig Sen'er   // gener mig ikke
-        genere (_mig Sen'eV  // genere mig
-     _) ge (nerere_ ge       //
-        ge (nerøs  Se        // generøs
-        ge (nert   Se        // genert
-     _) ge (never  Se        // genever
-        germain    ZErm'&N   // Saint-Germain (pronounced by a Dane)
-     _) generel    gen@r'&#l // stress added
-    _a) ge (re     g'e       // agere
-        ge (nial   ge        //
-        ge (ni     Se        //
-        ge (ninvest gE       // geninvestere
-        ge (nital  ge        //
-        ge (nitiv  ge        //
-        ge (nius             //
-        geni (nd   gene      // genindspille, genindkalde (not [gen'i])
-        ger (ning  gEr       //
-   bud) ge (t      S'E
+     _) ge (nere   S?e       // genere
+        gener (_mig Sen'?er  // gener mig ikke
+        genere (_mig S?en'?eV // genere mig
+     _) ge (nerere_ g?e      //
+        ge (nerøs  S?e       // generøs
+        ge (nert   S?e       // genert
+     _) ge (never  S?e       // genever
+        germain    ZErm'?&N  // Saint-Germain (pronounced by a Dane)
+     _) generel    g?en@-r'?&#l
+    _a) ge (re     g'?e      // agere
+        ge (nial   g?e       //
+        ge (ni     S?e       //
+        ge (ninvest g?E      // geninvestere
+        ge (nital  g?e       //
+        ge (nitiv  g?e       //
+        geni (nd   g?Ene     // genindspille, genindkalde (not [gen'i])
+        ger (ning  g?Er      //
+   bud) ge (t      S'?E
 
  // stressed second syllable in words with initial ge
-        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 (bet    g?e'
+        ge (bis    g?e'
+        ge (bommerlig g?e'
+        ge (brokken g?e'
+        ge (brækkelig g?e'
+        ge (byr    g?e'
+        ge (bærde  g?e'
+        ge (digen  g?e'
+        ge (dulgt  g?e'
+        ge (halt   g?e'
+        ge (hejmeråd g?e'
+        ge (henna  g?e'
+        ge (hæng   g?e'
+        ge (hør    g?e'
+        ge (lassen g?e'
+        ge (led    g?e'
+        ge (lejde  g?e'
+        ge (linde  g?e'
+        ge (lænder g?e'
+        ge (mak    g?e'
+        ge (mal    g?e'
+        ge (men    g?e'
+        ge (myse   g?e'
+        ge (myt    g?e'
+        ge (mytlig g?e'
+        ge (nom    g?e'
+        ge (ntil   g?e'
+        ge (nuin   g?e'
+     _) ge (pard   g?e'
+        ge (ranie  g?e'
+        ge (ranium g?e'
+        ge (råde   g?e'
+        ge (sandt  g?e'
+        ge (sims   g?e'
+     _) ge (sjæft  g?e'
+        ge (skæftig g?e'
+        ge (spenst g?e'
+        ge (stagen g?e'
+        ge (stalt  g?e'
+        ge (stik   g?e'
+        ge (svejsning g?e'
+        ge (svindt g?e'
+        ge (valdig g?e'
+        ge (valt   g?e'
+        ge (vandt  g?e'
+        ge (vind   g?e'
+     _) ge (vinst  g?e'
+        ge (vir    g?e'
    føl) ge         j@-       // følgevirkning
-        ge (vækst  ge'
-        ge (vær    ge'
+   føl) ger        j?V       // efterfølger
+        ge (vækst  g?e'
+        ge (vær    g?e'
 
 .group h
 
@@ -4427,6 +4730,7 @@ proktolo) ge (n    @-        //
         heat       hi:t      //
      _) herb (_    hW:b      // name
      _) hercule    Erk'yl    // name
+   kat) harine     &r'in@-   // name
         highhat    hA:jh&d   //
         housecoat  hAuskowd  //
         hitech     haItek    //
@@ -4436,6 +4740,7 @@ proktolo) ge (n    @-        //
         houston    hju:sdVn  //
         hawk       hV:k      // Black Hawk
         hugh       hju:      // name
+        huw        hju:      // Welsh name
         hudson     hVdsVn    // name
         hillary    hIl@*e    // name
         holly      h?Vli     // Pb hollywood
@@ -4445,6 +4750,7 @@ proktolo) ge (n    @-        //
         home       hOwm      // homebanking, home run
         humveer    hVmvi:V   //
         humvee     hVmvi:    //
+ apart) heid       =hAjd
      w) h (it                // Whitman
      g) ho (st     ow        //
      _) hunt (_    hVnt      // name
@@ -4460,26 +4766,47 @@ proktolo) ge (n    @-        //
         hereford   hE:rfO:d
 
 .group i
-        i          i
+        i          ?i        // Default short i
+
+// Long i
+     C) i (Ce+     i         // mine
+     b) i (C+++    ?i        // bivej, bille TEST
+     t) i (t++     ?i        // titel
+
 // Short i followed by double consonant
         i (C%      ?i        // svirret, fisse
         i (dt      ?i        // skridt, skridtet - short i before dt
         i (ds      ?i        // gidsel - short before 2 consonants
         ild        ?il       // ilden, vildlede
+     d) ild (o     ?ild
      b) ild (ør    ild       // bildør
      v) ild (ig    ild       // uvildig
   math) ild        'ild      // name
      d) i (kt+     ?i        // diktere
+    cl) i (f       I         // Heathcliff
+    br) i (en      aI        // O'Brien
 
 // short i - general rules?
+     C) i (C       ?i        // politiker (first i) TEST
+     t) i (t+      ?i        // titel
+  disc) i (p       '?i       // discipel - stressed
+ namib) ier        =j?V
+     p) i (nk      ?e
+
+     g) iv (_      ?i        // silent v
+     g) ive (_     ?i        // PB silent v
+     g) ivet (_    i@-D
+     g) iver (_    ?ir       // PB silent v
+   opg) iver (_    g?ir
      h) i (ls      ?i        // hils, hilsen - short i
    skr) i (der     ?i        // short i - general rule?
-     b) i (l       ?i        // bil, bilen
-     f) i (l       ?i        // fil, filen
-     f) i (le      i         // file
+     b) i (l+      ?i        // bil, bilen
+     f) i (l+      ?i        // fil, filen
+//     f) i (le      i         // file
+    sm) i (le      i
      v) i (dere    ?i        //
-     t) i (d       ?i        // tid
-     t) i (de@     i:        // tidevand
+     t) i (d++     ?i        // tid
+     t) i (de@     i         // tidevand
      l) i (ter     ?i        //
      t) i (t       ?i        // titel
      b) i (son     ?i
@@ -4487,7 +4814,7 @@ proktolo) ge (n    @-        //
     fr) i          ?i        // befrielseshær
     br) i (te      ?i        // person from GB
     br) i (tis     ?i        // britisk, britiske
-     t) i (l+      ?e        // tilknytte, stille
+     t) i (l++     ?e        // tilknytte, stille
 dansk_st) i (l+    ?i        //
 engelsk_st) i (l+  ?i        //
  indst) i (l       ?e        // indstille
@@ -4497,37 +4824,43 @@ engelsk_st) i (l+  ?i        //
     _p) ie (_      Aj
 
 // "lide" - "like" versus "suffer"
-     l) ide (_dig  i
-     l) ide (_mig  i
-     l) ide (_jer  i
-     l) ide (_dem  i
-     l) ide (_det  i
-     l) ide (_os   i
-     l) ide (_andre i
-     l) ide (_deres i
-     l) ide (_jeres i
-     l) ide (_vores i
-     l) ide (_ham  i
-     l) ide (_hende i
-_godt_l) ide       i
-_ikke_l) ide       i
-_kan_l) ide        i
-_kunne_l) ide      i
-_kunnet_l) ide     i
-_kan_du_l) ide     i
-_kan_i_l) ide      i
-_kan_vi_l) ide     i
-_kan_jeg_l) ide    i
+     l) ide (_dig  ?i
+     l) ide (_mig  ?i
+     l) ide (_jer  ?i
+     l) ide (_dem  ?i
+     l) ide (_den  ?i
+     l) ide (_det  ?i
+     l) ide (_os   ?i
+     l) ide (_andre ?i
+     l) ide (_deres ?i
+     l) ide (_jeres ?i
+     l) ide (_vores ?i
+     l) ide (_ham  ?i
+     l) ide (_hende ?i
+_bedst_l) ide      ?i
+_godt_l) ide       ?i
+_ikke_l) ide       ?i
+_kan_l) ide        ?i
+_kunne_l) ide      ?i
+_kunnet_l) ide     ?i
+_kan_du_l) ide     ?i
+_kan_i_l) ide      ?i
+_kan_vi_l) ide     ?i
+_kan_jeg_l) ide    ?i
+ _du_l) ide        ?i
+  _i_l) ide        ?i
+ _vi_l) ide        ?i
 
-// general rule: initial in- : [e]
+// general rule: initial in- : [?e]
      _) i (n+      ?e        // instinkt, ineffektiv
-        i (ns      ?e        // bladinsekt, musikinstrument
-        ingeni (ø  enS@-nj   // flyingeniør
+        i (ns+     ?e        // bladinsekt, musikinstrument, dræberinstinkt
+ medic) i (n       ?i        // biomedicinsk
+        ingeni (ø  ?enS@-nj  // flyingeniør
         i (nter    ?e        // fritidsinteresse
      h) i (n       ?i        // hinsides
         i (nfant   ?e        // marineinfanteri
      f) i (nsky    ?i        // finskytte, finskydning
-        i (nc      ?e        // pincet
+        i (nc+     ?e        // pincet
      _) insider    ?ensaIdV  //
      _) inside (information ?ensaId //
      _) i (ni      ?i        // initiativ
@@ -4540,7 +4873,7 @@ _kan_jeg_l) ide    i
    L03) i (L01%+   ?e        // ligge, dikke
         i (ggør++  ?i        // legemliggøre
         i (ggjo++  ?i        // legemliggjort/gjorde
-   led) i (g++     ?i        // lediggang
+   led) ig (++     ?i        // lediggang
      r) i (L01%    ?e        // drikke, prikke
    L08) i (ll++    ?e        // skille, stille, spille
     st) illads     il'?&s    //
@@ -4565,20 +4898,22 @@ mississ) i (ppi    'i        // stressed
      n) i (p       ?e        // nips, niptang
     kn) ip (tang   iw        // kniptang
         i (kke+    ?e        // ikke, sikkerhed, sikkert
+ dynam) i (k+      ?i        // termodynamikken
     ch) i (k+      ?i        // chikke
     sk) i (k+      ?i        // skikkelse
-   L06) i (lle     ?e        // billede, piller
+   L06) i (lle+    ?e        // billede, piller
      b) i (lle_+   ?i        // insect
      b) i (ller_+  ?i        // insect
      b) i (llen_+  ?i        // insect
-     b) i (llet+   ?i        //
+     b) i (llet++  ?i        //
   traf) i (k       ?i        // juletrafikken
   tekn) i (k       ?i        // salgsteknikken
    but) i (k       ?i        // videobutikken
 
  // general rule: [i] after k, [e] followed by n/m
      k) i (L09++   ?e        // kind, skinke, skimme, skimte
-     k) i (k       ?i        // kik, kikkert
+     k) i (L09L04++ ?i       // kinin TEST
+     k) i (k++     ?i        // kik, kikkert
      k) i (Ce++    i         // skide
      k) i (derik++ ?i        // skiderik - short i
     sk) i (bet++   ?i        // skibet
@@ -4591,8 +4926,8 @@ mississ) i (ppi    'i        // stressed
     ud) i (e       j         // studie, audiens
     ol) i (e       j         // olie
 
-// general rule: [e] between l and nt
-     l) i (nt      e         // flint, klint, splint
+// general rule: [?e] between l and nt
+     l) i (nt      ?e        // flint, klint, splint
 
 // general rule: [e] between h and m
      h) i (m+      ?e        // himlen
@@ -4627,14 +4962,15 @@ mississ) i (ppi    'i        // stressed
     sk) i (Ct      ?i        // skift, beskidt
      k) i (ste+    i:        // long i in spite of st
      v) i (L01C++  ?e        // vikle, forvikle, afvikle, svigt
-     v) i (nglas++ ?i
+     v) i (nglas+++ ?i
      v) i (nstok   ?e
      t) i (ka+     ?i        // distika, Vatikanet
      v) i (L01a    ?i        // vikar
      v) i (L10i    ?i        // viking
      v) i (ck      ?i        // Vicki, Vicky
      v) i (ktL04++ ?i        // Viktor, viktualiehandel
-     t) ig (+      ?i        // stig, stige, artig
+     t) ig (_++    \,?i      // stig, artig, kunstig
+     t) ig (e_+    \,?i      // stige, artige, kunstige
     _t) ight       aIt       // tight (English)
     st) ig (ma     ig
     _t) i (g_+     e
@@ -4672,8 +5008,8 @@ spirrev) i (p      '?i       // stressed
 himstreg) i (ms    '?e       // stressed
     sk) i (n+      ?e        // skin, skinne, skinke
     kn) i (p       ?e        // kniplen
-    Cr) i (mC      ?e        // vrimle, strimle
-    Cr) i (mm      ?e        // grimme - short followed by 2 consonants
+    Cr) i (mC      ?E        // vrimle, strimle
+    Cr) i (mm      ?E        // grimme - short followed by 2 consonants
     pr) i (m+      i         // primtal, primus
   L06r) i (nt      ?e        // brint, print
    kor) i (nt      ?e        // korinterne
@@ -4696,8 +5032,8 @@ espadr) ille       '?ilj@-   //
    _dr) i (l       ?e        // dril, drilagtig
   L01r) i (ll      ?i        // kriller, grill
    jun) i (or      j         //
-     b) i (tter    ?e        //
-     b) i (tre     e         //
+     b) i (tter+   ?e
+     b) i (tre     e
      m) iav        jaw       // miav
   _rad) i (se      '?i       // stressed
   tils) i (de      'i        // tilsidesætte - stressed
@@ -4706,16 +5042,17 @@ espadr) ille       '?ilj@-   //
    ros) i (ta      '?i       // name
 
 // [e] after gr - exception
-    gr) i (m       e         // grimrian
-     C) i (ng+++   e         // dressing, ising, ping, ring
-   len) i (n       i         // Leningrad
-     v) ing (ummi  ing       //
+    gr) i (m       ?e        // grimrian
+     C) i (ng+++   ?e        // dressing, ising, ping, ring
+   len) i (n       ?i        // Leningrad
+     v) ing (ummi+ ?ing      //
     gr) i (mL11    i:        // grime, grimasse
 
      l) inge (ri   l&NSe     //
 
 // general rule: [e] before nd/nk/ng
         i (nd++++  ?e        // ind, find, vind
+   tus) ind (++    @-n
      p) i (nkode   ?e
         i (nde+    ?e        // inde, finde, vinde
     er) i (ndr     ?e        // erindring, erindre
@@ -4730,23 +5067,25 @@ espadr) ille       '?ilj@-   //
 
 // exceptions
      v) i (ndrik+            // vindrikker
-     v) i (nkæld+  i         // vinkælder
-     v) i (ngård+  i         // vingård
+     v) i (nkæld+  ?i        // vinkælder
+     v) i (ngård+  ?i        // vingård
+     v) ink (ender ?ink
+     v) i (nsamling ?i
      f) ind (el    ?ind      // findele
      f) ind (eløn  ?en       //
         ind (else+ ?en       // opfindelse, forbindelse
      f) ind (yrk   ?ind      // findyrke
- _vest) i (ndi     'e        // vestindisk
+ _vest) i (ndi     '?e       // vestindisk
 
  // general rule: [e] before nn
-        i (nn      e         // linning, finne, fortinne
+        i (nn      ?e        // linning, finne, fortinne
 // exceptions
      c) i (nn      ?i        // cinnober
      t) i (nnitus  ?i        //
 
 // general rule: [e] after sp/st/sk/r before k/l
-     t) i (L01+    e         // ting, folketing, stik, joystick
-  part) i          i         // skyggepartikler
+   L08) i (L01++   ?e        // stik, joystick
+  part) i          ?i        // skyggepartikler
  polit) i (k       ?i        // miljøpolitikken
    art) i (k       ?i        // trosartikel
     sk) i (l++     ?e        // skildpadde, skilt
@@ -4765,11 +5104,11 @@ espadr) ille       '?ilj@-   //
   sher) i (f       '?i       // sheriffen
 
 // greneral rule: [e] between r and c/k - [i] followerd by front vowel
-     r) i (L10     e         // drik, skiderik
-     r) i (L10L11  i         // Erika
-    fr) ikadelle   ek&d'El@- //
-    fr) ikadeller  ek&d'ElV  //
-_ventr) i (k       'i        // ventrikel, ventrikler
+     r) i (L10     ?e        // drik, skiderik
+     r) i (L10L11  ?i        // Erika
+    fr) ikadelle   ?ek?&d'?El@- //
+    fr) ikadeller  ?ek?&d'?ElV //
+_ventr) i (k       '?i       // ventrikel, ventrikler
      r) i (ce      i         // servitrice
      r) i (L10L04  ?i        // frikendt, briket
      r) i (L10CL04 ?i        // friktion
@@ -4778,12 +5117,13 @@ _ventr) i (k       'i        // ventrikel, ventrikler
 
 // general rule: [e] between consonant and st/sp/sk
      l) i (L08+    ?e        // list
-  ball) i (stik    i
+  ball) i (stik    ?i
      l) i (sk      ?i        // cyklisk
  @cykl) i (st      ?i        // røvcyklist
   obel) i (sk      '?i       // stressed
      r) i (L08++   ?e        // riste, frisk, brist, vrist, Kristus, dristig
      r) i (skage+  ?i        // riskager
+@terror) i (s      ?i        // antiterroristenhed
      r) i (L08L04++ ?i       // aristokrat, periskop
     dr) i (stig+   ?e        // dumdristig
      r) i (stik+   ?i        // karakteristik
@@ -4793,7 +5133,7 @@ _ventr) i (k       'i        // ventrikel, ventrikler
     kr) i (stus+   ?e
   L10r) i (stin+   ?i'       // Christine, Kristine
     tr) i (L08++   ?i        // trist
-    pr) i (s       ?i        //
+    pr) i (s++     ?i        // priskrig
     fr) i (sted    ?i        //
     fr) i (stede_  ?e        //
     fr) i (stedes_ ?e        //
@@ -4808,9 +5148,10 @@ infanter) i        i         // marineinfanterist
     kl) i (str     ?i        // klistret
      v) i (sk+     ?e        // hviske
     Av) isk (_     ?isg      // slavbisk
-   bev) i (s       ?i:       // beviskæde
+//   bev) i (s       ?i       // beviskæde
    høv) i (sk      ?i        //
-     m) i (ste     ?e        // miste
+    _m) i (ste_    ?e        // miste
+    _m) i (ster_   ?e        // mister
     _m) i (st_     ?e        //
      m) i (stanke  i         //
      m) istelten   ?istElten //
@@ -4822,7 +5163,10 @@ ganske_v) i (st_   ?e        //
    jav) i (st      ?e        //
   L07v) i (st+     ?e        // kvist, tvist
  bortv) i (s       ?i        // bortvist
- har_v) i (st_mig  i         // PM
+ har_v) i (st_mig  i
+have_v) i (st_mig  i
+havde_v) i (st_mig i
+//blev_v) i (st i
     _v) i (st_     ?e        // "vist" = probably/might/maybe - problem with verb "vise/vist"
      v) i (stnok   ?e        //
     _v) i (st_sig  i         // verb
@@ -4830,113 +5174,116 @@ ganske_v) i (st_   ?e        //
      v) i (s_grad  ?e        // "til en vis grad" - avoid [i]
 
 // general rule: [e]	 after consonant + l followed by p
-    Cl) i (p       e         // slip, klip, glip
+    Cl) i (p       ?e        // slip, klip, glip
     Cl) i (pp      ?e        // slippe, klipppe, glippe
 
-    _l) i (dt_+    e         // problem with verb "lide"
-    _l) i (dt_skade i        //
-    _l) i (dt_nederlag i     //
-    _l) i (dt_overlast i     //
-    _l) i (dt_under i        //
+    _l) i (dt_+    ?e        // problem with verb "lide"
+    _l) i (dt_skade ?i       //
+    _l) i (dt_nederlag ?i    //
+    _l) i (dt_overlast ?i    //
+    _l) i (dt_under ?i       //
 
 // general rule: d/l + i + k = [e]
-   L03) i (k+      e         // blik, øjeblik, dik
-   L03) i (kL04+   i         // helikopter, publikum
-   L03) i (L10a    i         // handikap
+   L03) i (k+      ?e        // blik, øjeblik, dik
+   L03) i (kL04+   ?i        // helikopter, publikum
+   L03) i (L10a    ?i        // handikap
    L03) i (ke      i         // klike
    L06) i (k+      ?e        // pik, vatpik, bikse
-     b) i (kube    i         //
-     b) i (kini    i         //
-   L06) i (ke      i         // pikikerede, piké
+   L06) i (kant+   ?i        // pikant
+     b) i (kube    ?i        //
+     b) i (kini    ?i        //
+   L06) i (ke      ?i        // pikikerede, piké
    _sp) ike        aIk       // Spike Jones - name
-//     d) i (kt      i         // diktat, diktatur, diktum
-     l) i (kv+     i         // likvid
-    pl) i (k       i         // replik, duplik
-  publ) i          i         // folkerepublik
-  harp) i (ks      i         //
+     l) i (kv+     ?i        // likvid
+    pl) i (k       ?i        // replik, duplik
+  publ) i          ?i        // folkerepublik
+  harp) i (ks      ?i        //
 
 // words with final -id in da_list - stressed i
-     &) id ($p_alt ''iD      // hybrid
+     &) id ($p_alt+ ''?iD    // hybrid, invalid
 
 // nouns with final -itum in da_list - stress on previous syllable
-     @) itum ($p_alt =itO?m  // depositum
-     @) itum (m$p_alt =it?O  // depositummet - only one m
+     @) itum ($p_alt =?it?Om // depositum
+     @) itum (m$p_alt =?it?O // depositummet - only one m
 
 // 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
-     &) isk (t$p_alt =isg    // canadiskt
+     &) isk (_$p_alt+ =?isg  // canadisk
+     &) isk (e$p_alt+ =?isg  // canadiske
+     &) isk (t$p_alt+ =?isg
 
 // country names in da_list with final -ien - stress on previous syllable
      &) ien ($p_alt =j@-n    // it'alien
-     &) ien (sk$p_alt j'En   // itali'ensk
-     &) ien (er$p_alt j'En   // itali'ener
-austral) ier       =jV
+     &) ien (sk$p_alt j'?En  // itali'ensk
+     &) ien (er$p_alt j'?En  // itali'ener
+austral) ier       =j?V
 
 // words with final -ik in da_list - stressed i
-     @) ik ($p_alt+++ ''ik   // romantik
-     @) ik (et$p_alt+++ ik   // etiket
+     @) ik ($p_alt+++ ''?ik  // romantik
+     @) ik (et$p_alt+++ ?ik  // etiket
     @r) ik (k$p_alt++++ ''?e // fabrikker
      @) ik (k$p_alt+++ ''?i  // musikken, replikker - only one k
   @est) ik (k$p_alt+++ ''?e  // bestikke - only one k
   @ast) ik (k$p_alt+++ ''?i  // elastikker
-     @) ik (at$p_alt++ ik    // duplikat, duplikator
-     @) ik (er$p_alt++ %ik   // rom'antiker, k'omikere
-     @) iker (en$p_alt++ =ikV // mekanikeren
-  @kan) iker (e_$p_alt+++ =ikV // mekanikere
-     &) ik (alsk$p_alt+ ik'  // musikalsk
-    &r) ik ($p_alt++ ''ek    // fabrik
-   &or) ik ($p_alt++ ''ik    // retorik
+     @) ik (at$p_alt++ ?ik   // duplikat, duplikator
+     @) ik (er$p_alt++ %?ik  // rom'antiker, k'omikere
+     @) iker (en$p_alt++ =?ik?V // mekanikeren
+  @kan) iker (e_$p_alt+++ =?ik?V // mekanikere
+     &) ik (alsk$p_alt+ ?ik' // musikalsk
+    &r) ik ($p_alt++ ''?ek   // fabrik
+   &or) ik ($p_alt++ ''?ik   // retorik
      &) ik (k$p_alt+ ''?i    // antikke, trafikken - only one k
-    &r) ik (k$p_alt ''e      // fabrikker - only one k
-     @) ik (ant$p_alt+ ik'   // praktikant, musikant
+    &r) ik (k$p_alt ''?e     // fabrikker - only one k
+     @) ik (ant$p_alt+ ?ik'  // praktikant, musikant
      C) ik (er+    ?ik       // mimiker, spastiker, musiker
      C) ik (aner++ ?ik       // republikaner
    mus) i (k       ?i        // folkemusik
 
 // words with final -ti in da_list - stressed i
-    &t) i ($p_alt+ 'i        // politi, parti, profeti
-    &t) i (sør$p_alt+ i      // sympatisør
+    &t) i ($p_alt+ '?i       // politi, parti, profeti
+    &t) i (sør$p_alt+ ?i     // sympatisør
 
 // words with final -isme in da_list (348) - stressed i
-     &) isme ($p_alt ''ism@- // kommunisme, egoisme
-     &) isme (r$p_alt 'ismV  // organismer
+     &) isme ($p_alt ''?ism@- // kommunisme, egoisme
+     &) isme (r$p_alt '?ismV // organismer
 
 // words with final -inde in da_list - stressed i
      &) inde ($p_alt++ '?en@- // malerinde
      &) inde (r$p_alt++ '?enV // malerinder
 
 // 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
+     &) ium ($p_alt =?i?Om   // territorium
+     &) ium (m$p_alt =?i?O   // plutoniummet - only one m
+    &r) i (um$p_alt ==?i
+    &r) i (et$p_alt '?i      // infirmeriet
 
 // put stress on the syllable before final 'ie' - words in da_list
-     &) ie ($p_alt =j@-      // valkyrie, kalorie
+     &) ie ($p_alt+++ =j@-   // valkyrie, kalorie, familien
      &) ie (liv$p_alt =j@-   // familieliv
-     &) ie (r$p_alt =jV      // familier
+     &) ie (r$p_alt++ =j?V   // familier
     &s) ie ($p_alt =j@-      // gymnasiereform
-    &r) ie (l$p_alt i'E      // materiel
-     &) ie (re$p_alt =i''e   // injuriere, injurierende
- kalor) i (us      =i        //
+    &r) ie (l$p_alt++ ?i'?E  // materiel
+     &) ie (re$p_alt =?i''?e // injuriere, injurierende
+ kalor) i (us      =?i       //
+@famil) ie         j@-       // kongefamilie
 
 // stressed i in words with final -mi in da_list
-    &m) i (_$p_alt 'i        // økonomi, kemi - only one stress-marker because of 'kemikalier'
-    &m) i (er$p_alt 'i       // økonomier
-    &m) i (en$p_alt 'i       // økonomien
-    &k) i ($p_alt  'i        // anarki
-    &m) i (sk$p_alt =i       // stress on the previous syllable - økonomisk
+    &m) i (_$p_alt '?i       // økonomi, kemi - only one stress-marker because of 'kemikalier'
+    &m) i (er$p_alt '?i      // økonomier
+    &m) i (en$p_alt '?i      // økonomien
+    &k) i ($p_alt  '?i       // anarki
+    &m) i (sk$p_alt =?i      // stress on the previous syllable - økonomisk
 
 // ie=>j@- TEST
     er) ie         j@-       // serie, ferie
     er) iet        i@-D      // nusseriet
     er) ier        jV        // serier, ferier
-    rr) ie (re     j'E       // karriere TEST
+    rr) ie (re     ?i:'E     // karriere TEST
     rr) ierer      j'EV      // karrierer TEST
     or) ie (nt_    i'E       // Den nære Orient
     or) ie (nten_  i'E       // Orienten
     or) ie (ntens_ i'E       // Orientens
+  prær) ie         j@-       // prærieulv
+   ter) ie (l      ?i?E      // krigsmateriel
 
 // French words with final -ier
   atel) ier        j'e
@@ -4969,7 +5316,7 @@ particul) ier      j'e
     _d) israel (i  isrA'el   // name
         irving     WveN      // name
   smok) i (ng      ?e        //
-   sen) ior        jV        //
+   sen) ior        j?V       //
         iew        j'u
     _t) i (n       ?e        // tinfolie
      t) i (nL11    i         // Tina, Tine
@@ -4979,10 +5326,10 @@ particul) ier      j'e
 special) i (st     ?i        // stålspecialist
    gev) i (nst     ?e        //
      f) i (nte     ?e
-     r) idge       idZ       // Coleridge, bridge
-    br) idget      idZit     // name
+     r) idge       ?idZ      // Coleridge, bridge
+    br) idget      IdZit     // name
      r) isik (e    esik      // risikere
-     r) isiko      isiko     // risiko
+     r) isiko      ?is?ik?o  // risiko
     gl) i (m       ?e        // glimt, glimrende
      l) i (nned    ?e        //
   klin) i (k       ?i        // fødeklinik - unstressed after syllable
@@ -5012,40 +5359,30 @@ gudhjælpem) ig     =Aj       //
      t) ime (out   aIm       //
      r) i (ley     aI        // name
      s) i (d_      ?e        // sid
-     s) i (den_    ?i        // siden
+     s) i (den_+   ?i        // siden
      s) i (lk      ?e        // silke
     sl) i (k       ?e        // slik
-        impoten    empotEn   // impotens
-_en_st) i (l_      i         // stil - noun
-   _st) i (l_over_hende i    // "der er stil over hende"
-   _st) i (l_over_ham i      //
-   _st) i (l_over_deC i      // "stil over" det/dem/deres
- er_st) i (l_over_ i         // "der er stil over"
-var_st) i (l_over_ i         // "der var stil over"
-mere_st) i (l_over_ i        // "der er mere stil over"
-har_st) i (l_      i         //
-havde_st) i (l_    i         //
-  best) i (l       e         // bestille
-    st) i (l_ham   e         // verb - stil ham om
-    st) i (l_op_   e         // verb
-   ant) i          i         // antilope
+        impoten    ?emp?ot?En // impotens
+  best) i (l       ?e        // bestille
+    st) i (l_ham   ?e        // verb - stil ham om
+    st) i (l_op_   ?e        // verb
+   ant) i (+       ?i        // antilope
     sp) i (ld      ?i        // spilde
    L08) i (le++    i         // spile, stile
-     k) i (mse     e         // kimse
-     v) i (l_+     e         // vil
+     k) i (mse     ?e        // kimse
+     v) i (l_+     ?e        // vil
     hv) i (l+      i         // hvil
- nashv) ille       el/2      // US city
-    hv) i (lk+     e         // hvilken
-     v) ind (rue   ind       //
+ nashv) ille       ?el/2     // US city
+    hv) i (lk+     ?e        // hvilken
+     v) ind (rue   ?ind      //
      v) i (nter    ?e        //
      v) i (ntre    ?e        //
-     v) id (st     e         // vidst - e and silent d
-    uv) i (s       e         //
-     v) i (st_ikke e         //
-//     t) i (l       e         // til
-projekt) i (l      i         // blyprojektiler
-   art) ille (ri   il@-      // artilleri
-    st) i (lfuld   i         //
+     v) id (st     ?e        // vidst - e and silent d
+    uv) i (s       ?e        //
+     v) i (st_ikke ?e        //
+projekt) i (l      ?i        // blyprojektiler
+   art) ille (ri   ?il@-     // artilleri
+    st) i (lfuld   ?i        //
 // stil = "style" not the verb 'stil' = "put, place"
 _min_st) i (l_     ?i        //
 _sin_st) i (l_     ?i        //
@@ -5059,10 +5396,10 @@ _ny_st) i (l_      ?i        //
 _skifte_st) i (l_  ?i        //
 _skift_st) i (l_   ?i        //
 _skifter_st) i (l_ ?i        //
-_dansk_st) i (l    ?i        //
-_have_st) i (l     ?i        //
-_havde_st) i (l    ?i        //
-_har_st) i (l      ?i        //
+_dansk_st) i (l_   ?i        //
+_have_st) i (l_    ?i        //
+_havde_st) i (l_   ?i        //
+_har_st) i (l_     ?i        //
     st) i (l_over  ?i        // "der er stil over ham"
    _st) i (l_dem   ?e        // "stil dem derhenne"
    _st) i (l_jer   ?e        //
@@ -5072,40 +5409,53 @@ _har_st) i (l      ?i        //
    _st) i (l_vores ?e        //
    Ast) i (l_      ?i        // fægtestil, rokokkostil
     st) i (lart    i         //
+_en_st) i (l_      ?i        // stil - noun
+   _st) i (l_over_hende ?i   // "der er stil over hende"
+   _st) i (l_over_ham ?i     //
+   _st) i (l_over_deC ?i     // "stil over" det/dem/deres
+ er_st) i (l_over_ ?i        // "der er stil over"
+var_st) i (l_over_ ?i        // "der var stil over"
+mere_st) i (l_over_ ?i       // "der er mere stil over"
+har_st) i (l_      ?i        //
+havde_st) i (l_    ?i        //
+egen_st) i (l_     ?i
+umoden_st) i (l_   ?i
+moden_st) i (l_    ?i
+stor_st) i (l_     ?i
 forest) i (l       e         //
 livsst) i (l       ?i        //
-    st) i (lling++ e         // livsstilling
+    st) i (lling++ ?e        // livsstilling
   vent) i (l       ?i        // slangeventil
     ju) i (ce                // juice - skip the i
   soft) i (ce      aI        // softice
-     s) i (kC      e         // sikre
+     s) i (kC      ?e        // sikre
      p) is (_      ?es       // pis
-   L08) is (+      is        // spis
+   L08) is (+      ?is       // spis
      l) igh (ter   aI        //
 luksusl) i (ner    aI        //
      n) ij (megen  aI        // Nijmegen
-     v) ie (tnam   jE        //
-     v) ie (t_cong jE        //
-  hipp) ie         i         // silent e
+     v) ie (tnam   j?E       //
+     v) ie (t_cong j?E       //
+  hipp) ie         ?i        // silent e
      p) ie (destal ?i        // silent e
    pav) ill (o     ilj       // pavillon
     br) ill (ere   ilj       // brillere
-     d) i (sk      e         // købmandsdisk
-     d) i (skrepans i        //
+     d) i (sk      ?e        // købmandsdisk
+     d) i (skrepans ?i       //
      d) i (skva    ?i        // diskvalificere
      d) i (skrimi  ?i        // diskriminere
      d) i (skett   ?i        // diskette
      d) i (sko     ?i        // diskotek, diskodans
      d) i (sL10a   ?i        // diskant
    ind) i (sk      ?i        //
-  jord) i (sk      i         //
-    tw) i (st      e         //
+  jord) i (sk      ?i        //
+    tw) i (st      ?e        //
      d) i (sku     ?i        // diskutere
      d) i (skret   ?i        //
-    kr) i (cket    e         //
-     d) i (ngo     e         //
+    kr) i (cket    ?e        //
+     d) i (ngo     ?e        //
   konf) i (skere   ?i        //
-    pr) i (n       e         // prins, princip, print
+    pr) i (n       ?e        // prins, princip, print
      d) ie (sel    ?i        // dieselolie
      k) io (sk     jV        // kiosk
   _suz) ie         i         // name
@@ -5119,21 +5469,22 @@ _melan) ie         i         // name
     bl) ithe       a:jD      // name
 new_york_t) imes   aIms      //
     or) ion        'iVn      //
-   lou) is         i         // name - silent s
-   lou) is (a      'is       //
-   lou) isiana     isj'&n&   // US state
+   lou) is         ?i        // name - silent s
+   lou) is (a      '?is      //
+   lou) isiana     ?isj'?&n?& // US state
    lou) is (e      'is       //
    lou) ie         i         //
   lesl) ie         i         // name
   ronn) ie         i         // name
-    el) i (as      'i        // name
-        idaho      aId&h'ow  //
+    el) i (as      '?i       // name
+        idaho      aId?&h'ow //
         ivanhoe    aIv@nh'ow // name
  long_) island     aIl@nd    //
-amnesty_) international intVn'&Son@-l //
-     v) irtual (_reality 'WtSu-@-l/2 //
-     p) inup       en'Vp     //
+amnesty_) international ?ent?Vn'?&S?on@-l //
+     v) irtual (_reality 'WtS?u-@-l/2 //
+     p) inup       ?en'?Vp   //
      w) ire        aIV       //
+     _) iron (_    aIVn      //
     fl) ir (t      W:
 
 // stressed i in words with final -il in da_list
@@ -5172,74 +5523,75 @@ _hæmor) i (d       'i        // hæmorider
   henr) i (vende   'i        // stressed
 
 // stressed final i
-_akromegal) i      'i
-_anomal) i         'i
-_bibliofil) i      'i
-_filatel) i        'i
-_kategor) i        'i
-_heterofil) i      'i
-_homofil) i        'i
-_kancell) i        'i
-_melankol) i       'i
-_nekrofil) i       'i
-_pædofil) i        'i
-_polit) i          'i
-_staffel) i        'i
-_suffl) i          'i
-_zoofil) i         'i
+_akromegal) i      '?i
+_anomal) i         '?i
+_bibliofil) i      '?i
+_filatel) i        '?i
+_kategor) i        '?i
+_heterofil) i      '?i
+_homofil) i        '?i
+_kancell) i        '?i
+_melankol) i       '?i
+_nekrofil) i       '?i
+_pædofil) i        '?i
+//_polit) i          '?i
+_staffel) i        '?i
+_suffl) i          '?i
+_zoofil) i         '?i
 
  // stressed final -pi
-_autotyp) i        'i
-_bronkoskop) i     'i
-_daguerreotyp) i   'i
-_daktyloskop) i    'i
-_entrop) i         'i
-_filantrop) i      'i
-_galvanotyp) i     'i
-_gastroskop) i     'i
-_isotop) i         'i
-  _kop) i          'i
-_litotyp) i        'i
-_maskep) i         'i
-_misantrop) i      'i
-_monotyp) i        'i
-_otoskop) i        'i
-_rektoskop) i      'i
-_stereotyp) i      'i
-_stetoskop) i      'i
-_teleskop) i       'i
-_terap) i          'i
- _utop) i          'i
+_autotyp) i        '?i
+_bronkoskop) i     '?i
+_daguerreotyp) i   '?i
+_daktyloskop) i    '?i
+_entrop) i         '?i
+_filantrop) i      '?i
+_galvanotyp) i     '?i
+_gastroskop) i     '?i
+_isotop) i         '?i
+  _kop) i          '?i
+_litotyp) i        '?i
+_maskep) i         '?i
+_misantrop) i      '?i
+_monotyp) i        '?i
+_otoskop) i        '?i
+_rektoskop) i      '?i
+_stereotyp) i      '?i
+_stetoskop) i      '?i
+_teleskop) i       '?i
+_terap) i          '?i
+ _utop) i          '?i
 
 // stressed i in words with final -si in da_list
-    &s) i ($p_alt  'i        // fantasi, afasi
+    &s) i ($p_alt  '?i       // fantasi, afasi
 
-    _t) i (ske_    e         // hviske og tiske
-     v) i (sne     e         //
+    _t) i (ske_    ?e        // hviske og tiske
+     v) i (sne     ?e        //
      r) i (gti     ?e        // rigtigt - short vowel - override ph_danish
-offentl) ig        i         //
+offentl) ig        ?i        //
     as) i (e       j
      t) i (øs 
      s) i (on      j
      s) i (ar      j'        // passiar
      c) i (a       j         // specialitet
-   des) ign        ain
+   des) ign        ?Ain
      s) ign (al    in        // lyssignal
  ingen) i (ør 
-   ant) igone      'igon@-   // Antigone - Greek name
-        image      imidZ
-     _) institution enstituS'on //
-        institution enstituSon //
+   ant) igone      '?ig?on@- // Antigone - Greek name
+        image      ?im?idZ
+     _) institution ?enst?it?uS'?on //
+        institution ?enst?it?uS?on //
 
 // stressed i
 mussol) i (ni      'i        //
+  garc) i (a       'i
  _præc) i (s       '?i       // stressed
  _konc) i (s       '?i       // stressed
-   _av) i (s       '?i       // stressed
+   _av) i (s+      '?i       // stressed
 _krucif) i (ks     '?i       // stressed
  _grav) i (d       '?i       // stressed
  _test) i (kel     'i        // PM stressed
- _test) i (kl      '?i       // PM plur. stressed
+ _test) i (kl      '?i       // plur. stressed
 _molev) i (t       '?i       // stressed - molevitten
 _marskand) i (s    '?i       // stressed - marskandiser
 _princ) i (p       '?i       // stressed
@@ -5249,26 +5601,26 @@ _princ) i (p       '?i       // stressed
  _salv) ie         'i:       // stressed
   sort) ie (_      '?i       // stressed, silent e
   sort) i (e       '?i       // stressed sortien
-   _ol) i (ven     'i        // stressed
-   _ol) i (via     'i        // name - stressed
-  _int) i (m       '?i       //
+   _ol) i (ven     '?i       // stressed
+   _ol) i (via     '?i       // name - stressed
+  _int) i (m       '?i
 _legit) i (m       '?i       // stressed
 _algor) i (tme     '?i       // stressed
  _utop) i          '?i       // stressed
 brintover) i (lte  '?i       // stressed
    kam) i (lle     '?i       // stressed
-   mar) i (a       ?'i       // stressed
+   mar) i (a       '?i       // stressed
    dom) ing (o     '?eng     // stressed Santa Domingo
   _rem) i (s       '?i       // stressed - remis, remise
 kampan) i (le      'i        // stressed
-_ekspert) i (se    ''i       //
-_entrepr) i (se    'i        //
- _mark) i (se      'i        //
-_muffed) i (se     '?i       //
- _repr) i (se      'i        //
-_astero) i (de     'i        //
+_ekspert) i (se    ''i
+_entrepr) i (se    'i
+ _mark) i (se      'i
+_muffed) i (se     '?i
+ _repr) i (se      'i
+_astero) i (de     'i
    rem) is (_      '?i       // silent s (chess)
- _mess) i (as      'i        //
+ _mess) i (as      '?i
  _mart) i (ni      'i        // cocktail
   _alb) i (no      'i        // stressed
  nuskr) i (pt      '?E       // stressed - manuskript
@@ -5280,15 +5632,14 @@ _konfl) i (kt      '?i       // stressed
   _tap) i (r       '?i       // stressed
  _vels) i (gn      '?i       // stressed
  _part) i (sk      '?i       // stressed
-   tah) i (ti      '?i       //
- _just) i (ts      '?i       //
-    im) i (dlertid '?i       //
+   tah) i (ti      '?i
+ _just) i (ts      '?i
+    im) i (dlertid '?i
   _kul) i (ss      '?i       // kulisse
   _abs) i (nt      '?e       // stressed
  _musl) i (m       '?i       // stressed
   _mag) i (_       '?i       // magi - stressed i
   _mag) i (en_     '?i       // magien - stressed i
-_polit) i          '?i       // politi, politik - stressed i
   _civ) i (l       '?i       // stressed - civil
    all) igevel     'i@-vEl   // stressed i - alligevel
  _band) i (t       '?i       // bandit
@@ -5300,7 +5651,7 @@ dispon) i (bel     '?i       // stressed
   horr) i (bel     '?i       // stressed
 irrevers) i (bel   '?i       // stressed
 kompat) i (bel     '?i       // stressed
- _inst) i (nkt     '?e       //
+ _inst) i (nkt     '?e
 konvert) i (bel    '?i       // stressed
    pen) i (bel     '?i       // stressed
 perfekt) i (bel    '?i       // stressed
@@ -5312,7 +5663,7 @@ suggest) i (bel    '?i       // stressed
 _pyram) i (d       'i        // pyramide
  _medl) i (denhed  '?i       // medlidenhed - stressed
  _omkr) i (ng++    ''?e      // stressed e in 'omkring'
-_tyver) i          '?i       // stressed
+_tyver) i          '?i
     kn) i (v       ?i        // kniv
   _min) i (ster    '?i       //  minister - stressed i
   _mag) i (ster    '?i       // magister- stressed
@@ -5327,15 +5678,15 @@ _distr) i (kt      '?e       // stressed
 _krokod) i (ll     '?i       // stressed
   _sol) i (d       '?i       // solid
  labyr) i (nt      '?e       // stressed
-   par) i (s       '?i       //
+   par) i (s       '?i
    wal) i (s       '?i       // waliser
 portug) i (s       '?i       // portugiser
   kirg) i (s       '?i       // kirgiser
    ryk) i (nd      '?e       // stressed
-  _art) i (k       '?i       // stressed - artikkel
-_franc) i (sco     '?i       //
-benzedr) i (n      '?i       //
-_ekserc) i (ts     '?i       //
+  _art) i (k+      '?i       // stressed - artikkel
+_franc) i (sco     '?i
+benzedr) i (n      '?i
+_ekserc) i (ts     '?i
   madr) i (d       '?i       // stressed
  aspir) i (n       '?i       // stressed
 ampicill) i (n     '?i       // stressed
@@ -5343,57 +5694,57 @@ valent) i (no      ''i       // name
   _sus) ie         i         // name
 michel) in         EN        // Michelinguide
   houd) i (ni      'i        // name
-     _) iron (_    aIVn      //
 
 .group ig
 
 // general rule: final -ig [i] - silent g
         ig (_      i         //  dejlig, rig
      @) igt (_     it        // dejligt
-    @l) ig         i         // tydeligvis
+    @l) ig (C      i         // tydeligvis
 
 // exceptions
-   ops) ig (t+     eg        // opsigt
-    pl) ig (t+     eg        // tavshedspligt
+   ops) ig (t+     ?eg       // opsigt
+    pl) ig (t+     ?eg       // tavshedspligt
     sv) ig (t+     ?eg       // strømsvigt
-    _b) ig (_      eg        // Big Ben
- trods) ig         i
-  puds) ig         i
-  hids) ig         i
- smuds) ig         i
-  stad) ig         i         // stadigvæk
-naturl) ig         i         // naturligvis
-    ns) ig (t+     eg        // ansigt
- døgen) igt        ikt       //
-  puds) ig (t      i         // pudsigt
-    ds) ig (t+     eg        // indsigt, udsigt
-    _d) ig (t      eg        //
-     d) ig (te     eg        // kærlighedsdigte
-helted) ig (t      eg        //
- eddad) ig (t      eg        //
-haikud) ig (t      eg        //
-prosad) ig (t      eg        //
-smæded) ig (t      eg        //
-skæmted) ig (t     eg        //
-   opd) ig (t      eg        //
-    sn) ig         ij        // snigangreb
-  fatt) ig         i         // fattigdom
-   udk) ig         ig        //
-     p) ig (_      ik        //
-    _l) ig (_stille ek       // problem: lig = "dead body" and lig = the verb "lie"
-    _l) ig (_pænt  ek        //
-    _l) ig (_ordentligt ek   //
-    _l) ig (_godt  ek        //
-    _l) ig (_roligt ek       //
+    _b) ig (_      ?eg       // Big Ben
+ trods) ig         ?i
+  puds) ig         ?i
+  hids) ig         ?i
+ smuds) ig         ?i
+  stad) ig         ?i        // stadigvæk
+naturl) ig         ?i        // naturligvis
+    ns) ig (t+     ?eg       // ansigt
+ døgen) igt        ?ikt      //
+  puds) ig (t      ?i        // pudsigt
+    ds) ig (t+     ?eg       // indsigt, udsigt
+    _d) ig (t      ?eg       //
+     d) ig (te     ?eg       // kærlighedsdigte
+helted) ig (t      ?eg       //
+ eddad) ig (t      ?eg       //
+haikud) ig (t      ?eg       //
+prosad) ig (t      ?eg       //
+smæded) ig (t      ?eg       //
+skæmted) ig (t     ?eg       //
+   opd) ig (t      ?eg       //
+    sn) ig         ?ij       // snigangreb
+  fatt) ig         ?i        // fattigdom
+   udk) ig         ?ig       //
+     p) ig (_      ?ik       //
+    _l) ig (_stille ?ek      // problem: lig = "dead body" and lig = the verb "lie"
+    _l) ig (_pænt  ?ek       //
+    _l) ig (_ordentligt ?ek  //
+    _l) ig (_godt  ?ek       //
+    _l) ig (_roligt ?ek      //
      l) ight       aIt       //
      m) ighty      aIti      //
-    fr) igea (r    igi       // frigear
+    fr) igea (r    ?ig?i     // frigear
         ig (hed+   ?i        // vittighed, evighed
     _k) ig (_      ?ig       // kig
-     l) ig (ram    ig        // milligram
+     l) ig (ram    ?ig       // milligram
      l) ig (a++    ig        // liga, obligat
         ig (s      ?i        // silent g -rigsret
-     n) igger      ?egV      // nigger
+forskell) ig       ?i        // forskelligartet
+     n) igger      ?eg?V     // nigger
 
 // stress on previous syllable  - around 400 words in da_list
 // -ig words with the prefix be- are handled by group b - the be- rule.
@@ -5403,11 +5754,12 @@ skæmted) ig (t     eg        //
 // Any other syllable before the word reverts to normal stress
      &) ig ($p_alt++ =i      // velærværdig, gudvelbehagelig
 
-        ige (++    i@-       // pige, pigen, stige, sige, lige, berolige
+        ige (++    \,i@-     // pige, pigen, stige, sige, lige, berolige
+        iger (++   iV        // pigerne
         iget (+    i@-D      // beroliget
   volt) ige        'i:S      //
      s) ige (++    i@-       // sigende
-        iger (++   iV        // piger, afskediger
+        iger (_++  iV        // piger, afskediger
     _s) iger (_    i:r
      p) igen (+    i@-n      // pigen
 gensid) ig         i         //
@@ -5428,21 +5780,22 @@ behænd) ig         i         // silent g
     ld) ig         i         // heldig
 
 // stressed e after -ig
-   red) ige (r     ig'e      // redigere
-    rr) ige (r     ig'e      // korrigere
-   nav) ige (r     ig'e      // navigere
-   dir) ige (r     ig'e      // dirigere
+   red) ige (r     ig'?e     // redigere
+    rr) ige (r     ig'?e     // korrigere
+   nav) ige (r     ig'?e     // navigere
+   dir) ige (r     ig'?e     // dirigere
 intell) ige (n     ig'?E     // intelligent
-        ige (n_+   ig'E      // igen, igennem, herigennem
+        ige (n_+   ?ig'?E    // igen, igennem, herigennem
         ige (nn+   ig'?E     // igennem, herigennem
      f) igen       i@-n      // fruit
     sn) ige (+     i@-       //
-   bol) ig (+      i         // boligen
+   bol) ig (+      ?i        // boligen
   intr) ig (+      'i        // intrigen, intriger - silent g
-     d) ige (nde   i@-       // nedværdigende
-     v) ige (n     i@-       // vigen, mundvigen
+     d) ige (nde   ?i@-      // nedværdigende
+     v) ige (n     ?i@-      // vigen, mundvigen
     st) ige (+     i@-       // rangstigen
-     l) ig (ene    i@-       // ligene
+    st) ig (b      ?i        // stigbøjle
+     l) ig (ene    ?i@-      // ligene
      l) igg (e++   ?eg       //
     kr) ige (n     ?i@-      //
 
@@ -5451,19 +5804,22 @@ intell) ige (n     ig'?E     // intelligent
 // 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
+     &) ine (r$p_alt 'in?V   // maskiner
+     &) ine (re$p_alt ?in'?e // vaccinere
+   &pp) ine (re$p_alt '?in?V // filipinere
 // not the same word as "kabine"
-   kab) ine (t     in'E      // kabinet
+   kab) ine (t     ?in'?E    // kabinet
 
 // words ending with "in" in da_list with $alt - stressed i
-     @) in ($p_alt+ '?in     // baldakin, bekkasin, appelsin
+     @) in ($p_alt++ '?in    // baldakin, bekkasin, appelsin
      @) in (a$p_alt+ 'in     // marina
+     @) in (e$p_alt+ 'in     // marine
      &) in (ar$p_alt ?in'    // disciplinarmiddel
   &ass) in ($p_alt '?EN      // bassin
    &at) in ($p_alt '?EN      // satin
   &lat) in ($p_alt '?in      // latin
 byzant) in         '?in      // byzantinsk
+  benz) in (+      ?in
    vel) in (formeret en      //
         ind (hold  en        // klorindhold
 
@@ -5482,32 +5838,32 @@ byzant) in         '?in      // byzantinsk
 
 .group iv
 // stressed final -iv
-_abort) iv         'iv
+_abort) iv         '?iw
 _adapt) iv         'iw
-_adhæs) iv         'iv
+_adhæs) iv         '?iw
   _ark) iv         'iw
-_assert) iv        'iv
-_decis) iv         'iv
-_detekt) iv        'iv
-_digest) iv        'iv
-_direkt) iv        'iv
-_eksekut) iv       'iv
-_erupt) iv         'iv
-_gerund) iv        'iv
-_initiat) iv       'iv
-_kontrakt) iv      'iw
-_kontrast) iv      'iv
- _kurs) iv         'iv
- _lasc) iv         'iv
-_lokomot) iv       'iv
- _mass) iv         'iw
-  _mot) iv         'iv
-   _na) iv         'iv
-_perspekt) iv      'iv
-_regulat) iv       'iv
-_sport) iv         'iv
- _stat) iv         'iw
-_adopt) iv         'iw
+_assert) iv        '?iw
+_decis) iv         '?iw
+_detekt) iv        '?iw
+_digest) iv        '?iw
+_direkt) iv        '?iw
+_eksekut) iv       '?iw
+_erupt) iv         '?iw
+_gerund) iv        '?iw
+_initiat) iv       '?iw
+_kontrakt) iv      '?iw
+_kontrast) iv      '?iw
+ _kurs) iv         '?iw
+ _lasc) iv         '?iw
+_lokomot) iv       '?iw
+ _mass) iv         '?iw
+  _mot) iv         '?iw
+   _na) iv         '?iw
+_perspekt) iv      '?iw
+_regulat) iv       '?iw
+_sport) iv         '?iw
+ _stat) iv         '?iw
+_adopt) iv         '?iw
 
 .group j
 
@@ -5520,6 +5876,7 @@ _adopt) iv         'iw
         jingle     dZ?eng3l  //
         jewel      dZu:l     //
         jihad      dZ?ih'?&t //
+        j (enkins  dZ
         j (ennifer dZ        // name
         jenny      dZ?Eni    // name
         janey      dZEjni    // name
@@ -5565,7 +5922,7 @@ _adopt) iv         'iw
      _) jersey (_  dZW:si    // New Jersey
      _) jersey (s_ dZW:si    // New Jerseys
         jersey (k  jErsi     // jerseyko
-        jeep       dZi:b     // Jeep (American car)
+        jeep       dZib      // Jeep (American car)
      _) juan       Su'AN     // don juan
         joke       dZWwk     // joke, joker
   derh) j (emme    'j        // stressed j
@@ -5593,8 +5950,9 @@ _adopt) iv         'iw
      _) james      dZEjms    //
      _) jameson    dZEjm@-s3n
         jay        dZEj      // name
-        jess       dZEs      // Jess
-        jessie     dZEsi     // Jessie
+        jess       dZ?Es     // Jess
+        jessie     dZ?Es?i   // Jessie
+        jesse      dZ?Es?i
         jean       dZi:n     // Jean, jeans
         jeanne     dZi:n     // name (English)
         jea (nette S&'       // name (Danish)
@@ -5609,6 +5967,8 @@ _adopt) iv         'iw
         k          k
         kk         k
      s) k (r       g         // skrive
+        k (rænk+   k
+        k (rig     k         // priskrig
         kanterel   kant@-r'&#l //
         kumquat    kVmkwVd   //
         kakerla (k kak@-l'a  //
@@ -5651,47 +6011,55 @@ _adopt) iv         'iw
      &) let ($p_alt l'?Et    // amulet
      &) lett ($p_alt l'?Et   // amuletter
      &) let (t$p_alt l'?E    // avoid double t - toilettet
-cabrio) let        l'E       // silent t
-fiskefi) let       le        // silent t
-søtungefi) let     le        // silent t
-oksefi) let        le        // silent t
-stegsfi) let       le        // silent t - tykstegsfilet
-spættefi) let      le        // silent t - rødspættefilet
-skrubbefi) let     le        // silent t
-svinefi) let       le        // silent t
-lammefi) let       le        // silent t
-kyllingefi) let    le        // silent t
-dyrefi) let        le        // silent t
-hjortefi) let      le        // silent t
-hestefi) let       le        // silent t
+
+_er_sti) let (_    l@-D      // verb, not "stil'ethæl" - "brevet er stilet til"
+_har_sti) let (_   l@-D      // verb
+_var_sti) let (_   l@-D      // verb
+_havde_sti) let (_ l@-D      // verb
+
+cabrio) let        l'?E      // silent t
+fiskefi) let       l?e       // silent t
+søtungefi) let     l?e       // silent t
+oksefi) let        l?e       // silent t
+stegsfi) let       l?e       // silent t - tykstegsfilet
+spættefi) let      l?e       // silent t - rødspættefilet
+skrubbefi) let     l?e       // silent t
+svinefi) let       l?e       // silent t
+lammefi) let       l?e       // silent t
+kyllingefi) let    l?e       // silent t
+dyrefi) let        l?e       // silent t
+hjortefi) let      l?e       // silent t
+hestefi) let       l?e       // silent t
 
      &) ld (er     l         // silent d - anmelder
     sø) lv         l         // silent v
     to) lv         l         // silent v
-    se) lv         l         // selv, selvfølgelig, selvhjælp
+   _se) lv         l         // selv, selvfølgelig, selvhjælp
     se) lve        lv@-      // selve, selvet
     bo) ld         ld
     bo) ld (gade   l         // silent d
     so) ld (at     ld
         leg (_     laI       // leg, kysseleg, ligbleg
+     b) leg (@     l?Aj      // blegansigt
         leger (_   laIV      // leger
-        lege (ring leg'e     // stressed
+        lege (ring l?eg'?e   // stressed
     _o) leg        lEg       // name
         læg (præd  lEj       // lægprædikant
-     k) læg        lEj       //
+     k) læg        lEj
         lægg (e    l?Eg      // mørklægge
         læg (ning  lEg       // mørklægning
         legem (C   lEj@-m    // legemsdel
-        lotion     l3uSjn    // håndlotion
-        lorraine   loRE:n    // name
-        lizzie     lisi      // name
-        larry      l/2&*i    // name
-        leavenworth lEv@-nwW:3T //
+        lotion     l?0wSj@-n // håndlotion
+        lorraine   l?oRE:n   // name
+        lizzie     l?is?i    // name
+        larry      l?&*i     // name
+        leavenworth l?Ev@-nwW:T
         labour     lEjbV     // British party
     bi) llard      liard     // game
     he) lg (e      lj        // Helge, helgen
         lincoln    lenkVl/2n // name
      _) lee (_     li:       // the name Lee
+     _) lee (s_    li:       // Lees
    mar) lee (n     l'i:      // name
      _) leed (s    li:d      // city
         ley        li        // volley
@@ -5783,84 +6151,91 @@ single_) malt      mOlt      // whisky
 .group me
 
 // General rule for words with -ment
-     &) ment       m'Ent     // element, segment
+     &) ment       m'?Ent    // element, segment
 
 // exceptions for the -ment rule (French words)
-arrange) ment      mAN       // arrangement
-avance) ment       mAN       // avancement
-avertisse) ment    mAN       // avertissement
-change) ment       mAN       // changement
-departe) ment      mAN       // departement
-deplace) ment      mAN       // deplacement
-detache) ment      mAN       // detachement
-divertisse) ment   mAN       // divertissement
-engage) ment       mAN       // engagement
-enjambe) ment      mAN       // enjambement
-etablisse) ment    mAN       // etablisseement
-guverne) ment      mAN       // guvernement
+arrange) ment      m?AN      // arrangement
+avance) ment       m?AN      // avancement
+avertisse) ment    m?AN      // avertissement
+change) ment       m?AN      // changement
+departe) ment      m?AN      // departement
+deplace) ment      m?AN      // deplacement
+detache) ment      m?AN      // detachement
+divertisse) ment   m?AN      // divertissement
+engage) ment       m?AN      // engagement
+enjambe) ment      m?AN      // enjambement
+etablisse) ment    m?AN      // etablisseement
+guverne) ment      m?AN      // guvernement
   gour) met        me
-kompli) ment       mAN
- regle) ment       mAN       // reglement
+kompli) ment       m?AN
+ regle) ment       m?AN      // reglement
  regle) mente (ret ment'e    // reglementeret
-abonne) ment       mAN       // reglement
+abonne) ment       m?AN      // reglement
 instru) mentel     mentel    // instrument
-katonne) ment      mAN       // katonnement
-klasse) ment       mAN       // klassement
-konnosse) ment     mAN       // konnossement
-  lave) ment       mAN       // lavement
- møble) ment       mAN       // møblement
-nivelle) ment      mAN       // nivellement
- posse) ment       mAN       // possement
-raffine) ment      mAN       // raffinement
-ressenti) ment     mAN       // ressentiment
-ræsonne) ment      mAN       // ræsonnement
-signale) ment      mAN       // signalement
- sorti) ment       mAN       // sortiment
-supple) ment       mAN       // supplement
-tempera) ment      mAN       // temperament
-trakte) ment       mAN       // traktement
-bombarde) ment     mAN       // bombardement
-_arrange) ment     m'AN      // arrangement
-_avance) ment      m'AN      // avancement
-_avertisse) ment   m'AN      // avertissement
-_change) ment      m'AN      // changement
-_departe) ment     m'AN      // departement
-_deplace) ment     m'AN      // deplacement
-_detache) ment     m'AN      // detachement
-_divertisse) ment  m'AN      // divertissement
-_engage) ment      m'AN      // engagement
-_enjambe) ment     m'AN      // enjambement
-_etablisse) ment   m'AN      // etablisseement
-_guverne) ment     m'AN      // guvernement
- _gour) met        m'e
-_kompli) ment      m'AN
-endosse) ment      m'AN      //
-_regle) ment       m'AN      // reglement
-_regle) mente (re  ment'e    // reglementeret, reglementerede
-_abonne) ment      m'AN      // reglement
-_instru) mentel    ment'el   // instrument
-_katonne) ment     m'AN      // katonnement
-_klasse) ment      m'AN      // klassement
-_kanosse) ment     m'AN      // kanossement
- _lave) ment       m'AN      // lavement
-_møble) ment       m'AN      // møblement
-_nivelle) ment     m'AN      // nivellement
-_posse) ment       m'AN      // possement
-_raffine) ment     m'AN      // raffinement
-_ressenti) ment    m'AN      // ressentiment
+katonne) ment      m?AN      // katonnement
+klasse) ment       m?AN      // klassement
+konnosse) ment     m?AN      // konnossement
+  lave) ment       m?AN      // lavement
+ møble) ment       m?AN      // møblement
+nivelle) ment      m?AN      // nivellement
+ posse) ment       m?AN      // possement
+raffine) ment      m?AN      // raffinement
+ressenti) ment     m?AN      // ressentiment
+ræsonne) ment      m?AN      // ræsonnement
+signale) ment      m?AN      // signalement
+ sorti) ment       m?AN      // sortiment
+supple) ment       m?AN      // supplement
+tempera) ment      m?AN      // temperament
+trakte) ment       m?AN      // traktement
+bombarde) ment     m?AN      // bombardement
+_arrange) ment     m'?AN     // arrangement
+_avance) ment      m'?AN     // avancement
+_avertisse) ment   m'?AN     // avertissement
+_change) ment      m'?AN     // changement
+_departe) ment     m'?AN     // departement
+_deplace) ment     m'?AN     // deplacement
+_detache) ment     m'?AN     // detachement
+_divertisse) ment  m'?AN     // divertissement
+_engage) ment      m'?AN     // engagement
+_enjambe) ment     m'?AN     // enjambement
+_etablisse) ment   m'?AN     // etablisseement
+_guverne) ment     m'?AN     // guvernement
+ _gour) met        m'?e
+_kompli) ment      m'?AN
+endosse) ment      m'?AN     //
+_regle) ment       m'?AN     // reglement
+_regle) mente (re  m?ent'?e  // reglementeret, reglementerede
+_abonne) ment      m'?AN     // reglement
+_instru) mentel    m?ent'?el // instrument
+_katonne) ment     m'?AN     // katonnement
+_klasse) ment      m'?AN     // klassement
+_kanosse) ment     m'?AN     // kanossement
+ _lave) ment       m'?AN     // lavement
+_møble) ment       m'?AN     // møblement
+_nivelle) ment     m'?AN     // nivellement
+_posse) ment       m'?AN     // possement
+_raffine) ment     m'?AN     // raffinement
+_ressenti) ment    m'?AN     // ressentiment
 _ræsonne) ment     m''AN     // ræsonnement
 _signale) ment     m''AN     // signalement
-_sorti) ment       m'AN      // sortiment
-_supple) ment      m'AN      // supplement
-_tempera) ment     m'AN      // temperament
-_trakte) ment      m'AN      // traktement
-_bombarde) ment    m'AN      // bombardement
-        men (tusias mAN      // filmentusiast
+_sorti) ment       m'?AN     // sortiment
+_supple) ment      m'?AN     // supplement
+_tempera) ment     m'?AN     // temperament
+_trakte) ment      m'?AN     // traktement
+_bombarde) ment    m'?AN     // bombardement
+        men (tusias m?AN     // filmentusiast
 
 .group n
 
         n          n
 
+     i) nkatha     nk'?&t?&  // organisation
+ morge) n          n         // morgenkaffe
+    ge) n (k       n         // genkende
+     a) n (klage   n
+     a) n (kom     n         // ankomme
+   kræ) n (ke      n         // ejendomskrænkelse
+
 // words with final -ni in da_list - stressed i
      &) ni ($p_alt+++ 'n?i   // ironi
     &n) ni ($p_alt++ '?i     // tyranni - only one n
@@ -5885,17 +6260,18 @@ _harmo) nika       =n?ik?&   // stressed o
     ka) n_                   // silent n - kan
   ræso) nn         n         // ræsonnement
      A) nn         n         // venner, denne
+        nn (edgang nn        // lønnedgang
    gra) n          n         // grannål 2 * n
      @) nien       =nj@-n    // Albanien, Rumænien - stress on previous syllable
      @) nier       =njV      // armenier - stress on previous syllable
    @mo) nien       ni@-n     // kærlighedsceramonien
         newton     nj'u:t@-n
-        nylon      naIlVn
+        nylon      nAjlVn
         neglige    negliS'e
         nightingale _^_EN
      _) nag (_     n&:j      // nag
         nougat     nug&      //
-     _) naiv       n&'iv     // naiv
+     _) naiv       n?&'?iw   // naiv
      @) naiv       n&iv      // bundnaiv
         new        nju       // newton, New York
         newzealand njus'el&n //
@@ -5916,20 +6292,21 @@ _harmo) nika       =n?ik?&   // stressed o
      A) nd         n         // ond, onde, sunde
 
 // exceptions
-     a) nd (ere_   nd        // ekspandere
-     e) nd (ere_   nd        // prætendere
+     a) nd (ere    nd        // ekspandere
+    te) nd (ere_   nd        // prætendere, tendere
      A) nd (erer_  nd        // ekspanderer, prætenderer
      æ) nd (ere+   n         // englændere
 happy_e) nd (_     nd        // happy end
  en_ru) nd (e      nd        // en runde
 ste_ru) nd (e      nd        // første runde
 james_bo) nd       nd        // James Bond
+rosamu) nd (e      =nd       // name
     we) nd (y      nd        // name
    gwe) nd (a      nd        // name
     pa) nd (ora    nd'       // name
    ama) nd (a      =nd       // name
   arla) nd (a      nd        // airport
-//   hacie) nd (a nd
+    pe) nd (le     nd
    spa) ndex       ndEgs
      a) nd (esbj   nd        // Andesbjergene
     li) nd (y      nd        // name
@@ -5982,8 +6359,10 @@ salama) nd         nd        // salamander
     pe) nd (ul     nd'       //
  norma) nd (i      nd'       // Normandiet
     sa) nde (lig   n@-       //
-     A) nd (re     nd        // mindre, andre
+     A) nd (re_+   nd        // mindre, andre
+     A) nd (res_+  nd        // andres, ændres
     _i) nd (++     n         // indret, indregistrere
+     i) nd (oktrinere nd
      i) nd (ivid   nd        // individualist
    ply) nd (r      n         // plyndre, plyndring
    sta) nd (+      n         // opstandelse
@@ -6031,6 +6410,7 @@ salama) nd         nd        // salamander
      u) nd (ne     nd        // bundne
     bi) nd (e      n         // forbindelse
     mi) nd (e      n         // mindelund
+    mi) nde (nao   nd@-'
   misu) nde (lig   n         // silent de - misundelig
    ble) nd (e      nd        // blender
     ba) nd (it     nd        // bandit
@@ -6170,7 +6550,7 @@ _man_ba) nd (er    n         //
 
 .group o
 
-        o          o
+        o          ?o        // Default short o
 
 // Short o followed by double consonant
      r) o (C%++    ?V        // droppe, kroppe, skrotte
@@ -6178,16 +6558,27 @@ _man_ba) nd (er    n         //
     tr) os (skrift+ os       //
         o (ld++    ?V        // hold, holde, solde - ld=>l
         o (mm+     ?V        // komme, omme
+    ep) o (s       ?V
         o (nd      ?o        // bonde, onde
+     p) o (n       ?V        // Ponderosa, poncho
 
-_noget_r) o (s_    ?V        //
+_noget_r) o (s_    ?V
+albatr) o (s       ?V
 
 // long o because of the a?
      s) o (fa      o:
+        o (Ce++    o         // kjole, pose
+        o (Ci      o         // rolig TEST
+  pret) o (ria     '?o       // stresssed
+   fur) ore        'o:V      // stressed
+
+     _) or (n      O:        // orne, ornitolog
 
         oo         u:        // English words like 'pool'
+     v) oodoo      u:d?u
      C) oog        oV        // toogtyve
    scr) ooge       u:dZ      // name
+     b) oone       un        // name
      b) oogie      ugi       // boogie-woogie
      w) oogie      ugi       //
      w) oo         u         // Hollywood
@@ -6196,6 +6587,7 @@ _noget_r) o (s_    ?V        //
         oonagh     un&       // name
      c) ochise     OwS'i:s   // name
      h) owie       ?Awi      // name
+   pin) occhio     '?Vkj?o   // name
     kl) oro (form  oo
  shamp) oo         ?o        //
   nark) o          o         // narkoopgør
@@ -6215,7 +6607,8 @@ _noget_r) o (s_    ?V        //
    dan) ois        w'A       // granddanois
      g) oebbels    Wb@-ls    // name
      m) o (nste    ?V        // monster
-     t) o (rna     ?V        // tornado
+     t) or (na     ?O        // tornado
+     m) ontevideo  ?Vnt@-v?id'?e?o
 
 //  PB final -skop - stressed o
    &sk) op ($p_alt++ '?op    // gyroskop
@@ -6227,8 +6620,8 @@ _noget_r) o (s_    ?V        //
   sark) om         ?om       // knoglesarkom
 
 // final - ose - stressed o
-     &) ose ($p_alt+ 'o:s@-  // hypnose
-     &) ose+ (r$p_alt 'o:sV  // hypnoser
+     &) ose ($p_alt+ 'os@-   // hypnose
+     &) ose+ (r$p_alt 'osV   // hypnoser
 
 // final -isk: long o (ph_danish shortens the o)
         o (tisk    o:        // gotisk, laotisk
@@ -6244,21 +6637,22 @@ _elektr) o (de     'o
  _peri) o (de      'o
 
 // general rule c/k + o + n + consonant = [V]
-   L10) o (nC      V         // konvoj, conga, konservator - could also be [O]
+   L10) o (nC      ?V        // konvoj, conga, konservator - could also be [O]
    sek) ond (løjtnant 'ond
 
 // general rule consonant + o + double consonant: [V]
      C) o (L03%+   ?V        // skodde, rolle, lodder
      r) o (L03%a++ ?o        // rollator
-    bl) od         ?oD       // bloddonor
+    bl) od (+      ?oD       // bloddonor
      h) o (lla+    ?V        // Holland
-     C) o (rr      ?V        // korrekt
-   gon) o (rr      o         // gonnorré
+     C) orr        ?O3-      // korrekt
+     k) orrek (tur O@-g
+   gon) o (rr      ?o        // gonnorré
    L06) o (t       ?V        // pot
    L06) o (tL04    ?o        // botulisme TEST
-   sab) o (t       o         // sabotør
-    tr) o (ssætning o        //
-    tr) o (ts      V         // trotskist
+   sab) o (t       ?o        // sabotør
+    tr) o (ssætning ?o       //
+    tr) o (ts      ?V        // trotskist
     _r) oll (_+    Owl       // rock and roll
     _r) oll (ing_stone oul   // Rolling Stone(s)
     _r) olls (_    Owls      // Rolls Royce
@@ -6294,123 +6688,128 @@ _elektr) o (de     'o
      k) o (bling   ?V        //
 
 // general rule k/g + o + m: [V]
-   L01) o (m       V         // kompliceret, komplet, brudgom, jomfru
-   L01) o (mL04    o         // komite
-   L01) o (me      o         // komedie
-     k) o (mpag    o         // kompagni
-     k) o (ma      o:        //
-    _k) o (mpas    o'        //
+   L01) o (m       ?V        // kompliceret, komplet, brudgom, jomfru
+   L01) o (mL04    ?o        // komite
+   L01) o (me      ?o        // komedie
+     k) o (mpag    ?o        // kompagni
+     k) o (ma      o
+    _k) o (mpas    ?o'       //
 
 // general rule p/b + l + o + n/M: [V]
-  L06l) o (L09     V         // blond, blomst
+  L06l) o (L09     ?V        // blond, blomst
 
 // general rule: d/l + o + n/m: [V]
-   L03) o (L09     V         // barndom, lom, domhus, don, dommer
-     l) o (L09CL04 o         // colombianerne - TEST
-     l) o (nnA     V         // Lonny, Lonnie
-    fr) o (nt      V         // frontal
-   L03) o (L09L04  o         // dominere
-   L03) o (L09L11  o         // donere, donation, donator
-  ball) on         VN        // spærreballoner
-  @mel) o (n       o         // vandmelon
-    kl) o (n       o         //
-  cykl) o (n       'o        // stressed
+   L03) o (L09     ?V        // barndom, lom, domhus, don, dommer
+     d) o (mæne    ?o
+     l) o (L09CL04 ?o        // colombianerne - TEST
+     l) o (nnA     ?V        // Lonny, Lonnie
+    fr) o (nt      ?V        // frontal
+   L03) o (L09L04  ?o        // dominere
+   L03) o (L09L11  ?o        // donere, donation, donator
+  ball) on         ?VN       // spærreballoner
+  @mel) o (n       ?o        // vandmelon
+    kl) o (n       ?o        //
+  cykl) o (n       '?o       // stressed
   shal) o (m       'o        // stressed
 
 // general rule sp/st/sk + r + o + velars: V
-  L08r) o (L01     V         // skrog
-  L08r) o (L01en   o         // østrogen     V
+  L08r) o (L01     ?V        // skrog
+  L08r) o (L01en   ?o        // østrogen     V
 
 // general rule consonant + o + velars: V
-     C) o (L01+    V         //  fjong, knokle
+     C) o (L01+    ?V        //  fjong, knokle
      C) o (L01%+   ?V        //  sokker jogger
   gong) o (ng      'V        // stressed
    _kr) oket (_    ?Vk@-t    // game
+     C) o (kL05+   ?o        // PB pokal TEST
+     m) ojave      ?oh'Av?e
 
-     C) o (g+      O         // bogmærke, bedrog, krog, tog (verb "took", noun "train")
-     C) o (gA+     O         // toge
-   fot) o (+       o         // fotografere
+     C) o (g+      ?O        // bogmærke, bedrog, krog, tog (verb "took", noun "train")
+     C) o (ge+     O         // toge
+   fot) o (+       ?o        // fotografere
 
      n) oge (n     o@-       // PN nogensinde
 
-     d) og (+      Vw        // dogme
+     d) og (+      ?Vw       // dogme
      d) og (e      oS        // doge
-        og (tyve   V
-     d) o (nkraft  o         //
- et_dr) o (g       V         // et drog (noun)
- arist) o (k       o         //  aristokrat
-     s) okrates    okrAtEs   // name
-     k) ong (res   Vng       //
-    sm) og (_      Vg        // smog
-     r) o (kL11+   o         // provokere
-     v) o (kL11+   o         // provokere
-     p) o (ker++   o         //
-     C) o (L01a+   o         //  lokale
-     s) o (ja+     V         //
-     h) og (an     owg       // name
-   fot) oge (n     og'e      // stressed
+        og (tyve   ?V
+     d) o (nkraft  ?o        //
+ et_dr) o (g       ?V        // et drog (noun)
+ arist) o (k       ?o        //  aristokrat
+     s) okrates    ?okr?At?Es // name
+     k) ong (res   ?Vng      //
+    sm) og (_      ?Vg       // smog
+     r) o (kL11+   ?o        // provokere
+     v) o (kL11+   ?o        // provokere
+     p) o (ker++   ?o        //
+   L03) o (L01a+   ?o        //  lokale
+     s) o (ja+     ?V        //
+     h) og (an     ?owg      // name
+   fot) oge (n     ?og'?e    // stressed
     ep) o (ke      'o        // stressed
   ariz) o (na      'o:       // stressed
-     l) ogre       VwrV      //
-     g) o (kart+   Ow        //
-    kr) o (ketC    V         // kroketbane, -spiller, -plæne
-   _kr) o (kett    o'        // kroketter
-     C) o (L01t    V         // kogt
-     b) o (L01L04  V         // bongo
-     b) o (gorm    o         //
-  jumb) o          o         // OB jumbojet
-     v) o (gt+     V         //
-    kn) o (j       o         // knojern
- parad) o (ks      'V        // stressed
-elektr) o          =o        // elektrokromatisk
-  L06r) o (j       o         // projektør
-     d) o (L01rL04 o         // endokrin TEST
-    bl) og         Vg        // (we)blog
+     l) ogre       ?Vwr?V    //
+     g) o (kart+   ?Ow       //
+    kr) o (ketC    ?V        // kroketbane, -spiller, -plæne
+   _kr) o (kett    ?o'       // kroketter
+     C) o (L01t    ?V        // kogt
+     b) o (L01L04  ?V        // bongo
+     b) o (gorm    ?o        //
+  jumb) o          ?o        // OB jumbojet
+     v) o (gt+     ?V        //
+    kn) o (j       ?o        // knojern
+ parad) o (ks      '?V       // stressed
+elektr) o          =?o       // elektrokromatisk
+  L06r) o (j       ?o        // projektør
+     d) o (L01rL04 ?o        // endokrin TEST
+    bl) og         ?Vg       // (we)blog
      C) o (gg+     ?V        // jogging
- van_g) ogh        Vk        // name
+ van_g) ogh        ?Vk       // name
      j) o (L01%L11 ?V        // jogge, jokke
      l) o (L01%L11 ?V        // logge, lokke
      k) o (gt+     ?V        // kogte
         og (firs   ?V        // enogfirs
-    sl) o (g       o         // foreslog
+    sl) o (g+      ?o        // foreslog, sloges
    dag) o (g       ?o        // pædagog
-        o (kaC     o         // pokal, advokat
-     l) o (kum     o         //
+        o (kaC     ?o        // pokal, advokat
+     l) o (kum     ?o        //
 
 // general rule sp/st/sk + o + t: V
-//   L08) o (t       V         //  spotte, skotte
-  L08r) o (t       V         // skrot
+  L08r) o (t       ?V        // skrot
         o (tL11++  o         // skrote, blote, pote, botaniker
   L08r) o (tL04    o         // skrotum
- _mask) o (t       'V        // stressed
-   L08) o (tL04    o         // followed by front vowel: o - skotøj
-  disk) o          o         // diskotek
-  kach) o (t       'V        //
+ _mask) o (t       '?V       // stressed
+   L08) o (tL04    ?o        // followed by front vowel: o - skotøj
+  disk) o          ?o        // diskotek
+  kach) o (t       '?V       //
 
 // general rule o + frontal consonant: [V]
-        o (L03K+   V         // Olga, Volga, vold, vod, od, volt, polstre
-     s) o (d+      o         // sod, løbesod
-        o (lsen    o         // name
-     k) o (d+      o         // omkodning
-   gaj) o (l       'o        // candy
-  symb) o (l       o         // sexsymbol
- bornh) o (lm      'V        //
+        o (L03K+   ?V        // Olga, Volga, vold, vod, od, volt, polstre
+     s) o (d+      ?o        // sod, løbesod
+        o (lsen    ?o        // name
+     k) o (d+      ?o        // omkodning
+   gaj) o (l       '?o       // candy
+  symb) o (l       ?o        // sexsymbol
+ bornh) o (lm      '?V       //
    L08) o (l+      o         // skole, spole, spol
-     t) o (lk      V         // mistolke
+     t) o (lk      ?V        // mistolke
      p) o (l       ?o        // nordpolen, politi
-     p) o (l_      o         //
-     p) o (lsk     o         // polsk
-     p) o (lt      V         // polterabend
-     @) o (lsk     'o        // katolsk, symbolsk
-melank) o (lsk     'o        //
+     p) o (l_      ?o        //
+     p) o (lsk     ?o        // polsk
+     p) o (lt      ?V        // polterabend
+     @) o (lsk     '?o       // katolsk, symbolsk
+melank) o (lsk     '?o       //
   wimp) ole        Owl       // name
-    st) o (d_      o         //
-   L09) o (d+      o         // mod
+    st) o (d_      ?o        //
+   L09) o (d+      ?o        // mod
      m) o (de+     o         // modefænomen
-     m) oder       or        // pronounced like "mor"
-     m) oderen     o3-Vn     // pronounced like "moren"
+     m) oder       ?or       // pronounced like "mor"
+     m) oderen     ?o3-Vn    // pronounced like "moren"
      m) oder (@    o:DV      // compunds - moderkage
-     m) oder (ne   od'Er
+    _m) oder (ne   ?od'?Er
+hyperm) oder (ne   ?od?Er
+    _m) oder (ni   ?od'?Er   // modernisere
+  form) o (de      o         // formoder
    anm) oder       oDV
      l) o (L03+    ?o        // forlod, blod, efterlod
     fl) o (d_      ?o        // short o
@@ -6475,22 +6874,22 @@ kommand) o         ?o        // kommandobroen
      b) o (pæl     ?o        //
      k) o (par     ?V        // koparret
    L10) o (L06rL11 o         // kobra
-   L02) o (L06le+  V         // boble
+   L02) o (L06le+  ?V        // boble
    L02) o (L06%e++ ?V        // dobbel
-     C) o (L06L04++ o        // monopol, mobil
-     p) o (pidol++ V         // popidol
+     C) o (L06L04++ ?o       // monopol, mobil
+     p) o (pidol++ ?V        // popidol
         o (bbA+++  ?V        // hobby, snobbet, snobbede
     st) o (p++     ?V        // stopur
      k) o (bber+++ ?O        //
   selv) o (p       ?V        // selvoptaget
-    _r) o (bin++   V         // Robin Hood
-    _r) oby (n++   Vbe       // name
-    pr) o (ble     o         // problem
-     r) o (L06L05+ o         // europæer, propan
-    le) o (par     o'        // leopard
-   cle) o (patra   'o        //
-  nark) o (C       o         // narkobranchen
-  mikr) o          o         // mikroprocessor
+    _r) o (bin++   ?V        // Robin Hood
+    _r) oby (n++   ?Vbe      // name
+    pr) o (ble     ?o        // problem
+     r) o (L06L05+ ?o        // europæer, propan
+    le) o (par     ?o'       // leopard
+   cle) o (patra   '?o       //
+  nark) o (C       ?o        // narkobranchen
+  mikr) o          ?o        // mikroprocessor
      h) o (b+      ?o        // menneskehob
     Cn) o (L06++   ?o        // knob, knop, knoppen
    gal) o (C       '?V       // galoche, galop - stressed
@@ -6500,110 +6899,112 @@ kommand) o         ?o        // kommandobroen
   kykl) o (p       '?o       //
 
 // general rule l + o + t: [V]
-     l) o (t       V         // blot, plot, kaskelot
-     _) kompl)     o         (t 'V // stressed
-     _) kaskel)    o         (t 'V // stressed
-  merl) ot         'o        // grape
-   kal) o (t       'V        // stressed
+     l) o (t       ?V        // blot, plot, kaskelot
+_kompl) o (t       '?V       // stressed
+_kaskel) o (t      '?V       // stressed
+  merl) ot         '?o       // grape
+   kal) o (t       '?V       // stressed
      l) o (tus     o:        //
-   pil) o (t       o         // autopilot
-   kil) o (+       o         // kiloton, kilovis
-   zel) o (t       'o        // stressed
+   pil) o (t       ?o        // autopilot
+   kil) o (+       ?o        // kiloton, kilovis
+   zel) o (t       '?o       // stressed
+   pel) oton       ?ot'?VN
 
-    Ca) o (s       V         // kaos Laos
-   L08) o (f       V         // stof
-    sk) o (fab     o         // skofabrik
-  kask) o          o         // kaskoforsikring
-    tr) o (CL04    o         // antropolog, tropisk, troperne
+    Ca) o (s       ?V        // kaos Laos
+   L08) o (f       ?V        // stof
+    sk) o (fab     ?o        // skofabrik
+  kask) o          ?o        // kaskoforsikring
+    tr) o (CL04    ?o        // antropolog, tropisk, troperne
  fortr) o (lig     ?o        //
-     _) o (mC      ''V       // omgang, omformulere
-     _) o (mar     V         // omarrangere, omarbejde
-        o (madresse V        // omadressere
-     _) oman       om'&n     // Oman - stressed
-        o (ms      V         // pladeomslag
-        o (mråd    V         // katastrofeområde
-        o (mtale   V         // presseomtale
-        o (megn    V         //
-        o (mk      V         // deromkring
-     k) o (nC      V         // konfirmand, konfekt,  konkurrence
-     C) o (sCL11+  V         // fosfat, koster, moster, foster, floskel
-    fr) o (sne     o         // fastfrosne
-    tr) o (sretning o        //
-    tr) o (sbekend o         // trosbekendelse
-    fl) o (s       V         // floskler
-    kl) o (stre    V         // klostret
-    pr) o (sp+     o         // prospekt
-     m) o (ske+    o         //
-     k) o (steskaft o        //
-     k) o (steskab o         //
+     _) o (mC      ''?V      // omgang, omformulere
+     _) o (mar     ?V        // omarrangere, omarbejde
+        o (madresse ?V       // omadressere
+     _) oman       ?om'&n    // Oman - stressed
+        o (ms      ?V        // pladeomslag
+        o (mråd    ?V        // katastrofeområde
+        o (mtale   ?V        // presseomtale
+        o (megn    ?V        //
+        o (mk      ?V        // deromkring
+     k) o (nC      ?V        // konfirmand, konfekt,  konkurrence
+     C) o (sCL11+  ?V        // fosfat, koster, moster, foster, floskel
+   col) osseum     ?os'E?Om
+    fr) o (sne     ?o        // fastfrosne
+    tr) o (sretning ?o       //
+    tr) o (sbekend ?o        // trosbekendelse
+    fl) o (s       ?V        // floskler
+    kl) o (stre    ?V        // klostret
+    pr) o (sp+     ?o        // prospekt
+     m) o (ske+    ?o        //
+     k) o (steskaft ?o       //
+     k) o (steskab ?o        //
      k) osh (er+   oS        //
-    kr) o (s       o         // krostue
-    kr) o (snak    o         //
-  hydr) o          o         // hydrostatisk
-  test) o (steron  o         //
-rekogn) o (scere   o         //
-    tr) os (samfund os       //
-  metr) o          o         // metrostation
-    tr) o (ld      V         // charmetrold
-   bek) o (st      V         // bekostning
-        o (sCL04   V         // osmose
-     d) o (ssier   o
-  kosm) o (s       V         // kosmos
- tjekk) o (slov    o         // Tjekkoslovakiet
- heter) o          o         // heterosvin
-    sh) osh (one   oS'       // shoshoneindianere
-        o (stindi  o         // Ostindien
-     r) oscoe      VskOw     // Roscoe - name
-     k) o (stL04   o         // kostume
-    Cr) o (sk+     o         // troskab, kroskænk
-     n) o (s_      V         // nos nu ikke i det
-     g) o (slav+   o         // Jugoslavien
-     h) o (spit    o         // hospital
-     p) o (styr+   V'        //
+    kr) o (s       ?o        // krostue
+    kr) o (snak    ?o        //
+  hydr) o          ?o        // hydrostatisk
+  test) o (steron  ?o        //
+rekogn) o (scere   ?o        //
+    tr) os (samfund ?os      //
+  metr) o          ?o        // metrostation
+    tr) o (ld      ?V        // charmetrold
+   bek) o (st      ?V        // bekostning
+        o (sCL04   ?V        // osmose
+     d) o (ssier   ?o
+  kosm) o (s       ?V        // kosmos
+ tjekk) o (slov    ?o        // Tjekkoslovakiet
+ heter) o          ?o        // heterosvin
+    sh) osh (one   ?oS'      // shoshoneindianere
+        o (stindi  ?o        // Ostindien
+     r) oscoe      ?Vsk?Ow   // Roscoe - name
+     k) o (stL04   ?o        // kostume
+    Cr) o (sk+     ?o        // troskab, kroskænk
+     n) o (s_      ?V        // nos nu ikke i det
+     g) o (slav+   ?o        // Jugoslavien
+     h) o (spit    ?o        // hospital
+     p) o (styr+   ?V'       //
         o (sko+    o         // otoskop, mokroskopi
-    sk) o (sværte  o         //
+    sk) o (sværte  ??o       //
 
 // general rule: consonant + o + m:[V]
-     C) o (m       V         // tomhændet, kedsomhed, tomt, udenoms
-     C) o (mL04    V         // bomuld
-  salt) o (mor     o         // saltomortale
-     r) o (mulus   o         // name
-    at) o (m       o         // iltatom
-     C) o (mL11    o         // tomat
-    ar) o (ma      'o        // stressed
-     h) o (L09L04+ o         // homo, honorær
-     r) o (mCL05   o         // brombær TEST
- syndr) o (m       o         // stresssyndrom
-     r) o (mkage   V         // pb
-    Cr) o (mL04    o         // promotor
-    tr) o (mme+    o         //
-    fr) o (m       V         //
-    fr) o (ma      o         // fromage
-    tr) o (m       o         // trompet
-    on) o (m       o         // økonomi
-     n) o (mi      o         // nominere
- _økon) o (m_      'o        // stressed
- hæmat) o (m       'o        //
-     c) omeback    Vmb'&k    //
-    _p) ommes (_   %Vm       // pommes frites
-    _p) omme (_    %Vm       // pomme frite(s)
+     C) o (m       ?V        // tomhændet, kedsomhed, tomt, udenoms
+     C) o (mL04    ?V        // bomuld
+  salt) o (mor     ?o        // saltomortale
+     r) o (mulus   ?o        // name
+    at) o (m       ?o        // iltatom
+     C) o (mL11    ?o        // tomat
+    ar) o (ma      '?o       // stressed
+     h) o (L09L04+ ?o        // homo, honorær
+     r) o (mCL05   ?o        // brombær TEST
+ syndr) o (m       ?o        // stresssyndrom
+     r) o (mkage   ?V
+    Cr) o (mL04    ?o        // promotor
+    tr) o (mme+    ?o        //
+    fr) o (m       ?V        //
+    fr) o (ma      ?o        // fromage
+    tr) o (m       ?o        // trompet
+    on) o (m       ?o        // økonomi
+     n) o (mi      ?o        // nominere
+ _økon) o (m_      '?o       // stressed
+_hæmat) o (m       '?o
+     c) omeback    ?Vmb'?&k  //
+    _p) ommes (_   %?Vm      // pommes frites
+    _p) omme (_    %?Vm      // pomme frite(s)
 
 // general rule: labial (+r) + o + st: [V]
-   L02) ost        Vsd       // opfostre, moster, post, frost
-    fr) o (st+     V         // frost
-    br) o (sten    o         //
+   L02) ost        ?Vsd      // opfostre, moster, post, frost
+    fr) o (st++    ?V        // frost
+    br) o (sten    ?o        //
 
 // exceptions
-     p) o (stmod   O         // postmoderne
-     p) o (stej+   %o        // leverpostej
-     p) o (sttrau  o         // posttraumatisk
-    pr) o (sti     o         // prostitueret
-   nab) o (++      o         // nabostat
+     p) o (stmod   ?O        // postmoderne
+     p) o (stej+   %?o       // leverpostej
+     p) o (sttrau  ?o        // posttraumatisk
+    pr) o (sti     ?o        // prostitueret
+   nab) o (++      ?o        // nabostat
 
-     s) o (mal     o'        // Somalia
-    gn) o (m       o         //
-    kr) o (m       o         // krom
-    _l) o (s       V         // los
+     s) o (mal     ?o'       // Somalia
+    gn) o (m       ?o        //
+    kr) o (m       ?o        // krom
+    _l) o (s       ?V        // los
     _p) o (t_      ?V        //
   fall) o (s       ?V        //
   _kol) o (s       '?V       // kolos - stressed
@@ -6642,17 +7043,17 @@ helsek) o (st      ?V        //
     fC) o (t       ?V        // flot, fjot
     fC) o (tL04    ?o        // flotille
 
-        o (x       ?V        // oxyd
+        o (x+      ?V        // oxid
      t) o (mas_    ?V        //
     th) o (mas_    ?V        //
-     t) ow (er     Au        // Tower Bridge
-  mikr) oovn       oVwn      //
-     _) o'         ou'       // for Irish names - O'Grady
-     s) outh       auT       // South Pacific
+     t) ow (er     ?Au       // Tower Bridge
+  mikr) oovn       o?Vwn     //
+     _) o'         ?ou'      // for Irish names - O'Grady
+     s) outh       ?A?uT     // South Pacific
     _h) olmes (_   oums      // name
      s) oames      oums      // name
-        osborne    Vsb,On    // name
-    _b) o (nd_     V         // Bond Street
+        osborne    ?Vsb,On   // name
+    _b) o (nd_     ?V        // Bond Street
      k) oor (d     oO:       // koordinat
  _biot) o (p       '?o       // stressed
  _isot) o (p       '?o       // stressed
@@ -6679,7 +7080,7 @@ art_dec) o         '?o       //
      f) o (b       o         // fobi
 _antil) o (pe      'o        // stressed
     _t) o (bak     ?o'       // tobak
-  vide) o          ?o_:      // videobånd, videoudstyr
+  vide) o (@       ?o_!      // videobånd, videoudstyr
      h) o (lding   Ou        // holdingselskab
     br) occ (oli   ?Vk       //
     ma) o (+       o         // Mao, Maos maosko
@@ -6721,139 +7122,140 @@ _horis) o (n       '?V       // horisont
    kan) o (n       ?o        // not stressed after a syllable
  bistr) o          'o        // stressed o in 'bistro'
   trik) ot         'o        // stressed, silent t
-    er) o (b       'o        // erobre - stressed o
-   _er) o (t       'o        // erot - stressed o
+    er) o (b       '?o       // erobre - stressed o
+   _er) o (t       '?o       // erot - stressed o
   _pil) o (t       '?o       // stressed - pilot
-  _idi) o (t       'o        // stressed
-_patri) o (t       'o        // stressed
-_cypri) o (t       'o        // stressed
- _matr) o (s       'o        // stressed
-_metad) o (n       'o        // stressed
-_batalj) o (n      'o        // stressed
+  _idi) o (t       '?o       // stressed
+_patri) o (t       '?o       // stressed
+_cypri) o (t       '?o       // stressed
+ _matr) o (s       '?o       // stressed
+_metad) o (n       '?o       // stressed
+_batalj) o (n      '?o       // stressed
    ang) o (la      'o        // stressed
 pepper) o (ni      'o:       // stressed
-   _pr) ovi (ns    ov'e      // provins - stressed i
- filos) o (f_      'V        //
-_filos) o (fi_     o'        //
-_filos) o (fisk    'o        //
+   _pr) ovi (ns    ?ov'?e    // provins - stressed i
+ filos) o (f_      '?V       //
+_filos) o (fi_     ?o'       //
+_filos) o (fisk    '?o       //
    mem) oire       o'A:      // memoire(r)
-   apr) opos       op'o      // silent s
-  nark) oti (k     'oti      // narkotika, narkotisk
- _ansj) o (s       'o        // stressed
-    ul) o (v       'V        // stressed o - ulovlig
-_paran) oia        'Vj&      // stressed
-  _huk) o (mme     'V        // hukommelse - stressed
+   apr) opos       ?op'?o    // silent s
+  nark) oti (k     '?ot?i    // narkotika, narkotisk
+ _ansj) o (s       '?o       // stressed
+    ul) o (v       '?V       // stressed o - ulovlig
+_paran) oia        '?Vj&     // stressed
+  _huk) o (mme     '?V       // hukommelse - stressed
   _kuj) o (n       'o        // stressed
   komp) o (st      'V        // stressed
  vagab) ond        'Ond      // stressed
   bard) ot         'o        // Brigitte Bardot
      _) oil (_     V:il/2    //
     cr) oix        w'a       // Delacroix
-     d) o (nald    V         // name
-     c) o (ck      V         // cockerspaniel
-//  terr) or         Vr        // terror
+     d) o (nald    ?V        // name
+     c) o (ck      ?V        // cockerspaniel
      b) or (nholm  Vr        //
-        o (tto     V         // name
+        o (tto     ?V        // name
    ris) o (tto     '?V       // stressed
-        o (ttende  V         //
-     r) o (ck      V         //
- jackp) o (t       V         //
-    gr) oggy       Vgi       // groggy
-    gr) og         Vg        // grog
-    gr) ogg        Vg        // groggen
-     k) og (nit    Vg        // kognitiv
-        og (tredive V        // fireogtredive
- hvalr) o (s       V         //
-     _) obo        ob'o      //
+        o (ttende  ?V        //
+     r) o (ck      ?V        //
+ jackp) o (t       ?V        //
+    gr) oggy       ?Vg?i     // groggy
+    gr) og         ?Vg       // grog
+    gr) ogg        ?Vg       // groggen
+     k) og (nit    ?Vg       // kognitiv
+        og (tredive ?V       // fireogtredive
+ hvalr) o (s       ?V        //
+     _) obo        ?ob'?o    //
         org (+     O:w       // sorg, morgen, Norge
         org (er    Ow        // borger
         org (el    Ow        // orgelet
         org (i     V:g       // georgisk
-        org (ie    Vg        //
-    ge) org (ine   og        //
-        or (ga+    O         // organ
-     r) or (g      oR        // rorgænger
-        ov (e+     Ow        // over, oven, sove
+        org (ie    ?Vg       //
+    ge) org (ine   ?og       //
+        or (ga+    ?O        // organ
+     r) or (g      ?oR       // rorgænger
+        ov (e++    ?Ow       // over, oven, sove
+        ov (er++   ?Ow       // velovervejet
      s) ove (@     Ow@-      // soveværelse
      h) o (vere    ?o        //
    ren) ov (er     ?ov       // renovering
         ov (n      ?Ow       // brændeovn
         ov (re     ?Ou       // derovre
-     C) ov (+      ?Vw       // sjov, lov, skov, plov - doesn't sound right with [Ow]
+     C) ov (+      ?0w       // sjov, lov, skov, plov - doesn't sound right with [Ow]
      C) ov (L08    ?0w       // provst
-     C) ov (er     ?Ow       // sover - short o
+     s) ov (e      ?Ow       // sover - short o
      C) ov (en+    ?Ow       // skoven - short O
-     j) ov (ist    ov'       // jovist
-     t) ov (ør     ov        // tatovør
-     n) ov (icA    ov        // novice, noviciat
-    sl) ov (ak     ov'       //
-     d) o (wning   a         // Downing Street
-     s) ovjet      Vwj'Et    //
-    kr) o (væ      o         // krovært
+     j) ov (ist    ?ov'      // jovist
+     t) ov (ør     ?ov       // tatovør
+     n) ov (icA    ?ov       // novice, noviciat
+    sl) ov (ak     ?ov'      //
+     d) o (wning   ?A        // Downing Street
+     s) ovjet      ?Vwj'?Et  //
+    kr) o (væ      ?o        // krovært
         ov (erhead Ouv       // overhead
-        over (hoved+ ?OwV    // overhoved
-    at) ov (er     ov        // tatovere
-     k) ov (end    ov        // kovending
-        ov (ærn+   ov        // autoværn
-   vuk) ov (ar     ov        // Vukovar
-        o (vej+    o         // kommandovej
-        o (vi+     o         // pseudovidenskabelig
-    tr) o (v+      o         // troværdig, kontrovers
-     l) ov (_mig_  ow        // from the verb "at love"
+        over (hoved+ ?Ow?V   // overhoved
+    at) ov (er     ?ov       // tatovere
+     k) ov (end    ?ov       // kovending
+        ov (ærn+   ?ov       // autoværn
+   vuk) ov (ar     ?ov       // Vukovar
+        o (vej+    ?o        // kommandovej
+        o (vi+     ?o        // pseudovidenskabelig
+    tr) o (v+      ?o        // troværdig, kontrovers
+     l) ov (_mig_  ?ow       // from the verb "at love"
      v) ov (e      Ov        // vove
-        o (fC      V         // ofte, kofte
-torped) o          o         // torpedoflyene
-        offside    Vfs'aId   //
+        o (fC      ?V        // ofte, kofte
+torped) o          ?o        // torpedoflyene
+        offside    ?Vfs'aId  //
     sj) o (f       o         // sjofle
-     h) o (f       V         // hofleverandør
-    pr) o (f_      V         // prof = professionel
-  skiz) o (fren    o         //
+     h) o (f       ?V        // hofleverandør
+    pr) o (f_      ?V        // prof = professionel
+  skiz) o (fren    ?o        //
      n) ov (a++    ov        // nova, renovation
-     n) ov (em+    ov        // november
-     n) ov (ell    ov        // novelle
-   bet) on         VN        // betonen
-   bet) o (ning    'o        // stressed
-   bet) o (net     o         //
-    _m) o (rt      V         // mortadel
-        o (k       V         // general rule - okker, lok
-artisk) o (k       'V        // stressed
-   aut) o (+       o         // autoklub
+     n) ov (em+    ?ov       // november
+     n) ov (ell    ?ov       // novelle
+   bet) on         ?VN       // betonen
+   bet) o (ning    '?o       // stressed
+   bet) o (net     ?o        //
+    _m) o (rt      ?V        // mortadel
+        o (k       ?V        // general rule - okker, lok
+artisk) o (k       '?V       // stressed
+   aut) o (+       ?o        // autoklub
      t) or (t      O:        // tortur
      C) or (L07L05 O:        // portal TEST
-     t) o (t       V         // hårtot, tot, hottentot
-     t) o (tA      o         // total
-    em) o (+       o         // demokrati
-   mem) o (riam    'o        // stressed
-        o (ktob    %o        // stressed next syllable - oktober
+     t) o (t       ?V        // hårtot, tot, hottentot
+     t) o (tA      ?o        // total
+    em) o (+       ?o        // demokrati
+   mem) o (riam    '?o       // stressed
+        o (ktob    %?o       // stressed next syllable - oktober
     sm) o (king    o:        //
-     j) o (rt      V         // hjort, pjort
-    fj) o (rt      o         // fjorten
-    kj) o (rt      o         // skjorte, kjortel
-    gj) o (rt      o         //
-     k) or (p      V:        // korps
-     k) or (pi     or        // korpige
-     k) or (prøve  or        //
-     g) od (tr     oD        // godtroende
-     g) od (tAg    oD        // godtage, godtog
-     d) o (g_+     V         // dog
+     j) o (rt      ?V        // hjort, pjort
+    fj) o (rt      ?o        // fjorten
+    kj) o (rt      ?o        // skjorte, kjortel
+    gj) o (rt      ?o        //
+     k) or (ps     O:        // korps
+    sk) or (p      ?O        // skorpion
+     k) or (pig    ?or       // korpige
+     k) or (prøve  ?or       //
+     g) od (tr     ?oD       // godtroende
+     g) od (tAg    ?oD       // godtage, godtog
+     d) o (g_+     ?V        // dog
  bulld) og         V:g       //
-     v) o (gt      V         // vogte
+     v) o (gt      ?V        // vogte
     sv) o (ger     O         //
-    _v) og (_      ow        // "han vog den kullede greve"
-     C) ogn        Vwn       // sogn, vogn
-   bol) ognese     oN'Es@-   //
-  bast) ogne       'VNj@-    // French
-  gasc) ogne       'VNj@-    // French
-   rek) og (noscere V        //
+    _v) og (_      ?ow       // "han vog den kullede greve"
+     C) ogn        ?Vwn      // sogn, vogn - DDO: [O]
+   bol) ognese     ?oN'Es@-  //
+  bast) ogne       '?VNj@-   // French
+  gasc) ogne       '?VNj@-   // French
+   rek) og (noscere ?V       //
     pr) ogn (o     ?ogn      // prognose
-   col) ogn (e     l'VNj     //
-  boul) ogn (e     ''VNj     // Bois de Boulogne
+   col) ogn (e     l'?VNj    //
+  boul) ogn (e     ''?VNj    // Bois de Boulogne
      s) or         =?V       // professor
      s) orer       ''o:V     // professorer, processorer
     _l) o (g_      ?V        // log
      l) o (gfil    ?V        //
      l) o (gbog    ?V        //
-     l) ov (e+     o?u       // love, forlover
+     l) ov (e+     ov        // love, forlover
      l) ov (en++   Ov        // lovende
         ov (ers++  Ow        // tilovers, overstå
  kontr) ov (ers    ?ov       // kontroversiel
@@ -6872,7 +7274,7 @@ _en_bl) ond (e_    ?Vnd      // noun with d
      k) o (gl+     ?O        // kogle, kogleri
     _d) o (n_      ?V        // don juan
     pr) o (vA+     ?o        // provokere, proviant
-     h) oved       o:@-D     // hoved
+     h) oved       o@-D      // hoved
     kn) o (tn      ?V        // knotne
     tr) od (s      ?V        // silent d - trods
     kl) od (s      ?V        // silent d - klods
@@ -6883,6 +7285,7 @@ perestr) o (jka    '?V       // stressed
      p) olish      ?VliS     // møbelpolish
     tr) o (kl      ?V        // trokle
      t) or (_      ?V        // faktor, rotor
+     t) or (s_     ?V        // faktors, rotors
     st) or (+      ?o3-      // kæmpestor, historie
      t) or (en     V         // faktoren
         or (k++    O:        // orke, morkel, stork
@@ -6918,83 +7321,83 @@ perestr) o (jka    '?V       // stressed
     kn) og         ?Ow       // knogle
      t) oi (l      o&        // toilet
 repert) oire       'wA:      //
-     f) o (rL04+   o         // aforisme, eufori
- ortod) o (ks      'V        //
-     l) o (kA      o         // lokal
-    bl) o (k+      V         // blokere
-     k) o (ka      o         // kokasse, kokain
-     s) o (pra     o         // sopran
+     f) o (rL04+   ?o        // aforisme, eufori
+ ortod) o (ks      '?V       //
+     l) o (kA      ?o        // lokal
+    bl) o (k+      ?V        // blokere
+     k) o (ka      ?o        // kokasse, kokain
+     s) o (pra     ?o        // sopran
         oregonpine VregVn||paIn //
-        oklahoma   okl&h'om& //
+        oklahoma   ?okl?&h'om?& //
   _ram) o (na      'o        // name
-     b) o (ss      V         //
+     b) o (ss      ?V        //
 
      p) oint (_    wEN       //
      p) ointene    wEN@n@-   //
      p) ointe      wENt@-    //
      p) ointer     wENtV     //
      p) oint (ere  Vjnt      //
-west_p) oint       Vjnt      //
-     c) ognac      VNak      //
-     b) o (m       o         // bombe, bom
-     b) o (mm++    o         // bommen
-     b) ombay      Vmb,Ej    //
-     k) omet       om'et     //
+west_p) oint       ?Vjnt     //
+     c) ognac      ?VNAk     //
+     b) o (m       ?o        // bombe, bom
+     b) o (mm++    ?o        // bommen
+     b) ombay      ?Vmb,Ej   //
+     k) omet       ?om'?et   //
   komm) o (de      'o        // stressed
-   L01) o (mman+   o         // kommando
-  pomp) on         VN        // pompon
-   kup) on         VN        // tipskupon
-  tamp) on         VN        // vattampon
-    pl) o (m+      o         //  plombe, plombere
-        o (m_      V         // alderdom VERY BROAD
+   L01) o (mman+   ?o        // kommando
+  pomp) on         ?VN       // pompon
+   kup) on         ?VN       // tipskupon
+  tamp) on         ?VN       // vattampon
+    pl) o (m+      ?o        //  plombe, plombere
+        o (m_      ?V        // alderdom VERY BROAD
 
         o (sL11    o         // rose, skose, pose, prosa
-        ou         u         // poussin, toupe
+        ou         ?u        // poussin, toupe
   miss) ou (ri     'u:       // stressed
      f) ourth      O:T       // Fourth Street
  ratat) ouille     'u:j      //
-  harb) our        V         //
+  harb) our        ?V        //
      d) ouche      u:S       //
     gr) ou (cho    Aw        // name
-  kont) o          o         // kontoudtog
+  kont) o          ?o        // kontoudtog
      b) ourne      O:n       // name
    rag) out        'u        // silent t
      s) ou (l      Ow        // soulmusik
  slowm) otion      OuS-@-n   //
      h) ouse       Aws       //
-_black) out        'awd      // blackout
-  _lay) out        'awd      // layout
- _lock) out        'awd      // blackout
- _drop) out        awd       // dropout
- _hand) out        awd       // handout
-_knock) out        'awd      // knockout
- _time) out        'awd      // timeout
- _work) out        'awd      // workout
-_astron) out       awd       //
-        outsider   awdsaIdV  //
+_black) out        'Awd      // blackout
+  _lay) out        'Awd      // layout
+ _lock) out        'Awd      // blackout
+ _drop) out        Awd       // dropout
+ _hand) out        Awd       // handout
+_knock) out        'Awd      // knockout
+ _time) out        'Awd      // timeout
+ _work) out        'Awd      // workout
+_astron) out       Awd       //
+        outsider   AwdsaIdV  //
         ohio       ouh'aIo   //
 noblesse_) oblige  _^_fr     // noblesse oblige
      d) oug        Vg        // Douglas
      s) onny       Vni       // name
-        oprah      Owpra     // name
+        oprah      OwprA     // name
      l) ou         u         // jalousi
    vel) ou (r      'u        // stressed
      b) ourbon     W:b@-n    // bourbon whisky
         ough       Vf        // tough, rough - only 2 words
-        oun        aun       // discount, greyhound
+        oun        Awn       // discount, greyhound
   calh) oun        'un       // name
     _b) o (nn_     V         // German city
     kl) ogere      owVV
-     h) o (ng      V         // Hongkong
-    @s) o (n_      V         // Patterson - names with final "son" - TEST
-    @s) o (ns_     V         // Pattersons - names with final "sons" - TEST
- Cpers) o (n       o         // privatperson
+     h) o (ng      ?V        // Hongkong
+    @s) o (n_      ?V        // Patterson - names with final "son" - TEST
+    @s) o (ns_     ?V        // Pattersons - names with final "sons" - TEST
+ Cpers) o (n       ?o        // privatperson
    tor) o (nto     'V        // stressed
      r) oastbeef   Ousdbif   // roastbeef
  illin) ois        V:j       //
-   ink) og (nito   'Vk       //
-    br) oth (er    VD        //
-        outlaw     awtlO:    //
+   ink) og (nito   '?Vk      //
+    br) oth (er    ?VD       //
+        outlaw     AwtlO:    //
 
 
 // final -ol words in da_list - stressed o
@@ -7024,10 +7427,11 @@ noblesse_) oblige  _^_fr     // noblesse oblige
      s) o (llys++  ?o        //
     is) olde       'Vld@-    // name
      s) olgt       Vlt       // solgt - exception
+     n) o (tere+   o         // børsnotere
  kontr) o (l       V         // billetkontrol
  kontr) o (ller    %?O       //  priskontrolleret
  kontr) o (llør    ?o        //
-    sn) o (t       V         // snot
+    sn) o (t+      V         // snot
      h) otdog      VtdVg     //
     _h) o (t_      V         //
         or (l      O:        // orlov
@@ -7050,6 +7454,7 @@ noblesse_) oblige  _^_fr     // noblesse oblige
      @) on ($p_alt+++ '?on   // aktion, tyfon, person, mission
      &) on (n$p_alt '?o      // only one n - ræsonnement
     &c) on ($p_alt++ '?VN    // facon
+   &ff) on ($p_alt++ '?VN    // chiffon
     &t) on ($p_alt '?VN      // beton, futon
     &p) on ($p_alt++ '?VN    // tampon, kupon, pompon
    &if) on ($p_alt '?VN      // sifon
@@ -7063,68 +7468,71 @@ noblesse_) oblige  _^_fr     // noblesse oblige
      &) on (el$p_alt++ on    // rationel
 
 // exceptions to the -on rule (and other -on exception)
- stadi) on         Vn
-    ne) on         Vn
-     k) ong        VN
-     s) on (d      Vn        // sondere
-leksik) on         Vn
- liban) on         Vn        // Libanon
-     h) on (d      Vn        // Honduras, Honda
-    _m) on (te_    Vn        // Monte Carlo
-        on (dL04   Vn        // ondulere, pondus, gondol
-     p) on (t      Vn        // spontan, ponton
-   arg) on         Vn
-  dral) on         Vn
-   fre) on         Vn
-    dr) onn (ing   Vn
-triatl) on         =Vn
- duatl) on         =Vn
- embry) on         Vn
-dødvægtt) on       Vn
- redeb) on         Vn
-  gall) on         Vn
-   bis) on         Vn
-  gibb) on         Vn
-    sp) ond        Vnd'      // korrespondance, spondæ
-   kol) on (_      Vn
-   kol) onn        'Vn       // kolonne - only one n, stressed
-    gn) on         VN        // champignon, kompagnon, chignon
-_pavill) on        'VN
-pavill) on         VN
-   orl) on         Vn
-_maked) on         'on       // makedoner
-  perl) on         Vn
+ stadi) on (+      ?Vn
+    ne) on         ?Vn
+     k) ong        ?VN
+     s) on (d      ?Vn       // sondere
+leksik) on         ?Vn
+ liban) on         ?Vn       // Libanon
+     h) on (d      ?Vn       // Honduras, Honda
+    _m) on (te_    ?Vn       // Monte Carlo
+        on (dL04   ?Vn       // ondulere, pondus, gondol
+     p) on (t      ?Vn       // spontan, ponton
+   arg) on         ?Vn
+  dral) on         ?Vn
+   fre) on         ?Vn
+    dr) onn (ing   ?Vn
+triatl) on         =?Vn
+ duatl) on         =?Vn
+ embry) on         ?Vn
+dødvægtt) on       ?Vn
+ redeb) on         ?Vn
+  gall) on         ?Vn
+   bis) on         ?Vn
+  gibb) on         ?Vn
+    sp) ond        ?Vnd'     // korrespondance, spondæ
+   kol) on (_      ?Vn
+   kol) onn        '?Vn      // kolonne - only one n, stressed
+    gn) on         ?VN       // champignon, kompagnon, chignon
+_pavill) on        '?VN
+pavill) on         ?VN
+   orl) on         ?Vn
+_maked) on         '?on      // makedoner
+  perl) on         ?Vn
   _sal) on         'VN
-   sal) on         VN
-   tal) on         VN
-  _sæs) on         'VN
-   sæs) on         VN        // jagtsæson
-  tefl) on         Vn
-     t) on (_      Vn        // ton, kiloton
-   fot) on         'on       // stressed
- marat) on         Vn        // maratonløb
-    br) on         VN        // bronze, bronkitis
-  kart) on         'VN       // mælkekarton
-     t) on (ic     Vn        //
-     t) on (s_     Vn        // tons
-     t) on (sv     Vn        // tonsvis
- megat) on         Vn        //
-   alf) on (s      'VN       // alfons
-     f) ond        Vnd       //
- _ball) on         'VN
-  perr) on         'VN       //
-  alis) on         Vn        // name
-robins) on         Vn        // name
-     m) onty       Vnti      // name
-     b) on (_      VN        // kassebon
-     b) on (en_    VN        // kassebonen
-  karb) on         'VN       // stressed
-  karb) on (at     on        // lituimkarbonat
-     b) onjour     VNZ'ur    //
-     b) onbon      VNbVn     //
-        on (tol    Vn        // ontologi
- monot) on         'on       // monotont
- monot) on (i      on'       // monotoni
+   sal) on         ?VN
+   tal) on         ?VN
+  _sæs) on         '?VN
+   sæs) on         ?VN       // jagtsæson
+  tefl) on         ?Vn
+     t) on (_      ?Vn       // ton, kiloton
+   fot) on         '?on      // stressed
+ marat) on         ?Vn       // maratonløb
+    br) on         ?VN       // bronze, bronkitis
+  kart) on         '?VN      // mælkekarton
+     t) on (ic     ?Vn       //
+     t) on (s_     ?Vn       // tons
+     t) on (sv     ?Vn       // tonsvis
+ megat) on         ?Vn       //
+   alf) on (s      '?VN      // alfons
+     f) ond        ?Vnd      //
+ _ball) on         '?VN
+  perr) on         '?VN      //
+  alis) on         ?Vn       // name
+robins) on         ?Vn       // name
+     m) onty       ?Vnt?i    // name
+     b) on (_      ?VN       // kassebon
+     b) on (en_    ?VN       // kassebonen
+  karb) on         '?VN      // stressed
+  karb) on (at     ?on       // lituimkarbonat
+     b) onjour     ?VNZ'ur   //
+     b) onbon      ?VNb?Vn   //
+        on (tol    ?Vn       // ontologi
+ monot) on         '?on      // monotont
+ monot) on (i      ?on'      // monotoni
+
+.group ór
+        ór         ?or       // fór TEST
 
 .group or
 
@@ -7170,11 +7578,13 @@ helsingf) or (s    'V        // stressed
     _h) ormon      Om'on     //
      n) or (m      O         // normal
     st) or (m      O         //
-     b) or (t      O:        // bortforklare
+     b) or (tC     O:        // bortforklare
+     b) or (te     O
+     b) or (C_     O:        // bort
      p) or (t      Or        // port
    imp) or (te     O:        // importere
    imp) or (t_     'O        // import - stressed
-   _ab) or         'O:d      // stressed
+   _ab) or (t      'O:       // stressed
         or (al     oR        // oral
   _esk) or (te     'V:       // eskorte
     _n) or (d      or        // nord, nordisk
@@ -7186,7 +7596,7 @@ helsingf) or (s    'V        // stressed
      s) or (te     or        // sorte
    rep) or (ter    'V        // stressed o
      s) or (tA     O         // sortiment
-_transp) or (t_    'O:       // stressed - transport
+_transp) or (t     'O:       // stressed - transport, transportmiddel
      n) orth       V:T       //
   rekt) or         V         // rektorforening
 
@@ -7197,30 +7607,30 @@ _transp) or (t_    'O:       // stressed - transport
      k) ord (el    Vrd       // kordel
      v) ord (e     Vrd       // helliget vorde dit navn
      h) ord (e     O:d       //
-     b) ordeaux    ORd'o     //
+     b) ordeaux    ORd'?o    //
   conc) ord (e     'V:d      // Concorde
      g) ord (on    V:d       // name
-     n) ordisk     ordisg    //
+     n) ordisk     ?ord?isg  //
     _l) ord (_     V:d       //
-    _l) ord (er_   Vrd       //
+    _l) ord (er_   V:d       //
   _akk) ord        'V:?d     // stressed
-    hv) ord (an    Vd        // hvordan
-     m) ord (er    ord       // morder
-     m) ord (et    oR        // mordet
+    hv) ord (an    ?Vd       // hvordan
+     m) ord (er    ?ord      // morder
+     m) ord (et    =oR       // mordet
      f) ord (+     V:d       // Fordbil
-     f) ord (æ     Vd'       // fordærve
-     f) ord (ø     Vd'       // fordømme
-     v) ord (i     'Vrd      // gernvordighed
-        ord (en+   Od        // orden, ordensmagt
-     n) orden      OVn       // Norden - silent d
-     b) orde (nde  orE       //
-        orde (ne+  ?oV       // ordene, bordene
-        ord (enen+ O:d       // ordenen
-     t) ord (enen+ ord       // tordenen
-    _t) ord (++    ord       // torden, tordne
-     j) ord (en    oV        // fjorden jorden
-     j) ord (an    oRd       // Jordan
-     j) ord (i     oRd       // jordisk
+     f) ord (æ     ?Vd'      // fordærve
+     f) ord (ø     ?Vd'      // fordømme
+     v) ord (i     '?Vrd     // gernvordighed
+        ord (en+   ?Od       // orden, ordensmagt
+     n) orden      ?O?Vn     // Norden - silent d
+     b) orde (nde  ?or?E     //
+        orde (ne_+ ?oV       // ordene, bordene
+        ord (enen+ ?Od       // ordenen
+     t) ord (enen+ ?ord      // tordenen
+    _t) ord (++    ?ord      // torden, tordne
+     j) ord (en    ?o?V      // fjorden jorden
+     j) ord (an    ?oRd      // Jordan
+     j) ord (i     ?oRd      // jordisk
         ord (entlig+ 'O:d    // overordentlig - stressed
         ord (ne+   O:d       // ordne
         ord (nin   'O:d      // ordning, forordning
@@ -7234,7 +7644,7 @@ _transp) or (t_    'O:       // stressed - transport
      v) or (t      O:        // vorte
         ordonnans  Vrdon'&ns // ordonnans
         ordrup     ordr0b    // Ordrup - Danish town
-     b) ore        oV        // borerum
+     b) ore        oV_!      // borerum
      b) orer       oV
      m) orel       or'&#l    // morel
      _) orleans    V:lens    // New Orleans
@@ -7279,6 +7689,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (beho+  'O:       // forbehold
     _f) or (bered+ 'O:       // forberede
     _f) or (bil+   'O:       // forbillede
+    _f) or (klæde+ O:        // problem with verb
     _f) or (bjerg+ 'O:       // forbjerg
     _f) or (bogstav+ 'O:     // forbogstav
     _f) or (bud_+  'O:       // forbud
@@ -7289,6 +7700,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (danser+ 'O:      // fordanser
     _f) or (del_+  'O:       // fordel
     _f) or (delen_+ 'O:      // fordelen
+    _f) or (delene_+ 'O:     // fordelene
     _f) or (dom+   'O:       // fordom
     _f) or (dring+ 'O:       // fordring, fordringdfri
     _f) or (dæk_+  'O:       // fordæk
@@ -7340,7 +7752,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (hen+   'O:       // forhenværende
     _f) or (histo+ 'O:       // forhistorie, forhistorisk
     _f) or (hjul+  'O:       // forhjul, forhjulstrukken
-    _f) or (hold+  'O:       // forhold, forholdsvis
+    _f) or (hold+  'O        // forhold, forholdsvis
     _f) or (holde  %V        // forholde sig til
     _f) or (holdet+ 'O:      // forholdet
     _f) or (hud+   'O:       // forhud
@@ -7362,7 +7774,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (kæmper+ 'O:      // forkæmper
     _f) or (kærlighed 'O:    // forkærlighed
     _f) or (køb+   'O:       // forkøbet, forkøbsret
-    _f) or (kørselsret O     // forkørselsret
+    _f) or (kørselsret+ O    // forkørselsret
     _f) or (lag+   'O:       // forlag
     _f) or (lags+  'O:       // forlagsret
     _f) or (land+  'O:       // forland
@@ -7390,7 +7802,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (meri++ V         // formering
     _f) or (mle+   'O:       // formlen
     _f) or (melig+ 'O:       // formelig
-    _f) ormer (_+  'O::mV    // former - problem with "formér"
+    _f) ormer (_+  'O::mV_!  // former - problem with "formér"
     _f) or (mfast+ 'O::      // formfast
     _f) or (mfri+  'O::      // formfri
     _f) or (fuldendt+ 'O::   // formfuldendt
@@ -7486,7 +7898,7 @@ _transp) or (t_    'O:       // stressed - transport
     _f) or (svars+ 'O:       // forsvarschef
     _f) or (sæt+   'O:       // forsæt
     _f) or (så_+   'O:       // forså
-    _f) ortaler+   'O:t&lV   // fortaler
+    _f) ortaler (+ 'O:t?&l?V // fortaler
     _f) or (tand+  'O:       // fortand
     _f) or (tands+ 'O:       // fortands
     _f) or (tænder+ 'O:      // fortænder
@@ -7526,13 +7938,13 @@ _transp) or (t_    'O:       // stressed - transport
         p          p
         pp         p
     to) pp (ost    pp
-     _) på (P2     p'V       // prefix - påtage, påmontere
-     _) på (ske    p'O       // not a prefix - påske
-     _) på (lide   pV        // pålidelig
-     _) på (vis    pV        // påvist
-        på (fund   pV        // reklamepåfund
-        på (virk   pV        // miljøpåvirkning
-        på (læg    pV        // håndspålæggelse
+     _) på (P2     p'?V      // prefix - påtage, påmontere
+     _) på (ske    p'O:      // not a prefix - påske
+     _) på (lide   p?V       // pålidelig
+     _) på (vis    p?V       // påvist
+        på (fund   p?V       // reklamepåfund
+        på (virk   p?V       // miljøpåvirkning
+        på (læg    p?V       // håndspålæggelse
      &) p (_       p         // hjælp
         p (syk               // psykolog [s,ykol'o]
    sym) p (tom               // silent p
@@ -7609,41 +8021,42 @@ _transp) or (t_    'O:       // stressed - transport
         r          r
         rr         r
 // verb and noun ending
-        rre (_     3-V       // tørre, herre
-        rrer (_    3-V       // tørrer, herrer
-        rrer (ne_  3-V       // tørrerne, herrerne
-     A) re (_++    V_!       // hore, store - silent r
-     A) re (n_     3-V       // frisøren, fyren
-     A) re (ns_    3-V       // frisørens, fyrens
+        rre (_     3-?V      // tørre, herre
+        rrer (_    3-?V      // tørrer, herrer
+        rrer (ne_  3-?V      // tørrerne, herrerne
+     A) re (_++    ?V_!      // hore, store - silent r
+     A) re (n_     3-?V      // frisøren, fyren
+     A) re (ns_    3-?V      // frisørens, fyrens
      C) re (_      R?V       // after consonant: ad the r - sejre, venstre, ældre
     sy) re (nedsættende ?V   // syrenedsættende
+    li) re (@      ?V        // lirekasse
      C) re (st_    R?V       // taprest
      C) re (ste_   R?V       // tapreste
-   æld) re         RV        // forældreløs
-    dy) re         RV        // dyrefoder
-  mind) re (@      RV        // mindreværdig
-     y) re (@+     V         // myretue, dyrehold
-     A) res (_     Vs
-     C) rer (_++   rV        // beundrer
+   æld) re         R?V       // forældreløs
+    dy) re         R?V       // dyrefoder
+  mind) re (@      R?V       // mindreværdig
+     y) re (@+     ?V        // myretue, dyrehold
+     A) res (_     ?Vs
+     C) rer (_++   r?V       // beundrer
      @) rer (_$p_alt+++ ''rEr // stressed - operer
      @) rer (e_$p_alt+++ ''rE // stressed - operere, opererer
      @) rer (es_$p_alt+++ r''E // stressed - opereres
-     C) ret (_++   rVD       // ændret
+     C) ret (_++   r?VD      // ændret
     op) ret (++    r&#t
      A) rer (_++   V         // horer
-     A) ret (_++   3-VD      // horet, fyret
-     æ) ret (_+++  VD        // været
-     A) rerne (_++ Vn@-      // horerne
-     A) rerne (s_++ Vn@-     // horernes
-     A) rene (_    Vn@-      // hærene
-     A) rene (s_   Vn@-      // hærenes
+     A) ret (_++   3-?VD     // horet, fyret
+     æ) ret (_+++  ?VD       // været
+     A) rerne (_++ ?Vn@-     // horerne
+     A) rerne (s_++ ?Vn@-    // horernes
+     A) rene (_    ?Vn@-     // hærene
+     A) rene (s_   ?Vn@-     // hærenes
      æ) re (+      V         // ærefrygt, kæreste
 //     æ) re (C+     3-V       // væremåde, værelse
-  myld) re (@      V         // myldretid
-  stue) re (n      RE
-   lad) re (@      rV        // sladrehank
+  myld) re (@      ?V        // myldretid
+  stue) re (n      R?E
+   lad) re (@      r?V       // sladrehank
         re (tion++++ R@-     // diskretion
-   høj) re (@      rV        // højresving
+   høj) re (@      r?V       // højresving
 
 // "ret" exceptions	- not a verb or noun ending
   disk) ret (+     r'Et
@@ -7652,52 +8065,55 @@ _transp) or (t_    'O:       // stressed - transport
    sek) ret (_+    r'Et
    sek) ret (er+   r'Et
    sek) ret (et+   r'Et
-     _) ret (_++   r&#t      //
-  skue) ret (++    r&#t      //
- klage) ret (++    r&#t      //
-  købe) ret (++    r&#t      //
-skatte) ret (++    r&#t      //
-  lige) ret (++    r&#t      //
-  møde) ret (++    r&#t      //
-påtale) ret (++    r&#t      //
-  råde) ret (++    r&#t      //
- skole) ret (++    r&#t      //
-straffe) ret (++   r&#t      //
-sædvane) ret (++   r&#t      //
-  tale) ret (++    r&#t      //
-  veto) ret (++    r&#t      //
-borger) ret        r&#t      //
-  _ind) ret (++    r&#t      //
- regel) ret (++    r&#t      //
-   hen) ret (_     r&#t      //
+     _) ret (_++   r&#t
+  skue) ret (++    r&#t
+ klage) ret (++    r&#t
+  købe) ret (++    r&#t
+skatte) ret (++    r&#
+  lige) ret (++    r&#t
+  møde) ret (++    r&#t
+påtale) ret (++    r&#t
+  råde) ret (++    r&#t
+ skole) ret (++    r&#t
+straffe) ret (++   r&#t
+sædvane) ret (++   r&#t
+  tale) ret (++    r&#t
+  veto) ret (++    r&#t
+borger) ret        r&#t
+  _ind) ret (++    r&#t
+ regel) ret (++    r&#t
+   hen) ret (_     r&#t
   _ord) ret (++    r&#t      // ordret oversættelse
-menneske) ret (++  r&#t      //
- fiske) ret (++    r&#t      //
-   liv) ret (++    r&#t      //
-færdig) ret (++    r&#t      //
-stemme) ret (++    r&#t      //
-  arve) ret (++    r&#t      //
- bygge) ret (++    r&#t      //
- _laza) ret (++    '&#t      //
- bytte) ret (++    r&#t      //
-dagpenge) ret (++  r&#t      //
-   ene) ret (++    r&#t      //
-        rett (++++ r?&#t     // henrette, rettroende - only one t
+menneske) ret (++  r&#t
+ fiske) ret (++    r&#t
+   liv) ret (++    r&#t
+færdig) ret (++    r&#t
+stemme) ret (++    r&#t
+  arve) ret (++    r&#t
+ bygge) ret (++    r&#t
+ _laza) ret (++    '&#t
+ bytte) ret (++    r&#t
+dagpenge) ret (++  r&#t
+   ene) ret (++    r&#t
+        rett (+++++++ r?&#t  // henrette, rettroende - only one t
      s) ret (+++   r&#t      // rigsret, yndlingsret
-højeste) ret (++   &#t       //
-familie) ret (++   r&#t      //
-    by) ret (++    r&#t      //
- lands) ret (++    r&#t      //
+højeste) ret (++   &#t
+familie) ret (++   r&#t
+    by) ret (++    r&#t
+ lands) ret (++    r&#t
  marga) ret (++    &#t       // name
   naza) ret (++    &#t       // name
- under) ret (++    r&#t      //
-første) ret (++    r&#t      //
- gryde) ret (++    r&#t      //
- _tabu) ret (++    '&#t      //
+ under) ret (++    r&#t
+   kød) ret (++    r&#t
+første) ret (++    r&#t
+ gryde) ret (++    r&#t
+  _mad) ret (++    r&#t
+ _tabu) ret (++    'r?&#t
+ _tabu) rett (++   'r?&#t
      u) ret (_++   V-D       // gulduret
-ret_og_u) ret (+   r&#t      //
- gør_u) ret (++    r&#t      //
-gøre_u) ret (++    r&#t      //
+ret_og_u) ret (+   r&#t
+ gør_u) ret (++    r&#t
+gøre_u) ret (++    r&#t
 e_mig_u) ret (++   r&#t      // gjorde mig uret
 e_dig_u) ret (++   r&#t      // gjorde dig uret
 e_os_u) ret (++    r&#t      // gjorde os uret
@@ -7712,9 +8128,13 @@ gøre_u) ret (++    r&#t      // gøre uret
   en_u) ret (++    r&#t      // begå en uret
     _u) ret (_mod_++ r&#t    // begå uret mod
  dig_u) ret (++    r&#t      // har alle andre end dig uret
+ har_u) ret (++    r&#t
+have_u) ret (++    r&#t
 _ret_eller_u) ret (_++ r&#t
 
      _) rhode      RWwd      // Rhodes
+        rhodesia   R?od'?esj?&
+        rhode (si  Rod?e     // rhodesisk
         rheu (ma   RVj       // rheumatoid
         rickshaw   rekSV:    // rickshaw
         rickshawer rekSV:V   // rickshawer
@@ -7732,6 +8152,7 @@ _ret_eller_u) ret (_++ r&#t
         roger      rVdZV     // name
         russell    rVs@-l    // name
      _) robie      rVbi      // name
+        rhys       *i:s      // name
         resolution REsoluS'on //
      _) road (_    rWwd      //
         rugby      RVgbi     //
@@ -7739,7 +8160,8 @@ virtual_) reality  ri'&liti  //
         reagan     REg&n     // name
         rodney     rVdni     // name
         renoir     r@nw'A:   // name
-        r (K       r         // not followed by a vowel
+        r (K       3-        // not followed by a vowel
+   fje) rde        V         // fjerde - silent d
    hve) r          r         // hver
      b) r          3-        // bror
     se) r (_       r         // ser
@@ -7779,7 +8201,7 @@ virtual_) reality  ri'&liti  //
 //transpo) r (t                // transport
    au_) revoir     r@w'a:r   // au revoir
         rouge      ru:S      //
-        richie     RitSi     // name
+        richie     R?itSi    // name
         rajah      rAdZ&     //
  home_) run        RVn       //
         richelieu  riSlj'W   // name
@@ -7796,6 +8218,7 @@ virtual_) reality  ri'&liti  //
 .group s
         s          s
         ss         s
+   cha) ssis       s'?i      // chassisramme
         s (sh      s         // lysshow
         sc (e      s         // scene
         ssi (o     S         // depression
@@ -7850,36 +8273,38 @@ residen) s         s         //
 franci) sc (o      sk        // Francisco
      e) sc (obar   sk        // Spanish name
  port_) said       s&'id     // city in Egypt
-    @@) som        =sVm      // stress on previous syllable - opmærksom
+    @@) som        =s?Vm     // stress on previous syllable - opmærksom
+    @@) somm (e    =s?Vm     // only one m
         s (omkost+ s         // Sundhedsomkostninger
- kromo) som        s'om      // stressed
+ kromo) som        s'?om     // stressed
         s (A       s
         s (ie      s
         si (on     S         // changed from "s (ion S" - division
         s (j       s
         sch        S         // changed from [s(ch] - gullasch
+        sj (o      Sj        // sjov
   salg) s          s         // salgschef
         sh (erif   S         //
     su) sh (i      S         //
     ha) sh         S         //
    sma) sh         S         // smashe
         sch (ool   sk        //
-        sherman    SW:m&n    // Sherman kampvogn
+        sherman    SW:m?&n   // Sherman kampvogn
         schweiz    svaIts    //
         sioux      su:       // red indian
-    al) sace       's&s      // Alsace (French region)
-     _) sion       si:Vn     // Sion, Sions kirke
-     _) substitution substituS'on //
-        substitution substituSon //
+    al) sace       's?&s     // Alsace (French region)
+     _) sion       si:?Vn    // Sion, Sions kirke
+     _) substitution s?ubst?it?uS'?on //
+        substitution s?ubst?it?uS?on //
         shine      sjaIn@    //
-        saloon     s&l'u:n   //
+        saloon     s?&l'u:n  //
         skyline    skaIlaIn  //
-        slimline   slemlaIn  //
+        slimline   slImlaIn  //
         support    sOp'Vrd   //
-        sheik      SaIk      //
-        sicilien   sis'ili@n // - Italian island
-        scene      sen3      //
-        scener     senV      //
+        sheik      SAIk      //
+        sicilien   s?is'?ilj@-n // - Italian island
+        scene      sen@-     //
+        scener     sen?V     //
      i) scene (s   s'en@     // stressed 'e - iscenesætte
         speak      spi:k     // eSpeak
         siegfried  _^_DE     //
@@ -7926,6 +8351,7 @@ empire_) state (_  stEjt     //
         sig (_undskyld+ si   // eller sig undskyld
      _) sig (_mig  si        // sig mig engang
     e_) sig (_mig  saI       // nærme sig mig
+ _klø_) sig (_     saI       // klø sig i nakken
    et_) sig (_     saI       // avoid [si] vænnet sig
     e_) sig (_+    saI       // avoid [si] vænne sig, kaldte sig
  gøre_) sig (_det  saI       // gøre sig det besvær
@@ -8083,11 +8509,11 @@ kompromi) s        '         // stress added
 .group t
         t          t         // final t changed to d in ph_danish
         tt         t
-        tt (er     d         // atter
+//        tt (er     d         // atter
 //     C) t (er_     d         // kryster [kR'ysdV]
         t (en_     d         // femten - final ten: d@-n
         tt (en     d         // attentat, atten - final tten: d@-n
-    Ce) t (_       d         // final -et => [@-d] spærret - TEST
+//    Ce) t (_       d         // final -et => [@-d] spærret - TEST
      _) tj         tS        // tja, tjald, atju, tjek
      _) t (_       te:       // the letter T
      _) t (_shirt  t'i:%     // T-shirt
@@ -8099,13 +8525,13 @@ kompromi) s        '         // stress added
         twostep    tu:stEp   // dance
         toastmaster tOwstm,A:stV // toastmaster
      _) très (_    trE       // French (very)
-     _) terry      teri      // name
+     _) terry      t?E*i     // name
      e) tt (id     t|t       // ettiden
      e) tt (al     t|t       // ettal
         tt (øj     t|t       // ballettøjet
         teress (ant tr3s     // interessant
-   _in) teresse    tVR'&#s@- // interesse
-    in) teresser   tVR'&#sV  // interesser
+   _in) teresse    tVR'?&#s@- // interesse
+    in) teresser   tVR'?&#sV // interesser
     in) teresseret tr3s'eVD  // interesseret
     in) teresserer tr3s'eV   // interesserer
     in) teressere  tr3s'eV   // interessere
@@ -8137,14 +8563,14 @@ kompromi) s        '         // stress added
 world_) trade      trEjd     //
   the_) times      taIms     // newspaper
         tokyo      tVkjo     //
-        teak       ti:k      //
+     _) teak       ti:k
      _) taj (_mahal t&S      //
   jani) tsh (ar    S         //
-        thackery   T&k3ri    // name
+        thackery   T?&k@-rI  // name
      _) teach      ti:tS     // name
-        titanic    taIt'&nik // name
+        titanic    taIt'?&n?ik // name
         timeshare  taImSE:r  //
-        timothy    tem0Ti    // name
+        timothy    tIm0Ti    // name
      _) trevor     t*EvV     // name
      _) tucson     tu:sVn    // US city
         torquay    tO:ki     // name
@@ -8153,12 +8579,16 @@ world_) trade      trEjd     //
 
 // final -te: D@-
         te (_      d@-_!     // smerte, hjerte
+     t) te (_      @-_!      // lodrette TEST
    lyg) te (@      t@-       // lygtepæl
+   lyg) ter        d?V       // lygterne
    sor) te (@      d@-       // sorteper
    hel) te (@      d@-       // heltedåd
    tor) t (ere     t         // tortere
+ @komi) te         t?e       // trænerkomite
 
   enes) te (@      d@-       // tjenestepige
+  enes) ter (@     d?V       // tjenester
      _) te (_      te        // tea
    por) tefø (lje  t@-f'?W   // stressed ø
    _is) te (_      te        // ice tea
@@ -8239,7 +8669,7 @@ meningi) ti (s     =ti
      r) til (_     tel       // PP hertil, dertil
 
 .group u
-        u          u
+        u          ?u        // Default short u TEST
 
 // General rule: Normal vs. short (glottal) u
 // short u followed by double consonant
@@ -8248,78 +8678,85 @@ meningi) ti (s     =ti
     sk) u (L02%    ?0        // skuffe, skubbe
      f) u (L06%    ?O        // fuppede
      r) u (L06%    ?O        // siruppen
-     C) u (kk+     ?0        // sukker, lukker, stukket
+     C) u (kk+     ?O        // sukker, lukker, stukket
      k) u (kk+     ?u        // kukke
      C) u (gg      ?0        // hugge
  visel) u (lle     '?u
      l) u (der     ?u        // also spelled "ludder"
+     c) unningham  ?VnINh@-m // Cunningham
+     t) urkey      Wki       // Wild Turkey
+    sq) uaw        wO:
 
 // Short u. General rules?
-     r) u (mmy     ?V        // card game
-        u (ds      ?u        // pludselig
-    br) u (d       ?u        // brud, bruden - short
-    br) u (de_     u         // brude - long
-
-     b) ug (gjord  u:
      h) utton      ?Vt@n     // name
      b) unny       ?Vni      // name
+     s) u (per     ?u
+    kn) u (r       ?o        // knurhår
+
+// Long u
+     m) u (lig     u
+        u (Ce      u         // guderne
+     b) ug (gjord  u:
+        u (Cen_    ?u        // tunen TEST
 
 // General rule: l/d + u + f: O
    L03) u (f       ?O        // luft, duft
-
         u (se      u         // muse, huse
-        u (set     ?u        // huset - "hus" made short by ph_danish
+
+        u (set     ?u        // huset
 
         ur (gt     o3-       // spurgt
-        ure (_     u3-V      // ure, mure
-        urer (_    u3-V      // ure, murer
+        ure (_     u3-?V     // ure, mure
+        urer (_    u3-?V     // ure, murer
+    _k) urer       uR'Er     // stressed
 
 // general rule: [O] after consonant followed by k/g
      C) u (L01t    ?O        // frugt, fugt, lugt, lugte
-     j) u (L01L04  u         // Jugoslavien
-    gl) u (kose    y         //
-     C) u (L01L11  u         // halleluja
-//    tr) u (ktL04   u         // struktur
+     j) u (L01L04  ?u        // Jugoslavien
+    gl) u (kose    ?y        //
+     C) u (L01L11  ?u        // halleluja
      C) u (ktL04   u         // konduktør, struktur
-     C) u (L01e+   O         // lunge
-     t) ucker      VkV       // name
+     C) u (L01e+   ?O        // lunge
+     t) ucker      ?Vk?V     // name
      h) u (je+     u         //
-     p) u (ck+     u         //
+     p) u (ck+     ?u        //
     br) u (g       u         //
-     r) u (g       u         // rug, rugbrød
-     l) ugaf       lOg'&     //
-     k) u (k       u         //
-     b) u (gse     u         // bugsere
-    gl) u (g       u         // glugger, glughul
+     r) u (g       ?u        // rug, rugbrød
+     l) ugaf       l?Og'?&   //
+     k) u (k       ?u        //
+     b) u (gse     ?u        // bugsere
+    gl) u (g       ?u        // glugger, glughul
   røgl) u (gt      ?O        //
-    fn) u (g       u         // snefnug
-        u (gl+     u         // fuglene, uglerne
+    fn) u (g       ?u        // snefnug
+        u (gl+     ?u        // fuglene, uglerne
     br) u (gt      ?O        //
-    sl) ug         u         // slugt, sluge - silent g
+    sl) ug         ?u        // slugt, sluge - silent g
      s) u (g       u         // sugerør, suggestiv
      l) u (k       ?O        // sluk, pluk, lukke, fluks
-     l) u (krL11   u         // lukrativ
+     l) u (krL11   ?u        // lukrativ
         u (ks      ?0        // juks, buks
-     l) ukaf       Og'&      // sygelukaf
+     l) ukaf       ?Og'&     // sygelukaf
      p) urple      W:p-@-l   // Purple Heart
-     d) u (dley    V         // name
-        ulster     VlstV     // name
+     d) u (dley    ?V        // name
+        ulster     ?Vlst?V   // name
+    sv) u (lst+    ?u        // svulster
 
 // general rule: [0] after l/d followed by ns
    L03) u (ns      ?0        //	luns, dunst
 
 // general rule: followed by ng/nk: [O]
-        u (ng++    O         // lunge, unge, hungre
-        u (nk      O         // sunket, prunk
-     j) u (nktur++ O         //
-    sp) u (nde     O         // spundet
-     j) u (nk      V         // junkaktie
-   hal) u (nk      'O        // stressed
-    _f) u (nk      V         // funkmusik
-     f) unk (tion  0N        // funktionsfejl
-    _p) u (nk      V         // punker
-   L06) u (nkt     O         // punkt
-     h) un (ge++   ?un       // hunged, hungepard
+        u (ng++    ?O        // lunge, unge, hungre
+        u (nk      ?O        // sunket, prunk
+     j) u (nktur++ ?O        //
+    sp) u (nde     ?O        // spundet
+     j) u (nk      ?V        // junkaktie
+   hal) u (nk      '?O       // stressed
+    _f) u (nk      ?V        // funkmusik
+     f) unk (tion  ?0N       // funktionsfejl
+    _p) u (nk      ?V        // punker
+   L06) u (nkt     ?O        // punkt
+     h) un (gepard++ ?un
+     h) un (ged    ?un
 
 // general rule: [O] followed by nd
         u (nd+     ?O        // grund, rund,  underligt, undtage
@@ -8329,24 +8766,24 @@ meningi) ti (s     =ti
    rab) und (us    '?Ond     // stressed
 
 // general rule: Consonant + r + u + p/b = [O]
-    Cr) u (L06     O         // broad general rule - skrub
-     r) u (L06     O         // sirup, rup
-     r) u (f       O         // rufferi
+    Cr) u (L06     ?O        // broad general rule - skrub
+     r) u (L06     ?O        // sirup, rup
+     r) u (f       ?O        // rufferi
      r) u (L06L04  u         // rupi
     tr) u (L06     u         // strube, trup
-    gr) u (L06     u         // gruble
-   skr) u (ple     u         // skrupler
-   skr) u (pel     u         // skrupelløs
-   abr) u (pt      'u        // abrupt
-     m) u (L01     0         // mug, mukke
-     m) ug (_ud    u         //
+    gr) u (L06     ?u        // gruble
+   skr) u (ple     ?u        // skrupler
+   skr) u (pel     ?u        // skrupelløs
+   abr) u (pt      '?u       // abrupt
+     m) u (L01     ?0        // mug, mukke
+     m) ug (_ud    ?u        //
      m) ug (e_ud   u:        //
-    sm) ug         uw        // i smug, smugkigge
+    sm) ug         ?uw       // i smug, smugkigge
 
 // generak rule: b/d + u + k:_ O
-     b) u (k       O         // bukser, buk, duk
-     d) u (k       O         // duk, dukke, duks
-     p) u (kl      O         // pukle, puklet
+     b) u (k       ?O        // bukser, buk, duk
+     d) u (k       ?O        // duk, dukke, duks
+     p) u (kl      ?O        // pukle, puklet
      p) u (kke     ?O        // pukkel
 
 // general rule: m/n + u + rre: [O]
@@ -8365,27 +8802,31 @@ meningi) ti (s     =ti
      _) u (nd+     ?O        // underfuld, undtage
      _) u (ng+     ?O        // ungdommelig
         u (gle+    u         // ugle
-        u (ld+     u         // uld
-        u (lv+     ?u        // ulvene
-     _) ubeset (_  ubesed    //
+        u (ld+     ?u        // uld
+        u (lve+    ?u        // ulvene
+     _) ubeset (_  ub?es?ed  //
     _p) u (b_      ?V        //
      p) u (bb      ?V        // pubben, pubber
         u (hyre+   u:
         u (enig+   u'        //
-        uformel    ufOm'el   //
+        uformel    ufOm'?El  //
         u (ltima   ?u        // ultimatum
         u (ltra    ?u        //  ultraviolet
         u (defra+  ?u        //
         u (dgrundelig+ ?u    //
         u (imodståelig ?u    //
+        u (middel  ?u        // umiddelbart
         u (surp    ?u        // usurpator
         u (ni++    ?u        // uniform, universitet
      t) u (ning+   ju        //
-     t) u (ne      ju        //
+     t) u (ne_     ju        // tune a car
+     t) u (ner_    ju
+     t) u (nes_    ju
   prod) u (ceren   ju        //
    _st) u (art     ju        // name
      g) u (den+    ?u        // u is shorter in "guden" than in "gud" (glottal stop)
-        u (ge++    u         // ugerne, sluge
+        ug (e++    u         // ugerne, sluge - silent g
+        uge (nert+ ''uSe
         uger (+    uV        // sluger, slugere
      s) uge (rør   u3        // silent g
      _) u (r++     ?u        // ur, urrem, uret
@@ -8431,9 +8872,10 @@ meningi) ti (s     =ti
      @) tourn)     ure       y:V
 
 // 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
+    &t) ur ($p_alt+ ''ur     // struktur
+//	    &t) ur (en$p_alt+ ''uV     // strukturens
+    &t) ur (el$p_alt+ ur'    // strukturel
+    &d) ur ($p_alt+ ''ur     // trubadur
  _komf) ur         'ur       //
 
 // final -ut in da_list - stressed u
@@ -8537,7 +8979,8 @@ stand_) u (p       V         // stand-up-komiker
   vind) ue         u         //
   vind) uer        uV        //
   vind) uet        u@-D      //
-        ue (_      u:u       // due, statue
+        ue (_      u:        // due, statue
+        uer (_     u?V
      d) ue (lig    u@-
    skr) ue (C      u:        // skruenøgle TEST
   fond) ue         'y        // ostefondue
@@ -8567,18 +9010,20 @@ centrif) u (g      'u        // stressed
   _deb) ut         'y        // stressed, silent t
 vestib) u (l       'y        // vestibule
     fl) ute        yt        //
-     @) deb)       ut        y         // unstressed after a syllable, silernt t
-     b) u (tik+    u         // modebutik
-     p) u (ré      y         //
-    _p) u (rere    y         //
-     d) u (chesse  y         //
-tomatp) ure        yre       //
-tomatp) uré        yre       //
+   deb) ut         y         // unstressed after a syllable, silent t
+   deb) u (tere    y         // debutere
+     b) u (tik+    ?u        // modebutik
+     p) u (ré      ?y        //
+    _p) u (rere    ?y        //
+     d) u (chesse  ?y        //
+tomatp) ure        ?yre      //
+tomatp) uré        ?yre      //
      j) u (ice     u:        // juice
-  L01n) u (L06     O         // knubs, gnubbe, snuppe
-    _k) u (n_      0         // kun
-    kl) u (ns      0         //
-     k) u (l       O         // kulmine
+  L01n) u (L06     ?O        // knubs, gnubbe, snuppe
+    _k) u (n_      ?0        // kun
+    kl) u (ns      ?0        //
+     k) u (l       ?O        // kulmine
+     k) u (llet    ?O
      k) u (ld      u         // skuldre, kuld
      k) u (ller    ?u        //
     sk) u (lp      u         // skulptur
@@ -8589,52 +9034,52 @@ tomatp) uré        yre       //
 hovedk) u (ls      u         //
      k) u (lde     ?u        // kulde
     _k) u (llede   ?u        // den kullede greve
-     k) u (ldio    O         // kuldioxid
-     k) u (lilt    O         // kulilte
-   omk) u (ld      'u        //
+     k) u (ldio    ?O        // kuldioxid
+     k) u (lilt    ?O        // kulilte
+   omk) u (ld      '?u       //
    imp) u (ls      '?u       // stressed
    imp) u (lsiv    =u        //
     sk) u (ll      ?u        // skulle
      k) u (Ce      u         // skule, kule
-    sk) u (te      u         // omdiskuteret
-   L08) u (f       O         // skuffe
-    st) u (b+      u         // skægstubbe
-    sk) u (b       O         // skub, skubbe
-    sl) u (b       O         // slubbert
-     k) u (lt      u         // kultur
-     d) u (kti     u         // obduktion
-    ll) u (p       V         // bryllup
-    tr) u (ff      O         // truffet
-     t) u (nn      0         // tunnel
-     m) u (nt      0         // munter
-    sn) u (L06     0         // snup
-    sn) u (ble     u         //
-     s) u (L06%    0         // suppe
-     s) u (bli     %u        // sublim
-     s) u (pra     u         // latin
-     s) u (pple    u         // suppleant
-     s) u (bs      u         // substitut
+    sk) u (te      ?u        // omdiskuteret
+   L08) u (f       ?O        // skuffe
+    st) u (b+      ?u        // skægstubbe
+    sk) u (b       ?O        // skub, skubbe
+    sl) u (b       ?O        // slubbert
+     k) u (lt      ?u        // kultur
+     d) u (kti     ?u        // obduktion
+    ll) u (p       ?V        // bryllup
+    tr) u (ff      ?O        // truffet
+     t) u (nn      ?0        // tunnel
+     m) u (nt      ?0        // munter
+    sn) u (L06     ?0        // snup
+    sn) u (ble     ?u        //
+     s) u (L06%    ?0        // suppe
+     s) u (bli     %?u       // sublim
+     s) u (pra     ?u        // latin
+     s) u (pple    ?u        // suppleant
+     s) u (bs      ?u        // substitut
      h) u (n+      ?u        // hunkøn, hund
-     h) u (nter    V         //
- headh) u (nt      V         //
+     h) u (nter    ?V        //
+ headh) u (nt      ?V        //
      h) u (rtig    ?O        // hurtigtog
-     s) u (k       0         // suk, sukker
-    sl) u (pp      ?O        // sluppet, løssluppen
+     s) u (k       ?0        // suk, sukker
+    sl) u (p       ?O        // sluppet, løssluppen
     sv) u (pp      ?O        // svuppe
      v) u (gg      ?O        // vugge
-     f) u (L06     0         // fup
+     f) u (L06     ?0        // fup
 
-     h) u (l       O         // hul - noun
-     h) u (lkort   O         //
+     h) u (l       ?O        // hul - noun
+     h) u (lkort   ?O        //
      h) u (lL11    u         // hula-hula
- smuth) u (l       O         // smuthulmager
-mudderh) u (l      O         //
-     h) u (lC      u         // hulke, hulbrystet
-     h) u (lsøm    O         //
- knaph) u (l       O         // knaphulsblomst
-     h) u (ltang   O         //
-     h) u (lske    O         //
-     h) u (lbånd   O         //
+ smuth) u (l       ?O        // smuthulmager
+mudderh) u (l      ?O        //
+     h) u (lC      ?u        // hulke, hulbrystet
+     h) u (lsøm    ?O        //
+ knaph) u (l       ?O        // knaphulsblomst
+     h) u (ltang   ?O        //
+     h) u (lske    ?O        //
+     h) u (lbånd   ?O        //
      h) u (ljern   O         //
      h) u (lle     ?O        // hulledame
 
@@ -8656,83 +9101,83 @@ mudderh) u (l      O         //
  vil_g) uid (e     aId       // vil guide
    aug) u (st      'O        // stressed - the month - the name is in da_list with $capital
      g) u (f       ?O        // guffe
-     g) ulv        Ol        // gulv - silent v
-     g) ulv (e     Olv       // gulve
+     g) ulv        ?Ol       // gulv - silent v
+     g) ulv (e     ?Olv      // gulve
     sm) u (C       ?O        // smukkere, smurt
-  rasm) u (s       u         // Rasmus - name
-     m) u (sik     u         // middagsmusik
+  rasm) u (s       ?u        // Rasmus - name
+     m) u (sik     ?u        // middagsmusik
   sL09) u (t       ?u        // snut, smut
   sL09) u (tt      ?u        // smutte
   sL09) u (CL11    u         // snude
     sm) u (L03+    u         // smule, smuld, smuds
-     l) u (krere   u         //
+     l) u (krere   ?u        //
    L09) u (f       ?O        // fornuft
    L09) u (ff      ?O        // muffe
-     m) uffin      VfIn      //
-     m) u (ft      u         // mufti
-   kam) u (flage   u         //
-   val) u (ta      'u        // stressed
-  _der) u (d       'u        // stressed - derud
-_instr) u (ks      'u        // stressed
-  valp) u (rgis    'u        // stressed - valpurgisnat
+     m) uffin      ?VfIn     //
+     m) u (ft      ?u        // mufti
+   kam) u (flage   ?u        //
+   val) u (ta      '?u       // stressed
+  _der) u (d       '?u       // stressed - derud
+_instr) u (ks      '?u       // stressed
+  valp) u (rgis    '?u       // stressed - valpurgisnat
     gr) u (pp      ?u        // gruppe
      r) u (m       ?O
     tr) u (man     u         // name
    _st) urgis      WdZis     // name
-    _m) u (llin    V         // name
+    _m) u (llin    ?V        // name
   rayb) urn        W:n       // name
-     r) u (me      u         //  musikinstrument
-     s) u (cc      y
-     s) uccessor   uks'EsV   //
-     s) uccessorer uksEs'oV  //
-     b) u (dget    y
-     b) ureau      yR'o
-  _men) u          'y
-   men) u          y         // festmenu
-   men) uet        u'Et      //
+     r) u (me      ?u        //  musikinstrument
+     s) u (cc      ?y
+     s) uccessor   ?uks'?Es?V //
+     s) uccessorer ?uks?Es'o?V //
+     b) u (dget    ?y
+     b) ureau      ?yR'?o
+  _men) u          '?y
+   men) u          ?y        // festmenu
+   men) uet        ?u'?Et    //
   parf) u (me      'y        //
-    _b) u (ste_    y         //
+    _b) u (ste_    ?y        //
 proced) u (re      'y
-proven) u          'y
-  _nat) u (rel_+   y'        // naturel
+proven) u          '?y
+  _nat) u (rel_+   ?y'       // naturel
  _kost) ume        'ym@-     //
   kost) ume        ym@-      //
-     n) u (ance    y         //
-     s) u (rrel    Y         // surreel
-     s) u (rrea    y         // surrrealistisk
-   ref) u (ser     y         // refusere (about horse)
-   res) ume        ym'e      //
-   res) umé        ym'e      //
-     g) ui (tar    i         // guitar
- resso) u (rs      'u
+     n) u (ance    ?y        //
+     s) u (rrel    YY        // surreel
+     s) u (rrea    ?y        // surrrealistisk
+   ref) u (ser     ?y        // refusere (about horse)
+   res) ume        ?ym'?e    //
+   res) umé        ?ym'?e    //
+     g) ui (tar    ?i        // guitar
+ resso) u (rs      '?u
   comp) u (ter     ju
-   res) u (rs      'u        // resurse (ressource)
-     g) ueri (lla  ER'i      // guerilla
-     b) u (nker    0         // bunker - minor problem: golf expression: [BVnkV]
-    br) uxelles    ys'El     // Bruxelles
-     b) udd (y     Vd        // name
-     l) ucienne    ysj'En    // name
+   res) u (rs      '?u       // resurse (ressource)
+     g) uerill (a  ?eR'?ilj  // guerilla
+     b) u (nker    ?0        // bunker - minor problem: golf expression: [BVnkV]
+    br) uxelles    ?ys'El    // Bruxelles
+     b) udd (y     ?Vd       // name
+     l) ucienne    ?ysj'En   // name
      g) uez        =es       // Rodriguez
-        united     jun'aIted
+        united     j?un'aIted
      h) urdle      Wd@-l     //
      h) urdlen     Wdl@-n    //
         utah       'ju:tA    // US state
      t) u (tor     ju        //
-     b) u (tler    V         //
+     b) u (tler    ?V        //
      b) ur (ma     W:        //
-  tamb) ur         ur        // tamburmajor
+  tamb) ur         ?ur       // tamburmajor
      t) urde       u:V
      b) ur (mes    W         // burmesisk
-     b) u (ck      V         // name
+     b) u (ck      ?V        // name
     _b) ur (t      W:        // name
      p) ur (ser    W:        //
-    tr) u (ck      V         //
-     d) u (bbe     V         //
-     d) u (bbing   V         //
-     l) u (bbock   V         //
-    _d) u (stin    V         // name
- _kibb) u (tz      'u        // stressed
-     p) u (blic    V         // public relation
+    tr) u (ck      ?V        //
+     d) u (bbe     ?V        //
+     d) u (bbing   ?V        //
+     l) u (bbock   ?V        //
+    _d) u (stin    ?V        // name
+ _kibb) u (tz      '?u       // stressed
+     p) u (blic    ?V        // public relation
 
 .group v
         v          v
@@ -8751,14 +9196,16 @@ proven) u          'y
      _) von (_     fVn       // von in German names
         v (an_gogh f         //
         virginia   v@dZ'iNj& //
+        viscount   vaIkAwnt
      a) v (n       w         // [u] changed to [w] navn, navnebroder
    sla) v (+       v         // Jugoslavien
     la) v (ement   @-        // lavement
         ve (lse    v@-       // øvelse, stavelse, fornøjelse
      ø) v (en      w         // røven
+    lø) v (e       v
     dø) v          w         // døvstum
     le) v (_       w         // elev
-   ble) v (et      :         // long e - could also be w  [ˈblewəð]
+   ble) v (et                // silent v - could also be w  [ˈblewəð]
     mø) v (e+      w_!       // møve
     &A) v (_A      v         // gav ordre
     ti) v (A       v         // fiktive
@@ -8838,6 +9285,7 @@ udeble) v          w         //
 
         x          gs
         xc         gs        // excellence
+        xch        gsS       // sexchikane
      _) x          s
      n) x          s
     _o) xyde (re   gsid'e    // oxydere
@@ -8852,7 +9300,7 @@ udeble) v          w         //
 
 .group y
 
-        y          y
+        y          ?y        // Default short y TEST
         y (u       j         // Yussef
 
 // Short y followed by two consonants
@@ -8866,36 +9314,38 @@ udeble) v          w         //
      C) y (ll      ?y        // gylle
    L08) y (rr      ?y        /forstyrrelsen
 
-// short y
-    Cl) y          ?y        // fly, bly TEST
      s) y (nes     ?y
-     s) y (l       ?y        // sylen
-     l) y (d       ?y
-     l) y (de_     y
-     l) y (den_    ?y
+    fl) y          ?y        // fly, flyet
+
+// Long y
+     C) y (Ce      y         // lyde, skydetelt
+     C) y (e       y         // nye
+     C) y (Ci      y         // lydig
+     l) y (denergi ?y
+
+// short y
    bet) y (d       ?y        // betyde
-        y (der     ?y        // skyder - short y
-   geb) y (r       ?y
+    ps) y (k       ?y        // psyke, psykolog
 
 // general rule: [W] before (some) velars
-        y (nk+     W         // ynk, ynkelig, klynke
+        y (nk+     ?W        // ynk, ynkelig, klynke
      m) y (kk++    ?W        // smykke
      l) y (kk++    ?W        // lykke
     st) y (kk++    ?W        // stykke
      l) y (kø      ?W        // lykønske
-     l) y (ksalig  W         //
+     l) y (ksalig  ?W        //
      l) y (n_      ?y        // lyn, kuglelyn
     _l) y (n+      ?y        // lynkarriere, lynkursus
-     l) yng (limt  yng       //
-     l) yng        WN        //
-    sm) y (kn      W         // udsmykning
-     l) y (gt      W         // lygte, flygte
-     r) y (ge+     y         // ryge, ryger
-    pr) ygelknabe  ygElknAb@- //
-    st) y (k+      W         // stykke
-   ydm) yg         y         //
-        yng        WN        // yngre, dynge, tynge, synge
-        yng (a     Wng       // laryngal
+     l) yng (limt  ?yng      //
+     l) yng        ?WN       //
+    sm) y (kn      ?W        // udsmykning
+     l) y (gt      ?W        // lygte, flygte
+//     r) y (ge+     y         // ryge, ryger
+    pr) ygelknabe  yg?ElknAb@- //
+    st) y (k+      ?W        // stykke
+   ydm) yg         ?y        //
+        yng        ?WN       // yngre, dynge, tynge, synge
+        yng (a     ?Wng      // laryngal
     _n) y (n_      ?W        // "nyn en melodi"
      n) y (nne     ?W        //
 
@@ -8994,7 +9444,7 @@ virkel) y (st      W         //
     fl) y (tn      W         // flytning
      m) y (nte     'W        // mynte, pebermynte (stressed)
    afl) y (tt      ?y        // aflytning
-   L08) y (t+      ?W        // spyt, skyts, beskytte
+   L08) y (t++     ?W        // spyt, skyts, beskytte
     sk) y (ti      y         // Skytien, skytisk
     sk) y (ter     y         // skyter
      s) yv         yw        //
@@ -9028,7 +9478,8 @@ _molek) y (le      'y        // stressed
      s) y (nkroc   W         //  synkrocyklotron
      s) y (tten+   ?W        //
     fl) y (t_      W         // flyt
-    fl) y (tt      ?W        // flytte
+    fl) y (tte     ?W        // flytte
+ frafl) y (t       ?W
    afl) y (t       y         //
     fl) y (tbar    W         //
  whisk) y          i         // whisky
@@ -9046,7 +9497,7 @@ _molek) y (le      'y        // stressed
      l) y (mC      ?W        // lymfe
      n) y (mf      ?W        // nymfe
      k) y (mK      ?W        // bekymring
-    sk) y (t       ?W        // skytte, skytsengel
+    sk) y (t+      ?W        // skytte, skytsengel
     st) y (mper    ?W        //
      d) y (L01t    ?W        // dygtig
      l) y (nch     ?W        // lynchstemning
@@ -9054,7 +9505,7 @@ _molek) y (le      'y        // stressed
         york       JV:k      //
         yankee     j&nki     //
         yale       jEjl/2    //
-        yorkshire  _jOkS@    //
+        yorkshire  _jO:kS@   //
         young      jVN       //
         yard       jRrd      //
         yuppie     jupi      //
@@ -9094,6 +9545,7 @@ trinit) y          i         // name
 _barnab) y         i         // name
   nanc) y          i         // name
 gregor) y          i         // name
+     w) y (n       I         // Maldwyn
     _l) yndon      endVn     // name
  penns) ylvania    elv'Ejnj& //
      t) yrone      aIr'Own   // name
@@ -9145,26 +9597,35 @@ _stereot) y (p     'y        // stressed
 
 .group æ
 
-        æ          E
+        æ          ?E        // Default short æ TEST
 
 // short æ followed by double consonant
         æ (C%+     ?E        // læsse
-        æ (CC      ?E        // hænder - nd=>n
+        æ (nd      ?E        // hænder - nd=>n
         æ (ble     E         // long E
+     @) æ (ble     E:
         æv (de     ?Ew       // hævde
         æ (gypt    E'        //
-        ærre       ?E3-V     // spærreballon
+        ærre@      ?E3-V     // spærreballon
   desv) ærre       'E3-V     // stressed
      r) æ (C%e+    ?&#       // brække, rædde, træffe - experimental
-     r) æ (CA      E:        // ræbe - experimental
+     r) æ (CA      E         // ræbe, kræsen
  kæled) æ (gge     'E        // stressed
 
+// Long æ
+        æ (Ce      E         // pæne
+
+// Short æ
+     l) æ (der     ?E
+
 // problem with "læste" long verb vs. short noun - "skomagerens læste"
 _han_l) æ (ste     E:
 _hun_l) æ (ste     E:
  _vi_l) æ (ste     E:
  _de_l) æ (ste     E:
 
+     k) æ (lne     E:
+
 // nouns ending with -ær in da_list - stressed last syllable
      &) ær ($p_alt ''Er      // elementær
 
@@ -9196,25 +9657,27 @@ _hun_l) æ (ste     E:
 // general rule E after tr
     tr) æ (+       ?E        // juletræ
     tr) æ (e       ?E        // træet
+    tr) æ (-       ?&#       // træ-fælder
 
     tr) æg (_      Ej        //
     tr) æg (e_     Ej        //
      r) æ (L02+    E         // TEST r + æ + labial - dræb, præparat
      r) æv (+      ?Ew       // ræv, kræv
      r) æ (L02e+   E         // dræbe
-    tr) æ (n+      E         // træning, træn
+    tr) æ (n+++    E         // træning, træn, træne
     dr) æ (n+      E         // dræning, dræn
-    tr) æ (ng+     ?&#       // trænge
+    tr) æ (ng+++   ?&#       // trænge
      r) æ (L02%    ?&#       // TEST r + æ + double labial - skræppe
      r) æ (L02t+   ?&#       // TEST r + æ + labial + t - dræbt, kræft
      r) æ (m       ?&#       // fugleskræmsel
     tr) æ (C+++    ?&#       // træværk, træhest
+  retr) æ (te+     E
     tr) æg (hed    Ej        //
      r) æ (d+      ?&#       // fortræd, ræd
 _portr) æ (t       '?&#      // stressed
 
 // general rule r + æ + consonant + e: E
-    tr) æ (Ce++    E         // træne, træde
+    tr) æ (Ce+++   E         // træne, træde
     rr) æ (Cer+    ?&#       // forræderi
     dr) æ (ber     E         //
   _mor) æ (ne+     'E        // stressed
@@ -9222,6 +9685,7 @@ _portr) æ (t       '?&#      // stressed
 
 // general rule r + æ + d + e: &#
      r) æ (de++    &#        // græde
+  _for) æ (de++    E         // foræde sig
 
 // final -æer: stressed æ
  _aram) æ (er      '?E
@@ -9250,7 +9714,7 @@ _pythagor) æ (er   '?E
      f) æ (re      'E:       // affære, atmosfære, sfære
    gev) ær         '?E3-     // gevær, geværet
   besv) ær (_      '?E3-     // besvær
-   afh) æ (ngig    'E:       // stressed
+   afh) æ (ngig    '?E       // stressed
  _omst) æ (nd      ''?E      // stressed - omstændighed
   _pal) æ          '?E       // stressed
 _porcel) æ (n      '?E       // stressed
@@ -9264,21 +9728,20 @@ _porcel) æ (n      '?E       // stressed
 _karant) æ (ne     'E        // stressed
 _jubil) æ          'E        // jubilæet
  galil) æ          'E        // Galilæa, galilæerne
-     t) æge        E:j@-     // tæge
+     C) æg (e      Ej        // tæge, kvæge
      t) æer        ?E3-      // tæer
-     C) ærge       E:r?u@-   // sværge, færge, værge
-     v) ærger      E:r?uV    // sværger
-        ævl        Eul       //
-majest) æ (t       'E        // stressed æ
-        ærinde     -n@-   // svinkeærinde
-        ærinder    -nV
+     C) ærg (e     E3-?u     // sværge, færge, værge
+        ævl        Eul
+majest) æ (t       '?E       // stressed æ
+        ærinde     ?&3-n@-   // svinkeærinde
+        ærinder    ?&3-n?V
     sj) æ (l       ?E        // sjæl
-    sj) æ (leC     E         // sjælefred
+    sj) æ (le      E         // sjælefred
     sj) æ (len     ?E        // sjælen, sjælens
 
 .group ø
 // røveren [V] faldt på røven [W#] og skød [?W] en møgkælling [Vj]
-        ø          W
+        ø          ?W        // Default short ø TEST
 
 // Short ø - double consonant
         ø (C%++    ?W        // tørre, fødder, rødder
@@ -9289,9 +9752,16 @@ majest) æ (t       'E        // stressed æ
         ø (dt      ?W        // mødtes
         ø (ns      ?W        // ønske
 
-// words with short ø
-   bel) ø (b       ?W
-     s) ø          ?W        // søfolk
+// words with long ø
+        ø (Ce      W         // øge, døje TEST
+        ø (Ci      W         // unødig TEST
+        ø (de      W         // jøde, møde, øde
+        ø (disk    W         // jødisk
+     r) ø (L09e    W         // skrøne
+    dr) ø (ne      W         // drøne
+   L08) ø (ge      W         // skøge
+    sk) ø (de      W
+     b) øh         W:        // bøhlandet
 
 _chauff) ø (r      '?W       // stressed in 'chauffør'
  _milj) ø          '?W       // stressed - miljø
@@ -9299,7 +9769,7 @@ _chauff) ø (r      '?W       // stressed in 'chauffør'
   _nev) ø          '?W       // stressed
    _am) ø (be      'W        // stressed
      h) ø (j       ?V
-        ø (je      V         // øje
+        ø (je+     V         // øje
         øre        W?V       // snørebånd, gøren
         ører (n    W?V       // ørerne
         ører (_    W?V       // kører
@@ -9307,20 +9777,19 @@ _chauff) ø (r      '?W       // stressed in 'chauffør'
      s) øre (dni   WrE       // søredningstjeneste
         øjer       Vj?V      // bøjer
         ø (jn      ?V        // øjne
-     l) øg         '?Vj      // løgn, løg
+     l) øg         ?Vj       // løgn, løg
+     b) øg         ?Wj
+     h) øg         ?Wj
     kl) øg (t      ?Wg       // kløgtig
     kl) ø (e_      W:
     gl) øgg        ?Wg       // gløgg
      g) øg (l      ?Vj       // gøgler
      l) ø (s       ?W
      C) ø (j       ?V        // fløj TEST
-//     C) ø (jC+     ?V        // søjle, bøjle, sprøjte
-//     t) ø (j       ?V
-//	 fl) ø (j ?V
  _hall) ø (j       '?V       // stressed
   burg) ø (js      '?V       // burgøjser, burgøjsisk - stressed
 oberstl) ø (jtnant '?V       // stressed
-   L09) ø (g+      V         // m => L09 (m + n) - møg, smøg, nøgen
+   L09) øg (+      ?Vj       // m => L09 (m + n) - møg, smøg, nøgen
      n) øg (tern   ?Wg       //
     sm) øg (_sig   Wj        // "katten smøg sig om benet"
     _n) ø (d@      'W        // nød- stressed - nødsituation
@@ -9328,24 +9797,23 @@ oberstl) ø (jtnant '?V       // stressed
      r) ø (d+      ?W        // brød
     fr) ø (+       ?W        // frø, frøer - short even if followed by [V]
      r) ø (L09     ?W#       // grøn, strøm
-     r) ø (L09e    W         // skrøne
     dr) ø (n       ?W        // drøn
-    dr) ø (ne      W         // drøne
      d) ø (d       ?W        // død
      d) ø (de      W         // døde
      d) ø (den     ?W        // døden
      r) ø (mer     ?W        // strømere
-   L08) ø (ge      W         // skøge
     sp) øg (en     ?Vj       //
     sp) øg (_      ?Vj       // spøg = joke
-     s) ø (g       ?W        // søgte
+     s) ø (gt++    ?W        // søgte
      s) øg (_      ?Wj       // forsøg
+     s) øg (e      Wj
+  fors) øg         ?Wj
     sp) ørg        ?Wr       // spørg
     sp) ørge       W3-V
     sp) ørger (_   W3-       //
     sp) ør (gs     Wr        // spørgsmål
      r) øg         ?W#j      // røg, strøg
-     r) ø (gte     W         // misrøgte
+     r) ø (gte     ?W        // misrøgte
      r) ø (gelse   W         //
    for) ø (g       W         // forøge
    for) øg (_      ?W        // forøg
@@ -9363,19 +9831,18 @@ hænger) ø (v       ?W#
     _r) ø (ven     ?W#       //
     dr) ø (vet     W         // bedrøvet
      k) ød         ?WD       // skød, kød
-    sk) ø (de      W
      _) øg (_      ?Wj       // 'øg' noun and verb
      d) øg (n      Vj
         øj+        V:j       // changet from [Oj]
-  velg) øre (nhed  'WV       // stressed ø
+  velg) øre (nhed  '?W?V     // stressed ø
   _man) ø (vre     '?W       // stressed
     im) ø (dekom   'W:       // imødekomme
-   syd) ø (st      'W        // stressed - sydøst
-  nord) ø (st      'W        // stressed - nordøst
+   syd) ø (st      '?W       // stressed - sydøst
+  nord) ø (st      '?W       // stressed - nordøst
 
 .group øs
 // (mostley French -eux/-euse) adjectives ending with -øs in da_list - stressed ø
-     &) øs ($p_alt 'Ws       // dubiøs
+     &) øs ($p_alt '?Ws      // dubiøs
 
 .group ør
 // (mostley French -eur) nouns ending with -ør - stressed ø - around 150 words
@@ -9385,18 +9852,21 @@ hænger) ø (v       ?W#
      &) ør (en$p_alt ''?W    // hønnøren, frisøren
 
 .group å
-        å          O         // changed from O:?
+        å          ?O        // Default short å TEST
 
         å (s       ?O        // lås, ås
-        å (d       ?O        // båd
+     b) å (d       ?O        // båd
         å (Ce      O         // måned
+        å (et_     O         // gået, nået
+        å (le      O:        // strålende
         år (@      O:        // dårlig, årsag
      @) år (_      ?O:       // skatteår
      _) år (_      O         // år
-     C) år (_      ?O:       // sår, kår, skår, får
+     C) år (_      ?O        // sår, kår, skår, får
         år (s      O:        // årstid
-     s) år (C      O:        // sårbar
-        åre        O:?O      // åre, årelang, båre, båren
+     s) år (C      ?O:       // sårbar
+    st) år (_      ?O        // forstår
+        åre        O%O       // åre, årelang, båre, båren
         året       O?OD      // året, håret
      n) å (et      ?O        // short glottal o
     @n) å (et      ?O        // opnået
@@ -9432,14 +9902,15 @@ uimodst) åe (lig   '?O       // stressed
      r) å (sejl    V         //
 
      g) ård        O:        // gårdmand, bondegård - silent d
-     g) årde       O:@-      //
+     g) årde       O:?V      //
         ården      O:Vn      // gården
      h) år         O         // hår, hård
      h) år (dt     O:
-     h) årde       O:
+     h) årde       OO
      h) årdest     O:@-st    //
      p) å (ske     O         // påske
      s) å          O         // så
+     s) åledes     ?VleD@-s
      s) å (h_      O:
      s) å (vel     V         //
      s) å (_snart  V         //
@@ -9466,7 +9937,7 @@ uimodst) å (elig   'O        // stressed
      g) å (tur     ?O        //
 
         å (nd      ?V        // hånd, ånd, bånd
-     l) å (r       ?V
+     l) år         ?O
      p) å (st      ?V        // påstand
    gåp) å (mod     '?O       // stressed
     sl) å (s       ?V        // slås
@@ -9474,6 +9945,7 @@ uimodst) å (elig   'O        // stressed
 tændingsl) å (s    ?O        //
     sl) å (brok    ?V        //
   ansl) å          ?O        // anslås
+  ansl) år         O
     sm) å (C@+     ?V        // småkage, småfolk, smålig
      m) å (de++    O         // fremgangsmåde
 spørgsm) å (l      ?O        // spørgsmålet
diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes
index 9f2b632b..86722dc8 100644
--- a/dictsource/dict_phonemes
+++ b/dictsource/dict_phonemes
@@ -58,7 +58,7 @@ s;   t    t;   tS   ts   v    x    z
 Z    z;   
 
 
-Dictionary bn_dict  2013-04-30
+Dictionary bn_dict  2013-06-10
 
 &    a    a~   e    e~   i    i:   i~   
 l-   o    O    o:   O~   o~   r-   u    
@@ -109,7 +109,7 @@ p    r    s    S    t    T    v    w
 x    z    
 
 
-Dictionary da_dict  2013-04-12
+Dictionary da_dict  2013-06-10
 
 &    &#   0    3    ?&   ?&#  ?0   ?A   
 ?e   ?E   ?i   ?o   ?O   ?u   ?V   ?W   
@@ -148,7 +148,7 @@ p    Q    r    R    s    s;   t    T
 ts   v    x    z    
 
 
-Dictionary en_dict  2013-05-31
+Dictionary en_dict  2013-06-11
 
 0    0#   3    3:   @    @-   @2   @5   
 @L   a    a#   A:   A@   aa   aI   aI3  
@@ -273,7 +273,7 @@ N    n^   p    r    R    R2   s    S
 t    tS   ts   tS;  v    x    z    Z    
 
 
-Dictionary hi_dict  2013-04-29
+Dictionary hi_dict  2013-06-10
 
 @    @-   a    a:   aI   aU   a~   e    
 E    e:   E:   e~   E~   i    I    i:   
@@ -288,7 +288,7 @@ Q    q    r    r.   s    S    s.   t
 t#   t.   t.#  v    w    x    z    
 
 
-Dictionary hu_dict  2013-04-18
+Dictionary hu_dict  2013-06-10
 
 a    A    a:   e    E    e:   i    i:   
 o    o:   u    u:   Y    y    y:   Y:   
@@ -513,7 +513,7 @@ r    r.   s    S    s.   t    t#   t.
 t.#  v    w    x    z    
 
 
-Dictionary nl_dict  2013-05-16
+Dictionary nl_dict  2013-06-11
 
 8    @    @-   a    A    a:   A~   e    
 E    e#   E2   e:   EI   eU   i    I    
@@ -575,7 +575,7 @@ S    s;   S;   t    t;   tS   ts   tS;
 ts;  v    w    x    z    Z    Z;   
 
 
-Dictionary pt_dict  2013-05-31
+Dictionary pt_dict  2013-06-11
 
 &    &/   &U~  &~   @    @-   a    A    
 aI   aU   e    E    eI   EI   eU   EU   
@@ -643,7 +643,7 @@ s    S    t    t;   tS   ts   v    w
 x    z    Z    
 
 
-Dictionary sl_dict  2013-05-31
+Dictionary sl_dict  2013-06-10
 
 @    @-   a    e    E    E#   i    o    
 O    o+   u    y    
@@ -679,7 +679,7 @@ k    l    m    n    N    p    R    s
 S    s.   S;   sx   t    v    w    z    
 
 
-Dictionary sw_dict  2013-03-23
+Dictionary sw_dict  2013-06-04
 
 @-   a    a/   e    i    m-   n-   N-   
 o    u    
@@ -741,7 +741,7 @@ s    S    s.   t    T    t#   t.   t.#
 v    w    x    z    Z    z.   
 
 
-Dictionary vi_dict  2013-05-18
+Dictionary vi_dict  2013-06-10
 
 @    @-   @:   @:I  @:U  @I   @U   a    
 a:   a:I  a:U  aI   aU   e    E    eU   
@@ -749,10 +749,11 @@ EU   i    i@   iE   iU   o    O    o#
 O#   o&   O-   o@   OI   oI   Oi   u    
 u-   u@   uI   y    y@   yI   
 
-b    c    cr   d    D    f    g    h    
-j    J    J^   k    kh   l    m    n    
-N    n^   p    Q    s    s.   t    t[   
-tS   tS;  v    w    x    z    Z    z.   
+b    c    cr   d    D    d_   f    g    
+h    j    J    J^   k    kh   l    m    
+n    N    n^   p    Q    s    s.   t    
+t[   tS   tS;  v    w    x    z    Z    
+z.   
 
 
 Dictionary zh_dict  2013-01-25
diff --git a/dictsource/en_list b/dictsource/en_list
index a93b02bf..39afce2d 100644
--- a/dictsource/en_list
+++ b/dictsource/en_list
@@ -564,6 +564,7 @@ ibmtts	$abbrev
 id	$abbrev
 ie	aIi:_!   $pause $only
 i.e	aIi:_!   $pause
+iiuc	$abbrev
 imo	$abbrev
 inlb	$abbrev
 ios	$abbrev
@@ -856,6 +857,7 @@ aries		e@ri:z
 arithmetic	a#rITm@tIk $onlys
 arise		a#raIz
 arisen		@rIz@n
+aright		$alt3
 armslength	,A@mzl'ENT
 aroma		a#roUm@
 arouse		a#raUz
@@ -965,6 +967,7 @@ biped		baIpEd
 bipedal		baIp'i:d@L
 biscuit		bIskIt
 bison		baIs@n
+bitecha		baItS@
 ?!3 bitumen	bItSu:m@n
 bizarre		bI#z'A@
 bizzare		bI#z'A@
@@ -1058,6 +1061,7 @@ canoe		k@nu:
 canoes		k@nu:z
 canon		kan@n
 ?3 cantaloupe	kant@loUp
+cantilever	kantI#li:v3
 canton		kant0n
 canvas		kanv@s
 capita		kapIt@
@@ -1373,6 +1377,7 @@ desert		dI2z3:t       $verb
 desolate	dEs@l@t
 desperate	dEsp@r@t
 ?3 detail       $2
+detante		deIt'0nt
 detente		deIt'0nt
 détente		deIt'0nt
 detritus	dI2traIt@s
@@ -1382,6 +1387,8 @@ devotee		dEvoUt'i:
 (déjà vu)	deIZA:||v'u:
 di		d,I $only
 diabetes	daI@b'i:ti:z
+diablo		di:'A:bloU
+diabolo		daI'ab@loU
 diagnose	$3
 ?3 dialog	daI|@lO:g
 diameter	daI'amI2t3
@@ -1396,6 +1403,7 @@ dilatory	dIl@t@rI
 dilemma		daIl'Em@
 ?3 dilemma	dI#l'Em@
 digest		daIdZEst $noun
+?3 diminutive	dI#mInju:tIv
 dinghy		dINgi
 dingy		dIndZI
 dinosaur	daIn@sO@
@@ -1569,6 +1577,7 @@ fajita		fa#hi:t@
 fallible	fal@b@L
 familiar	f@mIli@3
 famine		famIn
+faraway		fA@r@w'eI
 farewell	$2
 fasten		faas@n
 fatigue		$alt3
@@ -1588,7 +1597,7 @@ fetus		fi:t@s
 fi		f,aI		// as in "hi-fi"
 fiasco		fi:'askoU
 fiat		fi:@t
-ficus		fIk@s
+ficus		faIk@s
 fiery		faI3rI
 ?3 fillet	fI2leI
 finagle		fI#neIg@L
@@ -1795,6 +1804,7 @@ huzzah		h@z'A:
 hydrangea	haIdr'eIndZ@
 hyperbola	haIp'3:b@l@
 hyperbole	haIp'3:b@li
+hypocrites	$alt2
 hypoxia		haIp'0ksi@
 ?3 hyundai	hVndeI
 
@@ -1965,6 +1975,7 @@ leona		li:'oUn@
 leopard		lEp3d
 leprechaun	lEpr@kO:n
 lesion		li:Z@n
+(les misérables)	leImIzEr'A:bl@-
 lethal		li:T@L
 liaison		li:'eIz0n
 libre		li:br@
@@ -2223,7 +2234,7 @@ object		$verb
 obsolete	0bs@li:t
 obstacle	0bst@k@L
 occupier	0kju:paI|3
-ocean		oUS@n
+occult		$alt3
 oceanic		oUSI'anIk
 ocelot		0s@l0t
 ochre		oUk3 
@@ -2255,6 +2266,7 @@ orion		0r'aI@n
 ornate		$2
 orphan		O@f@n          // orphaned
 ottoman		0t@m@n
+ouija		wi:dZ@
 outage		aUtI2dZ
 outback		$1
 outcome		$1
@@ -2538,6 +2550,7 @@ recess		ri:sEs
 recipe		rEsI2pi:
 reciprocal	rI2sIpr@k@L
 recital		rI2saIt@L
+recluses	rI2klu:sI#z
 recommend	r,Ek@mEnd
 recommendation	rEk@mEnd'eIS@n
 recompense	rEk@mpEns
@@ -2628,6 +2641,7 @@ risen		rIz@n
 robust		roUb'Vst
 robusta		$2
 romance		roUm'ans
+rosary		roUz@ri
 rotate		$2
 rotund		roUt'Vnd
 roundtable	$alt1
@@ -2650,6 +2664,7 @@ sachet		saSeI
 sacred		seIkr@d
 sacrifice	sakrI2faIs
 sadistic	$alt3
+safari		$alt3
 safety		seIfti
 saga		sA:g@
 sahara		$alt3
@@ -2911,6 +2926,7 @@ tho		DoU $only
 throughout	$2
 thursday	T3:zdeI
 ?5 thursday	TVRzdeI
+thyme		taIm
 tidal		taId@L
 tidy		taIdi
 tierra		tI'e@r@
@@ -3290,6 +3306,7 @@ Delhi		dEli
 Dhabi		dA:bi
 Djibouti	dZIb'u:ti
 Donegal		d0nI2g'O:l
+Dubrovnik	du:br'0vnIk
 Durham		dVr@m
 Egyptia		IdZ'IpS@
 Egyptian	IdZ'IpS@n
@@ -3795,6 +3812,7 @@ Rachael		reItS@L
 Rachel		reItS@L
 Rae		reI
 Rafael		rA:faI'El
+?3 Raphael	rA:faI'El
 Rashid		rA:S'i:d
 Raul		raU'u:l
 Rees		ri:s
@@ -3885,6 +3903,7 @@ Dolce		d0ltSeI
 Dulles		dVl@s
 Dvorak		d@-vo@Zak
 Emory		Em3ri
+Ferguson	f3:g@s@n
 Fleming		flEmIN
 Folger		foUldZ3
 Genghis		dZENgIs
diff --git a/dictsource/en_rules b/dictsource/en_rules
index be8386e7..c3cdec4c 100644
--- a/dictsource/en_rules
+++ b/dictsource/en_rules
@@ -375,6 +375,7 @@
             ad (on       ad
          _) ad (ri@      ad
             ad (ula      ad
+?3          adu (la      adZ@
          _) ad (um       ad
             ad (vent     ad
             ad (ventu    a#d
@@ -678,7 +679,6 @@
       @erd) am (_        am
 ?!3     &h) am (_N       @m
         &s) am (_        @m
-?3      @r) am (a_       'am
          _) am (al       a#m
             amateur      am@t3
 ?3          amateur      am@tS3
@@ -1736,6 +1736,7 @@
             de (mise     dI2
             demo (bi     dI2moU
             de (mocrac   dI2
+            de (mocratiL06 dI2
          _) dem (oni     di:m
             de (mor      dI2
             de (mot      dI2
@@ -1962,6 +1963,7 @@
          _) equi (@      ,i:kwI#
          _) equ (in@     Ekw
          _) equi (p      %IkwI
+         _) equ (it@     Ekw
             equiv (@     %IkwIv
          h) e (sion_     'i:
         @)  e (tio       i:
@@ -2626,6 +2628,7 @@
         _m) et (e        i:t
         _p) et (e        i:t
             et (itor     'Et
+         _) et (r        I2t
          m) etre         i:t3
          m) etry (_        =@tr%I
          &) ett (_       I2t
@@ -2792,6 +2795,7 @@
         er) g (et        dZ
        for) ge (t        gE
         bo) g (Ey        g
+        oo) g (ey        g
          _) gia (@@      dZa#
          _) g (iant      dZ
          &) gia (_       dZ@
@@ -3336,7 +3340,6 @@
          _) in (spir     In
          _) in (stag     In
          _) in (stan     In
-         _) instant      Inst@nt
          _) in (sti      In
          _) in (stil     %In
          _) in (strum    In
@@ -3485,7 +3488,6 @@
          m) ir (ac       Ir
         sp) iral         aI3r@L
          @) ir (ation    @r
-            ir (ate      =i@r
      consp) ira (t       Ir@
             ire          aI3
             ir (ee       aI3
@@ -3505,7 +3507,7 @@
             ir (i_       'i@r
        asp) ir (i        r
          _) ir (ish      aIr
-            ir (o        I2r
+            ir (o        Ir
          g) ir (o        aIr
         _C) ir (o_       aIr
          @) ir (o_       'i@r
@@ -3592,6 +3594,7 @@
          &) it (e_       It
          &) it (e_N      aIt
          &) ites (_      aIts
+            ites (_$w_alt2S1 s
        pos) ites (_      Its
          c) it (e_       aIt
          c) it (er_      aIt
@@ -3672,6 +3675,7 @@
 
             jokull (_S6  j3:ku:th
             jökull (_S6  j3:ku:th
+         _) judeo        dZu:'deIoU
          _) juan         hwA:n
             juan         w'A:n
 
@@ -3792,6 +3796,7 @@
          _) mac (dP3     m@k
          _) mac (lP3     m@k
          _) mac (mP3     m@k
+         _) machia       maki@
          _) mal (fP3     m,al
          _) mal (i       m@l
          _) mal (ev      m@l
@@ -4020,6 +4025,7 @@
          l) o (cat       %oU
          _) o (ccasi     @
          _) o (cclu      @
+            ocean        oUS@n
          X) o (ct        0
             occur        @k3:
 ?5          occur        @kVR
@@ -4389,6 +4395,7 @@
         em) ort (_       O@
          p) or (t        o@
             or (A        o@r
+            orama (_     @r'am@
          &) or (ate      3r
 //       @@C) or (_S2de    3                // suffix
          &) or (_        3
@@ -4501,6 +4508,7 @@
          c) os (ec       oUs
          c) os (ine_     oUs
             osis (_      'oUsIs
+       rph) osis (_      =@sIs
          p) os (itio     @z
             os (ity      '0s
             os (ive      'oUs
@@ -4952,6 +4960,7 @@
             q (q
             qu           kw
             qu (C        kw@
+         _) qua (f       kw0
          s) qua (B       kw0
             quas (A      kweIz
             quasi        kweIzaI
@@ -5580,6 +5589,7 @@
          _) ultra (@     ,Ultra
             u (lul       V
          @) u (lum       =jU
+         @) u (lus_      =jU
          b) ul (w        Ul
             u (ly        u:
          d) u (ly        ju:
diff --git a/dictsource/hi_rules b/dictsource/hi_rules
index eb43fe00..0509778b 100755
--- a/dictsource/hi_rules
+++ b/dictsource/hi_rules
@@ -34,11 +34,12 @@
 
 .group आ
         आ          a:
+        आं          a~
 
 .group इ
         इ          I
 //       इँ        i~
-//       इं        i~
+        इं        i~
 
 .group ई
         ई          i:
@@ -49,7 +50,7 @@
 
 .group ऊ
         ऊ          u
-        ऊं (_       u~        // + anusvara
+        ऊं          u~        // + anusvara
         ऊँ (_       u~        // + candrabinbu
 
 .group ऋ
@@ -63,18 +64,18 @@
 
 .group ऎ
         ऎ          e
-        ऎं (_       e~
+        ऎं          e~
         ऎँ (_       e~
 
 .group ए
         ए          e:
         एँ          e~:
-        एं (_       e~:
+        एं          e~:
     ा) एँ (_       j
 
 .group ऐ
         ऐ          E:        // ?? [aI] [E:] [&:]
-        ऐं (_       E~
+        ऐं          E~
         ऐँ (_       E~
 ?2      ऐ          aI        // ?? [aI] [E:] [&:]
 
@@ -84,12 +85,12 @@
 
 .group ऒ
         ऒ          o
-        ऒं (_       o~
+        ऒं          o~
         ऒँ (_       o~
 
 .group ओ
         ओ          o:
-        ओं (_       o~        // +anusvara
+        ओं          o~        // +anusvara
         ओँ (_       o~        // +candrabindu
     ा) ओं (_       w        // +anusvara
     ा) ओँ (_       w
@@ -97,7 +98,7 @@
 
 .group औ
         औ          O:        // ?? [aU] [O:]
-        औं (_       O~        // +anusvara
+        औं          O~        // +anusvara
         औँ (_       O~        // +candrabindu
 ?3      औ          aU        // ?? [aU] [O:]
 
@@ -108,31 +109,31 @@
         ा          a:
         ा (ँ       a~
         ाँ (_      a~
-        ां (_      a~
+        ां         a~
         ाव         aU
 
 .group ि
         ि          I
 //      िँ       i~
-//      िं       i~
+        िं       i~
 
 .group ी
         ी          i:
         ी (_       i
         ी (ँ       i~
         ीँ (_      i~
-        ीं (_      i~
+        ीं         i~
 
 .group ु
         ु          U
         ु (ँ       u~
-        ुं (_      u~
+        ुं         u~
         ुँ (_      u~
 
 .group ू
         ू          u:
         ू (ँ       u~
-        ूं (_      u~        // or O~   ??
+        ूं         u~        // or O~   ??
         ूँ (_      u~
 
 .group ृ
@@ -147,20 +148,20 @@
 .group ॆ
         ॆ          e
         ॆ (ँ       e~
-        ॆं (_      e~
+        ॆं         e~
         ॆँ (_      e~
 
 .group े
         े          e:
         े (ँ       e~
-        ें (_      e~:
+        ें         e~:
         ेँ (_      e~:
 
 .group ै
         ै          E:        // ?? [aI] [E:] [&:]
         ैं         E~ 
         ै (ँ       E~ 
-        ैं (_      E~
+        ैं         E~
         ैँ (_      E~
 ?2      ै          aI        // ?? [aI] [E:] [&:]
 
@@ -170,19 +171,19 @@
 .group ॊ
         ॊ          o
         ॊ (ँ       o~
-        ॊं (_      o~
+        ॊं         o~
         ॊँ (_      o~
 
 .group ो
         ो          o:
         ो (ँ       o~
-        ों (_      o~
+        ों         o~
         ोँ (_      o~
 
 .group ौ
         ौ          O:        //  [O:] or [aU] ??
         ौ (ँ       O~        //  [O:] or [aU] ??
-        ौं (_      O~
+        ौं         O~
         ौँ (_      O~
 ?3      ौ          aU        //  [O:] or [aU] ??
 
diff --git a/dictsource/hu_rules b/dictsource/hu_rules
index 7aca3046..82cf4a52 100644
--- a/dictsource/hu_rules
+++ b/dictsource/hu_rules
@@ -175,6 +175,10 @@ udvaron) c (ser    ts
  licen) ccs        ts|tS
   nyol) c (csat    ts
  pokró) c (sá      ts
+barká) cs (zen tS
+kalapá) cs (zon tS
+_kapol) cs tS
+lán) c (sor ts
 
 .group ch
   anar) ch (i      h
@@ -212,6 +216,8 @@ diszti) ch (on     h
 almana) ch         h
 kronoszti) ch (on  h
   arca) ch (on     h
+sza) ch (arid h
+szto) ch (aszti h
 
 .group d
         d          d
@@ -463,6 +469,23 @@ shetlan) d (szige  d
    své) d (zseb    d
  csalá) d (szer    d
  szaba) d (sajt    d
+szomszé) d (jog d
+elő) d (szerv d
+árká) d (szerű d
+csalá) d (sztor d
+harminca) d (sze d
+hol) d (szond d
+kó) d (szöve d
+lipi) d (szint d
+máso) d (szava d
+_ná) d (szeg d
+nyárá) d (szere d
+rú) d (szerű d
+tize) d (szed d
+_va) d (szerb d
+va) d (tyúk d
+bőrön) d (sze d
+stran) d (szett d
 
 .group dz
   fogó) dz (kod    ts
@@ -519,8 +542,8 @@ burkoló) dz        z
  000_-) el (_      REl       // double R for 1000-el
 000000_-) el (_    El        // ... but not 1000000-el
      _) ehhez      EhEz
-     _) egyezség   EJ:ESSe:g
-     _) egyezségg  EJ:ESSe:g:
+     egyezség   EJ:ESSe:g
+     egyezségg  EJ:ESSe:g:
 
 .group é
         é          e:
@@ -652,6 +675,19 @@ doppin) g (gy      g
 baromsá) g (gy     g
 tehetsé) g (gy     g
   bete) g (gy      g
+egysé) g (gy g
+átla) g (gy g
+szőnye) g (gyár g
+hűsé) g (gy g
+_ma) g (gyűjt g
+népessé) g (gy g
+öröksé) g (gy g
+_sze) g (gyár g
+szö) g (gyors g
+tisztsé) g (gy g
+szúnyo) g (gy g
+szala) g (gyakor g
+szala) g (gyűjt g
 
 .group gy
         gy         J
@@ -777,6 +813,8 @@ _huszone) gy (e    J:
  száze) gy (edik   J:
  védje) gy (straté J
     na) gy (sor    J
+e) gy (esít J:
+ve) gy (érték J
 
 .group h
         h          h
@@ -832,6 +870,8 @@ progressz) í (ve   i:
     sz) í (verő    i:
     sz) í (vevő    i:
 expressz) í (v     i:
+recessz) í (ve i:
+v) í (zener i:
 
 .group j
         j          j
@@ -884,6 +924,7 @@ expressz) í (v     i:
         k (-k      k:        //for example marok-körző word need cut one k letter and need spokening k: phoneme only
     k-) k                    //silent with second k phoneme
  _játé) kk (liens  k:        //exceptiof for kk (L01 rule
+községg kYS:e:g:
 
 
 .group l
@@ -1046,6 +1087,16 @@ teljesítmé) ny (j  n^
 
         n'Em       _!'Ellt,e:,ES
 porcelá) n (ny     n
+részvé) ny (jegy n^
+agyo) n (játsz n
+kölcsö) n (nyak n
+dohá) ny (jöv n^
+elektro) n (ny n
+magá) n (nyar n
+igé) ny (jog n^
+szé) n (nyom n
+verse) ny (játsz n^
+ár) ny (játé n^
 
 .group o
         o          o
@@ -1191,6 +1242,10 @@ feldolgozá) s      S
    _ki) s (szín    S
  kérdé) s          S
  végzé) s          S
+blue) s (zen S
+fúvó) s (zené S
+települé) s (zón S
+adá) s (zár S
 
 .group ss
         ssz        ss2
@@ -1749,8 +1804,44 @@ születé) ssz (ám   S|s
  utazá) ssz (er    S|s
 zsarolá) ssz (er   S|s
   dőlé) ssz (ab    S|s
-
-
+települé) ssz (isz Ss
+vallá) ssz Ss
+folyá) ssz (er Ss
+_katyva) ssz s:
+mitugrá) ssz (al s:
+basszu) ssz Ss
+buká) ssz Ss
+erőlködé) ssz Ss
+szarva) ssz Ss
+ricinu) ssz Ss
+települé) ssz Ss
+utalá) ssz Ss
+erősíté) ssz Ss
+fázi) ssz Ss
+fejleszté) ssz Ss
+fúvó) ssz Ss
+autó) ssz Ss
+nyomá) ssz Ss
+hatá) ssz Ss
+effektu) ssz Ss
+pulzu) ssz Ss
+jelenté) ssz Ss
+váltá) ssz Ss
+mondá) ssz Ss
+fázá) ssz Ss
+ve) ssz (ők s:
+_ő) ssz (láv Ss
+periódu) ssz Ss
+pólu) ssz Ss
+rová) ssz Ss
+utasítá) ssz Ss
+tudá) ssz Ss
+turizmu) ssz Ss
+hajó) ssz (leng Ss
+vezeté) ssz Ss
+_vonó) ssz (iv Ss
+ülé) ssz Ss
+motoro) ssz Ss
 
 .group sz
         sz         s
@@ -1813,6 +1904,13 @@ ellenállá) sz (ón  Sz
     ré) sz (árás   Sz
    _te) szts (or   st|S
  serté) szs (ir    S|Z
+tava) sz (áról s
+te) sztsz (ezon st|s
+balla) szts (úly st|S
+kere) sztsz (ala st|s
+para) szts (alá st|S
+para) szts (ere st|S
+para) szts (orb st|S
 
 .group t
         t          t
@@ -1961,6 +2059,26 @@ szögle) t (szob    t
   álla) t (cirk    t
   szen) t (szob    t
 koncer) t (jeg     t
+tesz) t (cikl t
+tesz) t (járm t
+tesz) t (játék t
+interne) t (jog t
+á) tsz (orzás t|s
+bará) t (szeren t
+bi) t (széles t
+spor) t (sér t
+sej) t (szinte t
+cson) t (sová t
+direk) t (szorza t
+ese) t (szétvá t
+gondola) t (szond t
+karsz) t (járat t
+klariné) t (sz t
+látsza) t (jóin t
+metsze) t (sor t
+mosza) t (sejt t
+sej) t (sűrű t
+vilaje) t (szék t
 
 .group tj
      C) tj         c
@@ -2051,6 +2169,7 @@ közérze) tj (aví   tj
     ké) tj (átszm  tj
 szavaza) tj (og    tj
 szavaza) tj (eg    tj
+vona) tj (eggy tj
 
 .group ts
         ts (_S2    tS        //general rule with word end of ts letters
@@ -2272,7 +2391,6 @@ szavaza) ts (o     t|S
  szige) ts (ej     t|S
  szige) ts (o      t|S
 
-
 .group tt
         tt         t:
         ttgy       t:J
@@ -2394,7 +2512,7 @@ lefeje) z (ték     s
    _ré) zs (ó      zS
      ő) zs (uta    zS
    _vá) zs (or     zS
-_szára) zs (ág     SS
+szára) zs (ág     SS
  _nehé) zs (ely    zS
      _) zürich     tsyR2i    C
     tí) zsz (er    s:
@@ -2538,7 +2656,12 @@ csatlako) z (tok   s
    _tí) z (shill   z
   topá) z          z
    dör) zsz (ör    Z|z
-   raj) z (sabl    z
+   raj) z (sa    z
+tí) z (seb z
+egészségkö) z (pont s
+leme) z (slá z
+raj) z (sor z
+ri) zs (zab Z
 
 .group
         $          dolla:R2
diff --git a/dictsource/nl_list b/dictsource/nl_list
index 3e7dc56b..b260ea04 100644
--- a/dictsource/nl_list
+++ b/dictsource/nl_list
@@ -157,6 +157,12 @@ het	h@t	$only
 een	@n	$only
 ən	@-n   // char.replacement for 'n
 ət	t   // char.replacement for 't
+een	e:n	$atend
+(de een)	d@||e:n
+(het een)	h@t||e:n
+(een of)	e:n||Of
+(een van)	e:n||vAn
+
 
 // pronouns  (may have -zelf suffix)
 ik		%Ik
@@ -396,31 +402,50 @@ zeten		$alt
 
 // words where -er is not a stressed verb ending
 
+diller		$alt	// bediller
+schepper	$alt 	// opschepper
+steller		$alt	// aansteller
+zitter		$alt	// bezitter
+
+betweter	bEtv#'e:t@r
+dikdoener	$alt
+gelijkhebber	$alt
+muggenzifter	$alt
+
 achter		$alt
 achterkleinkinder	$alt
 ader		$alt
 ander		$alt
 anker		$alt
+artistieker	$alt
 badder		$alt
 bagger		$alt
 baker		$alt
 baster		$alt
 beender		$alt
+beier		$alt
 belemmer	$alt
 beter		$alt
-beier		$alt
 bibber		$alt
 bitter		$alt
 bladder		$alt
 blader		$alt
 blaker		$alt
 blikker		$alt
+bloeder		$alt 
 blubber		$alt
+blubber		$alt 
+bluffer		$alt 
 blunder		$alt
 bolder		$alt
 bolster		$alt
+bonker		$alt 
 boter		$alt
+braller		$alt 
+brander		$alt 
 broeder		$alt
+broeier		$alt 
+brommer		$alt 
 buffer		$alt
 bulder		$alt
 bulldozer	$alt
@@ -437,24 +462,40 @@ dabber		$alt
 dapper		$alt
 daver		$alt
 deemster	$alt
+deller		$alt 
 dender  	$alt
 dobber  	$alt
 dokter  	$alt
 donder		$alt
 donker  	$alt
 dotter  	$alt
+draaier		$alt 
+drader		$alt 
+drammer		$alt 
+dreiner		$alt 
+drekker		$alt 
+drenzer		$alt 
+dromer		$alt 
+druiler		$alt 
 duister		$alt
+dweper		$alt 
+dwinger		$alt 
+eelter		$alt 
 eergister  	$alt
 eier		$alt
 emmer  		$alt
 enter  		$alt
 erger  		$alt
 etter  		$alt
+fatter		$alt 
 filter		$alt
 fladder		$alt
 flakker		$alt
+flemer		$alt 
 flikker		$alt
+flinter		$alt 
 flipper		$alt
+flirter		fl8rt@r $alt
 flodder		$alt
 flonker		$alt
 flotter		$alt
@@ -462,28 +503,48 @@ fluister	$alt
 foeter		$alt
 folder		$alt
 folter		$alt
+frikker		$alt 
 gabber		$alt
 gader		$alt
+gaper		$alt 
 geester		$alt
+geeuwer		QeU@r $alt 
 gemoeder	$alt
 gibber		$alt
+giller		$alt 
 gister		$alt
 glibber		$alt
 glimmer		$alt
 glinster	$alt
 glitter		$alt
+gloeier		$alt 
+gluiper		$alt 
 glunder		$alt
 goeder		$alt
+grater		$alt 
+griener		$alt 
+grieper		$alt 
+gronder		$alt 
+haker		$alt 
 halter 		$alt
 hamer		$alt
 hamster 	$alt
+hanger		$alt 
 haper		$alt
+harker		$alt 
+hebber		$alt 
 helder		$alt
 herinner	$alt
 herover		$alt
+hijger		$alt 
+hikker		$alt 
 hinder		$alt
 hoender		$alt
+hokker		$alt 
 honger		$alt
+horker		$alt 
+houter		$alt 
+huiler		$alt 
 huiver		$alt
 hunker		$alt
 ijver		$alt
@@ -493,15 +554,19 @@ inburger	$alt
 inkader		$alt
 jakker		$alt
 jammer		$alt
+janker		$alt 
+jeuker		$alt 
 joeker		$alt
 jonger		$alt
 kader		$alt
 kaffer		$alt
+kakker		$alt 
 kalefater	$alt
 kalver		$alt
 kamfer		$alt
 kanker		$alt
 kaper		$alt
+katter		$alt 
 kaver		$alt
 kenter		$alt
 keper		$alt
@@ -511,42 +576,69 @@ keuter		$alt
 kicker		$alt
 kieper		$alt
 kinder		$alt
+kitscher	$alt //  [k’iS@r]
 kladder		$alt
+klager		$alt 
 klapper		$alt
 klater		$alt
 klauter		$alt
 klaver		$alt
 kledder		$alt
+kleffer		$alt 
 klepper		$alt
+kletser		$alt 
 kletter		$alt
+kleumer		$alt 
 kleuter		$alt
+klever		$alt 
 klieder		$alt
 klinker		$alt
 klodder		$alt
+klonter		$alt 
+kloter		$alt 
 kluister	$alt
+kluiter		$alt 
 knapper		$alt
 knetter		$alt
 kneuter		$alt
+kniezer		$alt 
+knijper		$alt 
 knikker		$alt
 knipper		$alt
 knisper		$alt
 knister		$alt
+knoeier		$alt 
+knoester	$alt 
 koekeloer	$alt
 koester		$alt
 koeter		$alt
 koffer		$alt
 koker		$alt
 kolder		$alt
+komieker	$alt 
 kommer		$alt
 koper		$alt
+korster		$alt 
+kraaier		$alt 
+kraker		$alt 
+krasser		$alt 
+krenger		$alt 
+krenter		$alt 
+kruiper		$alt 
+kruller		$alt 
 kuier		$alt
+kwaster		$alt 
 kwetter		$alt
+kwijler		$alt 
 labber		$alt
+lacher		$alt 
 lager		$alt
 lammer		$alt
+lander		$alt 
 laser		$alt
 laster		$alt
 lauwer		$alt
+lawaaier	$alt 
 lazer		$alt
 lebber		$alt
 leder		$alt  // gelederen
@@ -558,9 +650,12 @@ letter		$alt
 leuter		$alt
 lever		$alt
 lieder		$alt
+lijmer		$alt 
 lobber		$alt
 lodder		$alt
+lodder		$alt 
 lommer		$alt
+loper		$alt 
 louter		$alt
 lubber		$alt
 luguber		$alt
@@ -568,6 +663,7 @@ luier		$alt
 luimer		$alt
 luister		$alt
 mager		$alt
+malloter	$alt 
 marmer		$alt
 meander		$alt
 meerder		$alt
@@ -575,6 +671,7 @@ meester		$alt
 meier		$alt
 mekker		$alt
 mieter		$alt
+miezer		$alt 
 mijmer		$alt
 millimeter	$alt
 minder		$alt
@@ -583,8 +680,11 @@ moeder		$alt
 moker		$alt
 monster		$alt
 mopper		$alt
+mopper		$alt 
+motter		$alt 
 nader		$alt
 neder		$alt
+nichter		$alt
 nijver		$alt
 nuchter		$alt
 nummer		$alt
@@ -594,33 +694,62 @@ onder		$alt
 orber		$alt
 ouder		$alt
 over		$alt
+paffer		$alt 
 palaver		$alt
+panieker	$alt 
 pantser		$alt
+papper		$alt 
+patser		$alt 
 pauper		$alt
 peiger		$alt
 peper		$alt
+pester		$alt 
 peuter		$alt
 pieker		$alt
 pienter		$alt
+pieper		$alt 
+pietepeuter	$alt 
 pieter		$alt
+pikker		$alt 
 pinkster	$alt
+plager		$alt 
+plakker		$alt 
 pleister	$alt
 pletter		$alt
+ploerter	$alt 
 ploeter		$alt
+pluizer		$alt 
 plunder		$alt
+pocher		pOx@r $alt
 poeder		$alt
 poeier		$alt
+poener		$alt  
 poker		$alt
+pokker		$alt 
 polder		$alt
+popper		$alt 
 pover		$alt
+praler		$alt 
+preker		$alt 
+pronker		$alt 
 proper		$alt
+propper		$alt 
+protser		$alt 
+pruiler		$alt 
+pruller		$alt 
+prutser		$alt 
 puber		$alt
+puffer		$alt 
+puister		$alt 
 pulver		$alt
 purper		$alt
 rader		$alt
 raster		$alt
 redder		$alt
+reller		$alt 
 ridder		$alt
+riller		$alt 
+roker		$alt 
 rooster		$alt
 rubber		$alt
 ruiter		$alt
@@ -630,45 +759,84 @@ schamper	$alt
 schater		$alt
 schemer		$alt
 schetter	$alt
+schijter	$alt 
 schilder	$alt
+schilfer	$alt 
 schipper	$alt
 schitter	$alt
+schofter	$alt 
+schokker	$alt 
 schouder	$alt
 schrander	$alt
+schraper	$alt 
+schreeuwer	$alt 
+schrikker	$alt 
+schroeier	$alt 
+schrokker	$alt 
 schuchter	$alt
 schutter	$alt
 sidder		$alt
 sjacher		$alt
+sjokker		$alt 
 skeeler		$alt
 skelter		$alt
+slaper		$alt 
 slechter	$alt
 slenter		$alt
+slibber		$alt 
 slidder		$alt
+slijker		$alt 
+slijmer		$alt 
+slikker		$alt 
 slinger		$alt
 slobber		$alt
 slodder		$alt
+slodder		$alt 
 sloeber		$alt
+slokker		$alt 
 slommer		$alt
+slover		$alt 
 sluier		$alt
 sluimer		$alt
+smeker		$alt 
+smelter		$alt 
+snaker		$alt 
 snater		$alt
+snauwer		$alt 
 snipper		$alt
-snugger		$alt
+snoeper		$alt 
+snoever		$alt 
 snotter		$alt
+snugger		$alt
 snuister	$alt
 sober		$alt
 sodemieter	$alt
+soeper		$alt 
+soezer		$alt 
 somber		$alt
+sopper		$alt 
+spatter		$alt 
 spetter		$alt
 spijker		$alt
 splinter	$alt
+spoker		$alt 
+springer	$alt 
+sproeter	$alt 
 sputter		$alt
+staker		$alt 
+stakker		$alt 
 steiger		$alt
 stekker		$alt
+stoffer		$alt 
+stokker		$alt 
+stoter		$alt 
 stotter		$alt
+streper		$alt 
+stroper		$alt 
 stuiter		$alt
 stumper		$alt
 sudder		$alt
+suffer		$alt 
 suiker		$alt
 supporter	$alt
 tater		$alt
@@ -679,46 +847,67 @@ tenger		$alt
 tetter		$alt
 teuter		$alt
 timmer		$alt
+tobber		$alt 
 tover		$alt
 treiter		$alt
+trekker		$alt 
+triller		$alt 
 trompetter	$alt
 tuier		$alt
 tutter		$alt
 twitter		$alt
 uier		$alt
 vinger		$alt
+vitter		$alt 
+Vlaander	$alt
+vleier		$alt 
+vlekker		$alt 
 vlieger		$alt
 vlinder		$alt
+vlokker		$alt 
 vlotter		$alt
 voeder		$alt
 volker		$alt
 vorder		$alt
+vrijer		$alt 
+waaghalzer	$alt 
 waaier		$alt
 wakker		$alt
 wapper		$alt
 water		$alt
 wedijver	$alt
+weelder		$alt 
 wegwijzer	$alt
 weiger		$alt
 wester		$alt
 wijder		$alt
 wilder		$alt
+winder		$alt 
 winter		$alt
 wipper		$alt
 woeker		$alt
 wonder		$alt
+zakker		$alt 
+zander		$alt 
+zanger		$alt 
+zeiker		$alt 
 zeker		$alt
+zeper		$alt 
+zeurder		$alt 
 zever		$alt
 zilver		$alt
 zinder		$alt
+zoener		$alt 
 zolder		$alt
 zomer		$alt
 zonder		$alt
 zuiver		$alt
 zwabber		$alt
 zwakker		$alt
+zwammer		$alt 
 zwanger		$alt
-Vlaander	$alt
+zweter		$alt 
+zwever		$alt 
 
 
 // -s is not a suffix
@@ -927,17 +1116,22 @@ tabel		$2
 // also words ending in er. etc.
 
 	// adjectives
+akel		$alt
 edel		$alt
 enkel		$alt
 gammel		$alt
+groezel		$alt
 heikel		$alt
 ijdel		$alt
 jofel		$alt
+korzel		$alt
 kregel		$alt
+kriegel		$alt
 kreupel		$alt
 luttel		$alt
 nobel		$alt
 nozel		$alt
+poezel		$alt
 schamel		$alt
 simpel		$alt
 sjofel		$alt
@@ -945,6 +1139,9 @@ soepel		$alt
 troebel		$alt
 metel		$alt  // vermetel
 
+hoogdrempel	$alt
+laagdrempel	$alt
+
 	// nouns
 amandel		$alt
 apostel		$alt 
@@ -1468,6 +1665,7 @@ crèches		krES@s
 damascering     damA;s'e:rIN
 december	$2
 desillusie	dEsIlyzi
+detail		de:t'Aj
 dieet		$2
 diesel		diz@l
 diner		din'e:
@@ -1490,6 +1688,7 @@ fiche		fiS@
 franchise	frA'Si:z@
 gamasche	Qa:m'AS
 gazet		$2
+gelig		Qe:l@Q
 gouache		Qu'AS
 gefrituurd	$3
 hysterie	hIstI:r'i
@@ -1507,7 +1706,9 @@ invasie		$2
 januari		$3
 jury		Zyri
 kadaster	$2
+kleinzerig	klEInz'e:r@Q
 leesregel	le:sre:Q@l
+levendig	le:v@nd@Q
 lunch		l8nS
 lunches		l8nS@s
 mangat		$alt3
diff --git a/dictsource/nl_rules b/dictsource/nl_rules
index 270ff4a7..a46e8c01 100644
--- a/dictsource/nl_rules
+++ b/dictsource/nl_rules
@@ -239,6 +239,8 @@
           &) el (end_$p_alt =@l
           &) el (ing_$p_alt =@l
           &) el (ingen_$p_alt =@l
+          &) el (ig_$p_alt  =@l
+          &) el (ige_$p_alt =@l
 
           @) elen (_      'e:l@n
           @) el (en_$p_alt2 @L
@@ -321,6 +323,8 @@
           &) er (ende_$p_alt =@r
           &) er (ing_$p_alt =@r
           &) er (ingen_$p_alt =@r
+          &) er (ig_$p_alt =@r
+          &) er (ige_$p_alt =@r
           &) er (st_$p_alt  =@r
           &) er (ste_$p_alt  =@r
           _) er (@P2      Er
@@ -357,6 +361,8 @@
          nd) es (_S1      s
          rd) es (_S1      s
          gt) es (_S1      s
+         lt) es (_S1      s
+         mt) es (_S1      s
          nt) es (_S1      s
          wt) es (_S1      s
              es (ie_      e:z
@@ -479,7 +485,7 @@
              iën (_       'i@n
        CAns) ie (_        =i
        CAss) ie (_        =i
-          @) ig (_S2dq    =@x
+          @) ig (_S2dq    =@Q
           @) ige (_S1m     @
           @) igen (_      =@Q@n
           @) iger (_      =@Q@r
@@ -524,6 +530,7 @@
 .group k
              k            k
           k) k
+             k (d         g
 
          _) kale (nde     ka:l'E
          _) kantoor (@P7  kAnt'o:r
@@ -551,6 +558,7 @@
           &) laan (_S4    la:n
           _) lange (@P5   laN@
           _) liefdes (@P7 l'ifd@s
+      detai) ll
           @) loog (_      lo:x
           @) loos (_S4    lo:s
           @) loze (_S4    lo:z@
@@ -922,7 +930,7 @@
 
              zele (_S4   ze:l@ // common suffix for cities.
           @) zelf (_S4   s'Elf
-          _) zoge (@P4    z,oQ@
+          _) zoge (@P4    z,o:Q@
           _) zuid (@P4    zWyt
 
 
diff --git a/dictsource/pt_list b/dictsource/pt_list
index 1e44be77..549e914c 100755
--- a/dictsource/pt_list
+++ b/dictsource/pt_list
@@ -83,25 +83,41 @@ _#9	tab
 %	pors'eINtU	$max3
 &	_'e_
 @	ax'ob&
-¤	'eU*U
 €	'eU*U
 £	l'ibR&
-§	p&*'agRafU
+¥	j'eNy
+¢	seNt'avUs#
+§	ses'&U~
 
-
-_!	,eskl&mas'&U~
+_!	Skl&mas'&U~
 _"	'asp&s#
 
 ?1   _#	k,ardin'al
 ?2   _#	k,ardZin'aU
 _$	s,ifR'&U~
 _&	'e
-?1   _'	ap'Ostr,ofy
-?2   _'	&p'OstRofU
+?1   _'	ap'OStr,ofy
+?2   _'	ap'OstRofU
 _(	,abRipa*'eINtezy
+?1   ¶	pa*'agr&fU
+?2   ¶	pa*'agR&fU
+●	s'i*@-kulU
+■	b'ax&ve*@-tSik'aUko*@-tad&
+?1  ÷	divid'idUp'or
+?2  ÷	dZividZ'idUp'or
+?1  ×	v'ezyS
+?2  ×	v'ezys
+?1 µ	m'ikrU
+?2 µ	m'ikRU
 _)	f,ES&pa*'eINtezy
 _*	&ste*'iskU
 _−	m'enUs
+¼	u~Nku'a*@-tU
+½	m'eIU
+¾	treSkw'a*@-tUs#
+®	xeZistR'adU
+?1  ™	m'a*@-k&xeZiSt'ad&
+?2  ™	m'a*@-k&xeZistR'ad&
 
 _,	v'irgul&
 _-	'ifeIN
@@ -347,8 +363,8 @@ las	$u
 los	$u
 se	$u
 
-?2	este	$u+	$nounf	'estSi       // this
-?2	estes	$u+	$nounf	'estSis       // these
+?2	este	$u+	$nounf	'estSy       // this
+?2	estes	$u+	$nounf       // these
 ?2	esta	'Est& $u+	$nounf
 ?2	nesta	$u+	$nounf
 ?2	neste	$u+	$nounf	n'estSi      //in this
@@ -376,13 +392,16 @@ seu	$u+	$nounf
 sua	$u+	$nounf
 ?2	nosso	$u+ $nounf //	n'OsU
 ?2	nossa	$u+ $nounf	n'Os&
-?2	nossos	$u+ $nounf	n'OsUs
-?2	nossas	$u+ $nounf	n'Os&s
+?2	nossos	$u+ $nounf
+?2	nossas	$u+ $nounf
 dele	dely	$u1+
 dela	$u+
-deles	delys	$u1+
+deles	$u1+
 delas	$u+
 nele	nely	$u1+
+nela	$u+
+neles	$u1+
+nelas	$u+
 
 // prepositions
 de	$u	$nounf // of,from
@@ -411,8 +430,7 @@ ao	$u	$nounf
 à	,a:
 à	$atend $atstart $accent
 aos	$u	$nounf
-às	,a:s	$nounf
-
+às	$u	$nounf
 para	$u		// for,to
 pro	pRU	$u	$nounf
 pra	$u	$nounf
@@ -539,7 +557,7 @@ estive	$u
 ?2 esteve	estevy	$u2
 estivemos	$u
 estiveram	$u
-estiver	$u	estSiv'Er
+estiver	$u
 
 estarei	$u
 estará	$u
@@ -715,6 +733,7 @@ borra		$alt2 $noun
 bosque		$alt
 boto		$alt2 $noun
 boxe		$alt
+bracelete		$alt2
 brejo		$alt
 bromelha	$alt
 broto		$alt2 $noun
@@ -734,7 +753,6 @@ caractere	$alt
 carbureto	$alt2
 caroços		$alt
 carrapeta	$alt2
-carreta		$alt2
 carroça		$alt
 casebre		$alt
 cateto		$alt2
@@ -751,8 +769,10 @@ chamego		$alt2 $verb
 chaveta		$alt2
 chefe		$alt
 checam		$alt
-chofer		$alt
+choco		$alt2 $noun
 choça		$alt
+chofer		$alt
+
 choro		$alt2 $noun
 chovesse	$alt2
 chupeta		$alt2
@@ -762,7 +782,6 @@ cloreto		$alt2
 coche		$alt2
 coco		$alt2
 cofre		$alt
-coice		$alt2
 colete		$alt2
 colchete	$alt2
 colher		$alt $noun
@@ -786,6 +805,8 @@ controles	$alt2
 controles	$alt $verb
 controlo	$alt2 $noun
 coreia		$alt
+cores	$alt2
+cores	$alt $verb
 coreto		$alt2
 corneta		$alt2
 cornos		$alt
@@ -801,12 +822,15 @@ cotovelo	$alt2
 cratera		$alt
 crede		$alt2
 credo		$alt
-decore		$alt
 decoro		$alt2 $noun
 degelo		$alt2
 desaforo	$alt2
 desamores	$alt2
 desapego	$alt2 $noun
+desassossego		$alt2 $noun
+desconfortos	$alt2
+desconsolo		$alt2 $noun
+descontrole		$alt2 $noun
 descordo	$alt
 desemprego	$alt2
 desemprego	$alt $verb
@@ -837,6 +861,7 @@ dissabores	$alt2
 dobro		$alt2
 dobro		$alt $verb
 doce		$alt2
+dores	$alt2
 dorminhoco	$alt2
 dorminhocos	$alt
 doze		$alt2
@@ -852,6 +877,7 @@ enforco		$alt
 engordo		$alt
 enredo		$alt  $verb
 enrosco		$alt  $verb
+ensosso		$alt2
 enterro		$alt2 $noun
 entorto		$alt
 entroso		$alt
@@ -864,7 +890,7 @@ erro		$alt2
 erro		$alt $verb
 esboço		$alt  $verb
 escopeta	$alt2
-escore		$alt
+
 escova		$alt2
 escova		$alt $verb
 escovo		$alt
@@ -879,6 +905,7 @@ esposa		$alt2
 esqueleto	$alt2
 ester		$alt
 estilete	$alt2
+estojo		$alt2
 estorno		$alt  $verb
 estorvo		$alt  $verb
 estrela		$alt2
@@ -890,10 +917,10 @@ europeia	$alt
 exagero		$alt $verb
 exorto		$alt
 explore		$alt
-faceta		$alt2
 falangeta	$alt2
 farofa		$alt
 farolete	$alt2
+felisteia		$alt
 fezes		$alt
 filete		$alt2
 ?1 fixe		fiSy
@@ -904,8 +931,9 @@ fodo		$alt2
 fogo		$alt2
 fogos		$alt
 foguete		$alt2
-foice		$alt2
+folclore	$alt
 folheto		$alt2
+fonseca		$alt2
 fora		$alt
 fora		$alt2 $verb
 forca		$alt2
@@ -914,14 +942,15 @@ força		$alt $verb
 forço		$alt
 formos		$alt2
 forro		$alt $verb
+frescores	$alt2
 frevo		$alt2
 fulgores	$alt2
+gafanhoto		$alt2
 galera		$alt
 galeto		$alt2
 galhofa		$alt
 galileia	$alt
 gangorra	$alt2
-gazeta		$alt2
 geleia		$alt
 gelo		$alt2
 gelo		$alt $verb
@@ -940,13 +969,13 @@ governo		$alt2
 governo		$alt $verb
 gozo		$alt2 $noun
 graveto		$alt2
-grelha		$alt
 groselha	$alt
 grosso		$alt2
 groso		$alt
 gueto		$alt2
 hemorroida	$alt
 hoje		$alt2
+homero	$alt
 horrores	$alt2
 ideia		$alt
 inovo		$alt
@@ -967,6 +996,7 @@ lembrete	$alt2
 lepra		$alt
 leste		$alt2 $verb
 ?2   lhe	l^y
+licores	$alt2
 lisboeta	$alt2
 livreto		$alt2
 lodo		$alt2
@@ -976,7 +1006,6 @@ macete		$alt2
 maniçoba	$alt
 marieta		$alt2
 mariposa	$alt2
-marreta		$alt2
 megera		$alt
 melhor		$alt
 menor		$alt
@@ -992,10 +1021,11 @@ moem		$alt
 mofo		$alt $verb
 molho		$alt2 $noun
 monera		$alt
+mor	$alt
 morcego		$alt2
 morda		$alt2
 moreia		$alt
-mui		mwi
+mui		m'UI
 muleta		$alt2
 mureta		$alt2
 mutreta		$alt2
@@ -1015,6 +1045,8 @@ opereta		$alt2
 ordens		$alt
 osso		$alt2
 ostra		$alt2
+outorgo	$alt
+pacheco		$alt2
 paexa		paeSa
 paella		pa'el^&
 palacete	$alt2
@@ -1025,6 +1057,7 @@ pangeia		$alt
 pantera		$alt
 papoco		$alt2 $noun
 parede		$alt2
+pateta		$alt
 peba		$alt
 pedra		$alt
 pela		$alt2
@@ -1034,6 +1067,7 @@ perda		$alt2
 pereba		$alt
 peres		$alt
 peroba		$alt
+pesadelo		$alt2
 peses		$alt
 peseta		$alt2
 peso		$alt $verb
@@ -1058,12 +1092,14 @@ proso		$alt
 prosopopeia	$alt
 proveta		$alt2
 quarteto	$alt2
+quatorze	$alt2
 queda		$alt
 quede		$alt2
 quimera		$alt
 quitinete	$alt
 quinteto	$alt2
 ramalhete	$alt2
+rancores	$alt2
 raposa		$alt2
 recomeço	$alt $verb
 reconstroem	$alt
@@ -1076,7 +1112,8 @@ reforço		$alt  $verb
 reforços	$alt
 refresco	$alt  $verb
 rego		$alt2 $noun
-relevo		$alt2 $noun
+relevo		$alt2
+relevo		$alt $verb
 remoem		$alt
 remorso		$alt
 renovo		$alt $verb
@@ -1085,12 +1122,14 @@ retorno		$alt $verb
 reuva		x'EUv&
 rigores		$alt2
 risoto		$alt2
+robson	$alt
 rock		$alt
 roem		$alt
 rola		$alt2 $noun
 roleta		$alt2
 rolete		$alt2
 rolo		$alt2 $noun
+roseta		$alt2
 rota		$alt2
 rota		$alt $noun
 rubores		$alt2
@@ -1115,7 +1154,6 @@ soco		$alt $verb
 sogra		$alt
 sopa		$alt2
 sopro		$alt2 $noun
-soro		$alt2
 sorvete		$alt2
 sossego     	$alt2 $noun
 suborno		$alt  $verb
@@ -1128,14 +1166,18 @@ suporto		$alt
 suor		suOr
 sutiã		sutSi'&~N
 tabefe		$alt
+tambores	$alt2
 tapera		$alt
 tapete		$alt2
 temores		$alt2
 tempero		$alt2 $noun
 tenores		$alt2
+test		$alt
 terrores	$alt2
 teses		$alt
 teta		$alt2
+tijolo	$alt2
+tijolos	$alt
 togo		$alt2
 topo		$alt2 $noun
 torno		$alt  $verb
@@ -1159,8 +1201,7 @@ vareta		$alt2
 vera		$alt
 verbete		$alt2
 verde		$alt2
-violeta		$alt2
-violoncelo	$alt
+vileta		$alt2
 voga		$alt
 xarope		$alt
 xereta		$alt2
@@ -1173,9 +1214,12 @@ zorra		$alt2
 ?1 alt        'alt
 ?2        agosto        ag'ostU
 ?1 back       b'Ek
+?2   bahamas	bax'&~m&s
 ?2  backup        bEk'&p
 ?2  backups     bEk'&ps
 bad  bEd
+bank	beINk
+bacon	b'eIkoN
 beatle  b'itow
 beatles  b'itows
 black  blEk
@@ -1184,10 +1228,10 @@ blind      bl'aind
 ?2        Braille        bR'aili
 ?1 cancel     k'&ns'El
 ?1 caps       k'aps
+?2 center	s'eNter
 ?1 com        kom
 ?1 ctrl       k'oNt:r,Ol
-?1   dat       d'at
-?1 doc        d'Ok
+doc        d'Ok
 ?1 delete     d'il'it
 ?1 design     d,iz'ain
 ?2 design     dez'aIn
@@ -1195,6 +1239,7 @@ blind      bl'aind
 ?2   designers	dez'aIners
 ?1 dj         d,i:dZ'eI
 ?2   diesel	dZ'izEU
+?2   doha	d'ox&
 ?1 down       d'a,wn
 ?2   down   d'aUN
 ?1 download   d'a,wnl'oud
@@ -1202,9 +1247,8 @@ blind      bl'aind
 ?2 downloads		daUNl'owds
 ?3 download        dau~Nl'owd
 drive	dR'aIv
-driver	dR'aIver
-drivers  dR'aIveRs
 ?1 end        'end
+?2 enter	'eNter
 ?2 esc     'Esk
 ?3 esc     'EskI
 ?1 explorer   ,ekspl'O:*&r-
@@ -1214,6 +1258,7 @@ drivers  dR'aIveRs
 flash	flES
 ?1 frame      fr'eImy
 ?2 frame      fR'eImi
+funk	f&~Nk
 game	g'eImy
 ?1 gmail      g,em'eIl
 ?2 Gmail      Zem'eIl
@@ -1233,8 +1278,8 @@ happy  x'Epy
 ?1 kernel     k'Ern,El
 ?2 kernel     k'Ern@l
 left	$alt
-laptop lEptOp
-laptops lEptOps
+laptop	lEpt'Op
+?2 laptops	lEpt'Ops
 ?1 line       l'ain
    layout     l'eI,aUt
    ?2   login  logiN
@@ -1252,7 +1297,8 @@ next       n'Ekst
 ?1 ovo        'ovu
 ?1 pause      p'au:z
    page       p'eIdZ
-   pizza  p'its&
+   ?1   podcast	pOdkEst
+?2  podcast	pOdyk'Est
 python     p'aIT&~N
 ?1 readme     r'i:dmi:
 right   r'aIt
@@ -1265,9 +1311,11 @@ shake	S'eIk
 ?1 site       s'aIt
 ?2 site       s'aItSi
 ?2   shampoo  S&mpu
-?1   software   s'Oft,w'Er-
+?2 shoping	S'OpiN
+?2 slide		zl'aIdZy
 símbolo	s'imbolU
 ?4 símbolo	s'iNbolU
+?1   software   s'Oft,w'Er-
 ?2   software   s'Oftwe@-
 ?1 space      sp'eIsy
 ?2 space      sp'eIs
@@ -1299,6 +1347,8 @@ louis       _^_FR
 ?1 adobe       &d'Oby
    android &NdR'Oid
 apple  'Epow
+outdoor	aUtd'Or
+?2  outdoors	aUtd'Ors
 baby	b'eIby
 chrome  kR'owmi
    debian      d'Ebj&~N
@@ -1338,6 +1388,7 @@ mac  mEk
 ?2   playstation	pleIst'eIS&~N
  point       p'oint
 ?1 power       p'aU&r-
+?2 power	p'aUEr
 ?1 product     p:r'&d&kt
 ?1 Publisher   p'&bl,iS&r-
 ?1 reader      r'id,&r-
@@ -1406,7 +1457,7 @@ von           f%On
 // foreign common names/surnames
 ?1   alison       &l'is&N
 anderson  '&ndersoN
-antonio	&~nt'onIU
+antonio	&~Nt'onIU
 ?1   cleverson    kl'Evyrs&N
 ?2   cleverson    kl'EversoN
 ?1   elton        'Elt&N
diff --git a/dictsource/pt_rules b/dictsource/pt_rules
index e0abc3f0..17c0a061 100755
--- a/dictsource/pt_rules
+++ b/dictsource/pt_rules
@@ -85,6 +85,11 @@
     úC) a (C@      &
    úCC) a (C@      &
         ation (_   'eIS&~N
+ _infr) a (sso     &
+ _infr) a (vermelho &
+ _ultr) a (leve_   &
+ _ultr) a (sso     &
+ _ultr) a (violeta_ &
 
 
 .group â
@@ -98,8 +103,11 @@
 
 .group à
         à          a
-     _) à (s_      aI
-
+?1   _) às (_      ,a:S
+?1   _) às (_G     ,a:Z
+?2   _) às (_      ,a:s
+     _) às (_A     ,a:z
+?2   _) às (_G     ,a:z
         à (m       &~
         à (n       &~
         àm (K      &~m
@@ -215,14 +223,14 @@
 
     @s) e (L05_    E
 
-    sp) e (rL04_   E
+     p) e (rL04_   E
 
      f) e (rL04_   E
-        e (rdL04_  E
+
         e (quL02_  E
         e (rbL04_  E
         e (rgL04_  E
-
+        e (rquL02_ E
         e (rsL04_  E
 
         e (sL02_   E
@@ -254,6 +262,7 @@
      t) e (ve_     e
 
         e (rrAs_   E
+    _r) eu (n      eu
 
         e (x_      E
         e (xL04_   E
@@ -371,6 +380,7 @@ _troux) e (L05_    E
    viv) e (L06_    e
   _cos) e (L06_    e
   diss) e (L06_    E         // contra-
+  romp) e (L06_    e         // cor- inter-
  _houv) e (L06_    E
 _escond) e (L06_   e
 respond) e (L06_   e
@@ -390,7 +400,6 @@ respond) e (L06_   e
   _coz) e (L07_    e
   colh) e (L07_    e         // & es-
   ench) e (L07_    e         // pre-
-  romp) e (L07_    e         // cor- inter-
   vert) e (L07_    e         // in- re- con-
  _ergu) e (L07_    e
  _mord) e (L07_    e
@@ -410,10 +419,12 @@ _amanc) e (bL03_   E
    _ex) e (crL04_  E
   _enr) e (dL01_   E
     _v) e (dL03_   E
+   _pr) e (dL03_   E
   _arr) e (dL03_   E
  _depr) e (dL03_   E
  _hosp) e (dL03_   E
 _enver) e (dL03_   E
+     _) e (dnL03_  E
    _gr) e (gL03_   e
   _gal) e (gL03_   e
   _pel) e (gL03_   e
@@ -422,6 +433,7 @@ _enver) e (dL03_   E
     _r) e (jL03_   E
   _inv) e (jL04_   E
     _v) e (lhL03_  E
+   _gr) e (lhL04_  E
   _caC) e (lo_     e
 ?2      el (ton_   'EU
     ad) e (quL04_  E
@@ -435,42 +447,38 @@ _enver) e (dL03_   E
     _z) e (rL04_   E
     qu) e (rL04_   E         // re-
    _on) e (rL04_   E
-   _op) e (rL04_   E
    gen) e (rL04_   E         // de- re-
   _alt) e (rL04_   E
   _enc) e (rL04_   E
   _esm) e (rL04_   E
   _esm) e (rL04_   E
-  _imp) e (rL04_   E
   _min) e (rL04_   E
   _sug) e (rL04_   E
-  _sup) e (rL04_   E
   _tol) e (rL04_   E
   _ven) e (rL04_   E
   acel) e (rL04_   E         // des-
   eson) e (rL04_   E
  _apod) e (rL04_   E
- _coop) e (rL04_   E
  _enum) e (rL04_   E
  _exub) e (rL04_   E
- _temp) e (rL04_   E
 _adult) e (rL04_   E
 _aglom) e (rL04_   E
 _dilac) e (rL04_   E
 _encarc) e (rL04_  E
 _incin) e (rL04_   E
 _persev) e (rL04_  E
-_recup) e (rL04_   E
 _refrig) e (rL04_  E
     _c) e (rcL02_  E
    _ex) e (rcL02_  E
  _alic) e (rcL02_  E
  _esqu) e (rdL03_  e
+    _C) e (rdL04_  E
+  _des) e (rdL04_  E
 s_colh) e (res_    E
      _) e (rgL03_  e
    _re) e (rgL03_  e
    _so) e (rgL03_  e
-    _c) e (rquL02_ E
+        e (rquL02_ E
   _bez) e (rrL03_  e
      v) e (rtL03_  e         // con- re- in-
     _f) e (rvL03_  e
@@ -496,10 +504,11 @@ s_colh) e (res_    E
   _rem) e (tL03_   e
  _derr) e (tL03_   e
 _obsol) e (tL03_   e
-  _Cal) e (ta_     e
-  _caC) e (ta_     e
-  _sol) e (trL03_  E
+  _CaC) e (ta_     e
+  viol) e (ta_     e
+ _Carr) e (ta_     e
   _pen) e (trL04_  E
+  _sol) e (trL04_  E
     _n) eu (trL03_ 'eU
     _d) e (vL03_   e
    scr) e (vL03_   e         // e- in- pre- ree- de-
@@ -563,6 +572,7 @@ _entorp) e (çL03_  e
         g (Y       Z         // ge gi
         gu (Y      g
      a) gu (ent    gw
+_apazi) gu (e      gw
    _ar) gu (i      gw
  averi) gu (e      gw
   enxa) gu (e      gw
@@ -650,6 +660,7 @@ _entorp) e (çL03_  e
 ?2      ight (_    'aIt
 ?1      ight (_    _^_EN
 ?1      ights (_   _^_EN
+    dr) i (ver     'aI
 
 
 .group í
@@ -820,13 +831,11 @@ _entorp) e (çL03_  e
 ?2      o (z_      O
         o (ze_     O
         o (rL04_   O
-     c) o (re_     o
     @d) o (ra_     o
     @d) o (re_     o
     ri) o (re_     o
      l) o (re_     o
-     s) o (ra_     o
-     s) o (re_     o
+     s) o (rA_     o
     @t) o (ra_     o
     @t) o (re_     o
      v) o (re_     o
@@ -878,6 +887,7 @@ _pormen) o (L05_   O
    _ap) oi (L01_   OI
    _ap) oi (L02_   OI
     _b) oi (L04_   OI
+    _C) oi (ce_    oI
     _t) o (lL03_   o
     _f) o (lgL04_  O
   _emp) o (lgL04_  O
@@ -885,6 +895,7 @@ _pormen) o (L05_   O
      m) o (lhL04_  O
    emb) o (lsL04_  O
   _env) o (ltL03_  o
+  _esC) o (pA_     o
     _s) o (prL04_  O
    _al) o (prL04_  O
   _ass) o (prL04_  O
@@ -899,10 +910,11 @@ _pormen) o (L05_   O
   _@um) o (re_     o
      f) o (rmL03_  O
      c) o (rrL01_  o         // incorra, corra, etc.
-    _m) o (rrL01_  o
+     m) o (rrL01_  o
  _Cach) o (rra_    o
     @p) o (rtL03_  O         // importo, etc.
-        ortos (_   O*@-t=Us# // tortos, mortos, etc.ortos (_  'O*@-tUs
+   a_c) o (rte_    o
+        ortos (_   O*@-t=Us# // tortos, mortos, etc.
      t) o (rçL03_  o         // con-
     _r) o (snL04_  O
     _c) o (spL02_  O
@@ -912,10 +924,12 @@ _pormen) o (L05_   O
   _gar) o (tL03_   o
   _mar) o (tL03_   o
  _escr) o (tL03_   o
+   zig) o (to_     o
    _ch) o (vL01_   o
     pr) o (vL03_   O
         ovos (_    Ov=Us#    novos, povos, etc.
     _g) o (zL04_   O
+  _alm) o (çL01_   O
   _esb) o (çL01_   O
     _r) o (çL03_   O
     tr) o (çL03_   O         // des-
@@ -995,8 +1009,7 @@ _pormen) o (L05_   O
 ?1      que (l     ke        // aquele, etc.
 ?1      que (r_    kE        // qualquer, etc.
 ?1      qui        ki        // quinta, esquilo, etc.
-?1   _) quind      kuind     // quindecágono, etc.
-?1 tran) qui        kui       // tranquilo, etc.
+     _) qu (inde   ku        // quindecágono, etc.
 ?1   _) quo        kuo       // quoficiente, etc.
 
 
@@ -1052,7 +1065,8 @@ _pormen) o (L05_   O
         sr         zx
 
      _) sobre (@P5 sob*e
- _tran) s (A       z
+  tran) s (A       z
+ _trân) s (ito_    z
 ?1      ssion (_   _^_EN
 
 
@@ -1222,6 +1236,7 @@ _abaca) x (i       S
 ?1   A) z (G+      Z
 ?1   A) z (_C      S
 ?1   A) z (_G+     Z
+   _pi) zz (a      ts
 
 
 .group
diff --git a/dictsource/sl_list b/dictsource/sl_list
index 4d9c5522..3599f878 100755
--- a/dictsource/sl_list
+++ b/dictsource/sl_list
@@ -3,7 +3,7 @@
 // This file is UTF-8 encoded
  
 // $alt1  open vowel [E] or [O] in the stressed syllable
-// $alt2  open vowel [o] or [o] in the stressed syllable
+// $alt2  close vowel [o] or [o] in the stressed syllable
 // $alt3  short stress on final syllable
 // $alt4  final 'e' is schwa
 
@@ -237,11 +237,14 @@ bili	$u
 deset		$2
 devet		$2
 dim		$alt3
+koš		$alt3
 ena		$alt1
+izhod		$alt3
 oba		$2
 osem		$alt4
 poševnica	$2
 sedem		$alt4
+še		$alt3
 šel		S@w
 tisoč		$1
 žena		$alt1
diff --git a/dictsource/sl_rules b/dictsource/sl_rules
index 35e39572..6052e4c1 100755
--- a/dictsource/sl_rules
+++ b/dictsource/sl_rules
@@ -163,6 +163,7 @@
         u (A     w
      A) u (K     w
      C) ue (C    u:    // German names
+     j) u (čeno  'u:
 
 
 .group v
diff --git a/dictsource/sw_rules b/dictsource/sw_rules
index 6f617bef..07b92274 100644
--- a/dictsource/sw_rules
+++ b/dictsource/sw_rules
@@ -106,6 +106,8 @@
 
 .group w
         w        w
+     j) w        %u
+    ny) w        %u
 
 .group x
         x        ks
diff --git a/dictsource/vi_rules b/dictsource/vi_rules
index f6b8d6d1..36286569 100644
--- a/dictsource/vi_rules
+++ b/dictsource/vi_rules
@@ -77,7 +77,7 @@ ỵ	ỵ
 //================================
 //  Consonants
 //================================
-.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge
+.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge r
 .L02 n a
 .L03 t ch nh
 .L04 a u ă â o ô á à ả ã ạ ù ú ủ ũ ụ ắ ằ ẳ ẵ ặ ấ ầ ẩ ẫ ậ ó ò ỏ õ ọ ố ồ ổ ỗ ộ ư ứ ừ ử ữ ự ơ ớ ờ ở ỡ ợ
@@ -85,112 +85,127 @@ ỵ	ỵ
         b          b
      _) b          _b
 //b($w_alt2 _^_EN
-
+        
 
+
 .group c
         c          g         //k
+        c (C       _^_EN
         c (_       kh
-       _) ch       tS;         // try [tS;] [tS] [c] c     
-?2	  _) ch           c
-?1    _)ch           c 
-	   ch (_       c 
-	  ce (_      _^_EN
+     _) ch         tS;       // try [tS;] [tS] [c] c     
+?2   _) ch         c
+?1   _) ch         c         
+        ch (_      c         
+        ce (_      _^_EN
      _) cl         _^_EN
-        
- 
-
+        
 
+        
 
+        
 
+
 .group d
-        d          z        // try [z] [J] [dZ] [dZ;] [J^]
+        d          z         // try [z] [J] [dZ] [dZ;] [J^]
 ?2      d          J^
 ?1      d          J^
-
+        
 
         d (_       _^_EN
-
-        
-        
+        
 
+        
 
+        
 
+
 .group đ
-        đ          d
-     _) đ          _d
-        
- 
-
+      //  đ          d
+     _) đ          d_
+        
 
+        
 
+        
 
+
 .group f
         //f          f
      _) f          _^_EN
         f (_       _^_EN
-        
- 
+        
 
+        
 
+
 .group g
-        g (L04         Q         // try [g] [Q]
+        g (L04     Q         // try [g] [Q]
         gh         Q         // or [g]  [Q]
-        gi       z       // try [D] [z] [j] [J^] [z;] [J] [dZ]
+        gi         z         // try [D] [z] [j] [J^] [z;] [J] [dZ]
         g (ì       z
         g (í       z
         g (ỉ       z
         g (ĩ       z
-	    g (ị       z
-		
-?1        g (ì       J^
-?1        g (í       J^
-?1        g (ỉ       J^
-?1        g (ĩ       J^
-?1 	      g (ị       J^ 
-
-?2        g (ì       J^
-?2        g (í       J^
-?2        g (ỉ       J^
-?2        g (ĩ       J^
-?2 	      g (ị       J^ 
-  
-?1     gi        J^
-?2     gi        J^	   
+        g (ị       z
+     _) g          _^_EN
+?1      g (ì       J^
+?1      g (í       J^
+?1      g (ỉ       J^
+?1      g (ĩ       J^
+?1      g (ị       J^        
+        
 
+?2      g (ì       J^
+?2      g (í       J^
+?2      g (ỉ       J^
+?2      g (ĩ       J^
+?2      g (ị       J^        
+        
 
+?1      gi         J^
+?2      gi         J^        
 ?1      giết       J^'iE3g
 ?2      giết       J^'iE3g
 ?1      giếng      J^'iE3N
+?1      giềng      J^'iE2N
 ?2      giếng      J^'iE3N
 ?1      giêng      J^'iE1N
 ?2      giêng      J^'iE1N
-
+?2      giềng      J^'iE2N
         giết       z'iE3t[
         giếc       z'iE3kh
-		giêng      z'iE1N
-		giếng      z'iE3N
-		giểng      z'iE4N
-		giễng      z'iE5N
-		giệng      z'iE6N
-		
+        giêng      z'iE1N
+        giềng      z'iE2N
+        giếng      z'iE3N
+        giểng      z'iE4N
+        giễng      z'iE5N
+        giệng      z'iE6N
+        
 
 ?1      giệt       J^'iE6g
         giệt       z'iE6t[
         giệc       z'iE6kh
      _) gol        _^_EN
      _) gat        _^_EN     
-        ght (_     _^_EN        
- 
-
+        ght (_     _^_EN     
+        
 
+        
 
+
 .group h
         h          h
-?2      hu         w        
- 
+?2      hu         w         
+        
 
+
 .group j
         j          Z
-
-
+        
 
+        
 
+
 .group k
-        k          k
-        //k (_       kh
-        kh         x
+     _) k          k
+     _) kh         x
+        //kh         x
         k (_       _^_EN
-        
- 
+        
 
+        
 
+
 .group l
         l          l
         l (_       _^_EN
-        le (_      _^_EN
-
-        
+     C) le         _^_EN
+	   //le (A      _^_EN 
+        
 
+        
 
+
 .group m
         m          m
-        
-
+        
 
+        
 
+
 .group n
         n          n
 ?1      n (_       N         //n
@@ -198,83 +213,94 @@ ỵ	ỵ
         ng         N
         ngh        N
         nh         n^
-?2   L02) nh     n 		
+?2 L02) nh         n         
         nd (_      _^_EN
-
-        
+        
 
+        
 
+
 .group ñ
         ñ          n^
-        
- 
+        
 
+        
 
+
 .group p
-        p          p
+        p (C       _^_EN
+        p          p         
         ph         f
-        
- 
+        
 
+        
 
+
 .group q
         q          k
         q (_       kh
         qu         w         //kw
-        
-
+        
 
+        
 
+
 .group r
-        r          z        // try [z] [z.] [r] [z;]
-?2      r          Q 
-?1      r          z.         
-		r (_       _^_EN
+        r          z         // try [z] [z.] [r] [z;]
+?2      r          Q         
+?1      r          z.        
+        r (_       _^_EN
         rm (_      _^_EN
-
-        
+        
 
+        
 
+
 .group s
         s          s.        // try [s.] [s] [S]
+        
 
      _) sh         _^_EN
         s (_       _^_EN
         st (_      _^_EN
-        se (_      _^_EN
-
-        
+        
 
+        
 
+
 .group t
         t          t[
 ?1      t (_       kh
-?2      t (_       kh 
+?2      t (_       kh        
         th         t
-        tr         tS    //cr        // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
-?1      tr         cr 
+        tr         tS        //cr        // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
+?1      tr         cr        
 ?2      tr         c         
-		ts (_      _^_EN
-        te (_      _^_EN
+        ts (_      _^_EN
         th (_      _^_EN
         tt (_      _^_EN
-
-        
+        
 
+        
 
+
 .group v
         v          v
-?2      v          J^		
-        ve (_      _^_EN     
-        
- 
+?2      v          J^        
+        ve (A      _^_EN     
+        
 
+        
 
+
 .group w
         w          w
      _) w          _^_EN
         w (_       _^_EN
-        
- 
+        
 
+        
 
+
 .group x
         x          s
         x (_       _^_EN
-
-
+        
 
+        
 
+
 .group z
         z          z
         z (_       _^_EN
-
-        
+        
 
+        
 
 //================================
 //  Vowels
 //================================
-        
- 
-
+        
 
+        
 
+        
 
+
 .group a
         a          a:
         ai         a:I
@@ -284,9 +310,9 @@ ỵ	ỵ
         aĩ         a:I5
         aị         a:I6
         ay         aI
-?2		ay         a:I		
-
-        aỳ         aI2
+?2      ay         a:I       
+        
 
+        
 
         aý         aI3
         aỷ         aI4
         aỹ         aI5
@@ -298,7 +324,7 @@ ỵ	ỵ
         aõ         a:U5
         aọ         a:U6
         au         aU
-?2		au         a:U
+?2      au         a:U
         aù         aU2
         aú         aU3
         aủ         aU4
@@ -306,130 +332,145 @@ ỵ	ỵ
         aụ         aU6
         a (L01     _^_EN
         ai (L02    _^_EN
-
-        
+        a (@       _^_EN
+        
 
+
 .group à
         à          a:2
         ài         a:I2
         ày         aI2
-?2		ày         a:I2
-
-
-
-	
+?2      ày         a:I2
+        
 
+        
 
+        
 
+        
 
         ào         a:U2
         àu         aU2
-?2		àu         a:U2
-
+?2      àu         a:U2
+        
 
+
 .group á
         á          a:3
         ái         a:I3
         áy         aI3
         áo         a:U3
         áu         aU3
- ?2		áu         a:U3       
- ?2		áy         a:I3
+?2      áu         a:U3      
+?2      áy         a:I3
+
 .group ả
         ả          a:4
         ải         a:I4
         ảy         aI4
         ảo         a:U4
         ảu         aU4
-?2		ảu         a:U4        
-?2		ảy         a:I4 
+?2      ảu         a:U4      
+?2      ảy         a:I4      
+
 .group ã
         ã          a:5
         ãi         a:I5
         ãy         aI5
         ão         a:U5
         ãu         aU5
-?2		ãu         a:U5        
-?2		ãy         a:I5
+?2      ãu         a:U5      
+?2      ãy         a:I5
+
 .group ạ
         ạ          a:6
         ại         a:I6
         ạy         aI6
         ạo         a:U6
         ạu         aU6
-?2		ạu         a:U6	  		
-?2		ạy         a:I6	       
- 
+?2      ạu         a:U6      
+?2      ạy         a:I6      
+        
 
 //================================
 .group ă
         ă          a
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ằ
         ằ          a2
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ắ
         ắ          a3
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẳ
         ẳ          a4
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẵ
         ẵ          a5
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ặ
         ặ          a6
-        
- 
+        
 
+        
 
 //=================================
 .group â
         â          @
         ây         @I
         âu         @U1       
-?2      â (L03     a 
-?1      â (L03     a      
- 
-
+?2      â (L03     a         
+?1      â (L03     a         
+        
 
+        
 
+
 .group ầ
         ầ          @2
         ầy         @I2
         ầu         @U2
-?2     ầ (L03      a2 
-?1      ầ (L03     a2       
- 
-
+?2      ầ (L03     a2        
+?1      ầ (L03     a2        
+        
 
+        
 
+
 .group ấ
         ấ          @3
         ấy         @I3
         ấu         @U3
-?2      ấ (L03     a3 
-?1      ấ (L03     a3         
- 
-
+?2      ấ (L03     a3        
+?1      ấ (L03     a3        
+        
 
+        
 
+
 .group ẩ
         ẩ          @4
         ẩy         @I4
         ẩu         @U4
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẫ
         ẫ          @5
         ẫy         @I5
         ẫu         @U5
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ậ
         ậ          @6
         ậy         @I6
         ậu         @U6
-?2      ậ (L03    a6 
-?1      ậ (L03     a6         
- 
+?2      ậ (L03     a6        
+?1      ậ (L03     a6        
+        
 
 //===========================
 .group e
         e          E
@@ -441,77 +482,89 @@ ỵ	ỵ
         eọ         EU6
         e (L01     _^_EN
         ey (_      _^_EN
-
-        
+        e (@       _^_EN     
+        
 
+
 .group è
         è          E2
         èo         EU2
-        
- 
-
+        
 
+        
 
+        
 
+
 .group é
         é          E3
         éo         EU3
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẻ
         ẻ          E4
         ẻo         EU4
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẽ
         ẽ          E5
         ẽo         EU5
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ẹ
         ẹ          E6
         ẹo         EU6
-        
- 
+        
 
+        
 
 //============================
-
+        
 
+
 .group ê
         ê          e
         êu         eU1
-?2      ê (L03         @:        
-?2      ê (L02         @: 
-
+?2      ê (L03     @:        
+?2      ê (L02     @:        
+        
 
+
 .group ề
         ề          e2
         ều         eU2
-  ?2      ề (L03         @:2      
- ?2      ề (L02         @:2
-
+?2      ề (L03     @:2       
+?2      ề (L02     @:2
+        
 
+
 .group ế
         ế          e3
         ếu         eU3
-        
- ?2      ế (L03         @:3
-?2      ế (L02         @:3
+        
 
+?2      ế (L03     @:3
+?2      ế (L02     @:3
+
 .group ể
         ể          e4
         ểu         eU4
- ?2      ể (L03         @:4       
-?2      ể (L02         @:4 
-
+?2      ể (L03     @:4       
+?2      ể (L02     @:4       
+        
 
+
 .group ễ
         ễ          e5
         ễu         eU5
- ?2     ễ  (L03        @:5       
- ?2     ễ (L02         @:5
-
+?2      ễ (L03     @:5       
+?2      ễ (L02     @:5
+        
 
+
 .group ệ
         ệ          e6
         ệu         eU6
-?2      ệ  (L03        @:6
-?2      ệ (L02         @:6
- 
+?2      ệ (L03     @:6
+?2      ệ (L02     @:6
+        
 
 //============================
-
+        
 
+
 .group i
         i          i
         //i (A       j
@@ -540,17 +593,20 @@ ỵ	ỵ
         iễu        iU5
         iệu        iU6
         i (L01     _^_EN
-?2      i (L03     @ 
+        i (@       _^_EN
+?2      i (L03     @         
 ?1      i (L03     @
 ?2      i (L02     @         
+
 .group ì
         ì          i2
         ì (A       j2
         ìa         i@2
         ìu         iU2
-?2      ì (L03     @2 
+?2      ì (L03     @2        
 ?1      ì (L03     @2        
 ?2      ì (L02     @2
+
 .group í
         í          i3
         í (A       j3
@@ -559,24 +615,27 @@ ỵ	ỵ
 ?2      í (L03     @3        
 ?1      í (L03     @3
 ?2      í (L02     @3
+
 .group ỉ
         ỉ          i4
         ỉ (A       j4
         ỉa         i@4
         ỉu         iU4
-?2      ỉ (L03     @4 
+?2      ỉ (L03     @4        
 ?1      ỉ (L03     @4
-?2      ỉ (L02     @4       
- 
+?2      ỉ (L02     @4        
+        
 
+
 .group ĩ
         ĩ          i5
         ĩ (A       j5
         ĩa         i@5
         ĩu         iU5
-?2      ĩ (L03     @5 
+?2      ĩ (L03     @5        
 ?1      ĩ (L03     @5
-?2      ĩ (L02     @5         
- 
+?2      ĩ (L02     @5        
+        
 
+
 .group ị
         ị          i6
         ị (A       j6
@@ -585,19 +644,20 @@ ỵ	ỵ
 ?2      ị (L03     @6        
 ?1      ị (L03     @6
 ?2      ị (L02     @6
-
+        
 
 //=========================
-
+        
 
+
 .group o
         o          O
         oa         o@        // modify oa sound  example: hoa,khoa // o (A       w
         oà         o@2
-		oá         o@3
-		oả         o@4
-		oã         o@5
-		oạ         o@6
-		oo         o@
-		oi         OI
+        oá         o@3
+        oả         o@4
+        oã         o@5
+        oạ         o@6
+        oo         o@
+        oi         OI
         oì         OI2
         oí         OI3
         oỉ         OI4
@@ -605,148 +665,171 @@ ỵ	ỵ
         oị         OI6
         ong        O#
         oe         o&        // Adding  oe sound  example: lóe sáng,toét mắt
-        o (L01     _^_EN
-        oai        Oi  // oai sound
-        oại       Oi6
-	    oài       Oi2
-		oái        Oi3
-		oải        Oi4
-	    oãi        Oi5
-		
+        oai        Oi        // oai sound
+        o (@       _^_EN
+        oại        Oi6
+        oài        Oi2
+        oái        Oi3
+        oải        Oi4
+        oãi        Oi5
+        oă         o@1
+        oằ         o@2
+        oắ         o@3
+        oẳ         o@4
+        oẵ         o@5
+        oặ         o@6
+
 .group ò
         ò          O2
         òi         OI2
         òa         o@2       //ò (A       w2
         òng        O#2
         òe         o&2
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ó
         ó          O3
         ói         OI3
         óa         o@3       //ó (A       w3
         óng        O#3
         óe         o&3
-       
- 
-
+        
 
+        
 
+        
 
+
 .group ỏ
         ỏ          O4
         ỏi         OI4
         ỏa         o@4       //ỏ (A       w4
         ỏng        O#4
         ỏe         o&4
-        
- 
-
+        
 
+        
 
+        
 
+
 .group õ
         õ          O5
         õi         OI5
         õa         o@5       //õ (A       w5
         õng        O#5
         õe         o&5
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ọ
         ọ          O6
         ọi         OI6
         ọa         o@6       //ọ (A       w6
         ọng        O#6
         ọe         o&6
-       
- 
-
+        
 
+        
 
+        
 
 //=============================
-
+        
 
+
 .group ô
         ô          o
         ôi         oI
         ông        o#        // ông sound
 ?2      ôi         O-        //south dialect 
- 
+        
 
+
 .group ồ
         ồ          o2
         ồi         oI2
         ồng        o#2
 ?2      ồi         O-2       
- 
-
+        
 
+        
 
+
 .group ố
         ố          o3
         ối         oI3
         ống        o#3
- ?2     ối         O-3      
- 
-
+?2      ối         O-3       
+        
 
+        
 
+
 .group ổ
         ổ          o4
         ổi         oI4
         ổng        o#4
- ?2     ổi         O-4     
- 
-
+?2      ổi         O-4       
+        
 
+        
 
+
 .group ỗ
         ỗ          o5
         ỗi         oI5
         ỗng        o#5
-        
+        
 
 ?2      ỗi         O-5
-
+        
 
+
 .group ộ
         ộ          o6
         ội         oI6
-        ộng        o#6
+   //     ộng        o#6
 ?2      ội         O-6       
- 
-        
+        
 
+        
 
 //=============================
-
+        
 
+
 .group ơ
         ơ          @:
         ơi         @:I
         ơu         @:U
 ?2      ơi         @-        //south dialect 
- 
-
+        
 
+        
 
+
 .group ờ
         ờ          @:2
         ời         @:I2
         ờu         @:U2
- ?2     ời         @-2        
- 
-
+?2      ời         @-2       
+        
 
+        
 
+
 .group ớ
         ớ          @:3
         ới         @:I3
         ớu         @:U3
-?2      ới         @-3        
- 
-
+?2      ới         @-3       
+        
 
+        
 
+
 .group ở
         ở          @:4
         ởi         @:I4
         ởu         @:U4
-?2      ởi         @-4      
- 
-
+?2      ởi         @-4       
+        
 
+        
 
+
 .group ỡ
         ỡ          @:5
         ỡi         @:I5
         ỡu         @:U5
 ?2      ỡi         @-5       
- 
-
+        
 
+        
 
+
 .group ợ
         ợ          @:6
         ợi         @:I6
         ợu         @:U6
-?2      ợi         @-6        
- 
-
+?2      ợi         @-6       
+        
 
+        
 
 //=============================
-
+        
 
+
 .group u
         u          u
         u (A       w
@@ -777,56 +860,62 @@ ỵ	ỵ
         uội        u@j6
         //ung        u#
         u (L01     _^_EN
-        ui (L01    _^_EN
-        ua (L01    _^_EN
-?2      u   u-     
-        
+        u (@       _^_EN
+       // ua (L01    _^_EN
+?2      u          u-        
+        
 
+
 .group ù
         ù          u2
         ù (A       w2
         ùi         uI2
         ùa         u@2
 		//ùng        u#2
-        
-?2      ù   u-2 
-
+        
 
+?2      ù          u-2       
+        
 
+
 .group ú
         ú          u3
         ú (A       w3
         úi         uI3
         úa         u@3
 		//úng        u#3
- ?2      ú   u-3       
- 
-
+?2      ú          u-3       
+        
 
+        
 
+
 .group ủ
         ủ          u4
         ủ (A       w4
         ủi         uI4
         ủa         u@4
 		//ủng        u#4
-        
-?2      ủ   u-4 
-
+        
 
+?2      ủ          u-4       
+        
 
+
 .group ũ
         ũ          u5
         ũ (A       w5
         ũi         uI5
         ũa         u@5
 		//ũng        u#5
-?2      ũ   u-5        
- 
-
+?2      ũ          u-5       
+        
 
+        
 
+
 .group ụ
         ụ          u6
         ụ (A       w6
         ụi         uI6
         ụa         u@6
 		//ụng        u#6
- ?2     ụ   u-6       
- 
+?2      ụ          u-6       
+        
 
 //=============================
-
+        
 
+
 .group ư
         ư          y
         ưi         yI
@@ -850,50 +939,56 @@ ỵ	ỵ
         ưởu        y@w4
         ưỡu        y@w5
         ượu        y@w6
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ừ
         ừ          y2
         ừi         yI2
         ừa         y@2
-        ừu         yw2
-        
- 
-
+        ừu         y2w2
+        
 
+        
 
+        
 
+
 .group ứ
         ứ          y3
         ứi         yI3
         ứa         y@3
-        ứu         yw3
-        
- 
-
+        ứu         y3w3
+        
 
+        
 
+        
 
+
 .group ử
         ử          y4
         ửi         yI4
         ửa         y@4
-        ửu         yw4
-        
- 
-
+        ửu         y4w4
+        
 
+        
 
+        
 
+
 .group ữ
         ữ          y5
         ữi         yI5
         ữa         y@5
-        ữu         yw5
-        
- 
-
+        ữu         y5w5
+        
 
+        
 
+        
 
+
 .group ự
         ự          y6
         ựi         yI6
         ựa         y@6
-        ựu         yw6
-        
- 
+        ựu         y6w6
+        
 
+        
 
 //=============================
-
+        
 
+
 .group y
         y          i
        // y (A       j
@@ -911,47 +1006,53 @@ ỵ	ỵ
         yệ         i@6
       //  yêu        i@U        
         y (L01     _^_EN
-
+    bu) y          _^_EN
+
 .group ỳ
         ỳ          i2
         ỳ (A       j2
         ỳa         i@2
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ý
         ý          i3
         ý (A       j3
         ýa         i@3
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ỷ
         ỷ          i4
         ỷ (A       j4
         ỷa         i@4
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ỹ
         ỹ          i5
         ỹ (A       j5
         ỹa         i@5
-        
- 
-
+        
 
+        
 
+        
 
+
 .group ỵ
         ỵ          i6
         ỵ (A       j6
         ỵa         i@6
-        
- 
+        
 
+        
 
 //=============================
-
+        
 
+
 .group 0xce   // Greek letters
 // 0xce is the first byte of the utf-8 code for these characters
-        
- 
+        
 
+        
 
         α          a:1n_|f'a:1
         ά          a:1n_|f'a:1
         β          b'e1_|t['a:1
@@ -971,12 +1072,13 @@ ỵ	ỵ
         ν          nw'i1
         ξ          s'i7
         ο          o1_|m'i1_|kz.'O7n
-        
- 
-
+        
 
+        
 
+        
 
+
 .group 0xcf   // Greek letters
-        
- 
+        
 
+        
 
         π          p'i1
         ρ          z.'o1
         σ          s'i3c_|m'a:1
@@ -990,11 +1092,12 @@ ỵ	ỵ
         ω          o1_|m'e1_|Q'a:7
         ώ          o1_|m'e1_|Q'a:7
         ό          o1_|m'i1_|kz.'O7n
-        
- 
-        
- 
-
+        
 
+        
 
+        
 
+        
 
+        
 
+
 .group
         %          f'@2n||cr'am
         !          _:c'@3m_|t'a:7n_:
@@ -1005,13 +1108,14 @@ ỵ	ỵ
         !=         x'o#_|_b'a2N_
         >=         l'@:3n_|h'@:1n_|hw,a6kh_b'a2N
         <=         n^'O4_|h'@:1n_|hw,a6kh_b'a2N
-        
- 
+        
 
+        
 
     __) - (_D      cr'y2
     A_) - (_D      _
     C_) - (_D      _
-        
+        
 
         .          c'@3m_
         . (.       _:
     \.) .          
-       
+        
 
+
diff --git a/phsource/compile_report b/phsource/compile_report
index c58605b0..73cae512 100644
--- a/phsource/compile_report
+++ b/phsource/compile_report
@@ -56,9 +56,9 @@ consonants  11  119
       sv  22  129
       no  28  134
       is  42  141
-      vi  57  150
-  vi-hue  17  150
-  vi-sgn  18  150
+      vi  57  151
+  vi-hue  17  151
+  vi-sgn  18  151
      zhy  41  138
       zh  64  155
       sw   9  110
@@ -1063,7 +1063,6 @@ ustop/tsh       [tS] base
                 [tS] tn
 ustop/tsh_      [tS] base
                 [c] hi
-                [tS] bn
                 [tS#] bn
                 [c] zhy
                 [tS] tn
@@ -1080,9 +1079,9 @@ ustop/tsh_pzd   [tS;h] zh
 ustop/tsh_pzd_unasp  [tS;] zh
 ustop/tsh_sr    [tS] sr
 ustop/tsh_unasp  [c] hi
-                [tS] bn
                 [tS] hy
                 [tS`] am
+ustop/tsh_unasp2  [tS] bn
 ustop/ts_pzd    [tS;] base
                 [J#] hi
                 [J#] ml
@@ -1160,6 +1159,7 @@ vdiph2/oa       [Oa] ro
                 [ua] zh
 vdiph2/o_oo     [o@] en-wi
                 [O:] is
+                [O] vi
                 [o] zh
 vdiph2/u@       [u@] ga
 vdiph2/u#@      [U@] en-sc
@@ -1358,14 +1358,14 @@ vdiph/ooi       [OI] en
                 [oi] mt
 vdiph/ooi_2     [OI] af
                 [oI] eo
-                [OI] vi
                 [Oi] vi-hue
                 [Oi] vi-sgn
 vdiph/ooi_3     [OI] en-us
                 [OI] en-rp
                 [aI] en-wm
                 [Oi] vi
-vdiph/ooi_4     [OI] sq
+vdiph/ooi_4     [OI] vi
+                [OI] sq
 vdiph/oou       [oU] cs
                 [OU] grc
 vdiph/ou        [ou] fi
@@ -1427,7 +1427,7 @@ vdiph/y#y_3     [Y:] nl
 vietnam/a       [a:] vi-sgn
 vietnam/_c      [kh] vi
 vietnam/ch      [c] vi
-vietnam/dd      [d] vi
+vietnam/dd      [d_] vi
 vietnam/ie_2    [iE] vi
 vietnam/oe      [o&] vi
 vietnam/th      [t] vi
@@ -1471,6 +1471,7 @@ vnasal/&u_n     [O#] vi
 vnasal/u_n      [U~] hi
                 [u~] hi
                 [u~] pt
+                [u] vi
                 [u] zh
 vnasal/V_n      [V~] hi
 vnasal/W_n      [E~] fr
@@ -2306,7 +2307,6 @@ vowel/oo_1      [O:] en-n
 vowel/oo_2      [0] en-sc
                 [O] cy
                 [o] cs
-                [O] vi
                 [0] da
                 [?0] da
                 [O] ak
@@ -2392,7 +2392,6 @@ vowel/u#_4      [U] en-sc
                 [y] ml
                 [y] vi-sgn
 vowel/u_5       [U1] et
-                [u] vi
                 [u] sw
                 [u] nso
                 [u] tn
diff --git a/phsource/ph_bengali b/phsource/ph_bengali
index ee3d9863..9b3b73a1 100755
--- a/phsource/ph_bengali
+++ b/phsource/ph_bengali
@@ -91,9 +91,9 @@ phoneme tS
   Vowelin f1=0  f2=2300 200 400  f3=-100 80
 
   IF nextPh(isPause2) THEN
-    WAV(ustop/tsh_)
+    WAV(ustop/tsh_unasp2)
   ENDIF
-  WAV(ustop/tsh_unasp)
+  WAV(ustop/tsh_unasp2)
 endphoneme
 
 
diff --git a/phsource/ph_danish b/phsource/ph_danish
index 16791eb1..1a34143a 100644
--- a/phsource/ph_danish
+++ b/phsource/ph_danish
@@ -8,193 +8,405 @@
 // AC + @- OR V: Long "pile" [pi:l@-]
 // AC[i]: Long "smidig" [smi:Di]
 
+//         Vowel length changed by eSpeak
+// Between two voiced consonants
+// After [l/3]
+// Before [l/3]
+// After an "r" sound
+// Before [N]
+// Before voiced consonant + [i]
+
+//        PROCEDURES
+
 // Change the length of SHORT vowels (?+vowel)
 procedure ShortVowelLength
-// "endelig", "ånder" - Short initial vowel sounds too short TEST
+// "endelig", "ånder", "ynde" - Short initial vowel sounds too short TEST
 	IF thisPh(isWordStart) AND nextPhW(n) THEN
 		IF next2PhW(@-) OR next2PhW(V) THEN
-			length 160
+			IF next2PhW(isWordEnd) THEN // NOT "ondeste"
+				length 170
+				RETURN
+			ENDIF
+		ENDIF
+	ENDIF
+
+// "blod" "slutte", "løn" l/3 makes the vowel too long
+// NOT "mel'oner"
+	IF prevPhW(l/3) AND thisPh(isFirstVowel) THEN
+		IF thisPh(isStressed)  THEN
+			length 100
+			IF nextPhW(N) THEN // [N] makes it even longer - "længden"
+				LengthAdd -20
+			ENDIF
+		// Don't shorten it further if it comes after an "r" sound
+		// Exit the procedure		
+			RETURN
+		ENDIF
+		// "transplantation" - the second a - between 2 voiced consonants
+		IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+			length 100
 			RETURN
 		ENDIF
 	ENDIF
-// "slutte" t/d + @- makes the vowel too long
-// Problem with compounds like "spildedamp"
-	IF next2PhW(@-) OR next2PhW(V) THEN
-		IF nextPhW(t) OR nextPhW(d) THEN
-//	length 100
-			LengthAdd -45
-	  // Don't shorten it further if it comes after an "r" sound
-	  // Exit the procedure
-			RETURN
-		ENDIF
-	ENDIF
-// "bygget", "byggede" - consonant + [@-D] makes the vowel too long
-	IF next2PhW(@-) THEN
-		IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
-			IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
-				IF NOT thisPh(?V) THEN // NOT "fjollet"
-					LengthAdd -40
-	    // Don't shorten it further if it comes after an "r" sound ("brygget")
-	    // Exit the procedure
+	
+// "bygge", "bygget", "byggede" - consonant + [@-] makes the vowel too long
+	IF NOT thisPh(?V) THEN // NOT "fjollet"
+		IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN
+			IF next2PhW(@-) THEN //AND next3PhW(D) THEN
+				IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
+					length 100
 					RETURN
 				ENDIF
 			ENDIF
 		ENDIF
 	ENDIF
-// "bygger" - consonant + [V] makes the vowel too long
-	IF nextPhW(isNotVowel) AND next2PhW(V) THEN
-		IF NOT thisPh(isWordStart) THEN // NOT "eller"
-//	  LengthAdd -45
-	  // Don't shorten it further if it comes after an "r" sound ("brygger")
-	  // Exit the procedure
+
+// "byttet", "lyttet", "flyttet"
+	IF prevPhW(isVoiced) AND prevPhW(isNotVowel) THEN
+		IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
+			length 100
+		ENDIF
+	ENDIF
+	
+// "firmaet", "politiet - 140 sounds too short
+	IF nextPhW(@-) AND next2PhW(D) AND next2PhW(isWordEnd) THEN
+		length 180
+	ENDIF
+	
+// "forsøgte" stressed second vowel too long TEST
+	IF thisPh(isMaxStress) AND thisPh(isSecondVowel) THEN
+		IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN // NOT "papirer"
+			// 2 voiced consonants seem to add further length ([gd] in "forsøgte")		
+			IF next2PhW(isVoiced) AND next2PhW(isNotVowel) THEN // NOT "moral"
+				length 110
+				RETURN
+			ENDIF
+		ENDIF
+	ENDIF
+	
+// "bygge", "forbandelse", "lynlås", "centralen" vowel between 2 voiced consonants - too long
+	IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
+		IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
+			IF NOT nextPhW(isWordEnd) THEN // NOT "smil"
+				IF NOT next2PhW(j) AND NOT prevPhW(R) THEN // NOT "vilje", "krympe"
+					IF NOT nextPhW(r) AND NOT nextPhW(3-) THEN // NOT "moderne" - vowel + r/3-
+						IF thisPh(isStressed) THEN // NOT [W] in "f'indelønnen"
+							IF thisPh(isFirstVowel) THEN
+//								IF NOT nextPhW(@-) THEN // NOT "væbne"
+								IF NOT nextPhW(isNotVowel) AND NOT next2PhW(isNotVowel) THEN // NOT "væbne"
+									length 110 
+									RETURN
+								ENDIF
+							ENDIF
+						ENDIF
+					ENDIF
+				ENDIF
+				IF prevPhW(R) THEN // "krympe" R makes the vowel longer than other voiced consonants
+					// NOT [o] in "rod'eo", NOT [æ] in "trængte"
+					IF thisPh(isMaxStress) AND NOT nextPhW(N) THEN 
+						length 90
+						RETURN
+					ENDIF
+					// "trængte" - [N] after the vowel makes it even longer
+					IF thisPh(isMaxStress) AND nextPhW(N) THEN
+						length 75
+						RETURN
+					ENDIF
+				ENDIF
+			ENDIF
+		ENDIF
+	ENDIF
+
+// "buske"	- only sg/sk? TEST
+	IF prevPhW(isNotVowel) AND nextPhW(s) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
+		length 100
+	ENDIF
+	
+// "projektet"
+	IF prevPhW(S) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+		length 100
+	ENDIF
+	
+// "rigtigt", "fred", "frem", "frikvarter" - R makes the vowel too long
+	IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
+		IF nextPhW(isNotVowel) THEN // NOT "krigen"
+			IF thisPh(isFirstVowel) THEN // NOT the a in "moral"
+				length 110
+				RETURN
+			ENDIF
+		ENDIF
+		
+		// R makes the vowel too long
+		IF thisPh(isWordEnd) THEN // "maleri"
+			length 120
+			RETURN
+		ENDIF
+		
+		// "forbrydelse" between 2 voiced consonants
+		IF nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+			length 110
 			RETURN
 		ENDIF
 	ENDIF
-// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
-	IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
-//     length 100
-		LengthAdd -40
-		RETURN
+	
+// "ring", "ringe", "fængsel", "spinkel", "vindspejl", "enke"
+	IF nextPhW(N) THEN
+			length 100
 	ENDIF
-// "ring", "ringe", "fængsel", "spinkel", "vindspejl"
-	IF nextPhW(isNasal) THEN
-//    length 100
-		LengthAdd -30
-		RETURN
-	ENDIF
-// "sigte", "bælte", "henter" t/d + @-/V makes the vowel too long
+	
+// "sigte", "henter" t/d + @-/V makes the vowel too long
+// ?? is this just between 2 voiced consonants ??
+// ?? does [h] act as a voiced consonant ??
 	IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
-		IF next3PhW(@-) OR next3PhW(V) THEN
+		IF next3PhW(@-) OR next3PhW(V) OR next3PhW(?V) THEN
 			IF thisPh(isFirstVowel) THEN // NOT [i] in "forsp'ildte"
-//		length 100
-				LengthAdd -30
+				length 110
+				RETURN
 			ENDIF
 		ENDIF	
 	ENDIF
-// "forbandelse" [n@-] makes the vowel too long?
-// nasal eg:   m, n, N
-	IF nextPhW(isNasal) AND next2PhW(@-) THEN
-		IF NOT thisPh(isFirstVowel) AND thisPh(isStressed) THEN
-	// NOT LengthAdd since [R] might have shortend the vowel above
-			length 100
-		ENDIF	
-	ENDIF
-// "himlen" l/3 makes the vowel too long
+	
+// "himlen", "pøblen" l/3 makes the vowel too long
 	IF nextPhW(isNotVowel) AND next2PhW(l/3) AND next3PhW(@-) OR next3PhW(V) THEN
-		length 100
+		length 110
 	ENDIF
-// "lænkerne" l/3 makes the vowel too long
-	IF prevPh(l/3) AND nextPhW(isNotVowel) AND next3PhW(V) THEN
-		length 120
+	
+// "filmen"	vowel + l/3 makes the vowel too long
+// Probably due to 2 voiced consonants (lm) - Change the condition?
+	IF nextPhW(l/3) AND next3PhW(@-) THEN
+		IF NOT next2PhW(j) THEN // NOT "vilje"
+			IF next2PhW(isVoiced) THEN // NOT [e] in "folkevogn"
+				length 100
+			ENDIF
+		ENDIF
 	ENDIF
-//"musikken" consonant + [@-n] makes the vowel too long
-//  Probably wrong. Only k?
-	IF nextPhW(k) AND next2PhW(@-) AND next3PhW(n) THEN
-		length 100
+	
+//"musikken", "piggen", "trafikken" consonant + [@-] makes the vowel too long
+//  Probably wrong. Only k and g? Only [i]?
+// Could this be due to an English word like "physique" [fIz'i:k]?
+	IF nextPhW(k) OR nextPhW(g)AND next2PhW(@-) THEN
+		IF thisPh(?i) THEN
+			length 100
+			RETURN
+		ENDIF
 	ENDIF
-//"svælge" [svElj@-] vowel + 2 consonants but length 100 is too short
-	IF nextPhW(isNotVowel) AND next2PhW(j) THEN
-		length 140
+
+// "rodeo", lianen" abnormal stress sounds too short	
+	IF thisPh(isMaxStress) AND NOT thisPh(isFirstVowel) THEN
+		IF NOT nextPhW(k) AND NOT nextPhW(g) THEN // NOT "ant'ikt" - Like "physique" above?
+			IF NOT nextPhW(N) AND NOT next2PhW(isNotVowel) THEN // NOT "omkr'ing", "eks'empel"
+				IF NOT nextPhW(isVoiced) AND NOT next2PhW(isVoiced) THEN // NOT "bestemme" TEST
+					length 170
+				ENDIF
+			ENDIF
+		ENDIF
 	ENDIF
 endprocedure
 
+//--------------------------------------------------------------------
+
 // Change the length of NORMAL vowels (without ? in front of them)
 procedure LongVowelLength
 // "guldmine" [ul/3] makes the vowel extremely short
-	IF prevVowel(u) AND prev2PhW(l/3) THEN
+	IF prevVowel(l/3) AND prev2PhW(u) THEN
 		length 350
 		RETURN
 	ENDIF
+	
 // "guldur" [ul/3] makes the vowel extremely short
-	IF prevVowel(u) AND prevPhW(l/3) THEN
+	IF prev2PhW(u) AND prevPhW(l/3) THEN
 		IF NOT thisPh(isWordEnd) THEN // NOT "umulig"
-			length 325
+			IF NOT nextPhW(t) AND NOT nextPhW(d) THEN // NOT "umuligt"
+				IF NOT nextPhW(s) AND NOT nextPhW(S) THEN // NOT Drakulas, spekulationer ???
+					length 325
+					RETURN
+				ENDIF
+			ENDIF
+		ENDIF
+	ENDIF
+	
+// "dage", "dagevis", fødselsdage" STRANGE BEHAVIOUR - too short at 240
+	IF prevPhW(d) AND nextPhW(@-) THEN
+		IF NOT next2PhW(D) THEN
+			length 350
 			RETURN
 		ENDIF
 	ENDIF
+	
+// "tjeneste" TEST
+	IF prevPhW(tS) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+		length 180
+		RETURN
+	ENDIF	
+	
+// "havet", "lavet"	
+	IF nextPhW(isVoiced) AND next2PhW(@-) AND next3PhW(D) THEN
+		length 180
+		RETURN
+	ENDIF
+
+// "videre"	
+	IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
+		IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
+			IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
+				length 180
+				RETURN
+			ELSE // [A] in "begravelse" - "r" adds extra length
+				length 120
+				RETURN
+			ENDIF
+		ENDIF
+	ENDIF
+	
 // "alene" - Short initial vowel sounds too short at length 140
 	IF thisPh(isWordStart) THEN
 		length 160
-// "ønske" The vowel should have been made short becauce og 2 x consonant.
-// Take care of it here
+		// "år? [O] - The word is only 1 vowel: make it long
+		IF thisPh(isWordEnd) THEN
+			length 180
+		ENDIF
+	// "ønske" The vowel should have been made short becauce of 3 x consonant.
+	// Take care of it here
 		IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(isNotVowel) THEN
 			length 140
 		ENDIF
-// "ære"
+	// "ære"
 		IF nextPhW(V) AND nextPhW(isFinalVowel) THEN
 			length 240
 		ENDIF
-		RETURN
+	// "øge", "øgede"
+	IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
+		length 225
 	ENDIF
+//		RETURN
+	ENDIF
+	
+// "døre" vowel + vowel: long
+	IF nextPhW(@-) OR nextPhW(?V) THEN
+		length 225
+	ENDIF
+
+// "pæne" vowel + consonant + [@-]: long
+	IF nextPhW(isNotVowel) AND next2PhW(@-) THEN
+		IF thisPh(isFirstVowel) THEN
+			IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // "vide"
+				length 180
+			ELSE // "pæne"
+				length 225
+			ENDIF
+		RETURN
+		ENDIF
+		// Stressed second syllable in words with initial be- and for-
+		IF NOT thisPh(isSecondVowel) AND thisPh(isMaxStress) THEN // "beb'ude", "form'ode"
+			length 140
+			RETURN
+		ENDIF
+	ENDIF
+	
+// "vildrede"
+	IF nextPhW(D) AND next2PhW(@-) THEN
+		IF NOT thisPh(isMaxStress) THEN
+			length 225
+			RETURN
+		ENDIF
+	ENDIF
+
+// "guderne", "møde"		
+	IF nextPhW(isNotVowel) AND next2PhW(?V) OR next2PhW(V) OR next2PhW(@-) THEN
+		length 225
+	ENDIF
+		
+// "mødes", "vred", "møve", "mene", "dele" - vowel too long between 2 voiced consonants
+	IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN
+			IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN
+				IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) AND NOT prevPhW(l/3) THEN
+					IF NOT next2PhW(isVoiced) THEN // NOT "bælte", "bomben"
+						length 180 // mødes, dele
+						RETURN
+					ENDIF
+					IF next2PhW(isNotVowel) THEN // bælte, svælge
+						length 120
+					ENDIF
+				ELIF NOT prevPhW(l/3) AND thisPh(isMaxStress) THEN 
+					IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
+						length 120 // "vred", "vrede"
+						RETURN
+					ENDIF
+				ENDIF
+				IF prevPhW(R) AND prevPhW(isWordStart) THEN // "råderet"
+					length 180
+					RETURN
+				ENDIF
+			ENDIF
+	ENDIF
+	
 // "huske" - hACC@- vowel too long
+// 2 consonants - should have been short in da_rules
+// 140 too long because of [h]??
 	IF prevPhW(h) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
 		length 110
 		RETURN
 	ENDIF
+	
 // PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n]
 	IF nextPhW(@-) OR nextPhW(V) THEN
-		length 225
+		IF thisPh(isFirstVowel) THEN // NOT "best'yrelse", "geb'yrer"
+			length 225
+		ENDIF
 	ENDIF
+
+	// "lydig"
+	IF prevPhW(l/3) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+			length 180
+			RETURN
+	ENDIF
+	
 // PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i]
 	IF nextPhW(isNotVowel) AND next2PhW(i) THEN
 		length 225
-	ENDIF
-// "dele", "mene", "møve"
-	IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
-		length 225
-	ENDIF
-// "sveder", "deler"
-	IF nextPhW(isNotVowel) AND next2PhW(V) THEN
-		length 225
-	ENDIF
-// "maskinen" consonant + [@-n]: vowel too long
-	IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(n) THEN
-		length 160
-	ENDIF
-// "vilje", "nedladende" [n'eDl&D@-n@-], "delte" - short followed by 2 consonants
-	IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
-  // Don't make "møve" [m'Ww_!@-_!] short
-		IF NOT next2PhW(_!) THEN
-			length 140
-		ENDIF
-	ENDIF
-// "bryde", "bryder", "strålen", "henrivende" R makes the vowel too long
-	IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
-		IF NOT thisPh(V) AND next2PhW(@-) OR next2PhW(V) THEN
-			length 140
-		ENDIF
-	ENDIF
-// "føden"
-	IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
-		length 180
-	ENDIF
-// "glimrende", "glemte" [l/3] makes the following vowel too long
-// LengthAdd doesn't work here. The length could be 225 or 140 - 30
-	IF prev2PhW(g) AND prevPhW(l/3) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
-		length 110
 		RETURN
 	ENDIF
-// l/3 makes the vowel too long (+ voiced?)
-// isVoiced =  b, d, g, v, z
-	IF prevPhW(l/3) AND nextPhW(isVoiced) THEN
-   // "klub", "klud"
+	
+// "føden"
+	IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
+		IF thisPh(isFirstVowel) THEN
+			length 180
+		ENDIF
+	ENDIF
+
+// l/3 + vowel makes the vowel too long
+	IF prevPhW(l/3) AND nextPhW(isNotVowel) THEN
+   // "klub", "klud", "slut"
    // The vowel should have been short but we fix it here 
-		IF NOT next2PhW(@-) AND NOT next2PhW(V) THEN
+		IF NOT next2PhW(@-) AND NOT next2PhW(V) AND NOT next2PhW(?V) THEN // NOT "slæde"
 			length 100
 		ELSE
-	// "slæde", "lader"
+	// "slæde", "lader", "forlader"
 			length 160
 		ENDIF
 	ENDIF
+	
+// l/3 + vowel + voiced consonant makes the vowel too long
+		IF prevPhW(l/3) AND nextPhW(isVoiced) AND nextPhW(isNotVowel) THEN
+			length 130
+		ENDIF
+
+// "fryser", "rige"		
+		IF prevPhW(r) OR prevPhW(R) OR prevPhW(3-) THEN
+			length 130
+			IF nextPhW(@-) THEN // "rige" [@-] seems to cancel the "r" effect
+				length 240
+			ENDIF
+		ENDIF
+					
 // "længe" - short - 2 consonants => 1 consonant (ng => [N])
-	IF nextPhW(isNasal) THEN
+// Don't use isNasal here!
+	IF nextPhW(N) THEN
 		IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
 			length 140
-	// "omkring", "ring" - both prev. N and next R
-		ELIF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
-			length 110
 		ENDIF
 	ENDIF
+	
 // "buskene", "krøbling" The vowel should have been made short becauce og 2 x consonant.
 // Take care of it here
 	IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
@@ -204,24 +416,17 @@ procedure LongVowelLength
 			ENDIF
 		ENDIF
 	ENDIF
-// "barnet" - consonant + [@-D]: too long vowel
-	IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
-		length 160
-	ENDIF
-// "trin", "trit", "ring" - vowel too long
-//	IF prevPhW(isRhotic) THEN
-	IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
-		IF nextPhW(isNotVowel) AND nextPhW(isWordEnd) THEN
-			length 110
-		ENDIF
-	ENDIF
 endprocedure
+//----------------------------------------------------------------------
+
+//                 PHONEMES
 
 // A bit longer than [@-]
 phoneme @
   vowel starttype #@ endtype #@
   unstressed
   length 60
+  IfNextVowelAppend(_!)
   FMT(vowel/@_3)
 endphoneme
 
@@ -244,6 +449,9 @@ ENDIF
 IF prevPhW(i) AND thisPh(isWordEnd) THEN
 	length 15
 ENDIF
+  IF nextPhW(isVowel) THEN
+	ChangePhoneme(@)
+  ENDIF
   FMT(vowel/@-)
 endphoneme
 
@@ -277,7 +485,8 @@ phoneme ?i
   vowel starttype #i endtype #i
   length 140
   CALL ShortVowelLength
-  IfNextVowelAppend(;)
+// Don't link with the next vowel with [;] - vowel too short
+//  IfNextVowelAppend(;)
   FMT(vowel/i_4)
 endphoneme
 
@@ -293,7 +502,6 @@ phoneme e
   vowel starttype #e endtype #e
   length 140 
   CALL LongVowelLength
-//  CALL ShortVowelLength
   FMT(vowel/e)
 endphoneme
 
@@ -347,7 +555,7 @@ phoneme &
 // but NOT "hinanden"
 IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) THEN
   IF NOT next3PhW(n) THEN
-  	length 225
+ 	length 225
   ENDIF
 ENDIF
 // ThisPh + V or @-
@@ -376,7 +584,6 @@ phoneme &#
     length 140
 	ipa a
 	CALL LongVowelLength
-//	CALL ShortVowelLength
 	FMT(vowel/&)
 endphoneme
 
@@ -385,13 +592,14 @@ endphoneme
 phoneme ?&#
   vowel starttype  #e endtype #e
   ipa ?a
-    length 140
-	CALL ShortVowelLength
-		FMT(vowel/&)
+  length 140
+  CALL ShortVowelLength
+  FMT(vowel/&)
 endphoneme
 
 phoneme A // PB changed to a_8
   vowel starttype #a endtype #a
+  ipa ɑ
   length 140 
 CALL LongVowelLength
 // "fare" [f'A:A]
@@ -401,10 +609,11 @@ ENDIF
   FMT(vowel/a_8)
 endphoneme
 
-// PB short A
+// Short A
 // "krabbe" vs. "drabelig"
 phoneme ?A
   vowel starttype #a endtype #a
+  ipa ?ɑ
   length 140
 CALL ShortVowelLength
   FMT(vowel/a_8)
@@ -417,7 +626,9 @@ phoneme u
 IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN
 	length 225
 ENDIF
-CALL LongVowelLength
+IF NOT thisPh(isWordStart) THEN // NOT "undøvendig"
+	CALL LongVowelLength
+ENDIF
   FMT(vowel/u_bck)
 endphoneme
 
@@ -433,10 +644,6 @@ endphoneme
 phoneme o
   vowel starttype #o endtype #o
   length 140 
-// "bore", "borer" [boV] o + V
-IF nextPhW(V) OR nextPhW(@-) THEN
-	length 225
-ENDIF
 // "kone", "koner" o + consonant + V or @-
 IF next2PhW(V) OR next2PhW(@-) THEN
 	length 225
@@ -450,6 +657,7 @@ endphoneme
 phoneme ?o
   vowel starttype #o endtype #o
   length 140
+  CALL ShortVowelLength   
   FMT(vowel/o_2)
 endphoneme
 
@@ -457,14 +665,6 @@ phoneme O
   vowel starttype #o endtype #o
   length 140
   ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
-// "sove", "sover" - consonant + @ or V: long
-IF next2PhW(@-) OR next2PhW(V) THEN
-//	length 225
-ENDIF
-// PB "gået" - ThisPh + V or @-
-IF nextPhW(V) OR nextPhW(@-) THEN
-//	length 225
-ENDIF
 // "såre", "sårede"  [s'O:?OD@-]
 IF nextPhW(O) OR nextPhW(?O) THEN
 	length 225
@@ -477,6 +677,7 @@ endphoneme
 // "toget" vs. "tåget"
 phoneme ?O
   vowel starttype #o endtype #o
+   ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
   length 140
   CALL ShortVowelLength 
   FMT(vowel/o_5)
@@ -502,6 +703,7 @@ phoneme 0
   vowel starttype #o endtype #o
   length 140 
   ipa ɔ
+  CALL LongVowelLength
   FMT(vowel/oo_2)
 endphoneme
 
@@ -533,9 +735,10 @@ endphoneme
 phoneme Y
   vowel starttype #i endtype #i
   length 140
-IF nextPhW(V) OR nextPhW(@-) THEN
-	length 225
-ENDIF
+	IF nextPhW(V) OR nextPhW(@-) THEN
+		length 225
+	ENDIF
+  CALL LongVowelLength
   FMT(vowel/yy)
 endphoneme
 
@@ -612,6 +815,7 @@ endphoneme
 phoneme l/3    // Replacement for [l/]
   liquid
   lengthmod 7
+  length 80
   FMT(l/l_)
 endphoneme
 
@@ -628,9 +832,24 @@ phoneme r    // used for 'r' after a vowel (to create a diphthong)
   IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
     ChangePhoneme(R)
   ENDIF
-// "generer" [Sen'e:Vr], "mysterier" - delete the r
-  IF prevPhW(V) AND thisPh(isWordEnd) THEN
-	ChangePhoneme(NULL)
+	// "generer" [Sen'e:Vr], "mysterier" - delete the r
+  IF prevPhW(V) OR prevPhW(?V) AND thisPh(isWordEnd) THEN
+		ChangePhoneme(_!)
+  ENDIF
+  // "plamagers" [pl&m'&SVrs] - delete the r
+  IF prevPhW(V) OR prevPhW(?V) AND nextPhW(s) AND nextPhW(isWordEnd) THEN
+		ChangePhoneme(NULL)
+  ENDIF
+   // "plamagerne" [pl&m'&SVrn@-] - delete the r
+  IF prevPhW(V) OR prevPhW(?V) AND nextPhW(n) AND next2PhW(@-) THEN
+		ChangePhoneme(NULL)
+  ENDIF
+	// "kreaturer"  [kR,?E?&t'ur?V] - delete the r
+	// Previous vowel stressed by $alt rule
+  IF nextPhW(V) OR nextPhW(?V) AND nextPh(isWordEnd) THEN
+	IF prevPhW(isMaxStress) THEN
+		ChangePhoneme(NULL)
+	ENDIF
   ENDIF
   FMT(r/a_)
 endphoneme
@@ -704,11 +923,11 @@ IF thisPh(isWordEnd) THEN
 ENDIF
   IF nextPhW(isVowel) THEN
     NextVowelStarts
-      VowelStart(j/j@,-45) // jøderne
+      VowelStart(j/j@) // jøderne
       VowelStart(j/ja)
-      VowelStart(j/je,-35)
+      VowelStart(j/je)
       VowelStart(j/ji)
-      VowelStart(j/jo,-65) // "kjole"
+      VowelStart(j/jo) // "kjole"
       VowelStart(j/ju)
     EndSwitch
 Vowelout len=70
@@ -723,4 +942,3 @@ Vowelout len=70
     FMT(j/j_)
   ENDIF
 endphoneme
-
diff --git a/phsource/ph_vietnam b/phsource/ph_vietnam
index 59ea7b04..09e3703c 100755
--- a/phsource/ph_vietnam
+++ b/phsource/ph_vietnam
@@ -6,44 +6,44 @@
 
 phoneme 1   //  ngang tone: level
   stress
-  Tone(28,32, envelope/p_level, NULL) // 28 29
+  Tone(34,36, envelope/p_level, NULL) // 28 29
 endphoneme
 
 
 phoneme 2   //  huyền tone: low falling
   stress
-  Tone(20, 8, envelope/p_fall, NULL) //20 8
+  Tone(30, 8, envelope/p_fall, NULL) //20 8
 endphoneme
 
 
 phoneme 3   //  sắc Tone(rising
   stress
-  Tone(20, 80, envelope/p_rise, NULL) // 30 60
+  Tone(30, 60, envelope/p_rise, NULL) // 30 60
 endphoneme
 
 
 phoneme 4   //  hỏi Tone(curve (dipping rising)
   stress
-  Tone(30, 5, envelope/p_fallrise, NULL) //33 31
+  Tone(10, 55, envelope/p_fallrise, NULL) //33 31
 endphoneme
 
 
 phoneme 5   //  ngã tone: broken (creaking rising)
   stress
-  Tone(28,58, envelope/p_214, envelope/vi_5amp) // 28,58
+  Tone(28,58,envelope/p_214, envelope/vi_5amp) // 28,58 20 80
 endphoneme
 
 
 phoneme 6   //  nặng Tone(drop  (constricted)
   stress
   //length 150 // ignore because it make too short sound 75  // reduce the length of the vowel
-  Tone(33, 21, envelope/p_512, envelope/vi_6amp) //40 20
+  Tone(25, 60, envelope/p_512, envelope/vi_6amp) //40 20
 endphoneme
 
 
 phoneme 7   //  Tone(1 (ngang) at end of clause
   stress
-  Tone(40,  20, envelope/p_fall, NULL)
+  Tone(40,  35, envelope/p_fall, NULL) //40 20
 endphoneme
 
 
@@ -63,7 +63,7 @@ phoneme a:
   IF nextPh(n^) OR nextPh(c) THEN
   length 100
   ELSE
-  length 170 //280
+  length 140 //280
   ENDIF
     FMT(vowel/a_8)
 endphoneme
@@ -71,7 +71,7 @@ endphoneme
 
 phoneme E
   vowel starttype #e endtype #e
-  length 200
+  length 140
   FMT(vowel/e_e)   //ee_3)
 endphoneme
 
@@ -92,7 +92,7 @@ phoneme i
   length 100
   FMT(vnasal/ii_n)
   ELSE
-  length 240
+  length 140
 FMT(vowel/i_4)
 ENDIF
 endphoneme
@@ -101,11 +101,11 @@ endphoneme
 phoneme O
   vowel starttype #o endtype #o
     IF nextPh(kh) OR nextPh(N) THEN 
-	length 110
+	length 80
 	ELSE
-	length 200
+	length 140
 	ENDIF
-    FMT(vowel/oo_2)
+    FMT(vdiph2/o_oo) //vowel/oo)
 endphoneme
 
 phoneme o
@@ -113,7 +113,7 @@ phoneme o
   IF nextPh(kh) OR nextPh(N) THEN
 	length 110
 	ELSE
-	length 200
+	length 140
 	ENDIF
   FMT(vowel/o)  // o_2)
 endphoneme
@@ -124,9 +124,9 @@ phoneme u
   IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
 	length 120
 	ELSE
-	length 240
+	length 140
 	ENDIF
-  FMT(vowel/u_5)
+  FMT(vnasal/u_n,60) //vowel/u_5)
 endphoneme
 
 phoneme y
@@ -146,7 +146,7 @@ phoneme @
  IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
 	length 120
 	ELSE
-	length 170
+	length 140
 	ENDIF
   FMT(vowel/V)   //vowel/@_2)
 endphoneme
@@ -154,7 +154,7 @@ endphoneme
 
 phoneme @:
   vowel  starttype #@  endtype #@
-  length 200
+  length 140
   FMT(vowel/@_2)
 endphoneme
 
@@ -207,8 +207,8 @@ endphoneme
 
 phoneme OI
   vowel starttype #o endtype #i
-  length 150
-  FMT(vdiph/ooi_2)
+  length 200
+  FMT(vdiph/ooi_4)
 endphoneme
 
 
@@ -401,10 +401,10 @@ phoneme cr
   WAV(vietnam/tr,10)
 endphoneme
 
-phoneme d
+phoneme d_
   vcd alv stop
     //	lengthmod 5
-	
+	ipa ɗ
  Vowelin f1=1  f2=1700 -300 300  f3=-100 80 len=15
   Vowelout f1=2 f2=1700 -300 300  f3=-100 80 brk len=30
 WAV(vietnam/dd)
diff --git a/phsource/ustop/tsh_unasp2.wav b/phsource/ustop/tsh_unasp2.wav
new file mode 100755
index 0000000000000000000000000000000000000000..252851a1475a0fb01ee1c1f46ce0ac79c8b2b526
GIT binary patch
literal 2224
zcmWlZd2m)m7RAr)_dY~I3{unpf*4sf3hE59=|mBTfQl3tcE!jdL)cM505=FC5Er%(
z2*d@4LWB?jK?$1%6j_8RP{ASWk|55oOY*($d#0!Qk5|=o`*q)Q&i(c3mX@}vI?%Uc
zpDx2kzmi-FfcVw8572oHU{DJ~GhWHa@impa#`CP;cihWU+`><|fNwH`e`TfS>&y0f
zl&|m0C*~&7cwHU;L|a*bN6`wkrG*SfAHL3-7$hrY0{-CVtd0IS&QhCXoAN%h+q6MH
zy{J3HnHiFdSNR8XS?UU09y8=PcCf8p)iq2Rft#4dL5mEEuhv)P(|XBE$KA@{Qjx?-~~WHW4IBHD2bU&o6$O4SDJ>i@F{Ly_sV
z&EaxBJWfaz$C`TPiX
zc^#)B9lg<)3CzS4%)}fd@Nq7{-Ex5WTAv%yzzpRrdO?%XK~7;M2k0#(hQefJgT?zXS|OxZI4=##3Ho84Ze+Beu0)U0t>hWZ}R{Pae*n=#64c~
zHQ1{~IEQ8I#4gN|$>ywf(-VZWku0S6H?E>#C~^6nvv`}NV7qSd=jQsZCh!KQa66~6
z20y@kUXR{V$vbp|o6L@qYOZL3JE<{j!Zp_AOS*~0$d*gm-8=CRdZLKw|9^{5%J+Ot
z8+$h=$U^y*mvBX=Xc?ONw4}+s?oYmDF6(KozzXDOB7ecNUg<+##hbkNZcs|V6WnRBUOv96+!DTtDzvx@65mXP(
z*+QM>v%f_~1x2QdU0wA!?}-H_k7fF$b?6!v@mn{`C24}`ZAO|bm*D0HtK{E40ZY)t
zSnXhsAj!KiuUfL{618$ptC{0+T`%bjHo*oC^A1jxEW5?F4AO#9UUltsC=T;>ER&hs
zsEwphj-ZPh%aKl`OV*o6s&?!u#XN&IUWenfN~H
z7q2FHLAjJNQAgl1n{X5Zo|P<9!Y_2W>nmcq>l*zoNR~S#3YYWs_(nY#HVR5GMH6H~
z(1%}=$ktCWF}4&xX-izw{hl7fxD%a`Cker)81BaD5R5VP!sTvHd>}7+4m~1o@jEj)dhR_fWv)4mTDm0qhCO2GGN1jU7FF{YRy!ILai)voiP%d0+OD_zFg;d;xvrb+
zkdOJ44vijjCnXG0al!Vr+hiIJMTK_1+!5Bo2yN}&&>#HdC7G{+*3t;6ve9L*91pTW
za?HkHpXp_XMT0m4d8S5enEVi*X!B*i`3Y;>7-1aDE4`Mh9hi8
zS6`30V>}h)1*4<8qQ9YE_=E1L8mhbSiL}B+6x(|4O^(z=RQR3I(YAOK){^>M%285X
zH~Y?urNp(1*Vf}^Ly+%NK2pDn8rvl1%I4r1bDhVrRV(~#F9;GPkRMGp_sc3XN58QH
zB{O_BtQq#?lkN*QkR#2cFe~hCD2kSv%0jaQ8L}<-AZQ-DB&VY@u6FQz@L6~+SdAI_
z4^P&Cp4AV>js+Ka!sO#yJ6`8Y|JV!RZqMBznx{4J6|<3RItQP#DEihV;i7Do7$&-H
zSQMUgTPu&b5>pfgh}+)ymlo)Iu7%s9_rpnTNw;%dD2v%pZ$?#G85}hGw1zvRv-NrA
z28YaV?C(|B$zSbDZUia4!l}~2QJa}fx>xVPG*d1EbS@4u85_(HlZgtK%B#{
Date: Thu, 13 Jun 2013 14:59:16 +0100
Subject: [PATCH 16/18] Change the mode of tsh_unasp2.wav to 644.

---
 phsource/ustop/tsh_unasp2.wav | Bin
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100755 => 100644 phsource/ustop/tsh_unasp2.wav

diff --git a/phsource/ustop/tsh_unasp2.wav b/phsource/ustop/tsh_unasp2.wav
old mode 100755
new mode 100644

From 05f9dfa9eb99b381c5126d7e894b044f73f20011 Mon Sep 17 00:00:00 2001
From: "Reece H. Dunn" 
Date: Thu, 4 Jul 2013 14:29:49 +0100
Subject: [PATCH 17/18] Don't compile the 'om' voice.

Running |espeak --compile=om| on some platforms results in espeak
segfaulting intermittently (not reproducible under gdb). When it
does, it generates "Unknown keyword: " messages with garbage after
it.
---
 Makefile.am | 7 -------
 mkdictlist  | 5 ++++-
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 88610c98..48c97e5a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -164,7 +164,6 @@ dictionaries: \
 	espeak-data/ne_dict \
 	espeak-data/nl_dict \
 	espeak-data/no_dict \
-	espeak-data/om_dict \
 	espeak-data/pa_dict \
 	espeak-data/pap_dict \
 	espeak-data/pl_dict \
@@ -443,12 +442,6 @@ dictsource/no_extra:
 espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra
 	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd ..
 
-om: espeak-data/om_dict
-dictsource/om_extra:
-	touch dictsource/om_extra
-espeak-data/om_dict: src/espeak espeak-data/phontab dictsource/om_list dictsource/om_rules dictsource/om_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=om && cd ..
-
 pa: espeak-data/pa_dict
 dictsource/pa_extra:
 	touch dictsource/pa_extra
diff --git a/mkdictlist b/mkdictlist
index e08443e4..cd47c8c6 100755
--- a/mkdictlist
+++ b/mkdictlist
@@ -16,6 +16,9 @@ special_voices = {
 	'zh-yue': 'zhy',
 }
 
+# The 'om' voice file intimitently crashes when compiling on some platforms.
+exclude_voices = ['om']
+
 def find_voices(path):
 	for filename in os.listdir(path):
 		voice_path = os.path.join(path, filename)
@@ -25,7 +28,7 @@ def find_voices(path):
 		else:
 			if filename in special_voices.keys():
 				voices.add(special_voices[filename])
-			else:
+			elif filename not in exclude_voices:
 				voices.add(filename)
 
 find_voices('espeak-data/voices')

From 9fe782ae66bd36bb44b72f40690c275525074e8d Mon Sep 17 00:00:00 2001
From: "Reece H. Dunn" 
Date: Thu, 11 Jul 2013 12:56:24 +0100
Subject: [PATCH 18/18] autotools: corerctly use the libespeak.so.1 file in the
 src directory when running 'espeak --compile='

---
 Makefile.am | 124 ++++++++++++++++++++++++++--------------------------
 mkdictlist  |   2 +-
 2 files changed, 63 insertions(+), 63 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 48c97e5a..2d304a03 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -188,370 +188,370 @@ af: espeak-data/af_dict
 dictsource/af_extra:
 	touch dictsource/af_extra
 espeak-data/af_dict: src/espeak espeak-data/phontab dictsource/af_list dictsource/af_rules dictsource/af_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=af && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=af && cd ..
 
 am: espeak-data/am_dict
 dictsource/am_extra:
 	touch dictsource/am_extra
 espeak-data/am_dict: src/espeak espeak-data/phontab dictsource/am_list dictsource/am_rules dictsource/am_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=am && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=am && cd ..
 
 an: espeak-data/an_dict
 dictsource/an_extra:
 	touch dictsource/an_extra
 espeak-data/an_dict: src/espeak espeak-data/phontab dictsource/an_list dictsource/an_rules dictsource/an_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=an && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=an && cd ..
 
 az: espeak-data/az_dict
 dictsource/az_extra:
 	touch dictsource/az_extra
 espeak-data/az_dict: src/espeak espeak-data/phontab dictsource/az_list dictsource/az_rules dictsource/az_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=az && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=az && cd ..
 
 bg: espeak-data/bg_dict
 dictsource/bg_extra:
 	touch dictsource/bg_extra
 espeak-data/bg_dict: src/espeak espeak-data/phontab dictsource/bg_list dictsource/bg_listx dictsource/bg_rules dictsource/bg_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=bg && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=bg && cd ..
 
 bn: espeak-data/bn_dict
 dictsource/bn_extra:
 	touch dictsource/bn_extra
 espeak-data/bn_dict: src/espeak espeak-data/phontab dictsource/bn_list dictsource/bn_rules dictsource/bn_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=bn && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=bn && cd ..
 
 ca: espeak-data/ca_dict
 dictsource/ca_extra:
 	touch dictsource/ca_extra
 espeak-data/ca_dict: src/espeak espeak-data/phontab dictsource/ca_list dictsource/ca_rules dictsource/ca_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ca && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ca && cd ..
 
 cs: espeak-data/cs_dict
 dictsource/cs_extra:
 	touch dictsource/cs_extra
 espeak-data/cs_dict: src/espeak espeak-data/phontab dictsource/cs_list dictsource/cs_rules dictsource/cs_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=cs && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=cs && cd ..
 
 cy: espeak-data/cy_dict
 dictsource/cy_extra:
 	touch dictsource/cy_extra
 espeak-data/cy_dict: src/espeak espeak-data/phontab dictsource/cy_list dictsource/cy_rules dictsource/cy_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=cy && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=cy && cd ..
 
 da: espeak-data/da_dict
 dictsource/da_extra:
 	touch dictsource/da_extra
 espeak-data/da_dict: src/espeak espeak-data/phontab dictsource/da_list dictsource/da_rules dictsource/da_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=da && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=da && cd ..
 
 de: espeak-data/de_dict
 dictsource/de_extra:
 	touch dictsource/de_extra
 espeak-data/de_dict: src/espeak espeak-data/phontab dictsource/de_list dictsource/de_rules dictsource/de_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=de && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=de && cd ..
 
 el: espeak-data/el_dict
 dictsource/el_extra:
 	touch dictsource/el_extra
 espeak-data/el_dict: src/espeak espeak-data/phontab dictsource/el_list dictsource/el_rules dictsource/el_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=el && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=el && cd ..
 
 en: espeak-data/en_dict
 dictsource/en_extra:
 	touch dictsource/en_extra
 espeak-data/en_dict: src/espeak espeak-data/phontab dictsource/en_list dictsource/en_rules dictsource/en_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=en && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=en && cd ..
 
 eo: espeak-data/eo_dict
 dictsource/eo_extra:
 	touch dictsource/eo_extra
 espeak-data/eo_dict: src/espeak espeak-data/phontab dictsource/eo_list dictsource/eo_rules dictsource/eo_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=eo && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=eo && cd ..
 
 es: espeak-data/es_dict
 dictsource/es_extra:
 	touch dictsource/es_extra
 espeak-data/es_dict: src/espeak espeak-data/phontab dictsource/es_list dictsource/es_rules dictsource/es_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=es && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=es && cd ..
 
 et: espeak-data/et_dict
 dictsource/et_extra:
 	touch dictsource/et_extra
 espeak-data/et_dict: src/espeak espeak-data/phontab dictsource/et_list dictsource/et_rules dictsource/et_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=et && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=et && cd ..
 
 fa: espeak-data/fa_dict
 dictsource/fa_extra:
 	touch dictsource/fa_extra
 espeak-data/fa_dict: src/espeak espeak-data/phontab dictsource/fa_list dictsource/fa_rules dictsource/fa_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fa && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fa && cd ..
 
 fi: espeak-data/fi_dict
 dictsource/fi_extra:
 	touch dictsource/fi_extra
 espeak-data/fi_dict: src/espeak espeak-data/phontab dictsource/fi_list dictsource/fi_rules dictsource/fi_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fi && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fi && cd ..
 
 fr: espeak-data/fr_dict
 dictsource/fr_extra:
 	touch dictsource/fr_extra
 espeak-data/fr_dict: src/espeak espeak-data/phontab dictsource/fr_list dictsource/fr_rules dictsource/fr_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=fr && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=fr && cd ..
 
 ga: espeak-data/ga_dict
 dictsource/ga_extra:
 	touch dictsource/ga_extra
 espeak-data/ga_dict: src/espeak espeak-data/phontab dictsource/ga_list dictsource/ga_rules dictsource/ga_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ga && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ga && cd ..
 
 grc: espeak-data/grc_dict
 dictsource/grc_extra:
 	touch dictsource/grc_extra
 espeak-data/grc_dict: src/espeak espeak-data/phontab dictsource/grc_list dictsource/grc_rules dictsource/grc_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=grc && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=grc && cd ..
 
 hi: espeak-data/hi_dict
 dictsource/hi_extra:
 	touch dictsource/hi_extra
 espeak-data/hi_dict: src/espeak espeak-data/phontab dictsource/hi_list dictsource/hi_rules dictsource/hi_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hi && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hi && cd ..
 
 hu: espeak-data/hu_dict
 dictsource/hu_extra:
 	touch dictsource/hu_extra
 espeak-data/hu_dict: src/espeak espeak-data/phontab dictsource/hu_list dictsource/hu_rules dictsource/hu_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hu && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hu && cd ..
 
 hy: espeak-data/hy_dict
 dictsource/hy_extra:
 	touch dictsource/hy_extra
 espeak-data/hy_dict: src/espeak espeak-data/phontab dictsource/hy_list dictsource/hy_rules dictsource/hy_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=hy && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=hy && cd ..
 
 id: espeak-data/id_dict
 dictsource/id_extra:
 	touch dictsource/id_extra
 espeak-data/id_dict: src/espeak espeak-data/phontab dictsource/id_list dictsource/id_rules dictsource/id_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=id && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=id && cd ..
 
 is: espeak-data/is_dict
 dictsource/is_extra:
 	touch dictsource/is_extra
 espeak-data/is_dict: src/espeak espeak-data/phontab dictsource/is_list dictsource/is_rules dictsource/is_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=is && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=is && cd ..
 
 it: espeak-data/it_dict
 dictsource/it_extra:
 	touch dictsource/it_extra
 espeak-data/it_dict: src/espeak espeak-data/phontab dictsource/it_list dictsource/it_listx dictsource/it_rules dictsource/it_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=it && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=it && cd ..
 
 jbo: espeak-data/jbo_dict
 dictsource/jbo_extra:
 	touch dictsource/jbo_extra
 espeak-data/jbo_dict: src/espeak espeak-data/phontab dictsource/jbo_list dictsource/jbo_rules dictsource/jbo_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=jbo && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=jbo && cd ..
 
 ka: espeak-data/ka_dict
 dictsource/ka_extra:
 	touch dictsource/ka_extra
 espeak-data/ka_dict: src/espeak espeak-data/phontab dictsource/ka_list dictsource/ka_rules dictsource/ka_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ka && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ka && cd ..
 
 kl: espeak-data/kl_dict
 dictsource/kl_extra:
 	touch dictsource/kl_extra
 espeak-data/kl_dict: src/espeak espeak-data/phontab dictsource/kl_list dictsource/kl_rules dictsource/kl_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=kl && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=kl && cd ..
 
 kn: espeak-data/kn_dict
 dictsource/kn_extra:
 	touch dictsource/kn_extra
 espeak-data/kn_dict: src/espeak espeak-data/phontab dictsource/kn_list dictsource/kn_rules dictsource/kn_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=kn && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=kn && cd ..
 
 ko: espeak-data/ko_dict
 dictsource/ko_extra:
 	touch dictsource/ko_extra
 espeak-data/ko_dict: src/espeak espeak-data/phontab dictsource/ko_list dictsource/ko_rules dictsource/ko_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ko && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ko && cd ..
 
 ku: espeak-data/ku_dict
 dictsource/ku_extra:
 	touch dictsource/ku_extra
 espeak-data/ku_dict: src/espeak espeak-data/phontab dictsource/ku_list dictsource/ku_rules dictsource/ku_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ku && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ku && cd ..
 
 la: espeak-data/la_dict
 dictsource/la_extra:
 	touch dictsource/la_extra
 espeak-data/la_dict: src/espeak espeak-data/phontab dictsource/la_list dictsource/la_rules dictsource/la_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=la && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=la && cd ..
 
 lt: espeak-data/lt_dict
 dictsource/lt_extra:
 	touch dictsource/lt_extra
 espeak-data/lt_dict: src/espeak espeak-data/phontab dictsource/lt_list dictsource/lt_rules dictsource/lt_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=lt && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=lt && cd ..
 
 lv: espeak-data/lv_dict
 dictsource/lv_extra:
 	touch dictsource/lv_extra
 espeak-data/lv_dict: src/espeak espeak-data/phontab dictsource/lv_list dictsource/lv_rules dictsource/lv_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=lv && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=lv && cd ..
 
 mk: espeak-data/mk_dict
 dictsource/mk_extra:
 	touch dictsource/mk_extra
 espeak-data/mk_dict: src/espeak espeak-data/phontab dictsource/mk_list dictsource/mk_rules dictsource/mk_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=mk && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=mk && cd ..
 
 ml: espeak-data/ml_dict
 dictsource/ml_extra:
 	touch dictsource/ml_extra
 espeak-data/ml_dict: src/espeak espeak-data/phontab dictsource/ml_list dictsource/ml_rules dictsource/ml_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ml && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ml && cd ..
 
 ms: espeak-data/ms_dict
 dictsource/ms_extra:
 	touch dictsource/ms_extra
 espeak-data/ms_dict: src/espeak espeak-data/phontab dictsource/ms_list dictsource/ms_rules dictsource/ms_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ms && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ms && cd ..
 
 nci: espeak-data/nci_dict
 dictsource/nci_extra:
 	touch dictsource/nci_extra
 espeak-data/nci_dict: src/espeak espeak-data/phontab dictsource/nci_list dictsource/nci_rules dictsource/nci_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=nci && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=nci && cd ..
 
 ne: espeak-data/ne_dict
 dictsource/ne_extra:
 	touch dictsource/ne_extra
 espeak-data/ne_dict: src/espeak espeak-data/phontab dictsource/ne_list dictsource/ne_rules dictsource/ne_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ne && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ne && cd ..
 
 nl: espeak-data/nl_dict
 dictsource/nl_extra:
 	touch dictsource/nl_extra
 espeak-data/nl_dict: src/espeak espeak-data/phontab dictsource/nl_list dictsource/nl_rules dictsource/nl_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=nl && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=nl && cd ..
 
 no: espeak-data/no_dict
 dictsource/no_extra:
 	touch dictsource/no_extra
 espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=no && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=no && cd ..
 
 pa: espeak-data/pa_dict
 dictsource/pa_extra:
 	touch dictsource/pa_extra
 espeak-data/pa_dict: src/espeak espeak-data/phontab dictsource/pa_list dictsource/pa_rules dictsource/pa_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pa && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pa && cd ..
 
 pap: espeak-data/pap_dict
 dictsource/pap_extra:
 	touch dictsource/pap_extra
 espeak-data/pap_dict: src/espeak espeak-data/phontab dictsource/pap_list dictsource/pap_rules dictsource/pap_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pap && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pap && cd ..
 
 pl: espeak-data/pl_dict
 dictsource/pl_extra:
 	touch dictsource/pl_extra
 espeak-data/pl_dict: src/espeak espeak-data/phontab dictsource/pl_list dictsource/pl_rules dictsource/pl_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pl && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pl && cd ..
 
 pt: espeak-data/pt_dict
 dictsource/pt_extra:
 	touch dictsource/pt_extra
 espeak-data/pt_dict: src/espeak espeak-data/phontab dictsource/pt_list dictsource/pt_rules dictsource/pt_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=pt && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=pt && cd ..
 
 ro: espeak-data/ro_dict
 dictsource/ro_extra:
 	touch dictsource/ro_extra
 espeak-data/ro_dict: src/espeak espeak-data/phontab dictsource/ro_list dictsource/ro_rules dictsource/ro_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ro && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ro && cd ..
 
 ru: espeak-data/ru_dict
 dictsource/ru_extra:
 	touch dictsource/ru_extra
 espeak-data/ru_dict: src/espeak espeak-data/phontab dictsource/ru_list dictsource/ru_rules dictsource/ru_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ru && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ru && cd ..
 
 si: espeak-data/si_dict
 dictsource/si_extra:
 	touch dictsource/si_extra
 espeak-data/si_dict: src/espeak espeak-data/phontab dictsource/si_list dictsource/si_rules dictsource/si_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=si && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=si && cd ..
 
 sk: espeak-data/sk_dict
 dictsource/sk_extra:
 	touch dictsource/sk_extra
 espeak-data/sk_dict: src/espeak espeak-data/phontab dictsource/sk_list dictsource/sk_rules dictsource/sk_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sk && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sk && cd ..
 
 sl: espeak-data/sl_dict
 dictsource/sl_extra:
 	touch dictsource/sl_extra
 espeak-data/sl_dict: src/espeak espeak-data/phontab dictsource/sl_list dictsource/sl_rules dictsource/sl_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sl && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sl && cd ..
 
 sq: espeak-data/sq_dict
 dictsource/sq_extra:
 	touch dictsource/sq_extra
 espeak-data/sq_dict: src/espeak espeak-data/phontab dictsource/sq_list dictsource/sq_rules dictsource/sq_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sq && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sq && cd ..
 
 sv: espeak-data/sv_dict
 dictsource/sv_extra:
 	touch dictsource/sv_extra
 espeak-data/sv_dict: src/espeak espeak-data/phontab dictsource/sv_list dictsource/sv_rules dictsource/sv_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sv && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sv && cd ..
 
 sw: espeak-data/sw_dict
 dictsource/sw_extra:
 	touch dictsource/sw_extra
 espeak-data/sw_dict: src/espeak espeak-data/phontab dictsource/sw_list dictsource/sw_rules dictsource/sw_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=sw && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=sw && cd ..
 
 ta: espeak-data/ta_dict
 dictsource/ta_extra:
 	touch dictsource/ta_extra
 espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ta && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ta && cd ..
 
 te: espeak-data/te_dict
 dictsource/te_extra:
 	touch dictsource/te_extra
 espeak-data/te_dict: src/espeak espeak-data/phontab dictsource/te_list dictsource/te_rules dictsource/te_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=te && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=te && cd ..
 
 tr: espeak-data/tr_dict
 dictsource/tr_extra:
 	touch dictsource/tr_extra
 espeak-data/tr_dict: src/espeak espeak-data/phontab dictsource/tr_list dictsource/tr_rules dictsource/tr_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=tr && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=tr && cd ..
 
 ur: espeak-data/ur_dict
 dictsource/ur_extra:
 	touch dictsource/ur_extra
 espeak-data/ur_dict: src/espeak espeak-data/phontab dictsource/ur_list dictsource/ur_rules dictsource/ur_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=ur && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ur && cd ..
 
 vi: espeak-data/vi_dict
 dictsource/vi_extra:
 	touch dictsource/vi_extra
 espeak-data/vi_dict: src/espeak espeak-data/phontab dictsource/vi_list dictsource/vi_rules dictsource/vi_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=vi && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=vi && cd ..
 
 zh: espeak-data/zh_dict
 dictsource/zh_extra:
 	touch dictsource/zh_extra
 espeak-data/zh_dict: src/espeak espeak-data/phontab dictsource/zh_list dictsource/zh_rules dictsource/zh_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=zh && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=zh && cd ..
 
 zhy: espeak-data/zhy_dict
 dictsource/zhy_extra:
 	touch dictsource/zhy_extra
 espeak-data/zhy_dict: src/espeak espeak-data/phontab dictsource/zhy_rules dictsource/zhy_extra
-	cd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=zhy && cd ..
+	cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=zhy && cd ..
diff --git a/mkdictlist b/mkdictlist
index cd47c8c6..e80e62c1 100755
--- a/mkdictlist
+++ b/mkdictlist
@@ -57,7 +57,7 @@ def write_dictionary_make_rules(f):
 		f.write('dictsource/%s_extra:\n' % name)
 		f.write('\ttouch dictsource/%s_extra\n' % name)
 		f.write('espeak-data/%s_dict: src/espeak espeak-data/phontab %s dictsource/%s_extra\n' % (name, ' '.join(sorted(files)), name))
-		f.write('\tcd dictsource && ESPEAK_DATA_PATH=$(PWD) ../src/espeak --compile=%s && cd ..\n' % name)
+		f.write('\tcd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=%s && cd ..\n' % name)
 
 try:
 	filename = sys.argv[1]