Conflicts: dictsource/dict_phonemes phsource/compile_reportmaster
@@ -22,6 +22,7 @@ | |||
ae AY | |||
ai aI | |||
a'i (K aI | |||
au aY | |||
// @) au (_ a | |||
aw (+ aU |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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] |
@@ -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 |
@@ -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 | |||
@@ -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 |
@@ -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 ட |
@@ -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. |
@@ -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 | |||
@@ -0,0 +1,3 @@ | |||
name gujarati-test | |||
language gu | |||
@@ -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 |
@@ -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 | |||
@@ -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 |
@@ -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 |
@@ -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 | |||
@@ -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 | |||
@@ -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 |
@@ -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 |
@@ -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); | |||
} | |||
@@ -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); | |||
} | |||
} | |||
} | |||
@@ -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); | |||
} |
@@ -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(); | |||
@@ -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.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]; |
@@ -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) |
@@ -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 |
@@ -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 "; | |||