Use internal data for iswalpha(), towlower() for characters up to U+024F. Language changes: es, nl, pt, tr, vi. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@346 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -137,7 +137,7 @@ p Q r R s s; t T | |||
ts v x z | |||
Dictionary en_dict 2013-04-18 | |||
Dictionary en_dict 2013-04-23 | |||
0 0# 3 3: @ @- @2 @5 | |||
@L a a# A: A@ aa aI aI3 | |||
@@ -166,7 +166,7 @@ s S t T tS ts v w | |||
x z Z | |||
Dictionary es_dict 2013-03-29 | |||
Dictionary es_dict 2013-04-22 | |||
@ a aI aU e E eI eU | |||
i o O oI u | |||
@@ -500,7 +500,7 @@ r r. s S s. t t# t. | |||
t.# v w x z | |||
Dictionary nl_dict 2013-04-12 | |||
Dictionary nl_dict 2013-04-23 | |||
8 @ @- a A a: A~ e | |||
E e# E2 e: EI eU i I | |||
@@ -562,7 +562,7 @@ S s; S; t t; tS ts tS; | |||
ts; v w x z Z Z; | |||
Dictionary pt_dict 2013-04-18 | |||
Dictionary pt_dict 2013-04-23 | |||
& &/ &U~ &~ @ @- a A | |||
aI aU e E eI EI eU EU | |||
@@ -701,15 +701,15 @@ s s. S; t t# t. t.# tS | |||
v v# w z | |||
Dictionary tr_dict 2011-09-16 | |||
Dictionary tr_dict 2013-04-20 | |||
@ a e E i I o O | |||
u U W y Y | |||
* : b c d dZ f g | |||
G h j J k l m n | |||
p Q r R s S t tS | |||
v w z Z | |||
G h j J k l L m | |||
n p Q r R s S t | |||
tS v w z Z | |||
Dictionary ur_dict 2013-03-28 | |||
@@ -726,18 +726,18 @@ s S s. t T t# t. t.# | |||
v w x z Z z. | |||
Dictionary vi_dict 2013-03-16 | |||
Dictionary vi_dict 2013-04-21 | |||
@ @: @:I @:U @I @U a a: | |||
a:I a:U aI aU e E eU EU | |||
i i@ iE iU o O o# O# | |||
o& o@ OI oI u u@ uI y | |||
y@ yI | |||
@ @- @: @:I @:U @I @U a | |||
a: a:I a:U aI aU e E eU | |||
EU i i@ iE iU o O o# | |||
O# o& O- o@ OI oI Oi u | |||
u- u@ uI y y@ yI | |||
b c cr d D f g h | |||
j J J^ k kh l m n | |||
N n^ p Q s s. t t[ | |||
v w x z Z z. | |||
tS tS; v w x z Z z. | |||
Dictionary zh_dict 2013-01-25 |
@@ -17,7 +17,7 @@ | |||
// ?8 Use full vowel, not schwa in some word endings | |||
// $alt1 use strong ending (-an, -table, -inal, -ier) | |||
// $alt2 use weak ending (ate, ery, ess, ile, men) | |||
// $alt2 use weak ending (ard, ate, ery, ess, ile, men) | |||
// $alt3 use weak first vowel, a->[a#], e->[@], o->[0#] | |||
// $alt4 separate 'h', not 'th' | |||
// $alt6 'to' | |||
@@ -285,42 +285,42 @@ _ja dZ'ap@ni:z | |||
_zh tS'aIni:z | |||
// Cyrillic letters | |||
а a | |||
б bE | |||
в vE | |||
г gE | |||
д dE | |||
е jE | |||
ё jo | |||
ж ZE | |||
з zE | |||
и I | |||
а a: | |||
б bE: | |||
в vE: | |||
г gE: | |||
д dE: | |||
е jE: | |||
ё jo: | |||
ж ZE: | |||
з zE: | |||
и I: | |||
й ,Ik@-*'atkOji | |||
к ka | |||
к ka: | |||
л El/1 | |||
м Em | |||
н En | |||
о o | |||
п pE | |||
о o: | |||
п pE: | |||
р Er | |||
с Es | |||
т tE | |||
у u | |||
т tE: | |||
у u|: | |||
ф Ef | |||
х xa | |||
ц tsE | |||
ч tSE | |||
ш Sa | |||
щ StSa | |||
х xa: | |||
ц tsE: | |||
ч tSE: | |||
ш Sa: | |||
щ StSa: | |||
ъ jEr | |||
ы j'Eru | |||
ь j'eri | |||
э E | |||
ю ju | |||
я ja | |||
ћ tS;E | |||
ђ djE | |||
ќ kjE | |||
э E: | |||
ю ju|: | |||
я ja: | |||
ћ tS;E: | |||
ђ djE: | |||
ќ kjE: | |||
// Arabic letters | |||
@@ -508,7 +508,7 @@ _3o T'3: | |||
_5o f'If | |||
_20o tw'Enti@ | |||
_30o T'3:ti@ | |||
?3 _30o T'IRti@ | |||
?5 _30o T'IRti@ | |||
_40o f'o@ti@ | |||
_50o f'Ifti@ | |||
_60o s'Iksti@ | |||
@@ -697,6 +697,7 @@ adieu a#dju: | |||
adieus a#dju:z | |||
adieux a#dju:z | |||
adios aDj'o:s | |||
adjective $1 | |||
admirable adm@r@b@L | |||
admirably adm@r@bli | |||
admonition adm@n'IS@n | |||
@@ -807,7 +808,7 @@ antibody $1 | |||
antichrist $1 | |||
anticline $1 | |||
antidote $1 | |||
antifreze $1 | |||
antifreeze $1 | |||
antigen $1 | |||
antihero $1 | |||
antilog $1 | |||
@@ -1274,6 +1275,7 @@ corral k@r'al | |||
cosmos k0zm0s | |||
?3 cosmos k0zmoUs | |||
cougar ku:g3 | |||
counteract $3 | |||
countered kaUnt3d | |||
(coup de grâce) ku:d@||gr'A: | |||
coupon ku:p0n | |||
@@ -1546,6 +1548,7 @@ eyrie i@ri | |||
facade f@sA:d | |||
façade f@sA:d | |||
facetious $alt3 | |||
faculty fak@Lt2i | |||
faeces fi:si:z | |||
fahrenheit far@nhaIt | |||
fairest fe@r@st | |||
@@ -1718,6 +1721,7 @@ hello h@loU | |||
henceforth hEnsfo@T | |||
?3 herb 3:b | |||
hercules h3:kjUli:z | |||
heredity h3rEdI2ti | |||
?3 hereford h3:f3d | |||
heretical hI2rEtI2k@L | |||
hereto hi@3'tu: | |||
@@ -3182,6 +3186,7 @@ Belgrade $2 | |||
Belize bEl'i:z | |||
Bengal b,Eng'O:l | |||
Benin bEnIn | |||
Berkeley b3:kli | |||
Bhutan bu:t'an | |||
Bideford bIdIf@d | |||
Bogota b0g@t'A: | |||
@@ -3218,6 +3223,7 @@ Cruz kru:z | |||
Cyprus saIpr@s | |||
Dahomey $alt3 | |||
Dallas dal@s | |||
Dagestan dA:gIst'A:n | |||
Damascus $alt3 | |||
Dakota $alt3 | |||
Danish deInIS | |||
@@ -3247,6 +3253,7 @@ Gomera goUm'e@r@ | |||
Gurmukhi gU@mUki | |||
Harare ha#rA:ri | |||
Hanoi han'OI | |||
Harvard $alt2 | |||
Havana ha#van@ | |||
Hawaii h@w'aIi: | |||
Hawai'i h@w'aIi: | |||
@@ -3283,6 +3290,8 @@ Korean kOr'i:@n | |||
?3 Korean k3r'i:@n | |||
Kosovo k0s@voU | |||
Kuala kwA:la# | |||
Kyrgyz k3:rgIz | |||
Kyrgyzstan k3:rgIst'A:n | |||
Lagos leIg0s | |||
Lahore $alt3 | |||
Lebanon lEb@n0n | |||
@@ -3590,6 +3599,7 @@ Giordino dZO@d'i:noU | |||
Giovanni dZ@v'A:ni | |||
Graeme greI@m | |||
Graham greI@m | |||
Gruffydd grIfIT | |||
Guido gwi:doU | |||
Guinevere gwInI#vi@3 | |||
Hadrian heIdri:@n | |||
@@ -3911,6 +3921,7 @@ at at $nounf $only $u | |||
(at once) a#t_w0ns | |||
?6 (at once) a#t_wVns | |||
(at will) a#t_w'Il | |||
(at & t) 'eIt2i:@nt'i: | |||
with wID $u | |||
(with the) w%IDD@2 $nounf |
@@ -789,6 +789,7 @@ | |||
_) ani anI | |||
_) ani (on anaI | |||
&) ani (_ 'A:nI | |||
@st) ani (_S1 =i | |||
an (ia 'eIn | |||
ania (c_ 'eInIa | |||
ania (c a#naI@ | |||
@@ -918,6 +919,7 @@ | |||
_t) ar (_ A@ | |||
&) ar (dis 3 | |||
&) ar (diz 3 | |||
&) ar (d_$w_alt2 3 | |||
&d) ar (d_ 3 | |||
gg) ar (d_ 3 | |||
&h) ar (d_ 3 | |||
@@ -1629,7 +1631,7 @@ | |||
co (rro k@ | |||
co (rrup k@ | |||
_) costar koUstA@ | |||
_) counter (@P7 k'aUnt@ // prefix | |||
_) counter (@P7 k'aUnt3 // prefix | |||
.group d | |||
d d | |||
@@ -3523,8 +3525,8 @@ | |||
iss (a_ 'Is | |||
issimo (_ 'IsImoU | |||
chr) is (t_ aIs | |||
@) istan (_ =Istan | |||
@) istani (_ Ist'A:nI | |||
@) istan (_ =IstA:n | |||
@) istan (_N =Istan | |||
@) iste (_ 'i:st | |||
@) is (tic_ 'Is | |||
r) is (y_ =@s | |||
@@ -4012,7 +4014,7 @@ | |||
oea (_ 'i@ | |||
_) oe (d i: | |||
p) oe (m oUI | |||
oer oU@ | |||
oer oU3 | |||
_) oe (s i: | |||
&) oe (s_S2 z | |||
oesopha I2s0f@ | |||
@@ -5360,6 +5362,7 @@ | |||
th (ern_ D | |||
_) thio T,aIoU | |||
th (ith D | |||
th (old th | |||
th (ole th | |||
_) th (om@ t | |||
ph) th T | |||
@@ -5884,6 +5887,7 @@ | |||
C) yes (_ aIz | |||
_) yes jEs | |||
yeah jEh | |||
yew ju: | |||
@C) y (gen I | |||
?!3 d) y (nas I | |||
s) ynch Ink | |||
@@ -5991,7 +5995,7 @@ | |||
E (ntu 'E | |||
E (ntous 'E | |||
E (o_ I2 | |||
Eous (_ =j@s | |||
Eous (_ =i@s | |||
l) E (ps E | |||
l) E (pt E | |||
Eri (A 'i@rI2 |
@@ -50,8 +50,10 @@ A) ck k | |||
_) d (rA d | |||
_) d (A d | |||
d (A D | |||
d (_ D | |||
d (cY D | |||
d (L03 D | |||
d (v D | |||
m) d d | |||
n) d d | |||
l) d d | |||
@@ -85,6 +87,7 @@ A) ck k | |||
_) gn (A n | |||
_) g (A g | |||
g (A Q | |||
g (_ Q | |||
g (cY Q | |||
g (L03 Q | |||
m) g g |
@@ -112,7 +112,7 @@ _6X z'Est@x | |||
_7X z'e:v@nt@x | |||
_8X t'Axt@x | |||
_9X n'e:g@nt@x | |||
_0C h'OndErt | |||
_0C h'Ond@rt | |||
_0M1 d'WyzEnt | |||
_0M2 m'iljun | |||
_0M3 m'iljArt | |||
@@ -377,6 +377,7 @@ keten $alt | |||
loochen $alt | |||
oefen $alt | |||
open $alt | |||
reden $alt | |||
regen $alt | |||
reken $alt | |||
schepen $alt | |||
@@ -1098,6 +1099,7 @@ gijzel $alt | |||
gispel $alt | |||
gniffel $alt | |||
goochel $alt | |||
googel $alt | |||
gorgel $alt | |||
grabbel $alt | |||
grendel $alt | |||
@@ -1404,6 +1406,7 @@ vondel $alt | |||
accessoire aksEsw'ar@ | |||
accessoires aksEsw'ar@s | |||
actiepunt Aksip8nt | |||
actieve Akt'iv@ | |||
adhesie Ath'e:zi | |||
agenda $2 | |||
aldus Ald'8s | |||
@@ -1453,6 +1456,7 @@ december $2 | |||
desillusie dEsIlyzi | |||
dieet $2 | |||
diesel diz@l | |||
diner din'e: | |||
//discussie $2 | |||
divers div'Ers | |||
diftongering dIft,ON'e:rIN | |||
@@ -1462,6 +1466,7 @@ eensgelijks e:nsQ@l'EIks | |||
elfstedentocht ,Elf'ste:d@ntoQt | |||
embouchuur A~buS'yr // embouchure | |||
enorm $2 | |||
enquête A~k'Et@ $alt2 | |||
erosie e:r'o:zi | |||
eucharistie $4 | |||
explosie $2 | |||
@@ -1486,6 +1491,8 @@ invasie $2 | |||
januari $3 | |||
kadaster $2 | |||
leesregel le:sre:Q@l | |||
lunch l8nS | |||
lunches l8nS@s | |||
mangat $alt3 | |||
materie ma:t'e:ri | |||
maatregel ma:tre:Q@l $alt2 | |||
@@ -1531,6 +1538,7 @@ ongerieflijk $3 | |||
partijvoorzitters $2 | |||
periferie pI:rifI:r'i | |||
pistache pist'AS | |||
privilege privil'e:Z@ $alt2 | |||
proces $2 | |||
projectielen $3 | |||
renaissance rEne:s'A~s@ | |||
@@ -1548,6 +1556,7 @@ serie sI:ri | |||
sms'jes EsEm'Es_j@s | |||
spektakel $2 | |||
tegennatuur $4 | |||
tralie $1 | |||
travestie $3 | |||
verderop $3 | |||
vergezicht vErQ@zIxt | |||
@@ -1556,6 +1565,7 @@ verrekijker vEr@kEIk@r | |||
verste vErst@ | |||
verte vErt@ | |||
volledig $2 | |||
voordeel $1 | |||
vrouwengek $alt3 | |||
waarschijnlijk $2 | |||
wanen v#a:n@n |
@@ -20,14 +20,15 @@ | |||
@@C) a (_ =a: | |||
_) aan (@P3 'a:n | |||
@) aar (_S3 a:r | |||
@) aard (_S4 a:rt | |||
&) aar (_S3 a:r | |||
&) aard (_S4 a:rt | |||
aa (rd_ 'a: | |||
aa (C_ 'a: | |||
z) aa (m_ a: | |||
t) a (bleau a: | |||
@) abel (_ 'a:b@l | |||
@) abele (_ 'a:b@l@ | |||
@) ace (_ e:s // ?? interface | |||
m) ach (in %a:S | |||
_) actie (@P5 'Aksi | |||
_) af (C@P2 'Af | |||
@@ -106,6 +107,7 @@ | |||
_) be (zem be: | |||
_) be (zig be: | |||
_) beu bY: | |||
_) bezoekers (@P9 b@z'uk@rs | |||
.group c | |||
@@ -120,10 +122,12 @@ | |||
@) ci (ë S | |||
ci (o S | |||
ck k | |||
ces (_ s'Es | |||
coach ko:tS | |||
_) computer (@P8 kOmpj'ut@r | |||
_) congres kOnQr'Es | |||
_) concentratie (@P12 kOnsEntr'a:tsi | |||
co (ncert k%O | |||
@@ -246,7 +250,7 @@ | |||
&) end (_ @nd | |||
&) ende (_S1 @ | |||
&) enden (_S2 @n | |||
eden e:d@n | |||
eden (_ e:d@n // ?? | |||
@) ent (_ 'Ent | |||
@) ent (e_ 'Ent | |||
@) ent (en_ 'Ent | |||
@@ -260,6 +264,7 @@ | |||
@z) es (_S1 s | |||
@) es (_S2qd 'Es // double the previous vowel | |||
@) es (_$w_alt2S1 s // just remove 's' | |||
@) e (s_$p_alt2+S1 s | |||
KAC) es (_S2e @s | |||
mb) es (_S1 s | |||
nd) es (_S1 s | |||
@@ -280,6 +285,7 @@ | |||
@) eur (_ 'Y:r | |||
&) e (nB@ E2 | |||
&) e (ntig @ | |||
_p) e (nibel e: | |||
id) e (nt E | |||
pres) e (nt E | |||
@@ -322,11 +328,14 @@ | |||
er (ij_ @r | |||
tol) er (abel @r | |||
mis) er (abel @r | |||
hond) er (d_ @r | |||
_) erger ErQ@r // ergeren | |||
&) era (_ @ra: | |||
@) er (aar_ @r | |||
&) er (C@ E2r | |||
.group ê | |||
ê E | |||
.group f | |||
f f | |||
@@ -341,11 +350,13 @@ | |||
@) gi (eus Z | |||
@) gi (euz Z | |||
reli) gi (eu Qij | |||
_) goog (el gu:g | |||
.group ge | |||
_) ge (@P2 Q@ | |||
ge (bied Q@ | |||
_) gebruikers (@P10 Q@br'Wyk@rs | |||
_) gee Qe: | |||
_) gei QEI | |||
gener (aal Q,e:n@r | |||
@@ -435,10 +446,11 @@ | |||
&) ika (_ =ika: | |||
&) iko (_ =iko: | |||
_) in (C@P2 'In | |||
// _) in (gP2 'In | |||
_) in (do In | |||
ine (_ 'in@ | |||
ines (_ 'in@s | |||
_) inn (@P2 'I // ?? inneren | |||
_) inter Int@r | |||
io (nage iO | |||
io (de_ i'o: | |||
iodes (_ i'o:d@s | |||
@@ -449,10 +461,12 @@ | |||
@) isme (_ 'Ism@ | |||
@) ist (_ 'Ist | |||
@) isten (_ 'Ist@n | |||
_) inn (@P2 'I // ?? inneren | |||
.group j | |||
j j | |||
_) jaar (@P4 j'a:r | |||
jaar (lijk ja:r | |||
jou (rna Zu | |||
@@ -478,6 +492,8 @@ _) inn (@P2 'I // ?? inneren | |||
&) lijker (_S6 l@k@r | |||
&) lijkere (_S7 l@k@r@ | |||
&) lijkheid (_S8 l@khEIt | |||
&) lijkheden (_S9 l@khe:d@n | |||
// &) lijks@ (_ l@ks@ | |||
&) lijkst (_S6 l@kst | |||
&) lijkste (_S7 l@kst@ | |||
@@ -497,6 +513,7 @@ _) inn (@P2 'I // ?? inneren | |||
management ma:nIdZm@nt | |||
_) mee (@P3 m'e: | |||
_) mee (rC mI: | |||
menu (_ m@ny | |||
_) mi (cro mi | |||
_) mi (s@ m%I | |||
@@ -513,6 +530,7 @@ _) inn (@P2 'I // ?? inneren | |||
_) mis (loP3 m'Is | |||
_) mis (tA m'Is | |||
_) misver (@ m'Isf@r | |||
_) muziek (@P6 myz'ik | |||
.group n | |||
n n | |||
@@ -527,6 +545,7 @@ _) inn (@P2 'I // ?? inneren | |||
_) na (C@N n'a: | |||
_) na (C% nA | |||
_) na (cht nA | |||
_) najaars (@P7 n'a:ja:rs | |||
_) narci (s n%ArsI | |||
_) na (rc n%A | |||
_) na (der na: | |||
@@ -539,10 +558,11 @@ _) inn (@P2 'I // ?? inneren | |||
na (vig n%a: | |||
_) na (vr na: | |||
_) na (volg@ n%a: | |||
_) noord (@P5 no:rd | |||
_) nieuws (@P6 n'iws | |||
@@) nis (_S3 nIs | |||
@@) nisen (_S5 nIs@n | |||
_) noord (@P5 no:rd | |||
_) notitie (@P7 no:t'itsi | |||
.group o | |||
@@ -586,6 +606,7 @@ _) inn (@P2 'I // ?? inneren | |||
tr) ou (vail u | |||
ouve (rtu uvE | |||
_) over (@P4 ,o:v@r | |||
_) overigen o:v@r@Q@n | |||
_) overheid 'o:v@rhEIt | |||
t) ou (r u: | |||
@@ -644,21 +665,25 @@ _) inn (@P2 'I // ?? inneren | |||
C) r (A r | |||
rr *r | |||
recherch r@SErS | |||
revanch r@vA~nS | |||
route rut@ // route(s) | |||
.group re | |||
_) re (geren r@ | |||
_) re (geer r@ | |||
_) regel re:Q@l | |||
_) re (cent r@ | |||
_) re (cept r@ | |||
_) re (ceptief re: | |||
_) re (ces r@ | |||
_) re (clam r@ | |||
_) register r@Q'Ist@r | |||
reme (die r@m'e: | |||
_) re (serve_ r@ | |||
_) re (cord re' | |||
_) regering r@Q'I:rIN | |||
_) regering r@Q'I:rIN | |||
repre (saill re:pre: | |||
recherch r@SErS | |||
revanch r@vA~nS | |||
.group s | |||
@@ -695,6 +720,7 @@ _) inn (@P2 'I // ?? inneren | |||
CAr) sie (_ =zi | |||
_) stads (@P5 st'Ats | |||
_) stage (@P5 st'a:Z@ | |||
_) standaard (@P9 st'Anda:rt | |||
_) start (@P5 st'Art | |||
@) straat (_S6 stra:t | |||
@@ -789,7 +815,9 @@ _) inn (@P2 'I // ?? inneren | |||
_) verkeers (@P8 v@rk'I:rs | |||
// _) verge (@P5 vErg@ | |||
// _) verge (le v@rQ'e: | |||
_) voorjaars (@P9 v'O:rja:rs | |||
_) voort (@P5 v'O:rt | |||
_) vrijwilligers (@P13 vrEIv#'Il@Q@rs | |||
.group w | |||
@@ -813,8 +841,10 @@ _) inn (@P2 'I // ?? inneren | |||
_) weg (@P3 v#'EQ | |||
_) weg (en v#e:Q | |||
_) weg (e_ v#e:Q // bewegelijk | |||
_) werk (@P4 v#'Erk | |||
_) west (@P4 v#Est | |||
_) wr vr | |||
_) woon (@P4 v#'o:n | |||
_) wr (@ vr | |||
.group x |
@@ -81,9 +81,10 @@ _#9 tab | |||
+ maIs# $max3 | |||
% pors'eINtU $max3 | |||
& _'e_ | |||
@ &x'ob& | |||
@ ax'ob& | |||
¤ 'eU*U | |||
€ 'eU*U | |||
£ l'ibR& | |||
§ p&*'agRafU | |||
@@ -128,10 +129,10 @@ _¡ ,eskl&mas,&U~,iNvertS'id& | |||
_¿ ,iNtex,ogas,&U~,iNvertS'id& | |||
_" 'abRi;'asp&||d'upl&s# | |||
?1 _º O*@-din'almaskul'i~nU | |||
?2 _º o*@-dZin'almaskul'i~nU | |||
?1 _ª O*@-din'alfemin'i~nU | |||
?2 _ª o*@-dZin'alfemin'i~nU | |||
?1 º O*@-din'almaskul'i~nU | |||
?2 º o*@-dZin'aUmaskul'i~nU | |||
?1 ª O*@-din'alfemin'i~nU | |||
?2 ª o*@-dZin'aUfemin'i~nU | |||
° gR'aU | |||
@@ -185,7 +186,7 @@ _8X oIt'eINt& | |||
?2 _9X nov'eINt& | |||
_1C0 s'eIN | |||
?1_0C s'eINtus# | |||
?2_0C s'eINtUs# | |||
?2_0C s'eINtUz | |||
_1C s'eINtu | |||
?1_2C duz'eINtus# | |||
?2_2C duz'eINtUz | |||
@@ -313,7 +314,7 @@ sr $dot | |||
// articles | |||
o $u+ $nounf | |||
a $u+ $nounf | |||
os Us $u+ $nounf | |||
os $u+ $nounf | |||
as $u+ $nounf | |||
?1 a & $u+ $nounf | |||
@@ -409,7 +410,7 @@ aos $u $nounf | |||
para $u // for,to | |||
pro pRU $u $nounf | |||
pra $u $nounf | |||
pros pRUs $u $nounf | |||
pros $u $nounf | |||
pras $u $nounf | |||
prò $u $nounf | |||
prà $u $nounf | |||
@@ -431,7 +432,7 @@ com $u // with | |||
// conjunctions | |||
?1 e i $u // and | |||
?2 e i $u // and | |||
se $u+ $verbf // if | |||
se $u+ // if | |||
?2 mas $u // but | |||
@@ -597,10 +598,10 @@ pôde $u+ | |||
pudemos $u+ | |||
puderam $u+ | |||
poderei $u3+ | |||
poderá $u3+ | |||
poderemos $u+ | |||
poderão $u+ | |||
poderei p%ode*eI $u+ | |||
poderá p%ode*a $u+ | |||
poderemos p%ode*'emUs $u+ | |||
podeão p%ode*&U~ $u+ | |||
// ir - to go (used to make future tense) | |||
@@ -653,11 +654,14 @@ aeroporto $alt2 | |||
aeroportos $alt | |||
alcateia $alt | |||
alcova $alt2 | |||
alegro $alt2 $noun | |||
alferes $alt | |||
almoço $alt $verb | |||
ameba $alt | |||
amores $alt2 | |||
amorno $alt | |||
amuleto $alt2 | |||
ampere $alt | |||
ampola $alt2 | |||
ampulheta $alt2 | |||
andorra $alt2 | |||
@@ -674,6 +678,7 @@ arrocho $alt2 $noun | |||
arroto $alt2 $noun | |||
arroz $alt2 | |||
assembleia $alt | |||
assopro $alt2 $noun | |||
ateia $alt | |||
aterro $alt2 | |||
aterro $alt $verb | |||
@@ -684,12 +689,16 @@ azeda $alt $verb | |||
azedo $alt $verb | |||
bairro b'aIxU | |||
baqueta $alt2 | |||
banqueta $alt2 | |||
banquete $alt2 | |||
bastonete $alt2 | |||
beco $alt2 | |||
besta $alt2 | |||
bilhete $alt2 | |||
bissulfeto $alt2 | |||
boca $alt2 | |||
boceta $alt2 | |||
bochecha $alt2 | |||
bofe $alt | |||
bojo $alt2 | |||
boleia $alt | |||
bolero $alt | |||
@@ -716,6 +725,7 @@ caixeta $alt2 | |||
camelha $alt | |||
camelo $alt2 | |||
camiseta $alt2 | |||
canaleta $alt2 | |||
canhoto $alt2 | |||
cantora $alt2 | |||
capacete $alt2 | |||
@@ -747,6 +757,7 @@ chovesse $alt2 | |||
chupeta $alt2 | |||
clamores $alt2 | |||
clero $alt | |||
cloreto $alt2 | |||
coche $alt2 | |||
coco $alt2 | |||
cofre $alt | |||
@@ -765,6 +776,7 @@ concordo $alt | |||
conforto $alt $verb | |||
console $alt2 $noun | |||
consolo $alt2 $noun | |||
constroem $alt | |||
controle $alt2 $noun | |||
controles $alt2 | |||
controles $alt $verb | |||
@@ -779,6 +791,7 @@ corpos $alt | |||
corto $alt | |||
corveta $alt2 | |||
corvos $alt | |||
costeleta $alt2 | |||
coto $alt2 | |||
cotovelo $alt2 | |||
cratera $alt | |||
@@ -786,7 +799,7 @@ crede $alt2 | |||
credo $alt | |||
crepe $alt | |||
decore $alt | |||
decoro $alt2 $noun | |||
decoro $alt2 $noun | |||
degelo $alt2 | |||
desapego $alt2 $noun | |||
descordo $alt | |||
@@ -796,6 +809,8 @@ desespero $alt2 | |||
desespero $alt $verb | |||
desfecho $alt2 | |||
desmantelo $alt2 $noun | |||
despojo $alt2 $noun | |||
despojos $alt | |||
desporto $alt2 | |||
desportos $alt | |||
desprezo $alt2 $noun | |||
@@ -810,6 +825,7 @@ dez $alt | |||
diarreia $alt | |||
diego $alt2 | |||
discordo $alt | |||
dissabores $alt2 | |||
dispneia dZIspyn'EI& | |||
dobro $alt2 | |||
dobro $alt $verb | |||
@@ -828,8 +844,8 @@ engordo $alt | |||
enredo $alt $verb | |||
enrosco $alt $verb | |||
enterro $alt2 $noun | |||
entorto $alt | |||
entroso $alt | |||
entorto $alt | |||
entroso $alt | |||
envelope $alt | |||
envolto $alt2 | |||
enxaqueca $alt2 | |||
@@ -860,14 +876,14 @@ estorvo $alt $verb | |||
estrela $alt2 | |||
estrofe $alt | |||
estrogonofe $alt | |||
eta $alt2 | |||
eta $alt2 | |||
etiqueta $alt2 | |||
europa $alt | |||
europeia $alt | |||
exagero $alt $verb | |||
explore $alt | |||
faceta $alt2 | |||
falangeta $alt2 | |||
falangeta $alt2 | |||
farofa $alt | |||
farolete $alt2 | |||
febre $alt | |||
@@ -876,8 +892,9 @@ feitora $alt2 | |||
fezes $alt | |||
filete $alt2 | |||
?1 fixe fiSy | |||
flerte $alt2 $noun | |||
foda $alt2 $verb | |||
fodo $alt2 | |||
fodo $alt2 | |||
fogos $alt | |||
foguete $alt2 | |||
foice $alt2 | |||
@@ -885,8 +902,8 @@ folheto $alt2 | |||
fora $alt | |||
fora $alt2 $verb | |||
forca $alt2 | |||
força $alt2 $noun | |||
forças $alt2 | |||
força $alt2 | |||
força $alt $verb | |||
forço $alt | |||
formos $alt2 | |||
forro $alt $verb | |||
@@ -902,15 +919,15 @@ gelo $alt2 | |||
gelo $alt $verb | |||
genebra $alt | |||
gesso $alt2 | |||
gloso $alt | |||
gloso $alt | |||
gonorreia $alt | |||
gol gow | |||
gol gow | |||
golpe $alt | |||
gorda $alt2 | |||
gorjeta $alt2 | |||
gosto $alt $verb | |||
gota $alt2 | |||
governo $alt2 | |||
governo $alt2 | |||
governo $alt $verb | |||
gozo $alt2 $noun | |||
graveto $alt2 | |||
@@ -929,6 +946,7 @@ interesse $alt2 | |||
interesse $alt $verb | |||
iodo $alt2 | |||
ioga $alt | |||
jereba $alt | |||
jogo $alt2 | |||
jogo $alt $verb | |||
jogos $alt | |||
@@ -943,13 +961,13 @@ leste $alt2 $verb | |||
?2 lhe l^y | |||
lingueta $alt2 | |||
lodo $alt2 | |||
logro $alt | |||
logro $alt | |||
lopes $alt | |||
macete $alt2 | |||
maior $alt | |||
maleta $alt2 | |||
maniçoba $alt | |||
marieta $alt2 | |||
marieta $alt2 | |||
marreta $alt2 | |||
megera $alt | |||
melhor $alt | |||
@@ -1001,21 +1019,27 @@ pachorra $alt2 | |||
paexa paeSa | |||
paella pa'el^& | |||
palacete $alt2 | |||
paleta $alt2 | |||
palheta $alt2 | |||
panfleto $alt2 | |||
pangeia $alt | |||
pantera $alt | |||
papoco $alt2 $noun | |||
parede $alt2 | |||
pastora $alt2 | |||
peba $alt | |||
pedra $alt | |||
pela $alt $verb | |||
pelo $alt2 | |||
pelo $alt $verb | |||
pereba $alt | |||
peroba $alt | |||
peseta $alt2 | |||
peso $alt $verb | |||
piloto $alt2 $noun | |||
pintora $alt2 | |||
pior $alt | |||
pipoco $alt2 $noun | |||
pirueta $alt2 | |||
plaqueta $alt2 | |||
plateia $alt | |||
@@ -1023,8 +1047,9 @@ plebeia $alt | |||
polca $alt | |||
pompeia $alt | |||
porcos $alt | |||
porque $alt2 | |||
porque $alt2 | |||
porra $alt2 | |||
porreta $alt2 | |||
porrete $alt2 | |||
porto $alt2 | |||
portos $alt | |||
@@ -1033,15 +1058,18 @@ povos $alt | |||
poxa p'oS& | |||
primavera $alt | |||
primores $alt2 | |||
proso $alt | |||
proso $alt | |||
prosopopeia $alt | |||
proveta $alt2 | |||
quarteto $alt2 | |||
queda $alt | |||
quede $alt2 | |||
quitinete $alt | |||
quinteto $alt2 | |||
ramalhete $alt2 | |||
ramalhete $alt2 | |||
raposa $alt2 | |||
recomeço $alt $verb | |||
reconstroem $alt | |||
recordo $alt | |||
recorto $alt | |||
rede $alt2 | |||
@@ -1053,22 +1081,23 @@ refresco $alt $verb | |||
rego $alt2 $noun | |||
reitora $alt2 | |||
relevo $alt2 $noun | |||
remoem $alt | |||
remoem $alt | |||
remorso $alt | |||
renovo $alt $verb | |||
retorno $alt $verb | |||
reuva x'EUv& | |||
rigores $alt2 | |||
risoto $alt2 | |||
rock $alt | |||
roem $alt | |||
rola $alt2 $noun | |||
rolo $alt2 $noun | |||
rota $alt2 | |||
rota $alt $noun | |||
rubores $alt2 | |||
rubores $alt2 | |||
rumores $alt2 | |||
sabonete $alt2 | |||
sabores $alt2 | |||
sabores $alt2 | |||
saibro s'aIbRU | |||
saleta $alt2 | |||
sarjeta $alt2 | |||
@@ -1094,10 +1123,12 @@ sossego $alt2 $noun | |||
suborno $alt $verb | |||
sufoco $alt2 $noun | |||
sufocos $alt2 | |||
sulfeto $alt2 | |||
sulfureto $alt2 | |||
super s'Uper | |||
suporto $alt | |||
suor swOr | |||
sutiã sutSi'&~N | |||
sutiã sutSi'&~N | |||
tapete $alt2 | |||
temores $alt2 | |||
tempero $alt2 $noun | |||
@@ -1105,15 +1136,15 @@ tenores $alt2 | |||
terrores $alt2 | |||
teta $alt2 | |||
toga $alt | |||
topo $alt $verb | |||
topo $alt2 $noun | |||
torno $alt $verb | |||
tornozelo $alt2 | |||
torre $alt2 $noun | |||
torres $alt2 | |||
torro $alt | |||
tortos $alt | |||
toso $alt | |||
transtorno $alt $verb | |||
toso $alt | |||
transtorno $alt $verb | |||
traqueia $alt | |||
travesso $alt2 | |||
tremores $alt2 | |||
@@ -1125,6 +1156,7 @@ trombeta $alt2 | |||
tumores $alt2 | |||
valeta $alt2 | |||
vanessa $alt2 | |||
vareta $alt2 | |||
vera $alt | |||
verbete $alt2 | |||
violeta $alt2 | |||
@@ -1191,6 +1223,7 @@ drivers dR'aIveRs | |||
laptop lEptOp | |||
?1 line l'ain | |||
layout l'eI,aUt | |||
?2 login logiN | |||
?2 logo l'OgU | |||
?1 lock l'Ok | |||
mail m'eIl | |||
@@ -1235,7 +1268,7 @@ símbolo s'imbolU | |||
// common person names | |||
alan 'al@n | |||
alan 'al@N | |||
louis _^_FR | |||
@@ -1347,7 +1380,6 @@ antonio &~nt'onIU | |||
?1 cleverson kl'Evyrs&N | |||
?2 cleverson kl'EversoN | |||
?1 elton 'Elt&N | |||
?2 elton 'EUton | |||
emerson 'emE*@-soN | |||
?1 halison &l'is&N | |||
klein kl'aIn // Very common on southern Brazil. |
@@ -90,6 +90,8 @@ | |||
óCC) a (CA_ & | |||
óC) a (CCA_ & | |||
úC) a (CA_ & | |||
?2 ation (_ 'eIS&~N | |||
?2 action (_ 'EkS&~N | |||
.group â | |||
@@ -165,6 +167,7 @@ | |||
?2 d (i dZ | |||
?2 d (í dZ | |||
?2 d (e_ dZ | |||
?2 A) de (o_ dZj | |||
.group e | |||
@@ -235,7 +238,8 @@ | |||
e (sL02_ E | |||
e (ssL04_ E | |||
e (ss_ E // stress and english words | |||
?2 ection (_ 'EkS&~N | |||
e (stL04_ E | |||
e (strL04_ E | |||
@@ -340,6 +344,7 @@ | |||
?1 l) e (ta 'E // eg: bicicleta, atleta. | |||
sf) e (ra_ E // esfera, biosfera | |||
ef) e (tuL02_ e | |||
t) e (tra E | |||
âC) e (CA_ e | |||
@@ -354,6 +359,7 @@ | |||
óC) e (Ca_ e | |||
óCC) e (CA_ e | |||
úC) e (CA_ e | |||
úC) el (_ eU | |||
//sort | |||
_d) e (L05_ E | |||
@@ -417,11 +423,13 @@ _atrev) e (L07_ e | |||
_corro) e (L07_ e | |||
_interromp) e (L07_ e | |||
_troux) e (L07_ E | |||
_ens) e (bL03_ E | |||
_amanc) e (bL03_ E | |||
qu) e (brL04_ E | |||
_cel) e (brL04_ E | |||
_boch) e (chL04_ e | |||
_ex) e (crL04_ E | |||
_enr) e (dL01_ E | |||
_n) eu (trL03_ 'eU | |||
_v) e (dL03_ E | |||
_arr) e (dL03_ E | |||
_depr) e (dL03_ E | |||
@@ -430,15 +438,14 @@ _troux) e (L07_ E | |||
_gal) e (gL03_ e | |||
_pel) e (gL03_ e | |||
_n) e (grL03_ e | |||
_ch) e (guL02_ e | |||
estr) ei (L04_ EI | |||
_r) e (jL03_ E | |||
_inv) e (jL04_ E | |||
?2 el (ton_ 'EU | |||
tr) e (pL04_ E // es- | |||
_dec) e (pL04_ E | |||
_in) e (ptL03_ E | |||
ad) e (quL04_ E | |||
_imp) e (rL03_ E | |||
_sev) e (rL03_ E | |||
_reit) e (rL03_ E | |||
_sinc) e (rL03_ E | |||
@@ -449,6 +456,7 @@ _troux) e (L07_ E | |||
gen) e (rL04_ E // de- re- | |||
_alt) e (rL04_ E | |||
_enc) e (rL04_ E | |||
_imp) e (rL04_ E | |||
_min) e (rL04_ E | |||
_sug) e (rL04_ E | |||
_sup) e (rL04_ E | |||
@@ -470,6 +478,7 @@ _refrig) e (rL04_ E | |||
_p) e (rdL02_ E | |||
_l) e (rdL03_ E | |||
_h) e (rdL04_ E | |||
_des) e (rdL04_ E | |||
_) e (rgL03_ e | |||
_re) e (rgL03_ e | |||
_bez) e (rrL03_ e | |||
@@ -496,6 +505,7 @@ _refrig) e (rL04_ E | |||
_obsol) e (tL03_ e | |||
_sol) e (trL03_ E | |||
_pen) e (trL04_ E | |||
_n) eu (trL03_ 'eU | |||
_d) e (vL03_ e | |||
scr) e (vL03_ e // e- in- pre- ree- de- | |||
_atr) e (vL03_ e | |||
@@ -639,7 +649,8 @@ _entorp) e (çL03_ e | |||
?1 _) i (ntern 'i //inter | |||
?1 @) ing (_ _^_EN | |||
?1 @) ings (_ _^_EN | |||
ilton 'iUtoN | |||
?2 il (ton_ 'iU | |||
?2 i (rton_ 'i | |||
.group í | |||
@@ -718,7 +729,9 @@ _entorp) e (çL03_ e | |||
o (s_ =U | |||
_) o (_C U | |||
_) o (_A u | |||
?2 _) os (_ Us | |||
?2 _) os (_A Uz | |||
?2 _) os (_G Uz | |||
ou ow | |||
oi oI | |||
oi ($w_alt OI | |||
@@ -738,7 +751,6 @@ _entorp) e (çL03_ e | |||
o (quL02_ O | |||
A_l) o (_ U | |||
p) o (dL04_ O | |||
o (g_ O | |||
o (gs_ O | |||
@@ -824,8 +836,7 @@ _entorp) e (çL03_ e | |||
?1 interr) o (g u // eg: interrogação | |||
?1 f) o (rmulá u // eg: formulário, formulários. | |||
?1 v) o (lt O | |||
o (Cuem_ o | |||
o (luem_ o | |||
o (CCuem_ o | |||
êC) o (CA_ o | |||
êCC) o (CA_ o | |||
@@ -870,9 +881,12 @@ _pormen) o (L05_ O | |||
m) o (lhL04_ O | |||
ent) o (pL02_ O | |||
_c) o (pL03_ O | |||
_t) o (pL04_ O | |||
_ens) o (pL04_ O | |||
_gal) o (pL04_ O | |||
_s) o (prL04_ O | |||
_al) o (prL04_ O | |||
_ass) o (prL04_ O | |||
_) o (ptL04_ O | |||
p) o (rL02_ o | |||
_dev) o (rL02_ O | |||
@@ -881,19 +895,20 @@ _pormen) o (L05_ O | |||
_inod) o (rL03_ O | |||
_inson) o (rL03_ O | |||
_comem) o (rL04 O | |||
_enam) o (rL04_ O | |||
_aprim) o (rL04_ O | |||
_remem) o (rL04_ O | |||
f) o (rmL03_ O | |||
c) o (rrL01_ o // incorra, corra, etc. | |||
_m) o (rrL01_ o | |||
p) o (rtL03_ O // im- trans- de- re- com- a- ex- | |||
t) o (rçL01_ O // con- | |||
t) o (rçL03_ o // con- | |||
_r) o (snL04_ O | |||
_c) o (spL02_ O | |||
_enr) o (squL02_ O | |||
p) ostos (_ Ost=Us# // dispostos etc. | |||
_gar) o (tL03_ o | |||
_mar) o (tL03_ O | |||
_mar) o (tL03_ o | |||
_escr) o (tL03_ o | |||
_ch) o (vL01_ o | |||
pr) o (vL03_ O | |||
@@ -902,6 +917,7 @@ _remem) o (rL04_ O | |||
_r) o (çL03_ O | |||
tr) o (çL03_ O // des- | |||
_ad) o (çL03_ O | |||
_emp) o (çL03_ O | |||
_end) o (çL03_ O | |||
//endsort | |||
@@ -1044,6 +1060,7 @@ _remem) o (rL04_ O | |||
?2 t (e_ tS | |||
?1 th _^_EN | |||
?1 tion (_ _^_EN | |||
?2 A) te (o_ tSj | |||
.group u |
@@ -43,16 +43,16 @@ _?A haRf | |||
//_lig | |||
_acu vURg'UimI | |||
_ac2 tS'IftvURg'UimI | |||
_brv k@s'altmaimI | |||
_brv k@s'aLtmaimI | |||
_ced h'aRf | |||
_cir Sapk'a | |||
_dia Umla'Ut | |||
_dia UmLa'Ut | |||
_dot YstnOkt'a | |||
_grv 'aksanimI | |||
_hac t'ERsSapk'a | |||
_mcn uz'atmaimI | |||
_ogo ogon'Ek | |||
_rng halk'a | |||
_rng haLk'a | |||
//_stk | |||
_tld tIld'E | |||
@@ -60,7 +60,7 @@ _tld tIld'E | |||
// symbols | |||
_. nOkt'a | |||
_, vIRJ'Yl | |||
_; nOktal'@vIRJ'Yl | |||
_; nOktaL'@vIRJ'Yl | |||
_: ik'InOkt'a | |||
_… 'YtSnOkt'a | |||
_? soR'UiSa*et,I | |||
@@ -73,7 +73,7 @@ _' apOstR'Of | |||
_^ IndZ'EltmEiSa*et'I | |||
& _!v'E | |||
_& v'EiSa*et'I | |||
_@ kUjRUkl'U'a | |||
_@ kUjRUkL'U'a | |||
_\ t'ERs||ej,IktSIzg'I | |||
_( atSpa*ant'Ez | |||
_) kapapa*ant'Ez | |||
@@ -84,9 +84,9 @@ _‘ tEkt@Rn'ak | |||
§ tSEnJ'El | |||
° de*edZ'E | |||
_# dij'Ez | |||
_~ jaklaS'@k | |||
__ ,alttSIzg'I | |||
* j'@ld@z $max3 | |||
_~ jakLaS'@k | |||
__ ,aLttSIzg'I | |||
* j'@Ld@z $max3 | |||
= ESIt $max3 | |||
% jYzdE $max3 | |||
+ aRt@ $max3 | |||
@@ -99,7 +99,7 @@ _2 ic'i | |||
_3 'ytS | |||
_4 d'WRt | |||
_5 b'ES | |||
_6 alt'@ | |||
_6 aLt'@ | |||
_7 jed'i | |||
_8 sec'Iz | |||
_9 d'okuz | |||
@@ -111,7 +111,7 @@ _2X jiRm'i | |||
_3X ot'uz | |||
_4X k'@Rk | |||
_5X ell'i | |||
_6X altm'@S | |||
_6X aLtm'@S | |||
_7X jetm'iS | |||
_8X seks'En | |||
_9X doks'an | |||
@@ -260,13 +260,13 @@ Düzce $1 | |||
Edirne $2 | |||
Hakkari $1 | |||
Hatay $1 | |||
Iğdır $1 | |||
İngiltere $3 | |||
İskenderun $2 | |||
ığdır $1 | |||
ingiltere $3 | |||
iskenderun $2 | |||
Isparta $2 | |||
İstanbul $2 | |||
İsveç $1 | |||
İzmir $1 | |||
istanbul $2 | |||
isveç $1 | |||
izmir $1 | |||
Kastamonu $1 | |||
Kayseri $1 | |||
Kilis $1 |
@@ -9,8 +9,11 @@ | |||
// ?1 mbrola voices | |||
// unvoiced consonants | |||
.L01 ç f h k p q s ş t | |||
.L01 ç f h k p q s ş t // unvoiced consonants | |||
.L02 ı a o u // back vowels | |||
.L03 i e ö ü î â ô û // not-back vowels | |||
.replace | |||
` ' | |||
@@ -23,7 +26,7 @@ | |||
@) acak (_S4 adZak | |||
@) acakmış (_S7 adZakm%@S | |||
@) ayım (_S4 aj@m | |||
@) alım (_S4 al@m | |||
@) alım (_S4 aL@m | |||
@) asın (_S4 as@n | |||
@) avru (pa avr'u | |||
@@ -33,9 +36,11 @@ | |||
.group c | |||
c dZ | |||
ce (_S2 dZ%E | |||
.group ç | |||
ç tS | |||
çe (_S2 tS%E | |||
.group d | |||
d d | |||
@@ -57,13 +62,13 @@ | |||
dın (_S3 d@n | |||
dınız (_S5 d@n@z | |||
dı (_S2 d@ | |||
dılar (_S5 d@laR | |||
dılar (_S5 d@LaR | |||
dum (_S3 dum | |||
duk (_S3 duk | |||
dun (_S3 dun | |||
dunuz (_S5 dunuz | |||
du (_S2 du | |||
dular (_S5 dular | |||
dular (_S5 duLar | |||
düm (_S3 dym | |||
dük (_S3 dyk | |||
dün (_S3 dyn | |||
@@ -96,18 +101,24 @@ | |||
.group g | |||
g g | |||
g (i J | |||
g (e J | |||
g (ü J | |||
g (ö J | |||
g (L03 J | |||
L03) g (K J | |||
.group ğ | |||
ğ Q | |||
A) ğ :|| | |||
?1 A) ğ G // mbrola | |||
A) ğ : | |||
?1 A) ğ (+ G // mbrola | |||
a) ğa : | |||
o) ğo : | |||
u) ğu : | |||
ö) ğö : | |||
ü) ğü : | |||
i) ğ j | |||
e) ğ j | |||
.group h | |||
h h | |||
@@ -135,37 +146,40 @@ | |||
@) ıyor (_S4 @j%oR | |||
@) ın (_S2 @n | |||
.group î | |||
î @ | |||
.group j | |||
j Z | |||
.group k | |||
k k | |||
k (i c | |||
k (e c | |||
k (ü c | |||
k (ö c | |||
k (L03 c | |||
L03) k (K c | |||
ken (_S3 %cen | |||
.group l | |||
l l | |||
l (L02 L | |||
L02) l (K L | |||
la (_S2 %la | |||
la (_S2 %La | |||
le (_S2 %le | |||
lar (_S3 laR | |||
lar (_S3 LaR | |||
ler (_S3 leR | |||
li (_S2 li | |||
lı (_S2 l@ | |||
lu (_S2 lu | |||
lı (_S2 L@ | |||
lu (_S2 Lu | |||
lü (_S2 ly | |||
lik (_S3 lik | |||
lık (_S3 l@k | |||
luk (_S3 luk | |||
lık (_S3 L@k | |||
luk (_S3 Luk | |||
lük (_S3 lyk | |||
@@ -308,7 +322,7 @@ | |||
yunuz (_S5 %junuz | |||
yünüz (_S5 %jynyz | |||
yla (_S3 %jla | |||
yla (_S3 %jLa | |||
yle (_S3 %jle | |||
yacak (_S5 jadZak | |||
@@ -317,7 +331,7 @@ | |||
yecekmiş (_S8 jedZekm%iS | |||
yayım (_S5 jaj@m | |||
yalım (_S5 jal@m | |||
yalım (_S5 jaL@m | |||
yasın (_S5 jas@n | |||
yeyim (_S5 jejim | |||
yelim (_S5 jelim |
@@ -0,0 +1,6 @@ | |||
name Korean | |||
language ko | |||
gender male | |||
pitch 80 118 | |||
intonation 2 | |||
@@ -0,0 +1,17 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
name malay | |||
language ms | |||
gender male | |||
phonemes id | |||
translator id | |||
stressLength 160 200 180 180 0 0 220 240 | |||
stressAmp 16 18 18 18 0 0 22 21 | |||
intonation 3 // Less intonation, and comma does not raise the pitch. | |||
// Nuance - Peninsula Malaysia | |||
// replace 3 a @ // change 'saya' to 'saye' | |||
// (only the last phoneme of a word, only in unstressed syllables) | |||
consonants 80 80 |
@@ -0,0 +1,12 @@ | |||
name vietnam_sgn | |||
language vi-sgn | |||
phonemes vi-sgn | |||
dictrules 2 | |||
gender male | |||
words 1 | |||
pitch 82 118 //80 118 | |||
//breath 75 75 60 40 15 10 | |||
//breathw 150 150 200 200 400 400 | |||
voicing 90 //18 | |||
flutter 20 |
@@ -1,5 +1,5 @@ | |||
90 phoneme tables | |||
91 phoneme tables | |||
new total | |||
base 109 109 | |||
consonants 11 119 | |||
@@ -44,7 +44,7 @@ consonants 11 119 | |||
bg 14 124 | |||
it 19 129 | |||
la 21 126 | |||
es 15 125 | |||
es 16 125 | |||
es-la 1 125 | |||
ca 11 127 | |||
an 4 125 | |||
@@ -56,12 +56,13 @@ consonants 11 119 | |||
sv 22 129 | |||
no 28 134 | |||
is 42 141 | |||
vi 53 147 | |||
vi-hue 8 147 | |||
vi 57 150 | |||
vi-hue 15 150 | |||
vi-sgn 17 150 | |||
zhy 41 138 | |||
zh 64 155 | |||
sw 9 110 | |||
tr 19 128 | |||
tr 20 129 | |||
ku 18 129 | |||
id 16 128 | |||
sq 33 127 | |||
@@ -243,15 +244,18 @@ dzh/xdz_pzd [J] base | |||
envelope/i_risefall [11] zh | |||
envelope/i_risefall2 [+2] rw | |||
envelope/p_214 [5] vi | |||
[5] vi-hue | |||
[214] zh | |||
envelope/p_512 [+] pa | |||
[6] vi | |||
[4] vi-hue | |||
[5] vi-hue | |||
[6] vi-hue | |||
[6] vi-sgn | |||
envelope/p_fall [2] vi | |||
[7] vi | |||
[2] vi-hue | |||
[2] vi-sgn | |||
[7] vi-sgn | |||
[4] zhy | |||
[7] zhy | |||
[21] zh | |||
@@ -261,23 +265,27 @@ envelope/p_fall [2] vi | |||
[53] zh | |||
[+] rw | |||
envelope/p_fallrise [4] vi | |||
[3] vi-hue | |||
envelope/p_level [1] vi | |||
[1] vi-hue | |||
[7] vi-hue | |||
[1] vi-sgn | |||
[1] zhy | |||
[3] zhy | |||
[6] zhy | |||
[55] zh | |||
envelope/p_rise [3] vi | |||
[3] vi-hue | |||
[3] vi-sgn | |||
[4] vi-sgn | |||
[5] vi-sgn | |||
[2] zhy | |||
[5] zhy | |||
[44] zh | |||
[35] zh | |||
envelope/vi_5amp [5] vi | |||
[5] vi-hue | |||
envelope/vi_6amp [6] vi | |||
[2] vi-hue | |||
[5] vi-hue | |||
[6] vi-hue | |||
g2/xg [g#] hi | |||
g/g [g] base | |||
@@ -592,7 +600,6 @@ n/n@ [n] base | |||
[n#] is | |||
[n] zh | |||
n/n#_ [n#] is | |||
[n] vi | |||
n^/n^a [n^] base | |||
[n;] lt | |||
[n#] ru | |||
@@ -655,6 +662,7 @@ n/no [n] base | |||
[n] zh | |||
n/_nr [n.] base | |||
n/nr_ [n.] base | |||
[n] vi | |||
n/nr@ [n.] base | |||
n/nra [n.] base | |||
n/nre [n.] base | |||
@@ -1005,6 +1013,7 @@ ustop/t_dnt [t] base | |||
[t] hr | |||
ustop/t_dnt2 [t] base2 | |||
[d] kn | |||
[t] es | |||
ustop/t_hi [t[] base | |||
[t] et | |||
[t^] et | |||
@@ -1080,7 +1089,6 @@ ustop/t_unasp2 [t] el | |||
[t] zh | |||
vdiph/0i [OI] pt | |||
[OI] grc | |||
[OI] vi | |||
vdiph/0i_2 [OI] en-sc | |||
[OI] en-wi | |||
[AI] no | |||
@@ -1301,10 +1309,12 @@ vdiph/@i_2 [eI] af | |||
[@I] cy | |||
[@Y] cy | |||
[@] am | |||
vdiph/&i_2 [aI] vi | |||
vdiph/i@_2 [e@] af | |||
[e@] tn | |||
vdiph/@i_3 [eI] en-wm | |||
[@I] ro | |||
[@-] vi | |||
[ai] zhy | |||
vdiph/ii [iI] ro | |||
vdiph/i#i [yI] ro | |||
@@ -1330,9 +1340,13 @@ vdiph/ooi [OI] en | |||
[oi] mt | |||
vdiph/ooi_2 [OI] af | |||
[oI] eo | |||
[Oi] vi-hue | |||
[Oi] vi-sgn | |||
vdiph/ooi_3 [OI] en-us | |||
[OI] en-rp | |||
[aI] en-wm | |||
[OI] vi | |||
[Oi] vi | |||
vdiph/ooi_4 [OI] sq | |||
vdiph/oou [oU] cs | |||
[OU] grc | |||
@@ -1374,7 +1388,6 @@ vdiph/Vu [@U] af | |||
vdiph/Vu_2 [oU] en-wm | |||
vdiph/&y [&y] fi | |||
[Wy] nl | |||
[aI] vi | |||
vdiph/yi [yi] fi | |||
[yi] et | |||
[yI] grc | |||
@@ -1390,7 +1403,7 @@ vdiph/y#y [Yy] fi | |||
vdiph/y#y_2 [Yy] af | |||
[eoi] zhy | |||
vdiph/y#y_3 [Y:] nl | |||
vietnam/a [a:] vi | |||
vietnam/a [a:] vi-sgn | |||
vietnam/_c [kh] vi | |||
vietnam/ch [c] vi | |||
vietnam/dd [d] vi | |||
@@ -1422,6 +1435,7 @@ vnasal/i_n [i~] pt | |||
vnasal/i_n2 [i~] hi | |||
vnasal/&_n [a~] hi | |||
vnasal/oi_n [oI~] pt | |||
[O-] vi | |||
vnasal/o_n [o~] hi | |||
[o~] pt | |||
[O~] ht | |||
@@ -1436,7 +1450,6 @@ vnasal/&u_n [O#] vi | |||
vnasal/u_n [U~] hi | |||
[u~] hi | |||
[u~] pt | |||
[u] vi | |||
[u] zh | |||
vnasal/V_n [V~] hi | |||
vnasal/W_n [E~] fr | |||
@@ -1553,8 +1566,11 @@ vowel/0 [0] en | |||
[O] hi | |||
[O] pt | |||
[O] grc | |||
[O] vi-hue | |||
[O] vi-sgn | |||
vowel/0_2 [0] en-n | |||
[O] pt-pt | |||
[O] vi | |||
[o] sw | |||
[O] sl | |||
[o] nso | |||
@@ -1726,6 +1742,7 @@ vowel/a_7 [a] fr | |||
[a] ht | |||
vowel/a_8 [a] en | |||
[a] sk | |||
[a:] vi | |||
[A] da | |||
[?A] da | |||
vowel/aa [a:] et | |||
@@ -1749,7 +1766,6 @@ vowel/aa_3 [A:] af | |||
[A] sq | |||
[A] prs | |||
vowel/aa_4 [A:] sv | |||
[O] vi | |||
vowel/aa_5 [A:] en-n | |||
[A@] en-n | |||
[A:] en-wm | |||
@@ -1883,6 +1899,7 @@ vowel/ee_5 [E] en | |||
[E] ko | |||
vowel/ee_6 [&] sk | |||
[E3] sv | |||
[&] tr | |||
[E] ku | |||
[&] si | |||
[&:] si | |||
@@ -2158,6 +2175,7 @@ vowel/o [o] base2 | |||
[o] pt-pt | |||
[o] grc | |||
[o:] sv | |||
[o] vi | |||
[o] id | |||
[o] hy | |||
[o] rw | |||
@@ -2174,7 +2192,6 @@ vowel/o_2 [o:] cy | |||
[o:] hu | |||
[o:] la | |||
[o:] no | |||
[o] vi | |||
[o] da | |||
[?o] da | |||
vowel/o-_2 [V] en-n | |||
@@ -2184,7 +2201,8 @@ vowel/o_3 [oU] en-sc | |||
vowel/o-_3 [U] en-rp | |||
vowel/o-_4 [o] ro | |||
[o] am | |||
vowel/o_5 [O] da | |||
vowel/o_5 [o] vi-sgn | |||
[O] da | |||
[?O] da | |||
vowel/o_6 [O] nl | |||
[O:] nl | |||
@@ -2335,12 +2353,15 @@ vowel/u_2 [u1] fi | |||
[u] am | |||
[u] wo | |||
vowel/u#_2 [u-] sv | |||
vowel/u_3 [u-] vi | |||
vowel/u#_3 [U] ta | |||
[U:] ta | |||
vowel/u#_4 [U] en-sc | |||
[u:] en-sc | |||
[y] ml | |||
[y] vi-sgn | |||
vowel/u_5 [U1] et | |||
[u] vi | |||
[u] sw | |||
[u] nso | |||
[u] az |
@@ -6,44 +6,44 @@ | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 180 | |||
length 200 | |||
FMT(vowel/a_4) | |||
endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 190 | |||
length 200 | |||
FMT(vowel/e_mid2) | |||
endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 190 | |||
length 200 | |||
FMT(vowel/e_mid2) | |||
endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 170 | |||
length 190 | |||
IfNextVowelAppend(;) | |||
FMT(vowel/i) | |||
endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 190 | |||
length 200 | |||
FMT(vowel/oo) | |||
endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 190 | |||
length 200 | |||
FMT(vowel/oo) | |||
endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 180 | |||
length 200 | |||
FMT(vowel/u_bck2) | |||
endphoneme | |||
@@ -107,11 +107,26 @@ phoneme D | |||
voicingswitch T | |||
CALL base/D | |||
IF nextPh(isPause2) THEN | |||
FMT(voc/dh_) addWav(vocw/dh, 40) // weaker | |||
FMT(voc/dh_) addWav(vocw/dh, 35) // weaker | |||
ENDIF | |||
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 | |||
IF nextPh(isPause2) THEN | |||
WAV(ustop/t_dnt2, 35) | |||
ENDIF | |||
WAV(ustop/t_dnt2, 70) | |||
endphoneme | |||
phoneme s | |||
vls alv frc sibilant | |||
lengthmod 3 |
@@ -2,7 +2,7 @@ | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 150 | |||
length 180 | |||
IF thisPh(isTranslationGiven) THEN | |||
// don't reduce the vowel if phonemes are explicitly given | |||
ELSE | |||
@@ -18,14 +18,14 @@ endphoneme | |||
phoneme I | |||
vowel starttype #i endtype #i | |||
length 150 | |||
length 180 | |||
FMT(vowel/ii_5) | |||
endphoneme | |||
phoneme y | |||
vowel starttype #u endtype #u | |||
length 155 | |||
length 180 | |||
IF thisPh(isTranslationGiven) THEN | |||
// don't reduce the vowel if phonemes are explicitly given | |||
ELSE | |||
@@ -41,7 +41,7 @@ endphoneme | |||
phoneme Y | |||
vowel starttype #u endtype #u | |||
length 155 | |||
length 180 | |||
FMT(vowel/u#) | |||
endphoneme | |||
@@ -49,10 +49,16 @@ endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 180 | |||
length 200 | |||
IF thisPh(isTranslationGiven) THEN | |||
// don't reduce the vowel if phonemes are explicitly given | |||
ELSE | |||
IF nextPh(isWordEnd) OR next2PhW(isNotVowel) THEN | |||
IF nextPh(isRhotic) OR nextPh(isNasal) OR nextPh(l) OR nextPh(L) THEN | |||
ChangePhoneme(&) | |||
ENDIF | |||
ENDIF | |||
IF thisPh(isFinalVowel) THEN | |||
ChangePhoneme(E) | |||
ENDIF | |||
@@ -65,21 +71,27 @@ endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 180 | |||
length 200 | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
phoneme & | |||
vowel starttype #a endtype #a | |||
length 200 | |||
FMT(vowel/ee_6) | |||
endphoneme | |||
phoneme W | |||
vowel starttype #@ endtype #@ | |||
length 180 | |||
length 200 | |||
FMT(vowel/y#) | |||
endphoneme | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 190 | |||
length 200 | |||
FMT(vowel/a#_4) | |||
endphoneme | |||
@@ -87,7 +99,7 @@ endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 150 | |||
length 180 | |||
IF thisPh(isTranslationGiven) THEN | |||
// don't reduce the vowel if phonemes are explicitly given | |||
ELSE | |||
@@ -103,7 +115,7 @@ endphoneme | |||
phoneme U | |||
vowel starttype #u endtype #u | |||
length 150 | |||
length 180 | |||
FMT(vowel/uu_2) | |||
endphoneme | |||
@@ -111,7 +123,7 @@ endphoneme | |||
phoneme @ | |||
vowel starttype #@ endtype #@ | |||
ipa ɯ | |||
length 150 | |||
length 180 | |||
FMT(vowel/u#_7) | |||
endphoneme | |||
@@ -119,7 +131,7 @@ endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 190 | |||
length 200 | |||
IF thisPh(isTranslationGiven) THEN | |||
// don't reduce the vowel if phonemes are explicitly given | |||
ELSE | |||
@@ -135,7 +147,7 @@ endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 190 | |||
length 200 | |||
FMT(vowel/oo) | |||
endphoneme | |||
@@ -179,12 +191,20 @@ phoneme J | |||
endphoneme | |||
phoneme l | |||
import_phoneme en/l | |||
endphoneme | |||
phoneme G | |||
import_phoneme en/r/ | |||
lengthmod 7 | |||
endphoneme | |||
phoneme R | |||
vcd alv flp rhotic | |||
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN | |||
CALL base/* | |||
// ELIF prevPhW(isNotVowel) THEN | |||
// CALL base/R | |||
ELSE | |||
CALL base/r | |||
ENDIF | |||
ipa ɾ | |||
endphoneme |
@@ -18,13 +18,13 @@ endphoneme | |||
phoneme 3 // sắc Tone(rising | |||
stress | |||
Tone(25, 50, envelope/p_rise, NULL) // 25 | |||
Tone(30, 60, envelope/p_rise, NULL) // 25 50 | |||
endphoneme | |||
phoneme 4 // hỏi Tone(curve (dipping rising) | |||
stress | |||
Tone(30, 5, envelope/p_fallrise, NULL) | |||
Tone(40, 5, envelope/p_fallrise, NULL) //30 | |||
endphoneme | |||
@@ -54,33 +54,33 @@ endphoneme | |||
phoneme a | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 140 | |||
FMT(vowel/a_6) //a_4) | |||
endphoneme | |||
phoneme a: | |||
vowel starttype #a endtype #a | |||
length 200 //280 | |||
FMT(vietnam/a) //FMT(vowel/a_6) | |||
length 240 //280 | |||
FMT(vowel/a_8) | |||
endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 200 | |||
length 240 | |||
FMT(vowel/ee_3) | |||
endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 200 | |||
length 140 | |||
FMT(vowel/e) | |||
endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 190 | |||
length 240 | |||
IfNextVowelAppend(;) | |||
IF prevPhW(w) THEN | |||
VowelStart(w/wi) | |||
@@ -100,7 +100,7 @@ phoneme O | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vowel/aa_4) | |||
FMT(vowel/0_2) //aa_4) | |||
endphoneme | |||
phoneme o | |||
@@ -110,7 +110,7 @@ phoneme o | |||
ELSE | |||
length 200 | |||
ENDIF | |||
FMT(vowel/o_2) | |||
FMT(vowel/o) // o_2) | |||
endphoneme | |||
@@ -119,9 +119,9 @@ phoneme u | |||
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound | |||
length 120 | |||
ELSE | |||
length 200 | |||
length 240 | |||
ENDIF | |||
FMT(vnasal/u_n) //vowel/u_7) | |||
FMT(vowel/u_5) | |||
endphoneme | |||
phoneme y | |||
@@ -129,7 +129,7 @@ phoneme y | |||
IF nextPh(kh) OR nextPh(N) THEN | |||
length 120 | |||
ELSE | |||
length 200 | |||
length 180 | |||
ENDIF | |||
FMT(vowel/u#_5) | |||
endphoneme | |||
@@ -138,10 +138,10 @@ endphoneme | |||
phoneme @ | |||
vowel starttype #@ endtype #a | |||
IF nextPh(kh) OR nextPh(N) THEN | |||
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN | |||
length 120 | |||
ELSE | |||
length 170 | |||
length 200 | |||
ENDIF | |||
FMT(vowel/V) //vowel/@_2) | |||
endphoneme | |||
@@ -149,7 +149,7 @@ endphoneme | |||
phoneme @: | |||
vowel starttype #@ endtype #@ | |||
length 280 | |||
length 200 | |||
FMT(vowel/@_2) | |||
endphoneme | |||
@@ -160,8 +160,8 @@ endphoneme | |||
phoneme aI | |||
vowel starttype #a endtype #i | |||
length 200 //250 | |||
FMT(vdiph/&y) | |||
length 140 //250 | |||
FMT(vdiph/&i_2) | |||
endphoneme | |||
@@ -188,14 +188,14 @@ endphoneme | |||
phoneme eI | |||
vowel starttype #e endtype #i | |||
length 200 | |||
length 140 | |||
FMT(vdiph/ei) | |||
endphoneme | |||
phoneme EI | |||
vowel starttype #e endtype #i | |||
length 200 | |||
length 140 | |||
FMT(vdiph/eei) | |||
endphoneme | |||
@@ -203,7 +203,7 @@ endphoneme | |||
phoneme OI | |||
vowel starttype #o endtype #i | |||
length 200 | |||
FMT(vdiph/0i) | |||
FMT(vdiph/ooi_3) | |||
endphoneme | |||
@@ -231,14 +231,14 @@ endphoneme | |||
phoneme aU | |||
vowel starttype #a endtype #u | |||
length 210 | |||
length 200 | |||
FMT(vdiph/aau_4) | |||
endphoneme | |||
phoneme a:U | |||
vowel starttype #a endtype #u | |||
length 230 //270 | |||
length 200 //270 | |||
FMT(vdiph/au) | |||
endphoneme | |||
@@ -258,19 +258,19 @@ endphoneme | |||
phoneme iU | |||
vowel starttype #i endtype #u | |||
length 200 | |||
length 140 | |||
FMT(vdiph2/iu) | |||
endphoneme | |||
phoneme @U | |||
vowel starttype #@ endtype #u | |||
length 200 | |||
length 140 | |||
FMT(vdiph/@u_3) | |||
endphoneme | |||
phoneme @:U | |||
vowel starttype #@ endtype #u | |||
length 270 | |||
length 140 | |||
FMT(vdiph/@u) | |||
endphoneme | |||
@@ -278,19 +278,19 @@ endphoneme | |||
phoneme i@ | |||
vowel starttype #i endtype #@ | |||
length 240 | |||
length 140 | |||
FMT(vdiph2/ii@_3) | |||
endphoneme | |||
phoneme y@ | |||
vowel starttype #i endtype #@ | |||
length 200 | |||
length 140 | |||
FMT(vdiph2/y-y#) | |||
endphoneme | |||
phoneme u@ | |||
vowel starttype #u endtype #@ | |||
length 150 //200 | |||
length 100 //200 | |||
FMT(vdiph2/uu@) | |||
endphoneme | |||
@@ -298,39 +298,67 @@ endphoneme | |||
phoneme o# // ông | |||
vowel starttype #o endtype #o | |||
length 200 | |||
length 140 | |||
FMT(vnasal/a#u_n) | |||
endphoneme | |||
phoneme O# // ong | |||
vowel starttype #o endtype #o | |||
length 200 | |||
length 140 | |||
FMT(vnasal/&u_n) | |||
endphoneme | |||
phoneme o@ | |||
vowel starttype #o endtype #o | |||
length 160 | |||
length 140 | |||
FMT(vdiph2/oa) | |||
endphoneme | |||
phoneme o& | |||
vowel starttype #o endtype #o | |||
length 160 | |||
length 140 | |||
FMT(vietnam/oe) | |||
endphoneme | |||
phoneme iE // iê : viết, giệc | |||
vowel starttype #i endtype #e | |||
length 190 | |||
length 140 | |||
FMT(vietnam/ie_2) | |||
endphoneme | |||
phoneme Oi // oai sound | |||
vowel starttype #o endtype #i | |||
length 140 | |||
FMT(vdiph/ooi_3) | |||
endphoneme | |||
// Vowel and Dipthong for south dialect | |||
phoneme O- // ôi southern sound | |||
vowel starttype #o endtype #i | |||
length 150 | |||
FMT(vnasal/oi_n) | |||
endphoneme | |||
phoneme @- // ơi southern sound | |||
vowel starttype #o endtype #i | |||
length 150 | |||
FMT(vdiph/@i_3) | |||
endphoneme | |||
phoneme u- // u southern sound | |||
vowel starttype #u endtype #u | |||
length 150 | |||
FMT(vowel/u_3,70) | |||
endphoneme | |||
phoneme kh | |||
vls vel frc | |||
lengthmod 3 | |||
Vowelin f1=0 f2=2300 200 400 f3=200 80 | |||
Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30 | |||
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20 | |||
WAV(vietnam/_c,5) //ufric/x, 50) | |||
endphoneme | |||
@@ -338,11 +366,11 @@ endphoneme | |||
phoneme l | |||
liquid | |||
lengthmod 7 | |||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30 | |||
//lengthmod 7 | |||
//IF nextPh(isNotVowel) THEN | |||
// ChangePhoneme(l/2) | |||
//ENDIF | |||
//CALL vowelstart_l | |||
FMT(l/l_vi) | |||
@@ -352,7 +380,7 @@ phoneme t | |||
vls alv stop | |||
//voicingswitch d | |||
lengthmod 2 | |||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 | |||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30 | |||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 | |||
WAV(vietnam/th, 50) | |||
@@ -362,7 +390,7 @@ phoneme cr | |||
vls pla afr sibilant | |||
//voicingswitch dZ | |||
lengthmod 2 | |||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 | |||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=30 | |||
WAV(vietnam/tr,10) | |||
@@ -370,10 +398,10 @@ endphoneme | |||
phoneme d | |||
vcd alv stop | |||
lengthmod 5 | |||
// lengthmod 5 | |||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 | |||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk | |||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=30 | |||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30 | |||
WAV(vietnam/dd) | |||
endphoneme | |||
@@ -381,9 +409,9 @@ WAV(vietnam/dd) | |||
vls pal stop palatal | |||
//voicingswitch J | |||
lengthmod 2 | |||
length 75 | |||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1 | |||
length 2 | |||
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=30 brk | |||
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=30 colr=1 | |||
WAV(vietnam/ch,5) | |||
@@ -402,18 +430,20 @@ endphoneme | |||
phoneme n | |||
vcd alv nasal | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 | |||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk | |||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=30 | |||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=30 | |||
lengthmod 4 | |||
FMT(n/n#_) | |||
length 75 | |||
FMT(n/nr_) | |||
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 | |||
length 5 | |||
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=30 | |||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=30 | |||
IF nextPh(isPause2) THEN | |||
WAV(ustop/t_unasp2, 5) |
@@ -6,31 +6,31 @@ | |||
phoneme 1 // ngang tone: level | |||
stress | |||
Tone(30, 2, envelope/p_level, NULL) // similar Hue dialect tone | |||
Tone(40, 5, envelope/p_level, NULL) // similar Hue dialect tone | |||
endphoneme | |||
phoneme 2 // huyền tone: low falling | |||
stress | |||
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 8 | |||
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 25 | |||
endphoneme | |||
phoneme 3 // sắc Tone(rising | |||
stress | |||
Tone(2, 10, envelope/p_rise, NULL) // 25 50 45 75 | |||
Tone(2, 10, envelope/p_fallrise, NULL) // 2 10 | |||
endphoneme | |||
phoneme 4 // hỏi Tone(curve (dipping rising) | |||
stress | |||
Tone(20, 5, envelope/p_512,NULL) //Tone(55, 5, envelope/p_fallrise, NULL) //30 5 m 55 5 | |||
Tone(5, 10, envelope/p_512,NULL) //20 5 | |||
endphoneme | |||
phoneme 5 // ngã tone: broken (creaking rising) | |||
stress | |||
Tone(50,2, envelope/p_214, envelope/vi_5amp) // 28,58 m20 85 | |||
Tone(10, 15, envelope/p_512, envelope/vi_6amp) // 40 20 | |||
endphoneme | |||
@@ -46,4 +46,41 @@ phoneme 7 // Tone(1 (ngang) at end of clause | |||
Tone(5, 40, envelope/p_level, NULL) //Tone(99, 50, envelope/p_fall, NULL) // 40 20 | |||
endphoneme | |||
// Redefine the length of vowels | |||
phoneme i | |||
CALL vi/i | |||
length 150 | |||
endphoneme | |||
phoneme E | |||
CALL vi/E | |||
length 150 | |||
endphoneme | |||
phoneme a: | |||
CALL vi/a: | |||
length 150 | |||
endphoneme | |||
phoneme @ | |||
CALL vi/@ | |||
length 150 | |||
endphoneme | |||
phoneme @: | |||
CALL vi/@: | |||
length 150 | |||
endphoneme | |||
phoneme O | |||
CALL vi/O | |||
length 150 | |||
FMT(vowel/0) | |||
endphoneme | |||
phoneme Oi | |||
CALL vi/Oi | |||
length 100 | |||
FMT(vdiph/ooi_2) | |||
endphoneme |
@@ -1830,6 +1830,9 @@ include ph_vietnam | |||
phonemetable vi-hue vi | |||
include ph_vietnam_hue | |||
phonemetable vi-sgn vi | |||
include ph_vietnam_sgn | |||
phonemetable zhy base | |||
include ph_zh_yue | |||
@@ -909,7 +909,13 @@ int Unpronouncable(Translator *tr, char *word, int posn) | |||
if(count==0) | |||
c1 = c; | |||
count++; | |||
if((c == '\'') && (tr->langopts.param[LOPT_UNPRONOUNCABLE] == 3)) | |||
{ | |||
// don't count apostrophe | |||
} | |||
else | |||
count++; | |||
if(IsVowel(tr, c)) | |||
{ |
@@ -2272,6 +2272,67 @@ void Test2() | |||
#endif | |||
#define MAX_WALPHA 0x24f | |||
void Make_walpha_tab() | |||
{//=================== | |||
int ix; | |||
int value; | |||
int c; | |||
short exceptions[40]; | |||
int ex = 0; | |||
FILE *f; | |||
f = fopen("/home/jsd1/walpha_tab.txt","w"); | |||
for(ix=0x80; ix<=MAX_WALPHA; ix++) | |||
{ | |||
value = 0; | |||
if(iswalpha(ix)) | |||
{ | |||
value = 0xfe; // no case | |||
if(iswlower(ix)) | |||
{ | |||
value = 0xff; | |||
} | |||
else if(iswupper(ix)) | |||
{ | |||
c = towlower(ix); | |||
if(c > 0) | |||
value = c - ix; | |||
if((value < 0) || (value > 0xfc)) | |||
{ | |||
exceptions[ex] = ix; | |||
exceptions[ex+1] = c; | |||
ex+=2; | |||
value = 0xfd; | |||
} | |||
} | |||
} | |||
if(value > 0xfc) | |||
fprintf(f," 0x%.2x,", value); | |||
else | |||
fprintf(f," %4d,", value); | |||
if((ix % 16) == 15) | |||
{ | |||
fprintf(f," // %.3x\n", ix & 0xfff0); | |||
} | |||
} | |||
fprintf(f, "\nstatic const short wchar_tolower[] = {\n"); | |||
exceptions[ex] = 0; | |||
exceptions[ex+1] = 0; | |||
for(ix=0; ix<=ex; ix+=2) | |||
{ | |||
fprintf(f,"\t0x%.3x, 0x%.3x,\n", exceptions[ix], exceptions[ix+1]); | |||
} | |||
fprintf(f, "};\n"); | |||
fclose(f); | |||
} | |||
const char* text1 = "Hello world. Testing."; | |||
@@ -2319,9 +2380,16 @@ if(control==2) | |||
espeak_SetSynthCallback(TestSynthCallback); | |||
espeak_SetUriCallback(TestUriCallback); | |||
espeak_SetVoiceByName("en"); | |||
voice.languages = "fr"; | |||
espeak_SetVoiceByProperties(&voice); | |||
// espeak_SetVoiceByName("fr"); | |||
espeak_Synth("1", 5, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)user_data); | |||
// voice.languages = "en"; | |||
// espeak_SetVoiceByProperties(&voice); | |||
espeak_SetVoiceByName("de"); | |||
espeak_Synth(textbuf, strlen(textbuf)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)user_data); | |||
// espeak_Synth(text1, strlen(text1)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)(user_data+1)); | |||
// espeak_Synth(text1, strlen(text1)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)(user_data+1)); | |||
espeak_SetParameter(espeakPUNCTUATION, 1, 0); | |||
espeak_Synchronize(); |
@@ -119,7 +119,7 @@ wxMenuBar *MakeMenu(int type, const char *dict_name) | |||
option_menu = new wxMenu; | |||
option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu); | |||
option_menu->Append(MENU_OPT_SPEED, _("Speed...")); | |||
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctiation")); | |||
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctuation")); | |||
option_menu->Append(MENU_OPT_SPELL, _("Speak character names")); | |||
// TOOLS |
@@ -213,50 +213,74 @@ const int param_defaults[N_SPEECH_PARAM] = { | |||
0, // voice type | |||
}; | |||
#ifdef NEED_WCHAR_FUNCTIONS | |||
// additional Latin characters beyond the Latin1 character set | |||
#define MAX_WALPHA 0x233 | |||
// indexed by character - 0x100 | |||
// 0=not alphabetic, 0xff=lower case, 0xfe=special case | |||
// additional Latin characters beyond the ascii character set | |||
#define MAX_WALPHA 0x24f | |||
// indexed by character - 0x80 | |||
// 0=not alphabetic, 0xff=lower case, 0xfe=no case, 0xfd=use wchar_tolower | |||
// other=value to add to upper case to convert to lower case | |||
static unsigned char walpha_tab[MAX_WALPHA-0xff] = { | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 100 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 110 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 120 | |||
0xfe,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1, // 130 | |||
0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, // 140 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 150 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 160 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, // 170 | |||
0xff, 210, 1,0xff, 1,0xff, 206, 1,0xff, 205, 205, 1,0xff,0xff, 79, 202, // 180 | |||
203, 1,0xff, 205, 207,0xff, 211, 209, 1,0xff,0xff,0xff, 211, 213,0xff, 214, // 190 | |||
1,0xff, 1,0xff, 1,0xff, 218, 1,0xff, 218,0xff,0xff, 1,0xff, 218, 1, // 1a0 | |||
0xff, 217, 217, 1,0xff, 1,0xff, 219, 1,0xff,0xff,0xff, 1,0xff,0xff,0xff, // 1b0 | |||
0xff,0xff,0xff,0xff, 2, 1,0xff, 2, 1,0xff, 2, 1,0xff, 1,0xff, 1, // 1c0 | |||
0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, // 1d0 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 1e0 | |||
0xff, 2, 1,0xff, 1,0xff,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 1f0 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 200 | |||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 210 | |||
0xff, 0, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 220 | |||
1,0xff, 1,0xff }; // 230 | |||
static unsigned char walpha_tab[MAX_WALPHA-0x7f] = { | |||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 080 | |||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 090 | |||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xfe, 0, 0, 0, 0, 0, // 0a0 | |||
0, 0, 0, 0, 0, 0xff, 0, 0, 0, 0, 0xfe, 0, 0, 0, 0, 0, // 0b0 | |||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, // 0c0 | |||
32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0xff, // 0d0 | |||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 0e0 | |||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 0f0 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 100 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 110 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 120 | |||
0xfd, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, 1, // 130 | |||
0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, // 140 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 150 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 160 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfd, 1, 0xff, 1, 0xff, 1, 0xff, 0xff, // 170 | |||
0xff, 210, 1, 0xff, 1, 0xff, 206, 1, 0xff, 205, 205, 1, 0xff, 0xfe, 79, 202, // 180 | |||
203, 1, 0xff, 205, 207, 0xff, 211, 209, 1, 0xff, 0xff, 0xfe, 211, 213, 0xff, 214, // 190 | |||
1, 0xff, 1, 0xff, 1, 0xff, 218, 1, 0xff, 218, 0xfe, 0xfe, 1, 0xff, 218, 1, // 1a0 | |||
0xff, 217, 217, 1, 0xff, 1, 0xff, 219, 1, 0xff, 0xfe, 0xfe, 1, 0xff, 0xfe, 0xff, // 1b0 | |||
0xfe, 0xfe, 0xfe, 0xfe, 2, 0xff, 0xff, 2, 0xff, 0xff, 2, 0xff, 0xff, 1, 0xff, 1, // 1c0 | |||
0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xff, 1, 0xff, // 1d0 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 1e0 | |||
0xfe, 2, 0xff, 0xff, 1, 0xff, 0xfd, 0xfd, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 1f0 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 200 | |||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 210 | |||
0xfd, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 220 | |||
1, 0xff, 1, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 1, 0xff, 0xfd, 0xfd, 0xfe, // 230 | |||
0xfe, 1, 0xff, 0xfd, 69, 71, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff}; // 240 | |||
static const short wchar_tolower[] = { | |||
0x130, 0x069, | |||
0x178, 0x0ff, | |||
0x1f6, 0x195, | |||
0x1f7, 0x1bf, | |||
0x220, 0x19e, | |||
0x23a, 0x2c65, | |||
0x23d, 0x19a, | |||
0x23e, 0x2c66, | |||
0x243, 0x180, | |||
0x000, 0x000, | |||
}; | |||
#ifdef NEED_WCHAR_FUNCTIONS | |||
// use ctype.h functions for Latin1 (character < 0x100) | |||
int iswalpha(int c) | |||
{ | |||
if(c < 0x100) | |||
if(c < 0x80) | |||
return(isalpha(c)); | |||
if((c > 0x3040) && (c <= 0xa700)) | |||
return(1); // japanese, chinese characters | |||
if(c > MAX_WALPHA) | |||
return(0); | |||
return(walpha_tab[c-0x100]); | |||
return(walpha_tab[c-0x80]); | |||
} | |||
int iswdigit(int c) | |||
{ | |||
if(c < 0x100) | |||
if(c < 0x80) | |||
return(isdigit(c)); | |||
return(0); | |||
} | |||
@@ -271,50 +295,63 @@ int iswalnum(int c) | |||
int towlower(int c) | |||
{ | |||
int x; | |||
if(c < 0x100) | |||
int ix; | |||
if(c < 0x80) | |||
return(tolower(c)); | |||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x100])==0xff)) | |||
return(c); // already lower case | |||
if(x == 0xfe) | |||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x80]) >= 0xfe)) | |||
return(c); | |||
if(x == 0xfd) | |||
{ | |||
// special cases | |||
if(c == 0x130) // uppercase i-dot | |||
return('i'); | |||
// special cases, lookup translation table | |||
for(ix=0; wchar_tolower[ix] != 0; ix+=2) | |||
{ | |||
if(wchar_tolower[ix] == c) | |||
return(wchar_tolower[ix+1]); | |||
} | |||
} | |||
return(c + x); // convert to lower case | |||
} | |||
int towupper(int c) | |||
{ | |||
// check whether the previous character code is the upper-case equivalent of this character | |||
if(tolower(c-1) == c) | |||
return(c-1); // yes, use it | |||
// check whether a previous character code is the upper-case equivalent of this character | |||
if(towlower(c-32) == c) | |||
return(c-32); // yes, use it | |||
if(towlower(c-1) == c) | |||
return(c-1); | |||
if(towlower(c-2) == c) | |||
return(c-2); | |||
return(c); // no | |||
} | |||
int iswupper(int c) | |||
{ | |||
int x; | |||
if(c < 0x100) | |||
if(c < 0x80) | |||
return(isupper(c)); | |||
if(((c > MAX_WALPHA) || (x = walpha_tab[c-0x100])==0) || (x == 0xff)) | |||
if(((c > MAX_WALPHA) || (x = walpha_tab[c-0x80])==0) || (x == 0xff)) | |||
return(0); | |||
return(1); | |||
} | |||
int iswlower(int c) | |||
{ | |||
if(c < 0x100) | |||
if(c < 0x80) | |||
return(islower(c)); | |||
if((c > MAX_WALPHA) || (walpha_tab[c-0x100] != 0xff)) | |||
if((c > MAX_WALPHA) || (walpha_tab[c-0x80] != 0xff)) | |||
return(0); | |||
return(1); | |||
} | |||
int iswspace(int c) | |||
{ | |||
if(c < 0x100) | |||
if(c < 0x80) | |||
return(isspace(c)); | |||
if(c == 0xa0) | |||
return(1); | |||
return(0); | |||
} | |||
@@ -366,8 +403,26 @@ float wcstod(const wchar_t *str, wchar_t **tailptr) | |||
} | |||
#endif | |||
// use internal data for iswalpha up to U+024F | |||
// iswalpha() on Windows is unreliable (U+AA, U+BA). | |||
int iswalpha2(int c) | |||
{ | |||
if(c < 0x80) | |||
return(isalpha(c)); | |||
if((c > 0x3040) && (c <= 0xa700)) | |||
return(1); // japanese, chinese characters | |||
if(c > MAX_WALPHA) | |||
return(iswalpha(c)); | |||
return(walpha_tab[c-0x80]); | |||
} | |||
int towlower2(unsigned int c) | |||
{ | |||
int x; | |||
int ix; | |||
// check for non-standard upper to lower case conversions | |||
if(c == 'I') | |||
{ | |||
@@ -376,11 +431,26 @@ int towlower2(unsigned int c) | |||
c = 0x131; // I -> ı | |||
} | |||
} | |||
#ifdef __WIN32__ | |||
if(c == 0x130) // uppercase i-dot | |||
return('i'); | |||
#endif | |||
return(towlower(c)); | |||
if(c < 0x80) | |||
return(tolower(c)); | |||
if(c > MAX_WALPHA) | |||
return(towlower(c)); | |||
if((x = walpha_tab[c-0x80]) >= 0xfe) | |||
return(c); // this is not an upper case letter | |||
if(x == 0xfd) | |||
{ | |||
// special cases, lookup translation table | |||
for(ix=0; wchar_tolower[ix] != 0; ix+=2) | |||
{ | |||
if(wchar_tolower[ix] == (int)c) | |||
return(wchar_tolower[ix+1]); | |||
} | |||
} | |||
return(c + x); // convert to lower case | |||
} | |||
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.47.06 15.Apr.13"; | |||
const char *version_string = "1.47.07a 23.Apr.13"; | |||
const int version_phdata = 0x014701; | |||
int option_device_number = -1; |
@@ -844,6 +844,7 @@ Translator *SelectTranslator(const char *name) | |||
tr->langopts.stress_rule = STRESSPOSN_1L; | |||
tr->langopts.numbers = 1; | |||
tr->langopts.accents = 2; // 'capital' after letter name | |||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 3; // don't count apostrophe | |||
} | |||
break; | |||
@@ -384,9 +384,12 @@ int IsAlpha(unsigned int c) | |||
0 | |||
}; | |||
if(iswalpha(c)) | |||
if(iswalpha2(c)) | |||
return(1); | |||
if(c < 0x300) | |||
return(0); | |||
if((c >= 0x901) && (c <= 0xdf7)) | |||
{ | |||
// Indic scripts: Devanagari, Tamil, etc | |||
@@ -2957,7 +2960,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
if(UpperCaseInWord(tr, &sbuf[ix], c) == 1) | |||
{ | |||
// convert to lower case and continue | |||
c = towlower(c); | |||
c = towlower2(c); | |||
} | |||
else | |||
{ |
@@ -713,6 +713,7 @@ int IsDigit(unsigned int c); | |||
int IsDigit09(unsigned int c); | |||
int IsAlpha(unsigned int c); | |||
int IsVowel(Translator *tr, int c); | |||
int iswalpha2(int c); | |||
int isspace2(unsigned int c); | |||
int towlower2(unsigned int c); | |||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa); |
@@ -601,7 +601,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 = | |||
"bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue zh zh-yue "; | |||
"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 "; | |||
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 "; | |||