mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-01 21:58:52 +00:00
Merge branch 'master' into android
This commit is contained in:
@@ -143,6 +143,7 @@ dictionaries: src/espeak \
|
||||
espeak-data/af_dict \
|
||||
espeak-data/am_dict \
|
||||
espeak-data/an_dict \
|
||||
espeak-data/az_dict \
|
||||
espeak-data/bg_dict \
|
||||
espeak-data/bn_dict \
|
||||
espeak-data/ca_dict \
|
||||
@@ -220,6 +221,12 @@ dictsource/an_extra:
|
||||
espeak-data/an_dict: src/espeak espeak-data/phontab dictsource/an_list dictsource/an_rules dictsource/an_extra
|
||||
cd dictsource && ../src/espeak --compile=an && cd ..
|
||||
|
||||
az: espeak-data/az_dict
|
||||
dictsource/az_extra:
|
||||
touch dictsource/az_extra
|
||||
espeak-data/az_dict: src/espeak espeak-data/phontab dictsource/az_list dictsource/az_rules dictsource/az_extra
|
||||
cd dictsource && ../src/espeak --compile=az && cd ..
|
||||
|
||||
bg: espeak-data/bg_dict
|
||||
dictsource/bg_extra:
|
||||
touch dictsource/bg_extra
|
||||
|
||||
+52
-33
@@ -57,6 +57,7 @@ _y je
|
||||
y je $atend
|
||||
ch tSe
|
||||
ll 'El^e
|
||||
ny n^e
|
||||
á 'a||akTEntw'aDa
|
||||
é 'e||akTEntw'aDa
|
||||
í 'i||akTEntw'aDa
|
||||
@@ -118,9 +119,10 @@ _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
|
||||
(1 ºc) un||gr'aU||T'e
|
||||
ºc gr'aUs||Tentigr'aUs
|
||||
ºf gr'aUs||f'arEnxeI
|
||||
ºk gr'aUs||k'elBin
|
||||
|
||||
_1ox prim'Er
|
||||
_2ox seQ'und
|
||||
@@ -183,6 +185,7 @@ $ d'olar
|
||||
\ kontraBaRRa
|
||||
| b'aRRaBertik'al
|
||||
° graUs
|
||||
(1 °) un||gr'aU
|
||||
|
||||
_- gj'on
|
||||
! TaRR'ar||eksklamaTj'on
|
||||
@@ -471,40 +474,56 @@ witsa $abbrev
|
||||
|
||||
|
||||
// exceptions
|
||||
barça b'arsa
|
||||
holio x'olio
|
||||
jazz dZ'as
|
||||
banjo Banjo
|
||||
barça barsa
|
||||
desenyermar DesenjErmar
|
||||
halar xalar
|
||||
halma xalma
|
||||
harcia xarTja
|
||||
hibo xiBo
|
||||
hoder xoDer
|
||||
holgorio xolg'orio
|
||||
holio x'olio
|
||||
hopar xopar
|
||||
huerga xuerga
|
||||
huerza xuerTa
|
||||
jacuzzi jakusi
|
||||
jazz jas
|
||||
jet jet
|
||||
judo juDo
|
||||
|
||||
|
||||
// Foreign words
|
||||
android andr'oId
|
||||
apple 'apEl
|
||||
at 'at
|
||||
chat tS'at
|
||||
chrome kr'ome
|
||||
espeak isp'ik
|
||||
(e speak) isp'ik
|
||||
facebook f'eIsbuk
|
||||
firefox f'aIrfoks
|
||||
google g'ugEl
|
||||
hotmail xotm'eIl
|
||||
android androId
|
||||
apple 'apEl
|
||||
at at
|
||||
chat tSat
|
||||
chrome krome
|
||||
espeak ispik
|
||||
(e speak) ispik
|
||||
facebook f'eIsbuk
|
||||
firefox f'aIrfoks
|
||||
google g'ugEl
|
||||
hardware x'ardwer
|
||||
hockey xokeI
|
||||
hotmail xotmeIl
|
||||
(i phone) 'aIfon
|
||||
iphone 'aIfon
|
||||
(i pod) 'aIpod
|
||||
ipod 'aIpod
|
||||
hardware x'ardwer
|
||||
linux $1
|
||||
live l'aIB
|
||||
messenger m'esendZer
|
||||
mozilla moT'ila
|
||||
nvda ene|be|de|'a
|
||||
office 'ofis
|
||||
skype esk'aIp
|
||||
iphone 'aIfon
|
||||
(i pod) 'aIpod
|
||||
ipod 'aIpod
|
||||
junior j'unior
|
||||
linux $1
|
||||
live laIB
|
||||
messenger m'esendZer
|
||||
mozilla moTila
|
||||
nvda ene|be|de|'a
|
||||
office ofis
|
||||
skype eskaIp
|
||||
software s'oftwer
|
||||
thunderbird Tanderb'ird
|
||||
twitter tw'iter
|
||||
unix j'uniks
|
||||
whatsapp was'app
|
||||
windows w'indows
|
||||
thunderbird Tanderbird
|
||||
twitter tw'iter
|
||||
unix j'uniks
|
||||
whatsapp wasap
|
||||
windows w'indows
|
||||
|
||||
//mobile _^_EN
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
// Aragon translation rules
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
@@ -111,6 +112,7 @@
|
||||
i i
|
||||
i (u_ i
|
||||
i (A j
|
||||
|
||||
|
||||
|
||||
.group j
|
||||
@@ -168,6 +170,7 @@
|
||||
|
||||
|
||||
.group q
|
||||
q k
|
||||
qu (A kw
|
||||
qü kw
|
||||
qu (e k
|
||||
@@ -204,6 +207,9 @@
|
||||
u) t (_ t#
|
||||
ei) t (_ t#
|
||||
n) t (_ = // silent, but stress on last vowel
|
||||
n) t (m // Silent
|
||||
_pos) t (h t
|
||||
_pos) t (C // Silent
|
||||
tz T
|
||||
ue) t (_ t#
|
||||
ui) t (_ t#
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling to phoneme rules for Azerbaijani
|
||||
|
||||
|
||||
// Numbers
|
||||
_0 s@f'@R
|
||||
_1 b'iR
|
||||
_2 ic'i
|
||||
_3 'ytS
|
||||
_4 d'WRd
|
||||
_5 b'eS
|
||||
_6 alt'@
|
||||
_7 jedd'i
|
||||
_8 s&Cc'iz
|
||||
_9 dogg'uz
|
||||
_1X 'on
|
||||
_2X ijiRm'i
|
||||
_3X ot'uz
|
||||
_4X g'@Rx
|
||||
_5X &ll'i
|
||||
_6X altm'@S
|
||||
_7X jetm'iS
|
||||
_8X s&Cs'&n
|
||||
_9X doxs'an
|
||||
_0C j'yz
|
||||
_0M1 m'in
|
||||
_0M2 milj'on
|
||||
_0M3 milj'aRd
|
||||
_dpt _t,am_| // ??
|
||||
|
||||
|
||||
// Function words
|
||||
// personal pronouns
|
||||
mən $u+
|
||||
sən $u+
|
||||
o $u+
|
||||
biz $u+
|
||||
siz $u+
|
||||
onlar $u+
|
||||
|
||||
// possessive pronouns
|
||||
mənim $u+
|
||||
sənin $u+
|
||||
onun $u+
|
||||
bizim $u+
|
||||
sizin $u+
|
||||
onların $u+
|
||||
|
||||
bu $u+
|
||||
|
||||
|
||||
// conjunctions
|
||||
və $u+
|
||||
isə $u+
|
||||
də $u+
|
||||
həm $u+
|
||||
ya $u+
|
||||
da $u+
|
||||
|
||||
// prepositions
|
||||
aid $u+ // about
|
||||
ilə $u+ // with, by, in
|
||||
dair $u+ // about
|
||||
|
||||
// postpositions
|
||||
ci $u
|
||||
cı $u
|
||||
cü $u
|
||||
de $u
|
||||
dir $u
|
||||
li $u
|
||||
in $u
|
||||
nə $u
|
||||
ya $u
|
||||
yə $u
|
||||
|
||||
// Character names
|
||||
b be
|
||||
c dZe
|
||||
ç tSe
|
||||
_ə &
|
||||
d de
|
||||
f fe
|
||||
g Je
|
||||
ğ Qe
|
||||
h he
|
||||
x xe
|
||||
j Ze
|
||||
k ka
|
||||
q ge
|
||||
l el
|
||||
m em
|
||||
n en
|
||||
_o o
|
||||
p pe
|
||||
r eR
|
||||
s se
|
||||
ş Se
|
||||
t te
|
||||
v ve
|
||||
w dubElv'E
|
||||
y je
|
||||
z ze
|
||||
|
||||
* ulduz $text
|
||||
% faiz $text
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling to phoneme rules for Azerbaijani
|
||||
|
||||
// Stress rule: Right-most vowel, but stop before the vowel which is
|
||||
// marked as unstressed [%].
|
||||
|
||||
.L02 ı a o u // back vowels
|
||||
.L03 i e ö ü
|
||||
|
||||
.group a
|
||||
a a
|
||||
ai (K aI
|
||||
-) a (_ a
|
||||
|
||||
.group b
|
||||
b b
|
||||
|
||||
.group c
|
||||
c dZ
|
||||
|
||||
.group ç
|
||||
ç tS
|
||||
|
||||
.group d
|
||||
d d
|
||||
|
||||
-) dan (_ d%an
|
||||
-) dən (_ d%&n
|
||||
-) dək (_ d%&k
|
||||
|
||||
.group e
|
||||
e e
|
||||
|
||||
.group ə
|
||||
ə &
|
||||
@) ə (_ %&
|
||||
-) ə (_ %&
|
||||
|
||||
.group f
|
||||
f f
|
||||
|
||||
.group g
|
||||
g J
|
||||
|
||||
.group ğ
|
||||
ğ Q
|
||||
A) ğ :
|
||||
a) ğa :
|
||||
o) ğo :
|
||||
u) ğu :
|
||||
ö) ğö :
|
||||
ü) ğü :
|
||||
i) ğ j
|
||||
e) ğ j
|
||||
|
||||
.group h
|
||||
h h
|
||||
|
||||
.group x
|
||||
x x
|
||||
|
||||
.group ı
|
||||
ı @
|
||||
|
||||
.group i
|
||||
i i
|
||||
|
||||
@) iya (_ =i;a
|
||||
|
||||
.group j
|
||||
j Z
|
||||
|
||||
.group k
|
||||
k c
|
||||
k (K C
|
||||
|
||||
.group q
|
||||
q g
|
||||
q (_ x
|
||||
|
||||
.group l
|
||||
l l
|
||||
l (L02 L
|
||||
L02) l (K L
|
||||
|
||||
.group m
|
||||
m m
|
||||
|
||||
.group n
|
||||
n n
|
||||
|
||||
.group o
|
||||
o o
|
||||
|
||||
.group ö
|
||||
ö W
|
||||
|
||||
.group p
|
||||
p p
|
||||
|
||||
.group r
|
||||
r R
|
||||
A) r (A *
|
||||
ğ) r (A *
|
||||
C) r (_ @-r
|
||||
|
||||
.group s
|
||||
s s
|
||||
|
||||
.group ş
|
||||
ş S
|
||||
|
||||
.group t
|
||||
t t
|
||||
L03) t (L03 ts
|
||||
|
||||
.group u
|
||||
u u
|
||||
|
||||
.group ü
|
||||
ü y
|
||||
|
||||
.group v
|
||||
v v
|
||||
|
||||
.group w
|
||||
w w
|
||||
|
||||
.group y
|
||||
y j
|
||||
|
||||
.group z
|
||||
z z
|
||||
|
||||
.group
|
||||
ä &
|
||||
+78
-76
@@ -1,4 +1,6 @@
|
||||
// Translation rules for Bengali
|
||||
|
||||
// Translation rules for Bengali
|
||||
// Improvement input by Him Prasad gautam (Nepal).
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// Numbers
|
||||
@@ -7,7 +9,7 @@ _0 S'unjO
|
||||
_1 '&k
|
||||
_2 d'uj
|
||||
_3 t'in
|
||||
_4 tS'ar
|
||||
_4 tSh'ar
|
||||
_5 p'a~tS
|
||||
_6 tS#'Oj
|
||||
_7 S'at
|
||||
@@ -15,7 +17,7 @@ _8 'at.#
|
||||
_9 n'Oj
|
||||
|
||||
_2a d'u // with hundreds etc.
|
||||
_6a tS#'a
|
||||
_6a tS#'O
|
||||
_9a n'O
|
||||
|
||||
|
||||
@@ -23,7 +25,7 @@ _10 d'OS
|
||||
_11 '&garo
|
||||
_12 b'arO
|
||||
_13 t'erO
|
||||
_14 tS'oddO
|
||||
_14 tSh'oddO
|
||||
_15 p'OnerO
|
||||
_16 S'olO
|
||||
_17 S'OterO
|
||||
@@ -39,86 +41,86 @@ _25 p'O~tSiS
|
||||
_26 tSh'abbiS
|
||||
_27 Sat'aS
|
||||
_28 'at.#aS
|
||||
_29 unOtr'iS
|
||||
_29 'unOtr'iS
|
||||
|
||||
_30 tr'iS
|
||||
_31 ekOtr'iS
|
||||
_32 bOtr'iS
|
||||
_33 tetr'iS
|
||||
_34 tSowtr'iS
|
||||
_35 pO~jtr'iS
|
||||
_31 'ekOtr'iS
|
||||
_32 b'Otr'iS
|
||||
_33 t'etr'iS
|
||||
_34 tS'owtr'iS
|
||||
_35 p'O~jtr'iS
|
||||
_36 tS#'Otr'iS
|
||||
_37 Sa~itr'iS
|
||||
_38 at.tr'iS
|
||||
_37 S'a~itr'iS
|
||||
_38 'at.tr'iS
|
||||
_39 'unOtSOll'iS
|
||||
|
||||
_40 tSOll'iS
|
||||
_41 ektSOll'iS
|
||||
_42 biall'iS
|
||||
_43 tetall'iS
|
||||
_44 tSoall'iS
|
||||
_45 pO~jtall'iS
|
||||
_46 tSetSOll'iS
|
||||
_47 SatSOll'is
|
||||
_48 atSOll'iS
|
||||
_49 unOpO~tSaS
|
||||
_41 'ektSOll'iS
|
||||
_42 b'iall'iS
|
||||
_43 t'etall'iS
|
||||
_44 tS'oall'iS
|
||||
_45 p'O~jtall'iS
|
||||
_46 tS'etSOll'iS
|
||||
_47 S'atSOll'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.
|
||||
_50 p'O~tS'aS
|
||||
_51 '&kann'o
|
||||
_52 b'ajann'o
|
||||
_53 t'epann'o
|
||||
_54 tS'ujann'o
|
||||
_55 p'ontSann'o
|
||||
_56 tS#'apann'o
|
||||
_57 S'atann'o
|
||||
_58 'at.ann'o
|
||||
_59 'unOS'at.
|
||||
|
||||
|
||||
_60 s'at.
|
||||
_61 ekSOt.t.'i
|
||||
_62 baSOt.t.'i
|
||||
_63 teSOt.t.'i
|
||||
_64 tSowSOt.t.'i
|
||||
_65 pojSOt.t.'i
|
||||
_66 SeSOt.t.'i
|
||||
_67 SatSOt.t.'i
|
||||
_68 at.SOt.t.'i
|
||||
_6X sat.t.'i
|
||||
_69 unOSOtt'ur
|
||||
_61 'ekSOt.t.'i
|
||||
_62 b'aSOt.t.'i
|
||||
_63 t'eSOt.t.'i
|
||||
_64 tS'owSOt.t.'i
|
||||
_65 p'ojSOt.t.'i
|
||||
_66 S'eSOt.t.'i
|
||||
_67 S'atSOt.t.'i
|
||||
_68 'at.SOt.t.'i
|
||||
_6X s'at.t.'i
|
||||
_69 'unOSOtt'Or
|
||||
|
||||
_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
|
||||
_70 S'Ott'Or
|
||||
_71 'ekatt'Or
|
||||
_72 b'ahatt'Or
|
||||
_73 t'iatt'Or
|
||||
_74 tS'uhatt'Or
|
||||
_75 p'OtSatt'Or
|
||||
_76 tS#'ijatt'Or
|
||||
_77 S'atatt'Or
|
||||
_78 'at.att'Or
|
||||
_79 'unOaS'i
|
||||
|
||||
_80 aS'i
|
||||
_81 &kaS'i
|
||||
_82 beraS'i
|
||||
_83 teraS'i
|
||||
_84 tSuraS'i
|
||||
_85 po~tSaS'i
|
||||
_86 tS#ijaS'i
|
||||
_87 SataS'i
|
||||
_88 at.aS'i
|
||||
_89 ,unOnObb'oj
|
||||
_81 '&kaS'i
|
||||
_82 b'eraS'i
|
||||
_83 t'eraS'i
|
||||
_84 tS'uraS'i
|
||||
_85 p'o~tSaS'i
|
||||
_86 tS#'ijaS'i
|
||||
_87 S'ataS'i
|
||||
_88 'at.aS'i
|
||||
_89 'unOnObb'oj
|
||||
|
||||
_90 nObb'oj
|
||||
_91 &kanObb'oj
|
||||
_92 beranObb'oj
|
||||
_93 teranObb'oj
|
||||
_94 tSuranObb'oj
|
||||
_95 pOtSanObb'oj
|
||||
_96 tS#ijanObb'oj
|
||||
_97 SatanObb'oj
|
||||
_98 at.anObb'oj
|
||||
_99 niranObb'oj
|
||||
_91 '&kanObb'oj
|
||||
_92 b'eranObb'oj
|
||||
_93 t'eranObb'oj
|
||||
_94 tS'uranObb'oj
|
||||
_95 p'OtSanObb'oj
|
||||
_96 tS#'ijanObb'oj
|
||||
_97 S'atanObb'oj
|
||||
_98 'at.anObb'oj
|
||||
_99 n'iranObb'oj
|
||||
|
||||
_0C S'o
|
||||
_0M1 h'ajar
|
||||
@@ -133,7 +135,7 @@ _dpt _d'Osomik_
|
||||
খ k#O
|
||||
গ gO
|
||||
ঘ g#O
|
||||
ঙ 'uNO~
|
||||
ঙ 'uNgO~
|
||||
চ tSO
|
||||
ছ tShO // [h] to distinguish from [tS]
|
||||
জ JO
|
||||
@@ -174,9 +176,9 @@ _dpt _d'Osomik_
|
||||
অ O
|
||||
আ a
|
||||
ই hrOS:o'i
|
||||
ঈ dirg#o'i
|
||||
ঈ d'i:rg#o'i
|
||||
উ hrOS:o'u
|
||||
ঊ dirg#o'u
|
||||
ঊ d'i:rg#o'u
|
||||
ঋ ri
|
||||
ঔ ow
|
||||
|
||||
@@ -190,10 +192,10 @@ _ও o
|
||||
|
||||
// combining vowel signs
|
||||
া 'akar
|
||||
ি r'oS:ikar
|
||||
ী d'irg#ikar
|
||||
ূ r'oS:ukar
|
||||
ু d'irg#ukar
|
||||
ি hrOS:o'ikar
|
||||
ী d'i:rg#ikar
|
||||
ূ hrOS:o'ukar
|
||||
ু d'i:rg#ukar
|
||||
ৃ r'ikar
|
||||
ে 'ekar
|
||||
ৈ 'ojkar
|
||||
|
||||
+52
-42
@@ -1,4 +1,5 @@
|
||||
|
||||
// Pronounciation rule for Bengali.
|
||||
// Improvement input by Him Prasad Gautam (Nepal).
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// letter groups:
|
||||
@@ -97,56 +98,58 @@
|
||||
// Vowel Signs
|
||||
|
||||
.group া
|
||||
া a
|
||||
াঁ a~
|
||||
|
||||
C) া a
|
||||
C) াঁ a~
|
||||
|
||||
.group ি
|
||||
ি i
|
||||
িঁ i~
|
||||
|
||||
C) ি i
|
||||
C) িঁ i~
|
||||
|
||||
.group ী
|
||||
ী i
|
||||
ীঁ i~
|
||||
C) ী i
|
||||
C) ীঁ i~
|
||||
|
||||
.group ূ
|
||||
ূ u
|
||||
ূঁ u~
|
||||
C) ূ u
|
||||
C) ূঁ u~
|
||||
|
||||
.group ু
|
||||
ু u
|
||||
ুঁ u~
|
||||
|
||||
C) ু u
|
||||
C) ুঁ u~
|
||||
|
||||
.group ৃ
|
||||
ৃ ri
|
||||
ৃঁ ri~
|
||||
C) ৃ r'i
|
||||
C) ৃঁ r'i~
|
||||
|
||||
|
||||
.group ে
|
||||
ে e
|
||||
েঁ e~
|
||||
েউ ew
|
||||
|
||||
C) ে e
|
||||
C) েঁ e~
|
||||
C) েউ ew
|
||||
|
||||
.group ৈ
|
||||
ৈ oj
|
||||
ৈঁ o~j
|
||||
|
||||
C) ৈ oj
|
||||
C) ৈঁ o~j
|
||||
|
||||
.group ো
|
||||
ো o
|
||||
োঁ o~
|
||||
|
||||
C) ো o
|
||||
C) োঁ o~
|
||||
|
||||
.group ৌ
|
||||
ৌ ow
|
||||
ৌঁ o~w
|
||||
|
||||
|
||||
C) ৌ ow
|
||||
C) ৌঁ o~w
|
||||
|
||||
|
||||
|
||||
// Consonants
|
||||
|
||||
.group ক
|
||||
ক kV
|
||||
ক (B k
|
||||
|
||||
|
||||
ক্ষ k#k#V // or [k#:] ?
|
||||
ক্ষ (B k#k#
|
||||
|
||||
|
||||
.group খ
|
||||
খ k#V
|
||||
খ (B k#
|
||||
@@ -164,7 +167,7 @@
|
||||
|
||||
.group ঙ
|
||||
ঙ NV
|
||||
ঙ্ (B N
|
||||
ঙ (B N
|
||||
|
||||
|
||||
.group চ
|
||||
@@ -173,8 +176,8 @@
|
||||
|
||||
|
||||
.group ছ
|
||||
ছ tS#V
|
||||
ছ (B tS#
|
||||
ছ tShV
|
||||
ছ (B tSh
|
||||
|
||||
|
||||
.group জ
|
||||
@@ -194,7 +197,7 @@
|
||||
|
||||
.group ঞ
|
||||
ঞ nV
|
||||
ঞ্ (B n
|
||||
ঞ (B n
|
||||
|
||||
|
||||
.group ট
|
||||
@@ -232,6 +235,7 @@
|
||||
.group ত
|
||||
ত tV
|
||||
ত (B t
|
||||
ত (_ to
|
||||
|
||||
|
||||
.group থ
|
||||
@@ -281,7 +285,8 @@
|
||||
|
||||
.group য়
|
||||
য় jV
|
||||
য় (B j
|
||||
_) য় (B j
|
||||
য় (B // used to separate 2 vowels
|
||||
|
||||
|
||||
.group য
|
||||
@@ -289,7 +294,8 @@
|
||||
য (B dZ
|
||||
|
||||
য় jV // nukta
|
||||
য় (B j
|
||||
_) য় (B j
|
||||
য় (B
|
||||
|
||||
্) য (C & // ব্যস্ত [bæsto]
|
||||
্) যা & // ব্যাকরণ [bækɔron]
|
||||
@@ -333,6 +339,7 @@
|
||||
.group হ
|
||||
হ hV
|
||||
হ (B h
|
||||
হ (_ ho
|
||||
|
||||
|
||||
.group হ্ব
|
||||
@@ -352,21 +359,24 @@
|
||||
.group ঢ় // can be ঢ plus nukta
|
||||
ঢ় hr.V
|
||||
ঢ় (B hr.
|
||||
ঢ় (_ hr.o
|
||||
|
||||
|
||||
|
||||
.group ঁ
|
||||
ঁ O~ // candrabindu, nasalize the previous vowel
|
||||
C) ঁ O~ // candrabindu, nasalize the previous vowel/Consonants
|
||||
|
||||
.group ং
|
||||
ং N // anusvara/onushshor
|
||||
|
||||
A) ং N // anusvara/onushshor
|
||||
C) ং N // anusvara/onushshor
|
||||
|
||||
.group ঃ // visarga/bishorgo
|
||||
ঃ // doubles the following consonant
|
||||
ঃ (_ H
|
||||
|
||||
.group ্ // virama/hoshonto
|
||||
্
|
||||
C) ্
|
||||
|
||||
|
||||
.group ়
|
||||
় // nukta, modifies a consonant
|
||||
|
||||
+1053
-880
File diff suppressed because it is too large
Load Diff
@@ -63,6 +63,8 @@ _#32 l'e:rts'aIC@n
|
||||
_?? zymb'o:l
|
||||
_?A b'u:xstA:b@
|
||||
_cap gr'o:s
|
||||
_sub 'Unt@R|3_!,IndEks||
|
||||
_sup 'o:b@R|3_!,IndEks||
|
||||
|
||||
|
||||
// accent names
|
||||
|
||||
+103
-53
@@ -16,9 +16,10 @@
|
||||
// ?7 Scottish
|
||||
// ?8 Use full vowel, not schwa in some word endings
|
||||
|
||||
// $alt1 use strong ending (-table, -inal)
|
||||
// $alt2 use weak ending
|
||||
// $alt1 use strong ending (-an, -table, -inal, -ier)
|
||||
// $alt2 use weak ending (ard, ate, ery, ess, ile, men)
|
||||
// $alt3 use weak first vowel, a->[a#], e->[@], o->[0#]
|
||||
// $alt4 separate 'h', not 'th'
|
||||
// $alt6 'to'
|
||||
|
||||
|
||||
@@ -105,6 +106,8 @@ _hok h'Uk
|
||||
|
||||
// character names
|
||||
_cap k,ap@-t@L
|
||||
_sub s,VbskrIpt||
|
||||
_sup s,u:p3skrIpt||
|
||||
_?A l,Et3
|
||||
_?? sImb@L
|
||||
_braille br'eIl
|
||||
@@ -148,19 +151,14 @@ _} raItbreIs
|
||||
_¡ %Inv,3:tI2dEkskl@m'eIS@n
|
||||
_¦ broUk@nb'A@
|
||||
_¨ daIa#r'i:sIs
|
||||
_ª fEmI2nIn'O@dI2n@L
|
||||
_« lEft'gIl@mEt
|
||||
_ makr0n
|
||||
² tu:
|
||||
³ Tri:
|
||||
_¹ su:p@skrIptw'0n
|
||||
_² su:p@skrIptt'u:
|
||||
_³ su:p@skrIptT'ri:
|
||||
² tu: $native
|
||||
³ Tri: $native
|
||||
|
||||
_´ a#kju:taksEnt
|
||||
_· mId@Ld0t
|
||||
_¸ sEd'Il@
|
||||
//_º maskjUlIn'O@dI2n@L
|
||||
_º dI2gr'i:z
|
||||
_» raIt'gIl@mEt
|
||||
_¿ %Inv,3:tI2dkw'EstS@n
|
||||
|
||||
@@ -284,42 +282,42 @@ _ja dZ'ap@ni:z
|
||||
_zh tS'aIni:z
|
||||
|
||||
// Cyrillic letters
|
||||
а a
|
||||
б bE
|
||||
в vE
|
||||
г gE
|
||||
д dE
|
||||
е jE
|
||||
ё jo
|
||||
ж ZE
|
||||
з zE
|
||||
и I
|
||||
а a:
|
||||
б bE:
|
||||
в vE:
|
||||
г gE:
|
||||
д dE:
|
||||
е jE:
|
||||
ё jo:
|
||||
ж ZE:
|
||||
з zE:
|
||||
и I:
|
||||
й ,Ik@-*'atkOji
|
||||
к ka
|
||||
к ka:
|
||||
л El/1
|
||||
м Em
|
||||
н En
|
||||
о o
|
||||
п pE
|
||||
о o:
|
||||
п pE:
|
||||
р Er
|
||||
с Es
|
||||
т tE
|
||||
у u
|
||||
т tE:
|
||||
у u|:
|
||||
ф Ef
|
||||
х xa
|
||||
ц tsE
|
||||
ч tSE
|
||||
ш Sa
|
||||
щ StSa
|
||||
х xa:
|
||||
ц tsE:
|
||||
ч tSE:
|
||||
ш Sa:
|
||||
щ StSa:
|
||||
ъ jEr
|
||||
ы j'Eru
|
||||
ь j'eri
|
||||
э E
|
||||
ю ju
|
||||
я ja
|
||||
ћ tS;E
|
||||
ђ djE
|
||||
ќ kjE
|
||||
э E:
|
||||
ю ju|:
|
||||
я ja:
|
||||
ћ tS;E:
|
||||
ђ djE:
|
||||
ќ kjE:
|
||||
|
||||
|
||||
// Arabic letters
|
||||
@@ -507,7 +505,7 @@ _3o T'3:
|
||||
_5o f'If
|
||||
_20o tw'Enti@
|
||||
_30o T'3:ti@
|
||||
?3 _30o T'IRti@
|
||||
?5 _30o T'IRti@
|
||||
_40o f'o@ti@
|
||||
_50o f'Ifti@
|
||||
_60o s'Iksti@
|
||||
@@ -567,8 +565,10 @@ ie aIi:_! $pause $only
|
||||
i.e aIi:_! $pause
|
||||
imo $abbrev
|
||||
inlb $abbrev
|
||||
ios $abbrev
|
||||
irc $abbrev
|
||||
irs $abbrev
|
||||
isbn $abbrev
|
||||
itx $abbrev
|
||||
(km ²) skw,e@kIl'0mIt3z
|
||||
lapd $abbrev
|
||||
@@ -593,6 +593,7 @@ oem $abbrev
|
||||
ok $abbrev
|
||||
omg $abbrev
|
||||
os $abbrev
|
||||
osx $abbrev
|
||||
otoh $abbrev
|
||||
pcie $abbrev
|
||||
pcmcia $abbrev
|
||||
@@ -661,8 +662,7 @@ ability a#bIl@ti
|
||||
ablaut ablaUt
|
||||
aborigine ab@r'IdZ@ni
|
||||
abracadabra abr@k@d'abr@
|
||||
absence abs@ns
|
||||
absent $1
|
||||
absentee $3
|
||||
absent abs'Ent $verb
|
||||
absentia abs'Ent2i:@
|
||||
absinthe absInT
|
||||
@@ -694,6 +694,7 @@ adieu a#dju:
|
||||
adieus a#dju:z
|
||||
adieux a#dju:z
|
||||
adios aDj'o:s
|
||||
adjective $1
|
||||
admirable adm@r@b@L
|
||||
admirably adm@r@bli
|
||||
admonition adm@n'IS@n
|
||||
@@ -730,7 +731,7 @@ agog a#g0g
|
||||
agressive a#grEsIv // misspell
|
||||
aground a#graUnd
|
||||
ague eIgju:
|
||||
aha A:hA:
|
||||
aha A:h'A:
|
||||
ahem a#h'Em
|
||||
ahoy a#hOI
|
||||
airbus e@bVs
|
||||
@@ -758,6 +759,7 @@ allover O:l'oUv3
|
||||
alm A:m
|
||||
almost O:lmoUst
|
||||
allspice $1
|
||||
alt 0lt // not abbrev
|
||||
alternate O:lt'3:n@t $only
|
||||
alternate O:lt3neIt $verb
|
||||
alternately O:lt'3:n@tlI $verbf
|
||||
@@ -791,7 +793,6 @@ anemometer anIm'0mI2t3
|
||||
anew a#nju:
|
||||
?3 anew a#nu:
|
||||
anime anImeI
|
||||
anion aneI@n
|
||||
anise anIs
|
||||
anniversary anIv'3:s@ri
|
||||
anon a#n0n
|
||||
@@ -804,7 +805,7 @@ antibody $1
|
||||
antichrist $1
|
||||
anticline $1
|
||||
antidote $1
|
||||
antifreze $1
|
||||
antifreeze $1
|
||||
antigen $1
|
||||
antihero $1
|
||||
antilog $1
|
||||
@@ -874,6 +875,7 @@ attribute atrIbju:t
|
||||
attribute $alt3 $verb
|
||||
au ,oU
|
||||
aubergine oUb3Zi:n
|
||||
audi aUdi
|
||||
auger O:g3
|
||||
augmentation O:gmEnt'eIS@n
|
||||
august O:g@st
|
||||
@@ -972,6 +974,7 @@ blurry bl3:rI
|
||||
boing bOIN
|
||||
bolognese b0l@n'eIz
|
||||
bombard $2
|
||||
bombardier b0mb3d'i@3
|
||||
(bon voyage) b0n||vOI'A:Z
|
||||
bonbon b0nb0n
|
||||
bonhomie b0n@mi:
|
||||
@@ -1054,7 +1057,7 @@ capita kapIt@
|
||||
capitol kapIt@L
|
||||
caprice ka#pri:s
|
||||
carafe ka#raf
|
||||
caramel kar@mEl
|
||||
?!3 caramel kar@mEl $onlys
|
||||
caravan kar@van
|
||||
carburetor kA@b@r'Et3
|
||||
?3 carburetor kA@b@reIt3
|
||||
@@ -1075,7 +1078,7 @@ cathedral $alt3
|
||||
catholic kaTlIk
|
||||
carotid $alt3
|
||||
cartel kA@t'El
|
||||
cavalier $3
|
||||
cavalier $alt1
|
||||
caveat kavIat
|
||||
?3 caveat kavIA:t
|
||||
caviar kavIA@
|
||||
@@ -1089,6 +1092,7 @@ celebre sEl'Ebr@
|
||||
censure sEnS3
|
||||
ceres si@ri:z
|
||||
certificate s3tIfIk@t
|
||||
c'est seI $u
|
||||
chagrin SagrIn
|
||||
?3 chagrin Sa#grIn
|
||||
chalet SaleI
|
||||
@@ -1151,6 +1155,7 @@ closely kloUslI $verbf // not kloUzlI
|
||||
closet kl0zI2t
|
||||
cloth kloUD $verb
|
||||
c'mon k@m0n
|
||||
coathanger $alt4
|
||||
coauthor koU'O:T3
|
||||
coaxial koU'aksI@l
|
||||
cobol koUb0l
|
||||
@@ -1170,6 +1175,7 @@ coincide koUIns'aId
|
||||
cojones k@hoUneIs
|
||||
coliseum k0l@s'i:@m
|
||||
collage k0l'A:Z
|
||||
collarbone k0l3boUn
|
||||
college k0lI2dZ
|
||||
collegiate k@li:dZI@t
|
||||
colloquial k@loUkwI@L
|
||||
@@ -1266,6 +1272,7 @@ corral k@r'al
|
||||
cosmos k0zm0s
|
||||
?3 cosmos k0zmoUs
|
||||
cougar ku:g3
|
||||
counteract $3
|
||||
countered kaUnt3d
|
||||
(coup de grâce) ku:d@||gr'A:
|
||||
coupon ku:p0n
|
||||
@@ -1441,6 +1448,7 @@ edwardian Edw'O@di@n
|
||||
efile i:faIl
|
||||
egg Eg // egging
|
||||
egregious Igr'i:dZ@s
|
||||
?!3 egret i:gr@t
|
||||
eh eI
|
||||
eid i:d
|
||||
el ,El $only
|
||||
@@ -1537,6 +1545,7 @@ eyrie i@ri
|
||||
facade f@sA:d
|
||||
façade f@sA:d
|
||||
facetious $alt3
|
||||
faculty fak@Lt2i
|
||||
faeces fi:si:z
|
||||
fahrenheit far@nhaIt
|
||||
fairest fe@r@st
|
||||
@@ -1598,11 +1607,11 @@ fortune fO@tSu:n
|
||||
foyer fOIeI
|
||||
freelance fri:laans
|
||||
freon fri:0n
|
||||
frequent frI2kwEnt $verb
|
||||
fricassee frIka#seI
|
||||
frigate frIg@t
|
||||
fringer frIndZ3 // infringer
|
||||
fringing frIndZIN
|
||||
frisson fri:s'O~
|
||||
frontend fr'Vnt,End
|
||||
frontier frVnti@3
|
||||
?3 frontier frVnt'i@3
|
||||
@@ -1641,6 +1650,7 @@ gentlemen dZEnt@Lm@n
|
||||
genuine dZEnju:I#n
|
||||
geode dZi:oUd
|
||||
geologist $2
|
||||
gettin gEt#n-
|
||||
geyser gi:z3
|
||||
?3 geyser gaIz3
|
||||
gibbon gIb@n
|
||||
@@ -1651,6 +1661,7 @@ gimme gImi
|
||||
giraffe dZI2raaf
|
||||
github gIthVb
|
||||
glacier gleIS3
|
||||
?3 goddess $alt2
|
||||
goin ,goUI2n $only // for goin'
|
||||
gonna g,@n@
|
||||
goodbye $2
|
||||
@@ -1672,6 +1683,7 @@ griffon grIf@n
|
||||
grosvenor groUv@n3
|
||||
groupie gru:pi
|
||||
guacamole gwA:ka#m'oUli:
|
||||
guarantee $3
|
||||
gucci gu:tSi
|
||||
gui gu:i $onlys
|
||||
guinea gIni
|
||||
@@ -1680,6 +1692,8 @@ gurus gu:ru:z
|
||||
habitual $alt3
|
||||
haggis hagIs
|
||||
haha hA:h'A:
|
||||
halation $alt3 // in-
|
||||
halberdier $alt1
|
||||
halleluiah halI2'lu:j@
|
||||
hallelujah halI2'lu:j@
|
||||
halloween $3
|
||||
@@ -1703,6 +1717,7 @@ hello h@loU
|
||||
henceforth hEnsfo@T
|
||||
?3 herb 3:b
|
||||
hercules h3:kjUli:z
|
||||
heredity h3rEdI2ti
|
||||
?3 hereford h3:f3d
|
||||
heretical hI2rEtI2k@L
|
||||
hereto hi@3'tu:
|
||||
@@ -1878,6 +1893,7 @@ kosher koUS3
|
||||
kowtow kaUt2aU
|
||||
|
||||
la ,la $only
|
||||
(la vie) la||v'i:
|
||||
laboratory la#b'0r@trI
|
||||
?3 laboratory labr@tO:ri
|
||||
labor leIb3
|
||||
@@ -2072,9 +2088,10 @@ mixer mIks3
|
||||
moccasin m0k@sI#n
|
||||
mocha moUk@
|
||||
modem moUdEm
|
||||
?3 modem moUd@m
|
||||
?3 modem moUd@m
|
||||
moderate m0d@reIt $verb
|
||||
mogul moUg@L
|
||||
moi mwA:
|
||||
mojito moUh'i:toU
|
||||
molass $alt3
|
||||
molybdenum $2
|
||||
@@ -2154,10 +2171,11 @@ nothing nVTIN
|
||||
notwithstanding $3
|
||||
noway noUweI
|
||||
nowhere noUwe@
|
||||
?3 nuance nu:0ns
|
||||
?3 nuance nu:0ns
|
||||
|
||||
oases oU'eIsi:z
|
||||
oasis oU'eIsI2s
|
||||
obdurate $alt2
|
||||
obelisk 0b@lI2sk
|
||||
obesity oUb'i:s@ti
|
||||
obey oUb'eI
|
||||
@@ -2296,6 +2314,7 @@ persona p3:s'oUn@
|
||||
perspex p3:spEks
|
||||
perus p@ru:z
|
||||
peruse p@ru:z
|
||||
petit p@ti:
|
||||
petite p@ti:t
|
||||
petroleum p@troUli:@m
|
||||
petunia $alt3
|
||||
@@ -2336,6 +2355,7 @@ plethora plET3r@
|
||||
plicate $2
|
||||
plumber plVm3
|
||||
plus plVs
|
||||
pois pwA:
|
||||
poly p0lI
|
||||
politer p@l'aIt3
|
||||
politic p0l@tIk $onlys
|
||||
@@ -2378,6 +2398,7 @@ pretext pri:t2Ekst
|
||||
pretrial pri:tr'aI|@L
|
||||
pretty prIti
|
||||
pretzel prEts@L
|
||||
?3 priestess $alt2
|
||||
primeval praIm'i:v@L
|
||||
pristine $2
|
||||
?3 privacy praIv@si
|
||||
@@ -2419,6 +2440,7 @@ puny pju:ni
|
||||
purist pju:r-Ist
|
||||
purport $2
|
||||
purportedly $2
|
||||
puttin pUt#n-
|
||||
pyjama p@dZA:m@
|
||||
pyrites paIr'aIti:z
|
||||
pythagoras paIT'ag@r@s
|
||||
@@ -2442,6 +2464,7 @@ radish radIS
|
||||
ragged ragI#d
|
||||
raiment reIm@nt
|
||||
rainforest r'eInf,0rI2st
|
||||
(raison d'être) reIz0n||d'Etr@-
|
||||
rajah rA:dZA:
|
||||
rapier reIpi@3
|
||||
rapport rap'o@
|
||||
@@ -2519,6 +2542,7 @@ rendevous r0ndI2vu:
|
||||
rendezvous r0ndI2vu:
|
||||
renegade rEn@geId
|
||||
reo ri:oU
|
||||
repartee rEpA@t'eI
|
||||
repel rI2pEl
|
||||
replay ri:pleI
|
||||
reply rI2plaI // for replied
|
||||
@@ -2652,6 +2676,7 @@ sesame sEsa#mi
|
||||
settee $2
|
||||
severe sI2v'i@3 $only
|
||||
severely sI2v'i@3lI $verbf
|
||||
sewn soUn
|
||||
sex sEks // sexism
|
||||
several sEvr@L
|
||||
shallow SaloU
|
||||
@@ -2827,9 +2852,8 @@ telephon tElI2foUn // for telephoning
|
||||
temperature tEmprI2tS3
|
||||
?!3 temporary tEmpr@rI
|
||||
?3 template tEmpl@t
|
||||
thereof ,De@'0v
|
||||
thereon ,De@'0n
|
||||
thereto ,De@'tu:
|
||||
therefore $1
|
||||
thereof De@r'0v
|
||||
thermos T3:m@s
|
||||
thermostable $alt1
|
||||
thesis Ti:sIs
|
||||
@@ -2952,7 +2976,6 @@ useful ju:sf@L
|
||||
utan u:t'an
|
||||
utensil ju:t'Ens@L
|
||||
|
||||
valentine val@ntaIn
|
||||
valet valeI
|
||||
?3 valet val'eI
|
||||
valise va#li:s
|
||||
@@ -3083,6 +3106,7 @@ Cheadle tSi:d@L
|
||||
Cheshire tSES3
|
||||
Chiswick tSIzIk
|
||||
Clwyd klu:Id
|
||||
Conway $1
|
||||
Dagenham dag@n@m
|
||||
Devon dEv@n
|
||||
Dolgellau d0lg'EClaI
|
||||
@@ -3159,6 +3183,7 @@ Belgrade $2
|
||||
Belize bEl'i:z
|
||||
Bengal b,Eng'O:l
|
||||
Benin bEnIn
|
||||
Berkeley b3:kli
|
||||
Bhutan bu:t'an
|
||||
Bideford bIdIf@d
|
||||
Bogota b0g@t'A:
|
||||
@@ -3195,6 +3220,7 @@ Cruz kru:z
|
||||
Cyprus saIpr@s
|
||||
Dahomey $alt3
|
||||
Dallas dal@s
|
||||
Dagestan dA:gIst'A:n
|
||||
Damascus $alt3
|
||||
Dakota $alt3
|
||||
Danish deInIS
|
||||
@@ -3208,6 +3234,8 @@ Egyptia IdZ'IpS@
|
||||
Egyptian IdZ'IpS@n
|
||||
Eire e@r@
|
||||
Elysee eIl'i:zeI
|
||||
Elysée eIl'i:zeI
|
||||
Erebus ErI#b@s
|
||||
Erie i@ri
|
||||
Euphrates ju:fr'eIti:z
|
||||
Eyjafjalla eIja#fjatla#
|
||||
@@ -3222,6 +3250,7 @@ Gomera goUm'e@r@
|
||||
Gurmukhi gU@mUki
|
||||
Harare ha#rA:ri
|
||||
Hanoi han'OI
|
||||
Harvard $alt2
|
||||
Havana ha#van@
|
||||
Hawaii h@w'aIi:
|
||||
Hawai'i h@w'aIi:
|
||||
@@ -3229,6 +3258,7 @@ Hawaiian h@w'aI@n
|
||||
Hebrew hi:bru:
|
||||
Hebrides hEbr@di:z
|
||||
Honduras h0nd'jU@r@s
|
||||
Honolulu $3
|
||||
Houston hju:st@n
|
||||
Idaho $1
|
||||
Illinois Il@n'OI
|
||||
@@ -3257,7 +3287,10 @@ Korean kOr'i:@n
|
||||
?3 Korean k3r'i:@n
|
||||
Kosovo k0s@voU
|
||||
Kuala kwA:la#
|
||||
Kyrgyz k3:rgIz
|
||||
Kyrgyzstan k3:rgIst'A:n
|
||||
Lagos leIg0s
|
||||
Lahore $alt3
|
||||
Lebanon lEb@n0n
|
||||
Leipzig laIpsIg
|
||||
Leone li:'oUn
|
||||
@@ -3340,6 +3373,7 @@ Punjabi pVndZ'A:bi
|
||||
Pyrenees pIr@n'i:z
|
||||
Qatar katA@
|
||||
Quebec kwI2bEk
|
||||
Québec kwI2bEk
|
||||
Raleigh rA:li
|
||||
Reno ri:noU
|
||||
Rio ri:oU
|
||||
@@ -3417,6 +3451,8 @@ Ada eId@ $onlys
|
||||
Andrea $2
|
||||
Adrian eIdri@n
|
||||
Agatha aga#T@
|
||||
Angela andZ@l@
|
||||
Angelika $2
|
||||
Aggie agi
|
||||
Agnes agn@s
|
||||
Aguilera agi:l'e@r@
|
||||
@@ -3441,12 +3477,13 @@ Amy eImi
|
||||
Andre 0ndreI
|
||||
Andrea andri@
|
||||
Andreas A:ndr'eI@s
|
||||
Angela $1
|
||||
Angela ang@l@
|
||||
Anita $alt3
|
||||
Anthony ant@ni
|
||||
Anton ant0n
|
||||
Aoife i:f@
|
||||
Aoiffe i:f@
|
||||
Aphrodite afr@d'aIti
|
||||
Archibald A@tSIbO:ld
|
||||
Archie A@tSi
|
||||
Ares e@ri:z
|
||||
@@ -3523,6 +3560,7 @@ Duane dweIn
|
||||
Duncan dVnk@n
|
||||
Dvina d@vi:n@
|
||||
Dylan dIl@n
|
||||
Ebenezar Eb@n'i:z3
|
||||
Edith i:dIT
|
||||
Eduardo Edw'A@doU
|
||||
Elijah I2laIdZ@
|
||||
@@ -3559,10 +3597,13 @@ Giordino dZO@d'i:noU
|
||||
Giovanni dZ@v'A:ni
|
||||
Graeme greI@m
|
||||
Graham greI@m
|
||||
Gruffydd grIfIT
|
||||
Guido gwi:doU
|
||||
Guinevere gwInI#vi@3
|
||||
Hadrian heIdri:@n
|
||||
Hamish heImIS
|
||||
Harriet hari@t
|
||||
Harvey hA@vi
|
||||
Heidi haIdi
|
||||
Hecate hEk@teI
|
||||
Hekate hEk@teI
|
||||
@@ -3620,6 +3661,7 @@ Louise lu:w'i:z
|
||||
Luigi lu:'i:dZi
|
||||
Luis lu:Is
|
||||
Lupe lu:peI
|
||||
Luther lu:T3
|
||||
Madeleine mad@lI2n
|
||||
Madeline mad@lI2n
|
||||
Maeve meIv
|
||||
@@ -3681,6 +3723,7 @@ Persephone p3s'Ef@ni
|
||||
Phoebe fi:bi:
|
||||
Rachael reItS@L
|
||||
Rachel reItS@L
|
||||
Rae reI
|
||||
Rafael rA:faI'El
|
||||
Rashid rA:S'i:d
|
||||
Raul raU'u:l
|
||||
@@ -3701,6 +3744,7 @@ Samantha sa#manT@
|
||||
(Santa claus) s'ant@||kl'O:z
|
||||
Saoirse si@S@
|
||||
Sarah se@r@
|
||||
Sarisa $alt3
|
||||
Seamus SeIm@s
|
||||
Sean SO:n
|
||||
Sebastian $alt3
|
||||
@@ -3713,6 +3757,7 @@ Siobhán S@vO:n
|
||||
Sonia s0nj@
|
||||
Sophie soUfi
|
||||
Stephen sti:v@n
|
||||
Stevie sti:vi
|
||||
Stewart stju:3t
|
||||
?3 Stewart stu:3t
|
||||
Stuart stju:3t
|
||||
@@ -3736,6 +3781,7 @@ Vanessa $alt3
|
||||
Wallace w0lI#s
|
||||
Wally w0li
|
||||
?3 William wIlj@m
|
||||
Yerevan jEr@v'an
|
||||
Yves i:v
|
||||
Yvonne $2
|
||||
Zoe zoUi
|
||||
@@ -3753,6 +3799,7 @@ Campbell kamb@l
|
||||
Capone ka#poUn
|
||||
Carnegie kA@n@gi
|
||||
Cohen koU@n
|
||||
Connolly $1
|
||||
Cthulhu k@-Tu:l#u:
|
||||
Chrysler kraIsl3
|
||||
(da vinci) da#vIntSi
|
||||
@@ -3769,6 +3816,7 @@ Folger foUldZ3
|
||||
Genghis dZENgIs
|
||||
Gibson gIbs@n
|
||||
Guinness gInIs
|
||||
Gutierrez gu:tj'ErEz
|
||||
Hades heIdi:z
|
||||
Hamilton ham@Lt@n
|
||||
Hoosier hu:Z3
|
||||
@@ -3874,6 +3922,7 @@ at at $nounf $only $u
|
||||
(at once) a#t_w0ns
|
||||
?6 (at once) a#t_wVns
|
||||
(at will) a#t_w'Il
|
||||
(at & t) 'eIt2i:@nt'i:
|
||||
|
||||
with wID $u
|
||||
(with the) w%IDD@2 $nounf
|
||||
@@ -4153,7 +4202,7 @@ someone sVmw0n
|
||||
|
||||
//conjunctions
|
||||
|
||||
although OlD'oU $pause
|
||||
although 0lD'oU $pause
|
||||
and and $u $pause $only
|
||||
as %az $only
|
||||
(as is) ,az,Iz $pause
|
||||
@@ -4219,6 +4268,7 @@ that Dat $u $nounf $strend2 $verbsf
|
||||
these Di:z $u $nounf $strend2 $only
|
||||
those DoUz $u $nounf $strend2 $only
|
||||
there De@ $u $strend2 $only
|
||||
there've De@v $u
|
||||
(there are) D%e@,A@ $strend
|
||||
(there be) De@b'i:
|
||||
(there were) D%e@,w3: $strend
|
||||
|
||||
+79
-46
@@ -239,14 +239,15 @@
|
||||
ab (ruc ab
|
||||
ab (sce ab
|
||||
ab (sei ab
|
||||
absen (t ,abs@n
|
||||
_) ab (sen ab
|
||||
_) abse (ntC ,abs@
|
||||
ab (solu ab
|
||||
ab (sti ab
|
||||
ab (ular 'ab
|
||||
b) ab (y eIb
|
||||
b) ab (yl ab
|
||||
&) able (_S4iev @b@L // suffix
|
||||
&) able (_$w_alt eIb@L
|
||||
&) able (_$w_alt1 eIb@L
|
||||
&c) able (_ @b@L
|
||||
@ct) able (_ =@b@L
|
||||
&) ability (S7iev @b'IlI2t%i // suffix
|
||||
@@ -302,7 +303,7 @@
|
||||
f) ac (ilit @s
|
||||
_m) ace (d asI
|
||||
m) achi (nA# @Si:
|
||||
m) achina (t aSI2neI
|
||||
m) achina (t akI2neI
|
||||
ach (rom ak
|
||||
ac (id_ as
|
||||
_) ac (i a#s
|
||||
@@ -516,13 +517,16 @@
|
||||
_) alber (tA alb'3:
|
||||
_) al (c al
|
||||
alco (h alk@
|
||||
&) al (cy_ @l
|
||||
_) al (d O:l
|
||||
alde (hy 'aldI
|
||||
ale (_ eIl
|
||||
ale (h eIl
|
||||
X) al (ed al
|
||||
k) alei (d @laI
|
||||
_v) alen (t al@n
|
||||
aleph alEf
|
||||
_op) al (es @l
|
||||
_) alexan alIgz'aan
|
||||
_) alfa alf@
|
||||
_) al (g al
|
||||
@@ -634,9 +638,8 @@
|
||||
t) all (e O:l
|
||||
thr) all O:l
|
||||
Av) al (en @l
|
||||
w) all (A 0l
|
||||
w) all (A+ 0l
|
||||
w) alle O:l
|
||||
w) all (et 0l
|
||||
w) all O:l
|
||||
w) all (a 0l
|
||||
al (tAr 0l
|
||||
@@ -686,6 +689,7 @@
|
||||
amer (ic a#mEr
|
||||
c) am (ero am
|
||||
c) am (el am
|
||||
car) am (el @m
|
||||
am (i_ 'A:m
|
||||
ami (g a#mi:
|
||||
_d) am (i eIm
|
||||
@@ -754,8 +758,8 @@
|
||||
hum) an (_ @n
|
||||
&) an (ty_ @n
|
||||
&) an (t_ @n
|
||||
&) an (t_$w_alt an
|
||||
?3 &) an (t_$w_alt A:n
|
||||
&) an (t_$w_alt1 an
|
||||
?3 &) an (t_$w_alt1 A:n
|
||||
?8 &) an (t_ a#n
|
||||
_f) an (at a#n
|
||||
pl) an (t_ an
|
||||
@@ -782,7 +786,10 @@
|
||||
&) an (ese @n
|
||||
_) ane (s anI
|
||||
an (gul 'an
|
||||
_) ani anI
|
||||
_) ani (on anaI
|
||||
&) ani (_ 'A:nI
|
||||
@st) ani (_S1 =i
|
||||
an (ia 'eIn
|
||||
ania (c_ 'eInIa
|
||||
ania (c a#naI@
|
||||
@@ -912,6 +919,7 @@
|
||||
_t) ar (_ A@
|
||||
&) ar (dis 3
|
||||
&) ar (diz 3
|
||||
&) ar (d_$w_alt2 3
|
||||
&d) ar (d_ 3
|
||||
gg) ar (d_ 3
|
||||
&h) ar (d_ 3
|
||||
@@ -960,7 +968,7 @@
|
||||
sp) ar (enC ar
|
||||
ar' (nt A@
|
||||
ar (et ar
|
||||
ar (iaC_ 'e@
|
||||
ar (iaB_ 'e@
|
||||
ar (ia_ 'e@
|
||||
@) arily (_ 'Er@l%I
|
||||
?3 @) arily (_ 'e@r@l%I
|
||||
@@ -979,6 +987,7 @@
|
||||
u) ar (ish e@r
|
||||
?3 _) ar (istocrat a#r
|
||||
log) ar (i @r
|
||||
marg) ar (AtA_ 3r'
|
||||
m) ar (it ar
|
||||
p) ar (i ar
|
||||
p) ar (in e@
|
||||
@@ -1015,6 +1024,7 @@
|
||||
_w) ar (d O@
|
||||
sw) ar (d O@
|
||||
chw) ar (d O@
|
||||
&) arye (_ 3ri
|
||||
|
||||
.group as
|
||||
_) as (@ a#s
|
||||
@@ -1223,11 +1233,10 @@
|
||||
av (eng a#v
|
||||
_) av (erC a#v
|
||||
av (oA a#v
|
||||
d) av (en av
|
||||
d) av (id eIv
|
||||
j) av (a A:v
|
||||
j) av (el av
|
||||
l) av (en av
|
||||
_B) av (en av
|
||||
al) av (er 'A:v
|
||||
sc) av (en av
|
||||
_) avi (A eIvI
|
||||
@@ -1350,7 +1359,7 @@
|
||||
bi (ry bI
|
||||
bi (sc bI
|
||||
bi (sec b%aI
|
||||
bi (sh bI
|
||||
_) bi (sh bI
|
||||
bi (sm bI
|
||||
bi (sq bi:
|
||||
bi (str bi:
|
||||
@@ -1492,6 +1501,7 @@
|
||||
bron) ch k
|
||||
ch (ute S
|
||||
ch (ure S
|
||||
za) ch k
|
||||
|
||||
.group co
|
||||
_) co (ag k%oU
|
||||
@@ -1621,7 +1631,7 @@
|
||||
co (rro k@
|
||||
co (rrup k@
|
||||
_) costar koUstA@
|
||||
_) counter (@P7 k'aUnt@ // prefix
|
||||
_) counter (@P7 k'aUnt3 // prefix
|
||||
|
||||
.group d
|
||||
d d
|
||||
@@ -1978,7 +1988,7 @@
|
||||
st) ea (k eI
|
||||
w) eapo Ep@
|
||||
eager i:g3
|
||||
j) ealou El@
|
||||
j) ea (lou E
|
||||
&) eal (_ i@l
|
||||
z) ea (lo E
|
||||
C) ea (lt E
|
||||
@@ -2472,16 +2482,18 @@
|
||||
s) er (van 3:
|
||||
ery (_ @r%i
|
||||
?3 ery (_++$w_alt2 @rI
|
||||
?3 @@AC) ery (_ e@ri
|
||||
?3 @@AC) ery (_ ,e@ri
|
||||
ery (A 3j
|
||||
_v) ery ErI2
|
||||
qu) ery i@rI
|
||||
_x) er (o i@r
|
||||
z) er (o i@r
|
||||
_C) er (o_ i@r
|
||||
er (rA E
|
||||
err (_N e@
|
||||
|
||||
.group es
|
||||
ess (_$w_alt2 @s
|
||||
&) es (_S1i z
|
||||
&es) es (_ i:z
|
||||
ese (_ i:z
|
||||
@@ -2648,6 +2660,8 @@
|
||||
ex (erc Eks
|
||||
_) ex (A %Egz
|
||||
_) exh %Egz
|
||||
_) ex (hal %Eks
|
||||
_) exh (ibiti %Eks
|
||||
?3 _) exhu %Egzu:
|
||||
_) ex (it Egz
|
||||
exor (c Eks3
|
||||
@@ -2715,6 +2729,7 @@
|
||||
g (eek g
|
||||
_) g (ert g
|
||||
_) g (ek g
|
||||
g (eld g
|
||||
ge (nic_ dZ'E
|
||||
genesis dZ'EnI2sIs
|
||||
geous dZ=@s
|
||||
@@ -2950,7 +2965,9 @@
|
||||
iza (tion aIzeI
|
||||
?3 iza (tion @zeI
|
||||
ize (_ aIz
|
||||
ial) ize (_S3 aIz
|
||||
&l) ize (_S3 aIz
|
||||
&l) ized (_S4 aIzd
|
||||
&l) izing (_S5 ,aIzIN
|
||||
ize (d_ aIz
|
||||
i (zen I
|
||||
iz (er_ aIz
|
||||
@@ -3036,7 +3053,7 @@
|
||||
&n) iel (_ j@L
|
||||
&r) iel (_ =i:@L
|
||||
ie (n i@
|
||||
&) ie (n_ =i@n
|
||||
&) ie (n_ =i@
|
||||
d) iene (_ 'aIi:n
|
||||
ie (ntal I'E
|
||||
g) ie (n i:
|
||||
@@ -3053,7 +3070,7 @@
|
||||
ier i@3
|
||||
ier (a I'e@r
|
||||
&) ier (_NS2i 3
|
||||
&) ier's (_NS4i 3z
|
||||
ier (_$w_alt1 'i@3
|
||||
_h) ie (r aI3
|
||||
pl) ier (_ aI3
|
||||
_Cr) ier aI3
|
||||
@@ -3190,7 +3207,7 @@
|
||||
impo (ten Imp@
|
||||
_) im (pre@P2 %Im
|
||||
impreg Impr'Eg
|
||||
impreg (nat ImprEg
|
||||
?!3 impreg (nat Impr,Eg
|
||||
im (presa ,Im
|
||||
im (provis Im
|
||||
im (pulse_ Im
|
||||
@@ -3200,7 +3217,7 @@
|
||||
|
||||
.group in
|
||||
@) ing (_+S3dve %IN
|
||||
@) ings (_S4dve %INz
|
||||
@) ings (_S1m z
|
||||
@) ingly (_S5dve %INl%I
|
||||
@) ingment (_S7dve %INm@nt
|
||||
logu) ing (_S4v %IN
|
||||
@@ -3267,7 +3284,6 @@
|
||||
_) inno (ce In@
|
||||
_) inno (v In@
|
||||
_) inn (um %In
|
||||
_) in (of In
|
||||
_) in (org In
|
||||
_) in (p In
|
||||
_) in (que In
|
||||
@@ -3321,7 +3337,7 @@
|
||||
adm) ini InI
|
||||
m) iniatur InItS3
|
||||
m) inera (l In@r@
|
||||
in (al_$w_alt 'aIn
|
||||
in (al_$w_alt1 'aIn
|
||||
&m) in (al_ =In
|
||||
f) in (a aIn
|
||||
@g) in (a_ aIn
|
||||
@@ -3357,6 +3373,7 @@
|
||||
v) ine (g InI#
|
||||
in (ea In
|
||||
in (ee In
|
||||
in (esc In
|
||||
c) in (e In
|
||||
inc) in (e In
|
||||
g) in (e In
|
||||
@@ -3495,6 +3512,7 @@
|
||||
is (er+_ aIz
|
||||
iser (_ aIz3
|
||||
&) ish (_ I2S
|
||||
ish (A_ 'i:S
|
||||
is (ive aIs
|
||||
_) island aIl@nd
|
||||
_) is (le aI
|
||||
@@ -3508,8 +3526,8 @@
|
||||
iss (a_ 'Is
|
||||
issimo (_ 'IsImoU
|
||||
chr) is (t_ aIs
|
||||
@) istan (_ =Istan
|
||||
@) istani (_ Ist'A:nI
|
||||
@) istan (_ =IstA:n
|
||||
@) istan (_N =Istan
|
||||
@) iste (_ 'i:st
|
||||
@) is (tic_ 'Is
|
||||
r) is (y_ =@s
|
||||
@@ -3997,7 +4015,7 @@
|
||||
oea (_ 'i@
|
||||
_) oe (d i:
|
||||
p) oe (m oUI
|
||||
oer oU@
|
||||
oer oU3
|
||||
_) oe (s i:
|
||||
&) oe (s_S2 z
|
||||
oesopha I2s0f@
|
||||
@@ -4102,7 +4120,7 @@
|
||||
o (tion oU
|
||||
m) o (tiv oU
|
||||
r) o (to oU
|
||||
pr) oto oUtoU
|
||||
pr) oto (C oUtoU
|
||||
pr) oto (n oUt0
|
||||
m) otor oUt3
|
||||
n) o (tor oU
|
||||
@@ -4167,6 +4185,7 @@
|
||||
olt oUlt
|
||||
w) olv Ulv
|
||||
N_p) oly ,0lI
|
||||
_) ol (ym @l
|
||||
|
||||
.group om
|
||||
&) om (_ @m
|
||||
@@ -4179,6 +4198,7 @@
|
||||
t) omb (K u:m
|
||||
w) omb (_ u:m
|
||||
c) ombe (_ u:m
|
||||
_tr) ombo (n %0mboU
|
||||
c) om (e Vm
|
||||
c) omm (e Vm
|
||||
_d) om (a @m
|
||||
@@ -4217,6 +4237,7 @@
|
||||
Cd) on (_ @n
|
||||
?3 ag) on (_ 0n
|
||||
rg) on (_ @n
|
||||
&k) on (_ @n
|
||||
&s) on (_ @n
|
||||
&t) on (_ @n
|
||||
&tr) on (_ 0n
|
||||
@@ -4235,6 +4256,7 @@
|
||||
pers) on (i '0n
|
||||
postp) on 'oUn
|
||||
_sp) on 0n
|
||||
&s) on (an @n
|
||||
on (ald 0n
|
||||
&) on (age_ @n
|
||||
d) on (at %oUn
|
||||
@@ -4346,6 +4368,7 @@
|
||||
nt) or (_ o@
|
||||
vent) or (_ 3
|
||||
y) or (k O@
|
||||
&) or (ant_ 3r
|
||||
or (arL02 3r
|
||||
&) or (ation 3r
|
||||
_) ora (to 0r@
|
||||
@@ -4420,7 +4443,7 @@
|
||||
w) or (e o@
|
||||
or (um_ 'o@r
|
||||
&) ory (_ @r%I
|
||||
?3 @@At) ory (_ o:ri
|
||||
?3 @@At) ory (_ ,o:ri
|
||||
_st) ory o@rI
|
||||
|
||||
.group os
|
||||
@@ -4661,7 +4684,7 @@
|
||||
_all) ow aU
|
||||
isall) ow aU
|
||||
cl) ow aU
|
||||
fl) ow (er aU
|
||||
fl) ower aU|3
|
||||
gl) ow (er aU
|
||||
pl) ow aU
|
||||
_n) ow (_ aU
|
||||
@@ -4788,6 +4811,8 @@
|
||||
prede (ces pri:dI
|
||||
_) pre (diP3 pr%i:
|
||||
_) pre (dic pr%I
|
||||
_) predi (lec pr,i:dI2
|
||||
?3 _) predi (lec prEd@
|
||||
_) pre (em pr%i:
|
||||
_) pre (fec pri:
|
||||
_) pre (feren prE
|
||||
@@ -4955,7 +4980,6 @@
|
||||
_) re (arm %ri:
|
||||
_) re (au@P2 ,ri:
|
||||
re (ck rE
|
||||
reckon rEk@n
|
||||
reco (g rEk@
|
||||
_) re (comP2 r,i:
|
||||
_) re (conP2 ,ri:
|
||||
@@ -5091,6 +5115,7 @@
|
||||
m) s (i z
|
||||
a) s (el_ z
|
||||
m) s (y z
|
||||
n) s (y_ z
|
||||
a) s (e s
|
||||
pha) s (e z
|
||||
la) s (e z
|
||||
@@ -5129,7 +5154,7 @@
|
||||
@) s (hill_ s
|
||||
@) s (hous s
|
||||
_) she' %Si:
|
||||
A) sh (i_ =S
|
||||
A) sh (A_ =S
|
||||
&) ship (_S4 SIp
|
||||
&) ships (_S5 SIps
|
||||
&) shire (_S5 S3
|
||||
@@ -5210,6 +5235,7 @@
|
||||
_) sus (A su:z
|
||||
su (al Zu:
|
||||
n) su (al sju:
|
||||
?3 n) su (al Su:
|
||||
_) su (b sV
|
||||
_) su (bdi s,V
|
||||
su (bdue s%V
|
||||
@@ -5265,6 +5291,7 @@
|
||||
_) t (sY t
|
||||
_) t (wY t
|
||||
_) tz (ar ts
|
||||
t (h$w_alt4 t
|
||||
|
||||
tch tS
|
||||
_) tele tElI2
|
||||
@@ -5293,6 +5320,7 @@
|
||||
tse (_ tsi
|
||||
_) tsk t'@sk
|
||||
_) tsu tsu:
|
||||
tt (i_ =t
|
||||
_) two tu:
|
||||
ttu (r t@
|
||||
tz ts
|
||||
@@ -5335,6 +5363,7 @@
|
||||
th (ern_ D
|
||||
_) thio T,aIoU
|
||||
th (ith D
|
||||
th (old th
|
||||
th (ole th
|
||||
_) th (om@ t
|
||||
ph) th T
|
||||
@@ -5346,6 +5375,7 @@
|
||||
ear) th (y T
|
||||
_) there De@
|
||||
_) them D%Em
|
||||
_) there (@ D%e@
|
||||
_) the (mA Ti:
|
||||
|
||||
.group ti
|
||||
@@ -5367,7 +5397,8 @@
|
||||
&s) tion tS@n
|
||||
?8 &) tion S=Vn
|
||||
?8 &s) tion tSVn
|
||||
tion (al S=@-n
|
||||
tion (al_ S=@-n
|
||||
tion (al S@-n
|
||||
&) tious S=@s
|
||||
AC) tive (_ =tIv
|
||||
|
||||
@@ -5383,7 +5414,7 @@
|
||||
@) tu (lat =tSU
|
||||
?3 tu (Ant tSu:
|
||||
?3 tu (Ancy tSu:
|
||||
tu (ous tSu:
|
||||
tu (ous =tSu:
|
||||
@) tur (A tS@r
|
||||
@) tur (al_ tS=@r
|
||||
&) tur (y tS@r
|
||||
@@ -5503,7 +5534,7 @@
|
||||
d) u (ly ju:
|
||||
z) u (l_ 'u:
|
||||
&) um (_ @m
|
||||
vol) u (m ju:
|
||||
vol) u (me ju:
|
||||
u (ma_ 'u:
|
||||
h) u (man ju:
|
||||
u (me ju:
|
||||
@@ -5712,6 +5743,7 @@
|
||||
?3 _) vibra (t v'aIbreI
|
||||
vivi (@ vIvI
|
||||
viv (_ vaIv
|
||||
_) vo (lC v0
|
||||
|
||||
.group w
|
||||
w w
|
||||
@@ -5856,6 +5888,7 @@
|
||||
C) yes (_ aIz
|
||||
_) yes jEs
|
||||
yeah jEh
|
||||
yew ju:
|
||||
@C) y (gen I
|
||||
?!3 d) y (nas I
|
||||
s) ynch Ink
|
||||
@@ -5963,7 +5996,7 @@
|
||||
E (ntu 'E
|
||||
E (ntous 'E
|
||||
E (o_ I2
|
||||
Eous (_ =j@s
|
||||
Eous (_ =i@s
|
||||
l) E (ps E
|
||||
l) E (pt E
|
||||
Eri (A 'i@rI2
|
||||
@@ -6009,19 +6042,19 @@
|
||||
|
||||
|
||||
.group '
|
||||
's (_S2 z
|
||||
f) 's (_S2 s
|
||||
p) 's (_S2 s
|
||||
t) 's (_S2 s
|
||||
k) 's (_S2 s
|
||||
se) 's (_S2 I2z
|
||||
s) 's (_S2 I2z
|
||||
ce) 's (_S2 I2z
|
||||
ch) 's (_S2 I2z
|
||||
och) 's (_S2 s
|
||||
sh) 's (_S2 I2z
|
||||
x) 's (_S2 I2z
|
||||
z) 's (_S2 I2z
|
||||
's (_S2m z
|
||||
f) 's (_S2m s
|
||||
p) 's (_S2m s
|
||||
t) 's (_S2m s
|
||||
k) 's (_S2m s
|
||||
se) 's (_S2m I2z
|
||||
s) 's (_S2m I2z
|
||||
ce) 's (_S2m I2z
|
||||
ch) 's (_S2m I2z
|
||||
och) 's (_S2m s
|
||||
sh) 's (_S2m I2z
|
||||
x) 's (_S2m I2z
|
||||
z) 's (_S2m I2z
|
||||
6_) 's (_ I2z
|
||||
16_) 's (_ z
|
||||
're (_S3 @
|
||||
|
||||
@@ -50,8 +50,10 @@ A) ck k
|
||||
_) d (rA d
|
||||
_) d (A d
|
||||
d (A D
|
||||
d (_ D
|
||||
d (cY D
|
||||
d (L03 D
|
||||
d (v D
|
||||
m) d d
|
||||
n) d d
|
||||
l) d d
|
||||
@@ -85,6 +87,7 @@ A) ck k
|
||||
_) gn (A n
|
||||
_) g (A g
|
||||
g (A Q
|
||||
g (_ Q
|
||||
g (cY Q
|
||||
g (L03 Q
|
||||
m) g g
|
||||
|
||||
+2
-2
@@ -698,7 +698,7 @@ _quatrevin) gts (_ z2
|
||||
_) game (X _^_en
|
||||
girl _^_en // girl
|
||||
gh (K _^_en
|
||||
gy (_ _^_en
|
||||
@) gy (_ _^_en
|
||||
|
||||
|
||||
.group h
|
||||
@@ -1497,7 +1497,7 @@ A) wn _^_en
|
||||
y (nn i
|
||||
|
||||
// group y: English section
|
||||
_C) y (_ _^_en
|
||||
//_C) y (_ _^_en
|
||||
AC) y (_ _^_en
|
||||
C) y (e_ _^_en
|
||||
%C) y (_ _^_en
|
||||
|
||||
+15
-4
@@ -1,7 +1,9 @@
|
||||
// Irish Gaeilge dictionary
|
||||
// written by Ronan McGuirk
|
||||
// January 2013
|
||||
// version 2.5
|
||||
// 2013
|
||||
// version 2.6.1
|
||||
// Please send comments and suggestions to espeak.gaeilge@gmail.com
|
||||
|
||||
// This file is UTF8 encoded
|
||||
|
||||
// letters
|
||||
@@ -47,7 +49,7 @@ _cap m'o:r
|
||||
// accent names
|
||||
|
||||
// names of symbols
|
||||
ª_. pO#nk
|
||||
_. pO#nk
|
||||
_, k0m@
|
||||
_; semI
|
||||
_: ko:l0n
|
||||
@@ -152,22 +154,26 @@ amárach @m'A:r@x
|
||||
amuigh @mu1'I
|
||||
amháin @w'A:in
|
||||
am aUm
|
||||
an @n
|
||||
anaithnid '0nah@nIdZ
|
||||
anois @nIS
|
||||
anonn @naUn
|
||||
ann aUn
|
||||
anseo @nS'O
|
||||
anuas a#n'u@s
|
||||
aodh e:
|
||||
aodha e:
|
||||
aon e:@n
|
||||
(ar ais) Er'aS
|
||||
arís @r'i:S
|
||||
as 0s
|
||||
aschurtha '0sxUrh@
|
||||
|
||||
atá @t['A: $u
|
||||
baill bu1'i:l
|
||||
bhaill vu1'i:l
|
||||
beidh bEg
|
||||
bhfuil w'Il
|
||||
bheas v'e:@s
|
||||
bhuel w'El
|
||||
ceithre kEr@
|
||||
cathair k'0h@r
|
||||
@@ -176,6 +182,7 @@ clainne kl'InE
|
||||
chlainne xl'InE
|
||||
chun xUn $u
|
||||
crainn kri:n
|
||||
chrainn xri:n
|
||||
de dE $u+
|
||||
des dEs $u
|
||||
|
||||
@@ -184,6 +191,7 @@ di dI $u+
|
||||
do dO# $u
|
||||
domhnach d[aUn@x
|
||||
domhnaigh d[aUnig
|
||||
dúghorm d['u:Q"Or@m
|
||||
eile 'El@
|
||||
euro ju:ro:
|
||||
faic f@ak
|
||||
@@ -214,6 +222,7 @@ le lE $u
|
||||
(muigheo) mu1'i:||'o:
|
||||
mhuigh vu1'i:
|
||||
(mhaigh eo) vu1'i:||'o:
|
||||
mhama w'0m@
|
||||
maith m'0
|
||||
mhaith w'0
|
||||
mbeadh m;O#X
|
||||
@@ -230,8 +239,10 @@ orthu O#rhu
|
||||
os o:s
|
||||
rabh raU
|
||||
raibh rEv
|
||||
raidió r'adi:o:
|
||||
réamhrá r'e:@vr,a:
|
||||
réidh re:
|
||||
's s
|
||||
samhain saUIn
|
||||
san s@n
|
||||
seo S@_
|
||||
|
||||
+91
-44
@@ -1,8 +1,10 @@
|
||||
|
||||
// translation rules for Irish Gaeilge
|
||||
// This file is UTF-8 encoded
|
||||
// written by Ronan McGuirk January 2013
|
||||
// Version 2.5B
|
||||
// written by Ronan McGuirk 2013
|
||||
// Version 2.6.1
|
||||
// Please send comments and suggestions to espeak.gaeilge@gmail.com
|
||||
|
||||
|
||||
// Conditional rules
|
||||
// ?1 allow eclipsis as 2 separate words
|
||||
@@ -12,7 +14,7 @@
|
||||
.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid
|
||||
.L04 b bh mb // for words like beag
|
||||
.L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a
|
||||
.L06 aidh idh aí á eá eadh adh ad imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h
|
||||
.L06 aidh idh aí á eá eadh adh ad adsa imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h
|
||||
.L07 b c g ch bh gh mb
|
||||
.L08 lc ll nt bhse // for words like cailc
|
||||
.L09 cl cr chr f
|
||||
@@ -21,14 +23,14 @@
|
||||
.L12 á é ó eo ua // when followed by i
|
||||
.L13 oc omb
|
||||
.L14 río dún gnío // followed with mh
|
||||
.L15 c ch f m d dh g gc gh mh // aoi following
|
||||
.L15 c ch f bhf m d dh g gc gh mh // aoi following
|
||||
.L16 b c bh ch gr ghr // for inn word ending
|
||||
.L17 l le li niste nn
|
||||
.L18 n nt nte neann neadh ntear nim nfear nfinn
|
||||
.L18 n nt nte neann neadh ntear nim nfear nfinn nfidh nfidis neamar
|
||||
.L19 na nea ra rea la llea arga // word endings with silent dh
|
||||
.L20 eo eoir eá eabh io iu iú // slender m
|
||||
.L21 ll nn ndán nntán
|
||||
.L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine
|
||||
.L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine eann
|
||||
.L23 ea eo i
|
||||
.L24 b mb bh g gh p ph bp m mh
|
||||
|
||||
@@ -40,14 +42,16 @@
|
||||
abht aU#t[
|
||||
amhr aUr // words like amhras
|
||||
K) amhl aUl
|
||||
abhra aUr@ // words like slabhra
|
||||
abh (C aU // words like slabhra
|
||||
aghaidh aIg
|
||||
t) abhair u:@r
|
||||
th) abhair u:@r
|
||||
t) abhar u:@r
|
||||
th) abhar u:@r
|
||||
_) an (sL01 @n
|
||||
_) an (- 0n // an prefix
|
||||
_) a (nA @
|
||||
_) an (_ @n
|
||||
_) an (- '0n // an prefix
|
||||
é) a @ // words like féach
|
||||
X) a (nn_ aU#
|
||||
X) a (ll_ aU#
|
||||
@@ -77,8 +81,9 @@
|
||||
_) ao e:
|
||||
ae e:
|
||||
amhna (_ aUn@
|
||||
arraing arIng
|
||||
_) ath (@@P3 ,0_
|
||||
|
||||
|
||||
.group á
|
||||
á A:
|
||||
@) á ,A:
|
||||
@@ -89,7 +94,7 @@
|
||||
áinig A:nIg
|
||||
ái 'A:i
|
||||
|
||||
|
||||
|
||||
.group ai
|
||||
ai a#
|
||||
L04) ai (L17 0#
|
||||
@@ -99,6 +104,7 @@
|
||||
m) ai (n 0#
|
||||
c) ai (th 0#
|
||||
ch) ai (th 0#
|
||||
ai (tín 0#
|
||||
ai (d 0#
|
||||
p) ai (l 0#
|
||||
@) ai (L11_ I
|
||||
@@ -112,8 +118,9 @@
|
||||
X) aigh 'aI
|
||||
aigh aI# L04) aill (_ wi:l
|
||||
aing (_ Ing
|
||||
ai (llimh '0 // words like Gaillimh
|
||||
|
||||
|
||||
|
||||
.group b
|
||||
b b // broad
|
||||
L01) b b; // slender
|
||||
@@ -122,7 +129,7 @@
|
||||
bh (_ vv
|
||||
bh (L22 vj // slender
|
||||
L01) bh v
|
||||
?1 _m_) b (@
|
||||
?1 _m_) b (@
|
||||
_) bhf v // urú broad
|
||||
_) bhf (L22 v; // urú slender
|
||||
_) bp b // urú broad
|
||||
@@ -134,8 +141,10 @@
|
||||
a) bh (a U // for example cabhair
|
||||
ear) bha u: // words like Cearbhall
|
||||
bhfaigh v'aI
|
||||
_) beann (@ ba#n
|
||||
_) bheann (@ va#n
|
||||
_) bun (C@P3 b,Un
|
||||
|
||||
|
||||
.group c
|
||||
c k
|
||||
c (L01 k; // slender
|
||||
@@ -143,19 +152,20 @@
|
||||
ch (L01 C;
|
||||
ch (é+ C;
|
||||
ch (ei+ x;
|
||||
?1 _g_) c (@
|
||||
?1 _g_) c (L01
|
||||
?1 _g_) c (@
|
||||
?1 _g_) c (L01
|
||||
_) cabhr k'aUr
|
||||
_) chabhr x'aUr
|
||||
_) ceann (C@P5 k;,aUn
|
||||
_) cheann (C@P6 C;,aUn
|
||||
|
||||
|
||||
.group d
|
||||
d d[ // broad
|
||||
L01) d dZ // slender
|
||||
d (L22 dZ // slender
|
||||
d (L01 d; // slender
|
||||
i) d (i dZ
|
||||
?1 _n_) d (@
|
||||
?1 _n_) d (@
|
||||
dh Q // broad
|
||||
dh (ui Q // broad
|
||||
dh (ao Q // broad
|
||||
@@ -165,6 +175,11 @@
|
||||
?1 _) d (_t d[
|
||||
?1 _) d (_tL01 dZ
|
||||
_) d' (@P2 d
|
||||
|
||||
_) d' d
|
||||
_) d (_'fh d
|
||||
|
||||
d'fh (L01 d
|
||||
i) dh (_ g
|
||||
a) dh (_ X
|
||||
o) dh (_ X
|
||||
@@ -174,8 +189,9 @@
|
||||
dheartháir gr@h'A:r
|
||||
deirfiúr d;r@f'u:r
|
||||
dheirfiúr g;r@f'u:r
|
||||
_) do (Ch@@P2 d[,U_
|
||||
_) dí (@@P2 d,i:
|
||||
|
||||
|
||||
.group e
|
||||
e E#
|
||||
eá A:
|
||||
@@ -184,29 +200,39 @@
|
||||
r) ei (m aI
|
||||
eighea aI
|
||||
eighea aI
|
||||
s) ei (nn aI
|
||||
sh) ei (nn aI
|
||||
eigh aI
|
||||
|
||||
eo o:
|
||||
eogh o:
|
||||
eoi o:
|
||||
eogha o:
|
||||
eoghai o:
|
||||
d) eo (ch O#
|
||||
dh) eo (ch O#
|
||||
_) eo (ch O#
|
||||
s) eo (_ @
|
||||
|
||||
|
||||
|
||||
.group é
|
||||
é 'e:
|
||||
éi 'e:
|
||||
éa 'e:
|
||||
_) éi (rig aI // words like éirigh
|
||||
_h) éi (rí aI
|
||||
_) éi (rí aI // words like éirí
|
||||
_) éireoidh aIro:Ig
|
||||
éacs e:@ks
|
||||
|
||||
|
||||
|
||||
.group ea
|
||||
ea a#
|
||||
eai a#
|
||||
X) ea (L21_ aU
|
||||
ea (ltaine aU
|
||||
g) ea (ll aU
|
||||
l) eamh (n aU
|
||||
dr) ea (m aU
|
||||
X) ea (ch 0
|
||||
_L04) ea (g @
|
||||
_L04) ea (dh_ @
|
||||
@@ -217,7 +243,7 @@
|
||||
eanbhean 'an@v,an
|
||||
eadhb aIb
|
||||
|
||||
|
||||
|
||||
.group f
|
||||
f f // broad
|
||||
f (L22 f; // slender
|
||||
@@ -225,14 +251,16 @@
|
||||
fh (éin_ h
|
||||
fh (L22 ; // slender
|
||||
@) f (L06_ h
|
||||
?1 _bh_) f (@
|
||||
?1 _bh_) f (L22 ;
|
||||
_) fo (C@@P2 f,U
|
||||
_) fogh f'aU
|
||||
?1 _bh_) f (@
|
||||
?1 _bh_) f (L22 ;
|
||||
|
||||
|
||||
|
||||
.group g
|
||||
g g // broad
|
||||
g (L01 g; // slender
|
||||
?1 _n_) g (@
|
||||
?1 _n_) g (@
|
||||
_) gh Q"
|
||||
_) gh (L01 Q"j
|
||||
_) gc g // urú broad
|
||||
@@ -245,19 +273,24 @@
|
||||
gh (n X@
|
||||
gheobh j'o:
|
||||
gabh gaU
|
||||
_) gearr (C@P5 g;,aR
|
||||
_) ghearr (C@P6 Q"j,aR
|
||||
|
||||
|
||||
.group h
|
||||
h h // silent
|
||||
|
||||
|
||||
|
||||
.group i
|
||||
i I
|
||||
_) i I
|
||||
ia i@
|
||||
ia (tha i:
|
||||
io O#
|
||||
io (dá I
|
||||
_) io (nadh u:// words like ionadh
|
||||
s) io (mb I
|
||||
sh) io (mb I
|
||||
|
||||
_pr) io (n u:
|
||||
L16) inn (_ i:n
|
||||
iai i:i
|
||||
@@ -266,12 +299,18 @@
|
||||
L12) i i // non syllabic short i after long vowel
|
||||
iú u:
|
||||
m) i (d_ i: // verb ending
|
||||
_) in (@@P2 ,In_
|
||||
_) ionad (C@@P5 ,Ona#d[
|
||||
|
||||
|
||||
.group í
|
||||
í 'i:
|
||||
íomh 'i:v
|
||||
íochn 'i:xn
|
||||
í (_ i:
|
||||
ín (_ i:n
|
||||
ío i:@
|
||||
|
||||
|
||||
|
||||
.group l
|
||||
l l // broad
|
||||
L01) l l; // slender
|
||||
@@ -280,8 +319,9 @@
|
||||
ll (L23 l;
|
||||
l (g l@
|
||||
l (b l@
|
||||
_) lorg (@@P4 l,Or@g
|
||||
_) lán (C@@P3 l,A:n
|
||||
|
||||
|
||||
.group m
|
||||
m m // broad
|
||||
m (L20 m; //slender
|
||||
@@ -296,8 +336,8 @@
|
||||
_) mh (n v@
|
||||
léir) mheas vas
|
||||
r) m @m // words like gorm
|
||||
_) mear (@@P4 m,ar
|
||||
|
||||
|
||||
.group n
|
||||
n n // broad
|
||||
n (L01 n; // slender
|
||||
@@ -318,8 +358,8 @@
|
||||
n (ch n@
|
||||
c) n @n
|
||||
ch) n @n
|
||||
_) nasc (C@@ n,0sk
|
||||
|
||||
|
||||
.group o
|
||||
o O#
|
||||
_) o 'O
|
||||
@@ -342,12 +382,13 @@
|
||||
odl (a O#l
|
||||
oí i:
|
||||
|
||||
|
||||
|
||||
.group ó
|
||||
ó 'o:
|
||||
ómhai o:@
|
||||
|
||||
|
||||
ói (p@ 'o:
|
||||
|
||||
.group oi
|
||||
oi O
|
||||
_L15) oi (+ @'I
|
||||
@@ -369,15 +410,16 @@
|
||||
_) oi (leá 'I
|
||||
oidh aI
|
||||
oir (_ 'ERR
|
||||
_sc) oi (r O
|
||||
oigh (ea aI
|
||||
|
||||
|
||||
|
||||
.group p
|
||||
p p // broad
|
||||
ph f // broad
|
||||
p (L22 p; // slender
|
||||
ph (L20 f; // slender
|
||||
?1 _b_) p (@
|
||||
?1 _b_) p (@
|
||||
|
||||
|
||||
.group r
|
||||
@@ -388,13 +430,13 @@
|
||||
L12i) r (t_ Z
|
||||
rr R
|
||||
rg r@g
|
||||
rgh rQ"
|
||||
L01) rg R@g // slender
|
||||
r (bh r@
|
||||
ríomh ri:@v
|
||||
s) r (A R
|
||||
_) ramh raU
|
||||
|
||||
|
||||
|
||||
.group s
|
||||
s s // broad
|
||||
L01) s S // slender
|
||||
@@ -402,13 +444,14 @@
|
||||
s (cL01 S
|
||||
s (CCL01 S // slender
|
||||
s (pCé s // broad
|
||||
?1 _t_) s (@
|
||||
?1 _t_) s (@
|
||||
sh h
|
||||
sh (CL01 h
|
||||
sh (L01 h;
|
||||
s (lL01 S
|
||||
_') s (_ s // 's in poems etc
|
||||
_) sain (@P4 s,an
|
||||
|
||||
|
||||
.group t
|
||||
t t[ // broad
|
||||
L01) t c // slender
|
||||
@@ -418,7 +461,7 @@
|
||||
?1 _) t (_L01 c
|
||||
L01C) t tS // slender after consonant
|
||||
t (CL01 tS // slender with following consonant before vowels
|
||||
?1 _d_) t (@
|
||||
?1 _d_) t (@
|
||||
th h
|
||||
th (L01 h;
|
||||
L01C) th h
|
||||
@@ -432,7 +475,7 @@
|
||||
thne (_ h@nE
|
||||
A) th (_ // silent th at word end
|
||||
|
||||
|
||||
|
||||
.group u
|
||||
u U#
|
||||
ua u@
|
||||
@@ -441,11 +484,14 @@
|
||||
uai (d ui
|
||||
uá u:'A:
|
||||
ui I
|
||||
ui (s U
|
||||
ui (sce_ I
|
||||
uinn (_ 'i:n
|
||||
uinti U#'i:ntI
|
||||
_b) uí wi:
|
||||
_bh) uí wi:
|
||||
g) uí wi:
|
||||
gh) uí wi:
|
||||
umh u:
|
||||
L03) ui @I
|
||||
_d) u (l_ O#
|
||||
@@ -453,8 +499,9 @@
|
||||
gh) ui (gh_ @i:
|
||||
uí i:
|
||||
uachai 'ux@
|
||||
_) uimhir (C@P6 ,IvIR
|
||||
|
||||
|
||||
|
||||
.group ú
|
||||
ú u:
|
||||
únmh u:nv
|
||||
|
||||
+67
-24
@@ -49,8 +49,8 @@
|
||||
|
||||
.group ऊ
|
||||
ऊ u
|
||||
ऊं u~ // + anusvara
|
||||
ऊँ u~ // + candrabinbu
|
||||
ऊं (_ u~ // + anusvara
|
||||
ऊँ (_ u~ // + candrabinbu
|
||||
|
||||
.group ऋ
|
||||
ऋ rI
|
||||
@@ -63,14 +63,19 @@
|
||||
|
||||
.group ऎ
|
||||
ऎ e
|
||||
ऎं (_ e~
|
||||
ऎँ (_ e~
|
||||
|
||||
.group ए
|
||||
ए e:
|
||||
एँ e~:
|
||||
एं (_ e~:
|
||||
ा) एँ (_ j
|
||||
|
||||
.group ऐ
|
||||
ऐ E: // ?? [aI] [E:] [&:]
|
||||
ऐं E~
|
||||
ऐँ E~
|
||||
ऐं (_ E~
|
||||
ऐँ (_ E~
|
||||
?2 ऐ aI // ?? [aI] [E:] [&:]
|
||||
|
||||
|
||||
@@ -79,16 +84,21 @@
|
||||
|
||||
.group ऒ
|
||||
ऒ o
|
||||
ऒं (_ o~
|
||||
ऒँ (_ o~
|
||||
|
||||
.group ओ
|
||||
ओ o:
|
||||
ओं o~ // +anusvara
|
||||
ओँ o~ // +candrabindu
|
||||
ओं (_ o~ // +anusvara
|
||||
ओँ (_ o~ // +candrabindu
|
||||
ा) ओं (_ w // +anusvara
|
||||
ा) ओँ (_ w
|
||||
|
||||
|
||||
.group औ
|
||||
औ O: // ?? [aU] [O:]
|
||||
औं O~ // +anusvara
|
||||
औँ O~ // +candrabindu
|
||||
औं (_ O~ // +anusvara
|
||||
औँ (_ O~ // +candrabindu
|
||||
?3 औ aU // ?? [aU] [O:]
|
||||
|
||||
|
||||
@@ -96,6 +106,9 @@
|
||||
|
||||
.group ा
|
||||
ा a:
|
||||
ा (ँ a~
|
||||
ाँ (_ a~
|
||||
ां (_ a~
|
||||
ाव aU
|
||||
|
||||
.group ि
|
||||
@@ -106,14 +119,21 @@
|
||||
.group ी
|
||||
ी i:
|
||||
ी (_ i
|
||||
ी (ँ i~
|
||||
ीँ (_ i~
|
||||
ीं (_ i~
|
||||
|
||||
.group ु
|
||||
ु u
|
||||
ु U
|
||||
ु (ँ u~
|
||||
ुं (_ u~
|
||||
ुँ (_ u~
|
||||
|
||||
.group ू
|
||||
ू u:
|
||||
ूं u~ // or O~ ??
|
||||
ूँ u~
|
||||
ू (ँ u~
|
||||
ूं (_ u~ // or O~ ??
|
||||
ूँ (_ u~
|
||||
|
||||
.group ृ
|
||||
ृ rI
|
||||
@@ -126,14 +146,21 @@
|
||||
|
||||
.group ॆ
|
||||
ॆ e
|
||||
ॆ (ँ e~
|
||||
ॆं (_ e~
|
||||
ॆँ (_ e~
|
||||
|
||||
.group े
|
||||
े e:
|
||||
े (ँ e~
|
||||
ें (_ e~:
|
||||
ेँ (_ e~:
|
||||
|
||||
.group ै
|
||||
ै E: // ?? [aI] [E:] [&:]
|
||||
ैं E~
|
||||
ैँ E~
|
||||
ै (ँ E~
|
||||
ैं (_ E~
|
||||
ैँ (_ E~
|
||||
?2 ै aI // ?? [aI] [E:] [&:]
|
||||
|
||||
.group ॉ
|
||||
@@ -141,16 +168,21 @@
|
||||
|
||||
.group ॊ
|
||||
ॊ o
|
||||
ॊ (ँ o~
|
||||
ॊं (_ o~
|
||||
ॊँ (_ o~
|
||||
|
||||
.group ो
|
||||
ो o:
|
||||
ों o~
|
||||
ोँ o~
|
||||
ो (ँ o~
|
||||
ों (_ o~
|
||||
ोँ (_ o~
|
||||
|
||||
.group ौ
|
||||
ौ O: // [O:] or [aU] ??
|
||||
ौं O~
|
||||
ौँ O~
|
||||
ौ (ँ O~ // [O:] or [aU] ??
|
||||
ौं (_ O~
|
||||
ौँ (_ O~
|
||||
?3 ौ aU // [O:] or [aU] ??
|
||||
|
||||
.group ॢ // vowel sign l
|
||||
@@ -171,6 +203,9 @@
|
||||
क़ qV
|
||||
क़ (B q
|
||||
|
||||
क्ष kSV
|
||||
क्ष (B kS
|
||||
|
||||
.group ख
|
||||
ख k#V
|
||||
ख (B k#
|
||||
@@ -206,15 +241,20 @@
|
||||
ज (B J
|
||||
ज़ zV
|
||||
ज़ (B z
|
||||
|
||||
ज्ञ gjV
|
||||
ज्ञ (B gj
|
||||
|
||||
.group झ
|
||||
झ J#V
|
||||
झ (B J#
|
||||
|
||||
|
||||
.group ञ
|
||||
ञ n^V
|
||||
ञ (B n^
|
||||
्) ञ (_ n^
|
||||
्) ञ (_ n^@
|
||||
|
||||
|
||||
.group ट
|
||||
ट t.V
|
||||
@@ -239,7 +279,7 @@
|
||||
ढ़ (B r.h // nukta
|
||||
|
||||
.group ण
|
||||
ण n.V // (temporary) same as dental [n]
|
||||
ण n.V
|
||||
ण (B n.
|
||||
्) ण (_ n.@
|
||||
|
||||
@@ -297,17 +337,19 @@
|
||||
न्) म (_ m // n +virama
|
||||
|
||||
.group य
|
||||
य j@
|
||||
य jV
|
||||
य (B j
|
||||
C) य (_ Ej // [Ej] not [@j]
|
||||
्) य (_ j@
|
||||
|
||||
.group र
|
||||
र rV
|
||||
र (B r
|
||||
र (_ r
|
||||
्) र (_ r@
|
||||
|
||||
.group ऱ // rra
|
||||
ऱ rV // (temporary) same as [r]
|
||||
ऱ rV // (temporary) same as [r] should this be [r.] or perhaps [z.] ?
|
||||
ऱ (B r
|
||||
्) ऱ (_ r@
|
||||
|
||||
@@ -332,21 +374,22 @@
|
||||
_) व wV
|
||||
_) व (B w
|
||||
_) व (् v // +virma
|
||||
व (_ w
|
||||
|
||||
.group श
|
||||
श SV
|
||||
श (B S
|
||||
|
||||
.group ष
|
||||
ष s.V //?? or retroflex [S]
|
||||
ष (B s. //??
|
||||
ष s.V
|
||||
ष (B s.
|
||||
|
||||
.group स
|
||||
स sV
|
||||
स (B s
|
||||
|
||||
.group ह
|
||||
ह H
|
||||
ह HV
|
||||
ह (B H
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -4390,7 +4390,7 @@ elnökét $unstressend
|
||||
(emelte ki) EmEltE_||ki $unstressend
|
||||
tagságát $unstressend
|
||||
(a szakadékot) A'||sAkAde:kot $unstressend
|
||||
(az országban) Az_'||orsa:gbAn $unstressend
|
||||
(az országban) Az_'||oR2sa:gbAn $unstressend
|
||||
eszközét $unstressend
|
||||
méretű $unstressend
|
||||
ketyeg $unstressend
|
||||
|
||||
+33
-3
@@ -609,7 +609,7 @@ arcüre) g (gyulladás g
|
||||
orszá) g (gyarapod g
|
||||
anya) g (gyár g
|
||||
anya) g (gyűjt g
|
||||
végi) g (gya g
|
||||
végi) g (gy g
|
||||
me) ggy (mag J
|
||||
me) ggy (íz J:
|
||||
bádo) g (gy g
|
||||
@@ -624,7 +624,7 @@ imádsá) g (gyűjt g
|
||||
ro) ggyj (ék J:
|
||||
rá) g (gyűjt g //for example virággyűjtés, virággyűjteményt words
|
||||
_lo) g (gyűjt g //for example loggyűjtemény word
|
||||
dro) g (gyanú g
|
||||
dro) g (gy g
|
||||
le) gg (roteszk g:
|
||||
_agya) g (gy g
|
||||
anya) g (győz g
|
||||
@@ -649,6 +649,9 @@ csilla) g (gy g
|
||||
hazugsá) g (gy g
|
||||
tőze) g (gy g
|
||||
doppin) g (gy g
|
||||
baromsá) g (gy g
|
||||
tehetsé) g (gy g
|
||||
bete) g (gy g
|
||||
|
||||
.group gy
|
||||
gy J
|
||||
@@ -773,6 +776,7 @@ _egyszere) gy (e J:
|
||||
_huszone) gy (e J:
|
||||
száze) gy (edik J:
|
||||
védje) gy (straté J
|
||||
na) gy (sor J
|
||||
|
||||
.group h
|
||||
h h
|
||||
@@ -827,6 +831,7 @@ progressz) í (ve i:
|
||||
sz) í (veré i:
|
||||
sz) í (verő i:
|
||||
sz) í (vevő i:
|
||||
expressz) í (v i:
|
||||
|
||||
.group j
|
||||
j j
|
||||
@@ -1040,6 +1045,7 @@ teljesítmé) ny (j n^
|
||||
nem-lts n'Em||_!'Ellt,e:,ES //without this rule Espeak spokening the nem LTS text with one word, because general in hu_list have a $combine attribute the nem word.
|
||||
|
||||
n'Em _!'Ellt,e:,ES
|
||||
porcelá) n (ny n
|
||||
|
||||
.group o
|
||||
o o
|
||||
@@ -1203,7 +1209,7 @@ juventu) ss s:
|
||||
juventu) ssz s: //a radio station name
|
||||
farka) ssz (em Ss
|
||||
villamo) ssz (ék Ss
|
||||
titko) ssz (olgál Ss
|
||||
titko) ssz (olg Ss
|
||||
karo) ssz (ék Ss
|
||||
hú) ssz (elet Ss
|
||||
vörö) ssz (em Ss
|
||||
@@ -1722,6 +1728,29 @@ visszaélé) ssz Ss
|
||||
esé) ssz (erű Ss
|
||||
webe) ssz Ss
|
||||
beleve) ssz (en s:
|
||||
tengeré) ssz (ürk s:
|
||||
hirdeté) ssz S|s
|
||||
_ki) ssz (éri S|s
|
||||
_ki) ssz (ersz S|s
|
||||
_fűté) ssz S|s
|
||||
_kontaktu) ssz S|s
|
||||
_dió) ssz (ilá S|s
|
||||
_konszenzu) ssz S|s
|
||||
forgá) ssz (er S|s
|
||||
mérkőzé) ssz S|s
|
||||
művelődé) ssz S|s
|
||||
_nyomá) ssz (in S|s
|
||||
_oko) ssz S|s
|
||||
oktatá) ssz (er S|s
|
||||
pszichózi) ssz S|s
|
||||
realitá) ssz S|s
|
||||
szerződé) ssz S|s
|
||||
születé) ssz (ám S|s
|
||||
tölté) ssz (ak S|s
|
||||
utazá) ssz (er S|s
|
||||
zsarolá) ssz (er S|s
|
||||
dőlé) ssz (ab S|s
|
||||
|
||||
|
||||
|
||||
.group sz
|
||||
@@ -1932,6 +1961,7 @@ szögle) t (szob t
|
||||
diva) t (cirk t
|
||||
álla) t (cirk t
|
||||
szen) t (szob t
|
||||
koncer) t (jeg t
|
||||
|
||||
.group tj
|
||||
C) tj c
|
||||
|
||||
+60
-3
@@ -2,6 +2,8 @@
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme words for Armenian
|
||||
|
||||
// ?1 West Armenian
|
||||
|
||||
// names of letters
|
||||
_ա aIb
|
||||
բ ben
|
||||
@@ -20,7 +22,7 @@ _ը '@t#
|
||||
կ ken
|
||||
հ ho
|
||||
ձ dza
|
||||
ղ r"ad
|
||||
ղ r"at
|
||||
ճ ce
|
||||
մ men
|
||||
յ hi
|
||||
@@ -30,15 +32,16 @@ _ը '@t#
|
||||
չ tSa
|
||||
պ pe
|
||||
ջ dZe
|
||||
ռ **a
|
||||
ռ R2a
|
||||
ս se
|
||||
վ vev
|
||||
տ tyn
|
||||
ր re
|
||||
ց tso
|
||||
ց ts#o
|
||||
ւ hyn
|
||||
փ p#yr
|
||||
ք k#e
|
||||
և jev
|
||||
_օ o
|
||||
ֆ fe
|
||||
|
||||
@@ -52,6 +55,24 @@ d di
|
||||
e e
|
||||
f ef
|
||||
|
||||
// symbols
|
||||
$ dolar
|
||||
% տոկոս $text
|
||||
* աստղանիշ $text
|
||||
+ գումարած $text
|
||||
= հավասար $text
|
||||
|
||||
|
||||
_՝ b'ut#
|
||||
_՞ harts#ak'an
|
||||
_՛ S'eSt
|
||||
_։ verdZak'et // U+0589
|
||||
_: verdZak'et
|
||||
_, storak'et
|
||||
_. midZak'et
|
||||
_֊ jent#amn'a // hyphen
|
||||
_՜ bats#akantSut#j'un
|
||||
_՟ pat'iw
|
||||
|
||||
|
||||
// numbers
|
||||
@@ -82,5 +103,41 @@ _dpt _sto**ak'el_
|
||||
|
||||
|
||||
// function words
|
||||
ես $u+ // pronouns
|
||||
դու $u+
|
||||
եք $u+
|
||||
Դուք $u+
|
||||
նա $u+
|
||||
այն $u+
|
||||
մենք $u+
|
||||
նրանք $u+
|
||||
|
||||
դուք $u+
|
||||
ենք $u+
|
||||
են $u+
|
||||
|
||||
այդ $u+
|
||||
այս $u+
|
||||
դա $u+
|
||||
որ $u+
|
||||
էր $u+
|
||||
|
||||
մի $u+
|
||||
է $u+
|
||||
|
||||
հետ $u+ // prepositions
|
||||
|
||||
եվ $u+ // and
|
||||
իսկ $u+ $brk // and, but
|
||||
կամ $u+ // or
|
||||
որը $u+ // which
|
||||
|
||||
կարող $u+ // can
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// exceptions
|
||||
ով ov
|
||||
ովքեր ovk#er
|
||||
|
||||
+11
-9
@@ -2,8 +2,10 @@
|
||||
// (consonants are changed for Armenian-West in the voice file "hy-west")
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
// ?1 West Armenian
|
||||
|
||||
.L01 բ գ թ կ պ տ ք
|
||||
.L02 ու այ իւ իյ ոյ // other vowel sounds
|
||||
.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ // vowel sounds
|
||||
|
||||
// ligature
|
||||
.replace
|
||||
@@ -12,7 +14,7 @@
|
||||
|
||||
.group ա
|
||||
ա a
|
||||
այ aI
|
||||
այ (K aI
|
||||
այ (_ a
|
||||
|
||||
.group բ
|
||||
@@ -41,7 +43,7 @@
|
||||
.group է
|
||||
է e
|
||||
էօ W
|
||||
էյ eI
|
||||
էյ (K eI
|
||||
|
||||
.group ը
|
||||
ը @
|
||||
@@ -57,7 +59,7 @@
|
||||
ի i
|
||||
իւ y
|
||||
իւ (_ iv
|
||||
իյ i@
|
||||
իյ (K i@
|
||||
|
||||
.group լ
|
||||
լ l
|
||||
@@ -97,8 +99,9 @@
|
||||
L02) մ (_ m
|
||||
|
||||
.group յ
|
||||
յ h // ?? [j]
|
||||
_) յ h // ?? [j]
|
||||
_) յ (C h@
|
||||
յ j
|
||||
|
||||
.group ն
|
||||
ն n
|
||||
@@ -133,8 +136,8 @@
|
||||
_) ջ (C dZ@
|
||||
|
||||
.group ռ
|
||||
ռ **
|
||||
_) ռ (C **@
|
||||
ռ R2
|
||||
_) ռ (C R2@
|
||||
|
||||
.group ս
|
||||
ս s
|
||||
@@ -151,6 +154,7 @@
|
||||
|
||||
.group ր
|
||||
ր r
|
||||
L02) ր (L02 *
|
||||
_) ր (C r@
|
||||
C) ր (_ @r
|
||||
L02) ր (_ r
|
||||
@@ -178,7 +182,5 @@
|
||||
ֆ f
|
||||
_) ֆ (C f@
|
||||
|
||||
.group
|
||||
$ dol@
|
||||
|
||||
|
||||
|
||||
+16
-1
@@ -36,6 +36,8 @@ _s Es
|
||||
_t te:
|
||||
|
||||
_cap h'o:fdlEt@r
|
||||
_sub s'8pskrIpt||
|
||||
_sup s'yp@rskrIpt||
|
||||
_?A l'Et@r
|
||||
_?? s'imbo:l
|
||||
|
||||
@@ -112,7 +114,7 @@ _6X z'Est@x
|
||||
_7X z'e:v@nt@x
|
||||
_8X t'Axt@x
|
||||
_9X n'e:g@nt@x
|
||||
_0C h'OndErt
|
||||
_0C h'Ond@rt
|
||||
_0M1 d'WyzEnt
|
||||
_0M2 m'iljun
|
||||
_0M3 m'iljArt
|
||||
@@ -377,6 +379,7 @@ keten $alt
|
||||
loochen $alt
|
||||
oefen $alt
|
||||
open $alt
|
||||
reden $alt
|
||||
regen $alt
|
||||
reken $alt
|
||||
schepen $alt
|
||||
@@ -687,6 +690,7 @@ wapper $alt
|
||||
water $alt
|
||||
wedijver $alt
|
||||
wegwijzer $alt
|
||||
weiger $alt
|
||||
wester $alt
|
||||
wijder $alt
|
||||
wilder $alt
|
||||
@@ -1097,6 +1101,7 @@ gijzel $alt
|
||||
gispel $alt
|
||||
gniffel $alt
|
||||
goochel $alt
|
||||
googel $alt
|
||||
gorgel $alt
|
||||
grabbel $alt
|
||||
grendel $alt
|
||||
@@ -1403,6 +1408,7 @@ vondel $alt
|
||||
accessoire aksEsw'ar@
|
||||
accessoires aksEsw'ar@s
|
||||
actiepunt Aksip8nt
|
||||
actieve Akt'iv@
|
||||
adhesie Ath'e:zi
|
||||
agenda $2
|
||||
aldus Ald'8s
|
||||
@@ -1452,6 +1458,7 @@ december $2
|
||||
desillusie dEsIlyzi
|
||||
dieet $2
|
||||
diesel diz@l
|
||||
diner din'e:
|
||||
//discussie $2
|
||||
divers div'Ers
|
||||
diftongering dIft,ON'e:rIN
|
||||
@@ -1461,6 +1468,7 @@ eensgelijks e:nsQ@l'EIks
|
||||
elfstedentocht ,Elf'ste:d@ntoQt
|
||||
embouchuur A~buS'yr // embouchure
|
||||
enorm $2
|
||||
enquête A~k'Et@ $alt2
|
||||
erosie e:r'o:zi
|
||||
eucharistie $4
|
||||
explosie $2
|
||||
@@ -1484,6 +1492,9 @@ informatie $3
|
||||
invasie $2
|
||||
januari $3
|
||||
kadaster $2
|
||||
leesregel le:sre:Q@l
|
||||
lunch l8nS
|
||||
lunches l8nS@s
|
||||
mangat $alt3
|
||||
materie ma:t'e:ri
|
||||
maatregel ma:tre:Q@l $alt2
|
||||
@@ -1529,6 +1540,7 @@ ongerieflijk $3
|
||||
partijvoorzitters $2
|
||||
periferie pI:rifI:r'i
|
||||
pistache pist'AS
|
||||
privilege privil'e:Z@ $alt2
|
||||
proces $2
|
||||
projectielen $3
|
||||
renaissance rEne:s'A~s@
|
||||
@@ -1546,13 +1558,16 @@ serie sI:ri
|
||||
sms'jes EsEm'Es_j@s
|
||||
spektakel $2
|
||||
tegennatuur $4
|
||||
tralie $1
|
||||
travestie $3
|
||||
verderop $3
|
||||
vergezicht vErQ@zIxt
|
||||
verre vEr@
|
||||
verrekijker vEr@kEIk@r
|
||||
verste vErst@
|
||||
verte vErt@
|
||||
volledig $2
|
||||
voordeel $1
|
||||
vrouwengek $alt3
|
||||
waarschijnlijk $2
|
||||
wanen v#a:n@n
|
||||
|
||||
+64
-12
@@ -20,15 +20,17 @@
|
||||
|
||||
@@C) a (_ =a:
|
||||
_) aan (@P3 'a:n
|
||||
@) aar (_S3 a:r
|
||||
@) aard (_S4 a:rt
|
||||
&) aar (_S3 a:r
|
||||
&) aard (_S4 a:rt
|
||||
aa (rd_ 'a:
|
||||
aa (C_ 'a:
|
||||
z) aa (m_ a:
|
||||
t) a (bleau a:
|
||||
@) abel (_ 'a:b@l
|
||||
@) abele (_ 'a:b@l@
|
||||
@) ace (_ e:s // ?? interface
|
||||
m) ach (in %a:S
|
||||
_) actie (@P5 'Aksi
|
||||
_) af (C@P2 'Af
|
||||
_) affich %AfiS
|
||||
age (_ 'a:Z@
|
||||
@@ -64,11 +66,16 @@
|
||||
baan ba:n
|
||||
&) baar (_S4 =ba:r
|
||||
&) bare (_S4 =ba:r@
|
||||
_) bedrijfs (@P8 b@dr'EIfs
|
||||
_) belasting (@P9 b@l'AstIN
|
||||
_) beleids (@P7 b@l'EIts
|
||||
_) bij (C@P3 b'EI
|
||||
bij (zond b%i
|
||||
_) bijeen bEI'e:n
|
||||
_) binnen (P6 b'In@n
|
||||
_) boek (@P4 b'uk
|
||||
_) boven (P5 b'o:v@n
|
||||
_) braille (@P7 br'Aj@
|
||||
_) brand br'And
|
||||
_) buiten (P6 b'Wyt@n
|
||||
_) buurt (@@P5 b'yrt // buurtbewoner
|
||||
@@ -100,6 +107,7 @@
|
||||
_) be (zem be:
|
||||
_) be (zig be:
|
||||
_) beu bY:
|
||||
_) bezoekers (@P9 b@z'uk@rs
|
||||
|
||||
|
||||
.group c
|
||||
@@ -114,9 +122,12 @@
|
||||
@) ci (ë S
|
||||
ci (o S
|
||||
ck k
|
||||
|
||||
ces (_ s'Es
|
||||
coach ko:tS
|
||||
|
||||
_) computer (@P8 kOmpj'ut@r
|
||||
_) congres kOnQr'Es
|
||||
_) concentratie (@P12 kOnsEntr'a:tsi
|
||||
co (ncert k%O
|
||||
|
||||
|
||||
@@ -239,7 +250,7 @@
|
||||
&) end (_ @nd
|
||||
&) ende (_S1 @
|
||||
&) enden (_S2 @n
|
||||
eden e:d@n
|
||||
eden (_ e:d@n // ??
|
||||
@) ent (_ 'Ent
|
||||
@) ent (e_ 'Ent
|
||||
@) ent (en_ 'Ent
|
||||
@@ -253,6 +264,7 @@
|
||||
@z) es (_S1 s
|
||||
@) es (_S2qd 'Es // double the previous vowel
|
||||
@) es (_$w_alt2S1 s // just remove 's'
|
||||
@) e (s_$p_alt2+S1 s
|
||||
KAC) es (_S2e @s
|
||||
mb) es (_S1 s
|
||||
nd) es (_S1 s
|
||||
@@ -273,6 +285,7 @@
|
||||
@) eur (_ 'Y:r
|
||||
|
||||
&) e (nB@ E2
|
||||
&) e (ntig @
|
||||
_p) e (nibel e:
|
||||
id) e (nt E
|
||||
pres) e (nt E
|
||||
@@ -315,11 +328,14 @@
|
||||
er (ij_ @r
|
||||
tol) er (abel @r
|
||||
mis) er (abel @r
|
||||
hond) er (d_ @r
|
||||
_) erger ErQ@r // ergeren
|
||||
&) era (_ @ra:
|
||||
@) er (aar_ @r
|
||||
&) er (C@ E2r
|
||||
|
||||
.group ê
|
||||
ê E
|
||||
|
||||
.group f
|
||||
f f
|
||||
@@ -334,17 +350,21 @@
|
||||
@) gi (eus Z
|
||||
@) gi (euz Z
|
||||
reli) gi (eu Qij
|
||||
_) goog (el gu:g
|
||||
|
||||
|
||||
.group ge
|
||||
_) ge (@P2 Q@
|
||||
ge (bied Q@
|
||||
_) gebruikers (@P10 Q@br'Wyk@rs
|
||||
_) gee Qe:
|
||||
_) gei QEI
|
||||
gener (aal Q,e:n@r
|
||||
_) gelijk Q@lEIk
|
||||
_) ge (lC QE
|
||||
_) ge (rC QE
|
||||
_) ge (lenL02 Qe:
|
||||
_) ge (tenL02 Qe:
|
||||
_) geu QY:
|
||||
_) ge (ven Qe:
|
||||
_) ge (ver Qe:
|
||||
@@ -365,6 +385,7 @@
|
||||
_) herinn h%ErIn // herinneren
|
||||
_) hersen h'Ers@n
|
||||
&) heid (_S4 hEIt
|
||||
_) honden (@P6 h'Ond@n
|
||||
_) hulp (@@P4 h'8lp
|
||||
|
||||
|
||||
@@ -425,10 +446,11 @@
|
||||
&) ika (_ =ika:
|
||||
&) iko (_ =iko:
|
||||
_) in (C@P2 'In
|
||||
// _) in (gP2 'In
|
||||
_) in (do In
|
||||
ine (_ 'in@
|
||||
ines (_ 'in@s
|
||||
_) inn (@P2 'I // ?? inneren
|
||||
_) inter Int@r
|
||||
io (nage iO
|
||||
io (de_ i'o:
|
||||
iodes (_ i'o:d@s
|
||||
@@ -439,10 +461,12 @@
|
||||
@) isme (_ 'Ism@
|
||||
@) ist (_ 'Ist
|
||||
@) isten (_ 'Ist@n
|
||||
_) inn (@P2 'I // ?? inneren
|
||||
|
||||
.group j
|
||||
j j
|
||||
|
||||
_) jaar (@P4 j'a:r
|
||||
jaar (lijk ja:r
|
||||
jou (rna Zu
|
||||
|
||||
|
||||
@@ -451,6 +475,9 @@ _) inn (@P2 'I // ?? inneren
|
||||
k) k
|
||||
|
||||
_) kale (nde ka:l'E
|
||||
_) kantoor (@P7 kAnt'o:r
|
||||
_) keuze (@P5 k'Y:z@
|
||||
_) kinder (@P6 k'Ind@r
|
||||
kokkerel kOk@r'El
|
||||
_) koning k'o:nIN // in compounds
|
||||
_) koningin ko:nIQ'In
|
||||
@@ -465,10 +492,14 @@ _) inn (@P2 'I // ?? inneren
|
||||
&) lijker (_S6 l@k@r
|
||||
&) lijkere (_S7 l@k@r@
|
||||
&) lijkheid (_S8 l@khEIt
|
||||
&) lijkheden (_S9 l@khe:d@n
|
||||
// &) lijks@ (_ l@ks@
|
||||
&) lijkst (_S6 l@kst
|
||||
&) lijkste (_S7 l@kst@
|
||||
|
||||
&) laan (_S4 la:n
|
||||
_) lange (@P5 laN@
|
||||
_) liefdes (@P7 l'ifd@s
|
||||
@) loog (_ lo:x
|
||||
@) loos (_S4 lo:s
|
||||
@) loze (_S4 lo:z@
|
||||
@@ -482,6 +513,7 @@ _) inn (@P2 'I // ?? inneren
|
||||
|
||||
management ma:nIdZm@nt
|
||||
_) mee (@P3 m'e:
|
||||
_) mee (rC mI:
|
||||
menu (_ m@ny
|
||||
_) mi (cro mi
|
||||
_) mi (s@ m%I
|
||||
@@ -498,6 +530,7 @@ _) inn (@P2 'I // ?? inneren
|
||||
_) mis (loP3 m'Is
|
||||
_) mis (tA m'Is
|
||||
_) misver (@ m'Isf@r
|
||||
_) muziek (@P6 myz'ik
|
||||
|
||||
.group n
|
||||
n n
|
||||
@@ -512,6 +545,7 @@ _) inn (@P2 'I // ?? inneren
|
||||
_) na (C@N n'a:
|
||||
_) na (C% nA
|
||||
_) na (cht nA
|
||||
_) najaars (@P7 n'a:ja:rs
|
||||
_) narci (s n%ArsI
|
||||
_) na (rc n%A
|
||||
_) na (der na:
|
||||
@@ -524,10 +558,11 @@ _) inn (@P2 'I // ?? inneren
|
||||
na (vig n%a:
|
||||
_) na (vr na:
|
||||
_) na (volg@ n%a:
|
||||
_) noord (@P5 no:rd
|
||||
_) nieuws (@P6 n'iws
|
||||
@@) nis (_S3 nIs
|
||||
@@) nisen (_S5 nIs@n
|
||||
_) noord (@P5 no:rd
|
||||
_) notitie (@P7 no:t'itsi
|
||||
|
||||
|
||||
.group o
|
||||
@@ -571,6 +606,8 @@ _) inn (@P2 'I // ?? inneren
|
||||
tr) ou (vail u
|
||||
ouve (rtu uvE
|
||||
_) over (@P4 ,o:v@r
|
||||
_) overigen o:v@r@Q@n
|
||||
_) overheid 'o:v@rhEIt
|
||||
t) ou (r u:
|
||||
|
||||
|
||||
@@ -628,20 +665,25 @@ _) inn (@P2 'I // ?? inneren
|
||||
C) r (A r
|
||||
rr *r
|
||||
|
||||
recherch r@SErS
|
||||
revanch r@vA~nS
|
||||
route rut@ // route(s)
|
||||
|
||||
.group re
|
||||
_) re (geren r@
|
||||
_) re (geer r@
|
||||
_) regel re:Q@l
|
||||
_) re (cent r@
|
||||
_) re (cept r@
|
||||
_) re (ceptief re:
|
||||
_) re (ces r@
|
||||
_) re (clam r@
|
||||
_) register r@Q'Ist@r
|
||||
reme (die r@m'e:
|
||||
_) re (serve_ r@
|
||||
_) re (cord re'
|
||||
_) regering r@Q'I:rIN
|
||||
repre (saill re:pre:
|
||||
recherch r@SErS
|
||||
revanch r@vA~nS
|
||||
|
||||
|
||||
.group s
|
||||
@@ -677,7 +719,10 @@ _) inn (@P2 'I // ?? inneren
|
||||
@) ssi (o S
|
||||
CAr) sie (_ =zi
|
||||
|
||||
_) stads (@P5 st'Ats
|
||||
_) stage (@P5 st'a:Z@
|
||||
_) standaard (@P9 st'Anda:rt
|
||||
_) start (@P5 st'Art
|
||||
@) straat (_S6 stra:t
|
||||
_vre) s (e s
|
||||
|
||||
@@ -767,9 +812,12 @@ _) inn (@P2 'I // ?? inneren
|
||||
_) ver (@P3 v@r
|
||||
_) ver (sie_ vEr
|
||||
_) verder vErd@r
|
||||
_) verge (@P5 vErg@
|
||||
_) verge (le v@rQ'e:
|
||||
_) verkeers (@P8 v@rk'I:rs
|
||||
// _) verge (@P5 vErg@
|
||||
// _) verge (le v@rQ'e:
|
||||
_) voorjaars (@P9 v'O:rja:rs
|
||||
_) voort (@P5 v'O:rt
|
||||
_) vrijwilligers (@P13 vrEIv#'Il@Q@rs
|
||||
|
||||
|
||||
.group w
|
||||
@@ -788,11 +836,15 @@ _) inn (@P2 'I // ?? inneren
|
||||
_) wanstaltig v#Anst'Alt@Q
|
||||
_) wantrouwig v#Antr'VU@Q
|
||||
_) wanvoeglijk v#Anv'uxl@k
|
||||
_) water (@P5 v#'a:t@r
|
||||
_) weers (@P5 v#'I:rs
|
||||
_) weg (@P3 v#'EQ
|
||||
_) weg (en v#e:Q
|
||||
_) weg (e_ v#e:Q // bewegelijk
|
||||
_) werk (@P4 v#'Erk
|
||||
_) west (@P4 v#Est
|
||||
_) wr vr
|
||||
_) woon (@P4 v#'o:n
|
||||
_) wr (@ vr
|
||||
|
||||
|
||||
.group x
|
||||
|
||||
+6
-6
@@ -371,12 +371,12 @@
|
||||
ੱ) ਯ (_ j:
|
||||
|
||||
.group ਰ
|
||||
ਰ RV
|
||||
ਰ (B R
|
||||
@) ਰ (_ R
|
||||
ੱ) ਰ R:V
|
||||
ੱ) ਰ (B R:
|
||||
ੱ) ਰ (_ R:
|
||||
ਰ rV
|
||||
ਰ (B r
|
||||
@) ਰ (_ r
|
||||
ੱ) ਰ r:V
|
||||
ੱ) ਰ (B r:
|
||||
ੱ) ਰ (_ r:
|
||||
|
||||
.group ਲ
|
||||
ਲ lV
|
||||
|
||||
+2
-2
@@ -121,8 +121,8 @@ _w vu
|
||||
x iks
|
||||
y 'igREk
|
||||
_z zEt
|
||||
ż Z;Et
|
||||
ź ZEt
|
||||
ż ZEt
|
||||
ź Z;Et
|
||||
|
||||
ä $accent
|
||||
ö $accent
|
||||
|
||||
+205
-107
@@ -23,8 +23,8 @@
|
||||
|
||||
// accent names
|
||||
_lig ligad'u*&
|
||||
_acu &g'udU
|
||||
_ac2 &g'udUd'uplU
|
||||
_acu ag'udU
|
||||
_ac2 ag'udUd'uplU
|
||||
_brv bR'Evi
|
||||
_ced sedZ'ilj&
|
||||
?1 _ced syd'il^&
|
||||
@@ -69,6 +69,8 @@ v ve // not Roman numbers
|
||||
x Sis#
|
||||
|
||||
_cap maI'uskulU
|
||||
_sub ||subskR'itU
|
||||
_sup ||sob*eskR'itU
|
||||
_?A l'etR&_
|
||||
_?? s'imbolU_
|
||||
_#32 esp'asU
|
||||
@@ -81,9 +83,10 @@ _#9 tab
|
||||
+ maIs# $max3
|
||||
% pors'eINtU $max3
|
||||
& _'e_
|
||||
@ &x'ob&
|
||||
@ ax'ob&
|
||||
¤ 'eU*U
|
||||
€ 'eU*U
|
||||
£ l'ibR&
|
||||
§ p&*'agRafU
|
||||
|
||||
|
||||
@@ -115,8 +118,9 @@ _[ ,abRikowS'etSi
|
||||
_\ b,ax&,iNvertS'id&
|
||||
_] f,ES&kowS'etSi
|
||||
_^ s,irku~Nfl'Eksu
|
||||
_´ as'eINtu,ag'udU
|
||||
__ s,ublin^'adu
|
||||
_` gR'avi
|
||||
_` gR'avi
|
||||
_{ ,abRiS'avi
|
||||
?1 _| b,ax&v,ertSik'al
|
||||
?2 _| b,ax&v,ertSik'aU
|
||||
@@ -127,8 +131,10 @@ _¡ ,eskl&mas,&U~,iNvertS'id&
|
||||
_¿ ,iNtex,ogas,&U~,iNvertS'id&
|
||||
|
||||
_" 'abRi;'asp&||d'upl&s#
|
||||
_º Oz'in^U
|
||||
_ª az'in^U
|
||||
?1 º O*@-din'almaskul'i~nU
|
||||
?2 º o*@-dZin'aUmaskul'i~nU
|
||||
?1 ª O*@-din'alfemin'i~nU
|
||||
?2 ª o*@-dZin'aUfemin'i~nU
|
||||
° gR'aU
|
||||
|
||||
|
||||
@@ -182,12 +188,12 @@ _8X oIt'eINt&
|
||||
?2 _9X nov'eINt&
|
||||
_1C0 s'eIN
|
||||
?1_0C s'eINtus#
|
||||
?2_0C s'eINtUs#
|
||||
?2_0C s'eINtUz
|
||||
_1C s'eINtu
|
||||
?1_2C duz'eINtus#
|
||||
?2_2C duz'eINtUz
|
||||
?1_3C tryz'eNtus#
|
||||
?2_3C tRez'eNtUz
|
||||
?1_3C tryz'eINtus#
|
||||
?2_3C tRez'eINtUz
|
||||
?1_5C kin^'eINtus#
|
||||
?2_5C kin^'eINtUz
|
||||
?1_0M1 m'il_
|
||||
@@ -293,13 +299,16 @@ unts $abbrev
|
||||
usb $abbrev
|
||||
|
||||
|
||||
dr $dot
|
||||
dra $dot
|
||||
mr $dot
|
||||
mrs $dot
|
||||
prof pr'Of $dot
|
||||
dr dowtor $dot
|
||||
dra dowt'o*& $dot
|
||||
mr m'ister $dot
|
||||
mrs m'irsys $dot
|
||||
prof pR'Of $dot
|
||||
profº pR,ofes'or
|
||||
profª pR,ofes'o*&
|
||||
engº eInZen^'eI*U
|
||||
engª eInZen^'eI*&
|
||||
nº n'u~me*U
|
||||
sr $dot
|
||||
?1 sra ,Es;'Errj'a $dot
|
||||
?2 sra $dot
|
||||
@@ -333,7 +342,7 @@ me $u $verbf // reflexive
|
||||
te $u $verbf
|
||||
nos $u $nounf
|
||||
la $u
|
||||
lo $u
|
||||
lo lU $u
|
||||
las $u
|
||||
los $u
|
||||
se $u
|
||||
@@ -348,11 +357,10 @@ essa 'Es& $u+ $noun
|
||||
desse $u+ $nounf
|
||||
desta $nounf
|
||||
nesse n'esy $u+ $nounf
|
||||
aquele &k'ely $u+ $nounf // that
|
||||
aquela $u+ $nounf
|
||||
daquele d&k'ely $u+ $nounf
|
||||
aquele $alt2 $nounf
|
||||
daquela $u+ $nounf
|
||||
|
||||
daquele $alt2 $nounf
|
||||
que $u // pronunciation is in pt_rules
|
||||
|
||||
// possessive adjectives
|
||||
@@ -374,7 +382,7 @@ nele nely $u1+
|
||||
|
||||
// prepositions
|
||||
de $u $nounf // of,from
|
||||
do $u $nounf
|
||||
do du $u $nounf
|
||||
da $u $nounf
|
||||
dos $u $nounf
|
||||
das $u $nounf
|
||||
@@ -384,7 +392,7 @@ duns $u $nounf
|
||||
dumas $u $nounf
|
||||
|
||||
em $u $noun // in,on,at
|
||||
no nu $u $nounf
|
||||
no nU $u $nounf
|
||||
na $u $nounf
|
||||
num $u $nounf
|
||||
numa $u $nounf
|
||||
@@ -402,7 +410,7 @@ aos $u $nounf
|
||||
às ,a:s $nounf
|
||||
|
||||
para $u // for,to
|
||||
pro $u $nounf
|
||||
pro pRU $u $nounf
|
||||
pra $u $nounf
|
||||
pros $u $nounf
|
||||
pras $u $nounf
|
||||
@@ -426,7 +434,7 @@ com $u // with
|
||||
// conjunctions
|
||||
?1 e i $u // and
|
||||
?2 e i $u // and
|
||||
se $u+ $verbf // if
|
||||
se $u+ // if
|
||||
|
||||
|
||||
?2 mas $u // but
|
||||
@@ -592,10 +600,10 @@ pôde $u+
|
||||
pudemos $u+
|
||||
puderam $u+
|
||||
|
||||
poderei $u3+
|
||||
poderá $u3+
|
||||
poderemos $u+
|
||||
poderão $u+
|
||||
poderei p%ode*eI $u+
|
||||
poderá p%ode*a $u+
|
||||
poderemos p%ode*'emUs $u+
|
||||
podeão p%ode*&U~ $u+
|
||||
|
||||
|
||||
// ir - to go (used to make future tense)
|
||||
@@ -636,8 +644,10 @@ jamais $u+ $verbf
|
||||
abacaxi abakaSy
|
||||
abordo $alt
|
||||
aborto $alt $verb
|
||||
absorta $alt2
|
||||
acerto $alt2 $noun
|
||||
acertos $alt2
|
||||
acocho $alt2 $noun
|
||||
acordo $alt $verb
|
||||
acervo $alt2
|
||||
adepto $alt
|
||||
@@ -645,14 +655,19 @@ adore $alt
|
||||
adorno $alt $verb
|
||||
aeroporto $alt2
|
||||
aeroportos $alt
|
||||
albatrozes $alt
|
||||
alcateia $alt
|
||||
alcova $alt2
|
||||
alegro $alt2 $noun
|
||||
alferes $alt
|
||||
algozes $alt
|
||||
almoço $alt $verb
|
||||
ameba $alt
|
||||
amores $alt2
|
||||
amorno $alt
|
||||
amuleto $alt2
|
||||
ampere $alt
|
||||
ampola $alt2
|
||||
ampulheta $alt2
|
||||
andorra $alt2
|
||||
antonieta $alt2
|
||||
apego $alt2 $noun
|
||||
apelo $alt2 $noun
|
||||
@@ -662,25 +677,31 @@ apneia $alt
|
||||
apoio $alt $verb
|
||||
arredores $alt
|
||||
arremesso $alt2 $noun
|
||||
arrocho $alt2 $noun
|
||||
arroto $alt2 $noun
|
||||
arroz $alt2
|
||||
assembleia $alt
|
||||
assopro $alt2 $noun
|
||||
ateia $alt
|
||||
aterro $alt2
|
||||
aterro $alt $verb
|
||||
atmosfera $alt
|
||||
atrozes $alt
|
||||
autora $alt2
|
||||
avesso $alt2
|
||||
axé aSE
|
||||
azeda $alt $verb
|
||||
azedo $alt $verb
|
||||
bairro b'aIxU
|
||||
baqueta $alt2
|
||||
banqueta $alt2
|
||||
banquete $alt2
|
||||
bastonete $alt2
|
||||
beco $alt2
|
||||
besta $alt2
|
||||
bilhete $alt2
|
||||
bissulfeto $alt2
|
||||
boca $alt2
|
||||
boceta $alt2
|
||||
bochecha $alt2
|
||||
bofe $alt
|
||||
bojo $alt2
|
||||
boleia $alt
|
||||
bolero $alt
|
||||
@@ -691,36 +712,47 @@ bordo $alt
|
||||
borra $alt2 $noun
|
||||
bosque $alt
|
||||
boto $alt2 $noun
|
||||
boxe $alt
|
||||
boxe $alt
|
||||
brejo $alt
|
||||
bromelha $alt
|
||||
broto $alt2 $noun
|
||||
cabelo $alt2
|
||||
cabresto $alt2
|
||||
cacete $alt2
|
||||
cachorra $alt2
|
||||
caderneta $alt2
|
||||
cadete $alt2
|
||||
cãibra k'&~IbR&
|
||||
caibro k'aIbRU
|
||||
caixeta $alt2
|
||||
camelha $alt
|
||||
camelo $alt2
|
||||
caminhonete $alt
|
||||
camiseta $alt2
|
||||
canaleta $alt2
|
||||
canhoto $alt2
|
||||
cantora $alt2
|
||||
capacete $alt2
|
||||
caractere $alt
|
||||
carbureto $alt2
|
||||
careta $alt2
|
||||
carrapeta $alt2
|
||||
carreta $alt2
|
||||
carroça $alt
|
||||
casebre $alt
|
||||
cateto $alt2
|
||||
catorze $alt2
|
||||
cebola $alt2
|
||||
cedro $alt
|
||||
cefaleia $alt
|
||||
cerebelo $alt2
|
||||
centopeia $alt
|
||||
cerca $alt
|
||||
cerca $alt2 $noun
|
||||
cerco $alt $verb
|
||||
chamego $alt2
|
||||
cerda $alt
|
||||
cetro $alt
|
||||
chamego $alt2 $verb
|
||||
chaveta $alt2
|
||||
chefe $alt
|
||||
checam $alt
|
||||
choro $alt2 $noun
|
||||
@@ -728,10 +760,11 @@ chovesse $alt2
|
||||
chupeta $alt2
|
||||
clamores $alt2
|
||||
clero $alt
|
||||
cloreto $alt2
|
||||
coche $alt2
|
||||
coco $alt2
|
||||
cofre $alt
|
||||
coice $alt2
|
||||
colabore $alt
|
||||
colete $alt2
|
||||
colchete $alt2
|
||||
colher $alt $noun
|
||||
@@ -746,6 +779,7 @@ concordo $alt
|
||||
conforto $alt $verb
|
||||
console $alt2 $noun
|
||||
consolo $alt2 $noun
|
||||
constroem $alt
|
||||
controle $alt2 $noun
|
||||
controles $alt2
|
||||
controles $alt $verb
|
||||
@@ -754,24 +788,32 @@ coreia $alt
|
||||
coreto $alt2
|
||||
corneta $alt2
|
||||
cornos $alt
|
||||
coro $alt2
|
||||
coro $alt $verb
|
||||
corpos $alt
|
||||
corto $alt
|
||||
corveta $alt2
|
||||
corvos $alt
|
||||
costeleta $alt2
|
||||
coto $alt2
|
||||
cotovelo $alt2
|
||||
cratera $alt
|
||||
crede $alt2
|
||||
credo $alt
|
||||
crepe $alt
|
||||
decore $alt
|
||||
decoro $alt2 $noun
|
||||
degelo $alt2
|
||||
desapego $alt2 $noun
|
||||
descordo $alt
|
||||
desemprego $alt2
|
||||
desemprego $alt $verb
|
||||
desespero $alt2 $noun
|
||||
desespero $alt2
|
||||
desespero $alt $verb
|
||||
desfecho $alt2
|
||||
desmantelo $alt2 $noun
|
||||
despojo $alt2 $noun
|
||||
despojos $alt
|
||||
desporto $alt2
|
||||
desportos $alt
|
||||
desprezo $alt2 $noun
|
||||
@@ -786,10 +828,13 @@ dez $alt
|
||||
diarreia $alt
|
||||
diego $alt2
|
||||
discordo $alt
|
||||
dobro $alt2 $noun
|
||||
dissabores $alt2
|
||||
dispneia dZIspyn'EI&
|
||||
dobro $alt2
|
||||
dobro $alt $verb
|
||||
doce $alt2
|
||||
doutora $alt2
|
||||
droga $alt
|
||||
doze $alt2
|
||||
dueto $alt2
|
||||
elixir eliSir
|
||||
emprego $alt2 $noun
|
||||
@@ -801,9 +846,9 @@ engordo $alt
|
||||
enredo $alt $verb
|
||||
enrosco $alt $verb
|
||||
enterro $alt2 $noun
|
||||
enumerem $alt
|
||||
entorto $alt
|
||||
entroso $alt
|
||||
envelope $alt
|
||||
envolto $alt2
|
||||
enxaqueca $alt2
|
||||
enxerto $alt2 $noun
|
||||
epopeia $alt
|
||||
@@ -812,10 +857,10 @@ erro $alt2
|
||||
erro $alt $verb
|
||||
esboço $alt $verb
|
||||
escopeta $alt2
|
||||
escova $alt2 $noun
|
||||
escovas $alt2
|
||||
escore $alt
|
||||
escova $alt2
|
||||
escova $alt $verb
|
||||
escovo $alt
|
||||
escroto $alt2
|
||||
esforço $alt $verb
|
||||
esforços $alt
|
||||
esgoto $alt2
|
||||
@@ -827,27 +872,30 @@ espoleta $alt2
|
||||
esposa $alt2
|
||||
esqueleto $alt2
|
||||
estilete $alt2
|
||||
estrela $alt2
|
||||
estrofe $alt
|
||||
estorno $alt $verb
|
||||
estorvo $alt $verb
|
||||
estrela $alt2
|
||||
estrofe $alt
|
||||
estrogonofe $alt
|
||||
eta $alt2
|
||||
etiqueta $alt2
|
||||
europa $alt
|
||||
europeia $alt
|
||||
exagero $alt $verb
|
||||
explore $alt
|
||||
faceta $alt2
|
||||
fantoche $alt
|
||||
falangeta $alt2
|
||||
farofa $alt
|
||||
farolete $alt2
|
||||
farolete $alt2
|
||||
febre $alt
|
||||
fera $alt
|
||||
feitora $alt2
|
||||
ferozes $alt
|
||||
fezes $alt
|
||||
filete $alt2
|
||||
?1 fixe fiSy
|
||||
flerte $alt2 $noun
|
||||
foda $alt2 $verb
|
||||
fodo $alt2
|
||||
fogos $alt
|
||||
foguete $alt2
|
||||
foice $alt2
|
||||
@@ -855,56 +903,72 @@ folheto $alt2
|
||||
fora $alt
|
||||
fora $alt2 $verb
|
||||
forca $alt2
|
||||
força $alt2 $noun
|
||||
forças $alt2
|
||||
força $alt2
|
||||
força $alt $verb
|
||||
forço $alt
|
||||
formos $alt2
|
||||
forro $alt $verb
|
||||
frevo $alt2
|
||||
fulgores $alt2
|
||||
galera $alt
|
||||
galeto $alt2
|
||||
galhofa $alt
|
||||
galileia $alt
|
||||
gameta $alt2
|
||||
garçonete $alt2
|
||||
gangorra $alt2
|
||||
geleia $alt
|
||||
gelo $alt2
|
||||
gelo $alt $verb
|
||||
genebra $alt
|
||||
gesso $alt2
|
||||
golpe $alt
|
||||
gloso $alt
|
||||
gonorreia $alt
|
||||
gol gow
|
||||
golpe $alt
|
||||
gorda $alt2
|
||||
gorjeta $alt2
|
||||
gosto $alt $verb
|
||||
gota $alt2
|
||||
governo $alt2 $noun
|
||||
governo $alt2
|
||||
governo $alt $verb
|
||||
gozo $alt2 $noun
|
||||
graveto $alt2
|
||||
grelha $alt
|
||||
groselha $alt
|
||||
grosso $alt2
|
||||
grozo $alt $verb
|
||||
groso $alt
|
||||
gueto $alt2
|
||||
hemorroida $alt
|
||||
hoje $alt2
|
||||
horrores $alt2
|
||||
humores $alt2
|
||||
ideia $alt
|
||||
imberbe $alt
|
||||
interesse $alt2
|
||||
interesse $alt $verb
|
||||
jogo $alt2 $noun
|
||||
iodo $alt2
|
||||
ioga $alt
|
||||
jereba $alt
|
||||
jogo $alt2
|
||||
jogo $alt $verb
|
||||
jogos $alt
|
||||
joguete $alt2
|
||||
lagosta $alt2
|
||||
lambreta $alt2
|
||||
lanchonete $alt
|
||||
lebre $alt
|
||||
leitora $alt2
|
||||
lembrete $alt2
|
||||
lepra $alt
|
||||
leste $alt2 $verb
|
||||
?2 lhe l^y
|
||||
lingueta $alt2
|
||||
lisboeta $alt2
|
||||
lodo $alt2
|
||||
logro $alt
|
||||
lopes $alt
|
||||
macete $alt2
|
||||
maior $alt
|
||||
maleta $alt2
|
||||
marionete $alt
|
||||
maniçoba $alt
|
||||
marieta $alt2
|
||||
marreta $alt2
|
||||
megera $alt
|
||||
melhor $alt
|
||||
@@ -914,16 +978,13 @@ merda $alt
|
||||
meta $alt $noun
|
||||
meteoro $alt
|
||||
metro $alt
|
||||
mexa m'eS&
|
||||
mexi meS'i
|
||||
mexo m'eSU
|
||||
minueto $alt2
|
||||
miolo $alt2
|
||||
miolos $alt
|
||||
modelo $alt2
|
||||
modelo $alt $verb
|
||||
moeda $alt
|
||||
moem $alt
|
||||
moem $alt
|
||||
mofo $alt $verb
|
||||
molho $alt2 $noun
|
||||
monera $alt
|
||||
@@ -933,10 +994,7 @@ moreia $alt
|
||||
mortos $alt
|
||||
motora $alt2
|
||||
mui mwi
|
||||
muito mw'iNtU // -s is included as a suffix
|
||||
muita mw'iNt&
|
||||
mulher $alt
|
||||
mulheres $alt
|
||||
muleta $alt2
|
||||
mureta $alt2
|
||||
mutreta $alt2
|
||||
namoro $alt2 $noun
|
||||
@@ -946,11 +1004,10 @@ nervo $alt2
|
||||
nojo $alt2
|
||||
novelo $alt2
|
||||
novos $alt
|
||||
obstetra $alt
|
||||
odisseia $alt
|
||||
onu $1
|
||||
olho $alt2 $noun
|
||||
olhos $alt
|
||||
olho $alt2 $noun
|
||||
olhos $alt
|
||||
onomatopeia $alt
|
||||
opereta $alt2
|
||||
ordens $alt
|
||||
@@ -961,29 +1018,39 @@ ovelha $alt2
|
||||
ovos $alt
|
||||
pachorra $alt2
|
||||
paexa paeSa
|
||||
paella pa'el^&
|
||||
palacete $alt2
|
||||
paleta $alt2
|
||||
palheta $alt2
|
||||
panfleto $alt2
|
||||
pangeia $alt
|
||||
pantera $alt
|
||||
papoco $alt2 $noun
|
||||
parede $alt2
|
||||
pastora $alt2
|
||||
patinete $alt
|
||||
peba $alt
|
||||
pedra $alt
|
||||
pela $alt $verb
|
||||
pelo $alt2
|
||||
pelo $alt $verb
|
||||
pereba $alt
|
||||
peroba $alt
|
||||
peseta $alt2
|
||||
peso $alt $verb
|
||||
piloto $alt2 $noun
|
||||
pintora $alt2
|
||||
pior $alt
|
||||
pipoco $alt2 $noun
|
||||
pirueta $alt2
|
||||
plaqueta $alt2
|
||||
plateia $alt
|
||||
plebeia $alt
|
||||
polca $alt
|
||||
pompeia $alt
|
||||
porcos $alt
|
||||
porque $alt2
|
||||
porra $alt2
|
||||
porreta $alt2
|
||||
porrete $alt2
|
||||
porto $alt2
|
||||
portos $alt
|
||||
@@ -991,13 +1058,19 @@ pose $alt2
|
||||
povos $alt
|
||||
poxa p'oS&
|
||||
primavera $alt
|
||||
primores $alt2
|
||||
proso $alt
|
||||
prosopopeia $alt
|
||||
proveta $alt2
|
||||
quarteto $alt2
|
||||
queda $alt
|
||||
quede $alt2
|
||||
quitinete $alt
|
||||
quinteto $alt2
|
||||
ramalhete $alt2
|
||||
raposa $alt2
|
||||
recomeço $alt $verb
|
||||
reconstroem $alt
|
||||
recordo $alt
|
||||
recorto $alt
|
||||
rede $alt2
|
||||
@@ -1006,23 +1079,29 @@ reembolso $alt $verb
|
||||
reforço $alt $verb
|
||||
reforços $alt
|
||||
refresco $alt $verb
|
||||
rego $alt2 $noun
|
||||
reitora $alt2
|
||||
rejo $alt
|
||||
relevo $alt2 $noun
|
||||
remoem $alt
|
||||
remorso $alt
|
||||
renovo $alt $verb
|
||||
retorno $alt $verb
|
||||
reuva x'EUv&
|
||||
reuva x'EUv&
|
||||
rigores $alt2
|
||||
rixa x'iS&
|
||||
rocha $alt
|
||||
risoto $alt2
|
||||
rock $alt
|
||||
roem $alt
|
||||
roem $alt
|
||||
rola $alt2 $noun
|
||||
roleta $alt2
|
||||
rolete $alt2
|
||||
rolo $alt2 $noun
|
||||
rota $alt2
|
||||
rota $alt $noun
|
||||
rubores $alt2
|
||||
rumores $alt2
|
||||
sabonete $alt2
|
||||
sabores $alt2
|
||||
saibro s'aIbRU
|
||||
saleta $alt2
|
||||
sarjeta $alt2
|
||||
seborreia $alt
|
||||
@@ -1047,27 +1126,32 @@ sossego $alt2 $noun
|
||||
suborno $alt $verb
|
||||
sufoco $alt2 $noun
|
||||
sufocos $alt2
|
||||
sulfeto $alt2
|
||||
sulfureto $alt2
|
||||
super s'Uper
|
||||
suporto $alt
|
||||
suor swOr
|
||||
sutiã sutSi'&~N
|
||||
tapete $alt2
|
||||
temores $alt2
|
||||
tempero $alt2 $noun
|
||||
tenores $alt2
|
||||
tenores $alt2
|
||||
terrores $alt2
|
||||
teta $alt2
|
||||
tetra $alt
|
||||
tocha $alt
|
||||
toga $alt
|
||||
topo $alt $verb
|
||||
topo $alt2 $noun
|
||||
torno $alt $verb
|
||||
tornozelo $alt2
|
||||
torre $alt2 $noun
|
||||
torres $alt2
|
||||
torro $alt
|
||||
tortos $alt
|
||||
toso $alt
|
||||
transtorno $alt $verb
|
||||
traqueia $alt
|
||||
travesso $alt2
|
||||
tremores $alt2
|
||||
treta $alt2
|
||||
trevo $alt2
|
||||
troco $alt2 $noun
|
||||
tropa $alt
|
||||
@@ -1076,23 +1160,26 @@ trombeta $alt2
|
||||
tumores $alt2
|
||||
valeta $alt2
|
||||
vanessa $alt2
|
||||
velozes $alt
|
||||
vareta $alt2
|
||||
vera $alt
|
||||
verbete $alt2
|
||||
violeta $alt2
|
||||
violoncelo $alt
|
||||
voga $alt
|
||||
vozes $alt
|
||||
xarope $alt
|
||||
xereta $alt2
|
||||
zelo $alt2 $noun
|
||||
zorra $alt2
|
||||
|
||||
|
||||
// foreign words
|
||||
?1 alt 'alt
|
||||
?2 agosto &g'ostU
|
||||
?2 agosto ag'ostU
|
||||
?1 back b'Ek
|
||||
?2 backup bEk'&p
|
||||
?2 backups bEk'&ps
|
||||
beatle b'itow
|
||||
beatles b'itows
|
||||
blind bl'aind
|
||||
book buk
|
||||
?1 braille b:r'aily
|
||||
@@ -1108,11 +1195,12 @@ book buk
|
||||
?1 dj d,i:dZ'eI
|
||||
?1 down d'a,wn
|
||||
?1 download d'a,wnl'oud
|
||||
?2 download daUNl'owd
|
||||
?2 download daUNl'owd
|
||||
?2 downloads daUNl'owds
|
||||
?3 download dau~Nl'owd
|
||||
drive dR'aivy
|
||||
driver dR'aiver
|
||||
drivers dR'aiveRs
|
||||
drive dR'aIv
|
||||
driver dR'aIver
|
||||
drivers dR'aIveRs
|
||||
?1 end 'end
|
||||
?2 esc 'Esk
|
||||
?3 esc 'EskI
|
||||
@@ -1139,7 +1227,7 @@ drivers dR'aiveRs
|
||||
laptop lEptOp
|
||||
?1 line l'ain
|
||||
layout l'eI,aUt
|
||||
?2 logo l'OgU
|
||||
?2 login logiN
|
||||
?1 lock l'Ok
|
||||
mail m'eIl
|
||||
mails m'eIls
|
||||
@@ -1158,22 +1246,28 @@ python p'aIT&~N
|
||||
?1 readme r'i:dmi:
|
||||
?1 sapi s,ap'i
|
||||
?1 scanner sk'En&r
|
||||
sky sk'ay
|
||||
shake S'eIk
|
||||
?1 shift S'ift
|
||||
?1 scroll sk:r'ol
|
||||
?1 site s'aIt
|
||||
?2 site s'aItSi
|
||||
?2 shampoo S&mpu
|
||||
?1 software s'Oft,w'Er-
|
||||
símbolo s'imbolU
|
||||
?4 símbolo s'iNbolU
|
||||
?2 software s'Oftwe@-
|
||||
?1 space sp'eIsy
|
||||
?2 space sp'eIs
|
||||
?1 sporting sp'Ort,ing
|
||||
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
|
||||
update &pd'eIt
|
||||
upgrade &pgR'eId
|
||||
upload &pl'oud
|
||||
?2 web w'Eb
|
||||
?1 yahoo 'i,ah'u
|
||||
?2 yahoo iah'u
|
||||
@@ -1181,13 +1275,14 @@ símbolo s'imbolU
|
||||
|
||||
|
||||
// common person names
|
||||
alan 'al@n
|
||||
alan 'al@N
|
||||
louis _^_FR
|
||||
|
||||
|
||||
// foreign product names
|
||||
?1 access 'aks,Es
|
||||
?1 adobe &d'Oby
|
||||
android &NdR'Oid
|
||||
apple 'Epow
|
||||
chrome kR'owmi
|
||||
debian d'Ebj&~N
|
||||
@@ -1195,22 +1290,27 @@ chrome kR'owmi
|
||||
?1 express ,Ekspr'Es
|
||||
espeak isp'i:k
|
||||
?1 espeakedit isp'i:kEd,it
|
||||
facebook feisybuk
|
||||
facebook feIsybuk
|
||||
?1 fedora _^_EN
|
||||
firefox f'ai@fOks
|
||||
?1 front fr'ont
|
||||
?1 jaws dZ'au:z
|
||||
?1 linux l,in'uks
|
||||
?2 linux l'inUks
|
||||
?1 live l'aiv
|
||||
live l'aiv
|
||||
?1 maker m'eIk&r-
|
||||
mac mEk
|
||||
?1 media m'Ed,i&
|
||||
?1 messenger m'Es&ndZ&r-
|
||||
?1 microsoft m,ik:r'os,Oft
|
||||
?2 microsoft m'aIkRows'Oft
|
||||
?1 movie m'uvi
|
||||
?1 nero n'Eru
|
||||
/1 office 'Of,is
|
||||
?2 netbook nEtbUk
|
||||
?2 netbooks nEtbUks
|
||||
?2 notebook nowtbUk
|
||||
?2 notebooks nowtbUks
|
||||
?1 office 'Of,is
|
||||
?2 office 'Ofsy
|
||||
openoffice 'opeIN|'Ofis
|
||||
?1 outlook 'autl'uk
|
||||
@@ -1245,15 +1345,16 @@ twitter tw'iter
|
||||
?2 window w'iNdow
|
||||
|
||||
|
||||
// historical/famous person names
|
||||
// historical/famous person s
|
||||
babbage b'abidZ
|
||||
bernhard bern'ard
|
||||
darwin d'Arwin
|
||||
dijkstra d'ijkstrA:
|
||||
einstein _!'aInSt,aIn
|
||||
?2 einstein _!'aInst,aIn
|
||||
feynman f'ainm@n
|
||||
freud fr'OId
|
||||
friedrich fr'i:driS
|
||||
freud fR'OId
|
||||
friedrich fR'i:dRiS
|
||||
gauss g'aUs
|
||||
geisel g'aIzEU
|
||||
gottfried g'Otfri:t
|
||||
@@ -1270,7 +1371,7 @@ oppenheimer _!'Op@nh,aImar
|
||||
richard x'iS&rd
|
||||
riemann r'i:man
|
||||
rijndael x'ain;d'al
|
||||
rousseau Rus'o
|
||||
?2 rousseau xus'o
|
||||
schrödinger Sr'edinger
|
||||
stephen st'i:v@n
|
||||
steve st'i:v
|
||||
@@ -1281,30 +1382,27 @@ von f%On
|
||||
|
||||
// foreign common names/surnames
|
||||
?1 alison &l'is&N
|
||||
anderson '&ndersoN
|
||||
antonio &~nt'onIU
|
||||
?1 cleverson kl'Evyrs&N
|
||||
?2 cleverson kl'EversoN
|
||||
?1 elton 'Elt&N
|
||||
emerson 'emE*@-soN
|
||||
?1 halison &l'is&N
|
||||
klein kl'aIn // Very common on southern Brazil.
|
||||
?1 kleverson kl'Evers&N
|
||||
krueger kR'iZer
|
||||
krüger kR'iZer
|
||||
kühl k'il
|
||||
?1 nelson n'Els&N
|
||||
mueler m'iler
|
||||
mueller m'iler
|
||||
müler m'iler
|
||||
müller m'iler
|
||||
?1 nelson n'Els&N
|
||||
ronchi r'OnCi:
|
||||
valter v'aUter
|
||||
vogel f'o:g@l
|
||||
volkmann f'Olkman
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
washington w'OSinton
|
||||
wellington w'Elynton
|
||||
|
||||
|
||||
+268
-236
@@ -1,5 +1,3 @@
|
||||
// translation rules Brazilian
|
||||
// translation rules Brazilian
|
||||
// translation rules Brazilian
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
@@ -33,6 +31,7 @@
|
||||
&) a (_ =& // in final unstressed syllable
|
||||
&) a (s_ =&
|
||||
&) a (_a =&/ // ?? elide final a before a
|
||||
A_l) a (_ &
|
||||
&) a (_à =&/
|
||||
?1 a (_ =& // in final unstressed syllable
|
||||
?1 a (s_ =&
|
||||
@@ -43,6 +42,7 @@
|
||||
a (r_ 'a
|
||||
?1 p) a (d_ =E
|
||||
a (CC_ &
|
||||
a (h_ a
|
||||
?1 a (l_ 'A // eg: Portugal, capital, etc.
|
||||
?1 a (lK ,A // Algarve, Almerinda, etc...
|
||||
?2 al (K aU
|
||||
@@ -51,6 +51,7 @@
|
||||
a (mAr_ &
|
||||
a (mA@ &
|
||||
a (n &~
|
||||
a (ñ &~
|
||||
a (nA@ &
|
||||
a (nAr_ &
|
||||
am (_ =&~N
|
||||
@@ -59,6 +60,8 @@
|
||||
an (K+ &~N
|
||||
anh (A &~n^
|
||||
am (_ =&U~
|
||||
a (t_ a
|
||||
a (x_ a
|
||||
a (z_ 'a //eg: paz, rapaz, capaz, etc...
|
||||
?1 C) acç 'a's // eg: selecção, etc...
|
||||
|
||||
@@ -71,6 +74,24 @@
|
||||
au aU
|
||||
au (s aU
|
||||
a (uCK a
|
||||
âB) a (CA_ &
|
||||
âBC) a (CA_ &
|
||||
êC) a (CA_ &
|
||||
êCC) a (CA_ &
|
||||
ôB) a (CA_ &
|
||||
ôBC) a (CA_ &
|
||||
áC) a (CA_ &
|
||||
áCC) a (CA_ &
|
||||
éC) a (CA_ &
|
||||
í) a (CA_ &
|
||||
íC) a (CA_ &
|
||||
íCC) a (CA_ &
|
||||
óC) a (CA_ &
|
||||
óCC) a (CA_ &
|
||||
óC) a (CCA_ &
|
||||
úC) a (CA_ &
|
||||
?2 ation (_ 'eIS&~N
|
||||
?2 action (_ 'EkS&~N
|
||||
|
||||
|
||||
.group â
|
||||
@@ -99,7 +120,7 @@
|
||||
ái (s ''aI
|
||||
á (iCK ''a
|
||||
áy ''aI
|
||||
ál (C ''aU
|
||||
ál (B ''aU
|
||||
áu ''aU
|
||||
áu (s ''aU
|
||||
?1 ál ''Al
|
||||
@@ -129,6 +150,7 @@
|
||||
?3 c (t k
|
||||
?3 c (_C k_
|
||||
ch S
|
||||
chr kR
|
||||
ck k
|
||||
?1 c (c //drop “c” in European Portuguese (eg: seleccionar)
|
||||
?1 A) ct t //drop “c” in European Portuguese (eg: exacto)
|
||||
@@ -145,6 +167,7 @@
|
||||
?2 d (i dZ
|
||||
?2 d (í dZ
|
||||
?2 d (e_ dZ
|
||||
?2 A) de (o_ dZj
|
||||
|
||||
|
||||
.group e
|
||||
@@ -163,115 +186,88 @@
|
||||
e (lh+ e
|
||||
v) e (lhA_ E
|
||||
|
||||
e (be_ E
|
||||
e (bem_ E
|
||||
e (bL02_ E
|
||||
|
||||
e (ca_ E
|
||||
e (ce_ E
|
||||
e (cem_ E
|
||||
e (cL04_ E
|
||||
|
||||
e (chL04_ E
|
||||
|
||||
e (chA_ E
|
||||
e (chAm_ E
|
||||
r) e (cho_ e
|
||||
|
||||
e (clA_ E
|
||||
e (clAm_ E
|
||||
e (co_ E
|
||||
e (ctA_ E
|
||||
e (ctAm_ E
|
||||
e (clL04_ E
|
||||
|
||||
e (de_ E
|
||||
e (dem_ E
|
||||
e (ctL04_ E
|
||||
|
||||
e (dL02_ E
|
||||
|
||||
e (fa_ E
|
||||
|
||||
e (gA_ E
|
||||
e (gAm_ E
|
||||
e (gL04_ E
|
||||
|
||||
e (grA_ E
|
||||
e (grAm_ E
|
||||
e (grL04_ E
|
||||
|
||||
h) e (gA_ e
|
||||
h) e (gAm_ e
|
||||
h) e (gL04_ e
|
||||
|
||||
e (gue_ E
|
||||
e (guem_ E
|
||||
e (guL02_ E
|
||||
|
||||
e (lA_ E
|
||||
e (lo_ E
|
||||
e (lAm_ E
|
||||
e (lL04_ E
|
||||
|
||||
i) e (r_ E
|
||||
@s) e (r_ E
|
||||
u) e (r_ E
|
||||
qu) e (r_ E
|
||||
|
||||
ib) e (rA_ E
|
||||
d) e (rA_ E
|
||||
ed) e (rAm_ e
|
||||
m) e (rA_ E
|
||||
iv) e (rAm_ E
|
||||
ib) e (rL04_ E
|
||||
d) e (rL04_ E
|
||||
ed) e (rL04_ e
|
||||
m) e (rL04_ E
|
||||
iv) e (rL04_ E
|
||||
pod) e (rA_ e
|
||||
d) e (rAm_ E
|
||||
ib) e (rAm_ E
|
||||
@s) e (rA_ E
|
||||
@s) e (rAm_ E
|
||||
sp) e (rA_ E
|
||||
sp) e (rAm_ E
|
||||
f) e (re_ E
|
||||
f) e (rem_ E
|
||||
|
||||
e (que_ E
|
||||
e (quem_ E
|
||||
@s) e (rL04_ E
|
||||
|
||||
e (rgA_ E
|
||||
e (rgAm_ E
|
||||
sp) e (rL04_ E
|
||||
f) e (rL02_ E
|
||||
|
||||
e (rgue_ E
|
||||
e (rguem_ E
|
||||
e (quL02_ E
|
||||
e (rbL04_ E
|
||||
e (rgL04_ E
|
||||
|
||||
e (rsA_ E
|
||||
e (rsAm_ E
|
||||
e (rsL04_ E
|
||||
|
||||
e (se_ E
|
||||
e (sem_ E
|
||||
e (sL02_ E
|
||||
|
||||
e (ssA_ E
|
||||
e (ssAm_ E
|
||||
e (ssL04_ E
|
||||
e (ss_ E // stress and english words
|
||||
?2 ection (_ 'EkS&~N
|
||||
?2 ee (n_ i
|
||||
e (stL04_ E
|
||||
|
||||
e (stA_ E
|
||||
e (stAm_ E
|
||||
e (strA_ E
|
||||
e (strL04_ E
|
||||
|
||||
e (rme_ E
|
||||
|
||||
e (rnA_ E
|
||||
e (rnAm_ E
|
||||
e (rnL04_ E
|
||||
|
||||
e (rtA_ E
|
||||
e (rtAm_ E
|
||||
e (rtL04_ E
|
||||
|
||||
e (rrA_ E
|
||||
e (rrAm_ E
|
||||
e (rrL04_ E
|
||||
|
||||
e (rvA_ E
|
||||
e (rvAm_ E
|
||||
e (rvL04_ E
|
||||
|
||||
e (tA_ E
|
||||
e (tL04_ E
|
||||
m) e (tL04_ e
|
||||
An) e (tA_ e
|
||||
on) e (te_ E
|
||||
gaz) e (ta_ e
|
||||
e (tAm_ E
|
||||
|
||||
e (vA_ E
|
||||
e (vL04_ E
|
||||
t) e (ve_ e
|
||||
e (vi_ e
|
||||
e (vê_ e
|
||||
e (vAm_ E
|
||||
|
||||
e (rrAs_ E
|
||||
|
||||
e (x_ E
|
||||
e (xA_ E
|
||||
e (xAm_ E
|
||||
e (xL04_ E
|
||||
|
||||
?2 _n) e (t E
|
||||
em (C eIm
|
||||
en (K eIN
|
||||
@@ -302,8 +298,6 @@
|
||||
?1 d) e (CCACCA y
|
||||
?1 d) e (nCACCA ,e
|
||||
|
||||
j) e (tA_ E
|
||||
j) e (tAm_ E
|
||||
_r) eex (A eez
|
||||
|
||||
?1 _) es (C@@ S // drop initial "e".
|
||||
@@ -317,6 +311,7 @@
|
||||
?1 C) e (o 'i // eg: geologia, etc...
|
||||
?1 C) e (ú i // conteúdo, etc.
|
||||
?1 Cã) e j // cães, mãe, etc...
|
||||
?2 ã) e (z y // mãezinha, etc.
|
||||
?1 c) e (rea y // cereais
|
||||
?1 d) e (fici y // deficiênte, deficiência, etc...
|
||||
?1 _d) e (fini y //definições.
|
||||
@@ -348,155 +343,149 @@
|
||||
?1 v) e (l_ ,E // eg: possível, amovível, disponível, etc...
|
||||
?1 l) e (ta 'E // eg: bicicleta, atleta.
|
||||
|
||||
|
||||
sf) e (ra_ E // esfera, biosfera
|
||||
ef) e (tuL02_ e
|
||||
t) e (tra E
|
||||
|
||||
âC) e (CA_ e
|
||||
âCC) e (CA_ e
|
||||
êC) e (CA_ e
|
||||
êCC) e (CA_ e
|
||||
ôC) e (CA_ e
|
||||
áC) e (CA_ e
|
||||
áCC) e (CA_ e
|
||||
íC) e (CA_ e
|
||||
íCC) e (CA_ e
|
||||
óC) e (Ca_ e
|
||||
óCC) e (CA_ e
|
||||
úC) e (CA_ e
|
||||
úC) el (_ eU
|
||||
|
||||
//sort
|
||||
_d) e (L05_ E
|
||||
em) e (L05_ e // temeram, etc.
|
||||
rd) e (L05_ e // perderam, etc.
|
||||
_vi) e (L05_ E
|
||||
end) e (L05_ e // entenderam, etc.
|
||||
fiz) e (L05_ E
|
||||
pus) e (L05_ E // com- im- de-
|
||||
tiv) e (L05_ E // es-
|
||||
viv) e (L05_ e
|
||||
_com) e (L05_ e
|
||||
_cos) e (L05_ e
|
||||
_pud) e (L05_ E
|
||||
_tem) e (L05_ e
|
||||
_coub) e (L05_ E
|
||||
_exag) e (L05_ E
|
||||
_houv) e (L05_ E
|
||||
_perd) e (L05_ e
|
||||
_mulh) e (L05_ E
|
||||
_quis) e (L05_ E
|
||||
_soub) e (L05_ E
|
||||
_talh) e (L05_ E
|
||||
_trem) e (L05_ e
|
||||
_escond) e (L05_ e
|
||||
_troux) e (L05_ E
|
||||
respond) e (L05_ e
|
||||
diss) e (L06_ E // contra-
|
||||
fend) e (L06_ e // de- o-
|
||||
tend) e (L06_ e // a- con- en- es-
|
||||
vend) e (L06_ e // re-
|
||||
_mord) e (L06_ e
|
||||
_rend) e (L06_ e
|
||||
prend) e (L06_ e // a- rea- des- desa-
|
||||
_arrepend) e (L06_ e
|
||||
_depend) e (L06_ e
|
||||
_escond) e (L06_ e
|
||||
preend) e (L06_ e // com- a- re- sur-
|
||||
respond) e (L06_ e // cor-
|
||||
m) e (L07_ e // comeste, etc.
|
||||
eb) e (L07_ e // recebeste, etc.
|
||||
ec) e (L07_ e // pareceram, etc.
|
||||
eg) e (L07_ e // elegeste, etc.
|
||||
_cr) e (L07_ e
|
||||
_do) e (L07_ e
|
||||
_mo) e (L07_ e
|
||||
_ro) e (L07_ e
|
||||
bat) e (L07_ e // re- com-
|
||||
ceb) e (L07_ e // re- per- con-
|
||||
ced) e (L07_ e // pro- con- su-
|
||||
end) e (L07_ e // vendeste, etc.
|
||||
esc) e (L07_ e // cresceste, etc.
|
||||
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
||||
mex) e (L07_ e
|
||||
mov) e (L07_ e // re- co-
|
||||
olv) e (L07_ e // devolveste, etc.
|
||||
ond) e (L07_ e // escondeste, etc.
|
||||
orr) e (L07_ e // correste, etc.
|
||||
viv) e (L07_ e // re-
|
||||
_beb) e (L07_ e
|
||||
_com) e (L07_ e
|
||||
_tem) e (L07_ e
|
||||
_ard) e (L07_ e
|
||||
_cos) e (L07_ e
|
||||
_coz) e (L07_ e
|
||||
colh) e (L07_ e // & es-
|
||||
corr) e (L07_ e // per- con- in- so- dis-
|
||||
ench) e (L07_ e // pre-
|
||||
fend) e (L07_ e // de- o-
|
||||
nasc) e (L07_ e // re-
|
||||
tend) e (L07_ e // en- con- a- es-
|
||||
torc) e (L07_ e // con-
|
||||
venc) e (L07_ e // con-
|
||||
vend) e (L07_ e // re-
|
||||
vert) e (L07_ e // in- re- con-
|
||||
volv) e (L07_ e // de- en- re-
|
||||
_eleg) e (L07_ e
|
||||
_ergu) e (L07_ e
|
||||
_mord) e (L07_ e
|
||||
_morr) e (L07_ e
|
||||
_perd) e (L07_ e
|
||||
_remo) e (L07_ e
|
||||
_sofr) e (L07_ e
|
||||
_trem) e (L07_ e
|
||||
merec) e (L07_ e // des-
|
||||
padec) e (L07_ e // com-
|
||||
parec) e (L07_ e // a- rea- com- desa-
|
||||
prend) e (L07_ e // a- rea- des-
|
||||
screv) e (L07_ e // e- in- ree- pre- de-
|
||||
_aborrec) e (L07_ e
|
||||
_absolv) e (L07_ e
|
||||
_adoec) e (L07_ e
|
||||
_adormec) e (L07_ e
|
||||
_agradec) e (L07_ e
|
||||
_amanhec) e (L07_ e
|
||||
_amolec) e (L07_ e
|
||||
_anoitec) e (L07_ e
|
||||
_arrepend) e (L07_ e
|
||||
_atrev) e (L07_ e
|
||||
_cresc) e (L07_ e
|
||||
_depend) e (L07_ e
|
||||
_desguarnec) e (L07_ e
|
||||
_emagrec) e (L07_ e
|
||||
_endurec) e (L07_ e
|
||||
_enlouquec) e (L07_ e
|
||||
_enraivec) e (L07_ e
|
||||
_entorpec) e (L07_ e
|
||||
_entristec) e (L07_ e
|
||||
_envaidec) e (L07_ e
|
||||
_envelhec) e (L07_ e
|
||||
_esclarec) e (L07_ e
|
||||
_escond) e (L07_ e
|
||||
_escurec) e (L07_ e
|
||||
_espairec) e (L07_ e
|
||||
_esquec) e (L07_ e
|
||||
_estremec) e (L07_ e
|
||||
_corro) e (L07_ e
|
||||
_interromp) e (L07_ e
|
||||
_perec) e (L07_ e
|
||||
_rejuvenec) e (L07_ e
|
||||
_resolv) e (L07_ e
|
||||
_suspend) e (L07_ e
|
||||
abastec) e (L07_ e // re-
|
||||
conhec) e (L07_ e // & re- des-
|
||||
estabelec) e (L07_ e // re-
|
||||
favorec) e (L07_ e // des-
|
||||
obedec) e (L07_ e // des-
|
||||
preend) e (L07_ e // sur- com-
|
||||
proteg) e (L07_ e // des-
|
||||
respond) e (L07_ e // cor-
|
||||
_troux) e (L07_ E
|
||||
_ens) e (bL03_ E
|
||||
_amanc) e (bL03_ E
|
||||
qu) e (brL04_ E
|
||||
_cel) e (brL04_ E
|
||||
_boch) e (chL04_ e
|
||||
_ex) e (crL04_ E
|
||||
_enr) e (dL01_ E
|
||||
_v) e (dL03_ E
|
||||
_arr) e (dL03_ E
|
||||
_depr) e (dL03_ E
|
||||
_hosp) e (dL03_ E
|
||||
_enver) 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
|
||||
_r) e (jL03_ E
|
||||
_inv) e (jL04_ E
|
||||
?2 el (ton_ 'EU
|
||||
tr) e (pL04_ E // es-
|
||||
_dec) e (pL04_ E
|
||||
_in) e (ptL03_ E
|
||||
ad) e (quL04_ 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-
|
||||
_on) e (rL04_ E
|
||||
_op) e (rL04_ E
|
||||
gen) e (rL04_ E // de- re-
|
||||
_alt) e (rL04_ E
|
||||
_enc) e (rL04_ E
|
||||
_imp) e (rL04_ E
|
||||
_min) e (rL04_ E
|
||||
_sug) e (rL04_ E
|
||||
_sup) e (rL04_ E
|
||||
_tol) e (rL04_ E
|
||||
_ven) e (rL04_ E
|
||||
acel) e (rL04_ E // des-
|
||||
eson) e (rL04_ E
|
||||
_apod) e (rL04_ E
|
||||
_coop) e (rL04_ E
|
||||
_exub) e (rL04_ E
|
||||
_temp) e (rL04_ E
|
||||
_adult) e (rL04_ E
|
||||
_persev) e (rL04_ E
|
||||
_recup) e (rL04_ E
|
||||
_refrig) e (rL04_ E
|
||||
_v) e (rbL03_ E
|
||||
_ex) e (rcL02_ E
|
||||
_alic) e (rcL02_ E
|
||||
_p) e (rdL02_ E
|
||||
_l) e (rdL03_ E
|
||||
_h) e (rdL04_ E
|
||||
_des) e (rdL04_ E
|
||||
s_colh) e (res_ E
|
||||
_) e (rgL03_ e
|
||||
_re) e (rgL03_ e
|
||||
_so) e (rgL03_ e
|
||||
_bez) e (rrL03_ e
|
||||
_inv) e (rtL03_ e
|
||||
v) e (rtL03_ e // con- re- in-
|
||||
_f) e (rvL03_ e
|
||||
_alic) e (rçL03_ E
|
||||
_p) e (sL01_ E
|
||||
@@ -512,24 +501,24 @@ _refrig) e (rL04_ E
|
||||
_l) e (ssL02_ e
|
||||
_esp) e (ssL03_ e
|
||||
_c) e (stL03_ e
|
||||
_m) e (tL03_ e
|
||||
_pr) e (tL03_ e
|
||||
_com) e (tL03_ e
|
||||
_bol) e (tL03_ e
|
||||
_rem) e (tL03_ e
|
||||
prom) e (tL03_ e // com-
|
||||
_derr) e (tL03_ e
|
||||
_obsol) e (tL03_ e
|
||||
_sol) e (trL03_ E
|
||||
_pen) e (trL04_ E
|
||||
_n) eu (trL03_ 'eU
|
||||
_d) e (vL03_ e
|
||||
scr) e (vL03_ e // e- in- pre- ree- de-
|
||||
_atr) e (vL03_ e
|
||||
m) e (xL03_ e
|
||||
_r) e (zL04_ E
|
||||
_pr) e (zL04_ E
|
||||
spr) e (zL04_ E
|
||||
_enf) e (zL04_ E
|
||||
_rev) e (zL04_ E
|
||||
_despr) e (zL04_ E
|
||||
_embel) e (zL04_ E
|
||||
_menospr) e (zL04_ E
|
||||
com) e (çL01_ E
|
||||
p) e (çL03_ E
|
||||
_m) e (çL03_ E
|
||||
@@ -544,7 +533,7 @@ _entorp) e (çL03_ e
|
||||
éi (s ''EI
|
||||
é (iCK ''E
|
||||
éy ''eI
|
||||
él (C ''EU
|
||||
él (B ''EU
|
||||
éu ''EU
|
||||
éu (s ''EU
|
||||
é (uCK ''E
|
||||
@@ -566,7 +555,7 @@ _entorp) e (çL03_ e
|
||||
.group f
|
||||
?1 _) f (_W Ef; // within an acronym
|
||||
?1 _) f (_ Ef // individual letter or end-of-acronym
|
||||
_) f (_ 'Efe
|
||||
_) f (_ 'Efy
|
||||
f f
|
||||
f (f
|
||||
?3 f (B fI
|
||||
@@ -611,6 +600,11 @@ _entorp) e (çL03_ e
|
||||
_) i (_ i
|
||||
i i
|
||||
i (A j
|
||||
i (a i
|
||||
i (e i
|
||||
i (ã i
|
||||
i (õ i
|
||||
i (ú i
|
||||
i (o i
|
||||
Cr) i i
|
||||
Cl) i i
|
||||
@@ -658,6 +652,8 @@ _entorp) e (çL03_ e
|
||||
?1 _) i (ntern 'i //inter
|
||||
?1 @) ing (_ _^_EN
|
||||
?1 @) ings (_ _^_EN
|
||||
?2 il (ton_ 'iU
|
||||
?2 i (rton_ 'i
|
||||
|
||||
|
||||
.group í
|
||||
@@ -668,7 +664,7 @@ _entorp) e (çL03_ e
|
||||
ím (C ''im
|
||||
ín (K ''iN
|
||||
ính ''in^
|
||||
íl (C ''IU
|
||||
íl (B ''IU
|
||||
|
||||
|
||||
.group j
|
||||
@@ -692,12 +688,12 @@ _entorp) e (çL03_ e
|
||||
.group l
|
||||
?1 _) l (_W El; // within an acronym
|
||||
?1 _) l (_ El
|
||||
_) l (_ 'Ele
|
||||
_) l (_ 'Ely
|
||||
l l
|
||||
l) l
|
||||
lh lj
|
||||
A) lh lj
|
||||
A) lh l^
|
||||
?1 lh l^
|
||||
?2 lh lj
|
||||
|
||||
?4 A) lh l^
|
||||
|
||||
|
||||
@@ -723,15 +719,27 @@ _entorp) e (çL03_ e
|
||||
?1 A) nn n //drop “n” (eg: connosco).
|
||||
|
||||
|
||||
.group ñ
|
||||
_) ñ (_ 'enjE
|
||||
?1 _) ñ (_ enetil
|
||||
ñ n^
|
||||
|
||||
|
||||
|
||||
.group o
|
||||
o o
|
||||
@) o (_ =U
|
||||
o (s_ =U
|
||||
_) o (_C U
|
||||
_) o (_A u
|
||||
?2 _) os (_ Us
|
||||
?2 _) os (_A Uz
|
||||
?2 _) os (_G Uz
|
||||
ou ow
|
||||
oi oI
|
||||
oi ($w_alt OI
|
||||
oi ($w_alt2++ oI
|
||||
oi (a_ OI // ??
|
||||
oi (a_ OI
|
||||
oi (cA_ OI
|
||||
oi (de_ OI
|
||||
oi (s oI
|
||||
@@ -739,55 +747,46 @@ _entorp) e (çL03_ e
|
||||
?1 C) oo (_ ow // eg: voo, enjoo, etc...
|
||||
oy OI
|
||||
|
||||
o (cA_ O
|
||||
o (cAm_ O
|
||||
o (cL04_ O
|
||||
|
||||
o (que_ O
|
||||
o (quem_ O
|
||||
o (chL04_ O
|
||||
|
||||
p) o (dA_ O
|
||||
p) o (dAm_ O
|
||||
o (quL02_ O
|
||||
|
||||
A_l) o (_ U
|
||||
|
||||
o (g_ O
|
||||
o (gs_ O
|
||||
|
||||
o (ge_ O
|
||||
o (gem_ O
|
||||
o (gL02_ O
|
||||
|
||||
o (jA_ O
|
||||
o (jAm_ O
|
||||
o (jL04_ O
|
||||
|
||||
o (ldA_ O
|
||||
o (ldAm_ O
|
||||
o (ldL04_ O
|
||||
|
||||
o (lA_ O
|
||||
o (lAm_ O
|
||||
o (lL04_ O
|
||||
|
||||
o (lhe_ O
|
||||
o (lhem_ O
|
||||
o (lhL02_ O
|
||||
|
||||
o (ltA_ O
|
||||
o (ltAm_ O
|
||||
o (ltL04_ O
|
||||
|
||||
o (lve_ O
|
||||
o (lvem_ O
|
||||
o (lvL02_ O
|
||||
|
||||
o (sA_ O
|
||||
o (so_N o // not for osos_
|
||||
o (sAm_ O
|
||||
|
||||
o (ssA_ O
|
||||
o (ssAm_ O
|
||||
o (ssL04_ O
|
||||
|
||||
o (va_ O
|
||||
o (vAm_ O
|
||||
o (ve_ O
|
||||
m) o (va_ o
|
||||
m) o (vam_ o
|
||||
m) o (vL01_ o
|
||||
|
||||
o (veCs_ O
|
||||
|
||||
?1 o (l_ 'O
|
||||
?2 ol (_ Ow
|
||||
o (l_ 'O
|
||||
?2 ol (B ow
|
||||
|
||||
om (_ oN
|
||||
o (ma_ o
|
||||
@@ -796,43 +795,40 @@ _entorp) e (çL03_ e
|
||||
?4 om (C oN
|
||||
on (K oN
|
||||
@s) on (_ %oN // words ending in -son
|
||||
o (na_ o
|
||||
|
||||
onh on^
|
||||
|
||||
o (brA_ O
|
||||
o (brAm_ O
|
||||
o (dA_ O
|
||||
o (dAm_ O
|
||||
o (brL04_ O
|
||||
|
||||
o (dL04_ O
|
||||
|
||||
t) o (dA_ o
|
||||
|
||||
o (rCA_ O
|
||||
o (rCL04_ O
|
||||
|
||||
o (rCo_ o
|
||||
o (rCAm_ O
|
||||
|
||||
o (stA_ O
|
||||
o (stL04_ O
|
||||
|
||||
o (sto_ o
|
||||
o (stAm_ O
|
||||
o (strA_ O
|
||||
o (strAm_ O
|
||||
|
||||
o (tA_ O
|
||||
o (tAm_ O
|
||||
o (strL04_ O
|
||||
|
||||
o (tL04_ O
|
||||
|
||||
?2 o (x_ O
|
||||
?1 oz (_ Os#
|
||||
?2 oz (_ Oz
|
||||
o (zes_ O
|
||||
o (rA_ O
|
||||
b) o (re_ o
|
||||
?2 o (z_ O
|
||||
o (ze_ O
|
||||
o (rL04_ O
|
||||
c) o (re_ o
|
||||
d) o (re_ o
|
||||
l) o (re_ o
|
||||
t) o (re_ o
|
||||
v) o (re_ o
|
||||
o (rAm_ O
|
||||
b) o (rA_ O
|
||||
@@) o (rA_ o
|
||||
|
||||
@@) o (rA_ o
|
||||
b) o (rL04_ O
|
||||
o (p_ O
|
||||
?1 _) o (C O // eg: olá, orla, opção, etc...
|
||||
?1 _C) o (CACAC u // Documento, documentação, localizar, etc.
|
||||
@@ -843,6 +839,23 @@ _entorp) e (çL03_ e
|
||||
?1 interr) o (g u // eg: interrogação
|
||||
?1 f) o (rmulá u // eg: formulário, formulários.
|
||||
?1 v) o (lt O
|
||||
o (luem_ o
|
||||
o (ssuem_ o
|
||||
êC) o (CA_ o
|
||||
êCC) o (CA_ o
|
||||
ôC) o (CA_ o
|
||||
áC) o (CA_ o
|
||||
|
||||
éC) o (CA_ o
|
||||
éCC) o (CA_ o
|
||||
í) o (CA_ U
|
||||
íC) o (CA_ o
|
||||
íCC) o (CA_ o
|
||||
óC) o (CA_ o
|
||||
óCC) o (CA_ o
|
||||
úC) o (CA_ o
|
||||
úCC) o (CA_ o
|
||||
?2 otion (_ 'owS&~N
|
||||
|
||||
//sort
|
||||
_f) o (L05_ o
|
||||
@@ -852,15 +865,16 @@ _pormen) o (L05_ O
|
||||
_af) o (bL04_ O
|
||||
_esn) o (bL04_ O
|
||||
_engl) o (bL04_ O
|
||||
br) o (chL04_ O
|
||||
_deb) o (chL04_ O
|
||||
_sal) o (brL03_ o
|
||||
_) o (cL03_ o
|
||||
_m) o (fL01_ O
|
||||
_m) o (fL02_ O
|
||||
_s) o (frL02_ O
|
||||
l) o (gL04_ O // dialoga, etc.
|
||||
r) o (gL04_ O // inter-
|
||||
v) o (gL04_ O // advoga, etc.
|
||||
_j) o (gL04_ O
|
||||
_af) o (gL04_ O
|
||||
_adv) o (gL04_ O
|
||||
af) o (gL04_ O // des-
|
||||
_ref) o (gL04_ O
|
||||
_ap) oi (L01_ OI
|
||||
_ap) oi (L02_ OI
|
||||
@@ -870,10 +884,15 @@ _pormen) o (L05_ O
|
||||
_emp) o (lgL04_ O
|
||||
_) o (lhL04_ O
|
||||
m) o (lhL04_ O
|
||||
_env) o (ltL03_ o
|
||||
ent) o (pL02_ O
|
||||
_c) o (pL03_ O
|
||||
_t) o (pL04_ O
|
||||
_ens) o (pL04_ O
|
||||
_gal) o (pL04_ O
|
||||
_s) o (prL04_ O
|
||||
_al) o (prL04_ O
|
||||
_ass) o (prL04_ O
|
||||
_) o (ptL04_ O
|
||||
p) o (rL02_ o
|
||||
_dev) o (rL02_ O
|
||||
@@ -882,25 +901,29 @@ _pormen) o (L05_ O
|
||||
_inod) o (rL03_ O
|
||||
_inson) o (rL03_ O
|
||||
_comem) o (rL04 O
|
||||
_enam) o (rL04_ O
|
||||
_aprim) o (rL04_ O
|
||||
_remem) o (rL04_ O
|
||||
f) o (rmL03_ O
|
||||
_enf) o (rquL02_ O
|
||||
_ext) o (rquL02_ O
|
||||
c) o (rrL01_ o // escorra, incorra, corra, recorra
|
||||
c) o (rrL01_ o // incorra, corra, etc.
|
||||
_m) o (rrL01_ o
|
||||
p) o (rtL03_ O // im- trans- de- re- com- a- ex-
|
||||
t) o (rçL01_ O // con-
|
||||
t) o (rçL03_ o // con-
|
||||
_r) o (snL04_ O
|
||||
_c) o (spL02_ O
|
||||
_enr) o (squL02_ O
|
||||
p) ostos (_ Ost=Us# // dispostos etc.
|
||||
_gar) o (tL03_ o
|
||||
_mar) o (tL03_ o
|
||||
_escr) o (tL03_ o
|
||||
_ch) o (vL01_ o
|
||||
pr) o (vL03_ O
|
||||
_g) o (zL04_ O
|
||||
_esb) o (çL01_ O
|
||||
_r) o (çL03_ O
|
||||
tr) o (çL03_ O // des-
|
||||
_ad) o (çL03_ O
|
||||
_emp) o (çL03_ O
|
||||
_end) o (çL03_ O
|
||||
//endsort
|
||||
|
||||
@@ -935,8 +958,7 @@ _remem) o (rL04_ O
|
||||
?3 p (s p
|
||||
?3 p (t p
|
||||
?3 p (_C p_
|
||||
?1 ph f //Didn’t use in European Portuguese (eg: English)
|
||||
?1 ple (_ _^_EN
|
||||
ph f
|
||||
|
||||
|
||||
.group q
|
||||
@@ -952,17 +974,18 @@ _remem) o (rL04_ O
|
||||
?1 _) qua kwa // quatro, etc.
|
||||
?1 _) que ke // quente, etc.
|
||||
?1 _) quei (C k'eI // queira, queima, etc
|
||||
quên kw'eN // quinquênio, etc.
|
||||
A) quên kw'eIN // frequência, etc.
|
||||
C) quên kw'eIN // delinquência, etc.
|
||||
ade) qu (e kw
|
||||
_a) qu (idade_ 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
|
||||
lo) qu (en kw
|
||||
n) qu (en kw
|
||||
_) qu (inqu kw
|
||||
se) qu (en kw
|
||||
@@ -988,11 +1011,10 @@ _remem) o (rL04_ O
|
||||
r (C *@-
|
||||
A) r (A *
|
||||
A) r (_A *
|
||||
C) r (A R
|
||||
rr x
|
||||
XC) r (A R
|
||||
C) r (A *
|
||||
_) r x
|
||||
l) r x
|
||||
l) r (A x
|
||||
n) r (+ x
|
||||
s) r x
|
||||
?1 A) r (_ r- // [r-] is English linking-r
|
||||
@@ -1001,7 +1023,7 @@ _remem) o (rL04_ O
|
||||
.group s
|
||||
?1 _) s (_W Es|; // within an acronym [s]+[;] not [s;] phoneme
|
||||
?1 _) s (_ Es
|
||||
?2 _) s (_ 'Ese
|
||||
?2 _) s (_ 'Esy
|
||||
s s
|
||||
ss s
|
||||
sc (Y s
|
||||
@@ -1011,11 +1033,12 @@ _remem) o (rL04_ O
|
||||
A) s (A z
|
||||
?1 @) s (_ s#
|
||||
?2 s (_ s#
|
||||
@) s (_A z // next word starts with vowel
|
||||
|
||||
?!4 @) s (_G z // next word starts with voiced consonant
|
||||
|
||||
A) s (_S1 s
|
||||
A) s (_AS1 z // next word starts with vowel
|
||||
|
||||
ese) s (_ s
|
||||
?!4 A) s (_GS1 z // next word starts with voiced consonant
|
||||
|
||||
@@ -1024,16 +1047,12 @@ _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
|
||||
s (G z
|
||||
s (w+ s
|
||||
sr zx
|
||||
s (v z
|
||||
|
||||
_) sobre (@P5 sob*e
|
||||
_tran) s (A z
|
||||
|
||||
|
||||
.group t
|
||||
@@ -1047,6 +1066,7 @@ _remem) o (rL04_ O
|
||||
?2 t (e_ tS
|
||||
?1 th _^_EN
|
||||
?1 tion (_ _^_EN
|
||||
?2 A) te (o_ tSj
|
||||
|
||||
|
||||
.group u
|
||||
@@ -1055,15 +1075,20 @@ _remem) o (rL04_ O
|
||||
u (A w
|
||||
u (_A w
|
||||
r) u (A u
|
||||
u (a u
|
||||
g) u (a+ w
|
||||
q) u (a+ w
|
||||
u (eC u
|
||||
u (ei u
|
||||
r) u (_A u
|
||||
u (A_ 'u
|
||||
u (L04_ 'u
|
||||
|
||||
u (am_ 'u
|
||||
u (em_ 'u
|
||||
ui uI
|
||||
ui (_ 'uI
|
||||
u (iu w
|
||||
u (iCK u
|
||||
u (éC u
|
||||
u (íC u
|
||||
uy uI
|
||||
ul (K uw
|
||||
u (lh+ u
|
||||
@@ -1075,12 +1100,15 @@ _remem) o (rL04_ O
|
||||
unh u~n^
|
||||
|
||||
g) u (Y
|
||||
_m) ui (tA_ 'wiN
|
||||
?2 ution (_ 'uS&~N
|
||||
|
||||
|
||||
.group ú
|
||||
ú ''u
|
||||
úm (_ ''u~N
|
||||
úm (C ''u~m
|
||||
úm (A ''u~m
|
||||
?4 úm (C ''u~N
|
||||
ún (K ''u~N
|
||||
únh ''u~n^
|
||||
@@ -1106,6 +1134,7 @@ _remem) o (rL04_ O
|
||||
_e) x (A z
|
||||
_ê) x (A z
|
||||
_ine) x (A z
|
||||
_ine) x (oráv ks
|
||||
e) x (A ks
|
||||
?1 e) x (CA S
|
||||
ai) x (A S
|
||||
@@ -1132,10 +1161,12 @@ _remem) o (rL04_ O
|
||||
_ca) x (A S
|
||||
_co) x (A S
|
||||
_coe) x (A z
|
||||
_e) x (u_ S
|
||||
_fa) x (i S
|
||||
_fle) x (a S
|
||||
gra) x (A S
|
||||
_he) x (A z
|
||||
?2 _he) x (A ks
|
||||
_li) x (A S
|
||||
_lu) x (A S
|
||||
_mar) x ks
|
||||
@@ -1155,8 +1186,9 @@ _remem) o (rL04_ O
|
||||
ri) x (A S
|
||||
rela) x (A S
|
||||
_ro) x (A S
|
||||
_ta) x (e S
|
||||
_te) x (ugo_ S
|
||||
_trou) x (e s
|
||||
_trou) xe (@ sE
|
||||
_ve) x (A S
|
||||
_xi) x (A S
|
||||
?1 i) x (a_ S
|
||||
|
||||
+71
-45
@@ -69,6 +69,8 @@ _tld s_v'l-novkoU
|
||||
|
||||
// character names
|
||||
_cap vel^ke:
|
||||
_sub d,olni:||'indeks||
|
||||
_sup h,oRni:||'indeks||
|
||||
_?? simbol
|
||||
_#9 t'ab
|
||||
_#32 'medzeRa
|
||||
@@ -76,76 +78,100 @@ _?A znak
|
||||
|
||||
* hviezda $max3
|
||||
+ plus $max3
|
||||
= Rovna:sa $max3
|
||||
= Rovna:||sa $max3
|
||||
@ zavina:tS
|
||||
& ampeRsand
|
||||
# kRi:Zik $max3
|
||||
|
||||
_! vi:kRitSn^i:k
|
||||
_" u:vodzovki
|
||||
_" u:vodzowki
|
||||
_$ dola:R
|
||||
_' apostRof
|
||||
_( za:tvoRka
|
||||
_) zatvoRit;
|
||||
_, tSiaRka
|
||||
_- poml-tSka
|
||||
__ podtSiaRknutie
|
||||
_- spojovn^i:k
|
||||
__ podtSiaRkovn^i:k
|
||||
_. bodka
|
||||
_/ lomeno
|
||||
_/ lomka
|
||||
_: dvojbodka
|
||||
_; bodkotSiaRka
|
||||
_< menSi:
|
||||
_> vetSSi:
|
||||
_> v&tSSi:
|
||||
_? ota:zn^ik
|
||||
_[ hRanata:||za:tvoRka
|
||||
_\ opatSne:||lomeno
|
||||
_] hRanata:||zatvoRit;
|
||||
_^ stRieZka
|
||||
_[ hRanata:||z'a:tvoRka
|
||||
_\ opatSna:||l'omka
|
||||
_] hRanata:||z'atvoRit;
|
||||
_^ voka:n^
|
||||
_` aktsent
|
||||
_{ zloZena:||za:tvoRka
|
||||
_| zvisla:||tSiaRa
|
||||
_} zloZena:||zatvoRit;
|
||||
_{ zloZena:||z'a:tvoRka
|
||||
_| zvisla:||tS'iaRa
|
||||
_} zloZena:||z'atvoRit;
|
||||
_~ vl-novka
|
||||
_ tvr-da:m'edzeRa // U+00A0 no-break-space
|
||||
_¡ obra:t;eni:v'i:kRitSn^i:k
|
||||
_¦ pReRuSena:'tSiaRa
|
||||
_ª hoRni:indeks'a:
|
||||
_« dvojita:lomena:||za:tvoRka
|
||||
_ mekka:poml-tSka
|
||||
_² nadRuhu:
|
||||
_³ natRetju
|
||||
_´ dl:Zen^
|
||||
_· bodka'vpRostRjedku
|
||||
_¸ tsedila
|
||||
_¹ napRvu:
|
||||
_» dvojita:lomena:||zatvoRit;
|
||||
_¿ obRa:t;eni:'ota:zn^ik
|
||||
_– dl-ha:'poml-tSka
|
||||
_‘ l^ava:'u:vodzovka
|
||||
_’ prava:'u:vodzovka
|
||||
_“ horne:'u:vodzovki
|
||||
_” dolne:'u:vodzovki
|
||||
_‡ dvojiti:kRi:Z
|
||||
_• odRa:Zka
|
||||
_‣ tRojuholni:kova:'odRa:Zka
|
||||
_ tvr-da:||m'edzeRa // U+00A0 no-break-space
|
||||
_¡ obra:t;eni:||v'i:kRitSn^i:k
|
||||
_¦ pReRuSena:||tS'iaRa
|
||||
_¨ pRehla:ska
|
||||
_« dvojita:||l'omena:||z'a:tvoRka
|
||||
_ Rozd;el^ovn^i:k
|
||||
_´ dl:Zen^
|
||||
_· bodka||'v||pRostRjedku
|
||||
_¸ tsedila
|
||||
_» dvojita:||l'omena:||z'atvoRit;
|
||||
_¿ obRa:t;eni:||'ota:zn^ik
|
||||
_– poml-tSka
|
||||
_‘ hoRne:||j'ednoduche:||'u:vodzowki
|
||||
_’ odsuvn^i:k
|
||||
_“ hoRne:||'u:vodzowki
|
||||
_” dvojita:||h'oRna:||'opatSna:||'u:vodzowka
|
||||
_„ dolne:||'u:vodzowki
|
||||
_‚ dolne:||j'ednoduche:||'u:vodzowki
|
||||
_‡ dvojkRi:Z
|
||||
_• odRa:Zka
|
||||
_‣ odRa:Zka||t'Rojuholn^i:k
|
||||
_⁃ odRa:Zka||'v||tvaRe||p'oml-tSki
|
||||
‰ pRomile
|
||||
€ euRo
|
||||
§ paRagRaf
|
||||
÷ d;eleno
|
||||
× kRa:t
|
||||
° stupn^ou
|
||||
¢ tsentou
|
||||
£ libjeR
|
||||
¤ znatSkameni
|
||||
¢ tsent
|
||||
£ libRa
|
||||
¤ mena
|
||||
© kopiRajt
|
||||
® Registrovane:
|
||||
¥ jen
|
||||
− mi:nus
|
||||
± plus'mi:nus
|
||||
µ mu:
|
||||
¼ Stvr-tina
|
||||
± plus||m'i:nus
|
||||
µ mi:
|
||||
¼ Stvr-t;ina
|
||||
½ polovitsa
|
||||
¾ tri_Stvr-tini
|
||||
¬ logitske:not
|
||||
æ a'e:
|
||||
þ poml-tSkanad
|
||||
¾ t'@-*i||S'tvr-t;ini
|
||||
¬ logitski:||z'a:poR
|
||||
æ otvoRene:||'e:
|
||||
þ soRn
|
||||
¯ pRuh||n'at
|
||||
ð ed
|
||||
ƒ floRe:n
|
||||
_† kRi:Z
|
||||
_≈ pRibliZn^e||sa||R'ovna:
|
||||
_≠ n^eRovna:||s'a
|
||||
_≤ menSi:||'alebo||sa||R'ovna:
|
||||
_≥ v&tSSi:||'alebo||sa||R'ovna:
|
||||
_√ dRuha:||'odmotsn^ina
|
||||
_∛ tRet;ia||'odmotsn^ina
|
||||
_∞ n^ekon^etSno
|
||||
_■ tSieRni||S'tvoRets
|
||||
_□ bieli||S'tvoRets
|
||||
_◆ tSieRni||d'iamant
|
||||
_○ bieli||kR'uh
|
||||
_● tSieRni||kR'uh
|
||||
_◦ odRa:Zka||'v||tvaRe||b'ielej||b'odki
|
||||
_✓ zaSkr-tnut;ie
|
||||
_✔ tutSne:||z'aSkr-tnut;ie
|
||||
_➔ Si:pka||'vpRavo
|
||||
_➢ odRa:Zka||'v||tvaRe||S'i:pki
|
||||
|
||||
|
||||
// Numbers
|
||||
|
||||
+16
-16
@@ -43,16 +43,16 @@ _?A haRf
|
||||
//_lig
|
||||
_acu vURg'UimI
|
||||
_ac2 tS'IftvURg'UimI
|
||||
_brv k@s'altmaimI
|
||||
_brv k@s'aLtmaimI
|
||||
_ced h'aRf
|
||||
_cir Sapk'a
|
||||
_dia Umla'Ut
|
||||
_dia UmLa'Ut
|
||||
_dot YstnOkt'a
|
||||
_grv 'aksanimI
|
||||
_hac t'ERsSapk'a
|
||||
_mcn uz'atmaimI
|
||||
_ogo ogon'Ek
|
||||
_rng halk'a
|
||||
_rng haLk'a
|
||||
//_stk
|
||||
_tld tIld'E
|
||||
|
||||
@@ -60,7 +60,7 @@ _tld tIld'E
|
||||
// symbols
|
||||
_. nOkt'a
|
||||
_, vIRJ'Yl
|
||||
_; nOktal'@vIRJ'Yl
|
||||
_; nOktaL'@vIRJ'Yl
|
||||
_: ik'InOkt'a
|
||||
_… 'YtSnOkt'a
|
||||
_? soR'UiSa*et,I
|
||||
@@ -73,7 +73,7 @@ _' apOstR'Of
|
||||
_^ IndZ'EltmEiSa*et'I
|
||||
& _!v'E
|
||||
_& v'EiSa*et'I
|
||||
_@ kUjRUkl'U'a
|
||||
_@ kUjRUkL'U'a
|
||||
_\ t'ERs||ej,IktSIzg'I
|
||||
_( atSpa*ant'Ez
|
||||
_) kapapa*ant'Ez
|
||||
@@ -84,9 +84,9 @@ _‘ tEkt@Rn'ak
|
||||
§ tSEnJ'El
|
||||
° de*edZ'E
|
||||
_# dij'Ez
|
||||
_~ jaklaS'@k
|
||||
__ ,alttSIzg'I
|
||||
* j'@ld@z $max3
|
||||
_~ jakLaS'@k
|
||||
__ ,aLttSIzg'I
|
||||
* j'@Ld@z $max3
|
||||
= ESIt $max3
|
||||
% jYzdE $max3
|
||||
+ aRt@ $max3
|
||||
@@ -99,7 +99,7 @@ _2 ic'i
|
||||
_3 'ytS
|
||||
_4 d'WRt
|
||||
_5 b'ES
|
||||
_6 alt'@
|
||||
_6 aLt'@
|
||||
_7 jed'i
|
||||
_8 sec'Iz
|
||||
_9 d'okuz
|
||||
@@ -111,7 +111,7 @@ _2X jiRm'i
|
||||
_3X ot'uz
|
||||
_4X k'@Rk
|
||||
_5X ell'i
|
||||
_6X altm'@S
|
||||
_6X aLtm'@S
|
||||
_7X jetm'iS
|
||||
_8X seks'En
|
||||
_9X doks'an
|
||||
@@ -260,13 +260,13 @@ Düzce $1
|
||||
Edirne $2
|
||||
Hakkari $1
|
||||
Hatay $1
|
||||
Iğdır $1
|
||||
İngiltere $3
|
||||
İskenderun $2
|
||||
ığdır $1
|
||||
ingiltere $3
|
||||
iskenderun $2
|
||||
Isparta $2
|
||||
İstanbul $2
|
||||
İsveç $1
|
||||
İzmir $1
|
||||
istanbul $2
|
||||
isveç $1
|
||||
izmir $1
|
||||
Kastamonu $1
|
||||
Kayseri $1
|
||||
Kilis $1
|
||||
|
||||
+37
-23
@@ -9,8 +9,10 @@
|
||||
// ?1 mbrola voices
|
||||
|
||||
|
||||
// unvoiced consonants
|
||||
.L01 ç f h k p q s ş t
|
||||
.L01 ç f h k p q s ş t // unvoiced consonants
|
||||
|
||||
.L02 ı a o u // back vowels
|
||||
.L03 i e ö ü î â ô û // not-back vowels
|
||||
|
||||
.replace
|
||||
` '
|
||||
@@ -23,7 +25,7 @@
|
||||
@) acak (_S4 adZak
|
||||
@) acakmış (_S7 adZakm%@S
|
||||
@) ayım (_S4 aj@m
|
||||
@) alım (_S4 al@m
|
||||
@) alım (_S4 aL@m
|
||||
@) asın (_S4 as@n
|
||||
|
||||
@) avru (pa avr'u
|
||||
@@ -33,9 +35,11 @@
|
||||
|
||||
.group c
|
||||
c dZ
|
||||
ce (_S2 dZ%E
|
||||
|
||||
.group ç
|
||||
ç tS
|
||||
çe (_S2 tS%E
|
||||
|
||||
.group d
|
||||
d d
|
||||
@@ -57,13 +61,13 @@
|
||||
dın (_S3 d@n
|
||||
dınız (_S5 d@n@z
|
||||
dı (_S2 d@
|
||||
dılar (_S5 d@laR
|
||||
dılar (_S5 d@LaR
|
||||
dum (_S3 dum
|
||||
duk (_S3 duk
|
||||
dun (_S3 dun
|
||||
dunuz (_S5 dunuz
|
||||
du (_S2 du
|
||||
dular (_S5 dular
|
||||
dular (_S5 duLar
|
||||
düm (_S3 dym
|
||||
dük (_S3 dyk
|
||||
dün (_S3 dyn
|
||||
@@ -96,18 +100,24 @@
|
||||
|
||||
.group g
|
||||
g g
|
||||
g (i J
|
||||
g (e J
|
||||
g (ü J
|
||||
g (ö J
|
||||
g (L03 J
|
||||
L03) g (K J
|
||||
|
||||
|
||||
.group ğ
|
||||
ğ Q
|
||||
A) ğ :||
|
||||
?1 A) ğ G // mbrola
|
||||
A) ğ :
|
||||
?1 A) ğ (+ G // mbrola
|
||||
|
||||
a) ğa :
|
||||
o) ğo :
|
||||
u) ğu :
|
||||
ö) ğö :
|
||||
ü) ğü :
|
||||
i) ğ j
|
||||
e) ğ j
|
||||
|
||||
|
||||
.group h
|
||||
h h
|
||||
|
||||
@@ -135,37 +145,40 @@
|
||||
@) ıyor (_S4 @j%oR
|
||||
@) ın (_S2 @n
|
||||
|
||||
.group î
|
||||
î @
|
||||
|
||||
|
||||
.group j
|
||||
j Z
|
||||
|
||||
.group k
|
||||
k k
|
||||
k (i c
|
||||
k (e c
|
||||
k (ü c
|
||||
k (ö c
|
||||
k (L03 c
|
||||
L03) k (K c
|
||||
|
||||
ken (_S3 %cen
|
||||
|
||||
|
||||
.group l
|
||||
l l
|
||||
l (L02 L
|
||||
L02) l (K L
|
||||
|
||||
la (_S2 %la
|
||||
la (_S2 %La
|
||||
le (_S2 %le
|
||||
|
||||
lar (_S3 laR
|
||||
lar (_S3 LaR
|
||||
ler (_S3 leR
|
||||
|
||||
li (_S2 li
|
||||
lı (_S2 l@
|
||||
lu (_S2 lu
|
||||
lı (_S2 L@
|
||||
lu (_S2 Lu
|
||||
lü (_S2 ly
|
||||
|
||||
lik (_S3 lik
|
||||
lık (_S3 l@k
|
||||
luk (_S3 luk
|
||||
lık (_S3 L@k
|
||||
luk (_S3 Luk
|
||||
lük (_S3 lyk
|
||||
|
||||
|
||||
@@ -204,6 +217,7 @@
|
||||
.group r
|
||||
r R
|
||||
A) r (A *
|
||||
ğ) r (A *
|
||||
|
||||
ra (_S2 %Ra
|
||||
re (_S2 %Re
|
||||
@@ -308,7 +322,7 @@
|
||||
yunuz (_S5 %junuz
|
||||
yünüz (_S5 %jynyz
|
||||
|
||||
yla (_S3 %jla
|
||||
yla (_S3 %jLa
|
||||
yle (_S3 %jle
|
||||
|
||||
yacak (_S5 jadZak
|
||||
@@ -317,7 +331,7 @@
|
||||
yecekmiş (_S8 jedZekm%iS
|
||||
|
||||
yayım (_S5 jaj@m
|
||||
yalım (_S5 jal@m
|
||||
yalım (_S5 jaL@m
|
||||
yasın (_S5 jas@n
|
||||
yeyim (_S5 jejim
|
||||
yelim (_S5 jelim
|
||||
|
||||
+404
-273
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -13,4 +13,5 @@ formant 6 100 100 100
|
||||
formant 7 100 100 100
|
||||
formant 8 100 100 100
|
||||
|
||||
consonants 100
|
||||
stressAdd 10 10 0 0 0 0 -30 -30
|
||||
|
||||
@@ -3,6 +3,8 @@ language hy-west
|
||||
language hy 8
|
||||
gender male
|
||||
|
||||
dictrules 1
|
||||
|
||||
// change consonants for West Armenian pronunciation
|
||||
replace 00 b p#
|
||||
replace 00 d t#
|
||||
@@ -16,5 +18,5 @@ replace 00 ts dz
|
||||
replace 00 c dZ
|
||||
replace 00 k g
|
||||
|
||||
replace 00 ** R // ??
|
||||
replace 00 r R
|
||||
replace 00 R2 R // ??
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
name Korean
|
||||
language ko
|
||||
gender male
|
||||
pitch 80 118
|
||||
intonation 2
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
name vietnam_sgn
|
||||
language vi-sgn
|
||||
phonemes vi-sgn
|
||||
dictrules 2
|
||||
gender male
|
||||
|
||||
words 1
|
||||
pitch 82 118 //80 118
|
||||
//breath 75 75 60 40 15 10
|
||||
//breathw 150 150 200 200 400 400
|
||||
voicing 90 //18
|
||||
flutter 20
|
||||
@@ -1,4 +1,4 @@
|
||||
name Irish Gaeilge
|
||||
name irish-gaeilge
|
||||
language ga
|
||||
|
||||
dictrules 1 // fix for eclipsis
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name lancashire
|
||||
name english-north
|
||||
language en-uk-north
|
||||
language en-uk 3
|
||||
language en 5
|
||||
@@ -10,6 +10,6 @@ stressLength 160 150 180 180 220 220 290 290
|
||||
|
||||
replace 00 i@3 i@
|
||||
replace 03 N n
|
||||
//replace 03 I i
|
||||
//replace 03 I2 i
|
||||
replace 03 i I2
|
||||
|
||||
|
||||
|
||||
@@ -4,4 +4,5 @@ language pt
|
||||
gender male
|
||||
|
||||
dictrules 2
|
||||
stressLength 200 115 230 230 0 0 250 270
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
name azerbaijani-test
|
||||
language az
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
+10
-1
@@ -16,7 +16,16 @@ nucleus0 fall-rise 80 18
|
||||
nucleus fall-rise2 78 22 34 52
|
||||
endtune
|
||||
|
||||
tune q1
|
||||
tune q1 // small change for version 1.47.05
|
||||
prehead 45 56
|
||||
headenv fall 16
|
||||
head 3 75 43 -7 0
|
||||
headextend 20 60 35 11 0
|
||||
nucleus0 fall-rise 89 21
|
||||
nucleus fall-rise2 86 21 34 68
|
||||
endtune
|
||||
|
||||
tune q1a // previous version
|
||||
prehead 46 57
|
||||
headenv fall 16
|
||||
head 4 75 43 -7 0
|
||||
|
||||
+2
-1
@@ -1,3 +1,4 @@
|
||||
volume 17
|
||||
|
||||
0 l/2 NULL 0 l
|
||||
0 l/ NULL 0 l
|
||||
@@ -10,7 +11,6 @@
|
||||
0 j/ NULL 0 j
|
||||
0 ; NULL 0 NULL
|
||||
0 g- NULL 0 NULL
|
||||
0 @- NULL 0 NULL
|
||||
0 @3 NULL 0 NULL
|
||||
0 * NULL 0 R
|
||||
0 : NULL 0 NULL
|
||||
@@ -43,6 +43,7 @@
|
||||
0 z2 NULL 0 z
|
||||
0 z3 NULL 0 z
|
||||
|
||||
0 @- NULL 0 @
|
||||
0 a- NULL 0 a
|
||||
0 e- NULL 0 e
|
||||
0 y- NULL 0 y
|
||||
|
||||
+16
-10
@@ -1,19 +1,22 @@
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/ii_5)
|
||||
endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 160
|
||||
length 200
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
length 160
|
||||
length 200
|
||||
IF thisPh(isWordEnd) THEN
|
||||
FMT(vowel/&_3)
|
||||
ENDIF
|
||||
FMT(vowel/&)
|
||||
endphoneme
|
||||
|
||||
@@ -25,32 +28,35 @@ endphoneme
|
||||
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 180
|
||||
length 200
|
||||
FMT(vowel/y#_2)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 160
|
||||
FMT(vowel/u_5)
|
||||
length 180
|
||||
FMT(vowel/u_2)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 160
|
||||
FMT(vowel/o_mid)
|
||||
length 200
|
||||
FMT(vowel/o_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
FMT(vowel/aa)
|
||||
IF thisPh(isWordEnd) THEN
|
||||
FMT(vowel/a#)
|
||||
ENDIF
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
ipa ɯ
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/u#_7)
|
||||
endphoneme
|
||||
|
||||
|
||||
+11
-11
@@ -7,7 +7,7 @@
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 180
|
||||
length 190
|
||||
IF thisPh(isDiminished) THEN
|
||||
ChangePhoneme(a/)
|
||||
FMT(vowel/a#)
|
||||
@@ -18,28 +18,28 @@ endphoneme
|
||||
|
||||
phoneme a/
|
||||
vowel starttype #@ endtype #@
|
||||
length 180
|
||||
length 190
|
||||
FMT(vowel/a#)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 170
|
||||
length 180
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 170
|
||||
length 180
|
||||
FMT(vowel/ee_1)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
length 170
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
@@ -47,42 +47,42 @@ endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
FMT(vowel/o)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 170
|
||||
length 180
|
||||
FMT(vowel/oo_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/u_bck)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/uu_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #@ endtype #@
|
||||
length 160
|
||||
length 180
|
||||
FMT(vowel/y#)
|
||||
endphoneme
|
||||
|
||||
|
||||
+5
-2
@@ -17,8 +17,11 @@ phoneme V // inherent vowel, can be [O] or [o]
|
||||
ChangePhoneme(o)
|
||||
ENDIF
|
||||
|
||||
IF prevPhW(r) THEN
|
||||
ChangePhoneme(o)
|
||||
IF prevPhW(r) AND nextVowel(isVowel) THEN
|
||||
IF nextVowel(isWordEnd) AND nextVowel(V) THEN
|
||||
ELSE
|
||||
ChangePhoneme(o)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
|
||||
+213
-145
@@ -8,113 +8,213 @@
|
||||
// AC + @- OR V: Long "pile" [pi:l@-]
|
||||
// AC[i]: Long "smidig" [smi:Di]
|
||||
|
||||
// Change the length of short vowels (?+vowel)
|
||||
// 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
|
||||
// "endelig", "ånder" - Short initial vowel sounds too short TEST
|
||||
IF thisPh(isWordStart) AND nextPhW(n) THEN
|
||||
IF next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 160
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "slutte" t/d + @- makes the vowel too long
|
||||
// Problem with compounds like "spildedamp"
|
||||
IF next2PhW(@-) OR next2PhW(V) THEN
|
||||
IF nextPhW(t) OR nextPhW(d) THEN
|
||||
// length 100
|
||||
LengthAdd -45
|
||||
// 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
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "bygget", "byggede" - consonant + [@-D] makes the vowel too long
|
||||
IF next2PhW(@-) THEN
|
||||
IF next3PhW(t) OR next3PhW(d) OR next3PhW(D) THEN
|
||||
IF thisPh(isFirstVowel) THEN // NOT "cellof'anet"
|
||||
IF NOT thisPh(?V) THEN // NOT "fjollet"
|
||||
LengthAdd -40
|
||||
// Don't shorten it further if it comes after an "r" sound ("brygget")
|
||||
// Exit the procedure
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "bygger" - consonant + [V] makes the vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
|
||||
LengthAdd -50
|
||||
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
|
||||
IF NOT thisPh(isWordStart) THEN // NOT "eller"
|
||||
// LengthAdd -45
|
||||
// Don't shorten it further if it comes after an "r" sound ("brygger")
|
||||
// Exit the procedure
|
||||
RETURN
|
||||
ENDIF
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "rigtigt", "fred", "frem", "centralen" - R makes the vowel too long
|
||||
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
|
||||
IF prevPhW(R) OR prevPhW(3-) OR prevPhW(r) THEN
|
||||
// length 100
|
||||
LengthAdd -50
|
||||
ENDIF
|
||||
// "ring", "ringe", "fængsel"
|
||||
IF nextPhW(N) THEN
|
||||
LengthAdd -40
|
||||
RETURN
|
||||
ENDIF
|
||||
// "ring", "ringe", "fængsel", "spinkel", "vindspejl"
|
||||
IF nextPhW(isNasal) 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
|
||||
LengthAdd -30
|
||||
RETURN
|
||||
ENDIF
|
||||
// "sigte", "bælte", "henter" t/d + @-/V makes the vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(t) OR next2PhW(d) THEN
|
||||
IF next3PhW(@-) OR next3PhW(V) THEN
|
||||
IF thisPh(isFirstVowel) THEN // NOT [i] in "forsp'ildte"
|
||||
// length 100
|
||||
LengthAdd -50
|
||||
ENDIF
|
||||
ENDIF
|
||||
LengthAdd -30
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "forbandelse" [n@-] makes the vowel too long?
|
||||
// nasal eg: m, n, N
|
||||
IF nextPhW(isNasal) AND next2PhW(@-) THEN
|
||||
IF NOT thisPh(isFirstVowel) AND thisPh(isStressed) THEN
|
||||
// NOT LengthAdd since [R] might have shortend the vowel above
|
||||
length 100
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "himlen" l/3 makes the vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(l/3) AND next3PhW(@-) OR next3PhW(V) THEN
|
||||
length 100
|
||||
ENDIF
|
||||
// "lænkerne" l/3 makes the vowel too long
|
||||
IF prevPh(l/3) AND nextPhW(isNotVowel) AND next3PhW(V) THEN
|
||||
length 120
|
||||
ENDIF
|
||||
//"musikken" consonant + [@-n] makes the vowel too long
|
||||
// Probably wrong. Only k?
|
||||
IF nextPhW(k) AND next2PhW(@-) AND next3PhW(n) THEN
|
||||
length 100
|
||||
ENDIF
|
||||
//"svælge" [svElj@-] vowel + 2 consonants but length 100 is too short
|
||||
IF nextPhW(isNotVowel) AND next2PhW(j) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
endprocedure
|
||||
|
||||
// Change the length of normal vowels (without ? in front of them)
|
||||
// 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
|
||||
// "guldmine" [ul/3] makes the vowel extremely short
|
||||
IF prevVowel(u) AND prev2PhW(l/3) THEN
|
||||
length 350
|
||||
RETURN
|
||||
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
|
||||
// "guldur" [ul/3] makes the vowel extremely short
|
||||
IF prevVowel(u) AND prevPhW(l/3) THEN
|
||||
IF NOT thisPh(isWordEnd) THEN // NOT "umulig"
|
||||
length 325
|
||||
RETURN
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "alene" - Short initial vowel sounds too short at length 140
|
||||
IF thisPh(isWordStart) THEN
|
||||
length 160
|
||||
// "ønske" The vowel should have been made short becauce og 2 x consonant.
|
||||
// Take care of it here
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(isNotVowel) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
// "ære"
|
||||
IF nextPhW(V) AND nextPhW(isFinalVowel) THEN
|
||||
length 240
|
||||
ENDIF
|
||||
RETURN
|
||||
ENDIF
|
||||
// "huske" - hACC@- vowel too long
|
||||
IF prevPhW(h) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) AND next3PhW(@-) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "glimrende" [l/3] makes the following vowel too long
|
||||
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
|
||||
// "dele", "mene", "møve"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) OR next2PhW(3) OR next3PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "sveder", "deler"
|
||||
IF nextPhW(isNotVowel) AND next2PhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
// "maskinen" consonant + [@-n]: vowel too long
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(n) THEN
|
||||
length 160
|
||||
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 NOT thisPh(V) AND next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "føden"
|
||||
IF nextPhW(D) AND next2PhW(@-) AND next3PhW(n) THEN
|
||||
length 180
|
||||
ENDIF
|
||||
// "glimrende", "glemte" [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
|
||||
IF prev2PhW(g) AND prevPhW(l/3) AND nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
length 110
|
||||
RETURN
|
||||
ENDIF
|
||||
// l/3 makes the vowel too long (+ voiced?)
|
||||
// isVoiced = b, d, g, v, z
|
||||
IF prevPhW(l/3) AND nextPhW(isVoiced) THEN
|
||||
// "klub", "klud"
|
||||
// The vowel should have been short but we fix it here
|
||||
IF NOT next2PhW(@-) AND NOT next2PhW(V) THEN
|
||||
length 100
|
||||
ELSE
|
||||
// "slæde", "lader"
|
||||
length 160
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "længe" - short - 2 consonants => 1 consonant (ng => [N])
|
||||
IF nextPhW(N) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
IF nextPhW(isNasal) THEN
|
||||
IF NOT prevPhW(R) AND NOT prevPhW(r) AND NOT prevPhW(3-) THEN
|
||||
length 140
|
||||
// "omkring", "ring" - both prev. N and next R
|
||||
ELIF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "buskene", "krøbling" The vowel should have been made short becauce og 2 x consonant.
|
||||
// Take care of it here
|
||||
IF nextPhW(isNotVowel) AND next2PhW(isNotVowel) THEN
|
||||
IF NOT nextPhW(l/3) THEN
|
||||
IF NOT nextPhW(r) AND NOT prevPhW(R) AND NOT prevPhW(3-) THEN // NOT "Maria"
|
||||
length 110
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
// "barnet" - consonant + [@-D]: too long vowel
|
||||
IF nextPhW(isNotVowel) AND next2PhW(@-) AND next3PhW(D) THEN
|
||||
length 160
|
||||
ENDIF
|
||||
// "trin", "trit", "ring" - vowel too long
|
||||
// IF prevPhW(isRhotic) THEN
|
||||
IF prevPhW(R) OR prevPhW(r) OR prevPhW(3-) THEN
|
||||
IF nextPhW(isNotVowel) AND nextPhW(isWordEnd) THEN
|
||||
length 110
|
||||
ENDIF
|
||||
ENDIF
|
||||
endprocedure
|
||||
|
||||
// A bit longer than [@-]
|
||||
@@ -167,22 +267,6 @@ endphoneme
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
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 140
|
||||
ENDIF
|
||||
//"skider" short
|
||||
IF nextPhW(D) AND next2PhW(V) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
//"skideren" long
|
||||
IF nextPhW(D) AND next2PhW(V) AND next3PhW(V) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/i_4)
|
||||
endphoneme
|
||||
@@ -209,7 +293,7 @@ phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 140
|
||||
CALL LongVowelLength
|
||||
CALL ShortVowelLength
|
||||
// CALL ShortVowelLength
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
@@ -257,7 +341,7 @@ endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #e endtype #e
|
||||
ipa æ
|
||||
ipa a
|
||||
length 140
|
||||
// "same", "sale", "bade" - consonant + @-: long
|
||||
// but NOT "hinanden"
|
||||
@@ -279,8 +363,10 @@ endphoneme
|
||||
// e.g. the last a in "staldkarl"
|
||||
// "sale" vs. "sal"
|
||||
phoneme ?&
|
||||
ipa a
|
||||
vowel starttype #e endtype #e
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/ee_2)
|
||||
endphoneme
|
||||
|
||||
@@ -298,6 +384,7 @@ endphoneme
|
||||
// "revl" vs. "tremme"
|
||||
phoneme ?&#
|
||||
vowel starttype #e endtype #e
|
||||
ipa ?a
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/&)
|
||||
@@ -372,11 +459,11 @@ phoneme O
|
||||
ipa ɒ // changed from ɔ - Den Danske Ordbog: ɒ
|
||||
// "sove", "sover" - consonant + @ or V: long
|
||||
IF next2PhW(@-) OR next2PhW(V) THEN
|
||||
length 225
|
||||
// length 225
|
||||
ENDIF
|
||||
// PB "gået" - ThisPh + V or @-
|
||||
IF nextPhW(V) OR nextPhW(@-) THEN
|
||||
length 225
|
||||
// length 225
|
||||
ENDIF
|
||||
// "såre", "sårede" [s'O:?OD@-]
|
||||
IF nextPhW(O) OR nextPhW(?O) THEN
|
||||
@@ -391,6 +478,7 @@ endphoneme
|
||||
phoneme ?O
|
||||
vowel starttype #o endtype #o
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
|
||||
@@ -406,6 +494,7 @@ endphoneme
|
||||
phoneme ?V
|
||||
vowel starttype #@ endtype #@
|
||||
length 140
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/V_4)
|
||||
endphoneme
|
||||
|
||||
@@ -416,34 +505,19 @@ phoneme 0
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
// Short 0 "sukker"
|
||||
// Short 0 "sukker", "provst"
|
||||
phoneme ?0
|
||||
vowel starttype #o endtype #o
|
||||
length 140
|
||||
ipa ɔ
|
||||
CALL ShortVowelLength
|
||||
FMT(vowel/oo_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
vowel starttype #i endtype #i
|
||||
length 140
|
||||
// PB long vowel followed by consonant and certain vowels
|
||||
// "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
|
||||
// "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(w) AND next2PhW(@-) THEN
|
||||
length 225
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/y)
|
||||
endphoneme
|
||||
|
||||
@@ -468,15 +542,7 @@ endphoneme
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 140
|
||||
// "røveri" but NOT "surfer" [sWfV] TEST
|
||||
IF next2PhW(V) OR next2PhW(?V) AND NOT next2PhW(isFinalVowel) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
// "børnebog" - short
|
||||
IF nextPhW(r) AND next2PhW(n) AND next3PhW(@-) THEN
|
||||
length 140
|
||||
ENDIF
|
||||
CALL LongVowelLength
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/oe)
|
||||
endphoneme
|
||||
|
||||
@@ -492,11 +558,8 @@ endphoneme
|
||||
// Added for the ø in "røv", "røg", "øje" instead of [V3]
|
||||
phoneme W#
|
||||
vowel starttype #@ endtype #@
|
||||
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 225
|
||||
ENDIF
|
||||
length 140
|
||||
CALL LongVowelLength
|
||||
FMT(vowel/V)
|
||||
endphoneme
|
||||
|
||||
@@ -540,7 +603,7 @@ phoneme l
|
||||
lengthmod 7
|
||||
// [ll] => [-l] - avoid double l
|
||||
IF nextPhW(l) THEN
|
||||
// ChangePhoneme(-)
|
||||
// ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
ChangePhoneme(l/3)
|
||||
// CALL base/l
|
||||
@@ -565,6 +628,10 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
|
||||
IF nextPhW(isVowel) AND NOT nextPhW(?V) AND NOT nextPhW(V) AND NOT nextPhW(@-) THEN
|
||||
ChangePhoneme(R)
|
||||
ENDIF
|
||||
// "generer" [Sen'e:Vr], "mysterier" - delete the r
|
||||
IF prevPhW(V) AND thisPh(isWordEnd) THEN
|
||||
ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
FMT(r/a_)
|
||||
endphoneme
|
||||
|
||||
@@ -637,7 +704,7 @@ IF thisPh(isWordEnd) THEN
|
||||
ENDIF
|
||||
IF nextPhW(isVowel) THEN
|
||||
NextVowelStarts
|
||||
VowelStart(j/j@)
|
||||
VowelStart(j/j@,-45) // jøderne
|
||||
VowelStart(j/ja)
|
||||
VowelStart(j/je,-35)
|
||||
VowelStart(j/ji)
|
||||
@@ -655,4 +722,5 @@ Vowelout len=70
|
||||
Vowelout len=70
|
||||
FMT(j/j_)
|
||||
ENDIF
|
||||
endphoneme
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -263,8 +263,8 @@ endphoneme
|
||||
|
||||
phoneme OI
|
||||
vowel starttype #o endtype #i
|
||||
length 280
|
||||
FMT(vdiph/ooi_4)
|
||||
length 270
|
||||
FMT(vdiph/ooi_3)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+39
-16
@@ -13,7 +13,7 @@ phoneme @
|
||||
length 130
|
||||
|
||||
ChangeIfDiminished(@-)
|
||||
IF nextPh(H) THEN
|
||||
IF nextPh(H) OR prevPh(H) THEN
|
||||
FMT(vowel/@_low)
|
||||
ENDIF
|
||||
FMT(vowel/@_bck)
|
||||
@@ -24,6 +24,11 @@ phoneme V
|
||||
vowel flag1 starttype #@ endtype #@
|
||||
length 130
|
||||
|
||||
IF thisPh(isWordStart) THEN
|
||||
FMT(vowel/V_3)
|
||||
RETURN
|
||||
ENDIF
|
||||
|
||||
IF thisPh(isNotStressed) THEN
|
||||
IF prevPh(H) THEN
|
||||
ChangePhoneme(@)
|
||||
@@ -33,15 +38,11 @@ phoneme V
|
||||
ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
|
||||
IF NOT nextVowel(isFlag1) THEN
|
||||
IF thisPh(isSeqFlag1) THEN
|
||||
// delete the last inherent vowel of a sequence
|
||||
ChangePhoneme(NULL)
|
||||
IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN
|
||||
IF nextPhW(isNotVowel) AND nextPh(isWordEnd) THEN
|
||||
// don't delete schwa before a word-final consonant
|
||||
ELSE
|
||||
IF NOT thisPh(isFirstVowel) THEN
|
||||
// delete if not the first vowel, and is an isolated 'a'
|
||||
ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
ChangePhoneme(NULL)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -55,7 +56,7 @@ phoneme V
|
||||
ChangePhoneme(@)
|
||||
ENDIF
|
||||
|
||||
IF nextPh(H) THEN
|
||||
IF nextPh(H) OR prevPh(H) THEN
|
||||
FMT(vowel/@_low)
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -135,6 +136,9 @@ endphoneme
|
||||
phoneme a:
|
||||
vowel long starttype #a endtype #a
|
||||
length 190
|
||||
IF nextPhW(j) THEN
|
||||
FMT(vowel/a_5)
|
||||
ENDIF
|
||||
FMT(vowel/aa_9)
|
||||
endphoneme
|
||||
|
||||
@@ -208,25 +212,25 @@ endphoneme
|
||||
|
||||
phoneme E~
|
||||
vowel long starttype #e endtype #e
|
||||
length 230
|
||||
length 220
|
||||
FMT(vnasal/ee_n2)
|
||||
endphoneme
|
||||
|
||||
phoneme a~
|
||||
vowel long starttype #a endtype #a
|
||||
length 250
|
||||
FMT(vnasal/aa_n)
|
||||
length 220
|
||||
FMT(vnasal/&_n)
|
||||
endphoneme
|
||||
|
||||
phoneme V~
|
||||
vowel long starttype #@ endtype #@
|
||||
length 250
|
||||
length 220
|
||||
FMT(vnasal/V_n)
|
||||
endphoneme
|
||||
|
||||
phoneme O~
|
||||
vowel long starttype #o endtype #o
|
||||
length 230
|
||||
length 220
|
||||
FMT(vnasal/oo_n2)
|
||||
endphoneme
|
||||
|
||||
@@ -244,7 +248,7 @@ endphoneme
|
||||
|
||||
phoneme u~
|
||||
vowel long starttype #u endtype #u
|
||||
length 230
|
||||
length 220
|
||||
FMT(vnasal/u_n)
|
||||
endphoneme
|
||||
|
||||
@@ -513,3 +517,22 @@ phoneme #X2 // click, use for indicating combining long vowels
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme r
|
||||
liquid rhotic
|
||||
lengthmod 3
|
||||
|
||||
IF thisPh(isWordEnd) THEN
|
||||
CALL base/r/
|
||||
ELSE
|
||||
IF prevPhW(isVowel) THEN
|
||||
IF nextPhW(isNotVowel) OR nextPhW(V) THEN
|
||||
ChangePhoneme(*)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
CALL base/r
|
||||
ENDIF
|
||||
ipa ɾ
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ endphoneme
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 130
|
||||
IF nextPh(isVowel) THEN
|
||||
IF thisPh(isWordEnd) AND thisPh(isAfterStress) AND nextPh(isVowel) THEN
|
||||
ChangePhoneme(w)
|
||||
ENDIF
|
||||
FMT(vowel/u_6)
|
||||
|
||||
@@ -135,7 +135,7 @@ endphoneme
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 140
|
||||
IF thisPh(isWordEnd) AND nextPh(isVowel) THEN
|
||||
IF thisPh(isWordEnd) AND thisPh(isAfterStress) AND nextPh(isVowel) THEN
|
||||
ChangePhoneme(w)
|
||||
ENDIF
|
||||
FMT(vowel/uu_bck)
|
||||
|
||||
+13
-8
@@ -6,44 +6,44 @@
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 180
|
||||
length 200
|
||||
FMT(vowel/a_4)
|
||||
endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/e_mid2)
|
||||
endphoneme
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 170
|
||||
length 190
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/i)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/oo)
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/oo)
|
||||
endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 180
|
||||
length 200
|
||||
FMT(vowel/u_bck2)
|
||||
endphoneme
|
||||
|
||||
@@ -107,11 +107,16 @@ phoneme D
|
||||
voicingswitch T
|
||||
CALL base/D
|
||||
IF nextPh(isPause2) THEN
|
||||
FMT(voc/dh_) addWav(vocw/dh, 40) // weaker
|
||||
FMT(voc/dh_) addWav(vocw/dh, 35) // weaker
|
||||
ENDIF
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme t // dental variant of /t/
|
||||
import_phoneme base/t[
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme s
|
||||
vls alv frc sibilant
|
||||
lengthmod 3
|
||||
|
||||
+37
-17
@@ -2,7 +2,7 @@
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
length 180
|
||||
IF thisPh(isTranslationGiven) THEN
|
||||
// don't reduce the vowel if phonemes are explicitly given
|
||||
ELSE
|
||||
@@ -18,14 +18,14 @@ endphoneme
|
||||
|
||||
phoneme I
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
length 180
|
||||
FMT(vowel/ii_5)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme y
|
||||
vowel starttype #u endtype #u
|
||||
length 155
|
||||
length 180
|
||||
IF thisPh(isTranslationGiven) THEN
|
||||
// don't reduce the vowel if phonemes are explicitly given
|
||||
ELSE
|
||||
@@ -41,7 +41,7 @@ endphoneme
|
||||
|
||||
phoneme Y
|
||||
vowel starttype #u endtype #u
|
||||
length 155
|
||||
length 180
|
||||
FMT(vowel/u#)
|
||||
endphoneme
|
||||
|
||||
@@ -49,10 +49,16 @@ endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 180
|
||||
length 200
|
||||
IF thisPh(isTranslationGiven) THEN
|
||||
// don't reduce the vowel if phonemes are explicitly given
|
||||
ELSE
|
||||
IF nextPh(isWordEnd) OR next2PhW(isNotVowel) THEN
|
||||
IF nextPh(isRhotic) OR nextPh(isNasal) OR nextPh(l) OR nextPh(L) THEN
|
||||
ChangePhoneme(&)
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF thisPh(isFinalVowel) THEN
|
||||
ChangePhoneme(E)
|
||||
ENDIF
|
||||
@@ -65,21 +71,27 @@ endphoneme
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 180
|
||||
length 200
|
||||
FMT(vowel/e_mid)
|
||||
endphoneme
|
||||
|
||||
phoneme &
|
||||
vowel starttype #a endtype #a
|
||||
length 200
|
||||
FMT(vowel/ee_6)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme W
|
||||
vowel starttype #@ endtype #@
|
||||
length 180
|
||||
length 200
|
||||
FMT(vowel/y#)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a
|
||||
vowel starttype #a endtype #a
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/a#_4)
|
||||
endphoneme
|
||||
|
||||
@@ -87,7 +99,7 @@ endphoneme
|
||||
|
||||
phoneme u
|
||||
vowel starttype #u endtype #u
|
||||
length 150
|
||||
length 180
|
||||
IF thisPh(isTranslationGiven) THEN
|
||||
// don't reduce the vowel if phonemes are explicitly given
|
||||
ELSE
|
||||
@@ -103,7 +115,7 @@ endphoneme
|
||||
|
||||
phoneme U
|
||||
vowel starttype #u endtype #u
|
||||
length 150
|
||||
length 180
|
||||
FMT(vowel/uu_2)
|
||||
endphoneme
|
||||
|
||||
@@ -111,7 +123,7 @@ endphoneme
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #@
|
||||
ipa ɯ
|
||||
length 150
|
||||
length 180
|
||||
FMT(vowel/u#_7)
|
||||
endphoneme
|
||||
|
||||
@@ -119,7 +131,7 @@ endphoneme
|
||||
|
||||
phoneme o
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
length 200
|
||||
IF thisPh(isTranslationGiven) THEN
|
||||
// don't reduce the vowel if phonemes are explicitly given
|
||||
ELSE
|
||||
@@ -135,7 +147,7 @@ endphoneme
|
||||
|
||||
phoneme O
|
||||
vowel starttype #o endtype #o
|
||||
length 190
|
||||
length 200
|
||||
FMT(vowel/oo)
|
||||
endphoneme
|
||||
|
||||
@@ -179,12 +191,20 @@ phoneme J
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme l
|
||||
import_phoneme en/l
|
||||
endphoneme
|
||||
|
||||
phoneme G
|
||||
import_phoneme en/r/
|
||||
lengthmod 7
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme R
|
||||
vcd alv flp rhotic
|
||||
IF prevPhW(isVowel) AND nextPhW(isVowel) THEN
|
||||
CALL base/*
|
||||
// ELIF prevPhW(isNotVowel) THEN
|
||||
// CALL base/R
|
||||
ELSE
|
||||
CALL base/r
|
||||
ENDIF
|
||||
ipa ɾ
|
||||
endphoneme
|
||||
|
||||
+80
-50
@@ -18,13 +18,13 @@ endphoneme
|
||||
|
||||
phoneme 3 // sắc Tone(rising
|
||||
stress
|
||||
Tone(25, 50, envelope/p_rise, NULL) // 25
|
||||
Tone(30, 60, envelope/p_rise, NULL) // 25 50
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 4 // hỏi Tone(curve (dipping rising)
|
||||
stress
|
||||
Tone(30, 5, envelope/p_fallrise, NULL)
|
||||
Tone(40, 5, envelope/p_fallrise, NULL) //30
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -54,33 +54,33 @@ endphoneme
|
||||
|
||||
phoneme a
|
||||
vowel starttype #@ endtype #@
|
||||
length 120
|
||||
length 140
|
||||
FMT(vowel/a_6) //a_4)
|
||||
endphoneme
|
||||
|
||||
phoneme a:
|
||||
vowel starttype #a endtype #a
|
||||
length 200 //280
|
||||
FMT(vietnam/a) //FMT(vowel/a_6)
|
||||
length 240 //280
|
||||
FMT(vowel/a_8)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme E
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
length 240
|
||||
FMT(vowel/ee_3)
|
||||
endphoneme
|
||||
|
||||
phoneme e
|
||||
vowel starttype #e endtype #e
|
||||
length 200
|
||||
length 140
|
||||
FMT(vowel/e)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme i
|
||||
vowel starttype #i endtype #i
|
||||
length 190
|
||||
length 240
|
||||
IfNextVowelAppend(;)
|
||||
IF prevPhW(w) THEN
|
||||
VowelStart(w/wi)
|
||||
@@ -100,7 +100,7 @@ phoneme O
|
||||
ELSE
|
||||
length 200
|
||||
ENDIF
|
||||
FMT(vowel/aa_4)
|
||||
FMT(vowel/0_2) //aa_4)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
@@ -110,7 +110,7 @@ phoneme o
|
||||
ELSE
|
||||
length 200
|
||||
ENDIF
|
||||
FMT(vowel/o_2)
|
||||
FMT(vowel/o) // o_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -119,9 +119,9 @@ phoneme u
|
||||
IF nextPh(kh) OR nextPh(N) THEN // hear as ung sound
|
||||
length 120
|
||||
ELSE
|
||||
length 200
|
||||
length 240
|
||||
ENDIF
|
||||
FMT(vnasal/u_n) //vowel/u_7)
|
||||
FMT(vowel/u_5)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
@@ -129,7 +129,7 @@ phoneme y
|
||||
IF nextPh(kh) OR nextPh(N) THEN
|
||||
length 120
|
||||
ELSE
|
||||
length 200
|
||||
length 180
|
||||
ENDIF
|
||||
FMT(vowel/u#_5)
|
||||
endphoneme
|
||||
@@ -138,10 +138,10 @@ endphoneme
|
||||
|
||||
phoneme @
|
||||
vowel starttype #@ endtype #a
|
||||
IF nextPh(kh) OR nextPh(N) THEN
|
||||
IF nextPh(kh) OR nextPh(N) OR nextPh(n^) OR nextPh(c) THEN
|
||||
length 120
|
||||
ELSE
|
||||
length 170
|
||||
length 200
|
||||
ENDIF
|
||||
FMT(vowel/V) //vowel/@_2)
|
||||
endphoneme
|
||||
@@ -149,7 +149,7 @@ endphoneme
|
||||
|
||||
phoneme @:
|
||||
vowel starttype #@ endtype #@
|
||||
length 280
|
||||
length 200
|
||||
FMT(vowel/@_2)
|
||||
endphoneme
|
||||
|
||||
@@ -160,8 +160,8 @@ endphoneme
|
||||
|
||||
phoneme aI
|
||||
vowel starttype #a endtype #i
|
||||
length 200 //250
|
||||
FMT(vdiph/&y)
|
||||
length 140 //250
|
||||
FMT(vdiph/&i_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -188,14 +188,14 @@ endphoneme
|
||||
|
||||
phoneme eI
|
||||
vowel starttype #e endtype #i
|
||||
length 200
|
||||
length 140
|
||||
FMT(vdiph/ei)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme EI
|
||||
vowel starttype #e endtype #i
|
||||
length 200
|
||||
length 140
|
||||
FMT(vdiph/eei)
|
||||
endphoneme
|
||||
|
||||
@@ -203,7 +203,7 @@ endphoneme
|
||||
phoneme OI
|
||||
vowel starttype #o endtype #i
|
||||
length 200
|
||||
FMT(vdiph/0i)
|
||||
FMT(vdiph/ooi_3)
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -231,14 +231,14 @@ endphoneme
|
||||
|
||||
phoneme aU
|
||||
vowel starttype #a endtype #u
|
||||
length 210
|
||||
length 200
|
||||
FMT(vdiph/aau_4)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme a:U
|
||||
vowel starttype #a endtype #u
|
||||
length 230 //270
|
||||
length 200 //270
|
||||
FMT(vdiph/au)
|
||||
endphoneme
|
||||
|
||||
@@ -258,19 +258,19 @@ endphoneme
|
||||
|
||||
phoneme iU
|
||||
vowel starttype #i endtype #u
|
||||
length 200
|
||||
length 140
|
||||
FMT(vdiph2/iu)
|
||||
endphoneme
|
||||
|
||||
phoneme @U
|
||||
vowel starttype #@ endtype #u
|
||||
length 200
|
||||
length 140
|
||||
FMT(vdiph/@u_3)
|
||||
endphoneme
|
||||
|
||||
phoneme @:U
|
||||
vowel starttype #@ endtype #u
|
||||
length 270
|
||||
length 140
|
||||
FMT(vdiph/@u)
|
||||
endphoneme
|
||||
|
||||
@@ -278,19 +278,19 @@ endphoneme
|
||||
|
||||
phoneme i@
|
||||
vowel starttype #i endtype #@
|
||||
length 240
|
||||
length 140
|
||||
FMT(vdiph2/ii@_3)
|
||||
endphoneme
|
||||
|
||||
phoneme y@
|
||||
vowel starttype #i endtype #@
|
||||
length 200
|
||||
length 140
|
||||
FMT(vdiph2/y-y#)
|
||||
endphoneme
|
||||
|
||||
phoneme u@
|
||||
vowel starttype #u endtype #@
|
||||
length 150 //200
|
||||
length 100 //200
|
||||
FMT(vdiph2/uu@)
|
||||
endphoneme
|
||||
|
||||
@@ -298,39 +298,67 @@ endphoneme
|
||||
|
||||
phoneme o# // ông
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
length 140
|
||||
FMT(vnasal/a#u_n)
|
||||
endphoneme
|
||||
|
||||
phoneme O# // ong
|
||||
vowel starttype #o endtype #o
|
||||
length 200
|
||||
length 140
|
||||
FMT(vnasal/&u_n)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme o@
|
||||
vowel starttype #o endtype #o
|
||||
length 160
|
||||
length 140
|
||||
FMT(vdiph2/oa)
|
||||
endphoneme
|
||||
|
||||
phoneme o&
|
||||
vowel starttype #o endtype #o
|
||||
length 160
|
||||
length 140
|
||||
FMT(vietnam/oe)
|
||||
endphoneme
|
||||
|
||||
phoneme iE // iê : viết, giệc
|
||||
vowel starttype #i endtype #e
|
||||
length 190
|
||||
length 140
|
||||
FMT(vietnam/ie_2)
|
||||
endphoneme
|
||||
|
||||
phoneme Oi // oai sound
|
||||
vowel starttype #o endtype #i
|
||||
length 140
|
||||
FMT(vdiph/ooi_3)
|
||||
endphoneme
|
||||
|
||||
// Vowel and Dipthong for south dialect
|
||||
|
||||
phoneme O- // ôi southern sound
|
||||
vowel starttype #o endtype #i
|
||||
length 150
|
||||
FMT(vnasal/oi_n)
|
||||
endphoneme
|
||||
|
||||
phoneme @- // ơi southern sound
|
||||
vowel starttype #o endtype #i
|
||||
length 150
|
||||
FMT(vdiph/@i_3)
|
||||
endphoneme
|
||||
|
||||
phoneme u- // u southern sound
|
||||
vowel starttype #u endtype #u
|
||||
length 150
|
||||
FMT(vowel/u_3,70)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
phoneme kh
|
||||
vls vel frc
|
||||
lengthmod 3
|
||||
Vowelin f1=0 f2=2300 200 400 f3=200 80
|
||||
Vowelin f1=0 f2=2300 200 400 f3=200 80 len=30
|
||||
Vowelout f1=0 f2=2300 300 400 f3=200 80 rms=20
|
||||
WAV(vietnam/_c,5) //ufric/x, 50)
|
||||
endphoneme
|
||||
@@ -338,11 +366,11 @@ endphoneme
|
||||
|
||||
phoneme l
|
||||
liquid
|
||||
lengthmod 7
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
|
||||
//lengthmod 7
|
||||
//IF nextPh(isNotVowel) THEN
|
||||
// ChangePhoneme(l/2)
|
||||
//ENDIF
|
||||
|
||||
//CALL vowelstart_l
|
||||
|
||||
FMT(l/l_vi)
|
||||
@@ -352,7 +380,7 @@ phoneme t
|
||||
vls alv stop
|
||||
//voicingswitch d
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
||||
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 len=30
|
||||
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
||||
|
||||
WAV(vietnam/th, 50)
|
||||
@@ -362,7 +390,7 @@ phoneme cr
|
||||
vls pla afr sibilant
|
||||
//voicingswitch dZ
|
||||
lengthmod 2
|
||||
Vowelin f1=0 f2=2300 200 400 f3=-100 80
|
||||
Vowelin f1=0 f2=2300 200 400 f3=-100 80 len=30
|
||||
|
||||
|
||||
WAV(vietnam/tr,10)
|
||||
@@ -370,10 +398,10 @@ endphoneme
|
||||
|
||||
phoneme d
|
||||
vcd alv stop
|
||||
lengthmod 5
|
||||
// lengthmod 5
|
||||
|
||||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk
|
||||
Vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=30
|
||||
Vowelout f1=2 f2=1700 -300 300 f3=-100 80 brk len=30
|
||||
WAV(vietnam/dd)
|
||||
endphoneme
|
||||
|
||||
@@ -381,9 +409,9 @@ WAV(vietnam/dd)
|
||||
vls pal stop palatal
|
||||
//voicingswitch J
|
||||
lengthmod 2
|
||||
length 75
|
||||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
||||
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=50 colr=1
|
||||
length 2
|
||||
Vowelin f1=0 f2=2700 400 600 f3=300 80 len=30 brk
|
||||
Vowelout f1=1 f2=2700 400 600 f3=200 70 len=30 colr=1
|
||||
|
||||
|
||||
WAV(vietnam/ch,5)
|
||||
@@ -402,18 +430,20 @@ endphoneme
|
||||
|
||||
phoneme n
|
||||
vcd alv nasal
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
|
||||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 brk len=30
|
||||
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk len=30
|
||||
lengthmod 4
|
||||
FMT(n/n#_)
|
||||
length 75
|
||||
FMT(n/nr_)
|
||||
endphoneme
|
||||
|
||||
phoneme t[ // dental variant of /t/
|
||||
vls dnt stop
|
||||
voicingswitch d[
|
||||
lengthmod 2
|
||||
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16
|
||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
|
||||
length 5
|
||||
Vowelin f1=1 f2=1500 -250 250 f3=-100 80 amp=16 len=30
|
||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20 len=30
|
||||
|
||||
IF nextPh(isPause2) THEN
|
||||
WAV(ustop/t_unasp2, 5)
|
||||
|
||||
+42
-5
@@ -6,31 +6,31 @@
|
||||
|
||||
phoneme 1 // ngang tone: level
|
||||
stress
|
||||
Tone(30, 2, envelope/p_level, NULL) // similar Hue dialect tone
|
||||
Tone(40, 5, envelope/p_level, NULL) // similar Hue dialect tone
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 2 // huyền tone: low falling
|
||||
stress
|
||||
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 8
|
||||
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 25
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 3 // sắc Tone(rising
|
||||
stress
|
||||
Tone(2, 10, envelope/p_rise, NULL) // 25 50 45 75
|
||||
Tone(2, 10, envelope/p_fallrise, NULL) // 2 10
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 4 // hỏi Tone(curve (dipping rising)
|
||||
stress
|
||||
Tone(20, 5, envelope/p_512,NULL) //Tone(55, 5, envelope/p_fallrise, NULL) //30 5 m 55 5
|
||||
Tone(5, 10, envelope/p_512,NULL) //20 5
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 5 // ngã tone: broken (creaking rising)
|
||||
stress
|
||||
Tone(50,2, envelope/p_214, envelope/vi_5amp) // 28,58 m20 85
|
||||
Tone(10, 15, envelope/p_512, envelope/vi_6amp) // 40 20
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -46,4 +46,41 @@ phoneme 7 // Tone(1 (ngang) at end of clause
|
||||
Tone(5, 40, envelope/p_level, NULL) //Tone(99, 50, envelope/p_fall, NULL) // 40 20
|
||||
endphoneme
|
||||
|
||||
// Redefine the length of vowels
|
||||
|
||||
phoneme i
|
||||
CALL vi/i
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
CALL vi/E
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme a:
|
||||
CALL vi/a:
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme @
|
||||
CALL vi/@
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme @:
|
||||
CALL vi/@:
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
CALL vi/O
|
||||
length 150
|
||||
FMT(vowel/0)
|
||||
endphoneme
|
||||
|
||||
phoneme Oi
|
||||
CALL vi/Oi
|
||||
length 100
|
||||
FMT(vdiph/ooi_2)
|
||||
endphoneme
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
|
||||
//====================================================
|
||||
// Vietnamese Phonemes - Make Sài gòn Dialect
|
||||
//====================================================
|
||||
|
||||
|
||||
phoneme 1 // ngang tone: level
|
||||
stress
|
||||
Tone(32, 34, envelope/p_level, NULL)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 2 // huyền tone: low falling
|
||||
stress
|
||||
Tone(35,20 , envelope/p_fall, NULL) //20
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 3 // sắc Tone(rising
|
||||
stress
|
||||
Tone(40,60, envelope/p_rise, NULL) // 25 50
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 4 // hỏi Tone(curve (dipping rising)
|
||||
stress
|
||||
Tone(30,50, envelope/p_rise, NULL) //envelope/vi_5amp) // 28,58
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 5 // ngã tone: broken (creaking rising)
|
||||
stress
|
||||
Tone(30,50, envelope/p_rise, NULL) //20,80, envelope/p_214, envelope/vi_5amp) // 28,58
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 6 // nặng Tone(drop (constricted)
|
||||
stress
|
||||
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
|
||||
Tone(10,5, envelope/p_512,NULL) // envelope/vi_6amp)
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 7 // Tone(1 (ngang) at end of clause
|
||||
stress
|
||||
Tone(40, 20, envelope/p_fall, NULL)
|
||||
endphoneme
|
||||
|
||||
// Redefine the length of vowels
|
||||
|
||||
phoneme i
|
||||
CALL vi/i
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme E
|
||||
CALL vi/E
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme a:
|
||||
CALL vi/a:
|
||||
length 150
|
||||
FMT(vietnam/a)
|
||||
endphoneme
|
||||
|
||||
phoneme @
|
||||
CALL vi/@
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme @:
|
||||
CALL vi/@:
|
||||
length 150
|
||||
endphoneme
|
||||
|
||||
phoneme O
|
||||
CALL vi/O
|
||||
length 150
|
||||
FMT(vowel/0)
|
||||
endphoneme
|
||||
|
||||
phoneme Oi
|
||||
CALL vi/Oi
|
||||
length 100
|
||||
FMT(vdiph/ooi_2)
|
||||
endphoneme
|
||||
|
||||
phoneme y
|
||||
CALL vi/y
|
||||
FMT(vowel/u#_4)
|
||||
endphoneme
|
||||
|
||||
phoneme o
|
||||
CALL vi/o
|
||||
FMT(vowel/o_5)
|
||||
endphoneme
|
||||
+60
-52
@@ -616,8 +616,8 @@ phoneme w
|
||||
|
||||
VowelEnding(w/xw, -30)
|
||||
|
||||
IF prevPh(isPause) THEN
|
||||
FMT(w/_w)
|
||||
IF prevPhW(isNasal) THEN
|
||||
FMT(w/w)
|
||||
ELSE
|
||||
FMT(w/_w)
|
||||
ENDIF
|
||||
@@ -634,7 +634,7 @@ endphoneme
|
||||
|
||||
|
||||
phoneme j
|
||||
liquid palatal
|
||||
liquid palatal starttype #i
|
||||
lengthmod 7
|
||||
|
||||
IF nextPhW(isVowel) THEN
|
||||
@@ -1610,7 +1610,7 @@ phoneme x
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-100 80 rms=20
|
||||
|
||||
IF nextPh(isPause) THEN
|
||||
WAV(ufric/x, 110)
|
||||
WAV(ufric/x_, 60)
|
||||
ENDIF
|
||||
WAV(ufric/x_hr, 20)
|
||||
endphoneme
|
||||
@@ -1745,9 +1745,6 @@ include ph_kannada
|
||||
phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
phonemetable te hi
|
||||
include ph_telugu
|
||||
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
@@ -1833,6 +1830,9 @@ include ph_vietnam
|
||||
phonemetable vi-hue vi
|
||||
include ph_vietnam_hue
|
||||
|
||||
phonemetable vi-sgn vi
|
||||
include ph_vietnam_sgn
|
||||
|
||||
phonemetable zhy base
|
||||
include ph_zh_yue
|
||||
|
||||
@@ -1867,31 +1867,14 @@ include ph_georgian
|
||||
phonemetable fa base
|
||||
include ph_farsi
|
||||
|
||||
// experimental
|
||||
|
||||
phonemetable ko base
|
||||
include ph_korean
|
||||
|
||||
phonemetable kl base
|
||||
include ph_greenlandic
|
||||
|
||||
phonemetable am base
|
||||
include ph_amhari
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
// These langauges are not in a usable state.
|
||||
// These lines can be deleted.
|
||||
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable rw base2
|
||||
//include ph_kinyarwanda
|
||||
phonemetable rw base2
|
||||
include ph_kinyarwanda
|
||||
|
||||
//phonemetable mr hi
|
||||
//include ph_marathi
|
||||
@@ -1902,42 +1885,67 @@ include ph_slovenian
|
||||
//phonemetable mn base
|
||||
//include ph_mongolian
|
||||
|
||||
//phonemetable prs base
|
||||
//include ph_dari
|
||||
phonemetable prs base
|
||||
include ph_dari
|
||||
|
||||
//phonemetable gd base
|
||||
//include ph_s_gaelic
|
||||
phonemetable sl sk
|
||||
include ph_slovenian
|
||||
|
||||
//phonemetable nso base
|
||||
//include ph_northern-sotho
|
||||
phonemetable gd base
|
||||
include ph_s_gaelic
|
||||
|
||||
//phonemetable ht fr
|
||||
//include ph_haitian
|
||||
phonemetable nso base
|
||||
include ph_northern-sotho
|
||||
|
||||
//phonemetable az tr
|
||||
//include ph_azerbaijani
|
||||
phonemetable ht fr
|
||||
include ph_haitian
|
||||
|
||||
//phonemetable ak base
|
||||
//include ph_akan
|
||||
phonemetable az tr
|
||||
include ph_azerbaijani
|
||||
|
||||
//phonemetable wo base
|
||||
//include ph_wolof
|
||||
phonemetable ak base
|
||||
include ph_akan
|
||||
|
||||
//phonemetable dv hi
|
||||
//include ph_divehi
|
||||
phonemetable am base
|
||||
include ph_amhari
|
||||
|
||||
//phonemetable tn base
|
||||
//include ph_setswana
|
||||
phonemetable wo base
|
||||
include ph_wolof
|
||||
|
||||
//phonemetable mt base
|
||||
//include ph_maltese
|
||||
phonemetable dv hi
|
||||
include ph_divehi
|
||||
|
||||
//phonemetable bo hi
|
||||
//include ph_tibetan
|
||||
phonemetable te hi
|
||||
include ph_telugu
|
||||
|
||||
//phonemetable kk base
|
||||
//include ph_kazakh
|
||||
phonemetable si hi
|
||||
include ph_sinhala
|
||||
|
||||
//phonemetable tt base
|
||||
//include ph_tatar
|
||||
phonemetable tn base
|
||||
include ph_setswana
|
||||
|
||||
|
||||
phonemetable mt base
|
||||
include ph_maltese
|
||||
|
||||
phonemetable bo hi
|
||||
include ph_tibetan
|
||||
|
||||
phonemetable kk base
|
||||
include ph_kazakh
|
||||
|
||||
phonemetable tt base
|
||||
include ph_tatar
|
||||
|
||||
phonemetable ko base
|
||||
include ph_korean
|
||||
|
||||
phonemetable kl base
|
||||
include ph_greenlandic
|
||||
|
||||
phonemetable ar base
|
||||
include ph_arabic
|
||||
|
||||
phonemetable gu hi
|
||||
include ph_gujarati
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+59
-33
@@ -2,8 +2,8 @@
|
||||
|
||||
|
||||
# Toolflags:
|
||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -memaccess -zM -L22-S22-L41
|
||||
C++flags = -c -depend !Depend -IC: -throwback -zM -L22-S22-L41
|
||||
CCflags = -c -C90 -depend !Depend -IC: -throwback -zM -memaccess -L22-S22-L41
|
||||
C++flags = -c -depend !Depend -IC: -throwback -zM -memaccess -L22-S22-L41
|
||||
Linkflags = -rmf -c++ -o $@
|
||||
ObjAsmflags = -throwback -NoCache -depend !Depend
|
||||
CMHGflags =
|
||||
@@ -27,38 +27,64 @@ Squeezeflags = -o $@
|
||||
# User-editable dependencies:
|
||||
|
||||
# Static dependencies:
|
||||
@.o.speak_riscos: @.cpp.speak_riscos
|
||||
c++ $(c++flags) -o @.o.speak_riscos @.cpp.speak_riscos
|
||||
@.o.compiledict: @.cpp.compiledict
|
||||
c++ $(c++flags) -o @.o.compiledict @.cpp.compiledict
|
||||
@.o.dictionary: @.CPP.dictionary
|
||||
c++ $(c++flags) -o @.o.dictionary @.CPP.dictionary
|
||||
@.o.intonation: @.CPP.intonation
|
||||
c++ $(c++flags) -o @.o.intonation @.CPP.intonation
|
||||
@.o.numbers: @.CPP.numbers
|
||||
c++ $(c++flags) -o @.o.numbers @.CPP.numbers
|
||||
@.o.phonemelist: @.CPP.phonemelist
|
||||
c++ $(c++flags) -o @.o.phonemelist @.CPP.phonemelist
|
||||
@.o.readclause: @.CPP.readclause
|
||||
c++ $(c++flags) -o @.o.readclause @.CPP.readclause
|
||||
@.o.setlengths: @.CPP.setlengths
|
||||
c++ $(c++flags) -o @.o.setlengths @.CPP.setlengths
|
||||
@.o.synthdata: @.CPP.synthdata
|
||||
c++ $(c++flags) -o @.o.synthdata @.CPP.synthdata
|
||||
@.o.synth_mbrola: @.CPP.synth_mbrola
|
||||
c++ $(c++flags) -o @.o.synth_mbrola @.CPP.synth_mbrola
|
||||
@.o.synthesize: @.CPP.synthesize
|
||||
c++ $(c++flags) -o @.o.synthesize @.CPP.synthesize
|
||||
@.o.translate: @.CPP.translate
|
||||
c++ $(c++flags) -o @.o.translate @.CPP.translate
|
||||
@.o.tr_languages: @.CPP.tr_languages
|
||||
c++ $(c++flags) -o @.o.tr_languages @.CPP.tr_languages
|
||||
@.o.voices: @.CPP.voices
|
||||
c++ $(c++flags) -o @.o.voices @.CPP.voices
|
||||
@.o.wavegen: @.CPP.wavegen
|
||||
c++ $(c++flags) -o @.o.wavegen @.CPP.wavegen
|
||||
@.o.speak_riscos: @.c.speak_riscos
|
||||
cc $(ccflags) -o @.o.speak_riscos @.c.speak_riscos
|
||||
@.o.compiledict: @.c.compiledict
|
||||
cc $(ccflags) -o @.o.compiledict @.c.compiledict
|
||||
@.o.dictionary: @.c.dictionary
|
||||
cc $(ccflags) -o @.o.dictionary @.c.dictionary
|
||||
@.o.intonation: @.c.intonation
|
||||
cc $(ccflags) -o @.o.intonation @.c.intonation
|
||||
@.o.numbers: @.c.numbers
|
||||
cc $(ccflags) -o @.o.numbers @.c.numbers
|
||||
@.o.phonemelist: @.c.phonemelist
|
||||
cc $(ccflags) -o @.o.phonemelist @.c.phonemelist
|
||||
@.o.readclause: @.c.readclause
|
||||
cc $(ccflags) -o @.o.readclause @.c.readclause
|
||||
@.o.setlengths: @.c.setlengths
|
||||
cc $(ccflags) -o @.o.setlengths @.c.setlengths
|
||||
@.o.synthdata: @.c.synthdata
|
||||
cc $(ccflags) -o @.o.synthdata @.c.synthdata
|
||||
@.o.synth_mbrola: @.c.synth_mbrola
|
||||
cc $(ccflags) -o @.o.synth_mbrola @.c.synth_mbrola
|
||||
@.o.synthesize: @.c.synthesize
|
||||
cc $(ccflags) -o @.o.synthesize @.c.synthesize
|
||||
@.o.translate: @.c.translate
|
||||
cc $(ccflags) -o @.o.translate @.c.translate
|
||||
@.o.tr_languages: @.c.tr_languages
|
||||
cc $(ccflags) -o @.o.tr_languages @.c.tr_languages
|
||||
@.o.voices: @.c.voices
|
||||
cc $(ccflags) -o @.o.voices @.c.voices
|
||||
@.o.wavegen: @.c.wavegen
|
||||
cc $(ccflags) -o @.o.wavegen @.c.wavegen
|
||||
@.o.assemb: @.s.assemb
|
||||
objasm $(objasmflags) -from @.s.assemb -to @.o.assemb
|
||||
|
||||
# Dynamic dependencies:
|
||||
|
||||
o.wavegen: c.wavegen
|
||||
o.wavegen: h.StdAfx
|
||||
o.wavegen: h.speak_lib
|
||||
o.wavegen: h.speech
|
||||
o.wavegen: h.phoneme
|
||||
o.wavegen: h.synthesize
|
||||
o.wavegen: h.voice
|
||||
o.wavegen: h.sintab
|
||||
o.speak_riscos: c.speak_riscos
|
||||
o.speak_riscos: C:h.kernel
|
||||
o.speak_riscos: h.speech
|
||||
o.speak_riscos: h.speak_lib
|
||||
o.speak_riscos: h.phoneme
|
||||
o.speak_riscos: h.synthesize
|
||||
o.speak_riscos: h.voice
|
||||
o.speak_riscos: h.translate
|
||||
o.synthdata: c.synthdata
|
||||
o.synthdata: h.StdAfx
|
||||
o.synthdata: h.wctype
|
||||
o.synthdata: h.speak_lib
|
||||
o.synthdata: h.speech
|
||||
o.synthdata: h.phoneme
|
||||
o.synthdata: h.synthesize
|
||||
o.synthdata: h.voice
|
||||
o.synthdata: h.translate
|
||||
o.synthdata: h.wave
|
||||
o.synthdata: C:h.stdint
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#define os_X 0x20000
|
||||
|
||||
// interface to the assembler section
|
||||
extern "C" {
|
||||
//extern "C" {
|
||||
extern void DMA_Handler(void);
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ extern int callback_entry(_kernel_swi_regs *r, void *pw);
|
||||
extern int sound_handler(_kernel_swi_regs *r, void *pw);
|
||||
extern int sound_entry(_kernel_swi_regs *r, void *pw);
|
||||
|
||||
}
|
||||
//}
|
||||
|
||||
extern int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume);
|
||||
extern void RiscosOpenSound();
|
||||
@@ -75,12 +75,13 @@ char path_home[N_PATH_HOME] = "";
|
||||
char wavefile[120];
|
||||
char textbuffile[L_tmpnam];
|
||||
int sample_rate_index; // current value
|
||||
int current_voice_num=0;
|
||||
int sample_rate_doubled = 0; // 1= write audio data at 2x sample rate
|
||||
char current_voice_name[40] = {0};
|
||||
int n_voice_files = 0;
|
||||
int n_voice_variant_files = 0;
|
||||
|
||||
// output sound buffer, 2 bytes per sample
|
||||
static unsigned short SoundBuf[4096];
|
||||
static short SoundBuf[4096];
|
||||
static void *module_data;
|
||||
static int callback_inhibit = 0;
|
||||
static int more_text=0;
|
||||
@@ -131,9 +132,10 @@ static const char *help_text =
|
||||
"--punct=\"<characters>\"\n"
|
||||
"\t Speak the names of punctuation characters during speaking. If\n"
|
||||
"\t =<characters> is omitted, all punctuation is spoken.\n"
|
||||
"--voices=<language>\n"
|
||||
"\t List the available voices for the specified language.\n"
|
||||
"\t If <language> is omitted, then list all voices.\n"
|
||||
"--voices=\n"
|
||||
"\t List the available voices. (More voices can be installed from the main eSpeak distribution)\n"
|
||||
"--voices=variant\n"
|
||||
"\t List the available voice variants which can be combined with voices, eg. en+f3\n"
|
||||
"-k <integer>\n"
|
||||
"\t Indicate capital letters with: 1=sound, 2=the word \"capitals\",\n"
|
||||
"\t higher values = a pitch increase (try -k20).\n";
|
||||
@@ -169,9 +171,6 @@ int GetFileLength(const char *filename)
|
||||
} /* end of GetFileLength */
|
||||
|
||||
|
||||
void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr)
|
||||
{
|
||||
}
|
||||
|
||||
void ReadVoiceNames2(char *directory)
|
||||
{//==================================
|
||||
@@ -194,6 +193,9 @@ void ReadVoiceNames2(char *directory)
|
||||
|
||||
path_len = strlen(directory);
|
||||
|
||||
voice_variant_names[0] = "(none)";
|
||||
n_voice_variant_files = 1;
|
||||
|
||||
while(regs.r[3] > 0)
|
||||
{
|
||||
error = _kernel_swi(0x0c+os_X,®s,®s); /* OS_GBPB 10, read directory entries */
|
||||
@@ -363,8 +365,8 @@ static void CloseWaveFile(int rate)
|
||||
|
||||
|
||||
|
||||
void MarkerEvent(int type, unsigned int char_position, int value, unsigned char *out_ptr)
|
||||
{//======================================================================================
|
||||
void MarkerEvent(int type, unsigned int char_position, int value, int value2, unsigned char *out_ptr)
|
||||
{//=================================================================================================
|
||||
// Do nothing in the command-line version.
|
||||
} // end of MarkerEvent
|
||||
|
||||
@@ -452,6 +454,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_
|
||||
{
|
||||
int c;
|
||||
int ix;
|
||||
char *vname;
|
||||
static static_length=0;
|
||||
static int user_token=0; /* increment for each call of translate() */
|
||||
_kernel_swi_regs regs;
|
||||
@@ -462,12 +465,13 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_
|
||||
|
||||
option_endpause = 1;
|
||||
|
||||
if((voice_num >= 0) && (voice_num != current_voice_num) && (voice_num < N_VOICE_NAMES))
|
||||
vname = voice_names[voice_num];
|
||||
if((voice_num >= 0) && (strcmp(vname, current_voice_name) != 0) && (voice_num < N_VOICE_NAMES))
|
||||
{
|
||||
SetVoiceByName(voice_names[voice_num]);
|
||||
WavegenSetVoice(voice);
|
||||
WavegenSetVoice(voice);
|
||||
}
|
||||
current_voice_num = voice_num;
|
||||
strcmp(current_voice_name, vname);
|
||||
|
||||
/* don't count CR as terminator if length is specified */
|
||||
if(len > 0) terminator = 0;
|
||||
@@ -593,8 +597,16 @@ void set_say_options(int reg2, int reg3)
|
||||
option_waveout = 0;
|
||||
option_multibyte = 0; // auto
|
||||
option_capitals = 0;
|
||||
option_punctuation = 0;
|
||||
option_punctlist[0] = 0;
|
||||
if(reg2 >= 0)
|
||||
{
|
||||
// not using SWI_SPEAK+14 to set voice and punctiation option
|
||||
option_punctuation = 0;
|
||||
option_punctlist[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
}
|
||||
} /* end of set_say_options */
|
||||
|
||||
|
||||
@@ -621,7 +633,7 @@ void jsd_swi_functions(int *r)
|
||||
case 3:
|
||||
// translate into phonemes
|
||||
use_ipa = 0;
|
||||
if((r[2] >= 1) && (use_ipa <= 3))
|
||||
if((r[2] >= 1) && (r[2] <= 5))
|
||||
use_ipa = r[2];
|
||||
TranslateClause(translator,NULL,(char *)r[1],NULL,NULL);
|
||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
|
||||
@@ -641,7 +653,7 @@ void jsd_swi_functions(int *r)
|
||||
if(r[1] < N_VOICE_NAMES)
|
||||
{
|
||||
SetVoiceByName(voice_names[r[1]]);
|
||||
current_voice_num = r[1];
|
||||
strcmp(current_voice_name, voice_names[r[1]]);
|
||||
WavegenSetVoice(voice);
|
||||
}
|
||||
break;
|
||||
@@ -675,6 +687,8 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
int value;
|
||||
int value2;
|
||||
int q_length;
|
||||
char *p;
|
||||
int ix;
|
||||
value = r[0];
|
||||
|
||||
switch(swi_no)
|
||||
@@ -682,16 +696,17 @@ _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;
|
||||
ix = current_source_index & 0x7ff;
|
||||
if(ix > 0)
|
||||
r[1] = ix-1;
|
||||
else
|
||||
r[1] = current_source_index; /* source index */
|
||||
r[1] = ix; /* source index */
|
||||
r[2] = 0; /* source tag */
|
||||
r[3] = 0; /* for future expansion */
|
||||
r[4] = 0;
|
||||
r[5] = 0;
|
||||
|
||||
if(WcmdqUsed() < 5)
|
||||
if((WcmdqUsed() < 5) && (more_text == 0))
|
||||
{
|
||||
r[0] = -1; /* ready, or nearly */
|
||||
}
|
||||
@@ -774,8 +789,30 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw)
|
||||
break;
|
||||
|
||||
case 14: // set voice by name
|
||||
SetVoiceByName((char *)r[0]);
|
||||
WavegenSetVoice(voice);
|
||||
p = (char *)r[0];
|
||||
if(strcmp(p, current_voice_name) != 0)
|
||||
{
|
||||
SetVoiceByName(p);
|
||||
WavegenSetVoice(voice);
|
||||
strcpy(current_voice_name, p);
|
||||
}
|
||||
option_punctuation = 0;
|
||||
if(r[1] != 0)
|
||||
{
|
||||
p = (char *)r[1];
|
||||
if(p[0] == 0)
|
||||
option_punctuation = 1;
|
||||
else
|
||||
{
|
||||
for(ix=0; ix < N_PUNCTLIST; ix++)
|
||||
{
|
||||
if((option_punctlist[ix] = p[ix]) == 0)
|
||||
break;
|
||||
}
|
||||
option_punctlist[N_PUNCTLIST-1] = 0;
|
||||
option_punctuation = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return(NULL);
|
||||
@@ -814,7 +851,7 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
const espeak_VOICE **voices;
|
||||
espeak_VOICE voice_select;
|
||||
|
||||
static char genders[4] = {' ','M','F',' '};
|
||||
static char genders[4] = {'-','M','F','-'};
|
||||
|
||||
if(language[0] == '=')
|
||||
{
|
||||
@@ -837,11 +874,24 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
{
|
||||
count = 0;
|
||||
p = v->languages;
|
||||
if(memcmp(language,"=variant",8)==0)
|
||||
{
|
||||
if(strcmp(p+1,"variant") != 0)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
if(language[0] == 0)
|
||||
{
|
||||
if(strcmp(p+1,"variant") == 0)
|
||||
continue;
|
||||
}
|
||||
|
||||
while(*p != 0)
|
||||
{
|
||||
len = strlen(p+1);
|
||||
lang_name = p+1;
|
||||
|
||||
|
||||
if(v->age == 0)
|
||||
strcpy(age_buf," ");
|
||||
else
|
||||
@@ -859,8 +909,6 @@ void DisplayVoices(FILE *f_out, char *language)
|
||||
count++;
|
||||
p += len+2;
|
||||
}
|
||||
// if(scores)
|
||||
// fprintf(f_out,"%3d ",v->score);
|
||||
fputc('\n',f_out);
|
||||
}
|
||||
} // end of DisplayVoices
|
||||
@@ -910,9 +958,9 @@ void command_line(char *arg_string, int wait)
|
||||
int option_index = 0;
|
||||
int c;
|
||||
int value;
|
||||
int speed;
|
||||
int amp;
|
||||
int wordgap;
|
||||
int speed = 175;
|
||||
int amp = 100;
|
||||
int wordgap = 0;
|
||||
int speaking = 0;
|
||||
int flag_stdin = 0;
|
||||
int flag_compile = 0;
|
||||
@@ -923,15 +971,15 @@ void command_line(char *arg_string, int wait)
|
||||
char command[80];
|
||||
char *p;
|
||||
int ix;
|
||||
int quiet;
|
||||
int quiet = 0;
|
||||
|
||||
voicename[0] = 0;
|
||||
wavefile[0] = 0;
|
||||
filename[0] = 0;
|
||||
option_ssml = 0;
|
||||
option_linelength = 0;
|
||||
option_phonemes = 0;
|
||||
option_waveout = 0;
|
||||
quiet = 0;
|
||||
option_multibyte = 0; // auto
|
||||
option_capitals = 0;
|
||||
option_punctuation = 0;
|
||||
@@ -963,7 +1011,6 @@ void command_line(char *arg_string, int wait)
|
||||
|
||||
case 'k':
|
||||
option_capitals = param_number(&p);
|
||||
SetParameter(espeakCAPITALS,option_capitals,0);
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
@@ -996,17 +1043,14 @@ void command_line(char *arg_string, int wait)
|
||||
|
||||
case 'a':
|
||||
amp = param_number(&p);
|
||||
SetParameter(espeakVOLUME,amp,0);
|
||||
break;
|
||||
|
||||
case 's':
|
||||
speed = param_number(&p);
|
||||
SetParameter(espeakRATE,speed,0);
|
||||
break;
|
||||
|
||||
case 'g':
|
||||
wordgap = param_number(&p);
|
||||
SetParameter(espeakWORDGAP,wordgap,0);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
@@ -1049,7 +1093,6 @@ void command_line(char *arg_string, int wait)
|
||||
option_punctlist[N_PUNCTLIST-1] = 0;
|
||||
option_punctuation = 2;
|
||||
}
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
}
|
||||
else
|
||||
if(memcmp(command,"version",7)==0)
|
||||
@@ -1080,6 +1123,12 @@ void command_line(char *arg_string, int wait)
|
||||
}
|
||||
}
|
||||
|
||||
SetParameter(espeakCAPITALS,option_capitals,0);
|
||||
SetParameter(espeakWORDGAP,wordgap,0);
|
||||
SetParameter(espeakPUNCTUATION,option_punctuation,0);
|
||||
SetParameter(espeakRATE,speed,0);
|
||||
SetParameter(espeakVOLUME,amp,0);
|
||||
|
||||
if((option_phonemes > 1) && !option_waveout)
|
||||
quiet = 1; // can't call sprintf() during callback
|
||||
|
||||
@@ -1241,17 +1290,39 @@ int sound_handler(_kernel_swi_regs *r, void *pw)
|
||||
int size;
|
||||
int *dma_buf;
|
||||
int x;
|
||||
int x2;
|
||||
int ix;
|
||||
|
||||
module_data = (int *)pw;
|
||||
dma_buf = (int *)r->r[1];
|
||||
size = (r->r[2] - r->r[1])/4;
|
||||
FillSoundBuf(size);
|
||||
|
||||
for(ix=0; ix<size; ix++)
|
||||
|
||||
if(sample_rate_doubled == 0)
|
||||
{
|
||||
x = SoundBuf[ix];
|
||||
dma_buf[ix] = x + (x << 16);
|
||||
FillSoundBuf(size);
|
||||
|
||||
for(ix=0; ix<size; ix++)
|
||||
{
|
||||
x = SoundBuf[ix] & 0xffff;
|
||||
dma_buf[ix] = x + (x << 16);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// write audio data at 2x sample rate
|
||||
size = size /2;
|
||||
FillSoundBuf(size);
|
||||
|
||||
for(ix=0; ix<size; ix++)
|
||||
{
|
||||
x = SoundBuf[ix] & 0xffff;
|
||||
dma_buf[ix*2] = x + (x << 16);
|
||||
if((ix+1) < size)
|
||||
{
|
||||
x = ((SoundBuf[ix] + SoundBuf[ix+1]) / 2) & 0xffff; // interpolate
|
||||
}
|
||||
dma_buf[ix*2 + 1] = x + (x << 16);
|
||||
}
|
||||
}
|
||||
|
||||
n_queue = WcmdqUsed();
|
||||
@@ -1287,10 +1358,15 @@ int InitSound16(int sample_rate)
|
||||
int srate;
|
||||
int n_srix;
|
||||
int ix;
|
||||
int double_rate_ix = -1;
|
||||
int nearest_ix;
|
||||
int nearest_diff = 0x7fffffff;
|
||||
int diff;
|
||||
_kernel_swi_regs regs;
|
||||
_kernel_oserror *error;
|
||||
|
||||
sound_mode = 0;
|
||||
sample_rate_doubled = 0;
|
||||
regs.r[0] = 0;
|
||||
error = _kernel_swi(0x40144+os_X,®s,®s);
|
||||
sound_mode = regs.r[0];
|
||||
@@ -1301,7 +1377,7 @@ int InitSound16(int sample_rate)
|
||||
/* 16 bit sound, find sample rate index */
|
||||
regs.r[0] = 0;
|
||||
regs.r[1] = 0;
|
||||
_kernel_swi(0x40146,®s,®s);
|
||||
_kernel_swi(0x40146,®s,®s); // Sound_SampleRate
|
||||
n_srix = regs.r[1];
|
||||
|
||||
regs.r[0] = 1;
|
||||
@@ -1314,14 +1390,32 @@ int InitSound16(int sample_rate)
|
||||
regs.r[0] = 2;
|
||||
regs.r[1] = ix;
|
||||
_kernel_swi(0x40146,®s,®s);
|
||||
srate = regs.r[2];
|
||||
if(srate >= (sample_rate*1024))
|
||||
srate = regs.r[2] / 1024;
|
||||
if(srate == sample_rate)
|
||||
{
|
||||
return(ix);
|
||||
}
|
||||
if(srate == sample_rate*2)
|
||||
{
|
||||
double_rate_ix = ix;
|
||||
}
|
||||
if((diff = abs(sample_rate - srate)) < nearest_diff)
|
||||
{
|
||||
nearest_diff = diff;
|
||||
nearest_ix = ix;
|
||||
}
|
||||
}
|
||||
}
|
||||
return(14); // this was the index for 22050
|
||||
if(double_rate_ix >= 0)
|
||||
{
|
||||
// matching sample rate is not available, but double this rate is.
|
||||
sample_rate_doubled = 1;
|
||||
return(double_rate_ix);
|
||||
}
|
||||
else
|
||||
{
|
||||
return(nearest_ix);
|
||||
}
|
||||
} // end of InitSound16
|
||||
|
||||
|
||||
@@ -1369,7 +1463,7 @@ _kernel_oserror *user_init(char *cmd_fail, int podule_base, void *pw)
|
||||
// other characters give the correct results with iswalpha() etc.
|
||||
|
||||
static char *locale = "ISO8859-1";
|
||||
setlocale(LC_CTYPE,locale);
|
||||
setlocale(LC_CTYPE,locale);
|
||||
|
||||
module_data = pw;
|
||||
|
||||
+14
-14
@@ -1,17 +1,17 @@
|
||||
copy <obey$dir>.^.src.compiledict/cpp <obey$dir>.cpp.compiledict fq~c
|
||||
copy <obey$dir>.^.src.dictionary/cpp <obey$dir>.cpp.dictionary fq~c
|
||||
copy <obey$dir>.^.src.intonation/cpp <obey$dir>.cpp.intonation fq~c
|
||||
copy <obey$dir>.^.src.numbers/cpp <obey$dir>.cpp.numbers fq~c
|
||||
copy <obey$dir>.^.src.phonemelist/cpp <obey$dir>.cpp.phonemelist fq~c
|
||||
copy <obey$dir>.^.src.readclause/cpp <obey$dir>.cpp.readclause fq~c
|
||||
copy <obey$dir>.^.src.setlengths/cpp <obey$dir>.cpp.setlengths fq~c
|
||||
copy <obey$dir>.^.src.synthdata/cpp <obey$dir>.cpp.synthdata fq~c
|
||||
copy <obey$dir>.^.src.synth_mbrola/cpp <obey$dir>.cpp.synth_mbrola fq~c
|
||||
copy <obey$dir>.^.src.synthesize/cpp <obey$dir>.cpp.synthesize fq~c
|
||||
copy <obey$dir>.^.src.translate/cpp <obey$dir>.cpp.translate fq~c
|
||||
copy <obey$dir>.^.src.tr_languages/cpp <obey$dir>.cpp.tr_languages fq~c
|
||||
copy <obey$dir>.^.src.voices/cpp <obey$dir>.cpp.voices fq~c
|
||||
copy <obey$dir>.^.src.wavegen/cpp <obey$dir>.cpp.wavegen fq~c
|
||||
copy <obey$dir>.^.src.compiledict/cpp <obey$dir>.c.compiledict fq~c
|
||||
copy <obey$dir>.^.src.dictionary/cpp <obey$dir>.c.dictionary fq~c
|
||||
copy <obey$dir>.^.src.intonation/cpp <obey$dir>.c.intonation fq~c
|
||||
copy <obey$dir>.^.src.numbers/cpp <obey$dir>.c.numbers fq~c
|
||||
copy <obey$dir>.^.src.phonemelist/cpp <obey$dir>.c.phonemelist fq~c
|
||||
copy <obey$dir>.^.src.readclause/cpp <obey$dir>.c.readclause fq~c
|
||||
copy <obey$dir>.^.src.setlengths/cpp <obey$dir>.c.setlengths fq~c
|
||||
copy <obey$dir>.^.src.synthdata/cpp <obey$dir>.c.synthdata fq~c
|
||||
copy <obey$dir>.^.src.synth_mbrola/cpp <obey$dir>.c.synth_mbrola fq~c
|
||||
copy <obey$dir>.^.src.synthesize/cpp <obey$dir>.c.synthesize fq~c
|
||||
copy <obey$dir>.^.src.translate/cpp <obey$dir>.c.translate fq~c
|
||||
copy <obey$dir>.^.src.tr_languages/cpp <obey$dir>.c.tr_languages fq~c
|
||||
copy <obey$dir>.^.src.voices/cpp <obey$dir>.c.voices fq~c
|
||||
copy <obey$dir>.^.src.wavegen/cpp <obey$dir>.c.wavegen fq~c
|
||||
|
||||
copy <obey$dir>.^.src.phoneme/h <obey$dir>.h.phoneme fq~c
|
||||
copy <obey$dir>.^.src.sintab/h <obey$dir>.h.sintab fq~c
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeak
|
||||
AppVerName=eSpeak version 1.47.04
|
||||
AppVerName=eSpeak version 1.47.08
|
||||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details).
|
||||
WindowVisible=yes
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
[Setup]
|
||||
AppName=eSpeakEdit
|
||||
AppVerName=eSpeakEdit version 1.47.04
|
||||
AppVerName=eSpeakEdit version 1.47.08
|
||||
DefaultDirName={pf}\eSpeak
|
||||
DefaultGroupName=eSpeak
|
||||
OutputBaseFilename=setup_espeakedit
|
||||
|
||||
+6
-1
@@ -2727,7 +2727,6 @@ static void DecThenCount()
|
||||
static void InstnPlusPhoneme(int instn)
|
||||
{//====================================
|
||||
int phcode;
|
||||
DecThenCount();
|
||||
|
||||
phcode = NextItemBrackets(tPHONEMEMNEM,0);
|
||||
*prog_out++ = instn + phcode;
|
||||
@@ -2835,16 +2834,19 @@ int CompilePhoneme(int compile_phoneme)
|
||||
case i_CHANGE_IF+2:
|
||||
case i_CHANGE_IF+3:
|
||||
InstnPlusPhoneme(keyword << 8);
|
||||
DecThenCount();
|
||||
break;
|
||||
|
||||
case i_PAUSE_BEFORE:
|
||||
value = NextItemMax(255);
|
||||
*prog_out++ = (i_PAUSE_BEFORE << 8) + value;
|
||||
DecThenCount();
|
||||
break;
|
||||
|
||||
case i_PAUSE_AFTER:
|
||||
value = NextItemMax(255);
|
||||
*prog_out++ = (i_PAUSE_AFTER << 8) + value;
|
||||
DecThenCount();
|
||||
break;
|
||||
|
||||
case i_SET_LENGTH:
|
||||
@@ -2936,6 +2938,7 @@ int CompilePhoneme(int compile_phoneme)
|
||||
{
|
||||
*prog_out++ = (ipa_buf[ix+start] << 8) + (ipa_buf[ix+start+1] & 0xff);
|
||||
}
|
||||
DecThenCount();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -3018,6 +3021,7 @@ int CompilePhoneme(int compile_phoneme)
|
||||
|
||||
case kCALLPH:
|
||||
CallPhoneme();
|
||||
DecThenCount();
|
||||
break;
|
||||
|
||||
case kFMT:
|
||||
@@ -3049,6 +3053,7 @@ int CompilePhoneme(int compile_phoneme)
|
||||
break;
|
||||
|
||||
case kTONESPEC:
|
||||
DecThenCount();
|
||||
endphoneme = CompileToneSpec();
|
||||
break;
|
||||
|
||||
|
||||
+3
-2
@@ -133,6 +133,7 @@ MNEM_TAB mnem_flags[] = {
|
||||
{"$stem", 0x30}, // must have a suffix
|
||||
{"$atend", 0x31}, // use this pronunciation if at end of clause
|
||||
{"$atstart", 0x32}, // use this pronunciation at start of clause
|
||||
{"$native", 0x33}, // not if we've switched translators
|
||||
|
||||
// doesn't set dictionary_flags
|
||||
{"$?", 100}, // conditional rule, followed by byte giving the condition number
|
||||
@@ -700,9 +701,9 @@ static int compile_line(char *linebuf, char *dict_line, int *hash)
|
||||
ix = utf8_in(&c2,p);
|
||||
if(c2 == 0)
|
||||
break;
|
||||
if(iswupper(c2))
|
||||
if(iswupper2(c2))
|
||||
{
|
||||
utf8_out(towlower(c2),p);
|
||||
utf8_out(towlower2(c2),p);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+60
-16
@@ -524,7 +524,7 @@ void DecodePhonemes(const char *inptr, char *outptr)
|
||||
unsigned short ipa1[96] = {
|
||||
0x20,0x21,0x22,0x2b0,0x24,0x25,0x0e6,0x2c8,0x28,0x27e,0x2a,0x2b,0x2cc,0x2d,0x2e,0x2f,
|
||||
0x252,0x31,0x32,0x25c,0x34,0x35,0x36,0x37,0x275,0x39,0x2d0,0x2b2,0x3c,0x3d,0x3e,0x294,
|
||||
0x259,0x251,0x3b2,0xe7,0xf0,0x25b,0x46,0x262,0x127,0x26a,0x25f,0x4b,0x29f,0x271,0x14b,0x254,
|
||||
0x259,0x251,0x3b2,0xe7,0xf0,0x25b,0x46,0x262,0x127,0x26a,0x25f,0x4b,0x26b,0x271,0x14b,0x254,
|
||||
0x3a6,0x263,0x280,0x283,0x3b8,0x28a,0x28c,0x153,0x3c7,0xf8,0x292,0x32a,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x261,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x303,0x7f
|
||||
@@ -633,10 +633,13 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int
|
||||
|
||||
|
||||
|
||||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
{//=========================================================================
|
||||
/* Can be called after a clause has been translated into phonemes, in order
|
||||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode)
|
||||
{//===============================================================================
|
||||
/* Called after a clause has been translated into phonemes, in order
|
||||
to display the clause in phoneme mnemonic form.
|
||||
|
||||
phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
|
||||
bit 4: 0=eSpeak phoneme names, 1=IPA
|
||||
*/
|
||||
|
||||
int ix;
|
||||
@@ -649,6 +652,9 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
char *buf;
|
||||
int count;
|
||||
int flags;
|
||||
int use_ipa;
|
||||
int use_tie;
|
||||
int separate_phonemes = 0;
|
||||
char phon_buf[30];
|
||||
char phon_buf2[30];
|
||||
PHONEME_LIST *plist;
|
||||
@@ -656,6 +662,16 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
static const char *stress_chars = "==,,''";
|
||||
static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner
|
||||
|
||||
use_ipa = phoneme_mode & 0x10;
|
||||
use_tie = phoneme_mode & 0x0f;
|
||||
|
||||
if(use_tie >= 3)
|
||||
{
|
||||
// separate individual phonemes with underscores
|
||||
separate_phonemes = '_';
|
||||
use_tie = 0;
|
||||
}
|
||||
|
||||
if(phon_out != NULL)
|
||||
{
|
||||
for(ix=1; ix<(n_phoneme_list-2); ix++)
|
||||
@@ -663,8 +679,21 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
buf = phon_buf;
|
||||
|
||||
plist = &phoneme_list[ix];
|
||||
|
||||
WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
|
||||
if(plist->newword)
|
||||
*buf++ = ' ';
|
||||
else
|
||||
{
|
||||
if((separate_phonemes != 0) && (ix > 1))
|
||||
{
|
||||
utf8_in(&c, phon_buf2);
|
||||
if((c < 0x2b0) || (c > 0x36f)) // not if the phoneme starts with a superscript letter
|
||||
{
|
||||
*buf++ = separate_phonemes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(plist->synthflags & SFLAG_SYLLABLE)
|
||||
{
|
||||
@@ -687,22 +716,23 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa)
|
||||
if(c != 0)
|
||||
{
|
||||
buf += utf8_out(c, buf);
|
||||
// if(separate_phonemes)
|
||||
// *buf++ = separate_phonemes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flags = 0;
|
||||
WritePhMnemonic(phon_buf2, plist->ph, plist, use_ipa, &flags);
|
||||
count = 0;
|
||||
for(p=phon_buf2; *p != 0;)
|
||||
{
|
||||
p += utf8_in(&c, p);
|
||||
if(use_ipa > 1)
|
||||
if(use_tie > 0)
|
||||
{
|
||||
// look for non-inital alphabetic character, but not diacritic, superscript etc.
|
||||
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha(c))
|
||||
if((count>0) && !(flags & (1 << (count-1))) && ((c < 0x2b0) || (c > 0x36f)) && iswalpha2(c))
|
||||
{
|
||||
buf += utf8_out(char_tie[use_ipa-2], buf);
|
||||
buf += utf8_out(char_tie[use_tie-1], buf);
|
||||
}
|
||||
}
|
||||
buf += utf8_out(c, buf);
|
||||
@@ -894,7 +924,13 @@ int Unpronouncable(Translator *tr, char *word, int posn)
|
||||
|
||||
if(count==0)
|
||||
c1 = c;
|
||||
count++;
|
||||
|
||||
if((c == '\'') && (tr->langopts.param[LOPT_UNPRONOUNCABLE] == 3))
|
||||
{
|
||||
// don't count apostrophe
|
||||
}
|
||||
else
|
||||
count++;
|
||||
|
||||
if(IsVowel(tr, c))
|
||||
{
|
||||
@@ -902,7 +938,7 @@ int Unpronouncable(Translator *tr, char *word, int posn)
|
||||
break;
|
||||
}
|
||||
|
||||
if((c != '\'') && !iswalpha(c))
|
||||
if((c != '\'') && !iswalpha2(c))
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -1624,8 +1660,11 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
||||
if(!(control & 1) && ((ph = phoneme_tab[*p]) != NULL))
|
||||
{
|
||||
|
||||
if(ph->type == phSTRESS)
|
||||
ph = phoneme_tab[p[1]];
|
||||
while((ph->type == phSTRESS) || (*p == phonEND_WORD))
|
||||
{
|
||||
p++;
|
||||
ph = phoneme_tab[p[0]];
|
||||
}
|
||||
|
||||
#ifdef deleted
|
||||
int gap = tr->langopts.word_gap & 0x700;
|
||||
@@ -2078,7 +2117,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
|
||||
break;
|
||||
|
||||
case RULE_NONALPHA:
|
||||
if(!iswalpha(letter_w))
|
||||
if(!iswalpha2(letter_w))
|
||||
{
|
||||
add_points = (21-distance_right);
|
||||
post_ptr += letter_xbytes;
|
||||
@@ -2322,7 +2361,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
|
||||
break;
|
||||
|
||||
case RULE_NONALPHA:
|
||||
if(!iswalpha(letter_w))
|
||||
if(!iswalpha2(letter_w))
|
||||
{
|
||||
add_points = (21-distance_right);
|
||||
pre_ptr -= letter_xbytes;
|
||||
@@ -2639,7 +2678,7 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
||||
if(tr->letter_bits_offset > 0)
|
||||
{
|
||||
// not a Latin alphabet, switch to the default Latin alphabet language
|
||||
if((letter <= 0x241) && iswalpha(letter))
|
||||
if((letter <= 0x241) && iswalpha2(letter))
|
||||
{
|
||||
sprintf(phonemes,"%c%s",phonSWITCH,tr->langopts.ascii_language);
|
||||
return(0);
|
||||
@@ -3240,6 +3279,11 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(dictionary_flags2 & FLAG_NATIVE)
|
||||
{
|
||||
if(tr != translator)
|
||||
continue; // don't use if we've switched translators
|
||||
}
|
||||
if(dictionary_flags & FLAG_ALT2_TRANS)
|
||||
{
|
||||
// language specific
|
||||
@@ -3505,9 +3549,9 @@ int LookupFlags(Translator *tr, const char *word)
|
||||
{//==============================================
|
||||
char buf[100];
|
||||
static unsigned int flags[2];
|
||||
char *word1 = (char *)word;
|
||||
|
||||
flags[0] = flags[1] = 0;
|
||||
char *word1 = (char *)word;
|
||||
LookupDictList(tr, &word1, buf, flags, 0, NULL);
|
||||
return(flags[0]);
|
||||
}
|
||||
|
||||
+13
-9
@@ -20,6 +20,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#ifndef NEED_GETOPT
|
||||
#include <getopt.h>
|
||||
#endif
|
||||
@@ -67,7 +68,7 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -221,14 +222,17 @@ int OpenWavFile(char *path, int rate)
|
||||
if(path == NULL)
|
||||
return(2);
|
||||
|
||||
if(path[0] == 0)
|
||||
return(0);
|
||||
|
||||
if(strcmp(path,"stdout")==0)
|
||||
f_wavfile = stdout;
|
||||
else
|
||||
f_wavfile = fopen(path,"wb");
|
||||
while(isspace(*path)) path++;
|
||||
|
||||
f_wavfile = NULL;
|
||||
if(path[0] != 0)
|
||||
{
|
||||
if(strcmp(path,"stdout")==0)
|
||||
f_wavfile = stdout;
|
||||
else
|
||||
f_wavfile = fopen(path,"wb");
|
||||
}
|
||||
|
||||
if(f_wavfile == NULL)
|
||||
{
|
||||
fprintf(stderr,"Can't write to: '%s'\n",path);
|
||||
@@ -620,7 +624,7 @@ int main (int argc, char **argv)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>2))
|
||||
if((value<0) || (value>3))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
|
||||
+8
-1
@@ -199,6 +199,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(MENU_OPT_SPEED, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_PUNCT, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_SPELL, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_OPT_SPELL2, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH0, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH1, MyFrame::OnOptions)
|
||||
EVT_MENU(MENU_PATH2, MyFrame::OnOptions)
|
||||
@@ -625,6 +626,12 @@ void OnOptions2(int event_id)
|
||||
break;
|
||||
|
||||
case MENU_OPT_SPELL:
|
||||
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"characters\">\n"));
|
||||
transldlg->t_source->SetInsertionPointEnd();
|
||||
notebook->SetSelection(1);
|
||||
break;
|
||||
|
||||
case MENU_OPT_SPELL2:
|
||||
transldlg->t_source->SetValue(_T("<say-as interpret-as=\"tts:char\">\n"));
|
||||
transldlg->t_source->SetInsertionPointEnd();
|
||||
notebook->SetSelection(1);
|
||||
@@ -632,7 +639,7 @@ void OnOptions2(int event_id)
|
||||
|
||||
case MENU_PATH0:
|
||||
string = wxFileSelector(_T("Master phonemes file"),wxFileName(path_phfile).GetPath(),
|
||||
_T(""),_T(""),_T("*"),wxOPEN);
|
||||
_T("phonemes"),_T(""),_T("*"),wxOPEN);
|
||||
if(!string.IsEmpty())
|
||||
{
|
||||
path_phfile = string;
|
||||
|
||||
+88
-4
@@ -1564,8 +1564,8 @@ void CountWordFreq(wxString path, wcount **hashtab)
|
||||
for(k=0; k<ix; )
|
||||
{
|
||||
k += utf8_in(&wc,&buf[k]);
|
||||
wc = towlower(wc); // convert to lower case
|
||||
if(iswalpha(wc))
|
||||
wc = towlower2(wc); // convert to lower case
|
||||
if(iswalpha2(wc))
|
||||
{
|
||||
j += utf8_out(wc,&wbuf[j]);
|
||||
n_chars++;
|
||||
@@ -2272,6 +2272,82 @@ void Test2()
|
||||
|
||||
#endif
|
||||
|
||||
#define MAX_WALPHA 0x24f
|
||||
void Make_walpha_tab()
|
||||
{//===================
|
||||
int ix;
|
||||
int value;
|
||||
int c;
|
||||
short exceptions[40];
|
||||
int ex = 0;
|
||||
FILE *f;
|
||||
|
||||
f = fopen("/home/jsd1/walpha_tab.txt","w");
|
||||
for(ix=0x80; ix<=MAX_WALPHA; ix++)
|
||||
{
|
||||
value = 0;
|
||||
if(iswalpha(ix))
|
||||
{
|
||||
value = 0xfe; // no case
|
||||
if(iswlower(ix))
|
||||
{
|
||||
value = 0xff;
|
||||
}
|
||||
else if(iswupper(ix))
|
||||
{
|
||||
c = towlower(ix);
|
||||
if(c > 0)
|
||||
value = c - ix;
|
||||
|
||||
if((value < 0) || (value > 0xfc))
|
||||
{
|
||||
exceptions[ex] = ix;
|
||||
exceptions[ex+1] = c;
|
||||
ex+=2;
|
||||
value = 0xfd;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(value > 0xfc)
|
||||
fprintf(f," 0x%.2x,", value);
|
||||
else
|
||||
fprintf(f," %4d,", value);
|
||||
|
||||
|
||||
if((ix % 16) == 15)
|
||||
{
|
||||
fprintf(f," // %.3x\n", ix & 0xfff0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fprintf(f, "\nstatic const short wchar_tolower[] = {\n");
|
||||
|
||||
for(ix=0; ix<ex; ix+=2)
|
||||
{
|
||||
fprintf(f,"\t0x%.3x, 0x%.3x,\n", exceptions[ix], exceptions[ix+1]);
|
||||
}
|
||||
fprintf(f, "\t0,0 };\n");
|
||||
|
||||
fprintf(f, "\nstatic const short wchar_toupper[] = {\n");
|
||||
for(ix=0x80; ix<=MAX_WALPHA; ix++)
|
||||
{
|
||||
if(iswlower(ix))
|
||||
{
|
||||
c = towupper(ix);
|
||||
value = ix - c;
|
||||
if((value != 32) && (value != 1))
|
||||
{
|
||||
fprintf(f,"\t0x%.3x, 0x%.3x,\n", ix, c);
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf(f, "\t0,0 };\n");
|
||||
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
|
||||
const char* text1 = "Hello world. Testing.";
|
||||
@@ -2290,6 +2366,7 @@ void TestTest(int control)
|
||||
//CharsetToUnicode("ISO-8859-4");
|
||||
//CharsetToUnicode("ISCII");
|
||||
|
||||
|
||||
if(control==2)
|
||||
{
|
||||
return;
|
||||
@@ -2319,9 +2396,16 @@ if(control==2)
|
||||
espeak_SetSynthCallback(TestSynthCallback);
|
||||
espeak_SetUriCallback(TestUriCallback);
|
||||
|
||||
espeak_SetVoiceByName("en");
|
||||
voice.languages = "fr";
|
||||
espeak_SetVoiceByProperties(&voice);
|
||||
// espeak_SetVoiceByName("fr");
|
||||
espeak_Synth("1", 5, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)user_data);
|
||||
|
||||
// voice.languages = "en";
|
||||
// espeak_SetVoiceByProperties(&voice);
|
||||
espeak_SetVoiceByName("de");
|
||||
espeak_Synth(textbuf, strlen(textbuf)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)user_data);
|
||||
// espeak_Synth(text1, strlen(text1)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)(user_data+1));
|
||||
// espeak_Synth(text1, strlen(text1)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)(user_data+1));
|
||||
|
||||
espeak_SetParameter(espeakPUNCTUATION, 1, 0);
|
||||
espeak_Synchronize();
|
||||
|
||||
@@ -127,6 +127,7 @@ enum {
|
||||
MENU_OPT_SPEED,
|
||||
MENU_OPT_PUNCT,
|
||||
MENU_OPT_SPELL,
|
||||
MENU_OPT_SPELL2,
|
||||
MENU_PATHS,
|
||||
MENU_PATH0,
|
||||
MENU_PATH1,
|
||||
|
||||
+4
-2
@@ -119,8 +119,10 @@ wxMenuBar *MakeMenu(int type, const char *dict_name)
|
||||
option_menu = new wxMenu;
|
||||
option_menu->Append(MENU_PATHS, _("Set &paths"), paths_menu);
|
||||
option_menu->Append(MENU_OPT_SPEED, _("Speed..."));
|
||||
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctiation"));
|
||||
option_menu->Append(MENU_OPT_SPELL, _("Speak character names"));
|
||||
option_menu->AppendSeparator();
|
||||
option_menu->Append(MENU_OPT_PUNCT, _("Speak punctuation"));
|
||||
option_menu->Append(MENU_OPT_SPELL, _("Speak characters"));
|
||||
option_menu->Append(MENU_OPT_SPELL2, _("Speak character name"));
|
||||
|
||||
// TOOLS
|
||||
vowelchart_menu = new wxMenu;
|
||||
|
||||
+148
-9
@@ -582,7 +582,103 @@ void LookupLetter(Translator *tr, unsigned int letter, int next_byte, char *ph_b
|
||||
} // end of LookupLetter
|
||||
|
||||
|
||||
static const char *hex_letters[] = {"'e:j","b'i:","s'i:","d'i:","'i:","'Ef"}; // using phonemes available to all languages
|
||||
// unicode ranges for non-ascii digits 0-9
|
||||
static const int number_ranges[] = {
|
||||
0x660, 0x6f0, // arabic
|
||||
0x966, 0x9e6, 0xa66, 0xae6, 0xb66, 0xbe6, 0xc66, 0xce6, 0xd66, // indic
|
||||
0xe50, 0xed0, 0xf20, 0x1040, 0x1090,
|
||||
0 }; // these must be in ascending order
|
||||
|
||||
|
||||
int NonAsciiNumber(int letter)
|
||||
{//============================
|
||||
// Change non-ascii digit into ascii digit '0' to '9', (or -1 if not)
|
||||
const int *p;
|
||||
int base;
|
||||
|
||||
for(p=number_ranges; (base = *p) != 0; p++)
|
||||
{
|
||||
if(letter < base)
|
||||
break; // not found
|
||||
if(letter < (base+10))
|
||||
return(letter-base+'0');
|
||||
}
|
||||
return(-1);
|
||||
}
|
||||
|
||||
#define L_SUB 0x4000 // subscript
|
||||
#define L_SUP 0x8000 // superscript
|
||||
|
||||
static const char *modifiers[] = {NULL, "_sub", "_sup", NULL};
|
||||
|
||||
// this list must be in ascending order
|
||||
static unsigned short derived_letters[] = {
|
||||
0x00aa, 'a'+L_SUP,
|
||||
0x00b2, '2'+L_SUP,
|
||||
0x00b3, '3'+L_SUP,
|
||||
0x00b9, '1'+L_SUP,
|
||||
0x00ba, 'o'+L_SUP,
|
||||
0x02b0, 'h'+L_SUP,
|
||||
0x02b1, 0x266+L_SUP,
|
||||
0x02b2, 'j'+L_SUP,
|
||||
0x02b3, 'r'+L_SUP,
|
||||
0x02b4, 0x279+L_SUP,
|
||||
0x02b5, 0x27b+L_SUP,
|
||||
0x02b6, 0x281+L_SUP,
|
||||
0x02b7, 'w'+L_SUP,
|
||||
0x02b8, 'y'+L_SUP,
|
||||
0x02c0, 0x294+L_SUP,
|
||||
0x02c1, 0x295+L_SUP,
|
||||
0x02e0, 0x263+L_SUP,
|
||||
0x02e1, 'l'+L_SUP,
|
||||
0x02e2, 's'+L_SUP,
|
||||
0x02e3, 'x'+L_SUP,
|
||||
0x2070, '0'+L_SUP,
|
||||
0x2071, 'i'+L_SUP,
|
||||
0x2074, '4'+L_SUP,
|
||||
0x2075, '5'+L_SUP,
|
||||
0x2076, '6'+L_SUP,
|
||||
0x2077, '7'+L_SUP,
|
||||
0x2078, '8'+L_SUP,
|
||||
0x2079, '9'+L_SUP,
|
||||
0x207a, '+'+L_SUP,
|
||||
0x207b, '-'+L_SUP,
|
||||
0x207c, '='+L_SUP,
|
||||
0x207d, '('+L_SUP,
|
||||
0x207e, ')'+L_SUP,
|
||||
0x207f, 'n'+L_SUP,
|
||||
0x2080, '0'+L_SUB,
|
||||
0x2081, '1'+L_SUB,
|
||||
0x2082, '2'+L_SUB,
|
||||
0x2083, '3'+L_SUB,
|
||||
0x2084, '4'+L_SUB,
|
||||
0x2085, '5'+L_SUB,
|
||||
0x2086, '6'+L_SUB,
|
||||
0x2087, '7'+L_SUB,
|
||||
0x2088, '8'+L_SUB,
|
||||
0x2089, '9'+L_SUB,
|
||||
0x208a, '+'+L_SUB,
|
||||
0x208b, '-'+L_SUB,
|
||||
0x208c, '='+L_SUB,
|
||||
0x208d, '('+L_SUB,
|
||||
0x208e, ')'+L_SUB,
|
||||
0x2090, 'a'+L_SUB,
|
||||
0x2091, 'e'+L_SUB,
|
||||
0x2092, 'o'+L_SUB,
|
||||
0x2093, 'x'+L_SUB,
|
||||
0x2094, 0x259+L_SUB,
|
||||
0x2095, 'h'+L_SUB,
|
||||
0x2096, 'k'+L_SUB,
|
||||
0x2097, 'l'+L_SUB,
|
||||
0x2098, 'm'+L_SUB,
|
||||
0x2099, 'n'+L_SUB,
|
||||
0x209a, 'p'+L_SUB,
|
||||
0x209b, 's'+L_SUB,
|
||||
0x209c, 't'+L_SUB,
|
||||
0,0};
|
||||
|
||||
|
||||
static const char *hex_letters[] = {"'e:j","b'i:","s'i:","d'i:","'i:","'ef"}; // names, using phonemes available to all languages
|
||||
|
||||
int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
{//=========================================================================
|
||||
@@ -596,15 +692,18 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
int letter;
|
||||
int len;
|
||||
int ix;
|
||||
int c;
|
||||
char *p2;
|
||||
char *pbuf;
|
||||
const char *modifier;
|
||||
ALPHABET *alphabet;
|
||||
int al_offset;
|
||||
int al_flags;
|
||||
int language;
|
||||
int number;
|
||||
int phontab_1;
|
||||
int speak_letter_number;
|
||||
char capital[20];
|
||||
char capital[30];
|
||||
char ph_buf[80];
|
||||
char ph_buf2[80];
|
||||
char ph_alphabet[80];
|
||||
@@ -626,21 +725,61 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
if(control & 2)
|
||||
{
|
||||
// include CAPITAL information
|
||||
if(iswupper(letter))
|
||||
if(iswupper2(letter))
|
||||
{
|
||||
Lookup(tr, "_cap", capital);
|
||||
}
|
||||
}
|
||||
letter = towlower2(letter);
|
||||
|
||||
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);
|
||||
|
||||
if(ph_buf[0] == 0)
|
||||
{
|
||||
// is this a subscript or superscript letter ?
|
||||
for(ix=0; (c = derived_letters[ix]) != 0; ix+=2)
|
||||
{
|
||||
if(c > letter)
|
||||
break;
|
||||
if(c == letter)
|
||||
{
|
||||
c = derived_letters[ix+1];
|
||||
letter = c & 0x3fff;
|
||||
if((modifier = modifiers[c >> 14]) != NULL)
|
||||
{
|
||||
Lookup(tr, modifier, capital);
|
||||
if(capital[0] == 0)
|
||||
{
|
||||
capital[2] = SetTranslator2("en"); // overwrites previous contents of translator2
|
||||
Lookup(translator2, modifier, &capital[3]);
|
||||
if(capital[3] != 0)
|
||||
{
|
||||
capital[0] = phonPAUSE;
|
||||
capital[1] = phonSWITCH;
|
||||
len = strlen(&capital[3]);
|
||||
capital[len+3] = phonSWITCH;
|
||||
capital[len+4] = phontab_1;
|
||||
capital[len+5] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LookupLetter(tr, letter, word[n_bytes], ph_buf, control & 1);
|
||||
}
|
||||
|
||||
if(ph_buf[0] == phonSWITCH)
|
||||
{
|
||||
strcpy(phonemes,ph_buf);
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
if((ph_buf[0] == 0) && ((number = NonAsciiNumber(letter)) > 0))
|
||||
{
|
||||
// convert a non-ascii number to 0-9
|
||||
LookupLetter(tr, number, 0, ph_buf, control & 1);
|
||||
}
|
||||
|
||||
al_offset = 0;
|
||||
al_flags = 0;
|
||||
if((alphabet = AlphabetFromChar(letter)) != NULL)
|
||||
@@ -766,7 +905,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
speak_letter_number = 1;
|
||||
if(!(al_flags & AL_NO_SYMBOL))
|
||||
{
|
||||
if(iswalpha(letter))
|
||||
if(iswalpha2(letter))
|
||||
Lookup(translator, "_?A", ph_buf);
|
||||
|
||||
if((ph_buf[0]==0) && !iswspace(letter))
|
||||
@@ -784,8 +923,8 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
||||
speak_letter_number = 0;
|
||||
}
|
||||
|
||||
if((ph_alphabet[0] != 0) && speak_letter_number)
|
||||
ph_buf[0] = 0; // don't speak "letter" if we speak alphabet name
|
||||
// if((ph_alphabet[0] != 0) && speak_letter_number)
|
||||
// ph_buf[0] = 0; // don't speak "letter" if we speak alphabet name
|
||||
|
||||
if(speak_letter_number)
|
||||
{
|
||||
@@ -2216,8 +2355,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
if((tr->langopts.numbers & NUM_NOPAUSE) && (next_char == ' '))
|
||||
utf8_in(&next_char,p);
|
||||
|
||||
if(!iswalpha(next_char) && (thousands_exact==0))
|
||||
// if(!iswalpha(next_char) && !((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact != 0)))
|
||||
if(!iswalpha2(next_char) && (thousands_exact==0))
|
||||
// if(!iswalpha2(next_char) && !((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact != 0)))
|
||||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc.
|
||||
}
|
||||
|
||||
|
||||
+194
-59
@@ -76,6 +76,8 @@ static int ssml_ignore_l_angle = 0;
|
||||
|
||||
// punctuations symbols that can end a clause
|
||||
static const unsigned short punct_chars[] = {',','.','?','!',':',';',
|
||||
0x00a1, // inverted exclamation
|
||||
0x00bf, // inverted question
|
||||
0x2013, // en-dash
|
||||
0x2014, // em-dash
|
||||
0x2026, // elipsis
|
||||
@@ -124,6 +126,8 @@ static const unsigned short punct_chars[] = {',','.','?','!',':',';',
|
||||
// bits 0-7 pause x 10mS, bits 12-14 intonation type, bit 15 don't need following space or bracket
|
||||
static const unsigned int punct_attributes [] = { 0,
|
||||
CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON,
|
||||
CLAUSE_SEMICOLON | 0x8000, // inverted exclamation
|
||||
CLAUSE_SEMICOLON | 0x8000, // inverted question
|
||||
CLAUSE_SEMICOLON, // en-dash
|
||||
CLAUSE_SEMICOLON, // em-dash
|
||||
CLAUSE_SEMICOLON | PUNCT_SAY_NAME | 0x8000, // elipsis
|
||||
@@ -214,50 +218,91 @@ const int param_defaults[N_SPEECH_PARAM] = {
|
||||
0, // voice type
|
||||
};
|
||||
|
||||
#ifdef NEED_WCHAR_FUNCTIONS
|
||||
|
||||
// additional Latin characters beyond the Latin1 character set
|
||||
#define MAX_WALPHA 0x233
|
||||
// indexed by character - 0x100
|
||||
// 0=not alphabetic, 0xff=lower case, 0xfe=special case
|
||||
// additional Latin characters beyond the ascii character set
|
||||
#define MAX_WALPHA 0x24f
|
||||
// indexed by character - 0x80
|
||||
// 0=not alphabetic, 0xff=lower case, 0xfe=no case, 0xfd=use wchar_tolower
|
||||
// other=value to add to upper case to convert to lower case
|
||||
static unsigned char walpha_tab[MAX_WALPHA-0xff] = {
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 100
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 110
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 120
|
||||
0xfe,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1, // 130
|
||||
0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, // 140
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 150
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 160
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, // 170
|
||||
0xff, 210, 1,0xff, 1,0xff, 206, 1,0xff, 205, 205, 1,0xff,0xff, 79, 202, // 180
|
||||
203, 1,0xff, 205, 207,0xff, 211, 209, 1,0xff,0xff,0xff, 211, 213,0xff, 214, // 190
|
||||
1,0xff, 1,0xff, 1,0xff, 218, 1,0xff, 218,0xff,0xff, 1,0xff, 218, 1, // 1a0
|
||||
0xff, 217, 217, 1,0xff, 1,0xff, 219, 1,0xff,0xff,0xff, 1,0xff,0xff,0xff, // 1b0
|
||||
0xff,0xff,0xff,0xff, 2, 1,0xff, 2, 1,0xff, 2, 1,0xff, 1,0xff, 1, // 1c0
|
||||
0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff,0xff, 1,0xff, // 1d0
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 1e0
|
||||
0xff, 2, 1,0xff, 1,0xff,0xff,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 1f0
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 200
|
||||
1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 210
|
||||
0xff, 0, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, 1,0xff, // 220
|
||||
1,0xff, 1,0xff }; // 230
|
||||
static unsigned char walpha_tab[MAX_WALPHA-0x7f] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 080
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 090
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xfe, 0, 0, 0, 0, 0, // 0a0
|
||||
0, 0, 0, 0, 0, 0xff, 0, 0, 0, 0, 0xfe, 0, 0, 0, 0, 0, // 0b0
|
||||
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, // 0c0
|
||||
32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0xff, // 0d0
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 0e0
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 0f0
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 100
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 110
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 120
|
||||
0xfd, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, 1, // 130
|
||||
0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, // 140
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 150
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 160
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xfd, 1, 0xff, 1, 0xff, 1, 0xff, 0xff, // 170
|
||||
0xff, 210, 1, 0xff, 1, 0xff, 206, 1, 0xff, 205, 205, 1, 0xff, 0xfe, 79, 202, // 180
|
||||
203, 1, 0xff, 205, 207, 0xff, 211, 209, 1, 0xff, 0xff, 0xfe, 211, 213, 0xff, 214, // 190
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 218, 1, 0xff, 218, 0xfe, 0xfe, 1, 0xff, 218, 1, // 1a0
|
||||
0xff, 217, 217, 1, 0xff, 1, 0xff, 219, 1, 0xff, 0xfe, 0xfe, 1, 0xff, 0xfe, 0xff, // 1b0
|
||||
0xfe, 0xfe, 0xfe, 0xfe, 2, 0xff, 0xff, 2, 0xff, 0xff, 2, 0xff, 0xff, 1, 0xff, 1, // 1c0
|
||||
0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 0xff, 1, 0xff, // 1d0
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 1e0
|
||||
0xfe, 2, 0xff, 0xff, 1, 0xff, 0xfd, 0xfd, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 1f0
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 200
|
||||
1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 210
|
||||
0xfd, 0xfe, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, // 220
|
||||
1, 0xff, 1, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 1, 0xff, 0xfd, 0xfd, 0xfe, // 230
|
||||
0xfe, 1, 0xff, 0xfd, 69, 71, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff, 1, 0xff}; // 240
|
||||
|
||||
static const short wchar_tolower[] = {
|
||||
0x130, 0x069,
|
||||
0x178, 0x0ff,
|
||||
0x1f6, 0x195,
|
||||
0x1f7, 0x1bf,
|
||||
0x220, 0x19e,
|
||||
0x23a, 0x2c65,
|
||||
0x23d, 0x19a,
|
||||
0x23e, 0x2c66,
|
||||
0x243, 0x180,
|
||||
0,0 };
|
||||
|
||||
static const short wchar_toupper[] = {
|
||||
0x0b5, 0x39c,
|
||||
0x0df, 0x0df,
|
||||
0x0ff, 0x178,
|
||||
0x131, 0x049,
|
||||
0x17f, 0x053,
|
||||
0x180, 0x243,
|
||||
0x195, 0x1f6,
|
||||
0x19a, 0x23d,
|
||||
0x19e, 0x220,
|
||||
0x1bf, 0x1f7,
|
||||
0x1c6, 0x1c4,
|
||||
0x1c9, 0x1c7,
|
||||
0x1cc, 0x1ca,
|
||||
0x1dd, 0x18e,
|
||||
0x1f3, 0x1f1,
|
||||
0,0 };
|
||||
|
||||
|
||||
#ifdef NEED_WCHAR_FUNCTIONS
|
||||
|
||||
// use ctype.h functions for Latin1 (character < 0x100)
|
||||
int iswalpha(int c)
|
||||
{
|
||||
if(c < 0x100)
|
||||
if(c < 0x80)
|
||||
return(isalpha(c));
|
||||
if((c > 0x3040) && (c <= 0xa700))
|
||||
return(1); // japanese, chinese characters
|
||||
if(c > MAX_WALPHA)
|
||||
return(0);
|
||||
return(walpha_tab[c-0x100]);
|
||||
return(walpha_tab[c-0x80]);
|
||||
}
|
||||
|
||||
int iswdigit(int c)
|
||||
{
|
||||
if(c < 0x100)
|
||||
if(c < 0x80)
|
||||
return(isdigit(c));
|
||||
return(0);
|
||||
}
|
||||
@@ -272,50 +317,67 @@ int iswalnum(int c)
|
||||
int towlower(int c)
|
||||
{
|
||||
int x;
|
||||
if(c < 0x100)
|
||||
int ix;
|
||||
|
||||
if(c < 0x80)
|
||||
return(tolower(c));
|
||||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x100])==0xff))
|
||||
return(c); // already lower case
|
||||
if(x == 0xfe)
|
||||
|
||||
if((c > MAX_WALPHA) || ((x = walpha_tab[c-0x80]) >= 0xfe))
|
||||
return(c);
|
||||
|
||||
if(x == 0xfd)
|
||||
{
|
||||
// special cases
|
||||
if(c == 0x130) // uppercase i-dot
|
||||
return('i');
|
||||
// special cases, lookup translation table
|
||||
for(ix=0; wchar_tolower[ix] != 0; ix+=2)
|
||||
{
|
||||
if(wchar_tolower[ix] == c)
|
||||
return(wchar_tolower[ix+1]);
|
||||
}
|
||||
}
|
||||
return(c + x); // convert to lower case
|
||||
}
|
||||
|
||||
int towupper(int c)
|
||||
{
|
||||
// check whether the previous character code is the upper-case equivalent of this character
|
||||
if(tolower(c-1) == c)
|
||||
return(c-1); // yes, use it
|
||||
int ix;
|
||||
// check whether a previous character code is the upper-case equivalent of this character
|
||||
if(towlower(c-32) == c)
|
||||
return(c-32); // yes, use it
|
||||
if(towlower(c-1) == c)
|
||||
return(c-1);
|
||||
for(ix=0; wchar_toupper[ix] != 0; ix+=2)
|
||||
{
|
||||
if(wchar_toupper[ix] == c)
|
||||
return(wchar_toupper[ix+1]);
|
||||
}
|
||||
return(c); // no
|
||||
}
|
||||
|
||||
int iswupper(int c)
|
||||
{
|
||||
int x;
|
||||
if(c < 0x100)
|
||||
if(c < 0x80)
|
||||
return(isupper(c));
|
||||
if(((c > MAX_WALPHA) || (x = walpha_tab[c-0x100])==0) || (x == 0xff))
|
||||
if(((c > MAX_WALPHA) || (x = walpha_tab[c-0x80])==0) || (x == 0xff))
|
||||
return(0);
|
||||
return(1);
|
||||
}
|
||||
|
||||
int iswlower(int c)
|
||||
{
|
||||
if(c < 0x100)
|
||||
if(c < 0x80)
|
||||
return(islower(c));
|
||||
if((c > MAX_WALPHA) || (walpha_tab[c-0x100] != 0xff))
|
||||
if((c > MAX_WALPHA) || (walpha_tab[c-0x80] != 0xff))
|
||||
return(0);
|
||||
return(1);
|
||||
}
|
||||
|
||||
int iswspace(int c)
|
||||
{
|
||||
if(c < 0x100)
|
||||
if(c < 0x80)
|
||||
return(isspace(c));
|
||||
if(c == 0xa0)
|
||||
return(1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -367,23 +429,96 @@ float wcstod(const wchar_t *str, wchar_t **tailptr)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// use internal data for iswalpha up to U+024F
|
||||
// iswalpha() on Windows is unreliable (U+AA, U+BA).
|
||||
int iswalpha2(int c)
|
||||
{
|
||||
if(c < 0x80)
|
||||
return(isalpha(c));
|
||||
if((c > 0x3040) && (c <= 0xa700))
|
||||
return(1); // japanese, chinese characters
|
||||
if(c > MAX_WALPHA)
|
||||
return(iswalpha(c));
|
||||
return(walpha_tab[c-0x80]);
|
||||
}
|
||||
|
||||
int iswlower2(int c)
|
||||
{
|
||||
if(c < 0x80)
|
||||
return(islower(c));
|
||||
if(c > MAX_WALPHA)
|
||||
return(iswlower(c));
|
||||
if(walpha_tab[c-0x80] == 0xff)
|
||||
return(1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int iswupper2(int c)
|
||||
{
|
||||
int x;
|
||||
if(c < 0x80)
|
||||
return(isupper(c));
|
||||
if(c > MAX_WALPHA)
|
||||
return(iswupper(c));
|
||||
if(((x = walpha_tab[c-0x80]) > 0) && (x < 0xfe))
|
||||
return(1);
|
||||
return(0);
|
||||
}
|
||||
|
||||
int towlower2(unsigned int c)
|
||||
{
|
||||
int x;
|
||||
int ix;
|
||||
|
||||
// check for non-standard upper to lower case conversions
|
||||
if(c == 'I')
|
||||
{
|
||||
if(translator->translator_name == L('t','r'))
|
||||
if(translator->langopts.dotless_i)
|
||||
{
|
||||
c = 0x131; // I -> ı
|
||||
}
|
||||
}
|
||||
#ifdef __WIN32__
|
||||
if(c == 0x130) // uppercase i-dot
|
||||
return('i');
|
||||
#endif
|
||||
return(towlower(c));
|
||||
|
||||
if(c < 0x80)
|
||||
return(tolower(c));
|
||||
|
||||
if(c > MAX_WALPHA)
|
||||
return(towlower(c));
|
||||
|
||||
if((x = walpha_tab[c-0x80]) >= 0xfe)
|
||||
return(c); // this is not an upper case letter
|
||||
|
||||
if(x == 0xfd)
|
||||
{
|
||||
// special cases, lookup translation table
|
||||
for(ix=0; wchar_tolower[ix] != 0; ix+=2)
|
||||
{
|
||||
if(wchar_tolower[ix] == (int)c)
|
||||
return(wchar_tolower[ix+1]);
|
||||
}
|
||||
}
|
||||
return(c + x); // convert to lower case
|
||||
}
|
||||
|
||||
int towupper2(unsigned int c)
|
||||
{
|
||||
int ix;
|
||||
if(c > MAX_WALPHA)
|
||||
return(towupper(c));
|
||||
|
||||
// check whether a previous character code is the upper-case equivalent of this character
|
||||
if(towlower2(c-32) == (int)c)
|
||||
return(c-32); // yes, use it
|
||||
if(towlower2(c-1) == (int)c)
|
||||
return(c-1);
|
||||
for(ix=0; wchar_toupper[ix] != 0; ix+=2)
|
||||
{
|
||||
if(wchar_toupper[ix] == (int)c)
|
||||
return(wchar_toupper[ix+1]);
|
||||
}
|
||||
return(c); // no
|
||||
}
|
||||
|
||||
static int IsRomanU(unsigned int c)
|
||||
{//================================
|
||||
@@ -2261,7 +2396,7 @@ f_input = f_in; // for GetC etc
|
||||
c2 = ' ';
|
||||
}
|
||||
else
|
||||
if((c2 == '/') || iswalpha(c2))
|
||||
if((c2 == '/') || iswalpha2(c2))
|
||||
{
|
||||
// check for space in the output buffer for embedded commands produced by the SSML tag
|
||||
if(ix > (n_buf - 20))
|
||||
@@ -2444,10 +2579,10 @@ f_input = f_in; // for GetC etc
|
||||
}
|
||||
}
|
||||
|
||||
if(iswupper(c1))
|
||||
if(iswupper2(c1))
|
||||
{
|
||||
tr->clause_upper_count++;
|
||||
if((option_capitals == 2) && (sayas_mode == 0) && !iswupper(cprev))
|
||||
if((option_capitals == 2) && (sayas_mode == 0) && !iswupper2(cprev))
|
||||
{
|
||||
char text_buf[40];
|
||||
char text_buf2[30];
|
||||
@@ -2464,7 +2599,7 @@ f_input = f_in; // for GetC etc
|
||||
}
|
||||
}
|
||||
else
|
||||
if(iswalpha(c1))
|
||||
if(iswalpha2(c1))
|
||||
tr->clause_lower_count++;
|
||||
|
||||
if(option_phoneme_input)
|
||||
@@ -2533,8 +2668,8 @@ if(option_ssml) parag=1;
|
||||
|
||||
if(!iswspace(c1))
|
||||
{
|
||||
if(!IsAlpha(c1) || !iswlower(c1))
|
||||
// if(iswdigit(c1) || (IsAlpha(c1) && !iswlower(c1)))
|
||||
if(!IsAlpha(c1) || !iswlower2(c1))
|
||||
// if(iswdigit(c1) || (IsAlpha(c1) && !iswlower2(c1)))
|
||||
{
|
||||
UngetC(c2);
|
||||
ungot_char2 = c1;
|
||||
@@ -2633,7 +2768,7 @@ if(option_ssml) parag=1;
|
||||
|
||||
if(nl_count==0)
|
||||
{
|
||||
if((c1 == ',') && (cprev == '.') && (tr->translator_name == L('h','u')) && iswdigit(cprev2) && (iswdigit(c_next) || (iswlower(c_next))))
|
||||
if((c1 == ',') && (cprev == '.') && (tr->translator_name == L('h','u')) && iswdigit(cprev2) && (iswdigit(c_next) || (iswlower2(c_next))))
|
||||
{
|
||||
// lang=hu, fix for ordinal numbers, eg: "december 2., szerda", ignore ',' after ordinal number
|
||||
c1 = CHAR_COMMA_BREAK;
|
||||
@@ -2652,7 +2787,7 @@ if(option_ssml) parag=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iswlower(c_next) || (c_next=='-')) // hyphen is needed for lang-hu (eg. 2.-kal)
|
||||
if (iswlower2(c_next) || (c_next=='-')) // hyphen is needed for lang-hu (eg. 2.-kal)
|
||||
is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag)
|
||||
}
|
||||
}
|
||||
@@ -2661,7 +2796,7 @@ if(option_ssml) parag=1;
|
||||
{
|
||||
is_end_clause = 0; // eg. u.s.a.'s
|
||||
}
|
||||
if(iswlower(c_next))
|
||||
if(iswlower2(c_next))
|
||||
{
|
||||
// next word has no capital letter, this dot is probably from an abbreviation
|
||||
// c1 = ' ';
|
||||
|
||||
+14
-7
@@ -24,6 +24,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#ifndef PLATFORM_DOS
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
@@ -101,7 +102,7 @@ static const char *help_text =
|
||||
"\t Compile pronunciation rules and dictionary from the current\n"
|
||||
"\t directory. <voice name> specifies the language\n"
|
||||
"--ipa Write phonemes to stdout using International Phonetic Alphabet\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n"
|
||||
"\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n"
|
||||
"--path=\"<path>\"\n"
|
||||
"\t Specifies the directory containing the espeak-data directory\n"
|
||||
"--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n"
|
||||
@@ -243,16 +244,22 @@ static int OpenWaveFile(const char *path, int rate)
|
||||
if(path == NULL)
|
||||
return(2);
|
||||
|
||||
if(strcmp(path,"stdout")==0)
|
||||
while(isspace(*path)) path++;
|
||||
|
||||
f_wave = NULL;
|
||||
if(path[0] != 0)
|
||||
{
|
||||
if(strcmp(path,"stdout")==0)
|
||||
{
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
// prevent Windows adding 0x0d before 0x0a bytes
|
||||
_setmode(_fileno(stdout), _O_BINARY);
|
||||
_setmode(_fileno(stdout), _O_BINARY);
|
||||
#endif
|
||||
f_wave = stdout;
|
||||
f_wave = stdout;
|
||||
}
|
||||
else
|
||||
f_wave = fopen(path,"wb");
|
||||
}
|
||||
else
|
||||
f_wave = fopen(path,"wb");
|
||||
|
||||
if(f_wave != NULL)
|
||||
{
|
||||
@@ -739,7 +746,7 @@ int main (int argc, char **argv)
|
||||
{
|
||||
value = -1;
|
||||
sscanf(optarg2,"%d",&value);
|
||||
if((value<0) || (value>2))
|
||||
if((value<0) || (value>3))
|
||||
{
|
||||
fprintf(stderr,"Bad value for -ipa=\n");
|
||||
value = 0;
|
||||
|
||||
@@ -1164,6 +1164,17 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream)
|
||||
} // end of espeak_SetPhonemes
|
||||
|
||||
|
||||
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode)
|
||||
{//==============================================================================================================
|
||||
/* phoneme_mode bits 0-3: 0=only phoneme names, 1=ties, 2=ZWJ, 3=underscore separator
|
||||
bits 4-7: 0=eSpeak phoneme names, 1=IPA
|
||||
*/
|
||||
option_multibyte = textmode & 7;
|
||||
TranslateClause(translator, NULL, text, NULL, NULL);
|
||||
GetTranslatedPhonemeString(buffer, size, phonememode);
|
||||
}
|
||||
|
||||
|
||||
ESPEAK_API void espeak_CompileDictionary(const char *path, FILE *log, int flags)
|
||||
{//=============================================================================
|
||||
ENTER("espeak_CompileDictionary");
|
||||
|
||||
+62
-29
@@ -55,6 +55,9 @@ Revision 7 24.Dec.2011
|
||||
Changed espeak_EVENT structure to add id.string[] for phoneme mnemonics.
|
||||
Added espeakINITIALIZE_PHONEME_IPA option for espeak_Initialize() to report phonemes as IPA names.
|
||||
|
||||
Revision 8 26.Apr.2013
|
||||
Added function espeak_TextToPhonemes().
|
||||
|
||||
*/
|
||||
/********************/
|
||||
/* Initialization */
|
||||
@@ -94,7 +97,7 @@ typedef struct {
|
||||
char string[8]; // used for phoneme names (UTF8). Terminated by a zero byte unless the name needs the full 8 bytes.
|
||||
} id;
|
||||
} espeak_EVENT;
|
||||
/*
|
||||
/*
|
||||
When a message is supplied to espeak_synth, the request is buffered and espeak_synth returns. When the message is really processed, the callback function will be repetedly called.
|
||||
|
||||
|
||||
@@ -102,16 +105,16 @@ typedef struct {
|
||||
|
||||
In PLAYBACK mode, the callback function is called as soon as an event happens.
|
||||
|
||||
For example suppose that the following message is supplied to espeak_Synth:
|
||||
For example suppose that the following message is supplied to espeak_Synth:
|
||||
"hello, hello."
|
||||
|
||||
|
||||
* Once processed in RETRIEVAL mode, it could lead to 3 calls of the callback function :
|
||||
|
||||
** Block 1:
|
||||
<audio data> +
|
||||
<audio data> +
|
||||
List of events: SENTENCE + WORD + LIST_TERMINATED
|
||||
|
||||
|
||||
** Block 2:
|
||||
<audio data> +
|
||||
List of events: WORD + END + LIST_TERMINATED
|
||||
@@ -148,11 +151,11 @@ typedef enum {
|
||||
|
||||
typedef enum {
|
||||
/* PLAYBACK mode: plays the audio data, supplies events to the calling program*/
|
||||
AUDIO_OUTPUT_PLAYBACK,
|
||||
AUDIO_OUTPUT_PLAYBACK,
|
||||
|
||||
/* RETRIEVAL mode: supplies audio data and events to the calling program */
|
||||
AUDIO_OUTPUT_RETRIEVAL,
|
||||
|
||||
|
||||
/* SYNCHRONOUS mode: as RETRIEVAL but doesn't return until synthesis is completed */
|
||||
AUDIO_OUTPUT_SYNCHRONOUS,
|
||||
|
||||
@@ -199,7 +202,7 @@ extern "C"
|
||||
ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback);
|
||||
/* Must be called before any synthesis functions are called.
|
||||
This specifies a function in the calling program which is called when a buffer of
|
||||
speech sound data has been produced.
|
||||
speech sound data has been produced.
|
||||
|
||||
|
||||
The callback function is of the form:
|
||||
@@ -288,7 +291,7 @@ ESPEAK_API espeak_ERROR espeak_Synth(const void *text,
|
||||
start of the text.
|
||||
|
||||
position_type: Determines whether "position" is a number of characters, words, or sentences.
|
||||
Values:
|
||||
Values:
|
||||
|
||||
end_position: If set, this gives a character position at which speaking will stop. A value
|
||||
of zero indicates no end position.
|
||||
@@ -299,6 +302,7 @@ ESPEAK_API espeak_ERROR espeak_Synth(const void *text,
|
||||
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
|
||||
espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
|
||||
espeakCHARS_WCHAR Wide characters (wchar_t)
|
||||
espeakCHARS_16BIT 16 bit characters.
|
||||
|
||||
espeakSSML Elements within < > are treated as SSML elements, or if not recognised are ignored.
|
||||
|
||||
@@ -307,13 +311,13 @@ ESPEAK_API espeak_ERROR espeak_Synth(const void *text,
|
||||
espeakENDPAUSE If set then a sentence pause is added at the end of the text. If not set then
|
||||
this pause is suppressed.
|
||||
|
||||
unique_identifier: message identifier; helpful for identifying later
|
||||
unique_identifier: message identifier; helpful for identifying later
|
||||
data supplied to the callback.
|
||||
|
||||
user_data: pointer which will be passed to the callback function.
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -336,8 +340,8 @@ ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text,
|
||||
|
||||
For the other parameters, see espeak_Synth()
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -350,8 +354,8 @@ ESPEAK_API espeak_ERROR espeak_Key(const char *key_name);
|
||||
If key_name is a single character, it speaks the name of the character.
|
||||
Otherwise, it speaks key_name as a text string.
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -360,10 +364,10 @@ ESPEAK_API espeak_ERROR espeak_Key(const char *key_name);
|
||||
extern "C"
|
||||
#endif
|
||||
ESPEAK_API espeak_ERROR espeak_Char(wchar_t character);
|
||||
/* Speak the name of the given character
|
||||
/* Speak the name of the given character
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -420,7 +424,7 @@ ESPEAK_API espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int valu
|
||||
espeakRANGE: pitch range, range 0-100. 0-monotone, 50=normal
|
||||
|
||||
espeakPUNCTUATION: which punctuation characters to announce:
|
||||
value in espeak_PUNCT_TYPE (none, all, some),
|
||||
value in espeak_PUNCT_TYPE (none, all, some),
|
||||
see espeak_GetParameter() to specify which characters are announced.
|
||||
|
||||
espeakCAPITALS: announce capital letters by:
|
||||
@@ -432,8 +436,8 @@ ESPEAK_API espeak_ERROR espeak_SetParameter(espeak_PARAMETER parameter, int valu
|
||||
|
||||
espeakWORDGAP: pause between words, units of 10mS (at the default speed)
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -455,8 +459,8 @@ ESPEAK_API espeak_ERROR espeak_SetPunctuationList(const wchar_t *punctlist);
|
||||
|
||||
punctlist: A list of character codes, terminated by a zero character.
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -474,6 +478,35 @@ ESPEAK_API void espeak_SetPhonemeTrace(int value, FILE *stream);
|
||||
stream output stream for the phoneme symbols (and trace). If stream=NULL then it uses stdout.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
ESPEAK_API void espeak_TextToPhonemes(const void *text, char *buffer, int size, int textmode, int phonememode);
|
||||
/* Translates text into phonemes. Call espeak_SetVoiceByName() first, to select a language.
|
||||
text: The text to translate, terminated by a zero character.
|
||||
|
||||
buffer: Output buffer for the phoneme translation.
|
||||
|
||||
size: Size of the output buffer in bytes.
|
||||
|
||||
textmode: Type of character codes, one of:
|
||||
espeakCHARS_UTF8 UTF8 encoding
|
||||
espeakCHARS_8BIT The 8 bit ISO-8859 character set for the particular language.
|
||||
espeakCHARS_AUTO 8 bit or UTF8 (this is the default)
|
||||
espeakCHARS_WCHAR Wide characters (wchar_t)
|
||||
espeakCHARS_16BIT 16 bit characters.
|
||||
|
||||
phonememode: bits0-3:
|
||||
0= just phonemes.
|
||||
1= include ties (U+361) for phoneme names of more than one letter.
|
||||
2= include zero-width-joiner for phoneme names of more than one letter.
|
||||
3= separate phonemes with underscore characters.
|
||||
|
||||
bits 4-7:
|
||||
0= eSpeak's ascii phoneme names.
|
||||
1= International Phonetic Alphabet (as UTF-8 characters).
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
@@ -501,7 +534,7 @@ typedef struct {
|
||||
unsigned char gender; // 0=none 1=male, 2=female,
|
||||
unsigned char age; // 0=not specified, or age in years
|
||||
unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties
|
||||
unsigned char xx1; // for internal use
|
||||
unsigned char xx1; // for internal use
|
||||
int score; // for internal use
|
||||
void *spare; // for internal use
|
||||
} espeak_VOICE;
|
||||
@@ -546,8 +579,8 @@ ESPEAK_API espeak_ERROR espeak_SetVoiceByName(const char *name);
|
||||
/* Searches for a voice with a matching "name" field. Language is not considered.
|
||||
"name" is a UTF8 string.
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
Return: EE_OK: operation achieved
|
||||
EE_BUFFER_FULL: the command can not be buffered;
|
||||
you may try after a while to call the function again.
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
@@ -588,7 +621,7 @@ ESPEAK_API espeak_ERROR espeak_Cancel(void);
|
||||
function returns, the audio output is fully stopped and the synthesizer is ready to
|
||||
synthesize a new message.
|
||||
|
||||
Return: EE_OK: operation achieved
|
||||
Return: EE_OK: operation achieved
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
|
||||
@@ -605,7 +638,7 @@ extern "C"
|
||||
#endif
|
||||
ESPEAK_API espeak_ERROR espeak_Synchronize(void);
|
||||
/* This function returns when all data have been spoken.
|
||||
Return: EE_OK: operation achieved
|
||||
Return: EE_OK: operation achieved
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
|
||||
@@ -614,7 +647,7 @@ extern "C"
|
||||
#endif
|
||||
ESPEAK_API espeak_ERROR espeak_Terminate(void);
|
||||
/* last function to be called.
|
||||
Return: EE_OK: operation achieved
|
||||
Return: EE_OK: operation achieved
|
||||
EE_INTERNAL_ERROR.
|
||||
*/
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.47.04 02.Apr.13";
|
||||
const char *version_string = "1.47.08 26.Apr.13";
|
||||
const int version_phdata = 0x014701;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+3
-9
@@ -1953,20 +1953,14 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control)
|
||||
|
||||
if((option_phonemes > 0) || (phoneme_callback != NULL))
|
||||
{
|
||||
int use_ipa = 0;
|
||||
int phoneme_mode = 0;
|
||||
if(option_phonemes >= 3)
|
||||
use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ
|
||||
phoneme_mode = 0x10 + option_phonemes-3; // 0x10=ipa, 0x11=ipa with tie, 0x12=ipa with ZWJ, 0x13=ipa with separators
|
||||
|
||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa);
|
||||
GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), phoneme_mode);
|
||||
if(option_phonemes > 0)
|
||||
{
|
||||
fprintf(f_trans,"%s\n",translator->phon_out);
|
||||
|
||||
if(!iswalpha(0x010d))
|
||||
{
|
||||
// check that c-caron is recognized as an alphabetic character
|
||||
fprintf(stderr,"Warning: Accented letters are not recognized, eg: U+010D\nSet LC_CTYPE to a UTF-8 locale\n");
|
||||
}
|
||||
}
|
||||
if(phoneme_callback != NULL)
|
||||
{
|
||||
|
||||
+5
-5
@@ -192,23 +192,23 @@ typedef struct {
|
||||
|
||||
// a clause translated into phoneme codes (first stage)
|
||||
typedef struct {
|
||||
unsigned short synthflags; // NOTE Put shorts on 32bit boundaries, because of RISC OS compiler bug?
|
||||
unsigned char phcode;
|
||||
unsigned char stresslevel;
|
||||
unsigned char wordstress;
|
||||
unsigned char tone_ph; // tone phoneme to use with this vowel
|
||||
unsigned short synthflags;
|
||||
unsigned short sourceix; // ix into the original source text string, only set at the start of a word
|
||||
unsigned char wordstress; // the highest level stress in this word
|
||||
unsigned char tone_ph; // tone phoneme to use with this vowel
|
||||
} PHONEME_LIST2;
|
||||
|
||||
|
||||
typedef struct {
|
||||
// The first section is a copy of PHONEME_LIST2
|
||||
unsigned short synthflags;
|
||||
unsigned char phcode;
|
||||
unsigned char stresslevel;
|
||||
unsigned short sourceix; // ix into the original source text string, only set at the start of a word
|
||||
unsigned char wordstress; // the highest level stress in this word
|
||||
unsigned char tone_ph; // tone phoneme to use with this vowel
|
||||
unsigned short synthflags;
|
||||
unsigned short sourceix; // ix into the original source text string, only set at the start of a word
|
||||
|
||||
PHONEME_TAB *ph;
|
||||
short length; // length_mod
|
||||
|
||||
@@ -844,6 +844,7 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.numbers = 1;
|
||||
tr->langopts.accents = 2; // 'capital' after letter name
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 3; // don't count apostrophe
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -971,7 +972,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetLetterBits(tr,LETTERGP_VOWEL2,hy_vowels);
|
||||
SetLetterBits(tr,LETTERGP_C,hy_consonants);
|
||||
tr->langopts.max_initial_consonants = 6;
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED;
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_OMIT_1_HUNDRED;
|
||||
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
}
|
||||
break;
|
||||
@@ -1289,6 +1290,7 @@ SetLengthMods(tr,3); // all equal
|
||||
ResetLetterBits(tr,0x2);
|
||||
SetLetterBits(tr,1,"bcdfgjkmnpqstvxz"); // B hard consonants, excluding h,l,r,w,y
|
||||
tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2
|
||||
tr->langopts.accents = 2; // 'capital' after letter name
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1520,6 +1522,7 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable
|
||||
tr->langopts.stress_flags = S_NO_AUTO_2; //no automatic secondary stress
|
||||
tr->langopts.dotless_i = 1;
|
||||
tr->langopts.param[LOPT_SUFFIX] = 1;
|
||||
|
||||
if(name2 == L('a','z'))
|
||||
|
||||
+20
-17
@@ -388,9 +388,12 @@ int IsAlpha(unsigned int c)
|
||||
0
|
||||
};
|
||||
|
||||
if(iswalpha(c))
|
||||
if(iswalpha2(c))
|
||||
return(1);
|
||||
|
||||
if(c < 0x300)
|
||||
return(0);
|
||||
|
||||
if((c >= 0x901) && (c <= 0xdf7))
|
||||
{
|
||||
// Indic scripts: Devanagari, Tamil, etc
|
||||
@@ -625,7 +628,7 @@ int IsAllUpper(const char *word)
|
||||
while((*word != 0) && !isspace2(*word))
|
||||
{
|
||||
word += utf8_in(&c, word);
|
||||
if(!iswupper(c))
|
||||
if(!iswupper2(c))
|
||||
return(0);
|
||||
}
|
||||
return(1);
|
||||
@@ -1054,7 +1057,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt
|
||||
}
|
||||
}
|
||||
|
||||
if((wflags & FLAG_ALL_UPPER) && (word_length > 1)&& iswalpha(first_char))
|
||||
if((wflags & FLAG_ALL_UPPER) && (word_length > 1)&& iswalpha2(first_char))
|
||||
{
|
||||
if((option_tone_flags & OPTION_EMPHASIZE_ALLCAPS) && !(dictionary_flags[0] & FLAG_ABBREV))
|
||||
{
|
||||
@@ -1633,7 +1636,7 @@ if(end_type & SUFX_UNPRON)
|
||||
tr->expect_past--;
|
||||
}
|
||||
|
||||
if((word_length == 1) && (tr->translator_name == L('e','n')) && iswalpha(first_char) && (first_char != 'i'))
|
||||
if((word_length == 1) && (tr->translator_name == L('e','n')) && iswalpha2(first_char) && (first_char != 'i'))
|
||||
{
|
||||
// English Specific !!!!
|
||||
// any single letter before a dot is an abbreviation, except 'I'
|
||||
@@ -1909,7 +1912,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
while(*p2 != ' ') p2++;
|
||||
|
||||
utf8_in(&c_word2, p2+1); // first character of the next word;
|
||||
if(!iswalpha(c_word2))
|
||||
if(!iswalpha2(c_word2))
|
||||
{
|
||||
ok =0;
|
||||
}
|
||||
@@ -2377,9 +2380,9 @@ static int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in,
|
||||
|
||||
// there is a list of character codes to be substituted with alternative codes
|
||||
|
||||
if(iswupper(c_lower = c))
|
||||
if(iswupper2(c_lower = c))
|
||||
{
|
||||
c_lower = towlower(c);
|
||||
c_lower = towlower2(c);
|
||||
upper_case = 1;
|
||||
}
|
||||
|
||||
@@ -2393,7 +2396,7 @@ static int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in,
|
||||
new_c = replace_chars[ix+1];
|
||||
break;
|
||||
}
|
||||
if((word >> 16) == (unsigned int)towlower(next_in))
|
||||
if((word >> 16) == (unsigned int)towlower2(next_in))
|
||||
{
|
||||
new_c = replace_chars[ix+1];
|
||||
ignore_next = 1;
|
||||
@@ -2410,14 +2413,14 @@ static int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in,
|
||||
// there is a second character to be inserted
|
||||
// don't convert the case of the second character unless the next letter is also upper case
|
||||
c2 = new_c >> 16;
|
||||
if(upper_case && iswupper(next_in))
|
||||
c2 = towupper(c2);
|
||||
if(upper_case && iswupper2(next_in))
|
||||
c2 = towupper2(c2);
|
||||
*insert = c2;
|
||||
new_c &= 0xffff;
|
||||
}
|
||||
|
||||
if(upper_case)
|
||||
new_c = towupper(new_c);
|
||||
new_c = towupper2(new_c);
|
||||
|
||||
*wordflags |= FLAG_CHAR_REPLACED;
|
||||
return(new_c);
|
||||
@@ -2481,7 +2484,7 @@ static int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned int c,
|
||||
// look for 'n and replace by a special character (unicode: schwa)
|
||||
|
||||
|
||||
if(!iswalpha(prev_in))
|
||||
if(!iswalpha2(prev_in))
|
||||
{
|
||||
utf8_in(&next2, &ptr[1]);
|
||||
|
||||
@@ -2911,7 +2914,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
else
|
||||
{
|
||||
if(iswupper(c))
|
||||
if(iswupper2(c))
|
||||
word_flags |= FLAG_FIRST_UPPER;
|
||||
|
||||
if((prev_out == ' ') && iswdigit(sbuf[ix-2]) && !iswdigit(prev_in))
|
||||
@@ -2940,7 +2943,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
}
|
||||
|
||||
if(iswupper(c))
|
||||
if(iswupper2(c))
|
||||
{
|
||||
c = towlower2(c);
|
||||
|
||||
@@ -2955,13 +2958,13 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
else
|
||||
{
|
||||
if((iswlower(prev_in)) && (prev_in != 0xba)) // Windows thinks masc.ordinal (0xba) is lower-case
|
||||
if(iswlower2(prev_in))
|
||||
{
|
||||
// lower case followed by upper case in a word
|
||||
if(UpperCaseInWord(tr, &sbuf[ix], c) == 1)
|
||||
{
|
||||
// convert to lower case and continue
|
||||
c = towlower(c);
|
||||
c = towlower2(c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2971,7 +2974,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
// next_word_flags |= FLAG_NOSPACE; // problem: prevents FLAG_HAS_DOT being set
|
||||
}
|
||||
}
|
||||
else if((c != ' ') && iswupper(prev_in) && iswlower(next_in))
|
||||
else if((c != ' ') && iswupper2(prev_in) && iswlower2(next_in))
|
||||
{
|
||||
int next2_in;
|
||||
utf8_in(&next2_in,&source[source_index + next_in_nbytes]);
|
||||
|
||||
+9
-3
@@ -81,8 +81,9 @@
|
||||
#define FLAG_ONLY 0x4000
|
||||
#define FLAG_ONLY_S 0x8000
|
||||
#define FLAG_STEM 0x10000 // must have a suffix
|
||||
#define FLAG_ATEND 0x20000 /* use this pronunciation if at end of clause */
|
||||
#define FLAG_ATEND 0x20000 // use this pronunciation if at end of clause
|
||||
#define FLAG_ATSTART 0x40000 // use this pronunciation if at start of clause
|
||||
#define FLAG_NATIVE 0x80000 // not if we've switched translators
|
||||
#define FLAG_LOOKUP_SYMBOL 0x40000000 // to indicate called from Lookup()
|
||||
|
||||
#define BITNUM_FLAG_ALLCAPS 0x2a
|
||||
@@ -247,9 +248,9 @@ typedef struct {
|
||||
typedef struct{
|
||||
unsigned int flags;
|
||||
unsigned short start;
|
||||
unsigned short sourceix;
|
||||
unsigned char pre_pause;
|
||||
unsigned char wmark;
|
||||
unsigned short sourceix;
|
||||
unsigned char length;
|
||||
} WORD_TAB;
|
||||
|
||||
@@ -542,6 +543,7 @@ typedef struct {
|
||||
char tone_numbers;
|
||||
char ideographs; // treat as separate words
|
||||
char textmode; // the meaning of FLAG_TEXTMODE is reversed (to save data when *_list file is compiled)
|
||||
char dotless_i; // uses letter U+0131
|
||||
int testing; // testing options: bit 1= specify stressed syllable in the form: "outdoor/2"
|
||||
int listx; // compile *_listx after *list
|
||||
const unsigned int *replace_chars; // characters to be substitutes
|
||||
@@ -713,9 +715,13 @@ int IsDigit(unsigned int c);
|
||||
int IsDigit09(unsigned int c);
|
||||
int IsAlpha(unsigned int c);
|
||||
int IsVowel(Translator *tr, int c);
|
||||
int iswalpha2(int c);
|
||||
int isspace2(unsigned int c);
|
||||
int iswlower2(int c);
|
||||
int iswupper2(int c);
|
||||
int towlower2(unsigned int c);
|
||||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa);
|
||||
int towupper2(unsigned int c);
|
||||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int phoneme_mode);
|
||||
const char *WordToString2(unsigned int word);
|
||||
ALPHABET *AlphabetFromChar(int c);
|
||||
ALPHABET *AlphabetFromName(const char *name);
|
||||
|
||||
+1
-1
@@ -460,7 +460,7 @@ void TranslDlg::OnCommand(wxCommandEvent& event)
|
||||
t_phonetic->SetDefaultStyle(style_phonetic_large);
|
||||
|
||||
translate_text = 3;
|
||||
use_ipa = 1;
|
||||
use_ipa = 0x10;
|
||||
break;
|
||||
|
||||
case T_PROCESS:
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
typedef struct {
|
||||
char v_name[40];
|
||||
char language_name[20];
|
||||
|
||||
int phoneme_tab_ix; // phoneme table number
|
||||
int pitch_base; // Hz<<12
|
||||
|
||||
+8
-5
@@ -422,7 +422,7 @@ void VoiceReset(int tone_only)
|
||||
voice->n_harmonic_peaks = 5;
|
||||
voice->peak_shape = 0;
|
||||
voice->voicing = 64;
|
||||
voice->consonant_amp = 90; // change to 85 for v.1.47 was 100
|
||||
voice->consonant_amp = 90; // change from 100 to 90 for v.1.47
|
||||
voice->consonant_ampv = 100;
|
||||
voice->samplerate = samplerate_native;
|
||||
memset(voice->klattv,0,sizeof(voice->klattv));
|
||||
@@ -540,7 +540,7 @@ static unsigned int StringToWord2(const char *string)
|
||||
int c;
|
||||
unsigned int value = 0;
|
||||
|
||||
for(ix=0; (ix<4) & ((c = string[ix]) != 0); ix++)
|
||||
for(ix=0; (ix<4) && ((c = string[ix]) != 0); ix++)
|
||||
{
|
||||
value = (value << 8) | (c & 0xff);
|
||||
}
|
||||
@@ -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 =
|
||||
"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 ";
|
||||
"az bn fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta te tr vi vi-hue vi-sgn 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 ";
|
||||
|
||||
@@ -751,6 +751,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
new_translator = SelectTranslator(translator_name);
|
||||
langopts = &new_translator->langopts;
|
||||
strncpy0(voice->language_name, language_name, sizeof(voice->language_name));
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1829,6 +1830,7 @@ espeak_ERROR SetVoiceByName(const char *name)
|
||||
}
|
||||
|
||||
DoVoiceChange(voice);
|
||||
voice_selector.languages = voice->language_name;
|
||||
SetVoiceStack(&voice_selector, variant_name);
|
||||
return(EE_OK);
|
||||
}
|
||||
@@ -1845,6 +1847,7 @@ espeak_ERROR SetVoiceByName(const char *name)
|
||||
LoadVoice(variant_name,2);
|
||||
}
|
||||
DoVoiceChange(voice);
|
||||
voice_selector.languages = voice->language_name;
|
||||
SetVoiceStack(&voice_selector, variant_name);
|
||||
return(EE_OK);
|
||||
}
|
||||
@@ -1895,8 +1898,8 @@ void FreeVoiceList()
|
||||
ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
|
||||
{//========================================================================
|
||||
char path_voices[sizeof(path_home)+12];
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef PLATFORM_RISCOS
|
||||
if(n_voices_list == 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user