[jawsscripts] Re: Good intros to JAWS scripting, accessing highlight status of text in PDF

  • From: Theodore Cooke <theodorecooke@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Sat, 24 Oct 2020 17:09:17 -0400

I am very enthusiastic about this idea. Can I help? I am willing to
help edit the pages after you translate them into English, and can
help with writing tutorials.

On 10/24/20, Travis Roth <travis@xxxxxxxxxxxxxx> wrote:

Hi,
This would be a fantastic resource.
From time to time discussion has came up how such a resource would be
helpful. But it has not been done. It is a big job and it takes someone with
the energy, vision and determination. I congratulate you on giving it a
try.
Travis



-----Original Message-----
From: jawsscripts-bounce@xxxxxxxxxxxxx <jawsscripts-bounce@xxxxxxxxxxxxx> On
Behalf Of Csaba Árpádházy-Godo
Sent: Saturday, October 24, 2020 2:32 AM
To: jawsscripts@xxxxxxxxxxxxx
Subject: [jawsscripts] Re: Good intros to JAWS scripting, accessing
highlight status of text in PDF

Good morning for everybody!

So, some words  about jaws-script.org:

I have had to use a screen reader since 2012. I tried more, including the
now discontinued WindowEye, NVDA, and JAWS. In terms of knowledge, JAWS was
by far the best, so I chose that. I started with the 2011 version. I
immediately realized that although the knowledge of the screen reader was
high, it was missing a very important thing that both WindowEye and NVDA
had. And this is the "power of the community."
Factory-provided scripts are, in most cases, very "low-cost" or may not
actually be usable for a particular program.
I have also been on this list since 2012. Like so many of us, I "downloaded"
the ideas I find useful and store them on a "jaws wiki"
directory on my machine, and I browse them when I need to. It has long been
stated in me that it would be good to put these on the net in a structured
way, because I have a problem when I leave and not work on my home machine.
This is because I can't access these files. Then as I became acquaintances
on the list here over the years and started talking to a few people in
private, I realized that others were wearing similar shoes. It became clear
to me that not olny did I miss what WindowEye and NVDA have: a repository of
community knowledge. Where one can look for things if one gets stuck working
with JAWS.

As a sighted I worked at Microsoft back in the early to mid-90s, where I was
involved in building both Access 1.0 / 2.0 and Visual Basic 1.0-3.0.
Here I really liked programming in macro languages. Respectively, the
development of macro languages. When I started working with JAWS, I realized
the JAWS Script language - although very powerfull - but not properly
"developed". For a beginner who has no programming basics, the beginning is
sure to be bitter. And not only is the language considered somehow
"thoughtless" for beginners, but it lacks a lot of the simplifications
typical of macro languages.

Here in Hungary, where I live, several people have approached me over the
years to help them learn to write JAWS scripts. Working with them to make
programming easier - a huge collection of functions has been born.
Which is to add features that are very much missing from the JAWS scripting
language. Some of them are just so-called "shorthand"
versions  of some built-in ones, while others bring completely new
functionality to the language. These include e.g. JAWS Script wrappers
written around COM objects pre-installed in Windows. These are script
modules that make the functionality of an object callable in the usual way
in the JAWS Script language without knowing the structure of the object.
Some example:
shorthand versions of built-in functions

GetCurrentWindowClass () instead of GetWindowClass (GetFocus ()).
GetGrandParent () instead of GetParent (GetParent (GetFocus ())).
GetWindowRight instead of (GetWindowRight (GetFocus ()).
ControlIsEdit () instead of [GetObjectSubtypeCode (GetFocus ()) ==
WT_EDIT].
InitString (VariableToInitialize, InitialValue) instead of writing [If
VariableToInitialize == cscNull Then ....] block.

These functions make programming easier for both beginners and advanced
programmers, and the code is much more readable. Not to mention that you can
achieve the same goal with much less typing.

• New functionality

CreateUIAObject () - which simply returns the UIA object.
RegExp Replace (StringReplaceIn, StringToBeReplaced, StringReplaceWith)
- which replaces strings based on regexp conditions.
CopyFileToString (FilePath) - which copies the content of a text file into a
string variable.
ExcelGetCurrentSheet () - which returns the reference to the currently
opened sheet in Excel.
GetFileList (FolderPath, Mask) - which returns the list of file names as a
vertical bar separated string.

Some of these functions complement and simplify the functionality that
already exists in JAWS, but most bring completely new functionality to the
language. It is about 1000 functions.

Also, while working with beginners, there have born several descriptions &
walktroughs that are similar the one Theodore has published.
I also wrote several add-ons for JAWS that also make it easier to work with
scripts. For example, JAWS is missing wizards. I’ve created several wizards
in Access, so I know these come in very handy (sometimes not
just) for beginners. Thus, over the years, a script wizard has been created
that creates the framework for a new script with a few clicks, or a wizard
created to create variables, create a script / function declaration, insert
an event function, or insert a default function to overwrite it. But a
standardized JAWS script project manager has also been created to make the
work of more experienced script writers easier.
Or, in addition, a universal JAWS Script Installer that creates an installer
from the created project file with one click, or one can click to install
script packages under the currently running version of JAWS.
And lots of similar little things, which make the work with JAWS scripts
easier not for beginners only.

So the conversation with others convinced me to not only distribute them in
a narrow circle, but to internationalize, standardize, and make them
available to everyone on the net. That’s when the idea of ​​jaws-script.org
was born. Since I am currently doing it alone, I will follow the principle
of gradation. I dedicate this page to a repository of knowledge about the
JAWS Script language. So you would primarily have
4 sections:

1. How to & walktrougn section: where descriptions focusing on each problem
would be included.

2. Tips & tricks section: where there would be descriptions that contain
general ideas and solutions related to scripting.

3. Download section: where the scripts you write will be published, so
gathered in one place, categorized will be much easier to find if someone is
looking for something.
4. JAWS Script Language reference section: which would be nothing more than
an online language reference, as it would be very much needed as well. This
section would also include localized versions, as the vast majority of JAWS
users and scripters do not speak English.

So in a nutshell, this would be jaws-script.org, which could then spread and
evolve later, as it would be possible for anyone to write a wiki and publish
it. Or to share your own scripts and modules with others. But since I’m
doing it alone right now, I’m asking for patience from everyone. Since most
of my materials are written in Hungarian, translating them into English and
standardizing them is a big job. :-)

I welcome ideas and comments from the community, as I make it for the
community after all.

Chaba



2020. 10. 24. 3:53 keltezéssel, Theodore Cooke írta:
Chaba, please tell us more about Jaws-script.org

On 10/23/20, Csaba Árpádházy-Godo <arpadhazi68.jawsul@xxxxxxxxx> wrote:
Hi James,

yes it is a very good idea! And it will be realized soon. This is
because "jaws-script.org" will be started early next year. :-) Besst,

Chaba

2020. 10. 22. 21:57 keltezéssel, James Benstead írta:
Hi Theodore,
Your scripting tutorials look great, thank you so much for sharing
them!

It makes me wonder whether it might be a good idea to set up a wiki
where the JAWS scripting community could develop and share tutorials
and documentation. I would guess that many of us have something we
could share, or a little time we could put in to developing short
articles on areas that we are knowledgeable about. What do you
think?

Jim

--
Too brief? Here's why! http://emailcharter.org


On Sat, 17 Oct 2020 at 12:18, Theodore Cooke
<theodorecooke@xxxxxxxxx>
wrote:

Yes, you can link to it from your site.
Now that I have confirmation that people like it, I'll start on part
2.
- Show quoted text -


On 10/16/20, Snowman <snowman@xxxxxxxxxxxxxxxx> wrote:
Ted,  I did not know this tutorial existed.  But, it seems like
people
would

find it very useful.
I'd like to link to it from my site.  Can I use the link you
provided?
Or,

will this be moving soon.




+--------------------------------------------------------------------------+
Listen to The Snowman on MushroomFM.com, Saturday evenings, 8PM
Eastern time.
60's and 70's tunes, and gently conservative talk.

----- Original Message -----
From: "Theodore Cooke" <theodorecooke@xxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Friday, October 16, 2020 9:36 AM
Subject: [jawsscripts] Re: Good intros to JAWS scripting,
accessing highlight status of text in PDF


Here's a walk through I wrote on learning jaws scripting. There is
a part II in the works, but since I haven't received any feedback
on part 1 yet, I have left part 2 on the back burner for now.

https://gist.github.com/BeastlyTheos/177004102bafda4b20e9b6e72863d2
9a?fbclid=IwAR3LNsFC3Ny66yAx8RknBpDEMXnJwa8h9lHj53NMkMMNEwFhd3F4X3W
KH1s


On 9/25/20, Csaba Árpádházy-Godo <arpadhazi68.jawsul@xxxxxxxxx>
wrote:
Hi, James,

here is the ling:

https://support.freedomscientific.com/support/jawsdocumentation/F
SDN


2020. 09. 24. 22:53 keltezéssel, James Benstead írta:
Hi Csaba,
Thank you, I will continue my work in learning JAWS scripting on
that basis!

I can't find the specific FSDN help file "The Essential JAWS
Scripting Handbook", but I did find the "Basics of Scripting
Manual" at


https://support.freedomscientific.com/Content/Documents/Other/Scrip
tManual/01-0_Introduction.htm

And the FSDN help file at

https://support.freedomscientific.com/support/jawsdocumentation/
FSDN

Which includes "General Scripting Concepts", "Reference Guide",
and
"API
Tools".

Are these the correct documents to start with? Or am I missing
something?

Thanks again!

Jim

--
Too brief? Here's why! http://emailcharter.org


On Thu, 24 Sep 2020 at 20:30, Csaba Árpádházy-Godo <
arpadhazi68.jawsul@xxxxxxxxx> wrote:

Hi James,

of course, JAWS Script language has functions to determine the
colors on the screen. Bot hte foreground & the background. I
recommend you to download FSDN (Freedom Scientific Developer
Network) help file what is "The EssentialJAWS Scripting
Handbook".

HTH

Csaba


2020. 09. 24. 14:56 keltezéssel, James Benstead írta:
I'm looking to get into JAWS scripting. Are there good online
resources
to
get me started? I have some experience of coding.
One specific thing I'd like to be able to access with a script
is the "highlighting status" of any give character in a PDF.
Not
highlighting
as
in "selecting text so that you can then make it bold or
italic", but the sort of highlighting you can add to a PDF
that looks like you've
drawn
on
the document with a highlighter pen. Is this information
available to
JAWS
scripts?

--
Too brief? Here's why! http://emailcharter.org


__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts



__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts



__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts

__________

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________�

View the list's information and change your settings at
//www.freelists.org/list/jawsscripts


__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: