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