Conflicts: platforms/windows/make_espeakedit.issmaster
| espeak-data/sv_dict \ | espeak-data/sv_dict \ | ||||
| espeak-data/sw_dict \ | espeak-data/sw_dict \ | ||||
| espeak-data/ta_dict \ | espeak-data/ta_dict \ | ||||
| espeak-data/te_dict \ | |||||
| espeak-data/tr_dict \ | espeak-data/tr_dict \ | ||||
| espeak-data/ur_dict \ | espeak-data/ur_dict \ | ||||
| espeak-data/vi_dict \ | espeak-data/vi_dict \ | ||||
| espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra | espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra | ||||
| cd dictsource && ../src/espeak --compile=ta && cd .. | cd dictsource && ../src/espeak --compile=ta && cd .. | ||||
| te: espeak-data/te_dict | |||||
| dictsource/te_extra: | |||||
| touch dictsource/te_extra | |||||
| espeak-data/te_dict: src/espeak espeak-data/phontab dictsource/te_list dictsource/te_rules dictsource/te_extra | |||||
| cd dictsource && ../src/espeak --compile=te && cd .. | |||||
| tr: espeak-data/tr_dict | tr: espeak-data/tr_dict | ||||
| dictsource/tr_extra: | dictsource/tr_extra: | ||||
| touch dictsource/tr_extra | touch dictsource/tr_extra |
| // Aragon translation rules | |||||
| // Aragon translation rules | |||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| // letters | // letters | ||||
| _x#ª %a | _x#ª %a | ||||
| º orDin'al||maskul'in | º orDin'al||maskul'in | ||||
| ª orDin'al||femen'in | ª orDin'al||femen'in | ||||
| ºc gr'aUs||T'e | |||||
| ºf gr'aUs||'Efe | |||||
| ºk gr'aUs||k'a | |||||
| _1ox prim'Er | _1ox prim'Er | ||||
| _2ox seQ'und | _2ox seQ'und | ||||
| / baRRa | / baRRa | ||||
| \ kontraBaRRa | \ kontraBaRRa | ||||
| | b'aRRaBertik'al | | b'aRRaBertik'al | ||||
| ° graUs | |||||
| _- gj'on | _- gj'on | ||||
| ! TaRR'ar||eksklamaTj'on | ! TaRR'ar||eksklamaTj'on | ||||
| facebook f'eIsbuk | facebook f'eIsbuk | ||||
| firefox f'aIrfoks | firefox f'aIrfoks | ||||
| google g'ugEl | google g'ugEl | ||||
| hotmail xotm'eIl | |||||
| (i phone) 'aIfon | (i phone) 'aIfon | ||||
| iphone 'aIfon | iphone 'aIfon | ||||
| (i pod) 'aIpod | (i pod) 'aIpod |
| // Translation rules for Bengali | |||||
| // Translation rules for Bengali | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // Numbers | // Numbers | ||||
| devanagari numbers are changed to latin characters before translation | |||||
| // Bengali numbers are changed to latin characters before translation | |||||
| _0 S'unjO | _0 S'unjO | ||||
| _1 '&k | _1 '&k | ||||
| _2 duj | |||||
| _2 d'uj | |||||
| _3 t'in | _3 t'in | ||||
| _4 tS'ar | _4 tS'ar | ||||
| _5 p'a~tS | _5 p'a~tS | ||||
| _8 'at.# | _8 'at.# | ||||
| _9 n'Oj | _9 n'Oj | ||||
| _2a d'u // with hundreds etc. | |||||
| _6a tS#'a | |||||
| _9a n'O | |||||
| _10 d'OS | _10 d'OS | ||||
| _11 '&garo | _11 '&garo | ||||
| _12 b'arO | _12 b'arO | ||||
| _13 t'erO | _13 t'erO | ||||
| _14 tS'owddO | |||||
| _14 tS'oddO | |||||
| _15 p'OnerO | _15 p'OnerO | ||||
| _16 S'olO | _16 S'olO | ||||
| _17 S'OterO | _17 S'OterO | ||||
| _19 'uniS | _19 'uniS | ||||
| _20 k'uri // or b'iS ?? | _20 k'uri // or b'iS ?? | ||||
| _21 'ekuS | |||||
| _21 ek'uS | |||||
| _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 tSh'ObbiS | |||||
| _27 S'ataS | |||||
| _26 tSh'abbiS | |||||
| _27 Sat'aS | |||||
| _28 'at.#aS | _28 'at.#aS | ||||
| _29 'untriS | |||||
| _30 t'iriS | |||||
| _31 'ektriS | |||||
| _32 b'OtriS | |||||
| _33 t'etriS | |||||
| _34 tSowtriS | |||||
| _35 pO~jtriS | |||||
| _36 tS#'OtriS | |||||
| _37 S'a~itriS | |||||
| _38 'at.riS | |||||
| _39 'unOtSOlliS | |||||
| _40 tS'OlliS | |||||
| _41 'ektSOlliS | |||||
| _42 b'ialliS | |||||
| _43 t'etalliS | |||||
| _44 tS'oalliS | |||||
| _45 p'O~jtalliS | |||||
| _46 tS'etSOlliS | |||||
| _47 S'atSOllis | |||||
| _48 'atSOlliS | |||||
| _49 'unOpO~tSaS | |||||
| // numbers above 50 need to be corrected | |||||
| _50 p'O~tSaS | |||||
| _5X p'O~tSaS | |||||
| _59 'unOsat. | |||||
| _60 s'at. | |||||
| _6X s'at. | |||||
| _69 'unOS'OttOr | |||||
| _70 S'OttOr | |||||
| _7X S'OttOr | |||||
| _79 'unOaSi | |||||
| _29 unOtr'iS | |||||
| _30 tr'iS | |||||
| _31 ekOtr'iS | |||||
| _32 bOtr'iS | |||||
| _33 tetr'iS | |||||
| _34 tSowtr'iS | |||||
| _35 pO~jtr'iS | |||||
| _36 tS#'Otr'iS | |||||
| _37 Sa~itr'iS | |||||
| _38 at.tr'iS | |||||
| _39 'unOtSOll'iS | |||||
| _40 tSOll'iS | |||||
| _41 ektSOll'iS | |||||
| _42 biall'iS | |||||
| _43 tetall'iS | |||||
| _44 tSoall'iS | |||||
| _45 pO~jtall'iS | |||||
| _46 tSetSOll'iS | |||||
| _47 SatSOll'is | |||||
| _48 atSOll'iS | |||||
| _49 unOpO~tSaS | |||||
| _50 pO~tS'aS | |||||
| _51 &kann'o | |||||
| _52 bajann'o | |||||
| _53 tepann'o | |||||
| _54 tSujann'o | |||||
| _55 pontSann'o | |||||
| _56 tS#apann'o | |||||
| _57 Satann'o | |||||
| _58 at.ann'o | |||||
| _59 unOS'at. | |||||
| _80 'aSi | |||||
| _8X 'aSi | |||||
| _89 'unOnObbOj | |||||
| _90 n'ObbOj | |||||
| _9X n'ObbOj | |||||
| _60 s'at. | |||||
| _61 ekSOt.t.'i | |||||
| _62 baSOt.t.'i | |||||
| _63 teSOt.t.'i | |||||
| _64 tSowSOt.t.'i | |||||
| _65 pojSOt.t.'i | |||||
| _66 SeSOt.t.'i | |||||
| _67 SatSOt.t.'i | |||||
| _68 at.SOt.t.'i | |||||
| _6X sat.t.'i | |||||
| _69 unOSOtt'ur | |||||
| _70 SOtt'Or | |||||
| _71 ekatt'Or | |||||
| _72 bahatt'Or | |||||
| _73 tehatt'Or | |||||
| _74 tSuhatt'Or | |||||
| _75 pOtSatt'Or | |||||
| _76 tS#ijatt'Or | |||||
| _77 Satatt'Or | |||||
| _78 at.att'Or | |||||
| _79 unOaS'i | |||||
| _80 aS'i | |||||
| _81 &kaS'i | |||||
| _82 beraS'i | |||||
| _83 teraS'i | |||||
| _84 tSuraS'i | |||||
| _85 po~tSaS'i | |||||
| _86 tS#ijaS'i | |||||
| _87 SataS'i | |||||
| _88 at.aS'i | |||||
| _89 ,unOnObb'oj | |||||
| _90 nObb'oj | |||||
| _91 &kanObb'oj | |||||
| _92 beranObb'oj | |||||
| _93 teranObb'oj | |||||
| _94 tSuranObb'oj | |||||
| _95 pOtSanObb'oj | |||||
| _96 tS#ijanObb'oj | |||||
| _97 SatanObb'oj | |||||
| _98 at.anObb'oj | |||||
| _99 niranObb'oj | |||||
| _0C S'o | _0C S'o | ||||
| _0M1 h'ajar | _0M1 h'ajar | ||||
| _0M2 l'ak# | _0M2 l'ak# | ||||
| _0M3 k'ot.i | _0M3 k'ot.i | ||||
| _0M4 'Orbud | _0M4 'Orbud | ||||
| _dpt dOsomik | |||||
| _dpt _d'Osomik_ | |||||
| // Single consonants | // Single consonants | ||||
| খ k#O | খ k#O | ||||
| গ gO | গ gO | ||||
| ঘ g#O | ঘ g#O | ||||
| ঙ 'uNO | |||||
| ঙ 'uNO~ | |||||
| চ tSO | চ tSO | ||||
| ছ tShO // [h] to distinguish from [tS] | ছ tShO // [h] to distinguish from [tS] | ||||
| জ JO | জ JO | ||||
| ঝ J#O | ঝ J#O | ||||
| ঞ 'iNO | |||||
| ঞ 'iNO~ | |||||
| ট t.O | ট t.O | ||||
| ঠ t.#O | ঠ t.#O | ||||
| ড d.O | ড d.O | ||||
| ঢ d.#O | ঢ d.#O | ||||
| ণ m'odd#ennO | |||||
| ণ m,odd#en.n.'O | |||||
| ত tO | ত tO | ||||
| থ t#O | থ t#O | ||||
| দ dO | দ dO | ||||
| ধ d#O | ধ d#O | ||||
| ন d'ontennO | |||||
| ন d,ontenn'O | |||||
| প pO | প pO | ||||
| ফ fO // or [p#O] ? | ফ fO // or [p#O] ? | ||||
| ব bO | ব bO | ||||
| ভ b#O | ভ b#O | ||||
| ম mO | ম mO | ||||
| য় Oj | য় Oj | ||||
| য ontostedZ'O | |||||
| য ,ontostedZ'O | |||||
| র rO | র rO | ||||
| ড় r.O | ড় r.O | ||||
| ড় r.O // (d. + nukta) | ড় r.O // (d. + nukta) | ||||
| ঢ় hr.O | ঢ় hr.O | ||||
| ঢ় hr.O // (d#. + nukta) | ঢ় hr.O // (d#. + nukta) | ||||
| ল lO | ল lO | ||||
| শ taleboS:O | |||||
| ষ mud#en:oS:O | |||||
| স d'onteS:O | |||||
| শ t,aleboS:'O | |||||
| ষ m,ud#en:oS:'O | |||||
| স d,onteS:'O | |||||
| হ hO | হ hO | ||||
| ৎ kh'Ond.otO | |||||
| ৎ kh,Ond.ot'O | |||||
| ক্ষ k,ojmud#en:oS:'O | |||||
| // full vowels | // full vowels | ||||
| অ O | অ O | ||||
| উ hrOS:o'u | উ hrOS:o'u | ||||
| ঊ dirg#o'u | ঊ dirg#o'u | ||||
| ঋ ri | ঋ ri | ||||
| এ e | |||||
| ঐ oj | |||||
| ও o | |||||
| ঔ ow | ঔ ow | ||||
| এ e $u+ // word 'it' | |||||
| ঐ oj $u+ // word 'that' | |||||
| ও o $u+ $brk // 'and' | |||||
| _এ e | |||||
| _ঐ oj | |||||
| _ও o | |||||
| // combining vowel signs | // combining vowel signs | ||||
| া 'akar | া 'akar | ||||
| ি r'oS:ikar | ি r'oS:ikar | ||||
| ঁ tS'Ondrobindu | ঁ tS'Ondrobindu | ||||
| ় b'indu | ় b'indu | ||||
| $ d.Olar | |||||
| % SOtk'Ora | |||||
| + jOg | |||||
| = SOman | |||||
| // Punctuation | // Punctuation | ||||
| । dVn.d.V | । dVn.d.V | ||||
| _, koma | |||||
| _? pr'oSnOtSihnO | |||||
| // Pronouns | // Pronouns | ||||
| আমি $u // main: I | আমি $u // main: I | ||||
| // Exceptions | // Exceptions | ||||
| এত &to |
| | |||||
| // This file is UTF8 encoded | // This file is UTF8 encoded | ||||
| // letter groups: | // letter groups: | ||||
| .group অ | .group অ | ||||
| অ V | অ V | ||||
| অঁ O~ | অঁ O~ | ||||
| অ্যা & // V,ja in [æmiba] | |||||
| .group আ | .group আ | ||||
| .group এ | .group এ | ||||
| এ e | এ e | ||||
| এঁ e~ | এঁ e~ | ||||
| এ্যা & // e,ja [ækademi] | |||||
| .group ও | .group ও | ||||
| য় jV // nukta | য় jV // nukta | ||||
| য় (B j | য় (B j | ||||
| ্) য (C & // ব্যস্ত [bæsto] | |||||
| ্) যা & // ব্যাকরণ [bækɔron] | |||||
| .group র | .group র | ||||
| র rV | র rV | ||||
| র (B r | র (B r | ||||
| ৢ l- | ৢ l- | ||||
| ৣ l- | ৣ l- | ||||
| __) - (_D bij'og | |||||
| D_) - (_D bij'og |
| _#9 tab | _#9 tab | ||||
| _#32 blank | _#32 blank | ||||
| * 'asd&r,isg $max3 | |||||
| % pRos'end $max3 | |||||
| @ sn,&:bel'&: | |||||
| / sgRVsdrai $max3 | |||||
| \ 'Vmvendsgr,VsdRai $max3 | |||||
| * '&sd@-r,isg $max3 | |||||
| % pRos'End $max3 | |||||
| @ sn,&b@-l'&: | |||||
| / sgRVsdrAj $max3 | |||||
| \ 'VmvEndsgr,VsdRai $max3 | |||||
| _, k'oma: | _, k'oma: | ||||
| _; se:mi:ko:lVn | |||||
| _; semiko:lVn | |||||
| _: k'o:lVn | _: k'o:lVn | ||||
| _. pONtOm // PN u => O | _. pONtOm // PN u => O | ||||
| _? spWrgsmVlstajn | |||||
| _! udRVbstejn | |||||
| _- binnesdrai | |||||
| __ b'Onsdrai | |||||
| _? spWrsmOlstAjn | |||||
| _! udRVbstAjn | |||||
| _- bin@-sdrAi | |||||
| __ b'OnsdrAi | |||||
| & _Vw | & _Vw | ||||
| £ pun? | £ pun? | ||||
| € euro | € euro | ||||
| © kVpirajt | |||||
| ÷ divid'eReD||meD | |||||
| © kVpirAjt | |||||
| ÷ divid'eRVD||mED | |||||
| = l'imeD | = l'imeD | ||||
| # n'OmV | # n'OmV | ||||
| § paragr'af | § paragr'af | ||||
| × g'aNe | × g'aNe | ||||
| ª feminin||Wdin'al | ª feminin||Wdin'al | ||||
| º m'askulin||Wdin'al | º m'askulin||Wdin'al | ||||
| ® registr'Er@D||v'ar@mErk3 | |||||
| ¼ en||kvart | |||||
| ¾ trEkv'art | |||||
| ® registr'ErVD||v'Ar@-mErk@- | |||||
| ¼ en||kvArt | |||||
| ¾ trEkv'Art | |||||
| ¢ s'ent | ¢ s'ent | ||||
| ¥ j'en: | ¥ j'en: | ||||
| µ my | µ my | ||||
| ' apostr'Vf | ' apostr'Vf | ||||
| ½ en'hal | |||||
| ½ en'h&l | |||||
| + plus | + plus | ||||
| // numbers | // numbers | ||||
| _10 t'i | _10 t'i | ||||
| _11 'Elv@ | _11 'Elv@ | ||||
| _12 t'Vl | _12 t'Vl | ||||
| _13 tR'?&#d@-n | |||||
| _13 t*'?&#d@-n | |||||
| _14 fj'ord@-n | _14 fj'ord@-n | ||||
| _15 f'Emd@-n | _15 f'Emd@-n | ||||
| _16 s'ajsd@-n | |||||
| _17 s'Wd@-n | |||||
| _16 s'Ajsd@-n | |||||
| _17 s'?Wd@-n | |||||
| _18 '?&d@-n | _18 '?&d@-n | ||||
| _19 n'ed@-n | |||||
| _19 n'?ed@-n | |||||
| _2X t'y:?u | _2X t'y:?u | ||||
| _3X tR'&#Dv@ | |||||
| _3X t*'&#Dv@ | |||||
| _4X f'?W:_|V | _4X f'?W:_|V | ||||
| _5X h&l't*Es | _5X h&l't*Es | ||||
| _6X t*'Es | _6X t*'Es | ||||
| _7X h&lfj'&rs | |||||
| _7X h&lfj'Ers | |||||
| _8X f'irs | _8X f'irs | ||||
| _9X h&lf'Ems // PB a changed to & | _9X h&lf'Ems // PB a changed to & | ||||
| _0C h'unRVD | _0C h'unRVD | ||||
| _0and V | _0and V | ||||
| _dpt _k,Vm&: | _dpt _k,Vm&: | ||||
| // PB a number followed by dot | |||||
| // A number followed by dot | |||||
| // ordinals are followed by a dot in Danish | // ordinals are followed by a dot in Danish | ||||
| _ord 3 // 13. (trettende) | |||||
| _ord @- // 13. (trettende) | |||||
| // exceptions for ordinals | // exceptions for ordinals | ||||
| _1o fWrsd3 // 1. første | |||||
| _1o fWrsd@- // 1. første | |||||
| _2o &n@n // 2. anden | _2o &n@n // 2. anden | ||||
| _3o trEdj3 // 3. tredje | |||||
| _3o trEdj@- // 3. tredje | |||||
| _4o fjeV // 4. fjerde | _4o fjeV // 4. fjerde | ||||
| _5o fEmt3 // 5. femte | |||||
| _6o sjEd3 // 6. sjette | |||||
| _7o syvn3 // 7. syvende | |||||
| _8o Vtn3 // 8. ottende | |||||
| _9o ni@n3 // 9. niende | |||||
| _10o ti@n3 // 10. tiende | |||||
| _11o Elfd3 // 11. elvte/ellevete | |||||
| _12o tVlfd3 // 12. tolvte | |||||
| _5o fEmt@- // 5. femte | |||||
| _6o sjEd@- // 6. sjette | |||||
| _7o syvn@- // 7. syvende | |||||
| _8o Vtn@- // 8. ottende | |||||
| _9o ni@-n@- // 9. niende | |||||
| _10o ti@-n@- // 10. tiende | |||||
| _11o Elfd@- // 11. elvte/ellevete | |||||
| _12o tVlfd@- // 12. tolvte | |||||
| _2Xo t'yv@n@ // 25. | |||||
| _3Xo tr'&#ft@ //36. | |||||
| _4Xo fWV'tyv@n@ // 42. | |||||
| _5Xo h<*'Esenstyv@n@ // 52. | |||||
| _6Xo tr'Esenstyv@n@ // 62. | |||||
| _7Xo h&lfj'&rsenstyv@n@ // 72. | |||||
| _8Xo firsenstyv@n@ // 82. | |||||
| _9Xo h&lf'Emsenstyv@n@ // 95. | |||||
| _2Xo t'yv@n@- // 25. | |||||
| _3Xo tr'&#ft@- //36. | |||||
| _4Xo fWV'tyv@-n@- // 42. | |||||
| _5Xo h<*'Esenstyv@-n@- // 52. | |||||
| _6Xo tr'Esenstyv@-n@- // 62. | |||||
| _7Xo h&lfj'&rsenstyv@-n@- // 72. | |||||
| _8Xo firsenstyv@-n@- // 82. | |||||
| _9Xo h&lf'Emsenstyv@-n@- // 95. | |||||
| // function words | // function words | ||||
| ved $u+ // at | ved $u+ // at | ||||
| om $u+ $brk // about, within | om $u+ $brk // about, within | ||||
| med $u+ // with | med $u+ // with | ||||
| af & | |||||
| ad & | |||||
| af &_! | |||||
| ad &_! | |||||
| ad &D $atend $sentence // "Det må ikke skille os ad." | ad &D $atend $sentence // "Det må ikke skille os ad." | ||||
| at & $u | |||||
| at &_! $u | |||||
| hos | hos | ||||
| som sVm $u // which / that | som sVm $u // which / that | ||||
| det de $u | det de $u | ||||
| dét de | dét de | ||||
| vi vi $u | vi vi $u | ||||
| i _i $u+ | |||||
| i _i_! $u+ | |||||
| mig mAj $u // me | mig mAj $u // me | ||||
| dig dAj $u+ | dig dAj $u+ | ||||
| dem $u | dem $u | ||||
| // possessive pronouns | // possessive pronouns | ||||
| min min $u | min min $u | ||||
| mit mit $u | mit mit $u | ||||
| mine m'in3 | |||||
| mine m'in@- | |||||
| din d'in $u+ | din d'in $u+ | ||||
| dit d'it $u | dit d'it $u | ||||
| dine d'in3 | |||||
| dine d'in@- | |||||
| deres dE:Vs $u | deres dE:Vs $u | ||||
| hans $u+ | hans $u+ | ||||
| hendes $u+ | hendes $u+ | ||||
| eminence $alt | eminence $alt | ||||
| excellence $alt | excellence $alt | ||||
| fajance $alt | fajance $alt | ||||
| hospice $alt | |||||
| ignorance $alt | ignorance $alt | ||||
| inspektrice $alt | inspektrice $alt | ||||
| intolerance $alt | intolerance $alt | ||||
| afrikaan $alt | afrikaan $alt | ||||
| aleksandrin $alt | aleksandrin $alt | ||||
| amerikan $alt | amerikan $alt | ||||
| austral $alt | |||||
| andorran $alt | andorran $alt | ||||
| anglikan $alt | anglikan $alt | ||||
| angolan $alt | angolan $alt | ||||
| deducer $alt | deducer $alt | ||||
| defiler $alt | defiler $alt | ||||
| definer $alt | definer $alt | ||||
| omdefiner $alt | |||||
| deflorer $alt | deflorer $alt | ||||
| deformer $alt | deformer $alt | ||||
| degrader $alt | degrader $alt | ||||
| konstituer $alt | konstituer $alt | ||||
| konstringer $alt | konstringer $alt | ||||
| konstruer $alt | konstruer $alt | ||||
| rekonstruer $alt | |||||
| konsulere $alt | konsulere $alt | ||||
| konsulter $alt | konsulter $alt | ||||
| konsumer $alt | konsumer $alt | ||||
| tournure $alt | tournure $alt | ||||
| // exceptions | // exceptions | ||||
| alene &l'en@ // alone | |||||
| alene &l'en@- // alone | |||||
| egen _|aj@-n | egen _|aj@-n | ||||
| mc mak' $capital // PB McDonald | mc mak' $capital // PB McDonald | ||||
| egne ajn@- | egne ajn@- | ||||
| idé id'e // idea | idé id'e // idea | ||||
| tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune] | ||||
| ny ny // new | ny ny // new | ||||
| også Vs@- // also | |||||
| også ?Vs@- // also | |||||
| idet id'e // in so far as | idet id'e // in so far as | ||||
| (rub og stub) R'Ob||V||sd'Ob | (rub og stub) R'Ob||V||sd'Ob | ||||
| tre tr'E // the number 3 | tre tr'E // the number 3 | ||||
| rejicerer rejis'eV // PB | rejicerer rejis'eV // PB | ||||
| rejiceres rejis'eVs // PB | rejiceres rejis'eVs // PB | ||||
| rejicering rejis'eRiN // PB | rejicering rejis'eRiN // PB | ||||
| nogle n'o:@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen' | |||||
| nogen n'o:@-n // PB | |||||
| nogle n'o@-n // PB English: 'some' - must be pronounced like the Danish word 'nogen' | |||||
| nogen n'o@-n // PB | |||||
| ligesom l?isVm // PB | ligesom l?isVm // PB | ||||
| bliver blir // PB | bliver blir // PB | ||||
| konfirmand kVnferm'&nd // PB | konfirmand kVnferm'&nd // PB | ||||
| giver gir // PB the v shouldn't be pronounced | giver gir // PB the v shouldn't be pronounced | ||||
| opgiver Vpgir // PB | opgiver Vpgir // PB | ||||
| jaloux sj&'lu // PB jaloux | jaloux sj&'lu // PB jaloux | ||||
| aficionado afisjo'na:do // PB | |||||
| breakdance brEig'da:ns // PB breakdance | |||||
| breakdancen brEig'da:ns@-n // PB breakdancen | |||||
| breakdancer brEig'da:nsV // PB breakdancer | |||||
| breakdancere brEig'da:nsV3 // PB breakdancere | |||||
| breakdancerne brEig'da:nsV-n@ // PB breakdancerne | |||||
| breakdancernes brEig'da:nsV-n@s // PB breakdancernes | |||||
| squaredance skw'e@da:ns // PB squaredance | |||||
| squaredancer skw'e@da:nsV // PB squaredancer | |||||
| squaredancere skw'e@da:nsV3 // PB squaredancere | |||||
| squaredancen skw'e@da:ns@-n // PB squaredancen | |||||
| squaredancerne skw'e@da:nsV-n@ // PB squaredancerne | |||||
| squaredancernes skw'e@da:nsV-n@s // PB squaredancernes | |||||
| baguette b%a'get // French word used in Danish | |||||
| jambore djamboR'E // PB English? word used in Danish - stressed e | |||||
| shampu Sjambo // PB Danish pronunciation - oo has been replaced by u | |||||
| (en face) aN||f'as // PB 'en face' - French used in Danish | |||||
| (en bloc) aN||'blVk // PB 'en bloc' - French used in Danish | |||||
| aficionado afisjo'nA:do // PB | |||||
| breakdance brEig'd&:ns // PB breakdance | |||||
| breakdancen brEig'd&:ns@-n // PB breakdancen | |||||
| breakdancer brEig'd&:nsV // PB breakdancer | |||||
| breakdancere brEig'd&:nsV3 // PB breakdancere | |||||
| breakdancerne brEig'd&:nsV-n@ // PB breakdancerne | |||||
| breakdancernes brEig'd&:nsV-n@s // PB breakdancernes | |||||
| squaredance skw'EVd&:ns // PB squaredance | |||||
| squaredancer skw'EVd&:nsV // PB squaredancer | |||||
| squaredancere skw'EVd&:nsV3 // PB squaredancere | |||||
| squaredancen skw'EVd&:ns@-n // PB squaredancen | |||||
| squaredancerne skw'EVd&:nsV-n@ // PB squaredancerne | |||||
| squaredancernes skw'EVd&:nsV-n@s // PB squaredancernes | |||||
| baguette b?&'gEt // French word used in Danish | |||||
| jambore djAmboR'E // PB English? word used in Danish - stressed e | |||||
| shampu SjAmbo // PB Danish pronunciation - oo has been replaced by u | |||||
| (en face) AN||f'as // PB 'en face' - French used in Danish | |||||
| (en bloc) AN||'blVk // PB 'en bloc' - French used in Danish | |||||
| (haute couture) %o:tku'ty:r // PB - french word | (haute couture) %o:tku'ty:r // PB - french word | ||||
| (par excellence) pa:egs@'la:Ns // PB - french word | |||||
| (public service) pVblek||s@:vis // PB | |||||
| (public servicen) pVblek||s@:vis@-n // PB | |||||
| (par excellence) pA:Egs@'la:Ns // PB - french word | |||||
| (public service) pVblek||sW:vis // PB | |||||
| (public servicen) pVblek||sW:vis@-n // PB | |||||
| (tour de force) tu:@d@||'fV:s // PB | (tour de force) tu:@d@||'fV:s // PB | ||||
| (al qaeda) al||k'ajda // PB | (al qaeda) al||k'ajda // PB | ||||
| (force majeure) fVrs||,ma'sjW:r // PB | (force majeure) fVrs||,ma'sjW:r // PB | ||||
| (diner transportable) din'e|trANspVt'abl@ // PB | |||||
| (diner transportable) din'e|trANspVt'abl@- // PB | |||||
| (quiche lorraine) kiS||lor'E:n: | (quiche lorraine) kiS||lor'E:n: | ||||
| (fait accompli) fEtakVmpl'i // PB | |||||
| (fait accompli) fEt&kVmpl'i // PB | |||||
| (salt lake city) s'Vlt||lEjk||s'iti | (salt lake city) s'Vlt||lEjk||s'iti | ||||
| wien v'i:n // PB Wien - the town of Vienna | wien v'i:n // PB Wien - the town of Vienna | ||||
| calais kal'E // PB Calais - town in France | |||||
| date dejt // PB date - stævnemøde | |||||
| calais k&l'E // PB Calais - town in France | |||||
| date dEjt // PB date - stævnemøde | |||||
| //siger sir // PB silent d | //siger sir // PB silent d | ||||
| (tids nok) tis||n'Vk // PB silent d | (tids nok) tis||n'Vk // PB silent d | ||||
| skateboardet sk'eitbo@d3D // PB | |||||
| skateboardet sk'EitbO:d@-D // PB | |||||
| (hole in one) h'oulinw,0n // PB English golf expression used in Danish | (hole in one) h'oulinw,0n // PB English golf expression used in Danish | ||||
| (en passant) AN||p&s'AN | (en passant) AN||p&s'AN | ||||
| (coney island) 'kouni||'ajl3nd // PB | (coney island) 'kouni||'ajl3nd // PB | ||||
| (union station) junj3n||steisj@n // PB | (union station) junj3n||steisj@n // PB | ||||
| (secret service) sigred||s'Wvis | (secret service) sigred||s'Wvis | ||||
| (happy hour) h&pi||'AuV | (happy hour) h&pi||'AuV | ||||
| chevrolet sjEvrol'e | |||||
| chevrolet sjEvrol'E | |||||
| saigon sAjgVn // PB Saigon | saigon sAjgVn // PB Saigon | ||||
| managua m&n'&:gw& | managua m&n'&:gw& | ||||
| (deja-vu) deSja||'vy | (deja-vu) deSja||'vy | ||||
| // Try to catch errors | // Try to catch errors | ||||
| (et kvarter) et||kvA'ter // PB | (et kvarter) et||kvA'ter // PB | ||||
| (mit kvarter) mit||kvA'ter // PB | |||||
| (vores kvarter) vV:s||kvA'ter // PB | |||||
| (deres kvarter) dE:Vs||kvA'ter // PB | |||||
| (det kvarter) de||kvA'ter // PB | |||||
| (mit kvarter) mit||kvA'ter | |||||
| (vores kvarter) vV:s||kvA'ter | |||||
| (deres kvarter) dE:Vs||kvA'ter | |||||
| (det kvarter) de||kvA'ter | |||||
| (i kvarter) i||kv'A:dV | (i kvarter) i||kv'A:dV | ||||
| (at have) &||h& // PB the verb 'have', not the noun 'have' = garden | |||||
| (vil have) vel||h'& // PB | |||||
| (ville have) v?il3||h'& // PB | |||||
| (du have) du||h& // PB | |||||
| (må have) mO:||h& // PB | |||||
| (skal have) sk?&||h& // PB | |||||
| // the verb 'have', not the noun 'have' = garden/oceans | |||||
| (at have) &||h& | |||||
| (vil have) vel||h'& | |||||
| (ville have) v?il3||h'& | |||||
| (du have) du||h&_! | |||||
| (må have) mO:||h& | |||||
| (skal have) sk?&||h& | |||||
| (helst have) h'Elst||h& | (helst have) h'Elst||h& | ||||
| (gerne have) g'Ern3||h& | (gerne have) g'Ern3||h& | ||||
| (kan have) k?&n||h& // PB | |||||
| (ikke have) ege||h& // PB | |||||
| (kan have) k?&n||h& | |||||
| (ikke have) eg@-||h& | |||||
| (have ret) h&||R'&#d | |||||
| (måtte have) m'?Vt@-||h& | |||||
| (have været) h&||v'?E3-VD | |||||
| (have gjort) h&||gj'Ort | |||||
| // PB 'hav' = ocean - 'hav' = have (a nice day) | // PB 'hav' = ocean - 'hav' = have (a nice day) | ||||
| (et hav) ed||hAu | (et hav) ed||hAu | ||||
| (stort hav) stord||hAu | (stort hav) stord||hAu | ||||
| hav hAu $atend | hav hAu $atend | ||||
| (et for) ed||'for // PB for i jakke - lining | |||||
| (et for) ed||'for // for i jakke - lining | |||||
| (et for dig) ed||fV||dAj // vælge et for dig | |||||
| // PB problem with 'sig' [si] = "say" and 'sig' = "himself/herself" [saj] | // PB problem with 'sig' [si] = "say" and 'sig' = "himself/herself" [saj] | ||||
| //(sig mig) si||maj // PB sig mig engang | |||||
| (sig hvad) si||v& // PB sig hvad du mener | |||||
| sig $atend $sentence saj // end of a sentence - han vaskede sig. | |||||
| (gør sig til) g,Wr||saj||t'el // PB | |||||
| (gav sig til) g&||saj||tel // PB han gav sig til at ... | |||||
| (sig hvad) si||v& // sig hvad du mener | |||||
| sig $atend $sentence sAj // end of a sentence - han vaskede sig. | |||||
| (gør sig til) g,Wr||sAj||t'el | |||||
| (gav sig til) g&||sAj||tel // han gav sig til at ... | |||||
| // PB avoid [staj] as in "flæskesteg" | // PB avoid [staj] as in "flæskesteg" | ||||
| (han steg) h&n||st'e | (han steg) h&n||st'e | ||||
| (hun steg) hOn||st'e | (hun steg) hOn||st'e | ||||
| (alle steg) &l3||st'e | (alle steg) &l3||st'e | ||||
| (vandet steg) v&n@D||st'e | (vandet steg) v&n@D||st'e | ||||
| steg sdaj $atend $sentence | steg sdaj $atend $sentence | ||||
| steget ste@d | |||||
| //steget ste@d | |||||
| // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] | // PB problem with noun "hav" = ocean and verb "hav(e)" = to have [hAu]/[h&v] | ||||
| (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day | (et hav) ed||h'Au // PB "et hav" = an ocean - not "hav en god dag" - have a nice day | ||||
| // PB legende = legend/myth and = playing | // PB legende = legend/myth and = playing |
| | |||||
| // You can use the en_extra file, rather than this one | // You can use the en_extra file, rather than this one | ||||
| // to add your own pronunciation definitions. | // to add your own pronunciation definitions. | ||||
| ï $accent | ï $accent | ||||
| ö $accent | ö $accent | ||||
| ü $accent | ü $accent | ||||
| û $accent | |||||
| č $accent | č $accent | ||||
| š $accent | š $accent | ||||
| ş $accent | ş $accent | ||||
| // Arabic letters | // Arabic letters | ||||
| ء h'amza | ء h'amza | ||||
| آ 'Elifm,adda# | |||||
| أ 'Elifh,amza | |||||
| ا 'Elif | |||||
| ب bE? | |||||
| آ al'if_mamd'uda# | |||||
| أ h'amza_taht_al'if | |||||
| ؤ h'amza_?la_waw | |||||
| إ al'if_taht_h'amza | |||||
| ئ h'amza_?la_jE? | |||||
| ا al'if | |||||
| ب ba | |||||
| ة t'E?maR2b'uta# | ة t'E?maR2b'uta# | ||||
| ت tE? | |||||
| ت ta | |||||
| ث TE? | ث TE? | ||||
| ج ZIm | |||||
| ج dZi:m | |||||
| ح hE? | ح hE? | ||||
| خ xE? | خ xE? | ||||
| د dEl/1 | |||||
| ذ DEl/1 | |||||
| د dal/1 | |||||
| ذ Dal/1 | |||||
| ر R2A:? | ر R2A:? | ||||
| ز zEjn | ز zEjn | ||||
| س si:n | س si:n | ||||
| ش Si:n | ش Si:n | ||||
| ص sO:d@- | |||||
| ض dO:d@- | |||||
| ص sa:d@- | |||||
| ض da:d@- | |||||
| ط thA:? | ط thA:? | ||||
| ظ DA:? | ظ DA:? | ||||
| ع ?ajn | |||||
| غ Q"ajn | |||||
| ف fE? | |||||
| ق qO:f | |||||
| ك kEf | |||||
| ل lEm | |||||
| ع '?Ein | |||||
| غ 'Q"Ein | |||||
| ف fa | |||||
| ق qa:f | |||||
| ك kaf | |||||
| ل lam | |||||
| م mi:m | م mi:m | ||||
| ن nu|:n | ن nu|:n | ||||
| ه hE? | |||||
| و wO:w | |||||
| ه ha | |||||
| و waw | |||||
| ى al'if_maks'ura | |||||
| ي jE? | ي jE? | ||||
| // Farsi | |||||
| پ pa | |||||
| چ tSa | |||||
| ژ Za | |||||
| گ ga:f | |||||
| ی f'A@si||j'e | |||||
| ک k'a:f | |||||
| // Urdu | |||||
| ٹ te | |||||
| ڈ de | |||||
| ڑ z.e | |||||
| ے barij'e | |||||
| ھ h'@ | |||||
| َ a | َ a | ||||
| ِ i | ِ i | ||||
| alas a#l'as | alas a#l'as | ||||
| albeit O:lb'i:It | albeit O:lb'i:It | ||||
| alfalfa alf'alf@ | alfalfa alf'alf@ | ||||
| algebra aldZI2br@ | |||||
| alias eIli@s | alias eIli@s | ||||
| alibi al@baI | alibi al@baI | ||||
| alibis al@baIz | alibis al@baIz | ||||
| ambidextrous $3 | ambidextrous $3 | ||||
| amen ,A:m'En $onlys | amen ,A:m'En $onlys | ||||
| ?3 amen ,eIm'En | ?3 amen ,eIm'En | ||||
| ?3 amo amoU | |||||
| amok a#m0k | amok a#m0k | ||||
| amoral eIm'0r@L | amoral eIm'0r@L | ||||
| amount a#maUnt | amount a#maUnt | ||||
| analysis a#nal@sIs | analysis a#nal@sIs | ||||
| anemone a#nEm@ni | anemone a#nEm@ni | ||||
| angel eIndZ@L | angel eIndZ@L | ||||
| anecdote anIkdoUt | |||||
| anecdotal anIkd'oUt@L | |||||
| anemometer anIm'0mI2t3 | anemometer anIm'0mI2t3 | ||||
| anew a#nju: | anew a#nju: | ||||
| ?3 anew a#nu: | ?3 anew a#nu: | ||||
| argon A@g0n | argon A@g0n | ||||
| argue A@gju: | argue A@gju: | ||||
| aries e@ri:z | aries e@ri:z | ||||
| arithmetic a#rITm@tIk | |||||
| arithmetic a#rITm@tIk $onlys | |||||
| arise a#raIz | arise a#raIz | ||||
| arisen @rIz@n | arisen @rIz@n | ||||
| armslength ,A@mzl'ENT | armslength ,A@mzl'ENT | ||||
| aviary eIvi@ri | aviary eIvi@ri | ||||
| awry a#raI | awry a#raI | ||||
| axes aksI#z | axes aksI#z | ||||
| axon aks0n | |||||
| backend bak'End | backend bak'End | ||||
| backstory baksto@ri | backstory baksto@ri | ||||
| circumvent s3:k@mvEnt | circumvent s3:k@mvEnt | ||||
| ?5 circumvent sIRk@mvEnt | ?5 circumvent sIRk@mvEnt | ||||
| citadel sIt@dEl | citadel sIt@dEl | ||||
| clandestine $2 | |||||
| clarinet klar@n'Et | clarinet klar@n'Et | ||||
| cleanliness klEnlIn@s | cleanliness klEnlIn@s | ||||
| cleanse klEnz | cleanse klEnz | ||||
| copier k0pi@3 | copier k0pi@3 | ||||
| copilot koUpaIl@t | copilot koUpaIl@t | ||||
| coral k0r@L | coral k0r@L | ||||
| ?3 cordial kO@dZ@L | |||||
| coronet k0r@nEt | coronet k0r@nEt | ||||
| corollary $2 | corollary $2 | ||||
| corporal kO@pr@L | corporal kO@pr@L | ||||
| ?3 debut deIb'ju: | ?3 debut deIb'ju: | ||||
| decade dEkeId | decade dEkeId | ||||
| decent di:s@nt | decent di:s@nt | ||||
| decibel dEsI#b@L | |||||
| declaration dEkl@'reIS@n | declaration dEkl@'reIS@n | ||||
| decolletage deIk0lt'A:Z | decolletage deIk0lt'A:Z | ||||
| decor deIkO@ | decor deIkO@ | ||||
| doctrinal $alt1 | doctrinal $alt1 | ||||
| doer du:3 | doer du:3 | ||||
| dogged d0gI#d | dogged d0gI#d | ||||
| dogmatic d0gm'atIk | |||||
| doin du:In | doin du:In | ||||
| domino $1 | domino $1 | ||||
| donor doUn3 | donor doUn3 | ||||
| gilead g'IlIad | gilead g'IlIad | ||||
| gimme gImi | gimme gImi | ||||
| giraffe dZI2raaf | giraffe dZI2raaf | ||||
| github gIthVb | |||||
| glacier gleIS3 | glacier gleIS3 | ||||
| goin ,goUI2n $only // for goin' | goin ,goUI2n $only // for goin' | ||||
| gonna g,@n@ | gonna g,@n@ | ||||
| inventory Inv@ntri | inventory Inv@ntri | ||||
| ?3 inventory Inv@nto:ri | ?3 inventory Inv@nto:ri | ||||
| interface $1 | interface $1 | ||||
| interlude $1 | |||||
| intermin Int'3:mIn // interminable | intermin Int'3:mIn // interminable | ||||
| intern $1 $onlys | intern $1 $onlys | ||||
| internee Int'3:ni: | internee Int'3:ni: | ||||
| momentary moUm@nt@ri | momentary moUm@nt@ri | ||||
| ?3 momentary moUm@nt2e@ri | ?3 momentary moUm@nt2e@ri | ||||
| momentum $2 | momentum $2 | ||||
| monarchic m@nA@kIk | |||||
| monday mVndeI | monday mVndeI | ||||
| monotone m0n@toUn | monotone m0n@toUn | ||||
| monsieur m@sj3: | monsieur m@sj3: | ||||
| pecan pi:k@n | pecan pi:k@n | ||||
| peculiar pI2kju:lI3 | peculiar pI2kju:lI3 | ||||
| pedalo pEd@loU | pedalo pEd@loU | ||||
| pedestal pEdI2st@L | |||||
| pedestrian $alt3 | pedestrian $alt3 | ||||
| pegasus pEg@s@s | pegasus pEg@s@s | ||||
| pejorative p@dZ0r@tIv | pejorative p@dZ0r@tIv | ||||
| rugged rVgI#d | rugged rVgI#d | ||||
| ruin ru:I2n // for ruining | ruin ru:I2n // for ruining | ||||
| sabbatic $alt3 | |||||
| sabotage sab@tA:Z | sabotage sab@tA:Z | ||||
| saboteur sab@t'3: | saboteur sab@t'3: | ||||
| ?5 saboteur sab@t'VR | ?5 saboteur sab@t'VR | ||||
| sachet saSeI | sachet saSeI | ||||
| sacred seIkr@d | sacred seIkr@d | ||||
| sacrifice sakrI2faIs | sacrifice sakrI2faIs | ||||
| sadistic $alt3 | |||||
| safety seIfti | safety seIfti | ||||
| saga sA:g@ | saga sA:g@ | ||||
| sahara $alt3 | sahara $alt3 | ||||
| san ,san $only | san ,san $only | ||||
| sardine $2 | sardine $2 | ||||
| satanic $alt3 | satanic $alt3 | ||||
| satiric $alt3 | |||||
| saucepan sO:sp@n | saucepan sO:sp@n | ||||
| saudi saUdi | saudi saUdi | ||||
| saute sO:teI | saute sO:teI | ||||
| stampede $2 | stampede $2 | ||||
| starboard stA@b3d | starboard stA@b3d | ||||
| starry stA:rI | starry stA:rI | ||||
| statistic $alt3 | |||||
| stiletto stI2lEtoU | stiletto stI2lEtoU | ||||
| strychnine str'Ikni:n | strychnine str'Ikni:n | ||||
| sterile stEraIl | sterile stEraIl | ||||
| (tear apart) t,e@||a#pA@t | (tear apart) t,e@||a#pA@t | ||||
| (tear off) t'e@||'0f | (tear off) t'e@||'0f | ||||
| teargas ti@3gas | teargas ti@3gas | ||||
| techy tEki | |||||
| teddybear t'EdIb,e@ | teddybear t'EdIb,e@ | ||||
| telemetry t@lEm@tri | telemetry t@lEm@tri | ||||
| telepathy t@lEp@Ti | telepathy t@lEp@Ti | ||||
| uncle VNk@L | uncle VNk@L | ||||
| undeny VndIn'aI | undeny VndIn'aI | ||||
| underling $1 | underling $1 | ||||
| underlings Vnd3lINz | |||||
| underworld $1 | underworld $1 | ||||
| undies Vndiz | undies Vndiz | ||||
| undo Vnd'u: | undo Vnd'u: | ||||
| ?5 Luxembourg lVks@mbVRg | ?5 Luxembourg lVks@mbVRg | ||||
| Madagascar mad@g'ask3 | Madagascar mad@g'ask3 | ||||
| Madras m@draas | Madras m@draas | ||||
| Madrid m@drId | |||||
| Madrid m@drId | |||||
| Malawi $alt3 | Malawi $alt3 | ||||
| Malayalam maleI'A:l@m | |||||
| Maldives mO:ld'i:v | Maldives mO:ld'i:v | ||||
| Mali mA:li | Mali mA:li | ||||
| Mandalay $3 | Mandalay $3 | ||||
| Oahu oU'A:hu: | Oahu oU'A:hu: | ||||
| Oklahoma oUkla#h'oUm@ | Oklahoma oUkla#h'oUm@ | ||||
| Ohio oUh'aIoU | Ohio oUh'aIoU | ||||
| Ohioan oUh'aIoU@n | |||||
| Omagh oUmA: | Omagh oUmA: | ||||
| Omaha oUma#hA: | Omaha oUma#hA: | ||||
| Oman oUm'an | Oman oUm'an | ||||
| Wyoming waI'oUmIN | Wyoming waI'oUmIN | ||||
| Xhosa kO:s@ | Xhosa kO:s@ | ||||
| Yemen $alt2 | Yemen $alt2 | ||||
| Yosemite joUs'Em@ti | |||||
| zaire zaI'i@3 | zaire zaI'i@3 | ||||
| zimbabwe zI2mbA:bwi | zimbabwe zI2mbA:bwi | ||||
| zimbabwean zI2mbA:bwI@n | zimbabwean zI2mbA:bwI@n | ||||
| Rachael reItS@L | Rachael reItS@L | ||||
| Rachel reItS@L | Rachel reItS@L | ||||
| Rafael rA:faI'El | Rafael rA:faI'El | ||||
| Rashid rA:S'i:d | |||||
| Raul raU'u:l | Raul raU'u:l | ||||
| Rees ri:s | Rees ri:s | ||||
| Reese ri:s | Reese ri:s | ||||
| Sheila Si:l@ | Sheila Si:l@ | ||||
| Simon saIm@n | Simon saIm@n | ||||
| Sinead SI2neId | Sinead SI2neId | ||||
| Sinéad SI2neId | |||||
| Siobhan S@vO:n | Siobhan S@vO:n | ||||
| Siobhán S@vO:n | Siobhán S@vO:n | ||||
| Sonia s0nj@ | Sonia s0nj@ |
| portr) ai (t I# | portr) ai (t I# | ||||
| .group al | .group al | ||||
| @ic) al (_S2 @L | |||||
| _) al (@ a#l | _) al (@ a#l | ||||
| gonz) al 'A:l | gonz) al 'A:l | ||||
| _) alaba al@b'a | _) alaba al@b'a | ||||
| p) an (c an | p) an (c an | ||||
| @m) an (d aan | @m) an (d aan | ||||
| sl) an (d aan | sl) an (d aan | ||||
| _) anecdo anIkdoU | |||||
| C) an (t aan | C) an (t aan | ||||
| an (ath a#n | an (ath a#n | ||||
| ann (eal a#n | ann (eal a#n | ||||
| as (thm as | as (thm as | ||||
| as (tral as | as (tral as | ||||
| as (tro as | as (tro as | ||||
| as (trolog a#s | |||||
| as (trono a#s | |||||
| _) as (trolog a#s | |||||
| _) as (trono a#s | |||||
| &) as (ty_ a#s | &) as (ty_ a#s | ||||
| ass (ym as | ass (ym as | ||||
| purch) as (e Is | purch) as (e Is | ||||
| _s) ata (n eIt@ | _s) ata (n eIt@ | ||||
| _g) ator eIt3 | _g) ator eIt3 | ||||
| &) ate (_$w_alt2 @t | &) ate (_$w_alt2 @t | ||||
| der) ated (_ eItI#d | |||||
| pal) ate (_ @t | pal) ate (_ @t | ||||
| consul) ate (_ @t | consul) ate (_ @t | ||||
| macul) ate (_ @t | macul) ate (_ @t | ||||
| tim) ate (_ @t | tim) ate (_ @t | ||||
| tim) ated (_ eItI2d | |||||
| tim) ated (_ eItI#d | |||||
| tim) ating (_ eItIN | tim) ating (_ eItIN | ||||
| din) ate (_ @t | din) ate (_ @t | ||||
| ion) ate (_ @t | ion) ate (_ @t | ||||
| at (io_ eIS | at (io_ eIS | ||||
| ati (aX 'eIS | ati (aX 'eIS | ||||
| &) atism @tIz@m | &) atism @tIz@m | ||||
| st) at (ist @t | |||||
| w) at (t 0t | w) at (t 0t | ||||
| @) ath (An_ @T | @) ath (An_ @T | ||||
| athed (_ eIDd | athed (_ eIDd | ||||
| bi (nm bI | bi (nm bI | ||||
| bi (noc bI2 | bi (noc bI2 | ||||
| _) bio (@P3 b,aIoU | _) bio (@P3 b,aIoU | ||||
| bi (ol baI | |||||
| bi (otic baI | bi (otic baI | ||||
| @) bi (osA baI | @) bi (osA baI | ||||
| bi (oC_ bI | bi (oC_ bI | ||||
| a) ch (il k | a) ch (il k | ||||
| bra) ch k | bra) ch k | ||||
| te) ch (K k | te) ch (K k | ||||
| _te) ch k | |||||
| ch (isC k | ch (isC k | ||||
| ch (ic_ k | ch (ic_ k | ||||
| @@Car) ch (_ k | @@Car) ch (_ k | ||||
| de (ft dE | de (ft dE | ||||
| _) de (g@ dI2 | _) de (g@ dI2 | ||||
| _) de (hyd ,di: | _) de (hyd ,di: | ||||
| _) de (ist deI | |||||
| _) de (j dI2 | _) de (j dI2 | ||||
| _) de (l@ dI2 | _) de (l@ dI2 | ||||
| de (law dE | de (law dE | ||||
| sp) e (cies i: | sp) e (cies i: | ||||
| depr) ec (L02 i:S | depr) ec (L02 i:S | ||||
| _) e (cl %I | _) e (cl %I | ||||
| _) eccles (i I2kli:z | |||||
| econo (m Ik'0n@ | econo (m Ik'0n@ | ||||
| econo (mic i:k@n'0 | econo (mic i:k@n'0 | ||||
| _) eco (s i:koU | _) eco (s i:koU | ||||
| h) e (sion_ 'i: | h) e (sion_ 'i: | ||||
| @) e (tio i: | @) e (tio i: | ||||
| discr) e (tion E | discr) e (tion E | ||||
| eu ju: | |||||
| ?3 n) eu u: | |||||
| ?3 n) eu (r U@ | |||||
| r) eu (d OI | |||||
| eu (m_ 'i:@ | |||||
| s) eu (m_ 'i@ | |||||
| l) eur 3: | |||||
| ?5 eur VR | |||||
| eur (_ '3: | |||||
| ?3 eur (_ 'U@ | |||||
| ?5 eur (_ 'VR | |||||
| _) euro jU@roU | |||||
| _) euro (pe jU@r-@ | |||||
| &) eus (_ =I2@s | |||||
| @) euse (_ '3:z | |||||
| ?3 @) euse (_ 'u:z | |||||
| d) eu (ts OI | |||||
| ew ju: | ew ju: | ||||
| _s) ew u: | _s) ew u: | ||||
| ?3 d) ew u: | ?3 d) ew u: | ||||
| er (nal_ '3: | er (nal_ '3: | ||||
| &) er (n_ 3 | &) er (n_ 3 | ||||
| c) er (n_ 3: | c) er (n_ 3: | ||||
| _g) er (on Er | |||||
| &) er (oCe_ =@r | &) er (oCe_ =@r | ||||
| er (se 3: | er (se 3: | ||||
| v) er (sal '3: | v) er (sal '3: | ||||
| pr) es (ent Ez | pr) es (ent Ez | ||||
| es (iA i:z | es (iA i:z | ||||
| es (ian_ 'i:z | es (ian_ 'i:z | ||||
| es (ic 'i:z | |||||
| @) es (ic 'i:z | |||||
| esis (_ 'i:sIs | esis (_ 'i:sIs | ||||
| th) eses (_ @si:z | th) eses (_ @si:z | ||||
| th) esis (_ @sIs | th) esis (_ @sIs | ||||
| m) etry (_ =@tr%I | m) etry (_ =@tr%I | ||||
| &) ett (_ I2t | &) ett (_ I2t | ||||
| .group eu | |||||
| eu ju: | |||||
| ?3 n) eu u: | |||||
| ?3 n) eu (r U@ | |||||
| r) eu (d OI | |||||
| eu (m_ 'i:@ | |||||
| s) eu (m_ 'i@ | |||||
| l) eur 3: | |||||
| ?5 eur VR | |||||
| eur (_ '3: | |||||
| ?3 eur (_ 'U@ | |||||
| ?5 eur (_ 'VR | |||||
| _) euro jU@roU | |||||
| _) euro (pe jU@r-@ | |||||
| &) eus (_ =I2@s | |||||
| @) euse (_ '3:z | |||||
| ?3 @) euse (_ 'u:z | |||||
| d) eu (ts OI | |||||
| .group ev | .group ev | ||||
| _) ev I2v | _) ev I2v | ||||
| _) eva (ne Ev@ | _) eva (ne Ev@ | ||||
| n) ihi aI|@ | n) ihi aI|@ | ||||
| _) i (h aI | _) i (h aI | ||||
| ii (_ IaI | ii (_ IaI | ||||
| ij (C eI // Dutch | |||||
| f) i (j i: | f) i (j i: | ||||
| h) i (j aI | h) i (j aI | ||||
| @b) il (_ @L | |||||
| @Cc) il (_ @L | |||||
| @p) il (_ @L | |||||
| @r) il (_ @L | |||||
| @s) il (_ @L | |||||
| nt) il (_ @L | |||||
| @v) il (_ @L | |||||
| @) ila (_ 'Il@ | |||||
| ?3 &) ile (_$w_alt2 @L | |||||
| _C) i (lage aI | |||||
| _d) i (lat %aI | |||||
| l) il (ah_ aIl | |||||
| _m) i (ld aI | |||||
| _w) i (ld aI | |||||
| ch) i (ld aI | |||||
| w) i (lderC I | |||||
| ch) i (ldr I | |||||
| sacr) ile IlI | |||||
| i (leA I | |||||
| &) ile (ge @lI | |||||
| il (ise @l | |||||
| il (ize @l | |||||
| s) i (len aI | |||||
| C) i (ler aI | |||||
| _) il (l@ %Il | |||||
| @) illa (_ 'Il@ | |||||
| &) illard (_ i:A: | |||||
| _) il (ln Il | |||||
| @) i (less I | @) i (less I | ||||
| _) il (lust Il | |||||
| _C) i (lo aI | |||||
| &) ily (_S2i l%I | |||||
| @) i (ness I | @) i (ness I | ||||
| i (o I2 | i (o I2 | ||||
| _) i (o aI | _) i (o aI | ||||
| ize (_ aIz | ize (_ aIz | ||||
| ial) ize (_S3 aIz | ial) ize (_S3 aIz | ||||
| ize (d_ aIz | ize (d_ aIz | ||||
| i (zen I2 | |||||
| i (zen I | |||||
| iz (er_ aIz | iz (er_ aIz | ||||
| i (zon_ 'aI | i (zon_ 'aI | ||||
| _p) izz i:t|s | _p) izz i:t|s | ||||
| &n) iel (_ j@L | &n) iel (_ j@L | ||||
| &r) iel (_ =i:@L | &r) iel (_ =i:@L | ||||
| ie (n i@ | ie (n i@ | ||||
| &) ie (n_ =i@n | |||||
| d) iene (_ 'aIi:n | d) iene (_ 'aIi:n | ||||
| ie (ntal I'E | ie (ntal I'E | ||||
| g) ie (n i: | g) ie (n i: | ||||
| igu (e 'i:g | igu (e 'i:g | ||||
| igu (_ 'i:g | igu (_ 'i:g | ||||
| .group il | |||||
| @b) il (_ @L | |||||
| @Cc) il (_ @L | |||||
| @p) il (_ @L | |||||
| @r) il (_ @L | |||||
| @s) il (_ @L | |||||
| nt) il (_ @L | |||||
| @v) il (_ @L | |||||
| @) ila (_ 'Il@ | |||||
| ?3 &) ile (_$w_alt2 @L | |||||
| _C) il (age aIl | |||||
| _d) il (at %aIl | |||||
| l) il (ah_ aIl | |||||
| _m) il (d aIl | |||||
| _w) il (d aIl | |||||
| ch) il (d aIl | |||||
| w) il (derC Il | |||||
| ch) il (dr Il | |||||
| sacr) ile IlI | |||||
| il (eA Il | |||||
| &) ile (ge @lI | |||||
| il (ise @l | |||||
| il (ize @l | |||||
| s) il (en aIl | |||||
| C) il (er aIl | |||||
| _) il (l@ %Il | |||||
| @) illa (_ 'Il@ | |||||
| &) illard (_ i:A: | |||||
| _) il (ln Il | |||||
| _) il (lust Il | |||||
| _C) il (o aIl | |||||
| &) ily (_S2i l%I | |||||
| .group im | .group im | ||||
| &) im (_ I#m | &) im (_ I#m | ||||
| cl) im aIm | cl) im aIm | ||||
| imm (in Im | imm (in Im | ||||
| immo (bi Im'oU | immo (bi Im'oU | ||||
| imm (unis Im | imm (unis Im | ||||
| _) immu (no I2mju: | |||||
| @) imous (_ =Im@s | @) imous (_ =Im@s | ||||
| im (pac Im | im (pac Im | ||||
| im (pecu ,Im | im (pecu ,Im | ||||
| in (ga_ 'IN | in (ga_ 'IN | ||||
| in (got IN | in (got IN | ||||
| _) in (gro IN | _) in (gro IN | ||||
| _) in (im I2n | |||||
| _) in (jur In | _) in (jur In | ||||
| _) in (k IN | _) in (k IN | ||||
| _) in (l In | _) in (l In | ||||
| @) istan (_ =Istan | @) istan (_ =Istan | ||||
| @) istani (_ Ist'A:nI | @) istani (_ Ist'A:nI | ||||
| @) iste (_ 'i:st | @) iste (_ 'i:st | ||||
| @) is (tic 'Is | |||||
| @) is (tic_ 'Is | |||||
| r) is (y_ =@s | r) is (y_ =@s | ||||
| betr) oth oUD | betr) oth oUD | ||||
| ?3 cl) o (th O | ?3 cl) o (th O | ||||
| cl) othe oUD | cl) othe oUD | ||||
| tr) othe oUD | |||||
| b) o (ther 0 | b) o (ther 0 | ||||
| _r) o (ther 0 | _r) o (ther 0 | ||||
| o (ther+ V | o (ther+ V | ||||
| dr) on (_ @n | dr) on (_ @n | ||||
| or) on (_ 0n | or) on (_ 0n | ||||
| cr) on (_ 0n | cr) on (_ 0n | ||||
| x) on (_+ 0n | |||||
| @x) on (_ @n | |||||
| phot) on @n | phot) on @n | ||||
| pers) on @n | pers) on @n | ||||
| pers) on (i '0n | pers) on (i '0n | ||||
| .group or | .group or | ||||
| or o@ | or o@ | ||||
| _) or O@ | _) or O@ | ||||
| _) organo (@P6 O@g,anoU | |||||
| or (ch_ O@ | or (ch_ O@ | ||||
| or (m_ O@ | or (m_ O@ | ||||
| st) or (m o@ | st) or (m o@ | ||||
| ?5 _) sur sVR | ?5 _) sur sVR | ||||
| _) sure SU@ | _) sure SU@ | ||||
| sur (anc SU@ | sur (anc SU@ | ||||
| sur (g+ s3: | |||||
| sur (m s3 | sur (m s3 | ||||
| sur (pa s3 | sur (pa s3 | ||||
| sur (pr s3 | sur (pr s3 | ||||
| te (rrest t2@ | te (rrest t2@ | ||||
| r) tga (g gI | r) tga (g gI | ||||
| @) t (ia S | @) t (ia S | ||||
| _pi) t (ia t | |||||
| s) t (l | s) t (l | ||||
| to (morr t@ | to (morr t@ | ||||
| _) to (nn tV | _) to (nn tV | ||||
| tribe traIb | tribe traIb | ||||
| _) tri (bu trI | _) tri (bu trI | ||||
| _) tri (g trI | _) tri (g trI | ||||
| _) tri (gonA trI | |||||
| _) tri (ni trI | _) tri (ni trI | ||||
| _) tri (vi trI | _) tri (vi trI | ||||
| _) tri (xA trI | _) tri (xA trI | ||||
| _) tsu tsu: | _) tsu tsu: | ||||
| _) two tu: | _) two tu: | ||||
| ttu (r t@ | ttu (r t@ | ||||
| @) tu (al tSu: | |||||
| @) tu (at tSu: | |||||
| _sta) tu tSu: | |||||
| ?3 _sta) tu (to tS@ | |||||
| c) tu (al_ =tSu: | |||||
| r) tue (_ tSu: | |||||
| ?3 tu (la_ tS@ | |||||
| @) tu (lat =tSU | |||||
| ?3 tu (Ant tSu: | |||||
| ?3 tu (Ancy tSu: | |||||
| tu (ous tSu: | |||||
| @) tur (A tS@r | |||||
| @) tur (al_ tS=@r | |||||
| &) tur (y tS@r | |||||
| &) tur (_ tS3 | |||||
| &) ture (_ tS3 | |||||
| tz ts | tz ts | ||||
| tze (_ tsi | tze (_ tsi | ||||
| &) tious S=@s | &) tious S=@s | ||||
| AC) tive (_ =tIv | AC) tive (_ =tIv | ||||
| .group tu | |||||
| @) tu (al tSu: | |||||
| @) tu (at tSu: | |||||
| _sta) tu tSu: | |||||
| ?3 _sta) tu (to tS@ | |||||
| c) tu (al_ =tSu: | |||||
| r) tue (_ tSu: | |||||
| ?3 tu (la_ tS@ | |||||
| @) tu (lat =tSU | |||||
| ?3 tu (Ant tSu: | |||||
| ?3 tu (Ancy tSu: | |||||
| tu (ous tSu: | |||||
| @) tur (A tS@r | |||||
| @) tur (al_ tS=@r | |||||
| &) tur (y tS@r | |||||
| &) tur (_ tS3 | |||||
| &) ture (_ tS3 | |||||
| .group u | .group u | ||||
| u V | u V | ||||
| man) u ju: | man) u ju: | ||||
| ö 3: | ö 3: | ||||
| ör 3: | ör 3: | ||||
| ü u: | ü u: | ||||
| û u: | |||||
| ç s | ç s | ||||
| ß s | ß s | ||||
| č tS | č tS |
| // names of symbols | // names of symbols | ||||
| ª a | ª a | ||||
| º o | º o | ||||
| ° grados | |||||
| _. punto | _. punto | ||||
| _, koma | _, koma | ||||
| _; p,untoik'oma | _; p,untoik'oma | ||||
| _#º o | _#º o | ||||
| _#ª a | _#ª a | ||||
| _ord o | _ord o | ||||
| ºc gr'ados||T'e | |||||
| ºf gr'ados||'Efe | |||||
| ºk gr'ados||k'a | |||||
| _1o prim'Er | _1o prim'Er | ||||
| _2o seQ'und | _2o seQ'und |
| | |||||
| // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| y ipsilon | y ipsilon | ||||
| z z@ | z z@ | ||||
| ž Z@ | ž Z@ | ||||
| а a | |||||
| б b@ | |||||
| ц ts@ | |||||
| ћ tS;@2 | |||||
| ч tS@ | |||||
| џ dZ@ | |||||
| ѕ dz@ | |||||
| д d@ | |||||
| ђ dZ;@2 | |||||
| е E | |||||
| ф f@ | |||||
| г g@ | |||||
| х x@ | |||||
| и i | |||||
| ј j@2 | |||||
| к k@ | |||||
| љ l^@ | |||||
| л l@ | |||||
| м m@ | |||||
| њ n^@ | |||||
| н n@ | |||||
| о o | |||||
| п p@ | |||||
| р R@ | |||||
| _с s@ | |||||
| ш S@ | |||||
| т t@ | |||||
| у u | |||||
| в v@ | |||||
| з z@ | |||||
| ж Z@ | |||||
| ѓ dZ;@2 | |||||
| ќ tS;@2 | |||||
| ё jo | |||||
| й kr,atko||'i | |||||
| щ StS;@2 | |||||
| ъ tvR2d'i||zn,ak | |||||
| ы jeri | |||||
| ь m'eki||z,nak | |||||
| э e | |||||
| ю ju | |||||
| я ja | |||||
| _á $accent | _á $accent | ||||
| _é $accent | _é $accent | ||||
| _ó $accent | _ó $accent | ||||
| _ú $accent | _ú $accent | ||||
| _ar 'Arapsko | |||||
| _cyr tS;'iRilitsa | |||||
| // accent names | // accent names | ||||
| _lig l'ig&t,UR& | _lig l'ig&t,UR& | ||||
| _acu 'akUt | _acu 'akUt |
| | |||||
| // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | // "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage | ||||
| // This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
| .group d | .group d | ||||
| d d | d d | ||||
| dz dz | dz dz | ||||
| _) dz (_ dz@ | |||||
| dž dZ | dž dZ | ||||
| _) dž (_ dZ@ | |||||
| .group đ | .group đ | ||||
| đ dZ; | đ dZ; | ||||
| .group l | .group l | ||||
| l l | l l | ||||
| K) l (K l- | K) l (K l- | ||||
| _) lj (_ l^@ | |||||
| lj (+ l^ | lj (+ l^ | ||||
| v) lj lj | v) lj lj | ||||
| n (k N | n (k N | ||||
| nj n^ | nj n^ | ||||
| _) nj (_ n^@ | |||||
| .group o | .group o | ||||
| o o | o o |
| श S@ | श S@ | ||||
| ष s.@ // retroflex [S] | ष s.@ // retroflex [S] | ||||
| स s@ | स s@ | ||||
| ह H@- | |||||
| ह H@ | |||||
| क़ q@ | क़ q@ | ||||
| ख़ x@ | ख़ x@ | ||||
| ग़ Q@ | ग़ Q@ | ||||
| _?? Vks.@r | _?? Vks.@r | ||||
| // Alphabet names | |||||
| _ar 'Vrbi | |||||
| _cyr sIrIk'Ik | |||||
| _zh c'i@ni | |||||
| // Punctuation | // Punctuation | ||||
| । dVn.d.V | । dVn.d.V | ||||
| $ dOl@r | |||||
| % pVt'IS@t | |||||
| + plVs | |||||
| = bVr'a:b@r | |||||
| * ta:r'a:Nk@n | |||||
| * | |||||
| // Pronouns | // Pronouns | ||||
| मैं $u // main: IrI | मैं $u // main: IrI | ||||
| मुझे $u | मुझे $u | ||||
| को $u // ko: to | को $u // ko: to | ||||
| तक $u // tak: until, for(time) | तक $u // tak: until, for(time) | ||||
| बिना $u $pause // without (preposition) | बिना $u $pause // without (preposition) | ||||
| में $u // me: in | |||||
| में me~: $u+ // me: in | |||||
| से $u // se: from, with, by | से $u // se: from, with, by | ||||
| // Conjunctions | // Conjunctions | ||||
| और $u $pause // aur: and | |||||
| और $u $brk // aur: and | |||||
| य j@ $u $pause // ja: or | य j@ $u $pause // ja: or | ||||
| अगर $u $pause // agar: if | अगर $u $pause // agar: if | ||||
| यदि $u $pause // yadi: if, whether | यदि $u $pause // yadi: if, whether | ||||
| // Exceptions | // Exceptions | ||||
| क्रिकेट krIk'Et | |||||
| क्रिकेट kr'IkIt | |||||
| सायबर s'aIb@r | सायबर s'aIb@r |
| ः H // visarga | ः H // visarga | ||||
| .group ् // virama | .group ् // virama | ||||
| ् | |||||
| ् | |||||
| // Extra consonants | // Extra consonants | ||||
| ज़ zV | ज़ zV | ||||
| ज़ (B z | ज़ (B z | ||||
| .group ड़ // dddha (should retroflex flap) | |||||
| .group ड़ // dddha (should retroflex flap ?) | |||||
| ड़ r.V | ड़ r.V | ||||
| ड़ (B r. | ड़ (B r. | ||||
| .group | |||||
| $ dOlV | |||||
| % pVsEnt | |||||
| // This file is UTF-8 encoded | |||||
| // This file is UTF-8 encoded | |||||
| // $alt change [e] or [o] in the stressed syllable to [E] or [O] | // $alt change [e] or [o] in the stressed syllable to [E] or [O] | ||||
| # kantSellet:o | # kantSellet:o | ||||
| @ ki'otS:ola | @ ki'otS:ola | ||||
| ~ tilde | ~ tilde | ||||
| ° g@-*'a:di | |||||
| : d,uep'unti | : d,uep'unti | ||||
| _! p,untoesklamat'ivo | _! p,untoesklamat'ivo |
| _0C p'Eq_! | _0C p'Eq_! | ||||
| // Larger numbers | // Larger numbers | ||||
| _0M0 tS'h-@n // 10^3 | |||||
| _1M0 tS'h-@n | |||||
| _0M0 tS'h@n // 10^3 | |||||
| _1M0 tS'h@n | |||||
| _0M1 m'an // 10^4 | _0M1 m'an // 10^4 | ||||
| _1M1 m'an | _1M1 m'an | ||||
| _0M2 '@q // 10^8 | _0M2 '@q // 10^8 | ||||
| ᄋ i;'u-N | ᄋ i;'u-N | ||||
| ᄌ tS;i;'u-t | ᄌ tS;i;'u-t | ||||
| ᄍ 's-aNdZ;,i;u-t | ᄍ 's-aNdZ;,i;u-t | ||||
| ᄎ tSh-'i;u-t | |||||
| ᄎ tSh'i;u-t | |||||
| ᄏ khi;'u-k | ᄏ khi;'u-k | ||||
| ᄐ thi;'u-t- | ᄐ thi;'u-t- | ||||
| ᄑ phi;'u-p | ᄑ phi;'u-p |
| ᄍ 'tS;- // TODO: phoneme | ᄍ 'tS;- // TODO: phoneme | ||||
| .group ᄎ // ㅊ | .group ᄎ // ㅊ | ||||
| ᄎ tSh- // TODO: phoneme | |||||
| ᄎ tSh // TODO: phoneme | |||||
| .group ᄂ // ㄴ | .group ᄂ // ㄴ | ||||
| ᄂ ;n | ᄂ ;n | ||||
| ᇀᄂ nn | ᇀᄂ nn | ||||
| ᇀᄆ mm | ᇀᄆ mm | ||||
| ᇀ (A th | ᇀ (A th | ||||
| ᇀ (L02 tSh; | |||||
| ᇀ (L02 tS;h | |||||
| .group ᆸ // ㅂ | .group ᆸ // ㅂ | ||||
| ᆸ p | ᆸ p | ||||
| ᆾ t | ᆾ t | ||||
| ᆾᄂ nn | ᆾᄂ nn | ||||
| ᆾᄆ mm | ᆾᄆ mm | ||||
| ᆾ (A tSh; | |||||
| ᆾ (A tS;h | |||||
| .group ᆫ // ㄴ | .group ᆫ // ㄴ | ||||
| ᆫ n | ᆫ n |
| .group 0xe0a4 // devanagari | |||||
| 0xe0a4 _^_HI // switch to hindi voice | |||||
| .group 0xe0a5 // devanagari | |||||
| 0xe0a5 _^_HI | |||||
| .group | .group | ||||
| $ do:l.ar | $ do:l.ar |
| | |||||
| // This file in UTF8 encoded | // This file in UTF8 encoded | ||||
| // $alt2, remove s from plural, remove en from plural | // $alt2, remove s from plural, remove en from plural | ||||
| // punctuation | // punctuation | ||||
| . p8nt $max3 | |||||
| . p8nt | |||||
| _, k'Oma: | _, k'Oma: | ||||
| _: d'8b@l@p,8nt | _: d'8b@l@p,8nt | ||||
| _; p'8ntkOm,a: | _; p'8ntkOm,a: | ||||
| _{ v'irkAnt@h,a:k | _{ v'irkAnt@h,a:k | ||||
| _} v'irkAnt@h,a:ksl'Wyt@n | _} v'irkAnt@h,a:ksl'Wyt@n | ||||
| _- k'OpElt,e:k@n | _- k'OpElt,e:k@n | ||||
| + pl'8s $max3 | |||||
| * st'E*rEt;@ $max3 | |||||
| + pl'8s | |||||
| * st'E*rEt;@ | |||||
| = Q@l'EIkte:k@n | |||||
| __ l'IgEntst@-*'e:pj@ | __ l'IgEntst@-*'e:pj@ | ||||
| € 'Y:*o:t,e:k@n | € 'Y:*o:t,e:k@n | ||||
| ° Qra:d@n | |||||
| // numbers | // numbers | ||||
| // abbreviations | // abbreviations | ||||
| be $abbrev // used as domain abbrev for Belgium and in a lot of other names | be $abbrev // used as domain abbrev for Belgium and in a lot of other names | ||||
| ca ka: $hasdot | |||||
| enz Enzo:vo:rt | enz Enzo:vo:rt | ||||
| bvb bEIv'o:rbe:lt | bvb bEIv'o:rbe:lt | ||||
| eu e:_y: $abbrev | eu e:_y: $abbrev | ||||
| schepen $alt | schepen $alt | ||||
| steven $alt | steven $alt | ||||
| teken $alt | teken $alt | ||||
| volwassen $alt | |||||
| wapen $alt | wapen $alt | ||||
| zegen $alt | zegen $alt | ||||
| trokken $alt | trokken $alt |
| // Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant | // Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant | ||||
| .L01 g k | .L01 g k | ||||
| .L02 _ t_ d_ de_ den_ // verb endings | |||||
| .L02 _ t_ d_ de_ den_ nen_ // verb endings ('nen' for 'scannen') | |||||
| .group a | .group a | ||||
| g Q // ph_dutch changes to [x] before unvoiced, NULL after [x] | g Q // ph_dutch changes to [x] before unvoiced, NULL after [x] | ||||
| gg Q | gg Q | ||||
| s) g x | s) g x | ||||
| @) gi (eus Z | |||||
| @) gi (euz Z | |||||
| reli) gi (eu Qij | |||||
| .group ge | |||||
| _) ge (@P2 Q@ | _) ge (@P2 Q@ | ||||
| ge (bied Q@ | ge (bied Q@ | ||||
| _) gee Qe: | _) gee Qe: | ||||
| _) gei QEI | _) gei QEI | ||||
| gener (aal Q,e:n@r | gener (aal Q,e:n@r | ||||
| _) gelijk Q@lEIk | _) gelijk Q@lEIk | ||||
| _) ge (lC QE | |||||
| _) ge (rC QE | _) ge (rC QE | ||||
| _) geu QY: | _) geu QY: | ||||
| _) ge (ven Qe: | _) ge (ven Qe: | ||||
| ge (sprek Q@ // in compounds | ge (sprek Q@ // in compounds | ||||
| @) gi (eus Z | |||||
| @) gi (euz Z | |||||
| reli) gi (eu Qij | |||||
| .group h | .group h | ||||
| h h | h h | ||||
| _) herinn h%ErIn // herinneren | _) herinn h%ErIn // herinneren | ||||
| _) hersen h'Ers@n | _) hersen h'Ers@n | ||||
| &) heid (_S4 hEIt | &) heid (_S4 hEIt | ||||
| _) hulp (@@P4 h'8lp | |||||
| .group i | .group i | ||||
| pl) oi (t v#A | pl) oi (t v#A | ||||
| c) oi (ffu v#A | c) oi (ffu v#A | ||||
| pr) o (gram o: | pr) o (gram o: | ||||
| omgeving OmQ'e:vIN | |||||
| oo (X 'o: | oo (X 'o: | ||||
| oon 'o:n // in compounds, eg. telefoongesprek | oon 'o:n // in compounds, eg. telefoongesprek | ||||
| oo (C_ 'o: | oo (C_ 'o: | ||||
| _) oost (@P4 o:st | _) oost (@P4 o:st | ||||
| _) op (@@P2 'Op | _) op (@@P2 'Op | ||||
| _) open (@P4 'o:p@n | _) open (@P4 'o:p@n | ||||
| _) op (enen 'o:p | |||||
| _) op (enen+ 'o:p | |||||
| _) openings (P8 'o:p@nINs | _) openings (P8 'o:p@nINs | ||||
| _) op (era 'o:p | _) op (era 'o:p | ||||
| _) op (tion Op | _) op (tion Op |
| eles $u+ $verbf | eles $u+ $verbf | ||||
| elas $u+ $verbf | elas $u+ $verbf | ||||
| me $u // reflexive | |||||
| me $u $verbf | |||||
| me $u $verbf // reflexive | |||||
| te $u $verbf | te $u $verbf | ||||
| nos $u $nounf | nos $u $nounf | ||||
| la $u | la $u | ||||
| ?2 nesta $u+ $nounf | ?2 nesta $u+ $nounf | ||||
| ?2 neste $u+ $nounf n'estSi //in this | ?2 neste $u+ $nounf n'estSi //in this | ||||
| ?2 esse $u+ $nounf 'esi // that | ?2 esse $u+ $nounf 'esi // that | ||||
| essa 'Es& $u+ | |||||
| essa 'Es& $u+ $noun | |||||
| desse $u+ $nounf | desse $u+ $nounf | ||||
| desta $nounf | desta $nounf | ||||
| nesse n'esy $u+ $nounf | nesse n'esy $u+ $nounf | ||||
| duns $u $nounf | duns $u $nounf | ||||
| dumas $u $nounf | dumas $u $nounf | ||||
| em $u // in,on,at | |||||
| em $u $noun // in,on,at | |||||
| no nu $u $nounf | no nu $u $nounf | ||||
| na $u $nounf | na $u $nounf | ||||
| num $u $nounf | num $u $nounf | ||||
| // conjunctions | // conjunctions | ||||
| ?1 e i $u // and | ?1 e i $u // and | ||||
| ?2 e i $u // and | ?2 e i $u // and | ||||
| se $u // if | |||||
| se $u+ $verbf // if | |||||
| ?2 mas $u // but | ?2 mas $u // but | ||||
| estava $u | estava $u | ||||
| estávamos $u | estávamos $u | ||||
| astavam $u | |||||
| estavam $u | |||||
| estive $u | estive $u | ||||
| ?2 esteve estevy $u2 | ?2 esteve estevy $u2 | ||||
| // some common adjectives and adverbs | // some common adjectives and adverbs | ||||
| alguns $u // some | |||||
| algumas $u // some | |||||
| não n,&U~ $strend // not | |||||
| alguns $u $noun // some | |||||
| algumas $u $noun // some | |||||
| não n,&U~ $verbf $strend // not | |||||
| nunca $u+ $verbf | |||||
| sempre $u+ $verbf | |||||
| qualquer $u $nounf | |||||
| quaisquer $u $nounf | |||||
| jamais $u+ $verbf | |||||
| // MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
| adepto $alt | adepto $alt | ||||
| adore $alt | adore $alt | ||||
| adorno $alt $verb | adorno $alt $verb | ||||
| aeroporto $alt2 | |||||
| aeroportos $alt | |||||
| albatrozes $alt | albatrozes $alt | ||||
| alcateia $alt | alcateia $alt | ||||
| alcova $alt2 | |||||
| alferes $alt | alferes $alt | ||||
| algozes $alt | algozes $alt | ||||
| alicerce $alt | |||||
| almoço $alt $verb | almoço $alt $verb | ||||
| amarelo $alt | |||||
| ameba $alt | ameba $alt | ||||
| amores $alt2 | amores $alt2 | ||||
| antonieta $alt2 | antonieta $alt2 | ||||
| apego $alt2 $noun | apego $alt2 $noun | ||||
| apelo $alt $verb | |||||
| apelo $alt2 $noun | |||||
| aposto $alt $verb | aposto $alt $verb | ||||
| aperto $alt2 $noun | aperto $alt2 $noun | ||||
| apneia $alt | apneia $alt | ||||
| arroz $alt2 | arroz $alt2 | ||||
| assembleia $alt | assembleia $alt | ||||
| ateia $alt | ateia $alt | ||||
| aterro $alt2 $noun | |||||
| aterros $alt2 | |||||
| aterro $alt2 | |||||
| aterro $alt $verb | |||||
| atmosfera $alt | atmosfera $alt | ||||
| atrozes $alt | atrozes $alt | ||||
| autora $alt2 | autora $alt2 | ||||
| azedo $alt $verb | azedo $alt $verb | ||||
| baqueta $alt2 | baqueta $alt2 | ||||
| beco $alt2 | beco $alt2 | ||||
| belo $alt | |||||
| besta $alt2 | besta $alt2 | ||||
| bilhete $alt2 | bilhete $alt2 | ||||
| boca $alt2 | boca $alt2 | ||||
| boceta $alt2 | |||||
| bochecha $alt2 | bochecha $alt2 | ||||
| bojo $alt2 | bojo $alt2 | ||||
| boleia $alt | boleia $alt | ||||
| bolo $alt $verb | bolo $alt $verb | ||||
| borboleta $alt2 | borboleta $alt2 | ||||
| bordo $alt | bordo $alt | ||||
| borra $alt2 $noun | |||||
| bosque $alt | bosque $alt | ||||
| boto $alt2 $noun | boto $alt2 $noun | ||||
| boxe $alt | |||||
| brejo $alt | |||||
| bromelha $alt | bromelha $alt | ||||
| cabelo $alt2 | |||||
| cabresto $alt2 | cabresto $alt2 | ||||
| cacete $alt2 | cacete $alt2 | ||||
| cachorra $alt2 | cachorra $alt2 | ||||
| caderneta $alt2 | caderneta $alt2 | ||||
| cadete $alt2 | cadete $alt2 | ||||
| camelha $alt | |||||
| camelo $alt2 | |||||
| caminhonete $alt | |||||
| camiseta $alt2 | camiseta $alt2 | ||||
| cantora $alt2 | cantora $alt2 | ||||
| capacete $alt2 | capacete $alt2 | ||||
| caractere $alt | caractere $alt | ||||
| caramelo $alt | |||||
| carbureto $alt2 | |||||
| careta $alt2 | careta $alt2 | ||||
| carreta $alt2 | carreta $alt2 | ||||
| carroça $alt | carroça $alt | ||||
| casebre $alt | casebre $alt | ||||
| castelo $alt | |||||
| cateto $alt2 | cateto $alt2 | ||||
| catorze $alt2 | catorze $alt2 | ||||
| cebola $alt2 | cebola $alt2 | ||||
| cefaleia $alt | cefaleia $alt | ||||
| centopeia $alt | |||||
| centopeia $alt | |||||
| cerca $alt | cerca $alt | ||||
| cerca $alt2 $noun | cerca $alt2 $noun | ||||
| cerco $alt $verb | cerco $alt $verb | ||||
| chamego $alt2 | chamego $alt2 | ||||
| chefe $alt | chefe $alt | ||||
| checam $alt | checam $alt | ||||
| cheque $alt | |||||
| chinelo $alt | |||||
| choro $alt2 $noun | choro $alt2 $noun | ||||
| chovesse $alt2 | chovesse $alt2 | ||||
| chupeta $alt2 | chupeta $alt2 | ||||
| clero $alt | clero $alt | ||||
| coco $alt2 | coco $alt2 | ||||
| cofre $alt | cofre $alt | ||||
| cogumelo $alt | |||||
| coice $alt2 | coice $alt2 | ||||
| colabore $alt | colabore $alt | ||||
| colete $alt2 | colete $alt2 | ||||
| concertos $alt2 | concertos $alt2 | ||||
| concordo $alt | concordo $alt | ||||
| conforto $alt $verb | conforto $alt $verb | ||||
| congelo $alt | |||||
| console $alt2 $noun | |||||
| consolo $alt2 $noun | consolo $alt2 $noun | ||||
| controle $alt2 $noun | controle $alt2 $noun | ||||
| controles $alt2 | |||||
| controles $alt $verb | |||||
| controlo $alt2 $noun | controlo $alt2 $noun | ||||
| coreia $alt | coreia $alt | ||||
| coreto $alt2 | coreto $alt2 | ||||
| corveta $alt2 | corveta $alt2 | ||||
| corvos $alt | corvos $alt | ||||
| coto $alt2 | coto $alt2 | ||||
| cotovelo $alt2 | |||||
| cratera $alt | cratera $alt | ||||
| crede $alt2 | crede $alt2 | ||||
| crepe $alt | crepe $alt | ||||
| decore $alt | decore $alt | ||||
| degelo $alt2 | |||||
| desapego $alt2 $noun | desapego $alt2 $noun | ||||
| descabelo $alt | |||||
| descordo $alt | descordo $alt | ||||
| desemprego $alt2 | desemprego $alt2 | ||||
| desemprego $alt $verb | desemprego $alt $verb | ||||
| desespero $alt2 $noun | desespero $alt2 $noun | ||||
| desfecho $alt2 | desfecho $alt2 | ||||
| desmantelo $alt $verb | |||||
| desmantelo $alt2 $noun | |||||
| desporto $alt2 | |||||
| desportos $alt | |||||
| 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 | |||||
| destroem $alt | |||||
| deveras $alt | deveras $alt | ||||
| dez $alt | dez $alt | ||||
| diarreia $alt | diarreia $alt | ||||
| diego $alt2 | |||||
| discordo $alt | discordo $alt | ||||
| dobro $alt2 $noun | dobro $alt2 $noun | ||||
| doce $alt2 | doce $alt2 | ||||
| doutora $alt2 | doutora $alt2 | ||||
| droga $alt | droga $alt | ||||
| duelo $alt | |||||
| dueto $alt2 | dueto $alt2 | ||||
| elixir eliSir | elixir eliSir | ||||
| elo $alt | |||||
| emprego $alt2 $noun | emprego $alt2 $noun | ||||
| empregos $alt2 | empregos $alt2 | ||||
| encosto $alt $verb | encosto $alt $verb | ||||
| enforco $alt | enforco $alt | ||||
| engordo $alt | engordo $alt | ||||
| enredo $alt $verb | enredo $alt $verb | ||||
| enrosco $alt $verb | |||||
| enrosco $alt $verb | |||||
| enterro $alt2 $noun | enterro $alt2 $noun | ||||
| enumerem $alt | enumerem $alt | ||||
| envelope $alt | envelope $alt | ||||
| envolto $alt2 | envolto $alt2 | ||||
| enxaqueca $alt2 | |||||
| enxerto $alt2 $noun | enxerto $alt2 $noun | ||||
| epopeia $alt | epopeia $alt | ||||
| eritreia $alt | eritreia $alt | ||||
| erro $alt2 $noun | |||||
| erros $alt2 | |||||
| erro $alt2 | |||||
| erro $alt $verb | |||||
| esboço $alt $verb | esboço $alt $verb | ||||
| escopeta $alt2 | escopeta $alt2 | ||||
| escova $alt2 $noun | escova $alt2 $noun | ||||
| escovas $alt2 | |||||
| escovas $alt2 | |||||
| escovo $alt | escovo $alt | ||||
| escroto $alt2 | escroto $alt2 | ||||
| esforço $alt $verb | esforço $alt $verb | ||||
| esforços $alt | esforços $alt | ||||
| esgoto $alt2 $noun | |||||
| esgotos $alt2 | |||||
| esgoto $alt2 | |||||
| esgoto $alt $verb | |||||
| esperma $alt | esperma $alt | ||||
| espeto $alt2 $noun | espeto $alt2 $noun | ||||
| espiroqueta $alt2 | espiroqueta $alt2 | ||||
| espoleta $alt2 | espoleta $alt2 | ||||
| esposa $alt2 | esposa $alt2 | ||||
| esqueleto $alt2 | esqueleto $alt2 | ||||
| estilete $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 | |||||
| europeia $alt | |||||
| exagero $alt $verb | exagero $alt $verb | ||||
| explore $alt | explore $alt | ||||
| faceta $alt2 | faceta $alt2 | ||||
| fantoche $alt | |||||
| farelo $alt | |||||
| fantoche $alt | |||||
| farofa $alt | farofa $alt | ||||
| farolete $alt2 | |||||
| febre $alt | febre $alt | ||||
| fera $alt | fera $alt | ||||
| feitora $alt2 | feitora $alt2 | ||||
| ferozes $alt | ferozes $alt | ||||
| fezes $alt | fezes $alt | ||||
| filete $alt2 | |||||
| ?1 fixe fiSy | ?1 fixe fiSy | ||||
| foda $alt2 $verb | foda $alt2 $verb | ||||
| folheto $alt2 | |||||
| folga $alt | |||||
| fogos $alt | fogos $alt | ||||
| foguete $alt2 | foguete $alt2 | ||||
| foice $alt2 | foice $alt2 | ||||
| folheto $alt2 | |||||
| fora $alt | fora $alt | ||||
| fora $alt2 $verb | fora $alt2 $verb | ||||
| forca $alt2 | forca $alt2 | ||||
| força $alt2 $noun | força $alt2 $noun | ||||
| forças $alt2 | forças $alt2 | ||||
| forço $alt | forço $alt | ||||
| formos $alt2 | |||||
| forro $alt $verb | forro $alt $verb | ||||
| frevo $alt2 | frevo $alt2 | ||||
| fulgores $alt2 | |||||
| galera $alt | galera $alt | ||||
| galileia $alt | galileia $alt | ||||
| gameta $alt2 | gameta $alt2 | ||||
| garçonete $alt2 | |||||
| geleia $alt | geleia $alt | ||||
| gelo $alt2 | |||||
| gelo $alt $verb | gelo $alt $verb | ||||
| genebra $alt | genebra $alt | ||||
| germe $alt | |||||
| gesso $alt2 | gesso $alt2 | ||||
| golpe $alt | golpe $alt | ||||
| gonorreia $alt | gonorreia $alt | ||||
| hoje $alt2 | hoje $alt2 | ||||
| horrores $alt2 | horrores $alt2 | ||||
| ideia $alt | ideia $alt | ||||
| interesse $alt2 $noun | |||||
| imberbe $alt | |||||
| interesse $alt2 | |||||
| interesse $alt $verb | |||||
| jogo $alt2 $noun | jogo $alt2 $noun | ||||
| joguete $alt2 | joguete $alt2 | ||||
| lagosta $alt2 | lagosta $alt2 | ||||
| lambreta $alt2 | lambreta $alt2 | ||||
| lanchonete $alt | |||||
| lebre $alt | lebre $alt | ||||
| lembrete $alt2 | lembrete $alt2 | ||||
| lepra $alt | |||||
| leste $alt2 $verb | leste $alt2 $verb | ||||
| lingueta $alt2 | |||||
| lopes $alt | lopes $alt | ||||
| macete $alt2 | macete $alt2 | ||||
| maior $alt | maior $alt | ||||
| maleta $alt2 | maleta $alt2 | ||||
| marcelo $alt | |||||
| marmelo $alt | |||||
| marionete $alt | |||||
| marreta $alt2 | marreta $alt2 | ||||
| martelo $alt | |||||
| megera $alt | |||||
| melhor $alt | melhor $alt | ||||
| menor $alt | menor $alt | ||||
| merda $alt | |||||
| megera $alt | |||||
| melo $alt | |||||
| mentora $alt2 | mentora $alt2 | ||||
| merda $alt | |||||
| meta $alt $noun | meta $alt $noun | ||||
| meteoro $alt | meteoro $alt | ||||
| metro $alt | metro $alt | ||||
| minueto $alt2 | minueto $alt2 | ||||
| miolo $alt2 | miolo $alt2 | ||||
| miolos $alt | miolos $alt | ||||
| modelo $alt2 | |||||
| modelo $alt $verb | |||||
| moeda $alt | moeda $alt | ||||
| mofo $alt $verb | |||||
| moem $alt | |||||
| mofo $alt $verb | |||||
| molho $alt2 $noun | molho $alt2 $noun | ||||
| monera $alt | monera $alt | ||||
| morcego $alt2 | morcego $alt2 | ||||
| naquela $nounf | naquela $nounf | ||||
| naquele $alt2 $nounf | naquele $alt2 $nounf | ||||
| nervo $alt2 | nervo $alt2 | ||||
| nojo $alt2 | |||||
| novelo $alt2 | |||||
| novos $alt | novos $alt | ||||
| obstetra $alt | obstetra $alt | ||||
| odisseia $alt | odisseia $alt | ||||
| onu $1 | onu $1 | ||||
| olho $alt2 $noun | |||||
| onomatopeia $alt | |||||
| olho $alt2 $noun | |||||
| olhos $alt | |||||
| onomatopeia $alt | |||||
| opereta $alt2 | opereta $alt2 | ||||
| ordens $alt | ordens $alt | ||||
| osso $alt2 | osso $alt2 | ||||
| palheta $alt2 | palheta $alt2 | ||||
| panfleto $alt2 | panfleto $alt2 | ||||
| pangeia $alt | pangeia $alt | ||||
| panqueca p,&~Nk'Ek& | |||||
| pantera $alt | pantera $alt | ||||
| paralelo $alt | |||||
| parede $alt2 | parede $alt2 | ||||
| pastora $alt2 | pastora $alt2 | ||||
| patinete $alt | |||||
| pedra $alt | pedra $alt | ||||
| pela $alt $verb | pela $alt $verb | ||||
| pelego $alt2 | |||||
| pela $alt $verb | |||||
| pelo $alt $verb | |||||
| pelo $alt2 | |||||
| pelo $alt $verb | |||||
| peso $alt $verb | peso $alt $verb | ||||
| piloto $alt2 $noun | piloto $alt2 $noun | ||||
| pintora $alt2 | pintora $alt2 | ||||
| povos $alt | povos $alt | ||||
| poxa p'oS& | poxa p'oS& | ||||
| primavera $alt | primavera $alt | ||||
| prosopopeia $alt | |||||
| prosopopeia $alt | |||||
| quarteto $alt2 | quarteto $alt2 | ||||
| queda $alt | queda $alt | ||||
| quede $alt2 | quede $alt2 | ||||
| reforços $alt | reforços $alt | ||||
| refresco $alt $verb | refresco $alt $verb | ||||
| reitora $alt2 | reitora $alt2 | ||||
| rejo $alt | |||||
| relevo $alt2 $noun | relevo $alt2 $noun | ||||
| remorso $alt | remorso $alt | ||||
| renovo $alt $verb | |||||
| retorno $alt $verb | retorno $alt $verb | ||||
| reuva x'EUv& | |||||
| rigores $alt2 | |||||
| rixa x'iS& | rixa x'iS& | ||||
| rocha $alt | rocha $alt | ||||
| rock $alt | rock $alt | ||||
| roem $alt | |||||
| rola $alt2 $noun | rola $alt2 $noun | ||||
| rolo $alt2 $noun | rolo $alt2 $noun | ||||
| rota $alt2 | rota $alt2 | ||||
| secas $alt2 | secas $alt2 | ||||
| seco $alt2 | seco $alt2 | ||||
| seco $alt $verb | seco $alt $verb | ||||
| selo $alt $verb | |||||
| selo $alt2 | |||||
| selo $alt $verb | |||||
| selvagem seUv'aZeIN | selvagem seUv'aZeIN | ||||
| sexteto $alt2 | sexteto $alt2 | ||||
| ?1 senhora $alt2 | ?1 senhora $alt2 | ||||
| senhores $alt2 | senhores $alt2 | ||||
| singelo $alt | |||||
| sinopse $alt | sinopse $alt | ||||
| soco $alt2 | soco $alt2 | ||||
| soco $alt $verb | soco $alt $verb | ||||
| tapete $alt2 | tapete $alt2 | ||||
| temores $alt2 | temores $alt2 | ||||
| tempero $alt2 $noun | tempero $alt2 $noun | ||||
| tenores $alt2 | |||||
| terrores $alt2 | terrores $alt2 | ||||
| teta $alt2 | teta $alt2 | ||||
| tetra $alt | tetra $alt | ||||
| toga $alt | toga $alt | ||||
| topo $alt $verb | topo $alt $verb | ||||
| torno $alt $verb | torno $alt $verb | ||||
| tornozelo $alt2 | |||||
| torre $alt2 $noun | torre $alt2 $noun | ||||
| torres $alt2 | torres $alt2 | ||||
| torro $alt | |||||
| torro $alt | |||||
| tortos $alt | tortos $alt | ||||
| traqueia $alt | traqueia $alt | ||||
| travesso $alt2 | travesso $alt2 | ||||
| tumores $alt2 | tumores $alt2 | ||||
| valeta $alt2 | valeta $alt2 | ||||
| vanessa $alt2 | vanessa $alt2 | ||||
| velo $alt | |||||
| velozes $alt | velozes $alt | ||||
| verme $alt | |||||
| verbete $alt2 | |||||
| violeta $alt2 | violeta $alt2 | ||||
| violoncelo $alt | violoncelo $alt | ||||
| voga $alt | voga $alt | ||||
| vozes $alt | vozes $alt | ||||
| xarope $alt | xarope $alt | ||||
| xeque $alt | |||||
| zelo $alt $verb | |||||
| zero $alt | |||||
| zelo $alt2 $noun | |||||
| zorra $alt2 | zorra $alt2 | ||||
| ?1 back b'Ek | ?1 back b'Ek | ||||
| ?2 backup bEk'&p | ?2 backup bEk'&p | ||||
| ?2 backups bEk'&ps | ?2 backups bEk'&ps | ||||
| ?1 blind bl'aind | |||||
| blind bl'aind | |||||
| book buk | |||||
| ?1 braille b:r'aily | ?1 braille b:r'aily | ||||
| ?2 Braille bR'aili | ?2 Braille bR'aili | ||||
| ?1 cancel k'&ns'El | ?1 cancel k'&ns'El | ||||
| ?1 download d'a,wnl'oud | ?1 download d'a,wnl'oud | ||||
| ?2 download daUNl'owd | ?2 download daUNl'owd | ||||
| ?3 download dau~Nl'owd | ?3 download dau~Nl'owd | ||||
| drive dR'aivy | |||||
| driver dR'aiver | |||||
| drivers dR'aiveRs | |||||
| ?1 end 'end | ?1 end 'end | ||||
| ?1 escape Sk'eIpy | |||||
| ?2 esc 'Esk | ?2 esc 'Esk | ||||
| ?3 esc 'EskI | ?3 esc 'EskI | ||||
| ?1 explorer ,ekspl'O:*&r- | ?1 explorer ,ekspl'O:*&r- | ||||
| ?2 Intranet iNtRan'Et | ?2 Intranet iNtRan'Et | ||||
| ?1 kernel k'Ern,El | ?1 kernel k'Ern,El | ||||
| ?2 kernel k'Ern@l | ?2 kernel k'Ern@l | ||||
| laptop lEptOp | |||||
| ?1 line l'ain | ?1 line l'ain | ||||
| layout l'eI,aUt | layout l'eI,aUt | ||||
| ?2 logo l'OgU | ?2 logo l'OgU | ||||
| ?1 ovo 'ovu | ?1 ovo 'ovu | ||||
| ?1 pause p'au:z | ?1 pause p'au:z | ||||
| page p'eIdZ | page p'eIdZ | ||||
| pizza p'its& | |||||
| python p'aIT&~N | python p'aIT&~N | ||||
| ?1 readme r'i:dmi: | ?1 readme r'i:dmi: | ||||
| ?1 sapi s,ap'i | ?1 sapi s,ap'i | ||||
| ?2 software s'Oftwe@- | ?2 software s'Oftwe@- | ||||
| ?1 space sp'eIsy | ?1 space sp'eIsy | ||||
| ?1 sporting sp'Ort,ing | ?1 sporting sp'Ort,ing | ||||
| ?1 tab t'ab | |||||
| tab t'aby | |||||
| tablet t'ablet | |||||
| ?1 telemóvel t,El,Em'OvEl | ?1 telemóvel t,El,Em'OvEl | ||||
| ?1 telemóveis t,El,Em'OveIs# | ?1 telemóveis t,El,Em'OveIs# | ||||
| ?1 up &p | ?1 up &p | ||||
| ?1 upload &pl'oud | ?1 upload &pl'oud | ||||
| ?2 web w'Eb | ?2 web w'Eb | ||||
| ?2 verbete verb'etSi | |||||
| ?2 verbetes verb'etSis | |||||
| ?1 yahoo 'i,ah'u | ?1 yahoo 'i,ah'u | ||||
| ?2 yahoo iah'u | ?2 yahoo iah'u | ||||
| ?1 yes j'Es | ?1 yes j'Es | ||||
| // foreign product names | // foreign product names | ||||
| ?1 access 'aks,Es | ?1 access 'aks,Es | ||||
| ?1 adobe &d'Oby | ?1 adobe &d'Oby | ||||
| apple 'Epow | |||||
| chrome kR'owmi | |||||
| debian d'Ebj&~N | debian d'Ebj&~N | ||||
| ?1 excel ,Eks'El | ?1 excel ,Eks'El | ||||
| ?1 express ,Ekspr'Es | ?1 express ,Ekspr'Es | ||||
| espeak isp'i:k | espeak isp'i:k | ||||
| ?1 espeakedit isp'i:kEd,it | ?1 espeakedit isp'i:kEd,it | ||||
| facebook feisybuk | |||||
| ?1 fedora _^_EN | ?1 fedora _^_EN | ||||
| ?1 firefox f'ai&rfOks | |||||
| ?2 firefox f'ai@fOks | |||||
| firefox f'ai@fOks | |||||
| ?1 front fr'ont | ?1 front fr'ont | ||||
| ?1 jaws dZ'au:z | ?1 jaws dZ'au:z | ||||
| ?1 linux l,in'uks | ?1 linux l,in'uks | ||||
| ?2 microsoft m'aIkRows'Oft | ?2 microsoft m'aIkRows'Oft | ||||
| ?1 movie m'uvi | ?1 movie m'uvi | ||||
| ?1 nero n'Eru | ?1 nero n'Eru | ||||
| ?1 office 'Of,is | |||||
| /1 office 'Of,is | |||||
| ?2 office 'Ofsy | |||||
| openoffice 'opeIN|'Ofis | openoffice 'opeIN|'Ofis | ||||
| ?1 outlook 'autl'uk | ?1 outlook 'autl'uk | ||||
| ?2 Outlook ,aUtl'uk | ?2 Outlook ,aUtl'uk | ||||
| suse z'u:ts@ | suse z'u:ts@ | ||||
| ?1 start st'art // nero StartSmart | ?1 start st'art // nero StartSmart | ||||
| ?1 time t'aImy // nero show time | ?1 time t'aImy // nero show time | ||||
| twitter tw'iter | |||||
| ubuntu ub'untu | ubuntu ub'untu | ||||
| ?1 unix ,u:n'iks | ?1 unix ,u:n'iks | ||||
| ?2 unix j'uniks | ?2 unix j'uniks |
| ?1 a (lK ,A // Algarve, Almerinda, etc... | ?1 a (lK ,A // Algarve, Almerinda, etc... | ||||
| ?2 al (K aU | ?2 al (K aU | ||||
| a (lh+ a | a (lh+ a | ||||
| a (m &~ | a (m &~ | ||||
| a (mAr_ & | a (mAr_ & | ||||
| a (mA@ & | a (mA@ & | ||||
| ái (s ''aI | ái (s ''aI | ||||
| á (iCK ''a | á (iCK ''a | ||||
| áy ''aI | áy ''aI | ||||
| ál (C ''aU | |||||
| áu ''aU | áu ''aU | ||||
| áu (s ''aU | áu (s ''aU | ||||
| ?1 ál ''Al | ?1 ál ''Al | ||||
| e (guem_ E | e (guem_ E | ||||
| e (lA_ E | e (lA_ E | ||||
| e (lo_ e | |||||
| e (lo_ E | |||||
| e (lAm_ E | e (lAm_ E | ||||
| i) e (r_ E | i) e (r_ E | ||||
| f) e (re_ E | f) e (re_ E | ||||
| f) e (rem_ E | f) e (rem_ E | ||||
| e (que_ E | |||||
| e (quem_ E | |||||
| e (rgA_ E | e (rgA_ E | ||||
| e (rgAm_ E | e (rgAm_ E | ||||
| e (rgue_ E | |||||
| e (rguem_ E | |||||
| e (rsA_ E | e (rsA_ E | ||||
| e (rsAm_ E | e (rsAm_ E | ||||
| e (stAm_ E | e (stAm_ E | ||||
| e (strA_ E | e (strA_ E | ||||
| e (rme_ E | |||||
| e (rnA_ E | e (rnA_ E | ||||
| e (rnAm_ E | e (rnAm_ E | ||||
| e (xA_ E | e (xA_ E | ||||
| e (xAm_ E | e (xAm_ E | ||||
| ?2 _n) e (t E | ?2 _n) e (t E | ||||
| em (C eIm | em (C eIm | ||||
| en (K eIN | en (K eIN | ||||
| enh en^ | enh en^ | ||||
| _perd) e (L05_ e | _perd) e (L05_ e | ||||
| _quis) e (L05_ E | _quis) e (L05_ E | ||||
| _soub) e (L05_ E | _soub) e (L05_ E | ||||
| _talh) e (L05_ E | |||||
| _trem) e (L05_ e | _trem) e (L05_ e | ||||
| diss) e (L06_ E // contra- | diss) e (L06_ E // contra- | ||||
| fend) e (L06_ e // de- o- | fend) e (L06_ e // de- o- | ||||
| _hosp) e (dL03_ E | _hosp) e (dL03_ E | ||||
| _gr) e (gL03_ e | _gr) e (gL03_ e | ||||
| _gal) e (gL03_ e | _gal) e (gL03_ e | ||||
| _pel) e (gL03_ e | |||||
| _n) e (grL03_ e | _n) e (grL03_ e | ||||
| _ch) e (guL02_ e | |||||
| estr) ei (L04_ 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 | |||||
| _s) e (quL02_ E | |||||
| ad) e (quL04_ E | ad) e (quL04_ E | ||||
| l) e (que_ E | |||||
| _imp) e (rL03_ E | _imp) e (rL03_ E | ||||
| _sev) e (rL03_ E | _sev) e (rL03_ E | ||||
| _reit) e (rL03_ E | _reit) e (rL03_ E | ||||
| _sinc) e (rL03_ E | _sinc) e (rL03_ E | ||||
| _g) e (rL04_ E | _g) e (rL04_ E | ||||
| _z) e (rL04_ E | |||||
| qu) e (rL04_ E // re- | qu) e (rL04_ E // re- | ||||
| _op) e (rL04_ E | _op) e (rL04_ E | ||||
| gen) e (rL04_ E // de- re- | gen) e (rL04_ E // de- re- | ||||
| _alt) e (rL04_ E | _alt) e (rL04_ E | ||||
| _enc) e (rL04_ E | |||||
| _sug) e (rL04_ E | _sug) e (rL04_ E | ||||
| _sup) e (rL04_ E | _sup) e (rL04_ E | ||||
| _tol) e (rL04_ E | _tol) e (rL04_ E | ||||
| _recup) e (rL04_ E | _recup) e (rL04_ E | ||||
| _refrig) e (rL04_ E | _refrig) e (rL04_ E | ||||
| _v) e (rbL03_ E | _v) e (rbL03_ E | ||||
| _alic) e (rcL02_ E | |||||
| _p) e (rdL02_ E | _p) e (rdL02_ E | ||||
| _l) e (rdL03_ E | _l) e (rdL03_ E | ||||
| _h) e (rdL04_ E | _h) e (rdL04_ E | ||||
| _) e (rgL03_ e | |||||
| _) e (rguL02_ E | |||||
| _alb) e (rguL02_ E | |||||
| _enx) e (rguL02_ 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 | ||||
| _alic) e (rçL03_ E | |||||
| _p) e (sL01_ E | |||||
| _l) e (sL03_ E | |||||
| _refr) e (scL01_ E | _refr) e (scL01_ E | ||||
| _d) e (scL02_ E | _d) e (scL02_ E | ||||
| _cr) e (scL02_ E | _cr) e (scL02_ E | ||||
| _atr) e (vL03_ e | _atr) e (vL03_ e | ||||
| _r) e (zL04_ E | _r) e (zL04_ E | ||||
| _pr) e (zL04_ E | _pr) e (zL04_ E | ||||
| _rev) e (zL04_ 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 | ||||
| éi (s ''EI | éi (s ''EI | ||||
| é (iCK ''E | é (iCK ''E | ||||
| éy ''eI | éy ''eI | ||||
| él (C ''EU | |||||
| éu ''EU | éu ''EU | ||||
| éu (s ''EU | éu (s ''EU | ||||
| é (uCK ''E | é (uCK ''E | ||||
| g (Y Z // ge gi | g (Y Z // ge gi | ||||
| gu (Y g | gu (Y g | ||||
| a) gu (ent gw | a) gu (ent gw | ||||
| _ar) gu (i gw | |||||
| averi) gu (e gw | |||||
| enxa) gu (e gw | enxa) gu (e gw | ||||
| i) gu (idade gw | |||||
| lin) gu (e gw | lin) gu (e gw | ||||
| lin) gu (i gw | lin) gu (i gw | ||||
| _min) gu (e gw | |||||
| _pin) gu (im_ gw | |||||
| _pin) gu (ins_ gw | |||||
| _sa) gu (i gw | |||||
| san) gu (ín gw | san) gu (ín gw | ||||
| san) gu (in gw | san) gu (in gw | ||||
| tin) gu (i 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... | ||||
| i (A_ 'i | i (A_ 'i | ||||
| i (am_ 'i | i (am_ 'i | ||||
| i (em_ 'i | |||||
| io (_ iU | io (_ iU | ||||
| io (s_ iU | io (s_ iU | ||||
| i (oCK i | i (oCK i | ||||
| ím (C ''im | ím (C ''im | ||||
| ín (K ''iN | ín (K ''iN | ||||
| ính ''in^ | ính ''in^ | ||||
| íl (C ''IU | |||||
| .group j | .group j | ||||
| _) l (_ 'Ele | _) l (_ 'Ele | ||||
| l l | l l | ||||
| l) l | l) l | ||||
| lh l^ | |||||
| lh lj | |||||
| A) lh lj | A) lh lj | ||||
| ?1 A) lh l^ | |||||
| A) lh l^ | |||||
| ?4 A) lh l^ | ?4 A) lh l^ | ||||
| o (lA_ O | o (lA_ O | ||||
| o (lAm_ O | o (lAm_ O | ||||
| o (lhe_ O | |||||
| o (lhem_ O | |||||
| o (ltA_ O | o (ltA_ O | ||||
| o (ltAm_ O | o (ltAm_ O | ||||
| o (lve_ O | |||||
| o (lvem_ O | |||||
| o (sA_ O | o (sA_ O | ||||
| o (so_N o // not for osos_ | o (so_N o // not for osos_ | ||||
| o (sAm_ O | o (sAm_ O | ||||
| ?1 o (l_ 'O | ?1 o (l_ 'O | ||||
| ?2 ol (_ Ow | ?2 ol (_ Ow | ||||
| o (lh o | |||||
| ?2 _) o (lhA_ O | |||||
| ?2 _) o (lhAm_ O | |||||
| om (_ oN | om (_ oN | ||||
| o (ma_ o | o (ma_ o | ||||
| //sort | //sort | ||||
| _f) o (L05_ o | _f) o (L05_ o | ||||
| _pormen) o (L05_ O | |||||
| _f) o (L07_ o | _f) o (L07_ o | ||||
| _engl) o (bL01_ O | |||||
| _s) o (bL02_ O | _s) o (bL02_ O | ||||
| _af) o (bL04_ O | |||||
| _esn) o (bL04_ O | _esn) o (bL04_ O | ||||
| _engl) o (bL04_ O | |||||
| br) o (chL04_ O | br) o (chL04_ O | ||||
| _deb) o (chL04_ O | _deb) o (chL04_ O | ||||
| _m) o (fL01_ O | _m) o (fL01_ O | ||||
| _ap) oi (L02_ OI | _ap) oi (L02_ OI | ||||
| _b) oi (L04_ OI | _b) oi (L04_ OI | ||||
| _t) o (lL03_ o | _t) o (lL03_ o | ||||
| c) o (lhL02_ O // es- en- re- | |||||
| _t) o (lhL02_ O | |||||
| _m) o (lhL04_ O | |||||
| env) o (lvL02_ O // des- | |||||
| _abs) o (lvL02_ O | |||||
| _dev) o (lvL02_ O | |||||
| _res) o (lvL02_ O | |||||
| _rev) o (lvL02_ O | |||||
| _ent) o (pL02_ O | |||||
| _f) o (lgL04_ O | |||||
| _emp) o (lgL04_ O | |||||
| _) o (lhL04_ O | |||||
| m) o (lhL04_ O | |||||
| ent) o (pL02_ O | |||||
| _c) o (pL03_ O | _c) o (pL03_ O | ||||
| _ens) o (pL04_ O | _ens) o (pL04_ O | ||||
| _s) o (prL04_ O | _s) o (prL04_ O | ||||
| _) o (ptL04_ O | _) o (ptL04_ O | ||||
| p) o (rL02_ o | |||||
| _dev) o (rL02_ O | |||||
| _defl) o (rL02_ O | _defl) o (rL02_ O | ||||
| _impl) o (rL02_ O | _impl) o (rL02_ O | ||||
| _inod) o (rL03_ O | _inod) o (rL03_ 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 | ||||
| A) quên (C kw'eIN // frequência, etc. | |||||
| quên kw'eN // quinquênio, etc. | |||||
| ade) qu (e kw | ade) qu (e kw | ||||
| _a) qu (idade_ kw | |||||
| _a) qu (ífero_ kw | |||||
| e) qu (estr kw | e) qu (estr kw | ||||
| ese) qu (ív kw | |||||
| _e) qu (in kw | _e) qu (in kw | ||||
| fre) qu (ent kw | fre) qu (ent kw | ||||
| _ini) qu (idade_ kw | |||||
| li) qu (id kw | li) qu (id kw | ||||
| lí) qu (id kw | lí) qu (id kw | ||||
| n) qu (en kw | n) qu (en kw | ||||
| _) qu (inqu kw | |||||
| se) qu (en kw | se) qu (en kw | ||||
| tran) qu (il kw | tran) qu (il kw | ||||
| ?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. | ||||
| ?1 C) quê (_ ke // porquê, etc. | ?1 C) quê (_ ke // porquê, etc. | ||||
| ?1 A) s (G+ Z | ?1 A) s (G+ Z | ||||
| ?1 A) s (_KS1 s# | ?1 A) s (_KS1 s# | ||||
| ?1 A) s (_G+S1 Z | ?1 A) s (_G+S1 Z | ||||
| s (b z | |||||
| s (d z | |||||
| s (g z | |||||
| s (l z | |||||
| s (m z | |||||
| s (n z | |||||
| sr zx | |||||
| s (v z | |||||
| _) sobre (@P5 sob*e | _) sobre (@P5 sob*e | ||||
| u (iu w | u (iu w | ||||
| u (iCK u | u (iCK u | ||||
| uy uI | uy uI | ||||
| ul (K uw | |||||
| u (lh+ u | |||||
| um (_ u~N | um (_ u~N | ||||
| um (C u~m | um (C u~m |
| _11 Od;'innVttsVt; | _11 Od;'innVttsVt; | ||||
| _12 dv;In'AttsVt; | _12 dv;In'AttsVt; | ||||
| _13 tR;In'AttsVt; | _13 tR;In'AttsVt; | ||||
| _14 ts;It'y@-*nVttsVt; | |||||
| _14 tS;It'y@-*nVttsVt; | |||||
| _15 p;Itn'AttsVt; | _15 p;Itn'AttsVt; | ||||
| _16 SE#stn'AttsVt; | _16 SE#stn'AttsVt; | ||||
| _17 s;Imn'AttsVt; | _17 s;Imn'AttsVt; | ||||
| _0C st'o | _0C st'o | ||||
| _2C dv;'es;t;I | _2C dv;'es;t;I | ||||
| _3C tr;'ista | _3C tr;'ista | ||||
| _4C ts;It'yr;E2sta | |||||
| _4C tS;It'yr;E2sta | |||||
| _5C p;,It;s'ot | _5C p;,It;s'ot | ||||
| _6C S,E#s;t;s'ot | _6C S,E#s;t;s'ot | ||||
| _7C s;,Ims'ot | _7C s;,Ims'ot | ||||
| _8C vOs;Ims'ot | _8C vOs;Ims'ot | ||||
| _9C dev;Vts'ot | _9C dev;Vts'ot | ||||
| _1MA1 t'ys;Its;V // no '1' before thousand | |||||
| _0MA1 t'ys;Its;i | |||||
| _0M1 t'ys;Vts; | |||||
| _1MA1 t'ys;ItS;V // no '1' before thousand | |||||
| _0MA1 t'ys;ItS;i | |||||
| _0M1 t'ys;VtS; | |||||
| _1MA2 m;,IlI;'on | _1MA2 m;,IlI;'on | ||||
| _0MA2 m;,IlI;'ona | _0MA2 m;,IlI;'ona | ||||
| _0M2 m;,IlI;'onof | _0M2 m;,IlI;'onof |
| // This file is UTF8 encoded | |||||
| // Spelling to phoneme rules for Telugu | |||||
| // speak Latin letters as English | |||||
| a e:j | |||||
| b bi: | |||||
| c si: | |||||
| d di: | |||||
| e i: | |||||
| f Ef | |||||
| g dZi: | |||||
| h e:tS | |||||
| i a:j | |||||
| j dZe:j | |||||
| k ke:j | |||||
| l El | |||||
| m Em | |||||
| n En | |||||
| o o: | |||||
| p pi: | |||||
| q kju: | |||||
| r a:rp | |||||
| s Es | |||||
| t t#i: | |||||
| u ju: | |||||
| v vi: | |||||
| w dabalju: | |||||
| x Eks | |||||
| y wa:j | |||||
| z zEd | |||||
| // numbers | |||||
| _0 sunna | |||||
| _1 okat.i | |||||
| _1a oka | |||||
| _2 rend.u | |||||
| _3 mu:d.u | |||||
| _4 na:lugu | |||||
| _5 aIdu | |||||
| _6 a:ru | |||||
| _7 ;e:d.u | |||||
| _8 ;enimidi | |||||
| _9 tommidi | |||||
| _1X padi | |||||
| _11 padakond.u | |||||
| _12 pannend.u | |||||
| _13 padammu:d.u: | |||||
| _14 pad#na:lugu | |||||
| _15 padihe:nu | |||||
| _16 padaha:ru | |||||
| _17 padihe:d.u | |||||
| _18 padd#enimidi | |||||
| _19 pandommidi | |||||
| _2X irav#aI | |||||
| _3X muppaI | |||||
| _4X nalub#aI | |||||
| _5X ja:b#aI | |||||
| _6X arav#aI | |||||
| _7X d.#eb#baI | |||||
| _8X jenab#aI | |||||
| _9X tomb#aI | |||||
| _0C v#andala | |||||
| _0C0 v#andalu | |||||
| _1C okav#anda | |||||
| _0M1 v#ela | |||||
| _0M1x v#elu | |||||
| _1M1 okav#ejji | |||||
| _0M2 laks.ala | |||||
| _0M2x laks.alu | |||||
| _1M2 laks.a | |||||
| _0M3 kotla | |||||
| _0M3x kotlu | |||||
| _1M3 koti | |||||
| _dpt _d,aS;a:mkam | |||||
| // symbols | |||||
| _?? aks.aram // 'unknown character' | |||||
| % S;a:tam | |||||
| + ku:d.ika | |||||
| * naks.atra | |||||
| \ bja:kasla:s. | |||||
| / kudiva:lugi:ta | |||||
| © ka:pi:raIt. | |||||
| ¶ v#e:ra: | |||||
| _, ka:ma: | |||||
| _; semi:ko:lan | |||||
| _: ko:lan | |||||
| _! a:S;carja:rt#aka | |||||
| _? praS;na:rt#aka | |||||
| _- haIfan | |||||
| __ amd.ar||sko:r | |||||
| // unstressed function words | |||||
| // articles | |||||
| ద $u | |||||
| అ $u+ | |||||
| ఆ $u+ | |||||
| ఒక $u | |||||
| // letter names | |||||
| U+c01 am | |||||
| U+c02 an | |||||
| U+c03 ah | |||||
| U+c4d v#ottu | |||||
| // consonants with virama | |||||
| క్ ik | |||||
| ఖ్ ik# | |||||
| గ్ ig | |||||
| ఘ్ ig# | |||||
| ఙ్ iN | |||||
| చ్ ic | |||||
| ఛ్ ic# | |||||
| జ్ iJ | |||||
| ఝ్ iJ# | |||||
| ఞ్ in^ | |||||
| ట్ it. | |||||
| ఠ్ it.# | |||||
| డ్ id. | |||||
| ఢ్ id.# | |||||
| ణ్ in. | |||||
| త్ it | |||||
| థ్ it# | |||||
| ద్ id | |||||
| ధ్ id# | |||||
| న్ in | |||||
| ప్ ip | |||||
| ఫ్ ip# | |||||
| బ్ ib | |||||
| భ్ ib# | |||||
| మ్ imu: | |||||
| య్ ij | |||||
| ర్ ir | |||||
| ఱ్ ir | |||||
| ల్ il | |||||
| ళ్ il. | |||||
| వ్ iv# | |||||
| శ్ iS; | |||||
| ష్ is. | |||||
| స్ is | |||||
| హ్ ih | |||||
| ౘ్ its | |||||
| ౙ్ idz | |||||
| // combining vowels, precede by a click so they | |||||
| // can be distinguished from stand-alone vowels | |||||
| ా #X2a:: | |||||
| ి #X1i | |||||
| ీ #X2i:: | |||||
| ు #X1u | |||||
| ూ #X2u:: | |||||
| ృ #X1ru | |||||
| ౄ #X2ru: | |||||
| ె #X1e | |||||
| ే #X2e:: | |||||
| ై #X2aI | |||||
| ొ #X1o | |||||
| ో #X2o:: | |||||
| ౌ #X2aU | |||||
| // This file is UTF8 encoded | |||||
| // Spelling to phoneme rules for Telugu | |||||
| // A means vowel letters (not vowel signs) | |||||
| // B means a combining vowel sign or a virama | |||||
| .replace | |||||
| ౦ 0 // Convert Telugu numbers | |||||
| ౧ 1 | |||||
| ౨ 2 | |||||
| ౩ 3 | |||||
| ౪ 4 | |||||
| ౫ 5 | |||||
| ౬ 6 | |||||
| ౭ 7 | |||||
| ౮ 8 | |||||
| ౯ 9 | |||||
| .group క | |||||
| క ka | |||||
| క (B k | |||||
| .group ఖ | |||||
| ఖ k#a | |||||
| ఖ (B k# | |||||
| .group గ | |||||
| గ ga | |||||
| గ (B g | |||||
| .group ఘ | |||||
| ఘ g#a | |||||
| ఘ (B g# | |||||
| .group ఙ | |||||
| ఙ Na | |||||
| ఙ (B N | |||||
| .group చ | |||||
| చ ca | |||||
| చ (B c | |||||
| .group ఛ | |||||
| ఛ c#a | |||||
| ఛ (B c# | |||||
| .group జ | |||||
| జ Ja | |||||
| జ (B J | |||||
| .group ఝ | |||||
| ఝ J#a | |||||
| ఝ (B J# | |||||
| .group ఞ | |||||
| ఞ n^a | |||||
| ఞ (B n^ | |||||
| .group ట | |||||
| ట t.a | |||||
| ట (B t. | |||||
| .group ఠ | |||||
| ఠ t.#a | |||||
| ఠ (B t.# | |||||
| .group డ | |||||
| డ d.a | |||||
| డ (B d. | |||||
| .group ఢ | |||||
| ఢ d.#a | |||||
| ఢ (B d.# | |||||
| .group ణ | |||||
| ణ n.a | |||||
| ణ (B n. | |||||
| .group త | |||||
| త ta | |||||
| త (B t | |||||
| .group థ | |||||
| థ t#a | |||||
| థ (B t# | |||||
| .group ద | |||||
| ద da | |||||
| ద (B d | |||||
| .group ధ | |||||
| ధ d#a | |||||
| ధ (B d# | |||||
| .group న | |||||
| న na | |||||
| న (B n | |||||
| .group ప | |||||
| ప pa | |||||
| ప (B p | |||||
| .group ఫ | |||||
| ఫ p#a | |||||
| ఫ (B p# | |||||
| .group బ | |||||
| బ ba | |||||
| బ (B b | |||||
| .group భ | |||||
| భ b#a | |||||
| భ (B b# | |||||
| .group మ | |||||
| మ ma | |||||
| మ (B m | |||||
| .group య | |||||
| య ja | |||||
| య (B j | |||||
| .group ర | |||||
| ర ra | |||||
| ర (B r | |||||
| .group ఱ | |||||
| ఱ ra | |||||
| ఱ (B r | |||||
| .group ల | |||||
| ల la | |||||
| ల (B l | |||||
| .group ళ | |||||
| ళ l.a | |||||
| ళ (B l. | |||||
| .group వ | |||||
| వ v#a | |||||
| వ (B v# | |||||
| .group శ | |||||
| శ S;a | |||||
| శ (B S; | |||||
| .group ష | |||||
| ష s.a | |||||
| ష (B s. | |||||
| .group స | |||||
| స sa | |||||
| స (B s | |||||
| .group హ | |||||
| హ ha | |||||
| హ (B h | |||||
| .group ౘ | |||||
| ౘ tsa | |||||
| ౘ (B ts | |||||
| .group ౙ | |||||
| ౙ dza | |||||
| ౙ (B dz | |||||
| .group ౠ | |||||
| ౠ ru | |||||
| .group ౡ | |||||
| ౡ l- | |||||
| // Stand-alone vowels | |||||
| .group అ | |||||
| అ a | |||||
| .group ఆ | |||||
| ఆ a: | |||||
| .group ఇ | |||||
| ఇ i | |||||
| .group ఈ | |||||
| ఈ i: | |||||
| .group ఉ | |||||
| ఉ u | |||||
| .group ఊ | |||||
| ఊ u: | |||||
| .group ఋ | |||||
| ఋ ru | |||||
| .group ఌ | |||||
| ఌ l- | |||||
| .group ఎ | |||||
| ఎ e | |||||
| _) ఎ ;e | |||||
| .group ఏ | |||||
| ఏ e: | |||||
| .group ఐ | |||||
| ఐ aI | |||||
| .group ఒ | |||||
| ఒ o | |||||
| .group ఓ | |||||
| ఓ o: | |||||
| .group ఔ | |||||
| ఔ aU | |||||
| .group 0xe0b0 // characters which start with UTF-8 bytes: [e0 b0] | |||||
| . ఁ n // candrabindu | |||||
| ం n // anusvara (this should nasalize the vowel) | |||||
| ః h // visarga | |||||
| // combining vowel signs | |||||
| ా a: | |||||
| ి i | |||||
| .group 0xe0b1 // characters which start with UTF-8 bytes: [e0 b1] | |||||
| ీ i: | |||||
| ు u | |||||
| ూ u: | |||||
| ృ r- | |||||
| ౄ r-: | |||||
| ె e | |||||
| ే e: | |||||
| ై aI | |||||
| ొ o | |||||
| ో o: | |||||
| ౌ aU | |||||
| ్ // virama | |||||
| ౕ : // length mark ?? | |||||
| ౖ : // ai length mark ?? | |||||
| .group | |||||
| $ d.a:lar | |||||
| ل la:m | ل la:m | ||||
| م mi:m | م mi:m | ||||
| ن nu:n | ن nu:n | ||||
| و va:O | |||||
| _و va:O | |||||
| ہ He: | ہ He: | ||||
| ں g#Unna | ں g#Unna | ||||
| ﮨ c#o:ti:||He: | ﮨ c#o:ti:||He: | ||||
| ی c#o:t.i:||je: | ی c#o:t.i:||je: | ||||
| ے bar.i:||je: | ے bar.i:||je: | ||||
| ئ h'amza | ئ h'amza | ||||
| ۂ He:h'amza | |||||
| _ؤ va:Oh'amza | |||||
| َ z@b@R | َ z@b@R | ||||
| ِ ze:R | ِ ze:R | ||||
| ُ pe:S | ُ pe:S | ||||
| ٰ ,alIfmaqs'u:R,a | |||||
| ّ t,aSd'i:d | ّ t,aSd'i:d | ||||
| ً d'o:zab'aR | ً d'o:zab'aR | ||||
| // pronouns | // pronouns | ||||
| یہ jE $u | |||||
| کہ kE $u | |||||
| یہ j'e:H $u | |||||
| وہ wo: $u | وہ wo: $u | ||||
| آپ $u | آپ $u | ||||
| تم tUm $u | تم tUm $u | ||||
| تجھے t'UJ#e: | تجھے t'UJ#e: | ||||
| جن J'In | جن J'In | ||||
| جنھیں J,InH'e:n | جنھیں J,InH'e:n | ||||
| انھوں ,UnH'o:n | |||||
| انھیں ,InH'e:n | |||||
| انہوں ,UnH'o:n | |||||
| انہیں ,UnH'e:n | |||||
| // unstressed prepositions | // unstressed prepositions | ||||
| کا $u | کا $u | ||||
| سے $u | سے $u | ||||
| اور OR $u $brk | اور OR $u $brk | ||||
| کہ k'e:H $u | |||||
| // unstressed verbs | // unstressed verbs | ||||
| ہے $u | ہے $u | ||||
| // Pronunciation exceptions | // Pronunciation exceptions | ||||
| پاکستان p'a:k'i:st'a:n | پاکستان p'a:k'i:st'a:n | ||||
| سندھ s'Ind# | |||||
| کچھ k'Uc# | کچھ k'Uc# | ||||
| لنکس l'Ink,s | لنکس l'Ink,s | ||||
| لفظ l'afz. | لفظ l'afz. | ||||
| مسلح m,Usal'aH | مسلح m,Usal'aH | ||||
| متفق mUt'afIq | متفق mUt'afIq | ||||
| سابق s'a:bIq | سابق s'a:bIq | ||||
| برسر b,aRs'aR | |||||
| اعلان e:l'a:n | اعلان e:l'a:n | ||||
| سنئیے sUn'i:;e: | سنئیے sUn'i:;e: | ||||
| کلنگ k'IlIn,g | کلنگ k'IlIn,g | ||||
| جسٹس J'ast.,Is | جسٹس J'ast.,Is | ||||
| شکایت S,Ika:j'at | شکایت S,Ika:j'at | ||||
| شکست SIk'ast | شکست SIk'ast | ||||
| منزل m'anz,Il | |||||
| شعر S'e:R | شعر S'e:R | ||||
| فعل f'e:l | فعل f'e:l | ||||
| خصوصی xUs.'u:s.i: | خصوصی xUs.'u:s.i: | ||||
| باہر ba:H'aR | باہر ba:H'aR | ||||
| دیا d'i:;a: | دیا d'i:;a: | ||||
| انڈیا ,Ind.'i:;a: | انڈیا ,Ind.'i:;a: | ||||
| مظاہرین m,Uz.a:HIR'i:n | |||||
| فائرنگ f'a:jIR,Ing | فائرنگ f'a:jIR,Ing | ||||
| ڈائریکٹر d.,a:jIR,e:kt.'aR | ڈائریکٹر d.,a:jIR,e:kt.'aR | ||||
| فرقہ f'IRqa | فرقہ f'IRqa | ||||
| بغیر baQ'e:R | بغیر baQ'e:R | ||||
| ممکن m'Umk,In | ممکن m'Umk,In | ||||
| ممکنہ m'Unk,In,a | ممکنہ m'Unk,In,a | ||||
| طرح taR'aH | |||||
| الیکشن ,Ile:kS'an | الیکشن ,Ile:kS'an | ||||
| ووٹنگ vo:t.'Ing | ووٹنگ vo:t.'Ing | ||||
| شواہد Sav'a:HId | شواہد Sav'a:HId | ||||
| تعین t'a:jUn | تعین t'a:jUn | ||||
| باعث b'a:jIs | باعث b'a:jIs | ||||
| کتب k'UtUb | کتب k'UtUb | ||||
| سلسلہ s'Ils,Il,a | |||||
| سلسلے s'Ils,Ile: | |||||
| بحث be:He:s | بحث be:He:s | ||||
| قسمت q,Ism'at | قسمت q,Ism'at | ||||
| آور a:v'aR | آور a:v'aR | ||||
| بظاہر baz.'a:HIR | بظاہر baz.'a:HIR | ||||
| ظاہر z.'a:HIR | ظاہر z.'a:HIR | ||||
| حکم H'Ukm | حکم H'Ukm | ||||
| کورٹ k'o:Rt. | |||||
| برطرف b,aRtaR'af | |||||
| برطرفی b,aRt'aRf,i: | |||||
| لئے l'i:;e: | |||||
| نامزد n,a:mz'ad | |||||
| نامزدگی n,a:mz'adg,i: | |||||
| معطل m,Oat'al | |||||
| معطلی m,Oat'ali: | |||||
| تین t'i:n | |||||
| تینوں ti:n'o:n | |||||
| ڈاکٹر d.,a:kt.'aR | |||||
| اقبال ,Iqb'a:l | |||||
| جرم J'URm | |||||
| اقتدار ,IqtId'a:R | |||||
| عشرت ,ISR'at | |||||
| نگران n,IgR'a:n | |||||
| نگرانی n,IgR'a:ni: | |||||
| مستقل m,Ust'aqIl | |||||
| مستقبل m,Ust'aqb,Il | |||||
| میر m'i:R | |||||
| چھ c#'eh_! | |||||
| خفیہ xUf'i:;a | |||||
| اٹھانا Ut.#'a:na: | |||||
| اٹھانی Ut.#'a:ni: | |||||
| اٹھانے Ut.#'a:ne: | |||||
| اٹھا 'Ut.#a: | |||||
| اٹھی 'Ut.#i: | |||||
| اٹھے 'Ut.#e: | |||||
| قوت qu:v'at | |||||
| اٹھایا Ut.#'a:ja: | |||||
| اٹھائی Ut.#'a:ji: | |||||
| اٹھائے Ut.#'a:je: | |||||
| مدافعت m,Uda:fI;'at | |||||
| خطرہ x'atRa | |||||
| مظفر m,Uz.af'aR | |||||
| کرکٹ kRIk,It. | |||||
| انگلینڈ ,Ingl'e:nd. | |||||
| رنز R'anz | |||||
| انسداد ,InsId'a:d | |||||
| نہیں naH'i:n | |||||
| صحتِ s.e:H'ate: | |||||
| متفقہ mUt'afIqa | |||||
| تعلق t'a:lUq | |||||
| متعلق mUt'a:lIq | |||||
| متعلقہ mUt'a:lIqa | |||||
| مسترد m,UstaR'ad | |||||
| مثبت m,Usb'at | |||||
| تاہم ta:H'am | |||||
| پیشرفت p,e:SR'aft | |||||
| تعطل t'a:tUl | |||||
| متعدد mUt'a:dId | |||||
| گیا g'aja: | |||||
| (کیا گیا) k'i:;a:||g'aja: | |||||
| (ہوا تھا) H'u:a||t#a: | |||||
| (کیا ہوا) kj'a:||H'u:a: | |||||
| اتحاد ,ItaH'a:d | |||||
| اننگز In'Ingz | |||||
| بیٹنگ be:t.'Ing | |||||
| منٹ m'InIt. | |||||
| ناممکن n'a:mUmkIn | |||||
| (کیا جائے) k'i:;a:||J'a:je: | |||||
| جمعرات J,Ume:R'a:t | |||||
| جمعہ J'Uma: | |||||
| برسرِ b,aRs'aRe: | |||||
| درجنوں d,aRJan'o:n | |||||
| درجن d,aRJ'an | |||||
| خلاف xIl'a:f | |||||
| برخلاف b,aRxIl'a:f | |||||
| کرکٹر kRIkIt.'aR | |||||
| ذمہ D'Im,a | |||||
| دستخط d,astx'at | |||||
| اجاگر ,UJa:g'aR | |||||
| فطرت f,ItR'at | |||||
| فطرتاً f,ItRat'an | |||||
| طاقتور ta:q'atvaR | |||||
| دفتر d,aft'aR | |||||
| مشرف m,USaR'af | |||||
| سنگھ s'Ing# | |||||
| کمپلیکس k,ampl'e:ks | |||||
| مرتبہ m,aRt'ab,a | |||||
| واقع v'a:qe: | |||||
| یہیں jaH'i:n | |||||
| کیونکہ kj,u:nk'e:H | |||||
| گفتگو g'Uft,Ugu: | |||||
| جستجو J'Ust,UJu: | |||||
| بھانت b#'a:nt | |||||
| چکے c'Uke: | |||||
| مفت m'Uft | |||||
| (تو نے) t'u||n'e: | |||||
| پرسکون p,URsUk'u:n | |||||
| منحصر m,UnH'as.IR | |||||
| سکون sUk'u:n | |||||
| گشت g'aSt | |||||
| گذار gUD'a:R | |||||
| پرور p'aRvaR | |||||
| قصے q'Is.e: | |||||
| قصہ q'Is.,a | |||||
| قصوں qIs.'o:n | |||||
| محفوظ m,e:Hf'u:z. | |||||
| مقدس m,Uqad'as | |||||
| و o: | |||||
| انحراف ,InHIR'a:f | |||||
| مبینہ m,Ubai:;'an,a | |||||
| متبادل m,Utab'a:dIl | |||||
| گنا g'Una: | |||||
| ملک m'Ulk | |||||
| ملکی m'Ulk,i: | |||||
| ملکوں m,Ulk'o:n | |||||
| ممالک mUm'a:lIk | |||||
| سنیچر s,ani:c'aR | |||||
| اختر ,axt'aR | |||||
| ملا m'Ila: | |||||
| سٹیڈیم st.e:d.i:;'am | |||||
| مدت mUd'at | |||||
| باکس b'a:ks | |||||
| آفس 'a:fIs | |||||
| اشاعت ,ISa:'a:t | |||||
| اظہار ,Iz.H'a:R | |||||
| برقرار b,aRqaR'a:R | |||||
| گھریلو g#aR'e:lu: | |||||
| ٹھیک t.#'i:k | |||||
| مشتمل m,USt'amIl | |||||
| متلاشی m,Utal'a:Si: | |||||
| ذکر D'IkR | |||||
| محسوس m,e:Hs'u:s | |||||
| برعکس b,aR'aks | |||||
| بت b'Ut | |||||
| بتوں bUt'o:n | |||||
| سسٹم sIst.'am | |||||
| معمر m,Oam'aR | |||||
| حلیے H'Ulje: | |||||
| ہلا H'Ila: | |||||
| گذشتہ gUD'aSta | |||||
| خطوط xUt'u:t | |||||
| ہفتہ H'afta | |||||
| مکرر m,UkaR'aR | |||||
| چینی c'i:ni: | |||||
| خیرمقدم x,e:Rm,aqd'am | |||||
| محترمہ m,UHt'aRma | |||||
| محترم m,UHtaR'am | |||||
| ورزش v'aRz,IS | |||||
| شروع S'URu: | |||||
| انٹرنیٹ ,Int.,aRn'e:t. | |||||
| سروس s'aRvIs | |||||
| سروسز s'aRvIs,Iz | |||||
| لطف l'Utf | |||||
| سامع s'a:me: | |||||
| ہوائیں H,ava:j'e:n | |||||
| سرے s'IRe: | |||||
| طبیعت t,abi:;'at | |||||
| سخن sUx'an | |||||
| گہر go:H'aR | |||||
| سست s'Ust | |||||
| لیکن l'e:kIn | |||||
| سیاست sja:s'at | |||||
| ریاست Rja:s'at | |||||
| منسلک mUns'alIk | |||||
| داخل d'a:xIl | |||||
| نجی n'IJi: | |||||
| منہدم m,UnH'adIm | |||||
| گم g'Um | |||||
| محدود m,e:Hd'u:d | |||||
| متحارب m,UtaH'a:RIb | |||||
| جنت Jan'at | |||||
| سفر saf'aR | |||||
| (فیس بک) f'e:s||b'Uk | |||||
| بینک b'e:nk | |||||
| حقوق HUq'u:q | |||||
| آئندہ a:'Ind,a | |||||
| اہتمام 'e:HtIm,a:m | |||||
| قلت qIl'at | |||||
| استحکام ,Iste:Hk'a:m | |||||
| حصول HUs.'u:l | |||||
| منقطع m,Unq'ata: | |||||
| مرتکب m,URt'akIb | |||||
| منہ m'u:n | |||||
| فتنہ f'Itna | |||||
| ذرائع DaR'a:e: | |||||
| مریم m,aRi:;'am |
| ٨ 8 | ٨ 8 | ||||
| ٩ 9 | ٩ 9 | ||||
| ي ی | ي ی | ||||
| یٰ ا | |||||
| // vowel signs, alif acts as consonants at start of word if these follow | // vowel signs, alif acts as consonants at start of word if these follow | ||||
| _) ایمان i:m'a:n | _) ایمان i:m'a:n | ||||
| _) اعت 'e:tI | _) اعت 'e:tI | ||||
| _) اضاف Iz'a:f | _) اضاف Iz'a:f | ||||
| _) اختلاف ,IxtIl'a:f | |||||
| _) اسمبلی as'ambli: | |||||
| _) اٹھت 'Ut.#t | |||||
| _) اٹھن 'Ut.#n | |||||
| _) اٹھات Ut.#'a:t | |||||
| اقلیت ,aqali:;'at | |||||
| استثن ,Ist'asn | |||||
| اندھیر 'and#e:R | |||||
| انتالیس ,Unta:l'i:s | |||||
| انتیس ,Unt'i:s | |||||
| اکثر ,aks'aR | |||||
| ایران i:R'a:n | |||||
| اجتماع ,IJtIm'a: | |||||
| استحصال ,Ist,e:Hs.'a:l | |||||
| _) امنگ Um'ang | |||||
| انعام In'a:m | |||||
| امتحان ,ImtIH'a:n | |||||
| الزام ,Ilz'a:m | |||||
| اشتہار ,IStIH'a:R | |||||
| اصول Us.'u:l | |||||
| .group آ | .group آ | ||||
| آ a: | آ a: | ||||
| عا a: | عا a: | ||||
| _) ع a | _) ع a | ||||
| _) عیس 'i:s | _) عیس 'i:s | ||||
| _) عید 'i:d | |||||
| عنوان Unv'a:n | |||||
| .group و | .group و | ||||
| و o: | و o: | ||||
| .group ے // yeh barree | .group ے // yeh barree | ||||
| ے e: | ے e: | ||||
| .group ۂ | |||||
| ۂ 'ae: | |||||
| // with hamza | // with hamza | ||||
| .group ئ | .group ئ | ||||
| ئ | ئ | ||||
| بھیک bh'i:k | بھیک bh'i:k | ||||
| بھیگ bh'i:g | بھیگ bh'i:g | ||||
| بھول bh'u:l | بھول bh'u:l | ||||
| _) بیان baj'a:n | |||||
| _) بٹھا b'It.#a: | |||||
| بئی b'ai: | |||||
| بیوی b'i:vi: | |||||
| _) بیوا b'e:va: | |||||
| برسر b,aRs'aR | |||||
| بگاڑ bIg'a:r. | |||||
| بغاوت b,aQa:v'at | |||||
| .group پ | .group پ | ||||
| پ pV | پ pV | ||||
| _) پھر ph'IR | _) پھر ph'IR | ||||
| پھول ph'u:l | پھول ph'u:l | ||||
| _) پہل (L01 p'e:Hl | _) پہل (L01 p'e:Hl | ||||
| پہنچ paH'Unc | |||||
| پوچھ p'u:c# | |||||
| .group ت | .group ت | ||||
| ت tV | ت tV | ||||
| تھ (L01 t# | تھ (L01 t# | ||||
| تّ ttV | تّ ttV | ||||
| تّ (L01 tt | تّ (L01 tt | ||||
| _) تمہ t'UmH | |||||
| تحقیق t,e:Hq'i:q | |||||
| _) ترجم t'aRJ,Um | |||||
| .group ٹ | .group ٹ | ||||
| ٹھ (L01 t.# | ٹھ (L01 t.# | ||||
| ٹّ t.t.V | ٹّ t.t.V | ||||
| ٹّ (L01 t.t. | ٹّ (L01 t.t. | ||||
| ٹریفک t.R'e:fIk | |||||
| _) ٹکڑ t.'Ukr. | |||||
| .group ث | .group ث | ||||
| جّ (L01 JJ | جّ (L01 JJ | ||||
| _) جیت J'i:t | _) جیت J'i:t | ||||
| _) جوا J'ava: | _) جوا J'ava: | ||||
| جانب J'a:nIb | |||||
| _) جنس J'Ins | |||||
| جھوٹ J#'u:t. | |||||
| _) جمل J'Uml | |||||
| .group چ | .group چ | ||||
| چ cV | چ cV | ||||
| چھ (L01 c# | چھ (L01 c# | ||||
| چّ ccV | چّ ccV | ||||
| چّ (L01 cc | چّ (L01 cc | ||||
| _) چکا c'Uka: | |||||
| .group ح | .group ح | ||||
| ح HV | ح HV | ||||
| ح (L01 H | ح (L01 H | ||||
| ح (_ H | |||||
| ح (_ 'aH | |||||
| L01) ح (_ H | |||||
| حکومت H,Uku:m'at | |||||
| حکمران H,UkmaR'a:n | |||||
| _) حوال Hav'a:l | |||||
| حّ HHV | حّ HHV | ||||
| حّ (L01 HH | حّ (L01 HH | ||||
| .group خ | .group خ | ||||
| خ xV | خ xV | ||||
| خ (L01 x | خ (L01 x | ||||
| خت(_ xt | |||||
| @) خ (ت x | |||||
| خّ xxV | خّ xxV | ||||
| خّ (L01 xx | خّ (L01 xx | ||||
| _) خوش x'US | _) خوش x'US | ||||
| دھ (L01 d# | دھ (L01 d# | ||||
| دّ ddV | دّ ddV | ||||
| دّ (L01 dd | دّ (L01 dd | ||||
| درخواست d,aRxv'a:st | |||||
| دیا(_ d'i:;a: | |||||
| درج d'aRJ | |||||
| دیوا d'i:va: | |||||
| _) دوسر d'u:sR | |||||
| دفاع d'Ifa: | |||||
| .group ڈ | .group ڈ | ||||
| ڈ d.V | ڈ d.V | ||||
| ڈھ (L01 d.# | ڈھ (L01 d.# | ||||
| ڈّ d.d.V | ڈّ d.d.V | ||||
| ڈّ (L01 d.d. | ڈّ (L01 d.d. | ||||
| ڈھونڈ d.#'u:nd. | |||||
| .group ذ | .group ذ | ||||
| ذ DV | ذ DV | ||||
| ر (L01 R | ر (L01 R | ||||
| رّ RRV | رّ RRV | ||||
| رّ (l01 RR | رّ (l01 RR | ||||
| @) ر (ٹ R | |||||
| @) ر (ڈ R | |||||
| _) رہت R'e:Ht | |||||
| @) ر (د R | |||||
| @) ر (چ R | |||||
| .group ڑ | .group ڑ | ||||
| ڑ r.V | ڑ r.V | ||||
| ز (L01 z | ز (L01 z | ||||
| زّ zzV | زّ zzV | ||||
| زّ (L01 zz | زّ (L01 zz | ||||
| _) زند z'Ind | |||||
| .group ژ | .group ژ | ||||
| ژ ZV | ژ ZV | ||||
| _) سلجھ (L01 sUlJh | _) سلجھ (L01 sUlJh | ||||
| _) سدھر sUdh'aR | _) سدھر sUdh'aR | ||||
| _) سدھر (L01 sUdhR | _) سدھر (L01 sUdhR | ||||
| _) سلسل s'Ils,Il | |||||
| _) ستار sIt'a:R | |||||
| @) س (ٹ s | |||||
| سندھ s'Ind# | |||||
| سیکھ s'i:k# | |||||
| @) س (ت s | |||||
| _) سپرد sUp'URd | |||||
| .group ش | .group ش | ||||
| ش SV | ش SV | ||||
| ش (L01 S | ش (L01 S | ||||
| شّ SSV | شّ SSV | ||||
| شّ (L01 SS | شّ (L01 SS | ||||
| _) شعب S'Ob | |||||
| شاعر Sa:'a:IR | |||||
| _) شعرا S'ORa: | |||||
| _) شعل S'Ol | |||||
| @) ش (ت S | |||||
| _) شخص S'axs. | |||||
| .group ص | .group ص | ||||
| ص s.V | ص s.V | ||||
| ص (L01 s. | ص (L01 s. | ||||
| صّ ssV | صّ ssV | ||||
| صّ (L01 ss | صّ (L01 ss | ||||
| صوب s.'u:b | |||||
| .group ض | .group ض | ||||
| ض zV | ض zV | ||||
| .group ط | .group ط | ||||
| ط tV | ط tV | ||||
| طھ t#V | طھ t#V | ||||
| ط (L01 t | |||||
| ط (L01 t | |||||
| طھ (L01 t# | طھ (L01 t# | ||||
| طّ ttV | طّ ttV | ||||
| طّ (L01 tt | طّ (L01 tt | ||||
| ف (L01 f | ف (L01 f | ||||
| فّ ffV | فّ ffV | ||||
| فّ (L01 ff | فّ (L01 ff | ||||
| _) فکر f'IkR | |||||
| .group ق | .group ق | ||||
| ق qV | ق qV | ||||
| ق (L01 q | ق (L01 q | ||||
| قّ qqV | قّ qqV | ||||
| قّ (L01 qq | قّ (L01 qq | ||||
| قاعد q'a:jd | |||||
| .group ک | .group ک | ||||
| ک kV | ک kV | ||||
| کّ kkV | کّ kkV | ||||
| کّ (L01 kk | کّ (L01 kk | ||||
| _) کتن k'Itn | _) کتن k'Itn | ||||
| کوئل k'o:Il | |||||
| کتاب kIt'a:b | |||||
| کوشش k'o:SIS | |||||
| .group گ | .group گ | ||||
| گ gV | گ gV | ||||
| _) گرفت g'IRIft | _) گرفت g'IRIft | ||||
| _) گزر gUz'aR | _) گزر gUz'aR | ||||
| _) گزر (L01 gUzR | _) گزر (L01 gUzR | ||||
| گئے g'ae: | |||||
| گئی g'ai: | |||||
| گمشد g'UmS,Ud | |||||
| _) گھما g#'Uma: | |||||
| .group ل | .group ل | ||||
| ل lV | ل lV | ||||
| مّ mmV | مّ mmV | ||||
| مّ (L01 mm | مّ (L01 mm | ||||
| _) مشکل m'USk,Il | _) مشکل m'USk,Il | ||||
| محکم me:He:km | |||||
| مظاہر mUz.'a:HIR | |||||
| _) ملن (L01 m'Iln | |||||
| مسجد m'asJ,Id | |||||
| مشرق m'aSR,Iq | |||||
| مقدم mUq'adm | |||||
| مسلم m'Usl,Im | |||||
| مسلما mUs'alm,a: | |||||
| @) م (پ m | |||||
| موجود mo:J'u:d | |||||
| منزل m'anz,Il | |||||
| @) م (ب m | |||||
| محقق mUH'aqIq | |||||
| منظر m,anz.'aR | |||||
| محفل m'e:Hf,Il | |||||
| مسکرا m'Usk,URa: | |||||
| مسکراہٹ m,Usk,URa:H'at. | |||||
| محسن m'o:Hs,In | |||||
| مجرم m'UJR,Im | |||||
| منظور m,anz.'u:R | |||||
| ملزم m'Ulz,Im | |||||
| مغرب m'aQR,Ib | |||||
| منسوخ m'ansu:x | |||||
| .group ن | .group ن | ||||
| ن nV | ن nV | ||||
| @) ن (چ n | @) ن (چ n | ||||
| _) نکال nIk'a:l | _) نکال nIk'a:l | ||||
| _) نگاہ nIg'a:H | _) نگاہ nIg'a:H | ||||
| _) نمٹ nIm'at. | |||||
| _) نمٹ (L01 nImt. | |||||
| @) ن (پ n | |||||
| @) نچل n'Icl | |||||
| نشان nIS'a:n | |||||
| @) ن (ڈ n | |||||
| _) نظر naz.'aR | |||||
| _) نظام nIz.'a:m | |||||
| .group ں | .group ں | ||||
| ں n // this should nasalize the vowel | ں n // this should nasalize the vowel |
| name english | name english | ||||
| language en-uk 2 | |||||
| language en-gb 2 | language en-gb 2 | ||||
| language en-uk 2 | |||||
| language en 2 | language en 2 | ||||
| gender male | gender male | ||||
| dictrules 3 6 | dictrules 3 6 | ||||
| option reduce_t 1 | option reduce_t 1 | ||||
| stressLength 145 125 190 170 0 0 260 300 | |||||
| stressLength 140 120 190 170 0 0 255 290 | |||||
| stressAmp 17 16 19 19 19 19 21 19 | stressAmp 17 16 19 19 19 19 21 19 | ||||
| replace 03 I i | replace 03 I i |
| name spanish-latin-american | |||||
| name spanish-latin-am | |||||
| language es-la | language es-la | ||||
| language es-mx 6 | language es-mx 6 | ||||
| language es 6 | language es 6 |
| name akan-test | |||||
| language ak | |||||
| translator sw | |||||
| name azerbaijani-test | |||||
| language az | |||||
| name bengali | |||||
| name bengali-test | |||||
| language bn | language bn | ||||
| gender male | gender male |
| name divehi-test | |||||
| language dv | |||||
| name haitian | |||||
| language ht | |||||
| name kazakh | |||||
| language kk | |||||
| name Korean | |||||
| name korean-test | |||||
| language ko | language ko | ||||
| gender male | gender male | ||||
| pitch 80 118 | pitch 80 118 |
| name maltese-test | |||||
| language mt | |||||
| name northern-sotho | |||||
| language nso | |||||
| translator sw |
| name dari-test | |||||
| language prs | |||||
| translator fa | |||||
| stressrule 10 |
| name kinyarwanda-test | |||||
| language rw | |||||
| gender male | |||||
| name sinhala | |||||
| name sinhala-test | |||||
| language si | language si | ||||
| intonation 2 | intonation 2 |
| name telugu | |||||
| name telugu-test | |||||
| language te | language te | ||||
| intonation 2 | intonation 2 |
| name setswana-test | |||||
| language tn | |||||
| name tatar-test | |||||
| language tt | |||||
| tunes s3 c3 q3 e3 | |||||
| name wolof-test | |||||
| language wo | |||||
| phoneme a | phoneme a | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 225 | length 225 | ||||
| FMT(vowel/aa_9) | |||||
| FMT(vowel/a_3) | |||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 200 | |||||
| length 210 | |||||
| FMT(vowel/i_6) | FMT(vowel/i_6) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 200 | |||||
| length 210 | |||||
| FMT(vowel/u) | FMT(vowel/u) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 200 | |||||
| length 210 | |||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| phoneme & | phoneme & | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 200 | |||||
| length 210 | |||||
| FMT(vowel/&_2) | FMT(vowel/&_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 200 | |||||
| length 210 | |||||
| IF nextPhW(w) THEN | IF nextPhW(w) THEN | ||||
| length 160 | |||||
| length 170 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/o) | FMT(vowel/o) | ||||
| endphoneme | endphoneme |
| // PB General rules for vowels: | // PB General rules for vowels: | ||||
| // Short vowels | // Short vowels | ||||
| // ACC: Short "pille" [p?el@-] | |||||
| // AC[V]: Short "piler" [p?ilV] | |||||
| // ACC: Short "pille" [p?el@-], "andre" [AndRV] | |||||
| // AC[V]: Short "piler" [p?ilV] - verbs, not nouns, which is a problem | |||||
| // A[N]: Short "bange" [b?AN@-] | // A[N]: Short "bange" [b?AN@-] | ||||
| // Long vowels | // Long vowels | ||||
| // A + group #@ OR group #e: Long "ae" "aer" [&:@-] | |||||
| // AC + group #@ OR group #e: Long "pile" [pi:l@-] | |||||
| // A + @- OR V: Long "ae" "aer" [&:@-] | |||||
| // AC + @- OR V: Long "pile" [pi:l@-] | |||||
| // AC[i]: Long "smidig" [smi:Di] | // AC[i]: Long "smidig" [smi:Di] | ||||
| // Change the length of short vowels (?+vowel) | |||||
| procedure ShortVowelLength | |||||
| // "endelig" - Short initial vowel sounds too short | |||||
| IF thisPh(isWordStart) THEN | |||||
| length 160 | |||||
| RETURN | |||||
| ENDIF | |||||
| // "slutte" t/d + @- makes the u too long | |||||
| IF next2PhW(@-) THEN | |||||
| IF nextPhW(t) OR nextPhW(d) THEN | |||||
| //length 100 | |||||
| LengthAdd -50 | |||||
| // Don't shorten it further if it comes after an "r" sound | |||||
| // Exit the procedure | |||||
| RETURN | |||||
| ENDIF | |||||
| ENDIF | |||||
| // "bygget" - consonant + [@-D] makes the vowel too long | |||||
| IF next2PhW(@-) THEN | |||||
| IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN | |||||
| LengthAdd -50 | |||||
| // Don't shorten it further if it comes after an "r" sound ("brygget") | |||||
| // Exit the procedure | |||||
| RETURN | |||||
| ENDIF | |||||
| ENDIF | |||||
| // "bygger" - consonant + [V] makes the vowel too long | |||||
| IF nextPhW(isNotVowel) AND next2PhW(V) THEN | |||||
| LengthAdd -50 | |||||
| // Don't shorten it further if it comes after an "r" sound ("brygger") | |||||
| // Exit the procedure | |||||
| RETURN | |||||
| ENDIF | |||||
| // "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long | |||||
| IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN | |||||
| // length 100 | |||||
| LengthAdd -50 | |||||
| ENDIF | |||||
| // "ring", "ringe", "fængsel" | |||||
| IF nextPhW(N) THEN | |||||
| // length 100 | |||||
| LengthAdd -10 | |||||
| ENDIF | |||||
| // "sigte" t/d + @- makes the vowel too long | |||||
| IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN | |||||
| IF next3PhW(@-) THEN | |||||
| // length 100 | |||||
| LengthAdd -50 | |||||
| ENDIF | |||||
| ENDIF | |||||
| endprocedure | |||||
| // Change the length of normal vowels (without ? in front of them) | |||||
| procedure LongVowelLength | |||||
| // "alene" - Short initial vowel sounds too short at length 140 | |||||
| IF thisPh(isWordStart) THEN | |||||
| length 160 | |||||
| RETURN | |||||
| ENDIF | |||||
| // "forlade" - [D@-] makes the vowel too long | |||||
| IF nextPhW(D) AND next2PhW(@-) THEN | |||||
| length 180 | |||||
| RETURN | |||||
| ENDIF | |||||
| // PB long vowel followed by [@-] or [V](vowel+vowel) - "pigen" [p'i@-n] | |||||
| IF nextPhW(@-) OR nextPhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| // PB "enig", "enige", "evig", "stædig" - vowel+consolant+[i] | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| // "ræve", "dele", "mene", "røve", "møve" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| // "vilje", "nedladende" [n'eDl&D@-n@-], "delte" - short followed by 2 consonants | |||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
| // Don't make "møve" [m'Ww_!@-_!] short | |||||
| IF NOT next2PhW(_!) THEN | |||||
| length 140 | |||||
| ENDIF | |||||
| ENDIF | |||||
| // "bryde", "bryder", "strålen", "henrivende" R makes the vowel too long | |||||
| IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN | |||||
| IF next2PhW(@-) OR next2PhW(V) THEN | |||||
| // length 180 | |||||
| LengthAdd -70 | |||||
| ENDIF | |||||
| ENDIF | |||||
| // "syste", "sylte" t/d/D + @- makes the vowel too long | |||||
| // "international", - added [V] TEST | |||||
| IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) OR next2PhW(D) THEN | |||||
| IF next3PhW(@-) OR next3PhW(V) THEN | |||||
| length 110 | |||||
| ENDIF | |||||
| ENDIF | |||||
| // "glimrende" [l/3] makes the following vowel too long | |||||
| // LengthAdd doesn't work here. The length could be 225 or 140 - 30 | |||||
| IF prevPhW(l/3) THEN | |||||
| // LengthAdd -30 | |||||
| length 110 | |||||
| ENDIF | |||||
| // "længe" - short - 2 consonants => 1 consonant (ng => [N]) | |||||
| IF nextPhW(N) THEN | |||||
| length 140 | |||||
| ENDIF | |||||
| endprocedure | |||||
| // A bit longer than [@-] | |||||
| phoneme @ | phoneme @ | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| unstressed | unstressed | ||||
| IF nextPhW(*) OR nextPhW(r) THEN | IF nextPhW(*) OR nextPhW(r) THEN | ||||
| ipa NULL // @-* is used to make 'r' | ipa NULL // @-* is used to make 'r' | ||||
| ENDIF | ENDIF | ||||
| length 40 | |||||
| length 50 | |||||
| // "femten", "manden" - only a short "n" sound | |||||
| IF nextPhW(n) THEN | |||||
| length 15 | |||||
| ENDIF | |||||
| IF prevPhW(isNotVowel) AND thisPh(isWordEnd) THEN | |||||
| length 15 | |||||
| ENDIF | |||||
| // "lige" [li@-] | |||||
| IF prevPhW(i) AND thisPh(isWordEnd) THEN | |||||
| length 15 | |||||
| ENDIF | |||||
| FMT(vowel/@-) | FMT(vowel/@-) | ||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 95 //150 | |||||
| // PB long vowel followed by consonant and certain vowels "gide" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(V) THEN | |||||
| length 150 | |||||
| length 140 | |||||
| // Long vowel followed by consonant and @- "gide", "pile" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) THEN | |||||
| // length 225 | |||||
| ENDIF | ENDIF | ||||
| // "gider", vrider" | // "gider", vrider" | ||||
| IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN | ||||
| length 95 | |||||
| ENDIF | |||||
| // PB long vowel followed by certain vowels - "pigen" [p'i@-n] | |||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // Only this vowel (in this case [i]) | |||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "sig", "si" | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // "vilje" - short followed by 2 consonants | |||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
| length 95 | |||||
| //"skider" short | |||||
| IF nextPhW(D) AND next2PhW(V) THEN | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // PB "tie", "stige", "krige" vowel + vowel: extra length | |||||
| // What is causing this very short [i] in words with final [@-]? | |||||
| // NOT "galleriet" [g,?&lVR'i@-D] NOT "krigen" [kR'i@-n] | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) AND NOT next2PhW(D) AND NOT next2PhW(n) THEN | |||||
| length 240 | |||||
| //"skideren" long | |||||
| IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
| endphoneme | endphoneme | ||||
| // sviret vs. svirret | // sviret vs. svirret | ||||
| phoneme ?i | phoneme ?i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
| FMT(vowel/i_4) | FMT(vowel/i_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme e | phoneme e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 95 //150 | |||||
| // "delte", "mente" | |||||
| IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // PB "ring", "ringe" | |||||
| IF nextPhW(N) THEN | |||||
| length 95 | |||||
| ENDIF | |||||
| // PB "enig", "enige", "evig" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // Only "e" | |||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "nedladende" [n'eDl&D@-n@-] - before 2 consonants: short | |||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
| length 95 | |||||
| ENDIF | |||||
| length 140 | |||||
| CALL LongVowelLength | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| // "skille" vs. "skele", "pille" vs. "pile" | // "skille" vs. "skele", "pille" vs. "pile" | ||||
| phoneme ?e | phoneme ?e | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| phoneme E | phoneme E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 100 //150 | |||||
| // "værelse", "breve" | |||||
| IF nextVowel(3) OR nextVowel(V) OR nextVowel(@) OR nextVowel(@-) THEN | |||||
| // length 150 | |||||
| ENDIF | |||||
| // "ræve" | |||||
| IF nextVowel(#@) OR nextVowel(#e) THEN | |||||
| length 160 | |||||
| length 140 | |||||
| // no link with next vowel | |||||
| IF thisPh(isWordEnd) THEN | |||||
| IfNextVowelAppend(_!) | |||||
| ENDIF | ENDIF | ||||
| // "ære", "kærester", "ærefrygt" - longer E | |||||
| // "ære", "kærester", "ærefrygt" - vowel + vowel | |||||
| IF nextPhW(V) THEN | IF nextPhW(V) THEN | ||||
| length 180 | |||||
| ENDIF | |||||
| // Only the letter "æ" - long | |||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 160 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "stædig" [st'EDi] long | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 160 | |||||
| ENDIF | |||||
| // "længe" - short - 2 consonants => 1 consonant | |||||
| IF nextPhW(N) THEN | |||||
| length 120 | |||||
| // "dræber" TEST shortened by -70 in procedure because of the "r" sound | |||||
| IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) AND next2PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| // "værelse" [v'E3-Vls@_!] | // "værelse" [v'E3-Vls@_!] | ||||
| IF nextPhW(3-) AND next2PhW(V) THEN | IF nextPhW(3-) AND next2PhW(V) THEN | ||||
| length 120 | |||||
| ENDIF | |||||
| // "mælkebøtte" - short followed by 2 consonants | |||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
| length 120 | |||||
| length 100 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme ?E | phoneme ?E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| ipa ε | ipa ε | ||||
| length 100 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/e_mid2) | FMT(vowel/e_mid2) | ||||
| endphoneme | endphoneme | ||||
| phoneme & | phoneme & | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| ipa a | |||||
| length 90 //150 | |||||
| // "same", "sale", "bade" - consonant + gooup #e or group #@: long | |||||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| ipa æ | |||||
| length 140 | |||||
| // "same", "sale", "bade" - consonant + @-: long | |||||
| // but NOT "hinanden" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) THEN | |||||
| IF NOT next3PhW(n) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| ENDIF | ENDIF | ||||
| // ThisPh + gooup #e or group #@ | |||||
| // ThisPh + V or @- | |||||
| // "ae", "aer" vowel + vowel: extra length | // "ae", "aer" vowel + vowel: extra length | ||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| length 220 | |||||
| ENDIF | |||||
| // This vowel is word end - longer because it sounds too short | |||||
| // "ja", "Omaha" | |||||
| IF thisPh(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // Only this vowel (in this case [&]) | |||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) OR prevPhW(_) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "stadig" [st&Di], "stadigt" [st&Dit] | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 180 | |||||
| ENDIF | |||||
| // "Alfie", "alfer" - short before 2 consonants | |||||
| IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN | |||||
| length 90 | |||||
| IF nextPhW(@-) OR nextPhW(V) THEN | |||||
| length 260 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/ee_2) | FMT(vowel/ee_2) | ||||
| endphoneme | endphoneme | ||||
| // PB Short & | |||||
| // Short & | |||||
| // e.g. the last a in "staldkarl" | // e.g. the last a in "staldkarl" | ||||
| // "sale" vs. "sal" | // "sale" vs. "sal" | ||||
| phoneme ?& | phoneme ?& | ||||
| ipa a | |||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| FMT(vowel/ee_2) | |||||
| length 140 | |||||
| FMT(vowel/ee_2) | |||||
| endphoneme | endphoneme | ||||
| // PB added for the æ in "dræbt" | |||||
| // Added for the æ in "dræbt" | |||||
| phoneme &# | phoneme &# | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 120 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| length 140 | |||||
| ipa a | |||||
| CALL LongVowelLength | |||||
| // CALL ShortVowelLength | |||||
| FMT(vowel/&) | FMT(vowel/&) | ||||
| endphoneme | endphoneme | ||||
| // "revl" vs. "tremme" | // "revl" vs. "tremme" | ||||
| phoneme ?&# | phoneme ?&# | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/&) | FMT(vowel/&) | ||||
| endphoneme | endphoneme | ||||
| //phoneme a | |||||
| // vowel starttype #a endtype #a | |||||
| // length 90 //150 | |||||
| //IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| // length 150 | |||||
| //ENDIF | |||||
| // FMT(vowel/a_2) | |||||
| //endphoneme | |||||
| // PB short (glottal) a | |||||
| // "bragt" | |||||
| //phoneme ?a | |||||
| // vowel starttype #a endtype #a | |||||
| // length 90 | |||||
| // FMT(vowel/a_2) | |||||
| //endphoneme | |||||
| phoneme A // PB changed to a_8 | phoneme A // PB changed to a_8 | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 90 //150 | |||||
| // PB long vowel followed by consonant and certain vowels - "drabelig" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "far", "bastard" - a bit longer followed by [r] | |||||
| IF nextPhW(r) AND nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| ENDIF | |||||
| // "bange" [bAN@-] - [N] = 2 consonants (ng) => short | |||||
| IF nextPhW(N) THEN | |||||
| length 90 | |||||
| ENDIF | |||||
| length 140 | |||||
| CALL LongVowelLength | |||||
| // "fare" [f'A:A] | // "fare" [f'A:A] | ||||
| IF nextPhW(A) THEN | IF nextPhW(A) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/a_8) | FMT(vowel/a_8) | ||||
| endphoneme | endphoneme | ||||
| // PB short A | // PB short A | ||||
| // "drab" vs. "drabelig" | |||||
| // "krabbe" vs. "drabelig" | |||||
| phoneme ?A | phoneme ?A | ||||
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| length 90 | |||||
| // "straffeattest", "straffe", "rapid" - a bit longer after R | |||||
| IF prevPhW(R) AND nextPhW(isNotVowel) AND next2PhW(isVowel) THEN | |||||
| length 110 | |||||
| ENDIF | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/a_8) | FMT(vowel/a_8) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 90 //150 | |||||
| length 140 | |||||
| // "suge", "uge", "bluse", "julegave" | // "suge", "uge", "bluse", "julegave" | ||||
| IF nextPhW(#e) OR nextPhW(#@) OR next2PhW(#e) OR next2PhW(#@)THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "umulig" [u:m'uli] | |||||
| IF nextVowel(i) AND nextVowel(isFinalVowel) AND nextVowel(isWordEnd) THEN | |||||
| length 180 | |||||
| ENDIF | |||||
| // Only "u" | |||||
| IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "fugl" [ful] - a bit longer | |||||
| IF nextPhW(isWordEnd) THEN | |||||
| length 120 | |||||
| IF nextPhW(@-) OR nextPhW(V) OR next2PhW(@-) OR next2PhW(V)THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
| endphoneme | endphoneme | ||||
| // PB glottal u | |||||
| // Short u | |||||
| // "tude" vs. "tuden" - [tuD3] [t?uD@n] | // "tude" vs. "tuden" - [tuD3] [t?uD@n] | ||||
| phoneme ?u | phoneme ?u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/u_bck) | FMT(vowel/u_bck) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 //150 | |||||
| // "bore", "borer" | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 150 | |||||
| length 140 | |||||
| // "bore", "borer" [boV] o + V | |||||
| IF nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "modig" - long vowel after consonant + [i] | |||||
| IF nextPhW(D) AND next2PhW(i) THEN | |||||
| length 150 | |||||
| // "kone", "koner" o + consonant + V or @- | |||||
| IF next2PhW(V) OR next2PhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
| endphoneme | endphoneme | ||||
| // "patron" vs. "kone" | // "patron" vs. "kone" | ||||
| phoneme ?o | phoneme ?o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 95 | |||||
| length 140 | |||||
| FMT(vowel/o_2) | FMT(vowel/o_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme O | phoneme O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 // 150 | |||||
| // "sove", "sover" - consonant + #e or #@: long | |||||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| length 140 | |||||
| ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ | |||||
| // "sove", "sover" - consonant + @ or V: long | |||||
| IF next2PhW(@-) OR next2PhW(V) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // PB "gået" - ThisPh + #e or #@ | |||||
| IF nextPhW(#e) OR nextPhW(#@) THEN | |||||
| length 150 | |||||
| // PB "gået" - ThisPh + V or @- | |||||
| IF nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "rådig" | |||||
| IF nextVowel(i) AND nextVowel(isFinalVowel) THEN | |||||
| length 180 | |||||
| // "såre", "sårede" [s'O:?OD@-] | |||||
| IF nextPhW(O) OR nextPhW(?O) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
| endphoneme | endphoneme | ||||
| // "toget" vs. "tåget" | // "toget" vs. "tåget" | ||||
| phoneme ?O | phoneme ?O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/o_5) | FMT(vowel/o_5) | ||||
| endphoneme | endphoneme | ||||
| phoneme V | phoneme V | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 150 | |||||
| // "sport" [spV:t] | |||||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPh(3) OR nextPh(V) OR nextPh(@) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // PB short V in "holder", "solder" | |||||
| IF nextPhW(isNotVowel) AND next2Ph(V) THEN | |||||
| length 90 | |||||
| ENDIF | |||||
| // "snorke", "snorker", årlig | |||||
| IF next2PhW(3) OR next2PhW(V) OR next2PhW(@) OR next2PhW(i) THEN | |||||
| length 180 | |||||
| ENDIF | |||||
| // "sove" [sVw3] - longer followed by w + 3 | |||||
| IF nextPhW(w) AND next2PhW(3) THEN | |||||
| length 220 | |||||
| ENDIF | |||||
| // PB "konge" | |||||
| IF nextPhW(N) THEN | |||||
| length 95 | |||||
| ENDIF | |||||
| length 140 | |||||
| CALL LongVowelLength | |||||
| FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
| endphoneme | endphoneme | ||||
| // PB Short å | |||||
| // PB Short V | |||||
| // "forstår" vs. "kåre" | // "forstår" vs. "kåre" | ||||
| phoneme ?V | phoneme ?V | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 | |||||
| length 140 | |||||
| FMT(vowel/V_4) | FMT(vowel/V_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme 0 | phoneme 0 | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 150 | |||||
| IF NOT next2PhW(3) AND NOT next2PhW(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| length 140 | |||||
| ipa ɔ | |||||
| FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
| endphoneme | endphoneme | ||||
| // Short 0 "sukker" | // Short 0 "sukker" | ||||
| phoneme ?0 | phoneme ?0 | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 90 | |||||
| length 140 | |||||
| ipa ɔ | |||||
| FMT(vowel/oo_2) | FMT(vowel/oo_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme y | phoneme y | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| // Length changed to short since most vowels are short. | |||||
| // It's probably easier only to make rules for long vowels. | |||||
| length 90 //150 | |||||
| length 140 | |||||
| // PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
| // "lyde", "lyder" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // Only this vowel (in this case [y]) | |||||
| IF thisPh(isFinalVowel) AND thisPh(isWordEnd) AND thisPh(isWordStart) THEN | |||||
| length 150 | |||||
| ENDIF | |||||
| // "dydig" [dyDi] | |||||
| IF nextPhW(isNotVowel) AND next2PhW(i) THEN | |||||
| length 150 | |||||
| // "gyde", "gyder" | |||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(V) THEN | |||||
| // not "gebyret" TEST | |||||
| IF NOT nextPhW(3-) AND NOT nextPhW(R) AND NOT nextPhW(r) THEN | |||||
| length 225 | |||||
| ENDIF | |||||
| ENDIF | ENDIF | ||||
| // "syge" [sy3] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
| IF nextPhW(#e) OR nextPhW(#@) AND NOT next2PhW(D) THEN | |||||
| length 200 | |||||
| // "syge" [sy@-] vowel + vowel: extra length, but NOT "fyret" [fyVD] | |||||
| IF nextPhW(@-) OR nextPhW(3) AND NOT next2PhW(D) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "tyve" | // "tyve" | ||||
| IF nextPhW(?u) AND next2PhW(@-) THEN | |||||
| length 150 | |||||
| IF nextPhW(w) AND next2PhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/y) | FMT(vowel/y) | ||||
| endphoneme | endphoneme | ||||
| // "kylling" vs. "kyle", "krybbe" vs. "krybe" | // "kylling" vs. "kyle", "krybbe" vs. "krybe" | ||||
| phoneme ?y | phoneme ?y | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/y) | FMT(vowel/y) | ||||
| endphoneme | endphoneme | ||||
| phoneme Y | phoneme Y | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 150 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| length 90 | |||||
| ENDIF | |||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) THEN | |||||
| length 150 | |||||
| length 140 | |||||
| IF nextPhW(V) OR nextPhW(@-) THEN | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/yy) | FMT(vowel/yy) | ||||
| endphoneme | endphoneme | ||||
| phoneme W | phoneme W | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 //160 | |||||
| // "kløe" vowel + vowel: extra length | |||||
| IF nextPhW(#@) OR nextPhW(#e) THEN | |||||
| length 220 | |||||
| ENDIF | |||||
| // røde" W + 1 consonant + 3 or W or @ | |||||
| IF next2PhW(#@) OR next2PhW(#e) THEN | |||||
| length 160 | |||||
| ENDIF | |||||
| // "røveri" but NOT "surfer" [sWf?V] TEST | |||||
| length 140 | |||||
| // "røveri" but NOT "surfer" [sWfV] TEST | |||||
| IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN | ||||
| length 90 | |||||
| ENDIF | |||||
| // PB "nødig", "nødigt", "kølige" | |||||
| IF nextVowel(i) THEN | |||||
| length 160 | |||||
| ENDIF | |||||
| // "møve" [mWw@-] | |||||
| IF nextPhW(w) AND nextVowel(@-) THEN | |||||
| length 160 | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| // "børnebog" | |||||
| IF nextPhW(r) AND next2PhW(n) AND nextVowel(@-) THEN | |||||
| length 150 | |||||
| // "børnebog" - short | |||||
| IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN | |||||
| length 140 | |||||
| ENDIF | ENDIF | ||||
| CALL LongVowelLength | |||||
| FMT(vowel/oe) | FMT(vowel/oe) | ||||
| endphoneme | endphoneme | ||||
| // "prøv" vs. "prøve" | // "prøv" vs. "prøve" | ||||
| phoneme ?W | phoneme ?W | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 95 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/oe) | FMT(vowel/oe) | ||||
| endphoneme | endphoneme | ||||
| // Added for the ø in "røv", "røg", "øje" instead of [V3] | // Added for the ø in "røv", "røg", "øje" instead of [V3] | ||||
| phoneme W# | phoneme W# | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 //150 | |||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2PhW(@-) AND nextPhW(isNotVowel) THEN | |||||
| glstop | |||||
| // length 90 | |||||
| ENDIF | |||||
| length 140 //225 | |||||
| // PB long vowel followed by consonant and certain vowels | // PB long vowel followed by consonant and certain vowels | ||||
| IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| FMT(vowel/V) | FMT(vowel/V) | ||||
| endphoneme | endphoneme | ||||
| // "rømme" | // "rømme" | ||||
| phoneme ?W# | phoneme ?W# | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 90 | |||||
| length 140 | |||||
| CALL ShortVowelLength | |||||
| FMT(vowel/V) | FMT(vowel/V) | ||||
| endphoneme | endphoneme | ||||
| length 300 | length 300 | ||||
| IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN | ||||
| glstop | glstop | ||||
| length 150 | |||||
| length 225 | |||||
| ENDIF | ENDIF | ||||
| // "dreje" [dR'aI@-_!] | // "dreje" [dR'aI@-_!] | ||||
| IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN | ||||
| phoneme l | phoneme l | ||||
| liquid | liquid | ||||
| lengthmod 7 | lengthmod 7 | ||||
| // [ll] => [-l] - avoid double l | |||||
| IF nextPhW(l) THEN | |||||
| // ChangePhoneme(-) | |||||
| ENDIF | |||||
| ChangePhoneme(l/3) | ChangePhoneme(l/3) | ||||
| // CALL base/l | // CALL base/l | ||||
| endphoneme | endphoneme | ||||
| phoneme l/3 // Replacement for [l/] | phoneme l/3 // Replacement for [l/] | ||||
| liquid | liquid | ||||
| lengthmod 7 | lengthmod 7 | ||||
| IF nextPh(isVowel) THEN | |||||
| // ChangePhoneme(l) | |||||
| ENDIF | |||||
| PrevVowelEndings | |||||
| VowelEnding(l/l_@) | |||||
| VowelEnding(l/l_a,-70) // kvalt, kapital | |||||
| VowelEnding(l/l_e, -40) | |||||
| VowelEnding(l/l_i, -70) | |||||
| VowelEnding(l/l_o,-70) // stole, skole, pistol | |||||
| VowelEnding(l/l_u, -70) | |||||
| EndSwitch | |||||
| // IF nextPh(isLiquid) THEN | |||||
| // FMT(l/_l) | |||||
| // ENDIF | |||||
| FMT(l/l_) | FMT(l/l_) | ||||
| endphoneme | endphoneme | ||||
| phoneme j | phoneme j | ||||
| liquid palatal | liquid palatal | ||||
| lengthmod 7 | lengthmod 7 | ||||
| // no link with next vowel | |||||
| IF thisPh(isWordEnd) THEN | |||||
| IfNextVowelAppend(_!) | |||||
| ENDIF | |||||
| IF nextPhW(isVowel) THEN | IF nextPhW(isVowel) THEN | ||||
| NextVowelStarts | NextVowelStarts | ||||
| VowelStart(j/j@) | VowelStart(j/j@) |
| vowel starttype #a endtype #a | vowel starttype #a endtype #a | ||||
| ipa a | ipa a | ||||
| length 185 | length 185 | ||||
| IF MbrolaSynth THEN | |||||
| ChangePhoneme(A:) | |||||
| ENDIF | |||||
| IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
| FMT(vowel/a) | FMT(vowel/a) | ||||
| endphoneme | endphoneme | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| unstressed | unstressed | ||||
| length 130 | length 130 | ||||
| IF MbrolaSynth THEN | |||||
| ChangePhoneme(I) | |||||
| ENDIF | |||||
| IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
| FMT(vowel/ii_4) | FMT(vowel/ii_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme I# // used for [I] which may be [@] in some accents | phoneme I# // used for [I] which may be [@] in some accents | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| unstressed | unstressed | ||||
| length 130 | length 130 | ||||
| IF MbrolaSynth THEN | |||||
| ChangePhoneme(I) | |||||
| ENDIF | |||||
| IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
| ChangePhoneme(I2) | ChangePhoneme(I2) | ||||
| endphoneme | endphoneme | ||||
| phoneme i // optional variant of [I] for end of words | phoneme i // optional variant of [I] for end of words | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| ipa ɪ | ipa ɪ | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| ipa ɔː | ipa ɔː | ||||
| length 250 | length 250 | ||||
| IF MbrolaSynth THEN | |||||
| ChangePhoneme(O@) | |||||
| ENDIF | |||||
| IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
| FMT(vowel/oo_en) | FMT(vowel/oo_en) | ||||
| endphoneme | endphoneme | ||||
| phoneme i@3 | phoneme i@3 | ||||
| vowel starttype #i endtype #@ | vowel starttype #i endtype #@ | ||||
| length 250 | length 250 | ||||
| IF MbrolaSynth THEN | |||||
| ChangePhoneme(i@) | |||||
| ENDIF | |||||
| IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
| FMT(vdiph2/ii@) | FMT(vdiph2/ii@) | ||||
| endphoneme | endphoneme |
| phoneme E | phoneme E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 195 | |||||
| length 190 | |||||
| ChangeIfDiminished(I2) | ChangeIfDiminished(I2) | ||||
| FMT(vwl_en_us/ee) | FMT(vwl_en_us/ee) | ||||
| endphoneme | endphoneme | ||||
| phoneme O: | phoneme O: | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 210 | |||||
| length 200 | |||||
| ChangeIfDiminished(@) | ChangeIfDiminished(@) | ||||
| IF nextPh(r) THEN | IF nextPh(r) THEN | ||||
| FMT(vwl_en_us/oor) | FMT(vwl_en_us/oor) | ||||
| phoneme aI | phoneme aI | ||||
| vowel starttype #a endtype #i | vowel starttype #a endtype #i | ||||
| length 250 | |||||
| length 240 | |||||
| IF nextPh(#a) OR nextPh(#o) THEN | IF nextPh(#a) OR nextPh(#o) THEN | ||||
| AppendPhoneme(;) | AppendPhoneme(;) | ||||
| ENDIF | ENDIF | ||||
| phoneme eI | phoneme eI | ||||
| vowel starttype #e endtype #i | vowel starttype #e endtype #i | ||||
| length 230 | |||||
| FMT(vdiph/eei_5) | |||||
| length 220 | |||||
| FMT(vdiph2/ei_4) | |||||
| // FMT(vdiph/eei_5) | |||||
| endphoneme | endphoneme | ||||
| phoneme OI | phoneme OI | ||||
| vowel starttype #o endtype #i | vowel starttype #o endtype #i | ||||
| length 285 | |||||
| length 280 | |||||
| FMT(vdiph/ooi_4) | FMT(vdiph/ooi_4) | ||||
| endphoneme | endphoneme | ||||
| phoneme aI3 | phoneme aI3 | ||||
| vowel starttype #a endtype #@ | vowel starttype #a endtype #@ | ||||
| length 300 | |||||
| length 310 | |||||
| ipa aɪɚ | ipa aɪɚ | ||||
| IfNextVowelAppend(r-) | IfNextVowelAppend(r-) | ||||
| FMT(vwl_en_us/ai3) | FMT(vwl_en_us/ai3) |
| phoneme c# | phoneme c# | ||||
| CALL base/tS; | CALL base/tS; | ||||
| ipa ch | |||||
| ipa cU+02B0 | |||||
| endphoneme | endphoneme | ||||
| FMT(dzh/dzh) addWav(x/dz_pzd) | FMT(dzh/dzh) addWav(x/dz_pzd) | ||||
| endphoneme | endphoneme | ||||
| phoneme s- | |||||
| import_phoneme base/s // temporary | |||||
| endphoneme | |||||
| phoneme q- | |||||
| import_phoneme base/q // temporary | |||||
| endphoneme | |||||
| phoneme tS;- | |||||
| import_phoneme base/tS; // temporary | |||||
| endphoneme | |||||
| phoneme d- | |||||
| import_phoneme base/d | |||||
| endphoneme | |||||
| // phoneme tSh; ?? changed to [tS;h] in ko_rules | |||||
| // phoneme h- in ko_list (for 10^3) ?? changed to [h] | |||||
| // phoneme tSh- changed to tSh | |||||
| phoneme * // r(ㄹ) at initial, medial | phoneme * // r(ㄹ) at initial, medial | ||||
| vcd alv flp rhotic | vcd alv flp rhotic | ||||
| ipa ɾ | ipa ɾ |
| length 130 | length 130 | ||||
| IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN | ||||
| FMT(vowel/a#_2) | |||||
| FMT(vowel/a#_4) | |||||
| ELSE | ELSE | ||||
| ChangeIfUnstressed(@) | ChangeIfUnstressed(@) | ||||
| endphoneme | endphoneme | ||||
| // Aspirated voice stops, sound like aspirated unvoiced stops ? | |||||
| phoneme b# | |||||
| vls blb stop prevoice | |||||
| lengthmod 2 | |||||
| voicingswitch b | |||||
| Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 | |||||
| Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(b/xb) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/p_) | |||||
| ENDIF | |||||
| IF nextPh(l) THEN | |||||
| WAV(ustop/pl) | |||||
| ENDIF | |||||
| WAV(ustop/p_asp) | |||||
| endphoneme | |||||
| phoneme d# | |||||
| vls dnt stop prevoice | |||||
| lengthmod 2 | |||||
| voicingswitch d | |||||
| Vowelin f1=0 f2=1500 -300 300 f3=-100 80 amp=16 | |||||
| Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(d/xd) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/t_dnt, 35) | |||||
| ENDIF | |||||
| WAV(ustop/t_dnt, 50) | |||||
| endphoneme | |||||
| phoneme d.# | |||||
| vls rfx stop prevoice | |||||
| lengthmod 2 | |||||
| ipa ʈU+02B0 | |||||
| Vowelin f1=0 f2=1800 -300 300 f3=-400 80 | |||||
| Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(d/xdr) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| voicingswitch d.# | |||||
| WAV(ustop/t) | |||||
| endphoneme | |||||
| phoneme J# | |||||
| vls pal afr sibilant palatal prevoice | |||||
| voicingswitch c# | |||||
| lengthmod 2 | |||||
| Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(dzh/xdz_pzd) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/ts_pzd) | |||||
| ENDIF | |||||
| WAV(ustop/ts_pzd) | |||||
| endphoneme | |||||
| phoneme g# | |||||
| vls vel stop prevoice | |||||
| lengthmod 2 | |||||
| Vowelin f1=1 f2=1400 -100 100 f3=-150 80 | |||||
| Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20 | |||||
| IF PreVoicing THEN | |||||
| IF prevPhW(isVowel) THEN | |||||
| FMT(g/xg) | |||||
| ELSE | |||||
| FMT(voc/murmur1) | |||||
| ENDIF | |||||
| ENDIF | |||||
| IF nextPh(isPause2) THEN | |||||
| WAV(ustop/k_asp, 40) | |||||
| ENDIF | |||||
| IF nextPhW(#e) OR nextPhW(#i) THEN | |||||
| WAV(ustop/k_asp_e, 40) | |||||
| ELIF nextPhW(#o) OR nextPhW(#u) THEN | |||||
| WAV(ustop/k_asp_a, 25) | |||||
| ELSE | |||||
| WAV(ustop/k_asp_a, 30) | |||||
| ENDIF | |||||
| endphoneme | |||||
| phoneme E | phoneme E | ||||
| vowel starttype #e endtype #e | vowel starttype #e endtype #e | ||||
| length 170 | |||||
| length 180 | |||||
| ChangeIfUnstressed(y) | ChangeIfUnstressed(y) | ||||
| 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 160 | |||||
| length 180 | |||||
| ChangeIfUnstressed(y) | ChangeIfUnstressed(y) | ||||
| FMT(vowel/e) | FMT(vowel/e) | ||||
| endphoneme | endphoneme | ||||
| phoneme y | phoneme y | ||||
| vowel starttype #@ endtype #@ | vowel starttype #@ endtype #@ | ||||
| length 110 | |||||
| length 130 | |||||
| ipa ɨ | ipa ɨ | ||||
| FMT(vowel/i#_5) | FMT(vowel/i#_5) | ||||
| endphoneme | endphoneme | ||||
| phoneme i | phoneme i | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 150 | |||||
| length 170 | |||||
| IfNextVowelAppend(;) | IfNextVowelAppend(;) | ||||
| FMT(vowel/i) | FMT(vowel/i) | ||||
| endphoneme | endphoneme | ||||
| phoneme i/ // changes to NULL before a vowel | phoneme i/ // changes to NULL before a vowel | ||||
| vowel starttype #i endtype #i | vowel starttype #i endtype #i | ||||
| length 100 | |||||
| length 130 | |||||
| ipa ɨ | ipa ɨ | ||||
| IF nextPh(isVowel) THEN | IF nextPh(isVowel) THEN | ||||
| ChangePhoneme(NULL) | ChangePhoneme(NULL) | ||||
| phoneme O | phoneme O | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 170 | |||||
| length 180 | |||||
| // ChangeIfNotStressed(o) | // ChangeIfNotStressed(o) | ||||
| FMT(vowel/0_2) | FMT(vowel/0_2) | ||||
| endphoneme | endphoneme | ||||
| phoneme o | phoneme o | ||||
| vowel starttype #o endtype #o | vowel starttype #o endtype #o | ||||
| length 170 | |||||
| length 180 | |||||
| ChangeIfNotStressed(u) | ChangeIfNotStressed(u) | ||||
| FMT(vowel/o) | FMT(vowel/o) | ||||
| endphoneme | endphoneme | ||||
| phoneme u | phoneme u | ||||
| vowel starttype #u endtype #u | vowel starttype #u endtype #u | ||||
| length 160 | |||||
| length 180 | |||||
| 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 110 | |||||
| length 130 | |||||
| IF nextPh(isVowel) THEN | IF nextPh(isVowel) THEN | ||||
| ChangePhoneme(w) | ChangePhoneme(w) | ||||
| ENDIF | ENDIF | ||||
| phoneme EU | phoneme EU | ||||
| vowel starttype #e endtype #u | vowel starttype #e endtype #u | ||||
| length 220 | |||||
| length 230 | |||||
| FMT(vdiph/eeu_2) | FMT(vdiph/eeu_2) | ||||
| endphoneme | endphoneme | ||||
| ChangePhoneme(NULL) | ChangePhoneme(NULL) | ||||
| endphoneme | endphoneme | ||||
| phoneme z. | |||||
| CALL base/z. | |||||
| ipa U+027B | |||||
| endphoneme |
| phonemetable ml hi | phonemetable ml hi | ||||
| include ph_malayalam | include ph_malayalam | ||||
| phonemetable te hi | |||||
| include ph_telugu | |||||
| phonemetable hu base | phonemetable hu base | ||||
| phonemetable am base | phonemetable am base | ||||
| include ph_amhari | 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. | ||||
| // These langauges are not in a usable state. | // These langauges are not in a usable state. | ||||
| // These lines can be deleted. | // These lines can be deleted. | ||||
| phonemetable rw base2 | |||||
| include ph_kinyarwanda | |||||
| phonemetable si hi | |||||
| include ph_sinhala | |||||
| phonemetable sl sk | |||||
| include ph_slovenian | |||||
| //phonemetable rw base2 | |||||
| //include ph_kinyarwanda | |||||
| //phonemetable mr hi | //phonemetable mr hi | ||||
| //include ph_marathi | //include ph_marathi | ||||
| //phonemetable prs base | //phonemetable prs base | ||||
| //include ph_dari | //include ph_dari | ||||
| phonemetable sl sk | |||||
| include ph_slovenian | |||||
| //phonemetable gd base | //phonemetable gd base | ||||
| //include ph_s_gaelic | //include ph_s_gaelic | ||||
| //phonemetable dv hi | //phonemetable dv hi | ||||
| //include ph_divehi | //include ph_divehi | ||||
| //phonemetable te hi | |||||
| //include ph_telugu | |||||
| //phonemetable tn base | //phonemetable tn base | ||||
| //include ph_setswana | //include ph_setswana | ||||
| //phonemetable mt base | //phonemetable mt base | ||||
| //include ph_maltese | //include ph_maltese | ||||
| # Toolflags: | # Toolflags: | ||||
| CCflags = -c -C90 -depend !Depend -IC: -throwback -zM | |||||
| C++flags = -c -depend !Depend -IC: -throwback -zM | |||||
| CCflags = -c -C90 -depend !Depend -IC: -throwback -memaccess -zM -L22-S22-L41 | |||||
| C++flags = -c -depend !Depend -IC: -throwback -zM -L22-S22-L41 | |||||
| Linkflags = -rmf -c++ -o $@ | Linkflags = -rmf -c++ -o $@ | ||||
| ObjAsmflags = -throwback -NoCache -depend !Depend | ObjAsmflags = -throwback -NoCache -depend !Depend | ||||
| CMHGflags = | CMHGflags = | ||||
| objasm $(objasmflags) -from @.s.assemb -to @.o.assemb | objasm $(objasmflags) -from @.s.assemb -to @.o.assemb | ||||
| # Dynamic dependencies: | # Dynamic dependencies: | ||||
| /*************************************************************************** | /*************************************************************************** | ||||
| * Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
| * Copyright (C) 2005 to 2013 by Jonathan Duddington * | |||||
| * email: [email protected] * | * email: [email protected] * | ||||
| * * | * * | ||||
| * This program is free software; you can redistribute it and/or modify * | * This program is free software; you can redistribute it and/or modify * | ||||
| #include <ctype.h> | #include <ctype.h> | ||||
| #include <locale.h> | #include <locale.h> | ||||
| #include "kernel.h" | #include "kernel.h" | ||||
| #include <math.h> | |||||
| #include "speech.h" | #include "speech.h" | ||||
| #include "speak_lib.h" | #include "speak_lib.h" | ||||
| voice_variant_names[n_voice_variant_files++] = p; | voice_variant_names[n_voice_variant_files++] = p; | ||||
| } | } | ||||
| else | else | ||||
| if(strcmp(p, "default") != 0) | |||||
| { | { | ||||
| if(n_voice_files >= (N_VOICE_NAMES-1)) | if(n_voice_files >= (N_VOICE_NAMES-1)) | ||||
| continue; | continue; | ||||
| void ReadVoiceNames() | void ReadVoiceNames() | ||||
| {//=================== | {//=================== | ||||
| char directory[sizeof(path_home)+10]; | |||||
| char directory[sizeof(path_home)+20]; | |||||
| n_voice_files = 0; | n_voice_files = 0; | ||||
| n_voice_variant_files = 0; | n_voice_variant_files = 0; | ||||
| sprintf(directory,"%s.voices.default", path_home); | |||||
| if(GetFileLength(directory) > 0) | |||||
| { | |||||
| // put the 'default' voice at the start of the list | |||||
| voice_names[n_voice_files++] = "default"; | |||||
| } | |||||
| sprintf(directory,"%s.voices",path_home); | sprintf(directory,"%s.voices",path_home); | ||||
| ReadVoiceNames2(directory); | ReadVoiceNames2(directory); | ||||
| int initialise(void) | int initialise(void) | ||||
| {//================= | {//================= | ||||
| sprintf(path_home,"%s.espeak-data","<eSpeak$Dir>"); | |||||
| char buf[N_PATH_HOME]; | |||||
| _kernel_swi_regs regs; | |||||
| _kernel_oserror *error; | |||||
| buf[0] = 0; | |||||
| regs.r[0] = (int)"eSpeak$Dir"; | |||||
| regs.r[1] = (int)buf; | |||||
| regs.r[2] = sizeof(buf); | |||||
| regs.r[3] = 0; | |||||
| regs.r[4] = 0; | |||||
| regs.r[5] = 0; | |||||
| error = _kernel_swi(0x20023,®s,®s); // OS_ReadVarVal | |||||
| buf[regs.r[2]] = 0; | |||||
| sprintf(path_home,"%s.espeak-data",buf); | |||||
| if(GetFileLength(path_home) != -2) | if(GetFileLength(path_home) != -2) | ||||
| { | { | ||||
| // not found, try the 10 character version of the directory name | // not found, try the 10 character version of the directory name | ||||
| sprintf(path_home,"%s.espeak-dat","<eSpeak$Dir>"); | |||||
| sprintf(path_home,"%s.espeak-dat",buf); | |||||
| } | } | ||||
| if(GetFileLength(path_home) != -2) | if(GetFileLength(path_home) != -2) | ||||
| { | { | ||||
| } | } | ||||
| WavegenInit(22050,0); | WavegenInit(22050,0); | ||||
| LoadPhData(); | |||||
| LoadPhData(NULL); | |||||
| SetVoiceStack(NULL, ""); | SetVoiceStack(NULL, ""); | ||||
| SynthesizeInit(); | SynthesizeInit(); | ||||
| return(0); | return(0); | ||||
| static_length = 0; | static_length = 0; | ||||
| else | else | ||||
| { | { | ||||
| strcat(&static_buf[static_length]," : "); | |||||
| strcat(&static_buf[static_length]," \n "); | |||||
| static_length+=3; | static_length+=3; | ||||
| } | } | ||||
| void jsd_swi_functions(int *r) | void jsd_swi_functions(int *r) | ||||
| /****************************/ | /****************************/ | ||||
| { | { | ||||
| int use_ipa; | |||||
| espeak_VOICE voice_select; | espeak_VOICE voice_select; | ||||
| switch(r[0]) | switch(r[0]) | ||||
| { | { | ||||
| case 0: /* major version */ | case 0: /* major version */ | ||||
| r[0] = 4; | r[0] = 4; | ||||
| r[1] = 331; | |||||
| r[1] = 347; | |||||
| break; | break; | ||||
| case 1: /* register user */ | case 1: /* register user */ | ||||
| break; | break; | ||||
| case 3: | case 3: | ||||
| // r[0] = (int)speech_to_phonemes((char *)r[1]); | |||||
| // translate into phonemes | |||||
| use_ipa = 0; | |||||
| if((r[2] >= 1) && (use_ipa <= 3)) | |||||
| use_ipa = r[2]; | |||||
| TranslateClause(translator,NULL,(char *)r[1],NULL,NULL); | |||||
| GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); | |||||
| r[0] = (int)translator->phon_out; | |||||
| break; | break; | ||||
| case 4: | case 4: | ||||
| /*********************************************************/ | /*********************************************************/ | ||||
| { | { | ||||
| int value; | int value; | ||||
| int value2; | |||||
| int q_length; | int q_length; | ||||
| value = r[0]; | value = r[0]; | ||||
| case 0: // ready ? | case 0: // ready ? | ||||
| // returns the index into the source text of the currently speaking word | // returns the index into the source text of the currently speaking word | ||||
| if(current_source_index > 0) | |||||
| r[1] = current_source_index-1; | |||||
| else | |||||
| r[1] = current_source_index; /* source index */ | |||||
| if(current_source_index > 0) | |||||
| r[1] = current_source_index-1; | |||||
| else | |||||
| r[1] = current_source_index; /* source index */ | |||||
| r[2] = 0; /* source tag */ | r[2] = 0; /* source tag */ | ||||
| r[3] = 0; /* for future expansion */ | r[3] = 0; /* for future expansion */ | ||||
| r[4] = 0; | r[4] = 0; | ||||
| r[5] = 0; | r[5] = 0; | ||||
| if(wcmdq_head == wcmdq_tail) | |||||
| if(WcmdqUsed() < 5) | |||||
| { | { | ||||
| r[0] = -1; /* ready, or nearly */ | r[0] = -1; /* ready, or nearly */ | ||||
| } | } | ||||
| else | else | ||||
| { | |||||
| r[0] = 0; | r[0] = 0; | ||||
| } | |||||
| break; | break; | ||||
| case 1: /* restore old sound channel. DO NOTHING */ | case 1: /* restore old sound channel. DO NOTHING */ | ||||
| break; | break; | ||||
| case 7: /* pitch */ | case 7: /* pitch */ | ||||
| // not implemented | |||||
| value = (value * 50)/128; | |||||
| SetParameter(espeakPITCH, value, 0); | |||||
| break; | break; | ||||
| case 8: /* speed */ | |||||
| SetParameter(espeakRATE,value,0); | |||||
| case 8: // speed, convert to range 80 to 400, mid-value=180 | |||||
| if(value < 128) | |||||
| value2 = 80 + (value*100)/128; // linear range for 0-127 -> 80-179 | |||||
| else | |||||
| value2 = 80 + pow((float)value/128.0, 1.75)*100; | |||||
| SetParameter(espeakRATE,value2,0); | |||||
| break; | break; | ||||
| case 9: /* word_gap */ | case 9: /* word_gap */ | ||||
| if(value >= 128) | |||||
| value = value - 128; | |||||
| if(value > 1) | |||||
| value = (value-1) * 5; | |||||
| SetParameter(espeakWORDGAP,value,0); | SetParameter(espeakWORDGAP,value,0); | ||||
| break; | break; | ||||
| case 10: /* pitch_range */ | case 10: /* pitch_range */ | ||||
| // not implemented | |||||
| value = (value * 50)/128; | |||||
| SetParameter(espeakRANGE, value, 0); | |||||
| break; | break; | ||||
| case 12: /* reset */ | case 12: /* reset */ | ||||
| break; | break; | ||||
| case 13: /* volume */ | case 13: /* volume */ | ||||
| SetParameter(espeakVOLUME,value,0); | |||||
| // convert to range 6-255 to 10-400, mid-value=100 | |||||
| if(value < 6) | |||||
| value2 = value + 4; | |||||
| else | |||||
| if(value < 128) | |||||
| { | |||||
| value2 = pow((float)(value+40)/168.0, 1.75)*100; | |||||
| } | |||||
| else | |||||
| value2 = pow((float)value/128.0, 2.0)*100; | |||||
| SetParameter(espeakVOLUME,value2,0); | |||||
| WavegenSetVoice(voice); | |||||
| break; | |||||
| case 14: // set voice by name | |||||
| SetVoiceByName((char *)r[0]); | |||||
| WavegenSetVoice(voice); | WavegenSetVoice(voice); | ||||
| break; | break; | ||||
| } | } | ||||
| return(value); | return(value); | ||||
| } | } | ||||
| void PrintVersion() | |||||
| {//================ | |||||
| char buf[120]; | |||||
| printf("\nspeak text-to-speech: %s Data at: %s\n", version_string, path_home); | |||||
| } | |||||
| void command_line(char *arg_string, int wait) | void command_line(char *arg_string, int wait) | ||||
| {//========================================== | {//========================================== | ||||
| char command[80]; | char command[80]; | ||||
| char *p; | char *p; | ||||
| int ix; | int ix; | ||||
| int quiet; | |||||
| voicename[0] = 0; | voicename[0] = 0; | ||||
| wavefile[0] = 0; | wavefile[0] = 0; | ||||
| option_linelength = 0; | option_linelength = 0; | ||||
| option_phonemes = 0; | option_phonemes = 0; | ||||
| option_waveout = 0; | option_waveout = 0; | ||||
| option_quiet = 0; | |||||
| quiet = 0; | |||||
| option_multibyte = 0; // auto | option_multibyte = 0; // auto | ||||
| option_capitals = 0; | option_capitals = 0; | ||||
| option_punctuation = 0; | option_punctuation = 0; | ||||
| break; | break; | ||||
| case 'h': | case 'h': | ||||
| printf("\nspeak text-to-speech: %s\n%s",version_string,help_text); | |||||
| PrintVersion(); | |||||
| printf("\n%s",help_text); | |||||
| return; | return; | ||||
| case 'k': | case 'k': | ||||
| break; | break; | ||||
| case 'q': | case 'q': | ||||
| option_quiet = 1; | |||||
| quiet = 1; | |||||
| break; | break; | ||||
| case 'f': | case 'f': | ||||
| else | else | ||||
| if(strcmp(command,"help")==0) | if(strcmp(command,"help")==0) | ||||
| { | { | ||||
| printf("\nspeak text-to-speech: %s\n%s",version_string,help_text); | |||||
| PrintVersion(); | |||||
| printf("\n%s",help_text); | |||||
| return; | return; | ||||
| } | } | ||||
| else | else | ||||
| SetParameter(espeakPUNCTUATION,option_punctuation,0); | SetParameter(espeakPUNCTUATION,option_punctuation,0); | ||||
| } | } | ||||
| else | else | ||||
| if(memcmp(command,"version",7)==0) | |||||
| { | |||||
| PrintVersion(); | |||||
| return; | |||||
| } | |||||
| else | |||||
| if(memcmp(command,"ipa",3)==0) | |||||
| { | |||||
| option_phonemes = 3; | |||||
| } | |||||
| else | |||||
| { | { | ||||
| printf("Command not recognised\n"); | printf("Command not recognised\n"); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if((option_phonemes > 1) && !option_waveout) | |||||
| quiet = 1; // can't call sprintf() during callback | |||||
| SetVoiceByName(voicename); | SetVoiceByName(voicename); | ||||
| if((filename[0]==0) && (p[0]=='\r')) | if((filename[0]==0) && (p[0]=='\r')) | ||||
| { | { | ||||
| // nothing to speak | // nothing to speak | ||||
| if(option_quiet) | |||||
| if(quiet) | |||||
| { | { | ||||
| SpeakNextClause(NULL,NULL,2); // stop speaking | SpeakNextClause(NULL,NULL,2); // stop speaking | ||||
| more_text = 0; | more_text = 0; | ||||
| } | } | ||||
| } | } | ||||
| if(option_waveout || option_quiet) | |||||
| if(option_waveout || quiet) | |||||
| { | { | ||||
| // write speech to a WAV file | // write speech to a WAV file | ||||
| if(option_quiet) | |||||
| if(quiet) | |||||
| { | { | ||||
| OpenWaveFile(NULL,samplerate); | OpenWaveFile(NULL,samplerate); | ||||
| option_waveout = 2; | option_waveout = 2; |
| [Setup] | [Setup] | ||||
| AppName=eSpeak | AppName=eSpeak | ||||
| AppVerName=eSpeak version 1.47.01 | |||||
| AppVerName=eSpeak version 1.47.04 | |||||
| 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 | ||||
| $0e: Result := 'hu'; | $0e: Result := 'hu'; | ||||
| $0f: Result := 'is'; | $0f: Result := 'is'; | ||||
| $10: Result := 'it'; | $10: Result := 'it'; | ||||
| //$12: Result := 'ko'; | |||||
| $12: Result := 'ko'; | |||||
| $13: Result := 'nl'; | $13: Result := 'nl'; | ||||
| $14: Result := 'no'; | $14: Result := 'no'; | ||||
| $15: Result := 'pl'; | $15: Result := 'pl'; | ||||
| $1c: Result := 'sq'; | $1c: Result := 'sq'; | ||||
| $1d: Result := 'sv'; | $1d: Result := 'sv'; | ||||
| $1f: Result := 'tr'; | $1f: Result := 'tr'; | ||||
| //$20: Result := 'ur'; | |||||
| $20: Result := 'ur'; | |||||
| $21: Result := 'id'; | $21: Result := 'id'; | ||||
| $25: Result := 'et'; | $25: Result := 'et'; | ||||
| $26: Result := 'lv'; | $26: Result := 'lv'; | ||||
| $39: Result := 'hi'; | $39: Result := 'hi'; | ||||
| //$3a: Result := 'mt'; | //$3a: Result := 'mt'; | ||||
| $3c: Result := 'ga'; | $3c: Result := 'ga'; | ||||
| $3e: Result := 'ms'; | |||||
| //$3f: Result := 'kk'; | //$3f: Result := 'kk'; | ||||
| $41: Result := 'sw'; | $41: Result := 'sw'; | ||||
| //$44: Result := 'tt'; | //$44: Result := 'tt'; | ||||
| 'mk': value := $42f; | 'mk': value := $42f; | ||||
| 'ml': value := $44c; | 'ml': value := $44c; | ||||
| 'mn': value := $450; | 'mn': value := $450; | ||||
| 'ms': value := $43e; | |||||
| 'mt': value := $43a; | 'mt': value := $43a; | ||||
| 'my': value := $455; | 'my': value := $455; | ||||
| 'ne': value := $461; | 'ne': value := $461; |
| [Setup] | |||||
| AppName=eSpeakEdit | |||||
| AppVerName=eSpeakEdit version 1.47.01 | |||||
| DefaultDirName={pf}\eSpeak | |||||
| DefaultGroupName=eSpeak | |||||
| OutputBaseFilename=setup_espeakedit | |||||
| Compression=lzma | |||||
| SolidCompression=yes | |||||
| DirExistsWarning=no | |||||
| ShowLanguageDialog=auto | |||||
| [Icons] | |||||
| Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||||
| Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||||
| [InstallDelete] | |||||
| Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||||
| Type: filesandordirs; Name: "{app}\espeakedit" | |||||
| [Files] | |||||
| Source: "espeakedit.exe"; DestDir: "{app}" | |||||
| ;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||||
| Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||||
| Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||||
| Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||||
| Source: "License.txt"; DestDir: "{app}"; | |||||
| ;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||||
| [Languages] | |||||
| Name: "en"; MessagesFile: "compiler:Default.isl" | |||||
| Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||||
| Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||||
| Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||||
| Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||||
| Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||||
| Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||||
| Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||||
| Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||||
| Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||||
| Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||||
| Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||||
| Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||||
| Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||||
| Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||||
| Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||||
| Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||||
| Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||||
| Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||||
| Name: "ru"; MessagesFile: "compiler:Languages\Russian.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: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||||
| Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||||
| [Setup] | |||||
| AppName=eSpeakEdit | |||||
| AppVerName=eSpeakEdit version 1.47.04 | |||||
| DefaultDirName={pf}\eSpeak | |||||
| DefaultGroupName=eSpeak | |||||
| OutputBaseFilename=setup_espeakedit | |||||
| Compression=lzma | |||||
| SolidCompression=yes | |||||
| DirExistsWarning=no | |||||
| ShowLanguageDialog=auto | |||||
| [Icons] | |||||
| Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||||
| Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||||
| [InstallDelete] | |||||
| Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||||
| Type: filesandordirs; Name: "{app}\espeakedit" | |||||
| [Files] | |||||
| Source: "espeakedit.exe"; DestDir: "{app}" | |||||
| ;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||||
| Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||||
| Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||||
| Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||||
| Source: "License.txt"; DestDir: "{app}"; | |||||
| ;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||||
| [Languages] | |||||
| Name: "en"; MessagesFile: "compiler:Default.isl" | |||||
| Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||||
| Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl" | |||||
| Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||||
| Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||||
| Name: "da"; MessagesFile: "compiler:Languages\Danish.isl" | |||||
| Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||||
| Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||||
| Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||||
| Name: "fa"; MessagesFile: "compiler:Languages\Farsi.isl" | |||||
| Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||||
| Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||||
| Name: "hi"; MessagesFile: "compiler:Languages\Hindi.islu" | |||||
| Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||||
| Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||||
| Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.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: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||||
| Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||||
| Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||||
| Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||||
| Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||||
| Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||||
| Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||||
| Name: "sr"; MessagesFile: "compiler:Languages\Serbian.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" | |||||
| break; | break; | ||||
| case i_ADD_LENGTH: | case i_ADD_LENGTH: | ||||
| value = NextItem(tSIGNEDNUMBER); | |||||
| *prog_out++ = (i_ADD_LENGTH << 8) + value/2; | |||||
| value = NextItem(tSIGNEDNUMBER) / 2; | |||||
| *prog_out++ = (i_ADD_LENGTH << 8) + (value & 0xff); | |||||
| DecThenCount(); | DecThenCount(); | ||||
| break; | break; | ||||
| case kRETURN: | case kRETURN: | ||||
| *prog_out++ = i_RETURN; | *prog_out++ = i_RETURN; | ||||
| DecThenCount(); | |||||
| break; | break; | ||||
| case kINCLUDE: | case kINCLUDE: |
| } // end of LookupDictList | } // end of LookupDictList | ||||
| extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes | |||||
| int Lookup(Translator *tr, const char *word, char *ph_out) | int Lookup(Translator *tr, const char *word, char *ph_out) | ||||
| {//=================================================== | {//=================================================== | ||||
| int found; | |||||
| unsigned int flags[2]; | unsigned int flags[2]; | ||||
| int say_as; | |||||
| char *word1 = (char *)word; | |||||
| char text[80]; | |||||
| flags[0] = 0; | flags[0] = 0; | ||||
| flags[1] = FLAG_LOOKUP_SYMBOL; | flags[1] = FLAG_LOOKUP_SYMBOL; | ||||
| char *word1 = (char *)word; | |||||
| return(LookupDictList(tr, &word1, ph_out, flags, 0, NULL)); | |||||
| found = LookupDictList(tr, &word1, ph_out, flags, FLAG_ALLOW_TEXTMODE, NULL); | |||||
| if(flags[0] & FLAG_TEXTMODE) | |||||
| { | |||||
| say_as = option_sayas; | |||||
| option_sayas = 0; // don't speak replacement word as letter names | |||||
| text[0] = 0; | |||||
| strncpy0(&text[1], word1, sizeof(text)); | |||||
| found = TranslateWord(tr, &text[1], 0, NULL, NULL); | |||||
| strcpy(ph_out, word_phonemes); | |||||
| option_sayas = say_as; | |||||
| } | |||||
| return(found); | |||||
| } | } | ||||
| int LookupFlags(Translator *tr, const char *word) | int LookupFlags(Translator *tr, const char *word) | ||||
| {//============================================== | {//============================================== | ||||
| char buf[100]; | char buf[100]; |
| current_alphabet = alphabet; | current_alphabet = alphabet; | ||||
| if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset)) | if((alphabet != NULL) && !(al_flags & AL_DONT_NAME) && (al_offset != translator->letter_bits_offset)) | ||||
| { | { | ||||
| if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet)) | |||||
| if((al_flags & AL_DONT_NAME) || (al_offset == translator->langopts.alt_alphabet) || (al_offset == translator->langopts.our_alphabet)) | |||||
| { | { | ||||
| // don't say the alphabet name | // don't say the alphabet name | ||||
| } | } | ||||
| else | else | ||||
| language = L('e','n'); | language = L('e','n'); | ||||
| if(language != tr->translator_name) | |||||
| if((language != tr->translator_name) || (language == L('k','o'))) | |||||
| { | { | ||||
| char *p3; | |||||
| int initial, code; | |||||
| char hangul_buf[12]; | |||||
| // speak in the language for this alphabet (or English) | // speak in the language for this alphabet (or English) | ||||
| ph_buf[2] = SetTranslator2(WordToString2(language)); | ph_buf[2] = SetTranslator2(WordToString2(language)); | ||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| if(((code = letter - 0xac00) >= 0) && (letter <= 0xd7af)) | |||||
| { | |||||
| // Special case for Korean letters. | |||||
| // break a syllable hangul into 2 or 3 individual jamo | |||||
| hangul_buf[0] = ' '; | |||||
| p3 = &hangul_buf[1]; | |||||
| if((initial = (code/28)/21) != 11) | |||||
| { | |||||
| p3 += utf8_out(initial + 0x1100, p3); | |||||
| } | |||||
| utf8_out(((code/28) % 21) + 0x1161, p3); // medial | |||||
| utf8_out((code % 28) + 0x11a7, &p3[3]); // final | |||||
| p3[6] = ' '; | |||||
| p3[7] = 0; | |||||
| ph_buf[3] = 0; | |||||
| TranslateRules(translator2, &hangul_buf[1], &ph_buf[3], sizeof(ph_buf)-3, NULL, 0, NULL); | |||||
| SetWordStress(translator2, &ph_buf[3], NULL, -1, 0); | |||||
| } | |||||
| else | |||||
| { | |||||
| LookupLetter(translator2, letter, word[n_bytes], &ph_buf[3], control & 1); | |||||
| } | |||||
| if(ph_buf[3] == phonSWITCH) | if(ph_buf[3] == phonSWITCH) | ||||
| { | { |
| int delete_count; | int delete_count; | ||||
| int word_start; | int word_start; | ||||
| int inserted; | int inserted; | ||||
| int deleted; | |||||
| PHONEME_DATA phdata; | PHONEME_DATA phdata; | ||||
| int n_ph_list3; | int n_ph_list3; | ||||
| plist3 = &ph_list3[j]; | plist3 = &ph_list3[j]; | ||||
| inserted = 0; | inserted = 0; | ||||
| deleted = 0; | |||||
| if(insert_ph != 0) | if(insert_ph != 0) | ||||
| { | { | ||||
| // we have a (linking) phoneme which we need to insert here | // we have a (linking) phoneme which we need to insert here | ||||
| plist3->phcode = alternative; | plist3->phcode = alternative; | ||||
| if(alternative == 1) | if(alternative == 1) | ||||
| continue; // NULL phoneme, discard | |||||
| if(ph->type == phVOWEL) | |||||
| { | { | ||||
| plist3->synthflags |= SFLAG_SYLLABLE; | |||||
| if(ph2->type != phVOWEL) | |||||
| plist3->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
| deleted = 1; // NULL phoneme, discard | |||||
| } | } | ||||
| else | else | ||||
| plist3->synthflags &= ~SFLAG_SYLLABLE; | |||||
| { | |||||
| if(ph->type == phVOWEL) | |||||
| { | |||||
| plist3->synthflags |= SFLAG_SYLLABLE; | |||||
| if(ph2->type != phVOWEL) | |||||
| plist3->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed | |||||
| } | |||||
| else | |||||
| plist3->synthflags &= ~SFLAG_SYLLABLE; | |||||
| // re-interpret the changed phoneme | |||||
| // But it doesn't obey a second ChangePhoneme() | |||||
| InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | |||||
| // re-interpret the changed phoneme | |||||
| // But it doesn't obey a second ChangePhoneme() | |||||
| InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | |||||
| } | |||||
| } | } | ||||
| if(ph->type == phVOWEL) | |||||
| if((ph->type == phVOWEL) && (deleted == 0)) | |||||
| { | { | ||||
| PHONEME_LIST *p; | PHONEME_LIST *p; | ||||
| } | } | ||||
| } | } | ||||
| if(plist3 != plist3_inserted) | |||||
| if((plist3 != plist3_inserted) && (ix > 0)) | |||||
| { | { | ||||
| if((x = (tr->langopts.word_gap & 0x7)) != 0) | if((x = (tr->langopts.word_gap & 0x7)) != 0) | ||||
| { | { | ||||
| // not yet implemented | // not yet implemented | ||||
| } | } | ||||
| phlist[ix].ph = ph; | |||||
| phlist[ix].type = ph->type; | |||||
| phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | |||||
| phlist[ix].synthflags = plist3->synthflags; | |||||
| phlist[ix].stresslevel = plist3->stresslevel & 0xf; | |||||
| phlist[ix].wordstress = plist3->wordstress; | |||||
| phlist[ix].tone_ph = plist3->tone_ph; | |||||
| phlist[ix].sourceix = 0; | |||||
| phlist[ix].phcode = ph->code; | |||||
| if(plist3->sourceix != 0) | |||||
| if(deleted == 0) | |||||
| { | { | ||||
| phlist[ix].sourceix = plist3->sourceix; | |||||
| phlist[ix].newword = 1; // this phoneme is the start of a word | |||||
| phlist[ix].ph = ph; | |||||
| phlist[ix].type = ph->type; | |||||
| phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module | |||||
| phlist[ix].synthflags = plist3->synthflags; | |||||
| phlist[ix].stresslevel = plist3->stresslevel & 0xf; | |||||
| phlist[ix].wordstress = plist3->wordstress; | |||||
| phlist[ix].tone_ph = plist3->tone_ph; | |||||
| phlist[ix].sourceix = 0; | |||||
| phlist[ix].phcode = ph->code; | |||||
| if(plist3->sourceix != 0) | |||||
| { | |||||
| phlist[ix].sourceix = plist3->sourceix; | |||||
| phlist[ix].newword = 1; // this phoneme is the start of a word | |||||
| if(start_sentence) | |||||
| if(start_sentence) | |||||
| { | |||||
| phlist[ix].newword = 5; // start of sentence + start of word | |||||
| start_sentence = 0; | |||||
| } | |||||
| } | |||||
| else | |||||
| { | { | ||||
| phlist[ix].newword = 5; // start of sentence + start of word | |||||
| start_sentence = 0; | |||||
| phlist[ix].newword = 0; | |||||
| } | } | ||||
| } | |||||
| else | |||||
| { | |||||
| phlist[ix].newword = 0; | |||||
| } | |||||
| // phlist[ix].length = ph->std_length; | |||||
| phlist[ix].length = phdata.pd_param[i_SET_LENGTH]*2; | |||||
| if((ph->code == phonPAUSE_LONG) && (option_wordgap > 0)) | |||||
| { | |||||
| phlist[ix].ph = phoneme_tab[phonPAUSE_SHORT]; | |||||
| phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | |||||
| } | |||||
| // phlist[ix].length = ph->std_length; | |||||
| phlist[ix].length = phdata.pd_param[i_SET_LENGTH]*2; | |||||
| if((ph->code == phonPAUSE_LONG) && (option_wordgap > 0) && (plist3[1].sourceix != 0)) | |||||
| { | |||||
| phlist[ix].ph = phoneme_tab[phonPAUSE_SHORT]; | |||||
| phlist[ix].length = option_wordgap*14; // 10mS per unit at the default speed | |||||
| } | |||||
| if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE) | |||||
| { | |||||
| phlist[ix].length = 128; // length_mod | |||||
| phlist[ix].env = PITCHfall; | |||||
| } | |||||
| if(ph->type==phVOWEL || ph->type==phLIQUID || ph->type==phNASAL || ph->type==phVSTOP || ph->type==phVFRICATIVE || (ph->phflags & phPREVOICE)) | |||||
| { | |||||
| phlist[ix].length = 128; // length_mod | |||||
| phlist[ix].env = PITCHfall; | |||||
| } | |||||
| phlist[ix].prepause = 0; | |||||
| phlist[ix].amp = 20; // default, will be changed later | |||||
| phlist[ix].pitch1 = 255; | |||||
| phlist[ix].pitch2 = 255; | |||||
| ix++; | |||||
| phlist[ix].prepause = 0; | |||||
| phlist[ix].amp = 20; // default, will be changed later | |||||
| phlist[ix].pitch1 = 255; | |||||
| phlist[ix].pitch2 = 255; | |||||
| ix++; | |||||
| } | |||||
| } | } | ||||
| phlist[ix].newword = 2; // end of clause | phlist[ix].newword = 2; // end of clause | ||||
| 0x055e, // Armenian question | 0x055e, // Armenian question | ||||
| 0x055b, // Armenian emphasis mark | 0x055b, // Armenian emphasis mark | ||||
| 0x060c, // Arabic , | |||||
| 0x061b, // Arabic ; | 0x061b, // Arabic ; | ||||
| 0x061f, // Arabic ? | 0x061f, // Arabic ? | ||||
| 0x06d4, // Arabic . | 0x06d4, // Arabic . | ||||
| CLAUSE_QUESTION | PUNCT_IN_WORD, // Armenian question | CLAUSE_QUESTION | PUNCT_IN_WORD, // Armenian question | ||||
| CLAUSE_PERIOD | PUNCT_IN_WORD, // Armenian emphasis mark | CLAUSE_PERIOD | PUNCT_IN_WORD, // Armenian emphasis mark | ||||
| CLAUSE_COMMA, // Arabic , | |||||
| CLAUSE_SEMICOLON, // Arabic ; | CLAUSE_SEMICOLON, // Arabic ; | ||||
| CLAUSE_QUESTION, // Arabic question mark | CLAUSE_QUESTION, // Arabic question mark | ||||
| CLAUSE_PERIOD, // Arabic full stop | CLAUSE_PERIOD, // Arabic full stop |
| int last_pitch = 0; | int last_pitch = 0; | ||||
| int pitch_start; | int pitch_start; | ||||
| int length_mod; | int length_mod; | ||||
| int next2type; | |||||
| int len; | int len; | ||||
| int env2; | int env2; | ||||
| int end_of_clause; | int end_of_clause; | ||||
| p->prepause = 40; | p->prepause = 40; | ||||
| if((prev->type == phPAUSE) || (prev->type == phVOWEL)) // || (prev->ph->mnemonic == ('/'*256+'r'))) | |||||
| p->prepause = 0; | |||||
| if(prev->type == phVOWEL) | |||||
| { | |||||
| p->prepause = 0; // use murmur instead to link from the preceding vowel | |||||
| } | |||||
| else | |||||
| if(prev->type == phPAUSE) | |||||
| { | |||||
| // reduce by the length of the preceding pause | |||||
| if(prev->length < p->prepause) | |||||
| p->prepause -= prev->length; | |||||
| else | |||||
| p->prepause = 0; | |||||
| } | |||||
| else | else | ||||
| if(p->newword==0) | if(p->newword==0) | ||||
| { | { | ||||
| next3 = &phoneme_list[ix+4]; | next3 = &phoneme_list[ix+4]; | ||||
| } | } | ||||
| next2type = next2->ph->length_mod; | |||||
| if(more_syllables==0) | if(more_syllables==0) | ||||
| { | { | ||||
| len = tr->langopts.length_mods0[next2->ph->length_mod *10+ next->ph->length_mod]; | |||||
| if(next->newword || next2->newword) | |||||
| { | |||||
| // don't use 2nd phoneme over a word boundary, unless it's a pause | |||||
| if(next2type != 1) | |||||
| next2type = 0; | |||||
| } | |||||
| len = tr->langopts.length_mods0[next2type *10+ next->ph->length_mod]; | |||||
| if((next->newword) && (tr->langopts.word_gap & 0x20)) | if((next->newword) && (tr->langopts.word_gap & 0x20)) | ||||
| { | { | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| length_mod = tr->langopts.length_mods[next2->ph->length_mod *10+ next->ph->length_mod]; | |||||
| length_mod = tr->langopts.length_mods[next2type *10+ next->ph->length_mod]; | |||||
| if((next->type == phNASAL) && (next2->type == phSTOP || next2->type == phVSTOP) && (next3->ph->phflags & phFORTIS)) | if((next->type == phNASAL) && (next2->type == phSTOP || next2->type == phVSTOP) && (next3->ph->phflags & phFORTIS)) | ||||
| length_mod -= 15; | length_mod -= 15; |
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.47.03c 23.Mar.13"; | |||||
| const char *version_string = "1.47.04 02.Apr.13"; | |||||
| const int version_phdata = 0x014701; | const int version_phdata = 0x014701; | ||||
| int option_device_number = -1; | int option_device_number = -1; | ||||
| phdata->pd_param[i_APPEND_PHONEME] = data; | phdata->pd_param[i_APPEND_PHONEME] = data; | ||||
| } | } | ||||
| else | else | ||||
| if(instn2 == i_ADD_LENGTH) | |||||
| { | |||||
| if(data & 0x80) | |||||
| { | |||||
| // a negative value, do sign extension | |||||
| data = -(0x100 - data); | |||||
| } | |||||
| phdata->pd_param[i_SET_LENGTH] += data; | |||||
| } | |||||
| else | |||||
| if(instn2 == i_IPA_NAME) | if(instn2 == i_IPA_NAME) | ||||
| { | { | ||||
| // followed by utf-8 characters, 2 per instn word | // followed by utf-8 characters, 2 per instn word |
| EndAmplitude(); | EndAmplitude(); | ||||
| if(p->prepause > 0) | |||||
| if((p->prepause > 0) && !(p->ph->phflags & phPREVOICE)) | |||||
| DoPause(p->prepause,1); | DoPause(p->prepause,1); | ||||
| done_phoneme_marker = 0; | done_phoneme_marker = 0; | ||||
| case phSTOP: | case phSTOP: | ||||
| released = 0; | released = 0; | ||||
| ph = p->ph; | |||||
| if(next->type==phVOWEL) | if(next->type==phVOWEL) | ||||
| { | { | ||||
| released = 1; | released = 1; | ||||
| if(released == 0) | if(released == 0) | ||||
| p->synthflags |= SFLAG_NEXT_PAUSE; | p->synthflags |= SFLAG_NEXT_PAUSE; | ||||
| if(ph->phflags & phPREVOICE) | |||||
| { | |||||
| // a period of voicing before the release | |||||
| memset(&fmtp, 0, sizeof(fmtp)); | |||||
| InterpretPhoneme(NULL, 0x01, p, &phdata, &worddata); | |||||
| fmtp.fmt_addr = phdata.sound_addr[pd_FMT]; | |||||
| fmtp.fmt_amp = phdata.sound_param[pd_FMT]; | |||||
| if(last_pitch_cmd < 0) | |||||
| { | |||||
| DoAmplitude(next->amp,NULL); | |||||
| DoPitch(envelope_data[p->env],next->pitch1,next->pitch2); | |||||
| } | |||||
| DoSpect2(ph, 0, &fmtp, p, 0); | |||||
| } | |||||
| InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | InterpretPhoneme(NULL, 0, p, &phdata, &worddata); | ||||
| phdata.pd_control |= pd_DONTLENGTHEN; | phdata.pd_control |= pd_DONTLENGTHEN; | ||||
| DoSample3(&phdata, 0, 0); | DoSample3(&phdata, 0, 0); |
| {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | {"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0}, | ||||
| {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | {"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0}, | ||||
| {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | {"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS}, | ||||
| {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, 0, 0}, | |||||
| {"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, L('b','n'), 0}, | |||||
| {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | {"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS}, | ||||
| {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | {"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0}, | ||||
| {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | {"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0}, | ||||
| {"_ti", OFFSET_TIBET, 0xf00, 0xfff, 0, 0}, | {"_ti", OFFSET_TIBET, 0xf00, 0xfff, 0, 0}, | ||||
| {"_my", OFFSET_MYANMAR, 0x1000,0x109f, 0, 0}, | {"_my", OFFSET_MYANMAR, 0x1000,0x109f, 0, 0}, | ||||
| {"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | {"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS}, | ||||
| {"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0}, | |||||
| {"_ko", OFFSET_KOREAN, 0x1100,0x11ff, L('k','o'), AL_WORDS}, | |||||
| {"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | {"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0}, | ||||
| {"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | {"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL}, | ||||
| {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | {"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE}, | ||||
| {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | {"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE}, | ||||
| {"_ko", 0xa700, 0xa700,0xd7ff, 0, AL_NOT_CODE}, | |||||
| {"_ko", 0xa700, 0xa700,0xd7ff, L('k','o'), AL_NOT_CODE | AL_WORDS}, | |||||
| {NULL, 0, 0, 0, 0, 0} | {NULL, 0, 0, 0, 0, 0} | ||||
| }; | }; | ||||
| { | { | ||||
| SetCyrillicLetters(tr); | SetCyrillicLetters(tr); | ||||
| SetLetterVowel(tr,0x2a); | SetLetterVowel(tr,0x2a); | ||||
| tr->charset_a0 = charsets[5]; // ISO-8859-5 | |||||
| tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | ||||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v) | tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v) | ||||
| tr->langopts.param[LOPT_REDUCE] = 2; | tr->langopts.param[LOPT_REDUCE] = 2; | ||||
| // character codes offset by 0x380 | // character codes offset by 0x380 | ||||
| static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | static const char el_vowels[] = {0x10,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x35,0x37,0x39,0x3f,0x45,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0}; | ||||
| static const char el_fvowels[] = {0x2d,0x2e,0x2f,0x35,0x37,0x39,0x45,0x4d,0}; // ε η ι υ έ ή ί ύ | |||||
| static const char el_voiceless[]= {0x38,0x3a,0x3e,0x40,0x42,0x43,0x44,0x46,0x47,0}; // θ κ ξ π ς σ τ φ χ | |||||
| static const char el_fvowels[] = {0x2d,0x2e,0x2f,0x35,0x37,0x39,0x45,0x4d,0}; // ε η ι υ έ ή ί ύ _ | |||||
| static const char el_voiceless[]= {0x38,0x3a,0x3e,0x40,0x42,0x43,0x44,0x46,0x47,0}; // θ κ ξ π ς σ τ φ χ _ | |||||
| static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0}; | static const char el_consonants[]={0x32,0x33,0x34,0x36,0x38,0x3a,0x3b,0x3c,0x3d,0x3e,0x40,0x41,0x42,0x43,0x44,0x46,0x47,0x48,0}; | ||||
| static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ | |||||
| static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ _ | |||||
| SetupTranslator(tr,stress_lengths_el,stress_amps_el); | SetupTranslator(tr,stress_lengths_el,stress_amps_el); | ||||
| SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels); | SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels); | ||||
| SetLetterBits(tr,LETTERGP_B,el_voiceless); | SetLetterBits(tr,LETTERGP_B,el_voiceless); | ||||
| SetLetterBits(tr,LETTERGP_C,el_consonants); | SetLetterBits(tr,LETTERGP_C,el_consonants); | ||||
| SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ | |||||
| SetLetterBits(tr,LETTERGP_Y,el_fvowels); // front vowels: ε η ι υ _ | |||||
| 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.stress_rule = STRESSPOSN_2R; | tr->langopts.stress_rule = STRESSPOSN_2R; | ||||
| tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_DECIMAL_COMMA | NUM_THOUS_SPACE | NUM_DFRACTION_2 | NUM_ROMAN_CAPITALS; | ||||
| tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | tr->langopts.numbers2 = 0xa + NUM2_THOUSANDS_VAR5; // variant numbers before thousands,milliards | ||||
| tr->langopts.replace_chars = replace_cyrillic_latin; | tr->langopts.replace_chars = replace_cyrillic_latin; | ||||
| tr->langopts.our_alphabet = OFFSET_CYRILLIC; // don't say "cyrillic" before letter names | |||||
| SetLetterVowel(tr,'y'); | SetLetterVowel(tr,'y'); | ||||
| SetLetterVowel(tr,'r'); | SetLetterVowel(tr,'r'); | ||||
| static const unsigned char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0}; // voiced consonants, l,m,n,N | static const unsigned char ko_voiced[] = {0x02,0x05,0x06,0xab,0xaf,0xb7,0xbc,0}; // voiced consonants, l,m,n,N | ||||
| tr->letter_bits_offset = OFFSET_KOREAN; | tr->letter_bits_offset = OFFSET_KOREAN; | ||||
| tr->langopts.our_alphabet = 0xa700; | |||||
| memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | ||||
| SetLetterBitsRange(tr,LETTERGP_A,0x61,0x75); | SetLetterBitsRange(tr,LETTERGP_A,0x61,0x75); | ||||
| SetLetterBits(tr,LETTERGP_Y,ko_ivowels); | SetLetterBits(tr,LETTERGP_Y,ko_ivowels); | ||||
| SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | SetupTranslator(tr,stress_lengths_mk,stress_amps_mk); | ||||
| tr->charset_a0 = charsets[5]; // ISO-8859-5 | tr->charset_a0 = charsets[5]; // ISO-8859-5 | ||||
| tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; | tr->letter_groups[0] = tr->letter_groups[7] = vowels_cyrillic; | ||||
| tr->letter_bits_offset = OFFSET_CYRILLIC; | |||||
| tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | tr->langopts.stress_rule = STRESSPOSN_3R; // antipenultimate | ||||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2; | tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_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.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | ||||
| tr->langopts.ideographs = 1; | tr->langopts.ideographs = 1; | ||||
| tr->langopts.our_alphabet = 0x3100; | |||||
| tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | tr->langopts.word_gap = 0x21; // length of a final vowel is less dependent on the next consonant, don't merge consonant with next word | ||||
| if(name2 == L('z','h')) | if(name2 == L('z','h')) | ||||
| { | { |
| translator2->phoneme_tab_ix = new_phoneme_tab; | translator2->phoneme_tab_ix = new_phoneme_tab; | ||||
| } | } | ||||
| } | } | ||||
| translator2->phonemes_repeat[0] = 0; | |||||
| return(new_phoneme_tab); | return(new_phoneme_tab); | ||||
| } // end of SetTranslator2 | } // end of SetTranslator2 | ||||
| 0x72,0x73,0x74,0x75 | 0x72,0x73,0x74,0x75 | ||||
| }; | }; | ||||
| // check for Korean Hangul letters | |||||
| if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) | |||||
| { | |||||
| // break a syllable hangul into 2 or 3 individual jamo | |||||
| initial = (code/28)/21; | |||||
| medial = (code/28) % 21; | |||||
| final = code % 28; | |||||
| if(initial == 11) | |||||
| { | |||||
| // null initial | |||||
| c = medial + 0x1161; | |||||
| if(final > 0) | |||||
| *insert = final + 0x11a7; | |||||
| } | |||||
| else | |||||
| { | |||||
| // extact the initial and insert the remainder with a null initial | |||||
| c = initial + 0x1100; | |||||
| *insert = (11*28*21) + (medial*28) + final + 0xac00; | |||||
| } | |||||
| return(c); | |||||
| } | |||||
| else if(((code = c - 0x3130) >= 0) && (code < 0x34)) | |||||
| { | |||||
| // Hangul compatibility jamo | |||||
| return(hangul_compatibility[code] + 0x1100); | |||||
| } | |||||
| switch(tr->translator_name) | switch(tr->translator_name) | ||||
| { | { | ||||
| case L('a','f'): | case L('a','f'): | ||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| case L('k','o'): | |||||
| if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) | |||||
| { | |||||
| // break a syllable hangul into 2 or 3 individual jamo | |||||
| initial = (code/28)/21; | |||||
| medial = (code/28) % 21; | |||||
| final = code % 28; | |||||
| if(initial == 11) | |||||
| { | |||||
| // null initial | |||||
| c = medial + 0x1161; | |||||
| if(final > 0) | |||||
| *insert = final + 0x11a7; | |||||
| } | |||||
| else | |||||
| { | |||||
| // extact the initial and insert the remainder with a null initial | |||||
| c = initial + 0x1100; | |||||
| *insert = (11*28*21) + (medial*28) + final + 0xac00; | |||||
| } | |||||
| return(c); | |||||
| } | |||||
| else if(((code = c - 0x3130) >= 0) && (code < 0x34)) | |||||
| { | |||||
| // Hangul compatibility jamo | |||||
| return(hangul_compatibility[code] + 0x1100); | |||||
| } | |||||
| break; | |||||
| } | } | ||||
| return(SubstituteChar(tr, c, next_in, insert, wordflags)); | return(SubstituteChar(tr, c, next_in, insert, wordflags)); | ||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| if(iswlower(prev_in)) | |||||
| if((iswlower(prev_in)) && (prev_in != 0xba)) // Windows thinks masc.ordinal (0xba) is lower-case | |||||
| { | { | ||||
| // lower case followed by upper case in a word | // lower case followed by upper case in a word | ||||
| if(UpperCaseInWord(tr, &sbuf[ix], c) == 1) | if(UpperCaseInWord(tr, &sbuf[ix], c) == 1) | ||||
| prev_clause_pause = clause_pause; | prev_clause_pause = clause_pause; | ||||
| *tone_out = tone; | |||||
| if(tone_out != NULL) | |||||
| *tone_out = tone; | |||||
| new_sentence = 0; | new_sentence = 0; | ||||
| if(terminator & CLAUSE_BIT_SENTENCE) | if(terminator & CLAUSE_BIT_SENTENCE) |
| int listx; // compile *_listx after *list | int listx; // compile *_listx after *list | ||||
| const unsigned int *replace_chars; // characters to be substitutes | const unsigned int *replace_chars; // characters to be substitutes | ||||
| char ascii_language[8]; // switch to this language for Latin characters | char ascii_language[8]; // switch to this language for Latin characters | ||||
| int our_alphabet; // offset for main alphabet (if not set in letter_bits_offset) | |||||
| int alt_alphabet; // offset for another language to recognize | int alt_alphabet; // offset for another language to recognize | ||||
| int alt_alphabet_lang; // language for the alt_alphabet | int alt_alphabet_lang; // language for the alt_alphabet | ||||
| int max_lengthmod; | int max_lengthmod; |
| // 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 ms ne pa ta tr vi vi-hue zh zh-yue "; | |||||
| "bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te 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 "; | ||||
| ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | ||||
| {//======================================================================== | {//======================================================================== | ||||
| #ifndef PLATFORM_RISCOS | |||||
| char path_voices[sizeof(path_home)+12]; | |||||
| #ifdef PLATFORM_RISCOS | |||||
| if(n_voices_list == 0) | |||||
| { | |||||
| sprintf(path_voices,"%s%cvoices",path_home,PATHSEP); | |||||
| len_path_voices = strlen(path_voices)+1; | |||||
| GetVoices(path_voices); | |||||
| voices_list[n_voices_list] = NULL; // voices list terminator | |||||
| } | |||||
| return((const espeak_VOICE **)voices_list); | |||||
| #else | |||||
| int ix; | int ix; | ||||
| int j; | int j; | ||||
| espeak_VOICE *v; | espeak_VOICE *v; | ||||
| static espeak_VOICE **voices = NULL; | static espeak_VOICE **voices = NULL; | ||||
| char path_voices[sizeof(path_home)+12]; | |||||
| // free previous voice list data | // free previous voice list data | ||||
| FreeVoiceList(); | FreeVoiceList(); | ||||
| } | } | ||||
| return((const espeak_VOICE **)voices); | return((const espeak_VOICE **)voices); | ||||
| #endif | #endif | ||||
| return((const espeak_VOICE **)voices_list); | |||||
| } // end of espeak_ListVoices | } // end of espeak_ListVoices | ||||