Topics

locked blank line reading by NVDA

Afik Souffir
 

 

Hi,

 

My name is Afik, from Israel, I’m almost 21 years old.

 

I want to ask, how can I stop NVDA to read or show in braille blank lines, such in emails, websites, or other platforms?

 

Thanks

 

Afik Souffir

 

 

Quentin Christensen
 

If you read with NVDA+Down arrow (or if using laptop keyboard layout, NVDA+a) it won't report all the blank lines.


On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...> wrote:

 

Hi,

 

My name is Afik, from Israel, I’m almost 21 years old.

 

I want to ask, how can I stop NVDA to read or show in braille blank lines, such in emails, websites, or other platforms?

 

Thanks

 

Afik Souffir

 

 



--
Quentin Christensen
Training and Support Manager

Afik Souffir
 

 

Ok, and if I read with the arrorss?

 

 

 

מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA

 

If you read with NVDA+Down arrow (or if using laptop keyboard layout, NVDA+a) it won't report all the blank lines.

 

On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...> wrote:

 

Hi,

 

My name is Afik, from Israel, I’m almost 21 years old.

 

I want to ask, how can I stop NVDA to read or show in braille blank lines, such in emails, websites, or other platforms?

 

Thanks

 

Afik Souffir

 

 


 

--

Quentin Christensen
Training and Support Manager

 

 

when i use arrow keys, nvda reads blank lines and i wish to find a
solution for it, but i did not.

On 10/8/19, Afik Souffir <afik.souffir@...> wrote:


Ok, and if I read with the arrorss?







מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA



If you read with NVDA+Down arrow (or if using laptop keyboard layout,
NVDA+a) it won't report all the blank lines.



On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...
<mailto:afik.souffir@...> > wrote:



Hi,



My name is Afik, from Israel, I’m almost 21 years old.



I want to ask, how can I stop NVDA to read or show in braille blank lines,
such in emails, websites, or other platforms?



Thanks



Afik Souffir










--

Quentin Christensen
Training and Support Manager



Web: <http://www.nvaccess.org/> www.nvaccess.org

Training: https://www.nvaccess.org/shop/

Certification: https://certification.nvaccess.org/

User group: https://nvda.groups.io/g/nvda

Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>






--
By God,
were I given all the seven heavens
with all they contain
in order that
I may disobey God
by depriving an ant
from the husk of a grain of barley,
I would not do it.
imam ali

 

Well, if there is blank line, and NVDA definitely will report so.


zahra 於 8/10/2019 17:11 寫道:

when i use arrow keys, nvda reads blank lines and i wish to find a
solution for it, but i did not.

On 10/8/19, Afik Souffir <afik.souffir@...> wrote:

Ok, and if I read with the arrorss?







מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA



If you read with NVDA+Down arrow (or if using laptop keyboard layout,
NVDA+a) it won't report all the blank lines.



On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...
<mailto:afik.souffir@...> > wrote:



Hi,



My name is Afik, from Israel, I’m almost 21 years old.



I want to ask, how can I stop NVDA to read or show in braille blank lines,
such in emails, websites, or other platforms?



Thanks



Afik Souffir










--

Quentin Christensen
Training and Support Manager



Web: <http://www.nvaccess.org/> www.nvaccess.org

Training: https://www.nvaccess.org/shop/

Certification: https://certification.nvaccess.org/

User group: https://nvda.groups.io/g/nvda

Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>






Luke Davis
 

The only apparent way to silence this, is to create a (default) dictionary entry for this regular expression, which you should write in all lower case:

^blank$

Note the punctuation there.

This is the English word. If using another language, substitute accordingly.

Don't write anything in the replacement field.

Select the checkbox for case sensitive, and be sure to change from "anywhere" to "regular expression".

Note: if you come across somewhere that only has the word "blank" on a line by itself, you won't hear it.
That is the side effect of using this method.

Luke

On Tue, 8 Oct 2019, zahra wrote:

when i use arrow keys, nvda reads blank lines and i wish to find a
solution for it, but i did not.

On 10/8/19, Afik Souffir <afik.souffir@...> wrote:


Ok, and if I read with the arrorss?







מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA



If you read with NVDA+Down arrow (or if using laptop keyboard layout,
NVDA+a) it won't report all the blank lines.



On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...
<mailto:afik.souffir@...> > wrote:



Hi,



My name is Afik, from Israel, I’m almost 21 years old.



I want to ask, how can I stop NVDA to read or show in braille blank lines,
such in emails, websites, or other platforms?



Thanks



Afik Souffir










--

Quentin Christensen
Training and Support Manager



Web: <http://www.nvaccess.org/> www.nvaccess.org

Training: https://www.nvaccess.org/shop/

Certification: https://certification.nvaccess.org/

User group: https://nvda.groups.io/g/nvda

Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>







--
Luke Davis
Moderator: the new NVDA Help mailing list! (https://groups.io/g/NVDAHelp)
Author: Debug Helper NVDA add-on (https://addons.nvda-project.org/addons/debugHelper.en.html)

 

i did it, and nvda just says blank line in one of your email.
i wish that not hear blank line, not in the time that i type blank.
when i type blank and press space, nvda just says space!

On 10/8/19, Luke Davis <luke@...> wrote:
The only apparent way to silence this, is to create a (default) dictionary
entry for this regular expression, which you should write in all lower
case:

^blank$

Note the punctuation there.

This is the English word. If using another language, substitute
accordingly.

Don't write anything in the replacement field.

Select the checkbox for case sensitive, and be sure to change from
"anywhere" to
"regular expression".

Note: if you come across somewhere that only has the word "blank" on a line
by
itself, you won't hear it.
That is the side effect of using this method.

Luke

On Tue, 8 Oct 2019, zahra wrote:

when i use arrow keys, nvda reads blank lines and i wish to find a
solution for it, but i did not.

On 10/8/19, Afik Souffir <afik.souffir@...> wrote:


Ok, and if I read with the arrorss?







מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA



If you read with NVDA+Down arrow (or if using laptop keyboard layout,
NVDA+a) it won't report all the blank lines.



On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...
<mailto:afik.souffir@...> > wrote:



Hi,



My name is Afik, from Israel, I’m almost 21 years old.



I want to ask, how can I stop NVDA to read or show in braille blank
lines,
such in emails, websites, or other platforms?



Thanks



Afik Souffir










--

Quentin Christensen
Training and Support Manager



Web: <http://www.nvaccess.org/> www.nvaccess.org

Training: https://www.nvaccess.org/shop/

Certification: https://certification.nvaccess.org/

User group: https://nvda.groups.io/g/nvda

Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>







--
Luke Davis
Moderator: the new NVDA Help mailing list! (https://groups.io/g/NVDAHelp)
Author: Debug Helper NVDA add-on
(https://addons.nvda-project.org/addons/debugHelper.en.html)



--
By God,
were I given all the seven heavens
with all they contain
in order that
I may disobey God
by depriving an ant
from the husk of a grain of barley,
I would not do it.
imam ali

Ralf Kefferpuetz
 

Hmm, works perfectly for me, as Luke described.

Cheers,
Ralf

-----Original Message-----
From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of zahra
Sent: Dienstag, 8. Oktober 2019 19:50
To: nvda@nvda.groups.io
Subject: Re: [nvda] blank line reading by NVDA

i did it, and nvda just says blank line in one of your email.
i wish that not hear blank line, not in the time that i type blank.
when i type blank and press space, nvda just says space!

On 10/8/19, Luke Davis <luke@...> wrote:
The only apparent way to silence this, is to create a (default)
dictionary entry for this regular expression, which you should write
in all lower
case:

^blank$

Note the punctuation there.

This is the English word. If using another language, substitute
accordingly.

Don't write anything in the replacement field.

Select the checkbox for case sensitive, and be sure to change from
"anywhere" to "regular expression".

Note: if you come across somewhere that only has the word "blank" on a
line by itself, you won't hear it.
That is the side effect of using this method.

Luke

On Tue, 8 Oct 2019, zahra wrote:

when i use arrow keys, nvda reads blank lines and i wish to find a
solution for it, but i did not.

On 10/8/19, Afik Souffir <afik.souffir@...> wrote:


Ok, and if I read with the arrorss?







מאת: nvda@nvda.groups.io <nvda@nvda.groups.io> בשם Quentin
Christensen
נשלח: יום ג 08 אוקטובר 2019 11:33
אל: nvda@nvda.groups.io
נושא: Re: [nvda] blank line reading by NVDA



If you read with NVDA+Down arrow (or if using laptop keyboard
layout,
NVDA+a) it won't report all the blank lines.



On Tue, Oct 8, 2019 at 6:36 PM Afik Souffir <afik.souffir@...
<mailto:afik.souffir@...> > wrote:



Hi,



My name is Afik, from Israel, I’m almost 21 years old.



I want to ask, how can I stop NVDA to read or show in braille blank
lines, such in emails, websites, or other platforms?



Thanks



Afik Souffir










--

Quentin Christensen
Training and Support Manager



Web: <http://www.nvaccess.org/> www.nvaccess.org

Training: https://www.nvaccess.org/shop/

Certification: https://certification.nvaccess.org/

User group: https://nvda.groups.io/g/nvda

Facebook: http://www.facebook.com/NVAccess
Twitter: @NVAccess <https://twitter.com/NVAccess>







--
Luke Davis
Moderator: the new NVDA Help mailing list!
(https://groups.io/g/NVDAHelp)
Author: Debug Helper NVDA add-on
(https://addons.nvda-project.org/addons/debugHelper.en.html)




--
By God,
were I given all the seven heavens
with all they contain
in order that
I may disobey God
by depriving an ant
from the husk of a grain of barley,
I would not do it.
imam ali

 

This conversation interests me because it seems to me that two different things are being talked about.

Luke's solution uses a regular expression where the word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return, that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one blank blank line two," by NVDA.

It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what I'm missing, if anything at all.

Now using the regular expression:  ^\s*$
with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.

If the literal word "blank" were to appear all by its lonesome on a single line it would be read, correctly, as blank.

One would definitely not want to be using this method when proofreading something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical separation.
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

 

I actually like blank lines being announced when moving up and down some files.

For me with a training diary I write the only thing I use a wordprocesser for and even then notepad, I actually want to know that information.

I guess it could be an issue when reading a large book but you can turn the announcements of blank lines being announced in nvda preffs speech I think anyway.

I guess when reading a big book in say all you may not want this.

But there are ways round that if you get really concerned about it.



On 9/10/2019 7:56 am, Brian Vogel wrote:
This conversation interests me because it seems to me that two different things are being talked about.

Luke's solution uses a regular expression where the word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return, that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one blank blank line two," by NVDA.

It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what I'm missing, if anything at all.

Now using the regular expression:  ^\s*$
with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.

If the literal word "blank" were to appear all by its lonesome on a single line it would be read, correctly, as blank.

One would definitely not want to be using this method when proofreading something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical separation.
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

 

The ways to get round this are as follows.

1.  for a book balabolka can convert it to mp3 for you using tts.

Pros it gets rid of the issues.

Cons you get a huge file with no way to keep your place except for pause or marking places in.

You could convert it to daisy I guess but still.

And if your tts is no good you have an issue.

At any rate I have listened to a book read by tts and its not as good as a human reading it.

2.  convert it to an epub and have you read it with your epub or other daisy reader.

Again overkill but you can do it.

Finally if you do have a daisy player and most of you guys should have something, at least most if not all blind people that are members of a library or something for your spaciffic blindness organisation will have access to some sort of player.

That can read text files and can keep place in those automatically.

They will ignore blank lines and I often do this for big books.

They also have good tts but again that is tts.

You could also try to get audio books but they cost more than text and can be bigger again.

The issue of long documents well you may have to put up with it.



On 9/10/2019 7:56 am, Brian Vogel wrote:
This conversation interests me because it seems to me that two different things are being talked about.

Luke's solution uses a regular expression where the word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return, that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one blank blank line two," by NVDA.

It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what I'm missing, if anything at all.

Now using the regular expression:  ^\s*$
with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.

If the literal word "blank" were to appear all by its lonesome on a single line it would be read, correctly, as blank.

One would definitely not want to be using this method when proofreading something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical separation.
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

Ralf Kefferpuetz
 

That’s what Luke was speaking about, a line with just a return. When you arrow through those messages I hear “blank” for a blank line and Luke’s suggestion eleminates that.

 

Cheers,

  Ralf

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Brian Vogel
Sent: Dienstag, 8. Oktober 2019 20:57
To: nvda@nvda.groups.io
Subject: Re: [nvda] blank line reading by NVDA

 

This conversation interests me because it seems to me that two different things are being talked about.

Luke's solution uses a regular expression where the word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return, that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one blank blank line two," by NVDA.

It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what I'm missing, if anything at all.

Now using the regular expression:  ^\s*$
with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.

If the literal word "blank" were to appear all by its lonesome on a single line it would be read, correctly, as blank.

One would definitely not want to be using this method when proofreading something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical separation.
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

Roger Stewart
 

The best way to get around this is to just use the read to end command which is the NVDA key plus down arrow on the 6 pack of keys. It never says blank no matter how many blank lines are in the message.  You really want to hear it say blank when you are arrowing down line by line as it is assumed you are reviewing the message for close correction purposes and you'd need to hear that. Just casual reading with the read to end will do what you want.
Roger








On 10/8/2019 3:03 PM, Ralf Kefferpuetz wrote:

That’s what Luke was speaking about, a line with just a return. When you arrow through those messages I hear “blank” for a blank line and Luke’s suggestion eleminates that.

 

Cheers,

  Ralf

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Brian Vogel
Sent: Dienstag, 8. Oktober 2019 20:57
To: nvda@nvda.groups.io
Subject: Re: [nvda] blank line reading by NVDA

 

This conversation interests me because it seems to me that two different things are being talked about.

Luke's solution uses a regular expression where the word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return, that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one blank blank line two," by NVDA.

It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what I'm missing, if anything at all.

Now using the regular expression:  ^\s*$
with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.

If the literal word "blank" were to appear all by its lonesome on a single line it would be read, correctly, as blank.

One would definitely not want to be using this method when proofreading something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical separation.
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 


Luke Davis
 

On Tue, 8 Oct 2019, Brian Vogel wrote:

This conversation interests me because it seems to me that two different things are being talked about.Luke's solution uses a regular expression where the
word "blank" itself must be matched, using anchors at each end.  But the original question seems to me to be about lines that contain nothing but a return,
that is, a completely blank line, so that if someone typed line one, followed by two hits of Enter, followed by line two it would be read as, "Line one
blank blank line two," by NVDA.It does not seem to me to have anything to do with the word "blank" or its equivalent in any language, so I don't know what
I'm missing, if anything at all.
What you appear to be missing, are the dynamics of the available solutions.

Sure, if we had the option of running some kind of preprocessing filter on the text before NVDA converted it to speech, we could use a regexp like the one you suggest. But have you actually tried it? I suspect if you had, you would have found that it has no effect what so ever.
That is because we don't have that preprocessing option, short of writing an add-on for this strange purpose.

What we do have available, are speech dictionaries. But with that we have a problem, because by the time the dictionaries get applied, it's far too late in the process to even see the original text. All we get to work with is a layer between the text that is going to be sent to a synth, and the text that actually arrives at a synth.

We are doing post-processing transforms on *output* not input.

How does one tell a synth to indicate a blank line? If you just send \n, or \r\n, or their ASCII control code equivalents, it will likely say nothing. The way you (NVDA) get it to say something, is to substitute the word "blank", or the locale equivalent. So that, and only that, is what we are left with intercepting and modifying or suppressing.

Now using the regular expression:  ^\s*$with nothing substituted for it should find any line that is blank, whether it's just someone having hit Enter, or any whitespace character followed by enter, and would say nothing if that's found.
Of course, if we were able to preprocess the text before NVDA's translation layers got their hooks into it, but we can't.

If the literal word "blank" were to
appear all by its lonesome on a single line it would be read, correctly, as blank.One would definitely not want to be using this method when proofreading
something written in a text editor, as you'd never know if you'd put in paragraph breaks or how many times you'd hit enter when trying to create vertical
separation.
To be clear, I was answering the question, not stating an opinion on the advisability of doing this. Which opinion is: don't, it's not worth it. But hey, to each his own.

Luke

 

Luke,

            I am not going to get into a technical argument.   But it makes no sense to say that you don't process text that gets passed to a synth prior to its being passed to it.  None of the dictionaries, to my knowledge, post process text after it goes to the synth, but are used to decide what, exactly, gets passed to the synth.

            I don't even know what is referenced by "translation layer" and that may be the problem.  But the final part of the process has to be handing off that which is to be spoken to the synthesizer that speaks it.  All changes to same must occur prior to that step.

--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

Luke Davis
 

On Wed, 9 Oct 2019, Shaun Everiss wrote:

I actually like blank lines being announced when moving up and down some files.
Agreed.

I guess it could be an issue when reading a large book but you can turn the announcements of blank lines being announced in nvda preffs speech I think
anyway.
I have looked for this, twice, in all of NVDA's default settings screens, and can't find it. Can you verify please?

Luke

Luke Davis
 

On Tue, 8 Oct 2019, Brian Vogel wrote:

Luke,            I am not going to get into a technical argument.   But it makes no sense to say that you don't process text that gets passed to a synth
prior to its being passed to it.  None of the dictionaries, to my knowledge, post process text after it goes to the synth, but are used to decide what,
exactly, gets passed to the synth.
When did I say anything post processes text *after* it goes to the synth? That would be ridiculous.
What I said was:

"
What we do have available, are speech dictionaries. But with that we have a problem, because by the time the dictionaries get applied, it's far too late in the process to even see the original text. All we get to work with is a layer between the text that is going to be sent to a synth, and the text that actually arrives at a synth.
"

Since that seems unclear to you, I will try to say it another way.

1. NVDA takes the contents of the (in Notepad, for example) multi line edit field.
It will see a blank line as just an empty line.
It is at this point that your regexp matching empty lines would work.

2. NVDA does whatever internal things it needs to to the text in question (in this case nothing), to figure out if it needs to report fonts, underlining, indenting, etc.

3. A bunch of other stuff that is irrelevant to the discussion at hand.

4. By now, if this was a text string like "hello world", that was indented, underlined, and with font announcements turned on, the text NVDA planned to speak, would probably look like this:

Arial 15 point indent 2.0 underlined Hello world

In our case, we still have empty text. Since NVDA knows the synth needs to actually say something, instead of sending it empty text, the text will be:

blank

Either way, that is now what I called "the text that is going to be sent to a synth".

5. Apply any dictionaries that are to be applied to transform the text. This will be default, temporary, and if appropriate, synth. I have no idea in which order.

6. Send the text to be spoken, as revised by the dictionaries, to the synth. This is what I called "the text that actually arrives at a synth"

So the bottom line of what I'm telling you, is that in order for your regexp to work, the dictionaries would need to be applied all the way down at step 1 or 2. In fact they are applied very late in the process, long after the original text has been turned into a synth-friendly form.
Note that I am ignoring translation into languages in this process.

          I don't even know what is referenced by "translation layer" and that may be the problem.  But the final part
of the process has to be handing off that which is to be spoken to the synthesizer that speaks it.  All changes to same must occur prior to that step.
Obviously. But there is a big difference in applying those changes at the start of processing of incoming text, and applying them right at the end of the processing chain.

At the start, the text has the nature of input. You can view it as input, and if you had a hook that early, you could manipulate the raw input. But the average user has no such hook. The only hook we have, is to process the text after it has been converted into speech-style output, by running it through speech dictionaries.

The point I was trying to make to you, was that we are not pre-processing text as it enters NVDA.
We are post-processing text, as it is leaving NVDA and on its way into the synth.

Dictionaries are (very nearly if not actually) the last step in the processing chain for text. The text might have little resemblance to the actual input by that point, it is mainly made up of words that NVDA wants the user to hear--we are processing the text right before it becomes audio.
By then an empty line isn't the empty string, it is the word "blank" which is what NVDA needs the user to hear.

Luke

 

On Tue, Oct 8, 2019 at 06:37 PM, Luke Davis wrote:
By then an empty line isn't the empty string, it is the word "blank" which is what NVDA needs the user to hear.
After all that precedes what's quoted above (which, by the way, I appreciate), this is the crux of the matter.  I had not realized that NVDA was doing anywhere near to this level of "massaging" to the straight text before passing it to the synthesizer, particularly when all one is looking for is for the text to be read in the manner I presume I'd read it were I reading it to someone.

I understand why, when doing line by line, the blank lines get announced as blank as, to me, that's part and parcel of why one is going line by line - to pick up just this sort of thing.  What I didn't realize was that during NVDA's pre-processing of a blank line it had actually substituted the word "blank" to pass to the synthesizer.  I would have thought that if reading line by line the first thing that would happen is checking the custom dictionaries for the line to be passed, and that line alone, and if it were substituted with nothing, as in there is no replacement string, that nothing would be passed to the synth.

I don't code NVDA, clearly, and it appears that you do.   Information such as you've offered, and clearly, makes the process much more transparent, if convoluted, to me.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide

 

 

Luke Davis
 

On Tue, 8 Oct 2019, Luke Davis wrote:

At the start, the text has the nature of input. You can view it as input, and if you had a hook that early, you could manipulate the raw input. But the average user has no such hook. The only hook we have, is to process the text after it has been converted into speech-style output, by running it through speech dictionaries.
Maybe a more real world example will help:

On the NVDAHelp list, someone recently asked how to get NVDA to stop saying "edit multi line" when he went into Notepad or similar.
I.E. currently, when you open Notepad, it says:

Untitled - Notepad. Text editor edit multi line. Blank.

He found this two verbose.

In a debug level log (could have been done with input-output logging as well), we can see the following (abbreviated):

Speaking [LangChangeCommand ('en_GB'), u'Untitled - Notepad']
Speaking [LangChangeCommand ('en_GB'), u'Text Editor edit multi line']
Speaking [LangChangeCommand ('en_GB'), u'blank']

The solution to his problem, was to create a dictionary entry containing " edit multi line"
With no replacement.

But most of that text isn't on the screen at all (except probably "Notepad - untitled").

The strings that are going to be sent to the synth, and thus the only strings the speech dictionaries get to operate on, are the strings that NVDA wants to SAY, not the strings that it actually got from the screen. Yes, screen strings will probably be incorporated in some way, but by the time the dictionaries get them, they are strings to be verbalized, and thus might look very different than the way they actually look on screen.

That's what I meant by saying that the dictionaries are processing output, not processing input.

I hope that clarifies what I've been trying to explain.

Luke

 

Well when I have a blank line its a space and a couple of linefeed chars.

I know a few older programs use carage return, in fact when I was in dos you had cr, lf and cr/lf, but its all lf now.

Now you can turn blank lines off if you don't want them, but be aware that if you need em, you will have to turn them back on.

You could make a profile for whatever program you don't want the blanks announced, in configuration profiles on nvda preffs and then you can just use that, when you open a program that setting will trigger and you will be ok.

If you have to frequently read a text file especially if its done for you, ie its not needed to handle it via say the computer and you don't say need to edit it, say a book, I'd use the daisy hardware reader of choice.

Or daisy software, some can read text files via sapi or something.

As I said there are many ways to handle this.



On 9/10/2019 11:48 am, Brian Vogel wrote:
On Tue, Oct 8, 2019 at 06:37 PM, Luke Davis wrote:
By then an empty line isn't the empty string, it is the word "blank" which is what NVDA needs the user to hear.
After all that precedes what's quoted above (which, by the way, I appreciate), this is the crux of the matter.  I had not realized that NVDA was doing anywhere near to this level of "massaging" to the straight text before passing it to the synthesizer, particularly when all one is looking for is for the text to be read in the manner I presume I'd read it were I reading it to someone.

I understand why, when doing line by line, the blank lines get announced as blank as, to me, that's part and parcel of why one is going line by line - to pick up just this sort of thing.  What I didn't realize was that during NVDA's pre-processing of a blank line it had actually substituted the word "blank" to pass to the synthesizer.  I would have thought that if reading line by line the first thing that would happen is checking the custom dictionaries for the line to be passed, and that line alone, and if it were substituted with nothing, as in there is no replacement string, that nothing would be passed to the synth.

I don't code NVDA, clearly, and it appears that you do.   Information such as you've offered, and clearly, makes the process much more transparent, if convoluted, to me.
 
--

Brian - Windows 10 Pro, 64-Bit, Version 1903, Build 18362  

The color of truth is grey.

           ~ André Gide