Eloquence pe Windows SAPI sau Eloquence si diacriticele
Moderator: Manu
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
E foarte tare daca lucrurile functioneaza.
Totusi, eu nu as vrea sa inlocuiesc fisierul JSS si JCF, ci as vrea sa am intr-un text ceea ce trebuie sa adaug in JSS si in JCF, astfel incat daca exista acum unele modificari, acestea sa nu dispara.
Totusi, eu nu as vrea sa inlocuiesc fisierul JSS si JCF, ci as vrea sa am intr-un text ceea ce trebuie sa adaug in JSS si in JCF, astfel incat daca exista acum unele modificari, acestea sa nu dispara.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
-
- Plutonier
- Mesaje: 145
- Membru din: 22 Iul 2012, 21:48
- Localitate: Cluj-Napoca
-
- Plutonier
- Mesaje: 145
- Membru din: 22 Iul 2012, 21:48
- Localitate: Cluj-Napoca
Pun link-ul pentru functiile modificate in jaws 15.
Functii modificate in jaws 15 si phonetic spell
O sa postez si pentru jaws 16 dar se pare ca nu este nimic in plus fata de jaws 15.
Functii modificate in jaws 15 si phonetic spell
O sa postez si pentru jaws 16 dar se pare ca nu este nimic in plus fata de jaws 15.
Grigore
-
- Plutonier
- Mesaje: 145
- Membru din: 22 Iul 2012, 21:48
- Localitate: Cluj-Napoca
Link pentru functiile modificate in jaws 15 si 16 + phonetic spell cu toate diacriticile,
Functii modificate pentru jaws 15 si 16 plus phonetic spell
Cine doreste poate sa faca modificari dupa bunul plac.
Succes!
Functii modificate pentru jaws 15 si 16 plus phonetic spell
Cine doreste poate sa faca modificari dupa bunul plac.
Succes!
Grigore
Interesant. Stiu ca am vrut si eu sa fac chestia asta cand am vazut ca FS chiar nu fac nimic in directia asta. Problema majora, si motivul din care m-am oprit, e ca nu merge pe SayAll. Parca e functie builtin si nu o putem edita... Macar se poate citi linie cu linie.
Vortex Website
Maximum de confort, cu minimum de efort.
Maximum de confort, cu minimum de efort.
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Pai e bine sa citeasca si linie cu linie, eu destul de rar dau Say All din JAWS. O sa ma apuc sa vad si eu ce si cum... Daca merge e perfect. Multumim.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Pana la urma am reajuns la problema diacriticelor cu JAWS si Eloquence, nu stiu cum de am lasat-o balta, avand in vedere cat de importanta e.
Intr-adevar, sistemul lui Grigore merge bine la citirea pe randuri, pe cuvinte si alte situatii, cu exceptia Say All (Insert + Sageata in jos).
E util si asa, mai ales pentru site-uri web, meniuri de aplicatii etc.
Am modificat deocamdata fisierul say.jss pentru a veni in sprijinul cititorilor cu italiana, aici interesandu-ne doar cele 4 diacritice asa-zis noi, cu virgula.
Pun mai jos un zip care contine fisierele si instructiunile.
Nu trebuie decat o recompilare a fisierului say.jss.
Am testat doar cu JAWS 16 si JAWS 17, dar cred ca merge si cu 15.
In arhiva sunt instructiuni pas cu pas pentru a recompila fisierul say.jss dupa copierea in locul corespunzator.
Descarcare jaws_diacritice.zip
Va trebui acum putin finisat scriptul, sa fie o singura functie de inlocuire pentru toate tipurile de preluare text, getLine(), getWord() etc., astfel fiind posibila schimbarea modului de citire, poate nu toti prefera ca mine sa fie ca in prezent in cazul diacriticelor cu sedila, adica o simpla inlocuire cu corespondentul non-diacritic, ci vor sa simuleze un fel de ș si ț prin utilizarea "sh" si, respectiv, "ts". Ultimul mod este prezent in fisierele lui Grigore mentionate in mesajele anterioare ale acestui topic.
Intr-adevar, sistemul lui Grigore merge bine la citirea pe randuri, pe cuvinte si alte situatii, cu exceptia Say All (Insert + Sageata in jos).
E util si asa, mai ales pentru site-uri web, meniuri de aplicatii etc.
Am modificat deocamdata fisierul say.jss pentru a veni in sprijinul cititorilor cu italiana, aici interesandu-ne doar cele 4 diacritice asa-zis noi, cu virgula.
Pun mai jos un zip care contine fisierele si instructiunile.
Nu trebuie decat o recompilare a fisierului say.jss.
Am testat doar cu JAWS 16 si JAWS 17, dar cred ca merge si cu 15.
In arhiva sunt instructiuni pas cu pas pentru a recompila fisierul say.jss dupa copierea in locul corespunzator.
Descarcare jaws_diacritice.zip
Va trebui acum putin finisat scriptul, sa fie o singura functie de inlocuire pentru toate tipurile de preluare text, getLine(), getWord() etc., astfel fiind posibila schimbarea modului de citire, poate nu toti prefera ca mine sa fie ca in prezent in cazul diacriticelor cu sedila, adica o simpla inlocuire cu corespondentul non-diacritic, ci vor sa simuleze un fel de ș si ț prin utilizarea "sh" si, respectiv, "ts". Ultimul mod este prezent in fisierele lui Grigore mentionate in mesajele anterioare ale acestui topic.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Salutare!
Descopăr subiectul după ceva vreme de la ultimul post, dar pentru că m-am lovit și eu recent de opțiunile de codificare ale caracterelor în Windows, m-am uitat peste mesaje și codul din funcțiile postate.
Am scris un mesaj mai lung, dar cred că trebuie să îl editez pentru că nu știu exact cum funcționează scriptul și fac doar presupuneri.
Windows-ul are o mulțime de codepage-uri pentru codificarea caracterelor și ce am observat în codul funcțiilor este că încercați interceptarea codului de caracter fără verificarea tipului de codepage.
Întrebarea ar fi: scriptul funcționează/ l-ați testa cu documente în diferite formatări? Adică Unicode ( UTF-8 ) de exemplu.
De exemplu în cod se verifică
elIf(sCaracter=="ã"&&sCaracterValoare=="227") Then
SayString("a mic cu caciula")
Aici nu mă prind de ce e nevoie de două condiții care să fie adevărate simultan. Valoarea caracterului ar trebui să identifice unic caracterul care se află și în variabila sCaracter. În plus nu-mi dau seama cum se face comparația cu constanta string (sau e constantă char?). Doar din asta și aș bănui că nu descoperă caracterele UTF....dar e doar o presupunere.
Caracterul unicode U+00E3 (sau 227 în zecimal, cum e folosit în HTML) este a mic cu tilda deasupra; nu e căciulă.
elIf(sCaracter=="º"&&sCaracterValoare=="186") Then
SayString("she mic")
- codului 186 în Unicode îi corespunde caracterul omega superscript (sau masculine ordinal indicator cum sună descrierea lor) care seamănă foarte tare cu notația de grad, iar în tabela Windows 1251 este simbolul epsilon mare (sau simbol matematic "aparține lui") scris mai mic; deci doar pe anumită codificare pică s cu sedilă
În pagini web, cum ar fi aceasta, HTML-ul e destul de deștept încât codifică, ce caractere nu reconoaște codepage-ul pagini, în format Unicode. Acum, cât editez mesajul ăsta am o mulțime de ș ; pentru ș ..la fel și pentru ț...
PS1: din ce observ pe sistemul meu de test cu NVDA și sintetizatoarele standard adică eSpeak și Microsoft Sapi5, recunoașterea caracterelor este specifică vocii. Sapi5 cu Microsoft Sam nu recunoaște diacriticele deloc (de altfel nu recunoaște limba română) iar Ivona le recunoaște pe toate (ambele versiuni cu sedilă și virgulă pentru s și t sunt citite she respectiv tze, iar cuvintele ce le folosesc sunt citite corect).
eSpeak nu recunoaște versiunile cu virgulă citite caracter cu caracter, dar cuvintele sunt pronunțate corect (chestie ciudată...)
Asta mă face să cred că depinde de voce și dacă sau cum recunoaște limba.
PS2: pentru NVDA operația asta de citire a caracterelor este configurabilă din setările pentru punctuație și simboluri. Pronunția, însă, e specifică limbii și nu pot să păcălesc, de exemplu, să citească tz. îmi citește te zet...sau poate nu am descoperit eu varianta bună
Descopăr subiectul după ceva vreme de la ultimul post, dar pentru că m-am lovit și eu recent de opțiunile de codificare ale caracterelor în Windows, m-am uitat peste mesaje și codul din funcțiile postate.
Am scris un mesaj mai lung, dar cred că trebuie să îl editez pentru că nu știu exact cum funcționează scriptul și fac doar presupuneri.
Windows-ul are o mulțime de codepage-uri pentru codificarea caracterelor și ce am observat în codul funcțiilor este că încercați interceptarea codului de caracter fără verificarea tipului de codepage.
Întrebarea ar fi: scriptul funcționează/ l-ați testa cu documente în diferite formatări? Adică Unicode ( UTF-8 ) de exemplu.
De exemplu în cod se verifică
elIf(sCaracter=="ã"&&sCaracterValoare=="227") Then
SayString("a mic cu caciula")
Aici nu mă prind de ce e nevoie de două condiții care să fie adevărate simultan. Valoarea caracterului ar trebui să identifice unic caracterul care se află și în variabila sCaracter. În plus nu-mi dau seama cum se face comparația cu constanta string (sau e constantă char?). Doar din asta și aș bănui că nu descoperă caracterele UTF....dar e doar o presupunere.
Caracterul unicode U+00E3 (sau 227 în zecimal, cum e folosit în HTML) este a mic cu tilda deasupra; nu e căciulă.
elIf(sCaracter=="º"&&sCaracterValoare=="186") Then
SayString("she mic")
- codului 186 în Unicode îi corespunde caracterul omega superscript (sau masculine ordinal indicator cum sună descrierea lor) care seamănă foarte tare cu notația de grad, iar în tabela Windows 1251 este simbolul epsilon mare (sau simbol matematic "aparține lui") scris mai mic; deci doar pe anumită codificare pică s cu sedilă
În pagini web, cum ar fi aceasta, HTML-ul e destul de deștept încât codifică, ce caractere nu reconoaște codepage-ul pagini, în format Unicode. Acum, cât editez mesajul ăsta am o mulțime de ș ; pentru ș ..la fel și pentru ț...
PS1: din ce observ pe sistemul meu de test cu NVDA și sintetizatoarele standard adică eSpeak și Microsoft Sapi5, recunoașterea caracterelor este specifică vocii. Sapi5 cu Microsoft Sam nu recunoaște diacriticele deloc (de altfel nu recunoaște limba română) iar Ivona le recunoaște pe toate (ambele versiuni cu sedilă și virgulă pentru s și t sunt citite she respectiv tze, iar cuvintele ce le folosesc sunt citite corect).
eSpeak nu recunoaște versiunile cu virgulă citite caracter cu caracter, dar cuvintele sunt pronunțate corect (chestie ciudată...)
Asta mă face să cred că depinde de voce și dacă sau cum recunoaște limba.
PS2: pentru NVDA operația asta de citire a caracterelor este configurabilă din setările pentru punctuație și simboluri. Pronunția, însă, e specifică limbii și nu pot să păcălesc, de exemplu, să citească tz. îmi citește te zet...sau poate nu am descoperit eu varianta bună