Fix pronunciation of combining circumflex#18325
Conversation
There was a problem hiding this comment.
Pull Request Overview
This pull request adjusts the pronunciation of the combining circumflex in the English locale, changing it from "normalizes" to "hat" to provide a more intuitive speech output.
- Replaced "normalizes" with "hat" in source/locale/en/symbols.dic
- Updates the pronunciation mapping for the combining circumflex
Comments suppressed due to low confidence (1)
source/locale/en/symbols.dic:273
- [nitpick] While 'hat' is a brief and established term, consider clarifying or documenting the choice given that it may lead to confusion when users experience differing pronunciations with unicode normalization enabled. It might be worth evaluating whether 'circumflex' provides a clearer description for all voices.
̂ hat none
|
Extending unicode normalization also for navigation by greater unit than character would also minimize thes inconsistency. |
|
@Adriani90 unicode normalization is already enabled for navigation by units larger than character, but the speech output is different. I'm not fully across the normalization code, so I can't tell you exactly why we get different output when navigating by character vs other units. Perhaps @LeonarddeR can shed some light on this? |
|
From my memory, behavior should be as follows:
|
|
In this case is not about whether NVDA announces „normalized“ or not. The question is why does NVDA use the pronounciation defined in symbols.dic at al when unicode normalization is enabled? Why does NVDA not ignore symbols.dic when the character is handled by unicode normalization?Von meinem iPhone gesendetAm 25.06.2025 um 07:54 schrieb Leonard de Ruijter ***@***.***>:LeonarddeR left a comment (nvaccess/nvda#18325)
From my memory, behavior should be as follows:
Character navigation, always announce normalized, even when a character is composite
Higher unit then character announces normalized when word navigation moves to a word that contains only one character that is normalized, otherwise it will still normalize bbut won't announce normalized.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
|
The primary goal of unicode normalisation for NVDA is to allow pronouncing characters that are otherwise unpronounceable or can't be brailled. However, if there is a definition of a character, that one should take precedence as it is most likely more accurate than the normalized result. |
|
Is there evidence for that? Actually I didn’t find a case where the pronounciation in Unicode normalization is worse than the one in the Symbol File.If people don‘t like how the pronounciation is, they can turn off normalization, and then symbols.dic would apply.Von meinem iPhone gesendetAm 25.06.2025 um 08:57 schrieb Leonard de Ruijter ***@***.***>:LeonarddeR left a comment (nvaccess/nvda#18325)
The primary goal of unicode normalisation for NVDA is to allow pronouncing characters that are otherwise unpronounceable or can't be brailled. However, if there is a definition of a character, that one should take precedence as it is most likely more accurate than the normalized result.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Link to issue number:
Closes #17725
Summary of the issue:
NVDA speaks the combining circumflex character (U+0302) as "normalizes". While this is its Unicode name, it is unintuitive to users.
Description of user facing changes:
U+0302 is now pronounced as "hat" in English.
Description of developer facing changes:
None
Description of development approach:
Replaced "normalizes" with "hat" in
source/locale/en/symbols.dic.Testing strategy:
Ran NVDA and had it read "ê or ô".
Known issues with pull request:
"Hat" was chosen as a suitable replacement for "normalizes" as it is brief but part of established nomenclature (similar to the choice of "bang" for "!"). However, this may confuse users, as, when unicode normalization is enabled, when reading by character, the speech output will most likely not match that when navigating by a larger unit. For instance:
Using "circumflex" could be a viable alternative that would partially mitigate this potential confusion.
Code Review Checklist:
@coderabbitai summary