nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.1k stars 634 forks source link

Dot 7 Being Added to Capital Letters in "Unified English Braille Code Grade 2" table #11086

Closed garrettk18 closed 2 years ago

garrettk18 commented 4 years ago

Steps to reproduce:

  1. Make sure Output Table is set to "Unified English Braille Code grade 2".
  2. Make sure "Expand To Computer Braille for the Word at the Cursor" is checked.
  3. In Notepad, type Hello, world!
  4. Be sure that the cursor is at the end of the line, so that you can see the capital sign in "Hello".

    Actual behavior:

    There is a dot 6 before the 'h' and a dot 7 under the letter (i.e., ",Hello" instead of ",hello".

    Expected behavior:

    There should only be a dot 6 preceding the 'h' in "Hello".

    System configuration

    NVDA installed/portable/running from source:

    Installed

    NVDA version:

    2020.1RC1

    Windows version:

    Windows 10 1909 build 18363.778

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

    Notepad (webpages, ETC. will work as well).

    Other information about your system:

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.

2019.2.x: Same behavior 2019.3: Same behavior

If addons are disabled, is your problem still occuring?

Yes

Did you try to run the COM registry fixing tool in NVDA menu / tools?

No

garrettk18 commented 4 years ago

I had a moment, this is a dot 7 and not a dot 8. And, as per a suggestion from a friend, I confirmed this is not a cursor marker.

josephsl commented 4 years ago

Hi, I wonder if this is specific to UEB grade 2, or if it is reproducible in grade 1? If yes, I think we may need to dig into what’s going with braille cursor code. If not, chances are that this might be something going on with liblouis. CC @LeonardDer

garrettk18 commented 4 years ago

Possibly related: I think there's a fundamental issue somewhere with what "computer braille" means in UEB Grade 2.

  1. Type the word x86
  2. Move the cursor to the x
  3. You'll notice "xhf" on the display, not "x86" or "x#hf".

This one goes away when using English U.S. Grade 2 (AKA EBAE). The original issue does not.

garrettk18 commented 4 years ago

Hi, I wonder if this is specific to UEB grade 2, or if it is reproducible in grade 1? If yes, I think we may need to dig into what’s going with braille cursor code. If not, chances are that this might be something going on with liblouis. CC @leonardder

@josephsl This occurs in UEB Grade 1 as well.

LeonarddeR commented 4 years ago

I have the feeling that the "Expand To Computer Braille for the Word at the Cursor" option is severely broken. It is most likely that this is a liblouis issue.

cc @Andre9642

feerrenrut commented 4 years ago

Considering a p1 regression, assuming that I understand @leonardder correctly, this was likely introduced by "Update liblouis to 3.13.0 #10832"

DrSooom commented 4 years ago

See also: Issue liblouis/liblouis#869

zstanecic commented 4 years ago

I don’t recommend to downgrade liblouis.

Report this issue to the liblouis project.

LeonarddeR commented 4 years ago

I'm also not very fond on the idea to downgrade liblouis just for this.

lukaszgo1 commented 4 years ago

I don't think this has been introduced by LibLouis 3.13. According to the OP's initial commend this has been the case in 2019.2 and 2019.3 as well.

Adriani90 commented 4 years ago

cc: @Andre9642

AAClause commented 4 years ago

With liblouis 3.13, I have the same behavior with the following tables (and probably others):

A quick fix to remove dots 7 (not perfect):

  1. Edit en-ueb-chardefs.uti
  2. Search "include latinLetterDef8Dots.uti"
  3. Replace the line with "include latinLetterDef6Dots.uti"
  4. Save the file and restart NVDA

*. You can do the same with en-chardefs.cti.

With this change, the main issue is that you can no longer see capitalizations when the cursor is placed on a capitalized word.

According my tests, the problem seems to be introduced between liblouis 3.3.0 (NVDA 2018.1.1) and liblouis 3.5.0 (NVDA 2018.2).

However I compared en-ueb-g2.ctb and en-us-g2.ctb (including sub-tables) from these versions and There doesn't seem to be any important change.

diffs ``` C:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-ueb-g2.ctb|cat diff --git a/2018.1.1/louis/tables/en-ueb-g2.ctb b/2018.2/louis/tables/en-ueb-g2.ctb index aaf4c7c..e616ce2 100755 --- a/2018.1.1/louis/tables/en-ueb-g2.ctb +++ b/2018.2/louis/tables/en-ueb-g2.ctb @@ -1,5 +1,25 @@ # liblouis: Unified English Braille Code (Grade 2) # +# ----------- +#-name: Unified English braille, grade 2 +#-display-name: English (UEB) contracted braille +# +#+locale:en +#+type:literary +#+contraction:full +#+grade:2 +#+system:ueb +# +# TODO: Please correct the metadata above. It is not meant to be +# accurate nor complete. It hasn't been verified by the table +# author yet. It is merely an attempt by the liblouis maintainers +# to get some sensible initial values in place. +# +# TODO: Please add a reference to official documentation about +# the implemented braille code. Preferably submit the documents +# to https://github.com/liblouis/braille-specs. +# ----------- +# # Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com # Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com # Copyright (C) 2016 American Printing House for the Blind, Inc. www.aph.org @@ -759,6 +779,7 @@ always father 5-124 # had 10.7.3 always had 456-125 +always phad 1234-125-1-145 #TODO: check word jehad = #TODO: check word jihad = C:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-ueb-g1.ctb|cat diff --git a/2018.1.1/louis/tables/en-ueb-g1.ctb b/2018.2/louis/tables/en-ueb-g1.ctb index aad3d5f..6811b4c 100755 --- a/2018.1.1/louis/tables/en-ueb-g1.ctb +++ b/2018.2/louis/tables/en-ueb-g1.ctb @@ -1,5 +1,25 @@ # liblouis: Unified English Braille Code (Grade 1) # +# ----------- +#-name: Unified English braille, grade 1 +#-display-name: English (UEB) uncontracted braille +# +#+locale:en +#+type:literary +#+contraction:no +#+grade:1 +#+system:ueb +# +# TODO: Please correct the metadata above. It is not meant to be +# accurate nor complete. It hasn't been verified by the table +# author yet. It is merely an attempt by the liblouis maintainers +# to get some sensible initial values in place. +# +# TODO: Please add a reference to official documentation about +# the implemented braille code. Preferably submit the documents +# to https://github.com/liblouis/braille-specs. +# ----------- +# # Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com # Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com # Copyright (C) 2016 American Printing House for the Blind, Inc. www.aph.org C:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-ueb-chardefs.uti|cat C:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-ueb-math.ctb|cat c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-us-g2.ctb c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/en-us-g1.ctb|cat diff --git a/2018.1.1/louis/tables/en-us-g1.ctb b/2018.2/louis/tables/en-us-g1.ctb index ea84d24..38b43d7 100755 --- a/2018.1.1/louis/tables/en-us-g1.ctb +++ b/2018.2/louis/tables/en-us-g1.ctb @@ -1,5 +1,25 @@ # liblouis: English, U.S. grade 1 (EBAE) table # +# ----------- +#-name: U.S. English grade 1 (EBAE) +#-display-name: U.S. English (EBAE) uncontracted braille +# +#+locale:en-US +#+type:literary +#+contraction:no +#+grade:1 +#+system:ebae +# +# TODO: Please correct the metadata above. It is not meant to be +# accurate nor complete. It hasn't been verified by the table +# author yet. It is merely an attempt by the liblouis maintainers +# to get some sensible initial values in place. +# +# TODO: Please add a reference to official documentation about +# the implemented braille code. Preferably submit the documents +# to https://github.com/liblouis/braille-specs. +# ----------- +# # Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by # The BRLTTY Team # c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/chardefs.cti|cat c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/braille-patterns.cti|cat c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/litdigits6Dots.uti|cat diff --git a/2018.1.1/louis/tables/litdigits6Dots.uti b/2018.2/louis/tables/litdigits6Dots.uti index a944940..5c6a7cd 100755 --- a/2018.1.1/louis/tables/litdigits6Dots.uti +++ b/2018.2/louis/tables/litdigits6Dots.uti @@ -1,4 +1,4 @@ -# liblouis: sub table for litirary digits, 6 dots +# liblouis: sub table for literary digits, 6 dots # # Copyright (C) 2013-2014 Mesar Hameed # c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/loweredDigits6Dots.uti|cat c:\app\nvda>gdf {2018.1.1,2018.2}/louis/tables/latinLetterDef8Dots.uti|cat c:\app\nvda> ```

So it's probably a bug in the liblouis core, and I also recommend to open an issue on Liblouis repository.

Adriani90 commented 4 years ago

Has anyone created a bug on Liblouis repository already? If yes, please link the issue here so that we can track it also in this issue. Thanks.

feerrenrut commented 4 years ago

@BueVest and @bertfrees do you know if an issue has already been raised for this?

bertfrees commented 4 years ago

@feerrenrut Possibly related to https://github.com/liblouis/liblouis/issues/963.

BueVest commented 4 years ago

Yes, looks like the same issue.

seanbudd commented 2 years ago

It appears that https://github.com/liblouis/liblouis/issues/963 is closed and NVDA is using a version with the fix https://github.com/liblouis/liblouis/pull/1123