Browse Source

[1.41.08]

espeakedit, add menu item Help->Documentation.
lang-hu: fix ordinal numbers.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@223 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 16 years ago
parent
commit
5b52f78f2e
55 changed files with 2142 additions and 926 deletions
  1. 14
    11
      dictsource/da_list
  2. 261
    81
      dictsource/da_rules
  3. 2
    2
      dictsource/de_list
  4. 11
    3
      dictsource/de_rules
  5. 352
    353
      dictsource/dict_phonemes
  6. 16
    0
      dictsource/en_list
  7. 6
    1
      dictsource/en_rules
  8. 106
    76
      dictsource/fr_list
  9. 117
    79
      dictsource/fr_rules
  10. 130
    21
      dictsource/hu_list
  11. 139
    29
      dictsource/hu_rules
  12. 4
    0
      dictsource/ru_list
  13. 87
    16
      dictsource/ta_list
  14. 18
    4
      dictsource/ta_rules
  15. 314
    34
      phsource/compile_report
  16. BIN
      phsource/j2/j2e
  17. BIN
      phsource/l/l_i
  18. BIN
      phsource/l/l_o
  19. 3
    2
      phsource/mbrola/fr1
  20. 1
    1
      phsource/ph_armenian
  21. 153
    123
      phsource/ph_french
  22. 34
    7
      phsource/ph_tamil
  23. 26
    0
      phsource/phonemes
  24. BIN
      phsource/vdiph/ai_8
  25. BIN
      phsource/vdiph/vowelchart.png
  26. BIN
      phsource/vdiph2/vowelchart.png
  27. BIN
      phsource/vnasal/vowelchart.png
  28. BIN
      phsource/vowel/o_mid2
  29. BIN
      phsource/vowel/vowelchart.png
  30. BIN
      phsource/vwl_fr/@R5
  31. BIN
      phsource/vwl_fr/r_@
  32. BIN
      phsource/vwl_fr/r_a
  33. BIN
      phsource/vwl_fr/r_e
  34. BIN
      phsource/vwl_fr/r_i
  35. BIN
      phsource/vwl_fr/r_o
  36. BIN
      phsource/vwl_fr/r_u
  37. BIN
      phsource/vwl_fr/r_y
  38. BIN
      phsource/vwl_fr/w_a
  39. 2
    2
      platforms/windows/espeakedit/espeakedit.dsp
  40. 3
    1
      platforms/windows/make_espeak.iss
  41. 6
    1
      platforms/windows/make_espeakedit.iss
  42. 13
    0
      src/compiledict.cpp
  43. 2
    2
      src/espeak_command.cpp
  44. 116
    9
      src/espeakedit.cpp
  45. 31
    5
      src/formantdlg.cpp
  46. 1
    0
      src/main.h
  47. 3
    2
      src/menus.cpp
  48. 110
    49
      src/numbers.cpp
  49. 3
    0
      src/spectdisplay.cpp
  50. 1
    1
      src/synthdata.cpp
  51. 7
    3
      src/tr_languages.cpp
  52. 9
    1
      src/translate.cpp
  53. 8
    2
      src/translate.h
  54. 28
    4
      src/transldlg.cpp
  55. 5
    1
      src/wave_sada.cpp

+ 14
- 11
dictsource/da_list View File

når nVr $pause // while når nVr $pause // while
som $u+ $pause // who (relative) som $u+ $pause // who (relative)
der dA $u+ $pause der dA $u+ $pause
hvor v'Vr // where
hvorfor vVf'Vr // why


// prepositions // prepositions
på pO $u+ på pO $u+
af a? $u+ // of af a? $u+ // of
at at $u+ // to at at $u+ // to
hos $u+ // at hos $u+ // at
som $u sVm // which / that




// pronouns // pronouns
// possessive pronouns // possessive pronouns
Min min $u Min min $u
Mit mit $u Mit mit $u
Mine min@ $u
din di?n
dit di?t $u
dine $u
Mine m'in@
din d'in
dit d'it $u
dine d'ine
deres $u deres $u
hans $u hans $u
hendes $u hendes $u
dens $u dens $u
dets $u dets $u
sin si?n
sit si?t $u
sin s'in
sit s'it $u
sine $u sine $u
vor $u vor $u
vort $u vort $u
egen a:j@n egen a:j@n
eget a:j@D eget a:j@D
egne a:in@ egne a:in@
igen igen
enter entV enter entV
også Vs@
sig sAi // oneself
sagde sa@ // said
igen igen
Ny ny // new Ny ny // new
også Vs@ // also
havde h'aD@ // had
sagde sa@ // said
sig sAi // oneself



+ 261
- 81
dictsource/da_rules View File




// This file is UTF8 encoded // This file is UTF8 encoded


C) a (C a C) a (C a
a (tion a a (tion a
a (CK a a (CK a
a (g a_
a (nK a a (nK a
a (r+ A: a (r+ A:
r) a A: r) a A:
ai (K aj ai (K aj


au (K au au (K au

ch) au (f o
nive) au o
aw (K aw aw (K aw
ay (K aj ay (K aj
aa O: aa O:
b b b b
bb b bb b
_) be (@P2 be _) be (@P2 be

_) be (d bE _) be (d bE
b (il 'b




.group c .group c


c (e s c (e s
c (i s c (i s
c (k
ch S ch S
mi) ch (a k S
ch (r k
e) c (h k e) c (h k
c (ha S c (ha S
cc ks cc ks


.group d .group d
d d d d
dd D
A) d (d D
A) d (_ D A) d (_ D
A) d D A) d D
A) d (A D A) d (A D
A) dd D
A) d (i d A) d (i d
A) d (ig D A) d (ig D
A) d (isk D A) d (isk D
A) d (es D A) d (es D
A) d (et D A) d (et D
&) de (_ D@
i) d d
a) d (g D
a) d (k D
A) de (_ D@
d) d D
i) d (e d i) d (e d
l) d (+
æ) d d
u) d (er d
bu) d (get
ej) d (e d
le) d (t
li) d (e D
li) d (s D
me) d (b D
me) d (l D
mi) d (l D
ne) d (C D
o) d (a d
o) d (i d
re) d (a d
re) d (i d
ri) d (e D
si) d (e D
ti) d (e D
ti) d (s D
vi) d (e D
al) d (o d
an) d (re d
el) d (i d
ol) d (a d
æl) d (e d
æl) d (i d
æl) d (re d
æn) d (e
æn) d (re d
æn) d (ri d
ær) d (es d
mo) d (C D
mo) d (ul 'd
mo) d (al 'd
bla) d (r D
kor) d d
smu) d (s
pu) d (s
ro) d (s
ry) d (ni D
æ) d D
An) d (rA d An) d (rA d
An) d (re d
dar) d d
in) d (C in) d (C
in) d (i d
in) d (u d
in) d (uC d
in) d (ue d in) d (ue d
Co) d (C D
Co) d (A D
go) d (s
go) d (t_
or) d (ne d
or) d (ning d
or) d (re d
or) d (ret
Aor) d (ret d
kre) d (s
tro) d (s
u) d (A D
u) d (C D
ø) d (C D ø) d (C D
ø) d (t ø) d (t
å) d (an d å) d (an d
d (CA D
d (t ?
d (CA d
d (t =
be) d (r D
be) d (st : be) d (st :
bol) d d
a) d (s a) d (s
i) d (s i) d (s
r) d (K r) d (K
ar) d (K d
or) d (re d
in) d in) d
ir) d (_ d ir) d (_ d
or) d (en or) d (en
aar) d (K
klo) d (s
nor) d nor) d
pro) d (u d
pu) d (s pu) d (s
ur) d (e d ur) d (e d
ver) d (en d ver) d (en d
sli) d(so D
sli) d(s




.group e .group e
e (rK & e (rK &
b) e (ds E b) e (ds E
d) e (_ @ d) e (_ @
ed) e (- @D
ed) e (- @
g) e (C e g) e (C e
g) e (js aj g) e (js aj
r) e V%
em) e (nt a
plem) e (nter e
elem) e (nt e
em) e (ntal e
glem) e (nt a
glem) e (ntal e
ni) e
ni) e (n e
niv) e (au
ani) e (l e
lini) e e
r) e (_ V%
_r) e e V%
@st) e (n e: @st) e (n e:
budg) e (t 'E
carst) e (n @ carst) e (n @
karst) e (n @ karst) e (n @
Kr) e (ag e Kr) e (ag e
@h) e (n 'e
p) e (ge a
p) e (gnin a
r) e (l e r) e (l e
r) e (kt aj
r) e (CK e r) e (CK e
r) e (L01 Aj
eg (et aj
m) eg aj m) eg aj
n) e (K e n) e (K e
ea i:
ee e: ee e:
eg (e e@
eg (e 'e:
en (gage an^
en (tre an^
p) en (sion an^
r) en (ce an^
r) eg (n A:j r) eg (n A:j
r) e (d e r) e (d e
r) e (v e r) e (v e
tr) e e
tr) e (A e
ei A:j ei A:j
ej (+ ai ej (+ ai
v) ej (r 'e ai
ffic) e ffic) e
ffic) e (r e ffic) e (r e
&) e (_ @:
&r) e (_ e

&r) e (_ V
&) ede (_ @D@ &) ede (_ @D@
&r) ede (_ 3D@ &r) ede (_ 3D@
&r) en (_ 3n &r) en (_ 3n
&r) en (ing 'en
for) en (ing 'en
&r) en (s_ 3n &r) en (s_ 3n
&r) et (_ 3D &r) et (_ 3D
&) er (_ 3
&) en (_ @-n
&) er (_ V
&) en (_ '@-n
&) ene (_ @-n@ &) ene (_ @-n@
&) ende (_ @-nn@ &) ende (_ @-nn@
&) eren (_ 3r3n &) eren (_ 3r3n
&) eren (s_ 3r3n &) eren (s_ 3r3n
&) es (_ @s &) es (_ @s
&) et (_ @D &) et (_ @D
icha) e (l
ika) e (l
ir) e (n 'e ir) e (n 'e
yr) e (n 'e yr) e (n 'e










.group f .group f

f f f f

ff f ff f
_) for (@P3 f%V
_) for (um f%or
_) for (&@P3 f%V
_) for (e f%V
_) for (um f%or
a) f (A u a) f (A u
a) f (C u a) f (C u
a) f (it f
a) f (on f
a) f (rik f a) f (rik f
a) f (sted
a) f (ten f a) f (ten f
a) f (tes_ f a) f (tes_ f
Ca) f (t f Ca) f (t f
ga) f (fel f
gra) f ( f
gra) f (A f
gra) f (C f
ra) f (ik f ra) f (ik f
ra) f (fe f
kra) f (t f kra) f (t f
sa) f (ar f
ska) f (f f
sta) f (e f






.group g .group g
g g g g
gg g
g (ent g
g (ment g
a) g (A w a) g (A w
a) g (C ?w a) g (C ?w
a) g (e a) g (e
la) g (e
a) g (en g
g) g g g) g g
e) g (e e) g (e
n) g n^
i) g (t g i) g (t g
i) g j
i) g (t_
gti) g
i) g
i) g (A i) g (A
i) g (ere g
redi) g (er g
i) g (i g
n) g n^
n) gr n^gr
r) g (_ w r) g (_ w
r) g (e w r) g (e w
Ca) g (en j
ra) g (_ w
ra) g (e w
ør) g (s ør) g (s
l) g (_ j l) g (_ j
li) g
li) g (g g
u) g g u) g g
u) g (e u) g (e
u) g (l ? u) g (l ?
y) g (A g y) g (A g
ø) g (e ø) g (e
ø) g (n ø) g (n
æ) g (e j
&e) g j &e) g j
an) g (å g
ba) g (e ba) g (e
da) g (e da) g (e
ba) g (C u
ba) g (t g
ba) g (ta u
da) g (C u
ga) g (e S
la) g (e
li) g (t
pli) g (t g
sa) g (s '
si) g (t g
&ti) g
bud) g (et S
rea) g (er g rea) g (er g
aga) g (e S aga) g (e S
aga) g (te g aga) g (te g
arran) g (e S arran) g (e S
eta) g (e S eta) g (e S
gara) g (e S
onta) g (e S
reta) g (e
foreta) g (e
ru) g (_
a) g (A j a) g (A j
l) g (_ j l) g (_ j
l) g (e j l) g (e j
l) g (s j l) g (s j
Ca) g (t k Ca) g (t k
o) g u o) g u
bo) g (C u
æda) g (og g' æda) g (og g'
no) g (e no) g (e
no) g (le no) g (le

nø) g j
re) g (e g
re) g (i g
o) g (r g o) g (r g
o) g (n g o) g (n g
o) g (s u o) g (s u
o) g (st k
bo) g (st k
ø) g (_ j ø) g (_ j
ø) g (t g ø) g (t g
sal) g j
val) g j
lå) g (e u lå) g (e u
navi) g (er g
vå) g (e u vå) g (e u
vå) g (n u
vå) g (ne u vå) g (ne u
go) g = go) g =
lo) g = lo) g =
lo) g (a g
lo) g (i =g
_lo) g (i- S
lo) g (o =g
_lo) g (_ g
_lo) g (g g
ør) g w ør) g w
a) g (K ? a) g (K ?
_) ge (@P2 ge _) ge (@P2 ge
_) ge (nere Se _) ge (nere Se
_) ge (nert Se _) ge (nert Se
_) ge (nerel ge _) ge (nerel ge
_) ge (nera ge
ge (nera ge
ge (nerer ge
ta) g (e ta) g (e






h h h h
h (j h (j
h (v
hv v
A) h (K A) h (K
t) h (en h t) h (en h


i (nK i i (nK i
i (nn e i (nn e
i (mK e i (mK e
k) i (C_ 'i
k) i (CC_ 'i
l) i (e j l) i (e j
n) i (e i n) i (e i
r) i (g i
t) i (e j t) i (e j

s) i (e j s) i (e j

t) i (on // i ommitted because of sj t) i (on // i ommitted because of sj

s) i (on j s) i (on j




j j j j
j (aw dZ j (aw dZ
j (ack dZ j (ack dZ
j (ob dZ
j (ohn dZ j (ohn dZ
o) j (e S o) j (e S
a) j (o S a) j (o S


s) k g s) k g


&) k g // after stressed vowel

&) k k // after stressed vowel
&) kk g &) kk g




.group l .group l


l l l l

ll l ll l

ld (K l ld (K l

&) ld (e_ l &) ld (e_ l

&) ld (ekk l &) ld (ekk l

o) ld l
bo) ld ld
fo) ld l
he) ld l
he) ld (ig ld
no) ld l
æ) ld (r ld






.group m .group m
m m? m m?
mm m mm m
m (A 'm
m (A m






.group n .group n


n n n n

nn n nn n
nd (e n nd (e n
nd (K n nd (K n
nd (ow nd nd (ow nd
nd (r nd
u) nd ( n
n (k N n (k N

n (g

pag) n (e nj
gleme) n (t n^








.group ng .group ng

ng (_ n^
a) ng (A ng
a) ng (C n^
ng (a ng ng (a ng
ng (i ng ng (i ng
arra) ng n^S arra) ng n^S
fu) ng n^'g




.group o .group o
o o: o o:
kr) o (C o kr) o (C o
cr) o (C 'o cr) o (C 'o
h) o (ld 'V
h) o (ved o
o (CK o o (CK o
o (r O-
o (p 'V
o (r o
o (rdn o
m) o (rC V
o (gK o o (gK o
oo u
b) oo (k u
l) oo (k u
ou Vw ou Vw
ov Vw
@) o (C V
ov Vv
@) o (C 'o
@@) o (C 'o
_C) o (l 'V _C) o (l 'V
_C) o (p 'V _C) o (p 'V
_CC) o (p 'V _CC) o (p 'V
_CC) o (l 'V _CC) o (l 'V
_f) o (r 'V
b) o (C 'o
sk) o (le 'o
_f) o (r V
_f) o (re 'V
l) o (kk V l) o (kk V
p) o (li o p) o (li o
st) o (K 'o st) o (K 'o
.group p .group p


p p p p

pp p pp p

&) p b &) p b


&) pp b &) pp b
bu) rd (eK rd bu) rd (eK rd
no) rd (eKK r no) rd (eKK r
no) rd (isk rd no) rd (isk rd
o) rd (en rd
tu) rd (eK rd tu) rd (eK rd
ve) rd (eKK rd ve) rd (eKK rd


s (A s s (A s
s (ie s s (ie s
s (ion S s (ion S



s (j s s (j s

s (ch S s (ch S
kompromi) s




.group t .group t


t t t t
A) t (_ t: A) t (_ t:
th t
th th
&) t t &) t t


&) tt t &) tt t

&) th d &) th d

t (ie t t (ie t

t (ion+ sj' t (ion+ sj'


emen) t
elemen) t t
emen) t (al t
glemen) t
glemen) t (al t
lemen) t (er t
poin) t
poin) t (e t






u (nK u u (nK u
u (mK O u (mK O
a) u (g u a) u (g u
b) u (dget y
l) u (k O? l) u (k O?
l) u (kas u l) u (kas u
m) u (k O? m) u (k O?
r) u u r) u u
r) u (m O r) u (m O
r) u (nd O? r) u (nd O?
fris) u (r y
frit) u (r y
men) u y
g) u (st O g) u (st O
r) u (s u r) u (s u


a) v (n u a) v (n u
&A) v v &A) v v
&r) v v &r) v v
l) v (C
l) v (A


al) v (A v
el) v (C
el) v (A
el) v (e v
il) v (A v
ur) v v
hal) v




.group w .group w
æ E? æ E?
æ (CK E: æ (CK E:
l) æ E: l) æ E:
r) æ &:
r) æ (CK e
r) æ E
r) æ (kk aj
r) æ (v e
r) æ (L01 Aj r) æ (L01 Aj
r) æ (k Aj
t) æ (C E: t) æ (C E:
v) æ E: v) æ E:
pr) æ (ge E:
tr) æ E
tr) æ (k 'aj
tr) æ (kA E




.group ø .group ø
ø W? ø W?
ø (CK W: ø (CK W:
b) ø (g W b) ø (g W
d) ø (r W
f) ø (r W: f) ø (r W:
g) ø (r @:
h) ø (j V
h) ø (r W: h) ø (r W:
k) ø (r W: k) ø (r W:
l) ø (s W: l) ø (s W:
m) ø W: m) ø W:
r) ø W: r) ø W:
s) ø W: s) ø W:
ø (r w
t) ø (r W
ø (r W
r) ø (CK W: r) ø (CK W:
øg Vj
øj Vj
øg W
d) øg (n Vj
øj oj


.group å .group å
å O:? å O:?
$ dVlar $ dVlar






+ 2
- 2
dictsource/de_list View File

_3X 'd@-*aIsIC _3X 'd@-*aIsIC
_4X 'fi:*tsIC _4X 'fi:*tsIC
_5X 'fynftsIC _5X 'fynftsIC
_6X 'zEktsIC
_6X 'zECtsIC
_7X 'zi:btsIC _7X 'zi:btsIC
_8X '_axttsIC _8X '_axttsIC
_9X 'nOYntsIC _9X 'nOYntsIC
lakaienhaft l%akaInhaft lakaienhaft l%akaInhaft
lappalie $alt lappalie $alt
lilie $alt lilie $alt
linie $alt
logier lo:Z'i:* logier lo:Z'i:*
luetisch lu:'e:tIS luetisch lu:'e:tIS


problematisier p@-*o:ble:m'a:tIzi:* problematisier p@-*o:ble:m'a:tIzi:*


reliquie $alt reliquie $alt
risik $1
rupie $alt rupie $alt


sabbat zabat sabbat zabat

+ 11
- 3
dictsource/de_rules View File

&) eren (_S4 @*@n &) eren (_S4 @*@n
&) erer (_S4 @*3 &) erer (_S4 @*3
&) eres (_S4 @*@s &) eres (_S4 @*@s
&) er (C_ @*
&) er (C_ @:*
er (d_ e:* er (d_ e:*
&) er (n_ @*
&) er (n_ @:*
&) er (r_ E &) er (r_ E
w) er (k_ E* w) er (k_ E*
&) er (nd_ @* &) er (nd_ @*
_) inter Int@* _) inter Int@*
&) in (_ i2n &) in (_ i2n
l) in (_ 'i:n l) in (_ 'i:n
m) in (_ 'i:n
s) in (_ 'i:n s) in (_ 'i:n
z) in (_ 'i:n
@) in (o_ 'i:n
@) ion (_ j'o:n @) ion (_ j'o:n
@) io (n Io: @) io (n Io:
io Io: io Io:


&) ie (ll_ I'E &) ie (ll_ I'E
&) ie (r_ 'i: &) ie (r_ 'i:
ie (rs@ 'i:
u) ie (r_ _|'i: u) ie (r_ _|'i:
&) ie (rlich 'i: &) ie (rlich 'i:
bank) ie (r I'e: bank) ie (r I'e:
fol) ie (_ =I@ fol) ie (_ =I@
formal) ie =I@ formal) ie =I@
stud) ie (_ =I@ stud) ie (_ =I@
in) ie (_ I@




.group j .group j
_) vi vi: _) vi vi:


_) v v _) v v
_) v (ater f
vater fA:t3
väter fE:t3
_) v (ät f
_) v (ie f _) v (ie f
_) v (iet v _) v (iet v
_) v (iz f _) v (iz f
_) vehe ve:he: _) vehe ve:he:
_) ver (@P3 f%E* _) ver (@P3 f%E*
_) ver (bal v%E* _) ver (bal v%E*
_) ver (sion vE*
_) ver (tik vE* _) ver (tik vE*
@) versich fE*z,IC @) versich fE*z,IC
@) vergess fE*g,Es @) vergess fE*g,Es

+ 352
- 353
dictsource/dict_phonemes View File

Phonemes which are used in the *_rules and *_list files Phonemes which are used in the *_rules and *_list files




Dictionary af_dict
Dictionary zhy_dict


& &: 3: @ @- @L @U a
A: aI AI aU A~ E e: e@
eI e~ I i iu O O: o@
OI oI o~ u uI W y Y@
Yy
a aa aai aan aau ai au e
ei eo eoi eu i iu o oe
oi ong ou u ui yu


- : ; ? b c d dZ
f g h j k l L m
n N p r s S t T
tS v w x x2 z Z
b c d f g h j k
l m n N p r s t
tS v w z




Dictionary bn_dict
Dictionary fr_dict


& a a: a~ e E e~ i
I i: i:~ i~ l- o O o:
O~ o~ r- U u u: u:~ u~
V
@ @- @2 a A~ e E E2
E: E~ i i- i: o O o2
O2 o3 O~ u u: W w^i wA
W~ y Y


* b B bh c C ch d
d. d.h dh g gh h j J
Jh k kh l m n N n.
n^ p ph Q r r. s S
s. t t. t.h th tS x z
: b d dZ f g h j
k l m n N n2 n^ p
p2 r R r2 s S t t2
t3 tS v w z Z z2 z3




Dictionary ca_dict
Dictionary nl_dict


@ a a# aI e E E2 i
o O u U
8 @ @- A a: E e: EI
eU i I O O: o: u VU
Wy y Y: yU


* ** : ; b B d D
dZ; f g j J J^ k l
l^ m n N n^ p Q R
R2 s S; t T ts tS; v
v# w z Z Z;
* : ; b C d f g
h j k l m n N n^
p Q r s S t tS v
v2 w x z




Dictionary cs_dict
Dictionary jbo_dict


@- a a: aU e e: eI eU
i i: l- o o: oU r- u
u:
@ @- a aI aU e eI i
l- o oI r- u


* ; b c d dZ dz f
g h j J k l l^ m
n N n^ p r R R^ R^/
s S t tS ts v x z
* - b d dZ f g h
j k l m n N p R
s S t tS v w x z
Z Z




Dictionary cy_dict
Dictionary hu_dict


@ @- @I @Y a A: aI aU
AY aY E e: eU I i: Iu
O o: OI OY U u: uY V
Y y: Yu
A a: E e: i i: o o:
u u: Y y y: Y:


: b C d D dZ f g
h j k l L m n N
p r s S t T v w
x z
: b c C d dZ f g
h j J k l l^ m n
N n^ p R R2 s S s2
t tS ts v z Z




Dictionary kn_dict
Dictionary hy_dict


a a: aI aU e E e: i
I i: o o: r- u u: V
y
@ a aI e eI i i@ o
u W y


: b bh c ch d d. d.h
dh dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph R R2 s S
s. S; t t. t.h th tS v
w z
** b c d dZ dz f g
h j k k# l m n p
p# r R r" s S t t#
tS ts ts# v X z Z




Dictionary de_dict
Dictionary zh_dict


3 @ @- a A A: aI aU
E E2 E: e: EI I i2 i:
O o: OY U u: W y y:
Y:
@ @r a A ai Au E ei
i i. i[ iA iE io iou N-
o o- ong ou u u@ ua uai
uei uo y y& y@ yE yi yu


* : ; b C C2 d D
dZ f g h j k l m
n N p pF r s S t
tS ts v x z Z
; C f h j k kh l
L m n N p ph r R
s s. S; t th ts ts. ts.
tS; tS; tsh v w x X z.


Dictionary ca_dict

@ a a# aI e E E2 i
o O u U

* ** : ; b B d D
dZ; f g j J J^ k l
l^ m n N n^ p Q R
R2 s S; t T ts tS; v
v# w z Z Z;


Dictionary af_dict

& &: 3: @ @- @L @U a
A: aI AI aU A~ E e: e@
eI e~ I i iu O O: o@
OI oI o~ u uI W y Y@
Yy

- : ; ? b c d dZ
f g h j k l L m
n N p r s S t T
tS v w x x2 z Z


Dictionary id_dict

@ a aI aU e E E2 i
o O u

* : ? b d dZ f g
h j k l m n N n^
p r R R2 s S t tS
v w x z




Dictionary el_dict Dictionary el_dict
x z Z x z Z




Dictionary eo_dict

@- a aI aU e eI eU i
o oI u uI

* - b d dZ f g h
j k l m n p r R
s S t T tS ts v w
x z Z


Dictionary es_dict

a aI aU e E eI eU i
o O oI u

* ** : b B d D f
g j J J^ k l m n
N n^ p Q R R2 s t
T tS v v# w x z


Dictionary fi_dict

& &i &y a a2 ai au e
ei eu ey i I ie iu iy
o oi ou u ui uo Y y
Yi yi Yy yY

: b d f g h j k
l m n N p r s S
s2 t v w Z


Dictionary fr_dict
Dictionary cs_dict


@ @- @2 a A~ e E E~
i I i- i: o O o2 O2
O~ u u: W W2 w^i wA W~
y Y
@- a a: aU e e: eI eU
i i: l- o o: oU r- u
u:


: b d dZ f g h j
k l m n N n2 n^ p
p2 r r2 s S t t2 t3
tS v w z Z z2 z3
* ; b c d dZ dz f
g h j J k l l^ m
n N n^ p r R R^ R^/
s S t tS ts v x z
Z




Dictionary grc_dict Dictionary grc_dict
T v x z T v x z




Dictionary cy_dict

@ @- @I @Y a A: aI aU
AY aY E e: eU I i: Iu
O o: OI OY U u: uY V
Y y: Yu

: b C d D dZ f g
h j k l L m n N
p r s S t T v w
x z


Dictionary hbs_dict Dictionary hbs_dict


& @ @2 a A a: aI aU & @ @2 a A a: aI aU
t tS ts tS; v x z Z t tS ts tS; v x z Z




Dictionary hi_dict

@ @- @2 @3 a a: aI aU
e E e: E: E~ i I i:
l- o O o: O: O~ o~ r-
U u: u~ V

- : b bh c ch d d.
d.h dh f g gh h H j
J Jh k kh l l. m n
N n. n^ p ph Q q r
r. s S s. t T t. t.h
th v w x z


Dictionary hu_dict

A a: E e: i i: o o:
u u: Y y y: Y:

: b c C d dZ f g
h j J k l l^ m n
N n^ p R R2 s S s2
t tS ts v z Z


Dictionary hy_dict

@ a aI e eI i i@ o
u W y

** b c d dZ dz f g
h j k k# l m n p
p# r R r" s S t t#
tS ts ts# v X z Z


Dictionary id_dict

@ a aI aU e E E2 i
o O u

* : ? b d dZ f g
h j k l m n N n^
p r R R2 s S t tS
v w x z


Dictionary is_dict

& @- a aI aU e E eI
i I o O oU oU2 u W
y y# Yy

* ** : ; b c C d
D f g h j J k l
l# m m# n N n# N# n^
n^# p Q r R r# R2 s
s2 t T tl# v x z


Dictionary it_dict Dictionary it_dict


@- a a/ aI aU e E eI @- a a/ aI aU e E eI
ts v w w2 z ts v w w2 z




Dictionary jbo_dict
Dictionary sk_dict


@ @- a aI aU e eI i
l- o oI r- u
& @- a a: e e: i i:
l- l: o o: oU r- r: u
u:


* - b d dZ f g h
j k l m n N p R
s S t tS v w x z
* ; b d d; dZ dz f
g h j k l l^ m n
N n^ p r R R^ R^/ s
S t t; tS ts v x z
Z Z




Dictionary ml_dict

a a: aI aU e E e: i
I i: o o: r- u u: V
y

: b bh c ch d d. d.h
dh dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph R R2 s s.
S; t t. t.h th tS v w
z z.


Dictionary ne_dict

@ @/ @2 @3 a aI aU a~
e E eI eU e~ E~ i I
i~ l- o O o: oI oU O~
o~ r- u uI u~ V VI VU
V~

- : b bh c ch d d.
d.h dh f g gh h H j
J Jh k kh l l. m n
N n. n^ p ph Q q r
r. s S s. t T t. t.h
th v w x z z.


Dictionary om_dict

a A a# a: E e E# I
I# i: O O# o: U U# u:

** : b B c` d D d`
dZ f g h j k k` l
m n n^ p p` R s S
s2 t t` tS v w z


Dictionary ku_dict Dictionary ku_dict


8 a e E E# eI eU i 8 a e E E# eI eU i
w x z Z w x z Z




Dictionary la_dict
Dictionary sq_dict


@- a a: aI aU E e: EU
I i: O o: OI U u: y
y:
@ @/ a A a/ aI E e
eI i I I# O OI u V
y yE


* : ; <h> ? b d f
g h j k l m n N
p r R s t w z
** : ; b c d D dZ
dz dZ; f g h j k l
L ll m n n^ p r R
R2 s S t T tS ts v
w z Z




Dictionary lv_dict
Dictionary sw_dict


a a: ai au e e: ei i
i: ie iu o o: u u: ui
uo
@- a a/ e i m- n- N-
o u


: b c d dZ f g h
j J k l l^ m n N
n^ p r R R2 s S t
tS ts v z Z
* : b d D f g h
j J k l m n N n^
p Q R s S t T tS
v w x z




Dictionary mk_dict
Dictionary fi_dict


& @ @- @2 a A a: E
e e: i I i: l- o o:
oU r- u u:
& &i &y a a2 ai au e
ei eu ey i I ie iu iy
o oi ou u ui uo Y y
Yi yi Yy yY


* b d dZ dz dZ; f g
h j k k^ l l^ m n
N n^ p r R s S t
tS ts tS; v x z Z
: b d f g h j k
l m n N p r s S
s2 t v w Z




Dictionary rw_dict
Dictionary pl_dict


a e i o u
a E E# E~ i O O~ u
y


* : b B c d dZ f
g h j J k l m n
N n^ p q R s S S;
t tS v w x z
: ; b c C d d; dZ
dz dz; f g h j k l
m n N n^ p r R s
S s; S; t t; tS ts ts;
tS; v w x z Z Z;




Dictionary eu_dict
Dictionary no_dict


a aI aU e eI eU i o
oI u Y
@ @2 a A a: A: AI aI
aU E E: e: I i: O o:
OI U u- u-: u-I u: W y
y: Y: Yy


* ** : ; b B c d
D f g h j J k l
l^ m n n^ p Q r R
s S t tS ts tz v w
x z
: ; b d f g h j
k l m n N p r R
s S s; t v w x z




Dictionary nl_dict
Dictionary vi_dict


8 @ @- A a: E e: EI
eU i I O O: o: u VU
Wy y Y: yU
@ @: @:I @:U @I @U a a:
a:I a:U aI aU E e eU EU
i i@ iU O o OI oI u
u@ uI y y@ yI


* : ; b C d f g
h j k l m n N n^
p Q r s S t tS v
v2 w x z
b c d D f g h j
J k kh l m n N n^
p Q r s s. t t[ ts;
tS; v w x z Z z.




Dictionary no_dict
Dictionary ro_dict


@ @2 a A a: A: AI aI
aU E E: e: I i: O o:
OI U u- u-: u-I u: W y
y: Y: Yy
@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o O Oa oI oU u uI
y Y yI yU


: ; b d f g h j
k l m n N p r R
s S s; t v w x z
* *; - 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; t t; tS
ts ts; v v; w w2 x z
Z z; Z;




Dictionary pl_dict
Dictionary lv_dict


a E E# E~ i O O~ u
y
a a: ai au e e: ei i
i: ie iu o o: u u: ui
uo


: ; b c C d d; dZ
dz dz; f g h j k l
m n N n^ p r R s
S s; S; t t; tS ts ts;
tS; v w x z Z Z;
: b c d dZ f g h
j J k l l^ m n N
n^ p r R R2 s S t
tS ts v z Z




Dictionary pt_dict Dictionary pt_dict
w x z Z w x z Z




Dictionary ro_dict
Dictionary tr_dict


@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o O Oa oI oU u uI
y Y yI yU
a e E i I o O u
U u# W y Y


* *; - 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; t t; tS
ts ts; v v; w w2 x z
Z z; Z;
* : b c d dZ f g
h j J k l m n p
Q r R s S t tS v
w z Z




Dictionary ru_dict Dictionary ru_dict
z; Z; z; Z;




Dictionary eo_dict

@- a aI aU e eI eU i
o oI u uI

* - b d dZ f g h
j k l m n p r R
s S t T tS ts v w
x z Z


Dictionary mk_dict

& @ @- @2 a A a: E
e e: i I i: l- o o:
oU r- u u:

* b d dZ dz dZ; f g
h j k k^ l l^ m n
N n^ p r R s S t
tS ts tS; v x z Z


Dictionary es_dict

a aI aU e E eI eU i
o O oI u

* ** : b B d D f
g j J J^ k l m n
N n^ p Q R R2 s t
T tS v v# w x z


Dictionary is_dict

& @- a aI aU e E eI
i I o O oU oU2 u W
y y# Yy

* ** : ; b c C d
D f g h j J k l
l# m m# n N n# N# n^
n^# p Q r R r# R2 s
s2 t T tl# v x z


Dictionary da_dict Dictionary da_dict


& 0 3 @ @- a A e & 0 3 @ @- a A e
S t tS v w S t tS v w




Dictionary sk_dict

& @- a a: e e: i i:
l- l: o o: oU r- r: u
u:

* ; b d d; dZ dz f
g h j k l l^ m n
N n^ p r R R^ R^/ s
S t t; tS ts v x z
Z


Dictionary sq_dict
Dictionary de_dict


@ @/ a A a/ aI E e
eI i I I# O OI u V
y yE
3 @ @- a A A: aI aU
E E2 E: e: EI I i2 i:
O o: OY U u: W y y:
Y:


** : ; b c d D dZ
dz dZ; f g h j k l
L ll m n n^ p r R
R2 s S t T tS ts v
w z Z
* : ; b C C2 d D
dZ f g h j k l m
n N p pF r s S t
tS ts v x z Z




Dictionary sv_dict Dictionary sv_dict
S s. S; sx t v w z S s. S; sx t v w z




Dictionary sw_dict
Dictionary la_dict


@- a a/ e i m- n- N-
o u
@- a a: aI aU E e: EU
I i: O o: OI U u: y
y:


* : b d D f g h
j J k l m n N n^
p Q R s S t T tS
v w x z
* : ; <h> ? b d f
g h j k l m n N
p r R s t w z


Dictionary hi_dict

@ @- @2 @3 a a: aI aU
e E e: E: E~ i I i:
l- o O o: O: O~ o~ r-
U u: u~ V

- : b bh c ch d d.
d.h dh f g gh h H j
J Jh k kh l l. m n
N n. n^ p ph Q q r
r. s S s. t T t. t.h
th v w x z




Dictionary ta_dict Dictionary ta_dict


a a: aU e E e: E: i
a a: aI aU e E e: i
I i: o o: U u u: V I i: o o: U u u: V


: b c C d d. dZ f
g h j k l l. m n
N n. n^ p r R s S
s. t t. tS v w z z.
: ; b c C d d. dZ
f g h j k l l. m
n N n. n^ p r R s
S s. t t. th tS v w
z z.




Dictionary tr_dict
Dictionary bn_dict


a e E i I o O u
U u# W y Y
& a a: a~ e E e~ i
I i: i:~ i~ l- o O o:
O~ o~ r- U u u: u:~ u~
V


* : b c d dZ f g
h j J k l m n p
Q r R s S t tS v
w z Z
* b B bh c C ch d
d. d.h dh g gh h j J
Jh k kh l m n N n.
n^ p ph Q r r. s S
s. t t. t.h th tS x z




Dictionary vi_dict
Dictionary eu_dict


@ @: @:I @:U @I @U a a:
a:I a:U aI aU E e eU EU
i i@ iU O o OI oI u
u@ uI y y@ yI
a aI aU e eI eU i o
oI u Y


b c d D f g h j
J k kh l m n N n^
p Q r s s. t t[ ts;
tS; v w x z Z z.
* ** : ; b B c d
D f g h j J k l
l^ m n n^ p Q r R
s S t tS ts tz v w
x z




Dictionary zh_dict
Dictionary kn_dict


@ @r a A ai Au E ei
i i. i[ iA iE io iou N-
o o- ong ou u u@ ua uai
uei uo y y& y@ yE yi yu
a a: aI aU e E e: i
I i: o o: r- u u: V
y


; C f h j k kh l
L m n N p ph r R
s s. S; t th ts ts. ts.
tS; tS; tsh v w x X z.
: b bh c ch d d. d.h
dh dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph R R2 s S
s. S; t t. t.h th tS v
w z




Dictionary zhy_dict
Dictionary ml_dict


a aa aai aan aau ai au e
ei eo eoi eu i iu o oe
oi ong ou u ui yu
a a: aI aU e E e: i
I i: o o: r- u u: V
y


b c d f g h j k
l m n N p r s t
tS v w z
: b bh c ch d d. d.h
dh dZ f g gh h j J
Jh k kh l l. m n N
n. n^ p ph R R2 s s.
S; t t. t.h th tS v w
z z.


Dictionary mn_dict

a e i o O o: U u

: ; c f g j k L
m n p p# R s S t
t# tS ts ts# w x


Dictionary ne_dict

@ @/ @2 @3 a aI aU a~
e E eI eU e~ E~ i I
i~ l- o O o: oI oU O~
o~ r- u uI u~ V VI VU
V~

- : b bh c ch d d.
d.h dh f g gh h H j
J Jh k kh l l. m n
N n. n^ p ph Q q r
r. s S s. t T t. t.h
th v w x z z.




Dictionary pap_dict Dictionary pap_dict
j k l m n N n^ p j k l m n N n^ p
R s S t tS v w x R s S t tS v w x
z Z z Z


Dictionary rw_dict

a e i o u

* : b B c d dZ f
g h j J k l m n
N n^ p q R s S S;
t tS v w x z

+ 16
- 0
dictsource/en_list View File

√ skw,e@r'u:t √ skw,e@r'u:t
∞ Inf'InI2tI2 ∞ Inf'InI2tI2
≠ n0t'i:kw@LtU ≠ n0t'i:kw@LtU
№ nju:m@roU


ß S,A@p'Es ß S,A@p'Es
ə SwA: ə SwA:


// numeric // numeric


//_0 zero $text // TEST
_0 z'i@roU _0 z'i@roU
_1 w'0n _1 w'0n
?6 _1 w'Vn ?6 _1 w'Vn
anymore $3 anymore $3
anything EnI2TIN anything EnI2TIN
apache a2patSI apache a2patSI
apostle a2p0s@L
apron eIpr@n apron eIpr@n
appal a2pO:l appal a2pO:l
apparatus ap@r'eIt@s apparatus ap@r'eIt@s
bombard $2 bombard $2
bonbon b0nb0n bonbon b0nb0n
bonhomie b0n@mi: bonhomie b0n@mi:
bonjour bO:nZ'U@
boogie b'u:gI boogie b'u:gI
bosom bUz@m bosom bUz@m
bosun boUs@n bosun boUs@n
doable du:@b@L doable du:@b@L
doctrine d0ktrI2n doctrine d0ktrI2n
doctrinal d0ktr'aIn@L doctrinal d0ktr'aIn@L
doer du:3
dogged d0gI2d dogged d0gI2d
domino $1 domino $1
donor doUn3 donor doUn3
kiwi ki:wi: kiwi ki:wi:
knavish neIvIS knavish neIvIS
koala koU'A:l@ koala koU'A:l@
koan koUA:n
kopje k0pI kopje k0pI
kosher koUS3 kosher koUS3


lingerie l0nZ@rI lingerie l0nZ@rI
linen lInI2n linen lInI2n
liqueur lI2kjU@ liqueur lI2kjU@
liter li:t3
literature lItrI2tS3 literature lItrI2tS3
live laIv $onlys live laIv $onlys
live lIv $verb live lIv $verb
livecd l'aIvsi:d'i:
livestock l'aIvst,0k livestock l'aIvst,0k
lively laIvlI lively laIvlI
llama lA:m@ llama lA:m@
offers 0f3z offers 0f3z
ogre oUg3 ogre oUg3
okay oUk'eI okay oUk'eI
oled oUlEd // abbrev
omeg oUm'eIg@ omeg oUm'eIg@
omelet 0ml@t omelet 0ml@t
omelette 0ml@t omelette 0ml@t
pigsty pIgstaI pigsty pIgstaI
pilot paIl@t pilot paIl@t
pineapple p'aInap@L pineapple p'aInap@L
pinged pINd
pint paInt pint paInt
pioneer paI@n'i@3 pioneer paI@n'i@3
pious paI@s pious paI@s
vicar vIk3 vicar vIk3
vigilante vIdZI2l'antI2 vigilante vIdZI2l'antI2
villi vIlaI villi vIlaI
vineyard vInj3d
vinyl vaInI2l vinyl vaInI2l
violin $2 violin $2
virus vaI@r@s virus vaI@r@s
Nebraska $2 Nebraska $2
Nepal nEp'O:l Nepal nEp'O:l
?3 Nevada nI2vad@ ?3 Nevada nI2vad@
Newfoundland nju:f@ndla2nd
Noumea nu:m'eI@ Noumea nu:m'eI@
Oahu oU'A:hu: Oahu oU'A:hu:
Ohio oUh'aIoU Ohio oUh'aIoU
Rihanna rI'A:n@ Rihanna rI'A:n@
Roderick r0drIk Roderick r0drIk
Rosario roUz'A@rIoU Rosario roUz'A@rIoU
Russell rVs@L
Sabina sa2bi:n@ Sabina sa2bi:n@
Sabine sa2bi:n Sabine sa2bi:n
Samantha s@manT@ Samantha s@manT@
Andromeda andr'0mId@ Andromeda andr'0mId@
Buchanan bju:k'an@n Buchanan bju:k'an@n
Campbell kamb@l Campbell kamb@l
Carnegie kA@nEgI
Cthulhu k@-Tu:Lu: Cthulhu k@-Tu:Lu:
Chrysler kraIzl3 Chrysler kraIzl3
Disney dIznI Disney dIznI
Dolce d0ltSeI Dolce d0ltSeI
Dvorak d@-vo@Zak
Hades heIdi:z Hades heIdi:z
Patel pa2tEl Patel pa2tEl
Primavera pri:m@v'e@r@ Primavera pri:m@v'e@r@
?3 pasta pA:st@ ?3 pasta pA:st@
?3 patent pat@nt ?3 patent pat@nt
?3 privacy praIv@sI ?3 privacy praIv@sI
?3 respite rEspI2t
?3 semi sEmaI ?3 semi sEmaI
?3 status stat@s ?3 status stat@s
?3 template tEmpl@t ?3 template tEmpl@t

+ 6
- 1
dictsource/en_rules View File

amoeb a2mi:b amoeb a2mi:b
f) amil amIl f) amil amIl
f) am (ous eIm f) am (ous eIm
&g) am (ous =a2m
&) am (ent @m &) am (ent @m
&) ame (nta @m'E &) ame (nta @m'E
_) ame (nt a2mE _) ame (nt a2mE
de (pol d%i: de (pol d%i:
de (pop d%i: de (pop d%i:
depo (siti dEp@ depo (siti dEp@
de (preca dE
de (pt dE de (pt dE
de (put dE de (put dE
_) de (rai dI2 _) de (rai dI2
_s) i (der aI _s) i (der aI
i (der_+ aI i (der_+ aI
@) i (do_ 'i: @) i (do_ 'i:
ifier (_ IfaI@
ifier (_ IfaI3
man) ife (s IfE man) ife (s IfE
&) ify (_ =I2faI &) ify (_ =I2faI
if (icAnC 'If if (icAnC 'If
ng (e ndZ ng (e ndZ
ng (y Ng ng (y Ng
mA) ng (y ndZ mA) ng (y ndZ
u) ng (y ndZ
nged ndZd nged ndZd
o) nged Nd o) nged Nd
spo) nged ndZd spo) nged ndZd
.group su .group su
_ca) su Zu: _ca) su Zu:
_) sus (A su:z _) sus (A su:z
su (al Zu:
_) su (b sV _) su (b sV
su (bdue s%V su (bdue s%V
su (bmerg s@ su (bmerg s@
_) x z _) x z
xio (n kS@ xio (n kS@
xious =kS@s xious =kS@s
xu (a kSu:


.group y .group y
y j y j

+ 106
- 76
dictsource/fr_list View File



// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated 2009-07-3128 Michel Such <[email protected]>
// Updated 2009-09-28 Michel Such <[email protected]>
// //
// * Numbers, a few abbreviations and exceptions. // * Numbers, a few abbreviations and exceptions.
// //


// accent names // accent names
_lig ligat'yr _lig ligat'yr
_acu aksA~tEg'y
_ac2 dublaksA~tEg'y
_acu aksA~tE2g'y
_ac2 dublaksA~tE2g'y
_brv br'Ev _brv br'Ev
_ced sed'ij _ced sed'ij
_cir aksA~sirkO~fl'Eks _cir aksA~sirkO~fl'Eks
_?A l'Etr _?A l'Etr
_?? sE~b'Oll _?? sE~b'Oll
_#9 tabylasiO~ _#9 tabylasiO~
_#32 Espas
_#32 E2spas




_" gijmE
_" gijmE2
_# djEz _# djEz
_' apostr'Of _' apostr'Of


_( 'uvr@-parA~t'Ez _( 'uvr@-parA~t'Ez
_) f'Erm parA~t'Ez _) f'Erm parA~t'Ez
_, virgyl _, virgyl
_- tirE
_- tirE2
_. _|pw%E~ _. _|pw%E~
_/ bar||oblik
_/ bar||o2blik
_: d'Y||pw'E~ _: d'Y||pw'E~
_; pwE~||virg'yl _; pwE~||virg'yl
_< E~feri-Wr _< E~feri-Wr
_= egal _= egal
_> syperi-Wr _> syperi-Wr
_? pwE~||dE~terogasj'O~
_? pwE~||dE~tE2rogasj'O~
_! pwE~||dEksklamasj'O~ _! pwE~||dEksklamasj'O~
_[ uvr@-_kroSE
_[ uvr@-_kroSE2
_\ b'aksl'aS _\ b'aksl'aS
_] f'Erm_kroS'E
_] f'Erm_kroS'E2
_^ sirkOnflEks _^ sirkOnflEks
__ sulin^e __ sulin^e
_` aks'A~_gr'av _` aks'A~_gr'av
_| bar_vErtik'al _| bar_vErtik'al
_} f'Erm_akOl'ad _} f'Erm_akOl'ad
² pw^is'A~s||d'Y ² pw^is'A~s||d'Y
_« uvre||gijm'E
_» fErme||gijm'E
_« uvre||gijm'E2
_» fErme||gijm'E2
_’ apostr'Of _’ apostr'Of
_‘ apostr'Of _‘ apostr'Of
_µ mikr'o _µ mikr'o
// symbols that are normally spoken when reading text // symbols that are normally spoken when reading text
@ _!arobaz @ _!arobaz
% pursA~ $max3 % pursA~ $max3
& _|e $u
_& _e_komErsi'al
& e $u $brk
_& _e_komErsi-'al
* asterisk: $max3 * asterisk: $max3
+ plys $max3 + plys $max3
~ tilde ~ tilde


abc $abbrev abc $abbrev
ac $abbrev ac $abbrev
acrobat acrobate $text
adn adeEn adn adeEn
adsl adeEsEl adsl adeEsEl
alt _::alt alt _::alt
cia $abbrev cia $abbrev
cio $abbrev cio $abbrev
cm centimètre $text cm centimètre $text
collins kolins
cpu $abbrev cpu $abbrev
ctrl _::kO~tro2l ctrl _::kO~tro2l
dept depart@-mA~
dept depart@mA~
divx diviks divx diviks
ebay _^_en ebay _^_en
(e bay) ebay $text (e bay) ebay $text
edf @deEf edf @deEf
etc Etsetera
etc E2tsetera
ghz ZigaErts ghz ZigaErts
(g hz) ZigaErts
hmm h@m hmm h@m
(http ://) aSt,et,ep'e_ (http ://) aSt,et,ep'e_
hz _|Erts hz _|Erts
ibm ibeEm ibm ibeEm
ide $abbrev ide $abbrev
ip ipe ip ipe
irc i:_|Er:se
jaws _^_en
irc i:_!Er_!se
jaws dZo3:z
kbit kilobit kbit kilobit
kde $abbrev kde $abbrev
kg kilogram
kg kilogramme $text
khz kiloErts khz kiloErts
km kilomètre $text km kilomètre $text
(km player) ka,EmplEj'Wr
(kmplayer) ka,EmplEj'Wr
(km player) ka,EmplE2j'Wr
(kmplayer) ka,EmplE2j'Wr
kw kilowatt $text kw kilowatt $text
m. m@siY m. m@siY
mbit megabit mbit megabit
mme madame $text mme madame $text
mn minyt mn minyt
mns minytz2 mns minytz2
(mp 3) _|Empetrwa
(mp 3) _!EmpetrwA
mr m@siY mr m@siY
nsi $abbrev nsi $abbrev
nsis $abbrev nsis $abbrev
nti $abbrev nti $abbrev
nvda $abbrev nvda $abbrev
ocr oseEr ocr oseEr
oem $abbrev
oem _!,o_!,@_!'Em
ogm oZeEm ogm oZeEm
ong oEnZe ong oEnZe
pci $abbrev pci $abbrev
pcmcia $abbrev
pda $abbrev pda $abbrev
philips filips philips filips
p.s pOstskriptOm p.s pOstskriptOm
qq quelque $text qq quelque $text
qqs quelques $text qqs quelques $text
ratp $abbrev ratp $abbrev
riscos rIskoEs
riaa $abbrev
riscos RiskoEs
sap $abbrev sap $abbrev
scsi $abbrev scsi $abbrev
s.t.p silt@:pl'E
s.v.p silvu:pl'E
sos $abbrev
s.t.p silt@:pl'E2
s.v.p silvu:pl'E2
st s'E~t2 st s'E~t2
ste s'E~t ste s'E~t
stp silt@:pl'E
svp silvu:pl'E
stp silt@:pl'E2
svp silvu:pl'E2
tva $abbrev tva $abbrev
uk $abbrev uk $abbrev
ups ypeEs ups ypeEs
utc $abbrev utc $abbrev
utf $abbrev utf $abbrev
u.s y:Es u.s y:Es
virgin virZin
vip v,i||,aj||p'i vip v,i||,aj||p'i
(web visum) webvisum $text (web visum) webvisum $text
windows windo3z
wma $abbrev wma $abbrev
xfce iksEfse@ xfce iksEfse@
xy $abbrev xy $abbrev
pr professeur $text *dot $capital pr professeur $text *dot $capital






// articles // articles
le $nounf $u+ le $nounf $u+
le $verb $verbextend $u le $verb $verbextend $u


// conjonctions // conjonctions
mais $u+ mais $u+
ou _|u $u
ou u $u $brk
eh $u $brk eh $u $brk
et _|e $u
en $u
et e $u $brk
ni $u ni $u
car $u car $u
car $noun car $noun
cependant
néanmoins $u+ néanmoins $u+
toutefois $u+ toutefois $u+
afin afE~ $u+ $brk
avant $u+ avant $u+
après $u+ après $u+
(temps en temps) tA~zA~tA~ (temps en temps) tA~zA~tA~


certes $u+ certes $u+
dont dO~t2 $u dont dO~t2 $u
lorsque lO2rsk@ $u+
puisque pw^isk@ $u+
presque $u+
lorsque lOrsk=@ $u+
puisque pw^isk=@ $u+
presque prEsk=@ $u+
que $u+ que $u+
(parce que) parsk@ $u+ (parce que) parsk@ $u+
(parce qu'il) parskil $u+ (parce qu'il) parskil $u+
tu $u+ $verbf tu $u+ $verbf
il $u+ $verbf il $u+ $verbf
elle $u+ $verbf elle $u+ $verbf
y $u $verbf
y $u+ $verbf
nous $u+ $verbf nous $u+ $verbf
vous $u+ $verbf vous $u+ $verbf
elles $u+ $verbf elles $u+ $verbf
chaque $u+ chaque $u+
plusieurs $u+ plusieurs $u+
durant $u+ durant $u+
avec $u+
avec $u+ $brk
sans $u+ sans $u+
trop trop2 $u+ trop trop2 $u+
assez $u+ assez $u+
beaucoup bokup2 $u+ beaucoup bokup2 $u+
peu $u+ peu $u+
très $u+
près $u+
très trEz2 $u+
près prEz2 $u+
loin $u+ loin $u+


// negative // negative


// auxillary verbs (be, have, can, etc) // auxillary verbs (be, have, can, etc)
suis $u+ $verb suis $u+ $verb
es Ez2 $u+
est Et2 $u+
es E2z2 $u+
est E2t2 $u+
sommes $u+ $verb sommes $u+ $verb
êtes $u+ $verb êtes $u+ $verb
sont $u+ $verb sont $u+ $verb
soit $u+ soit $u+


ai $u+ $verb ai $u+ $verb
(ai je) EZ=@- $u+
(ai je) E2Z $u+
as as as as
as az2 $u+ $verb as az2 $u+ $verb
(as tu) aty (as tu) aty
quel $u+ quel $u+
quelle $u+ quelle $u+
quelles $u+ quelles $u+
quelque $u+
quelques $u+
quelque kElk=@ $u+
quelques kElk=@z2 $u+
tel $u+ tel $u+
telle $u+ telle $u+
telles $u+ telles $u+
toute t'ut $u+ toute t'ut $u+
toutes t'utz2 $u+ toutes t'utz2 $u+
tous $u+ tous $u+
rien ri-'E~n2 $u+
rien Ri-'E~n2 $u+


// Letters which can be words // Letters which can be words
//=========================== //===========================
hareng _!arA~ hareng _!arA~
pastis pastis pastis pastis
poing pwE~ poing pwE~
ressent r@s'A~t2
riz ri
ressent R@s'A~t2
riz Ri
sphincter sfE~ktEr sphincter sfE~ktEr
sous $u+ sous $u+
sur $u+ sur $u+
(1 ers) pr@mjez2 (1 ers) pr@mjez2
(1 ère) pr@mjEr (1 ère) pr@mjEr
(1 ères) pr@mjErz2 (1 ères) pr@mjErz2
(1 èrement) pr@mjEr@-mA~
(1 èrement) pr@mjErmA~




monsieur m@sjY monsieur m@sjY
messieurs mesjYz2 messieurs mesjYz2
montréal mO~real montréal mO~real
(n'est ce pas) n'Es@-||p'az2
(n'est ce pas) n'Es||p'az2
(qu'est ce que) kEsk@ $u (qu'est ce que) kEsk@ $u
absent absA~ absent absA~
adam adA~ adam adA~
airbus airbuss $text airbus airbuss $text
alan alan alan alan
albinos albinoss $text albinos albinoss $text
alleluia alelui'a
anis anis
arte arte arte arte
auvent ovA~ auvent ovA~
beta beta beta beta
bien bi-E~n2 $u+ bien bi-E~n2 $u+
bis bis bis bis
bissus bisys bissus bisys
blues _^_en
broglie breuil $text
buffer bWfWr buffer bWfWr
bus bys bus bys
bus by $verb bus by $verb
choeur kWr choeur kWr
cocus koky cocus koky
couscous kuskus couscous kuskus
delete _^_en
dernier dErnjer2 dernier dErnjer2
éloquent ElokA~t2
éloquent elokA~t2
enfer A~fEr enfer A~fEr
faut fot2 $u+ faut fot2 $u+
fier fjer $verb fier fjer $verb
francis franciss $text
fred frEd fred frEd
free fri: free fri:
fuel fjul fuel fjul
gangster gA~gstEr
gars ga gars ga
gin dZin gin dZin
granit granitt $text
gulf gWlf gulf gWlf
gus gys
gym Zim gym Zim
hélas elas $u+ hélas elas $u+
iris iris
karaoke karaoke
laser lazEr laser lazEr
listbox listbO2ks
malus malys malus malys
mai mE2
mailto mEjltu_ mailto mEjltu_
mapper _^_en mapper _^_en
mars mars mars mars
mrs _^_en mrs _^_en
ours urs ours urs
pataquès patakEs pataquès patakEs
peter pi:tWr
phallus falys phallus falys
polder pOldEr polder pOldEr
premier pr@mjer2 premier pr@mjer2
program _^_en program _^_en
(program files) program||fajlz (program files) program||fajlz
query kueri
queries kueri
quit _^_en quit _^_en
recorder ricordeur $text recorder ricordeur $text
requiem rekw^ijEm
revolver RevOlvEr
scan skan
scanner skaner2 $verb scanner skaner2 $verb
scanner skanWr $noun scanner skanWr $noun
scanners skanWr scanners skanWr
shampoing SA~pwE~ shampoing SA~pwE~
sir _^_EN sir _^_EN
souris suri souris suri
stocker stoker2
sus sys sus sys
sus sy $verb sus sy $verb
to _^_en to _^_en
mazout mazut mazout mazut
michael mikaEl michael mikaEl
out aut out aut
rut ryt
rut Ryt
scorbut scorbutt $text scorbut scorbutt $text
scout skut scout skut
stout staut stout staut


// et (t is said) // et (t is said)


exocet EgzOsEt
exocet E2gzOsEt
fret fr'Et fret fr'Et
budget bydZE
budget bydZE2
hamlet hamlEt hamlet hamlEt
knesset knEsEt
lazaret lazarE
knesset knesEt
lazaret lazarE2
margaret margarEt margaret margarEt
net nEt net nEt
offset OfsEt offset OfsEt
set sEt set sEt
soviet sOviEt
soviet soviEt
stewart sti:wart stewart sti:wart


// urt (t is said) // urt (t is said)
kurt kurt kurt kurt
yaourt iaurt
yoghourt iogurt
yogourt iogurt
yaourt _!i-aurt
yoghourt _!i-ogurt
yogourt _!i-ogurt


// ort (t said) // ort (t said)
short SOrt short SOrt
smart smart smart smart


// irt // irt
(sweat shirt) swEtSW2rt
(sweat shirts) swEtSW2rt
(tee shirt) t,i:S'W2rt
(tee shirts) t,i:S'W2rt
(t shirt) t,i:S'W2rt
(t shirts) t,i:S'W2rt
(sweat shirt) swEtSWrt
(sweat shirts) swEtSWrt
(tee shirt) t,i:S'Wrt
(tee shirts) t,i:S'Wrt
(t shirt) t,i:S'Wrt
(t shirts) t,i:S'Wrt




// words from other languages // words from other languages
(cyber link) _^_en (cyber link) _^_en
debian debjan debian debjan
edit _^_en edit _^_en
emacs Emaks
emacspeak Emakspi:k
emacs E2maks
emacspeak E2makspi:k
end _^_en end _^_en
epson EpsOn
epson E2psOn
espeak @spi:k espeak @spi:k
ethernet etErnEt ethernet etErnEt
exit egzit exit egzit
hot _^_en hot _^_en
in in $u+ in in $u+
inside _^_en inside _^_en
(internet explorer) E~tErn'Et||EksplOr'Wr
(internet explorer) E~tErn'Et||E2ksplOr'Wr
klaxon klaksOn klaxon klaksOn
let _^_en let _^_en
lite _^_en lite _^_en
paint _^_en paint _^_en
paper _^_en paper _^_en
people _^_en people _^_en
redhat rEdat
redhat REdat
same _^_en same _^_en
sametime _^_en sametime _^_en
schubert SubEr schubert SubEr
bahamas baamas bahamas baamas
bangladesh bA~gladES bangladesh bA~gladES
bélarus belarys bélarus belarys
belize beliz
bissau bisa'o
(burkina faso) byrkina||faso (burkina faso) byrkina||faso
burundi burundi burundi burundi
croatie kroasi croatie kroasi
esperanto EsperA~to
esperanto E2sperA~to
groenland groEnlA~d groenland groEnlA~d
guatemala gwAtemala guatemala gwAtemala
honduras _!O~dyras honduras _!O~dyras
liechtenstein liStEnStajn liechtenstein liStEnStajn
malawi malaui malawi malaui
mayotte majO2t mayotte majO2t
nevis nevis
niger niZEr niger niZEr
oman oman oman oman
palaos palaO2s palaos palaO2s
samoa samoa samoa samoa
swaziland swAzilA~d
leone leO2n leone leO2n
koweït kowEjt koweït kowEjt
taïwan tajwAn taïwan tajwAn
texas tEks'as
texas tE2ks'as
tuvalu tuvalu
vanuatu vanuatu
venezuela venezyela venezuela venezyela
(viêt nam) viEtnam
(viêt nam) vi-Etnam
wallis wAlis wallis wAlis
futuna futuna futuna futuna
zimbabwe zimbabwe zimbabwe zimbabwe


+ 117
- 79
dictsource/fr_rules View File



// 2006-11-18 Gilles Casse <[email protected]> // 2006-11-18 Gilles Casse <[email protected]>
// //
// Updated: 2009-07-31 Michel Such <[email protected]>
// Updated: 2009-09-25 Michel Such <[email protected]>
// //


// Letter classes: // Letter classes:
.L03 d l m n s t v .L03 d l m n s t v
.L04 c d f g l m n v .L04 c d f g l m n v
.L05 g h k l m v w .L05 g h k l m v w
.L06 l r s




.group a .group a
aî E // maître aî E // maître
aim (K W~ // faim aim (K W~ // faim
ain (K E~ // pain ain (K E~ // pain
CC) ain (_ E~n2 // prochain arret
Ct) ain (_ E~n2 // certain ami
ch) ain (_ E~n2 // prochain arret
ai (_ e // dirai ferai... ai (_ e // dirai ferai...
_ess) ai (_ E // essai
_vr) ai (_ E // vrai
ais (_ Ez2 // dirais ferais...
ait (_ Et2 // dirait ferait...
aient (_ Et2 // diraient feraient...
_ess) ai (_ E2 // essai
_vr) ai (_ E2 // vrai
ai (b E // faible
ais (_ E2z2 // dirais ferais...
ait (_ E2t2 // dirait ferait...
aient (_ E2t2 // diraient feraient...
f) ai (sA @ // faisons faisan f) ai (sA @ // faisons faisan
a (ill a a (ill a
a (ils_ a a (ils_ a
a (il_ a a (il_ a
aie (me E // paiement
ai E // aile
aie (me E2 // paiement
ai E2 // aile
ai (L06 E // aile
ai (CAX E // aile
am (b A~ // jambon am (b A~ // jambon
am (p A~ // camp am (p A~ // camp
am (m a // programmation am (m a // programmation
a (nnA a // manne a (nnA a // manne
an (K A~ // ancien, élan an (K A~ // ancien, élan
@@m) an (_ an // tennisman @@m) an (_ an // tennisman
zm) an (_ an // jazzman
L02m) an (_ an L02m) an (_ an
lism) an (_ A~ // talisman lism) an (_ A~ // talisman
ulm) an (_ A~ // musulman ulm) an (_ A~ // musulman
ïm) an (_ A~ // caïman
_C) aon (_ A~ // faon, paon, taon _C) aon (_ A~ // faon, paon, taon
s) aoul (_ u // saoul s) aoul (_ u // saoul
s) aou (le u // saoule s) aou (le u // saoule
août ut // août août ut // août
août (i aus // aoûtien août (i aus // aoûtien
aut (_ ot2 aut (_ ot2
a (ô // saune
au o // autruche au o // autruche
au (l_ O // Paul au (l_ O // Paul
au (re O // dinosaure au (re O // dinosaure
au (r_ O
_) audio (@P5 odio _) audio (@P5 odio
_) auto (@P4 oto _) auto (@P4 oto
_) autom (n otO _) autom (n otO
_) au (treX o2 _) au (treX o2
bb) aye (X ei // abbaye bb) aye (X ei // abbaye
p) a (ys E // pays paysage
ay (C E // aymé ay (C E // aymé
ay Ej // paye ay Ej // paye
ay (_ E // display
Xl) ayer (X EjWr // player, layer
ay (_ E2 // display
p) a (ys E2 // pays paysage
Xl) ayer (X E2jWr // player, layer
w) an (_ an
a a // bateau a a // bateau


// group a: English section // group a: English section
_) ch (arism k // charisme, charismatique _) ch (arism k // charisme, charismatique
_) ch (irop k // chiroptère _) ch (irop k // chiroptère
a) ch (_ k // almanach a) ch (_ k // almanach
ar) c (ti // arctique
e) ch (_ k // varech e) ch (_ k // varech
_A) ch (o_ k // écho _A) ch (o_ k // écho
mani) ch (é k // manichéisme mani) ch (é k // manichéisme
x) c (Y x) c (Y
c (Y s // cède c (Y s // cède
_) cyber (P5 sibEr _) cyber (P5 sibEr
ban) c (_ // banc
blan) c (_ // blan
Can) c (_ // banc
Con) c (_ // tronc, jonc Con) c (_ // tronc, jonc
_don) c (_ k // donc _don) c (_ k // donc
cler) c (_ // leclerc cler) c (_ // leclerc


// group c: English section // group c: English section
n) ch (_ _^_en // french n) ch (_ _^_en // french
ch (ment _^_en // attachment
cut (_ _^_en // cut, shortcut cut (_ _^_en // cut, shortcut






// Define use of the final 'e' in french // Define use of the final 'e' in french
e (_ e (_
elqu) e =@
uisqu) e =@
rsqu) e =@
_C) e (_ @2 // je te _C) e (_ @2 // je te
-c) e (_ @-
-j) e (_ @-
C) e (- @-
-c) e (_
-j) e (_
C) e (-


e (Ce_ E e (Ce_ E
eau o // bateau cheveaux eau o // bateau cheveaux
g) ea (s_ a // mangeas g) ea (s_ a // mangeas
gh) e (tAX e // spagheti gh) e (tAX e // spagheti
j) e (a // Jean Jeanne j) e (a // Jean Jeanne
p) ect (_ E // suspect
p) ect (_ E2 // suspect
ect (_ Ekt // direct ect (_ Ekt // direct
pi) ed (_ e // pied pi) ed (_ e // pied
_cl) ef (_ e // clef _cl) ef (_ e // clef
_cr) e (at e
_) ein (K En // peindre _) ein (K En // peindre
ein (K E~ // peindre ein (K E~ // peindre
CC) ein (_ E~n2 // plein emploi
pl) ein (_ E~n2 // plein emploi
e (il E // vieille e (il E // vieille
ei E // neige ei E // neige
eoi wA // asseoir eoi wA // asseoir
_f) em (me a // femme _f) em (me a // femme
i) e (mA // remerciement, d�ploiement i) e (mA // remerciement, d�ploiement
A) e (rA // remerciera A) e (rA // remerciera
gu) e (rA @
qu) e (rA @
v) e (lop @-
tch) e (rX W tch) e (rX W
@) em (me a // patiemment @) em (me a // patiemment
em (b A~ // décembre em (b A~ // décembre
em (mACC A~ // emmancher em (mACC A~ // emmancher
em (mACAC A~ // emmagasiner em (mACAC A~ // emmagasiner
em (ma e // emmanuel
em (ma E2 // emmanuel
em (mai A~ // emmailloter em (mai A~ // emmailloter
l) em (n a // solemnel l) em (n a // solemnel
il) emn Em // dilemne il) emn Em // dilemne
Xig) ent (_ t2 // figent, pigent Xig) ent (_ t2 // figent, pigent
oblig) en (t_ A~ // obligent, d�sobligent oblig) en (t_ A~ // obligent, d�sobligent
Voblig) ent (_ t2 // obligent (verbe) Voblig) ent (_ t2 // obligent (verbe)
orrig) ent (_ t2 // corrigent
tang) en (t_ A~ // tangent tang) en (t_ A~ // tangent


man) en (t_ A~ // permanent man) en (t_ A~ // permanent


dg) et (_ Et // Bridget, gadget dg) et (_ Et // Bridget, gadget
k) et (_ Et k) et (_ Et
tick) et (_ E
tick) et (_ E2
m) et (_ Et2 m) et (_ Et2


eu Y // eu eu Y // eu
eu (h_ Y eu (h_ Y
eu (x_ Y eu (x_ Y
eu (i W eu (i W
eu (rC W2
_l) eu (r_ W2
eu (tr Y
eu (rC W
_l) eu (r_ W


_) eut (_ yt2 _) eut (_ yt2
eut (_ Yt2 eut (_ Yt2
_) extra (uP5 Ekstra
_) extra (CP5 Ekstra
_) extra (uP5 E2kstra
_) extra (CP5 E2kstra
_) eû y // eût _) eû y // eût
eû Y: // jeûne eû Y: // jeûne


e (x E // exact
ey (_ E // dahomey
ey (C E // ceylan
ey (_ E2 // dahomey
ey (C E2 // ceylan
ey Ej // asseye ey Ej // asseye


ez (_ ez2 // nez mangez chez ez (_ ez2 // nez mangez chez
_r) e (ch @ // recherche _r) e (ch @ // recherche
e (Cl @ e (Cl @


_l) e (xA E
_l) e (xA E2
_m) e (xA E2
_l) e (CA @ _l) e (CA @
_l) e (ChA @ _l) e (ChA @
_l) e (ClA @ // Leclerc _l) e (ClA @ // Leclerc
e (Cr @ e (Cr @
_) e (C% e // effet, effectuer _) e (C% e // effet, effectuer
e (C_ E e (C_ E
e (t_ E
e (t_ E2
e (rC E e (rC E
es (_ z2 es (_ z2


%C) e (Ca @-
// %C) e (Ce // actuellement guillemets
%C) e (xA E
%C) e (mA // actuellement guillemets
ct) e (ment @
nC) e (ment @-
rC) e (ment @
AC) e (rie_ @-
AC) e (ries_ @-
AcC) e (rie_ @-
AcC) e (ries_ @-
%C) e (rie_ @-
%C) e (ries_ @-
AC) e (ment
u) e (ment @-
ul) e (CA
ull) e (CA

As) e (gA
As) e (pA
Av) e (gA // sauvegarde
Av) e (pA
%C) e (xA E2

@gu) e (CA
@gu) er (A r
@qu) e (CA
@qu) er (A r
_qu) e (CA @
@L06gu) e (CA @
@L06qu) e (CA @
@C) e (CA
@C) er (A r
@C) e (rion++ @
@C) e (riez++ @
@ch) e (CA
@ch) er (A r
L06ch) e (CA @
@L06C) e (CA @
@CL06) e (CA @
@bC) e (CA @
@ct) e (CA @
%C) e (CA++
%C) er (A++ r
@C) e (xA++ E2
@c) e (v++ @
@d) e (v++ @

@C) e (CrA
@ch) e (CrA
@L06ch) e (CrA @
@L06C) e (CrA @
@CL06) e (CrA @
%C) e (CrA++
e (rr+++ E


e @ // menue e @ // menue
_) e (CA e _) e (CA e
_) e (xA E
_) e (xC++ E2
Cr) eam i:m Cr) eam i:m
Cr) eamer i:mWr Cr) eamer i:mWr
Cl) eaner i:nWr Cl) eaner i:nWr
eïn (_ 'Ein eïn (_ 'Ein
_y) en (_ En _y) en (_ En
iew) er (X er2 iew) er (X er2
_m) e (ga e




// group e: English section // group e: English section


Z) ème i-Em Z) ème i-Em
è E è E
Ar) ès (_ Es
m) ès (_ Es
n) ès (_ Es
p) ès (_ Es




.group ë .group ë
gt (_ // vingt doigts gt (_ // vingt doigts
gt t // vingtaine doigté gt t // vingtaine doigté


gui gi // anguille
gu (i g // anguille
ai) gui (l gw^i // aiguillage ai) gui (l gw^i // aiguillage
in) gui (s gw^i // linguiste in) gui (s gw^i // linguiste
g (C g g (C g


_ran) g (_ // rang _ran) g (_ // rang
_san) g (_ // sang _san) g (_ // sang
tan) g (_ // sang
étan) g (_ // étang
_lon) g (_ // long _lon) g (_ // long
bour) g (_ // Strasbourg bour) g (_ // Strasbourg


ot) ien (t_ i-A~ // quotient ot) ien (t_ i-A~ // quotient


i (e_ i i (e_ i
_) ill ill // illégal
_) ill il // illégal
ill (_ il // Bill
_C) ill (y_ il // Billy
aigu) ill ij // aiguille aigu) ill ij // aiguille
anqu) ill il // tranquille anqu) ill il // tranquille
c) ill (i il c) ill (i il
_) intra (neP5 E~tra _) intra (neP5 E~tra
_) intra (uP5 E~tra _) intra (uP5 E~tra
C) is (_ i C) is (_ i
Kir) is (_ is
bor) is (_ is bor) is (_ is
dor) is (_ is dor) is (_ is
tor) is (_ is tor) is (_ is
fl) irt W2rt
fl) irt Wrt
otl) i (neX aj otl) i (neX aj
onl) i (ne_ aj onl) i (ne_ aj
offl) i (ne_ aj offl) i (ne_ aj
dr) i (ve aj
pr) int (_ int


// group i: English section // group i: English section
ibuter (X _^_en ibuter (X _^_en
iev _^_en iev _^_en
ife (_ _^_en ife (_ _^_en
igh _^_en igh _^_en
iven (_ _^_en
ind (X _^_en // find, mind ind (X _^_en // find, mind
_C) ind (erX _^_en // finder _C) ind (erX _^_en // finder
AC) ind (erX _^_en // reminder AC) ind (erX _^_en // reminder
ize (X _^_en // realize ize (X _^_en // realize
dr) i (veX _^_en
_bAl) i (ze i
ram_f) i (le _^_en ram_f) i (le _^_en




.group ï .group ï
ïn (C E~ // coïncider ïn (C E~ // coïncider
ïn (_ E~ ïn (_ E~
ïs is // maïs, archaïsme
ïs (K is // maïs, archaïsme
ï (q i // archaïque ï (q i // archaïque
ï (c i // laïc ï (c i // laïc
a) ï j // aïeul
a) ï (A j // aïeul
a) ï (C i // naïf
tha) ï (K j // thaï
_ha) ï (K i // haïr
ï i // ambiguïté ï i // ambiguïté




.group j .group j
j Z // adjoint joujoux j Z // adjoint joujoux
_) j' (P2v Z _) j' (P2v Z
_) j (azz dZ
_) jazz dZaz
_) j (obK dZ _) j (obK dZ
_) j (ohK dZ _) j (ohK dZ
_) jusqu' (P6 Zysk _) jusqu' (P6 Zysk


// group m: English section // group m: English section
_) mail (_ _^_en // mailer _) mail (_ _^_en // mailer
mov (A _^_en // move, movy
mov (ieX _^_en // move, movy




.group n .group n
C) o (d_ O2 C) o (d_ O2


oe (ll wA // moelleux oe (ll wA // moelleux
oe (i W2 // oeil
oe (i W // oeil
_) oe (C Y // oesophage _) oe (C Y // oesophage
_ph) oe (C e // phoetus _ph) oe (C e // phoetus
oeu W // soeur coeur oeu W // soeur coeur
_) one _^_en _) one _^_en
oun (C _^_en // bounce, found oun (C _^_en // bounce, found
_) over _^_en // over _) over _^_en // over
ow (K _^_en // cow, town, down
ow (e _^_en // flower, power ow (e _^_en // flower, power
ow (X _^_en
oy (X _^_en // boy, toy oy (X _^_en // boy, toy




m) ps (_ // temps champs m) ps (_ // temps champs
r) ps (_ // corps r) ps (_ // corps


cham) p (_ // contrechamp
cham) p (_ // champ


cam) p (_ // camp cam) p (_ // camp




se) pt (_ t // sept se) pt (_ t // sept
se) pt (iè t // septième se) pt (iè t // septième
scul) p (t // sculpture
_) puisqu' (P7 pw^isk _) puisqu' (P7 pw^isk


// group p: English section // group p: English section
pad (_ _^_en pad (_ _^_en
plug _^_en // plug plug _^_en // plug
print (_ _^_en // print
printer (_ _^_en // printer printer (_ _^_en // printer






.group r .group r


_) r (A R
_su) rr rr // surréaliste _su) rr rr // surréaliste
cou) rr rr // courrai cou) rr rr // courrai
cou) rr (i r // courrier
mou) rr rr // mourrai mou) rr rr // mourrai
cou) rr (i r // courrier
r r // rien r r // rien
rr r rr r
_) radio (@P5 radio
_) radio (@P5 Radio


// group r: English section // group r: English section
_) real _^_en _) real _^_en
scien (t si-A~ // conscient scientifique scien (t si-A~ // conscient scientifique
sql (_S3 EskyEl sql (_S3 EskyEl



_u) s (_ s _u) s (_ s
Cu) s (_ Cu) s (_
Abu) s (_ s Abu) s (_ s
_) t' (P2v t _) t' (P2v t
Vn) t (_ t2 Vn) t (_ t2
A) t (- t2 A) t (- t2
VCi) t (_ t2
t (_ t (_
peti) t (_ t2 peti) t (_ t2
_) th t // thon _) th t // thon
u y // cruel nuage brut u y // cruel nuage brut
ui w^i // nuit, fuite ui w^i // nuit, fuite
uin (K yE~ // juin uin (K yE~ // juin
_s) u (rfX W
_s) u (rfeX W
uy (A w^ij uy (A w^ij


C) ucci utSi // capuccino C) ucci utSi // capuccino


C) u (bX W // hub, club C) u (bX W // hub, club
C) u (gX W // bug, mug C) u (gX W // bug, mug
_n) u (rse W2 // nurse
_n) u (rse W // nurse
r) u (nX W // run, autorun r) u (nX W // run, autorun
um (_ Om // album um (_ Om // album
f) um (_ W~ // parfum f) um (_ W~ // parfum
g) u (A // fatigue g) u (A // fatigue
g) u (ï y // ambiguïté g) u (ï y // ambiguïté
g) u (ë y // ambiguë g) u (ë y // ambiguë
uz (z W


// group u: English section // group u: English section
_b) usi _^_en // business, businessman _b) usi _^_en // business, businessman
.group v .group v
v v v v
vers (_ vErz2 vers (_ vErz2
Xri) ver (X vWr
_) view (X vju _) view (X vju
_) view (A vjuv _) view (A vjuv


.group w .group w
w w w w
w (agon v // wagon w (agon v // wagon
_r) w (an u // Rwanda
wa (ve_ wE:j // wave
wa (re_ wE: // hardware software


// group w: English section // group w: English section
e) w (K _^_en e) w (K _^_en
wa (Ce_ _^_en // hardware software wave
_) wan _^_en _) wan _^_en
wr _^_en // write wr _^_en // write
way _^_en // way, away way _^_en // way, away
zz dz zz dz
t) z s // tzigane t) z s // tzigane
C) zer (_ zEr C) zer (_ zEr
C) zer (_ zWr




.group .group








+ 130
- 21
dictsource/hu_list View File



// Conditional rules: // Conditional rules:
// ?1 speak "i" as Roman number // ?1 speak "i" as Roman number
?1 elso:
// Numbers // Numbers


_0 nullA _0 nullA
_8X n^oltsvAn _8X n^oltsvAn
_9X kilEntsvEn _9X kilEntsvEn
_0C sa:z _0C sa:z
_1C sa:z


_0M1 EzER2 _0M1 EzER2
_1M1 EzER2 _1M1 EzER2
_1M2 millio: _1M2 millio:
_2M2 ke:tmillio: _2M2 ke:tmillio:
_0M3 millia:R2d _0M3 millia:R2d
_1M3 millia:R2d
_1M3 ke:tmillia:R2d
_1M3 EJmillia:R2d
_2M3 ke:tmillia:R2d


_0M4 billio: _0M4 billio:
_1M4 billio: _1M4 billio:
_2M4 ke:tbillio: _2M4 ke:tbillio:
_dpt ||_v,Ess2Y:_
_dpt ||_!'Ege:s


_0Z1 tizAd // tenths
_0Z1 tizEd // tenths
_0Z2 sa:zAd // hundredths _0Z2 sa:zAd // hundredths
_0Z3 EzR2Ed _0Z3 EzR2Ed
_0Z4 ti:zEzR2Ed _0Z4 ti:zEzR2Ed




// ordinal numbers // ordinal numbers

_ord Edik _ord Edik
_1o ElSY:
_2o ma:Sodik
_1ox ElSY: // number = '1' only
_2ox ma:Sodik // number = '2' only
_1o EJ:Edik
_2o kEt:Edik
_3o hAR2_mAdik _3o hAR2_mAdik
_4o nEJEdik _4o nEJEdik
_5o YtYdik _5o YtYdik
_8o n^oltsAdik _8o n^oltsAdik
_9o kilEntsEdik _9o kilEntsEdik
_10o tizEdik _10o tizEdik
_12o tizENkEt:Edik
_20o husAdik _20o husAdik
_30o hAR2_mintsAdik
_60o hAtvAnAdik
_80o n^oltsvAnAdik
_0Co sa:zAdik _0Co sa:zAdik

_2Co ke:tsa:zAdik

// These words mean that a dot after number, immediately preceding, does not mean an ordinal number
január $alt
február $alt
március $alt
április $alt
május $alt
június $alt
július $alt
augusztus $alt
szeptember $alt
október $alt
november $alt
december $alt
//The following 12 row contains shorter hungarian month names
jan $alt
feb $alt
márc $alt
ápr $alt
máj $alt
jún $alt
júl $alt
aug $alt
szept $alt
okt $alt
now $alt
dec $alt


// accent names // accent names
_lig ligAtu:R2A _lig ligAtu:R2A
a.m An^n^i||m'int $dot a.m An^n^i||m'int $dot
dr doktoR2 $dot dr doktoR2 $dot
gpu $abbrev gpu $abbrev
mvgyosz $abbrev
OTP $abbrev
id idY:SEb: $dot id idY:SEb: $dot
ill illEdvE $dot
ill illEtvE $dot
ifj ifjAb: $dot ifj ifjAb: $dot
mta $abbrev mta $abbrev
pl pe:lda:ul $dot pl pe:lda:ul $dot
ú.n u:JnEvEzEt: $dot ú.n u:JnEvEzEt: $dot
vö v'EZd||_'Yss2E vö v'EZd||_'Yss2E


?1 i EJ $abbrev // option for Roman number




// Articles // Articles
x iks x iks
y ipsilon y ipsilon
z ze: z ze:

_é e: _é e:
é $atend é $atend



cs tSe: cs tSe:
dz dze: dz dze:

dzs dZe: dzs dZe:
sz Es sz Es
zs Ze: zs Ze:
ß _^_DE ß _^_DE


. pont $max3 . pont $max3
* tS'illAg $max3
* tSillAg $max3
% sa:zAle:k $max3 % sa:zAle:k $max3
+ plus $max3 + plus $max3
= EJEnlY:Se:g $max3
# sa:mjEl $max3
/ pER2 $max3
= EJEnlY: $max3
# kEt:Y:SkER2Est $max3
@ kukAts @ kukAts
& e:SjEl
& e:S
€ EuR2o € EuR2o
¶ bEkEzde:S ¶ bEkEzde:S
§ pAR2AgR2AfuS § pAR2AgR2AfuS
~ tildE ~ tildE
^ hia:n^
° fokjEl ° fokjEl
Ft foR2int Ft foR2int
\ viss2ApER2 $max3
\ bEks2lES $max3
^ fölfelényíl $text


_, vEss2Y: _, vEss2Y:
_; pontoSvEss2Y: _; pontoSvEss2Y:
_: kEt:Y:Spont _: kEt:Y:Spont
_! fElkia:lto: _! fElkia:lto:
_? ke:R2dY: _? ke:R2dY:
_- kYtY:jEl
_- kYtY:jEl $max3
__ Ala:hu:za:S __ Ala:hu:za:S
_' ApostR2o:f _' ApostR2o:f
_– nAJkYtY: _– nAJkYtY:
_… ha:R2_mASpont _… ha:R2_mASpont
_• di:spont _• di:spont



// Main Exceptions List // Main Exceptions List
//===================== //=====================


nato na:to: nato na:to:


$textmode $textmode
(1-én) elsején
MSZP emeszpé
SZDSZ eszdéesz

colon kettőspont
(://) kettőspontperper $pause
egyezség eggyesség

(1-én) elsején
(1-jén) elsején
(2-án) másodikán
(3-án) harmadikán
(4-én) negyedikén
(5-én) ötödikén
(6-án) hatodikán
(7-én) hetedikén
(8-án) nyolcadikán
(9-én) kilencedikén
(10-én) tizedikén
(11-én) tizeneggyedikén
(12-én) tizenkettedikén
(13-án) tizenharmadikán
(14-én) tizennegyedikén
(15-én) tizenötödikén
(16-án) tizenhatodikán
(17-én) tizenhetedikén
(18-án) tizennyolcadikán
(19-én) tizenkilencedikén
(20-án) huszadikán
(21-én) huszoneggyedikén
(22-én) huszonkettedikén
(23-án) huszonharmadikán
(24-én) huszonnegyedikén
(25-én) huszonötödikén
(26-án) huszonhatodikán
(27-én) huszonhetedikén
(28-án) huszonnyolcadikán
(29-én) huszonkilencedikén
(30-án) harmincadikán
(31-én) harminceggyedikén
(1-e) elseje
(2-a) másodika
(3-a) harmadika
(4-e) negyedike
(5-e) ötödike
(6-a) hatodika
(7-e) hetedike
(8-a) nyolcadika
(9-e) kilencedike
(10-e) tizedike
(11-e) tizeneggyedike
(12-e) tizenkettedike
(13-a) tizenharmadika
(14-e) tizennegyedike
(15-e) tizenötödike
(16-a) tizenhatodika
(17-e) tizenhetedike
(18-a) tizennyolcadika
(19-e) tizenkilencedike
(20-a) huszadika
(21-e) huszoneggyedike
(22-e) huszonkettedike
(23-a) huszonharmadika
(24-e) huszonnegyedike
(25-e) huszonötödike
(26-a) huszonhatodika
(27-e) huszonhetedike
(28-a) huszonnyolcadika
(29-e) huszonkilencedike
(30-a) harmincadika
(31-e) harmincegyedike
(Szvsz) eszvéesz
(edik szeptember) szeptember



+ 139
- 29
dictsource/hu_rules View File


// Hungarian translation rules // Hungarian translation rules
// This file is UTF-8 encoded // This file is UTF-8 encoded




.replace .replace
// allow o,u-circumflex for o,u-double-acute // allow o,u-circumflex for o,u-double-acute
ô ő
û ű
ô ő
û ű




.group a .group a
a A a A
_) a (_ %A _) a (_ %A
_) alattvaló _!'AlAtvAlo:


.group á .group á
á a: á a:




.group b .group b
b b b b
// bb b: // bb b:


biz (A b'iz, // bizalmas etc. biz (A b'iz, // bizalmas etc.
biedermeier bi:dER2ma:jER2 biedermeier bi:dER2ma:jER2

.group c .group c
c ts c ts
cc ts: cc ts:
cs tS cs tS
ccs tS: ccs tS:
!) cz ts // in names which start with a capital letter !) cz ts // in names which start with a capital letter
ar) csz (e ts
anar) ch (i C anar) ch (i C
hierar) ch (i C hierar) ch (i C
me) ch (a C me) ch (a C
nyol) c (sz ts nyol) c (sz ts
har) c (sz ts har) c (sz ts
lán) c (sz ts lán) c (sz ts
pá) c ts
per) c (sz ts per) c (sz ts
pol) c (so ts pol) c (so ts
por) c (sé ts por) c (sé ts


.group d .group d
d d d d
// dd d:
dts tS:
dt t:
a) dsz ts:
cselé) d d
enge) dsz ts:
engedelmeske) dsz ts:
mara) dsz ts:
kére) dz ts
// dd d:
dz dz dz dz
A) dz (A d:z A) dz (A d:z
dzs dZ dzs dZ
A) dzs dZ: A) dzs dZ:

C) ds tS
C) ds tS
ds (C tS ds (C tS
A) ds (A tS: A) ds (A tS:
dsz ts dsz ts
A) dzs (A dZ: A) dzs (A dZ:
C) dj J C) dj J
A) dj (A J: A) dj (A J:

ren) d (szer d

dj J:
min) dny n^


.group e .group e
e E e E
D_-_) es (_ %ES D_-_) es (_ %ES
_) egyezség _!'EJ:ESSe:g
.group é .group é
é e: é e:
éi (é e::i: éi (é e::i:
.group f .group f
f f f f



.group g .group g
g g g g
// gg g:
// gg g:
gy J gy J
ggy J: ggy J:




_) goethe gY:tE _) goethe gY:tE
_) goethé gY:te: _) goethé gY:te:

me) g (gyú g
me) g (győz g
me) g (gyil g
me) g (gyű g
me) g (gyász g
me) g (gyűr g
le) g (gy g


.group h .group h
h h h h


.group i .group i
i i i i
_) itthon ithon


.group í .group í
í i: í i:
íts i:tS:


.group j .group j
j j j j
_) javíts jAvi:tS:
_) javítsd jAvi:tSd


.group k .group k
k k k k
kk k: kk k:
kk (C kk kk (C kk
_) köz kYz _) köz kYz
_) község kYSSe:g
_) készség ke:SSe:g
_) kétség ke:tS:e:g


.group l .group l
l l l l
lly jj lly jj


A) lj (A l^j A) lj (A l^j

C) ly (_ li
á) ll (j j
beszé) lj jj
bére) lj jj
gondo) lj jjj
ke) lj jj
sajná) lj jj
C) ly (_ li
_kéth) ly li _kéth) ly li
szamue) lly lli szamue) lly lli
szamue) ly lli szamue) ly lli
ko) mm (uni m ko) mm (uni m





.group n .group n
n n n n
n (g N n (g N
n (k N n (k N
n (p m
ny n^ ny n^
nny n^n^ nny n^n^
nj n^n^ nj n^n^
nyj n^n^


_) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word _) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word
me) nny (ország n^
me) nny (d n^





.group o .group o
o o o o


_r) oose (velt u:z _r) oose (velt u:z
_) otthon othon


.group ó .group ó
ó o: ó o:
qu kv qu kv


.group r .group r
r R2
r R2
rr RR rr RR
rm R2_m rm R2_m
r (cc R r (cc R
s S s S
sz s sz s
ssz ss2 ssz ss2
szts stS:


s (színű S
s (színű S
hel) s (inki z hel) s (inki z
ki) s (ebb SS ki) s (ebb SS
_má) s (szó S _má) s (szó S


sz (öld Sz sz (öld Sz
va) s (zabl S|| va) s (zabl S||

egé) szs (ég S egé) szs (ég S


liszte) szs (ák SZ
pénze) s S
rend) sz (er s:



.group t .group t

_) t (_ te: _) t (_ te:
-) t (_ t -) t (_ t
t t t t
tc ts:
tt t: tt t:
tt (C tt tt (C tt
ty c ty c
// z) ty c: // keztyű // z) ty c: // keztyű
ttj tc: ttj tc:
tty c: tty c:

C) tj c
éle) t t

tsz ts:
szorí) ts (a tS:
ürí) ts (e tS:
mula) ts tS:
nemze) ts tS:
min) t t
tse tSE
tso tSo
tsa tSA
tsá tSa:
tsd tSd
tsé tSe:
ttsé tS:e:
C) tj c
A) tj (A c: A) tj (A c:
C) tyj c C) tyj c
A) tyj (A c: A) tyj (A c:


_ka) ty (n ti _ka) ty (n ti

vörösmar) ty ti vörösmar) ty ti
á) t (jár t
á) t (sző t
á) t (szú t
á) t (szű t
bizo) tts (ág tS:
állí) ts tS:
bará) ts tS:
dön) ts (ön tS
elhivato) tts (ág tS:
folyama) t (jel t
kiál) ts tS
köve) ts (ég tS:
kür) t t
neve) ts (ég tS:
szen)t (szék t
szöve) ts (ég tS:
romlo) tts tS:
á) t (sor t
á) t (sé t
ne) t (se t

lehe) ts (ég tS:
tehe) ts (ég tS:
lá) tsz ts:
fize) ts (ég tS:
segí) ts tS:
á) ts (ó tS:
ismere) ts (ég tS:
lé) t (szám t
ké) t (száz t
ö) t (száz t
ha) t (száz t
vé) ts (ég tS:





.group u .group u


.group z .group z
z z z z
zs Z
zs Z
zzs Z: zzs Z:

gá) z (sz z
a) z (t s
a) z (tán s
befeje) z (te s
bi) z (tons s
bi) z (tos s
bron) z (sz z
e) z (t s
költö) z (köd s
kö) z (pont s
kö) z (társaság s
lefeje) z (te s
lefeje) z (ték s
pén) z (tár s
ré) z (sz z
tartó) z s
gá) z (sz z
gé) z (sz z gé) z (sz z
ké) z (sz z

ké) z (sz zz
há) z (so z há) z (so z
há) z (sz z há) z (sz z
lá) z (sz z lá) z (sz z
má) zc (sz z má) zc (sz z
mé) zc (sz z mé) zc (sz z
nehé) z (sé z
pén) z z
nehé) z (sé S
iga) zs (ág SS
ga) zs (ág SS
pén) z z
szá) z (sz z szá) z (sz z
tí) z (sz z tí) z (sz z
tű) z (sz z tű) z (sz z
_gá) zsz (ámlá zs: _gá) zsz (ámlá zs:
_ré) zs (ó zS _ré) zs (ó zS
_vá) zs (or zS _vá) zs (or zS
_szára) zs (ág zS
_kö) zs (ég zS
_szára) zs (ág SS
_nehé) zs (ely zS _nehé) zs (ely zS


_) zürich tsyR2iC _) zürich tsyR2iC




.group .group
_) :-) v'iJoR2

$ dolla:R2 $ dolla:R2
ä E ä E
æ E æ E

+ 4
- 0
dictsource/ru_list View File

_dpt _:'i_: // start of decimal fraction _dpt _:'i_: // start of decimal fraction
_dpt2 _d;Is;'atYx // end of decimal fraction _dpt2 _d;Is;'atYx // end of decimal fraction


// characters
№ номер $text


// prepositions // prepositions
в v $u // to,in,at в v $u // to,in,at
от $u // from от $u // from

+ 87
- 16
dictsource/ta_list View File

ற் iR ற் iR
ல் il ல் il
ள் il. ள் il.
ழ் iz
ழ் iz.
வ் iv வ் iv
ஶ் iS ஶ் iS
ஷ் is. ஷ் is.
ஹ் iC ஹ் iC
U+b82 anUsvVRV U+b82 anUsvVRV
ஃ ah ஃ ah
U+bcd viRVmV
U+bcd ot.RU

ஏ je:



// speak Latin letters as English // speak Latin letters as English
a e:j a e:j
q kju: q kju:
r a:R r a:R
s Es s Es
t ti:
t thi:
u ju: u ju:
v vi: v vi:
w dVbVlju: w dVbVlju:
_. pul.l.i _. pul.l.i
_, kVma: _, kVma:
_; ka:RbUl.l.,i _; ka:RbUl.l.,i
_: arE:pp,Ul.l.V
_: araIpp,Ul.l.V
_? ke:l.vikk,URi _? ke:l.vikk,URi
_! a:ctS:Vr,ijVkk,URi _! a:ctS:Vr,ijVkk,URi
% sadVv,igid,Vm
% விழுக்காடு $text
= samVm = samVm
U+bf9 ru:ba:j U+bf9 ru:ba:j


// abbreviations
ரூ ru:ba:j $dot
Rs ru:ba:j $dot


// numbers // numbers
_0 pu:dZjam_ // ??
_1 ondru_
_2 irandu_
_3 mo:ndru_
_4 na:ngu_
_5 aintu_
_6 a:ru_
_7 E:lu_ // aylu ??
_8 et.:u_
_9 onpatu_
_10 pat:u_
_0 suz.ijVm // சுழியம்
_1 onRU
_2 irVn.d.U
_3 mu:nRU
_4 na:ngU
_5 aIndU
_6 a:RU
_7 ;e:lU
_8 ;et.t.U
_9 onbVd.U
_10 pattU
_1X padin
_11 patinonRU
_12 pVnniren.d.U
_19 pattonbVdU

_20 irUbVdU
_30 muppVdU // முப்பது
_40 na:RpVdU
_50 aImbVdU
_60 aRUbVdU
_70 ;ez.UbVdU
_80 ;en.bVdU
_90 ton.n.u:RU

_2X irUbVttU
_3X muppVttU
_4X na:RpVttU
_5X aImbVttU
_6X aRUbVttU
_7X ;ez.UbVttU
_8X ;en.bVttU
_9X ton.n.u:t.t.RU

_1C0 nu:RU
_2C0 irUnu:RU
_3C0 munnu:RU
_4C0 na:nu:RU
_5C0 aInu:RU
_6C0 aRUnu:RU
_7C0 ;ez.Unu:RU
_8C0 ;en.n.u:RU
_9C0 tol.l.a:jirVm

_1C nu:t.t.Ri
_2C irUnu:t.t.Ri
_3C munnu:t.t.Ri
_4C na:nu:t.t.Ri
_5C aInu:t.t.Ri
_6C aRUnu:t.t.Ri
_7C ;ez.Unu:t.t.Ri
_8C ;en.n.u:t.t.Ri
_9C tol.l.a:jirVttU

_0M1x a:jirVm
_1M1x a:jirVm
_0M1 a:jirVttU
_1M1 a:jirVttU

_0M2x lVd.tSVm
_1M2x orUlVd.tSVm
_0M2 lVd.tSVttU
_1M2 orUlVd.tSVttU

_0M3x ko:d.i
_1M3x orUko:d.i
_0M3 ko:d.ie:
_1M3 orUko:d.ie:

_0M4 nu:RUko:d.i // not correct, but should be understandable
_1M4 nu:RUko:d.i
_0M5 patta:jiRUmko:d.i
_1M5 patta:jiRUmko:d.i

_dpt _pul.l.i

+ 18
- 4
dictsource/ta_rules View File

ஊ u: ஊ u:


எ e எ e
_) எ ;e // add a short [j] sound at start of word ?


ஏ e:: ஏ e::
_) ஏ ;e:: // add a short [j] sound at start of word ?


E:
aI


ஒ o ஒ o


ங NV ங NV
ங (B N ங (B N


dZV
ச (B dZ
zV
ச (B z
_) ச sa _) ச sa
_) ச (B s _) ச (B s
ச்ச tS:V ச்ச tS:V
ச்ச (B tS: ச்ச (B tS:
ட்) ச tSV
ட்) ச (B tS
ஞ்) ச dZV
ஞ்) ச (B dZ


ஜ dZV ஜ dZV
ஜ (B dZ ஜ (B dZ
_) ப (B p _) ப (B p
ப்ப ppV ப்ப ppV
ப்ப (B pp ப்ப (B pp
ட்) ப pV
ட்) ப (B pV
ற்) ப pV
ற்) ப (B p
ஃ) ப fV ஃ) ப fV
ஃ) ப (B f ஃ) ப (B f


ஹ hV ஹ hV
ஹ (B h ஹ (B h


க்ஷ ks.V
க்ஷ (B ks.



// combining vowels // combining vowels




ே e: ே e:


E:
aI


ொ o ொ o


.group .group
் // virama ் // virama
$ dolV $ dolV
D) . (D+ _pul.l.i

+ 314
- 34
phsource/compile_report
File diff suppressed because it is too large
View File


BIN
phsource/j2/j2e View File


BIN
phsource/l/l_i View File


BIN
phsource/l/l_o View File


+ 3
- 2
phsource/mbrola/fr1 View File

volume 15 volume 15
0 l/2 NULL 0 l 0 l/2 NULL 0 l
0 l/ NULL 0 l 0 l/ NULL 0 l
0 l2 NULL 0 l
0 r/ NULL 0 R 0 r/ NULL 0 R
0 r/2 NULL 0 R 0 r/2 NULL 0 R
0 r- NULL 0 R 0 r- NULL 0 R
0 n2 NULL 0 n 0 n2 NULL 0 n
0 p2 NULL 0 p 0 p2 NULL 0 p
0 r2 NULL 0 R 0 r2 NULL 0 R
0 R2 NULL 0 R
0 t2 NULL 0 t 0 t2 NULL 0 t
0 t3 NULL 0 t 0 t3 NULL 0 t
0 z2 NULL 0 z 0 z2 NULL 0 z
0 z3 NULL 0 z 0 z3 NULL 0 z


0 i: NULL 0 i 0 i: NULL 0 i
0 i- NULL 0 i
0 u: NULL 0 u 0 u: NULL 0 u
0 eI NULL 60 E j 0 eI NULL 60 E j
0 aU NULL 60 a w 0 aU NULL 60 a w
0 oU NULL 0 o 0 oU NULL 0 o
0 o3 NULL 0 o
0 o- NULL 0 o 0 o- NULL 0 o
0 @L NULL 40 @ l 0 @L NULL 40 @ l
0 @2 NULL 0 @ 0 @2 NULL 0 @








+ 1
- 1
phsource/ph_armenian View File

endphoneme endphoneme


phoneme o phoneme o
vowel starttype (e) endtype (e)
vowel starttype (o) endtype (o)
length 180 length 180
formants vowel/o formants vowel/o
endphoneme endphoneme

+ 153
- 123
phsource/ph_french View File

//==================================================== //====================================================
// French // French
//==================================================== //====================================================
// Updated 2009-07-30 Michel Such <[email protected]>
// Updated 2009-09-30 Michel Such <[email protected]>


phoneme (l) virtual phoneme (l) virtual
// Used for l and l/ // Used for l and l/
length 40 // shorter than for fr-ca length 40 // shorter than for fr-ca
endphoneme endphoneme


phoneme (r) virtual
after b vwl_fr/tr+r3/rx%35
after g vwl_fr/tr+r3/rx%35
after k vwl_fr/tr+r3/rx%35
after m vwl_fr/tr+r3/rx%25
after n vwl_fr/tr+r3/rx%25
after p vwl_fr/tr+r3/rx%35
after s vwl_fr/tr+r3/rx%30
after S vwl_fr/tr+r3/rx%45
after t vwl_fr/tr+r3/rx%30
after v vwl_fr/tr+r3/rx%30
after z vwl_fr/tr+r3/rx%30
after Z vwl_fr/tr+r3/rx%30
before (i) vwl_fr/@R5
before (o) vwl_fr/@R5
before (u) vwl_fr/@R5
endphoneme



// Vowels // Vowels
//======= //=======
phoneme @ phoneme @
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
length 190
length 170
formants vowel/@_hgh formants vowel/@_hgh
after (r) vwl_fr/r@
before l/ DFT+l/l_@ before l/ DFT+l/l_@
before (r) DFT+vwl_fr/r_@
endphoneme


phoneme @- // very short schwa
vowel nonsyllabic
starttype (@) endtype (@)
formants NULL
unstressed
length 70
before l/ DFT+l/l_@
before (r) DFT+vwl_fr/r_@
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme @2 phoneme @2
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
length 170
length 160
formants vowel/@_fr formants vowel/@_fr
before (r) DFT-10+vwl_fr/r_@
after (r) vwl_fr/r@
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme a phoneme a
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 200
length 170
formants vowel/a_6 formants vowel/a_6
after l l/la-15 after l l/la-15
after (r) vwl_fr/ra
before l/ DFT+l/l_a before l/ DFT+l/l_a
before (r) DFT-10+vwl_fr/r_a
before r/2 DFT-10+vwl_fr/r_a
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a
endphoneme endphoneme




phoneme e phoneme e
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 190
length 170
formants vowel/e_8 formants vowel/e_8
after (l) l/le-15 after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT-20+l/xl before l/ DFT-20+l/xl
before (r) DFT-10+vwl_fr/r_e
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme E phoneme E
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 190
length 170
formants vowel/e_mid formants vowel/e_mid
after (l) l/le-15 after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_e
endphoneme


phoneme E2 // Between e and E
vowel starttype (e) endtype (e)
length 170
formants vowel/e_9
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e before l/ DFT+l/l_e
before (r) DFT-10+vwl_fr/r_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_e before r/2 DFT+vwl_fr/r_e
endphoneme endphoneme




phoneme i phoneme i
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 180
length 160
formants vowel/i_2 formants vowel/i_2
linkout ; linkout ;
after (l) l/li-15 after (l) l/li-15
// after (r) vwl_fr/ri
after (r) vwl_fr/ri-30
before l/ DFT+l/l_i before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i before r/2 DFT+vwl_fr/r_i
endphoneme endphoneme




phoneme i- // shorter phoneme i- // shorter
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 140
length 130
formants vowel/i_2 formants vowel/i_2
linkout ;
after (l) l/li-15 after (l) l/li-15
// after (r) vwl_fr/ri
after (r) vwl_fr/ri
endphoneme endphoneme




phoneme i: // longer than i phoneme i: // longer than i
vowel starttype (i) endtype (i) vowel starttype (i) endtype (i)
length 250
length 240
formants vowel/i_3 formants vowel/i_3
linkout ; linkout ;
after (l) l/li-15 after (l) l/li-15
// after (r) vwl_fr/ri
after (r) vwl_fr/ri
before l/ DFT+l/l_i before l/ DFT+l/l_i
before (r) DFT-20+vwl_fr/r_i
before r/2 DFT-20+vwl_fr/r_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i
endphoneme endphoneme




phoneme o phoneme o
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 190
length 170
formants vowel/o_3 formants vowel/o_3
after (l) l/lo-10 after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 vowel/o_mid+vwl_fr/r_o
before (r) DFT+vwl_fr/xr
before r/2 vowel/o_mid2+vwl_fr/r_o
reduceto o2 1 reduceto o2 1
endphoneme endphoneme




phoneme o2 phoneme o2
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 190
length 170
formants vowel/o_2 formants vowel/o_2
after (l) l/lo-10 after (l) l/lo-10
before l/ vowel/o_mid+l/l_o
before (r) DFT+vwl_fr/r_o
before r/2 vowel/o_mid+vwl_fr/r_o
after (r) vwl_fr/ro
before l/ vowel/o_mid2+l/l_o
before (r) DFT+vwl_fr/xr
before r/2 vowel/o_mid2+vwl_fr/r_o
endphoneme endphoneme




phoneme O phoneme O
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 190
formants vowel/o_mid
length 170
formants vowel/o_mid2
after (l) l/lo-10 after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_o before r/2 DFT+vwl_fr/r_o
reduceto o2 1 reduceto o2 1
endphoneme endphoneme


phoneme O2 // Like O but no reduceto phoneme O2 // Like O but no reduceto
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 190
formants vowel/o_mid
length 170
formants vowel/o_mid2
after (l) l/lo-10 after (l) l/lo-10
after (r) vwl_fr/ro
before l/ DFT+l/l_o before l/ DFT+l/l_o
before (r) DFT+vwl_fr/r_o
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_o before r/2 DFT+vwl_fr/r_o
endphoneme endphoneme




phoneme o3 // almost like english oU
vowel starttype (@) endtype (u)
length 220
formants vdiph/@u_3
endphoneme


phoneme u phoneme u
vowel starttype (u) endtype (u) vowel starttype (u) endtype (u)
length 210
length 170
formants vowel/u_bck2 formants vowel/u_bck2
after l l/lu-20 after l l/lu-20
after (r) vwl_fr/ru
after R vwl_fr/ru-10
before l/ DFT-20+l/l_u before l/ DFT-20+l/l_u
before (r) DFT+vwl_fr/r_u
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_u
before i DFT-50 before i DFT-50
endphoneme endphoneme


length 240 length 240
formants vowel/u_bck2 formants vowel/u_bck2
after l l/lu-20 after l l/lu-20
before l/ DFT-20+l/l_u
after (r) vwl_fr/ru
before l/ DFT-20+l/l_u before l/ DFT-20+l/l_u
endphoneme endphoneme




phoneme y phoneme y
vowel starttype (u) endtype (u) vowel starttype (u) endtype (u)
length 190
length 170
formants vowel/y_2 formants vowel/y_2
after l l/lu-20 after l l/lu-20
after (r) vwl_fr/ry
before l/ DFT-30+l/l_y before l/ DFT-30+l/l_y
before (r) DFT+vwl_fr/r_y
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_y before r/2 DFT+vwl_fr/r_y
before E~ DFT-50 before E~ DFT-50
endphoneme endphoneme


phoneme Y phoneme Y
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
length 190
length 170
formants vowel/y# formants vowel/y#
after (l) l/l@-20 after (l) l/l@-20
after (r) vwl_fr/r@
before l/ DFT-20+l/l_@ before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@
before r/2 DFT+r/xr-40
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_@
reduceto W 1
endphoneme endphoneme




phoneme W phoneme W
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
length 200
formants vowel/@_5
after (l) l/l@-20
before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@2
before r/2 DFT+vwl_fr/r_@2-30
reduceto Y 1
endphoneme


phoneme W2 // same as W but don't reduce
vowel starttype (@) endtype (@)
length 200
formants vowel/@_3
length 180
formants vowel/@
after (l) l/l@-20 after (l) l/l@-20
after (r) vwl_fr/r@
before l/ DFT-20+l/l_@ before l/ DFT-20+l/l_@
before (r) DFT+vwl_fr/r_@
before r/2 DFT+vwl_fr/r_@2
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_@
endphoneme endphoneme




phoneme wA phoneme wA
vowel starttype (o) endtype (a) vowel starttype (o) endtype (a)
length 240
length 230
formants vwl_fr/w_a formants vwl_fr/w_a
after (l) l/lo-10 after (l) l/lo-10
after (r) vwl_fr/ro-15
before l/ DFT-10+l/l_a before l/ DFT-10+l/l_a
before j DFT before j DFT
before (r) DFT+vwl_fr/r_a
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a before r/2 DFT+vwl_fr/r_a
endphoneme endphoneme


length 240 length 240
formants vdiph/yi_fr formants vdiph/yi_fr
after l l/lu-20 after l l/lu-20
after (r) vwl_fr/ry
before l/ DFT+l/l_i before l/ DFT+l/l_i
before (r) DFT+vwl_fr/r_i
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_i before r/2 DFT+vwl_fr/r_i
endphoneme endphoneme




phoneme A~ phoneme A~
vowel starttype (a) endtype (a) vowel starttype (a) endtype (a)
length 210
length 190
formants vnasal/aa_n4 formants vnasal/aa_n4
after (r) vwl_fr/rA~
before l/ DFT+l/l_a before l/ DFT+l/l_a
before (r) DFT+vwl_fr/r_a~
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_a~ before r/2 DFT+vwl_fr/r_a~
endphoneme endphoneme




phoneme E~ // same as W~ for fr-fr phoneme E~ // same as W~ for fr-fr
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 210
length 190
formants vnasal/W_n formants vnasal/W_n
before n2 DFT-100
after (r) vwl_fr/r@
before n2 vowel/e_mid
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme O~ phoneme O~
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 210
length 190
formants vnasal/o_n2 formants vnasal/o_n2
before (r) DFT+vwl_fr/r_o
after (r) vwl_fr/ro
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme W~ phoneme W~
vowel starttype (@) endtype (@) vowel starttype (@) endtype (@)
length 210
length 190
formants vnasal/W_n formants vnasal/W_n
before (r) DFT+vwl_fr/r_@
after (r) vwl_fr/r@
before (r) DFT+vwl_fr/xr
endphoneme endphoneme




phoneme E: // slightly longer than [E] phoneme E: // slightly longer than [E]
vowel starttype (e) endtype (e) vowel starttype (e) endtype (e)
length 212 length 212
formants vowel/e
formants vowel/e_mid
after (l) l/le-15
after (r) vwl_fr/re
before l/ DFT+l/l_e
before (r) DFT+vwl_fr/xr
before r/2 DFT+vwl_fr/r_e
endphoneme endphoneme


phoneme A // same as [a] phoneme A // same as [a]


phoneme g phoneme g
vcd vel stop vcd vel stop
vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10
vowelin f1=2 f2=2300 200 300 f3=-300 80
vowelout f1=2 f2=2300 250 300 f3=-300 80 brk vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
formants g/g+x/g2%30
formants g/g+x/g%20
before _ g/g_+x/g_ before _ g/g_+x/g_
before (r) g/g+x/g2%50
// before (r) g/g_+x/g_%25
after _ NULL after _ NULL
after (@) g/xg%30 after (@) g/xg%30
after n g2/g+x/g2_
lengthmod 5 lengthmod 5
switchvoicing k switchvoicing k
endphoneme endphoneme
lengthmod 2 lengthmod 2
wave ustop/k%40 // reduce strength of noise burst wave ustop/k%40 // reduce strength of noise burst
before _ ustop/k_ before _ ustop/k_
before (r) ustop/kr%40
before (r) ustop/kr%45
before r/2 ustop/k%60 before r/2 ustop/k%60
before l ustop/kl%45
before l/ ustop/kl%45
before (l) ustop/kl%45
before (i) ustop/ki%45 before (i) ustop/ki%45
switchvoicing g switchvoicing g
endphoneme endphoneme
beforenotvowel l/ beforenotvowel l/
formants l/l formants l/l
after _ l/_l after _ l/_l
after r/2 l/_l
after t l/tl after t l/tl
after l/ l/l_long // double l, make it longer after l/ l/l_long // double l, make it longer
endphoneme endphoneme




phoneme l/ // used for [l] when not before a vowel phoneme l/ // used for [l] when not before a vowel
liquid starttype (l) endtype (l)
liquid palatal starttype (l) endtype (l)
length 100 length 100
lengthmod 7 lengthmod 7
formants l/_l formants l/_l
vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
lengthmod 2 lengthmod 2
wave ustop/p%50
wave ustop/p_unasp_%90
after _ ustop/p%70 after _ ustop/p%70
before _ ustop/p_%70 before _ ustop/p_%70
before (r) ustop/pr%35
// before (r) ustop/pr%45
before @- ustop/p_unasp%60 before @- ustop/p_unasp%60
before l ustop/pl%30
before l/ ustop/pl%30
before (l) ustop/pl%30
switchvoicing b switchvoicing b
endphoneme endphoneme


endphoneme endphoneme




phoneme r
vcd uvl frc starttype (r) endtype (r)
vowelin f1=1 f2=1800 10 10 f3=-200 100
vowelout f1=1 f2=1800 10 10 f3=-200 100
phoneme r // between vowels in a word
liquid uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel r/2 beforenotvowel r/2
formants vwl_fr/r formants vwl_fr/r
after _ vwl_fr/_r
after k vwl_fr/tr
after p vwl_fr/tr
after t vwl_fr/tr
after r/2 vwl_fr/_r
endphoneme


phoneme R // First letter of a word
liquid uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100
lengthmod 0
beforenotvowel r/2
formants vwl_fr/r
after _ vwl_fr/_r
after (a) vwl_fr/_r
after (e) vwl_fr/_r
after (@) vwl_fr/_r
after (i) vwl_fr/_r
after (o) vwl_fr/_r
after (u) vwl_fr/_r
after y vwl_fr/_r
after (l) vwl_fr/_r
after r/2 vwl_fr/_r
endphoneme endphoneme




phoneme r2 // silent unless followed by vowel phoneme r2 // silent unless followed by vowel
vcd uvl frc starttype (r) endtype (r)
vowelin f1=0 f2=1000 10 10 f3=-200 100
vowelout f1=0 f2=1200 10 10 f3=-200 100
liquid uvl starttype (r) endtype (r)
vowelin f1=0 f2=1600 -300 300 f3=-200 80
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100 length 100
lengthmod 7 lengthmod 7
beforenotvowel NULL beforenotvowel NULL


phoneme r/2 // variant of [r] when not preceding a vowel phoneme r/2 // variant of [r] when not preceding a vowel
liquid uvl starttype r/2 endtype r/2 liquid uvl starttype r/2 endtype r/2
vowelout f1=2 f2=1800 10 10 f3=-200 100
vowelout f1=2 f2=1600 -300 300 f3=-300 80
length 100 length 100
lengthmod 2 lengthmod 2
formants r3/r_2+r3/rx%25
formants vwl_fr/r_+r3/rx%25
before m r3/r_n
before n r3/r_n before n r3/r_n
beforevowel r
endphoneme endphoneme




lengthmod 2 lengthmod 2
wave ustop/t_short%40 wave ustop/t_short%40
before _ ustop/t_%40 before _ ustop/t_%40
before (r) ustop/tr%40
before (r) ustop/t_short%40
before r/2 ustop/t_short%50 before r/2 ustop/t_short%50
switchvoicing d switchvoicing d
endphoneme endphoneme








+ 34
- 7
phsource/ph_tamil View File

// Phonemes for Tamil // Phonemes for Tamil
// This inherits from ph_hindi // This inherits from ph_hindi


phoneme : // Lengthen previous vowel by "length"
virtual
length 50
endphoneme





phoneme a phoneme a


phoneme o phoneme o
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 130
length 160
formants vowel/o formants vowel/o
endphoneme endphoneme




phoneme o: phoneme o:
vowel starttype (o) endtype (o) vowel starttype (o) endtype (o)
length 270
formants vowel/o
length 280
formants vowel/o_3
endphoneme endphoneme




phoneme u: phoneme u:
vowel starttype (u) endtype (u) vowel starttype (u) endtype (u)
length 260 length 260
formants vowel/u
formants vowel/u_6
endphoneme endphoneme


phoneme U: phoneme U:
endphoneme endphoneme





phoneme aI
vowel starttype (a) endtype (i)
length 230
formants vdiph/ai_8
endphoneme

phoneme aU
vowel long starttype (a) endtype (u)
length 200
long
formants vdiph/aau_3
endphoneme



// ?? This is standard [v]. Should be it [v] without the fricative noise? // ?? This is standard [v]. Should be it [v] without the fricative noise?
phoneme v phoneme v
vcd lbd frc vcd lbd frc
switchvoicing f switchvoicing f
endphoneme endphoneme


phoneme : // Lengthen previous vowel by "length"
virtual
length 50

phoneme t // dental variant of /t/
vls dnt stop
vowelin f1=0 f2=1600 -300 300 f3=-100 80
vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
lengthmod 2
wave ustop/t_dnt2%60
before _ ustop/t_dnt%30
switchvoicing d
endphoneme endphoneme



+ 26
- 0
phsource/phonemes View File

phonemetable da base phonemetable da base
include ph_danish include ph_danish



phonemetable rw base2
include ph_kinyarwanda

phonemetable ml hi
include ph_malayalam

phonemetable kn hi
include ph_kannada

phonemetable bn hi
include ph_bengali

phonemetable ne hi
include ph_nepali

phonemetable mr hi
include ph_marathi


phonemetable eu base2
include ph_basque

phonemetable mn base
include ph_mongolian


BIN
phsource/vdiph/ai_8 View File


BIN
phsource/vdiph/vowelchart.png View File


BIN
phsource/vdiph2/vowelchart.png View File


BIN
phsource/vnasal/vowelchart.png View File


BIN
phsource/vowel/o_mid2 View File


BIN
phsource/vowel/vowelchart.png View File


BIN
phsource/vwl_fr/@R5 View File


BIN
phsource/vwl_fr/r_@ View File


BIN
phsource/vwl_fr/r_a View File


BIN
phsource/vwl_fr/r_e View File


BIN
phsource/vwl_fr/r_i View File


BIN
phsource/vwl_fr/r_o View File


BIN
phsource/vwl_fr/r_u View File


BIN
phsource/vwl_fr/r_y View File


BIN
phsource/vwl_fr/w_a View File


+ 2
- 2
platforms/windows/espeakedit/espeakedit.dsp View File

# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 wxmsw28u_core.lib wxbase28u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /libpath:".\..\..\lib\vc_lib" # ADD BASE LINK32 wxmsw28u_core.lib wxbase28u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /libpath:".\..\..\lib\vc_lib"
# ADD LINK32 wxmsw28u_core.lib wxbase28u.lib wxmsw28u_adv.lib winmm.lib PAStaticWMME.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /out:"espeakedit.exe" /libpath:".\..\..\lib\vc_lib"
# ADD LINK32 wxmsw28u_core.lib wxbase28u.lib wxmsw28u_adv.lib winmm.lib PAStaticWMME.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib wxmsw28u_html.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /out:"espeakedit.exe" /libpath:".\..\..\lib\vc_lib"
!ELSEIF "$(CFG)" == "minimal - Win32 Unicode Debug" !ELSEIF "$(CFG)" == "minimal - Win32 Unicode Debug"
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib" # ADD BASE LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib"
# ADD LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxmsw28ud_adv.lib winmm.lib PAStaticWMME.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib PAStaticWMME.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib"
# ADD LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxmsw28ud_adv.lib wxmsw28ud_html.lib winmm.lib PAStaticWMME.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib PAStaticWMME.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib"
!ELSEIF "$(CFG)" == "minimal - Win32 Release" !ELSEIF "$(CFG)" == "minimal - Win32 Release"

+ 3
- 1
platforms/windows/make_espeak.iss View File

[Setup] [Setup]
AppName=eSpeak AppName=eSpeak
AppVerName=eSpeak version 1.40
AppVerName=eSpeak version 1.41.01
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
WindowVisible=yes WindowVisible=yes
$26: Result := 'lv'; $26: Result := 'lv';
$2a: Result := 'vi'; $2a: Result := 'vi';
$2b: Result := 'hy'; $2b: Result := 'hy';
$2d: Result := 'eu';
$2f: Result := 'mk'; $2f: Result := 'mk';
$36: Result := 'af'; $36: Result := 'af';
$39: Result := 'hi'; $39: Result := 'hi';
'el': value := $408; 'el': value := $408;
'en': value := $409; 'en': value := $409;
'es': value := $40a; 'es': value := $40a;
'eu': value := $42d;
'fi': value := $40b; 'fi': value := $40b;
'fr': value := $40c; 'fr': value := $40c;
'hi': value := $439; 'hi': value := $439;

+ 6
- 1
platforms/windows/make_espeakedit.iss View File

[Setup] [Setup]
AppName=eSpeakEdit AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.40
AppVerName=eSpeakEdit version 1.41.02
DefaultDirName={pf}\eSpeak DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit OutputBaseFilename=setup_espeakedit
DirExistsWarning=no DirExistsWarning=no
ShowLanguageDialog=auto ShowLanguageDialog=auto
[Icons]
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}"
[Files] [Files]
Source: "espeakedit.exe"; DestDir: "{app}" Source: "espeakedit.exe"; DestDir: "{app}"
;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs ;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs

+ 13
- 0
src/compiledict.cpp View File

static FILE *f_log = NULL; static FILE *f_log = NULL;
extern char *dir_dictionary; extern char *dir_dictionary;


extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes

static int linenum; static int linenum;
static int error_count; static int error_count;
static int transpose_offset; // transpose character range for LookupDictList() static int transpose_offset; // transpose character range for LookupDictList()
unsigned char bad_phoneme[4]; unsigned char bad_phoneme[4];
static char nullstring[] = {0}; static char nullstring[] = {0};


WORD_TAB winfo;
char decoded_phonemes[128];

comment = NULL; comment = NULL;
text_not_phonemes = 0; text_not_phonemes = 0;
phonetic = word = nullstring; phonetic = word = nullstring;


if(text_not_phonemes) if(text_not_phonemes)
{ {
if(word[0] == '_')
{
// This is a special word, used by eSpeak. Translate this into phonemes now
// memset(&winfo,0,sizeof(winfo));
// TranslateWord(translator,phonetic,0,&winfo); // but *_dict is not loaded ?
// DecodePhonemes(word_phonemes,decoded_phonemes);
//printf("Translator %x %s [%s] [%s]\n",translator->translator_name,word,phonetic,decoded_phonemes);
}
// this is replacement text, so don't encode as phonemes. Restrict the length of the replacement word // this is replacement text, so don't encode as phonemes. Restrict the length of the replacement word
strncpy0(encoded_ph,phonetic,N_WORD_BYTES-4); strncpy0(encoded_ph,phonetic,N_WORD_BYTES-4);
} }

+ 2
- 2
src/espeak_command.cpp View File



case ET_KEY: case ET_KEY:
{ {
const char* data = the_command->u.my_key;
const char* data = the_command->u.my_key.key_name;
SHOW("display_espeak_command > (0x%x) KEY=%c\n", the_command, data); SHOW("display_espeak_command > (0x%x) KEY=%c\n", the_command, data);
} }
break; break;


case ET_CHAR: case ET_CHAR:
{ {
const wchar_t data = the_command->u.my_char;
const wchar_t data = the_command->u.my_char.character;
SHOW("display_espeak_command > (0x%x) CHAR=%c\n", the_command, (char)data); SHOW("display_espeak_command > (0x%x) CHAR=%c\n", the_command, (char)data);
} }
break; break;

+ 116
- 9
src/espeakedit.cpp View File

#include "wx/mdi.h" #include "wx/mdi.h"
#include "wx/laywin.h" #include "wx/laywin.h"
#include "wx/sashwin.h" #include "wx/sashwin.h"
#include "wx/utils.h"
#include "wx/html/htmlwin.h"
#include <locale.h> #include <locale.h>


#include "speak_lib.h" #include "speak_lib.h"
#include "prosodydisplay.h" #include "prosodydisplay.h"




#ifdef deleted
static const char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2007\n\n" static const char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2007\n\n"
"Licensed under GNU General Public License version 3\n" "Licensed under GNU General Public License version 3\n"
"http://espeak.sourceforge.net/"; "http://espeak.sourceforge.net/";
#endif


static const char *about_string = "<font size=0><b>espeakedit </b> %s<br>Author: Jonathan Duddington (c) 2007<br>"
"<a href=\"http://espeak.sourceforge.net/\">http://espeak.sourceforge.net</a><br>"
"Licensed under <a href=\"http://espeak.sourceforge.net/license.html\">GNU General Public License version 3</a></font>";


const char *path_data = "/home/jsd1/speechdata/phsource";
const char *path_data;


extern void TestTest(int control); extern void TestTest(int control);
extern void CompareLexicon(int); extern void CompareLexicon(int);








int MyApp::OnExit() int MyApp::OnExit()
{//================ {//================
ConfigSave(1); ConfigSave(1);


myframe->CreateStatusBar(); myframe->CreateStatusBar();


myframe->Maximize();
myframe->Show(TRUE); myframe->Show(TRUE);


SetTopWindow(myframe); SetTopWindow(myframe);
BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame) BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame)
EVT_CHAR(MyFrame::OnKey) EVT_CHAR(MyFrame::OnKey)
EVT_MENU(MENU_ABOUT, MyFrame::OnAbout) EVT_MENU(MENU_ABOUT, MyFrame::OnAbout)
EVT_MENU(MENU_DOCS, MyFrame::OnAbout)
EVT_MENU(MENU_SPECTRUM, MyFrame::OnNewWindow) EVT_MENU(MENU_SPECTRUM, MyFrame::OnNewWindow)
EVT_MENU(MENU_SPECTRUM2, MyFrame::OnNewWindow) EVT_MENU(MENU_SPECTRUM2, MyFrame::OnNewWindow)
EVT_MENU(MENU_PROSODY, MyFrame::OnProsody) EVT_MENU(MENU_PROSODY, MyFrame::OnProsody)
if((result = LoadPhData()) != 1) if((result = LoadPhData()) != 1)
{ {
if(result == -1) if(result == -1)
wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal));
wxLogError(_T("Failed to read espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal)+_T("\n\nThe 'eSpeak' package needs to be installed"));
else else
wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata);
wxLogError(_T("Wrong version of espeak-data at:\n")+ wxString(path_home,wxConvLocal)+_T("\nVersion 0x%x (expects 0x%x)"),result,version_phdata);


error_flag = 1; error_flag = 1;
} }
} }




void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{//===================================================
#ifdef deleted
void MyFrame::OnAbout(wxCommandEvent& event)
{//=========================================
int result;
char buf[300];
wxString url_docs;

switch(event.GetId())
{
case MENU_ABOUT:
sprintf(buf,about_string,espeak_Info(NULL));
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor"));
break;

case MENU_DOCS:
sprintf(buf,"%s/docs/docindex.html",path_home);
url_docs = wxString(buf,wxConvLocal);
result = wxLaunchDefaultBrowser(url_docs);
if(result == 0)
wxLogStatus(_T("Failed to launch browser"));
break;
}
}
#endif


class HtmlWindow: public wxHtmlWindow
{
public:

HtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style);
void OnLinkClicked(const wxHtmlLinkInfo& link);
};

HtmlWindow::HtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style):
wxHtmlWindow(parent, id, pos, size, style)
{
}

void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
{
if(wxLaunchDefaultBrowser(link.GetHref()) == FALSE)
wxLogStatus(_T("Failed to launch default browser: "+link.GetHref()));
}


void MyFrame::OnAbout(wxCommandEvent& event)
{//=========================================
int result;
char buf[300]; char buf[300];
wxString url_docs;

wxBoxSizer *topsizer;
HtmlWindow *html;
wxDialog dlg(this, wxID_ANY, wxString(_("About")));

topsizer = new wxBoxSizer(wxVERTICAL);

switch(event.GetId())
{
case MENU_ABOUT:
{
sprintf(buf,about_string,espeak_Info(NULL));
html = new HtmlWindow(&dlg, wxID_ANY, wxDefaultPosition, wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
html -> SetBorders(0);
html -> SetPage(wxString(buf,wxConvLocal));
html -> SetSize(html -> GetInternalRepresentation() -> GetWidth(),
html -> GetInternalRepresentation() -> GetHeight());

topsizer -> Add(html, 1, wxALL, 10);

//#if wxUSE_STATLINE
// topsizer -> Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
//#endif // wxUSE_STATLINE

wxButton *bu1 = new wxButton(&dlg, wxID_OK, _("OK"));
bu1 -> SetDefault();

topsizer -> Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15);


sprintf(buf,about_string,espeak_Info(NULL));
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor"));
dlg.SetSizer(topsizer);
topsizer -> Fit(&dlg);

dlg.ShowModal();
}
break;

case MENU_DOCS:
strcpy(buf,"/docs/docindex.html");
url_docs = wxGetCwd() + wxString(buf,wxConvLocal); // look for "docs" in the current directory
if(!wxFileExists(url_docs))
{
strcpy(buf,"http://espeak.sourceforge.net/docindex.html");
url_docs = wxString(buf,wxConvLocal);
}
else
{
url_docs = _T("file://") + url_docs;
}

result = wxLaunchDefaultBrowser(url_docs);
if(result == 0)
wxLogStatus(_T("Failed to launch default browser: "+url_docs));
break;
}
} }





void OnOptions2(int event_id) void OnOptions2(int event_id)
{//========================== {//==========================
wxString string; wxString string;

+ 31
- 5
src/formantdlg.cpp View File

{//============================================= {//=============================================
int id; int id;


if(currentcanvas == NULL)
return;

switch(id = event.GetId()) switch(id = event.GetId())
{ {
case T_ZOOMIN: case T_ZOOMIN:
{//============================================= {//=============================================
int id; int id;


if(currentcanvas == NULL)
return;

switch(id = event.GetId()) switch(id = event.GetId())
{ {
case T_AMPFRAME: case T_AMPFRAME:
int id; int id;
wxString string; wxString string;


int height;
int width;
int x;
int y2 = 420;
int y3 = 520;

wxClientDisplayRect(&x,&y,&width, &height);
#ifdef PLATFORM_WINDOWS
if(height <= 768)
{
y2 = 410;
y3 = 508;
}
#else
if(height <= 800)
{
y2 = 378;
y3 = 456;
}
#endif
y = 24; y = 24;
xplace = 28; xplace = 28;
id = 201; id = 201;






t_zoomout = new wxButton(this,T_ZOOMOUT,_T("Zoom-"),wxPoint(16,420));
t_zoomin = new wxButton(this,T_ZOOMIN,_T("Zoom+"),wxPoint(106,420));
t_zoomout = new wxButton(this,T_ZOOMOUT,_T("Zoom-"),wxPoint(16,y2));
t_zoomin = new wxButton(this,T_ZOOMIN,_T("Zoom+"),wxPoint(106,y2));


y=468;
y = y2 + 46;
t_amplitude = new wxSpinCtrl(this,T_AMPLITUDE,_T(""), t_amplitude = new wxSpinCtrl(this,T_AMPLITUDE,_T(""),
wxPoint(6,y),wxSize(52,24),wxTE_CENTRE,0,y+130); wxPoint(6,y),wxSize(52,24),wxTE_CENTRE,0,y+130);
t_lab[2] = new wxStaticText(this,-1,_T("% amp - Sequence"),wxPoint(61,y+4)); t_lab[2] = new wxStaticText(this,-1,_T("% amp - Sequence"),wxPoint(61,y+4));
// wxPoint(6,400),wxSize(52,24),wxTE_CENTRE,0,500); // wxPoint(6,400),wxSize(52,24),wxTE_CENTRE,0,500);
t_orig_seq = new wxStaticText(this,-1,_T("mS"),wxPoint(61,y+30)); t_orig_seq = new wxStaticText(this,-1,_T("mS"),wxPoint(61,y+30));


t_pitch = new wxStaticText(this,-1,_T(""),wxPoint(4,520),wxSize(192,24));
t_pitch = new wxStaticText(this,-1,_T(""),wxPoint(4,y3),wxSize(192,24));


pitchgraph = new ByteGraph(this,wxPoint(0,538),wxSize(200,140));
pitchgraph = new ByteGraph(this,wxPoint(0,y3+18),wxSize(200,140));
pitchgraph->SetData(128,env_fall); pitchgraph->SetData(128,env_fall);
pitchgraph->ShowSpectrum(1); pitchgraph->ShowSpectrum(1);
pitchgraph->Show(); pitchgraph->Show();

+ 1
- 0
src/main.h View File

MENU_SPECTRUM2, MENU_SPECTRUM2,
MENU_CLOSE_ALL, MENU_CLOSE_ALL,
MENU_ABOUT, MENU_ABOUT,
MENU_DOCS,


MENU_OPTIONS, MENU_OPTIONS,
MENU_PARAMS, MENU_PARAMS,

+ 3
- 2
src/menus.cpp View File

lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2")); lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2"));


tools_menu = new wxMenu; tools_menu = new wxMenu;
tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart..."), vowelchart_menu);
tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart"), vowelchart_menu);
// tools_menu->Append(MENU_LOAD_WAV, _T("Analyse WAV file")); // tools_menu->Append(MENU_LOAD_WAV, _T("Analyse WAV file"));
tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon..."), lexicon_menu);
tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon"), lexicon_menu);
tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8...")); tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8..."));
tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies...")); tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies..."));
tools_menu->Append(MENU_TEST , _("Test (temporary)")); tools_menu->Append(MENU_TEST , _("Test (temporary)"));


// HELP MENU // HELP MENU
help_menu = new wxMenu; help_menu = new wxMenu;
help_menu->Append(MENU_DOCS, _("eSpeak &Documentation"));
help_menu->Append(MENU_ABOUT, _("&About")); help_menu->Append(MENU_ABOUT, _("&About"));





+ 110
- 49
src/numbers.cpp View File

int value; int value;
int subtract; int subtract;
int repeat = 0; int repeat = 0;
int wflags = 0;
unsigned int flags; unsigned int flags;
char ph_roman[30]; char ph_roman[30];
char number_chars[N_WORD_BYTES]; char number_chars[N_WORD_BYTES];
} }


sprintf(number_chars," %d ",acc); sprintf(number_chars," %d ",acc);
TranslateNumber(tr, &number_chars[1], p, &flags, 0);

if(tr->langopts.numbers & NUM_ROMAN_ORDINAL)
wflags |= FLAG_ORDINAL;
TranslateNumber(tr, &number_chars[1], p, &flags, wflags);


if(tr->langopts.numbers & NUM_ROMAN_AFTER) if(tr->langopts.numbers & NUM_ROMAN_AFTER)
strcat(ph_out,ph_roman); strcat(ph_out,ph_roman);
} }




static int LookupThousands(Translator *tr, int value, int thousandplex, char *ph_out)
{//==================================================================================
static int LookupThousands(Translator *tr, int value, int thousandplex, int thousands_exact, char *ph_out)
{//=======================================================================================================
int found; int found;
int found_value=0;
char string[12]; char string[12];
char ph_of[12]; char ph_of[12];
char ph_thousands[40]; char ph_thousands[40];


ph_of[0] = 0; ph_of[0] = 0;


// first look fora match with the exact value of thousands
sprintf(string,"_%dM%d",value,thousandplex);
// first look for a match with the exact value of thousands
if(thousands_exact)
{
// is there a different pronunciation if there are no hundreds,tens,or units ? (LANG=ta)
sprintf(string,"_%dM%dx",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(found_value == 0)
{
sprintf(string,"_%dM%d",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}


if((found = Lookup(tr, string, ph_thousands)) == 0)
if(found_value == 0)
{ {
if((value % 100) >= 20) if((value % 100) >= 20)
{ {
Lookup(tr, "_0of", ph_of); Lookup(tr, "_0of", ph_of);
} }


sprintf(string,"_%s%d",M_Variant(value),thousandplex);

if(Lookup(tr, string, ph_thousands) == 0)
found = 0;
if(thousands_exact)
{
// is there a different pronunciation if there are no hundreds,tens,or units ?
sprintf(string,"_%s%dx",M_Variant(value), thousandplex);
found = Lookup(tr, string, ph_thousands);
}
if(found == 0)
{ {
// repeat "thousand" if higher order names are not available
sprintf(string,"_%dM1",value);
if((found = Lookup(tr, string, ph_thousands)) == 0)
Lookup(tr, "_0M1", ph_thousands);
sprintf(string,"_%s%d",M_Variant(value), thousandplex);

if(Lookup(tr, string, ph_thousands) == 0)
{
// repeat "thousand" if higher order names are not available
sprintf(string,"_%dM1",value);
if((found_value = Lookup(tr, string, ph_thousands)) == 0)
Lookup(tr, "_0M1", ph_thousands);
}
} }
} }
sprintf(ph_out,"%s%s",ph_of,ph_thousands); sprintf(ph_out,"%s%s",ph_of,ph_thousands);
return(found);
return(found_value);
} }




static int LookupNum2(Translator *tr, int value, int control, char *ph_out) static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
{//======================================================================== {//========================================================================
// Lookup a 2 digit number // Lookup a 2 digit number
// control bit 0: tens and units (use special form of '1')
// control bit 1: ordinal number
// control bit 2: use feminine form of '2'
// control bit 3: speak zero tens
// control bit 0: ordinal number
// control bit 1: tens and units (use special form of '1', LANG=de "eins")
// control bit 2: tens and units only, no higher digits
// control bit 3: use feminine form of '2' (for thousands
// control bit 4: speak zero tens


int found; int found;
int ix; int ix;
found = 0; found = 0;
ph_ordinal[0] = 0; ph_ordinal[0] = 0;


if(control & 4)
if(control & 8)
{ {
sprintf(string,"_%df",value); sprintf(string,"_%df",value);
found = Lookup(tr, string, ph_digits); found = Lookup(tr, string, ph_digits);
} }
if(control & 2)
else
if(control & 1)
{ {
strcpy(ph_ordinal, ph_ordinal2); strcpy(ph_ordinal, ph_ordinal2);


sprintf(string,"_%do",value);
if((found = Lookup(tr, string, ph_digits)) != 0)
if(control & 4)
{
sprintf(string,"_%dox",value); // LANG=hu, special word for 1. 2. when there are no higher digits
found = Lookup(tr, string, ph_digits);
}
if(found == 0)
{ {
found_ordinal = 1;
sprintf(string,"_%do",value);
found = Lookup(tr, string, ph_digits);
} }
found_ordinal = found;
} }


if(found == 0) if(found == 0)
{ {
if((value == 1) && (control & 1))
if((value == 1) && (control & 2))
{ {
if(Lookup(tr, "_1a", ph_out) != 0)
if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins"
return(0); return(0);
} }
sprintf(string,"_%d",value); sprintf(string,"_%d",value);


// no, speak as tens+units // no, speak as tens+units


if((control & 8) && (value < 10))
if((control & 0x10) && (value < 10))
{ {
// speak leading zero // speak leading zero
Lookup(tr, "_0", ph_tens); Lookup(tr, "_0", ph_tens);
{ {
units = (value % 10); units = (value % 10);


if((control & 2) && ((units == 0) || (tr->langopts.numbers & 0x10)))
if((control & 1) && ((units == 0) || (tr->langopts.numbers & 0x10)))
{ {
sprintf(string,"_%dXo",value / 10); sprintf(string,"_%dXo",value / 10);
if(Lookup(tr, string, ph_tens) != 0) if(Lookup(tr, string, ph_tens) != 0)
if(units > 0) if(units > 0)
{ {
found = 0; found = 0;
if(control & 4)
if(control & 8)
{ {
// is there a variant form of this number? // is there a variant form of this number?
sprintf(string,"_%df",units); sprintf(string,"_%df",units);
found = Lookup(tr, string, ph_digits); found = Lookup(tr, string, ph_digits);
} }
if((control & 2) && ((tr->langopts.numbers & 0x10) == 0))
if((control & 1) && ((tr->langopts.numbers & 0x10) == 0))
{ {
// ordinal // ordinal
sprintf(string,"_%do",units); sprintf(string,"_%do",units);
} }
} }


if((control & 2) && (found_ordinal == 0) && (ph_ordinal[0] == 0))
if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0))
{ {
if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & 0x10))) if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & 0x10)))
Lookup(tr, "_ord20", ph_ordinal); Lookup(tr, "_ord20", ph_ordinal);
// bit 1, ordinal number // bit 1, ordinal number
int found; int found;
int hundreds; int hundreds;
int tensunits;
int x; int x;
int exact;
char string[12]; // for looking up entries in **_list char string[12]; // for looking up entries in **_list
char buf1[100]; char buf1[100];
char buf2[100]; char buf2[100];
char ph_thousand_and[12]; char ph_thousand_and[12];
hundreds = value / 100; hundreds = value / 100;
tensunits = value % 100;
buf1[0] = 0; buf1[0] = 0;


if(hundreds > 0) if(hundreds > 0)
ph_thousand_and[0] = 0; ph_thousand_and[0] = 0;


found = 0; found = 0;
if((control & 2) && ((value % 100) == 0))
if((control & 2) && (tensunits == 0))
{ {
// ordinal number, with no tens or units // ordinal number, with no tens or units
found = Lookup(tr, "_0Co", ph_100); found = Lookup(tr, "_0Co", ph_100);
{ {
ph_digits[0] = 0; ph_digits[0] = 0;


if(LookupThousands(tr, hundreds / 10, thousandplex+1, ph_10T) == 0)
exact = 0;
if ((value % 1000) == 0)
exact = 1;

if(LookupThousands(tr, hundreds / 10, thousandplex+1, exact, ph_10T) == 0)
{ {
x = 0; x = 0;
if(tr->langopts.numbers2 & (1 << (thousandplex+1))) if(tr->langopts.numbers2 & (1 << (thousandplex+1)))
x = 4;
x = 8; // use variant (feminine) for before thousands and millions
LookupNum2(tr, hundreds/10, x, ph_digits); LookupNum2(tr, hundreds/10, x, ph_digits);
} }


suppress_null = 1; suppress_null = 1;


found = 0; found = 0;
if((value % 1000) == 100)
if(tensunits == 0)
{ {
// is there a special pronunciation for exactly 100 ?
found = Lookup(tr, "_1C0", ph_digits);
// is there a special pronunciation for exactly n00 ?
sprintf(string,"_%dC0",hundreds);
found = Lookup(tr, string, ph_digits);
} }
if(!found) if(!found)
{ {
} }
else else
{ {
if((hundreds > 1) || ((tr->langopts.numbers & 0x400) == 0))
if((hundreds > 1) || ((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) == 0))
{ {
LookupNum2(tr, hundreds, 0, ph_digits); LookupNum2(tr, hundreds, 0, ph_digits);
} }
} }


ph_hundred_and[0] = 0; ph_hundred_and[0] = 0;
if((tr->langopts.numbers & 0x40) && ((value % 100) != 0))
if((tr->langopts.numbers & 0x40) && (tensunits != 0))
{ {
if((value > 100) || ((control & 1) && (thousandplex==0))) if((value > 100) || ((control & 1) && (thousandplex==0)))
{ {




buf2[0] = 0; buf2[0] = 0;
value = value % 100;


if((value != 0) || (suppress_null == 0))
if((tensunits != 0) || (suppress_null == 0))
{ {
x = 0; x = 0;
if(thousandplex==0) if(thousandplex==0)
{ {
x = 1; // allow "eins" for 1 rather than "ein"
x = 2; // allow "eins" for 1 rather than "ein"
if(control & 2) if(control & 2)
x = 3; // ordinal number x = 3; // ordinal number
if((value < 100) && !(control & 1))
x |= 4; // tens and units only, no higher digits
} }
else else
{ {
if(tr->langopts.numbers2 & (1 << thousandplex)) if(tr->langopts.numbers2 & (1 << thousandplex))
x = 4; // use variant (feminine) for before thousands and millions
x = 8; // use variant (feminine) for before thousands and millions
} }


if(LookupNum2(tr, value, x, buf2) != 0)
if(LookupNum2(tr, tensunits, x, buf2) != 0)
{ {
if(tr->langopts.numbers & 0x80) if(tr->langopts.numbers & 0x80)
ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units
int suppress_null = 0; int suppress_null = 0;
int decimal_point = 0; int decimal_point = 0;
int thousandplex = 0; int thousandplex = 0;
int thousands_exact = 1;
int thousands_inc = 0; int thousands_inc = 0;
int prev_thousands = 0; int prev_thousands = 0;
int ordinal = 0; int ordinal = 0;
char ph_buf[200]; char ph_buf[200];
char ph_buf2[50]; char ph_buf2[50];
char suffix[20]; char suffix[20];
char *wordptr;
unsigned int dictflags[2];


static const char str_pause[2] = {phonPAUSE_NOLINK,0}; static const char str_pause[2] = {phonPAUSE_NOLINK,0};


// ordinal number is indicated by dot after the number // ordinal number is indicated by dot after the number
ordinal = 2; ordinal = 2;
word[ix] = ' '; word[ix] = ' ';

if(tr->translator_name == L('h','u'))
{
// lang=hu don't treat dot as ordinal indicator if the next word is a month name ($alt)
dictflags[0] = 0;
wordptr = &word[ix+2];
LookupDictList(tr, &wordptr, ph_buf, dictflags, 0, NULL);
if(dictflags[0] & FLAG_ALT_TRANS) // TEST
ordinal = 0;
}
} }
else else
{ {
} }
} }


if(wflags & FLAG_ORDINAL)
ordinal = 2;

ph_append[0] = 0; ph_append[0] = 0;
ph_buf2[0] = 0; ph_buf2[0] = 0;


ix = n_digits + thousands_inc; ix = n_digits + thousands_inc;
while(isdigit(word[ix]) && isdigit(word[ix+1]) && isdigit(word[ix+2])) while(isdigit(word[ix]) && isdigit(word[ix+1]) && isdigit(word[ix+2]))
{ {
if((word[ix] != '0') || (word[ix+1] != '0') || (word[ix+2] != '0'))
thousands_exact = 0;

thousandplex++; thousandplex++;
if(word[ix+3] == tr->langopts.thousands_sep) if(word[ix+3] == tr->langopts.thousands_sep)
ix += (3 + thousands_inc); ix += (3 + thousands_inc);
{ {
if((thousandplex > 0) && (value < 1000)) if((thousandplex > 0) && (value < 1000))
{ {
if((suppress_null == 0) && (LookupThousands(tr,value,thousandplex,ph_append)))
if((suppress_null == 0) && (LookupThousands(tr,value,thousandplex, thousands_exact, ph_append)))
{ {
// found an exact match for N thousand // found an exact match for N thousand
value = 0; value = 0;
while(isdigit(word[n_digits+decimal_count])) while(isdigit(word[n_digits+decimal_count]))
decimal_count++; decimal_count++;


if(decimal_count > 1)
// if(decimal_count > 1)
{ {
max_decimal_count = 2; max_decimal_count = 2;
switch(decimal_mode = (tr->langopts.numbers & 0xe000)) switch(decimal_mode = (tr->langopts.numbers & 0xe000))
} }
break; break;


case 0x2000:
case 0xa000:
// Italian decimal fractions
case 0x2000: // italian, say "hundredths" is leading zero
case 0xa000: // hungarian, always say "tenths" etc.
if(decimal_count <= 4) if(decimal_count <= 4)
{ {
LookupNum3(tr, atoi(&word[n_digits]), ph_buf, 0,0,0); LookupNum3(tr, atoi(&word[n_digits]), ph_buf, 0,0,0);


while(isdigit(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) while(isdigit(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10)))
{ {
// speak any remaining decimal fraction digits individually
value = word[n_digits++] - '0'; value = word[n_digits++] - '0';
LookupNum2(tr, value, 1, buf1);
LookupNum2(tr, value, 2, buf1);
strcat(ph_out,buf1); strcat(ph_out,buf1);
} }



+ 3
- 0
src/spectdisplay.cpp View File

int ix; int ix;
SpectFrame *sf; SpectFrame *sf;


if(spectseq == NULL)
return;

sf = spectseq->frames[sframe]; sf = spectseq->frames[sframe];


spectseq->amplitude = formantdlg->t_amplitude->GetValue(); spectseq->amplitude = formantdlg->t_amplitude->GetValue();

+ 1
- 1
src/synthdata.cpp View File

#include "translate.h" #include "translate.h"
#include "wave.h" #include "wave.h"


const char *version_string = "1.41.01 25.Aug.09";
const char *version_string = "1.41.08 04.Oct.09";
const int version_phdata = 0x014100; const int version_phdata = 0x014100;


int option_device_number = -1; int option_device_number = -1;

+ 7
- 3
src/tr_languages.cpp View File

tr->langopts.param[LOPT_IT_DOUBLING] = 1; tr->langopts.param[LOPT_IT_DOUBLING] = 1;
tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word


tr->langopts.numbers = 0x1009 + 0xa000 + NUM_ROMAN + 0x10000;
tr->langopts.numbers = 0x1009 + 0xa000 + NUM_ROMAN + NUM_ROMAN_ORDINAL + NUM_ORDINAL_DOT + NUM_OMIT_1_HUNDRED;
SetLetterVowel(tr,'y'); SetLetterVowel(tr,'y');
tr->langopts.spelling_stress = 1; tr->langopts.spelling_stress = 1;
SetLengthMods(tr,3); // all equal SetLengthMods(tr,3); // all equal


tr->langopts.stress_rule = 0; tr->langopts.stress_rule = 0;
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
tr->letter_bits_offset = OFFSET_TAMIL;
tr->langopts.numbers2 = NUM2_100000;


if(name2 == L('t','a'))
{
tr->letter_bits_offset = OFFSET_TAMIL;
tr->langopts.numbers = 0x1;
}
if(name2 == L('m','r')) if(name2 == L('m','r'))
{ {
tr->letter_bits_offset = OFFSET_DEVANAGARI; tr->letter_bits_offset = OFFSET_DEVANAGARI;
{ {
tr->letter_bits_offset = OFFSET_KANNADA; tr->letter_bits_offset = OFFSET_KANNADA;
tr->langopts.numbers = 0x1; tr->langopts.numbers = 0x1;
tr->langopts.numbers2 = NUM2_100000;
} }
tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words
SetIndicLetters(tr); // call this after setting OFFSET_ SetIndicLetters(tr); // call this after setting OFFSET_

+ 9
- 1
src/translate.cpp View File

ph_limit = &phonemes[N_WORD_PHONEMES]; ph_limit = &phonemes[N_WORD_PHONEMES];


// count the length of the word // count the length of the word
if(*word1 == ' ') word1++; // possibly a dot was replaced by space: $dot
wordx = word1; wordx = word1;

utf8_in(&first_char,wordx); utf8_in(&first_char,wordx);
word_length = 0; word_length = 0;
while((*wordx != 0) && (*wordx != ' ')) while((*wordx != 0) && (*wordx != ' '))
else else
{ {
found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word

if((dictionary_flags[0] & FLAG_DOT) && (wordx[1] == '.'))
{
wordx[1] = ' '; // remove a Dot after this word
}

if(dictionary_flags[0] & FLAG_TEXTMODE) if(dictionary_flags[0] & FLAG_TEXTMODE)
{ {
first_char = word1[0]; first_char = word1[0];
max_stress = -1; max_stress = -1;


found_dict_flag = 0; found_dict_flag = 0;
if(flags & FLAG_FOUND)
if((flags & FLAG_FOUND) && !(flags & FLAG_TEXTMODE))
found_dict_flag = SFLAG_DICTIONARY; found_dict_flag = SFLAG_DICTIONARY;


while((pre_pause > 0) && (n_ph_list2 < N_PHONEME_LIST-4)) while((pre_pause > 0) && (n_ph_list2 < N_PHONEME_LIST-4))

+ 8
- 2
src/translate.h View File



#define FLAG_NO_TRACE 0x10000 // passed to TranslateRules() to suppress dictionary lookup printout #define FLAG_NO_TRACE 0x10000 // passed to TranslateRules() to suppress dictionary lookup printout
#define FLAG_NO_PREFIX 0x20000 #define FLAG_NO_PREFIX 0x20000
#define FLAG_ORDINAL 0x40000 // passed to TranslateNumber() to indicate an ordinal number


// 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
unsigned char *length_mods; unsigned char *length_mods;
unsigned char *length_mods0; unsigned char *length_mods0;


#define NUM_OMIT_1_HUNDRED 0x400
#define NUM_19_HUNDRED 0x800
#define NUM_ORDINAL_DOT 0x10000
#define NUM_ROMAN 0x20000 #define NUM_ROMAN 0x20000
#define NUM_ROMAN_UC 0x40000 #define NUM_ROMAN_UC 0x40000
#define NUM_NOPAUSE 0x80000 #define NUM_NOPAUSE 0x80000
#define NUM_ROMAN_AFTER 0x200000
#define NUM_VIGESIMAL 0x400000
#define NUM_ROMAN_AFTER 0x200000
#define NUM_VIGESIMAL 0x400000
#define NUM_ROMAN_ORDINAL 0x800000


// bits0-1=which numbers routine to use. // bits0-1=which numbers routine to use.
// bit2= thousands separator must be space // bit2= thousands separator must be space
// bit20='and' before hundreds // bit20='and' before hundreds
// bit21= say "roman" after the number, not before // bit21= say "roman" after the number, not before
// bit22= vigesimal number, if tens are not found // bit22= vigesimal number, if tens are not found
// bit23=Roman numbers are ordinal numbers
int numbers; int numbers;


#define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000 #define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000

+ 28
- 4
src/transldlg.cpp View File

TranslDlg::TranslDlg(wxWindow *parent) : wxPanel(parent) TranslDlg::TranslDlg(wxWindow *parent) : wxPanel(parent)
{//===================================================== {//=====================================================


int height;
int width;
int x,y;
int height_ph = 350;

wxTextAttr attr;
wxFont font = wxFont(12,wxFONTFAMILY_ROMAN,wxFONTSTYLE_NORMAL,wxFONTWEIGHT_LIGHT,false,_T(""),wxFONTENCODING_SYSTEM);

attr.SetFont(font);

wxClientDisplayRect(&x,&y,&width, &height);
#ifdef PLATFORM_WINDOWS
if(height <= 768)
height_ph = height - 416;
#else
if(height <= 800)
height_ph = 280;
#endif


t_source = new wxTextCtrl(this,T_SOURCE,_T(""),wxPoint(0,4), t_source = new wxTextCtrl(this,T_SOURCE,_T(""),wxPoint(0,4),
wxSize(298,250),wxTE_MULTILINE); wxSize(298,250),wxTE_MULTILINE);
t_source->SetDefaultStyle(attr);


t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262), t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262),
wxSize(298,350),wxTE_MULTILINE);
wxSize(298,height_ph),wxTE_MULTILINE | wxTE_READONLY);


t_translate = new wxButton(this,T_TRANSLATE,_T("Translate"),wxPoint(4,620));
t_translate = new wxButton(this,T_RULES,_T("Show Rules"),wxPoint(4,652));
t_process = new wxButton(this,T_PROCESS,_T("Speak"),wxPoint(100,620));
y = height_ph + 270;
t_translate = new wxButton(this,T_TRANSLATE,_T("Translate"),wxPoint(4,y));
t_translate = new wxButton(this,T_RULES,_T("Show Rules"),wxPoint(4,y+32));
t_process = new wxButton(this,T_PROCESS,_T("Speak"),wxPoint(100,y));


t_source->SetFocus(); t_source->SetFocus();
} // end of TransDlg::TransDlg } // end of TransDlg::TransDlg

+ 5
- 1
src/wave_sada.cpp View File

int wave_is_busy(void* theHandler) int wave_is_busy(void* theHandler)
{ {
uint32_t time; uint32_t time;
wave_get_remaining_time(total_samples_sent - 1, &time);
if (total_samples_sent >= 1) {
wave_get_remaining_time(total_samples_sent - 1, &time);
} else {
time = 0;
}
return time != 0; return time != 0;
} }



Loading…
Cancel
Save