nvaccess / nvda

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

add ASCII Liblouis Braille table #13312

Open ainekc opened 2 years ago

ainekc commented 2 years ago

Is your feature request related to a problem? Please describe.

Yeah, can't read BRF files properly without this if they are written in upper case (with dot 7s on the bottom) which a lot are. this impacts e.g. anyone wanting to read Braille music on a PC via opening a BRF in notepad or similar.

Describe the solution you'd like

Add the ASCII Liblouis Braille table.

Describe alternatives you've considered

I have been trying with 6 and 8 dot US computer Braille. With 8-dot, there's dot 7s on the letters that you can't get rid of. With 6-dot, there are 456, sometimes followed by 345, in front of letters, which I guess signify uppercase or such - they're attached to the letters.

an alternative is to add a setting to display using 6 dots/ignoring dots 7 and 8, regardless of the Braille table selected - this way you could still use the 8-dot computer Braille table and it would display correctly. But seemingly the ASCII Braille table was designed for the correct encoding without fiddling with any of this so, yeah, I think that's the best option - I just tried it on IOS and it worked a charm.

CyrilleB79 commented 2 years ago

Cc @aaclause

feerrenrut commented 2 years ago

If this is supported in the version of liblouis we are already using, we will look to expose it from NVDA. This has been added to our queue to confirm, and we'll implement if we can.

cary-rowen commented 2 years ago

Sorry, I want to know what's going on with this issue? Does liblouis support this feature? @feerrenrut

jrbowden commented 1 year ago

Hi, this issue has recently come up again.

I think there are two main ways to solve this:

  1. NVDA can have a new option, like other screen readers, six/eight dot braille mode. This is relatively easy to implement: a) add a checkbox for this feature to Braille Settings b) Add an appropriate gesture to quickly toggle the option (e.g. Braille Space+ 2 + 3 + 5) c) When on (six dot), activate the following simple code:

    • Take the output string after translation and mask off dots 7 and 8
    • (typically, for each character: character becomes character & 0x3f).
    • This is done before applying any highlighting or cursor, so cursor still uses dots 7 and 8.
  2. Alternatively, it should be relatively easy to create the required Liblouis table - it does not currently exist.

My preferred option is to add the new option into NVDA - other screen readers have this feature and it would not be limited to one language.

Trust this helps.

zstanecic commented 1 year ago

Hi,

This has it’s downsides.

Some languages are using dots 8 to display numbers.

How user should differentiate between this when having this option turned on?

jrbowden commented 1 year ago

The reason someone would want this option is deliberately to read braille in six-dot code, such as a BRF file. It is not useful for reading eight-dot computer code, for example as you say, when the table uses dot 8 for numbers. Dot 8 for numbers does not occur in six-dot BRF files. Hope this makes sense.

LeonarddeR commented 6 months ago

I'm not entirely sure I understand the problem. Is BRF only intended for 6-dot braille? I thought it could also just contain 8-dot Braille. In that case, the US 8 dot table should provide for that, right? If BRF is written in upper case which adds dots 7 to every letter, isn't that just an issue in the source file that needs to be fixed? I know that handy tech devices have an in hardware feature to disable dots 7 and 8, so I guess it makes sense to add this as an option.

Adriani90 commented 1 month ago

Yes I think adding an option to disable or enable dots 7 and 8 makes sense in my view, it is less depending on the language and most braille display vendors implement this in their drivers, or at least they can do it quite easily.