Fix for the left and right double angle bracket readout, when the symbol level is set to none#14940
Conversation
…tive typographic quotes This fixes the symbol level for these signs, and allows synthesizers to properly react on these.
|
This PR changes two things: the symbol level and the preserve parameter (from never to always). I understand the change of level; actually in French where these quoting marks are used, we have already raised the level to "most". Regarding the "preserve" field changed from "never" to "always", why did you do it? If you have seen a change of behaviour due to this, please explain it in the test section indicating an example of sentence read and the synthesizer(s) and language(s) used to note this change of behaviour. At last, you write: |
|
Hi Cyrille,
Let me explain these things here first.
Erroneous cldr thing is that: although in the default English symbols you had a none symbol level, and the same in cldr, it starts to pronounce these quote signs where it should not.
Regarding the speech synthesizers, the always parameter was included to send these symbols to synth, for the sake of the naturalness in reading, because some synthesizers know how to interpret these, and if not passed to them, even the user dictionary processing fails. This cannot be fixed in speech synthesizer itself, but in NVDA. Jaws doesn’t suffer from this problem.
To explain what it overwrites in cldr:
It overwrites levels, which changes the first thing, it stops synthesizer from reading the symbol out in the text.
So, the first thing, it is the level raising what I want to standardize across all locales, to have the naturalness of the spoken text.
This change is very important as it fixes also the way in which speech synthesizer read the text. For example, RHVoice for Ukrainian starts to read properly accented text when this parameter is changed.
If we start to read left pointing angle bracket as the words, and then the text, and these closing brackets, we get actually misread text.
From: Cyrille Bougot ***@***.***>
Sent: Sunday, May 21, 2023 5:11 PM
To: nvaccess/nvda ***@***.***>
Cc: Zvonimir Stanečić ***@***.***>; Author ***@***.***>
Subject: Re: [nvaccess/nvda] Fix for the left and right double angle bracket readout, when the symbol level is set to none (PR #14940)
This PR changes two things: the symbol level and the preserve parameter (from never to always).
I understand the change of level; actually in French where these quoting marks are used, we have already raised the level to "most".
Regarding the "preserve" field changed from "never" to "always", why did you do it? If you have seen a change of behaviour due to this, please explain it in the test section indicating an example of sentence read and the synthesizer(s) and language(s) used to note this change of behaviour.
At last, you write:
"It overwrites erroneous definition in dldr.dic for all locales."
I do not know what this erroneous definition is. Anyway, this PR does not overrite CLDR since the symbols were already present in the English symbols.dic file and thus CLDR symbols were already overwritten before this PR.
—
Reply to this email directly, view it on GitHub <#14940 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACVCDE6ORSQFSRJ3BXKF773XHIV7NANCNFSM6AAAAAAYJJFVSA> .
You are receiving this because you authored the thread. <https://github.com/notifications/beacon/ACVCDEYYJO3XW5N33JPPFH3XHIV7NA5CNFSM6AAAAAAYJJFVSCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS4YHEA4.gif> Message ID: ***@***.*** ***@***.***> >
|
|
Note, i have also updated the description with the synths used: the RHVoice is in question, and to add, maybe synthesizers that i don't know of. |
CyrilleB79
left a comment
There was a problem hiding this comment.
Thanks @zstanecic for this PR.
I have tested in French; these characters are actually interpreted by the synth "Microsoft Speech API version 5" and "Windows OneCore" (tested with Hortense). So I guess that these characters are interpreted in many languages by MS synths. So setting the "preserve" field to "always" definitely seems the good choice.
The choice of level "most" corresponds to English quotation marks (") so it is coherent.
…tive typographic quotes (nvaccess#14940) Fixes nvaccess#14939 Summary of the issue: When the symbol level is set to none, left double angle bracket and right double angle bracket are read, which should not be the case. Description of user facing changes The left double angle bracket and right double angle bracket symbols are no longer read, when the symbol level is set to none and speech synthesizers will properly react on these symbols. Description of development approach This needed just the change of the english symbols.dic file. It should propagate all locales and languages. It overwrites erroneous definition in dldr.dic for all locales.
Link to issue number:
Fixes #14939
Summary of the issue:
When the symbol level is set to none, left double angle bracket and right double angle bracket are read, which should not be the case.
Description of user facing changes
The left double angle bracket and right double angle bracket symbols are no longer read, when the symbol level is set to none and speech synthesizers will properly react on these symbols.
Description of development approach
This needed just the change of the english symbols.dic file. It should propagate all locales and languages. It overwrites erroneous definition in dldr.dic for all locales.
Testing strategy:
Tested on the latest alpha with my local modified symbol files.
tried the following sentence with the ukrainian tts:
Процвітання. Слово «процвітати» дуже позитивне, оскільки уособлює собою зростання, розвиток та рух на краще.
Known issues with pull request:
None known.
Change log entries:
New features
Changes
Bug fixes
For Developers
Bug fixes
Code Review Checklist: