mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.46.44]
Added language: ga (Irish). Languages changes: en-us, eo, hu, pt, ta, vi git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@310 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+27
-14
@@ -68,7 +68,7 @@ r R R3 s S t T tS
|
|||||||
v w x z Z
|
v w x z Z
|
||||||
|
|
||||||
|
|
||||||
Dictionary hu_dict 2013-02-25
|
Dictionary hu_dict 2013-03-08
|
||||||
|
|
||||||
a A a: e E e: i i:
|
a A a: e E e: i i:
|
||||||
o o: u u: Y y y: Y:
|
o o: u u: Y y y: Y:
|
||||||
@@ -104,7 +104,7 @@ p Q r R s s; t T
|
|||||||
ts v x z
|
ts v x z
|
||||||
|
|
||||||
|
|
||||||
Dictionary en_dict 2013-03-06
|
Dictionary en_dict 2013-03-08
|
||||||
|
|
||||||
0 0# 3 3: @ @- @2 @5
|
0 0# 3 3: @ @- @2 @5
|
||||||
@L a a# A: A@ aa aI aI3
|
@L a a# A: A@ aa aI aI3
|
||||||
@@ -121,7 +121,7 @@ t T t2 tS v w x z
|
|||||||
Z z#
|
Z z#
|
||||||
|
|
||||||
|
|
||||||
Dictionary eo_dict 2013-01-24
|
Dictionary eo_dict 2013-03-08
|
||||||
|
|
||||||
@- a aI aU e eI eU i
|
@- a aI aU e eI eU i
|
||||||
o oI u uI
|
o oI u uI
|
||||||
@@ -206,7 +206,7 @@ q r r. s S s. t T
|
|||||||
t. th th. v w x z
|
t. th th. v w x z
|
||||||
|
|
||||||
|
|
||||||
Dictionary ta_dict 2013-03-05
|
Dictionary ta_dict 2013-03-08
|
||||||
|
|
||||||
a a: aI aU e E e: i
|
a a: aI aU e E e: i
|
||||||
I i: o o: u U u2 u:
|
I i: o o: u U u2 u:
|
||||||
@@ -379,7 +379,7 @@ S s; S; t t; tS ts tS;
|
|||||||
ts; v w x z Z Z;
|
ts; v w x z Z Z;
|
||||||
|
|
||||||
|
|
||||||
Dictionary pt_dict 2013-03-07
|
Dictionary pt_dict 2013-03-08
|
||||||
|
|
||||||
& &/ &U~ &~ @ @- a A
|
& &/ &U~ &~ @ @- a A
|
||||||
aI aU e E eI EI eU EU
|
aI aU e E eI EI eU EU
|
||||||
@@ -491,7 +491,7 @@ p Q r R s S t tS
|
|||||||
v w z Z
|
v w z Z
|
||||||
|
|
||||||
|
|
||||||
Dictionary vi_dict 2013-02-16
|
Dictionary vi_dict 2013-03-08
|
||||||
|
|
||||||
@ @: @:I @:U @I @U a a:
|
@ @: @:I @:U @I @U a a:
|
||||||
a:I a:U aI aU e E eU EU
|
a:I a:U aI aU e E eU EU
|
||||||
@@ -603,17 +603,17 @@ N n^ p q R s S S;
|
|||||||
t tS v w x z
|
t tS v w x z
|
||||||
|
|
||||||
|
|
||||||
Dictionary ur_dict 2013-03-03
|
Dictionary ur_dict 2013-03-08
|
||||||
|
|
||||||
@ a a: aI aU e E e:
|
@ a a: aI aU e E e:
|
||||||
i I i: O o: U u: V
|
i I i: O o: U u: V
|
||||||
|
|
||||||
: b bh c ch d D d.
|
: ; b bh c ch d D
|
||||||
dh dh. f g gh h H j
|
d. dh dh. f g gh h H
|
||||||
J Jh k kh l m n N
|
j J Jh k kh l m n
|
||||||
p ph Q q r R r. s
|
N p ph Q q r R r.
|
||||||
S s. t T t. th th. v
|
s S s. t T t. th th.
|
||||||
w x z Z z.
|
v w x z Z z.
|
||||||
|
|
||||||
|
|
||||||
Dictionary bg_dict 2012-07-15
|
Dictionary bg_dict 2012-07-15
|
||||||
@@ -734,7 +734,7 @@ s s. S; t t. th th. tS
|
|||||||
v w z
|
v w z
|
||||||
|
|
||||||
|
|
||||||
Dictionary ka_dict 2013-02-01
|
Dictionary ka_dict 2013-03-08
|
||||||
|
|
||||||
@ @- a e i o u
|
@ @- a e i o u
|
||||||
|
|
||||||
@@ -884,3 +884,16 @@ d. dh dh. g gh h H j
|
|||||||
J Jh k kh l m n N
|
J Jh k kh l m n N
|
||||||
n. n^ p ph r r. s S
|
n. n^ p ph r r. s S
|
||||||
s. t t. th th. v w z
|
s. t t. th th. v w z
|
||||||
|
|
||||||
|
|
||||||
|
Dictionary ga_dict 2013-03-08
|
||||||
|
|
||||||
|
0 0# @ a a# A: aI aI#
|
||||||
|
aU aU# e E E# e: i I
|
||||||
|
i: i@ o O O# o: u U
|
||||||
|
U# u1 u: u@
|
||||||
|
|
||||||
|
: ; b c C d d[ dZ
|
||||||
|
f g h j k l m n
|
||||||
|
p Q Q" r R s S t
|
||||||
|
t[ tS v w x X z Z
|
||||||
|
|||||||
@@ -127,6 +127,7 @@ _, k0m@
|
|||||||
_- h,aIf@n
|
_- h,aIf@n
|
||||||
?3 _- daS
|
?3 _- daS
|
||||||
_. d0t
|
_. d0t
|
||||||
|
?3_. pi@rI@d
|
||||||
_: koUl@n
|
_: koUl@n
|
||||||
_; sEmIk'oUl@n
|
_; sEmIk'oUl@n
|
||||||
_< lEsDan
|
_< lEsDan
|
||||||
|
|||||||
+2
-2
@@ -3679,8 +3679,8 @@
|
|||||||
legged lEgId
|
legged lEgId
|
||||||
// Ab) le @L
|
// Ab) le @L
|
||||||
C) le (ton_ @L
|
C) le (ton_ @L
|
||||||
Ab) ler (_ l@
|
Ab) ler (_ l3
|
||||||
Ab) le (C_ l@
|
Ab) le (B_ l@
|
||||||
Ab) led (_ @Ld
|
Ab) led (_ @Ld
|
||||||
&) lem (ent @Lm
|
&) lem (ent @Lm
|
||||||
&p) lem (ent lIm
|
&p) lem (ent lIm
|
||||||
|
|||||||
+133
-132
@@ -13,214 +13,215 @@
|
|||||||
|
|
||||||
|
|
||||||
.group a
|
.group a
|
||||||
_) a(_ a
|
_) a (_ a
|
||||||
a a
|
a a
|
||||||
aj aI
|
aj aI
|
||||||
aŭ aU
|
aŭ aU
|
||||||
|
|
||||||
|
|
||||||
.group b
|
.group b
|
||||||
_) b(_ bo
|
_) b (_ bo
|
||||||
b b
|
b b
|
||||||
|
|
||||||
.group c
|
.group c
|
||||||
_) c(_ tso
|
_) c (_ tso
|
||||||
_) ch(_ tSo
|
_) ch (_ tSo
|
||||||
c ts
|
c ts
|
||||||
ch (K tS // foreign words
|
ch (K tS // foreign words
|
||||||
K) ch tS // foreign words
|
K) ch tS // foreign words
|
||||||
|
|
||||||
|
|
||||||
.group d
|
.group d
|
||||||
_) d(_ do
|
_) d (_ do
|
||||||
d d
|
d d
|
||||||
|
|
||||||
_) d (-ro dokt'o
|
_) d (-ro dokt'o
|
||||||
_) d (-rino d,okto
|
_) d (-rino d,okto
|
||||||
|
|
||||||
.group e
|
.group e
|
||||||
_) e(_ e
|
_) e (_ e
|
||||||
e e
|
e e
|
||||||
ej eI
|
ej eI
|
||||||
eŭ eU
|
eŭ eU
|
||||||
|
|
||||||
.group f
|
.group f
|
||||||
_) f(_ fo
|
_) f (_ fo
|
||||||
f f
|
f f
|
||||||
|
|
||||||
_) f (-ino fR%aUl
|
_) f (-ino fR%aUl
|
||||||
_) f (-lo fRaU
|
_) f (-lo fRaU
|
||||||
|
|
||||||
.group g
|
.group g
|
||||||
_) g(_ go
|
_) g (_ go
|
||||||
g g
|
g g
|
||||||
gh (K dZ
|
gh (K dZ
|
||||||
|
|
||||||
.group h
|
.group h
|
||||||
_) h(_ ho
|
_) h (_ ho
|
||||||
h h
|
h h
|
||||||
hh x
|
hh x
|
||||||
|
|
||||||
|
|
||||||
.group i
|
.group i
|
||||||
_) i(_ i
|
_) i (_ i
|
||||||
i i
|
i i
|
||||||
|
|
||||||
|
|
||||||
.group j
|
.group j
|
||||||
_) j(_ jo
|
_) j (_ jo
|
||||||
j j
|
j j
|
||||||
jh (C Z
|
jh (C Z
|
||||||
|
|
||||||
.group k
|
.group k
|
||||||
_) k(_ ko
|
_) k (_ ko
|
||||||
k k
|
k k
|
||||||
|
|
||||||
_) k (-do kamaR'a
|
_) k (-do kamaR'a
|
||||||
_) k (-dino k'amaRa
|
_) k (-dino k'amaRa
|
||||||
_) k (-ino k'amaRad
|
_) k (-ino k'amaRad
|
||||||
|
|
||||||
|
|
||||||
.group l
|
.group l
|
||||||
_) l(_ lo
|
_) l (_ lo
|
||||||
l l
|
l l
|
||||||
ll (_ l
|
ll (_ l
|
||||||
|
|
||||||
|
|
||||||
.group m
|
.group m
|
||||||
_) m(_ mo
|
_) m (_ mo
|
||||||
m m
|
m m
|
||||||
|
|
||||||
.group n
|
.group n
|
||||||
_) n(_ no
|
_) n (_ no
|
||||||
n n
|
n n
|
||||||
n (_S1 n
|
n (_S1 n
|
||||||
|
|
||||||
_) n (-ro num'e
|
_) n (-ro num'e
|
||||||
|
|
||||||
|
|
||||||
.group o
|
.group o
|
||||||
_) o(_ o
|
_) o (_ o
|
||||||
o o
|
o o
|
||||||
oj oI
|
oj oI
|
||||||
-) o (_ %o
|
-) o (_ %o
|
||||||
-) oj (_ %oI
|
-) oj (_ %oI
|
||||||
-) on (_ %on
|
-) on (_ %on
|
||||||
-X) o (_ %o // d-ro etc
|
-X) o (_ %o // d-ro etc
|
||||||
-X) oj (_ %oI
|
-X) oj (_ %oI
|
||||||
-X) on (_ %on
|
-X) on (_ %on
|
||||||
|
|
||||||
.group p
|
.group p
|
||||||
_) p(_ po
|
_) p (_ po
|
||||||
p p
|
p p
|
||||||
ph (K f // foreign words
|
ph (K f // foreign words
|
||||||
K) ph f // foreign words
|
K) ph f // foreign words
|
||||||
|
|
||||||
.group q
|
.group q
|
||||||
_) q(_ kwo
|
_) q (_ kwo
|
||||||
q k
|
q k
|
||||||
qu kv
|
qu kv
|
||||||
|
|
||||||
.group r
|
.group r
|
||||||
_) r(_ Ro
|
_) r (_ Ro
|
||||||
r R
|
r R
|
||||||
A) r (A R
|
A) r (A R
|
||||||
K) r (A @-*
|
K) r (A @-*
|
||||||
rr RR
|
rr RR
|
||||||
|
|
||||||
.group s
|
.group s
|
||||||
_) s(_ so
|
_) s (_ so
|
||||||
_) sh(_ So
|
_) sh (_ So
|
||||||
s s
|
s s
|
||||||
sh (K S // foreign words
|
sh (K S // foreign words
|
||||||
K) sh S // foreign words
|
K) sh S // foreign words
|
||||||
|
|
||||||
_) s (-ino s,injoR
|
_) s (-ino s,injoR
|
||||||
_) s (-ro sinj'o
|
_) s (-ro sinj'o
|
||||||
|
|
||||||
_) s (-ano s'am,ide
|
_) s (-ano s'am,ide
|
||||||
_) s (-anino s'am,ide
|
_) s (-anino s'am,ide
|
||||||
|
|
||||||
_) s (-ta_ s'ank
|
_) s (-ta_ s'ank
|
||||||
|
|
||||||
|
|
||||||
.group t
|
.group t
|
||||||
_) t(_ to
|
_) t (_ to
|
||||||
t t
|
t t
|
||||||
th (K T // foreign words
|
th (K T // foreign words
|
||||||
K) th T // foreign words
|
K) th T // foreign words
|
||||||
|
|
||||||
-) ta (_ t%a // s-ta = sankta
|
-) ta (_ t%a // s-ta = sankta
|
||||||
|
|
||||||
.group u
|
.group u
|
||||||
_) u(_ u
|
_) u (_ u
|
||||||
u u
|
u u
|
||||||
uj uI
|
uj uI
|
||||||
|
|
||||||
|
|
||||||
.group v
|
.group v
|
||||||
_) v(_ vo
|
_) v (_ vo
|
||||||
v v
|
v v
|
||||||
|
|
||||||
.group w
|
.group w
|
||||||
_) w(_ du'oblav,o
|
_) w (_ du'oblav,o
|
||||||
w w
|
w w
|
||||||
K) wh w // foreign words
|
K) wh w // foreign words
|
||||||
|
|
||||||
.group x
|
.group x
|
||||||
_) x(_ ikso
|
_) x (_ ikso
|
||||||
x ks
|
x ks
|
||||||
_) x z // foreign words
|
_) x z // foreign words
|
||||||
|
|
||||||
.group y
|
.group y
|
||||||
_) y(_ ipsilono
|
_) y (_ ipsilono
|
||||||
y j
|
y j
|
||||||
K) y (K i
|
K) y (K i
|
||||||
|
|
||||||
|
|
||||||
.group z
|
.group z
|
||||||
_) z(_ zo
|
_) z (_ zo
|
||||||
z z
|
z z
|
||||||
|
|
||||||
|
|
||||||
.group
|
.group
|
||||||
_) ĉ (_ tSo
|
_) ĉ (_ tSo
|
||||||
ĉ tS
|
ĉ tS
|
||||||
|
|
||||||
_) ĝ (_ dZo
|
_) ĝ (_ dZo
|
||||||
ĝ dZ
|
ĝ dZ
|
||||||
|
|
||||||
_) ĥ (_ xo
|
_) ĥ (_ xo
|
||||||
ĥ x
|
ĥ x
|
||||||
|
|
||||||
_) ĵ (_ Zo
|
_) ĵ (_ Zo
|
||||||
ĵ Z
|
ĵ Z
|
||||||
|
|
||||||
_) ŝ (_ So
|
_) ŝ (_ So
|
||||||
ŝ S
|
ŝ S
|
||||||
|
|
||||||
_) ŭ (_ wo
|
_) ŭ (_ wo
|
||||||
ŭ w
|
ŭ w
|
||||||
|
|
||||||
|
C) ' (_ = // word end in apostrophe, stress the last vowel
|
||||||
|
|
||||||
|
'
|
||||||
|
+ plus_
|
||||||
|
_) ++ (_ plusplus
|
||||||
|
|
||||||
|
. punkto
|
||||||
|
. (. _:
|
||||||
|
\.) .
|
||||||
|
|
||||||
|
|
||||||
'
|
£ pundo
|
||||||
+ plus_
|
£ (_D _pundoI_:
|
||||||
_) ++ (_ plusplus
|
__) - (_D minus_
|
||||||
|
D_) - (_D st@-*ek'eto_
|
||||||
. punkto
|
A_) - (_D _
|
||||||
. (. _:
|
C_) - (_D _
|
||||||
\.) .
|
--) -
|
||||||
|
- minus_
|
||||||
|
- (_a
|
||||||
£ pundo
|
$ dolaRo
|
||||||
£ (_D _pundoI_:
|
$ (_D _dolaRoI_:
|
||||||
__) - (_D minus_
|
|
||||||
D_) - (_D st@-*ek'eto_
|
|
||||||
A_) - (_D _
|
|
||||||
C_) - (_D _
|
|
||||||
--) -
|
|
||||||
- minus_
|
|
||||||
- (_a
|
|
||||||
$ dolaRo
|
|
||||||
$ (_D _dolaRoI_:
|
|
||||||
|
|
||||||
|
|||||||
Executable
+245
@@ -0,0 +1,245 @@
|
|||||||
|
// Irish Gaeilge dictionary
|
||||||
|
// written by Ronan McGuirk
|
||||||
|
// January 2013
|
||||||
|
// version 2.5
|
||||||
|
// This file is UTF8 encoded
|
||||||
|
|
||||||
|
// letters
|
||||||
|
// letter names, as they are spoken as a single character in text
|
||||||
|
// precede by _ to distinguish from pronunciation as a language word
|
||||||
|
|
||||||
|
_a eI
|
||||||
|
b bi:
|
||||||
|
c si:
|
||||||
|
d di:
|
||||||
|
e i:
|
||||||
|
f Ef
|
||||||
|
g dZi:
|
||||||
|
h eItS
|
||||||
|
_i aI
|
||||||
|
j dZeI
|
||||||
|
k keI
|
||||||
|
l El
|
||||||
|
m Em
|
||||||
|
n En
|
||||||
|
_o oU
|
||||||
|
p pi:
|
||||||
|
q kju:
|
||||||
|
r ar
|
||||||
|
s Es
|
||||||
|
t ti:
|
||||||
|
u ju:
|
||||||
|
v vi:
|
||||||
|
w d'O#b@lju:
|
||||||
|
x Eks
|
||||||
|
y waI
|
||||||
|
z zEd
|
||||||
|
_á eI||f0d[@
|
||||||
|
_é i:||f0d[@
|
||||||
|
_ó o:||f0d[@
|
||||||
|
_ú ju:||f0d[@
|
||||||
|
|
||||||
|
_#32 spA:s
|
||||||
|
|
||||||
|
|
||||||
|
// accent names
|
||||||
|
|
||||||
|
// names of symbols
|
||||||
|
ª_. pO#nk
|
||||||
|
_, k0m@
|
||||||
|
_; semI
|
||||||
|
_: ko:l0n
|
||||||
|
_! Skre:@x
|
||||||
|
_? kESt
|
||||||
|
_' u:sx0m@
|
||||||
|
. pO#nk
|
||||||
|
% f@i:nge:@d[
|
||||||
|
|
||||||
|
|
||||||
|
// numbers
|
||||||
|
_0 @nA:idZ
|
||||||
|
_1 @h'e:n
|
||||||
|
_2 @d['o:
|
||||||
|
_3 @tSR'i:
|
||||||
|
_4 @k'ah@r
|
||||||
|
_5 @ku:Ig
|
||||||
|
_6 @S'e:
|
||||||
|
_7 @S0xt[
|
||||||
|
_8 @h'0xt[
|
||||||
|
_9 @n@@'i:
|
||||||
|
_1X @dZ'E
|
||||||
|
_11 e:@nde:@g
|
||||||
|
_12 d[o:je:@g
|
||||||
|
_13 tr'i:de:@g
|
||||||
|
_14 kah@rde:@g
|
||||||
|
_15 ku:igde:@g
|
||||||
|
_16 Se:de:@g
|
||||||
|
_17 S0xtde:@g
|
||||||
|
_18 O#xtde:@g
|
||||||
|
_19 ni:de:@g
|
||||||
|
_20 fICe
|
||||||
|
_2X fiCE
|
||||||
|
_3X trO#x@
|
||||||
|
_31 trO#x@he:@n
|
||||||
|
_40 d[0C@d
|
||||||
|
_4X d[0C@d@
|
||||||
|
_41 d[0C@dahe:@n
|
||||||
|
_5X k@e:@g@
|
||||||
|
_51 k@e:@g@he:@n
|
||||||
|
_6X Sask@
|
||||||
|
_61 Sask@he:@n
|
||||||
|
_7X S0xto:
|
||||||
|
_71 S0xt[o:he:@n
|
||||||
|
_8X O#Xto:
|
||||||
|
_81 O#xt[o:he:@n
|
||||||
|
_9X no:x@
|
||||||
|
_91 no:x@he:@n
|
||||||
|
_0C ke:@d[
|
||||||
|
_1C0 ke:@d[ // exactly one hundred
|
||||||
|
_1C ke:@d[
|
||||||
|
_101 ke:@d[@he:@n
|
||||||
|
_2C ga:Ce:@d[
|
||||||
|
_3C tri:Ce:@d[
|
||||||
|
_4C kEr@ke:@d[
|
||||||
|
_5C ku:igce:@d[
|
||||||
|
_6C Se:ke:@d[
|
||||||
|
_7C S0xtge:@d[
|
||||||
|
_8C O#xtg'e:@d[
|
||||||
|
_9C ni:ge:@d[
|
||||||
|
_0M1 mi:lE
|
||||||
|
_1M1 m'i:lE
|
||||||
|
_2M1 gA:vi:lE
|
||||||
|
_2001 gA:vi:lEs@he:@n
|
||||||
|
_2002 gA:vi:lEs@d['o:
|
||||||
|
_2003 gA:vi:lEs@tr'i:
|
||||||
|
_2004 gA:vi:lEs@kah@r
|
||||||
|
_2005 gA:vi:lEs@ku:ig
|
||||||
|
_0M2 mIlu:n
|
||||||
|
_1M2 'milu:n
|
||||||
|
_2M2 d[A:vIlu:n
|
||||||
|
_3M2 tri:vilu:n
|
||||||
|
_4M2 kEr@milu:n
|
||||||
|
_0M4 _bilu:n
|
||||||
|
_1M4 'bilu:n
|
||||||
|
_2M4 gA:vilu:n
|
||||||
|
_3M4 tri:vilu:n
|
||||||
|
_4M4 kEr@vilu:n
|
||||||
|
|
||||||
|
_0and Is
|
||||||
|
_dpt pO#nk
|
||||||
|
//_roman Rom'ano
|
||||||
|
|
||||||
|
//delete
|
||||||
|
|
||||||
|
|
||||||
|
// words
|
||||||
|
a @
|
||||||
|
abhaile @w'0l;E
|
||||||
|
ach 0x $u
|
||||||
|
ag Eg $verbf $u
|
||||||
|
anall @n'aUl
|
||||||
|
aige @g'E
|
||||||
|
air Er
|
||||||
|
acu 0k'U
|
||||||
|
ar Er $u
|
||||||
|
arsa @rs@
|
||||||
|
agaibh 0g@Iv
|
||||||
|
agus 0g@s
|
||||||
|
amach @m'0x
|
||||||
|
amárach @m'A:r@x
|
||||||
|
amuigh @mu1'I
|
||||||
|
amháin @w'A:in
|
||||||
|
am aUm
|
||||||
|
an @n
|
||||||
|
anois @nIS
|
||||||
|
anonn @naUn
|
||||||
|
ann aUn
|
||||||
|
anseo @nS'O
|
||||||
|
aodh e:
|
||||||
|
aodha e:
|
||||||
|
aon e:@n
|
||||||
|
(ar ais) Er'aS
|
||||||
|
arís @r'i:S
|
||||||
|
as 0s
|
||||||
|
atá @t['A: $u
|
||||||
|
baill bu1'i:l
|
||||||
|
bhaill vu1'i:l
|
||||||
|
beidh bEg
|
||||||
|
bhfuil w'Il
|
||||||
|
bhuel w'El
|
||||||
|
ceithre kEr@
|
||||||
|
cathair k'0h@r
|
||||||
|
chathair x'0h@r
|
||||||
|
clainne kl'InE
|
||||||
|
chlainne xl'InE
|
||||||
|
chun xUn $u
|
||||||
|
crainn kri:n
|
||||||
|
de dE $u+
|
||||||
|
des dEs $u
|
||||||
|
|
||||||
|
dhaoibh ji:v
|
||||||
|
di dI $u+
|
||||||
|
do dO# $u
|
||||||
|
domhnach d[aUn@x
|
||||||
|
domhnaigh d[aUnig
|
||||||
|
eile 'El@
|
||||||
|
euro ju:ro:
|
||||||
|
faic f@ak
|
||||||
|
faide f@Id[E
|
||||||
|
faigh faIg
|
||||||
|
feadh fag
|
||||||
|
fear f'ar
|
||||||
|
gcathair g0h@r
|
||||||
|
gan g0n $u
|
||||||
|
gheall jaUl
|
||||||
|
(go raibh maith) g@r@m0h
|
||||||
|
(go raibh míle) g@r@mi:l@
|
||||||
|
gur gUr $u
|
||||||
|
i I $u
|
||||||
|
in In $u
|
||||||
|
ina In@ $u
|
||||||
|
ins Ins $u
|
||||||
|
inniu Inj'u:v
|
||||||
|
irish _^_EN
|
||||||
|
is 'Is $u
|
||||||
|
(is ea) IS'a
|
||||||
|
isteach IstS'0x
|
||||||
|
iúl ju:l
|
||||||
|
laoghaire li:@r@
|
||||||
|
le lE $u
|
||||||
|
leí le:i:
|
||||||
|
(maigh eo) mu1'i:||'o:
|
||||||
|
(muigheo) mu1'i:||'o:
|
||||||
|
mhuigh vu1'i:
|
||||||
|
(mhaigh eo) vu1'i:||'o:
|
||||||
|
maith m'0
|
||||||
|
mhaith w'0
|
||||||
|
mbeadh m;O#X
|
||||||
|
mo mO# $u
|
||||||
|
mura mUr@ $u
|
||||||
|
ná nA: $u
|
||||||
|
nigh ni:
|
||||||
|
níorbh ni:rv
|
||||||
|
nó nu: $u
|
||||||
|
nollag n@l@g
|
||||||
|
nolaig nO#lig
|
||||||
|
Oirghiall 'Err@X@l
|
||||||
|
orthu O#rhu
|
||||||
|
os o:s
|
||||||
|
rabh raU
|
||||||
|
raibh rEv
|
||||||
|
réamhrá r'e:@vr,a:
|
||||||
|
réidh re:
|
||||||
|
samhain saUIn
|
||||||
|
san s@n
|
||||||
|
seo S@_
|
||||||
|
tabhair t'u:@r
|
||||||
|
(tiocfaidh ár lá) tSO#ki:|'A:r|l'A:
|
||||||
|
|
||||||
|
// temporary fix for NO#DA punctuation
|
||||||
|
dot pO#nk
|
||||||
|
comma k0m@
|
||||||
|
dash flESki:n
|
||||||
|
tick u:@sx0m@
|
||||||
|
space spA:s
|
||||||
|
|
||||||
Executable
+430
@@ -0,0 +1,430 @@
|
|||||||
|
// translation rules for Irish Gaeilge
|
||||||
|
// This file is UTF-8 encoded
|
||||||
|
// written by Ronan McGuirk January 2013
|
||||||
|
// Version 2.5B
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.L01 e i é í // slender vowels
|
||||||
|
.L02 c ch d g gh n s // following ea gets ; sounds
|
||||||
|
.L03 b bh mb c ch f m mh dh // used for words likemuir or cuid
|
||||||
|
.L04 b bh mb // for words like beag
|
||||||
|
.L05 nn nna nnas dh r s ntas nach nas nais dar mar rtha nta mh chas chais cht chta nnach ntach llach d l ll // word endings where @ is to repleace ea or a
|
||||||
|
.L06 aidh idh aí á eá eadh adh ad imid aimid imis aimis ainn inn idís aidís éin // word endings where f changes to h
|
||||||
|
.L07 b c g ch bh gh mb
|
||||||
|
.L08 lc ll nt bhse // for words like cailc
|
||||||
|
.L09 cl cr chr f
|
||||||
|
.L10 c ch p ph gl ghl
|
||||||
|
.L11 c dh gh the s nn nne nt tiúil tiúla tíochta theoir theora ste steach ll llí llín g gí mse // word endings preceded by ai
|
||||||
|
.L12 á é ó eo ua // when followed by i
|
||||||
|
.L13 oc omb
|
||||||
|
.L14 río dún gnío // followed with mh
|
||||||
|
.L15 c ch f m d dh g gc gh mh // aoi following
|
||||||
|
.L16 b c bh ch gr ghr // for inn word ending
|
||||||
|
.L17 l le li niste nn
|
||||||
|
.L18 n nt nte neann neadh ntear nim nfear nfinn
|
||||||
|
.L19 na nea ra rea la llea arga // word endings with silent dh
|
||||||
|
.L20 eo eoir eá eabh io iu iú // slender m
|
||||||
|
.L21 ll nn ndán nntán
|
||||||
|
.L22 eadh eag eaga eagán eagáinín eo io iu iú eall eabh ealtaine
|
||||||
|
.L23 ea eo i
|
||||||
|
.L24 b mb bh g gh p ph bp m mh
|
||||||
|
.group a
|
||||||
|
a 0#
|
||||||
|
a (_ @
|
||||||
|
adh (a aI // words like radharc
|
||||||
|
adh (C aI
|
||||||
|
abht aU#t[
|
||||||
|
amhr aUr // words like amhras
|
||||||
|
K) amhl aUl
|
||||||
|
abhra aUr@ // words like slabhra
|
||||||
|
aghaidh aIg
|
||||||
|
t) abhair u:@r
|
||||||
|
th) abhair u:@r
|
||||||
|
t) abhar u:@r
|
||||||
|
th) abhar u:@r
|
||||||
|
_) an (sL01 @n
|
||||||
|
_) an (- 0n // an prefix
|
||||||
|
é) a @ // words like féach
|
||||||
|
X) a (nn_ aU#
|
||||||
|
X) a (ll_ aU#
|
||||||
|
abha aU@
|
||||||
|
am (pla aUm
|
||||||
|
ama(_ aU#m@
|
||||||
|
athair 'ah@r
|
||||||
|
_) amh aU
|
||||||
|
agha aI@
|
||||||
|
agh (d aI
|
||||||
|
agh (s aI
|
||||||
|
_) ath 0h
|
||||||
|
|
||||||
|
ai (m_ @
|
||||||
|
aí i:
|
||||||
|
aoi @i:
|
||||||
|
_) aoi i:
|
||||||
|
ath) aoi (r 'i:@
|
||||||
|
r) aoi (nín 'e:@
|
||||||
|
aoicht (_ 'i:@xt[
|
||||||
|
C) ao (C @e:@
|
||||||
|
_L24) ao (C w'e:@
|
||||||
|
C) ao (th_ @e:
|
||||||
|
b) ao (++ we:@
|
||||||
|
b) ao (th_++ we:
|
||||||
|
ao @e
|
||||||
|
_) ao e:
|
||||||
|
ae e:
|
||||||
|
amhna (_ aUn@
|
||||||
|
|
||||||
|
.group á
|
||||||
|
á A:
|
||||||
|
@) á ,A:
|
||||||
|
ádh A:
|
||||||
|
áthair (_ A:h@r
|
||||||
|
áthar A:h@r
|
||||||
|
ái (p A:
|
||||||
|
áinig A:nIg
|
||||||
|
ái 'A:i
|
||||||
|
.group ai
|
||||||
|
ai a#
|
||||||
|
L04) ai (L17 0#
|
||||||
|
aile (_ '0l;E // words like baile
|
||||||
|
Xc) ai (l '0#
|
||||||
|
ch) ai (l '0#
|
||||||
|
m) ai (n 0#
|
||||||
|
c) ai (th 0#
|
||||||
|
ch) ai (th 0#
|
||||||
|
ai (d 0#
|
||||||
|
p) ai (l 0#
|
||||||
|
@) ai (L11_ I
|
||||||
|
ai (L08+ aI#
|
||||||
|
c) ai (l_ I
|
||||||
|
ai (msi 'aI // words like aimsir
|
||||||
|
_L04) ai (L18_++ u1'I//words like bain
|
||||||
|
c) ai (t_ u1'I
|
||||||
|
s) ai (bh E
|
||||||
|
aighre aIr@
|
||||||
|
X) aigh 'aI
|
||||||
|
aigh aI# L04) aill (_ wi:l
|
||||||
|
aing (_ Ing
|
||||||
|
.group b
|
||||||
|
b b // broad
|
||||||
|
L01) b b; // slender
|
||||||
|
b (L22 bj //slender
|
||||||
|
bh v // broad
|
||||||
|
bh (_ vv
|
||||||
|
bh (L22 vj // slender
|
||||||
|
L01) bh v
|
||||||
|
_) bhf v /urú broad
|
||||||
|
_) bhf (L22 v; // urú slender
|
||||||
|
_) bp b //urú broad
|
||||||
|
_) bp (L01 b; // urú slender
|
||||||
|
a) bh (a U// for example cabhair
|
||||||
|
ear) bha u: // words like Cearbhall
|
||||||
|
bhfaigh v'aI
|
||||||
|
|
||||||
|
.group c
|
||||||
|
c k
|
||||||
|
c (L01 k; // slender
|
||||||
|
ch x
|
||||||
|
ch (L01 C;
|
||||||
|
ch (é+ C;
|
||||||
|
ch (ei+ x;
|
||||||
|
_) cabhr k'aUr
|
||||||
|
_) chabhr x'aUr
|
||||||
|
|
||||||
|
.group d
|
||||||
|
d d[ // broad
|
||||||
|
L01) d dZ // slender
|
||||||
|
d (L22 dZ //slender
|
||||||
|
d (L01 d; //slender
|
||||||
|
i) d (i dZ
|
||||||
|
dh Q // broad
|
||||||
|
dh (ui Q //broad
|
||||||
|
dh (ao Q //broad
|
||||||
|
dh (L01 j // slender
|
||||||
|
_) dt d[ //broad urú
|
||||||
|
_) dt (L01 dZ // slender urú
|
||||||
|
_) d' (@P2 d
|
||||||
|
i) dh (_ g
|
||||||
|
a) dh (_ X
|
||||||
|
o) dh (_ X
|
||||||
|
L19) dh (_ // silent dh at wrd end
|
||||||
|
Va) dh (_+
|
||||||
|
deartháir dr@h'A:r
|
||||||
|
dheartháir gr@h'A:r
|
||||||
|
deirfiúr d;r@f'u:r
|
||||||
|
dheirfiúr g;r@f'u:r
|
||||||
|
|
||||||
|
.group e
|
||||||
|
e E#
|
||||||
|
eá A:
|
||||||
|
ei E
|
||||||
|
eidh (C aI
|
||||||
|
r) ei (m aI
|
||||||
|
eighea aI
|
||||||
|
eighea aI
|
||||||
|
eigh aI
|
||||||
|
|
||||||
|
|
||||||
|
eo o:
|
||||||
|
eogh o:
|
||||||
|
d) eo (ch O#
|
||||||
|
_) eo (ch O#
|
||||||
|
s) eo (_ @
|
||||||
|
|
||||||
|
.group é
|
||||||
|
é 'e:
|
||||||
|
éi 'e:
|
||||||
|
_) éi (rig aI // words like éirigh
|
||||||
|
_) éi (rí aI // words like éirí
|
||||||
|
_) éireoidh aIro:Ig
|
||||||
|
éacs e:@ks
|
||||||
|
.group ea
|
||||||
|
ea a#
|
||||||
|
X) ea (L21_ aU
|
||||||
|
ea (ltaine aU
|
||||||
|
g) ea (ll aU
|
||||||
|
X) ea (ch 0
|
||||||
|
_L04) ea (g @
|
||||||
|
_L04) ea (dh_ @
|
||||||
|
_L04) eagn @gn
|
||||||
|
L04) eaga (_ @g@
|
||||||
|
eaghl aIl
|
||||||
|
eabhra aUr@ // words like Feabhra
|
||||||
|
eanbhean 'an@v,an
|
||||||
|
eadhb aIb
|
||||||
|
|
||||||
|
.group f
|
||||||
|
f f // broad
|
||||||
|
f (L22 f; // slender
|
||||||
|
fh //silent
|
||||||
|
fh (éin_ h
|
||||||
|
fh (L22 ; //slender
|
||||||
|
@) f (L06_ h
|
||||||
|
|
||||||
|
.group g
|
||||||
|
g g // broad
|
||||||
|
g (L01 g; // slender
|
||||||
|
_) gh Q"
|
||||||
|
_) gh (L01 Q"j
|
||||||
|
_) gc g // urú broad
|
||||||
|
_) gc (L01 g; // urú slender
|
||||||
|
i) gh (_ g
|
||||||
|
@C) gh (@ X
|
||||||
|
_) gn g@n
|
||||||
|
gh(n X@
|
||||||
|
gheobh j'o:
|
||||||
|
gabh gaU
|
||||||
|
.group h
|
||||||
|
h h // silent
|
||||||
|
|
||||||
|
.group i
|
||||||
|
i I
|
||||||
|
_) i I
|
||||||
|
ia i@
|
||||||
|
ia (tha i:
|
||||||
|
io O#
|
||||||
|
_) io (nadh u:// words like ionadh
|
||||||
|
_pr) io (n u:
|
||||||
|
L16) inn (_ i:n
|
||||||
|
iai i:i
|
||||||
|
impeall i:mp@l
|
||||||
|
io (s I //words like fios and liosta
|
||||||
|
L12) i i // non syllabic short i after long vowel
|
||||||
|
iú u:
|
||||||
|
m) i (d_ i: // verb ending
|
||||||
|
|
||||||
|
.group k
|
||||||
|
k k
|
||||||
|
|
||||||
|
.group l
|
||||||
|
l l // broad
|
||||||
|
L01) l ( l; // slender
|
||||||
|
l (L23 l; //slender
|
||||||
|
ll l
|
||||||
|
ll (L23 l;
|
||||||
|
l (g l@
|
||||||
|
l (b l@
|
||||||
|
.group m
|
||||||
|
m m // broad
|
||||||
|
m (L20 m; //slender
|
||||||
|
mh v
|
||||||
|
mh (L20 v; // slender
|
||||||
|
_) mb m //urú
|
||||||
|
_) mb (L22 m; // urú slender
|
||||||
|
_) m (n m@// words like mná
|
||||||
|
L14) mh v
|
||||||
|
_) mh (n v@
|
||||||
|
léir) mheas vas
|
||||||
|
r) m @m // words like gorm
|
||||||
|
|
||||||
|
.group n
|
||||||
|
n n // broad
|
||||||
|
n (L01 n; // slender
|
||||||
|
_) nd n // urú
|
||||||
|
_) nd (L01 n; // urú slender
|
||||||
|
nn n
|
||||||
|
nn (L01 n; // slender
|
||||||
|
n (b n@
|
||||||
|
n (m n@
|
||||||
|
n (bh n@ n(ch n@
|
||||||
|
c) n @n
|
||||||
|
ch) n @n
|
||||||
|
.group o
|
||||||
|
o O#
|
||||||
|
_) o 'O
|
||||||
|
C) o (cht_ 'O
|
||||||
|
orn (_ 'Or@n
|
||||||
|
|
||||||
|
_C) omh o:
|
||||||
|
_CC) omh o:
|
||||||
|
omha o:@
|
||||||
|
omhai o:@
|
||||||
|
o (ll_ aU
|
||||||
|
C) o (nn_ aU
|
||||||
|
r) o (nn_ O#
|
||||||
|
C) ogh aU
|
||||||
|
omhan(_ aU@n
|
||||||
|
omhain (_ aUIn
|
||||||
|
odha aU
|
||||||
|
opaic @pIk
|
||||||
|
C) odh (_ o:
|
||||||
|
odl (a O#l
|
||||||
|
oí i:
|
||||||
|
|
||||||
|
.group ó
|
||||||
|
ó 'o:
|
||||||
|
ómhai o:@
|
||||||
|
|
||||||
|
.group oi
|
||||||
|
oi O
|
||||||
|
_L15) oi (+ @'I
|
||||||
|
_) oi (b I
|
||||||
|
oi (de I
|
||||||
|
h) oi (b I
|
||||||
|
_) oi (r I
|
||||||
|
r) oi I
|
||||||
|
l) oi (n I
|
||||||
|
f) oi (lC aI
|
||||||
|
l) oi (g I
|
||||||
|
fh) oi (lC aI
|
||||||
|
s) oi (ls aI#
|
||||||
|
c) oi (c aI#
|
||||||
|
oi (nnío @
|
||||||
|
oi (mis @
|
||||||
|
ois (++ O#S
|
||||||
|
oill w'i:l
|
||||||
|
_) oi (leá 'I
|
||||||
|
oidh aI
|
||||||
|
oir (_ 'ERR
|
||||||
|
oigh (ea aI
|
||||||
|
.group p
|
||||||
|
p p // broad
|
||||||
|
ph f //broad
|
||||||
|
p (L22 p; //slender
|
||||||
|
ph (L20 f; // slender
|
||||||
|
|
||||||
|
.group q
|
||||||
|
q k
|
||||||
|
qu k
|
||||||
|
|
||||||
|
.group r
|
||||||
|
r r // broad
|
||||||
|
L01) r R // slender
|
||||||
|
_) r (L01 R
|
||||||
|
L12i) r (e_ Z
|
||||||
|
L12i) r (t_ Z
|
||||||
|
rr R
|
||||||
|
rg r@g
|
||||||
|
L01) rg R@g // slender
|
||||||
|
r (bh r@
|
||||||
|
ríomh ri:@v
|
||||||
|
s) r (A R
|
||||||
|
_) ramh raU
|
||||||
|
|
||||||
|
.group s
|
||||||
|
s s // broad
|
||||||
|
L01) s S // slender
|
||||||
|
s (L01 S // slender
|
||||||
|
s (cL01 S
|
||||||
|
s (CCL01 S // slender
|
||||||
|
s (pCé s // broad
|
||||||
|
sh h
|
||||||
|
sh (CL01 h
|
||||||
|
sh (L01 h;
|
||||||
|
s (lL01 S
|
||||||
|
|
||||||
|
.group t
|
||||||
|
t t[ // broad
|
||||||
|
L01) t c // slender
|
||||||
|
t (í++n tS //slender
|
||||||
|
t (eo++ tS
|
||||||
|
t (L01 c // slender
|
||||||
|
L01C) t tS //slender after consonant
|
||||||
|
t (CL01 tS // slender with following consonant before vowels
|
||||||
|
th h
|
||||||
|
th (L01 h;
|
||||||
|
L01C) th h
|
||||||
|
_) ts t[ //eclipsis broad
|
||||||
|
_) ts (L01 t; // eclipsis slender
|
||||||
|
L01) th h
|
||||||
|
taine (_ t[In%E
|
||||||
|
ao) th (_
|
||||||
|
thne (_ h@nE
|
||||||
|
A) th (_ // silent th at word end
|
||||||
|
|
||||||
|
.group u
|
||||||
|
u U#
|
||||||
|
ua u@
|
||||||
|
uai u@
|
||||||
|
uai (g ui
|
||||||
|
uai (d ui
|
||||||
|
uá u:'A:
|
||||||
|
ui I
|
||||||
|
uinn (_ 'i:n
|
||||||
|
uinti U#'i:ntI
|
||||||
|
_b) uí wi:
|
||||||
|
_bh) uí wi:
|
||||||
|
g) uí wi:
|
||||||
|
umh u:
|
||||||
|
L03) ui @I
|
||||||
|
_d) u (l_ O#
|
||||||
|
g) ui (gh_ @i:
|
||||||
|
gh) ui (gh_ @i:
|
||||||
|
uí i:
|
||||||
|
uachai 'ux@
|
||||||
|
.group ú
|
||||||
|
ú u:
|
||||||
|
únmh u:nv
|
||||||
|
|
||||||
|
úi (r u:
|
||||||
|
|
||||||
|
.group j
|
||||||
|
j dZ
|
||||||
|
|
||||||
|
.group q
|
||||||
|
q k
|
||||||
|
qu (A kw
|
||||||
|
|
||||||
|
.group v
|
||||||
|
v v
|
||||||
|
|
||||||
|
.group w
|
||||||
|
w w
|
||||||
|
|
||||||
|
.group x
|
||||||
|
x ks
|
||||||
|
_) x z
|
||||||
|
|
||||||
|
.group y
|
||||||
|
y (A j
|
||||||
|
_A) y j
|
||||||
|
y i
|
||||||
|
|
||||||
|
.group z
|
||||||
|
z z
|
||||||
|
|
||||||
|
.group
|
||||||
|
í 'i:
|
||||||
|
|
||||||
|
|
||||||
+69
-9
@@ -173,6 +173,8 @@ nyargon) c (cs ts
|
|||||||
udvaron) c (ser ts
|
udvaron) c (ser ts
|
||||||
pere) c (cs ts
|
pere) c (cs ts
|
||||||
licen) ccs ts|tS
|
licen) ccs ts|tS
|
||||||
|
nyol) c (csat ts
|
||||||
|
pokró) c (sá ts
|
||||||
|
|
||||||
.group ch
|
.group ch
|
||||||
anar) ch (i h
|
anar) ch (i h
|
||||||
@@ -452,6 +454,11 @@ szomszé) d (sor d
|
|||||||
herná) d (sz d
|
herná) d (sz d
|
||||||
szaba) d (szent d
|
szaba) d (szent d
|
||||||
for) d (jános d
|
for) d (jános d
|
||||||
|
egye) d (szám d
|
||||||
|
shetlan) d (szige d
|
||||||
|
szaba) d (szem d
|
||||||
|
_tren) dsz (e d|s
|
||||||
|
vakon) d (sz d
|
||||||
|
|
||||||
.group dz
|
.group dz
|
||||||
fogó) dz (kod ts
|
fogó) dz (kod ts
|
||||||
@@ -502,6 +509,7 @@ kapáló) dz z
|
|||||||
gyűrű) dz (ik z
|
gyűrű) dz (ik z
|
||||||
burkoló) dz z
|
burkoló) dz z
|
||||||
|
|
||||||
|
|
||||||
.group e
|
.group e
|
||||||
e E
|
e E
|
||||||
000_-) el (_ REl // double R for 1000-el
|
000_-) el (_ REl // double R for 1000-el
|
||||||
@@ -630,6 +638,12 @@ szentsé) g (gy g
|
|||||||
világossá) g (gy g
|
világossá) g (gy g
|
||||||
vilá) g (gy g
|
vilá) g (gy g
|
||||||
virá) g (gy g
|
virá) g (gy g
|
||||||
|
csilla) g (gy g
|
||||||
|
édessé) g (gy g
|
||||||
|
ge) g (gyár g
|
||||||
|
han) g (gy g
|
||||||
|
hazugsá) g (gy g
|
||||||
|
tőze) g (gy g
|
||||||
|
|
||||||
.group gy
|
.group gy
|
||||||
gy J
|
gy J
|
||||||
@@ -1005,7 +1019,8 @@ szivárvá) ny (játsz n^
|
|||||||
utá) n (nyom n
|
utá) n (nyom n
|
||||||
verse) ny (játék n^
|
verse) ny (játék n^
|
||||||
_elle) n (jav n
|
_elle) n (jav n
|
||||||
vagyo) n (jog n
|
vagyo) n (jog n
|
||||||
|
nny (elv n|n^
|
||||||
|
|
||||||
.group o
|
.group o
|
||||||
o o
|
o o
|
||||||
@@ -1064,7 +1079,7 @@ vagyo) n (jog n
|
|||||||
s S
|
s S
|
||||||
s (-sz s: //if have the - character the next word part beginning with sz, always need spokening s: phoneme
|
s (-sz s: //if have the - character the next word part beginning with sz, always need spokening s: phoneme
|
||||||
s-) sz //but not need spokening second sz phoneme
|
s-) sz //but not need spokening second sz phoneme
|
||||||
dns-) sz s
|
dns-) sz s
|
||||||
föld) s (ánc S
|
föld) s (ánc S
|
||||||
?1 hel) s (inki z
|
?1 hel) s (inki z
|
||||||
ki) s (ebb SS
|
ki) s (ebb SS
|
||||||
@@ -1146,6 +1161,7 @@ _tetszé) s S
|
|||||||
ki) s (sziget S
|
ki) s (sziget S
|
||||||
ki) s (szőlő S
|
ki) s (szőlő S
|
||||||
körö) s (szeg S
|
körö) s (szeg S
|
||||||
|
kolbászo) s S
|
||||||
|
|
||||||
.group ss
|
.group ss
|
||||||
ssz ss2
|
ssz ss2
|
||||||
@@ -1640,9 +1656,47 @@ _kemene) ssz Ss
|
|||||||
_szamo) ssz Ss
|
_szamo) ssz Ss
|
||||||
_szilvá) ssz Ss
|
_szilvá) ssz Ss
|
||||||
_vámo) ssz Ss
|
_vámo) ssz Ss
|
||||||
keresé) ssz Ss
|
keresé) ssz Ss
|
||||||
cipő) ssz Ss
|
cipő) ssz Ss
|
||||||
szorongá) ssz Ss
|
szorongá) ssz Ss
|
||||||
|
alkalmazá) ssz Ss
|
||||||
|
kezdé) ssz Ss
|
||||||
|
edzé) ssz Ss
|
||||||
|
egye) ssz (ám Ss
|
||||||
|
felsorolá) ssz Ss
|
||||||
|
ssz (ürk Ss
|
||||||
|
ssz (őke Ss
|
||||||
|
formán) ssz (int Ss
|
||||||
|
hami) ssz (ín Ss
|
||||||
|
mászá) ssz (erű Ss
|
||||||
|
hárma) ssz Ss
|
||||||
|
hívá) ssz Ss
|
||||||
|
hivatkozá) ssz Ss
|
||||||
|
leve) ssz Ss
|
||||||
|
_hú) ssz (öv Ss
|
||||||
|
ismétlé) ssz Ss
|
||||||
|
járá) ssz Ss
|
||||||
|
kattintá) ssz Ss
|
||||||
|
_ki) ssz (öv Ss
|
||||||
|
közlekedé) ssz Ss
|
||||||
|
laká) ssz Ss
|
||||||
|
légzé) ssz Ss
|
||||||
|
_le) ssz (ab Ss
|
||||||
|
meglepeté) ssz Ss
|
||||||
|
nyila) ssz Ss
|
||||||
|
pszichológu) ssz Ss
|
||||||
|
ráko) ssz Ss
|
||||||
|
ritmu) ssz Ss
|
||||||
|
rúzso) ssz Ss
|
||||||
|
stílu) ssz Ss
|
||||||
|
víru) ssz Ss
|
||||||
|
szállodá) ssz Ss
|
||||||
|
taxi) ssz Ss
|
||||||
|
ugrá) ssz Ss
|
||||||
|
üstökö) ssz Ss
|
||||||
|
visszaélé) ssz Ss
|
||||||
|
esé) ssz (erű Ss
|
||||||
|
webe) ssz Ss
|
||||||
|
|
||||||
.group sz
|
.group sz
|
||||||
sz s
|
sz s
|
||||||
@@ -1699,6 +1753,10 @@ fáklyá) sz (ene Sz
|
|||||||
para) szts (üte st|S
|
para) szts (üte st|S
|
||||||
para) sztsz (ag st|s
|
para) sztsz (ag st|s
|
||||||
para) szts (uhan st|S
|
para) szts (uhan st|S
|
||||||
|
sz (avar S|z
|
||||||
|
pénze) sz (k s
|
||||||
|
ellenállá) sz (ón Sz
|
||||||
|
ré) sz (árás Sz
|
||||||
|
|
||||||
.group t
|
.group t
|
||||||
t t
|
t t
|
||||||
@@ -1842,7 +1900,7 @@ szögle) t (szob t
|
|||||||
vizi) t (szob t
|
vizi) t (szob t
|
||||||
zár) t (szék t
|
zár) t (szék t
|
||||||
szé) t (szortír t
|
szé) t (szortír t
|
||||||
_robo) t (szoftve t
|
_robo) t (szoftve t
|
||||||
|
|
||||||
.group tj
|
.group tj
|
||||||
C) tj c
|
C) tj c
|
||||||
@@ -1929,7 +1987,7 @@ természe) tj (og tj
|
|||||||
_tisztele) tj (el tj
|
_tisztele) tj (el tj
|
||||||
zené) tj (átsz tj
|
zené) tj (átsz tj
|
||||||
szen) tj (akab tj
|
szen) tj (akab tj
|
||||||
közérze) tj (aví tj
|
közérze) tj (aví tj
|
||||||
|
|
||||||
.group ts
|
.group ts
|
||||||
ts (_S2 tS //general rule with word end of ts letters
|
ts (_S2 tS //general rule with word end of ts letters
|
||||||
@@ -2144,8 +2202,8 @@ felira) ts (áv t|S
|
|||||||
pö) tsz (en ts:
|
pö) tsz (en ts:
|
||||||
_á) tsz (orult t|s
|
_á) tsz (orult t|s
|
||||||
leme) tsz (vén ts
|
leme) tsz (vén ts
|
||||||
_cha) tsz (ob t|s
|
_cha) tsz (ob t|s
|
||||||
robo) ts (of t|S
|
robo) ts (of t|S
|
||||||
|
|
||||||
.group tt
|
.group tt
|
||||||
tt t:
|
tt t:
|
||||||
@@ -2411,6 +2469,8 @@ csatlako) z (tok s
|
|||||||
tí) z (sáv z
|
tí) z (sáv z
|
||||||
_tí) z (shill z
|
_tí) z (shill z
|
||||||
topá) z z
|
topá) z z
|
||||||
|
dör) zsz (ör Z|z
|
||||||
|
raj) z (sabl z
|
||||||
|
|
||||||
.group
|
.group
|
||||||
$ dolla:R2
|
$ dolla:R2
|
||||||
|
|||||||
+8
-8
@@ -139,14 +139,14 @@
|
|||||||
ჺ
|
ჺ
|
||||||
|
|
||||||
// For cyrillic characters (U+0400 to U+04FF) use Russian voice
|
// For cyrillic characters (U+0400 to U+04FF) use Russian voice
|
||||||
.group 0xd0
|
//.group 0xd0
|
||||||
0xd0 _^_RU
|
// 0xd0 _^_RU
|
||||||
.group 0xd1
|
//.group 0xd1
|
||||||
0xd1 _^_RU
|
// 0xd1 _^_RU
|
||||||
.group 0xd2
|
//.group 0xd2
|
||||||
0xd2 _^_RU
|
// 0xd2 _^_RU
|
||||||
.group 0xd3
|
//.group 0xd3
|
||||||
0xd3 _^_RU
|
// 0xd3 _^_RU
|
||||||
|
|
||||||
.group
|
.group
|
||||||
$ dolari
|
$ dolari
|
||||||
|
|||||||
+2
-2
@@ -651,7 +651,6 @@ antonieta $alt2
|
|||||||
apego $alt2 $noun
|
apego $alt2 $noun
|
||||||
apelo $alt $verb
|
apelo $alt $verb
|
||||||
aposto $alt $verb
|
aposto $alt $verb
|
||||||
apreço $alt2
|
|
||||||
aperto $alt2 $noun
|
aperto $alt2 $noun
|
||||||
apoio $alt $verb
|
apoio $alt $verb
|
||||||
aprovo $alt
|
aprovo $alt
|
||||||
@@ -713,6 +712,7 @@ choro $alt2 $noun
|
|||||||
chovesse $alt2
|
chovesse $alt2
|
||||||
chupeta $alt2
|
chupeta $alt2
|
||||||
clamores $alt2
|
clamores $alt2
|
||||||
|
clero $alt
|
||||||
coco $alt2
|
coco $alt2
|
||||||
cofre $alt
|
cofre $alt
|
||||||
cogumelo $alt
|
cogumelo $alt
|
||||||
@@ -910,6 +910,7 @@ palacete $alt2
|
|||||||
palheta $alt2
|
palheta $alt2
|
||||||
panfleto $alt2
|
panfleto $alt2
|
||||||
pangeia $alt
|
pangeia $alt
|
||||||
|
panqueca p,&~Nk'Ek&
|
||||||
pantera $alt
|
pantera $alt
|
||||||
paralelo $alt
|
paralelo $alt
|
||||||
parede $alt2
|
parede $alt2
|
||||||
@@ -932,7 +933,6 @@ portos $alt
|
|||||||
pose $alt2
|
pose $alt2
|
||||||
povos $alt
|
povos $alt
|
||||||
poxa p'oS&
|
poxa p'oS&
|
||||||
preço $alt2
|
|
||||||
primavera $alt
|
primavera $alt
|
||||||
provo $alt
|
provo $alt
|
||||||
quarteto $alt2
|
quarteto $alt2
|
||||||
|
|||||||
+9
-1
@@ -1,4 +1,5 @@
|
|||||||
// translation rules Brazilian
|
// translation rules Brazilian
|
||||||
|
// translation rules Brazilian
|
||||||
// This file is UTF-8 encoded
|
// This file is UTF-8 encoded
|
||||||
|
|
||||||
// Options
|
// Options
|
||||||
@@ -365,6 +366,8 @@ _compreend) e (L06_ e
|
|||||||
_entend) e (L06_ e
|
_entend) e (L06_ e
|
||||||
_estend) e (L06_ e
|
_estend) e (L06_ e
|
||||||
respond) e (L06_ e // cor-
|
respond) e (L06_ e // cor-
|
||||||
|
_enraivec) e (L07_ e
|
||||||
|
_espairec) e (L07_ e
|
||||||
bat) e (L07_ e // re- com-
|
bat) e (L07_ e // re- com-
|
||||||
ced) e (L07_ e // pro- con- su-
|
ced) e (L07_ e // pro- con- su-
|
||||||
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
met) e (L07_ e // co- pro- arre- re- intro- compro- sub-
|
||||||
@@ -416,7 +419,9 @@ entend) e (L07_ e
|
|||||||
preend) e (L07_ e // sur- com-
|
preend) e (L07_ e // sur- com-
|
||||||
respond) e (L07_ e // cor-
|
respond) e (L07_ e // cor-
|
||||||
qu) e (brL04_ E
|
qu) e (brL04_ E
|
||||||
|
acel) e (rL04_ E / des-
|
||||||
_hosp) e (dL03_ E
|
_hosp) e (dL03_ E
|
||||||
|
_in) e (ptL03_ E
|
||||||
_gr) e (gL03_ e
|
_gr) e (gL03_ e
|
||||||
_n) e (grL03_ e
|
_n) e (grL03_ e
|
||||||
_estr) ei (L03_ EI
|
_estr) ei (L03_ EI
|
||||||
@@ -449,6 +454,7 @@ respond) e (L07_ e // cor-
|
|||||||
_bez) e (rrL03_ e
|
_bez) e (rrL03_ e
|
||||||
_inv) e (rtL03_ e
|
_inv) e (rtL03_ e
|
||||||
_f) e (rvL03_ e
|
_f) e (rvL03_ e
|
||||||
|
_enraiv) e (çL03_ e
|
||||||
_p) e (sL01_ E
|
_p) e (sL01_ E
|
||||||
_d) e (scL02_ E
|
_d) e (scL02_ E
|
||||||
_cr) e (scL02_ E
|
_cr) e (scL02_ E
|
||||||
@@ -485,8 +491,10 @@ _emagr) e (çL03
|
|||||||
conh) e (çL03_ e // re-
|
conh) e (çL03_ e // re-
|
||||||
_esqu) e (çL03_ e
|
_esqu) e (çL03_ e
|
||||||
_forn) e (çL03_ e
|
_forn) e (çL03_ e
|
||||||
_obed) e (çL03_ e
|
obed) e (çL03_ e / des-
|
||||||
_ofer) e (çL03_ e
|
_ofer) e (çL03_ e
|
||||||
|
pr) e (çL03_ e / a-
|
||||||
|
_espair) e (çL03_ e
|
||||||
abast) e (çL03_ e // re-
|
abast) e (çL03_ e // re-
|
||||||
_aborr) e (çL03_ e
|
_aborr) e (çL03_ e
|
||||||
_agrad) e (çL03_ e
|
_agrad) e (çL03_ e
|
||||||
|
|||||||
@@ -1015,6 +1015,7 @@ _தணிகா) ச (ல tSV
|
|||||||
_) ச (வான tSV
|
_) ச (வான tSV
|
||||||
_) ச (ாக்கட்டி tS
|
_) ச (ாக்கட்டி tS
|
||||||
_) சாக்ப (ீL04 tSa:kp
|
_) சாக்ப (ீL04 tSa:kp
|
||||||
|
_) சாக்லெட் tSa:klet.
|
||||||
_) சாக்லேட் tSa:kle:t.
|
_) சாக்லேட் tSa:kle:t.
|
||||||
_) சா (ட்டர்ஜி tSe:
|
_) சா (ட்டர்ஜி tSe:
|
||||||
_) ச (ாணக்கிய tS
|
_) ச (ாணக்கிய tS
|
||||||
@@ -1048,12 +1049,14 @@ _தணிகா) ச (ல tSV
|
|||||||
ஆ) ச (ாரங்கள tS
|
ஆ) ச (ாரங்கள tS
|
||||||
ஆ) ச (ாரத் tS
|
ஆ) ச (ாரத் tS
|
||||||
ஆ) ச (ாரம tS
|
ஆ) ச (ாரம tS
|
||||||
|
_சிவா) ச (ாரி tS
|
||||||
_ரங்கா) ச (ாரி tS
|
_ரங்கா) ச (ாரி tS
|
||||||
_வரதா) ச (ாரி tS
|
_வரதா) ச (ாரி tS
|
||||||
_வேதா) ச (ாரி tS
|
_வேதா) ச (ாரி tS
|
||||||
_கிருஷ்ணமா) ச (ாரி tS
|
_கிருஷ்ணமா) ச (ாரி tS
|
||||||
_தேசிகா) ச (ாரி tS
|
_தேசிகா) ச (ாரி tS
|
||||||
_பட்டா) ச (ாரி tS
|
_பட்டா) ச (ாரி tS
|
||||||
|
_மத்வா) ச (ாரி tS
|
||||||
அனந்தா) ச (ாரி tS
|
அனந்தா) ச (ாரி tS
|
||||||
அன்னமா) ச (ாரி tS
|
அன்னமா) ச (ாரி tS
|
||||||
ஆ) ச (ாரிய_ tS
|
ஆ) ச (ாரிய_ tS
|
||||||
@@ -2406,6 +2409,7 @@ _சி) த்ரலேக (ா trVle:k
|
|||||||
_) ப (ட்டக்ஸ bV
|
_) ப (ட்டக்ஸ bV
|
||||||
_) ப (ட்டன bV
|
_) ப (ட்டன bV
|
||||||
_) ப (ட்டன_ pV
|
_) ப (ட்டன_ pV
|
||||||
|
_) ப (ட்டாசாரி bV
|
||||||
_) ப (தில bV
|
_) ப (தில bV
|
||||||
_) பத்த (ிரகாளி bVdd
|
_) பத்த (ிரகாளி bVdd
|
||||||
_) பத்திரப் (_ bVttirVp
|
_) பத்திரப் (_ bVttirVp
|
||||||
@@ -2814,6 +2818,7 @@ _விளையாடு_) ப (ாம்பே p
|
|||||||
_) ப (ிடில f
|
_) ப (ிடில f
|
||||||
_) ப (ிட்சு b
|
_) ப (ிட்சு b
|
||||||
_) ப (ிட்டடி b
|
_) ப (ிட்டடி b
|
||||||
|
_) பிந்தி (ரன்வாலே bind
|
||||||
_) ப (ினாமி b
|
_) ப (ினாமி b
|
||||||
_) ப (ினிஷ f
|
_) ப (ினிஷ f
|
||||||
_) ப (ின்_லேடன b
|
_) ப (ின்_லேடன b
|
||||||
@@ -3744,6 +3749,7 @@ _ஞானப்) பிரக (ா prVk
|
|||||||
_மL06ாப்) பி (ரப p
|
_மL06ாப்) பி (ரப p
|
||||||
வீண்) பி (ரமை b
|
வீண்) பி (ரமை b
|
||||||
துஷ்) பி (ரயோக p
|
துஷ்) பி (ரயோக p
|
||||||
|
_சொற்) பி (ரயோக p
|
||||||
L03ந்தப்) பி (ரளய p
|
L03ந்தப்) பி (ரளய p
|
||||||
_சொற்) பி (ரவாக p
|
_சொற்) பி (ரவாக p
|
||||||
எக்ஸ்) பிர (ஸ pre
|
எக்ஸ்) பிர (ஸ pre
|
||||||
|
|||||||
+195
-8
@@ -77,26 +77,40 @@ ỵ ỵ
|
|||||||
//================================
|
//================================
|
||||||
// Consonants
|
// Consonants
|
||||||
//================================
|
//================================
|
||||||
|
.L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve
|
||||||
|
.L02 n
|
||||||
|
|
||||||
|
|
||||||
.group b
|
.group b
|
||||||
b b
|
b b
|
||||||
_) b _b
|
_) b _b
|
||||||
|
//b($w_alt2 _^_EN
|
||||||
|
|
||||||
.group c
|
.group c
|
||||||
c g //k
|
c g //k
|
||||||
c (_ kh
|
c (_ kh
|
||||||
ch c // try [tS;] [tS] [c]
|
ch c // try [tS;] [tS] [c]
|
||||||
|
ce (_ _^_EN
|
||||||
|
_) cl _^_EN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group d
|
.group d
|
||||||
d J^ // try [z] [J] [dZ] [dZ;] [J^]
|
d J^ // try [z] [J] [dZ] [dZ;] [J^]
|
||||||
|
d (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group đ
|
.group đ
|
||||||
đ d
|
đ d
|
||||||
_) đ _d
|
_) đ _d
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group f
|
.group f
|
||||||
f f
|
//f f
|
||||||
|
_) f _^_EN
|
||||||
|
f (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group g
|
.group g
|
||||||
@@ -107,7 +121,7 @@ ỵ ỵ
|
|||||||
//g (í J^
|
//g (í J^
|
||||||
//g (ỉ J^
|
//g (ỉ J^
|
||||||
//g (ĩ J^
|
//g (ĩ J^
|
||||||
//g (ị J^
|
//g (ị J^
|
||||||
gi J^
|
gi J^
|
||||||
?1 giết J^'iE3g
|
?1 giết J^'iE3g
|
||||||
giết J^'iE3t[
|
giết J^'iE3t[
|
||||||
@@ -115,6 +129,10 @@ ỵ ỵ
|
|||||||
?1 giệt J^'iE6g
|
?1 giệt J^'iE6g
|
||||||
giệt J^'iE6t[
|
giệt J^'iE6t[
|
||||||
giệc J^'iE6kh
|
giệc J^'iE6kh
|
||||||
|
_) gol _^_EN
|
||||||
|
_) gat _^_EN
|
||||||
|
ght (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group h
|
.group h
|
||||||
h h
|
h h
|
||||||
@@ -126,65 +144,97 @@ ỵ ỵ
|
|||||||
|
|
||||||
.group k
|
.group k
|
||||||
k k
|
k k
|
||||||
k (_ kh
|
//k (_ kh
|
||||||
kh x
|
kh x
|
||||||
|
k (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group l
|
.group l
|
||||||
l l
|
l l
|
||||||
|
l (_ _^_EN
|
||||||
|
le (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group m
|
.group m
|
||||||
m m
|
m m
|
||||||
|
|
||||||
|
|
||||||
.group n
|
.group n
|
||||||
n n
|
n n
|
||||||
?1 n (_ N //n
|
?1 n (_ N //n
|
||||||
ng N
|
ng N
|
||||||
ngh N
|
ngh N
|
||||||
nh n^
|
nh n^
|
||||||
|
nd (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group ñ
|
.group ñ
|
||||||
ñ n^
|
ñ n^
|
||||||
|
|
||||||
|
|
||||||
.group p
|
.group p
|
||||||
p p
|
p p
|
||||||
ph f
|
ph f
|
||||||
|
|
||||||
|
|
||||||
.group q
|
.group q
|
||||||
q k
|
q k
|
||||||
q (_ kh
|
q (_ kh
|
||||||
qu w //kw
|
qu w //kw
|
||||||
|
|
||||||
|
|
||||||
.group r
|
.group r
|
||||||
r z. // try [z] [z.] [r] [z;]
|
r z. // try [z] [z.] [r] [z;]
|
||||||
|
r (_ _^_EN
|
||||||
|
rm (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group s
|
.group s
|
||||||
s s. // try [s.] [s] [S]
|
s s. // try [s.] [s] [S]
|
||||||
|
_) sh _^_EN
|
||||||
|
s (_ _^_EN
|
||||||
|
st (_ _^_EN
|
||||||
|
se (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group t
|
.group t
|
||||||
t t[
|
t t[
|
||||||
?1 t (_ g
|
?1 t (_ g
|
||||||
th t
|
th t
|
||||||
tr cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
|
tr cr // try [cr] [tr] [tS;] [tS] [c] [dZ] [dz;]
|
||||||
|
ts (_ _^_EN
|
||||||
|
te (_ _^_EN
|
||||||
|
th (_ _^_EN
|
||||||
|
tt (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group v
|
.group v
|
||||||
v v
|
v v
|
||||||
|
ve (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group w
|
.group w
|
||||||
w w
|
w w
|
||||||
|
_) w _^_EN
|
||||||
|
w (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group x
|
.group x
|
||||||
x s
|
x s
|
||||||
|
x (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group z
|
.group z
|
||||||
z z
|
z z
|
||||||
|
z (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//================================
|
//================================
|
||||||
// Vowels
|
// Vowels
|
||||||
//================================
|
//================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group a
|
.group a
|
||||||
a a:
|
a a:
|
||||||
ai a:I
|
ai a:I
|
||||||
@@ -211,6 +261,9 @@ ỵ ỵ
|
|||||||
aủ aU4
|
aủ aU4
|
||||||
aũ aU5
|
aũ aU5
|
||||||
aụ aU6
|
aụ aU6
|
||||||
|
a (L01 _^_EN
|
||||||
|
ai (L02 _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group à
|
.group à
|
||||||
à a:2
|
à a:2
|
||||||
@@ -219,6 +272,7 @@ ỵ ỵ
|
|||||||
ào a:U2
|
ào a:U2
|
||||||
àu aU2
|
àu aU2
|
||||||
|
|
||||||
|
|
||||||
.group á
|
.group á
|
||||||
á a:3
|
á a:3
|
||||||
ái a:I3
|
ái a:I3
|
||||||
@@ -226,6 +280,7 @@ ỵ ỵ
|
|||||||
áo a:U3
|
áo a:U3
|
||||||
áu aU3
|
áu aU3
|
||||||
|
|
||||||
|
|
||||||
.group ả
|
.group ả
|
||||||
ả a:4
|
ả a:4
|
||||||
ải a:I4
|
ải a:I4
|
||||||
@@ -233,6 +288,7 @@ ỵ ỵ
|
|||||||
ảo a:U4
|
ảo a:U4
|
||||||
ảu aU4
|
ảu aU4
|
||||||
|
|
||||||
|
|
||||||
.group ã
|
.group ã
|
||||||
ã a:5
|
ã a:5
|
||||||
ãi a:I5
|
ãi a:I5
|
||||||
@@ -240,6 +296,7 @@ ỵ ỵ
|
|||||||
ão a:U5
|
ão a:U5
|
||||||
ãu aU5
|
ãu aU5
|
||||||
|
|
||||||
|
|
||||||
.group ạ
|
.group ạ
|
||||||
ạ a:6
|
ạ a:6
|
||||||
ại a:I6
|
ại a:I6
|
||||||
@@ -247,56 +304,79 @@ ỵ ỵ
|
|||||||
ạo a:U6
|
ạo a:U6
|
||||||
ạu aU6
|
ạu aU6
|
||||||
|
|
||||||
|
|
||||||
//================================
|
//================================
|
||||||
.group ă
|
.group ă
|
||||||
ă a
|
ă a
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ằ
|
.group ằ
|
||||||
ằ a2
|
ằ a2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ắ
|
.group ắ
|
||||||
ắ a3
|
ắ a3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẳ
|
.group ẳ
|
||||||
ẳ a4
|
ẳ a4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẵ
|
.group ẵ
|
||||||
ẵ a5
|
ẵ a5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ặ
|
.group ặ
|
||||||
ặ a6
|
ặ a6
|
||||||
|
|
||||||
|
|
||||||
//=================================
|
//=================================
|
||||||
.group â
|
.group â
|
||||||
â @
|
â @
|
||||||
ây @I
|
ây @I
|
||||||
âu @U1
|
âu @U1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ầ
|
.group ầ
|
||||||
ầ @2
|
ầ @2
|
||||||
ầy @I2
|
ầy @I2
|
||||||
ầu @U2
|
ầu @U2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ấ
|
.group ấ
|
||||||
ấ @3
|
ấ @3
|
||||||
ấy @I3
|
ấy @I3
|
||||||
ấu @U3
|
ấu @U3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẩ
|
.group ẩ
|
||||||
ẩ @4
|
ẩ @4
|
||||||
ẩy @I4
|
ẩy @I4
|
||||||
ẩu @U4
|
ẩu @U4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẫ
|
.group ẫ
|
||||||
ẫ @5
|
ẫ @5
|
||||||
ẫy @I5
|
ẫy @I5
|
||||||
ẫu @U5
|
ẫu @U5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ậ
|
.group ậ
|
||||||
ậ @6
|
ậ @6
|
||||||
ậy @I6
|
ậy @I6
|
||||||
ậu @U6
|
ậu @U6
|
||||||
|
|
||||||
|
|
||||||
//===========================
|
//===========================
|
||||||
.group e
|
.group e
|
||||||
e E
|
e E
|
||||||
@@ -306,56 +386,78 @@ ỵ ỵ
|
|||||||
eỏ EU4
|
eỏ EU4
|
||||||
eỗ EU5
|
eỗ EU5
|
||||||
eọ EU6
|
eọ EU6
|
||||||
|
e (L01 _^_EN
|
||||||
|
ey (_ _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group è
|
.group è
|
||||||
è E2
|
è E2
|
||||||
èo EU2
|
èo EU2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group é
|
.group é
|
||||||
é E3
|
é E3
|
||||||
éo EU3
|
éo EU3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẻ
|
.group ẻ
|
||||||
ẻ E4
|
ẻ E4
|
||||||
ẻo EU4
|
ẻo EU4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẽ
|
.group ẽ
|
||||||
ẽ E5
|
ẽ E5
|
||||||
ẽo EU5
|
ẽo EU5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ẹ
|
.group ẹ
|
||||||
ẹ E6
|
ẹ E6
|
||||||
ẹo EU6
|
ẹo EU6
|
||||||
|
|
||||||
|
|
||||||
//============================
|
//============================
|
||||||
|
|
||||||
.group ê
|
.group ê
|
||||||
ê e
|
ê e
|
||||||
êu eU1
|
êu eU1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ề
|
.group ề
|
||||||
ề e2
|
ề e2
|
||||||
ều eU2
|
ều eU2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ế
|
.group ế
|
||||||
ế e3
|
ế e3
|
||||||
ếu eU3
|
ếu eU3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ể
|
.group ể
|
||||||
ể e4
|
ể e4
|
||||||
ểu eU4
|
ểu eU4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ễ
|
.group ễ
|
||||||
ễ e5
|
ễ e5
|
||||||
ễu eU5
|
ễu eU5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ệ
|
.group ệ
|
||||||
ệ e6
|
ệ e6
|
||||||
ệu eU6
|
ệu eU6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//============================
|
//============================
|
||||||
|
|
||||||
.group i
|
.group i
|
||||||
i i
|
i i
|
||||||
i (A j
|
i (A j
|
||||||
@@ -383,6 +485,8 @@ ỵ ỵ
|
|||||||
iểu iU4
|
iểu iU4
|
||||||
iễu iU5
|
iễu iU5
|
||||||
iệu iU6
|
iệu iU6
|
||||||
|
i (L01 _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group ì
|
.group ì
|
||||||
ì i2
|
ì i2
|
||||||
@@ -390,24 +494,28 @@ ỵ ỵ
|
|||||||
ìa i@2
|
ìa i@2
|
||||||
ìu iU2
|
ìu iU2
|
||||||
|
|
||||||
|
|
||||||
.group í
|
.group í
|
||||||
í i3
|
í i3
|
||||||
í (A j3
|
í (A j3
|
||||||
ía i@3
|
ía i@3
|
||||||
íu iU3
|
íu iU3
|
||||||
|
|
||||||
|
|
||||||
.group ỉ
|
.group ỉ
|
||||||
ỉ i4
|
ỉ i4
|
||||||
ỉ (A j4
|
ỉ (A j4
|
||||||
ỉa i@4
|
ỉa i@4
|
||||||
ỉu iU4
|
ỉu iU4
|
||||||
|
|
||||||
|
|
||||||
.group ĩ
|
.group ĩ
|
||||||
ĩ i5
|
ĩ i5
|
||||||
ĩ (A j5
|
ĩ (A j5
|
||||||
ĩa i@5
|
ĩa i@5
|
||||||
ĩu iU5
|
ĩu iU5
|
||||||
|
|
||||||
|
|
||||||
.group ị
|
.group ị
|
||||||
ị i6
|
ị i6
|
||||||
ị (A j6
|
ị (A j6
|
||||||
@@ -415,8 +523,8 @@ ỵ ỵ
|
|||||||
ịu iU6
|
ịu iU6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=========================
|
//=========================
|
||||||
|
|
||||||
.group o
|
.group o
|
||||||
o O
|
o O
|
||||||
oa o@ // modify oa sound example: hoa,khoa // o (A w
|
oa o@ // modify oa sound example: hoa,khoa // o (A w
|
||||||
@@ -428,6 +536,8 @@ ỵ ỵ
|
|||||||
oị OI6
|
oị OI6
|
||||||
ong O#
|
ong O#
|
||||||
oe o& // Adding oe sound example: lóe sáng,toét mắt
|
oe o& // Adding oe sound example: lóe sáng,toét mắt
|
||||||
|
o (L01 _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group ò
|
.group ò
|
||||||
ò O2
|
ò O2
|
||||||
@@ -436,6 +546,8 @@ ỵ ỵ
|
|||||||
òng O#2
|
òng O#2
|
||||||
òe o&2
|
òe o&2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ó
|
.group ó
|
||||||
ó O3
|
ó O3
|
||||||
ói OI3
|
ói OI3
|
||||||
@@ -443,6 +555,8 @@ ỵ ỵ
|
|||||||
óng O#3
|
óng O#3
|
||||||
óe o&3
|
óe o&3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỏ
|
.group ỏ
|
||||||
ỏ O4
|
ỏ O4
|
||||||
ỏi OI4
|
ỏi OI4
|
||||||
@@ -450,6 +564,8 @@ ỵ ỵ
|
|||||||
ỏng O#4
|
ỏng O#4
|
||||||
ỏe o&4
|
ỏe o&4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group õ
|
.group õ
|
||||||
õ O5
|
õ O5
|
||||||
õi OI5
|
õi OI5
|
||||||
@@ -457,6 +573,8 @@ ỵ ỵ
|
|||||||
õng O#5
|
õng O#5
|
||||||
õe o&5
|
õe o&5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ọ
|
.group ọ
|
||||||
ọ O6
|
ọ O6
|
||||||
ọi OI6
|
ọi OI6
|
||||||
@@ -465,32 +583,43 @@ ỵ ỵ
|
|||||||
ọe o&6
|
ọe o&6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//=============================
|
//=============================
|
||||||
|
|
||||||
.group ô
|
.group ô
|
||||||
ô o
|
ô o
|
||||||
ôi oI
|
ôi oI
|
||||||
ông o# // ông sound
|
ông o# // ông sound
|
||||||
|
|
||||||
|
|
||||||
.group ồ
|
.group ồ
|
||||||
ồ o2
|
ồ o2
|
||||||
ồi oI2
|
ồi oI2
|
||||||
ồng o#2
|
ồng o#2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ố
|
.group ố
|
||||||
ố o3
|
ố o3
|
||||||
ối oI3
|
ối oI3
|
||||||
ống o#3
|
ống o#3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ổ
|
.group ổ
|
||||||
ổ o4
|
ổ o4
|
||||||
ổi oI4
|
ổi oI4
|
||||||
ổng o#4
|
ổng o#4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỗ
|
.group ỗ
|
||||||
ỗ o5
|
ỗ o5
|
||||||
ỗi oI5
|
ỗi oI5
|
||||||
ỗng o#5
|
ỗng o#5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ộ
|
.group ộ
|
||||||
ộ o6
|
ộ o6
|
||||||
ội oI6
|
ội oI6
|
||||||
@@ -499,31 +628,42 @@ ỵ ỵ
|
|||||||
|
|
||||||
|
|
||||||
//=============================
|
//=============================
|
||||||
|
|
||||||
.group ơ
|
.group ơ
|
||||||
ơ @:
|
ơ @:
|
||||||
ơi @:I
|
ơi @:I
|
||||||
ơu @:U
|
ơu @:U
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ờ
|
.group ờ
|
||||||
ờ @:2
|
ờ @:2
|
||||||
ời @:I2
|
ời @:I2
|
||||||
ờu @:U2
|
ờu @:U2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ớ
|
.group ớ
|
||||||
ớ @:3
|
ớ @:3
|
||||||
ới @:I3
|
ới @:I3
|
||||||
ớu @:U3
|
ớu @:U3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ở
|
.group ở
|
||||||
ở @:4
|
ở @:4
|
||||||
ởi @:I4
|
ởi @:I4
|
||||||
ởu @:U4
|
ởu @:U4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỡ
|
.group ỡ
|
||||||
ỡ @:5
|
ỡ @:5
|
||||||
ỡi @:I5
|
ỡi @:I5
|
||||||
ỡu @:U5
|
ỡu @:U5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ợ
|
.group ợ
|
||||||
ợ @:6
|
ợ @:6
|
||||||
ợi @:I6
|
ợi @:I6
|
||||||
@@ -532,6 +672,7 @@ ỵ ỵ
|
|||||||
|
|
||||||
|
|
||||||
//=============================
|
//=============================
|
||||||
|
|
||||||
.group u
|
.group u
|
||||||
u u
|
u u
|
||||||
u (A w
|
u (A w
|
||||||
@@ -561,6 +702,11 @@ ỵ ỵ
|
|||||||
uỗi u@j5
|
uỗi u@j5
|
||||||
uội u@j6
|
uội u@j6
|
||||||
//ung u#
|
//ung u#
|
||||||
|
u (L01 _^_EN
|
||||||
|
ui (L01 _^_EN
|
||||||
|
ua (L01 _^_EN
|
||||||
|
|
||||||
|
|
||||||
.group ù
|
.group ù
|
||||||
ù u2
|
ù u2
|
||||||
ù (A w2
|
ù (A w2
|
||||||
@@ -568,6 +714,8 @@ ỵ ỵ
|
|||||||
ùa u@2
|
ùa u@2
|
||||||
//ùng u#2
|
//ùng u#2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ú
|
.group ú
|
||||||
ú u3
|
ú u3
|
||||||
ú (A w3
|
ú (A w3
|
||||||
@@ -575,6 +723,8 @@ ỵ ỵ
|
|||||||
úa u@3
|
úa u@3
|
||||||
//úng u#3
|
//úng u#3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ủ
|
.group ủ
|
||||||
ủ u4
|
ủ u4
|
||||||
ủ (A w4
|
ủ (A w4
|
||||||
@@ -582,6 +732,8 @@ ỵ ỵ
|
|||||||
ủa u@4
|
ủa u@4
|
||||||
//ủng u#4
|
//ủng u#4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ũ
|
.group ũ
|
||||||
ũ u5
|
ũ u5
|
||||||
ũ (A w5
|
ũ (A w5
|
||||||
@@ -589,6 +741,8 @@ ỵ ỵ
|
|||||||
ũa u@5
|
ũa u@5
|
||||||
//ũng u#5
|
//ũng u#5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ụ
|
.group ụ
|
||||||
ụ u6
|
ụ u6
|
||||||
ụ (A w6
|
ụ (A w6
|
||||||
@@ -596,7 +750,9 @@ ỵ ỵ
|
|||||||
ụa u@6
|
ụa u@6
|
||||||
//ụng u#6
|
//ụng u#6
|
||||||
|
|
||||||
|
|
||||||
//=============================
|
//=============================
|
||||||
|
|
||||||
.group ư
|
.group ư
|
||||||
ư y
|
ư y
|
||||||
ưi yI
|
ưi yI
|
||||||
@@ -621,30 +777,40 @@ ỵ ỵ
|
|||||||
ưỡu y@w5
|
ưỡu y@w5
|
||||||
ượu y@w6
|
ượu y@w6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ừ
|
.group ừ
|
||||||
ừ y2
|
ừ y2
|
||||||
ừi yI2
|
ừi yI2
|
||||||
ừa y@2
|
ừa y@2
|
||||||
ừu yw2
|
ừu yw2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ứ
|
.group ứ
|
||||||
ứ y3
|
ứ y3
|
||||||
ứi yI3
|
ứi yI3
|
||||||
ứa y@3
|
ứa y@3
|
||||||
ứu yw3
|
ứu yw3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ử
|
.group ử
|
||||||
ử y4
|
ử y4
|
||||||
ửi yI4
|
ửi yI4
|
||||||
ửa y@4
|
ửa y@4
|
||||||
ửu yw4
|
ửu yw4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ữ
|
.group ữ
|
||||||
ữ y5
|
ữ y5
|
||||||
ữi yI5
|
ữi yI5
|
||||||
ữa y@5
|
ữa y@5
|
||||||
ữu yw5
|
ữu yw5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ự
|
.group ự
|
||||||
ự y6
|
ự y6
|
||||||
ựi yI6
|
ựi yI6
|
||||||
@@ -652,6 +818,7 @@ ỵ ỵ
|
|||||||
ựu yw6
|
ựu yw6
|
||||||
|
|
||||||
|
|
||||||
|
//=============================
|
||||||
|
|
||||||
.group y
|
.group y
|
||||||
y i
|
y i
|
||||||
@@ -670,34 +837,48 @@ ỵ ỵ
|
|||||||
yệ i@6
|
yệ i@6
|
||||||
// yêu i@U
|
// yêu i@U
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỳ
|
.group ỳ
|
||||||
ỳ i2
|
ỳ i2
|
||||||
ỳ (A j2
|
ỳ (A j2
|
||||||
ỳa i@2
|
ỳa i@2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ý
|
.group ý
|
||||||
ý i3
|
ý i3
|
||||||
ý (A j3
|
ý (A j3
|
||||||
ýa i@3
|
ýa i@3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỷ
|
.group ỷ
|
||||||
ỷ i4
|
ỷ i4
|
||||||
ỷ (A j4
|
ỷ (A j4
|
||||||
ỷa i@4
|
ỷa i@4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỹ
|
.group ỹ
|
||||||
ỹ i5
|
ỹ i5
|
||||||
ỹ (A j5
|
ỹ (A j5
|
||||||
ỹa i@5
|
ỹa i@5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group ỵ
|
.group ỵ
|
||||||
ỵ i6
|
ỵ i6
|
||||||
ỵ (A j6
|
ỵ (A j6
|
||||||
ỵa i@6
|
ỵa i@6
|
||||||
|
|
||||||
|
|
||||||
|
//=============================
|
||||||
|
|
||||||
.group 0xce // Greek letters
|
.group 0xce // Greek letters
|
||||||
// 0xce is the first byte of the utf-8 code for these characters
|
// 0xce is the first byte of the utf-8 code for these characters
|
||||||
|
|
||||||
|
|
||||||
α a:1n_|f'a:1
|
α a:1n_|f'a:1
|
||||||
ά a:1n_|f'a:1
|
ά a:1n_|f'a:1
|
||||||
β b'e1_|t['a:1
|
β b'e1_|t['a:1
|
||||||
@@ -718,8 +899,11 @@ ỵ ỵ
|
|||||||
ξ s'i7
|
ξ s'i7
|
||||||
ο o1_|m'i1_|kz.'O7n
|
ο o1_|m'i1_|kz.'O7n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group 0xcf // Greek letters
|
.group 0xcf // Greek letters
|
||||||
|
|
||||||
|
|
||||||
π p'i1
|
π p'i1
|
||||||
ρ z.'o1
|
ρ z.'o1
|
||||||
σ s'i3c_|m'a:1
|
σ s'i3c_|m'a:1
|
||||||
@@ -735,6 +919,9 @@ ỵ ỵ
|
|||||||
ό o1_|m'i1_|kz.'O7n
|
ό o1_|m'i1_|kz.'O7n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.group
|
.group
|
||||||
% f'@2n||cr'am
|
% f'@2n||cr'am
|
||||||
! _:c'@3m_|t'a:7n_:
|
! _:c'@3m_|t'a:7n_:
|
||||||
@@ -751,8 +938,8 @@ ỵ ỵ
|
|||||||
A_) - (_D _
|
A_) - (_D _
|
||||||
C_) - (_D _
|
C_) - (_D _
|
||||||
|
|
||||||
|
|
||||||
. c'@3m_
|
. c'@3m_
|
||||||
. (. _:
|
. (. _:
|
||||||
\.) .
|
\.) .
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+35
-19
@@ -65,7 +65,7 @@ consonants 10 118
|
|||||||
sq 33 127
|
sq 33 127
|
||||||
hy 23 119
|
hy 23 119
|
||||||
da 46 139
|
da 46 139
|
||||||
ka 20 114
|
ka 20 115
|
||||||
rw 15 132
|
rw 15 132
|
||||||
pa 15 152
|
pa 15 152
|
||||||
prs 8 113
|
prs 8 113
|
||||||
@@ -85,7 +85,7 @@ consonants 10 118
|
|||||||
bo 10 154
|
bo 10 154
|
||||||
kk 20 118
|
kk 20 118
|
||||||
fa 9 112
|
fa 9 112
|
||||||
ga 21 127
|
ga 29 133
|
||||||
tt 23 120
|
tt 23 120
|
||||||
ko 15 116
|
ko 15 116
|
||||||
kl 18 119
|
kl 18 119
|
||||||
@@ -332,13 +332,21 @@ h/hu [h] base
|
|||||||
h/hu_fi [h] fi
|
h/hu_fi [h] fi
|
||||||
[h] mt
|
[h] mt
|
||||||
j2/_j2 [;] base
|
j2/_j2 [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2@ [;] base
|
j2/j2@ [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2a [;] base
|
j2/j2a [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2e [;] base
|
j2/j2e [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2i [;] base
|
j2/j2i [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2o [;] base
|
j2/j2o [;] base
|
||||||
|
[;] ga
|
||||||
j2/j2u [;] base
|
j2/j2u [;] base
|
||||||
|
[;] ga
|
||||||
j2/xj2 [;] base
|
j2/xj2 [;] base
|
||||||
|
[;] ga
|
||||||
j/_j [j] base
|
j/_j [j] base
|
||||||
[j] zh
|
[j] zh
|
||||||
[j] da
|
[j] da
|
||||||
@@ -442,7 +450,7 @@ l/l_ [l] base
|
|||||||
[l/] fr
|
[l/] fr
|
||||||
l/l_@ [l/3] base
|
l/l_@ [l/3] base
|
||||||
[l/] fr
|
[l/] fr
|
||||||
l/l@ [¨-] base
|
l/l@ [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l] fr
|
[l] fr
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
@@ -476,7 +484,7 @@ l/L2_oL [l/2] base
|
|||||||
l/L2_uL [l/2] base
|
l/L2_uL [l/2] base
|
||||||
l/l_3 [l/] de
|
l/l_3 [l/] de
|
||||||
l/l_4 [ll] sq
|
l/l_4 [ll] sq
|
||||||
l/la [¨-] base
|
l/la [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l] fr
|
[l] fr
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
@@ -484,7 +492,7 @@ l/la [
|
|||||||
[K] tn
|
[K] tn
|
||||||
l/l_a [l/3] base
|
l/l_a [l/3] base
|
||||||
[l/] fr
|
[l/] fr
|
||||||
l/le [¨-] base
|
l/le [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l] fr
|
[l] fr
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
@@ -496,7 +504,7 @@ l/L_eL_af [&] af
|
|||||||
[&:] af
|
[&:] af
|
||||||
l/l_front [L] sq
|
l/l_front [L] sq
|
||||||
l/l_front_ [l/4] sq
|
l/l_front_ [l/4] sq
|
||||||
l/li [¨-] base
|
l/li [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l] fr
|
[l] fr
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
@@ -510,7 +518,7 @@ ll/ll [L] base
|
|||||||
ll/_ll [L] base
|
ll/_ll [L] base
|
||||||
l/l_long [l] base
|
l/l_long [l] base
|
||||||
[l] fr
|
[l] fr
|
||||||
l/lo [¨-] base
|
l/lo [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
[K] nso
|
[K] nso
|
||||||
@@ -521,7 +529,7 @@ l^/l_rfx [l.] base
|
|||||||
[l;] lt
|
[l;] lt
|
||||||
[l] ru
|
[l] ru
|
||||||
[l^] ru
|
[l^] ru
|
||||||
l/lu [¨-] base
|
l/lu [¨\7] base
|
||||||
[l#] base
|
[l#] base
|
||||||
[l] fr
|
[l] fr
|
||||||
[l/2] fr
|
[l/2] fr
|
||||||
@@ -841,6 +849,7 @@ ufric/tlh [K] nso
|
|||||||
ufric/x [x] base
|
ufric/x [x] base
|
||||||
ufric/x2 [x2] af
|
ufric/x2 [x2] af
|
||||||
[x] ku
|
[x] ku
|
||||||
|
[Q2] ka
|
||||||
[X] kk
|
[X] kk
|
||||||
ufric/x_hr [x] base
|
ufric/x_hr [x] base
|
||||||
[x] hr
|
[x] hr
|
||||||
@@ -849,6 +858,7 @@ ufric/x_sr [h#] sr
|
|||||||
[x#] sr
|
[x#] sr
|
||||||
ufric/xx [X] base
|
ufric/xx [X] base
|
||||||
[Q"] base
|
[Q"] base
|
||||||
|
[Q] ka
|
||||||
ustop/c [c] base
|
ustop/c [c] base
|
||||||
ustop/k [k] base
|
ustop/k [k] base
|
||||||
[k] fr
|
[k] fr
|
||||||
@@ -862,9 +872,12 @@ ustop/k_ [k] base
|
|||||||
ustop/k_asp [kh] consonants
|
ustop/k_asp [kh] consonants
|
||||||
[gh] hi
|
[gh] hi
|
||||||
[kh] zh
|
[kh] zh
|
||||||
|
[k#] ka
|
||||||
[kh] tn
|
[kh] tn
|
||||||
ustop/k_asp2 [kh2] ml
|
ustop/k_asp2 [kh2] ml
|
||||||
[k#] ka
|
ustop/k_asp_a [k#] ka
|
||||||
|
ustop/k_asp_e [k#] ka
|
||||||
|
ustop/k_asp_u [k#] ka
|
||||||
ustop/k_ejc [k`] am
|
ustop/k_ejc [k`] am
|
||||||
ustop/ki [k] base
|
ustop/ki [k] base
|
||||||
[k] base2
|
[k] base2
|
||||||
@@ -887,7 +900,6 @@ ustop/kl [k] base
|
|||||||
[k] lv
|
[k] lv
|
||||||
[k] el
|
[k] el
|
||||||
[k] zhy
|
[k] zhy
|
||||||
[k#] ka
|
|
||||||
[kh] tn
|
[kh] tn
|
||||||
ustop/kr [k] base
|
ustop/kr [k] base
|
||||||
[k] base2
|
[k] base2
|
||||||
@@ -953,8 +965,6 @@ ustop/p_unasp_ [p-] consonants
|
|||||||
[p] vi
|
[p] vi
|
||||||
[p] sq
|
[p] sq
|
||||||
ustop/q [q] base
|
ustop/q [q] base
|
||||||
ustop/q2 [q] ka
|
|
||||||
ustop/q2_i [q] ka
|
|
||||||
ustop/q_u [q] base
|
ustop/q_u [q] base
|
||||||
ustop/t [t] base
|
ustop/t [t] base
|
||||||
[t] en-us
|
[t] en-us
|
||||||
@@ -1179,6 +1189,7 @@ vdiph/ai [aI] base2
|
|||||||
[aI] hy
|
[aI] hy
|
||||||
[aI] da
|
[aI] da
|
||||||
[aI] te
|
[aI] te
|
||||||
|
[aI] ga
|
||||||
[aI] kl
|
[aI] kl
|
||||||
vdiph/ai_2 [aI] en
|
vdiph/ai_2 [aI] en
|
||||||
[aI] cy
|
[aI] cy
|
||||||
@@ -1213,6 +1224,8 @@ vdiph/au_4 [aU] base2
|
|||||||
[aU] lt
|
[aU] lt
|
||||||
[aU] sk
|
[aU] sk
|
||||||
[aU] id
|
[aU] id
|
||||||
|
[aU] ga
|
||||||
|
[aU#] ga
|
||||||
vdiph/ee-e [E:] hi
|
vdiph/ee-e [E:] hi
|
||||||
vdiph/eei [EI] base2
|
vdiph/eei [EI] base2
|
||||||
[eI] en
|
[eI] en
|
||||||
@@ -1266,7 +1279,6 @@ vdiph/eu_2 [eu] fi
|
|||||||
vdiph/@i [Yi] et
|
vdiph/@i [Yi] et
|
||||||
[@I] vi
|
[@I] vi
|
||||||
[@:I] vi
|
[@:I] vi
|
||||||
[@I] ga
|
|
||||||
vdiph/&i [&i] fi
|
vdiph/&i [&i] fi
|
||||||
[&i] et
|
[&i] et
|
||||||
[aI] hi
|
[aI] hi
|
||||||
@@ -1422,6 +1434,8 @@ voc/dh_ [D] base
|
|||||||
voc/j [J^] base
|
voc/j [J^] base
|
||||||
voc/Q [Q] base
|
voc/Q [Q] base
|
||||||
[Q^] base
|
[Q^] base
|
||||||
|
[Q] ka
|
||||||
|
[Q2] ka
|
||||||
voc/Q_ [Q] base
|
voc/Q_ [Q] base
|
||||||
[Q^] base
|
[Q^] base
|
||||||
[Q] nl
|
[Q] nl
|
||||||
@@ -1500,11 +1514,7 @@ vowel/@ [@] base
|
|||||||
[@] wo
|
[@] wo
|
||||||
[@:] wo
|
[@:] wo
|
||||||
[@] te
|
[@] te
|
||||||
[@] ga
|
[@/] ga
|
||||||
[E#] ga
|
|
||||||
[I#] ga
|
|
||||||
[O#] ga
|
|
||||||
[U#] ga
|
|
||||||
vowel/@- [@-] base
|
vowel/@- [@-] base
|
||||||
[r*] hr
|
[r*] hr
|
||||||
[@-] da
|
[@-] da
|
||||||
@@ -1654,6 +1664,7 @@ vowel/a_3 [a] en-sc
|
|||||||
[a] sq
|
[a] sq
|
||||||
[A] da
|
[A] da
|
||||||
[?A] da
|
[?A] da
|
||||||
|
[a] ka
|
||||||
[a:] si
|
[a:] si
|
||||||
vowel/a#_3 [a#] en
|
vowel/a#_3 [a#] en
|
||||||
[a#] en-n
|
[a#] en-n
|
||||||
@@ -1733,6 +1744,7 @@ vowel/aa_8 [0] en-us
|
|||||||
[A1] et
|
[A1] et
|
||||||
[A] nl
|
[A] nl
|
||||||
[a:] is
|
[a:] is
|
||||||
|
[0] ga
|
||||||
[A] tt
|
[A] tt
|
||||||
[a] ko
|
[a] ko
|
||||||
vowel/aa_9 [a] fi
|
vowel/aa_9 [a] fi
|
||||||
@@ -2081,6 +2093,7 @@ vowel/ii_6 [I] en-wm
|
|||||||
[i] wo
|
[i] wo
|
||||||
vowel/ii_7 [i] en
|
vowel/ii_7 [i] en
|
||||||
[i] sq
|
[i] sq
|
||||||
|
[i] ga
|
||||||
vowel/ii_8 [i] kk
|
vowel/ii_8 [i] kk
|
||||||
vowel/ii_final [i] en-us
|
vowel/ii_final [i] en-us
|
||||||
[i] en-rp
|
[i] en-rp
|
||||||
@@ -2246,7 +2259,6 @@ vowel/oo_4 [O] base2
|
|||||||
[O] it
|
[O] it
|
||||||
[O] an
|
[O] an
|
||||||
[O] pa
|
[O] pa
|
||||||
[O] ga
|
|
||||||
vowel/oo_5 [O] pl
|
vowel/oo_5 [O] pl
|
||||||
[O] is
|
[O] is
|
||||||
[O] sq
|
[O] sq
|
||||||
@@ -2290,6 +2302,7 @@ vowel/u [u] base
|
|||||||
[u] ak
|
[u] ak
|
||||||
[u:] wo
|
[u:] wo
|
||||||
[u] bo
|
[u] bo
|
||||||
|
[u1] ga
|
||||||
[u] tt
|
[u] tt
|
||||||
vowel/u# [u:] en-sc
|
vowel/u# [u:] en-sc
|
||||||
[Y] tr
|
[Y] tr
|
||||||
@@ -2420,6 +2433,7 @@ vowel/V_3 [V] en-rp
|
|||||||
vowel/V_4 [V] en-sc
|
vowel/V_4 [V] en-sc
|
||||||
[V] da
|
[V] da
|
||||||
[?V] da
|
[?V] da
|
||||||
|
[O] ga
|
||||||
vowel/V_6 [V] en-us
|
vowel/V_6 [V] en-us
|
||||||
[a#] lv
|
[a#] lv
|
||||||
vowel/y [y] base2
|
vowel/y [y] base2
|
||||||
@@ -2477,9 +2491,11 @@ vowel/yy_4 [y] de
|
|||||||
[yI] is
|
[yI] is
|
||||||
[y] hy
|
[y] hy
|
||||||
vwl_af/@ [@] af
|
vwl_af/@ [@] af
|
||||||
|
[@] ga
|
||||||
vwl_af/I [I] af
|
vwl_af/I [I] af
|
||||||
vwl_af/r@ [@] af
|
vwl_af/r@ [@] af
|
||||||
[I] af
|
[I] af
|
||||||
|
[@] ga
|
||||||
vwl_de/uu_@ [UR] de
|
vwl_de/uu_@ [UR] de
|
||||||
vwl_en/aI@ [aI@] en
|
vwl_en/aI@ [aI@] en
|
||||||
[aI@] en-n
|
[aI@] en-n
|
||||||
|
|||||||
Binary file not shown.
+1
-1
@@ -674,7 +674,7 @@ phoneme j
|
|||||||
NextVowelStarts
|
NextVowelStarts
|
||||||
VowelStart(j/j@)
|
VowelStart(j/j@)
|
||||||
VowelStart(j/ja)
|
VowelStart(j/ja)
|
||||||
VowelStart(j/je,-60)
|
VowelStart(j/je,-40)
|
||||||
VowelStart(j/ji)
|
VowelStart(j/ji)
|
||||||
VowelStart(j/jo)
|
VowelStart(j/jo)
|
||||||
VowelStart(j/ju)
|
VowelStart(j/ju)
|
||||||
|
|||||||
+27
-18
@@ -28,7 +28,10 @@ endphoneme
|
|||||||
phoneme a
|
phoneme a
|
||||||
vowel starttype #a endtype #a
|
vowel starttype #a endtype #a
|
||||||
length 180
|
length 180
|
||||||
FMT(vowel/a#_2)
|
IF thisPh(isUnstressed) THEN
|
||||||
|
FMT(vowel/a#_2)
|
||||||
|
ENDIF
|
||||||
|
FMT(vowel/a_3)
|
||||||
endphoneme
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
@@ -69,12 +72,15 @@ phoneme k#
|
|||||||
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
|
Vowelin f1=1 f2=1400 -100 100 f3=-150 80
|
||||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
||||||
IF nextPh(isPause2) THEN
|
IF nextPh(isPause2) THEN
|
||||||
WAV(ustop/k_asp2, 40)
|
WAV(ustop/k_asp, 40)
|
||||||
ENDIF
|
ENDIF
|
||||||
IF nextPh(l) THEN
|
IF nextPhW(#e) OR nextPhW(#i) THEN
|
||||||
WAV(ustop/kl)
|
WAV(ustop/k_asp_e, 40)
|
||||||
|
ELIF nextPhW(#o) OR nextPhW(#u) THEN
|
||||||
|
WAV(ustop/k_asp_u, 50)
|
||||||
|
ELSE
|
||||||
|
WAV(ustop/k_asp_a, 45)
|
||||||
ENDIF
|
ENDIF
|
||||||
WAV(ustop/k_asp2, 60)
|
|
||||||
endphoneme
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
@@ -113,24 +119,27 @@ phoneme k
|
|||||||
import_phoneme consonants/k-
|
import_phoneme consonants/k-
|
||||||
endphoneme
|
endphoneme
|
||||||
|
|
||||||
phoneme q
|
|
||||||
vls uvl stop
|
|
||||||
lengthmod 2
|
|
||||||
Vowelin f1=1 f2=1700 0 200 f3=-300 80 gpaus f4 rms=30
|
|
||||||
Vowelout f1=1 f2=1700 -100 200 f3=-300 80 f4 rms=35
|
|
||||||
|
|
||||||
IF nextPh(#i) THEN
|
|
||||||
WAV(ustop/q2_i, 40)
|
|
||||||
ENDIF
|
|
||||||
WAV(ustop/q2, 48)
|
|
||||||
endphoneme
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
phoneme Q
|
phoneme Q
|
||||||
import_phoneme base/r"
|
vcd vel frc
|
||||||
|
voicingswitch x
|
||||||
|
lengthmod 6
|
||||||
|
Vowelin f1=2 f2=2300 200 400 f3=-100 80
|
||||||
|
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
||||||
|
FMT(voc/Q) addWav(ufric/xx, 100)
|
||||||
endphoneme
|
endphoneme
|
||||||
|
|
||||||
|
phoneme Q2
|
||||||
|
vcd vel frc
|
||||||
|
voicingswitch x
|
||||||
|
lengthmod 6
|
||||||
|
Vowelin f1=2 f2=2300 200 400 f3=-100 80
|
||||||
|
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
||||||
|
FMT(voc/Q) addWav(ufric/x2, 50)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
phoneme r
|
phoneme r
|
||||||
import_phoneme base/R
|
import_phoneme base/R
|
||||||
endphoneme
|
endphoneme
|
||||||
|
|||||||
Executable
+239
@@ -0,0 +1,239 @@
|
|||||||
|
// Version 2.4 January 2013
|
||||||
|
|
||||||
|
// short vowels
|
||||||
|
|
||||||
|
|
||||||
|
phoneme @ // Schwa, but always unstressed
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
unstressed
|
||||||
|
length 100
|
||||||
|
IF nextPh(i:) THEN
|
||||||
|
Length 70
|
||||||
|
FMT(vwl_af/r@)
|
||||||
|
ENDIF
|
||||||
|
IF nextPh(I) THEN
|
||||||
|
Length 70
|
||||||
|
FMT(vwl_af/r@)
|
||||||
|
ENDIF
|
||||||
|
IF nextPh(e:) THEN
|
||||||
|
Length 70
|
||||||
|
FMT(vwl_af/r@)
|
||||||
|
ENDIF
|
||||||
|
FMT(vwl_af/@)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme @/
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
FMT(vowel/@)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme a
|
||||||
|
vowel starttype #a endtype #a
|
||||||
|
length 150
|
||||||
|
FMT(vowel/a_4)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme a#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
ipa ɐ
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(a)
|
||||||
|
FMT(vowel/a#_3)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme E
|
||||||
|
vowel starttype #e endtype #e
|
||||||
|
length 140
|
||||||
|
FMT(vowel/e_mid)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme E#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(E)
|
||||||
|
ChangePhoneme(@/)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme I
|
||||||
|
vowel starttype #i endtype #i
|
||||||
|
length 120
|
||||||
|
FMT(vowel/ii_2)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme i // non syllabic i for end of words
|
||||||
|
vowel starttype #i endtype #i
|
||||||
|
ipa iU+032F
|
||||||
|
length 40
|
||||||
|
FMT(vowel/ii_7)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme O
|
||||||
|
vowel starttype #a endtype #@
|
||||||
|
length 140
|
||||||
|
FMT(vowel/V_4)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme O#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(O)
|
||||||
|
ChangePhoneme(a#)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme U
|
||||||
|
vowel starttype #u endtype #u
|
||||||
|
length 140
|
||||||
|
FMT(vowel/uu)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme U#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(U)
|
||||||
|
ChangePhoneme(@/)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme u1
|
||||||
|
vowel starttype #u endtype #u
|
||||||
|
ipa uU+0306
|
||||||
|
length 50
|
||||||
|
FMT(vowel/u)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme 0
|
||||||
|
vowel starttype #a endtype #a
|
||||||
|
length 180
|
||||||
|
ipa A
|
||||||
|
FMT(vowel/aa_8)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme 0#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(0)
|
||||||
|
ChangePhoneme(a#)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme o:
|
||||||
|
vowel starttype #o endtype #o
|
||||||
|
length 190
|
||||||
|
FMT(vowel/o)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
// long vowels
|
||||||
|
|
||||||
|
phoneme A:
|
||||||
|
vowel starttype #a endtype #a
|
||||||
|
length 200
|
||||||
|
FMT(vowel/aa_2)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme e:
|
||||||
|
vowel starttype #e endtype #e
|
||||||
|
length 210
|
||||||
|
FMT(vowel/e)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme i:
|
||||||
|
vowel starttype #i endtype #i
|
||||||
|
length 210
|
||||||
|
FMT(vowel/i)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phoneme u:
|
||||||
|
vowel starttype #u endtype #u
|
||||||
|
length 210
|
||||||
|
FMT(vowel/u_bck)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
// Diphthongs
|
||||||
|
|
||||||
|
|
||||||
|
phoneme @U
|
||||||
|
vowel starttype #@ endtype #u
|
||||||
|
length 240
|
||||||
|
FMT(vdiph/@u_3)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme i@
|
||||||
|
vowel starttype #i endtype #@
|
||||||
|
length 240
|
||||||
|
FMT(vdiph2/i@)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme u@
|
||||||
|
vowel starttype #u endtype #@
|
||||||
|
length 240
|
||||||
|
FMT(vdiph2/u@)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme aI
|
||||||
|
vowel starttype #a endtype #i
|
||||||
|
length 250
|
||||||
|
FMT(vdiph/ai)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme aI#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(aI)
|
||||||
|
ChangePhoneme(a#)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme aU
|
||||||
|
vowel starttype #a endtype #u
|
||||||
|
length 270
|
||||||
|
FMT(vdiph/au_4)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
phoneme aU#
|
||||||
|
vowel starttype #@ endtype #@
|
||||||
|
length 120
|
||||||
|
ChangeIfStressed(aU)
|
||||||
|
FMT(vdiph/au_4)
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme ; // linking j, used between (i) vowels and a following vowel
|
||||||
|
// also to palatalize consonants
|
||||||
|
liquid palatal
|
||||||
|
lengthmod 0
|
||||||
|
|
||||||
|
IF prevPh(#i) THEN
|
||||||
|
ipa NULL // linking after i vowel, don't show in ipa
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
NextVowelStarts
|
||||||
|
VowelStart(j2/j2@)
|
||||||
|
VowelStart(j2/j2a)
|
||||||
|
VowelStart(j2/j2e)
|
||||||
|
VowelStart(j2/j2i)
|
||||||
|
VowelStart(j2/j2o)
|
||||||
|
VowelStart(j2/j2u)
|
||||||
|
EndSwitch
|
||||||
|
|
||||||
|
IF prevPh(#i) THEN
|
||||||
|
VowelEnding(j2/xj2, -40)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF prevPh(isPause) THEN
|
||||||
|
FMT(j2/_j2)
|
||||||
|
ENDIF
|
||||||
|
endphoneme
|
||||||
|
|
||||||
@@ -144,18 +144,3 @@ phoneme d# // 'rr' sounds like English 'd'
|
|||||||
endphoneme
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
phoneme kh2
|
|
||||||
vls vel stop
|
|
||||||
lengthmod 2
|
|
||||||
voicingswitch g
|
|
||||||
Vowelin f1=0 f2=2300 200 300 f3=-150 80
|
|
||||||
Vowelout f1=0 f2=2300 300 400 f3=-150 80 rms=20
|
|
||||||
IF nextPh(isPause2) THEN
|
|
||||||
WAV(ustop/k_asp2, 50)
|
|
||||||
ENDIF
|
|
||||||
IF nextPh(l) THEN
|
|
||||||
WAV(ustop/kl)
|
|
||||||
ENDIF
|
|
||||||
WAV(ustop/k_asp2, 90)
|
|
||||||
endphoneme
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
//====================================================
|
||||||
|
// Vietnamese Phonemes - Make Huế Dialect
|
||||||
|
//====================================================
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 1 // ngang tone: level
|
||||||
|
stress
|
||||||
|
Tone(30, 2, envelope/p_level, NULL) // similar Hue dialect tone
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 2 // huyền tone: low falling
|
||||||
|
stress
|
||||||
|
Tone(20, 25, envelope/p_fall,envelope/vi_6amp) // NULL) //20 8
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 3 // sắc Tone(rising
|
||||||
|
stress
|
||||||
|
Tone(2, 10, envelope/p_rise, NULL) // 25 50 45 75
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 4 // hỏi Tone(curve (dipping rising)
|
||||||
|
stress
|
||||||
|
Tone(20, 5, envelope/p_512,NULL) //Tone(55, 5, envelope/p_fallrise, NULL) //30 5 m 55 5
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 5 // ngã tone: broken (creaking rising)
|
||||||
|
stress
|
||||||
|
Tone(50,2, envelope/p_214, envelope/vi_5amp) // 28,58 m20 85
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 6 // nặng Tone(drop (constricted)
|
||||||
|
stress
|
||||||
|
//length 150 // ignore because it make too short sound 75 // reduce the length of the vowel
|
||||||
|
Tone(25, 10, envelope/p_512, envelope/vi_6amp) // 40 20
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
|
phoneme 7 // Tone(1 (ngang) at end of clause
|
||||||
|
stress
|
||||||
|
Tone(5, 40, envelope/p_level, NULL) //Tone(99, 50, envelope/p_fall, NULL) // 40 20
|
||||||
|
endphoneme
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
+15
-12
@@ -310,7 +310,7 @@ int LoadDictionary(Translator *tr, const char *name, int no_error)
|
|||||||
p++; // skip over the zero which terminates the list for this hash value
|
p++; // skip over the zero which terminates the list for this hash value
|
||||||
}
|
}
|
||||||
|
|
||||||
if((tr->dict_min_size > 0) && (size < tr->dict_min_size))
|
if((tr->dict_min_size > 0) && (size < (unsigned int)tr->dict_min_size))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Full dictionary is not installed for '%s'\n", name);
|
fprintf(stderr, "Full dictionary is not installed for '%s'\n", name);
|
||||||
}
|
}
|
||||||
@@ -1040,7 +1040,7 @@ static int GetVowelStress(Translator *tr, unsigned char *phonemes, signed char *
|
|||||||
{
|
{
|
||||||
if(vowel_stress[ix] == 4)
|
if(vowel_stress[ix] == 4)
|
||||||
{
|
{
|
||||||
if(tr->langopts.stress_flags & 0x20000)
|
if(tr->langopts.stress_flags & S_PRIORITY_STRESS)
|
||||||
vowel_stress[ix] = 1;
|
vowel_stress[ix] = 1;
|
||||||
else
|
else
|
||||||
vowel_stress[ix] = 3;
|
vowel_stress[ix] = 3;
|
||||||
@@ -1208,12 +1208,6 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags,
|
|||||||
max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 1);
|
max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 1);
|
||||||
if((max_stress < 0) && dictionary_flags)
|
if((max_stress < 0) && dictionary_flags)
|
||||||
{
|
{
|
||||||
if((tr->langopts.stress_flags & 1) && (vowel_count == 2))
|
|
||||||
{
|
|
||||||
// lang=fr: don't stress monosyllables except at end-of-clause
|
|
||||||
vowel_stress[1] = 0;
|
|
||||||
dictionary_flags[0] |= FLAG_STRESS_END2;
|
|
||||||
}
|
|
||||||
max_stress = 0;
|
max_stress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2652,6 +2646,7 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
|||||||
if((match1.points == 0) && ((option_sayas & 0x10) == 0))
|
if((match1.points == 0) && ((option_sayas & 0x10) == 0))
|
||||||
{
|
{
|
||||||
n = utf8_in(&letter,p-1)-1;
|
n = utf8_in(&letter,p-1)-1;
|
||||||
|
|
||||||
if(tr->letter_bits_offset > 0)
|
if(tr->letter_bits_offset > 0)
|
||||||
{
|
{
|
||||||
// not a Latin alphabet, switch to the default Latin alphabet language
|
// not a Latin alphabet, switch to the default Latin alphabet language
|
||||||
@@ -2720,11 +2715,19 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
|||||||
p += (wc_bytes-1);
|
p += (wc_bytes-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(((alphabet = AlphabetFromChar(letter)) != NULL) && (alphabet->flags & AL_WORDS) && (alphabet->offset != tr->letter_bits_offset))
|
if(((alphabet = AlphabetFromChar(letter)) != NULL) && (alphabet->offset != tr->letter_bits_offset))
|
||||||
{
|
{
|
||||||
// switch to the nominated language for this alphabet
|
if(tr->langopts.alt_alphabet == alphabet->offset)
|
||||||
sprintf(phonemes,"%c%s",phonSWITCH, WordToString2(alphabet->language));
|
{
|
||||||
return(0);
|
sprintf(phonemes,"%c%s",phonSWITCH, tr->langopts.alt_alphabet_lang);
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
if(alphabet->flags & AL_WORDS)
|
||||||
|
{
|
||||||
|
// switch to the nominated language for this alphabet
|
||||||
|
sprintf(phonemes,"%c%s",phonSWITCH, WordToString2(alphabet->language));
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+39
-20
@@ -596,6 +596,8 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
|||||||
ALPHABET *alphabet;
|
ALPHABET *alphabet;
|
||||||
int language;
|
int language;
|
||||||
int phontab_1;
|
int phontab_1;
|
||||||
|
int alphabet_name_switch;
|
||||||
|
char *ph_alphabet_end;
|
||||||
char capital[20];
|
char capital[20];
|
||||||
char ph_buf[80];
|
char ph_buf[80];
|
||||||
char ph_buf2[80];
|
char ph_buf2[80];
|
||||||
@@ -631,6 +633,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alphabet_name_switch = 0;
|
||||||
alphabet = AlphabetFromChar(letter);
|
alphabet = AlphabetFromChar(letter);
|
||||||
if(alphabet != current_alphabet)
|
if(alphabet != current_alphabet)
|
||||||
{
|
{
|
||||||
@@ -638,38 +641,49 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
|||||||
current_alphabet = alphabet;
|
current_alphabet = alphabet;
|
||||||
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME) && (alphabet->offset != translator->letter_bits_offset))
|
if((alphabet != NULL) && !(alphabet->flags & AL_DONT_NAME) && (alphabet->offset != translator->letter_bits_offset))
|
||||||
{
|
{
|
||||||
phontab_1 = tr->phoneme_tab_ix;
|
if((alphabet->flags & AL_DONT_NAME) || (alphabet->offset == translator->langopts.alt_alphabet))
|
||||||
ph_buf2[0] = 0;
|
|
||||||
if(Lookup(translator, alphabet->name, ph_alphabet) == 0) // the original language for the current voice
|
|
||||||
{
|
{
|
||||||
// Can't find the local name for this alphabet, use the English name
|
// don't say the alphabet name
|
||||||
ph_alphabet[2] = SetTranslator2("en"); // overwrites previous contents of translator2
|
|
||||||
Lookup(translator2, alphabet->name, ph_buf2);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if(translator != tr)
|
|
||||||
{
|
{
|
||||||
phontab_1 = tr->phoneme_tab_ix;
|
phontab_1 = tr->phoneme_tab_ix;
|
||||||
strcpy(ph_buf2, ph_alphabet);
|
ph_buf2[0] = 0;
|
||||||
ph_alphabet[2] = translator->phoneme_tab_ix;
|
if(Lookup(translator, alphabet->name, ph_alphabet) == 0) // the original language for the current voice
|
||||||
}
|
{
|
||||||
|
// Can't find the local name for this alphabet, use the English name
|
||||||
|
ph_alphabet[2] = SetTranslator2("en"); // overwrites previous contents of translator2
|
||||||
|
Lookup(translator2, alphabet->name, ph_buf2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if(translator != tr)
|
||||||
|
{
|
||||||
|
phontab_1 = tr->phoneme_tab_ix;
|
||||||
|
strcpy(ph_buf2, ph_alphabet);
|
||||||
|
ph_alphabet[2] = translator->phoneme_tab_ix;
|
||||||
|
}
|
||||||
|
|
||||||
if(ph_buf2[0] != 0)
|
if(ph_buf2[0] != 0)
|
||||||
{
|
{
|
||||||
// we used a different language for the alphabet name (now in ph_buf2)
|
// we used a different language for the alphabet name (now in ph_buf2)
|
||||||
ph_alphabet[0] = phonPAUSE;
|
ph_alphabet[0] = phonPAUSE;
|
||||||
ph_alphabet[1] = phonSWITCH;
|
ph_alphabet[1] = phonSWITCH;
|
||||||
strcpy(&ph_alphabet[3], ph_buf2);
|
strcpy(&ph_alphabet[3], ph_buf2);
|
||||||
len = strlen(ph_buf2) + 3;
|
len = strlen(ph_buf2) + 3;
|
||||||
ph_alphabet[len] = phonSWITCH;
|
ph_alphabet[len] = phonSWITCH;
|
||||||
ph_alphabet[len+1] = phontab_1;
|
ph_alphabet[len+1] = phontab_1;
|
||||||
ph_alphabet[len+2] = 0;
|
ph_alphabet[len+2] = 0;
|
||||||
|
|
||||||
|
ph_alphabet_end = &ph_alphabet[len];
|
||||||
|
alphabet_name_switch = ph_alphabet[2];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// caution: SetWordStress() etc don't expect phonSWITCH + phoneme table number
|
// caution: SetWordStress() etc don't expect phonSWITCH + phoneme table number
|
||||||
|
|
||||||
if(ph_buf[0] == 0)
|
if(ph_buf[0] == 0)
|
||||||
{
|
{
|
||||||
if((alphabet != NULL) && (alphabet->language != 0) && !(alphabet->flags & AL_NOT_LETTERS))
|
if((alphabet != NULL) && (alphabet->language != 0) && !(alphabet->flags & AL_NOT_LETTERS))
|
||||||
@@ -702,6 +716,11 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control)
|
|||||||
ph_buf[len+2] = 0;
|
ph_buf[len+2] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if((ph_buf[2] == alphabet_name_switch) && (capital[0] == 0))
|
||||||
|
{
|
||||||
|
ph_alphabet_end[0]= 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ph_buf[0] == 0)
|
if(ph_buf[0] == 0)
|
||||||
|
|||||||
+1
-1
@@ -428,7 +428,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
|||||||
{
|
{
|
||||||
// in a sequence of unstressed syllables, reduce alternate syllables to 'diminished'
|
// in a sequence of unstressed syllables, reduce alternate syllables to 'diminished'
|
||||||
// stress. But not for the last phoneme of a stressed word
|
// stress. But not for the last phoneme of a stressed word
|
||||||
if((tr->langopts.stress_flags & 0x2) || ((word_stress > 3) && ((plist3+1)->sourceix!=0)))
|
if((tr->langopts.stress_flags & S_NO_DIM) || ((word_stress > 3) && ((plist3+1)->sourceix!=0)))
|
||||||
{
|
{
|
||||||
// An unstressed final vowel of a stressed word
|
// An unstressed final vowel of a stressed word
|
||||||
unstress_count=1; // try again for next syllable
|
unstress_count=1; // try again for next syllable
|
||||||
|
|||||||
+1
-1
@@ -892,7 +892,7 @@ if(stress <= 1)
|
|||||||
{
|
{
|
||||||
// this is the last syllable in the clause, lengthen it - more for short vowels
|
// this is the last syllable in the clause, lengthen it - more for short vowels
|
||||||
len = (p->ph->std_length * 2);
|
len = (p->ph->std_length * 2);
|
||||||
if(tr->langopts.stress_flags & 0x40000)
|
if(tr->langopts.stress_flags & S_EO_CLAUSE1)
|
||||||
len=200; // don't lengthen short vowels more than long vowels at end-of-clause
|
len=200; // don't lengthen short vowels more than long vowels at end-of-clause
|
||||||
length_mod = length_mod * (256 + (280 - len)/3)/256;
|
length_mod = length_mod * (256 + (280 - len)/3)/256;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@
|
|||||||
#include "translate.h"
|
#include "translate.h"
|
||||||
#include "wave.h"
|
#include "wave.h"
|
||||||
|
|
||||||
const char *version_string = "1.46.43 07.Mar.13";
|
const char *version_string = "1.46.44 08.Mar.13";
|
||||||
const int version_phdata = 0x014640;
|
const int version_phdata = 0x014640;
|
||||||
|
|
||||||
int option_device_number = -1;
|
int option_device_number = -1;
|
||||||
|
|||||||
+29
-25
@@ -478,7 +478,7 @@ Translator *SelectTranslator(const char *name)
|
|||||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||||
tr->letter_bits_offset = OFFSET_ETHIOPIC;
|
tr->letter_bits_offset = OFFSET_ETHIOPIC;
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||||
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.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||||
tr->langopts.numbers = NUM_OMIT_1_HUNDRED;
|
tr->langopts.numbers = NUM_OMIT_1_HUNDRED;
|
||||||
@@ -550,7 +550,7 @@ Translator *SelectTranslator(const char *name)
|
|||||||
// tr->langopts.intonation_group = 4;
|
// tr->langopts.intonation_group = 4;
|
||||||
|
|
||||||
// 'diminished' is an unstressed final syllable
|
// 'diminished' is an unstressed final syllable
|
||||||
tr->langopts.stress_flags = 0x6 | 0x10;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
tr->langopts.unstressed_wd1 = 0;
|
tr->langopts.unstressed_wd1 = 0;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
tr->langopts.param[LOPT_SONORANT_MIN] = 120; // limit the shortening of sonorants before short vowels
|
tr->langopts.param[LOPT_SONORANT_MIN] = 120; // limit the shortening of sonorants before short vowels
|
||||||
@@ -651,7 +651,7 @@ Translator *SelectTranslator(const char *name)
|
|||||||
|
|
||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY; // mark unstressed final syllables as diminished
|
||||||
tr->langopts.unstressed_wd1 = 0;
|
tr->langopts.unstressed_wd1 = 0;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
|
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels
|
||||||
@@ -681,7 +681,7 @@ Translator *SelectTranslator(const char *name)
|
|||||||
// tr->langopts.word_gap = 1;
|
// tr->langopts.word_gap = 1;
|
||||||
tr->langopts.vowel_pause = 2;
|
tr->langopts.vowel_pause = 2;
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x6 | 0x10;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
// tr->langopts.unstressed_wd1 = 3;
|
// tr->langopts.unstressed_wd1 = 3;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
|
|
||||||
@@ -989,7 +989,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
|
|
||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x10 | 0x20000;
|
tr->langopts.stress_flags = 0x10 | S_PRIORITY_STRESS;
|
||||||
tr->langopts.vowel_pause = 1;
|
tr->langopts.vowel_pause = 1;
|
||||||
tr->langopts.unstressed_wd1 = 2;
|
tr->langopts.unstressed_wd1 = 2;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
@@ -1023,8 +1023,9 @@ SetLengthMods(tr,3); // all equal
|
|||||||
case L('k','a'): // Georgian
|
case L('k','a'): // Georgian
|
||||||
{
|
{
|
||||||
// character codes offset by 0x1080
|
// character codes offset by 0x1080
|
||||||
static const char ka_vowels[] = {0x50,0x54,0x58,0x5d,0x63,0x75,0x77,0};
|
static const char ka_vowels[] = {0x30,0x34,0x38,0x3d,0x43,0x55,0x57,0};
|
||||||
static const char ka_consonants[] = {0x51,0x52,0x53,0x55,0x56,0x57,0x59,0x5a,0x5b,0x5c,0x5e,0x5f,0x60,0x61,0x62,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x76,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);
|
SetupTranslator(tr,stress_lengths_ta,stress_amps_ta);
|
||||||
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
|
memset(tr->letter_bits,0,sizeof(tr->letter_bits));
|
||||||
SetLetterBits(tr,LETTERGP_A,ka_vowels);
|
SetLetterBits(tr,LETTERGP_A,ka_vowels);
|
||||||
@@ -1037,6 +1038,9 @@ SetLengthMods(tr,3); // all equal
|
|||||||
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
// tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||||
tr->langopts.max_initial_consonants = 7;
|
tr->langopts.max_initial_consonants = 7;
|
||||||
tr->langopts.numbers = NUM_VIGESIMAL | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED |NUM_OMIT_1_THOUSAND | NUM_DFRACTION_5 | NUM_ROMAN;
|
tr->langopts.numbers = NUM_VIGESIMAL | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED |NUM_OMIT_1_THOUSAND | NUM_DFRACTION_5 | NUM_ROMAN;
|
||||||
|
|
||||||
|
tr->langopts.alt_alphabet = OFFSET_CYRILLIC;
|
||||||
|
tr->langopts.alt_alphabet_lang = "ru";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1111,7 +1115,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
{
|
{
|
||||||
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron
|
tr->charset_a0 = charsets[4]; // ISO-8859-4, includes a,e,i,o,u-macron
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x20;
|
tr->langopts.stress_flags = S_NO_AUTO_2;
|
||||||
tr->langopts.unstressed_wd1 = 0;
|
tr->langopts.unstressed_wd1 = 0;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
tr->langopts.param[LOPT_DIERESES] = 1;
|
tr->langopts.param[LOPT_DIERESES] = 1;
|
||||||
@@ -1124,7 +1128,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
{
|
{
|
||||||
tr->charset_a0 = charsets[4]; // ISO-8859-4
|
tr->charset_a0 = charsets[4]; // ISO-8859-4
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x20;
|
tr->langopts.stress_flags = S_NO_AUTO_2;
|
||||||
tr->langopts.unstressed_wd1 = 0;
|
tr->langopts.unstressed_wd1 = 0;
|
||||||
tr->langopts.unstressed_wd2 = 2;
|
tr->langopts.unstressed_wd2 = 2;
|
||||||
tr->langopts.param[LOPT_DIERESES] = 1;
|
tr->langopts.param[LOPT_DIERESES] = 1;
|
||||||
@@ -1211,7 +1215,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
|
|
||||||
SetupTranslator(tr,stress_lengths_om,stress_amps_om);
|
SetupTranslator(tr,stress_lengths_om,stress_amps_om);
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x16 + 0x80000;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | 0x80000;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1224,7 +1228,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
|
|
||||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY; // mark unstressed final syllables as diminished
|
||||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x9;
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x9;
|
||||||
tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :)
|
tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :)
|
||||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_2;
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_2;
|
||||||
@@ -1243,7 +1247,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
||||||
tr->langopts.stress_flags = 0x6 | 0x10 | 0x2000 | 0x20000;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_INITIAL_2 | S_PRIORITY_STRESS;
|
||||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_DFRACTION_2 | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_ROMAN;
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_DFRACTION_2 | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_ROMAN;
|
||||||
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL | NUM2_NO_TEEN_ORDINALS;
|
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL | NUM2_NO_TEEN_ORDINALS;
|
||||||
SetLetterVowel(tr,'y');
|
SetLetterVowel(tr,'y');
|
||||||
@@ -1261,7 +1265,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro);
|
SetupTranslator(tr,stress_lengths_ro,stress_amps_ro);
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x100 + 0x6;
|
tr->langopts.stress_flags = S_FINAL_STRESS_C + S_FINAL_DIM_ONLY;
|
||||||
|
|
||||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_3 | NUM_AND_UNITS | NUM_ROMAN;
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_3 | NUM_AND_UNITS | NUM_ROMAN;
|
||||||
@@ -1276,7 +1280,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
case L('r','w'): // Kiryarwanda
|
case L('r','w'): // Kiryarwanda
|
||||||
{
|
{
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x16;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
|
|
||||||
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_2 | NUM_AND_HUNDRED;
|
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_2 | NUM_AND_HUNDRED;
|
||||||
@@ -1293,7 +1297,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||||
tr->langopts.stress_flags = 0x16;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3;
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x3;
|
||||||
tr->langopts.max_initial_consonants = 5;
|
tr->langopts.max_initial_consonants = 5;
|
||||||
tr->langopts.spelling_stress = 1;
|
tr->langopts.spelling_stress = 1;
|
||||||
@@ -1322,7 +1326,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||||
tr->langopts.stress_flags = S_FINAL_DIM | S_NO_AUTO_DIM | S_FINAL_NO_2;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
tr->langopts.spelling_stress = 1;
|
tr->langopts.spelling_stress = 1;
|
||||||
|
|
||||||
tr->letter_bits_offset = OFFSET_SINHALA;
|
tr->letter_bits_offset = OFFSET_SINHALA;
|
||||||
@@ -1345,7 +1349,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
case L('s','l'): // Slovenian
|
case L('s','l'): // Slovenian
|
||||||
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
tr->charset_a0 = charsets[2]; // ISO-8859-2
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R; // Temporary
|
tr->langopts.stress_rule = STRESSPOSN_2R; // Temporary
|
||||||
tr->langopts.stress_flags = 0x20;
|
tr->langopts.stress_flags = S_NO_AUTO_2;
|
||||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103;
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103;
|
||||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word
|
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word
|
||||||
tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
|
tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test
|
||||||
@@ -1362,7 +1366,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
SetupTranslator(tr,stress_lengths_sq,stress_amps_sq);
|
SetupTranslator(tr,stress_lengths_sq,stress_amps_sq);
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x16 + 0x100;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_FINAL_STRESS_C;
|
||||||
SetLetterVowel(tr,'y');
|
SetLetterVowel(tr,'y');
|
||||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_4;
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_4;
|
||||||
tr->langopts.accents = 2; // "capital" after letter name
|
tr->langopts.accents = 2; // "capital" after letter name
|
||||||
@@ -1394,7 +1398,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
|
|
||||||
tr->langopts.vowel_pause = 1;
|
tr->langopts.vowel_pause = 1;
|
||||||
tr->langopts.stress_rule = STRESSPOSN_2R;
|
tr->langopts.stress_rule = STRESSPOSN_2R;
|
||||||
tr->langopts.stress_flags = 0x6 | 0x10;
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2;
|
||||||
|
|
||||||
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED;
|
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED;
|
||||||
tr->langopts.break_numbers = 0x49249268; // for languages which have numbers for 100,000 and 1,000,000
|
tr->langopts.break_numbers = 0x49249268; // for languages which have numbers for 100,000 and 1,000,000
|
||||||
@@ -1411,7 +1415,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||||
tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable
|
tr->langopts.stress_flags = S_FINAL_DIM_ONLY; // use 'diminished' for unstressed final syllable
|
||||||
tr->langopts.spelling_stress = 1;
|
tr->langopts.spelling_stress = 1;
|
||||||
tr->langopts.break_numbers = 0x14a8; // 1000, 100,000 10,000,000
|
tr->langopts.break_numbers = 0x14a8; // 1000, 100,000 10,000,000
|
||||||
|
|
||||||
@@ -1457,7 +1461,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
SetupTranslator(tr,stress_lengths_th,stress_amps_th);
|
SetupTranslator(tr,stress_lengths_th,stress_amps_th);
|
||||||
|
|
||||||
tr->langopts.stress_rule = 0; // stress on final syllable of a "word"
|
tr->langopts.stress_rule = 0; // stress on final syllable of a "word"
|
||||||
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module)
|
tr->langopts.stress_flags = S_NO_DIM; // don't automatically set diminished stress (may be set in the intonation module)
|
||||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
// tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping)
|
// tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping)
|
||||||
@@ -1476,7 +1480,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5
|
tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5
|
||||||
|
|
||||||
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable
|
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable
|
||||||
tr->langopts.stress_flags = 0x20; //no automatic secondary stress
|
tr->langopts.stress_flags = S_NO_AUTO_2; //no automatic secondary stress
|
||||||
tr->langopts.param[LOPT_SUFFIX] = 1;
|
tr->langopts.param[LOPT_SUFFIX] = 1;
|
||||||
|
|
||||||
if(name2 == L('a','z'))
|
if(name2 == L('a','z'))
|
||||||
@@ -1496,7 +1500,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
SetCyrillicLetters(tr);
|
SetCyrillicLetters(tr);
|
||||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable
|
||||||
tr->langopts.stress_flags = 0x20; //no automatic secondary stress
|
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;
|
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_DFRACTION_4;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1561,7 +1565,7 @@ SetLengthMods(tr,3); // all equal
|
|||||||
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh);
|
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh);
|
||||||
|
|
||||||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable of a "word"
|
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable of a "word"
|
||||||
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module)
|
tr->langopts.stress_flags = S_NO_DIM; // don't automatically set diminished stress (may be set in the intonation module)
|
||||||
tr->langopts.vowel_pause = 0;
|
tr->langopts.vowel_pause = 0;
|
||||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
||||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||||
@@ -1618,7 +1622,7 @@ static void Translator_Russian(Translator *tr)
|
|||||||
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 1;
|
tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 1;
|
||||||
tr->langopts.param[LOPT_REDUCE] = 2;
|
tr->langopts.param[LOPT_REDUCE] = 2;
|
||||||
tr->langopts.stress_rule = 5;
|
tr->langopts.stress_rule = 5;
|
||||||
tr->langopts.stress_flags = 0x0020; // waas 0x1010
|
tr->langopts.stress_flags = S_NO_AUTO_2;
|
||||||
|
|
||||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED;
|
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_OMIT_1_HUNDRED;
|
||||||
tr->langopts.numbers2 = 0x2 + NUM2_THOUSANDS_VAR1; // variant numbers before thousands
|
tr->langopts.numbers2 = 0x2 + NUM2_THOUSANDS_VAR1; // variant numbers before thousands
|
||||||
|
|||||||
+61
-12
@@ -2074,17 +2074,29 @@ return(FLAG_SPELLWORD);
|
|||||||
|
|
||||||
if(switch_phonemes >= 0)
|
if(switch_phonemes >= 0)
|
||||||
{
|
{
|
||||||
// this word uses a different phoneme table
|
if((p[0] == phonPAUSE) && (p[1] == phonSWITCH))
|
||||||
if(ph_list2[n_ph_list2-1].phcode == phonSWITCH)
|
{
|
||||||
{
|
// the new word starts with a phoneme table switch, so there's no need to switch before it.
|
||||||
//previous phoneme is also a phonSWITCH, just change its phoneme table number
|
if(ph_list2[n_ph_list2-1].phcode == phonSWITCH)
|
||||||
n_ph_list2--;
|
{
|
||||||
}
|
//previous phoneme is also a phonSWITCH, delete it
|
||||||
|
n_ph_list2--;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
|
// this word uses a different phoneme table
|
||||||
|
if(ph_list2[n_ph_list2-1].phcode == phonSWITCH)
|
||||||
|
{
|
||||||
|
//previous phoneme is also a phonSWITCH, just change its phoneme table number
|
||||||
|
n_ph_list2--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
|
||||||
|
}
|
||||||
|
ph_list2[n_ph_list2++].tone_ph = switch_phonemes; // temporary phoneme table number
|
||||||
}
|
}
|
||||||
ph_list2[n_ph_list2++].tone_ph = switch_phonemes; // temporary phoneme table number
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove initial pause from a word if it follows a hyphen
|
// remove initial pause from a word if it follows a hyphen
|
||||||
@@ -2484,6 +2496,34 @@ static int TranslateChar(Translator *tr, char *ptr, int prev_in, unsigned int c,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static const char *UCase_ga[] = {"bp","bhf","dt","gc","hA","mb","ng","ts","tA","nA",NULL};
|
||||||
|
|
||||||
|
int UpperCaseInWord(Translator *tr, char *word, int c)
|
||||||
|
{//=====================================================
|
||||||
|
int ix;
|
||||||
|
int len;
|
||||||
|
const char *p;
|
||||||
|
|
||||||
|
if(tr->translator_name == L('g','a'))
|
||||||
|
{
|
||||||
|
// Irish
|
||||||
|
for(ix=0; ; ix++)
|
||||||
|
{
|
||||||
|
if((p = UCase_ga[ix]) == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
len = strlen(p);
|
||||||
|
if((word[-len]==' ') && (memcmp(&word[-len+1], p, len-1) == 0))
|
||||||
|
{
|
||||||
|
if((c == p[len-1]) || ((p[len-1]=='A') && IsVowel(tr, c)))
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone_out, char **voice_change)
|
void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone_out, char **voice_change)
|
||||||
{//==========================================================================================================
|
{//==========================================================================================================
|
||||||
int ix;
|
int ix;
|
||||||
@@ -2910,10 +2950,19 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
|||||||
{
|
{
|
||||||
if(iswlower(prev_in))
|
if(iswlower(prev_in))
|
||||||
{
|
{
|
||||||
c = ' '; // lower case followed by upper case, treat as new word
|
// lower case followed by upper case in a word
|
||||||
space_inserted = 1;
|
if(UpperCaseInWord(tr, &sbuf[ix], c) == 1)
|
||||||
prev_in_save = c;
|
{
|
||||||
// next_word_flags |= FLAG_NOSPACE; // problem: prevents FLAG_HAS_DOT being set
|
// convert to lower case and continue
|
||||||
|
c = towlower(c);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
c = ' '; // lower case followed by upper case, treat as new word
|
||||||
|
space_inserted = 1;
|
||||||
|
prev_in_save = c;
|
||||||
|
// next_word_flags |= FLAG_NOSPACE; // problem: prevents FLAG_HAS_DOT being set
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if((c != ' ') && iswupper(prev_in) && iswlower(next_in))
|
if((c != ' ') && iswupper(prev_in) && iswlower(next_in))
|
||||||
|
|||||||
+34
-13
@@ -372,35 +372,53 @@ typedef struct {
|
|||||||
|
|
||||||
#define S_NO_DIM 0x02
|
#define S_NO_DIM 0x02
|
||||||
#define S_FINAL_DIM 0x04
|
#define S_FINAL_DIM 0x04
|
||||||
#define S_FINAL_NO_2 0x10
|
#define S_FINAL_DIM_ONLY 0x06
|
||||||
#define S_NO_AUTO_2 0x20
|
|
||||||
#define S_2_TO_HEAVY 0x40
|
|
||||||
#define S_FIRST_PRIMARY 0x80
|
|
||||||
#define S_2_SYL_2 0x1000
|
|
||||||
#define S_INITIAL_2 0x2000
|
|
||||||
#define S_NO_AUTO_DIM 0x10000
|
|
||||||
#define S_HYPEN_UNSTRESS 0x100000
|
|
||||||
#define S_NO_EOC_LENGTHEN 0x200000
|
|
||||||
// bit0=don't stress monosyllables, except at end of clause
|
|
||||||
// bit1=don't set diminished stress,
|
// bit1=don't set diminished stress,
|
||||||
// bit2=mark unstressed final syllables as diminished
|
// bit2=mark unstressed final syllables as diminished
|
||||||
|
|
||||||
// bit3=set consecutive unstressed syllables in unstressed words to diminished, but not in stressed words
|
// bit3=set consecutive unstressed syllables in unstressed words to diminished, but not in stressed words
|
||||||
|
|
||||||
|
#define S_FINAL_NO_2 0x10
|
||||||
// bit4=don't allow secondary stress on last syllable
|
// bit4=don't allow secondary stress on last syllable
|
||||||
|
|
||||||
|
#define S_NO_AUTO_2 0x20
|
||||||
// bit5-don't use automatic secondary stress
|
// bit5-don't use automatic secondary stress
|
||||||
|
|
||||||
|
#define S_2_TO_HEAVY 0x40
|
||||||
// bit6=light syllable followed by heavy, move secondary stress to the heavy syllable. LANG=Finnish
|
// bit6=light syllable followed by heavy, move secondary stress to the heavy syllable. LANG=Finnish
|
||||||
|
|
||||||
|
#define S_FIRST_PRIMARY 0x80
|
||||||
// bit7=if more than one primary stress, make the subsequent primaries to secondary stress
|
// bit7=if more than one primary stress, make the subsequent primaries to secondary stress
|
||||||
|
|
||||||
|
#define S_FINAL_STRESS_C 0x100
|
||||||
// bit8=stress last syllable if it doesn't end in a vowel
|
// bit8=stress last syllable if it doesn't end in a vowel
|
||||||
|
|
||||||
|
#define S_FINAL_SPANISH 0x200
|
||||||
// bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish
|
// bit9=stress last syllable if it doesn't end in vowel or "s" or "n" LANG=Spanish
|
||||||
|
|
||||||
|
#define S_2_SYL_2 0x1000
|
||||||
// bit12= In a 2-syllable word, if one has primary stress then give the other secondary stress
|
// bit12= In a 2-syllable word, if one has primary stress then give the other secondary stress
|
||||||
|
|
||||||
|
#define S_INITIAL_2 0x2000
|
||||||
// bit13= If there is only one syllable before the primary stress, give it a secondary stress
|
// bit13= If there is only one syllable before the primary stress, give it a secondary stress
|
||||||
// bit15= Give stress to the first unstressed syllable
|
|
||||||
// bit16= Don't diminish consecutive syllables within a word.
|
#define S_PRIORITY_STRESS 0x20000
|
||||||
// bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary"
|
// 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
|
// bit18= don't lengthen short vowels more than long vowels at end-of-clause
|
||||||
// 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
|
// bit20= hyphenated words, 2nd part is unstressed
|
||||||
|
|
||||||
|
#define S_NO_EOC_LENGTHEN 0x200000
|
||||||
// bit21= don't lengthen vowels at end-of-clause
|
// 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;
|
int stress_flags;
|
||||||
int unstressed_wd1; // stress for $u word of 1 syllable
|
int unstressed_wd1; // stress for $u word of 1 syllable
|
||||||
int unstressed_wd2; // stress for $u word of >1 syllable
|
int unstressed_wd2; // stress for $u word of >1 syllable
|
||||||
@@ -518,6 +536,8 @@ typedef struct {
|
|||||||
int listx; // compile *_listx after *list
|
int listx; // compile *_listx after *list
|
||||||
const unsigned int *replace_chars; // characters to be substitutes
|
const unsigned int *replace_chars; // characters to be substitutes
|
||||||
const char *ascii_language; // switch to this language for Latin characters
|
const char *ascii_language; // switch to this language for Latin characters
|
||||||
|
int alt_alphabet; // offset for another language to recognize
|
||||||
|
const char *alt_alphabet_lang; // language for the alt_alphabet
|
||||||
int max_lengthmod;
|
int max_lengthmod;
|
||||||
int lengthen_tonic; // lengthen the tonic syllable
|
int lengthen_tonic; // lengthen the tonic syllable
|
||||||
int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character
|
int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character
|
||||||
@@ -680,6 +700,7 @@ void InitText(int flags);
|
|||||||
void InitText2(void);
|
void InitText2(void);
|
||||||
int IsDigit(unsigned int c);
|
int IsDigit(unsigned int c);
|
||||||
int IsAlpha(unsigned int c);
|
int IsAlpha(unsigned int c);
|
||||||
|
int IsVowel(Translator *tr, int c);
|
||||||
int isspace2(unsigned int c);
|
int isspace2(unsigned int c);
|
||||||
int towlower2(unsigned int c);
|
int towlower2(unsigned int c);
|
||||||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa);
|
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa);
|
||||||
|
|||||||
+43
-26
@@ -61,7 +61,7 @@ int formant_rate[9]; // values adjusted for actual sample rate
|
|||||||
|
|
||||||
|
|
||||||
#define DEFAULT_LANGUAGE_PRIORITY 5
|
#define DEFAULT_LANGUAGE_PRIORITY 5
|
||||||
#define N_VOICES_LIST 200
|
#define N_VOICES_LIST 250
|
||||||
static int n_voices_list = 0;
|
static int n_voices_list = 0;
|
||||||
static espeak_VOICE *voices_list[N_VOICES_LIST];
|
static espeak_VOICE *voices_list[N_VOICES_LIST];
|
||||||
static int len_path_voices;
|
static int len_path_voices;
|
||||||
@@ -578,10 +578,8 @@ voice_t *LoadVoice(const char *vname, int control)
|
|||||||
static const char *voices_europe =
|
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 ";
|
"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 ";
|
||||||
|
|
||||||
strcpy(voicename,vname);
|
|
||||||
if(voicename[0]==0)
|
|
||||||
strcpy(voicename,"default");
|
|
||||||
|
|
||||||
|
strncpy0(voicename, vname, sizeof(voicename));
|
||||||
if(control & 0x10)
|
if(control & 0x10)
|
||||||
{
|
{
|
||||||
strcpy(buf,vname);
|
strcpy(buf,vname);
|
||||||
@@ -590,6 +588,9 @@ voice_t *LoadVoice(const char *vname, int control)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if(voicename[0]==0)
|
||||||
|
strcpy(voicename,"default");
|
||||||
|
|
||||||
sprintf(path_voices,"%s%cvoices%c",path_home,PATHSEP,PATHSEP);
|
sprintf(path_voices,"%s%cvoices%c",path_home,PATHSEP,PATHSEP);
|
||||||
sprintf(buf,"%s%s",path_voices,voicename); // first, look in the main voices directory
|
sprintf(buf,"%s%s",path_voices,voicename); // first, look in the main voices directory
|
||||||
|
|
||||||
@@ -1634,30 +1635,35 @@ static void GetVoices(const char *path)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
sprintf(fname,"%s%c%s",path,PATHSEP,FindFileData.cFileName);
|
if(n_voices_list >= (N_VOICES_LIST-2))
|
||||||
|
break; // voices list is full
|
||||||
|
|
||||||
ftype = GetFileLength(fname);
|
if(FindFileData.cFileName[0] != '.')
|
||||||
|
|
||||||
if((ftype == -2) && (FindFileData.cFileName[0] != '.'))
|
|
||||||
{
|
{
|
||||||
// a sub-sirectory
|
sprintf(fname,"%s%c%s",path,PATHSEP,FindFileData.cFileName);
|
||||||
GetVoices(fname);
|
ftype = GetFileLength(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
|
if(ftype == -2)
|
||||||
voice_data = ReadVoiceFile(f_voice, fname+len_path_voices, FindFileData.cFileName);
|
{
|
||||||
fclose(f_voice);
|
// 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(voice_data != NULL)
|
// pass voice file name within the voices directory
|
||||||
{
|
voice_data = ReadVoiceFile(f_voice, fname+len_path_voices, FindFileData.cFileName);
|
||||||
voices_list[n_voices_list++] = voice_data;
|
fclose(f_voice);
|
||||||
}
|
|
||||||
|
if(voice_data != NULL)
|
||||||
|
{
|
||||||
|
voices_list[n_voices_list++] = voice_data;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} while(FindNextFileA(hFind, &FindFileData) != 0);
|
} while(FindNextFileA(hFind, &FindFileData) != 0);
|
||||||
FindClose(hFind);
|
FindClose(hFind);
|
||||||
@@ -1674,11 +1680,14 @@ static void GetVoices(const char *path)
|
|||||||
if(n_voices_list >= (N_VOICES_LIST-2))
|
if(n_voices_list >= (N_VOICES_LIST-2))
|
||||||
break; // voices list is full
|
break; // voices list is full
|
||||||
|
|
||||||
|
if(ent->d_name[0] == '.')
|
||||||
|
continue;
|
||||||
|
|
||||||
sprintf(fname,"%s%c%s",path,PATHSEP,ent->d_name);
|
sprintf(fname,"%s%c%s",path,PATHSEP,ent->d_name);
|
||||||
|
|
||||||
ftype = GetFileLength(fname);
|
ftype = GetFileLength(fname);
|
||||||
|
|
||||||
if((ftype == -2) && (ent->d_name[0] != '.'))
|
if(ftype == -2)
|
||||||
{
|
{
|
||||||
// a sub-sirectory
|
// a sub-sirectory
|
||||||
GetVoices(fname);
|
GetVoices(fname);
|
||||||
@@ -1710,15 +1719,23 @@ static void GetVoices(const char *path)
|
|||||||
espeak_ERROR SetVoiceByName(const char *name)
|
espeak_ERROR SetVoiceByName(const char *name)
|
||||||
{//=========================================
|
{//=========================================
|
||||||
espeak_VOICE *v;
|
espeak_VOICE *v;
|
||||||
|
int ix;
|
||||||
espeak_VOICE voice_selector;
|
espeak_VOICE voice_selector;
|
||||||
char *variant_name;
|
char *variant_name;
|
||||||
static char buf[60];
|
static char buf[60];
|
||||||
|
|
||||||
strncpy0(buf,name,sizeof(buf));
|
strncpy0(buf,name,sizeof(buf));
|
||||||
|
|
||||||
variant_name = ExtractVoiceVariantName(buf, 0, 1);
|
variant_name = ExtractVoiceVariantName(buf, 0, 1);
|
||||||
|
|
||||||
|
for(ix=0; ;ix++)
|
||||||
|
{
|
||||||
|
// convert voice name to lower case (ascii)
|
||||||
|
if((buf[ix] = tolower(buf[ix])) == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&voice_selector,0,sizeof(voice_selector));
|
memset(&voice_selector,0,sizeof(voice_selector));
|
||||||
// voice_selector.name = buf;
|
|
||||||
voice_selector.name = (char *)name; // include variant name in voice stack ??
|
voice_selector.name = (char *)name; // include variant name in voice stack ??
|
||||||
|
|
||||||
// first check for a voice with this filename
|
// first check for a voice with this filename
|
||||||
|
|||||||
Reference in New Issue
Block a user