lang=de many translation improvements. TranslateWord(), check that a prefix rule is still allowed after a suffix has been removed. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@43 d46cf337-b52f-0410-862d-fd96e6ae7743master
das %das | das %das | ||||
den %de:n | den %de:n | ||||
dem %de:m | dem %de:m | ||||
des %dEz | |||||
des %dEs | |||||
derselb $2 | derselb $2 | ||||
desselb dEss'Elb | desselb dEss'Elb | ||||
ab ap $u+ $brk | ab ap $u+ $brk | ||||
an an $u+ $brk | an an $u+ $brk | ||||
am am $u+ $brk | am am $u+ $brk | ||||
auf aUf $u+ $brk | |||||
auf aUf $u+ $pause | |||||
aus ,aUs $brk $strend | aus ,aUs $brk $strend | ||||
bei baI $u+ $pause $only | bei baI $u+ $pause $only | ||||
beim baIm $u+ $brk | |||||
bis bIs $u+ $pause | bis bIs $u+ $pause | ||||
da $u+ | da $u+ | ||||
durch $u+ $pause | durch $u+ $pause | ||||
vom fOm $u+ $brk | vom fOm $u+ $brk | ||||
vor ,fO* $strend | vor ,fO* $strend | ||||
zu tsu: $u+ $brk | zu tsu: $u+ $brk | ||||
zum tsUm $u+ $brk | |||||
zur tsu:* $u+ $brk | |||||
zum tsUm $u+ $pause | |||||
zur tsu:* $u+ $pause | |||||
über ,yb3 $pause $strend | über ,yb3 $pause $strend | ||||
unter ,Unt3 $pause $strend | unter ,Unt3 $pause $strend | ||||
um Um $u+ $brk | um Um $u+ $brk | ||||
(noch nicht) n'Ox||n,ICt $brk | (noch nicht) n'Ox||n,ICt $brk | ||||
(nicht mehr) n'ICt||,me:* | (nicht mehr) n'ICt||,me:* | ||||
(nicht mehr) n,ICt||m'e:* $atend | (nicht mehr) n,ICt||m'e:* $atend | ||||
(nicht nur) nICt||nu:* $pause | |||||
(nicht nur) n'ICt||n'u:* $pause | |||||
(gar nicht) g,A:*n'ICt | (gar nicht) g,A:*n'ICt | ||||
// should these be in the Rules because they can be a prefix in a | // should these be in the Rules because they can be a prefix in a | ||||
sind %zInt | sind %zInt | ||||
seit %zaIt $only | seit %zaIt $only | ||||
gehen ge:@n $only | |||||
geht ge:t $only | |||||
gehe ge:@ $only | |||||
habe %hA:b@ $only | habe %hA:b@ $only | ||||
habst %habst $only | habst %habst $only | ||||
hast %hast $only | hast %hast $only | ||||
byte _^_EN | byte _^_EN | ||||
camcorder _^_EN | camcorder _^_EN | ||||
chart _^_EN | chart _^_EN | ||||
chat _^_EN | |||||
coach _^_EN | coach _^_EN | ||||
coke _^_EN | coke _^_EN | ||||
computer _^_EN | computer _^_EN | ||||
plot _^_EN | plot _^_EN | ||||
poster _^_EN | poster _^_EN | ||||
receiver _^_EN | receiver _^_EN | ||||
research _^_EN | |||||
remake _^_EN | remake _^_EN | ||||
roadie _^_EN | roadie _^_EN | ||||
roastbeef _^_EN | roastbeef _^_EN | ||||
// Main exceptions list | // Main exceptions list | ||||
//===================== | //===================== | ||||
abort ab'O*t | abort ab'O*t | ||||
absentier apzEnt'i:* | |||||
abstinent $3 | |||||
achsig 'aksIC2 | |||||
akazie $alt | |||||
allein $2 | allein $2 | ||||
andre and@-*@ // andere | andre and@-*@ // andere | ||||
anomalie $2 | anomalie $2 | ||||
akazie $alt | |||||
antik ant'i:k | |||||
archaik a*k'A:Ik | |||||
arie $alt | arie $alt | ||||
arterie $alt | arterie $alt | ||||
asphalt $2 | |||||
außerdem aUs3de:m | außerdem aUs3de:m | ||||
aventurin avEntu:*'i:n | |||||
avenue av@n'y: | |||||
balkan $1 | |||||
balkon $2 | |||||
beben be:b@n | beben be:b@n | ||||
beere be:*@ | beere be:*@ | ||||
bestie bEstI@ | bestie bEstI@ | ||||
best bEst | best bEst | ||||
beten be:t@n | beten be:t@n | ||||
bizarr $2 | |||||
bronchie $alt | bronchie $alt | ||||
changier SaNZ'i:* | |||||
ciao tSaU | ciao tSaU | ||||
coup ku: | coup ku: | ||||
direkt $2 | direkt $2 | ||||
dritte d@-*It@ | dritte d@-*It@ | ||||
extravagant $1 | |||||
einander aIn'and3 | einander aIn'and3 | ||||
einerlei aIn@*laI | |||||
einig aInIC $only | einig aInIC $only | ||||
einige aInIg@ $u+ | einige aInIg@ $u+ | ||||
einiges aInIg@s $u+ | einiges aInIg@s $u+ | ||||
endivie $alt | endivie $alt | ||||
erde E*d@ | |||||
erst E*st | |||||
endlich EntlIC | |||||
episkopal e:pIsko:p'A:l | |||||
erde e:*d@ | |||||
erst e:*st | |||||
ersten e:*st@n | |||||
erstmal e:*stma:l | |||||
extrem Ekstr'e:m | |||||
feuerrot $3 | |||||
furie $alt | furie $alt | ||||
geben ge:b@n | geben ge:b@n | ||||
geber ge:b3 | |||||
gebt ge:bt | |||||
gegenüber ge:g@n'y:b3 | gegenüber ge:g@n'y:b3 | ||||
gemein g@maIn | gemein g@maIn | ||||
genial ge:nI'al | genial ge:nI'al | ||||
hostie $alt | hostie $alt | ||||
immobilie $alt | immobilie $alt | ||||
indem Ind'e:m | |||||
inden Ind'e:n | |||||
inder Ind3 | |||||
indes Ind'Es | |||||
indessen Ind'Es@n | |||||
injurie $alt | injurie $alt | ||||
insbesondere $3 | insbesondere $3 | ||||
interess Int@*'Es | interess Int@*'Es | ||||
kamelie $alt | kamelie $alt | ||||
kastanie $alt | kastanie $alt | ||||
kid kId | kid kId | ||||
kommend kOm'End | |||||
kommend kOm'@nd | |||||
komödie $alt | komödie $alt | ||||
konkret k%ONk@-*e:t | konkret k%ONk@-*e:t | ||||
kurie $alt | kurie $alt | ||||
marginalie $alt | marginalie $alt | ||||
materie $alt | materie $alt | ||||
menuette mEnu:'Et | menuette mEnu:'Et | ||||
minut $2 | |||||
mikrofiche maIk@-*o:fIS | mikrofiche maIk@-*o:fIS | ||||
miteinander $1 | miteinander $1 | ||||
mitte mIt@ | mitte mIt@ | ||||
modell mo:d'El | |||||
mumie $alt | mumie $alt | ||||
nebulos $3 | |||||
oberen o:b@*@n | oberen o:b@*@n | ||||
oboe o:bo:@ | oboe o:bo:@ | ||||
orgie $alt | orgie $alt | ||||
ok o:k'e: | ok o:k'e: | ||||
passage pas'aZ@ | |||||
petersilie $alt | petersilie $alt | ||||
pinie $alt | pinie $alt | ||||
planet plan'Et | |||||
pochier pOS'i:* | |||||
pochs pOxs | |||||
präsident $3 | präsident $3 | ||||
prämie $alt | prämie $alt | ||||
problem p@-*Obl'e:m | problem p@-*Obl'e:m | ||||
sogar $2 | sogar $2 | ||||
soweit $2 | soweit $2 | ||||
sowohl $2 | sowohl $2 | ||||
spinozaisch spi:n'o:tsaIS | |||||
stalagmit stalagm'It | |||||
system z%IstEm | system z%IstEm | ||||
tag tA:g | tag tA:g | ||||
the D@ // English | the D@ // English | ||||
theater te:'A:t3 | theater te:'A:t3 | ||||
train t@-*e:n | |||||
tuerei tu:*aI | tuerei tu:*aI | ||||
unten Unt@n | unten Unt@n | ||||
woher vo:h'e:r | woher vo:h'e:r | ||||
verein fE*'aIn | verein fE*'aIn | ||||
vielbesprochen $3 | |||||
vielleicht $2 | vielleicht $2 | ||||
vorbei fO*b'aI | |||||
vorbei fo:*b'aI | |||||
vorher fo:*h'e:* | |||||
vorherig fo:*h'e:*IC | |||||
vorig fo:*IC | |||||
//wahrscheinlich $2 | //wahrscheinlich $2 | ||||
warum vA:*'Um | warum vA:*'Um |
.group a | .group a | ||||
_) a (_ A: | _) a (_ A: | ||||
a A: | |||||
a A | |||||
aa A: | aa A: | ||||
ah (+ A: | ah (+ A: | ||||
ael A:El | ael A:El | ||||
ay aI | ay aI | ||||
au aU | au aU | ||||
ab (t_ A:p | |||||
ag (t_ A:k | |||||
_) ab (C@P2 _!'ap | _) ab (C@P2 _!'ap | ||||
_) ab (arP2 _!'ap | _) ab (arP2 _!'ap | ||||
_) ab (nor %ap | |||||
_) ab (or ap_| | |||||
_) ab (sor %ap | |||||
_) ab (str %ap | |||||
_) ab (sur %ap | |||||
_) abb (a %ab | _) abb (a %ab | ||||
_) abb (rev ab | _) abb (rev ab | ||||
_) abd (+ apd | |||||
_) abend A:b@nt | _) abend A:b@nt | ||||
_) aberr ab_|E* | |||||
_) ab (er@P2 'ap | _) ab (er@P2 'ap | ||||
_) abge (@ 'abg@ | |||||
_) ab (i ab | |||||
_) abzu 'abtsu: | |||||
_) ab (i ap | |||||
_) ab (j ap | |||||
_) ab (se ap | |||||
_) ab (so %ap | |||||
_) ab (sz ap | |||||
_) abzu 'aptsu: | |||||
_) ac (et ats | |||||
_) ad (ju at | |||||
_) an (@P2 _!'an | _) an (@P2 _!'an | ||||
_) an (aly %an | |||||
_) an (a %an | |||||
_) a (natioP1 'A: | |||||
_) anath anat | |||||
_) an (der an | _) an (der an | ||||
_) anti (@P4 ,antI | _) anti (@P4 ,antI | ||||
_) an (tw an | _) an (tw an | ||||
_) auf (@P3 _!'aUf | _) auf (@P3 _!'aUf | ||||
_) aus (@P3 _!'aUs | _) aus (@P3 _!'aUs | ||||
a (_ A: | |||||
a (C_ A: | |||||
s) a (g A: | |||||
@l) a (g A: | |||||
scl) a (g A: | |||||
s) a (m_ A: | |||||
s) a (mkeit A: | |||||
a (isier a | |||||
_) achs (@P4 'aks | |||||
_) achs (el 'aks | |||||
_) air _^_EN | _) air _^_EN | ||||
ai (sch A:I | |||||
tr) ain En | |||||
akqu %akv | akqu %akv | ||||
@A) al (_ 'al | |||||
@) an (_ 'an | |||||
@A) al (_ 'A:l | |||||
k) al (_ 'A:l | |||||
n) al (_ 'A:l | |||||
&kan) al (_ ,A:l | |||||
&sign) al (_ ,A:l | |||||
@) an (_ 'A:n | |||||
ein) an (der 'an | |||||
@) ant (_ 'ant | @) ant (_ 'ant | ||||
_) anthropo ,ant@-*o:p%o: | _) anthropo ,ant@-*o:p%o: | ||||
_) anti (@P4 ,anti: | _) anti (@P4 ,anti: | ||||
anier (_ 'A:ni:3 | |||||
arier (_ 'A:*i:3 | |||||
adier (_ 'A:di:3 | |||||
anier (_N 'A:ni:3 | |||||
_) appe (ll@ ,apE | |||||
_) archa (i %a*CA | |||||
arier (_N 'A:*i:3 | |||||
@l) ar (_ 'A:* | |||||
@t) ar (_ 'A:* | |||||
a (rch_ 'A: | |||||
@) at (_ 'A:t | @) at (_ 'A:t | ||||
@) atisch (_S6 'A:tIS | @) atisch (_S6 'A:tIS | ||||
@) atisieren (_S9 A:tIs'i:*@n | @) atisieren (_S9 A:tIs'i:*@n | ||||
a (tion a | a (tion a | ||||
_) au (Ceinand aU | |||||
_) aufent aUf@nt | |||||
_) authen aUtEn | |||||
.group b | .group b | ||||
_) b (_ be: | _) b (_ be: | ||||
_) be (@P2 b@ | _) be (@P2 b@ | ||||
&Cen) be (C@ b@ | &Cen) be (C@ b@ | ||||
ungs) be (C@ b@ | |||||
_) b (eHC b | _) b (eHC b | ||||
_) be (C% bE | _) be (C% bE | ||||
_) bei (P3 b'aI | _) bei (P3 b'aI | ||||
_) bei (de baI | _) bei (de baI | ||||
_) bei (ne baI | |||||
_) bei (ß baI | |||||
_) beo (b b,@o: | _) beo (b b,@o: | ||||
_) ba (lA b%a | |||||
_) ba (ll@ b%a | |||||
&) bar (_S3 bA:* | |||||
_) b (ebC b | _) b (ebC b | ||||
_) b (ecC b | _) b (ecC b | ||||
_) b (eet b | _) b (eet b | ||||
_) b (esen b | _) b (esen b | ||||
_) b (ess b | _) b (ess b | ||||
_) b (esten b | _) b (esten b | ||||
bestia bEsti:'A: | |||||
_) b (eug b | _) b (eug b | ||||
_) b (eul b | _) b (eul b | ||||
_) b (eut b | _) b (eut b | ||||
_) blue _^_EN | _) blue _^_EN | ||||
board _^_EN | board _^_EN | ||||
_) boom _^_EN | _) boom _^_EN | ||||
bo (sh bo: | |||||
.group c | .group c | ||||
_) c (_ se: | _) c (_ se: | ||||
a) ch x | a) ch x | ||||
o) ch x | o) ch x | ||||
u) ch x | u) ch x | ||||
fu) ch (s k | |||||
äu) ch C | äu) ch C | ||||
eu) ch C | eu) ch C | ||||
C) chen (_$4 C@n | C) chen (_$4 C@n | ||||
ä) chen (_$4 C@n | ä) chen (_$4 C@n | ||||
e) chen (_$4 C@n | e) chen (_$4 C@n | ||||
i) chen (_$4 C@n | |||||
// i) chen (_$4 C@n | |||||
ü) chen (_$4 C@n | ü) chen (_$4 C@n | ||||
_) chr k@-* | _) chr k@-* | ||||
chs ks | |||||
chs ks (_ | |||||
ck k | ck k | ||||
_) c (el S | _) c (el S | ||||
_) cey tsaI | _) cey tsaI | ||||
chat _^_EN | |||||
chef SEf | chef SEf | ||||
_) c (ent ts | _) c (ent ts | ||||
_) ch (il S | _) ch (il S | ||||
chip _^_EN | |||||
chip (_ _^_EN | |||||
_) ch (ol k | _) ch (ol k | ||||
_) ch (or k | _) ch (or k | ||||
d) d | d) d | ||||
d (_N t | d (_N t | ||||
d (h t | d (h t | ||||
d (s_ t | |||||
ds (_ ts | |||||
dt t | dt t | ||||
ddt t | ddt t | ||||
_) deal _^_EN | _) deal _^_EN | ||||
_) deme de:mE | |||||
demo (g de:mo: | |||||
demo (k de:mo: | |||||
design _^_EN | design _^_EN | ||||
dge (_ _^_EN | dge (_ _^_EN | ||||
_) dia d,i:a | _) dia d,i:a | ||||
eu OI | eu OI | ||||
ey (_ e: | ey (_ e: | ||||
eb (t_ e:p | |||||
eg (t_ e:k | |||||
ell (_ 'El | ell (_ 'El | ||||
&) e (_S1 @ | &) e (_S1 @ | ||||
@t) e (_S1 @ | @t) e (_S1 @ | ||||
e (gt_+ e: | e (gt_+ e: | ||||
&) el (_ @l | &) el (_ @l | ||||
&) eln (_S1 n | &) eln (_S1 n | ||||
&) em (_S2 @m | |||||
&) e (lt_ @ | |||||
&) em (_NS2 @m | |||||
&) em (_ 'e:m | |||||
_) end (C@P3 'Ent | |||||
_) endo (@ ,Endo: | |||||
@) en (_S2 @n | @) en (_S2 @n | ||||
&) end (_N @nt | &) end (_N @nt | ||||
&) end (_ @nd | &) end (_ @nd | ||||
ier) end (_NS3 @nt | |||||
ier) end (_ @nd | |||||
@) ent (_ 'Ent | @) ent (_ 'Ent | ||||
@) entlich @ntl%IC | |||||
@m) ent (_ 'Ent | @m) ent (_ 'Ent | ||||
@m) ente (_ 'Ent@ | @m) ente (_ 'Ent@ | ||||
@) er (C 3 | @) er (C 3 | ||||
&) erer (_S4 @*3 | &) erer (_S4 @*3 | ||||
&) eres (_S4 @*@s | &) eres (_S4 @*@s | ||||
&) er (C_ @* | &) er (C_ @* | ||||
&) er (n_ @r | |||||
er (d_ e:* | |||||
&) er (n_ @* | |||||
&) er (r_ E | &) er (r_ E | ||||
w) er (k_ E* | w) er (k_ E* | ||||
&) er (nd_ @* | |||||
@) erin (_ @rIn | |||||
@) es (_S2 @s | @) es (_S2 @s | ||||
&) et (_ @t | &) et (_ @t | ||||
ig) et (_S2 @t | ig) et (_S2 @t | ||||
&t) et (_S2 @t | &t) et (_S2 @t | ||||
ier) et (_S2 @t | |||||
&) est (_S3 @st | &) est (_S3 @st | ||||
&) este (_S4 @st@ | &) este (_S4 @st@ | ||||
&) estem (_S5 @st@m | &) estem (_S5 @st@m | ||||
&) en (@ E2n // [E2] can reduce to [@] | &) en (@ E2n // [E2] can reduce to [@] | ||||
// &) er (C@ E2* | // &) er (C@ E2* | ||||
&) el (@ E2l | &) el (@ E2l | ||||
m) e (nt E | |||||
@) ei (_ 'aI | @) ei (_ 'aI | ||||
@@) erisch @*IS | @@) erisch @*IS | ||||
&) erung (_ =@*UN | &) erung (_ =@*UN | ||||
_) eil (aP3 'aIl | |||||
_) eil (fP3 'aIl | |||||
_) ein (@P3 _!'aIn | _) ein (@P3 _!'aIn | ||||
ein (and _|%aIn | ein (and _|%aIn | ||||
_) eine (r@ aIn@ | |||||
_) einig aInIg | _) einig aInIg | ||||
mod) e (l@ E | |||||
s) e (lig e: | |||||
_) emp (@P3 _|%Emp | _) emp (@P3 _|%Emp | ||||
_) emph (@ %Emf | |||||
_) emp (ir %Emp | |||||
_) ene (rg %e:nE | |||||
_) ent (@P3 _|%Ent | _) ent (@P3 _|%Ent | ||||
_) enten Ent@n | _) enten Ent@n | ||||
_) ent (er Ent | _) ent (er Ent | ||||
_) epi (@ ,e:pi: | |||||
_) epi (sk e:pI | |||||
_) er (@P2 _|%E* | _) er (@P2 _|%E* | ||||
_) er (gie E* | |||||
_) er (beK E* | |||||
_) er (HC E* // lC, mC, nC, rC | _) er (HC E* // lC, mC, nC, rC | ||||
_) ergeb (nis E*g'e:b | _) ergeb (nis E*g'e:b | ||||
_) er (stC E* | _) er (stC E* | ||||
_) er (ste E* | _) er (ste E* | ||||
_) er (ste@@P2 _|%E* | _) er (ste@@P2 _|%E* | ||||
mod) er (n E* | |||||
_) entert _^_EN | _) entert _^_EN | ||||
er (dig e:* | er (dig e:* | ||||
_) erob (er %E*o:b | _) erob (er %E*o:b | ||||
@) eur (_ 'Y:* | @) eur (_ 'Y:* | ||||
euse (_ 'Y:z@ | |||||
eusen (_ 'Y:z@n | |||||
.group f | .group f | ||||
f f | f f | ||||
f) f | f) f | ||||
_) fest (P4 f'Est | |||||
_) faks (i f%akz | |||||
_) farb (C@P4 f'a*p | |||||
_) farb (l@P4 f'a*b | |||||
_) fein (@P4 f'aIn | |||||
_) fest (@P4 f'Est | |||||
_) flug fl'u:g | _) flug fl'u:g | ||||
foto fo:to: | |||||
_) free _^_EN | _) free _^_EN | ||||
_) feudal f%OIdA:l | |||||
_) feuer (@ fOI@* | |||||
.group g | .group g | ||||
_) g (_ ge: | _) g (_ ge: | ||||
_) g (eHC g // hC, lC, mC, nC, rC | _) g (eHC g // hC, lC, mC, nC, rC | ||||
_) ge (@P2 g@ | _) ge (@P2 g@ | ||||
g (ei+ g | |||||
ungs) ge (C@ g@ | |||||
_) ge (beX ge: | |||||
g (ei+ g | |||||
_) gn (A g@-n | _) gn (A g@-n | ||||
B) gn (A g@-n | B) gn (A g@-n | ||||
gegen (_ ge:g@n | gegen (_ ge:g@n | ||||
gegn ge:gn | gegn ge:gn | ||||
gehen ge:@n | gehen ge:@n | ||||
_) geh (eX ge: | |||||
general ge:nE*'al | general ge:nE*'al | ||||
_) g (ener g | _) g (ener g | ||||
_) g (eo+ g | _) g (eo+ g | ||||
_) ge (orP2 g@ | |||||
ge (rman gE | |||||
ge (rät g@ | |||||
@) ght (_ _^_EN | @) ght (_ _^_EN | ||||
graph g@-*A:f | |||||
graph (_ g@-*'A:f | |||||
green _^_EN | green _^_EN | ||||
guide _^_EN | guide _^_EN | ||||
h) h | h) h | ||||
ch) h h | ch) h h | ||||
_) herauf (P6 hE*'aUf | |||||
_) herab (P5 hE*'ab | _) herab (P5 hE*'ab | ||||
_) heran (P5 hE*'an | |||||
_) herauf (P6 hE*'aUf | |||||
_) heraus (P6 hE*'aUs | _) heraus (P6 hE*'aUs | ||||
_) herbei (P6 hE*'baI | _) herbei (P6 hE*'baI | ||||
_) herein (P6 hE*'aIn | |||||
_) herüber (P7 hE*'y:b3 | |||||
_) herum (P5 hE*'Um | _) herum (P5 hE*'Um | ||||
_) herunter (P8 hE*'Unt3 | |||||
_) hervor (P6 hE*f'Or | _) hervor (P6 hE*f'Or | ||||
_) hier (@ h%i:* | _) hier (@ h%i:* | ||||
_) hinab (P5 hIn'ab | _) hinab (P5 hIn'ab | ||||
_) hinan (P5 hIn'an | |||||
_) hinauf (P6 hIn'aUf | _) hinauf (P6 hIn'aUf | ||||
_) hinaus (P6 hIn'aUs | _) hinaus (P6 hIn'aUs | ||||
_) hinein (P6 hIn'aIn | _) hinein (P6 hIn'aIn | ||||
_) hinunter (P8 hIn'Unt3 | |||||
_) hinweg (P6 hInv'e:g | _) hinweg (P6 hInv'e:g | ||||
_) hinzu (P5 hInts'u: | _) hinzu (P5 hInts'u: | ||||
_) hinge (@P5 h'Ing@ | _) hinge (@P5 h'Ing@ | ||||
_) hinter (@P6 h,Int3 | |||||
_) haupt (@@P5 h'aUpt | _) haupt (@@P5 h'aUpt | ||||
// @) heit (_S4 haIt | // @) heit (_S4 haIt | ||||
_) hero h%e:*o: | |||||
_) high _^_EN | _) high _^_EN | ||||
_) hinter (@ h,Int3 | _) hinter (@ h,Int3 | ||||
_) hoch (@P4 h'o:x | |||||
hoch ho:x | |||||
_) hyper _^_EN | _) hyper _^_EN | ||||
.group i | .group i | ||||
_) i ( i: | _) i ( i: | ||||
i i: | i i: | ||||
ie i: | |||||
ih (+ i: | ih (+ i: | ||||
ieh i: | |||||
i (C% I | i (C% I | ||||
i (CC I | i (CC I | ||||
@) i (ng I | @) i (ng I | ||||
&CC) i (_ =i: | &CC) i (_ =i: | ||||
@) i (at_ I | |||||
&) ie (ll_ i:,E | |||||
&) ier (_ 'i:3 | |||||
r) ien (@ IEn | |||||
&) ien (_S1 n | |||||
&n) ien (_ I@n | |||||
&) iens (_ =I;@ns | |||||
&) ient (_ =I;@nt | |||||
sch) ie (n i: | |||||
@) ieren 'i:*@n | |||||
@) iere (_ 'i:*@ | |||||
@) ieret (_ 'i:*@t | |||||
@) ierest (_ 'i:*@st | |||||
@) ierst (_ 'i:*st | |||||
@) iert (_ 'i:*t | |||||
ierungs 'i:*UNs | |||||
ierung 'i:*UN | |||||
ib (t_ i:p | |||||
@) i (at_ I | |||||
i (d_ 'i: | |||||
i (erin =i: | |||||
ig (C IC | ig (C IC | ||||
ig (m Ig | ig (m Ig | ||||
ig (n Ig | ig (n Ig | ||||
ig (l Ig | ig (l Ig | ||||
ig (r Ig | ig (r Ig | ||||
ig (ung Ig | |||||
ig (end_ Ig | ig (end_ Ig | ||||
igh aI | |||||
igtet Ikt@t | igtet Ikt@t | ||||
igtest Ikt@st | igtest Ikt@st | ||||
&) ig (_N IC | &) ig (_N IC | ||||
@) igsten (_ ICst@n | @) igsten (_ ICst@n | ||||
@) igster (_ ICst3 | @) igster (_ ICst3 | ||||
@) igstes (_ ICst@s | @) igstes (_ ICst@s | ||||
i (i i:_! | |||||
@) ik (_ 'i:k | @) ik (_ 'i:k | ||||
@t) ik (_ =i:k | @t) ik (_ =i:k | ||||
polit) ik 'i:k | polit) ik 'i:k | ||||
@) ik (el_ 'i:k | @) ik (el_ 'i:k | ||||
@) ie (_ 'i: | |||||
bakter) ie =I@ | |||||
famil) ie =I@ | |||||
fer) ie (n =I@ | |||||
fol) ie (_ =I@ | |||||
formal) ie =I@ | |||||
stud) ie (_ =I@ | |||||
igh aI | |||||
r) i (na_ 'i: | |||||
@) ing (_N _^_EN | @) ing (_N _^_EN | ||||
_) inter Int@* | |||||
@) ion (_ j'o:n | @) ion (_ j'o:n | ||||
@) ional (_ jo:n,al | |||||
@) io (n Io: | |||||
@) is (_ Is | @) is (_ Is | ||||
&) isch (_ =IS | &) isch (_ =IS | ||||
is (mus_ 'Is | |||||
@) ist (_ 'Ist | @) ist (_ 'Ist | ||||
@) it (_N 'It | @) it (_N 'It | ||||
@) ite (_ 'i:t@ | @) ite (_ 'i:t@ | ||||
@) ität (_S4 i:t'E:t | @) ität (_S4 i:t'E:t | ||||
@s) i (v_ 'i: | |||||
@t) i (v_ 'i: | |||||
.group ie | |||||
ie i: | |||||
ieh i: | |||||
@) ie (_ 'i: | |||||
&) ie (ll_ i:,E | |||||
&) ie (r_ 'i: | |||||
&) ie (rlich 'i: | |||||
r) ien (@ IEn | |||||
&) ien (_ =I@n | |||||
&b) ien (_ =i:@n | |||||
g) ien (_ 'i:@n | |||||
m) ien (_ 'i:@n | |||||
ph) ien (_ 'i:@n | |||||
&n) ien (_ I@n | |||||
p) ien (_ 'i:@n | |||||
&r) ien (_ =i:@n | |||||
s) ien (_ 'i:@n | |||||
t) ien (_ 'i:@n | |||||
&) iens (_ =I;@ns | |||||
&) ient (_ =I;@nt | |||||
sch) ie (n i: | |||||
// @) ieren 'i:*@n | |||||
@) ie (reX 'i: | |||||
// @) iere (_ 'i:*@ | |||||
// @) ierer (_ 'i:*3 | |||||
// @) ieret (_ 'i:*@t | |||||
// @) ierest (_ 'i:*@st | |||||
// @) ierst (_ 'i:*st | |||||
// @) iert (_ 'i:*t | |||||
ierungs 'i:*UNs | |||||
ierung 'i:*UN | |||||
bakter) ie =I@ | |||||
famil) ie =I@ | |||||
fer) ie (n =I@ | |||||
fol) ie (_ =I@ | |||||
formal) ie =I@ | |||||
stud) ie (_ =I@ | |||||
.group j | .group j | ||||
_) j (_ jOt | _) j (_ jOt | ||||
j j | j j | ||||
lin (_ l'i:n | lin (_ l'i:n | ||||
l) lin (_ 'i:n | l) lin (_ 'i:n | ||||
lady _^_EN | |||||
_) land (C@P4 l'ant | _) land (C@P4 l'ant | ||||
_) landes (@P6 l'and@s | _) landes (@P6 l'and@s | ||||
_) lang (C@P4 l'aN | _) lang (C@P4 l'aN | ||||
_) lang (t@ l'aN | |||||
langsam l'aNzA:m | langsam l'aNzA:m | ||||
_) leb (C le:p | |||||
_) leb (C@@P3 'le:p | |||||
_) leben (dig le:b'En | |||||
_) lehr (CP4 l'e:* | |||||
_) leit (@P4 l'aIt | _) leit (@P4 l'aIt | ||||
_) lern (@@P4 l'E*n | |||||
_) lexi (@ lEksi: | |||||
@) lich (_$4 lIC | @) lich (_$4 lIC | ||||
lady _^_EN | |||||
@) liche (_$5 lIC@ | |||||
@) lichem (_$6 lIC@m | |||||
@) lichen (_$6 lIC@n | |||||
@) licher (_$6 lIC3 | |||||
@) liches (_$6 lIC@s | |||||
@) lichere (_$7 lIC@*@ | |||||
@) licherem (_$8 lIC@*@m | |||||
@) licheren (_$8 lIC@*@n | |||||
@) licherer (_$8 lIC@*@3 | |||||
@) licheres (_$8 lIC@*@s | |||||
@) lichste (_$7 lICst@ | |||||
@) lichstem (_$8 lICst@m | |||||
@) lichsten (_$8 lICst@n | |||||
@) lichster (_$8 lICst@r | |||||
@) lichstes (_$8 lICst@s | |||||
@) lichkeit (_$8 lICk%aIt | |||||
@) lichung (_$7 lIC%UN | |||||
@) lo (gisch l'o: | @) lo (gisch l'o: | ||||
.group m | .group m | ||||
nk (A nk | nk (A nk | ||||
nce (_ _^_EN | nce (_ _^_EN | ||||
nebeneina (nd n,e:b@n_|aIn'a | |||||
&in) nen (_S3 @n | |||||
&) ness _^_EN | &) ness _^_EN | ||||
news _^_EN | news _^_EN | ||||
nieder ni:d3 | nieder ni:d3 | ||||
o (x O | o (x O | ||||
&CC) o (_ =o: | &CC) o (_ =o: | ||||
ob (t_ o:p | |||||
og (t_ o:k | |||||
_) ober (@P4 _|,o:b3 | _) ober (@P4 _|,o:b3 | ||||
_) ober (ste o:b3 | _) ober (ste o:b3 | ||||
@A) on (_ 'o:n | |||||
_) ob (jek %Op | |||||
_) obst (reP4 'o:pst | |||||
@) o (g_ 'o: | |||||
@) o (gin_ 'o: | |||||
o (m_ 'o: | |||||
@A) o (n_ 'o: | |||||
@) oo (_ u: | @) oo (_ u: | ||||
r) oo (m u: | |||||
z) oo (m u: | |||||
&t) or (_ =o:* | &t) or (_ =o:* | ||||
pf pF | pf pF | ||||
ph f | ph f | ||||
passagie pasaZ'i: | |||||
_) pay _^_EN | _) pay _^_EN | ||||
_) peri p,e:*i: | |||||
_) periphe p,e:*i:fe: | |||||
philie f'i:li: | philie f'i:li: | ||||
_) pro (@ %p@-*o: | _) pro (@ %p@-*o: | ||||
_) po (e p%o: | _) po (e p%o: | ||||
_) poe (sc pY: | _) poe (sc pY: | ||||
_) poly (@P4 p,o:ly: | |||||
partei p%a*taI | partei p%a*taI | ||||
_) perfe (k p%E*fE | |||||
pool _^_EN | pool _^_EN | ||||
power _^_EN | power _^_EN | ||||
_) preß (@P4 p@-*'Es | _) preß (@P4 p@-*'Es | ||||
&) schaft (_S6 Saft | &) schaft (_S6 Saft | ||||
schein (lich S'aIn | schein (lich S'aIn | ||||
schwer Sve:* | schwer Sve:* | ||||
_) sechs (P5 z'Eks | |||||
_) selbst (@@P6 z'Elpst | _) selbst (@@P6 z'Elpst | ||||
shop _^_EN | shop _^_EN | ||||
_) sky _^_EN | _) sky _^_EN | ||||
soldat z%OldA:t | soldat z%OldA:t | ||||
so (rt_ s_|O | |||||
sound _^_EN | sound _^_EN | ||||
speed _^_EN | speed _^_EN | ||||
_) street _^_EN | _) street _^_EN | ||||
K) th t | K) th t | ||||
tz ts | tz ts | ||||
// &B) te (_$2 t@ | |||||
&t) te (_ @ | &t) te (_ @ | ||||
// &B) ten (_$3 t@n | |||||
// &t) ten (_ @n | // &t) ten (_ @n | ||||
// &B) tet (_$3 t@t | |||||
ier) t (_S1 t | |||||
ier) te (_S2 t@ | |||||
ier) tem (_S3 t@m | |||||
ier) ten (_S3 t@n | |||||
ier) ter (_S3 t3 | |||||
ier) tes (_S3 t@s | |||||
ier) tet (_S3 t@t | |||||
ier) tere (_S4 t@*@ | |||||
ier) terem (_S5 t@*@m | |||||
ier) teren (_S5 t@*@n | |||||
ier) terer (_S5 t@*3 | |||||
ier) teres (_S5 t@*@s | |||||
ier) tst (_S3 tst | |||||
ier) tste (_S4 tst@ | |||||
ier) tstem (_S5 tst@m | |||||
ier) tsten (_S5 tst@n | |||||
ier) tster (_S5 tst3 | |||||
ier) tstes (_S5 tst@s | |||||
ier) test (_S4 t@st | |||||
ier) teste (_S5 t@st@ | |||||
ier) testem (_S6 t@st@m | |||||
ier) testen (_S6 t@st@n | |||||
ier) tester (_S6 t@st3 | |||||
ier) testes (_S6 t@st@s | |||||
tch tS | tch tS | ||||
_) teen _^_EN | _) teen _^_EN | ||||
thrill _^_EN | thrill _^_EN | ||||
_pa) th t | |||||
@) tient (_ tsI'Ent | @) tient (_ tsI'Ent | ||||
@) tion tsI,o:n | |||||
@) tion (_ tsI'o:n | @) tion (_ tsI'o:n | ||||
@) ti (v_ t'i: | |||||
_) trail _^_EN | _) trail _^_EN | ||||
_) train _^_EN | |||||
_) tranqu _^_EN | _) tranqu _^_EN | ||||
_) tw _^_EN | _) tw _^_EN | ||||
u (x U | u (x U | ||||
@) u (ng U | @) u (ng U | ||||
ub (t_ u:p | |||||
ug (t_ u:k | |||||
@) u (m_ U | @) u (m_ U | ||||
rt) u (m_ u: | rt) u (m_ u: | ||||
_) un Un | _) un Un | ||||
_) un (C@P2 'Un | |||||
_) unbe (@P4 _|,Unb@ | |||||
_) unge (@P4 _|,Ung@ | |||||
_) unver (@P5 _|,UnfE* | |||||
_) un (iv u:n | |||||
_) un (@P2 _|'Un | |||||
_) unab (@P4 _|,Un_|'ap | |||||
_) unan (@P4 _|,Un_|'an | |||||
_) unauf (@P5 _|,Un_|'aUf | |||||
_) unaus (@P5 _|,Un_|'aUs | |||||
_) unbe (@P4 _|'Unb@ | |||||
_) unein (@P5 _|,Un_|'aIn | |||||
_) unge (@P4 _|'Ung@ | |||||
_) unver (@P5 _|'UnfE* | |||||
_) un (i u:n | |||||
_) un (in@P2 _|'Un | |||||
_) unum (@P4 _|,Un_|'Um | |||||
_) under _^_EN | _) under _^_EN | ||||
_) unter (@P5 _|%Unt3 | |||||
_) unter (@P5 _|,Unt3 | |||||
rep) u (bl u: | |||||
s) u (ch u: | |||||
&) uela (_ u:,e:la | &) uela (_ u:,e:la | ||||
@) uerisch (_ 'u:*IS | @) uerisch (_ 'u:*IS | ||||
_) ultra (@P5 ,Ultra | |||||
um (_ Um | |||||
t) um (_ u:m | |||||
&) ungs (A %UNs_| // upto "ungs" is a prefix? | |||||
_) u (rk u: | |||||
_) u (rl u: | |||||
_) u (rv u: | |||||
us (_ Us | |||||
_) user _^_EN | _) user _^_EN | ||||
ol) u (t_ u: | |||||
_) ueber (@P5 _|,y:b3 | _) ueber (@P5 _|,y:b3 | ||||
_) v (_ faU | _) v (_ faU | ||||
v v | v v | ||||
v) v | v) v | ||||
v (_N f | |||||
_) v f | _) v f | ||||
_) vie fi: | _) vie fi: | ||||
_) vi (et v,i: | |||||
_) vi (CC vI | _) vi (CC vI | ||||
_) vi vi: | _) vi vi: | ||||
_) v v | |||||
_) v (ater f | |||||
_) v (ie f | |||||
_) v (iet v | |||||
_) v (iz f | |||||
_) v (oll f | |||||
_) v (olk f | |||||
_) v (on f | |||||
_) vehe ve:he: | |||||
_) ver (@P3 f%E* | _) ver (@P3 f%E* | ||||
_) vor (@P3 'fO* | |||||
_) ver (bal v%E* | |||||
_) viel (@P4 f'i:l | |||||
_) vier (g@P4 f'i:* | |||||
_) viet vIEt | |||||
_) voll (C@P4 f'Ol | |||||
_) voll (br f%Ol | |||||
_) voll (end f%Ol_| | |||||
_) voll (ko f%Ol | |||||
_) voll (stre f%Ol | |||||
_) voll (z f%Ol | |||||
_) vorder fO*d@* | |||||
-) vorha (nd fo:*h'a | |||||
_) vor (ne 'fO* | _) vor (ne 'fO* | ||||
_) vorbei (@P6 fO*'baI | |||||
voraus fO*'aUs | |||||
vorüber fO*'yb3 | |||||
_) vor (@P3 'fo:* | |||||
_) voraus (@P6 fo:*'aUs | |||||
_) vorbei (@P6 fo:*'baI | |||||
_) vorher (@P6 fo:*h'e:* | |||||
_) vorüber (@P7 fo:*'yb3 | |||||
.group w | .group w | ||||
_) w (_ ve: | _) w (_ ve: | ||||
@) wert (_ vE*t | @) wert (_ vE*t | ||||
_) wh _^_EN | _) wh _^_EN | ||||
&) ware (_ _^_EN | &) ware (_ _^_EN | ||||
_) wasch (@P5 v'aS | |||||
_) wo (hin v%o: | _) wo (hin v%o: | ||||
_) wohl (@P4 v'o:l | _) wohl (@P4 v'o:l | ||||
work _^_EN | work _^_EN | ||||
y y: | y y: | ||||
y (CC y | y (CC y | ||||
y (x y | y (x y | ||||
y (A j | |||||
_) y (A j | |||||
A) y (A j | |||||
@) y (_ I | @) y (_ I | ||||
t) y (_ _^_EN | t) y (_ _^_EN | ||||
_) zer (@ %tsE* | _) zer (@ %tsE* | ||||
_) zu (C@P2 ts%u: | _) zu (C@P2 ts%u: | ||||
_) zu (nC tsU | |||||
_) zurück (@P6 tsu:*'yk | |||||
_) zyklo (@P5 ,tsy:klo: | |||||
zylin ts%i:lIn | |||||
.group ä | .group ä | ||||
ä E: | ä E: | ||||
äh (+ e: | äh (+ e: | ||||
äu OI | |||||
ä (C% E | ä (C% E | ||||
ä (CC E | ä (CC E | ||||
ä (sch E | ä (sch E | ||||
äu OI | |||||
äb (t_ E:p | |||||
äg (t_ E:k | |||||
t) ät (_ 'E:t | |||||
.group ö | .group ö | ||||
ö Y: | ö Y: | ||||
ü (sch y | ü (sch y | ||||
ü (x y | ü (x y | ||||
üb (t_ y:p | |||||
üg (t_ y:k | |||||
_) über (@P4 _|,y:b3 | _) über (@P4 _|,y:b3 | ||||
.group ß | .group ß |
Dictionary de_dict | Dictionary de_dict | ||||
3 @ @- a A: aI aU E | |||||
E2 E: e: I i: O o: OI | |||||
U u: W y y: Y: | |||||
* ; b C d D f g | |||||
h j k l m n N p | |||||
pF r s S t tS ts v | |||||
x z | |||||
3 @ @- a A A: aI aU | |||||
E E2 E: e: I i: O o: | |||||
OI U u: W y y: Y: | |||||
* : ; b C C2 d D | |||||
f g h j k l m n | |||||
N p pF r s S t tS | |||||
ts v x z Z | |||||
Dictionary el_dict | Dictionary el_dict |
e E | e E | ||||
j) e e | j) e e | ||||
e (j e | e (j e | ||||
r) e e | |||||
._) exe (%ekse // filetype | |||||
._) exe %ekse // filetype | |||||
.group f | .group f | ||||
f f | f f | ||||
.group i | .group i | ||||
i i | i i | ||||
._) ini (%ini // filetype | |||||
._) ini %ini // filetype | |||||
.group j | .group j | ||||
j j | j j |
en_wm 30 144 | en_wm 30 144 | ||||
af 37 127 | af 37 127 | ||||
cy 29 122 | cy 29 122 | ||||
de 29 120 | |||||
de 30 121 | |||||
eo 13 108 | eo 13 108 | ||||
fi 40 127 | fi 40 127 | ||||
fr 32 118 | fr 32 118 | ||||
9 r/tr base en_sc pt_pt | 9 r/tr base en_sc pt_pt | ||||
30 r/trr base af de fi nl ru ro sv sw | 30 r/trr base af de fi nl ru ro sv sw | ||||
11 r/xr base | 11 r/xr base | ||||
1 ufric/ch base | |||||
2 ufric/ch base de | |||||
3 ufric/f base de ro | 3 ufric/f base de ro | ||||
2 ufric/f_ base ro | 2 ufric/f_ base ro | ||||
4 ufric/h_ base fi hi | 4 ufric/h_ base fi hi |
vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
length 240 | length 240 | ||||
formants vowel/aa_6 | formants vowel/aa_6 | ||||
reduceto a 4 // ?? | |||||
endphoneme | endphoneme | ||||
phoneme A | phoneme A | ||||
vowel starttype (a) endtype (a) | vowel starttype (a) endtype (a) | ||||
length 200 | |||||
length 240 | |||||
formants vowel/aa_6 | formants vowel/aa_6 | ||||
reduceto a 4 // ?? | |||||
endphoneme | endphoneme | ||||
phoneme e: | phoneme e: | ||||
vowel starttype (e) endtype (e) | vowel starttype (e) endtype (e) | ||||
length 200 | |||||
length 190 | |||||
formants vowel/e_2 | formants vowel/e_2 | ||||
before * DFT+40 | before * DFT+40 | ||||
endphoneme | endphoneme | ||||
wave ufric/f // could replace this with a [pf] wav file | wave ufric/f // could replace this with a [pf] wav file | ||||
endphoneme | endphoneme | ||||
phoneme C2 // for "ig" -> [IC] or [Ig] | |||||
vls pal frc palatal | |||||
beforevowel g | |||||
vowelin f1=0 f2=2700 400 600 f3=200 70 | |||||
vowelout f1=0 f2=2700 400 600 f3=200 70 rms=20 | |||||
length 100 | |||||
lengthmod 3 | |||||
wave ufric/ch | |||||
endphoneme | |||||
phoneme l/ // used for [l] when not before a vowel | phoneme l/ // used for [l] when not before a vowel | ||||
liquid | liquid | ||||
length 100 | length 100 |
case '$': // obsolete, replaced by S | case '$': // obsolete, replaced by S | ||||
case 'S': | case 'S': | ||||
output[ix++] = RULE_ENDING; | output[ix++] = RULE_ENDING; | ||||
value = 0x80; | |||||
value = 0; | |||||
while(!isspace2(c = *p++) && (c != 0)) | while(!isspace2(c = *p++) && (c != 0)) | ||||
{ | { | ||||
switch(c) | switch(c) | ||||
break; | break; | ||||
default: | default: | ||||
if(isdigit(c)) | if(isdigit(c)) | ||||
value = (c - '0') + 0x80; | |||||
value = (value*10) + (c - '0'); | |||||
break; | break; | ||||
} | } | ||||
} | } | ||||
p--; | p--; | ||||
output[ix++] = sxflags >> 16; | output[ix++] = sxflags >> 16; | ||||
output[ix++] = sxflags >> 8; | output[ix++] = sxflags >> 8; | ||||
c = value; | |||||
c = value | 0x80; | |||||
break; | break; | ||||
} | } | ||||
} | } |
} | } | ||||
#ifdef LOG_TRANSLATE | #ifdef LOG_TRANSLATE | ||||
if((option_phonemes == 2) && (match.points > 0)) | |||||
if((option_phonemes == 2) && (match.points > 0) && ((word_flags & FLAG_NO_TRACE) == 0)) | |||||
{ | { | ||||
// show each rule that matches, and it's points score | // show each rule that matches, and it's points score | ||||
int pts; | int pts; | ||||
} | } | ||||
#ifdef LOG_TRANSLATE | #ifdef LOG_TRANSLATE | ||||
if(option_phonemes == 2) | |||||
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0)) | |||||
{ | { | ||||
if(group_length <= 1) | if(group_length <= 1) | ||||
fprintf(f_trans,"\n"); | fprintf(f_trans,"\n"); | ||||
return(0); | return(0); | ||||
#ifdef LOG_TRANSLATE | #ifdef LOG_TRANSLATE | ||||
if(option_phonemes == 2) | |||||
if((option_phonemes == 2) && ((word_flags & FLAG_NO_TRACE)==0)) | |||||
{ | { | ||||
char wordbuf[120]; | char wordbuf[120]; | ||||
int ix; | int ix; | ||||
if((match1.end_type != 0) && (end_phonemes != NULL)) | if((match1.end_type != 0) && (end_phonemes != NULL)) | ||||
{ | { | ||||
/* a standard ending has been found, re-translate the word without it */ | /* a standard ending has been found, re-translate the word without it */ | ||||
strcpy(end_phonemes,match1.phonemes); | |||||
return(match1.end_type); | |||||
if((match1.end_type & SUFX_P) && (word_flags & FLAG_NO_PREFIX)) | |||||
{ | |||||
// ignore the match on a prefix | |||||
} | |||||
else | |||||
{ | |||||
if((match1.end_type & SUFX_P) && ((match1.end_type & 0x7f) == 0)) | |||||
{ | |||||
// no prefix length specified | |||||
match1.end_type |= p - p_start; | |||||
} | |||||
strcpy(end_phonemes,match1.phonemes); | |||||
return(match1.end_type); | |||||
} | |||||
} | } | ||||
if(match1.del_fwd != NULL) | if(match1.del_fwd != NULL) | ||||
*match1.del_fwd = REPLACED_E; | *match1.del_fwd = REPLACED_E; |
int start; | int start; | ||||
static const char *stress_chars = "==,,'* "; | static const char *stress_chars = "==,,'* "; | ||||
unsigned int replace_ph[] = {',',PH('@','-'),'W','3','y',PH('A',':'),'*',PH('_','!'),PH('_','|'),PH('O','I'),PH('Y',':'),PH('p','F'),PH('E','2'),0}; | |||||
const char *replace_ph2[] = {NULL,NULL, "9","@r","Y", "a:", "r", "?", "?", "OY", "2:", "pf" ,"E",NULL}; | |||||
unsigned int replace_ph[] = {',',PH('@','-'),'W','3','y','A',PH('A',':'),'*',PH('_','!'),PH('_','|'),PH('O','I'),PH('Y',':'),PH('p','F'),PH('E','2'),0}; | |||||
const char *replace_ph2[] = {NULL,NULL,"9","@r","Y","a:", "a:", "r", "?", "?", "OY", "2:", "pf" ,"E",NULL}; | |||||
start = 1; | start = 1; | ||||
FILE *f_out; | FILE *f_out; | ||||
int ix; | int ix; | ||||
int c; | int c; | ||||
int c2; | |||||
char *p; | char *p; | ||||
int stress; | int stress; | ||||
int count=0; | int count=0; | ||||
int start; | int start; | ||||
int matched=0; | int matched=0; | ||||
int defer_stress = 0; | |||||
char buf[120]; | char buf[120]; | ||||
char word[80]; | char word[80]; | ||||
char word2[80]; | char word2[80]; | ||||
if((c == '?') && start) | if((c == '?') && start) | ||||
continue; // omit initial [?] | continue; // omit initial [?] | ||||
if(c == '<') | |||||
{ | |||||
if((c2 = pronounce[ix+1]) == 'i') | |||||
{ | |||||
defer_stress =1; | |||||
#ifdef deleted | |||||
if(stress == 4) | |||||
{ | |||||
*p++ = 'i'; | |||||
c =':'; | |||||
} | |||||
else | |||||
#endif | |||||
{ | |||||
c = 'I'; | |||||
} | |||||
ix++; | |||||
} | |||||
} | |||||
start =0; | start =0; | ||||
if(defer_stress) | |||||
{ | |||||
defer_stress = 0; | |||||
} | |||||
else | |||||
if(stress && (strchr(vowels,c) != NULL)) | if(stress && (strchr(vowels,c) != NULL)) | ||||
{ | { | ||||
if(stress == 4) | if(stress == 4) |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.26.01 09.Jun.07"; | |||||
const char *version_string = "1.26.02 11.Jun.07"; | |||||
const int version_phdata = 0x012601; | const int version_phdata = 0x012601; | ||||
int option_device_number = -1; | int option_device_number = -1; |
int unpron_length; | int unpron_length; | ||||
int add_plural_suffix = 0; | int add_plural_suffix = 0; | ||||
int prefix_flags = 0; | int prefix_flags = 0; | ||||
int confirm_prefix; | |||||
int spell_word; | int spell_word; | ||||
int wflags = wtab->flags; | int wflags = wtab->flags; | ||||
int wmark = wtab->wmark; | int wmark = wtab->wmark; | ||||
c_temp = word[-1]; | c_temp = word[-1]; | ||||
found = 0; | found = 0; | ||||
confirm_prefix = 1; | |||||
while(end_type & SUFX_P) | while(end_type & SUFX_P) | ||||
{ | { | ||||
// Found a standard prefix, remove it and retranslate | // Found a standard prefix, remove it and retranslate | ||||
if(confirm_prefix) | |||||
{ | |||||
int end2; | |||||
char phonemes2[N_WORD_PHONEMES]; | |||||
char end_phonemes2[N_WORD_PHONEMES]; | |||||
// remove any standard suffix and confirm that the prefix is still recognised | |||||
end2 = TranslateRules(word, phonemes2, N_WORD_PHONEMES, end_phonemes2, wflags|FLAG_NO_PREFIX|FLAG_NO_TRACE, dictionary_flags); | |||||
if(end2) | |||||
{ | |||||
RemoveEnding(word,end2,word_copy); | |||||
end_type = TranslateRules(word, phonemes, N_WORD_PHONEMES, end_phonemes, wflags|FLAG_NO_TRACE, dictionary_flags); | |||||
memcpy(word,word_copy,strlen(word_copy)); | |||||
if((end_type & SUFX_P) == 0) | |||||
{ | |||||
// after removing the suffix, the prefix is no longer recognised. | |||||
// Keep the suffix, but don't use the prefix | |||||
end_type = end2; | |||||
strcpy(phonemes,phonemes2); | |||||
strcpy(end_phonemes,end_phonemes2); | |||||
if(option_phonemes == 2) | |||||
{ | |||||
DecodePhonemes(end_phonemes,end_phonemes2); | |||||
fprintf(f_trans," suffix [%s]\n\n",end_phonemes2); | |||||
} | |||||
} | |||||
confirm_prefix = 0; | |||||
continue; | |||||
} | |||||
} | |||||
strcat(prefix_phonemes,end_phonemes); | strcat(prefix_phonemes,end_phonemes); | ||||
end_phonemes[0] = 0; | end_phonemes[0] = 0; | ||||
prefix_type = end_type; | prefix_type = end_type; | ||||
} | } | ||||
c_temp = word[-1]; | c_temp = word[-1]; | ||||
word[-1] = ' '; | word[-1] = ' '; | ||||
confirm_prefix = 1; | |||||
end_type = 0; | end_type = 0; | ||||
found = LookupDictList(word,phonemes,&dictionary_flags2,SUFX_P | (wflags << 16)); | found = LookupDictList(word,phonemes,&dictionary_flags2,SUFX_P | (wflags << 16)); | ||||
dictionary_flags = dictionary_flags2; | dictionary_flags = dictionary_flags2; | ||||
if(found) | if(found) | ||||
prefix_phonemes[0] = 0; // matched whole word, don't need prefix now | prefix_phonemes[0] = 0; // matched whole word, don't need prefix now | ||||
if(found || (dictionary_flags2 != 0)) | |||||
prefix_flags = 1; | |||||
// if(found || (dictionary_flags2 != 0)) | |||||
// prefix_flags = 1; // ?? this looks wrong | |||||
} | } | ||||
if(found == 0) | if(found == 0) | ||||
{ | { |
#define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 | #define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 | ||||
#define FLAG_SUFFIX_REMOVED 0x2000 | #define FLAG_SUFFIX_REMOVED 0x2000 | ||||
#define FLAG_HYPHEN_AFTER 0x4000 | #define FLAG_HYPHEN_AFTER 0x4000 | ||||
#define FLAG_NO_PREFIX 0x8000 | |||||
#define FLAG_NO_TRACE 0x10000 | |||||
// prefix/suffix flags (bits 8 to 14, bits 16 to 22) don't use 0x8000, 0x800000 | // prefix/suffix flags (bits 8 to 14, bits 16 to 22) don't use 0x8000, 0x800000 | ||||
#define SUFX_E 0x0100 // e may have been added | #define SUFX_E 0x0100 // e may have been added |
espeak_VOICE *voices[N_VOICES_LIST]; // list of candidates | espeak_VOICE *voices[N_VOICES_LIST]; // list of candidates | ||||
espeak_VOICE *voices2[N_VOICES_LIST+N_VOICE_VARIANTS]; | espeak_VOICE *voices2[N_VOICES_LIST+N_VOICE_VARIANTS]; | ||||
espeak_VOICE voice_variants[N_VOICE_VARIANTS]; | |||||
static espeak_VOICE voice_variants[N_VOICE_VARIANTS]; | |||||
if(n_voices_list == 0) | if(n_voices_list == 0) | ||||
espeak_ListVoices(NULL); // create the voices list | espeak_ListVoices(NULL); // create the voices list |
gEmphasis = 0; | gEmphasis = 0; | ||||
gSayas = 0; | gSayas = 0; | ||||
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install); | |||||
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,100,path_install,0); | |||||
espeak_SetVoiceByName(voice); | espeak_SetVoiceByName(voice); | ||||
espeak_SetSynthCallback(SynthCallback); | espeak_SetSynthCallback(SynthCallback); | ||||