Conflicts: dictsource/dict_phonemes phsource/compile_reportmaster
| @@ -57,6 +57,7 @@ _y je | |||
| y je $atend | |||
| ch tSe | |||
| ll 'El^e | |||
| ny n^e | |||
| á 'a||akTEntw'aDa | |||
| é 'e||akTEntw'aDa | |||
| í 'i||akTEntw'aDa | |||
| @@ -118,9 +119,10 @@ _x#º %o // for 1º 2º 3º | |||
| _x#ª %a | |||
| º orDin'al||maskul'in | |||
| ª orDin'al||femen'in | |||
| ºc gr'aUs||T'e | |||
| ºf gr'aUs||'Efe | |||
| ºk gr'aUs||k'a | |||
| (1 ºc) un||gr'aU||T'e | |||
| ºc gr'aUs||Tentigr'aUs | |||
| ºf gr'aUs||f'arEnxeI | |||
| ºk gr'aUs||k'elBin | |||
| _1ox prim'Er | |||
| _2ox seQ'und | |||
| @@ -183,6 +185,7 @@ $ d'olar | |||
| \ kontraBaRRa | |||
| | b'aRRaBertik'al | |||
| ° graUs | |||
| (1 °) un||gr'aU | |||
| _- gj'on | |||
| ! TaRR'ar||eksklamaTj'on | |||
| @@ -471,40 +474,56 @@ witsa $abbrev | |||
| // exceptions | |||
| barça b'arsa | |||
| holio x'olio | |||
| jazz dZ'as | |||
| banjo Banjo | |||
| barça barsa | |||
| desenyermar DesenjErmar | |||
| halar xalar | |||
| halma xalma | |||
| harcia xarTja | |||
| hibo xiBo | |||
| hoder xoDer | |||
| holgorio xolg'orio | |||
| holio x'olio | |||
| hopar xopar | |||
| huerga xuerga | |||
| huerza xuerTa | |||
| jacuzzi jakusi | |||
| jazz jas | |||
| jet jet | |||
| judo juDo | |||
| // Foreign words | |||
| android andr'oId | |||
| apple 'apEl | |||
| at 'at | |||
| chat tS'at | |||
| chrome kr'ome | |||
| espeak isp'ik | |||
| (e speak) isp'ik | |||
| facebook f'eIsbuk | |||
| firefox f'aIrfoks | |||
| google g'ugEl | |||
| hotmail xotm'eIl | |||
| android androId | |||
| apple 'apEl | |||
| at at | |||
| chat tSat | |||
| chrome krome | |||
| espeak ispik | |||
| (e speak) ispik | |||
| facebook f'eIsbuk | |||
| firefox f'aIrfoks | |||
| google g'ugEl | |||
| hardware x'ardwer | |||
| hockey xokeI | |||
| hotmail xotmeIl | |||
| (i phone) 'aIfon | |||
| iphone 'aIfon | |||
| (i pod) 'aIpod | |||
| ipod 'aIpod | |||
| hardware x'ardwer | |||
| linux $1 | |||
| live l'aIB | |||
| messenger m'esendZer | |||
| mozilla moT'ila | |||
| nvda ene|be|de|'a | |||
| office 'ofis | |||
| skype esk'aIp | |||
| iphone 'aIfon | |||
| (i pod) 'aIpod | |||
| ipod 'aIpod | |||
| junior j'unior | |||
| linux $1 | |||
| live laIB | |||
| messenger m'esendZer | |||
| mozilla moTila | |||
| nvda ene|be|de|'a | |||
| office ofis | |||
| skype eskaIp | |||
| software s'oftwer | |||
| thunderbird Tanderb'ird | |||
| twitter tw'iter | |||
| unix j'uniks | |||
| whatsapp was'app | |||
| windows w'indows | |||
| thunderbird Tanderbird | |||
| twitter tw'iter | |||
| unix j'uniks | |||
| whatsapp wasap | |||
| windows w'indows | |||
| //mobile _^_EN | |||
| @@ -1,3 +1,4 @@ | |||
| // Aragon translation rules | |||
| // This file is UTF-8 encoded | |||
| @@ -111,6 +112,7 @@ | |||
| i i | |||
| i (u_ i | |||
| i (A j | |||
| .group j | |||
| @@ -168,6 +170,7 @@ | |||
| .group q | |||
| q k | |||
| qu (A kw | |||
| qü kw | |||
| qu (e k | |||
| @@ -204,6 +207,9 @@ | |||
| u) t (_ t# | |||
| ei) t (_ t# | |||
| n) t (_ = // silent, but stress on last vowel | |||
| n) t (m // Silent | |||
| _pos) t (h t | |||
| _pos) t (C // Silent | |||
| tz T | |||
| ue) t (_ t# | |||
| ui) t (_ t# | |||
| @@ -593,6 +593,7 @@ oem $abbrev | |||
| ok $abbrev | |||
| omg $abbrev | |||
| os $abbrev | |||
| osx $abbrev | |||
| otoh $abbrev | |||
| pcie $abbrev | |||
| pcmcia $abbrev | |||
| @@ -1641,6 +1642,7 @@ gentlemen dZEnt@Lm@n | |||
| genuine dZEnju:I#n | |||
| geode dZi:oUd | |||
| geologist $2 | |||
| gettin gEt#n- | |||
| geyser gi:z3 | |||
| ?3 geyser gaIz3 | |||
| gibbon gIb@n | |||
| @@ -1680,6 +1682,7 @@ gurus gu:ru:z | |||
| habitual $alt3 | |||
| haggis hagIs | |||
| haha hA:h'A: | |||
| halation $alt3 // in- | |||
| halleluiah halI2'lu:j@ | |||
| hallelujah halI2'lu:j@ | |||
| halloween $3 | |||
| @@ -2419,6 +2422,7 @@ puny pju:ni | |||
| purist pju:r-Ist | |||
| purport $2 | |||
| purportedly $2 | |||
| puttin pUt#n- | |||
| pyjama p@dZA:m@ | |||
| pyrites paIr'aIti:z | |||
| pythagoras paIT'ag@r@s | |||
| @@ -3258,6 +3262,7 @@ Korean kOr'i:@n | |||
| Kosovo k0s@voU | |||
| Kuala kwA:la# | |||
| Lagos leIg0s | |||
| Lahore $alt3 | |||
| Lebanon lEb@n0n | |||
| Leipzig laIpsIg | |||
| Leone li:'oUn | |||
| @@ -3681,6 +3686,7 @@ Persephone p3s'Ef@ni | |||
| Phoebe fi:bi: | |||
| Rachael reItS@L | |||
| Rachel reItS@L | |||
| Rae reI | |||
| Rafael rA:faI'El | |||
| Rashid rA:S'i:d | |||
| Raul raU'u:l | |||
| @@ -3713,6 +3719,7 @@ Siobhán S@vO:n | |||
| Sonia s0nj@ | |||
| Sophie soUfi | |||
| Stephen sti:v@n | |||
| Stevie sti:vi | |||
| Stewart stju:3t | |||
| ?3 Stewart stu:3t | |||
| Stuart stju:3t | |||
| @@ -979,6 +979,7 @@ | |||
| u) ar (ish e@r | |||
| ?3 _) ar (istocrat a#r | |||
| log) ar (i @r | |||
| marg) ar (AtA_ 3r' | |||
| m) ar (it ar | |||
| p) ar (i ar | |||
| p) ar (in e@ | |||
| @@ -2715,6 +2716,7 @@ | |||
| g (eek g | |||
| _) g (ert g | |||
| _) g (ek g | |||
| g (eld g | |||
| ge (nic_ dZ'E | |||
| genesis dZ'EnI2sIs | |||
| geous dZ=@s | |||
| @@ -3200,7 +3202,7 @@ | |||
| .group in | |||
| @) ing (_+S3dve %IN | |||
| @) ings (_S4dve %INz | |||
| @) ings (_S1m z | |||
| @) ingly (_S5dve %INl%I | |||
| @) ingment (_S7dve %INm@nt | |||
| logu) ing (_S4v %IN | |||
| @@ -4102,7 +4104,7 @@ | |||
| o (tion oU | |||
| m) o (tiv oU | |||
| r) o (to oU | |||
| pr) oto oUtoU | |||
| pr) oto (C oUtoU | |||
| pr) oto (n oUt0 | |||
| m) otor oUt3 | |||
| n) o (tor oU | |||
| @@ -4217,6 +4219,7 @@ | |||
| Cd) on (_ @n | |||
| ?3 ag) on (_ 0n | |||
| rg) on (_ @n | |||
| &k) on (_ @n | |||
| &s) on (_ @n | |||
| &t) on (_ @n | |||
| &tr) on (_ 0n | |||
| @@ -4955,7 +4958,6 @@ | |||
| _) re (arm %ri: | |||
| _) re (au@P2 ,ri: | |||
| re (ck rE | |||
| reckon rEk@n | |||
| reco (g rEk@ | |||
| _) re (comP2 r,i: | |||
| _) re (conP2 ,ri: | |||
| @@ -5129,7 +5131,7 @@ | |||
| @) s (hill_ s | |||
| @) s (hous s | |||
| _) she' %Si: | |||
| A) sh (i_ =S | |||
| A) sh (A_ =S | |||
| &) ship (_S4 SIp | |||
| &) ships (_S5 SIps | |||
| &) shire (_S5 S3 | |||
| @@ -5210,6 +5212,7 @@ | |||
| _) sus (A su:z | |||
| su (al Zu: | |||
| n) su (al sju: | |||
| ?3 n) su (al Su: | |||
| _) su (b sV | |||
| _) su (bdi s,V | |||
| su (bdue s%V | |||
| @@ -5297,6 +5300,7 @@ | |||
| ttu (r t@ | |||
| tz ts | |||
| tze (_ tsi | |||
| ?3 @@A) t (Ary_ t2 | |||
| .group th | |||
| th T | |||
| @@ -5503,7 +5507,7 @@ | |||
| d) u (ly ju: | |||
| z) u (l_ 'u: | |||
| &) um (_ @m | |||
| vol) u (m ju: | |||
| vol) u (me ju: | |||
| u (ma_ 'u: | |||
| h) u (man ju: | |||
| u (me ju: | |||
| @@ -6009,7 +6013,7 @@ | |||
| .group ' | |||
| 's (_S2 z | |||
| 's (_S2m z | |||
| f) 's (_S2 s | |||
| p) 's (_S2 s | |||
| t) 's (_S2 s | |||
| @@ -698,7 +698,7 @@ _quatrevin) gts (_ z2 | |||
| _) game (X _^_en | |||
| girl _^_en // girl | |||
| gh (K _^_en | |||
| gy (_ _^_en | |||
| @) gy (_ _^_en | |||
| .group h | |||
| @@ -1497,7 +1497,7 @@ A) wn _^_en | |||
| y (nn i | |||
| // group y: English section | |||
| _C) y (_ _^_en | |||
| //_C) y (_ _^_en | |||
| AC) y (_ _^_en | |||
| C) y (e_ _^_en | |||
| %C) y (_ _^_en | |||
| @@ -171,6 +171,9 @@ | |||
| क़ qV | |||
| क़ (B q | |||
| क्ष kSV | |||
| क्ष (B kS | |||
| .group ख | |||
| ख k#V | |||
| ख (B k# | |||
| @@ -206,15 +209,20 @@ | |||
| ज (B J | |||
| ज़ zV | |||
| ज़ (B z | |||
| ज्ञ gjV | |||
| ज्ञ (B gj | |||
| .group झ | |||
| झ J#V | |||
| झ (B J# | |||
| .group ञ | |||
| ञ n^V | |||
| ञ (B n^ | |||
| ्) ञ (_ n^ | |||
| ्) ञ (_ n^@ | |||
| .group ट | |||
| ट t.V | |||
| @@ -239,7 +247,7 @@ | |||
| ढ़ (B r.h // nukta | |||
| .group ण | |||
| ण n.V // (temporary) same as dental [n] | |||
| ण n.V | |||
| ण (B n. | |||
| ्) ण (_ n.@ | |||
| @@ -304,10 +312,11 @@ | |||
| .group र | |||
| र rV | |||
| र (B r | |||
| र (_ r | |||
| ्) र (_ r@ | |||
| .group ऱ // rra | |||
| ऱ rV // (temporary) same as [r] | |||
| ऱ rV // (temporary) same as [r] should this be [r.] or perhaps [z.] ? | |||
| ऱ (B r | |||
| ्) ऱ (_ r@ | |||
| @@ -338,15 +347,15 @@ | |||
| श (B S | |||
| .group ष | |||
| ष s.V //?? or retroflex [S] | |||
| ष (B s. //?? | |||
| ष s.V | |||
| ष (B s. | |||
| .group स | |||
| स sV | |||
| स (B s | |||
| .group ह | |||
| ह H | |||
| ह HV | |||
| ह (B H | |||
| @@ -115,6 +115,7 @@ _[ ,abRikowS'etSi | |||
| _\ b,ax&,iNvertS'id& | |||
| _] f,ES&kowS'etSi | |||
| _^ s,irku~Nfl'Eksu | |||
| _´ as'eINtu,ag'udU | |||
| __ s,ublin^'adu | |||
| _` gR'avi | |||
| _{ ,abRiS'avi | |||
| @@ -127,8 +128,8 @@ _¡ ,eskl&mas,&U~,iNvertS'id& | |||
| _¿ ,iNtex,ogas,&U~,iNvertS'id& | |||
| _" 'abRi;'asp&||d'upl&s# | |||
| _º Oz'in^U | |||
| _ª az'in^U | |||
| _º o*@-dZin'almaskul'i~nU | |||
| _ª o*@-dZin'alfemin'i~nU | |||
| ° gR'aU | |||
| @@ -662,6 +663,7 @@ apneia $alt | |||
| apoio $alt $verb | |||
| arredores $alt | |||
| arremesso $alt2 $noun | |||
| arroto $alt2 $noun | |||
| arroz $alt2 | |||
| assembleia $alt | |||
| ateia $alt | |||
| @@ -691,7 +693,7 @@ bordo $alt | |||
| borra $alt2 $noun | |||
| bosque $alt | |||
| boto $alt2 $noun | |||
| boxe $alt | |||
| boxe $alt | |||
| brejo $alt | |||
| bromelha $alt | |||
| cabelo $alt2 | |||
| @@ -700,26 +702,30 @@ cacete $alt2 | |||
| cachorra $alt2 | |||
| caderneta $alt2 | |||
| cadete $alt2 | |||
| caibro k'aIbRU | |||
| camelha $alt | |||
| camelo $alt2 | |||
| caminhonete $alt | |||
| caminhonete $alt | |||
| camiseta $alt2 | |||
| cantora $alt2 | |||
| capacete $alt2 | |||
| caractere $alt | |||
| carbureto $alt2 | |||
| careta $alt2 | |||
| carrapeta $alt2 | |||
| carreta $alt2 | |||
| carroça $alt | |||
| casebre $alt | |||
| cateto $alt2 | |||
| catorze $alt2 | |||
| cebola $alt2 | |||
| cedro $alt | |||
| cefaleia $alt | |||
| centopeia $alt | |||
| cerca $alt | |||
| cerca $alt2 $noun | |||
| cerco $alt $verb | |||
| cetro $alt | |||
| chamego $alt2 | |||
| chefe $alt | |||
| checam $alt | |||
| @@ -839,7 +845,7 @@ explore $alt | |||
| faceta $alt2 | |||
| fantoche $alt | |||
| farofa $alt | |||
| farolete $alt2 | |||
| farolete $alt2 | |||
| febre $alt | |||
| fera $alt | |||
| feitora $alt2 | |||
| @@ -865,7 +871,7 @@ fulgores $alt2 | |||
| galera $alt | |||
| galileia $alt | |||
| gameta $alt2 | |||
| garçonete $alt2 | |||
| garçonete $alt2 | |||
| geleia $alt | |||
| gelo $alt2 | |||
| gelo $alt $verb | |||
| @@ -894,17 +900,18 @@ jogo $alt2 $noun | |||
| joguete $alt2 | |||
| lagosta $alt2 | |||
| lambreta $alt2 | |||
| lanchonete $alt | |||
| lanchonete $alt | |||
| lebre $alt | |||
| lembrete $alt2 | |||
| lepra $alt | |||
| leste $alt2 $verb | |||
| ?2 lhe ly | |||
| lingueta $alt2 | |||
| lopes $alt | |||
| macete $alt2 | |||
| maior $alt | |||
| maleta $alt2 | |||
| marionete $alt | |||
| marionete $alt | |||
| marreta $alt2 | |||
| megera $alt | |||
| melhor $alt | |||
| @@ -923,7 +930,7 @@ miolos $alt | |||
| modelo $alt2 | |||
| modelo $alt $verb | |||
| moeda $alt | |||
| moem $alt | |||
| moem $alt | |||
| mofo $alt $verb | |||
| molho $alt2 $noun | |||
| monera $alt | |||
| @@ -949,8 +956,8 @@ novos $alt | |||
| obstetra $alt | |||
| odisseia $alt | |||
| onu $1 | |||
| olho $alt2 $noun | |||
| olhos $alt | |||
| olho $alt2 $noun | |||
| olhos $alt | |||
| onomatopeia $alt | |||
| opereta $alt2 | |||
| ordens $alt | |||
| @@ -968,7 +975,7 @@ pangeia $alt | |||
| pantera $alt | |||
| parede $alt2 | |||
| pastora $alt2 | |||
| patinete $alt | |||
| patinete $alt | |||
| pedra $alt | |||
| pela $alt $verb | |||
| pelo $alt2 | |||
| @@ -1012,17 +1019,18 @@ relevo $alt2 $noun | |||
| remorso $alt | |||
| renovo $alt $verb | |||
| retorno $alt $verb | |||
| reuva x'EUv& | |||
| reuva x'EUv& | |||
| rigores $alt2 | |||
| rixa x'iS& | |||
| rocha $alt | |||
| rock $alt | |||
| roem $alt | |||
| roem $alt | |||
| rola $alt2 $noun | |||
| rolo $alt2 $noun | |||
| rota $alt2 | |||
| rota $alt $noun | |||
| rumores $alt2 | |||
| saibro s'aIbRU | |||
| saleta $alt2 | |||
| sarjeta $alt2 | |||
| seborreia $alt | |||
| @@ -1047,12 +1055,13 @@ sossego $alt2 $noun | |||
| suborno $alt $verb | |||
| sufoco $alt2 $noun | |||
| sufocos $alt2 | |||
| super s'Uper | |||
| suporto $alt | |||
| suor swOr | |||
| tapete $alt2 | |||
| temores $alt2 | |||
| tempero $alt2 $noun | |||
| tenores $alt2 | |||
| tenores $alt2 | |||
| terrores $alt2 | |||
| teta $alt2 | |||
| tetra $alt | |||
| @@ -1110,10 +1119,9 @@ book buk | |||
| ?1 download d'a,wnl'oud | |||
| ?2 download daUNl'owd | |||
| ?3 download dau~Nl'owd | |||
| drive dR'aivy | |||
| driver dR'aiver | |||
| drivers dR'aiveRs | |||
| ?1 end 'end | |||
| drive dR'aIv | |||
| driver dR'aIver | |||
| drivers dR'aIveRs?1 end 'end | |||
| ?2 esc 'Esk | |||
| ?3 esc 'EskI | |||
| ?1 explorer ,ekspl'O:*&r- | |||
| @@ -1195,15 +1203,16 @@ chrome kR'owmi | |||
| ?1 express ,Ekspr'Es | |||
| espeak isp'i:k | |||
| ?1 espeakedit isp'i:kEd,it | |||
| facebook feisybuk | |||
| facebook feIsybuk | |||
| ?1 fedora _^_EN | |||
| firefox f'ai@fOks | |||
| ?1 front fr'ont | |||
| ?1 jaws dZ'au:z | |||
| ?1 linux l,in'uks | |||
| ?2 linux l'inUks | |||
| ?1 live l'aiv | |||
| live l'aiv | |||
| ?1 maker m'eIk&r- | |||
| mac mEk | |||
| ?1 media m'Ed,i& | |||
| ?1 messenger m'Es&ndZ&r- | |||
| ?1 microsoft m,ik:r'os,Oft | |||
| @@ -99,7 +99,7 @@ | |||
| ái (s ''aI | |||
| á (iCK ''a | |||
| áy ''aI | |||
| ál (C ''aU | |||
| ál (B ''aU | |||
| áu ''aU | |||
| áu (s ''aU | |||
| ?1 ál ''Al | |||
| @@ -544,7 +544,7 @@ _entorp) e (çL03_ e | |||
| éi (s ''EI | |||
| é (iCK ''E | |||
| éy ''eI | |||
| él (C ''EU | |||
| él (B ''EU | |||
| éu ''EU | |||
| éu (s ''EU | |||
| é (uCK ''E | |||
| @@ -566,7 +566,7 @@ _entorp) e (çL03_ e | |||
| .group f | |||
| ?1 _) f (_W Ef; // within an acronym | |||
| ?1 _) f (_ Ef // individual letter or end-of-acronym | |||
| _) f (_ 'Efe | |||
| _) f (_ 'Efy | |||
| f f | |||
| f (f | |||
| ?3 f (B fI | |||
| @@ -668,7 +668,7 @@ _entorp) e (çL03_ e | |||
| ím (C ''im | |||
| ín (K ''iN | |||
| ính ''in^ | |||
| íl (C ''IU | |||
| íl (B ''IU | |||
| .group j | |||
| @@ -692,12 +692,10 @@ _entorp) e (çL03_ e | |||
| .group l | |||
| ?1 _) l (_W El; // within an acronym | |||
| ?1 _) l (_ El | |||
| _) l (_ 'Ele | |||
| _) l (_ 'Ely | |||
| l l | |||
| l) l | |||
| lh lj | |||
| A) lh lj | |||
| A) lh l^ | |||
| lh l^ | |||
| ?4 A) lh l^ | |||
| @@ -786,8 +784,8 @@ _entorp) e (çL03_ e | |||
| m) o (vam_ o | |||
| o (veCs_ O | |||
| ?1 o (l_ 'O | |||
| ?2 ol (_ Ow | |||
| o (l_ 'O | |||
| ?2 ol (B ow | |||
| om (_ oN | |||
| o (ma_ o | |||
| @@ -852,6 +850,7 @@ _pormen) o (L05_ O | |||
| _af) o (bL04_ O | |||
| _esn) o (bL04_ O | |||
| _engl) o (bL04_ O | |||
| _) o (cL03_ o | |||
| br) o (chL04_ O | |||
| _deb) o (chL04_ O | |||
| _m) o (fL01_ O | |||
| @@ -895,6 +894,7 @@ _remem) o (rL04_ O | |||
| _enr) o (squL02_ O | |||
| p) ostos (_ Ost=Us# // dispostos etc. | |||
| _gar) o (tL03_ o | |||
| _mar) o (tL03_ O | |||
| pr) o (vL03_ O | |||
| _g) o (zL04_ O | |||
| _esb) o (çL01_ O | |||
| @@ -935,7 +935,7 @@ _remem) o (rL04_ O | |||
| ?3 p (s p | |||
| ?3 p (t p | |||
| ?3 p (_C p_ | |||
| ?1 ph f //Didn’t use in European Portuguese (eg: English) | |||
| ph f | |||
| ?1 ple (_ _^_EN | |||
| @@ -952,7 +952,8 @@ _remem) o (rL04_ O | |||
| ?1 _) qua kwa // quatro, etc. | |||
| ?1 _) que ke // quente, etc. | |||
| ?1 _) quei (C k'eI // queira, queima, etc | |||
| quên kw'eN // quinquênio, etc. | |||
| A) quên kw'eN // frequência, etc. | |||
| C) quên kw'eN // quinquênio, etc. | |||
| ade) qu (e kw | |||
| _a) qu (idade_ kw | |||
| _a) qu (ífero_ kw | |||
| @@ -990,7 +991,7 @@ _remem) o (rL04_ O | |||
| A) r (_A * | |||
| rr x | |||
| XC) r (A R | |||
| C) r (A * | |||
| C) r (A R | |||
| _) r x | |||
| l) r x | |||
| n) r (+ x | |||
| @@ -1001,7 +1002,7 @@ _remem) o (rL04_ O | |||
| .group s | |||
| ?1 _) s (_W Es|; // within an acronym [s]+[;] not [s;] phoneme | |||
| ?1 _) s (_ Es | |||
| ?2 _) s (_ 'Ese | |||
| ?2 _) s (_ 'Esy | |||
| s s | |||
| ss s | |||
| sc (Y s | |||
| @@ -1024,14 +1025,8 @@ _remem) o (rL04_ O | |||
| ?1 A) s (G+ Z | |||
| ?1 A) s (_KS1 s# | |||
| ?1 A) s (_G+S1 Z | |||
| s (b z | |||
| s (d z | |||
| s (g z | |||
| s (l z | |||
| s (m z | |||
| s (n z | |||
| s (G z | |||
| sr zx | |||
| s (v z | |||
| _) sobre (@P5 sob*e | |||
| @@ -13,4 +13,5 @@ formant 6 100 100 100 | |||
| formant 7 100 100 100 | |||
| formant 8 100 100 100 | |||
| consonants 100 | |||
| stressAdd 10 10 0 0 0 0 -30 -30 | |||
| @@ -1,3 +1,4 @@ | |||
| volume 17 | |||
| 0 l/2 NULL 0 l | |||
| 0 l/ NULL 0 l | |||
| @@ -10,7 +11,6 @@ | |||
| 0 j/ NULL 0 j | |||
| 0 ; NULL 0 NULL | |||
| 0 g- NULL 0 NULL | |||
| 0 @- NULL 0 NULL | |||
| 0 @3 NULL 0 NULL | |||
| 0 * NULL 0 R | |||
| 0 : NULL 0 NULL | |||
| @@ -43,6 +43,7 @@ | |||
| 0 z2 NULL 0 z | |||
| 0 z3 NULL 0 z | |||
| 0 @- NULL 0 @ | |||
| 0 a- NULL 0 a | |||
| 0 e- NULL 0 e | |||
| 0 y- NULL 0 y | |||
| @@ -24,6 +24,11 @@ phoneme V | |||
| vowel flag1 starttype #@ endtype #@ | |||
| length 130 | |||
| IF thisPh(isWordStart) THEN | |||
| FMT(vowel/V_3) | |||
| RETURN | |||
| ENDIF | |||
| IF thisPh(isNotStressed) THEN | |||
| IF prevPh(H) THEN | |||
| ChangePhoneme(@) | |||
| @@ -33,7 +38,7 @@ phoneme V | |||
| ChangePhoneme(NULL) | |||
| ENDIF | |||
| IF NOT nextVowel(isFlag1) THEN | |||
| IF prev2PhW(isVowel) AND NOT nextVowel(isFlag1) THEN | |||
| IF thisPh(isSeqFlag1) THEN | |||
| // delete the last inherent vowel of a sequence | |||
| ChangePhoneme(NULL) | |||
| @@ -513,3 +518,22 @@ phoneme #X2 // click, use for indicating combining long vowels | |||
| endphoneme | |||
| phoneme r | |||
| liquid rhotic | |||
| lengthmod 3 | |||
| IF thisPh(isWordEnd) THEN | |||
| CALL base/r/ | |||
| ELSE | |||
| IF prevPhW(isVowel) THEN | |||
| IF nextPhW(isNotVowel) OR nextPhW(V) THEN | |||
| ChangePhoneme(*) | |||
| ENDIF | |||
| ENDIF | |||
| CALL base/r | |||
| ENDIF | |||
| ipa ɾ | |||
| endphoneme | |||
| @@ -75,7 +75,7 @@ char path_home[N_PATH_HOME] = ""; | |||
| char wavefile[120]; | |||
| char textbuffile[L_tmpnam]; | |||
| int sample_rate_index; // current value | |||
| int current_voice_num=0; | |||
| char current_voice_name[40] = {0}; | |||
| int n_voice_files = 0; | |||
| int n_voice_variant_files = 0; | |||
| @@ -194,6 +194,9 @@ void ReadVoiceNames2(char *directory) | |||
| path_len = strlen(directory); | |||
| voice_variant_names[0] = "(none)"; | |||
| n_voice_variant_files = 1; | |||
| while(regs.r[3] > 0) | |||
| { | |||
| error = _kernel_swi(0x0c+os_X,®s,®s); /* OS_GBPB 10, read directory entries */ | |||
| @@ -452,6 +455,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_ | |||
| { | |||
| int c; | |||
| int ix; | |||
| char *vname; | |||
| static static_length=0; | |||
| static int user_token=0; /* increment for each call of translate() */ | |||
| _kernel_swi_regs regs; | |||
| @@ -462,12 +466,13 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_ | |||
| option_endpause = 1; | |||
| if((voice_num >= 0) && (voice_num != current_voice_num) && (voice_num < N_VOICE_NAMES)) | |||
| vname = voice_names[voice_num]; | |||
| if((voice_num >= 0) && (strcmp(vname, current_voice_name) != 0) && (voice_num < N_VOICE_NAMES)) | |||
| { | |||
| SetVoiceByName(voice_names[voice_num]); | |||
| WavegenSetVoice(voice); | |||
| WavegenSetVoice(voice); | |||
| } | |||
| current_voice_num = voice_num; | |||
| strcmp(current_voice_name, vname); | |||
| /* don't count CR as terminator if length is specified */ | |||
| if(len > 0) terminator = 0; | |||
| @@ -593,8 +598,16 @@ void set_say_options(int reg2, int reg3) | |||
| option_waveout = 0; | |||
| option_multibyte = 0; // auto | |||
| option_capitals = 0; | |||
| option_punctuation = 0; | |||
| option_punctlist[0] = 0; | |||
| if(reg2 >= 0) | |||
| { | |||
| // not using SWI_SPEAK+14 to set voice and punctiation option | |||
| option_punctuation = 0; | |||
| option_punctlist[0] = 0; | |||
| } | |||
| else | |||
| { | |||
| SetParameter(espeakPUNCTUATION,option_punctuation,0); | |||
| } | |||
| } /* end of set_say_options */ | |||
| @@ -621,7 +634,7 @@ void jsd_swi_functions(int *r) | |||
| case 3: | |||
| // translate into phonemes | |||
| use_ipa = 0; | |||
| if((r[2] >= 1) && (use_ipa <= 3)) | |||
| if((r[2] >= 1) && (use_ipa <= 4)) | |||
| use_ipa = r[2]; | |||
| TranslateClause(translator,NULL,(char *)r[1],NULL,NULL); | |||
| GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); | |||
| @@ -641,7 +654,7 @@ void jsd_swi_functions(int *r) | |||
| if(r[1] < N_VOICE_NAMES) | |||
| { | |||
| SetVoiceByName(voice_names[r[1]]); | |||
| current_voice_num = r[1]; | |||
| strcmp(current_voice_name, voice_names[r[1]]); | |||
| WavegenSetVoice(voice); | |||
| } | |||
| break; | |||
| @@ -675,6 +688,8 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw) | |||
| int value; | |||
| int value2; | |||
| int q_length; | |||
| char *p; | |||
| int ix; | |||
| value = r[0]; | |||
| switch(swi_no) | |||
| @@ -682,16 +697,17 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw) | |||
| case 0: // ready ? | |||
| // returns the index into the source text of the currently speaking word | |||
| if(current_source_index > 0) | |||
| r[1] = current_source_index-1; | |||
| ix = current_source_index & 0x7ff; | |||
| if(ix > 0) | |||
| r[1] = ix-1; | |||
| else | |||
| r[1] = current_source_index; /* source index */ | |||
| r[1] = ix; /* source index */ | |||
| r[2] = 0; /* source tag */ | |||
| r[3] = 0; /* for future expansion */ | |||
| r[4] = 0; | |||
| r[5] = 0; | |||
| if(WcmdqUsed() < 5) | |||
| if((WcmdqUsed() < 5) && (more_text == 0)) | |||
| { | |||
| r[0] = -1; /* ready, or nearly */ | |||
| } | |||
| @@ -774,8 +790,30 @@ _kernel_oserror *swi_handler(int swi_no, int *r, void *pw) | |||
| break; | |||
| case 14: // set voice by name | |||
| SetVoiceByName((char *)r[0]); | |||
| WavegenSetVoice(voice); | |||
| p = (char *)r[0]; | |||
| if(strcmp(p, current_voice_name) != 0) | |||
| { | |||
| SetVoiceByName(p); | |||
| WavegenSetVoice(voice); | |||
| strcpy(current_voice_name, p); | |||
| } | |||
| option_punctuation = 0; | |||
| if(r[1] != 0) | |||
| { | |||
| p = (char *)r[1]; | |||
| if(p[0] == 0) | |||
| option_punctuation = 1; | |||
| else | |||
| { | |||
| for(ix=0; ix < N_PUNCTLIST; ix++) | |||
| { | |||
| if((option_punctlist[ix] = p[ix]) == 0) | |||
| break; | |||
| } | |||
| option_punctlist[N_PUNCTLIST-1] = 0; | |||
| option_punctuation = 2; | |||
| } | |||
| } | |||
| break; | |||
| } | |||
| return(NULL); | |||
| @@ -645,6 +645,7 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) | |||
| char *buf; | |||
| int count; | |||
| int flags; | |||
| int separate_phonemes = 0; | |||
| char phon_buf[30]; | |||
| char phon_buf2[30]; | |||
| PHONEME_LIST *plist; | |||
| @@ -652,6 +653,13 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) | |||
| static const char *stress_chars = "==,,''"; | |||
| static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner | |||
| if(use_ipa == 4) | |||
| { | |||
| // separate individual phonemes with underscores | |||
| use_ipa = 1; | |||
| separate_phonemes = '_'; | |||
| } | |||
| if(phon_out != NULL) | |||
| { | |||
| for(ix=1; ix<(n_phoneme_list-2); ix++) | |||
| @@ -661,6 +669,13 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) | |||
| plist = &phoneme_list[ix]; | |||
| if(plist->newword) | |||
| *buf++ = ' '; | |||
| else | |||
| { | |||
| if((separate_phonemes != 0) && (ix > 1)) | |||
| { | |||
| *buf++ = separate_phonemes; | |||
| } | |||
| } | |||
| if(plist->synthflags & SFLAG_SYLLABLE) | |||
| { | |||
| @@ -683,6 +698,8 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) | |||
| if(c != 0) | |||
| { | |||
| buf += utf8_out(c, buf); | |||
| if(separate_phonemes) | |||
| *buf++ = separate_phonemes; | |||
| } | |||
| } | |||
| } | |||
| @@ -67,7 +67,7 @@ static const char *help_text = | |||
| "\t Compile pronunciation rules and dictionary from the current\n" | |||
| "\t directory. <voice name> specifies the language\n" | |||
| "--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | |||
| "\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n" | |||
| "\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n" | |||
| "--path=\"<path>\"\n" | |||
| "\t Specifies the directory containing the espeak-data directory\n" | |||
| "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" | |||
| @@ -620,7 +620,7 @@ int main (int argc, char **argv) | |||
| { | |||
| value = -1; | |||
| sscanf(optarg2,"%d",&value); | |||
| if((value<0) || (value>2)) | |||
| if((value<0) || (value>3)) | |||
| { | |||
| fprintf(stderr,"Bad value for -ipa=\n"); | |||
| value = 0; | |||
| @@ -101,7 +101,7 @@ static const char *help_text = | |||
| "\t Compile pronunciation rules and dictionary from the current\n" | |||
| "\t directory. <voice name> specifies the language\n" | |||
| "--ipa Write phonemes to stdout using International Phonetic Alphabet\n" | |||
| "\t --ipa=1 Use ties, --ipa=2 Use ZWJ\n" | |||
| "\t --ipa=1 Use ties, --ipa=2 Use ZWJ, --ipa=3 Separate with _\n" | |||
| "--path=\"<path>\"\n" | |||
| "\t Specifies the directory containing the espeak-data directory\n" | |||
| "--pho Write mbrola phoneme data (.pho) to stdout or to the file in --phonout\n" | |||
| @@ -739,7 +739,7 @@ int main (int argc, char **argv) | |||
| { | |||
| value = -1; | |||
| sscanf(optarg2,"%d",&value); | |||
| if((value<0) || (value>2)) | |||
| if((value<0) || (value>3)) | |||
| { | |||
| fprintf(stderr,"Bad value for -ipa=\n"); | |||
| value = 0; | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.47.04 02.Apr.13"; | |||
| const char *version_string = "1.47.04a 05.Apr.13"; | |||
| const int version_phdata = 0x014701; | |||
| int option_device_number = -1; | |||
| @@ -1955,7 +1955,7 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control) | |||
| { | |||
| int use_ipa = 0; | |||
| if(option_phonemes >= 3) | |||
| use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ | |||
| use_ipa = option_phonemes-2; // 1=ipa, 2=ipa with tie, 3=ipa with ZWJ, 4=ipa with separators | |||
| GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); | |||
| if(option_phonemes > 0) | |||
| @@ -21,6 +21,7 @@ | |||
| typedef struct { | |||
| char v_name[40]; | |||
| char language_name[20]; | |||
| int phoneme_tab_ix; // phoneme table number | |||
| int pitch_base; // Hz<<12 | |||
| @@ -421,7 +421,7 @@ void VoiceReset(int tone_only) | |||
| voice->n_harmonic_peaks = 5; | |||
| voice->peak_shape = 0; | |||
| voice->voicing = 64; | |||
| voice->consonant_amp = 90; // change to 85 for v.1.47 was 100 | |||
| voice->consonant_amp = 90; // change from 100 to 90 for v.1.47 | |||
| voice->consonant_ampv = 100; | |||
| voice->samplerate = samplerate_native; | |||
| memset(voice->klattv,0,sizeof(voice->klattv)); | |||
| @@ -750,6 +750,7 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| new_translator = SelectTranslator(translator_name); | |||
| langopts = &new_translator->langopts; | |||
| strncpy0(voice->language_name, language_name, sizeof(voice->language_name)); | |||
| } | |||
| } | |||
| break; | |||
| @@ -1818,6 +1819,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| } | |||
| DoVoiceChange(voice); | |||
| voice_selector.languages = voice->language_name; | |||
| SetVoiceStack(&voice_selector, variant_name); | |||
| return(EE_OK); | |||
| } | |||
| @@ -1834,6 +1836,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| LoadVoice(variant_name,2); | |||
| } | |||
| DoVoiceChange(voice); | |||
| voice_selector.languages = voice->language_name; | |||
| SetVoiceStack(&voice_selector, variant_name); | |||
| return(EE_OK); | |||
| } | |||
| @@ -1884,8 +1887,8 @@ void FreeVoiceList() | |||
| ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | |||
| {//======================================================================== | |||
| char path_voices[sizeof(path_home)+12]; | |||
| #ifdef PLATFORM_RISCOS | |||
| if(n_voices_list == 0) | |||
| { | |||