Browse Source

Add Shavian script support

master
Luna Rose 11 months ago
parent
commit
f69dd80b68

+ 1
- 0
ChangeLog.md View File

@@ -39,6 +39,7 @@ updated languages:
* uz (Uzbek) -- Andiv06

new languages:
* en-Shaw (English, Shavian script) -- Luna Rose
* ti (Tigrinya) -- Biniam Gebremichael
* mto (Totontepec Mixe) -- Bill Dengler, Elizabeth Resendiz
* fo (Faroese) -- Andras Eliassen, iSolveIT ApS and Setur.fo/Ravnur

+ 79
- 0
dictsource/en_list View File

@@ -3372,6 +3372,7 @@ shampoo $2
shaoni SaI'oUni
shareable Se@@b@L
sharpie $alt2
shavian $alt6
shazam $alt3
shea S'eI $only
shebang SI#baN
@@ -5708,3 +5709,81 @@ sterile $alt2
tensile $alt2
virile $alt2
?3 volatile v0la#t@L



// Shavian (phonemic alphabet for English)
// Community Shavian letter names
๐‘ p'In
๐‘š b'El
_๐‘‘ t'an
๐‘› d'Vn
๐‘’ k'i:
๐‘œ g'Il
_๐‘“ f'eI
_๐‘ v'aI
๐‘” T'O@n
_๐‘ž D'aU
๐‘• s'i:
๐‘Ÿ z'u:
๐‘– S'aI
๐‘  Z'oU
๐‘— tS'A:
๐‘ก dZ'OI
๐‘˜ j'En
_๐‘ข w'eI
๐‘™ s'0N
๐‘ฃ h'u:
๐‘ค l'am
๐‘ฎ r'oU
๐‘ฅ m'i:
_๐‘ฏ n'aU
๐‘ฆ 'In
๐‘ฐ 'i:v
๐‘ง 'EdZ
๐‘ฑ 'eIm
๐‘จ 'aS
_๐‘ฒ 'aIz
_๐‘ฉ @g'oU
๐‘ณ 'Vp
๐‘ช '0n
_๐‘ด 'oUT
๐‘ซ 'Umf
_๐‘ต 'u:z
๐‘ฌ 'aUns
๐‘ถ 'OIl
๐‘ญ 'A:mz
๐‘ท 'O:t
_๐‘ธ 'a:ri;@
_๐‘น 'O:r@
๐‘ป '3:rlI
๐‘ผ @r'eI
_๐‘ฝ 'i@3ri
๐‘พ 'i:;@n
_๐‘ฟ j'u:l

// Shavian short forms and single letter words
๐‘ฉ $nounf
๐‘ธ %A@ $pastf $only
๐‘ฒ aI $u+ $verbf $only
๐‘ฏ and $u $pause $only
๐‘ž D@2 $only $nounf
๐‘“ fO@ $u
๐‘ฝ i@3 $noun
๐‘ฟ ju: $u $verbf
๐‘ด 'oU
๐‘ต 'u: // "ooh"
๐‘น O@ $u $pause $only
๐‘ 02v $u $only
๐‘‘ t@5 $verbf $alt7 // @ change to U before vowel
๐‘ข wID $u // used sometimes

// Shavian dictionary
๐‘ฅ๐‘ฒ maI $u $nounf $strend2
๐‘ฆ๐‘ฏ %In $strend $only $nounf
๐‘ฆ๐‘Ÿ %Iz $pastf $only
๐‘ฃ๐‘จ๐‘› %had $pastf $strend2 $only
๐‘–๐‘ฐ Si: $u $only $verbsf
๐‘•๐‘ณ๐‘ฅ ,sVm $nounf $unstressend $only
๐‘š๐‘ณ๐‘‘ ,bVt $pause $only
๐‘ข๐‘ฆ๐‘— ,wItS $pause $strend2 $only $verbf

+ 53
- 1
dictsource/en_rules View File

@@ -6986,9 +6986,61 @@ contin) u ju:
'd (_S2 d
'll (_S3 @L

// Shavian characters, phonemic alphabet for English
.group 0xF0
// 0xF0 is the first byte of the utf-8 code for these characters

๐‘ p
๐‘š b
๐‘‘ t
๐‘› d
๐‘’ k
๐‘œ g
๐‘“ f
๐‘ v
๐‘” T
๐‘ž D
๐‘• s
๐‘Ÿ z
๐‘– S
๐‘  Z
๐‘— tS
๐‘ก dZ
๐‘˜ j
๐‘ข w
๐‘™ N
๐‘ฃ h
๐‘ค l
๐‘ฎ r
๐‘ฅ m
๐‘ฏ n
๐‘ฆ I
๐‘ฆ (_ %i
๐‘ฐ i:
๐‘ง E
๐‘ฑ eI
๐‘จ a
๐‘ฒ aI
๐‘ฉ @
๐‘ณ V
๐‘ช 0
๐‘ด oU
๐‘ซ U
๐‘ต u:
๐‘ฌ aU
๐‘ถ OI
๐‘ญ A:
๐‘ท O:
๐‘ธ 'A@
๐‘น 'O@
๐‘บ 'e@
๐‘ป '3:
๐‘ผ 3
๐‘ฝ 'i@3
๐‘พ i:@
๐‘ฟ ju:

.group 0xce // Greek letters
// 0xce is the first byte of the utf-8 code for these characters

ฮฑ 'alf@_
ฮฒ b'i:t@_

+ 5
- 0
espeak-ng-data/lang/gmw/en-Shaw View File

@@ -0,0 +1,5 @@
name English (Shavian alphabet)
language en-shaw
maintainer Luna Rose <[email protected]>
status testing
phonemes en

+ 2
- 0
src/libespeak-ng/tr_languages.c View File

@@ -59,6 +59,7 @@
#define OFFSET_GEORGIAN 0x10a0
#define OFFSET_KOREAN 0x1100
#define OFFSET_ETHIOPIC 0x1200
#define OFFSET_SHAVIAN 0x10450

// character ranges must be listed in ascending unicode order
static const ALPHABET alphabets[] = {
@@ -89,6 +90,7 @@ static const ALPHABET alphabets[] = {
{ "_ja", 0x3040, 0x3040, 0x30ff, 0, AL_NOT_CODE },
{ "_zh", 0x3100, 0x3100, 0x9fff, 0, AL_NOT_CODE },
{ "_ko", 0xa700, 0xa700, 0xd7ff, L('k', 'o'), AL_NOT_CODE | AL_WORDS },
{ "_shaw", OFFSET_SHAVIAN, 0x10450, 0x1047F, L('e', 'n'), 0 },
{ NULL, 0, 0, 0, 0, 0 }
};


+ 1
- 1
src/libespeak-ng/translate.h View File

@@ -271,7 +271,7 @@ typedef struct {
typedef struct {
const char *name;
int offset;
unsigned short range_min, range_max;
unsigned int range_min, range_max;
int language;
int flags;
} ALPHABET;

+ 1
- 0
tests/language-phonemes.test View File

@@ -48,6 +48,7 @@ test_phwav en-GB-x-gbcwmd bc915f0d2a0ec699dfe169aef3f69aac2a5ba2f7 "ma na Na pa
test_phwav en-GB-x-rp 5b1cfb0721608b235f23eb1b36e88a7e4189388e "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
test_phwav en-US bfa628c50f1cad5cc0ff0adad905f8c2d855b4ac "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
test_phwav en-US-nyc 09858d35ec3a09647beee153cbac7de881c9062d "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
test_phwav en-Shaw d697eff0a076e5a5083c60196bfe1098706fc305 "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
test_phwav eo cc2f7f352c6d299c81f6f95e730883f052dbc597 "ma na pa ta ka ba da ga fa sa Sa xa ha va za Za tsa tSa dza dZa la ja wa ra _:_ ma me mo mi mu maU meU maI meI moU muI"
test_phwav es 4758bff06486f6a37666f050ada0f04f0b762fad "ma na n^a pa ta ka ba da ga fa Ta sa Sa J^a xa Da tSa la l^a *a Ra ra v#a _:_ ma ma/ me me/ mE mi mo mo/ mu moI"
test_phwav es-419 7025e7baeb4b68cd856777a1173a07e06bfd900a "ma na n^a pa ta ka ba da ga fa Ta sa Sa J^a xa Da tSa la l^a *a Ra ra v#a _:_ ma ma/ me me/ mE mi mo mo/ mu moI"

+ 6
- 0
tests/language-pronunciation.test View File

@@ -70,6 +70,12 @@ test_phon de "v'Ikto:r j'A:kt tsv'Wlf b'OkskEmpf3 kv'e:r_:_: _|,y:b3 de:n gr'o:s
h'aItsWlr,yksto:s,abdEmpf,UN" "Victor jagt zwรถlf Boxkรคmpfer quer รผber den groรŸen Sylter Deich. HeizรถlrรผckstoรŸabdรคmpfung." "Latn"
test_phon el "ks,escep'azo t'im bz,ixofT'ora vD,eliQm'i;a" "ฮžฮตฯƒฮบฮตฯ€ฮฌฮถฯ‰ ฯ„แฝดฮฝ ฯˆฯ…ฯ‡ฮฟฯ†ฮธฯŒฯฮฑ ฮฒฮดฮตฮปฯ…ฮณฮผฮฏฮฑ." "Grek"
test_phon en "D@ kw'Ik br'aUn f'0ks dZ'Vmps ,oUv3 D@ l'eIzi d'0g" "The quick brown fox jumps over the lazy dog" "Latn"
test_phon en "h'i@3rIN m'i: b'oU
DI2; 'aZ3 Tr'VS k'O:z
'e@ j'O@ dZ'OIf@l 'A@ri:;@
aI v'aU
ju: w'0nt g'Ud tS'A:
'EseI pu:'3:" "๐‘ฃ๐‘ฝ๐‘ฆ๐‘™ ๐‘ฅ๐‘ฐ ๐‘š๐‘ด, ๐‘ž ๐‘จ๐‘ ๐‘ผ ๐‘”๐‘ฎ๐‘ณ๐‘– ๐‘’๐‘ท๐‘Ÿ. ๐‘บ ๐‘˜๐‘น ๐‘ก๐‘ถ๐‘“๐‘ฉ๐‘ค ๐‘ธ๐‘พ, ๐‘ฒ ๐‘๐‘ฌ, ๐‘ฟ ๐‘ข๐‘ช๐‘ฏ๐‘‘ ๐‘œ๐‘ซ๐‘› ๐‘—๐‘ญ. ๐‘ง๐‘•๐‘ฑ ๐‘๐‘ต'๐‘ป!." "Shaw"
test_phon eo ",eble tS'i;u kv'azaUd'etsa f,uSxoR'aZo dZoI'igos homt'ipon
,exoS'andZo tS,i;uZ'aUde
p@-*'eskaU f@-*'eSa tS'exa mandZ'aZo" "Eble ฤ‰iu kvazaลญ-deca fuลฤฅoraฤตo ฤojigos homtipon. Eฤฅoลanฤo ฤ‰iuฤตaลญde, preskaลญ freลa ฤ‰eฤฅa manฤaฤตo." "Latn"

Loadingโ€ฆ
Cancel
Save