nvaccess / nvda

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

Braille dictionary support #4601

Open nvaccessAuto opened 10 years ago

nvaccessAuto commented 10 years ago

Reported by driemer.riemer@... on 2014-11-06 00:29 Often times in nvda, especially when you run acrossed Unicode symbols, like the arbitrary symbol – in braille you would see something like '\x2013' (or a hex value of such). I propose braille dictionaries, which operate on the same principal as speech dictionaries, but change the braille output rather than the speech output. I propose that these be linked, so a dictionary entry could be replaced in braille, speech, or both.

nvaccessAuto commented 10 years ago

Comment 1 by surfer0627 on 2014-11-10 03:32 Hi, Since this feature is not available now. If it is needed, how to add symbols (with no braille definition), such as '\x200e' and '\x200f.

User could see these symbols at the following circumstance: computer drive (c / d), file list, column (modified day). example: modified day ‎2014/‎11/‎10 ‏‎

Speech reports these symbols as: left to right mark right to left mark

Actually, I'm not sure the braille dot should be. Thanks.

Adriani90 commented 5 years ago

I see this a bit tricky to do because you then would write directly to the braille table. When updating Liblouis together with its tables, the change would be reverted or the changes could overlapp and cause errors. @Andre9642, @leonardder any thoughts?

lukaszgo1 commented 5 years ago

While I cannot commend on thechnical difficulties behind implementing this, for me as an end user this feature would be really beneficial.

LeonarddeR commented 5 years ago

cc @derekriemer

vincent-lg commented 5 years ago

I would just like to add my two cents here, first to support the feature, then to elaborate on its importance. NVDA offers (and has offered) a speech dictionary. Adopting a very close system for Braille users would make sense and only be fair (remember not all users can access speech, I, for one, only rely on Braille output, not a matter of choice). A Braille dictionary would allow to not only display Unicode symbols that have no definition in the user's Braille table, but also to override these in a logical manner. For instance, Braille users might not be happy about how the tab symbol is printed on their Braille table. I know I'm not, for one. Although this is the "official" representation determined by "official" Braille tables, the representation of tab is not great for programming, where indentation is very important (not mentioning Python, where it's vital). In a similar way, some Braille symbols that have an "official" representation in the user's Braille table wouldn't make sense to the user, and overriding them would be great. Representing a character on two cells in computer Braille as fr-bfu-comp8 does, is a legacy of Braille definition that have no specific representation in 8-dot of these symbols. But representing them on two characters in comp8 doesn't make (for me) much sense. On the other hand, I would be glad to replace them just for me and not alter the way they are represented for all users (this, after all, might be the official representation).

In terms of feature, I would suggest to add a "Braille dictionary" menu item below the "Speech dictionary". Contrary to the latter, I doubt there would be a need for "default", "voice" or "temporary", this could just open the dialog. The dialog itself would be quite close to the speech dictionary: a list of entries. Adding one would be done using the "add" button. Choosing the character is fairly simple. Entering its representation might be done by entering the numeric representation of the character, as its down in Liblouis' tables (34678 for instance, or 34-16). Choosing the context of the translation might be removed altogether: a Braille symbol override might apply all the time. We could add definite contexts (like math, word and so on) but I don't think it would be that useful, it would definitely make creating such a dictionary harder. The Braille dictionary shouldn't be here to "create a braille table", merely to override some entries regardless of the used Braille table. At least, that's what I would think.

Keep up the good work!

AAClause commented 5 years ago

Just a up to inform you that I succeed to implement a POC of this feature in BrailleExtender add-on. For those who want to test just this, after install the add-on, see preferences → BrailleExtender → Braille dictionaries. Or directly via NVDA+alt+y. It's probably not the best implementation and the best user experience. But we can assign definitions in backward (input only), forward (output only) or both modes.

cary-rowen commented 3 years ago

As an end user, I hope NVDA can achieve this. Some users may rely entirely on Braille to work. Thanks!