mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Merge branch 'upstream' into development
Conflicts: dictsource/dict_phonemes phsource/compile_report
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
|
||||
ae AY
|
||||
ai aI
|
||||
a'i (K aI
|
||||
au aY
|
||||
// @) au (_ a
|
||||
aw (+ aU
|
||||
|
||||
+129
-8
@@ -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
@@ -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
|
||||
|
||||
+276
-138
File diff suppressed because it is too large
Load Diff
+164
-72
File diff suppressed because it is too large
Load Diff
@@ -126,3 +126,7 @@ ean $u
|
||||
eko $u
|
||||
era $u
|
||||
ko $u
|
||||
|
||||
|
||||
etxe $1 $only
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
ei eI
|
||||
eu eU
|
||||
|
||||
&) ek (_S2 ek
|
||||
|
||||
|
||||
.group f
|
||||
f f
|
||||
|
||||
+3
-3
@@ -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]
|
||||
|
||||
+11
-12
@@ -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:
|
||||
@@ -242,9 +241,9 @@
|
||||
જ્ઞ 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
|
||||
@@ -386,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
@@ -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
|
||||
|
||||
|
||||
+686
-193
File diff suppressed because it is too large
Load Diff
+270
-80
File diff suppressed because it is too large
Load Diff
+522
-474
File diff suppressed because it is too large
Load Diff
+47
-23
@@ -112,6 +112,11 @@ _( ,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
|
||||
¾ tRes#kw'a*@-tUs#
|
||||
@@ -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
|
||||
@@ -667,6 +673,7 @@ jamais $u+ $verbf
|
||||
|
||||
abordo $alt
|
||||
aborto $alt $verb
|
||||
abortos $alt2
|
||||
absorta $alt2
|
||||
acerto $alt2 $noun
|
||||
acertos $alt2
|
||||
@@ -734,7 +741,6 @@ bolo $alt $verb
|
||||
borboleta $alt2
|
||||
bordo $alt
|
||||
borra $alt2 $noun
|
||||
bosque $alt
|
||||
boto $alt2 $noun
|
||||
boxe $alt
|
||||
bracelete $alt2
|
||||
@@ -800,7 +806,7 @@ colosso $alt2
|
||||
colossos $alt2
|
||||
colostro $alt2
|
||||
começo $alt $verb
|
||||
comodo $alt2
|
||||
|
||||
concerto $alt2 $noun
|
||||
concertos $alt2
|
||||
concordo $alt
|
||||
@@ -812,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
|
||||
@@ -886,6 +894,7 @@ emprego $alt2 $noun
|
||||
encasqueta $alt
|
||||
encosto $alt $verb
|
||||
endereço $alt $verb
|
||||
endoide $alt2
|
||||
enforco $alt
|
||||
engordo $alt
|
||||
enredo $alt $verb
|
||||
@@ -927,6 +936,7 @@ estrogonofe $alt
|
||||
eta $alt2
|
||||
europa $alt
|
||||
europeia $alt
|
||||
evangelho $alt
|
||||
?2 ex es
|
||||
exagero $alt $verb
|
||||
exegeses $alt
|
||||
@@ -1000,6 +1010,7 @@ inovo $alt
|
||||
interesse $alt2
|
||||
interesse $alt $verb
|
||||
internet $alt
|
||||
interregno $alt
|
||||
iodo $alt2
|
||||
ioga $alt
|
||||
isolda $alt2
|
||||
@@ -1105,6 +1116,7 @@ pior $alt
|
||||
pipoco $alt2 $noun
|
||||
plateia $alt
|
||||
plebeia $alt
|
||||
poderem $alt2
|
||||
polca $alt
|
||||
pompeia $alt
|
||||
porcos $alt
|
||||
@@ -1150,7 +1162,7 @@ remorso $alt
|
||||
renovo $alt $verb
|
||||
represa $alt2
|
||||
retorno $alt $verb
|
||||
reuva x'EUv&
|
||||
reveses $alt
|
||||
rigores $alt2
|
||||
risoto $alt2
|
||||
robson $alt
|
||||
@@ -1185,6 +1197,7 @@ soco $alt2
|
||||
soco $alt $verb
|
||||
sogra $alt
|
||||
sopa $alt2
|
||||
sopeses $alt
|
||||
sopro $alt2 $noun
|
||||
sorvete $alt2
|
||||
sossego $alt2 $noun
|
||||
@@ -1241,6 +1254,7 @@ verde $alt2
|
||||
vileta $alt2
|
||||
vodca v'OdZik&
|
||||
voga $alt
|
||||
voice $alt
|
||||
xarope $alt
|
||||
xereta $alt2
|
||||
xerox S'E*Oks
|
||||
@@ -1268,6 +1282,7 @@ blind bl'aind
|
||||
?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
|
||||
@@ -1311,8 +1326,9 @@ 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 Intranet iNtRan'Et
|
||||
?1 kernel k'Ern,El
|
||||
@@ -1327,7 +1343,8 @@ 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
|
||||
@@ -1394,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
|
||||
@@ -1460,6 +1478,7 @@ twitter tw'iter
|
||||
|
||||
|
||||
// historical/famous person s
|
||||
?2 Alzheimer aUz'aImEr
|
||||
babbage b'abidZ
|
||||
bernhard bern'ard
|
||||
darwin d'Arwin
|
||||
@@ -1478,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
|
||||
@@ -1512,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
|
||||
@@ -1519,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
|
||||
|
||||
+36
-14
@@ -352,17 +352,17 @@
|
||||
êCC) e (C@ e
|
||||
ôC) e (C@ e
|
||||
áC) e (C@ e
|
||||
áC) el (_ eU
|
||||
?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
|
||||
@@ -422,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
|
||||
@@ -438,6 +441,7 @@ _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
|
||||
@@ -451,7 +455,7 @@ _enver) e (dL03_ 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
|
||||
@@ -896,7 +900,7 @@ _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
|
||||
@@ -919,6 +923,7 @@ _f) o (dL01_s 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
|
||||
@@ -945,8 +950,7 @@ _f) o (dL01_s 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
|
||||
@@ -954,15 +958,32 @@ _f) o (dL01_s 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
|
||||
@@ -1029,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
|
||||
@@ -1100,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
|
||||
@@ -1236,6 +1257,7 @@ _lagarti) x (A S
|
||||
_o) x (í ks
|
||||
_pe) xo (to_ So
|
||||
pi) x (A S
|
||||
_pree) x (ist z
|
||||
_pro) x (A S
|
||||
_pra) x (A S
|
||||
prA) x (i s // aproximado, aproximar, próximo, etc.
|
||||
|
||||
@@ -506,6 +506,8 @@ tamil தமிழ் $text
|
||||
திமு $alt
|
||||
தாவா $alt
|
||||
துருவா $alt
|
||||
தண்டி $alt
|
||||
|
||||
|
||||
|
||||
// initial ட
|
||||
|
||||
+34
-5
@@ -284,6 +284,7 @@
|
||||
_) க (ார்டியன g
|
||||
_) க (ால்ஃப் g
|
||||
_) கால்ப் ga:lf
|
||||
_) க (ாவஸ்கர g
|
||||
_) க (ிஃப்ட g
|
||||
_) க (ிடாரிட g
|
||||
_) க (ிடாரின g
|
||||
@@ -301,7 +302,6 @@
|
||||
_) கி (ரக g
|
||||
_) கி (ரகண g
|
||||
_) கி (ரணி ki
|
||||
_) கி (ரண்_ ki
|
||||
_) கி (ரந்த g
|
||||
_) கி (ரய k
|
||||
_) கி (ரவுண்ட g
|
||||
@@ -589,7 +589,8 @@ _மன்மதக்) க (ுகை g
|
||||
_) க (ோமுக g
|
||||
_) க (ோமூத்திர g
|
||||
_) க (ோயல g
|
||||
_) க (ோர_ g
|
||||
_) க (ோர_முக g
|
||||
_) க (ோர_பாவ g
|
||||
_) க (ோர_மாட்ட k
|
||||
_) க (ோர_முடிய k
|
||||
_) க (ோர_வேண்ட k
|
||||
@@ -639,6 +640,9 @@ _மன்மதக்) க (ுகை g
|
||||
_) க் (ளாஸ்_ g
|
||||
_) க்வ (A kw
|
||||
_) க் (வாலியர g
|
||||
_) குல்ச (ார gulz
|
||||
_) க (ுணரூப g
|
||||
_) க (ுவாஹா g
|
||||
//endsort
|
||||
|
||||
//sort
|
||||
@@ -783,7 +787,6 @@ _தொன்ம) க (ால k
|
||||
மோ) க (ினி H
|
||||
_ம) க (ிமை H
|
||||
எக்ஸ்) கி (யூஸ k
|
||||
கி (ரண g
|
||||
_ராஜ்) க (ிரண k
|
||||
பொற்) கி (ரண g
|
||||
ஐஸ்) கி (ரீம k
|
||||
@@ -1159,6 +1162,7 @@ _தணிகா) ச (ல tSV
|
||||
_கிரL06) ச (ார tS
|
||||
_குணா) ச (ார tS
|
||||
_பிரிவுப) ச (ார tS
|
||||
_விகிதா) ச (ார tS
|
||||
_விருந்துப) ச (ார tS
|
||||
ராஜோப) ச (ார tS
|
||||
ஆ) ச (ார_ tS
|
||||
@@ -1429,6 +1433,7 @@ _வெனி) ச (ுவேல z
|
||||
_ந) ச் (னு tS
|
||||
_ரி) ச் (மண்ட tS
|
||||
_கா) ச்மூச tSmu:tSV#
|
||||
ஆ) ச (ாரப் tS
|
||||
//endsort
|
||||
|
||||
|
||||
@@ -2326,6 +2331,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
|
||||
_) த (ோஹா d
|
||||
_) தௌலதாப (ாத daUlVd.a:b
|
||||
_) த (்ராட்சை d
|
||||
_) துர்க் (மேனிஸ்தான turk
|
||||
//endsort
|
||||
|
||||
//sort
|
||||
@@ -2461,6 +2467,7 @@ _சிறை) த்த (ண்டனை ddV
|
||||
பு) த்த (ன ddV
|
||||
_நர்) த்த (ன ddV
|
||||
_குறும்பு) த்த (ன ttV
|
||||
_சகிப்பு) த்த (ன ttV
|
||||
_ஜனார்) த்த (ன ddV
|
||||
_பரிவர்) த்த (ன ddV
|
||||
_வர்) த்த (மான ddV
|
||||
@@ -2480,6 +2487,7 @@ _பரிவர்) த்த (ன ddV
|
||||
எட்டு) த்த (ிக்க dd
|
||||
_ம) த்த (ிக்கு dd
|
||||
L03) த்த (ிசை dd
|
||||
_கீழ்) த்த (ிசை dd
|
||||
_மன) த்த (ிட dd
|
||||
L03) த்த (ின dd
|
||||
சில) த்த (ினங் dd
|
||||
@@ -2696,6 +2704,7 @@ _சி) த்ரலேக (ா trVle:k
|
||||
_) ப (ட்டன bV
|
||||
_) ப (ட்டன_ pV
|
||||
_) ப (ட்டனப்பாக்க pV
|
||||
_) ப (ட்டனர்_ pV
|
||||
_) ப (ட்டாசாரி bV
|
||||
_) ப (ட்டாச்சாரி bV
|
||||
_) ப (ண்டாரி bV
|
||||
@@ -2937,6 +2946,7 @@ _டெட்_) ப (ாடி b
|
||||
_) ப (ாடி_பில்டிங் b
|
||||
_) ப (ாடிக்கு b
|
||||
_) ப (ாடியை b
|
||||
_) பாட (ிஸ்டா ba:t.
|
||||
_) ப (ாட்டனிய b
|
||||
_) பா (ட்டரி be:
|
||||
_) ப (ாட்டலியன b
|
||||
@@ -3523,6 +3533,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) புத்த (ம்_புதிய puttV
|
||||
_) புத்த (ம்_புது puttV
|
||||
_) புத்த (ரிசி puttV
|
||||
_) புத்த (றிவ puttV
|
||||
_) புத்த (ள puttV
|
||||
_) புத்த (ழக puttV
|
||||
_) ப (ுத்திக் b
|
||||
@@ -3552,7 +3563,6 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) புல்க (ான pulg
|
||||
_) ப (ுல்டோசர b
|
||||
_) ப (ுல்லட் b
|
||||
_) ப (ுல்லா_ f
|
||||
_) ப (ுல்லாக்க b
|
||||
_) புல்லெட் bullet.
|
||||
_) பு (ளுடோனிய p
|
||||
@@ -3851,15 +3861,22 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப் (ளூஸ b
|
||||
_) ப் (ளோரிடா f
|
||||
_) ப் (ளௌஸ b
|
||||
_) பலாப்ப (ல bVla:bbV
|
||||
_) பலபத்த (ிர bVlVbVdd
|
||||
_) ப (ாரவண்டி b
|
||||
_) ப (லம்தான bV
|
||||
_) ப (ந்தபாச bV
|
||||
//endsort
|
||||
|
||||
//sort
|
||||
_சு) ப்ப bbV#
|
||||
_பீர்) ப (ால் b
|
||||
_குங்) ப fV#
|
||||
_நீர்) ப pV#
|
||||
_ப்ரூ) ப fV#
|
||||
இடர்) ப pV#
|
||||
நடை) ப pV#
|
||||
_கேம்) ப pV#
|
||||
_செல்) ப fV#
|
||||
_பிரதீ) ப pV#
|
||||
அஷ்ர) ப fV#
|
||||
ஒலிம்) ப pV#
|
||||
@@ -3913,12 +3930,15 @@ _தொடர்) ப (ங்க pV
|
||||
_தா) ப (ங்கொ bV
|
||||
_த) ப (ச bV
|
||||
_வெண்) ப (ஞ்ச pV
|
||||
ப (ட pV
|
||||
க) ப (ட bV
|
||||
கரம்) ப (ட pV
|
||||
ம்) ப (ட bV
|
||||
_பயண்) ப (ட bV
|
||||
ப (டி pV
|
||||
மறு) ப (டி bV
|
||||
_சாகு) ப (டி bV
|
||||
_குளறு) ப (டி bV
|
||||
_தள்ளு) ப (டி bV
|
||||
@) ப (ட்ச+ pV
|
||||
ஆரிய) ப (ட்டா bV
|
||||
@@ -4136,6 +4156,7 @@ _முரண்) ப (ாட p
|
||||
_சிறு) ப (ாதை p
|
||||
_நேர்) ப (ாதை p
|
||||
ஜிந்தா) ப (ாத் b
|
||||
_கதா) ப (ாத்திர p
|
||||
_பஞ்ச) ப (ாத்திர p
|
||||
அ) ப (ான p
|
||||
ச) பாபதி ba:pVti
|
||||
@@ -4162,6 +4183,7 @@ _டி) பார்ட்மெண்ட pa:rt.men.t.V#
|
||||
அ) பார்மெண்ட pa:rment.V#
|
||||
கண்) ப (ார்வை p
|
||||
_வால்) ப (ாறை p
|
||||
_த) ப (ால b
|
||||
இம்) ப (ால f
|
||||
இரு) ப (ால p
|
||||
ஒரு) ப (ால p
|
||||
@@ -4174,6 +4196,7 @@ _ப்ரின்சி) ப (ால p
|
||||
_சிவ) ப (ாலன b
|
||||
_கம்) ப (ாலா p
|
||||
_கா) ப (ாலி b
|
||||
_தொடர்) ப (ால் b
|
||||
ப (ால்_ p
|
||||
_தன) ப (ால்_ b
|
||||
_பண்) ப (ால்_ b
|
||||
@@ -4204,6 +4227,7 @@ _தமிழ்ப்) ப (ாஷ _b
|
||||
_ஜுல்) ப (ி f
|
||||
_மெய்) ப (ி p
|
||||
_ஹம்) ப (ி p
|
||||
_செல்) ப (ி f
|
||||
_பொய்) ப (ி p
|
||||
_யுஎஸ்) ப (ி b
|
||||
_தியோச) ப (ி f
|
||||
@@ -4318,6 +4342,7 @@ _ஷண்முக) பி (ரிய p
|
||||
பெண்) ப (ிள்ளை p
|
||||
அச்சா) ப (ீ f
|
||||
_தபாலா) ப (ீ f
|
||||
ஆ) ப (ீL04 f
|
||||
_ர) பீக் fi:k
|
||||
உப) ப (ீட p
|
||||
விக்கி) ப (ீடியா p
|
||||
@@ -4346,6 +4371,7 @@ _வெண்) ப (ுகை p
|
||||
_துன்) ப (ுற b
|
||||
_நம்) ப (ுற b
|
||||
ஊம்) ப (ுற b
|
||||
_நிரம்) ப (ுற b
|
||||
_மார்) ப (ுற b
|
||||
_கிளம்) ப (ுற b
|
||||
_திரும்) ப (ுற b
|
||||
@@ -4501,6 +4527,7 @@ _விலை) ப (ோ p
|
||||
_போ) ப் p
|
||||
_லாக) ப் p
|
||||
ஆசி) ப் f
|
||||
_செல்) ப் f
|
||||
_டெஸ்க்டா) ப் p
|
||||
_லை) ப் (_ f
|
||||
ஆ) ப் (கன f
|
||||
@@ -4752,6 +4779,8 @@ _தென்னா) ப் (ரிக்க f
|
||||
|
||||
_மக்க) ள்த (ொகை t.t
|
||||
உ) ள் (துறை t.
|
||||
_திங்க) ள் (கிழமை t.
|
||||
உ) ள் (பட t.
|
||||
|
||||
|
||||
.group ழ
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
name persian
|
||||
language fa
|
||||
|
||||
name persian
|
||||
language fa
|
||||
dictdialect en-us
|
||||
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
name gujarati-test
|
||||
language gu
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
name telugu-test
|
||||
language te
|
||||
|
||||
intonation 2
|
||||
//consonants 80
|
||||
@@ -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
|
||||
|
||||
Executable
+518
@@ -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
|
||||
@@ -94,8 +94,8 @@ endphoneme
|
||||
|
||||
|
||||
phoneme k#
|
||||
// import_phoneme consonants/kh
|
||||
import_phoneme base/k
|
||||
import_phoneme consonants/kh
|
||||
// import_phoneme base/k
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+12
-2
@@ -16,9 +16,9 @@ phoneme a2 // delete if the next vowel is 'a'. Used for numbers.
|
||||
|
||||
IF nextPh(#a) THEN
|
||||
ChangePhoneme(NULL) // merge consecutive 'a'
|
||||
ELSE
|
||||
ChangePhoneme(a)
|
||||
ENDIF
|
||||
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -174,3 +174,13 @@ 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
|
||||
+7
-6
@@ -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
|
||||
|
||||
@@ -1967,9 +1971,6 @@ include ph_korean
|
||||
phonemetable kl base
|
||||
include ph_greenlandic
|
||||
|
||||
phonemetable eu base2
|
||||
include ph_basque
|
||||
|
||||
|
||||
//phonemetable en2 en
|
||||
//include ph_english_test
|
||||
|
||||
+5
-5
@@ -93,13 +93,13 @@ SRCS3 = espeak.cpp
|
||||
OBJS3=$(patsubst %.cpp,%.o,$(SRCS3))
|
||||
LIBS3=-lstdc++ -L . -lespeak
|
||||
|
||||
CXXFLAGS=-O2
|
||||
|
||||
CXXFLAGS?=-O2
|
||||
CXXFLAGS+=-fno-exceptions -pedantic -Wall
|
||||
|
||||
all: $(BIN_NAME) $(LIB_NAME) $(STATIC_LIB_NAME) $(BIN2_NAME)
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $<
|
||||
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -I. -c $<
|
||||
|
||||
$(BIN_NAME): $(OBJS1)
|
||||
$(CXX) $(LDFLAGS) -o $@ $(OBJS1) $(LIBS1)
|
||||
@@ -110,8 +110,8 @@ $(BIN2_NAME): $(OBJS3) $(LIB_NAME)
|
||||
|
||||
|
||||
x_%.o: %.cpp
|
||||
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -fpic -fvisibility=hidden -pedantic \
|
||||
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o
|
||||
$(CXX) $(CXXFLAGS) $(USE_AUDIO) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -fpic -fvisibility=hidden \
|
||||
-I. -D LIBRARY -c $< -o x_$*.o
|
||||
|
||||
$(LIB_NAME): $(OBJS2)
|
||||
$(CXX) $(LDFLAGS) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ \
|
||||
|
||||
@@ -121,6 +121,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},
|
||||
@@ -3498,6 +3499,10 @@ static void CompilePhonemeFiles()
|
||||
strncpy0(current_fname,item_string,sizeof(current_fname));
|
||||
linenum = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
error("Missing file: %s", item_string);
|
||||
}
|
||||
break;
|
||||
|
||||
case kPHONEMETABLE:
|
||||
|
||||
@@ -96,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
|
||||
|
||||
+10
-5
@@ -3583,8 +3583,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;
|
||||
@@ -3592,7 +3594,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)
|
||||
{
|
||||
@@ -3600,11 +3605,11 @@ 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+21
-9
@@ -73,15 +73,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
|
||||
@@ -419,6 +419,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];
|
||||
@@ -456,19 +457,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);
|
||||
@@ -485,7 +486,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);
|
||||
@@ -1684,7 +1685,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -767,6 +767,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,
|
||||
@@ -778,7 +779,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
@@ -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
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* 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.03 04.Mar.14";
|
||||
const char *version_string = "1.48.05 23.May.14";
|
||||
const int version_phdata = 0x014801;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -1345,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;
|
||||
@@ -1687,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];
|
||||
|
||||
+10
-1
@@ -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},
|
||||
@@ -516,6 +518,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
|
||||
@@ -541,6 +546,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
|
||||
@@ -551,6 +557,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
|
||||
@@ -779,6 +786,7 @@ 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.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;
|
||||
@@ -1417,7 +1425,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
|
||||
@@ -1521,6 +1529,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)
|
||||
|
||||
+2
-2
@@ -949,7 +949,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
|
||||
}
|
||||
@@ -2070,7 +2070,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;
|
||||
|
||||
@@ -44,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
|
||||
|
||||
@@ -524,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
|
||||
@@ -535,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
|
||||
|
||||
+1
-1
@@ -610,7 +610,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 ";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user