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

Problem with capital letter mark #505

Closed
nvaccessAuto opened this issue Jan 1, 2010 · 21 comments
Closed

Problem with capital letter mark #505

nvaccessAuto opened this issue Jan 1, 2010 · 21 comments

Comments

@nvaccessAuto
Copy link

Reported by werwoelfchen on 2009-12-09 10:06
Since Snapshot R3422 the braille display doesn't show any longer the capital letter marks. It would be good if one could dis- or enable these marks by using the braille settings menu.

Text in German:
Betreff: Problem mit Großbuchstabenzeichen
Beschreibung:
Seit dem Snapshop R3422 zeigt die Braillezeile keine Großbuchstabenzeichen mehr an. Es wäre gut, wenn man dies ein- oder ausschalten könnte, indem man das Menü "Brailleeinstellungen" benutzt.

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2009-12-09 11:21
Are you certain that this worked before snapshot r3422?
Could it have been r3428 instead?
What braille translation table are you using?
What application are you testing this in?
Does it work if you have capitalised words in the middle of the line?

@nvaccessAuto
Copy link
Author

Comment 2 by jteh on 2010-02-02 01:30
Changes:
Milestone changed from 2010.1 to 2010.2

@nvaccessAuto
Copy link
Author

Comment 3 by werwoelfchen on 2010-02-08 12:06
I use the german grate 1 (deutsche Kurzschrift) translation table.
maybe I named the wrong trunk njumber but I cannot verrify it any more.
The capital letter mark only appears at the beginning of an URL. I have this problem in all apps I use with NVDA.
I use the universal handytech driver 1.1.1.1 for NVDA.

@nvaccessAuto
Copy link
Author

Comment 4 by jteh on 2010-07-14 04:18
Please provide some example text that works, some text that doesn't and what you expected in each case.

@nvaccessAuto
Copy link
Author

Comment 5 by jteh on 2010-07-26 03:35
Probably a problem with this specific braille table.
Changes:
Milestone changed from 2010.2 to 2010.3

@nvaccessAuto
Copy link
Author

Comment 6 by jteh on 2010-09-23 02:03
I tested this myself with all of the German tables. It definitely seems to be an issue in the German grade 0, grade 1 and grade 2 tables. Someone who knows German braille will need to take this up with the liblouis project.
Changes:
Milestone changed from 2010.3 to None

@nvaccessAuto
Copy link
Author

Comment 8 by bdorer on 2014-01-14 13:35
the best would be a checkbox for suppressing capital letter marks as some people want to have them displayed and some don't.

@dkager
Copy link
Collaborator

dkager commented Jun 8, 2017

CC @egli
This seems to be done on purpose. Is this the preference of German readers?

Maybe NVDA could gain an option to suppress capitals. SuperNova has this too IIRC. The clean solution requires an option in liblouis. A hacky solution could be to transform all text to lowercase before translation. The problem is that German grade 0 does show a capital sign for two or more consecutive capitals. So clearly it's not so straight-forward.

@bdorer
Copy link

bdorer commented Jun 27, 2017 via email

@dkager
Copy link
Collaborator

dkager commented Jun 27, 2017

See liblouis/liblouis#363.

@bdorer
Copy link

bdorer commented Jun 27, 2017 via email

@dkager
Copy link
Collaborator

dkager commented Jun 27, 2017

Then again, German is the only table I've seen without capitals.

@egli
Copy link

egli commented Jun 28, 2017

I think our resident braille expert created the tables w/o caps letters because we produce most braille without.
But what's the problem with just adding another table? In what way will it "blow up the braille tables list"?

@LeonarddeR
Copy link
Collaborator

I think our resident braille expert created the tables w/o caps letters because we produce most braille without. But what's the problem with just adding another table? In what way will it "blow up the braille tables list"?

Even if most braille is produced without capital signs, if a braille spec contains them, they should be included in the braille table by default. Probably better to discuss this in liblouis/liblouis#363.

@bhavyashah
Copy link

The impact of this issue is limited to the intersection of (a) Braille users, (b) German users. Doing some research on the German language, let me share some of what I found. Austria and Germany, both of which have German as their official language, cumulatively account for a third of German speakers worldwide. According to NVDA User Statistics, Germany and Austria together account for 1.3% of NVDA users. Thus, it can be extrapolated that roughly 3.9% of NVDA users are German speakers. According to WebAim Screen Reader Survey #8, 3.9% of respondents reported that they relied primarily on Braille output and they neglected to ask about using Braille in combination with visual or audio output. Even if we assume that 20% of screen reader users use Braille to some degree, we still have our German Braille users constituting well under 1% of the total user base. Therefore, given the small proportion of the impacted audience, this ticket should be assigned a low priority.
P.S. Some crude calculations in there, but I think the general picture is suggest is accurate. Not sure why I am cerebrating so much about impact calculation. 😂

@Adriani90
Copy link
Collaborator

@bhavyashah even though the statistics show this number, this was the current user respondents at that time. This changes over time and not to forget that most users using braille displays come from western countries such as germany, france and so on. Most braille contributions come from such countries. So this should not be neglected.
Moreover, by the way switzerland belongs also to german speaking community, as well as many other countries where people might have to learn german in the school. Not to forget imigrants who move to Germany or similar countries which is very comon in a globalized world. I know at least 10 blind people who came to Germany from abroad and try to learn german. For such people it is important to keep in mind the issues they are having.
Anyway, I think this issue needs to be fixed in Liblouis, I don't think NVDA can do anything about this. But we can track the progress here.

@Adriani90
Copy link
Collaborator

@BueVest now that the bidirectional talbes for german are integrated in NVDA, do you see this issue as solved?

@dave090679
Copy link

Hey all,

Since nvda has the "detailed braille translation tables" integrated, the capital letter marks are displayed correctly. ... BUT: In some Cases, NVDA crashes when the detailed braille translation table is used.

Steps to reproduce:

  1. open an empty Notepad.
  2. in nvda braille settings, select any braille table marked as "detailed". (either "german basic braille (detailed)" or "german grade 1 (detailed)" or "german grade 2 (detailed)".
  3. in the notepad, type an uppercase letter followed by a dot (.) and two lowercase letters. Just when you type the secons lowercase letter, nvda crashes.

There are some exceptions from this "stranger thing":
"A.aa" works properly; "A.ab" also works, "A.ac" also works fine, ... bus "A.ad" brings nvda to crash.

in dayly use, this means that nearly all file names can bring nvda to crash when they are displayed in an explorer list.

@CyrilleB79
Copy link
Collaborator

@Adriani90 you have followed this issue. Do you think that it is fixed?

Also @BueVest and other users, can we consider this issue fixed?

@dave090679, the initial description of this issue is indicating that braille is not reported as expected by users. What you describe instead is a crash of NVDA. Please open a new issue for this with all related details so that it can be looked at specifically. Thanks.

@egli
Copy link

egli commented May 3, 2023

In some Cases, NVDA crashes when the detailed braille translation table is used.

Hi @dave090679 can you reproduce this crash just using liblouis? And then file an issue at the liblouis issue tracker? That would be appreciated.

@Adriani90
Copy link
Collaborator

The issue as it stands in the description seems fixed. Please open a new issue about the crash with Liblouis and if related, also with NVDA so we can track where it comes from.

I am closing this issue as works for me.

seanbudd pushed a commit that referenced this issue May 7, 2024
Fixes #3304.
Fixes #9863.
Supersedes PR #9864, #10172.
Addresses #505 (comment)

Summary of the issue:
In NVDA, there is no easy and reliable way for an add-on to provide a new braille table. For an experienced users wishing to do so there are two options:

Alter manually an existing table in louis/tables.
The new table still has its original name in the settings GUI.
This change is lost upon NVDA updates.

Set the absolute path to the table file in the configuration in lieu of the usual file name.
The settings GUI shows an empty entry for this one.
Forces to manually alter nvda.ini.
Forces to copy in the same directory the whole dependency chain of the new table plus braille-patterns.cti. This is because liblouis default table resolver only looks for tables in a single directory, See Make it easier for add-ons to supply custom braille tables #5489 (comment)

Description of how this pull request fixes the issue:
Add a new brailleTables optional directory in both the user scratchpad directory and the add-on directory structure.

Support reading tables metadata from an optional brailleTables section of the add-on manifest or from a manifest.ini file with the same format found in the root of the scratchpad directory, allowing a user to provide a display name and set output/input/contracted capabilities with no code.

Implement a custom liblouis table resolver that resolves tables based on what is registered in the brailleTables module:

When liblouis calls the resolver without a base file specified, the table is looked up from the brailleTables module and either resolved from the add-ons brailleTables directory or the built-in tables directory
When liblouis calls the resolver with a base file specified (e.g. when processing includes in tables), the table is looked up from the folder of the base table and/or the built-in tables directory
Enforce the existing fallback mechanism to ensure there still is braille output if the configured table cannot be found e.g. because an add-on or the scratchpad directory was disabled. This now applies both to the main configuration and individual profiles and also covers braille input.

Note that if an add-on author wants a table to be listed in the GUI, he/she should always define the table in the manifest. Contrary to earlier incarnations of this pr, replacing a table in an add-on (i.e. when it has the same filename as a built-in table) without defining it in the manifest is no longer possible. Therefore it is also not possible to replace unlisted tables that are included by listed tables. For example, if you want to replace spaces.uti as included in nl-comp8.utb, you weel need to both define and bundle a replacement of nl-comp8.utb and spaces.uti in your add-on.
XLTechie pushed a commit to XLTechie/xlnvda that referenced this issue May 10, 2024
Fixes nvaccess#3304.
Fixes nvaccess#9863.
Supersedes PR nvaccess#9864, nvaccess#10172.
Addresses nvaccess#505 (comment)

Summary of the issue:
In NVDA, there is no easy and reliable way for an add-on to provide a new braille table. For an experienced users wishing to do so there are two options:

Alter manually an existing table in louis/tables.
The new table still has its original name in the settings GUI.
This change is lost upon NVDA updates.

Set the absolute path to the table file in the configuration in lieu of the usual file name.
The settings GUI shows an empty entry for this one.
Forces to manually alter nvda.ini.
Forces to copy in the same directory the whole dependency chain of the new table plus braille-patterns.cti. This is because liblouis default table resolver only looks for tables in a single directory, See Make it easier for add-ons to supply custom braille tables nvaccess#5489 (comment)

Description of how this pull request fixes the issue:
Add a new brailleTables optional directory in both the user scratchpad directory and the add-on directory structure.

Support reading tables metadata from an optional brailleTables section of the add-on manifest or from a manifest.ini file with the same format found in the root of the scratchpad directory, allowing a user to provide a display name and set output/input/contracted capabilities with no code.

Implement a custom liblouis table resolver that resolves tables based on what is registered in the brailleTables module:

When liblouis calls the resolver without a base file specified, the table is looked up from the brailleTables module and either resolved from the add-ons brailleTables directory or the built-in tables directory
When liblouis calls the resolver with a base file specified (e.g. when processing includes in tables), the table is looked up from the folder of the base table and/or the built-in tables directory
Enforce the existing fallback mechanism to ensure there still is braille output if the configured table cannot be found e.g. because an add-on or the scratchpad directory was disabled. This now applies both to the main configuration and individual profiles and also covers braille input.

Note that if an add-on author wants a table to be listed in the GUI, he/she should always define the table in the manifest. Contrary to earlier incarnations of this pr, replacing a table in an add-on (i.e. when it has the same filename as a built-in table) without defining it in the manifest is no longer possible. Therefore it is also not possible to replace unlisted tables that are included by listed tables. For example, if you want to replace spaces.uti as included in nl-comp8.utb, you weel need to both define and bundle a replacement of nl-comp8.utb and spaces.uti in your add-on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants