Eloquence pe Windows SAPI sau Eloquence si diacriticele

Despre computere, telefoane, tehnologie

Moderator: Manu

Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

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.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

Cum se pot scrie corect caracterele cu diacritice aici pe site ca eu nu reusesc? Daca sunt copiate din Word sau NotePad nu sunt afisate corect . Daca nu reusesc o sa pun toate modificarile cu explicatiile necesare intr-un fisier.
Daca scriu de exemplu caracterele: țȚșȘţŢşŞÂÎêÞâîãºþ.
Grigore
IonPop
Colonel
Mesaje: 2166
Membru din: 02 Oct 2010, 17:55

Mesaj de IonPop »

Primele caractere dintre cele pe care le-ai scris apar corect. Fac si eu un test acum:
cu sedila: ăşţâîĂŞŢÂÎ
cu virgula: ășțâîĂȘȚÂÎ

Le-am scris cum se scriu in mod obisnuit.
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

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.
Grigore
BosGrigore
Plutonier
Mesaje: 145
Membru din: 22 Iul 2012, 21:48
Localitate: Cluj-Napoca

Mesaj de BosGrigore »

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!
Grigore
Vortex
Sublocotenent
Mesaje: 298
Membru din: 19 Noi 2009, 17:12
Contact:

Mesaj de Vortex »

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.
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

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)
Avatar utilizator
Manu
General de divizie
Mesaje: 4120
Membru din: 02 Feb 2007, 01:15
Localitate: Cluj-Napoca
Contact:

Mesaj de Manu »

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.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
DanP
Sergent
Mesaje: 25
Membru din: 14 Feb 2016, 12:56

Mesaj de DanP »

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 &#537 ; 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ă
Scrie răspuns