Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVDA cannot read CLDR characters after #14459 #14473

Closed
OzancanKaratas opened this issue Dec 24, 2022 · 6 comments · Fixed by #14477
Closed

NVDA cannot read CLDR characters after #14459 #14473

OzancanKaratas opened this issue Dec 24, 2022 · 6 comments · Fixed by #14477

Comments

@OzancanKaratas
Copy link
Collaborator

Steps to reproduce:

  1. Use NVDA in your preferred language other than English.
  2. Open the Windows Input Experience or visit emojipedia.org website.
  3. Navigate in platform you selected.

Actual behavior:

NVDA cannot read characters specified in CLDR.

Expected behavior:

NVDA should read the characters as specified in CLDR.

NVDA logs, crash dumps and other attachments:

None

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

All versions after #14459 merged.

Windows version:

Windows 11

Name and version of other software in use when reproducing the issue:

None

Other information about your system:

Not needed

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

No

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

@seanbudd
Copy link
Member

Closed via #14477

@CyrilleB79
Copy link
Collaborator

I have not been able to reproduce this issue with French emojis before the revert in #14477 .

@OzancanKaratas the steps to reproduce are a bit generalistic. Could you describe something more precise so that I can reproduce the issue?

@seanbudd could you confirm that you have reproduced the issue before reverting in #14477 ? If yes, could you help also with a more detailed description?

@seanbudd
Copy link
Member

I did not reproduce the issue

@seanbudd seanbudd reopened this Jan 2, 2023
@seanbudd seanbudd closed this as completed Jan 2, 2023
@CyrilleB79
Copy link
Collaborator

I have not been able to reproduce this issue with French emojis before the revert in #14477 .

@OzancanKaratas the steps to reproduce are a bit generalistic. Could you describe something more precise so that I can reproduce the issue?

@OzancanKaratas could you please help me reproduce this issue giving me more detailed steps? I will open a PR and Cc you so that we can test again. Thanks.

@OzancanKaratas
Copy link
Collaborator Author

NVDA was not reading anything while navigating emojis in Turkish. There was no problem before your pull request was merged and after it was reverted.

@CyrilleB79
Copy link
Collaborator

NVDA was not reading anything while navigating emojis in Turkish. There was no problem before your pull request was merged and after it was reverted.

@OzancanKaratas I have opened #14558 as a second attempt to solve the initial issue (#14417). Could we please continue this discussion there and based on an open PR and a new proposal, rather than in this closed issue? This will be better for tracking and also to progress the initial issue. Many thanks!

seanbudd pushed a commit that referenced this issue Mar 23, 2023
… 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants