mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-03 22:26:48 +00:00
[1.46.45]
Indian languages, rename aspirated phonemes with # instead of h (eg. [t#] not [th]). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@311 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
@@ -97,6 +97,7 @@ x Iks
|
||||
_ar aR'AbIS
|
||||
_cyr ky:R'IlIS
|
||||
_he hEbr'E:IS
|
||||
_zh Ci:n'e:zIS
|
||||
|
||||
|
||||
// Numbers
|
||||
|
||||
+69
-70
@@ -68,7 +68,7 @@ r R R3 s S t T tS
|
||||
v w x z Z
|
||||
|
||||
|
||||
Dictionary hu_dict 2013-03-08
|
||||
Dictionary hu_dict 2013-03-10
|
||||
|
||||
a A a: e E e: i i:
|
||||
o o: u u: Y y y: Y:
|
||||
@@ -80,7 +80,7 @@ S s2 t t2 tS ts v w
|
||||
z Z
|
||||
|
||||
|
||||
Dictionary de_dict 2013-02-25
|
||||
Dictionary de_dict 2013-03-10
|
||||
|
||||
3 @ @- a A A: aI aU
|
||||
A~ E E2 E: e: EI i I
|
||||
@@ -104,7 +104,7 @@ p Q r R s s; t T
|
||||
ts v x z
|
||||
|
||||
|
||||
Dictionary en_dict 2013-03-08
|
||||
Dictionary en_dict 2013-03-10
|
||||
|
||||
0 0# 3 3: @ @- @2 @5
|
||||
@L a a# A: A@ aa aI aI3
|
||||
@@ -191,22 +191,22 @@ N n^ p r R R2 s S
|
||||
t tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary hi_dict 2013-03-01
|
||||
Dictionary hi_dict 2013-03-09
|
||||
|
||||
@ @- @2 a a: aI aU a~
|
||||
e E e: E: E~ i I i:
|
||||
l- o O o: O: O~ o~ r-
|
||||
u U u: u~ V
|
||||
|
||||
#X1 #X2 - : b bh c ch
|
||||
d d. dh dh. f g gh h
|
||||
H j J Jh k kh l l.
|
||||
m n N n. n^ p ph Q
|
||||
#X1 #X2 - : b b# c c#
|
||||
d d# d. d.# f g g# h
|
||||
H j J J# k k# l l.
|
||||
m n N n. n^ p p# Q
|
||||
q r r. s S s. t T
|
||||
t. th th. v w x z
|
||||
t# t. t.# v w x z
|
||||
|
||||
|
||||
Dictionary ta_dict 2013-03-08
|
||||
Dictionary ta_dict 2013-03-10
|
||||
|
||||
a a: aI aU e E e: i
|
||||
I i: o o: u U u2 u:
|
||||
@@ -216,7 +216,7 @@ U: V V#
|
||||
d. dZ f g h H j k
|
||||
l l. m n N n. n^ p
|
||||
Q r R s S s. t T
|
||||
t. th tS v w z z.
|
||||
t. tS v w z z.
|
||||
|
||||
|
||||
Dictionary hy_dict 2008-12-22
|
||||
@@ -379,7 +379,7 @@ S s; S; t t; tS ts tS;
|
||||
ts; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary pt_dict 2013-03-08
|
||||
Dictionary pt_dict 2013-03-10
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
@@ -540,21 +540,21 @@ n^ p p` r s S t t`
|
||||
tS tS` v w x z Z
|
||||
|
||||
|
||||
Dictionary ml_dict 2013-03-06
|
||||
Dictionary ml_dict 2013-03-10
|
||||
|
||||
@ a a# a: aI aU e E
|
||||
e: i I i: o o: r- u
|
||||
u: V y
|
||||
|
||||
#X1 #X2 : ; b bh c ch
|
||||
d d# d. dh dh. dZ f g
|
||||
gh h j J Jh k kh l
|
||||
l. m n N n. n^ p ph
|
||||
#X1 #X2 : ; b b# c c#
|
||||
d d# d. d.# d2 dZ f g
|
||||
g# h j J J# k k# l
|
||||
l. m n N n. n^ p p#
|
||||
r R r. R2 s s. S; t
|
||||
t. th th. tS v w z
|
||||
t# t. t.# tS v w z
|
||||
|
||||
|
||||
Dictionary ne_dict 2013-01-10
|
||||
Dictionary ne_dict 2013-03-09
|
||||
|
||||
@ @/ @2 @3 a a: aI aU
|
||||
a~ e E e: E: eI e~ E~
|
||||
@@ -562,25 +562,25 @@ i I i: i~ o O o: O:
|
||||
O~ o~ u U u: u~ V VI
|
||||
VU V~
|
||||
|
||||
- : ; b bh c ch d
|
||||
d. dh dh. f g gh h H
|
||||
j J Jh k kh l l. m
|
||||
n N n. n^ p ph Q q
|
||||
r r. s S s. t t. th
|
||||
th. v w x z
|
||||
- : ; b b# c c# d
|
||||
d# d. d.# f g g# h H
|
||||
j J J# k k# l l. m
|
||||
n N n. n^ p p# Q q
|
||||
r r. s S s. t t# t.
|
||||
t.# v w x z
|
||||
|
||||
|
||||
Dictionary pa_dict 2013-03-01
|
||||
Dictionary pa_dict 2013-03-09
|
||||
|
||||
@ a a~ e E e~ E~ i
|
||||
I i~ I~ o O O~ o~ r-
|
||||
u U U~ u~ V V~
|
||||
|
||||
: ; b bh c ch d d.
|
||||
dh dh. f g gh h H j
|
||||
J Jh k kh l l. m n
|
||||
N n. n^ p ph Q R R2
|
||||
s S t t. th th. v x
|
||||
: ; b b# c c# d d#
|
||||
d. d.# f g g# h H j
|
||||
J J# k k# l l. m n
|
||||
N n. n^ p p# Q R R2
|
||||
s S t t# t. t.# v x
|
||||
z
|
||||
|
||||
|
||||
@@ -603,16 +603,16 @@ N n^ p q R s S S;
|
||||
t tS v w x z
|
||||
|
||||
|
||||
Dictionary ur_dict 2013-03-08
|
||||
Dictionary ur_dict 2013-03-09
|
||||
|
||||
@ a a: aI aU e E e:
|
||||
i I i: O o: U u: V
|
||||
|
||||
: ; b bh c ch d D
|
||||
d. dh dh. f g gh h H
|
||||
j J Jh k kh l m n
|
||||
N p ph Q q r R r.
|
||||
s S s. t T t. th th.
|
||||
: ; b b# c c# d D
|
||||
d# d. d.# f g g# h H
|
||||
j J J# k k# l m n
|
||||
N p p# Q q r R r.
|
||||
s S s. t T t# t. t.#
|
||||
v w x z Z z.
|
||||
|
||||
|
||||
@@ -682,30 +682,30 @@ q R R2 s s2 t v w
|
||||
x z
|
||||
|
||||
|
||||
Dictionary dv_dict 2011-01-08
|
||||
Dictionary dv_dict 2013-03-09
|
||||
|
||||
@ @2 a a: aI e e: E:
|
||||
E~ i I i: o O o: O:
|
||||
O~ u U u: V
|
||||
|
||||
: ? b c ch d D d.
|
||||
dZ f g h j k kh l
|
||||
: ? b c c# d D d.
|
||||
dZ f g h j k k# l
|
||||
l. m n N n. n^ p Q
|
||||
q r R s S s. t T
|
||||
t. th th. tS v w x z
|
||||
t# t. t.# tS v w x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary kn_dict 2011-12-05
|
||||
Dictionary kn_dict 2013-03-09
|
||||
|
||||
a a: aI aU e E e: i
|
||||
I i: o o: r- u u:
|
||||
|
||||
#X1 #X2 : b bh c ch d
|
||||
d. dh dh. dZ f g gh h
|
||||
j J Jh k kh l l. m
|
||||
n N n. n^ p ph r s
|
||||
S s. S; t t. th th. tS
|
||||
#X1 #X2 : b b# c c# d
|
||||
d# d. d.# dZ f g g# h
|
||||
j J J# k k# l l. m
|
||||
n N n. n^ p p# r s
|
||||
S s. S; t t# t. t.# tS
|
||||
v w z
|
||||
|
||||
|
||||
@@ -721,16 +721,16 @@ R R3 s S t T tS ts
|
||||
v w x X z
|
||||
|
||||
|
||||
Dictionary te_dict 2011-12-05
|
||||
Dictionary te_dict 2013-03-09
|
||||
|
||||
a a: aI aU e E e: i
|
||||
i: l- o o: r- u u: V
|
||||
|
||||
#X1 #X2 : ; b bh c ch
|
||||
d d. dh dh. dZ f g gh
|
||||
h j J Jh k kh l l.
|
||||
m n N n. n^ p ph r
|
||||
s s. S; t t. th th. tS
|
||||
#X1 #X2 : ; b b# c c#
|
||||
d d# d. d.# dZ f g g#
|
||||
h j J J# k k# l l.
|
||||
m n N n. n^ p p# r
|
||||
s s. S; t t# t. t.# tS
|
||||
v w z
|
||||
|
||||
|
||||
@@ -750,11 +750,10 @@ Dictionary si_dict 2013-01-18
|
||||
& &: @ a a: aI aU e
|
||||
e: i i: o o: u u:
|
||||
|
||||
b bh d d. dh dZ f g
|
||||
gh h j k kh l l. m
|
||||
m# n N n# N# n. n.# n^
|
||||
n^# p ph r s S s. t
|
||||
t. th tS v w
|
||||
b d d. dZ f g h j
|
||||
k l l. m m# n N n#
|
||||
N# n. n.# n^ n^# p r s
|
||||
S s. t t. tS v w
|
||||
|
||||
|
||||
Dictionary et_dict 2012-06-12
|
||||
@@ -782,16 +781,16 @@ q r s S t tS v w
|
||||
x z Z
|
||||
|
||||
|
||||
Dictionary bo_dict 2011-12-05
|
||||
Dictionary bo_dict 2013-03-09
|
||||
|
||||
a a: e e: i i: l- o
|
||||
o: r- u u:
|
||||
|
||||
: ? b bh c ch d d.
|
||||
dh dh. dz dzh g gh H j
|
||||
J k kh l m n N n.
|
||||
n^ p ph r s S s. t
|
||||
t. th th. ts tsh w z Z
|
||||
: ? b b# c c# d d#
|
||||
d. d.# dz dz# g g# H j
|
||||
J k k# l m n N n.
|
||||
n^ p p# r s S s. t
|
||||
t# t. t.# ts ts# w z Z
|
||||
|
||||
|
||||
Dictionary kk_dict 2011-12-07
|
||||
@@ -872,18 +871,18 @@ R R2 s S t T t# tS
|
||||
w x
|
||||
|
||||
|
||||
Dictionary bn_dict 2013-02-28
|
||||
Dictionary bn_dict 2013-03-09
|
||||
|
||||
@ a a: aI a~ e E e:
|
||||
E: E~ i I i: i~ o O
|
||||
o: O: O~ o~ r- u U u:
|
||||
u~ V
|
||||
|
||||
#X1 #X2 : b bh c ch d
|
||||
d. dh dh. g gh h H j
|
||||
J Jh k kh l m n N
|
||||
n. n^ p ph r r. s S
|
||||
s. t t. th th. v w z
|
||||
#X1 #X2 : b b# c c# d
|
||||
d# d. d.# g g# h H j
|
||||
J J# k k# l m n N
|
||||
n. n^ p p# r r. s S
|
||||
s. t t# t. t.# v w z
|
||||
|
||||
|
||||
Dictionary ga_dict 2013-03-08
|
||||
|
||||
+30
-14
@@ -127,7 +127,7 @@ _, k0m@
|
||||
_- h,aIf@n
|
||||
?3 _- daS
|
||||
_. d0t
|
||||
?3_. pi@rI@d
|
||||
?3_.p pi@rI@d
|
||||
_: koUl@n
|
||||
_; sEmIk'oUl@n
|
||||
_< lEsDan
|
||||
@@ -276,7 +276,8 @@ _my mj'A:nmA@
|
||||
_ka dZ'O@dZ@n
|
||||
_ko k3r'i@n
|
||||
_eth i:TI'0pIk
|
||||
|
||||
_ja dZ'ap@ni:z
|
||||
_zh tS'aIni:z
|
||||
|
||||
// Cyrillic letters
|
||||
а a
|
||||
@@ -385,6 +386,18 @@ _eth i:TI'0pIk
|
||||
ר ReS_
|
||||
ש Sin_
|
||||
ת tav_
|
||||
ְ SvA:
|
||||
ֱ E
|
||||
ֲ a
|
||||
ֳ o
|
||||
ִ i:
|
||||
ֵ E
|
||||
ֶ E
|
||||
ַ a
|
||||
ָ a
|
||||
ֹ o
|
||||
ֻ u
|
||||
ּ d'agES
|
||||
|
||||
|
||||
// phonetic modifiers
|
||||
@@ -4184,19 +4197,22 @@ like laIk $strend2
|
||||
|
||||
|
||||
// General American
|
||||
?3 agile adZ@L
|
||||
?3 docile doUs@L
|
||||
?3 facile fas@L
|
||||
?3 fertile f3:t@L
|
||||
?3 fragile fradZ@L
|
||||
?3 futile fju:t@L
|
||||
?3 hostile h0st@L
|
||||
?3 mobile moUb@L
|
||||
agile $alt2
|
||||
docile $alt2
|
||||
ductile $alt2
|
||||
facile $alt2
|
||||
fertile $alt2
|
||||
fragile $alt2
|
||||
futile $alt2
|
||||
hostile $alt2
|
||||
mobile $alt2
|
||||
?3 missile mIs@L
|
||||
?3 projectile pr@dZEkt@L
|
||||
?3 puerile pjU@r@L
|
||||
?3 sterile stEr@L
|
||||
?3 virile vIr@L
|
||||
projectile $alt2
|
||||
puerile $alt2
|
||||
senile $alt2
|
||||
sterile $alt2
|
||||
tensile $alt2
|
||||
virile $alt2
|
||||
?3 volatile v0la#t@L
|
||||
|
||||
|
||||
|
||||
+4
-2
@@ -1275,7 +1275,7 @@
|
||||
_) be (gg bE
|
||||
_) belarus bEl@r'u:s
|
||||
_) be (lC bE
|
||||
_) be (lli bI2
|
||||
_) be (llig bI2
|
||||
_) be (sC bI2
|
||||
_) be (stia bE
|
||||
_) be (tB bE
|
||||
@@ -2681,7 +2681,7 @@
|
||||
for (see f%O@
|
||||
for (ward f'o@ // straightforward
|
||||
ft (en f
|
||||
&) ful (_S3 f@L
|
||||
&) ful (_S3i f@L
|
||||
&) fully (_S5 f@li
|
||||
&) fulness (_S7 f@Ln@s
|
||||
|
||||
@@ -2921,6 +2921,7 @@
|
||||
nt) il (_ @L
|
||||
@v) il (_ @L
|
||||
@) ila (_ 'Il@
|
||||
?3 &) ile (_$w_alt2 @L
|
||||
_C) i (lage aI
|
||||
_d) i (lat %aI
|
||||
l) il (ah_ aIl
|
||||
@@ -4401,6 +4402,7 @@
|
||||
os (al_ 'oUz
|
||||
_l) os (e u:z
|
||||
ose (_ oUz
|
||||
c) ose (_ oUs
|
||||
purp) ose @s
|
||||
_r) os (e# oUz
|
||||
c) os (ec oUs
|
||||
|
||||
+48
-41
@@ -8,9 +8,9 @@ _2 d'o:
|
||||
_3 t'i:n
|
||||
_4 c:'a:r:
|
||||
_5 'pa~c
|
||||
_6 ch'@2
|
||||
_6 c#'@2
|
||||
_7 s'a:t
|
||||
_8 'a:th.
|
||||
_8 'a:t.#
|
||||
_9 n'O:
|
||||
?3 _9 n'aU
|
||||
|
||||
@@ -18,11 +18,11 @@ _10 d'Vs
|
||||
_11 gj'a:r-ah
|
||||
_12 b'a:rah
|
||||
_13 t'e:r@2h
|
||||
_14 ch'O:d@2h
|
||||
_14 c#'O:d@2h
|
||||
_15 p'Vndr@2h
|
||||
_16 s'o:l@2h
|
||||
_17 sVtr@2h
|
||||
_18 a:th:arah
|
||||
_18 a:t#:arah
|
||||
_19 Unn'Is
|
||||
|
||||
_20 b'i:s
|
||||
@@ -31,9 +31,9 @@ _22 b'a:Is
|
||||
_23 t'ue:Is
|
||||
_24 c'O:bIs
|
||||
_25 p@c:'Is
|
||||
_26 ch@bb'i:rs
|
||||
_26 c#@bb'i:rs
|
||||
_27 s@t:'a:Is
|
||||
_28 ath:'a:Is
|
||||
_28 at#:'a:Is
|
||||
_29 ,Unt'Is
|
||||
_30 t'i:s
|
||||
|
||||
@@ -42,7 +42,7 @@ _32 b'at:'I'S
|
||||
_33 tE~t'Is // E~ ?
|
||||
_34 cO~t'Is
|
||||
_35 pE~t'Is
|
||||
_36 chaT'tIs
|
||||
_36 c#aT'tIs
|
||||
_37 sE~t'Is
|
||||
_38 art'Is
|
||||
_39 Unta:l'Is
|
||||
@@ -53,7 +53,7 @@ _42 baIa:l'Is
|
||||
_43 tE~ta:l'Is
|
||||
_44 cO:wa:l'Is
|
||||
_45 paI'nta:l'Is
|
||||
_46 chhIja:l'Is
|
||||
_46 c#hIja:l'Is
|
||||
_47 sE~ta:l'Is
|
||||
_48 arta:l'Is
|
||||
_49 'Un^ca:s
|
||||
@@ -63,32 +63,32 @@ _51 Ikj'a:wVn
|
||||
_52 b'a:wVn
|
||||
_53 t'IrpVn
|
||||
_54 c'Ou:wVn
|
||||
_55 p'achpVn
|
||||
_56 chh@p:'Vn
|
||||
_55 p'ac#pVn
|
||||
_56 c#h@p:'Vn
|
||||
_57 santa:'w@n
|
||||
_58 ath:a:'w@n
|
||||
_59 Uns'Vth
|
||||
_58 at#:a:'w@n
|
||||
_59 Uns'Vt#
|
||||
|
||||
_60 s'a:th.
|
||||
_61 'Iks@th.
|
||||
_62 b'a:s@th.
|
||||
_63 t'Irs@th.
|
||||
_64 cO:'s@th.
|
||||
_65 paI's@th.
|
||||
_66 ch'Ija:s@th.
|
||||
_67 s'Vrs@th.
|
||||
_68 ars@th.
|
||||
_60 s'a:t.#
|
||||
_61 'Iks@t.#
|
||||
_62 b'a:s@t.#
|
||||
_63 t'Irs@t.#
|
||||
_64 cO:'s@t.#
|
||||
_65 paI's@t.#
|
||||
_66 c#'Ija:s@t.#
|
||||
_67 s'Vrs@t.#
|
||||
_68 ars@t.#
|
||||
_69 Un@h,at:'Vr:
|
||||
|
||||
_70 sat:'Vr:
|
||||
_71 Ikhat:'Vr:
|
||||
_71 Ik#at:'Vr:
|
||||
_72 b@hat:'Vr:
|
||||
_73 tIhat:'Vr:
|
||||
_74 cO:hat:'Vr:
|
||||
_75 pach,at:'Vr:
|
||||
_76 chIhat:'Vr:
|
||||
_75 pac#,at:'Vr:
|
||||
_76 c#Ihat:'Vr:
|
||||
_77 s@t@hat:'Vr:
|
||||
_78 athhat:'Vr:
|
||||
_78 at#hat:'Vr:
|
||||
_79 ,Un^Ia:s'i:
|
||||
|
||||
_80 ,Vss'i:
|
||||
@@ -97,9 +97,9 @@ _82 baIa:s'i
|
||||
_83 tIra:s'i
|
||||
_84 cO:ra:s'i
|
||||
_85 pI'ca:s'i
|
||||
_86 chIja:s'i
|
||||
_86 c#Ija:s'i
|
||||
_87 sVt:a:s'i
|
||||
_88 ath:a:s'i
|
||||
_88 at#:a:s'i
|
||||
_89 nVwa:s'i
|
||||
|
||||
_90 nVb:'e:
|
||||
@@ -108,50 +108,50 @@ _92 b'a:n@we:
|
||||
_93 tIr'a:n@we:
|
||||
_94 cO:r'a:m@we:
|
||||
_95 p@c'a:n@we:
|
||||
_96 chIj'a:n@we:
|
||||
_96 c#Ij'a:n@we:
|
||||
_97 s@t:'a:n@we:
|
||||
_98 ath:'a:n@we:
|
||||
_98 at#:'a:n@we:
|
||||
_99 nIn^j'a:n@we:
|
||||
|
||||
_0C s'O:
|
||||
_0M1 h@J,a:r
|
||||
_0M2 l'a:kh
|
||||
_0M2 l'a:k#
|
||||
_0M3 k@ro:r.V
|
||||
_0M4 'Vr@b
|
||||
_0M5 kh'Vr@b
|
||||
_0M5 k#'Vr@b
|
||||
_dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
|
||||
// Single consonants
|
||||
क k@
|
||||
क़ q@
|
||||
ख kh@
|
||||
ख k#@
|
||||
ख़ x@
|
||||
ग g@
|
||||
ग़ Q@
|
||||
घ gh@
|
||||
घ g#@
|
||||
ङ N@
|
||||
च c@
|
||||
छ ch@
|
||||
छ c#@
|
||||
ज J@
|
||||
ज़ z@
|
||||
झ Jh@
|
||||
झ J#@
|
||||
ञ n^@
|
||||
ट t.@
|
||||
ठ th.@
|
||||
ठ t.#@
|
||||
ड d.@
|
||||
ड़ r.@
|
||||
ढ dh.@
|
||||
ढ d.#@
|
||||
ण n.@ // retroflex n.@
|
||||
त t@
|
||||
थ th@
|
||||
थ t#@
|
||||
द d@
|
||||
ध dh@
|
||||
ध d#@
|
||||
न n@
|
||||
प p@
|
||||
फ ph@
|
||||
फ p#@
|
||||
फ़ f@
|
||||
ब b@
|
||||
भ bh@
|
||||
भ b#@
|
||||
म m@
|
||||
य j@
|
||||
र r@
|
||||
@@ -194,6 +194,13 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ?
|
||||
ॣ #X2l-:
|
||||
ॐ #X1o~m
|
||||
|
||||
_?? Vks.@r
|
||||
_a ej
|
||||
_b bi:
|
||||
_c si:
|
||||
_d di:
|
||||
_e i:
|
||||
_f Ef
|
||||
|
||||
// Punctuation
|
||||
। dVn.d.V
|
||||
|
||||
+20
-20
@@ -172,8 +172,8 @@
|
||||
क़ (B q
|
||||
|
||||
.group ख
|
||||
ख khV
|
||||
ख (B kh
|
||||
ख k#V
|
||||
ख (B k#
|
||||
ख़ xV
|
||||
ख़ (B x
|
||||
|
||||
@@ -184,8 +184,8 @@
|
||||
ग़ (B Q
|
||||
|
||||
.group घ
|
||||
घ ghV
|
||||
घ (B gh
|
||||
घ g#V
|
||||
घ (B g#
|
||||
|
||||
.group ङ
|
||||
ङ NV
|
||||
@@ -198,8 +198,8 @@
|
||||
च (्य c:
|
||||
|
||||
.group छ
|
||||
छ chV
|
||||
छ (B ch
|
||||
छ c#V
|
||||
छ (B c#
|
||||
|
||||
.group ज
|
||||
ज JV
|
||||
@@ -208,8 +208,8 @@
|
||||
ज़ (B z
|
||||
|
||||
.group झ
|
||||
झ JhV
|
||||
झ (B Jh
|
||||
झ J#V
|
||||
झ (B J#
|
||||
|
||||
.group ञ
|
||||
ञ n^V
|
||||
@@ -222,8 +222,8 @@
|
||||
ट (्य t.:
|
||||
|
||||
.group ठ
|
||||
ठ th.V
|
||||
ठ (B th.
|
||||
ठ t.#V
|
||||
ठ (B t.#
|
||||
|
||||
.group ड
|
||||
ड d.V
|
||||
@@ -233,8 +233,8 @@
|
||||
ड़ (B r.
|
||||
|
||||
.group ढ
|
||||
ढ dh.V
|
||||
ढ (B dh.
|
||||
ढ d.#V
|
||||
ढ (B d.#
|
||||
ढ़ r.hV // nukta (should retroflex flap)
|
||||
ढ़ (B r.h // nukta
|
||||
|
||||
@@ -249,16 +249,16 @@
|
||||
त (्य t:
|
||||
|
||||
.group थ
|
||||
थ thV
|
||||
थ (B th
|
||||
थ t#V
|
||||
थ (B t#
|
||||
|
||||
.group द
|
||||
द dV
|
||||
द (B d
|
||||
|
||||
.group ध
|
||||
ध dhV
|
||||
ध (B dh
|
||||
ध d#V
|
||||
ध (B d#
|
||||
|
||||
.group न
|
||||
न nV
|
||||
@@ -276,8 +276,8 @@
|
||||
प (्य p:
|
||||
|
||||
.group फ
|
||||
फ phV
|
||||
फ (B ph
|
||||
फ p#V
|
||||
फ (B p#
|
||||
फ़ fV
|
||||
फ़ (B f
|
||||
|
||||
@@ -286,8 +286,8 @@
|
||||
ब (B b
|
||||
|
||||
.group भ
|
||||
भ bhV
|
||||
भ (B bh
|
||||
भ b#V
|
||||
भ (B b#
|
||||
|
||||
.group म
|
||||
म mV
|
||||
|
||||
+4
-3
@@ -409,7 +409,7 @@ _tld tildE
|
||||
|
||||
// characters
|
||||
_#9 tAb
|
||||
_#32 so:kYz
|
||||
_#32 s'o:kYz
|
||||
_cap n'AJ_|
|
||||
_?? kAR2AktEr||ko:d // unknown characters (change this)
|
||||
|
||||
@@ -5382,7 +5382,7 @@ _¤ pe:nznEmjEl
|
||||
® bEjEJzEt:
|
||||
™ ve:djEJ
|
||||
_` tompA
|
||||
_ so:kYz
|
||||
_ s'o:kYz
|
||||
_« bElSY:|bAl|ide:zY:jEl
|
||||
_» bElSY:|jobb|ide:zY:jEl
|
||||
_ la:JkYtY:jEl
|
||||
@@ -5423,8 +5423,9 @@ _¡ AlSo:indEks
|
||||
|
||||
// Alphabets
|
||||
_ar 'AR2Ab
|
||||
_cry ts'iR2ill
|
||||
_cyr ts'iR2ill
|
||||
_he h'e:bER2
|
||||
_zh k'i:nAi
|
||||
|
||||
|
||||
// Main Exceptions List
|
||||
|
||||
@@ -459,6 +459,7 @@ shetlan) d (szige d
|
||||
szaba) d (szem d
|
||||
_tren) dsz (e d|s
|
||||
vakon) d (sz d
|
||||
vé) d (jeggy d
|
||||
|
||||
.group dz
|
||||
fogó) dz (kod ts
|
||||
@@ -1021,6 +1022,8 @@ szivárvá) ny (játsz n^
|
||||
_elle) n (jav n
|
||||
vagyo) n (jog n
|
||||
nny (elv n|n^
|
||||
haszo) n (jár n
|
||||
boszorká) ny (jelet n^
|
||||
|
||||
.group o
|
||||
o o
|
||||
@@ -1162,6 +1165,7 @@ _tetszé) s S
|
||||
ki) s (szőlő S
|
||||
körö) s (szeg S
|
||||
kolbászo) s S
|
||||
feldolgozá) s S
|
||||
|
||||
.group ss
|
||||
ssz ss2
|
||||
@@ -1757,6 +1761,7 @@ fáklyá) sz (ene Sz
|
||||
pénze) sz (k s
|
||||
ellenállá) sz (ón Sz
|
||||
ré) sz (árás Sz
|
||||
_te) szts (or st|S
|
||||
|
||||
.group t
|
||||
t t
|
||||
@@ -1988,6 +1993,7 @@ _tisztele) tj (el tj
|
||||
zené) tj (átsz tj
|
||||
szen) tj (akab tj
|
||||
közérze) tj (aví tj
|
||||
ké) tj (átszm tj
|
||||
|
||||
.group ts
|
||||
ts (_S2 tS //general rule with word end of ts letters
|
||||
@@ -2204,6 +2210,8 @@ felira) ts (áv t|S
|
||||
leme) tsz (vén ts
|
||||
_cha) tsz (ob t|s
|
||||
robo) ts (of t|S
|
||||
merényle) ts (or t|S
|
||||
|
||||
|
||||
.group tt
|
||||
tt t:
|
||||
|
||||
+97
-97
@@ -39,29 +39,29 @@ _?? aks.ara // 'unknown character'
|
||||
// letter names
|
||||
|
||||
ಕ್ ik
|
||||
ಖ್ ikh
|
||||
ಖ್ ik#
|
||||
ಗ್ ig
|
||||
ಘ್ igh
|
||||
ಘ್ ig#
|
||||
ಙ್ iN
|
||||
ಚ್ ic
|
||||
ಛ್ ich
|
||||
ಛ್ ic#
|
||||
ಜ್ iJ
|
||||
ಝ್ iJh
|
||||
ಝ್ iJ#
|
||||
ಞ್ in^
|
||||
ಟ್ it.
|
||||
ಠ್ ith.
|
||||
ಠ್ it.#
|
||||
ಡ್ id.
|
||||
ಢ್ idh.
|
||||
ಢ್ id.#
|
||||
ಣ್ in.
|
||||
ತ್ it
|
||||
ಥ್ ith
|
||||
ಥ್ it#
|
||||
ದ್ id
|
||||
ಧ್ id.
|
||||
ಧ್ id#
|
||||
ನ್ in
|
||||
ಪ್ ip
|
||||
ಫ್ iph
|
||||
ಫ್ ip#
|
||||
ಬ್ ib
|
||||
ಭ್ ibh
|
||||
ಭ್ ib#
|
||||
ಮ್ im
|
||||
ಯ್ ij
|
||||
ರ್ ir
|
||||
@@ -101,17 +101,17 @@ U+ccd vattu
|
||||
|
||||
// symbols
|
||||
% pratis.ata
|
||||
! a:scharjachinhe
|
||||
! a:sc#arjac#inhe
|
||||
_? aks.ara
|
||||
. pu:rn.avira:ma
|
||||
, alpavira:ma
|
||||
¼ ka:lu
|
||||
½ ardha
|
||||
½ ard#a
|
||||
¾ mukka:lu
|
||||
(1 / 2) ardha
|
||||
(1 / 2) ard#a
|
||||
(1 / 4) ka:lu
|
||||
(3 / 4) mukka:lu
|
||||
÷ bha:ga:ka:ra
|
||||
÷ b#a:ga:ka:ra
|
||||
& mattu
|
||||
|
||||
|
||||
@@ -125,8 +125,8 @@ _5 'aIdu
|
||||
_6 'a:ru
|
||||
_7 'e:l.u
|
||||
_8 'ent.u
|
||||
_9 'ombath:u
|
||||
_1X h'ath:u
|
||||
_9 'ombat#:u
|
||||
_1X h'at#:u
|
||||
_11 hann'ondu
|
||||
_12 han:erad.u
|
||||
_13 hadim'u:ru
|
||||
@@ -135,93 +135,93 @@ _15 hadinaIdu
|
||||
_16 hadina:ru
|
||||
_17 hadin'e:l.u
|
||||
_18 hadin'ent.u
|
||||
_19 ha'th:'ombath:u
|
||||
_19 ha't#:'ombat#:u
|
||||
|
||||
_2X Ip:ath:u
|
||||
_21 'Ip:a'th:ondu
|
||||
_22 Ip:a'th:erad.u
|
||||
_23 Ip:a'th:m'u:ru
|
||||
_24 Ip:a'th:n'a:lku
|
||||
_25 Ip:a'th:'aIdu
|
||||
_26 Ip:a'th:a:ru
|
||||
_27 Ip:a'th:e:l.u
|
||||
_28 Ip:a'th:ent.u
|
||||
_29 Ip:a'th:ombath:u
|
||||
_2X Ip:at#:u
|
||||
_21 'Ip:a't#:ondu
|
||||
_22 Ip:a't#:erad.u
|
||||
_23 Ip:a't#:m'u:ru
|
||||
_24 Ip:a't#:n'a:lku
|
||||
_25 Ip:a't#:'aIdu
|
||||
_26 Ip:a't#:a:ru
|
||||
_27 Ip:a't#:e:l.u
|
||||
_28 Ip:a't#:ent.u
|
||||
_29 Ip:a't#:ombat#:u
|
||||
|
||||
_3X m'ovath:u
|
||||
_31 m'ovath:ondu
|
||||
_32 m'ovatherad.u
|
||||
_33 m'ovathm'u:ru
|
||||
_34 m'ovathn'a:lku
|
||||
_35 m'ovath'aIdu
|
||||
_36 m'ovatha:ru
|
||||
_37 m'ovathe:l.u
|
||||
_38 m'ovathent.u
|
||||
_39 m'ovathombath:u
|
||||
_3X m'ovat#:u
|
||||
_31 m'ovat#:ondu
|
||||
_32 m'ovat#erad.u
|
||||
_33 m'ovat#m'u:ru
|
||||
_34 m'ovat#n'a:lku
|
||||
_35 m'ovat#'aIdu
|
||||
_36 m'ovat#a:ru
|
||||
_37 m'ovat#e:l.u
|
||||
_38 m'ovat#ent.u
|
||||
_39 m'ovat#ombat#:u
|
||||
|
||||
_4X n'alavath:u
|
||||
_41 n'alavath:ondu
|
||||
_42 n'alavatherad.u
|
||||
_43 n'alavathm'u:ru
|
||||
_44 n'alavathn'a:lku
|
||||
_45 n'alavathaIdu
|
||||
_46 n'alavatha:ru
|
||||
_47 n'alavathe:l.u
|
||||
_48 n'alavathent.u
|
||||
_49 n'alavathombath:u
|
||||
_4X n'alavat#:u
|
||||
_41 n'alavat#:ondu
|
||||
_42 n'alavat#erad.u
|
||||
_43 n'alavat#m'u:ru
|
||||
_44 n'alavat#n'a:lku
|
||||
_45 n'alavat#aIdu
|
||||
_46 n'alavat#a:ru
|
||||
_47 n'alavat#e:l.u
|
||||
_48 n'alavat#ent.u
|
||||
_49 n'alavat#ombat#:u
|
||||
|
||||
_5X 'aIvath:u
|
||||
_51 aIvath:ondu
|
||||
_52 aIvatherad.u
|
||||
_53 aIvathm'u:ru
|
||||
_54 aIvathn'a:lku
|
||||
_55 aIvath'aIdu
|
||||
_56 aIvatha:ru
|
||||
_57 aIvathe:l.u
|
||||
_58 aIvathent.u
|
||||
_59 aIvathombath:u
|
||||
_6X 'aravath:u
|
||||
_61 aravath:ondu
|
||||
_62 aravatherad.u
|
||||
_63 aravathm'u:ru
|
||||
_64 aravathn'a:lku
|
||||
_65 aravathaIdu
|
||||
_66 aravatha:ru
|
||||
_67 aravathe:l.u
|
||||
_68 aravathent.u
|
||||
_69 aravathombath:u
|
||||
_5X 'aIvat#:u
|
||||
_51 aIvat#:ondu
|
||||
_52 aIvat#erad.u
|
||||
_53 aIvat#m'u:ru
|
||||
_54 aIvat#n'a:lku
|
||||
_55 aIvat#'aIdu
|
||||
_56 aIvat#a:ru
|
||||
_57 aIvat#e:l.u
|
||||
_58 aIvat#ent.u
|
||||
_59 aIvat#ombat#:u
|
||||
_6X 'aravat#:u
|
||||
_61 aravat#:ondu
|
||||
_62 aravat#erad.u
|
||||
_63 aravat#m'u:ru
|
||||
_64 aravat#n'a:lku
|
||||
_65 aravat#aIdu
|
||||
_66 aravat#a:ru
|
||||
_67 aravat#e:l.u
|
||||
_68 aravat#ent.u
|
||||
_69 aravat#ombat#:u
|
||||
|
||||
_7X 'Ep:ath:u
|
||||
_71 Ep:ath:ondu
|
||||
_72 Ep:atherad.u
|
||||
_73 Ep:athm'u:ru
|
||||
_74 Ep:athn'a:lku
|
||||
_75 Ep:athaIdu
|
||||
_76 Ep:atha:ru
|
||||
_77 Ep:athe:l.u
|
||||
_78 Ep:athent.u
|
||||
_79 Ep:athombath:u
|
||||
_8X 'Embath:u
|
||||
_81 Embath:ondu
|
||||
_82 Embatherad.u
|
||||
_83 Embathm'u:ru
|
||||
_84 Embathn'a:lku
|
||||
_85 EmbathaIdu
|
||||
_86 Embatha:ru
|
||||
_87 Embathe:l.u
|
||||
_88 Embathent.u
|
||||
_89 Embathombath:u
|
||||
_7X 'Ep:at#:u
|
||||
_71 Ep:at#:ondu
|
||||
_72 Ep:at#erad.u
|
||||
_73 Ep:at#m'u:ru
|
||||
_74 Ep:at#n'a:lku
|
||||
_75 Ep:at#aIdu
|
||||
_76 Ep:at#a:ru
|
||||
_77 Ep:at#e:l.u
|
||||
_78 Ep:at#ent.u
|
||||
_79 Ep:at#ombat#:u
|
||||
_8X 'Embat#:u
|
||||
_81 Embat#:ondu
|
||||
_82 Embat#erad.u
|
||||
_83 Embat#m'u:ru
|
||||
_84 Embat#n'a:lku
|
||||
_85 Embat#aIdu
|
||||
_86 Embat#a:ru
|
||||
_87 Embat#e:l.u
|
||||
_88 Embat#ent.u
|
||||
_89 Embat#ombat#:u
|
||||
|
||||
_9X th'ombath:u
|
||||
_91 th'ombath:ondu
|
||||
_92 th'ombath:erad.u
|
||||
_93 th'ombathm'u:ru
|
||||
_94 th'ombathn'a:lku
|
||||
_95 th'ombathaIdu
|
||||
_96 th'ombatha:ru
|
||||
_97 th'ombathe:l.u
|
||||
_98 th'ombathent.u
|
||||
_99 th'ombathombath:u
|
||||
_9X t#'ombat#:u
|
||||
_91 t#'ombat#:ondu
|
||||
_92 t#'ombat#:erad.u
|
||||
_93 t#'ombat#m'u:ru
|
||||
_94 t#'ombat#n'a:lku
|
||||
_95 t#'ombat#aIdu
|
||||
_96 t#'ombat#a:ru
|
||||
_97 t#'ombat#e:l.u
|
||||
_98 t#'ombat#ent.u
|
||||
_99 t#'ombat#ombat#:u
|
||||
|
||||
_0C0 n'u:ru
|
||||
_1C0 nu:ru
|
||||
|
||||
+20
-20
@@ -24,16 +24,16 @@
|
||||
ಕ (B k
|
||||
|
||||
.group ಖ
|
||||
ಖ kha
|
||||
ಖ (B kh
|
||||
ಖ k#a
|
||||
ಖ (B k#
|
||||
|
||||
.group ಗ
|
||||
ಗ ga
|
||||
ಗ (B g
|
||||
|
||||
.group ಘ
|
||||
ಘ gha
|
||||
ಘ (B gh
|
||||
ಘ g#a
|
||||
ಘ (B g#
|
||||
|
||||
.group ಙ
|
||||
ಙ Na
|
||||
@@ -44,8 +44,8 @@
|
||||
ಚ (B c
|
||||
|
||||
.group ಛ
|
||||
ಛ cha
|
||||
ಛ (B ch
|
||||
ಛ c#a
|
||||
ಛ (B c#
|
||||
|
||||
.group ಜ
|
||||
ಜ Ja
|
||||
@@ -54,8 +54,8 @@
|
||||
ಜ಼ (B z
|
||||
|
||||
.group ಝ
|
||||
ಝ Jha
|
||||
ಝ (B Jh
|
||||
ಝ J#a
|
||||
ಝ (B J#
|
||||
|
||||
.group ಞ
|
||||
ಞ n^a
|
||||
@@ -66,16 +66,16 @@
|
||||
ಟ (B t.
|
||||
|
||||
.group ಠ
|
||||
ಠ th.a
|
||||
ಠ (B th.
|
||||
ಠ t.#a
|
||||
ಠ (B t.#
|
||||
|
||||
.group ಡ
|
||||
ಡ d.a
|
||||
ಡ (B d.
|
||||
|
||||
.group ಢ
|
||||
ಢ dh.a
|
||||
ಢ (B dh.
|
||||
ಢ d.#a
|
||||
ಢ (B d.#
|
||||
|
||||
.group ಣ
|
||||
ಣ n.a
|
||||
@@ -86,16 +86,16 @@
|
||||
ತ (B t
|
||||
|
||||
.group ಥ
|
||||
ಥ tha
|
||||
ಥ (B th
|
||||
ಥ t#a
|
||||
ಥ (B t#
|
||||
|
||||
.group ದ
|
||||
ದ da
|
||||
ದ (B d
|
||||
|
||||
.group ಧ
|
||||
ಧ dha
|
||||
ಧ (B dh
|
||||
ಧ d#a
|
||||
ಧ (B d#
|
||||
|
||||
.group ನ
|
||||
ನ na
|
||||
@@ -106,8 +106,8 @@
|
||||
ಪ (B p
|
||||
|
||||
.group ಫ
|
||||
ಫ pha
|
||||
ಫ (B ph
|
||||
ಫ p#a
|
||||
ಫ (B p#
|
||||
ಫ಼ fa // nukta
|
||||
ಫ಼ (B f
|
||||
|
||||
@@ -116,8 +116,8 @@
|
||||
ಬ (B b
|
||||
|
||||
.group ಭ
|
||||
ಭ bha
|
||||
ಭ (B bh
|
||||
ಭ b#a
|
||||
ಭ (B b#
|
||||
|
||||
.group ಮ
|
||||
ಮ ma
|
||||
|
||||
+3
-3
@@ -8,8 +8,8 @@
|
||||
U+d02 'a#m
|
||||
U+d03 visarg@m
|
||||
U+d3d avagraha
|
||||
U+d4d chandraka:r@m
|
||||
U+d4e chil.acharam // ??
|
||||
U+d4d c#andraka:r@m
|
||||
U+d4e c#il.ac#aram // ??
|
||||
|
||||
ൺ _'yn. // chillu consonants
|
||||
ൻ _in
|
||||
@@ -79,7 +79,7 @@ z zEd
|
||||
& samuccaj@m
|
||||
_. bindu
|
||||
_, aNkuS;@m
|
||||
_; ro:dhini
|
||||
_; ro:d#ini
|
||||
_? co:dj@cihn@m
|
||||
_! a:S;c@rjacihn@m
|
||||
|
||||
|
||||
+21
-21
@@ -36,16 +36,16 @@
|
||||
ക്ക (B k:
|
||||
|
||||
.group ഖ
|
||||
ഖ kha
|
||||
ഖ (B kh
|
||||
ഖ k#a
|
||||
ഖ (B k#
|
||||
|
||||
.group ഗ
|
||||
ഗ ga
|
||||
ഗ (B g
|
||||
|
||||
.group ഘ
|
||||
ഘ gha
|
||||
ഘ (B gh
|
||||
ഘ g#a
|
||||
ഘ (B g#
|
||||
|
||||
.group ങ
|
||||
ങ Na
|
||||
@@ -56,16 +56,16 @@
|
||||
ച (B c
|
||||
|
||||
.group ഛ
|
||||
ഛ cha
|
||||
ഛ (B ch
|
||||
ഛ c#a
|
||||
ഛ (B c#
|
||||
|
||||
.group ജ
|
||||
ജ Ja
|
||||
ജ (B J
|
||||
|
||||
.group ഝ
|
||||
ഝ Jha
|
||||
ഝ (B Jh
|
||||
ഝ J#a
|
||||
ഝ (B J#
|
||||
|
||||
.group ഞ
|
||||
ഞ n^a
|
||||
@@ -81,16 +81,16 @@
|
||||
ട്ട (B t.:
|
||||
|
||||
.group ഠ
|
||||
ഠ th.a
|
||||
ഠ (B th.
|
||||
ഠ t.#a
|
||||
ഠ (B t.#
|
||||
|
||||
.group ഡ
|
||||
ഡ d.a
|
||||
ഡ (B d.
|
||||
|
||||
.group ഢ
|
||||
ഢ dh.a
|
||||
ഢ (B dh.
|
||||
ഢ d.#a
|
||||
ഢ (B d.#
|
||||
|
||||
.group ണ
|
||||
ണ n.a
|
||||
@@ -106,16 +106,16 @@
|
||||
ത്ത (B t:
|
||||
|
||||
.group ഥ
|
||||
ഥ tha
|
||||
ഥ (B th
|
||||
ഥ t#a
|
||||
ഥ (B t#
|
||||
|
||||
.group ദ
|
||||
ദ da
|
||||
ദ (B d
|
||||
|
||||
.group ധ
|
||||
ധ dha
|
||||
ധ (B dh
|
||||
ധ d#a
|
||||
ധ (B d#
|
||||
|
||||
.group ന
|
||||
ന na
|
||||
@@ -131,8 +131,8 @@
|
||||
പ്പ (B p:
|
||||
|
||||
.group ഫ
|
||||
ഫ pha
|
||||
ഫ (B p
|
||||
ഫ p#a
|
||||
ഫ (B p#
|
||||
|
||||
_പ്രൊ) ഫ (സര് fa
|
||||
|
||||
@@ -142,8 +142,8 @@
|
||||
ബ (B b
|
||||
|
||||
.group ഭ
|
||||
ഭ bha
|
||||
ഭ (B bh
|
||||
ഭ b#a
|
||||
ഭ (B b#
|
||||
|
||||
.group മ
|
||||
മ ma
|
||||
@@ -160,7 +160,7 @@
|
||||
.group റ
|
||||
റ R2a
|
||||
റ (B R2
|
||||
ന്) റ d#
|
||||
ന്) റ d2
|
||||
റ്റ t.t. // ?? R2R2 = t.t.
|
||||
|
||||
.group ല
|
||||
|
||||
+50
-50
@@ -30,20 +30,20 @@ _2 d'u:,i:
|
||||
_3 t'i:n
|
||||
_4 c'a:r:
|
||||
_5 p'a:nc
|
||||
_6 ch'@2
|
||||
_6 c#'@2
|
||||
_7 s'a:t
|
||||
_8 'a:th.
|
||||
_8 'a:t.#
|
||||
_9 n'V'u:
|
||||
|
||||
_10 d'Vs
|
||||
_11 e:'gh'a:r'V
|
||||
_11 e:'g#'a:r'V
|
||||
_12 b'a:r@2
|
||||
_13 t'e:hr@
|
||||
_14 ch'O:d@2
|
||||
_14 c#'O:d@2
|
||||
_15 p'Vndr@2
|
||||
_16 s'o:r@2
|
||||
_17 s'Vtr@2
|
||||
_18 a'th.'a:r@2
|
||||
_18 a't.#'a:r@2
|
||||
_19 U:nn'a:i's
|
||||
_20 b'i:s
|
||||
|
||||
@@ -52,9 +52,9 @@ _22 b'a:Is
|
||||
_23 t'e:Is
|
||||
_24 c'O:b'Is
|
||||
_25 p@c:'Is
|
||||
_26 ch@b'b'i:s
|
||||
_26 c#@b'b'i:s
|
||||
_27 s@t:'a:Is
|
||||
_28 ath:'a:Is
|
||||
_28 at#:'a:Is
|
||||
_29 U:n'Vnt'Is
|
||||
_30 t'i:s
|
||||
|
||||
@@ -63,7 +63,7 @@ _32 b'at:'Is
|
||||
_33 t'e:t't'i:s
|
||||
_34 cO~,t'I:s
|
||||
_35 pE~t'Is
|
||||
_36 ch@:t't'I:s
|
||||
_36 c#@:t't'I:s
|
||||
_37 sE~t'Is
|
||||
_38 art'Is
|
||||
_39 U:n'an'c'a:l'i:s
|
||||
@@ -74,9 +74,9 @@ _42 baIa:l'Is
|
||||
_43 t'ri:c'a:l'i:s
|
||||
_44 cO:wa:l'Is
|
||||
_45 paI'nta:l'Is
|
||||
_46 chhIja:l'Is
|
||||
_46 c#hIja:l'Is
|
||||
_47 s@'d.cta:l'Is
|
||||
_48 a'th.'c'a:l'Is
|
||||
_48 a't.#'c'a:l'Is
|
||||
_49 U'n'an'c'a:s
|
||||
:
|
||||
_50 p@c'a:s
|
||||
@@ -85,20 +85,20 @@ _52 b'a:wVn'n:'V
|
||||
_53 t'rI:p'an'nV
|
||||
_54 c'Ou:wVn'nV
|
||||
_55 p'ac'pVn'nV
|
||||
_56 chh@p:'Vn'nV
|
||||
_56 c#h@p:'Vn'nV
|
||||
_57 s'Vn't:'a:w@n'n':V
|
||||
_58 a'nth:'a:w@n'n':V
|
||||
_59 U'n'Vn's'a:th.i:
|
||||
_58 a'nt#:'a:w@n'n':V
|
||||
_59 U'n'Vn's'a:t.#i:
|
||||
|
||||
_60 s'a:th.i:
|
||||
_61 e:k'as@th.'th.i:
|
||||
_62 b'E:s@th.':th.'i:
|
||||
_63 t'r'i:,s@th.'th.'i:
|
||||
_64 c'O:s@th.'th.'i:
|
||||
_65 p'E~'s@th.'th.'i:
|
||||
_66 ch'E's@th.'th.'i:
|
||||
_67 s'Vt's@th.'th.'i:
|
||||
_68 a'th.,s@th.'th.'i:
|
||||
_60 s'a:t.#i:
|
||||
_61 e:k'as@t.#'t.#i:
|
||||
_62 b'E:s@t.#':t.#'i:
|
||||
_63 t'r'i:,s@t.#'t.#'i:
|
||||
_64 c'O:s@t.#'t.#'i:
|
||||
_65 p'E~'s@t.#'t.#'i:
|
||||
_66 c#'E's@t.#'t.#'i:
|
||||
_67 s'Vt's@t.#'t.#'i:
|
||||
_68 a't.#,s@t.#'t.#'i:
|
||||
_69 U:n'an's'Vtt'ar'i:
|
||||
|
||||
_70 s'at't@r'i::
|
||||
@@ -106,10 +106,10 @@ _71 e:k'ah'at:'Vr:
|
||||
_72 b@h'att'Vr:
|
||||
_73 tIjatt:'Vr:
|
||||
_74 cO:hat:'Vr:
|
||||
_75 pach,at:'Vr:
|
||||
_76 ch@'j'ah'at't'Vr:
|
||||
_75 pac#,at:'Vr:
|
||||
_76 c#@'j'ah'at't'Vr:
|
||||
_77 s@t@hatt:'Vr:
|
||||
_78 athhatt:'Vr:
|
||||
_78 at#hatt:'Vr:
|
||||
_79 U'n'a:s'i:
|
||||
|
||||
_80 a's's'i:
|
||||
@@ -118,9 +118,9 @@ _82 baIa:s'i:
|
||||
_83 trIj'a:s'i:
|
||||
_84 cO:ra:s'i:
|
||||
_85 p'ac'a:s'i:
|
||||
_86 ch@j'a:s'i:
|
||||
_86 c#@j'a:s'i:
|
||||
_87 s'V:t'a:s'i:
|
||||
_88 a'th.:a:s'i:
|
||||
_88 a't.#:a:s'i:
|
||||
_89 u:n'a:n'ab'b'e:
|
||||
|
||||
_90 n@b'b'e:
|
||||
@@ -129,24 +129,24 @@ _92 b'aj'a:n@b'b'e:
|
||||
_93 trIj'a:n@b'b'e:
|
||||
_94 cO:r'a:n@b'b'e:
|
||||
_95 p@n'c'a:n@b'b'e:
|
||||
_96 ch@j'a:n@b'b'e:
|
||||
_96 c#@j'a:n@b'b'e:
|
||||
_97 s@n't:'a:n@b'b'e:
|
||||
_98 a'n'th.'a:n@b'b'e:
|
||||
_98 a'n't.#'a:n@b'b'e:
|
||||
_99 U:n'n'a:nsh@je:
|
||||
|
||||
_0C s'aj@
|
||||
_0M1 h@z'a:r@
|
||||
_0M2 l'a:kh@
|
||||
_0M2 l'a:k#@
|
||||
_0M3 k'a'ro:d.@
|
||||
_0M4 'Vr@b
|
||||
_0M5 kh'Vr@b'V
|
||||
_0M5 k#'Vr@b'V
|
||||
_0M6 n'i:l'
|
||||
_0M7 p'Vd'm@
|
||||
_0M8 sh'an,kh@
|
||||
_0M9 m'ah'a:,sh'ankh@
|
||||
_0M10 p@r'a:rrd:dh@
|
||||
_0M8 sh'an,k#@
|
||||
_0M9 m'ah'a:,sh'ank#@
|
||||
_0M10 p@r'a:rrd:d#@
|
||||
|
||||
_dpt _th'o:plo_
|
||||
_dpt _t#'o:plo_
|
||||
|
||||
// Symbols in Nepali
|
||||
|
||||
@@ -157,34 +157,34 @@ _dpt _th'o:plo_
|
||||
// Single consonants
|
||||
क k@
|
||||
क़ q@
|
||||
ख kh@
|
||||
ख k#@
|
||||
ख़ x@
|
||||
ग g@
|
||||
ग़ Q@
|
||||
घ gh@
|
||||
घ g#@
|
||||
ङ N@
|
||||
च c@
|
||||
छ ch@
|
||||
छ c#@
|
||||
ज J@
|
||||
ज़ z@
|
||||
झ Jh@
|
||||
झ J#@
|
||||
ञ n^@
|
||||
ट t.@
|
||||
ठ th.@
|
||||
ठ t.#@
|
||||
ड d.@
|
||||
ड़ r.@
|
||||
ढ dh.@
|
||||
ढ d.#@
|
||||
ण n.@ // retroflex n.@
|
||||
त t@
|
||||
थ th@
|
||||
थ t#@
|
||||
द d@
|
||||
ध dh@
|
||||
ध d#@
|
||||
न n@
|
||||
प p@
|
||||
फ ph@
|
||||
फ p#@
|
||||
फ़ f@
|
||||
ब b@
|
||||
भ bh@
|
||||
भ b#@
|
||||
म m@
|
||||
य j@
|
||||
र r@
|
||||
@@ -222,17 +222,17 @@ _dpt _th'o:plo_
|
||||
पो $u $pause
|
||||
हो $u $brk
|
||||
के k'e,: $brk
|
||||
दुःख d'u,,kh@
|
||||
सुख s'u=kh@
|
||||
दुःख d'u,,k#@
|
||||
सुख s'u=k#@
|
||||
जव J'Vv@
|
||||
राष्ट्रिय r'a:S,t.rI:j@2 $2
|
||||
सित s'it@
|
||||
होइन h'oi:n@2
|
||||
भएन bh'Vj'en@2
|
||||
भएन b#'Vj'en@2
|
||||
गएन g'Vj'en@2
|
||||
खाएन khaj'en@2
|
||||
खाएन k#aj'en@2
|
||||
दिएन d'ij'en@2
|
||||
छुन ch'un'@
|
||||
छुन c#'un'@
|
||||
बाट b'a:t.@
|
||||
अथवा $pause
|
||||
वा $pause
|
||||
|
||||
+119
-119
@@ -572,13 +572,13 @@
|
||||
|
||||
|
||||
.group ख
|
||||
ख khV
|
||||
ख (B kh
|
||||
?1 ख (_ kh
|
||||
्) ख (_ kh@/
|
||||
ख (्ख kh,
|
||||
खँ khV~'
|
||||
खॅ khV~'
|
||||
ख k#V
|
||||
ख (B k#
|
||||
?1 ख (_ k#
|
||||
्) ख (_ k#@/
|
||||
ख (्ख k#,
|
||||
खँ k#V~'
|
||||
खॅ k#V~'
|
||||
|
||||
.group ग
|
||||
ग gV
|
||||
@@ -590,13 +590,13 @@
|
||||
गॅ gV~'
|
||||
|
||||
.group घ
|
||||
घ ghV
|
||||
घ (B gh
|
||||
?1 घ (_ gh
|
||||
घ (्घ gh,
|
||||
्) घ (_ gh@/
|
||||
घँ ghV~'
|
||||
घॅ ghV~'
|
||||
घ g#V
|
||||
घ (B g#
|
||||
?1 घ (_ g#
|
||||
घ (्घ g#,
|
||||
्) घ (_ g#@/
|
||||
घँ g#V~'
|
||||
घॅ g#V~'
|
||||
|
||||
|
||||
.group ङ // Phoneme adjustment suggested
|
||||
@@ -616,12 +616,12 @@
|
||||
चॅ cV~'
|
||||
|
||||
.group छ
|
||||
छ chV
|
||||
छ (B ch
|
||||
्) छ (C ch@
|
||||
छ (_ ch@
|
||||
छँ chV~'
|
||||
छॅ chV~'
|
||||
छ c#V
|
||||
छ (B c#
|
||||
्) छ (C c#@
|
||||
छ (_ c#@
|
||||
छँ c#V~'
|
||||
छॅ c#V~'
|
||||
|
||||
.group ज
|
||||
ज JV
|
||||
@@ -633,12 +633,12 @@
|
||||
्) ज (_ J@/
|
||||
|
||||
.group झ // Phoneme adjustment suggested.
|
||||
झ JhV
|
||||
झ (B Jh
|
||||
झँ JhV~'
|
||||
झॅ JhV~'
|
||||
झ J#V
|
||||
झ (B J#
|
||||
झँ J#V~'
|
||||
झॅ J#V~'
|
||||
झ (्झ J,
|
||||
झ (_ Jh
|
||||
झ (_ J#
|
||||
|
||||
.group ञ // Phoneme adjustment suggested
|
||||
ञ n^V
|
||||
@@ -659,13 +659,13 @@
|
||||
ट (्य t.:
|
||||
|
||||
.group ठ
|
||||
ठ th.V
|
||||
ठ (B th.
|
||||
ठँ t.hV~'
|
||||
ठॅ t.hV~'
|
||||
ठ (्ठ th.,
|
||||
्) ठ (_ th.@/
|
||||
?1 ठ (_ t.h
|
||||
ठ t.#V
|
||||
ठ (B t.#
|
||||
ठँ t.#V~'
|
||||
ठॅ t.#V~'
|
||||
ठ (्ठ t.#,
|
||||
्) ठ (_ t.#@/
|
||||
?1 ठ (_ t.#
|
||||
|
||||
.group ड
|
||||
ड d.V
|
||||
@@ -682,14 +682,14 @@
|
||||
ड़ॅ d.:V~'
|
||||
|
||||
.group ढ
|
||||
ढ dh.V
|
||||
ढ (B dh.
|
||||
ढँ d.hV~'
|
||||
ढॅ d.hV~'
|
||||
्) ढ (_ dh.@/
|
||||
?1 ढ (_ d.h
|
||||
ढ़ d.hV: // nukta
|
||||
ढ़ (B d.h // nukta
|
||||
ढ d.#V
|
||||
ढ (B d.#
|
||||
ढँ d.#V~'
|
||||
ढॅ d.#V~'
|
||||
्) ढ (_ d.#@/
|
||||
?1 ढ (_ d.#
|
||||
ढ़ d.#V: // nukta
|
||||
ढ़ (B d.# // nukta
|
||||
|
||||
.group ण
|
||||
ण n.V // Phoneme adjustment suggested
|
||||
@@ -709,13 +709,13 @@
|
||||
?1 त (_ t,
|
||||
|
||||
.group थ
|
||||
थ thV
|
||||
थँ thV~'
|
||||
थॅ thV~'
|
||||
थ (B th
|
||||
्) थ (_ th@/
|
||||
थ (्य th,
|
||||
?1 थ (_ th
|
||||
थ t#V
|
||||
थँ t#V~'
|
||||
थॅ t#V~'
|
||||
थ (B t#
|
||||
्) थ (_ t#@/
|
||||
थ (्य t#,
|
||||
?1 थ (_ t#
|
||||
|
||||
.group द
|
||||
द dV
|
||||
@@ -729,12 +729,12 @@
|
||||
्) द (_ d@/
|
||||
|
||||
.group ध
|
||||
ध dhV
|
||||
धँ dhV~'
|
||||
धॅ dhV~'
|
||||
ध (B dh
|
||||
?1 ध (_ dh
|
||||
्) ध (_ dh@/
|
||||
ध d#V
|
||||
धँ d#V~'
|
||||
धॅ d#V~'
|
||||
ध (B d#
|
||||
?1 ध (_ d#
|
||||
्) ध (_ d#@/
|
||||
|
||||
.group न
|
||||
न nV
|
||||
@@ -763,13 +763,13 @@
|
||||
्) प (_ p@/
|
||||
|
||||
.group फ
|
||||
फ phV
|
||||
फँ phV~'
|
||||
फॅ phV~'
|
||||
फ (B ph
|
||||
फ (्न ph:
|
||||
?1 फ (_ ph
|
||||
्) फ (_ ph@/
|
||||
फ p#V
|
||||
फँ p#V~'
|
||||
फॅ p#V~'
|
||||
फ (B p#
|
||||
फ (्न p#:
|
||||
?1 फ (_ p#
|
||||
्) फ (_ p#@/
|
||||
|
||||
.group ब
|
||||
ब bV
|
||||
@@ -781,12 +781,12 @@
|
||||
्) ब (_ b@/
|
||||
|
||||
.group भ
|
||||
भ bhV
|
||||
भँ bhV~'
|
||||
भॅ bhV~'
|
||||
भ (B bh
|
||||
?1 भ (_ bh
|
||||
भ (्य bh,
|
||||
भ b#V
|
||||
भँ b#V~'
|
||||
भॅ b#V~'
|
||||
भ (B b#
|
||||
?1 भ (_ b#
|
||||
भ (्य b#,
|
||||
्) भ (_ bh@/
|
||||
|
||||
.group म
|
||||
@@ -1064,65 +1064,65 @@
|
||||
|
||||
.group [
|
||||
[ l'eftbr'ak'et
|
||||
[ (_A th'ul'ok'osht.@2suru
|
||||
[ (_C th'ul'ok'osht.@2suru
|
||||
[ (_० th'ul'ok'osht.@2suru
|
||||
[ (_१ th'ul'ok'osht.@2suru
|
||||
[ (_२ th'ul'ok'osht.@2suru
|
||||
[ (_३ th'ul'ok'osht.@2suru
|
||||
[ (_४ th'ul'ok'osht.@2suru
|
||||
[ (_५ th'ul'ok'osht.@2suru
|
||||
[ (_६ th'ul'ok'osht.@2suru
|
||||
[ (_७ th'ul'ok'osht.@2suru
|
||||
[ (_८ th'ul'ok'osht.@2suru
|
||||
[ (_९ th'ul'ok'osht.@2suru
|
||||
[ (_A t#'ul'ok'osht.@2suru
|
||||
[ (_C t#'ul'ok'osht.@2suru
|
||||
[ (_० t#'ul'ok'osht.@2suru
|
||||
[ (_१ t#'ul'ok'osht.@2suru
|
||||
[ (_२ t#'ul'ok'osht.@2suru
|
||||
[ (_३ t#'ul'ok'osht.@2suru
|
||||
[ (_४ t#'ul'ok'osht.@2suru
|
||||
[ (_५ t#'ul'ok'osht.@2suru
|
||||
[ (_६ t#'ul'ok'osht.@2suru
|
||||
[ (_७ t#'ul'ok'osht.@2suru
|
||||
[ (_८ t#'ul'ok'osht.@2suru
|
||||
[ (_९ t#'ul'ok'osht.@2suru
|
||||
|
||||
.group ]
|
||||
] r'aitbr'ak'et
|
||||
A_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
C_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
०_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
१_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
२_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
३_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
४_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
५_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
६_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
७_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
८_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
९_) ] th'ul'ok'osht.@2b'Vnd@2
|
||||
A_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
C_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
०_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
१_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
२_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
३_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
४_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
५_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
६_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
७_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
८_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
९_) ] t#'ul'ok'osht.@2b'Vnd@2
|
||||
|
||||
|
||||
.group {
|
||||
{ l'eftbr'eIs
|
||||
{ (_A b'a:Ng'ek'oshth.@2suru
|
||||
{ (_C b'a:Ng'ek'oshth.@2suru
|
||||
{ (_० b'a:Ng'ek'oshth.@2suru
|
||||
{ (_१ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_२ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_३ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_४ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_५ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_६ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_७ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_८ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_९ b'a:Ng'ek'oshth.@2suru
|
||||
{ (_A b'a:Ng'ek'osht.#@2suru
|
||||
{ (_C b'a:Ng'ek'osht.#@2suru
|
||||
{ (_० b'a:Ng'ek'osht.#@2suru
|
||||
{ (_१ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_२ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_३ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_४ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_५ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_६ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_७ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_८ b'a:Ng'ek'osht.#@2suru
|
||||
{ (_९ b'a:Ng'ek'osht.#@2suru
|
||||
|
||||
|
||||
.group }
|
||||
} r'aItbr'eIs
|
||||
A_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
C_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
०_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
१_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
२_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
३_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
४_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
५_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
६_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
७_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
८_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
९_) } b'a:Ng'ek'oshth.@2b'Vnd@2
|
||||
A_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
C_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
०_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
१_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
२_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
३_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
४_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
५_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
६_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
७_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
८_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
९_) } b'a:Ng'ek'osht.#@2b'Vnd@2
|
||||
|
||||
|
||||
|
||||
@@ -1132,19 +1132,19 @@
|
||||
// Special Symbols with special meanings
|
||||
.group
|
||||
। pur',n.@,w'ir'a:m // Fullstop of Devanagari
|
||||
॥ d'i:rgh@,w'ir'a:m // Double Fullstop - means Read sentence twice.
|
||||
॥ d'i:rg#@,w'ir'a:m // Double Fullstop - means Read sentence twice.
|
||||
ॱ dVS@mal@w@2 // Decimal of devanagari (dot [.] is mostly used!).
|
||||
॰ saNks.e:p@s'u:c@k@
|
||||
$ dOlV
|
||||
$ dOlV
|
||||
|
||||
% prVtish'vt
|
||||
// Rarely used Special symbols. Written after Indepedent Vowel or between a Consonants and Symbolic Vowels!
|
||||
|
||||
़ n'u'k't'a: // Name of symbol.
|
||||
॑ Ud'Vtt,@
|
||||
॓ Ud:dh@r,@n.@a:r'Vmbh@
|
||||
॔ ,Ud:dh@r,@n.@'Vnt@
|
||||
ॽ k,@n.th.@w'Ira:m
|
||||
॓ Ud:d#@r,@n.@a:r'Vmb#@
|
||||
॔ ,Ud:d#@r,@n.@'Vnt@
|
||||
ॽ k,@n.t.#@w'Ira:m
|
||||
॒ a'n'ud'Vtt,@
|
||||
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ _tld tS'iU
|
||||
_ar 'a*aby
|
||||
_cyr si*'ilikU
|
||||
_he eb*'aIkU
|
||||
_zh Sin'es
|
||||
|
||||
|
||||
// character names
|
||||
@@ -828,6 +829,7 @@ galileia $alt
|
||||
gameta $alt2
|
||||
geleia $alt
|
||||
gelo $alt $verb
|
||||
genebra $alt
|
||||
germe $alt
|
||||
gesso $alt2
|
||||
golpe $alt
|
||||
|
||||
+11
-6
@@ -361,10 +361,8 @@
|
||||
_soub) e (L05_ E
|
||||
_rend) e (L06_ e
|
||||
_vend) e (L06_ e
|
||||
_atend) e (L06_ e
|
||||
tend) e (L06_ e / a- con- en- es-
|
||||
_compreend) e (L06_ e
|
||||
_entend) e (L06_ e
|
||||
_estend) e (L06_ e
|
||||
respond) e (L06_ e // cor-
|
||||
_enraivec) e (L07_ e
|
||||
_espairec) e (L07_ e
|
||||
@@ -383,6 +381,8 @@ _espairec) e (L07_ e
|
||||
vert) e (L07_ e // in- re- con-
|
||||
_eleg) e (L07_ e
|
||||
_ergu) e (L07_ e
|
||||
_escond) e (L06_ e
|
||||
_mord) e (L06_ e
|
||||
_mord) e (L07_ e
|
||||
_morr) e (L07_ e
|
||||
_perd) e (L07_ e
|
||||
@@ -396,9 +396,12 @@ _adormec) e (L07_ e
|
||||
_agradec) e (L07_ e
|
||||
_amanhec) e (L07_ e
|
||||
_anoitec) e (L07_ e
|
||||
_arrepend) e (L06_ e
|
||||
_arrepend) e (L07_ e
|
||||
_cresc) e (L07_ e
|
||||
_defend) e (L06_ e
|
||||
_defend) e (L07_ e
|
||||
_depend) e (L06_ e
|
||||
_depend) e (L07_ e
|
||||
_emagrec) e (L07_ e
|
||||
_enlouquec) e (L07_ e
|
||||
@@ -410,17 +413,19 @@ _escond) e (L07_ e
|
||||
_escurec) e (L07_ e
|
||||
_esquec) e (L07_ e
|
||||
_interromp) e (L07_ e
|
||||
_obedec) e (L07_ e
|
||||
obedec) e (L07_ e / des-
|
||||
_suspend) e (L07_ e
|
||||
_perec) e (L07_ e
|
||||
_rejuvenec) e (L07_ e
|
||||
aprend) e (L07_ e // re-
|
||||
conhec) e (L07_ e // & re- des-
|
||||
entend) e (L07_ e
|
||||
tend) e (L07_ e / en- con- a- es-
|
||||
preend) e (L07_ e // sur- com-
|
||||
respond) e (L07_ e // cor-
|
||||
qu) e (brL04_ E
|
||||
acel) e (rL04_ E / des-
|
||||
_hosp) e (dL03_ E
|
||||
_amort) e (çL03_ e
|
||||
_in) e (ptL03_ E
|
||||
_gr) e (gL03_ e
|
||||
_n) e (grL03_ e
|
||||
@@ -486,7 +491,7 @@ _emagr) e (çL03
|
||||
_aqu) e (çL03_ e
|
||||
_car) e (çL03_ e
|
||||
_mer) e (çL03_ e
|
||||
_pad) e (çL03_ e // com-
|
||||
pad) e (çL03_ e // com-
|
||||
_per) e (çL03_ e
|
||||
conh) e (çL03_ e // re-
|
||||
_esqu) e (çL03_ e
|
||||
|
||||
@@ -117,6 +117,7 @@ U+bf9 ru:ba:j
|
||||
_ar arVbU
|
||||
_cyr sirillik
|
||||
_he ;ebire:jVm
|
||||
_zh tS'i:nV
|
||||
|
||||
|
||||
// abbreviations
|
||||
|
||||
+19
-19
@@ -50,20 +50,20 @@ _1X padi
|
||||
_11 padakond.u
|
||||
_12 pannemd.u
|
||||
_13 padamu:d.u:
|
||||
_14 padhna:lugu
|
||||
_14 pad#na:lugu
|
||||
_15 padihe:nu
|
||||
_16 padaha:ru
|
||||
_17 padihe:d.u
|
||||
_18 paddhenimidi
|
||||
_18 padd#enimidi
|
||||
_19 pamdommadi
|
||||
_2X iravaI
|
||||
_3X muppaI
|
||||
_4X nalubhaI
|
||||
_5X ja:bhaI
|
||||
_4X nalub#aI
|
||||
_5X ja:b#aI
|
||||
_6X aravaI
|
||||
_7X d.ebhbaI
|
||||
_8X jenabhaI
|
||||
_9X tombhaI
|
||||
_7X d.eb#baI
|
||||
_8X jenab#aI
|
||||
_9X tomb#aI
|
||||
_0C vandala
|
||||
_0C0 vandalu
|
||||
_1C okavanda
|
||||
@@ -92,8 +92,8 @@ _?? aks.aram // 'unknown character'
|
||||
_, ka:ma:
|
||||
_; semi:ko:lan
|
||||
_: ko:lan
|
||||
_! a:S;carja:rthaka
|
||||
_? praS;na:rthaka
|
||||
_! a:S;carja:rt#aka
|
||||
_? praS;na:rt#aka
|
||||
_- haIfan
|
||||
__ amd.ar||sko:r
|
||||
|
||||
@@ -114,29 +114,29 @@ U+c4d vottu
|
||||
|
||||
// consonants with virama
|
||||
క్ ik
|
||||
ఖ్ ikh
|
||||
ఖ్ ik#
|
||||
గ్ ig
|
||||
ఘ్ igh
|
||||
ఘ్ ig#
|
||||
ఙ్ iN
|
||||
చ్ ic
|
||||
ఛ్ ich
|
||||
ఛ్ ic#
|
||||
జ్ iJ
|
||||
ఝ్ iJh
|
||||
ఝ్ iJ#
|
||||
ఞ్ in^
|
||||
ట్ it.
|
||||
ఠ్ ith.
|
||||
ఠ్ it.#
|
||||
డ్ id.
|
||||
ఢ్ idh.
|
||||
ఢ్ id.#
|
||||
ణ్ in.
|
||||
త్ it
|
||||
థ్ ith
|
||||
థ్ it#
|
||||
ద్ id
|
||||
ధ్ idh
|
||||
ధ్ id#
|
||||
న్ in
|
||||
ప్ ip
|
||||
ఫ్ iph
|
||||
ఫ్ ip#
|
||||
బ్ ib
|
||||
భ్ ibh
|
||||
భ్ ib#
|
||||
మ్ im
|
||||
య్ ij
|
||||
ర్ ir
|
||||
|
||||
+20
-20
@@ -24,16 +24,16 @@
|
||||
క (B k
|
||||
|
||||
.group ఖ
|
||||
ఖ kha
|
||||
ఖ (B kh
|
||||
ఖ k#a
|
||||
ఖ (B k#
|
||||
|
||||
.group గ
|
||||
గ ga
|
||||
గ (B g
|
||||
|
||||
.group ఘ
|
||||
ఘ gha
|
||||
ఘ (B gh
|
||||
ఘ g#a
|
||||
ఘ (B g#
|
||||
|
||||
.group ఙ
|
||||
ఙ Na
|
||||
@@ -44,16 +44,16 @@
|
||||
చ (B c
|
||||
|
||||
.group ఛ
|
||||
ఛ cha
|
||||
ఛ (B ch
|
||||
ఛ c#a
|
||||
ఛ (B c#
|
||||
|
||||
.group జ
|
||||
జ Ja
|
||||
జ (B J
|
||||
|
||||
.group ఝ
|
||||
ఝ Jha
|
||||
ఝ (B Jh
|
||||
ఝ J#a
|
||||
ఝ (B J#
|
||||
|
||||
.group ఞ
|
||||
ఞ n^a
|
||||
@@ -64,16 +64,16 @@
|
||||
ట (B t.
|
||||
|
||||
.group ఠ
|
||||
ఠ th.a
|
||||
ఠ (B th.
|
||||
ఠ t.#a
|
||||
ఠ (B t.#
|
||||
|
||||
.group డ
|
||||
డ d.a
|
||||
డ (B d.
|
||||
|
||||
.group ఢ
|
||||
ఢ dh.a
|
||||
ఢ (B dh.
|
||||
ఢ d.#a
|
||||
ఢ (B d.#
|
||||
|
||||
.group ణ
|
||||
ణ n.a
|
||||
@@ -84,16 +84,16 @@
|
||||
త (B t
|
||||
|
||||
.group థ
|
||||
థ tha
|
||||
థ (B th
|
||||
థ t#a
|
||||
థ (B t#
|
||||
|
||||
.group ద
|
||||
ద da
|
||||
ద (B d
|
||||
|
||||
.group ధ
|
||||
ధ dha
|
||||
ధ (B dh
|
||||
ధ d#a
|
||||
ధ (B d#
|
||||
|
||||
.group న
|
||||
న na
|
||||
@@ -104,16 +104,16 @@
|
||||
ప (B p
|
||||
|
||||
.group ఫ
|
||||
ఫ pha
|
||||
ఫ (B ph
|
||||
ఫ p#a
|
||||
ఫ (B p#
|
||||
|
||||
.group బ
|
||||
బ ba
|
||||
బ (B b
|
||||
|
||||
.group భ
|
||||
భ bha
|
||||
భ (B bh
|
||||
భ b#a
|
||||
భ (B b#
|
||||
|
||||
.group మ
|
||||
మ ma
|
||||
|
||||
+98
-100
@@ -13,6 +13,7 @@ consonants 10 118
|
||||
en-wi 30 156
|
||||
af 39 138
|
||||
cy 29 134
|
||||
ga 29 133
|
||||
de 41 141
|
||||
eo 13 116
|
||||
jbo 2 116
|
||||
@@ -21,17 +22,18 @@ consonants 10 118
|
||||
et 40 135
|
||||
fr 64 146
|
||||
fr-ca 11 146
|
||||
hi 57 150
|
||||
bn 5 150
|
||||
ne 18 158
|
||||
ur 6 150
|
||||
ta 23 154
|
||||
kn 17 150
|
||||
ml 22 154
|
||||
nl 35 130
|
||||
hi 57 149
|
||||
bn 5 149
|
||||
ne 18 157
|
||||
ur 6 149
|
||||
pa 15 151
|
||||
ta 23 153
|
||||
kn 17 149
|
||||
ml 21 152
|
||||
hu 25 124
|
||||
lt 44 139
|
||||
lv 29 127
|
||||
nl 35 130
|
||||
pl 22 122
|
||||
sk 28 137
|
||||
cs 7 137
|
||||
@@ -66,8 +68,8 @@ consonants 10 118
|
||||
hy 23 119
|
||||
da 46 139
|
||||
ka 20 115
|
||||
fa 9 112
|
||||
rw 15 132
|
||||
pa 15 152
|
||||
prs 8 113
|
||||
sl 10 137
|
||||
gd 6 109
|
||||
@@ -77,15 +79,13 @@ consonants 10 118
|
||||
ak 8 111
|
||||
am 15 114
|
||||
wo 18 120
|
||||
dv 14 150
|
||||
te 16 150
|
||||
si 24 156
|
||||
dv 14 149
|
||||
te 16 149
|
||||
si 24 155
|
||||
tn 27 121
|
||||
mt 32 129
|
||||
bo 10 154
|
||||
bo 10 153
|
||||
kk 20 118
|
||||
fa 9 112
|
||||
ga 29 133
|
||||
tt 23 120
|
||||
ko 15 116
|
||||
kl 18 119
|
||||
@@ -98,7 +98,7 @@ b/b_ [b] base
|
||||
[b] fr
|
||||
b/b@ [b] base
|
||||
b/b@2 [b] base
|
||||
[bh] hi
|
||||
[b#] hi
|
||||
b/ba [b] base
|
||||
b/be [b] base
|
||||
b/bi [b] base
|
||||
@@ -108,7 +108,7 @@ b/br [b] fr
|
||||
b/bu [b] base
|
||||
b/xb [b] base
|
||||
[b] fr
|
||||
[bh] hi
|
||||
[b#] hi
|
||||
b/xbr [b] fr
|
||||
d/d [d] base
|
||||
[d[] base
|
||||
@@ -152,7 +152,7 @@ d/dr [*] base
|
||||
[d^] et
|
||||
[d] fr
|
||||
[d.] hi
|
||||
[dh.] hi
|
||||
[d.#] hi
|
||||
[d] kn
|
||||
[d] hu
|
||||
[d] lt
|
||||
@@ -176,7 +176,7 @@ d/xd [d] base
|
||||
[d] et
|
||||
[d] fr
|
||||
[z] fr
|
||||
[dh] hi
|
||||
[d#] hi
|
||||
[d] kn
|
||||
[d] hu
|
||||
[d] lt
|
||||
@@ -186,17 +186,17 @@ d/xd [d] base
|
||||
[d] sq
|
||||
[d] mt
|
||||
[dz] bo
|
||||
[dzh] bo
|
||||
d/xd3 [dh] hi
|
||||
[dz#] bo
|
||||
d/xd3 [d#] hi
|
||||
d/xd_pzd [d^] et
|
||||
[d;] lt
|
||||
[d;] pl
|
||||
d/xdr [d] fr
|
||||
[d.] hi
|
||||
[dh.] hi
|
||||
[d.#] hi
|
||||
d/xdz [dz] consonants
|
||||
[dz] bo
|
||||
[dzh] bo
|
||||
[dz#] bo
|
||||
d/x_tap [t#] en
|
||||
[*] pt
|
||||
dzh/dzh [dZ] base
|
||||
@@ -231,7 +231,7 @@ dzh/xdzh [dZ] base
|
||||
[dZ;] ru
|
||||
[dZ;] sq
|
||||
dzh/xdz_pzd [J] base
|
||||
[Jh] hi
|
||||
[J#] hi
|
||||
[J] tr
|
||||
[J] ku
|
||||
envelope/i_risefall [11] zh
|
||||
@@ -239,10 +239,10 @@ envelope/i_risefall2 [+2] rw
|
||||
envelope/p_214 [5] vi
|
||||
[5] vi-hue
|
||||
[214] zh
|
||||
envelope/p_512 [6] vi
|
||||
envelope/p_512 [+] pa
|
||||
[6] vi
|
||||
[4] vi-hue
|
||||
[6] vi-hue
|
||||
[+] pa
|
||||
envelope/p_fall [2] vi
|
||||
[7] vi
|
||||
[2] vi-hue
|
||||
@@ -273,7 +273,7 @@ envelope/vi_5amp [5] vi
|
||||
envelope/vi_6amp [6] vi
|
||||
[2] vi-hue
|
||||
[6] vi-hue
|
||||
g2/xg [gh] hi
|
||||
g2/xg [g#] hi
|
||||
g/g [g] base
|
||||
[g-] en
|
||||
[g] cy
|
||||
@@ -450,7 +450,7 @@ l/l_ [l] base
|
||||
[l/] fr
|
||||
l/l_@ [l/3] base
|
||||
[l/] fr
|
||||
l/l@ [¨\7] base
|
||||
l/l@ [¨\0] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -484,7 +484,7 @@ l/L2_oL [l/2] base
|
||||
l/L2_uL [l/2] base
|
||||
l/l_3 [l/] de
|
||||
l/l_4 [ll] sq
|
||||
l/la [¨\7] base
|
||||
l/la [¨\0] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -492,7 +492,7 @@ l/la [
|
||||
[K] tn
|
||||
l/l_a [l/3] base
|
||||
[l/] fr
|
||||
l/le [¨\7] base
|
||||
l/le [¨\0] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -504,7 +504,7 @@ l/L_eL_af [&] af
|
||||
[&:] af
|
||||
l/l_front [L] sq
|
||||
l/l_front_ [l/4] sq
|
||||
l/li [¨\7] base
|
||||
l/li [¨\0] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -518,7 +518,7 @@ ll/ll [L] base
|
||||
ll/_ll [L] base
|
||||
l/l_long [l] base
|
||||
[l] fr
|
||||
l/lo [¨\7] base
|
||||
l/lo [¨\0] base
|
||||
[l#] base
|
||||
[l/2] fr
|
||||
[K] nso
|
||||
@@ -529,7 +529,7 @@ l^/l_rfx [l.] base
|
||||
[l;] lt
|
||||
[l] ru
|
||||
[l^] ru
|
||||
l/lu [¨\7] base
|
||||
l/lu [¨\0] base
|
||||
[l#] base
|
||||
[l] fr
|
||||
[l/2] fr
|
||||
@@ -870,11 +870,10 @@ ustop/k_ [k] base
|
||||
[k] el
|
||||
[k] sq
|
||||
ustop/k_asp [kh] consonants
|
||||
[gh] hi
|
||||
[g#] hi
|
||||
[kh] zh
|
||||
[k#] ka
|
||||
[kh] tn
|
||||
ustop/k_asp2 [kh2] ml
|
||||
ustop/k_asp_a [k#] ka
|
||||
ustop/k_asp_e [k#] ka
|
||||
ustop/k_asp_u [k#] ka
|
||||
@@ -896,7 +895,6 @@ ustop/kl [k] base
|
||||
[k] base2
|
||||
[k] et
|
||||
[k] fr
|
||||
[kh2] ml
|
||||
[k] lv
|
||||
[k] el
|
||||
[k] zhy
|
||||
@@ -928,7 +926,7 @@ ustop/p_ [p] base
|
||||
[p] fr
|
||||
[ph] tn
|
||||
ustop/p_asp [ph] consonants
|
||||
[bh] hi
|
||||
[b#] hi
|
||||
[ph] zh
|
||||
[ph] tn
|
||||
ustop/percus02 [#X2] hi
|
||||
@@ -968,8 +966,8 @@ ustop/q [q] base
|
||||
ustop/q_u [q] base
|
||||
ustop/t [t] base
|
||||
[t] en-us
|
||||
[dh.] hi
|
||||
[th.] hi
|
||||
[d.#] hi
|
||||
[t.#] hi
|
||||
[t] zhy
|
||||
[t] da
|
||||
ustop/t_ [t] base
|
||||
@@ -985,8 +983,8 @@ ustop/t_dnt [t] base
|
||||
[t] base2
|
||||
[t] en-us
|
||||
[t] et
|
||||
[dh] hi
|
||||
[th] hi
|
||||
[d#] hi
|
||||
[t#] hi
|
||||
[t] hu
|
||||
[t] lt
|
||||
[t] pl
|
||||
@@ -1011,14 +1009,14 @@ ustop/ts [ts] consonants
|
||||
[z] zhy
|
||||
[tsh] zh
|
||||
[ts] tn
|
||||
[tsh] bo
|
||||
[dzh] bo
|
||||
[ts#] bo
|
||||
[dz#] bo
|
||||
ustop/ts_ [ts] consonants
|
||||
[dz] consonants
|
||||
[ts] lv
|
||||
[ts] tn
|
||||
[tsh] bo
|
||||
[dzh] bo
|
||||
[ts#] bo
|
||||
[dz#] bo
|
||||
ustop/ts2 [ts] lv
|
||||
[ts] hy
|
||||
[ts] ka
|
||||
@@ -1044,7 +1042,7 @@ ustop/tsh_pzd_unasp [tS;] zh
|
||||
ustop/tsh_sr [tS] sr
|
||||
ustop/tsh_unasp [tS`] am
|
||||
ustop/ts_pzd [tS;] base
|
||||
[Jh] hi
|
||||
[J#] hi
|
||||
[tS;] lt
|
||||
[tS;] ru
|
||||
[dZ;] sq
|
||||
@@ -1085,8 +1083,8 @@ vdiph2/ei_4 [ei] zh
|
||||
vdiph2/eo [eo] ro
|
||||
vdiph2/e_u [e[u] ro
|
||||
vdiph2/i@ [i@] en-n
|
||||
[i@] hy
|
||||
[i@] ga
|
||||
[i@] hy
|
||||
vdiph2/i@_2 [i@] en-wm
|
||||
vdiph2/ie [i@] en-wi
|
||||
[ie] fi
|
||||
@@ -1176,6 +1174,7 @@ vdiph/ae [E:] fr-ca
|
||||
vdiph/ae_2 [aI] en-n
|
||||
vdiph/ai [aI] base2
|
||||
[aI] en-wi
|
||||
[aI] ga
|
||||
[aI] eo
|
||||
[aI] kn
|
||||
[aI] ml
|
||||
@@ -1189,7 +1188,6 @@ vdiph/ai [aI] base2
|
||||
[aI] hy
|
||||
[aI] da
|
||||
[aI] te
|
||||
[aI] ga
|
||||
[aI] kl
|
||||
vdiph/ai_2 [aI] en
|
||||
[aI] cy
|
||||
@@ -1220,18 +1218,18 @@ vdiph/au_2 [au] zhy
|
||||
vdiph/au_3 [aU] en-rp
|
||||
vdiph/au_4 [aU] base2
|
||||
[aU] cy
|
||||
[aU] ga
|
||||
[aU#] ga
|
||||
[aU] eo
|
||||
[aU] lt
|
||||
[aU] sk
|
||||
[aU] id
|
||||
[aU] ga
|
||||
[aU#] ga
|
||||
vdiph/ee-e [E:] hi
|
||||
vdiph/eei [EI] base2
|
||||
[eI] en
|
||||
[EI] de
|
||||
[eI] ne
|
||||
[EI] nl
|
||||
[eI] ne
|
||||
[EI] vi
|
||||
[eI] hy
|
||||
[eI] prs
|
||||
@@ -1240,8 +1238,8 @@ vdiph/eei_2 [eI] eo
|
||||
[ei] lt
|
||||
[ei] lv
|
||||
[eI] id
|
||||
[ei] mt
|
||||
[eI] fa
|
||||
[ei] mt
|
||||
vdiph/eei_3 [eI] lt
|
||||
[eI] sk
|
||||
[eI] ku
|
||||
@@ -1268,9 +1266,9 @@ vdiph/ei [eI] base2
|
||||
vdiph/eu [eU] base2
|
||||
[eU] cy
|
||||
[eU] eo
|
||||
[eU] nl
|
||||
[eU] ne
|
||||
[eU] lt
|
||||
[eU] nl
|
||||
[eU] sk
|
||||
[eU] pt
|
||||
[eU] vi
|
||||
@@ -1335,9 +1333,9 @@ vdiph/ou_4 [o:] nl
|
||||
vdiph/@u [u:] en-wm
|
||||
[@:U] vi
|
||||
vdiph/@u_2 [oU] en-rp
|
||||
vdiph/@u_3 [@U] ro
|
||||
vdiph/@u_3 [@U] ga
|
||||
[@U] ro
|
||||
[@U] vi
|
||||
[@U] ga
|
||||
vdiph/@u_en [oU] en
|
||||
[@U] id
|
||||
vdiph/ui [uI] base2
|
||||
@@ -1413,8 +1411,8 @@ vnasal/o_n [o~] hi
|
||||
vnasal/o_n2 [o~] af
|
||||
vnasal/o_n4 [O~] fr
|
||||
vnasal/oo_n2 [O~] en
|
||||
[O~] hi
|
||||
[O~] nl
|
||||
[O~] hi
|
||||
[o] zh
|
||||
vnasal/oo_n3 [O~] pl
|
||||
vnasal/&u_n [O#] vi
|
||||
@@ -1485,7 +1483,7 @@ voc/z_ [z] base
|
||||
[z;] ro
|
||||
[z] sq
|
||||
[dz] bo
|
||||
[dzh] bo
|
||||
[dz#] bo
|
||||
voc/zh [Z] base
|
||||
[z.] base
|
||||
[R^] sk
|
||||
@@ -1507,6 +1505,7 @@ vowel/@ [@] base
|
||||
[@5] en
|
||||
[@] en-rp
|
||||
[V] cy
|
||||
[@/] ga
|
||||
[@] kn
|
||||
[@] hy
|
||||
[@] ka
|
||||
@@ -1514,7 +1513,6 @@ vowel/@ [@] base
|
||||
[@] wo
|
||||
[@:] wo
|
||||
[@] te
|
||||
[@/] ga
|
||||
vowel/@- [@-] base
|
||||
[r*] hr
|
||||
[@-] da
|
||||
@@ -1529,8 +1527,8 @@ vowel/& [a] en-rp
|
||||
[&] sv
|
||||
[&#] da
|
||||
[?&#] da
|
||||
[&] az
|
||||
[a] fa
|
||||
[&] az
|
||||
vowel/0 [0] en
|
||||
[O] hi
|
||||
[O] pt
|
||||
@@ -1596,9 +1594,9 @@ vowel/a [a] base
|
||||
[aa] en-wm
|
||||
[a] cy
|
||||
[a] de
|
||||
[a:] nl
|
||||
[a] ta
|
||||
[a:] hu
|
||||
[a:] nl
|
||||
[a] pl
|
||||
[a] sk
|
||||
[a:] sk
|
||||
@@ -1635,10 +1633,10 @@ vowel/a_2 [a] base2
|
||||
[a] da
|
||||
[?a] da
|
||||
[a] rw
|
||||
vowel/a#_2 [a] kn
|
||||
[a] ml
|
||||
[A] nl
|
||||
vowel/a#_2 [A] nl
|
||||
[a:] nl
|
||||
[a] kn
|
||||
[a] ml
|
||||
[a#] pl
|
||||
[&] hr
|
||||
[a] sv
|
||||
@@ -1670,6 +1668,7 @@ vowel/a#_3 [a#] en
|
||||
[a#] en-n
|
||||
[a#] en-us
|
||||
[a#] en-wm
|
||||
[a#] ga
|
||||
[3] de
|
||||
[a] hi
|
||||
[a] ml
|
||||
@@ -1685,10 +1684,9 @@ vowel/a#_3 [a#] en
|
||||
[a] sq
|
||||
[a/] sq
|
||||
[3] da
|
||||
[a#] ga
|
||||
vowel/a_4 [a] es
|
||||
vowel/a_4 [a] ga
|
||||
[a] es
|
||||
[a] el
|
||||
[a] ga
|
||||
vowel/a#_4 [a:] nl
|
||||
[a] bg
|
||||
[a/] it
|
||||
@@ -1725,9 +1723,9 @@ vowel/aa# [O] en-us
|
||||
vowel/aa_2 [A:] en
|
||||
[A@] en
|
||||
[A:] cy
|
||||
[A:] ga
|
||||
[A] zh
|
||||
[A@] tn
|
||||
[A:] ga
|
||||
vowel/aa_3 [A:] af
|
||||
[A] sq
|
||||
[A] prs
|
||||
@@ -1741,10 +1739,10 @@ vowel/aa_6 [A] de
|
||||
[A:] de
|
||||
vowel/aa_8 [0] en-us
|
||||
[A:] en-us
|
||||
[0] ga
|
||||
[A1] et
|
||||
[A] nl
|
||||
[a:] is
|
||||
[0] ga
|
||||
[A] tt
|
||||
[a] ko
|
||||
vowel/aa_9 [a] fi
|
||||
@@ -1761,9 +1759,9 @@ vowel/@_bck [@] hi
|
||||
[V] ne
|
||||
[@/] ne
|
||||
[@] ur
|
||||
[@] pa
|
||||
[@] bg
|
||||
[@] zh
|
||||
[@] pa
|
||||
vowel/e [e] base
|
||||
[e] base2
|
||||
[e:] en
|
||||
@@ -1773,6 +1771,7 @@ vowel/e [e] base
|
||||
[eI] en-wi
|
||||
[e:] af
|
||||
[e:] cy
|
||||
[e:] ga
|
||||
[e] ne
|
||||
[e] ta
|
||||
[e:] ta
|
||||
@@ -1799,22 +1798,21 @@ vowel/e [e] base
|
||||
[e] dv
|
||||
[e:] dv
|
||||
[e:] te
|
||||
[e:] ga
|
||||
[E] kl
|
||||
vowel/e# [I] en-sc
|
||||
[e] et
|
||||
[E] kl
|
||||
vowel/e_2 [eI] en-sc
|
||||
vowel/e_2 [i] en-n
|
||||
[eI] en-sc
|
||||
[e:] de
|
||||
[e] hi
|
||||
[e:] hi
|
||||
[e] pa
|
||||
[e] it
|
||||
[e:] sv
|
||||
[e:] no
|
||||
[e] pa
|
||||
[e] sl
|
||||
vowel/e_3 [i] en-n
|
||||
[e:] hu
|
||||
vowel/e_3 [e:] hu
|
||||
[e] ku
|
||||
vowel/e_5 [i] en-sc
|
||||
vowel/e_6 [e] ht
|
||||
@@ -1844,11 +1842,11 @@ vowel/ee_1 [E] base2
|
||||
[e] zhy
|
||||
vowel/ee_2 [E] cy
|
||||
[E2] nl
|
||||
[E] pa
|
||||
[E] zh
|
||||
[E#] ku
|
||||
[&] da
|
||||
[?&] da
|
||||
[E] pa
|
||||
[&] kk
|
||||
vowel/ee#_2 [E1] et
|
||||
[E-] sv
|
||||
@@ -1871,6 +1869,7 @@ vowel/ee_6 [&] sk
|
||||
[&] si
|
||||
[&:] si
|
||||
vowel/e_mid [E] en-rp
|
||||
[E] ga
|
||||
[E] fr
|
||||
[E-] fr
|
||||
[E~] fr
|
||||
@@ -1902,7 +1901,6 @@ vowel/e_mid [E] en-rp
|
||||
[E] sl
|
||||
[E] ht
|
||||
[e] si
|
||||
[E] ga
|
||||
vowel/e_mid2 [E] af
|
||||
[E] de
|
||||
[E2] de
|
||||
@@ -1923,6 +1921,7 @@ vowel/e_mid2 [E] af
|
||||
[e] sq
|
||||
[E] da
|
||||
[?E] da
|
||||
[e] fa
|
||||
[e] nso
|
||||
[e] az
|
||||
[e] am
|
||||
@@ -1930,7 +1929,6 @@ vowel/e_mid2 [E] af
|
||||
[e:] si
|
||||
[e] mt
|
||||
[e] bo
|
||||
[e] fa
|
||||
vowel/@_fnt [@] en-wi
|
||||
[@2] en-wi
|
||||
[@2] hr
|
||||
@@ -1946,6 +1944,7 @@ vowel/i [i] base
|
||||
[i] en-wm
|
||||
[i] en-wi
|
||||
[i:] cy
|
||||
[i:] ga
|
||||
[i] eo
|
||||
[i] ne
|
||||
[i:] ta
|
||||
@@ -1963,6 +1962,7 @@ vowel/i [i] base
|
||||
[i] sw
|
||||
[i] hy
|
||||
[i] ka
|
||||
[i] fa
|
||||
[i] rw
|
||||
[i#] rw
|
||||
[i] prs
|
||||
@@ -1973,8 +1973,6 @@ vowel/i [i] base
|
||||
[i:] te
|
||||
[i:] si
|
||||
[i] bo
|
||||
[i] fa
|
||||
[i:] ga
|
||||
[i] tt
|
||||
[i] kl
|
||||
vowel/i# [y:] cy
|
||||
@@ -2037,8 +2035,8 @@ vowel/ii [I] en-n
|
||||
[I] de
|
||||
[I:] de
|
||||
[I] fr-ca
|
||||
[I] ml
|
||||
[I] nl
|
||||
[I] ml
|
||||
[I] is
|
||||
[I:] is
|
||||
[i] zhy
|
||||
@@ -2054,21 +2052,21 @@ vowel/ii# [I#] en-us
|
||||
[I] kk
|
||||
[e] tt
|
||||
vowel/ii_2 [I] en
|
||||
[I] ga
|
||||
[i] zh
|
||||
[I] da
|
||||
[I] mt
|
||||
[I] ga
|
||||
vowel/ii#_2 [y] pl
|
||||
[y] am
|
||||
vowel/ii_3 [I] cy
|
||||
[I] fi
|
||||
[I1] et
|
||||
[I] hi
|
||||
[I] pa
|
||||
[i] sk
|
||||
[I] hr
|
||||
[I] sv
|
||||
[I] no
|
||||
[I] pa
|
||||
[i] sl
|
||||
vowel/ii#_3 [I2] en-us
|
||||
vowel/ii_4 [I2] en
|
||||
@@ -2092,8 +2090,8 @@ vowel/ii_6 [I] en-wm
|
||||
[I] sq
|
||||
[i] wo
|
||||
vowel/ii_7 [i] en
|
||||
[i] sq
|
||||
[i] ga
|
||||
[i] sq
|
||||
vowel/ii_8 [i] kk
|
||||
vowel/ii_final [i] en-us
|
||||
[i] en-rp
|
||||
@@ -2109,23 +2107,25 @@ vowel/@_low [@] en-rp
|
||||
[@/] ne
|
||||
[@] ur
|
||||
[@2] ur
|
||||
[@] pa
|
||||
[V] pa
|
||||
[@] ml
|
||||
[@] ro
|
||||
[a#] no
|
||||
[@] id
|
||||
[@] pa
|
||||
[V] pa
|
||||
[@] si
|
||||
vowel/@_low2 [@2] en-us
|
||||
vowel/o [o] base2
|
||||
[o:] en
|
||||
[oU] en-n
|
||||
[oU] en-wi
|
||||
[o:] ga
|
||||
[o:] de
|
||||
[o] eo
|
||||
[o:] et
|
||||
[o] fr
|
||||
[o] hi
|
||||
[o:] pa
|
||||
[o] ta
|
||||
[o:] ta
|
||||
[o] kn
|
||||
@@ -2143,14 +2143,12 @@ vowel/o [o] base2
|
||||
[o] hy
|
||||
[o] rw
|
||||
[o#] rw
|
||||
[o:] pa
|
||||
[o] ak
|
||||
[o] wo
|
||||
[o:] wo
|
||||
[o] te
|
||||
[o:] te
|
||||
[o] bo
|
||||
[o:] ga
|
||||
[o] kl
|
||||
vowel/o_2 [o:] cy
|
||||
[o:] hi
|
||||
@@ -2192,10 +2190,10 @@ vowel/o_mid [U@] en-rp
|
||||
[o] hu
|
||||
[o] bg
|
||||
[o] tr
|
||||
[o] fa
|
||||
[o] az
|
||||
[o] dv
|
||||
[o:] dv
|
||||
[o] fa
|
||||
[o] tt
|
||||
vowel/o_mid2 [O] fr
|
||||
[O] ht
|
||||
@@ -2256,9 +2254,9 @@ vowel/oo_4 [O] base2
|
||||
[3:] en-wi
|
||||
[O1] et
|
||||
[O:] hi
|
||||
[O] pa
|
||||
[O] it
|
||||
[O] an
|
||||
[O] pa
|
||||
vowel/oo_5 [O] pl
|
||||
[O] is
|
||||
[O] sq
|
||||
@@ -2285,6 +2283,7 @@ vowelr/V_r [IR] en
|
||||
vowel/u [u] base
|
||||
[u:] en-wi
|
||||
[u:] cy
|
||||
[u1] ga
|
||||
[u:] de
|
||||
[u] eo
|
||||
[u] ml
|
||||
@@ -2302,7 +2301,6 @@ vowel/u [u] base
|
||||
[u] ak
|
||||
[u:] wo
|
||||
[u] bo
|
||||
[u1] ga
|
||||
[u] tt
|
||||
vowel/u# [u:] en-sc
|
||||
[Y] tr
|
||||
@@ -2344,13 +2342,15 @@ vowel/u#_7 [@] tr
|
||||
[@] az
|
||||
vowel/u_bck [u] base2
|
||||
[U] cy
|
||||
[u:] ga
|
||||
[u] fi
|
||||
[u] fr-ca
|
||||
[u] nl
|
||||
[u:] hi
|
||||
[u] ne
|
||||
[u] pa
|
||||
[u:] hu
|
||||
[u:] lt
|
||||
[u] nl
|
||||
[u] pl
|
||||
[u:] sk
|
||||
[u] hr
|
||||
@@ -2372,25 +2372,23 @@ vowel/u_bck [u] base2
|
||||
[u] ka
|
||||
[u] rw
|
||||
[u#] rw
|
||||
[u] pa
|
||||
[u] mt
|
||||
[u:] ga
|
||||
[u] ko
|
||||
vowel/u_bck2 [u] et
|
||||
[u] fr
|
||||
[u:] fr
|
||||
[u:] la
|
||||
[u] es
|
||||
[u] ht
|
||||
[u] fa
|
||||
[u] ht
|
||||
[u] kl
|
||||
vowel/u_bck3 [u:] et
|
||||
[u] kk
|
||||
vowel/uu [U] en
|
||||
[U] en-n
|
||||
[U] en-wm
|
||||
[U] tn
|
||||
[U] ga
|
||||
[U] tn
|
||||
vowel/uu# [U] ku
|
||||
vowel/uu_2 [U] base2
|
||||
[U] de
|
||||
@@ -2406,13 +2404,13 @@ vowel/uu_4 [U] fi
|
||||
vowel/uu_bck [U] en-wi
|
||||
[U] fr-ca
|
||||
[U] hi
|
||||
[U] pa
|
||||
[u] kn
|
||||
[u:] kn
|
||||
[u] hu
|
||||
[U] pt
|
||||
[U] no
|
||||
[u] zhy
|
||||
[U] pa
|
||||
vowel/V [3] en-sc
|
||||
[@] bg
|
||||
[@] vi
|
||||
@@ -2427,13 +2425,13 @@ vowel/V_2 [V] en
|
||||
[V] ku
|
||||
vowel/V_3 [V] en-rp
|
||||
[V] hi
|
||||
[V] pa
|
||||
[V] ta
|
||||
[a] bg
|
||||
[V] pa
|
||||
vowel/V_4 [V] en-sc
|
||||
[O] ga
|
||||
[V] da
|
||||
[?V] da
|
||||
[O] ga
|
||||
vowel/V_6 [V] en-us
|
||||
[a#] lv
|
||||
vowel/y [y] base2
|
||||
@@ -2443,8 +2441,8 @@ vowel/y [y] base2
|
||||
[y:] et
|
||||
[y] fr
|
||||
[y-] fr
|
||||
[y:] hu
|
||||
[y] nl
|
||||
[y:] hu
|
||||
[y] la
|
||||
[yu] zhy
|
||||
[y] sq
|
||||
@@ -2460,8 +2458,8 @@ vowel/y# [Y] base2
|
||||
[Y] et
|
||||
[Y:] et
|
||||
[Y] fr
|
||||
[Y:] hu
|
||||
[8] nl
|
||||
[Y:] hu
|
||||
[Y] ro
|
||||
[oe] zhy
|
||||
[W] tr
|
||||
|
||||
@@ -58,8 +58,7 @@ endphoneme
|
||||
phoneme i // optional variant of [I] for end of words
|
||||
vowel starttype #i endtype #i
|
||||
length 150
|
||||
IfNextVowelAppend(;)
|
||||
FMT(vowel/e_3)
|
||||
FMT(vowel/e_2)
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@ phoneme I#
|
||||
vowel starttype #i endtype #i
|
||||
unstressed
|
||||
length 160
|
||||
ipa ᵻ
|
||||
// FMT(vowel/@_fnt)
|
||||
FMT(vowel/ii#)
|
||||
endphoneme
|
||||
|
||||
+19
-19
@@ -294,7 +294,7 @@ phoneme p
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ph
|
||||
phoneme p#
|
||||
import_phoneme consonants/ph
|
||||
endphoneme
|
||||
|
||||
@@ -304,10 +304,10 @@ phoneme b // this is [b]
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme bh
|
||||
phoneme b#
|
||||
vcd blb stop
|
||||
lengthmod 5
|
||||
voicingswitch ph
|
||||
voicingswitch p#
|
||||
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80
|
||||
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30
|
||||
|
||||
@@ -330,7 +330,7 @@ phoneme t // dental variant of /t/
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme th // dental variant of /t/
|
||||
phoneme t# // dental variant of /t/
|
||||
vls dnt stop
|
||||
lengthmod 2
|
||||
voicingswitch d
|
||||
@@ -349,10 +349,10 @@ phoneme d // dental variant of /d/
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dh
|
||||
phoneme d#
|
||||
vcd dnt stop
|
||||
lengthmod 5
|
||||
voicingswitch th
|
||||
voicingswitch t#
|
||||
Vowelin f1=0 f2=1500 -300 300 f3=-100 80
|
||||
Vowelout f1=0 f2=1500 -300 250 f3=-100 80 rms=20
|
||||
|
||||
@@ -379,11 +379,11 @@ phoneme t.
|
||||
WAV(ustop/t_short)
|
||||
endphoneme
|
||||
|
||||
phoneme th.
|
||||
phoneme t.#
|
||||
vls rfx stop
|
||||
lengthmod 2
|
||||
ipa ʈh
|
||||
voicingswitch dh.
|
||||
ipa ʈU+02B0
|
||||
voicingswitch d.#
|
||||
Vowelin f1=0 f2=1800 -300 300 f3=-400 80
|
||||
Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2
|
||||
// WAV(ustop/th_rfx)
|
||||
@@ -410,11 +410,11 @@ phoneme d.
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme dh.
|
||||
phoneme d.#
|
||||
vcd rfx stop
|
||||
lengthmod 5
|
||||
ipa ɖh
|
||||
voicingswitch th.
|
||||
ipa ɖU+02B0
|
||||
voicingswitch t.#
|
||||
Vowelin f1=1 f2=1800 -300 300 f3=-400 80
|
||||
Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2
|
||||
|
||||
@@ -439,7 +439,7 @@ phoneme c
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme ch
|
||||
phoneme c#
|
||||
CALL base/tS;
|
||||
ipa ch
|
||||
endphoneme
|
||||
@@ -450,10 +450,10 @@ phoneme J
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme Jh
|
||||
phoneme J#
|
||||
vcd pal afr sibilant
|
||||
lengthmod 5
|
||||
voicingswitch ch
|
||||
voicingswitch c#
|
||||
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
||||
Vowelout f1=0 f2=2700 400 600 f3=300 80 colr=1
|
||||
|
||||
@@ -477,9 +477,9 @@ phoneme k
|
||||
voicingswitch g
|
||||
endphoneme
|
||||
|
||||
phoneme kh
|
||||
phoneme k#
|
||||
import_phoneme consonants/kh
|
||||
voicingswitch gh
|
||||
voicingswitch g#
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -489,10 +489,10 @@ phoneme g
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme gh
|
||||
phoneme g#
|
||||
vcd dnt stop
|
||||
lengthmod 5
|
||||
voicingswitch kh
|
||||
voicingswitch k#
|
||||
Vowelin f1=1 f2=2300 200 300 f3=-150 80 rms=20
|
||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ phoneme R
|
||||
import_phoneme base/R2
|
||||
endphoneme
|
||||
|
||||
phoneme d# // 'rr' sounds like English 'd'
|
||||
phoneme d2 // 'rr' sounds like English 'd'
|
||||
import_phoneme base/d
|
||||
endphoneme
|
||||
|
||||
|
||||
+14
-12
@@ -1690,6 +1690,9 @@ include ph_afrikaans
|
||||
phonemetable cy base
|
||||
include ph_welsh
|
||||
|
||||
phonemetable ga base
|
||||
include ph_irish
|
||||
|
||||
phonemetable de base
|
||||
include ph_german
|
||||
|
||||
@@ -1714,6 +1717,9 @@ include ph_french
|
||||
phonemetable fr-ca fr
|
||||
include ph_french_ca
|
||||
|
||||
phonemetable nl base
|
||||
include ph_dutch
|
||||
|
||||
|
||||
phonemetable hi base
|
||||
include ph_hindi
|
||||
@@ -1727,6 +1733,9 @@ include ph_nepali
|
||||
phonemetable ur hi
|
||||
include ph_urdu
|
||||
|
||||
phonemetable pa hi
|
||||
include ph_punjabi
|
||||
|
||||
phonemetable ta hi
|
||||
include ph_tamil
|
||||
|
||||
@@ -1737,6 +1746,7 @@ phonemetable ml hi
|
||||
include ph_malayalam
|
||||
|
||||
|
||||
|
||||
phonemetable hu base
|
||||
include ph_hungarian
|
||||
|
||||
@@ -1747,9 +1757,6 @@ include ph_lithuanian
|
||||
phonemetable lv base
|
||||
include ph_latvian
|
||||
|
||||
phonemetable nl base
|
||||
include ph_dutch
|
||||
|
||||
phonemetable pl base
|
||||
include ph_polish
|
||||
|
||||
@@ -1854,6 +1861,9 @@ include ph_danish
|
||||
phonemetable ka base
|
||||
include ph_georgian
|
||||
|
||||
phonemetable fa base
|
||||
include ph_farsi
|
||||
|
||||
|
||||
//**************************************************************************************
|
||||
// The following lines are experimental, for future additions.
|
||||
@@ -1872,9 +1882,6 @@ include ph_kinyarwanda
|
||||
//phonemetable mn base
|
||||
//include ph_mongolian
|
||||
|
||||
phonemetable pa hi
|
||||
include ph_punjabi
|
||||
|
||||
phonemetable prs base
|
||||
include ph_dari
|
||||
|
||||
@@ -1924,12 +1931,6 @@ include ph_tibetan
|
||||
phonemetable kk base
|
||||
include ph_kazakh
|
||||
|
||||
phonemetable fa base
|
||||
include ph_farsi
|
||||
|
||||
phonemetable ga base
|
||||
include ph_irish
|
||||
|
||||
phonemetable tt base
|
||||
include ph_tatar
|
||||
|
||||
@@ -1939,3 +1940,4 @@ include ph_korean
|
||||
phonemetable kl base
|
||||
include ph_greenlandic
|
||||
|
||||
|
||||
|
||||
+96
-106
@@ -67,7 +67,8 @@ MNEM_TAB mnem_rules[] = {
|
||||
{"p_alt5", 0x25},
|
||||
{"p_alt6", 0x26},
|
||||
{"p_alt", 0x21},
|
||||
{NULL, -1} };
|
||||
{NULL, -1}
|
||||
};
|
||||
|
||||
MNEM_TAB mnem_flags[] = {
|
||||
// these in the first group put a value in bits0-3 of dictionary_flags
|
||||
@@ -182,13 +183,13 @@ const char *LookupMnemName(MNEM_TAB *table, const int value)
|
||||
//==========================================================
|
||||
/* Lookup a mnemonic string in a table, return its name */
|
||||
{
|
||||
while(table->mnem != NULL)
|
||||
{
|
||||
if(table->value==value)
|
||||
return(table->mnem);
|
||||
table++;
|
||||
}
|
||||
return(""); /* not found */
|
||||
while(table->mnem != NULL)
|
||||
{
|
||||
if(table->value==value)
|
||||
return(table->mnem);
|
||||
table++;
|
||||
}
|
||||
return(""); /* not found */
|
||||
} /* end of LookupMnemValue */
|
||||
|
||||
|
||||
@@ -200,27 +201,27 @@ void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len)
|
||||
int len;
|
||||
int total = 0;
|
||||
|
||||
buf[0] = 0;
|
||||
buf[0] = 0;
|
||||
if((stress = flags[0] & 0xf) != 0)
|
||||
{
|
||||
sprintf(buf, "%s", LookupMnemName(mnem_flags, stress + 0x40));
|
||||
total = strlen(buf);
|
||||
buf += total;
|
||||
sprintf(buf, "%s", LookupMnemName(mnem_flags, stress + 0x40));
|
||||
total = strlen(buf);
|
||||
buf += total;
|
||||
}
|
||||
|
||||
for(ix=8; ix<64; ix++)
|
||||
{
|
||||
if(((ix < 30) && (flags[0] & (1 << ix))) || ((ix >= 0x20) && (flags[1] & (1 << (ix-0x20)))))
|
||||
{
|
||||
name = LookupMnemName(mnem_flags, ix);
|
||||
len = strlen(name) + 1;
|
||||
total += len;
|
||||
if(total >= buf_len)
|
||||
continue;
|
||||
sprintf(buf, " %s", name);
|
||||
buf += len;
|
||||
}
|
||||
}
|
||||
for(ix=8; ix<64; ix++)
|
||||
{
|
||||
if(((ix < 30) && (flags[0] & (1 << ix))) || ((ix >= 0x20) && (flags[1] & (1 << (ix-0x20)))))
|
||||
{
|
||||
name = LookupMnemName(mnem_flags, ix);
|
||||
len = strlen(name) + 1;
|
||||
total += len;
|
||||
if(total >= buf_len)
|
||||
continue;
|
||||
sprintf(buf, " %s", name);
|
||||
buf += len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -228,12 +229,12 @@ void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len)
|
||||
|
||||
char *DecodeRule(const char *group_chars, int group_length, char *rule, int control)
|
||||
{//=================================================================================
|
||||
/* Convert compiled match template to ascii */
|
||||
/* Convert compiled match template to ascii */
|
||||
|
||||
unsigned char rb;
|
||||
unsigned char rb;
|
||||
unsigned char c;
|
||||
char *p;
|
||||
int ix;
|
||||
int ix;
|
||||
int match_type;
|
||||
int finished=0;
|
||||
int value;
|
||||
@@ -243,18 +244,20 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
int condition_num=0;
|
||||
int at_start = 0;
|
||||
const char *name;
|
||||
char buf[60];
|
||||
char buf_pre[60];
|
||||
char buf[60];
|
||||
char buf_pre[60];
|
||||
char suffix[20];
|
||||
static char output[60];
|
||||
|
||||
static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
|
||||
'&','%','+','#','S','D','Z','A','L','!',' ','@','?','J','N','K','V','?','T','X','?','W'};
|
||||
static char symbols[] =
|
||||
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
|
||||
'&','%','+','#','S','D','Z','A','L','!',' ','@','?','J','N','K','V','?','T','X','?','W'
|
||||
};
|
||||
|
||||
static char symbols_lg[] = {'A','B','C','H','F','G','Y'};
|
||||
|
||||
match_type = 0;
|
||||
buf_pre[0] = 0;
|
||||
buf_pre[0] = 0;
|
||||
|
||||
for(ix=0; ix<group_length; ix++)
|
||||
{
|
||||
@@ -263,8 +266,8 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
buf[ix] = 0;
|
||||
|
||||
p = &buf[strlen(buf)];
|
||||
while(!finished)
|
||||
{
|
||||
while(!finished)
|
||||
{
|
||||
rb = *rule++;
|
||||
|
||||
if(rb <= RULE_LINENUM)
|
||||
@@ -315,8 +318,7 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
}
|
||||
c = ' ';
|
||||
}
|
||||
else
|
||||
if(rb == RULE_ENDING)
|
||||
else if(rb == RULE_ENDING)
|
||||
{
|
||||
static const char *flag_chars = "eipvdfq tba ";
|
||||
flags = ((rule[0] & 0x7f)<< 8) + (rule[1] & 0x7f);
|
||||
@@ -325,7 +327,7 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
suffix_char = 'P';
|
||||
sprintf(suffix,"%c%d",suffix_char,rule[2] & 0x7f);
|
||||
rule += 3;
|
||||
for(ix=0;ix<9;ix++)
|
||||
for(ix=0; ix<9; ix++)
|
||||
{
|
||||
if(flags & 1)
|
||||
sprintf(&suffix[strlen(suffix)],"%c",flag_chars[ix]);
|
||||
@@ -335,13 +337,11 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
p += strlen(suffix);
|
||||
c = ' ';
|
||||
}
|
||||
else
|
||||
if(rb == RULE_LETTERGP)
|
||||
else if(rb == RULE_LETTERGP)
|
||||
{
|
||||
c = symbols_lg[*rule++ - 'A'];
|
||||
}
|
||||
else
|
||||
if(rb == RULE_LETTERGP2)
|
||||
else if(rb == RULE_LETTERGP2)
|
||||
{
|
||||
value = *rule++ - 'A';
|
||||
p[0] = 'L';
|
||||
@@ -355,11 +355,9 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
}
|
||||
p+=2;
|
||||
}
|
||||
else
|
||||
if(rb <= RULE_LAST_RULE)
|
||||
else if(rb <= RULE_LAST_RULE)
|
||||
c = symbols[rb];
|
||||
else
|
||||
if(rb == RULE_SPACE)
|
||||
else if(rb == RULE_SPACE)
|
||||
c = '_';
|
||||
else
|
||||
c = rb;
|
||||
@@ -393,7 +391,7 @@ char *DecodeRule(const char *group_chars, int group_length, char *rule, int cont
|
||||
while(ix < 8)
|
||||
output[ix++]=' ';
|
||||
output[ix]=0;
|
||||
return(output);
|
||||
return(output);
|
||||
} /* end of DecodeRule */
|
||||
|
||||
|
||||
@@ -427,7 +425,7 @@ static int compile_line(char *linebuf, char *dict_line, int *hash)
|
||||
unsigned char flag_codes[100];
|
||||
char encoded_ph[200];
|
||||
unsigned char bad_phoneme[4];
|
||||
static char nullstring[] = {0};
|
||||
static char nullstring[] = {0};
|
||||
|
||||
text_not_phonemes = 0;
|
||||
phonetic = word = nullstring;
|
||||
@@ -500,13 +498,11 @@ static char nullstring[] = {0};
|
||||
{
|
||||
text_mode = 1;
|
||||
}
|
||||
else
|
||||
if(flagnum == 201)
|
||||
else if(flagnum == 201)
|
||||
{
|
||||
text_mode = 0;
|
||||
}
|
||||
else
|
||||
if(flagnum == BITNUM_FLAG_TEXTMODE)
|
||||
else if(flagnum == BITNUM_FLAG_TEXTMODE)
|
||||
{
|
||||
text_not_phonemes = 1;
|
||||
}
|
||||
@@ -536,8 +532,7 @@ static char nullstring[] = {0};
|
||||
word = p+1;
|
||||
step = 1;
|
||||
}
|
||||
else
|
||||
if(!isspace2(c))
|
||||
else if(!isspace2(c))
|
||||
{
|
||||
word = p;
|
||||
step = 1;
|
||||
@@ -571,8 +566,7 @@ static char nullstring[] = {0};
|
||||
step = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(c == ')')
|
||||
else if(c == ')')
|
||||
{
|
||||
if(multiple_words)
|
||||
{
|
||||
@@ -580,8 +574,7 @@ static char nullstring[] = {0};
|
||||
multiple_words = 0;
|
||||
step = 3;
|
||||
}
|
||||
else
|
||||
if(word[0] != '_')
|
||||
else if(word[0] != '_')
|
||||
{
|
||||
fprintf(f_log, "%5d: Missing '('\n", linenum);
|
||||
error_count++;
|
||||
@@ -595,8 +588,7 @@ static char nullstring[] = {0};
|
||||
{
|
||||
multiple_words++;
|
||||
}
|
||||
else
|
||||
if(c == ')')
|
||||
else if(c == ')')
|
||||
{
|
||||
p[0] = ' '; // terminate extra string
|
||||
multiple_string_end = p+1;
|
||||
@@ -641,8 +633,8 @@ static char nullstring[] = {0};
|
||||
// This is a special word, used by eSpeak. Translate this into phonemes now
|
||||
strcat(phonetic, " "); // need a space to indicate word-boundary
|
||||
|
||||
// PROBLEM vowel reductions are not applied to the translated phonemes
|
||||
// condition rules are not applied
|
||||
// PROBLEM vowel reductions are not applied to the translated phonemes
|
||||
// condition rules are not applied
|
||||
TranslateWord(translator,phonetic,0,NULL,NULL);
|
||||
text_not_phonemes = 0;
|
||||
strncpy0(encoded_ph, word_phonemes, N_WORD_BYTES-4);
|
||||
@@ -653,11 +645,11 @@ static char nullstring[] = {0};
|
||||
error_need_dictionary++;
|
||||
fprintf(f_log,"%5d: Need to compile dictionary again\n",linenum);
|
||||
}
|
||||
{
|
||||
{
|
||||
//char decoded_phonemes[128];
|
||||
//DecodePhonemes(word_phonemes,decoded_phonemes);
|
||||
//printf("Translator %x %s [%s] [%s]\n",translator->translator_name,word,phonetic,decoded_phonemes);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -694,8 +686,7 @@ static char nullstring[] = {0};
|
||||
ix = utf8_out(wc, word);
|
||||
word[ix] = 0;
|
||||
}
|
||||
else
|
||||
if(word[0] != '_')
|
||||
else if(word[0] != '_')
|
||||
{
|
||||
// convert to lower case, and note if the word is all-capitals
|
||||
int c2;
|
||||
@@ -1082,8 +1073,7 @@ static void copy_rule_string(char *string, int &state)
|
||||
fprintf(f_log,"%5d: Expected 2 digits after 'L'\n",linenum);
|
||||
error_count++;
|
||||
}
|
||||
else
|
||||
if((c <= 0) || (c >= N_LETTER_GROUPS) || (letterGroupsDefined[(int)c] == 0))
|
||||
else if((c <= 0) || (c >= N_LETTER_GROUPS) || (letterGroupsDefined[(int)c] == 0))
|
||||
{
|
||||
fprintf(f_log,"%5d: Letter group L%.2d not defined\n",linenum,c);
|
||||
error_count++;
|
||||
@@ -1162,9 +1152,9 @@ static void copy_rule_string(char *string, int &state)
|
||||
case 'a':
|
||||
sxflags |= SUFX_A;
|
||||
break;
|
||||
case 'm':
|
||||
sxflags |= SUFX_M;
|
||||
break;
|
||||
case 'm':
|
||||
sxflags |= SUFX_M;
|
||||
break;
|
||||
default:
|
||||
if(isdigit(c))
|
||||
value = (value*10) + (c - '0');
|
||||
@@ -1376,11 +1366,11 @@ int __cdecl string_sorter(char **a, char **b)
|
||||
char *pa, *pb;
|
||||
int ix;
|
||||
|
||||
if((ix = strcmp(pa = *a,pb = *b)) != 0)
|
||||
return(ix);
|
||||
if((ix = strcmp(pa = *a,pb = *b)) != 0)
|
||||
return(ix);
|
||||
pa += (strlen(pa)+1);
|
||||
pb += (strlen(pb)+1);
|
||||
return(strcmp(pa,pb));
|
||||
return(strcmp(pa,pb));
|
||||
} /* end of string_sorter */
|
||||
|
||||
|
||||
@@ -1471,12 +1461,12 @@ static void print_rule_group(FILE *f_out, int n_rules, char **rules, char *name)
|
||||
if(rule_pre[0] != 0)
|
||||
{
|
||||
p = buf;
|
||||
for(ix=strlen(rule_pre)-1;ix>=0;ix--)
|
||||
for(ix=strlen(rule_pre)-1; ix>=0; ix--)
|
||||
*p++ = rule_pre[ix];
|
||||
sprintf(p,") ");
|
||||
spaces -= strlen(buf);
|
||||
for(ix=0; ix<spaces; ix++)
|
||||
fputc(' ',f_out);
|
||||
fputc(' ',f_out);
|
||||
fprintf(f_out,"%s",buf);
|
||||
spaces = 0;
|
||||
}
|
||||
@@ -1580,7 +1570,7 @@ static int compile_lettergroup(char *input, FILE *f_out)
|
||||
int length;
|
||||
int max_length = 0;
|
||||
|
||||
#define N_LETTERGP_ITEMS 200
|
||||
#define N_LETTERGP_ITEMS 200
|
||||
char *items[N_LETTERGP_ITEMS];
|
||||
char item_length[N_LETTERGP_ITEMS];
|
||||
|
||||
@@ -1797,37 +1787,37 @@ static int compile_dictrules(FILE *f_in, FILE *f_out, char *fname_temp)
|
||||
break;
|
||||
|
||||
case 2: // .replace
|
||||
{
|
||||
int replace1;
|
||||
int replace2;
|
||||
char *p;
|
||||
{
|
||||
int replace1;
|
||||
int replace2;
|
||||
char *p;
|
||||
|
||||
p = buf;
|
||||
replace1 = 0;
|
||||
replace2 = 0;
|
||||
while(isspace2(*p)) p++;
|
||||
ix = 0;
|
||||
while((unsigned char)(*p) > 0x20) // not space or zero-byte
|
||||
{
|
||||
p += utf8_in(&c,p);
|
||||
replace1 += (c << ix);
|
||||
ix += 16;
|
||||
}
|
||||
while(isspace2(*p)) p++;
|
||||
ix = 0;
|
||||
while((unsigned char)(*p) > 0x20)
|
||||
{
|
||||
p += utf8_in(&c,p);
|
||||
replace2 += (c << ix);
|
||||
ix += 16;
|
||||
}
|
||||
if(replace1 != 0)
|
||||
{
|
||||
Write4Bytes(f_out,replace1); // write as little-endian
|
||||
Write4Bytes(f_out,replace2); // if big-endian, reverse the bytes in LoadDictionary()
|
||||
}
|
||||
p = buf;
|
||||
replace1 = 0;
|
||||
replace2 = 0;
|
||||
while(isspace2(*p)) p++;
|
||||
ix = 0;
|
||||
while((unsigned char)(*p) > 0x20) // not space or zero-byte
|
||||
{
|
||||
p += utf8_in(&c,p);
|
||||
replace1 += (c << ix);
|
||||
ix += 16;
|
||||
}
|
||||
break;
|
||||
while(isspace2(*p)) p++;
|
||||
ix = 0;
|
||||
while((unsigned char)(*p) > 0x20)
|
||||
{
|
||||
p += utf8_in(&c,p);
|
||||
replace2 += (c << ix);
|
||||
ix += 16;
|
||||
}
|
||||
if(replace1 != 0)
|
||||
{
|
||||
Write4Bytes(f_out,replace1); // write as little-endian
|
||||
Write4Bytes(f_out,replace2); // if big-endian, reverse the bytes in LoadDictionary()
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose(f_temp);
|
||||
|
||||
+272
-301
File diff suppressed because it is too large
Load Diff
+403
-405
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2011 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -133,7 +133,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
PHONEME_LIST2 *plist2;
|
||||
WORD_PH_DATA worddata;
|
||||
|
||||
memset(&worddata, 0, sizeof(worddata));
|
||||
memset(&worddata, 0, sizeof(worddata));
|
||||
plist2 = ph_list2;
|
||||
phlist = phoneme_list;
|
||||
end_sourceix = plist2[n_ph_list2-1].sourceix;
|
||||
@@ -142,7 +142,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
max_stress = 0;
|
||||
for(j = n_ph_list2-3; j>=0; j--)
|
||||
{
|
||||
// start with the last phoneme (before the terminating pauses) and move forwards
|
||||
// start with the last phoneme (before the terminating pauses) and move backwards
|
||||
if((plist2[j].stresslevel & 0x7f) > max_stress)
|
||||
max_stress = plist2[j].stresslevel & 0x7f;
|
||||
if(plist2[j].sourceix != 0)
|
||||
@@ -204,21 +204,18 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
{
|
||||
voicing = 1;
|
||||
}
|
||||
else
|
||||
if((voicing==2) && (ph->end_type != 0)) // use end_type field for voicing_switch for consonants
|
||||
else if((voicing==2) && (ph->end_type != 0)) // use end_type field for voicing_switch for consonants
|
||||
{
|
||||
plist2[j].phcode = ph->end_type; // change to voiced equivalent
|
||||
}
|
||||
}
|
||||
else
|
||||
if((type==phVSTOP) || type==(phVFRICATIVE))
|
||||
else if((type==phVSTOP) || type==(phVFRICATIVE))
|
||||
{
|
||||
if((voicing==0) && (regression & 0xf))
|
||||
{
|
||||
voicing = 2;
|
||||
}
|
||||
else
|
||||
if((voicing==1) && (ph->end_type != 0))
|
||||
else if((voicing==1) && (ph->end_type != 0))
|
||||
{
|
||||
plist2[j].phcode = ph->end_type; // change to unvoiced equivalent
|
||||
}
|
||||
@@ -331,6 +328,9 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
|
||||
if(plist3->phcode == phonSWITCH)
|
||||
{
|
||||
if((plist3[1].phcode == phonSWITCH) || ((plist3[1].type == phPAUSE) && (plist3[2].phcode == phonSWITCH)))
|
||||
continue; // next phoneme is also a phonSWITCH, so ignore
|
||||
|
||||
// change phoneme table
|
||||
SelectPhonemeTable(plist3->tone_ph);
|
||||
switched_language ^= SFLAG_SWITCHED_LANG;
|
||||
@@ -580,18 +580,18 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
phlist[ix].newword = 2; // end of clause
|
||||
|
||||
phlist[ix].phcode = phonPAUSE;
|
||||
phlist[ix].type = phPAUSE; // terminate with 2 Pause phonemes
|
||||
phlist[ix].type = phPAUSE; // terminate with 2 Pause phonemes
|
||||
phlist[ix].length = post_pause; // length of the pause, depends on the punctuation
|
||||
phlist[ix].sourceix = end_sourceix;
|
||||
phlist[ix].synthflags = 0;
|
||||
phlist[ix++].ph = phoneme_tab[phonPAUSE];
|
||||
phlist[ix++].ph = phoneme_tab[phonPAUSE];
|
||||
|
||||
phlist[ix].phcode = phonPAUSE;
|
||||
phlist[ix].type = phPAUSE;
|
||||
phlist[ix].type = phPAUSE;
|
||||
phlist[ix].length = 0;
|
||||
phlist[ix].sourceix=0;
|
||||
phlist[ix].synthflags = 0;
|
||||
phlist[ix++].ph = phoneme_tab[phonPAUSE_SHORT];
|
||||
phlist[ix++].ph = phoneme_tab[phonPAUSE_SHORT];
|
||||
|
||||
n_phoneme_list = ix;
|
||||
} // end of MakePhonemeList
|
||||
|
||||
+18
-9
@@ -842,14 +842,13 @@ static int LoadSoundFile2(const char *fname)
|
||||
|
||||
|
||||
static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output, int *bufix, int end_clause)
|
||||
{//==========================================================================================================
|
||||
{//=============================================================================================================
|
||||
// announce punctuation names
|
||||
// c1: the punctuation character
|
||||
// c2: the following character
|
||||
|
||||
int punct_count;
|
||||
const char *punctname;
|
||||
int found = 0;
|
||||
const char *punctname = NULL;
|
||||
int soundicon;
|
||||
int attributes;
|
||||
int short_pause;
|
||||
@@ -858,6 +857,7 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
int bufix1;
|
||||
char buf[200];
|
||||
char buf2[80];
|
||||
char ph_buf[30];
|
||||
|
||||
c2 = *c2_ptr;
|
||||
buf[0] = 0;
|
||||
@@ -867,12 +867,24 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
// add an embedded command to play the soundicon
|
||||
sprintf(buf,"\001%dI ",soundicon);
|
||||
UngetC(c2);
|
||||
found = 1;
|
||||
}
|
||||
else
|
||||
if((punctname = LookupCharName(tr, c1, 0)) != NULL)
|
||||
{
|
||||
found = 1;
|
||||
if((c1 == '.') && (end_clause) && (c2 != '.'))
|
||||
{
|
||||
if(LookupSpecial(tr, "_.p", ph_buf))
|
||||
{
|
||||
punctname = ph_buf; // use word for 'period' instead of 'dot'
|
||||
}
|
||||
}
|
||||
if(punctname == NULL)
|
||||
{
|
||||
punctname = LookupCharName(tr, c1, 0);
|
||||
}
|
||||
|
||||
if(punctname == NULL)
|
||||
return(-1);
|
||||
|
||||
if((*bufix==0) || (end_clause ==0) || (tr->langopts.param[LOPT_ANNOUNCE_PUNCT] & 2))
|
||||
{
|
||||
punct_count=1;
|
||||
@@ -932,9 +944,6 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
}
|
||||
}
|
||||
|
||||
if(found == 0)
|
||||
return(-1);
|
||||
|
||||
bufix1 = *bufix;
|
||||
len = strlen(buf);
|
||||
strcpy(&output[*bufix],buf);
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.46.44 08.Mar.13";
|
||||
const char *version_string = "1.46.45 10.Mar.13";
|
||||
const int version_phdata = 0x014640;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+47
-40
@@ -79,7 +79,7 @@ ALPHABET alphabets [] = {
|
||||
{"_dv", OFFSET_THAANA, 0x780, 0x7bf, 0, 0},
|
||||
{"_hi", OFFSET_DEVANAGARI, 0x900, 0x97f,L('h','i'), AL_WORDS},
|
||||
{"_bn", OFFSET_BENGALI, 0x0980, 0x9ff, 0, 0},
|
||||
{"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, 0, 0},
|
||||
{"_gur", OFFSET_GURMUKHI, 0xa00, 0xa7f, L('p','a'), AL_WORDS},
|
||||
{"_gu", OFFSET_GUJARATI, 0xa80, 0xaff, 0, 0},
|
||||
{"_or", OFFSET_ORIYA, 0xb00, 0xb7f, 0, 0},
|
||||
{"_ta", OFFSET_TAMIL, 0xb80, 0xbff, L('t','a'), AL_WORDS},
|
||||
@@ -94,24 +94,26 @@ ALPHABET alphabets [] = {
|
||||
{"_ka", OFFSET_GEORGIAN, 0x10a0,0x10ff, L('k','a'), AL_WORDS},
|
||||
{"_ko", OFFSET_KOREAN, 0x1100,0x11ff, 0, 0},
|
||||
{"_eth", OFFSET_ETHIOPIC, 0x1200,0x139f, 0, 0},
|
||||
{"_ja", 0x3040, 0x3040,0x30ff, 0, AL_NOT_CODE},
|
||||
{"_zh", 0x3100, 0x3100,0x9fff, 0, AL_NOT_CODE},
|
||||
{NULL, 0, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
||||
ALPHABET *AlphabetFromChar(int c)
|
||||
{//===============================
|
||||
// Find the alphabet from a character.
|
||||
ALPHABET *alphabet = alphabets;
|
||||
// Find the alphabet from a character.
|
||||
ALPHABET *alphabet = alphabets;
|
||||
|
||||
while(alphabet->name != NULL)
|
||||
{
|
||||
if((c >= alphabet->range_min) && (c <= alphabet->range_max))
|
||||
{
|
||||
return(alphabet);
|
||||
}
|
||||
alphabet++;
|
||||
}
|
||||
return(NULL);
|
||||
while(alphabet->name != NULL)
|
||||
{
|
||||
if((c >= alphabet->range_min) && (c <= alphabet->range_max))
|
||||
{
|
||||
return(alphabet);
|
||||
}
|
||||
alphabet++;
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -514,7 +516,7 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
|
||||
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable
|
||||
tr->letter_bits_offset = OFFSET_BENGALI;
|
||||
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI
|
||||
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama
|
||||
@@ -601,7 +603,7 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
tr->letter_bits_offset = OFFSET_THAANA;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
|
||||
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable
|
||||
SetLetterBitsRange(tr,LETTERGP_B,0x26,0x30); // vowel signs, and virama
|
||||
tr->langopts.break_numbers = 0x14a8; // 1000, 100,000 10,000,000
|
||||
tr->langopts.numbers = 1;
|
||||
@@ -705,7 +707,7 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
// stress last syllable if it doesn't end in vowel or "s" or "n"
|
||||
// 'diminished' is an unstressed final syllable
|
||||
tr->langopts.stress_flags = 0x200 | 0x6 | 0x10;
|
||||
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||
tr->langopts.unstressed_wd1 = 0;
|
||||
tr->langopts.unstressed_wd2 = 2;
|
||||
tr->langopts.param[LOPT_SONORANT_MIN] = 120; // limit the shortening of sonorants before short vowels
|
||||
@@ -715,18 +717,20 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
if(name2 == L('c','a'))
|
||||
{
|
||||
// stress last syllable unless word ends with a vowel
|
||||
tr->punct_within_word = ca_punct_within_word;
|
||||
tr->langopts.stress_flags = 0x200 | 0x6 | 0x30; // stress last syllable unless word ends with a vowel
|
||||
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_NO_AUTO_2;
|
||||
}
|
||||
else
|
||||
if(name2 == L('a','n'))
|
||||
{
|
||||
tr->langopts.stress_flags = 0x200 | 0x6 | 0x10;
|
||||
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||
}
|
||||
else
|
||||
if(name2 == L_pap)
|
||||
{
|
||||
tr->langopts.stress_flags = 0x100 | 0x6 | 0x30; // stress last syllable unless word ends with a vowel
|
||||
// stress last syllable unless word ends with a vowel
|
||||
tr->langopts.stress_flags = S_FINAL_STRESS_C | S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_NO_AUTO_2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -786,7 +790,7 @@ Translator *SelectTranslator(const char *name)
|
||||
SetupTranslator(tr,stress_lengths_fi,stress_amps_fi);
|
||||
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x56; // move secondary stress from light to a following heavy syllable
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_2_TO_HEAVY; // move secondary stress from light to a following heavy syllable
|
||||
tr->langopts.param[LOPT_IT_DOUBLING] = 1;
|
||||
tr->langopts.long_stop = 130;
|
||||
|
||||
@@ -802,7 +806,7 @@ Translator *SelectTranslator(const char *name)
|
||||
{
|
||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress
|
||||
tr->langopts.stress_flags = S_NO_AUTO_2 | S_FINAL_DIM; // don't use secondary stress
|
||||
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
tr->langopts.accents = 2; // Say "Capital" after the letter.
|
||||
@@ -812,12 +816,12 @@ Translator *SelectTranslator(const char *name)
|
||||
}
|
||||
break;
|
||||
|
||||
case L('g','a'): // irish
|
||||
{
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.numbers = 1;
|
||||
}
|
||||
break;
|
||||
case L('g','a'): // irish
|
||||
{
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.numbers = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('h','i'): // Hindi
|
||||
case L('n','e'): // Nepali
|
||||
@@ -831,7 +835,7 @@ Translator *SelectTranslator(const char *name)
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
|
||||
tr->langopts.stress_rule = 6; // stress on last heaviest syllable, excluding final syllable
|
||||
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
|
||||
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable
|
||||
tr->langopts.numbers = NUM_SWAP_TENS;
|
||||
tr->langopts.break_numbers = 0x14aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi
|
||||
tr->letter_bits_offset = OFFSET_DEVANAGARI;
|
||||
@@ -875,7 +879,7 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x10;
|
||||
tr->langopts.stress_flags = S_FINAL_NO_2;
|
||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3;
|
||||
tr->langopts.max_initial_consonants = 5;
|
||||
tr->langopts.spelling_stress = 1;
|
||||
@@ -894,7 +898,7 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
case L('h','t'): // Haitian Creole
|
||||
// memcpy(tr->stress_lengths,stress_lengths_fr,sizeof(tr->stress_lengths));
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress
|
||||
tr->langopts.stress_flags = S_NO_AUTO_2 | S_FINAL_DIM; // don't use secondary stress
|
||||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_OMIT_1_HUNDRED | NUM_NOPAUSE | NUM_ROMAN | NUM_VIGESIMAL | NUM_DFRACTION_4;
|
||||
break;
|
||||
|
||||
@@ -909,7 +913,7 @@ SetupTranslator(tr,stress_lengths_equal,stress_amps_equal);
|
||||
|
||||
tr->langopts.vowel_pause = 0x20;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x8036 | S_HYPEN_UNSTRESS;
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_NO_AUTO_2 | 0x8000 | S_HYPEN_UNSTRESS;
|
||||
tr->langopts.unstressed_wd1 = 2;
|
||||
tr->langopts.param[LOPT_IT_DOUBLING] = 1;
|
||||
tr->langopts.param[LOPT_ANNOUNCE_PUNCT] = 2; // don't break clause before announcing . ? !
|
||||
@@ -942,7 +946,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetLetterBits(tr,LETTERGP_C,hy_consonants);
|
||||
tr->langopts.max_initial_consonants = 6;
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED;
|
||||
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -954,7 +958,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetupTranslator(tr,stress_lengths_id,stress_amps_id);
|
||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_ROMAN;
|
||||
tr->langopts.stress_flags = 0x6 | 0x10;
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||
tr->langopts.accents = 2; // "capital" after letter name
|
||||
}
|
||||
break;
|
||||
@@ -966,7 +970,7 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
SetupTranslator(tr,stress_lengths_is,NULL);
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x10;
|
||||
tr->langopts.stress_flags = S_FINAL_NO_2;
|
||||
tr->langopts.param[LOPT_IT_LENGTHEN] = 0x11; // remove lengthen indicator from unstressed vowels
|
||||
tr->langopts.param[LOPT_REDUCE] = 2;
|
||||
|
||||
@@ -989,7 +993,7 @@ SetLengthMods(tr,3); // all equal
|
||||
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||
tr->langopts.stress_flags = 0x10 | S_PRIORITY_STRESS;
|
||||
tr->langopts.stress_flags = S_FINAL_NO_2 | S_PRIORITY_STRESS;
|
||||
tr->langopts.vowel_pause = 1;
|
||||
tr->langopts.unstressed_wd1 = 2;
|
||||
tr->langopts.unstressed_wd2 = 2;
|
||||
@@ -1024,8 +1028,9 @@ SetLengthMods(tr,3); // all equal
|
||||
{
|
||||
// character codes offset by 0x1080
|
||||
static const char ka_vowels[] = {0x30,0x34,0x38,0x3d,0x43,0x55,0x57,0};
|
||||
static const char ka_consonants[] = {0x31,0x32,0x33,0x35,0x36,0x37,0x39,0x3a,0x3b,0x3c,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
|
||||
static const char ka_consonants[] =
|
||||
{0x31,0x32,0x33,0x35,0x36,0x37,0x39,0x3a,0x3b,0x3c,0x3e,0x3f,0x40,0x41,0x42,0x44,
|
||||
0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0};
|
||||
SetupTranslator(tr,stress_lengths_ta,stress_amps_ta);
|
||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
|
||||
SetLetterBits(tr,LETTERGP_A,ka_vowels);
|
||||
@@ -1149,7 +1154,7 @@ SetLengthMods(tr,3); // all equal
|
||||
tr->langopts.spelling_stress = 1;
|
||||
tr->charset_a0 = charsets[4]; // ISO-8859-4
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_4 | NUM_ORDINAL_DOT;
|
||||
tr->langopts.stress_flags = 0x16 + 0x40000;
|
||||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_EO_CLAUSE1;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1496,14 +1501,14 @@ SetLengthMods(tr,3); // all equal
|
||||
break;
|
||||
|
||||
case L('t','t'): // Tatar
|
||||
{
|
||||
{
|
||||
SetCyrillicLetters(tr);
|
||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
||||
tr->langopts.stress_flags = S_NO_AUTO_2; //no automatic secondary stress
|
||||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_4;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('u','k'): // Ukrainian
|
||||
{
|
||||
@@ -1513,10 +1518,12 @@ SetLengthMods(tr,3); // all equal
|
||||
break;
|
||||
|
||||
case L('u','r'): // Urdu
|
||||
{
|
||||
tr->letter_bits_offset = OFFSET_ARABIC;
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
tr->langopts.numbers = NUM_SWAP_TENS;
|
||||
tr->langopts.break_numbers = 0x52a8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi
|
||||
}
|
||||
break;
|
||||
|
||||
case L('v','i'): // Vietnamese
|
||||
|
||||
+450
-474
File diff suppressed because it is too large
Load Diff
+9
-3
@@ -275,7 +275,8 @@ extern ALPHABET *current_alphabet;
|
||||
// alphabet flags
|
||||
#define AL_DONT_NAME 0x01 // don't speak the alphabet name
|
||||
#define AL_NOT_LETTERS 0x02 // don't use the language for speaking letters
|
||||
#define AL_WORDS 0x04 // use the language to speak words
|
||||
#define AL_WORDS 0x04 // use the language to speak words
|
||||
#define AL_NOT_CODE 0x08 // don't speak the character code
|
||||
|
||||
|
||||
#define N_LOPTS 21
|
||||
@@ -402,12 +403,18 @@ typedef struct {
|
||||
#define S_INITIAL_2 0x2000
|
||||
// bit13= If there is only one syllable before the primary stress, give it a secondary stress
|
||||
|
||||
#define S_MID_DIM 0x10000
|
||||
// bit 16= Set (not first or last) syllables to diminished stress
|
||||
|
||||
#define S_PRIORITY_STRESS 0x20000
|
||||
// bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary"
|
||||
|
||||
#define S_EO_CLAUSE1 0x40000
|
||||
// bit18= don't lengthen short vowels more than long vowels at end-of-clause
|
||||
|
||||
#define S_FINAL_LONG 0x80000
|
||||
// bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel
|
||||
|
||||
|
||||
#define S_HYPEN_UNSTRESS 0x100000
|
||||
// bit20= hyphenated words, 2nd part is unstressed
|
||||
@@ -416,7 +423,6 @@ typedef struct {
|
||||
// bit21= don't lengthen vowels at end-of-clause
|
||||
|
||||
// bit15= Give stress to the first unstressed syllable
|
||||
// bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel
|
||||
|
||||
|
||||
int stress_flags;
|
||||
@@ -566,7 +572,7 @@ typedef struct
|
||||
const char *transpose_map;
|
||||
char dictionary_name[40];
|
||||
|
||||
char phon_out[400];
|
||||
char phon_out[500];
|
||||
char phonemes_repeat[20];
|
||||
int phonemes_repeat_count;
|
||||
int phoneme_tab_ix;
|
||||
|
||||
+184
-181
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -47,7 +47,8 @@ MNEM_TAB genders [] = {
|
||||
{"unknown", 0},
|
||||
{"male", 1},
|
||||
{"female", 2},
|
||||
{NULL, 0 }};
|
||||
{NULL, 0 }
|
||||
};
|
||||
|
||||
int tone_points[12] = {600,170, 1200,135, 2000,110, 3000,110, -1,0};
|
||||
//int tone_points[12] = {250,200, 400,170, 600,170, 1200,135, 2000,110, -1,0};
|
||||
@@ -98,6 +99,7 @@ enum {
|
||||
V_STRESSADD,
|
||||
V_DICTRULES,
|
||||
V_STRESSRULE,
|
||||
V_STRESSOPT,
|
||||
V_CHARSET,
|
||||
V_NUMBERS,
|
||||
V_OPTION,
|
||||
@@ -118,7 +120,8 @@ enum {
|
||||
static MNEM_TAB options_tab[] = {
|
||||
{"reduce_t", LOPT_REDUCE_T},
|
||||
{"bracket", LOPT_BRACKET_PAUSE},
|
||||
{NULL, -1} };
|
||||
{NULL, -1}
|
||||
};
|
||||
|
||||
static MNEM_TAB keyword_tab[] = {
|
||||
{"name", V_NAME},
|
||||
@@ -128,7 +131,7 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"formant", V_FORMANT},
|
||||
{"pitch", V_PITCH},
|
||||
{"phonemes", V_PHONEMES},
|
||||
{"translator", V_TRANSLATOR},
|
||||
{"translator", V_TRANSLATOR},
|
||||
{"dictionary", V_DICTIONARY},
|
||||
{"stressLength", V_STRESSLENGTH},
|
||||
{"stressAmp", V_STRESSAMP},
|
||||
@@ -137,6 +140,7 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"tunes", V_TUNES},
|
||||
{"dictrules", V_DICTRULES},
|
||||
{"stressrule", V_STRESSRULE},
|
||||
{"stressopt", V_STRESSOPT},
|
||||
{"charset", V_CHARSET},
|
||||
{"replace", V_REPLACE},
|
||||
{"words", V_WORDGAP},
|
||||
@@ -166,7 +170,8 @@ static MNEM_TAB keyword_tab[] = {
|
||||
{"l_sonorant_min", 0x100+LOPT_SONORANT_MIN},
|
||||
{"l_length_mods", 0x100+LOPT_LENGTH_MODS},
|
||||
{"apostrophe", 0x100+LOPT_APOSTROPHE},
|
||||
{NULL, 0} };
|
||||
{NULL, 0}
|
||||
};
|
||||
|
||||
#define N_VOICE_VARIANTS 12
|
||||
const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0};
|
||||
@@ -260,9 +265,9 @@ void ReadTonePoints(char *string, int *tone_pts)
|
||||
tone_pts[ix] = -1;
|
||||
|
||||
sscanf(string,"%d %d %d %d %d %d %d %d %d %d",
|
||||
&tone_pts[0],&tone_pts[1],&tone_pts[2],&tone_pts[3],
|
||||
&tone_pts[4],&tone_pts[5],&tone_pts[6],&tone_pts[7],
|
||||
&tone_pts[8],&tone_pts[9]);
|
||||
&tone_pts[0],&tone_pts[1],&tone_pts[2],&tone_pts[3],
|
||||
&tone_pts[4],&tone_pts[5],&tone_pts[6],&tone_pts[7],
|
||||
&tone_pts[8],&tone_pts[9]);
|
||||
}
|
||||
|
||||
|
||||
@@ -316,8 +321,7 @@ static espeak_VOICE *ReadVoiceFile(FILE *f_in, const char *fname, const char*lea
|
||||
while(isspace(*p)) p++;
|
||||
strncpy0(vname,p,sizeof(vname));
|
||||
}
|
||||
else
|
||||
if(memcmp(linebuf,"language",8)==0)
|
||||
else if(memcmp(linebuf,"language",8)==0)
|
||||
{
|
||||
priority = DEFAULT_LANGUAGE_PRIORITY;
|
||||
vlanguage[0] = 0;
|
||||
@@ -334,13 +338,11 @@ static espeak_VOICE *ReadVoiceFile(FILE *f_in, const char *fname, const char*lea
|
||||
n_languages++;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(memcmp(linebuf,"gender",6)==0)
|
||||
else if(memcmp(linebuf,"gender",6)==0)
|
||||
{
|
||||
sscanf(&linebuf[6],"%s %d",vgender,&age);
|
||||
}
|
||||
else
|
||||
if(memcmp(linebuf,"variants",8)==0)
|
||||
else if(memcmp(linebuf,"variants",8)==0)
|
||||
{
|
||||
sscanf(&linebuf[8],"%d",&n_variants);
|
||||
}
|
||||
@@ -443,7 +445,7 @@ void VoiceReset(int tone_only)
|
||||
// Adjustment of harmonic amplitudes, steps of 8Hz
|
||||
// value of 128 means no change
|
||||
// memset(voice->tone_adjust,128,sizeof(voice->tone_adjust));
|
||||
SetToneAdjust(voice,tone_points);
|
||||
SetToneAdjust(voice,tone_points);
|
||||
|
||||
// default values of speed factors
|
||||
voice->speedf1 = 256;
|
||||
@@ -517,7 +519,7 @@ static int Read8Numbers(char *data_in,int *data)
|
||||
// Read 8 integer numbers
|
||||
memset(data, 0, 8+sizeof(int));
|
||||
return(sscanf(data_in,"%d %d %d %d %d %d %d %d",
|
||||
&data[0],&data[1],&data[2],&data[3],&data[4],&data[5],&data[6],&data[7]));
|
||||
&data[0],&data[1],&data[2],&data[3],&data[4],&data[5],&data[6],&data[7]));
|
||||
}
|
||||
|
||||
|
||||
@@ -557,7 +559,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
char buf[sizeof(path_home)+30];
|
||||
char path_voices[sizeof(path_home)+12];
|
||||
|
||||
int dict_min = 0;
|
||||
int dict_min = 0;
|
||||
int stress_amps[8];
|
||||
int stress_lengths[8];
|
||||
int stress_add[8];
|
||||
@@ -572,11 +574,11 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
static char voice_name[40]; // voice name for current_voice_selected
|
||||
static char voice_languages[100]; // list of languages and priorities for current_voice_selected
|
||||
|
||||
// which directory to look for a named voice
|
||||
static const char *voices_asia =
|
||||
"fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue ";
|
||||
static const char *voices_europe =
|
||||
"bg bs ca cs cy da el es et fi fr-be hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";
|
||||
// which directory to look for a named voice
|
||||
static const char *voices_asia =
|
||||
"fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue ";
|
||||
static const char *voices_europe =
|
||||
"bg bs ca cs cy da el es et fi fr-be hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv ";
|
||||
|
||||
|
||||
strncpy0(voicename, vname, sizeof(voicename));
|
||||
@@ -588,38 +590,37 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(voicename[0]==0)
|
||||
strcpy(voicename,"default");
|
||||
if(voicename[0]==0)
|
||||
strcpy(voicename,"default");
|
||||
|
||||
sprintf(path_voices,"%s%cvoices%c",path_home,PATHSEP,PATHSEP);
|
||||
sprintf(buf,"%s%s",path_voices,voicename); // first, look in the main voices directory
|
||||
|
||||
if(GetFileLength(buf) <= 0)
|
||||
{
|
||||
// then look in the appropriate subdirectory
|
||||
if((voicename[0]=='m') && (voicename[1]=='b'))
|
||||
{
|
||||
voice_dir = "mb"; // mbrola voices
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(name2, "%s ", voicename);
|
||||
if(strstr(voices_europe, voicename) != NULL)
|
||||
voice_dir = "europe";
|
||||
else
|
||||
if(strstr(voices_asia, voicename) != NULL)
|
||||
voice_dir = "asia";
|
||||
else
|
||||
voice_dir = "other";
|
||||
// then look in the appropriate subdirectory
|
||||
if((voicename[0]=='m') && (voicename[1]=='b'))
|
||||
{
|
||||
voice_dir = "mb"; // mbrola voices
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(name2, "%s ", voicename);
|
||||
if(strstr(voices_europe, voicename) != NULL)
|
||||
voice_dir = "europe";
|
||||
else if(strstr(voices_asia, voicename) != NULL)
|
||||
voice_dir = "asia";
|
||||
else
|
||||
voice_dir = "other";
|
||||
|
||||
sprintf(buf,"%s%s%c%s", path_voices,voice_dir,PATHSEP,voicename);
|
||||
sprintf(buf,"%s%s%c%s", path_voices,voice_dir,PATHSEP,voicename);
|
||||
|
||||
if(GetFileLength(buf) <= 0)
|
||||
{
|
||||
// if not found, look in "test" sub-directory
|
||||
sprintf(buf,"%stest%c%s",path_voices,PATHSEP,voicename);
|
||||
}
|
||||
}
|
||||
if(GetFileLength(buf) <= 0)
|
||||
{
|
||||
// if not found, look in "test" sub-directory
|
||||
sprintf(buf,"%stest%c%s",path_voices,PATHSEP,voicename);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -685,48 +686,48 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
switch(key)
|
||||
{
|
||||
case V_LANGUAGE:
|
||||
{
|
||||
unsigned int len;
|
||||
int priority;
|
||||
|
||||
if(tone_only)
|
||||
break;
|
||||
|
||||
priority = DEFAULT_LANGUAGE_PRIORITY;
|
||||
language_name[0] = 0;
|
||||
|
||||
sscanf(p,"%s %d",language_name,&priority);
|
||||
if(strcmp(language_name,"variant") == 0)
|
||||
break;
|
||||
|
||||
len = strlen(language_name) + 2;
|
||||
// check for space in languages[]
|
||||
if(len < (sizeof(voice_languages)-langix-1))
|
||||
{
|
||||
unsigned int len;
|
||||
int priority;
|
||||
voice_languages[langix] = priority;
|
||||
|
||||
if(tone_only)
|
||||
break;
|
||||
|
||||
priority = DEFAULT_LANGUAGE_PRIORITY;
|
||||
language_name[0] = 0;
|
||||
|
||||
sscanf(p,"%s %d",language_name,&priority);
|
||||
if(strcmp(language_name,"variant") == 0)
|
||||
break;
|
||||
|
||||
len = strlen(language_name) + 2;
|
||||
// check for space in languages[]
|
||||
if(len < (sizeof(voice_languages)-langix-1))
|
||||
{
|
||||
voice_languages[langix] = priority;
|
||||
|
||||
strcpy(&voice_languages[langix+1],language_name);
|
||||
langix += len;
|
||||
}
|
||||
|
||||
// only act on the first language line
|
||||
if(language_set == 0)
|
||||
{
|
||||
language_type = strtok(language_name,"-");
|
||||
language_set = 1;
|
||||
strcpy(translator_name,language_type);
|
||||
strcpy(new_dictionary,language_type);
|
||||
strcpy(phonemes_name,language_type);
|
||||
SelectPhonemeTableName(phonemes_name);
|
||||
|
||||
if(new_translator != NULL)
|
||||
DeleteTranslator(new_translator);
|
||||
|
||||
new_translator = SelectTranslator(translator_name);
|
||||
langopts = &new_translator->langopts;
|
||||
}
|
||||
strcpy(&voice_languages[langix+1],language_name);
|
||||
langix += len;
|
||||
}
|
||||
break;
|
||||
|
||||
// only act on the first language line
|
||||
if(language_set == 0)
|
||||
{
|
||||
language_type = strtok(language_name,"-");
|
||||
language_set = 1;
|
||||
strcpy(translator_name,language_type);
|
||||
strcpy(new_dictionary,language_type);
|
||||
strcpy(phonemes_name,language_type);
|
||||
SelectPhonemeTableName(phonemes_name);
|
||||
|
||||
if(new_translator != NULL)
|
||||
DeleteTranslator(new_translator);
|
||||
|
||||
new_translator = SelectTranslator(translator_name);
|
||||
langopts = &new_translator->langopts;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case V_NAME:
|
||||
if(tone_only == 0)
|
||||
@@ -737,14 +738,14 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_GENDER:
|
||||
{
|
||||
int age = 0;
|
||||
char vgender[80];
|
||||
sscanf(p,"%s %d",vgender,&age);
|
||||
current_voice_selected.gender = LookupMnem(genders,vgender);
|
||||
current_voice_selected.age = age;
|
||||
}
|
||||
break;
|
||||
{
|
||||
int age = 0;
|
||||
char vgender[80];
|
||||
sscanf(p,"%s %d",vgender,&age);
|
||||
current_voice_selected.gender = LookupMnem(genders,vgender);
|
||||
current_voice_selected.age = age;
|
||||
}
|
||||
break;
|
||||
|
||||
case V_TRANSLATOR:
|
||||
if(tone_only) break;
|
||||
@@ -752,7 +753,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
sscanf(p,"%s",translator_name);
|
||||
|
||||
if(new_translator != NULL)
|
||||
DeleteTranslator(new_translator);
|
||||
DeleteTranslator(new_translator);
|
||||
|
||||
new_translator = SelectTranslator(translator_name);
|
||||
langopts = &new_translator->langopts;
|
||||
@@ -771,16 +772,16 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_PITCH:
|
||||
{
|
||||
double factor;
|
||||
// default is pitch 82 118
|
||||
n = sscanf(p,"%d %d",&pitch1,&pitch2);
|
||||
voice->pitch_base = (pitch1 - 9) << 12;
|
||||
voice->pitch_range = (pitch2 - pitch1) * 108;
|
||||
factor = double(pitch1 - 82)/82;
|
||||
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
|
||||
}
|
||||
break;
|
||||
{
|
||||
double factor;
|
||||
// default is pitch 82 118
|
||||
n = sscanf(p,"%d %d",&pitch1,&pitch2);
|
||||
voice->pitch_base = (pitch1 - 9) << 12;
|
||||
voice->pitch_range = (pitch2 - pitch1) * 108;
|
||||
factor = double(pitch1 - 82)/82;
|
||||
voice->formant_factor = (int)((1+factor/4) * 256); // nominal formant shift for a different voice pitch
|
||||
}
|
||||
break;
|
||||
|
||||
case V_STRESSLENGTH: // stressLength
|
||||
stress_lengths_set = Read8Numbers(p,stress_lengths);
|
||||
@@ -817,7 +818,8 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
case V_DICTRULES: // conditional dictionary rules and list entries
|
||||
case V_NUMBERS:
|
||||
// expect a list of numbers
|
||||
case V_STRESSOPT:
|
||||
// expect a list of numbers
|
||||
while(*p != 0)
|
||||
{
|
||||
while(isspace(*p)) p++;
|
||||
@@ -825,16 +827,22 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
if((n = atoi(p)) > 0)
|
||||
{
|
||||
p++;
|
||||
if((key==V_DICTRULES) && (n < 32))
|
||||
conditional_rules |= (1 << n);
|
||||
if(n < 32)
|
||||
{
|
||||
if(key==V_DICTRULES)
|
||||
conditional_rules |= (1 << n);
|
||||
else if(key==V_NUMBERS)
|
||||
langopts->numbers |= (1 << n);
|
||||
else if(key==V_STRESSOPT)
|
||||
langopts->stress_flags |= (1 << n);
|
||||
}
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 32))
|
||||
langopts->numbers |= (1 << n);
|
||||
else
|
||||
if((key==V_NUMBERS) && (n < 64))
|
||||
langopts->numbers |= (1 << (n-32));
|
||||
else
|
||||
fprintf(stderr,"Bad option number %d\n", n);
|
||||
{
|
||||
if((key==V_NUMBERS) && (n < 64))
|
||||
langopts->numbers |= (1 << (n-32));
|
||||
else
|
||||
fprintf(stderr,"Bad option number %d\n", n);
|
||||
}
|
||||
}
|
||||
while(isalnum(*p)) p++;
|
||||
}
|
||||
@@ -856,9 +864,9 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
case V_STRESSRULE:
|
||||
sscanf(p,"%d %d %d %d",&langopts->stress_rule,
|
||||
&langopts->stress_flags,
|
||||
&langopts->unstressed_wd1,
|
||||
&langopts->unstressed_wd2);
|
||||
&langopts->stress_flags,
|
||||
&langopts->unstressed_wd1,
|
||||
&langopts->unstressed_wd2);
|
||||
break;
|
||||
|
||||
case V_CHARSET:
|
||||
@@ -909,12 +917,12 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_TONE:
|
||||
{
|
||||
int tone_data[12];
|
||||
ReadTonePoints(p,tone_data);
|
||||
SetToneAdjust(voice,tone_data);
|
||||
}
|
||||
break;
|
||||
{
|
||||
int tone_data[12];
|
||||
ReadTonePoints(p,tone_data);
|
||||
SetToneAdjust(voice,tone_data);
|
||||
}
|
||||
break;
|
||||
|
||||
case V_VOICING:
|
||||
if(sscanf(p,"%d",&value)==1)
|
||||
@@ -922,16 +930,16 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_BREATH:
|
||||
voice->breath[0] = Read8Numbers(p,&voice->breath[1]);
|
||||
for(ix=1; ix<8; ix++)
|
||||
{
|
||||
if(ix % 2)
|
||||
voice->breath[ix] = -voice->breath[ix];
|
||||
}
|
||||
voice->breath[0] = Read8Numbers(p,&voice->breath[1]);
|
||||
for(ix=1; ix<8; ix++)
|
||||
{
|
||||
if(ix % 2)
|
||||
voice->breath[ix] = -voice->breath[ix];
|
||||
}
|
||||
break;
|
||||
|
||||
case V_BREATHW:
|
||||
voice->breathw[0] = Read8Numbers(p,&voice->breathw[1]);
|
||||
voice->breathw[0] = Read8Numbers(p,&voice->breathw[1]);
|
||||
break;
|
||||
|
||||
case V_CONSONANTS:
|
||||
@@ -943,20 +951,20 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_MBROLA:
|
||||
{
|
||||
int srate = 16000;
|
||||
char name[40];
|
||||
char phtrans[40];
|
||||
{
|
||||
int srate = 16000;
|
||||
char name[40];
|
||||
char phtrans[40];
|
||||
|
||||
phtrans[0] = 0;
|
||||
sscanf(p,"%s %s %d",name,phtrans,&srate);
|
||||
if(LoadMbrolaTable(name,phtrans,srate) != EE_OK)
|
||||
{
|
||||
fprintf(stderr,"mbrola voice not found\n");
|
||||
}
|
||||
voice->samplerate = srate;
|
||||
phtrans[0] = 0;
|
||||
sscanf(p,"%s %s %d",name,phtrans,&srate);
|
||||
if(LoadMbrolaTable(name,phtrans,srate) != EE_OK)
|
||||
{
|
||||
fprintf(stderr,"mbrola voice not found\n");
|
||||
}
|
||||
break;
|
||||
voice->samplerate = srate;
|
||||
}
|
||||
break;
|
||||
|
||||
case V_KLATT:
|
||||
voice->klattv[0] = 1; // default source: IMPULSIVE
|
||||
@@ -969,9 +977,9 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
SetSpeed(3);
|
||||
break;
|
||||
|
||||
case V_DICTMIN:
|
||||
case V_DICTMIN:
|
||||
sscanf(p,"%d",&dict_min);
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
if((key & 0xff00) == 0x100)
|
||||
@@ -1015,7 +1023,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
}
|
||||
voice->phoneme_tab_ix = ix;
|
||||
new_translator->phoneme_tab_ix = ix;
|
||||
new_translator->dict_min_size = dict_min;
|
||||
new_translator->dict_min_size = dict_min;
|
||||
LoadDictionary(new_translator, new_dictionary, control & 4);
|
||||
if(dictionary_name[0]==0)
|
||||
return(NULL); // no dictionary loaded
|
||||
@@ -1255,15 +1263,14 @@ static int ScoreVoice(espeak_VOICE *voice_spec, const char *spec_language, int s
|
||||
// match on voice name
|
||||
score += 500;
|
||||
}
|
||||
else
|
||||
if(strcmp(voice_spec->name,voice->identifier)==0)
|
||||
else if(strcmp(voice_spec->name,voice->identifier)==0)
|
||||
{
|
||||
score += 400;
|
||||
}
|
||||
}
|
||||
|
||||
if(((voice_spec->gender == 1) || (voice_spec->gender == 2)) &&
|
||||
((voice->gender == 1) || (voice->gender == 2)))
|
||||
((voice->gender == 1) || (voice->gender == 2)))
|
||||
{
|
||||
if(voice_spec->gender == voice->gender)
|
||||
score += 50;
|
||||
@@ -1395,8 +1402,7 @@ espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name2)
|
||||
{
|
||||
match_fname = ix; // matching identifier, use this if no matching name
|
||||
}
|
||||
else
|
||||
if(strcmp(last_part,&id[strlen(id)-last_part_len])==0)
|
||||
else if(strcmp(last_part,&id[strlen(id)-last_part_len])==0)
|
||||
{
|
||||
match_fname2 = ix;
|
||||
}
|
||||
@@ -1493,8 +1499,7 @@ char const *SelectVoice(espeak_VOICE *voice_select, int *found)
|
||||
gender = 0;
|
||||
if((voice_select2.gender == 2) || ((voice_select2.age > 0) && (voice_select2.age < 13)))
|
||||
gender = 2;
|
||||
else
|
||||
if(voice_select2.gender == 1)
|
||||
else if(voice_select2.gender == 1)
|
||||
gender = 1;
|
||||
|
||||
#define AGE_OLD 60
|
||||
@@ -1625,8 +1630,8 @@ static void GetVoices(const char *path)
|
||||
}
|
||||
#else
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
WIN32_FIND_DATAA FindFileData;
|
||||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
WIN32_FIND_DATAA FindFileData;
|
||||
HANDLE hFind = INVALID_HANDLE_VALUE;
|
||||
|
||||
#undef UNICODE // we need FindFirstFileA() which takes an 8-bit c-string
|
||||
sprintf(fname,"%s\\*",path);
|
||||
@@ -1640,30 +1645,29 @@ static void GetVoices(const char *path)
|
||||
|
||||
if(FindFileData.cFileName[0] != '.')
|
||||
{
|
||||
sprintf(fname,"%s%c%s",path,PATHSEP,FindFileData.cFileName);
|
||||
ftype = GetFileLength(fname);
|
||||
sprintf(fname,"%s%c%s",path,PATHSEP,FindFileData.cFileName);
|
||||
ftype = GetFileLength(fname);
|
||||
|
||||
if(ftype == -2)
|
||||
{
|
||||
// a sub-sirectory
|
||||
GetVoices(fname);
|
||||
}
|
||||
else
|
||||
if(ftype > 0)
|
||||
{
|
||||
// a regular line, add it to the voices list
|
||||
if((f_voice = fopen(fname,"r")) == NULL)
|
||||
continue;
|
||||
if(ftype == -2)
|
||||
{
|
||||
// a sub-sirectory
|
||||
GetVoices(fname);
|
||||
}
|
||||
else if(ftype > 0)
|
||||
{
|
||||
// a regular line, add it to the voices list
|
||||
if((f_voice = fopen(fname,"r")) == NULL)
|
||||
continue;
|
||||
|
||||
// pass voice file name within the voices directory
|
||||
voice_data = ReadVoiceFile(f_voice, fname+len_path_voices, FindFileData.cFileName);
|
||||
fclose(f_voice);
|
||||
// pass voice file name within the voices directory
|
||||
voice_data = ReadVoiceFile(f_voice, fname+len_path_voices, FindFileData.cFileName);
|
||||
fclose(f_voice);
|
||||
|
||||
if(voice_data != NULL)
|
||||
{
|
||||
voices_list[n_voices_list++] = voice_data;
|
||||
}
|
||||
}
|
||||
if(voice_data != NULL)
|
||||
{
|
||||
voices_list[n_voices_list++] = voice_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
} while(FindNextFileA(hFind, &FindFileData) != 0);
|
||||
FindClose(hFind);
|
||||
@@ -1680,8 +1684,8 @@ static void GetVoices(const char *path)
|
||||
if(n_voices_list >= (N_VOICES_LIST-2))
|
||||
break; // voices list is full
|
||||
|
||||
if(ent->d_name[0] == '.')
|
||||
continue;
|
||||
if(ent->d_name[0] == '.')
|
||||
continue;
|
||||
|
||||
sprintf(fname,"%s%c%s",path,PATHSEP,ent->d_name);
|
||||
|
||||
@@ -1692,8 +1696,7 @@ static void GetVoices(const char *path)
|
||||
// a sub-sirectory
|
||||
GetVoices(fname);
|
||||
}
|
||||
else
|
||||
if(ftype > 0)
|
||||
else if(ftype > 0)
|
||||
{
|
||||
// a regular line, add it to the voices list
|
||||
if((f_voice = fopen(fname,"r")) == NULL)
|
||||
@@ -1728,7 +1731,7 @@ espeak_ERROR SetVoiceByName(const char *name)
|
||||
|
||||
variant_name = ExtractVoiceVariantName(buf, 0, 1);
|
||||
|
||||
for(ix=0; ;ix++)
|
||||
for(ix=0; ; ix++)
|
||||
{
|
||||
// convert voice name to lower case (ascii)
|
||||
if((buf[ix] = tolower(buf[ix])) == 0)
|
||||
@@ -1833,7 +1836,7 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec)
|
||||
|
||||
// sort the voices list
|
||||
qsort(voices_list,n_voices_list,sizeof(espeak_VOICE *),
|
||||
(int (__cdecl *)(const void *,const void *))VoiceNameSorter);
|
||||
(int (__cdecl *)(const void *,const void *))VoiceNameSorter);
|
||||
|
||||
|
||||
if(voice_spec)
|
||||
|
||||
Reference in New Issue
Block a user