nvda
ecdddb2f - In Hindi, NVDA will not read anymore punctuation symbols whatever the punctuation level (2nd attempt) (#14558)

Commit
2 years ago
In Hindi, NVDA will not read anymore punctuation symbols whatever the punctuation level (2nd attempt) (#14558) A first PR (#14459) had been merged to fix #14417. Unfortunately an issue was found (see #14473) so it has been reverted in #14477. This PR is a second attempt to fix #14417 without causing #14473. It will remain a draft until I can have more information on #14473 from @OzancanKaratas, as requested in #14473 (comment), or from anyone else able to reproduce. Link to issue number: Fixes #14417 Summary of the issue: Preliminary note for review Keep in mind the following: in NVDA with CLDR enabled and with no custom user symbol defined, symbol level for symbol X is defined as follows: look at locale symbol file: If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file. look at locale CLDR file: If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file. look at English symbol file: If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, look at next file. look at English CLDR file: If X is defined in this file and a symbol level is defined for X, then this level applies for X. Else, use default symbol level (don't remember if it is None or All). Description of the issue Hindi has no symbol defined in its symbol file, only copyright header; seems that the file was prepared for translation but no actual symbol translation took place. But there is a Hindi CLDR file. Currently, CLDR files are generated with level "None" for all symbols. Usually, in locales with a CLDR file and a normal symbol files, less common characters that are only in CLDR are reported at level None, i.e. whatever the punctuation level setting of the user. But common punctuation symbols (dot, question marke, etc.) are added by translators in the locale symbol file what allows to have these symbols reported at a higher punctuation level. For Hindi (or any language with no current symbol translated), all the characters present in CLDR file are reported at "None" level and above (i.e. at any level), because the level is not redefined in the locale (Hindi) symbol file. In such situation, using the level of the locale CLDR (None) is not a good strategy. It would be better to take advantage of the levels defined for the symbols in the English symbol file. Description of user facing changes CLDR data will be available for languages which had no symbol file (am, et, kk, ne, th, ur) or empty symbol file (hi). For these languages, since there are no locale symbol file definition, the level defined in the English symbol file will be honoured. Description of development approach Update nvda-cldr repository to get the changes implemented in nvaccess/nvda-cldr#4.
Author
Parents
Loading