aborigine ab@r'IdZ@ni | aborigine ab@r'IdZ@ni | ||||
abracadabra abr@k@d'abr@ | abracadabra abr@k@d'abr@ | ||||
absence abs@ns | absence abs@ns | ||||
absent $1 | |||||
absent abs'Ent $verb | absent abs'Ent $verb | ||||
absentia abs'Ent2i:@ | absentia abs'Ent2i:@ | ||||
absinthe absInT | absinthe absInT | ||||
biased baI@st | biased baI@st | ||||
bible baIb@L | bible baIb@L | ||||
bidet bi:deI | bidet bi:deI | ||||
bigot bIg@t // -ed | |||||
bijou bi:Zu: | bijou bi:Zu: | ||||
bikini bIk'i:ni | bikini bIk'i:ni | ||||
binman bInman | binman bInman | ||||
graduate gradju:@t | graduate gradju:@t | ||||
graduate gradju:eIt $verb | graduate gradju:eIt $verb | ||||
graffiti $alt3 | graffiti $alt3 | ||||
grandson gr'andsVn | |||||
gredient gri:di@nt // ingredient | gredient gri:di@nt // ingredient | ||||
grenade gr@neId | grenade gr@neId | ||||
griffon grIf@n | griffon grIf@n |
m) otor oUt3 | m) otor oUt3 | ||||
n) o (tor oU | n) o (tor oU | ||||
otro (py '0tr@ | otro (py '0tr@ | ||||
&) o (try @ | |||||
c) otyle 0tIl'i: | c) otyle 0tIl'i: | ||||
m) o (x @ | m) o (x @ | ||||
o (x++ 0 | o (x++ 0 | ||||
?3 ag) on (_ 0n | ?3 ag) on (_ 0n | ||||
rg) on (_ @n | rg) on (_ @n | ||||
&s) on (_ @n | &s) on (_ @n | ||||
ds) on (_ Vn | |||||
&t) on (_ @n | &t) on (_ @n | ||||
&tr) on (_ 0n | &tr) on (_ 0n | ||||
fl) on (_ 0n | fl) on (_ 0n | ||||
pers) on @n | pers) on @n | ||||
pers) on (i '0n | pers) on (i '0n | ||||
postp) on 'oUn | postp) on 'oUn | ||||
_sp) on 0n | |||||
on (ald 0n | on (ald 0n | ||||
&) on (age_ @n | |||||
d) on (at %oUn | d) on (at %oUn | ||||
on (an_ oUn | on (an_ oUn | ||||
_) on (io Vn | _) on (io Vn | ||||
?3 h) ov (er Vv | ?3 h) ov (er Vv | ||||
l) ov Vv | l) ov Vv | ||||
l) ov (e Vv | l) ov (e Vv | ||||
_l) ove Vv | |||||
_l) ove (@ Vv | |||||
cl) ov (e oUv | cl) ov (e oUv | ||||
_sl) ov (enA oUv | _sl) ov (enA oUv | ||||
pl) ov oUv | pl) ov oUv |
@) ent (st_ 'Ent | @) ent (st_ 'Ent | ||||
@) ent (ste_ 'Ent | @) ent (ste_ 'Ent | ||||
ag) ent 'Ent | ag) ent 'Ent | ||||
X) es (_ Es | |||||
@j) es (_S1 s | @j) es (_S1 s | ||||
@z) es (_S1 s | @z) es (_S1 s | ||||
@) es (_S2qd 'Es // double the previous vowel | @) es (_S2qd 'Es // double the previous vowel | ||||
_) ge (@P2 Q@ | _) ge (@P2 Q@ | ||||
ge (bied Q@ | ge (bied Q@ | ||||
_) gee Qe: | _) gee Qe: | ||||
_) gei QEI | |||||
gener (aal Q,e:n@r | gener (aal Q,e:n@r | ||||
_) gelijk Q@lEIk | _) gelijk Q@lEIk | ||||
_) ge (rC QE | _) ge (rC QE | ||||
sj S | sj S | ||||
@) sje (_ sj@ | @) sje (_ sj@ | ||||
@) s (_S1 s | @) s (_S1 s | ||||
a) s (_ s | |||||
@) s (_$w_alt =s | @) s (_$w_alt =s | ||||
_) samen(@P5 s'a:m@n | |||||
sc (oop sk | sc (oop sk | ||||
sc (opi sk | sc (opi sk | ||||
&) sel (_ =s@l | &) sel (_ =s@l |
derdes $alt | derdes $alt | ||||
desapego $alt2 $noun | desapego $alt2 $noun | ||||
descabelo $alt | descabelo $alt | ||||
desce $alt | |||||
descem $alt | |||||
descordo $alt | descordo $alt | ||||
desespero $alt2 $noun | desespero $alt2 $noun | ||||
desfecho $alt2 | desfecho $alt2 | ||||
desprezo $alt $verb | |||||
desprezo $alt2 $noun | |||||
deveras $alt | deveras $alt | ||||
dez $alt | dez $alt | ||||
diarreia $alt | diarreia $alt | ||||
endereço $alt2 | endereço $alt2 | ||||
endereço $alt $verb | endereço $alt $verb | ||||
enforco $alt | enforco $alt | ||||
enforque $alt | |||||
enforquem $alt | |||||
engordo $alt | engordo $alt | ||||
enumerem $alt | |||||
ensopa $alt | |||||
ensopam $alt | |||||
ensope $alt | |||||
ensopem $alt | |||||
ensopo $alt | |||||
enredo $alt $verb | enredo $alt $verb | ||||
enterro $alt2 $noun | enterro $alt2 $noun | ||||
enumerem $alt | |||||
envelope $alt | envelope $alt | ||||
envolto $alt2 | envolto $alt2 | ||||
enxerto $alt2 $noun | enxerto $alt2 $noun | ||||
etiqueta $alt2 | etiqueta $alt2 | ||||
europa $alt | europa $alt | ||||
exagero $alt $verb | exagero $alt $verb | ||||
expeça $alt2 | |||||
expeço $alt2 | |||||
explore $alt | explore $alt | ||||
faceta $alt2 | faceta $alt2 | ||||
farelo $alt | farelo $alt | ||||
fizerdes $alt | fizerdes $alt | ||||
fizermos $alt | fizermos $alt | ||||
foda $alt2 $verb | foda $alt2 $verb | ||||
folheto $alt2 | |||||
folga $alt | folga $alt | ||||
fogos $alt | fogos $alt | ||||
foguete $alt2 | foguete $alt2 | ||||
foice $alt2 | foice $alt2 | ||||
forca $alt2 | forca $alt2 | ||||
força $alt2 $noun | força $alt2 $noun | ||||
forço $alt | |||||
forças $alt2 | forças $alt2 | ||||
forço $alt | |||||
fordes $alt2 | fordes $alt2 | ||||
fores $alt2 | fores $alt2 | ||||
forro $alt $verb | forro $alt $verb | ||||
joguete $alt2 | joguete $alt2 | ||||
lambreta $alt2 | lambreta $alt2 | ||||
lebre $alt | lebre $alt | ||||
lerda $alt | |||||
lerdo $alt | |||||
líderes $alt2 | líderes $alt2 | ||||
lopes $alt | lopes $alt | ||||
maior $alt | |||||
maleta $alt2 | maleta $alt2 | ||||
mantiverdes $alt | mantiverdes $alt | ||||
mantiveres $alt | mantiveres $alt | ||||
marmelo $alt | marmelo $alt | ||||
marreta $alt2 | marreta $alt2 | ||||
martelo $alt | martelo $alt | ||||
melhor $alt | |||||
menor $alt | |||||
merda $alt | merda $alt | ||||
megera $alt | megera $alt | ||||
melo $alt | melo $alt | ||||
moreia $alt | moreia $alt | ||||
mortos $alt | mortos $alt | ||||
motora $alt2 | motora $alt2 | ||||
?2 mulher mulj'Er | |||||
?4 mulher mul^'Er | |||||
mulher $alt | |||||
mui mwi | mui mwi | ||||
muito mw'iNtU // -s is included as a suffix | muito mw'iNtU // -s is included as a suffix | ||||
muita mw'iNt& | muita mw'iNt& | ||||
nervo $alt2 | nervo $alt2 | ||||
novos $alt | novos $alt | ||||
obstetra $alt | obstetra $alt | ||||
obsoleta $alt2 | |||||
obsoleto $alt2 | |||||
obtivera $alt | obtivera $alt | ||||
obtivermos $alt | obtivermos $alt | ||||
odisseia $alt | odisseia $alt | ||||
paexa paeSa | paexa paeSa | ||||
palacete $alt2 | palacete $alt2 | ||||
palheta $alt2 | palheta $alt2 | ||||
panfleto $alt2 | |||||
pangeia $alt | pangeia $alt | ||||
pantera $alt | pantera $alt | ||||
paralelo $alt | paralelo $alt | ||||
pedra $alt | pedra $alt | ||||
pelego $alt2 | pelego $alt2 | ||||
pelo $alt $verb | pelo $alt $verb | ||||
perde $alt | |||||
perdem $alt | |||||
pesa $alt | |||||
pesam $alt | |||||
pesque $alt | pesque $alt | ||||
pesquem $alt | pesquem $alt | ||||
peso $alt $verb | peso $alt $verb | ||||
piloto $alt2 $noun | piloto $alt2 $noun | ||||
pintora $alt2 | pintora $alt2 | ||||
pior $alt | |||||
pirueta $alt2 | pirueta $alt2 | ||||
plateia $alt | plateia $alt | ||||
plebeia $alt | plebeia $alt | ||||
pose $alt2 | pose $alt2 | ||||
povos $alt | povos $alt | ||||
poxa p'oS& | poxa p'oS& | ||||
preta $alt2 | |||||
preto $alt2 | |||||
preço $alt2 | |||||
primavera $alt | primavera $alt | ||||
provo $alt | provo $alt | ||||
puder $alt | puder $alt | ||||
pudermos $alt | pudermos $alt | ||||
puserdes $alt | puserdes $alt | ||||
quarteto $alt2 | quarteto $alt2 | ||||
queda $alt | |||||
quinteto $alt2 | quinteto $alt2 | ||||
quiserdes $alt | quiserdes $alt | ||||
quisermos $alt | quisermos $alt | ||||
rumores $alt2 | rumores $alt2 | ||||
saleta $alt2 | saleta $alt2 | ||||
sarjeta $alt | sarjeta $alt | ||||
severa $alt | |||||
severo $alt | |||||
seborreia $alt | seborreia $alt | ||||
seca $alt2 $noun | seca $alt2 $noun | ||||
secas $alt2 | secas $alt2 | ||||
sexteto $alt2 | sexteto $alt2 | ||||
?1 senhora $alt2 | ?1 senhora $alt2 | ||||
senhores $alt2 | senhores $alt2 | ||||
sincera $alt | |||||
sincero $alt | |||||
sinopse $alt | sinopse $alt | ||||
sobe $alt | sobe $alt | ||||
sobem $alt | |||||
sobem $alt | |||||
soco $alt2 | soco $alt2 | ||||
soco $alt $verb | soco $alt $verb | ||||
sofrem $alt | sofrem $alt | ||||
sofreste $alt2 | sofreste $alt2 | ||||
sogra $alt | sogra $alt | ||||
sopre $alt | sopre $alt | ||||
soprem $alt | |||||
soprem $alt | |||||
sopro $alt $verb | sopro $alt $verb | ||||
soro $alt2 | soro $alt2 | ||||
sorvete $alt2 | sorvete $alt2 | ||||
suborno $alt $verb | suborno $alt $verb | ||||
sufoco $alt2 $noun | sufoco $alt2 $noun | ||||
sufocos $alt2 | sufocos $alt2 | ||||
sugere $alt | |||||
sugerem $alt | |||||
suporto $alt | suporto $alt | ||||
suor swOr | suor swOr | ||||
tapete $alt2 | tapete $alt2 | ||||
zorra $alt2 | zorra $alt2 | ||||
// foreign words | // foreign words | ||||
?1 alt 'alt | ?1 alt 'alt | ||||
?2 agosto &g'ostU | ?2 agosto &g'ostU | ||||
?1 install ,inst'al | ?1 install ,inst'al | ||||
?2 internet iNtern'Et | ?2 internet iNtern'Et | ||||
?2 Intranet iNtRan'Et | ?2 Intranet iNtRan'Et | ||||
?2 inveja iNv'EZ& | |||||
?1 kernel k'Ern,El | ?1 kernel k'Ern,El | ||||
?2 kernel k'Ern@l | ?2 kernel k'Ern@l | ||||
?1 line l'ain | ?1 line l'ain | ||||
?1 lock l'Ok | ?1 lock l'Ok | ||||
mail m'eIl | mail m'eIl | ||||
mails m'eIls | 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 | ?2 mouse m'aUzi | ||||
?1 menu menu | ?1 menu menu | ||||
?1 next n'Ekst | ?1 next n'Ekst | ||||
?1 ovo 'ovu | ?1 ovo 'ovu | ||||
?1 pause p'au:z | ?1 pause p'au:z | ||||
page p'eIdZ | page p'eIdZ | ||||
?2 pior pi'Or | |||||
?2 piores pi'O*is | |||||
preço $alt2 | |||||
python p'aIT&~N | python p'aIT&~N | ||||
queda $alt | |||||
?1 readme r'i:dmi: | ?1 readme r'i:dmi: | ||||
?1 sapi s,ap'i | ?1 sapi s,ap'i | ||||
?1 scanner sk'En&r | ?1 scanner sk'En&r |
?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. | ?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. | ||||
?1 e (la_ 'E // eg: cadela, janela, vela, etc... | ?1 e (la_ 'E // eg: cadela, janela, vela, etc... | ||||
?1 C) e (cC ,E // eg: seleccionar, efectuar, 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 (ã i // leão, panteão, etc. | ||||
?1 C) e (a i // oceano, etc. | ?1 C) e (a i // oceano, etc. | ||||
?1 C) e (o 'i // eg: geologia, etc... | ?1 C) e (o 'i // eg: geologia, etc... | ||||
sf) e (ra_ E // esfera, biosfera | sf) e (ra_ E // esfera, biosfera | ||||
//sort | //sort | ||||
_com) e (L05_ e | |||||
fiz) e (L05_ E | fiz) e (L05_ E | ||||
tiv) e (L05_ E // es- | |||||
_com) e (L05_ e | |||||
_coub) e (L05_ E | _coub) e (L05_ E | ||||
_exag) e (L05_ E | _exag) e (L05_ E | ||||
_houv) e (L05_ E | _houv) e (L05_ E | ||||
_perd) e (L05_ e | _perd) e (L05_ e | ||||
_soub) e (L05_ E | _soub) e (L05_ E | ||||
tiv) e (L05_ E // es- | |||||
_rend) e (L06_ e | |||||
_vend) e (L06_ e | |||||
_atend) e (L06_ e | _atend) e (L06_ e | ||||
_compreend) e (L06_ e | _compreend) e (L06_ e | ||||
_entend) e (L06_ e | _entend) e (L06_ e | ||||
_estend) e (L06_ e | _estend) e (L06_ e | ||||
_rend) e (L06_ e | |||||
_vend) e (L06_ e | |||||
respond) e (L06_ e // cor- | 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 | _aborrec) e (L07_ e | ||||
_rejuvenec) e (L07_ e | |||||
_adoec) e (L07_ e | _adoec) e (L07_ e | ||||
_adormec) e (L07_ e | |||||
_amanhec) e (L07_ e | _amanhec) e (L07_ e | ||||
_anoitec) e (L07_ e | _anoitec) e (L07_ e | ||||
_arrepend) e (L07_ e | _arrepend) e (L07_ e | ||||
_beb) e (L07_ e | |||||
_com) e (L07_ e | |||||
_defend) e (L07_ e | _defend) e (L07_ e | ||||
_depend) e (L07_ e | _depend) e (L07_ e | ||||
_eleg) e (L07_ e | |||||
_enlouquec) e (L07_ e | _enlouquec) e (L07_ e | ||||
_entristec) e (L07_ e | _entristec) e (L07_ e | ||||
_envaidec) e (L07_ e | _envaidec) e (L07_ e | ||||
_envelhec) e (L07_ e | _envelhec) e (L07_ e | ||||
_ergu) e (L07_ e | |||||
_esclarec) e (L07_ e | _esclarec) e (L07_ e | ||||
_escond) e (L07_ e | _escond) e (L07_ e | ||||
_escurec) e (L07_ e | _escurec) e (L07_ e | ||||
_esquec) e (L07_ e | _esquec) e (L07_ e | ||||
_interromp) e (L07_ e | _interromp) e (L07_ e | ||||
_mord) e (L07_ e | |||||
_morr) e (L07_ e | |||||
_obedec) 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- | 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- | conhec) e (L07_ e // & re- des- | ||||
corr) e (L07_ e // per- con- in- so- dis- | |||||
entend) e (L07_ e | 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- | preend) e (L07_ e // sur- com- | ||||
_perec) e (L07_ e | |||||
respond) e (L07_ e // cor- | 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 | qu) e (brL04_ E | ||||
_hosp) e (dL03_ E | _hosp) e (dL03_ E | ||||
_d) e (vL03_ e | |||||
_gr) e (gL03_ e | _gr) e (gL03_ e | ||||
_n) e (grL03_ e | _n) e (grL03_ e | ||||
_estr) ei (L03_ EI | _estr) ei (L03_ EI | ||||
_s) e (quL02_ E | _s) e (quL02_ E | ||||
_p) e (quL02_ E | _p) e (quL02_ E | ||||
l) e (que_ E | l) e (que_ E | ||||
_sug) e (rL02_ E | |||||
_imp) e (rL03_ E | _imp) e (rL03_ E | ||||
_sev) e (rL03_ E | |||||
_reit) e (rL03_ E | _reit) e (rL03_ E | ||||
_sinc) e (rL03_ E | |||||
_g) e (rL04_ E | _g) e (rL04_ E | ||||
_op) e (rL04_ E | _op) e (rL04_ E | ||||
_qu) e (rL04_ E | _qu) e (rL04_ E | ||||
_alt) e (rL04_ E | _alt) e (rL04_ E | ||||
_sup) e (rL04_ E | _sup) e (rL04_ E | ||||
_tol) e (rL04_ E | _tol) e (rL04_ E | ||||
_ven) e (rL04_ E | |||||
_coop) e (rL04_ E | _coop) e (rL04_ E | ||||
_temp) e (rL04_ E | _temp) e (rL04_ E | ||||
_ven) e (rL04_ E | |||||
_v) e (rbL03_ E | _v) e (rbL03_ E | ||||
_p) e (rdL02_ E | |||||
_l) e (rdL03_ E | |||||
_h) e (rdL04_ E | _h) e (rdL04_ E | ||||
_) e (rguL02_ E | _) e (rguL02_ E | ||||
_alb) e (rguL02_ E | _alb) e (rguL02_ E | ||||
_enx) e (rguL02_ E | _enx) e (rguL02_ E | ||||
_bez) e (rrL03_ e | _bez) e (rrL03_ e | ||||
_rejuven) e (çL03_ e | |||||
_inv) e (rtL03_ e | _inv) e (rtL03_ e | ||||
_f) e (rvL03_ e | _f) e (rvL03_ e | ||||
_p) e (sL01_ E | |||||
_d) e (scL02_ E | |||||
_p) e (scL03_ E | _p) e (scL03_ E | ||||
_m) e (sclL04 E | _m) e (sclL04 E | ||||
_l) e (ssL02_ e | _l) e (ssL02_ e | ||||
_esp) e (ssL03_ e | _esp) e (ssL03_ e | ||||
_m) e (tL03_ e | _m) e (tL03_ e | ||||
_com) e (tL03_ e | _com) e (tL03_ e | ||||
_rem) e (tL03_ e | |||||
prom) e (tL03_ e // com- | prom) e (tL03_ e // com- | ||||
_derr) e (tL03_ e | _derr) e (tL03_ e | ||||
_rem) e (tL03_ e | |||||
_obsol) e (tL03_ e | |||||
_pr) e (tL03_ e | |||||
_sol) e (trL03_ E | _sol) e (trL03_ E | ||||
_pen) e (trL04_ E | _pen) e (trL04_ E | ||||
_atr) e (vL03_ e | |||||
scr) e (vL03_ e // e- in- pre- ree- de- | 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 | _embel) e (zL04_ E | ||||
pr) e (zL04_ E / des- menos- | |||||
_acont) e (çL01_ e | _acont) e (çL01_ e | ||||
_arref) e (çL01_ e | _arref) e (çL01_ e | ||||
par) e (çL03_ e // a- re- com- rea- desa- | |||||
_ado) e (çL03_ e | |||||
_aqu) e (çL03_ e | _aqu) e (çL03_ e | ||||
_car) e (çL03_ e | _car) e (çL03_ e | ||||
_estrem) e (çL03_ e | |||||
_mer) e (çL03_ e | _mer) e (çL03_ e | ||||
_pad) e (çL03_ e // com- | _pad) e (çL03_ e // com- | ||||
_per) e (çL03_ e | _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 | _esqu) e (çL03_ e | ||||
_forn) e (çL03_ e | |||||
_obed) e (çL03_ e | _obed) e (çL03_ e | ||||
_ofer) e (çL03_ e | _ofer) e (çL03_ e | ||||
abast) e (çL03_ e // re- | abast) e (çL03_ e // re- | ||||
_aborr) e (çL03_ e | _aborr) e (çL03_ e | ||||
_fortal) e (çL03_ e | |||||
_ado) e (çL03_ e | |||||
_amanh) e (çL03_ e | _amanh) e (çL03_ e | ||||
_anoit) e (çL03_ e | _anoit) e (çL03_ e | ||||
_enfraqu) e (çL03_ e | _enfraqu) e (çL03_ e | ||||
_envaid) e (çL03_ e | _envaid) e (çL03_ e | ||||
_envelh) e (çL03_ e | _envelh) e (çL03_ e | ||||
_esclar) 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 | //endsort | ||||
_m) o (rrL01_ o | _m) o (rrL01_ o | ||||
_c) o (spL02_ O | _c) o (spL02_ O | ||||
p) ostos (_ Ost=Us# // dispostos etc. | p) ostos (_ Ost=Us# // dispostos etc. | ||||
_s) o (bL02_ O | |||||
_s) o (prL02_ O | |||||
//endsort | //endsort | ||||
.group ô | .group ô |
பாதிக்கக் $alt | பாதிக்கக் $alt | ||||
புசு $alt | புசு $alt | ||||
புஸு $alt | புஸு $alt | ||||
பாதிக்காம $alt | |||||
// initial த as [d] | // initial த as [d] | ||||
தைவதம் $alt | தைவதம் $alt | ||||
தாட்சண்யம் $alt | தாட்சண்யம் $alt | ||||
தனம் $alt | தனம் $alt | ||||
திக்கற்ற $alt | |||||
தானு $alt | தானு $alt | ||||
திட $alt | திட $alt | ||||
தோ $alt | தோ $alt | ||||
தம்ம $alt | தம்ம $alt | ||||
தாயம் $alt | தாயம் $alt | ||||
திமு $alt | திமு $alt | ||||
தாவா $alt | |||||
// initial ட | // initial ட | ||||
டார்ச் t.a:rtS | டார்ச் t.a:rtS |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2009 to 2012 by Jonathan Duddington * | |||||
* Copyright (C) 2009 to 2013 by Jonathan Duddington * | |||||
* email: [email protected] * | * email: [email protected] * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
_) க (ங்கூலி gV | _) க (ங்கூலி gV | ||||
_) க (ங்கை gV | _) க (ங்கை gV | ||||
_) க (ங்கோத gV | _) க (ங்கோத gV | ||||
_) கஜ (க்ஸ்தான kVzV | |||||
_) க (ஞ்சா gV | _) க (ஞ்சா gV | ||||
_) க (டகட gV | _) க (டகட gV | ||||
_) க (டத்தில gV | _) க (டத்தில gV | ||||
_) க (லீர gV | _) க (லீர gV | ||||
_) க (லீல gV | _) க (லீல gV | ||||
_) க (லீஷிய gV | _) க (லீஷிய gV | ||||
_) கல்த (ா gVlt | |||||
_) க (ளுக் gV | _) க (ளுக் gV | ||||
_) க (வண gV | _) க (வண gV | ||||
_) க (வன gV | _) க (வன gV | ||||
_) கி (ளாL04ி k | _) கி (ளாL04ி k | ||||
_) கி (ளாL04ு k | _) கி (ளாL04ு k | ||||
_) கி (ளாL04ை k | _) கி (ளாL04ை k | ||||
_) கி (ளாமர g | |||||
_) கி (ளாஸ்_ g | _) கி (ளாஸ்_ g | ||||
_) கி (ளாஸ்_மேட k | _) கி (ளாஸ்_மேட k | ||||
_) கிளிக் (_L29 kl.ik | _) கிளிக் (_L29 kl.ik | ||||
_) க (ுகநாத g | _) க (ுகநாத g | ||||
_) க (ுகன g | _) க (ுகன g | ||||
_) க (ுகராஜ g | _) க (ுகராஜ g | ||||
_) க (ுகா g | |||||
_) க (ுகை g | _) க (ுகை g | ||||
_மன்மதக்) க (ுகை g | _மன்மதக்) க (ுகை g | ||||
_) க (ுஜராத g | _) க (ுஜராத g | ||||
_) க (ுண்டத் k | _) க (ுண்டத் k | ||||
_) க (ுண்டம k | _) க (ுண்டம k | ||||
_) க (ுண்டல k | _) க (ுண்டல k | ||||
_) க (ுண்டாக்கள k | |||||
_) குண்டாந்த (டி gun.d.a:ntV | _) குண்டாந்த (டி gun.d.a:ntV | ||||
_) க (ுண்டானில k | _) க (ுண்டானில k | ||||
_) க (ுண்டானை k | _) க (ுண்டானை k | ||||
_) க (ுண்டான் k | _) க (ுண்டான் k | ||||
_) க (ுண்டாவி k | |||||
_) க (ுண்டாவை k | |||||
_) க (ுண்டி k | _) க (ுண்டி k | ||||
_) க (ுண்டின g | _) க (ுண்டின g | ||||
_) குண்ட (ூர gun.t.V# | _) குண்ட (ூர gun.t.V# | ||||
_) க (ுதித் g | _) க (ுதித் g | ||||
_) க (ுதிப் g | _) க (ுதிப் g | ||||
_) க (ுதிப்பகுதி k | _) க (ுதிப்பகுதி k | ||||
_) க (ுதியாட்ட g | |||||
_) க (ுபீர g | _) க (ுபீர g | ||||
_) க (ுபுகுபு g | _) க (ுபுகுபு g | ||||
_) க (ுபுக் g | _) க (ுபுக் g | ||||
_) க (ுபேர g | |||||
_) குப் (த gup | _) குப் (த gup | ||||
_) க (ுப்புன g | _) க (ுப்புன g | ||||
_) க (ுப்பென்ற g | _) க (ுப்பென்ற g | ||||
_) க (ுருமூர்த்தி g | _) க (ுருமூர்த்தி g | ||||
_) க (ுருரா g | _) க (ுருரா g | ||||
_) க (ுருவடி g | _) க (ுருவடி g | ||||
_) க (ுருவருள g | |||||
_) க (ுருவா g | _) க (ுருவா g | ||||
_) க (ுருவாய g | _) க (ுருவாய g | ||||
_) க (ுருவிட g | _) க (ுருவிட g | ||||
_) க (ுருவின g | _) க (ுருவின g | ||||
_) க (ுருவிற்க g | |||||
_) க (ுருவு g | _) க (ுருவு g | ||||
_) க (ுருவுடை g | _) க (ுருவுடை g | ||||
_) க (ுருவை g | _) க (ுருவை g | ||||
_) க (ோர_முடிய k | _) க (ோர_முடிய k | ||||
_) க (ோர_வேண்ட k | _) க (ோர_வேண்ட k | ||||
_) க (ோரக g | _) க (ோரக g | ||||
_) க (ோரக்கூட k | |||||
_) க (ோரத்_தாண்ட g | _) க (ோரத்_தாண்ட g | ||||
_) க (ோரத்தால g | _) க (ோரத்தால g | ||||
_) க (ோரத்தை g | _) க (ோரத்தை g | ||||
_) க் (ரீன g | _) க் (ரீன g | ||||
_) க் (ரூப g | _) க் (ரூப g | ||||
_) க் (ரௌண்ட g | _) க் (ரௌண்ட g | ||||
_) க் (ளாமர g | |||||
_) க் (ளாஸ்_ g | _) க் (ளாஸ்_ g | ||||
_) க்வ (A kw | _) க்வ (A kw | ||||
_) க் (வாலியர g | _) க் (வாலியர g | ||||
தென்) க (ிழ k | தென்) க (ிழ k | ||||
_பா) க (ிஸ்தான k | _பா) க (ிஸ்தான k | ||||
அப) க (ீர்த்தி k | அப) க (ீர்த்தி k | ||||
க (ீழே_ k | |||||
க (ீழ்_ k | |||||
_பல்) க (ு k | _பல்) க (ு k | ||||
மலைக்) க (ுகை g | மலைக்) க (ுகை g | ||||
_பால்) க (ுட k | _பால்) க (ுட k | ||||
ம) க (ேசுவர H // need to restrict to _ம) and _வீரம) ?? | ம) க (ேசுவர H // need to restrict to _ம) and _வீரம) ?? | ||||
சீர்) க (ேட k | சீர்) க (ேட k | ||||
_லொ) கேட ke:t.V# | _லொ) கேட ke:t.V# | ||||
_நசி) க (ேத k | |||||
ம) க (ேந்திர H | ம) க (ேந்திர H | ||||
_ரா) க (ேஷ k | _ரா) க (ேஷ k | ||||
_மு) க (ேஷ k | _மு) க (ேஷ k | ||||
_வி) க்க (ிரக gg | _வி) க்க (ிரக gg | ||||
சத்தியா) க்கி (ரக gg | சத்தியா) க்கி (ரக gg | ||||
L03) க்கி (ரஹ gg // a,i | L03) க்கி (ரஹ gg // a,i | ||||
_சத்தியா) க்கி (ரஹ gg | |||||
கு) க்கி (ராம gg | கு) க்கி (ராம gg | ||||
அ) க்கி (ராம gg | அ) க்கி (ராம gg | ||||
இ) க்கி (ராம gg | இ) க்கி (ராம gg | ||||
//sort | //sort | ||||
_ராஞ்) ச tSV# | _ராஞ்) ச tSV# | ||||
எபிL09ே) ச zV# | |||||
ராகவா) ச )(ாரி tS | |||||
_ப) சக் tSVk | _ப) சக் tSVk | ||||
_) ச (க்கரவர்த்தி tSV | _) ச (க்கரவர்த்தி tSV | ||||
_) ச (க்கிலி tSV | _) ச (க்கிலி tSV | ||||
_க) ச (க்ஸ்தான zV | |||||
சங்க (ர s.VNkV | சங்க (ர s.VNkV | ||||
_) ச (ட்டL08ஸ்கர tSV | _) ச (ட்டL08ஸ்கர tSV | ||||
_) ச (ட்டினி tSV | _) ச (ட்டினி tSV | ||||
_நீலலோ) ச (னி tSV | _நீலலோ) ச (னி tSV | ||||
_மீனலோ) ச (னி tSV | _மீனலோ) ச (னி tSV | ||||
_) ச (ப்பL11் tSV | _) ச (ப்பL11் tSV | ||||
_) ச (ப்பலா tSV | |||||
_) ச (ப்பா tSV | _) ச (ப்பா tSV | ||||
_) ச (ப்பி tSV | _) ச (ப்பி tSV | ||||
_) ச (ப்பு tSV | _) ச (ப்பு tSV | ||||
_பங்) ச (ர tSV | _பங்) ச (ர tSV | ||||
_பன்) ச (ர tSV | _பன்) ச (ர tSV | ||||
_) சரசு (வதி sVrVs | _) சரசு (வதி sVrVs | ||||
_ந) சரத் zVrVt | |||||
_ந) ச (ருதீன zV | _ந) ச (ருதீன zV | ||||
_) சர்ச (ி tSVrtS | _) சர்ச (ி tSVrtS | ||||
_) ச (ர்ச்சில tSV | _) ச (ர்ச்சில tSV | ||||
மருதா) ச (ல tSV | மருதா) ச (ல tSV | ||||
வேதா) ச (ல tSV | வேதா) ச (ல tSV | ||||
_சேஷா) ச (ல tSV | _சேஷா) ச (ல tSV | ||||
_ஹிமா) ச (ல tSV | |||||
_தணிகா) ச (ல tSV | _தணிகா) ச (ல tSV | ||||
அருணா) ச (ல tSV | அருணா) ச (ல tSV | ||||
வெங்கடா) ச (ல tSV | வெங்கடா) ச (ல tSV | ||||
ஆ) ச (ாரங்கள tS | ஆ) ச (ாரங்கள tS | ||||
ஆ) ச (ாரத் tS | ஆ) ச (ாரத் tS | ||||
ஆ) ச (ாரம tS | ஆ) ச (ாரம tS | ||||
_ரங்கா) ச (ாரி tS | |||||
_வரதா) ச (ாரி tS | |||||
_வேதா) ச (ாரி tS | |||||
_கிருஷ்ணமா) ச (ாரி tS | |||||
_தேசிகா) ச (ாரி tS | |||||
_பட்டா) ச (ாரி tS | |||||
அனந்தா) ச (ாரி tS | |||||
அன்னமா) ச (ாரி tS | |||||
ஆ) ச (ாரிய_ tS | |||||
ஆ) ச (ாரியார tS | |||||
அ) ச (ாருதீன z | அ) ச (ாருதீன z | ||||
_) ச (ாருமதி tS | |||||
_) சாருலத (ா tSa:rUlVt | _) சாருலத (ா tSa:rUlVt | ||||
_) ச (ாருவ tS | _) ச (ாருவ tS | ||||
_ஹ) ச (ாரே z | _ஹ) ச (ாரே z | ||||
_) சிம்பன்ச (ி tSimpVnz | _) சிம்பன்ச (ி tSimpVnz | ||||
_மலே) ச (ிய s. | _மலே) ச (ிய s. | ||||
இந்தோனே) ச (ிய s. | இந்தோனே) ச (ிய s. | ||||
_) ச (ியர்ஸ tS | |||||
_பக்தி_) சிரத் (தை srVd | _பக்தி_) சிரத் (தை srVd | ||||
_) சிரத்த (ைL27 srVdd | _) சிரத்த (ைL27 srVdd | ||||
சி (ரம s | சி (ரம s | ||||
_) ச (ேரி tS | _) ச (ேரி tS | ||||
_தல) ச (ேரி tS | _தல) ச (ேரி tS | ||||
_) ச (ேர்கள tS | _) ச (ேர்கள tS | ||||
_) ச (ேர்மன tS | |||||
_) ச (ேர்மேன tS | _) ச (ேர்மேன tS | ||||
_) ச (ேலஞ் tS | _) ச (ேலஞ் tS | ||||
_) ச (ேஷ்டை tS | _) ச (ேஷ்டை tS | ||||
_) ச (ேஸ்_ tS | _) ச (ேஸ்_ tS | ||||
_) சைத (ன்ய tSaItV | |||||
_) ச (ைத்திய tS | _) ச (ைத்திய tS | ||||
_) ச (ைனா tS | _) ச (ைனா tS | ||||
_) ச (ைனா_நேவால s | _) ச (ைனா_நேவால s | ||||
_) ச (ைனீஸ tS | _) ச (ைனீஸ tS | ||||
_) ச (ோட்டா tS | _) ச (ோட்டா tS | ||||
ஓ) ச (ோன z | ஓ) ச (ோன z | ||||
அரி) ச (ோன z | |||||
_) ச (ோன்ன tS | _) ச (ோன்ன tS | ||||
_) ச (ோவு tS | _) ச (ோவு tS | ||||
_) ச (ோவெ tS | _) ச (ோவெ tS | ||||
_) ச (ௌக்கிதார tS | _) ச (ௌக்கிதார tS | ||||
_) ச (ௌதரி tS | _) ச (ௌதரி tS | ||||
_) ச (ௌதிரி tS | _) ச (ௌதிரி tS | ||||
_) ச (ௌத்தாலா tS | |||||
_) சௌப (ாத்தி tSaUp | _) சௌப (ாத்தி tSaUp | ||||
_) ச (ௌபே tS | _) ச (ௌபே tS | ||||
_) ச (ௌஹான tS | _) ச (ௌஹான tS | ||||
_ப) ஜ (ார z | _ப) ஜ (ார z | ||||
அ) ஜ (ாருதீன z | அ) ஜ (ாருதீன z | ||||
_நா) ஜ (ி z | _நா) ஜ (ி z | ||||
_) ஜிப்(_ zip | |||||
_) ஜ (ிப்ப z | |||||
_) ஜ (ியா z | _) ஜ (ியா z | ||||
_) ஜ (ீனத் z | |||||
_) ஜ (ீப்ரா z | |||||
_) ஜ (ீரோ z | _) ஜ (ீரோ z | ||||
_) ஜ (ுல்ஃபி z | _) ஜ (ுல்ஃபி z | ||||
_) ஜ (ுல்பி z | _) ஜ (ுல்பி z | ||||
_) ஜு (வால dZ | _) ஜு (வால dZ | ||||
_) ஜ (ெனித் z | |||||
_) ஜ (ெராக்ஸ z | _) ஜ (ெராக்ஸ z | ||||
//endsort | //endsort | ||||
_) டி (ரங் t. | _) டி (ரங் t. | ||||
_) டி (ரங்கு t. | _) டி (ரங்கு t. | ||||
_) டி (ரபிள t. | _) டி (ரபிள t. | ||||
_) டி (ரம d. | |||||
_) டிரம்பெட் t.rVmpet. | _) டிரம்பெட் t.rVmpet. | ||||
_) டிர (ஸ d.re | _) டிர (ஸ d.re | ||||
_) டிர (ஸ்ட t.rV | _) டிர (ஸ்ட t.rV | ||||
_) டி (ரா_ d. | |||||
_) டிராஃபிக் t.ra:fik | _) டிராஃபிக் t.ra:fik | ||||
_) டி (ராகுலா d. | _) டி (ராகுலா d. | ||||
_) டிராக் t.ra:k | _) டிராக் t.ra:k | ||||
_) டி (ராயிங் d. | _) டி (ராயிங் d. | ||||
கொலஸ்) டி (ரால _|t. | கொலஸ்) டி (ரால _|t. | ||||
_) டி (ராலி t. | _) டி (ராலி t. | ||||
_) டி (ராவ d. | |||||
_) டி (ராவல t. | _) டி (ராவல t. | ||||
_) டி (ராவெல t. | _) டி (ராவெல t. | ||||
_) டிரிக (ர t.riggV | _) டிரிக (ர t.riggV | ||||
_) டிரிக் t.rik | _) டிரிக் t.rik | ||||
_) டிரிக்க (ர t.riggV | _) டிரிக்க (ர t.riggV | ||||
_) டி (ரிங்_ t. | |||||
_) டி (ரிங்க் d. | _) டி (ரிங்க் d. | ||||
_) டி (ரிங்ஸ d. | |||||
_) டிரினிட (ி t.rinit. | _) டிரினிட (ி t.rinit. | ||||
_) டிரிப் t.rip | _) டிரிப் t.rip | ||||
_) டி (ரிம் t. | _) டி (ரிம் t. | ||||
_) டைப (ாய்ட t.aIf | _) டைப (ாய்ட t.aIf | ||||
_) டைப் t.aIp | _) டைப் t.aIp | ||||
_) ட (ைம்_ t. | _) ட (ைம்_ t. | ||||
_) ட (ைல்ஸ t. | |||||
_) டொக் t.ok | _) டொக் t.ok | ||||
_) ட (ோக்கன t. | _) ட (ோக்கன t. | ||||
_) ட (ோக்கியோ t. | _) ட (ோக்கியோ t. | ||||
_) டோரண்ட (ோ t.o:rVn.t. | _) டோரண்ட (ோ t.o:rVn.t. | ||||
_ப்ரி) ட (ோரிய t. | _ப்ரி) ட (ோரிய t. | ||||
_) டோர்னமெண்ட t.o:rnVmen.t.V# | _) டோர்னமெண்ட t.o:rnVmen.t.V# | ||||
_) ட (ோலிவுட் t. | |||||
_லே) ட் t. | _லே) ட் t. | ||||
@மெண்) ட் t. // -ment | @மெண்) ட் t. // -ment | ||||
_பேண்) ட் t. | _பேண்) ட் t. | ||||
ல) ட்சு (மண ks. | ல) ட்சு (மண ks. | ||||
ல) ட்சு (மி ks. | ல) ட்சு (மி ks. | ||||
_ல) ட்ட d.d.V# | _ல) ட்ட d.d.V# | ||||
_கோலிவு) ட்ட d.d.V# | |||||
_டோலிவு) ட்ட d.d.V# | |||||
_பாலிவு) ட்ட d.d.V# | |||||
_மாலிவு) ட்ட d.d.V# | |||||
_ஹாலிவு) ட்ட d.d.V# | |||||
_ரெ) ட்ட (ிய d.d. | _ரெ) ட்ட (ிய d.d. | ||||
இ) ட்ட (ிலி d.d. | இ) ட்ட (ிலி d.d. | ||||
அப்பாயிண்) ட்மெண்ட t.men.t.V# | அப்பாயிண்) ட்மெண்ட t.men.t.V# | ||||
_) ட்ரிக (ர t.riggV | _) ட்ரிக (ர t.riggV | ||||
_) ட்ரிக் t.rik | _) ட்ரிக் t.rik | ||||
_) ட்ரிக்க (ர t.riggV | _) ட்ரிக்க (ர t.riggV | ||||
_) ட் (ரிங்_ t. | |||||
_நியூ) ட் (ரின t. | _நியூ) ட் (ரின t. | ||||
_) ட்ரினிட (ி t.rinit. | _) ட்ரினிட (ி t.rinit. | ||||
_) ட் (ரிம் t. | _) ட் (ரிம் t. | ||||
ஸ்) த (B t | ஸ்) த (B t | ||||
ப்) த tV | ப்) த tV | ||||
ப்) த (B t | ப்) த (B t | ||||
ட்) த tV | |||||
ட்) த (B t | |||||
த் (_த t | த் (_த t | ||||
// exceptions, த as [d] | // exceptions, த as [d] | ||||
_) த (கன dV | _) த (கன dV | ||||
_) த (கி dV | _) த (கி dV | ||||
_) த (க்க்ஷிண dV | _) த (க்க்ஷிண dV | ||||
_) த (க்ஷன dV | |||||
_) த (க்ஷிண dV | _) த (க்ஷிண dV | ||||
_) த (க்ஷிணா dV | _) த (க்ஷிணா dV | ||||
_) த (சகண்ட dV | _) த (சகண்ட dV | ||||
_) த (ட்சன dV | _) த (ட்சன dV | ||||
_) த (ட்சிண dV | _) த (ட்சிண dV | ||||
_) த (ண்டக் dV | _) த (ண்டக் dV | ||||
_) த (ண்டச்செலவ dV | |||||
_) த (ண்டச்சோற dV | _) த (ண்டச்சோற dV | ||||
_) த (ண்டத் dV | _) த (ண்டத் dV | ||||
_) த (ண்டன dV | _) த (ண்டன dV | ||||
_) த (னுச dV | _) த (னுச dV | ||||
_) த (னுஷ dV | _) த (னுஷ dV | ||||
_) த (ன்மந்திரி dV | _) த (ன்மந்திரி dV | ||||
_) த (ன்ய dV | |||||
_) த (ன்ராஜ dV | _) த (ன்ராஜ dV | ||||
_) த (ன்வந்தரி dV | _) த (ன்வந்தரி dV | ||||
_) தபதப dVbVdVbV# | _) தபதப dVbVdVbV# | ||||
_) த (ம்பதி dV | _) த (ம்பதி dV | ||||
_) த (ம்பிடி dV | _) த (ம்பிடி dV | ||||
_) த (ம்மடிL11் dV | _) த (ம்மடிL11் dV | ||||
_) த (ம்மத் dV | |||||
_) த (ம்மம dV | |||||
_) த (யவ dV | _) த (யவ dV | ||||
_) த (யாணந்த dV | _) த (யாணந்த dV | ||||
_) த (யான dV | _) த (யான dV | ||||
_) த (ர்ப்பை dV | _) த (ர்ப்பை dV | ||||
_) த (ர்ம dV | _) த (ர்ம dV | ||||
_) த (லித் dV | _) த (லித் dV | ||||
_) தலீத் dVli:t | |||||
_அகாலி_) த (ள dV | _அகாலி_) த (ள dV | ||||
_) த (ளவாய dV | |||||
_) த (வக்கால dV | _) த (வக்கால dV | ||||
_) த (வக்கோல dV | _) த (வக்கோல dV | ||||
_) த (வத்த dV | _) த (வத்த dV | ||||
_) த (வப் dV | _) த (வப் dV | ||||
_) த (வம dV | _) த (வம dV | ||||
_) தவுலதாப (ாத dVvUlVda:b | _) தவுலதாப (ாத dVvUlVda:b | ||||
_) த (வே dV | |||||
_) த (ாக்கா d | _) த (ாக்கா d | ||||
_) த (ாக்காத t | _) த (ாக்காத t | ||||
_) த (ாக்காம t | _) த (ாக்காம t | ||||
_) த (ாராள d | _) த (ாராள d | ||||
_) த (ாராவி d | _) த (ாராவி d | ||||
_) த (ாவணி d | _) த (ாவணி d | ||||
_) த (ாவா d | |||||
_) த (ாவாக்க d | |||||
_) த (ாவாவ d | |||||
_) த (ாவேய d | _) த (ாவேய d | ||||
_) த (ாஸ d | _) த (ாஸ d | ||||
_) த (ிகம்பர d | _) த (ிகம்பர d | ||||
_) த (ிகில d | _) த (ிகில d | ||||
_) த (ிகுதிகு d | _) த (ிகுதிகு d | ||||
_) த (ிக்கற்ற d | |||||
_) த (ிக்கித்த d | _) த (ிக்கித்த d | ||||
_) த (ிக்கில d | _) த (ிக்கில d | ||||
_) த (ிக்கு d | _) த (ிக்கு d | ||||
_) த (ிம்ம d | _) த (ிம்ம d | ||||
_) தி (யாக t | _) தி (யாக t | ||||
_) தி (யான d | _) தி (யான d | ||||
_) தி (யேட்டர t | |||||
_) த (ியோபந்த d | |||||
_) த (ிரவ d | _) த (ிரவ d | ||||
_) த (ிரவிய d | _) த (ிரவிய d | ||||
_) தி (ராட்சை d | _) தி (ராட்சை d | ||||
_) த (ிவால d | _) த (ிவால d | ||||
_) த (ிவ்ய d | _) த (ிவ்ய d | ||||
_) த (ிவ்விய d | _) த (ிவ்விய d | ||||
_) தீக்ஷணி (ய di:ks.Vn | |||||
_) த (ீக்ஷண்ய d | |||||
_) த (ீக்ஷிதர d | _) த (ீக்ஷிதர d | ||||
_) தீட்சணி (ய di:d.tSVn. | |||||
_) த (ீட்சண்ய d | _) த (ீட்சண்ய d | ||||
_) த (ீட்சித d | _) த (ீட்சித d | ||||
_) த (ீட்சை d | _) த (ீட்சை d | ||||
_) த (ீரச் d | _) த (ீரச் d | ||||
_) த (ீரத்துட d | _) த (ீரத்துட d | ||||
_) த (ீரன d | _) த (ீரன d | ||||
_) த (ீரமிக d | |||||
_) த (ீரமில்ல d | _) த (ீரமில்ல d | ||||
_) த (ீரமுட d | _) த (ீரமுட d | ||||
_) த (ீரம்மிக d | _) த (ீரம்மிக d | ||||
_) தீர்க்க (முள்ள di:rggV# | _) தீர்க்க (முள்ள di:rggV# | ||||
_) தீர்க்க (ம்_ di:rggV | _) தீர்க்க (ம்_ di:rggV | ||||
_) தீர்க்க (ாயு di:rggV# | _) தீர்க்க (ாயு di:rggV# | ||||
_) த (ீர்க்காலோசனை d | |||||
_) த (ீவாளி d | _) த (ீவாளி d | ||||
_) து(ரோக d | _) து(ரோக d | ||||
_) த (ுக்க d | _) த (ுக்க d | ||||
_) த (ுன்மதி d | _) த (ுன்மதி d | ||||
_) த (ுன்மார்க்க d | _) த (ுன்மார்க்க d | ||||
_) த (ுபாய d | _) த (ுபாய d | ||||
_) த (ுபாஷி d | |||||
_) த (ுபாஷ d | |||||
_) த (ுப்பட்டா d | _) த (ுப்பட்டா d | ||||
_) த (ுமளி d | _) த (ுமளி d | ||||
_) த (ுரதிருஷ்ட d | _) த (ுரதிருஷ்ட d | ||||
_) த (ுரதிர்ஷ்ட d | _) த (ுரதிர்ஷ்ட d | ||||
_) த (ுரதிஷ்ட d | _) த (ுரதிஷ்ட d | ||||
_) துராக்க (ிர dra:gg | |||||
_) த (ுராசை d | _) த (ுராசை d | ||||
_) த (ுரியோதனன d | _) த (ுரியோதனன d | ||||
_) த (ுரியோதனா d | _) த (ுரியோதனா d | ||||
_கௌ) த (மி tV | _கௌ) த (மி tV | ||||
_புல்) த (ரை tV | _புல்) த (ரை tV | ||||
_மண்) த (ரை tV | _மண்) த (ரை tV | ||||
_சகுந்) த (லா tV | |||||
_சாந்) த (லிங்க tV# | _சாந்) த (லிங்க tV# | ||||
_கீ) த (ா t | _கீ) த (ா t | ||||
_சீ) த (ா t | _சீ) த (ா t | ||||
அனி) த (ா t | அனி) த (ா t | ||||
சுஜா) த (ா t | சுஜா) த (ா t | ||||
லலி) த (ா t | லலி) த (ா t | ||||
_சமந்) த (ா t | |||||
_சுனி) த (ா t | _சுனி) த (ா t | ||||
_மம்) த (ா t | _மம்) த (ா t | ||||
_ஹரி) த (ா t | _ஹரி) த (ா t | ||||
_சுப) த்த (ிர dd | _சுப) த்த (ிர dd | ||||
_ரு) த்த (ிர dd | _ரு) த்த (ிர dd | ||||
_ரௌ) த்த (ிர dd | _ரௌ) த்த (ிர dd | ||||
_சூ) த்த (ிரச் dd | |||||
_சூ) த்த (ிரச்சி dd | _சூ) த்த (ிரச்சி dd | ||||
_சூ) த்த (ிரத் dd | |||||
_சூ) த்த (ிரன dd | _சூ) த்த (ிரன dd | ||||
_சூ) த்த (ிரப் dd | |||||
_சூ) த்த (ிரரி dd | _சூ) த்த (ிரரி dd | ||||
_சூ) த்த (ிரரே dd | |||||
_சூ) த்த (ிரர் dd | _சூ) த்த (ிரர் dd | ||||
ஆதி) த்தி (ராவிட dd | ஆதி) த்தி (ராவிட dd | ||||
_சேஷா) த்த (ிரி dd | _சேஷா) த்த (ிரி dd | ||||
_வில்_வி) த்த (ை dd | _வில்_வி) த்த (ை dd | ||||
_வில்வி) த்த (ை dd | _வில்வி) த்த (ை dd | ||||
_வி) த்த (ைகள dd | _வி) த்த (ைகள dd | ||||
_வி) த்த (ைக்க dd | |||||
_வி) த்த (ைக்காக dd | _வி) த்த (ைக்காக dd | ||||
_வி) த்த (ைக்கு dd | _வி) த்த (ைக்கு dd | ||||
வி) த்த (ையாக dd | வி) த்த (ையாக dd | ||||
_) ப (கீர bV | _) ப (கீர bV | ||||
_) ப (குள bV | _) ப (குள bV | ||||
_) ப (க்கிங்L06ாம bV | _) ப (க்கிங்L06ாம bV | ||||
_) ப (க்கீர fV | |||||
_) ப (க்கெட் bV | _) ப (க்கெட் bV | ||||
_) ப (க்கென்ற bV | _) ப (க்கென்ற bV | ||||
_) பக் (த bVk | _) பக் (த bVk | ||||
_) ப (ங்கம bV | _) ப (ங்கம bV | ||||
_) பங்க (ர bVNkV | _) பங்க (ர bVNkV | ||||
_) ப (ங்களா bV | _) ப (ங்களா bV | ||||
_) ப (ங்களூர bV | |||||
_) ப (ங்கார bV | _) ப (ங்கார bV | ||||
_) ப (ங்க் bV | _) ப (ங்க் bV | ||||
_) ப (சவகல்யாண bV | _) ப (சவகல்யாண bV | ||||
_) ப (ராக்_ஒபாமா bV | _) ப (ராக்_ஒபாமா bV | ||||
_) ப (ரிதா_ fV | _) ப (ரிதா_ fV | ||||
_) ப (ரிதாவ fV | _) ப (ரிதாவ fV | ||||
_) ப (ரீத fV | |||||
_) பரூக் fVrU:k | _) பரூக் fVrU:k | ||||
_) ப (ரோட bV | _) ப (ரோட bV | ||||
_) ப (ர்ஃபி bV | _) ப (ர்ஃபி bV | ||||
_) ப (லராம bV | _) ப (லராம bV | ||||
_) ப (லவந்த bV | _) ப (லவந்த bV | ||||
_) ப (லவான bV | _) ப (லவான bV | ||||
_) ப (லவானவ pV | |||||
_) ப (லவீன bV | _) ப (லவீன bV | ||||
_) ப (லஹீன bV | _) ப (லஹீன bV | ||||
_) பலாத்க (ார bVla:dk | _) பலாத்க (ார bVla:dk | ||||
_) பாங்க (ாக் ba:Nk | _) பாங்க (ாக் ba:Nk | ||||
_) ப (ாங்கில b | _) ப (ாங்கில b | ||||
_) ப (ாங்க் b | _) ப (ாங்க் b | ||||
_) ப (ாசிL04 f | |||||
_) ப (ாசில f | _) ப (ாசில f | ||||
_) ப (ாசு b | _) ப (ாசு b | ||||
_) பாசுப (த pa:sUpV | _) பாசுப (த pa:sUpV | ||||
_) ப (ாதிக்கப்பட b | _) ப (ாதிக்கப்பட b | ||||
_) ப (ாதிக்கப்பட b | _) ப (ாதிக்கப்பட b | ||||
_) ப (ாதிக்கலாம b | _) ப (ாதிக்கலாம b | ||||
_) ப (ாதிக்கவ b | |||||
_) ப (ாதிக்கவா b | _) ப (ாதிக்கவா b | ||||
_) ப (ாதிக்கவில் b | |||||
_) ப (ாதிக்காத b | _) ப (ாதிக்காத b | ||||
_) ப (ாதிக்காமல b | |||||
_) ப (ாதிக்கால p | _) ப (ாதிக்கால p | ||||
_) ப (ாதிக்கின்ற b | _) ப (ாதிக்கின்ற b | ||||
_) ப (ாதிக்கிற b | _) ப (ாதிக்கிற b | ||||
_) ப (ாதிக்கும்_மேற் p | _) ப (ாதிக்கும்_மேற் p | ||||
_) ப (ாதிக்கும்_மேற்பட்ட_ p | _) ப (ாதிக்கும்_மேற்பட்ட_ p | ||||
_) ப (ாதிக்கும்_மேல p | _) ப (ாதிக்கும்_மேல p | ||||
_) ப (ாதிச்ச b | |||||
_) ப (ாதித்த b | _) ப (ாதித்த b | ||||
_) ப (ாதிப்படை b | _) ப (ாதிப்படை b | ||||
_) ப (ாதிப்படைகி b | _) ப (ாதிப்படைகி b | ||||
_) பாப (ாவ ba:b | _) பாப (ாவ ba:b | ||||
_) ப (ாபிலோன b | _) ப (ாபிலோன b | ||||
_) ப (ாபுவ b | _) ப (ாபுவ b | ||||
_டைம்_) ப (ாம b | |||||
_) ப (ாமாவ b | _) ப (ாமாவ b | ||||
_) ப (ாமினி b | _) ப (ாமினி b | ||||
_) ப (ாம்பே b | _) ப (ாம்பே b | ||||
_) ப (ாரதி b | _) ப (ாரதி b | ||||
_) ப (ாரத்த b | _) ப (ாரத்த b | ||||
_) ப (ாரம b | _) ப (ாரம b | ||||
_) ப (ாரமை p | |||||
_) ப (ாரம்பரிய p | _) ப (ாரம்பரிய p | ||||
_) ப (ாரம்மா p | _) ப (ாரம்மா p | ||||
_) ப (ாரவி b | _) ப (ாரவி b | ||||
_) ப (ாலுவ b | _) ப (ாலுவ b | ||||
_) ப (ாலே_L25 b | _) ப (ாலே_L25 b | ||||
_) ப (ாலை p | _) ப (ாலை p | ||||
_) ப (ாலையா b | |||||
_) ப (ால் p | _) ப (ால் p | ||||
_) ப (ால்_தாக்கரே b | _) ப (ால்_தாக்கரே b | ||||
_) பால்க (னி ba:lkV | _) பால்க (னி ba:lkV | ||||
_) ப (ினிஷ f | _) ப (ினிஷ f | ||||
_) ப (ின்_லேடன b | _) ப (ின்_லேடன b | ||||
_) ப (ின்னங்கள b | _) ப (ின்னங்கள b | ||||
_) ப (ின்னத்த b | |||||
_) ப (ின்னத்தால b | _) ப (ின்னத்தால b | ||||
_) ப (ின்னத்தை b | _) ப (ின்னத்தை b | ||||
_) ப (ின்னம b | _) ப (ின்னம b | ||||
_) பி (ரமுகர p | _) பி (ரமுகர p | ||||
_) பி (ரமை b | _) பி (ரமை b | ||||
_) பி (ரமோஷன p | _) பி (ரமோஷன p | ||||
_) பி (ரமோஸ b | |||||
_) ப (ிரம்ம b | _) ப (ிரம்ம b | ||||
_) பி (ரம்ம b | _) பி (ரம்ம b | ||||
_) பி (ரம்மன b | _) பி (ரம்மன b | ||||
_) பி (ரளய p | _) பி (ரளய p | ||||
_) பி (ரவகி p | _) பி (ரவகி p | ||||
_) பி (ரவாக p | _) பி (ரவாக p | ||||
_) பி (ரவாள p | |||||
_) பி (ரவீண p | _) பி (ரவீண p | ||||
_) பி (ரவீன p | _) பி (ரவீன p | ||||
_) பி (ரவுச b | _) பி (ரவுச b | ||||
_) பி (ரவேசி p | _) பி (ரவேசி p | ||||
_) பி (ரஷ் b | _) பி (ரஷ் b | ||||
_) பி (ரஷ்ட p | _) பி (ரஷ்ட p | ||||
_) பி (ரஸ p | |||||
_) பி (ரஸல்ஸ b | _) பி (ரஸல்ஸ b | ||||
_) பி (ரஸாத p | _) பி (ரஸாத p | ||||
_) பி (ரஸ்தா p | _) பி (ரஸ்தா p | ||||
_) பி (ரான்ச f | _) பி (ரான்ச f | ||||
_) பி (ரான்தி_ b | _) பி (ரான்தி_ b | ||||
_) பி (ரான்ஸ f | _) பி (ரான்ஸ f | ||||
_) பி (ராபல்ய p | |||||
_) பி (ராப் p | _) பி (ராப் p | ||||
_) பி (ராமண b | _) பி (ராமண b | ||||
_) பி (ராமணன b | _) பி (ராமணன b | ||||
_) பி (ராமிக் b | _) பி (ராமிக் b | ||||
_) பி (ராமின்_ b | _) பி (ராமின்_ b | ||||
_) பி (ராமிஸ p | _) பி (ராமிஸ p | ||||
_) பி (ராம்மண b | |||||
_) பி (ராய்லர b | _) பி (ராய்லர b | ||||
_) பி (ரார்தன p | _) பி (ரார்தன p | ||||
_) பி (ரார்தி p | _) பி (ரார்தி p | ||||
_) பி (ராவுக்கு b | _) பி (ராவுக்கு b | ||||
_) பி (ராவை b | _) பி (ராவை b | ||||
_) பி (ரிகேட b | _) பி (ரிகேட b | ||||
_) பி (ரிஜேஷ b | |||||
_) பி (ரிட b | _) பி (ரிட b | ||||
_) பிரிட (ோரிய prit. | _) பிரிட (ோரிய prit. | ||||
_) பி (ரிட்டோரிய p | _) பி (ரிட்டோரிய p | ||||
_) பி (ரியாவின p | _) பி (ரியாவின p | ||||
_) பி (ரியாவு p | _) பி (ரியாவு p | ||||
_) பி (ரியாவை p | _) பி (ரியாவை p | ||||
_) பி (ரில்லிய b | |||||
_) பி (ரிஸ்டன b | _) பி (ரிஸ்டன b | ||||
_) பி (ரிஸ்டல b | _) பி (ரிஸ்டல b | ||||
_) பிரிஸ்ப (ேன brisb | _) பிரிஸ்ப (ேன brisb | ||||
_) பி (ரோகிதர p | _) பி (ரோகிதர p | ||||
_) பி (ரௌச b | _) பி (ரௌச b | ||||
_) பி (ரௌன b | _) பி (ரௌன b | ||||
_) ப (ிர்லா b | |||||
_) ப (ிலாஸ்பூர b | _) ப (ிலாஸ்பூர b | ||||
_) பிலிடெல்ப (ிய filidelf | _) பிலிடெல்ப (ிய filidelf | ||||
_) பிலிம filmV# | _) பிலிம filmV# | ||||
_) ப (ீடித்த p | _) ப (ீடித்த p | ||||
_) ப (ீடிப்புகை b | _) ப (ீடிப்புகை b | ||||
_) ப (ீடிய b | _) ப (ீடிய b | ||||
_) ப (ீடியாட் p | |||||
_) ப (ீட்டில்ஸ b | _) ப (ீட்டில்ஸ b | ||||
_) பீட்ரூட் bi:t.ru:t. | _) பீட்ரூட் bi:t.ru:t. | ||||
_) பீத (ோவன bi:t | _) பீத (ோவன bi:t | ||||
_) பீ (ராமண b | _) பீ (ராமண b | ||||
_) ப (ீராமணர b | _) ப (ீராமணர b | ||||
_) ப (ீரிட p | _) ப (ீரிட p | ||||
_) ப (ீரியட p | |||||
_) ப (ீரோ b | _) ப (ீரோ b | ||||
_) ப (ீர்_முகமத p | _) ப (ீர்_முகமத p | ||||
_) ப (ீர்_முஹமத p | _) ப (ீர்_முஹமத p | ||||
_) ப (ெங்களூர b | _) ப (ெங்களூர b | ||||
_) ப (ெங்கால b | _) ப (ெங்கால b | ||||
_) பெசண்ட besVn.t.V# | _) பெசண்ட besVn.t.V# | ||||
_) பெச (வாடா bezV | |||||
_) பெஜ (வாடா bezV | |||||
_) பெஞ்ச ben^tSV# | _) பெஞ்ச ben^tSV# | ||||
_) ப (ெஞ்சமின b | _) ப (ெஞ்சமின b | ||||
_) பெஞ்ச (மின ben^dZV | _) பெஞ்ச (மின ben^dZV | ||||
_) ப (ெப்ரவரி f | _) ப (ெப்ரவரி f | ||||
_) ப (ெயில f | _) ப (ெயில f | ||||
_) பெரோஸ fero:zV# | _) பெரோஸ fero:zV# | ||||
_) ப (ெர்க்கிலி b | |||||
_) பெர்ட் (ரண்ட bert. | _) பெர்ட் (ரண்ட bert. | ||||
_) ப (ெர்த் b | _) ப (ெர்த் b | ||||
_) ப (ெர்னாட்ஷா b | _) ப (ெர்னாட்ஷா b | ||||
_) ப (ைகுக்கு b | _) ப (ைகுக்கு b | ||||
_) ப (ைக்கின b | _) ப (ைக்கின b | ||||
_) ப (ைக்கிற்க b | _) ப (ைக்கிற்க b | ||||
_) ப (ைக்கில b | |||||
_) ப (ைக்குகள b | _) ப (ைக்குகள b | ||||
_) ப (ைக்கும b | _) ப (ைக்கும b | ||||
_) ப (ைசன b | _) ப (ைசன b | ||||
_) ப (ொம்மனாட்டி p | _) ப (ொம்மனாட்டி p | ||||
_) ப (ொம்மல b | _) ப (ொம்மல b | ||||
_) ப (ொம்மை b | _) ப (ொம்மை b | ||||
_) ப (ோஃபர்ஸ b | |||||
_) ப (ோஃபோர் b | _) ப (ோஃபோர் b | ||||
_) ப (ோக_L13 b | _) ப (ோக_L13 b | ||||
_) ப (ோகங்க b | _) ப (ோகங்க b | ||||
_) ப (ோகிய b | _) ப (ோகிய b | ||||
_) ப (ோக்கஸ f | _) ப (ோக்கஸ f | ||||
_) ப (ோங்கா b | _) ப (ோங்கா b | ||||
_) ப (ோங்கானும p | |||||
_) ப (ோங்கு b | _) ப (ோங்கு b | ||||
_) ப (ோஜ b | _) ப (ோஜ b | ||||
_) ப (ோடோ b | _) ப (ோடோ b | ||||
_) ப (ோட்டோக்க f | _) ப (ோட்டோக்க f | ||||
_) போட்டோக்ராப (ர fo:t.t.o:gra:fV | _) போட்டோக்ராப (ர fo:t.t.o:gra:fV | ||||
_) ப (ோட்டோதான f | _) ப (ோட்டோதான f | ||||
_) ப (ோணி b | |||||
_) ப (ோண்டா b | _) ப (ோண்டா b | ||||
_) ப (ோண்டி b | _) ப (ோண்டி b | ||||
_) ப (ோதகன b | _) ப (ோதகன b | ||||
_) ப (ோன்கூட f | _) ப (ோன்கூட f | ||||
_) ப (ோன்லகூட f | _) ப (ோன்லகூட f | ||||
_) ப (ோன்ஸ்லே b | _) ப (ோன்ஸ்லே b | ||||
_) போப (ர்ஸ bo:fV | |||||
_) போப (ால bo:p | _) போப (ால bo:p | ||||
_) போப (ோர் bo:f | _) போப (ோர் bo:f | ||||
_) ப (ோரடி b | _) ப (ோரடி b | ||||
_மீள்) ப (தி pV | _மீள்) ப (தி pV | ||||
சீதா) பதி pVti | சீதா) பதி pVti | ||||
சேது) பதி pVti | சேது) பதி pVti | ||||
_விடு) ப (தி pV | |||||
தரணி) பதி pVti | தரணி) பதி pVti | ||||
திரௌ) ப (தி pV | திரௌ) ப (தி pV | ||||
பிரஜா) பத (ி pVt | பிரஜா) பத (ி pVt | ||||
_க) ப (த் bV | _க) ப (த் bV | ||||
அரா) பத் fVt | அரா) பத் fVt | ||||
அல்) ப (த் pV | அல்) ப (த் pV | ||||
_கிலா) பத் fVt | |||||
_தா) ப (த்த bV | _தா) ப (த்த bV | ||||
வீர) ப (த்தினி pV | வீர) ப (த்தினி pV | ||||
_ரிஷி) ப (த்தினி pV | _ரிஷி) ப (த்தினி pV | ||||
_ஊடு) ப (யிர pV | _ஊடு) ப (யிர pV | ||||
_நடை) ப (யிற்சி pV | _நடை) ப (யிற்சி pV | ||||
கா) ப (ர bV | கா) ப (ர bV | ||||
_ஜெனி) ப (ர fV | |||||
நாகா) ப (ரண bV | நாகா) ப (ரண bV | ||||
_ஒலி) ப (ரப் pV | _ஒலி) ப (ரப் pV | ||||
_ஒளி) ப (ரப் pV | _ஒளி) ப (ரப் pV | ||||
_கார்) ப (ரேஷன pV | _கார்) ப (ரேஷன pV | ||||
_பம்) ப (ர்_ pV | _பம்) ப (ர்_ pV | ||||
_கன்) ப (ர்ம fV | _கன்) ப (ர்ம fV | ||||
இன்) ப (ர்ம fV | |||||
கரம்) ப (ற் pV | கரம்) ப (ற் pV | ||||
_தீ) ப (ற்ற pV | _தீ) ப (ற்ற pV | ||||
ஆள்) ப (ற்ற pV | ஆள்) ப (ற்ற pV | ||||
_ஷில்) ப (ா p | _ஷில்) ப (ா p | ||||
_முஸ்த) ப (ா f | _முஸ்த) ப (ா f | ||||
_ஹனி) ப (ா f | _ஹனி) ப (ா f | ||||
_ஹனீ) ப (ா f | |||||
_போதும்) ப (ா p | _போதும்) ப (ா p | ||||
_போலாம்) ப (ா p | _போலாம்) ப (ா p | ||||
_வேண்டாம்) ப (ா p | _வேண்டாம்) ப (ா p | ||||
ஒரு) ப (ாத p | ஒரு) ப (ாத p | ||||
_படு) ப (ாத p | _படு) ப (ாத p | ||||
_மறு) ப (ாத p | _மறு) ப (ாத p | ||||
பரீதா) ப (ாத b | |||||
ஆமதா) ப (ாத b | ஆமதா) ப (ாத b | ||||
அL06மதா) ப (ாத b | அL06மதா) ப (ாத b | ||||
அலாகா) ப (ாத b | |||||
இஸ்லாமா) ப (ாத b | இஸ்லாமா) ப (ாத b | ||||
ஒளரங்கா) ப (ாத b | ஒளரங்கா) ப (ாத b | ||||
ஔரங்கா) ப (ாத b | ஔரங்கா) ப (ாத b | ||||
முக) ப (ாவ b | முக) ப (ாவ b | ||||
அட) ப (ாவ p | அட) ப (ாவ p | ||||
வீண்) ப (ாவ p | வீண்) ப (ாவ p | ||||
_படு) ப (ாவ p | |||||
அடி) ப (ாவி p | அடி) ப (ாவி p | ||||
_நவ) ப (ாஷ p | _நவ) ப (ாஷ p | ||||
_தமிழ்ப்) ப (ாஷ _b | _தமிழ்ப்) ப (ாஷ _b | ||||
@) ப (ின்னால்_ p | @) ப (ின்னால்_ p | ||||
_) ப (ிப்ரவரி f | _) ப (ிப்ரவரி f | ||||
_லெஸ்) ப (ியன b | _லெஸ்) ப (ியன b | ||||
_மா) ப (ியா f | |||||
_கன்) பி (யுச f | _கன்) பி (யுச f | ||||
_பெர்) பி (யூம f | _பெர்) பி (யூம f | ||||
_வரப்) பி (ரL04ாத p | _வரப்) பி (ரL04ாத p | ||||
வீண்) பி (ரமை b | வீண்) பி (ரமை b | ||||
துஷ்) பி (ரயோக p | துஷ்) பி (ரயோக p | ||||
L03ந்தப்) பி (ரளய p | L03ந்தப்) பி (ரளய p | ||||
_சொற்) பி (ரவாக p | |||||
எக்ஸ்) பிர (ஸ pre | எக்ஸ்) பிர (ஸ pre | ||||
ஆ) பி (ரஹாம b | ஆ) பி (ரஹாம b | ||||
பயப்) பி (ராந்தி b | பயப்) பி (ராந்தி b | ||||
ஆண்) ப (ிள்ளை p | ஆண்) ப (ிள்ளை p | ||||
பெண்) ப (ிள்ளை p | பெண்) ப (ிள்ளை p | ||||
அச்சா) ப (ீ f | அச்சா) ப (ீ f | ||||
_ர) பீக் fi:k | |||||
உப) ப (ீட p | உப) ப (ீட p | ||||
விக்கி) ப (ீடியா p | விக்கி) ப (ீடியா p | ||||
இம்) ப (ீரியல p | இம்) ப (ீரியல p | ||||
_அன்) ப (ுட b | _அன்) ப (ுட b | ||||
_மார்) ப (ுட b | _மார்) ப (ுட b | ||||
ராஜ) ப (ுதன p | ராஜ) ப (ுதன p | ||||
_மின்) ப (ுத்தக p | |||||
_) புத்தம்ப (ுத puttVmp | _) புத்தம்ப (ுத puttVmp | ||||
ராஜ) ப (ுத்திர p | ராஜ) ப (ுத்திர p | ||||
வாயு) ப (ுத்திர p | வாயு) ப (ுத்திர p | ||||
_பா) ப (ுலர p | _பா) ப (ுலர p | ||||
_) பு (ளோரன்ஸ f | _) பு (ளோரன்ஸ f | ||||
மண்) ப (ுழு p | மண்) ப (ுழு p | ||||
_ஷாம்) ப (ூ p | |||||
ப (ூச்சி p | ப (ூச்சி p | ||||
ம்) ப (ூச்சி b | ம்) ப (ூச்சி b | ||||
உறுதி) ப (ூண்ட p | உறுதி) ப (ூண்ட p | ||||
_கை) ப (ேசி p | _கை) ப (ேசி p | ||||
_செல்) ப (ேசி p | _செல்) ப (ேசி p | ||||
அலை) ப (ேசி p | அலை) ப (ேசி p | ||||
_திரை) ப (ேசி p | |||||
தொலை) ப (ேசி p | தொலை) ப (ேசி p | ||||
_மறு) ப (ேச்ச p | _மறு) ப (ேச்ச p | ||||
ஒரு) ப (ேச்ச p | ஒரு) ப (ேச்ச p | ||||
_ வெடி) ப (ொரு p | _ வெடி) ப (ொரு p | ||||
_பழம்) ப (ொருள p | _பழம்) ப (ொருள p | ||||
_தொல்) ப (ொருள p | _தொல்) ப (ொருள p | ||||
_தேடு) ப (ொறி p | |||||
வீண்) ப (ொழுத p | வீண்) ப (ொழுத p | ||||
ப (ொழுதிலா_+ p | ப (ொழுதிலா_+ p | ||||
ப (ொழுதிலும்_+ p | ப (ொழுதிலும்_+ p | ||||
ப (ொழுதே_+ p | ப (ொழுதே_+ p | ||||
ப (ொழுதோ_+ p | ப (ொழுதோ_+ p | ||||
_விலை) ப (ோ p | _விலை) ப (ோ p | ||||
_பிர) ப (ோL04 p | |||||
_ஏக) ப (ோக b | _ஏக) ப (ோக b | ||||
ராஜ) ப (ோக b | ராஜ) ப (ோக b | ||||
ப (ோக_ p | ப (ோக_ p | ||||
ப (ோன_ p | ப (ோன_ p | ||||
ப (ோனது_ p | ப (ோனது_ p | ||||
ப (ோனா p | ப (ோனா p | ||||
அல்) ப (ோன்சா f | |||||
ப (ோன்ற+ p // ?? end-of-word + suffix ?? | ப (ோன்ற+ p // ?? end-of-word + suffix ?? | ||||
அல்) ப (ோன்ஸ f | அல்) ப (ோன்ஸ f | ||||
ப (ோயிரு p | ப (ோயிரு p | ||||
_டே) ப (் p | _டே) ப (் p | ||||
_போ) ப் p | _போ) ப் p | ||||
_லாக) ப் p | _லாக) ப் p | ||||
ஆசி) ப் f | |||||
_டெஸ்க்டா) ப் p | _டெஸ்க்டா) ப் p | ||||
ஆ) ப் (கன f | |||||
ஆ) ப் (கான f | ஆ) ப் (கான f | ||||
_பா) ப்க (ார்ன pk | _பா) ப்க (ார்ன pk | ||||
_ர) ப்ச (ர ptSV | _ர) ப்ச (ர ptSV | ||||
_லி) ப் (ட f | _லி) ப் (ட f | ||||
_மைக்ரோசா) ப் (ட f | _மைக்ரோசா) ப் (ட f | ||||
_சா) ப்ட் (வேர ft | _சா) ப்ட் (வேர ft | ||||
_ச) ப் (த_ p | |||||
_ச) ப்த (மி_ ptV | |||||
_ச) ப்த (மிய ptV | |||||
_ச) ப் (தரிஷி p | |||||
_ச) ப் (தஸ்வர p | |||||
_ஹி) ப்னாட (ிச pna:t. | _ஹி) ப்னாட (ிச pna:t. | ||||
கர்) ப்ப bbV# | கர்) ப்ப bbV# | ||||
_நவா) ப்ப bbV# | _நவா) ப்ப bbV# | ||||
_ர) ப்ப (ர bbV | _ர) ப்ப (ர bbV | ||||
ஆ) ப்ப (ரிக்க fV | ஆ) ப்ப (ரிக்க fV | ||||
தென்னா) ப்ப (ரிக்க fV | தென்னா) ப்ப (ரிக்க fV | ||||
_துர்) ப்ப (ல bbV | |||||
உ) ப்ப (லா bbV | உ) ப்ப (லா bbV | ||||
உ) ப்ப (லாக bbV | உ) ப்ப (லாக bbV | ||||
உ) ப்ப (லான bbV | உ) ப்ப (லான bbV | ||||
_ஜ) ப்ப (ார bb | _ஜ) ப்ப (ார bb | ||||
_துர்) ப்ப (ாஷ bb | _துர்) ப்ப (ாஷ bb | ||||
அ) ப்ப (ாஸ bb | அ) ப்ப (ாஸ bb | ||||
அ) ப்ப (ாஸாமி pp | |||||
அ) ப்ப (ாஸ்வாமி pp | |||||
உ) ப்ப (ி_ bb | உ) ப்ப (ி_ bb | ||||
_ட) ப்ப (ிங் bb | _ட) ப்ப (ிங் bb | ||||
உ) ப்ப (ின_ bb | உ) ப்ப (ின_ bb | ||||
L03) ப்பி (ரகார pp | L03) ப்பி (ரகார pp | ||||
_வெளி) ப்பி (ரகார pp | _வெளி) ப்பி (ரகார pp | ||||
அதிக) ப்பி (ரசங்க pp | அதிக) ப்பி (ரசங்க pp | ||||
_வன) ப்பி (ரதேச pp | |||||
_காட்டு) ப்பி (ரதேச pp | |||||
_நில) ப்பி (ரபு pp | _நில) ப்பி (ரபு pp | ||||
_சத்திய) ப்பி (ரமா pp | _சத்திய) ப்பி (ரமா pp | ||||
மன) ப்பி (ரமை bb | மன) ப்பி (ரமை bb | ||||
_மன) ப்பி (ரவாக pp | _மன) ப்பி (ரவாக pp | ||||
_ரத்த) ப்பி (ரவாக pp | _ரத்த) ப்பி (ரவாக pp | ||||
இசை) ப்பி (ரவாக pp | இசை) ப்பி (ரவாக pp | ||||
உரை) ப்பி (ரவாக pp | |||||
இரத்த) ப்பி (ரவாக pp | இரத்த) ப்பி (ரவாக pp | ||||
_ஒL10ி) ப்பி (ரவாக pp | _ஒL10ி) ப்பி (ரவாக pp | ||||
தேச) ப்பி (ரஷ்ட pp | தேச) ப்பி (ரஷ்ட pp | ||||
_ஜாதி) ப்பி (ரஷ்ட pp | _ஜாதி) ப்பி (ரஷ்ட pp | ||||
_வான) ப்பி (ரஸ்த pp | |||||
ஆ) ப்பி (ரிக்க f | ஆ) ப்பி (ரிக்க f | ||||
தென்னா) ப்பி (ரிக்க fV | தென்னா) ப்பி (ரிக்க fV | ||||
_கஜ) ப்ப (ிருஷ்ட bb | _கஜ) ப்ப (ிருஷ்ட bb | ||||
_உ) ஸ்பெக் zbek | _உ) ஸ்பெக் zbek | ||||
_நவா) ஸ zV# | _நவா) ஸ zV# | ||||
பெர்னாண்ட) ஸ zV# | பெர்னாண்ட) ஸ zV# | ||||
_ம) ஸ்த (ூர zd | |||||
அரி) ஸ (ோன z | |||||
.group ஹ | .group ஹ | ||||
ஹ HV | ஹ HV |
// This ur_list file is prepared by Him Prasad Gautam (Kathmandu, Nepal) | |||||
// This ur_list file is prepared by Him Prasad Gautam (Kathmandu, Nepal) | |||||
// This file is UTF8 encoded | // This file is UTF8 encoded | ||||
// Letter Names, Numbers and exceptional pronounciation of Urdu | // Letter Names, Numbers and exceptional pronounciation of Urdu | ||||
_dpt _ISaRI'Ia_ | _dpt _ISaRI'Ia_ | ||||
// Exception of phonemes | |||||
// pronouns | |||||
یہ jE $u | یہ jE $u | ||||
کہ kE $u | کہ kE $u | ||||
وہ wo: $u | وہ wo: $u | ||||
پ $u | |||||
تم tUm $u | |||||
ہم Ham $u | |||||
اس Is $u | |||||
ان In $u | |||||
// unstressed prepositions | |||||
کا $u | |||||
کی $u | |||||
کے $u | |||||
سے $u | |||||
اور OR $u $brk | |||||
// unstressed verbs | |||||
ہے $u | |||||
ہیں $u | |||||
// Pronunciation exceptions | |||||
پاکستان p'a:k'i:st'a:n | پاکستان p'a:k'i:st'a:n |
| |||||
// This ur_rules file is written by Him Prasad Gautam (Kathmandu, Nepal). | // This ur_rules file is written by Him Prasad Gautam (Kathmandu, Nepal). | ||||
// This file is UTF8 encoded | // This file is UTF8 encoded | ||||
// phoneme rules for Urdu | // phoneme rules for Urdu | ||||
وٗ u: | وٗ u: | ||||
و (L01 v | و (L01 v | ||||
_) و vV | _) و vV | ||||
وع (_ u: | |||||
.group ی | .group ی | ||||
ی e: | ی e: | ||||
ی (L01 j | ی (L01 j | ||||
ی (_ i: | ی (_ i: | ||||
_) ی jV | _) ی jV | ||||
یع(_ i: | |||||
.group ے // yeh barree | .group ے // yeh barree | ||||
.group ء | .group ء | ||||
ء | ء | ||||
.group ہ | |||||
.group ہ | |||||
ہ H | ہ H | ||||
_) ہ Ha | |||||
_) ہ (L01 H | |||||
_) ہ (ند HI | |||||
ہ (_ a | ہ (_ a | ||||
language en 2 | language en 2 | ||||
gender male | gender male | ||||
replace 03 I i | |||||
replace 03 I2 i | |||||
//pitch 80 118 | //pitch 80 118 | ||||
tunes s1 c1 q1 e1 | tunes s1 c1 q1 e1 |
phoneme @L | phoneme @L | ||||
vowel starttype #@ endtype l | vowel starttype #@ endtype l | ||||
ipa əl | |||||
ipa ə|l | |||||
unstressed | unstressed | ||||
length 160 | length 160 | ||||
CALL vowelstart_l | CALL vowelstart_l |
vowel starttype #a endtype #@ | vowel starttype #a endtype #@ | ||||
length 250 | length 250 | ||||
ipa aː | ipa aː | ||||
AppendPhoneme(r) | |||||
IF NOT nextPhW(r) THEN | |||||
AppendPhoneme(r) | |||||
ENDIF | |||||
FMT(vowelr/aa_r) | FMT(vowelr/aa_r) | ||||
endphoneme | endphoneme | ||||
vowel starttype #o endtype #@ | vowel starttype #o endtype #@ | ||||
length 230 | length 230 | ||||
ipa ɔ | ipa ɔ | ||||
AppendPhoneme(r) | |||||
IF NOT nextPhW(r) THEN | |||||
AppendPhoneme(r) | |||||
ENDIF | |||||
FMT(vowelr/oo_r) | FMT(vowelr/oo_r) | ||||
endphoneme | endphoneme | ||||
vowel starttype #o endtype #@ | vowel starttype #o endtype #@ | ||||
length 230 | length 230 | ||||
ipa o | ipa o | ||||
AppendPhoneme(r) | |||||
IF NOT nextPhW(r) THEN | |||||
AppendPhoneme(r) | |||||
ENDIF | |||||
FMT(vowelr/oo_r) | FMT(vowelr/oo_r) | ||||
endphoneme | endphoneme | ||||
vowel starttype #e endtype #@ | vowel starttype #e endtype #@ | ||||
length 220 | length 220 | ||||
ipa e | ipa e | ||||
AppendPhoneme(r) | |||||
IF NOT nextPhW(r) THEN | |||||
AppendPhoneme(r) | |||||
ENDIF | |||||
FMT(vdiph2/e@) | FMT(vdiph2/e@) | ||||
endphoneme | endphoneme | ||||
vowel starttype #i endtype #@ | vowel starttype #i endtype #@ | ||||
ipa ɪ | ipa ɪ | ||||
length 240 | length 240 | ||||
AppendPhoneme(r) | |||||
IF NOT nextPhW(r) THEN | |||||
AppendPhoneme(r) | |||||
ENDIF | |||||
FMT(vowelr/i_r) | FMT(vowelr/i_r) | ||||
endphoneme | endphoneme | ||||
liquid rhotic | liquid rhotic | ||||
lengthmod 7 | lengthmod 7 | ||||
trill | trill | ||||
IF nextPh(isNotVowel) THEN | IF nextPh(isNotVowel) THEN | ||||
ChangePhoneme(r/) | ChangePhoneme(r/) | ||||
ENDIF | ENDIF | ||||
CALL base/r | CALL base/r | ||||
ipa r | |||||
endphoneme | endphoneme | ||||
phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American | phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American | ||||
vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
ipa ɑːɹ | |||||
ipa ɑː|ɹ | |||||
IF nextPh(r-) THEN | IF nextPh(r-) THEN | ||||
ipa ɑː | ipa ɑː | ||||
ENDIF | ENDIF | ||||
phoneme O@ | phoneme O@ | ||||
vowel starttype #o endtype #@ | vowel starttype #o endtype #@ | ||||
length 250 | length 250 | ||||
ipa ɔːɹ | |||||
ipa ɔː|ɹ | |||||
IF nextPhW(r) THEN | IF nextPhW(r) THEN | ||||
ipa ɔː | ipa ɔː | ||||
ENDIF | ENDIF | ||||
phoneme o@ | phoneme o@ | ||||
vowel starttype #o endtype #@ | vowel starttype #o endtype #@ | ||||
length 250 | length 250 | ||||
ipa oːɹ | |||||
ipa oː|ɹ | |||||
IF nextPhW(r) THEN | IF nextPhW(r) THEN | ||||
ipa oː | ipa oː | ||||
ENDIF | ENDIF | ||||
phoneme e@ | phoneme e@ | ||||
vowel starttype #e endtype #@ | vowel starttype #e endtype #@ | ||||
length 280 | length 280 | ||||
ipa ɛɹ | |||||
ipa ɛ|ɹ | |||||
IF nextPhW(r) THEN | IF nextPhW(r) THEN | ||||
ipa ɛ | ipa ɛ | ||||
ENDIF | ENDIF | ||||
phoneme i@3 | phoneme i@3 | ||||
vowel starttype #i endtype #@ | vowel starttype #i endtype #@ | ||||
length 280 | length 280 | ||||
ipa ɪɹ | |||||
ipa ɪ|ɹ | |||||
IF nextPhW(r) THEN | IF nextPhW(r) THEN | ||||
ipa ɪ | ipa ɪ | ||||
ENDIF | ENDIF | ||||
phoneme U@ | phoneme U@ | ||||
vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
length 250 | length 250 | ||||
ipa ʊɹ | |||||
ipa ʊ|ɹ | |||||
IF nextPhW(r-) THEN | IF nextPhW(r-) THEN | ||||
ipa ʊ | ipa ʊ | ||||
ENDIF | ENDIF |
extern void FindPhonemesUsed(void); | extern void FindPhonemesUsed(void); | ||||
extern void DisplayErrorFile(const char *fname); | 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 int utf8_out(unsigned int c, char *buf); | ||||
extern void DrawEnvelopes(); | extern void DrawEnvelopes(); | ||||
extern void ReadPhondataManifest(); | extern void ReadPhondataManifest(); | ||||
enum { | enum { | ||||
kPHONEMESTART = 1, | kPHONEMESTART = 1, | ||||
kUTF8_BOM, | |||||
kPROCEDURE, | kPROCEDURE, | ||||
kENDPHONEME, | kENDPHONEME, | ||||
kENDPROCEDURE, | kENDPROCEDURE, | ||||
kTUNE_SPLIT, | kTUNE_SPLIT, | ||||
}; | }; | ||||
static const char utf8_bom[] = {0xef,0xbb,0xbf,0}; | |||||
static keywtab_t k_intonation[] = { | static keywtab_t k_intonation[] = { | ||||
{"tune", 0, kTUNE}, | {"tune", 0, kTUNE}, | ||||
{"endtune", 0, kENDTUNE}, | {"endtune", 0, kENDTUNE}, | ||||
{"phonemenumber",tSTATEMENT, kPHONEMENUMBER}, | {"phonemenumber",tSTATEMENT, kPHONEMENUMBER}, | ||||
{"phonemetable",tSTATEMENT, kPHONEMETABLE}, | {"phonemetable",tSTATEMENT, kPHONEMETABLE}, | ||||
{"include", tSTATEMENT, kINCLUDE}, | {"include", tSTATEMENT, kINCLUDE}, | ||||
{utf8_bom, tSTATEMENT, kUTF8_BOM}, | |||||
{"phoneme", tSTATEMENT, kPHONEMESTART}, | {"phoneme", tSTATEMENT, kPHONEMESTART}, | ||||
{"procedure", tSTATEMENT, kPROCEDURE}, | {"procedure", tSTATEMENT, kPROCEDURE}, | ||||
int keyword; | int keyword; | ||||
int value; | int value; | ||||
int phcode = 0; | int phcode = 0; | ||||
int flags; | |||||
int ix; | int ix; | ||||
unsigned int c; | |||||
int start; | |||||
int count; | |||||
int c; | |||||
char *p; | char *p; | ||||
char number_buf[12]; | char number_buf[12]; | ||||
char ipa_buf[N_ITEM_STRING]; | |||||
char ipa_buf[N_ITEM_STRING+1]; | |||||
PHONEME_TAB phoneme_out2; | PHONEME_TAB phoneme_out2; | ||||
PHONEME_PROG_LOG phoneme_prog_log; | PHONEME_PROG_LOG phoneme_prog_log; | ||||
strcpy(item_string," "); | strcpy(item_string," "); | ||||
// copy the string, recognize characters in the form U+9999 | // 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]=='+')) | if((c=='U') && (p[0]=='+')) | ||||
{ | { | ||||
int j; | |||||
// U+9999 | // 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; | number_buf[4] = 0; | ||||
c = 0; | |||||
c = '#'; | |||||
sscanf(number_buf,"%x",&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]); | ix += utf8_out(c, &ipa_buf[ix]); | ||||
count++; | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
ipa_buf[ix++] = c; | |||||
ix += utf8_out(c, &ipa_buf[ix]); | |||||
count++; | |||||
} | } | ||||
} | } | ||||
ipa_buf[0] = flags; | |||||
ipa_buf[ix] = 0; | 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; | *prog_out++ = (i_IPA_NAME << 8) + value; | ||||
for(ix=0; ix < value; ix += 2) | 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; | break; | ||||
} | } | ||||
switch(item) | switch(item) | ||||
{ | { | ||||
case kUTF8_BOM: | |||||
break; // ignore bytes 0xef 0xbb 0xbf | |||||
case kINCLUDE: | case kINCLUDE: | ||||
NextItem(tSTRING); | NextItem(tSTRING); | ||||
sprintf(buf,"%s%s",path_source,item_string); | sprintf(buf,"%s%s",path_source,item_string); |
}; | }; | ||||
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 c; | ||||
int mnem; | int mnem; | ||||
int len; | int len; | ||||
int first; | int first; | ||||
int ix = 0; | int ix = 0; | ||||
char *p; | 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; | PHONEME_DATA phdata; | ||||
if(ph->code == phonEND_WORD) | if(ph->code == phonEND_WORD) | ||||
InterpretPhoneme(NULL, 0, plist, &phdata, NULL); | 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(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); | |||||
} | } | ||||
} | } | ||||
unsigned int max_len; | unsigned int max_len; | ||||
int phon_out_ix=0; | int phon_out_ix=0; | ||||
int stress; | int stress; | ||||
unsigned int c; | |||||
int c; | |||||
char *p; | |||||
char *buf; | char *buf; | ||||
int count; | |||||
int flags; | |||||
char phon_buf[30]; | char phon_buf[30]; | ||||
char phon_buf2[30]; | |||||
PHONEME_LIST *plist; | PHONEME_LIST *plist; | ||||
static const char *stress_chars = "==,,''"; | static const char *stress_chars = "==,,''"; | ||||
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner | |||||
if(phon_out != NULL) | if(phon_out != NULL) | ||||
{ | { | ||||
} | } | ||||
} | } | ||||
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->ph->code != phonSWITCH) | ||||
{ | { | ||||
if(plist->synthflags & SFLAG_LENGTHEN) | 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)) | if((plist->synthflags & SFLAG_SYLLABLE) && (plist->type != phVOWEL)) | ||||
{ | { | ||||
// syllablic consonant | // 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) | 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); | |||||
} | } | ||||
} | } | ||||
"\t Compile pronunciation rules and dictionary from the current\n" | "\t Compile pronunciation rules and dictionary from the current\n" | ||||
"\t directory. <voice name> specifies the language\n" | "\t directory. <voice name> specifies the language\n" | ||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | "--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | ||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n" | |||||
"--path=\"<path>\"\n" | "--path=\"<path>\"\n" | ||||
"\t Specifies the directory containing the espeak-data directory\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" | "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" | ||||
{"path", required_argument, 0, 0x107}, | {"path", required_argument, 0, 0x107}, | ||||
{"phonout", required_argument, 0, 0x108}, | {"phonout", required_argument, 0, 0x108}, | ||||
{"pho", no_argument, 0, 0x109}, | {"pho", no_argument, 0, 0x109}, | ||||
{"ipa", no_argument, 0, 0x10a}, | |||||
{"ipa", optional_argument, 0, 0x10a}, | |||||
{"version", no_argument, 0, 0x10b}, | {"version", no_argument, 0, 0x10b}, | ||||
{0, 0, 0, 0} | {0, 0, 0, 0} | ||||
}; | }; | ||||
case 0x10a: // --ipa | case 0x10a: // --ipa | ||||
option_phonemes = 3; | 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; | break; | ||||
case 0x10b: // -version | case 0x10b: // -version |
alphabet = AlphabetFromChar(letter); | alphabet = AlphabetFromChar(letter); | ||||
if(alphabet != current_alphabet) | if(alphabet != current_alphabet) | ||||
{ | { | ||||
// speak the name of the alphabet | |||||
current_alphabet = alphabet; | current_alphabet = alphabet; | ||||
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME)) | |||||
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME) && (alphabet->offset != translator->letter_bits_offset)) | |||||
{ | { | ||||
phontab_1 = tr->phoneme_tab_ix; | phontab_1 = tr->phoneme_tab_ix; | ||||
ph_buf2[0] = 0; | ph_buf2[0] = 0; |
"\t Compile pronunciation rules and dictionary from the current\n" | "\t Compile pronunciation rules and dictionary from the current\n" | ||||
"\t directory. <voice name> specifies the language\n" | "\t directory. <voice name> specifies the language\n" | ||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | "--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | ||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n" | |||||
"--path=\"<path>\"\n" | "--path=\"<path>\"\n" | ||||
"\t Specifies the directory containing the espeak-data directory\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" | "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" | ||||
{"path", required_argument, 0, 0x107}, | {"path", required_argument, 0, 0x107}, | ||||
{"phonout", required_argument, 0, 0x108}, | {"phonout", required_argument, 0, 0x108}, | ||||
{"pho", no_argument, 0, 0x109}, | {"pho", no_argument, 0, 0x109}, | ||||
{"ipa", no_argument, 0, 0x10a}, | |||||
{"ipa", optional_argument, 0, 0x10a}, | |||||
{"version", no_argument, 0, 0x10b}, | {"version", no_argument, 0, 0x10b}, | ||||
{0, 0, 0, 0} | {0, 0, 0, 0} | ||||
}; | }; | ||||
case 0x10a: // --ipa | case 0x10a: // --ipa | ||||
option_phonemes = 3; | 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; | break; | ||||
case 0x10b: // --version | case 0x10b: // --version |
static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event) | static int dispatch_audio(short* outbuf, int length, espeak_EVENT* event) | ||||
{//====================================================================== | {//====================================================================== | ||||
ENTER("dispatch_audio"); | ENTER("dispatch_audio"); | ||||
int a_wave_can_be_played = fifo_is_command_enabled(); | int a_wave_can_be_played = fifo_is_command_enabled(); | ||||
#ifdef DEBUG_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, | (event) ? event->sample : 0, | ||||
a_wave_can_be_played); | a_wave_can_be_played); | ||||
#endif | #endif | ||||
while(a_wave_can_be_played) { | while(a_wave_can_be_played) { | ||||
// TBD: some event are filtered here but some insight might be given | // 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: 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. | // TBD: the last one has its size=0. | ||||
if (event && (event->type == espeakEVENT_WORD) && (event->length==0)) | if (event && (event->type == espeakEVENT_WORD) && (event->length==0)) | ||||
{ | { | ||||
} | } | ||||
SHOW_TIME("LEAVE dispatch_audio\n"); | SHOW_TIME("LEAVE dispatch_audio\n"); | ||||
return (a_wave_can_be_played==0); // 1 = stop synthesis, -1 = error | return (a_wave_can_be_played==0); // 1 = stop synthesis, -1 = error | ||||
} | } | ||||
int i=0; | int i=0; | ||||
// The audio data are written to the output device. | // 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. | // Each event is declared to the "event" object which stores them internally. | ||||
// The event object is responsible of calling the external callback | // The event object is responsible of calling the external callback | ||||
// as soon as the relevant audio sample is played. | // as soon as the relevant audio sample is played. | ||||
do | |||||
do | |||||
{ // for each event | { // for each event | ||||
espeak_EVENT* event; | espeak_EVENT* event; | ||||
if (event_list_ix == 0) | if (event_list_ix == 0) | ||||
if (my_mode==AUDIO_OUTPUT_PLAYBACK) | if (my_mode==AUDIO_OUTPUT_PLAYBACK) | ||||
{ | { | ||||
while(1) | |||||
while(1) | |||||
{ | { | ||||
espeak_ERROR a_error = event_declare(event_list); | espeak_ERROR a_error = event_declare(event_list); | ||||
if (a_error != EE_BUFFER_FULL) | if (a_error != EE_BUFFER_FULL) | ||||
int GetFileLength(const char *filename) | int GetFileLength(const char *filename) | ||||
{//==================================== | {//==================================== | ||||
struct stat statbuf; | struct stat statbuf; | ||||
if(stat(filename,&statbuf) != 0) | if(stat(filename,&statbuf) != 0) | ||||
return(0); | return(0); | ||||
if((statbuf.st_mode & S_IFMT) == S_IFDIR) | if((statbuf.st_mode & S_IFMT) == S_IFDIR) | ||||
// if(S_ISDIR(statbuf.st_mode)) | // if(S_ISDIR(statbuf.st_mode)) | ||||
return(-2); // a directory | return(-2); // a directory | ||||
return(statbuf.st_size); | return(statbuf.st_size); | ||||
} // end of GetFileLength | } // end of GetFileLength | ||||
{ | { | ||||
sprintf(path_home,"%s/espeak-data",env); | sprintf(path_home,"%s/espeak-data",env); | ||||
if(GetFileLength(path_home) == -2) | if(GetFileLength(path_home) == -2) | ||||
return; // an espeak-data directory exists | |||||
return; // an espeak-data directory exists | |||||
} | } | ||||
buf[0] = 0; | buf[0] = 0; | ||||
{ | { | ||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | ||||
if(GetFileLength(path_home) == -2) | 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")); | snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | ||||
ENTER("MarkerEvent"); | ENTER("MarkerEvent"); | ||||
espeak_EVENT *ep; | espeak_EVENT *ep; | ||||
double time; | double time; | ||||
if((event_list == NULL) || (event_list_ix >= (n_event_list-2))) | if((event_list == NULL) || (event_list_ix >= (n_event_list-2))) | ||||
return; | return; | ||||
ep = &event_list[event_list_ix++]; | ep = &event_list[event_list_ix++]; | ||||
ep->type = (espeak_EVENT_TYPE)type; | ep->type = (espeak_EVENT_TYPE)type; | ||||
ep->unique_identifier = my_unique_identifier; | ep->unique_identifier = my_unique_identifier; | ||||
ep->user_data = my_user_data; | ep->user_data = my_user_data; | ||||
ep->text_position = char_position & 0xffffff; | ep->text_position = char_position & 0xffffff; | ||||
ep->length = char_position >> 24; | ep->length = char_position >> 24; | ||||
time = (double(count_samples + mbrola_delay + (out_ptr - out_start)/2)*1000.0)/samplerate; | time = (double(count_samples + mbrola_delay + (out_ptr - out_start)/2)*1000.0)/samplerate; | ||||
ep->audio_position = int(time); | ep->audio_position = int(time); | ||||
ep->sample = (count_samples + mbrola_delay + (out_ptr - out_start)/2); | ep->sample = (count_samples + mbrola_delay + (out_ptr - out_start)/2); | ||||
#ifdef DEBUG_ENABLED | #ifdef DEBUG_ENABLED | ||||
SHOW("MarkerEvent > count_samples=%d, out_ptr=%x, out_start=0x%x\n",count_samples, out_ptr, out_start); | 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", | SHOW("*** MarkerEvent > type=%s, uid=%d, text_pos=%d, length=%d, audio_position=%d, sample=%d\n", | ||||
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) | unsigned int end_position, unsigned int flags, void* user_data) | ||||
{//=========================================================================== | {//=========================================================================== | ||||
#ifdef DEBUG_ENABLED | #ifdef DEBUG_ENABLED | ||||
ENTER("sync_espeak_Synth"); | 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); | 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 | #endif | ||||
espeak_ERROR aStatus; | espeak_ERROR aStatus; | ||||
InitText(flags); | InitText(flags); | ||||
my_unique_identifier = unique_identifier; | my_unique_identifier = unique_identifier; | ||||
my_user_data = user_data; | my_user_data = user_data; | ||||
for (int i=0; i < N_SPEECH_PARAM; i++) | for (int i=0; i < N_SPEECH_PARAM; i++) | ||||
saved_parameters[i] = param_stack[0].parameter[i]; | saved_parameters[i] = param_stack[0].parameter[i]; | ||||
case POS_CHARACTER: | case POS_CHARACTER: | ||||
skip_characters = position; | skip_characters = position; | ||||
break; | break; | ||||
case POS_WORD: | case POS_WORD: | ||||
skip_words = position; | skip_words = position; | ||||
break; | break; | ||||
case POS_SENTENCE: | case POS_SENTENCE: | ||||
skip_sentences = position; | skip_sentences = position; | ||||
break; | break; | ||||
} | } | ||||
if(skip_characters || skip_words || skip_sentences) | if(skip_characters || skip_words || skip_sentences) | ||||
skipping_text = 1; | skipping_text = 1; | ||||
end_character_position = end_position; | end_character_position = end_position; | ||||
aStatus = Synthesize(unique_identifier, text, flags); | aStatus = Synthesize(unique_identifier, text, flags); | ||||
#ifdef USE_ASYNC | #ifdef USE_ASYNC | ||||
wave_flush(my_audio); | wave_flush(my_audio); | ||||
#endif | #endif | ||||
SHOW_TIME("LEAVE sync_espeak_Synth"); | SHOW_TIME("LEAVE sync_espeak_Synth"); | ||||
return aStatus; | return aStatus; | ||||
} // end of sync_espeak_Synth | } // end of sync_espeak_Synth | ||||
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) | unsigned int flags, void* user_data) | ||||
{//========================================================================= | {//========================================================================= | ||||
espeak_ERROR aStatus; | espeak_ERROR aStatus; | ||||
InitText(flags); | InitText(flags); | ||||
my_unique_identifier = unique_identifier; | my_unique_identifier = unique_identifier; | ||||
my_user_data = user_data; | my_user_data = user_data; | ||||
if(index_mark != NULL) | if(index_mark != NULL) | ||||
{ | { | ||||
strncpy0(skip_marker, index_mark, sizeof(skip_marker)); | strncpy0(skip_marker, index_mark, sizeof(skip_marker)); | ||||
skipping_text = 1; | skipping_text = 1; | ||||
} | } | ||||
end_character_position = end_position; | end_character_position = end_position; | ||||
aStatus = Synthesize(unique_identifier, text, flags | espeakSSML); | aStatus = Synthesize(unique_identifier, text, flags | espeakSSML); | ||||
SHOW_TIME("LEAVE sync_espeak_Synth_Mark"); | SHOW_TIME("LEAVE sync_espeak_Synth_Mark"); | ||||
return (aStatus); | return (aStatus); | ||||
} // end of sync_espeak_Synth_Mark | } // end of sync_espeak_Synth_Mark | ||||
char buf[80]; | char buf[80]; | ||||
my_unique_identifier = 0; | my_unique_identifier = 0; | ||||
my_user_data = NULL; | my_user_data = NULL; | ||||
sprintf(buf,"<say-as interpret-as=\"tts:char\">&#%d;</say-as>",character); | sprintf(buf,"<say-as interpret-as=\"tts:char\">&#%d;</say-as>",character); | ||||
Synthesize(0, buf,espeakSSML); | Synthesize(0, buf,espeakSSML); | ||||
} | } | ||||
// Set the list of punctuation which are spoken for "some". | // Set the list of punctuation which are spoken for "some". | ||||
my_unique_identifier = 0; | my_unique_identifier = 0; | ||||
my_user_data = NULL; | my_user_data = NULL; | ||||
wcsncpy(option_punctlist, punctlist, N_PUNCTLIST); | wcsncpy(option_punctlist, punctlist, N_PUNCTLIST); | ||||
option_punctlist[N_PUNCTLIST-1] = 0; | option_punctlist[N_PUNCTLIST-1] = 0; | ||||
} // end of sync_espeak_SetPunctuationList | } // end of sync_espeak_SetPunctuationList | ||||
setlocale(LC_CTYPE,""); | setlocale(LC_CTYPE,""); | ||||
} | } | ||||
#endif | #endif | ||||
init_path(path); | init_path(path); | ||||
initialise(options); | initialise(options); | ||||
select_output(output_type); | select_output(output_type); | ||||
outbuf = (unsigned char*)realloc(outbuf,outbuf_size); | outbuf = (unsigned char*)realloc(outbuf,outbuf_size); | ||||
if((out_start = outbuf) == NULL) | if((out_start = outbuf) == NULL) | ||||
return(EE_INTERNAL_ERROR); | return(EE_INTERNAL_ERROR); | ||||
// allocate space for event list. Allow 200 events per second. | // allocate space for event list. Allow 200 events per second. | ||||
// Add a constant to allow for very small buf_length | // Add a constant to allow for very small buf_length | ||||
n_event_list = (buf_length*200)/1000 + 20; | n_event_list = (buf_length*200)/1000 + 20; | ||||
if((event_list = (espeak_EVENT *)realloc(event_list,sizeof(espeak_EVENT) * n_event_list)) == NULL) | if((event_list = (espeak_EVENT *)realloc(event_list,sizeof(espeak_EVENT) * n_event_list)) == NULL) | ||||
return(EE_INTERNAL_ERROR); | return(EE_INTERNAL_ERROR); | ||||
option_phonemes = 0; | option_phonemes = 0; | ||||
option_mbrola_phonemes = 0; | option_mbrola_phonemes = 0; | ||||
option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA)); | option_phoneme_events = (options & (espeakINITIALIZE_PHONEME_EVENTS | espeakINITIALIZE_PHONEME_IPA)); | ||||
VoiceReset(0); | VoiceReset(0); | ||||
// SetVoiceByName("default"); | // SetVoiceByName("default"); | ||||
for(param=0; param<N_SPEECH_PARAM; param++) | for(param=0; param<N_SPEECH_PARAM; param++) | ||||
param_stack[0].parameter[param] = saved_parameters[param] = param_defaults[param]; | param_stack[0].parameter[param] = saved_parameters[param] = param_defaults[param]; | ||||
SetParameter(espeakRATE,175,0); | SetParameter(espeakRATE,175,0); | ||||
SetParameter(espeakVOLUME,100,0); | SetParameter(espeakVOLUME,100,0); | ||||
SetParameter(espeakCAPITALS,option_capitals,0); | SetParameter(espeakCAPITALS,option_capitals,0); | ||||
SetParameter(espeakPUNCTUATION,option_punctuation,0); | SetParameter(espeakPUNCTUATION,option_punctuation,0); | ||||
SetParameter(espeakWORDGAP,0,0); | SetParameter(espeakWORDGAP,0,0); | ||||
// DoVoiceChange(voice); | // DoVoiceChange(voice); | ||||
#ifdef USE_ASYNC | #ifdef USE_ASYNC | ||||
fifo_init(); | fifo_init(); | ||||
#endif | #endif | ||||
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, | 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) | unsigned int* unique_identifier, void* user_data) | ||||
{//===================================================================================== | {//===================================================================================== | ||||
#ifdef DEBUG_ENABLED | #ifdef DEBUG_ENABLED | ||||
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, | unsigned int* unique_identifier, | ||||
void* user_data) | void* user_data) | ||||
{//========================================================================= | {//========================================================================= | ||||
#ifdef USE_ASYNC | #ifdef USE_ASYNC | ||||
// Create the mark command | // 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); | flags, user_data); | ||||
// Retrieve the unique identifier | // Retrieve the unique identifier | ||||
*unique_identifier = c1->u.my_mark.unique_identifier; | *unique_identifier = c1->u.my_mark.unique_identifier; | ||||
// Create the "terminated msg" command (same uid) | // Create the "terminated msg" command (same uid) | ||||
t_espeak_command* c2 = create_espeak_terminated_msg(*unique_identifier, user_data); | t_espeak_command* c2 = create_espeak_terminated_msg(*unique_identifier, user_data); | ||||
// Try to add these 2 commands (single transaction) | // Try to add these 2 commands (single transaction) | ||||
if (c1 && c2) | if (c1 && c2) | ||||
{ | { | ||||
value=0 No phoneme output (default) | value=0 No phoneme output (default) | ||||
value=1 Output the translated phoneme symbols for the text | 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=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 | bit 4: produce mbrola pho data | ||||
*/ | */ | ||||
option_phonemes = value & 3; | |||||
option_phonemes = value & 7; | |||||
option_mbrola_phonemes = value & 16; | option_mbrola_phonemes = value & 16; | ||||
f_trans = stream; | f_trans = stream; | ||||
if(stream == NULL) | if(stream == NULL) | ||||
f_trans = stderr; | f_trans = stderr; | ||||
} // end of espeak_SetPhonemes | } // end of espeak_SetPhonemes | ||||
#pragma GCC visibility pop | #pragma GCC visibility pop | ||||
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||||
* email: [email protected] * | * email: [email protected] * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
if(ph->code != phonEND_WORD) | if(ph->code != phonEND_WORD) | ||||
{ | { | ||||
char phoneme_name[16]; | 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); | DoPhonemeMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, phoneme_name); | ||||
} | } | ||||
#include "translate.h" | #include "translate.h" | ||||
#include "wave.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.41 03.Mar.13"; | |||||
const int version_phdata = 0x014640; | |||||
int option_device_number = -1; | int option_device_number = -1; | ||||
FILE *f_logespeak = NULL; | FILE *f_logespeak = NULL; |
} | } | ||||
else | 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); | DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); | ||||
done_phoneme_marker = 1; | done_phoneme_marker = 1; | ||||
} | } | ||||
if((option_phoneme_events) && (done_phoneme_marker == 0)) | 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); | DoPhonemeMarker(espeakEVENT_PHONEME, sourceix, 0, phoneme_name); | ||||
} | } | ||||
if((option_phonemes > 0) || (phoneme_callback != NULL)) | if((option_phonemes > 0) || (phoneme_callback != NULL)) | ||||
{ | { | ||||
int use_ipa = 0; | 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); | GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); | ||||
if(option_phonemes > 0) | if(option_phonemes > 0) |
/*************************************************************************** | /*************************************************************************** | ||||
* Copyright (C) 2005 to 2011 by Jonathan Duddington * | |||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||||
* email: [email protected] * | * email: [email protected] * | ||||
* * | * * | ||||
* This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
// ignore these characters | // ignore these characters | ||||
static const unsigned short chars_ignore_default[] = { | static const unsigned short chars_ignore_default[] = { | ||||
0xad, 1, // soft hyphtn | |||||
0xad, 1, // soft hyphen | |||||
0x200c, 1, // zero width non-joiner | 0x200c, 1, // zero width non-joiner | ||||
0x200d, 1, // zero width joiner | 0x200d, 1, // zero width joiner | ||||
0, 0 }; | 0, 0 }; | ||||
int name2 = 0; | int name2 = 0; | ||||
Translator *tr; | 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 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_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 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_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 }; | 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() | // convert name string into a word of up to 4 characters, for the switch() | ||||
{ | { | ||||
tr->letter_bits_offset = OFFSET_GURMUKHI; | 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')) | if(name2 == L('n','e')) | ||||
{ | { | ||||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal); | |||||
tr->langopts.break_numbers = 0x2aaaa8; | tr->langopts.break_numbers = 0x2aaaa8; | ||||
tr->langopts.max_digits = 22; | tr->langopts.max_digits = 22; | ||||
tr->langopts.numbers2 |= NUM2_ENGLISH_NUMERALS; | tr->langopts.numbers2 |= NUM2_ENGLISH_NUMERALS; |
*pn++ = tr->langopts.thousands_sep; | *pn++ = tr->langopts.thousands_sep; | ||||
} | } | ||||
*pn++ = ' '; | *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--; | pw--; |
void SetVoiceStack(espeak_VOICE *v, const char *variant_name); | 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 InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_DATA *phdata, WORD_PH_DATA *worddata); | ||||
void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata); | 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_trans; // for logging | ||||
extern FILE *f_logespeak; | extern FILE *f_logespeak; |