Browse Source

espeak 1.48.15

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVL7LuAAoJENv8icfo4dtD7nsP/0b3TjBqUlYHJr2aUZjSStUB
 So/7wyT8watGxav+q+59QBXIb/1MMkABREPSsH1XbVLVuLEBtAtEd+aenIW7AuPK
 t4Q99Satb3Swcf39MQQjWrRGJP8mOTuxZklub6xUohT2eDPhIeNetgjYtrvmDCxu
 /HjjjAuR6hQbzUVusoGso6ca1X4DyDU3aTqXHk95vRoHw8cpW20T63VZgX3J6xec
 Cfjl9eETn0wPb8x1w1xS+V4D/xBVqOVy8iazj6MVFw2ZJGisdtxeqLsWyRy3anAb
 ainfbRu5lySDlvveGdgTD+mSJOqVLtwrOFdL82OArY76zCwF366pnzogRLsIGRgc
 EequlN4J22MWOtt3SUl55wcauXPlsj1uu/rmMQ98cR8L82Ew4oCWw4ZQwzZsH6vr
 IKD0IPKduHqRV/vByNUnTy6sx5bWpm9X+42Ax1vzS+A+miAEidbp/PVv6aKi5PVw
 j+R9ki9xL4X+4BxBKWxgMHeFYBmx/fs4Hy0+epdGCv/YI4qKQl2jsOHhZBcu/4ue
 hQq2DlVS8F2LNp2Gh+gvRCgzdiNscy3x3pwIUWP8IA8UYF83065J8IhU0A8uVCGO
 VgfxxdtzFfkQMcEbGyIo/x1hFCMEGSdqm6E8tFvkHSxgjHaK1REbfpAw7FpYVDU3
 qvCbpFP8tqY2rVuGwo+I
 =cU4/
 -----END PGP SIGNATURE-----

Merge tag '1.48.15' into android

espeak 1.48.15
master
Reece H. Dunn 10 years ago
parent
commit
586c911d67
77 changed files with 6874 additions and 3660 deletions
  1. 9
    0
      Makefile.am
  2. 69
    61
      dictsource/af_list
  3. 3
    4
      dictsource/an_list
  4. 14
    16
      dictsource/an_rules
  5. 1
    0
      dictsource/da_list
  6. 247
    55
      dictsource/en_list
  7. 174
    71
      dictsource/en_rules
  8. 9
    0
      dictsource/es_list
  9. 228
    190
      dictsource/eu_list
  10. 158
    156
      dictsource/eu_rules
  11. 158
    27
      dictsource/fa_list
  12. 3
    21
      dictsource/fa_rules
  13. 15
    20
      dictsource/gu_list
  14. 65
    61
      dictsource/gu_rules
  15. 21
    19
      dictsource/hbs_list
  16. 7
    0
      dictsource/hbs_rules
  17. 398
    398
      dictsource/hi_list
  18. 133
    66
      dictsource/hi_rules
  19. 2
    4
      dictsource/hu_list
  20. 1
    1
      dictsource/id_rules
  21. 952
    220
      dictsource/it_list
  22. 452
    223
      dictsource/it_listx
  23. 109
    62
      dictsource/it_rules
  24. 40
    40
      dictsource/kn_list
  25. 206
    0
      dictsource/mni_list
  26. 231
    0
      dictsource/mr_list
  27. 541
    0
      dictsource/mr_rules
  28. 1
    0
      dictsource/nl_rules
  29. 14
    10
      dictsource/pa_list
  30. 42
    28
      dictsource/pa_rules
  31. 15
    12
      dictsource/pl_list
  32. 953
    1033
      dictsource/pl_rules
  33. 6
    10
      dictsource/pt_list
  34. 19
    28
      dictsource/pt_rules
  35. 9
    13
      dictsource/ta_list
  36. 241
    34
      dictsource/ta_rules
  37. 242
    3
      dictsource/ur_list
  38. 65
    1
      dictsource/ur_rules
  39. 13
    0
      dictsource/zh_list
  40. 0
    1
      espeak-data/voices/europe/it
  41. 3
    0
      espeak-data/voices/test/mr
  42. 35
    0
      phsource/ph_aragon
  43. 167
    167
      phsource/ph_basque
  44. 6
    3
      phsource/ph_english
  45. 5
    1
      phsource/ph_english_n
  46. 5
    1
      phsource/ph_english_rp
  47. 5
    1
      phsource/ph_english_sc
  48. 10
    6
      phsource/ph_english_us
  49. 5
    1
      phsource/ph_english_wi
  50. 5
    1
      phsource/ph_english_wm
  51. 23
    4
      phsource/ph_german
  52. 1
    527
      phsource/ph_hindi
  53. 572
    0
      phsource/ph_hindi_base
  54. 16
    6
      phsource/ph_italian
  55. 44
    0
      phsource/ph_marathi
  56. 3
    0
      phsource/ph_portugal
  57. 5
    1
      phsource/ph_pt_brazil
  58. 0
    2
      phsource/ph_spanish
  59. 22
    19
      phsource/phonemes
  60. BIN
      phsource/ufric/ts_eu.wav
  61. BIN
      phsource/ustop/k_unasp2.wav
  62. BIN
      phsource/ustop/ki_unasp2.wav
  63. BIN
      phsource/ustop/t_unasp3.wav
  64. BIN
      phsource/vnasal/ee_n2
  65. BIN
      phsource/vowel/i_en
  66. 1
    1
      src/compiledata.cpp
  67. 4
    2
      src/dictionary.cpp
  68. 3
    3
      src/espeakedit.cpp
  69. 31
    9
      src/numbers.cpp
  70. 4
    4
      src/readclause.cpp
  71. 2
    2
      src/setlengths.cpp
  72. 1
    1
      src/sonic.cpp
  73. 1
    1
      src/synthdata.cpp
  74. 14
    4
      src/tr_languages.cpp
  75. 9
    2
      src/translate.cpp
  76. 3
    0
      src/translate.h
  77. 3
    3
      src/voices.cpp

+ 9
- 0
Makefile.am View File

@@ -220,6 +220,7 @@ phsource/phonemes.stamp: \
phsource/ph_gujarati \
phsource/ph_haitian \
phsource/ph_hindi \
phsource/ph_hindi_base \
phsource/ph_hungarian \
phsource/ph_icelandic \
phsource/ph_indonesian \
@@ -239,6 +240,7 @@ phsource/phonemes.stamp: \
phsource/ph_malayalam \
phsource/ph_maltese \
phsource/ph_manipuri \
phsource/ph_marathi \
phsource/ph_nahuatl \
phsource/ph_nepali \
phsource/ph_northern-sotho \
@@ -355,6 +357,7 @@ dictionaries: src/espeak \
espeak-data/lv_dict \
espeak-data/mk_dict \
espeak-data/ml_dict \
espeak-data/mr_dict \
espeak-data/ms_dict \
espeak-data/nci_dict \
espeak-data/ne_dict \
@@ -652,6 +655,12 @@ dictsource/ml_extra:
espeak-data/ml_dict: src/espeak phsource/phonemes.stamp dictsource/ml_list dictsource/ml_rules dictsource/ml_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=ml && cd ..

mr: espeak-data/mr_dict
dictsource/mr_extra:
touch dictsource/mr_extra
espeak-data/mr_dict: src/espeak phsource/phonemes.stamp dictsource/mr_list dictsource/mr_rules dictsource/mr_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=mr && cd ..

ms: espeak-data/ms_dict
dictsource/ms_extra:
touch dictsource/ms_extra

+ 69
- 61
dictsource/af_list View File

@@ -1,4 +1,4 @@
//maintainer: Willem van der Walt
//maintainer: Willem van der Walt
// email: [email protected]
// tel: +27 12 8413996
// Meraka Institute, CSIR
@@ -579,6 +579,7 @@ ingrid iNgr@d
isabel is@b&l
isis $1
iskariot isk'ariOt
izak isak
jaco jaku
jakomina jakum'ina
james _^_EN
@@ -687,6 +688,7 @@ naomi na_'o@mi
natasha n%at'aSa
natasja n%at'aSa
naudé nOd'e@
nebukadnésar $4
nefertiti nEf@rt'iti
neil _^_EN
nelson _^_EN
@@ -775,6 +777,8 @@ theron tr'On
thessalonicense tEsalo@nis'E:ns@
thys teIs
timotheus t@m'o@tiWs
timoteus t@m'o@tiWs
timótheüs t@m'o@tiWs
toerien $2
totius to@SiWs
trudie trudi
@@ -988,66 +992,66 @@ dis $u
(nie waar nie) n,i||v,A:r||n'i
(sy aan sy) s,eI||an||s'eI

// Latin terms
ab _^_LA
actio _^_LA
ad _^_LA
alterius _^_LA
amico _^_LA
amicus _^_LA
beneficium _^_LA
bona _^_LA
bono _^_LA
contestatio _^_LA
cum _^_LA
curiae _^_LA
(de facto) _^_LA
(de jure) _^_LA
delicti _^_LA
delicto _^_LA
deo _^_LA
directus _^_LA
divisionis _^_LA
dolus _^_LA
domicilium _^_LA
eventualis _^_LA
exclusio _^_LA
executandi _^_LA
excussionis _^_LA
extremis _^_LA
facto _^_LA
factum _^_LA
fide _^_LA
fides _^_LA
forma _^_LA
grata _^_LA
habitatio _^_LA
inclusio _^_LA
(in debiti) _^_LA
(in absentia) _^_LA
(in extremis) _^_LA
initio _^_LA
inter _^_LA
ipsa _^_LA
jus _^_LA
laude _^_LA
litis _^_LA
// Latin terms
ab _^_LA
actio _^_LA
ad _^_LA
alterius _^_LA
amico _^_LA
amicus _^_LA
beneficium _^_LA
bona _^_LA
bono _^_LA
contestatio _^_LA
cum _^_LA
curiae _^_LA
(de facto) _^_LA
(de jure) _^_LA
delicti _^_LA
delicto _^_LA
deo _^_LA
directus _^_LA
divisionis _^_LA
dolus _^_LA
domicilium _^_LA
eventualis _^_LA
exclusio _^_LA
executandi _^_LA
excussionis _^_LA
extremis _^_LA
facto _^_LA
factum _^_LA
fide _^_LA
fides _^_LA
forma _^_LA
grata _^_LA
habitatio _^_LA
inclusio _^_LA
(in debiti) _^_LA
(in absentia) _^_LA
(in extremis) _^_LA
initio _^_LA
inter _^_LA
ipsa _^_LA
jus _^_LA
laude _^_LA
litis _^_LA
loquitur _^_LA
luna _^_LA
mercatrix _^_LA
mutandi _^_LA
mutatis _^_LA
nisi _^_LA
pauperis _^_LA
persona _^_LA
publica _^_LA
restitutio _^_LA
sine _^_LA
unius _^_LA
usufruct _^_LA
usufructus _^_LA
usus _^_LA
vivendi _^_LA
luna _^_LA
mercatrix _^_LA
mutandi _^_LA
mutatis _^_LA
nisi _^_LA
pauperis _^_LA
persona _^_LA
publica _^_LA
restitutio _^_LA
sine _^_LA
unius _^_LA
usufruct _^_LA
usufructus _^_LA
usus _^_LA
vivendi _^_LA
vivos _^_LA

// main word list
@@ -1111,6 +1115,7 @@ bewering b@ve@rIN
biopsie bi'Opsi
bomaat bo@mA:t
bordegoed bO:rd@x2ut
bordekas bOrd@kas
borgene bOrx2@n@
boskaas $2
bostaande b'o@stA:nd@
@@ -1163,6 +1168,7 @@ disleksie $2
divan div'an
doktore $2
doyen dO:j'En
dratyd drA:teIt
drinkebroer drInk@bru:r
droomster dro@mst&r
dubbelken dWb@lkEn
@@ -1405,9 +1411,11 @@ onkunde $1
onmag $1
onmin $1
onomwonde $3
ontersake Ont&rsA:k@
oorboord $2
oorleg $2
ooreenkomste $2
oorleg $2
oorlewe $2
oorstroom $2
oorwaai $1
oplaas $2

+ 3
- 4
dictsource/an_list View File

@@ -18,7 +18,7 @@ _cir Tirkumfl'eSo
_dia djEr'esi
_dac d'Ople||aQ'uDo
_dot p'unto
_grv gr'iEu
_grv gr'au
_hac kar'On
_mcn makr'On
_ogo kod'eta
@@ -242,7 +242,6 @@ ta $u $brk
tu $u
sin $u
su $u
ye $u
el $u
es $u
els $u
@@ -272,9 +271,10 @@ ni $u
ibi $u
bi $u
i $u+
ye $u
ie $u
hu $u
sant $u
so $u


//abbreviations
@@ -513,7 +513,6 @@ iphone 'aIfon
ipod 'aIpod
junior j'unior
linux $1
live laIB
messenger m'esendZer
mozilla moTila
nvda ene|be|de|'a

+ 14
- 16
dictsource/an_rules View File

@@ -7,6 +7,7 @@
.L04 b v f p // labials, nasals are [m]
.L05 g k // velars, nasals are [N]
.L06 a e o
.L07 m n s

.group a
a a
@@ -37,8 +38,10 @@
.group c
c k
c (Y T // ce ci
c' (Y T
ck k // Forano (Foreign)
ch tS
//c (_ =



@@ -47,6 +50,8 @@

.group d
d d
C) d (_ = // silent, but stress on last vowel
A) d (_ = // silent, but stress on last vowel
_) d d // phoneme definition may change it to [D]
_) d (A d
d (A D
@@ -56,9 +61,7 @@
n) d d
l) d d
r) d d

n) d (_ = // silent, but stress on last vowel

_) d' (AP2 d
_) de' d%e

@@ -76,8 +79,9 @@
u) e E
y) e E

L06_) e (CC e# // unstressed 'e' silent at start of word after a,e,o
L06_h) e (CC e# // unstressed 'e' silent at start of word after a,e,o
L06_) e (n_ e# // unstressed 'e' silent at start of word after a,e,o
L06_) e (L07C e# // unstressed 'e' silent at start of word after a,e,o
L06_h) e (L07C e# // unstressed 'e' silent at start of word after a,e,o

_) ent' (AP4 ent
_) enta' ,ent%a
@@ -213,18 +217,12 @@

.group t
t t
a) t (_ t# // becomes silent in a stressed syllable
u) t (_ t#
ei) t (_ t#
n) t (_ = // silent, but stress on last vowel
n) t (m // Silent
_pos) t (h t
_pos) t (C // Silent
t (_ t#
C) t (C // Silent
C) t (r t
C) t (h t
tz T
ue) t (_ t#
ui) t (_ t#
s) t (_ = // silent, but stress on last vowel

_) t' (AP2 t
_) ta' t%a
_) to' t%o

+ 1
- 0
dictsource/da_list View File

@@ -318,6 +318,7 @@ management _^_EN
message _^_EN
(new age) _^_EN
offline _^_EN
ok _^_EN // jsd
okay _^_EN
online _^_EN
out _^_EN

+ 247
- 55
dictsource/en_list
File diff suppressed because it is too large
View File


+ 174
- 71
dictsource/en_rules
File diff suppressed because it is too large
View File


+ 9
- 0
dictsource/es_list View File

@@ -152,6 +152,7 @@ _16o DeTimos'Ekst
_17o DeTimos'Eptim
_18o DeTimOkt'aB
_19o DeTimonoB'en
_20o Bix'Esim
_2Xo Bix'Esim
_3Xo trix'Esim
_4Xo kwaDrax'Esim
@@ -162,6 +163,14 @@ _8Xo Oktox'Esim
_9Xo nonax'Esim
_0Co TEnt'Esim
_1Co TEnt'Esim
_2Co duTEnt'Esim
_3Co triTEnt'Esim
_4Co kwaDriNxEnt'Esim
_5Co kiNxEnt'Esim
_6Co seksTEnt'Esim
_7Co sep:tiNxEnt'Esim
_8Co OktiNxEnt'Esim
_9Co noniNxEnt'Esim
_0M1o mil'Esim



+ 228
- 190
dictsource/eu_list View File

@@ -1,190 +1,228 @@
// This file is UTF8 encoded
// Spelling-to-phoneme words for Basque
b be
c ze
d de
f 'efe
g ge
h 'atSe
j J'ota
k ka
l 'ele
m 'eme
n 'ene
ñ 'en^e
p pe
q ku
r 'eR2e
s 'ese
t 'te
v 'uBe
w 'uBe||bikoitza
x 'iSa
y i||gr'ekoa
z 'z'eta
_a a
_e e
_i i
_o o
_u u
// numbers
_0 zer'o
_1 b'at
_2 b'i
_3 'iru
_4 l'aU
_5 b'ost
_6 s'eI
_7 z'azpi
_8 z'ortzi
_9 beD'eratzi
_10 am'aR2
_11 am'aIka
_12 am'aBi
_13 am'aIru
_14 am'alaU
_15 am'aBost
_16 am'aseI
_17 am'azazpi
_18 em'ezortzi
_19 em'eretzi
_20 oQ'eI
_2X oQeIta
_40 beR2oQ'eI
_4X beR2oQeIta
_60 iruroQ'eI
_6X iruroQeIta
_80 laUroQ'eI
_8X laUroQeIta
_1C e'un
_2C beR2'eun
_3C ir'ureun
_4C laur'eun
_5C bost'eun
_6C sei'eun
_7C zazp'ieun
_8C zortz'ieun
_9c bederatz'ieun
_0C e,un
_0M1 m'il^a
_0M2 mil^'ioI
_1M2 mil^'ioI||bat
_0and eta
_dpt _koma
// names of punctuation and symbol characters
_. p'untu
_, k'oma
_- gid'oI
_! arr'idura
_? gald'era
_: b'i||p'untu
_; p'untu||eta||k'oma
// functuion words
// conjunctions
eta $u+ $pause // and
baina $u+ $pause
// pronouns
ni $1
zu $1
hura $1
gu $1
zuek $1
haiek $1
nire $u+
zure $u+
haren $u+
bere $u+
gure $u+
zuen $u+
haien $u+
beren $u+
hau $1 // this
honen $1
hauen $1
hori $1 // that
horren $1 // genitive
hura $1 // that (further)
haien $1 // genitive
// Some auxiliary verbs
gara $2
zara $2
dira $2
// gramatical suffixes which can appear as words appended to numbers etc.
// Should these be in eu_rules ??
a $u
ak $u
an $u
ean $u
etan $u
eko $u
etarako $u
ko $u
era $u
ra $u
etara $u
// Other words (mostly nouns)
// Bisillabic words which have the stres always in the first syllable
kaixo $1
testu $1
lehia $1
patu $1
// Bisillabic words whitch get misspronounced with the suffix list
etxe $1 $only
kale $1 $only
aste $1 $only
urte $1 $only
// j as [x]
jipoi x'ipoi
// other
aerobiko $3
aerodinamiko $5
aerodinamika $5
aerodromo $3
aerometro $3
aeromodelismo $6
aeronauta $4
aeronautika $4
aeronautiko9 $4
aerosol $4
aerostatika $4
aerostato $4
adrenalina adrenalin2a
aharraus $2
aharrausika $2
ahur aur $only
ahurr auR2
// Abbreviations
adib ad'ibidez $hasdot
// proper names and surnames
juan xw'an
jorge x'orxe
jose x'ose
josé x'os'e
joaquín xoak'in
san $u
santo $u
aristoteles $3
hume x'iUm
nietztsche n'itSe
abako $1

// This file is UTF8 encoded
// Spelling-to-phoneme words for Basque

// $alt j as [x]
// $alt2 don't palatalise l
// $alt3 don't palatalise n


// Letter names
b be
c ze
d de
f 'efe
g ge
h 'atSe
j J'ota
k ka
l 'ele
m 'eme
n 'ene
ñ 'en^e
p pe
q ku
r 'eR2e
s 'ese
t 'te
v 'uBe
w 'uBe||bikoitza
x 'iSa
y 'i||gr'ekoa
z 'z'eta

_a a
_e e
_i i
_o o
_u u


// numbers
_0 z'ero
_1 b'at
_2 b'i
_3 'iru
_4 l'aU
_5 b'ost
_6 s'eI
_7 z'azpi
_8 z'ortzi
_9 beD'eratzi
_10 am'aR2
_11 am'aIka
_12 am'aBi
_13 am'aIru
_14 am'alaU
_15 am'aBost
_16 am'aseI
_17 am'azazpi
_18 em'ezortzi
_19 em'eretzi
_20 oQ'eI
_2X oQeIta
_40 beR2oQ'eI
_4X beR2oQeIta
_60 iruroQ'eI
_6X iruroQeIta
_80 laUroQ'eI
_8X laUroQeIta
_1C e'un
_2C beR2'eun
_3C ir'ureun
_4C laur'eun
_5C bost'eun
_6C sei'eun
_7C zazp'ieun
_8C zortz'ieun
_9c bederatz'ieun
_0C e,un
_0M1 m'il^a
_0M2 mil^'ioI
_1M2 mil^'ioI||bat
_0and eta
_dpt _koma


// names of punctuation and symbol characters
_. p'untu
_, k'oma
_- gid'oI
_! arr'idura
_? gald'era
_: b'i||p'untu
_; puntu||eta||koma
_/ b'arra

// Accent characters

//names
_acu az'entuduna
_grv kam'utsa
_cir zirk'unfleSua
_dia d'jeresiduna

// characters
á 'a||a'zentuduna
é 'e||a'zentuduna
í 'i||a'zentuduna
ó 'o||a'zentuduna
ú 'u||a'zentuduna
ü 'u||dj'eresiduna

// function words
// conjunctions
eta $u+ $pause // and
baina $u+ $pause

// pronouns
ni $1
zu $1
gu $1
zuek $1
haiek $1
nire $u+
zure $u+
haren $u+
bere $u+
gure $u+
zuen $u+
haien $u+
beren $u+

hau $1 // this
honen $1
hauen $1
hori $1 // that
horren $1 // genitive
hura $1 // that (further)
haien $1 // genitive

// Some verbs
gara $2
zara $2
dira $2
dio $2
die $2

// gramatical suffixes which can appear as words appended to numbers etc.
// Should these be in eu_rules ??
a $u
ak $u
an $u
ean $u
etan $u
eko $u
etarako $u
ko $u
era $u
ra $u
etara $u

// Abbreviations
adib ad'ibidez $hasdot

// proper names and surnames
juan $alt
jorge $1 x'orxe
jose $1 $alt
josé $alt
joaquín $alt
san $u $only $only
santo $u
aristoteles $3
hume hjum $1
humer hjum
google g'uQ@l
googler g'uQ@l
moodle m'uD@l
moodler m'uD@l
doodle d'uD@l
doodler m'uD@l
nietztsche n'itSe
ainara $alt3

// Other words

// Bisillabic words which always have the stres in the first syllable
testu $1
lehia $1
patu $1
kasu $1
// Other (from the Standard Basque dictionary (hiztegi batua) from Euskaltzaindia, maybe even more should be added)

abako $1
aerobiko $3
aerodinamika $5 $alt3
aerodinamiko $5 $alt3
aerodromo $3
aerometro $3
aeromodelismo $6
aeronauta $4
aeronautika $4
aeronautiko $4
aerosol $4
aerostatika $4
aerostato $4
adrenalina $4 $alt3
aharraus a'R2aus
ainitz $alt3
aintzat $1 $only
aje $alt
akademi $3
aktibist $3
alajain $alt
album $1
[aldez-alde] 'alDez_'alDe
[aldez-alde] 'alDez_'alDe
alfanumeriko $4
algebra $1 $alt
aljebraiko $3 $alt
aljebra $1 $alt
aljebraiko $3 $alt
algoritmo $3
alkalino $3 $alt3
alkaloide $3
alokutibo $4
alproj $alt
alprojakeri $alt

+ 158
- 156
dictsource/eu_rules View File

@@ -1,5 +1,8 @@
// This file is UTF8 encoded
// Spelling-to-phoneme rules for Basque
// $w_alt j as [x]
// $w_alt2 don't palatalise l
// $w_alt3 don't palatalise n
.L01 b d g
.L02 e i
@@ -8,243 +11,242 @@
.group a
a a
ai aI
ahi aI
au aU
ahu aU
a (_S1t a
ak (_S2t ak
ari (_S3t ari
aren (_S4t a**en
arekin (_S6t a**ekin
arentzat (_S8t a**entzat
arentzako (_S9t arentzako
an (_S2t an
atik (_S4t atik
ara (_S3t a**a
arat (_S4t arat
atatik (_S6t atatik
atara (_S5t ata**a
atarat (_S5t atarat
ako (_S3t ako
atako (_S5t atako
araino (_S6t a**ain^o
ataraino (_S8t ata**an^o
arantz (_S6t a**antz
atarantz (_S8t a**antz
agana (_S5t agana
arengana (_S8t a**engana
a (_S1 a
ak (_S2 ak
ari (_S3 ari
aren (_S4 a**en
arekin (_S6 a**ekin
arentzat (_S8 a**entzat
arentzako (_S9 arentzako
an (_S2 an
atik (_S4 atik
ara (_S3 a**a
arat (_S4 arat
atatik (_S6 atatik
atara (_S5 ata**a
atarat (_S5 atarat
ako (_S3 ako
atako (_S5 atako
araino (_S6 a**ain^o
ataraino (_S8 ata**an^o
arantz (_S6 a**antz
atarantz (_S8 a**antz
agana (_S5 agana
arengana (_S8 a**engana
arenganaino (_s11 a**enganain^o
arengatik (_S9t a**engatik
atzat (_S5t atzat
arengatik (_S9 a**engatik
atzat (_S5 atzat
.group b
b b
_ez_) b (A p'
.group c
c k
c (L02 T
ch tS
.group d
d d
dd J
A) d (A D // ??
_ez_) d (A t'
.group e
e e
ei eI
ehi eI
l) ehi (A eI
eu eU
ek (_S2t ek
ei (_S2t eI
en (_S2t en
ean (_S3t ean
etan (_S4t etan
etatik (_S6t etatik
etara (_S5t eta**a
erat (_S4t erat
etako (_S5t etako
eko (_S3t eko
etarako (_S7t etarako
etarantz (_S8t eta**antz
etaraino (_S8t eta**aino
engana (_S6t engana
entzat (_S6t entzat
entzako (_S7t entzako
ek (_S2 ek
ei (_S2 eI
en (_S2 en
ean (_S3 ean
etan (_S4 etan
etatik (_S6 etatik
etara (_S5 eta**a
erat (_S4 erat
etako (_S5 etako
eko (_S3 eko
etarako (_S7 etarako
etarantz (_S8 eta**antz
etaraino (_S8 eta**aino
engana (_S6 engana
entzat (_S6 entzat
entzako (_S7 entzako
engatik (S7 engatik
ekin (_S4t ekin
ekiko (_S5t ekiko
ez (_S2t ez
etaz (_S4t etaz
ekin (_S4 ekin
ekiko (_S5 ekiko
ez (_S2 ez
etaz (_S4 etaz
.group f
f f
.group g
g g
A) g (A Q // ??
_ez_) g (A k'
gana (_S4t gana
go (_S2t go
gana (_S4 gana
go (_S2 go
.group h
h // silent
zi) h (o x
.group i
i i
K) i (_S1t i
ad) i (eraz j
K) i (_S1 i
le) i (h j
arraz) i (on j
.group j
j J // try [x] [J] [j] [J^] [Z] [S]
ad) j (udika x

j ($w_alt x
.group k
k k
ko (_S2t ko
ko (_S2 ko
.group l
l l
ll l^
_ez_) l (A l'
l ($w_alt2 l2 _afi) l (ia l2
.group m
m m

.group n
n n
n (_S1t n
adrenali) n n2
admi) n (istr n2

n (_S1 n
n ($w_alt3 n2 mi) n (is n2
afi) n (i n2
agluti) n (A n2
alpi) n (A n2
.group o
o o
oi oI
.group p
p p
.group q
q k
.group r
r r
_) r R2
rr R2
A) ri (_S2t ri
ren (_S3t ren
ra (_S2t ra
rat (_S3 t rat
rantz (_S5t rantz
raino (_S5t raino
rako (_S4t rako
rentzat (_S7t rentzat
rentzako (_S8t rentzako
rekin (_S5t rekin
rengan (_S6t rengan
rengana (_S7t rengana
rengandik (_S9t rengandik
rengatik (_S8t rengatik

A) ri (_S2 ri
ren (_S3 ren
ra (_S2 ra
rat (_S3 rat
rantz (_S5 rantz
raino (_S5 raino
rako (_S4 rako
rentzat (_S7 rentzat
rentzako (_S8 rentzako
rekin (_S5 rekin
rengan (_S6 rengan
rengana (_S7 rengana
rengandik (_S9 rengandik
rengatik (_S8 rengatik
.group s
s s
.group t
t t
ts ts
tt c
tx tS
tz tz
tan (_S3t tan
tara (_S4 t tara
tarat (_S5t tarat
tik (_S3t tik
tatik (_S5t tatik
taz (_S3t taz
tu (_S2t tu
tuko (_S4t tuko
tzen (_S4t tzen
ten (_S3t ten
tan (_S3 tan
tara (_S4 tara
tarat (_S5 tarat
tik (_S3 tik
tatik (_S5 tatik
taz (_S3 taz
tu (_S2 tu
tuko (_S4 tuko
tzen (_S4 tzen
ten (_S3 ten
.group u
u u
.group v
v b
.group w
w u
.group x
x S
.group y
y jj
.group z
z z
_e) z (_L01 %z
_e) z (_l
z (_S1t z
_e) z (_l
z (_S1 z
.group
á ''a
á ''a
é ''e
í ''i
ó ''o
ú ''u
ç s
ü Y
ü y
ñ n^

+ 158
- 27
dictsource/fa_list
File diff suppressed because it is too large
View File


+ 3
- 21
dictsource/fa_rules View File

@@ -1,5 +1,5 @@
// * Farsi Language fa (or Parsi or Persian) fa_rules Version 3.12
// * This file writen by Shadyar Khodayari 07-01-2014
// * Farsi Language fa (or Parsi or Persian) fa_rules Version 3.131
// * This file writen by Shadyar Khodayari 04-07-2015
//*********
// * This program is free software; you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
@@ -44,7 +44,6 @@
۸ 8
٩ 9
۹ 9
٪ %
ٔ ٴ
ي ی // this is "ي" Shift + x on the Persian Keyboard ("ye Arabi") that has been replaced with "ی" Standard for some programing reasones.
@@ -234,7 +233,6 @@


.group -
- (.D manfije-
__) - (_D manfije-


@@ -1330,6 +1328,7 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09) چی (_Sm2 tSi
L09L09) چیان (_Sm4 tSijAn
L09L09) چه (_Sm2 tSe
L09L09) چۀ (_Sm2 tSeje
L09L09) چین (_Sm3 tSin
L09L09) چهر (_Sm3 tSehR
L09L09) چهره (_Sm4 tSehRe:
@@ -5868,23 +5867,6 @@ L09L04) السّادات (_Sm8 ossAdAt
إ (ِ


.group ـ
ـ


.group ،
،


.group ؛
؛

// default group (required to compile correctly)

.group
'



// rules for Farsi written by English characters (Pinglish)
// Sometimes, Farsi speakers write Farsi words using English characters, particularly in Chat and SMS (texte messages).), called Pinglish

+ 15
- 20
dictsource/gu_list View File

@@ -1,4 +1,4 @@
// This gu_rules file is prepared by Maheshinder Singh Khosla< [email protected] >.
// This gu_list file is prepared by Maheshinder Singh Khosla< [email protected] >.

// This file is UTF8 encoded

@@ -25,7 +25,7 @@ _14 c'O:d
_15 p@nd'Vr
_16 s'o:r.
_17 s@tt'Vr
_18 Vd.#'@r
_18 'Vd.#a:r
_19 ,o:gn.'i:s

_20 w'i:s
@@ -170,30 +170,25 @@ _dpt _d@s@ml'o:_
હ H@

// combining vowel signs
ા #X2a:
િ #X1I
ી #X2i:
ુ #X1U
ૂ #X2u:
ૃ #X1ru
ૄ #X1ru
ૅ #X1E
ે #X2e:
ૈ #X2aI
?2 ૈ #X2aI
ૉ #X1O
ો #X2o:
ૌ #X2aU
?3 ૌ #X2aU
ૢ #X1l-
ૣ #X2l-:
ૐ #X1o~m


// Symbols
ઁ c'Vndr@-b'IndU
ં Vn'Usv@r
ઃ wIs'VRg
઼ n'Ukt,a:
ऽ Vv'Vgr@2H
॑ Ud'a:t
॒ 'VnUdata:



// Punctuation
। dVn.d.V
્ H@l'Vnt
$ dOl@r
$ dOl@r
% pVt'IS@t
+ plVs
= bVr'a:b@r

+ 65
- 61
dictsource/gu_rules View File

@@ -95,83 +95,98 @@
// Vowel Signs

.group ા
ા a:
ા (ઁ V~
ાઁ (_ V~
ાં V~
ા #X2a:
C) ા a:
C) ા (ઁ V~
C) ાઁ (_ V~
C) ાં V~

.group િ
િ I
// િઁ In
િં In
િં (_ I~
િ #X1I
C) િ I
C)// િઁ In
C) િં In
C) િં (_ I~

.group ી
ી i:
ી (_ i
ી (ઁ in
ીઁ (_ in
ીં in
ીં (_ i~
ી #X2i:
C) ી i:
C) ી (_ i
C) ી (ઁ in
C) ીઁ (_ in
C) ીં in
C) ીં (_ i~

.group ુ
ુ u
ુ (ઁ un
ુઁ (_ un
ું un
ું (_ u~
ુ #X1U
C) ુ u
C) ુ (ઁ un
C) ુઁ (_ un
C) ું un
C) ું (_ u~

.group ૂ
ૂ u:
ૂ (ઁ un
ૂઁ (_ un
ૂં un
ૂં (_ u~ // or O~ ??
ૂ #X2u:
C) ૂ u:
C) ૂ (ઁ un
C) ૂઁ (_ un
C) ૂં un
C) ૂં (_ u~ // or O~ ??

.group ૃ
ૃ ru
ૃ #X1ru
C) ૃ ru

.group ૄ
ૄ ru
ૄ #X1ru
C) ૄ ru

.group ૅ
ૅ E
ૅ #X1E
C) ૅ E

.group ે
ે e:
ે (ઁ e~
ેં e~:
ેઁ (_ e~:
ે #X2e:
C) ે e:
C) ે (ઁ e~
C) ેં e~:
C) ેઁ (_ e~:

.group ૈ
ૈ aI // ?? [aI] [E:] [&:]
ૈં aI~
ૈ (ઁ aI~
ૈઁ (_ aI~
ૈ #X2aI
C) ૈ aI // ?? [aI] [E:] [&:]
C) ૈં aI~
C) ૈ (ઁ aI~
C) ૈઁ (_ aI~


.group ૉ
ૉ O
ૉ #X1O
C) ૉ O

.group ો
ો o:
ોં on
ોં (_ o~
ો (ઁ on
ોઁ (_ on
ો #X2o:
C) ો o:
C) ોં on
C) ોં (_ o~
C) ો (ઁ on
C) ોઁ (_ on

.group ૌ
ૌ aU // [O:] or [aU] ??
ૌ (ઁ aU~ // [O:] or [aU] ??
ૌં aU~
ૌઁ (_ aU~
ૌ #X2aU
C) ૌ aU // [O:] or [aU] ??
C) ૌ (ઁ aU~ // [O:] or [aU] ??
C) ૌં aU~
C) ૌઁ (_ aU~


.group ૢ // vowel sign l
ૢ l-
ૢ #X1l-
C) ૢ l-

.group ૣ // vowel sign ll
ૣ l-:
ૣ #X2l-:
C) ૣ l-:

.group ૐ
ૐ o~m
@@ -231,9 +246,6 @@
છ c#V
છ (B c#

છ્છ c#:V // c#c# -> c#:
છ્છ (B c#:

.group જ
જ JV
જ (B J
@@ -270,8 +282,6 @@
ઠ t.#V
ઠ (B t.#

ઠ્ઠ t.#:V // t.#t.# -> t.#:
ઠ્ઠ (B t.#:

.group ડ
ડ d.V
@@ -290,9 +300,6 @@
ઢ d.#V
ઢ (B d.#

ઢ્ઢ d.#:V // d.#d.# -> d.#:
ઢ્ઢ (B d.#:

ઢ઼ r.hV // nukta (should retroflex flap)
ઢ઼ (B r.h // nukta

@@ -317,8 +324,6 @@
થ t#V
થ (B t#

થ્થ t#:V // t#t# -> t#:
થ્થ (B t#:

.group દ
દ dV
@@ -334,9 +339,6 @@
ધ d#V
ધ (B d#

ધ્ધ d#:V // d#d# -> d#:
ધ્ધ (B d#:

.group ન
ન nV
ન (B n
@@ -461,7 +463,9 @@
ઃ H // visarga

.group ્ // virama
્ k#'o:d.
C) ્


// Extra consonants


+ 21
- 19
dictsource/hbs_list View File

@@ -8,6 +8,8 @@
// ?3 Bosnian (Bosna and Hercegovina)
// ?4 Serbian & Bosnian

// $alt1 first vowel is long


// Letters
b b@
@@ -275,24 +277,24 @@ _tld t'ild&
?3 _0MA1 h'il^ade
?3 _1M1 h'il^adU

_0M2 m'ilijUna
_0MA2 m'ilijUna
_1M2 m'ilijUn
?4 _0M2 m'ilijOna
?4 _0MA2 m'ilijOna
?4 _1M2 m'ilijOn
_0M3 m'iliaRdI
_0MA3 m'iliaRde
_1M3 m'iliaRdU
?2 _0M3 milijArdI
?2 _0MA3 milijArde
?2 _1M3 milijArdU
_0M4 b'ilijUna
_1M4 b'ilijUn
?4 _0M4 b'ilijOna
?4 _1M4 b'ilijOn
_0M2 m'ilijU:na
_0MA2 m'ilijU:na
_1M2 m'ilijU:n
?4 _0M2 m'ilijO:na
?4 _0MA2 m'ilijO:na
?4 _1M2 m'ilijO:n
_0M3 m'ilia:RdI
_0MA3 m'ilia:Rde
_1M3 m'ilia:RdU
?2 _0M3 milijA:rdI
?2 _0MA3 milijA:rde
?2 _1M3 milijA:rdU
_0M4 b'ilijU:na
_1M4 b'ilijU:n
?4 _0M4 b'ilijO:na
?4 _1M4 b'ilijO:n

_dpt _:z'a*Ez_
_roman r*'imsko
@@ -601,7 +603,7 @@ koga $pause


// Pronouns
ja $alt1

// Prepositions
o $u $brk

+ 7
- 0
dictsource/hbs_rules View File

@@ -13,8 +13,11 @@

.group a
a a
X) a ($w_alt1 a:
a (j A
a (r A // don't reduce to [&]
_hrv) a (t a:

.group b
b b
@@ -40,6 +43,7 @@

.group e
e E
X) e ($w_alt1 E:
j) e e
e (j e
_) exe %ekse // filetype
@@ -57,6 +61,7 @@

.group i
i i
X) i ($w_alt1 i:
._) ini %ini // filetype

.group j
@@ -87,6 +92,7 @@

.group o
o o
X) o ($w_alt1 o:
ou oU

.group p
@@ -118,6 +124,7 @@

.group u
u u
X) u ($w_alt1 u:

.group v
v v

+ 398
- 398
dictsource/hi_list View File

@@ -1,398 +1,398 @@
// This file is UTF8 encoded
// Numbers
// devanagari numbers are changed to latin characters before translation
_0 S'u:nj@-
_1 'e:k
_2 d'o:
_3 t'i:n
_4 c'a:r
_5 'pa~c
_6 c#'VH
_7 s'a:t
_8 'a:t.#
_9 n'O:
?3 _9 n'aU
_10 d'Vs
_11 gj'a:*VH
_12 b'a:rVH
_13 t'e:rVH
_14 c'O:dVH
_15 p'VndrVH
_16 s'o:lVH
_17 sVtrVh
_18 Vt.#'a:rVH
_19 Unn'Is
_20 b'i:s
_21 Ik:'is
_22 b'a:is
_23 t'e:is
_24 c'O:bis
_25 p'Vc:is
_26 c#Vbb'is
_27 s@t:'a:is
_28 at#:'a:is
_29 'Untis
_30 t'i:s
_31 Ik@t'is
_32 b'at:is
_33 t'E~tis // E~ ?
_34 c'O~tis
_35 p'E~tis
_36 c#'Vt:is
_37 s'E~tis
_38 'Vrtis
_39 Unt'a:lis
_40 c'a:lis
_41 Ikt'a:lis
_42 baI'a:lis
_43 tE~t'a:lis
_44 cO:v'a:lis
_45 paInt'a:lis
_46 c#Ij'a:lis
_47 sE~t'a:lis
_48 Vrt'a:lis
_49 'Unca:s
_50 pVc'a:s
_51 Ikj'a:wVn
_52 b'a:wVn
_53 t'Ire:pVn
_54 c'O:wVn
_55 p'VcpVn
_56 c#'Vp:Vn
_57 sVt'a:w@n
_58 at.#:'a:w@n
_59 'UnsVt.#
_60 s'a:t.#
_61 'IksVt.#
_62 b'a:sVt.#
_63 t'Ire:sVt.#
_64 c'O~sVt.#
_65 p'E~sVt.#
_66 c#Ij'a:sVt.#
_67 s'Vr.sVt.#
_68 Vr.sVt.#
_69 'UnVht:Vr
_70 s'Vt:Vr
_71 'IkHVt:Vr
_72 'bVhVt:Vr
_73 t'IhVt:Vr
_74 cO:H'Vt:Vr
_75 pVcH'Vt:Vr
_76 c#IH'Vt:Vr
_77 sVtH'Vt:Vr
_78 VtH'Vt:Vr
_79 Un'a:si
_80 'Vssi:
_81 Ikj'a:si
_82 bVj'a:si
_83 tIr'a:si
_84 cO:r'a:si
_85 pVc'a:si
_86 c#Ij'a:si
_87 sVt:'a:si
_88 at#:'a:si
_89 nVw'a:si
_90 n'Vb:e:
_91 Ik:j'a:n@be:
_92 b'a:n@be:
_93 tIr'a:n@be:
_94 cO:r'a:m@be:
_95 pVnc'a:n@be:
_96 c#Ij'a:n@be:
_97 sVt:'a:n@be:
_98 Vt#:'a:n@be:
_99 nIn^j'a:n@be:
_0C s'O:
_0M1 h'VJa:r
_0M2 l'a:k#
_0M3 k@r'o:r.V
_0M4 'VrVb
_0M5 k#'VrVb
_dpt _d@s@ml'o:_
// Single consonants
क k@
क़ q@
ख k#@
ख़ x@
ग g@
ग़ Q@
घ g#@
ङ N@
च c@
छ c#@
ज J@
ज़ z@
झ J#@
ञ n^@
ट t.@
ठ t.#@
ड d.@
ड़ r.@
ढ d.#@
ण n.@ // retroflex n.@
त t@
थ t#@
द d@
ध d#@
न n@
प p@
फ p#@
फ़ f@
ब b@
भ b#@
म m@
य j@
र r@
ऱ r@
ल l@
ळ l.@
व v@
श S@
ष s.@ // retroflex [S]
स s@
ह H@
क़ q@
ख़ x@
ग़ Q@
ज़ z@
ड़ r-@
ढ़ hr@
फ़ f@
य़ j@
// combining vowel signs
ा #X2a:
ि #X1I
ी #X2i:
ु #X1U
ू #X2u:
ृ #X1rI
ॄ #X1rI
ॅ #X1E
ॆ #X1e
े #X2e:
ै #X2E:
?2 ै #X2aI
ॉ #X1O
ॊ #X1o
ो #X2o:
ौ #X2O:
?3 ौ #X2aU
ॢ #X1l-
ॣ #X2l-:
ॐ #X1o~m
U+901 cVndrVbIndu
U+902 VnUswa:r
U+903 wIsVrg@
U+93c nUkta
U+94d hVlVnt
_?? Vks.@r
// Alphabet names
_ar 'Vrbi
_cyr sIrIk'Ik
_zh c'i@ni
// Punctuation
// । dVn.d.V
$ dOlVr
% pVt'ISVt
+ plVs
= bVr'a:bVr
* ta:r'a:NkVn
/ sle:S
_, 'Vlp@||wir,a:m
। p'u:rn.@||wIr,a:m
_; 'Vrd#@-||wIr,a:m
_: brIHVd'a:ntr@-
_? prVSVnv'a:cVk
! wIsmVja:dIv'a:cVk
_— nIrd'e:SVk
_- j'o:JVk
_" 'Udd#VrVn.
// Pronouns
ैं $u // main: IrI
ुझे $u
मेरा $u
मेरी $u
मेरे $u
हम $u // we
हमे $u
हमारा $u
हमारी $u
हमारे $u
आप $u // you(formal)
आपको $u
आपका $u
आपकी $u
आपके $u
तुम $u // you (informal)
तुम्हें $u
तुम्हारा $u
तुम्हारी $u
तुम्हारे $u
ू $u // you (informal)
ुझे $u
तेरा $u
ह $u // he/she/it
ये $u
इस्से $u
इसका $u
ये $u // they
इन्हें $u
इनका $u
ह $u // he/she/it
वो $u
उस्से $u
उसका $u
उसकी $u
उसके $u
े $u // they
वो $u
उन्हे $u // unheṃ: them
उनका $u
उनकी $u
उनके $u
// Prepositions/Postpositions
ा $u // kā: of, possessive particle
ी $u // kī
के $u // ke
$u // ko: to
तक $u // tak: until, for(time)
बिना $u $pause // without (preposition)
में me~: $u+ // me: in
से $u // se: from, with, by
// Questions
क्या $u $pause // interrogative particle
// Conjunctions
और $u $brk // aur: and
य j@ $u $pause // ja: or
अगर $u $pause // agar: if
यदि $u $pause // yadi: if, whether
अगरचे $pause // agarce: although, even
पर $pause // par: but, still, yet
मगर $pause // magar: however, unless
// Verbs
ूँ $u // to be
ो $u
है $u
हैं $u
ा $u // thā: past aux
े $u // the
थी $u // thī
थीं $u // thīh
रहा $u // rahā: continuous
रहे $u // rahe
रही $u // rahī
// Exceptions
क्रिकेट kr'IkIt
सायबर s'aIb@r
राष्ट्रपति ra:Stra'pati
प्रघानमंत्री pradha:n'man'tri
कुलपति kul'pati
कुलदेवी kul'devi
भाईचारा bha:i'cha:ra:
महाराज maha:ra:J
महारानी maha:ra:ni
महादेव maha:'dev
रामराज्य़ ra:m:ra:J'Jja
अक्षरमाला ak'shar'ma:la:
्रजापति praJa:pati
ूँजीपति pu~Ji'pati
ँजीकरऩ pan'Ji'karan
पालनहारा pa:lan'ha:ra:
मूलमंत्र mul'man'tra
झोलझाल Jho'lJha:l
सुखदाता su'kh'da:ta:
नेत्रहीन netr:a'hIn
नेत्रदान net'ra'da:n
गजपति gaJ'pati
य़ुघ्दविराम j:u'dh:'vi'ra:m
महासंग्राम maha:san'gra:m
महापति maha:'pati
पतीदेव pati'dev
सीताराम sIta:ra:m
अंजनीपुत्र anjan'Iput:'ra
महाबलि maha:bali
श्रमदान Sram'da:n
क्तदान rak'tda:n
रेलगाड़ी rel'ga:rI
बैलगाड़ी bE:el'ga:rI
नौकरशाही nau'kar'Sa:hI
नौकरशाह nau'kar'Sa:h
प्रतिपल pra'ti'pal
हलचल hal'cal
कालचक्र ka:l'cak'ra
हरदम har'dam
नीलकंठ nIl'ka'nt.#
इन्द्रजीत In'dra'JIt
कुलदेवता kUl'de:v'ta:
अत्ममंथन atm'aman'than
थलसेना thal'sena:
वाय़ुसेना wa:u:'sena:
सेनापति sena:pati
वरमाला va'Rma:la:
जय़माला Jaj'ma:la:
भूतप्रेत bhut'pret
भूतकाल bhUt'ka:l
मदीरापान madira:pa:n
िश्तेनाते ris'te'na:te
राजमाता Ra:J'ma:ta:
भाग्य़शाली bha:gja'Sa:lI
खुशकिस्मत khUSki'smat
गुरुनानक guru'na:nak
दीपमाला dIp'ma:la:
दीपशिखा dIp'Sikha
बलशाली val'Sa:lI
न्द्रशेखर can'dra'Sekhar
चद्रकान्ता can'dra'ka:nta:
महाभारत maha:bha:rat
महासागर maha:sa:gar
प्राचीनकाल pra:cIn'ka:l
राशीफल ra:Si'fal
परमवीर param'vIr
बुध्दिमति bud'dhi'mati
सुमति suma'ti
मतदान mat'da:n
मतदाता mat'da:ta:
// This file is UTF8 encoded
// Updated file. up to 20 Jan 2015
// Numbers
// devanagari numbers are changed to latin characters before translation
_0 S'u:nj@-
_1 'e:k
_2 d'o:
_3 t'i:n
_4 c'a:r
_5 p'a~c
_6 c#'VH
_7 s'a:t
_8 'a:t.#
_9 n'O:
?3 _9 n'aU
_10 d'Vs
_11 gj'a:*VH
_12 b'a:rVH
_13 t'e:rVH
_14 c'O:dVH
_15 p'VndrVH
_16 s'o:lVH
_17 sVtrVh
_18 Vt.#'a:rVH
_19 Unn'Is
_20 b'i:s
_21 Ik:'is
_22 b'a:is
_23 t'e:is
_24 c'O:bis
_25 p'Vc:is
_26 c#Vbb'is
_27 s@t:'a:is
_28 at#:'a:is
_29 'Untis
_30 t'i:s
_31 Ik@t'is
_32 b'at:is
_33 t'E~tis // E~ ?
_34 c'O~tis
_35 p'E~tis
_36 c#'Vt:is
_37 s'E~tis
_38 'Vrtis
_39 Unt'a:lis
_40 c'a:lis
_41 Ikt'a:lis
_42 baI'a:lis
_43 tE~t'a:lis
_44 cO:v'a:lis
_45 paInt'a:lis
_46 c#Ij'a:lis
_47 sE~t'a:lis
_48 Vrt'a:lis
_49 'Unca:s
_50 pVc'a:s
_51 Ikj'a:wVn
_52 b'a:wVn
_53 t'Ire:pVn
_54 c'O:wVn
_55 p'VcpVn
_56 c#'Vp:Vn
_57 sVt'a:w@n
_58 at.#:'a:w@n
_59 'UnsVt.#
_60 s'a:t.#
_61 'IksVt.#
_62 b'a:sVt.#
_63 t'Ire:sVt.#
_64 c'O~sVt.#
_65 p'E~sVt.#
_66 c#Ij'a:sVt.#
_67 s'Vr.sVt.#
_68 Vr.sVt.#
_69 'UnVht:Vr
_70 s'Vt:Vr
_71 'IkHVt:Vr
_72 'bVhVt:Vr
_73 t'IhVt:Vr
_74 cO:H'Vt:Vr
_75 pVcH'Vt:Vr
_76 c#IH'Vt:Vr
_77 sVtH'Vt:Vr
_78 VtH'Vt:Vr
_79 Un'a:si
_80 'Vssi:
_81 Ikj'a:si
_82 bVj'a:si
_83 tIr'a:si
_84 cO:r'a:si
_85 pVc'a:si
_86 c#Ij'a:si
_87 sVt:'a:si
_88 at#:'a:si
_89 nVw'a:si
_90 n'Vb:e:
_91 Ik:j'a:n@be:
_92 b'a:n@be:
_93 tIr'a:n@be:
_94 cO:r'a:m@be:
_95 pVnc'a:n@be:
_96 c#Ij'a:n@be:
_97 sVt:'a:n@be:
_98 Vt#:'a:n@be:
_99 nIn^j'a:n@be:
_0C s'O:
_0M1 h'VJa:r
_0M2 l'a:k#
_0M3 k@r'o:r.V
_0M4 'VrVb
_0M5 k#'VrVb
_dpt _d@s@ml'o:_
// Single consonants
क k@
क़ q@
ख k#@
ख़ x@
ग g@
ग़ Q@
घ g#@
ङ 'Vnga:
च c@
छ c#@
ज J@
ज़ z@
झ J#@
ञ n^@
ट t.@
ठ t.#@
ड d.@
ड़ r.@
ढ d.#@
ण an.@-: // retroflex n.@
त t@
थ t#@
द d@
ध d#@
न n@
ऩ n'@n'Ukt,a:
प p@
फ p#@
फ़ f@
ब b@
भ b#@
म m@
य j@
र r@
ऱ r@
ल l@
ळ l.@
व v@
श S@
ष s.@ // retroflex [S]
स s@
ह H@
क़ q@
ख़ x@
ग़ Q@
ज़ z@
ड़ r-@
ढ़ hr@
फ़ f@
य़ j@
// combining vowel signs
//ा #X2a:
//ि #X1I
//ी #X2i:
//ु #X1U
//ू #X2u:
//ृ #X1rI
//ॄ #X1rI
//ॅ #X1E
//ॆ #X1e
//े #X2e:
//ै #X2E:
//?2 ै #X2aI
//ॉ #X1O
//ॊ #X1o
//ो #X2o:
//ौ #X2O:
//?3 ौ #X2aU
//ॢ #X1l-
//ॣ #X2l-:
//ॐ #X1o~m
_?? Vks.@r
// Alphabet names
_ar 'Vrbi
_cyr sIrIk'Ik
_zh c'i@ni
// Symbols
ँ c'Vndr@-b'IndU
ं Vn'Usv@r
ः wIs'VRg
़ n'Ukt,a:
ऽ Vv'Vgr@2H
॑ Ud'a:t
॒ 'VnUdata:
// Punctuation
। p'u:rnwI*'a:m
॥ d'i:*g@wI*'a:m
$ dOl@r
% pVt'IS@t
+ plVs
= bVr'a:b@r
* ta:r'a:Nk@n
// Pronouns
मैं $u // main: IrI
ुझे $u
मेरा $u
मेरी $u
मेरे $u
हम $u // we
हमे $u
हमारा $u
हमारी $u
हमारे $u
आप $u // you(formal)
आपको $u
आपका $u
आपकी $u
आपके $u
तुम $u // you (informal)
तुम्हें $u
तुम्हारा $u
तुम्हारी $u
तुम्हारे $u
तू $u // you (informal)
ुझे $u
तेरा $u
यह $u // he/she/it
े $u
इस्से $u
इसका $u
ये $u // they
इन्हें $u
इनका $u
वह $u // he/she/it
ो $u
उस्से $u
उसका $u
उसकी $u
उसके $u
वे $u // they
ो $u
उन्हे $u // unheṃ: them
उनका $u
उनकी $u
उनके $u
// Prepositions/Postpositions
का $u // kā: of, possessive particle
ी $u // kī
े $u // ke
को $u // ko: to
क $u // tak: until, for(time)
बिना $u $pause // without (preposition)
में me~: $u+ // me: in
से $u // se: from, with, by
// Questions
क्या $u $pause // interrogative particle
// Conjunctions
और $u $brk // aur: and
य j@ $u $pause // ja: or
अगर $u $pause // agar: if
यदि $u $pause // yadi: if, whether
अगरचे $pause // agarce: although, even
पर $pause // par: but, still, yet
मगर $pause // magar: however, unless
// Verbs
हूँ $u // to be
ो $u
ै $u
है $u
था $u // thā: past aux
े $u // the
ी $u // thī
थी $u // thīh
रहा $u // rahā: continuous
रहे $u // rahe
रही $u // rahī
// Exceptions
क्रिकेट kr'IkIt
सायबर s'aIb@r
राष्ट्रपति ra:Stra'pati
प्रघानमंत्री pradha:n'man'tri
कुलपति kul'pati
कुलदेवी kul'devi
भाईचारा bha:i'cha:ra:
महाराज maha:ra:J
महारानी maha:ra:ni
महादेव maha:'dev
रामराज्य़ ra:m:ra:J'Jja
अक्षरमाला ak'shar'ma:la:
प्रजापति praJa:pati
ूँजीपति pu~Ji'pati
ँजीकरऩ pan'Ji'karan
ालनहारा pa:lan'ha:ra:
मूलमंत्र mul'man'tra
झोलझाल Jho'lJha:l
सुखदाता su'kh'da:ta:
नेत्रहीन netr:a'hIn
नेत्रदान net'ra'da:n
गजपति gaJ'pati
य़ुघ्दविराम j:u'dh:'vi'ra:m
महासंग्राम maha:san'gra:m
महापति maha:'pati
पतीदेव pati'dev
सीताराम sIta:ra:m
अंजनीपुत्र anjan'Iput:'ra
महाबलि maha:bali
श्रमदान Sram'da:n
रक्तदान rak'tda:n
ेलगाड़ी rel'ga:rI
बैलगाड़ी bE:el'ga:rI
नौकरशाही nau'kar'Sa:hI
नौकरशाह nau'kar'Sa:h
प्रतिपल pra'ti'pal
हलचल hal'cal
कालचक्र ka:l'cak'ra
हरदम har'dam
नीलकंठ nIl'ka'nt.#
इन्द्रजीत In'dra'JIt
कुलदेवता kUl'de:v'ta:
अत्ममंथन atm'aman'than
थलसेना thal'sena:
वाय़ुसेना wa:u:'sena:
सेनापति sena:pati
वरमाला va'Rma:la:
जय़माला Jaj'ma:la:
भूतप्रेत bhut'pret
भूतकाल bhUt'ka:l
मदीरापान madira:pa:n
रिश्तेनाते ris'te'na:te
ाजमाता Ra:J'ma:ta:
भाग्य़शाली bha:gja'Sa:lI
खुशकिस्मत khUSki'smat
गुरुनानक guru'na:nak
दीपमाला dIp'ma:la:
दीपशिखा dIp'Sikha
बलशाली val'Sa:lI
चन्द्रशेखर can'dra'Sekhar
द्रकान्ता can'dra'ka:nta:
महाभारत maha:bha:rat
महासागर maha:sa:gar
प्राचीनकाल pra:cIn'ka:l
राशीफल ra:Si'fal
परमवीर param'vIr
बुध्दिमति bud'dhi'mati
सुमति suma'ti
मतदान mat'da:n
मतदाता mat'da:ta:
लखनऊ l'Vk#n'@u

+ 133
- 66
dictsource/hi_rules View File

@@ -1,6 +1,6 @@

// This file is UTF8 encoded
// Updated file. up to 20 Jan 2015
// letter groups:
// A vowel letters and vowel signs
// B vowel signs and virama ्
@@ -24,6 +24,15 @@
८ 8
९ 9

// combine nukta-dot consonants into a single character
क़ क़
ख़ ख़
ग़ ग़
ज़ ज़
ड़ ड़
ढ़ ढ़
फ़ फ़
य़ य़

// Vowels

@@ -106,95 +115,115 @@
// Vowel Signs

.group ा
ा a:
ा (ँ a~
ाँ (_ a~
ां a~
ाव aU
ा #X2a:
C) ा a:
C) ा (ँ a~
C) ाँ (_ a~
C) ां a~


.group ि
ि I
// िँ i~
िं i~
ि #X1I
C) ि I
C)// िँ i~
C) िं i~

.group ी
ी i:
ी (_ i
ी (ँ i~
ीँ (_ i~
ीं i~
ी #X2i:
C) ी i:
C) ी (_ i
C) ी (ँ i~
C) ीँ (_ i~
C) ीं i~

.group ु
ु U
ु (ँ u~
ुं u~
ुँ (_ u~
ु #X1U
C) ु U
C) ु (ँ u~
C) ुं u~
C) ुँ (_ u~

.group ू
ू u:
ू (ँ u~
ूं u~ // or O~ ??
ूँ (_ u~
ू #X2u:
C) ू u:
C) ू (ँ u~
C) ूं u~ // or O~ ??
C) ूँ (_ u~

.group ृ
ृ rI
ृ #X1rI
C) ृ rI

.group ॄ
ॄ rI
ॄ #X1rI
C) ॄ rI

.group ॅ
ॅ E
ॅ #X1E
C) ॅ E

.group ॆ
ॆ e
ॆ (ँ e~
ॆं e~
ॆँ (_ e~
ॆ #X1e
C) ॆ e
C) ॆ (ँ e~
C) ॆं e~
C) ॆँ (_ e~

.group े
े e:
े (ँ e~
ें e~:
ेँ (_ e~:
े #X2e:
C) े e:
C) े (ँ e~
C) ें e~:
C) ेँ (_ e~:

.group ै
ै E: // ?? [aI] [E:] [&:]
ैं E~
ै (ँ E~
ैं E~
ैँ (_ E~
?2 ै aI // ?? [aI] [E:] [&:]
ै #X2E:
C) ै E: // ?? [aI] [E:] [&:]
C) ैं E~
C) ै (ँ E~
C) ैं E~
C) ैँ (_ E~
?2 ै #X2aI
?2 C) ै aI // ?? [aI] [E:] [&:]

.group ॉ
ॉ O
ॉ #X1O
C) ॉ O

.group ॊ
ॊ o
ॊ (ँ o~
ॊं o~
ॊँ (_ o~
ॊ #X1o
C) ॊ o
C) ॊ (ँ o~
C) ॊं o~
C) ॊँ (_ o~

.group ो
ो o:
ो (ँ o~
ों o~
ोँ (_ o~
ो #X2o:
C) ो o:
C) ो (ँ o~
C) ों o~
C) ोँ (_ o~

.group ौ
ौ O: // [O:] or [aU] ??
ौ (ँ O~ // [O:] or [aU] ??
ौं O~
ौँ (_ O~
?3 ौ aU // [O:] or [aU] ??
ौ #X2O:
C) ौ O: // [O:] or [aU] ??
C) ौ (ँ O~ // [O:] or [aU] ??
C) ौं O~
C) ौँ (_ O~
?3 ौ #X2aU
?3 C) ौ aU // [O:] or [aU] ??

.group ॢ // vowel sign l
ॢ l-
ॢ #X1l-
C) ॢ l-

.group ॣ // vowel sign ll
ॣ l-:
ॣ #X2l-:
C) ॣ l-:

.group ॐ
ॐ o~m
ॐ o~m


// Consonants

@@ -221,6 +250,9 @@
ग (B g
ग़ QV
ग़ (B Q
//new
ग्ग g:V // GG -> g:
ग्ग (B g:

.group घ
घ g#V
@@ -236,6 +268,15 @@
च (B c
च (्य c:

//New
च्च c:V // cc -> c:
च्च (B c:

//new
च्छ c#:V // c#c# -> c#:
च्छ (B c#:

.group छ
छ c#V
छ (B c#
@@ -245,6 +286,9 @@
ज (B J
ज़ zV
ज़ (B z
//new
ज्ज J:V // JJ -> J:
ज्ज (B J:
ज्ञ gjV
ज्ञ (B gj
@@ -264,8 +308,10 @@
ट t.V
ट (B t.
ट (्य t.:

ट्ट t.:V // t.t. -> t.:
ट्ट (B t.:

ट्ठ t.#:V // t.t.# -> t.#:
ट्ठ (B t.#:

@@ -280,6 +326,13 @@
ड d.V
ड (B d.

ड्ड d.:V // d. d. -> d.:
ड्ड (B d.:

ड्ढ d.#:V // d#d# -> d#:
ड्ढ (B d.#:


ड़ r.V
ड़ (B r.

@@ -301,7 +354,11 @@

त्त t:V // tt -> t:
त्त (B t:
//new
त्थ t#:V // t#:t#: -> t#:
त्थ (B t#:

.group थ
थ t#V
थ (B t#
@@ -310,6 +367,14 @@
द dV
द (B d

//new
द्द d:V // dd -> d:
द्द (B d:

द्ध d#:V // d#d# -> d#:
द्ध (B d#:


.group ध
ध d#V
ध (B d#
@@ -388,12 +453,12 @@
.group व
व vV
व (B v
_) व wV
_) व (B w
_) व (् v // +virma
व (_ w
्) व (_ w@
// 3 _) व wV
// 3 _) व (B w
// 4 _) व (् v // +virma
// 2 व (_ w
// 5 ्) व (_ w@
// 1 deleted
.group श
श SV
श (B S
@@ -451,7 +516,8 @@
ः H // visarga

.group ् // virama
् H@l'Vnt
C) ्

// Extra consonants

@@ -494,12 +560,13 @@
ॡ l-: // long syllabic l



// If we find a Latin letter a-z, then translate as English
// (This is now done automatically by the eSpeak program)

.group o
o _^_EN
D__) of (__D    me
D__) of (__D me




+ 2
- 4
dictsource/hu_list View File

@@ -233,7 +233,6 @@ _#-ikának a:nAk
(0-ába) nul:a:bA
(0-áson) nul:a:Son
(0-tól) nul:a:to:l
(00-tól) nul:Anul:a:to:l
(0-n) nul:a:n
(00-n) nul:Anul:a:n
(0-ról) nul:a:R2o:l
@@ -3705,7 +3704,7 @@ programjának $unstressend
órától $unstressend
elnöke $unstressend
vezeti $unstressend
(a hagyományt) A'_||hAJomA:n^t $unstressend
(a hagyományt) A'_||hAJoma:n^t $unstressend
(azt a hagyományt) Ast'_||A_||hAJoma:n^t $unstressend
megsegítésére $unstressend
(helyezett ki) hEjEzEt:_||ki $unstressend
@@ -4921,7 +4920,7 @@ reméljük $unstressend
törvényeken $unstressend
kötelezettségeket $unstressend
(is beszélt) iS_||bEse:lt $unstressend
(is történt) iS_||tYrte:nt $unstressend
(is történt) iS_||tYR2te:nt $unstressend
nyilatkoztak $unstressend
(a kutatókat) A'||kutAto:kAt $unstressend
gyanúsítanak $unstressend
@@ -5508,4 +5507,3 @@ egyezség eggyesség
(ORTT-től) oerrtététől //special exceptio
(kilogramm) kilogram
mszmp emeszempé


+ 1
- 1
dictsource/id_rules View File

@@ -104,7 +104,7 @@
sj C

_) se (@@ s@
@) s (_S1 s

.group t
t t

+ 952
- 220
dictsource/it_list
File diff suppressed because it is too large
View File


+ 452
- 223
dictsource/it_listx
File diff suppressed because it is too large
View File


+ 109
- 62
dictsource/it_rules View File

@@ -1,6 +1,7 @@

// Italian translation rules
// This file is UTF-8 encoded
// Last update: 2014 July 30 by Chris <[email protected]>
// Last update: 2015 march 20 by Chris <[email protected]>
// letter groups
// A any vowel
// C any consonant
@@ -13,6 +14,7 @@
.L04 mi ti gli lo la le si ci vi li ne melo telo selo celo velo mela tela sela cela vela meli teli seli celi veli mele tele sele cele vele mene tene sene cene vene glielo gliela glieli gliele gliene
.L05 melo telo selo celo velo mela tela sela cela vela meli teli seli celi veli mele tele sele cele vele mene tene sene cene vene glielo gliela glieli gliele gliene mi ci gli ne
.L06 gli mi vi si
.L07 mi gli lo la le si ci li ne melo selo celo velo mela sela cela vela meli seli celi veli mele sele cele vele mene sene cene vene glielo gliela glieli gliele gliene
// Hours and minutes
.L16 0 1 2 3 4 5 6 7 8 9 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
.L17 0 1 2 3 4 5
@@ -22,8 +24,7 @@
a a
ai (_ 'aj
ai (C aI
ao (_N aU
au a%u
au a|%U
@C) a (_S1q a // lookup it_list without suffix
@i) a (_S1q a // lookup it_list without suffix
C) a (cY_ 'a
@@ -40,16 +41,16 @@
_) all' (P4t all
_) anch' (P5t ank
@) amo (L04_ 'amo // Pron.s verbs
@) ander (L04_ 'andE@-* // Pron.s verbs
ate (L04_ 'ate
Ci) amo (L04_ 'amo
@) ander (L04_ 'andE@-*
ate (L04_+ 'ate
_L04Z) auguri (_ 'awguRI
astano (_ 'a:sta/no // verbs

.group à
à ''a
ài (K ''aI
ào (_N ''aU
àu ''a%u
àu ''a|%U

.group b
b b
@@ -73,15 +74,19 @@
ci (A tS
cci (A tS:
@) co (lA_ =ko
cardia (_ ka@-*d'ia
cardie (_ ka@-*d'ie
_) c' (P2t tS
@@A) ce (A_ =tSE
ciano (_ =tSano // verbs
cciano (_ =tS:ano // verbs
cciano (_ =tS:ano
chiano (_ =kiano
A) cchiano (_ =k:iano // verbs
A) cchiano (_ =k:iano
ceder (L04_ tS'Ede@-* // Pron.s verbs
cceder (L04_ tS:'Ede@-*
in) cer (L04_ =tSe@-*
cuocer (L04_ kU'OtSe@-*
compra (L07_ k'omp@-*a
_L04Z) capit (A_ k'a:p,it
_L04Z) capit (ano_ k'a:p,it
correr (L04_ k'o:R*eR
@@ -95,8 +100,9 @@
_) dell' (P5t dell
_) d' (P2t d
donat (Y_ don'at
dona (L04_ d'ona // Pron.s verbs
dona (L07_ d'ona // Pron.s verbs
ci) der (L04_ =dE@-*
divi) der (L04_ =de@-*
chAA) der (L04_ =de@-*
re) der (L04_ =de@-*
@) dinano (_ =dina/no // verbs
@@ -107,12 +113,18 @@

.group e
e e
ei (K Ej
r) ei (_ 'ei
ei (d Ej
ei (c Ej
ei (colA_ ei
r) ei (_ 'Ei
@d) ei (_ 'eI
@t) ei (_ 'eI
@) ey (_ =eI
@C) e (_S1q e // lookup it_list without suffix
e (C_ E
e (A E
e (C%A_ E // doubled consonant
e (C%A_ E
_d) e (llA_ e
e (CiCA_ E
e (CulA_ E
e (llu E
@@ -121,16 +133,11 @@
c) e (ttA_ E
e (tti@ E
e (zzA_ e

e (r E
e (rsi_N e
A) e (r_ 'E

_r) e E

// @) e (ce_ =e
A) e (r_ 'E
_r) e E
@) e (ci_ =e

e (l E
r) e (m E
e (monA_ 'e
@@ -145,7 +152,8 @@
gg) e (ri_ E
f) e (rm e
@) e (rrimo_ 'E
@) e (simA_ 'e
an) e (simA_ 'e:
@) e (simA_ 'E
h) e (ss e
m) e (ss e
_sC) e (ss e
@@ -184,7 +192,7 @@
gg g:
gh g
g (Y dZ
gi (A dZ // any vowel, or L01 ?
gi (A dZ
gi (a_ dZ'i# // [i] only if stressed
gì (a_ dZ'i# // [i] only if stressed
al) gie (_ dZ'iE
@@ -196,10 +204,11 @@
lo) gi (e_ dZ'i#
n) gi (a_ dZ
gg (Y dZ:
ggi (A dZ: // or L01 ?
ggi (A dZ:
@) gger (L04_ =dZ:e@-* // Pron.s verbs
AC) ger (L04_ =dZe@-*
_) giura (L04_ dZ'URa
_) giura (L07_ dZ'URa
godi (L04_ g'Odi
gl (i l^
gl (ì l^
gli (A l^
@@ -211,14 +220,15 @@
a) gn (A_ n^:
gu (A gw
guono (_ =gw2ono / verbs
o) gnano (_ =n^ano // verbs
o) gnano (_ =n^ano
A) gnano (_ n^'ano // exceptions
@) ginano(_ =dZinano // verbs
gano (_ =gano // verbs
gano (_ =gano
ggano (_ =g:a/no
giono (_ dZ'Ono // verbs
n) guere (_ =gweRe // verbs
giono (_ dZ'Ono
n) guere (_ =gweRe
@) graf (A_ =g@-*af
guai (scA_ gw2a'i:

.group h
h
@@ -228,6 +238,8 @@
.group i
i i
i (A j
zz) ia (@ ia
@) ii (_ 'I:j
l) i (A %i
r) i (A %i
_C) ie (_ 'ie
@@ -241,6 +253,7 @@
af) ie (_ 'ie
fon) ia (_ 'ia
scop) ia (_ 'ia
scop) ie (_ 'ie
er) ia (_ 'ia
er) ie (_ 'ie
gor) ia (_ 'ia
@@ -251,7 +264,6 @@
@) io (_S1q =i%o
a) i (+ j
à) i (+ j
L02) i (+ j
o) i (+ j
@C) i (_S1q i // lookup it_list without suffix
@) i (Ante_ i
@@ -288,7 +300,7 @@
Cm) in (Y_ =in
im) in (Y_ =in
@) issim (A_ 'issim
@) issero(_S6q 'issero
@) issero(_S6q 'isse*o
ip) i (te_ =i
C) iad (Y_ 'iad
@) iono (_ =iono
@@ -322,18 +334,22 @@
@A) lo (ghY_ =lo
_) l' (P2t l
lasciati (_ l,a/S'atI
lascia (L04_ l'aSa
lascia (L07_ l'aSa
leggi (L04_ l'EdZ:I

.group m
m m
mm m:
A) mi (a_ m'i
A) mi (a_ m'i
A) mi (e_ m'i
A) mila (_ m'ila/
_) m' (P2t m
_) mezz' (P5t mEdz:
metter (L04_ m'ette@-* // Pron.s Verbs
manda (L05_ m'anda
mostra (L07_ m'Ost@-*a
assu) mer (L04_ =me@-*
_a) ma (L07_ =ma
mbano (_ =mbano // verbs
@) minano(_ =mina/no // verbs

@@ -342,9 +358,11 @@
n (g N
n (gY n
n (k N
Ama) nia (_ n'i:a
Ama) nie (_ n'i:e
_) nell' (P5t nell
_) neanch' (P7t neank
ndo (L04_ =ndo // for pronominal verbs
ndo (L04_ =ndo // Pronominal verbs
netter (L04_ n'Et:e@-*
_zA) nz (A n|dz
A) ne (A_ =nE
@@ -358,7 +376,7 @@

o (C%A_ O // doubled consonant
o (CACA_ O
o (Cr O
o (CrA O
o (CC_ O
@C) o (_S1q o // lookup it_list without suffix
@i) o (_S1q o // lookup it_list without suffix
@@ -420,15 +438,16 @@
o (ttol O
o (zA O
l) oqui (A Okwj
osano (_ 'ozano
C) orda (L05_ 'O@-*da // pron. verbs
C) onder (L04_ 'ondE@-*
over (L04_ 'ovE@-*
d) over (L04_ Ov'E@-*
m) order (L04_ 'O:@-*de@-*
ovano (_ 'ovano // verbs
o (CCano_ 'O // verbs
o (CCicano_ 'O //verbs
ogliere (_ 'Ol^eRe // verbs
C) orda (L05_ 'O@-*da // pron. verbs
osano (_ 'ozano
o (CCano_ 'O
o (CCicano_ 'O
ogliere (_ 'Ol^eRe
@) ordin (A_ 'o@-*din

.group p
@@ -438,7 +457,10 @@
@m) p (erY_ =p
porta (L05_ p'O@-*ta // Pron.s verbs
pie (gaL05_ pI'e
prendi (L04_ p@-*'E:ndi
pie (galA_ pI'e
tera) pi (A_ p'i
tro) pi (A_ p'i

.group q
q k
@@ -459,6 +481,7 @@
A) r (à_ *
A) r (ò_ *
@) r (L04_ =@-* // for Italian pronominal verbs and reflexive verbs
_) rega (laL07_ @-*eg'a
C) rai (_ @-*'a:I
A) rai (_ R'a:I
rrai (_ R*'a:I
@@ -467,12 +490,11 @@

.group s
s s
_) s s
A) s (A z
s (L03 z
l) s s
p) s s
k) s s
p) s s
k) s s
s (c s
s (f s
s (k s
@@ -488,13 +510,14 @@
sci (ì S%i
sch (Y sk
sh (K S // foreign words
K) sh S // foreign words
K) sh S
A) sh (A S
@A) sia (_ z'ia
@A) sie (_ z'ie
@C) sia (_ s'ia
@C) sie (_ s'ie
@) s (_S1 s
_) s' (P2t s
_) sull' (P5t sull
_) sant' (P5t sant
_sotto) s (A _||s
@@ -502,6 +525,9 @@
@) scer (L04_ =SE@-* // pron.s verbs
A) sci (L05_ =SI
scrivi (L04_ sk@-*'i:vI
salu (taL04_ sal'U
spegner (L04_ sp'en^e@-*
re) sister (L04_ z'i:ste@-*
A) scano (_ =skano // verbs
sciano (_ =Sano
A) schiano (_ =skiano
@@ -522,6 +548,8 @@
@ma) to (L06_ t'O
@a) to (L06_ =to
intima) to (L04_ =to
ba) tter (L04_ =t:e@-*
tratta (L07 t@-*'at:a
a) ta (si_ =ta
_) tutt' (P5t tut:

@@ -535,7 +563,7 @@
@) u (A_ =u
A%C) u (A_ =u
ural (Y_ uR'al
C) ura (L04_ 'uRa // Pron.s verbs
C) ura (L07_ 'uRa // Pron.s verbs
uder (L04_ 'udE@-*
uter (L04_ 'ute@-*
uvano (_ 'uvano // verbs
@@ -552,6 +580,9 @@
C) vi (A_ =vI
A) vino (_ =vino // verbs
@) vo (cano_ =vo
in) via (toL04_ vI'a
in) via (L07_ v'ia
_a) vvisa (L07_ v:'iza

.group w
w w2
@@ -565,34 +596,53 @@

.group z
z ts
A) zz (A ts:
A) zz (A ts:
_A) z (AC dz
_) z (AC dz
_) z (A dz
_) z (Y dz
z (L01A dz
z (oA dz
_A) zz (A |dz:
CA) zz (arC dz:
@li) zz (A dz:
@@Ci) zz (o dz:
_Cri) zz (o ts:
_CCri) zz (o ts:
_bri) zz (A ts:
diri) zz ts:
_indiri) zzar (L04_ ts:'a@-*
dri) zz (A ts:
fri) zz (A ts:
_ri) zz (A ts:
_pi) zz (A ts:
atti) zz (A ts:
schi) zz (A ts:
_spri) zz (A ts:
stri) zz (A ts:
_sti) zz (A ts:
appre) zza (rL04_ ts:a
care) zz (A ts:
appre) zza (L07_ =tsa
Ci) zz (A dz:
_mar) z (A ts
par) z (A ts
quar) z (A ts
sfar) z (A ts
ar) z (A dz
bron) z (A dz
@) zz (ano_ =ts:
i) zza (no_ =dz:a
@@) zza (L04_ =dz:a
@@) zza (L07_ =dz:a
@i) zza (ti_ dz:'a
@i) zz (are_ dz:
dri) zz (are_ ts:
@i) zz (are_ |dz|:
zion (A_ tsi'on
ziona (ti_ tsiOn'a
zional (Y_ tsion'al
ziona (L04_ tsi'Ona
ziona (L07_ tsi'Ona
organi) zzia (moL07_ dz:i'a:
cra) zia (_ ts'i;a/
cra) zie (_ ts'I;e/
man) z (A dz
man) zia (_ ts'i;a
man) zie (_ ts'i;e
me) zz dz:


.group 0xce // Greek letters
// 0xce is the first byte of the utf-8 code for these characters

@@ -640,8 +690,9 @@ _L16_) : (_L17D_ _%%E_ // Say time

á ''a
é ''e
è E
@) è ''E
_) è (_ ,E:
A) è ''E
C) è ''E
èi (K ''Ej
éi (K ''eI
ì ''i
@@ -655,11 +706,7 @@ _L16_) : (_L17D_ _%%E_ // Say time

$ d'ollaRo
D) , (D v'i@-*gola
! _p'untoesklamat'ivo_
!) !
? _p'untointeRogat'ivo_
?) ?
__) - (_D meno
A_) - (_D _
C_) - (_D _
§ setsi'one
§ pa*'ag@-*afO

+ 40
- 40
dictsource/kn_list View File

@@ -1,4 +1,4 @@

// This file is UTF8 encoded
// Spelling to phoneme words and exceptions for Kannada
@@ -38,49 +38,49 @@ _?? aks.ara // 'unknown character'
// letter names
ಕ್ ik
ಖ್ ik#
ಗ್ ig
ಘ್ ig#
ಙ್ iN
ಚ್ ic
ಛ್ ic#
ಜ್ iJ
ಝ್ iJ#
ಞ್ in^
ಟ್ it.
ಠ್ it.#
ಡ್ id.
ಢ್ id.#
ಣ್ in.
ತ್ it
ಥ್ it#
ದ್ id
ಧ್ id#
ನ್ in
ಪ್ ip
ಫ್ ip#
ಬ್ ib
ಭ್ ib#
ಮ್ im
ಯ್ ij
ರ್ ir
ಱ್ ir
ಲ್ il
ಳ್ il.
ವ್ iv
ಶ್ iS;
ಷ್ is.
ಸ್ is
ಹ್ ih
ೞ್ if
ಕ್ ka
ಖ್ k#a
ಗ್ ga
ಘ್ g#a
ಙ್ Na
ಚ್ ca
ಛ್ c#a
ಜ್ Ja
ಝ್ J#a
ಞ್ n^a
ಟ್ t.a
ಠ್ t.#a
ಡ್ d.a
ಢ್ d.#a
ಣ್ n.a
ತ್ ta
ಥ್ t#a
ದ್ da
ಧ್ d#a
ನ್ na
ಪ್ pa
ಫ್ p#a
ಬ್ ba
ಭ್ b#a
ಮ್ ma
ಯ್ ja
ರ್ ra
ಱ್ ra
ಲ್ la
ಳ್ l.a
ವ್ va
ಶ್ S;a
ಷ್ s.a
ಸ್ sa
ಹ್ ha
ೞ್ fa
U+c82 am
U+c83 ah
U+cbc nukta
U+cbd avagraha
U+ccd vattu
ಫ಼್ if
ಜ಼್ iz
ಫ಼್ fa
ಜ಼್ za
// combining vowels, precede by a click so they can be distinguished from stand-alone vowels
@@ -248,7 +248,7 @@ _dpt _d'as.a:ms.a
// abbreviations
(http ://) e:tSti:ti:'pi:_
pvt praIvat
pvt praIve::t.
// English words

+ 206
- 0
dictsource/mni_list View File

@@ -0,0 +1,206 @@

// Translation rules for Manipuri
// This file is UTF8 encoded

// Numbers
// numbers are changed to latin characters before translation
_0 sino // or p#'un'b'O ??
_1 ama:
_2 ani
_3 ahu'm
_4 mari
_5 ma'Nga:
_6 tar'uk
_7 tar'et
_8 nipa:n
_9 ma:pa:n

_10 ta'ra:
_11 tara:m'thOi
_12 tara:ni'thOi
_13 tara:h'um'dOi
_14 tara:ma'ri
_15 tara:ma'Nga:
_16 tara:ta:ruk
_17 tara:tar'et
_18 tara:nipa:n
_19 tara:mapa:n

_20 kun.
_21 kunma:thOi
_22 kuni'thOi
_23 kun.hum'dOi
_24 kun'ma:ri
_25 kun'maNg'a:
_26 kun'ta:ruk
_27 kun'tar'et
_28 kun'nipa:n
_29 kun'mapa:n

_30 kun't#'ra:
_31 kun't#'ra:m'thOi
_32 kun't#'ra:ni'thOi
_33 kun't#'ra:um'dOi
_34 kun't#'ra:ma:ri
_35 kun't#'ra:maNg'a:
_36 kun't#'ra:ta:ruk
_37 kun't#'ra:tar'et
_38 kun't#'ra:nipa:n
_39 kun't#'ra:mapa:n

_40 nifu
_41 nifuma:t#Oi
_42 nifu'nit#Oi
_43 nifum'dOi
_44 nifu'ma:ri
_45 nifu'maNg'a:
_46 nifu'ta:ruk
_47 nifu'tar'et
_48 nifu'nipa:n
_49 nifu'mapa:n

_50 j@Ngk#@i
_51 j@Ngk#@i'ma:t#Oi
_52 j@NgkhO'i'ni't#Oi
_53 j@NgkhO'i'hum'dOi
_54 j@NgkhO'ima:ri
_55 j@NgkhO'imaNg'a:
_56 j@NgkhO'ita:ruk
_57 j@NgkhO'itar'et
_58 j@NgkhO'ini'pa:n
_59 j@NgkhO'ima'pa:n

_60 hum'fu
_61 hum'fu'ma:t#Oi
_62 hum'fu'ni't#Oi
_63 hum'fu'hum'dOi
_64 hum'fu'ma:ri
_65 hum'fu'maNg'a:
_66 hum'fu'ta:ruk
_67 hum'fu'tar'et
_68 hum'fu'ni'pa:n
_69 hum'fu'ma'pa:n

_70 hum'dra:
_71 hum'dra:ma:t#Oi
_72 hum'dra:ni't#Oi
_73 hum'dra:hum'dOi
_74 hum'dra:ma:ri
_75 hum'dra:maNg'a:
_76 hum'dra:ta:ruk
_77 hum'dra:tar'et
_78 hum'dra:ni'pa:n
_79 hum'dra:ma'pa:n


_80 ma:ri'fu
_81 ma:ri'fu'ma:t#Oi
_82 ma:ri'fu'ni't#Oi
_83 ma:ri'fu'hum'dOi
_84 ma:ri'fu'ma:ri
_85 ma:ri'fu'maNg'a:
_86 ma:ri'fu'ta:ruk
_87 ma:ri'fu'tar'et
_88 ma:ri'fu'nipa:n
_89 ma:ri'fu'mapa:n

_90 mO'ud'ra:
_91 mO'ud'ra:ma:t#Oi
_92 mO'ud'ra:ni't#Oi
_93 mO'ud'ra:hum'dOi
_94 mO'ud'ra:ma:ri
_95 mO'ud'ra:maNg'a:
_96 mO'ud'ra:ta:ruk
_97 mO'ud'ra:tar'et
_98 mO'ud'ra:ni'pa:n
_99 mO'ud'ra:mapa:n

_100 c#@m'ma:
_0M1 l'isiN


_dpt _ d'Osomik_


// Single consonants
ক kO
খ k#@
গ gO
ঘ g#@
ঙ 'uNgO~
চ tSO
ছ tShO // [h] to distinguish from [tS]
জ JO
ঝ J#@
ঞ 'iNO~
ট t@
ঠ t#@
ড d@
ঢ d#@
ণ m,odd#en.n.'O
ত tO
থ t#@
দ do
ধ d#o
ন d,ontenn'@
প pO
ফ fo // or [p#O] ?
ব bO
ভ b#o
ম mo
য় @j
য ,ontostedZ'O
র ro
ড় r.o
ড় r.O // (d. + nukta)
ঢ় hr.O
ঢ় hr.O // (d#. + nukta)
ল lO
শ t,aleboS:'O
ষ m,ud#en:oS:'O
স d,onteS:'O
হ hO
ৎ khOndot'O


// full vowels
অ O
আ a
ই hrOS:o'i
ঈ d'i:rg#o'i
উ hrOS:o'u
ঊ d'i:rg#o'u
_এ e
_ঐ oj
_ও o
_ঔ ow



// combining vowel signs
া 'akar
ি hrOS:o'ikar
ী d'i:rg#ikar
ূ hrOS:o'ukar
ু d'i:rg#ukar
ৃ r'ikar
ে 'ekar
ৈ 'ojkar
ো 'okar
ৌ 'owkar

// signs
ং 'OnuSSOr
ঃ b'iSOrgo // sparingly used
ঁ tS'Ondrobindu // sparingly used


// Punctuation

_, koma
_? ahONg'ba:khudam
_! Ng'kapa:khudam



+ 231
- 0
dictsource/mr_list View File

@@ -0,0 +1,231 @@
// This mr_list file is prepared by Maheshinder Singh Khosla< [email protected] >.
// This file is UTF8 encoded

// Numbers
// devanagari/Marathi numbers are changed to latin characters before translation
_0 S'u:nj@-
_1 'e:k
_2 d'o:n
_3 t'i:n
_4 c'a:r
_5 p'a:c
_6 s'VHa:
_7 s'a:t
_8 'a:t.#
_9 n'Vu
?3 _9 n'aU

_10 d'VHa:
_11 'Vkra:
_12 b'a:ra:
_13 t'e:*a:
_14 c'O:da:
_15 p'Vnd#@*,a:
_16 s'o:l.a:
_17 s'Vtr,a:
_18 'Vt.#r,a:
_19 ,e:ko:n.'i:s

_20 w'i:s
_21 ,e:kv'i:s
_22 baU'i:s
_23 te:v'i:s
_24 co:v'i:s
_25 p,@n^c@v'i:s
_26 s@vv'i:s
_27 s,@t:aU'i:s
_28 ,Vt.#:aU'i:s
_29 ,e:ko:n.t'i:s
_30 t'i:s

_31 ,e:kt'i:s
_32 b@t:'i:s
_33 t,e:He:t'i:s// E~ ?
_34 cO:t'i:s
_35 p@st'i:s
_36 c#@3t:'i:s
_37 s,@dt'i:s
_38 ,Vd.t'i:s
_39 ,e:ko:n.ca:l.'i:s

_40 ca:l.'i:s
_41 'e:k:e:c,a:l.is
_42 b,e:ca:l.'i:s
_43 tr,e:ca:l.'i:s
_44 c,@vve:ca:l.'i:s
_45 p,@n^ce:ca:l.'i:s
_46 s,e:He:ca:l.'i:s
_47 s,@t:e:ca:l.'i:s
_48 ,Vt.#:e:ca:l.'i:s
_49 ,e:ko:n.,@pnn'a:s

_50 p@nn'a:s
_51 e:k:'aUnn@-
_52 b'aUnn@-
_53 tre:p'Vnn@-
_54 co:p'Vnn@-
_55 p@n^c'aUnn@-
_56 c#@3p:'Vnn@-
_57 s@t:'aUnn@-
_58 Vt.#:'aUnn@-
_59 ,e:ko:n.s'a:t.#

_60 s'a:t.#
_61 ,e:ks'Vs.t.#
_62 ba:s'Vs.t.#
_63 tre:s'Vs.t.#
_64 cO:s'Vs.t.#
_65 pa:s'Vs.t.#
_66 s,@Ha:s'Vs.t.#
_67 s,@dUs'Vs.t.#
_68 ,Vd.Us'Vs.t.#
_69 ,e:ko:n.@s'Vt:@r

_70 s'Vt:@r
_71 'e:k:a:H,@t:@r
_72 ba:H'Vt:@r
_73 trja:H'Vt:@r
_74 c'O:rja:H,@t:@r
_75 p,@n^c:ja:H'Vt:@r
_76 S@H'a:t:@r
_77 s,@t:ja:H'Vt:@r
_78 ,Vt.#:ja:H'Vt:@r
_79 ,e:ko:n.'E~Si

_80 'E~Si
_81 'e:k:ja:,E~Si
_82 bja:'E~Si
_83 trja:'E~Si
_84 c'O:rja:,E~Si
_85 p,@n^c:ja:'E~Si
_86 S,@Ha:'E~Si
_87 s,@t:ja:'E~Si
_88 ,Vt.#:ja:'E~Si
_89 ,e:ko:n.@n'Vvv@d

_90 n'Vvv@d
_91 e:k:j'a:n.n.@w
_92 bj'a:n.n.@w
_93 trj'a:n.n.@w
_94 cO:rj'a:n.n.@w
_95 p@n^c:j'a:n.n.@w
_96 S@H'a:n.n.@w
_97 s@t:j'a:n.n.@w
_98 Vt.#:j'a:n.n.@w
_99 n@vvj'a:n.n.@w

_0C S'e:
_0M1 H@z'a:r
_0M2 l'a:k#
_0M3 k@r'o:r.V
_0M4 'VrVb
_0M5 k#'VrVb
_dpt _d@s@ml'o:_

// Single consonants
क k@
क़ q@
ख k#@
ख़ x@
ग g@
ग़ Q@
घ g#@
ङ N@
च c@
छ c#@
ज J@
ज़ z@
झ J#@
ञ n^@
ट t.@
ठ t.#@
ड d.@
ड़ r.@
ढ d.#@
ण n.@ // retroflex n.@
त t@
थ t#@
द d@
ध d#@
न n@
प p@
फ p#@
फ़ f@
ब b@
भ b#@
म m@
य j@
र r@
ऱ r@
ल l@
ळ l.@
व v@
श S@
ष s.@ // retroflex [S]
स s@
ह H@
क़ q@
ख़ x@
ग़ Q@
ज़ z@
ड़ r-@
ढ़ hr@
फ़ f@
य़ j@

// combining vowel signs
//ा #X2a:
//ि #X1I
//ी #X2i:
//ु #X1U
//ू #X2u:
//ृ #X1rI
//ॄ #X1rI
//ॅ #X1E
//ॆ #X1e
//े #X2e:
//ै #X2E:
//?2 ै #X2aI
//ॉ #X1O
//ॊ #X1o
//ो #X2o:
//ौ #X2O:
//?3 ौ #X2aU
//ॢ #X1l-
//ॣ #X2l-:
////ॐ #X1o~m

U+901 cVndrVbIndu
U+902 VnUswa:r
U+903 wIsVrg@
U+93c nUkta
U+94d hVlVnt

_?? Vks.@r

// Alphabet names
_ar 'Vrbi
_cyr sIrIk'Ik
_zh c'i@ni

// Punctuation
// । dVn.d.V

$ dOlVr
% pVt'ISVt
+ plVs
= bVr'a:bVr
* ta:r'a:NkVn
/ sle:S
_, 'Vlp@||wir,a:m
। p'u:rn.@||wIr,a:m
_; 'Vrd#@-||wIr,a:m
_: brIHVd'a:ntr@-
_? prVSVnv'a:cVk
! wIsmVja:dIv'a:cVk
_— nIrd'e:SVk
_- j'o:JVk
_" 'Udd#VrVn.

// Exceptions
100 S'Vmb@r

+ 541
- 0
dictsource/mr_rules View File

@@ -0,0 +1,541 @@
// Marathi Language.
// This mr_rules file is prepared by Maheshinder Singh Khosla< [email protected] >.

// This file is UTF8 encoded

// letter groups:
// A vowel letters and vowel signs
// B vowel signs and virama ्
// C consonants
// Y vowel letters and vowel signs

// conditional rules
// ?2 use diphthong for "ai"
// ?3 use diphthong for "au"


.replace
० 0
१ 1
२ 2
३ 3
४ 4
५ 5
६ 6
७ 7
८ 8
९ 9

// combine dot consonants into a single character
क़ क़
ख़ ख़
ग़ ग़
ज़ ज़
ड़ ड़
ढ़ ढ़
फ़ फ़
य़ य़

// Vowels

.group अ
अ V
अ (ह E // (h
अह) अ E

.group आ
आ a:
आं a~

.group इ
इ I
// इँ i~
इं i~

.group ई
ई i:
ई (_ i

.group उ
उ U

.group ऊ
ऊ u
ऊं u~ // + anusvara
ऊँ (_ u~ // + candrabinbu

.group ऋ
ऋ rI

.group ऌ
ऌ l- // vocalic l

.group ऍ
ऍ E // candra e

.group ऎ
ऎ e
ऎं e~
ऎँ (_ e~

.group ए
ए e:
एँ e~:
एं e~:
ा) एँ (_ j

.group ऐ
ऐ aI // ?? [aI] [E:] [&:]
ऐं aI~
ऐँ (_ aI~



.group ऑ
ऑ O // candra O

.group ऒ
ऒ o
ऒं o~
ऒँ (_ o~

.group ओ
ओ o:
ओं o~ // +anusvara
ओँ (_ o~ // +candrabindu
ा) ओं (_ w // +anusvara
ा) ओँ (_ w

.group औ
औ aU // ?? [aU] [O:]
औं aU~ // +anusvara
औँ (_ aU~ // +candrabindu



// Vowel Signs

.group ा
ा #X2a:
C) ा a:
C) ा (ँ a~
C) ाँ (_ a~
C) ां a~


.group ि
ि #X1I
C) ि I
C)// िँ i~
C) िं i~

.group ी
ी #X2i:
C) ी i:
C) ी (_ i
C) ी (ँ i~
C) ीँ (_ i~
C) ीं i~

.group ु
ु #X1U
C) ु U
C) ु (ँ u~
C) ुं u~
C) ुँ (_ u~

.group ू
ू #X2u:
C) ू u:
C) ू (ँ u~
C) ूं u~ // or O~ ??
C) ूँ (_ u~

.group ृ
ृ #X1rI
C) ृ rI

.group ॄ
ॄ #X1rI
C) ॄ rI

.group ॅ
ॅ #X1E
C) ॅ E

.group ॆ
ॆ #X1e
C) ॆ e
C) ॆ (ँ e~
C) ॆं e~
C) ॆँ (_ e~

.group े
े #X2e:
C) े e:
C) े (ँ e~
C) ें e~:
C) ेँ (_ e~:

.group ै
ै #X2aI
C) ै aI // ?? [aI] [E:] [&:]
C) ैं aI~
C) ै (ँ aI~
C) ैं aI~
C) ैँ (_ aI~

.group ॉ
ॉ #X1O
C) ॉ O

.group ॊ
ॊ #X1o
C) ॊ o
C) ॊ (ँ o~
C) ॊं o~
C) ॊँ (_ o~

.group ो
ो #X2o:
C) ो o:
C) ो (ँ o~
C) ों o~
C) ोँ (_ o~

.group ौ
ौ #X2aU
C) ौ aU // [O:] or [aU] ??
C) ौ (ँ aU~ // [O:] or [aU] ??
C) ौं aU~
C) ौँ (_ aU~

.group ॢ // vowel sign l
ॢ #X1l-
C) ॢ l-

.group ॣ // vowel sign ll
ॣ #X2l-:
C) ॣ l-:

.group ॐ
ॐ o~m



// Consonants

.group क
क kV
क (B k
क (्य k:
क़ qV
क़ (B q

क्क k:V // kk -> k:
क्क (B k:
क्ष kSV
क्ष (B kS
.group ख
ख k#V
ख (B k#
ख़ xV
ख़ (B x

.group ग
ग gV
ग (B g
ग़ QV
ग़ (B Q

.group घ
घ g#V
घ (B g#

.group ङ
ङ NV
ङ (B N
्) ङ (_ N@

.group च
च cV
च (B c
च (्य c:

.group छ
छ c#V
छ (B c#

.group ज
ज JV
ज (B J
ज़ zV
ज़ (B z
// ज्ञ gjV
// ज्ञ (B gj


ज्ञ gn.V
ज्ञ (B gn.



.group झ
झ J#V
झ (B J#


.group ञ
ञ n^V
ञ (B n^
्) ञ (_ n^@


.group ट
ट t.V
ट (B t.
ट (्य t.:
ट्ट t.:V // t.t. -> t.:
ट्ट (B t.:
ट्ठ t.#:V // t.t.# -> t.#:
ट्ठ (B t.#:

.group ठ
ठ t.#V
ठ (B t.#
ठ्ठ t.#:V // t.#t.# -> t.#:
ठ्ठ (B t.#:
.group ड
ड d.V
ड (B d.

ड़ r.V
ड़ (B r.

.group ढ
ढ d.#V
ढ (B d.#
ढ़ r.hV // nukta (should retroflex flap)
ढ़ (B r.h // nukta

.group ण
ण n.V
ण (B n.
्) ण (_ n.@

.group त
त tV
त (B t
त (्य t:

त्त t:V // tt -> t:
त्त (B t:
.group थ
थ t#V
थ (B t#

.group द
द dV
द (B d

.group ध
ध d#V
ध (B d#

.group न
न nV
न (B n
्) न (_ n@
र्) न (_ n // r +virama


.group ऩ
ऩ n: // should this be a long [n] ?

.group प
प pV
प (B p
प (्य p:
प्प p:V // pp -> p:
प्प (B p:

.group फ
फ p#V
फ (B p#
फ़ fV
फ़ (B f

.group ब
ब bV
ब (B b

.group भ
भ b#V
भ (B b#

.group म
म mV
म (B m
्) म (_ m@
र्) म (_ m // r +virama
न्) म (_ m // n +virama

.group य
य jV
य (B j
C) य (_ Ej // [Ej] not [@j]
्) य (_ j@

.group र
र rV
र (B r
र (_ r
्) र (_ r@

.group ऱ // rra
ऱ rV // (temporary) same as [r] should this be [r.] or perhaps [z.] ?
ऱ (B r
्) ऱ (_ r@

.group ल
ल lV
ल (B l
्) ल (_ l@

.group ळ
ळ l.V
ळ (B l.
्) ळ (_ l.@

.group ऴ
ऴ l.V // (temporary) same as [l.]
ऴ (B l.
्) ऴ (_ l.@

.group व
व vV
व (B v
// _) व wV
// _) व (B w
// _) व (् v // +virma
// व (_ w
// ्) व (_ w@

.group श
श SV
श (B S

.group ष
ष s.V
ष (B s.

.group स
स sV
स (B s

.group ह
ह HV
ह (B H


// nukta, modifies a consonant

.group ऽ // avagraha, lengthens a vowel ??
ऽ :

.group ँ
ँ n // candrabindu

.group ं
ं n // anusvara
ं (प m
ं (फ m
ं (ब m
ं (भ m
ं (म m

ं (ट n.
ं (ठ n.
ं (ड n.
ं (ढ n.
ं (ण n.

ं (च n^
ं (छ n^
ं (ज n^
ं (झ n^
ं (ञ n^
ं (य n^

ं (क N
ं (ख N
ं (ग N
ं (घ N
ं (ङ N

.group ः
ः H // visarga

.group ् // virama
् H@l'Vnt
//C) ्

// Extra consonants

.group क़ // qa
क़ qV
क़ (B q

.group ख़ // khha
ख़ xV
ख़ (B x

.group ग़ // ghha
ग़ QV
ग़ (B Q

.group ज़ // za
ज़ zV
ज़ (B z

.group ड़ // dddha (should retroflex flap ?)
ड़ r.V
ड़ (B r.

.group ढ़ // rha (aspirated version of dddha)
ढ़ r.hV
ढ़ (B r.h

.group फ़ // fa
फ़ fV
फ़ (B f

.group य़ // yya
य़ jV
य़ (B j

.group ॠ // rr
ॠ V-rr

.group ॡ // ll
ॡ l-: // long syllabic l


// If we find a Latin letter a-z, then translate as English
// (This is now done automatically by the eSpeak program)

.group o
o _^_EN
D__) of (__D me





+ 1
- 0
dictsource/nl_rules View File

@@ -17,6 +17,7 @@
ai Aj
au VU
auw VU
aauw VU
ay a:j

@@C) a (_ =a:

+ 14
- 10
dictsource/pa_list View File

@@ -117,8 +117,9 @@ _dpt _d@s@ml'o:
ਂ bInd'i
ੰ tIpp'i
ੱ VddVk
਼ p'Erb'I~di
ਃ visaRg
੍ hVlVnt
ਅ 'ERV
ੲ 'IRI
@@ -133,15 +134,15 @@ _ਐ 'ERV||dUl'avam
_ਓ 'URV||hoR'a
_ਔ 'ERV||kVnOR'a
ਾ kVnn'a
ਿ sIh'aRi
ੀ bIh'aRi
ੁ OnkaR
ੂ dUl'EnkaR
ੇ l'ava~
ੈ d@l'ava~
ੋ hoR'a
ੌ kVn'ORa
//#X2kVnn'a
// Punctuation
@@ -242,5 +243,8 @@ $textmode
ਈਮੇਲ email
ਕੀਬੋਰਡ keyboard
ਬੋਰਡ board
ਟੈਕਸਟ text
ਸੈਟਿੰਗਜ਼ settings
$phonememode
ਬਦਲਾਅ

+ 42
- 28
dictsource/pa_rules View File

@@ -120,49 +120,58 @@
// Vowel Signs

.group ਾ
ਾ a
ਾਂ a~
ਾੰ a~
ਾ #X2kVnn'a
C) ਾ a
C) ਾਂ a~
C) ਾੰ a~

.group ਿ
ਿ I
ਿਂ I~
ਿੰ I~
ਿ #X1sIh'aRi
C) ਿ I
C) ਿਂ I~
C) ਿੰ I~

.group ੀ
ੀ i
ੀਂ i~
ੀੰ i~
ੀ #X2bIh'aRi
C) ੀ i
C) ੀਂ i~
C) ੀੰ i~

.group ੁ
ੁ U
ੁਂ U~
ੁੰ U~
ੁ #X1OnkaR
C) ੁ U
C) ੁਂ U~
C) ੁੰ U~

.group ੂ
ੂ u
ੂਂ u~
ੂੰ u~
ੂ #X2dUl'EnkaR
C) ੂ u
C) ੂਂ u~
C) ੂੰ u~

.group ੇ
ੇ e
ੇਂ e~
ੇੰ e~
ੇ #X1l'ava~
C) ੇ e
C) ੇਂ e~
C) ੇੰ e~

.group ੈ
ੈ E // aI
ੈਂ E~
ੈੰ E~
ੈ #X2d@l'ava~
C) ੈ E // aI
C) ੈਂ E~
C) ੈੰ E~

.group ੋ
ੋ o
ੋਂ o~
ੋੰ o~
ੋ #X1hoR'a
C) ੋ o
C) ੋਂ o~
C) ੋੰ o~

.group ੌ
ੌ O // aU
ੌਂ O~
ੌੰ O~
ੌ #X2kVn'ORa
C) ੌ O // aU
C) ੌਂ O~
C) ੌੰ O~


// Consonants ਕે
@@ -447,7 +456,9 @@


.group ੍
੍ // virama
੍ hVlVnt
C) ੍
C) ੍ (C_ =

.group ਼
਼ // nukta
@@ -467,3 +478,6 @@
.group
$ dOlVR // TEST
% pVsEnt // TEST
.group o
o _^_EN
D__) of (__D v'Ico~

+ 15
- 12
dictsource/pl_list View File

@@ -1,6 +1,9 @@

// This file is UTF8 encoded

// $alt is used to mark words which combine with 'ni' or 'nie'


// Letters
// If a letter has a "word" pronunciation which is different from its
// "letter" name, then include the letter name here, with the letter
@@ -182,7 +185,7 @@ _' ap'OstROf
\ b'EkslES $max3
| kR,Eska||p;On'Ova
# haS $max3
_$ d'OlaR
$ d'OlaR
% pR'OtsEnt
^ d'aSEk // what's be better?
& and
@@ -228,9 +231,9 @@ _$ d'OlaR

// screenreadery

nvda EnfawdE'a $abbrev
nvda $abbrev
orca ORka
jaws dZ'Ews $abbrev
jaws dZ'Ews

// komputery, komputery

@@ -267,17 +270,17 @@ forward fORwERd
backward bEkwERd
device div'ajs
devices divajsis
usb uEsb'E $abbrev
url uER'El $abbrev
usb $abbrev
url $abbrev
drive drajv
scsi sk'azi $abbrev
scsi sk'azi
hda $abbrev
sda $abbrev
dvd divid'i $abbrev
sh Es'xa $abbrev
ascii 'askEj $abbrev
ctrl k'OntROl $abbrev
right Rajt $abbrev
dvd divid'i
sh $abbrev
//ascii 'askEj
ctrl k'OntROl
right Rajt

// nazwy własne akcentowanie - wymowa w regułkach
// todo: more!
@@ -335,7 +338,7 @@ jerry dZERy $only
arcus arkus
jebut $2
babach $2
cv siv'i $abbrev
cv siv'i
maximum $1
maxima $1
maksimum $1

+ 953
- 1033
dictsource/pl_rules
File diff suppressed because it is too large
View File


+ 6
- 10
dictsource/pt_list View File

@@ -674,7 +674,6 @@ jamais $u+ $verbf
// $alt changes stressed [e] or [o] phoneme to open [E] or [O]
// $alt2 changes stressed [E] or [O] phoneme to close [e] or [o]

abordo $alt
aborto $alt $verb
abortos $alt2
absorta $alt2
@@ -697,6 +696,7 @@ amorno $alt
amuleto $alt2
ampola $alt2
ampulheta $alt2
anchieta $alt2
anchova $alt2
andorra $alt2
andrea $alt
@@ -748,13 +748,11 @@ boca $alt2
boceta $alt2
boda $alt2
bofe $alt
bojo $alt2
boleia $alt
bolero $alt
bolo $alt2
bolo $alt $verb
borboleta $alt2
bordo $alt
borra $alt2 $noun
boto $alt2 $noun
boxe $alt
@@ -795,7 +793,6 @@ centopeia $alt
cerebelo $alt2
cerca $alt $verb
cerco $alt $verb
cetro $alt
chamego $alt2
chamego $alt $verb
chapeleta $alt2
@@ -850,7 +847,6 @@ corto $alt
corveia $alt
corveta $alt2
corvos $alt
cosme $alt
costeleta $alt2
coto $alt2
cotovelo $alt2
@@ -862,6 +858,7 @@ crimeia $alt
decoreba $alt
decoro $alt2 $noun
degelo $alt2
desacerto $alt2
desaforo $alt2
desamores $alt2
desapego $alt2
@@ -1019,7 +1016,6 @@ gol gow
gorda $alt2
gorjeta $alt2
gororoba $alt
gosma $alt
gosto $alt $verb
gota $alt2
governo $alt2
@@ -1040,7 +1036,6 @@ ideia $alt
inovo $alt
interesse $alt2
interesse $alt $verb
internet $alt
interregno $alt
iodo $alt2
ioga $alt
@@ -1059,6 +1054,7 @@ lembrete $alt2
lepra $alt
leses $alt
leste $alt2 $verb
letra $alt2
?2 lhe l^y
licores $alt2
lisboeta $alt2
@@ -1070,10 +1066,10 @@ maioneses $alt
maniçoba $alt
marieta $alt2
mariposa $alt2
martelete $alt2
megera $alt
melhor $alt
meta $alt $noun
metro $alt
minueto $alt2
miolo $alt2
miolos $alt
@@ -1101,7 +1097,6 @@ nervo $alt2
niceia $alt
ninfeta $alt2
nitreto $alt2
nojo $alt2
novelo $alt2
odisseia $alt
oeste $alt
@@ -1199,6 +1194,7 @@ remoem $alt
remorso $alt
renovo $alt $verb
represa $alt2
represes $alt
retorno $alt $verb
reveses $alt
rigores $alt2
@@ -1291,9 +1287,9 @@ trocha $alt2
troco $alt2 $noun
tropa $alt
tropeço $alt2 $noun
tropeços $alt2
trombeta $alt2
ureia $alt
uretra $alt
vanessa $alt2
vareta $alt2
vera $alt

+ 19
- 28
dictsource/pt_rules View File

@@ -188,19 +188,15 @@
?2 el (K EU
e (lh+ e
e (ll+ E
et (_ EtS

e (bL02_ E
e (cL04_ E
@c) e (L07_ e
e (chL04_ E

e (cCL04_ E
r) e (cho_ e

e (clL04_ E

e (ctL04_ E

e (dL02_ E
e (dL02_ E

e (fL04_ E

@@ -249,20 +245,18 @@
e (rrL04_ E
e (rvL04_ E
e (tL04_ E
e (trL04_ E
m) e (tL03_ e
An) e (tA_ e
on) e (te_ E
u) e (ta_ e
e (vL04_ E
t) e (ve_ e

e (rrAs_ E
_r) eu (n eu

e (x_ E
e (xL04_ E

?2 _n) e (t E
em (C eIm
en (K eIN
enh en^
@@ -297,7 +291,6 @@
?1 _) es (C@@ S // drop initial "e".
?1 _) e (f i // efectuar, etc.
?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas.
?1 e (la_ 'E // eg: cadela, janela, vela, etc...
?1 C) e (cC ,E // eg: seleccionar, efectuar, etc...
?1 C) ecç 'Es // eg: selecção, etc...
?1 C) e (ã i // leão, panteão, etc.
@@ -336,9 +329,7 @@
?1 e (l_ 'E // eg: possível, manuel, etc...
?1 v) e (l_ ,E // eg: possível, amovível, disponível, etc...
?1 l) e (ta 'E // eg: bicicleta, atleta.

ef) e (tuL02_ e
t) e (tra E
e (drL04_ E

âC) e (C@ e
@@ -420,16 +411,13 @@ _troux) e (L07_ E
_ens) e (bL03_ E
_amanc) e (bL03_ E
qu) e (brL04_ E
_perp) e (trL04_ E
sev) e (rL04_ E
_imp) e (trL04_ E
cel) e (brL04_ E
sev) e (rL04_ E
cel) e (brL04_ E
_sop) e (sL04_ E
_C) e (bre_ E
_barb) e (tA_ e
_boch) e (chL04_ e
_ex) e (crL04_ E
impr) e (gnL04_ E
impr) e (gnL04_ E
_enr) e (dL01_ E
_v) e (dL03_ E
_sob) e (rbL03_ e
@@ -477,7 +465,7 @@ _tetran) e (tL08_ E
_tol) e (rL04_ E
acel) e (rL04_ E // des-
_apod) e (rL04_ E
_enum) e (rL04_ E
enum) e (rL04_ E
_exub) e (rL04_ E
_adult) e (rL04_ E
_aglom) e (rL04_ E
@@ -506,8 +494,9 @@ s_colh) e (res_ E
_repr) e (sL03_ E
_ent) e (sL04_ E
_refr) e (scL01_ E
_ef) e (tuL02_ e
_p) e (scL03_ E
_m) e (sclL04 E
_m) e (sclL04_ E
dioc) e (ses_ E
_aust) e (rL08_ E
_d) e (spL02_ E
@@ -530,9 +519,7 @@ _obsol) e (tL08_ e
viol) e (ta_ e
_Carr) e (ta_ e
_Gur) e (ta_ e
_pen) e (trL04_ E
_sol) e (trL04_ E
_n) eu (trL08_ 'eU
_n) eu (trL08_ 'eU
_d) e (vL03_ e
scr) e (vL03_ e // e- in- pre- ree- de-
_atr) e (vL03_ e
@@ -803,7 +790,7 @@ _redar) gu (A gw
o (g_ O
o (gs_ O
o (gL04_ O
g) o (gL03_ o
g) o (gL08_ o
o (jL04_ O

o (ldL04_ O
@@ -994,6 +981,9 @@ _redar) gu (A gw
_Com) o (do_ o
_ortod) o (xL08_ O
_arr) ox (A OS
_B) o (jo_ o
b) o (rdo_ O
C) o (smA_ O
_g) o (zL04_ O
_alm) o (çL01_ O
_esb) o (çL01_ O
@@ -1147,6 +1137,7 @@ _ortod) o (xL08_ O
?2 t (i tS
?2 t (í tS
?2 t (e_ tS
?2 t (_ tS
?1 th _^_EN
?1 tion (_ _^_EN
?2 A) te (o_ tSj
@@ -1182,7 +1173,7 @@ _ortod) o (xL08_ O
unh u~n^

g) u (Y
_m) ui (tA_ 'wiN
_m) ui (tL08_ 'wiN


.group ú

+ 9
- 13
dictsource/ta_list View File

@@ -109,6 +109,7 @@ _? ke:l.vi // கேள்வி
& mVt.RUm
| seNgUttU
U+bf9 ru:ba:j
₹ ru:ba:j
¼ ka:l
½ araI
¾ mukka:l
@@ -180,7 +181,7 @@ _8 ;et.t.U
_9 onbVd.U
_10 pattU
_1X padin
_11 patinonRU
_11 padinonRU
_12 pVnnirVn.d.U
_19 pattonbVdU

@@ -248,7 +249,7 @@ _7o ;e:z.
_8o ;et.t.
_9o onbVd
_10o patt
_11o patinonR
_11o padinonR
_12o pVnnirVn.d.
_19o pattonbVd

@@ -313,7 +314,7 @@ andagakavi அந்தகக்கவி $text
பாறம் $alt
பாரதம் $alt
பரதம் $alt
பாப $alt
//பாப $alt
பாகம் $alt
பண்தம் $alt
பவனி $alt
@@ -324,10 +325,8 @@ andagakavi அந்தகக்கவி $text
பேகம் $alt
பார்லி $alt
பிக்கினி $alt
பேதம் $alt
போனஸ் $alt
போகி $alt
பாலா $alt
//பாலா $alt
பூத $alt
பாபா ba:ba:
பாக்கி $alt
@@ -391,8 +390,6 @@ andagakavi அந்தகக்கவி $text
போன்ஸாய் $alt
பீப் bi:p
ப்யூனஸ் $alt
பவுத்த $alt
பவுத்தம் $alt
பிட் $alt
பீடிக் $alt
பீச் $alt
@@ -412,7 +409,6 @@ andagakavi அந்தகக்கவி $text
பிரா bra:
ப்ரா $alt
பலம் $alt
பலமாக $alt
பலமா $alt
பாதிப்பு $alt
பீடா $alt
@@ -440,6 +436,9 @@ andagakavi அந்தகக்கவி $text
போத $alt
பொம்ம $alt
புகாரி $alt
பாக $alt
பாதிப்பா $alt
பாதிப்பாக $alt


// initial த as [d]
@@ -447,7 +446,6 @@ andagakavi அந்தகக்கவி $text
தண்டனை $alt
துவம்சம் $alt
திருஷ்டி $alt
தயாநிதி $alt
தயாளு $alt
துந்துவி $alt
திக் $alt
@@ -491,7 +489,6 @@ andagakavi அந்தகக்கவி $text
தருமமும் $alt
தராவி $alt
தவக் $alt
களில் $alt
தடிக்க $alt
தின $alt
தில் $alt
@@ -540,7 +537,6 @@ andagakavi அந்தகக்கவி $text

கக $alt // initial க as [g]
கனம் $alt
கிலி $alt
கில்லி $alt
காந்தி $alt
கிரி $alt
@@ -607,10 +603,10 @@ andagakavi அந்தகக்கவி $text
பேனில் fe:nil
பேன்ல fe:nlV
போன்ல fo:nlV
ஆப் a:f


பப pVpV
பாப pa:bV
டிரேயின் t.re:jn
பைக் baIk
பைக்கில் baIkkIl

+ 241
- 34
dictsource/ta_rules
File diff suppressed because it is too large
View File


+ 242
- 3
dictsource/ur_list View File

@@ -44,9 +44,9 @@ _و va:O
ء HamzaH
ی c#o:t.i:||je:
ے bar.i:||je:
ئ h'amza
ئ h'amzaje:
ۂ He:h'amza
va:Oh'amza
_ؤ hamzava:O

َ z@b@R
ِ ze:R
@@ -55,6 +55,9 @@ _ؤ va:Oh'amza
ّ t,aSd'i:d
ً d'o:zab'aR
ْ sUk'u:n
۔ xatma
، sakta
؟ sava:li:;anISa:n


// The numbers
@@ -193,6 +196,9 @@ _dpt _ISaRI'Ia_
انہیں ,UnH'e:n $u
انھیں ,UnH'e:n $u
جنہوں J,InH'o:n $u
جنہیں JInHe:n $u
تجھ tUJ# $u
انہی InHi: $u

// unstressed prepositions
کا $u
@@ -216,7 +222,7 @@ _dpt _ISaRI'Ia_
پبلک p'abl,Ik
آئرش 'a:IR,IS
برگ b'aRg
(آئیس کریم) a:'i:s||kR'i:m
(آئس کریم) a:Is||kR'i:m
آئیسنگ ,a:is'Ing
آئدیلسٹ 'a:Id.,i:;al,Ist.
آئڈیلزم 'a:Id.,i:;al,Izam
@@ -768,3 +774,236 @@ _dpt _ISaRI'Ia_
اطلاعات ,Itl'a:t
سنہ s'an
دسٹرکٹ d.'Ist.RIkt.
اون 'u:n
اونی u:n'i:
مصطفیٰ m,Us.t'afa:
ملوث m,Ulav'as
کلو k'Ilo:
ترقیاتی t,aRaq,i:;a:t'i:
طارق t'a:RIq
حامل H'a:mIl
انٹرنیشنل Int.'aRn,e:Sn,al
اہم EHEm
باوجود ba:vUJu:d
گروپ gRu:p
واضح va:ze:H $1
امن amn
فٹ fIt.
آخر a:xIR
سبب sabab
مجموعی maJmu:i
مجلس maJlIs
پریس pRe:s
غالب Qa:lIb
سٹی sIt.i
نقشہ naqSa
امور Umu:R
ضمن zImn
حکام HUka:m
پہر pEHER
کانفرنس ka:nfRans
سرحد saRHad
سیکرٹری se:kRIt.Ri:
خالد xa:lId
ملیں mIle:n
(کا دور) ka:||dOR $2
ملین mIli;an
یونین ju:ni;an
ذہنی DEHni:
حمایت HIma:jat
تجارت tIJa:Rat
تجارتی tIJa:Rti: $2
گورنر gavaRnaR
واقعہ va:qja
والد va:lId
نہایت nIHa:jat
محور mEHvaR
انصاف Ins.a:f
مالک ma:lIk
البتہ albata
بخش baxS
لحاظ lIHa:z.
دعوت da:vat
دریافت daRja:ft
محروم mEHRu:m
مصارف mas.a:RIf
انڈین Ind.i;an $2
خاطر xa:tIR
جذبات JaDba:t
دراندازی daR||anda:zi:
مرتب mURatab
سینئر si:nI;aR
غربت QURbat
ارشاد IRSa:d
بیمہ bi:ma
مرزا mIRza:
جہت JEHEt
واحد va:HId
قدرتی qUdRati:
حکمت HIkmat
موثر mo:asaR
میٹر mit.aR
مسٹر mIst.aR
پہلو pEHlu:
حلقہ Halqa
مملکت mamlIkat
ارشد aRSad
اکرم akRam
ڈسٹرکٹ d.Ist.RIkt.
خبر xabaR
کنٹرول kant.Ro:l
اسٹاف Ist.a:f
اکبر akbaR
طاہر ta:HIR
فرض faRz
قبل qabl
حافظ Ha:fIz.
رویہ Ravai:;a
رویوں Ravai;o:n
رویے Ravai:;e:
تذبذب taD'abDUb
سکور sko:R
حالانکہ Ha:la:nke:H $2
دکھ dUk#
سول sIvIl
اسلم aslam
مبتلا mUbtIla:
حدود HUdu:d
مبارک mUba:Rak
عزت Izat
نوید navi:d
اعجاز e:Ja:z
پہ pEH
سود su:d
عارف a:RIf
جناح JIna:H
بدستور badastu:R $3
اوسط Osat
بہن bEHEn
موومنٹ mu:vmInt.
طرز taRz
بارش ba:RIS
انٹرویو Int.aRvi;u:
بولنگ bo:lIng
نصف nIs.f
مواقع mava:qe:
میسر mUjasaR
ناصر na:s.IR
ورک vaRk
لباس lIba:s
ایکشن EkSan
عرفان IRfa:n $2
ضائع za:ja:
ڈپٹی d.Ipt.i:
ممبر mImbaR
ثبوت sUbu:t
انحصار InHIs.a:R
تاثر ta:sUR
اظہر az.HaR
اہلکاروں EHElka:Ro:n $3
اہلکار EHElka:R
ترکی tURki:
آپس a:pas
مہر mEHER
قاسم qa:sIm
حضرات HazRa:t
ظلم z.Ulm
بھائیوں b#a:i;o:n
جون Ju:n
مصنوعات mas.nu:a:t
رجحان RUJHa:n
سپریم sUpRi:m
عملدرآمد amaldaRa:mad
دوں du:n
ٹکٹ t.IkIt.
عناصر ana:s.IR
مسعود masu:d
حرکت HaRkat
راشد Ra:SId
اشرف aSRaf
قاتل qa:tIl
اسلحہ aslaHa
فخر faxR
ردعمل Rade:a:mal
کرفیو kaRfju:
افتخار IftIxa:R
جمیعت Jami;at
مابین ma:be:n
ٹرک t.Rak
اک Ik
افادہ Ifa:da
ملازمت mUla:zImat
نافذ na:fID
عبادت Iba:dat
امجد amJad
ترک taRk
مستحکم mUstEHkam
مشن mISan
دانش da:nIS
دیہ de:H
فرم faRm
مفید mUfi:d
حامد Ha:mId
حفاظتی HIfa:z.ati:
مشتاق mUSta:q
تحسین tEHsi:n
ایئر ER
چیلنج ce:lInJ
حسب Hasb
قارئین qa:RI;i:n
جامع Ja:me:
عزم azm
فیلڈ fi:ld.
خطے xIte:
امت Umat
خراج xIRa:J
شوگر Su:gaR
منیر mUni:R
ملت mIlat
جونیئر JUni;aR
ایگزیکٹو EgzEkIt.Iv
ڈویژن d.IviZan
انخلا InxIla:
ماڈلز ma:d.alz
پلس plas
سمارٹ sma:Rt.
نیوی ne:vi
انکشاف InkISa:f
منکشف mUnkaSIf
مقدم maqdam
متعارف mUta:RIf
دلی dIli $1
سگریٹ sIgRe:t.
اوور o:vaR
قدرت qUdRat
جانور Ja:nvaR
شکریہ SUkRi:;a
جانوروں Ja:nvaRo:n
نرم naRm
نیم ni:m
مزاحمت mUza:HImat
برتری baRtaRi
صادق s.a:dIq
گویا go:ja:
گنجائش gUnJa:IS
علوم Ulu:m
مطمئن mUtmaIn
ظہور z.aHu:R
بہرحال baHaRHa:l
گروہ gIRo:H
بروقت baRvaqt
نفرت nafRat
یکم jakUm
صفر s.IfaR
شرط SaRt
پرنسپل pRInsIpal
جگر JIgaR
مدنظر made:naz.aR
وزراء vUzaRa:
بدقسمتی badqIsmati
بزنس bIznIs
منظم mUnaz.am
مقاصد maqa:s.Id
نعمت ne:mat
نامور na:mvaR
ہرگز HaRgIz

+ 65
- 1
dictsource/ur_rules View File

@@ -123,6 +123,13 @@ _) ای e:
_) اونچ (L01 'u:nc
_) ادا (ر 'Ida:
اسکول ,Isk'u:l
_) اونٹ 'u:nt.
_) انکار Inka:R
_) اسرائیل IsRa:i:l
_) استاد Usta:d
_) انگریز angRe:z
_) انڈس Ind.as
اع (_ a:

.group آ
آ a:
@@ -146,6 +153,7 @@ _) ای e:
عُ 'U
علاق Il'a:q
عے e:
عراق IRa:q

.group و
و o:
@@ -157,6 +165,7 @@ _) ای e:
وّ vv
L02L02L02) و (L02 u:
L02) ونکہ (_ u:nk'e:H
_) وکٹ (L01 vIkt.

.group ی
ی e:
@@ -222,6 +231,9 @@ _) ای e:
بحران b,OHR'a:n
بنیاد bUnj'a:d
بیمار bim'a:R
_) بھوت b#u:t
_) بخار bUxa:R
_) بیج bi:J


.group پ
@@ -239,6 +251,8 @@ _) ای e:
پیچھ p'i:c#
پھونک p#'u:nk
_) پور (L01 p'u:R
_) پچھل (L01 pIc#l
_) پران (L01 pURa:n

.group ت
ت tV
@@ -260,6 +274,8 @@ _) ای e:
@) تی (_S2 t'i:
@) تے (_S2 t'e:
_) توا t'ava:
تہ (_ t,a
تحصیل te:Hs.i:l

.group ٹ
ٹ t.V
@@ -272,6 +288,8 @@ _) ای e:
_) ٹکڑ t.'Ukr.
_) ٹہ (L02 t.'EH
_) ٹرین t.R'e:n
ٹری (_ t.Ri
_) ٹوٹ t.u:t.


.group ث
@@ -297,6 +315,7 @@ _) ای e:
_) جہ (L02 J'EH
_) جدا J'Uda:
_) جسم J'Ism
_) جتن (L01 JItn

.group چ
چ cV
@@ -322,6 +341,7 @@ _) ای e:

حّ HHV
حّ (L01 HH
_) حاضر Ha:zIR

.group خ
خ xV
@@ -335,6 +355,7 @@ _) ای e:
_) خیا x'aja:
_) خون x'u:n
_) خشک x'USk
_) خوب xu:b


.group د
@@ -358,6 +379,8 @@ _) ای e:
_) دین (L01 d'e:n
_) دیت (L01 d'e:t
دہ (_ d,a
_) دوا dava:
_) دشمن dUSman

.group ڈ
ڈ d.V
@@ -369,6 +392,7 @@ _) ای e:
ڈھونڈ d.#'u:nd.
@) ڈز (_ d.z
ڈرائیور d.R'a:jvaR
_) ڈگری d.IgRi:

.group ذ
ذ DV
@@ -392,6 +416,12 @@ _) ای e:
@) ر (د R
_) رفت R'af@t
_) روا R'ava:
_) رش (ت RIS
_) روح Ru:H
_) رفت Raft
ریشن (_ Re:San
_) رحمت REHmat
_) رکاوٹ RUka:vat.

.group ڑ
ڑ r.V
@@ -409,6 +439,7 @@ _) ای e:
_) زند z'Ind
_) زہ (L02 z'EH
_) زلزل z,alz'al
_) زاہد za:HId

.group ژ
ژ ZV
@@ -440,6 +471,9 @@ _) ای e:
@) ستانی (_ Ist'a:ni
_) سوا sav'a:
_) سکول sk'u:l
سلطان sUlta:n
_) سفید safe:d
_) سلوک sUlu:k

.group ش
ش SV
@@ -454,6 +488,7 @@ _) ای e:
_) شخص S'axs.
_) شہ (L02 S'EH
شرمند S,aRm'Ind
_) شعور Sa'u:R

.group ص
ص s.V
@@ -462,6 +497,7 @@ _) ای e:
صّ (L01 ss
صوب s.'u:b
صورت s.u:R'at
_) صدیق s.Idi:q

.group ض
ض zV
@@ -469,6 +505,7 @@ _) ای e:
ضّ zzv
ضّ (L01 zz
ضرور zaR'u:R
_) ضد (L01 zId

.group ط
ط tV
@@ -508,6 +545,10 @@ _) ای e:
قاعد q'a:jd
_) قسط q'Ist
_) قیا q'aja:
قیمت (L01 qi:mt
_) قریش qURe:S
_) قبض qabz
_) قربان qURba:n

.group ک
ک kV
@@ -523,6 +564,10 @@ _) ای e:
کارکن k'a:Rk,UUn
_) کیس (L01 k'Es
_) کت (L01 k'Ut
کردار kIRda:R
_) کمزور kamzo:R
_) کلاس kla:s
_) کھل k#Ul

.group گ
گ gV
@@ -541,6 +586,7 @@ _) ای e:
_) گہ (L02 g'EH
گزارش gUz'a:RIS
_) گیت g'i:t
_) گزار gUza:R

.group ل
ل lV
@@ -551,6 +597,7 @@ _) ای e:
_) لہ (L02 l'EH
_) لین (L01 l'e:n
_) لیت (L01 l'e:t
_) لیڈر lid.aR

.group م
م mV
@@ -592,6 +639,14 @@ _) ای e:
مذہب m,aDH'ab
متاثر mUt'a:sIR
_) مثال mIs'a:l
_) مراد mURa:d
محبوب mEHbu:b
_) ماہر ma:HIR
_) معاہد mOa:HId
_) مشور maSvaR
_) مزاج mIza:J
_) معین mOi;'an
_) مشیر mUSi:R

.group ن
ن nV
@@ -625,6 +680,11 @@ _) ای e:
@) نا (_S2 n'a:
@) نی (_S2 n'i:
@) نے (_S2 n'e:
_) نیچ ni:c
_) نشست nISast
_) نقط nUqt
_) نیند ni:nd
_) نصاب nIs.a:b

.group ں
ں n // this should nasalize the vowel
@@ -648,6 +708,8 @@ _) ای e:
ہ (L02 HV
@) ہ (L02L01 H
_) ہم (L02L02L02P2 H'am
_) ہندوستان HIndUsta:n


.group ّ
ّ
@@ -666,8 +728,10 @@ _) ای e:
: r'a:b'tah//Rabtar رابطہ
? saw'a:l'i:ja:n'is'a:nV // Sawaliya Nishan سوالیہ نشان
% f'i:sVd //Fisad فیصد
۔ xatma //Khatmah ختمہ
، sakta //Saktah سکتہ
؟ sava:li:;anISa:n //Sawaliya Nishan سوالیہ نشان


.group 0xe0a4 // devanagari
0xe0a4 _^_NE // switch to Nepali voice

+ 13
- 0
dictsource/zh_list View File

@@ -12,6 +12,19 @@ _6 liou51
_7 tS;hi55
_8 pA55
_9 S;iou214
_1X s.i.35_|
_2X @r51s.i.35_|
_3X s'a55ns.i.35_|
_4X s'i[51s.i.35_|
_5X w'u21s.i.35_|
_6X l'iou51s.i.35_|
_7X tS;h'i55s.i.35_|
_8X p'A55s.i.35_|
_9X tS;'iou21s.i.35_|
_0C pai214_|
_0M1 tS;h'iE55n_| // 1,000
_0M2 w'A51n_| // 10,000
//_0M3 j'i51_| // 100,000,000

//Latin letters with Chinese accent
a ei51

+ 0
- 1
espeak-data/voices/europe/it View File

@@ -5,4 +5,3 @@ gender male

tunes s4 c4 q4 e4

replace 03 i I

+ 3
- 0
espeak-data/voices/test/mr View File

@@ -0,0 +1,3 @@
name marathi-test
language mr


+ 35
- 0
phsource/ph_aragon View File

@@ -28,3 +28,38 @@ phoneme O
FMT(vowel/oo_4)
endphoneme



phoneme k
vls vel stop
lengthmod 2
voicingswitch g
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki_unasp2, 30)
// ELIF nextPh(isRhotic) THEN
// WAV(ustop/kr)
// ELIF nextPh(l) THEN
// WAV(ustop/kl)
ENDIF
WAV(ustop/k_unasp2, 25)
endphoneme


phoneme t
vls dnt stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 25)
ENDIF
WAV(ustop/t_unasp3, 50)
endphoneme



+ 167
- 167
phsource/ph_basque View File

@@ -1,167 +1,167 @@
//====================================================
// Basque - based on Base2
//====================================================
phoneme a
vowel starttype #a endtype #a
length 200
FMT(vowel/a_4)
endphoneme
phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
vowel starttype #a endtype #a
length 200
IF nextPh(#a) THEN
ChangePhoneme(NULL) // merge consecutive 'a'
ENDIF
FMT(vowel/a_4)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 200
FMT(vowel/e_mid2)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 190
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 200
FMT(vowel/oo)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 200
FMT(vowel/u_bck2)
endphoneme
phoneme Y
vowel starttype #@ endtype #@
length 200
FMT(vowel/y#)
endphoneme
phoneme s
import_phoneme es/s
endphoneme
phoneme z
vls alv frc sibilant
ipa s
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause) THEN
WAV(ufric/z_eu, 60)
ENDIF
WAV(ufric/z_eu, 90)
endphoneme
phoneme ts
vls alv afr sibilant
ipa t?
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ufric/ts_eu, 60)
ENDIF
WAV(ufric/ts_eu, 90)
endphoneme
phoneme tz
vls alv afr sibilant
ipa ts
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ufric/tz_eu, 90)
ENDIF
WAV(ufric/tz_eu, 60)
endphoneme
phoneme t
vls dnt stop
lengthmod 2
CALL base2/t
endphoneme
phoneme r
vcd alv flp rhotic
brkafter
ipa ?
lengthmod 3
IF nextPhW(isVowel) THEN
ChangePhoneme(**)
ENDIF
CALL base/*
endphoneme
phoneme b
import_phoneme es/b
endphoneme
phoneme d
import_phoneme es/d
endphoneme
phoneme g
import_phoneme es/g
endphoneme
phoneme n
vcd alv nasal
lengthmod 4
IF prevPhW(#i) AND nextPhW(isVowel) THEN
ChangePhoneme(n^)
ENDIF
CALL base/n
endphoneme
phoneme n2 // doesn't palatalise, used for exceptions
vcd alv nasal
lengthmod 4
CALL base/n
endphoneme
phoneme l
liquid
IF prevPhW(#i) AND nextPhW(isVowel) THEN
ChangePhoneme(l^)
ENDIF
CALL base/l
endphoneme
phoneme l2 // same as l2
liquid
CALL base/l
endphoneme
//====================================================
// Basque - based on Base2
//====================================================
phoneme a
vowel starttype #a endtype #a
length 200
FMT(vowel/a_4)
endphoneme
phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
vowel starttype #a endtype #a
length 200
IF nextPh(#a) THEN
ChangePhoneme(NULL) // merge consecutive 'a'
ENDIF
FMT(vowel/a_4)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 200
FMT(vowel/e_mid2)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 190
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 200
FMT(vowel/oo)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 200
FMT(vowel/u_bck2)
endphoneme
phoneme Y
vowel starttype #@ endtype #@
length 200
FMT(vowel/y#)
endphoneme
phoneme s
CALL es/s
ipa s̺
endphoneme
phoneme z
vls alv frc sibilant
ipa s̻
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause) THEN
WAV(ufric/z_eu, 60)
ENDIF
WAV(ufric/z_eu, 90)
endphoneme
phoneme ts
vls alv afr sibilant
ipa ts̺
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ufric/ts_eu, 60)
ENDIF
WAV(ufric/ts_eu, 90)
endphoneme
phoneme tz
vls alv afr sibilant
ipa ts̻
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ufric/tz_eu, 90)
ENDIF
WAV(ufric/tz_eu, 60)
endphoneme
phoneme t
vls dnt stop
lengthmod 2
CALL base2/t
endphoneme
phoneme r
vcd alv flp rhotic
brkafter
ipa ɾ
lengthmod 3
IF nextPhW(isVowel) THEN
ChangePhoneme(**)
ENDIF
CALL base/*
endphoneme
phoneme b
import_phoneme es/b
endphoneme
phoneme d
import_phoneme es/d
endphoneme
phoneme g
import_phoneme es/g
endphoneme
phoneme n
vcd alv nasal
lengthmod 4
IF prevPhW(#i) AND nextPhW(isVowel) THEN
ChangePhoneme(n^)
ENDIF
CALL base/n
endphoneme
phoneme n2 // doesn't palatalise, used for exceptions
vcd alv nasal
lengthmod 4
CALL base/n
endphoneme
phoneme l
liquid
IF prevPhW(#i) AND nextPhW(isVowel) THEN
ChangePhoneme(l^)
ENDIF
CALL base/l
endphoneme
phoneme l2 // same as n2
liquid
CALL base/l
endphoneme

+ 6
- 3
phsource/ph_english View File

@@ -52,10 +52,9 @@ phoneme r- // linking r, used in English between certain vowels and a followin
liquid rhotic
ipa ɹ
IF NOT thisPh(isWordEnd) THEN
IF NOT thisPh(isWordEnd) AND NOT prevPh(@) AND NOT prevPh(3) THEN
ChangePhoneme(r)
ENDIF
// ChangePhoneme(r) // always use [r], not [r-] ?
lengthmod 0

@@ -211,7 +210,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 140
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/ee_5)
endphoneme


+ 5
- 1
phsource/ph_english_n View File

@@ -33,7 +33,11 @@ endphoneme
phoneme E
vowel starttype #a endtype #a
length 150
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/ee)
endphoneme


+ 5
- 1
phsource/ph_english_rp View File

@@ -56,7 +56,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 140
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/e_mid)
endphoneme


+ 5
- 1
phsource/ph_english_sc View File

@@ -90,7 +90,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 170
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/e_e)
endphoneme


+ 10
- 6
phsource/ph_english_us View File

@@ -46,7 +46,7 @@ phoneme a

ChangeIfDiminished(a#)

IF nextPh(isNasal) THEN
IF nextPh(isNasal) AND NOT KlattSynth THEN
FMT(vnasal/ee_n2)
ELSEIF nextPh(r) AND thisPh(isStressed) THEN
length 190
@@ -82,7 +82,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 190
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vwl_en_us/ee)
endphoneme

@@ -137,7 +141,7 @@ endphoneme

phoneme 0
vowel starttype #a endtype #a
length 200
length 220
ipa ɑː
ChangeIfDiminished(@)
IF nextPh(r) THEN
@@ -171,7 +175,7 @@ endphoneme

phoneme A:
vowel starttype #a endtype #a
length 200
length 220
IF nextPhW(r) THEN
FMT(vwl_en_us/aar)
ENDIF
@@ -208,7 +212,7 @@ endphoneme

phoneme i:
vowel starttype #i endtype #i
length 170
length 180
IfNextVowelAppend(;)
FMT(vowel/i_en)
endphoneme
@@ -216,7 +220,7 @@ endphoneme

phoneme O:
vowel starttype #o endtype #o
length 200
length 220
ChangeIfDiminished(@)
IF nextPhW(r) THEN
FMT(vwl_en_us/oor)

+ 5
- 1
phsource/ph_english_wi View File

@@ -34,7 +34,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 170
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/e)
endphoneme


+ 5
- 1
phsource/ph_english_wm View File

@@ -27,7 +27,11 @@ endphoneme
phoneme E
vowel starttype #e endtype #e
length 150
ChangeIfDiminished(I2)
IF nextPhW(n) THEN
ChangeIfDiminished(@)
ELSE
ChangeIfDiminished(I2)
ENDIF
FMT(vowel/e)
endphoneme


+ 23
- 4
phsource/ph_german View File

@@ -240,6 +240,25 @@ endphoneme
// CONSONANTS
//===========

phoneme t
vls alv stop
voicingswitch d
lengthmod 2
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20

IF nextPh(isPause2) THEN
WAV(ustop/t_)
ELIF nextPh(r) THEN
WAV(ustop/t_)
ELIF nextPh(@-) THEN
WAV(ustop/t_dnt, 50)
ENDIF
WAV(ustop/t, 90)
endphoneme



phoneme ts
import_phoneme consonants/ts
endphoneme
@@ -315,7 +334,7 @@ phoneme j
endphoneme


phoneme r
phoneme r // note, following consonant must be 'ustop/t_' not 'ustop/tr' etc.
liquid alv rhotic
lengthmod 6

@@ -325,9 +344,9 @@ phoneme r
IF prevPhW(isVowel) THEN
ChangePhoneme(R)
ELSE
IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN
PauseBefore 40
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) THEN
IF prevPhW(t) THEN
PauseBefore 30
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) OR prevPhW(k) OR prevPhW(p) THEN
PauseBefore 15
ELSE
InsertPhoneme(@-)

+ 1
- 527
phsource/ph_hindi View File

@@ -1,27 +1,4 @@

//====================================================
// Hindi
//====================================================

phoneme : // Lengthen the previous vowel by "length"
virtual
length 100
endphoneme

phoneme @
vowel flag1 starttype #@ endtype #@
length 130

ChangeIfDiminished(@-)
IF nextPh(H) OR prevPh(H) THEN
FMT(vowel/@_low)
ENDIF
IF nextPh(j) THEN
FMT(vowel/V_3)
ENDIF
FMT(vowel/@_bck)
endphoneme

// Differences from ph_hindi_base

phoneme V
vowel flag1 starttype #@ endtype #@
@@ -71,506 +48,3 @@ phoneme V
FMT(vowel/V_3)
endphoneme


phoneme @2
vowel flag1 starttype #@ endtype #@
length 130
FMT(vowel/@_low)
endphoneme

phoneme @3
vowel flag1 starttype #@ endtype #@
length 130
ChangeIfDiminished(@-)
FMT(vowel/@_3)
endphoneme




phoneme i:
vowel long starttype #i endtype #i
length 230
IF thisPh(isUnstressed) THEN
ChangePhoneme(i)
ENDIF
IfNextVowelAppend(;)
FMT(vowel/i_fnt)
endphoneme

phoneme i // as [i:] but not marked as 'long'
vowel starttype #i endtype #i
length 230
IfNextVowelAppend(;)
FMT(vowel/ii_6)
endphoneme

phoneme I
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme

phoneme e:
vowel long starttype #e endtype #e
length 220
FMT(vowel/e_2)
endphoneme

phoneme e
vowel starttype #e endtype #e
length 140
FMT(vowel/e_2)
endphoneme

phoneme E:
vowel long starttype #e endtype #e
length 220
FMT(vdiph/ee-e)
endphoneme

phoneme E
vowel starttype #e endtype #e
length 140
FMT(vowel/e_mid)
endphoneme

phoneme &:
vowel long starttype #a endtype #a
length 220
FMT(vowel/&)
endphoneme


phoneme a:
vowel long starttype #a endtype #a
length 200
IF nextPhW(j) THEN
FMT(vowel/a_5)
ENDIF
FMT(vowel/aa_9)
endphoneme

phoneme a
vowel long starttype #a endtype #a
length 140
FMT(vowel/a#_3)
endphoneme


phoneme o:
vowel long starttype #o endtype #o
length 227
FMT(vowel/o_2)
endphoneme

phoneme o
vowel starttype #o endtype #o
length 140
FMT(vowel/o)
endphoneme

phoneme O:
vowel long starttype #o endtype #o
length 210
FMT(vowel/oo_4)
endphoneme


phoneme O
vowel starttype #o endtype #o
length 140
FMT(vowel/0)
endphoneme


phoneme U
vowel starttype #u endtype #u
length 140
FMT(vowel/uu_bck)
endphoneme


phoneme u:
vowel long starttype #u endtype #u
length 230
FMT(vowel/u_bck)
endphoneme


// Nasal vowels
//=============

phoneme i~
vowel long starttype #i endtype #i
length 220
FMT(vnasal/i_n2)
endphoneme

phoneme I~
vowel long starttype #i endtype #i
length 170
FMT(vnasal/ii_n)
endphoneme

phoneme e~
vowel long starttype #e endtype #e
length 220
FMT(vnasal/e_n)
endphoneme

phoneme E~
vowel long starttype #e endtype #e
length 220
FMT(vnasal/ee_n2)
endphoneme

phoneme a~
vowel long starttype #a endtype #a
length 240
FMT(vnasal/a_n)
endphoneme

phoneme V~
vowel long starttype #@ endtype #@
length 220
FMT(vnasal/V_n)
endphoneme

phoneme O~
vowel long starttype #o endtype #o
length 220
FMT(vnasal/oo_n2)
endphoneme

phoneme o~
vowel long starttype #o endtype #o
length 220
FMT(vnasal/o_n)
endphoneme

phoneme U~
vowel starttype #u endtype #u
length 170
FMT(vnasal/u_n)
endphoneme

phoneme u~
vowel long starttype #u endtype #u
length 220
FMT(vnasal/u_n)
endphoneme


// Diphthongs
//===========


phoneme aI
vowel long starttype #@ endtype #i
length 240
long
FMT(vdiph/&i)
endphoneme

phoneme aU
vowel long starttype #a endtype #u
length 240
long
FMT(vdiph/aau_3)
endphoneme



// CONSONANTS
//===========

phoneme v // approximant, not fricative
import_phoneme base/v#
voicingswitch f
endphoneme


phoneme H // use for full "h"
import_phoneme base/h
endphoneme



// bilabial plosives
//==================

phoneme p
import_phoneme consonants/p-
endphoneme


phoneme p#
import_phoneme consonants/ph
endphoneme


phoneme b // this is [b]
import_phoneme base/b
endphoneme


phoneme b#
vcd blb stop
lengthmod 5
voicingswitch p#
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30

IF PreVoicing THEN
FMT(b/xb)
ENDIF

FMT( b/b@2) addWav(ustop/p_asp, 70)
endphoneme




// dental plosives
//==================

phoneme t // dental variant of /t/
import_phoneme base/t[
voicingswitch d
endphoneme


phoneme t# // dental variant of /t/
vls dnt stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 35)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme


phoneme d // dental variant of /d/
import_phoneme base/d[
voicingswitch t
endphoneme


phoneme d#
vcd dnt stop
lengthmod 5
voicingswitch t#
Vowelin f1=0 f2=1500 -300 300 f3=-100 80
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20

IF PreVoicing THEN
FMT(d/xd)
ENDIF

FMT(d/xd3) addWav(ustop/t_dnt, 40)
endphoneme




// retroflex plosives
//===================

phoneme t.
vls rfx stop
lengthmod 2
ipa ʈ
voicingswitch d.
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
WAV(ustop/t_short)
endphoneme

phoneme t.#
vls rfx stop
lengthmod 2
ipa ʈU+02B0
voicingswitch d.#
Vowelin f1=0 f2=1800 -300 300 f3=-200 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
IF nextPhW(t.#) THEN
ChangePhoneme(t.)
ENDIF
WAV(ustop/th_rfx2, 80)
endphoneme

phoneme d.
vcd rfx stop
lengthmod 5
voicingswitch t.
ipa ɖ
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xdr)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ENDIF

FMT(d/dr) addWav(x/d)
endphoneme


phoneme d.#
vcd rfx stop
lengthmod 5
ipa ɖU+02B0
voicingswitch t.#
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xdr)
ENDIF

FMT(d/dr) addWav(ustop/t)
// FMT(d/dr) addWav(ustop/th_rfx)
endphoneme




// palatal plosives
//=================

// also try [tS] and [dZ]

phoneme c
vls pla afr sibilant
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=2300 200 400 f3=-100 80

IF nextPh(isPause2) THEN
WAV(ustop/tsh_)
ENDIF
WAV(ustop/tsh_unasp)
endphoneme



phoneme c#
CALL base/tS;
ipa cU+02B0
endphoneme


phoneme J
import_phoneme base/J
endphoneme


phoneme J#
vcd pal afr sibilant
lengthmod 5
voicingswitch c#
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1

IF PreVoicing THEN
FMT(dzh/xdz_pzd)
ENDIF

FMT(dzh/xdz_pzd) addWav(ustop/ts_pzd)
endphoneme





// velar plosives
//==================


phoneme k
import_phoneme consonants/k-
voicingswitch g
endphoneme

phoneme k#
import_phoneme consonants/k#
voicingswitch g#
endphoneme


phoneme g
import_phoneme base/g
voicingswitch k
endphoneme


phoneme g#
vcd dnt stop
lengthmod 5
voicingswitch k#
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20

IF PreVoicing THEN
FMT(g2/xg)
ENDIF

IF nextPh(isPause2) THEN
FMT(g2/xg) addWav(ustop/k_asp, 35)
ENDIF
FMT(g2/xg) addWav(ustop/k_asp, 50)
endphoneme

//================

phoneme #X2 // click, use for indicating combining long vowels
vls alv frc sibilant
lengthmod 3
WAV(ustop/percus02, 60)
endphoneme


phoneme r
liquid rhotic
lengthmod 3
IF thisPh(isWordEnd) THEN
CALL base/r/
ELSE
IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) THEN
IF nextPhW(v) THEN
ChangePhoneme(**) // test for lang=ta
ENDIF
IF nextPhW(isUStop) OR nextPhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ENDIF

IF nextPhW(V) THEN // [V] may be removed by ChangePhoneme(NULL)
IF next2PhW(isUStop) OR next2PhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ELSE
IF nextPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF
ENDIF
ENDIF
CALL base/r
ENDIF
ipa ɾ
endphoneme


+ 572
- 0
phsource/ph_hindi_base View File

@@ -0,0 +1,572 @@

//====================================================
// Base for Hindi and other Indian languages
//====================================================

phoneme : // Lengthen the previous vowel by "length"
virtual
length 100
endphoneme

phoneme @
vowel flag1 starttype #@ endtype #@
length 130

ChangeIfDiminished(@-)
IF nextPh(H) OR prevPh(H) THEN
FMT(vowel/@_low)
ENDIF
IF nextPh(j) THEN
FMT(vowel/V_3)
ENDIF
FMT(vowel/@_bck)
endphoneme


phoneme V
vowel flag1 starttype #@ endtype #@
length 140

IF thisPh(isWordStart) THEN
FMT(vowel/V_3)
RETURN
ENDIF

IF thisPh(isNotStressed) THEN
length 130

IF thisPh(isWordEnd) AND NOT thisPh(isFirstVowel) THEN
ChangePhoneme(NULL)
ENDIF

IF prevPh(H) THEN
ChangePhoneme(@)
ENDIF

IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN
IF thisPh(isFinalVowel) AND nextPhW(isNotVowel) THEN
// don't delete schwa before a word-final consonant
ELSE
ChangePhoneme(NULL)
ENDIF
ENDIF

IF prevPh(isPalatal) AND NOT nextPh(H) THEN
ChangePhoneme(@3)
ELSEIF prevPh(r) THEN
ChangePhoneme(@2)
ELSE
ChangePhoneme(@)
ENDIF
ENDIF
IF nextPh(H) OR prevPh(H) THEN
FMT(vowel/@_low)
ENDIF

IF prevPh(w) THEN
FMT(vowel/V_4)
ENDIF

FMT(vowel/V_3)
endphoneme


phoneme @2
vowel flag1 starttype #@ endtype #@
length 130
FMT(vowel/@_low)
endphoneme

phoneme @3
vowel flag1 starttype #@ endtype #@
length 130
ChangeIfDiminished(@-)
FMT(vowel/@_3)
endphoneme




phoneme i:
vowel long starttype #i endtype #i
length 230
IF thisPh(isUnstressed) THEN
ChangePhoneme(i)
ENDIF
IfNextVowelAppend(;)
FMT(vowel/i_fnt)
endphoneme

phoneme i // as [i:] but not marked as 'long'
vowel starttype #i endtype #i
length 230
IfNextVowelAppend(;)
FMT(vowel/ii_6)
endphoneme

phoneme I
vowel starttype #i endtype #i
length 100
IfNextVowelAppend(;)
FMT(vowel/ii_3)
endphoneme

phoneme e:
vowel long starttype #e endtype #e
length 220
FMT(vowel/e_2)
endphoneme

phoneme e
vowel starttype #e endtype #e
length 140
FMT(vowel/e_2)
endphoneme

phoneme E:
vowel long starttype #e endtype #e
length 220
FMT(vdiph/ee-e)
endphoneme

phoneme E
vowel starttype #e endtype #e
length 140
FMT(vowel/e_mid)
endphoneme

phoneme &:
vowel long starttype #a endtype #a
length 220
FMT(vowel/&)
endphoneme


phoneme a:
vowel long starttype #a endtype #a
length 200
IF nextPhW(j) THEN
FMT(vowel/a_5)
ENDIF
FMT(vowel/aa_9)
endphoneme

phoneme a
vowel long starttype #a endtype #a
length 140
FMT(vowel/a#_3)
endphoneme


phoneme o:
vowel long starttype #o endtype #o
length 227
FMT(vowel/o_2)
endphoneme

phoneme o
vowel starttype #o endtype #o
length 140
FMT(vowel/o)
endphoneme

phoneme O:
vowel long starttype #o endtype #o
length 210
FMT(vowel/oo_4)
endphoneme


phoneme O
vowel starttype #o endtype #o
length 140
FMT(vowel/0)
endphoneme


phoneme U
vowel starttype #u endtype #u
length 140
FMT(vowel/uu_bck)
endphoneme


phoneme u:
vowel long starttype #u endtype #u
length 230
FMT(vowel/u_bck)
endphoneme


// Nasal vowels
//=============

phoneme i~
vowel long starttype #i endtype #i
length 220
FMT(vnasal/i_n2)
endphoneme

phoneme I~
vowel long starttype #i endtype #i
length 170
FMT(vnasal/ii_n)
endphoneme

phoneme e~
vowel long starttype #e endtype #e
length 220
FMT(vnasal/e_n)
endphoneme

phoneme E~
vowel long starttype #e endtype #e
length 220
FMT(vnasal/ee_n2)
endphoneme

phoneme a~
vowel long starttype #a endtype #a
length 240
FMT(vnasal/a_n)
endphoneme

phoneme V~
vowel long starttype #@ endtype #@
length 220
FMT(vnasal/V_n)
endphoneme

phoneme O~
vowel long starttype #o endtype #o
length 220
FMT(vnasal/oo_n2)
endphoneme

phoneme o~
vowel long starttype #o endtype #o
length 220
FMT(vnasal/o_n)
endphoneme

phoneme U~
vowel starttype #u endtype #u
length 170
FMT(vnasal/u_n)
endphoneme

phoneme u~
vowel long starttype #u endtype #u
length 220
FMT(vnasal/u_n)
endphoneme


// Diphthongs
//===========


phoneme aI
vowel long starttype #@ endtype #i
length 240
long
FMT(vdiph/&i)
endphoneme

phoneme aU
vowel long starttype #a endtype #u
length 240
long
FMT(vdiph/aau_3)
endphoneme



// CONSONANTS
//===========

phoneme v // approximant, not fricative
import_phoneme base/v#
voicingswitch f
endphoneme


phoneme H // use for full "h"
import_phoneme base/h
endphoneme



// bilabial plosives
//==================

phoneme p
import_phoneme consonants/p-
endphoneme


phoneme p#
import_phoneme consonants/ph
endphoneme


phoneme b // this is [b]
import_phoneme base/b
endphoneme


phoneme b#
vcd blb stop
lengthmod 5
voicingswitch p#
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30

IF PreVoicing THEN
FMT(b/xb)
ENDIF

FMT( b/b@2) addWav(ustop/p_asp, 70)
endphoneme




// dental plosives
//==================

phoneme t // dental variant of /t/
import_phoneme base/t[
voicingswitch d
endphoneme


phoneme t# // dental variant of /t/
vls dnt stop
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_dnt, 35)
ENDIF
WAV(ustop/t_dnt, 50)
endphoneme


phoneme d // dental variant of /d/
import_phoneme base/d[
voicingswitch t
endphoneme


phoneme d#
vcd dnt stop
lengthmod 5
voicingswitch t#
Vowelin f1=0 f2=1500 -300 300 f3=-100 80
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20

IF PreVoicing THEN
FMT(d/xd)
ENDIF

FMT(d/xd3) addWav(ustop/t_dnt, 40)
endphoneme




// retroflex plosives
//===================

phoneme t.
vls rfx stop
lengthmod 2
ipa ʈ
voicingswitch d.
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
WAV(ustop/t_short)
endphoneme

phoneme t.#
vls rfx stop
lengthmod 2
ipa ʈU+02B0
voicingswitch d.#
Vowelin f1=0 f2=1800 -300 300 f3=-200 80
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
IF nextPhW(t.#) THEN
ChangePhoneme(t.)
ENDIF
WAV(ustop/th_rfx2, 80)
endphoneme

phoneme d.
vcd rfx stop
lengthmod 5
voicingswitch t.
ipa ɖ
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xdr)
ENDIF

IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_)
ENDIF

FMT(d/dr) addWav(x/d)
endphoneme


phoneme d.#
vcd rfx stop
lengthmod 5
ipa ɖU+02B0
voicingswitch t.#
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2

IF PreVoicing THEN
FMT(d/xdr)
ENDIF

FMT(d/dr) addWav(ustop/t)
// FMT(d/dr) addWav(ustop/th_rfx)
endphoneme




// palatal plosives
//=================

// also try [tS] and [dZ]

phoneme c
vls pla afr sibilant
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=2300 200 400 f3=-100 80

IF nextPh(isPause2) THEN
WAV(ustop/tsh_)
ENDIF
WAV(ustop/tsh_unasp)
endphoneme



phoneme c#
CALL base/tS;
ipa cU+02B0
endphoneme


phoneme J
import_phoneme base/J
endphoneme


phoneme J#
vcd pal afr sibilant
lengthmod 5
voicingswitch c#
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1

IF PreVoicing THEN
FMT(dzh/xdz_pzd)
ENDIF

FMT(dzh/xdz_pzd) addWav(ustop/ts_pzd)
endphoneme





// velar plosives
//==================


phoneme k
import_phoneme consonants/k-
voicingswitch g
endphoneme

phoneme k#
import_phoneme consonants/k#
voicingswitch g#
endphoneme


phoneme g
import_phoneme base/g
voicingswitch k
endphoneme


phoneme g#
vcd dnt stop
lengthmod 5
voicingswitch k#
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20

IF PreVoicing THEN
FMT(g2/xg)
ENDIF

IF nextPh(isPause2) THEN
FMT(g2/xg) addWav(ustop/k_asp, 35)
ENDIF
FMT(g2/xg) addWav(ustop/k_asp, 50)
endphoneme

//================

phoneme #X2 // click, use for indicating combining long vowels
vls alv frc sibilant
lengthmod 3
WAV(ustop/percus02, 60)
endphoneme


phoneme r
liquid rhotic
lengthmod 3
IF thisPh(isWordEnd) THEN
CALL base/r/
ELSE
IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) THEN
IF nextPhW(isUStop) OR nextPhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ENDIF

IF nextPhW(V) THEN // [V] may be removed by ChangePhoneme(NULL)
IF next2PhW(isUStop) OR next2PhW(isVStop) THEN
ChangePhoneme(*)
ENDIF
ELSE
IF nextPhW(isVowel) THEN
ChangePhoneme(*)
ENDIF
ENDIF
ENDIF
CALL base/r
ENDIF
ipa ɾ
endphoneme


+ 16
- 6
phsource/ph_italian View File

@@ -58,6 +58,10 @@ phoneme i
length 140
IfNextVowelAppend(;)
FMT(vowel/i)

IF thisPh(isWordEnd) AND thisPh(isNotStressed) AND NOT prevPhW(E) THEN
ChangePhoneme(I)
ENDIF
endphoneme


@@ -119,9 +123,9 @@ endphoneme


phoneme aU
vowel starttype #a endtype #o
length 300
FMT(vdiph/aoo)
vowel starttype #a endtype #u
length 270
FMT(vdiph/au_4)
endphoneme


@@ -150,9 +154,15 @@ phoneme l^
endphoneme

phoneme ts
import_phoneme consonants/ts
voicingswitch s
lengthmod 4
vls alv afr sibilant
voicingswitch dz
lengthmod 2
Vowelin f1=1 f2=1700 -300 300 f3=-100 70 len=60
Vowelout f1=2 f2=1700 -300 250 f3=-100 70 rms=14
IF nextPh(isPause2) THEN
WAV(ustop/ts_)
ENDIF
WAV(ustop/ts)
endphoneme

phoneme dz

+ 44
- 0
phsource/ph_marathi View File

@@ -0,0 +1,44 @@

//====================================================
// Marathi, based on ph_hindi
//====================================================


phoneme c
import_phoneme base/c
endphoneme


phoneme c#
CALL base/tS;
ipa cU+02B0
endphoneme


phoneme tS
vls pla afr sibilant
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=2300 200 400 f3=-100 80

IF nextPh(isPause2) THEN
WAV(ustop/tsh_)
ENDIF
WAV(ustop/tsh_unasp)
endphoneme



phoneme aI~
vowel long starttype #@ endtype #i
length 270
long
FMT(vnasal/ai_n)
endphoneme

phoneme aU~
vowel long starttype #a endtype #u
length 300
long
FMT(vnasal/au_n)
endphoneme

+ 3
- 0
phsource/ph_portugal View File

@@ -152,6 +152,9 @@ endphoneme


phoneme s# // This is [s] for Brazil, [S] for Portugal
IF nextPh(isVoiced) THEN
ChangePhoneme(Z)
ENDIF
CALL base/S
ipa ʃ
endphoneme

+ 5
- 1
phsource/ph_pt_brazil View File

@@ -200,7 +200,11 @@ phoneme r-
endphoneme


phoneme s# // This is [s] for Brazi;, [S] for Portugal
phoneme s# // This is [s] for Brazil, [S] for Portugal
IF nextPh(isVoiced) THEN
ChangePhoneme(z)
ENDIF

CALL base/s
ipa s
endphoneme

+ 0
- 2
phsource/ph_spanish View File

@@ -157,5 +157,3 @@ phoneme r
endphoneme





+ 22
- 19
phsource/phonemes View File

@@ -1209,13 +1209,13 @@ phoneme Z

IF KlattSynth THEN
IF nextPh(isPause2) THEN
FMT(klatt/zh_) addWav(vocw/zh)
FMT(klatt/zh_, 60) addWav(vocw/zh, 70)
ENDIF
FMT(klatt/zh) addWav(vocw/zh, 130)
ENDIF

IF nextPh(isPause2) THEN
FMT(voc/zh_) addWav(vocw/zh)
FMT(voc/zh_, 60) addWav(vocw/zh, 70)
ENDIF
FMT(voc/zh) addWav(vocw/zh, 130)
endphoneme
@@ -1738,30 +1738,39 @@ phonemetable nl base
include ph_dutch


phonemetable hi base
phonemetable hi_base base
include ph_hindi_base

phonemetable hi hi_base
include ph_hindi

phonemetable bn hi
phonemetable bn hi_base
include ph_bengali

phonemetable ne hi
phonemetable ne hi_base
include ph_nepali

phonemetable ur hi
phonemetable ur hi_base
include ph_urdu

phonemetable pa hi
phonemetable pa hi_base
include ph_punjabi

phonemetable ta hi
phonemetable ta hi_base
include ph_tamil

phonemetable kn hi
phonemetable kn hi_base
include ph_kannada

phonemetable ml hi
phonemetable ml hi_base
include ph_malayalam

phonemetable gu hi_base
include ph_gujarati

phonemetable mr hi_base
include ph_marathi



phonemetable hu base
@@ -1899,9 +1908,6 @@ include ph_arabic
phonemetable rw base2
include ph_kinyarwanda

//phonemetable mr hi
//include ph_marathi

//phonemetable mn base
//include ph_mongolian

@@ -1932,18 +1938,15 @@ include ph_amhari
phonemetable wo base
include ph_wolof

phonemetable dv hi
phonemetable dv hi_base
include ph_divehi

phonemetable te hi
phonemetable te hi_base
include ph_telugu

phonemetable si hi
phonemetable si hi_base
include ph_sinhala

phonemetable gu hi
include ph_gujarati

phonemetable as bn
include ph_assamese


BIN
phsource/ufric/ts_eu.wav View File


BIN
phsource/ustop/k_unasp2.wav View File


BIN
phsource/ustop/ki_unasp2.wav View File


BIN
phsource/ustop/t_unasp3.wav View File


BIN
phsource/vnasal/ee_n2 View File


BIN
phsource/vowel/i_en View File


+ 1
- 1
src/compiledata.cpp View File

@@ -3749,7 +3749,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references

#include <errno.h>

void CompileMbrola(const char *mbrola_file)
void CompileMbrola(const wxChar *mbrola_file)
{//=================
char *p;
FILE *f_in;

+ 4
- 2
src/dictionary.cpp View File

@@ -1200,6 +1200,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
If 'tonic' is set (>= 0), replace highest stress by this value.

control: bit 0 This is an individual symbol, not a word
bit 1 Suffix phonemes are still to be added
*/

unsigned char phcode;
@@ -1586,11 +1587,12 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
break;
}

if((stressflags & S_FINAL_VOWEL_UNSTRESSED) && (vowel_count > 2) && (max_stress_input < 3) && (vowel_stress[vowel_count - 1] == 4))
if((stressflags & S_FINAL_VOWEL_UNSTRESSED) && ((control & 2) == 0) && (vowel_count > 2) && (max_stress_input < 3) && (vowel_stress[vowel_count - 1] == 4))
{
// Don't allow stress on a word-final vowel
// Only do this if there is no suffix phonemes to be added, and if a stress position was not given explicitly
if(phoneme_tab[final_ph]->type == phVOWEL)
{
// don't allow stress on a word-final vowel
vowel_stress[vowel_count - 1] = 1;
vowel_stress[vowel_count - 2] = 4;
}

+ 3
- 3
src/espeakedit.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
* email: [email protected] *
* Copyright (C) 2013 by Reece H. Dunn *
* *
@@ -63,7 +63,7 @@ extern void DictionarySort(const char *dictname);
extern void init_z();
extern void CompilePhonemeData(void);
extern void CompileSampleRate(void);
extern void CompileMbrola(const char *mbrola_file = NULL);
extern void CompileMbrola(const wxChar *mbrola_file = NULL);
extern void CompileIntonation();
extern void InitSpectrumDisplay();
extern void InitProsodyDisplay();
@@ -652,7 +652,7 @@ void OnOptions2(int event_id)
break;

case MENU_PATH_DATA:
string = wxDirSelector(_T("espeak_data directory"), wxEmptyString);
string = wxDirSelector(_T("espeak_data directory"), path_espeakdata);
if(!string.IsEmpty())
{
if(!wxDirExists(string+_T("/voices")))

+ 31
- 9
src/numbers.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -39,7 +39,7 @@
#include "translate.h"


#define M_LIGATURE 0x8000
#define M_NAME 0
#define M_SMALLCAP 1
#define M_TURNED 2
@@ -111,7 +111,7 @@ static ACCENTS accents_tab[] = {

#define CAPITAL 0
#define LETTER(ch,mod1,mod2) (ch-59)+(mod1 << 6)+(mod2 << 11)
#define LIGATURE(ch1,ch2,mod1) (ch1-59)+((ch2-59) << 6)+(mod1 << 12)+0x8000
#define LIGATURE(ch1,ch2,mod1) (ch1-59)+((ch2-59) << 6)+(mod1 << 12)+M_LIGATURE


#define L_ALPHA 60 // U+3B1
@@ -128,11 +128,12 @@ static ACCENTS accents_tab[] = {
#define L_EZH 70 // U+292
#define L_GLOTTAL 71 // U+294
#define L_RTAP 72 // U+27E
#define L_RLONG 73 // U+27C


static const short non_ascii_tab[] = {
0, 0x3b1, 0x259, 0x25b, 0x3b3, 0x3b9, 0x153, 0x3c9,
0x3c6, 0x283, 0x3c5, 0x292, 0x294, 0x27e
0x3c6, 0x283, 0x3c5, 0x292, 0x294, 0x27e, 0x27c
};


@@ -298,6 +299,8 @@ static const unsigned short letter_accents_0e0[] = {
CAPITAL,
LETTER('z',M_CARON,0),
LETTER('s',M_NAME,0), // long-s // U+17f
// LETTER('b',M_STROKE,0),

};


@@ -345,7 +348,7 @@ static const unsigned short letter_accents_250[] = {
0,//LETTER(L_OMEGA,M_CLOSED,0),
LETTER(L_PHI,0,0), // U+278
LETTER('r',M_TURNED,0),
0,//LETTER('r',M_TURNED,M_LEG),
LETTER(L_RLONG,M_TURNED,0),
LETTER('r',M_RETROFLEX,M_TURNED),
0,//LETTER('r',M_LEG,0),
LETTER('r',M_RETROFLEX,0),
@@ -355,7 +358,7 @@ static const unsigned short letter_accents_250[] = {
LETTER('r',M_TURNED,M_SMALLCAP),
LETTER('s',M_RETROFLEX,0),
0, // esh
0,//LETTER('j',M_BAR,L_IMPLOSIVE),
LETTER('j',M_HOOK,0), //LETTER('j',M_HOOK,M_BAR),
LETTER(L_ESH,M_REVERSED,0),
LETTER(L_ESH,M_CURL,0),
LETTER('t',M_TURNED,0),
@@ -448,7 +451,7 @@ void LookupAccentedLetter(Translator *tr, unsigned int letter, char *ph_buf)
if(basic_letter < 'a')
basic_letter = non_ascii_tab[basic_letter-59];

if(accent_data & 0x8000)
if(accent_data & M_LIGATURE)
{
letter2 = (accent_data >> 6) & 0x3f;
letter2 += 59;
@@ -461,6 +464,12 @@ void LookupAccentedLetter(Translator *tr, unsigned int letter, char *ph_buf)
}


if((accent1==0) && !(accent_data & M_LIGATURE))
{
// just a letter name, not an accented character or ligature
return;
}

if((flags1 = Lookup(tr, accents_tab[accent1].name, ph_accent1)) != 0)
{

@@ -1173,7 +1182,14 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)
return(0); // not '2xx'

if(word[1] == ' ')
return(0); // only one letter, don't speak as a Roman Number
{
if((tr->langopts.numbers & (NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL | NUM_ORDINAL_DOT)) && (wtab[0].flags & FLAG_HAS_DOT))
{
// allow single letter Roman ordinal followed by dot.
}
else
return(0); // only one letter, don't speak as a Roman Number
}

word_start = word;
while((c = *word++) != ' ')
@@ -1552,7 +1568,7 @@ static int LookupNum2(Translator *tr, int value, int thousandplex, const int con

// no, speak as tens+units

if((control & 0x10) && (value < 10))
if((value < 10) && (control & 0x10))
{
// speak leading zero
Lookup(tr, "_0", ph_tens);
@@ -1967,6 +1983,12 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
x |= 0x208; // use #f form for both tens and units
}

if((tr->langopts.numbers2 & NUM2_ZERO_TENS) && ((control & 1) || (hundreds > 0)))
{
// LANG=zh,
x |= 0x10;
}

if(LookupNum2(tr, tensunits, thousandplex, x | (control & 0x100), buf2) != 0)
{
if(tr->langopts.numbers & NUM_SINGLE_AND)

+ 4
- 4
src/readclause.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -44,7 +44,7 @@
#endif

#include <locale.h>
#define N_XML_BUF 256
#define N_XML_BUF 500


static const char *xmlbase = ""; // base URL from <speak>
@@ -2407,9 +2407,9 @@ f_input = f_in; // for GetC etc
else
if((c1 == '<') && (ssml_ignore_l_angle != '<'))
{
if(c2 == '!')
if((c2 == '!') || (c2 == '?'))
{
// a comment, ignore until closing '<'
// a comment, ignore until closing '<' (or <?xml tag )
while(!Eof() && (c1 != '>'))
{
c1 = GetC();

+ 2
- 2
src/setlengths.cpp View File

@@ -168,7 +168,7 @@ void SetSpeed(int control)
{
DoSonicSpeed(1 * 1024);
}
if((wpm_value > 450) || ((wpm_value > speed.fast_settings[0]) && (wpm > 350)))
if((wpm_value >= 450) || ((wpm_value > speed.fast_settings[0]) && (wpm > 350)))
{
wpm2 = wpm;
wpm = 175;
@@ -313,7 +313,7 @@ speed.min_sample_len = (speed.min_sample_len * samplerate_native) / 22050;

#ifdef TEST_SPEED
//if(control==3)
printf("%3d: speedf %d %d %d pause=%d %d wav=%d lenmod=%d %d\n",wpm,speed1,speed2,speed3, speed.pause_factor,speed.clause_pause_factor, speed.wav_factor,speed.lenmod_factor,speed.lenmod2_factor);
printf("%3d: speedf %d %d %d x=%d pause=%d %d wav=%d lenmod=%d %d\n",wpm,speed1,speed2,speed3, speed_lookup[wpm2-80], speed.pause_factor,speed.clause_pause_factor, speed.wav_factor,speed.lenmod_factor,speed.lenmod2_factor);
#endif
} // end of SetSpeed


+ 1
- 1
src/sonic.cpp View File

@@ -773,7 +773,7 @@ static int skipPitchPeriod(
float speed,
int period)
{
long newSamples;
long newSamples = period;
int numChannels = stream->numChannels;

if(speed >= 2.0f) {

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.48.11 31.Aug.14";
const char *version_string = "1.48.15 16.Apr.15";
const int version_phdata = 0x014801;

int option_device_number = -1;

+ 14
- 4
src/tr_languages.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -72,7 +72,7 @@
#define OFFSET_ETHIOPIC 0x1200


// character ranges must be listed in ascending order
// character ranges must be listed in ascending unicode order
ALPHABET alphabets [] = {
{"_el", OFFSET_GREEK, 0x380, 0x3ff, L('e','l'), AL_DONT_NAME | AL_NOT_LETTERS | AL_WORDS},
{"_cyr", OFFSET_CYRILLIC, 0x400, 0x52f, 0, 0},
@@ -563,6 +563,13 @@ Translator *SelectTranslator(const char *name)

tr->langopts.numbers = NUM_SWAP_TENS;
tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi

if(name2 == L_mni)
{
tr->langopts.numbers = 1;
tr->langopts.numbers2 = NUM2_SWAP_THOUSANDS;
}

}
break;

@@ -887,6 +894,7 @@ Translator *SelectTranslator(const char *name)
case L('o','r'): // Oriya
case L('p','a'): // Punjabi
case L('g','u'): // Gujarati
case L('m','r'): // Marathi
{
static const short stress_lengths_hi[8] = {190, 190, 210, 210, 0, 0, 230, 250};
static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 };
@@ -1078,6 +1086,7 @@ SetLengthMods(tr,3); // all equal
tr->langopts.param[LOPT_REDUCE] = 1; // reduce vowels even if phonemes are specified in it_list
tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2
tr->langopts.numbers = NUM_SINGLE_VOWEL | NUM_OMIT_1_HUNDRED |NUM_DECIMAL_COMMA | NUM_ROMAN | NUM_DFRACTION_1 | NUM_ROMAN_CAPITALS | NUM_ROMAN_AFTER;
tr->langopts.numbers2 = NUM2_NO_TEEN_ORDINALS;
tr->langopts.accents = 2; // Say "Capital" after the letter.
SetLetterVowel(tr,'y');
}
@@ -1500,7 +1509,6 @@ SetLengthMods(tr,3); // all equal
case L('t','a'): // Tamil
case L('k','n'): // Kannada
case L('m','l'): // Malayalam
case L('m','r'): // Marathi
case L('t','e'): // Telugu
{
SetupTranslator(tr,stress_lengths_ta2, stress_amps_ta);
@@ -1681,7 +1689,9 @@ SetLengthMods(tr,3); // all equal
{
tr->langopts.textmode = 1;
tr->langopts.listx = 1; // compile zh_listx after zh_list
}
tr->langopts.numbers = 1;
tr->langopts.numbers2 = NUM2_ZERO_TENS;
tr->langopts.break_numbers = 0x00018; }
}
break;


+ 9
- 2
src/translate.cpp View File

@@ -865,6 +865,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
int wmark;
int was_unpronouncable = 0;
int loopcount;
int add_suffix_phonemes = 0;
WORD_TAB wtab_null[8];

// translate these to get pronunciations of plural 's' suffix (different forms depending on
@@ -1469,6 +1470,12 @@ if(end_type & SUFX_UNPRON)

/* determine stress pattern for this word */
/******************************************/
add_suffix_phonemes = 0;
if(end_phonemes[0] != 0)
{
add_suffix_phonemes = 2;
}

prefix_stress = 0;
for(p = prefix_phonemes; *p != 0; p++)
{
@@ -1520,9 +1527,9 @@ if(end_type & SUFX_UNPRON)
else
{
if(prefix_phonemes[0] == 0)
SetWordStress(tr, phonemes, dictionary_flags, -1, 0);
SetWordStress(tr, phonemes, dictionary_flags, -1, add_suffix_phonemes);
else
SetWordStress(tr, phonemes, dictionary_flags, -1, 0);
SetWordStress(tr, phonemes, dictionary_flags, -1, add_suffix_phonemes);
#ifdef PLATFORM_WINDOWS
sprintf(word_phonemes, "%s%s%s", unpron_phonemes, prefix_phonemes, phonemes);
#else

+ 3
- 0
src/translate.h View File

@@ -518,6 +518,7 @@ typedef struct {
#define NUM2_THOUSANDS_VAR4 0x100
#define NUM2_THOUSANDS_VAR5 0x140

#define NUM2_SWAP_THOUSANDS 0x200
#define NUM2_ORDINAL_NO_AND 0x800
#define NUM2_MULTIPLE_ORDINAL 0x1000
#define NUM2_NO_TEEN_ORDINALS 0x2000
@@ -527,6 +528,7 @@ typedef struct {
#define NUM2_OMIT_1_HUNDRED_ONLY 0x20000
#define NUM2_ORDINAL_AND_THOUSANDS 0x40000
#define NUM2_ORDINAL_DROP_VOWEL 0x80000 // currently only for tens and units
#define NUM2_ZERO_TENS 0x100000
// bits 1-4 use variant form of numbers before thousands,millions,etc.
// bits 6-8 use different forms of thousand, million, etc (M MA MB)
// bit9=(LANG=rw) say "thousand" and "million" before its number, not after
@@ -539,6 +541,7 @@ typedef struct {
// bit17=(LANG=ml) omit "one" before hundred only if there are no previous digits
// bit18=(LANG=ta) same variant for ordinals and thousands (#o = #a)
// bit19=(LANG=te) drop final vowel from cardial number before adding ordinal suffix
// bit20=(LANG=zh) say zero tens
int numbers2;

#define BREAK_THOUSANDS 0x49249248

+ 3
- 3
src/voices.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -613,7 +613,7 @@ voice_t *LoadVoice(const char *vname, int control)
static const char *voices_asia =
"az bn fa fa-pin gu hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue vi-sgn zh zh-yue ";
static const char *voices_europe =
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";
"an bg bs ca cs cy da de el en en-us es et eu fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";


strncpy0(voicename, vname, sizeof(voicename));
@@ -875,7 +875,7 @@ voice_t *LoadVoice(const char *vname, int control)
else
{
if((key==V_NUMBERS) && (n < 64))
langopts->numbers |= (1 << (n-32));
langopts->numbers2 |= (1 << (n-32));
else
fprintf(stderr,"Bad option number %d\n", n);
}

Loading…
Cancel
Save