| _10 d'OS | _10 d'OS | ||||
| _11 '&garo | _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 | _19 'uniS | ||||
| _20 b'iS // ?? | |||||
| _20 k'uri // or b'iS ?? | |||||
| _21 'ekuS | _21 'ekuS | ||||
| _22 b'ajS | _22 b'ajS | ||||
| _23 t'ejS | _23 t'ejS | ||||
| _24 tS'ObbiS | _24 tS'ObbiS | ||||
| _25 p'O~tSiS | _25 p'O~tSiS | ||||
| _26 tS#'ObbiS | |||||
| _26 tSh'ObbiS | |||||
| _27 S'ataS | _27 S'ataS | ||||
| _28 'at.#aS | _28 'at.#aS | ||||
| _29 'untriS | _29 'untriS | ||||
| ধ d#O | ধ d#O | ||||
| ন d'ontennO | ন d'ontennO | ||||
| প pO | প pO | ||||
| ফ p#O | |||||
| ফ fO // or [p#O] ? | |||||
| ব bO | ব bO | ||||
| ভ b#O | ভ b#O | ||||
| ম mO | ম mO | ||||
| য় Oj | য় Oj | ||||
| য ontostedZ'O | য ontostedZ'O | ||||
| র rO | র rO | ||||
| ঢ় hrO | |||||
| ড় r.O | |||||
| ড় r.O // (d. + nukta) | |||||
| ঢ় hr.O | |||||
| ঢ় hr.O // (d#. + nukta) | |||||
| ল lO | ল lO | ||||
| শ taleboS:O | শ taleboS:O | ||||
| ষ mud#en:oS:O | ষ mud#en:oS:O | ||||
| ৎ kh'Ond.otO | ৎ kh'Ond.otO | ||||
| // full vowels | // full vowels | ||||
| অ SOro'O | |||||
| আ SOro'a | |||||
| অ O | |||||
| আ a | |||||
| ই hrOS:o'i | ই hrOS:o'i | ||||
| ঈ dirg#o'i | ঈ dirg#o'i | ||||
| উ hrOS:o'u | উ hrOS:o'u |
| ৌ ow | ৌ ow | ||||
| ৌঁ o~w | ৌঁ o~w | ||||
| // Consonants | // Consonants | ||||
| .group ক | .group ক | ||||
| ক kV | ক kV | ||||
| ক (B k | ক (B k | ||||
| ক (_ k | |||||
| .group খ | .group খ | ||||
| খ k#V | খ k#V | ||||
| খ (B k# | খ (B k# | ||||
| খ (_ k# | |||||
| .group গ | .group গ | ||||
| গ gV | গ gV | ||||
| গ (B g | গ (B g | ||||
| গ (_ g | |||||
| .group ঘ | .group ঘ | ||||
| ঘ g#V | ঘ g#V | ||||
| ঘ (B g# | ঘ (B g# | ||||
| ঘ (_ g# | |||||
| .group ঙ | .group ঙ | ||||
| ঙ NV | ঙ NV | ||||
| ঙ্ (B N | ঙ্ (B N | ||||
| ঙ্ (_ N | |||||
| .group চ | .group চ | ||||
| চ tSV | চ tSV | ||||
| চ (B tS | চ (B tS | ||||
| চ (_ tS | |||||
| .group ছ | .group ছ | ||||
| ছ tS#V | ছ tS#V | ||||
| ছ (B tS# | ছ (B tS# | ||||
| ছ (_ tS# | |||||
| .group জ | .group জ | ||||
| জ JV | জ JV | ||||
| জ (B J | জ (B J | ||||
| জ (_ J | |||||
| জ্ব JV | জ্ব JV | ||||
| জ্ব (B J | জ্ব (B J | ||||
| .group ঝ | .group ঝ | ||||
| ঝ J#V | ঝ J#V | ||||
| ঝ (B J# | ঝ (B J# | ||||
| ঝ (_ J# | |||||
| .group ঞ | .group ঞ | ||||
| ঞ nV | ঞ nV | ||||
| ঞ্ (B n | ঞ্ (B n | ||||
| ঞ্ (_ n | |||||
| .group ট | .group ট | ||||
| ট t.V | ট t.V | ||||
| ট (B t. | ট (B t. | ||||
| ট (_ t. | |||||
| .group ঠ | .group ঠ | ||||
| ঠ t.#V | ঠ t.#V | ||||
| ঠ (B t.# | ঠ (B t.# | ||||
| ঠ (_ t.# | |||||
| .group ড | .group ড | ||||
| ড d.V | ড d.V | ||||
| ড (B d. | ড (B d. | ||||
| ড (_ d. | |||||
| ড় r.V // nukta | ড় r.V // nukta | ||||
| ড় (B r. | ড় (B r. | ||||
| .group ঢ | .group ঢ | ||||
| ঢ d.#V | |||||
| ঢ (B d.# | |||||
| ঢ (_ d.# | |||||
| ঢ d.#V | |||||
| ঢ (B d.# | |||||
| ঢ় hr.V | |||||
| ঢ় (B hr. | |||||
| .group ণ | .group ণ | ||||
| ণ nV // should be [n.] if adjacent to t. or d. ? | ণ nV // should be [n.] if adjacent to t. or d. ? | ||||
| ণ (B n | ণ (B n | ||||
| ণ (_ n | |||||
| .group ত | .group ত | ||||
| ত tV | ত tV | ||||
| ত (B t | ত (B t | ||||
| ত (_ t | |||||
| .group থ | .group থ | ||||
| থ t#V | থ t#V | ||||
| থ (B t# | থ (B t# | ||||
| থ (_ t# | |||||
| .group দ | .group দ | ||||
| দ dV | দ dV | ||||
| দ (B d | দ (B d | ||||
| দ (_ d | |||||
| .group ধ | .group ধ | ||||
| ধ d#V | ধ d#V | ||||
| ধ (B d# | ধ (B d# | ||||
| ধ (_ d# | |||||
| .group ন | .group ন | ||||
| ন nV | ন nV | ||||
| ন (B n | ন (B n | ||||
| ন (_ n | |||||
| .group প | .group প | ||||
| প pV | প pV | ||||
| প (B p | প (B p | ||||
| প (_ p | |||||
| .group ফ | .group ফ | ||||
| ফ fV // or [p#] ? | ফ fV // or [p#] ? | ||||
| ফ (B f | ফ (B f | ||||
| ফ (_ f | |||||
| .group ব | .group ব | ||||
| ব bV | ব bV | ||||
| ব (B b | ব (B b | ||||
| ব (_ b | |||||
| .group ভ | .group ভ | ||||
| ভ b#V | ভ b#V | ||||
| ভ (B b# | ভ (B b# | ||||
| ভ (_ b# | |||||
| .group ম | .group ম | ||||
| ম mV | ম mV | ||||
| ম (B m | ম (B m | ||||
| ম (_ m | |||||
| .group য় | .group য় | ||||
| য় jV | য় jV | ||||
| য় (B j | য় (B j | ||||
| য় (_ j | |||||
| .group য | .group য | ||||
| য dZV | য dZV | ||||
| য (B dZ | য (B dZ | ||||
| য (_ dZ | |||||
| য় jV // nukta | য় jV // nukta | ||||
| য় (B j | য় (B j | ||||
| @) য় (_ j | |||||
| .group র | .group র | ||||
| র rV | র rV | ||||
| র (B r | র (B r | ||||
| র (_ r | |||||
| ্) র (_ rV | |||||
| .group ল | .group ল | ||||
| ল lV | ল lV | ||||
| ল (B l | ল (B l | ||||
| ল (_ l | |||||
| .group শ | .group শ | ||||
| শ SV // or [s] ? | শ SV // or [s] ? | ||||
| শ (B S | শ (B S | ||||
| শ (_ S | |||||
| শ (্ল s | শ (্ল s | ||||
| .group ষ | .group ষ | ||||
| ষ SV | ষ SV | ||||
| ষ (B S | ষ (B S | ||||
| ষ (_ S | |||||
| .group স | .group স | ||||
| .group হ | .group হ | ||||
| হ hV | হ hV | ||||
| হ (B h | হ (B h | ||||
| হ (_ h | |||||
| .group হ্ব | .group হ্ব | ||||
| হ্ব vV | হ্ব vV | ||||
| হ্ব (B v | হ্ব (B v | ||||
| হ্ব (_ v | |||||
| .group ৎ | .group ৎ | ||||
| ৎ t | ৎ 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. | |||||
| .group | |||||
| // obsolete letters | |||||
| ঋ r- | |||||
| ৠ r- | |||||
| ঌ l- | |||||
| ৡ l- | |||||
| ৃ r- | |||||
| ৄ r- | |||||
| ৢ l- | |||||
| ৣ l- | |||||
| _ª fEmI2nIn'O@dI2n@L | _ª fEmI2nIn'O@dI2n@L | ||||
| _« lEft'gIl@mEt | _« lEft'gIl@mEt | ||||
| _ makr0n | _ makr0n | ||||
| ² tu: | |||||
| ³ Tri: | |||||
| _¹ su:p@skrIptw'0n | |||||
| _² su:p@skrIptt'u: | _² su:p@skrIptt'u: | ||||
| _³ su:p@skrIptT'ri: | _³ su:p@skrIptT'ri: | ||||
| _´ a#kju:taksEnt | _´ a#kju:taksEnt | ||||
| _· mId@Ld0t | _· mId@Ld0t | ||||
| _¸ sEd'Il@ | _¸ sEd'Il@ | ||||
| _¹ su:p@skrIptw'0n | |||||
| //_º maskjUlIn'O@dI2n@L | //_º maskjUlIn'O@dI2n@L | ||||
| _º dI2gr'i:z | _º dI2gr'i:z | ||||
| _» raIt'gIl@mEt | _» raIt'gIl@mEt | ||||
| blase blA:z'eI | blase blA:z'eI | ||||
| blasé blA:z'eI | blasé blA:z'eI | ||||
| bleh blEh | bleh blEh | ||||
| blockade $2 | |||||
| blockade bl0k'eId | |||||
| blouse blaUz | blouse blaUz | ||||
| bluest blu:@st | bluest blu:@st | ||||
| blurry bl3:rI | blurry bl3:rI | ||||
| dandelion dandI2laI@n | dandelion dandI2laI@n | ||||
| ddu DI $only // Welsh | ddu DI $only // Welsh | ||||
| de d@ $only | de d@ $only | ||||
| (de jure) deIdZ'U@ri | |||||
| debacle deIb'A:k@L | debacle deIb'A:k@L | ||||
| debrief di:br'i:f | debrief di:br'i:f | ||||
| debris dEbri: | debris dEbri: | ||||
| emphasis Emf@sIs $only | emphasis Emf@sIs $only | ||||
| empire $1 | empire $1 | ||||
| emu i:mju: | emu i:mju: | ||||
| (en masse) 0n||m'as | |||||
| (en route) 0n||r'u:t | |||||
| enroute 0nr'u:t | enroute 0nr'u:t | ||||
| ensemble 0ns'0mb@L | ensemble 0ns'0mb@L | ||||
| entendre 0nt'0ndr@- | entendre 0nt'0ndr@- | ||||
| henceforth hEnsfo@T | henceforth hEnsfo@T | ||||
| ?3 herb 3:b | ?3 herb 3:b | ||||
| hercules h3:kjUli:z | hercules h3:kjUli:z | ||||
| ?3 hereford h3:f3d | |||||
| heretical hI2rEtI2k@L | heretical hI2rEtI2k@L | ||||
| hereto hi@3'tu: | hereto hi@3'tu: | ||||
| heretofore hi@3t2Ufo@ | heretofore hi@3t2Ufo@ | ||||
| holster hoUlst3 | holster hoUlst3 | ||||
| homeowner hoUmoUn3 | homeowner hoUmoUn3 | ||||
| homepage hoUmpeIdZ | homepage hoUmpeIdZ | ||||
| homily h0m@li | |||||
| hominem h0mInEm | hominem h0mInEm | ||||
| ?3 hominem h0m@n@m | ?3 hominem h0m@n@m | ||||
| hooah h'u:'A: | hooah h'u:'A: | ||||
| intray IntreI | intray IntreI | ||||
| intro $1 | intro $1 | ||||
| ?3 investigative Inv,EstI2g'eItIv | ?3 investigative Inv,EstI2g'eItIv | ||||
| ipad aIpad | |||||
| iphone aIfoUn | |||||
| irate aIr'eIt | irate aIr'eIt | ||||
| iris aIrIs | iris aIrIs | ||||
| iron aI3n | iron aI3n | ||||
| torment $1 | torment $1 | ||||
| torment $2 $verb | torment $2 $verb | ||||
| tornado tO@n'eIdoU | tornado tO@n'eIdoU | ||||
| torrential t@rEnS@L | |||||
| tortilla tO@t'i:a# | tortilla tO@t'i:a# | ||||
| touche tu:SeI $only | touche tu:SeI $only | ||||
| toupee tu:peI | toupee tu:peI | ||||
| traverse $alt3 | traverse $alt3 | ||||
| travesty trav@sti | travesty trav@sti | ||||
| treatise tri:tIz | treatise tri:tIz | ||||
| trebuchet trEbUSeI | |||||
| tremendous $alt3 | tremendous $alt3 | ||||
| triage tri:A:Z | triage tri:A:Z | ||||
| tribunal traIb'ju:n@L | tribunal traIb'ju:n@L | ||||
| Topeka toUp'i:k@ | Topeka toUp'i:k@ | ||||
| Toronto t@r0ntoU | Toronto t@r0ntoU | ||||
| Toulouse tu:l'u:z | Toulouse tu:l'u:z | ||||
| Trafalgar $alt3 | |||||
| ?3 Tunisia tu:n'i:Z@ | ?3 Tunisia tu:n'i:Z@ | ||||
| Tripoli trIp@li | Tripoli trIp@li | ||||
| tuareg twA@rEg | tuareg twA@rEg | ||||
| Fainne fan;@ | Fainne fan;@ | ||||
| Freda fri:d@ | Freda fri:d@ | ||||
| Fírinne fi:rIn;@ | Fírinne fi:rIn;@ | ||||
| Gareth gar@T | |||||
| Gary gari | Gary gari | ||||
| Geraint gEraInt | Geraint gEraInt | ||||
| Gerhard ge@hA@t | Gerhard ge@hA@t | ||||
| Suzy su:zi | Suzy su:zi | ||||
| Tatiana tatI'A:n@ | Tatiana tatI'A:n@ | ||||
| ?3 Tatiana tA:tj'A:n@ | ?3 Tatiana tA:tj'A:n@ | ||||
| Terese t@reIz | |||||
| Theresa t@ri:z@ | Theresa t@ri:z@ | ||||
| Therese t@ri:z | Therese t@ri:z | ||||
| Thomas t0m@s | Thomas t0m@s | ||||
| (de jure) deIdZ'U@ri | |||||
| (en masse) ,0n||m'as | |||||
| (en route) ,0n||r'u:t | |||||
| (each of) i:tS||@v $pause | (each of) i:tS||@v $pause | ||||
| (far more) f'A@_m,o@ | (far more) f'A@_m,o@ | ||||
| (few more) f'ju:m,o@ | (few more) f'ju:m,o@ | ||||
| (most of) moUst||@v | (most of) moUst||@v | ||||
| (such as) sVtS||_a#z $pause | (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 | // COMMON WORDS |
| d) or (_ o@ | d) or (_ o@ | ||||
| _f) or (@ O@ | _f) or (@ O@ | ||||
| _f) ore (A O@ | _f) ore (A O@ | ||||
| _f) ore (kn O@, | |||||
| f) or (k O@ | f) or (k O@ | ||||
| _f) or (s@ %O@ | _f) or (s@ %O@ | ||||
| ch) or (d O@ | ch) or (d O@ |
| // 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 |
| // 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 | |||||
| *) * (* | |||||
| ** | |||||
| **) * (_ _:: |
| lo $u | lo $u | ||||
| las $u | las $u | ||||
| los $u | los $u | ||||
| //se $u | |||||
| se $u | |||||
| ?2 este $u+ $nounf 'estSi // this | ?2 este $u+ $nounf 'estSi // this | ||||
| ?2 estes $u+ $nounf 'estSis // these | ?2 estes $u+ $nounf 'estSis // these | ||||
| acordo $alt $verb | acordo $alt $verb | ||||
| acervo $alt2 | acervo $alt2 | ||||
| adepto $alt | adepto $alt | ||||
| adereço $alt2 | |||||
| adore $alt | adore $alt | ||||
| adorno $alt $verb | adorno $alt $verb | ||||
| albatrozes $alt | albatrozes $alt | ||||
| apelo $alt $verb | apelo $alt $verb | ||||
| aposto $alt $verb | aposto $alt $verb | ||||
| aperto $alt2 $noun | aperto $alt2 $noun | ||||
| apoio $alt2 $noun | |||||
| aprovo $alt | |||||
| apneia $alt | |||||
| apoio $alt $verb | |||||
| arredores $alt | arredores $alt | ||||
| arremesso $alt2 $noun | arremesso $alt2 $noun | ||||
| arroz $alt2 | arroz $alt2 | ||||
| autora $alt2 | autora $alt2 | ||||
| avesso $alt2 | avesso $alt2 | ||||
| axé aSE | axé aSE | ||||
| azeda $alt $verb | |||||
| azedo $alt $verb | |||||
| baqueta $alt2 | baqueta $alt2 | ||||
| beco $alt2 | beco $alt2 | ||||
| belo $alt | belo $alt | ||||
| bilhete $alt2 | bilhete $alt2 | ||||
| boca $alt2 | boca $alt2 | ||||
| bochecha $alt2 | bochecha $alt2 | ||||
| boio $alt | |||||
| bojo $alt2 | bojo $alt2 | ||||
| boleia $alt | boleia $alt | ||||
| bolero $alt | bolero $alt | ||||
| bolo $alt $verb | bolo $alt $verb | ||||
| borboleta $alt2 | borboleta $alt2 | ||||
| bordo $alt | bordo $alt | ||||
| bosque $alt | |||||
| boto $alt2 $noun | boto $alt2 $noun | ||||
| bromelha $alt | bromelha $alt | ||||
| cabeça $alt2 | |||||
| cabresto $alt2 | cabresto $alt2 | ||||
| cacete $alt2 | cacete $alt2 | ||||
| cachorra $alt2 | cachorra $alt2 | ||||
| caderneta $alt2 | caderneta $alt2 | ||||
| cadete $alt2 | |||||
| camiseta $alt2 | camiseta $alt2 | ||||
| cantora $alt2 | cantora $alt2 | ||||
| capacete $alt2 | capacete $alt2 | ||||
| catorze $alt2 | catorze $alt2 | ||||
| cebola $alt2 | cebola $alt2 | ||||
| cefaleia $alt | cefaleia $alt | ||||
| centopeia $alt | |||||
| cerca $alt | cerca $alt | ||||
| cerca $alt2 $noun | cerca $alt2 $noun | ||||
| cerco $alt $verb | cerco $alt $verb | ||||
| colheres $alt $noun | colheres $alt $noun | ||||
| colmeia $alt | colmeia $alt | ||||
| colore $alt | colore $alt | ||||
| começo $alt2 $noun | |||||
| começo $alt $verb | |||||
| comodo $alt2 | comodo $alt2 | ||||
| concerto $alt2 $noun | concerto $alt2 $noun | ||||
| concertos $alt2 | concertos $alt2 | ||||
| desemprego $alt $verb | desemprego $alt $verb | ||||
| desespero $alt2 $noun | desespero $alt2 $noun | ||||
| desfecho $alt2 | desfecho $alt2 | ||||
| desmantelo $alt $verb | |||||
| desprezo $alt2 $noun | desprezo $alt2 $noun | ||||
| desse $alt2 | desse $alt2 | ||||
| desse $alt $verb | desse $alt $verb | ||||
| deste $alt2 | deste $alt2 | ||||
| deste $alt $verb | deste $alt $verb | ||||
| desterro $alt2 | desterro $alt2 | ||||
| destroem $alt | |||||
| deveras $alt | deveras $alt | ||||
| dez $alt | dez $alt | ||||
| diarreia $alt | diarreia $alt | ||||
| emprego $alt2 $noun | emprego $alt2 $noun | ||||
| empregos $alt2 | empregos $alt2 | ||||
| encosto $alt $verb | encosto $alt $verb | ||||
| endereço $alt2 | |||||
| endereço $alt $verb | endereço $alt $verb | ||||
| enforco $alt | enforco $alt | ||||
| engordo $alt | engordo $alt | ||||
| enredo $alt $verb | enredo $alt $verb | ||||
| enrosco $alt $verb | |||||
| enterro $alt2 $noun | enterro $alt2 $noun | ||||
| enumerem $alt | enumerem $alt | ||||
| envelope $alt | envelope $alt | ||||
| espoleta $alt2 | espoleta $alt2 | ||||
| esposa $alt2 | esposa $alt2 | ||||
| esqueleto $alt2 | esqueleto $alt2 | ||||
| estilete $alt2 | |||||
| estrela $alt2 | estrela $alt2 | ||||
| estrofe $alt | estrofe $alt | ||||
| estorno $alt $verb | estorno $alt $verb | ||||
| estorvo $alt $verb | estorvo $alt $verb | ||||
| etiqueta $alt2 | etiqueta $alt2 | ||||
| europa $alt | europa $alt | ||||
| europeia $alt | |||||
| exagero $alt $verb | exagero $alt $verb | ||||
| explore $alt | explore $alt | ||||
| faceta $alt2 | faceta $alt2 | ||||
| fantoche $alt | |||||
| farelo $alt | farelo $alt | ||||
| farofa $alt | farofa $alt | ||||
| febre $alt | febre $alt | ||||
| feitora $alt2 | |||||
| fera $alt | fera $alt | ||||
| feitora $alt2 | |||||
| ferozes $alt | ferozes $alt | ||||
| fezes $alt | fezes $alt | ||||
| ?1 fixe fiSy | ?1 fixe fiSy | ||||
| interesse $alt2 $noun | interesse $alt2 $noun | ||||
| jogo $alt2 $noun | jogo $alt2 $noun | ||||
| joguete $alt2 | joguete $alt2 | ||||
| lagosta $alt2 | |||||
| lambreta $alt2 | lambreta $alt2 | ||||
| lebre $alt | lebre $alt | ||||
| lembrete $alt2 | lembrete $alt2 | ||||
| leste $alt2 $verb | leste $alt2 $verb | ||||
| lopes $alt | lopes $alt | ||||
| macete $alt2 | |||||
| maior $alt | maior $alt | ||||
| maleta $alt2 | maleta $alt2 | ||||
| marcelo $alt | marcelo $alt | ||||
| miolo $alt2 | miolo $alt2 | ||||
| miolos $alt | miolos $alt | ||||
| moeda $alt | moeda $alt | ||||
| mofo $alt $verb | |||||
| molho $alt2 $noun | molho $alt2 $noun | ||||
| monera $alt | monera $alt | ||||
| morcego $alt2 | morcego $alt2 | ||||
| moreia $alt | moreia $alt | ||||
| mortos $alt | mortos $alt | ||||
| motora $alt2 | motora $alt2 | ||||
| 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& | ||||
| mulher $alt | |||||
| mulheres $alt | mulheres $alt | ||||
| mureta $alt2 | mureta $alt2 | ||||
| mutreta $alt2 | mutreta $alt2 | ||||
| odisseia $alt | odisseia $alt | ||||
| onu $1 | onu $1 | ||||
| olho $alt2 $noun | olho $alt2 $noun | ||||
| onomatopeia $alt | |||||
| opereta $alt2 | opereta $alt2 | ||||
| ordens $alt | ordens $alt | ||||
| osso $alt2 | osso $alt2 | ||||
| ossos $alt | ossos $alt | ||||
| ostra $alt2 | ostra $alt2 | ||||
| ovelha $alt2 | |||||
| ovos $alt | ovos $alt | ||||
| pachorra $alt2 | pachorra $alt2 | ||||
| paexa paeSa | paexa paeSa | ||||
| pedra $alt | pedra $alt | ||||
| pela $alt $verb | pela $alt $verb | ||||
| pelego $alt2 | pelego $alt2 | ||||
| pela $alt $verb | |||||
| pelo $alt $verb | pelo $alt $verb | ||||
| peso $alt $verb | peso $alt $verb | ||||
| piloto $alt2 $noun | piloto $alt2 $noun | ||||
| plebeia $alt | plebeia $alt | ||||
| polca $alt | polca $alt | ||||
| porcos $alt | porcos $alt | ||||
| porrete $alt2 | |||||
| porra $alt2 | porra $alt2 | ||||
| porrete $alt2 | |||||
| porto $alt2 | porto $alt2 | ||||
| portos $alt | portos $alt | ||||
| pose $alt2 | pose $alt2 | ||||
| povos $alt | povos $alt | ||||
| poxa p'oS& | poxa p'oS& | ||||
| primavera $alt | primavera $alt | ||||
| provo $alt | |||||
| prosopopeia $alt | |||||
| quarteto $alt2 | quarteto $alt2 | ||||
| queda $alt | queda $alt | ||||
| quede $alt2 | quede $alt2 | ||||
| quinteto $alt2 | quinteto $alt2 | ||||
| recomeço $alt2 $noun | |||||
| raposa $alt2 | |||||
| recomeço $alt $verb | |||||
| recordo $alt | recordo $alt | ||||
| recorto $alt | recorto $alt | ||||
| rede $alt2 | rede $alt2 | ||||
| redor $alt | redor $alt | ||||
| reembolso $alt $verb | reembolso $alt $verb | ||||
| reforços $alt | |||||
| reforço $alt $verb | reforço $alt $verb | ||||
| reforços $alt | |||||
| refresco $alt $verb | refresco $alt $verb | ||||
| reitora $alt2 | reitora $alt2 | ||||
| relevo $alt2 $noun | relevo $alt2 $noun | ||||
| remorso $alt | remorso $alt | ||||
| reprovo $alt | |||||
| retorno $alt $verb | retorno $alt $verb | ||||
| rixa x'iS& | rixa x'iS& | ||||
| rocha $alt | rocha $alt | ||||
| rota $alt $noun | rota $alt $noun | ||||
| rumores $alt2 | rumores $alt2 | ||||
| saleta $alt2 | saleta $alt2 | ||||
| sarjeta $alt | |||||
| sarjeta $alt2 | |||||
| seborreia $alt | seborreia $alt | ||||
| seca $alt2 $noun | seca $alt2 $noun | ||||
| secas $alt2 | secas $alt2 |
| // translation rules Brazilian | |||||
| // translation rules Brazilian | // translation rules Brazilian | ||||
| // translation rules Brazilian | // translation rules Brazilian | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| e (co_ E | e (co_ E | ||||
| e (ctA_ E | e (ctA_ E | ||||
| e (ctAm_ E | e (ctAm_ E | ||||
| e (çA_ E | |||||
| e (çAm_ E | |||||
| e (de_ E | e (de_ E | ||||
| e (dem_ E | e (dem_ E | ||||
| respond) e (L07_ e // cor- | respond) e (L07_ e // cor- | ||||
| qu) e (brL04_ E | qu) e (brL04_ E | ||||
| _cel) e (brL04_ E | _cel) e (brL04_ E | ||||
| _enr) e (dL01_ E | |||||
| _arr) e (dL03_ E | |||||
| _depr) e (dL03_ E | |||||
| _hosp) e (dL03_ E | _hosp) e (dL03_ E | ||||
| _gr) e (gL03_ e | _gr) e (gL03_ e | ||||
| _gal) e (gL03_ e | _gal) e (gL03_ e | ||||
| _n) e (grL03_ e | _n) e (grL03_ e | ||||
| _estr) ei (L03_ EI | |||||
| estr) ei (L04_ EI | |||||
| _inv) e (jL04_ E | _inv) e (jL04_ E | ||||
| tr) e (pL04_ E // es- | tr) e (pL04_ E // es- | ||||
| _dec) e (pL04_ E | _dec) e (pL04_ E | ||||
| _in) e (ptL03_ E | _in) e (ptL03_ E | ||||
| _p) e (quL02_ E | _p) e (quL02_ E | ||||
| _s) e (quL02_ E | _s) e (quL02_ E | ||||
| ad) e (quL04_ E | |||||
| l) e (que_ E | l) e (que_ E | ||||
| _imp) e (rL03_ E | _imp) e (rL03_ E | ||||
| _sev) e (rL03_ E | _sev) e (rL03_ E | ||||
| _tol) e (rL04_ E | _tol) e (rL04_ E | ||||
| _ven) e (rL04_ E | _ven) e (rL04_ E | ||||
| acel) e (rL04_ E // des- | acel) e (rL04_ E // des- | ||||
| _apod) e (rL04_ E | |||||
| _coop) e (rL04_ E | _coop) e (rL04_ E | ||||
| _temp) e (rL04_ E | _temp) e (rL04_ E | ||||
| _recup) e (rL04_ E | _recup) e (rL04_ E | ||||
| _bez) e (rrL03_ e | _bez) e (rrL03_ e | ||||
| _inv) e (rtL03_ e | _inv) e (rtL03_ e | ||||
| _f) e (rvL03_ e | _f) e (rvL03_ e | ||||
| _p) e (sL01_ E | |||||
| _refr) e (scL01_ E | |||||
| _d) e (scL02_ E | _d) e (scL02_ E | ||||
| _cr) e (scL02_ E | _cr) e (scL02_ E | ||||
| _p) e (scL03_ E | _p) e (scL03_ E | ||||
| _m) e (sclL04 E | _m) e (sclL04 E | ||||
| _d) e (spL02_ E | _d) e (spL02_ E | ||||
| _p) e (squL02_ E | _p) e (squL02_ E | ||||
| _refr) e (squL02_ E | |||||
| _l) e (ssL02_ e | _l) e (ssL02_ e | ||||
| _esp) e (ssL03_ e | _esp) e (ssL03_ e | ||||
| _c) e (stL03_ e | _c) e (stL03_ e | ||||
| _despr) e (zL04_ E | _despr) e (zL04_ E | ||||
| _embel) e (zL04_ E | _embel) e (zL04_ E | ||||
| _menospr) 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 | //endsort | ||||
| ?3 g (_C g_ | ?3 g (_C g_ | ||||
| g (Y Z // ge gi | g (Y Z // ge gi | ||||
| gu (Y g | 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 n) gu (A gw // eg: língua, etc. | ||||
| ?1 man) gu (ei g // mangueira | ?1 man) gu (ei g // mangueira | ||||
| ?1 gu (ém_ g // eg: alguém, ninguém, etc... | ?1 gu (ém_ g // eg: alguém, ninguém, etc... | ||||
| _engl) o (bL01_ O | _engl) o (bL01_ O | ||||
| _s) o (bL02_ O | _s) o (bL02_ O | ||||
| _esn) o (bL04_ O | _esn) o (bL04_ O | ||||
| br) o (chL04_ O | |||||
| _deb) o (chL04_ O | _deb) o (chL04_ O | ||||
| _desabr) o (chL04_ O | |||||
| _m) o (fL01_ O | |||||
| _m) o (fL02_ O | |||||
| _s) o (frL02_ O | _s) o (frL02_ O | ||||
| r) o (gL04_ O // inter- | r) o (gL04_ O // inter- | ||||
| _j) o (gL04_ O | _j) o (gL04_ O | ||||
| _af) o (gL04_ O | _af) o (gL04_ O | ||||
| _adv) o (gL04_ O | _adv) o (gL04_ O | ||||
| _ref) 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 | _t) o (lL03_ o | ||||
| c) o (lhL02_ O // es- en- re- | c) o (lhL02_ O // es- en- re- | ||||
| _t) o (lhL02_ O | _t) o (lhL02_ O | ||||
| _ens) o (pL04_ O | _ens) o (pL04_ O | ||||
| _s) o (prL04_ O | _s) o (prL04_ O | ||||
| _) o (ptL04_ O | _) o (ptL04_ O | ||||
| _defl) o (rL02_ O | |||||
| _impl) o (rL02_ O | |||||
| _inod) o (rL03_ O | _inod) o (rL03_ O | ||||
| _inson) o (rL03_ O | _inson) o (rL03_ O | ||||
| _comem) o (rL04 O | _comem) o (rL04 O | ||||
| _remem) o (rL04_ O | _remem) o (rL04_ O | ||||
| f) o (rmL03_ O | |||||
| _enf) o (rquL02_ O | _enf) o (rquL02_ O | ||||
| _ext) o (rquL02_ O | _ext) o (rquL02_ O | ||||
| c) o (rrL01_ o // escorra, incorra, corra, recorra | c) o (rrL01_ o // escorra, incorra, corra, recorra | ||||
| t) o (rçL01_ O // con- | t) o (rçL01_ O // con- | ||||
| _r) o (snL04_ O | _r) o (snL04_ O | ||||
| _c) o (spL02_ O | _c) o (spL02_ O | ||||
| _enr) o (squL02_ O | |||||
| p) ostos (_ Ost=Us# // dispostos etc. | p) ostos (_ Ost=Us# // dispostos etc. | ||||
| _gar) o (tL03_ o | _gar) o (tL03_ o | ||||
| pr) o (vL03_ O | |||||
| _g) o (zL04_ O | _g) o (zL04_ O | ||||
| _esb) o (çL01_ O | _esb) o (çL01_ O | ||||
| _r) o (çL03_ O | _r) o (çL03_ O | ||||
| ?1 _) qua kwa // quatro, etc. | ?1 _) qua kwa // quatro, etc. | ||||
| ?1 _) que ke // quente, etc. | ?1 _) que ke // quente, etc. | ||||
| ?1 _) quei (C k'eI // queira, queima, 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 quec kes // esquece, etc. | ||||
| ?1 queç kes // esqueça. | ?1 queç kes // esqueça. | ||||
| ?1 A) que (nA_ ke // pequeno, etc. | ?1 A) que (nA_ ke // pequeno, etc. |
| // Consonants | // Consonants | ||||
| ක k@ | ක k@ | ||||
| ඛ kh@ | |||||
| ඛ k#@ | |||||
| ග g@ | ග g@ | ||||
| ඝ gh@ | |||||
| ඝ g#@ | |||||
| ඞ N@ | ඞ N@ | ||||
| ඟ N#g@ | ඟ N#g@ | ||||
| ච tS@ | ච tS@ | ||||
| ඡ tSh@ | |||||
| ඡ tS#@ | |||||
| ජ dZ@ | ජ dZ@ | ||||
| ඣ dZh@ | |||||
| ඣ dZ#@ | |||||
| ඤ n^@ | ඤ n^@ | ||||
| ඥ gn@ | ඥ gn@ | ||||
| ඦ n^#dZ@ | ඦ n^#dZ@ | ||||
| ට t.@ | ට t.@ | ||||
| ඨ t.h@ | |||||
| ඨ t.#@ | |||||
| ඩ d.@ | ඩ d.@ | ||||
| ඪ d.h@ | |||||
| ඪ d.#@ | |||||
| ණ n.@ | ණ n.@ | ||||
| ඬ n.#d.@ | ඬ n.#d.@ | ||||
| ත t@ | ත t@ | ||||
| ථ th@ | |||||
| ථ t#@ | |||||
| ද d@ | ද d@ | ||||
| ධ dh@ | |||||
| ධ d#@ | |||||
| න n@ | න n@ | ||||
| ඳ n#d@ | ඳ n#d@ | ||||
| ප p@ | ප p@ | ||||
| ඵ ph@ | |||||
| ඵ p#@ | |||||
| බ b@ | බ b@ | ||||
| භ bh@ | |||||
| භ b#@ | |||||
| ම m@ | ම m@ | ||||
| ඹ m#b@ | ඹ m#b@ | ||||
| ය j@ | ය j@ | ||||
| ? pr'a:Sna:rt,@j@ | ? pr'a:Sna:rt,@j@ | ||||
| ! v'iSm#@j,a:rt@j@ | ! v'iSm#@j,a:rt@j@ | ||||
| _“ 'udrut,@pa:t.,@a:r,@mb@j@ | _“ 'udrut,@pa:t.,@a:r,@mb@j@ | ||||
| _” 'udhrut,@pa:t.h,@@w,@s.a:n,@j@ | |||||
| _” 'ud#rut,@pa:t.#,@@w,@s.a:n,@j@ | |||||
| _: t'itkom,a:v@ | _: t'itkom,a:v@ | ||||
| _; d'etit@ | _; d'etit@ | ||||
| $ do:l.ar $max3 | $ do:l.ar $max3 |
| ක (B k | ක (B k | ||||
| .group ඛ | .group ඛ | ||||
| ඛ kha | |||||
| ඛ (B kh | |||||
| ඛ k#a | |||||
| ඛ (B k# | |||||
| .group ග | .group ග | ||||
| ග ga | ග ga | ||||
| ග (B g | ග (B g | ||||
| .group ඝ | .group ඝ | ||||
| ඝ gha | |||||
| ඝ (B gh | |||||
| ඝ g#a | |||||
| ඝ (B g# | |||||
| .group ඞ | .group ඞ | ||||
| ඞ Na | ඞ Na | ||||
| ට (B t. | ට (B t. | ||||
| .group ඨ | .group ඨ | ||||
| ඨ t.ha | |||||
| ඨ (B t.h | |||||
| ඨ t.#a | |||||
| ඨ (B t.# | |||||
| .group ඩ | .group ඩ | ||||
| ඩ d.a | ඩ d.a | ||||
| ත (B t | ත (B t | ||||
| .group ථ | .group ථ | ||||
| ථ tha | |||||
| ථ (B th | |||||
| ථ t#a | |||||
| ථ (B t# | |||||
| .group ද | .group ද | ||||
| ද da | ද da | ||||
| ද (B d | ද (B d | ||||
| .group ධ | .group ධ | ||||
| ධ dha | |||||
| ධ (B dh | |||||
| ධ d#a | |||||
| ධ (B d# | |||||
| .group න | .group න | ||||
| න na | න na | ||||
| ප (B p | ප (B p | ||||
| .group ඵ | .group ඵ | ||||
| ඵ pha | |||||
| ඵ (B ph | |||||
| ඵ p#a | |||||
| ඵ (B p# | |||||
| .group බ | .group බ | ||||
| බ ba | බ ba | ||||
| බ (B b | බ (B b | ||||
| .group භ | .group භ | ||||
| භ bha | |||||
| භ (B bh | |||||
| භ b#a | |||||
| භ (B b# | |||||
| .group ම | .group ම | ||||
| ම ma | ම ma |
| _) n (k N- | _) n (k N- | ||||
| _) n (k@@ N- | _) n (k@@ N- | ||||
| n (g N | n (g N | ||||
| _) n (g N- | |||||
| K) n (g N- | |||||
| _) n (g@@ N- | _) n (g@@ N- | ||||
| .group o | .group o |
| // condition ?1 Speak English letters as English words | // condition ?1 Speak English letters as English words | ||||
| // condition ?2 Speak English letter as jyutping romanisation | // condition ?2 Speak English letter as jyutping romanisation | ||||
| //voice=zh-yue // to find the voice for this dictionary | |||||
| .group a | .group a | ||||
| ?1 a _^_EN | ?1 a _^_EN |
| <p> | <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. | 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> | <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> | <strong>Condition</strong> | ||||
| Can be: | Can be: | ||||
| <ul> | <ul> | ||||
| <dl> | <dl> | ||||
| <dt>thisPh(<attribute>) | |||||
| <dd>Test this current phoneme | |||||
| <p> | |||||
| <dt>prevPh(<attribute>) | <dt>prevPh(<attribute>) | ||||
| <dd>Test the previous phoneme | <dd>Test the previous phoneme | ||||
| <p> | <p> | ||||
| <dt>prevPhW(<attribute>) | <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. | <dd>Test the previous phoneme, but only within the same word. Returns false if there is no previous phoneme in the word. | ||||
| <p> | <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> | <p> | ||||
| <dt>nextPh(<attribute>) | <dt>nextPh(<attribute>) | ||||
| <dd>Test the following phoneme | <dd>Test the following phoneme | ||||
| <p> | <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>) | <dt>next2Ph(<attribute>) | ||||
| <dd>Test the phoneme after the next phoneme. | <dd>Test the phoneme after the next phoneme. | ||||
| <p> | <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>) | <dt>nextVowel(<attribute>) | ||||
| <dd>Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none. | <dd>Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none. | ||||
| <p> | <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() | <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. | <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> | <p> | ||||
| <strong>Attributes</strong> | <strong>Attributes</strong> | ||||
| <ul> | <ul> | ||||
| Note: Additional attributes could be added to eSpeak if needed. | Note: Additional attributes could be added to eSpeak if needed. | ||||
| <p> | |||||
| <dl> | <dl> | ||||
| <dt><phoneme name> | <dt><phoneme name> | ||||
| <dd>True if the phoneme has this phoneme name. | <dd>True if the phoneme has this phoneme name. | ||||
| <dt>isWordEnd | <dt>isWordEnd | ||||
| <dd>True if this is the final phoneme in a word. | <dd>True if this is the final phoneme in a word. | ||||
| <p> | <p> | ||||
| <dt>isFirstVowel | |||||
| <dt>isSecondVowel | |||||
| <dt>isFinalVowel | <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> | <p> | ||||
| <dt>isAfterStress | <dt>isAfterStress | ||||
| <dd>True if this phoneme is after the stressed vowel in a word. | <dd>True if this phoneme is after the stressed vowel in a word. |
| // Last updated: 14 October 2010, Jason Ong ([email protected]) | |||||
| name malay | |||||
| language ms | |||||
| gender male | |||||
| phonemes id | |||||
| translator id | |||||
| stressLength 160 200 180 180 0 0 220 240 | |||||
| stressAmp 16 18 18 18 0 0 22 21 | |||||
| intonation 3 // Less intonation, and comma does not raise the pitch. | |||||
| // Nuance - Peninsula Malaysia | |||||
| // replace 3 a @ // change 'saya' to 'saye' | |||||
| // (only the last phoneme of a word, only in unstressed syllables) | |||||
| consonants 80 80 |
| name bengali | |||||
| language bn | |||||
| gender male |
| // 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 s s 5 s _ | ||||
| 0 ? k 5 k _ | 0 ? k 5 k _ | ||||
| 0 t t 5 t _ | 0 t t 5 t _ | ||||
| 0 n n 5 n _ | 0 n n 5 n _ | ||||
| 0 p p 5 p _ | 0 p p 5 p _ | ||||
| 0 l/ l 5 l _ | 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/2 NULL 0 l | ||||
| 0 l/ NULL 0 l | 0 l/ NULL 0 l | ||||
| 0 a NULL 0 V | 0 a NULL 0 V | ||||
| 0 E NULL 0 e | 0 E NULL 0 e | ||||
| 0 E2 NULL 0 e | |||||
| 0 i NULL 0 I | 0 i NULL 0 I | ||||
| 0 o NULL 0 Q | 0 o NULL 0 Q | ||||
| 0 O NULL 0 Q | 0 O NULL 0 Q | ||||
| 0 u NULL 0 U | 0 u NULL 0 U | ||||
| // 'id1' has phonemes OI aI aU | |||||
| 0 n^ NULL 0 nY | 0 n^ NULL 0 nY | ||||
| 0 ? NULL 0 k | 0 ? NULL 0 k | ||||
| 0 R NULL 0 r | 0 R NULL 0 r | ||||
| 0 x NULL 0 h | 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 |
| vowel flag1 starttype #o endtype #o | vowel flag1 starttype #o endtype #o | ||||
| length 200 | length 200 | ||||
| IF thisPh(isWordEnd) AND prevPhW(isNotVowel) AND prev2PhW(isNotVowel) THEN | |||||
| ChangePhoneme(NULL) | |||||
| ENDIF | |||||
| IF thisPh(isFirstVowel) THEN | IF thisPh(isFirstVowel) THEN | ||||
| IF nextVowel(i) OR nextVowel(u) THEN | IF nextVowel(i) OR nextVowel(u) THEN | ||||
| ChangePhoneme(o) | ChangePhoneme(o) |
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| unstressed | unstressed | ||||
| length 140 | length 140 | ||||
| IF prevPh(@) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/@_low) | FMT(vowel/@_low) | ||||
| endphoneme | endphoneme | ||||
| phoneme a | phoneme a | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 180 | length 180 | ||||
| IF prevPh(a) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| ChangeIfUnstressed(a/) | ChangeIfUnstressed(a/) | ||||
| FMT(vowel/a) | FMT(vowel/a) | ||||
| endphoneme | endphoneme | ||||
| phoneme E | phoneme E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 180 | length 180 | ||||
| IF prevPh(#e) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| ChangeIfUnstressed(@) | ChangeIfUnstressed(@) | ||||
| FMT(vowel/e_mid) | FMT(vowel/e_mid) | ||||
| endphoneme | endphoneme | ||||
| phoneme E2 // as [E] but don't reduce to [@] | phoneme E2 // as [E] but don't reduce to [@] | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 180 | length 180 | ||||
| IF prevPh(#e) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/e_mid) | FMT(vowel/e_mid) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 180 | length 180 | ||||
| IF prevPh(#e) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 180 | length 180 | ||||
| IfNextVowelAppend(;) | |||||
| IF prevPh(i) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/i_6) | FMT(vowel/i_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme O | phoneme O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 180 | length 180 | ||||
| IF prevPh(#o) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/oo) | FMT(vowel/oo) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 180 | length 180 | ||||
| IF prevPh(#o) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/o) | FMT(vowel/o) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 180 | length 180 | ||||
| IF prevPh(u) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vowel/u) | FMT(vowel/u) | ||||
| endphoneme | endphoneme | ||||
| phoneme aI | phoneme aI | ||||
| vowel starttype #a endtype #i | vowel starttype #a endtype #i | ||||
| length 240 | length 240 | ||||
| IF prevPh(isVowel) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| IF nextPh(isVowel) THEN | |||||
| AppendPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vdiph/ai) | FMT(vdiph/ai) | ||||
| endphoneme | endphoneme | ||||
| FMT(vdiph/eei_2) | FMT(vdiph/eei_2) | ||||
| endphoneme | 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 | phoneme aU | ||||
| vowel starttype #a endtype #u | vowel starttype #a endtype #u | ||||
| length 240 | length 240 | ||||
| IF prevPh(isVowel) THEN | |||||
| InsertPhoneme(_|) | |||||
| ENDIF | |||||
| IF nextPh(isVowel) THEN | |||||
| AppendPhoneme(_|) | |||||
| ENDIF | |||||
| FMT(vdiph/au_4) | FMT(vdiph/au_4) | ||||
| endphoneme | endphoneme | ||||
| endphoneme | endphoneme | ||||
| phoneme x // [r] for Portugal | |||||
| liquid | |||||
| trill | |||||
| ipa ʁ | |||||
| lengthmod 7 | |||||
| Vowelin f1=0 f2=1500 -400 400 f3=-400 80 | |||||
| IF nextPh(isNotVowel) THEN | |||||
| ChangePhoneme(r/) | |||||
| ENDIF | |||||
| FMT(vwl_fr/@R) addWav(r3/rx, 120) | |||||
| endphoneme | |||||
| phoneme R // for Portugal this is same the as [r] | |||||
| import_phoneme pt/r | |||||
| endphoneme | |||||
| phoneme s# // This is [s] for Brazil, [S] for Portugal | phoneme s# // This is [s] for Brazil, [S] for Portugal | ||||
| CALL base/S | CALL base/S |
| phoneme @ | phoneme @ | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 130 | |||||
| length 150 | |||||
| FMT(vowel/@_low) | FMT(vowel/@_low) | ||||
| endphoneme | endphoneme | ||||
| phoneme a | phoneme a | ||||
| vowel long starttype #a endtype #a | vowel long starttype #a endtype #a | ||||
| ipa ɐ | ipa ɐ | ||||
| length 130 | |||||
| length 150 | |||||
| ChangeIfNotStressed(@) | ChangeIfNotStressed(@) | ||||
| FMT(vowel/a#_2) | FMT(vowel/a#_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme & | phoneme & | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 130 | |||||
| length 150 | |||||
| FMT(vowel/ee_6) | FMT(vowel/ee_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme &: | phoneme &: | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 270 | |||||
| length 300 | |||||
| FMT(vowel/ee_6) | FMT(vowel/ee_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 130 | |||||
| length 150 | |||||
| FMT(vowel/e_mid) | FMT(vowel/e_mid) | ||||
| endphoneme | endphoneme | ||||
| phoneme e: | phoneme e: | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 270 | |||||
| length 300 | |||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 130 | |||||
| length 150 | |||||
| FMT(vowel/i_6) | FMT(vowel/i_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme i: | phoneme i: | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 270 | |||||
| length 300 | |||||
| FMT(vowel/i) | FMT(vowel/i) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 130 | |||||
| length 150 | |||||
| FMT(vowel/oo_1) | FMT(vowel/oo_1) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 110 | |||||
| length 130 | |||||
| FMT(vowel/u_6) | FMT(vowel/u_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme u: | phoneme u: | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 280 | |||||
| length 300 | |||||
| FMT(vowel/u_6) | FMT(vowel/u_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme aI | phoneme aI | ||||
| vowel long starttype #a endtype #i | vowel long starttype #a endtype #i | ||||
| length 280 | |||||
| length 300 | |||||
| FMT(vdiph/ai_8) | FMT(vdiph/ai_8) | ||||
| endphoneme | endphoneme | ||||
| phoneme aU | phoneme aU | ||||
| vowel long starttype #a endtype #u | vowel long starttype #a endtype #u | ||||
| length 270 | |||||
| length 300 | |||||
| FMT(vdiph/au) | FMT(vdiph/au) | ||||
| endphoneme | endphoneme | ||||
| // temporary, map [n#] etc. to [n] etc. | // temporary, map [n#] etc. to [n] etc. | ||||
| phoneme m# | phoneme m# | ||||
| import_phoneme base/m | |||||
| ipa U+1D50 | |||||
| CALL base/m | |||||
| endphoneme | endphoneme | ||||
| phoneme n# | phoneme n# | ||||
| import_phoneme base/n | |||||
| ipa U+207F | |||||
| CALL base/n | |||||
| endphoneme | endphoneme | ||||
| phoneme n.# | phoneme n.# | ||||
| import_phoneme base/n. | |||||
| ipa U+1DAF | |||||
| CALL base/n. | |||||
| endphoneme | endphoneme | ||||
| phoneme n^# | phoneme n^# | ||||
| import_phoneme base/n^ | |||||
| ipa U+1DAE | |||||
| CALL base/n^ | |||||
| endphoneme | endphoneme | ||||
| phoneme N# | phoneme N# | ||||
| import_phoneme base/N | |||||
| ipa U+1D51 | |||||
| CALL base/N | |||||
| endphoneme | endphoneme |
| phonemetable fa base | phonemetable fa base | ||||
| include ph_farsi | 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. | // The following lines are experimental, for future additions. | ||||
| //phonemetable mn base | //phonemetable mn base | ||||
| //include ph_mongolian | //include ph_mongolian | ||||
| phonemetable prs base | |||||
| include ph_dari | |||||
| //phonemetable prs base | |||||
| //include ph_dari | |||||
| phonemetable sl sk | phonemetable sl sk | ||||
| include ph_slovenian | 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 | |||||
| [Setup] | [Setup] | ||||
| AppName=eSpeak | AppName=eSpeak | ||||
| AppVerName=eSpeak version 1.47.03 | |||||
| AppVerName=eSpeak version 1.47.01 | |||||
| AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | ||||
| WindowVisible=yes | WindowVisible=yes | ||||
| [Setup] | [Setup] | ||||
| AppName=eSpeakEdit | AppName=eSpeakEdit | ||||
| AppVerName=eSpeakEdit version 1.47.03 | |||||
| AppVerName=eSpeakEdit version 1.47.01 | |||||
| DefaultDirName={pf}\eSpeak | DefaultDirName={pf}\eSpeak | ||||
| DefaultGroupName=eSpeak | DefaultGroupName=eSpeak | ||||
| OutputBaseFilename=setup_espeakedit | OutputBaseFilename=setup_espeakedit | ||||
| [Languages] | [Languages] | ||||
| Name: "en"; MessagesFile: "compiler:Default.isl" | Name: "en"; MessagesFile: "compiler:Default.isl" | ||||
| Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | ||||
| Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl" | |||||
| Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | ||||
| Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | ||||
| Name: "da"; MessagesFile: "compiler:Languages\Danish.isl" | |||||
| Name: "de"; MessagesFile: "compiler:Languages\German.isl" | Name: "de"; MessagesFile: "compiler:Languages\German.isl" | ||||
| Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | ||||
| Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | ||||
| Name: "fa"; MessagesFile: "compiler:Languages\Farsi.isl" | |||||
| Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | ||||
| Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | ||||
| Name: "hi"; MessagesFile: "compiler:Languages\Hindi.islu" | |||||
| Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | ||||
| Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | ||||
| Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | ||||
| Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | ||||
| Name: "ka"; MessagesFile: "compiler:Languages\Georgian.islu" | |||||
| Name: "lv"; MessagesFile: "compiler:Languages\Latvian.isl" | |||||
| Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu" | |||||
| Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||||
| Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | ||||
| Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | ||||
| Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | ||||
| Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | ||||
| Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | ||||
| Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | ||||
| ;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||||
| Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | ||||
| Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | ||||
| Name: "vi"; MessagesFile: "compiler:Languages\Vietnamese.isl" | |||||
| Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | ||||
| {"next2PhW", tWHICH_PHONEME, 6}, | {"next2PhW", tWHICH_PHONEME, 6}, | ||||
| {"nextVowel",tWHICH_PHONEME, 7}, | {"nextVowel",tWHICH_PHONEME, 7}, | ||||
| {"prevVowel",tWHICH_PHONEME, 8}, | {"prevVowel",tWHICH_PHONEME, 8}, | ||||
| // {"next2PhW", tWHICH_PHONEME, 0x800}, | |||||
| // {"numVowels", tTEST, 0x000}, | |||||
| {"next3PhW", tWHICH_PHONEME, 9}, | |||||
| {"prev2PhW", tWHICH_PHONEME, 10}, | |||||
| {"PreVoicing", tTEST, 0xf01}, | {"PreVoicing", tTEST, 0xf01}, | ||||
| {"KlattSynth", tTEST, 0xf02}, | {"KlattSynth", tTEST, 0xf02}, | ||||
| fclose(f_in); | 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) | if((err = CompileDictionary(path_dsource, dictname,log,NULL,0)) > 0) | ||||
| { | { | ||||
| report = report + dictstr + wxString::Format(_T(" %d, "),err); | report = report + dictstr + wxString::Format(_T(" %d, "),err); | ||||
| int count; | int count; | ||||
| int c; | int c; | ||||
| char *p; | char *p; | ||||
| int vowel_length_factor = 100; // for testing | |||||
| char number_buf[12]; | char number_buf[12]; | ||||
| char ipa_buf[N_ITEM_STRING+1]; | char ipa_buf[N_ITEM_STRING+1]; | ||||
| PHONEME_TAB phoneme_out2; | PHONEME_TAB phoneme_out2; | ||||
| case i_SET_LENGTH: | case i_SET_LENGTH: | ||||
| value = NextItemMax(511); | value = NextItemMax(511); | ||||
| if(phoneme_out->type == phVOWEL) | |||||
| { | |||||
| value = (value * vowel_length_factor)/100; | |||||
| } | |||||
| if(after_if == 0) | if(after_if == 0) | ||||
| { | { | ||||
| phoneme_out->std_length = value/2; | phoneme_out->std_length = value/2; |
| } | } | ||||
| ix = 0; | ix = 0; | ||||
| if(isdigit(*p)) | |||||
| if(IsDigit09(*p)) | |||||
| { | { | ||||
| ix += (*p-'0'); | ix += (*p-'0'); | ||||
| p++; | p++; | ||||
| } | } | ||||
| if(isdigit(*p)) | |||||
| if(IsDigit09(*p)) | |||||
| { | { | ||||
| ix = ix*10 + (*p-'0'); | ix = ix*10 + (*p-'0'); | ||||
| p++; | p++; | ||||
| case 1: | case 1: | ||||
| if((c == '-') && multiple_words) | if((c == '-') && multiple_words) | ||||
| { | { | ||||
| if(isdigit(word[0])) | |||||
| if(IsDigit09(word[0])) | |||||
| { | { | ||||
| multiple_numeric_hyphen = 1; | multiple_numeric_hyphen = 1; | ||||
| } | } | ||||
| sxflags |= SUFX_M; | sxflags |= SUFX_M; | ||||
| break; | break; | ||||
| default: | default: | ||||
| if(isdigit(c)) | |||||
| if(IsDigit09(c)) | |||||
| value = (value*10) + (c - '0'); | value = (value*10) + (c - '0'); | ||||
| break; | break; | ||||
| } | } | ||||
| char item_length[N_LETTERGP_ITEMS]; | char item_length[N_LETTERGP_ITEMS]; | ||||
| p = input; | 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); | fprintf(f_log,"%5d: Expected 2 digits after '.L'\n",linenum); | ||||
| error_count++; | error_count++; |
| break; // # is subscript-h, but only for consonants | break; // # is subscript-h, but only for consonants | ||||
| // ignore digits after the first character | // ignore digits after the first character | ||||
| if(!first && isdigit(c)) | |||||
| if(!first && IsDigit09(c)) | |||||
| continue; | continue; | ||||
| if((c >= 0x20) && (c < 128)) | if((c >= 0x20) && (c < 128)) | ||||
| if(((c = *word1++)==0) || (c == ' ')) | if(((c = *word1++)==0) || (c == ' ')) | ||||
| break; | 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" | break; // needed for lang=hu, eg. "december 2.-ig" | ||||
| word[length] = c; | word[length] = c; |
| char ph_buf[80]; | char ph_buf[80]; | ||||
| char ph_buf2[80]; | char ph_buf2[80]; | ||||
| char ph_alphabet[80]; | char ph_alphabet[80]; | ||||
| char hexbuf[6]; | |||||
| char hexbuf[12]; | |||||
| static char pause_string[] = {phonPAUSE, 0}; | static char pause_string[] = {phonPAUSE, 0}; | ||||
| ph_buf[0] = 0; | ph_buf[0] = 0; | ||||
| flags[0] = 0; | flags[0] = 0; | ||||
| flags[1] = 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' | return(0); // not '2xx' | ||||
| word_start = word; | word_start = word; | ||||
| n_digits++; | n_digits++; | ||||
| } | } | ||||
| if(isdigit(word[0])) | |||||
| if(IsDigit09(word[0])) | |||||
| return(0); // eg. 'xx2' | return(0); // eg. 'xx2' | ||||
| acc += prev; | acc += prev; | ||||
| // Is this a group of 3 digits which looks like a thousands group? | // Is this a group of 3 digits which looks like a thousands group? | ||||
| int ix; | int ix; | ||||
| if(isdigit(word[group_len]) || isdigit(-1)) | |||||
| if(IsDigit09(word[group_len]) || IsDigit09(-1)) | |||||
| return(false); | return(false); | ||||
| for(ix=0; ix < group_len; ix++) | for(ix=0; ix < group_len; ix++) | ||||
| { | { | ||||
| if(!isdigit(word[ix])) | |||||
| if(!IsDigit09(word[ix])) | |||||
| return(false); | return(false); | ||||
| } | } | ||||
| return(true); | return(true); | ||||
| digit_lookup = buf_digit_lookup; | digit_lookup = buf_digit_lookup; | ||||
| number_control = control; | number_control = control; | ||||
| for(ix=0; isdigit(word[ix]); ix++) ; | |||||
| for(ix=0; IsDigit09(word[ix]); ix++) ; | |||||
| n_digits = ix; | n_digits = ix; | ||||
| value = this_value = atoi(word); | value = this_value = atoi(word); | ||||
| group_len = 4; | group_len = 4; | ||||
| // is there a previous thousands part (as a previous "word") ? | // 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; | prev_thousands = 1; | ||||
| } | } | ||||
| else if((tr->langopts.thousands_sep == ' ') || (tr->langopts.numbers & NUM_ALLOW_SPACE)) | else if((tr->langopts.thousands_sep == ' ') || (tr->langopts.numbers & NUM_ALLOW_SPACE)) | ||||
| { | { | ||||
| // thousands groups can be separated by spaces | // 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; | prev_thousands = 1; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| 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 | // remove dot unless followed by another number | ||||
| word[ix] = 0; | word[ix] = 0; | ||||
| { | { | ||||
| ordinal = 2; | ordinal = 2; | ||||
| } | } | ||||
| else if(!isdigit(suffix[0])) // not _#9 (tab) | |||||
| else if(!IsDigit09(suffix[0])) // not _#9 (tab) | |||||
| { | { | ||||
| sprintf(string,"_#%s",suffix); | sprintf(string,"_#%s",suffix); | ||||
| if(Lookup(tr, string, ph_ordinal2)) | if(Lookup(tr, string, ph_ordinal2)) | ||||
| if((word[0] == '0') && (prev_thousands == 0) && (word[1] != ' ') && (word[1] != tr->langopts.decimal_sep)) | 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 | // looks like a time 02:30, omit the leading zero | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| 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 | // this "word" ends with a decimal point | ||||
| Lookup(tr, "_dpt", ph_append); | Lookup(tr, "_dpt", ph_append); | ||||
| char *p2; | char *p2; | ||||
| // look for combinations of the number with the next word | // look for combinations of the number with the next word | ||||
| p = 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; | p2 = p - 1; | ||||
| if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits | if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits | ||||
| n_digits++; | n_digits++; | ||||
| decimal_count = 0; | decimal_count = 0; | ||||
| while(isdigit(word[n_digits+decimal_count])) | |||||
| while(IsDigit09(word[n_digits+decimal_count])) | |||||
| decimal_count++; | decimal_count++; | ||||
| // if(decimal_count > 1) | // if(decimal_count > 1) | ||||
| decimal_count--; | decimal_count--; | ||||
| n_digits++; | 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); | LookupNum3(tr, atoi(&word[n_digits]), buf1, 0,0,0); | ||||
| strcat(ph_out,buf1); | strcat(ph_out,buf1); | ||||
| } | } | ||||
| } | } | ||||
| 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 | // speak any remaining decimal fraction digits individually | ||||
| value = word[n_digits++] - '0'; | value = word[n_digits++] - '0'; | ||||
| if(Lookup(tr, "_dpt2", buf1)) | if(Lookup(tr, "_dpt2", buf1)) | ||||
| strcat(ph_out,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); | Lookup(tr, "_dpt", buf1); | ||||
| strcat(ph_out,buf1); | strcat(ph_out,buf1); |
| {//================================================================== | {//================================================================== | ||||
| int value = 0; | int value = 0; | ||||
| if((pw == NULL) || !isdigit(*pw)) | |||||
| if((pw == NULL) || !IsDigit09(*pw)) | |||||
| return(default_value); | return(default_value); | ||||
| while(isdigit(*pw)) | |||||
| while(IsDigit09(*pw)) | |||||
| { | { | ||||
| value = value*10 + *pw++ - '0'; | value = value*10 + *pw++ - '0'; | ||||
| } | } |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.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; | const int version_phdata = 0x014701; | ||||
| int option_device_number = -1; | int option_device_number = -1; | ||||
| static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, USHORT *p_prog, WORD_PH_DATA *worddata) | static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, USHORT *p_prog, WORD_PH_DATA *worddata) | ||||
| {//======================================================================================================================== | {//======================================================================================================================== | ||||
| int which; | int which; | ||||
| int ix; | |||||
| unsigned int data; | unsigned int data; | ||||
| int instn; | int instn; | ||||
| int instn2; | int instn2; | ||||
| return(false); // no previous vowel | return(false); // no previous vowel | ||||
| plist = &(worddata->prev_vowel); | plist = &(worddata->prev_vowel); | ||||
| break; | 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)) | if((which == 0) || (which == 5)) |
| break; | break; | ||||
| case L('i','d'): // Indonesian | 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 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 }; | static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; | ||||
| tr->langopts.stress_rule = STRESSPOSN_2R; | tr->langopts.stress_rule = STRESSPOSN_2R; | ||||
| tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | 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.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.numbers = NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_2 | NUM_AND_HUNDRED; | ||||
| tr->langopts.numbers2 = 0x200; // say "thousands" before its number | tr->langopts.numbers2 = 0x200; // say "thousands" before its number | ||||
| } | } | ||||
| tr->langopts.vowel_pause = 1; | tr->langopts.vowel_pause = 1; | ||||
| tr->langopts.stress_rule = STRESSPOSN_2R; | tr->langopts.stress_rule = STRESSPOSN_2R; | ||||
| tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | 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.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 | tr->langopts.break_numbers = 0x49249268; // for languages which have numbers for 100,000 and 1,000,000 |
| } | } | ||||
| int IsAlpha(unsigned int c) | int IsAlpha(unsigned int c) | ||||
| {//======================== | {//======================== | ||||
| // Replacement for iswalph() which also checks for some in-word symbols | // Replacement for iswalph() which also checks for some in-word symbols | ||||
| return(0); | return(0); | ||||
| } | } | ||||
| static int IsDigit09(unsigned int c) | |||||
| {//========================= | |||||
| int IsDigit09(unsigned int c) | |||||
| {//============================ | |||||
| if((c >= '0') && (c <= '9')) | if((c >= '0') && (c <= '9')) | ||||
| return(1); | return(1); | ||||
| return(0); | return(0); | ||||
| source_index++; | source_index++; | ||||
| } | } | ||||
| if(isdigit(source[source_index])) | |||||
| if(IsDigit09(source[source_index])) | |||||
| { | { | ||||
| value = atoi(&source[source_index]); | value = atoi(&source[source_index]); | ||||
| while(isdigit(source[source_index])) | |||||
| while(IsDigit09(source[source_index])) | |||||
| source_index++; | source_index++; | ||||
| } | } | ||||
| while(pn < &number_buf[sizeof(number_buf)-20]) | 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; | break; | ||||
| *pn++ = c; | *pn++ = c; |
| void InitText(int flags); | void InitText(int flags); | ||||
| void InitText2(void); | void InitText2(void); | ||||
| int IsDigit(unsigned int c); | int IsDigit(unsigned int c); | ||||
| int IsDigit09(unsigned int c); | |||||
| int IsAlpha(unsigned int c); | int IsAlpha(unsigned int c); | ||||
| int IsVowel(Translator *tr, int c); | int IsVowel(Translator *tr, int c); | ||||
| int isspace2(unsigned int c); | int isspace2(unsigned int c); |
| // which directory to look for a named voice. List of voice names, must end in a space. | // which directory to look for a named voice. List of voice names, must end in a space. | ||||
| static const char *voices_asia = | 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 = | 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 "; | "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 "; | ||||
| // The voice name has a +variant suffix | // The voice name has a +variant suffix | ||||
| variant_num = 0; | variant_num = 0; | ||||
| *p++ = 0; // delete the suffix from the voice name | *p++ = 0; // delete the suffix from the voice name | ||||
| if(isdigit(*p)) | |||||
| if(IsDigit09(*p)) | |||||
| { | { | ||||
| variant_num = atoi(p); // variant number | variant_num = atoi(p); // variant number | ||||
| } | } |