mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.46.40]
Command line option --ipa can have option to include Tie or ZWJ characters to disabmiguate multi-letter phoneme names. Recognize and ignore UTF8-BOM byte sequence at the start of phoneme definition files. Languages changes: ta, nl, pt. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@306 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -620,6 +620,7 @@ ablaut ablaUt
|
||||
aborigine ab@r'IdZ@ni
|
||||
abracadabra abr@k@d'abr@
|
||||
absence abs@ns
|
||||
absent $1
|
||||
absent abs'Ent $verb
|
||||
absentia abs'Ent2i:@
|
||||
absinthe absInT
|
||||
@@ -902,6 +903,7 @@ bias baI@s
|
||||
biased baI@st
|
||||
bible baIb@L
|
||||
bidet bi:deI
|
||||
bigot bIg@t // -ed
|
||||
bijou bi:Zu:
|
||||
bikini bIk'i:ni
|
||||
binman bInman
|
||||
@@ -1606,6 +1608,7 @@ gourmet gU@meI
|
||||
graduate gradju:@t
|
||||
graduate gradju:eIt $verb
|
||||
graffiti $alt3
|
||||
grandson gr'andsVn
|
||||
gredient gri:di@nt // ingredient
|
||||
grenade gr@neId
|
||||
griffon grIf@n
|
||||
|
||||
+4
-2
@@ -4082,6 +4082,7 @@
|
||||
m) otor oUt3
|
||||
n) o (tor oU
|
||||
otro (py '0tr@
|
||||
&) o (try @
|
||||
c) otyle 0tIl'i:
|
||||
m) o (x @
|
||||
o (x++ 0
|
||||
@@ -4192,7 +4193,6 @@
|
||||
?3 ag) on (_ 0n
|
||||
rg) on (_ @n
|
||||
&s) on (_ @n
|
||||
ds) on (_ Vn
|
||||
&t) on (_ @n
|
||||
&tr) on (_ 0n
|
||||
fl) on (_ 0n
|
||||
@@ -4209,7 +4209,9 @@
|
||||
pers) on @n
|
||||
pers) on (i '0n
|
||||
postp) on 'oUn
|
||||
_sp) on 0n
|
||||
on (ald 0n
|
||||
&) on (age_ @n
|
||||
d) on (at %oUn
|
||||
on (an_ oUn
|
||||
_) on (io Vn
|
||||
@@ -4585,7 +4587,7 @@
|
||||
?3 h) ov (er Vv
|
||||
l) ov Vv
|
||||
l) ov (e Vv
|
||||
_l) ove Vv
|
||||
_l) ove (@ Vv
|
||||
cl) ov (e oUv
|
||||
_sl) ov (enA oUv
|
||||
pl) ov oUv
|
||||
|
||||
@@ -244,6 +244,7 @@
|
||||
@) ent (st_ 'Ent
|
||||
@) ent (ste_ 'Ent
|
||||
ag) ent 'Ent
|
||||
X) es (_ Es
|
||||
@j) es (_S1 s
|
||||
@z) es (_S1 s
|
||||
@) es (_S2qd 'Es // double the previous vowel
|
||||
@@ -323,6 +324,7 @@
|
||||
_) ge (@P2 Q@
|
||||
ge (bied Q@
|
||||
_) gee Qe:
|
||||
_) gei QEI
|
||||
gener (aal Q,e:n@r
|
||||
_) gelijk Q@lEIk
|
||||
_) ge (rC QE
|
||||
@@ -630,6 +632,7 @@ _) inn (@P2 'I // ?? inneren
|
||||
@) s (_S1 s
|
||||
@) s (_$w_alt =s
|
||||
|
||||
_) samen(@P5 s'a:m@n
|
||||
sc (oop sk
|
||||
sc (opi sk
|
||||
&) sel (_ =s@l
|
||||
|
||||
+21
-44
@@ -757,12 +757,10 @@ der $alt
|
||||
derdes $alt
|
||||
desapego $alt2 $noun
|
||||
descabelo $alt
|
||||
desce $alt
|
||||
descem $alt
|
||||
descordo $alt
|
||||
desespero $alt2 $noun
|
||||
desfecho $alt2
|
||||
desprezo $alt $verb
|
||||
desprezo $alt2 $noun
|
||||
deveras $alt
|
||||
dez $alt
|
||||
diarreia $alt
|
||||
@@ -781,10 +779,17 @@ encosto $alt $verb
|
||||
endereço $alt2
|
||||
endereço $alt $verb
|
||||
enforco $alt
|
||||
enforque $alt
|
||||
enforquem $alt
|
||||
engordo $alt
|
||||
enumerem $alt
|
||||
ensopa $alt
|
||||
ensopam $alt
|
||||
ensope $alt
|
||||
ensopem $alt
|
||||
ensopo $alt
|
||||
enredo $alt $verb
|
||||
enterro $alt2 $noun
|
||||
enumerem $alt
|
||||
envelope $alt
|
||||
envolto $alt2
|
||||
enxerto $alt2 $noun
|
||||
@@ -818,8 +823,6 @@ estorvo $alt $verb
|
||||
etiqueta $alt2
|
||||
europa $alt
|
||||
exagero $alt $verb
|
||||
expeça $alt2
|
||||
expeço $alt2
|
||||
explore $alt
|
||||
faceta $alt2
|
||||
farelo $alt
|
||||
@@ -833,14 +836,15 @@ fezes $alt
|
||||
fizerdes $alt
|
||||
fizermos $alt
|
||||
foda $alt2 $verb
|
||||
folheto $alt2
|
||||
folga $alt
|
||||
fogos $alt
|
||||
foguete $alt2
|
||||
foice $alt2
|
||||
forca $alt2
|
||||
força $alt2 $noun
|
||||
forço $alt
|
||||
forças $alt2
|
||||
forço $alt
|
||||
fordes $alt2
|
||||
fores $alt2
|
||||
forro $alt $verb
|
||||
@@ -882,10 +886,9 @@ joguem $alt
|
||||
joguete $alt2
|
||||
lambreta $alt2
|
||||
lebre $alt
|
||||
lerda $alt
|
||||
lerdo $alt
|
||||
líderes $alt2
|
||||
lopes $alt
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
mantiverdes $alt
|
||||
mantiveres $alt
|
||||
@@ -894,6 +897,8 @@ marcelo $alt
|
||||
marmelo $alt
|
||||
marreta $alt2
|
||||
martelo $alt
|
||||
melhor $alt
|
||||
menor $alt
|
||||
merda $alt
|
||||
megera $alt
|
||||
melo $alt
|
||||
@@ -917,8 +922,7 @@ morda $alt2
|
||||
moreia $alt
|
||||
mortos $alt
|
||||
motora $alt2
|
||||
?2 mulher mulj'Er
|
||||
?4 mulher mul^'Er
|
||||
mulher $alt
|
||||
mui mwi
|
||||
muito mw'iNtU // -s is included as a suffix
|
||||
muita mw'iNt&
|
||||
@@ -931,8 +935,6 @@ naquele $alt2 $nounf
|
||||
nervo $alt2
|
||||
novos $alt
|
||||
obstetra $alt
|
||||
obsoleta $alt2
|
||||
obsoleto $alt2
|
||||
obtivera $alt
|
||||
obtivermos $alt
|
||||
odisseia $alt
|
||||
@@ -948,6 +950,7 @@ pachorra $alt2
|
||||
paexa paeSa
|
||||
palacete $alt2
|
||||
palheta $alt2
|
||||
panfleto $alt2
|
||||
pangeia $alt
|
||||
pantera $alt
|
||||
paralelo $alt
|
||||
@@ -956,15 +959,12 @@ pastora $alt2
|
||||
pedra $alt
|
||||
pelego $alt2
|
||||
pelo $alt $verb
|
||||
perde $alt
|
||||
perdem $alt
|
||||
pesa $alt
|
||||
pesam $alt
|
||||
pesque $alt
|
||||
pesquem $alt
|
||||
peso $alt $verb
|
||||
piloto $alt2 $noun
|
||||
pintora $alt2
|
||||
pior $alt
|
||||
pirueta $alt2
|
||||
plateia $alt
|
||||
plebeia $alt
|
||||
@@ -976,8 +976,7 @@ portos $alt
|
||||
pose $alt2
|
||||
povos $alt
|
||||
poxa p'oS&
|
||||
preta $alt2
|
||||
preto $alt2
|
||||
preço $alt2
|
||||
primavera $alt
|
||||
provo $alt
|
||||
puder $alt
|
||||
@@ -985,6 +984,7 @@ puderdes $alt
|
||||
pudermos $alt
|
||||
puserdes $alt
|
||||
quarteto $alt2
|
||||
queda $alt
|
||||
quinteto $alt2
|
||||
quiserdes $alt
|
||||
quisermos $alt
|
||||
@@ -1018,8 +1018,6 @@ rosno $alt
|
||||
rumores $alt2
|
||||
saleta $alt2
|
||||
sarjeta $alt
|
||||
severa $alt
|
||||
severo $alt
|
||||
seborreia $alt
|
||||
seca $alt2 $noun
|
||||
secas $alt2
|
||||
@@ -1030,11 +1028,9 @@ selvagem seUv'aZeIN
|
||||
sexteto $alt2
|
||||
?1 senhora $alt2
|
||||
senhores $alt2
|
||||
sincera $alt
|
||||
sincero $alt
|
||||
sinopse $alt
|
||||
sobe $alt
|
||||
sobem $alt
|
||||
sobem $alt
|
||||
soco $alt2
|
||||
soco $alt $verb
|
||||
sofrem $alt
|
||||
@@ -1042,7 +1038,7 @@ sofre $alt
|
||||
sofreste $alt2
|
||||
sogra $alt
|
||||
sopre $alt
|
||||
soprem $alt
|
||||
soprem $alt
|
||||
sopro $alt $verb
|
||||
soro $alt2
|
||||
sorvete $alt2
|
||||
@@ -1052,8 +1048,6 @@ soubermos $alt
|
||||
suborno $alt $verb
|
||||
sufoco $alt2 $noun
|
||||
sufocos $alt2
|
||||
sugere $alt
|
||||
sugerem $alt
|
||||
suporto $alt
|
||||
suor swOr
|
||||
tapete $alt2
|
||||
@@ -1098,8 +1092,6 @@ zero $alt
|
||||
zorra $alt2
|
||||
|
||||
|
||||
|
||||
|
||||
// foreign words
|
||||
?1 alt 'alt
|
||||
?2 agosto &g'ostU
|
||||
@@ -1144,7 +1136,6 @@ zorra $alt2
|
||||
?1 install ,inst'al
|
||||
?2 internet iNtern'Et
|
||||
?2 Intranet iNtRan'Et
|
||||
?2 inveja iNv'EZ&
|
||||
?1 kernel k'Ern,El
|
||||
?2 kernel k'Ern@l
|
||||
?1 line l'ain
|
||||
@@ -1153,16 +1144,6 @@ zorra $alt2
|
||||
?1 lock l'Ok
|
||||
mail m'eIl
|
||||
mails m'eIls
|
||||
?1 maior m,&j'Or-
|
||||
?2 maior maI'Or
|
||||
?2 maiores maI'O*is
|
||||
?1 menor myn'Or-
|
||||
?2 menor men'Or
|
||||
?2 menores men'O*is
|
||||
?2 melhor melj'Or
|
||||
?2 melhores melj'O*is
|
||||
?4 melhor mel^'Or
|
||||
?4 melhores mel^'O*is
|
||||
?2 mouse m'aUzi
|
||||
?1 menu menu
|
||||
?1 next n'Ekst
|
||||
@@ -1173,11 +1154,7 @@ zorra $alt2
|
||||
?1 ovo 'ovu
|
||||
?1 pause p'au:z
|
||||
page p'eIdZ
|
||||
?2 pior pi'Or
|
||||
?2 piores pi'O*is
|
||||
preço $alt2
|
||||
python p'aIT&~N
|
||||
queda $alt
|
||||
?1 readme r'i:dmi:
|
||||
?1 sapi s,ap'i
|
||||
?1 scanner sk'En&r
|
||||
|
||||
+52
-40
@@ -304,7 +304,7 @@
|
||||
?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas.
|
||||
?1 e (la_ 'E // eg: cadela, janela, vela, etc...
|
||||
?1 C) e (cC ,E // eg: seleccionar, efectuar, etc...
|
||||
?1 C) ecç 'Es // eg: selecção, etc...
|
||||
?1 C) ecç 'Es // eg: selecção, etc...
|
||||
?1 C) e (ã i // leão, panteão, etc.
|
||||
?1 C) e (a i // oceano, etc.
|
||||
?1 C) e (o 'i // eg: geologia, etc...
|
||||
@@ -345,69 +345,69 @@
|
||||
sf) e (ra_ E // esfera, biosfera
|
||||
|
||||
//sort
|
||||
_com) e (L05_ e
|
||||
fiz) e (L05_ E
|
||||
tiv) e (L05_ E // es-
|
||||
_com) e (L05_ e
|
||||
_coub) e (L05_ E
|
||||
_exag) e (L05_ E
|
||||
_houv) e (L05_ E
|
||||
_perd) e (L05_ e
|
||||
_soub) e (L05_ E
|
||||
tiv) e (L05_ E // es-
|
||||
_rend) e (L06_ e
|
||||
_vend) e (L06_ e
|
||||
_atend) e (L06_ e
|
||||
_compreend) e (L06_ e
|
||||
_entend) e (L06_ e
|
||||
_estend) e (L06_ e
|
||||
_rend) e (L06_ e
|
||||
_vend) e (L06_ e
|
||||
respond) e (L06_ e // cor-
|
||||
bat) e (L07_ e // re- com-
|
||||
ced) e (L07_ e // pro- con- su-
|
||||
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
||||
viv) e (L07_ e // re-
|
||||
_beb) e (L07_ e
|
||||
_com) e (L07_ e
|
||||
_tem) e (L07_ e
|
||||
colh) e (L07_ e // & es-
|
||||
corr) e (L07_ e // per- con- in- so- dis-
|
||||
torc) e (L07_ e // con-
|
||||
venc) e (L07_ e // con-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
_eleg) e (L07_ e
|
||||
_ergu) e (L07_ e
|
||||
_mord) e (L07_ e
|
||||
_morr) e (L07_ e
|
||||
_perd) e (L07_ e
|
||||
_sofr) e (L07_ e
|
||||
merec) e (L07_ e // des-
|
||||
padec) e (L07_ e // com-
|
||||
parec) e (L07_ e // a- rea- com- desa-
|
||||
_aborrec) e (L07_ e
|
||||
_rejuvenec) e (L07_ e
|
||||
_adoec) e (L07_ e
|
||||
_adormec) e (L07_ e
|
||||
_amanhec) e (L07_ e
|
||||
_anoitec) e (L07_ e
|
||||
_arrepend) e (L07_ e
|
||||
_beb) e (L07_ e
|
||||
_com) e (L07_ e
|
||||
_defend) e (L07_ e
|
||||
_depend) e (L07_ e
|
||||
_eleg) e (L07_ e
|
||||
_enlouquec) e (L07_ e
|
||||
_entristec) e (L07_ e
|
||||
_envaidec) e (L07_ e
|
||||
_envelhec) e (L07_ e
|
||||
_ergu) e (L07_ e
|
||||
_esclarec) e (L07_ e
|
||||
_escond) e (L07_ e
|
||||
_escurec) e (L07_ e
|
||||
_esquec) e (L07_ e
|
||||
_interromp) e (L07_ e
|
||||
_mord) e (L07_ e
|
||||
_morr) e (L07_ e
|
||||
_obedec) e (L07_ e
|
||||
_perd) e (L07_ e
|
||||
_sofr) e (L07_ e
|
||||
_tem) e (L07_ e
|
||||
_perec) e (L07_ e
|
||||
_rejuvenec) e (L07_ e
|
||||
aprend) e (L07_ e // re-
|
||||
bat) e (L07_ e // re- com-
|
||||
ced) e (L07_ e // pro- con- su-
|
||||
colh) e (L07_ e // & es-
|
||||
conhec) e (L07_ e // & re- des-
|
||||
corr) e (L07_ e // per- con- in- so- dis-
|
||||
entend) e (L07_ e
|
||||
merec) e (L07_ e // des-
|
||||
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
||||
padec) e (L07_ e // com-
|
||||
parec) e (L07_ e // a- rea- com- desa-
|
||||
preend) e (L07_ e // sur- com-
|
||||
_perec) e (L07_ e
|
||||
respond) e (L07_ e // cor-
|
||||
torc) e (L07_ e // con-
|
||||
venc) e (L07_ e // con-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
viv) e (L07_ e // re-
|
||||
qu) e (brL04_ E
|
||||
_hosp) e (dL03_ E
|
||||
_d) e (vL03_ e
|
||||
_gr) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
_estr) ei (L03_ EI
|
||||
@@ -416,57 +416,67 @@ respond) e (L07_ e // cor-
|
||||
_s) e (quL02_ E
|
||||
_p) e (quL02_ E
|
||||
l) e (que_ E
|
||||
_sug) e (rL02_ E
|
||||
_imp) e (rL03_ E
|
||||
_sev) e (rL03_ E
|
||||
_reit) e (rL03_ E
|
||||
_sinc) e (rL03_ E
|
||||
_g) e (rL04_ E
|
||||
_op) e (rL04_ E
|
||||
_qu) e (rL04_ E
|
||||
_alt) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
_ven) e (rL04_ E
|
||||
_coop) e (rL04_ E
|
||||
_temp) e (rL04_ E
|
||||
_ven) e (rL04_ E
|
||||
_v) e (rbL03_ E
|
||||
_p) e (rdL02_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_) e (rguL02_ E
|
||||
_alb) e (rguL02_ E
|
||||
_enx) e (rguL02_ E
|
||||
_bez) e (rrL03_ e
|
||||
_rejuven) e (çL03_ e
|
||||
_inv) e (rtL03_ e
|
||||
_f) e (rvL03_ e
|
||||
_p) e (sL01_ E
|
||||
_d) e (scL02_ E
|
||||
_p) e (scL03_ E
|
||||
_m) e (sclL04 E
|
||||
_l) e (ssL02_ e
|
||||
_esp) e (ssL03_ e
|
||||
_m) e (tL03_ e
|
||||
_com) e (tL03_ e
|
||||
_rem) e (tL03_ e
|
||||
prom) e (tL03_ e // com-
|
||||
_derr) e (tL03_ e
|
||||
_rem) e (tL03_ e
|
||||
_obsol) e (tL03_ e
|
||||
_pr) e (tL03_ e
|
||||
_sol) e (trL03_ E
|
||||
_pen) e (trL04_ E
|
||||
_atr) e (vL03_ e
|
||||
scr) e (vL03_ e // e- in- pre- ree- de-
|
||||
_pr) e (zL04_ E
|
||||
_d) e (vL03_ e
|
||||
_atr) e (vL03_ e
|
||||
_embel) e (zL04_ E
|
||||
pr) e (zL04_ E / des- menos-
|
||||
_acont) e (çL01_ e
|
||||
_arref) e (çL01_ e
|
||||
par) e (çL03_ e // a- re- com- rea- desa-
|
||||
_ado) e (çL03_ e
|
||||
_aqu) e (çL03_ e
|
||||
_car) e (çL03_ e
|
||||
_estrem) e (çL03_ e
|
||||
_mer) e (çL03_ e
|
||||
_pad) e (çL03_ e // com-
|
||||
_per) e (çL03_ e
|
||||
par) e (çL03_ e // a- re- com- rea- desa-
|
||||
_rejuven) e (çL03_ e
|
||||
conh) e (çL03_ e // re-
|
||||
_esqu) e (çL03_ e
|
||||
_forn) e (çL03_ e
|
||||
_obed) e (çL03_ e
|
||||
_ofer) e (çL03_ e
|
||||
abast) e (çL03_ e // re-
|
||||
_aborr) e (çL03_ e
|
||||
_fortal) e (çL03_ e
|
||||
_ado) e (çL03_ e
|
||||
_amanh) e (çL03_ e
|
||||
_anoit) e (çL03_ e
|
||||
_enfraqu) e (çL03_ e
|
||||
@@ -476,8 +486,8 @@ _entrist) e (çL03_ e
|
||||
_envaid) e (çL03_ e
|
||||
_envelh) e (çL03_ e
|
||||
_esclar) e (çL03_ e
|
||||
_forn) e (çL03_ e
|
||||
conh) e (çL03_ e // re-
|
||||
_estrem) e (çL03_ e
|
||||
_fortal) e (çL03_ e
|
||||
//endsort
|
||||
|
||||
|
||||
@@ -787,6 +797,8 @@ _desenv) o (lvL02_ O
|
||||
_m) o (rrL01_ o
|
||||
_c) o (spL02_ O
|
||||
p) ostos (_ Ost=Us# // dispostos etc.
|
||||
_s) o (bL02_ O
|
||||
_s) o (prL02_ O
|
||||
//endsort
|
||||
|
||||
.group ô
|
||||
|
||||
+3
-1
@@ -379,6 +379,7 @@ tamil தமிழ் $text
|
||||
பாதிக்கக் $alt
|
||||
புசு $alt
|
||||
புஸு $alt
|
||||
பாதிக்காம $alt
|
||||
|
||||
|
||||
// initial த as [d]
|
||||
@@ -398,7 +399,6 @@ tamil தமிழ் $text
|
||||
தைவதம் $alt
|
||||
தாட்சண்யம் $alt
|
||||
தனம் $alt
|
||||
திக்கற்ற $alt
|
||||
தானு $alt
|
||||
திட $alt
|
||||
தோ $alt
|
||||
@@ -446,6 +446,8 @@ tamil தமிழ் $text
|
||||
தம்ம $alt
|
||||
தாயம் $alt
|
||||
திமு $alt
|
||||
தாவா $alt
|
||||
|
||||
|
||||
// initial ட
|
||||
டார்ச் t.a:rtS
|
||||
|
||||
+143
-4
@@ -1,6 +1,6 @@
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2009 to 2012 by Jonathan Duddington *
|
||||
* Copyright (C) 2009 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -168,6 +168,7 @@
|
||||
_) க (ங்கூலி gV
|
||||
_) க (ங்கை gV
|
||||
_) க (ங்கோத gV
|
||||
_) கஜ (க்ஸ்தான kVzV
|
||||
_) க (ஞ்சா gV
|
||||
_) க (டகட gV
|
||||
_) க (டத்தில gV
|
||||
@@ -224,6 +225,7 @@
|
||||
_) க (லீர gV
|
||||
_) க (லீல gV
|
||||
_) க (லீஷிய gV
|
||||
_) கல்த (ா gVlt
|
||||
_) க (ளுக் gV
|
||||
_) க (வண gV
|
||||
_) க (வன gV
|
||||
@@ -329,6 +331,7 @@
|
||||
_) கி (ளாL04ி k
|
||||
_) கி (ளாL04ு k
|
||||
_) கி (ளாL04ை k
|
||||
_) கி (ளாமர g
|
||||
_) கி (ளாஸ்_ g
|
||||
_) கி (ளாஸ்_மேட k
|
||||
_) கிளிக் (_L29 kl.ik
|
||||
@@ -351,6 +354,7 @@
|
||||
_) க (ுகநாத g
|
||||
_) க (ுகன g
|
||||
_) க (ுகராஜ g
|
||||
_) க (ுகா g
|
||||
_) க (ுகை g
|
||||
_மன்மதக்) க (ுகை g
|
||||
_) க (ுஜராத g
|
||||
@@ -378,10 +382,13 @@ _மன்மதக்) க (ுகை g
|
||||
_) க (ுண்டத் k
|
||||
_) க (ுண்டம k
|
||||
_) க (ுண்டல k
|
||||
_) க (ுண்டாக்கள k
|
||||
_) குண்டாந்த (டி gun.d.a:ntV
|
||||
_) க (ுண்டானில k
|
||||
_) க (ுண்டானை k
|
||||
_) க (ுண்டான் k
|
||||
_) க (ுண்டாவி k
|
||||
_) க (ுண்டாவை k
|
||||
_) க (ுண்டி k
|
||||
_) க (ுண்டின g
|
||||
_) குண்ட (ூர gun.t.V#
|
||||
@@ -393,6 +400,7 @@ _மன்மதக்) க (ுகை g
|
||||
_) க (ுபீர g
|
||||
_) க (ுபுகுபு g
|
||||
_) க (ுபுக் g
|
||||
_) க (ுபேர g
|
||||
_) குப் (த gup
|
||||
_) க (ுப்புன g
|
||||
_) க (ுப்பென்ற g
|
||||
@@ -425,10 +433,12 @@ _மன்மதக்) க (ுகை g
|
||||
_) க (ுருமூர்த்தி g
|
||||
_) க (ுருரா g
|
||||
_) க (ுருவடி g
|
||||
_) க (ுருவருள g
|
||||
_) க (ுருவா g
|
||||
_) க (ுருவாய g
|
||||
_) க (ுருவிட g
|
||||
_) க (ுருவின g
|
||||
_) க (ுருவிற்க g
|
||||
_) க (ுருவு g
|
||||
_) க (ுருவுடை g
|
||||
_) க (ுருவை g
|
||||
@@ -520,6 +530,7 @@ _மன்மதக்) க (ுகை g
|
||||
_) க (ோர_முடிய k
|
||||
_) க (ோர_வேண்ட k
|
||||
_) க (ோரக g
|
||||
_) க (ோரக்கூட k
|
||||
_) க (ோரத்_தாண்ட g
|
||||
_) க (ோரத்தால g
|
||||
_) க (ோரத்தை g
|
||||
@@ -553,6 +564,7 @@ _மன்மதக்) க (ுகை g
|
||||
_) க் (ரீன g
|
||||
_) க் (ரூப g
|
||||
_) க் (ரௌண்ட g
|
||||
_) க் (ளாமர g
|
||||
_) க் (ளாஸ்_ g
|
||||
_) க்வ (A kw
|
||||
_) க் (வாலியர g
|
||||
@@ -704,6 +716,8 @@ _தொன்ம) க (ால k
|
||||
தென்) க (ிழ k
|
||||
_பா) க (ிஸ்தான k
|
||||
அப) க (ீர்த்தி k
|
||||
க (ீழே_ k
|
||||
க (ீழ்_ k
|
||||
_பல்) க (ு k
|
||||
மலைக்) க (ுகை g
|
||||
_பால்) க (ுட k
|
||||
@@ -767,6 +781,7 @@ _நினைவு) க (ூர k
|
||||
ம) க (ேசுவர H // need to restrict to _ம) and _வீரம) ??
|
||||
சீர்) க (ேட k
|
||||
_லொ) கேட ke:t.V#
|
||||
_நசி) க (ேத k
|
||||
ம) க (ேந்திர H
|
||||
_ரா) க (ேஷ k
|
||||
_மு) க (ேஷ k
|
||||
@@ -842,6 +857,7 @@ _கர்ப்ப) க்கி (ர gg
|
||||
_வி) க்க (ிரக gg
|
||||
சத்தியா) க்கி (ரக gg
|
||||
L03) க்கி (ரஹ gg // a,i
|
||||
_சத்தியா) க்கி (ரஹ gg
|
||||
கு) க்கி (ராம gg
|
||||
அ) க்கி (ராம gg
|
||||
இ) க்கி (ராம gg
|
||||
@@ -925,9 +941,12 @@ _துப்பாக்கி) க்க (ுண்ட gg
|
||||
|
||||
//sort
|
||||
_ராஞ்) ச tSV#
|
||||
எபிL09ே) ச zV#
|
||||
ராகவா) ச )(ாரி tS
|
||||
_ப) சக் tSVk
|
||||
_) ச (க்கரவர்த்தி tSV
|
||||
_) ச (க்கிலி tSV
|
||||
_க) ச (க்ஸ்தான zV
|
||||
சங்க (ர s.VNkV
|
||||
_) ச (ட்டL08ஸ்கர tSV
|
||||
_) ச (ட்டினி tSV
|
||||
@@ -960,6 +979,7 @@ _விமோ) ச (ன tSV
|
||||
_நீலலோ) ச (னி tSV
|
||||
_மீனலோ) ச (னி tSV
|
||||
_) ச (ப்பL11் tSV
|
||||
_) ச (ப்பலா tSV
|
||||
_) ச (ப்பா tSV
|
||||
_) ச (ப்பி tSV
|
||||
_) ச (ப்பு tSV
|
||||
@@ -970,6 +990,7 @@ _மீனலோ) ச (னி tSV
|
||||
_பங்) ச (ர tSV
|
||||
_பன்) ச (ர tSV
|
||||
_) சரசு (வதி sVrVs
|
||||
_ந) சரத் zVrVt
|
||||
_ந) ச (ருதீன zV
|
||||
_) சர்ச (ி tSVrtS
|
||||
_) ச (ர்ச்சில tSV
|
||||
@@ -984,6 +1005,7 @@ _L04்விட்) ச (ர்லாந்த zV
|
||||
மருதா) ச (ல tSV
|
||||
வேதா) ச (ல tSV
|
||||
_சேஷா) ச (ல tSV
|
||||
_ஹிமா) ச (ல tSV
|
||||
_தணிகா) ச (ல tSV
|
||||
அருணா) ச (ல tSV
|
||||
வெங்கடா) ச (ல tSV
|
||||
@@ -1025,7 +1047,17 @@ _தணிகா) ச (ல tSV
|
||||
ஆ) ச (ாரங்கள tS
|
||||
ஆ) ச (ாரத் tS
|
||||
ஆ) ச (ாரம tS
|
||||
_ரங்கா) ச (ாரி tS
|
||||
_வரதா) ச (ாரி tS
|
||||
_வேதா) ச (ாரி tS
|
||||
_கிருஷ்ணமா) ச (ாரி tS
|
||||
_தேசிகா) ச (ாரி tS
|
||||
_பட்டா) ச (ாரி tS
|
||||
அனந்தா) ச (ாரி tS
|
||||
ஆ) ச (ாரிய_ tS
|
||||
ஆ) ச (ாரியார tS
|
||||
அ) ச (ாருதீன z
|
||||
_) ச (ாருமதி tS
|
||||
_) சாருலத (ா tSa:rUlVt
|
||||
_) ச (ாருவ tS
|
||||
_ஹ) ச (ாரே z
|
||||
@@ -1086,6 +1118,7 @@ _தணிகா) ச (ல tSV
|
||||
_) சிம்பன்ச (ி tSimpVnz
|
||||
_மலே) ச (ிய s.
|
||||
இந்தோனே) ச (ிய s.
|
||||
_) ச (ியர்ஸ tS
|
||||
_பக்தி_) சிரத் (தை srVd
|
||||
_) சிரத்த (ைL27 srVdd
|
||||
சி (ரம s
|
||||
@@ -1203,10 +1236,12 @@ _மங்களே) சு (வர s
|
||||
_) ச (ேரி tS
|
||||
_தல) ச (ேரி tS
|
||||
_) ச (ேர்கள tS
|
||||
_) ச (ேர்மன tS
|
||||
_) ச (ேர்மேன tS
|
||||
_) ச (ேலஞ் tS
|
||||
_) ச (ேஷ்டை tS
|
||||
_) ச (ேஸ்_ tS
|
||||
_) சைத (ன்ய tSaItV
|
||||
_) ச (ைத்திய tS
|
||||
_) ச (ைனா tS
|
||||
_) ச (ைனா_நேவால s
|
||||
@@ -1214,12 +1249,14 @@ _மங்களே) சு (வர s
|
||||
_) ச (ைனீஸ tS
|
||||
_) ச (ோட்டா tS
|
||||
ஓ) ச (ோன z
|
||||
அரி) ச (ோன z
|
||||
_) ச (ோன்ன tS
|
||||
_) ச (ோவு tS
|
||||
_) ச (ோவெ tS
|
||||
_) ச (ௌக்கிதார tS
|
||||
_) ச (ௌதரி tS
|
||||
_) ச (ௌதிரி tS
|
||||
_) ச (ௌத்தாலா tS
|
||||
_) சௌப (ாத்தி tSaUp
|
||||
_) ச (ௌபே tS
|
||||
_) ச (ௌஹான tS
|
||||
@@ -1246,11 +1283,16 @@ _மங்களே) சு (வர s
|
||||
_ப) ஜ (ார z
|
||||
அ) ஜ (ாருதீன z
|
||||
_நா) ஜ (ி z
|
||||
_) ஜிப்(_ zip
|
||||
_) ஜ (ிப்ப z
|
||||
_) ஜ (ியா z
|
||||
_) ஜ (ீனத் z
|
||||
_) ஜ (ீப்ரா z
|
||||
_) ஜ (ீரோ z
|
||||
_) ஜ (ுல்ஃபி z
|
||||
_) ஜ (ுல்பி z
|
||||
_) ஜு (வால dZ
|
||||
_) ஜ (ெனித் z
|
||||
_) ஜ (ெராக்ஸ z
|
||||
//endsort
|
||||
|
||||
@@ -1401,9 +1443,11 @@ _செண்) டிமெண்ட t.imen.t.V#
|
||||
_) டி (ரங் t.
|
||||
_) டி (ரங்கு t.
|
||||
_) டி (ரபிள t.
|
||||
_) டி (ரம d.
|
||||
_) டிரம்பெட் t.rVmpet.
|
||||
_) டிர (ஸ d.re
|
||||
_) டிர (ஸ்ட t.rV
|
||||
_) டி (ரா_ d.
|
||||
_) டிராஃபிக் t.ra:fik
|
||||
_) டி (ராகுலா d.
|
||||
_) டிராக் t.ra:k
|
||||
@@ -1427,12 +1471,15 @@ _செண்) டிமெண்ட t.imen.t.V#
|
||||
_) டி (ராயிங் d.
|
||||
கொலஸ்) டி (ரால _|t.
|
||||
_) டி (ராலி t.
|
||||
_) டி (ராவ d.
|
||||
_) டி (ராவல t.
|
||||
_) டி (ராவெல t.
|
||||
_) டிரிக (ர t.riggV
|
||||
_) டிரிக் t.rik
|
||||
_) டிரிக்க (ர t.riggV
|
||||
_) டி (ரிங்_ t.
|
||||
_) டி (ரிங்க் d.
|
||||
_) டி (ரிங்ஸ d.
|
||||
_) டிரினிட (ி t.rinit.
|
||||
_) டிரிப் t.rip
|
||||
_) டி (ரிம் t.
|
||||
@@ -1518,6 +1565,7 @@ _லான்_) ட (ென்னிஸ t.
|
||||
_) டைப (ாய்ட t.aIf
|
||||
_) டைப் t.aIp
|
||||
_) ட (ைம்_ t.
|
||||
_) ட (ைல்ஸ t.
|
||||
_) டொக் t.ok
|
||||
_) ட (ோக்கன t.
|
||||
_) ட (ோக்கியோ t.
|
||||
@@ -1527,6 +1575,7 @@ _லான்_) ட (ென்னிஸ t.
|
||||
_) டோரண்ட (ோ t.o:rVn.t.
|
||||
_ப்ரி) ட (ோரிய t.
|
||||
_) டோர்னமெண்ட t.o:rnVmen.t.V#
|
||||
_) ட (ோலிவுட் t.
|
||||
_லே) ட் t.
|
||||
@மெண்) ட் t. // -ment
|
||||
_பேண்) ட் t.
|
||||
@@ -1535,6 +1584,11 @@ _ஹெல்மெ) ட் t.
|
||||
ல) ட்சு (மண ks.
|
||||
ல) ட்சு (மி ks.
|
||||
_ல) ட்ட d.d.V#
|
||||
_கோலிவு) ட்ட d.d.V#
|
||||
_டோலிவு) ட்ட d.d.V#
|
||||
_பாலிவு) ட்ட d.d.V#
|
||||
_மாலிவு) ட்ட d.d.V#
|
||||
_ஹாலிவு) ட்ட d.d.V#
|
||||
_ரெ) ட்ட (ிய d.d.
|
||||
இ) ட்ட (ிலி d.d.
|
||||
அப்பாயிண்) ட்மெண்ட t.men.t.V#
|
||||
@@ -1577,6 +1631,7 @@ _ஹெல்மெ) ட் t.
|
||||
_) ட்ரிக (ர t.riggV
|
||||
_) ட்ரிக் t.rik
|
||||
_) ட்ரிக்க (ர t.riggV
|
||||
_) ட் (ரிங்_ t.
|
||||
_நியூ) ட் (ரின t.
|
||||
_) ட்ரினிட (ி t.rinit.
|
||||
_) ட் (ரிம் t.
|
||||
@@ -1642,6 +1697,8 @@ _நடுரோ) ட் (ல t.
|
||||
ஸ்) த (B t
|
||||
ப்) த tV
|
||||
ப்) த (B t
|
||||
ட்) த tV
|
||||
ட்) த (B t
|
||||
த் (_த t
|
||||
|
||||
// exceptions, த as [d]
|
||||
@@ -1654,6 +1711,7 @@ _நடுரோ) ட் (ல t.
|
||||
_) த (கன dV
|
||||
_) த (கி dV
|
||||
_) த (க்க்ஷிண dV
|
||||
_) த (க்ஷன dV
|
||||
_) த (க்ஷிண dV
|
||||
_) த (க்ஷிணா dV
|
||||
_) த (சகண்ட dV
|
||||
@@ -1686,6 +1744,7 @@ _நடுரோ) ட் (ல t.
|
||||
_) த (ட்சன dV
|
||||
_) த (ட்சிண dV
|
||||
_) த (ண்டக் dV
|
||||
_) த (ண்டச்செலவ dV
|
||||
_) த (ண்டச்சோற dV
|
||||
_) த (ண்டத் dV
|
||||
_) த (ண்டன dV
|
||||
@@ -1714,6 +1773,7 @@ _நடுரோ) ட் (ல t.
|
||||
_) த (னுச dV
|
||||
_) த (னுஷ dV
|
||||
_) த (ன்மந்திரி dV
|
||||
_) த (ன்ய dV
|
||||
_) த (ன்ராஜ dV
|
||||
_) த (ன்வந்தரி dV
|
||||
_) தபதப dVbVdVbV#
|
||||
@@ -1723,6 +1783,8 @@ _நடுரோ) ட் (ல t.
|
||||
_) த (ம்பதி dV
|
||||
_) த (ம்பிடி dV
|
||||
_) த (ம்மடிL11் dV
|
||||
_) த (ம்மத் dV
|
||||
_) த (ம்மம dV
|
||||
_) த (யவ dV
|
||||
_) த (யாணந்த dV
|
||||
_) த (யான dV
|
||||
@@ -1762,13 +1824,16 @@ _நடுரோ) ட் (ல t.
|
||||
_) த (ர்ப்பை dV
|
||||
_) த (ர்ம dV
|
||||
_) த (லித் dV
|
||||
_) தலீத் dVli:t
|
||||
_அகாலி_) த (ள dV
|
||||
_) த (ளவாய dV
|
||||
_) த (வக்கால dV
|
||||
_) த (வக்கோல dV
|
||||
_) த (வத்த dV
|
||||
_) த (வப் dV
|
||||
_) த (வம dV
|
||||
_) தவுலதாப (ாத dVvUlVda:b
|
||||
_) த (வே dV
|
||||
_) த (ாக்கா d
|
||||
_) த (ாக்காத t
|
||||
_) த (ாக்காம t
|
||||
@@ -1804,12 +1869,14 @@ _அகாலி_) த (ள dV
|
||||
_) த (ாராள d
|
||||
_) த (ாராவி d
|
||||
_) த (ாவணி d
|
||||
_) த (ாவா d
|
||||
_) த (ாவாக்க d
|
||||
_) த (ாவாவ d
|
||||
_) த (ாவேய d
|
||||
_) த (ாஸ d
|
||||
_) த (ிகம்பர d
|
||||
_) த (ிகில d
|
||||
_) த (ிகுதிகு d
|
||||
_) த (ிக்கற்ற d
|
||||
_) த (ிக்கித்த d
|
||||
_) த (ிக்கில d
|
||||
_) த (ிக்கு d
|
||||
@@ -1853,7 +1920,6 @@ _அகாலி_) த (ள dV
|
||||
_) த (ிம்ம d
|
||||
_) தி (யாக t
|
||||
_) தி (யான d
|
||||
_) தி (யேட்டர t
|
||||
_) த (ிரவ d
|
||||
_) த (ிரவிய d
|
||||
_) தி (ராட்சை d
|
||||
@@ -1881,7 +1947,10 @@ _அகாலி_) த (ள dV
|
||||
_) த (ிவால d
|
||||
_) த (ிவ்ய d
|
||||
_) த (ிவ்விய d
|
||||
_) தீக்ஷணி (ய di:ks.Vn
|
||||
_) த (ீக்ஷண்ய d
|
||||
_) த (ீக்ஷிதர d
|
||||
_) தீட்சணி (ய di:d.tSVn.
|
||||
_) த (ீட்சண்ய d
|
||||
_) த (ீட்சித d
|
||||
_) த (ீட்சை d
|
||||
@@ -1894,6 +1963,7 @@ _அகாலி_) த (ள dV
|
||||
_) த (ீரச் d
|
||||
_) த (ீரத்துட d
|
||||
_) த (ீரன d
|
||||
_) த (ீரமிக d
|
||||
_) த (ீரமில்ல d
|
||||
_) த (ீரமுட d
|
||||
_) த (ீரம்மிக d
|
||||
@@ -1909,6 +1979,7 @@ _) தீர்க்க (_சுமங்கலி di:rggV
|
||||
_) தீர்க்க (முள்ள di:rggV#
|
||||
_) தீர்க்க (ம்_ di:rggV
|
||||
_) தீர்க்க (ாயு di:rggV#
|
||||
_) த (ீர்க்காலோசனை d
|
||||
_) த (ீவாளி d
|
||||
_) து(ரோக d
|
||||
_) த (ுக்க d
|
||||
@@ -1923,12 +1994,13 @@ _) தீர்க்க (_சுமங்கலி di:rggV
|
||||
_) த (ுன்மதி d
|
||||
_) த (ுன்மார்க்க d
|
||||
_) த (ுபாய d
|
||||
_) த (ுபாஷி d
|
||||
_) த (ுபாஷ d
|
||||
_) த (ுப்பட்டா d
|
||||
_) த (ுமளி d
|
||||
_) த (ுரதிருஷ்ட d
|
||||
_) த (ுரதிர்ஷ்ட d
|
||||
_) த (ுரதிஷ்ட d
|
||||
_) துராக்க (ிர tra:gg
|
||||
_) த (ுராசை d
|
||||
_) த (ுரியோதனன d
|
||||
_) த (ுரியோதனா d
|
||||
@@ -2041,6 +2113,7 @@ _வசந்) த tV#
|
||||
_கௌ) த (மி tV
|
||||
_புல்) த (ரை tV
|
||||
_மண்) த (ரை tV
|
||||
_சகுந்) த (லா tV
|
||||
_சாந்) த (லிங்க tV#
|
||||
_கீ) த (ா t
|
||||
_சீ) த (ா t
|
||||
@@ -2163,9 +2236,13 @@ L03வ்வு) த்த (ியோக dd
|
||||
_சுப) த்த (ிர dd
|
||||
_ரு) த்த (ிர dd
|
||||
_ரௌ) த்த (ிர dd
|
||||
_சூ) த்த (ிரச் dd
|
||||
_சூ) த்த (ிரச்சி dd
|
||||
_சூ) த்த (ிரத் dd
|
||||
_சூ) த்த (ிரன dd
|
||||
_சூ) த்த (ிரப் dd
|
||||
_சூ) த்த (ிரரி dd
|
||||
_சூ) த்த (ிரரே dd
|
||||
_சூ) த்த (ிரர் dd
|
||||
ஆதி) த்தி (ராவிட dd
|
||||
_சேஷா) த்த (ிரி dd
|
||||
@@ -2199,6 +2276,7 @@ _மொழி) த்து (வே dd
|
||||
_வில்_வி) த்த (ை dd
|
||||
_வில்வி) த்த (ை dd
|
||||
_வி) த்த (ைகள dd
|
||||
_வி) த்த (ைக்க dd
|
||||
_வி) த்த (ைக்காக dd
|
||||
_வி) த்த (ைக்கு dd
|
||||
வி) த்த (ையாக dd
|
||||
@@ -2296,6 +2374,7 @@ _சி) த்ரலேக (ா trVle:k
|
||||
_) ப (கீர bV
|
||||
_) ப (குள bV
|
||||
_) ப (க்கிங்L06ாம bV
|
||||
_) ப (க்கீர fV
|
||||
_) ப (க்கெட் bV
|
||||
_) ப (க்கென்ற bV
|
||||
_) பக் (த bVk
|
||||
@@ -2305,6 +2384,7 @@ _சி) த்ரலேக (ா trVle:k
|
||||
_) ப (ங்கம bV
|
||||
_) பங்க (ர bVNkV
|
||||
_) ப (ங்களா bV
|
||||
_) ப (ங்களூர bV
|
||||
_) ப (ங்கார bV
|
||||
_) ப (ங்க் bV
|
||||
_) ப (சவகல்யாண bV
|
||||
@@ -2394,6 +2474,7 @@ _டீயும்_) ப (ன்னும்_ bV
|
||||
_) ப (ராக்_ஒபாமா bV
|
||||
_) ப (ரிதா_ fV
|
||||
_) ப (ரிதாவ fV
|
||||
_) ப (ரீத fV
|
||||
_) பரூக் fVrU:k
|
||||
_) ப (ரோட bV
|
||||
_) ப (ர்ஃபி bV
|
||||
@@ -2454,6 +2535,7 @@ _டீயும்_) ப (ன்னும்_ bV
|
||||
_) ப (லராம bV
|
||||
_) ப (லவந்த bV
|
||||
_) ப (லவான bV
|
||||
_) ப (லவானவ pV
|
||||
_) ப (லவீன bV
|
||||
_) ப (லஹீன bV
|
||||
_) பலாத்க (ார bVla:dk
|
||||
@@ -2511,6 +2593,7 @@ _டீயும்_) ப (ன்னும்_ bV
|
||||
_) பாங்க (ாக் ba:Nk
|
||||
_) ப (ாங்கில b
|
||||
_) ப (ாங்க் b
|
||||
_) ப (ாசிL04 f
|
||||
_) ப (ாசில f
|
||||
_) ப (ாசு b
|
||||
_) பாசுப (த pa:sUpV
|
||||
@@ -2547,6 +2630,7 @@ _டெட்_) ப (ாடி b
|
||||
_) ப (ாதிக்கவா b
|
||||
_) ப (ாதிக்கவில் b
|
||||
_) ப (ாதிக்காத b
|
||||
_) ப (ாதிக்காமல b
|
||||
_) ப (ாதிக்கால p
|
||||
_) ப (ாதிக்கின்ற b
|
||||
_) ப (ாதிக்கிற b
|
||||
@@ -2603,6 +2687,7 @@ _டெட்_) ப (ாடி b
|
||||
_) பாப (ாவ ba:b
|
||||
_) ப (ாபிலோன b
|
||||
_) ப (ாபுவ b
|
||||
_டைம்_) ப (ாம b
|
||||
_) ப (ாமாவ b
|
||||
_) ப (ாமினி b
|
||||
_) ப (ாம்பே b
|
||||
@@ -2616,6 +2701,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) ப (ாரதி b
|
||||
_) ப (ாரத்த b
|
||||
_) ப (ாரம b
|
||||
_) ப (ாரமை p
|
||||
_) ப (ாரம்பரிய p
|
||||
_) ப (ாரம்மா p
|
||||
_) ப (ாரவி b
|
||||
@@ -2661,6 +2747,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) ப (ாலுவ b
|
||||
_) ப (ாலே_L25 b
|
||||
_) ப (ாலை p
|
||||
_) ப (ாலையா b
|
||||
_) ப (ால் p
|
||||
_) ப (ால்_தாக்கரே b
|
||||
_) பால்க (னி ba:lkV
|
||||
@@ -2726,6 +2813,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) ப (ினிஷ f
|
||||
_) ப (ின்_லேடன b
|
||||
_) ப (ின்னங்கள b
|
||||
_) ப (ின்னத்த b
|
||||
_) ப (ின்னத்தால b
|
||||
_) ப (ின்னத்தை b
|
||||
_) ப (ின்னம b
|
||||
@@ -2791,6 +2879,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரமுகர p
|
||||
_) பி (ரமை b
|
||||
_) பி (ரமோஷன p
|
||||
_) பி (ரமோஸ b
|
||||
_) ப (ிரம்ம b
|
||||
_) பி (ரம்ம b
|
||||
_) பி (ரம்மன b
|
||||
@@ -2805,6 +2894,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரளய p
|
||||
_) பி (ரவகி p
|
||||
_) பி (ரவாக p
|
||||
_) பி (ரவாள p
|
||||
_) பி (ரவீண p
|
||||
_) பி (ரவீன p
|
||||
_) பி (ரவுச b
|
||||
@@ -2812,6 +2902,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரவேசி p
|
||||
_) பி (ரஷ் b
|
||||
_) பி (ரஷ்ட p
|
||||
_) பி (ரஸ p
|
||||
_) பி (ரஸல்ஸ b
|
||||
_) பி (ரஸாத p
|
||||
_) பி (ரஸ்தா p
|
||||
@@ -2845,6 +2936,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரான்ச f
|
||||
_) பி (ரான்தி_ b
|
||||
_) பி (ரான்ஸ f
|
||||
_) பி (ராபல்ய p
|
||||
_) பி (ராப் p
|
||||
_) பி (ராமண b
|
||||
_) பி (ராமணன b
|
||||
@@ -2852,6 +2944,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ராமிக் b
|
||||
_) பி (ராமின்_ b
|
||||
_) பி (ராமிஸ p
|
||||
_) பி (ராம்மண b
|
||||
_) பி (ராய்லர b
|
||||
_) பி (ரார்தன p
|
||||
_) பி (ரார்தி p
|
||||
@@ -2864,6 +2957,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ராவுக்கு b
|
||||
_) பி (ராவை b
|
||||
_) பி (ரிகேட b
|
||||
_) பி (ரிஜேஷ b
|
||||
_) பி (ரிட b
|
||||
_) பிரிட (ோரிய prit.
|
||||
_) பி (ரிட்டோரிய p
|
||||
@@ -2887,6 +2981,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரியாவின p
|
||||
_) பி (ரியாவு p
|
||||
_) பி (ரியாவை p
|
||||
_) பி (ரில்லிய b
|
||||
_) பி (ரிஸ்டன b
|
||||
_) பி (ரிஸ்டல b
|
||||
_) பிரிஸ்ப (ேன brisb
|
||||
@@ -2914,6 +3009,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பி (ரோகிதர p
|
||||
_) பி (ரௌச b
|
||||
_) பி (ரௌன b
|
||||
_) ப (ிர்லா b
|
||||
_) ப (ிலாஸ்பூர b
|
||||
_) பிலிடெல்ப (ிய filidelf
|
||||
_) பிலிம filmV#
|
||||
@@ -2966,6 +3062,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) ப (ீடித்த p
|
||||
_) ப (ீடிப்புகை b
|
||||
_) ப (ீடிய b
|
||||
_) ப (ீடியாட் p
|
||||
_) ப (ீட்டில்ஸ b
|
||||
_) பீட்ரூட் bi:t.ru:t.
|
||||
_) பீத (ோவன bi:t
|
||||
@@ -2979,6 +3076,7 @@ _விளையாடு_) ப (ாம்பே p
|
||||
_) பீ (ராமண b
|
||||
_) ப (ீராமணர b
|
||||
_) ப (ீரிட p
|
||||
_) ப (ீரியட p
|
||||
_) ப (ீரோ b
|
||||
_) ப (ீர்_முகமத p
|
||||
_) ப (ீர்_முஹமத p
|
||||
@@ -3083,6 +3181,8 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ெங்களூர b
|
||||
_) ப (ெங்கால b
|
||||
_) பெசண்ட besVn.t.V#
|
||||
_) பெச (வாடா beZV
|
||||
_) பெஜ (வாடா beZV
|
||||
_) பெஞ்ச ben^tSV#
|
||||
_) ப (ெஞ்சமின b
|
||||
_) பெஞ்ச (மின ben^dZV
|
||||
@@ -3104,6 +3204,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ெப்ரவரி f
|
||||
_) ப (ெயில f
|
||||
_) பெரோஸ fero:zV#
|
||||
_) ப (ெர்க்கிலி b
|
||||
_) பெர்ட் (ரண்ட bert.
|
||||
_) ப (ெர்த் b
|
||||
_) ப (ெர்னாட்ஷா b
|
||||
@@ -3152,6 +3253,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ைகுக்கு b
|
||||
_) ப (ைக்கின b
|
||||
_) ப (ைக்கிற்க b
|
||||
_) ப (ைக்கில b
|
||||
_) ப (ைக்குகள b
|
||||
_) ப (ைக்கும b
|
||||
_) ப (ைசன b
|
||||
@@ -3171,6 +3273,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ொம்மனாட்டி p
|
||||
_) ப (ொம்மல b
|
||||
_) ப (ொம்மை b
|
||||
_) ப (ோஃபர்ஸ b
|
||||
_) ப (ோஃபோர் b
|
||||
_) ப (ோக_L13 b
|
||||
_) ப (ோகங்க b
|
||||
@@ -3188,6 +3291,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ோகிய b
|
||||
_) ப (ோக்கஸ f
|
||||
_) ப (ோங்கா b
|
||||
_) ப (ோங்கானும p
|
||||
_) ப (ோங்கு b
|
||||
_) ப (ோஜ b
|
||||
_) ப (ோடோ b
|
||||
@@ -3195,6 +3299,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ோட்டோக்க f
|
||||
_) போட்டோக்ராப (ர fo:t.t.o:gra:fV
|
||||
_) ப (ோட்டோதான f
|
||||
_) ப (ோணி b
|
||||
_) ப (ோண்டா b
|
||||
_) ப (ோண்டி b
|
||||
_) ப (ோதகன b
|
||||
@@ -3223,6 +3328,7 @@ _பெனசீர்_) ப (ுட்டோ b
|
||||
_) ப (ோன்கூட f
|
||||
_) ப (ோன்லகூட f
|
||||
_) ப (ோன்ஸ்லே b
|
||||
_) போப (ர்ஸ bo:fV
|
||||
_) போப (ால bo:p
|
||||
_) போப (ோர் bo:f
|
||||
_) ப (ோரடி b
|
||||
@@ -3365,6 +3471,7 @@ _விரகதா) ப (+ bV#
|
||||
_மீள்) ப (தி pV
|
||||
சீதா) பதி pVti
|
||||
சேது) பதி pVti
|
||||
_விடு) ப (தி pV
|
||||
தரணி) பதி pVti
|
||||
திரௌ) ப (தி pV
|
||||
பிரஜா) பத (ி pVt
|
||||
@@ -3389,6 +3496,7 @@ _ராஷ்டிர) ப (தி pV
|
||||
_க) ப (த் bV
|
||||
அரா) பத் fVt
|
||||
அல்) ப (த் pV
|
||||
_கிலா) பத் fVt
|
||||
_தா) ப (த்த bV
|
||||
வீர) ப (த்தினி pV
|
||||
_ரிஷி) ப (த்தினி pV
|
||||
@@ -3419,6 +3527,7 @@ _சொந்த) ப (ந்த bV
|
||||
_ஊடு) ப (யிர pV
|
||||
_நடை) ப (யிற்சி pV
|
||||
கா) ப (ர bV
|
||||
_ஜெனி) ப (ர fV
|
||||
நாகா) ப (ரண bV
|
||||
_ஒலி) ப (ரப் pV
|
||||
_ஒளி) ப (ரப் pV
|
||||
@@ -3429,6 +3538,7 @@ _சொந்த) ப (ந்த bV
|
||||
_கார்) ப (ரேஷன pV
|
||||
_பம்) ப (ர்_ pV
|
||||
_கன்) ப (ர்ம fV
|
||||
இன்) ப (ர்ம fV
|
||||
கரம்) ப (ற் pV
|
||||
_தீ) ப (ற்ற pV
|
||||
ஆள்) ப (ற்ற pV
|
||||
@@ -3463,6 +3573,7 @@ _முனிசி) ப (ல pV
|
||||
_ஷில்) ப (ா p
|
||||
_முஸ்த) ப (ா f
|
||||
_ஹனி) ப (ா f
|
||||
_ஹனீ) ப (ா f
|
||||
_போதும்) ப (ா p
|
||||
_போலாம்) ப (ா p
|
||||
_வேண்டாம்) ப (ா p
|
||||
@@ -3506,8 +3617,10 @@ _வெளிப்) ப (ாக b
|
||||
ஒரு) ப (ாத p
|
||||
_படு) ப (ாத p
|
||||
_மறு) ப (ாத p
|
||||
பரீதா) ப (ாத b
|
||||
ஆமதா) ப (ாத b
|
||||
அL06மதா) ப (ாத b
|
||||
அலாகா) ப (ாத b
|
||||
இஸ்லாமா) ப (ாத b
|
||||
ஒளரங்கா) ப (ாத b
|
||||
ஔரங்கா) ப (ாத b
|
||||
@@ -3554,6 +3667,7 @@ _ப்ரின்சி) ப (ால p
|
||||
முக) ப (ாவ b
|
||||
அட) ப (ாவ p
|
||||
வீண்) ப (ாவ p
|
||||
_படு) ப (ாவ p
|
||||
அடி) ப (ாவி p
|
||||
_நவ) ப (ாஷ p
|
||||
_தமிழ்ப்) ப (ாஷ _b
|
||||
@@ -3605,6 +3719,7 @@ _கன்னா) ப (ின்னா p
|
||||
@) ப (ின்னால்_ p
|
||||
_) ப (ிப்ரவரி f
|
||||
_லெஸ்) ப (ியன b
|
||||
_மா) ப (ியா f
|
||||
_கன்) பி (யுச f
|
||||
_பெர்) பி (யூம f
|
||||
_வரப்) பி (ரL04ாத p
|
||||
@@ -3625,6 +3740,7 @@ _ஞானப்) பிரக (ா prVk
|
||||
வீண்) பி (ரமை b
|
||||
துஷ்) பி (ரயோக p
|
||||
L03ந்தப்) பி (ரளய p
|
||||
_சொற்) பி (ரவாக p
|
||||
எக்ஸ்) பிர (ஸ pre
|
||||
ஆ) பி (ரஹாம b
|
||||
பயப்) பி (ராந்தி b
|
||||
@@ -3654,6 +3770,7 @@ L03ந்தப்) பி (ராய p
|
||||
ஆண்) ப (ிள்ளை p
|
||||
பெண்) ப (ிள்ளை p
|
||||
அச்சா) ப (ீ f
|
||||
_ர) பீக் fi:k
|
||||
உப) ப (ீட p
|
||||
விக்கி) ப (ீடியா p
|
||||
இம்) ப (ீரியல p
|
||||
@@ -3661,6 +3778,7 @@ L03ந்தப்) பி (ராய p
|
||||
_அன்) ப (ுட b
|
||||
_மார்) ப (ுட b
|
||||
ராஜ) ப (ுதன p
|
||||
_மின்) ப (ுத்தக p
|
||||
_) புத்தம்ப (ுத puttVmp
|
||||
ராஜ) ப (ுத்திர p
|
||||
வாயு) ப (ுத்திர p
|
||||
@@ -3679,6 +3797,7 @@ L03ந்தப்) பி (ராய p
|
||||
_பா) ப (ுலர p
|
||||
_) பு (ளோரன்ஸ f
|
||||
மண்) ப (ுழு p
|
||||
_ஷாம்) ப (ூ p
|
||||
ப (ூச்சி p
|
||||
ம்) ப (ூச்சி b
|
||||
உறுதி) ப (ூண்ட p
|
||||
@@ -3708,6 +3827,7 @@ _கோலாலம்) ப (ூர p
|
||||
_கை) ப (ேசி p
|
||||
_செல்) ப (ேசி p
|
||||
அலை) ப (ேசி p
|
||||
_திரை) ப (ேசி p
|
||||
தொலை) ப (ேசி p
|
||||
_மறு) ப (ேச்ச p
|
||||
ஒரு) ப (ேச்ச p
|
||||
@@ -3732,6 +3852,7 @@ _கோலாலம்) ப (ூர p
|
||||
_ வெடி) ப (ொரு p
|
||||
_பழம்) ப (ொருள p
|
||||
_தொல்) ப (ொருள p
|
||||
_தேடு) ப (ொறி p
|
||||
வீண்) ப (ொழுத p
|
||||
ப (ொழுதிலா_+ p
|
||||
ப (ொழுதிலும்_+ p
|
||||
@@ -3743,6 +3864,7 @@ _ வெடி) ப (ொரு p
|
||||
ப (ொழுதே_+ p
|
||||
ப (ொழுதோ_+ p
|
||||
_விலை) ப (ோ p
|
||||
_பிர) ப (ோL04 p
|
||||
_ஏக) ப (ோக b
|
||||
ராஜ) ப (ோக b
|
||||
ப (ோக_ p
|
||||
@@ -3780,6 +3902,7 @@ _விலை) ப (ோ p
|
||||
ப (ோன_ p
|
||||
ப (ோனது_ p
|
||||
ப (ோனா p
|
||||
அல்) ப (ோன்சா f
|
||||
ப (ோன்ற+ p // ?? end-of-word + suffix ??
|
||||
அல்) ப (ோன்ஸ f
|
||||
ப (ோயிரு p
|
||||
@@ -3802,7 +3925,9 @@ _விலை) ப (ோ p
|
||||
_டே) ப (் p
|
||||
_போ) ப் p
|
||||
_லாக) ப் p
|
||||
ஆசி) ப் f
|
||||
_டெஸ்க்டா) ப் p
|
||||
ஆ) ப் (கன f
|
||||
ஆ) ப் (கான f
|
||||
_பா) ப்க (ார்ன pk
|
||||
_ர) ப்ச (ர ptSV
|
||||
@@ -3810,6 +3935,11 @@ _டெஸ்க்டா) ப் p
|
||||
_லி) ப் (ட f
|
||||
_மைக்ரோசா) ப் (ட f
|
||||
_சா) ப்ட் (வேர ft
|
||||
_ச) ப் (த_ p
|
||||
_ச) ப்த (மி_ ptV
|
||||
_ச) ப்த (மிய ptV
|
||||
_ச) ப் (தரிஷி p
|
||||
_ச) ப் (தஸ்வர p
|
||||
_ஹி) ப்னாட (ிச pna:t.
|
||||
கர்) ப்ப bbV#
|
||||
_நவா) ப்ப bbV#
|
||||
@@ -3822,6 +3952,7 @@ _மைக்ரோசா) ப் (ட f
|
||||
_ர) ப்ப (ர bbV
|
||||
ஆ) ப்ப (ரிக்க fV
|
||||
தென்னா) ப்ப (ரிக்க fV
|
||||
_துர்) ப்ப (ல bbV
|
||||
உ) ப்ப (லா bbV
|
||||
உ) ப்ப (லாக bbV
|
||||
உ) ப்ப (லான bbV
|
||||
@@ -3837,6 +3968,8 @@ _மைக்ரோசா) ப் (ட f
|
||||
_ஜ) ப்ப (ார bb
|
||||
_துர்) ப்ப (ாஷ bb
|
||||
அ) ப்ப (ாஸ bb
|
||||
அ) ப்ப (ாஸாமி pp
|
||||
அ) ப்ப (ாஸ்வாமி pp
|
||||
உ) ப்ப (ி_ bb
|
||||
_ட) ப்ப (ிங் bb
|
||||
உ) ப்ப (ின_ bb
|
||||
@@ -3848,6 +3981,8 @@ _யாதவ) ப்பி (ரகாச pp
|
||||
L03) ப்பி (ரகார pp
|
||||
_வெளி) ப்பி (ரகார pp
|
||||
அதிக) ப்பி (ரசங்க pp
|
||||
_வன) ப்பி (ரதேச pp
|
||||
_காட்டு) ப்பி (ரதேச pp
|
||||
_நில) ப்பி (ரபு pp
|
||||
_சத்திய) ப்பி (ரமா pp
|
||||
மன) ப்பி (ரமை bb
|
||||
@@ -3861,10 +3996,12 @@ _சத்திய) ப்பி (ரமா pp
|
||||
_மன) ப்பி (ரவாக pp
|
||||
_ரத்த) ப்பி (ரவாக pp
|
||||
இசை) ப்பி (ரவாக pp
|
||||
உரை) ப்பி (ரவாக pp
|
||||
இரத்த) ப்பி (ரவாக pp
|
||||
_ஒL10ி) ப்பி (ரவாக pp
|
||||
தேச) ப்பி (ரஷ்ட pp
|
||||
_ஜாதி) ப்பி (ரஷ்ட pp
|
||||
_வான) ப்பி (ரஸ்த pp
|
||||
ஆ) ப்பி (ரிக்க f
|
||||
தென்னா) ப்பி (ரிக்க fV
|
||||
_கஜ) ப்ப (ிருஷ்ட bb
|
||||
@@ -4028,6 +4165,8 @@ _சந்தேக) ப்ப (ுத்தி bb
|
||||
_உ) ஸ்பெக் zbek
|
||||
_நவா) ஸ zV#
|
||||
பெர்னாண்ட) ஸ zV#
|
||||
_ம) ஸ்த (ூர zd
|
||||
அரி) ஸ (ோன z
|
||||
|
||||
.group ஹ
|
||||
ஹ HV
|
||||
|
||||
+1
-1
@@ -162,7 +162,7 @@ endphoneme
|
||||
|
||||
phoneme @L
|
||||
vowel starttype #@ endtype l
|
||||
ipa əl
|
||||
ipa ə|l
|
||||
unstressed
|
||||
length 160
|
||||
CALL vowelstart_l
|
||||
|
||||
+16
-6
@@ -168,7 +168,9 @@ phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in Ameri
|
||||
vowel starttype #a endtype #@
|
||||
length 250
|
||||
ipa aː
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/aa_r)
|
||||
endphoneme
|
||||
|
||||
@@ -211,7 +213,9 @@ phoneme O@
|
||||
vowel starttype #o endtype #@
|
||||
length 230
|
||||
ipa ɔ
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/oo_r)
|
||||
endphoneme
|
||||
|
||||
@@ -219,7 +223,9 @@ phoneme o@
|
||||
vowel starttype #o endtype #@
|
||||
length 230
|
||||
ipa o
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/oo_r)
|
||||
endphoneme
|
||||
|
||||
@@ -305,7 +311,9 @@ phoneme e@
|
||||
vowel starttype #e endtype #@
|
||||
length 220
|
||||
ipa e
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vdiph2/e@)
|
||||
endphoneme
|
||||
|
||||
@@ -314,7 +322,9 @@ phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
ipa ɪ
|
||||
length 240
|
||||
AppendPhoneme(r)
|
||||
IF NOT nextPhW(r) THEN
|
||||
AppendPhoneme(r)
|
||||
ENDIF
|
||||
FMT(vowelr/i_r)
|
||||
endphoneme
|
||||
|
||||
@@ -380,11 +390,11 @@ phoneme r
|
||||
liquid rhotic
|
||||
lengthmod 7
|
||||
trill
|
||||
|
||||
IF nextPh(isNotVowel) THEN
|
||||
ChangePhoneme(r/)
|
||||
ENDIF
|
||||
CALL base/r
|
||||
ipa r
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ endphoneme
|
||||
|
||||
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
|
||||
vowel starttype #a endtype #a
|
||||
ipa ɑːɹ
|
||||
ipa ɑː|ɹ
|
||||
IF nextPh(r-) THEN
|
||||
ipa ɑː
|
||||
ENDIF
|
||||
@@ -192,7 +192,7 @@ endphoneme
|
||||
phoneme O@
|
||||
vowel starttype #o endtype #@
|
||||
length 250
|
||||
ipa ɔːɹ
|
||||
ipa ɔː|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɔː
|
||||
ENDIF
|
||||
@@ -204,7 +204,7 @@ endphoneme
|
||||
phoneme o@
|
||||
vowel starttype #o endtype #@
|
||||
length 250
|
||||
ipa oːɹ
|
||||
ipa oː|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa oː
|
||||
ENDIF
|
||||
@@ -269,7 +269,7 @@ endphoneme
|
||||
phoneme e@
|
||||
vowel starttype #e endtype #@
|
||||
length 280
|
||||
ipa ɛɹ
|
||||
ipa ɛ|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɛ
|
||||
ENDIF
|
||||
@@ -288,7 +288,7 @@ endphoneme
|
||||
phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
length 280
|
||||
ipa ɪɹ
|
||||
ipa ɪ|ɹ
|
||||
IF nextPhW(r) THEN
|
||||
ipa ɪ
|
||||
ENDIF
|
||||
@@ -300,7 +300,7 @@ endphoneme
|
||||
phoneme U@
|
||||
vowel starttype #@ endtype #@
|
||||
length 250
|
||||
ipa ʊɹ
|
||||
ipa ʊ|ɹ
|
||||
IF nextPhW(r-) THEN
|
||||
ipa ʊ
|
||||
ENDIF
|
||||
|
||||
+48
-11
@@ -44,6 +44,7 @@
|
||||
|
||||
extern void FindPhonemesUsed(void);
|
||||
extern void DisplayErrorFile(const char *fname);
|
||||
extern int utf8_in(int *c, const char *buf);
|
||||
extern int utf8_out(unsigned int c, char *buf);
|
||||
extern void DrawEnvelopes();
|
||||
extern void ReadPhondataManifest();
|
||||
@@ -157,6 +158,7 @@ static keywtab_t k_properties[] = {
|
||||
|
||||
enum {
|
||||
kPHONEMESTART = 1,
|
||||
kUTF8_BOM,
|
||||
kPROCEDURE,
|
||||
kENDPHONEME,
|
||||
kENDPROCEDURE,
|
||||
@@ -210,6 +212,8 @@ enum {
|
||||
kTUNE_SPLIT,
|
||||
};
|
||||
|
||||
static const char utf8_bom[] = {0xef,0xbb,0xbf,0};
|
||||
|
||||
static keywtab_t k_intonation[] = {
|
||||
{"tune", 0, kTUNE},
|
||||
{"endtune", 0, kENDTUNE},
|
||||
@@ -250,6 +254,7 @@ static keywtab_t keywords[] = {
|
||||
{"phonemenumber",tSTATEMENT, kPHONEMENUMBER},
|
||||
{"phonemetable",tSTATEMENT, kPHONEMETABLE},
|
||||
{"include", tSTATEMENT, kINCLUDE},
|
||||
{utf8_bom, tSTATEMENT, kUTF8_BOM},
|
||||
|
||||
{"phoneme", tSTATEMENT, kPHONEMESTART},
|
||||
{"procedure", tSTATEMENT, kPROCEDURE},
|
||||
@@ -2720,11 +2725,14 @@ int CompilePhoneme(int compile_phoneme)
|
||||
int keyword;
|
||||
int value;
|
||||
int phcode = 0;
|
||||
int flags;
|
||||
int ix;
|
||||
unsigned int c;
|
||||
int start;
|
||||
int count;
|
||||
int c;
|
||||
char *p;
|
||||
char number_buf[12];
|
||||
char ipa_buf[N_ITEM_STRING];
|
||||
char ipa_buf[N_ITEM_STRING+1];
|
||||
PHONEME_TAB phoneme_out2;
|
||||
PHONEME_PROG_LOG phoneme_prog_log;
|
||||
|
||||
@@ -2852,32 +2860,58 @@ int CompilePhoneme(int compile_phoneme)
|
||||
strcpy(item_string," ");
|
||||
|
||||
// copy the string, recognize characters in the form U+9999
|
||||
p = item_string;
|
||||
ix = 0;
|
||||
while((c = *p++) != 0)
|
||||
flags = 0;
|
||||
count = 0;
|
||||
ix = 1;
|
||||
|
||||
for(p=item_string; *p != 0;)
|
||||
{
|
||||
p += utf8_in(&c, p);
|
||||
|
||||
if((c == '|') && (count > 0))
|
||||
{
|
||||
// '|' means don't allow a tie or joiner before this letter
|
||||
flags |= (1 << (count -1));
|
||||
}
|
||||
else
|
||||
if((c=='U') && (p[0]=='+'))
|
||||
{
|
||||
int j;
|
||||
// U+9999
|
||||
memcpy(number_buf,&p[1],4); // U+ should be followed by 4 hex digits
|
||||
p++;
|
||||
memcpy(number_buf,p,4); // U+ should be followed by 4 hex digits
|
||||
number_buf[4] = 0;
|
||||
c = 0;
|
||||
c = '#';
|
||||
sscanf(number_buf,"%x",&c);
|
||||
p += 5;
|
||||
|
||||
// move past the 4 hexdecimal digits
|
||||
for(j=0; j<4; j++)
|
||||
{
|
||||
if(!isalnum(*p))
|
||||
break;
|
||||
p++;
|
||||
}
|
||||
ix += utf8_out(c, &ipa_buf[ix]);
|
||||
count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
ipa_buf[ix++] = c;
|
||||
ix += utf8_out(c, &ipa_buf[ix]);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
ipa_buf[0] = flags;
|
||||
ipa_buf[ix] = 0;
|
||||
value = strlen(ipa_buf); // number of UTF-8 bytes
|
||||
|
||||
start = 1;
|
||||
if(flags != 0)
|
||||
start = 0; // only include the flags byte if bits are set
|
||||
value = strlen(&ipa_buf[start]); // number of UTF-8 bytes
|
||||
|
||||
*prog_out++ = (i_IPA_NAME << 8) + value;
|
||||
for(ix=0; ix < value; ix += 2)
|
||||
{
|
||||
*prog_out++ = (ipa_buf[ix] << 8) + (ipa_buf[ix+1] & 0xff);
|
||||
*prog_out++ = (ipa_buf[ix+start] << 8) + (ipa_buf[ix+start+1] & 0xff);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -3400,6 +3434,9 @@ static void CompilePhonemeFiles()
|
||||
|
||||
switch(item)
|
||||
{
|
||||
case kUTF8_BOM:
|
||||
break; // ignore bytes 0xef 0xbb 0xbf
|
||||
|
||||
case kINCLUDE:
|
||||
NextItem(tSTRING);
|
||||
sprintf(buf,"%s%s",path_source,item_string);
|
||||
|
||||
+48
-20
@@ -524,15 +524,14 @@ unsigned short ipa1[96] = {
|
||||
};
|
||||
|
||||
|
||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa)
|
||||
{//=====================================================================================
|
||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags)
|
||||
{//===================================================================================================
|
||||
int c;
|
||||
int mnem;
|
||||
int len;
|
||||
int first;
|
||||
int ix = 0;
|
||||
char *p;
|
||||
unsigned int ipa_control=0; // first byte of ipa string may control the phoneme name interpretation. 0x20 = ignore this phoneme
|
||||
PHONEME_DATA phdata;
|
||||
|
||||
if(ph->code == phonEND_WORD)
|
||||
@@ -564,20 +563,28 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int
|
||||
InterpretPhoneme(NULL, 0, plist, &phdata, NULL);
|
||||
}
|
||||
|
||||
len = strlen(phdata.ipa_string);
|
||||
p = phdata.ipa_string;
|
||||
if(*p == 0x20)
|
||||
{
|
||||
// indicates no name for this phoneme
|
||||
*phon_out = 0;
|
||||
return(phon_out);
|
||||
}
|
||||
if((*p != 0) && ((*p & 0xff) < 0x20))
|
||||
{
|
||||
// name starts with a flags byte
|
||||
if(flags != NULL)
|
||||
*flags = *p;
|
||||
p++;
|
||||
}
|
||||
|
||||
len = strlen(p);
|
||||
if(len > 0)
|
||||
{
|
||||
if((ipa_control = phdata.ipa_string[0]) > 0x20)
|
||||
{
|
||||
strcpy(&phon_out[ix], phdata.ipa_string);
|
||||
ix += len;
|
||||
}
|
||||
if(ipa_control >= 0x20)
|
||||
{
|
||||
phon_out = &phon_out[ix];
|
||||
*phon_out = 0;
|
||||
return(phon_out); // 0x20 = ignore phoneme
|
||||
}
|
||||
strcpy(phon_out, p);
|
||||
phon_out += len;
|
||||
*phon_out = 0;
|
||||
return(phon_out);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -630,12 +637,17 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
unsigned int max_len;
|
||||
int phon_out_ix=0;
|
||||
int stress;
|
||||
unsigned int c;
|
||||
int c;
|
||||
char *p;
|
||||
char *buf;
|
||||
int count;
|
||||
int flags;
|
||||
char phon_buf[30];
|
||||
char phon_buf2[30];
|
||||
PHONEME_LIST *plist;
|
||||
|
||||
static const char *stress_chars = "==,,''";
|
||||
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner
|
||||
|
||||
if(phon_out != NULL)
|
||||
{
|
||||
@@ -672,22 +684,38 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
}
|
||||
}
|
||||
|
||||
buf = WritePhMnemonic(buf, plist->ph, plist, use_ipa);
|
||||
flags = 0;
|
||||
WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
|
||||
count = 0;
|
||||
for(p=phon_buf2; *p != 0;)
|
||||
{
|
||||
p += utf8_in(&c, p);
|
||||
if(use_ipa > 1)
|
||||
{
|
||||
// look for non-inital alphabetic character, but not diacritic, superscript etc.
|
||||
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha(c))
|
||||
{
|
||||
buf += utf8_out(char_tie[use_ipa-2], buf);
|
||||
}
|
||||
}
|
||||
buf += utf8_out(c, buf);
|
||||
count++;
|
||||
}
|
||||
|
||||
if(plist->ph->code != phonSWITCH)
|
||||
{
|
||||
if(plist->synthflags & SFLAG_LENGTHEN)
|
||||
{
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa);
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[phonLENGTHEN], NULL, use_ipa, NULL);
|
||||
}
|
||||
if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL))
|
||||
{
|
||||
// syllablic consonant
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa);
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[phonSYLLABIC], NULL, use_ipa, NULL);
|
||||
}
|
||||
if(plist->tone_ph > 0)
|
||||
{
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa);
|
||||
buf = WritePhMnemonic(buf, phoneme_tab[plist->tone_ph], NULL, use_ipa, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+13
-1
@@ -67,6 +67,7 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -362,7 +363,7 @@ int main (int argc, char **argv)
|
||||
{"path", required_argument, 0, 0x107},
|
||||
{"phonout", required_argument, 0, 0x108},
|
||||
{"pho", no_argument, 0, 0x109},
|
||||
{"ipa", no_argument, 0, 0x10a},
|
||||
{"ipa", optional_argument, 0, 0x10a},
|
||||
{"version", no_argument, 0, 0x10b},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
@@ -604,6 +605,17 @@ int main (int argc, char **argv)
|
||||
|
||||
case 0x10a: // --ipa
|
||||
option_phonemes = 3;
|
||||
if(optarg2 != NULL)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>2))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
}
|
||||
option_phonemes += value;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x10b: // -version
|
||||
|
||||
+13
-1
@@ -101,6 +101,7 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -485,7 +486,7 @@ int main (int argc, char **argv)
|
||||
{"path", required_argument, 0, 0x107},
|
||||
{"phonout", required_argument, 0, 0x108},
|
||||
{"pho", no_argument, 0, 0x109},
|
||||
{"ipa", no_argument, 0, 0x10a},
|
||||
{"ipa", optional_argument, 0, 0x10a},
|
||||
{"version", no_argument, 0, 0x10b},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
@@ -723,6 +724,17 @@ int main (int argc, char **argv)
|
||||
|
||||
case 0x10a: // --ipa
|
||||
option_phonemes = 3;
|
||||
if(optarg2 != NULL)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>2))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
}
|
||||
option_phonemes += value;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x10b: // --version
|
||||
|
||||
+62
-62
@@ -82,12 +82,12 @@ void WVoiceChanged(voice_t *wvoice)
|
||||
static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event)
|
||||
{//======================================================================
|
||||
ENTER("dispatch_audio");
|
||||
|
||||
|
||||
int a_wave_can_be_played = fifo_is_command_enabled();
|
||||
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
SHOW("*** dispatch_audio > uid=%d, [write=%p (%d bytes)], sample=%d, a_wave_can_be_played = %d\n",
|
||||
(event) ? event->unique_identifier : 0, wave_test_get_write_buffer(), 2*length,
|
||||
SHOW("*** dispatch_audio > uid=%d, [write=%p (%d bytes)], sample=%d, a_wave_can_be_played = %d\n",
|
||||
(event) ? event->unique_identifier : 0, wave_test_get_write_buffer(), 2*length,
|
||||
(event) ? event->sample : 0,
|
||||
a_wave_can_be_played);
|
||||
#endif
|
||||
@@ -134,8 +134,8 @@ static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event)
|
||||
while(a_wave_can_be_played) {
|
||||
// TBD: some event are filtered here but some insight might be given
|
||||
// TBD: in synthesise.cpp for avoiding to create WORDs with size=0.
|
||||
// TBD: For example sentence "or ALT)." returns three words
|
||||
// "or", "ALT" and "".
|
||||
// TBD: For example sentence "or ALT)." returns three words
|
||||
// "or", "ALT" and "".
|
||||
// TBD: the last one has its size=0.
|
||||
if (event && (event->type == espeakEVENT_WORD) && (event->length==0))
|
||||
{
|
||||
@@ -171,7 +171,7 @@ static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event)
|
||||
}
|
||||
|
||||
SHOW_TIME("LEAVE dispatch_audio\n");
|
||||
|
||||
|
||||
return (a_wave_can_be_played==0); // 1 = stop synthesis, -1 = error
|
||||
}
|
||||
|
||||
@@ -183,12 +183,12 @@ static int create_events(short* outbuf, int length, espeak_EVENT* event, uint32_
|
||||
int i=0;
|
||||
|
||||
// The audio data are written to the output device.
|
||||
// The list of events in event_list (index: event_list_ix) is read:
|
||||
// The list of events in event_list (index: event_list_ix) is read:
|
||||
// Each event is declared to the "event" object which stores them internally.
|
||||
// The event object is responsible of calling the external callback
|
||||
// as soon as the relevant audio sample is played.
|
||||
|
||||
do
|
||||
do
|
||||
{ // for each event
|
||||
espeak_EVENT* event;
|
||||
if (event_list_ix == 0)
|
||||
@@ -231,7 +231,7 @@ int sync_espeak_terminated_msg( uint32_t unique_identifier, void* user_data)
|
||||
|
||||
if (my_mode==AUDIO_OUTPUT_PLAYBACK)
|
||||
{
|
||||
while(1)
|
||||
while(1)
|
||||
{
|
||||
espeak_ERROR a_error = event_declare(event_list);
|
||||
if (a_error != EE_BUFFER_FULL)
|
||||
@@ -290,14 +290,14 @@ static void select_output(espeak_AUDIO_OUTPUT output_type)
|
||||
int GetFileLength(const char *filename)
|
||||
{//====================================
|
||||
struct stat statbuf;
|
||||
|
||||
|
||||
if(stat(filename,&statbuf) != 0)
|
||||
return(0);
|
||||
|
||||
|
||||
if((statbuf.st_mode & S_IFMT) == S_IFDIR)
|
||||
// if(S_ISDIR(statbuf.st_mode))
|
||||
return(-2); // a directory
|
||||
|
||||
|
||||
return(statbuf.st_size);
|
||||
} // end of GetFileLength
|
||||
|
||||
@@ -337,7 +337,7 @@ static void init_path(const char *path)
|
||||
{
|
||||
sprintf(path_home,"%s/espeak-data",env);
|
||||
if(GetFileLength(path_home) == -2)
|
||||
return; // an espeak-data directory exists
|
||||
return; // an espeak-data directory exists
|
||||
}
|
||||
|
||||
buf[0] = 0;
|
||||
@@ -362,7 +362,7 @@ static void init_path(const char *path)
|
||||
{
|
||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env);
|
||||
if(GetFileLength(path_home) == -2)
|
||||
return; // an espeak-data directory exists
|
||||
return; // an espeak-data directory exists
|
||||
}
|
||||
|
||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME"));
|
||||
@@ -561,21 +561,21 @@ void MarkerEvent(int type, unsigned int char_position, int value, int value2, un
|
||||
ENTER("MarkerEvent");
|
||||
espeak_EVENT *ep;
|
||||
double time;
|
||||
|
||||
|
||||
if((event_list == NULL) || (event_list_ix >= (n_event_list-2)))
|
||||
return;
|
||||
|
||||
|
||||
ep = &event_list[event_list_ix++];
|
||||
ep->type = (espeak_EVENT_TYPE)type;
|
||||
ep->unique_identifier = my_unique_identifier;
|
||||
ep->user_data = my_user_data;
|
||||
ep->text_position = char_position & 0xffffff;
|
||||
ep->length = char_position >> 24;
|
||||
|
||||
|
||||
time = (double(count_samples + mbrola_delay + (out_ptr - out_start)/2)*1000.0)/samplerate;
|
||||
ep->audio_position = int(time);
|
||||
ep->sample = (count_samples + mbrola_delay + (out_ptr - out_start)/2);
|
||||
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
SHOW("MarkerEvent > count_samples=%d, out_ptr=%x, out_start=0x%x\n",count_samples, out_ptr, out_start);
|
||||
SHOW("*** MarkerEvent > type=%s, uid=%d, text_pos=%d, length=%d, audio_position=%d, sample=%d\n",
|
||||
@@ -605,22 +605,22 @@ void MarkerEvent(int type, unsigned int char_position, int value, int value2, un
|
||||
|
||||
|
||||
|
||||
espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text, size_t size,
|
||||
unsigned int position, espeak_POSITION_TYPE position_type,
|
||||
espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text, size_t size,
|
||||
unsigned int position, espeak_POSITION_TYPE position_type,
|
||||
unsigned int end_position, unsigned int flags, void* user_data)
|
||||
{//===========================================================================
|
||||
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
ENTER("sync_espeak_Synth");
|
||||
SHOW("sync_espeak_Synth > position=%d, position_type=%d, end_position=%d, flags=%d, user_data=0x%x, text=%s\n", position, position_type, end_position, flags, user_data, text);
|
||||
#endif
|
||||
|
||||
espeak_ERROR aStatus;
|
||||
|
||||
|
||||
InitText(flags);
|
||||
my_unique_identifier = unique_identifier;
|
||||
my_user_data = user_data;
|
||||
|
||||
|
||||
for (int i=0; i < N_SPEECH_PARAM; i++)
|
||||
saved_parameters[i] = param_stack[0].parameter[i];
|
||||
|
||||
@@ -629,26 +629,26 @@ espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text,
|
||||
case POS_CHARACTER:
|
||||
skip_characters = position;
|
||||
break;
|
||||
|
||||
|
||||
case POS_WORD:
|
||||
skip_words = position;
|
||||
break;
|
||||
|
||||
|
||||
case POS_SENTENCE:
|
||||
skip_sentences = position;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
if(skip_characters || skip_words || skip_sentences)
|
||||
skipping_text = 1;
|
||||
|
||||
|
||||
end_character_position = end_position;
|
||||
|
||||
|
||||
aStatus = Synthesize(unique_identifier, text, flags);
|
||||
#ifdef USE_ASYNC
|
||||
wave_flush(my_audio);
|
||||
#endif
|
||||
|
||||
|
||||
SHOW_TIME("LEAVE sync_espeak_Synth");
|
||||
return aStatus;
|
||||
} // end of sync_espeak_Synth
|
||||
@@ -656,29 +656,29 @@ espeak_ERROR sync_espeak_Synth(unsigned int unique_identifier, const void *text,
|
||||
|
||||
|
||||
|
||||
espeak_ERROR sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, size_t size,
|
||||
const char *index_mark, unsigned int end_position,
|
||||
espeak_ERROR sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, size_t size,
|
||||
const char *index_mark, unsigned int end_position,
|
||||
unsigned int flags, void* user_data)
|
||||
{//=========================================================================
|
||||
espeak_ERROR aStatus;
|
||||
|
||||
|
||||
InitText(flags);
|
||||
|
||||
|
||||
my_unique_identifier = unique_identifier;
|
||||
my_user_data = user_data;
|
||||
|
||||
|
||||
if(index_mark != NULL)
|
||||
{
|
||||
strncpy0(skip_marker, index_mark, sizeof(skip_marker));
|
||||
skipping_text = 1;
|
||||
}
|
||||
|
||||
|
||||
end_character_position = end_position;
|
||||
|
||||
|
||||
|
||||
|
||||
aStatus = Synthesize(unique_identifier, text, flags | espeakSSML);
|
||||
SHOW_TIME("LEAVE sync_espeak_Synth_Mark");
|
||||
|
||||
|
||||
return (aStatus);
|
||||
} // end of sync_espeak_Synth_Mark
|
||||
|
||||
@@ -710,7 +710,7 @@ void sync_espeak_Char(wchar_t character)
|
||||
char buf[80];
|
||||
my_unique_identifier = 0;
|
||||
my_user_data = NULL;
|
||||
|
||||
|
||||
sprintf(buf,"<say-as interpret-as=\"tts:char\">&#%d;</say-as>",character);
|
||||
Synthesize(0, buf,espeakSSML);
|
||||
}
|
||||
@@ -722,7 +722,7 @@ void sync_espeak_SetPunctuationList(const wchar_t *punctlist)
|
||||
// Set the list of punctuation which are spoken for "some".
|
||||
my_unique_identifier = 0;
|
||||
my_user_data = NULL;
|
||||
|
||||
|
||||
wcsncpy(option_punctlist, punctlist, N_PUNCTLIST);
|
||||
option_punctlist[N_PUNCTLIST-1] = 0;
|
||||
} // end of sync_espeak_SetPunctuationList
|
||||
@@ -771,7 +771,7 @@ ENTER("espeak_Initialize");
|
||||
setlocale(LC_CTYPE,"");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
init_path(path);
|
||||
initialise(options);
|
||||
select_output(output_type);
|
||||
@@ -788,30 +788,30 @@ ENTER("espeak_Initialize");
|
||||
outbuf = (unsigned char*)realloc(outbuf,outbuf_size);
|
||||
if((out_start = outbuf) == NULL)
|
||||
return(EE_INTERNAL_ERROR);
|
||||
|
||||
|
||||
// allocate space for event list. Allow 200 events per second.
|
||||
// Add a constant to allow for very small buf_length
|
||||
n_event_list = (buf_length*200)/1000 + 20;
|
||||
if((event_list = (espeak_EVENT *)realloc(event_list,sizeof(espeak_EVENT) * n_event_list)) == NULL)
|
||||
return(EE_INTERNAL_ERROR);
|
||||
|
||||
|
||||
option_phonemes = 0;
|
||||
option_mbrola_phonemes = 0;
|
||||
option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA));
|
||||
|
||||
VoiceReset(0);
|
||||
// SetVoiceByName("default");
|
||||
|
||||
|
||||
for(param=0; param<N_SPEECH_PARAM; param++)
|
||||
param_stack[0].parameter[param] = saved_parameters[param] = param_defaults[param];
|
||||
|
||||
|
||||
SetParameter(espeakRATE,175,0);
|
||||
SetParameter(espeakVOLUME,100,0);
|
||||
SetParameter(espeakCAPITALS,option_capitals,0);
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
SetParameter(espeakWORDGAP,0,0);
|
||||
// DoVoiceChange(voice);
|
||||
|
||||
|
||||
#ifdef USE_ASYNC
|
||||
fifo_init();
|
||||
#endif
|
||||
@@ -821,10 +821,10 @@ ENTER("espeak_Initialize");
|
||||
|
||||
|
||||
|
||||
ESPEAK_API espeak_ERROR espeak_Synth(const void *text, size_t size,
|
||||
unsigned int position,
|
||||
ESPEAK_API espeak_ERROR espeak_Synth(const void *text, size_t size,
|
||||
unsigned int position,
|
||||
espeak_POSITION_TYPE position_type,
|
||||
unsigned int end_position, unsigned int flags,
|
||||
unsigned int end_position, unsigned int flags,
|
||||
unsigned int* unique_identifier, void* user_data)
|
||||
{//=====================================================================================
|
||||
#ifdef DEBUG_ENABLED
|
||||
@@ -885,10 +885,10 @@ ESPEAK_API espeak_ERROR espeak_Synth(const void *text, size_t size,
|
||||
|
||||
|
||||
|
||||
ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t size,
|
||||
const char *index_mark,
|
||||
unsigned int end_position,
|
||||
unsigned int flags,
|
||||
ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t size,
|
||||
const char *index_mark,
|
||||
unsigned int end_position,
|
||||
unsigned int flags,
|
||||
unsigned int* unique_identifier,
|
||||
void* user_data)
|
||||
{//=========================================================================
|
||||
@@ -919,15 +919,15 @@ ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t size,
|
||||
|
||||
#ifdef USE_ASYNC
|
||||
// Create the mark command
|
||||
t_espeak_command* c1 = create_espeak_mark(text, size, index_mark, end_position,
|
||||
t_espeak_command* c1 = create_espeak_mark(text, size, index_mark, end_position,
|
||||
flags, user_data);
|
||||
|
||||
|
||||
// Retrieve the unique identifier
|
||||
*unique_identifier = c1->u.my_mark.unique_identifier;
|
||||
|
||||
|
||||
// Create the "terminated msg" command (same uid)
|
||||
t_espeak_command* c2 = create_espeak_terminated_msg(*unique_identifier, user_data);
|
||||
|
||||
|
||||
// Try to add these 2 commands (single transaction)
|
||||
if (c1 && c2)
|
||||
{
|
||||
@@ -1152,15 +1152,15 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
|
||||
value=0 No phoneme output (default)
|
||||
value=1 Output the translated phoneme symbols for the text
|
||||
value=2 as (1), but also output a trace of how the translation was done (matching rules and list entries)
|
||||
value=3 as (1), but produces IPA phoneme names rather than ascii
|
||||
value=3 as (1), but produces IPA phoneme names rather than ascii
|
||||
bit 4: produce mbrola pho data
|
||||
*/
|
||||
option_phonemes = value & 3;
|
||||
option_phonemes = value & 7;
|
||||
option_mbrola_phonemes = value & 16;
|
||||
f_trans = stream;
|
||||
if(stream == NULL)
|
||||
f_trans = stderr;
|
||||
|
||||
|
||||
} // end of espeak_SetPhonemes
|
||||
|
||||
|
||||
@@ -1269,4 +1269,4 @@ ESPEAK_API const char *espeak_Info(const char **ptr)
|
||||
|
||||
#pragma GCC visibility pop
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -490,7 +490,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr
|
||||
if(ph->code != phonEND_WORD)
|
||||
{
|
||||
char phoneme_name[16];
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, option_phoneme_events & espeakINITIALIZE_PHONEME_IPA);
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, option_phoneme_events & espeakINITIALIZE_PHONEME_IPA, NULL);
|
||||
DoPhonemeMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, phoneme_name);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -35,8 +35,8 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.46.39 01.Mar.13";
|
||||
const int version_phdata = 0x014639;
|
||||
const char *version_string = "1.46.40 03.Mar.13";
|
||||
const int version_phdata = 0x014640;
|
||||
|
||||
int option_device_number = -1;
|
||||
FILE *f_logespeak = NULL;
|
||||
|
||||
+4
-4
@@ -1438,7 +1438,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
}
|
||||
else
|
||||
{
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa);
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa, NULL);
|
||||
DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name);
|
||||
done_phoneme_marker = 1;
|
||||
}
|
||||
@@ -1751,7 +1751,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
|
||||
if((option_phoneme_events) && (done_phoneme_marker == 0))
|
||||
{
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa);
|
||||
WritePhMnemonic(phoneme_name, p->ph, p, use_ipa, NULL);
|
||||
DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name);
|
||||
}
|
||||
|
||||
@@ -1937,8 +1937,8 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
|
||||
if((option_phonemes > 0) || (phoneme_callback != NULL))
|
||||
{
|
||||
int use_ipa = 0;
|
||||
if(option_phonemes == 3)
|
||||
use_ipa = 1;
|
||||
if(option_phonemes >= 3)
|
||||
use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ
|
||||
|
||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
|
||||
if(option_phonemes > 0)
|
||||
|
||||
+15
-3
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -163,7 +163,7 @@ static void SetLetterBitsRange(Translator *tr, int group, int first, int last)
|
||||
|
||||
// ignore these characters
|
||||
static const unsigned short chars_ignore_default[] = {
|
||||
0xad, 1, // soft hyphtn
|
||||
0xad, 1, // soft hyphen
|
||||
0x200c, 1, // zero width non-joiner
|
||||
0x200d, 1, // zero width joiner
|
||||
0, 0 };
|
||||
@@ -436,13 +436,16 @@ Translator *SelectTranslator(const char *name)
|
||||
int name2 = 0;
|
||||
Translator *tr;
|
||||
|
||||
static const short stress_lengths_equal[8] = {250, 250, 250, 250, 0, 0, 250, 250};
|
||||
static const unsigned char stress_amps_equal[8] = {18,18, 18,18, 18,18, 18,18 };
|
||||
|
||||
static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240};
|
||||
static const unsigned char stress_amps_fr[8] = {18,16, 18,18, 18,18, 18,18 };
|
||||
|
||||
static const unsigned char stress_amps_sk[8] = {17,16, 20,20, 20,22, 22,21 };
|
||||
static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210};
|
||||
|
||||
static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230};
|
||||
static const short stress_lengths_ta[8] = {240, 240, 250, 250, 0, 0, 270, 270};
|
||||
static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 };
|
||||
|
||||
// convert name string into a word of up to 4 characters, for the switch()
|
||||
@@ -836,8 +839,17 @@ Translator *SelectTranslator(const char *name)
|
||||
{
|
||||
tr->letter_bits_offset = OFFSET_GURMUKHI;
|
||||
}
|
||||
else
|
||||
if(name2 == L('g','u'))
|
||||
{
|
||||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
tr->letter_bits_offset = OFFSET_GUJARATI;
|
||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||
}
|
||||
else
|
||||
if(name2 == L('n','e'))
|
||||
{
|
||||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
tr->langopts.break_numbers = 0x2aaaa8;
|
||||
tr->langopts.max_digits = 22;
|
||||
tr->langopts.numbers2 |= NUM2_ENGLISH_NUMERALS;
|
||||
|
||||
+15
-11
@@ -3309,17 +3309,21 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
*pn++ = tr->langopts.thousands_sep;
|
||||
}
|
||||
*pn++ = ' ';
|
||||
if(tr->langopts.break_numbers & (1 << (nx-1)))
|
||||
{
|
||||
// the next group only has 1 digits (i.e. NUM2_10000), make it three
|
||||
*pn++ = '0';
|
||||
*pn++ = '0';
|
||||
}
|
||||
if(tr->langopts.break_numbers & (1 << (nx-2)))
|
||||
{
|
||||
// the next group only has 2 digits (i.e. NUM2_10000), make it three
|
||||
*pn++ = '0';
|
||||
}
|
||||
|
||||
if((words[ix].flags & FLAG_INDIVIDUAL_DIGITS) == 0)
|
||||
{
|
||||
if(tr->langopts.break_numbers & (1 << (nx-1)))
|
||||
{
|
||||
// the next group only has 1 digits, make it three
|
||||
*pn++ = '0';
|
||||
*pn++ = '0';
|
||||
}
|
||||
if(tr->langopts.break_numbers & (1 << (nx-2)))
|
||||
{
|
||||
// the next group only has 2 digits (eg. Indian languages), make it three
|
||||
*pn++ = '0';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
pw--;
|
||||
|
||||
+1
-1
@@ -721,7 +721,7 @@ int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix
|
||||
void SetVoiceStack(espeak_VOICE *v, const char *variant_name);
|
||||
void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_DATA *phdata, WORD_PH_DATA *worddata);
|
||||
void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata);
|
||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa);
|
||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags);
|
||||
|
||||
extern FILE *f_trans; // for logging
|
||||
extern FILE *f_logespeak;
|
||||
|
||||
Reference in New Issue
Block a user