lang=de improve de_rules. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@34 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -85,225 +85,6 @@ vgl fE*gl'aIC@ | |||
z.b tsUmb'aISpi:l | |||
// English words | |||
//============== | |||
// de_rules includes the words ending in "-ing" | |||
access _^_EN | |||
account _^_EN | |||
aid _^_EN // aids | |||
appeal _^_EN | |||
apple _^_EN | |||
baseball _^_EN | |||
bbc _^_EN | |||
beat _^_EN | |||
browser _^_EN | |||
byte _^_EN | |||
camcorder _^_EN | |||
chart _^_EN | |||
coach _^_EN | |||
coke _^_EN | |||
computer _^_EN | |||
cool _^_EN | |||
couch _^_EN | |||
cursor _^_EN | |||
dj _^_EN | |||
email _^_EN | |||
ensemble _^_FR | |||
event _^_EN | |||
firewall _^_EN | |||
foul _^_EN | |||
foyer _^_EN | |||
frame _^_EN | |||
freak _^_EN | |||
gin _^_EN | |||
groupie _^_EN | |||
hip _^_EN | |||
homepage _^_EN | |||
hooligan _^_EN | |||
interface _^_EN | |||
jean _^_EN | |||
jet _^_EN | |||
job _^_EN | |||
joke _^_EN | |||
joystick _^_EN | |||
junkie _^_EN | |||
laptop _^_EN | |||
laser _^_EN | |||
level _^_EN | |||
login _^_EN | |||
look _^_EN | |||
macho _^_EN | |||
mail _^_EN | |||
message _^_EN | |||
offline _^_EN | |||
online _^_EN | |||
out _^_EN | |||
pair _^_EN | |||
penthouse _^_EN | |||
pidgin _^_EN | |||
plot _^_EN | |||
poster _^_EN | |||
receiver _^_EN | |||
remake _^_EN | |||
roadie _^_EN | |||
roastbeef _^_EN | |||
quiz _^_EN | |||
run _^_EN | |||
scanner _^_EN | |||
science _^_EN | |||
server _^_EN | |||
sex _^_EN | |||
sexy _^_EN | |||
shirt _^_EN | |||
show _^_EN | |||
single _^_EN | |||
slip _^_EN | |||
slum _^_EN | |||
small _^_EN | |||
snob _^_EN | |||
song _^_EN | |||
spam _^_EN | |||
spirit _^_EN | |||
squaw _^_EN | |||
suite _^_EN | |||
sweatshirt _^_EN | |||
talk _^_EN | |||
teaser _^_EN | |||
tech _^_EN | |||
terminal _^_EN | |||
trip _^_EN | |||
tuner _^_EN | |||
unix _^_EN | |||
window _^_EN | |||
word _^_EN | |||
// Main exceptions list | |||
//===================== | |||
allein $2 | |||
andre and@-*@ // andere | |||
anomalie $2 | |||
akazie $alt | |||
arie $alt | |||
arterie $alt | |||
außerdem aUs3de:m | |||
beben be:b@n | |||
beere be:*@ | |||
bestie bEstI@ | |||
best bEst | |||
beten be:t@n | |||
bronchie $alt | |||
ciao tSaU | |||
coup ku: | |||
dahlie $alt | |||
deshalb $2 | |||
dezember $2 | |||
duett du:'Et | |||
direkt $2 | |||
dritte d@-*It@ | |||
einander aIn'and3 | |||
einig aInIC | |||
endivie $alt | |||
erde E*d@ | |||
erst E*st | |||
furie $alt | |||
geben ge:b@n | |||
geber ge:b3 | |||
gegenüber ge:g@n'y:b3 | |||
gemein g@maIn | |||
genial ge:nI'al | |||
geranie ge:*'A:nI@ | |||
gessen gEs@n | |||
geste ge:st@ | |||
gestern gEst3n | |||
gestrig gEst@-*IC | |||
glorie $alt | |||
grazie $alt | |||
handy handI | |||
historie $alt | |||
hm h@m | |||
hostie $alt | |||
immobilie $alt | |||
injurie $alt | |||
insbesondere $3 | |||
interess Int@*'Es | |||
januar janu:A:* | |||
kamelie $alt | |||
kastanie $alt | |||
kid kId | |||
kommend kOm'End | |||
komödie $alt | |||
kurie $alt | |||
lappalie $alt | |||
lilie $alt | |||
linie $alt | |||
luetisch lu:'e:tIS | |||
machen max@n | |||
marginalie $alt | |||
materie $alt | |||
menuette mEnu:'Et | |||
mikrofiche maIk@-*o:fIS | |||
miteinander $1 | |||
mitte mIt@ | |||
mumie $alt | |||
oberen o:b@*@n | |||
oboe o:bo:@ | |||
orgie $alt | |||
ok o:k'e: | |||
petersilie $alt | |||
pinie $alt | |||
präsident $3 | |||
prämie $alt | |||
problem p@-*Obl'e:m | |||
reliquie $alt | |||
rupie $alt | |||
sagt zA:gt | |||
selbst zElpst | |||
serie se:*I;@ | |||
service sE*vIs | |||
sofort $2 | |||
sogar $2 | |||
soweit $2 | |||
sowohl $2 | |||
system z%IstEm | |||
tag tA:g | |||
the D@ // English | |||
theater te:'A:t3 | |||
tuerei tu:*aI | |||
unten Unt@n | |||
verein fE*'aIn | |||
vielleicht $2 | |||
vorbei fO*b'aI | |||
//wahrscheinlich $2 | |||
warum vA:*'Um | |||
zoom zu:m | |||
zuerst tsu:'E*st | |||
zudem tsu:'de:m | |||
zurück $2 | |||
// definite article | |||
der %dE* | |||
die %di: | |||
@@ -331,7 +112,8 @@ bevor be:f'o:* $pause | |||
also $pause $strend | |||
wenn ,vEn $pause $strend | |||
sowie $2 $pause | |||
obgleich $2 $pause | |||
obwohl $2 $pause | |||
deren ,dE*@n $brk | |||
// prepositions | |||
@@ -526,3 +308,232 @@ sollst ,zOlst | |||
sollte ,zOlt@ | |||
sollten ,zOlt@n | |||
// English words | |||
//============== | |||
// de_rules includes the words ending in "-ing" | |||
access _^_EN | |||
account _^_EN | |||
aid _^_EN // aids | |||
appeal _^_EN | |||
apple _^_EN | |||
baseball _^_EN | |||
bbc _^_EN | |||
beat _^_EN | |||
browser _^_EN | |||
byte _^_EN | |||
camcorder _^_EN | |||
chart _^_EN | |||
coach _^_EN | |||
coke _^_EN | |||
computer _^_EN | |||
cool _^_EN | |||
couch _^_EN | |||
cursor _^_EN | |||
dj _^_EN | |||
email _^_EN | |||
ensemble _^_FR | |||
event _^_EN | |||
firewall _^_EN | |||
foul _^_EN | |||
foyer _^_EN | |||
frame _^_EN | |||
freak _^_EN | |||
gin _^_EN | |||
groupie _^_EN | |||
hip _^_EN | |||
homepage _^_EN | |||
hooligan _^_EN | |||
interface _^_EN | |||
jean _^_EN | |||
jet _^_EN | |||
job _^_EN | |||
joke _^_EN | |||
joystick _^_EN | |||
junkie _^_EN | |||
laptop _^_EN | |||
laser _^_EN | |||
level _^_EN | |||
login _^_EN | |||
look _^_EN | |||
macho _^_EN | |||
mail _^_EN | |||
message _^_EN | |||
offline _^_EN | |||
online _^_EN | |||
out _^_EN | |||
pair _^_EN | |||
penthouse _^_EN | |||
pidgin _^_EN | |||
plot _^_EN | |||
poster _^_EN | |||
receiver _^_EN | |||
remake _^_EN | |||
roadie _^_EN | |||
roastbeef _^_EN | |||
quiz _^_EN | |||
run _^_EN | |||
scanner _^_EN | |||
science _^_EN | |||
server _^_EN | |||
sex _^_EN | |||
sexy _^_EN | |||
shirt _^_EN | |||
show _^_EN | |||
single _^_EN | |||
slip _^_EN | |||
slum _^_EN | |||
small _^_EN | |||
snob _^_EN | |||
song _^_EN | |||
spam _^_EN | |||
spirit _^_EN | |||
squaw _^_EN | |||
suite _^_EN | |||
sweatshirt _^_EN | |||
talk _^_EN | |||
teaser _^_EN | |||
tech _^_EN | |||
terminal _^_EN | |||
trip _^_EN | |||
tuner _^_EN | |||
unix _^_EN | |||
window _^_EN | |||
word _^_EN | |||
// Main exceptions list | |||
//===================== | |||
abort ab'O*t | |||
allein $2 | |||
andre and@-*@ // andere | |||
anomalie $2 | |||
akazie $alt | |||
arie $alt | |||
arterie $alt | |||
außerdem aUs3de:m | |||
beben be:b@n | |||
beere be:*@ | |||
bestie bEstI@ | |||
best bEst | |||
beten be:t@n | |||
bronchie $alt | |||
ciao tSaU | |||
coup ku: | |||
dahlie $alt | |||
deshalb $2 | |||
dezember $2 | |||
diadem di:ad'e:m | |||
duett du:'Et | |||
direkt $2 | |||
dritte d@-*It@ | |||
einander aIn'and3 | |||
einig aInIC $only | |||
einige aInIg@ $u+ | |||
einiges aInIg@s $u+ | |||
endivie $alt | |||
erde E*d@ | |||
erst E*st | |||
furie $alt | |||
geben ge:b@n | |||
geber ge:b3 | |||
gegenüber ge:g@n'y:b3 | |||
gemein g@maIn | |||
genial ge:nI'al | |||
geranie ge:*'A:nI@ | |||
gessen gEs@n | |||
geste ge:st@ | |||
gestern gEst3n | |||
gestrig gEst@-*IC | |||
glorie $alt | |||
grazie $alt | |||
handy handI | |||
heimat haImat | |||
historie $alt | |||
hm h@m | |||
hostie $alt | |||
immobilie $alt | |||
injurie $alt | |||
insbesondere $3 | |||
interess Int@*'Es | |||
januar janu:A:* | |||
kamelie $alt | |||
kastanie $alt | |||
kid kId | |||
kommend kOm'End | |||
komödie $alt | |||
kurie $alt | |||
lappalie $alt | |||
lilie $alt | |||
linie $alt | |||
luetisch lu:'e:tIS | |||
machen max@n | |||
marginalie $alt | |||
materie $alt | |||
menuette mEnu:'Et | |||
mikrofiche maIk@-*o:fIS | |||
miteinander $1 | |||
mitte mIt@ | |||
mumie $alt | |||
oberen o:b@*@n | |||
oboe o:bo:@ | |||
orgie $alt | |||
ok o:k'e: | |||
petersilie $alt | |||
pinie $alt | |||
präsident $3 | |||
prämie $alt | |||
problem p@-*Obl'e:m | |||
reliquie $alt | |||
rupie $alt | |||
sabbat zabat | |||
sagt zA:gt | |||
selbst zElpst | |||
serie se:*I;@ | |||
service sE*vIs | |||
sofort $2 | |||
sogar $2 | |||
soweit $2 | |||
sowohl $2 | |||
system z%IstEm | |||
tag tA:g | |||
the D@ // English | |||
theater te:'A:t3 | |||
tuerei tu:*aI | |||
unten Unt@n | |||
woher vo:h'e:r | |||
verein fE*'aIn | |||
vielleicht $2 | |||
vorbei fO*b'aI | |||
//wahrscheinlich $2 | |||
warum vA:*'Um | |||
zoom zu:m | |||
zuerst tsu:'E*st | |||
zudem tsu:'de:m | |||
zurück $2 | |||
@@ -11,15 +11,21 @@ | |||
a (C% a | |||
a (CC a | |||
a (sch a | |||
a (x a | |||
&CC) a (_ =A: | |||
ai aI | |||
ay aI | |||
au aU | |||
_) ab (@P2 'ab | |||
_) ab (C@P2 'ap | |||
_) ab (arP2 'ap | |||
_) abb (a %ab | |||
_) abb (rev ab | |||
_) abend A:b@nt | |||
_) ab (er@P2 'ap | |||
_) abge (@ 'abg@ | |||
_) ab (i ab | |||
_) abzu 'abtsu: | |||
_) an (@P2 'an | |||
_) an (der an | |||
@@ -34,17 +40,21 @@ | |||
@) an (_ 'an | |||
@) ant (_ 'ant | |||
_) anthropo ,ant@-*o:p%o: | |||
@) atisch (_S6 'A:tIS | |||
@) atisieren (_S9 A:tIs'i:*@n | |||
_) anti (@P4 ,anti: | |||
anier (_ 'A:ni:3 | |||
arier (_ 'A:*i:3 | |||
adier (_ 'A:di:3 | |||
@) at (_ 'A:t | |||
@) atisch (_S6 'A:tIS | |||
@) atisieren (_S9 A:tIs'i:*@n | |||
a (tion a | |||
.group b | |||
_) b (_ be: | |||
b b | |||
b) b | |||
b (_N p | |||
b (h p | |||
b (s_ p | |||
bt (_N pt | |||
@@ -68,6 +78,7 @@ | |||
_) b (eul b | |||
_) b (eut b | |||
_o) b (C p | |||
baby _^_EN | |||
beten be:t@n | |||
_) bike _^_EN | |||
@@ -86,6 +97,12 @@ | |||
u) ch x | |||
äu) ch C | |||
eu) ch C | |||
C) chen (_$4 C@n | |||
ä) chen (_$4 C@n | |||
e) chen (_$4 C@n | |||
i) chen (_$4 C@n | |||
ü) chen (_$4 C@n | |||
_) chr k@-* | |||
chs ks | |||
ck k | |||
@@ -99,10 +116,8 @@ | |||
chip _^_EN | |||
_) ch (ol k | |||
_) ch (or k | |||
@) chen (_$4 C@n | |||
bre) ch (en x | |||
spro) ch (en x // not spro-chen | |||
wo) ch (en+ x | |||
nä) chs (t Cs | |||
coat (_ _^_EN | |||
_) code ko:t | |||
@@ -115,6 +130,7 @@ | |||
d d | |||
d) d | |||
d (_N t | |||
d (h t | |||
d (s_ t | |||
dt t | |||
ddt t | |||
@@ -122,6 +138,7 @@ | |||
_) deal _^_EN | |||
design _^_EN | |||
dge (_ _^_EN | |||
_) dia d,i:a | |||
drive _^_EN | |||
_) drug _^_EN | |||
@@ -135,35 +152,37 @@ | |||
e (C% E | |||
e (CC E | |||
e (sch E | |||
e (x E | |||
ei aI | |||
eu OI | |||
ey (_ e: | |||
ell (_ 'El | |||
&) e (_$1 @ | |||
&) e (_S1 @ | |||
@t) e (_S1 @ | |||
&) e (BB_ E2 | |||
e (gt_+ e: | |||
&) el (_ @l | |||
&) em (_$2 @m | |||
@) en (_$2 @n | |||
&) eln (_S1 n | |||
&) em (_S2 @m | |||
@) en (_S2 @n | |||
@) er (C 3 | |||
@) er (r E* | |||
@) er (nC E* | |||
@) er (_$2 3 | |||
&) ere (_$3 @*@ | |||
&) erem (_$4 @*@m | |||
&) eren (_$4 @*@n | |||
&) erer (_$4 @*3 | |||
&) eres (_$4 @*@s | |||
@) er (_S2 3 | |||
&) ere (_S3 @*@ | |||
&) erem (_S4 @*@m | |||
&) eren (_S4 @*@n | |||
&) erer (_S4 @*3 | |||
&) eres (_S4 @*@s | |||
&) er (C_ @* | |||
&) er (n_ @r | |||
&) er (r_ E | |||
w) er (k_ E* | |||
@) es (_$2 @s | |||
@) es (_S2 @s | |||
&) et (_ @t | |||
Ad) ent (_ 'Ent | |||
@) ent (_ 'Ent | |||
@m) ent (_ 'Ent | |||
@m) ente (_ 'Ent@ | |||
&) est (_ @st | |||
@@ -177,6 +196,7 @@ | |||
_) ein (@P3 'aIn | |||
ein (and _|%aIn | |||
_) einig aInIg | |||
_) emp (@P3 _|%Emp | |||
_) ent (@P3 _|%Ent | |||
_) enten Ent@n | |||
@@ -190,6 +210,7 @@ | |||
_) entert _^_EN | |||
_) erob (er %E*o:b | |||
@) eur (_ 'Y:* | |||
.group f | |||
@@ -207,6 +228,7 @@ | |||
g g | |||
g) g | |||
g (_N k | |||
g (h k | |||
gd (_N kt | |||
gt (_N kt | |||
@@ -252,6 +274,7 @@ | |||
_) hinge (@P5 h'Ing@ | |||
_) haupt (@@P5 h'aUpt | |||
// @) heit (_S4 haIt | |||
_) high _^_EN | |||
_) hinter (@ h,Int3 | |||
_) hyper _^_EN | |||
@@ -267,9 +290,12 @@ | |||
i (C% I | |||
i (CC I | |||
i (sch I | |||
i (x I | |||
@) i (ng I | |||
&CC) i (_ =i: | |||
@) i (at_ I | |||
&) ie (ll_ i:,E | |||
&) ier (_ 'i:3 | |||
r) ien (@ IEn | |||
@@ -284,8 +310,14 @@ | |||
ierung 'i:*UN | |||
ig (C IC | |||
ig (m Ig | |||
ig (n Ig | |||
ig (l Ig | |||
ig (r Ig | |||
ig (_N IC | |||
&) ig (_ Ig // -ig + inflexions | |||
@) ik (_ 'i:k | |||
@) ik (el_ 'i:k | |||
@) ie (_ 'i: | |||
bakter) ie =I@ | |||
@@ -295,12 +327,16 @@ | |||
formal) ie =I@ | |||
stud) ie (_ =I@ | |||
igh aI | |||
@) ing (_N _^_EN | |||
@) ion (_ j'o:n | |||
@) ional (_ jo:n,al | |||
@) is (_ Is | |||
&) isch (_ =IS | |||
@) ität (_S4 It'e:t | |||
@) ist (_ 'Ist | |||
@) it (_N 'It | |||
@) ite (_ 'i:t@ | |||
@) ität (_S4 i:t'E:t | |||
.group j | |||
_) j (_ jOt | |||
@@ -311,9 +347,12 @@ | |||
k k | |||
k) k | |||
@) keit (_$4 kaIt | |||
// @) keit (_$4 kaIt | |||
kolleg k%Ole:g | |||
_) ko (mp k%O | |||
_) ko (mpost kO | |||
.group l | |||
_) l (_ El | |||
@@ -321,6 +360,7 @@ | |||
l) l | |||
lin (_ l'i:n | |||
_) leit (@P4 l'aIt | |||
@) lich (_$4 lIC | |||
lady _^_EN | |||
@) lo (gisch l'o: | |||
@@ -335,6 +375,7 @@ | |||
_) micro _^_EN | |||
_) mit (P3 m'It | |||
mitt (eC mIt | |||
mitt (l mIt | |||
_) ms _^_EN | |||
musik m%u:zi:k | |||
@@ -364,6 +405,7 @@ | |||
o (C% O | |||
o (CC O | |||
o (sch O | |||
o (x O | |||
&CC) o (_ =o: | |||
_) ober (@P4 _|,o:b3 | |||
@@ -412,11 +454,16 @@ | |||
A) s (_N s | |||
A) s (_ z | |||
ss s | |||
sst (@ sSt | |||
p) s (a s | |||
sch S | |||
sch (en_ sC | |||
_) sh S | |||
sh (K S | |||
p) s (i s | |||
t) s (i s | |||
k) s (i s | |||
_) sp Sp | |||
_be) sp Sp | |||
_ge) sp Sp | |||
@@ -477,10 +524,13 @@ | |||
u (C% U | |||
u (CC U | |||
u (sch U | |||
u (x U | |||
@) u (ng U | |||
@) u (m_ U | |||
rt) u (m_ u: | |||
_) un Un | |||
_) un (C@P2 Un | |||
_) un (C@P2 'Un | |||
_) unbe (@P4 _|,Unb@ | |||
_) unge (@P4 _|,Ung@ | |||
_) unver (@P5 _|,UnfE* | |||
@@ -522,6 +572,8 @@ | |||
@) wert (_ vE*t | |||
_) wh _^_EN | |||
&) ware (_ _^_EN | |||
_) wo (hin v%o: | |||
_) wohl (@P4 v'o:l | |||
work _^_EN | |||
@@ -535,6 +587,7 @@ | |||
y y: | |||
y (CC y | |||
y (x y | |||
y (A j | |||
@) y (_ I | |||
t) y (_ _^_EN | |||
@@ -573,6 +626,7 @@ | |||
ü (C% y | |||
ü (CC y | |||
ü (sch y | |||
ü (x y | |||
_) über (@P4 _|,y:b3 | |||
@@ -157,7 +157,7 @@ o: u u: y Y y: Y: | |||
* : b c C d dZ f | |||
g h j J k l m n | |||
N n^ p r R s S s2 | |||
t tS ts v z Z | |||
t tS ts v z Z z2 | |||
Dictionary it_dict | |||
@@ -298,15 +298,15 @@ Dictionary ro_dict | |||
@ @- @I @U a aI aU e | |||
ea eI eo eU i i/ I^ iI | |||
iU o Oa oI oU u uI y | |||
Y yI yU | |||
iU o O Oa oI oU u uI | |||
y Y yI yU | |||
* *; b b; c C d d; | |||
dZ f f; g h j k l | |||
l; m m; n N n; p p; | |||
r s S s; S; t T t; | |||
tS ts ts; v v; w w2 z | |||
Z z; Z; | |||
r s S s; S; t t; tS | |||
ts ts; v v; w z Z z; | |||
Z; | |||
Dictionary is_dict |
@@ -5152,9 +5152,10 @@ | |||
_) ++ (_ plVspl'Vs | |||
\+\+\+) + // ignore + after the first 3 | |||
# (\#\# | |||
\#\#) # (\# | |||
\#\#) # (_ _:: | |||
A_) # haS | |||
C_) # haS | |||
\#) # | |||
. d0t | |||
D) . (D+ ,pOInt |
@@ -254,25 +254,24 @@ _minde) gy (ik J: | |||
zs Z | |||
zzs Z: | |||
gá) z (sz z|| // don't devoice [z] to [s] | |||
gé) z (sz z | |||
há) z (so z|| | |||
há) z (sz z | |||
lá) z (sz z | |||
má) zc (sz z | |||
mé) zc (sz z | |||
nehé) z (sé z|| | |||
tű) z (sz z | |||
vi) z (sz z|| | |||
ví) z (sz z|| | |||
ga) zs (ág zS | |||
_gá) zsz (ámla zs: | |||
_gá) zsz (ámlá zs: | |||
_ré) zs (ó zS | |||
_vá) zs (or zS | |||
_szára) zs (ág zS | |||
_kö) zs (ég zS | |||
gá) z (sz z2 // don't devoice [z] to [s] | |||
gé) z (sz z2 | |||
há) z (so z2 | |||
há) z (sz z2 | |||
lá) z (sz z2 | |||
má) zc (sz z2 | |||
mé) zc (sz z2 | |||
nehé) z (sé z2 | |||
tű) z (sz z2 | |||
ví) z (sz z2 | |||
ga) zs (ág z2S | |||
_gá) zsz (ámla z2s: | |||
_gá) zsz (ámlá z2s: | |||
_ré) zs (ó z2S | |||
_vá) zs (or z2S | |||
_szára) zs (ág z2S | |||
_kö) zs (ég z2S | |||
.group |
@@ -380,3 +380,7 @@ z se:t& | |||
// MAIN WORD DICTIONARY | |||
//********************* | |||
bolla bOll& | |||
halló h&lloU | |||
mylla mIll& |
@@ -161,12 +161,15 @@ această $u+ | |||
acel $u+ // that | |||
acea $u+ // that | |||
acei $u+ // those | |||
acele $u1+ // those | |||
acele $u2+ // those | |||
cei $u+ // the, those | |||
cel $u+ // that, he who | |||
cea $u+ // that, she who | |||
cele $u1+ // those | |||
ăia $u1+ | |||
ălora $u1+ | |||
// pronouns | |||
eu jeU $u+ | |||
@@ -195,9 +198,17 @@ mi $u | |||
însuşi $u1+ | |||
ânsăşi $u1+ | |||
însumi $u1+ | |||
nimeni $u1+ | |||
nimănui $u3+ | |||
care $u $brk // who that which what | |||
ceea $u $brk // that | |||
care $u1 $brk | |||
// who that which what | |||
ceea $u $brk // that | |||
căruia $u1 | |||
căreia $u1 | |||
cărora $u1 | |||
ăltora $u1+ | |||
// possessive adjectives | |||
@@ -275,7 +286,7 @@ deşi $2 $pause // although | |||
fie fie $u // either | |||
însă $pause // but, yet, however | |||
atunci $pause // therefore | |||
(de atunci) d%e||at'untSi $pause // since then | |||
(de atunci) d%e||at'untSI^ $pause // since then | |||
nici $pause // neither | |||
deci $pause // therefore, so that | |||
fiindcă $pause // because, since, as | |||
@@ -354,24 +365,27 @@ absolvi $3 | |||
afurisi $4 | |||
agonisi $4 | |||
ameţi $3 | |||
amuţi $3 | |||
blagoslovi $4 | |||
borbi $2 | |||
boţi $2 | |||
buşi $2 | |||
călăuzi $4 | |||
căptuşi $2 | |||
căptuşi $3 | |||
cârmi $2 | |||
căzni $2 | |||
catadicsi $4 | |||
cerşi $2 | |||
ciocni $2 | |||
citi $2 | |||
cloci $2 | |||
cuveni $3 | |||
dărui d@*w'i | |||
deosebi $3 | |||
depăsi $3 | |||
depăşi $3 | |||
descoperi $4 | |||
desluşi $2 | |||
desluşi $3 | |||
deveni $3 | |||
dormi $2 | |||
feri $2 | |||
@@ -387,34 +401,53 @@ hăcui $3 | |||
încreţi $3 | |||
înghiţi $3 | |||
îngriji $3 | |||
înroşi $3 | |||
întâlni $3 | |||
înteţi $3 | |||
învârti $3 | |||
învrednici $4 | |||
izbi $2 | |||
linguşi $3 | |||
lipi $2 | |||
lovi $2 | |||
mânji $2 | |||
mirosi $2 | |||
mirosi $3 | |||
moleşi $3 | |||
muri mur'i | |||
necăji $3 | |||
oferi $3 | |||
opri $2 | |||
pândi $2 | |||
păşi $2 | |||
părăsi $3 | |||
păzi $2 | |||
plăti $2 | |||
pocni $2 | |||
povesti $3 | |||
prăbuşi $3 | |||
prăji $2 | |||
primi $2 | |||
porni $2 | |||
răci $2 | |||
râfni $2 | |||
rânji $2 | |||
răguşi $3 | |||
răscoli $3 | |||
răspândi $3 | |||
răsuci $3 | |||
risipi $3 | |||
rotunji $2 | |||
risipi $3 | |||
rosti $2 | |||
rostogoli $4 | |||
rotunji $3 | |||
săvârşi $3 | |||
sclifosi $3 | |||
sfârşi $2 | |||
@@ -427,9 +460,21 @@ ursi $2 | |||
urzi $2 | |||
veşteji $3 | |||
vrăji $2 | |||
vorbi $2 | |||
// final "a" or "ea" is stressed(verbs) | |||
înroşi $3 | |||
învărtejea $4 | |||
învărtea $3 | |||
învolbura $4 | |||
agita $3 | |||
apărea $3 | |||
amuţea $3 | |||
asculta $3 | |||
aştepta $3 | |||
agonisea $2 | |||
agrea ag@-*e'a | |||
ajuta $3 | |||
@@ -444,10 +489,14 @@ căsca $2 | |||
căuta $2 | |||
cerşea $2 | |||
continua kontinu'a | |||
conţinea $3 | |||
crea k@-*e'a | |||
credea $3 | |||
creştea $2 | |||
dădea $2 | |||
depăsea $3 | |||
depista $3 | |||
desfunda $2 | |||
distra $2 | |||
@@ -485,14 +534,22 @@ mângâia $3 | |||
memora $2 | |||
mergea $2 | |||
merita $3 | |||
murea $2 | |||
negocia negotSi'a | |||
oferea $3 | |||
paraliza $4 | |||
părea $2 | |||
pavea pave'a | |||
palea pale'a | |||
păzea $2 | |||
pleca $2 | |||
pornea $2 | |||
povestea $2 | |||
prepara $3 | |||
prelungea $3 | |||
răbda $2 | |||
răcea $2 | |||
rămânea $3 | |||
@@ -503,9 +560,16 @@ repera $3 | |||
respira $3 | |||
reuşea $3 | |||
revenea $2 | |||
rostea $2 | |||
săpa $2 | |||
sărea $2 | |||
semăna $3 | |||
scotea $2 | |||
sfărâma $3 | |||
sosea $2 | |||
spăla $2 | |||
spera $2 | |||
stăpânea $2 | |||
@@ -528,7 +592,7 @@ zbura $2 | |||
(să l) s@l $u | |||
(să i) s@I $u | |||
(să şi) s@S;I^ $u | |||
(care l) carel $u | |||
(care l) karel $u | |||
(să mi) s@m;I^ $u | |||
(te am) team $u | |||
(te ai) teaj $u | |||
@@ -542,6 +606,11 @@ zbura $2 | |||
(l am) lam $u | |||
(l aţi) lats;I^ $u | |||
(v aţi) vats;I^ $u | |||
(v au) vaU $u | |||
(v am) vam $u | |||
(s o) so $u | |||
(nu i) nui $u | |||
(i am) jam $u | |||
(a şi) aS;I^ $u | |||
(într o) ynt@-*o | |||
@@ -556,13 +625,38 @@ abil $2 | |||
abzice $2 | |||
acelaş $2 | |||
adventice $3 | |||
africa $1 | |||
africii $1 | |||
aer aIer | |||
aici a'itSI^ | |||
alegem $2 | |||
alegeţi $2 | |||
altceva $3 | |||
altcuiva $3 | |||
altcumva $3 | |||
amic $2 | |||
amici $2 | |||
amice $2 | |||
amicii $2 | |||
amicul $2 | |||
amicului $2 | |||
amicilor $2 | |||
amicelor $2 | |||
inamic $3 | |||
inamicul $3 | |||
inamicului $3 | |||
inamicilor $3 | |||
america $2 | |||
americii $2 | |||
americile $2 | |||
apoi $2 | |||
aprig $1 | |||
aprige $1 | |||
aprigi $1 | |||
artefice $3 | |||
asemenea $2 | |||
adu $1 | |||
@@ -577,15 +671,29 @@ câteva $3 | |||
câtorva $3 | |||
cerbice $2 | |||
ceva $2 | |||
cicatrice $3 // @- | |||
cicatrice $3 | |||
cineva $3 | |||
chimi $alt | |||
chimic $1 | |||
complice $2 | |||
contrazice $3 | |||
consideră $3 | |||
creier $1 // @- | |||
creier $1 | |||
credem $1 | |||
credeţi $1 | |||
crivăt $1 | |||
crivătul $1 | |||
crivătului $1 | |||
cuiva $2 | |||
cumva $2 | |||
dădu $2 | |||
deget $1 | |||
degetul $1 | |||
degetele $1 | |||
degetului $1 | |||
degetelor $1 | |||
deja $2 | |||
denzic $2 | |||
denzice $2 | |||
@@ -600,9 +708,15 @@ edit $1 | |||
egale $2 | |||
energi $alt | |||
elice $2 | |||
expedia $3 | |||
exista $3 | |||
factice $2 | |||
facem $1 | |||
faceţi $1 | |||
făcu $2 | |||
fenicşi $1 | |||
fenix $1 | |||
ferice $1 | |||
@@ -622,9 +736,17 @@ gimnaziu dZimn'azju | |||
imagin $2 | |||
înainte yna'inte | |||
întotdeauna yntotdea'una | |||
încăpere $3 | |||
încăperea $3 | |||
încăperile $3 | |||
încăperii $3 | |||
încăperilor $3 | |||
legături $3 | |||
legătură $3 | |||
legăturile $3 | |||
legăturilor $3 | |||
înjurătură $4 | |||
înjurături $4 | |||
înjurăturile $4 | |||
@@ -639,6 +761,9 @@ logic $1 | |||
matrice $2 | |||
maxim $1 | |||
maximum $1 | |||
mergem $1 | |||
mergeţi $1 | |||
merit $1 | |||
mia m'ia | |||
mie m'ie | |||
@@ -647,8 +772,14 @@ minimum $1 | |||
murdărie murd@*'ie | |||
muzik $1 | |||
mării $1 | |||
mişto $1 | |||
metri met*i | |||
mijloc $1 | |||
mijloace $1 | |||
mijlocul $1 | |||
mijlocului $1 | |||
mijloacele $1 | |||
mijloacelor $1 | |||
minus $1 | |||
mişto $2 | |||
nimic $2 | |||
novice $2 | |||
@@ -657,10 +788,20 @@ număr $1 | |||
numărul $1 | |||
oameni $1 | |||
oareşice oa*eSTSe $4 | |||
oamenii $1 | |||
oamenilor $1 | |||
oareşice oa*eStSe $4 | |||
obişnuit obiSnw'it | |||
ocol $2 | |||
omăt $2 | |||
ordin $1 | |||
ordinul $1 | |||
ordinului $1 | |||
ordinelor $1 | |||
ordinele $1 | |||
dezordine $2 | |||
orice o*I^tSe $2 | |||
oricare o*I^ka*e $3 | |||
@@ -677,6 +818,8 @@ plăcerilor $2 | |||
polonic $3 | |||
polonicul $3 | |||
politic $2 | |||
pretutindeni $3 | |||
pricin $1 | |||
prieten $2 | |||
prietenie p@-*jeten'ie | |||
@@ -684,7 +827,16 @@ privi $3 | |||
propice $2 | |||
protocol $4 | |||
promitem $2 | |||
promiteţi $2 | |||
putere $2 | |||
puteri $2 | |||
puterea $2 | |||
puterii $2 | |||
puterilor $2 | |||
răcnet $1 | |||
răcnete $1 | |||
răcnetelor $1 | |||
regul $1 | |||
reguli $1 | |||
repede $1 | |||
@@ -706,19 +858,40 @@ secolelor $1 | |||
sergiu s'ergju | |||
sigur $1 | |||
simbolic $2 | |||
singur $1 | |||
şosea $2 | |||
spaţiu spatsju | |||
spuneţi sp'unetsI^ | |||
tanti tanti | |||
târcol $2 | |||
târziu tyrz'iu | |||
terapi $alt | |||
terapii $3 | |||
trecu $2 | |||
trecem $1 | |||
treceţi $1 | |||
trebuie $1 | |||
trebuia $3 | |||
ultim $1 | |||
ultimul $1 | |||
ultimele $1 | |||
umăr $1 | |||
umărul $1 | |||
undeva $3 | |||
veder $2 | |||
vehicul $2 | |||
vehiculul $2 | |||
vehicului $2 | |||
vehicule $2 | |||
vehiculelor $2 | |||
vineri $1 | |||
vinovăţi $alt | |||
vinovăţii $4 | |||
@@ -727,3 +900,4 @@ virus $1 | |||
zarzări $1 | |||
@@ -1,4 +1,3 @@ | |||
// translation rules for Romanian | |||
// This file is UTF-8 encoded | |||
@@ -29,7 +28,19 @@ | |||
ăi (t_ @'i | |||
ăi (ţi_ @'i | |||
&) ă (_S1 @ | |||
ăi (te @'i | |||
ăi (n_ @'i | |||
ăi (na_ @'i | |||
ăi (ni_ @'i | |||
ăi (ne_ @'i | |||
@) ăt (_S2t @t | |||
//@) ătă (_S3t @t@ | |||
@) ătul (_S4t @tul | |||
@) ătele (_S5t @tele | |||
@) ătului (_S6t @tuluI | |||
@) ătelor (_S6t @telor | |||
&) ă (_S1 @ | |||
ări (A_ @*'i | |||
ării (_ @*'iI | |||
ări (AA_ @*'i | |||
@@ -57,8 +68,11 @@ | |||
ch k | |||
@@) col (_ =kol | |||
@@) coli (_S1t =I^ | |||
@@) cole (_S1t =e | |||
@@) cole (_S1t e | |||
@) cni (_ kn'i | |||
@) cnea (_ kne'a | |||
.group d | |||
d d | |||
@) d (i_ d; | |||
@@ -74,11 +88,16 @@ | |||
&) ea (_S2q ea | |||
&) eSi eaj | |||
eau eaw | |||
eoa 'eOa | |||
eo eo | |||
e (AAA e | |||
@) eş (_S2t eS | |||
@) eş (_ =eS | |||
@) eşul (_ =eSul | |||
@) eşi (_ =eSI^ | |||
@) eşului (_ =eSuluI | |||
@) eşilor (_ =eSilor | |||
// &) es (_S1q e | |||
&C) e (re_ %e | |||
@@ -94,6 +113,8 @@ | |||
i) e (rea_ e | |||
eoa eO'a | |||
.group f | |||
f f | |||
@) f (i_ f; | |||
@@ -118,16 +139,21 @@ | |||
&C) i (_N$1q i/ | |||
&) i (_N$1q i | |||
&) i (-N$1q i // don't reduce to [I^] if a hyphen follows | |||
&') i (_ i | |||
ţ) i (-Că i | |||
ţ) i (-Ci i | |||
&') i (_ i | |||
ţi-) i (_ _ // combined with previous word as [iI] | |||
Cr) i (_ i | |||
V&) i (_ 'i // verb | |||
ăC) ia (_ 'ia | |||
âC) ia (_ 'ia | |||
ăC) ie (_ 'ie | |||
ăC) ie (_ 'ie | |||
âC) ie (_ 'ie | |||
@) ie (_S1q =ie | |||
iei (_ 'ieI | |||
@) ie (_S1q ie | |||
iei (_ 'ieI | |||
ii iI | |||
&) ii (_S2q iI | |||
iii iji | |||
@@ -144,12 +170,15 @@ | |||
i (t_ 'i | |||
ioa iO'a | |||
.group î | |||
î y | |||
@) î (_ 'y | |||
.group j | |||
j Z | |||
@) j (i_ Z; | |||
@@ -181,6 +210,7 @@ i (t_ 'i | |||
-) mi (_ mi/ | |||
.group n | |||
_) n (_ ne | |||
n n | |||
@@ -192,6 +222,8 @@ i (t_ 'i | |||
_) n (-a n | |||
-) n (_ n | |||
.group o | |||
o o | |||
oa Oa | |||
@@ -203,6 +235,11 @@ i (t_ 'i | |||
o (AAA o | |||
@) oi (t_ o'i | |||
@) oi (tă_ o'i | |||
@) oi (ţi_ o'i | |||
@) oi (te_ o'i | |||
.group p | |||
p p | |||
@) p (i_ p; | |||
@@ -227,6 +264,11 @@ i (t_ 'i | |||
@u) rile (_S4t rile | |||
C) ri (_ @-*i | |||
@) răm (_S1t m | |||
@) răţi (_S4t *@tsI^ | |||
.group s | |||
_) s (_ se | |||
_) s (-a s | |||
@@ -235,19 +277,25 @@ i (t_ 'i | |||
&) sprezece (_S8t sp@-*ez,etSe | |||
@) sem (_S1t sem | |||
@) seră (_S2t se*@ | |||
@) serăm (_S3t se*@m | |||
@) serăţi (_S4t se*@tsI^ | |||
@) seşi (_S2t seSI^ | |||
@) sem (_S1t m | |||
@) seră (_S2t *@ | |||
@) serăm (_S3t *@m | |||
@) serăţi (_S4t *@tsI^ | |||
@) seşi (_S2t SI^ | |||
@) sni (_ sn'i | |||
.group ş | |||
ş S | |||
@) ş (i_ S; | |||
@) şni (_ Sn'i | |||
-) şi (_ SI^ | |||
.group t | |||
t t | |||
tt (_ t | |||
@@ -270,11 +318,13 @@ i (t_ 'i | |||
u (A w | |||
ui uI | |||
ui (e wi | |||
V&) ui (_ w2'i | |||
ui (m_ w2'i | |||
ui (t_ w2'i | |||
ui (ţi_ w2'i | |||
&) ul (_S2t ul | |||
V&) ui (_ u'i | |||
ui (m_ u'i | |||
ui (t_ u'i | |||
ui (ţi_ u'i | |||
ui (se_ u'i | |||
&) ul (_S2t ul | |||
@ic) ul (_S2 ul | |||
@ic) uri (_S3 urI^ | |||
@@ -282,6 +332,7 @@ i (t_ 'i | |||
@ic) urilor (_S6 urilor | |||
.group v | |||
v v | |||
@) v (i_ v; | |||
@@ -344,3 +395,4 @@ i (t_ 'i | |||
**) * (_ _:: | |||
@@ -9,13 +9,13 @@ | |||
en_wm 30 142 | |||
af 37 126 | |||
cy 29 121 | |||
de 28 118 | |||
de 29 119 | |||
eo 13 107 | |||
fi 40 126 | |||
fr 32 117 | |||
fr_ca 11 117 | |||
hi 49 130 | |||
hu 23 112 | |||
hu 24 113 | |||
nl 26 116 | |||
pl 15 106 | |||
sk 26 123 | |||
@@ -221,7 +221,7 @@ | |||
2 ufric/hu_fi fi | |||
2 ufric/ll base is | |||
3 ufric/s base es pt | |||
11 ufric/s_ base fi fr hu es pt ro | |||
13 ufric/s_ base fi fr hu es pt ro | |||
15 ufric/s! base fi hu es pt | |||
2 ufric/s_continue fi hu | |||
2 ufric/sh base pt_pt | |||
@@ -397,8 +397,8 @@ | |||
6 vocw/v base ro | |||
4 vocw/zh base ro | |||
2 vocw/zh_rfx base | |||
3 voc/z base fr ro | |||
3 voc/z_ base fr ro | |||
4 voc/z base fr hu ro | |||
4 voc/z_ base fr hu ro | |||
4 voc/zh base sk ro | |||
3 voc/zh_ base ro | |||
1 voc/zh_2 sk | |||
@@ -432,7 +432,7 @@ | |||
1 vowel/aa_3 af | |||
2 vowel/aa_4 sv vi | |||
2 vowel/aa_5 en_n | |||
1 vowel/aa_6 de | |||
2 vowel/aa_6 de | |||
1 vowel/aa_7 nl | |||
4 vowel/a_en en fr | |||
1 vowel/@_bck hi |
@@ -87,6 +87,13 @@ phoneme A: | |||
vowel starttype (a) endtype (a) | |||
length 240 | |||
formants vowel/aa_6 | |||
reduceto a 4 // ?? | |||
endphoneme | |||
phoneme A | |||
vowel starttype (a) endtype (a) | |||
length 200 | |||
formants vowel/aa_6 | |||
endphoneme | |||
@@ -189,4 +189,12 @@ phoneme s2 // second part of geminated [s:] | |||
endphoneme | |||
phoneme z2 // [z] but without switchvoicing | |||
vcd alv frc sibilant | |||
vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 | |||
formants voc/z+ufric/s_ | |||
before _ voc/z_+ufric/s_%80 | |||
lengthmod 6 | |||
endphoneme | |||
@@ -1445,10 +1445,12 @@ char *Translator::DecodeRule(const char *group, char *rule) | |||
int match_type; | |||
int finished=0; | |||
int value; | |||
int flags; | |||
int suffix_char; | |||
int condition_num=0; | |||
char buf[60]; | |||
char buf_pre[60]; | |||
char suffix[12]; | |||
char suffix[20]; | |||
static char output[60]; | |||
static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ', | |||
@@ -1495,11 +1497,19 @@ char *Translator::DecodeRule(const char *group, char *rule) | |||
if(rb == RULE_ENDING) | |||
{ | |||
if(rule[0] & (SUFX_P>>8)) | |||
sprintf(suffix,"P%d",rule[1] & 0x7f); | |||
else | |||
sprintf(suffix,"$%d(%x)",rule[1] & 0x7f,rule[0] & 0x7f); | |||
rule += 2; | |||
static char *flag_chars = "ei vtfq t"; | |||
flags = ((rule[0] & 0x7f)<< 8) + (rule[1] & 0x7f); | |||
suffix_char = 'S'; | |||
if(flags & (SUFX_P >> 8)) | |||
suffix_char = 'P'; | |||
sprintf(suffix,"%c%d",suffix_char,rule[2] & 0x7f); | |||
rule += 3; | |||
for(ix=0;ix<9;ix++) | |||
{ | |||
if(flags & 1) | |||
sprintf(&suffix[strlen(suffix)],"%c",flag_chars[ix]); | |||
flags = (flags >> 1); | |||
} | |||
strcpy(p,suffix); | |||
p += strlen(suffix); | |||
c = ' '; |
@@ -209,6 +209,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame) | |||
EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools) | |||
EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools) | |||
EVT_MENU(MENU_LEXICON_RU, MyFrame::OnTools) | |||
EVT_MENU(MENU_LEXICON_DE, MyFrame::OnTools) | |||
EVT_MENU(MENU_TO_UTF8, MyFrame::OnTools) | |||
EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools) | |||
EVT_MENU(MENU_TEST, MyFrame::OnTools) | |||
@@ -428,6 +429,7 @@ void MyFrame::OnTools(wxCommandEvent& event) | |||
break; | |||
case MENU_LEXICON_RU: | |||
case MENU_LEXICON_DE: | |||
CompareLexicon(event.GetId()); // Compare a lexicon with _rules translation | |||
break; | |||
@@ -193,6 +193,216 @@ static const unsigned short KOI8_R[0x60] = { | |||
#define N_CHARS 34 | |||
int *p_unicode; | |||
int unicode[80]; | |||
#define PH(c1,c2) (c2<<8)+c1 // combine two characters into an integer for phoneme name | |||
void DecodePhonemes2(const char *inptr, char *outptr) | |||
//=================================================== | |||
// Translate from internal phoneme codes into phoneme mnemonics | |||
{ | |||
unsigned char phcode; | |||
unsigned char c; | |||
unsigned int mnem; | |||
PHONEME_TAB *ph; | |||
const char *p; | |||
int ix; | |||
int j; | |||
int start; | |||
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'),0}; | |||
const char *replace_ph2[] = {NULL,NULL, "9","@r","Y", "a:", "r", "?", "?", "OY", "2:", "pf" ,NULL}; | |||
start = 1; | |||
for(ix=0; (phcode = inptr[ix]) != 0; ix++) | |||
{ | |||
if(phcode == 255) | |||
continue; /* indicates unrecognised phoneme */ | |||
if((ph = phoneme_tab[phcode]) == NULL) | |||
continue; | |||
if((ph->type == phSTRESS) && (ph->std_length <= 4) && (ph->spect == 0)) | |||
{ | |||
if(ph->std_length > 3) | |||
*outptr++ = stress_chars[ph->std_length]; | |||
} | |||
else | |||
{ | |||
mnem = ph->mnemonic; | |||
if(ph->type == phPAUSE) | |||
{ | |||
if(start) | |||
continue; // omit initial [?] | |||
if(inptr[ix+1] == phonSCHWA_SHORT) | |||
continue; // omit [?] before [@-*] | |||
} | |||
start = 0; | |||
p = NULL; | |||
for(j=0;;j++) | |||
{ | |||
if(replace_ph[j] == 0) | |||
break; | |||
if(mnem == replace_ph[j]) | |||
{ | |||
p = replace_ph2[j]; | |||
if(p == NULL) | |||
mnem = 0; | |||
break; | |||
} | |||
} | |||
if(p != NULL) | |||
{ | |||
while((c = *p++) != 0) | |||
{ | |||
*outptr++ = c; | |||
} | |||
} | |||
else | |||
if(mnem != 0) | |||
{ | |||
while((c = (mnem & 0xff)) != 0) | |||
{ | |||
*outptr++ = c; | |||
mnem = mnem >> 8; | |||
} | |||
} | |||
} | |||
} | |||
*outptr = 0; /* string terminator */ | |||
} // end of DecodePhonemes | |||
void Lexicon_De() | |||
{//============== | |||
// Compare eSpeak's translation of German words with a pronunciation lexicon | |||
FILE *f_in; | |||
FILE *f_out; | |||
int ix; | |||
int c; | |||
char *p; | |||
int stress; | |||
int count=0; | |||
int start; | |||
int matched=0; | |||
char buf[120]; | |||
char word[80]; | |||
char word2[80]; | |||
char type[80]; | |||
char pronounce[80]; | |||
char pronounce2[80]; | |||
char phonemes[80]; | |||
WORD_TAB winfo; | |||
static char *vowels = "aeiouyAEIOU29@"; | |||
wxString fname = wxFileSelector(_T("German Lexicon"),wxString(path_home,wxConvLocal), | |||
_T(""),_T(""),_T("*"),wxOPEN); | |||
strcpy(buf,fname.mb_str(wxConvLocal)); | |||
if((f_in = fopen(buf,"r")) == NULL) | |||
{ | |||
wxLogError(_T("Can't read file ")+fname); | |||
return; | |||
} | |||
if((f_out = fopen("compare_de","w")) == NULL) | |||
{ | |||
wxLogError(_T("Can't write file ")); | |||
return; | |||
} | |||
LoadVoice("de",0); | |||
word2[0] = ' '; | |||
while(!feof(f_in)) | |||
{ | |||
count++; | |||
if(fgets(buf,sizeof(buf),f_in) == NULL) | |||
break; | |||
sscanf(buf,"%s\t%s\t%s",word,type,pronounce); | |||
// convert word to lower-case | |||
for(ix=0, p=&word2[1];;) | |||
{ | |||
ix += utf8_in(&c,&word[ix],0); | |||
c = towlower(c); | |||
p += utf8_out(c,p); | |||
if(c == 0) | |||
break; | |||
} | |||
strcpy(word,&word2[1]); | |||
strcat(&word2[1]," "); | |||
// remove | syllable boundaries | |||
stress=0; | |||
start=1; | |||
for(ix=0, p=pronounce2;;ix++) | |||
{ | |||
c = pronounce[ix]; | |||
if(c == '\'') | |||
{ | |||
stress=4; | |||
continue; | |||
} | |||
if(c == ',') | |||
{ | |||
stress=3; | |||
continue; | |||
} | |||
if(c == '|') | |||
continue; | |||
if((c == '?') && start) | |||
continue; // omit initial [?] | |||
start =0; | |||
if(stress && (strchr(vowels,c) != NULL)) | |||
{ | |||
if(stress == 4) | |||
*p++ = '\''; | |||
if(stress == 3) | |||
*p++ = ','; | |||
stress = 0; | |||
} | |||
*p++ = c; | |||
if(c == 0) | |||
break; | |||
if(strchr("eiouy",c) && pronounce[ix+1] != ':') | |||
*p++ = ':'; // ensure [;] after these vowels | |||
} | |||
// translate | |||
memset(&winfo,0,sizeof(winfo)); | |||
translator->TranslateWord(&word2[1],0,&winfo); | |||
DecodePhonemes2(translator->word_phonemes,phonemes); // also need to change some phoneme names | |||
if(strcmp(phonemes,pronounce2) == 0) | |||
{ | |||
matched++; | |||
} | |||
else | |||
{ | |||
if(strlen(word) < 8) | |||
strcat(word,"\t"); | |||
fprintf(f_out,"%s\t%s\t%s\n",word,phonemes,pronounce2); | |||
} | |||
} | |||
fclose(f_in); | |||
fclose(f_out); | |||
wxLogStatus(_T("Completed, equal=%d different=%d"),matched,count-matched); | |||
} | |||
void Lexicon_Ru() | |||
@@ -497,6 +707,9 @@ void CompareLexicon(int id) | |||
case MENU_LEXICON_RU: | |||
Lexicon_Ru(); | |||
break; | |||
case MENU_LEXICON_DE: | |||
Lexicon_De(); | |||
break; | |||
} | |||
} // end of CompareLexicon | |||
@@ -157,6 +157,7 @@ enum { | |||
MENU_VOWELCHART3, | |||
MENU_LEXICON, | |||
MENU_LEXICON_RU, | |||
MENU_LEXICON_DE, | |||
MENU_TO_UTF8, | |||
MENU_COUNT_WORDS, | |||
MENU_TEST, |
@@ -106,6 +106,7 @@ wxMenuBar *MakeMenu(int type) | |||
lexicon_menu = new wxMenu; | |||
lexicon_menu->Append(MENU_LEXICON_RU, _T("Russian (lexicon.dict)")); | |||
lexicon_menu->Append(MENU_LEXICON_DE, _T("German")); | |||
tools_menu = new wxMenu; | |||
tools_menu->Append(MENU_VOWELCHART, _T("Make &Vowels Chart"), vowelchart_menu); |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.25.16 02.Jun.07"; | |||
const char *version_string = "1.25.17 04.Jun.07"; | |||
const int version_phdata = 0x012514; | |||
int option_device_number = -1; |