Phoneme definition files: added prev2PhW() and next3PhW(). Added language: ms (Malay). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@332 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -16,22 +16,22 @@ _9 n'Oj | |||
_10 d'OS | |||
_11 '&garo | |||
_12 b'aro | |||
_13 t'ero | |||
_14 tS'owddo | |||
_15 p'Onero | |||
_16 S'olo | |||
_17 S'Otero | |||
_18 'at.#aro | |||
_12 b'arO | |||
_13 t'erO | |||
_14 tS'owddO | |||
_15 p'OnerO | |||
_16 S'olO | |||
_17 S'OterO | |||
_18 'at.#arO | |||
_19 'uniS | |||
_20 b'iS // ?? | |||
_20 k'uri // or b'iS ?? | |||
_21 'ekuS | |||
_22 b'ajS | |||
_23 t'ejS | |||
_24 tS'ObbiS | |||
_25 p'O~tSiS | |||
_26 tS#'ObbiS | |||
_26 tSh'ObbiS | |||
_27 S'ataS | |||
_28 'at.#aS | |||
_29 'untriS | |||
@@ -108,14 +108,17 @@ _dpt dOsomik | |||
ধ d#O | |||
ন d'ontennO | |||
প pO | |||
ফ p#O | |||
ফ fO // or [p#O] ? | |||
ব bO | |||
ভ b#O | |||
ম mO | |||
য় Oj | |||
য ontostedZ'O | |||
র rO | |||
ঢ় hrO | |||
ড় r.O | |||
ড় r.O // (d. + nukta) | |||
ঢ় hr.O | |||
ঢ় hr.O // (d#. + nukta) | |||
ল lO | |||
শ taleboS:O | |||
ষ mud#en:oS:O | |||
@@ -124,8 +127,8 @@ _dpt dOsomik | |||
ৎ kh'Ond.otO | |||
// full vowels | |||
অ SOro'O | |||
আ SOro'a | |||
অ O | |||
আ a | |||
ই hrOS:o'i | |||
ঈ dirg#o'i | |||
উ hrOS:o'u |
@@ -136,57 +136,47 @@ | |||
ৌ ow | |||
ৌঁ o~w | |||
// Consonants | |||
.group ক | |||
ক kV | |||
ক (B k | |||
ক (_ k | |||
.group খ | |||
খ k#V | |||
খ (B k# | |||
খ (_ k# | |||
.group গ | |||
গ gV | |||
গ (B g | |||
গ (_ g | |||
.group ঘ | |||
ঘ g#V | |||
ঘ (B g# | |||
ঘ (_ g# | |||
.group ঙ | |||
ঙ NV | |||
ঙ্ (B N | |||
ঙ্ (_ N | |||
.group চ | |||
চ tSV | |||
চ (B tS | |||
চ (_ tS | |||
.group ছ | |||
ছ tS#V | |||
ছ (B tS# | |||
ছ (_ tS# | |||
.group জ | |||
জ JV | |||
জ (B J | |||
জ (_ J | |||
জ্ব JV | |||
জ্ব (B J | |||
@@ -197,142 +187,122 @@ | |||
.group ঝ | |||
ঝ J#V | |||
ঝ (B J# | |||
ঝ (_ J# | |||
.group ঞ | |||
ঞ nV | |||
ঞ্ (B n | |||
ঞ্ (_ n | |||
.group ট | |||
ট t.V | |||
ট (B t. | |||
ট (_ t. | |||
.group ঠ | |||
ঠ t.#V | |||
ঠ (B t.# | |||
ঠ (_ t.# | |||
.group ড | |||
ড d.V | |||
ড (B d. | |||
ড (_ d. | |||
ড় r.V // nukta | |||
ড় (B r. | |||
.group ঢ | |||
ঢ d.#V | |||
ঢ (B d.# | |||
ঢ (_ d.# | |||
ঢ d.#V | |||
ঢ (B d.# | |||
ঢ় hr.V | |||
ঢ় (B hr. | |||
.group ণ | |||
ণ nV // should be [n.] if adjacent to t. or d. ? | |||
ণ (B n | |||
ণ (_ n | |||
.group ত | |||
ত tV | |||
ত (B t | |||
ত (_ t | |||
.group থ | |||
থ t#V | |||
থ (B t# | |||
থ (_ t# | |||
.group দ | |||
দ dV | |||
দ (B d | |||
দ (_ d | |||
.group ধ | |||
ধ d#V | |||
ধ (B d# | |||
ধ (_ d# | |||
.group ন | |||
ন nV | |||
ন (B n | |||
ন (_ n | |||
.group প | |||
প pV | |||
প (B p | |||
প (_ p | |||
.group ফ | |||
ফ fV // or [p#] ? | |||
ফ (B f | |||
ফ (_ f | |||
.group ব | |||
ব bV | |||
ব (B b | |||
ব (_ b | |||
.group ভ | |||
ভ b#V | |||
ভ (B b# | |||
ভ (_ b# | |||
.group ম | |||
ম mV | |||
ম (B m | |||
ম (_ m | |||
.group য় | |||
য় jV | |||
য় (B j | |||
য় (_ j | |||
.group য | |||
য dZV | |||
য (B dZ | |||
য (_ dZ | |||
য় jV // nukta | |||
য় (B j | |||
@) য় (_ j | |||
.group র | |||
র rV | |||
র (B r | |||
র (_ r | |||
্) র (_ rV | |||
.group ল | |||
ল lV | |||
ল (B l | |||
ল (_ l | |||
.group শ | |||
শ SV // or [s] ? | |||
শ (B S | |||
শ (_ S | |||
শ (্ল s | |||
@@ -341,7 +311,6 @@ | |||
.group ষ | |||
ষ SV | |||
ষ (B S | |||
ষ (_ S | |||
.group স | |||
@@ -358,26 +327,25 @@ | |||
.group হ | |||
হ hV | |||
হ (B h | |||
হ (_ h | |||
.group হ্ব | |||
হ্ব vV | |||
হ্ব (B v | |||
হ্ব (_ v | |||
.group ৎ | |||
ৎ t | |||
.group ড় | |||
ড় r.V | |||
ড় (B r. | |||
.group ড় // can be ড plus nukta | |||
ড় r.V | |||
ড় (B r. | |||
.group ঢ় | |||
ঢ় r.V | |||
ঢ় (B r. | |||
.group ঢ় // can be ঢ plus nukta | |||
ঢ় hr.V | |||
ঢ় (B hr. | |||
@@ -399,4 +367,14 @@ | |||
.group | |||
// obsolete letters | |||
ঋ r- | |||
ৠ r- | |||
ঌ l- | |||
ৡ l- | |||
ৃ r- | |||
ৄ r- | |||
ৢ l- | |||
ৣ l- | |||
@@ -46,17 +46,6 @@ Q r R R2 s S t T | |||
t# tS w x | |||
Dictionary az_dict 2010-07-27 | |||
& @ a e E i o u | |||
W y | |||
* b c C d dZ f g | |||
h j J k l m n p | |||
Q R s S t tS v w | |||
x z Z | |||
Dictionary bg_dict 2013-03-16 | |||
@ a e i o u | |||
@@ -68,28 +57,17 @@ s; t t; tS ts v x z | |||
Z z; | |||
Dictionary bn_dict 2013-03-22 | |||
Dictionary bn_dict 2013-03-25 | |||
& a a~ e e~ i i~ l- | |||
o O o: O~ o~ u u~ V | |||
o O o: O~ o~ r- u u~ | |||
V | |||
: b b# d d# d. d.# dZ | |||
f g g# h H j J J# | |||
k k# l m n N n. p | |||
p# r r. s S t t# t. | |||
t.# tS tS# v w ~ | |||
Dictionary bo_dict 2013-03-09 | |||
a a: e e: i i: l- o | |||
o: r- u u: | |||
: ? b b# c c# d d# | |||
d. d.# dz dz# g g# H j | |||
J k k# l m n N n. | |||
n^ p p# r s S s. t | |||
t# t. t.# ts ts# w z Z | |||
r r. s S t t# t. t.# | |||
tS tS# v w ~ | |||
Dictionary ca_dict 2010-07-27 | |||
@@ -159,20 +137,6 @@ S t tS ts v w x z | |||
Z | |||
Dictionary dv_dict 2013-03-09 | |||
@ @2 a a: aI e e: E: | |||
E~ i I i: o O o: O: | |||
O~ u U u: V | |||
: ? b c c# d D d. | |||
dZ f g h j k k# l | |||
l. m n N n. n^ p Q | |||
q r R s S s. t T | |||
t# t. t.# tS v w x z | |||
Z | |||
Dictionary el_dict 2011-05-19 | |||
a aI e i o oI u | |||
@@ -183,7 +147,7 @@ p Q r R s s; t T | |||
ts v x z | |||
Dictionary en_dict 2013-03-22 | |||
Dictionary en_dict 2013-03-25 | |||
0 0# 3 3: @ @- @2 @5 | |||
@L a a# A: A@ aa aI aI3 | |||
@@ -321,16 +285,6 @@ q r r. s S s. t T | |||
t# t. t.# v w x z | |||
Dictionary ht_dict 2010-06-29 | |||
a A~ e E E~ i o O | |||
O~ u w y | |||
; b d f g j k l | |||
m n N p r s S t | |||
tS v z Z | |||
Dictionary hu_dict 2013-03-22 | |||
a A a: e E e: i i: | |||
@@ -411,17 +365,6 @@ t# tS ts ts# v w x z | |||
Z | |||
Dictionary kk_dict 2011-12-07 | |||
& 8 a A e E i I | |||
o u U u# Y | |||
; b d f g G h j | |||
k l m n N p q r | |||
s S t tS v w X z | |||
Z | |||
Dictionary kl_dict 2013-03-18 | |||
& 3 @ @- a aI e E | |||
@@ -530,18 +473,6 @@ r R r. R2 s s. S; t | |||
t# t. t.# tS v w z | |||
Dictionary mt_dict 2011-07-29 | |||
@ a ai au e ei eu i | |||
I ie iu l- o u U ui | |||
y yi yY | |||
* : b c C d dZ f | |||
g h j k l m n p | |||
q r s S t tS v w | |||
x z Z | |||
Dictionary nci_dict 2010-01-20 | |||
a e i o O | |||
@@ -592,18 +523,6 @@ k l m n N p r R | |||
s S s; t v w x z | |||
Dictionary nso_dict 2010-08-27 | |||
@ a e E i m- n- N- | |||
o u U | |||
- : ; b B d D dZ | |||
f h j J k K l l# | |||
m n N n^ p Q R3 s | |||
S t tS v w x X x2 | |||
z | |||
Dictionary pap_dict 2010-07-27 | |||
a a/ aI e E eI i o | |||
@@ -641,16 +560,7 @@ S s; S; t t; tS ts tS; | |||
ts; v w x z Z Z; | |||
Dictionary prs_dict 2009-12-01 | |||
@ A E eI i o u | |||
: b d dZ f g h j | |||
k l m n p r R s | |||
S t tS v w X z Z | |||
Dictionary pt_dict 2013-03-17 | |||
Dictionary pt_dict 2013-03-25 | |||
& &/ &U~ &~ @ @- a A | |||
aI aU e E eI EI eU EU | |||
@@ -702,15 +612,16 @@ N n^ p q R s S S; | |||
t tS v w x z | |||
Dictionary si_dict 2013-01-18 | |||
Dictionary si_dict 2013-03-23 | |||
& &: @ a a: aI aU e | |||
e: i i: o o: u u: | |||
b d d. dZ f g h j | |||
k l l. m m# n N n# | |||
N# n. n.# n^ n^# p r s | |||
S s. t t. tS v w | |||
#@ b b# d d# d. d.# dZ | |||
f g g# h j k k# l | |||
l. m m# n N n# N# n. | |||
n.# n^ n^# p p# r s S | |||
s. t t# t. t.# tS v w | |||
Dictionary sk_dict 2011-08-08 | |||
@@ -761,7 +672,7 @@ k l m n N p R s | |||
S s. S; sx t v w z | |||
Dictionary sw_dict 2008-11-27 | |||
Dictionary sw_dict 2013-03-23 | |||
@- a a/ e i m- n- N- | |||
o u | |||
@@ -785,31 +696,6 @@ Q r R s S s. t T | |||
t# t. tS v w z z. | |||
Dictionary te_dict 2013-03-16 | |||
a a: aI aU e E e: i | |||
i: l- o o: r- u u: V | |||
#X1 #X2 : ; b b# c c# | |||
d d# d. d.# dZ f g g# | |||
h j J J# k k# l l. | |||
m n N n. n^ p p# r | |||
s s. S; t t# t. t.# tS | |||
v w z | |||
Dictionary tn_dict 2011-02-17 | |||
@- a e i m- n- N- o | |||
u | |||
* - : b B d D dZ | |||
f g h j J k K l | |||
l# m n N n^ p Q r | |||
R R3 s S t T tS ts | |||
v w x X z | |||
Dictionary tr_dict 2011-09-16 | |||
@ a e E i I o O | |||
@@ -821,17 +707,6 @@ p Q r R s S t tS | |||
v w z Z | |||
Dictionary tt_dict 2012-09-14 | |||
& a A e e2 e: i I | |||
o u u2 V W y | |||
: ? b d f g h j | |||
k l m n N p q r | |||
R s S S; t w x z | |||
Z Z; | |||
Dictionary ur_dict 2013-03-13 | |||
@ a a: aI aU e E e: | |||
@@ -859,18 +734,6 @@ N n^ p Q s s. t t[ | |||
v w x z Z z. | |||
Dictionary wo_dict 2010-11-30 | |||
@ @: a a: e E e: E: | |||
i i: m- n- N- o O O: | |||
o: u u: | |||
: b c d f g h j | |||
J k l m n N n^ p | |||
q R R2 s s2 t v w | |||
x z | |||
Dictionary zh_dict 2013-01-25 | |||
@ @r a A ai Au E ei | |||
@@ -885,7 +748,7 @@ s. S; t th ts ts. ts.h tS; | |||
tS;h tsh v w x X z. | |||
Dictionary zhy_dict 2009-01-19 | |||
Dictionary zhy_dict 2013-03-25 | |||
a aa aai aang aau ai au e | |||
ei eo eoi eu i iu o oe | |||
@@ -894,3 +757,14 @@ oi ong ou u ui yu | |||
b c d f g h j k | |||
l m n N p r s t | |||
tS v w z | |||
Dictionary ms_dict 2010-10-14 | |||
@ a aI aU e E E2 eI | |||
i o O u | |||
* : ? b c d dZ f | |||
g h j k l m n N | |||
n^ p r R R2 s S t | |||
tS v w x z |
@@ -150,12 +150,14 @@ _¨ daIa#r'i:sIs | |||
_ª fEmI2nIn'O@dI2n@L | |||
_« lEft'gIl@mEt | |||
_ makr0n | |||
² tu: | |||
³ Tri: | |||
_¹ su:p@skrIptw'0n | |||
_² su:p@skrIptt'u: | |||
_³ su:p@skrIptT'ri: | |||
_´ a#kju:taksEnt | |||
_· mId@Ld0t | |||
_¸ sEd'Il@ | |||
_¹ su:p@skrIptw'0n | |||
//_º maskjUlIn'O@dI2n@L | |||
_º dI2gr'i:z | |||
_» raIt'gIl@mEt | |||
@@ -943,7 +945,7 @@ blancmange bl@m0nZ | |||
blase blA:z'eI | |||
blasé blA:z'eI | |||
bleh blEh | |||
blockade $2 | |||
blockade bl0k'eId | |||
blouse blaUz | |||
bluest blu:@st | |||
blurry bl3:rI | |||
@@ -1279,6 +1281,7 @@ dais deIIs | |||
dandelion dandI2laI@n | |||
ddu DI $only // Welsh | |||
de d@ $only | |||
(de jure) deIdZ'U@ri | |||
debacle deIb'A:k@L | |||
debrief di:br'i:f | |||
debris dEbri: | |||
@@ -1429,6 +1432,8 @@ ember Emb3 | |||
emphasis Emf@sIs $only | |||
empire $1 | |||
emu i:mju: | |||
(en masse) 0n||m'as | |||
(en route) 0n||r'u:t | |||
enroute 0nr'u:t | |||
ensemble 0ns'0mb@L | |||
entendre 0nt'0ndr@- | |||
@@ -1674,6 +1679,7 @@ hello h@loU | |||
henceforth hEnsfo@T | |||
?3 herb 3:b | |||
hercules h3:kjUli:z | |||
?3 hereford h3:f3d | |||
heretical hI2rEtI2k@L | |||
hereto hi@3'tu: | |||
heretofore hi@3t2Ufo@ | |||
@@ -1697,6 +1703,7 @@ holme hoUm | |||
holster hoUlst3 | |||
homeowner hoUmoUn3 | |||
homepage hoUmpeIdZ | |||
homily h0m@li | |||
hominem h0mInEm | |||
?3 hominem h0m@n@m | |||
hooah h'u:'A: | |||
@@ -1802,6 +1809,8 @@ interven Int3v'i:n // for intervening | |||
intray IntreI | |||
intro $1 | |||
?3 investigative Inv,EstI2g'eItIv | |||
ipad aIpad | |||
iphone aIfoUn | |||
irate aIr'eIt | |||
iris aIrIs | |||
iron aI3n | |||
@@ -2822,6 +2831,7 @@ tonne tVn | |||
torment $1 | |||
torment $2 $verb | |||
tornado tO@n'eIdoU | |||
torrential t@rEnS@L | |||
tortilla tO@t'i:a# | |||
touche tu:SeI $only | |||
toupee tu:peI | |||
@@ -2835,6 +2845,7 @@ trajectory tr@dZEkt@rI | |||
traverse $alt3 | |||
travesty trav@sti | |||
treatise tri:tIz | |||
trebuchet trEbUSeI | |||
tremendous $alt3 | |||
triage tri:A:Z | |||
tribunal traIb'ju:n@L | |||
@@ -3337,6 +3348,7 @@ Tokyo toUkIoU | |||
Topeka toUp'i:k@ | |||
Toronto t@r0ntoU | |||
Toulouse tu:l'u:z | |||
Trafalgar $alt3 | |||
?3 Tunisia tu:n'i:Z@ | |||
Tripoli trIp@li | |||
tuareg twA@rEg | |||
@@ -3500,6 +3512,7 @@ Evette I2vEt | |||
Fainne fan;@ | |||
Freda fri:d@ | |||
Fírinne fi:rIn;@ | |||
Gareth gar@T | |||
Gary gari | |||
Geraint gEraInt | |||
Gerhard ge@hA@t | |||
@@ -3672,6 +3685,7 @@ Susanne $2 | |||
Suzy su:zi | |||
Tatiana tatI'A:n@ | |||
?3 Tatiana tA:tj'A:n@ | |||
Terese t@reIz | |||
Theresa t@ri:z@ | |||
Therese t@ri:z | |||
Thomas t0m@s | |||
@@ -3762,9 +3776,7 @@ zhivago ZI2vA:goU | |||
(de jure) deIdZ'U@ri | |||
(en masse) ,0n||m'as | |||
(en route) ,0n||r'u:t | |||
(each of) i:tS||@v $pause | |||
(far more) f'A@_m,o@ | |||
(few more) f'ju:m,o@ | |||
@@ -3775,9 +3787,9 @@ zhivago ZI2vA:goU | |||
(most of) moUst||@v | |||
(such as) sVtS||_a#z $pause | |||
(too few) t'u:||f,ju: | |||
(too many) t'u:||m,Eni | |||
(too much) t'u:||m,VtS | |||
(too few) t'u:||fju: | |||
(too many) t'u:||mEni | |||
(too much) t'u:||mVtS | |||
//************************************************************************* | |||
// COMMON WORDS |
@@ -4315,6 +4315,7 @@ | |||
d) or (_ o@ | |||
_f) or (@ O@ | |||
_f) ore (A O@ | |||
_f) ore (kn O@, | |||
f) or (k O@ | |||
_f) or (s@ %O@ | |||
ch) or (d O@ |
@@ -0,0 +1,112 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Greenlandic | |||
b bE | |||
c sE | |||
d dE | |||
f Ef | |||
g ji | |||
h ha | |||
j jE | |||
k ka | |||
l El | |||
m Em | |||
n En | |||
p pE | |||
q qa | |||
r Er | |||
s Es | |||
t tE | |||
v vE | |||
w wE | |||
x iks | |||
z zE | |||
// y | |||
// æ | |||
// ø | |||
// å | |||
// Native numbers 0-10 | |||
_0n n'u:lu | |||
_1n at'a:sEq | |||
_2n m'arluk | |||
_3n p'iNasut | |||
_4n s'isamat | |||
_5n t'al#imat | |||
_6n arf'inil#it | |||
_7n arfinEqm'arluk | |||
_8n arfinEqp'iNasut | |||
_9n quliNil'uat | |||
_10n q'ulit | |||
// Danish numbers | |||
_0 'nOl | |||
_1 'en | |||
_2 t'o | |||
_3 tR'e | |||
_4 f'iV | |||
_5 f'Em | |||
_6 s'EQs | |||
_7 s'yw | |||
_8 'O:d@ | |||
_9 n'i | |||
_10 t'i | |||
_11 'Elv@ | |||
_12 t'Vl | |||
_13 tR'&d@-n | |||
_14 fj'ord@-n | |||
_15 f'emt@-n | |||
_16 s'ajsd@-n | |||
_17 s'Wd@-n | |||
_18 '&d@-n | |||
_19 n'ed@-n | |||
_2X t'y:w | |||
_3X tR'&Dv@ | |||
_4X f'W:V | |||
_5X h&l't*Es | |||
_6X t*'Es | |||
_7X h&lfj'&rs | |||
_8X f'irs | |||
_9X h&lf'Ems | |||
_0C h'un*@:D | |||
_1C ed||h'unr@:D | |||
_0M1 t'u:s@-n | |||
_1M1 ed||t'u:s@-n | |||
_1M2 'e:n||milij'o:n | |||
_0M2 milij'o:nV | |||
_1M3 'e:n||milij'a:d | |||
_0M3 milij'a:d3 | |||
_1M4 'e:n||bilij'o:n | |||
_0M4 bilij'o:n3 | |||
_0and V | |||
_dpt kom:a_ | |||
// ordinals are followed by a dot in Danish | |||
_ord 3 | |||
// exceptions for ordinals | |||
_1o fWrsd3 | |||
_2o &n@n | |||
_3o trEdj3 | |||
_4o fjeV | |||
_5o fEmt3 | |||
_6o sjEd3 | |||
_7o syvn3 | |||
_8o Vtn3 | |||
_9o ni@n3 | |||
_10o ti@n3 | |||
_11o Elfd3 | |||
_12o tVlfd3 | |||
_2Xo t'yv@n@ // 25. | |||
_3Xo tr'&ft@ //36. | |||
_4Xo fWV'tyv@n@ // 42. | |||
_5Xo h<*'Esenstyv@n@ // 52. | |||
_6Xo tr'Esenstyv@n@ // 62. | |||
_7Xo h&lfj'&rsenstyv@n@ // 72. | |||
_8Xo firsenstyv@n@ // 82. | |||
_9Xo h&lf'Emsenstyv@n@ // 95. | |||
@@ -0,0 +1,182 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Greenlandic | |||
// don't stress a vowel before these consonant clusters | |||
.L01 ng nng | |||
.group a | |||
a a | |||
a (CC 'a | |||
a (L01 a | |||
ak (_ &g | |||
ap (_ &p | |||
at (_ &t | |||
aa a: | |||
aar a: | |||
aaq a: | |||
ai (_ aI | |||
.group b | |||
b b | |||
.group c | |||
c k | |||
c (e s | |||
c (i s | |||
.group d | |||
d d | |||
.group e | |||
e E | |||
e (CC 'E // a vowel before a consonant cluster is stressed | |||
e (L01 E // ... except for these consonants | |||
ee E: | |||
.group f | |||
f f | |||
ff f: | |||
.group g | |||
g Q | |||
gg x: | |||
gg (i C: | |||
.group h | |||
h h | |||
hh h: | |||
.group i | |||
i i | |||
i (CC 'i | |||
i (L01 i | |||
ii i: | |||
.group j | |||
j j | |||
jj j: | |||
.group k | |||
k k | |||
kk k: | |||
.group l | |||
l l | |||
ll l# | |||
.group m | |||
m m | |||
mm m: | |||
.group n | |||
n n | |||
na na | |||
naa na: | |||
nn n: | |||
ng N | |||
nng N: | |||
.group o | |||
o o | |||
o (CC 'o | |||
o (L01 o | |||
oo o: | |||
.group p | |||
p p | |||
pp p: | |||
.group q | |||
q q | |||
qq qq | |||
.group r | |||
r r | |||
rr X: | |||
rl rl# | |||
.group s | |||
s s | |||
ss s: | |||
.group t | |||
t t | |||
t (i ts | |||
i) t (_ tS; | |||
tt t: | |||
tl tl# | |||
ts ts | |||
.group u | |||
u u | |||
u (CC 'u | |||
u (L01 u | |||
uu u: | |||
.group v | |||
v v | |||
vv v: | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
.group y | |||
y j | |||
K) y (K i // not before or after a vowel | |||
K) y (CC 'i | |||
K) y (L01 i | |||
.group z | |||
z z | |||
.group æ | |||
æ & | |||
.group ø | |||
ø W | |||
.group å | |||
å O | |||
.group | |||
$ d'olar | |||
@@ -0,0 +1,784 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme words for Malay | |||
a e: | |||
b bi: | |||
c si: | |||
d di: | |||
e i: | |||
f Ef | |||
g dZi: | |||
h etS | |||
i aI | |||
j dZe | |||
k ke | |||
l El | |||
m Em | |||
n En | |||
o o: | |||
p pi: | |||
q kju: | |||
r ar | |||
s Es | |||
t ti: | |||
u ju: | |||
v vi: | |||
w d'ab@liu: | |||
x Eks | |||
y waI | |||
z zEd | |||
// numeric | |||
_0 k'osoN | |||
_1 s'atu | |||
_2 d'u@ | |||
_3 t'ig@ | |||
_4 '@mpat | |||
_5 l'im@ | |||
_6 '@nam | |||
_7 t'udZ%oh | |||
_8 l'apan | |||
_9 s@mb'ilan | |||
_10 s@p'uluh | |||
_11 s'@b@las | |||
_12 d'u@b@las | |||
_13 t'ig@b@las | |||
_14 '@mpatb@las | |||
_15 l'im@b@las | |||
_16 '@namb@las | |||
_17 t'udZ%ohb@las | |||
_18 l'apanb@las | |||
_19 s@mb'ilanb@las | |||
_2X d'u@puloh | |||
_3X t'ig@puloh | |||
_4X 'Empatpuloh | |||
_5X l'im@puloh | |||
_6X 'Enampuloh | |||
_7X t'udZ%ohpuloh | |||
_8X l'apanpuloh | |||
_9X s@mb'ilanpuloh | |||
_0C R'atus_| | |||
_1C s@*'atus_| | |||
_0M1 R'ibu_ | |||
_1M1 s@r'ibu_ | |||
_0M2 dZ'ut@_ | |||
_1M2 s@dZ'ut@_ | |||
_0M3 b'ili@n | |||
_1M3 s@b'ili@n | |||
_dpt _p'@rpul'uhan_ | |||
_cap b'EsaR // after the letter | |||
_?? k,odeh'uR2uf | |||
// accented letters | |||
_lig d'aIgRaf | |||
_acu akj'ut | |||
_ac2 dub@lakj'ut | |||
_brv bR2'i:v | |||
_ced s@d'ila | |||
_cir t'opi | |||
_dia 'umlaUt | |||
_dot d'Ot | |||
_grv gR2'av | |||
_hac h'atSEk | |||
_mcn m'akR2On | |||
_ogo 'OgonEk | |||
_rng R2'iNg | |||
_stk stR'ok | |||
_tld t'ild@ | |||
// punctuation | |||
_! t,anda||s'ER2u | |||
_" t,andak'utip | |||
£ ponst'E*RliN | |||
% p@*Ratus | |||
^ t,andat'opi | |||
& d'an | |||
_* b'intaN | |||
_( k,uR2uN||b'uk@ | |||
_) k,uR2uN||t'utup | |||
__ g,aR2is||b'awah | |||
_- t,andah'ubuN | |||
+ c'ampor | |||
= s,am@||d'@Nan | |||
_{ k,uR2uN||kuR2'awal | |||
_} k,uR2uN||kuR2,awal||t'utup | |||
_[ k,uR2uN||s'iku | |||
_] k,uR2uN||s,iku||t'utup | |||
_: t,iti?||d'u@ | |||
_; t,iti?||k'om@ | |||
@ a||k'EOng | |||
_' k,utip||t'uNgal | |||
~ t'ilde | |||
# p'agaR | |||
_< k,uR2aN||d'aR2i | |||
_> l,Ebih||d'aR2i | |||
_, k'om@ | |||
_. t'iti? | |||
_? t,and@||t'an^@ | |||
/ stR2'ok | |||
_\ 'bEkslES | |||
// exceptions | |||
// (use phoneme [E2] for an unstressed 'e' which does not reduce to [@] ) | |||
bebek bEbE2? | |||
becek bEtSE2? | |||
//bekas $2 | |||
perang $2 | |||
// ABBREVIATIONS | |||
//************** | |||
abd 'abdul $dot | |||
agenda ag'enda | |||
bhd b'@Rhad $dot | |||
cimb $abbrev | |||
cm s@ntim'et@r | |||
com d'Ot||kOm | |||
(co ltd) k'amp@ni||lim'it@d | |||
dr d'okt@R $dot | |||
drp daR2ip'ad@ | |||
dun d'un | |||
dymm d'uli||jang||mah'a||m'uli@ | |||
exco 'Eksko | |||
en 'intSek $dot | |||
felda f'elda | |||
hb h,arib'ulan | |||
hj h'adZi $dot | |||
ir $abbrev $dot | |||
klci $abbrev | |||
km kilom'et@r | |||
kol kol'on@l $dot | |||
ltd lim'it@d $dot | |||
m'sia malaysia $text | |||
md moh'amad $dot | |||
mm milim'et@r | |||
mohd moh'amad $dot | |||
mr m'ist@r $dot | |||
mw m'egawat | |||
pas p'a:s | |||
pibg $abbrev | |||
prof prof'es@r $dot | |||
pte p'raiv@t | |||
rm R'iNget | |||
sdn s@ndiR2'ian $dot | |||
sdr saUd'aR@ $dot | |||
umno 'amno: | |||
upm $abbrev | |||
utk unto? | |||
yab jang||amat||b@rh'ormat | |||
yb jang||b@rh'ormat | |||
ym jang|m'uli@ | |||
yg jang | |||
// MAIN WORD DICTIONARY | |||
//********************* | |||
// e(pepet)-a | |||
banteras bant'@Ras | |||
membanteras m@mbant'@Ras | |||
bedah b'@dah | |||
bekas b'@kas | |||
belah b'@lah | |||
perbelanjaan p@Rb,@landZ'a|an | |||
sebelah s@b'@lah | |||
benar b'@nar | |||
sebenar s@b'@nar | |||
benda b'@nd@ | |||
kecelaruan k@tS,@laR'uan | |||
berhad b'@Rhad | |||
besar b'@sar | |||
membesar m@mb'@sar | |||
pembesar p@mb'@sar | |||
sebesar s@b'@sar | |||
terbesar t@Rb'@sar | |||
cegah tS'@gah | |||
mencegah m@ntS'@gah | |||
pencegah p@ntS'@gah | |||
cepat tS'@pat | |||
dipercepat dip@RtS'@pat | |||
secepat s@tS'@pat | |||
dekat d'@kat | |||
terdekat t@Rd'@kat | |||
demam d'@mam | |||
denda d'@nd@ | |||
didenda did'@nd@ | |||
dengan d'@Nan | |||
dengar d'@Nar | |||
didengar did'@Nar | |||
mendengar m@nd'@Nar | |||
depan d'@pan | |||
berdepan b@Rd'@pan | |||
dera d'@R@ | |||
pendera p@nd'@R@ | |||
deras d'@Ras | |||
desak d'@sak | |||
mendesak m@nd'@sak | |||
terdesak t@Rd'@sak | |||
empat '@mpat | |||
engkau '@NkaU | |||
gelar g'@lar | |||
bergelar b@Rg'@lar | |||
gemar g'@mar | |||
penggemar p@Ng'@mar | |||
gesa g'@s@ | |||
menggesa m@Ng'@s@ | |||
tergesa t@Rg'@s@ | |||
hendak h'@nda? | |||
dikehendaki dik,@h@nd'aki | |||
kehendak k@h'@nda? | |||
kelas k'@las | |||
sekelas s@k'@las | |||
kemas k'@mas | |||
keras k'@Ras | |||
berkeras b@Rk'@Ras | |||
kertas k'@Rtas | |||
kesan k'@san | |||
dikesan dik'@san | |||
lembah l'@mbah | |||
letak l'@tak | |||
diletak dil'@tak | |||
emak '@mak | |||
emas '@mas | |||
enam '@nam | |||
keenam k@'@nam | |||
enggan '@Ngan | |||
gerak g'@ra? | |||
bergerak b@Rg'@ra? | |||
penggerak p@Ng'@ra? | |||
jebak dZ'@bak | |||
terjebak t@RdZ'@bak | |||
jejas dZ'@dZas | |||
terjejas t@RdZ'@dZas | |||
jelas dZ'@las | |||
kejar k'@dZar | |||
dikejar dik'@dZar | |||
kekal k'@kal | |||
kelam k'@lam | |||
mengembalikan m@N,@mbal'ikan | |||
kembang k'@mbaN | |||
mengembang m@N'@mbaN | |||
perkembangannya p@Rk,@mbaN'ann^@ | |||
kelak k'@lak | |||
kena k'@n@ | |||
kenal k'@nal | |||
dikenal dik'@nal | |||
terkenal t@Rk'@nal | |||
kerap k@Rap | |||
kerja k'@RdZ@ | |||
bekerja b@k'@RdZ@ | |||
bekerjasama b@k,@RdZ@s'am@ | |||
kerjasama k@RdZ@s'am@ | |||
pekerja p@k'@RdZ@ | |||
sekerja s@k'@RdZ@ | |||
kesal k'@sal | |||
menyesal m@n^'@sal | |||
kesan k'@san | |||
berkesan b@Rk'@san | |||
keberkesanan k@b,@Rk@s'anan | |||
kesat k'@sat | |||
mengesat m@N'@sat | |||
lekas l'@kas | |||
lelakinya l@lak'in^@ | |||
lekat l'@kat | |||
melekat m@l'@kat | |||
lemah l'@mah | |||
lembaga l@mb'aga | |||
berperlembagaan b@Rp@Rl,@mbag'a|an | |||
lengan l'@Nan | |||
lepas l'@pas | |||
berlepas b@Rl'@pas | |||
terlepas t@Rl'@pas | |||
letak l'@ta? | |||
peletakan p@l@t'akan | |||
terletak t@Rl'@tak | |||
menang m'@naN | |||
pemenang p@m'@naN | |||
mentah m'@ntah | |||
mesra m'@sR@ | |||
pecah p'@tSah | |||
berpecah b@Rp'@tSah | |||
peka p'@k@ | |||
pegang p'@gaN | |||
dipegang dip'@gaN | |||
memegang m@m'@gaN | |||
pentas p'@ntas | |||
pernah p'@rnah | |||
pesat p'@sat | |||
petang p'@taN | |||
rendah R'@ndah | |||
terendah t@R'@ndah | |||
rentak R'@ntak | |||
berentak b@R'@ntak | |||
retak r'@tak | |||
keretakan k@R@t'akan | |||
rentak r'@ntak | |||
serentak s@r'@ntak | |||
sebak s'@ba? | |||
kesebakan k@s@b'akan | |||
sebentar s@b'@ntar | |||
sedang s'@daN | |||
sedar s'@dar | |||
tersedar t@Rs'@dar | |||
segera s@g'@R@ | |||
disegerakan dis@g@R'@kan | |||
menyegerakan m@n^,@g@R'@kan | |||
sejahtera s@dZaht'@R@ | |||
kesejahteraan k@s@dZ,aht@R'@an | |||
sejak s'@dZak | |||
sekat s'@kat | |||
menyekat m@n^'@kat | |||
selam s'@lam | |||
penyelam p@n^'@lam | |||
keselamatan k@s,@lam'atan | |||
selaras s@l'aRas | |||
keselarasan k@s@laR'asan | |||
selepas s@l'@pas | |||
kesesuaian k@s@su'aIan | |||
sembah s'@mbah | |||
persembahannya p@Rs,@mbah'ann^@ | |||
sempat s'@mpat | |||
berkesempatan b@Rk,@s@mp'atan | |||
sempena s@mp'@n@ | |||
beserta b@s'@Rt@ | |||
peserta p@s'@Rt@ | |||
sertai s@Rt'a|i | |||
serang s'@RaN | |||
diserang dis'@RaN | |||
menyerang m@n^'@raN | |||
penyerang p@n^'@raN | |||
serba s'@Rb@ | |||
tegang t'@gaN | |||
bertegang b'@Rt@gaN | |||
tegas t'@gas | |||
tekak t'@kak | |||
menekak m@n'@kak | |||
tekan t'@kan | |||
menekan m@n'@kan | |||
telah t'@lah | |||
teman t'@man | |||
tempa t'@mp@ | |||
ditempa dit'@mp@ | |||
menempa m@n'@mp@ | |||
tempah t'@mpah | |||
menempah m@n'@mpah | |||
tempat t'@mpat | |||
bertempat b@rt'@mpat | |||
tenang t'@naN | |||
bertenang b@Rt'@naN | |||
tengah t'@Nah | |||
menengah m@n'@Nah | |||
sesetengah s@s@t'@Nah | |||
tengkar t'@Nkar | |||
bertengkar b@Rt'@Nkar | |||
tentang t'@ntaN | |||
ditentang dit'@ntaN | |||
menentang m@n'@ntaN | |||
penentang p@n'@ntaN | |||
tepat t'@pat | |||
juruterbang dZuRut'@RbaN | |||
teram t'@Ram | |||
ketenteraman k@t@nt@R'aman | |||
terkam t'@Rkam | |||
diterkam dit'@Rkam | |||
menerkam m@n'@Rkam | |||
tetap t'@tap | |||
bertetap b@Rt'@tap | |||
menetap m@n'@tap | |||
// exceptions | |||
kehebatan k@heb'atan | |||
dibelenggu dib@l'@Ngu | |||
perbendaharaan p@Rb@nd,@haR'a|an | |||
kejayaan k,@dZaj'a|an | |||
galakan gal'akan | |||
setong s@t'oN | |||
aneh 'anE2h | |||
menyelamatkan m@n^,@lam'atkan | |||
//berbaur b@Rb'aUr | |||
gementar g@m'@ntar | |||
hebatnya hEb'atn^@ | |||
diedarkan diEd'aRkan | |||
//berkeliaran b@Rk@li'aRan | |||
//bersebelahan b@Rs@b@l'ahan | |||
//sebaik s@b'aIk | |||
cedera tS@d'@R@ | |||
kecederaan k@tS,@d@r'a|an | |||
tercedera t@RtS@d'@R@ | |||
//ekoran Ek'oRan | |||
kekecewaan k@k,@tSew'a|an | |||
//bermain b@Rm'aIn | |||
//kedai k'@daI | |||
//pekedai p@k'@daI | |||
disertai dis@Rt'ai | |||
persediaan p@Rs,@di'a|an | |||
//bergaul b@Rg'aul | |||
elakkan El'akkan | |||
kebanyakan k@ban^'akan | |||
anda 'anda | |||
//berkepentingan b@Rk,@p@nt'iNan | |||
//berleluasa b@Rl@lu'as@ | |||
iaitu ja|'itu | |||
masalah mas'alah | |||
masakan mas'akan | |||
mengelakkan m@NE2l'akkan | |||
menyelesaikan m@n^,@l@s'aIkan | |||
pergolakan p@Rgol'akan | |||
perempuan p@R@mp'uan | |||
perempuannya p@R,@mpu'ann^@ | |||
pesta p'esta | |||
berpesta b@Rp'esta | |||
menyalah m@n^'alah | |||
setengah s@t'@Nah | |||
berpengalaman b@Rp@Nal'aman | |||
kesemuanya k@s,@mu'@nn^@ | |||
selesema s@l@s'@m@ | |||
tindakan tind'akan | |||
pesalah p@s'alah | |||
wanita wan'ita | |||
bersalah b@Rs'alah | |||
//persetujuan p@Rs,@tudZ'uan | |||
//persetujuannya p@Rs@tudZu'ann^@ | |||
//keseluruhan k@s,@luR'ohan | |||
memberitahu m@mb,@Rit'ahu | |||
//persekutuan p@Rs,@kut'uan | |||
tema t'Ema | |||
kepercayaan k@p,@RtSaj'a|an | |||
dendangan dEnd'aNan | |||
peperiksaan p@p,@Reks'a|an | |||
kebebasan k@bEb'asan | |||
//cerai tS'@RaI | |||
//berbaik b@Rb'aIk | |||
menyembunyikan m@n^,@mbun^'ikan | |||
bermesyuarat b@Rm,@Su'aRat | |||
//pengetahuan p@N,@tah'uan | |||
mengenai m@N@n'ai | |||
penyelesaian p@n^,@l@s'aIan | |||
diselesaikan dis,@l@s'aIkan | |||
ditanya dit'an^@ | |||
prestasi pREst'asi | |||
pembelajaran p@mb,@ladZ'aRan | |||
kepong k'@poN | |||
demikian d@mik'ian | |||
piket p'ikEt | |||
kempennya kEmp'enn^@ | |||
jentera dZ@nt'@R@ | |||
perlembagaan p@Rl,@mbag'a|an | |||
bersesuaian b@Rs,@su'aIan | |||
bumiputera bumip'ut?Ra | |||
kecemerlangan k@tS,@Rm@l'aNan | |||
merdeka m@Rd'eka | |||
kemerdekaan k@m,@Rdek'a|an | |||
kelewatan k@lew'atan | |||
menyelesaikannya m@n^@l@saIk'ann^@ | |||
// english derived words | |||
akta 'akta | |||
album 'Elb@m | |||
aspek 'aspE2k | |||
balada bal'ada | |||
digit di'dZit | |||
digital didZ'it@l | |||
doktor d'okt@r | |||
dolar d'Ol@r | |||
domestik dOm'Estik | |||
entiti Ent'iti | |||
flora fl'ora | |||
frekuensi fRiku'@nsi | |||
imej 'imedZ | |||
indeks 'indEks | |||
insentif ins'E2ntif | |||
jean dZ'in | |||
jeneral dZEn'@R@l | |||
kabinet kEb'in@t | |||
kamera kEm'@R@ | |||
kes k'es | |||
komponen komp'on@n | |||
komprehensif kompRih'ensif | |||
koroner koR'on@r | |||
laser l'es@r | |||
majoriti mEdZor'iti | |||
meter m'it@r | |||
muzik m'iuzek | |||
muzium m'iuzi@m | |||
nasional nESh'@n@l | |||
negatif nEg'@tif | |||
nostalgia nost'aldZja | |||
november nov'Emb@r | |||
oktober okt'ob@r | |||
polis p'olis | |||
personaliti p@Rs,@nal'iti | |||
presiden pRE2s'id@n | |||
profesor pRof'E2s@r | |||
produk pR'odak | |||
prospek pR'ospE2k | |||
republik Rip'abli? | |||
saintis s'aIntis | |||
sesi s'esi | |||
subjek s'abdZE2k | |||
surcaj s'@RtSadZ | |||
radio R'edio | |||
realiti Rial'iti | |||
sentimen sEnt'im@n | |||
september sEpt'@mb@r | |||
teater ti'et@r | |||
teknik t'Eknik | |||
teknikal tEkn'ikal | |||
telefon tel'ifon | |||
tenis t'Enis | |||
tiara ti'aRa | |||
unit j'unit | |||
universiti jun,iv@Rs'iti | |||
virus v'aIR@s | |||
zoo zu: | |||
// place names | |||
Australia _^_EN | |||
Arsenal _^_EN | |||
Asia as'ia | |||
Barcelona b'aRs@l'ona | |||
Borneo _^_EN | |||
Britain _^_EN | |||
Brunei b'R2unaI | |||
Cheras tS'@ras | |||
Coast _^_EN | |||
Commonwealth _^_EN | |||
Denmark _^_EN | |||
England _^_EN | |||
Eropah Er'opah | |||
France _^_EN | |||
George _^_EN | |||
Georgetown _^_EN | |||
Indonesia indon'eIsi@ | |||
Ireland _^_EN | |||
Jamaica _^_EN | |||
Kingdom _^_EN | |||
Korea _^_EN | |||
Liverpool _^_EN | |||
London _^_EN | |||
New _^_EN | |||
Nigeria _^_EN | |||
Macau _^_EN | |||
Malaysia m@l'esi@ | |||
Melbourne _^_EN | |||
Guinea _^_EN | |||
Penang pin'EN | |||
Perak p'erak | |||
Phuket ph'ukEt | |||
Putrajaya putR2@dZ'aj@ | |||
Republic _^_EN | |||
Scotland _^_EN | |||
Seputeh s@p'uteh | |||
Seremban s@R'@mban | |||
Setar s?tar | |||
Sydney _^_EN | |||
Temerloh t@m'@Rloh | |||
Tonga t'onga | |||
Town _^_EN | |||
United _^_EN | |||
Valencia vel'@nsia | |||
Zambia z'ambia | |||
Zealand _^_EN | |||
// person names | |||
Azura az'uR2a | |||
Barack _^_EN | |||
David _^_EN | |||
Davidson _^_EN | |||
Douglas _^_EN | |||
Edward _^_EN | |||
Karen _^_EN | |||
Jason _^_EN | |||
Lee _^_EN | |||
Leela l'ila | |||
Linda l'inda | |||
Mahathir mah'ater | |||
Michael _^_EN | |||
Merican m'erikan | |||
Ng '@N | |||
Nora n'oRa | |||
Nurhaliza n,uRhal'iza | |||
Obama ob'ama | |||
Ong ON | |||
Ramlee R'amli | |||
Saleh s'aleh | |||
Seha s'eha | |||
Shafie Saf'i?i | |||
Sidek s'idek | |||
Syed s'aId | |||
Teresa t@R2'isa | |||
Tony _^_EN | |||
Yaacob j'a?kob | |||
Yew jiu | |||
Zakaria zak'aRja | |||
Zaleha zal'eha | |||
// English words | |||
(& co) En||k'amp@ni | |||
american _^_EN | |||
bank b'Enk | |||
banking b'EnkiN | |||
commerce _^_EN | |||
corp _^_EN $dot | |||
city _^_EN | |||
company _^_EN | |||
consortium _^_EN | |||
daily _^_EN | |||
distribution _^_EN | |||
east _^_EN | |||
education _^_EN | |||
engineering _^_EN | |||
euro _^_EN | |||
girl _^_EN | |||
grand gR2End | |||
genre _^_EN | |||
government _^_EN | |||
group _^_EN | |||
hero h'iR2o | |||
idea 'aIdi@ | |||
island _^_EN | |||
jazz dZ'E:s | |||
international _^_EN | |||
internet _^_EN | |||
left _^_EN | |||
land lEnd | |||
malayan _^_EN | |||
malaysian m@l'esi@n | |||
media _^_EN | |||
methodist _^_EN | |||
multi _^_EN | |||
north _^_EN | |||
pound _^_EN | |||
right _^_EN | |||
school _^_EN | |||
speaker _^_EN | |||
south _^_EN | |||
the _^_EN | |||
enterprise _^_EN | |||
omnibus 'omnibas | |||
online _^_EN | |||
power _^_EN | |||
punk _^_EN | |||
serius _^_EN | |||
service _^_EN | |||
street _^_EN | |||
technologies _^_EN | |||
tender _^_EN | |||
trading _^_EN | |||
trend _^_EN | |||
unity _^_EN | |||
union _^_EN | |||
wall _^_EN | |||
west _^_EN | |||
// brands | |||
afp $abbrev | |||
(air asia) 'E:_'e:si@_ | |||
(air france) _^_EN | |||
airbus _^_EN | |||
boeing _^_EN | |||
eon 'ion | |||
firefly _^_EN | |||
iphone aI||fon | |||
ipod aI||pod | |||
malaysiakini m@l'esi@||k'ini | |||
maybank m'eib'Enk | |||
reuters _^_EN | |||
(sime darby) _^_EN | |||
toyota toj'ota | |||
wikipedia wik,ip'idja | |||
// unstressed words | |||
//suatu $u | |||
dari $u | |||
pada $u | |||
daripada $u | |||
ke k@ $u | |||
di $u | |||
si $u | |||
sang $u | |||
hang $u | |||
yang $u | |||
//dan $u | |||
//atau $u | |||
//untuk $u | |||
ialah $u | |||
adalah $u | |||
sebagai $u | |||
bahwa $u | |||
per p@r $u | |||
// conjunctions | |||
agar $pause | |||
apabila ap@bil@ $pause | |||
apatah ap@t'ah $pause | |||
atau $pause | |||
ataupun $pause | |||
bagi $pause | |||
bahkan $pause | |||
(bukan sahaja) $pause | |||
dan $pause $u | |||
(di mana) $pause | |||
hanya $pause | |||
jika $pause | |||
kalau $pause | |||
kerana $pause | |||
ketika $pause | |||
mahupun $pause | |||
maka $pause | |||
malah $pause | |||
malahan $pause | |||
manakala $pause | |||
meskipun $pause | |||
misalnya $pause | |||
namun $pause | |||
(sama ada) $pause | |||
sambil $pause | |||
sebab s'@bab $pause | |||
sedangkan $pause | |||
sehingga $pause | |||
selain s@l'ain $pause | |||
semasa $pause | |||
serta s'@rt@ $pause | |||
setelah s@t'@lah $pause | |||
seperti $pause | |||
sepertimana s@p,@Rtim'an@ $pause | |||
supaya $pause | |||
tapi $pause | |||
tetapi $pause | |||
walau $pause | |||
walaupun $pause | |||
untuk $pause | |||
//yang $pause $u | |||
(yang mana) $pause | |||
// nuances | |||
anugerah an'ug*Rah | |||
dilaksanakan dil,aksan'@kan | |||
kementerian k@m,@ntR2'ian | |||
sebahagian s@b'ah?gian | |||
mewarnai m@warn'a|i | |||
mulai mul'a|i | |||
meraikan m@Ra|'ikan | |||
sibuk s'ebok | |||
terengganu tR2@Ng'anu | |||
dirasai diRas'a|i | |||
direka diR'ek@ | |||
negeri n'@gR2i |
@@ -0,0 +1,233 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Malay | |||
.group a | |||
a a | |||
a) a _|a | |||
A_) a _|a | |||
au) a _|a | |||
ai aI | |||
au aU | |||
_) au o // (automatik) | |||
@) a (_ @ // (pula) | |||
@) a (kah_ '@ // (apakah) | |||
@) a (kan_ '@ // (bukakan) | |||
@) a (lah_ '@ // (mintalah) | |||
@) a (nya_ '@ // (puncanya) | |||
@) a (pun_ '@ // (bagaimanapun) | |||
.group b | |||
b b | |||
_) be (@@ b@ | |||
_) ber (@@ b@R // (berdasarkan) | |||
_) ber (CaiX b@R // (bermain) | |||
_) ber (CauX b@R // (bergaul, berbaur) | |||
_) berke (@@ b@Rk@ // (berkeliaran, berkesempatan) | |||
_) berle (@@ b@Rl@ // (berleluasa) | |||
_) berper (@@ b@Rp@R // | |||
_) berse (@@ b@Rs@ // (bersebelahan) | |||
_) bh b // added (kota bharu) | |||
.group c | |||
c tS | |||
//************* | |||
ch tS // (kuching) | |||
//************** | |||
.group d | |||
d d | |||
dj dZ // Dutch | |||
.group e | |||
e E //jason: E changed to E2 | |||
e) e _|E | |||
A_) e _|E // *** to check on this *** | |||
e (_ e | |||
// ********************* | |||
_) e (Co@ E2 // e-o (ekoran) | |||
e (CaiX '@ // e-ai (kedai, petai, belai, cerai) | |||
e (CiX '@ // e-i (betik, ketil, lebih, kerisik, kesedihan, sering, seri, segi, seni) | |||
e (CCiX '@ // e-i (penting, jentik) | |||
e (CCuX '@ // e-u (dibendung, bentuk) | |||
e (CuX '@ // e-u (belut, telur, perut, ketulan, bertemu) | |||
e (CCuX '@ // e-u (perlu, merdu) | |||
e (CCCuX '@ // e-u (tengku, tengkuk) | |||
e (nyuX '@ // e-u (senyum) | |||
eCC) e (X e // e-e (pendek, benteng) | |||
eC) e (X e // e-e (belek, gelek, leceh, geleng) | |||
e (Ce e // e-e (kelecehan) | |||
oC) e (X e // o-e (oleh, boleh, celoteh, topeng) | |||
oCC) e (X e // o-e (ponteng) | |||
C) e (CCCoCkan_ e // (bengkokkan) | |||
m) e (_ @ // (autisme) | |||
// ****************** | |||
.group f | |||
f f | |||
ff f | |||
.group g | |||
g g | |||
.group h | |||
h h | |||
.group i | |||
i i | |||
i) i _|i | |||
A_) i _|i | |||
@) i (CX e // (tekik, masing, masin) | |||
@) i (Cnya_ 'e // (masinnya) | |||
@) i (CCaan_ e // (pemeriksaan) | |||
.group j | |||
j dZ | |||
.group k | |||
k k | |||
k (_ ? | |||
kh x | |||
_) ke (@@ k@ | |||
@@) k (annya_ k' | |||
_) kese (@@ k@s@ // keseluruhannya | |||
.group l | |||
l l | |||
ll l | |||
.group m | |||
m m | |||
_) me (@@ m@ | |||
_) mempe (@ m@mp@ | |||
//***************** | |||
_) mem (@@ m@m | |||
_) mene (@@ m@n@ // (menerajui) | |||
_) menge (@@ m@N@ // (mengenepikan) | |||
_) mempenge (@@ m@mp@N@ // (mempengerusikan) | |||
//**************** | |||
.group n | |||
n n | |||
ng N | |||
ny n^ | |||
// nj n^ | |||
.group o | |||
o o | |||
o) o _|o | |||
A_) o _|o | |||
o (r O | |||
oe u // Dutch spelling | |||
.group p | |||
p p | |||
pp p | |||
_) pe (@@ p@ | |||
_) pe (CaiX p@ // (pemain, pesaing) | |||
_) peme (@@ p@m@ // (pemeriksaan) | |||
_) pene (@@ p@n@ // (penerokaan) | |||
_) penge (@@ p@N@ // (pengetahuan) | |||
_) penje (@@ p@ndZ@ // (penjenamaan) | |||
_) perse (@@ p@Rs@ // (persetujuan) | |||
.group q | |||
q k | |||
qu kw | |||
.group r | |||
r R //(jason change: R2 to r) | |||
r (K r //(jason change: R to r) | |||
e) r (K *r //(jason change: *R to r) | |||
r (_ r // jason: added (silent r at the end) | |||
.group s | |||
s s | |||
ss s | |||
sy S // perhaps [S;] ?? | |||
sj S | |||
_) se (@@ s@ | |||
//************* | |||
_) se (CaiX s@ // (sebaik) | |||
sh S | |||
//*************** | |||
.group t | |||
t t | |||
tj tS // Dutch | |||
_) ter (@@ t@*R | |||
//*************** | |||
_) ter (@ t'@*R // ter- (terbaik, teruk) | |||
//****************** | |||
.group u | |||
u u | |||
u) u _|u | |||
A_) u _|u | |||
@) u (CX o // (puluh, tudung) | |||
@) u (Cnya_ 'o // (bentuknya) | |||
@) u (CCnya_ 'o // (tudungnya) | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
_) x z | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dOl@R | |||
__) - (_D n'eg@tif | |||
* b'intaN | |||
*) * (* | |||
** | |||
**) * (_ _:: |
@@ -0,0 +1,246 @@ | |||
// This file is UTF8 encoded | |||
// Punjabi/Gurmukhi | |||
// Numbers | |||
_0 z'iRo | |||
_1 'Ik: | |||
_2 d'o | |||
_3 t'I~n | |||
_4 c'aR | |||
_5 p'VnJ | |||
_6 c#'e | |||
_7 s'Vt: | |||
_8 'Vt.#: | |||
_9 n'O~ | |||
_10 d'Vs | |||
_11 gI'aRa~ | |||
_12 b'aRa~ | |||
_13 t'eRa~ | |||
_14 c'Oda~ | |||
_15 p'Vnd@Ra~ | |||
_16 s'ol.a~ | |||
_17 s@t'aRa~ | |||
_18 Vt.#'aRa~ | |||
_19 'Unni | |||
_20 v'iH | |||
_21 Ik:i | |||
_22 b'ai | |||
_23 t'ei | |||
_24 c'Ovi | |||
_25 p'Vc:i | |||
_26 c#'Vb:i | |||
_27 s@t'ai | |||
_28 Vt.#'ai | |||
_29 Un'Vt:i | |||
_30 t'iH | |||
_31 Ik'Vt:i | |||
_32 b'Vt:i | |||
_33 t'et:i | |||
_34 c'ONti | |||
_35 p'ENti | |||
_36 c#'Vt:i | |||
_37 s'ENti | |||
_38 Vt.#'Vt:i | |||
_39 U~Nt'ali | |||
_40 c'ali | |||
_41 Ik@t'ali | |||
_42 be'ali | |||
_43 t@R@t'ali | |||
_44 cUt'ali | |||
_45 p@nt'ali | |||
_46 c#I'ali | |||
_47 s@nt'ali | |||
_48 ,@R2@t'ali | |||
_49 Un'VnJa | |||
_50 p@nJ'aH | |||
_51 ,@k@v'VnJa | |||
_52 b@v'VnJa | |||
_53 t,@R@v'VnJa | |||
_54 cUR'VnJa | |||
_55 p,@c@v'VnJa | |||
_56 c#@p'VnJa | |||
_57 s,@t@v'VnJa | |||
_58 ,@t.#@v'VnJa | |||
_59 Un.'at.# | |||
_60 s'Vt.#: | |||
_61 Ik'aH@t. | |||
_62 b'aH@t. | |||
_63 t@R'e~H@t. | |||
_64 c'O~H@t. | |||
_65 p'E~H@t. | |||
_66 c#e'aH@t. | |||
_67 s@t'aH@t. | |||
_68 ,@t.#'aH@t. | |||
_69 Un.'Vt:@R | |||
_70 s'Vt:@R | |||
_71 Ik'Vt:@R | |||
_72 b@H'Vt:@R | |||
_73 t@H'et:@R | |||
_74 cOH'Vt:@R | |||
_75 p@J'Vt:@R | |||
_76 c#IH'Vt:@R | |||
_77 s@t'Vt:@R | |||
_78 Vt.#'Vt:@R | |||
_79 Un.'asi | |||
_80 'Vssi | |||
_81 ,IkI;'asi | |||
_82 bI;'asi | |||
_83 t,@RI;'asi | |||
_84 cUR'asi | |||
_85 p@c'asi | |||
_86 c#I;'asi | |||
_87 s@t'asi | |||
_88 Vt.#'asi | |||
_89 Un'an@v,e~ | |||
_90 n'Vb:e | |||
_91 Ik'an@v,e~ | |||
_92 b'an@v,e~ | |||
_93 t@R'a~n@v,e~ | |||
_94 cUR'an@v,e~ | |||
_95 p@c'an@v,e~ | |||
_96 c#I'an@ve~ | |||
_97 s@t'an@ve~ | |||
_98 Vt.#'an@ve~ | |||
_99 n@R2'I~n@v,e~ | |||
_0C s'O | |||
_0M1 H@J'aR | |||
_0M2 l'Vk#: // 100,000 | |||
_0M3 k'VRoR // 10,000,000 | |||
_0M4 'VR@b // 1,000,000,000 | |||
_0M5 k#'VR@b // 100,000,000,000 | |||
_dpt _d@s@ml'o: | |||
// character names | |||
ਂ bInd'i | |||
ੰ tIpp'i | |||
ੱ VddVk | |||
ਃ visaRg | |||
੍ hVlVnt | |||
ਅ 'ERV | |||
ੲ 'IRI | |||
ੳ 'URV | |||
_ਆ 'ERV||kVnn'a | |||
_ਇ 'IRI||sIh'aRi | |||
_ਈ 'IRI||bIh'aRi | |||
_ਉ 'URV||'OnkaR | |||
_ਊ 'URV||dUl'EnkaR | |||
_ਏ 'IRI||l'avam | |||
_ਐ 'ERV||dUl'avam | |||
_ਓ 'URV||hoR'a | |||
_ਔ 'ERV||kVnOR'a | |||
ਾ kVnn'a | |||
ਿ sIh'aRi | |||
ੀ bIh'aRi | |||
ੁ OnkaR | |||
ੂ dUl'EnkaR | |||
ੇ l'ava~ | |||
ੈ d@l'ava~ | |||
ੋ hoR'a | |||
ੌ kVn'ORa | |||
// Punctuation | |||
_?? 'Vk#:@R | |||
। d.'Vnd.i | |||
+ J'Vuma | |||
= b@R'ab@R | |||
% pR'VtIS@t | |||
* t'aRa | |||
// Pronouns | |||
// ਪੁਰਖਵਾਚੀ ਪੜਨਾਂਵ | |||
ਮੈਂ $u // main: I | |||
ਮੈਨੂੰ $u | |||
ਮੇਰਾ $u | |||
ਮੇਰੀ $u | |||
ਮੇਰੇ $u | |||
ਅਸੀਂ $u // we | |||
ਸਾਨੂੰ $u | |||
ਸਾਡਾ $u | |||
ਸਾਡੀ $u | |||
ਸਾਡੇ $u | |||
ਆਪ $u // you(formal) | |||
ਆਪਨੂੰ $u | |||
ਆਪਦਾ $u | |||
ਆਪਦੀ $u | |||
ਆਪਦੇ $u | |||
ਤੂੰ $u // you (informal) | |||
ਤੂਸੀਂ $u // you(formal) | |||
ਤੁਹਾਨੂੰ $u | |||
ਤੁਹਾਡਾ $u | |||
ਤੁਹਾਡੀ $u | |||
ਤੁਹਾਡੇ $u | |||
ਤੂੰ $u // you (informal) | |||
ਤੈਨੂੰ $u | |||
ਤੇਰਾ $u | |||
ਇਹ $u // he/she/it | |||
ਇਸਤੋਂ $u | |||
ਇਸਦਾ $u | |||
ਇਹ $u // they | |||
ਇਨ੍ਹਾਂਨੂੰ $u | |||
ਇਨ੍ਹਾਂਦਾ $u | |||
ਉਹ $u // he/she/it | |||
ਉਸਤੋਂ $u | |||
ਉਸਦਾ $u | |||
ਉਸਦੀ $u | |||
ਉਸਦੇ $u | |||
ਉਹ $u // they | |||
ਉਨ੍ਹਾਂਨੂੰ $u // unhannu: them | |||
ਉਨ੍ਹਾਂਦਾ $u | |||
ਉਨ੍ਹਾਂਦੀ $u | |||
ਉਨ੍ਹਾਂਦੇ $u | |||
// Prepositions/Postpositions | |||
ਦਾ $u // dā: of, possessive particle | |||
ਦੀ $u // dī | |||
ਦੇ $u // de | |||
ਨੂੰ $u // nu: to | |||
ਤੱਕ $u // tak: until, for(time) | |||
ਬਿਨਾ $u $pause // without (preposition) | |||
ਵਿਚ $u // in | |||
ਵਿੱਚ $u // in | |||
ਤੋਂ $u // ton: from, with, by | |||
// Verbs | |||
ਹਾਂ $u // to be | |||
ਹੋ $u | |||
ਹੈ $u | |||
ਹੈਂ $u | |||
ਹਨ $u | |||
ਸੀ $u // si: past aux | |||
ਸਨ $u // san: past aux | |||
ਰਹਾ $u // rahā: continuous | |||
ਰਹੇ $u // rahe | |||
ਰਹੀ $u // rahī | |||
$textmode | |||
ਸੋਫਟਵਿਅਰ software | |||
ਈਮੇਲ email | |||
ਕੀਬੋਰਡ keyboard | |||
ਬੋਰਡ board | |||
$phonememode | |||
@@ -0,0 +1,469 @@ | |||
| |||
// Punjabi Gurmukhi script | |||
// This file is UTF8 encoded | |||
// letter groups: | |||
// A vowel letters | |||
// B vowel signs and virama ् | |||
// C consonants | |||
// Y vowel letters and vowel signs | |||
.replace | |||
੦ 0 | |||
੧ 1 | |||
੨ 2 | |||
੩ 3 | |||
੪ 4 | |||
੫ 5 | |||
੬ 6 | |||
੭ 7 | |||
੮ 8 | |||
੯ 9 | |||
૦ 0 | |||
૧ 1 | |||
૨ 2 | |||
૩ 3 | |||
૪ 4 | |||
૫ 5 | |||
૬ 6 | |||
૭ 7 | |||
૮ 8 | |||
૯ 9 | |||
// combine dot consonants into a single character | |||
ਸ਼ ਸ਼ | |||
ਲ਼ ਲ਼ // l. | |||
ਖ਼ ਖ਼ // x | |||
ਗ਼ ਗ਼ // Q | |||
ਜ਼ ਜ਼ // z | |||
ਫ਼ ਫ਼ // f | |||
// combine base vowel+vowel sign into single vowel characters | |||
ਅੈ ਐ // aI | |||
ਅਾ ਆ // aa | |||
ਅੌ ਔ // aU | |||
ੲੀ ਈ // ii | |||
ੲਿ ਇ // i | |||
ੲੇ ਏ // e | |||
ੳੁ ਉ // u | |||
ੳੂ ਊ // uu | |||
// Vowels | |||
.group ੳ | |||
ੳ u | |||
.group ੲ | |||
ੲ i | |||
.group ਅ | |||
ਅ ,V | |||
ਅਂ V~ | |||
ਅੰ V~ | |||
.group ਆ | |||
ਆ a | |||
ਆਂ a~ | |||
ਆੰ a~ | |||
.group ਇ | |||
ਇ I | |||
ਇਂ I~ | |||
ਇੰ I~ | |||
.group ਈ | |||
ਈ i | |||
ਈਂ i~ | |||
ਈੰ i~ | |||
.group ਉ | |||
ਉ U | |||
ਉਂ U~ | |||
ਉੰ U~ | |||
.group ਊ | |||
ਊ u | |||
ਊਂ u~ | |||
ਊੰ u~ | |||
.group ਏ | |||
ਏ e | |||
ਏਂ e~ | |||
ਏੰ e~ | |||
.group ਐ | |||
ਐ E | |||
ਐਂ E~ | |||
ਐੰ E~ | |||
.group ਓ | |||
ਓ o | |||
ਓਂ o~ | |||
ਓੰ o~ | |||
.group ਔ | |||
ਔ O | |||
ਔਂ O~ | |||
ਔੰ O~ | |||
.group ૠ | |||
ૠ r- | |||
// Vowel Signs | |||
.group ਾ | |||
ਾ a | |||
ਾਂ a~ | |||
ਾੰ a~ | |||
.group ਿ | |||
ਿ I | |||
ਿਂ I~ | |||
ਿੰ I~ | |||
.group ੀ | |||
ੀ i | |||
ੀਂ i~ | |||
ੀੰ i~ | |||
.group ੁ | |||
ੁ U | |||
ੁਂ U~ | |||
ੁੰ U~ | |||
.group ੂ | |||
ੂ u | |||
ੂਂ u~ | |||
ੂੰ u~ | |||
.group ੇ | |||
ੇ e | |||
ੇਂ e~ | |||
ੇੰ e~ | |||
.group ੈ | |||
ੈ E // aI | |||
ੈਂ E~ | |||
ੈੰ E~ | |||
.group ੋ | |||
ੋ o | |||
ੋਂ o~ | |||
ੋੰ o~ | |||
.group ੌ | |||
ੌ O // aU | |||
ੌਂ O~ | |||
ੌੰ O~ | |||
// Consonants ਕે | |||
.group ਕ | |||
ਕ kV // inherent vowel | |||
ਕ (B k // no inherent vowel if vowel or virama follows | |||
@) ਕ (_ k // omit inherent vowel at end of word | |||
ੱ) ਕ k:V | |||
ੱ) ਕ (B k: | |||
ੱ) ਕ (_ k: | |||
.group ਖ | |||
ਖ k#V | |||
ਖ (B k# | |||
@) ਖ (_ k# | |||
ੱ) ਖ k#:V | |||
ੱ) ਖ (B k#: | |||
ੱ) ਖ (_ k#: | |||
.group ਗ | |||
ਗ gV | |||
ਗ (B g | |||
@) ਗ (_ g | |||
ੱ) ਗ g:V | |||
ੱ) ਗ (B g: | |||
ੱ) ਗ (_ g: | |||
.group ਘ | |||
ਘ g#V | |||
ਘ (B g# | |||
@) ਘ (_ g# | |||
_) ਘ k+V // high tone | |||
_) ਘ (B k+ | |||
.group ਙ | |||
ਙ NV | |||
ਙ (B N | |||
@) ਙ (_ N | |||
ੱ) ਙ N:V | |||
ੱ) ਙ (B N: | |||
ੱ) ਙ (_ N: | |||
.group ਚ | |||
ਚ cV | |||
ਚ (B c | |||
@) ਚ (_ c | |||
ੱ) ਚ c:V | |||
ੱ) ਚ (B c: | |||
ੱ) ਚ (_ c: | |||
.group ਛ | |||
ਛ c#V | |||
ਛ (B c# | |||
@) ਛ (_ c# | |||
ੱ) ਛ c#:V | |||
ੱ) ਛ (B c#: | |||
ੱ) ਛ (_ c#: | |||
.group ਜ | |||
ਜ JV | |||
ਜ (B J | |||
@) ਜ (_ J | |||
ੱ) ਜ J:V | |||
ੱ) ਜ (B J: | |||
ੱ) ਜ (_ J: | |||
.group ਝ | |||
ਝ J#V | |||
ਝ (B J# | |||
@) ਝ (_ J# | |||
_) ਝ c+V | |||
_) ਝ (B c+ | |||
.group ਞ | |||
ਞ n^V | |||
ਞ (B n^ | |||
@) ਞ (_ n^ | |||
ੱ) ਞ n^:V | |||
ੱ) ਞ (B n^: | |||
ੱ) ਞ (_ n^: | |||
.group ਟ | |||
ਟ t.V | |||
ਟ (B t. | |||
@) ਟ (_ t. | |||
ੱ) ਟ t.:V | |||
ੱ) ਟ (B t.: | |||
ੱ) ਟ (_ t.: | |||
.group ਠ | |||
ਠ t.#V | |||
ਠ (B t.# | |||
@) ਠ (_ t.# | |||
ੱ) ਠ t.#:V | |||
ੱ) ਠ (B t.#: | |||
ੱ) ਠ (_ t.#: | |||
.group ਡ | |||
ਡ d.V | |||
ਡ (B d. | |||
@) ਡ (_ d. | |||
ੱ) ਡ d.:V | |||
ੱ) ਡ (B d.: | |||
ੱ) ਡ (_ d.: | |||
.group ਢ | |||
ਢ d.#V | |||
ਢ (B d.# | |||
@) ਢ (_ d.# | |||
_) ਢ t.+V | |||
_) ਢ (B t. | |||
.group ਣ | |||
ਣ n.V | |||
ਣ (B n. | |||
@) ਣ (_ n. | |||
ੱ) ਣ n.:V | |||
ੱ) ਣ (B n.: | |||
ੱ) ਣ (_ n.: | |||
.group ਤ | |||
ਤ tV | |||
ਤ (B t | |||
@) ਤ (_ t | |||
ੱ) ਤ t:V | |||
ੱ) ਤ (B t: | |||
ੱ) ਤ (_ t: | |||
.group ਥ | |||
ਥ t#V | |||
ਥ (B t# | |||
@) ਥ (_ t# | |||
ੱ) ਥ t#:V | |||
ੱ) ਥ (B t#: | |||
ੱ) ਥ (_ t#: | |||
.group ਦ | |||
ਦ dV | |||
ਦ (B d | |||
@) ਦ (_ d | |||
ੱ) ਦ d:V | |||
ੱ) ਦ (B d: | |||
ੱ) ਦ (_ d: | |||
.group ਧ | |||
ਧ d#V | |||
ਧ (B d# | |||
@) ਧ (_ d# | |||
_) ਧ t+V | |||
_) ਧ (B t+ | |||
.group ਨ | |||
ਨ nV | |||
ਨ (B n | |||
@) ਨ (_ n | |||
ੱ) ਨ n:V | |||
ੱ) ਨ (B n: | |||
ੱ) ਨ (_ n: | |||
.group ਪ | |||
ਪ pV | |||
ਪ (B p | |||
@) ਪ (_ p | |||
ੱ) ਪ p:V | |||
ੱ) ਪ (B p: | |||
ੱ) ਪ (_ p: | |||
.group ਫ | |||
ਫ p#V | |||
ਫ (B p# | |||
@) ਫ (_ p# | |||
ੱ) ਫ p#:V | |||
ੱ) ਫ (B p#: | |||
ੱ) ਫ (_ p#: | |||
.group ਬ | |||
ਬ bV | |||
ਬ (B b | |||
@) ਬ (_ b | |||
ੱ) ਬ b:V | |||
ੱ) ਬ (B b: | |||
ੱ) ਬ (_ b: | |||
.group ਭ | |||
ਭ b#V | |||
ਭ (B b# | |||
@) ਭ (_ b# | |||
_) ਭ p+V | |||
_) ਭ (B p+ | |||
.group ਮ | |||
ਮ mV | |||
ਮ (B m | |||
@) ਮ (_ m | |||
ੱ) ਮ m:V | |||
ੱ) ਮ (B m: | |||
ੱ) ਮ (_ m: | |||
.group ਯ | |||
ਯ jV | |||
ਯ (B j | |||
@) ਯ (_ j | |||
ੱ) ਯ j:V | |||
ੱ) ਯ (B j: | |||
ੱ) ਯ (_ j: | |||
.group ਰ | |||
ਰ RV | |||
ਰ (B R | |||
@) ਰ (_ R | |||
ੱ) ਰ R:V | |||
ੱ) ਰ (B R: | |||
ੱ) ਰ (_ R: | |||
.group ਲ | |||
ਲ lV | |||
ਲ (B l | |||
@) ਲ (_ l | |||
ੱ) ਲ l:V | |||
ੱ) ਲ (B l: | |||
ੱ) ਲ (_ l: | |||
.group ਲ਼ | |||
ਲ਼ l.V | |||
ਲ਼ (B l. | |||
@) ਲ਼ (_ l. | |||
.group ਵ | |||
ਵ vV | |||
ਵ (B v | |||
@) ਵ (_ v | |||
ੱ) ਵ v:V | |||
ੱ) ਵ (B v: | |||
ੱ) ਵ (_ v: | |||
.group ਸ਼ | |||
ਸ਼ SV | |||
ਸ਼ (B S | |||
@) ਸ਼ (_ S | |||
ੱ) ਸ਼ S:V | |||
ੱ) ਸ਼ (B S: | |||
ੱ) ਸ਼ (_ S: | |||
.group ਸ | |||
ਸ sV | |||
ਸ (B s | |||
@) ਸ (_ s | |||
ੱ) ਸ s:V | |||
ੱ) ਸ (B s: | |||
ੱ) ਸ (_ s: | |||
.group ਹ | |||
ਹ HV | |||
ਹ (B H | |||
@) ਹ (_ H | |||
.group ਖ਼ | |||
ਖ਼ xV | |||
ਖ਼ (B x | |||
@) ਖ਼ (_ x | |||
.group ਗ਼ | |||
ਗ਼ QV | |||
ਗ਼ (B Q | |||
@) ਗ਼ (_ Q | |||
.group ਜ਼ | |||
ਜ਼ zV | |||
ਜ਼ (B z | |||
@) ਜ਼ (_ z | |||
.group ੜ | |||
ੜ r.V | |||
ੜ (B r. | |||
@) ੜ (_ r. | |||
.group ਫ਼ | |||
ਫ਼ fV | |||
ਫ਼ (B f | |||
@) ਫ਼ (_ f | |||
.group ੍ | |||
੍ // virama | |||
.group ਼ | |||
਼ // nukta | |||
.group ੱ | |||
ੱ // addak | |||
.group ਂ | |||
ਂ N // bindi | |||
.group ੰ | |||
ੰ n // tippi | |||
.group ਃ | |||
ਃ h | |||
.group | |||
$ dOlVR // TEST | |||
% pVsEnt // TEST |
@@ -337,7 +337,7 @@ la $u | |||
lo $u | |||
las $u | |||
los $u | |||
//se $u | |||
se $u | |||
?2 este $u+ $nounf 'estSi // this | |||
?2 estes $u+ $nounf 'estSis // these | |||
@@ -637,7 +637,6 @@ acertos $alt2 | |||
acordo $alt $verb | |||
acervo $alt2 | |||
adepto $alt | |||
adereço $alt2 | |||
adore $alt | |||
adorno $alt $verb | |||
albatrozes $alt | |||
@@ -654,8 +653,8 @@ apego $alt2 $noun | |||
apelo $alt $verb | |||
aposto $alt $verb | |||
aperto $alt2 $noun | |||
apoio $alt2 $noun | |||
aprovo $alt | |||
apneia $alt | |||
apoio $alt $verb | |||
arredores $alt | |||
arremesso $alt2 $noun | |||
arroz $alt2 | |||
@@ -668,6 +667,8 @@ atrozes $alt | |||
autora $alt2 | |||
avesso $alt2 | |||
axé aSE | |||
azeda $alt $verb | |||
azedo $alt $verb | |||
baqueta $alt2 | |||
beco $alt2 | |||
belo $alt | |||
@@ -675,7 +676,6 @@ besta $alt2 | |||
bilhete $alt2 | |||
boca $alt2 | |||
bochecha $alt2 | |||
boio $alt | |||
bojo $alt2 | |||
boleia $alt | |||
bolero $alt | |||
@@ -683,13 +683,14 @@ bolo $alt2 | |||
bolo $alt $verb | |||
borboleta $alt2 | |||
bordo $alt | |||
bosque $alt | |||
boto $alt2 $noun | |||
bromelha $alt | |||
cabeça $alt2 | |||
cabresto $alt2 | |||
cacete $alt2 | |||
cachorra $alt2 | |||
caderneta $alt2 | |||
cadete $alt2 | |||
camiseta $alt2 | |||
cantora $alt2 | |||
capacete $alt2 | |||
@@ -704,6 +705,7 @@ cateto $alt2 | |||
catorze $alt2 | |||
cebola $alt2 | |||
cefaleia $alt | |||
centopeia $alt | |||
cerca $alt | |||
cerca $alt2 $noun | |||
cerco $alt $verb | |||
@@ -728,7 +730,7 @@ colher $alt $noun | |||
colheres $alt $noun | |||
colmeia $alt | |||
colore $alt | |||
começo $alt2 $noun | |||
começo $alt $verb | |||
comodo $alt2 | |||
concerto $alt2 $noun | |||
concertos $alt2 | |||
@@ -758,12 +760,14 @@ desemprego $alt2 | |||
desemprego $alt $verb | |||
desespero $alt2 $noun | |||
desfecho $alt2 | |||
desmantelo $alt $verb | |||
desprezo $alt2 $noun | |||
desse $alt2 | |||
desse $alt $verb | |||
deste $alt2 | |||
deste $alt $verb | |||
desterro $alt2 | |||
destroem $alt | |||
deveras $alt | |||
dez $alt | |||
diarreia $alt | |||
@@ -779,11 +783,11 @@ elo $alt | |||
emprego $alt2 $noun | |||
empregos $alt2 | |||
encosto $alt $verb | |||
endereço $alt2 | |||
endereço $alt $verb | |||
enforco $alt | |||
engordo $alt | |||
enredo $alt $verb | |||
enrosco $alt $verb | |||
enterro $alt2 $noun | |||
enumerem $alt | |||
envelope $alt | |||
@@ -809,20 +813,23 @@ espiroqueta $alt2 | |||
espoleta $alt2 | |||
esposa $alt2 | |||
esqueleto $alt2 | |||
estilete $alt2 | |||
estrela $alt2 | |||
estrofe $alt | |||
estorno $alt $verb | |||
estorvo $alt $verb | |||
etiqueta $alt2 | |||
europa $alt | |||
europeia $alt | |||
exagero $alt $verb | |||
explore $alt | |||
faceta $alt2 | |||
fantoche $alt | |||
farelo $alt | |||
farofa $alt | |||
febre $alt | |||
feitora $alt2 | |||
fera $alt | |||
feitora $alt2 | |||
ferozes $alt | |||
fezes $alt | |||
?1 fixe fiSy | |||
@@ -867,11 +874,13 @@ ideia $alt | |||
interesse $alt2 $noun | |||
jogo $alt2 $noun | |||
joguete $alt2 | |||
lagosta $alt2 | |||
lambreta $alt2 | |||
lebre $alt | |||
lembrete $alt2 | |||
leste $alt2 $verb | |||
lopes $alt | |||
macete $alt2 | |||
maior $alt | |||
maleta $alt2 | |||
marcelo $alt | |||
@@ -894,6 +903,7 @@ minueto $alt2 | |||
miolo $alt2 | |||
miolos $alt | |||
moeda $alt | |||
mofo $alt $verb | |||
molho $alt2 $noun | |||
monera $alt | |||
morcego $alt2 | |||
@@ -901,10 +911,10 @@ morda $alt2 | |||
moreia $alt | |||
mortos $alt | |||
motora $alt2 | |||
mulher $alt | |||
mui mwi | |||
muito mw'iNtU // -s is included as a suffix | |||
muita mw'iNt& | |||
mulher $alt | |||
mulheres $alt | |||
mureta $alt2 | |||
mutreta $alt2 | |||
@@ -917,11 +927,13 @@ obstetra $alt | |||
odisseia $alt | |||
onu $1 | |||
olho $alt2 $noun | |||
onomatopeia $alt | |||
opereta $alt2 | |||
ordens $alt | |||
osso $alt2 | |||
ossos $alt | |||
ostra $alt2 | |||
ovelha $alt2 | |||
ovos $alt | |||
pachorra $alt2 | |||
paexa paeSa | |||
@@ -937,6 +949,7 @@ pastora $alt2 | |||
pedra $alt | |||
pela $alt $verb | |||
pelego $alt2 | |||
pela $alt $verb | |||
pelo $alt $verb | |||
peso $alt $verb | |||
piloto $alt2 $noun | |||
@@ -948,32 +961,32 @@ plateia $alt | |||
plebeia $alt | |||
polca $alt | |||
porcos $alt | |||
porrete $alt2 | |||
porra $alt2 | |||
porrete $alt2 | |||
porto $alt2 | |||
portos $alt | |||
pose $alt2 | |||
povos $alt | |||
poxa p'oS& | |||
primavera $alt | |||
provo $alt | |||
prosopopeia $alt | |||
quarteto $alt2 | |||
queda $alt | |||
quede $alt2 | |||
quinteto $alt2 | |||
recomeço $alt2 $noun | |||
raposa $alt2 | |||
recomeço $alt $verb | |||
recordo $alt | |||
recorto $alt | |||
rede $alt2 | |||
redor $alt | |||
reembolso $alt $verb | |||
reforços $alt | |||
reforço $alt $verb | |||
reforços $alt | |||
refresco $alt $verb | |||
reitora $alt2 | |||
relevo $alt2 $noun | |||
remorso $alt | |||
reprovo $alt | |||
retorno $alt $verb | |||
rixa x'iS& | |||
rocha $alt | |||
@@ -984,7 +997,7 @@ rota $alt2 | |||
rota $alt $noun | |||
rumores $alt2 | |||
saleta $alt2 | |||
sarjeta $alt | |||
sarjeta $alt2 | |||
seborreia $alt | |||
seca $alt2 $noun | |||
secas $alt2 |
@@ -1,3 +1,4 @@ | |||
// translation rules Brazilian | |||
// translation rules Brazilian | |||
// translation rules Brazilian | |||
// This file is UTF-8 encoded | |||
@@ -178,8 +179,6 @@ | |||
e (co_ E | |||
e (ctA_ E | |||
e (ctAm_ E | |||
e (çA_ E | |||
e (çAm_ E | |||
e (de_ E | |||
e (dem_ E | |||
@@ -447,17 +446,21 @@ proteg) e (L07_ e // des- | |||
respond) e (L07_ e // cor- | |||
qu) e (brL04_ E | |||
_cel) e (brL04_ E | |||
_enr) e (dL01_ E | |||
_arr) e (dL03_ E | |||
_depr) e (dL03_ E | |||
_hosp) e (dL03_ E | |||
_gr) e (gL03_ e | |||
_gal) e (gL03_ e | |||
_n) e (grL03_ e | |||
_estr) ei (L03_ EI | |||
estr) ei (L04_ EI | |||
_inv) e (jL04_ E | |||
tr) e (pL04_ E // es- | |||
_dec) e (pL04_ E | |||
_in) e (ptL03_ E | |||
_p) e (quL02_ E | |||
_s) e (quL02_ E | |||
ad) e (quL04_ E | |||
l) e (que_ E | |||
_imp) e (rL03_ E | |||
_sev) e (rL03_ E | |||
@@ -473,6 +476,7 @@ respond) e (L07_ e // cor- | |||
_tol) e (rL04_ E | |||
_ven) e (rL04_ E | |||
acel) e (rL04_ E // des- | |||
_apod) e (rL04_ E | |||
_coop) e (rL04_ E | |||
_temp) e (rL04_ E | |||
_recup) e (rL04_ E | |||
@@ -488,13 +492,14 @@ _refrig) e (rL04_ E | |||
_bez) e (rrL03_ e | |||
_inv) e (rtL03_ e | |||
_f) e (rvL03_ e | |||
_p) e (sL01_ E | |||
_refr) e (scL01_ E | |||
_d) e (scL02_ E | |||
_cr) e (scL02_ E | |||
_p) e (scL03_ E | |||
_m) e (sclL04 E | |||
_d) e (spL02_ E | |||
_p) e (squL02_ E | |||
_refr) e (squL02_ E | |||
_l) e (ssL02_ e | |||
_esp) e (ssL03_ e | |||
_c) e (stL03_ e | |||
@@ -515,43 +520,10 @@ _obsol) e (tL03_ e | |||
_despr) e (zL04_ E | |||
_embel) e (zL04_ E | |||
_menospr) e (zL04_ E | |||
_emagr) e (çL03 | |||
pr) e (çL03_ e // a- | |||
aqu) e (çL03_ e // re- | |||
mer) e (çL03_ e // des- | |||
pad) e (çL03_ e // com- | |||
par) e (çL03_ e // a- re- com- rea- desa- | |||
_ado) e (çL03_ e | |||
_car) e (çL03_ e | |||
_per) e (çL03_ e_ | |||
conh) e (çL03_ e // re- | |||
obed) e (çL03_ e // des- | |||
_esqu) e (çL03_ e | |||
_forn) e (çL03_ e | |||
_ofer) e (çL03_ e | |||
abast) e (çL03_ e // re- | |||
_aborr) e (çL03_ e | |||
_acont) e (çL03_ e | |||
_agrad) e (çL03_ e | |||
_amanh) e (çL03_ e | |||
_amort) e (çL03_ e | |||
_anoit) e (çL03_ e | |||
_arref) e (çL03_ e | |||
_desguarn) e (çL03_ e | |||
_desguarnec) e (çL03_ e | |||
_enfraqu) e (çL03_ e | |||
_enlouqu) e (çL03_ e | |||
_enraiv) e (çL03_ e | |||
_enriqu) e (çL03_ e | |||
_entrist) e (çL03_ e | |||
_envaid) e (çL03_ e | |||
_envelh) e (çL03_ e | |||
_esclar) e (çL03_ e | |||
_espair) e (çL03_ e | |||
_estrem) e (çL03_ e | |||
_fortal) e (çL03_ e | |||
_rejuven) e (çL03_ e | |||
estabel) e (çL03_ e // re- | |||
com) e (çL01_ E | |||
p) e (çL03_ E | |||
_m) e (çL03_ E | |||
_entorp) e (çL03_ e | |||
//endsort | |||
@@ -600,7 +572,12 @@ estabel) e (çL03_ e // re- | |||
?3 g (_C g_ | |||
g (Y Z // ge gi | |||
gu (Y g | |||
?1 guen (C gw'eIN // aguenta, etc. | |||
a) gu (ent gw | |||
enxa) gu (e gw | |||
lin) gu (e gw | |||
lin) gu (i gw | |||
san) gu (ín gw | |||
san) gu (in gw | |||
?1 n) gu (A gw // eg: língua, etc. | |||
?1 man) gu (ei g // mangueira | |||
?1 gu (ém_ g // eg: alguém, ninguém, etc... | |||
@@ -847,15 +824,19 @@ estabel) e (çL03_ e // re- | |||
_engl) o (bL01_ O | |||
_s) o (bL02_ O | |||
_esn) o (bL04_ O | |||
br) o (chL04_ O | |||
_deb) o (chL04_ O | |||
_desabr) o (chL04_ O | |||
_m) o (fL01_ O | |||
_m) o (fL02_ O | |||
_s) o (frL02_ O | |||
r) o (gL04_ O // inter- | |||
_j) o (gL04_ O | |||
_af) o (gL04_ O | |||
_adv) o (gL04_ O | |||
_ref) o (gL04_ O | |||
_ap) oi (L04_ OI | |||
_ap) oi (L01_ OI | |||
_ap) oi (L02_ OI | |||
_b) oi (L04_ OI | |||
_t) o (lL03_ o | |||
c) o (lhL02_ O // es- en- re- | |||
_t) o (lhL02_ O | |||
@@ -870,10 +851,13 @@ _desabr) o (chL04_ O | |||
_ens) o (pL04_ O | |||
_s) o (prL04_ O | |||
_) o (ptL04_ O | |||
_defl) o (rL02_ O | |||
_impl) o (rL02_ O | |||
_inod) o (rL03_ O | |||
_inson) o (rL03_ O | |||
_comem) o (rL04 O | |||
_remem) o (rL04_ O | |||
f) o (rmL03_ O | |||
_enf) o (rquL02_ O | |||
_ext) o (rquL02_ O | |||
c) o (rrL01_ o // escorra, incorra, corra, recorra | |||
@@ -882,8 +866,10 @@ _remem) o (rL04_ O | |||
t) o (rçL01_ O // con- | |||
_r) o (snL04_ O | |||
_c) o (spL02_ O | |||
_enr) o (squL02_ O | |||
p) ostos (_ Ost=Us# // dispostos etc. | |||
_gar) o (tL03_ o | |||
pr) o (vL03_ O | |||
_g) o (zL04_ O | |||
_esb) o (çL01_ O | |||
_r) o (çL03_ O | |||
@@ -940,8 +926,16 @@ _remem) o (rL04_ O | |||
?1 _) qua kwa // quatro, etc. | |||
?1 _) que ke // quente, etc. | |||
?1 _) quei (C k'eI // queira, queima, etc | |||
?1 C) quen (C kw'eIN // cinquenta, etc. | |||
?1 A) quen (C kw'eIN // frequência, etc. | |||
A) quên (C kw'eIN // frequência, etc. | |||
ade) qu (e kw | |||
e) qu (estr kw | |||
_e) qu (in kw | |||
fre) qu (ent kw | |||
li) qu (id kw | |||
lí) qu (id kw | |||
n) qu (en kw | |||
se) qu (en kw | |||
tran) qu (il kw | |||
?1 quec kes // esquece, etc. | |||
?1 queç kes // esqueça. | |||
?1 A) que (nA_ ke // pequeno, etc. |
@@ -70,7 +70,7 @@ | |||
_) n (k N- | |||
_) n (k@@ N- | |||
n (g N | |||
_) n (g N- | |||
K) n (g N- | |||
_) n (g@@ N- | |||
.group o |
@@ -3,7 +3,7 @@ | |||
// condition ?1 Speak English letters as English words | |||
// condition ?2 Speak English letter as jyutping romanisation | |||
//voice=zh-yue // to find the voice for this dictionary | |||
.group a | |||
?1 a _^_EN |
@@ -228,31 +228,50 @@ where the <code>ELSE</code> and multiple <code>ELSE</code> parts are optional. | |||
<p> | |||
Multiple conditions may be joined with <code>AND</code> or <code>OR</code>, but not a mixture of <code>AND</code>s and <code>OR</code>s. | |||
<p> | |||
A condition may be preceded by <code>NOT</code>. For example: | |||
<pre> | |||
IF <condition> AND NOT <condition> THEN | |||
<statements> | |||
ENDIF | |||
</pre> | |||
<p> | |||
<strong>Condition</strong> | |||
Can be: | |||
<ul> | |||
<dl> | |||
<dt>thisPh(<attribute>) | |||
<dd>Test this current phoneme | |||
<p> | |||
<dt>prevPh(<attribute>) | |||
<dd>Test the previous phoneme | |||
<p> | |||
<dt>prevPhW(<attribute>) | |||
<dd>Test the previous phoneme, but only within the same word. Returns false if there is no previous phoneme in the word. | |||
<p> | |||
<dt>thisPh(<attribute>) | |||
<dd>Test this current phoneme | |||
<dt>prev2PhW(<attribute>) | |||
<dd>Test the phoneme before the previous phoneme, but only within the same word. Returns false if it is not in this word. | |||
<p> | |||
<dt>nextPh(<attribute>) | |||
<dd>Test the following phoneme | |||
<p> | |||
<dt>nextPhW(<attribute>) | |||
<dd>Test the following phoneme, but only within the same word. Returns false if there is no following phoneme in the word. | |||
<p> | |||
<dt>next2Ph(<attribute>) | |||
<dd>Test the phoneme after the next phoneme. | |||
<p> | |||
<dt>nextPhW(<attribute>) | |||
<dd>Test the next phoneme, but only within the same word. Returns false if there is no following phoneme in the word. | |||
<p> | |||
<dt>next2PhW(<attribute>) | |||
<dd>Test the phoneme after the next phoneme, but only within the same word. Returns false if not found before the word end. | |||
<p> | |||
<dt>next3PhW(<attribute>) | |||
<dd>Test the third phoneme after the current phoneme, but only within the same word. Returns false if not found before the word end. | |||
<p> | |||
<dt>nextVowel(<attribute>) | |||
<dd>Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none. | |||
<p> | |||
<dt>prevVowel(<attribute>) | |||
<dd>Test the previous vowel before the current phoneme, but only within the same word. Returns false if there is none. | |||
<p> | |||
<dt>PreVoicing() | |||
<dd>This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmur before the stop. | |||
<p> | |||
@@ -263,6 +282,7 @@ Can be: | |||
<strong>Attributes</strong> | |||
<ul> | |||
Note: Additional attributes could be added to eSpeak if needed. | |||
<p> | |||
<dl> | |||
<dt><phoneme name> | |||
<dd>True if the phoneme has this phoneme name. | |||
@@ -294,8 +314,10 @@ Note: Additional attributes could be added to eSpeak if needed. | |||
<dt>isWordEnd | |||
<dd>True if this is the final phoneme in a word. | |||
<p> | |||
<dt>isFirstVowel | |||
<dt>isSecondVowel | |||
<dt>isFinalVowel | |||
<dd>True if this is the last vowel in a word. | |||
<dd>True if this is the First, Second, or Last vowel in a word. | |||
<p> | |||
<dt>isAfterStress | |||
<dd>True if this phoneme is after the stressed vowel in a word. |
@@ -1,6 +1,5 @@ | |||
// CR1 doesn't like same phonemes twice | |||
0 e E 5 e _ | |||
// ID1 and MS1 don't like same phonemes twice | |||
0 s s 5 s _ | |||
0 ? k 5 k _ | |||
0 t t 5 t _ | |||
@@ -8,6 +7,10 @@ | |||
0 n n 5 n _ | |||
0 p p 5 p _ | |||
0 l/ l 5 l _ | |||
0 h h 5 h _ | |||
0 k k 5 k _ | |||
0 z z 5 z _ | |||
0 D D 5 z _ | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l | |||
@@ -28,10 +31,13 @@ | |||
0 a NULL 0 V | |||
0 E NULL 0 e | |||
0 E2 NULL 0 e | |||
0 i NULL 0 I | |||
0 o NULL 0 Q | |||
0 O NULL 0 Q | |||
0 u NULL 0 U | |||
// 'id1' has phonemes OI aI aU | |||
0 n^ NULL 0 nY | |||
0 ? NULL 0 k | |||
@@ -40,3 +46,35 @@ | |||
0 R NULL 0 r | |||
0 x NULL 0 h | |||
// some English phonemes | |||
0 A: NULL 60 V r | |||
0 A@ NULL 60 V r | |||
0 eI NULL 0 e | |||
0 oU NULL 60 Q U | |||
0 u: NULL 0 U | |||
0 i: NULL 0 I | |||
0 I2 NULL 0 I | |||
0 I# NULL 0 I | |||
0 3 NULL 0 @ | |||
0 3: NULL 0 @ | |||
0 e@ NULL 0 e | |||
0 i@ NULL 60 I @ | |||
0 i@3 NULL 60 I r | |||
0 o@ NULL 60 Q @ | |||
0 O@ NULL 60 Q @ | |||
0 O: NULL 80 Q @ | |||
0 U@ NULL 60 U @ | |||
0 0 NULL 0 Q | |||
0 a# NULL 0 @ | |||
0 aa NULL 0 V | |||
0 @L NULL 50 @ l | |||
0 aI @ 5 aI _ | |||
0 aI 3 5 aI _ | |||
0 aU @ 5 aU _ | |||
0 aI@ NULL 75 V @ | |||
0 aI3 NULL 75 V r | |||
0 aU@ NULL 75 V @ | |||
0 Z NULL 60 z j | |||
0 T NULL 0 t | |||
0 D NULL 0 z |
@@ -8,6 +8,10 @@ phoneme V // inherent vowel, can be [O] or [o] | |||
vowel flag1 starttype #o endtype #o | |||
length 200 | |||
IF thisPh(isWordEnd) AND prevPhW(isNotVowel) AND prev2PhW(isNotVowel) THEN | |||
ChangePhoneme(NULL) | |||
ENDIF | |||
IF thisPh(isFirstVowel) THEN | |||
IF nextVowel(i) OR nextVowel(u) THEN | |||
ChangePhoneme(o) |
@@ -3,6 +3,9 @@ phoneme @ | |||
vowel starttype #@ endtype #@ | |||
unstressed | |||
length 140 | |||
IF prevPh(@) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/@_low) | |||
endphoneme | |||
@@ -11,6 +14,9 @@ endphoneme | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 180 | |||
IF prevPh(a) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
ChangeIfUnstressed(a/) | |||
FMT(vowel/a) | |||
endphoneme | |||
@@ -19,6 +25,9 @@ endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
ChangeIfUnstressed(@) | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
@@ -26,6 +35,9 @@ endphoneme | |||
phoneme E2 // as [E] but don't reduce to [@] | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
@@ -33,6 +45,9 @@ endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/e) | |||
endphoneme | |||
@@ -40,7 +55,9 @@ endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 180 | |||
IfNextVowelAppend(;) | |||
IF prevPh(i) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/i_6) | |||
endphoneme | |||
@@ -48,6 +65,9 @@ endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 180 | |||
IF prevPh(#o) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/oo) | |||
endphoneme | |||
@@ -55,6 +75,9 @@ endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 180 | |||
IF prevPh(#o) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/o) | |||
endphoneme | |||
@@ -62,6 +85,9 @@ endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 180 | |||
IF prevPh(u) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/u) | |||
endphoneme | |||
@@ -69,6 +95,12 @@ endphoneme | |||
phoneme aI | |||
vowel starttype #a endtype #i | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/ai) | |||
endphoneme | |||
@@ -78,9 +110,27 @@ phoneme eI | |||
FMT(vdiph/eei_2) | |||
endphoneme | |||
phoneme OI | |||
vowel starttype #o endtype #i | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/ooi) | |||
endphoneme | |||
phoneme aU | |||
vowel starttype #a endtype #u | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/au_4) | |||
endphoneme | |||
@@ -1864,6 +1864,20 @@ include ph_georgian | |||
phonemetable fa base | |||
include ph_farsi | |||
// experimental | |||
phonemetable ko base | |||
include ph_korean | |||
phonemetable kl base | |||
include ph_greenlandic | |||
phonemetable am base | |||
include ph_amhari | |||
phonemetable si hi | |||
include ph_sinhala | |||
//************************************************************************************** | |||
// The following lines are experimental, for future additions. | |||
@@ -1882,61 +1896,49 @@ include ph_kinyarwanda | |||
//phonemetable mn base | |||
//include ph_mongolian | |||
phonemetable prs base | |||
include ph_dari | |||
//phonemetable prs base | |||
//include ph_dari | |||
phonemetable sl sk | |||
include ph_slovenian | |||
phonemetable gd base | |||
include ph_s_gaelic | |||
//phonemetable gd base | |||
//include ph_s_gaelic | |||
phonemetable nso base | |||
include ph_northern-sotho | |||
//phonemetable nso base | |||
//include ph_northern-sotho | |||
phonemetable ht fr | |||
include ph_haitian | |||
//phonemetable ht fr | |||
//include ph_haitian | |||
phonemetable az tr | |||
include ph_azerbaijani | |||
//phonemetable az tr | |||
//include ph_azerbaijani | |||
phonemetable ak base | |||
include ph_akan | |||
//phonemetable ak base | |||
//include ph_akan | |||
phonemetable am base | |||
include ph_amhari | |||
phonemetable wo base | |||
include ph_wolof | |||
phonemetable dv hi | |||
include ph_divehi | |||
phonemetable te hi | |||
include ph_telugu | |||
phonemetable si hi | |||
include ph_sinhala | |||
//phonemetable wo base | |||
//include ph_wolof | |||
phonemetable tn base | |||
include ph_setswana | |||
//phonemetable dv hi | |||
//include ph_divehi | |||
//phonemetable te hi | |||
//include ph_telugu | |||
phonemetable mt base | |||
include ph_maltese | |||
//phonemetable tn base | |||
//include ph_setswana | |||
phonemetable bo hi | |||
include ph_tibetan | |||
phonemetable kk base | |||
include ph_kazakh | |||
//phonemetable mt base | |||
//include ph_maltese | |||
phonemetable tt base | |||
include ph_tatar | |||
//phonemetable bo hi | |||
//include ph_tibetan | |||
phonemetable ko base | |||
include ph_korean | |||
//phonemetable kk base | |||
//include ph_kazakh | |||
phonemetable kl base | |||
include ph_greenlandic | |||
//phonemetable tt base | |||
//include ph_tatar | |||
@@ -104,9 +104,8 @@ static keywtab_t k_conditions[] = { | |||
{"next2PhW", tWHICH_PHONEME, 6}, | |||
{"nextVowel",tWHICH_PHONEME, 7}, | |||
{"prevVowel",tWHICH_PHONEME, 8}, | |||
// {"next2PhW", tWHICH_PHONEME, 0x800}, | |||
// {"numVowels", tTEST, 0x000}, | |||
{"next3PhW", tWHICH_PHONEME, 9}, | |||
{"prev2PhW", tWHICH_PHONEME, 10}, | |||
{"PreVoicing", tTEST, 0xf01}, | |||
{"KlattSynth", tTEST, 0xf02}, | |||
@@ -1051,8 +1050,13 @@ static wxString CompileAllDictionaries() | |||
fclose(f_in); | |||
} | |||
LoadVoice(voicename,0); | |||
if(LoadVoice(voicename,1) == NULL) | |||
{ | |||
wxLogError(wxString::Format(_T("Can't find voice '%s' for dictionary '%s'"), wxString(voicename, wxConvLocal).c_str(), dictstr.c_str())); | |||
report = report + dictstr + _T(" No Voice, "); | |||
errors ++; | |||
} | |||
else | |||
if((err = CompileDictionary(path_dsource, dictname,log,NULL,0)) > 0) | |||
{ | |||
report = report + dictstr + wxString::Format(_T(" %d, "),err); | |||
@@ -2742,6 +2746,7 @@ int CompilePhoneme(int compile_phoneme) | |||
int count; | |||
int c; | |||
char *p; | |||
int vowel_length_factor = 100; // for testing | |||
char number_buf[12]; | |||
char ipa_buf[N_ITEM_STRING+1]; | |||
PHONEME_TAB phoneme_out2; | |||
@@ -2844,6 +2849,11 @@ int CompilePhoneme(int compile_phoneme) | |||
case i_SET_LENGTH: | |||
value = NextItemMax(511); | |||
if(phoneme_out->type == phVOWEL) | |||
{ | |||
value = (value * vowel_length_factor)/100; | |||
} | |||
if(after_if == 0) | |||
{ | |||
phoneme_out->std_length = value/2; |
@@ -470,12 +470,12 @@ static int compile_line(char *linebuf, char *dict_line, int *hash) | |||
} | |||
ix = 0; | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
ix += (*p-'0'); | |||
p++; | |||
} | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
ix = ix*10 + (*p-'0'); | |||
p++; | |||
@@ -542,7 +542,7 @@ static int compile_line(char *linebuf, char *dict_line, int *hash) | |||
case 1: | |||
if((c == '-') && multiple_words) | |||
{ | |||
if(isdigit(word[0])) | |||
if(IsDigit09(word[0])) | |||
{ | |||
multiple_numeric_hyphen = 1; | |||
} | |||
@@ -1156,7 +1156,7 @@ static void copy_rule_string(char *string, int &state) | |||
sxflags |= SUFX_M; | |||
break; | |||
default: | |||
if(isdigit(c)) | |||
if(IsDigit09(c)) | |||
value = (value*10) + (c - '0'); | |||
break; | |||
} | |||
@@ -1575,7 +1575,7 @@ static int compile_lettergroup(char *input, FILE *f_out) | |||
char item_length[N_LETTERGP_ITEMS]; | |||
p = input; | |||
if(!isdigit(p[0]) || !isdigit(p[1])) | |||
if(!IsDigit09(p[0]) || !IsDigit09(p[1])) | |||
{ | |||
fprintf(f_log,"%5d: Expected 2 digits after '.L'\n",linenum); | |||
error_count++; |
@@ -607,7 +607,7 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int | |||
break; // # is subscript-h, but only for consonants | |||
// ignore digits after the first character | |||
if(!first && isdigit(c)) | |||
if(!first && IsDigit09(c)) | |||
continue; | |||
if((c >= 0x20) && (c < 128)) | |||
@@ -3362,7 +3362,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f | |||
if(((c = *word1++)==0) || (c == ' ')) | |||
break; | |||
if((c=='.') && (length > 0) && (isdigit(word[length-1]))) | |||
if((c=='.') && (length > 0) && (IsDigit09(word[length-1]))) | |||
break; // needed for lang=hu, eg. "december 2.-ig" | |||
word[length] = c; |
@@ -604,7 +604,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
char ph_buf[80]; | |||
char ph_buf2[80]; | |||
char ph_alphabet[80]; | |||
char hexbuf[6]; | |||
char hexbuf[12]; | |||
static char pause_string[] = {phonPAUSE, 0}; | |||
ph_buf[0] = 0; | |||
@@ -981,7 +981,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | |||
flags[0] = 0; | |||
flags[1] = 0; | |||
if(((tr->langopts.numbers & NUM_ROMAN_CAPITALS) && !(wtab[0].flags & FLAG_ALL_UPPER)) || isdigit(word[-2])) | |||
if(((tr->langopts.numbers & NUM_ROMAN_CAPITALS) && !(wtab[0].flags & FLAG_ALL_UPPER)) || IsDigit09(word[-2])) | |||
return(0); // not '2xx' | |||
word_start = word; | |||
@@ -1020,7 +1020,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | |||
n_digits++; | |||
} | |||
if(isdigit(word[0])) | |||
if(IsDigit09(word[0])) | |||
return(0); // eg. 'xx2' | |||
acc += prev; | |||
@@ -1756,12 +1756,12 @@ bool CheckThousandsGroup(char *word, int group_len) | |||
// Is this a group of 3 digits which looks like a thousands group? | |||
int ix; | |||
if(isdigit(word[group_len]) || isdigit(-1)) | |||
if(IsDigit09(word[group_len]) || IsDigit09(-1)) | |||
return(false); | |||
for(ix=0; ix < group_len; ix++) | |||
{ | |||
if(!isdigit(word[ix])) | |||
if(!IsDigit09(word[ix])) | |||
return(false); | |||
} | |||
return(true); | |||
@@ -1812,7 +1812,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
digit_lookup = buf_digit_lookup; | |||
number_control = control; | |||
for(ix=0; isdigit(word[ix]); ix++) ; | |||
for(ix=0; IsDigit09(word[ix]); ix++) ; | |||
n_digits = ix; | |||
value = this_value = atoi(word); | |||
@@ -1821,14 +1821,14 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
group_len = 4; | |||
// is there a previous thousands part (as a previous "word") ? | |||
if((n_digits == group_len) && (word[-2] == tr->langopts.thousands_sep) && isdigit(word[-3])) | |||
if((n_digits == group_len) && (word[-2] == tr->langopts.thousands_sep) && IsDigit09(word[-3])) | |||
{ | |||
prev_thousands = 1; | |||
} | |||
else if((tr->langopts.thousands_sep == ' ') || (tr->langopts.numbers & NUM_ALLOW_SPACE)) | |||
{ | |||
// thousands groups can be separated by spaces | |||
if((n_digits == 3) && !(wtab->flags & FLAG_MULTIPLE_SPACES) && isdigit(word[-2])) | |||
if((n_digits == 3) && !(wtab->flags & FLAG_MULTIPLE_SPACES) && IsDigit09(word[-2])) | |||
{ | |||
prev_thousands = 1; | |||
} | |||
@@ -1850,7 +1850,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
if((word[ix] == '.') && !isdigit(word[ix+1]) && !isdigit(word[ix+2]) && !(wtab[1].flags & FLAG_NOSPACE)) | |||
if((word[ix] == '.') && !IsDigit09(word[ix+1]) && !IsDigit09(word[ix+2]) && !(wtab[1].flags & FLAG_NOSPACE)) | |||
{ | |||
// remove dot unless followed by another number | |||
word[ix] = 0; | |||
@@ -1879,7 +1879,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
{ | |||
ordinal = 2; | |||
} | |||
else if(!isdigit(suffix[0])) // not _#9 (tab) | |||
else if(!IsDigit09(suffix[0])) // not _#9 (tab) | |||
{ | |||
sprintf(string,"_#%s",suffix); | |||
if(Lookup(tr, string, ph_ordinal2)) | |||
@@ -1904,7 +1904,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
if((word[0] == '0') && (prev_thousands == 0) && (word[1] != ' ') && (word[1] != tr->langopts.decimal_sep)) | |||
{ | |||
if((n_digits == 2) && (word[3] == ':') && isdigit(word[5]) && isspace(word[7])) | |||
if((n_digits == 2) && (word[3] == ':') && IsDigit09(word[5]) && isspace(word[7])) | |||
{ | |||
// looks like a time 02:30, omit the leading zero | |||
} | |||
@@ -1973,7 +1973,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
if((word[n_digits] == tr->langopts.decimal_sep) && isdigit(word[n_digits+1])) | |||
if((word[n_digits] == tr->langopts.decimal_sep) && IsDigit09(word[n_digits+1])) | |||
{ | |||
// this "word" ends with a decimal point | |||
Lookup(tr, "_dpt", ph_append); | |||
@@ -2018,8 +2018,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
char *p2; | |||
// look for combinations of the number with the next word | |||
p = word; | |||
while(isdigit(p[1])) p++; // just use the last digit | |||
if(isdigit(p[-1])) | |||
while(IsDigit09(p[1])) p++; // just use the last digit | |||
if(IsDigit09(p[-1])) | |||
{ | |||
p2 = p - 1; | |||
if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits | |||
@@ -2082,7 +2082,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
n_digits++; | |||
decimal_count = 0; | |||
while(isdigit(word[n_digits+decimal_count])) | |||
while(IsDigit09(word[n_digits+decimal_count])) | |||
decimal_count++; | |||
// if(decimal_count > 1) | |||
@@ -2101,7 +2101,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
decimal_count--; | |||
n_digits++; | |||
} | |||
if((decimal_count <= max_decimal_count) && isdigit(word[n_digits])) | |||
if((decimal_count <= max_decimal_count) && IsDigit09(word[n_digits])) | |||
{ | |||
LookupNum3(tr, atoi(&word[n_digits]), buf1, 0,0,0); | |||
strcat(ph_out,buf1); | |||
@@ -2152,7 +2152,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
while(isdigit(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) | |||
while(IsDigit09(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) | |||
{ | |||
// speak any remaining decimal fraction digits individually | |||
value = word[n_digits++] - '0'; | |||
@@ -2165,7 +2165,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
if(Lookup(tr, "_dpt2", buf1)) | |||
strcat(ph_out,buf1); | |||
if((c == tr->langopts.decimal_sep) && isdigit(word[n_digits+1])) | |||
if((c == tr->langopts.decimal_sep) && IsDigit09(word[n_digits+1])) | |||
{ | |||
Lookup(tr, "_dpt", buf1); | |||
strcat(ph_out,buf1); |
@@ -1287,10 +1287,10 @@ static int attrnumber(const wchar_t *pw, int default_value, int type) | |||
{//================================================================== | |||
int value = 0; | |||
if((pw == NULL) || !isdigit(*pw)) | |||
if((pw == NULL) || !IsDigit09(*pw)) | |||
return(default_value); | |||
while(isdigit(*pw)) | |||
while(IsDigit09(*pw)) | |||
{ | |||
value = value*10 + *pw++ - '0'; | |||
} |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.47.03b 22.Mar.13"; | |||
const char *version_string = "1.47.03c 23.Mar.13"; | |||
const int version_phdata = 0x014701; | |||
int option_device_number = -1; | |||
@@ -615,6 +615,7 @@ static int CountVowelPosition(PHONEME_LIST *plist) | |||
static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, USHORT *p_prog, WORD_PH_DATA *worddata) | |||
{//======================================================================================================================== | |||
int which; | |||
int ix; | |||
unsigned int data; | |||
int instn; | |||
int instn2; | |||
@@ -705,6 +706,21 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, | |||
return(false); // no previous vowel | |||
plist = &(worddata->prev_vowel); | |||
break; | |||
case 9: // next3PhW | |||
for(ix=1; ix<=3; ix++) | |||
{ | |||
if(plist[ix].sourceix) | |||
return(false); | |||
} | |||
plist = &plist[3]; | |||
break; | |||
case 10: // prev2PhW | |||
if((plist[0].sourceix) || (plist[-1].sourceix)) | |||
return(false); | |||
plist-=2; | |||
break; | |||
} | |||
if((which == 0) || (which == 5)) |
@@ -975,6 +975,7 @@ SetLengthMods(tr,3); // all equal | |||
break; | |||
case L('i','d'): // Indonesian | |||
case L('m','s'): // Malay | |||
{ | |||
static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240}; | |||
static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; | |||
@@ -1312,7 +1313,7 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.stress_rule = STRESSPOSN_2R; | |||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words. Need to allow "bw'" prefix | |||
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_2 | NUM_AND_HUNDRED; | |||
tr->langopts.numbers2 = 0x200; // say "thousands" before its number | |||
} | |||
@@ -1429,6 +1430,8 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.vowel_pause = 1; | |||
tr->langopts.stress_rule = STRESSPOSN_2R; | |||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
tr->langopts.max_initial_consonants = 4; // for example: mwngi | |||
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED; | |||
tr->langopts.break_numbers = 0x49249268; // for languages which have numbers for 100,000 and 1,000,000 |
@@ -374,6 +374,7 @@ void SetLengthMods(Translator *tr, int value) | |||
} | |||
int IsAlpha(unsigned int c) | |||
{//======================== | |||
// Replacement for iswalph() which also checks for some in-word symbols | |||
@@ -429,8 +430,8 @@ int IsAlpha(unsigned int c) | |||
return(0); | |||
} | |||
static int IsDigit09(unsigned int c) | |||
{//========================= | |||
int IsDigit09(unsigned int c) | |||
{//============================ | |||
if((c >= '0') && (c <= '9')) | |||
return(1); | |||
return(0); | |||
@@ -2311,10 +2312,10 @@ static int EmbeddedCommand(unsigned int &source_index) | |||
source_index++; | |||
} | |||
if(isdigit(source[source_index])) | |||
if(IsDigit09(source[source_index])) | |||
{ | |||
value = atoi(&source[source_index]); | |||
while(isdigit(source[source_index])) | |||
while(IsDigit09(source[source_index])) | |||
source_index++; | |||
} | |||
@@ -3331,7 +3332,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
while(pn < &number_buf[sizeof(number_buf)-20]) | |||
{ | |||
if(!isdigit(c = *pw++) && (c != tr->langopts.decimal_sep)) | |||
if(!IsDigit09(c = *pw++) && (c != tr->langopts.decimal_sep)) | |||
break; | |||
*pn++ = c; |
@@ -709,6 +709,7 @@ void InitNamedata(void); | |||
void InitText(int flags); | |||
void InitText2(void); | |||
int IsDigit(unsigned int c); | |||
int IsDigit09(unsigned int c); | |||
int IsAlpha(unsigned int c); | |||
int IsVowel(Translator *tr, int c); | |||
int isspace2(unsigned int c); |
@@ -601,7 +601,7 @@ voice_t *LoadVoice(const char *vname, int control) | |||
// which directory to look for a named voice. List of voice names, must end in a space. | |||
static const char *voices_asia = | |||
"fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue "; | |||
"fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta tr vi vi-hue zh zh-yue "; | |||
static const char *voices_europe = | |||
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | |||
@@ -1134,7 +1134,7 @@ static char *ExtractVoiceVariantName(char *vname, int variant_num, int add_dir) | |||
// The voice name has a +variant suffix | |||
variant_num = 0; | |||
*p++ = 0; // delete the suffix from the voice name | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
variant_num = atoi(p); // variant number | |||
} |