Browse Source

Merge branch 'master' into android

master
Reece H. Dunn 11 years ago
parent
commit
9008ff311d
81 changed files with 4673 additions and 1169 deletions
  1. 8
    0
      Makefile.am
  2. 2
    0
      README.md
  3. 7
    1
      autogen.sh
  4. 2
    1
      dictsource/as_rules
  5. 1
    0
      dictsource/cy_rules
  6. 67
    10
      dictsource/da_list
  7. 28
    61
      dictsource/da_rules
  8. 129
    8
      dictsource/el_list
  9. 117
    1
      dictsource/el_rules
  10. 361
    153
      dictsource/en_list
  11. 226
    103
      dictsource/en_rules
  12. 132
    0
      dictsource/eu_list
  13. 147
    0
      dictsource/eu_rules
  14. 235
    31
      dictsource/fa_list
  15. 133
    103
      dictsource/fa_rules
  16. 4
    5
      dictsource/fr_rules
  17. 3
    0
      dictsource/grc_rules
  18. 3
    3
      dictsource/gu_list
  19. 14
    14
      dictsource/gu_rules
  20. 5
    6
      dictsource/hbs_list
  21. 68
    0
      dictsource/hi_list
  22. 6
    5
      dictsource/hu_list
  23. 1055
    350
      dictsource/it_list
  24. 277
    89
      dictsource/it_listx
  25. 84
    17
      dictsource/it_rules
  26. 16
    2
      dictsource/nl_list
  27. 10
    2
      dictsource/nl_rules
  28. 74
    31
      dictsource/pt_list
  29. 53
    20
      dictsource/pt_rules
  30. 11
    10
      dictsource/ta_list
  31. 155
    13
      dictsource/ta_rules
  32. 14
    0
      dictsource/te_list
  33. 94
    0
      dictsource/ur_list
  34. 30
    1
      dictsource/ur_rules
  35. 4
    3
      espeak-data/voices/asia/fa
  36. 1
    1
      espeak-data/voices/asia/fa-pin
  37. 0
    0
      espeak-data/voices/asia/gu
  38. 0
    0
      espeak-data/voices/asia/te
  39. 13
    4
      espeak-data/voices/mb/mb-ir1
  40. 22
    0
      espeak-data/voices/mb/mb-ir2
  41. 1
    1
      espeak-data/voices/other/en-sc
  42. 2
    1
      espeak-data/voices/other/lfn
  43. 3
    0
      espeak-data/voices/test/eu
  44. 2
    1
      mkdictlist
  45. 518
    0
      phsource/ph_arabic
  46. 2
    2
      phsource/ph_armenian
  47. 186
    0
      phsource/ph_basque
  48. 16
    0
      phsource/ph_english
  49. 6
    0
      phsource/ph_english_us
  50. 20
    3
      phsource/ph_german
  51. 17
    5
      phsource/ph_hindi
  52. 2
    2
      phsource/ph_italian
  53. 1
    23
      phsource/ph_lithuanian
  54. 71
    0
      phsource/ph_yoruba
  55. 7
    3
      phsource/phonemes
  56. BIN
      phsource/vwl_ar/H2.wav
  57. BIN
      phsource/vwl_ar/SA1.wav
  58. BIN
      phsource/vwl_ar/ZH4.wav
  59. BIN
      phsource/vwl_ar/ain2.wav
  60. BIN
      phsource/vwl_ar/da7.wav
  61. BIN
      phsource/vwl_ar/ghain6.wav
  62. BIN
      phsource/vwl_ar/kha.wav
  63. 2
    2
      platforms/windows/make_espeak.iss
  64. 1
    1
      platforms/windows/make_espeakedit.iss
  65. 9
    1
      src/compiledata.cpp
  66. 21
    6
      src/compiledict.cpp
  67. 46
    13
      src/dictionary.cpp
  68. 7
    1
      src/espeakedit.cpp
  69. 21
    9
      src/numbers.cpp
  70. 8
    0
      src/phonemelist.cpp
  71. 13
    10
      src/prosodydisplay.cpp
  72. 15
    3
      src/readclause.cpp
  73. 2
    1
      src/sonic.cpp
  74. 3
    15
      src/speak.cpp
  75. 2
    2
      src/synthdata.cpp
  76. 20
    4
      src/synthesize.cpp
  77. 4
    3
      src/synthesize.h
  78. 11
    2
      src/tr_languages.cpp
  79. 5
    3
      src/translate.cpp
  80. 16
    2
      src/translate.h
  81. 2
    2
      src/voices.cpp

+ 8
- 0
Makefile.am View File

@@ -187,6 +187,7 @@ phsource/phonemes.stamp: \
phsource/ph_assamese \
phsource/ph_azerbaijani \
phsource/ph_base2 \
phsource/ph_basque \
phsource/ph_bengali \
phsource/ph_bulgarian \
phsource/ph_catalan \
@@ -323,6 +324,7 @@ dictionaries: src/espeak \
espeak-data/eo_dict \
espeak-data/es_dict \
espeak-data/et_dict \
espeak-data/eu_dict \
espeak-data/fa_dict \
espeak-data/fi_dict \
espeak-data/fr_dict \
@@ -478,6 +480,12 @@ dictsource/et_extra:
espeak-data/et_dict: src/espeak phsource/phonemes.stamp dictsource/et_list dictsource/et_rules dictsource/et_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=et && cd ..

eu: espeak-data/eu_dict
dictsource/eu_extra:
touch dictsource/eu_extra
espeak-data/eu_dict: src/espeak phsource/phonemes.stamp dictsource/eu_list dictsource/eu_rules dictsource/eu_extra
cd dictsource && ESPEAK_DATA_PATH=$(PWD) LD_LIBRARY_PATH=../src:${LD_LIBRARY_PATH} ../src/espeak --compile=eu && cd ..

fa: espeak-data/fa_dict
dictsource/fa_extra:
touch dictsource/fa_extra

+ 2
- 0
README.md View File

@@ -2,6 +2,8 @@

[![eSpeak for Android on Google Play](https://developer.android.com/images/brand/en_app_rgb_wo_45.png "eSpeak for Android on Google Play")](https://play.google.com/store/apps/details?id=com.reecedunn.espeak)

[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=rhdunn&url=https://github.com/rhdunn/espeak&title=espeak&language=&tags=github&category=software)

- [Build Dependencies](#build-dependencies)
- [Debian](#debian)
- [Building](#building)

+ 7
- 1
autogen.sh View File

@@ -1,5 +1,11 @@
#!/bin/sh

LIBTOOLIZE=`which libtoolize`
if ! test -f "$LIBTOOLIZE" ; then
# Mac OSX support ...
LIBTOOLIZE=`which glibtoolize`
fi

mkdir -p m4
touch AUTHORS
touch NEWS
@@ -11,7 +17,7 @@ fi

aclocal -I m4 || exit 1

libtoolize || exit 1
${LIBTOOLIZE} || exit 1
autoheader || exit 1
automake --add-missing || exit 1
autoconf || exit 1

+ 2
- 1
dictsource/as_rules View File

@@ -340,7 +340,8 @@
ঃ (_ H

.group ্ // virama/hoshonto



// D_) - (_D bij'og

+ 1
- 0
dictsource/cy_rules View File

@@ -22,6 +22,7 @@

ae AY
ai aI
a'i (K aI
au aY
// @) au (_ a
aw (+ aU

+ 67
- 10
dictsource/da_list View File

@@ -102,7 +102,7 @@ _9 n'?i
_10 t'?i
_11 '?Elv@
_12 t'Vl
_13 t*'?&#d@-n
_13 tR'?&#d@-n
_14 fj'ord@-n
_15 f'Emd@-n
_16 s'Ajsd@-n
@@ -327,9 +327,7 @@ penthouse _^_EN
pidgin _^_EN
ranger _^_EN
receiver _^_EN
//research _^_EN
remake _^_EN
roadie _^_EN
run _^_EN
scanner _^_EN
science _^_EN
@@ -367,7 +365,6 @@ bronx _^_EN
boyle _^_EN
cyrus _^_EN
cia _^_EN
fox _^_EN
leroy _^_EN
luke _^_EN
mansfield _^_EN
@@ -377,7 +374,61 @@ oregon _^_EN
piccadilly _^_EN
reynolds _^_EN
white _^_EN

Churchill tSW:S?il
Cambridge kEjmbRIdZ
clementine kl?EmIntaIn
canterbury k?&nt?Vbri
connecticut k?Vn'?et?ik?Vd
carlisle kAlaIl
china tjaIn?&
_) cape (_town k?Ejp
_) chuck tS?Vk
cleveland kli:vl?&n
_) cartier k?Artj'?e
chagall S?&g'?&l
connie k?Vni
chablis S?&bl'?i
coleridge kOwlr?idZ
cincinnati sensin'&ti
chihuahua tSiw'awa
connor k?Vn?V
creasy kris?i
cutler k?Vtl?V
courtney kOtn?i
_) cathy k?&T?i
_) cagney k?&gn?i
cheryl S?Er?el/2
cohen kOu@-n
_) cardin kArd'?&N // name
cézanne s?es'&n // Cézanne
cézannen s?es'&n@-n // Cézannen
cockney kVknI
clerk klA:k // Clerkenwell
carmine kA:maIn
shaughnessy S?On?Es?i
sully s?Vl?i
spielberg sp?ilbW:g
sotheby s?VD@-bi
shelagh Si:l?&
_) shirley SWl?i
shaw SO:
schweiz svaIts
sussex s?Vs?Egs
seamus SEim@-s
_) steve stiv
_) steven stiv@-n
sheila Si:l?&
_) stone sdoun
sonya s?Vnj?&
sophie sOuf?i
spitfire sp?etfaI?V
suffolk s?Vf?Vk
solsjenitsyn s?Vlsj@n'?its?in
sloane slOwn
slovakiet sl?ov?&k'?i@D
swanee sw?Vn?i // Swanee River
Sydney s?idn?i
Shakespeare S?Eiksb?ir
// French words
croquis _^_FR
crouton _^_FR
@@ -6143,6 +6194,7 @@ eskorter $alt
espalier $alt
estimer $alt
etabler $alt
genetabler $alt
etagere $alt
etikettere $alt
etymologiser $alt
@@ -6375,6 +6427,7 @@ insister $alt
inspicer $alt
inspirer $alt
installer $alt
afinstaller $alt
instituer $alt
institutionaliser $alt
instruer $alt
@@ -6841,7 +6894,7 @@ perspektivere $alt
perturber $alt
perverter $alt
petitioner $alt
pigmenter $alt
pigmentere $alt
piker $alt
pilotere $alt
pioner $alt
@@ -11202,6 +11255,9 @@ fx fVegsemp@l // PB "fx" is short for 'for eksempel'
(cd'en) se:de:3n // PB
(cd'er) se:de:V // PB
emp $abbrev
dna $abbrev
dna's d?e?En'?&s
dna'et d?e?En'?&@-D
evt evEntu'El $abbrev $hasdot
hbo $abbrev // TV station
usa $abbrev
@@ -11243,12 +11299,13 @@ ikes ajks // PB
(det kvarter) de||kvA'ter
(i kvarter) i||kv'A:dV
// the verb 'have', not the noun 'have' = garden/oceans
(at have) &||h&
(vil have) vel||h'&
(at have) ?&||h?&
(vil have) v?el||h'?&
(ville have) v?il3||h'&
(skulle have) sg'?ul@-||h'&
(du have) du||h&_!
(må have) mO:||h&
(du have) du||h?&_!
(må have) mO:||h?&
(man have) m?&n|h?&
(skal have) sk?&||h&
(helst have) h'Elst||h&
(gerne have) g'Ern3||h&

+ 28
- 61
dictsource/da_rules View File

@@ -1648,57 +1648,45 @@ frederi) c (ia =ks
_) ciao (_ tSj?Aw
claude klO:d // name
claudette kl?Od'et // name
churchill tSW:S?il
cambridge kejmbR?idZ
clementine kl?EmIntaIn
canterbury k&ntVbri
connecticut kVn'etikVd
carlisle kAlaIl
china tjaIn&
_) cape (_town k?Ejp // name
_) chuck tS?Vk // name
cleveland kli:vl&n
// churchill tSW:S?il
// cambridge kejmbR?idZ
// clementine kl?EmIntaIn
// canterbury k&ntVbri
// connecticut kVn'etikVd
// carlisle kAlaIl
// china tjaIn&
// _) cape (_town k?Ejp // name
// _) chuck tS?Vk // name
// cleveland kli:vl&n
croissant kr?o?as'AN
_) cartier k?Artj'?e
// _) cartier k?Artj'?e
clair (voy kl?Er // clairvoyance
co (nrad k?V // name
country k?Vntr?i //
chagall S?&g'?&l // name
// chagall S?&g'?&l // name
_ali) ce s
connie k?Vni
chablis S?&bl'?i
// connie k?Vni
// chablis S?&bl'?i
creme kr?Em
creme (n kr?Em@
catering k?Eit@r?iN
piccadilly_) circus sWk@s
coleridge kOwlr?idZ
//piccadilly_) circus sWk@s
// coleridge kOwlr?idZ
colada k?ol'AD&
creek kri:k
camembert k?Am?ANb'Er
crazy kREjsi // Crazy Horse
cincinnati sensin'&ti
chihuahua tSiw'awa
connor k?Vn?V // name
creasy kris?i // name
// cincinnati sensin'&ti
// chihuahua tSiw'awa
// connor k?Vn?V // name
// creasy kris?i // name
north_) carolina k?&rol'aIn&
piccadilly_) circus sWk@s
c (ello Sj
c (ellofan s
cutler kVtlV // name
cajun kEdZ3n // English pronunciation
courtney kO:tni
north_) carolina k&rol'aIn&
_) cathy k&Ti // name
_) cagney k&gni // name
cottage kVtidZ
cheryl SErel/2
cohen kOu@-n // name
cieux sj'W // Bonacieux
_) cardin kArd'&N // name
cézanne ses'&n // Cézanne
cézannen ses'&n@-n // Cézannen
cockney kVknI
clerk klA:k // Clerkenwell
carmine kA:maIn // name

.group d

d d
@@ -8444,24 +8432,20 @@ fransi) sc (o =sk //
s (cigar s // majscigaret
sc (oo sk // scooter, scoop
_) sh S // shaman
_) shirley SWli // name
fi) sh (er S //
shot SVt // snapshot
shaw SO: // name
sc (or sk // score
me) sc (al sk //
sco (t skV // Scotland Yard
skateboard skEjtbO:d //
shaughnessy SOnEsi // name
sully sVli // name
spielberg spilbW:g // name
sotheby sVD@-bi // name
shelagh Si:l& // name

///JD s suffix - $alt words in da_list
// 2-3.000 words end with s, so this cannot be a general suffix.
// There would be too many exceptions.
&) s (_$p_altS1 s
// For names in da_list with an added genitive s - Chihuahuas, Churchills
@) s (_S1 s

abce) s s // not a suffix
rece) s s // not a suffix
@@ -8496,13 +8480,12 @@ franci) sc (o sk // Francisco
sch S // changed from [s(ch] - gullasch
sj (o Sj // sjov
salg) s s // salgschef
sh (erif S //
su) sh (i S //
ha) sh S //
sh (erif S
su) sh (i S
ha) sh S
sma) sh S // smashe
sch (ool sk //
sherman SW:m?&n // Sherman kampvogn
schweiz svaIts //
sioux su: // red indian
al) sace 's?&s // Alsace (French region)
_) sion si:?Vn // Sion, Sions kirke
@@ -8520,20 +8503,11 @@ franci) sc (o sk // Francisco
i) scene (s s'en@ // stressed 'e - iscenesætte
speak spi:k // eSpeak
siegfried _^_DE //
slovakiet slov&k'i@D //
show Sou //
sydney sidni //
shakespeare SEiksbi:r //
suther sVDV // Southerland
squash sgwVS //
sussex sVsEgs //
shire S@ // British towns with final -shire
seamus SEim@-s // name
_) steve sti:v // name
_) steven stiv@-n // name
sheila Si:l& // name
shor (t SO // shorts
_) stone sdoun // namde - Stone
empire_) state (_ stEjt //
_) sir (_ sW: // Sir Arthur
sher (wood SW: // Sherwood Forrest
@@ -8542,16 +8516,9 @@ empire_) state (_ stEjt //
la) sur s'?ur // lasurfarve, glasur
_) sugar (_ S?ugV // Sugar Ray
savoir s&voa: // savoir-faire
sonya sVnj& // name
sophie sOufi // name
sightseeing saItsi:eN //
spitfire spetfaIV //
suffolk sVfVk //
screwdriver skRudraIvV //
sunday sVndi // Sunday Times
solsjenitsyn s?Vlsj@n'?its?in //
sloane slOwn // name
swanee sw?Vn?i // Swanee River
sweet swi:t //

er_) sig (_til sAj // avoid [si] - glæder sig [saj] til

+ 129
- 8
dictsource/el_list View File

@@ -227,6 +227,7 @@ $ Dol'aria

αλλά $u $pause // but
και ke $u // and (don't change to [ge] after n)
καί ke $u // polytonic
ή $u $pause // or
ότι $u $pause // that
αν $u $pause // if, whether
@@ -276,21 +277,141 @@ _ο 'omikron
ψ psi
ω om'eQa

ά ,alfa|t'onos
ά ,alfa||t'onos
έ ,epsilon|t'onos
_ή ,ita|t'onos
ή ,ita|t'onos $atend
ί i,ota|t'onos
ΰ ,ipsilon|t'onos
ϊ i'ota
ϋ 'ipsilon
_ή ,ita||t'onos
ή ,ita||t'onos $atend
ί i,ota||t'onos
ϊ i'ota||Di;alitik'a
ΐ i,ota||Di;alitik'a||t'onos // + dialytika
ό ,omikron|t'onos
ύ ,ipsilon|t'onos
ώ om,eQa|t'onos
ϋ 'ipsilon||Di;alitik'a
ΰ ,ipsilon|Di;alitik'a||t'onos
ώ om,eQa||t'onos

ὰ ,alfa||var'ia
ὲ ,epsilon|var'ia
ὴ ,ita||var'ia
ὶ i,ota||var'ia
ῒ i,ota||Di;alitik'a||var'ia
ὸ ,omikron|var'ia
ὺ ,ipsilon|var'ia
ῢ ,ipsilon|Di;alitik'a||var'ia
ὼ om,eQa||var'ia

ά ,alfa||oks'ia
έ ,epsilon|oks'ia
ή ,ita||oks'ia
ί i,ota||oks'ia
ΐ i,ota||Di;alitik'a||oks'ia
ό ,omikron|oks'ia
ύ ,ipsilon|oks'ia
ΰ ,ipsilon|Di;alitik'a||oks'ia
ώ om,eQa||oks'ia

ᾶ ,alfa||perispom'eni
ῆ ,ita||perispom'eni
ῖ i,ota||perispom'eni
ῗ i,ota||Di;alitik'a||perispom'eni
ῦ ,ipsilon||perispom'eni
ῧ ,ipsilon||Di;alitik'a||perispom'eni
ῶ om,eQa||perispom'eni

ἁ ,alfa||Das'ia
ἑ ,epsilon|Das'ia
ἡ ,ita||Das'ia $atend
ἱ i,ota||Das'ia
ὁ ,omikron|Das'ia $atend
ὑ ,ipsilon|Das'ia
ὡ om,eQa||Das'ia

ἀ ,alfa||psil'i
ἂ ,alfa||psil'i||var'ia
ἄ ,alfa||psil'i||oks'ia
ἆ ,alfa||psil'i||perispom'eni

ἐ ,epsilon|psil'i
ἒ ,epsilon|psil'i||var'ia
ἔ ,epsilon|psil'i||oks'ia

ἠ ,ita||psil'i
ἢ ,ita||psil'i||var'ia
ἤ ,ita||psil'i||oks'ia
ἦ ,ita||psil'i||perispom'eni

ἰ i,ota||psil'i
ἲ i,ota||psil'i||var'ia
ἴ i,ota||psil'i||oks'ia
ἶ i,ota||psil'i||perispom'eni

ὀ ,omikron|psil'i
ὂ ,omikron|psil'i||var'ia
ὄ ,omikron|psil'i||oks'ia

ὐ ,ipsilon|psil'i
ὒ ,ipsilon|psil'i||var'ia
ὔ ,ipsilon|psil'i||oks'ia
ὖ ,ipsilon|psil'i||perispom'eni

ὠ om,eQa||psil'i
ὢ om,eQa||psil'i||var'ia
ὤ om,eQa||psil'i||oks'ia
ὦ om,eQa||psil'i||perispom'eni

ἁ ,alfa||Das'ia
ἃ ,alfa||Das'ia||var'ia
ἅ ,alfa||Das'ia||oks'ia
ἇ ,alfa||Das'ia||perispom'eni

ἑ ,epsilon|Das'ia
ἓ ,epsilon|Das'ia||var'ia
ἕ ,epsilon|Das'ia||oks'ia

ἡ ,ita||Das'ia $atend
ἣ ,ita||Das'ia||var'ia
ἥ ,ita||Das'ia||oks'ia
ἧ ,ita||Das'ia||perispom'eni

ἱ i,ota||Das'ia
ἳ i,ota||Das'ia||var'ia
ἵ i,ota||Das'ia||oks'ia
ἷ i,ota||Das'ia||perispom'eni

ὁ ,omikron|Das'ia $atend
ὃ ,omikron|Das'ia||var'ia
ὅ ,omikron|Das'ia||oks'ia

ὑ ,ipsilon|Das'ia
ὓ ,ipsilon|Das'ia||var'ia
ὕ ,ipsilon|Das'ia||oks'ia
ὗ ,ipsilon|Das'ia||perispom'eni

ὡ om,eQa||Das'ia
ὣ om,eQa||Das'ia||var'ia
ὥ om,eQa||Das'ia||oks'ia
ὧ om,eQa||Das'ia||perispom'eni

// ypogegrammeni
ᾳ ,alfa||||ipojeQram'eni

ῃ ,ita||||ipojeQram'eni

ῳ om,eQa||ipojeQram'eni
ῷ om,eQa||perispom'eni||ipojeQram'eni
ᾠ om,eQa||psil'i||ipojeQram'eni

_. tel'ia
_, k'oma

U+342 perispom'eni // combining accent
U+345 ipojeQram'eni // combining iota subscript
U+37a ipojeQram'eni // iota subscript
U+1fbf psil'i
U+1fc0 perispom'eni
U+1fc1 Di;alitik'a||perispom'eni


// Jer
μου $u
σου $u

+ 117
- 1
dictsource/el_rules View File

@@ -12,6 +12,117 @@

.L01 αι ε ι η υ οι ει αί έ ί ή ύ οί εί

.replace
// replace varia by tonos
ὰ ά
ὲ έ
ὴ ή
ὶ ί
ῒ ΐ
ὸ ό
ὺ ύ
ῢ ΰ
ὼ ώ

// replace oxia by tonos
ά ά
έ έ
ή ή
ί ί
ΐ ΐ
ό ό
ύ ύ
ΰ ΰ
ώ ώ

// replace perispomeni by tonos
ᾶ ά
ῆ ή
ῖ ί
ῗ ΐ
ῦ ύ
ῧ ΰ
ῶ ώ


// remove psili
ἀ α
ἂ ά
ἄ ά
ἆ ά

ἐ ε
ἒ έ
ἔ έ

ἠ η
ἢ ή
ἤ ή
ἦ ή

ἰ ι
ἲ ί
ἴ ί
ἶ ί

ὀ ο
ὂ ό
ὄ ό

ὐ υ
ὒ ύ
ὔ ύ
ὖ ύ

ὠ ω
ὢ ώ
ὤ ώ
ὦ ώ


// remove dasia
ἁ α
ἃ ά
ἅ ά
ἇ ά

ἑ ε
ἓ έ
ἕ έ

ἡ η
ἣ ή
ἥ ή
ἧ ή

ἱ ι
ἳ ί
ἵ ί
ἷ ί

ὁ ο
ὃ ό
ὅ ό

ὑ υ
ὓ ύ
ὕ ύ
ὗ ύ

ὡ ω
ὣ ώ
ὥ ώ
ὧ ώ

// ypogegrammeni
ᾳ α

ῃ η

ῳ ω
ῷ ώ // perispomeni + y
ᾠ ω // psili + y


.group α
α a
@@ -242,15 +353,20 @@
έ 'e
ή 'i
ί 'i
ΰ 'i
ΐ 'i // dialytika + tonos
ϊ i
ϋ i
ό 'o
όη 'oI
όι 'oI
ύ 'i
ΰ 'i // dialytika + tonos
ώ 'o


ͅ // combining ypogegrammeni
ͺ // ypogegrammeni
. tel'ia
, (D k'oma
! Tavmastik'o

+ 361
- 153
dictsource/en_list
File diff suppressed because it is too large
View File


+ 226
- 103
dictsource/en_rules
File diff suppressed because it is too large
View File


+ 132
- 0
dictsource/eu_list View File

@@ -0,0 +1,132 @@
// This file is UTF8 encoded
// Spelling-to-phoneme words for Basque

b be
c ze
d de
f efe
g ge
h atSe
j xota
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||grekoa
z zeta

_a a
_e e
_i i
_o o
_u u


// numbers
_0 zer'o
_1 b'at
_2 b'i
_3 hir'u
_4 l'aU
_5 b'ost
_6 s'eI
_7 zazp'i
_8 zort'i
_9 beD'eratzi
_10 am'aR2
_11 am'aIka
_12 amaB'i
_13 ama'ir,u
_14 amal'aU
_15 amaB'ost
_16 amas'eI
_17 amazazp'i
_18 emezort'i
_19 emeretz'i
_20 hoQ'eI
_2X hoQ'eIta
_40 b'eR2oQeI
_4X b'eR2oQeIta2
_60 ir'uroQeI
_6X ir'uroQeIta2
_80 l'aUroQeI
_8X l'aUroQeIta2
_1C e'un
_2C b'eR2eun
_0C R2e,un
_0M1 mil'a
_0M2 mil^'i;oI
_0and eta
_dpt _koma


// names of punctuation and symbol characters



// functuion words
// conjunctions
eta $u+ $pause // and
bainan $pause


// pronouns
ni $u+
zu $u+
hura $u+
gu $u+
zuek $u+
haiek $u+

nire $u+ // possessive
zure $u+
haren $u+
bere $u+
gure $u+
zuen $u+
haien $u+
beren $u+

hau $u+ // this
hori $u+ // that
hura $u+ // that (further)

// auxillary verbs
izan $u // to be
naiz $u
zara $u
da $u
gara $u
zarete $u
dira $u

egon $u // to be
nago $u
zaude $u
gaude $u
zaudete $u
daute $u


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


etxe $1 $only


+ 147
- 0
dictsource/eu_rules View File

@@ -0,0 +1,147 @@

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


.group a
a a
ai aI
au aU


.group b
b b


.group c
c k
c (e s
c (i s


.group d
d d
Ki) d (A J
dd J
A) d (A D // ??




.group e
e e
ei eI
eu eU

&) ek (_S2 ek

.group f
f f


.group g
g g
A) g (A Q // ??


.group h
h // silent


.group i
i i


.group j
j J // try [x] [J] [j] [J^] [Z] [S]


.group k
k k


.group l
l l
ll l^
Ki) l (A l^


.group m
m m


.group n
n n
Ki) n (A n^


.group ñ
ñ n^


.group o
o o
oi oI


.group p
p p


.group q
q k
qu kw
que (_ k


.group r
r r
_) r R2
r (_ R2
rr R2


.group s
s s


.group t
t t
Ki) t (A c
ts ts
tt c
tx tS
tz tz


.group u
u u


.group v
v v


.group w
w w


.group x
x S


.group y
y j
K) y (K i


.group z
z z



.group
ç s
ü Y


+ 235
- 31
dictsource/fa_list
File diff suppressed because it is too large
View File


+ 133
- 103
dictsource/fa_rules View File

@@ -1,5 +1,5 @@
// * Farsi Language fa (or Parsi or Persian) fa_rules Version 3.1
// * This file writen by Shadyar Khodayari 11-14-2013
// * Farsi Language fa (or Parsi or Persian) fa_rules Version 3.11
// * This file writen by Shadyar Khodayari 02-05-2014
//*********
// * 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 *
@@ -24,10 +24,6 @@

// replacing unknown characters and Arabic numbers with Farsi characters and Latin numbers
.replace
٪ %
ٔ ٴ
ي ی // this is "ي" Shift + x on the Persian Keyboard ("ye Arabi") that has been replaced with "ی" Standard for some programing reasones.
٠ 0
۰ 0
۱ 1
@@ -49,6 +45,9 @@
٩ 9
۹ 9
٪ %
ٔ ٴ
ي ی // this is "ي" Shift + x on the Persian Keyboard ("ye Arabi") that has been replaced with "ی" Standard for some programing reasones.
ﺁ آ
ﺍ ا
ﺎ ا
@@ -91,6 +90,7 @@
ﺯ ز
ﺰ ز
ﮊ ژ
ﮋ ژ
ﺱ س
ﺲ س
ﺳ س
@@ -134,6 +134,8 @@
ﮐ ک
ﮑ ک
ﻛ ک
ﻚ ک
ﻜ ک
ﮒ گ
ﮓ گ
ﮔ گ
@@ -169,15 +171,30 @@
ﻲ ی
ﻳ ی
ﻴ ی
ﻯ ی
ﻻ لا
ﻼ لا
ﺔ ة
ﺋ ئ
ﺌ ئ
ﺆ ؤ
ﺀ ء


// (ZWNJ) U+200c character (half space) is recognized as Hyphen and this simbole "-" have been definded for this character in the rules.
ﹺ ِ
// Urdu for Persian users added
ٹ ت
ڈ د
ڑ ر
ہ ه
ﮩ ه
ﮨ ه
ے ی
ں ن
ۃ ت
ۂ ه
ۓ ی


// (ZWNJ) U+200c character (half space) is recognized as Hyphen and this simbole "-" have been definded for this character in the rules.

// the groups of letters
// Long vowels
@@ -212,11 +229,13 @@


.group +
__) + (_D mosbate-
+ (.D mosbate-
__) + (_D mosbate-


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


.group آ
@@ -237,6 +256,7 @@
L09L09) آموختۀ (_Sm6 Amuxteje
L09L09) آگاه (_Sm4 AgAh
L09L09)آلات (_Sm4 AlAt
L09L09)آباد (_Sm4 A'bAd


.group ا
@@ -263,10 +283,10 @@
_) اکبر (آL09L09P4@ akbaR
_) اصغر (L04L09L09P4@ asq1aR
_) اصغر (آL09L09P4@ asq1aR
_) ابو (L04L09L09P3@ abu
_) ابو (آL09L09P3@ abu
_) ابوال (L04L09L09P5@ abol'
_) ابوال (آL09L09P5@ abol'
_) ابو (L04L09L09$noprefixP3@ abu // $noprefix means if another prefix has been removed before this prefix, this rule is not matched.
_) ابو (آL09L09$noprefixP3@ abu
_) ابوال (L04L09L09$noprefixP5@ abol'
_) ابوال (آL09L09$noprefixP5@ abol'

// Suffixes ا
L09L04) الله (_Sm4 ollAh
@@ -445,24 +465,28 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ب (L03L09L09L09_ ba

// Prefixes ب
_) ب (L03L09L09P1@ be
_) ب (وL01L09P1@ be
_) ب (وL02L09P1@ be
_) بر (L04L09L09P2@ baR
_) بر (آL09L09P2@ baR
_) برمی (L04L09L09P4@ baRmi
_) برمی (آL09L09P4@ baRmi
_) برنمی (L04L09L09P5@ baRnemi
_) برنمی (آL09L09P5@ baRnemi
_) به (L04L09L09P2@ beh
_) به (آL09L09P2@ beh
_) بد (آL09L09P2@ bad\
_) ب (L03L09L09$noprefixP1@ be
_) ب (وL01L09$noprefixP1@ be
_) ب (وL02L09$noprefixP1@ be
_) بر (L04L09L09$noprefixP2@ baR
_) بر (آL09L09$noprefixP2@ baR
_) برمی (L04L09L09$noprefixP4@ baRmi
_) برمی (آL09L09$noprefixP4@ baRmi
_) برنمی (L04L09L09$noprefixP5@ baRnemi
_) برنمی (آL09L09$noprefixP5@ baRnemi
_) به (L04L09L09$noprefixP2@ beh
_) به (آL09L09$noprefixP2@ beh
_) بد (آL09L09$noprefixP2@ bad\
_) باز (L04L09L09P3@ bAz
_) باز (آL09L09P3@ bAz
_) بازمی (L04L09L09$noprefixP5@ bAzmi
_) بازمی (آL09L09$noprefixP5@ bAzmi
_) بازنمی (L04L09L09$noprefixP6@ bAznemi
_) بازنمی (آL09L09$noprefixP6@ bAznemi
_) بلند (L04L09L09P4@ boland
_) بلند (آL09L09P4@ boland
_) بلا (L04L09L09P3@ belA
_) بلا (آL09L09P3@ belA
_) بلا (L04L09L09$noprefixP3@ belA
_) بلا (آL09L09$noprefixP3@ belA
_) بزرگ (L04L09L09P4@ bozoRg
_) بزرگ (آL09L09P4@ bozoRg
_) بنفش (آL09L09P4@ banafS
@@ -653,14 +677,14 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) پ (L03L09L09L09_ pa

// Prefixes پ
_) پر (L04L09L09P2@ poR
_) پر (آL09L09P2@ poR
_) پیش (L04L09L09P3@ 'piS
_) پیش (آL09L09P3@ 'piS
_) پر (L04L09L09$noprefixP2@ poR
_) پر (آL09L09$noprefixP2@ poR
_) پیش (L04L09L09$noprefixP3@ 'piS
_) پیش (آL09L09$noprefixP3@ 'piS
_) پیشا (L04L09L09P4@ 'piSA
_) پیشا (آL09L09P4@ 'piSA
_) پس (L04L09L09P2@ 'pas
_) پس (آL09L09P2@ 'pas
_) پس (L04L09L09$noprefixP2@ 'pas
_) پس (آL09L09$noprefixP2@ 'pas
_) پسا (L04L09L09P3@ 'pasA
_) پسا (آL09L09P3@ 'pasA
_) پیکو (L04L09L09P4@ 'piko
@@ -828,10 +852,10 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ت (L03L09L09L09_ ta

// Prefixes ت
_) تند (L04L09L09P3@ tond
_) تند (آL09L09P3@ tond
_) تند (L04L09L09$noprefixP3@ tond
_) تند (آL09L09$noprefixP3@ tond

// Suffixes ت
// Suffixes ت
L09L09) تقی (_Sm3 taq1i
L09L09) تر (_Sm2 taR
L09L09) ترین (_Sm4 taRin
@@ -1310,12 +1334,12 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) چ (L03L09L09L09_ tSa

// Prefixes چ
_) چار (L04L09L09P3@ 'tSAR
_) چار (آL09L09P3@ 'tSAR
_) چار (L04L09L09$noprefixP3@ 'tSAR
_) چار (آL09L09$noprefixP3@ 'tSAR
_) چهار (L04L09L09P4@ 'tSAhAR
_) چهار (آL09L09P4@ 'tSAhAR
_) چند (L04L09L09P3@ 'tSand
_) چند (آL09L09P3@ 'tSand
_) چند (L04L09L09$noprefixP3@ 'tSand
_) چند (آL09L09$noprefixP3@ 'tSand

// Suffixes چ
L09L09L09) چی (_Sm2 tSi
@@ -1635,8 +1659,8 @@ L09L04) السّادات (_Sm8 ossAdAt
_) خواب (آL09L09P4@ xAb
_) خویش (L04L09L09P4@ xiS
_) خویش (آL09L09P4@ xiS
_) خان (L04L09L09P3@ xAn
_) خان (آL09L09P3@ xAn
_) خان (L04L09L09$noprefixP3@ xAn
_) خان (آL09L09$noprefixP3@ xAn
_) خواهش (L04L09L09P5@ xAheS
_) خواهش (آL09L09P5@ xAheS
_) خواهد (L04L09L09P5@ xAhad
@@ -1807,24 +1831,24 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) د (L03L09L09L09_ da

// Prefixes د
_) دو (L04L09L09P2@ do
_) دو (آL09L09P2@ do
_) در (L04L09L09P2@ daR
_) در (آL09L09P2@ daR
_) دل (L04L09L09P2@ del
_) دل (آL09L09P2@ del
_) دیر (L04L09L09P3@ diR
_) دیر (آL09L09P3@ diR
_) دو (L04L09L09$noprefixP2@ do
_) دو (آL09L09$noprefixP2@ do
_) در (L04L09L09$noprefixP2@ daR
_) در (آL09L09$noprefixP2@ daR
_) دل (L04L09L09$noprefixP2@ del
_) دل (آL09L09$noprefixP2@ del
_) دیر (L04L09L09$noprefixP3@ diR
_) دیر (آL09L09$noprefixP3@ diR
_) دست (L04L09L09P3@ dast
_) دست (آL09L09P3@ dast
_) درست (L04L09L09P4@ dorost
_) درست (آL09L09P4@ dorost
_) دراز (L04L09L09P4@ deRAz
_) دراز (آL09L09P4@ deRAz
_) درال (L04L09L09P4@ dARol
_) درال (تL09L09+P4@ dARo_'
_) درال (دL09L09+P4@ dARo_'
_) درال (آL09L09P4@ dARol
_) درال (L04L09L09$noprefixP4@ dARol
_) درال (تL09L09+$noprefixP4@ dARo_'
_) درال (دL09L09+$noprefixP4@ dARo_'
_) درال (آL09L09$noprefixP4@ dARol

// suffixes د
L09L09) داد (_Sm3 dAd
@@ -2000,8 +2024,8 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ذ (L03L09L09L09_ za

// Prefixes ذ
_) ذی (L04L09L09P2@ zi
_) ذی (آL09L09P2@ zi
_) ذی (L04L09L09$noprefixP2@ zi
_) ذی (آL09L09$noprefixP2@ zi
_) ذوال (L04L09L09P4@ zol
_) ذوال (آL09L09P4@ zol

@@ -2328,13 +2352,12 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ز (L03L09L09L09_ za

// Prefixes ز
_) زیر (L04L09L09P3@ ziR
_) زیر (آL09L09P3@ ziR
_) زود (L04L09L09P3@ zud
_) زود (آL09L09P3@ zud
_) زیر (آL09L09P3@ ziR
_) زرد (L04L09L09P3@ zaRd
_) زرد (آL09L09P3@ zaRd
_) زیر (L04L09L09$noprefixP3@ ziR
_) زیر (آL09L09$noprefixP3@ ziR
_) زود (L04L09L09$noprefixP3@ zud
_) زود (آL09L09$noprefixP3@ zud
_) زرد (L04L09L09$noprefixP3@ zaRd
_) زرد (آL09L09$noprefixP3@ zaRd

// suffixes ز
L09L09) زاد (_Sm3 zAd
@@ -2646,8 +2669,8 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) س (L03L09L09L09_ sa

// Prefixes س
_) سر (L04L09L09P2@ saR
_) سر (آL09L09P2@ saR
_) سر (L04L09L09$noprefixP2@ saR
_) سر (آL09L09$noprefixP2@ saR
_) سوء (L09L09P3@ su?e
_) سانتی (L04L09L09P5@ sAnti
_) سانتی (آL09L09P5@ sAnti
@@ -3188,8 +3211,8 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ض (L03L09L09L09_ za

// Prefixes ض
_) ضد (L04L09L09P2@ zedde
_) ضد (آL09L09P2@ zedde
_) ضد (L04L09L09$noprefixP2@ zedde
_) ضد (آL09L09$noprefixP2@ zedde
_) ضدّ (L04L09L09P3@ zedde
_) ضدّ (آL09L09P3@ zedde

@@ -3969,8 +3992,8 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ف (L03L09L09L09_ fa

// Prefixes ف
_) فرا (L04L09P3@ faRA
_) فرا (آL09P3@ faRA
_) فرا (L04L09$noprefixP3@ faRA
_) فرا (آL09$noprefixP3@ faRA

// suffixes ف
L09L09) فام (_Sm3 fAm
@@ -4276,8 +4299,8 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) ک (L03L09L09L09_ ka

// Prefixes ک
_) کم (L04L09L09P2@ kam
_) کم (آL09L09P2@ kam
_) کم (L04L09L09$noprefixP2@ kam
_) کم (آL09L09$noprefixP2@ kam
_) کند (L04L09L09P3@ kond
_) کند (آL09L09P3@ kond
_) کیلو (L04L09L09P4@ kilu
@@ -4450,8 +4473,8 @@ L09L04) السّادات (_Sm8 ossAdAt
_) گذر (آL09L09P3@ gozaR
_) گزر (L04L09L09P3@ gozaR
_) گزر (آL09L09P3@ gozaR
_) گل (L04L09P2@ gol
_) گل (آL09L09P2@ gol
_) گل (L04L09$noprefixP2@ gol
_) گل (آL09L09$noprefixP2@ gol

// suffixes گ
L09L09) گرا (_Sm3 gaRA
@@ -4811,9 +4834,9 @@ L09L04) السّادات (_Sm8 ossAdAt
L09L09L09L09) م (L03L09L09L09_ ma

// Prefixes م
_) می (L03L09+P2@ mi
_) می (آL09L09P2@ mi
_) می (وL09L09P2@ mi
_) می (L03L09+$noprefixP2@ mi
_) می (آL09L09$noprefixP2@ mi
_) می (وL09L09$noprefixP2@ mi
_) میرزا (آL09L09P5@ miRzA
_) میرزا (L04L09L09P5@ miRzA
_) محمد (آL09L09P4@ mohammad
@@ -4832,20 +4855,20 @@ L09L04) السّادات (_Sm8 ossAdAt
_) مرتضی (L04L09L09P5@ moRtezA
_) مصطفی (آL09L09P5@ mostafA
_) مصطفی (L04L09L09P5@ mostafA
_) میلی (L04L09L09P4@ mili
_) میلی (آL09L09P4@ mili
_) ماه (L03L09L09P3@ mAh
_) ماه(آL09L09P3@ mAh
_) مگا (L04L09L09P3@ megA
_) مگا(آL09L09P3@ megA
_) میلی (L04L09L09$noprefixP4@ mili
_) میلی (آL09L09$noprefixP4@ mili
_) ماه (L03L09L09$noprefixP3@ mAh
_) ماه(آL09L09$noprefixP3@ mAh
_) مگا (L04L09L09$noprefixP3@ megA
_) مگا(آL09L09$noprefixP3@ megA
_) مولتی (L04L09L09P5@ multi
_) مولتی(آL09L09P5@ multi
_) مایکرو (L04L09L09P6@ mAjkRo
_) مایکرو (آL09L09P6@ mAjkRo
_) ماکرو (L04L09L09P5@ mAkRo
_) ماکرو (آL09L09P5@ mAkRo
_) میکرو (L04L09L09P5@ mikRo
_) میکرو (آL09L09P5@ mikRo
_) ماکرو (L04L09L09P5@ mAkRo
_) ماکرو (آL09L09P5@ mAkRo

// suffixes م
L09L09) ماه (_Sm3 mAh
@@ -5047,19 +5070,19 @@ _) ماکرو (L04L09L09P5@ mAkRo
L09L09L09L09) ن (L03L09L09L09_ na

// Prefixes ن
_) ن (L03L09L09P1@ 'na
_) ن (یاL09P1@ 'na
_) نی (آL04L09L09P2@ 'naj
_) نمی (L04L09P3@ 'nemi
_) نمی (آL09P3@ 'nemi
_) نا (L04L09L09P2@ nA'
_) نا (آL09L09P2@ nA'
_) نو (L04L09L09P2@ no'
_) نو (آL09L09P2@ no'
_) نیم (L04L09L09P3@ nim
_) نیم (آL09L09P3@ nim
_) نیکو (L04L09L09P4@ niku
_) نیکو (آL09L09P4@ niku
_) ن (L03L09L09$noprefixP1@ 'na
_) ن (یاL09$noprefixP1@ 'na
_) نی (آL04L09L09$noprefixP2@ 'naj
_) نمی (L04L09$noprefixP3@ 'nemi
_) نمی (آL09$noprefixP3@ 'nemi
_) نا (L04L09L09$noprefixP2@ nA'
_) نا (آL09L09$noprefixP2@ nA'
_) نو (L04L09L09$noprefixP2@ no'
_) نو (آL09L09$noprefixP2@ no'
_) نیم (L04L09L09$noprefixP3@ nim
_) نیم (آL09L09$noprefixP3@ nim
_) نیکو (L04L09L09$noprefixP4@ niku
_) نیکو (آL09L09$noprefixP4@ niku

// suffixes ن
L09L09L03) ن (_NSm1 an
@@ -5424,8 +5447,8 @@ _) ماکرو (L04L09L09P5@ mAkRo
L09L09L09L09) ه (L03L09L09L09_ ha

// Prefixes ه
_) هم (L04L09P2@ ham
_) هم (آL09P2@ ham
_) هم (L04L09$noprefixP2@ ham
_) هم (آL09$noprefixP2@ ham

// suffixes ه
L09L03) ه (_++Sm1 e:
@@ -5585,8 +5608,8 @@ _) ماکرو (L04L09L09P5@ mAkRo
_آ) ی (L03_ ja

// Prefixes ی
_) یک (L04L09L09P2@ jek
_) یک (آL09L09P2@ jek
_) یک (L04L09L09$noprefixP2@ jek
_) یک (آL09L09$noprefixP2@ jek
_) یاد (L04L09L09P3@ jAd
_) یاد (آL09L09P3@ jAd

@@ -6073,3 +6096,10 @@ _) ماکرو (L04L09L09P5@ mAkRo
?1 z z


// Others mathematics characters
.group
. (D noq1te:
± m'osbat||jA:||m'anfi
>= boz'oRgtaR||jA:||m,osAvi
<= kutS'ektaR||jA:||m,osAvi

+ 4
- 5
dictsource/fr_rules View File

@@ -1,7 +1,7 @@
// French translation rules for Espeak

// ***************************************************************************
// * Copyright (C) 2005 to 2010 by Jonathan Duddington *
// * Copyright (C) 2005 to 2014 by Jonathan Duddington *
// * email: [email protected] *
// * *
// * This program is free software; you can redistribute it and/or modify *
@@ -27,7 +27,7 @@
// http://www.fluxnic.net/cicero
//
// Rules are now maintained by Michel Such <[email protected]>
// Last update: 2011-10-26 Michel Such <[email protected]>
// Last update: 2014-02-20 Michel Such <[email protected]>
//

// Letter classes:
@@ -62,7 +62,7 @@

// When these diphtonges are after a consonant folllowing e, e is not mute
.L10 ia ie io ua ue ui uo
.L11 b p
.L11 b p t
.L12 é è aï al ib ie iq l om on ym ré

// Words ending "son" pust sound english if preceded by L13
@@ -953,8 +953,7 @@ _re) name _^_en
oin (_ wE~ // coin
oi wa // poil
oê (l wa // poêle
om (L11A O~ // bombe, pompe
om (t O~ // comte
om (L11 O~ // bombe, pompe
n) om (X O~ // nom
om (_ Om // www.web.com


+ 3
- 0
dictsource/grc_rules View File

@@ -455,4 +455,7 @@ w ω // (long o; not standard transliteration but may be easier to type
ῳ OI:
ῲ 'OI:

ΐ 'i // diaresis + tonos


' = // apostrophe used as tonos, stress on previous syllable

+ 3
- 3
dictsource/gu_list View File

@@ -103,7 +103,7 @@ _85 pInc'a:si
_86 c#e:'V~si
_87 s@t:j'a:si
_88 ,Vt.#j'a:si
_89 nIvj'a:si
_89 ne:vj'a:Si

_90 n'e:vu~
_91 e:k'a:n.u~
@@ -139,7 +139,7 @@ _dpt _d@s@ml'o:_
છ ch@
જ J@
જ઼ z@
Jh@
z@
ઞ n^@
ટ t.@
ઠ t.#@
@@ -162,7 +162,7 @@ _dpt _d@s@ml'o:_
ર r@

લ l@
l.@
@r.@ // According to chart this is lla ( ળ 0AB3)but it is told that it looks like adda ( ડ઼ 0AA1 + 0ABC)
વ v@
શ S@
ષ s.@ // retroflex [S]

+ 14
- 14
dictsource/gu_rules View File

@@ -38,8 +38,8 @@

.group ઇ
ઇ I
// ઇઁ i~
ઇં i~
// ઇઁ In
ઇં In

.group ઈ
ઈ i:
@@ -99,12 +99,11 @@
ા (ઁ V~
ાઁ (_ V~
ાં V~
ાવ aU

.group િ
િ I
// િઁ i~
િં i~
// િઁ In
િં In

.group ી
ી i:
@@ -239,12 +238,12 @@
જ્જ J:V // JJ -> J:
જ્જ (B J:

જ્ઞ gr.V // ??
જ્ઞ (B gr.
જ્ઞ gn.V
જ્ઞ (B gn.

.group ઝ
J#V
ઝ (B J#
.group ઝ // According to chart this is jha ( ઝ 0A9D)but it is told that it looks like za ( જ઼ 0A9C + 0ABC)
zV
ઝ (B z

.group ઞ
ઞ n^V
@@ -377,6 +376,7 @@
.group ર
ર rV
ર (B r
ર (_ r
્) ર (_ r@


@@ -385,10 +385,10 @@
લ (B l
્) લ (_ l@

.group ળ
l.V
ળ (B l.
્) ળ (_ l.@
.group ળ // According to chart this is lla ( ળ 0AB3)but it is told that it looks like adda ( ડ઼ 0AA1 + 0ABC)
r.V
ળ (B r.
્) ળ (_ r.@

.group વ
વ vV

+ 5
- 6
dictsource/hbs_list View File

@@ -150,8 +150,8 @@ _tld t'ild&
_‚ 'otvoReni||n'avodnIk
_„ sp'uSteni||n'avodnIk
?2 _„ z&tvoReni||n'avodnIk
… tr*'i||t'otSke
?4 … tr*'i||t'atSke
_… tr*'i||t'otSke
?4 _… tr*'i||t'atSke
† kr*'iZ
?2 † kr-'st
‡ dv'ostr*Uki||kr*'iZ
@@ -162,8 +162,8 @@ _tld t'ild&
_’ j'ednostr*'uki||n'avodnIk
_“ 'otvoReni||n'avodnIk
_” z'atvoReni||n'avodnIk
• kr*'upna||t'otSk&
?4 • kr*'upna||t'atSk&
_• kr*'upna||t'otSk&
?4 _• kr*'upna||t'atSk&
_– En||ts'r-t&
_— Em||ts'r-t&
™ pr*'o'izvodZ&tS
@@ -181,11 +181,10 @@ _tld t'ild&
÷ p'odijel^,eno
?2 ÷ p'odel^,eno

_$ d'ol&R
$ d'ol&R
_- m'inus
_* zvj'ezdits&
?2 _* zv'ezdits&
_= j'edn&ko
_@ t'r-g'ov&tSko||'a
?2 _@ et


+ 68
- 0
dictsource/hi_list View File

@@ -312,3 +312,71 @@ $ dOl@r
// 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:

+ 6
- 5
dictsource/hu_list View File

@@ -677,8 +677,8 @@ vasárnapon $alt3
sok $unstressend // many
kevés $unstressend // few
se $unstressend // neither
sem $unstressend // nor
sem $unstressend $alt3 // nor
emléke $alt3

be $unstressend //into
ki $unstressend // out of
@@ -915,7 +915,7 @@ vall $unstressend
magam $unstressend
magad $unstressend
tűz $unstressend
egy $unstressend
egy $unstressend $alt3
lehetett $unstressend
arra $unstressend
erre $unstressend
@@ -1586,7 +1586,8 @@ fájlt $unstressend
fájlját $unstressend
törvény $unstressend
jövőt $unstressend
viszont $unstressend
viszont $unstressend $alt3
szerdára $alt3
járna $unstressend
állnia $unstressend
írnánk $unstressend
@@ -2748,7 +2749,7 @@ fognia $unstressend
(azt látni) $unstressend
fontosak $unstressend
futni $unstressend
például $unstressend
például $unstressend $alt3
hivatalossá $unstressend
belőle $unstressend
(vált hivatalossá) $unstressend

+ 1055
- 350
dictsource/it_list
File diff suppressed because it is too large
View File


+ 277
- 89
dictsource/it_listx
File diff suppressed because it is too large
View File


+ 84
- 17
dictsource/it_rules View File

@@ -1,6 +1,6 @@
// Italian translation rules
// This file is UTF-8 encoded
// Last update: 2014 January 07 Chris, Christian Leo M, <[email protected]>
// Last update: 2014 April 21 Chris, Christian Leo M, <[email protected]>
// letter groups
// A any vowel
// C any consonant
@@ -19,7 +19,8 @@ ene

.group a
a a
ai (K aI
ai (_ 'aj
ai (C aI
ao (_N aU
au a%u
@C) a (_S1q a // lookup it_list without suffix
@@ -30,9 +31,8 @@ ene
a (ismo_ 'a
@) a (bile_ 'a
@) a (ggine_ 'a

_) ae (r aE
@) avano (_S5q 'avano
avano (_ 'avano
a (tterA_ 'a
_) all' (P4t all
_) anch' (P5t ank
@@ -40,6 +40,8 @@ ene
@) ander (L04_ 'andE@-*
ate (L04_ 'ate

astano (_ 'a:sta/no // verbs

.group à
à ''a
ài (K ''aI
@@ -49,12 +51,14 @@ ene
.group b
b b
bb b:
bbano (_ =b:ano // verbs

.group c
c k
cc k:
ck k:
cqu k:w2
cqu (A k:w2
cqui (A k:wj
c (Y tS
cc (Y tS:
ch (Y k
@@ -68,6 +72,12 @@ ene
@) co (lA_ =ko
_) c' (P2t tS
@@A) ce (A_ =tSE
ciano (_ =tSano // verbs
cciano (_ =tS:ano // verbs
chiano (_ =kiano
A) cchiano (_ =k:iano // verbs
L04Z) capit (A_ k'a:p,it
L04Z) capit (ano_ k'a:p,it

.group d
d d
@@ -82,6 +92,7 @@ ene
ci) der (L04_ =dE@-*
chAA) der (L04_ =de@-*
re) der (L04_ =de@-*
@) dinano (_ =dina/no // verbs

.group e
e e
@@ -139,6 +150,10 @@ ene
esser (L04_ 'es:eR
_) ecco (L04 'Ek:o
ete (L04_ 'ete
evano (_ 'evano // verbs
estano (_ 'Estano // verbs
AC) erano (_ =eR,ano //verbs
@s) ero (_ =ERO //verbs

.group f
f f
@@ -171,6 +186,14 @@ ene
@) gn (A_ n^;
a) gn (A_ n^:
gu (A gw
guono (_ =gw2ono / verbs
o) gnano (_ =n^ano // verbs
A) gnano (_ n^'ano // exceptions
@) ginano (_ =dZinano // verbs
gano (_ =gano // verbs
ggano (_ =g:a/no
giono (_ dZ'Ono // verbs
n) guere (_ =gweRe // verbs

.group h
h
@@ -211,7 +234,11 @@ h
i (asi_ 'i
@) i (bile_ 'i
@) i (cA_ =i
ele%tr) ici (_ =itSi
centr) ici (_ =itSi
metr) ici (_ =itSi
tr) i (cY_ i
if) ici (_ 'itSi
@) i (chA_ =i
@) i (dA_ =i
@) i (dere_ 'i
@@ -241,16 +268,22 @@ h
p) i (te_ =i
C) iad (Y_ 'iad
@) iono (_ =iono
issano (_ 'is:ano
ite (L04_ 'ite
iver (L04_ 'ivE@-*
d) iver (L04_ iv'E@-*
ivano (_ 'ivano // verbs
i (ficano_ 'i // verbs
ifichino (_ 'ifikino // verbs
ACCC) i (cano_ =i // verbs
i (Ccano_ 'i // verbs
ilitano (_ 'ilitano // verbs
istano (_ 'istano // verbs

.group j

j dZ
@) j (_ j
_) juan _^_ES
A) j (A j

.group k
k k
@@ -261,14 +294,18 @@ h
ll (C l_
ll (_ l
_) l' (P2t l
lasciati (_ l,a/S'atI
lascia (L04_ l'aSa

.group m
m m
A) mi (a_ m'i
A) mila (_ m'ila/
_) m' (P2t m
_) mezz' (P5t mEdz:
metter (L04_ m'ette@-*
mbano (_ =mbano // verbs
@) minano (_ =mina/no // verbs

.group n
n n
@@ -281,6 +318,7 @@ h
netter (L04_ n'Et:e@-*
_zA) nz (A n|dz
A) ne (A_ =nE
@) nano (_ =nano // verbs

.group o
o o
@@ -302,7 +340,7 @@ h
o (co_ O
@) o (di_ =o
@) o (do_ =o
@) o (fono_ 'O
@) o (fonA_ 'O
o (genA_ 'O
l) o (gico_ 'O
@) o (gnolo_ 'o
@@ -313,7 +351,7 @@ h
CC) o (lA_ =O
u) o (lA_ O
v) o (lA_ =o
@) o (la_ O
@) o (lA_ O
gn) o (la_ O
o (li O
@) o (liA_ O
@@ -323,7 +361,7 @@ h
@) o (logo_ 'O
c) o (ltA_ O
sc) o (ltA_ o
v) o (lt O
v) o (ltA_ O
@) o (metro_ 'O
@) o (ma_ O
@) o (mo_ O
@@ -336,7 +374,7 @@ h
@) o (nzolo_ 'o
o (o O
o (polA_ 'O
sc) o (p O
sc) o (pA_ O
o (r O
o (rY_ o
f) o (rmA_ o
@@ -347,10 +385,16 @@ h
o (stracA_ 'O
o (ttol O
o (zA O
l) oqui (A Okwj
osano (_ 'ozano
C) onder (L04_ 'ondE@-*
over (L04_ 'ovE@-*
d) over (L04_ Ov'E@-*
ovano (_ 'ovano // verbs
o (CCano_ 'O // verbs
o (CCicano_ 'O //verbs
ogliere (_ 'Ol^eRe // verbs
@) ordin (A_ 'o@-*din

.group p
p p
@@ -361,7 +405,8 @@ h

.group q
q k
qu kw2
qu (AK kw2
qui (A kwj
_) quell' (P6t kw2Ell
_) quest' (P6t kw2est

@@ -370,12 +415,14 @@ h
r @-*
r (_ @-*
_) r @-*
A) r (_ =@-*
rr R*
A) r (A R
@) r (L04_ =@-* // for Italian pronominal verbs and reflexive verbs
C) rai (_ @-*'aI
A) rai (_ R'aI
rrai (_ R*'aI
C) rai (_ @-*'a:I
A) rai (_ R'a:I
rrai (_ R*'a:I
@) rvano (_ =@-*v,ano

.group s
s s
@@ -411,7 +458,15 @@ h
@) s (_S1 s
_) sull' (P5t sull
_) sotto (P5t sot:o
sfere (_ sf'eRe
@) scer (L04_ =SE@-*
A) scano (_ =skano
sciano (_ =Sano
A) schiano (_ =skiano
A) siono (_ zi'Ono // verbs
ssiono (_ s:i'ono // verbs
C) siono (_ si'ono // verbs
A) ssano (_ =s:ano //verbs

.group t
t t
@@ -439,6 +494,10 @@ h
ural (Y_ uR'al
C) ura (L04_ 'uRa
uder (L04_ 'udE@-*
uvano (_ 'uvano // verbs
ubano (_ 'ubano // verbs
ustano (_ 'u:stano // verbs
uomini (_ w2'Omini

.group v
v v
@@ -467,14 +526,22 @@ h
_A) zz (A |dz:
CA) zz (arC dz:
@li) zz (A dz:
@@Ci) zz (o dz:
_Cri) zz (o ts:
_CCri) zz (o ts:
@) zz (ano_ =ts:
i) zza (no_ =dz:a
@@) zza (L04_ =dz:a
@i) zza (ti_ dz:'a
zion (A_ tsi'On
zion (A_ tsi'on
ziona (ti_ tsiOn'a
zional (Y tsiOn'al
zional (Y_ tsion'al
ziona (L04_ tsi'Ona
cra) zia (_ ts'i;a/
cra) zie (_ ts'I;e/
man) zia (_ ts'i;a
man) zie (_ ts'i;e


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

+ 16
- 2
dictsource/nl_list View File

@@ -5,6 +5,7 @@
// Use $alt3 where 'ng' and 'nk' is 'n+g' not [N]
// Use $alt4 for stressed final syllable ( es )


// Letters
// If a letter has a "word" pronunciation which is different from its
// "letter" name, then include the letter name here, with the letter
@@ -34,7 +35,9 @@ y EI
z zEt

_s Es
s Es $atend
_t te:
t te: $atend


_cap h'o:fdlEt@r
@@ -170,7 +173,7 @@ me m@
jij j%EI
je j@
gij Q%EI
ge g@
ge Q@
u %y
hij h%EI
zij z%EI
@@ -216,7 +219,7 @@ over $only $u+ $pause // about
na $only $u+ $pause // after
naar $only $u+ // to
door $only $u+ $brk // through, by
te $only $u+ $brk // to
te t@ $only $u+ $brk // to
tot $only $u+ $pause // until
uit $only $u+ $brk // from, out of
voor $only $u+ $pause // for, in front of
@@ -399,6 +402,11 @@ zegen $alt
trokken $alt
zeten $alt

// (nouns)
christen $alt
monnik $alt


// -emen is not a stressed ending
boezemen $alt
ademen $alt
@@ -781,6 +789,7 @@ schroeier $alt
schrokker $alt
schuchter $alt
schutter $alt
seder $alt
sidder $alt
sjacher $alt
sjokker $alt
@@ -1622,6 +1631,7 @@ accessoire aksEsw'ar@
accessoires aksEsw'ar@s
actiepunt Aksip8nt
actieve Akt'iv@
adembenemend a:d@mb@n'e:m@nd
adhesie Ath'e:zi
agenda $2
aldus Ald'8s
@@ -1722,6 +1732,7 @@ jury Zyri
kadaster $2
kleinzerig klEInz'e:r@Q
kredietwaardig $3
le l@ $only
leesregel le:sre:Q@l
levendig le:v@nd@Q
lunch l8nS
@@ -1776,6 +1787,7 @@ partijvoorzitters $2
periferie pI:rifI:r'i
perron $2
pistache pist'AS
portefeuille pOrt@f'@j@
premie $1
privilege privil'e:Z@ $alt2
proces $2
@@ -1845,6 +1857,7 @@ Joe dZo:
Joey dZo:wi
Justine Zyst'in
kennedy kEn@dE
Karel $alt
Laurent lo:r'An^
Lisette _^_FR
Naomi $2
@@ -1862,6 +1875,7 @@ alexandrië $3
Benin be:n'in
canada kAna:da:
Genua Qe:nyv#a:
Gravenhage Qra:v@nh'a:Q@
Kinshasa kInS'a:sa:
Nairobi nAjr'o:bi
Napel $alt

+ 10
- 2
dictsource/nl_rules View File

@@ -52,6 +52,7 @@
air (_ 'Er
d) ai (sy e:
@) agne (_ 'An^@
_) alles (@P5 Al@z
@) ant (_ 'Ant
@) ant (e_ 'Ant
@) ant (en_ 'Ant
@@ -166,6 +167,7 @@
_) cho (que SO
_) ch (or x
_) ch (r x
_) ch (rist k
blan) ch S
bro) ch (e S
bro) ch (u S
@@ -195,7 +197,7 @@
e e# // [e:] but change to [@] in unstressed syllables
X) e e: // first syllable in a word

e (_ @
&) e (_ @
e (CK E
e (x E
e (r I:
@@ -216,6 +218,7 @@
lijk) e (_S1m @

ea (_ 'e:a:
lin) ea (_ =ija:
eau 'o: //words with French origin
// eau (_ 'o:
@) ee (_ 'e:
@@ -296,6 +299,7 @@
KAx) en (_S2 @n
and) en (_S2 @n
ie) en (_S2 @n
&ik) en (_S2 @n
el) en (_+S2qd @n
er) en (_+S2qd @n

@@ -357,6 +361,8 @@
@) er (aar_ @r
&) er (C@ E2r
&) erwijs (_S6m @rv#EIs
.group es
es (_$w_alt4+ 'Es
X) es (_ Es
@@ -698,7 +704,8 @@
_) over (@P4 ,o:v@r
_) overigen o:v@r@Q@n
_) overheid 'o:v@rhEIt
t) ou (r u:
enth) ousia uZ'A
t) ou (r u:


.group on
@@ -906,6 +913,7 @@
_) vanzelf (@P7 vAnz,Elf
_) vang vAN
_) ver (@P3 v@r
_) ver (enK vI:r // veren(d)(de)
_) ver (sie_ vEr
_) verder vErd@r
_) verkeers (@P8 v@rk'I:rs

+ 74
- 31
dictsource/pt_list View File

@@ -112,9 +112,14 @@ _( ,abRipa*'eINtezy
_) f,ES&pa*'eINtezy
_* &ste*'iskU
_− m'enUs
№ n'u~me*U
∞ iNfin'itU
∫ iNtegR'aU
⅓ u~Nt'e*@-sU
⅔ doIs#t'e*@-sUs#
¼ u~Nku'a*@-tU
½ m'eIU
¾ treSkw'a*@-tUs#
¾ tRes#kw'a*@-tUs#
® xeZistR'adU
?1 ™ m'a*@-k&xeZiSt'ad&
?2 ™ m'a*@-k&xeZistR'ad&
@@ -134,6 +139,7 @@ _\ b,ax&,iNvertS'id&
_] f,ES&kowS'etSi
_^ s,irku~Nfl'Eksu
_´ as'eINtu,ag'udU
· p'oNtUseINtR'adU
__ s,ublin^'adu
_` gR'avi
_{ ,abRiS'avi
@@ -163,34 +169,35 @@ _" 'abRi;'asp&||d'upl&s#
_2 d'oIs#
_3 tR'es#
?1 _4 kw'atru
?2 _4 kw'atRu
_5 s'iNku
?2 _4 kw'atRU
?1 _5 s'iNku
?2 _5 s'iNkU
_6 s'eIs#
?1 _7 s'Ety
?2 _7 s'EtSy
_8 'oItu
?1 _8 'oItu
?2 _8 'oItU
_9 n'Ovy
_10 d'Es#

_11 'oNzy
_12 d'ozy
?1_13 tr'ezy
?2_13 tR'ezi
?2_13 tR'ezy
?1_14 k&t'orzy
?2_14 kat'orzy
?2_14 kat'o*@-zy
_15 k'iNzy
?1_16 dyz&s'eis#
?2_16 d,ezes'eIs#
?1_17 dyz&s'Ety
?2_17 d,ezes'EtSy
?1_18 dyz'Oitu
?2_18 dez'oItu
?2_18 dez'oItU
?1_19 dyz&n'Ovy
?2_19 dezen'Ovy
?1_2X v'iNty
?2_2X v'iNtSy
_3X tR'iNt&

?1_4X kw&*'eNt&
?2_4X kwa*'eINt&
_5X siNkw'eINt&
@@ -211,20 +218,19 @@ _1C s'eINtu
?2_3C tRez'eINtUz
?1_5C kin^'eINtus#
?2_5C kin^'eINtUz
?1_6C seIs'eINtus#
?2_6C seIs'eINtUz
?1_0M1 m'il_
?2_0M1 m'iU_
?1_1M1 m'il_
?2_1M1 m'iU_

?1_0M2 milj'o~js#
?2_0M2 milj'o~jz
_0M2 milj'o~js#
_1M2 'u~milj'&U~
?1_0M3 bilj'o~js#
?2_0M3 bilj'o~jz
_0M3 bilj'o~js#
_1M3 'u~mbilj'&U~
?1_0M4 trilj'o~js#
?2_0M4 trilj'o~jz
_1M4 'u~ntrilj'&U~
_0M4 trilj'o~js#
_1M4 'u~ntRilj'&U~
_0and i
_dpt _v'irgul&
// _0Z2 seNt'Ezim& // 100ths
@@ -268,6 +274,8 @@ _1M1o mil'Ezim


// not roman numbers
cc $abbrev
cd $abbrev
vi vi


@@ -665,6 +673,7 @@ jamais $u+ $verbf

abordo $alt
aborto $alt $verb
abortos $alt2
absorta $alt2
acerto $alt2 $noun
acertos $alt2
@@ -707,13 +716,16 @@ avesso $alt2
axé aSE
azeda $alt $verb
azedo $alt $verb
açores $alt2
bairro b'aIxU
baitola $alt2
balancete $alt2
banquete $alt2
barreto $alt2
bastonete $alt2
beco $alt2
besta $alt2
beça $alt
bilhete $alt2
bissulfeto $alt2
blazer bl'eIzer
@@ -729,13 +741,13 @@ bolo $alt $verb
borboleta $alt2
bordo $alt
borra $alt2 $noun
bosque $alt
boto $alt2 $noun
boxe $alt
bracelete $alt2
brejo $alt
bromelha $alt
broto $alt2 $noun
buceta $alt2
cabresto $alt2
cacete $alt2
caderneta $alt2
@@ -767,6 +779,7 @@ cerca $alt $verb
cerco $alt $verb
cetro $alt
chamego $alt2 $verb
chapeleta $alt2
chaveta $alt2
chefe $alt
checam $alt
@@ -775,6 +788,7 @@ choça $alt
chofer $alt
choro $alt2 $noun
chovesse $alt2
chuleta $alt2
chupeta $alt2
clamores $alt2
clero $alt
@@ -792,7 +806,7 @@ colosso $alt2
colossos $alt2
colostro $alt2
começo $alt $verb
comodo $alt2
concerto $alt2 $noun
concertos $alt2
concordo $alt
@@ -804,6 +818,8 @@ controle $alt2 $noun
controles $alt2
controles $alt $verb
controlo $alt2 $noun
conveses $alt
copta $alt
coreia $alt
cores $alt2
cores $alt $verb
@@ -878,6 +894,7 @@ emprego $alt2 $noun
encasqueta $alt
encosto $alt $verb
endereço $alt $verb
endoide $alt2
enforco $alt
engordo $alt
enredo $alt $verb
@@ -919,10 +936,13 @@ estrogonofe $alt
eta $alt2
europa $alt
europeia $alt
evangelho $alt
?2 ex es
exagero $alt $verb
exegeses $alt
exorto $alt
?2 expert Eksp'E*@-t
?2 experts Eksp'E*@-ts
explore $alt
falangeta $alt2
farofa $alt
@@ -989,13 +1009,17 @@ ideia $alt
inovo $alt
interesse $alt2
interesse $alt $verb
internet $alt
interregno $alt
iodo $alt2
ioga $alt
isolda $alt2
jereba $alt
jogo $alt2
jogo $alt $verb
jogos $alt
joguete $alt2
lacerda $alt
lagosta $alt2
lambreta $alt2
laser l'eIzer
@@ -1007,7 +1031,6 @@ leste $alt2 $verb
?2 lhe l^y
licores $alt2
lisboeta $alt2
livreto $alt2
lodo $alt2
lopes $alt
macete $alt2
@@ -1030,8 +1053,10 @@ modelo $alt $verb
moeda $alt
moem $alt
mofo $alt $verb
mogno $alt
molho $alt2 $noun
monera $alt
montenegro $alt2
mor $alt
morcego $alt2
morda $alt2
@@ -1044,6 +1069,7 @@ namoro $alt2 $noun
naquela $nounf
naquele $alt2 $nounf
nervo $alt2
ninfeta $alt2
nitreto $alt2
nojo $alt2
novelo $alt2
@@ -1064,7 +1090,6 @@ paella pa'el^&
palacete $alt2
palheta $alt2
palhoça $alt
panfleto $alt2
pangeia $alt
pantera $alt
papoco $alt2 $noun
@@ -1080,6 +1105,7 @@ penhores $alt2 $noun
perda $alt2
pereba $alt
peres $alt
perneta $alt2
peroba $alt
pesadelo $alt2
peses $alt
@@ -1090,6 +1116,7 @@ pior $alt
pipoco $alt2 $noun
plateia $alt
plebeia $alt
poderem $alt2
polca $alt
pompeia $alt
porcos $alt
@@ -1100,6 +1127,7 @@ porrete $alt2
porto $alt $verb
pose $alt2
poxa p'oS&
poços $alt
primavera $alt
primores $alt2
program $alt
@@ -1134,7 +1162,7 @@ remorso $alt
renovo $alt $verb
represa $alt2
retorno $alt $verb
reuva x'EUv&
reveses $alt
rigores $alt2
risoto $alt2
robson $alt
@@ -1160,7 +1188,6 @@ seco $alt2
seco $alt $verb
selo $alt2
selo $alt $verb
selvagem seUv'aZeIN
sexteto $alt2
?1 senhora $alt2
senhores $alt2
@@ -1170,6 +1197,7 @@ soco $alt2
soco $alt $verb
sogra $alt
sopa $alt2
sopeses $alt
sopro $alt2 $noun
sorvete $alt2
sossego $alt2 $noun
@@ -1182,7 +1210,6 @@ sulfureto $alt2
super s'Uper
suporto $alt
suor suOr
sutiã sutSi'&~N
tabefe $alt
tambores $alt2
tapera $alt
@@ -1225,7 +1252,9 @@ verbete $alt2
verborreia $alt
verde $alt2
vileta $alt2
vodca v'OdZik&
voga $alt
voice $alt
xarope $alt
xereta $alt2
xerox S'E*Oks
@@ -1237,7 +1266,6 @@ zorra $alt2
// foreign words
?2 álcool 'aUkow
?1 alt 'alt
?2 agosto ag'ostU
?1 back b'Ek
?2 bahamas bax'&~m&s
?2 backup bEk'&p
@@ -1249,10 +1277,12 @@ beatle b'itow
beatles b'itows
black blEk
blind bl'aind
?2 blue blu
?1 braille b:r'aily
?2 Braille bR'aili
?1 cancel k'&ns'El
?1 caps k'aps
?2 cappuccino kaputS'inU
?2 center s'eNter
?1 com kom
?1 ctrl k'oNt:r,Ol
@@ -1262,6 +1292,7 @@ doc d'Ok
?2 design dez'aIn
?2 designer dez'aIner
?2 designers dez'aIners
?2 desktops deskt'Ops
?1 dj d,i:dZ'eI
?2 diesel dZ'izEU
?2 doha d'ox&
@@ -1295,13 +1326,14 @@ get gEt
happy x'Epy
?1 home 'omy
?2 home h'owmi
?1 hotmail h'Otm'eIl
?2 hotmail hotm'eIl
hot xOt
?1 hotmail h'Ot'eIl
?2 hotmail hOtm'eIl
?1 install ,inst'al
?2 internet iNtern'Et
?2 Intranet iNtRan'Et
?1 kernel k'Ern,El
?2 kernel k'Ern@l
?2 jazz dZIEs
left $alt
laptop lEpt'Op
?2 laptops lEpt'Ops
@@ -1311,7 +1343,9 @@ laptop lEpt'Op
?1 lock l'Ok
mail m'eIl
mails m'eIls
marketing m'arketSiN
?1 marketing m'arktiN
?2 marketing m'arketSiN
?2 master m'aste*@-
?2 mouse m'aUzi
?1 menu menu
next n'Ekst
@@ -1325,6 +1359,7 @@ next n'Ekst
?1 podcast pOdkEst
?2 podcast pOdyk'Est
python p'aIT&~N
?2 ranking x'&NkIN
?1 readme r'i:dmi:
right r'aIt
?1 sapi s,ap'i
@@ -1338,13 +1373,14 @@ shake S'eIk
?2 shampoo S&mpu
?2 shoping S'OpiN
?2 slide zl'aIdZy
símbolo s'imbolU
?4 símbolo s'iNbolU
?1 software s'Oft,w'Er-
?2 software s'Oftwe@-
?1 space sp'eIsy
?2 space sp'eIs
?1 sporting sp'Ort,ing
statu st'atU
sutiã sutSi'&~N
tab t'aby
tablet t'ablet
tablets t'ablets
@@ -1375,7 +1411,8 @@ apple 'Epow
outdoor aUtd'Or
?2 outdoors aUtd'Ors
baby b'eIby
chrome kR'owmi
?1 chrome kr'owm
?2 chrome kR'owmi
debian d'Ebj&~N
?1 excel ,Eks'El
?1 express ,Ekspr'Es
@@ -1441,6 +1478,7 @@ twitter tw'iter


// historical/famous person s
?2 Alzheimer aUz'aImEr
babbage b'abidZ
bernhard bern'ard
darwin d'Arwin
@@ -1459,13 +1497,16 @@ heidegger h'aIdege
hawking h'o:king
heisenberg h'aIzEnberg
hitler h'itler
?2 hobbes x'Obys
husserl x'usEl
isaac iz'&k
?1 isaac iz'&k
?2 isaac iz'ac
lavoisier lavwazj'e
leibniz l'aIbni:ts
locke lOk
montesquieu m,oNteskj'e
neumann n'OIman
newton n'i;utoN
newton n'I;utoN
oppenheimer _!'Op@nh,aImar
richard x'iS&rd
riemann r'i:man
@@ -1493,6 +1534,7 @@ klein kl'aIn // Very common on southern Brazil.
krueger kR'iZer
krüger kR'iZer
kühl k'il
?2 john dZIoN
?2 juan xu&~N
mueler m'iler
mueller m'iler
@@ -1500,6 +1542,7 @@ müler m'iler
müller m'iler
?1 nelson n'Els&N
ronchi r'OnCi:
Scarlet sk'a*@-let
valter v'aUter
vogel f'o:g@l
volkmann f'Olkman

+ 53
- 20
dictsource/pt_rules View File

@@ -352,16 +352,17 @@
êCC) e (C@ e
ôC) e (C@ e
áC) e (C@ e
?2 áC) el (_ eU
áCC) e (CA_ e
éCC) e (CA_ e
éCCC) e (C@ e
íC) el (_ eU
?2 íC) el (_ eU
íC) e (C@ e
íCC) e (C@ e
óC) e (C@ e
óCC) e (CA_ e
úC) e (C@ e
úC) el (_ eU
?2 úC) el (_ eU
ection (_ 'EkS&~N

//sort
@@ -385,6 +386,7 @@ _troux) e (L05_ E
_houv) e (L06_ E
_escond) e (L06_ e
respond) e (L06_ e
constrang) e (L07_ e
eb) e (L07_ e // recebeste, etc.
eg) e (L07_ e // elegeste, etc.
_@o) e (L07_ e // doeste, etc.
@@ -399,6 +401,7 @@ respond) e (L06_ e
ond) e (L07_ e // escondeste, etc.
orr) e (L07_ e // correste, etc.
precav) e (L07_ e
_tang) e (L07_ e
_ard) e (L07_ e
_coz) e (L07_ e
_val) e (L07_ e
@@ -419,11 +422,14 @@ _troux) e (L07_ E
_amanc) e (bL03_ E
qu) e (brL04_ E
cel) e (brL04_ E
_sop) e (sL04_ E
_C) e (bre_ E
_boch) e (chL04_ e
_ex) e (crL04_ E
impr) e (gnL04_ E
_enr) e (dL01_ E
_v) e (dL03_ E
_sob) e (rbL03_ e
_pr) e (dL03_ E
_arr) e (dL03_ E
_depr) e (dL03_ E
@@ -435,18 +441,21 @@ _enver) e (dL03_ E
_pel) e (gL03_ e
_n) e (grL03_ e
estr) ei (L04_ EI
_confed) e (rL04_ E
_r) e (jL03_ E
_inv) e (jL04_ E
_panfl) e (tL04_ e
_v) e (lhL03_ E
_gr) e (lhL04_ E
_caC) e (lo_ e
_livr) e (tA_ e
?2 el (ton_ 'EU
ad) e (quL04_ E
_ing) e (rL02_ E
_dig) e (rL02_ E
_m) e (rL03_ E
_sev) e (rL03_ E
_reit) e (rL03_ E
_reit) e (rL04_ E
_sinc) e (rL03_ E
_g) e (rL04_ E
_z) e (rL04_ E
@@ -500,9 +509,11 @@ s_colh) e (res_ E
_d) e (spL02_ E
_p) e (squL02_ E
_refr) e (squL02_ E
_degr) e (dL01_ E
_l) e (ssL02_ e
_ac) e (ssL02_ E
_esp) e (ssL03_ e
_terc) e (tL03_ e
_c) e (stL03_ e
_pr) e (tL03_ e
_rem) e (tL03_ e
@@ -512,7 +523,7 @@ _obsol) e (tL03_ e
_CaC) e (ta_ e
viol) e (ta_ e
_Carr) e (ta_ e
_pen) e (trL04_ E
_pen) e (trL04_ E
_sol) e (trL04_ E
_n) eu (trL03_ 'eU
_d) e (vL03_ e
@@ -667,6 +678,7 @@ _apazi) gu (e gw
?1 @) ings (_ _^_EN
?2 il (ton_ 'iU
?2 i (rton_ 'i
?2 _v) i (king 'i
?2 ight (_ 'aIt
?1 ight (_ _^_EN
?1 ights (_ _^_EN
@@ -888,10 +900,11 @@ _pormen) o (L05_ O
_esn) o (bL04_ O
_engl) o (bL04_ O
_sal) o (brL03_ o
_) o (cL03_ o
_) o (cL03_ o
_barr) o (cL03_ o
_ch) o (chA_ o
_m) o (chA_ o
_f) o (dL01_s o
_ecl) o (dL03_ o
_expl) o (dL03_ o
_impl) o (dL03_ o
@@ -910,6 +923,7 @@ _pormen) o (L05_ O
_arr) o (lhL03_ O
_enr) o (lhL03_ O
_) o (lhL04_ O
_) o (bstL04_ O
m) o (lhL04_ O
emb) o (lsL04_ O
_env) o (ltL03_ o
@@ -936,8 +950,7 @@ _pormen) o (L05_ O
_Cach) o (rra_ o
@p) o (rtL03_ O // importo, etc.
a_c) o (rte_ o
ortos (_ O*@-t=Us# // tortos, mortos, etc.
_abs) o (rvL01_ o
_abs) o (rvL01_ o
t) o (rçL03_ o // con-
_c) o (sL01_ o
_desc) o (sL01_ o
@@ -945,15 +958,32 @@ _pormen) o (L05_ O
_r) o (snL04_ O
_c) o (spL02_ O
enr) o (squL02_ O
emb) o (scL03_ O
b) o (squL02_ O
ossos (_ Os=Us# // nossos, grossos, etc.
p) ostos (_ Ost=Us# // dispostos etc.ortos (_ 'O*@-tUs
ossos (_A Os=Uz // nossos, grossos, etc.
?1 ossos (_G Os=UZ // nossos, grossos, etc.
?2 ossos (_G Os=Uz // nossos, grossos, etc.
p) ostos (_ Ost=Us# // dispostos etc.
p) ostos (_A Ost=Uz // dispostos etc.
?1 p) ostos (_G Ost=UZ // dispostos etc.
?2 p) ostos (_G Ost=Uz // dispostos etc.
ortos (_ 'O*@-tUs
ortos (_A 'O*@-tUz
?1 ortos (_G 'O*@-tUZ
?2 ortos (_G 'O*@-tUz
ovos (_ Ov=Us# novos, povos, etc.
ovos (_A Ov=Uz novos, povos, etc.
?1 ovos (_G Ov=UZ novos, povos, etc.
?2 ovos (_G Ov=Uz novos, povos, etc.
ortos (_ O*@-t=Us# // tortos, mortos, etc.
_Gar) o (tL03_ o
_escr) o (tL03_ o
zig) o (to_ o
_ch) o (vL01_ o
pr) o (vL03_ O
ovos (_ Ov=Us# novos, povos, etc.
_ortod) o (xL03_ O
_Com) o (do_ o
_ortod) o (xL03_ O
_g) o (zL04_ O
_alm) o (çL01_ O
_esb) o (çL01_ O
@@ -962,6 +992,7 @@ _ortod) o (xL03_ O
_ad) o (çL03_ O
_emp) o (çL03_ O
_end) o (çL03_ O
_c) o (çL03_ O
//endsort

.group ô
@@ -1019,8 +1050,8 @@ _ortod) o (xL03_ O
A) qu (idade_ kw
_a) qu (ífero_ kw
e) qu (estr kw
ese) qu (ív kw
_e) qu (in kw
_e) qu (in kw
exe) qu (AC kw
fre) qu (ent kw
?2 li) qu (id kw
?2 lí) qu (id kw
@@ -1090,11 +1121,11 @@ _ortod) o (xL03_ O
s (G z
s (w+ s
sr zx

_) sobre (@P5 sob*e
tran) s (A z
_trân) s (ito_ z
?1 ssion (_ _^_EN
_sub) s (ist z
?1 ssion (_ _^_EN


.group t
@@ -1198,11 +1229,12 @@ _ortod) o (xL03_ O
_abaca) x (i S
ale) x (a S
_arro) x (e S
_ave) x (A S
bau) x (A S
brA) x (A S
brA) x (A S
_bu) x (o_ S
bY) x (A S
_ca) x (A S
bY) x (A S
_ca) x (A S
_co) x (A S
_coe) x (A z
_esdrA) x (ul S
@@ -1225,9 +1257,10 @@ _lagarti) x (A S
_o) x (í ks
_pe) xo (to_ So
pi) x (A S
_pro) x (A S
_pree) x (ist z
_pro) x (A S
_pra) x (A S
prA) x (i s // aproximado, aproximadamente, aproximar, próximo, etc.
prA) x (i s // aproximado, aproximar, próximo, etc.
pu) x (A S // verb "puxar" and all its conjugations
qui) x (A S
ri) x (A S
@@ -1241,7 +1274,7 @@ _lagarti) x (A S
?1 i) x (a_ S
?1 i) x (as_ S
_trou) x (ér s
_pro) x (imi s
_pro) x (imA s


.group y

+ 11
- 10
dictsource/ta_list View File

@@ -99,15 +99,15 @@ _- in.aIppUg // இணைப்புக்
\ p'in||s,a:jvU // பின் சாய்வு
! vijVppU // வியப்பு
_? ke:l.vi // கேள்வி
# ;en. $max3 // எண் குறி
= samVnpa:d.U $max3 // சமன்பாடு
+ ku:t.t.Vl $max3 // கூட்டல்
* perUkkVl $max3 // பெருக்கல்
# ;en. // எண் குறி
= sVmVm // சமம்.
+ ku:t.t.Vl // கூட்டல்
* perUkkVl // பெருக்கல்
/ sa:jvU // சாய்வு
÷ vVgUttVl // வகுத்தல்
% viz.Ukka:d.U $max3 // விழுக்காடு
% viz.Ukka:d.U // விழுக்காடு
& mVt.RUm
| seNgUttU $max3
| seNgUttU
U+bf9 ru:ba:j
¼ ka:l
½ araI
@@ -124,10 +124,11 @@ _… v'id.UnilaI
§ p'irivU
➔ v'VlVdVmbU
→ v'VlVdVmbU
← 'id.VdVmbU
■ k'VrUn^dZVdU*Vm
● v'Vt.t.Vm
† kuttUva:l.
‡ 'irVt.t.aI||k'uttUva:l.
‡ 'i*Vt.t.aIk||k'uttUva:l.

௰ pVttU
௱ nu:RU
@@ -139,7 +140,7 @@ _… v'id.UnilaI
௷ vVrVvU
௸ m'e:lirUppVdU||p'o:l
௺ ;en.n.UrU
ௐ o:m

_sup m'e:lez.UttU

@@ -452,7 +453,6 @@ tamil தமிழ் $text
தடக் $alt
தீக்ஷை $alt
தடியன் $alt
தரிசனம் $alt
தட்சணை $alt
தைவதம் $alt
தாட்சண்யம் $alt
@@ -506,6 +506,8 @@ tamil தமிழ் $text
திமு $alt
தாவா $alt
துருவா $alt
தண்டி $alt



// initial ட
@@ -559,7 +561,6 @@ tamil தமிழ் $text
கம்னு $alt
கம்மென்று $alt
குதி $alt
கம் $alt
காந்தம் $alt
கான $alt
கோத்திர $alt

+ 155
- 13
dictsource/ta_rules View File

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

/***************************************************************************
* Copyright (C) 2009 to 2013 by Jonathan Duddington *
* Copyright (C) 2009 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -98,7 +98,7 @@
.L20 பல் பற் போர போர பசி

// words before பாவ+
.L21 நேய ராக சகோதர சாந்த சிநேக சினேக முக முகத்தின் ராகங்களின் ராகத்தின் சம சமமான சமமாக சமநிலை
.L21 நேய ராக சகோதர சாந்த சிநேக சினேக முக முகத்தின் ராகங்களின் ராகத்தின் சம சமமான சமமாக சமநிலை அலட்சிய

// words after போஸ்
.L22 கொட தந்த அளி காட்ட
@@ -133,6 +133,9 @@
// words after அர்த்த
.L32 ராத்திரி ஜாம நிசி வேளை

// words after ரிப்பன்
.L33 மாளிகை கட்டிட அலுவலக பில்டிங்


// consonants

@@ -215,6 +218,8 @@
_) க (ப்பென்ர gV
_) க (மகம gV
_) க (மவென்ற gV
_) க (ம்_ gV
_) க (ம்_இன் kV
_) க (ம்பீர gV
_) க (ம்முன gV
_) க (ம்மென gV
@@ -279,6 +284,7 @@
_) க (ார்டியன g
_) க (ால்ஃப் g
_) கால்ப் ga:lf
_) க (ாவஸ்கர g
_) க (ிஃப்ட g
_) க (ிடாரிட g
_) க (ிடாரின g
@@ -296,7 +302,6 @@
_) கி (ரக g
_) கி (ரகண g
_) கி (ரணி ki
_) கி (ரண்_ ki
_) கி (ரந்த g
_) கி (ரய k
_) கி (ரவுண்ட g
@@ -408,8 +413,10 @@ _மன்மதக்) க (ுகை g
_) க (ுணபூஷ g
_) க (ுணப்பட g
_) க (ுணம g
_) க (ுணரீதி g
_) க (ுணவதி g
_) க (ுணவான g
_) க (ுணவீர g
_) க (ுணா g
_) க (ுண்ட g
_) குண்ட (க்கல gun.t.V#
@@ -432,6 +439,7 @@ _மன்மதக்) க (ுகை g
_) க (ுதித் g
_) க (ுதிப் g
_) க (ுதிப்பகுதி k
_) க (ுதிய g
_) க (ுதியாட்ட g
_) க (ுபீர g
_) க (ுபுகுபு g
@@ -554,7 +562,7 @@ _மன்மதக்) க (ுகை g
_) க (ோசுவாமி g
_) கோட்ச (ே go:d.s
_) க (ோட்டு_வாத்திய g
_) க (ோண்ட g
_) க (ோண்ட g
_) க (ோதாவரி g
_) க (ோதுமை g
_) க (ோத்திரங் g
@@ -581,12 +589,15 @@ _மன்மதக்) க (ுகை g
_) க (ோமுக g
_) க (ோமூத்திர g
_) க (ோயல g
_) க (ோர_ g
_) க (ோர_முக g
_) க (ோர_பாவ g
_) க (ோர_மாட்ட k
_) க (ோர_முடிய k
_) க (ோர_வேண்ட k
_) க (ோரக g
_) க (ோரக்கூட k
_) க (ோரச்_சிரிப்ப g
_) க (ோரச்_செயல g
_) க (ோரத்_தாண்ட g
_) க (ோரத்தாண்டவ g
_) க (ோரத்தால g
@@ -629,6 +640,9 @@ _மன்மதக்) க (ுகை g
_) க் (ளாஸ்_ g
_) க்வ (A kw
_) க் (வாலியர g
_) குல்ச (ார gulz
_) க (ுணரூப g
_) க (ுவாஹா g
//endsort

//sort
@@ -758,6 +772,7 @@ _வண்டி) க (ாரர k
_பால்) க (ாரி k
_கடை) க (ாரி k
_சமையல்) க (ாரி k
_சௌ) க (ார் k
_ஜ) கார்ட ka:rt.V#
_சம) க (ால k
அந்திம) க (ால k
@@ -772,11 +787,11 @@ _தொன்ம) க (ால k
மோ) க (ினி H
_ம) க (ிமை H
எக்ஸ்) கி (யூஸ k
கி (ரண g
_ராஜ்) க (ிரண k
பொற்) கி (ரண g
ஐஸ்) கி (ரீம k
ங்) க (ிரு g
_ப) க (ிரு g
கிரு (ஷ் kri
இங்) கி (லீஷ் g
கி (லேச k
@@ -791,6 +806,7 @@ _தொன்ம) க (ால k
_தலை) க (ீழ் g
க (ீழ்_ k
_கற்) க (ுகை g
ருட்) க (ுகை g
மலைக்) க (ுகை g
_பால்) க (ுட k
_பரம) க (ுடி k
@@ -871,6 +887,7 @@ _நினைவு) க (ூர k
_செடி) க (ொடி k
க (ொண்ட k
க (ொள் k
_பயந்தாங்) க (ொள் g
_நி) க (ோ k
_வை) க (ோ k
_ஷி) க (ோ k
@@ -1132,6 +1149,7 @@ _தணிகா) ச (ல tSV
_) ச (ான்ஸ tS
_) ச (ாப்டர tS
_) சாப் (ளின tSa:p
_நி) ச (ாம z
_) ச (ாமுண்ட tS
_மொ) ச (ாம்பி z
_) ச (ாயாவ tS
@@ -1144,6 +1162,7 @@ _தணிகா) ச (ல tSV
_கிரL06) ச (ார tS
_குணா) ச (ார tS
_பிரிவுப) ச (ார tS
_விகிதா) ச (ார tS
_விருந்துப) ச (ார tS
ராஜோப) ச (ார tS
ஆ) ச (ார_ tS
@@ -1299,18 +1318,23 @@ _ஜலகண்டே) சு (வ s
அ) சு (வமேத s
_சனீ) சு (வர s
ராஜே) சு (வர s
_மL06ாமண்டலே) சு (வர s
_மங்களே) சு (வர s
_மண்டலே) சு (வர s
அகிலாண்டே) சு (வர s
இராவணே) சு (வர s
ராவணே) சு (வர s
ஐ) சுவரி (ய svVr
_) சுவர்க்க svVrggV#
_) சுவர்க்க (டிகார suvVrggV
_) சுவர்க்க (ோழி suvVrkk
_) சு (வர்ண s
ஐ) சு (வர்ய s
_) சு (வாச s
_) சு (வாதி s
சு (வாதீன s
சு (வாமி s
_) சு (வாமீ s
_) சுவாரசி (ய sva:rVs
அ) சுவாரசி (ய sva:rVs
சு (வாரஸ்ய s
@@ -1393,6 +1417,7 @@ _வெனி) ச (ுவேல z
ஓ) ச (ோன z
அரி) ச (ோன z
_) ச (ோன்ன tS
_) ச (ோபனா s.
_) சோப் (ராவ tSo:p
_மி) ச (ோரம z
_மி) ச (ோராம z
@@ -1406,7 +1431,9 @@ _வெனி) ச (ுவேல z
_) ச (ௌபே tS
_) ச (ௌஹான tS
_ந) ச் (னு tS
_ரி) ச் (மண்ட tS
_கா) ச்மூச tSmu:tSV#
ஆ) ச (ாரப் tS
//endsort


@@ -1467,6 +1494,7 @@ _ஸ்விட்) ஜ (ர்லாந்த zV
_ப) ஞ்ச (ர ntSV
_ல) ஞ்ச (B ntS
_ம) ஞ்ச (ூரிய ntS
உ) ஞ்ச (விருத்தி ntSV

.group ட
ட d.V
@@ -1550,6 +1578,7 @@ _ஷிஃப்) ட t.V#
_) டாக் (_ t.a:k
_) ட (ாக்க t. // talkies
_) டாக்குமெண்ட d.a:kkUmen.t.V#
_) ட (ாக்சி t.
_) டாக்ட (ர d.a:kt.V
_) டாக (்ஸி t.a:k
_) டாங்க (ர t.a:NkV
@@ -1990,6 +2019,7 @@ _நடுரோ) ட் (ல t.
_) த (ராவிய dV
_) த (ரிசனங் dV
_) த (ரிசனத் dV
_) த (ரிசனம dV
_) த (ரிசி dV
_) தரித்த (ிர_ dVridd
_) தரித்த (ிரங்கள dVridd
@@ -2014,6 +2044,7 @@ _நடுரோ) ட் (ல t.
_) த (ருமிட tV
_) த (ர்கா dV
_) தர்க்க (ா dVgg
_) த (ர்ணா dV
_) த (ர்பார dV
_) த (ர்பூச dV
_) த (ர்பை dV
@@ -2027,6 +2058,7 @@ _ஜனதா_) த (ள dV
_) த (ளவாய dV
_) த (வக்கால dV
_) த (வக்கோல dV
_) த (வசீல dV
_) த (வத்த dV
_) த (வப் dV
_) த (வம dV
@@ -2041,6 +2073,8 @@ _ஜனதா_) த (ள dV
_) த (ாடி d
_) த (ாட்சண்ய d
_) த (ாட்சாய d
_) த (ாண்டியா_ஆட்ட d
_) த (ாண்டியா_நடன d
_) த (ாதர d
_) த (ாதா d
_) த (ானங் d
@@ -2075,6 +2109,7 @@ _ஜனதா_) த (ள dV
_) த (ாவேய d
_) த (ாஸ d
_) த (ிகம்பர d
_) த (ிகாந்த d
_) த (ிகில d
_) த (ிகுதிகு d
_) த (ிக்கற்ற d
@@ -2094,6 +2129,9 @@ _ஜனதா_) த (ள dV
_) த (ிடகாத்திர d
_) திடசங்கல்ப did.VsVNgVlpV#
_) த (ிடசித்த d
_) த (ிடச் d
_) த (ிடத் d
_) த (ிடநம்பிக்கை d
_) த (ிடப d
_) த (ிடம d
_) த (ிடீ d
@@ -2177,6 +2215,7 @@ _ஜனதா_) த (ள dV
_) த (ீர்க d
_) த (ீர்க்க t
_) தீர்க்க (_சுமங்கலி di:rggV
_) தீர்க்க (_தரிசன di:rggV
_) தீர்க்க (தரிச di:rggV
_) தீர்க்க (த்துடன di:rggV#
_) த (ீர்க்கமா d
@@ -2208,8 +2247,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) துராக்க (ிர dra:gg
_) த (ுராசை d
_) த (ுராத்மா d
_) த (ுரியானந்த d
_) த (ுரியோதனன d
_) த (ுரிய d
_) த (ுரியோதனா d
_) த (ுருவங் d
_) த (ுருவத் d
@@ -2219,6 +2257,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) து (ரோண d
_) து (ரோண t
_) த (ுர் d
_) து (வஜஸ்தம்ப d
_) து (வந்த_ d
_) து (வம்ச d
_) துவ (ாதசி dv
@@ -2242,6 +2281,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) த (ூரன t
_) த (ூரல t
_) த (ூரிகை t
_) த (ூரில t
_) த (ூர்_ t
_) த (ூர்த t
_) த (ூர்தர்ஷன d
@@ -2274,6 +2314,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) த (ேவேந் d
_) த (ேவை t
_) த (ேவ்டியா t
_) த (ேஹி d
_) த (ைரிய d
_) த (ொனி d
_) த (ொன்னை d
@@ -2290,12 +2331,14 @@ _) தீர்க்க (_சுமங்கலி di:rggV
_) த (ோஹா d
_) தௌலதாப (ாத daUlVd.a:b
_) த (்ராட்சை d
_) துர்க் (மேனிஸ்தான turk
//endsort

//sort
_நிசப்) த dV#
அனந்) த tV#
_வசந்) த tV#
_வேதாந்) த tV#
_க) த (L08ஜா t
_சாந்) த (_ tV
_சப்) த (ங்கள dV
@@ -2317,6 +2360,7 @@ _மனோ) த (த்துவ tV
_கௌ) த (மி tV
_புல்) த (ரை tV
_மண்) த (ரை tV
அ) த (ர்வண tV
_கபூர்) த (லா tV
அகர்) த (லா tV
_சகுந்) த (லா tV
@@ -2354,6 +2398,7 @@ _ஸ்வர்ணல) த (ா t
_சுல்) த (ான t
_முல்) த (ான t
_சாந்) த (ானு tV#
_வெண்) த (ாமர t
_சி) த (ார t
_நயன்) த (ாரா t
_சரி) த (ாவ t
@@ -2365,6 +2410,7 @@ _ஸ்வர்ணல) த (ா t
_மால) த (ி t
_ரேவ) த (ி t
_வசந்) த (ி t
அமே) த (ி t
அவந்) த (ி t
வாசந்) த (ி t
_கோம) த (ி t
@@ -2383,12 +2429,14 @@ _வாஸந்) த (ி t
எ) தியோப (ிய tijo:p
எ) த (ியோப்பிய t
_ஆஸ்) தி (ர t
_வெண்) த (ிரை t
_மை) த (ிலி t
_பிர) த (ீ t
_ச) த (ீஷ t
_நி) த (ீஷ t
த (ுறை t
_பெருந்) த (ுறை d
_வெண்) த (ுளி t
ஆழ்) த (ுளை t
த (ூக்க t // in word
ஏ) த (ென் t
@@ -2409,6 +2457,7 @@ _சோவிய) த் t
யு) த்த ddV#
_சிரார்) த்த ddV#
_ஸ்ரார்) த்த ddV#
_வினோ) த்த ddV#
அர்) த்த (L09ார ddV
_அர்) த்த (_L32 ddV#
L03) த்த (டவை ddV
@@ -2417,6 +2466,8 @@ _முரட்டு) த்த (டியர ddV
_சிறை) த்த (ண்டனை ddV
பு) த்த (ன ddV
_நர்) த்த (ன ddV
_குறும்பு) த்த (ன ttV
_சகிப்பு) த்த (ன ttV
_ஜனார்) த்த (ன ddV
_பரிவர்) த்த (ன ddV
_வர்) த்த (மான ddV
@@ -2436,6 +2487,8 @@ _பரிவர்) த்த (ன ddV
எட்டு) த்த (ிக்க dd
_ம) த்த (ிக்கு dd
L03) த்த (ிசை dd
_கீழ்) த்த (ிசை dd
_மன) த்த (ிட dd
L03) த்த (ின dd
சில) த்த (ினங் dd
பல) த்த (ினங் dd
@@ -2450,12 +2503,14 @@ _மL06ிஷாசுரமர்) த்த (ினி dd
அசா) த்த (ிய dd
வை) த்த (ிய dd
உபா) த்த (ிய dd
_சம்பா) த்த (ிய dd
_நைவே) த்த (ிய dd
_சா) த்த (ியக்கூற dd
_சா) த்த (ியங்கள dd
_சா) த்த (ியத்த dd
_சா) த்த (ியந் dd
_சா) த்த (ியப்பட dd
_சா) த்த (ியப்பாட dd
_சா) த்த (ியம dd
_வி) த்த (ியார் dd
பு) த்த (ியி dd
@@ -2468,6 +2523,7 @@ L03வ்வு) த்த (ியோக dd
_சுப) த்த (ிர dd
_ரு) த்த (ிர dd
_ரௌ) த்த (ிர dd
_துங்கப) த்த (ிர dd
_சூ) த்த (ிரச் dd
_சூ) த்த (ிரச்சி dd
_சூ) த்த (ிரத்_ dd
@@ -2490,7 +2546,9 @@ L03வ்வு) த்த (ியோக dd
அ) த்து (வான d
வி) த்து (வான d
L03) த்து (வார dd
_நடு) த்து (வார dd
_முக) த்து (வார dd
_முழு) த்து (வார dd
_ஹரி) த்து (வார d
_மத) த்து (வே dd
இன) த்து (வே dd
@@ -2506,6 +2564,7 @@ _மொழி) த்து (வே dd
L03) த்த (ேவத dd
L03) த்த (ேவன dd
L03) த்த (ேவர dd
அவி) த்த (ை dd
அசிர) த்த (ை dd
_வில்_வி) த்த (ை dd
_வில்வி) த்த (ை dd
@@ -2645,6 +2704,7 @@ _சி) த்ரலேக (ா trVle:k
_) ப (ட்டன bV
_) ப (ட்டன_ pV
_) ப (ட்டனப்பாக்க pV
_) ப (ட்டனர்_ pV
_) ப (ட்டாசாரி bV
_) ப (ட்டாச்சாரி bV
_) ப (ண்டாரி bV
@@ -2656,16 +2716,17 @@ _சி) த்ரலேக (ா trVle:k
_) பத்திரப் (_பதி pVttirVp
_) ப (த்திரப்பட bV
_) ப (த்திரமா bV
_) பத்திராச (ல bVddira:tSV
_) பத்த (ிரி_ bVdd
_) பத்த (ிரிக்கு bVdd
_) பத்த (ிரிய bVdd
_) ப (த்ரபாகு bV
_) பத்ராச (ல bVdra:tSV
_) ப (த்ரி bV
_) பத் (ரிக்க pVt
_) பத் (வா fVt
_சொந்த_) ப (ந்த bV
_) ப (ந்த_பாச bV
_) ப (ந்தங்கள bV
_L14_) ப (ந்தங்கள pV
_) ப (ந்தத் bV
_L14_) ப (ந்தத் pV
@@ -2774,6 +2835,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (லமடைந்த bV
_) ப (லமடைய bV
_) ப (லமணைத்த bV
_) ப (லமனைத்த bV
_) ப (லமற்ற bV
_) ப (லமளி bV
_) ப (லமாகC் bV
@@ -2786,6 +2848,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (லமாயி bV
_) ப (லமாயு bV
_) ப (லமாய் bV
_) ப (லமிக bV
_) ப (லமிருக்க bV
_) ப (லமில்ல bV
_) ப (லமிழ bV
@@ -2797,6 +2860,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (லமுற்ற bV
_) ப (லமுள்ள bV
_) ப (லமூட்ட bV
_) ப (லமெல்லா bV
_) ப (லமேயி bV
_) ப (லமோ bV
_) ப (லராம bV
@@ -2826,6 +2890,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ல்பு bV
_) ப (ல்பை bV
_) ப (ளு bV
_) ப (வதி bV
_) ப (வநகர bV
_) ப (வன bV
_) ப (வன்குமார pV
@@ -2850,6 +2915,7 @@ _டீயும்_) ப (ன்னும்_ bV
_) ப (ாகங்க b
_) ப (ாகத b
_) ப (ாகனிய f
_) ப (ாகனீய f
_) ப (ாகப் b
_) ப (ாகம b
_) ப (ாகவத b
@@ -2868,7 +2934,6 @@ _டீயும்_) ப (ன்னும்_ bV
_) பாக் (லாந்த fa:k
_) ப (ாக்ஸ b
_) பாங்க (ாக் ba:Nk
_) ப (ாங்கில b
_) ப (ாங்க் b
_) ப (ாசிL04 f
_) ப (ாசில f
@@ -2881,6 +2946,7 @@ _டெட்_) ப (ாடி b
_) ப (ாடி_பில்டிங் b
_) ப (ாடிக்கு b
_) ப (ாடியை b
_) பாட (ிஸ்டா ba:t.
_) ப (ாட்டனிய b
_) பா (ட்டரி be:
_) ப (ாட்டலியன b
@@ -2891,6 +2957,7 @@ _டெட்_) ப (ாடி b
_) ப (ாட்டிலுடன b
_) ப (ாட்டிலை b
_) ப (ாட்டில்கள b
_) ப (ாட்டிஸ்டா b
_) பாட்மிண்ட (ன ba:d.min.t.V
_) ப (ாணங் b
_) ப (ாணத்த b
@@ -2902,6 +2969,7 @@ _டெட்_) ப (ாடி b
_) பாணிகி (ர pa:n.ig
_) பாணிக்கி (ர pa:n.ig
_) ப (ாணிக்ர p
_) பாண்ட (L04ி fa:n.t.V
_) ப (ாண்டேஜ b
_) ப (ாதாம b
_) ப (ாதிக்கக்கூட b
@@ -2939,6 +3007,7 @@ _டெட்_) ப (ாடி b
_) ப (ாதிப்பாகிற b
_) ப (ாதிப்பாகும b
_) ப (ாதிப்பால b
_) ப (ாதிப்பின b
_) ப (ாதிப்பினால b
_) ப (ாதிப்பின்றி b
_) ப (ாதிப்பிற்க b
@@ -3007,6 +3076,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாரிஸ்டர b
_) ப (ார்L04லோனா b
_) ப (ார்கவ b
_) ப (ார்சிலோன b
_) ப (ார்டர b
_) பார்ப (டா ba:rbV
_) ப (ார்பர b
@@ -3068,6 +3138,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாவனா b
_) ப (ாவனை b
_) ப (ாவமும்_நானே b
_) ப (ாவிக்கத் b
_) ப (ாவிக்கப்பட b
_) ப (ாவிக்கல b
_) ப (ாவிக்கவில்ல b
@@ -3100,6 +3171,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ாஹியான f
_) ப (ாஹுலேயன b
_) பி(ராந்தியு b
_) ப (ிL04ிக்L04 f
_) ப (ி_._பி_._சி b // b.b.c
_) ப (ிகர f
_) பிக (ான bik
@@ -3148,13 +3220,14 @@ _விளையாடு_) ப (ாம்பே p
_) பி (ரகடன p
_) ப (ிரகதீ b
_) பி (ரகதீ b
_) பி (ரகலாத p
_) பி (ரகலாத p
_) ப (ிரகஸ்பதி b
_) பி (ரகஸ்பதி b
_) பி (ரகாச p
_) பி (ரகார p
_) பி (ரக்ஞை p
_) பி (ரசங் p
_) பி (ரசண்ட p
_) பி (ரசன்ந p
_) பி (ரசன்ன p
_) பி (ரசல்ஸ b
@@ -3258,12 +3331,15 @@ _விளையாடு_) ப (ாம்பே p
_) பி (ராண்ட்_ b
_) பி (ராதித் p
_) பி (ராத்தல b
_) பி (ராந்தா p
_) பி (ராந்தி_ b
_) பி (ராந்திய_ p
_) பி (ராந்தியங் p
_) பி (ராந்தியத் p
_) பி (ராந்தியம்_ p
_) பி (ராந்தியை b
_) பி (ராந்து p
_) பி (ராந்தை p
_) பி (ரான்ச f
_) பி (ரான்தி_ b
_) பி (ரான்ஸ f
@@ -3349,6 +3425,7 @@ _விளையாடு_) ப (ாம்பே p
_) பி (ரௌச b
_) பி (ரௌன b
_) ப (ிர்லா b
_) ப (ிலாய b
_) ப (ிலாஸ்பூர b
_) பிலிடெல்ப (ிய filidelf
_) பிலிம filmV#
@@ -3394,6 +3471,7 @@ _விளையாடு_) ப (ாம்பே p
_) ப (ீச்சில b
_) ப (ீச்சுக்க b
_) ப (ீச்சுல b
_) ப (ீச்சை b
_) பீச் (ல bi:tS
_) ப (ீஜ b
_) ப (ீஜிங b
@@ -3455,6 +3533,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) புத்த (ம்_புதிய puttV
_) புத்த (ம்_புது puttV
_) புத்த (ரிசி puttV
_) புத்த (றிவ puttV
_) புத்த (ள puttV
_) புத்த (ழக puttV
_) ப (ுத்திக் b
@@ -3484,7 +3563,6 @@ _பெனசீர்_) ப (ுட்டோ b
_) புல்க (ான pulg
_) ப (ுல்டோசர b
_) ப (ுல்லட் b
_) ப (ுல்லா_ f
_) ப (ுல்லாக்க b
_) புல்லெட் bullet.
_) பு (ளுடோனிய p
@@ -3516,6 +3594,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ூதான b
_) ப (ூதேவி b
_) பூத் (_ bu:t
_) பூத்த (ிற் bu:dd
_) ப (ூத்தில b
_) ப (ூத்துகள b
_) ப (ூத்துக்கா b
@@ -3535,6 +3614,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ூமி b
_) ப (ூர்ஷ b
_) ப (ூலோக b
_) ப (ூஷண b
_) ப (ூஷன b
_) ப (ெங்களூர b
_) ப (ெங்கால b
@@ -3574,9 +3654,11 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ெர்முடா b
_) ப (ெர்லிங b
_) ப (ெர்லின b
_) ப (ெலிக்ஸ f
_) பெலோஷிப் felo:s.ip
_) ப (ெல் b
_) ப (ெஸ்ட் b
_) ப (ேL04ரி b
_) ப (ேகத் b
_) ப (ேகம b
_) ப (ேக்கரி b
@@ -3600,6 +3682,7 @@ _பெனசீர்_) ப (ுட்டோ b
_) பேனட் be:nVt.
_) ப (ேனர b
_) ப (ேபி b
_) ப (ேமஸ f
_) ப (ேமானி b
_) ப (ேமிலி f
_) ப (ேரல b
@@ -3631,7 +3714,9 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப (ைராகி b
_) ப (ைல f
_) ப (ைலட் p
_) பொக (ாரோ bok
_) ப (ொக்கே b
_) ப (ொட்டானிக் b
_) ப (ொம்மன b
_) ப (ொம்மனாட்டி p
_) ப (ொம்மல b
@@ -3776,9 +3861,17 @@ _பெனசீர்_) ப (ுட்டோ b
_) ப் (ளூஸ b
_) ப் (ளோரிடா f
_) ப் (ளௌஸ b
_) பலாப்ப (ல bVla:bbV
_) பலபத்த (ிர bVlVbVdd
_) ப (ாரவண்டி b
_) ப (லம்தான bV
_) ப (ந்தபாச bV
//endsort

//sort
_சு) ப்ப bbV#
_பீர்) ப (ால் b
_குங்) ப fV#
_நீர்) ப pV#
_ப்ரூ) ப fV#
இடர்) ப pV#
@@ -3818,29 +3911,35 @@ _விரகதா) ப (+ bV#
அல்) ப (_ pV#
ஒரு) ப (க pV
இரு) ப (க pV
நன்) ப (கல pV
பின்) ப (கல pV
_நண்) ப (கல pV
முன்) ப (கல pV
னி) ப (கவான் bV
_மறு) ப (குதி pV
வட) ப (குதி pV
தென்) ப (குதி pV
_கல்) பக (ோடி pVk
அக்கம்) ப (க்க bV
ப (க்கK pV
_தா) ப (க்கணல bV
பரம) ப (க்த bV
ராம) ப (க்த bV
_தொடர்) ப (ங்க pV
_தா) ப (ங்கள bV
பிரதா) ப (ங்கள bV
_தா) ப (ங்கொ bV
_த) ப (ச bV
_வெண்) ப (ஞ்ச pV
ப (ட pV
க) ப (ட bV
கரம்) ப (ட pV
ம்) ப (ட bV
_பயண்) ப (ட bV
ப (டி pV
மறு) ப (டி bV
_சாகு) ப (டி bV
_குளறு) ப (டி bV
_தள்ளு) ப (டி bV
@) ப (ட்ச+ pV
ஆரிய) ப (ட்டா bV
_நாக) ப (ட்டின pV
@@ -3911,6 +4010,7 @@ _சொந்த) ப (ந்த bV
_முன்) ப (னி pV
_மூடு) ப (னி pV
அடர்) ப (னி pV
_வெண்) ப (னி pV
_கம்) ப (னி_ pV
_கம்) ப (னிகள pV
_கம்) ப (னிக்க pV
@@ -3940,6 +4040,7 @@ _ஜெனி) ப (ர fV
அ) ப (ர்ணா pV
_கன்) ப (ர்ம fV
இன்) ப (ர்ம fV
_குழி) ப (றி pV
கரம்) ப (ற் pV
_தீ) ப (ற்ற pV
ஆள்) ப (ற்ற pV
@@ -3983,6 +4084,9 @@ _வெண்) ப (ளிங்க pV
_ஹனி) ப (ா f
_ஹனீ) ப (ா f
ஆமாம்) ப (ா p
L03தாம்) ப (ா p
L03துதாம்) ப (ா p
L03வ்வளவுதாம்) ப (ா p
_போதும்) ப (ா p
_போலாம்) ப (ா p
_வேண்டாம்) ப (ா p
@@ -3991,6 +4095,7 @@ _வேண்டாம்) ப (ா p
_வரேம்) ப (ா_ p
_போறேம்) ப (ா_ p
_சம) ப (ாக b
_மேற்) ப (ாக b
முதற்) ப (ாக b
உதிரிப்) ப (ாக b
_வெளிப்) ப (ாக b
@@ -4049,7 +4154,9 @@ _முரண்) ப (ாட p
ஔரங்கா) ப (ாத b
_சரி) ப (ாதி p
_சிறு) ப (ாதை p
_நேர்) ப (ாதை p
ஜிந்தா) ப (ாத் b
_கதா) ப (ாத்திர p
_பஞ்ச) ப (ாத்திர p
அ) ப (ான p
ச) பாபதி ba:pVti
@@ -4076,6 +4183,7 @@ _டி) பார்ட்மெண்ட pa:rt.men.t.V#
அ) பார்மெண்ட pa:rment.V#
கண்) ப (ார்வை p
_வால்) ப (ாறை p
_த) ப (ால b
இம்) ப (ால f
இரு) ப (ால p
ஒரு) ப (ால p
@@ -4084,12 +4192,16 @@ _டி) பார்ட்மெண்ட pa:rt.men.t.V#
_பெண்) ப (ால p
L03தன்) ப (ால p
_ப்ரின்சி) ப (ால p
_தீ) ப (ாலங்கார b
_சிவ) ப (ாலன b
_கம்) ப (ாலா p
_கா) ப (ாலி b
_தொடர்) ப (ால் b
ப (ால்_ p
_தன) ப (ால்_ b
_பண்) ப (ால்_ b
அன்) ப (ால்_ b
இயல்) ப (ால்_ b
_டி) பால்ட fa:lt.V#
_நே) ப (ாள p
_தாழ்) ப (ாள p
@@ -4102,6 +4214,7 @@ _ப்ரின்சி) ப (ால p
வீண்) ப (ாவ p
_படு) ப (ாவ p
அடி) ப (ாவி p
_தோல்) ப (ாவை p
_நவ) ப (ாஷ p
_தமிழ்ப்) ப (ாஷ _b
_பெல்) ப (ாஸ்ட f
@@ -4113,8 +4226,11 @@ _தமிழ்ப்) ப (ாஷ _b
_கடா) ப (ி f
_ஜுல்) ப (ி f
_மெய்) ப (ி p
_ஹம்) ப (ி p
_செல்) ப (ி f
_பொய்) ப (ி p
_யுஎஸ்) ப (ி b
_தியோச) ப (ி f
சித்தப்) பி(ரமை b
_லி) ப (ி_ p
_கன்) ப (ிகர f
@@ -4124,6 +4240,7 @@ _தமிழ்ப்) ப (ாஷ _b
_கா) பிட(ல pit.V
அ) ப (ிடவிட f
ஆள்) ப (ிடி p
_சூடு) ப (ிடி p
_மீன்) ப (ிடி p
கண்டு) ப (ிடி p
திமிர்) ப (ிடி p
@@ -4216,6 +4333,7 @@ _ஷண்முக) பி (ரிய p
_) பி (லெட்சர f
_சிம்) ப (ிள p
_ரை) ப (ிள f
_ஹம்) ப (ிள b
_) பி (ளே p
ஏரோ) பி (ளேன p
ப (ிள்ளை p
@@ -4224,6 +4342,7 @@ _ஷண்முக) பி (ரிய p
பெண்) ப (ிள்ளை p
அச்சா) ப (ீ f
_தபாலா) ப (ீ f
ஆ) ப (ீL04 f
_ர) பீக் fi:k
உப) ப (ீட p
விக்கி) ப (ீடியா p
@@ -4251,6 +4370,9 @@ _வெண்) ப (ுகை p
இன்) ப (ுற b
_துன்) ப (ுற b
_நம்) ப (ுற b
ஊம்) ப (ுற b
_நிரம்) ப (ுற b
_மார்) ப (ுற b
_கிளம்) ப (ுற b
_திரும்) ப (ுற b
_மாண்) ப (ுற b
@@ -4300,6 +4422,7 @@ _கோலாலம்) ப (ூர p
வீண்) ப (ேச்ச p
ப (ேட்டை p
ம்) ப (ேட்டை b
அ) ப (ேத p
_சில) ப (ேர p
_பல) ப (ேர p
_வெல்) ப (ேர f
@@ -4321,7 +4444,9 @@ _ வெடி) ப (ொரு p
ப (ொருட்டு_ p
_பழம்) ப (ொருள p
_தொல்) ப (ொருள p
_மின்) ப (ொறி p
_தேடு) ப (ொறி p
_குளிர்) ப (ொழி p
வீண்) ப (ொழுத p
ப (ொழுதிலா_+ p
ப (ொழுதிலும்_+ p
@@ -4335,6 +4460,7 @@ _ வெடி) ப (ொரு p
_விலை) ப (ோ p
_பிர) ப (ோL04 p
_ஏக) ப (ோக b
அரச) ப (ோக b
ராஜ) ப (ோக b
ப (ோக_ p
_சுக) ப (ோக_ b
@@ -4401,6 +4527,7 @@ _விலை) ப (ோ p
_போ) ப் p
_லாக) ப் p
ஆசி) ப் f
_செல்) ப் f
_டெஸ்க்டா) ப் p
_லை) ப் (_ f
ஆ) ப் (கன f
@@ -4420,6 +4547,7 @@ _மைக்ரோசா) ப் (ட f
_ஹி) ப்னாட (ிச pna:t.
கர்) ப்ப bbV#
_சாகி) ப்ப bbV#
_தகர்) ப்ப ppV#
_நவா) ப்ப bbV#
_சாஹி) ப்ப bbV#
_நகர்) ப்ப ppV#
@@ -4428,6 +4556,7 @@ _மைக்ரோசா) ப் (ட f
L03) ப்ப (தில bbV
நிர்) ப்ப (ந்த bbV
_ரி) ப்ப (ன bbV
_ரி) ப்ப (ன்_L33 ppV
நிர்) ப்ப (ய bbV
_ர) ப்ப (ர bbV
ஆ) ப்ப (ரிக்க fV
@@ -4445,10 +4574,16 @@ _மைக்ரோசா) ப் (ட f
L03) ப்ப (ஸ bbV
_ட) ப்ப (ா bb
அடி) ப்ப (ாக bb
இட) ப்ப (ாக bb
_வல) ப்ப (ாக bb
அவிர்) ப்ப (ாக bb
இறுதி) ப்ப (ாக bb
_கீழ்) ப்ப (ாகங்க bb
_கீழ்) ப்ப (ாகத் bb
_கீழ்) ப்ப (ாகம bb
துர்) ப்ப (ாக்கிய bb
ஆர்) ப்ப (ாட்ட bb
_கலை) ப்ப (ாணி bb
_ஜ) ப்ப (ார bb
_துர்) ப்ப (ாஷ bb
அ) ப்ப (ாஸ bb
@@ -4467,6 +4602,7 @@ _யாதவ) ப்பி (ரகாச pp
L03) ப்பி (ரகார pp
_வெளி) ப்பி (ரகார pp
அதிக) ப்பி (ரசங்க pp
_சண்ட) ப்பி (ரசண்ட pp
L03) ப்பிரச (ார pprVtS
_கை) ப்பி (ரசுர pp
_துண்டு) ப்பி (ரசுர pp
@@ -4477,6 +4613,7 @@ _காட்டு) ப்பி (ரதேச pp
_நில) ப்பி (ரபு pp
_சத்திய) ப்பி (ரமா pp
மன) ப்பி (ரமை bb
_சுக) ப்பி (ரம்ம bb
_பர) ப்பி (ரம்ம pb
_மணி) ப்பி (ரவா pp
L03) ப்பி (ரவாக pp
@@ -4493,6 +4630,7 @@ _ஒL10ி) ப்பி (ரவாக pp
தேச) ப்பி (ரஷ்ட pp
_ஜாதி) ப்பி (ரஷ்ட pp
_வான) ப்பி (ரஸ்த pp
L03) ப்பி (ராமண bb
_கூட்டு) ப்பி (ரார்த்தனை pp
ஆ) ப்பி (ரிக்க f
தென்னா) ப்பி (ரிக்க fV
@@ -4518,6 +4656,7 @@ _சந்தேக) ப்ப (ுத்தி bb
கம்) ப்யூட (ர pjU:t.V
_பெர்) ப் (யூம f
_யூ) ப்ரட (ீஸ frVt.
_ச) ப் (ரமஞ்ச p
ஆ) ப் (ரிக்க f
_தென்னா) ப் (ரிக்க f
_சு) ப் (ரியா p
@@ -4640,6 +4779,8 @@ _தென்னா) ப் (ரிக்க f

_மக்க) ள்த (ொகை t.t
உ) ள் (துறை t.
_திங்க) ள் (கிழமை t.
உ) ள் (பட t.


.group ழ
@@ -4741,6 +4882,7 @@ _தென்னா) ப் (ரிக்க f
இராஞ்ச ra:n^tSV#
இ (ராட்சத
இ (ராட்சஷ
இ (ராட்டின+
இ (ராணி
இ (ராணுவ
இ (ராதாகி

+ 14
- 0
dictsource/te_list View File

@@ -78,6 +78,20 @@ _0M3x kotlu
_1M3 koti
_dpt _d,aS;a:mkam

_#వ av#a // ordinal suffix, drop the final vowel from the cardinal number
_20o irav#aIj
_30o muppaIj
_40o nalub#aIj
_50o ja:b#aIj
_60o arav#aIj
_70o d.#eb#baIj
_80o jenab#aIj
_90o tomb#aIj
_0Co v#andal
_1Co v#and
_0M1o v#el
_1M1o v#ejj
_0M2o laks.al

// symbols
_?? aks.aram // 'unknown character'

+ 94
- 0
dictsource/ur_list View File

@@ -192,6 +192,7 @@ _dpt _ISaRI'Ia_
انہوں ,UnH'o:n $u
انہیں ,UnH'e:n $u
انھیں ,UnH'e:n $u
جنہوں J,InH'o:n $u

// unstressed prepositions
کا $u
@@ -674,3 +675,96 @@ _dpt _ISaRI'Ia_
مانند ma:n'Ind $1
اتار Ut'a:R
آرکائیو ,a:Rk'a:jv
کیلئے ke:l'i:;e:
طرح t,aR'aH
اگر ag'aR
ٹیم t.'i:m
اوپر u:p'aR $1
کر k'aR $u
لیا l'i:;a: $u
کئے k'i:;e:
ضرورت z,aRu:R'at
مگر mag'aR
بنا ban'a:
بنی ban'i:
بنے ban'e:
بتا bat'a:
بتی bat'i:
پتا pat'a:
پتی pat'i:
پتے pat'e:
دیگر dig'aR
فیصد fis.'ad
جنرل J,anR'al
ترقی taR'aqi
سید s,ai;'ad
اجلاس ,IJl'a:s
باہر ba:H'aR
حضرت H,azR'at
تاکہ ta:k'e:H $u
یعنی ja:n'i: $1
ناظم n'a:z.Im
حل H'al
دیئے d'i:;e:
تحت t'EHEt
لیگ l'i:g
علم 'Ilm
قانون qa:n'u:n $1
ثابت s'a:bIt
ضلع z'Ila:
خطاب xIt'a:b
اندر 'andaR
طلب tal'ab
لہذا lIH'a:Da:
متاثرہ mUt'a:sIRa
نقصان n,Uqs.'a:n
وغیرہ v'aQERa
صورتحال s.,u:Rate:H'a:l
کھلاڑی k#Il'a:r.i
پروفیسر pRo:fe:s'aR
علاج Il'a:J
برس baR'as
کارکردگی k,a:Rk'aRd@g,i:
ہمیشہ Ham'e:S,a
ملاقات m,Ula:q'a:t
شائع S'a:ja:
ساحل s'a:HIl
یونیورسٹی j'u:njvaRsIt.,i:
انضمام ,InzIm'a:m
خدا x'Uda:
محنت m,EHn'at
مرکزی m,aRk'azi
اجازت ,IJa:z'at
مقدار m,Iqd'a:R
تعاون t'a:vUn
سن s'Un
خدمات x,Idm'a:t
شاید Sa:j'ad
اخر 'a:xIR
ورلڈ v'aRld.
خدمت x,Idm'at
کن k'In
شاہد S'a:HId
صنعت s.an'at
وکٹ v'IkIt.
دودھ d'u:d#
تربیت t,aRbi;'at
تصور tas.'avUR
چنانچہ cUn'a:nce:H
واقعات v,a:qe:'a:t
معیشت m,a:iS'at
ذہن D'EHEn
گورنمنٹ gav'aRnmInt.
فرق f'aRq
حیات H,ai;'a:t
طالب t'a:lIb
حضور HUz'u:R
نور n'u:R
ذریعہ DaR'i:;a:
مقصد m,aqs.'ad
معاونت m,Oa:vIn'at
خاتون xa:t'u:n
اطلاع 'Itl,a:
اطلاعات ,Itl'a:t
سنہ s'an
دسٹرکٹ d.'Ist.RIkt.

+ 30
- 1
dictsource/ur_rules View File

@@ -57,7 +57,7 @@
ا a:
_) ا (L01 // Acts like Consonants if followed by a vowel but is silent.
_) ا a
_) او u:
_) او o:
_) ای e:
ائ (L02 a:I
اہ(_ a:H
@@ -119,6 +119,10 @@ _) ای e:
_) اح (L02 'EH
_) است (L02 ,IstI
_) ارت (L02 ,IRtI
_) ایس (L01 'Es
_) اونچ (L01 'u:nc
_) ادا (ر 'Ida:
اسکول ,Isk'u:l

.group آ
آ a:
@@ -137,6 +141,11 @@ _) ای e:
_) عمر 'UmR
L02) عی (_ 'ai:
علیحد 'alEHd
عَ 'a
عِ 'I
عُ 'U
علاق Il'a:q
عے e:

.group و
و o:
@@ -211,6 +220,8 @@ _) ای e:
بوڑھ b'u:r.h
_) بے (P2 b'e:
بحران b,OHR'a:n
بنیاد bUnj'a:d
بیمار bim'a:R


.group پ
@@ -285,6 +296,7 @@ _) ای e:
_) جمل J'Uml
_) جہ (L02 J'EH
_) جدا J'Uda:
_) جسم J'Ism

.group چ
چ cV
@@ -321,6 +333,8 @@ _) ای e:
_) خود x'Ud
_) خواہش xv'a:HIS
_) خیا x'aja:
_) خون x'u:n
_) خشک x'USk


.group د
@@ -341,6 +355,9 @@ _) ای e:
دلچسپ d,Ilc'asp
دھیم d#'i:m
_) دوسر d'u:sR
_) دین (L01 d'e:n
_) دیت (L01 d'e:t
دہ (_ d,a

.group ڈ
ڈ d.V
@@ -374,6 +391,7 @@ _) ای e:
_) رکن R'Ukn
@) ر (د R
_) رفت R'af@t
_) روا R'ava:

.group ڑ
ڑ r.V
@@ -420,6 +438,8 @@ _) ای e:
سرگرم s,aRg'aRm
@) ستان (_ Ist'a:n
@) ستانی (_ Ist'a:ni
_) سوا sav'a:
_) سکول sk'u:l

.group ش
ش SV
@@ -441,12 +461,14 @@ _) ای e:
صّ ssV
صّ (L01 ss
صوب s.'u:b
صورت s.u:R'at

.group ض
ض zV
ض (L01 z
ضّ zzv
ضّ (L01 zz
ضرور zaR'u:R

.group ط
ط tV
@@ -467,6 +489,7 @@ _) ای e:
غ (L01 Q
غّ QQV
غّ (L01 QQ
غلام QUl'a:m

.group ف
ف fV
@@ -498,6 +521,8 @@ _) ای e:
کوشش k'o:SIS
_) کہ (L02 k'EH
کارکن k'a:Rk,UUn
_) کیس (L01 k'Es
_) کت (L01 k'Ut

.group گ
گ gV
@@ -524,6 +549,8 @@ _) ای e:
لّ (L01 ll
لکھ l'Ik#
_) لہ (L02 l'EH
_) لین (L01 l'e:n
_) لیت (L01 l'e:t

.group م
م mV
@@ -563,6 +590,8 @@ _) ای e:
مخبر m'Uxb,IR
ملحق m'UlH,Iq
مذہب m,aDH'ab
متاثر mUt'a:sIR
_) مثال mIs'a:l

.group ن
ن nV

+ 4
- 3
espeak-data/voices/asia/fa View File

@@ -1,3 +1,4 @@
name Farsi
language fa
name persian
language fa
dictdialect en-us

+ 1
- 1
espeak-data/voices/asia/fa-pin View File

@@ -1,4 +1,4 @@
name Farsi-Pinglish
name persian-pinglish
// Sometimes, Farsi speakers write Farsi words using English characters, particularly in Chat and SMS (texte messages).), called Pinglish
language fa-pin
dictrules 1

espeak-data/voices/test/gu → espeak-data/voices/asia/gu View File


espeak-data/voices/test/te → espeak-data/voices/asia/te View File


+ 13
- 4
espeak-data/voices/mb/mb-ir1 View File

@@ -1,13 +1,22 @@
// Persian (Farsi) Mbrola voice need ir1 diphone file.
name Farsi-mb-ir1
name persian-mb-ir1
language fa
gender male
phonemes fa
mbrola ir1 ir1_phtrans

// "speed 82" adjust default speed of "mb-ir1" with eSpeak "fa".
speed 82
// Please don't change this value. It's result of several tests.

// "dictrules 1" read English text as Pinglish (Persian text that written with English alphabets).
// "voicing 125" adjust output volume of "mb-ir1" with eSpeak "fa".
voicing 125
// Please don't change this value. It's result of several tests.

// "pitch 82 118" adjust default pitch of "mb-ir1" like other male voices.
pitch 82 118
// Please don't change this value. The result male voice is good and natural.

// If you want use Pinglish instead of English for reading, just delete // from start of next line.
// dictrules 1
// If you want use Pinglish instead of English for reading, just delete // from start of above line.
// "dictrules 1" read English text as Pinglish (Persian text that written with English alphabets).


+ 22
- 0
espeak-data/voices/mb/mb-ir2 View File

@@ -0,0 +1,22 @@
name persian-mb-ir2
language fa
gender female
phonemes fa
mbrola ir2 ir1_phtrans 22050

// "speed 78" adjust default speed of "mb-ir2" with eSpeak "fa".
speed 78
// Please don't change this value. It's result of several tests.

// "voicing 150" adjust output volume of "mb-ir2" with eSpeak "fa".
voicing 150
// Please don't change this value. It's result of several tests.

// "pitch 140 220" adjust default pitch of "mb-ir2" like other female voices.
pitch 140 220
// Please don't change this value. The result female voice is good and natural.

// If you want use Pinglish instead of English for reading, just delete // from start of next line.
// dictrules 1
// "dictrules 1" read English text as Pinglish (Persian text that written with English alphabets).


+ 1
- 1
espeak-data/voices/other/en-sc View File

@@ -13,4 +13,4 @@ replace 03 I2 i
replace 01 aI aI2
replace 02 a a/
replace 02 u: U
replace 02 3: VR
//replace 02 3: VR

+ 2
- 1
espeak-data/voices/other/lfn View File

@@ -1,6 +1,7 @@
name lingua franca nova
name lingua_franca_nova
language lfn
gender male
phonemes base2
l_unpronouncable 0
numbers 2 3

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

@@ -0,0 +1,3 @@
name basque-test
language eu


+ 2
- 1
mkdictlist View File

@@ -69,7 +69,8 @@ def write_phoneme_data_rules(f):
f.write('phsource/phonemes.stamp: \\\n')
for phonfile in sorted(phoneme_data):
f.write('\t%s \\\n' % phonfile)
f.write('\tphsource/phonemes\n')
f.write('\tphsource/phonemes \\\n')
f.write('\tsrc/espeakedit\n')
f.write('\tESPEAK_DATA_PATH=$(PWD) src/espeakedit --compile && touch $@\n')
f.write('\n')


+ 518
- 0
phsource/ph_arabic View File

@@ -0,0 +1,518 @@
// short vowels
phoneme a
vowel starttype #a endtype #a
unstressed
length 180
CALL ShortVowelLength
IF prevPh(s[) OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN
FMT(vowel/0_3)
ELSE
FMT(vowel/a#)
ENDIF
endphoneme


phoneme i
vowel starttype #i endtype #i
length 140
unstressed
CALL ShortVowelLength
FMT(vowel/i)
endphoneme

phoneme u
vowel starttype #u endtype #u
unstressed
length 140
CALL ShortVowelLength
FMT(vowel/u)
endphoneme



phoneme : // lengthen previous vowel by "length"
virtual
length 200
endphoneme




// long vowels
phoneme a:
vowel starttype #a endtype #a
length 300
//CALL LongVowelLength
IF prevPh(s[) OR prevPh(d[) OR prevPh(t[) OR prevPh(Z) THEN
FMT(vowel/0_3)
ELSE
FMT(vowel/a#)
ENDIF
endphoneme


phoneme i:
vowel starttype #i endtype #i
length 300
//CALL LongVowelLength
FMT(vowel/i)
endphoneme

phoneme u:
vowel starttype #u endtype #u
length 300
//CALL LongVowelLength
FMT(vowel/u)
endphoneme


// Redifine consnant for arabic




phoneme l
liquid
lengthmod 7

IF nextPh(isNotVowel) THEN
ChangePhoneme(l/)
ENDIF

IF nextPh(isNotVowel) THEN
// in case the next phoneme is no longer a vowel, in pass=2
PrevVowelEndings
VowelEnding(l/L1_@L, -60)
VowelEnding(l/L1_aL, -40)
VowelEnding(l/L1_eL, -30)
VowelEnding(l/L1_iL, -30)
VowelEnding(l/L1_oL, -40)
VowelEnding(l/L1_uL, -40)
EndSwitch

FMT(l/l_)
RETURN
ENDIF

CALL vowelstart_l

IF prevPh(#@) THEN
VowelEnding(l/xl, -50)
ELIF prevPh(isVowel) THEN
VowelEnding(l/xl, -40)
ENDIF

IF prevPh(isPause) THEN
FMT(l/_l)
ENDIF

IF prevPh(t) THEN
FMT(l/tl)
ENDIF

IF prevPh(l/) THEN
FMT(l/l_long) // double l, make it longer
ENDIF

FMT(l/l)
endphoneme





phoneme w
liquid
lengthmod 7
FMT(w/w_)
endphoneme



phoneme j
liquid palatal
lengthmod 7
FMT(j/j_)
endphoneme



//*******************************************************************
// NASAL CONSONANTS
//*******************************************************************


phoneme m
vcd blb nasal
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
lengthmod 4
FMT(m/m_)
endphoneme


phoneme n
vcd alv nasal
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
lengthmod 4
FMT(n/n_)
endphoneme


//*******************************************************************
// VOICED STOPS
//*******************************************************************


phoneme b
vcd blb stop
voicingswitch p
Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk
lengthmod 7
FMT(b/b) addWav(x/b)
endphoneme


phoneme d
vcd alv stop
voicingswitch t
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

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


phoneme d[
vcd dnt stop
voicingswitch t[
lengthmod 5
Vowelin f1=2 f2=1500 -300 300 f3=-150 80
Vowelout f1=2 f2=1500 -300 300 f3=-150 80
FMT(d/d) addWav(x/d_dnt, 100)
endphoneme


phoneme dZ
vcd pla afr sibilant
voicingswitch tS
//lengthmod 8
Vowelin f1=2 f2=2300 200 400 f3=100 80
Vowelout f1=2 f2=2300 250 300 f3=100 80 brk

FMT(dzh/dzh) addWav(x/dzh)
endphoneme



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

IF KlattSynth THEN
IF nextPh(isPause2) THEN
FMT(klatt/dz_pzd_) addWav(x/dzh, 35)
ENDIF
FMT(klatt/dz_pzd) addWav(x/dzh, 45)
ENDIF

FMT(dzh/dz_pzd) addWav(x/dzh, 45)
endphoneme


phoneme g
vcd vel stop
voicingswitch k
lengthmod 5
Vowelin f1=2 f2=2300 200 300 f3=-300 80
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk

FMT(g/g) addWav(x/g2, 150)
endphoneme

//*******************************************************************
// VOICED fricatives
//*******************************************************************

phoneme D
vcd dnt frc
voicingswitch T
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50

IF KlattSynth THEN
Vowelin f1=0 f2=1290 -300 300 f3=0 0
ENDIF
FMT(voc/dh) addWav(vocw/dh)
endphoneme


phoneme z
vcd alv frc sibilant
//voicingswitch s
lengthmod 1
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50

IF KlattSynth THEN
Vowelin f1=0 f2=1390 -300 300 f3=0 0
Vowelout f1=1 f2=1390 -300 300 f3=-100 60 len=50 brk
ENDIF

FMT(voc/z) addWav(ufric/s_, 85)
endphoneme


phoneme Z
vcd pla frc sibilant
voicingswitch S
lengthmod 6
Vowelin f1=0 f2=2000 0 300 f3=-200 80
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk

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

FMT(voc/zh) addWav(vocw/zh, 130)
endphoneme





//*******************************************************************
// UNVOICED STOPS
//*******************************************************************

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
WAV(ustop/t, 90)
endphoneme


phoneme t[ // dental variant of /t/
vls dnt stop
voicingswitch d[
lengthmod 2
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20

WAV(ustop/t_dnt, 35)
endphoneme




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

IF KlattSynth THEN
Vowelout f1=0 f2=2300 200 300 f3=-200 80 rms=20
ENDIF

WAV(ustop/k)
endphoneme


phoneme q
vls uvl stop
lengthmod 2
Vowelin f1=1 f2=1700 0 200 f3=-300 80 gpaus f4 rms=30
Vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35
WAV(ustop/q, 48)
endphoneme



//*******************************************************************
// UNVOICED fricatives
//*******************************************************************

phoneme f
vls lbd frc
voicingswitch v
lengthmod 3
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80
WAV(ufric/f)
endphoneme


phoneme T
vls dnt frc
voicingswitch D
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ufric/th)
endphoneme


phoneme s
vls alv frc sibilant
voicingswitch z
lengthmod 3
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
WAV(ufric/s)
endphoneme


phoneme S
vls pla frc sibilant
voicingswitch Z
lengthmod 3
Vowelin f1=0 f2=2100 100 300 f3=-100 80
Vowelout f1=0 f2=2100 100 300 f3=-100 80

WAV(ufric/sh)
endphoneme






phoneme x
vls vel frc
voicingswitch Q
lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
//WAV(ufric/x)
WAV(vwl_ar/kha)
endphoneme



phoneme h
vls glt apr
lengthmod 3
ipa h
WAV(h/h_, 70) // no vowel following
endphoneme








// Added specific consnant to arabic
phoneme H // arabic Hah
vls phr frc
ipa U+0127
lengthmod 5
WAV(vwl_ar/H2)
endphoneme

phoneme Z // arabic ZAH .Todo
vls phr frc
lengthmod 5
voicingswitch z
WAV(vwl_ar/ZH4)
endphoneme

phoneme E // arabic Ain
vls phr frc
//ipa U+0127
//voicingswitch a
lengthmod 5
//WAV(vwl_ar/AN2,50)
WAV(vwl_ar/ain2)

endphoneme

phoneme G //arabic Ghain
//vcd uvl frc
vls uvl frc
lengthmod 3
Vowelin f1=0 f2=2300 200 400 f3=-100 80
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
voicingswitch R
//lengthmod 5
//ipa U+0280
WAV(vwl_ar/ghain6)
//FMT(voc/Q_ulv) addWav(vwl_ar/gh, 100)
//FMT(voc/Q_ulv) addWav(vwl_ar/ghain3, 100)
endphoneme

phoneme d[ //arabic Dhad
vls dnt stop
voicingswitch d
length 120
WAV(vwl_ar/da7)
endphoneme

phoneme s[
vls dnt stop
//voicingswitch s
lengthmod 7
WAV(vwl_ar/SA1)
endphoneme



phoneme r
liquid rhotic
ipa ?
lengthmod 7
IF nextPh(a) OR nextPh(a:) THEN
FMT(r/ra)
ENDIF
FMT(r/r_)
endphoneme

procedure ShortVowelLength

//IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
IF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
length 140
RETURN
//ENDIF
ELSE
IF prevPh(isStressed) THEN
length 160
ELSE
length 175
ENDIF
ENDIF
endprocedure
procedure LongVowelLength

//IF prevPhW(isVoiced) AND nextPhW(isVoiced) THEN // voiced
IF nextPhW(:) THEN
length 300
RETURN
//ENDIF
ELIF prevPhW(isNotVowel) AND nextPhW(isNotVowel) THEN // consonants
length 340
RETURN
//ENDIF
ELSE
IF prevPh(isStressed) THEN
length 360
ELSE
length 375
ENDIF
ENDIF
endprocedure

+ 2
- 2
phsource/ph_armenian View File

@@ -94,8 +94,8 @@ endphoneme


phoneme k#
// import_phoneme consonants/kh
import_phoneme base/k
import_phoneme consonants/kh
// import_phoneme base/k
endphoneme



+ 186
- 0
phsource/ph_basque View File

@@ -0,0 +1,186 @@

//====================================================
// 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'
ELSE
ChangePhoneme(a)
ENDIF
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



// Note: I have made [s] and [z] the same, and similarly [ts] and [tz]
// These should be changed to the correct "s", "z", "ts" and "tz" sounds fo Basque.

phoneme s
vls alv frc sibilant
ipa ʂ
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/sh_rfx, 60)
ENDIF
WAV(ufric/sh_rfx, 90) // different from s but probably not correct
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

// z+z=tz, z+g=zk, z+g=zt, z+b=zp
IF nextPh(z) THEN
ChangeNextPhoneme(tz)
ChangePhoneme(NULL)
ELSEIF nextPh(g) THEN
ChangeNextPhoneme(k)
ELSEIF nextPh(d) THEN
ChangeNextPhoneme(t)
ELSEIF nextPh(b) THEN
ChangeNextPhoneme(p)
ENDIF
IF nextPh(isPause) THEN
WAV(ufric/s_, 60)
ENDIF
WAV(ufric/s, 80)
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(ustop/ts_)
ENDIF
WAV(ustop/ts)
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(ustop/ts_)
ENDIF
WAV(ustop/ts)
endphoneme


phoneme t
vls dnt stop
lengthmod 2
// t+g=k, t+d=t, t+z=tz
IF nextPh(g) THEN
ChangeNextPhoneme(k)
ChangePhoneme(NULL)
ELSEIF nextPh(d) THEN
ChangeNextPhoneme(t)
ChangePhoneme(NULL)
ELSEIF nextPh(z) THEN
ChangeNextPhoneme(tz)
ChangePhoneme(NULL)
ENDIF
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

+ 16
- 0
phsource/ph_english View File

@@ -223,6 +223,14 @@ phoneme E# // [@] in unstressed syllables, if next vowel is stressed
endphoneme


phoneme E2 // does not reduce in unstressed syllables
vowel starttype #e endtype #e
length 140
ChangePhoneme(E) // a second change ([E] to [I2]) won't happen
endphoneme



phoneme I
vowel starttype #i endtype #i
length 130
@@ -328,6 +336,14 @@ phoneme A@ // Used for [A:] when followed by 'r'
endphoneme


phoneme A# // [a] in British [A:] in American
vowel starttype #a endtype #a
ChangePhoneme(a)
endphoneme




phoneme 3:
vowel starttype #@ endtype #@
length 210

+ 6
- 0
phsource/ph_english_us View File

@@ -169,6 +169,12 @@ phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in Ameri
endphoneme


phoneme A# // [a] in British [A:] in American
vowel starttype #a endtype #a
ChangePhoneme(A:)
endphoneme


phoneme 3:
vowel starttype #@ endtype #@
length 240

+ 20
- 3
phsource/ph_german View File

@@ -316,7 +316,7 @@ endphoneme


phoneme r
vcd alv flp rhotic
liquid alv rhotic
lengthmod 6

IF prevPhW(@-) THEN
@@ -325,7 +325,10 @@ phoneme r
IF prevPhW(isVowel) THEN
ChangePhoneme(R)
ELSE
IF prevPhW(t) THEN
IF prevPhW(t) OR prevPhW(p) OR prevPhW(k) THEN
PauseBefore 40
ELSEIF prevPhW(d) OR prevPhW(b) OR prevPhW(g) THEN
PauseBefore 15
ELSE
InsertPhoneme(@-)
ENDIF
@@ -393,7 +396,21 @@ phoneme d
IF nextPh(l2) THEN
ChangePhoneme(t)
ENDIF
CALL base/d
lengthmod 5
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk

IF PreVoicing THEN
FMT(d/xd)
ENDIF

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

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

phoneme g

+ 17
- 5
phsource/ph_hindi View File

@@ -146,10 +146,10 @@ endphoneme
phoneme a:
vowel long starttype #a endtype #a
length 200
IF nextPhW(j) THEN
// IF nextPhW(j) THEN
FMT(vowel/a_5)
ENDIF
FMT(vowel/aa_9)
// ENDIF
// FMT(vowel/aa_9)
endphoneme

phoneme a
@@ -547,8 +547,20 @@ phoneme r
CALL base/r/
ELSE
IF prevPhW(isVowel) THEN
IF nextPhW(isNotVowel) OR nextPhW(V) THEN
ChangePhoneme(*)
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

+ 2
- 2
phsource/ph_italian View File

@@ -151,7 +151,8 @@ endphoneme

phoneme ts
import_phoneme consonants/ts
voicingswitch ts
voicingswitch s
lengthmod 4
endphoneme

phoneme dz
@@ -159,4 +160,3 @@ phoneme dz
voicingswitch z
lengthmod 3
endphoneme


+ 1
- 23
phsource/ph_lithuanian View File

@@ -233,30 +233,8 @@ phoneme ts
endphoneme


phoneme dZ;
vcd pal afr sibilant palatal
voicingswitch tS;
lengthmod 5
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70

IF PreVoicing THEN
FMT(dzh/xdzh)
ENDIF
// use [tS;] and [dZ;] from base phonemes file

IF nextPh(isPause2) THEN
FMT(dzh/dzh_) addWav(x/dzh_)
ENDIF
endphoneme


phoneme tS;
vls pal afr sibilant palatal
voicingswitch dZ;
lengthmod 2
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70

WAV(ustop/ts_pzd)
endphoneme

phoneme t
vls dnt stop

+ 71
- 0
phsource/ph_yoruba View File

@@ -0,0 +1,71 @@

phoneme a
vowel starttype #a endtype #a
length 200
FMT(vowel/a_4)
endphoneme

phoneme e
vowel starttype #e endtype #e
length 200
FMT(vowel/e_mid2)
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 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 i~
vowel starttype #i endtype #i
length 220
FMT(vnasal/i_n2)
endphoneme

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

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

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



+ 7
- 3
phsource/phonemes View File

@@ -1810,6 +1810,10 @@ include ph_catalan
phonemetable an es
include ph_aragon

phonemetable eu base2
include ph_basque


phonemetable pt base2
include ph_pt_brazil

@@ -1877,6 +1881,9 @@ include ph_georgian
phonemetable fa base
include ph_farsi

phonemetable ar base
include ph_arabic


//**************************************************************************************
// The following lines are experimental, for future additions.
@@ -1889,9 +1896,6 @@ include ph_kinyarwanda
//phonemetable mr hi
//include ph_marathi

//phonemetable eu base2
//include ph_basque

//phonemetable mn base
//include ph_mongolian


BIN
phsource/vwl_ar/H2.wav View File


BIN
phsource/vwl_ar/SA1.wav View File


BIN
phsource/vwl_ar/ZH4.wav View File


BIN
phsource/vwl_ar/ain2.wav View File


BIN
phsource/vwl_ar/da7.wav View File


BIN
phsource/vwl_ar/ghain6.wav View File


BIN
phsource/vwl_ar/kha.wav View File


+ 2
- 2
platforms/windows/make_espeak.iss View File

@@ -2,7 +2,7 @@
[Setup]
AppName=eSpeak
AppVerName=eSpeak version 1.48.01
AppVerName=eSpeak version 1.48.03
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
WindowVisible=yes
@@ -171,7 +171,7 @@ begin
$2a: Result := 'vi';
$2b: Result := 'hy';
//$2c: Result := 'az';
//$2d: Result := 'eu';
$2d: Result := 'eu';
$2f: Result := 'mk';
$36: Result := 'af';
$37: Result := 'kn';

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

@@ -1,7 +1,7 @@
[Setup]
AppName=eSpeakEdit
AppVerName=eSpeakEdit version 1.48.01
AppVerName=eSpeakEdit version 1.48.03
DefaultDirName={pf}\eSpeak
DefaultGroupName=eSpeak
OutputBaseFilename=setup_espeakedit

+ 9
- 1
src/compiledata.cpp View File

@@ -122,6 +122,7 @@ static keywtab_t k_properties[] = {
{"isNasal", 0, phNASAL},
{"isLiquid", 0, phLIQUID},
{"isUStop", 0, phSTOP},
{"isVStop", 0, phVSTOP},
{"isVFricative", 0, phVFRICATIVE},

{"isPalatal", 0, i_isPalatal},
@@ -294,7 +295,7 @@ static keywtab_t keywords[] = {
{"Continue", tSTATEMENT, kCONTINUE},

{"ChangePhoneme", tINSTRN1, i_CHANGE_PHONEME},
{"ReplaceNextPhoneme", tINSTRN1, i_REPLACE_NEXT_PHONEME},
{"ChangeNextPhoneme", tINSTRN1, i_REPLACE_NEXT_PHONEME},
{"InsertPhoneme", tINSTRN1, i_INSERT_PHONEME},
{"AppendPhoneme", tINSTRN1, i_APPEND_PHONEME},
{"IfNextVowelAppend", tINSTRN1, i_APPEND_IFNEXTVOWEL},
@@ -1133,6 +1134,9 @@ static unsigned int StringToWord(const char *string)
unsigned char c;
unsigned int word;

if(string==NULL)
return(0);

word = 0;
for(ix=0; ix<4; ix++)
{
@@ -3496,6 +3500,10 @@ static void CompilePhonemeFiles()
strncpy0(current_fname,item_string,sizeof(current_fname));
linenum = 1;
}
else
{
error("Missing file: %s", item_string);
}
break;

case kPHONEMETABLE:

+ 21
- 6
src/compiledict.cpp View File

@@ -50,8 +50,9 @@ static char *hash_chains[N_HASH_DICT];
static char letterGroupsDefined[N_LETTER_GROUPS];

MNEM_TAB mnem_rules[] = {
{"unpr", 0x01},
{"noprefix", 0x02}, // rule fails if a prefix has been removed
{"unpr", DOLLAR_UNPR},
{"noprefix", DOLLAR_NOPREFIX}, // rule fails if a prefix has been removed
{"list", DOLLAR_LIST}, // a pronunciation is given in the *_list file

{"w_alt1", 0x11},
{"w_alt2", 0x12},
@@ -95,6 +96,7 @@ MNEM_TAB mnem_flags[] = {
{"$strend", 9}, // full stress if at end of clause
{"$strend2", 10}, // full stress if at end of clause, or only followed by unstressed
{"$unstressend",11}, // reduce stress at end of clause
{"$accent_before",12}, // used with accent names, say this accent name before the letter name
{"$abbrev", 13}, // use this pronuciation rather than split into letters

// language specific
@@ -314,6 +316,7 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
value = *rule++ & 0xff;
if((value != 0x01) || (control & FLAG_UNPRON_TEST))
{
// TODO write the string backwards if in RULE_PRE
p[0] = '$';
name = LookupMnemName(mnem_rules, value);
strcpy(&p[1],name);
@@ -1102,21 +1105,33 @@ static void copy_rule_string(char *string, int *state_out)
break;

case '$':
output[ix++] = RULE_DOLLAR;
c = 0;
value = 0;
mr = mnem_rules;
while(mr->mnem != NULL)
{
len = strlen(mr->mnem);
if(memcmp(p, mr->mnem, len) == 0)
{
c = mr->value;
value = mr->value;
p += len;
break;
}
mr++;
}
if(c == 0)

if(state == 1)
{
// pre-rule, put the number before the RULE_DOLLAR
output[ix++] = value;
c = RULE_DOLLAR;
}
else
{
output[ix++] = RULE_DOLLAR;
c = value;
}

if(value == 0)
{
fprintf(f_log,"%5d: $ command not recognized\n",linenum);
error_count++;

+ 46
- 13
src/dictionary.cpp View File

@@ -1933,6 +1933,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
int add_points;
int command;
int check_atstart;
unsigned int *flags;

MatchRecord match;
static MatchRecord best;
@@ -2170,11 +2171,11 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_

case RULE_DOLLAR:
command = *rule++;
if(command == 0x01)
if(command == DOLLAR_UNPR)
{
match.end_type = SUFX_UNPRON; // $unpron
}
else if(command == 0x02) // $noprefix
else if(command == DOLLAR_NOPREFIX) // $noprefix
{
if(word_flags & FLAG_PREFIX_REMOVED)
failed = 1; // a prefix has been removed
@@ -2189,16 +2190,20 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
else
failed = 1;
}
else if((command & 0xf0) == 0x20)
else if(((command & 0xf0) == 0x20) || (command == DOLLAR_LIST))
{
// $p_alt
// $list or $p_alt
// make a copy of the word up to the post-match characters
ix = *word - word_start + consumed + group_length + 1;
memcpy(word_buf, word_start-1, ix);
word_buf[ix] = ' ';
word_buf[ix+1] = 0;
LookupFlags(tr, &word_buf[1], &flags);

if(LookupFlags(tr, &word_buf[1]) & (1 << (BITNUM_FLAG_ALT + (command & 0xf))))
if((command == DOLLAR_LIST) && (flags[0] & FLAG_FOUND) && !(flags[1] & FLAG_ONLY))
add_points = 23;
else
if(flags[0] & (1 << (BITNUM_FLAG_ALT + (command & 0xf))))
add_points = 23;
else
failed = 1;
@@ -2412,6 +2417,28 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
failed = 1;
break;

case RULE_DOLLAR:
command = *rule++;
if((command==DOLLAR_LIST) || ((command & 0xf0) == 0x20))
{
// $list or $p_alt
// make a copy of the word up to the current character
ix = *word - word_start + 1;
memcpy(word_buf, word_start-1, ix);
word_buf[ix] = ' ';
word_buf[ix+1] = 0;
LookupFlags(tr, &word_buf[1], &flags);

if((command==DOLLAR_LIST) && (flags[0] & FLAG_FOUND) && !(flags[1] & FLAG_ONLY))
add_points = 23;
else
if(flags[0] & (1 << (BITNUM_FLAG_ALT + (command & 0xf))))
add_points = 23;
else
failed = 1;
}
break;

case RULE_SYLLABLE:
/* more than specified number of vowels to the left */
syllable_count = 1;
@@ -3565,8 +3592,10 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes

int Lookup(Translator *tr, const char *word, char *ph_out)
{//===================================================
int found;
{//=========================================================
// Look up in *_list, returns dictionary flags[0] and phonemes

int flags0;
unsigned int flags[2];
int say_as;
char *word1 = (char *)word;
@@ -3574,7 +3603,10 @@ int Lookup(Translator *tr, const char *word, char *ph_out)

flags[0] = 0;
flags[1] = FLAG_LOOKUP_SYMBOL;
found = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL);
if((flags0 = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL)) != 0)
{
flags0 = flags[0];
}

if(flags[0] & FLAG_TEXTMODE)
{
@@ -3582,22 +3614,23 @@ int Lookup(Translator *tr, const char *word, char *ph_out)
option_sayas = 0; // don't speak replacement word as letter names
text[0] = 0;
strncpy0(&text[1], word1, sizeof(text));
found = TranslateWord(tr, &text[1], 0, NULL, NULL);
flags0 = TranslateWord(tr, &text[1], 0, NULL, NULL);
strcpy(ph_out, word_phonemes);
option_sayas = say_as;
}
return(found);
return(flags0);
}


int LookupFlags(Translator *tr, const char *word)
{//==============================================
int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out)
{//===========================================================================
char buf[100];
static unsigned int flags[2];
char *word1 = (char *)word;

flags[0] = flags[1] = 0;
LookupDictList(tr, &word1, buf, flags, 0, NULL);
*flags_out = flags;
return(flags[0]);
}

@@ -3658,7 +3691,7 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy)
}

// remove bytes from the end of the word and replace them by spaces
for(i=0; (i<len_ending) && (i < sizeof(ending)-1); i++)
for(i=0; (i<len_ending) && (i < (int)sizeof(ending)-1); i++)
{
ending[i] = word_end[i];
word_end[i] = ' ';

+ 7
- 1
src/espeakedit.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* Copyright (C) 2013 by Reece H. Dunn *
* *
@@ -139,6 +139,12 @@ if(argc > 1)
if(strcmp(param,"--compile")==0)
{
samplerate_native = samplerate = 22050;
LoadPhData(NULL);
if(LoadVoice("", 0) == NULL)
{
fprintf(stderr, "Failed to load default voice\n");
exit(1);
}
CompilePhonemeData();
CompileIntonation();
}

+ 21
- 9
src/numbers.cpp View File

@@ -77,15 +77,15 @@ static int number_control;

typedef struct {
const char *name;
int flags;
int accent_flags; // bit 0, say before the letter name
} ACCENTS;

// these are tokens to look up in the *_list file.
static ACCENTS accents_tab[] = {
{"_lig", 1},
{"_smc", 1}, // smallcap
{"_tur", 1}, // turned
{"_rev", 1}, // reversed
{"_smc", 0}, // smallcap
{"_tur", 0}, // turned
{"_rev", 0}, // reversed
{"_crl", 0}, // curl

{"_acu", 0}, // acute
@@ -423,6 +423,7 @@ void LookupAccentedLetter(Translator *tr, unsigned int letter, char *ph_buf)
int accent_data = 0;
int accent1 = 0;
int accent2 = 0;
int flags1, flags2;
int basic_letter;
int letter2=0;
char ph_letter1[30];
@@ -460,19 +461,19 @@ void LookupAccentedLetter(Translator *tr, unsigned int letter, char *ph_buf)
}


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

if(LookupLetter2(tr, basic_letter, ph_letter1) != 0)
{
if(accent2 != 0)
{
if(Lookup(tr, accents_tab[accent2].name, ph_accent2) == 0)
if((flags2 = Lookup(tr, accents_tab[accent2].name, ph_accent2)) == 0)
{
// break;
}

if(accents_tab[accent2].flags & 1)
if(flags2 & FLAG_ACCENT_BEFORE)
{
strcpy(ph_buf,ph_accent2);
ph_buf += strlen(ph_buf);
@@ -489,7 +490,7 @@ void LookupAccentedLetter(Translator *tr, unsigned int letter, char *ph_buf)
{
if(accent1 == 0)
strcpy(ph_buf, ph_letter1);
else if((tr->langopts.accents & 1) || (accents_tab[accent1].flags & 1))
else if((tr->langopts.accents & 1) || (flags1 & FLAG_ACCENT_BEFORE) || (accents_tab[accent1].accent_flags & 1))
sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1);
else
sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT);
@@ -1688,7 +1689,18 @@ static int LookupNum2(Translator *tr, int value, int thousandplex, const int con
ph_tens[ix] = 0;
}
}
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);

if((tr->langopts.numbers2 & NUM2_ORDINAL_DROP_VOWEL) && (ph_ordinal[0] != 0))
{
ix = sprintf(ph_out,"%s%s", ph_tens, ph_digits);
if((ix > 0) && (phoneme_tab[(unsigned char)(ph_out[ix-1])]->type == phVOWEL))
ix--;
sprintf(&ph_out[ix], "%s", ph_ordinal);
}
else
{
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);
}
}
}


+ 8
- 0
src/phonemelist.cpp View File

@@ -399,6 +399,14 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)

InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata);

if((alternative = phdata.pd_param[pd_CHANGE_NEXTPHONEME]) > 0)
{
ph_list3[j+1].ph = phoneme_tab[alternative];
ph_list3[j+1].phcode = alternative;
ph_list3[j+1].type = phoneme_tab[alternative]->type;
next = phoneme_tab[alternative];
}

if(((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) && (inserted == 0))
{
// PROBLEM: if we insert a phoneme before a vowel then we loose the stress.

+ 13
- 10
src/prosodydisplay.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -343,19 +343,22 @@ void ProsodyDisplay::OnMouse(wxMouseEvent& event)

line = pt.y / FRAMEHEIGHT;

// find which phoneme is selected on this line
for(ix=linetab[line]; (ix<linetab[line+1]) && (ix<numph); ix++)
if(line < num_lines)
{
xpos += GetWidth(&phlist[ix]);
if(xpos > pt.x)
// find which phoneme is selected on this line
for(ix=linetab[line]; (ix<linetab[line+1]) && (ix<numph); ix++)
{
selected_ph = ix;
SelectPh(selected_ph);
break;
xpos += GetWidth(&phlist[ix]);
if(xpos > pt.x)
{
selected_ph = ix;
SelectPh(selected_ph);
break;
}
}
}

RefreshLine(line);
RefreshLine(line);
}

if(event.RightDown())
{

+ 15
- 3
src/readclause.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -2097,7 +2097,13 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outb
}
if((attr2 = GetSsmlAttribute(px,"time")) != NULL)
{
value = (attrnumber(attr2,0,1) * 25) / speed.pause_factor; // compensate for speaking speed to keep constant pause length
value2 = attrnumber(attr2,0,1); // pause in mS

// compensate for speaking speed to keep constant pause length, see function PauseLength()
// 'value' here is x 10mS
value = (value2 * 256) / (speed.clause_pause_factor * 10);
if(value < 200)
value = (value2 * 256) / (speed.pause_factor * 10);

if(terminator == 0)
terminator = CLAUSE_NONE;
@@ -2105,7 +2111,13 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int *outix, int n_outb
if(terminator)
{
if(value > 0xfff)
value = 0xfff;
{
// scale down the value and set a scaling indicator bit
value = value / 32;
if(value > 0xfff)
value = 0xfff;
terminator |= CLAUSE_PAUSE_LONG;
}
return(terminator + value);
}
break;

+ 2
- 1
src/sonic.cpp View File

@@ -766,6 +766,7 @@ static int adjustPitch(
}

/* Skip over a pitch period, and copy period/speed samples to the output */
/* NOTE: Only called if speed > 1.0f */
static int skipPitchPeriod(
sonicStream stream,
short *samples,
@@ -777,7 +778,7 @@ static int skipPitchPeriod(

if(speed >= 2.0f) {
newSamples = period/(speed - 1.0f);
} else if(speed > 1.0f) {
} else {
newSamples = period;
stream->remainingInputToCopy = period*(2.0f - speed)/(speed - 1.0f);
}

+ 3
- 15
src/speak.cpp View File

@@ -455,17 +455,6 @@ static int initialise(void)
}


static void StopSpeak(int unused)
{//==============================
signal(SIGINT,SIG_IGN);
// DEBUG
// printf("\n*** Interrupting speech output (use Ctrl-D to actually quit).\n");
fflush(stdout);
SpeakNextClause(NULL,NULL,5);
signal(SIGINT,StopSpeak);
} // end of StopSpeak()



#ifdef NEED_GETOPT
struct option {
@@ -524,13 +513,15 @@ int main (int argc, char **argv)
char *optarg2;
int amp = 100; // default
int wordgap = 0;
int speaking = 0;
int flag_stdin = 0;
int flag_compile = 0;
int pitch_adjustment = 50;
espeak_VOICE voice_select;
char filename[200];
char voicename[40];
#ifdef USE_PORTAUDIO
int speaking = 0;
#endif

voicename[0] = 0;
mbrola_name[0] = 0;
@@ -898,9 +889,6 @@ int main (int argc, char **argv)
}
else
{
// Silence on ^C or SIGINT
// signal(SIGINT,StopSpeak);

// output sound using portaudio
WavegenInitSound();


+ 2
- 2
src/synthdata.cpp View File

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

const char *version_string = "1.48.02 02.Feb.14";
const char *version_string = "1.48.05 23.May.14";
const int version_phdata = 0x014801;

int option_device_number = -1;

+ 20
- 4
src/synthesize.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -188,7 +188,7 @@ static void DoPitch(unsigned char *env, int pitch1, int pitch2)

int PauseLength(int pause, int control)
{//====================================
int len;
unsigned int len;

if(control == 0)
{
@@ -210,8 +210,10 @@ int PauseLength(int pause, int control)

static void DoPause(int length, int control)
{//=========================================
// length in nominal mS
// control = 1, less shortening at fast speeds
int len;
unsigned int len;
int srate2;

if(length == 0)
len = 0;
@@ -219,7 +221,15 @@ static void DoPause(int length, int control)
{
len = PauseLength(length, control);

len = (len * samplerate) / 1000; // convert from mS to number of samples
if(len < 90000)
{
len = (len * samplerate) / 1000; // convert from mS to number of samples
}
else
{
srate2 = samplerate / 25; // avoid overflow
len = (len * srate2) / 40;
}
}

EndPitch(1);
@@ -1335,6 +1345,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
int modulation;
int pre_voiced;
int free_min;
int value;
unsigned char *pitch_env=NULL;
unsigned char *amp_env;
PHONEME_TAB *ph;
@@ -1677,6 +1688,11 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
StartSyllable();
}
InterpretPhoneme(NULL, 0, p, &phdata, &worddata);

if((value = (phdata.pd_param[i_PAUSE_BEFORE] - p->prepause)) > 0)
{
DoPause(value, 1);
}
fmtp.std_length = phdata.pd_param[i_SET_LENGTH]*2;
fmtp.fmt_addr = phdata.sound_addr[pd_FMT];
fmtp.fmt_amp = phdata.sound_param[pd_FMT];

+ 4
- 3
src/synthesize.h View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -212,7 +212,7 @@ typedef struct {
unsigned char tone_ph; // tone phoneme to use with this vowel

PHONEME_TAB *ph;
short length; // length_mod
unsigned int length; // length_mod
unsigned char env; // pitch envelope number
unsigned char type;
unsigned char prepause;
@@ -239,6 +239,7 @@ typedef struct {
#define pd_INSERTPHONEME i_INSERT_PHONEME
#define pd_APPENDPHONEME i_APPEND_PHONEME
#define pd_CHANGEPHONEME i_CHANGE_PHONEME
#define pd_CHANGE_NEXTPHONEME i_REPLACE_NEXT_PHONEME
#define pd_LENGTHMOD i_SET_LENGTH

#define pd_FORNEXTPH 0x2
@@ -379,7 +380,7 @@ typedef struct {
typedef struct {
int pause_factor;
int clause_pause_factor;
int min_pause;
unsigned int min_pause;
int wav_factor;
int lenmod_factor;
int lenmod2_factor;

+ 11
- 2
src/tr_languages.cpp View File

@@ -51,6 +51,7 @@
#define OFFSET_ARMENIAN 0x530
#define OFFSET_HEBREW 0x590
#define OFFSET_ARABIC 0x600
#define OFFSET_SYRIAC 0x700
#define OFFSET_THAANA 0x780 // Divehi/Maldives
#define OFFSET_DEVANAGARI 0x900
#define OFFSET_BENGALI 0x980
@@ -78,6 +79,7 @@ ALPHABET alphabets [] = {
{"_hy", OFFSET_ARMENIAN, 0x530, 0x58f, L('h','y'), AL_WORDS},
{"_he", OFFSET_HEBREW, 0x590, 0x5ff, 0, 0},
{"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0},
{"_syc", OFFSET_SYRIAC, 0x700, 0x74f, 0, 0},
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0},
{"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS},
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), AL_WORDS},
@@ -518,6 +520,9 @@ Translator *SelectTranslator(const char *name)


case L('a','r'): // Arabic
tr->transpose_min = 0x620; // for ar_list, use 6-bit character codes
tr->transpose_max = 0x65f;
tr->transpose_map = NULL;
tr->letter_bits_offset = OFFSET_ARABIC;
tr->langopts.numbers = NUM_SWAP_TENS | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_AND_HUNDRED | NUM_THOUSAND_AND | NUM_OMIT_1_THOUSAND;
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
@@ -543,6 +548,7 @@ Translator *SelectTranslator(const char *name)
{
static const short stress_lengths_bn[8] = {180, 180, 210, 210, 0, 0, 230, 240};
static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 };
static const char bn_consonants2[3] = {0x70, 0x71, 0};

SetupTranslator(tr,stress_lengths_bn,stress_amps_bn);
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
@@ -553,6 +559,7 @@ Translator *SelectTranslator(const char *name)
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI
SetLetterBitsRange(tr,LETTERGP_B,0x01,0x01); // candranindu
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama
SetLetterBits(tr,LETTERGP_C,bn_consonants2);

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
@@ -781,7 +788,8 @@ Translator *SelectTranslator(const char *name)
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 };
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu);
tr->langopts.stress_rule = STRESSPOSN_2L; // ?? second syllable ??
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_VIGESIMAL;
tr->langopts.param[LOPT_SUFFIX] = 1;
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_VIGESIMAL;
}
break;

@@ -1421,7 +1429,7 @@ SetLengthMods(tr,3); // all equal
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word
tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables
tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
tr->letter_bits[(int)'r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN;
tr->langopts.numbers2 = 0x100; // plural forms of millions etc
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator
@@ -1525,6 +1533,7 @@ SetLengthMods(tr,3); // all equal
{
tr->letter_bits_offset = OFFSET_TELUGU;
tr->langopts.numbers = 0x1;
tr->langopts.numbers2 = NUM2_ORDINAL_DROP_VOWEL;
}
SetIndicLetters(tr); // call this after setting OFFSET_
SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial)

+ 5
- 3
src/translate.cpp View File

@@ -108,7 +108,6 @@ static int embedded_read;
unsigned int embedded_list[N_EMBEDDED_LIST];

// the source text of a single clause (UTF8 bytes)
#define N_TR_SOURCE 800
static char source[N_TR_SOURCE+40]; // extra space for embedded command & voice change info at end

int n_replace_phonemes;
@@ -954,7 +953,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word


if((dictionary_flags[0] & (FLAG_ALLOW_DOT || FLAG_NEEDS_DOT)) && (wordx[1] == '.'))
if((dictionary_flags[0] & (FLAG_ALLOW_DOT | FLAG_NEEDS_DOT)) && (wordx[1] == '.'))
{
wordx[1] = ' '; // remove a Dot after this word
}
@@ -2075,7 +2074,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(pre_pause < 1)
pre_pause = 1;
}
if((flags & FLAG_PREPAUSE) && !(word_flags && (FLAG_LAST_WORD | FLAG_FIRST_WORD)) && !(wtab[-1].flags & FLAG_FIRST_WORD) && (tr->prepause_timeout == 0))
if((flags & FLAG_PREPAUSE) && !(word_flags & (FLAG_LAST_WORD | FLAG_FIRST_WORD)) && !(wtab[-1].flags & FLAG_FIRST_WORD) && (tr->prepause_timeout == 0))
{
// the word is marked in the dictionary list with $pause
if(pre_pause < 4) pre_pause = 4;
@@ -2659,6 +2658,9 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
charix[charix_top+3] = 0;

clause_pause = (terminator & 0xfff) * 10; // mS
if(terminator & CLAUSE_PAUSE_LONG)
clause_pause = clause_pause * 32 ; // pause value is *320mS not *10mS

tone = (terminator >> 12) & 0x7;
if(tone2 != 0)
{

+ 16
- 2
src/translate.h View File

@@ -26,6 +26,9 @@
#define N_WORD_PHONEMES 200 // max phonemes in a word
#define N_WORD_BYTES 160 // max bytes for the UTF8 characters in a word
#define N_CLAUSE_WORDS 300 // max words in a clause
#define N_TR_SOURCE 800 // the source text of a single clause (UTF8 bytes)


#define N_RULE_GROUP2 120 // max num of two-letter rule chains
#define N_HASH_DICT 1024
#define N_CHARSETS 20
@@ -41,6 +44,7 @@
#define FLAG_STRESS_END2 0x400 // full stress if at end of clause, or only followed by unstressed
#define FLAG_UNSTRESS_END 0x800 // reduce stress at end of clause
#define FLAG_SPELLWORD 0x1000 // re-translate the word as individual letters, separated by spaces
#define FLAG_ACCENT_BEFORE 0x1000 // say this accent name before the letter name
#define FLAG_ABBREV 0x2000 // spell as letters, even with a vowel, OR use specified pronunciation rather than split into letters
#define FLAG_DOUBLING 0x4000 // doubles the following consonant

@@ -180,6 +184,11 @@
#define RULE_SPELLING 31 // W while spelling letter-by-letter
#define RULE_LAST_RULE 31

#define DOLLAR_UNPR 0x01
#define DOLLAR_NOPREFIX 0x02
#define DOLLAR_LIST 0x03


#define LETTERGP_A 0
#define LETTERGP_B 1
#define LETTERGP_C 2
@@ -191,7 +200,7 @@


// Punctuation types returned by ReadClause()
// bits 0-7 pause x 10mS, bits 12-14 intonation type,
// bits 0-11 pause x 10mS
// bits12-14 intonation type
// bit 15- don't need space after the punctuation
// bit 19=sentence, bit 18=clause, bits 17=voice change
@@ -199,6 +208,8 @@
// bit 20= punctuation character can be inside a word (Armenian)
// bit 21= speak the name of the punctuation character
// bit 22= dot after the last word
// bit 23= pause is x 320mS (not x 10mS)

#define CLAUSE_BIT_SENTENCE 0x80000
#define CLAUSE_BIT_CLAUSE 0x40000
#define CLAUSE_BIT_VOICE 0x20000
@@ -206,6 +217,7 @@
#define PUNCT_IN_WORD 0x100000
#define PUNCT_SAY_NAME 0x200000
#define CLAUSE_DOT 0x400000
#define CLAUSE_PAUSE_LONG 0x800000

#define CLAUSE_NONE ( 0 + 0x04000)
#define CLAUSE_PARAGRAPH (70 + 0x80000)
@@ -513,6 +525,7 @@ typedef struct {
#define NUM2_PERCENT_BEFORE 0x10000
#define NUM2_OMIT_1_HUNDRED_ONLY 0x20000
#define NUM2_ORDINAL_AND_THOUSANDS 0x40000
#define NUM2_ORDINAL_DROP_VOWEL 0x80000
// 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
@@ -524,6 +537,7 @@ typedef struct {
// bit16=(LANG=si) say "%" before the number
// 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
int numbers2;

#define BREAK_THOUSANDS 0x49249248
@@ -741,7 +755,7 @@ int SetTranslator2(const char *name);
void DeleteTranslator(Translator *tr);
void ProcessLanguageOptions(LANGUAGE_OPTIONS *langopts);
int Lookup(Translator *tr, const char *word, char *ph_out);
int LookupFlags(Translator *tr, const char *word);
int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out);

int TranslateNumber(Translator *tr, char *word1, char *ph_out, unsigned int *flags, WORD_TAB *wtab, int control);
int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab);

+ 2
- 2
src/voices.cpp View File

@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
* email: [email protected] *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -611,7 +611,7 @@ voice_t *LoadVoice(const char *vname, int control)

// which directory to look for a named voice. List of voice names, must end in a space.
static const char *voices_asia =
"az bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue vi-sgn zh zh-yue ";
"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 ";


Loading…
Cancel
Save