mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Merge branch 'master' into android
Conflicts: platforms/windows/make_espeakedit.iss
This commit is contained in:
@@ -195,6 +195,7 @@ dictionaries: src/espeak \
|
||||
espeak-data/sv_dict \
|
||||
espeak-data/sw_dict \
|
||||
espeak-data/ta_dict \
|
||||
espeak-data/te_dict \
|
||||
espeak-data/tr_dict \
|
||||
espeak-data/ur_dict \
|
||||
espeak-data/vi_dict \
|
||||
@@ -531,6 +532,12 @@ 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 ..
|
||||
|
||||
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
|
||||
dictsource/tr_extra:
|
||||
touch dictsource/tr_extra
|
||||
|
||||
+6
-1
@@ -1,4 +1,4 @@
|
||||
// Aragon translation rules
|
||||
// Aragon translation rules
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
// letters
|
||||
@@ -118,6 +118,9 @@ _x#º %o // for 1º 2º 3º
|
||||
_x#ª %a
|
||||
º orDin'al||maskul'in
|
||||
ª orDin'al||femen'in
|
||||
ºc gr'aUs||T'e
|
||||
ºf gr'aUs||'Efe
|
||||
ºk gr'aUs||k'a
|
||||
|
||||
_1ox prim'Er
|
||||
_2ox seQ'und
|
||||
@@ -179,6 +182,7 @@ $ d'olar
|
||||
/ baRRa
|
||||
\ kontraBaRRa
|
||||
| b'aRRaBertik'al
|
||||
° graUs
|
||||
|
||||
_- gj'on
|
||||
! TaRR'ar||eksklamaTj'on
|
||||
@@ -483,6 +487,7 @@ espeak isp'ik
|
||||
facebook f'eIsbuk
|
||||
firefox f'aIrfoks
|
||||
google g'ugEl
|
||||
hotmail xotm'eIl
|
||||
(i phone) 'aIfon
|
||||
iphone 'aIfon
|
||||
(i pod) 'aIpod
|
||||
|
||||
+113
-56
@@ -1,11 +1,11 @@
|
||||
// Translation rules for Bengali
|
||||
// Translation rules for Bengali
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// Numbers
|
||||
devanagari numbers are changed to latin characters before translation
|
||||
// Bengali numbers are changed to latin characters before translation
|
||||
_0 S'unjO
|
||||
_1 '&k
|
||||
_2 duj
|
||||
_2 d'uj
|
||||
_3 t'in
|
||||
_4 tS'ar
|
||||
_5 p'a~tS
|
||||
@@ -14,11 +14,16 @@ _7 S'at
|
||||
_8 'at.#
|
||||
_9 n'Oj
|
||||
|
||||
_2a d'u // with hundreds etc.
|
||||
_6a tS#'a
|
||||
_9a n'O
|
||||
|
||||
|
||||
_10 d'OS
|
||||
_11 '&garo
|
||||
_12 b'arO
|
||||
_13 t'erO
|
||||
_14 tS'owddO
|
||||
_14 tS'oddO
|
||||
_15 p'OnerO
|
||||
_16 S'olO
|
||||
_17 S'OterO
|
||||
@@ -26,64 +31,101 @@ _18 'at.#arO
|
||||
_19 'uniS
|
||||
|
||||
_20 k'uri // or b'iS ??
|
||||
_21 'ekuS
|
||||
_21 ek'uS
|
||||
_22 b'ajS
|
||||
_23 t'ejS
|
||||
_24 tS'ObbiS
|
||||
_25 p'O~tSiS
|
||||
_26 tSh'ObbiS
|
||||
_27 S'ataS
|
||||
_26 tSh'abbiS
|
||||
_27 Sat'aS
|
||||
_28 'at.#aS
|
||||
_29 'untriS
|
||||
_29 unOtr'iS
|
||||
|
||||
_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
|
||||
_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 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
|
||||
_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.
|
||||
|
||||
// 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
|
||||
_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 S'OttOr
|
||||
_7X S'OttOr
|
||||
_79 'unOaSi
|
||||
_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 'aSi
|
||||
_8X 'aSi
|
||||
_89 'unOnObbOj
|
||||
_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 n'ObbOj
|
||||
_9X n'ObbOj
|
||||
_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
|
||||
_0M1 h'ajar
|
||||
_0M2 l'ak#
|
||||
_0M3 k'ot.i
|
||||
_0M4 'Orbud
|
||||
_dpt dOsomik
|
||||
_dpt _d'Osomik_
|
||||
|
||||
|
||||
// Single consonants
|
||||
@@ -91,40 +133,42 @@ _dpt dOsomik
|
||||
খ k#O
|
||||
গ gO
|
||||
ঘ g#O
|
||||
ঙ 'uNO
|
||||
ঙ 'uNO~
|
||||
চ tSO
|
||||
ছ tShO // [h] to distinguish from [tS]
|
||||
জ JO
|
||||
ঝ J#O
|
||||
ঞ 'iNO
|
||||
ঞ 'iNO~
|
||||
ট t.O
|
||||
ঠ t.#O
|
||||
ড d.O
|
||||
ঢ d.#O
|
||||
ণ m'odd#ennO
|
||||
ণ m,odd#en.n.'O
|
||||
ত tO
|
||||
থ t#O
|
||||
দ dO
|
||||
ধ d#O
|
||||
ন d'ontennO
|
||||
ন d,ontenn'O
|
||||
প pO
|
||||
ফ fO // or [p#O] ?
|
||||
ব bO
|
||||
ভ b#O
|
||||
ম mO
|
||||
য় Oj
|
||||
য ontostedZ'O
|
||||
য ,ontostedZ'O
|
||||
র rO
|
||||
ড় r.O
|
||||
ড় r.O // (d. + nukta)
|
||||
ঢ় hr.O
|
||||
ঢ় hr.O // (d#. + nukta)
|
||||
ল lO
|
||||
শ taleboS:O
|
||||
ষ mud#en:oS:O
|
||||
স d'onteS:O
|
||||
শ t,aleboS:'O
|
||||
ষ m,ud#en:oS:'O
|
||||
স d,onteS:'O
|
||||
হ hO
|
||||
ৎ kh'Ond.otO
|
||||
ৎ kh,Ond.ot'O
|
||||
ক্ষ k,ojmud#en:oS:'O
|
||||
|
||||
|
||||
// full vowels
|
||||
অ O
|
||||
@@ -134,11 +178,16 @@ _dpt dOsomik
|
||||
উ hrOS:o'u
|
||||
ঊ dirg#o'u
|
||||
ঋ ri
|
||||
এ e
|
||||
ঐ oj
|
||||
ও o
|
||||
ঔ ow
|
||||
|
||||
এ e $u+ // word 'it'
|
||||
ঐ oj $u+ // word 'that'
|
||||
ও o $u+ $brk // 'and'
|
||||
_এ e
|
||||
_ঐ oj
|
||||
_ও o
|
||||
|
||||
|
||||
// combining vowel signs
|
||||
া 'akar
|
||||
ি r'oS:ikar
|
||||
@@ -158,10 +207,17 @@ _dpt dOsomik
|
||||
ঁ tS'Ondrobindu
|
||||
় b'indu
|
||||
|
||||
$ d.Olar
|
||||
% SOtk'Ora
|
||||
+ jOg
|
||||
= SOman
|
||||
|
||||
|
||||
|
||||
// Punctuation
|
||||
। dVn.d.V
|
||||
|
||||
_, koma
|
||||
_? pr'oSnOtSihnO
|
||||
|
||||
// Pronouns
|
||||
আমি $u // main: I
|
||||
@@ -264,3 +320,4 @@ _dpt dOsomik
|
||||
|
||||
|
||||
// Exceptions
|
||||
এত &to
|
||||
|
||||
+10
-2
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// letter groups:
|
||||
@@ -28,6 +28,7 @@
|
||||
.group অ
|
||||
অ V
|
||||
অঁ O~
|
||||
অ্যা & // V,ja in [æmiba]
|
||||
|
||||
|
||||
.group আ
|
||||
@@ -74,6 +75,8 @@
|
||||
.group এ
|
||||
এ e
|
||||
এঁ e~
|
||||
|
||||
এ্যা & // e,ja [ækademi]
|
||||
|
||||
|
||||
.group ও
|
||||
@@ -288,7 +291,10 @@
|
||||
য় jV // nukta
|
||||
য় (B j
|
||||
|
||||
|
||||
্) য (C & // ব্যস্ত [bæsto]
|
||||
্) যা & // ব্যাকরণ [bækɔron]
|
||||
|
||||
|
||||
.group র
|
||||
র rV
|
||||
র (B r
|
||||
@@ -378,3 +384,5 @@
|
||||
ৢ l-
|
||||
ৣ l-
|
||||
|
||||
__) - (_D bij'og
|
||||
D_) - (_D bij'og
|
||||
|
||||
+106
-99
@@ -54,38 +54,38 @@ _?? symbol
|
||||
_#9 tab
|
||||
_#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:
|
||||
_; se:mi:ko:lVn
|
||||
_; semiko:lVn
|
||||
_: k'o:lVn
|
||||
_. pONtOm // PN u => O
|
||||
_? spWrgsmVlstajn
|
||||
_! udRVbstejn
|
||||
_- binnesdrai
|
||||
__ b'Onsdrai
|
||||
_? spWrsmOlstAjn
|
||||
_! udRVbstAjn
|
||||
_- bin@-sdrAi
|
||||
__ b'OnsdrAi
|
||||
& _Vw
|
||||
£ pun?
|
||||
€ euro
|
||||
© kVpirajt
|
||||
÷ divid'eReD||meD
|
||||
© kVpirAjt
|
||||
÷ divid'eRVD||mED
|
||||
= l'imeD
|
||||
# n'OmV
|
||||
§ paragr'af
|
||||
× g'aNe
|
||||
ª feminin||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
|
||||
¥ j'en:
|
||||
µ my
|
||||
' apostr'Vf
|
||||
½ en'hal
|
||||
½ en'h&l
|
||||
+ plus
|
||||
|
||||
// numbers
|
||||
@@ -102,19 +102,19 @@ _9 n'i
|
||||
_10 t'i
|
||||
_11 'Elv@
|
||||
_12 t'Vl
|
||||
_13 tR'?&#d@-n
|
||||
_13 t*'?&#d@-n
|
||||
_14 fj'ord@-n
|
||||
_15 f'Emd@-n
|
||||
_16 s'ajsd@-n
|
||||
_17 s'Wd@-n
|
||||
_16 s'Ajsd@-n
|
||||
_17 s'?Wd@-n
|
||||
_18 '?&d@-n
|
||||
_19 n'ed@-n
|
||||
_19 n'?ed@-n
|
||||
_2X t'y:?u
|
||||
_3X tR'&#Dv@
|
||||
_3X t*'&#Dv@
|
||||
_4X f'?W:_|V
|
||||
_5X h&l't*Es
|
||||
_6X t*'Es
|
||||
_7X h&lfj'&rs
|
||||
_7X h&lfj'Ers
|
||||
_8X f'irs
|
||||
_9X h&lf'Ems // PB a changed to &
|
||||
_0C h'unRVD
|
||||
@@ -131,32 +131,32 @@ _0M4 bilij'o:n3
|
||||
_0and V
|
||||
_dpt _k,Vm&:
|
||||
|
||||
// PB a number followed by dot
|
||||
// A number followed by dot
|
||||
// ordinals are followed by a dot in Danish
|
||||
_ord 3 // 13. (trettende)
|
||||
_ord @- // 13. (trettende)
|
||||
|
||||
// exceptions for ordinals
|
||||
_1o fWrsd3 // 1. første
|
||||
_1o fWrsd@- // 1. første
|
||||
_2o &n@n // 2. anden
|
||||
_3o trEdj3 // 3. tredje
|
||||
_3o trEdj@- // 3. tredje
|
||||
_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
|
||||
|
||||
@@ -187,10 +187,10 @@ fra $u+ // from
|
||||
ved $u+ // at
|
||||
om $u+ $brk // about, within
|
||||
med $u+ // with
|
||||
af &
|
||||
ad &
|
||||
af &_!
|
||||
ad &_!
|
||||
ad &D $atend $sentence // "Det må ikke skille os ad."
|
||||
at & $u
|
||||
at &_! $u
|
||||
hos
|
||||
som sVm $u // which / that
|
||||
|
||||
@@ -203,7 +203,7 @@ hun $u
|
||||
det de $u
|
||||
dét de
|
||||
vi vi $u
|
||||
i _i $u+
|
||||
i _i_! $u+
|
||||
mig mAj $u // me
|
||||
dig dAj $u+
|
||||
dem $u
|
||||
@@ -220,10 +220,10 @@ hvis ves $u+ // PB - whose
|
||||
// possessive pronouns
|
||||
min min $u
|
||||
mit mit $u
|
||||
mine m'in3
|
||||
mine m'in@-
|
||||
din d'in $u+
|
||||
dit d'it $u
|
||||
dine d'in3
|
||||
dine d'in@-
|
||||
deres dE:Vs $u
|
||||
hans $u+
|
||||
hendes $u+
|
||||
@@ -1448,7 +1448,6 @@ elegance $alt
|
||||
eminence $alt
|
||||
excellence $alt
|
||||
fajance $alt
|
||||
hospice $alt
|
||||
ignorance $alt
|
||||
inspektrice $alt
|
||||
intolerance $alt
|
||||
@@ -1846,6 +1845,7 @@ afrikan $alt
|
||||
afrikaan $alt
|
||||
aleksandrin $alt
|
||||
amerikan $alt
|
||||
austral $alt
|
||||
andorran $alt
|
||||
anglikan $alt
|
||||
angolan $alt
|
||||
@@ -5968,6 +5968,7 @@ dediker $alt
|
||||
deducer $alt
|
||||
defiler $alt
|
||||
definer $alt
|
||||
omdefiner $alt
|
||||
deflorer $alt
|
||||
deformer $alt
|
||||
degrader $alt
|
||||
@@ -6547,6 +6548,7 @@ konstater $alt
|
||||
konstituer $alt
|
||||
konstringer $alt
|
||||
konstruer $alt
|
||||
rekonstruer $alt
|
||||
konsulere $alt
|
||||
konsulter $alt
|
||||
konsumer $alt
|
||||
@@ -11121,7 +11123,7 @@ sinecure $alt
|
||||
tournure $alt
|
||||
|
||||
// exceptions
|
||||
alene &l'en@ // alone
|
||||
alene &l'en@- // alone
|
||||
egen _|aj@-n
|
||||
mc mak' $capital // PB McDonald
|
||||
egne ajn@-
|
||||
@@ -11130,7 +11132,7 @@ ide id'e // idea
|
||||
idé id'e // idea
|
||||
tune tun3 $capital // PB Tune lufthavn - not "tune a car" [tjune]
|
||||
ny ny // new
|
||||
også Vs@- // also
|
||||
også ?Vs@- // also
|
||||
idet id'e // in so far as
|
||||
(rub og stub) R'Ob||V||sd'Ob
|
||||
tre tr'E // the number 3
|
||||
@@ -11138,8 +11140,8 @@ rejicere rejis'eV // PB should not be pronounced [raje]
|
||||
rejicerer rejis'eV // PB
|
||||
rejiceres rejis'eVs // 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
|
||||
bliver blir // PB
|
||||
konfirmand kVnferm'&nd // PB
|
||||
@@ -11150,48 +11152,48 @@ giv g'i // PB the v shouldn't be pronounced
|
||||
giver gir // PB the v shouldn't be pronounced
|
||||
opgiver Vpgir // PB
|
||||
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
|
||||
(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
|
||||
(al qaeda) al||k'ajda // 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:
|
||||
(fait accompli) fEtakVmpl'i // PB
|
||||
(fait accompli) fEt&kVmpl'i // PB
|
||||
(salt lake city) s'Vlt||lEjk||s'iti
|
||||
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
|
||||
(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
|
||||
(en passant) AN||p&s'AN
|
||||
(coney island) 'kouni||'ajl3nd // PB
|
||||
(union station) junj3n||steisj@n // PB
|
||||
(secret service) sigred||s'Wvis
|
||||
(happy hour) h&pi||'AuV
|
||||
chevrolet sjEvrol'e
|
||||
chevrolet sjEvrol'E
|
||||
saigon sAjgVn // PB Saigon
|
||||
managua m&n'&:gw&
|
||||
(deja-vu) deSja||'vy
|
||||
@@ -11246,32 +11248,37 @@ ikes ajks // PB
|
||||
// Try to catch errors
|
||||
|
||||
(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
|
||||
(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&
|
||||
(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)
|
||||
(et hav) ed||hAu
|
||||
(stort hav) stord||hAu
|
||||
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]
|
||||
//(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"
|
||||
(han steg) h&n||st'e
|
||||
(hun steg) hOn||st'e
|
||||
@@ -11280,7 +11287,7 @@ sig $atend $sentence saj // end of a sentence - han vaskede sig.
|
||||
(alle steg) &l3||st'e
|
||||
(vandet steg) v&n@D||st'e
|
||||
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]
|
||||
(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
|
||||
|
||||
+748
-528
File diff suppressed because it is too large
Load Diff
+60
-24
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// You can use the en_extra file, rather than this one
|
||||
// to add your own pronunciation definitions.
|
||||
|
||||
@@ -70,6 +70,7 @@ a eI $atend
|
||||
ï $accent
|
||||
ö $accent
|
||||
ü $accent
|
||||
û $accent
|
||||
č $accent
|
||||
š $accent
|
||||
ş $accent
|
||||
@@ -324,37 +325,54 @@ _zh tS'aIni:z
|
||||
// Arabic letters
|
||||
|
||||
ء 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#
|
||||
ت tE?
|
||||
ت ta
|
||||
ث TE?
|
||||
ج ZIm
|
||||
ج dZi:m
|
||||
ح hE?
|
||||
خ xE?
|
||||
د dEl/1
|
||||
ذ DEl/1
|
||||
د dal/1
|
||||
ذ Dal/1
|
||||
ر R2A:?
|
||||
ز zEjn
|
||||
س si:n
|
||||
ش Si:n
|
||||
ص sO:d@-
|
||||
ض dO:d@-
|
||||
ص sa:d@-
|
||||
ض da:d@-
|
||||
ط thA:?
|
||||
ظ DA:?
|
||||
ع ?ajn
|
||||
غ Q"ajn
|
||||
ف fE?
|
||||
ق qO:f
|
||||
ك kEf
|
||||
ل lEm
|
||||
ع '?Ein
|
||||
غ 'Q"Ein
|
||||
ف fa
|
||||
ق qa:f
|
||||
ك kaf
|
||||
ل lam
|
||||
م mi:m
|
||||
ن nu|:n
|
||||
ه hE?
|
||||
و wO:w
|
||||
ه ha
|
||||
و waw
|
||||
ى al'if_maks'ura
|
||||
ي jE?
|
||||
// Farsi
|
||||
پ pa
|
||||
چ tSa
|
||||
ژ Za
|
||||
گ ga:f
|
||||
ی f'A@si||j'e
|
||||
ک k'a:f
|
||||
// Urdu
|
||||
ٹ te
|
||||
ڈ de
|
||||
ڑ z.e
|
||||
ے barij'e
|
||||
ھ h'@
|
||||
|
||||
َ a
|
||||
ِ i
|
||||
@@ -724,6 +742,7 @@ aka aka#
|
||||
alas a#l'as
|
||||
albeit O:lb'i:It
|
||||
alfalfa alf'alf@
|
||||
algebra aldZI2br@
|
||||
alias eIli@s
|
||||
alibi al@baI
|
||||
alibis al@baIz
|
||||
@@ -754,6 +773,7 @@ ambassador a#mbas@d3
|
||||
ambidextrous $3
|
||||
amen ,A:m'En $onlys
|
||||
?3 amen ,eIm'En
|
||||
?3 amo amoU
|
||||
amok a#m0k
|
||||
amoral eIm'0r@L
|
||||
amount a#maUnt
|
||||
@@ -767,8 +787,6 @@ analyses an@laIzI#z $verb
|
||||
analysis a#nal@sIs
|
||||
anemone a#nEm@ni
|
||||
angel eIndZ@L
|
||||
anecdote anIkdoUt
|
||||
anecdotal anIkd'oUt@L
|
||||
anemometer anIm'0mI2t3
|
||||
anew a#nju:
|
||||
?3 anew a#nu:
|
||||
@@ -829,7 +847,7 @@ arena a#ri:n@
|
||||
argon A@g0n
|
||||
argue A@gju:
|
||||
aries e@ri:z
|
||||
arithmetic a#rITm@tIk
|
||||
arithmetic a#rITm@tIk $onlys
|
||||
arise a#raIz
|
||||
arisen @rIz@n
|
||||
armslength ,A@mzl'ENT
|
||||
@@ -877,6 +895,7 @@ average av@-rI2dZ
|
||||
aviary eIvi@ri
|
||||
awry a#raI
|
||||
axes aksI#z
|
||||
axon aks0n
|
||||
|
||||
backend bak'End
|
||||
backstory baksto@ri
|
||||
@@ -1115,6 +1134,7 @@ circumference $2
|
||||
circumvent s3:k@mvEnt
|
||||
?5 circumvent sIRk@mvEnt
|
||||
citadel sIt@dEl
|
||||
clandestine $2
|
||||
clarinet klar@n'Et
|
||||
cleanliness klEnlIn@s
|
||||
cleanse klEnz
|
||||
@@ -1236,6 +1256,7 @@ coordinate koU'O:dI2neIt $verb
|
||||
copier k0pi@3
|
||||
copilot koUpaIl@t
|
||||
coral k0r@L
|
||||
?3 cordial kO@dZ@L
|
||||
coronet k0r@nEt
|
||||
corollary $2
|
||||
corporal kO@pr@L
|
||||
@@ -1291,6 +1312,7 @@ debut deIbju:
|
||||
?3 debut deIb'ju:
|
||||
decade dEkeId
|
||||
decent di:s@nt
|
||||
decibel dEsI#b@L
|
||||
declaration dEkl@'reIS@n
|
||||
decolletage deIk0lt'A:Z
|
||||
decor deIkO@
|
||||
@@ -1380,6 +1402,7 @@ doctrine d0ktrI2n
|
||||
doctrinal $alt1
|
||||
doer du:3
|
||||
dogged d0gI#d
|
||||
dogmatic d0gm'atIk
|
||||
doin du:In
|
||||
domino $1
|
||||
donor doUn3
|
||||
@@ -1626,6 +1649,7 @@ gigantic dZaIg'antIk
|
||||
gilead g'IlIad
|
||||
gimme gImi
|
||||
giraffe dZI2raaf
|
||||
github gIthVb
|
||||
glacier gleIS3
|
||||
goin ,goUI2n $only // for goin'
|
||||
gonna g,@n@
|
||||
@@ -1796,6 +1820,7 @@ intestine I2ntEstI#n
|
||||
inventory Inv@ntri
|
||||
?3 inventory Inv@nto:ri
|
||||
interface $1
|
||||
interlude $1
|
||||
intermin Int'3:mIn // interminable
|
||||
intern $1 $onlys
|
||||
internee Int'3:ni:
|
||||
@@ -2056,6 +2081,7 @@ molybdenum $2
|
||||
momentary moUm@nt@ri
|
||||
?3 momentary moUm@nt2e@ri
|
||||
momentum $2
|
||||
monarchic m@nA@kIk
|
||||
monday mVndeI
|
||||
monotone m0n@toUn
|
||||
monsieur m@sj3:
|
||||
@@ -2251,6 +2277,7 @@ pear pe@
|
||||
pecan pi:k@n
|
||||
peculiar pI2kju:lI3
|
||||
pedalo pEd@loU
|
||||
pedestal pEdI2st@L
|
||||
pedestrian $alt3
|
||||
pegasus pEg@s@s
|
||||
pejorative p@dZ0r@tIv
|
||||
@@ -2545,6 +2572,7 @@ ruby ru:bi
|
||||
rugged rVgI#d
|
||||
ruin ru:I2n // for ruining
|
||||
|
||||
sabbatic $alt3
|
||||
sabotage sab@tA:Z
|
||||
saboteur sab@t'3:
|
||||
?5 saboteur sab@t'VR
|
||||
@@ -2552,6 +2580,7 @@ sabre seIb3
|
||||
sachet saSeI
|
||||
sacred seIkr@d
|
||||
sacrifice sakrI2faIs
|
||||
sadistic $alt3
|
||||
safety seIfti
|
||||
saga sA:g@
|
||||
sahara $alt3
|
||||
@@ -2566,6 +2595,7 @@ saloon $alt3
|
||||
san ,san $only
|
||||
sardine $2
|
||||
satanic $alt3
|
||||
satiric $alt3
|
||||
saucepan sO:sp@n
|
||||
saudi saUdi
|
||||
saute sO:teI
|
||||
@@ -2706,6 +2736,7 @@ stagnate $2
|
||||
stampede $2
|
||||
starboard stA@b3d
|
||||
starry stA:rI
|
||||
statistic $alt3
|
||||
stiletto stI2lEtoU
|
||||
strychnine str'Ikni:n
|
||||
sterile stEraIl
|
||||
@@ -2780,7 +2811,6 @@ tear te@ $verb
|
||||
(tear apart) t,e@||a#pA@t
|
||||
(tear off) t'e@||'0f
|
||||
teargas ti@3gas
|
||||
techy tEki
|
||||
teddybear t'EdIb,e@
|
||||
telemetry t@lEm@tri
|
||||
telepathy t@lEp@Ti
|
||||
@@ -2882,6 +2912,7 @@ unaware Vn@w'e@
|
||||
uncle VNk@L
|
||||
undeny VndIn'aI
|
||||
underling $1
|
||||
underlings Vnd3lINz
|
||||
underworld $1
|
||||
undies Vndiz
|
||||
undo Vnd'u:
|
||||
@@ -3241,8 +3272,9 @@ Lvov l@-v0v
|
||||
?5 Luxembourg lVks@mbVRg
|
||||
Madagascar mad@g'ask3
|
||||
Madras m@draas
|
||||
Madrid m@drId
|
||||
Madrid m@drId
|
||||
Malawi $alt3
|
||||
Malayalam maleI'A:l@m
|
||||
Maldives mO:ld'i:v
|
||||
Mali mA:li
|
||||
Mandalay $3
|
||||
@@ -3283,6 +3315,7 @@ Noumea nu:m'eI@
|
||||
Oahu oU'A:hu:
|
||||
Oklahoma oUkla#h'oUm@
|
||||
Ohio oUh'aIoU
|
||||
Ohioan oUh'aIoU@n
|
||||
Omagh oUmA:
|
||||
Omaha oUma#hA:
|
||||
Oman oUm'an
|
||||
@@ -3369,6 +3402,7 @@ Wisconsin wI2sk'0nsI2n
|
||||
Wyoming waI'oUmIN
|
||||
Xhosa kO:s@
|
||||
Yemen $alt2
|
||||
Yosemite joUs'Em@ti
|
||||
zaire zaI'i@3
|
||||
zimbabwe zI2mbA:bwi
|
||||
zimbabwean zI2mbA:bwI@n
|
||||
@@ -3648,6 +3682,7 @@ Phoebe fi:bi:
|
||||
Rachael reItS@L
|
||||
Rachel reItS@L
|
||||
Rafael rA:faI'El
|
||||
Rashid rA:S'i:d
|
||||
Raul raU'u:l
|
||||
Rees ri:s
|
||||
Reese ri:s
|
||||
@@ -3672,6 +3707,7 @@ Sebastian $alt3
|
||||
Sheila Si:l@
|
||||
Simon saIm@n
|
||||
Sinead SI2neId
|
||||
Sinéad SI2neId
|
||||
Siobhan S@vO:n
|
||||
Siobhán S@vO:n
|
||||
Sonia s0nj@
|
||||
|
||||
+99
-75
@@ -504,6 +504,7 @@
|
||||
portr) ai (t I#
|
||||
|
||||
.group al
|
||||
@ic) al (_S2 @L
|
||||
_) al (@ a#l
|
||||
gonz) al 'A:l
|
||||
_) alaba al@b'a
|
||||
@@ -720,6 +721,7 @@
|
||||
p) an (c an
|
||||
@m) an (d aan
|
||||
sl) an (d aan
|
||||
_) anecdo anIkdoU
|
||||
C) an (t aan
|
||||
an (ath a#n
|
||||
ann (eal a#n
|
||||
@@ -1066,8 +1068,8 @@
|
||||
as (thm as
|
||||
as (tral as
|
||||
as (tro as
|
||||
as (trolog a#s
|
||||
as (trono a#s
|
||||
_) as (trolog a#s
|
||||
_) as (trono a#s
|
||||
&) as (ty_ a#s
|
||||
ass (ym as
|
||||
purch) as (e Is
|
||||
@@ -1093,11 +1095,12 @@
|
||||
_s) ata (n eIt@
|
||||
_g) ator eIt3
|
||||
&) ate (_$w_alt2 @t
|
||||
der) ated (_ eItI#d
|
||||
pal) ate (_ @t
|
||||
consul) ate (_ @t
|
||||
macul) ate (_ @t
|
||||
tim) ate (_ @t
|
||||
tim) ated (_ eItI2d
|
||||
tim) ated (_ eItI#d
|
||||
tim) ating (_ eItIN
|
||||
din) ate (_ @t
|
||||
ion) ate (_ @t
|
||||
@@ -1128,7 +1131,6 @@
|
||||
at (io_ eIS
|
||||
ati (aX 'eIS
|
||||
&) atism @tIz@m
|
||||
st) at (ist @t
|
||||
w) at (t 0t
|
||||
@) ath (An_ @T
|
||||
athed (_ eIDd
|
||||
@@ -1334,6 +1336,7 @@
|
||||
bi (nm bI
|
||||
bi (noc bI2
|
||||
_) bio (@P3 b,aIoU
|
||||
bi (ol baI
|
||||
bi (otic baI
|
||||
@) bi (osA baI
|
||||
bi (oC_ bI
|
||||
@@ -1461,6 +1464,7 @@
|
||||
a) ch (il k
|
||||
bra) ch k
|
||||
te) ch (K k
|
||||
_te) ch k
|
||||
ch (isC k
|
||||
ch (ic_ k
|
||||
@@Car) ch (_ k
|
||||
@@ -1685,6 +1689,7 @@
|
||||
de (ft dE
|
||||
_) de (g@ dI2
|
||||
_) de (hyd ,di:
|
||||
_) de (ist deI
|
||||
_) de (j dI2
|
||||
_) de (l@ dI2
|
||||
de (law dE
|
||||
@@ -1865,6 +1870,7 @@
|
||||
sp) e (cies i:
|
||||
depr) ec (L02 i:S
|
||||
_) e (cl %I
|
||||
_) eccles (i I2kli:z
|
||||
econo (m Ik'0n@
|
||||
econo (mic i:k@n'0
|
||||
_) eco (s i:koU
|
||||
@@ -1927,23 +1933,6 @@
|
||||
h) e (sion_ 'i:
|
||||
@) e (tio i:
|
||||
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:
|
||||
_s) ew u:
|
||||
?3 d) ew u:
|
||||
@@ -2458,6 +2447,7 @@
|
||||
er (nal_ '3:
|
||||
&) er (n_ 3
|
||||
c) er (n_ 3:
|
||||
_g) er (on Er
|
||||
&) er (oCe_ =@r
|
||||
er (se 3:
|
||||
v) er (sal '3:
|
||||
@@ -2531,7 +2521,7 @@
|
||||
pr) es (ent Ez
|
||||
es (iA i:z
|
||||
es (ian_ 'i:z
|
||||
es (ic 'i:z
|
||||
@) es (ic 'i:z
|
||||
esis (_ 'i:sIs
|
||||
th) eses (_ @si:z
|
||||
th) esis (_ @sIs
|
||||
@@ -2599,6 +2589,27 @@
|
||||
m) etry (_ =@tr%I
|
||||
&) 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
|
||||
_) ev I2v
|
||||
_) eva (ne Ev@
|
||||
@@ -2915,40 +2926,10 @@
|
||||
n) ihi aI|@
|
||||
_) i (h aI
|
||||
ii (_ IaI
|
||||
ij (C eI // Dutch
|
||||
f) i (j i:
|
||||
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
|
||||
_) il (lust Il
|
||||
_C) i (lo aI
|
||||
&) ily (_S2i l%I
|
||||
@) i (ness I
|
||||
i (o I2
|
||||
_) i (o aI
|
||||
@@ -2971,7 +2952,7 @@
|
||||
ize (_ aIz
|
||||
ial) ize (_S3 aIz
|
||||
ize (d_ aIz
|
||||
i (zen I2
|
||||
i (zen I
|
||||
iz (er_ aIz
|
||||
i (zon_ 'aI
|
||||
_p) izz i:t|s
|
||||
@@ -3055,6 +3036,7 @@
|
||||
&n) iel (_ j@L
|
||||
&r) iel (_ =i:@L
|
||||
ie (n i@
|
||||
&) ie (n_ =i@n
|
||||
d) iene (_ 'aIi:n
|
||||
ie (ntal I'E
|
||||
g) ie (n i:
|
||||
@@ -3135,6 +3117,40 @@
|
||||
igu (e '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
|
||||
&) im (_ I#m
|
||||
cl) im aIm
|
||||
@@ -3161,6 +3177,7 @@
|
||||
imm (in Im
|
||||
immo (bi Im'oU
|
||||
imm (unis Im
|
||||
_) immu (no I2mju:
|
||||
@) imous (_ =Im@s
|
||||
im (pac Im
|
||||
im (pecu ,Im
|
||||
@@ -3241,6 +3258,7 @@
|
||||
in (ga_ 'IN
|
||||
in (got IN
|
||||
_) in (gro IN
|
||||
_) in (im I2n
|
||||
_) in (jur In
|
||||
_) in (k IN
|
||||
_) in (l In
|
||||
@@ -3493,7 +3511,7 @@
|
||||
@) istan (_ =Istan
|
||||
@) istani (_ Ist'A:nI
|
||||
@) iste (_ 'i:st
|
||||
@) is (tic 'Is
|
||||
@) is (tic_ 'Is
|
||||
r) is (y_ =@s
|
||||
|
||||
|
||||
@@ -4074,7 +4092,6 @@
|
||||
betr) oth oUD
|
||||
?3 cl) o (th O
|
||||
cl) othe oUD
|
||||
tr) othe oUD
|
||||
b) o (ther 0
|
||||
_r) o (ther 0
|
||||
o (ther+ V
|
||||
@@ -4212,7 +4229,7 @@
|
||||
dr) on (_ @n
|
||||
or) on (_ 0n
|
||||
cr) on (_ 0n
|
||||
x) on (_+ 0n
|
||||
@x) on (_ @n
|
||||
phot) on @n
|
||||
pers) on @n
|
||||
pers) on (i '0n
|
||||
@@ -4295,6 +4312,7 @@
|
||||
.group or
|
||||
or o@
|
||||
_) or O@
|
||||
_) organo (@P6 O@g,anoU
|
||||
or (ch_ O@
|
||||
or (m_ O@
|
||||
st) or (m o@
|
||||
@@ -5221,6 +5239,7 @@
|
||||
?5 _) sur sVR
|
||||
_) sure SU@
|
||||
sur (anc SU@
|
||||
sur (g+ s3:
|
||||
sur (m s3
|
||||
sur (pa s3
|
||||
sur (pr s3
|
||||
@@ -5253,6 +5272,7 @@
|
||||
te (rrest t2@
|
||||
r) tga (g gI
|
||||
@) t (ia S
|
||||
_pi) t (ia t
|
||||
s) t (l
|
||||
to (morr t@
|
||||
_) to (nn tV
|
||||
@@ -5265,6 +5285,7 @@
|
||||
tribe traIb
|
||||
_) tri (bu trI
|
||||
_) tri (g trI
|
||||
_) tri (gonA trI
|
||||
_) tri (ni trI
|
||||
_) tri (vi trI
|
||||
_) tri (xA trI
|
||||
@@ -5274,23 +5295,6 @@
|
||||
_) tsu tsu:
|
||||
_) two tu:
|
||||
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
|
||||
tze (_ tsi
|
||||
|
||||
@@ -5367,7 +5371,26 @@
|
||||
&) tious S=@s
|
||||
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
|
||||
u V
|
||||
man) u ju:
|
||||
@@ -6069,6 +6092,7 @@
|
||||
ö 3:
|
||||
ör 3:
|
||||
ü u:
|
||||
û u:
|
||||
ç s
|
||||
ß s
|
||||
č tS
|
||||
|
||||
@@ -29,6 +29,7 @@ _tld t'ilde
|
||||
// names of symbols
|
||||
ª a
|
||||
º o
|
||||
° grados
|
||||
_. punto
|
||||
_, koma
|
||||
_; p,untoik'oma
|
||||
@@ -123,6 +124,9 @@ _dpt koma
|
||||
_#º o
|
||||
_#ª a
|
||||
_ord o
|
||||
ºc gr'ados||T'e
|
||||
ºf gr'ados||'Efe
|
||||
ºk gr'ados||k'a
|
||||
|
||||
_1o prim'Er
|
||||
_2o seQ'und
|
||||
|
||||
+49
-1
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
@@ -40,6 +40,50 @@
|
||||
y ipsilon
|
||||
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
|
||||
@@ -47,6 +91,10 @@ _í $accent
|
||||
_ó $accent
|
||||
_ú $accent
|
||||
|
||||
_ar 'Arapsko
|
||||
_cyr tS;'iRilitsa
|
||||
|
||||
|
||||
// accent names
|
||||
_lig l'ig&t,UR&
|
||||
_acu 'akUt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// "hbs" is the ISO 639-3 code for Serbian/Croatian/Bosnian macrolanguage
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
.group d
|
||||
d d
|
||||
dz dz
|
||||
_) dz (_ dz@
|
||||
dž dZ
|
||||
_) dž (_ dZ@
|
||||
|
||||
.group đ
|
||||
đ dZ;
|
||||
@@ -67,6 +69,8 @@
|
||||
.group l
|
||||
l l
|
||||
K) l (K l-
|
||||
|
||||
_) lj (_ l^@
|
||||
lj (+ l^
|
||||
v) lj lj
|
||||
|
||||
@@ -79,6 +83,7 @@
|
||||
n (k N
|
||||
|
||||
nj n^
|
||||
_) nj (_ n^@
|
||||
|
||||
.group o
|
||||
o o
|
||||
|
||||
+15
-4
@@ -162,7 +162,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
श S@
|
||||
ष s.@ // retroflex [S]
|
||||
स s@
|
||||
ह H@-
|
||||
ह H@
|
||||
क़ q@
|
||||
ख़ x@
|
||||
ग़ Q@
|
||||
@@ -196,10 +196,21 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
|
||||
_?? Vks.@r
|
||||
|
||||
// Alphabet names
|
||||
_ar 'Vrbi
|
||||
_cyr sIrIk'Ik
|
||||
_zh c'i@ni
|
||||
|
||||
// Punctuation
|
||||
। dVn.d.V
|
||||
|
||||
$ dOl@r
|
||||
% pVt'IS@t
|
||||
+ plVs
|
||||
= bVr'a:b@r
|
||||
* ta:r'a:Nk@n
|
||||
*
|
||||
|
||||
// Pronouns
|
||||
मैं $u // main: IrI
|
||||
मुझे $u
|
||||
@@ -262,7 +273,7 @@ _?? Vks.@r
|
||||
को $u // ko: to
|
||||
तक $u // tak: until, for(time)
|
||||
बिना $u $pause // without (preposition)
|
||||
में $u // me: in
|
||||
में me~: $u+ // me: in
|
||||
से $u // se: from, with, by
|
||||
|
||||
|
||||
@@ -272,7 +283,7 @@ _?? Vks.@r
|
||||
|
||||
// Conjunctions
|
||||
|
||||
और $u $pause // aur: and
|
||||
और $u $brk // aur: and
|
||||
य j@ $u $pause // ja: or
|
||||
अगर $u $pause // agar: if
|
||||
यदि $u $pause // yadi: if, whether
|
||||
@@ -299,5 +310,5 @@ _?? Vks.@r
|
||||
|
||||
|
||||
// Exceptions
|
||||
क्रिकेट krIk'Et
|
||||
क्रिकेट kr'IkIt
|
||||
सायबर s'aIb@r
|
||||
|
||||
+2
-7
@@ -390,7 +390,7 @@
|
||||
ः H // visarga
|
||||
|
||||
.group ् // virama
|
||||
्
|
||||
्
|
||||
|
||||
// Extra consonants
|
||||
|
||||
@@ -410,7 +410,7 @@
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
|
||||
.group ड़ // dddha (should retroflex flap)
|
||||
.group ड़ // dddha (should retroflex flap ?)
|
||||
ड़ r.V
|
||||
ड़ (B r.
|
||||
|
||||
@@ -443,8 +443,3 @@
|
||||
|
||||
|
||||
|
||||
.group
|
||||
$ dOlV
|
||||
% pVsEnt
|
||||
|
||||
|
||||
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
// 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]
|
||||
@@ -82,6 +82,7 @@ _tld t'ilde
|
||||
# kantSellet:o
|
||||
@ ki'otS:ola
|
||||
~ tilde
|
||||
° g@-*'a:di
|
||||
: d,uep'unti
|
||||
|
||||
_! p,untoesklamat'ivo
|
||||
|
||||
+3
-3
@@ -24,8 +24,8 @@ _9X g'u_!||s'ip_!
|
||||
_0C p'Eq_!
|
||||
|
||||
// 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
|
||||
_1M1 m'an
|
||||
_0M2 '@q // 10^8
|
||||
@@ -50,7 +50,7 @@ _1M4 gj'@N
|
||||
ᄋ i;'u-N
|
||||
ᄌ tS;i;'u-t
|
||||
ᄍ 's-aNdZ;,i;u-t
|
||||
ᄎ tSh-'i;u-t
|
||||
ᄎ tSh'i;u-t
|
||||
ᄏ khi;'u-k
|
||||
ᄐ thi;'u-t-
|
||||
ᄑ phi;'u-p
|
||||
|
||||
+3
-3
@@ -83,7 +83,7 @@
|
||||
ᄍ 'tS;- // TODO: phoneme
|
||||
|
||||
.group ᄎ // ㅊ
|
||||
ᄎ tSh- // TODO: phoneme
|
||||
ᄎ tSh // TODO: phoneme
|
||||
|
||||
.group ᄂ // ㄴ
|
||||
ᄂ ;n
|
||||
@@ -198,7 +198,7 @@
|
||||
ᇀᄂ nn
|
||||
ᇀᄆ mm
|
||||
ᇀ (A th
|
||||
ᇀ (L02 tSh;
|
||||
ᇀ (L02 tS;h
|
||||
|
||||
.group ᆸ // ㅂ
|
||||
ᆸ p
|
||||
@@ -236,7 +236,7 @@
|
||||
ᆾ t
|
||||
ᆾᄂ nn
|
||||
ᆾᄆ mm
|
||||
ᆾ (A tSh;
|
||||
ᆾ (A tS;h
|
||||
|
||||
.group ᆫ // ㄴ
|
||||
ᆫ n
|
||||
|
||||
@@ -295,12 +295,5 @@
|
||||
|
||||
|
||||
|
||||
.group 0xe0a4 // devanagari
|
||||
0xe0a4 _^_HI // switch to hindi voice
|
||||
|
||||
.group 0xe0a5 // devanagari
|
||||
0xe0a5 _^_HI
|
||||
|
||||
|
||||
.group
|
||||
$ do:l.ar
|
||||
|
||||
+8
-4
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// This file in UTF8 encoded
|
||||
|
||||
// $alt2, remove s from plural, remove en from plural
|
||||
@@ -58,7 +58,7 @@ _tld t'Ild@
|
||||
|
||||
|
||||
// punctuation
|
||||
. p8nt $max3
|
||||
. p8nt
|
||||
_, k'Oma:
|
||||
_: d'8b@l@p,8nt
|
||||
_; p'8ntkOm,a:
|
||||
@@ -75,10 +75,12 @@ _) h'a:kj@sl'Wyt@n
|
||||
_{ v'irkAnt@h,a:k
|
||||
_} v'irkAnt@h,a:ksl'Wyt@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@
|
||||
€ 'Y:*o:t,e:k@n
|
||||
° Qra:d@n
|
||||
|
||||
|
||||
// numbers
|
||||
@@ -133,6 +135,7 @@ _0Co h'OndErtst@
|
||||
|
||||
// abbreviations
|
||||
be $abbrev // used as domain abbrev for Belgium and in a lot of other names
|
||||
ca ka: $hasdot
|
||||
enz Enzo:vo:rt
|
||||
bvb bEIv'o:rbe:lt
|
||||
eu e:_y: $abbrev
|
||||
@@ -379,6 +382,7 @@ reken $alt
|
||||
schepen $alt
|
||||
steven $alt
|
||||
teken $alt
|
||||
volwassen $alt
|
||||
wapen $alt
|
||||
zegen $alt
|
||||
trokken $alt
|
||||
|
||||
+12
-5
@@ -4,7 +4,7 @@
|
||||
// Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant
|
||||
|
||||
.L01 g k
|
||||
.L02 _ t_ d_ de_ den_ // verb endings
|
||||
.L02 _ t_ d_ de_ den_ nen_ // verb endings ('nen' for 'scannen')
|
||||
|
||||
|
||||
.group a
|
||||
@@ -330,13 +330,20 @@
|
||||
g Q // ph_dutch changes to [x] before unvoiced, NULL after [x]
|
||||
gg Q
|
||||
s) g x
|
||||
|
||||
@) gi (eus Z
|
||||
@) gi (euz Z
|
||||
reli) gi (eu Qij
|
||||
|
||||
|
||||
.group ge
|
||||
_) ge (@P2 Q@
|
||||
ge (bied Q@
|
||||
_) gee Qe:
|
||||
_) gei QEI
|
||||
gener (aal Q,e:n@r
|
||||
_) gelijk Q@lEIk
|
||||
_) ge (lC QE
|
||||
_) ge (rC QE
|
||||
_) geu QY:
|
||||
_) ge (ven Qe:
|
||||
@@ -346,10 +353,8 @@
|
||||
|
||||
ge (sprek Q@ // in compounds
|
||||
|
||||
@) gi (eus Z
|
||||
@) gi (euz Z
|
||||
reli) gi (eu Qij
|
||||
|
||||
|
||||
|
||||
.group h
|
||||
h h
|
||||
@@ -360,6 +365,7 @@
|
||||
_) herinn h%ErIn // herinneren
|
||||
_) hersen h'Ers@n
|
||||
&) heid (_S4 hEIt
|
||||
_) hulp (@@P4 h'8lp
|
||||
|
||||
|
||||
.group i
|
||||
@@ -546,13 +552,14 @@ _) inn (@P2 'I // ?? inneren
|
||||
pl) oi (t v#A
|
||||
c) oi (ffu v#A
|
||||
pr) o (gram o:
|
||||
omgeving OmQ'e:vIN
|
||||
oo (X 'o:
|
||||
oon 'o:n // in compounds, eg. telefoongesprek
|
||||
oo (C_ 'o:
|
||||
_) oost (@P4 o:st
|
||||
_) op (@@P2 'Op
|
||||
_) open (@P4 'o:p@n
|
||||
_) op (enen 'o:p
|
||||
_) op (enen+ 'o:p
|
||||
_) openings (P8 'o:p@nINs
|
||||
_) op (era 'o:p
|
||||
_) op (tion Op
|
||||
|
||||
+106
-72
@@ -329,8 +329,7 @@ vocês $u2+ $verbf
|
||||
eles $u+ $verbf
|
||||
elas $u+ $verbf
|
||||
|
||||
me $u // reflexive
|
||||
me $u $verbf
|
||||
me $u $verbf // reflexive
|
||||
te $u $verbf
|
||||
nos $u $nounf
|
||||
la $u
|
||||
@@ -345,7 +344,7 @@ se $u
|
||||
?2 nesta $u+ $nounf
|
||||
?2 neste $u+ $nounf n'estSi //in this
|
||||
?2 esse $u+ $nounf 'esi // that
|
||||
essa 'Es& $u+
|
||||
essa 'Es& $u+ $noun
|
||||
desse $u+ $nounf
|
||||
desta $nounf
|
||||
nesse n'esy $u+ $nounf
|
||||
@@ -384,7 +383,7 @@ duma $u $nounf
|
||||
duns $u $nounf
|
||||
dumas $u $nounf
|
||||
|
||||
em $u // in,on,at
|
||||
em $u $noun // in,on,at
|
||||
no nu $u $nounf
|
||||
na $u $nounf
|
||||
num $u $nounf
|
||||
@@ -427,7 +426,7 @@ com $u // with
|
||||
// conjunctions
|
||||
?1 e i $u // and
|
||||
?2 e i $u // and
|
||||
se $u // if
|
||||
se $u+ $verbf // if
|
||||
|
||||
|
||||
?2 mas $u // but
|
||||
@@ -522,7 +521,7 @@ estão $u
|
||||
|
||||
estava $u
|
||||
estávamos $u
|
||||
astavam $u
|
||||
estavam $u
|
||||
|
||||
estive $u
|
||||
?2 esteve estevy $u2
|
||||
@@ -619,9 +618,14 @@ o O $atend
|
||||
|
||||
|
||||
// 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
|
||||
@@ -639,18 +643,19 @@ acervo $alt2
|
||||
adepto $alt
|
||||
adore $alt
|
||||
adorno $alt $verb
|
||||
aeroporto $alt2
|
||||
aeroportos $alt
|
||||
albatrozes $alt
|
||||
alcateia $alt
|
||||
alcova $alt2
|
||||
alferes $alt
|
||||
algozes $alt
|
||||
alicerce $alt
|
||||
almoço $alt $verb
|
||||
amarelo $alt
|
||||
ameba $alt
|
||||
amores $alt2
|
||||
antonieta $alt2
|
||||
apego $alt2 $noun
|
||||
apelo $alt $verb
|
||||
apelo $alt2 $noun
|
||||
aposto $alt $verb
|
||||
aperto $alt2 $noun
|
||||
apneia $alt
|
||||
@@ -660,8 +665,8 @@ arremesso $alt2 $noun
|
||||
arroz $alt2
|
||||
assembleia $alt
|
||||
ateia $alt
|
||||
aterro $alt2 $noun
|
||||
aterros $alt2
|
||||
aterro $alt2
|
||||
aterro $alt $verb
|
||||
atmosfera $alt
|
||||
atrozes $alt
|
||||
autora $alt2
|
||||
@@ -671,10 +676,10 @@ azeda $alt $verb
|
||||
azedo $alt $verb
|
||||
baqueta $alt2
|
||||
beco $alt2
|
||||
belo $alt
|
||||
besta $alt2
|
||||
bilhete $alt2
|
||||
boca $alt2
|
||||
boceta $alt2
|
||||
bochecha $alt2
|
||||
bojo $alt2
|
||||
boleia $alt
|
||||
@@ -683,37 +688,41 @@ bolo $alt2
|
||||
bolo $alt $verb
|
||||
borboleta $alt2
|
||||
bordo $alt
|
||||
borra $alt2 $noun
|
||||
bosque $alt
|
||||
boto $alt2 $noun
|
||||
boxe $alt
|
||||
brejo $alt
|
||||
bromelha $alt
|
||||
cabelo $alt2
|
||||
cabresto $alt2
|
||||
cacete $alt2
|
||||
cachorra $alt2
|
||||
caderneta $alt2
|
||||
cadete $alt2
|
||||
camelha $alt
|
||||
camelo $alt2
|
||||
caminhonete $alt
|
||||
camiseta $alt2
|
||||
cantora $alt2
|
||||
capacete $alt2
|
||||
caractere $alt
|
||||
caramelo $alt
|
||||
carbureto $alt2
|
||||
careta $alt2
|
||||
carreta $alt2
|
||||
carroça $alt
|
||||
casebre $alt
|
||||
castelo $alt
|
||||
cateto $alt2
|
||||
catorze $alt2
|
||||
cebola $alt2
|
||||
cefaleia $alt
|
||||
centopeia $alt
|
||||
centopeia $alt
|
||||
cerca $alt
|
||||
cerca $alt2 $noun
|
||||
cerco $alt $verb
|
||||
chamego $alt2
|
||||
chefe $alt
|
||||
checam $alt
|
||||
cheque $alt
|
||||
chinelo $alt
|
||||
choro $alt2 $noun
|
||||
chovesse $alt2
|
||||
chupeta $alt2
|
||||
@@ -721,7 +730,6 @@ clamores $alt2
|
||||
clero $alt
|
||||
coco $alt2
|
||||
cofre $alt
|
||||
cogumelo $alt
|
||||
coice $alt2
|
||||
colabore $alt
|
||||
colete $alt2
|
||||
@@ -736,9 +744,11 @@ concerto $alt2 $noun
|
||||
concertos $alt2
|
||||
concordo $alt
|
||||
conforto $alt $verb
|
||||
congelo $alt
|
||||
console $alt2 $noun
|
||||
consolo $alt2 $noun
|
||||
controle $alt2 $noun
|
||||
controles $alt2
|
||||
controles $alt $verb
|
||||
controlo $alt2 $noun
|
||||
coreia $alt
|
||||
coreto $alt2
|
||||
@@ -749,37 +759,39 @@ corto $alt
|
||||
corveta $alt2
|
||||
corvos $alt
|
||||
coto $alt2
|
||||
cotovelo $alt2
|
||||
cratera $alt
|
||||
crede $alt2
|
||||
crepe $alt
|
||||
decore $alt
|
||||
degelo $alt2
|
||||
desapego $alt2 $noun
|
||||
descabelo $alt
|
||||
descordo $alt
|
||||
desemprego $alt2
|
||||
desemprego $alt $verb
|
||||
desespero $alt2 $noun
|
||||
desfecho $alt2
|
||||
desmantelo $alt $verb
|
||||
desmantelo $alt2 $noun
|
||||
desporto $alt2
|
||||
desportos $alt
|
||||
desprezo $alt2 $noun
|
||||
desse $alt2
|
||||
desse $alt $verb
|
||||
deste $alt2
|
||||
deste $alt $verb
|
||||
desterro $alt2
|
||||
destroem $alt
|
||||
destroem $alt
|
||||
deveras $alt
|
||||
dez $alt
|
||||
diarreia $alt
|
||||
diego $alt2
|
||||
discordo $alt
|
||||
dobro $alt2 $noun
|
||||
doce $alt2
|
||||
doutora $alt2
|
||||
droga $alt
|
||||
duelo $alt
|
||||
dueto $alt2
|
||||
elixir eliSir
|
||||
elo $alt
|
||||
emprego $alt2 $noun
|
||||
empregos $alt2
|
||||
encosto $alt $verb
|
||||
@@ -787,73 +799,77 @@ endereço $alt $verb
|
||||
enforco $alt
|
||||
engordo $alt
|
||||
enredo $alt $verb
|
||||
enrosco $alt $verb
|
||||
enrosco $alt $verb
|
||||
enterro $alt2 $noun
|
||||
enumerem $alt
|
||||
envelope $alt
|
||||
envolto $alt2
|
||||
enxaqueca $alt2
|
||||
enxerto $alt2 $noun
|
||||
epopeia $alt
|
||||
eritreia $alt
|
||||
erro $alt2 $noun
|
||||
erros $alt2
|
||||
erro $alt2
|
||||
erro $alt $verb
|
||||
esboço $alt $verb
|
||||
escopeta $alt2
|
||||
escova $alt2 $noun
|
||||
escovas $alt2
|
||||
escovas $alt2
|
||||
escovo $alt
|
||||
escroto $alt2
|
||||
esforço $alt $verb
|
||||
esforços $alt
|
||||
esgoto $alt2 $noun
|
||||
esgotos $alt2
|
||||
esgoto $alt2
|
||||
esgoto $alt $verb
|
||||
esperma $alt
|
||||
espeto $alt2 $noun
|
||||
espiroqueta $alt2
|
||||
espoleta $alt2
|
||||
esposa $alt2
|
||||
esqueleto $alt2
|
||||
estilete $alt2
|
||||
estilete $alt2
|
||||
estrela $alt2
|
||||
estrofe $alt
|
||||
estorno $alt $verb
|
||||
estorvo $alt $verb
|
||||
etiqueta $alt2
|
||||
europa $alt
|
||||
europeia $alt
|
||||
europeia $alt
|
||||
exagero $alt $verb
|
||||
explore $alt
|
||||
faceta $alt2
|
||||
fantoche $alt
|
||||
farelo $alt
|
||||
fantoche $alt
|
||||
farofa $alt
|
||||
farolete $alt2
|
||||
febre $alt
|
||||
fera $alt
|
||||
feitora $alt2
|
||||
ferozes $alt
|
||||
fezes $alt
|
||||
filete $alt2
|
||||
?1 fixe fiSy
|
||||
foda $alt2 $verb
|
||||
folheto $alt2
|
||||
folga $alt
|
||||
fogos $alt
|
||||
foguete $alt2
|
||||
foice $alt2
|
||||
folheto $alt2
|
||||
fora $alt
|
||||
fora $alt2 $verb
|
||||
forca $alt2
|
||||
força $alt2 $noun
|
||||
forças $alt2
|
||||
forço $alt
|
||||
formos $alt2
|
||||
forro $alt $verb
|
||||
frevo $alt2
|
||||
fulgores $alt2
|
||||
galera $alt
|
||||
galileia $alt
|
||||
gameta $alt2
|
||||
garçonete $alt2
|
||||
geleia $alt
|
||||
gelo $alt2
|
||||
gelo $alt $verb
|
||||
genebra $alt
|
||||
germe $alt
|
||||
gesso $alt2
|
||||
golpe $alt
|
||||
gonorreia $alt
|
||||
@@ -871,28 +887,30 @@ hemorroida $alt
|
||||
hoje $alt2
|
||||
horrores $alt2
|
||||
ideia $alt
|
||||
interesse $alt2 $noun
|
||||
imberbe $alt
|
||||
interesse $alt2
|
||||
interesse $alt $verb
|
||||
jogo $alt2 $noun
|
||||
joguete $alt2
|
||||
lagosta $alt2
|
||||
lambreta $alt2
|
||||
lanchonete $alt
|
||||
lebre $alt
|
||||
lembrete $alt2
|
||||
lepra $alt
|
||||
leste $alt2 $verb
|
||||
lingueta $alt2
|
||||
lopes $alt
|
||||
macete $alt2
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
marcelo $alt
|
||||
marmelo $alt
|
||||
marionete $alt
|
||||
marreta $alt2
|
||||
martelo $alt
|
||||
megera $alt
|
||||
melhor $alt
|
||||
menor $alt
|
||||
merda $alt
|
||||
megera $alt
|
||||
melo $alt
|
||||
mentora $alt2
|
||||
merda $alt
|
||||
meta $alt $noun
|
||||
meteoro $alt
|
||||
metro $alt
|
||||
@@ -902,8 +920,11 @@ mexo m'eSU
|
||||
minueto $alt2
|
||||
miolo $alt2
|
||||
miolos $alt
|
||||
modelo $alt2
|
||||
modelo $alt $verb
|
||||
moeda $alt
|
||||
mofo $alt $verb
|
||||
moem $alt
|
||||
mofo $alt $verb
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
morcego $alt2
|
||||
@@ -922,12 +943,15 @@ namoro $alt2 $noun
|
||||
naquela $nounf
|
||||
naquele $alt2 $nounf
|
||||
nervo $alt2
|
||||
nojo $alt2
|
||||
novelo $alt2
|
||||
novos $alt
|
||||
obstetra $alt
|
||||
odisseia $alt
|
||||
onu $1
|
||||
olho $alt2 $noun
|
||||
onomatopeia $alt
|
||||
olho $alt2 $noun
|
||||
olhos $alt
|
||||
onomatopeia $alt
|
||||
opereta $alt2
|
||||
ordens $alt
|
||||
osso $alt2
|
||||
@@ -941,16 +965,14 @@ palacete $alt2
|
||||
palheta $alt2
|
||||
panfleto $alt2
|
||||
pangeia $alt
|
||||
panqueca p,&~Nk'Ek&
|
||||
pantera $alt
|
||||
paralelo $alt
|
||||
parede $alt2
|
||||
pastora $alt2
|
||||
patinete $alt
|
||||
pedra $alt
|
||||
pela $alt $verb
|
||||
pelego $alt2
|
||||
pela $alt $verb
|
||||
pelo $alt $verb
|
||||
pelo $alt2
|
||||
pelo $alt $verb
|
||||
peso $alt $verb
|
||||
piloto $alt2 $noun
|
||||
pintora $alt2
|
||||
@@ -969,7 +991,7 @@ pose $alt2
|
||||
povos $alt
|
||||
poxa p'oS&
|
||||
primavera $alt
|
||||
prosopopeia $alt
|
||||
prosopopeia $alt
|
||||
quarteto $alt2
|
||||
queda $alt
|
||||
quede $alt2
|
||||
@@ -985,12 +1007,17 @@ reforço $alt $verb
|
||||
reforços $alt
|
||||
refresco $alt $verb
|
||||
reitora $alt2
|
||||
rejo $alt
|
||||
relevo $alt2 $noun
|
||||
remorso $alt
|
||||
renovo $alt $verb
|
||||
retorno $alt $verb
|
||||
reuva x'EUv&
|
||||
rigores $alt2
|
||||
rixa x'iS&
|
||||
rocha $alt
|
||||
rock $alt
|
||||
roem $alt
|
||||
rola $alt2 $noun
|
||||
rolo $alt2 $noun
|
||||
rota $alt2
|
||||
@@ -1003,12 +1030,12 @@ seca $alt2 $noun
|
||||
secas $alt2
|
||||
seco $alt2
|
||||
seco $alt $verb
|
||||
selo $alt $verb
|
||||
selo $alt2
|
||||
selo $alt $verb
|
||||
selvagem seUv'aZeIN
|
||||
sexteto $alt2
|
||||
?1 senhora $alt2
|
||||
senhores $alt2
|
||||
singelo $alt
|
||||
sinopse $alt
|
||||
soco $alt2
|
||||
soco $alt $verb
|
||||
@@ -1025,6 +1052,7 @@ suor swOr
|
||||
tapete $alt2
|
||||
temores $alt2
|
||||
tempero $alt2 $noun
|
||||
tenores $alt2
|
||||
terrores $alt2
|
||||
teta $alt2
|
||||
tetra $alt
|
||||
@@ -1032,9 +1060,10 @@ tocha $alt
|
||||
toga $alt
|
||||
topo $alt $verb
|
||||
torno $alt $verb
|
||||
tornozelo $alt2
|
||||
torre $alt2 $noun
|
||||
torres $alt2
|
||||
torro $alt
|
||||
torro $alt
|
||||
tortos $alt
|
||||
traqueia $alt
|
||||
travesso $alt2
|
||||
@@ -1047,17 +1076,14 @@ trombeta $alt2
|
||||
tumores $alt2
|
||||
valeta $alt2
|
||||
vanessa $alt2
|
||||
velo $alt
|
||||
velozes $alt
|
||||
verme $alt
|
||||
verbete $alt2
|
||||
violeta $alt2
|
||||
violoncelo $alt
|
||||
voga $alt
|
||||
vozes $alt
|
||||
xarope $alt
|
||||
xeque $alt
|
||||
zelo $alt $verb
|
||||
zero $alt
|
||||
zelo $alt2 $noun
|
||||
zorra $alt2
|
||||
|
||||
|
||||
@@ -1067,7 +1093,8 @@ zorra $alt2
|
||||
?1 back b'Ek
|
||||
?2 backup bEk'&p
|
||||
?2 backups bEk'&ps
|
||||
?1 blind bl'aind
|
||||
blind bl'aind
|
||||
book buk
|
||||
?1 braille b:r'aily
|
||||
?2 Braille bR'aili
|
||||
?1 cancel k'&ns'El
|
||||
@@ -1083,8 +1110,10 @@ zorra $alt2
|
||||
?1 download d'a,wnl'oud
|
||||
?2 download daUNl'owd
|
||||
?3 download dau~Nl'owd
|
||||
drive dR'aivy
|
||||
driver dR'aiver
|
||||
drivers dR'aiveRs
|
||||
?1 end 'end
|
||||
?1 escape Sk'eIpy
|
||||
?2 esc 'Esk
|
||||
?3 esc 'EskI
|
||||
?1 explorer ,ekspl'O:*&r-
|
||||
@@ -1107,6 +1136,7 @@ zorra $alt2
|
||||
?2 Intranet iNtRan'Et
|
||||
?1 kernel k'Ern,El
|
||||
?2 kernel k'Ern@l
|
||||
laptop lEptOp
|
||||
?1 line l'ain
|
||||
layout l'eI,aUt
|
||||
?2 logo l'OgU
|
||||
@@ -1123,6 +1153,7 @@ zorra $alt2
|
||||
?1 ovo 'ovu
|
||||
?1 pause p'au:z
|
||||
page p'eIdZ
|
||||
pizza p'its&
|
||||
python p'aIT&~N
|
||||
?1 readme r'i:dmi:
|
||||
?1 sapi s,ap'i
|
||||
@@ -1137,14 +1168,13 @@ símbolo s'imbolU
|
||||
?2 software s'Oftwe@-
|
||||
?1 space sp'eIsy
|
||||
?1 sporting sp'Ort,ing
|
||||
?1 tab t'ab
|
||||
tab t'aby
|
||||
tablet t'ablet
|
||||
?1 telemóvel t,El,Em'OvEl
|
||||
?1 telemóveis t,El,Em'OveIs#
|
||||
?1 up &p
|
||||
?1 upload &pl'oud
|
||||
?2 web w'Eb
|
||||
?2 verbete verb'etSi
|
||||
?2 verbetes verb'etSis
|
||||
?1 yahoo 'i,ah'u
|
||||
?2 yahoo iah'u
|
||||
?1 yes j'Es
|
||||
@@ -1158,14 +1188,16 @@ louis _^_FR
|
||||
// foreign product names
|
||||
?1 access 'aks,Es
|
||||
?1 adobe &d'Oby
|
||||
apple 'Epow
|
||||
chrome kR'owmi
|
||||
debian d'Ebj&~N
|
||||
?1 excel ,Eks'El
|
||||
?1 express ,Ekspr'Es
|
||||
espeak isp'i:k
|
||||
?1 espeakedit isp'i:kEd,it
|
||||
facebook feisybuk
|
||||
?1 fedora _^_EN
|
||||
?1 firefox f'ai&rfOks
|
||||
?2 firefox f'ai@fOks
|
||||
firefox f'ai@fOks
|
||||
?1 front fr'ont
|
||||
?1 jaws dZ'au:z
|
||||
?1 linux l,in'uks
|
||||
@@ -1178,7 +1210,8 @@ louis _^_FR
|
||||
?2 microsoft m'aIkRows'Oft
|
||||
?1 movie m'uvi
|
||||
?1 nero n'Eru
|
||||
?1 office 'Of,is
|
||||
/1 office 'Of,is
|
||||
?2 office 'Ofsy
|
||||
openoffice 'opeIN|'Ofis
|
||||
?1 outlook 'autl'uk
|
||||
?2 Outlook ,aUtl'uk
|
||||
@@ -1200,6 +1233,7 @@ playstation _^_EN
|
||||
suse z'u:ts@
|
||||
?1 start st'art // nero StartSmart
|
||||
?1 time t'aImy // nero show time
|
||||
twitter tw'iter
|
||||
ubuntu ub'untu
|
||||
?1 unix ,u:n'iks
|
||||
?2 unix j'uniks
|
||||
|
||||
+67
-27
@@ -47,7 +47,6 @@
|
||||
?1 a (lK ,A // Algarve, Almerinda, etc...
|
||||
?2 al (K aU
|
||||
a (lh+ a
|
||||
|
||||
a (m &~
|
||||
a (mAr_ &
|
||||
a (mA@ &
|
||||
@@ -100,6 +99,7 @@
|
||||
ái (s ''aI
|
||||
á (iCK ''a
|
||||
áy ''aI
|
||||
ál (C ''aU
|
||||
áu ''aU
|
||||
áu (s ''aU
|
||||
?1 ál ''Al
|
||||
@@ -198,7 +198,7 @@
|
||||
e (guem_ E
|
||||
|
||||
e (lA_ E
|
||||
e (lo_ e
|
||||
e (lo_ E
|
||||
e (lAm_ E
|
||||
|
||||
i) e (r_ E
|
||||
@@ -220,9 +220,15 @@
|
||||
f) e (re_ E
|
||||
f) e (rem_ E
|
||||
|
||||
e (que_ E
|
||||
e (quem_ E
|
||||
|
||||
e (rgA_ E
|
||||
e (rgAm_ E
|
||||
|
||||
e (rgue_ E
|
||||
e (rguem_ E
|
||||
|
||||
e (rsA_ E
|
||||
e (rsAm_ E
|
||||
|
||||
@@ -236,6 +242,8 @@
|
||||
e (stAm_ E
|
||||
e (strA_ E
|
||||
|
||||
e (rme_ E
|
||||
|
||||
e (rnA_ E
|
||||
e (rnAm_ E
|
||||
|
||||
@@ -265,7 +273,6 @@
|
||||
e (xA_ E
|
||||
e (xAm_ E
|
||||
?2 _n) e (t E
|
||||
|
||||
em (C eIm
|
||||
en (K eIN
|
||||
enh en^
|
||||
@@ -359,6 +366,7 @@
|
||||
_perd) e (L05_ e
|
||||
_quis) e (L05_ E
|
||||
_soub) e (L05_ E
|
||||
_talh) e (L05_ E
|
||||
_trem) e (L05_ e
|
||||
diss) e (L06_ E // contra-
|
||||
fend) e (L06_ e // de- o-
|
||||
@@ -452,25 +460,26 @@ respond) e (L07_ e // cor-
|
||||
_hosp) e (dL03_ E
|
||||
_gr) e (gL03_ e
|
||||
_gal) e (gL03_ e
|
||||
_pel) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
_ch) e (guL02_ e
|
||||
estr) ei (L04_ EI
|
||||
_inv) e (jL04_ E
|
||||
tr) e (pL04_ E // es-
|
||||
_dec) e (pL04_ E
|
||||
_in) e (ptL03_ E
|
||||
_p) e (quL02_ E
|
||||
_s) e (quL02_ E
|
||||
ad) e (quL04_ E
|
||||
l) e (que_ E
|
||||
_imp) e (rL03_ E
|
||||
_sev) e (rL03_ E
|
||||
_reit) e (rL03_ E
|
||||
_sinc) e (rL03_ E
|
||||
_g) e (rL04_ E
|
||||
_z) e (rL04_ E
|
||||
qu) e (rL04_ E // re-
|
||||
_op) e (rL04_ E
|
||||
gen) e (rL04_ E // de- re-
|
||||
_alt) e (rL04_ E
|
||||
_enc) e (rL04_ E
|
||||
_sug) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
@@ -482,16 +491,16 @@ respond) e (L07_ e // cor-
|
||||
_recup) e (rL04_ E
|
||||
_refrig) e (rL04_ E
|
||||
_v) e (rbL03_ E
|
||||
_alic) e (rcL02_ E
|
||||
_p) e (rdL02_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_) e (rgL03_ e
|
||||
_) e (rguL02_ E
|
||||
_alb) e (rguL02_ E
|
||||
_enx) e (rguL02_ E
|
||||
_bez) e (rrL03_ e
|
||||
_inv) e (rtL03_ e
|
||||
_f) e (rvL03_ e
|
||||
_alic) e (rçL03_ E
|
||||
_p) e (sL01_ E
|
||||
_l) e (sL03_ E
|
||||
_refr) e (scL01_ E
|
||||
_d) e (scL02_ E
|
||||
_cr) e (scL02_ E
|
||||
@@ -517,6 +526,7 @@ _obsol) e (tL03_ e
|
||||
_atr) e (vL03_ e
|
||||
_r) e (zL04_ E
|
||||
_pr) e (zL04_ E
|
||||
_rev) e (zL04_ E
|
||||
_despr) e (zL04_ E
|
||||
_embel) e (zL04_ E
|
||||
_menospr) e (zL04_ E
|
||||
@@ -534,6 +544,7 @@ _entorp) e (çL03_ e
|
||||
éi (s ''EI
|
||||
é (iCK ''E
|
||||
éy ''eI
|
||||
él (C ''EU
|
||||
éu ''EU
|
||||
éu (s ''EU
|
||||
é (uCK ''E
|
||||
@@ -573,11 +584,19 @@ _entorp) e (çL03_ e
|
||||
g (Y Z // ge gi
|
||||
gu (Y g
|
||||
a) gu (ent gw
|
||||
_ar) gu (i gw
|
||||
averi) gu (e gw
|
||||
enxa) gu (e gw
|
||||
i) gu (idade gw
|
||||
lin) gu (e 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 (in gw
|
||||
tin) gu (i gw
|
||||
?1 n) gu (A gw // eg: língua, etc.
|
||||
?1 man) gu (ei g // mangueira
|
||||
?1 gu (ém_ g // eg: alguém, ninguém, etc...
|
||||
@@ -610,6 +629,8 @@ _entorp) e (çL03_ e
|
||||
|
||||
i (A_ 'i
|
||||
i (am_ 'i
|
||||
i (em_ 'i
|
||||
|
||||
io (_ iU
|
||||
io (s_ iU
|
||||
i (oCK i
|
||||
@@ -647,6 +668,7 @@ _entorp) e (çL03_ e
|
||||
ím (C ''im
|
||||
ín (K ''iN
|
||||
ính ''in^
|
||||
íl (C ''IU
|
||||
|
||||
|
||||
.group j
|
||||
@@ -673,9 +695,9 @@ _entorp) e (çL03_ e
|
||||
_) l (_ 'Ele
|
||||
l l
|
||||
l) l
|
||||
lh l^
|
||||
lh lj
|
||||
A) lh lj
|
||||
?1 A) lh l^
|
||||
A) lh l^
|
||||
?4 A) lh l^
|
||||
|
||||
|
||||
@@ -741,9 +763,15 @@ _entorp) e (çL03_ e
|
||||
o (lA_ O
|
||||
o (lAm_ O
|
||||
|
||||
o (lhe_ O
|
||||
o (lhem_ O
|
||||
|
||||
o (ltA_ O
|
||||
o (ltAm_ O
|
||||
|
||||
o (lve_ O
|
||||
o (lvem_ O
|
||||
|
||||
o (sA_ O
|
||||
o (so_N o // not for osos_
|
||||
o (sAm_ O
|
||||
@@ -760,9 +788,7 @@ _entorp) e (çL03_ e
|
||||
|
||||
?1 o (l_ 'O
|
||||
?2 ol (_ Ow
|
||||
o (lh o
|
||||
?2 _) o (lhA_ O
|
||||
?2 _) o (lhAm_ O
|
||||
|
||||
om (_ oN
|
||||
o (ma_ o
|
||||
|
||||
@@ -820,10 +846,12 @@ _entorp) e (çL03_ e
|
||||
|
||||
//sort
|
||||
_f) o (L05_ o
|
||||
_pormen) o (L05_ O
|
||||
_f) o (L07_ o
|
||||
_engl) o (bL01_ O
|
||||
_s) o (bL02_ O
|
||||
_af) o (bL04_ O
|
||||
_esn) o (bL04_ O
|
||||
_engl) o (bL04_ O
|
||||
br) o (chL04_ O
|
||||
_deb) o (chL04_ O
|
||||
_m) o (fL01_ O
|
||||
@@ -838,19 +866,17 @@ _entorp) e (çL03_ e
|
||||
_ap) oi (L02_ OI
|
||||
_b) oi (L04_ OI
|
||||
_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
|
||||
_ens) o (pL04_ O
|
||||
_s) o (prL04_ O
|
||||
_) o (ptL04_ O
|
||||
p) o (rL02_ o
|
||||
_dev) o (rL02_ O
|
||||
_defl) o (rL02_ O
|
||||
_impl) o (rL02_ O
|
||||
_inod) o (rL03_ O
|
||||
@@ -926,17 +952,21 @@ _remem) o (rL04_ O
|
||||
?1 _) qua kwa // quatro, etc.
|
||||
?1 _) que ke // quente, 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
|
||||
_a) qu (idade_ kw
|
||||
_a) qu (ífero_ kw
|
||||
e) qu (estr kw
|
||||
ese) qu (ív kw
|
||||
_e) qu (in kw
|
||||
fre) qu (ent kw
|
||||
_ini) qu (idade_ kw
|
||||
li) qu (id kw
|
||||
lí) qu (id kw
|
||||
n) qu (en kw
|
||||
_) qu (inqu kw
|
||||
se) qu (en kw
|
||||
tran) qu (il kw
|
||||
?1 quec kes // esquece, etc.
|
||||
?1 queç kes // esqueça.
|
||||
?1 A) que (nA_ ke // pequeno, etc.
|
||||
?1 C) quê (_ ke // porquê, etc.
|
||||
@@ -994,6 +1024,14 @@ _remem) o (rL04_ O
|
||||
?1 A) s (G+ Z
|
||||
?1 A) s (_KS1 s#
|
||||
?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
|
||||
|
||||
@@ -1027,6 +1065,8 @@ _remem) o (rL04_ O
|
||||
u (iu w
|
||||
u (iCK u
|
||||
uy uI
|
||||
ul (K uw
|
||||
u (lh+ u
|
||||
|
||||
um (_ u~N
|
||||
um (C u~m
|
||||
|
||||
+5
-5
@@ -28,7 +28,7 @@ _10 d;'es;It;
|
||||
_11 Od;'innVttsVt;
|
||||
_12 dv;In'AttsVt;
|
||||
_13 tR;In'AttsVt;
|
||||
_14 ts;It'y@-*nVttsVt;
|
||||
_14 tS;It'y@-*nVttsVt;
|
||||
_15 p;Itn'AttsVt;
|
||||
_16 SE#stn'AttsVt;
|
||||
_17 s;Imn'AttsVt;
|
||||
@@ -45,15 +45,15 @@ _9X d;E2v;In'ostO
|
||||
_0C st'o
|
||||
_2C dv;'es;t;I
|
||||
_3C tr;'ista
|
||||
_4C ts;It'yr;E2sta
|
||||
_4C tS;It'yr;E2sta
|
||||
_5C p;,It;s'ot
|
||||
_6C S,E#s;t;s'ot
|
||||
_7C s;,Ims'ot
|
||||
_8C vOs;Ims'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
|
||||
_0MA2 m;,IlI;'ona
|
||||
_0M2 m;,IlI;'onof
|
||||
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
// 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
|
||||
|
||||
|
||||
@@ -0,0 +1,271 @@
|
||||
|
||||
// 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
|
||||
|
||||
|
||||
+187
-12
@@ -36,7 +36,7 @@
|
||||
ل la:m
|
||||
م mi:m
|
||||
ن nu:n
|
||||
و va:O
|
||||
_و va:O
|
||||
ہ He:
|
||||
ں g#Unna
|
||||
ﮨ c#o:ti:||He:
|
||||
@@ -45,10 +45,13 @@
|
||||
ی c#o:t.i:||je:
|
||||
ے bar.i:||je:
|
||||
ئ h'amza
|
||||
ۂ He:h'amza
|
||||
_ؤ va:Oh'amza
|
||||
|
||||
َ z@b@R
|
||||
ِ ze:R
|
||||
ُ pe:S
|
||||
ٰ ,alIfmaqs'u:R,a
|
||||
ّ t,aSd'i:d
|
||||
ً d'o:zab'aR
|
||||
|
||||
@@ -166,8 +169,7 @@ _dpt _ISaRI'Ia_
|
||||
|
||||
|
||||
// pronouns
|
||||
یہ jE $u
|
||||
کہ kE $u
|
||||
یہ j'e:H $u
|
||||
وہ wo: $u
|
||||
آپ $u
|
||||
تم tUm $u
|
||||
@@ -186,8 +188,8 @@ _dpt _ISaRI'Ia_
|
||||
تجھے t'UJ#e:
|
||||
جن J'In
|
||||
جنھیں J,InH'e:n
|
||||
انھوں ,UnH'o:n
|
||||
انھیں ,InH'e:n
|
||||
انہوں ,UnH'o:n
|
||||
انہیں ,UnH'e:n
|
||||
|
||||
// unstressed prepositions
|
||||
کا $u
|
||||
@@ -196,6 +198,7 @@ _dpt _ISaRI'Ia_
|
||||
سے $u
|
||||
|
||||
اور OR $u $brk
|
||||
کہ k'e:H $u
|
||||
|
||||
// unstressed verbs
|
||||
ہے $u
|
||||
@@ -206,7 +209,6 @@ _dpt _ISaRI'Ia_
|
||||
|
||||
// Pronunciation exceptions
|
||||
پاکستان p'a:k'i:st'a:n
|
||||
سندھ s'Ind#
|
||||
کچھ k'Uc#
|
||||
لنکس l'Ink,s
|
||||
لفظ l'afz.
|
||||
@@ -218,7 +220,6 @@ _dpt _ISaRI'Ia_
|
||||
مسلح m,Usal'aH
|
||||
متفق mUt'afIq
|
||||
سابق s'a:bIq
|
||||
برسر b,aRs'aR
|
||||
اعلان e:l'a:n
|
||||
سنئیے sUn'i:;e:
|
||||
کلنگ k'IlIn,g
|
||||
@@ -226,7 +227,6 @@ _dpt _ISaRI'Ia_
|
||||
جسٹس J'ast.,Is
|
||||
شکایت S,Ika:j'at
|
||||
شکست SIk'ast
|
||||
منزل m'anz,Il
|
||||
شعر S'e:R
|
||||
فعل f'e:l
|
||||
خصوصی xUs.'u:s.i:
|
||||
@@ -256,7 +256,6 @@ _dpt _ISaRI'Ia_
|
||||
باہر ba:H'aR
|
||||
دیا d'i:;a:
|
||||
انڈیا ,Ind.'i:;a:
|
||||
مظاہرین m,Uz.a:HIR'i:n
|
||||
فائرنگ f'a:jIR,Ing
|
||||
ڈائریکٹر d.,a:jIR,e:kt.'aR
|
||||
فرقہ f'IRqa
|
||||
@@ -303,7 +302,6 @@ _dpt _ISaRI'Ia_
|
||||
بغیر baQ'e:R
|
||||
ممکن m'Umk,In
|
||||
ممکنہ m'Unk,In,a
|
||||
طرح taR'aH
|
||||
الیکشن ,Ile:kS'an
|
||||
ووٹنگ vo:t.'Ing
|
||||
شواہد Sav'a:HId
|
||||
@@ -348,11 +346,188 @@ _dpt _ISaRI'Ia_
|
||||
تعین t'a:jUn
|
||||
باعث b'a:jIs
|
||||
کتب k'UtUb
|
||||
سلسلہ s'Ils,Il,a
|
||||
سلسلے s'Ils,Ile:
|
||||
بحث be:He:s
|
||||
قسمت q,Ism'at
|
||||
آور a:v'aR
|
||||
بظاہر baz.'a:HIR
|
||||
ظاہر z.'a:HIR
|
||||
حکم 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
|
||||
|
||||
+122
-9
@@ -16,7 +16,7 @@
|
||||
٨ 8
|
||||
٩ 9
|
||||
ي ی
|
||||
|
||||
یٰ ا
|
||||
|
||||
|
||||
// vowel signs, alif acts as consonants at start of word if these follow
|
||||
@@ -81,6 +81,26 @@ _) ای e:
|
||||
_) ایمان i:m'a:n
|
||||
_) اعت 'e:tI
|
||||
_) اضاف 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 آ
|
||||
آ a:
|
||||
@@ -91,7 +111,8 @@ _) ای e:
|
||||
عا a:
|
||||
_) ع a
|
||||
_) عیس 'i:s
|
||||
|
||||
_) عید 'i:d
|
||||
عنوان Unv'a:n
|
||||
|
||||
.group و
|
||||
و o:
|
||||
@@ -117,6 +138,9 @@ _) ای e:
|
||||
.group ے // yeh barree
|
||||
ے e:
|
||||
|
||||
.group ۂ
|
||||
ۂ 'ae:
|
||||
|
||||
// with hamza
|
||||
.group ئ
|
||||
ئ
|
||||
@@ -148,7 +172,14 @@ _) ای e:
|
||||
بھیک bh'i:k
|
||||
بھیگ bh'i:g
|
||||
بھول 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 پ
|
||||
پ pV
|
||||
@@ -160,7 +191,8 @@ _) ای e:
|
||||
_) پھر ph'IR
|
||||
پھول ph'u:l
|
||||
_) پہل (L01 p'e:Hl
|
||||
|
||||
پہنچ paH'Unc
|
||||
پوچھ p'u:c#
|
||||
|
||||
.group ت
|
||||
ت tV
|
||||
@@ -169,6 +201,9 @@ _) ای e:
|
||||
تھ (L01 t#
|
||||
تّ ttV
|
||||
تّ (L01 tt
|
||||
_) تمہ t'UmH
|
||||
تحقیق t,e:Hq'i:q
|
||||
_) ترجم t'aRJ,Um
|
||||
|
||||
|
||||
.group ٹ
|
||||
@@ -178,6 +213,8 @@ _) ای e:
|
||||
ٹھ (L01 t.#
|
||||
ٹّ t.t.V
|
||||
ٹّ (L01 t.t.
|
||||
ٹریفک t.R'e:fIk
|
||||
_) ٹکڑ t.'Ukr.
|
||||
|
||||
|
||||
.group ث
|
||||
@@ -196,7 +233,10 @@ _) ای e:
|
||||
جّ (L01 JJ
|
||||
_) جیت J'i:t
|
||||
_) جوا J'ava:
|
||||
|
||||
جانب J'a:nIb
|
||||
_) جنس J'Ins
|
||||
جھوٹ J#'u:t.
|
||||
_) جمل J'Uml
|
||||
|
||||
.group چ
|
||||
چ cV
|
||||
@@ -205,12 +245,19 @@ _) ای e:
|
||||
چھ (L01 c#
|
||||
چّ ccV
|
||||
چّ (L01 cc
|
||||
_) چکا c'Uka:
|
||||
|
||||
|
||||
.group ح
|
||||
ح HV
|
||||
ح (L01 H
|
||||
ح (_ H
|
||||
ح (_ 'aH
|
||||
L01) ح (_ H
|
||||
حکومت H,Uku:m'at
|
||||
حکمران H,UkmaR'a:n
|
||||
_) حوال Hav'a:l
|
||||
|
||||
|
||||
حّ HHV
|
||||
حّ (L01 HH
|
||||
|
||||
@@ -218,7 +265,7 @@ _) ای e:
|
||||
.group خ
|
||||
خ xV
|
||||
خ (L01 x
|
||||
خت(_ xt
|
||||
@) خ (ت x
|
||||
خّ xxV
|
||||
خّ (L01 xx
|
||||
_) خوش x'US
|
||||
@@ -233,7 +280,12 @@ _) ای e:
|
||||
دھ (L01 d#
|
||||
دّ ddV
|
||||
دّ (L01 dd
|
||||
|
||||
درخواست d,aRxv'a:st
|
||||
دیا(_ d'i:;a:
|
||||
درج d'aRJ
|
||||
دیوا d'i:va:
|
||||
_) دوسر d'u:sR
|
||||
دفاع d'Ifa:
|
||||
|
||||
.group ڈ
|
||||
ڈ d.V
|
||||
@@ -242,6 +294,7 @@ _) ای e:
|
||||
ڈھ (L01 d.#
|
||||
ڈّ d.d.V
|
||||
ڈّ (L01 d.d.
|
||||
ڈھونڈ d.#'u:nd.
|
||||
|
||||
.group ذ
|
||||
ذ DV
|
||||
@@ -254,6 +307,11 @@ _) ای e:
|
||||
ر (L01 R
|
||||
رّ RRV
|
||||
رّ (l01 RR
|
||||
@) ر (ٹ R
|
||||
@) ر (ڈ R
|
||||
_) رہت R'e:Ht
|
||||
@) ر (د R
|
||||
@) ر (چ R
|
||||
|
||||
.group ڑ
|
||||
ڑ r.V
|
||||
@@ -268,6 +326,7 @@ _) ای e:
|
||||
ز (L01 z
|
||||
زّ zzV
|
||||
زّ (L01 zz
|
||||
_) زند z'Ind
|
||||
|
||||
.group ژ
|
||||
ژ ZV
|
||||
@@ -284,18 +343,32 @@ _) ای e:
|
||||
_) سلجھ (L01 sUlJh
|
||||
_) سدھر sUdh'aR
|
||||
_) سدھر (L01 sUdhR
|
||||
_) سلسل s'Ils,Il
|
||||
_) ستار sIt'a:R
|
||||
@) س (ٹ s
|
||||
سندھ s'Ind#
|
||||
سیکھ s'i:k#
|
||||
@) س (ت s
|
||||
_) سپرد sUp'URd
|
||||
|
||||
.group ش
|
||||
ش SV
|
||||
ش (L01 S
|
||||
شّ SSV
|
||||
شّ (L01 SS
|
||||
_) شعب S'Ob
|
||||
شاعر Sa:'a:IR
|
||||
_) شعرا S'ORa:
|
||||
_) شعل S'Ol
|
||||
@) ش (ت S
|
||||
_) شخص S'axs.
|
||||
|
||||
.group ص
|
||||
ص s.V
|
||||
ص (L01 s.
|
||||
صّ ssV
|
||||
صّ (L01 ss
|
||||
صوب s.'u:b
|
||||
|
||||
.group ض
|
||||
ض zV
|
||||
@@ -306,7 +379,7 @@ _) ای e:
|
||||
.group ط
|
||||
ط tV
|
||||
طھ t#V
|
||||
ط (L01 t
|
||||
ط (L01 t
|
||||
طھ (L01 t#
|
||||
طّ ttV
|
||||
طّ (L01 tt
|
||||
@@ -328,12 +401,14 @@ _) ای e:
|
||||
ف (L01 f
|
||||
فّ ffV
|
||||
فّ (L01 ff
|
||||
_) فکر f'IkR
|
||||
|
||||
.group ق
|
||||
ق qV
|
||||
ق (L01 q
|
||||
قّ qqV
|
||||
قّ (L01 qq
|
||||
قاعد q'a:jd
|
||||
|
||||
.group ک
|
||||
ک kV
|
||||
@@ -343,6 +418,9 @@ _) ای e:
|
||||
کّ kkV
|
||||
کّ (L01 kk
|
||||
_) کتن k'Itn
|
||||
کوئل k'o:Il
|
||||
کتاب kIt'a:b
|
||||
کوشش k'o:SIS
|
||||
|
||||
.group گ
|
||||
گ gV
|
||||
@@ -354,6 +432,10 @@ _) ای e:
|
||||
_) گرفت g'IRIft
|
||||
_) گزر gUz'aR
|
||||
_) گزر (L01 gUzR
|
||||
گئے g'ae:
|
||||
گئی g'ai:
|
||||
گمشد g'UmS,Ud
|
||||
_) گھما g#'Uma:
|
||||
|
||||
.group ل
|
||||
ل lV
|
||||
@@ -368,6 +450,29 @@ _) ای e:
|
||||
مّ mmV
|
||||
مّ (L01 mm
|
||||
_) مشکل 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 ن
|
||||
ن nV
|
||||
@@ -383,6 +488,14 @@ _) ای e:
|
||||
@) ن (چ n
|
||||
_) نکال nIk'a:l
|
||||
_) نگاہ nIg'a:H
|
||||
_) نمٹ nIm'at.
|
||||
_) نمٹ (L01 nImt.
|
||||
@) ن (پ n
|
||||
@) نچل n'Icl
|
||||
نشان nIS'a:n
|
||||
@) ن (ڈ n
|
||||
_) نظر naz.'aR
|
||||
_) نظام nIz.'a:m
|
||||
|
||||
.group ں
|
||||
ں n // this should nasalize the vowel
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name english
|
||||
language en-uk 2
|
||||
language en-gb 2
|
||||
language en-uk 2
|
||||
language en 2
|
||||
gender male
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ phonemes en-us
|
||||
dictrules 3 6
|
||||
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
|
||||
|
||||
replace 03 I i
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name spanish-latin-american
|
||||
name spanish-latin-am
|
||||
language es-la
|
||||
language es-mx 6
|
||||
language es 6
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
name akan-test
|
||||
language ak
|
||||
translator sw
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name azerbaijani-test
|
||||
language az
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
name bengali
|
||||
name bengali-test
|
||||
language bn
|
||||
gender male
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name divehi-test
|
||||
language dv
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name haitian
|
||||
language ht
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name kazakh
|
||||
language kk
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name Korean
|
||||
name korean-test
|
||||
language ko
|
||||
gender male
|
||||
pitch 80 118
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name maltese-test
|
||||
language mt
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name northern-sotho
|
||||
language nso
|
||||
translator sw
|
||||
@@ -1,5 +0,0 @@
|
||||
name dari-test
|
||||
language prs
|
||||
|
||||
translator fa
|
||||
stressrule 10
|
||||
@@ -1,4 +0,0 @@
|
||||
name kinyarwanda-test
|
||||
language rw
|
||||
gender male
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name sinhala
|
||||
name sinhala-test
|
||||
language si
|
||||
|
||||
intonation 2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name telugu
|
||||
name telugu-test
|
||||
language te
|
||||
|
||||
intonation 2
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
name setswana-test
|
||||
language tn
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
name tatar-test
|
||||
language tt
|
||||
|
||||
tunes s3 c3 q3 e3
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
name wolof-test
|
||||
language wo
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
+7
-7
@@ -29,43 +29,43 @@ endphoneme
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 225
|
||||
FMT(vowel/aa_9)
|
||||
FMT(vowel/a_3)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/i_6)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/u)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme &
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
length 210
|
||||
FMT(vowel/&_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
length 210
|
||||
IF nextPhW(w) THEN
|
||||
length 160
|
||||
length 170
|
||||
ENDIF
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
|
||||
+263
-307
@@ -1,13 +1,123 @@
|
||||
// PB General rules for 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@-]
|
||||
// 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]
|
||||
|
||||
// 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 @
|
||||
vowel starttype #@ endtype #@
|
||||
unstressed
|
||||
@@ -22,7 +132,18 @@ phoneme @- // very short schwa
|
||||
IF nextPhW(*) OR nextPhW(r) THEN
|
||||
ipa NULL // @-* is used to make 'r'
|
||||
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/@-)
|
||||
endphoneme
|
||||
|
||||
@@ -45,38 +166,24 @@ endphoneme
|
||||
|
||||
phoneme 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
|
||||
// "gider", vrider"
|
||||
IF nextPhW(D) AND next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 95
|
||||
length 140
|
||||
ENDIF
|
||||
// PB long vowel followed by certain vowels - "pigen" [p'i@-n]
|
||||
IF nextPhW(#@) OR nextPhW(#e) THEN
|
||||
length 150
|
||||
//"skider" short
|
||||
IF nextPhW(D) AND next2PhW(V) THEN
|
||||
length 140
|
||||
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
|
||||
ENDIF
|
||||
// "vilje" - short followed by 2 consonants
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 95
|
||||
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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
|
||||
@@ -84,7 +191,8 @@ endphoneme
|
||||
// sviret vs. svirret
|
||||
phoneme ?i
|
||||
vowel starttype #i endtype #i
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
@@ -99,27 +207,9 @@ endphoneme
|
||||
|
||||
phoneme 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)
|
||||
endphoneme
|
||||
|
||||
@@ -127,44 +217,30 @@ endphoneme
|
||||
// "skille" vs. "skele", "pille" vs. "pile"
|
||||
phoneme ?e
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme 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
|
||||
length 140
|
||||
// no link with next vowel
|
||||
IF thisPh(isWordEnd) THEN
|
||||
IfNextVowelAppend(_!)
|
||||
ENDIF
|
||||
// "ræve"
|
||||
IF nextVowel(#@) OR nextVowel(#e) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "ære", "kærester", "ærefrygt" - longer E
|
||||
// "ære", "kærester", "ærefrygt" - vowel + vowel
|
||||
IF nextPhW(V) THEN
|
||||
length 180
|
||||
length 225
|
||||
ENDIF
|
||||
// Only the letter "æ" - long
|
||||
IF thisPh(isWordEnd) AND thisPh(isWordStart) THEN
|
||||
length 160
|
||||
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
|
||||
CALL LongVowelLength
|
||||
// "værelse" [v'E3-Vls@_!]
|
||||
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
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
@@ -174,64 +250,47 @@ endphoneme
|
||||
phoneme ?E
|
||||
vowel starttype #e endtype #e
|
||||
ipa ε
|
||||
length 100
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
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
|
||||
// ThisPh + gooup #e or group #@
|
||||
// ThisPh + V or @-
|
||||
// "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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB Short &
|
||||
// Short &
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
ipa a
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
FMT(vowel/ee_2)
|
||||
length 140
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
// PB added for the æ in "dræbt"
|
||||
// Added for the æ in "dræbt"
|
||||
phoneme &#
|
||||
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/&)
|
||||
endphoneme
|
||||
|
||||
@@ -239,102 +298,63 @@ endphoneme
|
||||
// "revl" vs. "tremme"
|
||||
phoneme ?&#
|
||||
vowel starttype #e endtype #e
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/&)
|
||||
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
|
||||
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]
|
||||
IF nextPhW(A) THEN
|
||||
length 150
|
||||
length 225
|
||||
ENDIF
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
// PB short A
|
||||
// "drab" vs. "drabelig"
|
||||
// "krabbe" vs. "drabelig"
|
||||
phoneme ?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)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 90 //150
|
||||
length 140
|
||||
// "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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
// PB glottal u
|
||||
// Short u
|
||||
// "tude" vs. "tuden" - [tuD3] [t?uD@n]
|
||||
phoneme ?u
|
||||
vowel starttype #u endtype #u
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
phoneme 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
|
||||
// "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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
@@ -342,25 +362,27 @@ endphoneme
|
||||
// "patron" vs. "kone"
|
||||
phoneme ?o
|
||||
vowel starttype #o endtype #o
|
||||
length 95
|
||||
length 140
|
||||
FMT(vowel/o_2)
|
||||
endphoneme
|
||||
|
||||
phoneme 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
|
||||
// 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
|
||||
// "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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
@@ -368,95 +390,60 @@ endphoneme
|
||||
// "toget" vs. "tåget"
|
||||
phoneme ?O
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
length 140
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
phoneme V
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// PB Short å
|
||||
// PB Short V
|
||||
// "forstår" vs. "kåre"
|
||||
phoneme ?V
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
length 140
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
phoneme 0
|
||||
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)
|
||||
endphoneme
|
||||
|
||||
// Short 0 "sukker"
|
||||
phoneme ?0
|
||||
vowel starttype #o endtype #o
|
||||
length 90
|
||||
length 140
|
||||
ipa ɔ
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
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
|
||||
// "lyde", "lyder"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(#@) OR next2PhW(#e) 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
|
||||
// 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
|
||||
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
|
||||
// "tyve"
|
||||
IF nextPhW(?u) AND next2PhW(@-) THEN
|
||||
length 150
|
||||
IF nextPhW(w) AND next2PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
@@ -464,50 +451,32 @@ endphoneme
|
||||
// "kylling" vs. "kyle", "krybbe" vs. "krybe"
|
||||
phoneme ?y
|
||||
vowel starttype #i endtype #i
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
phoneme Y
|
||||
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
|
||||
FMT(vowel/yy)
|
||||
endphoneme
|
||||
|
||||
phoneme W
|
||||
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
|
||||
length 90
|
||||
length 140
|
||||
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
|
||||
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
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
@@ -515,21 +484,18 @@ endphoneme
|
||||
// "prøv" vs. "prøve"
|
||||
phoneme ?W
|
||||
vowel starttype #@ endtype #@
|
||||
length 95
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
// Added for the ø in "røv", "røg", "øje" instead of [V3]
|
||||
phoneme W#
|
||||
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
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(@) OR next2PhW(3) OR next2PhW(V) OR next2PhW(?V) THEN
|
||||
length 150
|
||||
length 225
|
||||
ENDIF
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
@@ -538,7 +504,8 @@ endphoneme
|
||||
// "rømme"
|
||||
phoneme ?W#
|
||||
vowel starttype #@ endtype #@
|
||||
length 90
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
@@ -547,7 +514,7 @@ phoneme aI
|
||||
length 300
|
||||
IF NOT next2Ph(3) AND NOT next2Ph(V) AND NOT next2Ph(@-) AND nextPhW(isNotVowel) THEN
|
||||
glstop
|
||||
length 150
|
||||
length 225
|
||||
ENDIF
|
||||
// "dreje" [dR'aI@-_!]
|
||||
IF nextPhW(3) OR nextPhW(V) OR nextPhW(@) OR nextPhW(@-) THEN
|
||||
@@ -571,6 +538,10 @@ endphoneme
|
||||
phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
// [ll] => [-l] - avoid double l
|
||||
IF nextPhW(l) THEN
|
||||
// ChangePhoneme(-)
|
||||
ENDIF
|
||||
ChangePhoneme(l/3)
|
||||
// CALL base/l
|
||||
endphoneme
|
||||
@@ -578,24 +549,6 @@ endphoneme
|
||||
phoneme l/3 // Replacement for [l/]
|
||||
liquid
|
||||
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_)
|
||||
endphoneme
|
||||
|
||||
@@ -678,7 +631,10 @@ endphoneme
|
||||
phoneme j
|
||||
liquid palatal
|
||||
lengthmod 7
|
||||
|
||||
// no link with next vowel
|
||||
IF thisPh(isWordEnd) THEN
|
||||
IfNextVowelAppend(_!)
|
||||
ENDIF
|
||||
IF nextPhW(isVowel) THEN
|
||||
NextVowelStarts
|
||||
VowelStart(j/j@)
|
||||
|
||||
@@ -194,6 +194,11 @@ phoneme aa // 'bath' etc.
|
||||
vowel starttype #a endtype #a
|
||||
ipa a
|
||||
length 185
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(A:)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vowel/a)
|
||||
endphoneme
|
||||
@@ -219,18 +224,30 @@ phoneme I2
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 130
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(I)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/ii_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme I# // used for [I] which may be [@] in some accents
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 130
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(I)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(;)
|
||||
ChangePhoneme(I2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i // optional variant of [I] for end of words
|
||||
vowel starttype #i endtype #i
|
||||
ipa ɪ
|
||||
@@ -342,6 +359,11 @@ phoneme o@
|
||||
vowel starttype #o endtype #o
|
||||
ipa ɔː
|
||||
length 250
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(O@)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vowel/oo_en)
|
||||
endphoneme
|
||||
@@ -418,6 +440,11 @@ endphoneme
|
||||
phoneme i@3
|
||||
vowel starttype #i endtype #@
|
||||
length 250
|
||||
|
||||
IF MbrolaSynth THEN
|
||||
ChangePhoneme(i@)
|
||||
ENDIF
|
||||
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vdiph2/ii@)
|
||||
endphoneme
|
||||
|
||||
@@ -69,7 +69,7 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 195
|
||||
length 190
|
||||
ChangeIfDiminished(I2)
|
||||
FMT(vwl_en_us/ee)
|
||||
endphoneme
|
||||
@@ -181,7 +181,7 @@ endphoneme
|
||||
|
||||
phoneme O:
|
||||
vowel starttype #o endtype #o
|
||||
length 210
|
||||
length 200
|
||||
ChangeIfDiminished(@)
|
||||
IF nextPh(r) THEN
|
||||
FMT(vwl_en_us/oor)
|
||||
@@ -245,7 +245,7 @@ endphoneme
|
||||
|
||||
phoneme aI
|
||||
vowel starttype #a endtype #i
|
||||
length 250
|
||||
length 240
|
||||
IF nextPh(#a) OR nextPh(#o) THEN
|
||||
AppendPhoneme(;)
|
||||
ENDIF
|
||||
@@ -255,14 +255,15 @@ endphoneme
|
||||
|
||||
phoneme eI
|
||||
vowel starttype #e endtype #i
|
||||
length 230
|
||||
FMT(vdiph/eei_5)
|
||||
length 220
|
||||
FMT(vdiph2/ei_4)
|
||||
// FMT(vdiph/eei_5)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme OI
|
||||
vowel starttype #o endtype #i
|
||||
length 285
|
||||
length 280
|
||||
FMT(vdiph/ooi_4)
|
||||
endphoneme
|
||||
|
||||
@@ -321,7 +322,7 @@ endphoneme
|
||||
|
||||
phoneme aI3
|
||||
vowel starttype #a endtype #@
|
||||
length 300
|
||||
length 310
|
||||
ipa aɪɚ
|
||||
IfNextVowelAppend(r-)
|
||||
FMT(vwl_en_us/ai3)
|
||||
|
||||
+1
-1
@@ -439,7 +439,7 @@ endphoneme
|
||||
|
||||
phoneme c#
|
||||
CALL base/tS;
|
||||
ipa ch
|
||||
ipa cU+02B0
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -95,6 +95,26 @@ phoneme dZ; // voiced /ㅈ/
|
||||
FMT(dzh/dzh) addWav(x/dz_pzd)
|
||||
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
|
||||
vcd alv flp rhotic
|
||||
ipa ɾ
|
||||
|
||||
+119
-1
@@ -25,7 +25,7 @@ phoneme a
|
||||
length 130
|
||||
|
||||
IF thisPh(isStressed) OR thisPh(isFirstVowel) OR thisPh(isWordEnd) THEN
|
||||
FMT(vowel/a#_2)
|
||||
FMT(vowel/a#_4)
|
||||
ELSE
|
||||
ChangeIfUnstressed(@)
|
||||
|
||||
@@ -144,3 +144,121 @@ phoneme d2 // 'rr' sounds like English 'd'
|
||||
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
|
||||
|
||||
|
||||
|
||||
+10
-10
@@ -48,21 +48,21 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 170
|
||||
length 180
|
||||
ChangeIfUnstressed(y)
|
||||
FMT(vowel/e_mid)
|
||||
endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 160
|
||||
length 180
|
||||
ChangeIfUnstressed(y)
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #@ endtype #@
|
||||
length 110
|
||||
length 130
|
||||
ipa ɨ
|
||||
FMT(vowel/i#_5)
|
||||
endphoneme
|
||||
@@ -70,7 +70,7 @@ endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
length 170
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
@@ -78,7 +78,7 @@ endphoneme
|
||||
|
||||
phoneme i/ // changes to NULL before a vowel
|
||||
vowel starttype #i endtype #i
|
||||
length 100
|
||||
length 130
|
||||
ipa ɨ
|
||||
IF nextPh(isVowel) THEN
|
||||
ChangePhoneme(NULL)
|
||||
@@ -90,7 +90,7 @@ endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
// ChangeIfNotStressed(o)
|
||||
FMT(vowel/0_2)
|
||||
endphoneme
|
||||
@@ -98,7 +98,7 @@ endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
ChangeIfNotStressed(u)
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
@@ -106,13 +106,13 @@ endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/u_6)
|
||||
endphoneme
|
||||
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 110
|
||||
length 130
|
||||
IF nextPh(isVowel) THEN
|
||||
ChangePhoneme(w)
|
||||
ENDIF
|
||||
@@ -122,7 +122,7 @@ endphoneme
|
||||
|
||||
phoneme EU
|
||||
vowel starttype #e endtype #u
|
||||
length 220
|
||||
length 230
|
||||
FMT(vdiph/eeu_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -159,3 +159,7 @@ phoneme # // a NULL phoneme for 'virama'
|
||||
ChangePhoneme(NULL)
|
||||
endphoneme
|
||||
|
||||
phoneme z.
|
||||
CALL base/z.
|
||||
ipa U+027B
|
||||
endphoneme
|
||||
|
||||
+11
-12
@@ -1745,6 +1745,9 @@ include ph_kannada
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
phonemetable te hi
|
||||
include ph_telugu
|
||||
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
@@ -1875,17 +1878,20 @@ include ph_greenlandic
|
||||
phonemetable am base
|
||||
include ph_amhari
|
||||
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
// These langauges are not in a usable state.
|
||||
// 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
|
||||
//include ph_marathi
|
||||
@@ -1899,9 +1905,6 @@ include ph_kinyarwanda
|
||||
//phonemetable prs base
|
||||
//include ph_dari
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable gd base
|
||||
//include ph_s_gaelic
|
||||
|
||||
@@ -1923,13 +1926,9 @@ include ph_slovenian
|
||||
//phonemetable dv hi
|
||||
//include ph_divehi
|
||||
|
||||
//phonemetable te hi
|
||||
//include ph_telugu
|
||||
|
||||
//phonemetable tn base
|
||||
//include ph_setswana
|
||||
|
||||
|
||||
//phonemetable mt base
|
||||
//include ph_maltese
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,8 +2,8 @@
|
||||
|
||||
|
||||
# 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 $@
|
||||
ObjAsmflags = -throwback -NoCache -depend !Depend
|
||||
CMHGflags =
|
||||
@@ -61,3 +61,4 @@ Squeezeflags = -o $@
|
||||
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb
|
||||
|
||||
# Dynamic dependencies:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <ctype.h>
|
||||
#include <locale.h>
|
||||
#include "kernel.h"
|
||||
#include <math.h>
|
||||
|
||||
#include "speech.h"
|
||||
#include "speak_lib.h"
|
||||
@@ -221,6 +222,7 @@ void ReadVoiceNames2(char *directory)
|
||||
voice_variant_names[n_voice_variant_files++] = p;
|
||||
}
|
||||
else
|
||||
if(strcmp(p, "default") != 0)
|
||||
{
|
||||
if(n_voice_files >= (N_VOICE_NAMES-1))
|
||||
continue;
|
||||
@@ -233,11 +235,17 @@ void ReadVoiceNames2(char *directory)
|
||||
|
||||
void ReadVoiceNames()
|
||||
{//===================
|
||||
char directory[sizeof(path_home)+10];
|
||||
char directory[sizeof(path_home)+20];
|
||||
|
||||
n_voice_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);
|
||||
|
||||
ReadVoiceNames2(directory);
|
||||
@@ -400,11 +408,27 @@ void FillSoundBuf(int size)
|
||||
|
||||
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)
|
||||
{
|
||||
// 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)
|
||||
{
|
||||
@@ -414,7 +438,7 @@ int initialise(void)
|
||||
}
|
||||
|
||||
WavegenInit(22050,0);
|
||||
LoadPhData();
|
||||
LoadPhData(NULL);
|
||||
SetVoiceStack(NULL, "");
|
||||
SynthesizeInit();
|
||||
return(0);
|
||||
@@ -453,7 +477,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_
|
||||
static_length = 0;
|
||||
else
|
||||
{
|
||||
strcat(&static_buf[static_length]," : ");
|
||||
strcat(&static_buf[static_length]," \n ");
|
||||
static_length+=3;
|
||||
}
|
||||
|
||||
@@ -578,13 +602,14 @@ void set_say_options(int reg2, int reg3)
|
||||
void jsd_swi_functions(int *r)
|
||||
/****************************/
|
||||
{
|
||||
int use_ipa;
|
||||
espeak_VOICE voice_select;
|
||||
|
||||
switch(r[0])
|
||||
{
|
||||
case 0: /* major version */
|
||||
r[0] = 4;
|
||||
r[1] = 331;
|
||||
r[1] = 347;
|
||||
break;
|
||||
|
||||
case 1: /* register user */
|
||||
@@ -594,7 +619,13 @@ void jsd_swi_functions(int *r)
|
||||
break;
|
||||
|
||||
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;
|
||||
|
||||
case 4:
|
||||
@@ -642,6 +673,7 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
/*********************************************************/
|
||||
{
|
||||
int value;
|
||||
int value2;
|
||||
int q_length;
|
||||
value = r[0];
|
||||
|
||||
@@ -650,21 +682,23 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
|
||||
case 0: // ready ?
|
||||
// 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[3] = 0; /* for future expansion */
|
||||
r[4] = 0;
|
||||
r[5] = 0;
|
||||
|
||||
if(wcmdq_head == wcmdq_tail)
|
||||
if(WcmdqUsed() < 5)
|
||||
{
|
||||
r[0] = -1; /* ready, or nearly */
|
||||
}
|
||||
else
|
||||
{
|
||||
r[0] = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1: /* restore old sound channel. DO NOTHING */
|
||||
@@ -692,19 +726,32 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
break;
|
||||
|
||||
case 7: /* pitch */
|
||||
// not implemented
|
||||
value = (value * 50)/128;
|
||||
SetParameter(espeakPITCH, value, 0);
|
||||
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;
|
||||
|
||||
case 9: /* word_gap */
|
||||
if(value >= 128)
|
||||
value = value - 128;
|
||||
|
||||
if(value > 1)
|
||||
value = (value-1) * 5;
|
||||
|
||||
SetParameter(espeakWORDGAP,value,0);
|
||||
break;
|
||||
|
||||
case 10: /* pitch_range */
|
||||
// not implemented
|
||||
value = (value * 50)/128;
|
||||
SetParameter(espeakRANGE, value, 0);
|
||||
break;
|
||||
|
||||
case 12: /* reset */
|
||||
@@ -712,7 +759,22 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
break;
|
||||
|
||||
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);
|
||||
break;
|
||||
}
|
||||
@@ -835,6 +897,13 @@ int param_number(char **argp)
|
||||
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)
|
||||
{//==========================================
|
||||
|
||||
@@ -854,6 +923,7 @@ void command_line(char *arg_string, int wait)
|
||||
char command[80];
|
||||
char *p;
|
||||
int ix;
|
||||
int quiet;
|
||||
|
||||
voicename[0] = 0;
|
||||
wavefile[0] = 0;
|
||||
@@ -861,7 +931,7 @@ void command_line(char *arg_string, int wait)
|
||||
option_linelength = 0;
|
||||
option_phonemes = 0;
|
||||
option_waveout = 0;
|
||||
option_quiet = 0;
|
||||
quiet = 0;
|
||||
option_multibyte = 0; // auto
|
||||
option_capitals = 0;
|
||||
option_punctuation = 0;
|
||||
@@ -887,7 +957,8 @@ void command_line(char *arg_string, int wait)
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
|
||||
PrintVersion();
|
||||
printf("\n%s",help_text);
|
||||
return;
|
||||
|
||||
case 'k':
|
||||
@@ -912,7 +983,7 @@ void command_line(char *arg_string, int wait)
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
option_quiet = 1;
|
||||
quiet = 1;
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
@@ -963,7 +1034,8 @@ void command_line(char *arg_string, int wait)
|
||||
else
|
||||
if(strcmp(command,"help")==0)
|
||||
{
|
||||
printf("\nspeak text-to-speech: %s\n%s",version_string,help_text);
|
||||
PrintVersion();
|
||||
printf("\n%s",help_text);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@@ -980,6 +1052,17 @@ void command_line(char *arg_string, int wait)
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
}
|
||||
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");
|
||||
}
|
||||
@@ -997,22 +1080,25 @@ void command_line(char *arg_string, int wait)
|
||||
}
|
||||
}
|
||||
|
||||
if((option_phonemes > 1) && !option_waveout)
|
||||
quiet = 1; // can't call sprintf() during callback
|
||||
|
||||
SetVoiceByName(voicename);
|
||||
|
||||
if((filename[0]==0) && (p[0]=='\r'))
|
||||
{
|
||||
// nothing to speak
|
||||
if(option_quiet)
|
||||
if(quiet)
|
||||
{
|
||||
SpeakNextClause(NULL,NULL,2); // stop speaking
|
||||
more_text = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(option_waveout || option_quiet)
|
||||
if(option_waveout || quiet)
|
||||
{
|
||||
// write speech to a WAV file
|
||||
if(option_quiet)
|
||||
if(quiet)
|
||||
{
|
||||
OpenWaveFile(NULL,samplerate);
|
||||
option_waveout = 2;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Setup]
|
||||
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).
|
||||
WindowVisible=yes
|
||||
|
||||
@@ -146,7 +146,7 @@ begin
|
||||
$0e: Result := 'hu';
|
||||
$0f: Result := 'is';
|
||||
$10: Result := 'it';
|
||||
//$12: Result := 'ko';
|
||||
$12: Result := 'ko';
|
||||
$13: Result := 'nl';
|
||||
$14: Result := 'no';
|
||||
$15: Result := 'pl';
|
||||
@@ -158,7 +158,7 @@ begin
|
||||
$1c: Result := 'sq';
|
||||
$1d: Result := 'sv';
|
||||
$1f: Result := 'tr';
|
||||
//$20: Result := 'ur';
|
||||
$20: Result := 'ur';
|
||||
$21: Result := 'id';
|
||||
$25: Result := 'et';
|
||||
$26: Result := 'lv';
|
||||
@@ -174,6 +174,7 @@ begin
|
||||
$39: Result := 'hi';
|
||||
//$3a: Result := 'mt';
|
||||
$3c: Result := 'ga';
|
||||
$3e: Result := 'ms';
|
||||
//$3f: Result := 'kk';
|
||||
$41: Result := 'sw';
|
||||
//$44: Result := 'tt';
|
||||
@@ -263,6 +264,7 @@ begin
|
||||
'mk': value := $42f;
|
||||
'ml': value := $44c;
|
||||
'mn': value := $450;
|
||||
'ms': value := $43e;
|
||||
'mt': value := $43a;
|
||||
'my': value := $455;
|
||||
'ne': value := $461;
|
||||
|
||||
@@ -1,58 +1,64 @@
|
||||
|
||||
[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"
|
||||
|
||||
|
||||
+3
-2
@@ -2866,8 +2866,8 @@ int CompilePhoneme(int compile_phoneme)
|
||||
break;
|
||||
|
||||
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();
|
||||
break;
|
||||
|
||||
@@ -3059,6 +3059,7 @@ int CompilePhoneme(int compile_phoneme)
|
||||
|
||||
case kRETURN:
|
||||
*prog_out++ = i_RETURN;
|
||||
DecThenCount();
|
||||
break;
|
||||
|
||||
case kINCLUDE:
|
||||
|
||||
+20
-2
@@ -3473,16 +3473,34 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
} // 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 found;
|
||||
unsigned int flags[2];
|
||||
int say_as;
|
||||
char *word1 = (char *)word;
|
||||
char text[80];
|
||||
|
||||
flags[0] = 0;
|
||||
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)
|
||||
{//==============================================
|
||||
char buf[100];
|
||||
|
||||
+30
-3
@@ -655,7 +655,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
current_alphabet = alphabet;
|
||||
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
|
||||
}
|
||||
@@ -703,11 +703,38 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
else
|
||||
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)
|
||||
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)
|
||||
{
|
||||
|
||||
+59
-50
@@ -125,6 +125,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
int delete_count;
|
||||
int word_start;
|
||||
int inserted;
|
||||
int deleted;
|
||||
PHONEME_DATA phdata;
|
||||
|
||||
int n_ph_list3;
|
||||
@@ -343,6 +344,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
plist3 = &ph_list3[j];
|
||||
|
||||
inserted = 0;
|
||||
deleted = 0;
|
||||
if(insert_ph != 0)
|
||||
{
|
||||
// we have a (linking) phoneme which we need to insert here
|
||||
@@ -431,23 +433,27 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
plist3->phcode = alternative;
|
||||
|
||||
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
|
||||
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;
|
||||
|
||||
@@ -552,7 +558,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
}
|
||||
}
|
||||
|
||||
if(plist3 != plist3_inserted)
|
||||
if((plist3 != plist3_inserted) && (ix > 0))
|
||||
{
|
||||
if((x = (tr->langopts.word_gap & 0x7)) != 0)
|
||||
{
|
||||
@@ -585,51 +591,54 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
// 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(start_sentence)
|
||||
if(plist3->sourceix != 0)
|
||||
{
|
||||
phlist[ix].newword = 5; // start of sentence + start of word
|
||||
start_sentence = 0;
|
||||
phlist[ix].sourceix = plist3->sourceix;
|
||||
phlist[ix].newword = 1; // this phoneme is the start of a word
|
||||
|
||||
if(start_sentence)
|
||||
{
|
||||
phlist[ix].newword = 5; // start of sentence + start of word
|
||||
start_sentence = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
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
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ static const unsigned short punct_chars[] = {',','.','?','!',':',';',
|
||||
0x055e, // Armenian question
|
||||
0x055b, // Armenian emphasis mark
|
||||
|
||||
0x060c, // Arabic ,
|
||||
0x061b, // Arabic ;
|
||||
0x061f, // Arabic ?
|
||||
0x06d4, // Arabic .
|
||||
@@ -137,6 +138,7 @@ static const unsigned int punct_attributes [] = { 0,
|
||||
CLAUSE_QUESTION | PUNCT_IN_WORD, // Armenian question
|
||||
CLAUSE_PERIOD | PUNCT_IN_WORD, // Armenian emphasis mark
|
||||
|
||||
CLAUSE_COMMA, // Arabic ,
|
||||
CLAUSE_SEMICOLON, // Arabic ;
|
||||
CLAUSE_QUESTION, // Arabic question mark
|
||||
CLAUSE_PERIOD, // Arabic full stop
|
||||
|
||||
+24
-4
@@ -575,6 +575,7 @@ void CalcLengths(Translator *tr)
|
||||
int last_pitch = 0;
|
||||
int pitch_start;
|
||||
int length_mod;
|
||||
int next2type;
|
||||
int len;
|
||||
int env2;
|
||||
int end_of_clause;
|
||||
@@ -689,8 +690,19 @@ void CalcLengths(Translator *tr)
|
||||
|
||||
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
|
||||
if(p->newword==0)
|
||||
{
|
||||
@@ -827,9 +839,17 @@ if(stress <= 1)
|
||||
next3 = &phoneme_list[ix+4];
|
||||
}
|
||||
|
||||
next2type = next2->ph->length_mod;
|
||||
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))
|
||||
{
|
||||
@@ -841,7 +861,7 @@ if(stress <= 1)
|
||||
}
|
||||
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))
|
||||
length_mod -= 15;
|
||||
|
||||
+11
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.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;
|
||||
|
||||
int option_device_number = -1;
|
||||
@@ -1032,6 +1032,16 @@ void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_
|
||||
phdata->pd_param[i_APPEND_PHONEME] = data;
|
||||
}
|
||||
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)
|
||||
{
|
||||
// followed by utf-8 characters, 2 per instn word
|
||||
|
||||
+19
-1
@@ -1426,7 +1426,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
|
||||
EndAmplitude();
|
||||
|
||||
if(p->prepause > 0)
|
||||
if((p->prepause > 0) && !(p->ph->phflags & phPREVOICE))
|
||||
DoPause(p->prepause,1);
|
||||
|
||||
done_phoneme_marker = 0;
|
||||
@@ -1455,6 +1455,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
|
||||
case phSTOP:
|
||||
released = 0;
|
||||
ph = p->ph;
|
||||
if(next->type==phVOWEL)
|
||||
{
|
||||
released = 1;
|
||||
@@ -1468,6 +1469,23 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
if(released == 0)
|
||||
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);
|
||||
phdata.pd_control |= pd_DONTLENGTHEN;
|
||||
DoSample3(&phdata, 0, 0);
|
||||
|
||||
+12
-7
@@ -79,7 +79,7 @@ ALPHABET alphabets [] = {
|
||||
{"_ar", OFFSET_ARABIC, 0x600, 0x6ff, 0, 0},
|
||||
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0},
|
||||
{"_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},
|
||||
{"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0},
|
||||
{"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0},
|
||||
@@ -93,12 +93,12 @@ ALPHABET alphabets [] = {
|
||||
{"_ti", OFFSET_TIBET, 0xf00, 0xfff, 0, 0},
|
||||
{"_my", OFFSET_MYANMAR, 0x1000,0x109f, 0, 0},
|
||||
{"_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},
|
||||
{"_braille", 0x2800, 0x2800,0x28ff, 0, AL_NO_SYMBOL},
|
||||
{"_ja", 0x3040, 0x3040,0x30ff, 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}
|
||||
};
|
||||
|
||||
@@ -518,6 +518,7 @@ Translator *SelectTranslator(const char *name)
|
||||
{
|
||||
SetCyrillicLetters(tr);
|
||||
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_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v)
|
||||
tr->langopts.param[LOPT_REDUCE] = 2;
|
||||
@@ -654,10 +655,10 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
// 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_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 wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ
|
||||
static const wchar_t el_char_apostrophe[] = {0x3c3,0}; // σ _
|
||||
|
||||
SetupTranslator(tr,stress_lengths_el,stress_amps_el);
|
||||
|
||||
@@ -670,7 +671,7 @@ Translator *SelectTranslator(const char *name)
|
||||
SetLetterBits(tr,LETTERGP_VOWEL2,el_vowels);
|
||||
SetLetterBits(tr,LETTERGP_B,el_voiceless);
|
||||
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.stress_rule = STRESSPOSN_2R;
|
||||
@@ -912,6 +913,7 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
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.replace_chars = replace_cyrillic_latin;
|
||||
tr->langopts.our_alphabet = OFFSET_CYRILLIC; // don't say "cyrillic" before letter names
|
||||
|
||||
SetLetterVowel(tr,'y');
|
||||
SetLetterVowel(tr,'r');
|
||||
@@ -1113,6 +1115,7 @@ SetLengthMods(tr,3); // all equal
|
||||
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->langopts.our_alphabet = 0xa700;
|
||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
|
||||
SetLetterBitsRange(tr,LETTERGP_A,0x61,0x75);
|
||||
SetLetterBits(tr,LETTERGP_Y,ko_ivowels);
|
||||
@@ -1194,6 +1197,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetupTranslator(tr,stress_lengths_mk,stress_amps_mk);
|
||||
tr->charset_a0 = charsets[5]; // ISO-8859-5
|
||||
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.numbers = NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_2;
|
||||
@@ -1608,6 +1612,7 @@ SetLengthMods(tr,3); // all equal
|
||||
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.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
|
||||
if(name2 == L('z','h'))
|
||||
{
|
||||
|
||||
+33
-32
@@ -1736,6 +1736,7 @@ int SetTranslator2(const char *new_language)
|
||||
translator2->phoneme_tab_ix = new_phoneme_tab;
|
||||
}
|
||||
}
|
||||
translator2->phonemes_repeat[0] = 0;
|
||||
return(new_phoneme_tab);
|
||||
} // end of SetTranslator2
|
||||
|
||||
@@ -2444,6 +2445,35 @@ static int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned int c,
|
||||
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)
|
||||
{
|
||||
case L('a','f'):
|
||||
@@ -2471,36 +2501,6 @@ static int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned int c,
|
||||
}
|
||||
}
|
||||
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));
|
||||
}
|
||||
@@ -2955,7 +2955,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
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
|
||||
if(UpperCaseInWord(tr, &sbuf[ix], c) == 1)
|
||||
@@ -3473,7 +3473,8 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
|
||||
prev_clause_pause = clause_pause;
|
||||
|
||||
*tone_out = tone;
|
||||
if(tone_out != NULL)
|
||||
*tone_out = tone;
|
||||
|
||||
new_sentence = 0;
|
||||
if(terminator & CLAUSE_BIT_SENTENCE)
|
||||
|
||||
@@ -546,6 +546,7 @@ typedef struct {
|
||||
int listx; // compile *_listx after *list
|
||||
const unsigned int *replace_chars; // characters to be substitutes
|
||||
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_lang; // language for the alt_alphabet
|
||||
int max_lengthmod;
|
||||
|
||||
+15
-4
@@ -602,7 +602,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
// which directory to look for a named voice. List of voice names, must end in a space.
|
||||
static const char *voices_asia =
|
||||
"fa fa-pin hi hy hy-west id ka kn ku ml 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 =
|
||||
"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 ";
|
||||
|
||||
@@ -1894,12 +1894,24 @@ void FreeVoiceList()
|
||||
|
||||
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 j;
|
||||
espeak_VOICE *v;
|
||||
static espeak_VOICE **voices = NULL;
|
||||
char path_voices[sizeof(path_home)+12];
|
||||
|
||||
// free previous voice list data
|
||||
FreeVoiceList();
|
||||
@@ -1938,7 +1950,6 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
|
||||
}
|
||||
return((const espeak_VOICE **)voices);
|
||||
#endif
|
||||
return((const espeak_VOICE **)voices_list);
|
||||
} // end of espeak_ListVoices
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user