davidacm / NVDA-IBMTTS-Driver

This project is aimed at developing and maintaining the NVDA IBMTTS driver. IBMTTS is a synthesizer similar to Eloquence. Please send your ideas and contributions here!
GNU General Public License v2.0
56 stars 23 forks source link

regression: Broken dates now present with internally delimited strings (E.G. headings and tables) #87

Closed ultrasound1372 closed 1 year ago

ultrasound1372 commented 1 year ago

Thanks to some of the internal delimiting going on this previously wasn't a problem in this specific case, and the regex fixes still work if the string is not disjointed. But due to some of the recent changes, the butchered date parsing now pops up in such things as table coordinates and heading levels, as in the following.

Apropos

Decimal Octal Hex
0 0 0
1 1 1
8 10 8
9 11 9
10 12 A
11 13 B
16 20 10
17 21 11

Etc. The table case is most obvious when using up/down arrows to scroll through the table in browse mode, in which the column number is reported before its name, triggering the bug on the headers and on subsequent row wrapping. Similarly, the heading is most obvious when navigated to via moving the cursor rather than doing a heading jump, as a jump causes the order to be switched.
This presents such strings as "heading level April twond-opos," "column December onest-imal," and "column October twond-al."
Can anything be done to mitigate this? @Mohamed00

ultrasound1372 commented 1 year ago

Follow-up: Through my own tweaks for different reasons I have confirmed this was not caused by c230570, as reverting that still leaves this behind.

Mohamed00 commented 1 year ago

Not sure, but probably not. Changes were made a while ago to fix unnatural intonation in some cases such as NVDA saying help button, where it's sent as two different strings. That seems to have introduced it, because the parameter spamming got around that bug. The fix also had the benefit of greatly improving IBMTTS compatibility, and I don't feel like reverting it just for Eloquence's broken date parser.

On 2/23/2023 9:21 PM, Colton Hill wrote:

Thanks to some of the internal delimiting going on this previously wasn't a problem in this specific case, and the regex fixes still work if the string is not disjointed. But due to some of the recent changes, the butchered date parsing now pops up in such things as table coordinates and heading levels, as in the following.

Apropos

Decimal Octal Hex 0 0 0 1 1 1 …

8 10 8 9 11 9 10 12 A 11 13 B …

16 20 10 17 21 11

Etc. The table case is most obvious when using up/down arrows to scroll through the table in browse mode, in which the column number is reported before its name, triggering the bug on the headers and on subsequent row wrapping. Similarly, the heading is most obvious when navigated to via moving the cursor rather than doing a heading jump, as a jump causes the order to be switched. Can anything be done to mitigate this? @Mohamed00 https://github.com/Mohamed00

— Reply to this email directly, view it on GitHub https://github.com/davidacm/NVDA-IBMTTS-Driver/issues/87, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADY4AYFF3MGFTO2YBMIVTNDWZALJRANCNFSM6AAAAAAVGLNAZE. You are receiving this because you were mentioned.Message ID: @.***>

lbk2907 commented 1 year ago

Are it effect how IBMTTS pronounce the word "assistive" also? I not sure whether it already fix. Wha I know before this is the word "assistive" is pronounce correctly on the Android version of Eloquence but in IBMTTS is pronounce slidely different.

Mohamed00 commented 1 year ago

Not related to this. Code Factory probably has a dictionary entry to fix that, and in my opinion pronunciation fixes are not the add-on's responsibility. If you want to fix it, either use the NVDA dictionary or make your own entry in one of the synth's built-in dictionaries.

lbk2907 commented 1 year ago

Got it. Thanks.

Mohamed00 commented 1 year ago

Fixed in the latest update.