nvaccess / nvda

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

option to read numbers as individual digits #4273

Open nvaccessAuto opened 10 years ago

nvaccessAuto commented 10 years ago

Reported by blindbhavya on 2014-07-12 11:50 Lets take a big number for example 20000. I want the number to be read as 2 0 0 0 0. A user may want an option to read a number as an individual digit due to several reasons. Like a sighted person converts the visible numbers into thousands and millions a blind person may also want to test himself. Also, telephone numbers by no reason should be pronounced as one number. So there should be an option somewhere that would allow the user to do this. Blocking #178, #4779, #4872

nvaccessAuto commented 9 years ago

Comment 52 by driemer.riemer@... on 2014-12-22 07:25 Okay. you can feel free to code review this now as I have completed and tested the work. Note that I had to restart from scratch as I screwed my repo up really bad and at the time didn't know how too fix it, so if anything looks strange in the repository, I deleted and recreated the branch t4273..

nvaccessAuto commented 9 years ago

Comment 55 by driemer.riemer@... on 2015-01-09 14:21 I think this got swallowed up by the holidays, and needs the needs code review keywords added.

nvaccessAuto commented 8 years ago

Comment 58 by bhavyashah on 2015-10-22 11:17 Could this ticket be prioritized a little? I am not requesting this out of personal needs, but speaking on behalf of three people. Shelly and Cearbhall asked about this on the NVDA list, and I recently received a phone call from a person named Sujata Samant, who also requires this feature in NVDA, and absence of it compels her to continue using Window Eyes. Great work continuing to come into the NVDA project!

nvaccessAuto commented 8 years ago

Comment 59 by driemer.riemer@... on 2015-10-23 13:22 Hi, I am pretty shure this is marked for code review, so I can't finish anythiing for now. Thanks.

thegogz commented 8 years ago

@nvaccessAuto what is the status of this, my Dad a long time JAWS user has adopted NVDA recently and this is his biggest bugbear to the point that he's now considering forking out for a JAWS licence renewal (which he really can't afford). He deals a lot with phone numbers and he really struggles with them being read out in the millions. I'm going to try adding the regex via the dictionary for this in the meantime.

derekriemer commented 8 years ago

I have screwed up my code for this so I will have to redo it. It might happen this summer. In the mean time, please use the regexp.

On 4/14/2016 2:34 AM, thegogz wrote:

@nvaccessAuto https://github.com/nvaccessAuto what is the status of this, my Dad a long time JAWS user has adopted NVDA recently and this is his biggest bugbear to the point that he's now considering forking out for a JAWS licence renewal (which he really can't afford). He deals a lot with phone numbers and he really struggles with them being read out in the millions. I'm going to try adding the regex via the dictionary for this in the meantime.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/nvaccess/nvda/issues/4273#issuecomment-209828028


Derek Riemer

Websites: Honors portfolio http://derekriemer.com Awesome little hand built weather app! http://django.derekriemer.com/weather/

email me at derek.riemer@colorado.edu mailto:derek.riemer@colorado.edu Phone: (303) 906-2194

Brian1Gaff commented 8 years ago

Strangely, when I put this sort of thing in by default, of course somebody comes along and wants it the other way around. Yes of course they do!

Maybe this is a decision for a permanent item toggle on the main code branch. Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal email to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field. ----- Original Message ----- From: "derekriemer" notifications@github.com To: "nvaccess/nvda" nvda@noreply.github.com Sent: Thursday, April 14, 2016 9:41 AM Subject: Re: [nvaccess/nvda] option to read numbers as individual digits (#4273)

I have screwed up my code for this so I will have to redo it. It might happen this summer. In the mean time, please use the regexp.

On 4/14/2016 2:34 AM, thegogz wrote:

@nvaccessAuto https://github.com/nvaccessAuto what is the status of this, my Dad a long time JAWS user has adopted NVDA recently and this is his biggest bugbear to the point that he's now considering forking out for a JAWS licence renewal (which he really can't afford). He deals a lot with phone numbers and he really struggles with them being read out in the millions. I'm going to try adding the regex via the dictionary for this in the meantime.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/nvaccess/nvda/issues/4273#issuecomment-209828028


Derek Riemer

Websites: Honors portfolio http://derekriemer.com Awesome little hand built weather app! http://django.derekriemer.com/weather/

email me at derek.riemer@colorado.edu mailto:derek.riemer@colorado.edu Phone: (303) 906-2194


You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/nvaccess/nvda/issues/4273#issuecomment-209831409

derekriemer commented 8 years ago

If you read the comments on this ticket that is exactly what we have planned except for I keep being an idiot and breaking my code. It will happen someday.

Sent from my heavily encrypted iPhone. Please disregard errors as this is a smaller device.

On Apr 14, 2016, at 09:11, Brian1Gaff notifications@github.com wrote:

Strangely, when I put this sort of thing in by default, of course somebody comes along and wants it the other way around. Yes of course they do!

Maybe this is a decision for a permanent item toggle on the main code branch. Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal email to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field. ----- Original Message ----- From: "derekriemer" notifications@github.com To: "nvaccess/nvda" nvda@noreply.github.com Sent: Thursday, April 14, 2016 9:41 AM Subject: Re: [nvaccess/nvda] option to read numbers as individual digits (#4273)

I have screwed up my code for this so I will have to redo it. It might happen this summer. In the mean time, please use the regexp.

On 4/14/2016 2:34 AM, thegogz wrote:

@nvaccessAuto https://github.com/nvaccessAuto what is the status of this, my Dad a long time JAWS user has adopted NVDA recently and this is his biggest bugbear to the point that he's now considering forking out for a JAWS licence renewal (which he really can't afford). He deals a lot with phone numbers and he really struggles with them being read out in the millions. I'm going to try adding the regex via the dictionary for this in the meantime.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/nvaccess/nvda/issues/4273#issuecomment-209828028


Derek Riemer

  • Department of computer science, third year undergraduate student.
  • Proud user of the NVDA screen reader.
  • Open source enthusiast.
  • Member of Bridge Cu
  • Avid skiier.

Websites: Honors portfolio http://derekriemer.com Awesome little hand built weather app! http://django.derekriemer.com/weather/

email me at derek.riemer@colorado.edu mailto:derek.riemer@colorado.edu Phone: (303) 906-2194


You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/nvaccess/nvda/issues/4273#issuecomment-209831409

— You are receiving this because you commented. Reply to this email directly or view it on GitHub

derekriemer commented 8 years ago

Referencing this: I can't compose a reply in github like I could in track.

nvaccessAuto commented on Aug 31, 2014 (\D|\b) @jcsteh Do you remember why we had "(\D|\b) at the end of the regexp? It seems to me like it's not necessary.

derekriemer commented 8 years ago

Also, config/init.py doesn't have a header. I'm going to add one, unless there's a good reason for me not to.

derekriemer commented 8 years ago

If I add a header to config, I probably should label it 2006. I don't know if this is the right way to do this, but I think this gave me that config.py was created then. $ git log --reverse -v source/config/init.py the first result is this. commit 6b4eb902c754c73f2500e62a64f085396723cafc
Author: jamie <>
Date: Mon Aug 14 02:33:42 2006 +0000

 Move all files into trunk to allow for branching, tagging, etc. in the futur

e.

jcsteh commented 8 years ago

Referencing this: I can't compose a reply in github like I could in track.

The GitHub Comment Enhancer Greasemonkey script used to allow this, but it seems to be broken at the moment. :(

@jcsteh Do you remember why we had "(\D|\b) at the end of the regexp? It seems to me like it's not necessary.

It ensures the groups of numbers are followed by a non-digit or a word boundary (which might be end of text). Without this, I'm guessing (but am not sure) that things would get weird if you had, say, a sequence of numbers with a length not divisible by 3 (e.g. 5 or 7 numbers).

Also, config/init.py doesn't have a header. I'm going to add one, unless there's a good reason for me not to.

Please do.

If I add a header to config, I probably should label it 2006. I don't know if this is the right way to do this, but I think this gave me that config.py was created then.

Correct. It should be 2006-2016.

derekriemer commented 8 years ago

It ensures the groups of numbers are followed by a non-digit or a word boundary (which might be end of text). Without this, I'm guessing (but am not sure) that things would get weird if you had, say,

The regexp accounts for this by doing (\d{1,n})(?=blablabla I'm leaving it, because I'm the one who came up with it and I must have done it for a reason. I thought about adding 1 through N chars version to this, what do you think? This way, if the user selects more than 3 numbers, they could actually select to read by groups of four. We'd have to initialize the expression in two places, but that's fine.

derekriemer commented 8 years ago

@thegogz mind trying this feature and telling me if you think the thousands separator should be ignored or not??

Brian1Gaff commented 8 years ago

I don't get the question, I think in most cases reading numbers as digits is preferable. Reading as two or more is probably quite a rare need.

Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal email to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field. ----- Original Message ----- From: "derekriemer" notifications@github.com To: "nvaccess/nvda" nvda@noreply.github.com Cc: "Brian1Gaff" bglists@blueyonder.co.uk; "Comment" comment@noreply.github.com Sent: Monday, October 17, 2016 7:12 AM Subject: Re: [nvaccess/nvda] option to read numbers as individual digits (#4273)

@thegogz mind trying this feature and telling me if you think the thousands separator should be ignored or not??

You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/nvaccess/nvda/issues/4273#issuecomment-254120590

Qchristensen commented 7 years ago

Did anything get resolved with this issue? It's come up in the user group, as it does from time to time, so thought I'd ask.

derekriemer commented 7 years ago

I think I asked if anyone would punch me if I removed double and tripple, and since noone said otherwise, it'll be removed.

On Thu, Jun 22, 2017 at 5:07 AM, Quentin Christensen < notifications@github.com> wrote:

Did anything get resolved with this issue? It's come up in the user group, as it does from time to time, so thought I'd ask.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/4273#issuecomment-310349065, or mute the thread https://github.com/notifications/unsubscribe-auth/AFGivaOv3MajTAS4MIwTZq39ibRZf1NYks5sGksEgaJpZM4IHJHB .

--

Derek Riemer: Improving the world one byte at a time!

Personal website http://derekriemer.com

Adriani90 commented 5 years ago

@jcsteh, @derekriemer what is the current Status on this issue? Has been any further work on it during last 1,5 years??

LeonarddeR commented 5 years ago

As @derekriemer asked for adopters of this issue, I will do it :) I have an idea of how to fix this reliably with not too much effort.

  1. Move the number processing from speechDictHandler to character Processing.
  2. Provide a thousand separator regex in the English symbol dictionary, and keep a compiled version of the thousands separator rregex on the SpeechSymbolProcessor
  3. Run every string through the sub method on the thousands separator regex, providing a replacement of two spaces. This ensures that single digits ignore the separator, and double digits respect the separator (i.e. 3,333 is spoken as 3 3 33, not as 33 33). Triple digits already behave like there's a separator.
  4. Run every result of 3 through the sub method on the appropriate regex, either single, double or triple.

@JCSTeh: Do you think this will work?

LeonarddeR commented 5 years ago

After carefully reading #5930 and testing things, I updated my comment above. It turns out I was wrong with regard to the decimal separator. As @derekriemer pointed out somewhere, the decimal separator is not touched by the single, double and triple regexes at all and thus is properly handled when processing symbols. It should be enough to handle the thousands separator per language.

wafiqtaher commented 5 years ago

اين الملف def.nvda-addon

ABuffEr commented 4 years ago

Hi all, I read all comments, even if I'm not sure to understand the thousands separator question. Anyway, if it can help to unlock this feature, I created recently an add-on to speak number digit by digit (no pairs or triplets for the moment). It's here.

Qchristensen commented 3 years ago

This is still requested.

Also, @ABuffEr is your add-on compatible with current (ie 2019.3 and newer) NVDA? It looks like it was originally released before then, but possibly updated more recently?

ABuffEr commented 3 years ago

Hi @Qchristensen , I did a quick test just now (I not use that add-on usually), and everything still works (it was surely developed in a 2019.3 alpha); I just updated add-on template and compatibility flag (also in downlodable package).

Qchristensen commented 2 years ago

Has anyone looked at this issue recently? We do still get asked about it.

cary-rowen commented 2 years ago

@Qchristensen In the NVDA Chinese community we are often asked this question, NumberProcessing add-on is a must to install, so I think this feature should really appear in the NVDA core

Qchristensen commented 1 year ago

@ABuffEr, has that add-on been updated for NVDA 2023.1? (Just reading the GitHub page for it I think it has?) And have you considered submitting it to https://addons.nvda-project.org/index.en.html

ABuffEr commented 1 year ago

Hi, it's updated, maybe I forgot the documentation. I must publish all my addons on the new store.

Qchristensen commented 2 months ago

Just bumping this due to a discussion on it in the email user group: https://nvda.groups.io/g/nvda/message/119801

Also @ABuffEr in your last comment you were planning to publish your add-ons on the add-on store - have you given this more thought? This particularly is a popular add-on and would be great to have it there.